MjAwMC0xMS0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMi4KCShSRUxFQVNFKTogU2V0IHRvIHN0YWJsZS4KCgkqIHBvc2l4L01ha2VmaWxlICh0c3QtZGlyLUFSR1MpOiBGaXggcHJvYmxlbSB3aXRoIGNvbXBpbGluZyBpbgoJc291cmNlIGRpcmVjdG9yeS4KCSh0c3QtY2htb2QtQVJHUyk6IExpa2V3aXNlLgoKMjAwMC0xMS0wOSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogaW8vVmVyc2lvbnMgKEdMSUJDXzIuMik6IEFkZCBfX29wZW42NC4KCjIwMDAtMTEtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbG9jYWxlL0MtdGltZS5jIChfbmxfQ19MQ19USU1FKTogRml4IHZhbHVlIGZvciBfTkxfVElNRV9XRUVLXzFTVFdFRUsuCgoyMDAwLTExLTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1wYXBlci5jIChwYXBlcl9vdXRwdXQpOiBGaXggb2Zmc2V0IGludG8gd2lkdGgKCWZpZWxkLgoKMjAwMC0xMC0yNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYyAoY2hhcm1hcF9yZWFkKTogVmVyaWZ5IEFTQ0lJCgljb21wYXRpYmlsaXR5IG9mIGNoYXJtYXAuCgoyMDAwLTExLTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNhdGdldHMvZ2VuY2F0LmMgKG1haW4pOiBEb24ndCB1c2UgZXhpdCgpIHRvIGF2b2lkIHdhcm5pbmdzIHdpdGgKCWJyb2tlbiBjb21waWxlcnMuCgoJKiBpbmNsdWRlL2ZlYXR1cmVzLmggKF9fU1REQ19JU09fMTA2NDZfXyk6IENvcnJlY3QgdmFsdWUgdG8gYmUKCTIwMDAwOUwuICBQYXRjaCBieSBNYXJrdXMgS3VobiA8TWFya3VzLkt1aG5AY2wuY2FtLmFjLnVrPi4KCjIwMDAtMTEtMDggIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHB3ZC9WZXJzaW9ucyAoR0xJQkNfMi4xLjIpOiBBZGQgZ2V0cHduYW1fci4KCjIwMDAtMTEtMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oOiBDaGVjayBpZiBfVVNFX1NUUklOR19BUkNIXyBtYWNyb3MgYXJlCglkZWZpbmVkLCBub3QgX0hBVkVfU1RSSU5HX0FSQ0hfLgoJKiBzeXNkZXBzL2kzODYvYml0cy9zdHJpbmcuaCAoX1VTRV9TVFJJTkdfQVJDSF9tZW1zZXQsCglfVVNFX1NUUklOR19BUkNIX3N0cmNocik6IERlZmluZS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoX1VTRV9TVFJJTkdfQVJDSF9tZW1zZXQsCglfVVNFX1NUUklOR19BUkNIX3N0cmNocik6IERlZmluZS4KCSogc3lzZGVwcy9zcGFyYy9iaXRzL3N0cmluZy5oOiBOZXcgZmlsZS4KCjIwMDAtMTEtMDggIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9DLXRyYW5zbGl0LmguaW46IFR3ZWFrIDxVMjAxND4gcmVzdWx0LgoJKiBsb2NhbGUvQy10cmFuc2xpdC5oOiBSZWdlbmVyYXRlZC4KCjIwMDAtMTEtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvdW5pc3RkLmg6IEFkZCBhdHRyaWJ1dGUoKGNvbnN0KSkgdG8gc3lzY29uZiBwcm90b3R5cGUuCgoJKiBpY29udmRhdGEvZXVjLWtyLmMgKGV1Y2tyX2Zyb21fdWNzNCk6IE1hcCAweDIwYTkgdG8gXHhhM2RjLgoJKEJPRFkgZnJvbSBkaXJlY3Rpb24pOiBSZW1vdmUgc3BlY2lhbCBoYW5kbGluZyBvZiBceDVjLgoJKiBpY29udmRhdGEvRVVDLUtSLmlycmV2ZXJzaWJsZTogQWRqdXN0IGZvciB0aGlzIGNoYW5nZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0VVQy1LUi4uVVRGODogTGlrZXdpc2UuCglSZXBvcnRlZCBieSBKdW5nc2hpayBTaGluIDxqc2hpbkBwYW50aGVvbi55YWxlLmVkdT4uCgoyMDAwLTExLTA3ICBLYXp1bW90byBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9zaDMvc2V0am1wLlMgKF9fc2lnc2V0am1wKTogU2tpcCBGUFUgZmllbGRzLgoKMjAwMC0xMS0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvYmlnNS5jOiBSZWdlbmVyYXRlZCBhZnRlciBCSUc1IGNoYXJtYXAgY2hhbmdlLgoJUGF0Y2ggYnkgVHVuZy1IYW4gSHNpZWggPHRoaHNpZWhAdHdjcHJvLnBoeXMubnR1LmVkdS50dz4uCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoX2RsX2xvYWRfY2FjaGVfbG9va3VwKTogRml4IHR5cG8gaW4KCWNvbXBhcmlzb24gd2l0aCBuZXcgY2FjaGUgbWFnaWMgYnl0ZXMuCglQYXRjaCBieSBEZW5pcyBaYWl0c2V2IDx6enpAY2QtY2x1Yi5ydT4uCgoyMDAwLTExLTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvQy10cmFuc2xpdC5oLmluOiBVcGRhdGUgZnJvbSB0cmFuc2xpdF9uZXV0cmFsLgoJKiBsb2NhbGUvQy10cmFuc2xpdC5oOiBSZWdlbmVyYXRlZC4KCSogaW50bC90c3QtdHJhbnNsaXQuYzogVXBkYXRlLgoKMjAwMC0xMS0wNCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9EaXN0OiBSZW1vdmUgY2xrX3Rjay5jLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjEuMSk6IFJlbW92ZQoJX19saWJjX2Nsa190Y2suCgkqIHN5c2RlcHMvbWFjaC9odXJkL01ha2VmaWxlIFskKHN1YmRpcik9PXBvc2l4XSAoc3lzZGVwX3JvdXRpbmVzKToKCVJlbW92ZSBjbGtfdGNrLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9jbGtfdGNrLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2dldGNsa3Rjay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvc2V0aXRpbWVyLmMgKHF1YW50aXplX3RpbWV2YWwpOiBVc2UKCV9fZ2V0Y2xrdGNrIGluc3RlYWQgb2YgX19saWJjX2Nsa190Y2suCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvdGltZS5oOiBVc2UgX19zeXNjb25mIGZvciBDTEtfVENLIGluc3RlYWQKCW9mIF9fbGliY19jbGtfdGNrLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCjIwMDAtMTEtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvVmVyc2lvbnM6IEV4cG9ydCBfX3N5c2NvbmYuCgoyMDAwLTExLTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoVkVSU0lPTik6IEJ1bXAgdG8gMi4xLjk3LgoKCSogaWNvbnZkYXRhL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHZpc2NpaS5jLgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHRzdC1wYXRob3B0LnNoLgoKCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoc3RyY21wKTogQ2FzdCBhcmd1bWVudHMgdG8KCV9fc3RyY21wX2NjLCBfX3N0cmNtcF9jZywgYW5kIF9fc3RyY21wX2djIHRvIHVuc2lnbmVkIGNoYXIgKi4KCShfX3N0cmNtcF9jYywgX19zdHJjbXBfY2csIF9fc3RyY21wX2djKTogUmVtb3ZlIGNhc3RzIG9mIHZhbHVlcyBoZXJlLgoJUmVwb3J0ZWQgYnkgRGVuaXMgWmFpdHNldiA8enp6QGNkLWNsdWIucnU+LgoKCSogaWNvbnZkYXRhL3V0Zi0xNi5jIChQUkVQQVJFX0xPT1ApOiBDb3JyZWN0IHR5cG8gcHJldmVudGluZyBCT00gZnJvbQoJYmVpbmcgd3JpdHRlbi4KCgkqIG1hbnVhbC9zb2NrZXQudGV4aSAoTG9jYWwgTmFtZXNwYWNlIENvbmNlcHRzKTogRG9uJ3QgbWVudGlvbiB3aGF0CglwZXJtaXNzaW9ucyBhcmUgbmVjZXNzYXJ5IHRvIGNvbm5lY3QgdG8gYSBzb2NrZXQuCglSZXBvcnRlZCBieSBQZXRlciBFaXNlbnRyYXV0IDxwZXRlcl9lQGdteC5uZXQ+LgoKCSogc3lzZGVwcy9nZW5lcmljL2JhY2t0cmFjZXN5bXMuYyAoX19iYWNrdHJhY2Vfc3ltYm9scyk6IEZpeAoJY29tcHV0YXRpb24gb2YgdG90YWwgZm9yIDY0LWJpdCBtYWNoaW5lcy4KCVBhdGNoIGJ5IEJ5cm9uIFN0YW5vc3playA8Z2FuZGFsZkB3aW5kcy5vcmc+LgoKCSogbWFudWFsL2FyaXRoLnRleGkgKFJvdW5kaW5nKTogQ29ycmVjdCBkZXNjcmlwdGlvbiBvZiBmZXNldHJvdW5kCglyZXR1cm4gdmFsdWUuICBQYXRjaCBieSBDb25yYWRvIEJhZGVuYXMgPENvbnJhZG8uQmFkZW5hc0B1di5lcz4uCgoyMDAwLTEwLTMwICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGRzMi5wZy5nZGEucGw+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWwpOiBBZGQgdGhlIHN5bWJvbCdzCgl2YWx1ZSBwbHVzIHRoZSBydW4tdGltZSBkaXNwbGFjZW1lbnQgdG8gdGhlIHJlbG9jYXRpb24gZm9yIG5vbi1HT1QKCXN5bWJvbHMuICBTZXQgdGhlIHJlbG9jYXRpb24gdG8gdGhlIEdPVCBlbnRyeSBmb3IgR09UIHN5bWJvbHMuCgoyMDAwLTExLTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy90aW1lLmg6IFJlbW92ZWQuCgoyMDAwLTExLTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9URVNUUzogQWRkIGVudHJpZXMgZm9yIElCTTg1NiwgSUJNOTMwLCBJQk05MzMsIElCTTkzNSwKCUlCTTkzNywgSUJNOTM5LCBhbmQgSUJNMTA0Ni4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTEwNDY6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTMwLi5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTEwNDYuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTMzOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzNTogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk05Mzc6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNODU2Li5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzOTogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk05MzMuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTM1Li5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzMDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk04NTY6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTM3Li5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzOS4uVVRGODogTmV3IGZpbGUuCglDb250cmlidXRlZCBieSBNYXNhaGlkZSBXYXNoaXphd2EgPHdhc2hpQHlhbWF0by5pYm0uY28uanA+LgoKMjAwMC0xMS0wMSAgTWFydGluIEJ1Y2hob2x6ICA8bWFydGluQHhlbWFjcy5vcmc+CgoJKiBtYW51YWwvbWVtb3J5LnRleGkgKEhvb2tzIGZvciBNYWxsb2MpOiBGaXggYGNhbGxlcicgYXJnIGRvY3MgdG8KCWFncmVlIHdpdGggaW1wbGVtZW50YXRpb24uCgoyMDAwLTExLTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdGltZS5oIChDTEtfVENLKTogQ2FzdCBzeXNjb25mIHJlc3VsdAoJdG8gX19jbG9ja190LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NvY2tldC5oIChDTVNHX0FMSUdOKTogQ2FzdCByZXN1bHQKCW9mIHVuYXJ5IH4gdG8gc2l6ZV90LgoKCSogc3RkbGliL3N0cnRvZC5jOiBNYWtlIGdjYyBzaHV0IHVwIGFib3V0IFNXQVAgdXNlLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogQWRkIHN1cHBvcnQgZm9yIGJ1aWx0aW4KCXVub3JkZXJlZCBjb21wYXJlIGZ1bmN0aW9ucyB0byBnY2MgMi45NyBhbmQgdXAuCgoJKiBzdHJpbmcvYml0cy9zdHJpbmcyLmg6IERpc2FibGUgc3Ryc3RyIG9wdGltaXphdGlvbnMgZm9yIG5ld2VyCglnY2MgdmVyc2lvbnMuICBQYXRjaCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBjb25maWd1cmUuaW4gKHdpdGhfY3ZzKTogVGVzdCBmb3IgcHNlcnZlciBhY2Nlc3MuCgoyMDAwLTEwLTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9WZXJzaW9ucyBbbGRdIChHTElCQ18yLjIpOiBFeHBvcnQgX2RsX2Nsa3RjayBhbmQgX2RsX3BhZ2VzaXplLgoJKiBlbGYvZGwtbG9hZC5jOiBEZWZpbmUgX2RsX2Nsa3Rjay4KCSogZWxmL2VsZi5oOiBEZWZpbmUgQVRfQ0xLVENLLgoJKiBpbmNsdWRlL3RpbWUuaDogRGVjbGFyZSBfX2dldGNsa3Rjay4KCSogbWlzYy9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgZ2V0Y2xrdGNrLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBIYW5kbGUgQVRfQ0xLVENLLgoJKF9kbF9zaG93X2F1eHYpOiBTaG93IEFUX0NMS1RDSyB2YWx1ZS4KCSogc3lzZGVwcy9nZW5lcmljL2dldGNsa3Rjay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0Y2xrdGNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRjbGt0Y2suYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0Y2xrdGNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvc2l4L3N5c2NvbmYuYzogVXNlIF9fZ2V0Y2xrdGNrIHRvIGhhbmRsZSBfU0NfQ0xLX1RDSy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0cGFnZXNpemUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdGltZS5oOiBVc2UgX19zeXNjb25mIHRvIGZvciBDTEtfVENLLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgoJKiBzdW5ycGMvY2xudF9nZW4uYyAoY2xudF9jcmVhdGUpOiBEb24ndCBzZXQgdGltZW91dCB3aXRoCgljbG50X2NvbnRyb2wgZm9yIGFueSBwcm90b2NvbC4gIFRoaXMgd291bGQgbWFrZSBpdCBpbXBvc3NpYmxlIGZvcgoJdGhlIHVzZXIgdG8gcHJvdmlkZSBvbmUgaW4gY2xudF9jYWxsKCkuCglSZXBvcnRlZCBieSBIaXRvc2hpIEd1dXRhcmEgTWFydXlhbWEgPG1hcnV5YW1hQHNoLnJpbS5vci5qcD4uCgkqIHN1bnJwYy9jbG50X3RjcC5jIChjbG50X2NhbGwpOiBEb24ndCB1c2UgdGltZW91dCBpbiB0ZXN0cyB3aXRoIHplcm8sCgl1c2UgY3QtPmN0X3dhaXQuCgkqIHN1bnJwYy9jbG50X3VuaXguYyAoY2xudF9jYWxsKTogTGlrZXdpc2UuCgoyMDAwLTEwLTMxICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19pc2luZmwuUzogTmV3IGZpbGUsICAtIGFzc2VtYmx5IGJhc2VkCglpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBzdWdnZXN0aW9uIGJ5IFJpY2hhcmQgSGVuZGVyc29uLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfaXNpbmZsLmM6IFJlbW92ZWQuCgoyMDAwLTEwLTMwICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19pc25hbmwuUzogTmV3IGZpbGUgLSBhc3NlbWJseSBiYXNlZAoJaW1wbGVtZW50YXRpb24gYmFzZWQgb24gc3VnZ2VzdGlvbiBieSBSaWNoYXJkIEhlbmRlcnNvbi4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzbmFubC5jOiBSZW1vdmVkLgoKMjAwMC0xMC0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmMgKHByaW50X2l0ZW0pOiBGaXggb25lIG1vcmUgcHJvYmxlbSB3aXRoCglzdHJpbmcgbGlzdHMuICBQYXRjaCBieSBDaGVuIFhpYW5neWFuZyA8Y2hlbnh5QG9wZW5jamsub3JnPi4KCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogQWRkIG51bWJlciBvZiBhcmd1bWVudHMgdG8gY3R5cGUtbWFwLW5hbWVzCglhbmQgY3R5cGUtY2xhc3MtbmFtZXMgZW50cmllcy4gIE1hcmsgZXJhIGFzIHN0cmluZ2xpc3QuCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgSUJNODU2LCBJQk05MzAsIElCTTkzMywgSUJNOTM1LAoJSUJNOTM3LCBJQk05MzksIGFuZCBJQk0xMDQ2LgoJKGRpc3RyaWJ1dGUpOiBBZGQgaWJtODU2LmMsIGlibTkzMC5jLCBpYm05MzMuYywgaWJtOTM1LmMsIGlibTkzNy5jLAoJaWJtOTM5LmMsIGlibTEwNDYuYywgaWJtODU2LmgsIGlibTkzMC5oLCBpYm05MzMuaCwgaWJtOTM1LmgsIGlibTkzNy5oLAoJaWJtOTM5LmgsIGFuZCBpYm0xMDQ2LmguCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgSUJNODU2LCBJQk05MzAsIElCTTkzMywKCUlCTTkzNSwgSUJNOTM3LCBJQk05MzksIGFuZCBJQk0xMDQ2LgoJKiBpY29udmRhdGEvaWJtMTA0Ni5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL2libTEwNDYuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm04NTYuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm04NTYuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzAuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzAuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzMuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzMuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzUuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzUuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzcuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzcuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzkuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzkuaDogTmV3IGZpbGUuCglQYXRjaGVzIGJ5IE1hc2FoaWRlIFdhc2hpemF3YSA8d2FzaGlAeWFtYXRvLmlibS5jby5qcD4uCgoyMDAwLTEwLTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sb2NhbGVpbmZvLmggKGVudW0gdmFsdWVfdHlwZSk6IEFkZCB3c3RyaW5nLCB3c3RyaW5nYXJyYXksCglhbmQgd3N0cmluZ2xpc3QuCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogTWFyayB3aWRlIGNoYXIgc3RyaW5ncyBhcyB3c3RyaW5nIG9yCglzdHJpbmdhcnJheS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jIChzaG93X2luZm8pOiBIYW5kbGUgd3N0cmluZywgd3N0cmluZ2FycmF5LAoJYW5kIHdzdHJpbmdsaXN0LiAgUHJpbnQga2V5d29yZHMgb25seSBpZiB0aGVyZSBpcyByZWFsIG91dHB1dC4KCVJlcG9ydGVkIGJ5IENoZW4gWGlhbmd5YW5nIDxjaGVueHlAb3BlbmNqay5vcmc+LgoKCSogc3lzZGVwcy9zcGFyYy9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEFkZCBfX1RIUk9XIHdoZXJlIG5lY2Vzc2FyeS4KCVBhdGNoIGJ5IEJlbiBDb2xsaW5zIDxiY29sbGluc0BkZWJpYW4ub3JnPi4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWZtZW1vcGVuLgoJKiBzdGRpby1jb21tb24vdHN0LWZtZW1vcGVuLmM6IE5ldyBmaWxlLgoJVGVzdCBjYXNlIGJ5IEJlbiBDb2xsaW5zIDxiY29sbGluc0BkZWJpYW4ub3JnPi4KCgkqIGxpYmlvL2lvZm9wbmNvb2suYyAoX0lPX2Nvb2tpZV9zZWVrKTogQ29ycmVjdCB0ZXN0IGZvciBlcnJvci4KCgkqIGxpYmlvL2ZtZW1vcGVuLmMgKGZtZW1vcGVuX3JlYWQpOiBSZXR1cm4gMCBhdCBlbmQgb2YgYnVmZmVyLgoJKGZtZW1vcGVuX3dyaXRlKTogU2V0IGVycm5vIGF0IGVuZCBvZiBidWZmZXIuCgoJKiBwb3NpeC9ydW50ZXN0cy5jIChtYWluKTogRG9uJ3QgdXNlIGV4aXQoKSB0byBhdm9pZCB3YXJuaW5nIHdpdGgKCWJyb2tlbiBjb21waWxlcnMuCgoJKiBzdHJpbmcvYnVnLXN0cm5jYXQxLmM6IFVuZGVmaW5lIF9fVVNFX1NUUklOR19JTkxJTkVTIGJlZm9yZQoJZGVmaW5pbmcgaXQgYWdhaW4gdG8gYXZvaWQgd2FybmluZy4KCSogc3RyaW5nL2J1Zy1zdHJwYnJrMS5jOiBMaWtld2lzZS4KCSogc3RyaW5nL2J1Zy1zdHJzcG4xLmM6IExpa2V3aXNlLgoKMjAwMC0xMC0yOSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL0MtdHJhbnNsaXQuaC5pbjogSW5jbHVkZSBtb3JlIHJ1bGVzIGZyb20gdHJhbnNsaXRfbmV1dHJhbC4KCVJlbW92ZSBhIGZldyBHZXJtYW4gYW5kIERhbmlzaCBzcGVjaWZpYyBydWxlcy4KCSogbG9jYWxlL2dlbi10cmFuc2xpdC5wbDogQXZvaWQgYW4gZXJyb3Igd2hlbiBwcmludGluZyBhIHN0cmluZwoJY29udGFpbmluZyBhICclJyBjaGFyYWN0ZXIuCgkqIGxvY2FsZS9DLXRyYW5zbGl0Lmg6IFJlZ2VuZXJhdGVkLgoJKiBpbnRsL3RyYW5zbGl0LnBvOiBDaG9vc2UgZGlmZmVyZW50IHRyYW5zbGF0aW9ucy4KCSogaW50bC90c3QtdHJhbnNsaXQuYzogVXBkYXRlLgoKMjAwMC0xMC0yOSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKHRyYW5zbGl0X2luY2x1ZGVfdCk6IE5ldyB0eXBlLgoJKGxvY2FsZV9jdHlwZV90KTogUmVtb3ZlIHRyYW5zbGl0X2NvcHlfbG9jYWxlLCB0cmFuc2xpdF9jb3B5X3JlcGVydG9pcmUKCWZpZWxkcywgYWRkIHRyYW5zbGl0X2luY2x1ZGUgZmllbGQuCgkoY3R5cGVfcmVhZCk6IEFmdGVyIHNlZWluZyAidHJhbnNsaXRfc3RhcnQiIGluIGlnbm9yZV9jb250ZW50IG1vZGUsCglza2lwIHRoZSBlbnRpcmUgdHJhbnNsaXQgc2VjdGlvbiwgbm90IG9ubHkgb25lIGxpbmUuICBSZW1vdmUgZGVhZCB0ZXN0Cglmb3IgdG9rX3RyYW5zbGl0X2VuZC4gIEVucXVldWUgaW5jbHVkZSBzdGF0ZW1lbnRzIGludG8gYSBsaXN0LgoJU2lnbmFsIGVycm9yIGlmIHRva19lb2Ygc2VlbiBiZWZvcmUgdG9rX3RyYW5zbGl0X2VuZC4KCSh0cmFuc2xpdF9mbGF0dGVuKTogTmV3IGZ1bmN0aW9uLgoJKGFsbG9jYXRlX2FycmF5cyk6IENhbGwgdHJhbnNsaXRfZmxhdHRlbi4KCjIwMDAtMTAtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2ZpbmRsb2NhbGUuYyAoZnJlZV9tZW0pOiBXZSBjYW4gcmVtb3ZlIE5PREVMRVRFIG1hcmtlZAoJZGF0YSwganVzdCBub3QgdGhlIEMgbG9jYWxlIGRhdGEuCgoJKiBpbnRsL3RzdC1nZXR0ZXh0LmM6IFVzZSBzZXRsb2NhbGUoKSBpbiBhZGRpdGlvbiB0byBzZXR0aW5nIGVudnZhci4KCSogaW50bC90c3QtZ2V0dGV4dC5zaDogQ29weSBsb2NhbGUgZGF0YSBpZiBuZWNlc3NhcnkuCgkqIGludGwvTWFrZWZpbGUgKGdlbmVyYXRlZC1kaXJzKTogQWRkIGxvY2FsZWRpci4KCgkqIGludGwvZGNpZ2V0dGV4dC5jIChndWVzc19jYXRlZ29yeV92YWx1ZSk6IEZvciBsaWJjIGFsd2F5cyB1c2UKCXRoZSBzZXRsb2NhbGUoKSBtZXRob2QuCgoJKiBpbnRsL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQsIHJ1biBhbmQsIGRpc3RyaWJ1dGUgdHN0LWdldHRleHQyLgoJKiBpbnRsL3RzdC1nZXR0ZXh0Mi5jOiBOZXcgZmlsZS4KCSogaW50bC90c3QtZ2V0dGV4dDIuc2g6IE5ldyBmaWxlLgoJKiBpbnRsL3RzdGxhbmcxLnBvOiBOZXcgZmlsZS4KCSogaW50bC90c3RsYW5nMi5wbzogTmV3IGZpbGUuCglQYXRjaCBieSBBbmRyZWFzIEphZWdlciA8YWpAc3VzZS5kZT4uCgoyMDAwLTEwLTI2ICBHT1RPIE1hc2Fub3JpICA8Z290b21AZGViaWFuLm9yLmpwPgoKCSogaW50bC9sb2NhbGUuYWxpYXM6IEFkZCBqYV9KUC51amlzIGFsaWFzLgoKMjAwMC0xMC0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvZmluZGxvY2FsZS5jIChfbmxfZmluZF9sb2NhbGUpOiBEb24ndCBzdG9yZSBub3JtYWxpemVkCgluYW1lIGluICpOQU1FLgoKMjAwMC0xMC0yOSAgQmVuIENvbGxpbnMgIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2xvY2tmNjQuYzogSW4gdGhlIGNhc2Ugb2YgRl9URVNULCBzZXQgbF90eXBlIHRvCglGX1JETENLIGV4cGxpY2l0bHkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbG9ja2Y2NC5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL2JpZzUuYzogVXBkYXRlLgoJUGF0Y2ggYnkgVHVuZy1IYW4gSHNpZWggPHRoaHNpZWhAdHdjcHJvLnBoeXMubnR1LmVkdS50dz4uCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgQklHNS5pcnJldmVyc2libGUuCgkqIGljb252ZGF0YS9CSUc1LmlycmV2ZXJzaWJsZTogTmV3IGZpbGUuCgoyMDAwLTEwLTI5ICBHcmVnIExvdWlzICA8Z2xvdWlzQGR5bmFtaWNyby5vbi5jYT4KCgkqIHBvc2l4L3JlZ2V4LmggKF9fcmVzdHJpY3RfYXJyKTogTW92ZSBkZWZpbml0aW9uIG91dCBvZiAjaWZuZGVmIGJsb2NrLgoJUmVxdWlyZWQgYmVjYXVzZSBlZ2NzLTIuOTEuNjYgKGFrYSAxLjEuMikgZGVmaW5lcyBfX3Jlc3RyaWN0LCBidXQKCWRvZXNuJ3QgZGVmaW5lIF9fcmVzdHJpY3RfYXJyLgoKMjAwMC0xMC0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvc2VhcmNoLnRleGk6IENvcnJlY3QgZGVzY3JpcHRpb24gaWYgVklTSVQgdmFsdWVzLgoJUGF0Y2ggYnkgQmVuIENvbGxpbnMgPGJjb2xsaW5zQGRlYmlhbi5vcmc+LgoKCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oIChzdHJzcG4pOiBFdmFsdWF0ZSBmaXJzdCBhcmd1bWVudCBpZgoJc2Vjb25kIGlzICIiLgoJKHN0cnBicmspOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaDogTGlrZXdpc2UuCgkqIHN0cmluZy9NYWtlZmlsZSAodGVzdHMpOiBBZGQgYnVnLXN0cnNwbjEgYW5kIGJ1Zy1zdHJwYnJrMS4KCSogc3RyaW5nL2J1Zy1zdHJzcG4xLmM6IE5ldyBmaWxlLgoJKiBzdHJpbmcvYnVnLXN0cnBicmsxLmM6IE5ldyBmaWxlLgoJVGVzdCBjYXNlcyBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBzdHJpbmcvYml0cy9zdHJpbmcyLmggKHN0cm5jYXQpOiBUZXJtaW5hdGUgc3RyaW5nIGNvcnJlY3RseS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoc3RybmNhdCk6IExpa2V3aXNlLgoJKiBzdHJpbmcvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1zdHJuY2F0MS4KCSogc3RyaW5nL2J1Zy1zdHJuY2F0MS5jOiBOZXcgZmlsZS4KCVRlc3QgY2FzZSBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoyMDAwLTEwLTI3ICBCZW4gQ29sbGlucyAgPGJjb2xsaW5zQGRlYmlhbi5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbG9ja2YuYyAobG9ja2YpOiBTZXQgbF90eXBlIHRvIEZfUkRMQ0sgYmVmb3JlCgljYWxsaW5nIGZvciBGX0dFVExLLgoKMjAwMC0xMC0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChvcGVuX3BhdGgpOiBEb24ndCBleGl0IGxvb3AgZWFybHkgaWYgd2UgZGlkbid0Cgl1c2UgYSBkaXJlY3RvcnkgYXQgYWxsLgoKCSogZWxmL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biB0c3QtcGF0aG9wdC4KCSogZWxmL3RzdC1wYXRob3B0LmM6IE5ldyBmaWxlLgoJKiBlbGYvdHN0LXBhdGhvcHQuc2g6IE5ldyBmaWxlLgoJKiBlbGYvcGF0aG9wdG9iai5jOiBOZXcgZmlsZS4KCgkqIGVsZi9lbGYuaCAoU0hOX1hJTkRFWCk6IERlZmluZS4KCjIwMDAtMTAtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRlc3Qtc3RhdDIuCgkodGVzdC1zdGF0Mi1BUlMpOiBOZXcgdmFyaWFibGUuCgkqIGlvL3Rlc3Qtc3RhdDIuYzogTmV3IGZpbGUuCgoJKiBNYWtlY29uZmlnIChFVEFHUyk6IFJlbW92ZSAtVCBmbGFnLgoKCSogZWxmL2RsLWxvYWQuYyAob3Blbl92ZXJpZnkpOiBPbmx5IHRyeSB0byBsb2FkIEVUX0RZTiBhbmQgRVRfRVhFQwoJb2JqZWN0cy4gIFJlamVjdCBhbGwgb3RoZXIgdHlwZXMuCgkoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IE9wdGltaXplIGEgYml0LgoKMjAwMC0xMC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1mc2Vlay4KCSogc3RkaW8tY29tbW9uL3RzdC1mc2Vlay5jOiBOZXcgZmlsZS4KCgkqIHBvc2l4L3JlZ2V4LmMgKGdldHRleHQpOiBVc2UgY29ycmVjdCB0cmFuc2xhdGlvbiBkb21haW4gZm9yIGdsaWJjLgoKCSogYXJncC9hcmdwLXBhcnNlLmM6IFVzZSBfX2RjZ2V0dGV4dCBpbnN0ZWFkIG9mIGRjZ2V0dGV4dCBmb3IgZ2xpYmMuCgkqIGFyZ3AvYXJncC1oZWxwLmM6IExpa2V3aXNlLgoJKiBpbmV0L2dldG5hbWVpbmZvLmMgKGdldG5hbWVpbmZvKTogVXNlIF9fc25wcmludGYgaW5zdGVhZCBvZiBzbnByaW50Zi4KCSogaW5ldC9yZXhlYy5jIChyZXhlY19hZik6IFVzZSBfX3NucHJpbnRmIGluc3RlYWQgb2Ygc25wcmludGYuCgkqIG1pc2MvcmVnZXhwLmMgKF9fc3RlcCk6IFVzZSBfX3JlZ2V4ZWMgaW5zdGVhZCBvZiByZWdleGVjLgoJKF9fYWR2YW5jZSk6IExpa2V3aXNlLgoJKiBuc3MvZGlnaXRzX2RvdHMuYzogVXNlIF9faW5ldF9hdG9uIGluc3RlYWQgb2YgaW5ldF9hdG9uLgoJKiBuc2NkL2dldGhzdGJ5bm0yX3IuYyAoX19pbmV0X2F0b24pOiBEZWZpbmUgYXMgaW5ldF9hdG9uIHNpbmNlCgl0aGUgZm9ybWVyIGlzIG5vdCBleHBvcnRlZC4KCSogbWlzYy9kYWVtb24uYyAoZGFlbW9uKTogVXNlIF9fZm9yayBpbnN0ZWFkIG9mIGZvcmsuCgoJKiBzdGRsaWIvZm10bXNnLmMgKGZtdG1zZyk6IENoYW5nZSBvdXRwdXQgZm9ybWF0IHNsaWdodGx5IHRvIG1ha2UKCWl0IGxvb2sgYmV0dGVyIGFuZCBicmluZyBpdCBjbG9zZXIgdG8gU3lzViBiZWhhdmlvci4KCSogc3RkbGliL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHRzdC1mbXRtc2cuc2guCgkodGVzdC1zcmNzKTogQWRkIHRzdC1mbXRtc2cuCgkodGVzdHMpOiBBZGQgJChvYmpwZngpdHN0LWZtdG1zZy5vdXQuICBBZGQgcnVsZSB0byBnZW5lcmF0ZSBpdC4KCSogc3RkbGliL3RzdC1mbXRtc2cuc2g6IE5ldyBmaWxlLgoJKiBzdGRsaWIvdHN0LWZtdG1zZy5jOiBOZXcgZmlsZS4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAobW9kdWxlcyk6IEFkZCBWSVNDSUkuCgkoZ2VuLThiaXQtbW9kdWxlcyk6IEFkZCB2aXNjaWkuCgkqIGljb252ZGF0YS92aXNjaWkuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgVklTQ0lJLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogQWRkIFZJU0NJSS4KCjIwMDAtMTAtMjcgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGQgc29tZSBtb3JlIHVscHMuCgoyMDAwLTEwLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoVkVSU0lPTik6IEJ1bXAgdG8gMi4xLjk2LgoKCSogaW5ldC9nZXRpcG5vZGVieWFkLmM6IFJlbW92ZWQuCgkqIGluZXQvZ2V0aXBub2RlYnlubS5jOiBSZW1vdmVkLgoJKiBpbmV0L3RzdC1pcG5vZGUuYzogUmVtb3ZlZC4KCSogaW5ldC9mcmVlaG9zdGVudC5jOiBSZW1vdmVkLgoKCSogc3lzZGVwcy91bml4L2JzZC9vc2YvPWRpcnN0cmVhbS5oOiBSZW1vdmVkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvRGlzdDogQWRkIGJpdHMvaW5pdHNwaW4uaC4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBuZWVkZWRvYmo0LmMuCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgQklHNUhLU0NTLmlycmV2ZXJzaWJsZS4KCgkqIHN5c2RlcHMvaHBwYS9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9EaXN0OiBOZXcgZmlsZS4KCgkqIHBvc2l4L3RzdC1jaG1vZC5jIChkb190ZXN0KTogQWNjb3VudCBmb3IgcGVvcGxlIHJ1bm5pbmcgdGhlCgl0ZXN0cyBhcyByb290LgoKCSogbG9jYWxlL2xhbmdpbmZvLmggKFRIT1VTRVApOiBEZWZpbmUgdGhpcyBhbmQgZG9uJ3QgZHVwbGljYXRlCglkZWZpbml0aW9uIG9mIFRIT1VTQU5EU19TRVAuCgoJKiBsb2NhbGUvQy1tb25ldGFyeS5jOiBTZXQgbW9uX2RlY2ltYWwgdG8gZW1wdHkgc3RyaW5nLgoJQWRkIG1pc3NpbmcgZW50cnkgX05MX01PTkVUQVJZX0NSTkNZU1RSLgoJKiBzdGRpby1jb21tb24vcHJpbnRmX2ZwLmM6IElmIE1PTl9ERUNJQUxfUE9JTlQgaXMgbm90IHByb3ZpZGVkIHVzZQoJREVDSU1BTF9QT0lOVCBpbmZvcm1hdGlvbi4KCSogbG9jYWxlL0MtbnVtZXJpYy5jOiBTZXQgbW9uX2dyb3VwaW5nIGVudHJ5IHRvIGVtcHR5IHN0cmluZy4KCSogbG9jYWxlL0MtdGltZS5jOiBBZGQgZGF0ZV9mbXQgZW50cmllcy4gIFJlbW92ZSB0d28gd3JvbmcgZW50cmllcy4KCUNvcnJlY3QgdmFsdWUgZm9yIG51bWJlciBvZiBlbnRyaWVzLgoJKiBsb2NhbGUvbG9jYWxlY29udi5jOiBOb3JtYWxpemUgcmVzdWx0IHBhc3NlZCBiYWNrIGluIC5ncm91cGluZy4KCUZpeCBhc3NpZ25tZW50IHRvIC5pbnRfKiBlbnRyaWVzLgoKCSogbG9jYWxlL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtQy1sb2NhbGUuCgkqIGxvY2FsZS90c3QtQy1sb2NhbGUuYzogTmV3IGZpbGUuCgoJKiBsb2NhbGUvc2V0bG9jYWxlLmM6IFVzZSBMT0NBTEVESVIgYW5kIG5vdCBMT0NBTEVfUEFUSCB0byBsb2NhdGUKCWxvY2FsZSBmaWxlcy4KCSogbG9jYWxlL25ld2xvY2FsZS5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMjYgIEdPVE8gTWFzYW5vcmkgIDxnb3RvbUBkZWJpYW4ub3IuanA+CgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogRGVmaW5lIF9EQVRFX0ZNVCBhbmQgX05MX1dfREFURV9GTVQuCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogTmV3IHN1cHBvcnQgZm9yIGRhdGVfZm10LgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUta3cuZ3BlcmY6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jZmlsZS1rdy5oOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUtdG9rZW4uaDogTGlrZXdpc2UuCgoyMDAwLTEwLTI2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2h5cG90bC5jOiBOZXcuCgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGNhYnNfdGVzdCwgY2V4cF90ZXN0LCBjc3FydF90ZXN0LCBoeXBvdF90ZXN0KToKCUluY3JlYXNlIHByZWNpc2lvbiBvZiBjb25zdGFudHMuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvYXJtL2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoJKiBzeXNkZXBzL202OGsvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvbWlwcy9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCjIwMDAtMTAtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1mY250bC4KCSogaW8vdHN0LWZjbnRsLmM6IE5ldyBmaWxlLgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1jaG1vZC4KCSh0c3QtY2htb2QtQVJHUyk6IERlZmluZS4KCSogcG9zaXgvdHN0LWNobW9kLmM6IE5ldyBmaWxlLgoKCSogdGVzdC1za2VsZXRvbi5jOiBCZWZvcmUgY2FsbGluZyB1c2VyLWRlZmluZWQgZnVuY3Rpb24gcmVtb3ZlCglwYXJhbWV0ZXJzIGZyb20gYXJndW1lbnQgbGlzdC4KCSogcG9zaXgvdHN0LWV4ZWMuYzogQWRqdXN0IHRvIHRoaXMgY2hhbmdlLgoJKiBwb3NpeC90c3Qtc3Bhd24uYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvb3BlbmRpci5jIChfX29wZW5kaXIpOiBPcHRpbWl6ZSBhIGJpdC4gIEFkZAoJX19idWlsdGluX2V4cGVjdC4KCjIwMDAtMTAtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LW5nZXR0ZXh0LgoJKiBpbnRsL3RzdC1uZ2V0dGV4dC5jOiBOZXcgZmlsZS4KCjIwMDAtMTAtMjUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIG1hbnVhbC9jaGFyc2V0LnRleGk6IEZpeCBzcGVsbGluZyBvZiBfX0dDT05WX0ZVTExfT1VUUFVULgoJKiBtYW51YWwvbWVzc2FnZS50ZXhpIChUcmFuc2xhdGlvbiB3aXRoIGdldHRleHQpOiBSZW1vdmUgcGFyYWdyYXBoCglhYm91dCBtYWNyb3MgY29udGFpbmVkIGluIGxpYmludGwuaC4KCShiaW5kX3RleHRkb21haW5fY29kZXNldCk6IERlc2NyaWJlIGNvZGVzZXQgYXJndW1lbnQuCgkoVXNpbmcgZ2V0dGV4dGl6ZWQgc29mdHdhcmUpOiBBZGQgc2V0bG9jYWxlIGNhbGwgdG8gc2FtcGxlIGNvZGUuCgoyMDAwLTEwLTI2ICBLYXp1bW90byBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoJICAgIFl1dGFrYSBOaWliZSAgPGduaWliZUBjaHJvb3Qub3JnPgoKCSogc3lzZGVwcy9zaC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBIYW5kbGUgaW4gcGxhY2UKCXJlbG9jYXRpb24gd2hpY2ggaXMgZ2VuZXJhdGVkIGJ5IG5ldyBsZC4KCSogc3lzZGVwcy9zaC9lbGYvaW5pdGZpbmkuYyAoX2luaXQpOiBQcmVzZXRlZCBfX2Zwc2NyX3ZhbHVlcy4KCShfZmluaSk6IERlbGV0ZSBhbiBvYnNvbGV0ZSByZWdpc3RlciBwcmVmaXguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL1ZlcnNpb25zOiBBZGQgX194c3RhdDY0LCBfX2Z4c3RhdDY0LAoJX19seHN0YXQ2NCwgYWxwaGFzb3J0NjQsIGdsb2I2NCwgcmVhZGRpcjY0LCByZWFkZGlyNjRfciwgc2NhbmRpcjY0CglhbmQgdmVyc2lvbnNvcnQ2NCBhcyB0aGUgMi4yLXZlcnNpb25lZCBzeW1ib2xzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9iaXRzL2ZjbnRsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9icmsuYzogQ2hhbmdlcyBmb3IgdGhlIG5ldyBzeXN0ZW0gY2FsbAoJY2FsbGluZyBjb252ZW50aW9uIG9mIHRoZSBrZXJuZWwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3BpcGUuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NvY2tldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvY2xvbmUuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3Zmb3JrLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2ZjbnRsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9sb2NrZjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXMvdXNlci5oOiBJbmNsdWRlIHRoZSBrZXJuZWwgaGVhZGVyCglmaWxlIGFuZCBkZWxldGUgdGhlIGRlZmluaXRpb25zIG9mIHN0cnVjdCB1c2VyIGFuZCB1c2VyX2ZwLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNjYWxsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNjYWxscy5saXN0OiBSZW1vdmUgZW50cmllcyBmb3IKCXNfaW9jdGwsIHNfaXBjLCBzX2xsc2Vlaywgc19jaG93biwgc19mY2hvd24sIHNfbGNob3duLCBzX2V4ZWN2ZSwKCXJ0X3NpZ2FjdGlvbiwgcnRfc2lncGVuZGluZywgcnRfc2lncHJvY21hc2ssIHJ0X3NpZ3F1ZXVlaW5mbywKCXJ0X3NpZ3N1c3BlbmQsIHJ0X3NpZ3RpbWVkd2FpdCwgc19nZXRjd2QsIHNfZ2V0ZGVudHMsIHNfZ2V0Z3JvdXBzLAoJc19nZXRwcmlvcml0eSwgc19nZXRlZ2lkLCBzX2dldGV1aWQsIHNfZ2V0dWlkLCBnZXRyZXNnaWQsIGdldHJlc3VpZCwKCXNfZ2V0cmxpbWl0LCBzX3BvbGwsIHNfcHJlYWQ2NCwgc19wdHJhY2UsIHNfcHdyaXRlNjQsIHNfcmVib290LAoJc19zZXRybGltaXQsIHNfc2lnYWN0aW9uLCBzX3NpZ3BlbmRpbmcsIHNfc2lncHJvY21hc2ssIHNfc2lnc3VzcGVuZCwKCXNfc2V0ZnNnaWQsIHNfc2V0ZnN1aWQsIHNfc2V0Z2lkLCBzX3NldGdyb3Vwcywgc19zZXRyZWdpZCwKCXNfc2V0cmVzZ2lkLCBzX3NldHJlc3VpZCwgc19zZXRyZXVpZCwgc19zZXR1aWQsIHNfc3lzY3RsLAoJc191Z2V0cmxpbWl0LCBzX3VzdGF0LCBzeXNfZnN0YXQsIHN5c19sc3RhdCwgc3lzX21rbm9kLCBzeXNfcmVhZHYsCglzeXNfc3RhdCwgc3lzX3dyaXRldiBhbmQgc3lzY2FsbC4KCjIwMDAtMTAtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vdGVzdC1sZnMuYyAoZG9fcHJlcGFyZSk6IFJld3JpdGUgc28gaXQgZG9lc24ndCBmYWlsIG9uIHN5c3RlbXMKCXdpdGhvdXQgTEZTIHN1cHBvcnQuCgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYzogVXNlIF9faWVlZTc1NF9zcXJ0IGluc3RlYWQgb2YgX19zcXJ0LgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfajEuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qMC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMi9lX2oxZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMi9lX2owZi5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMjUgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9wcm9maWwtY291bnRlci5oOiBNdWx0aXBseSBzbG90CgludW1iZXIgYnkgZm91ciB0byB1c2UgYmlucyBvZiB3aWR0aCA0IHRvIGdldCBhY2N1cmF0ZQoJaW5zdHJ1Y3Rpb24tbGV2ZWwgcHJvZmlsaW5nLgoKMjAwMC0xMC0yNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmggKENBQ0hFTUFHSUNfVkVSU0lPTl9ORVcpOiBDb3JyZWN0IHN0cmluZy4KCjIwMDAtMTAtMjUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9mY250bC5jIChfX2xpYmNfZmNudGwpOiBXaGVuCgljb252ZXJ0aW5nIHN0cnVjdCBmbG9jazY0IHRvIHN0cnVjdCBmbG9jayBhbmQgYmFjaywgdXNlIGZjbnRsIGNvbW1hbmRzCgl3aGljaCB3b3JrIG9uIHN0cnVjdCBmbG9jay4KCjIwMDAtMTAtMjUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWF0aC90ZXN0LW1pc2MuYyAobWFpbik6IE9ubHkgY2hlY2sgbW9kZmwgaWYgTk9fTE9OR19ET1VCTEUgaXMgbm90CglkZWZpbmVkLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCjIwMDAtMTAtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hcm0vbGlibS10ZXN0LXVscHM6IFVwZGF0ZWQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoQ0FDSEVNQUdJQ19WRVJTSU9OX05FVyk6IE5ldyB2YWx1ZS4KCjIwMDAtMTAtMjUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJKF9kbF9tYXBfb2JqZWN0KTogTGlrZXdpc2UuCgoyMDAwLTEwLTI0ICBQYXVsIEVnZ2VydCAgPGVnZ2VydEB0d2luc3VuLmNvbT4KCgkqIHRpbWUvc3RyZnRpbWUuYyAobXlfc3RyZnRpbWUgbWFjcm8pCglbIWRlZmluZWQgX0xJQkMgJiYgSEFWRV9UWk5BTUUgJiYgSEFWRV9UWlNFVF06CglXaGVuIHJlZGVmaW5pbmcsIGRvIGl0IHdpdGhvdXQgYXJncywgc28gdGhhdCBpdCB3b3JrcyBldmVuIGlmCgllbWFjcyBpcyBkZWZpbmVkIGFuZCBhbiBleHRyYSBhcmd1bWVudCBpcyBwYXNzZWQgdG8gbXlfc3RmdGltZS4KCShteV9zdHJmdGltZSBmdW5jdGlvbik6IFdoZW4gZXZhbHVhdGluZyBhIHN1YmZvcm1hdCwgcGFzcwoJdXRfYXJndW1lbnQgYXMgd2VsbC4KCjIwMDAtMTAtMjQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L1ZlcnNpb25zOiBBZGQgcGNpY29uZmlnX3JlYWQgYW5kCglwY2ljb25maWdfd3JpdGUuCgoyMDAwLTEwLTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChfZGxfY2FjaGVfdmVyaWZ5X3B0cik6IENvcnJlY3QgdGVzdAoJZm9yIGZpbGVzIHdpdGggbmV3IGNhY2hlIGZvcm1hdC4KCShfZGxfbG9hZF9jYWNoZV9sb29rdXApOiBBZGQgdmFyaWFibGUgY2FjaGVfZGF0YV9zaXplIGZvciBzaXplIG9mIHRoZQoJZGF0YS4gIENvcnJlY3RseSByZXBvcnQgZXJyb3IgaWYgbmVpdGhlciBvbGQgbm90IG5ldyBzaWduYXR1cmUgaXMKCWZvdW5kLiBMaXR0bGUgb3B0aW1pemF0aW9ucy4KCU1vc3RseSBiYXNlZCBvbiBhIHBhdGNoIGJ5IERlbmlzIFphaXRzZXYgPHp6ekBjZC1jbHViLnJ1Pi4KCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBPcHRpbWl6ZSBhIGJpdCBieSBvcHRpbWl6aW5nIG91dCB0aGUKCW5zZWFyY2hsaXN0IHZhcmlhYmxlLgoKMjAwMC0xMC0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9va3VwLmMgKGFkZF9kZXBlbmRlbmN5KTogRml4IHRlc3QgdG8gY2hlY2sgd2hldGhlcgoJZGVwZW5kZW5jeSBhbHJlYWR5IGV4aXN0cy4KCSogZWxmL01ha2VmaWxlOiBBZGQgdGVzdG9iajEgYW5kIHRlc3RvYmoyIGFzIGRlcGVuZGVuY2llcyBvZiB0ZXN0b2JqNi4KCSogZWxmL2xvYWR0ZXN0LmMgKG1haW4pOiBBZGQgdGVzdCBhdCB0aGUgZW5kIHRoYXQgZXZlcnl0aGluZyBpcwoJdW5sb2FkZWQuCgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoJKiBlbGYvZWxmLmg6IEFkZCBldmVuIG1vcmUgSUEtNjQgcmVsb2NhdGlvbnMuCgoyMDAwLTEwLTI0ICBHZW9mZnJleSBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBpby90ZXN0LWxmcy5jIChkb19wcmVwYXJlKTogQ2FsbCBzZXRybGltaXQ2NCwgaW4gY2FzZSB0aGUgdXNlcgoJaGFzIGEgbGltaXQgc2V0LS0tZm9yIGluc3RhbmNlLCBhIGxpbWl0IG9mIDJeMzEgYnl0ZXMsIHdoaWNoIGNhbid0CgllYXNpbHkgYmUgcmVzZXQgYnkgbm9uLUxGUy1hd2FyZSBzaGVsbHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL21tYXA2NC5jOiBEZWZpbmUgUEFHRV9TSElGVAoJZXhwbGljaXRseSByYXRoZXIgdGhhbiBnZXR0aW5nIGl0IGZyb20gPGFzbS9wYWdlLmg+LgoKMjAwMC0xMC0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogSGFuZGxlIHJlbG9jYXRpb24gZGVwZW5kZW5jaWVzIG9mCgl0aGUgZGVwZW5kZW5jaWVzIG9mIHRoZSBvYmplY3QgY3VycmVudGx5IHVubG9hZGVkLgoKCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IERvbid0IGZyZWUgbWVtb3J5IGZvciBnbG9iYWwgc2NvcGUKCWxpc3QgaW1tZWRpYXRlbHkgd2hlbiBlbXB0eS4gIE1vdmUgY29kZSB0by4uLgoJKGZyZWVfbWVtKTogLi4uaGVyZS4gIENhbGxlZCBhcyBwYXJ0IG9mIF9fbGliY19zdWJmcmVlcmVzIGxpc3QuCgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogUHV0IGxfaW5pdGZpbmkgYXJyYXkgYmVmb3JlCglyX2xpc3QgYXJyYXkgaW4gYWxsb2NhdGVkIG1lbW9yeS4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IE9wdGltaXplIGFjY2VzcyB0byBsX2luaXRmaW5pIGxpc3QKCWFuZCByZW1vdmUgdXNlIG9mIHJfbGlzdC4KCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBVc2UgY29ycmVjdCBsaXN0IChsX2luaXRmaW5pKSB3aGVuCgljb21wdXRpbmcgbmV3IG9wZW5jb3VudHMuCgkqIGVsZi9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gbmVlZGVkdGVzdDMuCgkqIG5lZWRlZHRlc3QzLmM6IE5ldyBmaWxlLgoJKiBuZWVkZWRvYmo0LmM6IE5ldyBmaWxlLgoKCSogZWxmL25lZWRlZHRlc3QuYyAobWFpbik6IENvcnJlY3QgdGVzdHMgZm9yIGZhaWxpbmcgZGxvcGVuLgoKMjAwMC0xMC0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2RsLWxvb2t1cC5jIChhZGRfZGVwZW5kZW5jeSk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgai4KCjIwMDAtMTAtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFsbG9jL29ic3RhY2suYyAoX29ic3RhY2tfbmV3Y2h1bmspOiBDb3JyZWN0bHkgYWxpZ24gZmlyc3QgcmV0dXJuZWQKCWJsb2NrLgoJKiBtYWxsb2MvdHN0LW9ic3RhY2suYzogTmV3IGZpbGUuCglQYXRjaCBhbmQgdGVzdCBjYXNlIGJ5IEFsZXhhbmRyZSBEdXJldC1MdXR6IDxkdXJldF9nQGVwaXRhLmZyPi4KCSogbWFsbG9jL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtb2JzdGFjay4KCglDb21wbGV0ZSByZXZhbXAgb2YgdGhlIHJlZmVyZW5jZSBjb3VudGVyIGhhbmRsaW5nLgoJKiBpbmNsdWRlL2xpbmsuaCAoc3RydWN0IGxpbmtfbWFwKTogQWRkIGxfaWR4IGZpZWxkLgoJKiBlbGYvZGwtY2xvc2UuYzogSGFuZGxlIGRlY3JlbWVudGluZyBvZiByZWZlcmVuY2UgY291bnRlcnMgbW9yZQoJY29ycmVjdGx5LiBJZiBuZWNlc3NhcnkgZGVjcmVtZW50IHJlZmVyZW5jZSBjb3VudGVycyBvZiBkZXBlbmRlbmNpZXMKCW9mIGRlcGVuZGVuY2llcy4KCSogZWxmL2RsLWxvb2t1cC5jIChhZGRfZGVwZW5kZW5jeSk6IE9ubHkgaW5jcmVtZW50IHJlZmVyZW5jZSBjb3VudGVyCglvZiB0aGUgb2JqZWN0IGl0c2VsZiBhbmQgbm90IGFsc28gaXRzIGRlcGVuZGVuY2llcy4KCSogZWxmL2RsLW9wZW4uYzogSW5jcmVtZW50IHJlZmVyZW5jZSBjb3VudGVycyBoZXJlLgoJKiBlbGYvZGwtZGVwcy5jOiBSZW1vdmUgcmVmZXJlbmNlIGNvdW50ZXIgaGFuZGxpbmcgaGVyZS4KCSogZWxmL2RsLWxvYWQuYzogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmM6IEFkanVzdCBmb3IgX2RsX21hcF9kZXBzIG5vdCBoYW5kbGluZyByZWZlcmVuY2UgY291bnRlcnMuCgoJKiBlbGYvbG9hZHRlc3QuYzogUHJpbnQgbG9hZGVkIG9iamVjdHMgYXQgdGhlIGJlZ2lubmluZy4KCjIwMDAtMTAtMjQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmg6IFBhcnRseSByZXZlcnQgcGF0Y2ggZnJvbSAyMDAwLTEwLTE4LgoKMjAwMC0xMC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2xpbmsuaCAoc3RydWN0IGxpbmtfbWFwKTogTmV3IGJpdCBmaWVsZCBsX2Zha2VkLgoJKiBlbGYvZGwtZGVwcy5jOiBVc2UgbF9mYWtlZCBmaWVsZCBpbiBzdHJ1Y3QgbGlua19tYXAgaW5zdGVhZCBvZgoJdGhlIG1hZ2ljIGxfb3BlbmNvdW50PT0wLgoJKiBlbGYvZGwtbG9hZC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXZlcnNpb24uYzogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmM6IExpa2V3aXNlLgoKCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IEFkZCBhIGZldyBtb3JlIF9fYnVpbHRpbl9leHBlY3QuCgoyMDAwLTEwLTIzICBKaW0gTWV5ZXJpbmcgIDxtZXllcmluZ0Bhc2NlbmQuY29tPgoKCUFsbG93IHRoaXMgY29kZSB0byBiZSB1c2VkIG91dHNpZGUgb2YgZ2xpYmMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1yY2hyLmM6IFVuZGVmIF9fbWVtcmNociwgdG9vLgoJWyF3ZWFrX2FsaWFzXTogRGVmaW5lIF9fbWVtcmNociB0byBtZW1yY2hyLgoJR3VhcmQgd2Vha19hbGlhcyB1c2Ugd2l0aCBgI2lmZGVmIHdlYWtfYWxpYXMnLgoKMjAwMC0xMC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvdW5sb2FkLmM6IEdlbmVyYXRlIG1vcmUgZGVidWdnaW5nIG91dHB1dC4KCgkqIGVsZi9uZWVkZWR0ZXN0LmM6IE1ha2UgaXQgbW9yZSBjb21wbGljYXRlZC4KCSogZWxmL25lZWRlZHRlc3QyLmM6IE5ldyBmaWxlLgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIG5lZWRlZHRlc3QyLgoKCSogZWxmL2RsLXN5bS5jIChfZGxfc3ltKTogVXNlIGV4YWN0IGNoZWNrIGZvciBjYWxsZXIgUEMgaW4gcmFuZ2UKCW9mIERTTyBhZGRyZXNzIHNwYWNlLgoJKF9kbF92c3ltKTogTGlrZXdpc2UuCgoJKiBlbGYvZGwtc3ltLmMgKF9kbF9zeW0pOiBGb3IgUlRMRF9ERUZBVUxULCBzZWFyY2ggaW4gb2JqZWN0cwoJZ2xvYmFsIHNjb3BlIGlmIHdlIGNhbiBkZXRlcm1pbmUgaXQuCgoyMDAwLTEwLTIzICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3Jlc291cmNlLmggKFJMSU1JVF9MT0NLUyk6IEFkZGVkLgoJKFJMSU1JVF9OTElNSVRTKTogU3luYyB3aXRoIGtlcm5lbCBkZWZpbml0aW9uLgoJKFBSSU9fUFJPQ0VTUywgUFJJT19QR1JQLCBQUklPX1VTRVIpOiBBbHNvIGRlZmluZSBhcyBtYWNyb3MuCgoyMDAwLTEwLTIzICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlZC4KCjIwMDAtMTAtMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oIChSX0lBNjRfR1BSRUwzMk1TQiwgUl9JQTY0X0dQUkVMMzJMU0IpOiBOZXcgZGVmaW5pdGlvbnMuCgoyMDAwLTEwLTIyICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmMgKGJpZzVoa3Njc190b191Y3MpOiBBZGQgaXJyZXZlcnNpYmxlIG1hcHBpbmdzCglmb3IgMHg4QkY4LCAweEEyN0UuLjB4QTJBNy4KCSogaWNvbnZkYXRhL0JJRzVIS1NDUy5pcnJldmVyc2libGU6IE5ldyBmaWxlLgoKMjAwMC0xMC0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiB0aW1lem9uZS96ZHVtcC5jIChtYWluKTogc2V0bG9jYWxlIExDX0NUWVBFIGFzIHdlbGwgYXMgTENfTUVTU0FHRVMuCgkqIHRpbWV6b25lL3ppYy5jIChtYWluKTogTGlrZXdpc2UuCgoyMDAwLTEwLTIzICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBuc2NkL2Nvbm5lY3Rpb25zLmMgKGludmFsaWRhdGVfY2FjaGUpOiBEb24ndCBpbnZhbGlkYXRlIGEgY2FjaGUKCWlmIGl0IGlzIG5vdCBlbmFibGVkLgoKMjAwMC0xMC0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9zMzkwL2ZwdS9saWJtLXRlc3QtdWxwczogTmV3IHVscHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IEFkZCBmY250bDY0LgoJUGF0Y2ggYnkgUmFsZiBCYWVjaGxlIDxyYWxmQGdudS5vcmc+LgoKMjAwMC0xMC0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogU3BsaXQgb3V0IEVMRiBmaWxlCgl2ZXJpZmljYXRpb24gaW4gb3Blbl92ZXJpZnkuCgkob3Blbl92ZXJpZnkpOiBOZXcgZnVuY3Rpb24uICBDYWxsZWQgaW5zdGVhZCBvZiBvcGVuLiAgSWdub3JlcyB2YWxpZAoJZmlsZXMgZm9yIG90aGVyIGFyY2hpdGVjdHVyZXMuCgkob3Blbl9wYXRoKTogQ2FsbCBvcGVuX3ZlcmlmeSBpbnN0ZWFkIG9mIG9wZW4uCgkoX2RsX21hcF9vYmplY3QpOiBMaWtld2lzZS4KCVNvbWV3aGF0IGJhc2VkIG9uIGEgcGF0Y2ggYnkgRG9uIER1Z2dlciA8bjBhbm9AdmFsaW51eC5jb20+LgoKCSogaW8vcHdkLmMgKG1haW4pOiBUaGUgb3V0cHV0IHdhcyBtaXNzaW5nIGEgbmV3bGluZS4KCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jOiBNYWtlIEZOTV9MRUFESU5HX0RJUiBiZWhhdmUgYXMgR05VIHRhcgoJZXhwZWN0cyBpdC4gIFBhdGNoIGJ5IENvbGluIFdhdHNvbiA8cml2YS51Y2FtLm9yZz4uCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmlucHV0OiBBZGQgdGVzdCBjYXNlcyBmb3IgRk5NX0xFQURJTkdfRElSLgoKCSogZWxmL2RsLW9wZW4uYyAoYWRkX3RvX2dsb2JhbCk6IE5ldyBmdW5jdGlvbi4gIFNwbGl0IG91dCBmcm9tCglkbF9vcGVuX3dvcmtlci4KCShkbF9vcGVuX3dvcmtlcik6IENhbGwgYWRkX3RvX2dsb2JhbCBub3Qgb25seSBmb3IgbmV3IG9iamVjdHMsIGFsc28gZm9yCglwcmV2aW91c2x5IGxvYWRlZCBvYmplY3RzIHdoZW4gKG1vZGUgJiBSVExEX0dMT0JBTCkgYW5kIHRoZSBvYmplY3QKCXdhcyBub3QgeWV0IGluIHRoZSBnbG9iYWwgc2NvcGUuCgkqIGVsZi9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gbGF0ZWdsb2JhbC4KCSogZWxmL2xhdGVnbG9iYWwuYzogTmV3IGZpbGUuCgkqIGVsZi9sdGdsb2Jtb2QxLmM6IE5ldyBmaWxlLgoJKiBlbGYvbHRnbG9ibW9kMi5jOiBOZXcgZmlsZS4KCjIwMDAtMTAtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saW5rLmggKHN0cnVjdCBsaW5rX21hcCk6IEFkZCBsX3NvbmFtZV9hZGRlZCBiaXRmaWVsZC4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3QpOiBSZW1lbWJlciB3aGVuIHdlIGFkZGVkIHRoZQoJU09OQU1FIHRvIHRoZSBsX2xpYm5hbWUgbGlzdCBhbmQgZG9uJ3QgdHJ5IGl0IGFnYWluLgoKCSogZWxmL2RsLWNsb3NlLmM6IERlY3JlbWVudCBvcGVuY291bnQgZm9yIGFsbCBkZXBlbmRlbmNpZXMgd2hpY2ggY2FuCgliZSByZW1vdmVkIGV2ZW4gaWYgdGhlIG9iamVjdCBpcyBub3QgeWV0IHVubG9hZGVkLgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogSWYgZGVwZW5kZW5jeSBpcyBhbHJlYWR5IGluCgl0aGUgbGlzdCBkZWNyZW1lbnQgb3BlbmNvdW50IG9mIGFsbCBkZXBlbmRlbmNpZXMuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBJbmNyZW1lbnQgb2JqZWN0IG9mIG9iamVjdAoJYW5kIGFsbCBkZXBlbmRlbmNpZXMuCgkoX2RsX21hcF9vYmplY3QpOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvb2t1cC5jIChhZGRfZGVwZW5kZW5jeSk6IExpa2V3aXNlLgoKCSogZWxmL2xvYWR0ZXN0LmM6IEFkZCBkZWJ1ZyB3aGVuIHdpdGggbW9yZSBvdXRwdXQuCgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHVubG9hZDIuCgkqIGVsZi91bmxvYWQyLmM6IE5ldyBmaWxlLgoJKiBlbGYvdW5sb2FkMm1vZC5jOiBOZXcgZmlsZS4KCSogZWxmL3VubG9hZDJkZXAuYzogTmV3IGZpbGUuCgoJKiBpbnRsL2xpYmludGwuaCAobmdldHRleHQgbWFjcm8pOiBBZGQgbWlzc2luZyBwYXJhbWV0ZXIuCgkoZG5nZXR0ZXh0IG1hY3JvKTogTGlrZXdpc2UuCgoyMDAwLTEwLTE5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgbmVlZGVkdGVzdC5jLCBuZWVkZWRvYmoxLmMsCgluZWVkZWRvYmoyLmMgYW5kIG5lZWRlZG9iajMuYy4KCSh0ZXN0cyk6IEFkZCBuZWVkZWR0ZXN0LgoJKG1vZHVsZXMtbmFtZXMpOiBBZGQgbmVlZGVkb2JqMSwgbmVlZGVkb2JqMiBhbmQgbmVlZGVkb2JqMy4KCSgkKG9ianBmeCluZWVkZWRvYmoxLnNvKTogTmV3IHRhcmdldC4KCSgkKG9ianBmeCluZWVkZWRvYmoyLnNvKTogTGlrZXdpc2UuCgkoJChvYmpwZngpbmVlZGVkb2JqMy5zbyk6IExpa2V3aXNlLgoJKCQob2JqcGZ4KW5lZWRlZHRlc3QpOiBMaWtld2lzZS4KCSgkKG9ianBmeCluZWVkZWR0ZXN0Lm91dCk6IExpa2V3aXNlLgoJKiBlbGYvbmVlZGVkdGVzdC5jOiBOZXcuIEJhc2VkIG9uIHRoZSBidWcgcmVwb3J0IGZyb20KCUFsbGVuIEJhdWVyIDxreWxpeF9yZEBob3RtYWlsLmNvbT4uCgkqIGVsZi9uZWVkZWRvYmoxLmM6IExpa2V3aXNlLgoJKiBlbGYvbmVlZGVkb2JqMi5jOiBMaWtld2lzZS4KCSogZWxmL25lZWRlZG9iajMuYzogTGlrZXdpc2UuCgoyMDAwLTEwLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBQYXNzIHBvaW50ZXIgdG8gRUxGIGhlYWRlcgoJdG8gZWxmX21hY2hpbmVfbWF0Y2hlc19ob3N0LgoJKiBzeXNkZXBzL2FscGhhL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfbWF0Y2hlc19ob3N0KTogUGFyYW1ldGVyCglpcyBub3cgcG9pbnRlciB0byBFTEYgaGVhZGVyLgoJKiBzeXNkZXBzL2FybS9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9ocHBhL2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zaC9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCglQYXRjaCBieSBNYXJ0aW4gU2Nod2lkZWZza3N5IDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPi4KCjIwMDAtMTAtMjAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saW1pdHMuaDogSW5jbHVkZSBiaXRzL3dvcmRzaXplLmgsIHVzZSAjaWYgX19XT1JEU0laRSA9PSA2NAoJY2hlY2sgaW5zdGVhZCBvZiAjaWZkZWYgX19hbHBoYV9fLgoJKiBpbmNsdWRlL2JpdHMveG9wZW5fbGltLmggKFdPUkRfQklULCBMT05HX0JJVCk6IERvbid0IGNvdW50IG9uCglJTlRfTUFYLCBfX0lOVF9NQVhfXywgTE9OR19NQVggb3IgX19MT05HX01BWF9fIGJlaW5nIGRlZmluZWQgd2hlbgoJdGhpcyBpcyBpbmNsdWRlZC4KCjIwMDAtMTAtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvd29yZGV4cC10c3Quc2ggKHRlc3RvdXQpOiBQbGFjZSBvdXRwdXQgZmlsZSBpbiBidWlsZAoJZGlyZWN0b3J5LiAgUGF0Y2ggYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogUHJldHR5IHByaW50LgoKMjAwMC0xMC0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBoZXNpb2QvbnNzX2hlc2lvZC9oZXNpb2QtZ3JwLmMgKF9uc3NfaGVzaW9kX2luaXRncm91cHNfZHluKToKCUNvcnJlY3RseSBoYW5kbGUgbnVtZXJpYyBncm91cCBtZW1iZXIgaW5mb3JtYXRpb24uCglQYXRjaCBieSB0b21hc3dAY3MuaHVqaS5hYy5pbC4KCgkqIGhlc2lvZC9uc3NfaGVzaW9kL2hlc2lvZC1ncnAuYyAoX25zc19oZXNpb2RfaW5pdGdyb3Vwc19keW4pOgoJQ29tcGxldGUgdGVzdCBmb3Igc3RydG9sIG92ZXJmbG93LgoKMjAwMC0xMC0xOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZW1jdGwuYyAoX19uZXdfc2VtY3RsKTogUGFzcyB1bmlvbgoJc2VtdW4gYXMgNHRoIGFyZ3VtZW50IHRvIHNlbWN0bCBzeXNjYWxsLCBub3QgYWRkcmVzcyBvZiBpdC4KCjIwMDAtMTAtMTggIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzY2FsbHMubGlzdDogQWRkIGZjbnRsNjQoKSBzeXNjYWxsLgoKMjAwMC0xMC0xNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN0cmluZy9zdHJpbmcuaDogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIF9fc3RyY2FzZWNtcCBhbmQgX19zdHJjYXNlc3RyLgoJKiBpbmNsdWRlL3N0cmluZy5oOiBEZWNsYXJlIHRoZW0gaGVyZS4KCjIwMDAtMTAtMTggIFJhbGYgQmFlY2hsZSAgPHJhbGZAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3N5c2NhbGwuaDogSW5jbHVkZSA8YXNtL3VuaXN0ZC5oPi4KCjIwMDAtMTAtMTkgIEdlb2ZmcmV5IEtlYXRpbmcgIDxnZW9mZmtAY3lnbnVzLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEFkZCB2ZXJzaW9ucwoJb2YgdGhlIHVub3JkZXJlZCBjb21wYXJpc29uIGZ1bmN0aW9ucyB0aGF0IHVzZSB0aGUgR0NDIGJ1aWx0aW5zLgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuYyAoZGxfcmVsb2Nfb3ZlcmZsb3cpOiBOZXcgZnVuY3Rpb24uCgkoX19wcm9jZXNzX21hY2hpbmVfcmVsYSk6IFByaW50IHRoZSBhZGRyZXNzIG9mIGFuIG92ZXJmbG93aW5nCglyZWxvYy4KCjIwMDAtMTAtMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYzogQ29ycmVjdCBkZWZhdWx0IG1vdW50IHBvaW50CglpbiBjb21tZW50cy4KCShmcmVlaXQpOiBSZW1vdmUgdW5uZWNlc3NhcnkgdGVzdC4KCjIwMDAtMTAtMTggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKEVMRl9NSVBTX0dOVV9HT1QxX09LKTogTmV3LgoJKEVMRl9NQUNISU5FX0JFRk9SRV9SVExEX1JFTE9DKTogSGFuZGxlIG5ld2VyIGxpbmtlcnMuCgkoZWxmX21hY2hpbmVfcnVudGltZV9saW5rX21hcCk6IExpa2V3aXNlLgoJKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBMaWtld2lzZS4KCUhhbmRsZSBkeW5hbWljIGxpbmtlcidzIGxvY2FsIGdvdCBlbnRyaWVzLgoJUGF0Y2hlcyBieSBSYWxmIEJhZWNobGUgPHJhbGZAZ251Lm9yZz4uCgoyMDAwLTEwLTA5ICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGRzMi5wZy5nZGEucGw+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChfZGxfcnVudGltZV9yZXNvbHZlKTogRGVmaW5lICRzcCBhcwoJdGhlIGZyYW1lIHBvaW50ZXIuICBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgJGEwIGZvcgoJX19kbF9ydW50aW1lX3Jlc29sdmUoKS4gIERvIG5vdCBzYXZlICRzcCBpbiAkczAgYXMgaXQncwoJY2FsbGVlLXNhdmVkIGFueXdheS4KCjIwMDAtMTAtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlIGZvciBjaGFuZ2VzIGluCglsaWJtLXRlc3QuaW5jLgoKMjAwMC0xMC0xNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZSBmb3IgY2hhbmdlcyBpbgoJbGlibS10ZXN0LmluYy4KCjIwMDAtMTAtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3ByaW50Zl9mcGhleC5jIChQUklOVF9GUEhFWF9MT05HX0RPVUJMRSk6CglBZGQgbWlzc2luZyBiYWNrc2xhc2guCgoyMDAwLTEwLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoRExfRklORF9BUkdfQ09NUE9ORU5UUyk6IExpdHRsZSBjbGVhbnVwLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlIGZvciBjaGFuZ2VzIGluIGxpYm0tdGVzdC5pbmMuCgoyMDAwLTEwLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoTV9MT0dfU1FSVF9QSWwsIE1fTE9HXzJfU1FSVF9QSWwpOiBJbmNyZWFzZQoJcHJlY2lzaW9uLgoJKGFjb3NfdGVzdCwgYXNpbl90ZXh0LCBjZXhwX3Rlc3QsIGNvc190ZXN0LCBjcHJval90ZXN0LCBleHAxMF90ZXN0LAoJc2luX3Rlc3QsIHNpbmNvc190ZXN0LCBzcXJ0X3Rlc3QpOiBMaWtld2lzZS4gIEFkZCBMIHN1ZmZpeGVzIGFsc28KCXRvIHBhcmFtZXRlcnMuCgkoYWNvc2hfdGVzdCwgYXNpbmhfdGVzdCwgYXRhbjJfdGVzdCwgYXRhbmhfdGVzdCwgYXRhbl90ZXN0LCBjYWJzX3Rlc3QsCgljYWNvc2hfdGVzdCwgY2Fjb3NfdGVzdCwgY2FzaW5oX3Rlc3QsIGNhc2luX3Rlc3QsIGNhdGFuaF90ZXN0LAoJY2F0YW5fdGVzdCwgY2JydF90ZXN0LCBjY29zaF90ZXN0LCBjY29zX3Rlc3QsIGNsb2cxMF90ZXN0LCBjb3NoX3Rlc3QsCgljc2luaF90ZXN0LCBjc2luX3Rlc3QsIGNzcXJ0X3Rlc3QsIGN0YW5oX3Rlc3QsIGN0YW5fdGVzdCwgZXJmY190ZXN0LAoJZXJmX3Rlc3QsIGV4cDJfdGVzdCwgZXhwbTFfdGVzdCwgZXhwX3Rlc3QsIGZtb2RfdGVzdCwgaHlwb3RfdGVzdCwKCWowX3Rlc3QsIGoxX3Rlc3QsIGpuX3Rlc3QsIGxnYW1tYV90ZXN0LCBsbHJpbnRfdGVzdCwgbGxyb3VuZF90ZXN0LAoJbG9nMTBfdGVzdCwgbG9nMXBfdGVzdCwgbG9nMl90ZXN0LCBsb2dfdGVzdCwgbHJpbnRfdGVzdCwgbHJvdW5kX3Rlc3QsCgluZXh0YWZ0ZXJfdGVzdCwgbmV4dHRvd2FyZF90ZXN0LCBwb3dfdGVzdCwgcm91bmRfdGVzdCwgc2NhbGJfdGVzdCwKCXNpbmhfdGVzdCwgc3RhdGljIHZvaWQsIHRhbmhfdGVzdCwgdGFuX3Rlc3QsIHRnYW1tYV90ZXN0LCB5MF90ZXN0LAoJeTFfdGVzdCwgeW5fdGVzdCk6IEFkZCBMIHN1ZmZpeGVzIGFsc28gdG8gcGFyYW1ldGVycy4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3NfY2VpbGwuYyAoX19jZWlsbCk6IEZpeCBtYXNrLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc19mbG9vcmwuYyAoX19mbG9vcmwpOiBMaWtld2lzZS4KCSogc29mdC1mcC9vcC0yLmggKF9GUF9GUkFDX1NSU18yKTogRml4IGNvbXB1dGF0aW9uIG9mIHN0aWNreSBiaXQuCgoyMDAwLTEwLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWV6b25lL01ha2VmaWxlOiBEZWZpbmUgSEFWRV9HRVRURVhUIGZvciB6ZHVtcC5jLCB6aWMuYywKCWlhbGxvYy5jLCBhbmQgc2NoZWNrLmMuCgkqIG1hbGxvYy9vYnN0YWNrLmM6IEFsd2F5cyBpbmNsdWRlIDxsaWJpbnRsLmg+IGZvciBnbGliYy4KCSogcG9zaXgvZ2V0b3B0LmM6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgUGV0ciBWYW5kcm92ZWMgPFZBTkRST1ZFQHZjLmN2dXQuY3o+LgoKMjAwMC0xMC0xNSAgUGV0ZSBXeWNrb2ZmICA8cHdAb3NjLmVkdT4KCgkqIFJ1bGVzOiBEZWZpbmUgX0xJQkMgZHVyaW5nIGdlbmVyYXRpb24gb2YgYml0cy9zdGRpb19saW0uZC4KCjIwMDAtMTAtMTUgIFBldGUgV3lja29mZiAgPHB3QG9zYy5lZHU+CgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogSW52b2tlIG90aGVyIHNoZWxsIHNjcmlwdHMgdGhyb3VnaCAke1NIRUxMfS4KCSogaWNvbnZkYXRhL3RzdC10YWJsZS5zaDogTGlrZXdpc2UuCgoyMDAwLTEwLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1lcnJvci5jIChfZGxfc2lnbmFsX2Vycm9yKTogQWxsb2NhdGUgbWVtb3J5IGZvciBvYmpuYW1lCglhcyB3ZWxsLiAgUmVwb3J0ZWQgYnkgQWxleGFuZGVyIFYuIEx1a3lhbm92IDxsYXZAeWFycy5mcmVlLm5ldD4uCgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIGFsaWFzZXMgZm9yIFdpbmRvd3MgY2hhcnNldHMuCglQYXRjaCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoyMDAwLTEwLTEzICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogZWxmL2VsZi5oIChSX0lBNjRfUENSRUw2MEIpOiBBZGQgcmVsb2NhdGlvbi4KCjIwMDAtMTAtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9icmsuYzogQ2xlYW51cHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvdW1vdW50LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2JpdHMvc2lnYWN0aW9uLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2JpdHMvc2lnbnVtLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5cy91Y29udGV4dC5oOiBMaWtld2lzZS4KCjIwMDAtMTAtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChmcmV4cF90ZXN0KTogQWRkIEwgc3VmZml4IGFsc28gdG8gcGFyYW1ldGVycy4KCShoeXBvdF90ZXN0KTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvcHJpbnRmX2ZwaGV4LmM6IENvbXB1dGUgd2lkdGggb2YgZGVjaW1hbCBwb2ludAoJc3RyaW5nIGNvcnJlY3RseS4gIEhhbmRsZSBwYWRkaW5nIGNvcnJlY3RseS4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvcHJpbnRmX2ZwaGV4LmM6IFVzZSBzaXplb2YgaW4gX2l0b3dhIHBhcmFtZXRlcnMKCWNvcnJlY3RseS4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3ByaW50Zl9mcGhleC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvcHJpbnRmX2ZwaGV4LmM6IExpa2V3aXNlLgoKMjAwMC0xMC0xMiAgQWxhbiBNb2RyYSAgPGFsYW5AbGludXhjYXJlLmNvbS5hdT4KCgkqIEZBUS5pbjogQWRkIC0tc3RhcnQtZ3JvdXAgYW5kIC0tZW5kLWdyb3VwLgoKMjAwMC0xMC0xMiAgQWxhbiBNb2RyYSAgPGFsYW5AbGludXhjYXJlLmNvbS5hdT4KCgkqIG1hbGxvYy9tZW11c2FnZS5jOiBDb25kaXRpb25hbGl6ZSBzdGFjayB1c2FnZSBjYWxjdWxhdGlvbiBvbgoJc3RhY2sgZGlyZWN0aW9uLgoKMjAwMC0xMC0xMiAgQWxhbiBNb2RyYSAgPGFsYW5AbGludXhjYXJlLmNvbS5hdT4KCgkqIGNvbmZpZy5oLmluOiBBZGQgQVNNX0xJTkVfU0VQLgoJKiBjb25maWd1cmUuaW46IEFkZCB0ZXN0IGZvciBjb21tZW50IGFuZCBsaW5lIHNlcGFyYXRvcnMuCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmg6IERlZmluZSBhbmQgdXNlIEFTTV9MSU5FX1NFUCwgYW5kIGFkZCB0YWJzIHRvCglwbGFjYXRlIHNvbWUgaHBwYSBhc3NlbWJsZXJzLgoJKiBzeXNkZXBzL2hwcGEvc3lzZGVwLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dudS9zaWdsaXN0LmM6IEluc2VydCBcbiBhbmQgXHQgaW50byBpbmxpbmUgYXNtLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9lcnJsaXN0LmM6IExpa2V3aXNlLgoKMjAwMC0xMC0xMiAgRGF2aWQgSHVnZ2lucy1EYWluZXMgIDxkaGRAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlOiBJbmNsdWRlIDxiaXRzL2luaXRzcGluPiBpbgoJJChzeXNkZXBfaGVhZGVycykuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvaW5pdHNwaW4uaDogRHVtbXkgdmVyc2lvbiBmb3IKCW5vbi10aHJlYWRlZCBwbGF0Zm9ybXMuCgoyMDAwLTEwLTEyICBEYXZpZCBIdWdnaW5zLURhaW5lcyAgPGRoZEBsaW51eGNhcmUuY29tPgoKCSogY29uZmlndXJlLmluOiBBZGQgZGVmaW5pdGlvbnMgZm9yIGhwcGEuCgkqIGVsZi9lbGYuaDogQWRkIFBMQUJFTDMyIHJlbG9jYXRpb24gZm9yIGhwcGEgRUxGMzIsIGNvbW1lbnRzCglmb3IgSVBMVCBhbmQgRVBMVCByZWxvY2F0aW9ucy4KCSogc2hsaWItdmVyc2lvbnM6IFZlcnNpb24gc3ltYm9sIGRlZmluaXRpb25zIGZvciBocHBhLWxpbnV4LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IERlZmluZSAkYXJjaF9taW5pbXVtX2tlcm5lbAoJZm9yIGhwcGEuCgoyMDAwLTEwLTEyICBEYXZpZCBIdWdnaW5zLURhaW5lcyAgPGRoZEBsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9ocHBhL01ha2VmaWxlOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL1ZlcnNpb25zOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaHBwYS9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9fX2xvbmdqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9iaXRzL3NldGptcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZyYW1lLmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9ocHBhL2FkZF9uLnM6IERvbid0IHVzZSAlcjE5IChsaW5rYWdlIHRhYmxlIHBvaW50ZXIpLgoJKiBzeXNkZXBzL2hwcGEvc3ViX24uczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS9sc2hpZnQuczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS9yc2hpZnQuczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS91ZGl2X3Fybm5kLnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2hwcGEvaHBwYTEuMS9hZGRtdWxfMS5zOiBMaWtld2lzZS4KCSogc3lzZGVwcy9ocHBhL2hwcGExLjEvc3VibXVsXzEuczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS9ocHBhMS4xL211bF8xLnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2hwcGEvaHBwYTEuMS91ZGl2X3Fybm5kLnM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9ocHBhL2RsLW1hY2hpbmUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9kbC1mcHRyLmM6IE5ldyBmaWxlIChub3RlIHRoYXQgdGhpcyBpcyBhbG1vc3QKCWlkZW50aWNhbCB0byB0aGUgSUEtNjQgb25lKS4KCSogc3lzZGVwcy9ocHBhL2RsLWxvb2t1cGNmZy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9ocHBhL2RsLXN5bWFkZHIuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2hwcGEvZWxmL2luaXRmaW5pLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZWxmL3N0YXJ0LlM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9ocHBhL2ZwdS9iaXRzL2ZlbnYuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmNscmV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZlZGlzYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZlZW5hYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZlZ2V0ZW52LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZlZ2V0ZXhjZXB0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZlZ2V0cm91bmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmVob2xkZXhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmVzZXRlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmVzZXRyb3VuZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZXVwZGF0ZWVudi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZWdldGV4Y3B0ZmxnLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZyYWlzZWV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZzZXRleGNwdGZsZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mdGVzdGV4Y2VwdC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvTWFrZWZpbGU6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL1ZlcnNpb25zOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNjYWxscy5saXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNkZXAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzZGVwLmg6IE5ldyBmaWxlLgoKCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9mY250bC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL2lvY3Rscy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL21tYW4uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9zaWdhY3Rpb24uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9zaWdudW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYnJrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2Nsb25lLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3NvY2tldC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNjYWxsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3NldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9nZXRybGltaXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEva2VybmVsX3NpZ2FjdGlvbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9rZXJuZWxfc3RhdC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9tbWFwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3Byb2ZpbC1jb3VudGVyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3Byb2Nmcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS91Y29udGV4dC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS91bW91bnQuYzogTmV3IGZpbGUuCgoyMDAwLTEwLTEyICBBbGFuIE1vZHJhICA8YWxhbkBsaW51eGNhcmUuY29tLmF1PgoKCSogc3lzZGVwcy9ocHBhL2hwcGExLjEvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9tZW11c2FnZS5oOiBOZXcgZmlsZS4KCjIwMDAtMTAtMjggIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9WZXJzaW9uczogRXhwb3J0IGlvcGVybSwgaW9wbCwgaW5iLAoJaW53LCBpbmwsIF9pbmIsIF9pbncsIF9pbmwsIG91dGIsIG91dHcsIG91dGwsIF9vdXRiLCBfb3V0dywKCV9vdXRsLiAgUmVwb3J0ZWQgYnkgQmlsbCBOb3R0aW5naGFtLgoKMjAwMC0wNC0wNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmggKFRSQU1QT0xJTkVfVEVNUExBVEUpOiBTYXZlIGFuZAoJcmVzdG9yZSByZWdpc3RlciByOCBmb3IgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgc3RydWN0dXJlLgoKMjAwMC0xMC0xMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKE1fUElfNmwsIE1fRTJsLCBNX0UzbCwgTV8yX1NRUlRfUElsLAoJTV9TUVJUX1BJbCk6IEluY3JlYXNlIHByZWNpc2lvbi4KCShjYnJ0X3Rlc3QpOiBJZiBjYnJ0IGlzIG5vdCBpbXBsZW1lbnRlZCwgZG9uJ3QgdGVzdCBpdC4KCUFkZCBMIHN1ZmZpeCB0byBkb3VibGUgY29uc3RhbnRzIGluIHJlc3VsdHMgd2hpY2ggZGlmZmVyIGZyb20gdGhlaXIKCUwgc3VmZml4ZWQgY291bnRlcnBhcnRzLgoJKGV4cDEwX3Rlc3QsIGZtb2RfdGVzdCwgZnJleHBfdGVzdCwgaHlwb3RfdGVzdCwgc3FydF90ZXN0KTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgoyMDAwLTEwLTExICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluZXQvcmV4ZWMuYyAocmV4ZWNfYWYpOiBDb252ZXJ0IHJwb3J0IHRvIGhvc3Qgb3JkZXIgYmVmb3JlCglwYXNzaW5nIGl0IHRvIHNucHJpbnRmLgoKMjAwMC0xMC0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dudS9uZXRpbmV0L3RjcC5oOiBVc2UgdV9pbnRYWF90IHR5cGVzIGluc3RlYWQgb2YKCXVpbnRYWF90IHNpbmNlIHRoaXMgaXMgd2hhdCA8c3lzL3R5cGVzLmg+IGRlZmluZXMgYW5kIHdlIGluY2x1ZGUKCXRoaXMgaGVhZGVyLiAgUmVwb3J0ZWQgYnkgQmVybmhhcmQgUm9zZW5rcmFlbnplciA8YmVyb0ByZWRoYXQuZGU+LgoKCSogaW50bC9sb2NhbGVhbGlhcy5jIChyZWFkX2FsaWFzX2ZpbGUpOiBVcGRhdGUgc3RyaW5nIHBvaW50ZXJzCglpbiBtYXBbXSBpZiByZWFsbG9jKCkgY2hhbmdlZCB0aGUgdmFsdWVzLgoJUGF0Y2ggYnkgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4uCgoJKiBtYW51YWwvc3RkaW8udGV4aTogVXBkYXRlIHByaW50ZiBleHRlbnNpb24gZG9jdW1lbnRhdGlvbiBhZnRlcgoJeiBiZWNhbWUgYSB2YWxpZCBtb2RpZmllci4KCVBhdGNoIGJ5IEpvc2VwaCBTLiBNeWVycyA8anNtMjhAY2FtLmFjLnVrPi4KCgkqIHRpbWV6b25lL2FmcmljYTogVXBkYXRlIGZyb20gdHpjb2RlMjAwMGcgYW5kIHR6ZGF0YTIwMDBnLgoJKiB0aW1lem9uZS9hc2lhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvYXVzdHJhbGFzaWE6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9iYWNrd2FyZDogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2V1cm9wZTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2lzbzMxNjYudGFiOiBMaWtld2lzZS4KCSogdGltZXpvbmUvbm9ydGhhbWVyaWNhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvc291dGhhbWVyaWNhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvem9uZS50YWI6IExpa2V3aXNlLgoKMjAwMC0xMC0xNCAgR2VvZmZyZXkgS2VhdGluZyAgPGdlb2Zma0BjeWdudXMuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNjYWxscy5saXN0OiBBZGQgZmNudGwoKQoJc3lzY2FsbC4KCjIwMDAtMTAtMTMgIE1pY2hhZWwgRmVkcm93aXR6ICA8bWljaGFlbEBmZWRyb3dpdHouZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2FscGhhc29ydDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2ZjbnRsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2dldGRlbnRzNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvZ2V0cmxpbWl0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2dldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2dsb2I2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9sb2NrZjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL29sZGdldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3JlYWRkaXI2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9yZWFkZGlyNjRfci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zY2FuZGlyNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvc2V0cmxpbWl0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3ZlcnNpb25zb3J0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvRGlzdDogQWRkIG9sZGdldHJsaW1pdDY0LmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvTWFrZWZpbGU6IEFkZCBvbGRnZXRybGltaXQ2NC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9WZXJzaW9uczogRXhwb3J0IF9feHN0YXQ2NCwKCV9fZnhzdGF0NjQsIF9fbHhzdGF0NjQsIGFscGhhc29ydDY0LCBnbG9iNjQsIGdldHJsaW1pdCwgc2V0cmxpbWl0LAoJZ2V0cmxpbWl0NjQsIHJlYWRkaXI2NCwgcmVhZGRpcjY0X3IsIHNjYW5kaXI2NCwgdmVyc2lvbnNvcnQ2NCBhdAoJR0xJQkNfMi4yLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3N5c2NhbGxzLmxpc3Q6IEFkZCBvbGRnZXRybGltaXQsCglvbGRzZXRybGltaXQgZm9yIEdMSUJDXzIuMC4KCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmggKF9kbF9zdGFydF91c2VyKTogUGFzcyBjb3JyZWN0Cglhcmd1bWVudHMgdG8gX2RsX2luaXQuCgoyMDAwLTEwLTEzICBHZW9mZnJleSBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUgVUxQcyBmb3IgbXkgUGVudGl1bSBJSUkKCWJ1aWxkaW5nIHdpdGggdGhlIGRlZmF1bHQgb3B0aW9ucy4KCjIwMDAtMTAtMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChfZGxfbG9hZF9jYWNoZV9sb29rdXApOiBTZXQgY2FjaGUuCglQYXRjaCBieSBEZW5pcyBaYWl0c2V2IDx6enpAY2QtY2x1Yi5ydT4uCgoyMDAwLTEwLTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9zX25leHR0b3dhcmQuYyAoX19uZXh0dG93YXJkKTogSWYgeCA9PSB5LAoJcmV0dXJuIHkgbm90IHguCgkqIG1hbnVhbC9hcml0aC50ZXhpIChuZXh0YWZ0ZXIpOiBEb2N1bWVudCBpdC4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvc19uZXh0dG93YXJkLmM6IEZpeCBhIGNvbW1lbnQuCgoyMDAwLTEwLTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoVkVSU0lPTik6IEJ1bXAgdG8gMi4xLjk1LgoKCSogY29uZmlndXJlLmluOiBSZW1vdmUgd2FybmluZyBtZXNzYWdlLgoKCSogbnNjZC9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBuc2NkLXR5cGVzLmguCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBnY2NmcmFtZS5oLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvRGlzdDogQWRkIGllZWU3NTQuaC4KCSogc3lzZGVwcy9pYTY0L0Rpc3Q6IEFkZCBpZWVlNzU0LmguCgoyMDAwLTEwLTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9lbGYuaDogQWRkIGEgZmV3IHNlY3Rpb24tcmVsYXRlZCBzeW1ib2xzLgoKCSogaW5jbHVkZS9mZWF0dXJlcy5oIChfX1NURENfSVNPXzEwNjQ2X18pOiBTZXQgdG8gY29ycmVjdCBkYXRlLgoJUGF0Y2ggYnkgTWFya3VzIEt1aG4gPE1hcmt1cy5LdWhuQGNsLmNhbS5hYy51az4uCgoyMDAwLTEwLTA2ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvZnJhaXNlZXhjcHQuYyAoZmVyYWlzZWV4Y2VwdCk6IEltcGxlbWVudAoJb3ZlcmZsb3cgZ2VuZXJhdGlvbiBieSBhZGRpbmcgREJMX01BWCB0byBEQkxfTUFYIGluc3RlYWQgb2YKCXNldHRpbmcgdGhlIGJpdHMgbWFudWFsbHkgaW4gdGhlIGZwc3IgYW5kIGdlbmVyYXRpbmcgdGhlIGV4Y2VwdGlvbgoJd2l0aCBraWxsKCkgaWYgbmVjZXNzYXJ5LgoJKGZlcmFpc2VleGNlcHQpOiBJbXBsZW1lbnQgdW5kZXJmbG93IGJ5IGRpdmlkaW5nIERCTF9NSU4gYnkKCURCTF9NSU4gLSBzaW1pbGFyIHRvIHRoZSBvdmVyZmxvdyBjaGFuZ2UgZGVzY3JpYmVkIGFib3ZlLgoKMjAwMC0wOC0yNyAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9jbG9uZS5TOiBNYWtlIGl0IGEgZHVtbXkgYXMgY2xvbmUKCWlzIG5vdCBzdXBwb3J0ZWQgdW5kZXIgTGludXgvaWE2NCwgdXNlIGNsb25lMi4KCjIwMDAtMTAtMDYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWFsbG9jL21hbGxvYy5oIChfX1RIUk9XKTogRGVmaW5lIHRvIG5vdGhpbmcgaWYgbm90IGdjYy4KCSogbWlzYy9zeXMvY2RlZnMuaCAoX19USFJPVyk6IExpa2V3aXNlLgoKMjAwMC0xMC0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBOZXcgZmlsZS4KCjIwMDAtMTAtMDIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3VucnBjL3N2Y191ZHAuYyAoc3ZjdWRwX3JlY3YpOiBTZXQgbXNnX2NvbnRyb2xsZW4gdG8gYWxsCglyZW1haW5pbmcgeHBfcGFkIHNwYWNlLgoKMjAwMC0xMC0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogQ2hlY2sgaW1hcCdzIGxfZmxhZ3NfMSBmb3IKCURGXzFfTk9ERUxFVEUsIG5vdCBsaXN0W2ldJ3MuCgoyMDAwLTEwLTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9ldWMta3IuYyAoZXVja3JfZnJvbV91Y3M0KTogSGFuZGxlIFUyMGE5LgoJKEJPRFkgZnJvbSBkaXJlY3Rpb24pOiBNYXAgXHg1YyB0byBVMjBhOS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0VVQy1LUi4uVVRGODogQWRqdXN0IHRvIHRoaXMgY2hhbmdlLgoJKiBpY29udmRhdGEvRVVDLUtSLmlycmV2ZXJzaWJsZTogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBFVUMtS1IuaXJyZXZlcnNpYmxlLgoKCSogYXJncC9hcmdwLXBhcnNlLmMgKGFyZ3BfZGVmYXVsdF9hcmdwKTogU2V0IGxpYmMgYXMgbWVzc2FnZSBkb21haW4uCgkoYXJncF92ZXJzaW9uX2FyZ3ApOiBMaWtld2lzZS4KCjIwMDAtMTAtMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYyAoX0lPX3Zmc2NhbmYpOiBGb3IgWyBjb252ZXJzaW9uIGRvCglpbnB1dF9lcnJvcigpIGlmIEVPRiBpcyBzZWVuIGJlZm9yZSBwcm9jZXNzaW5nLgoJKiBzdGRpby1jb21tb24vdHN0c2NhbmYuYyAobWFpbik6IEFkZCB0ZXN0Y2FzZS4KCjIwMDAtMTAtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogYXJncC9hcmdwLWhlbHAuYzogTWFrZSBzdXJlIHdlIGdldCB0aGUgY29ycmVjdCBnZXR0ZXh0IGFuZAoJZGdldHRleHQgZGVmaW5pdGlvbnMuCgkqIGFyZ3AvYXJncC1wYXJzZS5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYyAoZ2V0X3N0cmluZyk6IEFsc28gY2xlYXIgd2lkZQoJc3RyaW5nIGluZm8gaWYgaWxsZWdhbF9zdHJpbmcuCgoyMDAwLTEwLTAzICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9iaXRzL3N0YXQuaDogTmV3IGZpbGUuCgoyMDAwLTEwLTAyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9uZXh0bW9kMS5jIChmYWlsaW5nX3J0bGRfbmV4dF91c2UpOiBFbnN1cmUgaXQgaXMgbm90IHRhaWwgY2FsbAoJb3B0aW1pemVkLgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2ZwdS9saWJtLXRlc3QtdWxwczogTmV3IGZpbGUuCgoyMDAwLTEwLTAyICBSYWxmIEJhZWNobGUgIDxyYWxmQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5cy90YXMuaDogQWRkIG1pc3NpbmcgLm1pcHMwIGF0IHRoZQoJZW5kIG9mIGlubGluZSBhc3NlbWJsZXIgY29kZS4KCjIwMDAtMTAtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9mZWF0dXJlcy5oIFtfX1VTRV9GSUxFX09GRlNFVCAmJiAhX19SRURJUkVDVF06IERlZmluZQoJX19VU0VfTEFSR0VGSUxFNjQgYW5kIF9fVVNFX0xBUkdFRklMRSB0byAxIGFuZCBub3Qgbm90aGluZy4KCjIwMDAtMTAtMDIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvZmNudGwuaDogU3luY2ggd2l0aCBMaW51eAoJMi40LjAtdGVzdDktcHJlOC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvcmVzb3VyY2UuaDogQWRkIFJMSU1JVF9MT0NLUy4KCjIwMDAtMTAtMDEgIFJhbGYgQmFlY2hsZSAgPHJhbGZAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBGaXggY29tcHV0YXRpb24gb2YgZW52cAoJYXJndW1lbnQgcGFzc2VkIHRvIF9kbF9pbml0LgoKMjAwMC0wOS0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAtZGlyLmg6IE5ldyBmaWxlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYzogTmV3IGZpbGUuCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmggKGxyX2NyZWF0ZSk6IE5ldyBkZWNsYXJhdGlvbi4KCSogbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYyAobHJfY3JlYXRlKTogTmV3IGZ1bmN0aW9uLCBzcGxpdCBvdXQKCWZyb20gbHJfb3Blbi4KCShscl9vcGVuKTogVGFpbGNhbGwgbHJfY3JlYXRlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmM6IEluY2x1ZGUgImNoYXJtYXAtZGlyLmgiLiBEb24ndCBpbmNsdWRlCgk8dW5pc3RkLmg+LgoJKHhzdHJkdXApOiBOZXcgZGVjbGFyYXRpb24uCgkobW9yZV9oZWxwKTogVXNlIHhzdHJkdXAgaW5zdGVhZCBvZiBzdHJkdXAuCgkod3JpdGVfbG9jYWxlcyk6IExpa2V3aXNlLiBXaGVuIGVuY291bnRlcmluZyBhIHN5bWJvbGljIGxpbmssIGNhbGwKCXN0YXQuCgkod3JpdGVfY2hhcm1hcHMpOiBTaW1wbGlmeSB1c2luZyB0aGUgY2hhcm1hcC1kaXIuaCBmdW5jdGlvbnMuCglVc2UgeHN0cmR1cCBpbnN0ZWFkIG9mIHN0cmR1cC4KCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYzogSW5jbHVkZSAiY2hhcm1hcC1kaXIuaCIuIERvbid0IGluY2x1ZGUKCTxkaXJlbnQuaD4gYW5kIDx1bmlzdGQuaD4uCgkoY21scl9vcGVuKTogTmV3IGZ1bmN0aW9uLgoJKGNoYXJtYXBfcmVhZCk6IFVzZSBjbWxyX29wZW4gaW5zdGVhZCBvZiBscl9vcGVuLiBTaW1wbGlmeSB1c2luZyB0aGUKCWNoYXJtYXAtZGlyLmggZnVuY3Rpb25zLgoJKiBsb2NhbGUvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgY2hhcm1hcC1kaXIuaC4KCShsaWItbW9kdWxlcyk6IEFkZCBjaGFybWFwLWRpci4KCShDRkxBR1MtY2hhcm1hcC1kaXIuYyk6IFNldCB0byAtV25vLXdyaXRlLXN0cmluZ3MsIGJlY2F1c2UgcG9zaXhfc3Bhd24KCXdhbnRzIGEgJ2NoYXIgKionLCBub3QgYSAnY29uc3QgY2hhciAqKicuCgkqIGluY2x1ZGUvc3Bhd24uaDogTmV3IGZpbGUuCgoyMDAwLTA5LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2luaXQuYzogSW5jbHVkZSAic3Bhd25faW50LmgiLgoJKF9fcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX3JlYWxsb2MpOiBGaXggc2Vjb25kIHJlYWxsb2MgYXJndW1lbnQuCgoyMDAwLTA5LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvY29uZmlnLmggKERFRkFVTFRfQ0hBUk1BUCk6IFNldCB0byBBTlNJX1gzLjQtMTk2OC4KCjIwMDAtMDktMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIHdjc21icy93Y3dpZHRoLmggKF9fY3R5cGUzMl93Y3R5cGUpOiBSZW1vdmUgZGVjbGFyYXRpb24uCgkoaW50ZXJuYWxfd2N3aWR0aCk6IFJlbW92ZSB0aGUgdGVzdHMgZm9yIEwnXDAnIGFuZCBpc3dwcmludC4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGZpbmRfaWR4KTogSWYgbWF4ID09IE5VTEwsIHJldHVybgoJYSBwb2ludGVyIHRvIHRoZSB0YWJsZSBlbnRyeSwgd2l0aG91dCBleHRlbmRpbmcgdGhlIHRhYmxlLgoJKGFsbG9jYXRlX2FycmF5cyk6IFNldCBhIHdpZHRoIG9ubHkgZm9yIGNoYXJhY3RlcnMgd2l0aCAncHJpbnQnCglwcm9wZXJ0eS4gU2V0IHRoZSB3aWR0aCBvZiBMJ1wwJyB0byAwLgoJKiBsb2NhbGUvQy1jdHlwZS5jIChfbmxfQ19MQ19DVFlQRV93aWR0aCk6IFVzZSBkZWZhdWx0IGVudHJ5IDB4ZmYKCWZvciB1bnByaW50YWJsZSBjaGFyYWN0ZXJzLiAgU2V0IGVudHJ5IG9mIE5VTCB0byAwLgoKMjAwMC0wOS0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYyAoY2hhcm1hcF9yZWFkKTogQXZvaWQgcmVkdW5kYW50IHRlc3RzLgoJRG9uJ3QgZm9yZ2V0IHRvIGNhbGwgY2xvc2VkaXIgd2hlbiB0aGUgZmlsZW5hbWUgd2FzIGZvdW5kIGFzIGEKCWNvZGVfc2V0X25hbWUuCgoyMDAwLTA5LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udi5oIChfX2djb252X3RyYW5zX2NvbnRleHRfZmN0KTogQ2hhbmdlIGZpcnN0IGFyZ3VtZW50J3MKCXR5cGUgdG8gJ3ZvaWQgKicuCgoyMDAwLTA5LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAod2N0eXBlX3RhYmxlX2luaXQpOiBJbml0aWFsaXplIGxldmVsMSwKCWxldmVsMiwgYW5kIGxldmVsMyBhcyB3ZWxsLgoJKHdjdHlwZV90YWJsZV9hZGQpOiBSZW1vdmUgYSBmZXcgdW5uZWNlc3NhcnkgY29uZGl0aW9uYWxzLgoKMjAwMC0wOS0zMCAgUmFsZiBCYWVjaGxlICA8cmFsZkBnbnUub3JnPgoKCSogd2NzbWJzL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4wKTogQWRkIF9fbWJydG93Yy4KCjIwMDAtMDktMzAgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3NfY2VpbGwuYyAoX19jZWlsbCk6IEhhbmRsZSBvdmVyZmxvdy4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvc19mbG9vcmwuYyAoX19mbG9vcmwpOiBMaWtld2lzZS4KCjIwMDAtMDktMjkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoaW5pdF9tYXhfZXJyb3IpOiBDbGVhciBhbGwgZXhjZXB0aW9ucwoJYmVmb3JlIHN0YXJ0aW5nIHRlc3QuCgkoYWNvc2hfdGVzdCk6IFRlc3QgZm9yIGV4aXN0ZW5jZSBvZiBmdW5jdGlvbi4KCShhc2luaF90ZXN0KTogTGlrZXdpc2UuCgkoYXRhbjJfdGVzdCk6IExpa2V3aXNlLgoJKGNhYnNfdGVzdCk6IExpa2V3aXNlLgoJKGNhY29zX3Rlc3QpOiBMaWtld2lzZS4KCShjYWNvc2hfdGVzdCk6IExpa2V3aXNlLgoJKGNhc2luX3Rlc3QpOiBMaWtld2lzZS4KCShjYXNpbmhfdGVzdCk6IExpa2V3aXNlLgoJKGNhdGFuX3Rlc3QpOiBMaWtld2lzZS4KCShjYXRhbmhfdGVzdCk6IExpa2V3aXNlLgoJKGNjb3NfdGVzdCk6IExpa2V3aXNlLgoJKGNjb3NoX3Rlc3QpOiBMaWtld2lzZS4KCShjZXhwX3Rlc3QpOiBMaWtld2lzZS4KCShjbG9nX3Rlc3QpOiBMaWtld2lzZS4KCShjbG9nMTBfdGVzdCk6IExpa2V3aXNlLgoJKGNvc2hfdGVzdCk6IExpa2V3aXNlLgoJKGNwb3dfdGVzdCk6IExpa2V3aXNlLgoJKGNzaW5fdGVzdCk6IExpa2V3aXNlLgoJKGNzaW5oX3Rlc3QpOiBMaWtld2lzZS4KCShjc3FydF90ZXN0KTogTGlrZXdpc2UuCgkoY3Rhbl90ZXN0KTogTGlrZXdpc2UuCgkoY3RhbmhfdGVzdCk6IExpa2V3aXNlLgoJKGZtb2RfdGVzdCk6IExpa2V3aXNlLgoJKGh5cG90X3Rlc3QpOiBMaWtld2lzZS4KCShyZW1haW5kZXJfdGVzdCk6IExpa2V3aXNlLgoJKHJlbXF1b190ZXN0KTogTGlrZXdpc2UuCgkoc2luY29zX3Rlc3QpOiBMaWtld2lzZS4KCShzaW5oX3Rlc3QpOiBMaWtld2lzZS4KCSh0YW5oX3Rlc3QpOiBMaWtld2lzZS4KCjIwMDAtMDktMjkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWE2NC9pZWVlNzU0Lmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9tYXRoX2xkYmwuaDogTmV3IGZpbGUuCgoyMDAwLTA5LTMwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9sZGNvbmZpZy5oIChGTEFHX1g4NjY0X0xJQjY0KTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3JlYWRlbGZsaWIuYzogTmV3IGZpbGUuCgoyMDAwLTA5LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9jaGFyc2V0LnRleGk6IENvcnJlY3Qgbm90YXRpb25zLCByZWZlcmVuY2UgdG8gQzkwIGFtZCAxLAoJYW5kIHNvbWUgb3RoZXIgZGV0YWlscy4KCSogbWFudWFsL2N0eXBlLnRleGk6IExpa2V3aXNlLgoJUGF0Y2hlcyBieSBNYXJrdXMgS3VobiA8TWFya3VzLkt1aG5AY2wuY2FtLmFjLnVrPi4KCjIwMDAtMDktMzAgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvc19mcmV4cGYuYzogTWFrZSBpdCBhbGlhc2luZyBzYWZlLgoKMjAwMC0wOS0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvY2FjaGUuYyAoc2F2ZV9jYWNoZSk6IEluaXRpYWxpemUgX191bnVzZWQgZmllbGQgaW4gbmV3IGNhY2hlCglhcyB3ZWxsIHRvIGdldCByZXByb2R1Y2FibGUgcmVzdWx0cy4KCjIwMDAtMDktMjkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZWQgZm9yIGxvbmcgZG91YmxlLgoKMjAwMC0wOS0yOSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9pYTY0L2JpdHMvaHVnZV92YWwuaDogTmV3IGZpbGUuCgoyMDAwLTA5LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9jaHJvb3RfY2Fub24uYzogRG9uJ3QgcmVwb3J0IGEgZmFpbHVyZSBpZiB0aGUgbGFzdCBwYXRoCgljb21wb25lbnQgaXMgbm90IGF2YWlsYWJsZS4KCSogZWxmL2xkY29uZmlnLmMgKHBhcnNlX2NvbmYpOiBVc2UgY2Fub25pY2FsaXplZCBuYW1lIHdoZW4gcmVwb3J0aW5nCgllcnJvci4KCgkqIGVsZi9jYWNoZS5jIChwcmludF9jYWNoZSk6IFVzZSBzdGF0NjQgaW5zdGVhZCBvZiBzdGF0LgoJKiBlbGYvbGRjb25maWcuYyAoY2hyb290X3N0YXQpOiBMaWtld2lzZS4KCShjcmVhdGVfbGlua3MpOiBMaWtld2lzZS4KCShtYW51YWxfbGluayk6IExpa2V3aXNlLgoJKHNlYXJjaF9kaXIpOiBMaWtld2lzZS4KCSogZWxmL3JlYWRsaWIuYyAocHJvY2Vzc19maWxlKTogTGlrZXdpc2UuCgoJKiBNYWtlZmlsZSAoaW5zdGFsbCk6IFNldCBMQ19BTEwgYW5kIExBTkdVQUdFIHRvIEMgYmVmb3JlIHJ1bm5pbmcKCWxkY29uZmlnLgoKMjAwMC0wOS0yOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvY2hyb290X2Nhbm9uLmM6IE5ldyBmaWxlLgoJKiBlbGYvTWFrZWZpbGU6IEJ1aWxkIGFuZCBkaXN0cmlidXRlIGl0LgoJKiBlbGYvbGRjb25maWcuaCAocHJvY2Vzc19maWxlKTogQWRkIHJlYWxfZmlsZV9uYW1lIGFyZ3VtZW50LgoJKGNocm9vdF9jYW5vbik6IEFkZCBwcm90b3R5cGUuCgkqIGVsZi9sZGNvbmZpZy5jIChjYWNoZV9maWxlKTogUmVtb3ZlIGNvbnN0LgoJKGNocm9vdF9zdGF0KTogTmV3LgoJKGNyZWF0ZV9saW5rcyk6IEFkZCByZWFsX3BhdGggYXJndW1lbnQuCglJZiBvcHRfY2hyb290LCBtYWludGFpbiBib3RoIHJlYWwgYW5kIGdpdmVuIGZpbGVuYW1lcy4KCShtYW51YWxfbGluayk6IExpa2V3aXNlLgoJKHNlYXJjaF9kaXIpOiBMaWtld2lzZS4KCShwYXJzZV9jb25mKTogSWYgb3B0X2Nocm9vdCwgdXNlIGNocm9vdF9jYW5vbiB0byBmaW5kIHRoZSByZWFsCgljb25maWcgZmlsZS4KCShtYWluKTogRm9yIC1yLCB0cnkgdG8gdXNlIGNocm9vdCwgaWYgaXQgZmFpbHMsIGxlYXZlIG9wdF9jaHJvb3Qgc2V0CglhbmQgdXNlIGNocm9vdF9jYW5vbiB3aGVyZSBhcHByb3ByaWF0ZSB0byBkbyB0aGUgc2FtZSBhcyBpZiBjaHJvb3QKCXN1Y2NlZWRlZC4KCSogZWxmL3JlYWRsaWIuYyAocHJvY2Vzc19maWxlKTogQWRkIHJlYWxfZmlsZV9uYW1lIGFyZ3VtZW50LCBwYXNzIGl0Cgl0byBmb3Blbi4KCjIwMDAtMDktMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9jb21wbGV4LmggKF9Db21wbGV4KTogV2UgY2FuIGJlIG1vcmUgc3BlY2lmaWMgd2hlbiBfQ29tcGxleAoJaXMgZGVmaW5lZCBieSB0aGUgY29tcGlsZXIuCgoyMDAwLTA5LTI5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2RsLWNhY2hlLmg6IE5ldy4KCgkqIGVsZi9jYWNoZS5jIChwcmludF9lbnRyeSk6IFJlcGxhY2UgNjRiaXQgd2l0aCBJQS02NCBpbiBtZXNzYWdlCglmb3IgeDg2L0lBLTY0IGJpbmFyeS4KCjIwMDAtMDktMjkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3JlYWRlbGZsaWIuYzogTmV3IGZpbGUuCgoJKiBlbGYvY2FjaGUuYyAocHJpbnRfZW50cnkpOiBDaGVjayBmb3IgRkxBR19JQTY0X0xJQjY0LgoKMjAwMC0wOS0yOSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9kbC1zeXNkZXAuYyAoX19hY2Nlc3MpOiBOZXcgZnVuY3Rpb24uICBEdW1teQoJaW1wbGVtZW50YXRpb24gZm9yIHVzZSBieSB0aGUgZHluYW1pYyBsaW5rZXIuCgoyMDAwLTA5LTI5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYml0cy9mY250bC5oOiBQcm90ZWN0IEROXyogYnkKCV9fVVNFX0dOVS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgoyMDAwLTA5LTI5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYml0cy9mY250bC5oOiBTeW5jaCB3aXRoIExpbnV4CgkyLjQuMC10ZXN0OS1wcmU3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCjIwMDAtMDktMjkgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNkZXAuUyAoX19pYTY0X3N5c2NhbGwpOiBDbGVhbnVwLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNkZXAuaCAoQ0FMTF9NQ09VTlQpOiBJbXBsZW1lbnQuCgoyMDAwLTA2LTEwICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2V0am1wLlM6IEZpeCBpdCBzbyBpdCBhY3R1YWxseQoJd29ya3M6IGNhbGwgdG8gX19zaWdqbXBfc2F2ZSBtdXN0IGJlIGRvbmUgdW5jb25kaXRpb25hbGx5IHRvCgllbnN1cmUgam1wX2J1ZiBpcyBpbml0aWFsaXplZCBwcm9wZXJseS4KCjIwMDAtMDktMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy9mY250bC5oOiBTeW5jaCB3aXRoIExpbnV4CgkyLjQuMC10ZXN0OS1wcmU3LgoKMjAwMC0wOS0yOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBuc2NkL25zY2QtY2xpZW50LmggKE5TQ0RfVkVSU0lPTik6IEJ1bXAgdG8gMy4KCVVzZSBuc2NkX3NzaXplX3Qgd2hlcmUgYXBwcm9wcmlhdGUuCgkqIG5zY2QvbnNjZF9nZXRoc3Rfci5jIChuc2NkX2dldGhzdF9yKTogVXNlIG5zY2Rfc3NpemVfdCBpbnN0ZWFkIG9mCglzc2l6ZV90IHdoZXJlIGFwcHJvcHJpYXRlLgoJKiBuc2NkL25zY2RfZ2V0Z3Jfci5jIChuc2NkX2dldGdyX3IpOiBMaWtld2lzZS4KCSogbnNjZC9oc3RjYWNoZS5jIChjYWNoZV9hZGRoc3QpOiBMaWtld2lzZS4KCSogbnNjZC9ncnBjYWNoZS5jIChjYWNoZV9hZGRncik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbnNjZC10eXBlcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9uc2NkLXR5cGVzLmg6IE5ldyBmaWxlLgoKMjAwMC0wOS0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmV0L2dldG5hbWVpbmZvLmMgKG5ybF9kb21haW5uYW1lKTogVXNlIHN5bWJvbGljIGNvbnN0YW50CglJTkFERFJfTE9PUEJBQ0sgaW5zdGVhZCBvZiBudW1lcmljIHZhbHVlLgoKMjAwMC0wOS0yOCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IEFkanVzdCBfZGxfYXJndiBieQoJX2RsX3NraXBfYXJncy4KCShFTEZfTUFDSElORV9GSVhFRF9TVEFDSyk6IFJlbW92ZWQuCgoyMDAwLTA5LTI5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2xvY2tmNjQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2ZjbnRsLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9sb2NrZjY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9mY250bC5jOiBOZXcgZmlsZS4KCjIwMDAtMDktMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBIYW5kbGUgdW5hbGlnbmVkCglyZWxvY2F0aW9uIGFsc28gZm9yIFJfQUxQSEFfUkVMQVRJVkUuCglSZXBvcnRlZCBieSBJdmFuIEtva3NoYXlza3kgPGlua0BqdXJhc3NpYy5wYXJrLm1zdS5ydT4uCgoyMDAwLTA5LTE4ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYzogT3V0c2lkZSBsaWJjLCB1c2UgbG9jYWwgdmFyaWFibGUgbmFtZXMgdGhhdCBkb24ndAoJY2xhc2ggd2l0aCB0aG9zZSBpbiBsaWJjLgoJKiBpbnRsL2JpbmR0ZXh0ZG9tLmM6IExpa2V3aXNlLgoJKiBpbnRsL3RleHRkb21haW4uYzogTGlrZXdpc2UuCgoyMDAwLTA5LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9sZGNvbmZpZy5jIChwYXJzZV9jb25mKTogUHJpbnQgZnVsbCBuYW1lIG9mIGNvbmZpZyBkaXIKCWluY2x1ZGluZyBjaHJvb3QoKSBwYXRoLgoJKG1haW4pOiBSZW1vdmUgdHJhaWxpbmcgLyBmcm9tIG9wdF9jaHJvb3Qgc3RyaW5nLgoKCSogaW5jbHVkZS9mZWF0dXJlcy5oOiBDb3JyZWN0IGRlc2NyaXB0aW9uIG9mIHdoYXQgaGFwcGVucyBpZiBubwoJKl9TT1VSQ0UgbWFjcm8gaXMgZGVmaW5lZC4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAoZ2FpaF9pbmV0KTogSGFuZGxlIHJlcS0+YWlfc29ja3R5cGUKCWNvcnJlY3RseS4gIFJlcG9ydGVkIGJ5IEZlbGl4IHZvbiBMZWl0bmVyIDxsZWl0bmVyQGNvbnZlcmdlbmNlLmRlPi4KCjIwMDAtMDktMTkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIG1hbGxvYy9tYWxsb2MuaCAoX19tZW1hbGlnbl9ob29rKTogRml4IHRoZSBwYXJhbWV0ZXIgb3JkZXIuCgkqIG1hbGxvYy9tYWxsb2MuYyAoX19tZW1hbGlnbl9ob29rKTogTGlrZXdpc2UuCgkobWVtYWxpZ25faG9va19pbmkpOiBMaWtld2lzZS4KCjIwMDAtMDktMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3RtcG5hbS5jICh0bXBuYW0pOiBPcHRpbWl6ZSBhIGJpdC4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAoZ2FpaF9sb2NhbCk6IERvbid0IHVzZSB0bXBuYW0sIHVzZQoJdW5kZXJseWluZyBmdW5jdGlvbnMgZGlyZWN0bHkuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3Jlc291cmNlLmg6IEFkZCBSTElNSVRfTE9DS1MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9iaXRzL3Jlc291cmNlLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvcmVzb3VyY2UuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9yZXNvdXJjZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL3Jlc291cmNlLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9iaXRzL3Jlc291cmNlLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3Jlc291cmNlLmg6IExpa2V3aXNlLgoKMjAwMC0wOS0yOCAgRnJhbnogU2lybCAgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IEFkZCBfX0FTU1VNRV9JUEM2NCwgb25seQoJZGVmaW5lIGl0IGZvciBwb3dlcnBjIGZvciBrZXJuZWwgPj0gMi40LjAuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21zZ2N0bC5jOiBUZXN0IGZvciBfX0FTU1VNRV9JUEM2NCwgbm90CglfX0FTU1VNRV8zMkJJVFVJRFMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NlbWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvaXBjLmg6IFN5bmMgd2l0aCBrZXJuZWwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9tc3EuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9zZW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9zaG0uaDogTmV3IGZpbGUuCgoyMDAwLTA5LTI4ICBNYXJ0aW4gU2Nod2lkZWZza3N5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvczM5MC9hdG9taWNpdHkuaDogRml4IGNvbXBhcmVfYW5kX3N3YXAuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvZmNudGwuaAoJKEZfR0VUTEs2NCxGX1NFVExLNjQsRl9TRVRMS1c2NCk6IFVzZSB2YWx1ZXMgZnJvbSAyLjQuMC10ZXN0OC4KCjIwMDAtMDktMjggIERlbmlzIEpvc2VwaCBCYXJyb3cgIDxkamJhcnJvd0BkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXMvcHJvY2ZzLmg6IFVzZSBkZWZpbml0aW9ucyBmcm9tCgl1Y29udGV4dC5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5cy91Y29udGV4dC5oOiBGaXggdWNvbnRleHQgc3RydWN0dXJlLgoKMjAwMC0wOS0yNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIG1hdGgvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBFeHBsaWNpdGx5IGFkZCB0aGUgbG9uZyBkb3VibGUgdGVzdAoJc291cmNlcywgdG8gZ2V0IHRoZW0gaW5jbHVkZWQgZXZlbiBpZiBsb25nIGRvdWJsZSBpcyBub3Qgc3VwcG9ydGVkLgoKMjAwMC0wOS0yNyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBlbGYvc29pbml0LmMgKHN0cnVjdCBvYmplY3QpOiBNb3ZlIGRlZmluaXRpb24gdG8gZ2NjZnJhbWUuaCBhbmQKCWluY2x1ZGUgaXQuICBQcm9ibGVtIGlkZW50aWZpZWQgYnkgSEogTHUuCgoJKiBzeXNkZXBzL2lhNjQvZ2NjZnJhbWUuaDogTmV3IGZpbGUuICBpYTY0IHNwZWNpZmljIHZlcnNpb24gb2YKCXN0cnVjdCBvYmplY3QgdG8gYmUgc2VhcmNoZWQgZm9yIGZyYW1lIHVud2luZCBpbmZvLgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2NjZnJhbWUuaDogTmV3IGZpbGUuICBHZW5lcmljIHZlcnNpb24gb2YKCXN0cnVjdCBvYmplY3QgdG8gYmUgc2VhcmNoZWQgZm9yIGZyYW1lIHVud2luZCBpbmZvLgoKMjAwMC0wOS0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvZXJybm8udGV4aTogQ29ycmVjdCBlcnJvciB0ZXh0IGZvciBFTlhJTy4KCVJlcG9ydGVkIGJ5IEr2cmcgU2NoaWxsaW5nIDxzY2hpbGxpbmdAZm9rdXMuZ21kLmRlPi4KCjIwMDAtMDktMjcgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9mc2V0ZXhjcHRmbGcuYyAoZmVzZXRleGNlcHRmbGFnKTogU2V0IHRoZQoJZXhjZXB0aW9uIHN0YXR1cyBiaXRzIHJhdGhlciB0aGFuIHRoZSBleGNlcHRpb24gZGlzYWJsZSBiaXRzLgoJRG9uJ3QgaW5jbHVkZSBtYXRoLmguCgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZnZXRleGNwdGZsZy5jIChmZWdldGV4Y2VwdGZsYWcpOiBSZXBvcnQgdGhlCglzdGF0dXMgb2YgZXhjZXB0aW9ucyBjdXJyZW50bHkgcmFpc2VkIHJhdGhlciB0aGFuIHdoaWNoIGV4Y2VwdGlvbnMKCWFyZSBlbmFibGVkLgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9mY2xyZXhjcHQuYyAoZmVjbGVhcmV4Y2VwdCk6IFR5cGVjYXNlIHRvIGZlbnZfdAoJcmF0aGVyIHRoYW4gdW5zaWduZWQgbG9uZyBpbnQuCgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZlZGlzYmx4Y3B0LmMgKGZlZGlzYWJsZWV4Y2VwdCk6IE9ubHkgZGlzYWJsZQoJdGhlIGV4Y2VwdGlvbnMgYWN0dWFsbHkgcmVxdWVzdGVkIGJ5IHRoZSBjYWxsZXIgYW5kIG5vdCBqdXN0CglkaXNhYmxlIGFsbCBleGNlcHRpb25zLgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9mZWVuYWJseGNwdC5jIChmZWVuYWJsZWV4Y2VwdCk6IEV4Y2VwdGlvbnMgb24KCXRoZSBpYTY0IGFyZSBlbmFibGVkIGJ5IGNsZWFyaW5nIHRoZSByZXNwZWN0aXZlIGJpdHMgaW4gdGhlIGZwc3IsCglub3Qgc2V0dGluZyB0aGVtLgoKCSogc3lzZGVwcy9pYTY0L2JpdHMvZmVudi5oOiB0eXBlZGVmIGZleGNlcHRfdCBhbmQgZmVudl90IHRvCgl1bnNpZ25lZCBsb25nIGludCByYXRoZXIgdGhhbiB1bnNpZ25lZCBsb25nIHRvIGJlIGNvbnNpc3RlbnQgd2l0aAoJdGhlIGNvZGluZyBjb252ZW50aW9ucy4KCjIwMDAtMDktMjAgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmVzZXRlbnYuYyAoZmVzZXRlbnYpOiBVc2UgZmVudl90IGluc3RlYWQgb2YKCXVuc2lnbmVkIGxvbmcgaW50LgoJKiBzeXNkZXBzL2lhNjQvZnB1L2Zlc2V0cm91bmQuYyAoZmVzZXRyb3VuZCk6IExpa2V3aXNlLgoKMjAwMC0wOS0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdHJpbmcvYml0cy9zdHJpbmcyLmg6IFVuaWZ5ICNpZiB1c2FnZS4KCjIwMDAtMDktMjcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWF0aC90ZXN0LWZlbnYuYyAoZmVleGNwX21hc2tfdGVzdCk6IElmIGVuYWJsaW5nIGFsbCBleGNlcHRpb25zCglhbmQgZGlzYWJsaW5nIHVuZGVyZmxvdyBvciBvdmVyZmxvdywgZGlzYWJsZSBpbmV4YWN0IGFzIHdlbGwuCgoyMDAwLTA5LTI2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dudS9uZXRpbmV0L3RjcC5oOiBBZGQgdGNwX2luZm8gZGVmaW5lcyBhbmQgdHlwZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvbW91bnQuaCAoZW51bSk6IE5ldyBmbGFnIE1TX0JJTkQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvZmNudGwuaCAoRl9TRVRMS1c2NCwKCUZfR0VUTEs2NCwgRl9TRVRMSzY0KTogVXBkYXRlIGZyb20gTGludXgtMi40LjAtdGVzdDktcHJlNC4KCgkqIGVsZi9sZGNvbmZpZy5jIChzZWFyY2hfZGlyKTogQWxsb3cgdW5saW1pdGVkIHBhdGggbGVuZ3RoLgoJKGNyZWF0ZV9saW5rcyk6IExpa2V3aXNlLgoKMjAwMC0wOS0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC90c3QtZGlyLmM6IFRlc3QgYSBmZXcgZXJyb3IgY2FzZXMgb2YgY2hkaXIuCgoyMDAwLTA5LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvbWF0aF9wcml2YXRlLmg6IERvbid0IGFkZCBsb25nIGRvdWJsZSBwcm90b3R5cGVzIGlmCglOT19MT05HX0RPVUJMRSBpcyBkZWZpbmVkLgoKCSogc3lzZGVwcy91bml4L2kzODYvaTU4Ni9jbG9ja19uYW5vc2xlZXAuYyAoQ0xPQ0tfUCk6IFJlbW92ZQoJQ0xPQ0tfTU9OT1RPTklDLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHRpbWUuYyAoRVhUUkFfQ0xPQ0tfQ0FTRVMpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2kzODYvaTU4Ni9jbG9ja19nZXRyZXMuYyAoRVhUUkFfQ0xPQ0tfQ0FTRVMpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IFJlbW92ZSBDTE9DS19NT05PVE9OSUMuCgoyMDAwLTA5LTI2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9iaXRzL2VuZGlhbi5oOiBSZW1vdmUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9pZWVlNzU0Lmg6IE5ldy4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2JpdHMvZW5kaWFuLmg6IE1vdmUuLi4KCSogc3lzZGVwcy9zcGFyYy9iaXRzL2VuZGlhbi5oOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL2Nsb25lLlMgKF9fY2xvbmUpOiBPcHRpbWl6ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9jbG9uZS5TIChfX2Nsb25lKTogQ2hlY2sKCSVvMSwgbm90ICVvMCB0byBzZWUgaWYgd2UncmUgcGFyZW50IG9yIGNoaWxkLiAgT3B0aW1pemUuCgoyMDAwLTA5LTI2ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZm9yay5TOiBOZXcgZmlsZSAoYmFzZWQgb24gY29kZQoJYnkgSGFucyBCb2VobSkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvdmZvcmsuUzogTmV3IGZpbGUgKGJhc2VkIG9uCgljb2RlIGJ5IEhhbnMgQm9laG0pLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2ZvcmsuYzogRGVsZXRlZCAob2Jzb2xldGVkIGJ5IGZvcmsuUykuCgoyMDAwLTA5LTIwICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L3ByaW50Zl9mcGhleC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGlibS10ZXN0LXVscHM6IE5ldyBmaWxlLgoKMjAwMC0wOS0xNyAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9pYTY0L01ha2VmaWxlIChsb25nLWRvdWJsZS1mY3RzKTogTmV3LiAgRGVmaW5lZCBhcyB5ZXMuCgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfaXNpbmZsLmM6IE5ldyBmaWxlLiAgSW5jbHVkZQoJc3lzZGVwcy9pMzg2L2ZwdS9zX2lzaW5mbC5jLgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzbmFubC5jOiBOZXcgZmlsZS4gIEluY2x1ZGUKCXN5c2RlcHMvaTM4Ni9mcHUvc19pc25hbmwuYy4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19uZXh0YWZ0ZXJsLmM6IE5ldyBmaWxlLiAgSW5jbHVkZQoJc3lzZGVwcy9pMzg2L2ZwdS9zX25leHRhZnRlcmwuYy4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvYml0cy9tYXRoZGVmLmg6IE5ldyBmaWxlLiAgQ29waWVkIGZyb20KCXN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoZGVmLmguCgoyMDAwLTA5LTE2ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoRExfVU5NQVApOiBOZXcuICBEZWZpbmVkIGlmCglETF9VTk1BUF9JU19TUEVDSUFMIGlzIG5vdCBkZWZpbmVkLgoKCSogc3lzZGVwcy9pYTY0L2RsLWxvb2t1cGNmZy5oIChETF9VTk1BUF9JU19TUEVDSUFMKTogRGVmaW5lZC4KCShfZGxfdW5tYXApOiBOZXcgcHJvdG90eXBlLgoJKERMX1VOTUFQKTogTmV3LiAgRGVmaW5lZCBhcyBfZGxfdW5tYXAuCgoJKiBzeXNkZXBzL2lhNjQvVmVyc2lvbnMgW2xkXSAoR0xJQkNfMi4yKTogQWRkIF9kbF91bm1hcC4KCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBSZXBsYWNlIF9fbXVubWFwIHdpdGggRExfVU5NQVAuCgoyMDAwLTA5LTE2ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoRExfTE9PS1VQX0FERFJFU1MpOiBOZXcuIERlZmluZWQKCWlmIEVMRl9GVU5DVElPTl9QVFJfSVNfU1BFQ0lBTCBpcyBub3QgZGVmaW5lZC4KCgkqIHN5c2RlcHMvaWE2NC9kbC1sb29rdXBjZmcuaCAoX2RsX2xvb2t1cF9hZGRyZXNzKTogTmV3Cglwcm90b3R5cGUuCgkoRExfTE9PS1VQX0FERFJFU1MpOiBOZXcuIERlZmluZWQgYXMgX2RsX2xvb2t1cF9hZGRyZXNzLgoKCSogc3lzZGVwcy9pYTY0L2RsLWZwdHIuYyAoX2RsX2xvb2t1cF9hZGRyZXNzKTogTmV3LiBMb29rdXAKCXRoZSBtZW1vcnkgbG9jYXRpb24gb2YgYSBmdW5jdGlvbiBmcm9tIGEgZnVuY3Rpb24gZGVzY3JpcHRvci4KCgkqIHN5c2RlcHMvaWE2NC9WZXJzaW9ucyBbbGRdIChHTElCQ18yLjIpOiBBZGQgX2RsX2xvb2t1cF9hZGRyZXNzLgoKCSogZWxmL2RsLWFkZHIuYyAoX2RsX2FkZHIpOiBVc2UgRExfTE9PS1VQX0FERFJFU1MgdG8gZ2V0IHRoZQoJbWVtb3J5IGxvY2F0aW9uLgoKMjAwMC0wOS0xNCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2lhNjQvYml0cy9ieXRlc3dhcC5oIChfX2Jzd2FwXzE2KTogRG9uJ3QgbWFyayBvdXRwdXQKCXZhcmlhYmxlIGFzIGlucHV0IGFyZ3VtZW50LgoJKF9fYnN3YXBfMzIpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmg6IEFkZCBtaXNzaW5nIHN0b3AgYml0IGluIFJUTERfU1RBUlQoKQoJLSBmb3VuZCBieSBKaW0gV2lsc29uIDx3aWxzb25AY3lnbnVzLmNvbT4KCjIwMDAtMDktMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RyaW5nL3N0cnhmcm0uYzogT25seSByZXF1aXJlIGFsaWdubWVudCBvbiBfX2FsaWdub2ZfXyAoaW50MzJfdCkKCWluc3RlYWQgb2YgNC4KCjIwMDAtMDktMjYgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX291dHB1dCk6IE9ubHkgcmVxdWlyZQoJYWxpZ25tZW50IG9uIF9fYWxpZ25vZl9fIChpbnQzMl90KSBpbnN0ZWFkIG9mIDQuCgkqIGxvY2FsZS9sb2FkbG9jYWxlLmMgKF9ubF9sb2FkX2xvY2FsZSk6IExpa2V3aXNlLgoJKiBzdHJpbmcvc3RyY29sbC5jOiBMaWtld2lzZS4KCjIwMDAtMDktMjYgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9hdGFuMmwuYyAoX19pZWVlNzU0X2F0YW4ybCk6IEFkZAoJcGFyZW50aGVzZXMgYXJvdW5kIGFyaXRobWV0aWMgdXNlZCBpbiB8IHN0YXRlbWVudCB0byBraWxsIGNvbXBpbGVyCgl3YXJuaW5nLgoKCSogbWF0aC9tYXRoX3ByaXZhdGUuaDogQWRkIHByb3RvdHlwZSBmb3IgX19maW5pdGVsLgoJKF9faWxvZ2JsKTogTGlrZXdpc2UuCgkoX19pc2luZmwpOiBMaWtld2lzZS4KCShfX2lzbmFubCk6IExpa2V3aXNlLgoJKF9fYXRhbmwpOiBMaWtld2lzZS4KCShfX2NvcHlzaWdubCk6IExpa2V3aXNlLgoJKF9fZXhwbTFsKTogTGlrZXdpc2UuCgkoX19mbG9vcmwpOiBMaWtld2lzZS4KCShfX2ZyZXhwbCk6IExpa2V3aXNlLgoJKF9fbGRleHBsKTogTGlrZXdpc2UuCgkoX19sb2cxcGwpOiBMaWtld2lzZS4KCShfX25hbmwpOiBMaWtld2lzZS4KCShfX3JpbnRsKTogTGlrZXdpc2UuCgkoX19zY2FsYm5sKTogTGlrZXdpc2UuCgkoX19zcXJ0bCk6IExpa2V3aXNlLgoJKGZhYnNsKTogTGlrZXdpc2UuCgkoX19zaW5jb3NsKTogTGlrZXdpc2UuCgoyMDAwLTA5LTI2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL2ZwdS9saWJtLXRlc3QtdWxwczogTmV3IGZpbGUKCjIwMDAtMDktMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xhbmdpbmZvLmggKF9fbmxfbGFuZ2luZm9fbCk6IEFkZCBwcm90b3R5cGUuCgoyMDAwLTA5LTI2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtaXNjL21rc3RlbXA2NC5jOiBOZXcgZmlsZS4KCSogbWlzYy9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgbWtzdGVtcDY0LgoJKiBzdGRsaWIvc3RkbGliLmg6IEFkZCBwcm90b3R5cGUgYW5kIHJlZGlyZWN0aW9uIG1hZ2ljLgoJKiBtaXNjL1ZlcnNpb25zOiBBZGQgbWtzdGVtcDY0LgoKMjAwMC0wOS0yNiAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogbnNjZC9kYmdfbG9nLmMgKGRiZ19sb2cpOiBBZGQgbWlzc2luZyBmb3JtYXQgc3RyaW5nLgoKMjAwMC0wOS0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjYXRnZXRzL2NhdGdldHMuYyAoY2F0b3Blbik6IFVzZSBnZXRlbnYgaW5zdGVhZCBvZiBfX3NlY3VyZV9nZXRlbnYKCXNpbmNlIHdlIGZpbHRlciBvdXQgdGhlIHZhcmlhYmxlIG9uY2UuCgkqIGljb252L2djb252X2NvbmYuYyAoX19nY29udl9nZXRfcGF0aCk6IExpa2V3aXNlLgoJKiBsb2NhbGUvbmV3bG9jYWxlLmMgKF9fbmV3bG9jYWxlKTogTGlrZXdpc2UuCgkqIGxvY2FsZS9zZXRsb2NhbGUuYyAoc2V0bG9jYWxlKTogTGlrZXdpc2UuCgkqIG1hbGxvYy9tYWxsb2MuYyAocHRtYWxsb2NfaW5pdCk6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2hjb25mLmMgKF9yZXNfaGNvbmZfaW5pdCk6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2luaXQuYyAoX19yZXNfdmluaXQpOiBMaWtld2lzZS4KCSogdGltZS90emZpbGUuYyAoX190emZpbGVfcmVhZCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdW5zZWN2YXJzLmg6IE5ldyBmaWxlLgoJKiBlbGYvZGwtc3VwcG9ydC5jIChub25fZHluYW1pY19pbml0KTogVXNlIGl0IGhlcmUgdG8gcmVtb3ZlIHZhcmlhYmxlcy4KCSogZWxmL3J0bGQuYyAocHJvY2Vzc19lbnZ2YXJzKTogTGlrZXdpc2UuCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCB1bnNlY3ZhcnMuaC4KCgkqIG1pc2MvZGFlbW9uLmMgKGRhZW1vbik6IEZhaWwgaWYgIW5vY2xvc2UgYW5kIHdlIGNhbm5vdCBvcGVuIHRoZQoJcmVhbCAvZGV2L251bGwgZGV2aWNlLgoKCSogc3lzZGVwcy9nZW5lcmljL2NoZWNrX2Zkcy5jOiBJbmNsdWRlIGRldmljZS1ucnMuaC4KCSogc3lzZGVwcy9nZW5lcmljL2RldmljZS1ucnMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RldmljZS1ucnMuaDogTmV3IGZpbGUuCgkqIG1pc2MvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZGV2aWNlLW5ycy5oLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0aG9zdGlkLmMgKHNldGhvc3RpZCk6IFVzZSBPX1RSVU5DIHRvCglyZW1vdmUgcG9zc2libGUgZ2FyYmFnZSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLgoKMjAwMC0wOS0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdG1wbmFtX3IuYzogV2FybiBhYm91dCBpbnNlY3VyZSB0bXBuYW1fci4KCSogc3RkaW8tY29tbW9uL3RtcG5hbS5jOiBXYXJuIGFib3V0IGluc2VjdXJlIHRtcG5hbS4KCSogc3RkaW8tY29tbW9uL3RlbXBuYW0uYzogV2FybiBhYm91dCBpbnNlY3VyZSB0ZW1wbmFtLgoJKiBtaXNjL21rdGVtcC5jOiBXYXJuIGFib3V0IGluc2VjdXJlIG1rdGVtcC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9jaGVja19mZHMuYzogQ2hlY2sgdGhhdCBmaWxlIG9wZW5lZCBpcyByZWFsbHkKCS9kZXYvbnVsbC4KCSogcG9zaXgvd29yZGV4cC5jIChleGVjX2NvbW1fY2hpbGQpOiBMaWtld2lzZS4KCgkqIGVsZi9ydGxkLmMgKHByb2Nlc3NfZW52dmFycyk6IE9wZW4gZGVidWcgb3V0cHV0IGZpbGUgd2l0aCBPX05PRk9MTE9XLgoKCSogbG9jYWxlL01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBubF9sYW5naW5mb19sLgoJKiBsb2NhbGUvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIpOiBBZGQgX19ubF9sYW5naW5mb19sLgoJKiBsb2NhbGUvbmxfbGFuZ2luZm9fbC5jOiBOZXcgZmlsZS4KCSogbG9jYWxlL25sX2xhbmdpbmZvLmM6IEFsbG93IHVzZSBvZiBmaWxlIGZvciBfX25sX2xhbmdpbmZvX2wKCWRlZmluaXRpb24uCgoyMDAwLTA5LTIzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvZ2JrLmMgKFVTRV9QUklWQVRFX0FSRUEpOiBEZWZpbmUgdG8gMC4KCShfX2dia190b191Y3MpOiBDb25kaXRpb25hbGl6ZSBwcml2YXRlIGFyZWEgbWFwcGluZ3MuCgkoX19nYmtfZnJvbV91Y3M0X3RhYjkpOiBMaWtld2lzZS4KCShCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9HQks6IERvbid0IHVzZSBjaGFyYWN0ZXJzIG5vdCB5ZXQgaW4gVW5pY29kZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0dCSy4uVVRGLTg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogRW5hYmxlIEdCSyB0ZXN0LgoKMjAwMC0wOS0yMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2diay5jIChfX2dia190b191Y3MpOiBTd2FwIFUrMjAxNCBhbmQgVSsyMDE1LgoJKF9fZ2JrX2Zyb21fdWNzNF90YWI0KTogU3dhcCBlbnRyaWVzIGZvciBVKzIwMTQgYW5kIFUrMjAxNS4KCShCT0RZIGZvciBGUk9NX0xPT1ApOiBSZWplY3QgaW5wdXQgPiAweEZFQTAsIGF2b2lkcyBvdXQtb2YtYm91bmRzCglhcnJheSBhY2Nlc3MuCgkqIGljb252ZGF0YS9nYmdiay5jIChCT0RZIGZvciBGUk9NX0xPT1ApOiBNYXAgMHhBODQ0IHRvIDB4QTFBQS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0dCSy4uVVRGODogU3dhcCBVKzIwMTQgYW5kIFUrMjAxNS4KCjIwMDAtMDktMjMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9qb2hhYi5jIChmaW5hbF90b191Y3MpOiBGaXggdHlwb3MuCgkoamFtb19mcm9tX3Vjc190YWJsZSk6IExpa2V3aXNlLgoJKEJPRFkgZm9yIEZST01fTE9PUCk6IE1hcCAweDVjIHRvIFUrMjBBOS4gUmVqZWN0IHJhbmdlcwoJMHhEOUU2Li4weEQ5RkUgYW5kIDB4REVGMi4uMHhERUZFLgoJKEJPRFkgZm9yIFRPX0xPT1ApOiBNYXAgVSsyMEE5IHRvIDB4NWMuIERvbid0IHByb2R1Y2UgdmFsdWVzIGluCgl0aGUgcmFuZ2UgMHhEOUU2Li4weEQ5RkUuCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBFbmFibGUgSk9IQUIgdGVzdGluZy4KCjIwMDAtMDktMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfY29uZi5jIChfX2djb252X2dldF9wYXRoKTogRml4IHByb2JsZW0gd2l0aCByZWxhdGl2ZQoJR0NPTlZfUEFUSC4KCjIwMDAtMDktMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vZ2Vub3BzLmMgKF9JT19kb2FsbG9jYnVmKTogRG9uJ3QgdXNlIHNpbmdsZSBieXRlIGJ1ZmZlciBpZgoJc3RyZWFtIGlzIGluIHdpZGUgbW9kZS4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIChidWZmZXJlZF92ZnByaW50Zik6IE9yaWVudCBzdHJlYW0uCgoyMDAwLTA5LTIxICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24tZXh0LmMgKEVNSVRfU0hJRlRfVE9fSU5JVCk6IFNoaWZ0IF9fY291bnQKCWJ5IDMsIG5vdCAyLgoJKElOSVRfUEFSQU1TLCBVUERBVEVfUEFSQU1TKTogTGlrZXdpc2UuCgoyMDAwLTA5LTIxICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jIChfX3Zmc2NhbmYsIF9JT192ZnNjYW5mKTogRml4IGJ1Z3MgaW4KCXJlYWxsb2NhdGlvbiBsb2dpYyBmb3IgTUFMTE9DICglYXMsICVhUyBmb3JtYXRzKS4KCjIwMDAtMDktMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmMgKHByb2Nlc3NfYXJnKTogSGFuZGxlICVoaG4uCglBZGQgbWlzc2luZyBjYXNlIGluIHZhX2FyZyBoYW5kbGluZyBmb3IgbnVtYmVycy4KCSogc3RkaW8tY29tbW9uL3RzdC1wcmludGYuYyAobWFpbik6IEFkZCB0ZXN0cyBmb3IgJWhodSBhbmQgJWhobgoJaGFuZGxpbmcuCgkqIHN0ZGlvL3RzdC1wcmludGYuc2g6IEFkanVzdCBleHBlY3RlZCByZXN1bHRzLgoJUmVwb3J0ZWQgYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKMjAwMC0wOS0yMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IFJlamVjdCAweDgwLgoJKEJPRFkgZm9yIFRPX0xPT1ApOiBDbGVhciBiaXQgNyB3aGVuIG91dHB1dHRpbmcgSVNPLTg4NTktMSB1cHBlciBoYWxmCgljaGFyYWN0ZXJzLgoJKiBpY29udmRhdGEvZ2VuLThiaXQtZ2FwLTEuc2g6IFJlY29nbml6ZSBsb3dlcmNhc2UgaGV4YWRlY2ltYWwgZGlnaXRzCglhcyBlcXVpdmFsZW50IHRvIHVwcGVyY2FzZSBoZXhhZGVjaW1hbCBkaWdpdHMuCgoyMDAwLTA5LTIwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvdGVzdGRhdGEvRVVDLUtSLi5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0VVQy1UVzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9FVUMtVFcuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvRVVDLUpQOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0VVQy1KUC4uVVRGODogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JU08tMjAyMi1KUDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JU08tMjAyMi1KUC4uVVRGODogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JU08tMjAyMi1KUC0yOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lTTy0yMDIyLUpQLTIuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTIwMjItS1I6IEFkZCBhIGZldyBtb3JlIGxpbmVzLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTIwMjItS1IuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTIwMjItQ046IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTIwMjItQ04uLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTIwMjItQ04tRVhUOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lTTy0yMDIyLUNOLUVYVC4uVVRGODogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9URVNUUzogRW5hYmxlIHRlc3RzIGZvciBJU08tMjAyMi1KUCwgSVNPLTIwMjItSlAtMiwKCUlTTy0yMDIyLUNOLCBJU08tMjAyMi1DTi1FWFQsIEVVQy1KUCwgRVVDLVRXLgoKMjAwMC0wOS0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2xkY29uZmlnLmMgKGFkZF9kaXIpOiBNb3ZlIGxvZ2ljIHRvIGFkZCBlbnRyeSB0byBsaXN0IHRvIG5ldwoJZnVuY3Rpb24gYWRkX3NpbmdsZV9kaXIuCgkoYWRkX3NpbmdsZV9kaXIpOiBOZXcgZnVuY3Rpb24uCgkoc2VhcmNoX2Rpcik6IFVzZSBhZGRfc2luZ2xlX2RpciBpbnN0ZWFkIG9mIHJlY3Vyc2luZy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5oOiBJbmNsdWRlIHN0ZGludC5oLgoJKHN0cnVjdCBmaWxlX2VudHJ5X25ldyk6IFVzZSBmaXhlZCBzaXplcyBmb3IgaW50ZXJvcGVyYWJpbGl0eQoJYmV0d2VlbiAzMmJpdCBhbmQgNjRiaXQgc3lzdGVtcywgYWRkIF9fdW51c2VkIHRvIG1ha2UgYWxpZ25tZW50CglleHBsaWNpdC4KCShDQUNIRV9WRVJTSU9OKTogSW5jcmVtZW50LgoJKHN0cnVjdCBjYWNoZV9maWxlX25ldyk6IFVzZSBmaXhlZCBzaXplcywgYWRkIG9uZSBtb3JlIHVudXNlZAoJZW50cnkgdG8gbWFrZSBhbGlnbm1lbnQgZXhwbGljaXQuCgoyMDAwLTA5LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9sZGNvbmZpZy5jIChzZWFyY2hfZGlyKTogTWFrZSBtb3JlIHVzZSBvZiBkX3R5cGUgaW5mb3JtYXRpb24uCgoyMDAwLTA5LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGYtcGFyc2UuaCAocGFyc2Vfb25lX3NwZWMpOiBDbGVhcgoJc3BlYy0+aW5mby5pMThuLiAgUGF0Y2ggYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKMjAwMC0wOS0xOCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL3Bvc2l4X29wdC5oIChfUE9TSVhfU1lOQ0hST05JWkVEX0lPKToKCSN1bmRlZiBzaW5jZSB3ZSBkb24ndCBoYXZlIG1zeW5jLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy90aW1lLmg6IChDTE9DS1NfUEVSX1NFQyk6IE1ha2UgYSBsb25nIGludAoJY29uc3RhbnQgc2luY2UgdGhhdCBpcyB3aGF0IGNsb2NrX3QgaXMuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvYml0cy90aW1lLmg6IExpa2V3aXNlLgoKMjAwMC0wOS0xMSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvZ2V0bG9hZGF2Zy5jIChnZXRsb2FkYXZnKTogRGl2aWRlIGluc3RlYWQgb2YKCW11bHRpcGx5IGJ5IExPQURfU0NBTEUuCgoyMDAwLTA5LTIyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGNyeXB0L2NyeXB0LmggKGNyeXB0LCBzZXRrZXksIGVuY3J5cHQpOiBBZGQgX19USFJPVy4KCShjcnlwdF9yLCBzZXRrZXlfciwgZW5jcnlwdF9yKTogTGlrZXdpc2UuCgoyMDAwLTA5LTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvcmVwZXJ0b2lyZS5jIChyZXBlcnRvaXJlbWFwX2hhc2gpOiBEb24ndCBzcGVjaWZ5CglhcnJheSBzaXplLgoKCSogc3lzZGVwcy9hbHBoYS9mcHUvbGlibS10ZXN0LXVscHM6IE5ldyBmaWxlLgoJRnJvbSBDaHJpc3RpYW4gSXNlbGkgPGNocmlzQGx1ZHdpZy1hbHBoYS51bmlsLmNoPi4KCjIwMDAtMDktMjEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoYXRhbl90ZXN0KTogVGVzdCBmb3IgZXhpc3RlbmNlIG9mIGZ1bmN0aW9uLgoJKGV4cG0xX3Rlc3QpOiBMaWtld2lzZS4KCShhY29zX3Rlc3QpOiBMaWtld2lzZS4KCShhc2luX3Rlc3QpOiBMaWtld2lzZS4KCShleHBfdGVzdCk6IExpa2V3aXNlLgoJKGxvZzEwX3Rlc3QpOiBMaWtld2lzZS4KCShsb2dfdGVzdCk6IExpa2V3aXNlLgoJKHBvd190ZXN0KTogTGlrZXdpc2UuCgkoc3FydF90ZXN0KTogTGlrZXdpc2UuCgkoY29zX3Rlc3QpOiBMaWtld2lzZS4KCShzaW5fdGVzdCk6IExpa2V3aXNlLgoJKHRhbl90ZXN0KTogTGlrZXdpc2UuCgkobG9nMXBfdGVzdCk6IExpa2V3aXNlLgoJKGxvZzJfdGVzdCk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogVHdlYWsgc29tZSB2YWx1ZXMgZm9yIEs2LgoKCSogbGliaW8vb2xkaW9mc2V0cG9zNjQuYzogRml4IGFsaWFzIG5hbWVzLgoKMjAwMC0wOS0yMSAgTWFydGluIEJ1Y2hob2x6ICA8bWFydGluQHhlbWFjcy5vcmc+CgoJKiBtYW51YWwvdGVybWluYWwudGV4aSAoQWxsb2NhdGlvbik6IFNhbXBsZSBjb2RlIGNvcnJlY3Rpb24uCgoyMDAwLTA5LTIwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGdlbmVyYXRlZCk6IEFkZCB0c3QtdGFibGVzLm91dC4KCgkqIGludGwvTWFrZWZpbGUJKGdlbmVyYXRlZCk6IEFkZCB0ZXN0IG91dHB1dC4KCjIwMDAtMDktMTkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN1bnJwYy9jbG50X3NpbXAuYyAoY2FsbHJwYyk6IEZpeCB3cml0ZSBiZXlvbmQgZW5kIG9mIGJ1ZmZlci4KCVJlcG9ydGVkIGJ5IEplbnMtVXdlIE1hZ2VyIDxqdW1AaGVsaW9zLmRlPi4KCjIwMDAtMDktMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdmVyc2lvbi5oIChWRVJTSU9OKTogQnVtcCB0byAyLjEuOTQuCgoJKiBzeXNkZXBzL21pcHMvRGlzdDogQWRkIGZwdS9mZW52X2xpYmMuaC4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvRGlzdDogQWRkIHFfYWRkLmMuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL0Rpc3Q6IEFkZCBxcF9hZGQuYy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9EaXN0OiBBZGQgbmV0L3JvdXRlLmguCgoJKiBtYWxsb2MvbXRyYWNlLmMgKG10cmFjZSk6IE1hcmsgc3RyZWFtIGFzIGNsb3NlIG9uIGV4ZWMuCgoyMDAwLTA5LTE3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvdXRmLTE2LmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBSZWplY3QgVUNTLTQgaW5wdXQgaW4gdGhlCglyYW5nZSAweEQ4MDAuLjB4REZGRi4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKEJPRFkgZm9yIEZST01fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAodWNzMl9pbnRlcm5hbF9sb29wKTogTGlrZXdpc2UuCgkoaW50ZXJuYWxfdWNzMl9sb29wKTogTGlrZXdpc2UuCgkodWNzMnJldmVyc2VfaW50ZXJuYWxfbG9vcCk6IExpa2V3aXNlLgoJKGludGVybmFsX3VjczJyZXZlcnNlX2xvb3ApOiBMaWtld2lzZS4KCjIwMDAtMDktMTcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS91dGYtMTYuYyAoZ2NvbnZfaW5pdCk6IEFkZCBtaXNzaW5nIHNsYXNoZXMgdG8gZW5jb2RpbmcKCW5hbWVzLgoKMjAwMC0wOS0xNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL3RzdC10YWJsZS1mcm9tLmMgKG1haW4pOiBGaXggdGVzdCBmb3IgZXJyb3Igb24gc3Rkb3V0LgoJKiBpY29udmRhdGEvdHN0LXRhYmxlLXRvLmMgKG1haW4pOiBMaWtld2lzZS4KCjIwMDAtMDktMTcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9pc28taXItMTY1LmMgKF9faXNvaXIxNjVfZnJvbV90YWIpOiBSZW5hbWVkIGZyb20KCV9faXNvaXIxNjVfdGFiLgoJKiBpY29udmRhdGEvY25zMTE2NDMuaCAoX19jbnMxMTY0M2wxX3RvX3VjczRfdGFiKTogTmV3IGRlY2xhcmF0aW9uLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24tZXh0LmM6IEluY2x1ZGUgImNuczExNjQzLmgiLgoJKEdCNzU5MF9zZXQsIEdCMTMxMzJfc2V0LCBDTlMxMTY0M18zX3NldCwgQ05TMTE2NDNfNF9zZXQsCglDTlMxMTY0M181X3NldCwgQ05TMTE2NDNfNl9zZXQsIENOUzExNjQzXzdfc2V0KTogQ2hhbmdlIGVudW0gdmFsdWVzLgoJKEJPRFkgZm9yIEZST01fTE9PUCk6IEZpeCBidWZmZXIgb3ZlcnJ1bi4gVHJlYXQgQ05TMTE2NDMgcGxhbmUgMy4KCVJldHVybiBfX0dDT05WX0lOQ09NUExFVEVfSU5QVVQgaW5zdGVhZCBvZiBfX0dDT05WX0VNUFRZX0lOUFVULgoJKEJPRFkgZm9yIFRPX0xPT1ApOiBGaXggdXNhZ2Ugb2YgYHNldCcgdnMuIGB1c2VkJy4gIEZpeCB0eXBvIHRoYXQKCWNhdXNlZCBHQjIzMTIgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIElTTy1JUi0xNjUuIFRyZWF0IENOUzExNjQzCglwbGFuZSAzLiAgRml4IHNoaWZ0IHNlcXVlbmNlcy4gT3V0cHV0IGFubm91bmNlbWVudCBmb3IgU1MyIGFuZCBTUzMKCWVuY29kaW5ncyB3aGVuIG5lZWRlZC4gIFdoZW4gb3V0cHV0dGluZyBhbiBhbm5vdW5jZW1lbnQsIGRvbid0IGNsZWFyCgltb3N0IG90aGVyIGFubm91bmNlbWVudHMuCgoyMDAwLTA5LTE3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYyAoQk9EWSBmb3IgRlJPTV9MT09QKTogRml4IGJ1ZmZlciBvdmVycnVuLgoJKEJPRFkgZm9yIFRPX0xPT1ApOiBGaXggdXNhZ2Ugb2YgYHNldCcgdnMuIGB1c2VkJy4KCjIwMDAtMDktMTQgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvVmVyc2lvbnM6IEFkZCBiaW5kX3RleHRkb21haW5fY29kZXNldC4KCjIwMDAtMDktMTYgIFJhbGYgQmFlY2hsZSAgPHJhbGZAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKF9SVExEX1BST0xPR1VFKTogUmVmb3JtYXQuICBEZWNsYXJlCglhcyBmdW5jdGlvbi4KCShfUlRMRF9FUElMT0dVRSk6IFJlZm9ybWF0LiAgRGVjbGFyZSBzaXplIG9mIGVudHJ5IGZ1bmN0aW9uLgoJKEVMRl9NQUNISU5FX0JFRk9SRV9SVExEX1JFTE9DKTogUmVsb2NhdGUgdGhlIGR5bmFtaWMgbGlua2VyIGl0c2VsZiBzbwoJaXQgd2lsbCBldmVuIHdvcmsgd2hlbiBub3QgbG9hZGVkIHRvIHRoZSBzdGFuZGFyZCBhZGRyZXNzLgoJKFJUTERfU1RBUlQpOiBSZWZvcm1hdC4gIENhbGwgX2RsX3N0YXJ0IGluIGEgd2F5IHRoYXQgaXMgc2FmZSBldmVuCgliZWZvcmUgdGhlIGR5bmFtaWMgbGlua2VyIGl0c2VsZiBpcyByZWxvY2F0ZWQuCgoyMDAwLTA5LTE4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaDogQWx3YXlzIGRlZmluZQoJX19BU1NVTUVfMzJCSVRVSURTIGZvciBNSVBTLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2lwY19wcml2Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL0Rpc3Q6IEFkZCBpcGNfcHJpdi5oLgoKMjAwMC0wOS0xNyAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogY2F0Z2V0cy9NYWtlZmlsZSAoJChvYmpwZngpZGUvbGliYy5jYXQpOiBVc2UKCSQobWFrZS10YXJnZXQtZGlyZWN0b3J5KSBpbnN0ZWFkIG9mIG1rZGlyLgoKMjAwMC0wOS0xNyAgRnJhbnogU2lybCAgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IEFsd2F5cyBkZWZpbmUKCV9fQVNTVU1FXzMyQklUVUlEUyBmb3IgX19wb3dlcnBjX18uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvaXBjX3ByaXYuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvRGlzdDogQWRkIGlwY19wcml2LmguCgoyMDAwLTA5LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvc3lzZGVwLmggKElOTElORV9TWVNDQUxMKTogRml4IGxhc3QKCXBhdGNoLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc3lzZGVwLmggKElOTElORV9TWVNDQUxMKTogTGlrZXdpc2UuCgoyMDAwLTA5LTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9JbXBsaWVzOiBSZW9yZGVyIGllZWU3NTQgaW1wbGllcyBzbyB0aGF0IGxkYmwtKiBjb21lcwoJZmlyc3QuCgkqIHN5c2RlcHMvbTY4ay9JbXBsaWVzOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L0ltcGxpZXM6IExpa2V3aXNlLgoKMjAwMC0wOS0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvcmVhZGxpYi5jIChwcm9jZXNzX2ZpbGUpOiBEb24ndCBlcnJvciBmb3Igc3RhbGUgLnNvIGxpbmtzIGVpdGhlci4KCjIwMDAtMDktMTYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IEFkZCBvbmUgbW9yZQoJX19idWlsdGluX2V4cGVjdC4KCgkqIGluY2x1ZGUvYml0cy94b3Blbl9saW0uaCAoTE9OR19CSVQpOiBVc2UgTE9OR19NQVgsIG5vdCBJTlRfTUFYLgoJUGF0Y2ggYnkgVGhvcnN0ZW4gS3VrdWsgPGt1a3VrQHN1c2UuZGU+LgoKCSogZGxmY24vTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZGVmYXVsdG1vZDEuYyBhbmQgZGVmYXVsdG1vZDIuYy4KCSh0ZXN0KTogQWRkIGRlZmF1bHQuCgkobW9kdWxlcy1uYW1lcyk6IEFkZCBkZWZhdWx0bW9kMSBhbmQgZGVmYXVsdG1vZDIuCglBZGQgcnVsZXMgdG8gYnVpbGQgdGVzdCBvYmplY3RzLgoKMjAwMC0wOS0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB3Y3R5cGUvd2N0eXBlLmg6IEFsd2F5cyBpbmNsdWRlIDxiaXRzL3R5cGVzLmg+LgoJUmVwb3J0ZWQgYnkgSmltIE1leWVyaW5nIDxtZXllcmluZ0Bhc2NlbmQuY29tPi4KCgkqIGVsZi9ydGxkLmMgKF9kbF9keW5hbWljX3dlYWspOiBTZXQgdG8gMSBieSBkZWZhdWx0IGZvciBub3cuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3N0YXQuaDogQ29ycmVjdCBwb3NpdGlvbiBvZgoJc3RfYmxvY2tzIG1lbWJlciBpbiBzdGF0IGFuZCBzdGF0NjQgc3RydWN0cy4KCVBhdGNoIGJ5IEJpbGwgTm90dGluZ2hhbSA8bm90dGluZ0ByZWRoYXQuY29tPi4KCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBBZGQgd2FybmluZyB0aGF0IEdCMTgwMzAgdGVzdCBtaWdodAoJdGFrZSBsb25nZXIuCgoJKiBtYXRoL2NvbXBsZXguaDogRG9uJ3QgZGVmaW5lIF9Db21wbGV4IG1hY3JvIGZvciBnY2MgMy4gIEFkZAoJX19leHRlbnNpb25fXyB0byBfQ29tcGxleF9JIGRlZmluaXRpb24gc2luY2UgZ2NjIHdhcm5zIGlmIC1wZWRhbnRpYy4KCSogbWF0aC9iaXRzL2NtYXRoY2FsbHMuaCAoY29uaik6IEFkZCBfX2V4dGVuc2lvbl9fIHNpbmNlIHdlIHVzZSB+LgoJUGF0Y2hlcyBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBpbmNsdWRlL2xpbWl0cy5oOiBEZWZpbmUgTExPTkdfTUlOLCBMTE9OR19NQVgsIFVMTE9OR19NQVggaWYKCW5lY2Vzc2FyeS4gIE1vdmUgaW5jbHVkZXMgb2YgUE9TSVggYW5kIFVuaXggbGltaXRzIGZpbGVzIHRvIHRoZSBlbmQuCgkqIHN0ZGxpYi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWxpbWl0cy4KCSogc3RkbGliL3RzdC1saW1pdHMuaDogTmV3IGZpbGUuCgoyMDAwLTA5LTE1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZnB1L2Zlc2V0ZW52LmMgKF9fZmVzZXRlbnYpOiBIYW5kbGUgRkVfTk9NQVNLX0VOVi4KCgkqIHN5c2RlcHMvbWlwcy9iaXRzL2ZlbnYuaCAoRkVfTk9NQVNLX0VOVik6IERlZmluZS4KCjIwMDAtMDktMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L2FscGhhL3N5c2RlcC5oIChpbmxpbmVfc3lzY2FsbF9jbG9iYmVycyk6IEFkZCBtZW1vcnkKCWNsb2JiZXIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXNkZXAuaCAoSU5MSU5FX1NZU0NBTEwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zeXNkZXAuaCAoSU5MSU5FX1NZU0NBTEwpOiBMaWtld2lzZS4KCjIwMDAtMDktMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIG5leHRtb2QxLmMgYW5kIG5leHRtb2QyLmMuCgkodGVzdHMpOiBBZGQgbmV4dC4KCShtb2R1bGVzLW5hbWVzKTogQWRkIG5leHRtb2QxIGFuZCBuZXh0bW9kMi4KCUFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIG5leHQuCgkqIGVsZi9uZXh0LmM6IE5ldyBmaWxlLgoJKiBlbGYvbmV4dG1vZDEuYzogTmV3IGZpbGUuCgkqIGVsZi9uZXh0bW9kMi5jOiBOZXcgZmlsZS4KCjIwMDAtMDktMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvb2t1cC5jIChfZGxfbG9va3VwX3N5bWJvbF9za2lwKTogRml4IGEgdHlwby4KCjIwMDAtMDktMTUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmVudl9saWJjLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZlZW5hYmx4Y3B0LmM6IFVzZSBmZW52X2xpYmMuaAoJKiBzeXNkZXBzL21pcHMvZnB1L2ZlZ2V0ZXhjZXB0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZlZGlzYmx4Y3B0LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9taXBzL2ZwdS9mZWVuYWJseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZWdldGV4Y2VwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZWRpc2JseGNwdC5jOiBOZXcgZmlsZS4KCjIwMDAtMDktMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9NYWtlZmlsZTogQXZvaWQgdW5uZWNlc3NhcnkgdGVzdCByZXJ1bnMuCgoJKiBzdGRpby1jb21tb24vdHN0LXByaW50Zi5zaDogQWxzbyBhbGxvdyBvdXRwdXQgZnJvbSA2NC1iaXQgbWFjaGluZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1vc2luZm8uaCAoRExfU1lTREVQX09TQ0hFQ0spOiBDaGFuZ2UKCXRvIG5vdCB1c2Ugc3lzY3RsKCkuICBUb28gbWFueSBhcmNoaXRlY3R1cmVzIGhhdmUgcHJvYmxlbXMgd2l0aCBpdC4KCjIwMDAtMDktMTQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHNjcmlwdHMvY29uZmlnLnN1YjogTmV3IHZlcnNpb24gZnJvbSBzdWJ2ZXJzaW9ucy5nbnUub3JnLgoKCSogdGltZS9jbG9ja3Rlc3QuYyAobWFpbik6IENoYW5nZSBmb3JtYXQsIENMT0NLU19QRVJfU0VDIGlzIG5vdwoJbG9uZy4KCjIwMDAtMDktMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXguYyAoY29tcGlsZV9yYW5nZSk6IENhc3QgY29sbHNlcSBpbmRleCB0byB1bnNpZ25lZCBjaGFyCgl0byBhdm9pZCBhY2Nlc3NpbmcgZGF0YSBiZWZvcmUgY29sbHNlcS4KCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2JpdHMvbWF0aGlubGluZS5oIChfX3Vub3JkZXJlZF92OWNtcCk6IEF2b2lkCglwYXN0aW5nIHN0cmluZ3MgdG9nZXRoZXIuCgoyMDAwLTA5LTE0ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1jaGVja3MuaDogUmVtb3ZlIGJvZ3VzIHJlZmVyZW5jZSB0byBHTlUgTVAgaW4KCWNvcHlyaWdodCBub3RpY2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1zZW1jdGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1zdGFydC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JwLXN5bS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JwLXRodW5rcy5oOiBMaWtld2lzZS4gIEluY2x1ZGUgPHN0ZGlvLmg+IHRvIGdldAoJcmVuYW1lIHByb3RvdHlwZS4KCjIwMDAtMDktMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vdGVzdC1sZnMuYyAoZG9fdGVzdCk6IEFsbG93IHN0YXQ2NCgpIHRvIHJldHVybiBFT1ZFUkZMT1cgYW5kCglkb24ndCBmYWlsLgoKCSogZWxmL2VsZi5oOiBBZGQgbWlzc2luZyBvZmZpY2lhbCByZWxvY2F0aW9ucy4KCgkqIGxpYmlvL3N0ZGlvLmg6IERlZmluZSBfX0ZJTEUgaWYgX19uZWVkX19fRklMRSBpcyBkZWZpbmVkLgoJKiBzdGRpby9zdGRpby5oOiBMaWtld2lzZS4KCSogd2NzbWJzL3djaGFyLmg6IEdldCBkZWZpbml0aW9uIG9mIF9fRklMRS4gVXNlIF9fRklMRSBpbnN0ZWFkIG9mIEZJTEUuCgkqIGluY2x1ZGUvc3RkaW8uaDogSGFuZGxlIF9fbmVlZF9fX0ZJTEUgbGlrZSBfX25lZWRfRklMRS4KCSogaW5jbHVkZS93Y2hhci5oOiBVc2UgX19GSUxFIGluc3RlYWQgb2YgRklMRS4KCSogbGliaW8vZndwcmludGYuYzogSW5jbHVkZSA8c3RkaW8uaD4gZm9yIEZJTEUgZGVmaW5pdGlvbi4KCSogbGliaW8vZndzY2FuZi5jOiBMaWtld2lzZS4KCSogbGliaW8vZ2V0d2MuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RkaW50LmggKFdJTlRfTUFYKTogRGVmaW5lIHRvIDQyOTQ5NjcyOTV1LgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy93Y2hhci5oIChXQ0hBUl9NSU4pOiBEZWZpbmUgdG8gLTIxNDc0ODM2NDcgLSAxLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvd2NoYXIuaDogTGlrZXdpc2UuCgoJKiBhc3NlcnQvYXNzZXJ0Lmg6IFVwZGF0ZSBjb21tZW50IGhlYWRlciBhYm91dCBJU08gQyBzZWN0aW9uLgoJKiBtYXRoL2NvbXBsZXguaDogTGlrZXdpc2UuCgkqIGN0eXBlL2N0eXBlLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2Vycm5vLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2xpbWl0cy5oOiBMaWtld2lzZS4KCSogbG9jYWxlL2xvY2FsZS5oOiBMaWtld2lzZS4KCSogbWF0aC9tYXRoLmg6IExpa2V3aXNlLgoJKiBzZXRqbXAvc2V0am1wLmg6IExpa2V3aXNlLgoJKiBzaWduYWwvc2lnbmFsLmg6IExpa2V3aXNlLgoJKiBzdGRpby9zdGRpby5oOiBMaWtld2lzZS4KCSogbGliaW8vc3RkaW8uaDogTGlrZXdpc2UuCgkqIHN0ZGxpYi9zdGRsaWIuaDogTGlrZXdpc2UuCgkqIHN0cmluZy9zdHJpbmcuaDogTGlrZXdpc2UuCgkqIHRpbWUvdGltZS5oOiBMaWtld2lzZS4KCSogd2NzbWJzL3djaGFyLmg6IExpa2V3aXNlLgoJKiB3Y3R5cGUvd2N0eXBlLmg6IExpa2V3aXNlLgoJUGF0Y2hlcyBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoyMDAwLTA5LTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NvY2tldC5oIChfX2Ntc2dfbnh0aGRyKTogRml4IHRlc3QKCWZvciBubyBtb3JlIGVudHJpZXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL3NvY2tldC5oIChfX2Ntc2dfbnh0aGRyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zb2NrZXQuaCAoX19jbXNnX254dGhkcik6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgRXJpYyBTLiBKb2huc29uIDxlc2pAY3MuZml1LmVkdT4sIGNsb3NlcyBQUiBsaWJjLzE4ODcuCgoyMDAwLTA5LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdGltZS5oIChDTE9DS1NfUEVSX1NFQyk6IE1ha2UgYSBsb25nIGludAoJY29uc3RhbnQgc2luY2UgdGhpcyBpcyB3aGF0IGNsb2NrX3QgaXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy90aW1lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCgkqIHRpbWUvdGltZS5oOiBEb24ndCBkZWZpbmVkIGNsb2NraWRfdCBhbmQgdGltZXJfdCB1bmxlc3MgUE9TSVgKCWRlZmluaXRpb25zIGFyZSByZXF1ZXN0ZWQuCgoyMDAwLTA5LTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzaGxpYi12ZXJzaW9uczogbGliQnJva2VuTG9jYWxlIG5lZWRzIG1pbmltYWwgdmVyc2lvbiBmb3IgaWE2NCwKCXNwYXJjNjQgYW5kIHNoIHRvIHN5bmNoIHdpdGggbGliYy4KCjIwMDAtMDktMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL01ha2VmaWxlIChtb2R1bGVzKTogQWRkIElTTy0yMDIyLUNOLUVYVC4KCShkaXN0cmlidXRlKTogQWRkIGlzby0yMDIyLWNuLWV4dC5jLgoJQWRkIGRlZmluaXRpb25zIHRvIGNvbXBpbGUgdGhlIG5ldyBtb2R1bGUuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgSVNPLTIwMjItQ04tRVhULgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24tZXh0LmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvaXNvLWlyLTE2NS5oIChpc29pcjE2NV90b191Y3M0KTogUmVuYW1lZCBmcm9tCgl1Y3M0X2Zyb21faXNvaXIxNjUuICBJbmNyZW1lbnQgaW5wdXQgcG9pbnRlciBpZiBzdWNjZXNzZnVsLgoKCSogY3N1L01ha2VmaWxlOiBXb3JrIGFyb3VuZCBhIGdjYyBidWcgd2hlbiBjcmVhdGluZyBjc3UtZHVtbWllcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGRlbnRzLmM6IFByZXR0eSBwcmludC4KCjIwMDAtMDktMDEgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0OiBBZGQKCV9fc3lzY2FsbF9nZXRkZW50czY0IHdyYXBwZXIuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L25ldC9yb3V0ZS5oOiBOZXcgZmlsZS4KCjIwMDAtMDktMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL2diMTgwMzAuYzogTWFueSBtYW55IGNoYW5nZXMuICBNYWtlIGNvbnNpc3RlbnQgd2l0aAoJY2hhcm1hcCBhbmQgd2l0aCBpdHNlbGYuCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBUZXN0IEdCMTgwMzAuCgoyMDAwLTA5LTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L3NrZWxldG9uLmM6IEZpeCBsYXN0IHBhdGNoLCBhZGQgbWlzc2luZyBwYXJhbWV0ZXIgdG8KCXVuYWxpZ25lZCBmdW5jdGlvbiBjYWxsLgoKMjAwMC0wOS0xMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY29sbGF0ZV9yZWFkKTogRml4IHR5cG8gaW4gaGFuZGxpbmcKCW9mIGRlY2ltYWwgZWxsaXBzaXMuCgoyMDAwLTA5LTExICBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfcmVhZCk6IEFsd2F5cyBpbml0aWFsaXplCgllcnJvcl9zZWN0aW9uLm5leHQuCgoyMDAwLTA5LTEwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX2ZpbmlzaCk6IFVwcGVyIGJvdW5kIGZvcgoJcnVsZWlkeCBpcyAxMjgsIG5vdCAyNTYuCgoyMDAwLTA5LTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfcmVhZCk6IENvcnJlY3QgY2hlY2sgZm9yCglhbHJlYWR5IGluc2VydGVkIGVudHJpZXMuCgoyMDAwLTA5LTEwICBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L3NrZWxldG9uLmMgKEZVTkNUSU9OX05BTUUpOiBIYW5kbGUgdW5hbGlnbmVkIGFjY2VzcyBpbgoJc2Vjb25kIHRyeSBhcyB3ZWxsLgoKMjAwMC0wOS0xMCAgQnJ1bm8gSGFpYmxlIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9za2VsZXRvbi5jIChGVU5DVElPTl9OQU1FKTogT3B0aW1pemUgYW4gYGlmJyBpZgoJTUFYX05FRURFRF9GUk9NID4gMSAmJiBNQVhfTkVFREVEX1RPID4gMS4KCjIwMDAtMDktMTAgIEJydW5vIEhhaWJsZSA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvc2tlbGV0b24uYyAoZ2NvbnZfaW5pdCk6IFJlcGxhY2UgYWxsIHVzZXMgb2YgUkVTRVRfU1RBVEUgd2l0aAoJU0FWRV9SRVNFVF9TVEFURS4KCjIwMDAtMDktMTAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS91dGYtNy5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL2djb252LW1vZHVsZXMgKFVURi03KTogTmV3IG1vZHVsZSBlbnRyaWVzLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgVVRGLTcuCgkoZGlzdHJpYnV0ZSk6IEFkZCB1dGYtNy5jLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvVVRGLTc6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvVVRGLTcuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvVEVTVFMgKFVURi03KTogTmV3IGVudHJ5LgoJKiBpY29udmRhdGEvcnVuLWljb252LXRlc3Quc2g6IEZpeCBjb25mdXNpbmcgb3V0cHV0LgoKMjAwMC0wOS0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L3RlbXBuYW1lLmMgKF9fZ2VuX3RlbXBuYW1lKTogVXNlIF9fbHhzdGF0IGFuZCBfX3hzdGF0LgoKMjAwMC0wOS0xMCAgRGF2aWQgUy4gTWlsbGVyICA8ZGF2ZW1AcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9fX2xvbmdqbXAuUyAoX19sb25nam1wKTogQ29ycmVjdCAlZnAKCWZyYW1lIHBvaW50ZXIgb2Zmc2V0IGZvciBub24tZmFzdCBwYXRoLgoKMjAwMC0wOS0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvM2xldmVsLmggKCpfaW5pdCk6IEluaXRpYWxpemUgbGV2ZWwxLCBsZXZlbDIsCglhbmQgbGV2ZWwzIGFzIHdlbGwuCgkoKl9hZGQpOiBSZW1vdmUgYSBmZXcgdW5uZWNlc3NhcnkgY29uZGl0aW9uYWxzLgoKMjAwMC0wOS0wNSAgV29sZnJhbSBHbG9nZXIgIDx3Z0BtYWxsb2MuZGU+CgoJKiBtYWxsb2MvdGhyZWFkLW0uaCBbX0xJQkNdOiBFdmVuIGlmIG5vdCBsaW5raW5nIHdpdGggbGlicHRocmVhZCwKCWVuc3VyZSB1c2FiaWxpdHkgb2YgbXV0ZXggYXMgYW4gYGluIHVzZScgZmxhZy4KCjIwMDAtMDktMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc2hsaWItdmVyc2lvbnM6IFNpbXBsaWZ5IGxpYm0gZW50cmllcy4gIENvcnJlY3QgYSBmZXcgSHVyZCBlbnRyaWVzLgoKCSogc3lzZGVwcy9nZW5lcmljL2luaXRmaW5pLmM6IFJld3JpdGUgc2xpZ2h0bHkgdG8gZ2V0IHJpZCBvZiB0aGUKCXVnbHkgR01PTl9XRUFLX1NUQVJUIGhhY2suCglQYXRjaCBieSBQaGlsaXAgQmx1bmRlbGwgPHBoaWxiQGdudS5vcmc+LgoKCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaDogUHJldHR5IHByaW50aW5nLgoKMjAwMC0wOS0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtbWFjaGluZS5jOiBBZGQgdm9sYXRpbGUgdG8gUFBDX0RDQlNULCBQUENfU1lOQywKCWFuZCBQUENfSUNCSSBhc20gZm9yIGJyb2tlbiBjb21waWxlcnMuCglQYXRjaCBieSBGcmFueiBTaXJsIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4uCgoyMDAwLTA5LTA5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvbWVzc2FnZS50ZXhpIChBZHZhbmNlZCBnZXR0ZXh0IGZ1bmN0aW9ucyk6IEZpeCB0eXBvLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtb3NpbmZvLmg6IEluY2x1ZGUgPHN0cmluZy5oPiBmb3IKCXN0cm5jcHkgcHJvdG90eXBlLgoKMjAwMC0wOS0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvbWVtY2hyLlM6IEFkZCAucHJlZC5yZWwgdG8gYXZvaWQgd3JvbmcgYXNzZW1ibGVyCgl3YXJuaW5ncy4KCSogc3lzZGVwcy9pYTY0L21lbWNjcHkuUzogTGlrZXdpc2UuCglQYXRjaGVzIGJ5IEppbSBXaWxzb24gPHdpbHNvbkByZWRoYXQuY29tPi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLW9zaW5mby5oIChETF9TWVNERVBfT1NDSEVDSyk6IFVzZSB1bmFtZQoJYmVmb3JlIHRyeWluZyB0byByZWFkIC9wcm9jLgoJUGF0Y2ggYnkgTWF0dCBXaWxzb24gPG1zd0ByZWRoYXQuY29tPi4KCSogaW5jbHVkZS9zeXMvdXRzbmFtZS5oOiBEZWNsYXJlIF9fdW5hbWUuCgkqIHN5c2RlcHMvZ2VuZXJpYy91bmFtZS5jOiBNYWtlIHVuYW1lIGEgd2VhayBhbGlhcyBvZiBfX3VuYW1lLgoJKiBzeXNkZXBzL21hY2gvaHVyZC91bmFtZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoKCSogaWNvbnYvZ2NvbnZfZGwuYyAoZG9fcmVsZWFzZV9zaGxpYik6IFJld3JpdGUgY29uZGl0aW9uIGZvcgoJdW5sb2FkaW5nIGEgYml0LgoKMjAwMC0wOS0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9nZXRvcHQuYyAoX2dldG9wdF9pbnRlcm5hbCk6IFdoZW4gbG9uZ19vbmx5IGlzIHNldCBhbHdheXMKCXJlY29nbml6ZSBjb25mbGljdHMganVzdCBsaWtlIGJlZm9yZS4KCjIwMDAtMDktMDggIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9NYWtlZmlsZSAoc3lzZGVwLXJ0bGQtcm91dGluZXMpOiBOZXcgdmFyaWFibGUuCgoyMDAwLTA5LTA4ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3QgKG1pbmNvcmUpOiBGaXggYXJnIHNpZ25hdHVyZS4KCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IE5ldyBzaWduYXR1cmUga2V5bGV0dGVyIGBWJy4KCSogc3lzZGVwcy9nZW5lcmljL2JwLWNoZWNrcy5oIChDSEVDS19OX1BBR0VTKTogTmV3IG1hY3JvLgoKMjAwMC0wOS0wOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xvY2tmNjQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vZmNudGwuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYml0cy9mY250bC5oCgkoRl9HRVRMSzY0LEZfU0VUTEs2NCxGX1NFVExLVzY0KTogVXNlIHZhbHVlcyBmcm9tIDIuNC4wLXRlc3Q4LgoJKEZfR0VUTEssRl9TRVRMSyxGX1NFVExLVyk6IEhhbmRsZSBfX1VTRV9GSUxFX09GRlNFVDY0IGNvcnJlY3RseS4KCjIwMDAtMDktMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL3RzdC10YWJsZXMuc2g6IEVuYWJsZSBFVUMtS1IgdGVzdC4KCgkqIGVsZi9kbC1sb2FkLmMgKGxvc2UpOiBEZWNyZW1lbnQgX25sX2xvYWRlZC4KCShfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogRG9uJ3QgdHJ5IHRvIGRsb3BlbiBleGVjdXRhYmxlcy4KCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBBY3R1YWxseSByZXR1cm4gd2l0aCBhbiBlcnJvciBpZgoJc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkqIGljb252ZGF0YS90c3QtdGFibGUuc2g6IFJldHVybiB3aXRoIGFuIGVycm9yIGlmIGFueSBvZiB0aGUgY21wIGZhaWxzLgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmMgKEJPRFkgb2YgRlJPTV9MT09QKTogUmVqZWN0IDB4ZmYgYXMgaW5wdXQuCgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogQWRkIEJJRzVIS1NDUy4KCgkqIGljb252ZGF0YS90c3QtdGFibGUtdG8uYyAobWFpbik6IENvcnJlY3QgY2FzdCBpbiBpY29udiBjYWxsLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlLWZyb20uYzogSW5jbHVkZSA8c3RyaW5nLmg+LgoJKHRyeSk6IENvcnJlY3QgY2FzdCBpbiBpY29udiBjYWxsLgoKCSogZWxmL01ha2VmaWxlIChhbGwtcnRsZC1yb3V0aW5lcyk6IEV2YWx1YXRlICQoc3lzZGVwLXJ0bGQtcm91dGluZXMpCgl0b28uCgkqIHN5c2RlcHMvcG93ZXJwYy9NYWtlZmlsZSAoc3lzZGVwLXJ0bGQtcm91dGluZXMpOiBOZXcgdmFyaWFibGUuCgkoc3lzZGVwX3JvdXRpbmVzKTogUmVtb3ZlIGRsLXN0YXJ0LgoJUGF0Y2hlcyBieSBGcmFueiBTaXJsIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4uCgoJKiBhc3NlcnQvX19hc3NlcnQuYzogVW5kZWZpbmUgTkRFQlVHIGJlZm9yZSBpbmNsdWRlIDxhc3NlcnQuaD4uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tc2dzbmQuYyAobXNnc25kKTogQWRkIGNhc3QgdG8gYXZvaWQgd2FybmluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htYXQuYyAoc2htYXQpOiBMaWtld2lzZS4KCjIwMDAtMDktMDYgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdGltZS5oOiBOZXcgZmlsZS4KCjIwMDAtMDktMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0aG9zdGlkLmM6IEZpbmQgaG9zdGlkIGZpbGUgaW4gL2V0Yy4KCgkqIHNjcmlwdHMvY29uZmlnLnN1YjogU3RyaXAgb3V0IC11bmtub3duIGZvciBMaW51eCB0YXJnZXRzLgoJUGF0Y2ggYnkgU2NvdHQgQmFtYnJvdWdoIDxzY290dGJAbmV0d2luZGVyLm9yZz4uCgoJKiBwb3NpeC90c3QtZGlyLmMgKG1haW4pOiBDb3JyZWN0IG9uZSBidWcgKG1pc3NpbmcgTlVMTCB0ZXN0KSBhbmQKCWFkZCBvbmUgbW9yZSB0ZXN0LgoKMjAwMC0wOS0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9sb2NrZjY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9mY250bC5jOiBBZGQgcHJvdG90eXBlcyBmb3IgdGhlCglzeXNjYWxscy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzY2FsbHMubGlzdDogQWRkIF9fc3lzY2FsbF9mY250bC4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKFJFU09MVkVfR09UU1lNKTogRml4IGNhbGxzIHRvIGRsX2xvb2t1cC4KCShFTEZfTUFDSElORV9SVU5USU1FX1RSQU1QT0xJTkUpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvZmNudGwuYzogTmV3IGZpbGUuCgoJKiBzdGRsaWIvdHN0LWJzZWFyY2guYyAobWFpbik6IEFkZCBtb3JlIHRlc3QgY2FzZXMuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChoYW5kbGVfZWxsaXBzaXMpOiBGaXggdHlwby4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgR09UTyBNYXNhbm9yaSA8Z290b21AZGViaWFuLm9yLmpwPi4KCjIwMDAtMDktMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1kaXIuCgkodHN0LWRpci1BUkdTKTogTmV3IHZhcmlhYmxlLgoJKiBwb3NpeC90c3QtZGlyLmM6IE5ldyBmaWxlLgoKMjAwMC0wOS0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvc3lzY2FsbC5oIChTWVNfZ2V0ZGVudHM2NCk6IE5ldy4KCShTWVNfZmNudGw2NCk6IE5ldy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzY2FsbHMubGlzdDogQWRkIGdldGRlbnRzNjQuCgoyMDAwLTA5LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9vcGVuZGlyLmM6IElmIE9fRElSRUNUT1JZX1dPUktTIGlzIGRlZmluZWQgZG9uJ3QKCXVzZSB0aGUgaGFjayB3aXRoIHRyeW9wZW5fb19kaXJlY3RvcnkgdG8gZGV0ZXJtaW5lIGF0IHJ1bnRpbWUKCXdoZXRoZXIgaXQgd29ya3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L29wZW5kaXIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBEZWZpbmUKCV9fQVNTVU1FX09fRElSRUNUT1JZIGlmIGtlcm5lbCBrbm93cyBPX0RJUkVDVE9SWS4KCgkqIGNhdGdldHMvRGVwZW5kOiBOZXcgZmlsZS4gIEFkZCBpbnRsLgoJKiBjYXRnZXRzL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtY2F0Z2V0cy4KCShnZW5lcmF0ZWQpOiBSZW1vdmUgZGUubXNnLgoJKGdlbmVyYXRlZC1kaXJzKTogQWRkIGRlLgoJQWRkIGRlcGVuZGVuY3kgaWYgdHN0LWNhdGdldHMgb3V0cHV0IG9uIGRlL2xpYmMuY2F0LgoJKiBjYXRnZXRzL3RzdC1jYXRnZXRzLmM6IE5ldyBmaWxlLgoKCSogcG8vamEucG86IE5ldyBmaWxlLgoJKiBwby9lbC5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCgkqIHdjc21icy9EZXBlbmQ6IE5ldyBmaWxlLgoJKiB3Y3NtYnMvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1idG93Yy4KCSh0c3QtYnRvd2MtRU5WKTogRGVmaW5lLgoJKiB3Y3NtYnMvdHN0LWJ0b3djLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvX0dfY29uZmlnLmg6IE1vdmVkIHRvLi4uCgkqIHN5c2RlcHMvZ251L19HX2NvbmZpZy5oOiAuLi5oZXJlIHRvIGJlIHNoYXJlZCB3aXRoIEh1cmQuCgoJKiBzeXNkZXBzL3Bvc2l4L3NpZ25hbC5jOiBBZGQgc2lnIHRvIGFjdC5zYV9tYXNrIGZvciBjb21wbGV0ZW5lc3MuCgoJKiBzdGRsaWIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1ic2VhcmNoLgoJKiBzdGRsaWIvdHN0LWJzZWFyY2guYzogTmV3IGZpbGUuCgoJKiBwb3NpeC9nZXRvcHQuYyAoX2dldG9wdF9pbnRlcm5hbCk6IERvbid0IHJlY29nbml6ZSBhbiBvcHRpb24KCW5hbWUgYXMgYW1iaWd1b3VzIGlmIGl0J3MgYSBwcmVmaXggZm9yIG1vcmUgdGhhbiBvbmUgbmFtZSBidXQgdGhlCglvdGhlciBzdHJ1Y3Qgb3B0aW9uIHZhbHVlcyBhcmUgaWRlbnRpY2FsLgoKCSogcG9zaXgvdHN0Z2V0b3B0LmM6IEFkZCB0ZXN0IGZvciBpbXByb3ZlZCBhbWJpZ3VpdHkgcmVjb2duaXRpb24uCglEb24ndCBkZXBlbmQgb24gdmlzdWFsIGluc3BlY3Rpb24gb2YgdGhlIG91dHB1dCBmaWxlIHRvIHJlY29nbml6ZQoJZXJyb3JzLgoJKiBwb3NpeC9NYWtlZmlsZSAodHN0Z2V0b3B0LUFSR1MpOiBBZGQgYSBmZXcgbW9yZSBwYXJhbWV0ZXJzLgoKMjAwMC0wOS0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9hbHBoYS9zb2Z0LWZwL0Rpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvc29mdC1mcC9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9zb2Z0LWZwL0Rpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21pcHMvc29mdC1mcC9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvRGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL0Rpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9EaXN0OiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL01ha2VmaWxlIFskKHN1YmRpcikgPSBzb2Z0LWZwXToKCVVzZSBzeXNkZXBfcm91dGluZXMgaW5zdGVhZCBvZiByb3V0aW5lcyB0byBmaXggbWFrZSBkaXN0IGZhaWx1cmUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL01ha2VmaWxlOiBMaWtld2lzZSAoaW4gY29tbWVudGVkCglvdXQgY29kZSkuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL01ha2VmaWxlIFskKHN1YmRpcikgPSBzb2Z0LWZwXTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL21pcHMvTWFrZWZpbGUgWyQoc3ViZGlyKSA9IG1pc2NdOiAgVXNlCglzeXNkZXBfaGVhZGVycyBpbnN0ZWFkIG9mIGhlYWRlcnMgZm9yIG1ha2UgZGlzdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvTWFrZWZpbGUgWyQoc3ViZGlyKSA9IG1pc2NdOgoJTGlrZXdpc2UuCgoyMDAwLTA5LTA2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9iaXRzL2ZjbnRsLmg6IE5ldyBmaWxlLgoKMjAwMC0wOS0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc29mdC1mcC9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IFJlbW92ZSBDaGFuZ2VMb2cuCgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvTWFrZWZpbGUgWyQoc3ViZGlyKSA9IGdudWxpYl06ICBVc2UKCXN5c2RlcF9yb3V0aW5lcyBpbnN0ZWFkIG9mIHJvdXRpbmVzIGZvciBtYWtlIGRpc3QuCgoyMDAwLTA5LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2xpYmlvLmggKF9JT19md2lkZV9tYXliZV9pbmNvbXBhdGlibGUpOiBGb3IgZ2xpYmMgMi4wCgljb21wYXRpYmlsaXR5IGNoZWNrIGZvciBvbGQgc3RyZWFtIGFuZCBjYWxsIF9JT193aWRlIGluIGRvdWJ0LgoJKF9JT19md2lkZSk6IFVzZSBfSU9fZndpZGVfbWF5YmVfaW5jb21wYXRpYmxlIG1hY3JvLgoJKiBsaWJpby9pb2Z3aWRlLmMgKF9JT19md2lkZSk6IElmIGNvbXBhdGliaWxpdHkgd2l0aCBnbGliYyAyLjAgaXMKCW5lZWRlZCB0c3QgZm9yIHN1Y2ggYW4gb2xkIHN0cnVjdHVyZSBhbmQgZG9uJ3QgZG8gYW55dGhpbmcuCgkqIGxpYmlvL2ZyZW9wZW4uYzogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIF9JT19zdGRpbl91c2VkLgoKMjAwMC0wOS0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9wb3dlcnBjL01ha2VmaWxlIFskKHN1YmRpcikgPSBlbGZdOiBNb2RpZnkKCXN5c2RlcC1kbC1yb3V0aW5lcyBhbmQgc3lzZGVwX3JvdXRpbmVzIGluc3RlYWQgb2YgcnRsZC1yb3V0aW5lcwoJYW5kIGRsLXJvdXRpbmVzLgoKCSogc29mdC1mcC9DaGFuZ2VMb2c6IE1lcmdlZCB3aXRoIHRoaXMgZmlsZS4KCjIwMDAtMDYtMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc29mdC1mcC9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBvcC04LmggYW5kIHRlc3RpdC5jLgoKCSogc29mdC1mcC9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCB0aGUgbWF0aCBmdW5jdGlvbnMsIHRvby4KCgkqIHNvZnQtZnAvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgQ2hhbmdlTG9nLCBCYW5uZXIsIGFuZCBjb25maWd1cmUuCgoyMDAwLTAzLTAzICBHZW9mZiBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBzb2Z0LWZwL3NvZnQtZnAuaCAoX0ZQX1JPVU5EX1pFUk8pOiBDYXN0IDAgdG8gdm9pZCBiZWZvcmUgdXNpbmcgaXQKCWFzIGEgc3RhdGVtZW50LgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvTWFrZWZpbGUgKHJvdXRpbmVzKTogTmV3IGZpbGUuCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfKjogTmV3IGZpbGVzLgoKMjAwMC0wOS0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAocHJvY2Vzc19zdHJpbmdfYXJnKTogSGFuZGxlIHByZWNpc2lvbgoJaW4gd2lkZSBjaGFyIGNhc2UgY29ycmVjdGx5LiAgRG9uJ3QgYWxsb2NhdGUgdG9vIGxvbmcgdGVtcG9yYXJ5CglzdHJpbmdzIHdpdGggYWxsb2NhLgoKCSogc3RkaW8tY29tbW9uL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtc3dwcmludGYuCgkodHN0LXN3cHJpbnRmLUVOVik6IE5ldyB2YXJpYWJsZS4KCSogc3RkaW8tY29tbW9uL3RzdC1zd3ByaW50Zi5jOiBOZXcgZmlsZS4KCjIwMDAtMDktMDUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zdGF0Lmg6IFVzZSBzdF9wYWQ1LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3hzdGF0Y29udi5jOiBGaXggYXNzaWdubWVudHMuCglQYXRjaCBieSBNYWNpZWogVy4gUm96eWNraSA8bWFjcm9AZHMyLnBnLmdkYS5wbD4uCgoyMDAwLTA5LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogU3RyaXAgb3V0ICJ1bmtub3duIiBmcm9tIGNvbmZpZ3VyYXRpb24gbmFtZXMuCgoyMDAwLTA5LTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3Bvd2VycGMvU3ViZGlyczogTmV3IGZpbGUsIGFkZHMgc29mdC1mcC4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9JbXBsaWVzOiBBZGQgc29mdC1mcC4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL0ltcGxpZXM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvSW1wbGllczogTGlrZXdpc2UuCgoJKiBsaWJpby9vbGRpb2ZzZXRwb3M2NC5jOiBDaGVjayBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGdsaWJjIDIuMS4KCSogbGliaW8vb2xkaW9mZ2V0cG9zNjQuYzogTGlrZXdpc2UuCgoJKiBzb2Z0LWZwL01ha2VmaWxlIChkaXN0cmlidXRlKTogUmVtb3ZlIGNvbmZpZ3VyZS4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL1ZlcnNpb25zOiBVc2UgdmVyc2lvbiBnbGliYyAyLjIuCgoJKiBzb2Z0LWZwL2NvbmZpZ3VyZTogUmVtb3ZlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfbmVnLlM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX25lZy5TOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL01ha2VmaWxlOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9NYWtlZmlsZTogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9NYWtlZmlsZTogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvTWFrZWZpbGU6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvTWFrZWZpbGU6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL01ha2VmaWxlOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX25lZy5TOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9uZWcuUzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2FkZC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2FkZC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfY21wLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfY21wLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9jbXBlLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfY21wZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfZGl2LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfZGl2LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9kdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfZHRvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfZmVxLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfZmVxLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9mZ2UuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9mZ2UuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2ZndC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2ZndC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfZmxlLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfZmxlLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9mbHQuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9mbHQuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2ZuZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2ZuZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfaXRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2l0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2xsdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfbGx0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX211bC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX211bC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfbmVnLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfbmVnLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9xdG9kLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfcXRvZC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfcXRvaS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3F0b2kuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX3F0b2xsLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfcXRvbGwuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX3F0b3MuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9xdG9zLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9xdG91LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfcXRvdS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfcXRvdWxsLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfcXRvdWxsLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9zcXJ0LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3Ffc3FydC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3Ffc3RvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3N0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX3N1Yi5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3N1Yi5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfdWxsdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfdWxsdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV91dGlsLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfdXRpbC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfdXRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3V0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX2FkZC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2FkZC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfY21wLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfY21wLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9jbXBlLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfY21wZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfZGl2LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfZGl2LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9kdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfZHRvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfZmVxLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfZmVxLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9mZ2UuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9mZ2UuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX2ZndC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2ZndC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfZmxlLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfZmxlLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9mbHQuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9mbHQuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX2ZuZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2ZuZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfaXRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2l0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX211bC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX211bC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfbmVnLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfbmVnLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9xdG9kLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfcXRvZC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfcXRvaS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3F0b2kuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX3F0b3MuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9xdG9zLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9xdG91aS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3F0b3VpLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9xdG91eC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3F0b3V4LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9xdG94LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfcXRveC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3Ffc3FydC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3NxcnQuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX3N0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9zdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9zdWIuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9zdWIuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX3VpdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfdWl0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX3V0aWwuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV91dGlsLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV91eHRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3V4dG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV94dG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfeHRvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2FkZC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9hZGQuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9jbXAuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfY21wLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfY21wZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9jbXBlLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfZGl2LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2Rpdi5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2R0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfZHRvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2ZlcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9mZXEuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9mZ2UuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfZmdlLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfZmd0LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2ZndC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2ZsZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9mbGUuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9mbHQuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfZmx0LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfZm5lLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2ZuZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2l0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfaXRvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX211bC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9tdWwuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9xdG9kLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3F0b2QuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9xdG9pLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3F0b2kuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9xdG9zLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3F0b3MuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9xdG91aS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9xdG91aS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX3F0b3V4LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3F0b3V4LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfcXRveC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9xdG94LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfc3FydC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9zcXJ0LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfc3RvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9zdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfc3ViLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3N1Yi5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX3VpdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3VpdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfdXRpbC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF91dGlsLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfdXh0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfdXh0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF94dG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3h0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9zX2ZyZXhwbC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9zX2ZyZXhwbC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NfaWxvZ2JsLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3NfaWxvZ2JsLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvc19zY2FsYmxubC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9zX3NjYWxibG5sLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvc19zY2FsYm5sLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3Nfc2NhbGJubC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9hbHBoYS9zZnAtbWFjaGluZS5oOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL2FscGhhL3NvZnQtZnAvc2ZwLW1hY2hpbmUuaDogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvaTM4Ni9zZnAtbWFjaGluZS5oOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL2kzODYvc29mdC1mcC9zZnAtbWFjaGluZS5oOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9taXBzL21pcHM2NC9zZnAtbWFjaGluZS5oOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L3NvZnQtZnAvc2ZwLW1hY2hpbmUuaDogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvbWlwcy9zZnAtbWFjaGluZS5oOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL21pcHMvc29mdC1mcC9zZnAtbWFjaGluZS5oOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3NmcC1tYWNoaW5lLmg6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3NmcC1tYWNoaW5lLmg6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvc2ZwLW1hY2hpbmUuaDogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvc2ZwLW1hY2hpbmUuaDogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9zZnAtbWFjaGluZS5oOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9zZnAtbWFjaGluZS5oOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL1ZlcnNpb25zOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9WZXJzaW9uczogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9WZXJzaW9uczogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvVmVyc2lvbnM6IC4uLiB0byBoZXJlLgoKCSogbGliaW8vb2xkaW9mc2V0cG9zNjQuYzogaW9mc2V0cG9zIHdhcyBpbnRyb2R1Y2VkIGluIGdsaWJjIDIuMSwKCWNoYW5nZSBzeW1ib2wgdmVyc2lvbi4KCSogbGliaW8vb2xkaW9mZ2V0cG9zNjQuYzogTGlrZXdpc2UuCglSZXBvcnRlZCBieSBNYXJ0aW4gdi4gTG9ld2lzIDxtYXJ0aW5AbG9ld2lzLmhvbWUuY3MudHUtYmVybGluLmRlPi4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjaGFyY2xhc3NfY2hhcmNvZGVfZWxsaXBzaXMpOiBGaXgKCXR5cG8uCglSZXBvcnRlZCBieSBkeWt5QGtvbmRhcmEub3JnLCBjbG9zZXMgUFIgbGliYy8xODg2LgoKCSogc3RkbGliL3RzdC1zdHJ0b2QuYzogQWRkIHRlc3RjYXNlcyBmb3IgZGVub3JtYWwgbnVtYmVycyBmcm9tIFBSCglsaWJjLzE4ODAuCgoyMDAwLTA5LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9ydW4taWNvbnYtdGVzdC5zaDogQWRkIGNvZGUgdG8gaW1tZWRpYXRlbHkgc3RvcCB0aGUKCXNjcmlwdCB3aGVuIF5DIGlzIGhpdC4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYyAoY29uc3RydWN0X291dHB1dF9wYXRoKTogQ29ycmVjdAoJY29tcHV0YXRpb24gb2YgZW5kcCBhZnRlciBhc3ByaW50Zi4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYyAod3JpdGVfbG9jYWxlX2RhdGEpOiBEb24ndCBhZGQgZXh0cmEKCXNsYXNoIGluIGZpbGVuYW1lLgoKMjAwMC0wOS0wNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc2NyaXB0cy9jb25maWcuZ3Vlc3M6IE5ldyB1cHN0cmVhbSB2ZXJzaW9uLgoJKiBzY3JpcHRzL2NvbmZpZy5zdWI6IExpa2V3aXNlLgoJKiBtYW51YWwvdGV4aW5mby50ZXg6IExpa2V3aXNlLgoKMjAwMC0wOS0wNCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIGVsZi9NYWtlZmlsZSAoYWxsLWRsLXJvdXRpbmVzKTogTmV3IHZhcmlhYmxlLgoJKGVsaWRlLXJvdXRpbmVzLm9zKTogVXNlIGl0IGluc3RlYWQgb2YgJChkbC1yb3V0aW5lcykuCgkoYWxsLXJ0bGQtcm91dGluZXMpOiBOZXcgdmFyaWFibGUuCgkoZXh0cmEtb2Jqcyk6IFVzZSBpdCBpbnN0ZWFkIG9mICQocnRsZC1yb3V0aW5lcykuCgkoJChvYmpwZngpZGwtYWxsb2Jqcy5vcyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvTWFrZWZpbGUgWyQoc3ViZGlyKSA9IGVsZl06IE1vZGlmeQoJc3lzZGVwLWRsLXJvdXRpbmVzIGFuZCBzeXNkZXBfcm91dGluZXMgaW5zdGVhZCBvZiBydGxkLXJvdXRpbmVzCglhbmQgZGwtcm91dGluZXMuCgoyMDAwLTA5LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl90cmFucy5jIChfX2djb252X3RyYW5zbGl0X2ZpbmQpOiBVcGRhdGUgb3Blbl9jb3VudC4KCVNldCBmbmFtZSB0byBOVUxMIGlmIHRoZSBtb2R1bGUgd2Fzbid0IGZvdW5kLgoKMjAwMC0wOS0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvZ2NvbnZfdHJhbnMuYyAoX19nY29udl90cmFuc2xpdF9maW5kKTogRG9uJ3Qgc2V0IG5lZWRfc28gdG8KCXRydWUgaWYgdHJhbnMtPm5hbWUgYWxyZWFkeSBlbmRzIGluICIuc28iLgoKMjAwMC0wOS0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvZ2NvbnZfaW50LmggKF9fZ2NvbnZfcmVsZWFzZV9zaGxpYik6IENoYW5nZSByZXR1cm4gdHlwZSB0bwoJdm9pZC4KCSogaWNvbnYvZ2NvbnZfZGwuYyAoZG9fcmVsZWFzZV9zaGxpYik6IERvbid0IGRlY3JlbWVudCB0aGUgY291bnRlcgoJYmVsb3cgLVRSSUVTX0JFRk9SRV9VTkxPQUQtMSwgdG8gYXZvaWQgd3JhcGFyb3VuZC4KCShfX2djb252X3JlbGVhc2Vfc2hsaWIpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gdm9pZC4KCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5jIChfX2djb252X2dldF9idWlsdGluX3RyYW5zKTogRG9uJ3Qgc2V0CglzdGVwLT5fX2NvdW50ZXIgaGVyZS4KCSogaWNvbnYvZ2NvbnZfZGIuYyAoZnJlZV9kZXJpdmF0aW9uKTogRG9uJ3QgY2FsbCBhIHN0ZXAncyBkZXN0cnVjdG9yCglpZiB0aGUgcmVmZXJlbmNlIGlzIHplcm8uCgkocmVsZWFzZV9zdGVwKTogTmV3IGZ1bmN0aW9uLgoJKGdlbl9zdGVwcyk6IEFsd2F5cyBpbml0aWFsaXplIHRoZSBfX2NvdW50ZXIgdG8gMS4gVXNlIHJlbGVhc2Vfc3RlcC4KCURvbid0IGNhbGwgdGhlIGRlc3RydWN0b3Igb24gdGhlIHN0ZXAgd2hvc2UgaW5pdGlhbGl6ZXIgZmFpbGVkLgoJKGluY3JlbWVudF9jb3VudGVyKTogVXNlIHJlbGVhc2Vfc3RlcC4gRG9uJ3Qgbm9ybWFsbHkgcnVuIGRlc3RydWN0b3JzCgloZXJlLgoJKF9fZ2NvbnZfY2xvc2VfdHJhbnNmb3JtKTogVXNlIHJlbGVhc2Vfc3RlcC4KCjIwMDAtMDktMDMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X3NpbXBsZS5jIChlbmNvZGluZ19tYXNrLCBlbmNvZGluZ19ieXRlKTogUmVtb3ZlLgoJKF9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3V0ZjgpIFtCT0RZXTogVXNlIHNpbXBsZSBzaGlmdHMgaW5zdGVhZC4KCjIwMDAtMDktMDMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9ldWMtdHcuYyAoQk9EWSBmb3IgRlJPTV9MT09QKTogSW5pdGlhbGl6ZSBjaDIgY29ycmVjdGx5LgoJSWYgdGhlIGZpcnN0IGJ5dGUgaXMgMHg4RSwgZG9uJ3QgYXNrIGZvciA0IGJ5dGVzIHVudGlsIGl0IGhhcyBiZWVuCgl2ZXJpZmllZCB0aGF0IHRoZSBzZWNvbmQgYnl0ZSBpcyB2YWxpZC4gTGVhdmUgaXQgdG8gY25zMTE2NDNfdG9fdWNzNAoJdG8gY2hlY2sgZm9yIGluY29tcGxldGUgaW5wdXQuCgkqIGljb252ZGF0YS9jbnMxMTY0My5oIChjbnMxMTY0M190b191Y3M0KTogVGhlIHBsYW5lIG51bWJlciBpcwoJY2ggLSAweDIwIC0gb2Zmc2V0LCBub3QgY2ggLSAweDIxIC0gb2Zmc2V0LiBVcHBlciBib3VuZCBmb3IKCV9fY25zMTE2NDNsMV90b191Y3M0X3RhYiBpcyAweDIxZjIsIG5vdCAweDIxOTYuCgkodWNzNF90b19jbnMxMTY0Myk6IEZpeCBtYXBwaW5nIGZvciByYW5nZXMgMHgzMTA1Li4weDMxMjkgYW5kCgkweDlmOWQuLjB4OWZhNS4KCSogaWNvbnZkYXRhL2NuczExNjQzbDEuaCAoY25zMTE2NDNsMV90b191Y3M0KTogVXBwZXIgYm91bmQgZm9yCglfX2NuczExNjQzbDFfdG9fdWNzNF90YWIgaXMgMHgyMWYyLCBub3QgMHgyMTk2LgoJKHVjczRfdG9fY25zMTE2NDNsMSk6IEZpeCBtYXBwaW5nIGZvciByYW5nZSAweDMxMDUuLjB4MzEyOS4KCSogaWNvbnZkYXRhL2NuczExNjQzbDEuYyAoX19jbnMxMTY0M2wxX2Zyb21fdWNzNF90YWI2KTogRXh0ZW5kCgl1cHRvIGluZGV4IDB4MDA1Mi4KCjIwMDAtMDktMDMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X2RiLmMgKGZpbmRfZGVyaXZhdGlvbik6IEFsd2F5cyB1c2UgdGhlIGxlYXN0LWNvc3QKCXNvbHV0aW9uLgoKMjAwMC0wOS0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2JpZzUuYyAoQk9EWSBmb3IgRlJPTV9MT09QKTogQnl0ZXMgMHg4MS4uMHhBMCwgMHhGQS4uMHhGRgoJYXJlIGludmFsaWQuCgoyMDAwLTA5LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvamlzMDIwOC5jIChfX2ppczAyMDhfdG9fdWNzKTogTWFwIEVVQy1KUCAweEExQzAgdG8gVSswMDVDLgoJKiBpY29udmRhdGEvamlzMDIxMi5jIChfX2ppc3gwMjEyX3RvX3Vjcyk6IE1hcCBFVUMtSlAgMHg4RkEyQjcgdG8KCVUrMDA3RS4KCjIwMDAtMDktMDMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9zamlzLmMgKGNqa19ibG9jazEpOiBNYXAgMHg4MTVGIHRvIFUrMDA1Qy4KCjIwMDAtMDktMDMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9pc29fNjkzNy0yLmMgKHRvX3VjczQpOiBNYXAgMHhCNCB0byBVKzAwRDcuCgoyMDAwLTA5LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90c3QtdGFibGUuc2g6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlLWZyb20uYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90c3QtdGFibGUtdG8uYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90c3QtdGFibGUtY2hhcm1hcC5zaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9NYWtlZmlsZSAodGVzdC1zcmNzKTogU2V0IHRvIHRzdC10YWJsZS1mcm9tIHRzdC10YWJsZS10by4KCShkaXN0cmlidXRlKTogQWRkIHRzdC10YWJsZXMuc2gsIHRzdC10YWJsZS5zaCwgdHN0LXRhYmxlLWNoYXJtYXAuc2gsCgl0c3QtdGFibGUtZnJvbS5jLCB0c3QtdGFibGUtdG8uYywgRVVDLUpQLmlycmV2ZXJzaWJsZSwKCUlTSVJJLTMzNDIuaXJyZXZlcnNpYmxlLCBTSklTLmlycmV2ZXJzaWJsZS4KCSh0ZXN0cyk6IEFkZCBkZXBlbmRlbmN5IG9uIHRzdC10YWJsZXMub3V0LgoJKHRzdC10YWJsZXMub3V0LCB0c3QtdGFibGVzLWNsZWFuKTogTmV3IHJ1bGVzLgoJKGRvLXRlc3RzLWNsZWFuLCBjb21tb24tbW9zdGx5Y2xlYW4pOiBSZXF1aXJlIHRzdC10YWJsZXMtY2xlYW4uCgkqIGljb252ZGF0YS9JU0lSSS0zMzQyLmlycmV2ZXJzaWJsZTogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9FVUMtSlAuaXJyZXZlcnNpYmxlOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL1NKSVMuaXJyZXZlcnNpYmxlOiBOZXcgZmlsZS4KCjIwMDAtMDktMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL2xvY2FsZS50ZXhpIChHZW5lcmFsIE51bWVyaWMpOiBVcGRhdGUgZGVzY3JpcHRpb24gb2YKCXJlcHJlc2VudGF0aW9uIG9mIHRoZSBncm91cGluZyBpbmZvcm1hdGlvbiBpbiB0aGUgbG9jYWxlIGRhdGEuCglQYXRjaCBieSBHYXV0ZSBCLiBTdHJva2tlbmVzIDxnczIzNEBjYW0uYWMudWs+LgoKMjAwMC0wOS0wNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLW1vbmV0YXJ5LmMgKG1vbmV0YXJ5X3JlYWQpOiBGaXggdHlwby4KCSogaWNvbnYvaWNvbnZfcHJvZy5jIChvcHRpb25zKTogRml4IHR5cG8uCglSZXBvcnRlZCBieSBkeWt5QGtvbmRhcmEub3JnLCBjbG9zZXMgUFIgbGliYy8xODg1LgoKMjAwMC0wOS0wNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL2ZlZ2V0ZW52LmM6IEl0J3MgX19mZWdldGVudi4KCVJlcG9ydGVkIGJ5IFJvYiBMZXZpbiA8bGlsb0B0cmFuc3ZpcnR1YWwuY29tPi4KCjIwMDAtMDktMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZS9zeXMvdGltZS5oIChnZXR0aW1lb2ZkYXkpOiBNb3ZlIHJlc3RyaWN0IGZvciB0eiBwYXJhbWV0ZXIKCXRvIHRoZSB0eXBlZGVmcyBvZiBfX3RpbWV6b25lX3B0cl90LgoJUmVwb3J0ZWQgYnkgTUFUU1VNVVJBIEhpcm9taXRzdSA8Y29qaTJAbWIuaW5mb3dlYi5uZS5qcD4uCgoyMDAwLTA5LTAyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtaG9zdHMuYyAoSE9TVF9EQl9MT09LVVApOiBJbmNyZW1lbnQgY291bnRlciBpbgoJdGhlIGxvb3AuCgoyMDAwLTA5LTAxICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBNYWtlY29uZmlnIChidWlsdC1wcm9ncmFtLWNtZCk6IERvbid0IHVzZSB0aGUgZHluYW1pYyBsaW5rZXIKCXRvIHJ1biBhIGJpbmFyeSBpZiBpdCBpcyBpbiAkKHRlc3RzLXN0YXRpYykuCgoJKiBSdWxlcyAoYmluYXJpZXMtc3RhdGljKTogQWRkICQodGVzdHMtc3RhdGljKS4KCjIwMDAtMDktMDIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9mY250bC5oOiBGaXhlcyBmb3IgZmNudGw2NC4KCgkqIGxpYmlvL2ZtZW1vcGVuLmMgKGZtZW1vcGVuX2Nsb3NlKTogUmV2ZXJ0IG9uZSBwYXJ0IG9mIGxhc3QKCXBhdGNoLgoKMjAwMC0wOS0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmM6IFJlZ2VuZXJhdGVkIGZyb20gY2hhcm1hcC4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0JJRzVIS1NDUzogUmVnZW5lcmF0ZWQuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9CSUc1SEtTQ1MuLlVURjg6IFJlZ2VuZXJhdGVkLgoKCSogbGliaW8vZm1lbW9wZW4uYyAoZm1lbW9wZW5fc2Vlayk6IEFkZCBkZWZhdWx0IGNhc2UgaW4gc3dpdGNoCglzdGF0ZW1lbnQuICBHZW5lcmFsIGNsZWFudXAuCgoyMDAwLTA4LTMxICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiB3Y3R5cGUvd2NmdW5jcy5jIChpc3dibGFuayk6IE5ldyBmdW5jdGlvbi4KCSogd2N0eXBlL3djZnVuY3NfbC5jIChfX2lzd2JsYW5rX2wpOiBOZXcgZnVuY3Rpb24uCgkqIHdjdHlwZS93Y2V4dHJhLmM6IFJlbW92ZSBmaWxlLgoJKiB3Y3R5cGUvd2NleHRyYV9sLmM6IFJlbW92ZSBmaWxlLgoJKiB3Y3R5cGUvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBSZW1vdmUgd2NleHRyYSBhbmQgd2NleHRyYV9sLgoKMjAwMC0wOC0zMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY29sbGF0ZV9vdXRwdXQpOiBSZW1vdmUgcmVkdW5kYW50Cglhc3NlcnQgY2FsbC4KCSogc3RyaW5nL3N0cmNvbGwuYzogTGlrZXdpc2UuCgkqIHN0cmluZy9zdHJ4ZnJtLmM6IEluY2x1ZGUgYXNzZXJ0LmguICBBZGQgYXNzZXJ0IGNhbGxzIGxpa2UgaW4KCXN0cmluZy9zdHJjb2xsLmMuCgoyMDAwLTA4LTMxICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvY2F0ZWdvcmllcy5kZWYgKF9OTF9DT0xMQVRFX0hBU0hfU0laRSwKCV9OTF9DT0xMQVRFX0hBU0hfTEFZRVJTLCBfTkxfQ09MTEFURV9OQU1FUywgX05MX0NUWVBFX05BTUVTLAoJX05MX0NUWVBFX0hBU0hfU0laRSwgX05MX0NUWVBFX0hBU0hfTEFZRVJTKTogUmVtb3ZlIGRlZmluaXRpb25zLgoJKiBsb2NhbGUvbGFuZ2luZm8uaCAoX05MX0NPTExBVEVfSEFTSF9TSVpFLCBfTkxfQ09MTEFURV9IQVNIX0xBWUVSUywKCV9OTF9DT0xMQVRFX05BTUVTKTogUmVuYW1lIHRvIF9OTF9DT0xMQVRFX0dBUDEvMi8zIHJlc3BlY3RpdmVseS4KCShfTkxfQ1RZUEVfTkFNRVMpOiBSZW5hbWUgdG8gX05MX0NUWVBFX0dBUDMuCgkoX05MX0NUWVBFX0dBUDMpOiBSZW5hbWUgdG8gX05MX0NUWVBFX0dBUDQuCgkoX05MX0NUWVBFX0hBU0hfU0laRSwgX05MX0NUWVBFX0hBU0hfTEFZRVJTKTogUmVuYW1lIHRvCglfTkxfQ1RZUEVfR0FQNS82IHJlc3BlY3RpdmVseS4KCgkqIGxvY2FsZS9DLWN0eXBlLmMgKF9ubF9DX0xDX0NUWVBFKTogVXBkYXRlLgoJKiBjdHlwZS9jdHlwZS1pbmZvLmMgKF9fY3R5cGVfbmFtZXMsIF9fY3R5cGVfd2lkdGgpOiBSZW1vdmUgdmFyaWFibGVzLgoJKiBsb2NhbGUvbGMtY3R5cGUuYyAoX25sX3Bvc3Rsb2FkX2N0eXBlKTogQXNzdW1lIG5ldyBsb2NhbGUgZm9ybWF0LgoJRG9uJ3QgaW5pdGlhbGl6ZSBfX2N0eXBlX25hbWVzIGFuZCBfX2N0eXBlX3dpZHRoLgoJKiB3Y3R5cGUvY25hbWUtbG9va3VwLmg6IFJlbW92ZSBmaWxlLgoJKiB3Y3R5cGUvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBSZW1vdmUgY25hbWUtbG9va3VwLmguCgkqIHdjdHlwZS93Y2hhci1sb29rdXAuaDogSW5jbHVkZSBzdGRpbnQuaC4KCSogd2N0eXBlL3djdHlwZS5jIChfX3djdHlwZSk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCSogd2N0eXBlL3djdHlwZV9sLmMgKF9fd2N0eXBlX2wpOiBMaWtld2lzZS4KCSogd2N0eXBlL2lzd2N0eXBlLmM6IERvbid0IGluY2x1ZGUgY25hbWUtbG9va3VwLmguCgkoX19pc3djdHlwZSk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCSogd2N0eXBlL2lzd2N0eXBlX2wuYzogRG9uJ3QgaW5jbHVkZSBjbmFtZS1sb29rdXAuaC4KCShfX2lzd2N0eXBlX2wpOiBBc3N1bWUgbmV3IGxvY2FsZSBmb3JtYXQuCgkqIHdjdHlwZS93Y3RyYW5zLmM6IERvbid0IGluY2x1ZGUgY3R5cGUuaC4KCSh3Y3RyYW5zKTogQXNzdW1lIG5ldyBsb2NhbGUgZm9ybWF0LgoJKiB3Y3R5cGUvd2N0cmFuc19sLmMgKF9fd2N0cmFuc19sKTogTGlrZXdpc2UuCgkqIHdjdHlwZS90b3djdHJhbnMuYzogRG9uJ3QgaW5jbHVkZSBjbmFtZS1sb29rdXAuaC4KCShfX3Rvd2N0cmFucyk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCSogd2N0eXBlL3Rvd2N0cmFuc19sLmM6IERvbid0IGluY2x1ZGUgY25hbWUtbG9va3VwLmguCgkoX190b3djdHJhbnNfbCk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCSogd2N0eXBlL3djZnVuY3MuYzogRG9uJ3QgaW5jbHVkZSBjdHlwZS5oIGFuZCBjbmFtZS1sb29rdXAuaC4gSW5jbHVkZQoJbG9jYWxlaW5mby5oIGluc3RlYWQuCgkoX19OT19XQ1RZUEUpOiBSZW1vdmUgdW51c2VkIG1hY3JvLgoJKF9fY3R5cGUzMl9iLCBfX2N0eXBlMzJfdG91cHBlciwgX19jdHlwZTMyX3RvbG93ZXIpOiBSZW1vdmUKCWRlY2xhcmF0aW9ucy4KCShpc3dhbG51bSwgaXN3YWxwaGEsIGlzd2NudHJsLCBpc3dkaWdpdCwgaXN3bG93ZXIsIGlzd2dyYXBoLCBpc3dwcmludCwKCWlzd3B1bmN0LCBpc3dzcGFjZSwgaXN3dXBwZXIsIGlzd3hkaWdpdCk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCSh0b3dsb3dlciwgdG93dXBwZXIpOiBMaWtld2lzZS4KCSogd2N0eXBlL3djZnVuY3NfbC5jOiBEb24ndCBpbmNsdWRlIGNuYW1lLWxvb2t1cC5oLiBJbmNsdWRlCglsb2NhbGVpbmZvLmggaW5zdGVhZC4KCShfX05PX1dDVFlQRSk6IFJlbW92ZSB1bnVzZWQgbWFjcm8uCgkoX19pc3dhbG51bV9sLCBfX2lzd2FscGhhX2wsIF9faXN3Y250cmxfbCwgX19pc3dkaWdpdF9sLCBfX2lzd2xvd2VyX2wsCglfX2lzd2dyYXBoX2wsIF9faXN3cHJpbnRfbCwgX19pc3dwdW5jdF9sLCBfX2lzd3NwYWNlX2wsIF9faXN3dXBwZXJfbCwKCV9faXN3eGRpZ2l0X2wpOiBBc3N1bWUgbmV3IGxvY2FsZSBmb3JtYXQuCgkoX190b3dsb3dlcl9sLCBfX3Rvd3VwcGVyX2wpOiBMaWtld2lzZS4KCSogd2NzbWJzL3djd2lkdGguaDogRG9uJ3QgaW5jbHVkZSBjbmFtZS1sb29rdXAuaC4KCShfX2N0eXBlMzJfYik6IFJlbW92ZSBkZWNsYXJhdGlvbi4KCShpbnRlcm5hbF93Y3dpZHRoKTogQXNzdW1lIG5ldyBsb2NhbGUgZm9ybWF0LgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoc3RydWN0IGxvY2FsZV9jdHlwZV90KTogUmVtb3ZlIGZpZWxkcwoJcGxhbmVfc2l6ZSwgcGxhbmVfY250LCBuYW1lcywgd2lkdGguIFJlbmFtZSBtYXAgdG8gbWFwX2IsIHJlbmFtZSBtYXAzMgoJdG8gbWFwMzJfYiwgcmVuYW1lIHdpZHRoXzNsZXZlbCB0byB3aWR0aC4KCShjdHlwZV9vdXRwdXQpOiBBbHdheXMgY3JlYXRlIG5ldyBsb2NhbGUgZm9ybWF0LiBEb24ndCBlbWl0CglfTkxfQ1RZUEVfTkFNRVMsIF9OTF9DVFlQRV9IQVNIX1NJWkUsIF9OTF9DVFlQRV9IQVNIX0xBWUVSUyBhbnkgbW9yZS4KCShhbGxvY2F0ZV9hcnJheXMpOiBBbHdheXMgY3JlYXRlIG5ldyBsb2NhbGUgZm9ybWF0LgoKCSogbG9jYWxlL0MtY29sbGF0ZS5jIChfbmxfQ19MQ19DT0xMQVRFKTogVXBkYXRlLgoJKiBsb2NhbGUvd2VpZ2h0d2MuaCAoZmluZGlkeCk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCSogc3RyaW5nL3N0cmNvbGwuYyAod2NzY29sbCk6IFJlbW92ZSBsb2NhbCB2YXJpYWJsZXMgc2l6ZSwgbGF5ZXJzLAoJbmFtZXMuCgkqIHN0cmluZy9zdHJ4ZnJtLmMgKHdjc3hmcm0pOiBMaWtld2lzZS4KCSogcG9zaXgvZm5tYXRjaF9sb29wLmMgKGludGVybmFsX2Zud21hdGNoKTogTGlrZXdpc2UuIENoYW5nZSB0eXBlIG9mCglsb2NhbCB2YXJpYWJsZSBjb2xsc2VxIHRvICdjb25zdCBjaGFyIConLgoJKFNVRkZJWCk6IERvbid0IHVzZSwgZG9uJ3QgdW5kZWZpbmUuCgkqIHBvc2l4L2ZubWF0Y2guYzogUmVtb3ZlIFNVRkZJWCBkZWZpbml0aW9uLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChzdHJ1Y3QgbG9jYWxlX2NvbGxhdGVfdCk6IFJlbW92ZQoJZmllbGRzIHBsYW5lX3NpemUsIHBsYW5lX2NudCwgd2NoZWFkcywgd2NzZXFvcmRlci4gUmVuYW1lCgl3Y2hlYWRzXzNsZXZlbCB0byB3Y2hlYWRzLCByZW5hbWUgd2NzZXFvcmRlcl8zbGV2ZWwgdG8gd2NzZXFvcmRlci4KCShjb2xsYXRlX2ZpbmlzaCk6IEFsd2F5cyBjcmVhdGUgbmV3IGxvY2FsZSBmb3JtYXQuIFJlbW92ZSBsb2NhbAoJdmFyaWFibGVzIG1pbl90b3RhbCwgYWN0X3NpemUuCgkoY29sbGF0ZV9vdXRwdXQpOiBBbHdheXMgY3JlYXRlIG5ldyBsb2NhbGUgZm9ybWF0LiBSZW1vdmUgbG9jYWwKCXZhcmlhYmxlcyB0YWJsZV9zaXplLCBuYW1lcywgdGFibGV3Yy4gUmVuYW1lIHRhYmxld2NfM2xldmVsIHRvCgl0YWJsZXdjLgoKMjAwMC0wOC0zMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAob2JzdGFja19pbnQzMl9ncm93LAoJb2JzdGFja19pbnQzMl9ncm93X2Zhc3QpOiBOZXcgaW5saW5lIGZ1bmN0aW9ucy4KCShvdXRwdXRfd2VpZ2h0d2MsIGNvbGxhdGVfb3V0cHV0KTogVXNlIHRoZW0gd2hlcmUgcG9zc2libGUuCgoyMDAwLTA5LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2xpYmlvLmggKF9JT19mbG9ja2ZpbGUsIF9JT19mdW5sb2NrZmlsZSk6IEZpeCB0eXBvIGluIGxhc3QKCXBhdGNoIChfbW9kZSAtPiBfZmxhZ3MpLgoKCSogbGliaW8vTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgc3RkaW9fZXh0LmguCgkocm91dGluZXMpOiBBZGQgX19mYnVmc2l6ZSwgX19mcmVhZGluZywgX19md3JpdGluZywgX19mcmVhZGFibGUsCglfX2Z3cml0YWJsZSwgX19mbGJmLCBfX2ZwdXJnZSwgX19mcGVuZGluZywgYW5kIF9fZnNldGxvY2tpbmcuCgkqIGxpYmlvL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yKTogQWRkIF9fZmJ1ZnNpemUsIF9fZnJlYWRpbmcsCglfX2Z3cml0aW5nLCBfX2ZyZWFkYWJsZSwgX19md3JpdGFibGUsIF9fZmxiZiwgX19mcHVyZ2UsIF9fZnBlbmRpbmcsCglfX2ZzZXRsb2NraW5nLCBhbmQgX2ZsdXNobGJmLgoJKiBsaWJpby9fX2ZidWZzaXplLmM6IE5ldyBmaWxlLgoJKiBsaWJpby9fX2ZsYmYuYzogTmV3IGZpbGUuCgkqIGxpYmlvL19fZnBlbmRpbmcuYzogTmV3IGZpbGUuCgkqIGxpYmlvL19fZnB1cmdlLmM6IE5ldyBmaWxlLgoJKiBsaWJpby9fX2ZyZWFkYWJsZS5jOiBOZXcgZmlsZS4KCSogbGliaW8vX19mcmVhZGluZy5jOiBOZXcgZmlsZS4KCSogbGliaW8vX19mc2V0bG9ja2luZy5jOiBOZXcgZmlsZS4KCSogbGliaW8vX19md3JpdGFibGUuYzogTmV3IGZpbGUuCgkqIGxpYmlvL19fZndyaXRpbmcuYzogTmV3IGZpbGUuCgkqIGxpYmlvL3N0ZGlvX2V4dC5oOiBOZXcgZmlsZS4KCSogbGliaW8vZ2Vub3BzLmMgKF9JT19mbHVzaF9hbGxfbGluZWJ1ZmZlcmVkKTogQWRkIGFsaWFzIF9mbHVzaGxiZi4KCSogbGliaW8vbGliaW8uaCAoX0lPX1VTRVJfTE9DSyk6IERlZmluZS4KCVtfSU9fTVRTQUZFX0lPXSAoX0lPX2Zsb2NrZmlsZSwgX0lPX2Z1bmxvY2tmaWxlKTogQWRkIG1hY3JvcyB3aGljaAoJdGVzdCBfSU9fVVNFUl9MT0NLIGZsYWcgZmlyc3QuCgoJKiBpY29udi9nY29udl9vcGVuLmMgKF9fZ2NvbnZfb3Blbik6IFNldCByZXMgdG8gX19HQ09OVl9OT01FTSBpcwoJbWFsbG9jIGZhaWxzLgoKMjAwMC0wOS0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9mY250bC5oOiBBbHdheXMgZmFpbC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9mY250bC5oOiBOZXcgZmlsZS4KCjIwMDAtMDgtMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWRlZmludGlvbnMuCgkqIG1hdGgvdHN0LWRlZmluaXRpb25zLmM6IE5ldyBmaWxlLgoKCSogc3RkbGliL01ha2VmaWxlIChoZWFkZXJzKTogQWRkIGJpdHMvd2NoYXIuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9iaXRzL3djaGFyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy93Y2hhci5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0ZGludC5oOiBJbmNsdWRlIDxiaXRzL3djaGFyLmg+LiAgVXNlIHZhbHVlcyBpbiB0aGlzCglmaWxlIHRvIGRlZmluZSBXQ0hBUl9NSU4gYW5kIFdDSEFSX01BWC4KCUNoYW5nZSBVSU5UKjhfTUFYIGFuZCBVSU4qMTZfTUFYIHZhbHVlIHRvIHR5cGUgaW50LgoJKiB3Y3NtYnMvd2NoYXIuaDogSW5jbHVkZSA8Yml0cy93Y2hhci5oPi4gIFVzZSB2YWx1ZXMgaW4gdGhpcwoJZmlsZSB0byBkZWZpbmUgV0NIQVJfTUlOIGFuZCBXQ0hBUl9NQVguCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2JpdHMvbWF0aGRlZi5oOiBNYWtlIEZQX0lMT0dCMCBhbmQgRlBfSUxPR0JOQU4KCWludCB2YWx1ZXMuCgkqIHN5c2RlcHMvYXJtL2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvZnB1L2JpdHMvbWF0aGRlZi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2JpdHMvbWF0aGRlZi5oOiBMaWtld2lzZS4KCSogbG9jYWxlL2xvY2FsZS5oIChzdHJ1Y3QgbGNvbnYpOiBBZGQgX18gcHJlZml4IHRvIHRoZSBuZXcgbWVtYmVycwoJaWYgbm90IEM5OS4KCSogc3lzZGVwcy9nZW5lcmljL2ludHR5cGVzLmg6IFJlbW92ZSB1bm5lY2Vzc2FyeSBpbWF4YWJzIGFuZAoJaW1heGRpdiBvcHRpbWl6YXRpb25zLgoJKiBzeXNkZXBzL3dvcmRzaXplLTMyL2xsZGl2LmM6IEFkZCBoYWNrIHRvIG1ha2UgYWxpYXMgd29yay4KCSogc3lzZGVwcy93b3Jkc2l6ZS02NC9sZGl2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9iaXRzL2ZlbnYuaDogQ2hhbmdlIHR5cGUgb2YgRkVfKl9FTlYgbWFjcm9zIHRvCgljb25zdCBmZW52X3QqLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9mZW52Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvZmVudi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L2JpdHMvZmVudi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9iaXRzL2ZlbnYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9iaXRzL2ZlbnYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9mcHUvYml0cy9mZW52Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9iaXRzL2ZlbnYuaDogTGlrZXdpc2UuCglSZXBvcnRlZCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBpbmV0L3JjbWQuYzogVXNlICpzdGF0NjQgaW5zdGVhZCBvZiAqc3RhdCBpbnRlcm5hbGx5LgoJKiBpbmV0L3J1c2VycGFzcy5jOiBMaWtld2lzZS4KCSogY2F0Z2V0cy9vcGVuX2NhdGFsb2cuYzogTGlrZXdpc2UuCgkqIGludGwvbG9hZG1zZ2NhdC5jOiBMaWtld2lzZS4KCSogaW8vZ2V0ZGlybmFtZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL2xvYWRsb2NhbGUuYzogTGlrZXdpc2UuCgkqIG1pc2MvZ2V0dXNlcnNoZWxsLmM6IExpa2V3aXNlLgoJKiBzdGRsaWIvY2Fub25pY2FsaXplLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L2V1aWRhY2Nlc3MuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvaXNmZHR5cGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvcG9zaXhfZmFsbG9jYXRlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L3RlbXBuYW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvZ3JhbnRwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L29wZW5kaXIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZzdGF0dmZzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pbnRlcm5hbF9zdGF0dmZzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wdHNuYW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zdGF0dmZzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90dHluYW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90dHluYW1lX3IuYzogTGlrZXdpc2UuCgkqIHN5c3ZpcGMvZnRvay5jOiBMaWtld2lzZS4KCSogdGltZS9nZXRkYXRlLmM6IExpa2V3aXNlLgoKCSogdGltZS9nZXRkYXRlLmM6IEFkZCBleHRyYSBhY2Nlc3MgdGVzdC4KCjIwMDAtMDgtMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdmVyc2lvbi5oIChWRVJTSU9OKTogQnVtcCB0byAyLjEuOTMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL0Rpc3Q6IEFkZCBmZV9ub21hc2suYy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9EaXN0OiBBZGQgb2xkZGlyZW50LmguCgoJKiBpbnRsL01ha2VmaWxlICh0ZXN0cyk6IERlcGVuZCBpbiBtdHJhY2UtdHN0LWdldHRleHQuCglNYWtlIHRoaXMgYSBuZXcgcnVsZSBkZXBlbmRpbmcgb24gdHN0LWdldHRleHQub3V0IGFuZCBydW4gbXRyYWNlLgoJKiBpbnRsL3RzdC1nZXR0ZXh0LmM6IENhbGwgbXRyYWNlLgoJKiBpbnRsL3RzdC1nZXR0ZXh0LnNoOiBQdXQgTUFMTE9DX1RSQUNFIGluIGVudmlyb25tZW50IG9mIHRzdC1nZXR0ZXh0LgoKCSogZWxmL2RsLXJlbG9jLmM6IEFkZCBhIGZldyBtb3JlIF9fYnVpbHRpbl9leHBlY3QuCgoJKiBjb25maWd1cmUuaW46IFJlbW92ZSAtLXdpdGgtZ2V0dGV4dCBvcHRpb24uCgoJKiBpbnRsL2RjaWdldHRleHQuYyAoZnJlZV9tZW0pOiBDb3JyZWN0IGZyZWVpbmcgb2YKCV9ubF9kb21haW5fYmluZGluZ3MgbGlzdC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZXRlbnYuYyAoZnJlZV9tZW0pOiBOZXcgZnVuY3Rpb24uICBGcmVlIGFsbAoJYWxsb2NhdGVkIG1lbW9yeS4KCgkqIGludGwvbG9jYWxlLmFsaWFzOiBBZGQgYWxpYXNlcyBmb3IgYm9rbWFsIGFuZCBueW5vcnNrLgoKCSogbG9jYWxlL2lzby02MzkuZGVmOiBGaXggNjM5LTEgY29kZSBmb3IgQm9rbWFsLgoKCSogc3RkaW8tY29tbW9uL2l0b2EtZGlnaXRzLmM6IE1vdmUgdXBwZXIgZGlnaXRzIHRvLi4uCgkqIHN0ZGlvLWNvbW1vbi9pdG9hLXVkaWdpdHMuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIGl0b2EtdWRpZ2l0cy4KCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbCk6IEZvciB0aGUgdmVyc2lvbiB0bwoJcmVsb2NhdGUgbGQuc28gZG9uJ3QgYWRkIHN1cHBydCBmb3IgcmVsb2NhdGlvbnMgd2hpY2ggc2hvdWxkIG5vdAoJYXBwZWFyIGluIGxkLnNvLgoKCSogbWFsbG9jL21hbGxvYy5jIChwdG1hbGxvY19pbml0KTogT3B0aW1pemUgYSBiaXQgYnkgbm90IGNhbGxpbmcKCV9fc2VjdXJlX2dldGVudi4gIEluc3RlYWQgdGVzdCBfX2xpYmNfZW5hYmxlX3NlY3VyZSBvbmNlLgoKCSogaW8vcHdkLmMgKG1haW4pOiBQcm92aWRlIGEgZ29vZCBleGFtcGxlLCB1c2UgKl91bmxvY2tlZCBmdW5jdGlvbi4KCjIwMDAtMDgtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfY29uZi5jIChpbnNlcnRfbW9kdWxlKTogVGFrZSBleHRyYSBwYXJhbWV0ZXIgdG8gZGVjaWRlCgl3aGV0aGVyIHRoZSBuZXcgcmVjb3JkIHNob3VsZCBiZSBmcmVlZCBpZiBpdCdzIGEgZHVwbGljYXRlLgoJKGFkZF9tb2R1bGUpOiBBZGp1c3QgaW5zZXJ0X21vZHVsZSBjYWxsLgoJKF9fZ2NvbnZfcmVhZF9jb25mKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9NYWtlZmlsZSAoZ2VuZXJhdGVkKTogQWRkIHRzdC1sb2FkaW5nLm10cmFjZSBhbmQKCW10cmFjZS10c3QtbG9hZGluZy4KCSh0ZXN0cyk6IE1ha2UgJChvYmpwZngpbXRyYWNlLXRzdC1sb2FkaW5nIGEgZGVwZW5kZW5jeS4gIEFkZCBydWxlLgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IEFkZCBkZWNsYXJhdGlvbiBmb3IgX2RsX2FsbF9kaXJzIGFuZAoJX2RsX2FsbF9pbml0X2RpcnMuCgkqIGluY2x1ZGUvbGluay5oIChzdHJ1Y3Qgcl9zZWFyY2hfcGF0aF9zdHJ1Y3QpOiBOZXcuCgkoc3RydWN0IGxpbmtfbWFwKTogVXNlIGl0IGZvciBsX3JwYXRoX2RpcnMgYW5kIGxfcnVucGF0aF9kaXJzLgoJKiBlbGYvVmVyc2lvbnMgW2xkXSAoR0xJQkNfMi4yKTogQWRkIF9kbF9hbGxfZGlycyBhbmQKCV9kbF9hbGxfaW5pdF9kaXJzLgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogRnJlZSBsX3JwYXRoX2RpcnMgYW5kIGxfcnVucGF0aF9kaXJzLgoJKiBlbGYvZGwtbGliYy5jIChmcmVlX21lbSk6IEZyZWUgX2RsX2FsbF9kaXJzIGxpc3QgZXhjZXB0IGVsZW1lbnRzCglhZGRlZCBhdCBzdGFydHVwIHRpbWUuCgkqIGVsZi9kbC1sb2FkLmM6IEZpeCBtZW1vcnkgaGFuZGxpbmcuICByX3NlYXJjaF9wYXRoX3N0cnVjdAoJY29udGFpbnMgZWxlbWVudCB0byByZW1lbWJlciBmYWN0IHRoYXQgd2UgY2FuIGZyZWUgbWVtb3J5LgoJKGFsbF9kaXJzKTogUmVuYW1lZCB0byBfZGxfYWxsX2RpcnMuICBNYWRlIGdsb2JhbC4KCShfZGxfaW5pdF9hbGxfZGlycyk6IE5ldyB2YXJpYWJsZS4KCShmaWxsaW5fcnBhdGgpOiBTYXZlIG9uZSBtYWxsb2MgY2FsbC4KCShkZWNvbXBvc2VfcnBhdGgpOiBDaGFuZ2UgaW50ZXJmYWNlLiAgTmV3IGZpcnN0IHBhcmFtZXRlciBwb2ludHMgdG8KCXJfc2VhcmNoX3BhdGhfc3RydWN0LgoJKF9kbF9pbml0X3BhdGhzKTogQWRqdXN0IGZvciBjaGFuZ2VzLiAgTWFyayBhbGwgbWVtb3J5IGFzIG5vdAoJZGVsZXRhYmxlLiAgU2V0IF9kbF9pbml0X2FsbF9wYXRocyB2YWx1ZS4KCShvcGVuX3BhdGgpOiBSZW1vdmUgbWF5X2ZyZWVfZGlycyBwYXJhbWV0ZXIuICByX3NlYXJjaF9wYXRoX2VsZW0gKioqCglwYXJhbWV0ZXIgcmVwbGFjZWQgd2l0aCByX3NlYXJjaF9wYXRoX3N0cnVjdCAqLiAgSW5mb3JtYXRpb24gYWJvdXQKCWZyZWVpbmcgbm93IGNvbnRhaW5lZCBpbiByX3NlYXJjaF9wYXRoX3N0cnVjdC4KCShfZGxfbWFwX29iamVjdCk6IEFkanVzdCBmb3IgYWJvdmUgY2hhbmdlcy4KCgkqIGVsZi9kbC1vcGVuLmMgKGRsX29wZW5fd29ya2VyKTogQ2hhbmdlIGZvcm1hdCBvZiBkZWJ1ZyBpbmZvIGEgYml0LgoKCSogZWxmL2RsLWxvYWQuYyAoZmlsbGluX3JwYXRoKTogT25seSBjaGVjayBmb3IgdHJ1c3RlZCBkaXJlY3RvcmllcwoJd2hlbiBhZGRpbmcgbmV3IGVudHJpZXMuCgoJKiBlbGYvZGwtbG9hZC5jIChmaWxsaW5fcnBhdGgpOiBNYWtlIGxvY2FsIGNvcHkgb2Ygd2hlcmUgc3RyaW5nCglzaW5jZSB0aGUgb2JqZWN0IGJlaW5nIGxvYWRlZCBjYW4gYmUgdW5sb2FkZWQuCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1sb2FkaW5nLgoJKiBpY29udmRhdGEvdHN0LWxvYWRpbmcuYzogTmV3IGZpbGUuCgoyMDAwLTA4LTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jIChfSU9fdmZzY2FuZik6IEJhY2sgb3V0IGxhc3QgdW5nZXRjIGNoYW5nZS4KCVdoZW4gY29tcGFyaW5nIGEgY2hhciB3aXRoIGFuIGludCwgYWx3YXlzIGNhc3QgdGhlIGNoYXIgdG8KCSd1bnNpZ25lZCBjaGFyJy4gTmV3IG1hY3JvIHVuZ2V0Y19ub3RfZW9mLCB0byBhdm9pZCB3YXJuaW5ncyB3aGVuCgljb21waWxpbmcgd2l0aCAtZnVuc2lnbmVkLWNoYXIuCVVzZSBVQ0hBUl9NQVgrMSBpbnN0ZWFkIG9mIFVDSEFSX01BWC4KCjIwMDAtMDgtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZS9zdHJmdGltZS5jIChteV9zdHJmdGltZSk6IEFkZCBjb21wYXRpYmlsaXR5IGNvZGUgZm9yIHVzZQoJb3V0c2lkZSBnbGliYy4gIFBhdGNoIGJ5IEppbSBNZXllcmluZyA8bWV5ZXJpbmdAYXNjZW5kLmNvbT4uCgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgKGdhaWhfbG9jYWwpOiB1bmFtZSBkb2VzIG5vdCBldmVyeXdoZXJlCglyZXR1cm4gMCBmb3Igc3VjY2VzcyBidXQgYWx3YXlzIDwgMCBvbiBmYWlsdXJlLgoKCSogbnNzL2dldFhYYnlZWV9yLmM6IERlZmluZSByZXN1bHQgdG8gKnJlc3VsdCBiZWZvcmUgaW5jbHVkaW5nCglkaWdpdHNfZG90cy5jLgoKMjAwMC0wOC0zMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWF0aC9nZW4tbGlibS10ZXN0LnBsIChwYXJzZV91bHBzKTogUmVtb3ZlIGV4dHJhIFwuCgoyMDAwLTA4LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9iaWc1aGtzY3MuYzogUmV3cml0dGVuLiAgUmVnZW5lcmF0ZSBkYXRhIGZyb20gdGhlCglvZmZpY2lhbCBmaWxlLgoJKiBpY29udmRhdGEvVEVTVFM6IEFkZCBCSUc1SEtTQ1MgZW50cnkuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9CSUc1SEtTQ1M6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvQklHNUhLU0NTLi5VVEY4OiBOZXcgZmlsZS4KCgkqIGljb252ZGF0YS9iaWc1LmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IFJlbW92ZSBjb25kaXRpb24gd2hpY2ggaXMKCWFsd2F5cyB0cnVlLgoKCSogbGliaW8vaW9nZXRsaW5lLmM6IFNldCBtb2RlIGJlZm9yZSB0aGUgbG9vcCBpbiBjYXNlIG49PTAuCgkqIGxpYmlvL2lvZ2V0d2xpbmUuYzogTGlrZXdpc2UuCgoyMDAwLTA4LTI5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBsaWJpby9maWxlb3BzLmMgKG5ld19kb193cml0ZSk6IENoZWNrIGZwLT5fbW9kZSA8PSAwIGluc3RlYWQKCW9mIGZwLT5fbW9kZSA8IDAuCgkoX0lPX25ld19maWxlX292ZXJmbG93KTogTGlrZXdpc2UuCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9fZmx1c2hfYWxsKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnRlbGwuYyAoX0lPX2Z0ZWxsKTogTGlrZXdpc2UuCgoyMDAwLTA4LTI5ICBBa2lyYSBIaWd1Y2hpICA8YUBrb25kYXJhLm9yZz4KCgkqIGljb252L2djb252X2RiLmMgKGluY3JlbWVudF9jb3VudGVyKTogUmVzZXQgX19pbml0X2ZjdCwgX19mY3QsCglhbmQgX19lbmRfZmN0IGZpZWxkcyBvZiBzdHJ1Y3QgX19nY29udl9zdGVwLgoJKiBpY29udi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgaWNvbnYtYnVnMi4KCSogaWNvbnYvaWNvbnYtYnVnMi5jOiBOZXcgZmlsZS4KCgkqIGljb252ZGF0YS9ldWMta3IuYyAoQk9EWSBmb3IgRlJPTV9MT09QKTogUGFzcyAnaW5lbmQgLSBpbnB0cicKCWluc3RlYWQgb2YgJ2lucHRyIC0gaW5lbmQnIHRvIGtzYzU2MDFfdG9fdWNzNC4KCgkqIGljb252ZGF0YS9zamlzLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IEFsbG93IDB4N2YgY2hhcmFjdGVyLgoKCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IElmIGFuIGluY29tcGxldGUKCWNoYXJhY3RlciBvciBzaGlmdCBzZXF1ZW5jZSBpcyBmb3VuZCBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dAoJc3RyaW5nLCByZXR1cm5fX0dDT05WX0lOQ09NUExFVEVfSU5QVVQgaW5zdGVhZCBvZgoJX19HQ09OVl9FTVBUWV9JTlBVVC4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYyAoQk9EWSBmb3IgRlJPTV9MT09QKTogTGlrZXdpc2UuCgoJKiBpY29udmRhdGEvaXNvLTIwMjItanAuYyAoQk9EWSBmb3IgRlJPTV9MT09QKTogUmV0dXJuCglfX0dDT05WX0lMTEVHQUxfSU5QVVQgZm9yIDhiaXQgY2hhcmFjdGVycy4KCjIwMDAtMDgtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc2lnbmFsL3NpZ25hbC5oIChzaWdwYXVzZSk6IE1vdmUgX19USFJPVyBiZWZvcmUgX19hc21fXy4KCgkqIGluZXQvcmNtZC5jIChfX2NoZWNraG9zdF9zYSk6IElmIGdldG5hbWVpbmZvIHN1Y2NlZWRzIGJ1dCB0aGUKCW5hbWVzIGRvbid0IG1hdGNoIGRvbid0IHJldHVybi4KCVBhdGNoIGJ5IE9sYWYgS2lyY2ggPG9raXJAZmxhc2gubHN0LmRlPi4KCjIwMDAtMDgtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZS9zdHJmdGltZS5jIChteV9zdHJmdGltZSk6IEhhbmRsZSAjIGZsYWcgZm9yICViIGFzIHdlbGwuCgoyMDAwLTA4LTI3ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBwb3NpeC9NYWtlZmlsZSAob3RoZXJsaWJzKTogQWRkIGZvciBidWlsZGluZyB3aXRoIHN0YXRpYy1uc3MKCWZvciAibWFrZSBjaGVjayIuCgoyMDAwLTA4LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL3N0ZGlvLmg6IEFkZCBmbWVtb3BlbiBwcm90b3R5cGUuCgoyMDAwLTA4LTI1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBsaWJpby9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgZm1lbW9wZW4uCgkodGVzdHMpOiBBZGQgdGVzdC1mbWVtb3Blbi4KCSogbGliaW8vVmVyc2lvbnM6IEFkZCBmbWVtb3BlbiB3aXRoIHZlcnNpb24gR0xJQkNfMi4yLgoJKiBsaWJpby90ZXN0LWZtZW1vcGVuLmM6IE5ldyBmaWxlLgoJKiBsaWJpby9mbWVtb3Blbi5jOiBOZXcgZmlsZS4KCVBhdGNoZXMgYnkgSGFubm8gTXVlbGxlciA8a29udGFrdEBoYW5uby5kZT4uCgoyMDAwLTA4LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdzdGFjay5oOiBQcmV2ZW50IGRvdWJsZQoJaW5jbHVzaW9uLiAgUGF0Y2ggYnkgSmVzIFNvcmVuc2VuIDxqZXNAbGludXhjYXJlLmNvbT4uCgoJKiBsb2NhbGUvbG9jYWxlaW5mby5oIChMSU1BR0lDKTogQ2hhbmdlIGJhc2UgbnVtYmVyIHRvIDB4MjAwMDA4MjgKCXRvIGF2b2lkIGNyYXNoaW5nIHN0YXRpY2FsbHkgbGlua2VkIGFwcGxpY2F0aW9ucy4KCjIwMDAtMDgtMjcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIHN0cmluZy9zdHJ4ZnJtLmMgKHN0cnhmcm0sIHdjc3hmcm0pOiBJbmNsdWRlIDxzeXMvcGFyYW0uaD4uCglJZiBucnVsZXMgPT0gMCBhbmQgc3JjbGVuIDwgbiwgY29weSBvbmx5IHNyY2xlbiArIDEgY2hhcmFjdGVycy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9nZXRkb21haW4uYyAoZ2V0ZG9tYWlubmFtZSk6IEluY2x1ZGUgPHN5cy9wYXJhbS5oPi4KCUlmIHRoZSByZXN1bHQgaXMgZml0cyBpbiB0aGUgYnVmZmVyLCBjb3B5IG9ubHkgYXMgbWFueSBieXRlcyBhcyBuZWVkZWQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvX3N0cmVycm9yLmMgKF9fc3RyZXJyb3Jfcik6IERvbid0IHplcm8tZmlsbCB0aGUKCWJ1ZmZlciBhZnRlciBjb3B5aW5nIG51bWJ1ZiBpbnRvIGl0LgoJKiBzeXNkZXBzL21hY2gvX3N0cmVycm9yLmMgKF9fc3RyZXJyb3Jfcik6IExpa2V3aXNlLgoKMjAwMC0wOC0yNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogcG9zaXgvY29uZnN0ci5jIChjb25mc3RyKTogV2hlbiBzdHJpbmdfbGVuID4gbGVuLCBOVUwtdGVybWluYXRlCgl0aGUgcmVzdWx0LiAgV2hlbiBzdHJpbmdfbGVuIDwgbGVuLCBkb24ndCBjbGVhciB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLgoKMjAwMC0wOC0yNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCVN1cHBvcnQgZm9yIG5ldyBMQ19DT0xMQVRFIGZvcm1hdC4KCSogbG9jYWxlL2NvbGwtbG9va3VwLmg6IE5ldyBmaWxlLgoJKiBsb2NhbGUvd2VpZ2h0d2MuaCAoZmluZGlkeCk6IFdoZW4gc2l6ZSA9PSAwLCBjYWxsCgljb2xsaWR4X3RhYmxlX2xvb2t1cC4KCSogd2NzbWJzL3djc2NvbGwuYzogSW5jbHVkZSBjb2xsLWxvb2t1cC5oLgoJKiB3Y3NtYnMvd2NzeGZybS5jOiBMaWtld2lzZS4KCSogcG9zaXgvZm5tYXRjaC5jOiBMaWtld2lzZS4KCSogcG9zaXgvZm5tYXRjaF9sb29wLmMgKGludGVybmFsX2Zud21hdGNoKTogV2hlbiBzaXplID09IDAsIGNhbGwKCWNvbGxzZXFfdGFibGVfbG9va3VwLgoJKiBsb2NhbGUvcHJvZ3JhbXMvM2xldmVsLmg6IE5ldyBmaWxlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYzogKHdjd2lkdGhfdGFibGUsIHdjdHJhbnNfdGFibGUpOiBEZWZpbmUKCWJ5IGluY2x1ZGluZyAiM2xldmVsLmgiLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jICh3Y2hlYWRfdGFibGUsIGNvbGxpZHhfdGFibGUsCgljb2xsc2VxX3RhYmxlKTogTmV3IHR5cGVzLCBkZWZpbmVkIGJ5IGluY2x1ZGluZyAiM2xldmVsLmgiLgoJKGxvY2FsZV9jb2xsYXRlX3QpOiBOZXcgd2NoZWFkc18zbGV2ZWwsIHdjc2Vxb3JkZXJfM2xldmVsIGZpZWxkcy4KCShlbmNvZGluZ19tYXNrLCBlbmNvZGluZ19ieXRlKTogUmVtb3ZlLgoJKHV0ZjhfZW5jb2RlKTogVXNlIHNpbXBsZSBzaGlmdHMgaW5zdGVhZC4KCShjb2xsYXRlX2ZpbmlzaCk6IFdoZW4gIW9sZHN0eWxlX3RhYmxlcywgc2V0IHBsYW5lX3NpemUgYW5kIHBsYW5lX2NudAoJdG8gMCwgYW5kIGluaXRpYWxpemUgYW5kIGZpbGwgd2NoZWFkc18zbGV2ZWwgYW5kIHdjc2Vxb3JkZXJfM2xldmVsLgoJKGNvbGxhdGVfb3V0cHV0KTogTmV3IGxvY2FsIHZhcmlhYmxlIHRhYmxld2NfM2xldmVsLiBXaGVuCgkhb2xkc3R5bGVfdGFibGVzLCBzZXQgdGFibGVfc2l6ZSB0byAwIGFuZCBuYW1lcyB0byBOVUxMIGFuZCBmaWxsCgl0YWJsZXdjXzNsZXZlbCBpbnN0ZWFkIG9mIHRhYmxld2MuIENoYW5nZSBmb3JtYXQgb2YgVEFCTEVXQyBhbmQKCUNPTExTRVFXQyBlbnRyaWVzIHdyaXR0ZW4gdG8gdGhlIGZpbGUuCgkqIGxvY2FsZS9DLWNvbGxhdGUuYyAoY29sbHNlcXdjKTogQ2hhbmdlIGZvcm1hdC4KCShfbmxfQ19MQ19DT0xMQVRFKTogU2V0IEhBU0hfU0laRSBhbmQgSEFTSF9MQVlFUlMgdG8gMCwgY2hhbmdlIGZvcm1hdAoJb2YgQ09MTFNFUVdDLgoJKiBsb2NhbGUvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgY29sbC1sb29rdXAuaCwgcHJvZ3JhbXMvM2xldmVsLmguCgoyMDAwLTA4LTI3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoTUFYX0NIQVJOQU1FU19JRFgpOiBOZXcgbWFjcm8uCgkobG9jYWxlX2N0eXBlX3QpOiBOZXcgY2hhcm5hbWVzX2lkeCBmaWVsZC4KCShjdHlwZV9zdGFydHVwKTogSW5pdGlhbGl6ZSBjaGFybmFtZXNfaWR4IGZpZWxkLgoJKGZpbmRfaWR4KTogU3BlZWQgdXAgZHJhbWF0aWNhbGx5IGJ5IHVzaW5nIGNoYXJuYW1lc19pZHggaW52ZXJzZSB0YWJsZS4KCjIwMDAtMDgtMjcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9DLWN0eXBlLmM6IFN3aXRjaCB0byBuZXcgbG9jYWxlIGZvcm1hdC4KCShfbmxfQ19MQ19DVFlQRV9uYW1lcyk6IFJlbW92ZSBhcnJheS4KCShTVFJVQ1RfQ1RZUEVfQ0xBU1MpOiBOZXcgbWFjcm8uCgkoX25sX0NfTENfQ1RZUEVfY2xhc3Nfe3VwcGVyLGxvd2VyLGFscGhhLGRpZ2l0LHhkaWdpdCxzcGFjZSxwcmludCwKCWdyYXBoLGJsYW5rLGNudHJsLHB1bmN0LGFsbnVtfSwgX25sX0NfTENfQ1RZUEVfbWFwX3t0b3VwcGVyLHRvbG93ZXJ9KToKCU5ldyB0aHJlZS1sZXZlbCB0YWJsZXMuCgkoX25sX0NfTENfQ1RZUEVfd2lkdGgpOiBDaGFuZ2UgZnJvbSBhcnJheSB0byB0aHJlZS1sZXZlbCB0YWJsZS4KCShfbmxfQ19MQ19DVFlQRSk6IEZpeCBuc3RyaW5ncyB2YWx1ZS4gU2V0IEhBU0hfU0laRSBhbmQgSEFTSF9MQVlFUlMKCXRvIDAuIENoYW5nZSBXSURUSCBmb3JtYXQuIFNldCBDTEFTU19PRkZTRVQgYW5kIE1BUF9PRkZTRVQuIEFkZAoJMTIgY2xhc3MgdGFibGVzIGFuZCAyIG1hcCB0YWJsZXMgYXQgdGhlIGVuZC4KCSogY3R5cGUvY3R5cGUtaW5mby5jIChfbmxfQ19MQ19DVFlQRV9uYW1lcyk6IFJlbW92ZSBkZWNsYXJhdGlvbi4KCShfbmxfQ19MQ19DVFlQRV9jbGFzc197dXBwZXIsbG93ZXIsYWxwaGEsZGlnaXQseGRpZ2l0LHNwYWNlLHByaW50LAoJZ3JhcGgsYmxhbmssY250cmwscHVuY3QsYWxudW19LCBfbmxfQ19MQ19DVFlQRV9tYXBfe3RvdXBwZXIsdG9sb3dlcn0pOgoJTmV3IGRlY2xhcmF0aW9ucy4KCShiKTogUmVtb3ZlIHRyYWlsaW5nIHNlbWljb2xvbi4KCShfX2N0eXBlX25hbWVzLCBfX2N0eXBlX3dpZHRoKTogRG9uJ3QgaW5pdGlhbGl6ZS4KCShfX2N0eXBlMzJfd2N0eXBlLCBfX2N0eXBlMzJfd2N0cmFucywgX19jdHlwZTMyX3dpZHRoKTogSW5pdGlhbGl6ZS4KCjIwMDAtMDgtMjcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGVsZi9kbC1sb2FkLmMgKG9wZW5fcGF0aCk6IEFkZCBhIGFyZ3VtZW50IHRlbGxpbmcgd2hldGhlciAqZGlyc3AKCWlzIGd1YXJhbnRlZWQgdG8gYmUgYWxsb2NhdGVkIHdpdGggdGhlIHNhbWUgbWFsbG9jKCkgYW5kIG1heSBiZQoJcGFzc2VkIHRvIGZyZWUoKS4KCShfZGxfbWFwX29iamVjdCk6IFVwZGF0ZSBvcGVuX3BhdGggY2FsbHMuIElmIHJ0bGRfc2VhcmNoX2RpcnMgaGFzCgliZWVuIHNldCB0byBlbXB0eSBieSBhbiBlYXJsaWVyIG9wZW5fcGF0aCBjYWxsLCBkb24ndCBwYXNzIGl0IGFnYWluLgoKMjAwMC0wOC0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2xpYmludGwuaDogSW5jbHVkZSA8bG9jYWxlLmg+IHNpbmNlIGxpYmludGwuaCBkb2Vzbid0IGlmCgl3ZSBhcmUgbm90IG9wdGltaXppbmcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3N5c2RlcC5oOiBQcm90ZWN0IGFnYWluc3QgZG91YmxlCglpbmNsdXNpb24uCgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jICh1bmdldGMpOiBDYXN0IGMgdG8gc2lnbmVkIGNoYXIgZmlyc3QgdG8KCXJlYWxseSBtYXRjaCBFT0YuCglQYXRjaCBieSBGcmFueiBTaXJsIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4uCgoyMDAwLTA4LTI4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBUd2Vha3MgZm9yIEFNRCBBdGhsb24uCgoyMDAwLTA4LTI4ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2dldHBlZXJuYW1lLmMgKF9fZ2V0cGVlcm5hbWUpOiBSZW5hbWVkIGZyb20KCWdldHBlZXJuYW1lLiAgVXNlIElTTyBDIHN0eWxlIGZ1bmN0aW9uIGRlZmluaXRpb24uCgkoZ2V0cGVlcm5hbWUpOiBQcm92aWRlIHdlYWsgYWxpYXMuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3NldHJsaW1pdC5jIChfX3NldHJsaW1pdCk6IFJlbmFtZWQgZnJvbQoJc2V0cmxpbWl0LiAgVXNlIElTTyBDIHN0eWxlIGZ1bmN0aW9uIGRlZmluaXRpb24uCgkoc2V0cmxpbWl0KTogUHJvdmlkZSB3ZWFrIGFsaWFzLgoKMjAwMC0wOC0yOCAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHNobGliLXZlcnNpb25zOiBBZGQgYSBydWxlIGZvciBTLzM5MCB0byB0aGUgbGlibSB2ZXJzaW9uIGxpc3QuCgkqIHN5c2RlcHMvczM5MC9WZXJzaW9uczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvRGlzdDogQWRkIG9sZGdldHJsaW1pdDY0LmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvTWFrZWZpbGU6IEFkZCBvbGRnZXRybGltaXQ2NC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9WZXJzaW9uczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYWxwaGFzb3J0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvY2hvd24uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZnhzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldGRlbnRzNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0cmxpbWl0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2x4c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9vbGRnZXRybGltaXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9yZWFkZGlyNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvcmVhZGRpcjY0X3IuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2NhbmRpcjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXNjYWxscy5saXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC92ZXJzaW9uc29ydDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3hzdGF0LmM6IE5ldyBmaWxlLgoKMjAwMC0wOC0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL01ha2VmaWxlIFskKHN1YmRpcik9PWNzdV0KCShDRkxBR1MtaW5pdGZpbmkucyk6IEFkZCAtRFdFQUtfR01PTl9TVEFSVC4KCgkqIGVsZi9WZXJzaW9ucyBbbGRdIChHTElCQ18yLjIpOiBFeHBvcnQgX2RsX2RlYnVnX2ZpbGVzLgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogUHJpbnQgZGVidWcgbWVzc2FnZSBpZiBvYmplY3QgaXMgbm90Cgl1bmxvYWRlZC4KCSogZWxmL2RsLW9wZW4uYyAoZGxfb3Blbl93b3JrZWQpOiBQcmludCBtZXNzYWdlIGFib3V0IG9wZW5jb3VudCBiZWZvcmUKCXJldHVybmluZyB0byBjYWxsZXIuCgoJKiBwby96aC5wbzogUmVuYW1lZCB0by4uLgoJKiBwby96aF9UVy5wbzogLi4udGhpcy4KCjIwMDAtMDgtMjcgIEdlb2ZmIEtlYXRpbmcgIDxnZW9mZmtAY3lnbnVzLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmVlbmFibHhjcHQuYzogQ29ycmVjdCBib2d1cyBjaGVja2luLgoKCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9mZWRpc2JseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9mZWVuYWJseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9mZWdldGV4Y2VwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9mZV9ub21hc2suYzogTmV3IGZpbGUuCgoyMDAwLTA4LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGluc2VydF93ZWlnaHRzKTogQWxzbyB1cGRhdGUKCWJhY2twb2ludGVyIG9mIG5leHQgZWxlbWVudC4KCShjb2xsYXRlX3JlYWQpOiBBbGxvdyBkZWZpbml0aW9uIG9mIG5ldyBjb2xsYXRpb24gc3ltYm9scyBpbiBzdGFnZSAyLgoJU3ltYm9sIGFmdGVyIHJlb3JkZXItYWZ0ZXIgY2FuIGJlIFVDUzQgdmFsdWUuCglBbGxvdyByZW9yZGVyaW5nIG9mIGNvbGxhdGlvbiBzeW1ib2xzIGFuZCBlbGVtZW50cy4KCURvIG5vdCBvbmx5IG1vdmUgcmVvcmRlciBlbnRyeSBpbiBuZXcgcG9zaXRpb24uICBJbnN0ZWFkIGNhbGwKCWluc2VydF93ZWlnaHQgdG8gZG8gdGhpcyBhbmQgcmVhZCB0aGUgd2VpZ2h0cy4KCgkqIGxvY2FsZS9maW5kbG9jYWxlLmMgKGZyZWVfbWVtKTogQWRkIGNhc3QgdG8gYXZvaWQgd2FybmluZy4KCgkqIGludGwvZGNpZ2V0dGV4dC5jIChEQ0lHRVRURVhUKTogUmVtb3ZlIF9ubF9maW5kX2xhbmd1YWdlIGluIGNvZGUKCXRvIGRldGVybWluZSBpbnZhbGlkIGxvY2FsZSBuYW1lLgoJKiBsb2NhbGUvZmluZGxvY2FsZS5jIChfbmxfZmluZF9sb2NhbGUpOiBMaWtld2lzZS4KCgkqIHBvc2l4L2FubmV4Yy5jOiBDb3JyZWN0IHRlc3QgZm9yIHVuYXZhaWxhYmxlIGZlYXR1cmUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5cy9pby5oIChvdXR3KTogRml4IF9fSU5MSU5FIC0+CglfX2lubGluZS4KCjIwMDAtMDgtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNjYWxscy5saXN0OiBBZGQgZ2V0ZGVudHM2NAoJc3lzY2FsbC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9NYWtlZmlsZSBbJChzdWJkaXIpPT1yZXNvdXJjZV0KCShzeXNkZXBfcm91dGluZXMpOiBBZGQgb2xkZ2V0cmxpbWl0NjQuCgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgdW5sb2FkbW9kLmMsIHJlbGRlcG1vZDEuYywKCXJlbGRlcG1vZDIuYywgcmVsZGVwbW9kMy5jLCBhbmQgcmVsZGVwbW9kNC5jLgoJKHRlc3RzKTogQWRkIHVubG9hZCwgcmVsZGVwLCByZWxkZXAyLCBhbmQgcmVsZGVwMy4KCShtb2R1bGVzLW5hbWVzKTogQWRkIHVubG9hZG1vZCwgcmVsZGVwbW9kMSwgcmVsZGVwbW9kMiwgcmVsZGVwbW9kMywKCWFuZCByZWxkZXBtb2Q0LgoJQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gdW5sb2FkLCByZWxkZXAsIHJlbGRlcDIsIGFuZCByZWxkZXAzLgoJKiBlbGYvZGwtbG9va3VwLmMgKF9kbF9sb29rdXBfc3ltYm9sKTogQWRkIG5ldyBwYXJhbWV0ZXIgZXhwbGljaXQuCglEb24ndCBjcmVhdGUgcmVsb2NhdGlvbiBkZXBlbmRlbmN5IGlmIGl0IGlzIG5vbnplcm8uCgkoX2RsX2xvb2t1cF9zeW1ib2xfc2tpcCk6IFJlbW92ZSByZWxvY2F0aW9uIGRlcGVuZGVuY3kgc3R1ZmYuICBUaGlzCgljYW4gbmV2ZXIgaGFwcGVuIGhlcmUuCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sKTogQWRkIG5ldyBwYXJhbWV0ZXIgZXhwbGljaXQuCglEb24ndCBjcmVhdGUgcmVsb2NhdGlvbiBkZXBlbmRlbmN5IGlmIGl0IGlzIG5vbnplcm8uCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sX3NraXApOiBSZW1vdmUgcmVsb2NhdGlvbiBkZXBlbmRlbmN5CglzdHVmZi4gIFRoaXMgY2FuIG5ldmVyIGhhcHBlbiBoZXJlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogQ2hhbmdlIHByb3RvdHlwZXMuCgkqIGVsZi9kbC1yZWxvYy5jIChSRVNPTFZFX01BUCk6IFBhc3MgMCBpbiBleHBsaWNpdCBwYXJhbWV0ZXIgdG8KCV9kbF9sb29rdXBfdXAgYW5kIF9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbC4KCShSRVNPTFYpOiBMaWtld2lzZS4KCSogZWxmL2RsLXJ1bnRpbWUuYyAoZml4dXApOiBMaWtld2lzZS4KCShwcm9maWxlX2ZpeHVwKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1saWJjLmMgKGRvX2Rsc3ltKTogUGFzcyAxIGluIGV4cGxpY2l0IHBhcmFtZXRlciB0bwoJX2RsX2xvb2t1cF9zeW1ib2wuCgkqIGVsZi9kbC1zeW1ib2wuYyAoX2RsX3N5bWJvbF92YWx1ZSk6IExpa2V3aXNlLgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1zeW0uYyAoX2RsX3N5bSk6IFBhc3MgMSBpbiBleHBsaWNpdCBwYXJhbWV0ZXIgdG8KCV9kbF9sb29rdXBfc3ltYm9sIGlmIGhhbmRsZSBpcyBub3QgUlRMRF9ERUZBVUxULiAgQWx3YXlzIGNvbXB1dGUKCWFuZCBwYXNzIGRvd24gdGhlIGNhbGxlciBtYXAuCgkoX2RsX3ZzeW0pOiBMaWtld2lzZS4KCSogZWxmL3JlbGRlcC5jOiBOZXcgZmlsZS4KCSogZWxmL3JlbGRlcDIuYzogTmV3IGZpbGUuCgkqIGVsZi9yZWxkZXAzLmM6IE5ldyBmaWxlLgoJKiBlbGYvcmVsZGVwbW9kMS5jOiBOZXcgZmlsZS4KCSogZWxmL3JlbGRlcG1vZDIuYzogTmV3IGZpbGUuCgkqIGVsZi9yZWxkZXBtb2QzLmM6IE5ldyBmaWxlLgoJKiBlbGYvcmVsZGVwbW9kNC5jOiBOZXcgZmlsZS4KCSogZWxmL3VubG9hZC5jOiBOZXcgZmlsZS4KCSogZWxmL3VubG9hZG1vZC5jOiBOZXcgZmlsZS4KCgkqIGVsZi9kby1sb29rdXAuaDogUmVtb3ZlIHVudXNlZCB1bmRlZl9uYW1lIHBhcmFtZXRlci4KCSogZWxmL2RsLWxvb2t1cC5jOiBBZGp1c3QgY2FsbGVycy4KCjIwMDAtMDgtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfdHJhbnMuYyAoX19nY29udl90cmFuc2xpdGVyYXRlKTogUGFzcyBOVUxMIGluc3RlYWQgb2YKCWlycmV2ZXJzaWJsZSBpbiByZWN1cnNpdmUgY2FsbCBvZiBjb252ZXJzaW9uIGZ1bmN0aW9uIHRvIHNpZ25hbCB0aGF0CglubyBlcnJvciBoYW5kbGluZyBpcyB3YW50ZWQuCgkqIGljb252L2xvb3AuYyAoaWdub3JlX2Vycm9yc19wKTogaXJyZXZlcnNpYmxlIG11c3QgYmUgIT0gTlVMTCwgdG9vLgoJKFNUQU5EQVJEX0VSUl9IQU5ETEVSKTogRG9uJ3QgZG8gYW55dGhpbmcgaWYgaXJyZXZlcnNpYmxlID09IE5VTEwuCgkqIGljb252L3NrZWxldG9uLmMgKGxpcnJldmVyc2libGVwKTogTmV3IHZhcmlhYmxlLiAgU2V0IHRvIE5VTEwgaXMKCXJlY3Vyc2l2ZSBlcnJvciBoYW5kbGluZyBjYWxsLCBvdGhlcndpc2UgdG8gJmxpcnJldmVyc2libGUuICBVc2UgaXQKCWZvciBjYWxscyB0byBjb252ZXJzaW9uIGZ1bmN0aW9ucy4KCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmMgKHVjczRfaW50ZXJuYWxfbG9vcCk6IERvbid0IGhhbmRsZSBlcnJvcnMgd2hlbgoJdHJhbnNsaXRlcmF0aW5nLgoJKHVjczRfaW50ZXJuYWxfbG9vcF91bmFsaWduZWQpOiBMaWtld2lzZS4KCSh1Y3M0bGVfaW50ZXJuYWxfbG9vcCk6IExpa2V3aXNlLgoJKHVjczRsZV9pbnRlcm5hbF9sb29wX3VuYWxpZ25lZCk6IExpa2V3aXNlLgoKMjAwMC0wOC0yNSAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2kzODYvbWVtY2hyLlM6IENoZWNrIGhpZ2ggYm91bmQgYWdhaW5zdCBjaGFycwoJYWN0dWFsbHkgc2Nhbm5lZC4KCSogc3lzZGVwcy9pMzg2L21lbWNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cG5jcHkuUzogQWRqdXN0IGhpZ2gtYm91bmQgY2hlY2sgdG8KCWFjY291bnQgZm9yIHBvaW50ZXJzIHRoYXQgbGllIG9uZSBiZXlvbmQgZW5kLW9mLWJ1ZmZlci4KCjIwMDAtMDgtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlIChMREZMQUdTLW5vZGVsZXRlKTogQWRkIC1yZHluYW1pYy4KCSogZWxmL25vZGVsZXRlLmMgKGZpbmlfcmFuKTogTmV3IGdsb2JhbCB2YXJpYWJsZS4KCShkb190ZXN0KTogQmVmb3JlIGV2ZXJ5IGRsY2xvc2UgY2FsbCBjbGVhciBmaW5pX3JhbiBhbmQgdGVzdAoJYWZ0ZXJ3YXJkcyB0aGF0IGl0IGlzIG5vdCBzZXQgYnkgdGhlIGRlc3RydWN0b3JzLgoJKiBlbGYvbm9kZWxtb2QxLmM6IEFkZCBkZXN0cnVjdG9yIHdoaWNoIHNldHMgZmluaV9yYW4uCgkqIGVsZi9ub2RlbG1vZDIuYzogTGlrZXdpc2UuCgkqIGVsZi9ub2RlbG1vZDQuYzogTGlrZXdpc2UuCgoyMDAwLTA4LTIxICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogQWRkIGdldHJsaW1pdCBhbmQKCWdldHJsaW1pdCB0byB0aGUgbGlzdC4KCjIwMDAtMDgtMTggIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pYTY0L0ltcGxpZXM6IGdjYyBub3cgaGFzIHN1cHBvcnQgZm9yIHRoZSBJbnRlbCA4MCBiaXQKCWxvbmcgZG91YmxlIGZvcm1hdCBzbyB1c2UgbGRibC05NiBpbnN0ZWFkIG9mIGxkYmwtMTI4LgoKMjAwMC0wOC0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L21tYXAuUyAoX19tbWFwKTogUmV0dXJuIC1FSU5WQUwKCWV2ZW4gaWYgYml0cyAxMCBhIDExIGFyZSBub24temVyby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9tbWFwNjQuUyAoX19tbWFwNjQpOiBMaWtld2lzZS4KCgkqIE1ha2Vjb25maWc6IEVuc3VyZXMgdGhlIHNvdmVyc2lvbnMubWsgcGFydCBvZiBNYWtlZmlsZSBnZXRzCglpbmNsdWRlZCBiZWZvcmUgYnVpbGRpbmcgZ251L2xpYi1uYW1lcy5oCglQYXRjaCBieSBNYWNpZWogVy4gUm96eWNraSA8bWFjcm9AZHMyLnBnLmdkYS5wbD4uCgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogRG9uJ3QgcnVuIGRlc3RydWN0b3JzIG9mIG9iamVjdHMKCW1hcmtlZCBERl8xX05PREVMRVRFLgoKCSogc3lzZGVwcy9wb3NpeC9zeXN0ZW0uYyAoX19saWJjX3N5c3RlbSk6IFdlIGNhbm5vdCB1c2UgdmZvcmsgaGVyZQoJc2luY2Ugd2UgY2FsbCBzaWdhY3Rpb24gaW4gdGhlIGNoaWxkLgoKMjAwMC0wOC0yNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaWNvbnZkYXRhL01ha2VmaWxlICgkKG9ianBmeClidWctaWNvbnYxLm91dCk6IERlcGVuZCBvbgoJZ2NvbnYtbW9kdWxlcy4KCjIwMDAtMDgtMjUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9hcml0aC50ZXhpIChDb250cm9sIEZ1bmN0aW9ucyk6IENsYXJpZnkgcG9zc2libGUKCWFyZ3VtZW50cy4gIENsb3NlcyBQUiBsaWJjLzE4NTYuCgoyMDAwLTA4LTI0ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKHRlc3RzKTogRG9uJ3QgZG8gaXQgZm9yIGNyb3NzIGNvbXBpbGluZy4KCSogbWFsbG9jL01ha2VmaWxlICh0ZXN0cyk6IExpa2V3aXNlLgoKMjAwMC0wOC0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvdW5pY29kZS5jIChnY29udl9pbml0KTogQ29ycmVjdCB0ZXN0IGZvciBkaXJlY3Rpb24uCgoyMDAwLTA4LTI0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYWxsb2MvTWFrZWZpbGUgKGV4dHJhLW9ianMpOiBGaXggbGFzdCBwYXRjaCwgYnVpbGQgbWVtdXNhZ2VzdGF0Cglvbmx5IGlmIExJQkdEIGlzIGF2YWlsYWJsZS4KCjIwMDAtMDgtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcmVzb2x2L3Jlc19zZW5kLmMgKHJlc19vdXJzZXJ2ZXJfcCk6IENsZWFudXAgdGhlIHR5cGUgbWVzcyB0byBhdm9pZAoJcHJvYmxlbXMgd2l0aCBub3cgcmVzdHJpY3QgcGFyYW1ldGVyIHR5cGVzLgoJKGNvbnZhZGRyNHRvNik6IExpa2V3aXNlLgoKMjAwMC0wOC0yNCAgRGVuaXMgSm9zZXBoIEJhcnJvdyAgPGRqYmFycm93QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlZGlzYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlZW5hYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlZ2V0ZXhjZXB0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlbnZfbGliYy5oOiBTb21lIHJlb3JkZXJpbmcsIG5ldyBkZWZpbml0aW9uCglGUENfVkFMSURfTUFTSy4KCjIwMDAtMDgtMjQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbGxvYy9NYWtlZmlsZSAoZXh0cmEtb2Jqcyk6IEFkZCBtZW11c2FnZXN0YXQuby4KCShnZW5lcmF0ZWQpOiBBZGRlZCBtZW11c2FnZSBhbmQgbWVtdXNhZ2VzdGF0IGZvciBtYWtlIGNsZWFuLgoKCSogbGliaW8vdHN0X3B1dHdjLmMgKGRvX3Rlc3QpOiBEZWxldGUgdGVtcG9yYXJ5IGZpbGUuCglNb3ZlIGluY2x1c2lvbiBvZiB0ZXN0LXNrZWxldG9uIHRvIGZyb250IHRvIGhhdmUgcHJvdG90eXBlIGZvcgoJYWRkX3RlbXBfZmlsZS4KCgkqIHBvc2l4L01ha2VmaWxlIChnZW5lcmF0ZWQpOiBBZGQgd29yZGV4cC10c3Qub3V0LgoKMjAwMC0wOC0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvcmVzX2hjb25mLmMgKGZyZWVfbWVtKTogUmVtb3ZlIG5vdCBuZWVkZWQgaWYuCgoJKiB0aW1lL3R6c2V0LmMgKGZyZWVfbWVtKTogTmV3IGZ1bmN0aW9uLgoJKiBzdHJpbmcvc3Ryc2lnbmFsLmMgKGZyZWVfbWVtKTogTmV3IGZ1bmN0aW9uLgoJKiBpbmV0L2luZXRfbnRvYS5jIChmcmVlX21lbSk6IE5ldyBmdW5jdGlvbi4KCSogc3VucnBjL2NsbnRfcGVyci5jIChmcmVlX21lbSk6IE5ldyBmdW5jdGlvbi4KCjIwMDAtMDgtMjQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXNjYWxscy5saXN0OiBVc2UgX19zZXRybGltaXQgYXMgc3Ryb25nIG5hbWUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoKCSogcG9zaXgvdW5pc3RkLmg6IE1vdmUgaW50ZXJuYWwgcHJvdG90eXBlcyBmcm9tIGhlcmUgLi4uCgkqIGluY2x1ZGUvdW5pc3RkLmg6IC4uLiB0byBoZXJlLgoKCSogc3lzdmlwYy9zeXMvc2htLmg6IEFkZCBjb25zdCBhdHRyaWJ1dGUgdG8gX19nZXRwYWdlc2l6ZS4KCjIwMDAtMDgtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZ3JwL2luaXRncm91cHMuYyAoaW5pdGdyb3Vwcyk6IERlYWxsb2NhdGUgZ3JvdXBzIGFycmF5LgoJUmVwb3J0ZWQgYnkgamFuaS5yYWloYUBzb25lcmEuY29tIFtQUiBsaWJjLzE4NjhdLgoKCSogc3lzZGVwcy9zMzkwL0Rpc3Q6IEFkZCBmcHUvZmVudl9saWJjLmguCgkqIHN5c2RlcHMvYWxwaGEvRGlzdDogTGlrZXdpc2UuCgoyMDAwLTA4LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNyeXB0L21kNS1jcnlwdC5jIChmcmVlX21lbSk6IEZpeCB0eXBvIChjb25zdHJ1Y3RvciAtPgoJZGVzdHJ1Y3RvcikuICBSZXBvcnRlZCBieSBTb2xhciBEZXNpZ25lciA8c29sYXJAZmFsc2UuY29tPi4KCgkqIGljb252L2djb252X2NvbmYuYyAoYWRkX21vZHVsZSk6IFJlbW92ZSBzb21lIHVubmVlZGVkIGNvZGUgdG8KCWF2b2lkIGFkZGluZyBkb3VibGUgc2xhc2hlcy4KCjIwMDAtMDgtMjMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZGlyZW50L2RpcmVudC5oIChhbHBoYXNvcnQsIHZlcnNpb25zb3J0KTogTW92ZSBfX2F0dHJpYnV0ZV9wdXJlX18KCW91dCBvZiB0aGUgX19SRURJUkVDVCBtYWNyby4KCjIwMDAtMDgtMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYzogQWRkICVGIGZvcm1hdCBzdXBwb3J0LgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX291dHB1dCk6IE1ha2Ugc3VyZQoJX05MX0NUWVBFX1RSQU5TTElUX0RFRkFVTFRfTUlTU0lOR19MRU4gYW5kCglfTkxfQ1RZUEVfVFJBTlNMSVRfSUdOT1JFX0xFTiBhcmUgYWxpZ25lZC4KCShjdHlwZV9yZWFkKTogRW5hYmxlIHJldHVybmluZyBvZiB3aWRlIGNoYXJhY3RlciBzdHJpbmdzIGZvciByZWFkaW5nCgl0cmFuc2xpdGVyYXRpb24gaW5mb3JtYXRpb24uCgoyMDAwLTA4LTIzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5cy9pby5oIChfRVhURVJOX0lOTElORSk6IFJlbW92ZS4KCVVzZSBzdGF0aWMgX19pbmxpbmUgaW5zdGVhZCBvZiBfRVhURVJOX0lOTElORS4KCgkqIG1pc2Mvc3lzL3NlbGVjdC5oOiBNb3ZlIHByb3RvdHlwZXMgb2YgX19zZWxlY3QgZnJvbSBoZXJlIC4uLgoJKiBpbmNsdWRlL3N5cy9zZWxlY3QuaDogLi4uIHRvIGhlcmUuCgoJKiBzb2NrZXQvc3lzL3NvY2tldC5oOiBNb3ZlIHByb3RvdHlwZXMgb2YgX19zZW5kIGFuZCBfX2Nvbm5lY3QKCWZyb20gaGVyZS4uLi4KCSogaW5jbHVkZS9zeXMvc29ja2V0Lmg6IC4uLiB0byBoZXJlLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX3JlYWQpOiBGaXggcGFyYW1ldGVyIGZvcgoJbHJfZXJyb3IuCgoyMDAwLTA4LTIzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc3lzY2FsbHMubGlzdDogVXNlCglfX3NldHJsaW1pdCBhcyBzdHJvbmcgbmFtZS4gVGFrZXMgb25seSAyIGFyZ3VtZW50cy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2NhbGxzLmxpc3Q6IF9fc3lzY2FsbF9zZXRybGltaXQKCXRha2VzIG9ubHkgMiBhcmd1bWVudHMuCgoyMDAwLTA4LTIzICBNYXJ0aW4gU2Nod2lkZWZza3kJPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvX19sb25nam1wLmM6IEFkZCBfXyB0byBKQl9HUFIqLgoKCSogc3lzZGVwcy9zMzkwL2JpdHMvc2V0am1wLmg6IEFkZCBfXyB0byBKQl9HUFIqIGRlZmluZXMuCgoyMDAwLTA4LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjdHlwZV9yZWFkKTogQWxsb3cgbW9yZSB0aGFuIG9uZQoJZGVmYXVsdF9taXNzaW5nIGNoYXJhY3RlciBiZWluZyBzcGVjaWZpZWQsIHBpY2sgdGhlIGZpcnN0CglyZXByZXNlbnRhYmxlLgoKMjAwMC0wOC0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW5jbHVkZS93Y2hhci5oOiBBZGQgc29tZSBwdXJlIGF0dHJpYnV0ZXMuCgoJKiB0aW1lL3RpbWUuaDogQWRkIGNvbnN0IGF0dHJpYnV0ZSBmb3IgZHlzaXplLgoKCSogaW5jbHVkZS9zdGRsaWIuaDogQWRkIG1hbGxvYyBhdHRyaWJ1dGUgdG8gX19wb3NpeCBtZW1hbGlnbi4KCgkqIHN0ZGxpYi9zdGRsaWIuaDogQWRkIHNvbWUgcHVyZSBhbmQgbWFsbG9jIGF0dHJpYnV0ZXMuCgkqIHdjc21icy93Y2hhci5oOiBMaWtld2lzZS4KCgkqIGRpcmVudC9kaXJlbnQuaDogQWRkIHNvbWUgcHVyZSBhdHRyaWJ1dGVzLgoJKiBpbmNsdWRlL2RpcmVudC5oOiBMaWtld2lzZS4KCjIwMDAtMDgtMjMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5ldC9uZXRpbmV0L2luLmggKHN0cnVjdCBpbjZfYWRkcik6IERvbid0IGVuZm9yY2UgNjRiaXQgYWxpZ25tZW50CglvbiA2NGJpdCBhcmNoZXMuCgoyMDAwLTA4LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBJbiBjb252ZXJzaW9uIHRvIElTTy0yMDIyLUpQLCBhZGQgdHdvCgltaXNzaW5nIGJ1ZmZlciBzaXplIGNoZWNrcy4KCjIwMDAtMDgtMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2NhbGxzLmxpc3Q6IFVzZSBfX3NldHJsaW1pdCBhcwoJc3Ryb25nIG5hbWUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1vc2luZm8uaDogSW5jbHVkZSAia2VybmVsLWZlYXR1cmVzLmgiLAoJb3RoZXJ3aXNlIF9fTElOVVhfS0VSTkVMX1ZFUlNJT04gbWlnaHQgbm90IGJlIGRlZmluZWQuCgkoTUlOKTogRGVmaW5lIGlmIG5vdCBhbHJlYWR5IGRlZmluZWQuCgoyMDAwLTA4LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jOiBIYW5kbGUgJUYgZm9ybWF0LgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBhcnNlLmggKHBhcnNlX29uZV9zcGVjKTogTGlrZXdpc2UuCglSZXBvcnRlZCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBzdGRpby1jb21tb24vdHN0ZGlvbWlzYy5jOiBBZGQgdGVzdCBmb3IgJUYgcHJpbnRmIGZvcm1hdC4KCgkqIHBvL3poLnBvOiBOZXcgZmlsZS4KCgkqIGljb252ZGF0YS9zamlzLmM6IEluIGNvbnZlcnNpb24gZnJvbSBVQ1M0LCBjb3JyZWN0IHRlc3QgZm9yCgllbm91Z2ggcm9vbSBpbiB0YXJnZXQgYnVmZmVyLgoJUGF0Y2ggYnkgS1VTQU5PIFRha2F5dWtpIDxBRTVULUtTTkBhc2FoaS1uZXQub3IuanA+IFtQUiBsaWJjLzE4NjVdLgoJKiBpY29udmRhdGEvYnVnLWljb252MS5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctaWNvbnYxLgoKCSogbG9jYWxlL2lzby00MjE3LmRlZjogVXBkYXRlIGVudHJ5IGZvciBOaWNhcmFndWEuCgoyMDAwLTA4LTIyICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGh1cmQvaHVyZHNpZy5jOiBSZWFycmFuZ2UgaGVhZGVycyBhIGJpdC4KCShfaHVyZHNpZ19pbml0KTogQmxvY2sgdW50aWwgX2h1cmRfbXNncG9ydF90aHJlYWQgaXMgaW5pdGlhbGl6ZWQKCXdoZW4gY3RocmVhZHMgaXMgYmVpbmcgdXNlZC4KCjIwMDAtMDgtMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGRsLW9zaW5mby5oLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtb3NpbmZvLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1vc2luZm8uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoX2RsX3N5c2RlcF9zdGFydCk6IFVzZSBETF9TWVNERVBfT1NDSEVDSwoJaWYgZGVmaW5lZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jOiBQZXJmb3JtIGtlcm5lbCB2ZXJzaW9uIHRlc3QKCW9ubHkgZm9yICFTSEFSRUQgY2FzZS4JR2V0IHRoZSBjb2RlIGZyb20gZGwtb3NpbmZvLmguCgoJKiBzdGRsaWIvcmFuZG9tX3IuYzogQ2xlYW51cHMuCgkqIHN0ZGxpYi90c3QtcmFuZG9tLmM6IE5ldyBmaWxlLgoJKiBzdGRsaWIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1yYW5kb20uCglQYXRjaGVzIGJ5IE1pY2hhZWwgRmlzY2hlciA8ZmlzY2hlci1taWNoYWVsQGNzLnlhbGUuZWR1Pi4KCjIwMDAtMDgtMjEgIE1hcnRpbiBTY2h3aWRlZnNreQk8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0bXNnLmM6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRwbXNnLmM6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9wdXRtc2cuYzogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3B1dHBtc2cuYzogUmVtb3ZlLgoKMjAwMC0wOC0yMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0IChzeXNjdGwpOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdCAoc3lzY3RsKTogUmVtb3ZlLgoJKF9fc3lzY2FsbF9fc3lzY3RsKTogQWRkLgoKMjAwMC0wOC0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkbGliL3RzdC1zdHJ0b2wuYzogQWRkIHRlc3QgZm9yIDB4RkZGRkZGRkZGRkZGMDBGRiAoZnJvbSBQUgoJbGliYy8xODY0KS4KCSogc3RkbGliL3RzdC1zdHJ0b2xsLmM6IExpa2V3aXNlLgoKMjAwMC0wOC0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvcmFuZG9tX3IuYyAoX19zZXRzdGF0ZV9yKTogQWxzbyBjb21wdXRlIGVuZF9wdHIKCWNvcnJlY3RseS4KCShfX2luaXRzdGF0ZV9yKTogU2V0IGVycm5vIG9uIGVycm9yLgoJKF9fcmFuZG9tX3IpOiBMaWtld2lzZS4KCShfX3NldHN0YXRlX3IpOiBDb3JyZWN0IG9mZnNldCB3aGVuIGNvbXB1dGluZwoJbmV3IHJwdHIgYW5kIGZwdHIuICBUZXN0IGZvciBhcmdfc3RhdGUgYmVpbmcgTlVMTC4KCVJlcG9ydGVkIGJ5IE1pY2hhZWwgRmlzY2hlciA8ZmlzY2hlckBjcy55YWxlLmVkdT4uCgoJKiBwb3NpeC9yZWdleC5oOiBBZGQgbWFjcm8gZGVmaW5pdGlvbnMgdG8gYWxsb3cgY29tcGlsaW5nIG91dHNpZGUKCWdsaWJjLgoKCSogc3lzZGVwcy9pMzcwL0ltcGxpZXM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvbXZzL0ltcGxpZXM6IFJlbW92ZWQuCgoJKiBjYXRnZXRzL2NhdGdldHMuYyAoY2F0b3Blbik6IEZpbHRlciBvdXQgZW52X3ZhciB2YWx1ZXMgd2l0aCAvIGlmCgluZWNlc3NhcnkuCgoJKiBsb2NhbGUvZmluZGxvY2FsZS5jIChfbmxfZmluZF9sb2NhbGUpOiBNb3ZlIHRlc3QgZm9yIHVudXNhYmxlCglsb2NhbGUgbmFtZSBhZnRlciBhbGwgZ2V0ZW52cy4KCgkqIGNvbmZpZ3VyZS5pbjogQWxsb3cgc2VkIHZlcnNpb25zIGxpa2UgMy4wMi44LgoJUGF0Y2ggYnkgUm9kcmlnbyBCYXJib3NhIDxyb2RyaWdvYkBjb25lY3RpdmEuY29tLmJyPi4KCjIwMDAtMDgtMjEgIE1hcmtvIE15bGx5bmVuICA8bXlsbHluZW5AbHV0LmZpPgoKCSogaW5ldC9uZXRpbmV0L2ljbXA2Lmg6IEFkZCBNb2JpbGUgSVB2NiBleHRlbnNpb25zIHN0cnVjdHVyZXMuCgoyMDAwLTA4LTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAoZ2V0aG9zdHMpOiBIYW5kbGUgVFJZX0FHQUlOIGVycm9yCglvZiBnZXRob3N0YnluYW1lMl9yIGNhbGwuCgoJKiBpbnRsL2xvY2FsZS5hbGlhczogQWRkIGFsaWFzZXMgZm9yIEtvcmVhbi4KCjIwMDAtMDgtMjEgIE1hcnRpbiBTY2h3aWRlZnNreQk8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvczM5MC9fX2xvbmdqbXAuYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSByZXN1bHQuCgkqIHN5c2RlcHMvczM5MC9mcHUvYml0cy9mZW52Lmg6IE1vdmUgRlBDXyogZGVmaW5pdGlvbnMgdG8gZmVudl9saWJjLmguCgkqIHN5c2RlcHMvczM5MC9mcHUvZmNscmV4Y3B0LmM6IEluY2x1ZGUgZmVudl9saWJjLmggaW5zdGVhZCBvZiBmZW52LmguCgkqIHN5c2RlcHMvczM5MC9mcHUvZmVnZXRlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvZmVnZXRyb3VuZC5jOiBJbmNsdWRlIGZlbnZfbGliYy5oIGluc3RlYWQgb2YgZmVudi5oLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlaG9sZGV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlbnZfbGliYy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZXNldGVudi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZXNldHJvdW5kLmM6IEluY2x1ZGUgZmVudl9saWJjLmggaW5zdGVhZCBvZiBmZW52LmguCgkqIHN5c2RlcHMvczM5MC9mcHUvZmV1cGRhdGVlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvZmdldGV4Y3B0ZmxnLmM6IFJlZm9ybWF0dGVkLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZwdV9jb250cm9sLmg6IENvcnJlY3RlZCBoZWFkZXIuCgkqIHN5c2RlcHMvczM5MC9mcHUvZnJhaXNlZXhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvZnNldGV4Y3B0ZmxnLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2Z0ZXN0ZXhjZXB0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2xpYm0tdGVzdC11bHBzOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2dtcC1tcGFyYW0uaDogQWRkIGVuZCBvZiBjb21tZW50LgoJKiBzeXNkZXBzL3MzOTAvaW5pdGZpbmkuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvRGlzdDogQWRkIHN5cy9wcm9jZnMuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9NYWtlZmlsZTogUmVtb3ZlIHN5cy9yZWcuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3N0YXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvbGNob3duLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5cy9lbGYuaDogTW92ZSBlbGYgZGVmaW5pdGlvbnMgdG8KCXN5cy9wcm9jZnMuaCBhcyBwcm9wb3NlZCBieSBNYXJrIEtldHRlbmlzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5cy9wcm9jZnMuaDogTmV3IGZpbGUuCgoyMDAwLTA4LTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL3BvbGwuaDogSW5jbHVkZSBpbmNsdWRlL3N5cy9wb2xsLmggdG8gZ2V0IF9fcG9sbAoJZGVjbGFyYXRpb24uCgoJKiBpby9zeXMvcG9sbC5oOiBNb3ZlIF9fcG9sbCBkZWNsYXJhdGlvbiBmcm9tIGhlcmUuLi4KCSogaW5jbHVkZS9zeXMvcG9sbC5oOiAuLi50byBoZXJlLgoKCSogaW5jbHVkZS9zeXMvc29ja2V0LmggKF9fZ2V0cGVlcm5hbWUpOiBBZGQgZGVjbGFyYXRpb24uCgoJKiBpbmNsdWRlL3djaGFyLmggKF9fdnN3cHJpbnRmKTogQWRkIGRlY2xhcmF0aW9uLgoKCSogaW5jbHVkZS9zdGRpby5oIChfX2Zsb2NrZmlsZSk6IEFkZCBkZWNsYXJhdGlvbi4KCShfX2Z1bmxvY2tmaWxlKTogTGlrZXdpc2UuCgoyMDAwLTA4LTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1pc2Mvc3lzL2NkZWZzLmg6IERlZmluZSBfX3Jlc3RyaWN0X2Fyci4KCSogaW5jbHVkZS9zeXMvdGltZS5oOiBBZGQgcmVzdHJpY3Qgd2hlcmUgcmVxdWlyZWQgYnkgQUdkNC4KCSogaW5ldC9hcnBhL2luZXQuaDogTGlrZXdpc2UuCgkqIGlvL3N5cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBpby9zeXMvc3RhdHZmcy5oOiBMaWtld2lzZS4KCSogbWlzYy9zZWFyY2guaDogTGlrZXdpc2UuCgkqIG1pc2Mvc3lzL3NlbGVjdC5oOiBMaWtld2lzZS4KCSogcG9zaXgvZ2xvYi5oOiBMaWtld2lzZS4KCSogcG9zaXgvcmVnZXguaDogTGlrZXdpc2UuCgkqIHBvc2l4L3NwYXduLmg6IExpa2V3aXNlLgoJKiBwb3NpeC91bmlzdGQuaDogTGlrZXdpc2UuCgkqIHJ0L2Fpby5oOiBMaWtld2lzZS4KCSogc2lnbmFsL3NpZ25hbC5oOiBMaWtld2lzZS4KCSogc29ja2V0L3N5cy9zb2NrZXQuaDogTGlrZXdpc2UuCgkqIHN0ZGxpYi91Y29udGV4dC5oOiBMaWtld2lzZS4KCSogc3RyZWFtcy9zdHJvcHRzLmg6IExpa2V3aXNlLgoJKiBzdHJpbmcvc3RyaW5nLmg6IExpa2V3aXNlLgoJKiB0aW1lL3RpbWUuaDogTGlrZXdpc2UuCgkqIHRpbWUvc3lzL3RpbWUuaDogTGlrZXdpc2UuCgoJKiBwb3NpeC9zcGF3bi5oOiBBZGQgZGVjbGFyYXRpb25zIGZvciBwb3NpeF9zcGF3bmF0dHJfZ2V0c2NoZXBhcmFtCglhbmQgcG9zaXhfc3Bhd25hdHRyX3NldHNjaGVwYXJhbS4KCgkqIGxpYmlvL3N0ZGlvLmg6IE1ha2UgY3VzZXJpZCBwcm90b3R5cGUgYWdhaW4gYXZhaWxhYmxlIGZvciBhbGwKCVhQRyB2ZXJzaW9ucy4KCgkqIGFyZ3AvYXJncC1oZWxwLmM6IFVuaWZ5IHVzZSBvZiBmdW5jdGlvbiBhbGlhc2VzIHRvIG1ha2UgbW9yZSBjb21wYWN0CglQTFQuCgkqIGluY2x1ZGUvbGliaW50bC5oOiBMaWtld2lzZS4KCSogaW5ldC9yY21kLmM6IExpa2V3aXNlLgoJKiBpbnRsL2RjaWdldHRleHQuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnB1dHdzLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZwdXR3c191LmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2dldHdsaW5lLmM6IExpa2V3aXNlLgoJKiBsaWJpby9zd3ByaW50Zi5jOiBMaWtld2lzZS4KCSogbWFsbG9jL21hbGxvYy5jOiBMaWtld2lzZS4KCSogbnNzL2RpZ2l0c19kb3RzLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9mbm1hdGNoLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2FkZGNsb3NlLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2FkZGR1cDIuYzogTGlrZXdpc2UuCgkqIHBvc2l4L3NwYXduX2ZhY3Rpb25fYWRkb3Blbi5jOiBMaWtld2lzZS4KCSogcG9zaXgvc3Bhd25pLmM6IExpa2V3aXNlLgoJKiBwb3NpeC93b3JkZXhwLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bmkuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9yZXNfaGNvbmYuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9yZXNfaW5pdC5jOiBMaWtld2lzZS4KCSogc2hhZG93L2xja3B3ZGYuYzogTGlrZXdpc2UuCgkqIHNpZ25hbC9zaWdob2xkLmM6IExpa2V3aXNlLgoJKiBzaWduYWwvc2lncmVsc2UuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9wcmludGYtcGFyc2UuaDogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9wcmludGYtcHJzLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vcHJpbnRmX2ZwLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmM6IExpa2V3aXNlLgoJKiBzdGRsaWIvcnBtYXRjaC5jOiBMaWtld2lzZS4KCSogc3VucnBjL2NyZWF0ZV94aWQuYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9rZXlfY2FsbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3NldHJsaW1pdDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdXRtcF9maWxlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdmxpbWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L3Bvc2l4X2ZhbGxvY2F0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9wb3NpeF9mYWxsb2NhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9zaWdwYXVzZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9zaWdzZXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ncmFudHB0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvYnNkL3VhbGFybS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtb3JpZ2luLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRsb2FkYXZnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90dHluYW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC91bGltaXQuYzogTGlrZXdpc2UuCgkqIHRpbWUvc3RyZnRpbWUuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3Njb2xsLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzeGZybS5jOiBMaWtld2lzZS4KCgkqIHRpbWUvdHN0LWdldGRhdGUuYyAobWFpbik6IE1ha2UgZXJyb3IgbWVzc2FnZXMgbW9yZSBodW1hbiByZWFkYWJsZS4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHVfY29udHJvbC5oIChfRlBVX0dFVENXKTogQWxsb3cgZ2NjIHRvIGdlbmVyYXRlCglwb3N0aW5jL3ByZWRlYyBpbnN0cnVjdGlvbi4KCShfRlBVX1NFVENXKTogTGlrZXdpc2UuCglQYXRjaCBieSBGcmFueiBTaXJsIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4uCgoyMDAwLTA4LTIwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiB0aW1lL3RzdC1nZXRkYXRlLmMgKG1haW4pOiBJbmNyZWFzZSBlcnJvciBpbiBjYXNlIG9mIHdyb25nCgljb252ZXJzaW9uLgoJRml4IHR5cG8gaW4gdGVzdCBjYXNlLgoKMjAwMC0wOC0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjdHlwZS9jdHlwZS5oIChpc2JsYW5rKTogTWFrZSBhdmFpbGFibGUgaWYgSVNPIEM5OS4KCSogd2N0eXBlL3djdHlwZS5oIChpc3dibGFuayk6IE1ha2UgYXZhaWxhYmxlIGlmIElTTyBDOTkuCgkqIG1hdGgvbWF0aC5oIChzaWduZ2FtKTogRG9uJ3QgbWFrZSBhdmFpbGFibGUgaWYgSVNPIEM5OS4KCSogbWF0aC90Z21hdGguaCAodGdhbW1hKTogUmVuYW1lZCBmcm9tIGdhbW1hLgoJUGF0Y2hlcyBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX3VubG9hZF9kb21haW4pOiBBbHNvIGZyZWUgY29udl90YWIgZWxlbWVudC4KCVByZXR0eSBwcmludGluZy4KCSogaW50bC9wbHVyYWwueSAobmV3X2V4cCk6IFRha2UgbnVtYmVyIG9mIG9wdGlvbmFsIHBhcmFtZXRlcnMgaW4KCXNlY29uZCBwYXJhbWV0ZXIuICBUZXN0IGZvciBjb3JyZWN0IG51bWJlciBvZiBwYXJhbWV0ZXJzIGFuZCBmcmVlCgljb3JyZWN0bHkgaW4gY2FzZSBvZiBmYWlsdXJlLiAgQWRqdXN0IGFsbCBjYWxsZXJzLgoJKHl5bGV4KTogQWxsb3cgJzsnIGFzIHRlcm1pbmF0b3IgY2hhcmFjdGVyLgoKMjAwMC0wOC0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvbGMtdGltZS5jIChmcmVlX21lbSk6IE5ldyBmdW5jdGlvbi4gIEZyZWUgYWx0X2RpZ2l0cyBhbmQKCXdhbHRfZGlnaXRzLgoKCSogbG9jYWxlL2ZpbmRsb2NhbGUuYyAoZnJlZV9tZW0pOiBBbHNvIGZyZWUgaGVyZS0+ZmlsZW5hbWUuCgoJKiBsb2NhbGUvbG9hZGxvY2FsZS5jIChfbmxfdW5sb2FkX2xvY2FsZSk6IEFsc28gZnJlZSBsb2NhbGUtPm5hbWUuCgoJKiBtYXRoL3Rlc3QtZmVudi5jIChmZWVudl90ZXN0cyk6IENsZWFyIGFsbCBleGNlcHRpb25zIGJlZm9yZQoJZmlyc3QgdGVzdC4KCShmZWV4Y3Bfbm9tYXNrX3Rlc3QpOiBDb3JyZWN0IHByaW50ZiBhcmdzLgoJKGZlZXhjcF9tYXNrX3Rlc3QpOiBMaWtld2lzZS4KCjIwMDAtMDgtMTkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGluZXQvdHN0LWdldGhubS5jOiBJbmNsdWRlIHN0cmluZy5oIHRvIHByb3ZpZGUgcHJvdG90eXBlIGZvcgoJc3RyY21wLgoKCSogbWFsbG9jL210cmFjZS5wbCAodXNhZ2UpOiBJbmZvcm0gYWJvdXQgLS1oZWxwLgoKMjAwMC0wOC0xOSAgV29sZnJhbSBHbG9nZXIgIDx3Z0BtYWxsb2MuZGU+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKG5ld19oZWFwKTogVHJ5IGhhcmRlciB0byBnZXQgYW4gYWxpZ25lZCBjaHVuayBvZgoJc2l6ZSBIRUFQX01BWF9TSVpFLgoKMjAwMC0wOC0xOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc2hsaWItdmVyc2lvbnM6IFJlbW92ZSBsaWJuc3NfZGIsIGxpYmRiIGFuZCBsaWJkYjEuCgoyMDAwLTA4LTE5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3JlYWRkaXIuYzogTW92ZS4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3JlYWRkaXIuYzogLi4uaGVyZSBhbmQKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9yZWFkZGlyLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3JlYWRkaXJfci5jOiBNb3ZlLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcmVhZGRpcl9yLmM6IC4uLmhlcmUgYW5kCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvcmVhZGRpcl9yLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3JlYWRkaXI2NC5jOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3JlYWRkaXI2NF9yLmM6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0ZGVudHM2NC5jOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldGRlbnRzLmM6IE9ubHkgdXNlIGZvciBub24tTEZTCglnZXRkZW50cy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmVhZGRpcjY0LmM6IFJlbW92ZSB2ZXJzaW9uaW5nLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yZWFkZGlyNjRfci5jOiBMaWtld2lzZS4KCjIwMDAtMDgtMTggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9nbG9iLmggKF9fZ2xvYjY0KTogQWRkIHByb3RvdHlwZS4KCSogc3lzZGVwcy9nZW5lcmljL2dsb2IuYzogSWYgR0xPQl9PTkxZX1AgaXMgZGVmaW5lZCwgb25seQoJZGVmaW5lIGdsb2IgYW5kIGdsb2JfaW5fZGlyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L1ZlcnNpb25zOiBBZGQgZ2xvYjY0QEBHTElCQ18yLjIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9WZXJzaW9uczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvVmVyc2lvbnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL1ZlcnNpb25zOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nbG9iNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9nbG9iNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZ2xvYjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL2dsb2I2NC5jOiBOZXcgZmlsZS4KCjIwMDAtMDgtMTggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWFsbG9jL01ha2VmaWxlIChtZW11c2FnZSk6IGxpYm1lbXVzYWdlLnNvIGlzIGluc3RhbGxlZCBpbiBzbGliZGlyLgoKMjAwMC0wOC0xNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWF0aC90ZXN0LWZlbnYuYyAoZmVfc2luZ2xlX3Rlc3QpOiBOZXcgZnVuY3Rpb24uCgkoZmVfZW52X3Rlc3RzKTogVXNlIGZlX3NpbmdsZV90ZXN0LgoJKGZlZW5hYmxlX3Rlc3QpOiBOZXcgdGVzdHMgZm9yIGZlZW5hYmxlL2ZlZGlzYWJsZSBhbmQKCWZlZ2V0ZXhjcGV0aW9ucy4KCShmZWV4Y3BfbWFza190ZXN0KTogTmV3IGZ1bmN0aW9uLgoJKGZlZXhjcF9ub21hc2tfdGVzdCk6IE5ldyBmdW5jdGlvbi4KCjIwMDAtMDgtMTkgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQGN5Z251cy5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZW52X2xpYmMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZjbHJleGNwdC5jOiBVc2UgaXQuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZlZ2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZXNldHJvdW5kLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZWdldHJvdW5kLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZ2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZyYWlzZWV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mdGVzdGV4Y2VwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVkaXNibHhjcHQuYzogTGlrZXdpc2UuICBVc2UgdGhlIHNtYWxsZXIgbWFzay4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVlbmFibHhjcHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZlZ2V0ZXhjZXB0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZWhvbGRleGNwdC5jOiBSZXRhaW4gdGhlIFNXQ1JfTUFQIGJpdHMuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZXVwZGF0ZWVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZnNldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9iaXRzL2ZlbnYuaCAoRkVfREVOT1JNQUwpOiBOZXcuCgkoRkVfTUFQX0RNWiwgRkVfTUFQX1VNWiwgRkVfTk9OSUVFRV9FTlYpOiBOZXcuCgoyMDAwLTA4LTE5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvY29uc3Rsb2FkMS5jOiBJbmNsdWRlIDxzdGRpby5oPiBmb3IgcHV0cyBwcm90b3R5cGUuCgoyMDAwLTA4LTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9WZXJzaW9ucyBbbGRdIChHTElCQ18yLjIpOiBFeHBvcnQgX2RsX2NoZWNrX21hcF92ZXJzaW9ucy4KCSogZWxmL2RsLWRlcHMuYyAoX2RsX21hcF9vYmplY3RfZGVwcyk6IElmIG9iamVjdCB3YXMgZGVwZW5kZW5jeSBvZgoJYSBkeW5hbWljYWxseSBsb2FkZWQgb2JqZWN0IHJlbW92ZSBvbGQgbF9pbml0ZmluaSBsaXN0LgoJKiBlbGYvZGwtbGliYy5jIChmcmVlX21lbSk6IFVzZWQgYXMgX19saWJjX3N1YmZyZWVyZXMgY2FsbGJhY2sgdG8KCXJlbW92ZSBzb21lIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBtZW1vcnkgYmxvY2tzIGluIHRoZSBkeW5hbWljCglsb2FkaW5nIGRhdGEgc3RydWN0dXJlcy4KCSogZWxmL2RsLWxvYWQuYyAoYWRkX25hbWVfdG9fb2JqZWN0KTogSW5pdGlhbGl6ZSBkb250X2ZyZWUgdG8gMC4KCSogZWxmL2RsLW9wZW4uYyAoZGxfb3Blbl93b3JrZGVyKTogRG9uJ3QgY2FsbCBfZGxfY2hlY2tfYWxsX3ZlcnNpb25zLgoJSW5zdGVhZCBjYWxsIF9kbF9jaGVja19tYXBfdmVyc2lvbnMgb25seSBmb3IgdGhlIGRlcGVuZGVuY2llcy4KCSogZWxmL3J0bGQuYzogQXZvaWQgdW5uZWNjZXNzYXJ5IGluaXRpYWxpemF0aW9ucy4gIE1hcmsgbF9saWJuYW1lCglpbmZvcm1hdGlvbiBvZiBpbml0aWFsIG9iamVjdHMgYXMgbm90IGZyZWUtYWJsZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKHN0cnVjdCBsaWJuYW1lX2xpc3QpOiBBZGQgZG9udF9mcmVlCgllbGVtZW50LgoKCSogZWxmL2ZpbHRlci5jOiBDYWxsIG10cmFjZS4KCSogZWxmL3Jlc3Rlc3QxLmM6IExpa2V3aXNlLiAgQ2xvc2UgdGhlIG9iamVjdHMuCgkqIGVsZi9sb2FkdGVzdC5jOiBDYWxsIG10cmFjZS4gIENoZWNrIHJlc3VsdCBvZiBkbGNsb3NlLiAgUHJpbnQgbW9yZQoJZGVidWcgaW5mb3JtYXRpb24uCgoJKiBlbGYvY29uc3Rsb2FkMS5jOiBBZGQgY29tbWVudCBleHBsYWluaW5nIG5vdCBmcmVlZCBtZW1vcnkuCgoyMDAwLTA4LTE4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc3RhdC5oOiBBZGQgcGFkcyB0byBzaG93CglhbGlnbm1lbnQgZm9yIHN0cnVjdHMgc3RhdCBhbmQgc3RhdDY0LgoJUGF0Y2ggYnkgTWFjaWVqIFcuIFJvenlja2kgPG1hY3JvQGRzMi5wZy5nZGEucGw+LgoKMjAwMC0wOC0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRkZW50cy5jOiBSZW1vdmUgc3BlY2lhbCBkX2lubwoJaGFuZGxpbmcuICBQYXRjaCBieSBSaWNoYXJkIEhlbmRlcnNvbiA8cnRoQHR3aWRkbGUubmV0Pi4KCgkqIG5zcy9WZXJzaW9uczogUmVtb3ZlIGxpYm5zc19kYiBpbmZvcm1hdGlvbi4KCjIwMDAtMDgtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9mcHUvZmVkaXNibHhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZlZW5hYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9mZWdldGV4Y2VwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2ZwdS9lX3NxcnRsLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaDogU3VidHJhY3QgNCAucmVsYS5wbHQgZW50cmllcwoJdG8gbWF0Y2ggU29sYXJpcy4KCjIwMDAtMDgtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2ZwdV9jb250cm9sLmggKF9GUFVfR0VUQ1cpOiBVc2UgdHlwZS1jb3JyZWN0IGNvZGUuCgkoX0ZQVV9TRVRDVyk6IExpa2V3aXNlLgoJUGF0Y2ggYnkgRnJhbnogU2lybCA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+LgoKCSogc3RkaW8tY29tbW9uL3ByaW50Zl9mcC5jOiBGaXggY2hhcnNfbmVlZGVkIGNvbXB1dGF0aW9uLgoJUGF0Y2ggYnkgR3JlZyBNY0dhcnkgPGdyZWdAbWNnYXJ5Lm9yZz4uCgoyMDAwLTA4LTE3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0KTogRG9uJ3QgY3Jhc2ggaWYgYm90aCBsb2FkZXIgYW5kCglfZGxfbG9hZGVkIGFyZSBOVUxMLgoKMjAwMC0wOC0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvYXJpdGgudGV4aSAoZmVob2xkZXhjZXB0KTogUmV0dXJucyAwIG9uIHN1Y2Nlc3MuCgoyMDAwLTA4LTE3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dudS9uZXQvaWYuaCAoc3RydWN0IGlmcmVxKTogQWRkIGlmcnVfbmV3bmFtZS4KCShpZnJfbmV3bmFtZSk6IE5ldy4KCVJlcG9ydGVkIGJ5IEFuZGkgS2xlZW4gPGFrQHN1c2UuZGU+LgoKMjAwMC0wOC0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZWRpc2JseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVlbmFibHhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZlZ2V0ZXhjZXB0LmM6IE5ldyBmaWxlLgoKMjAwMC0wOC0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94c3RhdGNvbnYuYyAoeHN0YXQzMl9jb252KTogVGVzdCBzaXplcwoJb2YgYnVmLT5zdF9pbm8gYW5kIGtidWYtPnN0X2lubywgbm90IF9fc3RfaW5vLgoJSWYgX0hBVkVfU1RBVDY0X19fU1RfSU5PIGlzIG5vdCBkZWZpbmVkLCBkb24ndCB1c2UgX19zdF9pbm8gYXQgYWxsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50czY0LmM6IENoYW5nZSBwYXRoIGluICNpbmNsdWRlCglkaXJlY3RpdmUgc28gdGhhdCBvbmx5IGxpbnV4L2dldGRlbnRzLmMgaXMgdXNlZCwgbm90IHNvbWUKCWFyY2hpdGVjdHVyZSBzcGVjaWZpYyBvbmUuCgoyMDAwLTA4LTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZmVnZXRleGNlcHQuYyAoZmVnZXRleGNlcHQpOiBSZXR1cm4gY3VycmVudGx5CgllbmFibGVkLCBub3QgZGlzYWJsZWQgZXhjZXB0aW9ucy4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZWRpc2JseGNwdC5jIChmZWRpc2FibGVleGNlcHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZWVuYWJseGNwdC5jIChmZWVuYWJsZWV4Y2VwdCk6IExpa2V3aXNlLgoKMjAwMC0wOC0xNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBNYWtlY29uZmlnIChsaW5rLWV4dHJhLWxpYnMtYm91bmRlZCk6IFN0cmlwIGAtYnAnIHN1ZmZpeAoJZnJvbSB0ZXN0IHByb2dyYW0gbmFtZSB3aGVuIGNvbnN0cnVjdGluZyBzdWZmaXggZm9yICQoTERMSUJTLSopLgoJKGJvdW5kZWQtdGhyZWFkLWxpYnJhcnkpOiBOZXcgdmFyaWFibGUuCgkqIGNyeXB0L01ha2VmaWxlCglbYnVpbGQtc2hhcmVkLCBidWlsZC1zdGF0aWNdIChsaWJjcnlwdC1kZXApOiBSZW1vdmUgdmFyaWFibGUuCgkoJChhZGRwcmVmaXggJChvYmpwZngpLCQodGVzdHMpKSk6IENvbnNvbGlkYXRlIGluZGl2aWR1YWwgZGVwZW5kZW5jaWVzLgoJW2J1aWxkLWJvdW5kZWRdICgkKHRlc3RzOiU9JChvYmpwZngpJS1icCkpOiBBZGQgZGVwZW5kZW5jaWVzLgoJKiBsaW51eHRocmVhZHMvTWFrZWZpbGUgKGxpYnB0aHJlYWQsIGxpYnJ0KTogUmVtb3ZlIHZhcmlhYmxlcy4KCShsaWJydC10ZXN0cyk6IEFkZCB2YXJpYWJsZS4gICh0ZXN0cyk6IFVzZSBpdC4KCVtidWlsZC1zaGFyZWQsIGJ1aWxkLXN0YXRpY10KCSgkKGFkZHByZWZpeCAkKG9ianBmeCksJCh0ZXN0cykpLAoJJChhZGRwcmVmaXggJChvYmpwZngpLCQobGlicnQtdGVzdHMpKSk6CglDb25zb2xpZGF0ZSBpbmRpdmlkdWFsIGRlcGVuZGVuY2llcy4KCVtidWlsZC1ib3VuZGVkXQoJKCQodGVzdHM6JT0kKG9ianBmeCklLWJwKSwgJChsaWJydC10ZXN0czolPSQob2JqcGZ4KSUtYnApKToKCUFkZCBkZXBlbmRlbmNpZXMuCgkqIG1hdGgvTWFrZWZpbGUgKExETElCUy0qKTogUmVtb3ZlIHZhcmlhYmxlcyAodGhleSBhcmUgcmVkdW5kYW50KS4KCVtidWlsZC1ib3VuZGVkXSAoJCh0ZXN0czolPSQob2JqcGZ4KSUtYnApKTogQWRkIGRlcGVuZGVuY2llcy4KCSogbWlzYy9NYWtlZmlsZQoJW2J1aWxkLWJvdW5kZWRdICgkKG9ianBmeCl0c3QtdHNlYXJjaC1icCk6IEFkZCBkZXBlbmRlbmNpZXMuCgkqIHJ0L01ha2VmaWxlCglbYnVpbGQtc2hhcmVkLCBidWlsZC1zdGF0aWNdCgkoJChhZGRwcmVmaXggJChvYmpwZngpLCQodGVzdHMpKSk6IENvbnNvbGlkYXRlIGluZGl2aWR1YWwgZGVwZW5kZW5jaWVzLgoJW2J1aWxkLWJvdW5kZWRdICgkKHRlc3RzOiU9JChvYmpwZngpJS1icCkpOiBBZGQgZGVwZW5kZW5jaWVzLgoKMjAwMC0wOC0xNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYnAtY2hlY2tzLmg6IHMvXChDSEVDS1x3K1wpb3B0L1wxX05VTExfT0svCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdwcm9jbWFzay5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lncHJvY21hc2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2lncHJvY21hc2suYzogTGlrZXdpc2UuCgoyMDAwLTA4LTE3ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19mcmV4cC5TOiBDaGVjayBib3VuZHMuCglXcmFwIGV4dGVybiBzeW1ib2xzIGluIEJQX1NZTSAoKS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX2ZyZXhwZi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX2ZyZXhwbC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX3JlbXF1by5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX3JlbXF1b2YuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19yZW1xdW9sLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L3Nfc2luY29zLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L3Nfc2luY29zZi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX3NpbmNvc2wuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvY2xvbmUuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbW1hcDY0LlM6IExpa2V3aXNlLgoKMjAwMC0wOC0xNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9mcHUvZmVnZXRleGNlcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbTY4ay9mcHUvZmVkaXNibHhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbTY4ay9mcHUvZmVlbmFibHhjcHQuYzogTmV3IGZpbGUuCgoyMDAwLTA4LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBEZWNsYXJlIF9ubF9ubG9hZGVkLgoJKiBlbGYvVmVyc2lvbnMgW2xkXSAoR0xJQkNfMi4yKTogQWRkIF9ubF9ubG9hZGVkLgoJKiBlbGYvZGwtc3VwcG9ydC5jOiBEZWZpbmUgX25sX25sb2FkZWQuCgkqIGVsZi9ydGxkLmM6IExpa2V3aXNlLiAgSW5jcmVtZW50IF9ubF9ubG9hZGVkIGZvciBydGxkIGl0c2VsZi4KCSogZWxmL2RsLW9iamVjdC5jIChfZGxfbmV3X29iamVjdCk6IEluY3JlbWVudCBfbmxfbmxvYWRlZCBhZnRlciBhZGRpbmcKCW9iamVjdCB0byBnbG9iYWwgbGlzdC4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IERlY3JlbWVudCBfbmxfbmxvYWRlZCBhZnRlciByZW1vdmluZwoJZnJvbSBfZGxfbG9hZGVkIGxpc3QuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBMaWtld2lzZS4KCSogZWxmL2RsLWZpbmkuYyAoX2RsX2ZpbmkpOiBVc2UgX25sX25sb2FkZWQgaW5zdGVhZCBvZiBjb21wdXRpbmcgdGhlCgludW1iZXIgaGVyZS4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZmVkaXNibHhjcHQuYyAoZmVkaXNhYmxlZXhjZXB0KTogTWFzaywgbm90Cgl1bm1hc2ssIGV4Y2VwdGlvbnMuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZmVlbmFibHhjcHQuYyAoZmVlbmFibGVleGNlcHQpOiBVbm1hc2ssIG5vdCBtYXNrLAoJZXhjZXB0aW9ucy4KCVJlcG9ydGVkIGJ5IEhhcnZleSBKLiBTdGVpbiA8aGpzdGVpbkBiZnIuY28uaWw+LgoKMjAwMC0wOC0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2VsZi5oIChFTV9YODY2NCk6IEFkZCBvZmZpY2lhbCB4ODYtNjQgc3BlY2lmaWMgdmFsdWUuCgoyMDAwLTA4LTE1ICBNYXJrbyBNeWxseW5lbiAgPG15bGx5bmVuQGx1dC5maT4KCgkqIGluZXQvbmV0aW5ldC9pY21wNi5oOiBBZGRlZCBNb2JpbGUgSVB2NiBkZWZpbml0aW9ucy4KCjIwMDAtMDgtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9EaXN0OiBBZGQgb2xkZ2V0cmxpbWl0NjQuYy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9NYWtlZmlsZSBbJChzdWJkaXIpPXJlc291cmNlXQoJKHN5c2RlcF9yb3V0aW5lcyk6IEFkZCBvbGRnZXRybGltaXQ2NC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9vbGRnZXRybGltaXQ2NC5jOiBOZXcgZmlsZS4KCVBhdGNoIGJ5IEZyYW56IFNpcmwgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPi4KCgkqIGluY2x1ZGUvbGluay5oOiBVbmRvIGxhc3QgcGF0Y2hlcy4gIEh1cmQgbm93IGhhcyBzdGF0NjQuCgkqIGVsZi9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIGVsZi9kbC1sb2FkLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbWlzYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXByb2ZpbGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zeXNkLWxpbmsuaDogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzZC1saW5rLmg6IFJlbW92ZWQuCgoJKiBydC9haW9fbm90aWZ5LmMgKG5vdGlmeV9mdW5jX3dyYXBwZXIpOiBXcmFwcGVyIGZ1bmN0aW9uIHRvIGNhbGwKCXRocmVhZCBldmVudCBjYWxsYmFjayBmdW5jdGlvbi4KCShfX2Fpb19ub3RpZnlfb25seSk6IFVzZSBmdW5jdGlvbiBhYm92ZS4KCVBhdGNoIGJ5IEtheiBLeWxoZWt1IDxrYXpAYXNoaS5mb290cHJpbnRzLm5ldD4uCgoyMDAwLTA4LTE2ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2xzZWVrNjQuYzogTmV3IGZpbGUuCgoyMDAwLTA4LTE1ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvYml0cy90aW1lLmggKF9fY2xvY2tpZF90LCBfX3RpbWVyX3QpOgoJUmVtb3ZlIHR5cGVkZWZzLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL3RpbWUuaCAoX19jbG9ja2lkX3QsIF9fdGltZXJfdCk6IFJlbW92ZQoJdHlwZWRlZnMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3RpbWUuaCAoX19jbG9ja2lkX3QsIF9fdGltZXJfdCk6IFJlbW92ZQoJdHlwZWRlZnMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3R5cGVzLmggKF9fY2xvY2tpZF90LCBfX3RpbWVyX3QpOiBOZXcgdHlwZWRlZnMuCgoyMDAwLTA4LTE1ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL3hzdGF0Y29udi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvZnhzdGF0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2x4c3RhdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC94c3RhdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9EaXN0OiBBZGQgeHN0YXRjb252LmMuCgoyMDAwLTA4LTE1ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2RsLXN5c2RlcC5jIChfX2xpYmNfbXVsdGlwbGVfbGliY3MpOgoJSW5pdGlhbGl6ZSwgbmVlZGVkIGZvciBjaGFuZ2UgaW4gY29tbW9uIHN5bWJvbCBoYW5kbGluZyBpbiBuZXdlcgoJYmludXRpbHMuICBNaXJyb3JzIDIwMDAtMDEtMDMgY2hhbmdlIG1hZGUgYnkgQW5kcmVhcyBTY2h3YWIuCgoyMDAwLTA4LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9jb25zdGxvYWQxLmM6IENhbGwgbXRyYWNlLiAgQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIGRsY2xvc2UgY2FsbC4KCSogZWxmL2NvbnN0bG9hZDIuYzogQWRkIGRlc3RydWN0b3IgdG8gdW5sb2FkIGNvbnN0bG9hZDMuCgoJKiBpbmNsdWRlL2xpbmsuaDogSW5jbHVkZSBzeXNkLWxpbmsuaC4KCSogc3lzZGVwcy9nZW5lcmljL3N5c2QtbGluay5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzZC1saW5rLmg6IE5ldyBmaWxlLgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgc3lzZC1saW5rLmguCgkqIGVsZi9kbC1sb2FkLmM6IFVzZSBkZWZpbml0aW9ucyBmcm9tIHN5c2QtbGluay5oIGluc3RlYWQgb2Ygc3RhdAoJdHlwZXMgYW5kIGZ1bmN0aW9ucyBkaXJlY3RseS4KCSogZWxmL2RsLW1pc2MuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1wcm9maWxlLmM6IExpa2V3aXNlLgoKCSogZWxmL2xvYWRmYWlsLmMgKG1haW4pOiBDbG9zZSBhbGwgc3VjY2Vzc2Z1bGx5IGxvYWRlZCBvYmplY3RzLgoKCSogZWxmL211bHRpbG9hZC5jOiBBZGQgbXRyYWNlIGNhbGwuICBDYWxsIGRsY2xvc2UgZm9yIGFsbCBoYW5kbGVzIGFuZAoJZnJlZSB3ZC4KCSogZWxmL2RsLWRlcHMuYyAoX2RsX21hcF9vYmplY3RfZGVwcyk6IERvbid0IGFsbG9jYXRlIG5lZWRlZCBsaXN0IGlmCgl0aGVyZSBpcyBhbHJlYWR5IG9uZS4KCgkqIGVsZi9kbC1jbG9zZS5jOiBQcmV0dHkgcHJpbnQuCgoyMDAwLTA4LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvdHR5bmFtZS5jOiBNYWtlIG5hbWUgdmFyaWFibGUgZnJvbSBnZXR0dHluYW1lIGZ1bmN0aW9uCglnbG9iYWwgKHdpdGggZmlsZSBzY29wZSkuICBBZGQgX19saWJjX3N1YmZyZWVyZXMgZnVuY3Rpb24gdG8gZnJlZSB0aGUKCXN0cmluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHR5bmFtZS5jOiBMaWtld2lzZS4gIEFsc28gZm9yIGJ1ZiB2YXJpYWJsZQoJaW4gdHR5bmFtZSBmdW5jdGlvbi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2suYzogUmVtb3ZlIGluaXRpYWxpemVyIGZvciBvbGRzIHZhcmlhYmxlLgoKCSogY3J5cHQvbWQ1LWNyeXB0LmM6IExldCBkZXN0cnVjdG9yIGRlYWxsb2NhdGUgc3RhdGljIGJ1ZmZlci4KCgkqIGljb252ZGF0YS9zamlzLmMgKGZyb21fdWNzNF9sYXQxKTogSGFuZGxlIFUwMDVDIGFuZCBVMDA3RSBieQoJbWFwcGluZyB0aGVtIHRvIC94NWMgYW5kIC94N2UgcmVzcGVjdGl2ZWx5LgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmM6IEFkZCBzdXBwb3J0IGZvciBtb3JlIGRlZmluaXRpb25zIGFmdGVyCgljb3B5IHN0YXRlbWVudC4KCjIwMDAtMDgtMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZGlyZW50L1ZlcnNpb25zIChnZXRkaXJlbnRyaWVzNjQpOiBFeHBvcnQgYXQgR0xJQkNfMi4yLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaAoJKF9fQVNTVU1FX0dFVERFTlRTNjRfU1lTQ0FMTCk6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZGVudHMuYyAoX19nZXRkZW50cyk6IFVzZSBnZXRkZW50czY0CglzeXNjYWxsIGlmIGF2YWlsYWJsZSB0byBnZXQgZF90eXBlIGZpZWxkcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0ZGVudHMuYyAoRElSRU5UX1RZUEUpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9WZXJzaW9ucyAoX194c3RhdDY0LCBfX2Z4c3RhdDY0LAoJX19seHN0YXQ2NCk6IEV4cG9ydCBhdCBHTElCQ18yLjIuCgkoYWxwaGFzb3J0NjQsIHJlYWRkaXI2NCwgcmVhZGRpcjY0X3IsIHNjYW5kaXI2NCwgdmVyc2lvbnNvcnQ2NCk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9WZXJzaW9ucyAoZ2V0ZGlyZW50cmllczY0KTogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldGRlbnRzNjQuYyAoa2VybmVsX2RpcmVudDY0KTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL1ZlcnNpb25zIChhbHBoYXNvcnQ2NCwKCWdldGRpcmVudHJpZXM2NCwgdmVyc2lvbnNvcnQ2NCk6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9WZXJzaW9ucyAoYWxwaGFzb3J0NjQsCglnZXRkaXJlbnRyaWVzNjQsIHZlcnNpb25zb3J0NjQpOiBSZW1vdmUuCgoyMDAwLTA4LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L01ha2VmaWxlOiBSZW1vdmUgcnVsZXMgdG8gZ2VuZXJhdGUgZ2xvYiBwYWNrYWdlLgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1yZWdleGxvYy4KCSh0c3QtcmVnZXhsb2MtRU5WKTogQWRkIExPQ1BBVEguCgkqIHBvc2l4L3RzdC1yZWdleGxvYy5jOiBOZXcgZmlsZS4KCjIwMDAtMDgtMTIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGluY2x1ZGUvZmVhdHVyZXMuaCAoX19TVERDX0lTT18xMDY0Nl9fKTogRGVmaW5lLgoJUmVwb3J0ZWQgYnkgTWFya3VzIEt1aG4gPE1hcmt1cy5LdWhuQGNsLmNhbS5hYy51az4uCgoyMDAwLTA4LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvZmVhdHVyZXMuaCAoX19VU0VfSVNPQzk5KTogRGVmaW5lIGZvciBfWE9QRU5fU09VUkNFID49IDYwMC4KCgkqIGxvY2FsZS9sYW5naW5mby5oOiBEZWZpbmUgWUVTU1RSIGFuZCBOT1NUUiBhbHNvIGZvciBYUEc0IChidXQgbm90Cglmb3IgcmV2aXNpb24gNiBhbmQgdXApLgoKCSogcG9zaXgvc3lzL3R5cGVzLmg6IERlZmluZSBfX25lZWRfdGltZXJfdCBhbmQgX19uZWVkX2Nsb2NraWRfdCBiZWZvcmUKCWluY2x1ZGluZyA8dGltZS5oPi4KCSogdGltZS90aW1lLmg6IEFsbG93IF9fbmVlZF90aW1lcl90IGFuZCBfX25lZWRfY2xvY2tpZF90IHRvIGJlIGRlZmluZWQKCXRvIGdldCBkZWZpbml0aW9ucyBvZiBqdXN0IHRoZXNlIHR5cGVzLgoKCSogc2lnbmFsL3NpZ25hbC5oOiBEZWZpbmUgdGhyZWFkIHNpZ25hbCBoYW5kbGluZyBmdW5jdGlvbnMgYWxzbyBmb3IKCVBPU0lYOTUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3R5cGVzLmg6IERlZmluZSB0aHJlYWQgdHlwZXMgYWxzbyBmb3IKCVBPU0lYOTUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy90eXBlcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoKCSogc3lzdmlwYy9zeXMvc2htLmg6IERlZmluZSBwaWRfdCBmb3IgWFBHLgoKCSogcG9zaXgvdW5pc3RkLmg6IFJlbW92ZSBzZXRrZXksIHJlbmFtZSwgYW5kIGN1c2VyaWQgcHJvdG90eXBlcyBhcwoJdGhleSBhcmUgbm90IGFueW1vcmUgcmVxdWlyZWQgaGVyZS4KCgkqIHdjc21icy93Y2hhci5oOiBNYWtlIHRoZSB2YXJpb3VzIHdpZGUgY2hhciBzdHJpbmcgYW5kIHN0cmVhbQoJZnVuY3Rpb25zIGF2YWlsYWJsZSBmb3IgdGhlIHJlc3BlY3RpdmUgWFBHIHZlcnNpb25zLgoKCSogbnNzL01ha2VmaWxlOiBSZW1vdmUgcnVsZXMgdG8gYnVpbGQgYW5kIGRpc3RyaWJ1dGUgbnNzX2RiLgoKCSogc3lzZGVwcy9nZW5lcmljL2FscGhhc29ydDY0LmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSB2ZXJzaW9uaW5nLgoJKiBzeXNkZXBzL2dlbmVyaWMvc2NhbmRpcjY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdmVyc2lvbnNvcnQ2NC5jOiBMaWtld2lzZS4KCjIwMDAtMDgtMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoJICAgIEJlbmphbWluIEtvem5payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2ZpbGVvcHMuYzogTWVyZ2Ugd2l0aCBsaWJzdGRjKystdjMuCgkqIGxpYmlvL2dlbm9wcy5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mY2xvc2UuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZm9wZW4uYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZndpZGUuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2xpYmlvLmg6IExpa2V3aXNlLgoJKiBsaWJpby9saWJpb1AuaDogTGlrZXdpc2UuCgkqIGxpYmlvL3N0ZGZpbGVzLmM6IExpa2V3aXNlLgoJKiBsaWJpby9zdGRpby5jOiBMaWtld2lzZS4KCSogbGliaW8vd2ZpbGVvcHMuYzogTGlrZXdpc2UuCgkqIGxpYmlvL3dnZW5vcHMuYzogTGlrZXdpc2UuCgoJKiBsaWJpby9WZXJzaW9uczogRXhwb3J0IGZ1bmN0aW9ucyBuZWVkZWQgYnkgbGlic3RkYysrLXYzIGluIEdMSUJDXzIuMi4KCjIwMDAtMDgtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5jOiBJbXBsZW1lbnQgLS1wcmVmaXggb3B0aW9uIHRvIGFsbG93Cgl3cml0aW5nIGluIHN0YW5kYXJkIHBsYWNlcyBvZiBhbHRlcm5hdGl2ZSBpbnN0YWxsIGRpcmVjdG9yaWVzLgoKCSogcG9zaXgvcmVnZXguYyAoY29tcGlsZV9yYW5nZSk6IEltcGxlbWVudCBjb2xsYXRpb24gc2VxdWVuY2UKCWhhbmRsaW5nIGZvciBnbGliYy4gIFVzZSBzaW1wbGUgY2hhcmFjdGVyIG9yZGVyaW5nIG90aGVyd2lzZSBhbmQKCW5vdCBzdHJjb2xsLgoKMjAwMC0wOC0xMiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc2NhbmRpcjY0LmM6IEluY2x1ZGUgPGRpcmVudC5oPi4KCjIwMDAtMDgtMTIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy9mY250bC5oOiBIYW5kbGUKCV9fVVNFX0ZJTEVfT0ZGU0VUNjQgY29ycmVjdGx5IGZvciBsb2NraW5nLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoKMjAwMC0wOC0xMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaCAoX19BU1NVTUVfRkNOVEw2NCk6CglEZWZpbmUgZm9yIDIuNC4xIG9uIHNwYXJjIGFzIHdlbGwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvZmNudGwuaDogRmlsbCBpbiBjb3JyZWN0IHZhbHVlcwoJZm9yIEZfR0VUTEs2NCwgRl9TRVRMSzY0LCBhbmQgRl9TRVRMS1c2NC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9mY250bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9sb2NrZjY0LmM6IE5ldyBmaWxlLgoKMjAwMC0wOC0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpby9mdHMuYyAoZnRzX3N0YXQpOiBSZWNvZ25pemUgRFRfV0hUIG9ubHkgaWYgU19JRldIVCBpcyBhbHNvCglkZWZpbmVkLgoKMjAwMC0wOC0xMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9mY250bC5oIChGX0dFVExLNjQsCglGX1NFVExLNjQsIEZfU0VUTEtXNjQpOiBEZWZpbmUgd2l0aCBGX0dFVExLIGV0Yy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3Rhcy5oIChfdGVzdF9hbmRfc2V0KTogQWRkIC5zZXQKCW1pcHMyIGZvciBhc3NlbWJsZXIuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2ZjbnRsLmMgKF9fbGliY19mY250bCk6IFRyeSBmY250bAoJaWYgZm5jdGw2NCBpcyBub3QgYXZhaWxhYmxlIGZvciBGXypMSyo2NC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbG9ja2Y2NC5jOiBOZXcgZmlsZS4KCjIwMDAtMDgtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmggKF9fQVNTVU1FX0ZDTlRMNjQpOgoJRGVmaW5lIGZvciAyLjQuMSBvbiB4ODYuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZmNudGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy9mY250bC5oOiBGaWxsIGluIGNvcnJlY3QgdmFsdWVzCglmb3IgRl9HRVRMSzY0LCBGX1NFVExLNjQsIGFuZCBGX1NFVExLVzY0LgoKCSogZGlyZW50L2RpcmVudC5oOiBEZWZpbmUgRFRfV0hULgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FscGhhc29ydDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vZ2V0ZGVudHM2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3JlYWRkaXI2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3JlYWRkaXI2NF9yLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc2NhbmRpcjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vdmVyc2lvbnNvcnQ2NC5jOiBOZXcgZmlsZS4KCjIwMDAtMDgtMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNzL2RpZ2l0c19kb3RzLmM6IERvbid0IHBhc3MgTlVMTCBpbiBoX2FsaWFzZXMgZm9yIHN1Y2Nlc3NmdWwKCWxvb2t1cCwgcGFzcyBwb2ludGVyIHRvIGFycmF5IHdpdGggTlVMTCBwb2ludGVyIFtQUiBsaWJjLzE4NThdLgoJKiBpbmV0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZ2V0aG5tLgoJKiBpbmV0L3RzdC1nZXRobm0uYzogTmV3IGZpbGUuCgoJKiBydC9haW9fY2FuY2VsLmM6IElmIGNhbmNlbGluZyBhIHNwZWNpZmljIHJlcXVlc3Qgd2hpY2ggaXMgcnVubmluZwoJKnJlYWxseSogZG8gbm90aGluZy4KCSogcnQvYWlvX21pc2MuaDogQWRkIGBkb25lJyB0byBzdGF0ZXMgb2YgYSByZXF1ZXN0LgoJKiBydC9haW9fbWlzYy5jOiBBZGQgc2V2ZXJhbCB0ZXN0cyBmb3IgdGhlIGNvcnJlY3Qgc3RhdGUuCglTaW1wbGlmeSByZXF1ZXN0IHRhYmxlIG1lbW9yeSBoYW5kbGluZy4KCjIwMDAtMDgtMTAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZGlyZW50L3NjYW5kaXIuYzogVXNlIGl0IGZvciBzY2FuZGlyNjQgYW5kIG9sZF9zY2FuZGlyNjQgYXMgd2VsbC4KCSogZGlyZW50L3NjYW5kaXI2NC5jOiBNb3ZlLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9zY2FuZGlyNjQuYzogLi4uaGVyZS4KCSogZGlyZW50L2FscGhhc29ydDY0LmM6IE1vdmUuLi4KCSogc3lzZGVwcy9nZW5lcmljL2FscGhhc29ydDY0LmM6IC4uLmhlcmUuCgkqIGRpcmVudC92ZXJzaW9uc29ydDY0LmM6IE1vdmUuLi4KCSogc3lzZGVwcy9nZW5lcmljL3ZlcnNpb25zb3J0NjQuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kaXJlbnQvVmVyc2lvbnMgKGFscGhhc29ydDY0LAoJZ2V0ZGlyZW50cmllczY0LCByZWFkZGlyNjQsIHJlYWRkaXI2NF9yLCBzY2FuZGlyNjQsIHZlcnNpb25zb3J0NjQpOgoJRXhwb3J0IHN5bWJvbHMgYXQgR0xJQkNfMi4yLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RpcmVudC9WZXJzaW9uczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvZGlyZW50L1ZlcnNpb25zOiBMaWtld2lzZS4KCSogaW5jbHVkZS9kaXJlbnQuaCAoX19yZWFkZGlyNjRfciwgX19zY2FuZGlyNjQsIF9fYWxwaGFzb3J0NjQsCglfX3ZlcnNpb25zb3J0NjQpOiBBZGQgcHJvdG90eXBlcy4KCSogaW8vVmVyc2lvbnMgKF9feHN0YXQ2NCwgX19meHN0YXQ2NCwgX19seHN0YXQ2NCk6IEV4cG9ydCBhdCBHTElCQ18yLjIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2tlcm5lbF9zdGF0LmggKF9feHN0YXRfY29udik6IFJlbW92ZQoJdW51c2VkIHByb3RvdHlwZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvcmVhZGRpci5jOiBFeHBvcnQgYXQgYm90aCBHTElCQ18yLjEKCWFuZCBHTElCQ18yLjIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3JlYWRkaXJfci5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0ZGVudHMuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRkZW50czY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy90eXBlcy5oIChfX2lubzY0X3QpOiBDaGFuZ2UgdG8KCV9fdV9xdWFkX3QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc3RhdC5oIChzdHJ1Y3Qgc3RhdCwgc3RydWN0IHN0YXQ2NCk6CglBZGp1c3QgZm9yIGtlcm5lbC0yLjQuMC10ZXN0NiBsYXlvdXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZnhzdGF0LmMgKF9fZnhzdGF0NjQpOiBFeHBvcnQgYXQgYm90aAoJR0xJQkNfMi4xIGFuZCBHTElCQ18yLjIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbHhzdGF0LmMgKF9fbHhzdGF0NjQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni94c3RhdC5jIChfX3hzdGF0NjQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRkZW50czY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9vbGRkaXJlbnQuaDogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3JlYWRkaXI2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcmVhZGRpcjY0X3IuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NjYW5kaXI2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYWxwaGFzb3J0NjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3ZlcnNpb25zb3J0NjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldGRlbnRzLmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nZXRkZW50czY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZGlyLmM6IEluY2x1ZGUgYWxwaGEvcmVhZGRpci5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3JlYWRkaXJfci5jOiBJbmNsdWRlIGFscGhhL3JlYWRkaXJfci5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvdHlwZXMuaCAoX19pbm82NF90KTogQ2hhbmdlIHRvCglfX3VfcXVhZF90LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvc3RhdC5oOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMva2VybmVsX3N0YXQuaCAoX0hBVkVfU1RBVCopOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc2NhbmRpcjY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9nZXRkZW50czY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9yZWFkZGlyNjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3JlYWRkaXI2NF9yLmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy90eXBlcy5oIChfX2lubzY0X3QpOiBDaGFuZ2UgdG8KCV9fdV9xdWFkX3QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc3RhdC5oOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIva2VybmVsX3N0YXQuaCAoX0hBVkVfU1RBVCopOgoJRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL2dldGRlbnRzNjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3JlYWRkaXI2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvcmVhZGRpcjY0X3IuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3NjYW5kaXI2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQva2VybmVsX3N0YXQuaCAoX0hBVkVfU1RBVCopOgoJRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3JlYWRkaXIuYzogSW5jbHVkZQoJYWxwaGEvcmVhZGRpci5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3JlYWRkaXJfci5jOiBJbmNsdWRlCglhbHBoYS9yZWFkZGlyX3IuYwoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2dldGRlbnRzLmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9nZXRkZW50czY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnhzdGF0NjQuYyAoX19meHN0YXQ2NCk6IElmCglfSEFWRV9TVEFUNjRfX19TVF9JTk8gYW5kIF9fc3RfaW5vICE9ICh1aW50MzJfdClzdF9pbm8sIHNldAoJc3RfaW5vIGZyb20gX19zdF9pbm8uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2x4c3RhdDY0LmMgKF9fbHhzdGF0NjQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXQ2NC5jIChfX3hzdGF0NjQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXRjb252LmMgKHhzdGF0X2NvbnYsIHhzdGF0NjRfY29udiwKCXhzdGF0MzJfY29udik6IFVzZSBfSEFWRV9TVEFUKiBtYWNyb3MuICBJZiBfSEFWRV9TVEFUNjRfX19TVF9JTk8sCglzZXQgX19zdF9pbm8gaW4gYWRkaXRpb24gdG8gc3RfaW5vLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWxfc3RhdC5oIChfSEFWRV9TVEFUKik6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZGVudHMuYzogVXNlIGl0IGZvciBfX2dldGRlbnRzNjQgYW5kCglfX29sZF9nZXRkZW50czY0IGFzIHdlbGwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGRpcmVudHJpZXMuYzogVXNlIGl0IGZvcgoJZ2V0ZGlyZW50cmllczY0IGFuZCBvbGRfZ2V0ZGlyZW50cmllczY0IGFzIHdlbGwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGRpcmVudHJpZXM2NC5jIChHRVRESVJFTlRSSUVTLAoJX19HRVRERU5UUyk6IERlZmluZS4KCShHRVRERU5UUzY0KTogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50czY0LmMgKF9fR0VUREVOVFMsIERJUkVOVF9UWVBFKToKCURlZmluZS4KCShHRVRERU5UUzY0KTogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yZWFkZGlyNjQuYzogVXNlIHN5c2RlcHMvdW5peC9yZWFkZGlyLmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JlYWRkaXI2NF9yLmM6IFVzZSBzeXNkZXBzL3VuaXgvcmVhZGRpcl9yLmMuCgkqIHN5c2RlcHMvdW5peC9yZWFkZGlyLmM6IFVzZSBpdCBmb3IgcmVhZGRpcjY0IGFuZCBfX29sZF9yZWFkZGlyNjQKCWFzIHdlbGwuCgkqIHN5c2RlcHMvdW5peC9yZWFkZGlyX3IuYzogVXNlIGl0IGZvciByZWFkZGlyNjRfciBhbmQKCV9fb2xkX3JlYWRkaXI2NF9yIGFzIHdlbGwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBEZWZpbmUKCV9fQVNTVU1FX1NUX0lOT182NF9iaXQgZm9yIGtlcm5lbCAyLjQuMSBhbmQgdXAuCgoyMDAwLTA4LTA4ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdpbmZvLmg6IEFkZCBTSV9LRVJORUwgZGVmaW5lLgoJQWRkIG1pc3NpbmcgSUxMX0JBRElBRERSIHRvIGVudW0gYW5kIG1ha2UgSUxMX0JSRUFLIG1hdGNoIHRoZQoJZGVmaW5lIG9mIHRoZSBrZXJuZWwuCglBZGQgbWlzc2luZyBfX1NFR19QU1RLT1ZGIGRlZmluaXRpb24uCglBZGp1c3QgdGhlIHBhZGRpbmcgb2Ygc3RydWN0IHNpZ2luZm8gYW5kIHN0cnVjdCBzaWdldmVudCB0bwoJbWF0Y2ggdGhlIGZhY3QgdGhhdCBzaWd2YWxfdCBpcyA2NCBiaXQuCgoyMDAwLTA4LTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWV6b25lL3ppYy5jOiBVcGRhdGUgZnJvbSB0emNvZGUyMDAwZi4KCSogdGltZXpvbmUvYXVzdHJhbGFzaWE6IFVwZGF0ZSBmcm9tIHR6ZGF0YTIwMDBmLgoJKiB0aW1lem9uZS9ldXJvcGU6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9zb3V0aGFtZXJpY2E6IExpa2V3aXNlLgoJKiB0aW1lem9uZS95ZWFyaXN0eXBlOiBMaWtld2lzZS4KCjIwMDAtMDgtMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zdGF0Lmg6IFN5bmNoIHN0cnVjdCBzdGF0NjQgYW5kCglzdGF0IHdpdGggY3VycmVudCBNSVBTIGtlcm5lbC4KCjIwMDAtMDgtMDEgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvZWxmLmggKGVsZl9ncmVnX3QsIEVMRl9OR1JFRywKCWVsZl9ncmVnc2V0X3QsIGVsZl9mcHJlZ3NldF90LCBlbGZfZnB4cmVnc2V0X3QpOiBNb3ZlZCB0bwoJc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvcHJvY2ZzLmguCglSZW1vdmUgdGhlIGp1bmsgdGhhdCdzIG9ubHkgcmVsZXZhbnQgaW4gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuCglBZGQgYSB3YXJuaW5nIHNheWluZyB0aGF0IHRoaXMgZmlsZSBpcyBub3cgb2Jzb2xldGUsIGFuZCBpbmNsdWRlCgk8c3lzL3Byb2Nmcy5oPi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvcHJvY2ZzLmggKGVsZl9ncmVnX3QsCglFTEZfTkdSRUcsIGVsZl9ncmVnc2V0X3QsIGVsZl9mcHJlZ3NldF90LCBlbGZfZnB4cmVnc2V0X3QpOiBNb3ZlZAoJaGVyZSBmcm9tIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL2VsZi5oLiAgRG9uJ3QgaW5jbHVkZQoJPHNpZ25hbC5oPiwgPHN5cy91Y29udGV4dC5oPiBhbmQgPHN5cy9lbGYuaD4uICBSZW1vdmUgcGFydHMgb2YKCWBzdHJ1Y3QgZWxmX3Byc3RhdHVzJyB0aGF0IGFyZSAjaWZkZWYnZWQgb3V0LiAgSW1wcm92ZSBjb21tZW50cwoJYW5kIGFkZCB0aGUgbm90aWNlIHRoYXQgdGhlIGZpbGUgaXMgcHJpbWFyaWx5IHRoZXJlIGZvciBHREIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL3VzZXIuaDogRml4IGNvbW1lbnQuCgoyMDAwLTA4LTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHRpbWUvdHpmaWxlLmMgKF9fdHpmaWxlX2NvbXB1dGUpOiBfX3R6c3RyaW5nIHpvbmVzCglmcm9tIHpvbmVfbmFtZXMuCgoyMDAwLTA4LTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9yZXNvbHYuaCAoX19yZXNfc3RhdGUpOiBTdXJyb3VuZCBwcm90b3R5cGUgd2l0aAoJX19CRUdJTl9ERUNMUy9fX0VORF9ERUNMUy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9jaG93bi5jOiBJbmNsdWRlIGtlcm5lbC1mZWF0dXJlcy5oLgoKMjAwMC0wOC0wNCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvcmVzb3VyY2UuaCAoX19ybGltaXRfcmVzb3VyY2UpOgoJTWFrZSBpbmRlcGVuZGFudCBvZiBhc20vcmVzb3VyY2UuaCBmcm9tIHRoZSBMaW51eCBrZXJuZWwuCgoyMDAwLTA4LTA2ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl9jb25mLmMgKF9fZ2NvbnZfcmVhZF9jb25mKTogRG9uJ3QgY2FsbCByZWFscGF0aC4KCjIwMDAtMDgtMDYgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvTWFrZWZpbGUgKENQUEZMQUdTKTogUmVtb3ZlICQoaTE4bmRpcikgZnJvbSBMT0NBTEVfQUxJQVNfUEFUSC4KCSogbG9jYWxlL01ha2VmaWxlIChsb2NhbGUtQ1BQRkxBR1MpOiBMaWtld2lzZS4KCjIwMDAtMDgtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogSW5jcmVhc2Ugc2V2ZXJhbCBlcnJvciB2YWx1ZXMKCWZvciBBTUQgcHJvY2Vzc29ycy4KCjIwMDAtMDgtMDMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWlzYy9WZXJzaW9ucyAobWluY29yZSk6IEV4cG9ydCBhdCBHTElCQ18yLjIuCgoyMDAwLTA4LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2xpYmludGwuaCAoZ2V0dGV4dCwgZGdldHRleHQsIGRjZ2V0dGV4dCk6IEFkZCBiYWNrIF9fVEhST1cuCgoyMDAwLTA4LTAyICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL3NvY2tldHBhaXIuYyAoX19zb2NrZXRwYWlyKTogUmVuYW1lZCBmcm9tCglzb2NrZXRwYWlyLiAgTWFkZSBzb2NrZXRwYWlyIGEgd2VhayBhbGlhcy4KCSogc3lzZGVwcy9tYWNoL2h1cmQvcGlwZS5jIChfX3BpcGUpOiBSZWltcGxlbWVudGVkIHVzaW5nCglfX3NvY2tldHBhaXIuICBVc2UgU19JRklGTyBwcm90b2NvbCB0byBtYWtlIHBpcGVzIFBPU0lYCgljb25mb3JtaW5nLCBidXQgZmFsbCBiYWNrIG9uIHRoZSBvbGQgcHJvdG9jb2wgaWYgdGhlIHNvY2tldCBzZXJ2ZXIKCWRvZXNuJ3Qgc3VwcG9ydCBpdC4KCSogaW5jbHVkZS9zeXMvc29ja2V0Lmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fc29ja2V0cGFpci4KCjIwMDAtMDgtMDkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAodmZwcmludGYpOiBBbHNvIHNldCBgaXNfbG9uZycgaWYgdGhlCglsb25nIGxvbmcgbW9kaWZpZXIgaXMgc2Vlbi4KCgkqIGVsZi9ub2RlbGV0ZS5jIChkb190ZXN0KTogUmVtb3ZlIHJlZmVyZW5jZSB0byB1bmRlZmluZWQgbWVtYmVyCglzYV9yZXN0b3Jlci4KCSogcnQvdHN0LWFpbzQuYyAoZG9fdGVzdCk6IExpa2V3aXNlLgoKCSogY29uZmlndXJlLmluOiBBZGQgYC1sbScgd2hlbiBjaGVja2luZyBmb3IgbGliZ2QuCgkqIG1hbGxvYy9NYWtlZmlsZSAoJChvYmpwZngpbWVtdXNhZ2VzdGF0KTogQWRkIGAtbG0nIGR1cmluZwoJbGlua2luZy4KCjIwMDAtMDgtMDkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZpZ3VyZS5pbjogQ2hhbmdlIHJlcXVpcmVkIG1ha2UgdmVyc2lvbnMuCgoJKiBtYW51YWwvaW5zdGFsbC50ZXhpIChUb29scyBmb3IgQ29tcGlsYXRpb24pOiBEb2N1bWVudCByZXF1aXJlZAoJbWFrZSB2ZXJzaW9uLgoJKFN1cHBvcnRlZCBDb25maWd1cmF0aW9ucyk6IFVwZGF0ZSBsaXN0IG9mIHN1cHBvcnRlZAoJY29uZmlndXJhdGlvbnMuCgoyMDAwLTA4LTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9saW5lcmVhZGVyLmMgKGdldF9zdHJpbmcpOiBEb24ndCBwcmludCBhbiBlcnJvciBpcyBhIHN0cmluZwoJY29udGFpbnMgYW4gdW5rbm93biBjaGFyYWN0ZXIuCgoyMDAwLTA4LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKHN0cnVjdCBzeW1ib2xfdCk6IEFkZCBuYW1lIGVsZW1lbnQuCgkobmV3X3N5bWJvbCk6IFRha2UgbmV3IHBhcmFtZXRlcnMgd2l0aCBuYW1lIG9mIHRoZSBzeW1ib2wuCglBZGp1c3QgY2FsbGVycy4KCShoYW5kbGVfZWxsaXBzaXMpOiBEb24ndCBvbmx5IGFsbG93IGNoYXJhY3RlciBzeW1ib2xzLgoJKGNvbGxhdGVfcmVhZCk6IEFsbG93IHN0cmluZyBvZiBjb2xsYXRpbmcgZWxlbWVudHMgY29udGFpbiBpbnZhbGlkCgljaGFyYWN0ZXJzOyBpZ25vcmUgZW50cnkgaW4gdGhpcyBjYXNlLgoJSGFuZGxlIGVsbGlwc2lzIG9mIGNvbGxhdGluZyBzeW1ib2xzIGJlZm9yZSBmaXJzdCBvcmRlcl9zdGFydC4KCUFsbG93IGVsbGlwc2lzIGluIHN0YXRlIDAuCgoyMDAwLTA4LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGhhbmRsZV9lbGxpcHNpcyk6IEZpeCB0eXBvIGluCgllcnJvciBtZXNzYWdlLgoJUmVwb3J0ZWQgYnkgVHVuZy1IYW4gSHNpZWggPHRoaHNpZWhAdHdjcHJvLnBoeXMubnR1LmVkdS50dz4uCgoyMDAwLTA4LTA0ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHBvc2l4L3JlZ2V4LmMgKFNFVF9ISUdIX0JPVU5EKTogTmV3IG1hY3JvLgoJKE1PVkVfQlVGRkVSX1BPSU5URVIpOiBVc2UgaXQuCgkoRUxTRV9FWFRFTkRfQlVGRkVSX0hJR0hfQk9VTkQpOiBOZXcgbWFjcm8uCgkoRVhURU5EX0JVRkZFUik6IFVzZSBpdC4KCjIwMDAtMDgtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vaW9md2lkZS5jIChfSU9fZndpZGUpOiBJbml0aWFsaXplIGZwLT5fY29kZWN2dCBhcyB3ZWxsLgoJKiBsaWJpby9maWxlb3BzLmMgKF9JT19uZXdfZmlsZV9mb3Blbik6IFVzZSBfY29kZWN2dCBub3QgZnJvbQoJX3dpZGVfZGF0YSBidXQgZnJvbSBfSU9fRklMRSBkaXJlY3RseS4KCSogbGliaW8vaW9mY2xvc2UuYzogTGlrZXdpc2UuCgkqIGxpYmlvL3dmaWxlb3BzLmM6IExpa2V3aXNlLgoKCSogbGliaW8vZ2Vub3BzLmMgKF9JT19kZWZhdWx0X3Nob3dtYW55Yyk6IENoYW5nZSByZXR1cm4gdHlwZSB0byBzaXplX3QuCgkqIGxpYmlvL2xpYmlvUC5oOiBDaGFuZ2UgcHJvdG90eXBlcy4KCjIwMDAtMDgtMDMgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9pMzg2L3NldGptcC5TIChfX3NpZ3NldGptcCk6IFBvcCBvdXIKCWZyYW1lIHBvaW50ZXIgZWFybHkgc28gdGhhdCB3ZSBzYXZlIGNhbGxlcidzIGZyYW1lIHBvaW50ZXIuCgkqIHN5c2RlcHMvaTM4Ni9lbGYvc2V0am1wLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3Yvc3lzY2FsbHMubGlzdCAodGltZSwgdXRpbWUpOiBDb3JyZWN0IHNpZ25hdHVyZXMuCgkqIGlvL3Rlc3QtdXRpbWUuYzogVGVzdCBwYXNzaW5nIE5VTEwgYXMgdXRpbWJ1ZiogYXJnLgoKCSogcG9zaXgvcmVnZXguYyAoRVhURU5EX0JVRkZFUl9ISUdIX0JPVU5EKTogUmVtb3ZlIG1hY3JvLgoJKE1PVkVfQlVGRkVSX1BPSU5URVIpOiBIYW5kbGUgaGlnaF9ib3VuZCBwcm9wZXJseS4KCShFWFRFTkRfQlVGRkVSKTogRG9uJ3QgY2FsbCBFWFRFTkRfQlVGRkVSX0hJR0hfQk9VTkQuCgoyMDAwLTA4LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9iaWc1LmM6IFVwZGF0ZWQuCglQYXRjaCBieSBUdW5nLUhhbiBIc2llaCA8dGhoc2llaEB0d2Nwcm8ucGh5cy5udHUuZWR1LnR3Pi4KCjIwMDAtMDgtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogTWFrZWNvbmZpZyAoYWxsLXN1YmRpcnMpOiBBZGQgY29uZm9ybS4KCSogY29uZm9ybS9NYWtlZmlsZTogSW5jbHVkZSAuLi9SdWxlcy4KCgkqIE1ha2VmaWxlIChSRUFETUUpOiBBZGQgcnVsZXMgdG8gZ2VuZXJhdGUgaGVyZSBhcyB3ZWxsLgoKMjAwMC0wOC0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMS45Mi4KCgkqIHN5c2RlcHMvaWE2NC9EaXN0OiBBZGQgX21jb3VudC5TLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9EaXN0OiBBZGQgY2xvbmUuUy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvRGlzdDogQWRkIF90ZXN0X2FuZF9zZXQuYy4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBtaXNzaW5nIG1vZHVsZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL0Rpc3Q6IFJlbW92ZSBub25leGlzdGluZyBmaWxlcy4KCgkqIHBvc2l4L3JlZ2V4LmMgKGNvbXBpbGVfcmFuZ2UpOiBUcmFuc2xhdGUgcmFuZ2Ugc3RhcnQgYW5kIGVuZAoJY2hhcmFjdGVycyB0byBhdm9pZCBlbXB0eSByYW5nZSBpbiBjYXNlIG9mIFJFR19JQ0FTRSBbUFIgbGliYy8xODQyXS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9yZXNvdXJjZS5oOiBEb24ndCBpbmNsdWRlCglhc20vcmVzb3VyY2UuaC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9NYWtlZmlsZTogVW5kbyBsYXN0IGNoYW5nZS4KCjIwMDAtMDgtMDIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9lbGYuaCAoRU1fUzM5MCk6IEFkZGVkLgoJKFJfMzkwXyopOiBOZXcgcmVsb2NzIGZvciBTMzkwLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzZGVwLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5c2NhbGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzL3VzZXIuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzL3Vjb250ZXh0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5cy9wdHJhY2UuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzL2VsZi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zb2NrZXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2lnY29udGV4dGluZm8uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2htY3RsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldHJldWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldHJlc3VpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRyZXNnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0cmVnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0Z3JvdXBzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldGdpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRmc3VpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRmc2dpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRldWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldGVnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2VtY3RsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3JlZ2lzdGVyLWR1bXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvcHV0cG1zZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9wdXRtc2cuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvcHJvZmlsLWNvdW50ZXIuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvbXNnY3RsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL21tYXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0dWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldHJlc3VpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRyZXNnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0cG1zZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRtc2cuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0Z3JvdXBzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldGVnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0ZXVpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9mY2hvd24uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvY2xvbmUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYnJrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvdGltZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3Jlc291cmNlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvbW1hbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL2ZjbnRsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL01ha2VmaWxlOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3N5c2RlcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3N5cy91Y29udGV4dC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3N1Yl9uLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvc3RybmNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3N0cmNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3N0YWNraW5mby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtbWNvdW50LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvbXVsXzEuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9tZW11c2FnZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL21lbXNldC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL21lbWNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL21lbWNoci5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL21hY2hpbmUtZ21vbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2xkYmwybXBuLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZ21wLW1wYXJhbS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mcHVfY29udHJvbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZXNldHJvdW5kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlZ2V0cm91bmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvZmNscmV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2JpdHMvZmVudi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2Zmcy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2VsZi9zdGFydC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2VsZi9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9lbGYvYnNkLXNldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2VsZi9ic2QtX3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2RsLW1hY2hpbmUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9iemVyby5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2JzZC1zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9ic2QtX3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2JpdHMvc3RyaW5nLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYml0cy9zZXRqbXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9iaXRzL2h1Z2VfdmFsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYml0cy9lbmRpYW4uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9iaXRzL2J5dGVzd2FwLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYmNvcHkuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9iYWNrdHJhY2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9hdG9taWNpdHkuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9hc20tc3ludGF4Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYWRkbXVsXzEuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9hZGRfbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2Fib3J0LWluc3RyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvX19sb25nam1wLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvTWFrZWZpbGU6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9EaXN0OiBOZXcgZmlsZS4KCVBhdGNoZXMgYnkgTWFydGluIFNjaHdpZGVmc2t5IDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPi4KCjIwMDAtMDgtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCVJlbW92ZSBpbmNvbXBhdGlibGUgSVB2NiBleHRlbnNpb24gb2YgUlBDLgoJKiBzdW5ycGMvTWFrZWZpbGU6IFVuZG8gY2hhbmdlcy4KCSogc3VucnBjL3JwY19tYWluLmM6IExpa2V3aXNlLgoJKiBzdW5ycGMvcnBjL2NsbnQuaDogTGlrZXdpc2UuCgkqIHN1bnJwYy9ycGMvc3ZjLmg6IExpa2V3aXNlLgoJKiBzdW5ycGMvYmluZHJzdnBydDYuYzogUmVtb3ZlZC4KCSogc3VucnBjL2NsbnRfdGNwNi5jOiBSZW1vdmVkLgoJKiBzdW5ycGMvY2xudF91ZHA2LmM6IFJlbW92ZWQuCgkqIHN1bnJwYy9zdmNfdGNwNi5jOiBSZW1vdmVkLgoJKiBzdW5ycGMvc3ZjX3VkcDYuYzogUmVtb3ZlZC4KCgkqIGludGwvbGliaW50bC5oOiBEb24ndCB1c2UgX19hdHRyaWJ1dGVfZm9ybWF0X2FyZ19fIGZvciBnZXR0ZXh0LAoJZGdldHRleHQsIGFuZCBkY2dldHRldHh0LgoKCSogaW50bC9sb2NhbGUuYWxpYXM6IFVwZGF0ZSBqYXBhbmVzZSBhbGlhc2VzLgoKCSogc3lzZGVwcy9pYTY0L2JpdHMvYnl0ZXN3YXAuaDogTmV3IGZpbGUuCglQYXRjaCBieSBEYW4gUG9wIDxEYW4uUG9wQGNlcm4uY2g+LgoKCSogbWlzYy9zeXMvY2RlZnMuaDogRGVmaW5lIF9fYXR0cmlidXRlX2Zvcm1hdF9hcmdfXy4KCSogaW50bC9saWJpbnRsLmg6IFVzZSBpdCBoZXJlIGluc3RlYWQgb2YgdXNpbmcgX19hdHRyaWJ1dGVfXyBkaXJlY3RseS4KCjIwMDAtMDctMTMgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHBvc2l4L3JlZ2V4LmMgKHJlX21heF9mYWlsdXJlcyk6IFNldCB0byA0MDAwLgoKMjAwMC0wOC0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBnbnVsaWIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1nY2MuCgkqIGdudWxpYi90c3QtZ2NjLmM6IE5ldyBmaWxlLgoKCSogYXNzZXJ0L01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBfX2Fzc2VydC4KCSogYXNzZXJ0L1ZlcnNpb25zOiBFeHBvcnQgX19hc3NlcnQgZm9yIGdsaWJjIDIuMi4KCSogYXNzZXJ0L19fYXNzZXJ0LmM6IE5ldyBmaWxlLgoJKiBhc3NlcnQvYXNzZXJ0Lmg6IERlY2xhcmUgX19hc3NlcnQuCgoyMDAwLTA3LTI3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvbG9jYWxlaW5mby5oIChfSVNDVFlQRSk6IE5ldyBtYWNyby4KCSogcG9zaXgvZm5tYXRjaF9sb29wLmMgKGludGVybmFsX2ZubWF0Y2gpOiBVc2UgaXQsIHN1cHBvcnQgbmV3CglMQ19DVFlQRSBsb2NhbGUgZm9ybWF0LgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAobG9jYWxlX2N0eXBlX3QpOiBOZXcgZmllbGQgY2xhc3NfYi4KCShjdHlwZV9vdXRwdXQpOiBPdXRwdXQgY2xhc3NfYltucl0gcmlnaHQgYmVmb3JlIGNsYXNzXzNsZXZlbFtucl0uCgkoYWxsb2NhdGVfYXJyYXlzKTogRmlsbCBjbGFzc19iLCBzaW1pbGFybHkgdG8gY2xhc3NfM2xldmVsLgoKMjAwMC0wOC0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgkgICAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogbWF0aC90Z21hdGguaDogTWFrZSBzdGFuZGFyZCBjb21wbGlhbnQuICBEb24ndCBhc2sgaG93LgoKMjAwMC0wNy0wNCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogZWxmL01ha2VmaWxlICgkKGluc3Rfc2xpYmRpcikvJChydGxkLXZlcnNpb24taW5zdGFsbGVkLW5hbWUpKToKCVVzZSAkKGRvLWluc3RhbGwtcHJvZ3JhbSkgaW5zdGVhZCBvZiAiJChJTlNUQUxMX1BST0dSQU0pICQ8ICRALm5ldyIuCgkoJChpbnN0X3NsaWJkaXIpLyQocnRsZC1pbnN0YWxsZWQtbmFtZSkpOiBVc2UgJChtYWtlLXNobGliLWxpbmspIG9ubHkuCgoyMDAwLTA3LTMwICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGRzMi5wZy5nZGEucGw+CgoJKiBpbmNsdWRlL2ZlYXR1cmVzLmggKF9YT1BFTl9TT1VSQ0UpOiBVcGRhdGUgdGhlIGV4cGxhbmF0aW9uLgoJKF9fVVNFX0xBUkdFRklMRSk6IEFkZCBhbiBleHBsYW5hdGlvbi4KCShfUE9TSVhfQ19TT1VSQ0UpOiBEZWZpbmUgdG8gMiBvbmx5IGlmIF9YT1BFTl9TT1VSQ0UgPCA1MDAuCgkoX19VU0VfWE9QRU4ySyk6IERlZmluZSB3aGVuZXZlciBfWE9QRU5fU09VUkNFID49IDYwMC4KCjIwMDAtMDgtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vTWFrZWZpbGU6IEVuYWJsZSBleGNlcHRpb24gaGFuZGxpbmcgZm9yIGdlbm9wcywgd2dlbm9wcywKCWZpbGVvcHMsIGFuZCB3ZmlsZW9wcy4KCjIwMDAtMDctMjkgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBUYWtlIGludG8KCWFjb3VudCB0aGF0IGVsZi9ydGxkJ3MgbWFpbiBwcm9ncmFtIG1pZ2h0IHJlbW92ZSBzb21lIHZhcmliYWxlcwoJZnJvbSB0aGUgZW52aXJvbm1lbnQgaWYgd2UncmUgdHJ5aW5nIHRvIGJlIHNlY3VyZS4gIE1vdmUgdGhlIEh1cmQKCXN0YXJ0dXAgZGF0YSBpZiBuZWNlc3NhcnksIG9yLCBpZiB3ZSB0aGVyZSBpcyBubyBzdGFydHVwIGRhdGEsCgltYWtlIHN1cmUgdGhlIG1hZ2ljYWwgY29udmVudGlvbiB0aGF0IEFSR1ZbMF0gaXMgc3RvcmVkIGp1c3QgYWZ0ZXIKCXRoZSBlbnZpcm9ubWVudCBsaXN0LgoKMjAwMC0wOC0wMSAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9NYWtlZmlsZSBbc3ViZGlyPXJlc291cmNlXQoJKHN5c2RlcF9yb3V0aW5lcyk6IEFkZCBvbGRnZXRybGltaXQsIG9sZHNldHJsaW1pdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3N5c2NhbGxzLmxpc3Q6IEFkZCBvbGRnZXRybGltaXQsCglvbGRzZXRybGltaXQgZm9yIEdMSUJDXzIuMC4KCjIwMDAtMDgtMDEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtZXRoZXJzLmM6IFVzZSBjYXNlLWluc2Vuc2l0aXZlIGxvb2t1cC4KCShMSU5FX1BBUlNFUik6IEFsbG93IGFueSBudW1iZXIgb2Ygc3BhY2VzIGJldHdlZW4gaXAgYWRkcmVzcyBhbmQKCW51bWJlci4gIEZpeGVzIFBSIGxpYmMvMTgzMywgcmVwb3J0ZWQgYnkgcnAwMTBnZkB2b3J1dGEudnUubHQuCgoJKiBjb25mb3JtL2RhdGEvbmV0ZGIuaC1kYXRhOiBSZW1vdmUgZ2V0aXBub2RlYnlhZGRyIGFuZCBmcmllbmRzLgoKCSogaW5jbHVkZS9uZXRkYi5oOiBSZW1vdmUgZ2V0aXBub2RlYnlhZGRyIGFuZCBmcmllbmRzLCBsZWF2ZQoJY29uc3RhbnRzIGluLgoKCSogbmlzL1ZlcnNpb25zOiBSZW1vdmUgX25zc19uaXNfZ2V0aXBub2RlYnluYW1lX3IgYW5kCglfbnNzX25pc3BsdXNfZ2V0aXBub2RlYnluYW1lX3IuCgoJKiBuaXMvbnNzX25pcy9uaXMtaG9zdHMuYyAoX25zc19uaXNfZ2V0aXBub2RlYnluYW1lX3IpOiAjaWYgMCBmb3IKCW5vdywgZ2V0aXBub2RlYnluYW1lIGlzIGRlcHJlY2F0ZWQuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLWhvc3RzLmMgKF9uc3NfbmlzcGx1c19nZXRpcG5vZGVieW5hbWVfcik6CglMaWtld2lzZS4KCgkqIGluZXQvTWFrZWZpbGUgKHJvdXRpbmVzKTogRG9uJ3QgYnVpbGQgZ2V0aXBub2RlYnlhZGRyIGFuZAoJZnJpZW5kcy4KCgkqIGludGwvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgdHN0LXRyYW5zbGl0LnNoIGFuZCB0cmFuc2xpdC5wby4KCgkqIGhlc2lvZC9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBuc3NfaGVzaW9kL25zc19oZXNpb2QuaC4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBmaWx0bW9kMS5jIGFuZCBmaWx0bW9kMi5jLgoKCSogd2N0eXBlL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHdjaGFyLWxvb2t1cC5oLgoKCSogc3lzZGVwcy9nZW5lcmljL0Rpc3Q6IEFkZCBicC1jaGVja3MuaCBhbmQgYnAtc2VtY3RsLmguCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaXNpcmktMzM0Mi5oLgoKMjAwMC0wOC0wMSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIE1ha2UtZGlzdCAoZGlzdCk6IFJlc29sdmUgYC4uJyBpbiBmaWxlIG5hbWVzLgoKMjAwMC0wOC0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkaW8tY29tbW9uL01ha2VmaWxlIChkaXN0cmlidXRlKTogUmVtb3ZlIHJlbW92ZWQgZmlsZXMsIGFkZAoJbmV3IGZpbGVzLgoKCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBSZW1vdmUgaW5jbHVkZS9kYl8xODUuaCBhbmQgZGIuaC4KCgkqIGluY2x1ZGUvZGJfMTg1Lmg6IFJlbW92ZSwgaXQncyBub3QgbmVlZGVkIGFueW1vcmUuCgkqIGluY2x1ZGUvZGIuaDogTGlrZXdpc2UuCgoyMDAwLTA3LTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluZXQvTWFrZWZpbGUgKHRlc3RzKTogUmVtb3ZlIHRzdC1pcG5vZGUuCgkqIGluY2x1ZGUvbmV0ZGIuaDogQWRkIHN0dWZmIHJlbW92ZWQgZnJvbSByZXNvbHYvbmV0ZGIuaCBoZXJlIGZvcgoJbm93LgoKMjAwMC0wNy0zMSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZWxmL2luaXRmaW5pLmM6IEtpbGwgZHVtbXkgc2VjdGlvbiBzaW5jZSBhbGlnbiBhbmQKCWVuZHAgc3RhdGVtZW50cyBoYXZlIGFscmVhZHkgYmVlbiBhZGRlZC4KCjIwMDAtMDQtMTggIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNkZXAuaDogSW5jbHVkZQoJPHN5c2RlcHMvaWE2NC9zeXNkZXAuaD4uCgoJKiBzeXNkZXBzL2lhNjQvX21jb3VudC5TOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaWE2NC9lbGYvaW5pdGZpbmkuYyAoX2luaXQpOiBQcmVzZXJ2ZSBncCBhcm91bmQgY2FsbCB0bwoJX19nbW9uX3N0YXJ0X18uICBGaXggdXAgZXh0cmFuZW91cyB3aGl0ZXNwYWNlLgoKMjAwMC0wMS0xMiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9pYTY0L2VsZi9pbml0ZmluaS5jOiBOZXcgZmlsZS4KCjIwMDAtMDctMzEgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9jbG9uZS5TOiBBZGQgc3RvcCBiaXQgdG8gYXZvaWQgV0FXCglkZXBlbmRlbmN5IGJldHdlZW4gYnJhbmNoIGFuZCBhci5wZnMgd3JpdGUuCgoyMDAwLTA3LTMxICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvcHJpbnRmX2ZwaGV4LmMgKF9fcHJpbnRmX2ZwaGV4KTogQ29ycmVjdGx5CgloYW5kbGUgdGhlIHdjaGFyX3QgYXJyYXkuCgoyMDAwLTA3LTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9nYjE4MDMwLmM6IERvbid0IG1hcCB0byBhbmQgZnJvbSBwb3NpdGlvbnMgaW4gSVNPCgkxMDY0NiB3aGljaCBhcmUgbm90IHlldCBhc3NpZ25lZC4KCVBhdGNoIGJ5IHdhbmcgc2hvdWh1YSA8c2hvdWh1YXdhbmdAcmVkZmxhZy1saW51eC5jb20+LgoKMjAwMC0wNy0zMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW5ldC9WZXJzaW9uczogUmVtb3ZlIGdldGlwbm9kZWJ5YWRkciBhbmQgZnJpZW5kcyBmcm9tCglHTElCQ18yLjIuCgoJKiByZXNvbHYvbmV0ZGIuaDogUmVtb3ZlIGdldGlwbm9kZWJ5YWRkciBhbmQgZnJpZW5kcy4KCjIwMDAtMDctMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9zamlzLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IFRyZWF0IHRoZSBjYXNlCgljaCA+PSAweDgxICYmIGNoMiA8IDB4NDAgYXMgaW52YWxpZC4KCjIwMDAtMDctMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS91aGMuYyAoQk9EWSBmb3IgRlJPTV9MT09QKTogUmVqZWN0IGNoMiA9PSAweGZmIGFzIGludmFsaWQuCgkoQk9EWSBmb3IgVE9fTE9PUCk6IEFjY2VwdCAweDdmLiBJbmNyZW1lbnQgb3V0cHRyIGFzIG5lZWRlZC4KCjIwMDAtMDctMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9qb2hhYi5jIChCT0RZIGZvciBUT19MT09QKTogQWZ0ZXIgY2FsbGluZwoJdWNzNF90b19rc2M1NjAxX3N5bSwgZml4IHRoZSBjb252ZXJzaW9uIHRvIEpPSEFCLgoKMjAwMC0wNy0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL3QuNjEuYyAodG9fdWNzNCk6IENoYW5nZSB2YWx1ZXMgb2YgMHhhNCwgMGE2LCAweGE4LCAweGI0LAoJMHhiOC4KCShmcm9tX3VjczQpOiBDaGFuZ2UgdmFsdWVzIG9mIFUrMDBBNCwgVSswMEJCLCBVKzAwRUQuCgoyMDAwLTA3LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvbWFjaW50b3NoLmMgKEhBU19IT0xFUyk6IFNldCB0byAxLgoKMjAwMC0wNy0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2lzb182OTM3LmMgKHRvX3VjczQpOiBDaGFuZ2UgdmFsdWVzIG9mIDB4MjQgYW5kIDB4YjQuCgkoZnJvbV91Y3M0KTogQ2hhbmdlIHZhbHVlcyBvZiBVKzAwQTQgYW5kIFUrMDBFRC4KCShCT0RZIG9mIFRPX0xPT1ApOiBSZW1vdmUgbWFwcGluZyBmcm9tIFUrMDJEQyB0byAweDAwMjAuCgoyMDAwLTA3LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYyAoZnJvbV91Y3M0KTogQ2hhbmdlIGVudHJ5IGZvciAweGVkLgoJKEJPRFkgZm9yIFRPX0xPT1ApOiBNYXAgVSsyMTIyLCBVKzIxMjYsIG5vdCBVKzIwMjIsIFUrMjAyNi4KCjIwMDAtMDctMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAoZ2VuLThiaXQtZ2FwLW1vZHVsZXMpOiBSZW1vdmUgaXNpcmktMzM0Mi4KCSogaWNvbnZkYXRhL2lzaXJpLTMzNDIuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pc2lyaS0zMzQyLmMgKEhBU19IT0xFUyk6IEF2b2lkIGdhcHMgPj0gMHhlMCwgYnV0IGRvbid0Cgl0cmVhdCAweDgwIGFzIGEgZ2FwLgoKMjAwMC0wNy0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogc3RyaW5nL3N0cnhmcm0uYyAoZW5jb2RpbmdfbWFzaywgZW5jb2RpbmdfYnl0ZSk6IFJlbW92ZS4KCSh1dGY4X2VuY29kZSk6IFVzZSBzaW1wbGUgc2hpZnRzIGluc3RlYWQuICBGaXggcmV0dXJuIHZhbHVlLgoKMjAwMC0wNy0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB0aW1lem9uZS9wcml2YXRlLmg6IFVwZGF0ZSBmcm9tIHR6Y29kZTIwMDBlLgoJKiB0aW1lem9uZS9hc2lhOiBVcGRhdGUgZnJvbSB0emRhdGEyMDAwZS4KCSogdGltZXpvbmUvYXVzdHJhbGFzaWE6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9ldXJvcGU6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9ub3J0aGFtZXJpY2E6IExpa2V3aXNlLgoJKiB0aW1lem9uZS96b25lLXRhYjogTGlrZXdpc2UuCgoyMDAwLTA3LTMwICBSYWxmIEJhZWNobGUgIDxyYWxmQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc2lnc3RhY2suaDogIE5ldyBmaWxlLiAgT24gTUlQUwoJdGhlIG9yZGVyIG9mIHN0cnVjdCBzaWdhbHRzdGFjayBtZW1iZXJzIGlzIGRpZmZlcmVudC4KCjIwMDAtMDctMjYgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYml0cy9mY250bC5oOiBOZXcgZmlsZS4KCjIwMDAtMDctMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xhbmdpbmZvLmg6IEFkZCBlbnRyaWVzIGZvciBleHRyYSB0YWJsZXMgaW4gQ1RZUEUgZGF0YS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmM6IEFkanVzdCBmb3IgdGhpcy4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmM6IEFkZCBtb3JlIGFsaWdubWVudCBjaGVja3MuCgkqIGxvY2FsZS9zdHJpbmcvc3RyY29sbC5jOiBMaWtld2lzZS4KCjIwMDAtMDctMzAgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmM6IE1vdmUgaW5jbHVzaW9uIG9mIF9pMThuX251bWJlci5oCglvdXRzaWRlIFVTRV9JTl9MSUJJTyBibG9jay4KCjIwMDAtMDctMjYgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL2FybS9kbC1tYWNoaW5lLmggKGZpeF9iYWRfcGMyNCk6IE5ldyBmdW5jdGlvbi4KCShlbGZfbWFjaGluZV9yZWwpOiBVc2UgaXQgZm9yIG91dC1vZi1yYW5nZSBQQzI0IHJlbG9jcy4KCjIwMDAtMDctMjggIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBtYXRoL3Rlc3QtZnB1Y3cuYzogSWdub3JlIHJlc2VydmVkIGJpdHMgaW4gY29udHJvbCB3b3JkLgoKMjAwMC0wNy0yOCAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXNkZXAuaCAoUFNFVURPX1JFVCk6IE5ldyBtYWNyby4KCShyZXQpOiBSZWRlZmluZSB0byBQU0VVRE9fUkVULgoJKFBTRVVETyk6IFJlbW92ZSBqdW1wIHRvIHN5c2NhbGxfZXJyb3IuCgoyMDAwLTA3LTI5ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHJlc29sdi9SRUFETUU6IEFkZCBzb21lIGluZm9ybWF0aW9uIGFib3V0IHVzaW5nIHRoZSByZXNvbHZlciBpbgoJbXVsdGktdGhyZWFkZWQgY29kZSBhbmQgd2l0aCBDKysuICBTcGVsbGluZyBmaXhlcy4KCjIwMDAtMDctMjkgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogcmVzb2x2L3Jlc29sdi5oIChzdHJ1Y3QgX19zb2NrYWRkcl9pbik6IFJlbW92ZS4KCShzdHJ1Y3QgX19yZXNfc3RhdGUpIFshX0xJQkNdOiBSZW1vdmUgcmVmZXJlbmNlIHRvIF9fc29ja2FkZHJfaW4uCgoyMDAwLTA3LTI5ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIFJ1bGVzICh0ZXN0LWJwLWlucHV0cywgbWFrZS10ZXN0LW91dCk6IE5ldyB2YXJpYWJsZXMuCgkoJChvYmpwZngpJS1icC5vdXQpOiBOZXcgcnVsZS4KCSgkKG9ianBmeCklLm91dCk6IFJld3JpdGUgaW4gdGVybXMgb2YgbmV3IHZhcmlhYmxlcy4KCgkqIGxpYmlvL2lvdnN3c2NhbmYuYyAodnN3c2NhbmYpOiBQYXNzIF9JT19GSUxFX3BsdXMgcG9pbnRlciB0bwoJaW50ZXJuYWwgZnVuY3Rpb24gdGhhdCB1c2VzIHZ0YWJsZS4KCSogbGliaW8vdnNucHJpbnRmLmMgKF9JT192c25wcmludGYpOiBMaWtld2lzZS4KCSogbGliaW8vdnN3cHJpbnRmLmMgKF9JT192c3dwcmludGYpOiBMaWtld2lzZS4KCgkqIG1hbGxvYy9tYWxsb2MuYyAobWVtMmNodW5rKTogRGVmaW5lIGluIHRlcm1zIG9mIGNodW5rX2F0X29mZnNldC4KCShtYWxsb2NfZXh0ZW5kX3RvcCk6IENvbnZlcnQgYnJrIHRvIGNodW5rIHVzaW5nIGNodW5rX2F0X29mZnNldC4KCShjaHVua19hbGlnbik6IExpa2V3aXNlLgoKCSogdGltZS9hc2N0aW1lLmMgKGFiX2RheV9uYW1lLCBhYl9tb250aF9uYW1lKTogUmV3cml0ZSBleHByZXNzaW9uCglpbiBhIHdheSB0aGF0IGNvbmZvcm1zIHRvIGRlY2wsIGFuZCBhdm9pZHMgc3B1cmlvdXMgYm91bmRzIHZpb2xhdGlvbi4KCgkqIHN5c2RlcHMvYXJtL2ZyYW1lLmggKHN0cnVjdCBsYXlvdXQpOiBNYWtlIHBvaW50ZXJzIF9fdW5ib3VuZGVkLgoJKiBzeXNkZXBzL2dlbmVyaWMvZnJhbWUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iYWNrdHJhY2UuYyAoQURWQU5DRV9TVEFDS19GUkFNRSk6IFdyYXAgYm91bmRzCglhcm91bmQgcmV0dXJuIHZhbHVlLgoJKF9fYmFja3RyYWNlKTogUXVhbGlmeSBmcmFtZS1wb2ludGVyIGNoYWluIGFuZCByZXR1cm4gYWRkcmVzcwoJcG9pbnRlcnMgYXMgX191bmJvdW5kZWQuICBXcmFwIGJvdW5kcyBhcm91bmQgdmFyaWFibGUgYGN1cnJlbnQnLgoJKiBzeXNkZXBzL2dlbmVyaWMvc2VnZmF1bHQuYyAoQURWQU5DRV9TVEFDS19GUkFNRSk6IFdyYXAgYm91bmRzCglhcm91bmQgcmV0dXJuIHZhbHVlLgoJKGNhdGNoX3NlZ2ZhdWx0KTogUXVhbGlmeSBmcmFtZS1wb2ludGVyIGNoYWluIGFuZCByZXR1cm4gYWRkcmVzcwoJcG9pbnRlcnMgYXMgX191bmJvdW5kZWQuICBXcmFwIGJvdW5kcyBhcm91bmQgdmFyaWFibGUgYGN1cnJlbnQnLgoJKiBzeXNkZXBzL2kzODYvYmFja3RyYWNlLmMgKHN0cnVjdCBsYXlvdXQpOiBNYWtlIHBvaW50ZXJzIF9fdW5ib3VuZGVkLgoJKEFEVkFOQ0VfU1RBQ0tfRlJBTUUpOiBXcmFwIGJvdW5kcyBhcm91bmQgcmV0dXJuIHZhbHVlLgoJKiBzeXNkZXBzL3Bvd2VycGMvYmFja3RyYWNlLmMgKHN0cnVjdCBsYXlvdXQpOiBNYWtlIHBvaW50ZXJzCglfX3VuYm91bmRlZC4KCShfX2JhY2t0cmFjZSk6IFF1YWxpZnkgZnJhbWUtcG9pbnRlciBjaGFpbiBhbmQgcmV0dXJuIGFkZHJlc3MKCXBvaW50ZXJzIGFzIF9fdW5ib3VuZGVkLiAgV3JhcCBib3VuZHMgYXJvdW5kIHZhcmlhYmxlIGBjdXJyZW50Jy4KCgkqIHN5c2RlcHMvaTM4Ni9hZGRtdWxfMS5TOiBzMl9saW1iIGlzIHNjYWxhciBzbyByZW1vdmUgYm91bmRzIGNoZWNrLgoJKiBzeXNkZXBzL2kzODYvbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdWJtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvYWRkbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L211bF8xLlM6IEFkZCBib3VuZHMgY2hlY2tzLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdWJtdWxfMS5TOiBMaWtld2lzZS4KCjIwMDAtMDctMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGxpYmlvL0RlcGVuZDogTmV3IGZpbGUsIGxpYmlvIG5lZWRzIGxvY2FsZWRhdGEgZm9yIHRlc3RzLgoJKiBwb3NpeC9EZXBlbmQ6IExpa2V3aXNlLgoKMjAwMC0wNy0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vX2kxOG5faXRvYS5jOiBSZW1vdmVkLgoJKiBzdGRpby1jb21tb24vX2kxOG5faXRvYS5oOiBSZW1vdmVkLgoJKiBzdGRpby1jb21tb24vX2kxOG5faXRvd2EuYzogUmVtb3ZlZC4KCSogc3RkaW8tY29tbW9uL19pMThuX2l0b3dhLmg6IFJlbW92ZWQuCgkqIHN0ZGlvLWNvbW1vbi9faTE4bl9udW1iZXIuaDogTmV3IGZpbGUuCgkqIHN0ZGlvLWNvbW1vbi9EZXBlbmQ6IE5ldyBmaWxlLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBhcnNlLmg6IEhhbmRsZSBJIG1vZGlmaWVyIGNvcnJlY3RseS4gIE9wdGltaXplLgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYzogUmV3cml0ZSBidWZmZXIgaGFuZGxpbmcgZm9yIGludGVnZXIKCXByaW50aW5nLiAgQ2hhbmdlIHByaW50aW5nIG9mIG51bWJlcnMgd2l0aCBsb2NhbGUgc3BlY2lmaWMgZGlnaXRzIHRvCgl1c2UgbmV3IGNvZGUgaW4gX2kxOG5fbnVtYmVyLmguCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAocm91dGluZXMpOiBSZW1vdmUgX2kxOG5faXRvYSBhbmQKCV9pMThuX2l0b3dhLgoKCSogc3RkaW8tY29tbW9uL2J1ZzEzLmM6IEltcHJvdmUgbWVzc2FnZXMuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfcmVhZCk6IEltcHJvdmUgZXJyb3IgbWVzc2FnZS4KCShzZXRfY2xhc3NfZGVmYXVsdHMpOiBBbHdheXMgc2VhcmNoIGFsc28gZm9yIFV4eHh4IG5hbWVzLgoJRGV0ZWN0IGluc3VmZmljaWVudCBudW1iZXIgb2Ygb3V0ZGlnaXRzLgoKCSogbG9jYWxlL01ha2VmaWxlIChDLXRyYW5zbGl0LmgpOiBVc2UgbXYgbm90ICQobW92ZS1pZi1jaGFuZ2VkKS4KCjIwMDAtMDctMjcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9DLWN0eXBlLmMgKF9ubF9DX0xDX0NUWVBFKTogU3dhcCB0aGUgdHdvIG5hbWVzIGluCglfTkxfQ1RZUEVfTUFQX05BTUVTLgoJKiBsb2NhbGUvbG9jYWxlaW5mby5oIChfX1RPV190b3VwcGVyLCBfX1RPV190b2xvd2VyKTogTmV3IGVudW0gdmFsdWVzLgoJKiB3Y3R5cGUvd2NmdW5jcy5jICh0b3dsb3dlciwgdG93dXBwZXIpOiBVc2UgdGhlbS4KCSogd2N0eXBlL3djZnVuY3NfbC5jIChfX3Rvd2xvd2VyX2wsIF9fdG93dXBwZXJfbCk6IExpa2V3aXNlLgoJKiB3Y3R5cGUvd2N0cmFucy5jICh3Y3RyYW5zKTogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y3RyYW5zX2wuYyAoX193Y3RyYW5zX2wpOiBMaWtld2lzZS4KCjIwMDAtMDctMjcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIHBvc2l4L2ZubWF0Y2guYyAoaXNfY2hhcl9jbGFzcyk6IEZpeCBsb2dpYy4gIEF2b2lkIGJ1ZmZlciBvdmVycnVuLgoJVXNlIHRoZSBvcHRpbWl6ZWQgdmVyc2lvbiBvZiB0aGlzIGZ1bmN0aW9uIG91dHNpZGUgZ2xpYmMgYXMgd2VsbC4KCjIwMDAtMDctMjcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbG9jYWxlL2luZGlnaXRzLmggKGluZGlnaXRfdmFsdWUpOiBDb3JyZWN0LgoJKiBsb2NhbGUvaW5kaWdpdHN3Yy5oIChpbmRpZ2l0d2NfdmFsdWUpOiBDb3JyZWN0LgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jIChfX3Zmc2NhbmYpOiBGaXggSTE4TiBudW1iZXIKCWNvbnZlcnNpb24sIGFkZCBHUk9VUCBjaGVja2luZyBmb3IgaXQsIGZpeCBHUk9VUCBudW1iZXIKCWNvbnZlcnNpb24gd2l0aCBzdHJsZW4odGhvdXNhbmRzKSA+IDEuCglIb25vdXIgd2lkdGggY29ycmVjdGx5IGluIHRoZSBwcmVzZW5jZSBvZiBmbG9hdGluZwoJZGVjaW1hbCBwb2ludHMgYW5kIHRob3VzYW5kcyBzZXBhcmF0b3JzLgoJKiBzdGRpby1jb21tb24vdHN0LXNzY2FuZi5jOiBOZXcgdGVzdC4KCSogc3RkaW8tY29tbW9uL01ha2VmaWxlOiBBZGQgaXQgdG8gdGVzdHMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2wuYyAoc3RydG9sKTogRml4IGNvbnZlcnNpb24gaWYgdGhlcmUgYXJlCgl0aG91c2FuZHMgc2VwYXJhdG9ycyBhbmQgZ3JvdXAgYXJndW1lbnQgaXMgbm9uLXplcm8uCgoyMDAwLTA3LTI1ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvVmVyc2lvbnM6IEVudW1lcmF0ZSBfXypfbCBmdW5jdGlvbnMgaW5kaXZpZHVhbGx5LiBfX3djdHJhbnNfbAoJc3RhcnRzIGF0IEdMSUJDXzIuMi4KCjIwMDAtMDctMTIgIE1hY2llaiBXLiBSb3p5Y2tpICA8bWFjcm9AZHMyLnBnLmdkYS5wbD4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvRGlzdDogQWRkIHN5cy90YXMuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9NYWtlZmlsZSAoc3lzZGVwX3JvdXRpbmVzKTogQWRkCglfdGVzdF9hbmRfc2V0LgoJKGhlYWRlcnMpOiBBZGQgc3lzL3Rhcy5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL1ZlcnNpb25zOiBFeHBvcnQgX3Rlc3RfYW5kX3NldCBmb3IKCUdMSUJDXzIuMiBmcm9tIGxpYmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvX3Rlc3RfYW5kX3NldC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvdGFzLmg6IE5ldyBmaWxlIGZvcgoJX3Rlc3RfYW5kX3NldC4KCjIwMDAtMDctMjggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ251L25ldGluZXQvdGNwLmg6IEFkZCBUQ1Agb3B0aW9ucyBmcm9tIExpbnV4IDIuNC4KCgkqIGRsZmNuL01ha2VmaWxlICgkKG9ianBmeCl0c3QtZGxhZGRyKTogTmV3LgoJKCQob2JqcGZ4KXRzdC1kbGFkZHIub3V0KTogbmV3LgoJKHRlc3RzKTogQWRkIHRzdC1kbGFkZHIuCgkoJChvYmpwZngpZ2xyZWZtYWluKTogVXNlIGxpYmRsLgoKCSogZGxmY24vdHN0LWRsYWRkci5jOiBOZXcgZmlsZS4gIEJhc2VkIG9uIGEgdGVzdCBieSBWb2xrbWFyIFNpZWgKCTx2c0BjYWxkZXJhLmRlPi4KCjIwMDAtMDctMjcgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0OiBBZGQgdHJ1bmNhdGUoNjQpIGFuZAoJZnRydW5jYXRlKDY0KSBjYWxscy4KCjIwMDAtMDctMjcgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogaW50bC90c3QtdHJhbnNsaXQuYzogSW5jbHVkZSBzdHJpbmcuaCB0byBnZXQgcHJvdG90eXBlIGZvcgoJc3RyY21wKCkuCgoyMDAwLTA3LTI3ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZm9yay5jOiBNYWtlIF9fbGliY19mb3JrIHRoZSBzdHJvbmcKCW5hbWUgYW5kIGFkZCB3ZWFrIGFsaWFzIGZvciBfX2ZvcmsuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IENoYW5nZSBsbHNlZWssIHByZWFkCgkmIHB3cml0ZSB0byB1c2UgX19saWJjXzxuYW1lPiBhcyBzdHJvbmcgbmFtZXMgaW5zdGVhZCBvZgoJX19zeXNjYWxsXzxuYW1lPi4KCgkqIGluY2x1ZGUvc2NoZWQuaDogQWRkIGNsb25lMiBwcm90b3R5cGUuCgoyMDAwLTA3LTI2ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmggKEVOVFJZKTogRG9uJ3QgZGVjbGFyZSB0aGUKCXByb2NlZHVyZSBuYW1lIHR3aWNlLgoKMjAwMC0wNy0yNyAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIG1hbGxvYy9tYWxsb2MuYyAoSEFWRV9NUkVNQVApOiBVbmRvIGNoYW5nZSBvZiAxOTk3LTEyLTA0LgoKMjAwMC0wNy0yNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaDogUmVuYW1lIE1TR19VUkcgVE8KCU1TR19DT05GSVJNIGZvbGxvd2luZyBrZXJuZWwgMi40LjAgKE1TR19VUkcgd2FzIG5ldmVyIHVzZWQpLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc29ja2V0Lmg6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgQW5kaSBLbGVlbiA8YWtAc3VzZS5kZT4uCgoJKiBydC90c3QtYWlvNjQuYzogQWRkIHRlc3RzIGZvciBhaW9fZnN5bmM2NCBhbmQgYWlvX2NhbmNlbDY0LgoJKGRvX3dhaXQpOiBUZXN0IHJlcXVlc3RzIHdpdGggYWlvX3JldHVybjY0LgoJKGRvX3Rlc3QpOiBDaGFuZ2UgY2FsbGVycyBvZiBkb193YWl0LgoKMjAwMC0wNy0yNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcnQvdHN0LWFpby5jOiBBZGQgdGVzdHMgZm9yIGFpb19mc3luYyBhbmQgYWlvX2NhbmNlbC4KCShkb193YWl0KTogVGVzdCByZXF1ZXN0cyB3aXRoIGFpb19yZXR1cm4uCgkoZG9fdGVzdCk6IENoYW5nZSBjYWxsZXJzIG9mIGRvX3dhaXQuCgoyMDAwLTA3LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJ0L2Fpb19taXNjLmMgKF9fYWlvX3JlbW92ZV9yZXF1ZXN0KTogTmV3IGZ1bmN0aW9uLiAgSGFuZGxlIHJlbW92aW5nCglmcm9tIHJlcXVlc3QgbGlzdC4gIERvbid0IGRvIHRoZSBsaXN0IGhhbmRsaW5nIGhlcmUsIGNhbGwKCV9fYWlvX3JlbW92ZV9yZXF1ZXN0LgoJKiBydC9haW9fbWlzYy5oOiBBZGQgcHJvdG90eXBlIGZvciBfX2Fpb19yZW1vdmVfcmVxdWVzdC4KCSogcnQvYWlvX2NhbmNlbC5jOiBEb24ndCBhc3N1bWUgX19haW9fZmluZF9yZXFfZmQgc3VjY2VlZHMgc2luY2UgdGhlCglyZXF1ZXN0IG1pZ2h0IGFscmVhZHkgYmUgcHJvY2Vzc2VkLiAgRG9uJ3QgZG8gdGhlIGxpc3QgaGFuZGxpbmcKCWhlcmUsIGNhbGwgX19haW9fcmVtb3ZlX3JlcXVlc3QuCgoJKiBydC9haW9fbWlzYy5jOiBEb24ndCBkZXBlbmQgb24gYWlvX3JlcXByaW8gZmllbGQgZm9yIExJT19TWU5DIGFuZAoJTElPX0RTWU5DLgoKCSogcnQvYWlvX21pc2MuYzogQWRkIGNvbW1lbnQgZXhwbGFpbmluZyB3aHkgd3JpdGVyIG1lbW9yeSBiYXJyaWVycwoJYXJlIG1pc3NpbmcuCgoyMDAwLTA3LTI3ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1jaGVja3MuaCAoQk9VTkRFRF9OKTogTWFrZSBpdCB3b3JrIGZvciB2b2lkKi4KCSogc3lzZGVwcy9nZW5lcmljL2JwLXNlbWN0bC5oIChjaGVja19zZW1jdGwpOiBGaXggc3ludGF4IGVycm9yCglpbiB1bmlvbiBpbml0LiAgUGFzcyB6ZXJvIGZvciBpZ25vcmVkIHNlbW51bSBhcmcgdG8gc2VtY3RsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1hdC5jIChzaG1hdCk6IEZpeCB0eXBvLgoKMjAwMC0wNy0yNiAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2dudS9iaXRzL21zcS5oOiBRdWFsaWZ5IGtlcm5lbCdzCglkYXRhIHN0cnVjdHVyZSBwb2ludGVycyBhcyBfX3VuYm91bmRlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NobS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JwLXNlbWN0bC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXNnY3RsLmM6IFF1YWxpZnkga2VybmVsJ3MgZGF0YSBzdHJ1Y3R1cmUKCXBvaW50ZXJzIGFzIF9fdW5ib3VuZGVkLiAgQ2hlY2sgYm91bmRzIG9mIHN5c2NhbGwgYXJncy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXNncmN2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tc2dzbmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NlbWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2Vtb3AuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobWF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobWR0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9tc2djdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NlbWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2htY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L21zZ2N0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZW1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2htY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L21zZ2N0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zZW1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2htY3RsLmM6IExpa2V3aXNlLgoKMjAwMC0wNy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9pb2Z3aWRlLmM6IEVuYWJsZSB0cmFuc2xpdGVyYXRpb24gZm9yIGNvbnZlcnNpb24gZnJvbSB3Y2hhcl90CglieSBkZWZhdWx0LgoJKiBsb2NhbGUvQy1jdHlwZS5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc21ic2xvYWQuYzogTGlrZXdpc2UuCgoyMDAwLTA3LTI2ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIE1ha2Vjb25maWcgKCtsaW5rLWJvdW5kZWQsIGxpbmstbGliYy1ib3VuZGVkLAoJbGluay1leHRyYS1saWJzLWJvdW5kZWQpOiBOZXcgdmFyaWFibGVzLgoJKGJ1aWx0LXByb2dyYW0tY21kKTogT21pdCAkKHJ1bi1wcm9ncmFtLXByZWZpeCkgZm9yIHN0YXRpYyBCUCB0ZXN0cy4KCSogTWFrZXJ1bGVzIChkby10ZXN0cy1jbGVhbiwgY29tbW9uLW1vc3RseWNsZWFuKTogUmVtb3ZlIEJQIHRlc3QgZmlsZXMuCgkqIFJ1bGVzICh0ZXN0cy1icC5vdXQpOiBOZXcgdmFyaWFibGUuCgkodGVzdHMpOiBDb25kaXRpb25hbGx5IGFkZCBCUCB0ZXN0cy4KCShiaW5hcmllcy1ib3VuZGVkKTogQWRkIHZhcmlhYmxlIGFuZCBhc3NvY2lhdGVkIHJ1bGUuCgkqIGNzdS9NYWtlZmlsZSBbYnVpbGQtYm91bmRlZF0gKGV4dHJhLW9ianMsIGluc3RhbGwtbGliKToKCU1vdmUgY29uZGl0aW9uYWwgc3R1ZmYgYWZ0ZXIgcGxhY2Ugd2hlcmUgY29uZGl0aW9uIGlzIGRlZmluZWQuCgoJKiBtYWxsb2MvbWFsbG9jLmMgKGJwLWNoZWNrcy5oKTogQWRkICNpbmNsdWRlLgoJKG1lbTJjaHVuaywgY2h1bmtfYXRfb2Zmc2V0LCBiaW5fYXQpOiBXcmFwIEJPVU5ERURfMSBhcm91bmQgZXhwcmVzc2lvbi4KCShfYmluX2F0KTogQWRkIHVuYm91bmRlZCB2ZXJzaW9uIG9mIGJpbl9hdC4KCShJQVYsIGNodW5rX2FsbG9jKTogVXNlIHVuYm91bmRlZCBfYmluX2F0LgoJKG1BTExPYywgckVBTExPYywgY2h1bmtfcmVhbGxvYywgbUVNQUxJR24sIGNBTExPYywKCWNodW5rMm1lbV9jaGVjaywgcmVhbGxvY19jaGVjaywgbWFsbG9jX3N0YXJ0ZXIsIG1hbGxvY19hdGZvcmspOgoJV3JhcCBCT1VOREVEX04gYXJvdW5kIHJldHVybiB2YWx1ZS4KCShjaHVua19yZWFsbG9jKTogQWRqdXN0IG9sZHNpemUgb25jZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1jaGVja3MuaCAoX19tZW1jaHIpOiBSZW1vdmUgaW5jb3JyZWN0IGRlY2wuCgkoX191YnBfbWVtY2hyKTogQWRkIGNvcnJlY3QgZGVjbC4KCShfQ0hFQ0tfU1RSSU5HKTogVXNlIF9fdWJwX21lbWNoci4KCSogc3lzZGVwcy9hbHBoYS9tZW1jaHIuUyBbIV9fQk9VTkRFRF9QT0lOVEVSU19fXSAoX191YnBfbWVtY2hyKToKCU5ldyBhbGlhcyBmb3IgdW5ib3VuZGVkLXBvaW50ZXIgX19tZW1jaHIuCgkqIHN5c2RlcHMvaTM4Ni9tZW1jaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9tZW1jaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9tZW1jaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9tZW1jaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9tZW1jaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdmF4L21lbWNoci5zOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaTM4Ni9zdHJ0b2suUzogRml4IGJvdW5kcyBjaGVja3MgdG8gcGFzcyB0ZXN0cy4KCShTQVZFX1BUUik6IE5ldyBtYWNyby4gIChzYXZlX3B0cik6IEV4cGFuZCBzaXplIGFzIEJQLgoJKHN0cnRvayk6IERvbid0IGJvdGhlciB0byB3cml0ZSBpbnRvIFNBVkVfUFRSIHdoZW4gcmV0dXJuaW5nIE5VTEwuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L3N0cnRvay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2JwLWFzbS5oIChSRVRVUk5fQk9VTkRFRF9QT0lOVEVSLAoJUkVUVVJOX05VTExfQk9VTkRFRF9QT0lOVEVSKTogVXNlICVlY3ggYXMgdGhlIHNjcmF0Y2ggcmVnaXN0ZXIuCgoJKiBzeXNkZXBzL2kzODYvYml0cy9zdHJpbmcuaCBbIV9fQk9VTkRFRF9QT0lOVEVSU19fXTogRGlzYWJsZSBpbmxpbmVzLgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9iaXRzL3N0cmluZy5oIFshX19CT1VOREVEX1BPSU5URVJTX19dOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmMgKGdldF9wcm9jX3BhdGgpOiBDb3B5Cglib3VuZHMgb2YgY29weV9yZXN1bHQgdG8gbW91bnRfcHJvYy4KCjIwMDAtMDctMjUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIHdjdHlwZS93Y3R5cGUuaCAoX193Y3RyYW5zX2wpOiBOZXcgZGVjbGFyYXRpb24uCgkqIHdjdHlwZS93Y3RyYW5zX2wuYzogTmV3IGZpbGUuCgkqIHdjdHlwZS9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgd2N0cmFuc19sLgoKMjAwMC0wNy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYzogRml4ZXMgZm9yIHVzZSBvdXRzaWRlIGdsaWJjLgoJUGF0Y2ggYnkgTWFjR3l2ZXIgPG1hY2d5dmVyQHRvcy5uZXQ+LgoKMjAwMC0wNy0yNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcnQvdHN0LWFpbzQuYzogTmV3IGZpbGUsIHNsaWdodGx5IG1vZGlmaWVkIHZlcnNpb24gb2YgdHN0LWFpbzIuCgkqIHJ0L3RzdC1haW81LmM6IE5ldyBmaWxlLCBzbGlnaHRseSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRzdC1haW8yLgoJKiBydC9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gdHN0LWFpbzQgYW5kIHRzdC1haW81LgoKCSogcnQvdHN0LWFpby5jICh0ZXN0X2ZpbGUpOiBGaXggdHlwby4KCSogcnQvdHN0LWFpbzY0LmMgKHRlc3RfZmlsZSk6IExpa2V3aXNlLgoKCSogcnQvdHN0LWFpbzMuYzogTmV3IGZpbGUsIHNsaWdodGx5IG1vZGlmaWVkIHZlcnNpb24gb2YgdHN0LWFpbzIuCgkqIHJ0L01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biB0c3QtYWlvMy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L25ldGluZXQvaXAuaDogUmVtb3ZlZCBpcF9vcHRpb25zIHNpbmNlCglpdCdzIG5vdCBuZWVkZWQgYW5kIGNvbmZ1c2VzIG9ubHkuCgoyMDAwLTA3LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9yZXNfaW5pdC5jOiBBZGQgc3VwcG9ydCBmb3IgbmFtZXNlcnZlciBjb21tdW5pY2F0aW9uIHdpdGgKCUlQdjYuCgkqIHJlc29sdi9yZXNfc2VuZC5jOiBMaWtld2lzZS4KCSogcmVzb2x2L3Jlc29sdi5oIChzdHJ1Y3QgX19yZXNfc3RhdGUpOiBTdG9yZSBJUHY2IGFkZHJlc3MsIG5vdCBJUHY0CglpbiBuc2FkZHJzIGZpZWxkLgoJUGF0Y2ggYnkgPHZlbmFhc0BudmcubnRudS5ubz4uCgoyMDAwLTA3LTI1ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAod2N0eXBlX3RhYmxlX2dldCk6IE5ldyBmdW5jdGlvbi4KCSh3Y3dpZHRoX3RhYmxlX2dldCk6IE5ldyBmdW5jdGlvbi4KCSh3Y3dpZHRoX3RhYmxlX2FkZCk6IENhbGwgaXQuCgkod2N0cmFuc190YWJsZV9nZXQpOiBOZXcgZnVuY3Rpb24uCgkod2N0cmFuc190YWJsZV9hZGQpOiBDYWxsIGl0LgoKMjAwMC0wNy0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC9saW9fbGlzdGlvLmMgKGxpb19saXN0aW8pOiBBbHdheXMgZGlzYWJsZSBpbmRpdmlkdWFsCglub3RpZmljYXRpb24uCgkqIHJ0L01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biB0c3QtYWlvMi4KCSogcnQvdHN0LWFpbzIuYzogTmV3IGZpbGUuCgoJKiBydC9saW9fbGlzdGlvLmMgKGxpb19saXN0aW8pOiBIYW5kbGUgY2FzZSBvZiBTSUcgPT0gTlVMTCBjb3JyZWN0bHkuCglSZXBvcnRlZCBieSBLZXZpbiBCZWFyZCA8YmVhcmRrQGdhdHdpY2suR2Vjby1QcmFrbGEuc2xiLmNvbT4uCgoyMDAwLTA3LTI1ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtbmV0Z3JwLmMgKHN0cmlwX3doaXRlc3BhY2UpOiBOZXcgZnVuY3Rpb24uCgkoX25zc19uZXRncm91cF9wYXJzZWxpbmUpOiBVc2Ugc3RyaXBfd2hpdGVzcGFjZSB0byBzdHJpcCBvZmYgYW55CglsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXMgZnJvbSBob3N0LCB1c2VyIGFuZCBkb21haW4gbmFtZS4KCjIwMDAtMDctMjUgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogY3N1L2RlZnMuYXdrOiBBZGQgc3VwcG9ydCBmb3IgbmVlZF9lbmRwLgoKMjAwMC0wNy0yNSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiByZXNvbHYvcmVzb2x2Lmg6IFJlbW92ZSBfX1AgZnJvbSByZXNfc2VuZF9xaG9vayBhbmQKCXJlc19zZW5kX3Job29rIHR5cGVkZWZzLgoKMjAwMC0wNy0yNSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC90c3QtdHJhbnNsaXQuYyAobWFpbik6IFVuc2V0IE9VVFBVVF9DSEFSU0VULgoKMjAwMC0wNy0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9idWlsdGluLmg6IEFkZCBXQ0hBUl9UIGFsaWFzLgoKMjAwMC0wNy0yNSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBodXJkL3RocmVhZC1jYW5jZWwuYyAoaHVyZF90aHJlYWRfY2FuY2VsKTogV2hlbiBjYW5jZWxsaW5nIHRoZQoJY2FsbGluZyB0aHJlYWQsIHNldCB0aGUgY2FuY2VsbGF0aW9uIGZsYWcgYW5kIHJldHVybiBzdWNjZXNzCglpbnN0ZWFkIG9mIEVJTlRSLgoKMjAwMC0wNy0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9NYWtlZmlsZTogQWRkIHJ1bGVzIGJ1aWxkLCBydW4sIGFuZCBkaXN0cmlidXRlIHRzdC13aWRldGV4dC5jLgoJKiBsaWJpby90c3Qtd2lkZXRleHQuYzogTmV3IGZpbGUuCgkqIGxpYmlvL3RzdC13aWRldGV4dC5pbnB1dDogTmV3IGZpbGUuCgoJKiBsaWJpby9pb2dldHdsaW5lLmMgKF9JT19nZXR3bGluZV9pbmZvKTogUHJldHR5IHByaW50LgoKCSogbGliaW8vd2ZpbGVvcHMuYyAoX0lPX3dmaWxlX3VuZGVyZmxvdyk6IEhhbmRsZSBub3QgZW50aXJlbHkKCWVtcHR5IGV4dGVybmFsIGJ1ZmZlciBjb3JyZWN0bHkuCgoyMDAwLTA3LTI1ICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGRzMi5wZy5nZGEucGw+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChfUlRMRF9QUk9MT0dVRSk6IFN0cmluZ2lmeSB1c2luZwoJX19TVFJJTkcoZW50cnkpIGFuZCBub3QgI2VudHJ5LgoJKF9SVExEX0VQSUxPR1VFKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCjIwMDAtMDctMjUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAoJChvYmpwZngpdHN0LXVuYnB1dGMub3V0KTogQ2hhbmdlIHBhcmFtZXRlcgoJYWNjb3JkaW5nIHRvIGNoYW5nZXMgaW4gdGVzdCBwcm9ncmFtLCBydW4gYWxzbyB3aXRoIHN0YXRpYyBvbmx5CglidWlsZHMuCgkoJChvYmpwZngpdHN0LXByaW50Zi5vdXQpOiBMaWtld2lzZS4KCgkqIHN0ZGlvLWNvbW1vbi90c3QtdW5icHV0Yy5zaDogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi90c3QtcHJpbnRmLnNoOiBMaWtld2lzZS4KCjIwMDAtMDctMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vd2ZpbGVvcHMuYyAoX0lPX3dkb193cml0ZSk6IENvcnJlY3QgcmV0dXJuIHZhbHVlLgoKCSogbGliaW8vd2ZpbGVvcHMuYyAoX0lPX3dkb193cml0ZSk6IEFsbG93IHBhcnRpYWwgY29udmVyc2lvbnMgaW4gdGhlCglsb29wLgoKCSogbGliaW8vZmlsZW9wcy5jOiBQcmV0dHkgcHJpbnQuCgoyMDAwLTA3LTIzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiB3Y3R5cGUvd2NoYXItbG9va3VwLmg6IE5ldyBmaWxlLgoJKiB3Y3R5cGUvaXN3Y3R5cGUuYzogSW5jbHVkZSAid2NoYXItbG9va3VwLmgiLgoJKF9faXN3Y3R5cGUpOiBTdXBwb3J0IGFsdGVybmF0ZSBsb2NhbGUgZm9ybWF0IHdpdGggMy1sZXZlbCB0YWJsZXMuCgkqIHdjdHlwZS9pc3djdHlwZV9sLmMgKF9faXN3Y3R5cGVfbCk6IExpa2V3aXNlLgoJKiB3Y3R5cGUvdG93Y3RyYW5zLmMgKF9fdG93Y3RyYW5zKTogTGlrZXdpc2UuCgkqIHdjdHlwZS90b3djdHJhbnNfbC5jIChfX3Rvd2N0cmFuc19sKTogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y2Z1bmNzLmM6IEluY2x1ZGUgIndjaGFyLWxvb2t1cC5oIi4KCShfX2N0eXBlMzJfd2N0eXBlLCBfX2N0eXBlMzJfd2N0cmFucyk6IERlY2xhcmUgZXh0ZXJuYWwuCgkoX19pc3dhbG51bSwgX19pc3dhbHBoYSwgX19pc3djbnRybCwgX19pc3dkaWdpdCwgX19pc3dsb3dlciwKCV9faXN3Z3JhcGgsIF9faXN3cHJpbnQsIF9faXN3cHVuY3QsIF9faXN3c3BhY2UsIF9faXN3dXBwZXIsCglfX2lzd3hkaWdpdCwgdG93bG93ZXIsIHRvd3VwcGVyKTogU3VwcG9ydCBhbHRlcm5hdGUgbG9jYWxlIGZvcm1hdAoJd2l0aCAzLWxldmVsIHRhYmxlcy4KCSogd2N0eXBlL3djZXh0cmEuYyAoaXN3YmxhbmspOiBMaWtld2lzZS4KCSogd2N0eXBlL3djZnVuY3NfbC5jOiBJbmNsdWRlICJ3Y2hhci1sb29rdXAuaCIuCgkoX19pc3dhbG51bV9sLCBfX2lzd2FscGhhX2wsIF9faXN3Y250cmxfbCwgX19pc3dkaWdpdF9sLCBfX2lzd2xvd2VyX2wsCglfX2lzd2dyYXBoX2wsIF9faXN3cHJpbnRfbCwgX19pc3dwdW5jdF9sLCBfX2lzd3NwYWNlX2wsIF9faXN3dXBwZXJfbCwKCV9faXN3eGRpZ2l0X2wsIF9fdG93bG93ZXJfbCwgX190b3d1cHBlcl9sKTogU3VwcG9ydCBhbHRlcm5hdGUgbG9jYWxlCglmb3JtYXQgd2l0aCAzLWxldmVsIHRhYmxlcy4KCSogd2N0eXBlL3djZXh0cmFfbC5jIChfX2lzd2JsYW5rX2wpOiBMaWtld2lzZS4KCSogd2N0eXBlL3djdHlwZS5jIChfX3djdHlwZSk6IExpa2V3aXNlLiAgSW4gdGhlIGFsdGVybmF0ZSBsb2NhbGUKCWZvcm1hdCwgcmV0dXJuIGEgMy1sZXZlbCB0YWJsZSBwb2ludGVyLgoJKiB3Y3R5cGUvd2N0eXBlX2wuYyAoX193Y3R5cGVfbCk6IExpa2V3aXNlLgoJKiB3Y3R5cGUvd2N0cmFucy5jICh3Y3RyYW5zKTogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y3R5cGUuaCAoX19JU3d1cHBlciwgX19JU3dsb3dlciwgX19JU3dhbHBoYSwgX19JU3dkaWdpdCwKCV9fSVN3eGRpZ2l0LCBfX0lTd3NwYWNlLCBfX0lTd3ByaW50LCBfX0lTd2dyYXBoLCBfX0lTd2JsYW5rLAoJX19JU3djbnRybCwgX19JU3dwdW5jdCwgX19JU3dhbG51bSk6IE5ldyBlbnVtIHZhbHVlcy4KCShpc3djdHlwZSk6IFJlbW92ZSBtYWNybyBkZWZpbml0aW9uLgoJKiB3Y3NtYnMvd2N3aWR0aC5oOiBJbmNsdWRlICJ3Y2hhci1sb29rdXAuaCIuCgkoaW50ZXJuYWxfd2N3aWR0aCk6IFN1cHBvcnQgYWx0ZXJuYXRlIGxvY2FsZSBmb3JtYXQgd2l0aCAzLWxldmVsCgl0YWJsZXMuCgkqIGxvY2FsZS9sYW5naW5mby5oIChfTkxfQ1RZUEVfQ0xBU1NfT0ZGU0VULCBfTkxfQ1RZUEVfTUFQX09GRlNFVCk6CglOZXcgbmxfaXRlbXMuCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZiAoX05MX0NUWVBFX0NMQVNTX09GRlNFVCwgX05MX0NUWVBFX01BUF9PRkZTRVQpOgoJRGVmaW5lIHRoZW0gYXMgYmVpbmcgdHlwZSAid29yZCIuCgkqIGxvY2FsZS9DLWN0eXBlLmMgKF9ubF9DX0xDX0NUWVBFKTogQWRkIGluaXRpYWxpemVycyBmb3IgdGhlbS4KCSogY3R5cGUvY3R5cGUtaW5mby5jIChfX2N0eXBlMzJfd2N0eXBlLCBfX2N0eXBlMzJfd2N0cmFucywKCV9fY3R5cGUzMl93aWR0aCk6IE5ldyBleHBvcnRlZCB2YXJpYWJsZXMuCgkqIGxvY2FsZS9sYy1jdHlwZS5jIChfbmxfcG9zdGxvYWRfY3R5cGUpOiBJbml0aWFsaXplIHRoZW0gaW4gdGhlCglhbHRlcm5hdGUgbG9jYWxlIGZvcm1hdC4gRG9uJ3QgaW5pdGlhbGl6ZSBfX2N0eXBlX25hbWVzIGFuZAoJX19jdHlwZV93aWR0aCBpbiB0aGUgYWx0ZXJuYXRlIGxvY2FsZSBmb3JtYXQuCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuaCAob2xkc3R5bGVfdGFibGVzKTogTmV3IGRlY2xhcmF0aW9uLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMgKG9sZHN0eWxlX3RhYmxlcyk6IE5ldyB2YXJpYWJsZS4KCShPUFRfT0xEU1RZTEUpOiBOZXcgbWFjcm8uCgkob3B0aW9ucyk6IEFkZCAtLW9sZC1zdHlsZSBvcHRpb24uCgkocGFyc2Vfb3B0KTogSGFuZGxlIC0tb2xkLXN0eWxlIG9wdGlvbi4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGxvY2FsZV9jdHlwZV90KTogQWRkIGNsYXNzX29mZnNldCwKCW1hcF9vZmZzZXQsIGNsYXNzXzNsZXZlbCwgbWFwXzNsZXZlbCwgd2lkdGhfM2xldmVsIG1lbWJlcnMuCgkoY3R5cGVfb3V0cHV0KTogU3VwcG9ydCBmb3IgYWx0ZXJuYXRlIGxvY2FsZSBmb3JtYXQ6IENvbXB1dGF0aW9uIG9mCgluZWxlbXMgY2hhbmdlcy4gX05MX0NUWVBFX1RPVVBQRVIzMiwgX05MX0NUWVBFX1RPTE9XRVIzMiBhbmQKCV9OTF9DVFlQRV9DTEFTUzMyIG9ubHkgMjU2IGNoYXJhY3RlcnMuIF9OTF9DVFlQRV9OQU1FUyBlbXB0eS4KCU5ldyBmaWVsZHMgX05MX0NUWVBFX0NMQVNTX09GRlNFVCwgX05MX0NUWVBFX01BUF9PRkZTRVQuIEZpZWxkCglfTkxfQ1RZUEVfV0lEVEggbm93IGNvbnRhaW5zIHRoZSB0aHJlZS1sZXZlbCB0YWJsZS4gRXh0cmEgZWxlbXMKCW5vdyBjb250YWluIGJvdGggY2xhc3MgYW5kIG1hcCB0YWJsZXMuCgkoc3RydWN0IHdjdHlwZV90YWJsZSk6IE5ldyB0eXBlLgoJKHdjdHlwZV90YWJsZV9pbml0LCB3Y3R5cGVfdGFibGVfYWRkLCB3Y3R5cGVfdGFibGVfZmluYWxpemUpOiBOZXcKCWZ1bmN0aW9ucy4KCShzdHJ1Y3Qgd2N3aWR0aF90YWJsZSk6IE5ldyB0eXBlLgoJKHdjd2lkdGhfdGFibGVfaW5pdCwgd2N3aWR0aF90YWJsZV9hZGQsIHdjd2lkdGhfdGFibGVfZmluYWxpemUpOiBOZXcKCWZ1bmN0aW9ucy4KCShzdHJ1Y3Qgd2N0cmFuc190YWJsZSk6IE5ldyB0eXBlLgoJKHdjdHJhbnNfdGFibGVfaW5pdCwgd2N0cmFuc190YWJsZV9hZGQsIHdjdHJhbnNfdGFibGVfZmluYWxpemUpOiBOZXcKCWZ1bmN0aW9ucy4KCShhbGxvY2F0ZV9hcnJheXMpOiBTdXBwb3J0IGZvciBhbHRlcm5hdGUgbG9jYWxlIGZvcm1hdDogU2V0CglwbGFuZV9zaXplIGFuZCBwbGFuZV9jbnQgdG8gMC4gUmVzdHJpY3QgY3R5cGUtPmN0eXBlMzJfYiB0byB0aGUgZmlyc3QKCTI1NiBjaGFyYWN0ZXJzLiBDb21wdXRlIGN0eXBlLT5jbGFzc18zbGV2ZWwuIFJlc3RyaWN0IGN0eXBlLT5tYXAzMltpZHhdCgl0byB0aGUgZmlyc3QgMjU2IGNoYXJhY3RlcnMuIENvbXB1dGUgY3R5cGUtPm1hcF8zbGV2ZWwuIFNldAoJY3R5cGUtPmNsYXNzX29mZnNldCBhbmQgY3R5cGUtPm1hcF9vZmZzZXQuIENvbXB1dGUgY3R5cGUtPndpZHRoXzNsZXZlbAoJaW5zdGVhZCBvZiBjdHlwZS0+d2lkdGguCgoyMDAwLTA3LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2lvZ2V0d2xpbmUuYyAoX0lPX2dldHdsaW5lX2luZm8pOiBVc2Ugd2lkZSBjaGFyYWN0ZXIKCXN0cmluZyBmdW5jdGlvbnMuCgoyMDAwLTA3LTI0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL3dmaWxlZG9hbGxvYy5jIChfSU9fd2ZpbGVfZG9hbGxvY2F0ZSk6IE1lYXN1cmUgc2l6ZQoJaW4gd2lkZSBjaGFyYWN0ZXJzLCBub3QgYnl0ZXMuCgkqIGxpYmlvL3RzdF9wdXR3Yy5jIChkb190ZXN0KTogQWRkIHRlc3QgZm9yIHdyaXRpbmcgbG90cyBvZiBkYXRhCglpbnRvIGZpbGUuCgoyMDAwLTA3LTIyICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvbmxfbGFuZ2luZm8uYyAobmxfbGFuZ2luZm8pOiBBY2NlcHQgaXRlbXMgYmVsb25naW5nIHRvIHRoZQoJbmV3IGNhdGVnb3JpZXMgTENfUEFQRVIsIExDX05BTUUsIExDX0FERFJFU1MsIExDX1RFTEVQSE9ORSwKCUxDX01FQVNVUkVNRU5ULCBMQ19JREVOVElGSUNBVElPTi4KCgkqIGxvY2FsZS94bG9jYWxlLmggKHN0cnVjdCBfX2xvY2FsZV9zdHJ1Y3QpOiBJbmNyZWFzZSBzaXplIG9mCglfX2xvY2FsZXMgYXJyYXkuCgkqIGxvY2FsZS9kdXBsb2NhbGUuYyAoX19kdXBsb2NhbGUpOiBDb3B5IG5ld2x5IGFkZGVkIGNhdGVnb3JpZXMgYXMKCXdlbGwuCgkqIGxvY2FsZS9mcmVlbG9jYWxlLmMgKF9fZnJlZWxvY2FsZSk6IEZyZWUgbmV3bHkgYWRkZWQgY2F0ZWdvcmllcy4KCSogbG9jYWxlL25ld2xvY2FsZS5jIChfX25ld2xvY2FsZSk6IEZpeCB0eXBvIGluIHNhbml0eSBjaGVjay4KCUlmIGEgYmFzZSBpcyBnaXZlbiwgdXNlIGl0LCBkb24ndCBzaW1wbHkgcmV0dXJuIGl0LgoKMjAwMC0wNy0yMiAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogY3J5cHQvbWQ1LWNyeXB0LmMgKF9fbWQ1X2NyeXB0X3IpOiBBdm9pZCBnY2Mgd2FybmluZ3M6IFVzZSBwb2ludGVyCgl2YXJpYWJsZXMsIGNvcGllZF9rZXkgYW5kIGNvcGllZF9zYWx0LCBpbnN0ZWFkIG9mIGJvb2xlYW4gdmFyaWFibGVzLgoKMjAwMC0wNy0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9tbWFwNjQuYyAoX19tbWFwNjQpOiBSZWFsbHkgZml4CgljaGVjayBmb3Igb2Zmc2V0LgoKCSogZ3JwL2luaXRncm91cHMuYyAoaW5pdGdyb3Vwc19keW5fZnVuY3Rpb24pOiBSZW5hbWVkIGZyb20KCWluaXRncm91cHNfZnVuY3Rpb24sIGFkb3B0ZWQgcHJvdG90eXBlIGZvciBjaGFuZ2UgZnJvbSAyMDAwLTA3LTIzLgoJKGluaXRncm91cHMpOiBGb2xsb3cgdHlwZSBjaGFuZ2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL21tYXA2NC5jIChfX21tYXA2NCk6IEZpeCBvZmZzZXQKCSYgUEFHRV9NQVNLIGNhc2UsIHJlZm9ybWF0LgoKCSogc3RyaW5nL01ha2VmaWxlICgkKG9ianBmeCl0c3Qtc3ZjLm91dCk6IEZpeCBydWxlIHRvIHJlYWQgaW5wdXQKCWZyb20gc3RkaW4gYW5kIHNldHVwIGVudmlyb25tZW50LgoKMjAwMC0wNy0yNCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvbW1hcC5TOiBSZW1vdmUgbW1hcDY0IGFsaWFzLgoKMjAwMC0wNy0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdHJpbmcvZW5kaWFuLmg6IEV4cGxhaW4gdGhlIF8qX0VORElBTiBjb25zdGFudCB2YWx1ZXMgYSBiaXQKCW1vcmUuICBQYXRjaCBieSBzY2FybGV0QG1pdC5lZHUgW1BSIGxpYmMvMTc5OV0uCgoJKiBpby9mdHd0ZXN0LXNoOiBBZGQgLWYgcGFyYW1ldGVyIHRvIGNobW9kIGlmIC1SIGlzIGFsc28gZ2l2ZW4uCglbUFIgbGliYy8xNzkyXS4KCgkqIGFyZ3AvYXJncC1wYXJzZS5jIChwYXJzZXJfZmluYWxpemUpOiBSZXZlcnNlIG9yZGVyIGluIHdoaWNoCglwYXJzZXJzIGFyZSBydW4gZm9yIEFSR1BfS0VZX0VORC4gIFtQUiBsaWJjLzE3NTVdLgoKCSogZ3JwL2luaXRncm91cHMuYyAoaW5pdGdyb3Vwcyk6IERvbid0IGxpbWl0IHRoZSBwb3NzaWJsZSBudW1iZXIKCW9mIGdyb3VwcyB0byBOR1JPVVBTX01BWC4gIEFsbG93IGR5bmFtaWMgcmVzaXppbmcuICBMb29wIGFyb3VuZAoJdGhlIHNldGdyb3VwcyBjYWxsIHdoaWxlIHRoZSBjYWxsIGZhaWxzIGFuZCBkZXNjcmVhc2UgdGhlIG51bWJlcgoJb2YgZ3JvdXBzIGVhY2ggcm91bmQuCglUaGUgbmFtZSBvZiB0aGUgaW5pdGdyb3VwcyBmdW5jdGlvbiBpbiB0aGUgTlNTIG1vZHVsZXMgY2hhbmdlZC4KCShjb21wYXRfY2FsbCk6IEFkYXB0IGZvciBkeW5hbWljIHJlc2l6aW5nLgoJKiBoZXNpb2QvbnNzX2hlc2lvZC9oZXNpb2QtZ3JwLmMgKF9uc3NfaGVzaW9kX2luaXRncm91cHNfZHluKToKCUltcGxlbWVudCBkeW5hbWljIHJlc2l6aW5nLgoJKiBuaXMvbnNzX2NvbXBhdC9jb21wYXQtaW5pdGdyb3Vwcy5jIChfbnNzX2NvbXBhdF9pbml0Z3JvdXBzX2R5bik6CglMaWtld2lzZS4KCSogbmlzL25zc19uaXMvY29tcGF0LWluaXRncm91cHMuYyAoX25zc19uaXNfaW5pdGdyb3Vwc19keW4pOiBMaWtld2lzZS4KCSogaGVzaW9kL1ZlcnNpb25zOiBDaGFuZ2UgZXhwb3J0ZWQgaW50ZXJmYWNlIG5hbWUuCgkqIG5pcy9WZXJzaW9uczogQ2hhbmdlIGV4cG9ydGVkIGludGVyZmFjZSBuYW1lLgoKMjAwMC0wNy0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvaXNvLTYzOS5kZWY6IFNvbWUgZXJyb3JzIGNvcnJlY3RlZC4KCVBhdGNoIGJ5IEtlbGQgU2ltb25zZW4uCgoJKiBpbmNsdWRlL2xpbWl0cy5oOiBVcGRhdGUgbm9uLWdjYyBwb3J0aW9uLgoJUGF0Y2ggYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKMjAwMC0wNy0yMiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9icmsuYyAoX2h1cmRfc2V0X2Jyayk6IFdoZW4gc2hyaW5raW5nIHRoZQoJcHJvZ3JhbSdzIGRhdGEgc3BhY2UsIHJlYWxsb2NhdGUgb25seSB0aGUgc3BhY2UgdGhhdCB3YXMganVzdAoJZGVhbGxvY2F0ZWQgdG8gcmVsZWFzZSBpdHMgYmFja2luZyBzcGFjZS4KCjIwMDAtMDctMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmMgKHByb2Nlc3Nfc3RyaW5nX2FyZyk6IEZvciB3aWRlIGNoYXJhY3RlcgoJdmVyc2lvbiwgaGFuZGxlIHByZWNpc2lvbiBhbHNvIGNvcnJlY3RseS4KCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtaG9zdHMuYzogQ29ycmVjdCBwcm9ibGVtIHdpdGggdGhyZWUgb3IgbW9yZQoJZW50cmllcyB3aXRoIHRoZSBzYW1lIG5hbWUuCgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLWhvc3RzLmM6IEltcGxlbWVudCBtdWx0aSBoYW5kbGluZy4KCSogcmVzb2x2L1ZlcnNpb25zOiBFeHBvcnQgX3Jlc19oY29uZiBmb3IgR0xJQkNfMi4yIGZyb20gbGliYy4KCjIwMDAtMDctMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNzL25zc19maWxlcy9maWxlcy1wYXJzZS5jOiBEb24ndCBwb2xsdXRlIG5hbWVzcGFjZSBieSB1c2luZwoJc3RyY2FzZWNtcC4KCgkqIGdycC9NYWtlZmlsZTogQ2hhbmdlIE1ha2VmaWxlcyBhbmQgdGVzdHMgdG8gcnVuIG9ubHkgd2hlbiBuZWNlc3NhcnkuCgkqIG1hbGxvYy9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIG1hbGxvYy90c3QtbXRyYWNlLnNoOiBMaWtld2lzZS4KCSogcG9zaXgvTWFrZWZpbGU6IExpa2V3aXNlLgoJKiBwb3NpeC9nbG9idGVzdC5zaDogTGlrZXdpc2UuCgkqIHBvc2l4L3dvcmRleHAtdHN0LnNoOiBMaWtld2lzZS4KCSogc3RyaW5nL01ha2VmaWxlOiBMaWtld2lzZS4KCjIwMDAtMDctMjIgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogbG9jYWxlL2ZpbmRsb2NhbGUuYyAobG9jYWxlX2ZpbGVfbGlzdCk6IFVzZSBfX0xDX0xBU1QgYXMgYXJyYXkKCXNpemUgaW5zdGVhZCBvZiBMQ19BTEwgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIG5ldyBsb2NhbGUKCWNhdGVnb3JpZXMuCgoyMDAwLTA3LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X3RyYW5zLmM6IENvcnJlY3QgYSBmZXcgYnVncyBpbiB0aGUgc2VhcmNoIGxvb3AuICBSZW1vdmUKCXJlbWFpbmRlcnMgb2YgaGFzaCB0YWJsZS4KCSogbG9jYWxlL2NhdGVnb3JpZXMuZGVmOiBSZW1vdmUgcmVtYWluZGVycyBvZiB0cmFuc2xpdGVyYXRpb24KCWhhc2ggdGFibGUuCgkqIGxvY2FsZS9sYW5naW5mby5oOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmM6IExpa2V3aXNlLiAgRml4IGNvZGUgdG8gd3JpdGUgb3V0Cgl0cmFuc2xpdGVyYXRpb24gdGFibGVzLgoKCSogbG9jYWxlL2dlbi10cmFuc2xpdC5wbDogTmV3IGZpbGUuCgkqIGxvY2FsZS9DLXRyYW5zbGl0LmguaW46IE5ldyBmaWxlLgoJKiBsb2NhbGUvQy1jdHlwZS5jOiBJbmNsdWRlIEMtdHJhbnNsaXQuaC4gIEluaXRpYWxpemUgdHJhbnNsaXRlcmF0aW9uCglkYXRhIHBvaW50ZXJzIHdpdGggZGF0YSBmcm9tIHRoaXMgZmlsZS4KCSogbG9jYWxlL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIEMtdHJhbnNsaXQuaC5pbiwgQy10cmFuc2xpdC5oLAoJYW5kIGdlbi10cmFuc2xpdC5wbC4KCUFkZCBydWxlIHRvIGdlbmVyYXRlIEMtdHJhbnNsaXQuaC4KCSogaW50bC90c3QtdHJhbnNsaXQuYyAobWFpbik6IFVwZGF0ZSBmb3Igbm93IHBlcmZvcm1lZAoJdHJhbnNsaXRlcmF0aW9uLgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYzogSGFuZGxlIGlucHV0IC0tIHdpdGggZm9ybWF0ICVmIGNvcnJlY3RseQoJKGl0J3Mgbm8gaW5wdXQgZXJyb3IpLgoJKiBzdGRpby1jb21tb24vdHN0c2NhbmYuYzogQWRkIHRlc3QgY2FzZSBmb3IgZm9ybWF0ICVmIHdpdGggaW5wdXQgLS0uCgkqIHN0ZGlvLWNvbW1vbi9zY2FuZjEyLmM6IENvcnJlY3QgZXhwZWN0ZWQgcmVzdWx0IGZvciBmaXJzdCBzY2FuZi4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIChwcm9jZXNzX3N0cmluZ19hcmcpOiBDb3JyZWN0IGhhbmRsaW5nCglvZiBtdWx0aWJ5dGUgY2hhcmFjdGVyIHN0cmluZ3MgaW4gJXMgZm9ybWF0IHdpdGggcHJlY2lzaW9uLgoKMjAwMC0wNy0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX3JlYWQpOiBBbGxvdyBjb2xsYXRpbmcKCXN5bWJvbHMgYW5kIGVsZW1lbnRzIGJlIG5hbWVkIGluIHJlb3JkZXItYWZ0ZXIgaW5zdHJ1Y3Rpb25zLgoJUmVwb3J0ZWQgYnkgWW9zaGl0byBLYXdhZGEgPEtBV0FEQUBqcC5pYm0uY29tPi4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGhhbmRsZV9lbGxpcHNpcyk6IFRlc3QgZm9yCglkdXBsaWNhdGlvbiB3aXRoIGdlbmVyYXRlZCBuYW1lLCBub3QgdGhlIG5hbWUgb2YgdGhlIGZpcnN0CgljaGFyYWN0ZXIuCglQYXRjaCBieSBZb25nIExpIDx5b25nLmxpQGFzdS5lZHU+LgoKCSogc3lzZGVwcy9wb3dlcnBjL3N0cmNoci5TOiBDb3JyZWN0IGJ1Z3MgaW50cm9kdWNlZCBpbiBCUC1pZmljYXRpb24uCglQYXRjaCBieSBGcmFueiBTaXJsIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4uCgoyMDAwLTA3LTIxICBXb2xmcmFtIEdsb2dlciAgPHdnQG1hbGxvYy5kZT4KCgkqIG1hbGxvYy9tYWxsb2MuYyAoY2h1bmtfYWxsb2MpOiBUcnkgbW1hcF9jaHVuaygpIGZvciBzbWFsbGVyCglhbGxvY2F0aW9ucyBvbmx5IGlmIGEgbm9uLW1haW4gYXJlbmEgY2Fubm90IGJlIGV4dGVuZGVkLgoKMjAwMC0wNy0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdCk6IFRha2UgbG9hZGVyPT1OVUxMIGludG8gYWNjb3VudAoJaW4gREZfMV9OT0RFRkxJQiBoYW5kbGluZy4KCjIwMDAtMDctMjEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9NYWtlZmlsZSAoJCh0ZXN0LW1vZHVsZXMpKTogRXhjbHVkZSBmaWx0bW9kMS5zbywgaXQgaGFzIGl0cwoJb3duIHJ1bGUuCgoJKiBsaWJpby9md2lkZS5jOiBJbmNsdWRlIDx3Y2hhci5oPiBmb3IgcHJvdG90eXBlLgoKMjAwMC0wNy0yMSAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKG5leHRfY2h1bmssIHByZXZfY2h1bmssIGludXNlX2JpdF9hdF9vZmZzZXQsCglzZXRfaW51c2VfYml0X2F0X29mZnNldCwgY2xlYXJfaW51c2VfYml0X2F0X29mZnNldCwgc2V0X2Zvb3QpOgoJRGVmaW5lIGluIHRlcm1zIG9mIGNodW5rX2F0X29mZnNldC4KCShpbnVzZSwgc2V0X2ludXNlLCBjbGVhcl9pbnVzZSk6IERlZmluZSBpbiB0ZXJtcyBvZiBuZXh0X2NodW5rLgoJKG5leHRfYmluLCBwcmV2X2Jpbik6IG9mZnNldCBieSBzaXplIG9mIHJlYWwgYXJyYXkgZWxlbWVudHMuCgkoY2h1bmtfYWxpZ24pOiBNYWtlIGBtJyBhIHNjYWxhciwgc2luY2UgdGhhdCdzIGhvdyBpdCdzIHVzZWQuCgoyMDAwLTA3LTIxICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvcG93ZXJwYy9icC1hc20uaCAoRElTQ0FSRF9CT1VORFMpOiBSZW5hbWUgZnJvbQoJVU5DSEVDS19CT1VORFMuCgkqIHN5c2RlcHMvcG93ZXJwYy9iaXRzL3NldGptcC5oIChKQl9TSVpFKTogTmV3IGNvbnN0YW50LgoJKiBzeXNkZXBzL3Bvd2VycGMvZWxmL2xpYmMtc3RhcnQuYyAoX19saWJjX3N0YXJ0X21haW4pOgoJV3JhcCBib3VuZHMgYXJvdW5kIGFyZ3YgJiBlbnZwIGFuZCBlYWNoIG9mIHRoZWlyIHN0cmluZyBtZW1iZXJzLgoJKiBzeXNkZXBzL3Bvd2VycGMvZWxmL3N0YXJ0LlM6IERlc2lnbmF0ZSBCUCBzeW1ib2xzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2Jyay5TOiBXcmFwIGVudHJ5LXBvaW50CglzeW1ib2wgaW4gQlBfU1lNICgpLiAgRGlzY2FyZCBib3VuZHMgb2YgYWRkcmVzcyBhcmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvY2xvbmUuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvbW1hcDY0LmMgKF9fbW1hcDY0KToKCURpc2NhcmQgYm91bmRzIG9uIGFkZHJlc3MgYXJnLCBhZGQgYm91bmRzIHRvIHJldHVybiB2YWx1ZS4KCjIwMDAtMDctMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlICh0ZXN0cyk6IEFkZCBmaWx0ZXIuICBBZGQgcnVsZXMgdG8gZ2VuZXJhdGUgZmlsdGVyLgoJKiBlbGYvZmlsdGVyLmM6IE5ldyBmaWxlLgoJKiBlbGYvZmlsdG1vZDEuYzogTmV3IGZpbGUuCgkqIGVsZi9maWx0bW9kMi5jOiBOZXcgZmlsZS4KCgkqIGVsZi9ydGxkLmM6IERlZmluZSBfZGxfYmluZF9ub3QgdmFyaWFibGUuCgkocHJvY2Vzc19lbnZ2YXJzKTogUmVjb2duaXplIExEX0JJTkRfTk9UIGFuZCBzZXQgX2RsX2JpbmRfbm90LgoJKiBlbGYvZGwtc3VwcG9ydC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IERlY2xhcmUgX2RsX2JpbmRfbm90LgoJKiBlbGYvZGwtcnVudGltZS5jIChmaXh1cCk6IERvbid0IHJlbWVtYmVyIGxvb2tlZCB1cCB2YWx1ZSBpZgoJX2RsX2JpbmRfbm90LgoJKHByb2ZpbGVfZml4dXApOiBMaWtld2lzZS4KCgkqIGxpYmlvL01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBmd2lkZS4KCSogbGliaW8vaW9md2lkZS5jIChfSU9fZndpZGUpOiBSZW1vdmUgbG9ja2luZy4gIFRoaXMgaXMgZG9uZSBpbgoJZndpZGUgbm93LiAgSW50ZXJuYWwgY2FsbHMgdG8gX0lPX2Z3aWRlIG11c3QgZG8gbG9ja2luZyB0aGVtc2VsdmVzCglvciBkb24ndCBuZWVkIGxvY2tpbmcuCgkqIGxpYmlvL2Z3aWRlLmM6IE5ldyBmaWxlLgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3QpOiBJbXBsZW1lbnQgaGFuZGxpbmcgb2YgREZfMV9OT0RFRkxJQi4KCgkqIGVsZi9NYWtlZmlsZTogQWRkIG5vIG1vZHVsZXMgZm9yIG5vZGVsZXRlIHRlc3QuCgkqIGVsZi9ub2RlbG1vZDMuYzogTmV3IGZpbGUuCgkqIGVsZi9ub2RlbG1vZDQuYzogTmV3IGZpbGUuCgkqIGVsZi9ub2RlbGV0ZS5jOiBBbHNvIHRlc3QgY2FzZSB3aGVyZSBkZXBlbmRlbmN5IG9mIGRsb3BlbigpIG9iamVjdAoJaXMgbWFya2VkIG5vZGVsZXRlLgoKCSogZWxmL01ha2VmaWxlICh0ZXN0cyk6IEFkZCBub2Rsb3Blbi4gIEFkZCBydWxlcyB0byBnZW5lcmF0ZSBub2Rsb3Blbi4KCSogZWxmL25vZGxvcGVuLmM6IE5ldyBmaWxlLgoJKiBlbGYvbm9kbG9wZW5tb2QuYzogTmV3IGZpbGUuCgkqIGluY2x1ZGUvZGxmY24uaDogRGVmaW5lIF9fUlRMRF9ETE9QRU4uCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBJZiBERl8xX05PT1BFTiBpcyBzZXQKCWFuZCB0aGlzIGlzIGEgZGxvcGVuKCkgY2FsbCwgZG8gbm90IGxvYWQgdGhlIGJpbmFyeS4KCSogZGxmY24vZGxvcGVuLmM6IEFkZCBfX1JUTERfRExPUEVOIHRvIG1vZGUgcGFzc2VkIGRvd24gdG8gX2RsX29wZW4uCgkqIGRsZmNuL2Rsb3Blbm9sZC5jOiBMaWtld2lzZS4KCSogY29uZmlndXJlLmluOiBBZGQgdGVzdCBmb3IgLXogbm9kZWxldGUgb3B0aW9uLgoJKiBjb25maWcubWFrZS5pbjogRGVmaW5lIGhhdmUtei1ub2RlbGV0ZSB3aXRoIGxpYmNfY3Zfel9ub2RlbGV0ZS4KCjIwMDAtMDctMjAgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCU1ha2UgSGVzaW9kIE5TUyBtb2R1bGUgdGhyZWFkLXNhZmUuCgoJKiBoZXNpb2QvUkVBRE1FLmhlc2lvZDogVXBkYXRlLgoKCSogaGVzaW9kL1ZlcnNpb25zIFtHTElCQ18yLjJdOiBBZGQgX25zc19oZXNpb2RfZ2V0c2VydmJ5cG9ydF9yLAoJX25zc19oZXNpb2Rfc2V0cHJvdG9lbnQsIF9uc3NfaGVzaW9kX2VuZHByb3RvZW50LAoJX25zc19oZXNpb2RfZ2V0cHJvdG9ieW5hbWVfciwgYW5kIF9uc3NfaGVzaW9kX2dldHByb3RvYnludW1iZXJfci4KCSogaGVzaW9kL01ha2VmaWxlIChsaWJuc3NfaGVzaW9kLXJvdXRpbmVzKTogQWRkIGhlc2lvZC1pbml0IGFuZAoJaGVzaW9kLXByb3RvLgoJKiBoZXNpb2QvbnNzX2hlc2lvZC9oZXNpb2QtaW5pdC5jOiBOZXcgZmlsZS4KCSogaGVzaW9kL25zc19oZXNpb2QvaGVzaW9kLXB3ZC5jOiBSZXdyaXR0ZW4gZm9yIHRocmVhZC1zYWZlbmVzcy4KCSogaGVzaW9kL25zc19oZXNpb2QvaGVzaW9kLWdycC5jOiBMaWtld2lzZS4KCSogaGVzaW9kL25zc19oZXNpb2QvbnNzX2hlc2lvZC5oOiBOZXcgZmlsZS4KCSogaGVzaW9kL25zc19oZXNpb2QvaGVzaW9kLXNlcnZpY2UuYwoJKF9uc3NfaGVzaW9kX2dldHNlcnZieXBvcnRfcik6IE5ldyBmdW5jdGlvbi4gIFByb3ZpZGUgc3VwcG9ydCBmb3IKCWxvb2tpbmcgdXAgc2VydmljZXMgYnkgcG9ydCBudW1iZXIuCgkqIGhlc2lvZC9uc3NfaGVzaW9kL2hlc2lvZC1wcm90by5jOiBOZXcgZmlsZS4KCgkqIGhlc2lvZC9oZXNpb2QuYzogVXBkYXRlIGZyb20gQklORCA4LjIuMy1UNUIuCgkqIGhlc2lvZC9oZXNpb2QuaDogTGlrZXdpc2UuCgkqIGhlc2lvZC9oZXNpb2RfcC5oOiBMaWtld2lzZS4KCjIwMDAtMDctMjAgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCUZpeCBwcm9ibGVtcyB3aXRoIGBzdHJ1Y3QgX19yZXNfc3RhdGUnIGdldHRpbmcgdG9vIGJpZy4KCSogcmVzb2x2L3Jlc29sdi5oIChzdHJ1Y3QgX19zb2NrYWRkcl9pbik6IE5ldyBkZWZpbml0aW9uLgoJKHN0cnVjdCBfX3Jlc19zdGF0ZSk6IFVzZSBfX3NvY2thZGRyX2luIGluc3RlYWQgb2Ygc29ja2FkZHJfaW4gaW4KCXRoZSBwcml2YXRlIHBhcnRzIG9mIHRoZSBzdHJ1Y3R1cmUgdG8gc2F2ZSBzb21lIHNwYWNlLgoJKiByZXNvbHYvcmVzX3NlbmQuYyAocmVzX25zZW5kKTogQ2FzdCAmRVhUKHN0YXRwKS5uc2FkZHJzW25zXSB0bwoJKHN0cnVjdCBzb2NrYWRkcl9pbiAqKSBpbiBjYWxsIHRvIHNvY2tfZXEuCglVc2UgbWVtY3B5IHRvIGNvcHkgc3RhdHAtPm5zYWRkcl9saXN0W25zXSB0byAmRVhUKHN0YXRwKS5uc2FkZHJzW25zXS4KCjIwMDAtMDctMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oOiBBZGQgdmFyaW91cyBERl8xXyosIERURl8xXyosIGFuZCBERl9QMV8qIGVudHJpZXMuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBEb24ndCBjbG9zZSBhbiBvYmplY3QgaWYgaXQgaXMgbWFya2VkCgl3aXRoIG5vZGVsZXRlLgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IFBhc3MgUlRMRF9OT0xPQUQgYXMgbmV3IHBhcmFtZXRlcgoJdG8gX2RsX21hcF9vYmplY3QuICBSZXR1cm4gaW1tZWRpYXRlbHkgaWYgbm8gb2JqZWN0IGxvYWRlZC4KCVNldCBERl8xX05PREVMRVRFIGJpdCBpbiBsX2ZsYWdzXzEgaWYgUlRMRF9OT0RFTEVURSB3YXMgcGFzc2VkLgoJKiBlbGYvZHluYW1pYy1saW5rLmggKGVsZl9nZXRfZHluYW1pY19pbmZvKTogQ29weSBEVF9GTEFHU18xIGVudHJ5CglpZiBpdCBleGlzdHMgaW50byBsX2ZsYWdzXzEgd29yZC4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IFRha2Ugbm8gcGFyYW1ldGVyIGFuZCB1c2UKCWl0IHRvIGRldGVybWluZSB3aGV0aGVyIGxvYWRpbmcgaXMgd2FudGVkIG9yIG5vdC4KCShfZGxfbWFwX29iamVjdCk6IExpa2V3aXNlLgoJQ2FsbCBfZGxfbWFwX29iamVjdF9mcm9tX2ZkIHdpdGggbmV3IHBhcmFtZXRlci4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IFVwZGF0ZSBwcm90b3R5cGUuCgkqIGVsZi9kbC1kZXBzLmM6IEFkZCBuZXcgcGFyYW1ldGVyIHRvIF9kbF9tYXBfb2JqZWN0IGNhbGxzLgoJKiBlbGYvcnRsZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmM6IExpa2V3aXNlLgoJKiBlbGYvTWFrZWZpbGUgKHRlc3RzKTogQWRkIG5vbG9hZC4gIEFkZCBydWxlcyB0byBnZW5lcmF0ZSBub2xvYWQuCgkqIGVsZi9ub2xvYWQuYzogTmV3IGZpbGUuCgkqIGluY2x1ZGUvbGluay5oIChzdHJ1Y3QgbGlua19tYXApOiBBZGQgbF9mZWF0dXJlXzEgYW5kIGxfZmxhZ3NfMS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvZGxmY24uaDogRGVmaW5lIFJUTERfTk9MT0FEIGFuZCBSVExEX05PREVMRVRFLgoJKiBzeXNkZXBzL21pcHMvYml0cy9kbGZjbi5oOiBMaWtld2lzZS4KCSogZWxmL01ha2VmaWxlICh0ZXN0cyk6IEFkZCAkKHRlc3RzLW5vZGVsZXRlLSQoaGF2ZS16LW5vZGVsZXRlKSkuCgkodGVzdHMtbm9kZWxldGUteWVzKTogRGVmaW5lLgoJKG1vZHVsZXMtbmFtZXMpOiBBZGQgJChtb2R1bGVzLW5vZGVsZXRlLSQoaGF2ZS16LW5vZGVsZXRlKSkuCglBZGQgcnVsZXMgdG8gYnVpbGQgbm9kZWxldGUgYW5kIG1vZHVsZXMuCgkqIGVsZi9ub2RlbGV0ZS5jOiBOZXcgZmlsZS4KCSogZWxmL25vZGVsbW9kMS5jOiBOZXcgZmlsZS4KCSogZWxmL25vZGVsbW9kMi5jOiBOZXcgZmlsZS4KCSogY29uZmlndXJlLmluOiBBZGQgdGVzdCBmb3IgLXogbm9kZWxldGUgb3B0aW9uLgoJKiBjb25maWcubWFrZS5pbjogRGVmaW5lIGhhdmUtei1ub2RlbGV0ZSB3aXRoIGxpYmNfY3Zfel9ub2RlbGV0ZS4KCgkqIGxpYmlvL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Rfd3ByaW50ZjIuCgkodHN0X3dwcmludGYyLUFSR1MpOiBEZWZpbmUuCgkqIGxpYmlvL3RzdF93cHJpbnRmMi5jOiBOZXcgZmlsZS4KCUJhc2VkIG9uIGEgdGVzdCBjYXNlIGJ5IFlvc2hpdG8gS2F3YWRhIDxLQVdBREFAanAuaWJtLmNvbT4uCgoJKiBsaWJpby93ZmlsZWRvYWxsb2MuYzogT25seSBhbGxvY2F0ZSBleHRlcm5hbCBidWZmZXIgaWYgdGhpcwoJaGFzbid0IGhhcHBlbmVkIHlldC4KCgkqIGxpYmlvL3dmaWxlb3BzLmMgKF9JT193ZG9fd3JpdGUpOiBPdmVyZmxvdyBvbmx5IGlmIHRoZXJlIGlzIHJlYWxseQoJc29tZXRoaW5nIGluIHRoZSBidWZmZXIuICBnY29udiBjYWxsIGNhbiB3cml0ZSB1cCB0byBlbmQgb2YgdGhlCglidWZmZXIsIG5vdCBvbmx5IF9JT193cml0ZV9lbmQuCgkoX0lPX3dmaWxlX292ZXJmbG93KTogQWxsb2NhdGUgYWxzbyBleHRlcm5hbCBidWZmZXIuCgoyMDAwLTA3LTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIChwcm9jZXNzX3N0cmluZ19hcmcpOiBIYW5kbGUgbXVsdGlieXRlCglzdHJpbmdzIHdpdGggcHJlY2lzaW9uIGluIHZmd3ByaW50ZiBjb3JyZWN0bHkuCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jOiBGaXggY29tcGxldGVseSBicm9rZW4gaGFuZGxpbmcgb2YKCXVuYnVmZmVyZWQgd2lkZSBjaGFyYWN0ZXIgc3RyZWFtcy4KCVJlcG9ydGVkIGJ5IFlvc2hpdG8gS2F3YWRhIDxLQVdBREFAanAuaWJtLmNvbT4uCgoJKiByZXNvbHYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgUkVBRE1FLgoKCSogcmVzb2x2L1JFQURNRTogTmV3IGZpbGUuICBCeSBNYXJrIEtldHRlbmlzIDxrZXR0ZW5pc0BnbnUub3JnPi4KCjIwMDAtMDctMTggIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCVVwZGF0ZSByZXNvbHZlciBjb2RlIHRvIEJJTkQgOC4yLjMtVDVCLgoKCSogcmVzb2x2L1ZlcnNpb25zIFtHTElCQ18yLjJdIChsaWJjKTogQWRkIF9fcmVzX2luaXQgYW5kCglfX3Jlc19uY2xvc2UuCglbR0xJQkNfMi4yXSAobGlicmVzb2x2KTogQWRkIF9fZG5fZXhwYW5kLCBfX25zX3NhbWVuYW1lLAoJX19yZXNfbWtxdWVyeSwgX19yZXNfbnNlbmQsIF9fcmVzX3F1ZXJ5LCBfX3Jlc19xdWVyeWRvbWFpbiBhbmQKCV9fcmVzX3NlYXJjaC4KCSogcmVzb2x2L0Jhbm5lcjogQklORC04LjIuMy1UNUIuCgoJKiByZXNvbHYvYmFzZTY0LmM6IFVwZGF0ZSBmcm9tIEJJTkQgOC4yLjMtVDVCLgoJKiByZXNvbHYvaGVycm9yLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvaW5ldF9hZGRyLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvaW5ldF9uZXRfbnRvcC5jOiBMaWtld2lzZS4KCSogcmVzb2x2L2luZXRfbmV0X3B0b24uYzogTGlrZXdpc2UuCgkqIHJlc29sdi9pbmV0X25ldGEuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9pbmV0X250b3AuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9uc2FwX2FkZHIuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9pbmV0X3B0b24uYzogTGlrZXdpc2UuICBSZWplY3QgYSBmZXcgbW9yZSBtb3JlIGludmFsaWQKCUlQdjYgYWRkcmVzc2VzIChJU0MgYnVnICM1MjApLgoKCSogcmVzb2x2L25zX25hbWUuYzogQXZvaWQgZW1pdHRpbmcgUkNTIElEIGluIG9iamVjdCBmaWxlLgoJKiByZXNvbHYvbnNfcGFyc2UuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9uc19uZXRpbnQuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9uc19zYW1lZG9tYWluLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvbnNfdHRsLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvbnNfcHJpbnQuYzogVXBkYXRlIGZyb20gQklORCA4LjIuMy1UNUIuICBBdm9pZCBlbWl0dGluZwoJUkNTIElEIGluIG9iamVjdCBmaWxlLgoKCSogcmVzb2x2L3Jlc19kZWJ1Zy5jOiBVcGRhdGUgZnJvbSBCSU5EIDguMi4zLVQ1Qi4KCSogcmVzb2x2L3Jlc19ta3F1ZXJ5LmM6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX3F1ZXJ5LmM6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2luaXQuYzogTGlrZXdpc2UuCgkocmVzX3NldG9wdGlvbnMpOiBNYXJrIGludGVybmFsLgoJKiByZXNvbHYvcmVzX3NlbmQuYzogTGlrZXdpc2UuCglbX0xJQkNdOiBGdWxseSByZWluc3RhdGUgdGhlIGNvZGUgdGhhdCBhdm9pZHMgdGhlIEZEX1NFVFNJWkUgbGltaXQKCWJ5IHVzaW5nIHBvbGwgaW5zdGVhZC4KCSogcmVzb2x2L3Jlc19jb21wLmM6IExpa2V3aXNlLgoJW1NITElCX0NPTVBBVCAobGlicmVzb2x2LCBHTElCQ18yXzAsIEdMSUJDXzJfMildOiBNYWtlIGRuX2V4cGFuZCBhCgl3ZWFrIGFsaWFzIGZvciBfX2RuX2V4cGFuZC4KCSogcmVzb2x2L3Jlc19kYXRhLmM6IExpa2V3aXNlLgoJKHJlc19jbG9zZSkgW19MSUJDXTogRG9uJ3QgY2FsbCByZXNfbmNsb3NlIGlmIFJFU19JTklUIGlzbid0IHNldAoJaW4gX3Jlcy5vcHRpb25zLiAgQXZvaWRzIGEgcG90ZW50aWFsIHNlY3VyaXR5IHJpc2sgYnkgYXZvaWRpbmcgYQoJY2xvc2UgKDApLgoJW1NITElCX0NPTVBBVCAobGlicmVzb2x2LCBHTElCQ18yXzAsIEdMSUJDXzJfMildOiBNYWtlCglyZXNfbWtxdWVyeSwgcmVzX3F1ZXJ5LCByZXNfcXVlcnlkb21haW4gYWRuIHJlc19zZWFyY2ggd2VhawoJYWxpYXNlcyBmb3IgX19yZXNfbWtxdWVyeSwgX19yZXNfcXVlcnksIF9fcmVzX3F1ZXJ5ZG9tYWluIGFuZAoJX19yZXNfc2VhcmNoLgoJKiByZXNvbHYvcmVzX2xpYmMuYzogKF9yZXMpOiBEb24ndCBpbml0aWFsaXplLiAgRml4IHJlc19jbG9zZQoJaW5zdGVhZCB0byBhdm9pZCBjbG9zZSgwKS4KCShyZXNfaW5pdCk6IEFsd2F5cyB1c2UgdGhlIHN0YXRpYyByZXNvbHZlciBjb250ZXh0LgoJW1NITElCX0NPTVBBVCAobGliYywgR0xJQkNfMi4wLCBHTElCQ18yXzIpXTogTWFrZSByZXNfaW5pdCBhIHdlYWsKCWFsaWFzIGZvciBfX3Jlc19pbml0LgoKCSogcmVzb2x2L3Jlc29sdi5oOiBVcGRhdGUgZnJvbSBCSU5EIDguMi4zLVQ1Qi4gIE1vdmUgZGVmaW5pdGlvbiBvZgoJUkVTX1NFVF9IX0VSUk5PIGFuZCBhY2NvbXBhbnlpbmcgY29tbWVudCB0by4uLgoJKiBpbmNsdWRlL3Jlc29sdi5oOiAuLi4gaGVyZS4KCgkqIHJlc29sdi9hcnBhL25hbXNlci5oOiBVcGRhdGUgZnJvbSBCSU5EIDguMi4zLVQ1Qi4KCSogcmVzb2x2L2FycGEvbmFtZXNlcl9jb21wYXQuaDogTGlrZXdpc2UuCgoyMDAwLTA3LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zcy9tYWtlZGIuYyAobWFpbik6IENvbXBhcmUgcmVzdWx0IG9mIGxvYWRfZGIgd2l0aAoJTlNTX1NUQVRVU19TVUNDRVNTIGFuZCBub3QgMC4KCVBhdGNoIGJ5IEphbiBSZWtvcmFqc2tpIDxiYWdnaW5zQHNpdGgubWltdXcuZWR1LnBsPi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L1ZlcnNpb25zOiBFeHBvcnQgX19zeXNjdGwgZm9yIEdMSUJDXzIuMi4KCjIwMDAtMDctMTggIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogcG9zaXgvcmVnZXguYyAoRVhURU5EX0JVRkZFUl9ISUdIX0JPVU5EKTogTmV3IG1hY3JvLgoJKEVYVEVORF9CVUZGRVIpOiBVc2UgaXQuCgoyMDAwLTA3LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmg6IERlZmluZSBSRVRVUk5fQUREUkVTUyBtYWNyby4KCSogZGxmY24vZGxvcGVuLmM6IFVzZSBSRVRVUk5fQUREUkVTUyBpbnN0ZWFkIG9mCglfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MuCgkqIGRsZmNuL2Rsb3Blbm9sZC5jOiBMaWtld2lzZS4KCSogZGxmY24vZGxzeW0uYzogTGlrZXdpc2UuCgkqIGRsZmNuL2RsdnN5bS5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXByb2ZzdHViLmM6IExpa2V3aXNlLgoJKiBtYWxsb2MvbWFsbG9jLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbWFjaGluZS1nbW9uLmg6IExpa2V3aXNlLgoJQmFzZWQgb24gYSBwYXRjaCBieSBzY2h3aWRlZnNreUBkZS5pYm0uY29tLgoKMjAwMC0wNy0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBQYXNzIDAgaW5zdGVhZCBvZgoJTlVMTCB0byBlbGZfbWFjaGluZV9maXh1cF9wbHQgdCBhcmd1bWVudCB0byBzaWxlbmNlIEdDQy4KCgkqIGluY2x1ZGUvc3RyaW5nLmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fbWVtY2hyLgoKCSogc3lzZGVwcy9hbHBoYS9tZW1jaHIuUzogRml4IGNvcHkgJiBlcnJvciBpbiB3ZWFrX2FsaWFzLgoKCSogc3lzZGVwcy9nZW5lcmljL21lbWNoci5jOiBGaXggY29weSAmIHBhc3RlIGVycm9yOiBVc2UgbWVtY2hyCglpbnN0ZWFkIG9mIG1lbXJjaHIuCgoyMDAwLTA3LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGludGwvTWFrZWZpbGU6IE1ha2Ugc3VyZSB0c3QtdHJhbnNsaXQgaXMgcnVuIGFmdGVyIHRzdC1nZXR0ZXh0LgoKCSogbG9jYWxlL0MtY3R5cGUuYzogQWRkIGluaXRpYWxpemVycyBmb3IgZ2FwIGVsZW1lbnRzLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfb3V0cHV0KTogV3JpdGUgb3V0IGluZGV4IGVudHJpZXMKCWZvciBnYXAgZWxlbWVudHMuCgoyMDAwLTA3LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zY2QvbnNjZC5jIChwcmludF92ZXJzaW9uKTogVXBkYXRlIGNvcHlyaWdodCB5ZWFyLgoKMjAwMC0wNy0xNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogSGFuZGxlIG5ldyBhcmcgc2lnbmF0dXJlCglrZXlsZXR0ZXJzIEYsIEksIFMsIFcuICBSZW1vdmUgdW51c2VkIGtleWxldHRlciBWLiAgU3Vycm91bmQKCXNpZ25hdHVyZSBhcmduYW1lcyB3aXRoIGFuZ2xlLWJyYWNrZXRzIGZvciB1c2UgYXMgd29yZCBkZWxpbWl0ZXJzLAoJYW5kIHRvIGluZHVjZSBzeW50YXggZXJyb3JzIGZvciBhbnkgYXJncyBub3QgaGFuZGxlZC4gIFNwbGl0CgltdWx0aS1lY2hvIGVjaG9lcyBhbmQgY29tbWVudCBlYWNoIHN0YWdlLgoJKiBzeXNkZXBzL3VuaXgvY29tbW9uL3N5c2NhbGxzLmxpc3Q6IFJlZmluZSAmIGNvcnJlY3Qgc2lnbmF0dXJlcy4KCSogc3lzZGVwcy91bml4L2luZXQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9tbWFuL3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNjYWxscy5saXN0CgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RyY3B5LmMgKHN0cmNweSk6IFN0aWZsZSB1bnVzZWQtdmFsdWUgd2FybmluZ3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2V4ZWN2ZS5jIChfX2V4ZWN2ZSk6IEFkZCBjb25zdAoJcXVhbGlmaWVycy4gIERvbid0IGNoZWNrIE5VTEwtdGVybWluYXRvciBvZiBhcmd2ICYgZW52cC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0c3lzc3RhdHMuYyAoZ2V0X3Byb2NfcGF0aCk6IFVzZQoJdW5ib3VuZGVkIHBvaW50ZXIgdHlwZSBpbiB3b3JkLXNpemUgYXNzZXJ0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wdHJhY2UuYyAocHRyYWNlKTogQWRkIG1pc3NpbmcKCWNhc2VzIHRvIHN0aWZsZSB3YXJuaW5ncy4KCgkqIGxpYmlvL2lvZmRvcGVuLmMgKF9JT19uZXdfZmRvcGVuKTogUGFzcyBfSU9fRklMRV9wbHVzIHBvaW50ZXIgdG8KCV9JT19maWxlX2F0dGFjaC4KCSogbGliaW8vaW92ZHByaW50Zi5jIChfSU9fdmRwcmludGYpOiBMaWtld2lzZS4KCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKHN5bWJvbF9zZXRfZGVjbGFyZSk6IFJldmVydCAyMDAwLTA2LTI2IG1vZHMuCgkqIGluY2x1ZGUvc2V0LWhvb2tzLmggKFJVTl9IT09LKTogUmV2ZXJ0IDIwMDAtMDYtMjYgbW9kcy4gIFF1YWxpZnkKCXB0ciBhcyBfX3VuYm91bmVkLgoKCSogTWFrZXJ1bGVzIChvLW9iamVjdHMpOiBTdXBwbGVtZW50IHdpdGggJChvLW9iamVjdHMkbykuCgkqIHN0cmluZy9NYWtlZmlsZSAoby1vYmplY3RzLm9iKTogQWRkIHZhcmlhYmxlIHRvIHB1bGwKCXVuYm91bmRlZCB2ZXJzaW9ucyBvZiBtZW1jcHksIG1lbXNldCBhbmQgbWVtY2hyIGludG8gbGliY19iLgoKCSogc3lzZGVwcy9nZW5lcmljL2JwLWNoZWNrcy5oOiBVc2UgdW5ib3VuZGVkIF9fbWVtY2hyCglyYXRoZXIgdGhhbiBub24tZXhpc3RlbnQgX191YnBfbWVtY2hyLgoJKENIRUNLX1NUUklOR29wdCwgQ0hFQ0tfRkNOVEwsIEJPVU5ERURfTiwgQk9VTkRFRF8xKTogTmV3IG1hY3Jvcy4KCShfQ0hFQ0tfU1RSSU5HLCBfQ0hFQ0tfTik6IE5ldyBtYWNyb3MuCgkoQ0hFQ0tfU1RSSU5HLCBDSEVDS19OLCBDSEVDS19Ob3B0KTogUmV3cml0ZSBpbiB0ZXJtcyBvZiBfQ0hFQ0tfKi4KCShDSEVDS19JT0NUTCk6IE1vdmUgaW5zaWRlIGAjaWYgIV9fQVNTRU1CTEVSX18nLgoJKiBzeXNkZXBzL2FscGhhL21lbWNoci5TOiBDaGFuZ2Ugc3Ryb25nIG5hbWUgdG8gIl9fbWVtY2hyIi4KCUFkZCB3ZWFrIGFsaWFzICJtZW1jaHIiLgoJKiBzeXNkZXBzL2dlbmVyaWMvbWVtY2hyLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3ZheC9tZW1jaHIuczogTGlrZXdpc2UuCgoJKiBpY29udi9nY29udl90cmFucy5jOiBBZGQgI2luY2x1ZGUgPHN0ZGxpYi5oPiB0byBnZXQgbWFsbG9jIGRlY2wuCgoJKiBlbGYvZGwtcnVudGltZS5jIChmaXh1cCk6IFRyYW1wb2xpbmUgcGFzc2VzIHVuYm91bmRlZCBwb2ludGVyLgoJKHByb2ZpbGVfZml4dXApOiBEb24ndCBkZWZpbmUgZm9yIF9fQk9VTkRFRF9QT0lOVEVSU19fLgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oOiBEb24ndCB1c2UgcmVncGFybSBhdHRyaWJ1dGUgZm9yCglfX0JPVU5ERURfUE9JTlRFUlNfXy4KCShFTEZfTUFDSElORV9SVU5USU1FX1RSQU1QT0xJTkUpOiBVc2Ugbm9uLXJlZ3Bhcm0gdmVyc2lvbgoJZm9yIF9fQk9VTkRFRF9QT0lOVEVSU19fLgoKMjAwMC0wNy0xNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvZ2NvbnZfb3Blbi5jIChfX2djb252X29wZW4pOiBJbml0aWFsaXplIHRoZSBfX2RhdGEKCWZpZWxkIG9mIHN0cnVjdCBfX2djb252X3RyYW5zX2RhdGEgZGlmZmVyZW50bHkuICBEb24ndCBwYXNzIE5VTEwgdG8KCXRyYW5zX2luaXRfZmN0LiAgU2ltcGxpZnkgbGlzdCBhcHBlbmQgb3BlcmF0aW9uLgoKMjAwMC0wNy0xNCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKGRjaWdldHRleHQpOiBDYWxsIHBsdXJhbF9ldmFsIG9uIGFsbCBwbGF0Zm9ybXMsCglub3Qgb25seSB0aG9zZSBoYXZpbmcgdHNlYXJjaC4KCjIwMDAtMDctMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xhbmdpbmZvLmg6IEFkZCBwbGFjZWhvbGRlciB2YWx1ZXMgaW4gZW51bSBmb3IgcmVtb3ZlZAoJTENfQ1RZUEUgZW50cmllcy4KCjIwMDAtMDctMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLWFkZHIuYyAoX2RsX2FkZHIpOiBLZWVwIHNlYXJjaGluZyBpbiB0aGUgX2RsX2xvYWRlZAoJY2hhaW4gaWYgdGhlIFBIRFIgY2hlY2sgZmFpbHMuCgoyMDAwLTA3LTE3ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIG5zcy9nZXRlbnQuYyAocHJpbnRfaG9zdHMpOiBNYWtlIHN1cmUgd2UgYWx3YXlzIHByaW50IGEgc3BhY2UKCWJldHdlZW4gbnVtZXJpYyBhZGRyZXNzZXMgYW5kIGhvc3RuYW1lcy4KCjIwMDAtMDctMTcgIFdvbGZyYW0gR2xvZ2VyICA8d2dAbWFsbG9jLmRlPgoKCSogbWFsbG9jL21hbGxvYy5jIChjaHVua19hbGxvYyk6IFVzZSBtbWFwX2NodW5rKCkgb25seSBpZiBhbGxvd2VkLAoJaS5lLiBpZiBuX21tYXBzX21heD4wLgoKMjAwMC0wNy0xNiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiByZXNvbHYvbmV0ZGIuaCAoQUlfVjRNQVBQRUQsIEFJX0FMTCwgQUlfQUREUkNPTkZJRyk6IEFkanVzdAoJdmFsdWVzIHRvIHJlbW92ZSBwb3NzaWJsZSBjbGFzaCB3aXRoIG90aGVyIEFJXyogY29uc3RhbnRzLgoJKEFJX1BBU1NJVkUsIEFJX0NBTk9OTkFNRSwgQUlfTlVNRVJJQ0hPU1QpOiBEZWZpbmUgYXMKCWhleGFkZWNpbWFsIGNvbnN0YW50cyB0byBzdHJlc3MgdGhlIGZhY3QgdGhleSdyZSBpbiBmYWN0CgliaXQgZmxhZ3MuCgoyMDAwLTA3LTE1ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIG5zcy9nZXRYWGVudF9yLmMgW05FRURfX1JFU106IEluY2x1ZGUgPHJlc29sdi5oPi4KCShTRVRGVU5DX05BTUUsIEVOREZVTkNfTkFNRSwgUkVFTlRSQU5UX0dFVE5BTUUpOiBVc2UgcmVzX25pbml0CglpbnN0ZWFkIG9mIHJlc19pbml0LgoKMjAwMC0wNy0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjcnlwdC9tZDUtY3J5cHQuYyAoX19tZDVfY3J5cHRfcik6IEFkZCBjYXN0cyBmb3IgZmlyc3QKCXBhcmFtZXRlcnMgb2YgbWVtc2V0IGNhbGxzIHRvIGF2b2lkIHdhcm5pbmdzLgoKMjAwMC0wNy0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvTWFrZWZpbGU6IFJld3JpdGUgcnVsZXMgdG8gYXZvaWQgcnVubmluZyBpc29tYWMgdW5sZXNzCgluZWNlc3NhcnkuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRjd2QuYzogQ29ycmVjdCBsYXN0IHBhdGNoLgoJUGF0Y2ggYnkgR3JlZyBNY0dhcnkgPGdyZWdAbWNnYXJ5Lm9yZz4uCgoJKiBpby9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWdldGN3ZC4KCSogaW8vdHN0LWdldGN3ZC5jOiBOZXcgZmlsZS4KCgkqIGlvL01ha2VmaWxlOiBSZXdyaXRlIHJ1bGVzIHRvIGF2b2lkIHJ1bm5pbmcgZnR3dGVzdCB1bmxlc3MgbmVjZXNzYXJ5LgoKMjAwMC0wNy0xNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9vcGVuIChfX2djb252X29wZW4pOiBJbml0aWFsaXplIHdob2xlIF9fZ2NvbnZfdHJhbnNfZGF0YQoJc3RydWN0dXJlLgoKMjAwMC0wNy0xMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L3N5c2NvbmYuYzogVW5kZWYgX19zeXNjb25mIGJlZm9yZSB3ZWFrX2FsaWFzLgoJKiBzeXNkZXBzL3VuaXgvYnNkL2dldHB0LmM6IFVuZGVmIF9fZ2V0cHQgYmVmb3JlIHdlYWtfYWxpYXMuCgoyMDAwLTA3LTEyICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L1ZlcnNpb25zIChsaWJjKTogQWRkIF9fY2xvbmUyIHRvCglHTElCQ18yLjIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvRGlzdDogQWRkIGNsb25lMi5TLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L01ha2VmaWxlIFskKHN1YmRpcik9bWlzY10KCShzeXNkZXAtcm91dGluZXMpOiBBZGQgY2xvbmUyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Nsb25lMi5TOiBOZXcuCgoyMDAwLTA3LTEzICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvY2xvbmUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZm9yay5jOiBOZXcgZmlsZS4KCjIwMDAtMDYtMDUgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NpZ2luZm8uaDogTmV3IGZpbGUKCWJhc2VkIG9uIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2lnaW5mby5oLgoJQ2hhbmdlIHR5cGUgb2Ygc2lfYmFuZCBmcm9tICJpbnQiIHRvICJsb25nIi4KCShzaV9pbW0pIFtVU0VfR05VXTogRGVmaW5lCgkoc2lfaXNyKSBbVVNFX0dOVV06IExpa2V3aXNlLgoJKElMTF9CUkVBSykgW1VTRV9HTlVdOiBMaWtld2lzZS4KCShGUEVfREVDT1ZGKSBbVVNFX0dOVV06IExpa2V3aXNlLgoJKEZQRV9ERUNESVYpIFtVU0VfR05VXTogTGlrZXdpc2UuCgkoRlBFX0RFQ0VSUikgW1VTRV9HTlVdOiBMaWtld2lzZS4KCShGUEVfSU5WQVNDKSBbVVNFX0dOVV06IExpa2V3aXNlLgoJKEZQRV9JTlZERUMpIFtVU0VfR05VXTogTGlrZXdpc2UuCgkoVFJBUF9CUkFOQ0gpIFtVU0VfR05VXTogTGlrZXdpc2UuCgkoVFJBUF9IV0JLUFQpIFtVU0VfR05VXTogTGlrZXdpc2UuCgoyMDAwLTA3LTA2ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzL3Vjb250ZXh0Lmg6IERvIG5vdCBpbmNsdWRlCgliaXRzL3NpZ2NvbnRleHQgYXMgc3RydWN0IG1jb250ZXh0IGRvZXMgbm90IGRlcGVuZCBvbiBpdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdjb250ZXh0Lmg6IE5ldyBmaWxlLgoKMjAwMC0wNy0wNCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NobWN0bC5jOiBSZW1vdmVkLgoKMjAwMC0wNy0wNCAgRGF2aWQgTW9zYmVyZ2VyLVRhbmcgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9tc3EuaDogTmV3IGZpbGUuCgoyMDAwLTA2LTIyICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9tbWFuLmg6IE5ldyBmaWxlLgoKMjAwMC0wNy0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbnRsL01ha2VmaWxlICh0ZXN0LXNyY3MpOiBBZGQgdHN0LXRyYW5zbGl0LgoJKHRlc3RzKTogTGlrZXdpc2UuCglBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biB0c3QtdHJhbnNsaXQuCgkqIGludGwvdHN0LXRyYW5zbGl0LmM6IE5ldyBmaWxlLgoJKiBpbnRsL3RzdC10cmFuc2xpdC5zaDogTmV3IGZpbGUuCgkqIGludGwvdHJhbnNsaXQucG86IE5ldyBmaWxlLgoKMjAwMC0wNy0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9sb29wLmMgKFNUQU5EQVJEX0VSUl9IQU5ETEVSKTogSWYgb25lIG9mIHRoZQoJdHJhbnNsaXRlcmF0aW9uIGZ1bmN0aW9uIGRpZCBpdHMgam9iLCBjb250aW51ZSwgZG9uJ3Qgc3RvcC4KCgkqIGljb252ZGF0YS9pc282NDYuYzogTGl0dGxlIG9wdGltaXphdGlvbnMgaW4gYm9keSBmb3IgY29udmVyc2lvbgoJZnJvbSBVQ1M0LgoKMjAwMC0wNy0xNCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBkbGZjbi9kbGVycm9yLmMgKGZyZWVfa2V5X21lbSk6IEFkZCBjYXN0IHRvIHNpbGVuY2UgY29tcGlsZXIgd2FybmluZy4KCjIwMDAtMDctMTQgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogY29uZmlndXJlLmluOiBDaGVjayBmb3IgcHdkIGJpbmFyeS4KCSogY29uZmlnLm1ha2UuaW46IEFkZCBQV0RfUCB0byBiZSBzdWJzaXR1dGVkLgoJKiBNYWtlcnVsZXM6IFVzZSAkKFBXRF9QKSBpbnN0ZWFkIG9mIC9iaW4vcHdkLgoKMjAwMC0wNy0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgR0IxODAzMC4KCShkaXN0cmlidXRlKTogQWRkIGdiMTgwMzAuYy4KCSogaWNvbnZkYXRhL2djb252LW1vZHVsZXM6IEFkZCBlbnRyaWVzIGZvciBHQjE4MDMwIG1vZHVsZS4KCSogaWNvbnZkYXRhL2diMTgwMzAuYzogTmV3IGZpbGUuCglDb250cmlidXRlZCBieSBXYW5nIFNob3VIdWEgPHNob3VodWF3YW5nQHJlZGZsYWctbGludXguY29tPgoJYW5kIFd1IEppYW4uCgoyMDAwLTA3LTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRzeXNzdGF0cy5jIChmcmVlX21lbSk6IFJldmVydCBsYXN0CglwYXRjaC4KCgkqIGdycC9mZ2V0Z3JlbnQuYyAoZnJlZV9tZW0pOiBSZW1vdmUgaWYgLSBmcmVlICgwKSBpcyB2YWxpZC4KCSogaW5ldC9nZXRuZXRncmVudC5jIChmcmVlX21lbSk6IExpa2V3aXNlLgoJKiBtaXNjL21udGVudC5jIChmcmVlX21lbSk6IExpa2V3aXNlLgoJKiBuc3MvZ2V0WFhieVlZLmMgKGZyZWVfbWVtKTogTGlrZXdpc2UuCgkqIG5zcy9nZXRYWGVudC5jIChmcmVlX21lbSk6IExpa2V3aXNlLgoJKiBwd2QvZmdldHB3ZW50LmMgKGZyZWVfbWVtKTogTGlrZXdpc2UuCgkqIHNoYWRvdy9mZ2V0c3BlbnQuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCjIwMDAtMDctMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3VucnBjL3hkci5jICh4ZHJfdV9sb25nKTogSGFuZGxlIHJlYWRpbmcgb2YgdW5zaWduZWQgbG9uZyBvbgoJNjQtYml0IGFyY2hpdGVjdHVyZSBjb3JyZWN0bHkgW1BSIGxpYmMvMTc5NF0uCgoyMDAwLTA3LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9WZXJzaW9ucyAobGQpOiBFeHBvcnQgX2RsX291dF9vZl9tZW1vcnkgZm9yIEdMSUJDXzIuMi4KCSogZGxmY24vZGxlcnJvci5jIChkbGVycm9yKTogRG9uJ3QgZnJlZSB0aGUgZXJyb3Igc3RyaW5nIGlmIGl0IGlzIHRoZQoJcmVwb3J0IHRoYXQgd2UgYXJlIG91dCBvZiBtZW1vcnkuCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBMaWtld2lzZS4KCSogZWxmL2RsLWxpYmMuYyAoZGxlcnJvcl9ydW4pOiBMaWtld2lzZS4KCSogZWxmL2RsLW9wZW4uYyAoX2RsX29wZW4pOiBMaWtld2lzZS4KCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IExpa2V3aXNlLgoJKiBlbGYvZGwtZXJyb3IuYzogRGVmaW5lIF9kbF9vdXRfb2ZfbWVtb3J5LgoJKF9kbF9zaWduYWxfZXJyb3IpOiBSZXR1cm4gX2RsX291dF9vZl9tZW1vcnkgaWYgd2UgY2Fubm90IGR1cGxpY2F0ZQoJdGhlIGVycm9yIHN0cmluZy4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IERlY2xhcmUgX2RsX291dF9vZl9tZW1vcnkuCglbUFIgbGliYy8xODEzXS4KCgkqIGRsZmNuL2RsZXJyb3IuYyAoZnJlZV9rZXlfbWVtKTogQWxzbyBmcmVlIGVycm9yIHN0cmluZy4KCgkqIGljb252L2xvb3AuYzogRml4IGNvbW1lbnQuCgoJKiBtYWxsb2MvbXRyYWNlLmMgKHRyX2ZyZWVob29rKTogUmV0dXJuIGltbWVkaWF0ZWx5IGlmIHB0ciBpcyBOVUxMLgoKMjAwMC0wNy0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0Y3dkLmMgKF9fZ2V0Y3dkKTogQ29ycmVjdGx5IGhhbmRsZQoJZ2V0Y3dkIChOVUxMLCBzaXplKSB3aXRoIHNpemUgPiAwLgoJRml4ZXMgUFIgbGliYy8xNzg4LCByZXBvcnRlZCBieSBKb2huIEJ1ZGRlcnkgPGp2YkBjeWJlcnNjaWVuY2UuY29tPi4KCjIwMDAtMDctMTMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHBvc2l4L01ha2VmaWxlOiBSZW1vdmUgYnVpbGQgcnVsZXMgZm9yIGxpYnBvc2l4LgoKMjAwMC0wNy0xMyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9nbG9iLmMgKGdsb2IpOiBGaXggbWVtb3J5IGxlYWsuCglbU0hFTExdOiBSZW1vdmUgcmVmZXJlbmNlIHRvIHVuZGVmaW5lZCB2YXJpYWJsZSBgZmlsZXMnLgoJRml4ZXMgUFIgbGliYy8xNzgyLgoKMjAwMC0wNy0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9WZXJzaW9uczogQWRkIGxpYmdjYyBmcmFtZSBoYW5kbGluZwoJZnVuY3Rpb25zLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0c3lzc3RhdHMuYyAoZnJlZV9tZW0pOiBPbmx5IGZyZWUKCW1lbW9yeSBpZiBpdCB3YXMgYWxsb2NhdGVkLgoKMjAwMC0wNy0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9kYi5jIChnZW5fc3RlcHMpOiBBbHdheXMgaW5pdGlhbGl6ZSBfX2RhdGEgZmllbGQgb2YKCXN0ZXAuCgoJKiBpY29udi9nY29udl9vcGVuLmMgKF9fZ2NvbnZfb3Blbik6IFJlYXBwbHkKCTIwMDAtMDctMTIgQnJ1bm8gSGFpYmxlIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJCSogaWNvbnYvZ2NvbnZfb3Blbi5jIChfX2djb252X29wZW4pOiBNZXJnZSBkdXBsaWNhdGVkIGNvZGUuCgoJKiBpY29udi9nY29udl9vcGVuLmM6IFVuZG8gbGFzdCB0d28gY2hhbmdlcyBmb3Igbm93LiAgVGhleSBicmVhawoJZXZlcnl0aGluZy4KCjIwMDAtMDctMTIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9NYWtlZmlsZSAoU1lTQ09ORi1GTEFHUyk6IEFkZGVkIHRvIHBhc3Mgc3lzY29uZmRpciB0bwoJY29tcGlsZXIuCgkoQ0ZMQUdTLWNhY2hlLmMpOiBBZGRlZCwgdXNlcyBTWVNDT05GLUZMQUdTLgoJKENGTEFHUy1kbC1jYWNoZS5jKTogTGlrZXdpc2UuCgkoQ0ZMQUdTLWxkY29uZmlnLmMpOiBBZGRlZCwgcGFzc2VzIGRpcmVjdG9yeSBsb2NhdGlvbnMuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoTERfU09fQ0FDSEUpOiBVc2UgU1lTQ09ORkRJUiB0bwoJbG9jYXRlIGNhY2hlLgoJKiBlbGYvbGRjb25maWcuYyAoTERfU09fQ09ORik6IExpa2V3aXNlLgoJKG1haW4pOiBVc2UgY29uZmlndXJlZCBMSUJESVIgYW5kIFNMSUJESVIuCgoyMDAwLTA3LTExICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvYml0cy9jbWF0aGNhbGxzLmggKGNpbWFnKTogQWRkIF9fVEhST1cuCgkoY3JlYWwsIGNvbmopOiBMaWtld2lzZS4KCSogd2N0eXBlL3djdHlwZS5oIChfSVN3Yml0KTogQXZvaWQgd2FybmluZ3MgYWJvdXQgc2hpZnRpbmcgbGVmdAoJYnkgbmVnYXRpdmUgdmFsdWUuCgoyMDAwLTA3LTEyICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiByZXNvbHYvVmVyc2lvbnMgKGxpYnJlc29sdik6IEFkZCBfX3Jlc19ob3N0YWxpYXMgdG8gR0xJQkNfMi4yCglmb3IgX25zc19kbnNfZ2V0aG9zdGJ5bmFtZTJfciBpbiByZXNvbHYvbnNzX2Rucy9kbnMtaG9zdC5jLgoKMjAwMC0wNy0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB3Y3NtYnMvd2NzbWJzbG9hZC5jIChfX3djc21ic19sb2FkX2NvbnYpOiBTaHV0IGdjYyB1cCBhbHRob3VnaAoJaXQgaXMgd3JvbmcuCgoyMDAwLTA3LTEyICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl9vcGVuLmMgKF9fZ2NvbnZfb3Blbik6IE1lcmdlIGR1cGxpY2F0ZWQgY29kZS4KCjIwMDAtMDctMTIgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X2J1aWx0aW4uYyAoX19nY29udl9nZXRfYnVpbHRpbl90cmFucyk6IEluaXRpYWxpemUKCV9fbW9kbmFtZS4KCjIwMDAtMDctMTIgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X29wZW4uYyAoX19nY29udl9vcGVuKTogSW5pdGlhbGl6ZQoJcmVzdWx0LT5fX3N0ZXBzW2NudF0uX19kYXRhLgoKMjAwMC0wNy0xMiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBuc3MvZ2V0ZW50LmMgKHNlcnZpY2VzX2tleXMpOiBQYXNzIHBvcnQgbnVtYmVyIGluIG5ldHdvcmsgYnl0ZQoJb3JkZXIgaW4gY2FsbCB0byBnZXRzZXJ2Ynlwb3J0LgoKMjAwMC0wNy0xMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkbGliL01ha2VmaWxlICh0ZXN0LWNhbm9uLUFSR1MpOiBGaXggZm9yIGJ1aWxkaW5nIGluIHRoZQoJc291cmNlIGRpci4KCSogaW50bC9NYWtlZmlsZSAoZG8tZ2V0dGV4dC10ZXN0KTogTGlrZXdpc2UuCgkqIGRpcmVudC9NYWtlZmlsZSAob3BlbmRpci10c3QxLUFSR1MpOiBMaWtld2lzZS4KCjIwMDAtMDctMTEgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBNYWtlY29uZmlnIChydW4tcHJvZ3JhbS1wcmVmaXgpOiBOZXcgcnVsZS4KCShidWlsdC1wcm9ncmFtLWNtZCk6IFVzZSBydW4tcHJvZ3JhbS1wcmVmaXguCgoyMDAwLTA3LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sYW5naW5mby5oOiBNYWtlIENSTkNZU1RSLCBSQURJWENIQVIsIFRIT1VTQU5EU19TRVAsIFlFU0VYUFIsCglhbmQgTk9FWFBSIHVuY29uZGl0aW9uYWxseSBhdmFpbGFibGUuCgoyMDAwLTA3LTEyICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9vcGVuNjQuYzogV3JhcCBleHRlcm4gc3ltYm9scyBpbiBCUF9TWU0gKCkuCgkqIHN5c2RlcHMvcG9zaXgvb3BlbjY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZmVnZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmVnZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmVzZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmV1cGRhdGVlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmdldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZyYWlzZWV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZzZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCjIwMDAtMDctMTEgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCBbIV9fQVNTRU1CTEVSX19dIChzdHJvbmdfYWxpYXMpOgoJQWRkIGV4dHJhIGxldmVsIG9mIG1hY3JvIGV4cGFuc2lvbi4KCVshX19BU1NFTUJMRVJfXyAmJiBIQVZFX1dFQUtfU1lNQk9MU10gKHdlYWtfYWxpYXMpOiBuTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC10aHVua3MuaDogRW5zdXJlIGBzdHJ1Y3QgdGltZXZhbCcgZGVmaW5pdGlvbgoJaXMgYXZhaWxhYmxlIGF0IHRoZSB0aW1lIGBzZWxlY3QnIHByb3RvdHlwZSBpcyBkZWNsYXJlZC4KCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLgoJQ29sbGVjdCBub24tdmVyc2lvbmVkIHdlYWsgYWxpYXNlcy4gIENvbnNpZGVyIG9ubHkgbm9uLXZlcnNpb25lZAoJYWxpYXNlcyBmb3IgdGhlIHVzZXItdmlzaWJsZSBzeXN0ZW1jYWxsIG5hbWUuICBEbyBjaGVja3MgaW5saW5lIHdpdGgKCWNhbGwgdG8gcHJpbWl0aXZlIHN5c3RlbSBjYWxsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wdHJhY2UuYyAocHRyYWNlKTogQWRkIHZvaWQgY2FzdCB0bwoJc3RhbmQtYWxvbmUgYm91bmRzIGNoZWNrcyB0byBzdXBwcmVzcyB1bnVzZWQgdmFsdWUgd2FybmluZ3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2N0bC5jIChfX3N5c2N0bCk6IExpa2V3aXNlLgoKMjAwMC0wNy0xMCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9jaGVja19mZHMuYzogTmV3IGZpbGUuICBJbXBsZW1lbnRzCglmaWxlIGRlc2NyaXB0b3IgY2hlY2tpbmcgaW4gU1VJRCBwcm9ncmFtcyBmb3IgdGhlIEh1cmQuCgoJKiByZXNvbHYvbnNzX2Rucy9kbnMtaG9zdC5jIChfbnNzX2Ruc19nZXRob3N0YnluYW1lMl9yKTogVXNlCglyZXNfaG9zdGFsaWFzIGluc3RlYWQgb2YgX19ob3N0YWxpYXMgZm9yIHRocmVhZC1zYWZldHkuCgoyMDAwLTA3LTA5ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBNb3ZlIGNhbGwgdG8gX19saWJjX2NoZWNrX3N0YW5kYXJkX2Zkcy4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiAuLi4gdG8gaGVyZS4KCjIwMDAtMDctMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9mZWF0dXJlcy5oOiBJbmNsdWRlIElTTyBDOTkgZmVhdHVyZXMgaWYgdGhlIGNvbXBpbGVyIHVzZWQKCWlzIGFuIElTTyBDOTkgY29tcGlsZXIuCglQYXRjaCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoyMDAwLTA3LTA4ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGljb252L2djb252X2NvbmYuYzogSW5jbHVkZSA8Yml0cy9saWJjLWxvY2suaD4uCgoyMDAwLTA3LTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NpZ2FjdGlvbi5jOiBNYWtlIGFsaWFzIHdlYWsgc2luY2UKCWl0J3Mgb3ZlcnJpZGRlbiBieSBsaWJwdGhyZWFkcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoKCSogbWFsbG9jL01ha2VmaWxlOiBSdW4gdHN0LW10cmFjZSBvbmx5IHdpdGggc2hhcmVkIGxpYnMuCgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGU6IFJ1biB1bmJwdXRjIGFuZCB0c3QtcHJpbnRmIHRlc3RzIG9ubHkKCXdpdGggc2hhcmVkIGxpYnMuCgoyMDAwLTA3LTEwICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGRzMi5wZy5nZGEucGw+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX2xpbmtfbWFwKTogVmVyaWZ5Cgl0aGF0IGdwcmVnIHJlYWxseSBwb2ludHMgdG8gdGhlIEdPVCBzZWN0aW9uIG9mIHRoZSBjYWxsaW5nIG9iamVjdC4KCVNjYW4gYWxsIFBUX0xPQUQgc2VnbWVudHMgb2Ygb2JqZWN0cyBmb3Igc3R1Yl9wYywgaW5zdGVhZCBvZiBvbmx5CgljaGVja2luZyBhIHN0YXJ0IGFkZHJlc3Mgb2YgZmlyc3Qgb25lLgoJRml4IHR5cG9zLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcnVudGltZV9saW5rX21hcCk6CglMaWtld2lzZS4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKF9fZGxfcnVudGltZV9yZXNvbHZlKTogRml4IGEgdHlwby4KCjIwMDAtMDctMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ2FjdGlvbi5jOiBGaXggdHlwbwoJKHN0cmluZ19hbGlhcy0+c3Ryb25nX2FsaWFzKS4KCjIwMDAtMDctMDggIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogaHVyZC9odXJkL2ZkLmg6IEluY2x1ZGUgPGN0aHJlYWRzLmg+IGluc3RlYWQgb2YgPGxvY2staW50ZXJuLmg+LgoKMjAwMC0wNy0wNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogVG9sZXJhdGUgc3lzY2FsbHMgdGhhdAoJaGF2ZSBubyBuYW1lcyB3aXRob3V0IGxlYWRpbmcgdW5kZXJzY29yZXMuCgoyMDAwLTA3LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9zamlzLmMgKGZyb21fdWNzNF9sYXQxKTogRml4IG1hcHBuZyBvZiBVMDA1QyBhbmQKCVUwMDdFLgoKCSogc3RkaW8tY29tbW9uL01ha2VmaWxlICh0ZXN0cyk6IFJlbW92ZSB0c3QtcHJpbnRmIGhlcmUuLi4KCSh0ZXN0cy1zcmNzKTogLi4uYW5kIGFkZCBpdCBoZXJlLgoJKGRpc3RyaWJ1dGUpOiBBZGQgdHN0LXVuYnB1dGMuc2ggYW5kIHRzdC1wcmludGYuc2guCglBZGQgcnVsZXMgdG8gcnVuIHRzdC1wcmludGYuc2guCgkqIHN0ZGlvLWNvbW1vbi90c3QtcHJpbnRmLmM6IE1vdmUgY29kZSBhcm91bmQgc28gdGhhdCB0aGVyZSBpcyByZWFsbHkKCW5vIGZ1cnRoZXIgb3V0cHV0IHdoZXJlIGl0J3Mgc3RhdGVkLgoJKiBzdGRpby1jb21tb24vdHN0LXByaW50Zi5zaDogTmV3IGZpbGUuCgoyMDAwLTA3LTA3ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGh1cmQvdnBwcmludGYuYyBbVVNFX0lOX0xJQklPXTogSW5jbHVkZSA8bGliaW9QLmg+LgoJKGRvX3dyaXRlKTogUmVuYW1lZCBmcm9tIHB3cml0ZS4KCSh2cHByaW50ZikgW1VTRV9JTl9MSUJJT106IEFkanVzdCBmb3IgcmVuYW1pbmcgYW5kIHJlc2h1Zmxpbmcgb2YKCWBzdHJ1Y3QgX0lPX2Nvb2tpZV9maWxlJy4KCjIwMDAtMDctMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFsbG9jL210cmFjZS5wbDogRXhpdCB3aXRoIGV4aXQgY29kZSAxIGlmIGFueSBsZWFrIHdhcwoJZGV0ZWN0ZWQuCgkqIG1hbGxvYy90c3QtbXRyYWNlLnNoOiBSdW4gbXRyYWNlIHNjcmlwdC4KCjIwMDAtMDctMDcgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogcG9zaXgvcmVnZXguYyAoRVhURU5EX0JVRkZFUik6IENvbXB1dGUgaW5jcmVtZW50IG9uY2UuCglNb3ZlIGFsbCB0aHJlZSBjb21wb25lbnRzIG9mIGEgYm91bmRlZCBwb2ludGVyLgoKMjAwMC0wNy0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmMgKHdyaXRlX2xvY2FsZXMpOiBEb24ndCBzaW1wbHkgYWRkIGFsbAoJZGlyZWN0b3JpZXMgZm91bmQgaW4gdGhlIHN1YmRpciwgdGVzdCB3aGV0aGVyIGF0IGxlYXN0IHRoZQoJTENfQ1RZUEUgZmlsZSBpcyBpbiB0aGVyZS4KCjIwMDAtMDctMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL2V1Yy1qcC5jOiBNYXAgY2hhcmFjdGVycyBpbiBDMSBhcmVhIHRvIGl0c2VsZi4KCSogaWNvbnZkYXRhL2V1Yy1rci5jOiBMaWtld2lzZS4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIChwcm9jZXNzX3N0cmluZ19hcmcpOiBDaGVjayByZXN1bHQgb2YKCXdjcnRvbWIgY2FsbCBhbmQgYmFpbCBvdXQgaWYgaXQgZmFpbGVkLgoKCSogbWFsbG9jL01ha2VmaWxlICh0ZXN0LXNyY3MpOiBBZGQgdHN0LW10cmFjZS4KCShkaXN0cmlidXRlKTogQWRkIHRzdC1tdHJhY2Uuc2guCglBZGQgcnVsZSB0byBydW4gdHN0LW10cmFjZS5zaC4KCSogbWFsbG9jL3RzdC1tdHJhY2UuYzogTmV3IGZpbGUuCgkqIG1hbGxvYy90c3QtbXRyYWNlLnNoOiBOZXcgZmlsZS4KCgkqIGluY2x1ZGUvc2lnbmFsLmg6IERlY2xhcmUgX19saWJjX3NpZ2FjdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvVmVyc2lvbnM6IEV4cG9ydCBfX2xpYmNfc2lnYWN0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdhY3Rpb24uYzogQWRkIF9fbGliY19zaWdhY3Rpb24gYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoKCSogY29uZmlndXJlLmluOiBGaXggQ0ZMQUdTLW1lbXByb2ZzdGF0LmMgZGVmaW5pdGlvbiBhZnRlcgoJMjAwMC0wNi0xOSBjaGFuZ2UuCglQYXRjaCBieSBCcmFkZm9yZCBXLiBKb2huc29uIDxicmFkZm9yZEBtYXRoLnVtbi5lZHU+LgoKMjAwMC0wNy0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogUGFzcyAwCglpbnN0ZWFkIG9mIE5VTEwgdG8gZWxmX21hY2hpbmVfZml4dXBfcGx0IHQgYXJndW1lbnQuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9tbWFwNjQuYyAoX19tbWFwNjQpOiBBZGQKCWNhc3QuCgoyMDAwLTA3LTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBjcnlwdC9NYWtlZmlsZSAoTERMSUJTLWNlcnQpOiBSZW1vdmVkLgoJKExETElCUy1tZDVjLXRlc3QpOiBSZW1vdmVkLgoJKCQob2JqcGZ4KWNlcnQpOiBSZW5hbWVkIGZyb20gY2VydC5vdXQgdG8gZml4IGRlcGVuZGVuY2llcy4KCSgkKG9ianBmeCltZDVjLXRlc3QpOiBMaWtld2lzZSBmb3IgbWQ1Yy10ZXN0Lm91dC4KCjIwMDAtMDctMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmMgKGdldF9wcm9jX3BhdGgpOiBUaGUgdHlwZQoJb2YgdGhlIHByb2Mgc3lzdGVtIGlzICJwcm9jIi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmMgKF9fbGliY19zdGFydF9tYWluKTogSW5pdGlhbGl6ZQoJdGhyZWFkIGxpYnJhcnkgZm9yIHN0YXRpYyBwcm9ncmFtcy4KCjIwMDAtMDctMDYgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2JwLWNoZWNrcy5oIChDSEVDS19TSUdTRVQsIENIRUNLX1NJR1NFVG9wdCk6CglOZXcgbWFjcm9zLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RyY3B5LmM6IEFkZCBib3VuZHMgY2hlY2tzLgoJKiBzeXNkZXBzL3VuaXgvZnhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgveHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9jb21tb24vbHhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9haW9fc2lncXVldWUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2V4ZWN2ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9meHN0YXQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0Y3dkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50cy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGxzZWVrLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9seHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2x4c3RhdDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb2xsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcmVhZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHRyYWNlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wd3JpdGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B3cml0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yZWFkdi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdwZW5kaW5nLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdwcm9jbWFzay5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lncXVldWUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3N1c3BlbmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3RpbWVkd2FpdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnd2FpdGluZm8uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2N0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdXN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dyaXRldi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveG1rbm9kLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9icmsuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvY2hvd24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZnhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldGdyb3Vwcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRyZXNnaWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0cmVzdWlkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldHJsaW1pdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9sY2hvd24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbHhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldGdyb3Vwcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRybGltaXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3hzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Z4c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9seHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3BlbmRpbmcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lncHJvY21hc2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lnc3VzcGVuZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC94c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9jaG93bi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy90cnVuY2F0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3VzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3hta25vZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9tbWFwNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NpZ3BlbmRpbmcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2lncHJvY21hc2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2lnc3VzcGVuZC5jOiBMaWtld2lzZS4KCgkqIHN0cmluZy9lbmRpYW4uaCAoX19MT05HX0xPTkdfUEFJUik6IE5ldyBtYWNyby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnRydW5jYXRlNjQuYzogVXNlIGl0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcmVhZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHdyaXRlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9mdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy90cnVuY2F0ZTY0LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3B0cmFjZS5oIChQVF9TWVNDQUxMKTogRml4IExIUy4KCjIwMDAtMDctMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmMgKGdldF9wcm9jX3BhdGgpOgoJSW5pdGlhbGl6ZSByZXN1bHQuCgoJKiBtYXRoL3Rlc3QtZnB1Y3cuYzogSW5jbHVkZSA8c3RkaW8uaD4gZm9yIHByaW50Zi4KCjIwMDAtMDctMDUgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2JwLWNoZWNrcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2JwLXRodW5rcy5oOiBSZXBsYWNlIGdlbmVyaWMgdGh1bmsgZGVmaW5pdGlvbnMKCXdpdGggbGlzdCBvZiAjaW5jbHVkZSBmaWxlcy4KCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IEhhbmRsZSBuZXcgYXJnIHNpZ25hdHVyZQoJa2V5bGV0dGVycyBhLCBiLCBCLCBmLCBuLCBOLCBQLCB2LCBWLiAgRml4dXAgc29tZSBpbmRlbnRhdGlvbi4KCURvbid0IGdlbmVyYXRlIEJQIHRodW5rIGlmIGBWJyBhcHBlYXJzIGluIHNpZ25hdHVyZS4KCUdlbmVyYXRlIHRodW5rcyB3aXRoIGNvbXBsZXRlIGJvdW5kcyBjaGVja3MuCgkqIHN5c2RlcHMvdW5peC9zeXNjYWxscy5saXN0OiBSZWZpbmUgc2lnbmF0dXJlcyB1c2luZyBuZXcga2V5bGV0dGVycy4KCSogc3lzZGVwcy91bml4L2luZXQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9tbWFuL3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCjIwMDAtMDctMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0c3lzc3RhdHMuYyAoZ2V0X3Byb2NfcGF0aCk6IENhY2hlCglyZXN1bHQuICBTZWFyY2ggZmlyc3QgaW4gL2V0Yy9tdGFiIChwcm9jL21vdW50cyB3b3VsZCBiZSBzdHVwaWQpLgoJSWYgbW91bnQgbm90IGluIHRoZSBmaWxlIGZhbGwgYmFjayBvbiAvcHJvYy4KCgkqIGNyeXB0L21kNS1jcnlwdC5jIChfX21kNV9jcnlwdF9yKTogQ2xlYXIgYXJyYXlzIHRoZSBrZXkgYW5kIHNhbHQKCXN0cmluZyBnb3QgY29waWVkIGluLgoJUGF0Y2ggYnkgU29sYXIgRGVzaWduZXIgPHNvbGFyQGZhbHNlLmNvbT4uCgoyMDAwLTA3LTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvaW5zdGFsbC50ZXhpIChJbnN0YWxsYXRpb24pOiBVcGRhdGUgaW5mb3JtYXRpb24gYWJvdXQKCWFkZC1vbnMuCgkoQ29uZmlndXJpbmcgYW5kIGNvbXBpbGluZyk6IFVwZGF0ZSBmb3IgZ2xpYmMgMi4yLgoKMjAwMC0wNy0wNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pMzg2L2ZwdV9jb250cm9sLmggKF9GUFVfREVGQVVMVCk6IENvcnJlY3QgdmFsdWUuCgkoX0ZQVV9JRUVFKTogTGlrZXdpc2UuCgoJKiBtYXRoL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0ZXN0LWZwdWN3LgoKCSogbWF0aC90ZXN0LWZwdWN3LmMgKG1haW4pOiBOZXcgZmlsZS4KCjIwMDAtMDctMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xvYWRsb2NhbGUuYyAoX25sX3VubG9hZF9sb2NhbGUpOiBBZGQgY2FzdCB0byBhdm9pZCB3YXJuaW5nLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY29sbGF0ZV9vdXRwdXQpOiBBbHNvIHdyaXRlIG91dCB0aGUKCWNvbGxhdGlvbiBzZXF1ZW5jZSB2YWx1ZXMgYW5kIHRoZSB3aWRlIGNoYXJhY3RlciBzdHJpbmcgZm9yIHRoZQoJY29sbGF0aW9uIHN5bWJvbCB0YWJsZS4KCgkqIHBvc2l4L2ZubWF0Y2guYzogSW5jbHVkZSAiLi4vbG9jYWxlL2VsZW0taGFzaC5oIi4KCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IEltcGxlbWVudCBjb2xsYXRpbmcgc3ltYm9sIGhhbmRsaW5nLgoJKiBwb3NpeC90c3QtZm5tYXRjaC5pbnB1dDogQWRkIG1vcmUgdGVzdHMsIGVzcGVjaWFsbHkgZm9yIGNvbGxhdGluZwoJc3ltYm9sIGhhbmRsaW5nLgoKCSogcG9zaXgvcmVnZXguYzogRml4IGNvbW1lbnQuCgoyMDAwLTA3LTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZnB1X2NvbnRyb2wuaDogRml4IHR5cGUgb2YgZnB1X2NvbnRyb2xfdC4KCShfRlBVX0dFVENXKTogUmVtb3ZlIGV4dHJhIGNvbG9uLgoJUGF0Y2ggYnkgUmFsZiBCYWVjaGxlIDxyYWxmQHVuaS1rb2JsZW56LmRlPi4KCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jIChGQ1QpOiBPbmx5IGRlY2xhcmUgbGVuIGlmCgkhV0lERV9DSEFSX1ZFUlNJT04gdG8gc2lsZW5jZSBHQ0MuCgoJKiBzeXNkZXBzL2dlbmVyaWMvcmF3bWVtY2hyLmM6IEluY2x1ZGUgPHN0ZGxpYi5oPiBmb3IgYWJvcnQKCXByb3RvdHlwZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNocm51bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmxlbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNoci5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL21lbWNoci5jOiBMaWtld2lzZS4KCjIwMDAtMDctMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IEltcGxlbWVudCBlcXVpdmFsZW5jZSBjbGFzcyBoYW5kbGluZy4KCSogcG9zaXgvdHN0LWZubWF0Y2guaW5wdXQ6IEFkZCB0ZXN0cyBmb3IgZXF1aXZhbGVuY2UgY2xhc3MKCWhhbmRsaW5nLgoKCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IEltcHJvdmUgcGVyZm9ybWFuY2UgZm9yIHNpbmdsZS1ieXRlCgljaGFyYWN0ZXIgc2V0cyBieSBub3QgdXNpbmcgYnRvd2MuCgoJKiBwb3NpeC90c3QtZm5tYXRjaC5pbnB1dDogQWRkIHRlc3RzIGZvciBsb2NhbGUgZGVwZW5kZW50CgliZWhhdmlvdXIuCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmMgKG1haW4pOiBBbHNvIHNldCBMQ19DVFlQRSBjYXRlZ29yeS4KCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmlucHV0OiBBZGQgbW9yZSB0ZXN0IGNhc2VzLgoKCSogY3J5cHQvbWQ1LWNyeXB0LmMgKF9fbWQ1X2NyeXB0X3IpOiBJZiBidWZmZXJzIGZvciBrZXkgYW5kIHNhbHQKCWFyZSBub3QgYWxpZ25lZCB0byBhbGlnbm9mKG1kNV91aW50MzIpIGRvIGl0IGJlZm9yZSBjYWxsaW5nCglfX21kNV9wcm9jZXNzX2J5dGVzLgoJKiBjcnlwdC9tZDUuYzogTWFrZSBzdXJlIGJ1ZmZlcnMgYXJlIGFsaWduZWQuCgkqIGNyeXB0L21kNS5oOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IFNvbGFyIERlc2lnbmVyIDxzb2xhckBmYWxzZS5jb20+LgoKCSogY3J5cHQvTWFrZWZpbGU6IEFkZCBkZXBlbmRlbmNpZXMgZm9yIHRlc3QgcHJvZ3JhbXMuCgoJKiBSdWxlczogRGVmaW5lIExDX0FMTD1DIGluIGVudmlyb25tZW50cyBvZiBhbGwgcHJvZ3JhbXMgd2UgcnVuLgoKCSogaW50bC90c3QtZ2V0dGV4dC5zaCAoTENfQUxMKTogRGVmaW5lIHRvIEMgYW5kIGV4cG9ydC4KCjIwMDAtMDctMDMgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjdHlwZV9vdXRwdXQpOiBUaGUgc2l6ZSBvZiBpb3YKCWlzIDIgKyBlbGVtICsgb2Zmc2V0LCBub3QgMiArIGVsZW0gKyBvZmZzZXQgKyAyLgoKMjAwMC0wNy0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYzogRml4IHR3byBwcm9ibGVtcyB1bmNvdmVyZWQgYnkgdGhlIG5ldyB0ZXN0CglzdWl0ZS4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1mbm1hdGNoLgoJKHRzdC1mbm1hdGNoLUVOVik6IERlZmluZS4KCSogcG9zaXgvdHN0LWZubWF0Y2guYzogTmV3IGZpbGUuCgkqIHBvc2l4L3RzdC1mbm1hdGNoLnNoOiBOZXcgZmlsZS4KCjIwMDAtMDctMDQgIE5JSUJFIFl1dGFrYSAgPGduaWliZUBjaHJvb3Qub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYyAoY2hhcm1hcF9yZWFkKTogUHJlcGVuZAoJdGhlIGNvbmRpdGlvbiBmaWxlbmFtZSA9PSBOVUxMLgoKMjAwMC0wNy0wMyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2kzODYvYml0cy9zZXRqbXAuaCAoUFVTSF9TSUdOQUxfTUFTSyk6IEZpeCB0eXBvLgoKCSogY3N1L01ha2VmaWxlIChleHRyYS1vYmpzLCBpbnN0YWxsLWxpYik6IEFkZCBCUCBvYmplY3RzIGNvbmRpdGlvbmFsbHkuCgkoJChvYmpwZngpYiQoc3RhcnQtaW5zdGFsbGVkLW5hbWUpKTogQWRkIG5vbi1lbGYgcnVsZS4KCgkqIGxpYmlvL2xpYmlvLmggKF9JT19GSUxFKTogUmV2ZXJ0IHR5cGUgb2YgX2NoYWluIHRvIF9JT19GSUxFKi4KCSogbGliaW8vbGliaW9QLmggKF9JT19JVEVSKTogUmV2ZXJ0IHRvIHR5cGUgX0lPX0ZJTEUqLgoJKEZJTEVCVUZfTElURVJBTCk6IEFkZCBjYXN0IGZvciBDSEFJTiBpbml0LgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX3VuX2xpbmssIF9JT19saW5rX2luLCBfSU9faXRlcl9iZWdpbik6IEFkZCBjYXN0cy4KCShfSU9fZmx1c2hfYWxsLCBfSU9fZmx1c2hfYWxsX2xpbmVidWZmZXJlZCwgX0lPX3VuYnVmZmVyX3dyaXRlKToKCVJldmVydCB0eXBlIG9mIGBmcCcgdG8gX0lPX0ZJTEUqLgoJKF9JT19pdGVyX2ZpbGUpOiBSZW1vdmUgY2FzdC4KCShfSU9faXRlcl9uZXh0KTogRWxpZGUgaW50ZXJtZWRpYXRlIG1lbWJlciByZWZlcmVuY2UuCgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RyY2hyLlM6ICBDaGVjayBib3VuZHMuCglXcmFwIGV4dGVybiBzeW1ib2xzIGluIEJQX1NZTSAoKS4KCjIwMDAtMDctMDMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGRsZmNuL01ha2VmaWxlIChnZW5lcmF0ZWQpOiBOZXcuCgoyMDAwLTA3LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2dlbm9wcy5jIChfX292ZXJmbG93KTogVXNlIF9JT19md2lkZSB0byBvcmllbnQgdGhlIHN0cmVhbS4KCShfX3VmbG93KTogTGlrZXdpc2UuCgkoX191bmRlcmZsb3cpOiBMaWtld2lzZS4KCSogbGliaW8vd2dlbm9wcy5jIChfX3d1bmRlcmZsb3cpOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3RzdC11bmJwdXRjLmM6IE5ldyBmaWxlLgoJKiBzdGRpby1jb21tb24vdHN0LXVuYnB1dGMuc2g6IE5ldyBmaWxlLgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHRzdC11bmJwdXRjLgoKCSogcG8vZW5fR0IucG86IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgUm9iZXJ0IEJyYWR5IDxyd2IxOTdAZWNzLnNvdG9uLmFjLnVrPi4KCjIwMDAtMDctMDEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGludGwvTWFrZWZpbGUgKGdlbmVyYXRlZC1kaXJzKTogTmV3LgoKCSogZWxmL01ha2VmaWxlIChnZW5lcmF0ZWQpOiB0cnVzdGVkLWRpcnMuaCBpcyBhbHdheXMgZ2VuZXJhdGVkLAoJbW92ZSBvdXQgb2YgYnVpbGQtc2hhcmVkIGNvbmRpdGlvbi4KCShnZW5lcmF0ZWQpOiBNZXJnZSB0aGUgdHdvIGVudHJpZXMgZm9yIGJ1aWxkLXNoYXJlZC4KCjIwMDAtMDctMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZGVidWcvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgeHRyYWNlLnNoLgoKMjAwMC0wNi0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMS45MS4KCgkqIGNvbmZpZ3VyZS5pbjogVXBkYXRlIHdhcm5pbmcgY29tbWVudC4gIGdsaWJjIHNob3VsZCBub3QgYmUKCWJyb2tlbiBhbnltb3JlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9EaXN0OiBSZW1vdmUgb2xkIGNvbnRlbnQuICBBZGQKCWlvcGVybS5jLCBzeXMvcHJvY2ZzLmgsIGFuZCBzeXMvaW8uaC4KCgkqIHN5c2RlcHMvcG93ZXJwYy9EaXN0OiBBZGQgYnAtYXNtLmguCgoJKiBhc3NlcnQvRGVwZW5kOiBBZGQgbG9jYWxlZGF0YS4KCSogYXNzZXJ0L01ha2VmaWxlICh0ZXN0LWFzc2VydC1FTlYpOiBOZXcuICBEZWZpbmUgTEFOR1VBR0U9Qy4KCSh0ZXN0LWFzc2VydC1wZXJyLUVOVik6IE5ldy4gIERlZmluZSBMQU5HVUFHRT1DLgoKCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpIFtyX3R5cGUgPT0KCVJfQUxQSEFfUkVGUVVBRF06IFVzZSBtZW1jcHkgdG8gbG9hZCBhbmQgc3RvcmUgdmFsdWUgZnJvbQoJcmVsb2NhdGlvbiBhZGRyZXNzIHRvIHByZXZlbnQgdW5hbGlnbmVkIHRyYXAuCglTdWdnZXN0ZWQgYnkgUmljaGFyZCBIZW5kZXJzb24gPHJ0aEBjeWdudXMuY29tPi4KCjIwMDAtMDYtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW8vc3lzL3N0YXQuaCAoc3RhdDY0LCBsc3RhdDY0LCBmc3RhdDY0KTogRG9uJ3QgZGVmaW5lIGlubGluZXMKCWlmIHJlZGlyZWN0aW5nIGFuZCBlaXRoZXIgcmVkaXJlY3Rpb24gaXMgZG9uZSB1c2luZyBkZWZpbmVzIG9yCglub3Qgb3B0aW1pemluZy4KCjIwMDAtMDYtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3VucnBjL3JwY19jb3V0LmMgKGlubGluZV9zdHJ1Y3QpOiBBZGQgbWlzc2luZyBwYXJlbnRoZXNpcyBpbgoJZ2VuZXJhdGVkIGV4cHJlc3Npb25zLgoJUGF0Y2ggYnkgRGFycmVuIE1jQ2xlbGxhbmQgPGRtY2NsZWxsQHpldGVjLmNvbT4uCgoJKiB0aW1lem9uZS9NYWtlZmlsZSAoYnVpbGQtdGVzdGRhdGEpOiBTZXQgTEFOR1VBR0UgYW5kIExDX0FMTAoJc2luY2UgemljIHVzZXMgc2V0bG9jYWxlIGFuZCBnZXR0ZXh0IGJ1dCB3ZSBjYW5ub3QgbWFrZSBpdCB1c2UgdGhlCgluZXcgbG9jYWxlIGRhdGEgc2luY2UgemljIGNhbGxzIGEgc2hlbGwgd2hpY2ggbWlnaHQgbm90IHVzZSB0aGUKCW5ldyBsaWJjLgoKCSogc3RkbGliL3N0cmZtb24uYzogTW92ZSBzb21ld2hhdCBjbG9zZXIgdG8gdGhlIHN0YW5kYXJkIHdydCB0bwoJaGFuZGxpbmcgdGhlIGludGVybmF0aW9uIGN1cnJlbmN5IHN5bWJvbC4gIFBPU0lYIHNheXMgdGhhdCB0aGUKCWZvdXJ0aCBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBhcmF0ZSB0aGUgY3VycmVuY3kgc3ltYm9sIGZyb20gdGhlCgl2YWx1ZS4gIFRoZXJlZm9yZSBpdCBkb2VzIG5vdCBoYXZlIHRvIGJlIHByaW50ZWQuICBCdXQgd2UgY2Fubm90CglyZW1vdmUgdGhlIHNwYWNlIGlmIHRoZSBjdXJyZW5jeSBzeW1ib2wgaXMgcHJpbnRlZCBiZWZvcmUgdGhlCgludW1iZXIgc2luY2UgdGhpcyBpcyB3aGF0IG1hbnkgbG9jYWxlcyBleHBlY3QuCgoJKiBpY29udi9nY29udl90cmFucy5jOiBUZXN0IHdpdGggX05MX0NUWVBFX1RSQU5TTElUX0RFRkFVTFRfTUlTU0lOR19MRU4KCXdoZXRoZXIgdGhpcyBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuCgoJKiBpbnRsL2RjaWdldHRleHQuYyAoX25sX2ZpbmRfbXNnKTogQ29ycmVjdCByZWFsbG9jYXRpb24gb2YKCWJ1ZmZlcnMgaW4gY2FzZSB0aGUgdHJhbnNsYXRpb24gaXMgdG9vIGxhcmdlLiAgUmVtZW1iZXIgYWxsb2NhdGVkCgltZW1vcnkgYmxvY2tzIGluIGEgbGlzdC4KCShmcmVlX21lbSk6IEZyZWUgbWVtb3J5IGZvciB0cmFuc2xhdGlvbnMuCgoJKiBpbnRsL3RzdC1nZXR0ZXh0LmM6IFVzZSBjb3JyZWN0IGxvY2FsZS4gIEltcHJvdmUgZXJyb3IgbWVzc2FnZXMuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfb3V0cHV0KTogSWYgbm8gZGVmYXVsdF9taXNzaW5nCglpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgc2V0IHRoZSBzdHJpbmcgbGVuZ3RoIHRvIHplcm8uCgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9zdHJjbXAuUzogTGl0dGxlIG9wdGltaXphdGlvbiBpbiBub24tQlAgY2FzZS4KCjIwMDAtMDYtMzAgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9wb3dlcnBjL2JwLWFzbS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL19fbG9uZ2ptcC5TOiAgQ2hlY2sgYm91bmRzLgoJV3JhcCBleHRlcm4gc3ltYm9scyBpbiBCUF9TWU0gKCkuCgkqIHN5c2RlcHMvcG93ZXJwYy9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2JzZC1zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9hZGRfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2FkZG11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvbHNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9zdWJfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3N1Ym11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RybGVuLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvbWVtc2V0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RwY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RyY21wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RyY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZWxmL2J6ZXJvLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9wb3dlcnBjL3N0cGNweS5TOiBEZWZpbmUgJiB1c2Ugc3ltYm9saWMgcmVnaXN0ZXIgbmFtZXMuCglMaW5lIHVwIG9wZXJhbmRzIGNvbHVtbiB3aXRoIHRhYnMuCgoyMDAwLTA2LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9NYWtlZmlsZSAoTERGTEFHUy1vcmlndGVzdCk6IEFjdHVhbGx5IGFkZCBpdC4KCgkqIHN5c2RlcHMvaWE2NC9odG9ubC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2h0b25zLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvbWVtY3B5LlM6IFJlcGxhY2Ugd2l0aCB2ZXJzaW9uIHdoaWNoIGRvZXMgbm90IHVzZQoJZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzLgoJUGF0Y2hlcyBieSBEYW4gUG9wIDxEYW4uUG9wQGNlcm4uY2g+LgoKMjAwMC0wNi0zMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogdHN0LWV4ZWMgYW5kIHRzdC1zcGF3biBvbmx5IHdvcmsgd2l0aAoJc2hhcmVkIGxpYnJhcmllcy4KCgkqIGlvL01ha2VmaWxlIChDRkxBR1MtdGVzdC1sZnMuYyk6IE5ldy4KCSh0ZXN0cyk6IEFkZCB0ZXN0LWxmcy4KCgkqIGlvL3Rlc3QtbGZzLmM6IE5ldyBmaWxlLgoKMjAwMC0wNi0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvYml0cy9zdHJpbmcuaCAoc3RyY21wKTogVXNlIDhiaXQgcmVnaXN0ZXIgaW4gOGJpdAoJaW5zdHJ1Y3Rpb24uCgoyMDAwLTA2LTI5ICBEYXZpZCBNb3NiZXJnZXItVGFuZyAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9pb3Blcm0uYzogTmV3IGZpbGUuCgoyMDAwLTA2LTI5ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogQWRkIF9fZnN0YXRmczY0CglhbGlhcyB0byB0aGUgZnN0YXRmcyBjYWxsLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nZXRybGltaXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zZXRybGltaXQ2NC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZnRydW5jYXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvdHJ1bmNhdGU2NC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcmVhZGRpci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZGlyX3IuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcmVhZGRpcjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3JlYWRkaXI2NF9yLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nbG9iLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dsb2I2NC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZnN0YXRmczY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N0YXRmczY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9wcmVhZDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3B3cml0ZTY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaG1jdGwuYzogTmV3IGZpbGUuCgoyMDAwLTA2LTI5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzdW5ycGMvcnBjX3N2Y291dC5jICh3cml0ZV9tc2dfb3V0KTogQWx3YXlzIHVzZSBmb3JtYXQgc3RyaW5nCgl3aXRoIHN5c2xvZy4KCShwcmludF9lcnJfbWVzc2FnZSk6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgQ2hyaXMgRXZhbnMgPGNocmlzQGZlcnJldC5sbWgub3guYWMudWs+LgoKMjAwMC0wNi0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvbG9hZGxvY2FsZS5jIChfbmxfbG9hZF9sb2NhbGUpOiBNYWtlIHN1cmUgYWxsIGxvY2FsZSBkYXRhCgl1c2VkIGFzIHdvcmRzIGlzIHByb3Blcmx5IGFsaWduZWQuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfb3V0cHV0KTogRG9uJ3QgZ2VuZXJhdGUgdW5hbGlnbmVkCglkYXRhIGZpbGVzLgoKMjAwMC0wNi0yOSAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jIChfX2xpYmNfc3RhY2tfZW5kKTogQ2hvcCBfX3VuYm91bmRlZC4KCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IEhhbmRsZSBzaWduYXR1cmVzIG9mCglsZW5ndGggNy4uOSwganVzdCBpbiBjYXNlLi4uCgkqIG1pc2Mvc3lzL2NkZWZzLmggKF9fcHRydmFsdWUpOiBEZWZpbmUgYXMgbm90aGluZyBmb3Igbm9uLUJQLgoKCSogc3lzZGVwcy9pMzg2L2JwLWFzbS5oIChQQ09GRik6IE5ldyBjb25zdGFudC4KCShQT1BfRVJSTk9fTE9DQVRJT05fUkVUVVJOKTogRm9sZCBpbnNucy4KCSogc3lzZGVwcy9pMzg2L2JpdHMvc2V0am1wLmggKEpCX1NJWkUpOiBOZXcgY29uc3RhbnQuCgkoUFVTSF9TSUdOQUxfTUFTSyk6IE5ldyBtYWNyby4KCSogc3lzZGVwcy9pMzg2L19fbG9uZ2ptcC5TIChfX2xvbmdqbXApOiBXcmFwIHN5bWJvbCBpbiBCUF9TWU0gKCkuCglMRUFWRSBpcyB1bm5lY2Vzc2FyeS4gIENoZWNrIGJvdW5kcyBvZiBqbXBfYnVmLgoJKiBzeXNkZXBzL2kzODYvZWxmL3NldGptcC5TOiBDYWxsIFBVU0hfU0lHTkFMX01BU0suICBXcmFwIHN5bWJvbHMKCWluIEJQX1NZTSAoKS4gIENoZWNrIGJvdW5kcyBvZiBqbXBfYnVmLiAgRG9uJ3QgY2FsbCBMRUFWRSB1bnRpbAoJaW1tZWRpYXRlbHkgYmVmb3JlIHRhaWwtY2FsbC4KCSogc3lzZGVwcy9pMzg2L3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2JzZC1fc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvYnNkLXNldGptcC5TOiBMaWtld2lzZS4KCjIwMDAtMDYtMjkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9mcHUvZmNscmV4Y3B0LmM6IFVzZSBTSExJQl9DT01QQVQsIGNvbXBhdF9zeW1ib2wgYW5kCgl2ZXJzaW9uZWRfc3ltYm9sLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9mcHUvZmV1cGRhdGVlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZnZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9mcHUvZnJhaXNlZXhjcHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZzZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9mcHUvZmVnZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvVmVyc2lvbnM6IE5ldyBmaWxlLgoJKiBzaGxpYi12ZXJzaW9uczogTWFrZSBzcGFyYzY0IEdMSUJDXzIuMisgb25seS4KCjIwMDAtMDYtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3ByaW50Zl9mcC5jIChfX3ByaW50Zl9mcCk6IERvbid0IGNsb2JiZXIgcG9pbnRlciB3aGljaAoJd2UgbGF0ZXIgbmVlZCB0byBjYWxsaW5nIGZyZWUoKS4KCVBhdGNoIGJ5IE1hdHQgV2lsc29uIDxtc3dAcmVkaGF0LmNvbT4uCgoJKiBzdGRpby1jb21tb24vdHN0LXByaW50Zi5jOiBBZGQgdGVzdCBmb3IgYWJvdmUgcHJvYmxlbS4KCjIwMDAtMDYtMjcgIERhdmlkIE1vc2Jlcmdlci1UYW5nICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvaXBjLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2htLmg6IE5ldyBmaWxlLgoKMjAwMC0wNi0yOCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3NfZXhwMi5jOiBBZGQgaW5jbHVkZSBzdGRsaWIuaCB0byBnZXQKCXByb3RvdHlwZSBmb3IgYWJzKCkuCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvc19leHAyZi5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZpZy5oLmluOiBEb24ndCB1c2UgcmVncGFybSB3aXRoIGJvdW5kZWQgcG9pbnRlcnMuCgoyMDAwLTA2LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGxpYi9ncm91cGluZy5oOiBDb3JyZWN0bHkgaGFuZGxlIG11bHRpYnl0ZSB0aG91c2FuZHMKCXNlcGFyYXRvciBhbmQgZGVjaW1hbCBwb2ludC4KCSogc3RkbGliL3N0ZHRvZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cnRvbC5jOiBMaWtld2lzZS4KCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogQWRkIGVudHJpZXMgZm9yIHdpZGUgY2hhcmFjdGVyIGRlY2ltYWwgcG9pbnQKCWFuZCB0aG91c2FuZHMgc2VwYXJhdG9yIGluIG51bWVyaWMgYW5kIG1vbmV0YXJ5IGNhdGVnb3J5LgoKMjAwMC0wNi0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vcHJpbnRmX2ZwLmMgKF9fcHJpbnRmX2ZwKTogUmVtb3ZlIHVubmVjZXNzYXJ5CglzZWNvbmQgZGVmaW5pdGlvbiBhbmQgaW5pdGlhbGl6YXRpb24gb2YgZGVjaW1hbC4KCjIwMDAtMDYtMjggIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogbGliaW8vbGliaW8uaCAoc3RydWN0IF9JT19jb29raWVfZmlsZSk6IE1vdmUgc3RydWN0IHR5cGUgZGVmaW50aW9uCglvdXQuCgkoX0lPX0ZJTEUpOiBEZWNsYXJlIGNoYWluIGFzIChzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyAqKS4KCSogbGliaW8vbGliaW9QLmggKHN0cnVjdCBfSU9fY29va2llX2ZpbGUpOiBNb3ZlIHN0cnVjdCB0eXBlIGRlZmludGlvbgoJaW4uCgkoX0lPX0pVTVBTKTogRG9uJ3QgY2FzdCBUSElTLS1leHBlY3QgYXJnIHRvIGJlIGEKCShzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyAqKS4KCShfSU9fSlVNUFNfRlVOQyk6IEV4cHJlc3MgaW4gdGVybXMgb2YgX0lPX0pVTVBTLCBhbmQgYWRkIGNhc3QgdG8KCVRISVMsIHNpbmNlIF9JT19KVU1QUyBubyBsb25nZXIgZG9lcyBpdCBpbXBsaWNpdGx5LgoJKF9JT19maWxlX2luaXQsIF9JT19vbGRfZmlsZV9pbml0LCBfSU9fbmV3X2ZpbGVfaW5pdCk6IERlY2xhcmUKCWFyZyB0eXBlIGFzIChzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyAqKS4KCShfSU9fc3RyX2luaXRfc3RhdGljLCBfSU9fc3RyX2luaXRfcmVhZG9ubHkpOiBEZWNsYXJlIDFzdAoJYXJnIGFzIChfSU9fc3RyZmlsZSAqKS4KCSogbGliaW8vc3Ryb3BzLmMgKF9JT19zdHJfaW5pdF9zdGF0aWMsIF9JT19zdHJfaW5pdF9yZWFkb25seSk6CglEZWNsYXJlIDFzdCBhcmcgYXMgKF9JT19zdHJmaWxlICopLgoJKiBsaWJpby9maWxlb3BzLmMgKF9JT19uZXdfZmlsZV9pbml0KTogRGVjbGFyZQoJYXJnIHR5cGUgYXMgKHN0cnVjdCBfSU9fRklMRV9wbHVzICopLgoJKiBsaWJpby9vbGRmaWxlb3BzLmMgKF9JT19vbGRfZmlsZV9pbml0KTogTGlrZXdpc2UuCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9fbGlua19pbiwgX0lPX3VuX2xpbmspOiBMaWtld2lzZS4KCShfSU9fZmx1c2hfYWxsLCBfSU9fZmx1c2hfYWxsX2xpbmVidWZmZXJlZCwgX0lPX3VuYnVmZmVyX3dyaXRlKToKCURlY2xhcmUgaXRlcmF0aW9uIHBvaW50ZXIgYXMgKHN0cnVjdCBfSU9fRklMRV9wbHVzICopLgoJKF9JT19pdGVyX25leHQsIF9JT19pdGVyX2ZpbGUpOiBfSU9fSVRFUiBpcyBub3cKCQkoc3RydWN0IF9JT19GSUxFX3BsdXMgKikuCgkqIGxpYmlvL3N0ZGZpbGVzLmMgKF9JT19saXN0X2FsbCk6IERlY2xhcmUgYXMgKHN0cnVjdCBfSU9fRklMRV9wbHVzICopLgoJKiBsaWJpby9vbGRzdGRmaWxlcy5jIChfSU9fbGlzdF9hbGwpOiBMaWtld2lzZS4KCShfSU9fY2hlY2tfbGliaW8pOiBTZXQgdXNlci12aXNpYmxlIGhhbmRsZXMgdG8KCShzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyAqKS4KCSogbGliaW8vc3RkaW8uYyAoc3RkaW4sIHN0ZG91dCwgc3RkZXJyKTogU2V0IHVzZXItdmlzaWJsZSBoYW5kbGVzCgl0byAoc3RydWN0IF9JT19GSUxFX3BsdXMgKikuCgoJKiBsaWJpby9pb2Zkb3Blbi5jIChfSU9fbmV3X2Zkb3Blbik6IFBhc3MgRklMRSBoYW5kbGUgcG9pbnRlcgoJd2hvc2UgaGlnaCBib3VuZCBpbmNsdWRlcyB2dGFibGUgdG8gYWxsIGZ1bmN0aW9ucyB0aGF0IHdpbGwgdXNlCgl2dGFibGUuICBGb3Igc3RyZWFtYnVmcywgcGFzcyBwb2ludGVyIHdob3NlIGJvdW5kcyBpbmNsdWRlIHN0cnVjdAoJX0lPX3N0cmZpbGUuCgkqIGxpYmlvL3dnZW5vcHMuYyAoX0lPX3dkZWZhdWx0X2ZpbmlzaCk6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2Zkb3Blbi5jIChfSU9fb2xkX2Zkb3Blbik6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZvcGVuLmMgKF9JT19uZXdfZm9wZW4pOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mb3Blbi5jIChfSU9fb2xkX2ZvcGVuKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZm9wZW42NC5jIChfSU9fZm9wZW42NCk6IExpa2V3aXNlLgoJKiBsaWJpby9pb3BvcGVuLmMgKF9JT19uZXdfcG9wZW4pOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9wb3Blbi5jIChfSU9fb2xkX3BvcGVuKTogTGlrZXdpc2UuCgkqIGxpYmlvL21lbXN0cmVhbS5jIChvcGVuX21lbXN0cmVhbSk6IExpa2V3aXNlLgoJKiBsaWJpby9pb3Zzc2NhbmYuYyAoX0lPX3Zzc2NhbmYpOiBMaWtld2lzZS4KCSogbGliaW8vaW92c3ByaW50Zi5jIChfSU9fdnNwcmludGYpOiBMaWtld2lzZS4KCSogbGliaW8vaW92ZHByaW50Zi5jIChfSU9fdmRwcmludGYpOiBMaWtld2lzZS4KCSogbGliaW8vaW9mb3BuY29vay5jIChfSU9fY29va2llX2luaXQpOiBMaWtld2lzZS4KCSogbGliaW8vb2JwcmludGYuYyAoX0lPX29ic3RhY2tfdnByaW50Zik6IExpa2V3aXNlLgoJKiBsaWJpby92YXNwcmludGYuYyAoX0lPX3Zhc3ByaW50Zik6IExpa2V3aXNlLgoJKiBsaWJpby92c25wcmludGYuYyAoX0lPX3ZzbnByaW50Zik6IExpa2V3aXNlLgoJKiBsaWJpby9zdGRmaWxlcy5jIChfSU9fc3Rkb3V0XywgX0lPX3N0ZGVycl8pOiBMaWtld2lzZS4KCSogbGliaW8vb2xkc3RkZmlsZXMuYyAoX0lPX3N0ZG91dF8sIF9JT19zdGRlcnJfKTogTGlrZXdpc2UuCgkqIHN0ZGxpYi9zdHJmbW9uLmMgKF9fc3RyZm1vbl9sKTogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIChidWZmZXJlZF92ZnByaW50Zik6IExpa2V3aXNlLgoJKHZmcHJpbnRmKTogUXVhbGlmeSBjb21wdXRlZC1nb3RvIHRhcmdldHMgYXMgdW5ib3VuZGVkLgoKMjAwMC0wNi0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jOiBGaW5hbGx5IGhhbmRsZSBtdWx0aWJ5dGUgZGVjaW1hbCBwb2ludCBhbmQKCXRob3VzYW5kcyBzZXBhcmF0b3IgY29ycmVjdGx5LgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYzogVXNlIENPTVBJTEVfV1NDQU5GIG5vdCBDT01QSUxFX1dQUklOVEYuCgkqIHN0ZGlvLWNvbW1vbi92ZndzY2FuZi5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMjcgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0OiBDaGFuZ2UgYXJndW1lbnQKCWNvdW50IGludG8gc2lnbmF0dXJlcyBmb3IgbW9zdCBjYWxscy4KCjIwMDAtMDYtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nZXRzeXNzdGF0cy5jOiBSZW1vdmVkLiAgV2UgY2FuIHVzZQoJdGhlIGdlbmVyaWMgcGFyc2VyIG5vdy4KCjIwMDAtMDYtMjggIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL2VsZmNsYXNzLmg6IERlbGV0ZWQuICBIYXNoCgl0YWJsZSBlbnRyaWVzIGFyZSAzMiBiaXQgb24gdGhlIGlhNjQgKGFzIHNwZWNpZmllZCBieSB0aGUgQUJJKSwKCW5vdCA2NCBiaXQgYXMgb24gdGhlIEFscGhhLgoKCSogc2hsaWItdmVyc2lvbnM6IEJ1bXAgaWE2NCBzb25hbWUgdG8gbGQtbGludXgtaWE2NC5zby4yIHRvIG1hcmsKCWNoYW5nZSBvZiBvYmplY3RzIHRvIHVzZSAzMiBiaXQgaGFzaCB0YWJsZSBpbmRpY2VzIChzZWUgYWJvdmUpLgoKMjAwMC0wNi0yOCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfZXhwLmM6IEFkZCBpbmNsdWRlIHN0ZGxpYi5oIHRvIGdldAoJcHJvdG90eXBlIGZvciBhYnMoKS4KCjIwMDAtMDYtMjggIFdvbGZyYW0gR2xvZ2VyICA8d2dAbWFsbG9jLmRlPgoKCSogbWFsbG9jL21hbGxvYy5jIChjaHVua19hbGxvYyk6IElmIGV4dGVuc2lvbiBvZiB0aGUgbGluZWFyIGhlYXAKCWZhaWxzLCB0cnkgbW1hcF9jaHVuaygpIGFzIGEgbGFzdCByZXNvcnQgZXZlbiB0aG91Z2ggbl9tbWFwc19tYXgKCW1heSBoYXZlIGJlZW4gcmVhY2hlZC4KCjIwMDAtMDYtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoaW5zZXJ0X3dlaWdodHMpOiBIYW5kbGUgPFV4eHh4PgoJc3ltYm9scyBpbiBtdWx0aS1jaGFyYWN0ZXIgd2VpZ2h0cyBjb3JyZWN0bHkuCgoJKiB3Y3NtYnMvbWJydG93Yy5jOiBTZXQgZmx1c2ggdG8gMSBmb3IgY29udmVyc2lvbiBmdW5jdGlvbiBjYWxscwoJZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIGlucHV0IHN0cmluZyBpcyBlbXB0eSBvciBub3QuCgoJKiB3Y3NtYnMvbWJydG93Yy5jOiBDYWxsaW5nIGZ1bmN0aW9uIHdpdGhvdXQgaW5wdXQgbWVhbnMgY2xlYXJpbmcgdGhlCglnaXZlbiBzdGF0ZSBhbmQgbm90IGF2b2lkaW5nIHRoaXMgYnkgbW9kaWZ5aW5nIGEgbG9jYWwgb2JqZWN0LgoJKiB3Y3NtYnMvd2NydG9tYi5jOiBMaWtld2lzZS4KCgkqIGljb252L3NrZWxldG9uLmM6IElmIG5vIEVNSVRfU0hJRlRfVE9fSU5JVCBpcyBkZWZpbmVkIGNsZWFyIHN0YXRlCglvYmplY3Qgc2luY2Ugc29tZSBpbmNvbXBsZXRlIGNoYXJhY3RlcnMgbWlnaHQgYmUgaW4gdGhlcmUuCgoJKiBpY29udmRhdGEvZXVjLWpwLmM6IEluIGNvbnZlcnNpb24gdG8gVUNTNCwgaGFuZGxpbmcgaW52YWxpZAoJc2VxdWVuY2VzIHdpdGggZmlyc3QgYnl0ZSAweDhlIGNvcnJlY3RseS4KCgkqIGljb252ZGF0YS9qaXMwMjA4Lmg6IFJlbW92ZSByZWR1bmRhbnQgdGVzdC4KCjIwMDAtMDYtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2luaXRmaW5pLmMgKFNFQ1RJT04pOiBSZW1vdmUgdHJhaWxpbmcgc2VtaWNvbG9uLgoJQWRkIGl0IHdoZXJlIGl0IGlzIG5lZWRlZCBub3cuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfZmluaXNoKTogVGFrZSBhbGwgY2hhcmFjdGVycyBmcm9tCgl0aGUgaW5wdXQgY2hhcnNldCBpbnRvIGFjY291bnQgd2hlbiBnZW5lcmF0aW5nIHRoZSBoYXNoIHRhYmxlLgoJKGFsbG9jYXRlX2FycmF5cyk6IENvcnJlY3Qgc2V0dGluZyBkZWZhdWx0IHdpZHRoLiAgTm90IGFsbCBlbXB0eSBzbG90cwoJaW4gdGhlIHRhYmxlIGFyZSBmaWxsZWQsIG9ubHkgdGhvc2Ugbm90IGNvdmVydCBleHBsaWNpdGx5IGJ5IHRoZQoJbG9jYWxlIGRlc2NyaXB0aW9uIGFuZCBpbiB0aGUgY2hhcnNldC4KCgkqIHdjdHlwZS90b3djdHJhbnMuYyAoX190b3djdHJhbnMpOiBCZSBncmFjZWZ1bCBhbmQgYWNjZXB0IGVycm9yCglyZXR1cm4gdmFsdWVzIGZyb20gdGhlIHdjdHJhbnMgZnVuY3Rpb24uCgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHJldHVybiBXRU9GIGFuZCBFT0YgZm9yCgl3aWRlIGNoYXJhY3RlciB2ZXJzaW9uLgoJRm9yICVDIGhhbmRsaW5nLCB0ZXN0IGNvcnJlY3QgcG9pbnRlciB2YXJpYWJsZSBmb3IgTlVMTC4KCgkqIHdjc21icy93Y3RvYi5jOiBIYW5kbGUgV0VPRiBzcGVjaWFsLgoKCSogd2NzbWJzL3djd2lkdGguaDogMHhmZiBpbiB3aWR0aCBhcnJheSBtZWFucyBpbnZhbGlkIGNoYXJhY3Rlci4KCgkqIHdjdHlwZS93Y3R5cGUuaDogUHJvdGVjdCBnY2MtaXNtcyB3aXRoIF9fZXh0ZW5zaW9uX18uICBBdm9pZAoJYWx3YXlzLXRydWUgdGVzdCB0byBhdm9pZCB3YXJuaW5nLgoKMjAwMC0wNi0yNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBlbGYvZGwtb3Blbi5jIChfZGxfc3lzZGVwX3N0YXJ0KTogV3JhcCB3ZWFrX2V4dGVybiBkZWNsIGluIEJQX1NZTSAoKS4KCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCAod2Vha19leHRlcm4pOiBBZGQgZXh0cmEgbGV2ZWwgb2YgZXhwYW5zaW9uLgoJKHN5bWJvbF92ZXJzaW9uLCBkZWZhdWx0X3N5bWJvbF92ZXJzaW9uKTogRmFjdG9yIHJlZHVuZGFudAoJZGVmaW5pdGlvbnMgb3V0IG9mIGNvbmRpdGlvbmFsLgoKMjAwMC0wNi0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsaWJpby9vYnByaW50Zi5jIChfSU9fb2JzdGFja192cHJpbnRmKTogQ2FsbCBvYnN0YWNrX21ha2Vfcm9vbSwKCW5vdCBvYnN0YWNrX2JsYW5rLgoKMjAwMC0wNi0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChzeW1ib2xfdmVyc2lvbik6IEFkZCBleHRyYSBsZXZlbCBvZgoJbWFjcm8gZXhwYW5zaW9uLgoJKGRlZmF1bHRfc3ltYm9sX3ZlcnNpb24pOiBMaWtld2lzZS4KCjIwMDAtMDYtMjYgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy91bml4L2kzODYvc3lzZGVwLlMgKHN5c2NhbGxfZXJyb3IpOiBQdXNoICYgcG9wIHNwYWNlCglmb3IgQlAgcmV0dXJuIHZhbHVlICYgcHVzaCBpbXBsaWNpdCBzdHJ1Y3QtcmV0dXJuIHBvaW50ZXIgdG8KCV9fZXJybm9fbG9jYXRpb24uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmg6IExpa2V3aXNlLgoJKFNZU0NBTExfRVJST1JfSEFORExFUik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2k2ODYvc3lzZGVwLmgKCShTWVNDQUxMX0VSUk9SX0hBTkRMRVIpOiBMaWtld2lzZS4KCgkqIE1ha2Vjb25maWc6IEFkZCBtaXNzaW5nIGNvbW1lbnQuCgkqIGNzdS9NYWtlZmlsZSAoZXh0cmEtb2Jqcywgb21pdC1kZXBzLCBpbnN0YWxsLWxpYik6IEFkZAoJQlAtZmxhdm9yZWQgc3RhcnR1cCBvYmplY3QuCgkoJChvYmpwZngpYiQoc3RhcnQtaW5zdGFsbGVkLW5hbWUpKTogTmV3IHJ1bGUuCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKHN5bWJvbF9zZXRfZGVjbGFyZSk6IENoYW5nZSB0eXBlCglvZiBgX19zdGFydF8jI3NldCcgYW5kIGBfX3N0b3BfIyNzZXQnIHRvIHBvaW50ZXItdG8tZnVuY3Rpb24uCgkoc3ltYm9sX3NldF9kZWNsYXJlKTogQ2hhbmdlIHR5cGUgb2YgYHNldCcgdG8gYXJyYXkgb2YKCXBvaW50ZXItdG8tZnVuY3Rpb24uCgkqIGluY2x1ZGUvc2V0LWhvb2tzLmggKFJVTl9IT09LKTogQ2hhbmdlIHR5cGUgb2YgYHB0cicgdG8KCXBvaW50ZXItdG8tZnVuY3Rpb24uCgoJKiBzdHJpbmcvYml0cy9zdHJpbmcyLmg6IEluaGliaXQgaW5saW5lcyBpZiBfX0JPVU5ERURfUE9JTlRFUlNfXy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IEFkZCBtaXNzaW5nIHNpZ25hdHVyZXMuCglSZW1vdmUgY2xvY2tfKiBhbmQgdGltZXJfKiBlbnRyaWVzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3N5c2NhbGxzLmxpc3Q6IFJlcGxhY2UKCWFyZy1jb3VudCB3aXRoIHNpZ25hdHVyZXMuCgoJKiBzeXNkZXBzL2kzODYvYWRkX24uUzogV3JhcCBlbnRyeS1wb2ludCBzeW1ib2wgaW4gQlBfU1lNICgpLgoJQ2hlY2sgYm91bmRzIG9mIGFyZ3VtZW50cy4KCSogc3lzZGVwcy9pMzg2L2FkZG11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvbHNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9yc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdWJfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N1Ym11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9hZGRfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvYWRkbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdWJfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvYWRkX24uUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2kzODYvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvbWVtY21wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvcmF3bWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9iemVyby5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvbWVtY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9tZW1wY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9tZW1zZXQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L2J6ZXJvLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9tZW1jcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L21lbXBjcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L21lbXNldC5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaTM4Ni9zdHBjcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHBuY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RyY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RyY2hybnVsLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RyY3Nwbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cnBicmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJyY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3Ryc3BuLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RydG9rLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RydG9rX3IuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L3N0cmNhdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvc3RybGVuLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdHJjaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3N0cmNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3RybGVuLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9zdHJjbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L3N0cnRvay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvc3RydG9rX3IuUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZ2V0ZW52LmM6IFdyYXAgc3ltYm9sIG5hbWVzIHdpdGggQlBfU1lNICgpLgoJKiBzeXNkZXBzL2kzODYvZnB1L2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZldXBkYXRlZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZnZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mc2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2kzODYvYWRkbXVsXzEuUzogRXhjaGFuZ2Ugcm9sZXMgb2YgJWVicCBhbmQgJWVieC4KCSogc3lzZGVwcy9pMzg2L211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3VibXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L2FkZF9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9hZGRtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvbHNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9tdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdWJfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3VibXVsXzEuUzogTGlrZXdpc2UuCgoyMDAwLTA2LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJ0L01ha2VmaWxlIChsaWJydC1yb3V0aW5lcyk6IEFkZCBjbG9ja19uYW5vc2xlZXAuCgkqIHJ0L1ZlcnNpb25zIFtHTElCQ18yLjJdIChsaWJydCk6IEFkZCBjbG9ja19uYW5vc2xlZXAuCgkqIHN5c2RlcHMvZ2VuZXJpYy9jbG9ja19uYW5vc2xlZXAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9jbG9ja19uYW5vc2xlZXAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfbmFub3NsZWVwLmM6IE5ldyBmaWxlLgoJKiB0aW1lL3RpbWUuaDogRGVjbGFyZSBjbG9ja19uYW5vc2xlZXAuCgoyMDAwLTA2LTI2ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvaTM4Ni9hc20tc3ludGF4LmggKFIsIE1FTSwgTUVNX0RJU1AsIE1FTV9JTkRFWCwKCUlOU04xLCBJTlNOMiwgVEVYVCwgR0xPQkwpOiBSZW1vdmUgbWFjcm9zLgoJKEFMSUdOKTogQ2xlYW51cCBzdXJyb3VuZGluZyBjb25kaXRpb25hbHMuCgoJKiBzeXNkZXBzL2kzODYvYWRkbXVsXzEuUzogUmVwbGFjZSBhc20tc3ludGF4IG1hY3JvcyB3aXRoIGdhcyBzeW50YXguCglDYWxsIEVOVEVSL0xFQVZFIG1hY3Jvcy4KCSogc3lzZGVwcy9pMzg2L211bF8xLlM6IFJlcGxhY2UgYXNtLXN5bnRheCBtYWNyb3Mgd2l0aCBnYXMgc3ludGF4LgoJKiBzeXNkZXBzL2kzODYvc3VibXVsXzEuUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9hZGRtdWxfMS5TOiBSZXBsYWNlIGFzbS1zeW50YXggbWFjcm9zIHdpdGggZ2FzCglzeW50YXguICBEZWZpbmUgJiB1c2Ugc3ltYm9saWMgYXJndW1lbnQgc3RhY2sgb2Zmc2V0cy4gIENhbGwKCUVOVEVSL0xFQVZFIG1hY3Jvcy4KCSogc3lzZGVwcy9pMzg2L2k1ODYvbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3N1Ym11bF8xLlM6IExpa2V3aXNlLgoKMjAwMC0wNi0yNSAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9tZW1jcHkuUzogUmVkZWZpbmUgbWVtY3B5IGFzIG1lbXBjcHksCglub3QgYXMgYmNvcHkuCgoyMDAwLTA2LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9nZW4tOGJpdC1nYXAtMS5zaDogVXBkYXRlIGZvciBuZXcgY2hhcm1hcCBmb3JtYXQuCgkqIGljb252ZGF0YS9nZW4tOGJpdC1nYXAuc2g6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2VuLThiaXQuc2g6IExpa2V3aXNlLgoKCSogaWNvbnYvZ2NvbnZfb3Blbi5jIChfX2djb252X29wZW4pOiBNb3ZlIGNvbW1lbnQgdG8gY29ycmVjdCBwb3NpdGlvbi4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfcmVhZCk6IERvbid0IGFjdHVhbGx5IHJlYWQKCXRoZSBjb3B5IGxvY2FsZSBpZiB3ZSBhcmUgaWdub3JpbmcgdGhlIGNvbnRlbnQuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtYWRkcmVzcy5jIChJTlRfU1RSX0VMRU0pOiBDb3JyZWN0IHRlc3QgZm9yCgl1bmtub3duIGNoYXJhY3Rlci4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmM6IENvcnJlY3QgaGFuZGxpbmcgb2YgZGlmZmVyZW50Cgljb2xsYXRpb24gc2VjdGlvbnMuCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYyAoYWRkX3RvX3JlYWRsaXN0KTogVGFrZSBsb2NhbGUgcG9pbnRlcgoJYXMgZXh0cmEgcGFyYW1ldGVyIGZyb20gd2hpY2ggdG8gY29weSBjYXRlZ29yeSBpbmZvcm1hdGlvbi4KCUNoYW5nZSBhbGwgY2FsbGVycy4KCShsb2FkX2xvY2FsZSk6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmg6IFVwZGF0ZSBwcm90b3R5cGVzIG9mIGFkZF90b19yZWFkbGlzdAoJYW5kIGxvYWRfbG9jYWxlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYzogVXBkYXRlIGNhbGwgdG8gYWRkX3RvX3JlYWRsaXN0LgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jZmlsZS5oOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUta3cuZ3BlcmY6IEFkZCBlbnRyeSBmb3Igc2NyaXB0LgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jZmlsZS10b2tlbi5oOiBBZGQgdG9rX3NjcmlwdC4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGUuYzogVXBkYXRlIGNvcHlyaWdodCB5ZWFyLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmM6IExpa2V3aXNlLgoKMjAwMC0wNi0yMyAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogc3VucnBjL3hkcl9yZWMuYyAoc2V0X2lucHV0X2ZyYWdtZW50KTogRml4IFBSIGxpYmMvMTU0OSwgcGF0Y2ggZnJvbQoJSmVucyBNb2VsbGVyIDxqZW5zLm1vZWxsZXJAd2FpaS5jb20+LgoKMjAwMC0wNi0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtbmFtZS5jIChuYW1lX2ZpbmlzaCk6IEFkZCBtaXNzaW5nIGZvcm1hdAoJc3BlY2lmaWVyIHRvIHRlc3QgZm9yIG5hbWVfZm10LgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWFkZHJlc3MuYyAoaXNvNjM5KTogQ29ycmVjdCBsZW5ndGggb2Ygc3RyaW5nCgllbGVtZW50cy4KCShpc28zMTY2KTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5cy9lbGYuaCAoZWxmX2ZweHJlZ3NldF90KTogRGVmaW5lLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvdXNlci5oIChzdHJ1Y3QgdXNlcl9mcHhyZWdzX3N0cnVjdCk6CglEZWZpbmUuCgoJKiBlbGYvZWxmLmggKE5UX1BSRlBYUkVHKTogRGVmaW5lLgoKMjAwMC0wNi0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvcHRyYWNlLmggKF9fcHRyYWNlX3JlcXVlc3QpOiBEZWZpbmUKCVBUUkFDRV9HRVRGUFhSRUdTIGFuZCBQVFJBQ0VfU0VURlBYUkVHUy4KCjIwMDAtMDYtMjMgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3N5c2NhbGxzLmxpc3Q6IFJlcGxhY2UgYXJnLWNvdW50Cgl3aXRoIHNpZ25hdHVyZXMuCgoyMDAwLTA2LTIzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpY29udi9nY29udl9pbnQuaCAobm9ybV9hZGRfc2xhc2hlcyk6IFByb3RlY3Qgc3VmZml4IGV4cGFuc2lvbi4KCgkqIGlvL3Rlc3Qtc3RhdC5jOiBBZGQgY29weXJpZ2h0IGhlYWRlciwgbWVudGlvbiBNYWNpZWouCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5cy9zeXNjYWxsLmggKFNZU19waXZvdF9yb290LAoJU1lTX21pbmNvcmUsIFNZU19tYWR2aXNlKTogQWRkZWQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IEZpeCBzaWduYXR1cmUgb2YKCWV4ZWN2ZS4KCjIwMDAtMDYtMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1nZXR3YyBhbmQgdHN0X3B1dHdjLgoJKENGTEFHUy10c3RfcHV0d2MuYyk6IE5ldyBkZWZpbml0aW9uLgoJKiBsaWJpby90c3RfZ2V0d2MuYzogTmV3IGZpbGUuCgkqIGxpYmlvL3RzdF9nZXR3Yy5pbnB1dDogTmV3IGZpbGUuCgkqIGxpYmlvL3RzdF9wdXR3Yy5jOiBOZXcgZmlsZS4KCgkqIGluY2x1ZGUvc3RyaW5nLmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fc3RyZHVwLgoKMjAwMC0wNi0yMiAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzY2FsbHMubGlzdCAoc3lzX21rbm9kKTogRml4IHNpZ25hdHVyZXMuCgkqIHN5c2RlcHMvdW5peC9pbmV0L3N5c2NhbGxzLmxpc3QgKGFjY2VwdCwgZ2V0cGVlcm5hbWUsIGdldHNvY2tuYW1lKToKCUZpeCBzaWduYXR1cmVzLgoKMjAwMC0wNi0yMyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2lhNjQvbWVtY3B5LlM6IERpc2FibGUgYnJhbmNoIHByZWRpY3QgaW5zdHJ1Y3Rpb24uCgoyMDAwLTA2LTIyICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zdGF0ZnMuaDogTmV3IGZpbGUuCgoyMDAwLTA2LTIyICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHNobGliLXZlcnNpb25zOiBCdW1wIHNvIHZlcnNpb25zIHRvIDYuMSBmb3IgbGliYyBhbmQgbGlibSBvbiB0aGUKCWlhNjQgdG8gYWxsb3cgMi4yKyBsaWJyYXJpZXMgdG8gY29leGlzdCB3aXRoIDIuMSBvbmVzLgoKMjAwMC0wNi0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpby9zeXMvc3RhdC5oOiBEZWZpbmUgU19UWVBFSVNNUSwgU19UWVBFSVNTRU0sIGFuZCBTX1RZUEVJU1NITS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc3RhdC5oOiBEZWZpbmUgX19TX1RZUEVJU01RLCBfX1NfVFlQRUlTU0VNLAoJYW5kIF9fU19UWVBFSVNTSE0uCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2JzZC9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ic2Qvb3NmL2FscGhhL2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9pcml4NC9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2hwdXgvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9zeXN2NC9pMzg2L2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3Yvc3lzdjQvc29sYXJpczIvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBtYW51YWwvZmlsZXN5cy50ZXhpOiBEb2N1bWVudCBTX1RZUEVJU01RLCBTX1RZUEVJU1NFTSwgYW5kCglTX1RZUEVJU1NITS4KCjIwMDAtMDYtMjIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzY2FsbHMubGlzdDogUmVwbGFjZSBhcmctY291bnQKCXdpdGggc2lnbmF0dXJlcy4KCgkqIGVsZi9kbC1yZWxvYy5jIChfZGxfcmVsb2NhdGVfb2JqZWN0KTogRml4IHR5cG9zLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXNjYWxscy5saXN0OiBGaXggc3lzY3RsIGVudHJ5LgoKMjAwMC0wNi0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl90cmFucy5jOiBNb3ZlIGluaXRpYWxpemF0aW9uIG9mIHdpbmJ1ZiBhbmQgd2luYnVmZW5kCglhaGVhZC4KCjIwMDAtMDYtMjEgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogTWFrZXJ1bGVzIChlbGlkZS1yb3V0aW5lcy4qLCBlbGlkZS1icC10aHVua3MpOgoJRGVmaW5lIHVuY29uZGl0aW9uYWxseS4KCjIwMDAtMDYtMjEgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9NYWtlZmlsZTogTmV3IGZpbGUuCgoyMDAwLTA2LTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpby9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdGVzdC1zdGF0LgoJKENGTEFHUy10ZXN0LXN0YXQuYyk6IE5ldy4KCgkqIGlvL3Rlc3Qtc3RhdC5jOiBOZXcgZmlsZSBmcm9tIE1hY2llaiBXLiBSb3p5Y2tpCgk8bWFjcm9AZHMyLnBnLmdkYS5wbD4uCgoyMDAwLTA2LTIxICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9yZXNvdXJjZS5oOiBSZW9yZGVyIGVsZW1lbnRzCglpbiBfX3JsaW1pdF9yZXNvdXJjZSB0byBtYWtlIHRoZW0gbWF0Y2ggdGhlIGtlcm5lbCBvcmRlci4KCXJsaW1fdCBpcyBhbHdheXMgNjQgYml0LCB1c2UgX19ybGltNjRfdCB0byBkZWNsYXJlIGl0Cgl1bmNvbmRpdGlvbmFsbHkuCgoyMDAwLTA1LTA0ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9yZXNvdXJjZS5oOiBVbmRlZgoJUkxJTV9JTkZJTklUWSBiZWZvcmUgZGVmaW5pbmcgaXQgdG8gYXZvaWQgY2xhc2ggd2l0aCBrZXJuZWwgaGVhZGVyCgoyMDAwLTA1LTAzICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9yZXNvdXJjZS5oOiBOZXcgZmlsZS4KCjIwMDAtMDYtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9WZXJzaW9uczogTmV3IGZpbGUuCgoyMDAwLTA2LTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzdGRpby1jb21tb24vdGVtcHRlc3QuYzogSW5jbHVkZSA8c3RkbGliLmg+LgoJKiBzdGRpby1jb21tb24vdHN0LWZpbGVuby5jOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3NjYW5mNC5jOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3NjYW5mNS5jOiBMaWtld2lzZS4KCSogdGltZS9jbG9ja3Rlc3QuYzogTGlrZXdpc2UuCgkqIHBvc2l4L3Rlc3QtdmZvcmsuYzogTGlrZXdpc2UuCgkqIHBvc2l4L2dsb2J0ZXN0LmM6IExpa2V3aXNlLgoJKiBpby90ZXN0LXV0aW1lLmM6IExpa2V3aXNlLgoJKiB3Y3R5cGUvdGVzdF93Y2Z1bmNzLmM6IExpa2V3aXNlLgoJKiBjcnlwdC9jZXJ0LmM6IExpa2V3aXNlLgoKCSogc3RkaW8tY29tbW9uL3RzdC1wcmludGZzei5jOiBJbmNsdWRlIDxzdHJpbmcuaD4uCgkqIGxpYmlvL3RzdF9zd3NjYW5mLmM6IExpa2V3aXNlLgoJKiBsaWJpby90c3Rfd3NjYW5mLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9ydW50ZXN0cy5jOiBMaWtld2lzZS4KCSogcG9zaXgvdHN0LWdldGFkZHJpbmZvLmM6IExpa2V3aXNlLgoJKiBwb3NpeC93b3JkZXhwLXRlc3QuYzogTGlrZXdpc2UuCgkqIG1pc2MvdHN0LWVmZ2N2dC5jOiBMaWtld2lzZS4KCgkqIHN0ZGxpYi90c3QteHBnLWJhc2VuYW1lLmM6IEluY2x1ZGUgPHN0ZGxpYi5oPiBhbmQgPHN0cmluZy5oPi4KCSogbnNzL3Rlc3QtbmV0ZGIuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IEFkZCBjaGVjayBmb3IgbWluaW1hbAoJc3VwcG9ydGVkIGtlcm5lbCBmb3IgTUlQUy4KCgkqIGVsZi92aXNtb2QyLmM6IEluY2x1ZGUgPHN0ZGxpYi5oPiBmb3IgYWJvcnQgcHJvdG90eXBlLgoJKiBydC9haW9fc3VzcGVuZC5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jOiBJbmNsdWRlIDxzdHJpbmcuaD4uCgoyMDAwLTA2LTIwICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogTmV3IGZpbGUuCgoyMDAwLTA2LTIwICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbWFjaGluZS1nbW9uLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3Byb2ZpbC1jb3VudGVyLmg6IE5ldyBmaWxlLgoKMjAwMC0wNi0yMCAgRGF2aWQgTW9zYmVyZ2VyLVRhbmcgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0cGFnZXNpemUuYzogTmV3IGZpbGUuCgoyMDAwLTA2LTIwICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzL3Vjb250ZXh0Lmg6IEZpeCB0eXBvLgoKMjAwMC0wNi0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChpbnNlcnRfdmFsdWUpOiBOb3cgdGFrZSBzdHJpbmcgYW5kCglsZW5ndGggaW5zdGVhZCBvZiBzdHJ1Y3QgdG9rZW4qIHBhcmFtZXRlci4gIEFkanVzdCB1c2Ugb2YgdG9rZW4uCgkoaGFuZGxlX2VsbGlwc2lzKTogTGlrZXdpc2UuCgkoY29sbGF0ZV9yZWFkKTogQWxsb3cgPFV4eHh4PiBuYW1lcyBhbmQgdHJhbnNmb3JtIHRoZW0gaW50byBuYW1lcwoJdG8gYmUgcGFzc2VkIHRvIGluc2VydF92YWx1ZSBhbmQgaGFuZGxlX2VsbGlwc2lzLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKHVuaW5hbWVzKTogTmV3IGFycmF5IHdpdGggbmFtZXMgb2YKCWRpZ2l0cyBpbiA8VXh4eHh4eHh4PiBmb3JtYXQuCgkoY3R5cGVfZmluaXNoKTogQ29ycmVjdCBzZWFyY2ggZm9yIHNwYWNlIGNoYXJhY3RlciB2YWx1ZS4gIExpa2V3aXNlCglmb3IgZGVmYXVsdCBvdXRkaWdpdHMgdmFsdWVzLgoKMjAwMC0wNi0yMCAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBNYWtlcnVsZXMgKG9iamVjdHMpOiBBZGQgQlAgdGh1bmtzLgoKMjAwMC0wNi0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC5jIChwYXJzZV9jaGFybWFwKTogSGFuZGxlIFVDUyBuYW1lcyBhbHNvCglpbiB3aWR0aCBkZWZpbml0aW9ucy4KCjIwMDAtMDYtMjAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9mcHUvbGlibS10ZXN0LXVscHM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9taXBzL2ZwdS9mZXNldGVudi5jIChfX2Zlc2V0ZW52KTogRmx1c2ggZnB1IHBpcGVsaW5lCglmaXJzdC4KCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmVob2xkZXhjcHQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZyYWlzZWV4Y3B0LmM6IE5ldyBmaWxlLgoKMjAwMC0wNi0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9idWlsdGluLmMgKEJVSUxUSU5fVFJBTlNGT1JNQVRJT04pOiBVcGRhdGUgZm9yCgljaGFuZ2UgaW4gZ2NvbnZfYnVpbHRpbi5oLgoKCSogbWFsbG9jL01ha2VmaWxlOiBDaGFuZ2UgYWxsIHJlZmVyZW5jZXMgdG8gbWVtcHJvZiBpbnRvIG1lbXVzYWdlLgoJKiBtYWxsb2MvbWVtcHJvZi5jOiBSZW5hbWUgdG8uLi4KCSogbWFsbG9jL21lbXVzYWdlLmM6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogbWFsbG9jL21lbXByb2Yuc2g6IFJlbmFtZSB0by4uLgoJKiBtYWxsb2MvbWVtdXNhZ2Uuc2g6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogbWFsbG9jL21lbXByb2ZzdGF0LmM6IFJlbmFtZSB0by4uLgoJKiBtYWxsb2MvbWVtdXNhZ2VzdGF0LmM6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvYWxwaGEvbWVtdXNhZ2UuaDogLi4udGhpcy4gIE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FybS9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvYXJtL21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL21lbXByb2YuaDogUmVuYW1lIHRvLi4KCSogc3lzZGVwcy9nZW5lcmljL21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9pMzg2L21lbXByb2YuaDogUmVuYW1lIHRvLi4KCSogc3lzZGVwcy9pMzg2L21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L21lbXByb2YuaDogUmVuYW1lIHRvLi4KCSogc3lzZGVwcy9pYTY0L21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9tNjhrL21lbXByb2YuaDogUmVuYW1lIHRvLi4KCSogc3lzZGVwcy9tNjhrL21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9taXBzL21lbXByb2YuaDogUmVuYW1lIHRvLi4KCSogc3lzZGVwcy9taXBzL21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL21lbXByb2YuaDogUmVuYW1lIHRvLi4KCSogc3lzZGVwcy9wb3dlcnBjL21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9zcGFyYy9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvc3BhcmMvbWVtdXNhZ2UuaDogLi4udGhpcy4gIE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL21lbXByb2YuaDogUmVuYW1lIHRvLi4KCSogc3lzZGVwcy9zaC9tZW11c2FnZS5oOiAuLi50aGlzLiAgTmV3IGZpbGUuCgoJKiBlbGYvc3Byb2YuYyAocHJpbnRfdmVyc2lvbik6IFVwZGF0ZSB5ZWFyLgoKCSogZWxmL3Nwcm9mLmMgKGxvYWRfc2hvYmopOiBEb24ndCBhbHdheXMgYWRkIGxvYWQgYWRkcmVzcyB0byBkeW5hbWljCgl0YWJsZSBlbnRyeSB2YWx1ZXMuICBVc2UgRF9QVFIuCgkqIGVsZi9kbC1yZWxvYy5jIChfZGxfcmVsb2NhdGVfb2JqZWN0KTogRG9uJ3Qgc3RhcnQgcHJvZmlsaW5nIHdlaXJkCgliaW5hcmllcyB3aXRob3V0IFBMVC4gIFBhdGNoZXMgYnkgSmFtZXMgTWF0aGllc2VuIDxqYW1lc0BjdXJsLmNvbT4uCgoyMDAwLTA2LTIwICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvTWFrZWZpbGU6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5cy9pby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXMvcHJvY2ZzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5cy91Y29udGV4dC5oOiBOZXcgZmlsZS4KCjIwMDAtMDUtMDUgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL2ZjbnRsLmg6IE5ldyBmaWxlLgoKMjAwMC0wNi0xNiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3hzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Z4c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9seHN0YXQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3hzdGF0Y29udi5jOiBEZWxldGVkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3N0YXQuaDogVXBkYXRlIGFmdGVyIGxhdGVzdAoJa2VybmVsIGNoYW5nZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy90eXBlcy5oOiBNYWtlIF9faW5vX3QsCglfX25saW5rX3QgYW5kIF9fYmxrY250X3QgNjQgYml0IHRvIGFjY29tb2RhdGUgbmV3IGtlcm5lbCBzdGF0IGRhdGEKCXN0cnVjdHVyZS4KCUNoYW5nZSBfX2ZzYmxrY250X3QgYW5kIF9fZnNmaWxjbnRfdCB0byA2NCBiaXQgdG8gbWF0Y2gga2VybmVsCglpbXBsZW1lbnRhdGlvbi4KCjIwMDAtMDYtMTUgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9rZXJuZWxfc3RhdC5oOiBEZWxldGVkLgoKMjAwMC0wNi0wOCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L21tYXA2NC5jOiBOZXcgZmlsZS4KCjIwMDAtMDYtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfaW50LmggKHN0cmljdCBnY29udl9tb2R1bGUpOiBSZW1vdmUgYWxsIG1lbWJlcnMKCWFzc29jaWF0ZWQgd2l0aCByZWd1bGFyIGV4cHJlc3Npb25zLiAgVXNlIGEgc2ltcGxlIHN0cmluZyBhcyB0aGUKCWZyb20gbmFtZS4KCSogaWNvbnYvZ2NvbnZfZGIuYzogUmVtb3ZlIGNvZGUgaGFuZGxpbmcgcmVndWxhciBleHByZXNzaW9ucy4KCSogaWNvbnYvZ2NvbnZfY29uZi5jOiBMaWtld2lzZS4KCSogaWNvbnYvaWNvbnZfcHJvZy5jOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5oOiBBZGp1c3QgZm9yIGNoYW5nZSBpbiBnY29udl9jb25mLmMuCgoJKiBpY29udi9nY29udi5oIChfX2djb252X3RyYW5zX2ZjdCk6IEFkZCBuZXcgcGFyYW1ldGVyLgoJR2VuZXJhbCBuYW1lc3BhY2UgY2xlYW51cC4KCShzdHJ1Y3QgX19nY29udl90cmFuc19kYXRhKTogQWRkIG5leHQgZmllbGQuCgkoc3RydWN0IF9fZ2NvbnZfc3RlcF9kYXRhKTogTWFrZSBfX3RyYW5zIGEgcG9pbnRlci4KCSogaWNvbnYvZ2NvbnZfY29uZi5jOiBTcGxpdCBvdXQgY29kZSB0byBmaW5kIGdjb252IGRpcmVjdG9yaWVzIGZyb20KCV9fZ2NvbnZfcmVhZF9jb25mIGluIG5ldyBmdW5jdGlvbnMuCgkqIGljb252L2djb252X2ludC5oOiBEZWZpbmUgbmV3IGRhdGEgc3RydWN0dXJlIGFuZCBkZWNsYXJlIG5ldwoJZnVuY3Rpb25zIGZvciBoYW5kbGluZyBvZiBnY29udiBkaXJlY3RvcnkgbGlzdC4KCSogaWNvbnYvZ2NvbnZfb3Blbi5jOiBBbGxvdyBtb3JlIHRoYW4gb25lIGVycm9yIGhhbmRsaW5nIHN0ZXAgYmVpbmcKCXVzZWQuICBDYWxsIGZ1bmN0aW9uIHRvIGxvYWQgZXJyb3IgaGFuZGxpbmcgbW9kdWxlIGlmIGl0IGlzIG5vbmUKCW9mIHRoZSBidWlsdGluIHRyYW5zZm9ybWF0aW9ucy4KCSogaWNvbnYvZ2NvbnZfY2xvc2UuYzogQWRkIGNvZGUgdG8gZnJlZSB0cmFuc2xpdGVyYXRpb24gZGF0YS4KCSogaWNvbnYvZ2NvbnZfdHJhbnMuYzogQWRkIGZ1bmN0aW9ucyB0byBsb2FkIGFuZCB1bmxvYWQgbW9kdWxlcwoJaW1wbGVtZW50aW5nIHRyYW5zbGl0ZXJhdGlvbiBldGMuCgkqIGljb252L3NrZWxldG9uLmM6IENhbGwgYWxsIGNvbnRleHQgZnVuY3Rpb25zIG5vdyB0aGF0IG1vcmUgdGhhbgoJb25lIG1vZHVsZSBpcyBhbGxvd2VkLgoJKiBpY29udi9sb29wLmMgKFNUQU5EQVJEX0VSUl9IQU5ETElORyk6IE5ldyBtYWNyby4KCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmM6IFVzZSBTVEFOREFSRF9FUlJfSEFORExJTkcgbWFjcm8gZm9yIHBsYWNlcwoJd2hlcmUgdGhlIGZ1bGwgZXJyb3IgaGFuZGxpbmcgdXNpbmcgdHJhbnNsaXRlcmF0aW9uIGlzIG5lZWRlZC4KCSogaWNvbnZkYXRhLzhiaXQtZ2FwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvOGJpdC1nZW5lcmljLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9iaWc1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWNuLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLXR3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JnYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc282NDYuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc284ODU5LTEuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy0yLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzcuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qb2hhYi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3NqaXMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90LjYxLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdWhjLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3V0Zi0xNi5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9md2lkZS5jOiBSZXNldCBfX3RyYW5zIG1lbWJlciBvZiBfX2djb252X3RyYW5zX2RhdGEKCXN0cnVjdHVyZSBjb3JyZWN0bHkgYWZ0ZXIgbGFzdCBjaGFuZ2UuCgkqIHdjc21icy9idG93Yy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21icnRvd2MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnNucnRvd2NzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzcnRvd2NzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NydG9tYi5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc25ydG9tYnMuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NydG9tYnMuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3RvYi5jOiBMaWtld2lzZS4KCgkqIGxvY2FsZWRhdGEvTWFrZWZpbGU6IFNldCAtV25vLWZvcm1hdCBmb3Igc29tZSBmaWxlcyBzaW5jZSBnY2MgZG9lcwoJbm90IGtub3cgYWxsIHRoZSBmb3JtYXQgc3BlY2lmaWVycy4KCjIwMDAtMDYtMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xvYWRsb2NhbGUuYyAoX25sX3VubG9hZF9sb2NhbGUpOiBSZW1vdmUgYSBiaXQgb2YKCXVubmVlZGVkIGNvZGUuCgkqIGxvY2FsZS9sYy10aW1lLmMgKF9ubF9pbml0X2VyYV9lbnRyaWVzKTogTGlrZXdpc2UuCgoyMDAwLTA2LTE4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oOiBBbHdheXMgdXNlICQyNSBhcyBqdW1wIHJlZ2lzdGVyLgoJUGF0Y2ggYnkgUmFsZiBCYWVjaGxlIDxyYWxmQHVuaS1rb2JsZW56LmRlPi4KCjIwMDAtMDYtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZnBhdGhjb25mLmM6IERlZmluZSBhbmQgdXNlCglMSU5VWF9MSU5LX01BWC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvcGF0aGNvbmYuYzogTGlrZXdpc2UuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfb3V0cHV0KTogUmVhbGx5IHdyaXRlIG91dAoJbWJvdXRkaWdpdHMgaW5mb3JtYXRpb24uCgkqIGxvY2FsZWRhdGEvdHN0LXRyYW5zLmM6IEFkZCBjb2RlIHRvIHRlc3QgcHJpbnRmJ3MgSSBmbGFnIHdpdGggbG9jYWxlLgoJKiBsb2NhbGVkYXRhL3RzdC10cmFucy5zaDogU2V0IEdDT05WX1BBVEggZm9yIGNvbXBpbGF0aW9uIGVudmlyb25tZW50LgoJKiBsb2NhbGVkYXRhL3Rlc3RzL3RyYW5zLmRlZjogQWRkIG91dGRpZ2l0IGluZm9ybWF0aW9uLgoKCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzMy5jOiBSZW1vdmUgY29tbWVudC4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jICh2ZnByaW50Zik6IEZpeCBoYW5kbGluZyBvZiBJIGZsYWcuCgkqIHN0ZGlvLWNvbW1vbi90aWZvcm1hdC5jIChzcHJpbnRfaW50cyk6IEFkZCB0ZXN0cyBmb3IgSSBmbGFnLgoJKiBsaWJpby90c3Rfd3ByaW50Zi5jIChtYWluKTogQWRkIHRlc3QgZm9yIEkgZmxhZy4KCgkqIGljb252L2djb252X3RyYW5zLmM6IEltcGxlbWVudCBoYW5kbGluZyBpZiB0cmFuc2xpdF9pZ25vcmUuCgkqIGxvY2FsZS9sYW5naW5mby5oOiBBZGQgZW50cmllcyBmb3IgdHJhbnNsaXRfaWdub3JlIGluZm9ybWF0aW9uLgoJKiBsb2NhbGUvY2F0ZWdvcmllcy5kZWY6IEFkZCBlbnRyaWVzIGZvciBuZXcgTENfQ1RZUEUgZWxlbWVudHMuCgkqIGxvY2FsZS9DLWN0eXBlLmM6IEFkZCBpbml0aWFsaXplcnMgZm9yIG5ldyBmaWVsZHMuICBVc2UgTlVMTAoJcG9pbnRlciBpbnN0ZWFkIG9mICIiIHdoZXJlIHBvc3NpYmxlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYzogV3JpdGUgb3V0IHRyYW5zbGl0X2lnbm9yZSBpbmZvcm1hdGlvbi4KCSogaW50bC9EZXBlbmQ6IEFkZCBsb2NhbGVkYXRhLgoJKiBpbnRsL3RzdC1nZXR0ZXh0LmM6IENhbGwgc2V0bG9jYWxlIGZvciBMQ19DVFlQRS4KCSogaW50bC90c3QtZ2V0dGV4dC5zaDogU2V0IExPQ1BBVEggdG8gbG9jYWxlZGF0YSBidWlsZCBkaXIuCgoyMDAwLTA2LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sYW5naW5mby5oOiBBZGQgZW50cmllcyBmb3IgZGVmYXVsdF9taXNzaW5nIGluZm9ybWF0aW9uLgoJKiBsb2NhbGUvQy1jdHlwZS5jOiBBZGQgaW5pdGlhbGl6ZXJzIGZvciBuZXcgZmllbGRzLgoJKiBpY29udi9nY29udl90cmFucy5jOiBJZiBub3RoaW5nIG1hdGNoZWQsIHRyeSB0byB1c2UgZGVmYXVsdF9taXNzaW5nCglpbmZvcm1hdGlvbi4KCSogbG9jYWxlL2NhdGVnb3JpZXMuaDogQWRkIGVudHJpZXMgZm9yIGFsbCBMQ19DVFlQRSB2YWx1ZXMuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjdHlwZV9vdXRwdXQpOiBXcml0ZSBvdXQgZGVmYXVsdF9taXNzaW5nCglpbmZvcm1hdGlvbi4KCgkqIGxvY2FsZWRhdGEvdHN0LXRyYW5zLmM6IFdyaXRlIG91dCBhbiBlcnJvciBtZXNzYWdlIGlmIGNsYXNzIGlzCglub3QgZm91bmQuCgoJKiBpY29udi9nY29udl9pbnQuaCAobm9ybV9hZGRfc2xhc2hlcyk6IE9wdGlvbmFsbHkgYWRkIGdpdmVuIHN1ZmZpeC4KCSogaWNvbnYvZ2NvbnZfb3Blbi5jOiBSZW1vdmUgZXJyb3IgaGFuZGxpbmcgc3BlY2lmaWNhdGlvbiBmcm9tIGBmcm9tJwoJY2hhcmFjdGVyIHNldCBuYW1lLgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2xvYWRfZG9tYWluKTogQ2FsbCBub3JtX2FkZF9zbGFzaGVzIHdpdGgKCW5ldyBwYXJhbWV0ZXIgdG8gYWx3YXlzIGVuYWJsZSB0cmFuc2xpdGVyYXRpb24uCgkqIGxvY2FsZS9sb2NhbGVpbmZvLmggKExJTUFHSUMpOiBCdW1wIG51bWJlciBiZWNhdXNlIG9mIGluY29tcGF0aWJsZQoJY2hhbmdlLgoJKHN0cnVjdCBsb2NhbGVfZGF0YSk6IEFkZCBuZXcgbWVtYmVycyB1c2VfdHJhbnNsaXQgYW5kIG9wdGlvbnMuCgkqIGxvY2FsZS9maW5kbG9jYWxlLmMgKF9ubF9maW5kX2xvY2FsZSk6IFNldCB1c2VfdHJhbnNsaXQgZmxhZyBpcwoJY2hhcmFjdGVyIHNldCBuYW1lIGNvbnRhaW5lZCBtb2RpZmllciBUUkFOU0xJVC4KCSogbG9jYWxlL2xvYWRsb2NhbGUuYyAoX25sX2xvYWRfbG9jYWxlKTogSW5pdGlhbGl6ZSBuZXcgdXNlX3RyYW5zbGl0CglhbmQgb3B0aW9ucyBmaWVsZHMuCgkoX25sX3VubG9hZF9sb2NhbGUpOiBGcmVlIG9wdGlvbnMgc3RyaW5nIGlmIG5lY2Vzc2FyeS4KCSogd2NzbWJzL3djc21ic2xvYWQuYyAoX193Y3NtYnNfbG9hZF9jb252KTogRW5hYmxlIHRyYW5zbGF0aW9uIGlmCgl0aGUgbG9jYWxlIG5hbWVzIHN1Z2dlc3RlZCB0aGlzLgoJKiBsb2NhbGUvQy1hZGRyZXNzLmM6IEFkZCB0d28gbmV3IGluaXRpYWxpbHplcnMgdG8gYWRqdXN0IGRhdGEKCXN0cnVjdHVyZSBmb3IgbmV3IGZvcm1hdC4KCSogbG9jYWxlL0MtY29sbGF0ZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtY3R5cGUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLWlkZW50aWZpY2F0aW9uLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1tZWFzdXJlbWVudC5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtbWVzc2FnZXMuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLW1vbmV0YXJ5LmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1uYW1lLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1udW1lcmljLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1wYXBlci5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtdGVsZXBob25lLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy10aW1lLmM6IExpa2V3aXNlLgoKCSogbG9jYWxlL3NldGxvY2FsZS5jOiBBZGQgc29tZSBtb3JlIF9fYnVpbHRpbl9leHBlY3QuCgoyMDAwLTA2LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252LmggKF9fZ2NvbnZfZmN0KTogQ2hhbmdlIHR5cGUgb2YgZmlmdGggcGFyYW1ldGVyIHRvCgl1bnNpZ25lZCBjaGFyICoqLgoJKF9fZ2NvbnZfaW5pdF9mY3QpOiBSZW1vdmUgdHdvIHBhcmFtZXRlcnMuCgkqIGljb252L2djb252X2ludC5oIChfX2djb252X3RyYW5zbGl0ZXJhdGUpOiBSZW5hbWVkIGZyb20KCWdjb252X3RyYW5zbGl0ZXJhdGUuICBSZW1vdmUgdHdvIHBhcmFtZXRlcnMuCglDaGFuZ2UgcHJvdG90eXBlcyBvZiBidWlsdGluIGZ1bmN0aW9ucyBhY2NvcmRpbmcgdG8gX19nY29udl9mY3QgY2hhbmdlLgoJKiBpY29udi9za2VsZXRvbi5jOiBDaGFuZ2UgdHlwZSBvZiBmaWZ0aCBwYXJhbWV0ZXIuICBtYWtlIHN1cmUgaXQgaXMKCSE9IE5VTEwgb25seSBkdXJpbmcgZXJyb3IgaGFuZGxpbmcuICBTdG9wIGluIHRoaXMgY2FzZSBhZnRlciB0aGUKCWNvbnZlcnNpb24uCgkqIGljb252L2djb252X3RyYW5zLmM6IFJlcGxhY2Ugd2l0aCByZWFsIGltcGxlbWVudGF0aW9uIGZvcgoJX19nY29udl90cmFuc2xpdGVyYXRlLgoJKiBpY29udi9nY29udl9vcGVuLmM6IEFkanVzdCBmb3IgcmVuYW1pbmcgb2YgX19nY29udl90cmFuc2xpdGVyYXRlLgoJKiBpY29udi9nY29udi5jOiBDaGFuZ2UgY2FsbHMgdG8gZG93bnN0cmVhbSBmdW5jdGlvbnMgb25jZSBhZ2Fpbi4KCVVzZSBOVUxMIGZvciB0aGUgZmlmdGggcGFyYW1ldGVyIGluc3RlYWQgb2YgcG9pbnRlciB0byBvdXRwdXQgYnVmZmVyLgoJKiBsaWJpby9pb2Z3aWRlLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvYnRvd2MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnJ0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzbnJ0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic3J0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djcnRvbWIuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NucnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzcnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2N0b2IuYzogTGlrZXdpc2UuCgkqIGljb252L2djb252X3NpbXBsZS5jOiBSZW1vdmUgdHdvIHBhcmFtZXRlcnMgZnJvbSBlcnJvciBoYW5kbGluZwoJZnVuY3Rpb24gY2FsbC4KCSogaWNvbnZkYXRhLzhiaXQtZ2FwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvOGJpdC1nZW5lcmljLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9iaWc1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWNuLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLXR3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JnYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc282NDYuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc284ODU5LTEuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy0yLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzcuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qb2hhYi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3NqaXMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90LjYxLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdWhjLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3V0Zi0xNi5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMTUgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IFN0cmlwIGxlYWRpbmcgd2hpdGVzcGFjZSBmcm9tIGxocwoJb2YgY2FsbG51bSBhc3NpZ25tZW50LiAgVG9sZXJhdGUgY2FsbG51bSBleHByZXNzaW9ucyBjb250YWluaW5nCglwYXJlbnMuCgoyMDAwLTA2LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvZ2luL01ha2VmaWxlICh1dG1wZCk6IFJlbW92ZSBydWxlIHRvIGJ1aWxkIHV0bXBkLgoKCSogY3N1L1ZlcnNpb25zOiBNb3ZlIGxpYmdjYyBmcmFtZSBoYW5kbGluZyBmdW5jdGlvbnMgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL1ZlcnNpb25zOiAuLi50byBoZXJlLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9WZXJzaW9uczogLi4udG8gaGVyZS4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L1ZlcnNpb25zOiAuLi50byBoZXJlLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvVmVyc2lvbnM6IC4uLnRvIGhlcmUuLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9WZXJzaW9uczogLi4udG8gaGVyZS4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL1ZlcnNpb25zOiAuLi5hbmQgaGVyZS4KCU5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L1ZlcnNpb25zOiAuLi5hbmQgaGVyZS4gIE5ldyBmaWxlLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGFsbG9jYXRlX2FycmF5cyk6IENvcnJlY3QgYSBjb21tZW50LgoKCSogbWlzYy9zeXNsb2cuYyAodnN5c2xvZyk6IEluaXRpYWxpemUgbXNnb2ZmIGluIGFsbCBjYXNlcy4KCjIwMDAtMDYtMTQgIEthenVtb3RvIEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZmNscmV4Y3B0LmM6IFJlbW92ZSBkZWZpbml0aW9ucyBmb3IgYmFja3dhcmQKCWNvbXBhdGliaWxpdHkuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9mZWdldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZnJhaXNlZXhjcHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9mc2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgoyMDAwLTA2LTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKGxpbmtfd2FybmluZyk6IElmIEhBVkVfU0VDVElPTl9RVU9URVMgaXMKCWRlZmluZWQsIHRlcm1pbmF0ZSBxdW90ZXMgYW5kIHJlYWQgdGhlbSBhZnRlciB0aGUgY29tbWVudCBjaGFyLgoJKiBjb25maWd1cmUuaW4gKEhBVkVfU0VDVElPTl9RVU9URVMpOiBUZXN0IHdoZXRoZXIKCV9fYXR0cmlidXRlX18oKHNlY3Rpb24gKCJ4IikpKSBwdXRzIHF1b3RlcyBhcm91bmQgeCBvciBub3QuCgkqIGNvbmZpZy5oLmluIChIQVZFX1NFQ1RJT05fUVVPVEVTKTogQWRkLgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgoyMDAwLTA2LTE0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IFNldCBsaWJjX2N2X3N5c2NvbmZkaXIKCWRlcGVuZGluZyBvbiB0aGUgY29uZmlndXJlIG9wdGlvbiAtLXN5c2NvbmZkaXIuCglDbG9zZXMgUFIgbGliYy8xNzYyLgoJUGF0Y2ggYnkgQW5kcmVhcyBTY2h3YWIgPHNjaHdhYkBzdXNlLmRlPi4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmg6IFBhc3MgZmluYWxpemVyIGNvcnJlY3RseSB0byB1c2VyCgllbnRyeSBwb2ludC4KCVJlcG9ydGVkIGJ5IEppbSBQaWNrIDxqaW1AamltcGljay5jb20+LgoKMjAwMC0wNi0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtaXNjL3N5c2xvZy5jICh2c3lzbG9nKTogQWxsb3cgb3Blbl9tZW1zdHJlYW0gdG8gZmFpbCB3aXRob3V0CgljcmFzaGluZyB0aGUgYXBwbGljYXRpb24uICBFbWl0IHNvbWUgc2ltcGxlIGVycm9yIG1lc3NhZ2UuCglSZXBvcnRlZCBieSBtanVAcGFuYXNhcy5jb20gW1BSIGxpYmMvMTc2OV0uCgoyMDAwLTA2LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBtZW1wcm9mLnNoIGFuZCBtZW1wcm9mc3RhdC5jLgoKCSogY3J5cHQvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgbWQ1LmguCgoJKiBNYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBpbmNsdWRlL3NobGliLWNvbXBhdC5oLgoKCSogTWFrZS1kaXN0OiBTZWFyY2ggZm9yIHRlc3RzIGFsc28gaW4gc3lzZGVwcyBoaWVyYWNoeS4KCgkqIGNyeXB0L01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHVmYy1jcnlwdC5oLCBjcnlwdC1wcml2YXRlLmgsCgl1ZmMuYywgc3BlZWRzLmMsIFJFQURNRS51ZmMtY3J5cHQsIGFuZCBCYW5uZXIuCgoJKiBzeXNkZXBzL3NwYXJjL1N1YmRpcnM6IE5ldyBmaWxlLgoKCSogbG9jYWxlL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHdlaWdodHdjLmggYW5kCglwcm9ncmFtcy9sb2NhbGVkZWYuaC4KCgkqIHRpbWUvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZGF0ZW1zay4KCgkqIHN5c2RlcHMvaWE2NC9EaXN0OiBBZGQgc29mdHBpcGUuaC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9EaXN0OiBOZXcgZmlsZS4KCgkqIHBvc2l4L3NldHBncnAuYzogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy9nZW5lcmljL3NldHBncnAuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBpby9ta25vZC5jOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvbWtub2QuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9EaXN0OiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL0Rpc3Q6IEFkZCBzeXMvcHJvY2ZzLmguCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vRGlzdDogQWRkIG9sZGdldHJsaW1pdDY0LmMuCgoJKiBzeXNkZXBzL3Bvd2VycGMvRGlzdDogQWRkIGZwcnJlc3QuUywgZnByc2F2ZS5TLCBncHJzYXZlMS5TLAoJZ3Byc2F2ZTAuUywgZ3BycmVzdDEuUywgYW5kIGdwcnJlc3QwLlMuCgoJKiBzeXNkZXBzL2dlbmVyaWMvRGlzdDogQWRkIGJwLXRodW5rcy5oLCBicC1zeW0uaCwgYW5kIGJwLXN0YXJ0LmguCgoJKiBwb3NpeC9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgc3Bhd25hdHRyX2dldHNpZ21hc2ssCglzcGF3bmF0dHJfZ2V0c2NoZWRwb2xpY3ksIHNwYXduYXR0cl9nZXRzY2hlZHBhcmFtLAoJc3Bhd25hdHRyX3NldHNpZ21hc2ssIHNwYXduYXR0cl9zZXRzY2hlZHBvbGljeSwgYW5kCglzcGF3bmF0dHJfc2V0c2NoZWRwYXJhbS4KCSogcG9zaXgvVmVyc2lvbnM6IEFkZCBwb3NpeF9zcGF3bmF0dHJfZ2V0c2NoZWRwb2xpY3ksCglwb3NpeF9zcGF3bmF0dHJfc2V0c2NoZWRwb2xpY3ksIHBvc2l4X3NwYXduYXR0cl9nZXRzY2hlZHBhcmFtLCBhbmQKCXBvc2l4X3NwYXduYXR0cl9zZXRzY2hlZHBhcmFtLgoKCSogcG9zaXgvc3Bhd25hdHRyX3NldHNjaGVkcGFyYW0uYzogRml4IHR5cG8uCgoJKiBwb3NpeC9zcGF3bmF0dHJfc2V0c2lnbWFzay5jIChwb3NpeF9zcGF3bmF0dHJfc2V0c2lnbWFzayk6CglDb3JyZWN0IHR5cG8uCgoJKiBsb2dpbi9wcm9ncmFtcy91dG1wZC5jOiBSZW1vdmVkLgoJKiBsb2dpbi9wcm9ncmFtcy91dG1wZC5oOiBSZW1vdmVkLgoJKiBsb2dpbi9wcm9ncmFtcy91dG1wZC1wcml2YXRlLmg6IFJlbW92ZWQuCgoJKiBNYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBpbmNsdWRlL2RiXzE4NS5oIGFuZCBpbmNsdWRlL2RiLmguCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaXNvLWlyLTE2NS5jIGFuZAoJaXNvLWlyLTE2NS5oLgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIG1pc3NpbmcgZmlsZXMuCgoJKiBkbGZjbi9NYWtlZmlsZTogQWRkIGJhY2sgcnVsZXMgdG8gaW5jbHVkZSBldmFsIGluIGxpYmRsLnNvLgoJKiBlbGYvZXZhbC5jOiBNb3ZlZCB0by4uLgoJKiBkbGZjbi9ldmFsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCgkqIE1ha2VmaWxlIChkaXN0cmlidXRlKTogQWxzbyBkaXN0cmlidXRlIENoYW5nZUxvZy4xPy4KCgkqIE1ha2UtZGlzdCAoK3RzcmNzKTogUmVtb3ZlIC5hcmdzIGhhbmRsaW5nIGhlcmUgYXMgd2VsbC4KCgkqIHJ0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtdGltZXIuCgkqIHN5c2RlcHMvZ2VuZXJpYy90c3QtdGltZXIuYzogTmV3IGZpbGUuCgoJKiBNYWtlcnVsZXMgKHNvdXJjZXMpOiBEb24ndCBhZGQgQlAgc291cmNlcyBoZXJlLgoKCSogbG9naW4vTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBSZW1vdmUgeHRtcC5oLgoKCSogaWNvbnYvaWNvbnZfcHJvZy5jIChtYWluKTogRml4IGFwcGVuZGluZyBzbGFzaGVzIGlmIG9taXRfaW52YWxpZAoJaXMgdHJ1ZS4gIFJlcG9ydGVkIGJ5IEJydW5vIEhhaWJsZSA8aGFpYmxlQGlsb2cuZnI+LgoKMjAwMC0wNi0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2VsZi9zdGFydC5TIChFTlRSWV9QT0lOVCk6IFJlbW92ZSBtaXBzNjQgZGVmaW5lcy4KCVBhdGNoIGJ5IFJhbGYgQmFlY2hsZSA8cmFsZkBnbnUub3JnPi4KCjIwMDAtMDYtMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogQWRkIHBhcmFtZXRlciBpbmZvcm1hdGlvbgoJZm9yIG1pbmNvcmUgc3lzY2FsbC4KCgkqIG1pc2Mvc3lzL2NkZWZzLmg6IERlZmluZSBfX2JvdW5kZWQgYW5kIF9fdW5ib3VuZGVkIGlmCglfX0JPVU5ERURfUE9JTlRFUlNfXyBpcyBub3QgZGVmaW5lZC4KCjIwMDAtMDYtMDcgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2JwLXN5bS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2JwLXN0YXJ0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvZWxmL3N0YXJ0LlM6IERlc2lnbmF0ZSBCUCBzeW1ib2xzLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jOiBXcmFwIGJvdW5kcyBhcm91bmQKCWFyZ3YgJiBlbnZwIGFuZCBlYWNoIG9mIHRoZWlyIHN0cmluZyBtZW1iZXJzLgoKMjAwMC0wNi0wNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogQWRkIGNvbW1lbnRzIHRvCglvdXRwdXQgdGhhdCBhaWQgZGVidWdnaW5nICYgY29tcHJlaGVuc2lvbi4KCU1hcCBzaW1wbGUgc3lzY2FsbCBzaWduYXR1cmVzIHRvIG51bWJlciBvZiBhcmdzLgoJR2VuZXJhdGUgQlAgc3lzY2FsbCB0aHVuayBkZWZpbml0aW9ucy4KCSogc3lzZGVwcy9nZW5lcmljL2JwLXRodW5rcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c2NhbGxzLmxpc3Q6IFJlcGxhY2UgYXJnLWNvdW50IHdpdGgKCXNpbXBsZSByZXR1cm4rYXJnIHNpZ25hdHVyZS4KCSogc3lzZGVwcy91bml4L2NvbW1vbi9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2luZXQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9tbWFuL3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgoyMDAwLTA2LTA3ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIE1ha2Vjb25maWcgKENQUEZMQUdTLS5vYik6IFBhc3MgLWZib3VuZGVkLXBvaW50ZXJzCglmb3IgYWxsIGZpbGVzICouW2NTXS4KCShDRkxBR1MtLm9iKTogRG9uJ3Qgb3B0aW1pemUgc2libGluZyBjYWxscy4KCShicHBmeCk6IE5ldyB2YXJpYWJsZS4KCSogTWFrZXJ1bGVzIChlbGlkZS1icC10aHVua3MpOiBOZXcgdmFyaWFibGUuCgkoZWxpZGUtcm91dGluZXMuKik6IEVsaWRlIEJQLSogZmlsZXMgZm9yIGFsbCBidXQgKi5vYi4KCShzb3VyY2VzKTogSW5jbHVkZSBicC10aHVua3MuCgoyMDAwLTA2LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X3NpbXBsZS5jOiBSZW1vdmUgdW5uZWNlc3NhcnkgcHJvdG90eXBlLgoKCSogaWNvbnYvZ2NvbnZfdHJhbnMuYzogUHJldHR5IHByaW50LgoKCSogZWxmL2VsZi5oIChSX1NIX05VTSk6IEdvdCBhY2NpZGVudGx5IGRyb3BwZWQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IEltcHJvdmUgaGFuZGxpbmcgb2YKCW1pbmltYWwga2VybmVsIHZlcnNpb25zLiAgQWRkIGluZm9ybWF0aW9uIGFib3V0IElBLTY0IGtlcm5lbC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZS5pbjogQWxsb3cgYXJjaGl0ZWN0dXJlCglzcGVjaWZpYyBtaW5pbWFsIHN1cHBvcnRlZCBrZXJuZWwgdmVyc2lvbnMgdG8gYmUgc3BlY2lmaWVkLgoKCSogbGliaW8vaW9md2lkZS5jIChfSU9fZndpZGUpOiBJbml0aWFsaXplIHRyYW5zbGl0ZXJhdGlvbiBwYXJ0IG9mCglzdGVwIGRhdGEgc3RydWN0dXJlLgoJKiB3Y3NtYnMvYnRvd2MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnJ0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzbnJ0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic3J0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djcnRvbWIuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NucnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzcnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2N0b2IuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9EaXN0OiBUaGVyZSBpcyBubyBpb3Blcm0gZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvb2xkZ2V0cmxpbWl0NjQuYzogUmVtb3ZlZC4KCgkqIHNobGliLXZlcnNpb25zOiBFYXJsaWVzdCBiYWNrd2FyZCBjb21wYXRpYmxlIHZlcnNpb24gZm9yIFNIIGlzIDIuMi4KCgkqIG1pc2Mvc3lzL2NkZWZzLmg6IFJlbW92ZSBvbmUgbW9yZSBfX1AuCgoJKiBzeXN2aXBjL3N5cy9zaG0uaDogTW92ZSBfX2dldHBhZ2VzaXplIGRlY2xhcmF0aW9uIGluc2lkZSBleHRlcm4gQy4KCVJlcG9ydGVkIGJ5IEhKIEx1LgoKCSogc3lzZGVwcy9zaC9zaDMvYml0cy9zZXRqbXAuaDogUmVtb3ZlZC4KCSogc3lzZGVwcy9zaC9zaDQvYml0cy9zZXRqbXAuaDogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy9zaC9iaXRzL3NldGptcC5oOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgoyMDAwLTA2LTEyICBLYXp1bW90byBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoJICAgIFl1dGFrYSBOaWliZSAgPGduaWliZUBjaHJvb3Qub3JnPgoKCSogY29uZmlndXJlLmluOiBBZGQgbWFjaGluZSBzaDMsIHNoNC4KCSogZWxmL2VsZi5oOiBBZGQgU0ggc3BlY2lmaWMgZGVjbGFyYXRpb25zIG9mIHJlbG9jYXRpb25zLgoJKiBzaGxpYi12ZXJzaW9uczogQWRkIHNoKi0qLWxpbnV4KiBjYXNlcy4KCjIwMDAtMDYtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zaC9zaDMvYnNkLV9zZXRqbXAuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3NoL2JzZC1fc2V0am1wLlM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvYnNkLV9zZXRqbXAuUzogUmVtb3ZlZC4KCSogc3lzZGVwcy9zaC9zaDMvYnNkLXNldGptcC5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvc2gvYnNkLXNldGptcC5TOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2JzZC1zZXRqbXAuUzogUmVtb3ZlZC4KCgkqIHN5c2RlcHMvc2gvZGwtbWFjaGluZS5oIChGR1JfU0FWRSk6IFByb3RlY3QgdXNpbmcgSEFWRV9GUFUgbWFjcm8KCWluc3RlYWQgb2YgS0VSTkVMX01BVEhfRU1VTEFUSU9OLgoJKiBzeXNkZXBzL3NoL3NoNC9kbC1tYWNoaW5lLmg6IERlZmluZSBIQVZFX0ZQVSBub3QKCUtFUk5FTF9NQVRIX0VNVUxBVElPTi4KCgkqIHN5c2RlcHMvc2gvRGlzdDogUmVtb3ZlZC4gIFRoZXJlIGlzIG5vIGllZWU3NTQuaCBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoMy9kbC1tYWNoaW5lLmg6IE1vdmVkIHRvLi4uCgkqIHN5c2RlcHMvc2gvZGwtbWFjaGluZS5oOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2RsLW1hY2hpbmUuaDogU2ltcGx5IGRlZmluZSBLRVJORUxfTUFUSF9FTVVMQVRJT04KCWFuZCBpbmNsdWRlIGdlbmVyaWMgU0ggdmVyc2lvbi4KCSogc3lzZGVwcy9zaC9zaDMvYml0cy9lbmRpYW4uaDogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3NoL2JpdHMvZW5kaWFuLmg6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvYml0cy9lbmRpYW4uaDogUmVtb3ZlZC4KCSogc3lzZGVwcy9zaC9zaDMvYml0cy9odWdlX3ZhbC5oOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvc2gvYml0cy9odWdlX3ZhbC5oOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2JpdHMvaHVnZV92YWwuaDogUmVtb3ZlZC4KCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKGxpbmtfd2FybmluZyk6IFdvcmsgYXJvdW5kIGEgY2hhbmdlIGluCglHQVMgd2hpY2ggd2FybnMgYWJvdXQgY2hhbmdpbmcgc2VjdGlvbiBhdHRyaWJ1dGVzLgoJUHJvcG9zZWQgYnkgTmljayBDbGlmdG9uIDxuaWNrY0ByZWRoYXQuY29tPi4KCjIwMDAtMDYtMTIgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmggKF9fc2duMWwpOiBBZGQgX19leHRlbnNpb25fXy4KCjIwMDAtMDYtMTEgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvVmVyc2lvbnM6IE5ldyBmaWxlLgoKMjAwMC0wNi0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udi5oIChfX2djb252X3RyYW5zX2NvbnRleHRfZmN0KTogUmVtb3ZlIHR3bwoJcGFyYW1ldGVycy4KCSogaWNvbnYvc2tlbGV0b24uYyAoRlVOQ1RJT05fTkFNRSk6IENhbGwgX190cmFuc19jb250ZXh0X2ZjdCBpZiBpdAoJZXhpc3RzLgoKMjAwMC0wNi0xMiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2tlcm5lbF9zdGF0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3hzdGF0Y29udi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3N0YXQuaDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Z4c3RhdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2x4c3RhdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3hzdGF0NjQuYzogTmV3IGZpbGUuCgoyMDAwLTA2LTEyICBLYXp1bW90byBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoJICAgIFl1dGFrYSBOaWliZSAgPGduaWliZUBjaHJvb3Qub3JnPgoKCSogc3lzZGVwcy9zaC9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9JbXBsaWVzOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9lbGYvaW5pdGZpbmkuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvZ21wLW1wYXJhbS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9pbml0LWZpcnN0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL21hY2hpbmUtZ21vbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9tZW1jcHkuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvbWVtcHJvZi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9tZW1zZXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2gzL19fbG9uZ2ptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDMvYml0cy9lbmRpYW4uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2gzL2JpdHMvaHVnZV92YWwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2gzL2JpdHMvc2V0am1wLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoMy9ic2QtX3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDMvYnNkLXNldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDMvZGwtbWFjaGluZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDMvc2V0am1wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9fX2xvbmdqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2JpdHMvZW5kaWFuLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9iaXRzL2h1Z2VfdmFsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9iaXRzL3NldGptcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvYnNkLV9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2JzZC1zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2RsLW1hY2hpbmUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9iaXRzL2ZlbnYuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9iaXRzL2h1Z2VfdmFsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvYml0cy9tYXRoZGVmLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZmNscmV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZmVnZXRlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9mZWdldHJvdW5kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZmVob2xkZXhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9mZXNldGVudi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2Zlc2V0cm91bmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9mcHVfY29udHJvbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2ZyYWlzZWV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZnNldGV4Y3B0ZmxnLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZnRlc3RleGNlcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9saWJtLXRlc3QtdWxwczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9lbGYvc3RhcnQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc3lzL3Vjb250ZXh0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3N0cmxlbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zaC9zeXNkZXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zaC9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL0Rpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL1ZlcnNpb25zOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvYml0cy9tbWFuLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9iaXRzL3Jlc291cmNlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9icmsuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2Nob3duLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9jbG9uZS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvZmNob3duLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9meHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2dldGVnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2dldGV1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2dldGdyb3Vwcy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvZ2V0cmVzZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9nZXRyZXN1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2dldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2dldHVpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvbGNob3duLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9seHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL21zZ2N0bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvb2xkZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3BpcGUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3Byb2ZpbC1jb3VudGVyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZW1jdGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldGVnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldGV1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldGZzZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRmc3VpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2V0Z2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRncm91cHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldHJlZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRyZXNnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldHJlc3VpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2V0cmV1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2V0dWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zaDMvcmVnaXN0ZXItZHVtcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2g0L3JlZ2lzdGVyLWR1bXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NobWN0bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2lnY29udGV4dGluZm8uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NvY2tldC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzL2lvLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXMvdWNvbnRleHQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5cy91c2VyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNjYWxscy5saXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3Zmb3JrLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC94c3RhdC5jOiBOZXcgZmlsZS4KCjIwMDAtMDYtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogUnVsZXMgKCUub3V0KTogRGVmaW5lIEdDT05WX1BBVEggaW4gdGhlIGVudmlyb25tZW50LgoJKiBhc3NlcnQvRGVwZW5kOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL0RlcGVuZDogTmV3IGZpbGUuCgkqIGludGwvRGVwZW5kOiBOZXcgZmlsZS4KCSogdGltZXpvbmUvTWFrZWZpbGUgKGJ1aWxkLXRlc3RkYXRhKTogQWRkIEdDT05WX1BBVEggdG8gZW52aXJvbm1lbnQuCgkqIGludGwvdHN0LWdldHRleHQuc2g6IExpa2V3aXNlLgoJKiBpY29udi9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgZ2NvbnZfdHJhbnMuCgkqIGljb252L2djb252X3RyYW5zLmM6IE5ldyBmaWxlLgoJKiBpY29udi9nY29udi5oIChzdHJ1Y3QgX19nY29udl90cmFuc19kYXRhKTogTmV3IHR5cGUuCgkoX19nY29udl9mY3QpOiBOZXcgcGFyYW1ldGVyIHdpdGggc3RhcnRpbmcgcG9zaXRpb24gaW4gb3V0cHV0IGJ1ZmZlci4KCShfX2djb252X3RyYW5zX2ZjdCwgX19nY29udl90cmFuc19jb250ZXh0X2ZjdCwgX19nY29udl90cmFuc19xdWVyeV9mY3QsCglfX2djb252X3RyYW5zX2luaXRfZmN0LCBfX2djb252X3RyYW5zX2VuZF9mY3QpOiBOZXcgdHlwZXMuCgkoc3RydWN0IF9fZ2NvbnZfc3RlcCk6IEFkZCBuZXcgbWVtYmVyIF9fdHJhbnMuCgkqIGljb252L2djb252X2ludC5oOiBQcmV0dHkgcHJpbnQgcHJvdG90eXBlcy4KCShnY29udl90cmFuc2xpdGVyYXRlKTogTmV3IHByb3RvdHlwZS4KCShfX0JVSUxUSU5fVFJBTlMpOiBVcGRhdGUgZm9yIG5ldyBjb252ZXJzaW9uIGZ1bmN0aW9uIGludGVyZmFjZS4KCSogaWNvbnYvZ2NvbnYuYyAoX19nY29udik6IFBhc3MgbmV3IHBhcmFtZXRlciB0byBjb252ZXJzaW9uIGZ1bmN0aW9uLgoJKiBpY29udi9nY29udl9vcGVuLmMgKF9fZ2NvbnZfb3Blbik6IFJlY29nbml6ZSBlcnJvciBoYW5kbGluZyBzdWZmaXgKCWluIG5hbWVzLCBmaW5kIGFwcHJvcHJpYXRlIGZ1bmN0aW9uLCBhbmQgaW5zdGFsbCBpbiB0aGUgY29udmVyc2lvbgoJc3RlcHMgaXQgY2FuIGJlIHVzZWQuCgkqIGljb252L3NrZWxldG9uLmM6IEFkZCBhZGRpdGlvbmFsIHBhcmFtZXRlciBmb3IgYmVnaW5uaW5nIG9mIG91dHB1dAoJYnVmZmVyLiAgQ2hhbmdlIGNhbGxzIG9mIGRvd25zdHJlYW0gZnVuY3Rpb25zLgoJKiBpY29udi9sb29wLmM6IENoYW5nZSBsb29wIGZ1bmN0aW9uIGludGVyZmFjZSBjb21wbGV0ZWx5LiAgUGFzcyBpbgoJc3RlcCBhbmQgc3RlcF9kYXRhIHN0cnVjdHVyZS4gIFJlbW92ZSBvcHRpbWl6YXRpb24gZm9yIEJPRFkgd2l0aAoJTkVFRF9MRU5HVEhfVEVTVCA9PSAwLgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogVXBkYXRlIGludGVyZmFjZXMgb2YgZnVuY3Rpb25zLiAgSW5zZXJ0CglhcHByb3ByaWF0ZSBlcnJvciBoYW5kbGluZyBjb2RlIHRvIHVzZSB0cmFuc2xpdGVyYXRpb24gc3RlcHMuICBSZW1vdmUKCW9wdGltaXphdGlvbiBmb3IgQk9EWSB3aXRoIE5FRURfTEVOR1RIX1RFU1QgPT0gMC4KCSogaWNvbnZkYXRhLzhiaXQtZ2FwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvOGJpdC1nZW5lcmljLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9iaWc1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWNuLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLXR3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JnYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc282NDYuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc284ODU5LTEuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy0yLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzcuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qb2hhYi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3NqaXMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90LjYxLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdWhjLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3V0Zi0xNi5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9md2lkZS5jOiBBZGp1c3QgdG8gbmV3IGludGVyZmFjZSBvZiBnY29udiBmdW5jdGlvbnMuICBVc2UKCURMX0NBTExfRkNULgoJKiB3Y3NtYnMvYnRvd2MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnJ0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzbnJ0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic3J0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djcnRvbWIuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NucnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzcnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2N0b2IuYzogTGlrZXdpc2UuCgoyMDAwLTA0LTExICBHZW9mZiBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtbWFjaGluZS5jOiBJbmNsdWRlIGRsLW1hY2hpbmUuaCBhZnRlciB0aGUKCW90aGVyIGhlYWRlciBmaWxlcy4gIE1lbnRpb24gYWJvdXQgMTI4LWJ5dGUgY2FjaGUgbGluZSBzaXplcy4KCShfX2VsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IE1ha2UgdHlwZXMgbWF0Y2ggZWxmX21hY2hpbmVfZml4dXBfcGx0LgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOiBVcGRhdGUKCWZvciBjdXJyZW50IGNhbGxpbmcgc2VxdWVuY2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1zdGFydC5TIChfZGxfc3RhcnRfdXNlcik6IENsb3NlIGNvbW1lbnQuCgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L3NfcmludC5jOiBIYW5kbGUgcm91bmRpbmcgdG8gLTAgY29ycmVjdGx5LgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L3NfcmludGYuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3N5c2NhbGxzLmxpc3Q6IEFkZCBnZXRybGltaXQKCWFuZCBzZXRybGltaXQgc3lzY2FsbHMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoKMjAwMC0wNi0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9za2VsZXRvbi5jOiAgUmVuYW1lIGNvbnZlcnRlZCB3cml0dGVuIHRvIGNvcnJlY3RlciBuYW1lCglpcnJldmVyc2libGUuCgkqIGljb252L2djb252LmM6IFJlbmFtZSBjb252ZXJ0ZWQgdmFyaWFibGUgdG8gY29ycmVjdGVyIG5hbWUKCWlycmV2ZXJzaWJsZS4KCSogaWNvbnYvZ2NvbnZfaW50Lmg6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogTGlrZXdpc2UuCgkqIGljb252L2ljb252LmM6IExpa2V3aXNlLgoJKiBpY29udi9sb29wLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvOGJpdC1nYXAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS84Yml0LWdlbmVyaWMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9hbnNpX3gzLjExMC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2JpZzUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9iaWc1aGtzY3MuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMtY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMtanAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmdiay5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diay5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItanAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1rci5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzbzY0Ni5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzbzg4NTktMS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LTIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2pvaGFiLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvc2ppcy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3QuNjEuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91aGMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91bmljb2RlLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdXRmLTE2LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaCAoc3RydWN0IGNtc2doZHIpOiBNYXJrCglfX2Ntc2dfZGF0YSBmaWVsZCB3aXRoIF9fZXh0ZW5zaW9uX18uCgoyMDAwLTA2LTEwICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbC5TOiBGaXggaXQgc28gaXQgYWN0dWFsbHkgd29ya3MuCgoyMDAwLTA2LTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X3NpbXBsZS5jOiBGaXggdmFyaW91cyBzbWFsbCBidWdzIGluIHNldmVyYWwKCWZ1bmN0aW9ucy4KCgkqIGljb252L2xvb3AuYzogRml4IGNvbW1lbnQuCgoyMDAwLTA2LTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9saW5rLmg6IFJlbW92ZSBsaWJjIGludGVybmFsIGRlY2xhcmF0aW9ucy4KCSogaW5jbHVkZS9saW5rLmg6IE1vdmUgdGhlbSBoZXJlLgoKMjAwMC0wNi0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldHN5c3N0YXRzLmM6IE5ldyBmaWxlLgoJUGF0Y2ggYnkgRGFuIFBvcCA8RGFuLlBvcEBjZXJuLmNoPi4KCglSZXdyaXRlIGVycm9yIG1lc3NhZ2UgaGFuZGxpbmcuCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBQYXNzIG5ldyBwYXJhbWV0ZXIgdG8KCV9kbF9jYXRjaF9lcnJvci4KCSogZWxmL2RsLWVycm9yIChzdHJ1Y3QgY2F0Y2gpOiBBZGQgb2JqbmFtZSBtZW1iZXIuCgkoX2RsX3NpZ25hbF9lcnJvcik6IFRha2UgbmV3IHBhcmFtZXRlciB3aXRoIG9iamVjdCBuYW1lLiAgV2hlbgoJcGFzc2luZyBtZXNzYWdlIG9uIHNpbXBseSBzdG9yZSBvYmplY3QgbmFtZSBhbmQgZHVwbGljYXRlIGVycm9yCgltZXNzYWdlLgoJKF9kbF9jYXRjaF9lcnJvcik6IFRha2UgbmV3IHBhcmFtZXRlci4gIFN0b3JlIG9iamVjdCBuYW1lIGluIHRoZQoJcGxhY2UgcG9pbnRlZCB0by4KCSogaW5jbHVkZS9kbGZjbi5oOiBBZGp1c3QgX2RsX2NhdGNoX2Vycm9yIHByb3RvdHlwZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IEFkanVzdCBfZGxfc2lnbmFsX2Vycm9yIHByb3RvdHlwZS4KCSogZGxmY24vZGxlcnJvci5jIChzdHJ1Y3QgZGxfYWN0aW9uX3Jlc3VsdCk6IEFkZCBvYmpuYW1lIG1lbWJlci4KCShkbGVycm9yKTogQWRkIG9iam5hbWUgdG8gYXNwcmludGYoKSBwYXJhbWV0ZXJzLgoJKF9kbF9lcnJvcl9ydW4pOiBQYXNzIG5ldyBwYXJhbWV0ZXIgdG8gX2RsX2NhdGNoX2Vycm9yLgoJKiBlbGYvZGwtbGliYy5jIChkbGVycm9yX3J1bik6IFBhc3MgbmV3IHBhcmFtZXRlciB0byBfZGxfY2F0Y2hfZXJyb3IuCgkqIGVsZi9kbC1vcGVuLmMgKF9kbF9vcGVuKTogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBMaWtld2lzZS4KCSogZWxmL2RsLWNsb3NlLmM6IE1hcmsgZXJyb3IgbWVzc2FnZXMgd2l0aCBOXygpLgoJKiBlbGYvZGwtZGVwcy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWVycm9yLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9hZC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLW9wZW4uYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1yZWxvYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXN1cHBvcnQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1zeW0uYzogTGlrZXdpc2UuCgkqIGVsZi9kbC12ZXJzaW9uLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9va3VwLmM6IEFkZCBjb21tZW50cyBhYm91dCBwcm9ibGVtcyB3aXRoIGVycm9yIG1lc3NhZ2UKCXRyYW5zbGF0aW9ucy4KCSogZWxmL2RsLXJlbG9jLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtdmVyc2lvbi5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMDkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGRsZmNuL2RsZXJyb3IuYyAoX2RsZXJyb3JfcnVuKTogU2V0IHJlc3VsdC0+ZXJyc3RyaW5nIHRvIE5VTEwKCWFmdGVyIGZyZWVpbmcgaXQuCgoJKiBkbGZjbi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBmYWlsdGVzdG1vZC5jLgoJKHRlc3RzKTogQWRkIGZhaWx0ZXN0LgoJQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gZmFpbHRlc3QuCgkqIGRsZmNuL2ZhaWx0ZXN0LmM6IE5ldyBmaWxlLgoJKiBkbGZjbi9mYWlsdGVzdG1vZC5jOiBOZXcgZmlsZS4KCjIwMDAtMDYtMDkgIERhdmlkIE1vc2Jlcmdlci1UYW5nICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L19fbG9uZ2ptcC5TOiBuZXcgZmlsZQoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JzZC1fc2V0am1wLlM6IG5ldyBmaWxlCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYnNkLXNldGptcC5TOiBuZXcgZmlsZQoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NldGptcC5TOiBuZXcgZmlsZQoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2V0am1wLmg6IG5ldyBmaWxlCgoyMDAwLTA2LTA5ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYnJrLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3BpcGUuUzogTmV3IGZpbGUuCgoyMDAwLTA2LTA5ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCSAgICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lnYWN0aW9uLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3BlbmRpbmcuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lncHJvY21hc2suYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lnc3VzcGVuZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NpZ2FjdGlvbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NpZ3N0YWNrLmg6IE5ldyBmaWxlLgoKMjAwMC0wNi0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1fb3Blbi5jICh3aGVyZV9pc19zaG1mcyk6IFRyeSBoYXJkZXIKCXRvIGZpbmQgY29ycmVjdCBtb3VudCBwb2ludCBkZXNwaXRlIHdyb25nIGluZm9ybWF0aW9uIGZyb20gdGhlCglrZXJuZWwuCgoyMDAwLTA2LTA5ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIGVsZi9kbC1saWJjLmMgKF9fbGliY19kbHN5bSk6IFVzZSBETF9TWU1CT0xfQUREUkVTUygpIHRvIG9idGFpbgoJdGhlIGFkZHJlc3Mgb2YgYSBzeW1ib2wgc28gZnVuY3Rpb24gcG9pbnRlcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkuCgoyMDAwLTA2LTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9EaXN0OiBBZGQgYnAtYXNtLmguCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1fb3Blbi5jICh3aGVyZV9pc19zaG1mcyk6IFVzZQoJZGVmYXVsdGRpciB2YXJpYWJsZSBpbnN0ZWFkIG9mICIvdmFyL3NobSIgZXZlcnl3aGVyZS4KCShkZWZhdWx0ZGlyKTogQ2hhbmdlIHRvIC9kZXYvc2htLy4KCjIwMDAtMDYtMDggIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9pMzg2L2JwLWFzbS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pMzg2L19fbG9uZ2ptcC5TOiBEZWZpbmUgJiB1c2Ugc3ltYm9saWMgYXJndW1lbnQgc3RhY2sKCW9mZnNldHMuICBBZGQgRU5URVIvTEVBVkUgbWFjcm9zIGZvciBvcHRpb25hbGx5IG1haW50YWluaW5nCglmcmFtZS1wb2ludGVyIGNoYWluIHdoZW4gZGVidWdnaW5nLgoJKiBzeXNkZXBzL2kzODYvYWRkX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9hZGRtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L21lbWNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvcmF3bWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RwY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RwbmNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cmNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cmNocm51bC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cmNzcG4uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJwYnJrLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RycmNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cnNwbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cnRvay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N1Yl9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3VibXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9lbGYvc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9zdHJjYXQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L3N0cmxlbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvYWRkX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvbWVtY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9tZW1zZXQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3JzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3RyY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdHJjcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3N0cmxlbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3ViX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L2FkZF9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9tZW1jcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L21lbXBjcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L21lbXNldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvc3RyY21wLlM6IExpa2V3aXNlLgoKMjAwMC0wNi0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkdHN6LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3BhcmFtLmg6IERlZmluZSBOT0ZJTEUgZGlyZWN0bHkgYXMKCTI1NiBhbmQgZG9uJ3QgdXNlIE9QRU5fTUFYLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcGF0aGNvbmYuYzogRGVmaW5lIExJTlVYX0xJTktfTUFYIGFuZAoJdXNlIGl0IGluc3RlYWQgb2YgTElOS19NQVguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZwYXRoY29uZi5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMDggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9fbGlzdF9sb2NrKTogT25seSBjb21waWxlIGJvZHkgaWYgd2UncmUKCXRocmVhZCBzYWZlLgoJKF9JT19saXN0X3VubG9jayk6IExpa2V3aXNlLgoJKF9JT19saXN0X3Jlc2V0bG9jayk6IExpa2V3aXNlLgoKMjAwMC0wNi0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2xvY2FsX2xpbS5oOiBVbmRlZmluZSBPUEVOX01BWAoJdW5sZXNzIHVzZXIgZGVmaW5lZCBpdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvbG9jYWxfbGltLmg6IEFsc28gdW5kZWZpbmUgTElOS19NQVgKCWlmIG5vdCBkZWZpbmVkIGJ5IHRoZSB1c2VyLgoKCSogbGliaW8vaW9md3JpdGVfdS5jIChmd3JpdGVfdW5sb2NrZWQpOiBSZW1vdmUgb2Jzb2xldGUgY29tbWVudC4KCSogbGliaW8vaW9md3JpdGUuYyAoX0lPX2Z3cml0ZSk6IExpa2V3aXNlLgoKCSogdGltZS90aW1lLmg6IEFkZCBtaXNzaW5nIF9fVEhST1cgZm9yIGNsb2NrX2dldGNwdWNsb2NraWQKCXByb3RvdHlwZS4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBkbC1kdHByb2NudW0uaC4KCSogaW5jbHVkZS9lbGYuaDogSW5jbHVkZSBhbHNvIDxkbC1kdHByb2NudW0uaD4uCgkqIGVsZi9kbC1kZXBzLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9va3VwLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcnVudGltZS5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXZlcnNpb24uYzogTGlrZXdpc2UuCgkqIGVsZi9kby1yZWwuaDogTGlrZXdpc2UuCgkqIGVsZi9keW5hbWljLWxpbmsuaDogTGlrZXdpc2UuCgkqIGVsZi9saW5rLmg6IExpa2V3aXNlLgoJKiBlbGYvcnRsZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLWR0cHJvY251bS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2RsLWR0cHJvY251bS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9taXBzL2RsLWR0cHJvY251bS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zcGFyYy9kbC1kdHByb2NudW0uaDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oOiBBZGQgbW9yZSBfX2J1aWx0aW5fZXhwZWN0LgoKCSogZWxmL2RvLWxvb2t1cC5oOiBBZGQgc29tZSBfX2J1aWx0aW5fZXhwZWN0LgoKCSogZGxmY24vZGxmY24uaDogUHJldHR5IHByaW50IGRsYWRkciBkZWNsYXJhY3Rpb24uCgoJKiBlbGYvcnRsZC5jIChwcm9jZXNzX2VudnZhcnMpOiBSZWNvZ25pemUgTERfRFlOQU1JQ19XRUFLLgoJKF9kbF9keW5hbWljX3dlYWspOiBOZXcgdmFyaWFibGUuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogRGVjbGFyZSBfZGxfZHluYW1pY193ZWFrLgoJKiBlbGYvZG8tbG9va3VwLmg6IElmIHdlIGZpbmQgYSB3ZWFrIGRlZmluaXRpb24gdHJlYXQgaXQgbGlrZSBhCglub3JtYWwgc3ltYm9sIHVubGVzcyBfZGxfZHluYW1pY193ZWFrIGlzIG5vbnplcm8uICBJbiB0aGUgbGF0dGVyCgljYXNlIHRyZWF0IGl0IGxpa2UgYmVmb3JlLgoKCSogZWxmL2RsLWFkZHIuYyAoX2RsX2FkZHIpOiBGaWxsIGluIGNvcnJlY3QgaW5mb3JtYXRpb24gaWYgc3ltYm9sCglpcyBpbiBtYWluIHByb2dyYW0uCgkqIGVsZi9WZXJzaW9ucyBbbGRdIChHTElCQ18yLjIpOiBFeHBvcnQgX2RsX2FyZ3YuCgoJKiBlbGYvZGwtYWRkci5jIChfZGxfYWRkcik6IERvIGV4YWN0IHRlc3Rpbmcgb2YgYWRkcmVzcyByYW5nZQoJdXNpbmcgbF9tYXBfc3RhcnQgYW5kIGxfbWFwX2VuZC4KCgkqIGVsZi9kbC12ZXJzaW9uLmM6IEFkZCBfX2J1aWx0aW5fZXhwZWN0IGluIG1hbnkgcGxhY2VzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1wcm9jaW5mby5oICh4ODZfY2FwX2ZsYWdzKToKCVVwZGF0ZS4KCjIwMDAtMDYtMDQgIEtheiBLeWxoZWt1ICA8a2F6QGFzaGkuZm9vdHByaW50cy5uZXQ+CgoJTG9jayBmb3Igc3RkaW8gc3RyZWFtIGxpc3QgYmVjb21lcyBnbG9iYWwsIGZvciB1c2UgaW4gTGludXhUaHJlYWRzLgoKCSogbGliaW8vZ2Vub3BzLmMgKF9JT19pdGVyX2JlZ2luLCBfSU9faXRlcl9lbmQsCglfSU9faXRlcl9uZXh0LCBfSU9faXRlcl9maWxlLCBfSU9fbGlzdF9sb2NrLCBfSU9fbGlzdF91bmxvY2ssCglfSU9fbGlzdF9yZXNldGxvY2spOiBOZXcgaW50ZXJmYWNlIGZvciBpdGVyYXRpbmcgZ2xvYmFsIGxpc3Qgb2YKCXN0cmVhbXMgd2l0aG91dCBhY2Nlc3NpbmcgdGhlIF9JT19saXN0X2FsbCBnbG9iYWwgdmFyaWFibGUsCglhbmQgZm9yIG1hbmlwdWxhdGluZyB0aGUgbG9jayB3aGljaCBwcm90ZWN0cyB0aGlzIGxpc3QuCgkqIGxpYmlvL2xpYmlvUC5oOiBMaWtld2lzZS4KCSogbGliaW8vVmVyc2lvbjogQWRkIGVudHJpZXMgZm9yIHRoZSBuZXcgZnVuY3Rpb25zLgoKCSogbGliaW8vbGliaW9QLmggKF9JT19JVEVSKTogTmV3IHR5cGVkZWYsIGp1c3QgYW4gYWxpYXMgZm9yCglwb2ludGVyIHRvIF9JT19GSUxFLgoKMjAwMC0wNi0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoc2V0X2NsYXNzX2RlZmF1bHRzKTogU2V2ZXJhbCB1c2VzIG9mCglCSVQoKSBtdXN0IGFjdHVhbGx5IGJlIEJJVHcoKS4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jOiBIYW5kbGUgU1AgYW5kIHNwYWNlIGNvbnNpc3RlbnRseS4KCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLmM6IEFsbG93IHN0cmluZyBhcmd1bWVudHMgZm9yCgljb2RlX3NldF9uYW1lIGFuZCByZXBlcnRvaXJlbWFwLgoKMjAwMC0wNi0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL01ha2VmaWxlOiBCdWlsZCBsZGNvbmZpZyBvbmx5IHdoZW4gYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KCjIwMDAtMDYtMDcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9mcHUvYml0cy9tYXRoaW5saW5lLmggKF9fZmRpbWYpOiBPbmx5IGRlY2xhcmUgaWYKCV9fVVNFX0lTT0M5OS4KCShmZGltZiwgX19mZGltLCBmZGltKTogTGlrZXdpc2UuCgoyMDAwLTA2LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9maW5kbG9jYWxlLmM6IEFkZCBfX2J1aWx0aW5fZXhwZWN0IGluIG1hbnkgcGxhY2VzLgoJKiBsb2NhbGUvbG9hZGxvY2FsZS5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMDYgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9taXBzL2VsZi9zdGFydC5TOiBUcmltIHJlZHVuZGFudCBjb2RlLgoKCSogc3lzZGVwcy9wb3dlcnBjL21lbXNldC5TOiBEZWZpbmUgJiB1c2Ugc3ltYm9saWMgcmVnaXN0ZXIgbmFtZXMuCglVc2UgQyBjb21tZW50cyB0aHJvdWdob3V0LiAgTGluZSB1cCBvcGVyYW5kcyBjb2x1bW4gd2l0aCB0YWJzLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RyY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RyY21wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RyY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RybGVuLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9icmsuUyBbIVBJQ106CglHZXQgbG93IHBhcnQgb2YgJl9fY3VyYnJrIHdpdGggQGwuCgoyMDAwLTA2LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS91dGYtMTYuYzogQWRkIF9fYnVpbHRpbl9leHBlY3QgaW4gbWFueSBwbGFjZXMuCgkqIGljb252ZGF0YS91bmljb2RlLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdWhjLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdC42MS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3NqaXMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qb2hhYi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzctMi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzbzg4NTktMS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzbzY0Ni5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItanAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWNuLmM6IExpa2V3aXNlLgoKMjAwMC0wNi0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmM6IEFkZCBfX2J1aWx0aW5fZXhwZWN0IGluIG1hbnkgcGxhY2VzLgoJKiBpY29udmRhdGEvYmlnNS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2Fuc2lfeDMuMTEwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvOGJpdC1nZW5lcmljLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvOGJpdC1nYXAuYzogTGlrZXdpc2UuCgkqIGljb252L2xvb3AuYzogTGlrZXdpc2UuCgkqIGljb252L2djb252X2RiLmM6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9kbC5jOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmM6IExpa2V3aXNlLgoJKiBpY29udi9za2VsZXRvbi5jOiBMaWtld2lzZS4KCgkqIGljb252L2djb252LmggKF9fR0NPTlZfSVNfTEFTVCwgX19HQ09OVl9JR05PUkVfRVJST1JTKTogRGVmaW5lLgoJKHN0cnVjdCBfX2djb252X3N0ZXBfZGF0YSk6IFJlbmFtZSBfX2lzX2xhc3QgdG8gX19mbGFncy4KCSogaWNvbnYvZ2NvbnZfY2xvc2UuYzogQ2hhbmdlIGFsbCB1c2VzIG9mIF9faXNfbGFzdC4KCSogaWNvbnYvc2tlbGV0b24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIGljb252L2djb252X29wZW4uYzogTGlrZXdpc2UuICBBdm9pZCB1bm5lZWRlZCBpbml0aWFsaXphdGlvbnMuCglSZWNvZ25pemUgSUdOT1JFIGVycm9yIGhhbmRsaW5nLCBzZXQgZmxhZywgYW5kIHJlbW92ZSBmcm9tIG5hbWUuCgkqIGljb252L2xvb3AuYyAoaWdub3JlX2Vycm9yc19wKTogRGVmaW5lLgoJQWRkIGZsYWdzIHBhcmFtZXRlciB0byBib3RoIGZ1bmN0aW9ucy4KCSogaWNvbnYvc2tlbGV0b24uYzogUGFzcyBmbGFncyB0byBhbGwgY29udmVyc2lvbiBmdW5jdGlvbnMuCgkqIGljb252L2djb252X3NpbXBsZS5jOiBBZGQgZmxhZ3MgcGFyYW1ldGVyIHRvIGFsbCBmdW5jdGlvbnMuCglEb24ndCByZXR1cm4gZXJyb3IgZm9yIGludmFsZCBlcnJvciBpZiBpZ25vcmUgZmxhZyBpcyBzZXQuCgkodWNzNF9pbnRlcm5hbF9sb29wX3NpbmdsZSk6IEFkZCBtaXNzaW5nIHBvaW50ZXIgaW5jcmVtZW50LgoJKGludGVybmFsX3VjczRsZV9sb29wX3NpbmdsZSk6IExpa2V3aXNlLgoJKiBpY29udi9pY29udl9wcm9nLmM6IEltcGxlbWVudCBoYW5kbGluZyBvZiAtYyBwYXJhbWV0ZXIuCgkqIGljb252ZGF0YS84Yml0LWdhcC5jOiBEb24ndCByZXR1cm4gZXJyb3IgZm9yIGludmFsZCBlcnJvciBpZgoJaWdub3JlIGZsYWcgaXMgc2V0LgoJKiBpY29udmRhdGEvOGJpdC1nZW5lcmljLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9iaWc1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWNuLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JnYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc282NDYuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc284ODU5LTEuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy0yLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzcuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qb2hhYi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3NqaXMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90LjYxLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdWhjLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3V0Zi0xNi5jOiBMaWtld2lzZS4KCSogbGliaW8vZmlsZW9wcy5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9md2lkZS5jOiBMaWtld2lzZS4KCSogd2NzbWJzL2J0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJydG93Yy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic25ydG93Y3MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnNydG93Y3MuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3J0b21iLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzbnJ0b21icy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc3J0b21icy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djdG9iLmM6IExpa2V3aXNlLgoKCSogaWNvbnZkYXRhL2tzYzU2MDEuaCAoa3NjNTYwMV90b191Y3M0KTogVW5kbyAqcyBjaGFuZ2UgaW4gYWxsIGNhc2VzIG9mCglhbiBlcnJvci4KCjIwMDAtMDYtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfZGwuYyAoZG9fcmVsZWFzZV9zaGxpYik6IERvbid0IHJlc2V0IHJlZmVyZW5jZQoJY291bnRlciBmb3IgdGhlIG9iamVjdCB3ZSBhcmUgcmVsZWFzaW5nLCBqdXN0IGRlY3JlbWVudCBpdC4KCVBhdGNoIGJ5IEFraXJhIEhpZ3VjaGkgPGEtaGlndXRpQG1hdGguc2NpLmhva3VkYWkuYWMuanA+LgoKMjAwMC0wNi0wNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oOiBPbmx5IGlubGluZSBzaW5oLCBjb3NoIGFuZCB0YW5oCglpZiAtZmZhc3QtbWF0aC4KCjIwMDAtMDYtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jOiBOZXcgZmlsZS4KCU1vZGlmaWVkIGZyb20gYmlnNS5jIGJ5IFJvZ2VyIFNvIDxyb2dlcnNvQHNpcy5kaHMub3JnPi4KCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cnkgZm9yIG5ldyBtb2R1bGUuCgkqIGljb252ZGF0YS9NYWtlZmlsZSAobW9kdWxlcyk6IEFkZCBCSUc1SEtTQ1MuCgkoZGlzdHJpYnV0ZSk6IEFkZCBiaWc1aGtzY3MuYy4KCjIwMDAtMDYtMDEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbGliYy9zeXNkZXBzL2FscGhhL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogQWRkIF9fVEhST1cgdG8gYWxsCglpbmxpbmVzIHRvIG1hdGNoIHByb3RvdHlwZXMgaW4gbWF0aGNhbGxzLmguCgkqIGxpYmMvc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogTGlrZXdpc2UuCgkqIGxpYmMvc3lzZGVwcy9tNjhrL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogTGlrZXdpc2UuCgkqIGxpYmMvc3lzZGVwcy9wb3dlcnBjL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogTGlrZXdpc2UuCgkqIGxpYmMvc3lzZGVwcy9zcGFyYy9mcHUvYml0cy9tYXRoaW5saW5lLmg6IExpa2V3aXNlLgoKMjAwMC0wNi0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZWxmLmggKFNIVF9TVU5XX21vdmUpOiBEZWZpbmUuCgoJKiBlbGYvZWxmLmg6IEFkZCBtb3JlIFNvbGFyaXMgY29tcGF0aWJsaXR5IGRlZmluaXRpb25zLgoKMjAwMC0wNi0wMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLXN0YXJ0LlM6IENsb3NlIG9wZW4gY29tbWVudC4KCjIwMDAtMDYtMDMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5ldC9WZXJzaW9uczogRml4IHR5cG8gaW4gcnJlc3Zwb3J0X2FmIGV4cG9ydC4KCjIwMDAtMDYtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC90Z21hdGguaDogUHJldHR5IHByaW50LgoKMjAwMC0wNi0wMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvdWNvbnRleHQuaDogRml4IHR5cG8uCglSZXBvcnRlZCBieSBNYWNpZWogVy4gUm96eWNraSA8bWFjcm9AZHMyLnBnLmdkYS5wbD4uCgoyMDAwLTA2LTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9ydGxkLmMgKHByb2Nlc3NfZW52dmFycyk6IFRlc3QgZm9yID0gYWZ0ZXIgdmFyaWFibGUgbmFtZS4KCjIwMDAtMDYtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2luaXRmaW5pLmMgKF9pbml0KTogT25lIGxlc3MgcmVsb2NhdGlvbi4gIERvbid0CgloYXZlIGV4dHJhIGNhbGwgdG8gX19nbW9uX3N0YXJ0X18sIHVzZSB0aGUgcG9pbnRlciB3ZSBhbHJlYWR5IGhhdmUuCgoJKiBlbGYvZWxmLmggKEVMRjY0X1JfSU5GTyk6IENhc3Qgc3ltIHZhbHVlIHRvIEVsZjY0X1h3b3JkIGJlZm9yZQoJc2hpZnRpbmcuCgoJKiBzeXNkZXBzL2kzODYvZWxmL3NldGptcC5TOiBXb3JrIGFyb3VuZCBjaGFuZ2UgaXMgcmVjZW50CgliaW51dGlscy4gIGdhcyBub3cgZW1pdHMgYSBqdW1wIHRocm91Z2ggdGhlIFBMVCBpbnN0ZWFkIG9mIGEKCXJlbGF0aXZlIGp1bXAgaWYgdGhlIGp1bXAgdGFyZ2V0IGlzIGFuIGV4cG9ydGVkIHN5bWJvbC4KCjIwMDAtMDUtMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9haXgvYWl4LXRlcm1pb3MuaDogRGVmaW5lIEFJWF9DQkFVRC4KCjIwMDAtMDUtMzEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3Vjb250ZXh0Lmg6IFVzZSBhcnJheSBmb3IKCWdyZWdzZXRfdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvVmVyc2lvbnM6IEV4cG9ydCBfZmx1c2hfY2FjaGUuCglQYXRjaGVzIGJ5IE1hY2llaiBXLiBSb3p5Y2tpIDxtYWNyb0BkczIucGcuZ2RhLnBsPi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvZnRydW5jYXRlNjQuYzogRml4IHByb3RvdHlwZSBvZgoJc3lzY2FsbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy90cnVuY2F0ZTY0LmM6IExpa2V3aXNlLgoKMjAwMC0wNS0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9vbGRnbG9iLmMgKF9fb2xkX2dsb2IpOiBMb29zZSBfX1AuCgoJKiBsb2NhbGUvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIpOiBBZGQgbG9jYWxlY29udi4KCSogbG9jYWxlL2xvY2FsZWNvbnYuYzogTWFrZSBmdW5jdGlvbiB2ZXJzaW9uZWQgKHdpdGggc2FtZSBkZWZpbml0aW9uKS4KCgkqIGVsZi9NYWtlZmlsZSAobW9kdWxlcy1uYW1lcyk6IFN0cmlwIGJlZm9yZSB1c2luZyBpdC4KCjIwMDAtMDUtMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvdHJ1bmNhdGU2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9mdHJ1bmNhdGU2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZDY0LmM6IFJlYWRkZWQgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGU2NC5jOiBSZWFkZGVkIGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQuYzogUmVhZGRlZCBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZS5jOiBSZWFkZGVkIGZpbGUuCgoyMDAwLTA1LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlOiBBZGQgR05VIG1ha2UgbWFnaWMuCgoJKiBpbmV0L01ha2VmaWxlIChDRkxBR1MtcmNtZC5jLCBDRkxBR1MtcmV4ZWMuYywgQ0ZMQUdTLXJ1c2VycGFzcy5jKToKCVJlbW92ZWQuCgkqIGluZXQvcmNtZC5jOiBSZW1vdmUgX19QLiAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMuCgkoaXJ1c2VyZm9wZW4pOiBNYWtlIGZpcnN0IHBhcmFtZXRlciBjb25zdC4KCShydXNlcm9rX3NhKTogUmV0dXJuIHJlc3VsdCBvZiBydXNlcm9rMl9zYS4KCShfX2NoZWNraG9zdF9zYSk6IENvcnJlY3RseSBpdGVyYXRlIHRocm91Z2ggcmVzdWx0cyBvZiBnZXRhZGRyaW5mby4KCSogaW5ldC9yZXhlYy5jOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcy4gIE90aGVyIHNtYWxsIGNsZWFudXBzLgoJKiBpbmV0L3J1c2VycGFzcy5jOiBSZW1vdmUgX19QLiAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMuCgkocnVzZXJwYXNzKTogQ2hlY2sgcmVzdWx0cyBvZiBtZW1vcnkgYWxsb2NhdGlvbi4KCSogaW5jbHVkZS9uZXRkYi5oOiBBZGQgcHJvdG90eXBlIGZvciBydXNlcnBhc3MuCgoyMDAwLTA1LTI5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvcmVhZGxpYi5jIChpbnRlcnByZXRlcnMpOiBVc2UgTERfU08gc2luY2UgdGhpcyBpcyBzdXBwb3J0ZWQKCWZvciBhbGwgcGxhdGZvcm1zLgoKMjAwMC0wNS0yOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmV0L3JjbWQuYyAocnJlc3Zwb3J0X2FmKTogVXNlIGNvcnJlY3QgcG9ydCBudW1iZXIuCgoyMDAwLTA1LTI2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogTWFrZWNvbmZpZyAoJChjb21tb24tb2JqcGZ4KXNvdmVyc2lvbnMubWspOiBQcmVwZW5kIGAkbGliPScgdG8KCWVudHJpZXMgaW4gYWxsLXNvbmFtZXMuCgkoJChjb21tb24tb2JqcGZ4KWdudS9saWItbmFtZXMuaCk6IFVzZSBpdCBmb3IgdGhlIENQUCBzeW1ib2wsCglwcmVzZXJ2aW5nIHRoZSBvbGQgbmFtZSBpZiBkaWZmZXJlbnQgZm9yIGNvbXBhdGliaWxpdHkuCgoyMDAwLTA1LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtc3Bhd24uCgkodHN0LXNwYXduLUFSR1MpOiBOZXcgdmFyaWFibGUuCgkqIHBvc2l4L3RzdC1zcGF3bi5jOiBOZXcgZmlsZS4KCgkqIHBvc2l4L3NwYXduX2ZhY3Rpb25fYWRkY2xvc2UuYzogQ29ycmVjdGx5IGFjY291bnQgZm9yIG5ldyBlbnRyeS4KCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9hZGRkdXAyLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2FkZG9wZW4uYzogTGlrZXdpc2UuCgkqIHBvc2l4L3NwYXduaS5jOiBDb3JyZWN0bHkgdGVzdCBmb3Igc3VjY2VzcyBvZiBkdXAyIGNhbGxzLgoKCSogcG9zaXgvdHN0LXByZWFkd3JpdGUuYzogQ2hlY2sgc3VjY2VzcyBvZiBtYWxsb2MgY2FsbC4KCjIwMDAtMDUtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1leGVjLgoJKHRzdC1leGVjLUFSR1MpOiBOZXcgdmFyaWFibGUuCgkqIHBvc2l4L3RzdC1leGVjLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9hcm0vYXRvbWljaXR5LmggKGNvbXBhcmVfYW5kX3N3YXApOiBSZXR1cm4gcmVzdWx0LgoKMjAwMC0wNS0wNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RyaW5nL3N0cmluZy5oOiBSZW1vdmUgX19zdHJkdXAgcHJvdG90eXBlLCBpdCdzIG5vdCBuZWVkZWQgaW4KCXRoaXMgZmlsZSBhbnltb3JlLgoKMjAwMC0wNS0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWZvcmsuCgkqIHBvc2l4L3RzdC1mb3JrLmM6IE5ldyBmaWxlLgoKCSogcmVzb2x2L2luZXRfcHRvbi5jOiBMb29zZSBfX1AuCgoyMDAwLTA1LTIxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2xpYmlvUC5oIChfSU9fQ0hFQ0tfV0lERSk6IERlZmluZS4KCSogbGliaW8vaW9zZXRidWZmZXIuYyAoX0lPX3NldGJ1ZmZlcik6IFVzZSBpdC4KCSogbGliaW8vaW9zZXR2YnVmLmMgKF9JT19zZXR2YnVmKTogTGlrZXdpc2UuCgkqIGxpYmlvL2ZpbGVvcHMuYyAoX0lPX25ld19maWxlX2ZvcGVuKTogUmV0dXJuIE5VTEwgaWYKCV9JT19DSEVDS19XSURFIGZhaWxzLgoKMjAwMC0wNS0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby9kYS5wbzogTmV3IGZpbGUuCgoJKiBtYW51YWwvYXJpdGgudGV4aSAoUm91bmRpbmcgRnVuY3Rpb25zKTogRml4IGRvY3VtZW50YXRpb24gb2YgdHJ1bmMuCglQYXRjaCBieSBTdGV2ZW4gRy4gSm9obnNvbiA8c3RldmVuakBnaWwtZ2FsYWQubWl0LmVkdT4uCgoJKiBtYW51YWwvY2hhcnNldC50ZXhpIChFeHRlbmRlZCBDaGFyIEludHJvKTogRml4IHR5cG8gKGFuZCAtPiBhcykuCgkoT3RoZXIgaWNvbnYgSW1wbGVtZW50YXRpb25zKTogRml4IHR5cG8uCglQYXRjaCBieSBNYXJ0aW4gUG9vbCA8bWJwQHdpc3RmdWwuaHVtYnVnLm9yZy5hdT4uCgoyMDAwLTA1LTI3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3ByZWFkLmM6IFJlbW92ZWQsIHdlIGNhbiB1c2UgdGhlCglub3JtYWwgdmVyc2lvbiBub3cuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcHdyaXRlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3B3cml0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3ByZWFkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3ByZWFkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vcHdyaXRlLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHJlYWQuYyAoX19saWJjX3ByZWFkKTogQ2hlY2sKCWVuZGlhbm5lc3MgdG8gZGVjaWRlIGhvdyB0byBwYXNzIGFyZ3VtZW50cy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHdyaXRlLmMgKF9fbGliY19wd3JpdGUpOiBMaWtld2lzZS4KCgkqIGVsZi92aXNtYWluLmM6IFVzZSB0ZXN0LXNrZWxldG9uIGludGVyZmFjZS4KCShURVNUX0ZVTkNUSU9OKTogTmV3IG1hY3JvLgoJKGRvX3Rlc3QpOiBSZW5hbWVkIGZyb20gbWFpbi4KCjIwMDAtMDUtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jIChnYWloX2luZXQpOiBJZiByZXEtPmFpX2ZhbWlseSA9PQoJQUZfVU5TUEVDIGRvbid0IGFsbG93IHRoZSBJUHY2IGxvb2t1cCB0byByZXR1cm4gbWFwcGVkIElQdjQgYWRkcmVzc2VzLgoKCSogbnNzL25zc19maWxlcy9maWxlcy1ob3N0cy5jIChMSU5FX1BBUlNFUik6IFNpbXBsaWZ5LiAgQ29ycmVjdAoJaGFuZGxpbmcgb2YgQUlfVjRNQVBQRUQgZmxhZy4KCgkqIHJlc29sdi9uc3NfZG5zL2Rucy1ob3N0LmMgKF9uc3NfZG5zX2dldGhvc3RieW5hbWUyX3IpOiBJZiBsb29rdXAKCW9mIElQdjYgYWRkcmVzcyBmYWlsZWQgYW5kIFJFU19VU0VfSU5FVDYgYml0IGluIF9yZXMub3B0aW9ucyBpcyBzZXQsCglwZXJmb3JtIGxvb2t1cCBmb3IgVF9BIHR5cGUgYW5kIHRlbGwgZ2V0YW5zd2VyX3IgdG8gY29udmVydCB0aGUKCXJlc3VsdCB3aXRoIG5ldyBhcmd1bWVudC4KCShfbnNzX2Ruc19nZXRob3N0YnlhZGRyX3IpOiBQYXNzIHplcm8gYXMgbmV3IGFyZ3VtZW50IHRvIGdldGFuc3dlcl9yLgoJRG9uJ3QgY29udmVydCBhZGRyZXNzZXMgZnJvbSBJUHY0IHRvIElQdjYgaGVyZS4KCShnZXRhbnN3ZXJfcik6IFRha2UgbmV3IHBhcmFtZXRlciBpbmRpY2F0aW5nIGlmIG1hcHBpbmcgZnJvbSBJUHY0IHRvCglJUHY2IGlzIHdhbnRlZC4gIEFsbG93IHF0eXBlIGFuZCB0eXBlIGZyb20gcmVwbHkgdG8gZGlzYWdyZWUgaWYKCUlQdjQgbWFwcGluZyBoYXMgdG8gYmUgZG9uZS4gIFBlcmZvcm0gbWFwcGluZ3MgaWYgcmVxdWlyZWQgYnkgdGhlCgljYWxsZXIgYW5kIG5vdCBpZiBSRVNfVVNFX0lORVQ2IGJpdCBpbiBfcmVzLm9wdGlvbnMgaXMgc2V0LgoJQWRkIHNldmVyYWwgX19idWlsdGluX2V4cGVjdC4KCjIwMDAtMDUtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY2F0Z2V0cy9vcGVuX2NhdGFsb2cuYyAoX19vcGVuX2NhdGFsb2cpOiBBZGQgYSBmZXcgX19idWlsdGluX2V4cGVjdC4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0KTogRG9uJ3QgaWdub3JlIFJQQVRIcyBpZiBsb2FkZXIgPT0KCU5VTEwuCgoJKiBwb3NpeC90c3QtcHJlYWR3cml0ZS5jOiBBbGxvdyBwYXJhbGxlbCBleGVjdXRpb24gb2YKCXRzdC1wcmVhZHdyaXRlIGFuZCB0c3QtcHJlYWR3cml0ZTY0LgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC10cnVuY2F0ZSBhbmQgdHN0LXRydW5jYXRlNjQuCgkqIHBvc2l4L3RzdC10cnVuY2F0ZS5jOiBOZXcgZmlsZS4KCSogcG9zaXgvdHN0LXRydW5jYXRlNjQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcmVhZDY0LmM6IFRoZSBsaXR0bGUvYmlnIGVuZGlhbiBjb2RlCgl3YXMgc3dpdGNoZWQuCgoJKiBwb3NpeC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXByZWFkd3JpdGU2NC4KCSogcG9zaXgvdHN0LXByZWFkd3JpdGUuYzogQWxsb2MgZmlsZSBiZWluZyB1c2VkIGFsc28gZm9yIHRlc3RpbmcKCXByZWFkNjQgYW5kIHB3cml0ZTY0LgoJKiBwb3NpeC90c3QtcHJlYWR3cml0ZTY0LmM6IE5ldyBmaWxlLgoKMjAwMC0wNS0yNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnRydW5jYXRlNjQuYyAoZnRydW5jYXRlNjQpOiBNYWtlIG9yZGVyCglvZiBhcmd1bWVudHMgZGVwZW5kZW5kIG9uIGVuZGlhbm5lc3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3RydW5jYXRlNjQuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3ByZWFkNjQuYzogUmVtb3ZlZCwgd2UgY2FuIHVzZSB0aGUKCW5vcm1hbCB2ZXJzaW9uIG5vdy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3ByZWFkNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZTY0LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHdyaXRlNjQuYyAoX19saWJjX3B3cml0ZTY0KTogQ2hlY2sKCWVuZGlhbm5lc3MgdG8gY2hlY2sgaG93IHRvIHBhc3MgYXJndW1lbnQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3ByZWFkNjQuYyAoX19saWJjX3ByZWFkNjQpOiBMaWtld2lzZS4KCgkqIGVsZi9sZGNvbmZpZy5oOiBVcGRhdGUgcGFyYW1ldGVyIGxpc3QgZm9yIHByb2Nlc3NfZWxmX2ZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9yZWFkZWxmbGliLmMgKHByb2Nlc3NfZWxmX2ZpbGUpOgoJQWRkIHBhcmFtZXRlciBmaWxlX2xlbmd0aCBhbmQgcGFzcyBpdCBvdCBwcm9jZXNzX2VsZipmaWxlLgoKCSogc3lzZGVwcy9nZW5lcmljL3JlYWRlbGZsaWIuYyAoY2hlY2tfcHRyKTogTmV3LgoJKHByb2Nlc3NfZWxmX2ZpbGUpOiBVc2UgY2hlY2tfcHRyIHRvIGNoZWNrIGFsbCBhY2Nlc3NlcyB0byB0aGUKCW1tYXBwZWQgZmlsZS4gQWRkIHBhcmFtZXRlciBmaWxlX2xlbmd0aC4KCgkqIGVsZi9yZWFkbGliLmMgKGtub3duX2xpYnMpOiBVc2UgPGdudS9saWItbmFtZXMuaD4gdG8gc3BlY2lmeQoJbGlicmFyeSBuYW1lcy4KCgkqIHN1bnJwYy94ZHJfaW50WFhfdC5jICh4ZHJfdWludDhfdCk6IEZpeCBjb252ZXJzaW9uLgoJQ2xvc2VzIFBSIGxpYmMvMTU3MywgcmVwb3J0ZWQgYnkgQnJhZGxleSBXaGl0ZQoJPGJ3d0BsYXVyZWxuZXR3b3Jrcy5jb20+LgoKMjAwMC0wNS0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oOiBEZWZpbmUgZXhwbTEgaW5saW5lIG9ubHkgaWYKCV9fRkFTVF9NQVRIX18gaXMgZGVmaW5lZC4KCjIwMDAtMDUtMjIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hdGgvTWFrZWZpbGU6IEFkZCAtRF9fRkFTVF9NQVRIX18gdG8gQ0ZMQUdTLXRlc3QtaWZsb2F0LmMsCglDRkxBR1MtdGVzdC1pZG91YmxlLmMsIENGTEFHUy10ZXN0LWlsZG91YmwuYy4KCgkqIG1hbnVhbC9tYXRoLnRleGkgKEZQIEZ1bmN0aW9uIE9wdGltaXphdGlvbnMpOiBEb2N1bWVudCBnY2MKCS1mZmFzdC1tYXRoIGJlaGF2aW91ciB3aXRoIG1hdGhpbmxpbmVzLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogT25seSB1c2Ugc2F2ZSBpbmxpbmUKCWZ1bmN0aW9ucyB1bmxlc3MgLWZmYXN0LW1hdGggaXMgZ2l2ZW4gdG8gZ2NjLgoKMjAwMC0wNS0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oIChfX3NpbmNvcywgX19zaW5jb3NmLAoJX19zaW5jb3NsKTogR3VhcmQgd2l0aCBfX1VTRV9HTlUuCgoyMDAwLTA1LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNzdS9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgY2hlY2tfZmRzLgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogQ2FsbCBfX2xpYmNfY2hlY2tfc3RhbmRhcmRfZmRzIGZvciBTVUlECgliaW5hcmllcy4gIEFkZCB2YXJpb3VzIF9fYnVpbHRpbl9leHBlY3QuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IE1vdmUgY2hlY2tfZmRzIGFuZCBoZWxwZXIgZnVuY3Rpb25zLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9jaGVja19mZHMuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoKCSogbWFsbG9jL21hbGxvYy5jIChwdG1hbGxvY19pbml0KTogT25seSBlbmFibGUgZGVidWdnaW5nIGZvciBTVUlECgliaW5hcmllcyBpZiBmaWxlIC9ldGMvc3VpZC1kZWJ1ZyBpcyBhdmFpbGFibGUuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChzdHJ1Y3QgZWxlbWVudF90KTogQWRkIG1ic2Vxb3JkZXIKCWFuZCB3Y3NlcW9yZGVyIG1lbWJlcnMuCgkoc3RydWN0IGxvY2FsZV9jb2xsYXRlX3QpOiBMaWtld2lzZS4KCShjb2xsYXRlX2ZpbmlzaCk6IEFzc2lnbiBjb2xsYXRpb24gc2VxdWVuY2UgdmFsdWUgdG8gZWFjaCBjaGFyYWN0ZXIuCglDcmVhdGUgdGFibGVzIGZvciBvdXRwdXQuCgkoY29sbGF0ZV9vdXRwdXQpOiBXcml0ZSBvdXQgdGFibGVzIHdpdGggY29sbGF0aW9uIHNlcXVlbmNlIGluZm9ybWF0aW9uLgoJKiBsb2NhbGUvQy1jb2xsYXRlLmM6IFByb3ZpZGUgQyBsb2NhbGUgZGF0YSBmb3IgY29sbGF0aW9uIHNlcXVlbmNlCgl0YWJsZS4KCSogbG9jYWxlL2xhbmdpbmZvLmg6IEFkZCBfTkxfQ09MTEFURV9DT0xMU0VRTUIgYW5kCglfTkxfQ09MTEFURV9DT0xMU0VRV0MuCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogQWRkIGVudHJpZXMgZm9yIF9OTF9DT0xMQVRFX0NPTExTRVFNQiBhbmQKCV9OTF9DT0xMQVRFX0NPTExTRVFXQy4KCSogcG9zaXgvZm5tYXRjaC5jOiBEZWZpbmUgU1VGRklYIGFuZCBXSURFX0NIQVJfVkVSU0lPTiBiZWZvcmUKCWluY2x1ZGUgZm5tYXRjaF9sb29wLmMuCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jOiBEb24ndCB1c2Ugc3RyY29sbCB3aGlsZSBkZXRlcm1pbmluZyB3aGV0aGVyCgljaGFyYWN0ZXIgaXMgbWF0Y2hlZCBieSByYW5nZSBleHByZXNzaW9uLiAgVXNlIGNvbGxhdGlvbiBzZXF1ZW5jZQoJdGFibGUuICBPdXRzaWRlIGdsaWJjIGZhbGwgYmFjayBvbiBzaW1wbGUgY2hhcmFjdGVyIHZhbHVlIGNvbXBhcmlzb24uCgoyMDAwLTA1LTI0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZWxmL3N0YXJ0LlMgKEVOVFJZX1BPSU5UKTogQWxpZ24gc3RhY2sgZm9yIGRvdWJsZQoJd29yZHMuCgoJKiBpbnRsL01ha2VmaWxlOiBSdW4gZ2V0dGV4dC10ZXN0IG9ubHkgaWYgbXNnZm10IGlzIGF2YWlsYWJsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oIChfX0FTU1VNRV9MRFRfV09SS1MpOgoJRGVmaW5lIGl0IGZvciBuZXdlciBrZXJuZWxzLgoKMjAwMC0wNS0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtc3ltLmM6IE1pbm9yIGNsZWFudXBzLgoKCSogY29uZmlndXJlLmluOiBBZGQgdGVzdCBmb3IgLnByb3RlY3RlZC4KCSogY29uZmlnLm1ha2UuaW46IEFkZCBoYXZlLXByb3RlY3RlZCB2YXJpYWJsZS4KCSogZWxmL01ha2VmaWxlICh0ZXN0cyk6IEFkZCAkKHRlc3RzLXZpcy0kKGhhdmUtcHJvdGVjdGVkKSkuCgkodGVzdHMtdmlzLXllcyk6IEFkZCB2aXNtYWluLgoJKG1vZHVsZXMtbmFtZXMpOiBBZGQgJChtb2R1bGVzLXZpcy0kKGhhdmUtcHJvdGVjdGVkKSkuCgkobW9kdWxlcy12aXMteWVzKTogQWRkIHZpc21vZDEsIHZpc21vZDIsIGFuZCB2aXNtb2QzLgoJQWRkIHJ1bGVzIHRvIGdlbmVyYXRlIGFuZCBydW4gdmlzbWFpbi4KCSogZWxmL3Zpc21haW4uYzogTmV3IGZpbGUuCgkqIGVsZi92aXNtb2QxLmM6IE5ldyBmaWxlLgoJKiBlbGYvdmlzbW9kMi5jOiBOZXcgZmlsZS4KCSogZWxmL3Zpc21vZDMuYzogTmV3IGZpbGUuCgoyMDAwLTA1LTIzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzdGRpby1jb21tb24vdGZmb3JtYXQuYyAoc3ByaW50X2RvdWJsZXMpOiBBZGQgdGVzdGNhc2UgZm9yICVhLgoKCSogbWFudWFsL3NlYXJjaC50ZXhpIChBcnJheSBTb3J0IEZ1bmN0aW9uKTogRG9jdW1lbnQgdGhhdCBxc29ydCBpcwoJbm90IG5lY2Vzc2FyaWx5IGluLXBsYWNlLgoKCSogc3VucnBjL3JwY19tYWluLmMgKHBhcnNlYXJncyk6IERvbid0IGFjY2VwdCAtTSBhbmQgLU4uCglDbG9zZXMgUFIgbGliYy8xNzMxLgoKCSogY3N1L211bmNoLXRtcGwuYyAoX19saWJjX2luaXQpOiBSZW1vdmUgSyZSIHN1cHBvcnQuCgkqIGRpcmVudC9zY2FuZGlyNjQuYzogTGlrZXdpc2UuCgkqIHB3ZC9nZXRwdy5jOiBMaWtld2lzZS4KCSogc3RkbGliL2JzZWFyY2guYyAoYnNlYXJjaCk6IExpa2V3aXNlLgoJKiBzdGRsaWIvdHN0LXN0cnRvbGwuYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvY29sbGF0ZS10ZXN0LmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3hmcm0tdGVzdC5jOiBMaWtld2lzZS4KCSogcG9zaXgvYnNkLWdldHBncnAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2JpdHMvZmVudi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc29ja2FkZHIuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zeXMvc3dhcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N5cy9zeXNpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdmZvcmsuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9mcHUvc3dpdGNoLzY4ODgxLXN3Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9mZG9wZW4uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5cy9hY2N0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb2xsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yZWFkdi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd3JpdGV2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldGdyb3Vwcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL2lwYy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9zaWdhY3Rpb24uaDogTGlrZXdpc2UuCgoJKiBtaXNjL3RzdC1kaXJuYW1lLmM6IFJlbW92ZSBLJlIgc3VwcG9ydCwgdXNlIEFOU0kgQyBwcm90b3R5cGVzLgoJKiBzaGFkb3cvbGNrcHdkZi5jOiBMaWtld2lzZS4KCSogc3RkbGliL3RzdC1zdHJ0b2wuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy90Y3NldGF0dHIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3R0eW5hbWUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3R0eW5hbWVfci5jOiBMaWtld2lzZS4KCjIwMDAtMDUtMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX2luaXRfcGF0aHMpOiBJZiBlbnZfcGF0aF9saXN0IGhhcyAwIGVsZW1lbnRzLAoJZnJlZSBpdCBhbmQgc2V0IHRvICh2b2lkICopIC0xLgoKMjAwMC0wNS0yMiAgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmMgKF9fdmZzY2FuZik6IFJlbW92ZSBib2d1cyBjaGVjayBpZiAnLScgaXMKCW5vdCB0aGUgc2Vjb25kIGNoYXJhY3RlciBpbiB0aGUgcmFuZ2UuCgkqIHN0ZGlvLWNvbW1vbi90c3RzY2FuZi5jIChtYWluKTogQWRkIHRlc3RjYXNlIGZvciB0aGUgYWJvdmUuCglSZXBvcnRlZCBieSBqaWtAa2FtZW5zLmJyb29rbGluZS5tYS51cy4KCjIwMDAtMDUtMjEgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGVsZi9kby1sb29rdXAuaCAoZG9fbG9va3VwX3ZlcnNpb25lZCk6IFJlcGxhY2UgcmVsb2NfdHlwZSBwYXJhbWV0ZXIKCXdpdGggbm9leGVjIGFuZCBub3BsdCBwYXJhbWV0ZXIuCgkoZG9fbG9va3VwKTogTGlrZXdpc2UuCgoJKiBlbGYvZGwtbG9va3VwLmMgKF9kbF9sb29rdXBfc3ltYm9sKTogQ2hhbmdlIGZvciBuZXcgcGFyYW1ldGVycyBvZgoJZG9fbG9va3VwLiAgU3VwcG9ydCBTVFZfUFJPVEVDVEVELgoJKF9kbF9sb29rdXBfc3ltYm9sX3NraXApOiBMaWtld2lzZS4KCShfZGxfbG9va3VwX3ZlcnNpb25lZF9zeW1ib2wpOiBMaWtld2lzZS4KCShfZGxfbG9va3VwX3ZlcnNpb25lZF9zeW1ib2xfc2tpcCk6IExpa2V3aXNlLgoKCSogZWxmL2RsLXJlbG9jLmMgKFJFU09MVkUpOiBDaGVjayBTVEJfTE9DQUwgaW5zdGVhZCBvZiBTVF9WSVNJQklMSVRZLgoKCSogZWxmL2RsLXJ1bnRpbWUuYyAocHJvZmlsZV9maXh1cCk6IEZpeCBhIHR5cG8gaW4gY29tbWVudC4KCjIwMDAtMDUtMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hcm0vYml0cy9odWdlX3ZhbC5oOiBQcmVyZXEgZ2NjIDIuOTYrLCBub3QgMi45NS4KCSogc3lzZGVwcy9pMzg2L2JpdHMvaHVnZV92YWwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9iaXRzL2h1Z2VfdmFsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvYml0cy9odWdlX3ZhbC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2JpdHMvaHVnZV92YWwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9iaXRzL2h1Z2VfdmFsLmg6IExpa2V3aXNlLgoKMjAwMC0wNS0yMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaWNvbnYvdHN0LWljb252MS5jIChtYWluKTogUmVtb3ZlIGNvbnN0IGZyb20gaW5idWYgdG8gZm9sbG93CgljaGFuZ2UgaW4gaWNvbnYuaC4KCjIwMDAtMDUtMTkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvaTY4Ni9zeXNkZXAuaAoJKFNZU0NBTExfRVJST1JfSEFORExFUik6IFJlbW92ZSB1bm5lZWRlZCBzeXNjYWxsX2Vycm9yIHdoaWNoCglicmVha3MgY29tcGlsYXRpb24gd2l0aG91dCBsaW51eHRocmVhZHMuCgoyMDAwLTA1LTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9tZW1jY3B5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvbWVtY2hyLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvbWVtY21wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvbWVtY3B5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvbWVtbW92ZS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L21lbXNldC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNhdC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNoci5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNtcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L3N0cmxlbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L3N0cm5jbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9zdHJuY3B5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvc29mdHBpcGUuaDogTmV3IGZpbGUuCglQYXRjaGVzIGJ5IERhbiBQb3AgPERhbi5Qb3BAY2Vybi5jaD4uCgoJKiBtYW51YWwvbWVtb3J5LnRleGk6IERvY3VtZW50IG1lbW9yeSBoYW5kbGluZyBmdW5jdGlvbnMgKG1sb2NrLAoJbXVubG9jaywgbWxvY2thbGwsIG11bmxvY2thbGwsIGJyaywgYW5kIHNicmspCgkqIG1hbnVhbC90aW1lLnRleGk6IERvY3VtZW50IHRpbWVzcGVjIGFuZCBmcmllbmRzLgoJKiBtYW51YWwvY29uZi50ZXhpOiBGaXggcmVmZXJlbmNlcy4KCSogbWFudWFsL2N0eXBlLnRleGk6IExpa2V3aXNlLgoJKiBtYW51YWwvZXJybm8udGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9pbnRyby50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL2xvY2FsZS50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL3N5c2luZm8udGV4aTogTGlrZXdpc2UuCglQYXRjaGVzIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKMjAwMC0wNS0wOSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oOiBNb3ZlIERMX1NZTUJPTF9BRERSRVNTIGRlZmluaXRpb24gdG8uLi4KCSogc3lzZGVwcy9pYTY0L2RsLWxvb2t1cGNmZy5oOiAuLi5oZXJlLgoKMjAwMC0wNS0yMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zY3NpL3NnLmggKHNnX2lvX2hkcl90KTogUmVtb3ZlIGR1cGxpY2F0ZQoJZHhmZXJfZGlyZWN0aW9uLgoKMjAwMC0wNS0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvbG9jYWxlLmggKHN0cnVjdCBsY29udik6IEFkZCBuZXcgZWxlbWVudHMgZnJvbSBJU08gQzk5LgoJKiBsb2NhbGUvbG9jYWxlY29udi5jOiBJbml0aWFsaXplIG5ldyBlbGVtZW50cyBmcm9tIElTTyBDOTkuCgkqIGxvY2FsZS9sYW5naW5mby5oOiBSZW1vdmUgX05MX01PTkVUQVJZIHByZWZpeCBmcm9tIGRlc2NyaXB0b3JzIGZvcgoJbmV3IHN0YW5kYXJkIGVsZW1lbnRzLgoJKiBsb2NhbGUvY2F0ZWdvcmllcy5kZWY6IEFkanVzdCBhY2NvcmRpbmdseS4KCgkqIGljb252L2ljb252LmggKGljb252KTogUmVtb3ZlIGNvbnN0IGZyb20gaW5idWYgcGFyYW1ldGVyLgoJKiBpY29udi9pY29udi5jOiBMaWtld2lzZS4KCSogY29uZm9ybS9kYXRhL2ljb252LmgtZGF0YTogTGlrZXdpc2UuCgkqIGljb252L2ljb252X3Byb2cuYyAocHJvY2Vzc19ibG9jayk6IFJlbW92ZSBjb25zdCBmcm9tIHNlY29uZAoJcGFyYW1ldGVyLgoJKG1haW4pOiBSZW1vdmUgY29uc3QgZnJvbSBhZGRyIGRlZmluaXRpb24uCgkqIG1hbnVhbC9jaGFyc2V0LnRleGkgKEdlbmVyaWMgQ29udmVyc2lvbiBJbnRlcmZhY2UpOiBSZW1vdmUgZnJvbQoJaW5idWYgcGFyYW1ldGVyIG9mIGljb252LgoKCSogaW50bC9kY2lnZXR0ZXh0LmM6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDAwLTA1LTIwIDIwMDAgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHJlc29sdi9yZXNfbGliYy5jIChfcmVzKTogSW5pdGlhbGl6ZSBfc29jayB0byAtMS4KCjIwMDAtMDUtMTggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbGliaW8vaW9mb3BuY29vay5jIChfSU9fZm9wZW5jb29raWUpOiBSZW5hbWVkIGZyb20gZm9wZW5jb29raWUuCgkoZm9wZW5jb29raWVAQEdMSUJDXzIuMik6IE5ldy4KCShfSU9fb2xkX2Nvb2tpZV9zZWVrLCBfSU9fb2xkX2ZvcGVuY29va2llLCBfSU9fb2xkX2Nvb2tpZV9qdW1wcyk6IE5ldy4KCShmb3BlbmNvb2tpZUBHTElCQ18yLjApOiBOZXcuCgkqIGxpYmlvL1ZlcnNpb25zOiBBZGQgZm9wZW5jb29raWUgdG8gR0xJQkNfMi4yLgoKMjAwMC0wNS0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3VucnBjL3JwY19tYWluLmMgKHBhcnNlYXJncyk6IERvbid0IGFjY2VwdCAtTSBhbmQgLU4uCglDbG9zZXMgUFIgbGliYy8xNzMxLgoKCSogbWFudWFsL2FyaXRoLnRleGkgKFBhcnNpbmcgb2YgSW50ZWdlcnMpOiBGaXggdHlwby4KCUNsb3NlcyBQUiBsaWJjLzE3NDQsIHJlcG9ydGVkIGJ5IGJscEBnbnUub3JnLgoKMjAwMC0wNS0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FybS9iaXRzL2h1Z2VfdmFsLmggKEhVR0VfVkFMLCBIVUdFX1ZBTEYpOiBBZGQKCV9fZXh0ZW5zaW9uX18gdG8gaGV4YWRlY2ltYWwgZmxvYXRpbmcgY29uc3RhbnQgbm90YXRpb24uCgkqIHN5c2RlcHMvaTM4Ni9iaXRzL2h1Z2VfdmFsLmggKEhVR0VfVkFMLCBIVUdFX1ZBTEYsIEhVR0VfVkFMTCk6CglMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2JpdHMvaHVnZV92YWwuaCAoSFVHRV9WQUwsIEhVR0VfVkFMRik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvYml0cy9odWdlX3ZhbC5oIChIVUdFX1ZBTCwgSFVHRV9WQUxGLCBIVUdFX1ZBTEwpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9iaXRzL2h1Z2VfdmFsLmggKEhVR0VfVkFMLCBIVUdFX1ZBTEYsCglIVUdFX1ZBTEwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2JpdHMvaHVnZV92YWwuaCAoSFVHRV9WQUwsIEhVR0VfVkFMRiwKCUhVR0VfVkFMTCk6IExpa2V3aXNlLgoJKEhVR0VfVkFMTCk6IFNldCB0byBIVUdFX1ZBTCBvbiBzcGFyYzMyLgoKMjAwMC0wNS0xNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RyaW5nL2VudnouaDogQWRkIHB1cmUgYXR0cmlidXRlcyBpZiBwb3NzaWJsZS4KCgkqIHN0cmluZy9hcmd6Lmg6IGFyZ3pfY291bnQgaXMgYSBwdXJlIGZ1bmN0aW9uLgoKCSogc3RyaW5nL3N0cmluZ3MuaDogQWRkIHB1cmUgYW5kIGNvbnN0IGF0dHJpYnV0ZXMgaWYgcG9zc2libGUuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbWVtbWVtLmMgKG1lbW1lbSk6IENoZWNrIGFyZ3VtZW50cyB0byBhdm9pZAoJcG9zc2libHkgc2VhcmNoaW5nIHRocm91Z2ggdGhlIHdob2xlIG1lbW9yeS4KCUNsb3NlcyBQUiBsaWJjLzE3MzAsIHJlcG9ydGVkIGJ5IEdyZWcgSHVkc29uIDxnaHVkc29uQG1pdC5lZHU+LgoKMjAwMC0wNS0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoX0RMX0NBQ0hFX0RFRkFVTFRfSUQpOiBPbmx5IGRlZmluZSBpZgoJbm90IHlldCBkZWZpbmVkLgoJKF9kbF9jYWNoZV9jaGVja19mbGFncyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2RsLWNhY2hlLmg6IGluY2x1ZGVfbmV4dAoJZGwtY2FjaGUuaC4KCjIwMDAtMDUtMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9jcmVhdHVyZS50ZXhpIChGZWF0dXJlIFRlc3QgTWFjcm9zKTogUmVtb3ZlIHBhcmFncmFwaAoJc2luY2UgdGhlIGRlc2NyaXB0aW9uIGlzIHdyb25nLgoJQ2xvc2VzIFBSIGxpYmMvMTY5MSwgcmVwb3J0ZWQgYnkgR2VvZmYgQ2xhcmUgPGd3Y0B1bmlzb2Z0LmNvbT4uCgoJKiBzY3JpcHRzL2NvbmZpZy5zdWI6IE5ldyB2ZXJzaW9uLgoJKiBzY3JpcHRzL2NvbmZpZy5ndWVzczogTGlrZXdpc2UuCgkqIG1hbnVhbC90ZXhpbmZvLnRleDogTGlrZXdpc2UuCgoJKiB0aW1lL3Rlc3RfdGltZS5hcmdzOiBSZW1vdmVkLgoJKiB0aW1lL01ha2VmaWxlICh0ZXN0X3RpbWUtQVJHUyk6IEFkZGVkIGNvbnRlbnRzIGhlcmUgaW5zdGVhZC4KCgkqIHBvc2l4L3RzdGdldG9wdC5hcmdzOiBSZW1vdmVkLgoJKiBwb3NpeC9NYWtlZmlsZSAodHN0Z2V0b3B0LUFSR1MpOiBBZGRlZCBjb250ZW50cyBoZXJlIGluc3RlYWQuCgoJKiBSdWxlczogQWxsb3cgYXJndW1lbnRzIGZvciB0ZXN0IGZpbGVzIHRvIGJlIHNwZWNpZmllZCBpbgoJTWFrZWZpbGUgd2l0aCB0ZXN0bmFtZS1BUkdTOyByZW1vdmUgcnVsZXMgd2l0aCAuYXJncyBpbiBpdC4KCgkqIGRpcmVudC9NYWtlZmlsZSAob3BlbmRpci10c3QxLUFSR1MpOiBVc2UgdGhpcyBmb3Igb3BlbmRpci10c3QxLAoJcmVtb3ZlIG9sZCBib2d1cyBydWxlIGZvciBvcGVuZGlyLXRzdDEuYXJncy4KCgkqIHN0ZGxpYi90ZXN0LWNhbm9uLmM6IFJld3JpdGUgdG8gdXNlIHRlc3Qtc2tlbGV0b24uYy4KCgkqIHN0ZGxpYi9NYWtlZmlsZSAodGVzdC1jYW5vbi1BUkdTKTogTmV3LCBzdXBwbHkgYXJndW1lbnQgdG8gY2hkaXIKCWludG8gb2JqZGlyLiAgVGhpcyBhbGxvd3MgYSByZWFkb25seSBzb3VyY2V0cmVlLgoJUmVwb3J0ZWQgYnkgbHJnYWxsYXJkb0B5YWhvby5jb20sIGNsb3NlcyBQUiBsaWJjLzE0MjEuCgoyMDAwLTA1LTE2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+LAoJICAgIERhdmlkIEh1Z2dpbnMtRGFpbmVzIDxkaGRAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChfZGxfbG9hZF9jYWNoZV9sb29rdXApOiBTZXQKCWNhY2hlX2RhdGEgaW4gY2FzZSBvZiBvbmx5IG5ldyBjYWNoZSBmb3JtYXQgY29ycmVjdGx5LgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmMgKF9kbF9sb2FkX2NhY2hlX2xvb2t1cCk6IEFsaWduIHN0cnVjdAoJY2FjaGVfZmlsZV9uZXcuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoQUxJR05fQ0FDSEUpOiBOZXcgbWFjcm8gdG8gYWxpZ24KCXN0cnVjdCBjYWNoZV9maWxlX25ldy4KCgkqIGVsZi9jYWNoZS5jIChzYXZlX2NhY2hlKTogRml4IHN0cl9vZmZzZXQgaWYgb25seSBuZXcgY2FjaGUgaXMKCXByZXNlbnQuCgoJKiBlbGYvY2FjaGUuYyAoc2F2ZV9jYWNoZSk6IEFsaWduIHN0cnVjdCBuZXdfZmlsZV9jYWNoZS4KCShwcmludF9jYWNoZSk6IExpa2V3aXNlLgoKMjAwMC0wNS0xMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvc29pbml0LmMgKF9fbGliY19nbG9iYWxfY3RvcnMpOiBNb3ZlCglfX3B0aHJlYWRfaW5pdGlhbGl6ZV9taW5pbWFsIGNhbGwgb3V0IG9mIEhBVkVfRFdBUkYyXyogZGVmaW5lcy4KCSogcmVzb2x2L3Jlc29sdi5oIChfX3Jlc19zdGF0ZSk6IEFkZGVkIF9fYXR0cmlidXRlX18oKGNvbnN0KSkuCgkoX3Jlcyk6IElmIF9fUkVTX1BUSFJFQURfSU5URVJOQUwgaXMgZGVmaW5lZCwgZGVjbGFyZSBpdCBhcwoJdmFyaWFibGUsIGRvbid0IGRlZmluZSBpdCB0byBfX3Jlc19zdGF0ZSBjYWxsLgoKMjAwMC0wNS0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaCAoUEZfUFBQT1gpOiBOZXcsIGZyb20KCUxpbnV4IDIuMy45OXByZTcuCgkoQUZfUFBQT1gpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NvY2tldC5oIChQRl9QUFBPWCk6IExpa2V3aXNlLgoJKEFGX1BQUE9YKTogTGlrZXdpc2UuCgoyMDAwLTA1LTEyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmV0L25ldGluZXQvaW4uaCAoSU42X0FSRV9BRERSX0VRVUFMKTogQ29ycmVjdCBpbmRpY2VzLgoJUmVwb3J0ZWQgYnkgdG1vZXN0bEBnbXgubmV0LCBjbG9zZXMgUFIgbGliYy8xNzMyLgoKMjAwMC0wNS0xMSAgSmFuIEh1Ymlja2EgIDxqaEBzdXNlLmN6PgoKCSogbWlzYy9zeXMvY2RlZnMuaDogQWRkIHN1cHBvcnQgZm9yIHB1cmUgYXR0cmlidXRlLgoKCSogaW5jbHVkZS9zdHJpbmcuaDogQWRkIF9fYXR0cmlidXRlX3B1cmVfXyB0byB2YXJpb3VzIGZ1bmN0aW9ucy4KCSogc3RyaW5nL3N0cmluZy5oOiBMaWtld2lzZS4KCjIwMDAtMDUtMTAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLXJlbG9jLmMgKF9kbF9yZWxvY19iYWRfdHlwZSk6IFN5bmMgbWVzc2FnZXMgd2l0aCBwbHQKCWFyZ3VtZW50LgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogSGFuZGxlCglSX1NQQVJDX1VBNjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvdGltZS5jOiBOZXcgZmlsZS4KCjIwMDAtMDUtMTAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLXJlbG9jLmMgKF9kbF9yZWxvY19iYWRfdHlwZSk6IFdyaXRlIHR5cGUgaW50byB0aGUgbWVzc2FnZQoJYXQgcHJvcGVyIHBsYWNlLiAgQ29tcHV0ZSB0aGUgaGlnaCBuaWJibGUgY29ycmVjdGx5LgoKMjAwMC0wNS0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuYzogSW5jbHVkZSBlbGYuaC4KCgkqIGVsZi9kbC1zeW0uYyAoX2RsX3N5bSk6IFRlc3QgcmVmIG5vdCByZXN1bHQgZm9yIG5vbi16ZXJvLgoJKF9kbF92c3ltKTogTGlrZXdpc2UuCglSZXBvcnRlZCBieSBPd2VuIFRheWxvciA8b3RheWxvckByZWRoYXQuY29tPi4KCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBaZXJvIHRlcm1pbmF0ZSBMLT5sX2luaXRmaW5pCglhbHdheXMuCgoyMDAwLTA1LTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2xpYmludGwuaDogQWRkIHByb3RvdHlwZSBmb3IgX19iaW5kX3RleHRkb21haW5fY29kZXNldC4KCgkqIGludGwvYmluZHRleHRkb20uYyAoc2V0X2JpbmRpbmdfdmFsdWVzKTogQWRkIHByb3RvdHlwZS4KCjIwMDAtMDUtMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBGaXggYXJndW1lbnRzIGluCgljYWxsIHRvIGVsZl9tYWNoaW5lX2ZpeHVwX3BsdC4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgoyMDAwLTA1LTA4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1maW5pLmMgKF9kbF9maW5pKTogQnVtcCBsX29wZW5jb3VudCBvZiBhbGwgb2JqZWN0cyBzbyB0aGF0Cgl0aGV5IGFyZSBub3QgZGxjbG9zZSdkIGZyb20gdW5kZXJuZWF0aCB1cy4KCjIwMDAtMDUtMDggIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBwb3NpeC9leGVjbGUuYzogRml4IHNpemUgcGFyYW1ldGVyIG9mIG1lbWNweS4KCjIwMDAtMDUtMDggIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2dldHBhZ2VzaXplLmM6IE5ldyBmaWxlLiAgVXNlCglnZXRwYWdlc2l6ZSBzeXNjYWxsIGlmIGF2YWlsYWJsZS4KCjIwMDAtMDUtMDggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sb2NrZjY0LmMgKGxvY2tmNjQpOiBSZXR1cm4gLTEgZm9yIG92ZXJmbG93IGFuZAoJc2V0IGVycm5vLgoKMjAwMC0wNS0wOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9va3VwLmMgKGFkZF9kZXBlbmRlbmN5KTogUmVhbGxvY2F0ZSBsX3JlbGRlcHMgaW4KCXNpemVvZihzdHJ1Y3QgbGlua19tYXAgKikgY2h1bmtzLCBub3QgaW4gYnl0ZXMuCgoyMDAwLTA1LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9NYWtlZmlsZSAobG9jYWxlLUNQUEZMQUdTKTogUmVuYW1lZCBmcm9tIENQUEZMQUdTLiAgSXQncwoJb25seSBuZWVkZWQgZm9yIGxvY2FsZS4KCSogY2F0Z2V0cy9NYWtlZmlsZSAoY2F0Z2V0cy1DUFBGTEFHUyk6IFJlbmFtZWQgZnJvbSBDUFBGTEFHUy4KCUl0J3Mgb25seSBuZWVkZWQgZm9yIGNhdGdldHMuCglQYXRjaGVzIGJ5IEdyZWcgTWNHYXJ5IDxna21AZW5nLmFzY2VuZC5jb20+LgoKMjAwMC0wNS0wNyAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBuc3MvbnNzX2RiL2RiLW9wZW4uYzogQ2xlYW51cCBhbmQgYWRkIGNvbW1lbnRzLiAgUHJldHR5IHByaW50LgoJUmVtb3ZlIGR1cGxpY2F0ZSA8ZXJybm8uaD4gaW5jbHVkZS4gIFJlbW92ZSBpbmNsdXNpb24gb2YKCTxsaWJpbnRsLmg+IGFuZCAibnNzd2l0Y2guaCIuCgkoc2V0X2Nsb2V4ZWNfZmxhZyk6IE5ldyBmdW5jdGlvbiwgYnJva2VuIG91dCBvZiBkYm9wZW4uCgkoZGJvcGVuKTogQ2hhbmdlZCByZXR1cm4gdHlwZSB0byBgZW51bQoJbnNzX3N0YXR1cycuICBNb3N0bHkgcmV3cml0dGVuIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGRvIG5vdCByZXBvcnQKCU5TU19TVEFUVVNfU1VDQ0VTUyBpZiBzb21ldGhpbmcgd2VudCB3cm9uZy4gIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYXN0cy4KCShpbnRlcm5hbF9zZXRlbnQpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gbnNzX3N0YXR1cy4KCURvY3VtZW50LCBhbmQgbWFrZSBzdXJlIHRoYXQgdGhlIGZ1bmN0aW9uCgliZWhhdmVzIGFjY29yZGluZ2x5LiAgTWFrZSBkeW5hbWljYWxseSBsb2FkaW5nIHRoZSBkYXRhYmFzZQoJbGlicmFyeSByZWFsbHkgdGhyZWFkLXNhZmUgYW5kIHJldHVybiBOU1NfU1RBVFVTX1VOQVZBSUwgaWYgaXQKCWZhaWxlZC4KCShkYl9jdXJzb3IpOiBSZXR1cm4gRU5PTUVNIGlzIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZC4gIFJlbW92ZQoJdW5lY2Vzc2FyeSBjYXN0cy4KCSogbnNzL25zc19kYi9kdW1teS1kYi5oOiBBZGQgY29weXJpZ2h0IG5vdGljZS4gIEltcHJvdmUKCWRvY3VtZW50YXRpb24uCgkoc3RydWN0IGRiYzI0LCBzdHJ1Y3QgZGJjMjcpOiBVc2UgREJUIHR5cGUgaW4gcGFyYW1ldGVyIGxpc3RzIGZvcgoJY19nZXQgZnVuY3Rpb24gbWVtYmVyLgoJKiBuc3MvbnNzX2RiL25zc19kYi5oOiBBZGQgYW5kIHR3ZWFrIHNvbWUgY29tbWVudHMuCgkoREJUKTogTW92ZSB0eXBlZGVmIGJlZm9yZSBOU1NfREJDIHR5cGVkZWYuCgkoTlNTX0RCQywgTlNTX0RCKTogVXNlIERCVCBpbiBmdW5jdGlvbiBtZW1iZXIgcGFyYW1ldGVyIGxpc3RzLgoKMjAwMC0wNS0wNyAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogY3N1L2luaXRmaW5pLmM6IE1vdmVkIHRvIC4uLi4KCSogc3lzZGVwcy9nZW5lcmljL2luaXRmaW5pLmM6IC4uLmhlcmUuCgoJKiBjc3UvTWFrZWZpbGUgKGluaXRmaW5pLmMpOiBTZXQgdnBhdGggdG8gJChmdWxsX2NvbmZpZ19zeXNkaXJzKS4KCjIwMDAtMDUtMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL3Jlc291cmNlLnRleGk6IERvY3VtZW50IFBPU0lYIHNjaGVkdWxpbmcgZnVuY3Rpb25zLgoJUGF0Y2ggYnkgQnJ5YW4gSGVuZGVyc29uIDxicnlhbmhAZ2lyYWZmZS1kYXRhLmNvbT4uCgoJKiBpbmV0L3JjbWQuYyAocmNtZF9hZik6IGVycm5vIGlzIG5vdCBzZXQgaWYgcmVhZCByZXR1cm5zIHdpdGhvdXQKCXJlYWRpbmcgYW55dGhpbmcuICBSZXBvcnRlZCBieSBBbmRyaWVzLkJyb3V3ZXJAY3dpLm5sLgoKCSogc3lzZGVwcy9nZW5lcmljL21lbWNjcHkuYyAoX19tZW1jY3B5KTogRG9uJ3QgdXNlIHJlZ19jaGFyIHR5cGUKCWZvciB4IHNpbmNlIHByb21vdGlvbiBpbiBjb21wYXJpc29uIG1pZ2h0IGxlYWRzIHRvIHVuZXhwZWN0ZWQKCXJlc3VsdHMuICBSZXBvcnRlZCBieSBEYW4gUG9wIDxEYW4uUG9wQGNlcm4uY2g+LgoKCSogaWNvbnYvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1pY29udjEuCgkqIGljb252L3RzdC1pY29udjEuYzogTmV3IGZpbGUuCgkqIGljb252L2djb252X3NpbXBsZS5jIChpbnRlcm5hbF91Y3M0X2xvb3ApOiBQcmVmZXIgcmVwb3J0aW5nCgllbXB0eSBpbnB1dCBidWZmZXIgb3ZlciBmdWxsIG91dHB1dCBidWZmZXIuCgkodWNzNF9pbnRlcm5hbF9sb29wKTogTGlrZXdpc2UuCgkodWNzNF9pbnRlcm5hbF9sb29wX3VuYWxpZ25lZCk6IExpa2V3aXNlLgoJKGludGVybmFsX3VjczRsZV9sb29wKTogTGlrZXdpc2UuCgkoaW50ZXJuYWxfdWNzNGxlX2xvb3BfdW5hbGlnbmVkKTogTGlrZXdpc2UuCgkodWNzNGxlX2ludGVybmFsX2xvb3ApOiBMaWtld2lzZS4KCSh1Y3M0bGVfaW50ZXJuYWxfbG9vcF91bmFsaWduZWQpOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IHlhb3pAbmloLmdvdi4KCjIwMDAtMDUtMDYgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X29wZW4uYyAoX19nY29udl9vcGVuKTogSWYgX19nY29udl9maW5kX3RyYW5zZm9ybQoJcmV0dXJuZWQgIT0gX19HQ09OVl9PSywgdGhlcmUgaXMgbm90aGluZyB0byBjbGVhbiB1cC4KCjIwMDAtMDUtMDYgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvdHN0LWdldHRleHQuYyAobWFpbik6IERpc2FibGUgcG9zc2libHkgZXhpc3RpbmcgTENfQ1RZUEUgYW5kCglPVVRQVVRfQ0hBUlNFVCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCgoyMDAwLTA1LTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoc3RydWN0IGZpbGVfZW50cnlfbmV3KTogTmV3LgoJKHN0cnVjdCBjYWNoZV9maWxlX25ldyk6IE5ldy4KCShzdHJ1Y3QgZmlsZV9lbnRyeSk6IE5ldyAobW92ZWQgZnJvbSBjYWNoZS5jKS4KCShzdHJ1Y3QgY2FjaGVfZmlsZSk6IE5ldyAobW92ZWQgZnJvbSBjYWNoZS5jKS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChTRUFSQ0hfQ0FDSEUpOiBOZXcgbWFjcm8sIGJyb2tlbiBvdXQKCWZyb20gX2RsX2xvYWRfY2FjaGVfbG9va3VwLgoJKF9kbF9sb2FkX2NhY2hlX2xvb2t1cCk6IE1vdmUgc2VhcmNoIHRvIFNFQVJDSF9DQUNIRSBtYWNybywgaGFuZGxlCgl0aGUgZGlmZmVyZW50IGNhY2hlIGZvcm1hdHMuCglOZXcgdmFyaWFibGUgY2FjaGVfbmV3IGZvciBuZXcgZm9ybWF0LgoKCSogZWxmL2xkY29uZmlnLmg6IENoYW5nZSBhY2NvcmRpbmcgdG8gY2hhbmdlcyBpbiBjYWNoZS5jIGFuZAoJbGRjb25maWcuYzsgcmVtb3ZlIGNhY2hlX2xpYmNtcDsgYWRkIG9wdF9mb3JtYXQuCgoJKiBlbGYvbGRjb25maWcuYzogSW5jbHVkZSAiZGwtY2FjaGUuaCIgYW5kICJkbC1wcm9jaW5mby5oIjsgcmVtb3ZlCglzdHVmZiB0aGF0J3MgZGVmaW5lZCBpbiB0aG9zZSBoZWFkZXJzLgoJQWRkIGh3Y2FwIHRvIHN0cnVjdCBsaWJfZW50cnkuCgkob3B0X2Zvcm1hdCk6IE5ldyB2YXJpYWJsZSB0byBzZWxlY3QgY2FjaGUgZm9ybWF0LgoJKG9wdGlvbnMpOiBBZGQgZm9ybWF0IHBhcmFtZXRlci4KCShpc19od2NhcCk6IE5ldyBmdW5jdGlvbi4KCShwYXRoX2h3Y2FwKTogTmV3IGZ1bmN0aW9uLgoJKHBhcnNlX29wdCk6IEhhbmRsZSBuZXcgZm9ybWF0IHBhcmFtZXRlci4KCShzZWFyY2hfZGlyKTogSGFuZGxlIGh3Y2FwLCBzZWFyY2ggYWxzbyBzdWJkaXJlY3RvcmllcyB3aXRoIGh3Y2FwLgoKCSogZWxmL2NhY2hlLmMgKF9HTlVfU09VUkNFKTogUmVtb3ZlZC4gIE5vdCBuZWVkZWQgYW55bW9yZSBzaW5jZQoJbGRjb25maWcgaXMgcGFydCBvZiBnbGliYy4KCUluY2x1ZGUgZGwtY2FjaGUuaCBhbmQgcmVtb3ZlIHN0dWZmIHRoYXQncyBkZWZpbmVkIHRoZXJlLgoJKHN0cnVjdCBjYWNoZV9lbnRyeSk6IEFkZCBuZXcgbWVtYmVyIGh3Y2FwLgoJKHByaW50X2VudHJ5KTogUHJpbnQgaHdjYXAsIGNsZWFudXAgYSBiaXQuCgkocHJpbnRfY2FjaGUpOiBQcmludCBuZXcgYW5kIG9sZCBmb3JtYXRzLgoJKGNvbXBhcmUpOiBVc2UgX2RsX2NhY2hlX2xpYmNtcCBmcm9tIGRsLWNhY2hlLmg7IGhhbmRsZSBod2NhcC4KCShzYXZlX2NhY2hlKTogU2F2ZSBuZXcgYW5kIG9sZCBmb3JtYXRzLgoJKGFkZF90b19jYWNoZSk6IEhhbmRsZSBod2NhcC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChfZGxfY2FjaGVfbGliY21wKTogTW92ZWQgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5oIChfZGxfY2FjaGVfbGliY21wKTogLi4udG8gaGVyZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmMgKExEX1NPX0NBQ0hFKTogTW92ZWQgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5oIChMRF9TT19DQUNIRSk6IC4uLnRvIGhlcmUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChDQUNIRU1BR0lDKTogTW92ZWQgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5oIChDQUNIRU1BR0lDKTogLi4udG8gaGVyZS4KCjIwMDAtMDUtMDUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvZGNpZ2V0dGV4dC5jIChhbGlnbm9mKTogTmV3IG1hY3JvLgoJKF9ubF9maW5kX21zZyk6IFVzZSBpdCBpbnN0ZWFkIG9mIF9fYWxpZ25vZl9fLiBQYXNzIGNvcnJlY3Qgb3V0cHV0CglidWZmZXIgbGVuZ3RoIHRvIF9fZ2NvbnYvaWNvbnYuIElmIG1hbGxvYyAoZnJlZW1lbV9zaXplKSBmYWlscywgc2V0CglmcmVlbWVtX3NpemUgdG8gMC4KCjIwMDAtMDUtMDUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvZGNpZ2V0dGV4dC5jIChkY2lnZXR0ZXh0KTogRml4IGludGVycHJldGF0aW9uIG9mIHRzZWFyY2gKCXJldHVybiB2YWx1ZS4KCjIwMDAtMDUtMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKERDSUdFVFRFWFQpOiBBbHdheXMgZGVmaW5lIGxvY2FsIHZhcmlhYmxlIGBpbmRleCcuCgkobWVtcGNweSk6IENvcnJlY3QgdHlwbyBpcyBwYXJhbWV0ZXIgbGlzdC4KCjIwMDAtMDUtMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmg6IERpc2FibGUgc29tZSBpbmxpbmUKCWZ1bmN0aW9ucyB1bmxlc3MgLWZmYXN0LW1hdGggaXMgZ2l2ZW4gdG8gZ2NjLgoKMjAwMC0wNS0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby9rby5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDAtMDUtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2xpbnV4L2Vycm5vY29udi5jOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2FpeC9lcnJub2NvbnYuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2xpbnV4L3N0YXRjb252LmM6IE1vdmVkIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYWl4L3N0YXRjb252LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9saW51eC9kaXJlbnRjb252LmM6IE1vdmVkIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYWl4L2RpcmVudGNvbnYuYzogLi4uaGVyZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9saW51eC9saW51eC1lcnJuby5oOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbGludXgvbGludXgtc3RhdC5oOiBSZW1vdmVkCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9saW51eC9saW51eC1kaXJlbnQuaDogUmVtb3ZlZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYWl4L2FpeC1kaXJlbnQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYWl4L2FpeC1lcnJuby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9haXgvYWl4LXN0YXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYWl4L2FpeC10ZXJtaW9zLmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9haXgvdGNnZXRhdHRyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2FpeC90Y3NldGF0dHIuYzogTmV3IGZpbGUuCgoyMDAwLTA1LTA1ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGwuUzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdHlwZXMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9lbmRpYW4uaDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL2lhNjQvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9WZXJzaW9uczogTmV3IGZpbGUuICBEZWNsYXJlIF9kbF9zeW1ib2xfYWRkcmVzcy4KCSogc3lzZGVwcy9pYTY0L01ha2VmaWxlOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2dtcC1tcGFyYW0uaDogTmV3IGZpbGUsCgoJKiBzeXNkZXBzL2lhNjQvZWxmL3N0YXJ0LlM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9pYTY0L2JpdHMvZmVudi5oOiBOZXcgZmlsZS4KCjIwMDAtMDUtMDUgIERhdmlkIE1vc2Jlcmdlci1UYW5nICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5TOiBOZXcgZmlsZS4KCjIwMDAtMDQtMjYgIEplcyBTb3JlbnNlbiAgPEplcy5Tb3JlbnNlbkBjZXJuLmNoPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL2VsZmNsYXNzLmg6IE5ldyBmaWxlLiAgVGhlCglpYTY0IGhhcyA2NCBiaXQgLmhhc2ggZW50cmllcyBqdXN0IGFzIHRoZSBBbHBoYS4KCjIwMDAtMDQtMjUgIEplcyBTb3JlbnNlbiAgPEplcy5Tb3JlbnNlbkBjZXJuLmNoPgoKCSogc3lzZGVwcy9pYTY0L21lbXByb2YuaDogTmV3IGZpbGUuICBQcm92aWRlIEdFVFNQKCkgbWFjcm8uCgoyMDAwLTA0LTE3ICBKZXMgU29yZW5zZW4gIDxKZXMuU29yZW5zZW5AY2Vybi5jaD4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmNscmV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZlZGlzYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZlZW5hYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZlZ2V0ZW52LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZlZ2V0ZXhjZXB0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZlZ2V0cm91bmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmVob2xkZXhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmVzZXRlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmVzZXRyb3VuZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mZXVwZGF0ZWVudi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mZ2V0ZXhjcHRmbGcuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZnJhaXNlZXhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZnNldGV4Y3B0ZmxnLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2Z0ZXN0ZXhjZXB0LmM6IE5ldyBmaWxlLgoKMjAwMC0wNS0wNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWlzYy90c3QtdHNlYXJjaC5jIChtYWluKTogQ29ycmVjdCB0eXBlIGZvciBpbml0c3RhdGUgYXJndW1lbnQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtcHJvY2luZm8uaCAoX0RMX0hXQ0FQX0NPVU5UKTogTmV3LgoJKF9kbF9zdHJpbmdfaHdjYXApOiBOZXcsIGRvZXMgbm90aGluZy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZGwtcHJvY2luZm8uaCAoX0RMX0hXQ0FQX0NPVU5UKTogTmV3LgoJKF9kbF9wcm9jaW5mbyk6IFVzZSBfRExfSFdDQVBfQ09VTlQgaW5zdGVhZCBvZiBhIGNvbnN0YW50LgoJKF9kbF9zdHJpbmdfaHdjYXApOiBOZXcgZnVuY3Rpb24sIGNvbnZlcnRzIGZyb20gc3RyaW5nIHRvIGh3Y2FwCgllbmNvZGluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9kbC1wcm9jaW5mby5oCgkoX0RMX0hXQ0FQX0NPVU5UKTogTmV3LgoJKF9kbF9wcm9jaW5mbyk6IFVzZSBfRExfSFdDQVBfQ09VTlQgaW5zdGVhZCBvZiBhIGNvbnN0YW50LgoJKF9kbF9zdHJpbmdfaHdjYXApOiBOZXcgZnVuY3Rpb24sIGNvbnZlcnRzIGZyb20gc3RyaW5nIHRvIGh3Y2FwCgllbmNvZGluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9kbC1wcm9jaW5mby5oCgkoX0RMX0hXQ0FQX0NPVU5UKTogTmV3LgoJKF9kbF9wcm9jaW5mbyk6IFVzZSBfRExfSFdDQVBfQ09VTlQgaW5zdGVhZCBvZiBhIGNvbnN0YW50LgoJKF9kbF9zdHJpbmdfaHdjYXApOiBOZXcgZnVuY3Rpb24sIGNvbnZlcnRzIGZyb20gc3RyaW5nIHRvIGh3Y2FwCgllbmNvZGluZy4KCjIwMDAtMDUtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGRsLWxvb2t1cGNmZy5oLgoJKiBzeXNkZXBzL2lhNjQvRGlzdDogTmV3IGZpbGUuCgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogTGl0dGxlIG9mIGNvbXB1dGF0aW9uIG9mCglwYXJhbWV0ZXIgdG8gbXByb3RlY3QgYW5kIGZvciB2YXJpYWJsZSBhc3NpZ25tZW50cy4KCjIwMDAtMDUtMDMgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKExPT0tVUF9WQUxVRV9BRERSRVNTKTogQ2hlY2sgdGhlCgl2YWxpZGl0eSBvZiBtYXAgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQuCgoJKiBlbGYvZGwtcmVsb2MuYyAoUkVTT0xWRV9NQVApOiBEZWZpbmUuCgoyMDAwLTA1LTAyICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIGVsZi9kbC1ydW50aW1lLmMgKGZpeHVwKTogQWRkIHRoZSB2YWx1ZSByZXR1cm5lZCBpbiB0aGUgc3ltYm9sCglsb29rdXAgdG8gdGhlIGFyZ3VtZW50cyB0byBlbGZfbWFjaGluZV9maXh1cF9wbHQoKS4KCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IEFkZCBMaW5rX21hcAoJb2YgdGhlIHN5bWJvbCBiZWluZyByZXNvbHZlZCB0byBpbnB1dCBhcmd1bWVudCBsaXN0IGFuZCBtYWtlIHRoZQoJZnVuY3Rpb24gcmV0dXJuIHRoZSBwb2ludGVyIHRvIHRoZSByZWxvYy4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOiBDaGFuZ2UKCXJldHVybiB2YWx1aWUgdG8gbG9va3VwX3QgYW5kIHJldHVybiB0aGUgdmFsdWUuCgkqIHN5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfZml4dXBfcGx0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfZml4dXBfcGx0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IExpa2V3aXNlLgoJTWFrZSBpdCBhbiBpbmxpbmUgZnVuY3Rpb24gcmV0dXJuaW5nIHZhbHVlIGFmdGVyIGNhbGxpbmcKCV9fZWxmX21hY2hpbmVfZml4dXBfcGx0KCkuCgoJKiBlbGYvZGwtc3ltLmMgKF9kbF92c3ltKTogVXNlIERMX1NZTUJPTF9BRERSRVNTKCkgdG8gb2J0YWluIHRoZQoJc3ltYm9sIGFkZHJlc3MuCgoJKiBlbGYvZGwtc3ltYm9sLmMgKF9kbF9zeW1ib2xfdmFsdWUpOiBVc2UgTE9PS1VQX1ZBTFVFX0FERFJFU1MgdG8KCW9idGFpbiB0aGUgc3ltYm9sIGFkZHJlc3MuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogQWRkIGdlbmVyaWMgRExfU1lNQk9MX0FERFJFU1MoKSBtYWNybwoJZGVwZW5kaW5nIG9uIHRoZSBkZWZpbml0aW9uIG9mIEVMRl9GVU5DVElPTl9QVFJfSVNfU1BFQ0lBTC4KCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmg6IEFkZCBETF9TWU1CT0xfQUREUkVTUygpIG1hY3JvIGNhbGxpbmcKCV9kbF9zeW1ib2xfYWRkcmVzcygpIC0gdGhpcyB3YXkgRExfU1lNQk9MX0FERFJFU1MoKSB0dXJucyBpbnRvIGFuCglpbmxpbmUgb24gbm9uIGlhNjQuCgoyMDAwLTA0LTI4ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIGVsZi9kbC1ydW50aW1lLmMgKGZpeHVwKTogVXNlIHRoZSBwb3J0YWJsZSBtYWNyb3MgdG8gZ2V0IHRoZQoJc3ltYm9sIGFkZHJlc3Mgb2YgYW4gb2JqZWN0LgoKCSogZWxmL2RsLXJ1bnRpbWUuYyAoZml4dXAtcHJvZmlsZSk6IFVzZSB0aGUgcG9ydGFibGUgbWFjcm9zIHRvIGdldAoJdGhlIHN5bWJvbCBhZGRyZXNzIG9mIGFuIG9iamVjdC4KCgkqIGVsZi9kbC1saWJjLmMgKHN0cnVjdCBkb19kbHN5bV9hcmdzKTogQ2hhbmdlIGxvYWRiYXNlIHRvIGEgbG9va3VwX3QuCgkqIGVsZi9kbC1sb29rdXAuYyAoX2RsX2xvb2t1cF9zeW1ib2wpOiBMaWtld2lzZS4KCShfZGxfbG9va3VwX3N5bWJvbF9za2lwKTogTGlrZXdpc2UuCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sKTogTGlrZXdpc2UuCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sX3NraXApOiBMaWtld2lzZS4KCjIwMDAtMDQtMjcgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogZWxmL3J0bGQuYyAoX2RsX3N0YXJ0KTogR2V0IHRoZSBmdW5jdGlvbiBwb2ludGVyIHJldHVybiBhZGRyZXNzCgl2aWEgX2RsX3N0YXJ0X2FkZHJlc3MgZm9yIGFyY2hpdGVjdHVyZXMgdGhhdCBuZWVkIGEgZnVuY3Rpb24KCXBvaW50ZXIgZGVzY3JpcHRvciByYXRoZXIgdGhhbiBqdXN0IGEgcG9pbnRlciAoaWE2NCkuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtbG9va3VwY2ZnLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZGwtbG9va3VwY2ZnLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2RsLXN5bWFkZHIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9kbC1mcHRyLmM6IE5ldyBmaWxlLgoKCSogZWxmL2VsZi5oOiBBZGQgSUEtNjQgc3BlY2lmaWMgZGVmaW5pdGlvbnMuCgoyMDAwLTA1LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2NvbmZuYW1lLmggKF9TQyogZW51bSk6IEF2b2lkIGNvbW1hIGF0IHRoZQoJZW5kIG9mIGVudW0uCgoyMDAwLTA1LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252LmggKF9fZ2NvbnZfdCk6IEFkZCBfX2V4dGVuc2lvbl9fIHRvIG1ha2UgZ2NjIC1wZWRhbnRpYwoJaGFwcHkuCgoyMDAwLTA0LTExICBHZW9mZiBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtc3RhcnQuUyAoX2RsX3N0YXJ0KTogQWRkIF9kbF9zdGFydF91c2VyCglzeW1ib2wuICBDYWxsIF9kbF9pbml0IHJhdGhlciB0aGFuIHRoZSBvbGQgd2F5LgoKMjAwMC0wNS0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IFVzZSBsX21hcF9zdGFydCBhbmQgbF9tYXBfZW5kIHRvCgl0ZXN0IGZvciBwb2ludGVyIGluIHJhbmdlIG9mIERTTyBhZGRyZXNzIHNwYWNlLgoKMjAwMC0wNS0wNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbnNjZC9wd2RjYWNoZS5jIChhZGRwd2J5bmFtZSk6IEluaXRpYWxpemUgb2xkZXVpZCB0byBzaWxlbmNlIEdDQy4KCjIwMDAtMDUtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2ZpbmRsb2NhbGUuYyAoX25sX2ZpbmRfbG9jYWxlKTogQWRkIG5ldyBwYXJhbWV0ZXIgdG8KCWNhbGxzIG9mIF9ubF9tYWtlX2wxMG5mbGlzdC4KCgkqIGxpYmlvL3N0ZGlvLmg6IE1ha2UgZnNlZWtvIGFuZCBmdGVsbG8gcHJvdG90eXBlcyBhdmFpbGFibGUgaXMKCV9fVVNFX0xBUkdFRklMRS4gIFBhdGNoIGJ5IFBhdWwgRWdnZXJ0IDxlZ2dlcnRAdHdpbnN1bi5jb20+LgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWVudmlyb24uYyAodW5zZXRlbnYpOiBGb2xsb3cgY2hhbmdlIHRvIHRoZQoJcmVhbCB1bnNldGVudiBpbXBsZW1lbnRhdGlvbiBmcm9tIDE5OTktMDctMjkgW1BSIGxpYmMvMTcxNF0uCgoyMDAwLTA1LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYyAoZGNpZ2V0dGV4dCk6IERvIHRoZSBkZWZhdWx0aW5nIG9mICdkb21haW5uYW1lJwoJYmVmb3JlIGNhbGxpbmcgdGZpbmQuCgoyMDAwLTAzLTA1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9yZXNvbHYuaCAocmVzX3F1ZXJ5ZG9tYWluKTogUmVtb3ZlIHJlZGVmaW5pdGlvbiB0bwoJX19yZXNfcXVlcnlkb21haW4gKHJlcG9ydGVkIGJ5IE93ZW4gVGF5bG9yIDxvdGF5bG9yQHJlZGhhdC5jb20+KS4KCjIwMDAtMDUtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZ2wucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoJKiBtYW51YWwvaW50cm8udGV4aSAoUHJvZ3JhbSBCYXNpY3MpOiBDaGFuZ2Ugc2VjdGlvbiB0aXRsZS4KCSogbWFudWFsL3Byb2Nlc3MudGV4aTogRml4IHJlZmVyZW5jZS4KCShFeGVjdXRpbmcgYSBGaWxlKTogQWRkIHJlZmVyZW5jZSBleGVjIGluIG90aGVyIHNlY3Rpb24uCgkqIG1hbnVhbC9zaWduYWwudGV4aTogRml4IHJlZmVyZW5jZS4KCSogbWFudWFsL3N0YXJ0dXAudGV4aTogRG9jdW1lbnQgc3lzY2FsbCBmdW5jdGlvbi4KCVBhdGNoZXMgYnkgQnJ5YW4gSGVuZGVyc29uIDxicnlhbmhAZ2lyYWZmZS1kYXRhLmNvbT4uCgoyMDAwLTA0LTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2xpYmludGwuaCAoYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQpOiBOZXcgZGVjbGFyYXRpb24uCgkqIGludGwvYmluZHRleHRkb20uYyAoc2V0X2JpbmRpbmdfdmFsdWVzKTogTmV3IGZ1bmN0aW9uLgoJKGJpbmR0ZXh0ZG9tYWluKTogQ2FsbCBpdC4KCShiaW5kX3RleHRkb21haW5fY29kZXNldCk6IE5ldyBmdW5jdGlvbi4KCSogaW50bC9kY2lnZXR0ZXh0LmMgKGRjaWdldHRleHQpOiBQYXNzIGJpbmRpbmcgdG8gX25sX2ZpbmRfZG9tYWluLgoJKGZyZWVfbWVtKTogRnJlZSBlYWNoIGJpbmRpbmcncyBjb2Rlc2V0LgoJKiBpbnRsL2dldHRleHRQLmggKHN0cnVjdCBiaW5kaW5nKTogQWRkIGNvZGVzZXQgZmllbGQuCgkoX25sX2ZpbmRfZG9tYWluKTogQWRkIGRvbWFpbmJpbmRpbmcgYXJndW1lbnQuCgkqIGludGwvZmluZGRvbWFpbi5jIChfbmxfZmluZF9kb21haW4pOiBBZGQgZG9tYWluYmluZGluZyBhcmd1bWVudC4KCVBhc3MgaXQgdG8gX25sX21ha2VfbDEwbmZsaXN0LgoJKiBpbnRsL2xvYWRpbmZvLmggKHN0cnVjdCBsb2FkZWRfbDEwbmZpbGUpOiBBZGQgZG9tYWluYmluZGluZyBmaWVsZC4KCShfbmxfbWFrZV9sMTBuZmxpc3QpOiBBZGQgZG9tYWluYmluZGluZyBhcmd1bWVudC4KCSogaW50bC9sMTBuZmxpc3QuYyAoX25sX21ha2VfbDEwbmZsaXN0KTogQWRkIGRvbWFpbmJpbmRpbmcgYXJndW1lbnQuCgkqIGludGwvbG9hZG1zZ2NhdC5jIChfbmxfbG9hZF9kb21haW4pOiBMb29rIGF0IHRoZSBkb21haW5iaW5kaW5nJ3MKCWNvZGVzZXQgd2hlbiBkZXRlcm1pbmluZyBvdXRjaGFyc2V0LiBJZiAhX0xJQkMgJiYgSEFWRV9JQ09OViwgY2FsbAoJbG9jYWxlX2NoYXJzZXQoKS4KCSogbWFudWFsL21lc3NhZ2UudGV4aTogTmV3IG5vZGUgIkNoYXJzZXQgY29udmVyc2lvbiBpbiBnZXR0ZXh0Ii4KCjIwMDAtMDQtMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGNhdGdldHMvb3Blbl9jYXRhbG9nLmMgKF9fb3Blbl9jYXRhbG9nKTogVXNlIF9fYnVpbHRpbl9leHBlY3Qgd2hlcmUKCWFwcHJvcHJpYXRlLiAgSGFuZGxlIHBvc3NpYmxlIF9fcmVhZCBlcnJvci4KCjIwMDAtMDQtMjkgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvZ2V0dGV4dFAuaCAoX19idWlsdGluX2V4cGVjdCk6IERlZmluZSBhcyBlbXB0eSBpZiBub3QgYQoJY29tcGlsZXIgYnVpbHRpbi4KCSogaW50bC9sb2FkaW5mby5oIChfX2J1aWx0aW5fZXhwZWN0KTogTGlrZXdpc2UuCgkqIGludGwvZGNpZ2V0dGV4dC5jIChkY2lnZXR0ZXh0LCBfbmxfZmluZF9tc2cpOiBVc2UKCV9fYnVpbHRpbl9leHBlY3Qgd2hlcmUgYXBwcm9wcmlhdGUuCgkqIGludGwvbG9hZG1zZ2NhdC5jIChfbmxfbG9hZF9kb21haW4pOiBMaWtld2lzZS4KCSogaW50bC9sb2NhbGVhbGlhcy5jIChleHRlbmRfYWxpYXNfdGFibGUpOiBSZXR1cm4gYW4gZXJyb3IgaW5kaWNhdG9yLgoJKHJlYWRfYWxpYXNfZmlsZSk6IEJhaWwgb3V0IGlmIGV4dGVuZF9hbGlhc190YWJsZSBmYWlscy4KCjIwMDAtMDQtMjkgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvbG9hZG1zZ2NhdC5jOiBEZWZpbmUgX0dOVV9TT1VSQ0UgYXMgZWFybHkgYXMgcG9zc2libGUuCgkqIGludGwvbG9jYWxlYWxpYXMuYzogTGlrZXdpc2UuCgoyMDAwLTA1LTAxICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2xvYWRfZG9tYWluKTogSW5pdGlhbGl6ZSBkb21haW4tPmNvbnZfdGFiLgoJSW5pdGlhbGl6ZSBkb21haW4tPnBsdXJhbCBhbmQgZG9tYWluLT5ucGx1cmFscyBldmVuIGlmIHRoZXJlIGlzIG5vCgludWxsZW50cnkuCgoyMDAwLTA1LTAxICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYyAoX25sX2ZpbmRfbXNnKTogVGVybWluYXRlIF9fZ2NvbnYgbG9vcCBpZiByZXR1cm4KCXZhbHVlIGlzID09IF9fR0NPTlZfT0sgb3IgPT0gX19HQ09OVl9FTVBUWV9JTlBVVCwgbm90ICE9IF9fR0NPTlZfT0suCglJbiBjYXNlIG9mIGZhaWx1cmUsIGdvdG8gY29udmVydGVkLgoKMjAwMC0wNS0wMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogd2NzbWJzL3djc21ic2xvYWQuYyAobm9ybV9hZGRfc2xhc2hlcyk6IE1vdmUgYXdheS4KCSogaWNvbnYvZ2NvbnZfaW50LmggKG5vcm1fYWRkX3NsYXNoZXMpOiBNb3ZlIHRvIGhlcmUuCgkqIGludGwvbG9hZG1zZ2NhdC5jIChfbmxfbG9hZF9kb21haW4pOiBOb3JtYWxpemUgc3RyaW5ncyBwYXNzZWQgdG8KCV9fZ2NvbnZfb3Blbi4KCjIwMDAtMDQtMjkgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvZGNpZ2V0dGV4dC5jICh0cmFuc2NtcCk6IENvbXBhcmUgdGhlIGRvbWFpbnMgYXMgd2VsbC4KCShkY2lnZXR0ZXh0KTogQ2FsbCBzdHJsZW4gKG1zZ2lkMSkgYWZ0ZXIgdGVzdGluZyBtc2dpZDEgYWdhaW5zdCBOVUxMLAoJbm90IGJlZm9yZS4KCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9sb2FkX2RvbWFpbik6IERlYWwgd2l0aCBFSU5UUi4gSW5jbHVkZQoJPGVycm5vLmg+LgoKMjAwMC0wNS0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdHJpbmcvYml0cy9zdHJpbmcyLmg6IERlY2xhcmUgX19zdHJkdXAgYW5kIF9fc3RybmR1cCBpZiBuZWNlc3NhcnkuCglSZXBvcnRlZCBieSBCcnVubyBIYWlibGUuCgoyMDAwLTA0LTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBtYW51YWwvYXJpdGgudGV4aTogUmVtb3ZlIEB3IGZyb20gQGl0ZW1pemUuCgoyMDAwLTA1LTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBjb25mb3JtL2RhdGEvdGFyLmgtZGF0YTogQWRkIHNvbWUgY2hlY2tzIGZvciBzcGVjaWZpYyB2YWx1ZXMuCgoJKiBjb25mb3JtL2RhdGEvc3RkbGliLmgtZGF0YTogQWRkIGNoZWNrcyBmb3IgdmFsdWUgb2YgRVhJVF9TVUNDRVNTCglhbmQgUkFORF9NQVguCgoJKiBjb25mb3JtL2RhdGEvc3RkaW8uaC1kYXRhOiBBZGQgY2hlY2tzIGZvciB2YWx1ZSBvZiBUTVBfTUFYIGFuZAoJRk9QRU5fTUFYLgoKCSogY29uZm9ybS9kYXRhL25ldGluZXQvaW4uaC1kYXRhOiBBZGQgZXhhY3QgY2hlY2tzIGZvciB0aGUgdmFsdWVzCglmbyBJTkVUX0FERFJTVFJMRU4gYW5kIElORVQ2X0FERFJTVFJMRU4uCgoJKiBjb25mb3JtL2RhdGEvZmxvYXQuaC1kYXRhOiBBZGQgc29tZSBtaW5pbWFsIHZhbHVlcy4KCgkqIGNvbmZvcm0vY29uZm9ybXRlc3QucGw6IFRlc3QgZm9yIG1hY3JvcyB3aXRoIHN0cmluZyBjb25zdGFudHMsCgljaGVjayBmb3IgbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZXMuCglBZGQgbGltaXRzLmggdG8gaGVhZGVycy4KCgkqIGNvbmZvcm0vZGF0YS9jcGlvLmgtZGF0YTogVGVzdCBmb3IgdmFsdWUgb2YgTUFHSUMuCgoJKiBjb25mb3JtL2RhdGEvbGltaXRzLmgtZGF0YTogTmV3IGZpbGUuCgoyMDAwLTA0LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBtYXRoL01ha2VmaWxlIChoZWFkZXJzKTogQWRkIGJpdHMvZmVudmlubGluZS5oLgoKMjAwMC0wNS0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbGludXgvbGludXgtZGlyZW50Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbGludXgvZGlyZW50Y29udi5jOiBOZXcgZmlsZS4KCgkqIHBvc2l4L1ZlcnNpb25zOiBDaGFuZ2UgcG9zaXhfc3Bhd25hdHRyX2dldGRlZmF1bHQgYW5kCglwb3NpeF9zcGF3bmF0dHJfc2V0ZGVmYXVsdCB0byBwb3NpeF9zcGF3bmF0dHJfZ2V0c2lnZGVmYXVsdAoJYW5kIHBvc2l4X3NwYXduYXR0cl9zZXRzaWdkZWZhdWx0IHJlc3BlY3RpdmVseS4KCSogcG9zaXgvc3Bhd24uaDogTGlrZXdpc2UuCgkqIHBvc2l4L3NwYXduYXR0cl9nZXRkZWZhdWx0Lmg6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bmF0dHJfc2V0ZGVmYXVsdC5oOiBMaWtld2lzZS4KCSogY29uZm9ybS9kYXRhL3NwYXduLmgtZGF0YTogTGlrZXdpc2UuCgoyMDAwLTA1LTAxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBuc2NkL25zY2QuYzogSW5jbHVkZSA8Z3JwLmg+IGZvciBzZXRncm91cHMgcHJvdG90eXBlLgoKMjAwMC0wNC0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvc3lzaW5mby50ZXhpOiBEb2N1bWVudCBnZXRkb21haW5uYW1lLCBzZXRkb21haW5uYW1lCglhbmQgc3lzY3RsLgoJKiBtYW51YWwvc3RyaW5nLnRleGk6IEZpeCB0eXBvLgoJKiBtYW51YWwvdGVybWluYWwudGV4aTogRG9jdW1lbnQgZ3R0eSBhbmQgc3R0eS4KCVBhdGNoIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKMjAwMC0wNC0zMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcG9zaXgvYml0cy9wb3NpeDFfbGltLmggKF9QT1NJWF9QQVRIX01BWCk6IEluY3JlYXNlIHRvIDI1NiBpbgoJYWNjb3JkYW5jZSB3aXRoIEF1c3RpbiBEcmFmdC4KCjIwMDAtMDQtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY2F0Z2V0cy9nZW5jYXQuYyAocmVhZF9pbnB1dF9maWxlKTogVXNlIGlzYmxhbmsgYW5kIG5vdCBpc3NwYWNlCgl0byByZWNvZ25pemUgc2Vjb25kIGNoYXJhY3RlciBpbiBjb21tZW50IGxpbmUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pZl9pbmRleC5jIChpZl9uYW1laW5kZXgpOiBTZXQgZXJybm8gdG8KCUVOT0JVRlMgaWYgd2UgYXJlIG91dCBvZiBtZW1vcnkuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9mY250bC5oIChGX1NFVE9XTiwgRl9HRVRPV04pOiBNYWtlCglhdmFpbGFibGUgaWYgX19VU0VfWE9QRU4ySy4KCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2NvbW1vbi9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgoyMDAwLTA0LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2ljb252X3Byb2cuYyAobWFpbik6IEhhbmRsZSBpbnB1dCBmaWxlIG5hbWUgIi0iIGNvcnJlY3RseS4KCVJlY29nbml6ZSBvcHRpb24gLXMsIC1jLCBhbmQgLWwuCgoyMDAwLTA0LTIwICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBuc2NkL25zY2QuYzogU3RhcnQgbmV3IHNlc3Npb24gZm9yIG5zY2QsIGRyb3AgcHJpdmlsZWdzCgl0byBjb25maWd1cmVkIHVzZXIgaWYgcmVxdWVzdGVkIGFuZCBubyAtUyBwYXJhbWV0ZXIgYXJlIHVzZWQuCgkqIG5zY2QvbnNjZC5jb25mOiBBZGQgbmV3IG9wdGlvbiAic2VydmVyLXVzZXIiLgoJKiBuc2NkL25zY2RfY29uZi5jOiBBZGQgc3VwcG9ydCBmb3IgbmV3ICJzZXJ2ZXItdXNlciIgb3B0aW9uLgoJKiBuc2NkL25zY2QuaDogQWRkIGRlY2xhcmF0aW9uIGZvciBzZXJ2ZXJfdXNlciB2YXJpYWJsZS4KCUJhc2VkIG9uIHBhdGNoIGJ5IENocmlzIFdpbmcgPHdpbmdjQGVuZ2luLnVtaWNoLmVkdT4KCjIwMDAtMDQtMjkgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zaWdhY3Rpb24uYzogQWRkIGNvbW1lbnQgZXhwbGFpbmluZwoJdGhhdCBjaGFuZ2luZyB0aGUgX19yZXN0b3JlIGFuZCBfX3Jlc3RvcmVfcnQgc2lnbmFsIHJldHVybiBjb2RlCgl3aWxsIGJyZWFrIEdEQi4KCjIwMDAtMDQtMjkgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvdWNvbnRleHQuaDogRG8gbm90IGluY2x1ZGUKCTxzeXMvdXNlci5oPi4KCjIwMDAtMDQtMjkgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogY29uZm9ybS9kYXRhL3Vjb250ZXh0LmgtZGF0YTogQWxsb3cgc3NfKiBpbnN0ZWFkIG9mIFNTXyouCgoyMDAwLTA0LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNvbmZvcm0vY29uZm9ybXRlc3QucGwgKEBoZWFkZXJzKTogQWRkIHN5cy91dHNuYW1lLmgsIHN5cy91bi5oLAoJc3lzL3NvY2tldC5oLCBzcGF3bi5oLCBuZXRpbmV0L3RjcC5oLCBuZXRpbmV0L2luLmgsIG5ldC9pZi5oLCBhbmQKCWFycGEvaW5ldC5oLgoJKiBjb25mb3JtL2RhdGEvZmNudGwuaC1kYXRhOiBBZGQgRl9HRVRPV04sIEZfU0VUT1dOLAoJU0VFS19TRVQsIFNFRUtfQ1VSLCBTRUVLX0VORCwgU19JRk1ULCBTX0lGQkxLLCBTX0lGQ0hSLCBTX0lGSUZPLAoJU19JRlJFRywgU19JRkRJUiwgU19JRkxOSywgU19JRlNPQ0ssIFNfSVJXWFUsIFNfSVJVU1IgU19JV1VTUiwKCVNfSVhVU1IsIFNfSVJXWEcsIFNfSVJHUlAsIFNfSVdHUlAsIFNfSVhHUlAsIFNfSVJXWE8sIFNfSVJPVEgsCglTX0lXT1RILCBTX0lYT1RILCBTX0lTVUlELCBTX0lTR0lELCBTX0lTVlRYLCBQT1NJWF9GQURWX05PUk1BTCwKCVBPU0lYX0ZBRFZfU0VRVUVOVElBTCwgUE9TSVhfRkFEVl9SQU5ET00sIFBPU0lYX0ZBRFZfV0lMTE5FRUQsCglQT1NJWF9GQURWX0RPTlRORUVELCBQT1NJWF9GQURWX05PUkVVU0UsIHBvc2l4X2ZhZHZpc2UsCglwb3NpeF9mYWxsb2NhdGUsIGFuZCBwb3NpeF9tYWR2aXNlLgoJKiBjb25mb3JtL2RhdGEvbmV0ZGIuaC1kYXRhOiBOZXcgZmlsZS4KCSogY29uZm9ybS9kYXRhL3B0aHJlYWQuaC1kYXRhOiBBZGQgcHRocmVhZF9iYXJyaWVyX3QsCglwdGhyZWFkX2JhcnJpZXJhdHRyX3QsIHB0aHJlYWRfYmFycmllcl9kZXN0cm95LAoJcHRocmVhZF9iYXJyaWVyX2luaXQsIHB0aHJlYWRfYmFycmllcl93YWl0LAoJcHRocmVhZF9iYXJyaWVyYXR0cl9kZXN0cm95LCBwdGhyZWFkX2JhcnJpZXJhdHRyX2dldHBzaGFyZWQsCglwdGhyZWFkX2JhcnJpZXJhdHRyX2luaXQsIHB0aHJlYWRfYmFycmllcmF0dHJfc2V0cHNoYXJlZCwKCXB0aHJlYWRfY29uZGF0dHJfZ2V0Y2xvY2ssIHB0aHJlYWRfY29uZGF0dHJfc2V0Y2xvY2ssCglwdGhyZWFkX2dldGNwdWNsb2NraWQsIHB0aHJlYWRfbXV0ZXhfdGltZWRsb2NrLAoJcHRocmVhZF9yd2xvY2tfdGltZWRyZGxvY2ssIHB0aHJlYWRfcndsb2NrX3RpbWVkd3Jsb2NrLAoJcHRocmVhZF9zaWdtYXNrLCBwdGhyZWFkX3NwaW5fZGVzdHJveSwgcHRocmVhZF9zcGluX2luaXQsCglwdGhyZWFkX3NwaW5fbG9jaywgcHRocmVhZF9zcGluX3RyeWxvY2ssIGFuZCBwdGhyZWFkX3NwaW5fdW5sb2NrLgoJKiBjb25mb3JtL2RhdGEvc2NoZWQuaC1kYXRhOiBBZGQgc2NoZWRfc3NfbG93X3ByaW9yaXR5LAoJc2NoZWRfc3NfcmVwbF9wZXJpb2QsIHNjaGVkX3NzX2luaXRfYnVkZ2V0LCBzY2hlZF9zc19tYXhfcmVwbCwgYW5kCglTQ0hFRF9TUE9SQURJQy4KCSogY29uZm9ybS9kYXRhL3NlbWFwaG9yZS5oLWRhdGE6IEFkZCBzZW1fdGltZWR3YWl0LgoJKiBjb25mb3JtL2RhdGEvc2lnbmFsLmgtZGF0YTogQWRkIFNJR0lPLgoJKiBjb25mb3JtL2RhdGEvc3Bhd24uaC1kYXRhOiBOZXcgZmlsZS4KCSogY29uZm9ybS9kYXRhL3N0ZGxpYi5oLWRhdGE6IEFkZCBwb3NpeF9tZW1hbGlnbiwgc2V0ZW52LCBhbmQgdW5zZXRlbnYuCgkqIGNvbmZvcm0vZGF0YS90aW1lLmgtZGF0YTogQWRkIENMT0NLX1BST0NFU1NfQ1BVVElNRV9JRCwKCUNMT0NLX1RIUkVBRF9DUFVUSU1FX0lELCBjbG9ja19nZXRjcHVjbG9ja2lkLCBhbmQgY2xvY2tfbmFub3NsZWVwLgoJRml4IHR5cG8gaW4gZ210aW1lX3IgZGVmaW5pdGlvbi4KCSogY29uZm9ybS9kYXRhL3VuaXN0ZC5oLWRhdGE6IEFkZCBfUE9TSVhfQURWSVNPUllfSU5GTywKCV9QT1NJWF9BU1lOQ0hST05PVVNfSU8sIF9QT1NJWF9CQVJSSUVSUywgX1BPU0lYX01PTk9UT05JQ19DTE9DSywKCV9QT1NJWF9SRUFERVJfV1JJVEVSX0xPQ0tTLCBfUE9TSVhfU0hFTEwsIF9QT1NJWF9TUEFXTiwKCV9QT1NJWF9TUElOX0xPQ0tTLCBfUE9TSVhfU1BPUkFESUNfU0VSVkVSLCBfUE9TSVhfVEhSRUFEX0NQVVRJTUUsCglfUE9TSVhfVFlQRURfTUVNT1JZX09CSkVDVFMsIF9QT1NJWF9USFJFQURfU1BPUkFESUNfU0VSVkVSLAoJX1hPUEVOX1NUUkVBTVMsIF9QT1NJWF9USU1FT1VUUywgX1BPU0lYMl9QQlMsCglfUE9TSVgyX1BCU19BQ0NPVU5USU5HLCBfUE9TSVgyX1BCU19DSEVDS1BPSU5ULAoJX1BPU0lYMl9QQlNfTE9DQVRFLCBfUE9TSVgyX1BCU19NRVNTQUdFLCBfUE9TSVgyX1BCU19UUkFDSywKCV9TQ18yX1BCUywgX1NDXzJfUEJTX0FDQ09VTlRJTkcsIF9TQ18yX1BCU19DSEVDS1BPSU5ULAoJX1NDXzJfUEJTX0xPQ0FURSwgX1NDXzJfUEJTX01FU1NBR0UsIF9TQ18yX1BCU19UUkFDSywKCV9TQ19CQVJSSUVSUywgX1NDX0JBU0UsIF9TQ19DTE9DS19TRUxFQ1RJT04sIF9TQ19ERVZJQ0VfSU8sCglfU0NfREVWSUNFX1NQRUNJRklDLCBfU0NfREVWSUNFX1NQRUNJRklDX1IsIF9TQ19GRF9NR01ULCBfU0NfRklGTywKCV9TQ19GSUxFX0FUVFJJQlVURVMsIF9TQ19GSUxFX0xPQ0tJTkcsIF9TQ19GSUxFX1NZU1RFTSwKCV9TQ19NRU1PUllfUFJPVEVDVElPTiwgX1NDX01FU1NBR0VfUEFTU0lORywgX1NDX01PTk9UT05JQ19DTE9DSywKCV9TQ19NRVNTQUdFX1BBU1NJTkcsIF9TQ19NT05PVE9OSUNfQ0xPQ0ssIF9TQ19NVUxUSVBMRV9QUk9DRVNTLAoJX1NDX05FVFdPUktJTkcsIF9TQ19QSVBFLCBfU0NfUkVBREVSX1dSSVRFUl9MT0NLUywgX1NDX1JFR0VYUCwKCV9TQ19TSEVMTCwgX1NDX1NJR05BTFMsIF9TQ19TSU5HTEVfUFJPQ0VTUywgX1NDX1NQSU5fTE9DS1MsCglfU0NfVFlQRURfTUVNT1JZX09CSkVDVFMsIF9TQ19VU0VSX0dST1VQUywgX1NDX1VTRVJfR1JPVVBTX1IsCglfU0NfU1RSRUFNUywgX1BDX1JFQ19JTkNSX1hGRVJfU0laRSwgX1BDX1JFQ19NQVhfWEZFUl9TSVpFLAoJX1BDX1JFQ19NSU5fWEZFUl9TSVpFLCBfUENfUkVDX1hGRVJfQUxJR04sIHNldGVnaWQsIHNldGV1aWQuICBGaXgKCXR5cG8gaW4gb2ZmX3QgZGVmaW5pdGlvbi4KCSogY29uZm9ybS9kYXRhL25ldC9pZi5oLWRhdGE6IE5ldyBmaWxlLgoJKiBjb25mb3JtL2RhdGEvbmV0aW5ldC9pbi5oLWRhdGE6IE5ldyBmaWxlLgoJKiBjb25mb3JtL2RhdGEvbmV0aW5ldC90Y3AuaC1kYXRhOiBOZXcgZmlsZS4KCSogY29uZm9ybS9kYXRhL3N5cy9tbWFuLmgtZGF0YTogQWRkIFBPU0lYX01BRFZfTk9STUFMLAoJUE9TSVhfTUFEVl9TRVFVRU5USUFMLCBQT1NJWF9NQURWX1JBTkRPTSwgUE9TSVhfTUFEVl9XSUxMTkVFRCwKCVBPU0lYX01BRFZfRE9OVE5FRUQsIFBPU0lYX1RZUEVEX01FTV9BTExPQ0FURSwKCVBPU0lYX1RZUEVEX01FTV9BTExPQ0FURV9DT05USUcsIFBPU0lYX1RZUEVEX01FTV9NQVBfQUxMT0NBVEFCTEUsCglwb3NpeF90eXBlZG1lbV9pbmZvLCBwb3NpeF9tZW1fb2Zmc2V0LCBwb3NpeF90eXBlZF9tZW1fZ2V0X2luZm8sCglhbmQgcG9zaXhfdHlwZWRfbWVtX29wZW4uCgkqIGNvbmZvcm0vZGF0YS9zeXMvc29ja2V0LmgtZGF0YTogTmV3IGZpbGUuCgkqIGNvbmZvcm0vZGF0YS9zeXMvc3RhdC5oLWRhdGE6IEFkZCBTX1RZUEVJU1RNTyBhbmQgaXNmZHR5cGUuCgkqIGNvbmZvcm0vZGF0YS9zeXMvdHlwZXMuaC1kYXRhOiBBZGQgcHRocmVhZF9iYXJyaWVyX3QsCglwdGhyZWFkX2JhcnJpZXJhdHRyX3QsIGFuZCBwdGhyZWFkX3NwaW5sb2NrX3QuCgkqIGNvbmZvcm0vZGF0YS9zeXMvdW4uaC1kYXRhOiBOZXcgZmlsZS4KCSogY29uZm9ybS9kYXRhL3N5cy91dHNuYW1lLmgtZGF0YTogTmV3IGZpbGUuCgoJKiBpbmNsdWRlL25ldGRiLmggKF9fZ2V0aG9zdGJ5YWRkcl9yKTogRml4IHR5cGVzIG9mIGZpcnN0IGFuZCBzZWNvbmQKCXBhcmFtZXRlci4KCSogaW5ldC9nZXRoc3RieWFkLmMgKGdldGhvc3RieW5hbWUpOiBMaWtld2lzZS4KCSogaW5ldC9nZXRoc3RieWFkX3QuYyAoZ2V0aG9zdGJ5bmFtZV9yKTogTGlrZXdpc2UuCgkqIGluZXQvZ2V0aXBub2RlYnlhZC5jIChnZXRpcG5vZGVieWFkKTogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1ob3N0cy5jIChfbnNzX25pc19nZXRob3N0YnlhZGRyX3IpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtaG9zdHMuYyAoX25zc19uaXNwbHVzX2dldGhvc3RieWFkZHJfcik6CglMaWtld2lzZS4KCSogbnNjZC9nZXRoc3RieWFkX3IuYyAoZ2V0aG9zdGJ5YWRkcl9yKTogTGlrZXdpc2UuCgkqIG5zY2QvbnNjZF9nZXRoc3Rfci5jIChfX25zY2RfZ2V0aG9zdGJ5YWRkcl9yKTogTGlrZXdpc2UuCgkqIG5zY2QvbnNjZF9wcm90by5oIChfX25zY2RfZ2V0aG9zdGJ5YWRkcl9yKTogTGlrZXdpc2UuCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtaG9zdHMuYyAoX25zc19maWxlc19nZXRob3N0YnlhZGRyX3IpOiBMaWtld2lzZS4KCSogcmVzb2x2L2dldGhuYW1hZGRyLmMgKGdldGhvc3RieW5hbWUpOiBMaWtld2lzZS4KCSogcmVzb2x2L25ldGRiLmggKHN0cnVjdCBob3N0ZW50KTogRml4IHR5cGUgb2YgaF9sZW5ndGggbWVtYmVyLgoJKGdldGhvc3RieWFkZHIsIGdldGlwbm9kZWJ5YWRkciwgZ2V0aG9zdGJ5YWRkcl9yKTogRml4IHR5cGVzIG9mIGZpcnN0CglhbmQgc2Vjb25kIHBhcmFtZXRlci4KCgkqIHdjc21icy9tYnJ0b3djLmMgKF9fbWJydG93Yyk6IFNldCBlbmQgb2YgYnVmZmVyIGNvcnJlY3RseSBpZiBzCgk9PSBOVUxMLgoKMjAwMC0wNC0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogY29uZm9ybS9kYXRhL2FycGEvaW5ldC5oLWRhdGE6IE5ldyBmaWxlLgoKMjAwMC0wNC0yOCAgR2VvZmYgQ2xhcmUgPGd3Y0B1bmlzb2Z0LmNvbT4KCgkqIGlvL2Z0dy5jOiBTZXQgZXJybm8gdG8gRU5PRU5UIChpbnN0ZWFkIG9mIEVOT1RESVIpIHdoZW4gdGhlCglwYXRoIHBhc3NlZCB0byBmdHcoKSBvciBuZnR3KCkgaXMgYW4gZW1wdHkgc3RyaW5nLgoJQ2xvc2VzIFBSIGxpYmMvMTcxMC4KCjIwMDAtMDQtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlZGF0YS9NYWtlZmlsZSAodGVzdC1zcmNzKTogQWRkIHRzdC1tYnN3Y3M0IGFuZCB0c3QtbWJzd2NzNS4KCShkby10c3QtbWJzd2NzKTogQWRkIHRzdC1tYnN3Y3M0IGFuZCB0c3QtbWJzd2NzNSB0byBkZXBlbmRlbmNpZXMuCgkqIGxvY2FsZWRhdGEvdHN0LW1ic3djcy5zaDogUnVuIHRzdC1tYnN3Y3M0IGFuZCB0c3QtbWJzd2NzNS4KCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzNC5jOiBOZXcgZmlsZS4KCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzNS5jOiBOZXcgZmlsZS4KCgkqIHdjc21icy93Y3J0b21iLmMgKF9fd2NydG9tYik6IFNldCBlbmQgb2YgYnVmZmVyIGNvcnJlY3RseSBpZiBzCgk9PSBOVUxMLiAgTGl0dGxlIG9wdGltaXphdGlvbi4KCgkqIGVsZi9kbC1pbml0LmMgKF9kbF9pbml0KTogQ29ycmVjdCB0eXBvIChEVF9QUkVJTklUX0FSUkFZIG5vdAoJRFRfUFJFSU5JVF9BUlJBWVNaKS4KCVJlcG9ydGVkIGJ5IEplcyBTb3JlbnNlbiA8SmVzLlNvcmVuc2VuQGNlcm4uY2g+LgoKCSogaGVzaW9kL25zc19oZXNpb2QvaGVzaW9kLWdycC5jIChfbnNzX2hlc2lvZF9pbml0Z3JvdXBzKTogSGFuZGxlCglvdmVyZmxvd3MgaW4gY29udmVyc2lvbiBmcm9tIEFTQ0lJLgoKMjAwMC0wNC0yNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBNYWtlY29uZmlnIChmdWxsX2NvbmZpZ19zeXNkaXJzKTogUmVuYW1lZCBmcm9tIGZ1bGwtY29uZmlnLXN5c2RpcnMuCgkqIE1ha2VydWxlcyAoZnVsbF9jb25maWdfc3lzZGlycyk6IExpa2V3aXNlLgoJKiBNYWtlVEFHUyAoZnVsbF9jb25maWdfc3lzZGlycyk6IExpa2V3aXNlLgoKMjAwMC0wNC0yNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiAuY3ZzaWdub3JlOiBSZW1vdmUgbGludXh0aHJlYWRzLgoJKiBwby8uY3ZzaWdub3JlOiBSZW1vdmUgKi5wb3QuCgkqIHBvc2l4L2dsb2IvLmN2c2lnbm9yZTogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L2JzZC9vc2YvLmN2c2lnbm9yZTogUmVtb3ZlZC4KCjIwMDAtMDQtMjUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZvcm0vTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBbHNvIGRpc3RyaWJ1dGUgY29udGVudHMgb2YKCXN1YmRpcmVjdG9yaWVzLgoKCSogTWFrZXJ1bGVzIChub19kZXBzKTogUmVtb3ZlIGFiaS12ZXJzaW9ucy5oLgoKCSogbmlzL25pc19wcmludF9ncm91cF9lbnRyeS5jOiBJbmNsdWRlIGFsbG9jYS5oIGZvciBhbGxvY2EgcHJvdG90eXBlLgoKMjAwMC0wNC0yNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZWxmL0Rpc3Q6IFJlbW92ZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2VsZi9jcnRiZWdpbi5TOiBSZW1vdmUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9lbGYvY3J0YmVnaW5TLlM6IFJlbW92ZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2VsZi9jcnRlbmQuUzogUmVtb3ZlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZWxmL2NydGVuZFMuUzogUmVtb3ZlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZWxmL01ha2VmaWxlOiBEb24ndCBidWlsZCBjcnRiZWdpbi9jcnRlbmQKCW9iamVjdHMuCgoyMDAwLTA0LTI1ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBuc2NkL2dycGNhY2hlLmM6IEZpeCBncl9uYW1lIHBvaW50ZXIgW1BSLzE3MDJdLgoKMjAwMC0wNC0yMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9kY2lnZXR0ZXh0LmM6IERlZmluZSBfR05VX1NPVVJDRSBhcyBlYXJseSBhcyBwb3NzaWJsZS4KCSogaW50bC9sMTBuZmxpc3QuYzogTGlrZXdpc2UuCgoyMDAwLTA0LTIzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2JpbmR0ZXh0ZG9tLmMgWyFfTElCQ106IERlZmluZSBfX2xpYmNfcndsb2NrX2RlZmluZSwKCV9fbGliY19yd2xvY2tfd3Jsb2NrLCBfX2xpYmNfcndsb2NrX3VubG9jayBhcyBlbXB0eS4KCSogaW50bC90ZXh0ZG9tYWluLmMgWyFfTElCQ106IExpa2V3aXNlLgoJKiBpbnRsL2RjaWdldHRleHQuYyBbIV9MSUJDXTogRGVmaW5lIF9fbGliY19yd2xvY2tfZGVmaW5lX2luaXRpYWxpemVkLAoJX19saWJjX3J3bG9ja19yZGxvY2ssIF9fbGliY19yd2xvY2tfdW5sb2NrIGFzIGVtcHR5LgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2xvYWRfZG9tYWluKSBbIV9MSUJDLCAhSEFWRV9JQ09OVl06IEF2b2lkCglzeW50YXggZXJyb3IuCgoyMDAwLTA0LTIzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYyAoX25sX2ZpbmRfbXNnKTogRG8gdGhlIHBsdXJhbCB0cmVhdG1lbnQgYW5kCgljaGFyYWN0ZXIgc2V0IGNvbnZlcnNpb24gYWxzbyBpbiB0aGUgY2FzZSB0aGUgdHJhbnNsYXRpb24gd2FzIGZvdW5kCglhZnRlciBhIGhhc2ggY29sbGlzaW9uIG9yIHRocm91Z2ggYmluYXJ5IHNlYXJjaC4gIFN0b3JlIHRoZSBtYXhpbXVtCglpbmRleCB0b2dldGhlciB3aXRoIHRoZSBjb252ZXJ0ZWQgbWVzc2FnZS4gIFVzZSBpY29udigpIHdoZW4gYXZhaWxhYmxlLgoJSW4gY2FzZSBvZiBvdXQgb2YgbWVtb3J5IGR1cmluZyBjb252ZXJzaW9uLCByZXR1cm4gdGhlIHVuY29udmVydGVkCgl0cmFuc2xhdGVkIHN0cmluZywgbm90IE5VTEwuCgoyMDAwLTA0LTI1ICBKZXMgU29yZW5zZW4gIDxKZXMuU29yZW5zZW5AY2Vybi5jaD4KCgkqIHNobGliLXZlcnNpb25zOiBSZW5hbWUgaWE2NCBkeW5hbWljIGxpbmtlciB0byBsZC1saW51eC1pYTY0LnNvLjEKCXRvIGF2b2lkIG5hbWUgY2xhc2hlcyB3aXRoIHRoZSBpYTMyIGxpbmtlci4KCjIwMDAtMDQtMjUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKF9kbF9zdGFydF91c2VyKTogRml4IHRoZSBfZGxfc2tpcF9hcmdzCgloYW5kbGluZy4KCjIwMDAtMDQtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL3N0cmluZy50ZXhpOiBEb2N1bWVudCBzdHJjYXNlc3RyLCBzdHJjaHJudWwsIHN0cnRvaW1heCwKCXN0cnRvdW1heCwgc3RyZnJ5LCBhbmQgbWVtZnJvYi4KCSogbWFudWFsL2FyaXRoLnRleGk6IERvY3VtZW50IHssdX1pbnQqX3QgdHlwZXMsIGFuZCBzdHJ0b3tpLHV9bWF4LgoJUGF0Y2ggYnkgQnJ5YW4gSGVuZGVyc29uIDxicnlhbmhAZ2lyYWZmZS1kYXRhLmNvbT4uCgoJKiBlbGYvc29pbml0LmMgKF9fbGliY19nbG9iYWxfY3RvcnMpOiBDYWxsIF9fcHRocmVhZF9pbml0aWFsaXplX21pbmltYWwKCWlmIHRoaXMgZnVuY3Rpb24gaXMgYXZhaWxhYmxlLgoKCSogc3lzZGVwcy9pMzg2L2k0ODYvYXRvbWljaXR5LmggKGV4Y2hhbmdlX2FuZF9hZGQpOiBVc2UgdWludDMyX3QgZm9yCglhbGwgdmFsdWVzLgoKMjAwMC0wNC0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBuc3MvZ2V0WFhieVlZX3IuYzogRml4IGEgdHlwbyBpbiBfX29sZF9nZXR4eGJ5eXlfciB2ZXJzaW9uaW5nLgoKMjAwMC0wNC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGVkYXRhL01ha2VmaWxlICh0ZXN0LXNyY3MpOyBBZGQgdHN0LW1ic3djczMuCglBZGQgcnVsZSB0byBidWlsZCB0c3QtbWJzd2NzMyBiZWZvcmUgcnVubmluZyB0c3QtbWJzd2NzLnNoLgoJKiBsb2NhbGVkYXRhL3RzdC1tYnN3Y3Muc2g6IFJ1biB0c3QtbWJzd2NzMy4KCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzMy5jOiBOZXcgZmlsZS4KCjIwMDAtMDQtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogd2NzbWJzL21ic25ydG93Y3MuYzogQ29ycmVjdGx5IGNvbXB1dGUgbnVtYmVyIG9mIGNvbnZlcnRlZAoJY2hhcmFjdGVycy4gIERvbid0IGhhbmRsZSBpbmNvbXBsZXRlIGNoYXJhY3RlcnMgYXMgZXJyb3JzLgoJKiB3Y3NtYnMvbWJzcnRvd2NzLmM6IERvbid0IGhhbmRsZSBpbmNvbXBsZXRlIGNoYXJhY3RlcnMgYXMgZXJyb3JzLgoJKiBsb2NhbGVkYXRhL01ha2VmaWxlICh0ZXN0LXNyY3MpOiBBZGQgdHN0LW1ic3djczIuCglBZGQgcnVsZSB0byBidWlsZCB0c3QtbWJzd2NzMiBiZWZvcmUgcnVubmluZyB0c3QtbWJzd2NzLnNoLgoJKiBsb2NhbGVkYXRhL3RzdC1tYnN3Y3Muc2g6IFJ1biB0c3QtbWJzd2NzMi4KCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzMi5jOiBOZXcgZmlsZS4KCgkqIGljb252L2djb252X3NpbXBsZS5jICh1dGY4X2ludGVybmFsX2xvb3ApOiBDb3JyZWN0bHkgcmVjb25zdHJ1Y3QKCXN0b3JlZCBjaGFyYWN0ZXIgaW4gc3RhdGUgaW4gVU5QQUNLX0JZVEVTIG1hY3JvLgoJKiBpY29udi9sb29wLmMgKFNJTkdMRShMT09QRkNUKSk6IE1ha2UgaXQgYWN0dWFsbHkgd29yay4gIENvcnJlY3QKCXRlc3QgZm9yIGF2YWlsYWJsZSBjaGFyYWN0ZXJzLCBoYW5kbGUgcmVzdWx0IG9mIEJPRFkgY29kZSBjb3JyZWN0bHkuCgkqIGxvY2FsZWRhdGEvTWFrZWZpbGUgKHRlc3Qtc3Jjcyk6IEFkZCB0c3QtbWJzd2NzMS4KCShkaXN0cmlidXRlKTogQWRkIHRzdC1tYnN3Y3Muc2guCglBZGQgcnVsZSB0byBydW4gdHN0LW1ic3djcy5zaC4KCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzLnNoOiBOZXcgZmlsZS4KCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzMS5jOiBOZXcgZmlsZS4KCjIwMDAtMDQtMjYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbmlzL25pc19jYWxsYmFjay5jIChfX25pc19jcmVhdGVfY2FsbGJhY2spOiBEbyBmYWlsZWQgbWVtb3J5CglhbGxvY2F0aW9uIGZpeHVwcyBjZW50cmFsbHksIGZpeCBfX2J1aWx0aW5fZXhwZWN0IGNhbGwsIHJldHVybiBOVUxMCglvbiBmYWlsdXJlLCBub3QgTklTX05PTUVNT1JZLgoKMjAwMC0wNC0yNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9uZ2V0dGV4dC5jIFshX0xJQkNdOiBGaXggZGVmaW5pdGlvbiBvZiBOR0VUVEVYVC4KCgkqIGludGwvbG9hZGluZm8uaCAoaW50ZXJuYWxfZnVuY3Rpb24pOiBEZWZpbmUgaWYgbm90IGFscmVhZHkgZGVmaW5lZC4KCjIwMDAtMDQtMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGludGwvbGliaW50bC5oOiBGaXggdHlwbywgcmVwb3J0ZWQgYnkgQnJ1bm8gSGFpYmxlCgk8aGFpYmxlQGNsaXNwLmNvbnMub3JnPi4KCjIwMDAtMDQtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLXByb2ZpbGUuYyAoX2RsX21jb3VudCk6IFRyeSB0byBiZSB0aHJlYWQtc2FmZSB3aGlsZSBub3QKCXNldHRpbmcgdGhlIHN0YXRlIHRvIEdNT05fUFJPRl9CVVNZLgoKMjAwMC0wNC0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtcHJvZmlsZS5jIChfZGxfc3RhcnRfcHJvZmlsZSk6IGRlZmluZSBhbGwgdmFyaWFibGVzIHdoaWNoCglkbyBub3QgaGF2ZSB0byBiZSBnbG9iYWwgYXMgbG9jYWwgdmFyaWFibGVzLgoKCSogbmlzL25pc19jYWxsYmFjay5jIChfX25pc19jcmVhdGVfY2FsbGJhY2spOiBQYXJ0aWFsbHkgdW5kbyBsYXN0CglwYXRjaC4gIEtlZXAgbmVlZGVkIHRlc3RzIGZvciBmYWlsZWQgbWVtb3J5IGFsbG9jYXRpb24uCgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX3JlbG9jYXRlX29iamVjdCk6IEFkZCBvbmUgbW9yZQoJX19idWlsdGluX2V4cGVjdCBzYXlpbmcgdGhhdCB3ZSBkb24ndCBub3JtYWxseSBleHBlY3QgdG8gcHJvZmlsZS4KCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbCk6IEFkZAoJX19idWlsdGluX2V4cGVjdCB3aGVyZSBkZXNpcmFibGUuCgoyMDAwLTA0LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9NYWtlZmlsZSAoY2hhcHRlcnMpOiBBZGQgc3lzbG9nLgoJKiBtYW51YWwvc3lzbG9nLnRleGk6IE5ldyBmaWxlLgoJKiBtYW51YWwvbWF0aC50ZXhpOiBGaXggcmVmZXJlbmNlcy4KCSogbWFudWFsL3Rlcm1pbmFsLnRleGk6IExpa2V3aXNlLgoJUGF0Y2ggYnkgQnJ5YW4gSGVuZGVyc29uIDxicnlhbmhAZ2lyYWZmZS1kYXRhLmNvbT4uCgoyMDAwLTA0LTE4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3N5cy93YWl0Lmg6IERlZmluZSBfX1dBSVRfU1RBVFVTIGFuZCB0aGUgbGlrZSBlaXRoZXIgaWYKCXN0ZGxpYi5oIHdhcyBub3QgaW5jbHVkZWQgb3IgX19VU0VfWE9QRU4gbm90IGRlZmluZWQuCgoyMDAwLTA0LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zcy9NYWtlZmlsZSAobGlibnNzX2RiLWRicyk6IFJlbW92ZSBzdHJheSBiYWNrc2xhc2guCglQYXRjaCBieSBaYWNrIFdlaW5iZXJnIDx6YWNrQHdvbGVyeS5jdW1iLm9yZz4uCgoyMDAwLTA0LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9leGFtcGxlcy9zdWJvcHQuYyAobW91bnRfb3B0cyk6IEFkZCBtaXNzaW5nIHRlcm1pbmF0aW5nCgllbnRyeS4KCVJlcG9ydGVkIGJ5IE1pY2hhZWwgRGV1dHNjaG1hbm4gPG1pY2hhZWxAdGFsYW1hc2NhLm9jaXMubmV0Pi4KCgkqIGFzc2VydC9hc3NlcnQtcGVyci5jOiBJbmNsdWRlIDxzdGRsaWIuaD4gZm9yIGFib3J0IHByb3RvdHlwZS4KCSogbGliaW8vZnRlbGxvLmM6IExpa2V3aXNlLgoJKiBsaWJpby9mdGVsbG82NC5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mdGVsbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL21lbXJjaHIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvbGliY19mYXRhbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jOiBMaWtld2lzZS4KCSogbWlzYy9mc3RhYi5jOiBJbmNsdWRlIDxzdHJpbmcuaD4gZm9yIHN0cmNtcCBwcm90b3R5cGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCglQYXRjaCBieSBLdXJ0IFJvZWNreCA8UUBwaW5nLmJlPi4KCgkqIG5zcy9NYWtlZmlsZSAobGlibnNzX2RiLWRicyk6IFJlbmFtZWQgZnJvbSBsaWJuc3NfZGItcm91dGluZXMuCglSZW1vdmUgZGItb3Blbi4gIENoYW5nZSBhbGwgdXNlcy4KCShsaWJuc3NfZGItcm91dGluZXMpOiBEZWZpbmUgYXMgJChsaWJuc3NfZGItZGJzKSBkYi1vcGVuLgoKMjAwMC0wNC0yMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9tc2djdGwuYyAoX19zeXNjYWxsX21zZ2N0bCk6IERlY2xhcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NlbWN0bC5jIChfX3N5c2NhbGxfc2VtY3RsKTogRGVjbGFyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2htY3RsLmMgKF9fc3lzY2FsbF9zaG1jdGwpOiBEZWNsYXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRydXNhZ2UuUzogU3Vycm91bmQgdXNlcyBvZiAkZjI4Cgl3aXRoIC5zZXQgbm9hdC9hdCB0byBzaHV0IHVwIHdhcm5pbmdzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0IChfX2ZzdGF0ZnM2NCk6IEFkZCBhbGlhcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvaW9wZXJtLmMgKGluaXRfaW9zeXMpOiBBbGxvdwoJY29tcGlsYXRpb24gaWYgX19OUl9wY2ljb25maWdfaW9iYXNlIGlzIG5vdCBkZWZpbmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2NhbGxzLmxpc3QgKF9fZnN0YXRmczY0KToKCUFkZCBhbGlhcy4KCjIwMDAtMDQtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL3N5c2luZm8udGV4aTogRml4IHR5cG8uCgkqIG1hbnVhbC90aW1lLnRleGk6IERvY3VtZW50IHRpbWVsb2NhbCwgdGltZWdtLCBhZGp0aW1leCwgYW5kIHN0aW1lLgoJUmVwbGFjZSAiaGlnaCBwcmVjaXNpb24gdGltZSIgd2l0aCAiaGlnaCBhY2N1cmFjeSBjbG9jayIuCglGaXggbGFuZ3VhZ2UuCglQYXRjaGVzIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKCSogbmlzL25pc19maW5kc2Vydi5jIChfX25pc19maW5kZmFzdGVzdCk6IEltcHJvdmUgbWVtb3J5IGhhbmRsaW5nLgoJKiBuaXMvbmlzX3ByaW50X2dyb3VwX2VudHJ5LmMgKG5pc19wcmludF9ncm91cF9lbnRyeSk6IFVzZSBhbGxvY2EKCWluc3RlYWQgb2YgbWFsbG9jLgoJKiBuaXMvbmlzX3N1YnIuYzogVXNlIF9fYnVpbHRpbl9leHBlY3QuCgkqIG5pcy95cGNsbnQuYzogTGlrZXdpc2UuCgkqIG5pcy9uaXNfZ2V0c2Vydmxpc3QuYzogTGlrZXdpc2UuCgkqIG5pcy9uaXNfY3JlYXRlZ3JvdXAuYzogTGlrZXdpc2UuCgoJKiBuaXMvbmlzX2NhbGxiYWNrLmMgKF9fbmlzX2NyZWF0ZV9jYWxsYmFjayk6IENoZWNrIHJlc3VsdCBvZgoJbWVtb3J5IGFsbG9jYXRpb24uICBGaXggbWVtb3J5IGxlYWtzLiAgVXNlIF9fYnVpbHRpbl9leHBlY3QuCgkoX19uaXNfZGVzdHJveV9jYWxsYmFjayk6IEZpeCBtZW1vcnkgbGVha3MuCgoyMDAwLTA0LTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZWxmL3N0YXJ0LlM6IFVzZSBfX1BJQ19fIGluc3RlYWQgb2YgUElDLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2FkZF9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2JzZC1fc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9tdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9yc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L3N1Yl9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L3N1Ym11bF8xLlM6IExpa2V3aXNlCgkqIHN5c2RlcHMvdW5peC9taXBzL3N5c2RlcC5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2dvdF9yZWwpOiBSZW1vdmUgc3RydGFiCglhbmQgdXBkYXRlIGNvbW1lbnQuICBUaGUgc3RydGFiIGZyb20gX2RsX3JlbG9jYXRlX29iamVjdCBjYW4gYmUKCXVzZWQuCgoyMDAwLTA0LTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2ljb252LmMgKGljb252KTogQWRkIF9fYnVpbHRpbl9leHBlY3Qgd2hlcmUgdXNlZnVsLgoJKiBpY29udi9pY29udl9jbG9zZS5jIChpY29udl9jbG9zZSk6IExpa2V3aXNlLgoJKiBpY29udi9pY29udl9vcGVuLmMgKGljb252X29wZW4pOiBMaWtld2lzZS4KCgkqIGdycC9wdXRncmVudC5jIChwdXRncmVudCk6IFVubG9jayBzdGVhbSBpZiBmcHJpbnRmIGZhaWxlZC4gIEFkZAoJX19idWlsdGluX2V4cGVjdCB3aGVyZSB1c2VmdWwuCgoJKiBncnAvaW5pdGdyb3Vwcy5jIChpbml0Z3JvdXBzKTogVGVzdCBmb3IgcmVzdWx0IG9mIG1lbW9yeQoJYWxsb2NhdGlvbiBhbmQgcHVudCBpZiBpdCBmYWlscy4KCgkqIGRpcmVudC9zY2FuZGlyLmMgKHNjYW5kaXIpOiBBZGQgX19idWlsdGluX2V4cGVjdCB3aGVyZSB1c2VmdWwuCgkqIGdycC9mZ2V0Z3JlbnQuYyAoZmdldGZyZW50KTogTGlrZXdpc2UuCgkqIGdycC9mZ2V0Z3JlbnRfci5jIChfX2ZnZXRncmVudF9yKTogTGlrZXdpc2UuCgoyMDAwLTA0LTIxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL3Zhc3ByaW50Zi5jOiBJbmNsdWRlIHN0cmluZy5oIHRvIGdldCBtZW1jcHkgcHJvdG90eXBlLgoKMjAwMC0wNC0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB3Y3NtYnMvd2NzcnRvbWJzLmMgKF9fd2NzcnRvbWJzKTogSWYgb3V0cHV0IGJ1ZmZlciBpcyB0b28gc21hbGwKCWRvbid0IHNlYXJjaCBmb3IgTlVMIGJ5dGUgdG8gZGVjcmVtZW50IGNvdW50ZXIuCglSZXBvcnRlZCBieSBVbHJpY2guQnJpbmtAc2FwLmNvbS4KCgkqIGljb252L2djb252X3NpbXBsZS5jOiBEZWZpbmUgc2VwYXJhdGUgZnVuY3Rpb25zIHRvIGNvbnZlcnQgZnJvbQoJVUNTNC9VQ1M0LUxFIHRvIHRoZSBpbnRlcm5hbCBlbmNvZGluZy4KCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5oOiBVc2Ugc2VwYXJhdGUgZnVuY3Rpb25zIHRvIGNvbnZlcnQgZnJvbQoJVUNTNC9VQ1M0LUxFIHRvIHRoZSBpbnRlcm5hbCBlbmNvZGluZy4KCSogaWNvbnYvZ2NvbnZfaW50Lmg6IERlY2xhcmUgX19nY29udl90cmFuc2Zvcm1fdWNzNF9pbnRlcm5hbCBhbmQKCV9fZ2NvbnZfdHJhbnNmb3JtX3VjczRsZV9pbnRlcm5hbC4KCgkqIGljb252L2djb252X3NpbXBsZS5jIChpbnRlcm5hbF91dGY4X2xvb3ApOiBDb3JyZWN0IGNoZWNrIGZvcgoJb3V0cHV0IGJ1ZmZlciBvdmVyZmxvdy4gIFJlcG9ydGVkIGJ5IFVscmljaC5Ccmlua0BzYXAuY29tLgoKCSogaWNvbnYvc2tlbGV0b24uYzogQWRkIHNvbWUgbW9yZSBfX2J1aWx0aW5fZXhwZWN0LgoJKiBpY29udi9sb29wLmM6IExpa2V3aXNlLgoKMjAwMC0wMy0wOCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogcG9zaXgvcmVnZXguYyAocmVnZXhfY29tcGlsZSk6IENvcnJlY3RseSBoYW5kbGUgIlx7IiB3aGVuCgl0aGUgUkVfSU5URVJWQUxTIGlzIHNldCBhbmQgdGhlIFJFX05PX0JLX0JSQUNFUyBiaXQgaXMgbm90IHNldC4KCjIwMDAtMDQtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL3N0ZGlvLnRleGk6IEdpdmUgYWR2aXNlIGFib3V0IGhhbmRsaW5nIGVycm9yIHdoZW4gdXNpbmcKCXN0cmVhbSBmdW5jdGlvbnMuCglQYXRjaCBieSBNaWNoYWVsIERldXRzY2htYW5uIDxtaWNoYWVsQHRhbGFtYXNjYS5vY2lzLm5ldD4uCgoyMDAwLTA0LTE5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjdHlwZV9vdXRwdXQpOiBTZXQgc2l6ZSBvZiB0aGUgaWR4CglmaWVsZCB0byBuZWxlbXMgKiBzaXplb2YgKHVpbnQzMl90KS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWFkZHJlc3MuYyAoYWRkcmVzc19vdXRwdXQpOiBBbGlnbiB3b3JkIGZpZWxkcwoJcHJvcGVybHkuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1tb25ldGFyeS5jIChtb25ldGFyeV9vdXRwdXQpOiBMaWtld2lzZS4KCURvbid0IHJlc3RhcnQgaWR4IHBvaW50ZXJzIHRvIGlkeCBlbmQgYXQgdGhlIGR1b19pbnRfY3Vycl9zeW1ib2wKCWZpZWxkLgoJQXZvaWQgZ2l2aW5nIGFyYml0cmFyeSBnYXJiYWdlIGluIHRoZSBjcm5jeXN0ciBmaWVsZC4KCVVzZSBzaXplb2YodWludDMyX3QpIGluc3RlYWQgb2YgNCBmb3IgbGVuIGluIHVub192YWxpZF9mcm9tLAoJdW5vX3ZhbGlkX3RvLCBkdW9fdmFsaWRfZnJvbSwgZHVvX3ZhbGlkX3RvIGFuZCBjb252ZXJzaW9uX3JhdGUKCWZpZWxkcy4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLW51bWVyaWMuYyAobnVtZXJpY19vdXRwdXQpOiBMaWtld2lzZS4KCURvbid0IHJlc3RhcnQgaWR4IHBvaW50ZXJzIHRvIGlkeCBlbmQgYXQgdGhlIGRlY2ltYWxfcG9pbnRfd2MgZmllbGQuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC10aW1lLmMgKHRpbWVfb3V0cHV0KTogd2Vla18xc3RkYXkgc2hvdWxkIGJlCgl3b3JkLCBub3QgYnl0ZS4gIEFsaWduIGl0IHByb3Blcmx5LgoKMjAwMC0wNC0xOSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogY3N1L2dtb24tc3RhcnQuYyAoX3N0YXJ0KTogRGVjbGFyZWQgYXMgImV4dGVybiB2b2lkIi4KCShldGV4dCk6IExpa2V3aXNlLgoKMjAwMC0wNC0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL2luc3RhbGwudGV4aSAoUnVubmluZyBtYWtlIGluc3RhbGwpOiBEb24ndCBtZW50aW9uIHV0bXBkCglhbnltb3JlLgoKMjAwMC0wNC0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbGludXh0aHJlYWRzL1ZlcnNpb25zOiBVc2UgbGQgaW5zdGVhZCBvZiBsZC5zby4KCgkqIGVsZi9NYWtlZmlsZSAobGQtbWFwKTogVXNlIGxkLm1hcC4KCgkqIFZlcnNpb25zLmRlZjogVXNlIGxkIGluc3RlYWQgb2YgbGQuc28uCgkqIGVsZi9WZXJzaW9uczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL1ZlcnNpb25zOiBMaWtld2lzZS4KCjIwMDAtMDQtMjAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9ydGxkLmMgKHByaW50X3N0YXRpc3RpY3MpOiBNb3ZlIGlmbmRlZiBmdXJ0aGVyIHVwLgoJKF9kbF9zdGFydF9maW5hbCk6IEFkZGVkIEhQX1RJTUlOSUdfTk9OQVZBSUwgdG8gYXZvaWQgd2FybmluZ3MuCgkoZGxfbWFpbik6IExpa2V3aXNlLgoKMjAwMC0wNC0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBnbW9uL2dtb24uYzogQWRkIHdlYWsgYWxpYXMgbW9uY29udHJvbCBmb3IgX19tb25jb250cm9sLgoJKiBnbW9uL1ZlcnNpb25zOiBNb3ZlIG1vbmNvbnRyb2wgdG8gR0xJQkNfMi4yLgoKCSogcG8vY3MucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoJKiBzeXNkZXBzL2dlbmVyaWMvdXBkd3RtcC5jOiBSZW1vdmUgZGFlbW9uIHN1cHBvcnQuCgoJKiBsb2dpbi9NYWtlZmlsZSAocm91dGluZXMpOiBSZW1vdmUgdXRtcF9kYWVtb24uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0aG9zdG5hbWUuYzogRml4IHR5cGUgb2YgbGVuIGFyZ3VtZW50LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYWNjZXNzLmM6IERlZmluZSBBQ0NfSU5WT0tFUi4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldGVnaWQuYzogRGVmaW5lIElEX0VGRkVDVElWRS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldGV1aWQuYzogTGlrZXdpc2UuCgoJKiBlbGYvcnRsZC5jOiBEaXNwbGF5IHN0YXRpdGljcyBvcHRpb24gYWxzbyBpZiBocCB0aW1pbmcgaXMgbm90CglhdmFpbGFibGUuCgoJKiBsb2dpbi9wcm9ncmFtcy9jb25uZWN0aW9uLmM6IFJlbW92ZWQuCgkqIGxvZ2luL3Byb2dyYW1zL2RhdGFiYXNlLmMgUmVtb3ZlZC4KCSogbG9naW4vcHJvZ3JhbXMvZXJyb3IuYzogUmVtb3ZlZC4KCSogbG9naW4vcHJvZ3JhbXMvcmVxdWVzdC5jOiBSZW1vdmVkLgoJKiBsb2dpbi9wcm9ncmFtcy94dG1wLmM6IFJlbW92ZWQuCgkqIGxvZ2luL3Byb2dyYW1zL3h0bXAuaDogUmVtb3ZlZC4KCSogbG9naW4vTWFrZWZpbGU6IFJlbW92ZSBydWxlcyBmb3IgdXRtcGQuCgkqIGxvZ2luL1JFQURNRS51dG1wZDogUmVtb3ZlZC4KCSogbG9naW4vdXRtcF9kYWVtb24uYzogUmVtb3ZlZC4KCSogbG9naW4vZ2V0dXRlbnRfci5jOiBSZW1vdmUgcmVmZXJlbmNlcyB0byBkYWVtb24gZnVuY3Rpb25zLgoJKiBsb2dpbi91dG1wLXByaXZhdGUuaCAoX19saWJjX3V0bXBfZGFlbW9uX2Z1bmN0aW9ucyk6IFJlbW92ZQoJZGVjbGFyYXRpb24uCgoyMDAwLTA0LTE4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzaGxpYi12ZXJzaW9ucyAobWlwcy4qLS4qLWxpbnV4LiopOiBTdXBwb3J0IG9ubHkgR0xJQkMgMi4wIGFuZAoJMi4yIGZvciBsaWJuc2wsIGxpYnJlc29sdiwgbGlicnQsIGxpYm5zc18qLgoKCSogZWxmL3J0bGQuYyAocHJvY2Vzc19kbF9kZWJ1Zyk6IFJlbW92ZSBvYnNvbGV0ZSBjb21tZW50LgoKCSogc3lzZGVwcy9taXBzL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsKTogRml4IHJlbG9jYXRpb24uCgoyMDAwLTA0LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXRldWlkLmM6IERvbid0IHRyeSB0byBpbmNsdWRlIDxzeXMvaWQuaD4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXRlZ2lkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgveHN0YXQ2NC5jOiBEZWZpbmUgU1RYX05PUk1BTCBhbmQgU1RYXzY0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgveHN0YXQuYzogRGVmaW5lIFNUWF9OT1JNQUwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zeXMvcGFyYW0uaDogRGVmaW5lIE5HUk9VUFMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRyZXVpZC5jOiBEZWZpbmUgSURfRUZGRUNUSVZFIGFuZCBJRF9SRUFMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0cmVnaWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXR1aWQuYzogRGVmaW5lIElEX1JFQUwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRnaWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRldWlkLmM6IERlZmluZSBJRF9FRkZFQ1RJVkUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRlZ2lkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2Jyay5jOiBVcGRhdGUgcGFyYW1ldGVyIHR5cGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9uYW5vc2xlZXAuYyAoc3RydWN0IHRpbWVzdHJ1Y190KTogRGVmaW5lCglpdCBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbXN5bmMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9tc2dzbmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9uZXQvaWYuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9waXBlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvcG9sbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3JlbmFtZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3JtZGlyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2VsZWN0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2VtY3RsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2VtZ2V0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2Vtb3AuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZW5kdG8uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRncm91cHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRwZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0cGdycC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NldHByaW9yaXR5LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0cmxpbWl0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRzaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRzb2Nrb3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2htYXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zaG1jdGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zaG1kdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NobWdldC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NpZ2FsdHN0YWNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2lnc3RhY2suYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zb2NrZXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zb2NrZXRwYWlyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc3BlZWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zeW1saW5rLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc3luYy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3RjZ2V0YXR0ci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3Rjc2V0YXR0ci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3RpbWVzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvdWxpbWl0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvdW1hc2suYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC91bmxpbmsuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC91c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3V0aW1lcy5jOiBOZXcgZmlsZS4KCjIwMDAtMDQtMTggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9zdGFydHVwLnRleGkgKEVudmlyb25tZW50IEFjY2Vzcyk6IEZpeCBwdXRlbnYgcHJvdG90eXBlCglhY2NvcmRpbmcgdG8gcmVjZW50IGNoYW5nZXMuCglSZXBvcnRlZCBieSBBbmRyaWVzIEJyb3V3ZXIgPEFuZHJpZXMuQnJvdXdlckBjd2kubmw+LCBjbG9zZXMKCVBSIGxpYmMvMTY5Mi4KCgkqIGVsZi9ydGxkLmMgKHByaW50X3N0YXRpc3RpY3MpOiBBZGRlZCBIUF9USU1JTklHX05PTkFWQUlMIHdoZXJlCgluZWVkZWQuCgoyMDAwLTA0LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZ2V0YWRkcmluZm8uCgkqIHBvc2l4L3RzdC1nZXRhZGRyaW5mby5jOiBOZXcgZmlsZS4KCjIwMDAtMDQtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL3N5c2luZm8udGV4aTogRG9jdW1lbnQgdGhhdCB1bW91bnQyIGlzIG5vdCB3aWRlbHkgYXZhaWxhYmxlLgoKCSogc3lzZGVwcy9nZW5lcmljL2hwLXRpbWluZy5oIChIUF9USU1JTkdfTk9OQVZBSUwpOiBEZWZpbmUgdG8KCXNpZ25hbCB0aW1pbmcgaXMgbm90IHJlYWxseSBpbXBsZW1lbnRlZC4KCjIwMDAtMDQtMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9ydGxkLmMgKHByb2Nlc3NfZGxfZGVidWcpOiBNZW50aW9uIHN0YXRpc3RpY3MgaW4gaGVscCBtZXNzYWdlLgoKMjAwMC0wNC0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZSAoaW5zdGFsbCk6IFVzZSBzbGliZGlyIGFuZCBsaWJkaXIgaW5zdGVhZCBvZiBpbnN0X3NsaWJkaXIKCWFuZCBpbnN0X2xpYmRpci4KCjIwMDAtMDQtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL2ludHJvLnRleGk6IENoYW5nZSByZWZlcmVuY2UgZnJvbSBTeXN0ZW0gSW5mb3JtYXRpb24gdG8KCVN5c3RlbSBNYW5hZ2VtZW50LgoJKiBtYW51YWwvdXNlcnMudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9jb25mLnRleGk6IExpa2V3aXNlLgoJKiBtYW51YWwvc3lzaW5mby50ZXhpOiBEb2N1bWVudCBtb3VudCwgdW1vdW50LCBhbmQgdW1vdW50Mi4KCVBhdGNoIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKMjAwMC0wNC0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvcHJpbnRmX2ZwaGV4LmMgKFBSSU5UX0ZQSEVYX0xPTkdfRE9VQkxFKToKCUNyZWF0ZSB3bnVtc3RyIGFzIHdlbGwgYXMgbnVtc3RyIHRvIHN1cHBvcnQgd2lkZSBjaGFyYWN0ZXIgb3V0cHV0Cgljb3JyZWN0bHkuCgoyMDAwLTA0LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9NYWtlZmlsZTogUmVtb3ZlIHN5c2RlcC1DRkxBR1MKCW1vZGlmaWNhdGlvbiBhbmQgbW92ZSBpdC4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L01ha2VmaWxlOiAuLi5oZXJlLgoJQWRkIC1tZWxmNjRfc3BhcmMgc3dpdGNoIHRvICQoTEQpIG9uIHNwYXJjNjQtbGludXguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvTWFrZWZpbGU6IEFkZCAtbWVsZjMyX3NwYXJjCglzd2l0Y2ggdG8gJChMRCkgb24gc3BhcmMtbGludXguCgoyMDAwLTA0LTE3ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL01ha2VmaWxlOiBSZW1vdmUgc2V0cmVzZ2lkCglhbmQgc2V0cmVzdWlkIGZyb20gc3lzZGVwX3JvdXRpbmVzLgoKMjAwMC0wNC0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvTWFrZWZpbGUgKGNoYXB0ZXJzKTogQWRkIHJlc291cmNlLgoKCSogbWFudWFsL3RpbWUudGV4aTogTW92ZSBzZWN0aW9uIG9uIHJlc291cmNlcyB0by4uLgoJKiBtYW51YWwvcmVzb3VyY2UudGV4aTogLi4uaGVyZS4gIE5ldyBmaWxlLiAgRG9jdW1lbnQgdWxpbWl0LCB2bGltaXQsCglhbmQgdnRpbWVzLgoJKiBtYW51YWwvc2V0am1wLnRleGk6IEFkanVzdCBiYWNrIHJlZmVyZW5jZS4KCVBhdGNoIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2x4c3RhdDY0LmM6IFVuY29tbWVudCBTVFhfTElOSyBhbmQgU1RYXzY0CglkZWZpbml0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbHhzdGF0LmM6IFVuY29tbWVudCBTVFhfTElOSyBkZWZpbml0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgva2lsbC5jOiBBZGQgY29weXJpZ2h0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0dWlkLmM6IERlZmluZSBJRF9SRUFMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0Z2lkLmM6IERlZmluZSBJRF9SRUFMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZXhlY3ZlLmM6IEFkZCBjb3B5cmlnaHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9ldWlkYWNjZXNzLmM6IEFkZCBjb3B5cmlnaHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9jbG9zZS5jOiBBZGQgY29weXJpZ2h0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYnJrLmM6IEFkZCBjb3B5cmlnaHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL2Vycm5vLmg6IEFkZCBFQUZOT1NVUFBPUlQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9hY2Nlc3MuYzogQWRkIGNvcHlyaWdodC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L01ha2VmaWxlOiBBZGQgc29tZSB0ZW1wb3JhcnkgZGVmaW5pdGlvbnMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9JbXBsaWVzOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L1ZlcnNpb25zOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2JpbmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL2lvY3RsLXR5cGVzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy9pb2N0bHMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL3BvbGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL3Rlcm1pb3MuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9jaGRpci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2NobW9kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvY2hyb290LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvY3JlYXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9kbC1jbG9zZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2RsLW9wZW4uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9kbC1zeW0uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9mY2hkaXIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9mY2htb2QuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXRncm91cHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXRob3N0bmFtZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldHByaW9yaXR5LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0cmxpbWl0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXRydXNhZ2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9saW5rLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbWFkdmlzZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L21rZGlyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbWtub2QuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9tcHJvdGVjdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L21zZ2N0bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L21zZ2dldC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L21zZ3Jjdi5jOiBOZXcgZmlsZS4KCjIwMDAtMDQtMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2dvdF9yZWwpOiBPcHRpbWl6ZSBhIGJpdAoJYXMgc3VnZ2VzdGVkIGJ5IFVscmljaCBEcmVwcGVyLgoJKF9fZGxfcnVudGltZV9yZXNvbHZlKTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSwgaW5pdGlhbGl6ZSBzeW0KCWRpcmVjdGx5LgoJKFJUTERfU1RBUlQpOiBEb2N1bWVudCBPRkZTRVRfR1BfR09ULgoJKE9GRlNFVF9HUF9HT1QpOiBOZXcgbWFnaWMgdmFsdWUuCgkoZWxmX21pcHNfZ290X2Zyb21fZ3ByZWcpOiBVc2UgT0ZGU0VUX0dQX0dPVC4KCShlbGZfbWFjaGluZV9nb3RfcmVsKTogT25seSBkZWNsYXJlIHN0cnRhYiBpZiBuZWVkZWQuCgkoZWxmX21hY2hpbmVfcmVscGx0KTogUmVtb3ZlZCwgaXQncyBub3QgbmVlZGVkLgoJKF9kbF9ydW50aW1lX3Jlc29sdmUpOiBGaXggXG4gZm9yIGEgY29tbWVudCwgc2FmZSBncCBhbmQgbm90IHBjLgoKCSogc3lzZGVwcy9taXBzL2FkZF9uLlM6IEFkZCBuZXdsaW5lIGF0IEVPRi4KCSogc3lzZGVwcy9taXBzL3JzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbHNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvYWRkbXVsXzEuUzogTGlrZXdpc2UuCgoyMDAwLTA0LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvc19pc25hbi5jOiBQcmV0dHkgcHJpbnRpbmcuCgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX3JlbG9jYXRlX29iamVjdCk6IEFkZCBtb3JlIF9fYnVpbHRpbl9leHBlY3QuCgkqIGVsZi9kbC1sb29rdXAuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1pbml0LmMgKF9kbF9pbml0KTogTGlrZXdpc2UuCgkqIGVsZi9kbC1maW5pLmMgKF9kbF9maW5pKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBMaWtld2lzZS4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IExpa2V3aXNlLgoJKiBlbGYvcnRsZC5jIChfZGxfc3RhcnRfZmluYWwpOiBMaWtld2lzZS4KCgkqIGVsZi9kbC1sb29rdXAuYyAoYWRkX2RlcGVuZGVuY3kpOiBDb3JyZWN0IF9fYnVpbHRpbl9leHBlY3QgdXNlLgoKMjAwMC0wNC0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjc3UvTWFrZWZpbGUgKCQob2JqcGZ4KXZlcnNpb24taW5mby5oKTogR2V0IE9TIG5hbWUgZnJvbSB1bmFtZSBhbmQKCW9ubHkgZmFsbCBiYWNrIG9uIHVzaW5nIExpbnV4LgoKCSogZWxmL2RsLXZlcnNpb24uYyAoX2RsX2NoZWNrX21hcF92ZXJzaW9ucyk6IE5ldyBhcmd1bWVudCB0cmFjZV9tb2RlLgoJQmVmb3JlIHRlc3RpbmcgdmVyc2lvbnMgY2hlY2sgdGhhdCB3ZSBhY3R1YWxseSBsb2FkZWQgdGhlIG9iamVjdAoJYW5kIHdoZXRoZXIgd2UgYXJlIGluIHRyYWNlIG1vZGUuICBJZiBub3QgbG9hZGVkIGR1cmluZyB0cmFjaW5nIGRvbid0Cgl0ZXN0IHZlcnNpb25zIGluIHRoaXMgb2JqZWN0LgoJKF9kbF9jaGVja19hbGxfdmVyc2lvbnMpOiBUYWtlIG5ldyBwYXJhbWV0ZXIgYW5kIHBhc3MgdG8KCV9kbF9jaGVja19tYXBfdmVyc2lvbnMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBVcGRhdGUgcHJvdG90eXBlcyBmb3IKCV9kbF9jaGVja19hbGxfdmVyc2lvbnMgYW5kIF9kbF9jaGVja19tYXBfdmVyc2lvbnMuCgkqIGVsZi9ydGxkLmMgKHN0cnVjdCB2ZXJzaW9uX2NoZWNrX2FyZ3MpOiBBZGQgZG90cmFjZS4KCSh2ZXJzaW9uX2NoZWNrX2RvaXQpOiBQYXNzIGFyZ3MtPmRvdHJhY2UgdG8gX2RsX2NoZWNrX2FsbF92ZXJzaW9ucy4KCShkbF9tYWluKTogUGFzcyBpbmZvIGFib3V0IHRyYWNlIG1vZGUgdG8gdmVyc2lvbl9jaGVja19kb2l0LgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IFBhc3MgemVybyBhcyBuZXcgYXJndW1lbnQgdG8KCV9kbF9jaGVja19hbGxfdmVyc2lvbnMuCgoJKiBtYW51YWwvdXNlcnMudGV4aSAoWFBHIEZ1bmN0aW9ucyk6IERvY3VtZW50IHV0bXB4bmFtZSwgZ2V0dXRtcCwKCWFuZCBnZXR1dG1weC4KCVBhdGNoIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKCSogbWFudWFsL2FyZ3AudGV4aTogRG9jdW1lbnQgaW5kZXggcGFyYW1ldGVyIG9mIGFyZ3BfcGFyc2UuCglGaXggdHlwby4KCVJlcG9ydGVkIGJ5IEFuZHJldyBTY2h1bG1hbiA8U0NIVUxNQU4uQU5EUkVXQGVwYW1haWwuZXBhLmdvdj4uCgoyMDAwLTA0LTE0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1fb3Blbi5jOiBJbmNsdWRlIGxpbnV4X2ZzaW5mbyBmb3IKCVNITUZTX1NVUEVSX01BR0lDLiAgUmVtb3ZlIGRlZmluaXRpb24gb2YgU0hNRlNfU1VQRVJfTUFHSUMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9saW51eF9mc2luZm8uaCAoU0hNRlNfU1VQRVJfTUFHSUMpOiBBZGRlZC4KCjIwMDAtMDQtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYWRqdGltZS5jOiBGaXggdHlwbyBpbgoJY29tcGF0X3N5bWJvbCBjYWxsIGZvciBvbGQgYWRqdGltZS4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmV3cml0ZSBmb3IgbmV3IGluaXQKCWZ1bmN0aW9uIGludGVyZmFjZS4gIFBhdGNoIGJ5IFJpY2hhcmQgSGVuZGVyc29uIDxydGhAY3lnbnVzLmNvbT4uCgoJKiBwb3NpeC9NYWtlZmlsZSAoaGVhZGVycyk6IEFkZCBzcGF3bi5oLgoJKGRpc3RyaWJ1dGUpOiBBZGQgc3Bhd25faW50LmguCgkocm91dGluZXMpOiBBZGQgc3Bhd25fZmFjdGlvbl9pbml0LCBzcGF3bl9mYWN0aW9uX2Rlc3Ryb3ksCglzcGF3bl9mYWN0aW9uX2FkZGNsb3NlLCBzcGF3bl9mYWN0aW9uX2FkZG9wZW4sIHNwYXduX2ZhY3Rpb25fYWRkZHVwMiwKCXNwYXduYXR0cl9pbml0LCBzcGF3bmF0dHJfZGVzdHJveSwgc3Bhd25hdHRyX2dldGRlZmF1bHQsCglzcGF3bmF0dHJfc2V0ZGVmYXVsdCwgc3Bhd25hdHRyX2dldGZsYWdzLCBzcGF3bmF0dHJfc2V0ZmxhZ3MsCglzcGF3bmF0dHJfZ2V0cGdyb3VwLCBzcGF3bmF0dHJfc2V0cGdyb3VwLCBzcGF3biwgc3Bhd25wLCBhbmQgc3Bhd25pLgoJKiBwb3NpeC9WZXJzaW9ucyBbbGliY10gKEdMSUJDXzIuMik6IEFkZCBwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfaW5pdCwKCXBvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19kZXN0cm95LCBwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfYWRkY2xvc2UsCglwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfYWRkb3BlbiwgcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGR1cDIsCglwb3NpeF9zcGF3bmF0dHJfaW5pdCwgcG9zaXhfc3Bhd25hdHRyX2Rlc3Ryb3ksCglwb3NpeF9zcGF3bmF0dHJfZ2V0ZGVmYXVsdCwgcG9zaXhfc3Bhd25hdHRyX3NldGRlZmF1bHQsCglwb3NpeF9zcGF3bmF0dHJfZ2V0ZmxhZ3MsIHBvc2l4X3NwYXduYXR0cl9zZXRmbGFncywKCXBvc2l4X3NwYXduYXR0cl9nZXRwZ3JvdXAsIHBvc2l4X3NwYXduYXR0cl9zZXRwZ3JvdXAsIHBvc2l4X3NwYXduLAoJYW5kIHBvc2l4X3NwYXducC4KCSogcG9zaXgvc3Bhd24uYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduLmg6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2FkZGNsb3NlLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2FkZGR1cDIuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduX2ZhY3Rpb25fYWRkb3Blbi5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9kZXN0cm95LmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2luaXQuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduX2ludC5oOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25hdHRyX2Rlc3Ryb3kuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9nZXRkZWZhdWx0LmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfZ2V0ZmxhZ3MuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9nZXRwZ3JvdXAuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9nZXRzY2hlZHBhcmFtLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfZ2V0c2NoZWRwb2xpY3kuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9nZXRzaWdtYXNrLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfaW5pdC5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25hdHRyX3NldGRlZmF1bHQuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9zZXRmbGFncy5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25hdHRyX3NldHBncm91cC5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25hdHRyX3NldHNjaGVkcGFyYW0uYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9zZXRzY2hlZHBvbGljeS5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25hdHRyX3NldHNpZ21hc2suYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduaS5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25wLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy9wb3NpeF9vcHQuaDogQWRkIF9QT1NJWF9TUEFXTi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9wb3NpeF9vcHQuaDogTGlrZXdpc2UuCgoyMDAwLTA0LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9WZXJzaW9ucyBbbGliY10gKEdMSUJDXzIuMik6IEFkZCBwb3NpeF9tZW1hbGlnbi4KCSogbWFsbG9jL21hbGxvYy5jOiBJbXBsZW1lbnQgcG9zaXhfbWVtYWxpZ24gZm9yIGdsaWJjLgoJKiBpbmNsdWRlL3N0ZGxpYi5oOiBBZGQgcHJvdG90eXBlIGZvciBfX3Bvc2l4X21lbWFsaWduLgoJKiBzdGRsaWIvc3RkbGliLmg6IEFkZCBwcm90b3R5cGUgZm9yIHBvc2l4X21lbWFsaWduLgoKMjAwMC0wNC0xNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfZ290X3JlbCk6IEluaXRpYWxpemUKCXN5bWlkeCBjb3JyZWN0bHkuCgkoZWxmX21hY2hpbmVfZ290X3JlbCk6IENhc3Qgc3ltIGNvcnJlY3RseS4KCgkqIHN5c2RlcHMvbWlwcy9hZGRfbi5TOiBVc2UgX19QSUNfXywgYWRkIGVuZCBkaXJlY3RpdmUuCgkqIHN5c2RlcHMvbWlwcy9hZGRtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvc3ViX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9zdWJtdWxfMS5TOiBMaWtld2lzZS4KCgkqIHN0ZGxpYi9zdGRsaWIuaDogRml4IHR5cG8gaW4gY29tbWVudC4KCgkqIHNobGliLXZlcnNpb25zIChtaXBzLiotLiotbGludXguKik6IFN1cHBvcnQgb25seSBHTElCQyAyLjAgYW5kCgkyLjIgZm9yIGxpYmRsLCBsZCBhbmQgbGlibS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9tYWR2aXNlLmM6IEZpeCB0eXBvcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUuUyAoZXJyb3IpOiBVc2UgX19QSUNfXy4KCgkqIHN5c2RlcHMvbWlwcy9iaXRzL3NldGptcC5oOiBSZW1vdmUgSyZSIGNvbXBhdGliaWxpdHkuCgoJKiBzeXNkZXBzL21pcHMvc2V0am1wX2F1eC5jIChfX3NpZ3NldGptcF9hdXgpOiBTaWxlbmNlIGdjYwoJd2FybmluZ3MuCgoyMDAwLTA0LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvc3lzL3N0YXRmcy5oOiBBZGQgcHJvdG90eXBlcyBmb3IgX19zdGF0ZnM2NCBhbmQgX19mc3RhdGZzNjQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mc3RhdGZzNjQuYyAoX19mc3RhdGZzNjQpOiBSZW5hbWVkIHRvIGZzdGF0ZnM2NC4KCU1ha2Ugb2xkIG5hbWUgd2VhayBhbGlhcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnN0YXRmczY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RhdGZzNjQuYyAoX19zdGF0ZnM2NCk6IFJlbmFtZWQgdG8gc3RhdGZzNjQuCglNYWtlIG9sZCBuYW1lIHdlYWsgYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N0YXRmczY0LmM6IExpa2V3aXNlLgoKCSogaW8vTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIHBvc2l4X2ZhZHZpc2UsIHBvc2l4X2ZhZHZpc2U2NCwKCXBvc2l4X2ZhbGxvY2F0ZSwgYW5kIHBvc2l4X2ZhbGxvY2F0ZTY0LgoJKiBpby9WZXJzaW9ucyBbbGliY10gKEdMSUJDXzIuMik6IEFkZCBwb3NpeF9mYWR2aXNlLCBwb3NpeF9mYWR2aXNlNjQsCglwb3NpeF9mYWxsb2NhdGUsIGFuZCBwb3NpeF9mYWxsb2NhdGU2NC4KCSogaW8vZmNudGwuaDogRGVjbGFyZSBwb3NpeF9mYWR2aXNlLCBwb3NpeF9mYWR2aXNlNjQsCglwb3NpeF9mYWxsb2NhdGUsIGFuZCBwb3NpeF9mYWxsb2NhdGU2NC4KCSogc3lzZGVwcy9nZW5lcmljL2ZhZHZpc2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mYWR2aXNlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mYWxsb2NhdGUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mYWxsb2NhdGU2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3NpeC9mYWxsb2NhdGUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG9zaXgvZmFsbG9jYXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2ZjbnRsLmg6IERlZmluZSBQT1NJWF9GQURWX05PUk1BTCwKCVBPU0lYX0ZBRFZfUkFORE9NLCBQT1NJWF9GQURWX1NFUVVFTlRJQUwsIFBPU0lYX0ZBRFZfV0lMTE5FRUQsCglQT1NJWF9GQURWX0RPTlRORUVELCBhbmQgUE9TSVhfRkFEVl9OT1JFVVNFLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9tYWR2aXNlLmMgKF9fbWFkdmlzZSk6IFJlbmFtZWQgdG8gcG9zaXhfbWFkdmlzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgoyMDAwLTA0LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1pc2MvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIpOiBBZGQgcG9zaXhfbWFkdmljZS4KCSogbWlzYy9zeXMvbW1hbi5oIChwb3NpeF9tYWR2aXNlKTogQWRkIHByb3RvdHlwZS4KCSogc3lzZGVwcy9nZW5lcmljL21hZHZpc2UuYyAobWFkdmlzZSk6IFJlbmFtZWQgdG8gX19tYWR2aXNlLiAgTWFrZQoJb2xkIG5hbWUgYW5kIHBvc2l4X21hZHZpc2Ugd2VhayBhbGlhc2VzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvbW1hbi5oOiBBZGQgUE9TSVhfTUFEVl8qIGNvbnN0YW50cy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYml0cy9tbWFuLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL21tYW4uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCjIwMDAtMDQtMTMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKF9fZGxfcnVudGltZV9yZXNvbHZlKTogSGFuZGxlIHN5bWJvbAoJdmVyc2lvbmluZy4KCShlbGZfbWFjaGluZV9nb3RfcmVsKTogT25seSBhZGQgcnVudGltZSBkaXNwbGF5IGlmIG5lZWRlZC4KCShlbGZfbWFjaGluZV9nb3RfcmVsKTogSGFuZGxlIHN5bWJvbCB2ZXJzaW9uaW5nLgoKMjAwMC0wNC0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jbG9uZS5TOiBGaXggZnVuY3Rpb24uCgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9waXBlLlM6IFJlb3JkZXIgaW5zdHJ1Y3Rpb25zIHNpbmNlIC5yZW9yZGVyIGlzCglkZWZhdWx0LgoKCSogc3lzZGVwcy9taXBzL19fbG9uZ2ptcC5jIChfX2xvbmdqbXApOiBVc2UgJDI1IHRvIGZpeCBwcm9ibGVtcwoJd2l0aCBzb21lIGFwcGxpY2F0aW9ucy4KCVBhdGNoZXMgYnkgUmFsZiBCYWVjaGxlIDxyYWxmQHVuaS1rb2JsZW56LmRlPi4KCgkqIHN5c2RlcHMvbWlwcy9ic2Qtc2V0am1wLlM6IFVzZSBfX1BJQ19fLgoJKiBzeXNkZXBzL21pcHMvYnNkLV9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9zZXRqbXAuUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3BpcGUuUzogTmV3IGZpbGUuCgoyMDAwLTA0LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L2dsb2J0ZXN0LnNoOiBXb3JrIGFyb3VuZCBpbmNvbnNpc3RlbmN5IHdpdGggZXhwYW5kaW5nIH4vCglpbiBzaGVsbCAoUFIgbGliYy8xNjkwKS4gIFJlcG9ydGVkIGJ5IHBhdHNtaXRoQHBvYm94LmNvbS4KCjIwMDAtMDQtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZ2V0Y29uZi5jOiBBZGQgc3VwcG9ydCBmb3IgbWFueSBtb3JlIFBPU0lYIG9wdGlvbnMuCgkqIHN5c2RlcHMvcG9zaXgvc3lzY29uZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvY29uZm5hbWUuaDogQWRkIG1hbnkgbW9yZSBQT1NJWCBvcHRpb25zLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL3Bvc2l4X29wdC5oOiBBZGQgX1BPU0lYX1JFR0VYUCBhbmQKCV9QT1NJWF9TSEVMTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9wb3NpeF9vcHQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IFJlbmFtZSBfX0NMT0NLX0hJR0hSRVMgdG8KCUNMT0NLX1BST0NFU1NfQ1BVVElNRV9JRC4gIEFkZCBkZWZpbmUgQ0xPQ0tfTU9OT1RPTklDIGFuZAoJQ0xPQ0tfVEhSRUFEX0NQVVRJTUVfSUQuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2Nsb2NrX2dldGNwdWNsb2NraWQuYzogU2V0ICpjbG9ja19pZCB0bwoJQ0xPQ0tfUFJPQ0VTU19DUFVUSU1FX0lELgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHJlcy5jOiBDaGFuZ2UgZm9yIHJlbmFtaW5nIG9mCglfX0NMT0NLX0hJR0hSRVMgdG8gQ0xPQ0tfUFJPQ0VTU19DUFVUSU1FX0lELiAgSGFuZGxlCglDTE9DS19USFJFQURfQ1BVVElNRV9JRCBhbmQgQ0xPQ0tfTU9OT1RPTklDIHRoZSBzYW1lLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHRpbWUuYzogTGlrZXdpc2UuCgoJKiBtYWxsb2MvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1jYWxsb2MuCgkqIG1hbGxvYy90c3QtY2FsbG9jLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9hcm0vbGlibS10ZXN0LXVscHM6IE5ldyBmaWxlLgoKCSogbWFsbG9jL21hbGxvYy5jOiBVbmRvIGFsbCBvZiB0b2RheSdzIGNoYW5nZXMuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmMgKHNob3dfaW5mbyk6IERvbid0IHRyeSB0byBsb29rIGludG8KCWRhdGEgZm9yIExDX0FMTCAodGhlcmUgaXMgbm9uZSkuCgoJKiBtYWxsb2MvbWFsbG9jLmMgKGNBTExPYyk6IENsZWFyIG9ubHkgd2hhdCB0aGUgdXNlciBhc2tlZCBmb3IgYW5kCglhdm9pZCB3cml0aW5nIG92ZXIgYm91bmRhcnkuCglQYXRjaCBieSBHcmVnIE1jR2FyeSA8Z2ttQGVuZy5hc2NlbmQuY29tPi4KCgkqIHN5c2RlcHMvYXJtL21lbXByb2YuaDogTmV3IGZpbGUuCgoyMDAwLTA0LTEyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHRpbWUuYzogRml4IHR5cG8uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldF9jbG9ja2ZyZXEuYzogSW5jbHVkZSA8c3RyaW5nLmg+Cglmb3IgbWVtbWVtIGRlY2xhcmF0aW9uLgoKMjAwMC0wNC0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfZ2V0dGltZS5jIChjbG9ja19nZXR0aW1lKTogSW5pdGlhbGl6ZSByZXR2YWwKCXRvIC0xLgoJKiBzeXNkZXBzL3Bvc2l4L2Nsb2NrX2dldHJlcy5jIChjbG9ja19nZXRyZXMpOiBMaWtld2lzZS4KCgkqIGxpYmlvL2lvcG9wZW4uYyAoX0lPX25ld19wcm9jX29wZW4pOiBDbG9zZSBwaXBlcyBpbiBjYXNlIHRoZQoJbW9kZSBpcyBpbnZhbGlkLgoJKiBsaWJpby9vbGRpb3BvcGVuLmMgKF9JT19vbGRfcHJvY19vcGVuKTogTGlrZXdpc2UuCglQYXRjaCBieSBCYXJ0IFZlZXIgPGJhcnR2QHJlZGhhdC5jb20+LgoKCSogc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmV3cml0ZSBmb3IgbmV3IGluaXQKCWZ1bmN0aW9uIGludGVyZmFjZS4KCjIwMDAtMDQtMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmg6IFVwZGF0ZSBzb21lIGNvbW1lbnRzLgoJKEVMRl9NQUNISU5FX0FMSUdOX01BU0spOiBSZW1vdmVkLCBpdCdzIG5vdCBuZWVkZWQuCgoyMDAwLTA0LTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvcG9zaXhfb3B0Lmg6IEFkZAoJX1BPU0lYX1NIQVJFRF9NRU1PUllfT0JKRUNUUy4KCgkqIHJ0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtc2htLgoJQWRkIHJ1bGVzIHRvIGdlbmVyYXRlIHRzdC1zaG0uCgkqIHJ0L3RzdC1zaG0uYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1fb3Blbi5jIChzaG1fb3Blbik6IFNldCBGRF9DTE9FWEVDCglmb3IgZGVzY3JpcHRvci4KCgkqIG1pc2Mvc3lzL21tYW4uaDogQWRkIHByb3RvdHlwZXMgZm9yIHNobV9vcGVuIGFuZCBzaG1fdW5saW5rLgoJKiBydC9NYWtlZmlsZSAobGlicnQtcm91dGluZXMpOiBBZGQgc2htX29wZW4gYW5kIHNobV91bmxpbmsuCgkqIHJ0L1ZlcnNpb25zIFtsaWJydF0gKEdMSUJDXzIuMik6IEFkZCBzaG1fb3BlbiBhbmQgc2htX3VubGluay4KCSogc3lzZGVwcy9nZW5lcmljL3NobV9vcGVuLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc2htX3VubGluay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobV91bmxpbmsuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yKTogRXhwb3J0CgkgX19lbmRtbnRlbnQsIF9fZ2V0bW50ZW50X3IsIF9fc2V0bW50ZW50LCBhbmQgX19zdGF0ZnMuCgoJKiBsaWJpby92YXNwcmludGYuYyAoX0lPX3Zhc3ByaW50Zik6IFRyeSB0byBhdm9pZCBtZW1vcnkKCWZyYWdtZW50YXRpb24gYnkgYWxsb2NhdGluZyBuZXcgbWVtb3J5IGF0IHRoZSBlbmQgaW5zdGVhZCBvZgoJcmVhbGxvY2F0aW5nLgoKCSogcG9zaXgvZ2xvYnRlc3Quc2g6IEZpeCBsYXN0IGNoYW5nZS4KCjIwMDAtMDQtMTAgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2luLmggKElQVjZfSk9JTl9HUk9VUCwKCUlQVjZfTEVBVkVfR1JPVVApOiBOZXcgbmFtZXMgZm9yIElQVjZfQUREX01FTUJFUlNISVAsCglJUFY2X0RST1BfTUVNQkVSU0hJUC4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvaW4uaCAoSVBWNl9KT0lOX0dST1VQLCBJUFY2X0xFQVZFX0dST1VQKToKCUxpa2V3aXNlLgoKMjAwMC0wNC0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcmVhZGxpYiAocHJvY2Vzc19maWxlKTogQ2xvc2Ugc3RyZWFtcyBpbiBjYXNlIG9mIGFuIGVycm9yLgoKMjAwMC0wNC0wOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL3JlYWRsaWIuYyAocHJvY2Vzc19maWxlKTogQ2hlY2sgaWYgZmlsZSBpcyBiaWcgZW5vdWdoIHRvCgljb250YWluIGFvdXQgYW5kIEVMRiBoZWFkZXJzLgoJUmVwb3J0ZWQgYnkgUmVpbmhhcmQgTW9vc2F1ZXIgPFJNb29zYXVlckBzdGVpbmVja2VyLmNvbT4uCgoyMDAwLTA0LTEwICBKZXMgU29yZW5zZW4gIDxKZXMuU29yZW5zZW5AY2Vybi5jaD4KCgkqIGVsZi9kbC1maW5pLmM6IEluY2x1ZGUgYWxsb2NhLmggdG8gZ2V0IHByb3BlciBwcm90b3R5cGUgZm9yIGFsbG9jYSgpLgoKMjAwMC0wNC0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB0ZXN0LXNrZWxldG9uLmMgKG1haW4pOiBJZiBTVERPVVRfVU5CVUZGRVJFRCBpcyBkZWZpbmVkLCBtYWtlIHN0ZG91dAoJc3RyZWFtIHVuYnVmZmVyZWQuCgkqIHJ0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtY2xvY2suCglBZGQgcnVsZXMgdG8gYnVpbGQgdHN0LWNsb2NrLgoJKiBydC90c3QtY2xvY2suYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0cmVzLmM6IENvcnJlY3QgZXhwcmVzc2lvbiB0byBkZWNpZGUKCWFib3V0IGluaXRpYWxpemF0aW9uIG9mIG5zZWMuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0dGltZS5jOiBDb3JyZWN0IGV4cHJlc3Npb24gdG8gZGVjaWRlCglhYm91dCBpbml0aWFsaXphdGlvbiBvZiBmcmVxLiAgU2V0IHJldHZhbCB0byB6ZXJvIGlmIHN1Y2Nlc3NmdWwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0X2Nsb2NrZnJlcS5jOiBDYWNoZSByZXN1bHQuCgoyMDAwLTA0LTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIFZlcnNpb25zLmRlZiAobGlicnQpOiBBZGQgR0xJQkNfMi4yLgoJKiBydC9NYWtlZmlsZSAobGlicnQtcm91dGluZXMpOiBBZGQgZ2V0X2Nsb2NrZnJlcSwgY2xvY2tfZ2V0Y3B1Y2xvY2tpZCwKCWNsb2NrX2dldHJlcywgY2xvY2tfZ2V0dGltZSwgY2xvY2tfc2V0dGltZSwgdGltZXJfY3JlYXRlLCB0aW1lcl9kZWxldGUsCgl0aW1lcl9nZXRvdmVyciwgdGltZXJfZ2V0dGltZSwgYW5kIHRpbWVyX3NldHRpbWUuCgkqIHJ0L1ZlcnNpb25zIFtsaWJydF0gKEdMSUJDXzIuMik6IEFkZCBjbG9ja19nZXRyZXMsIGNsb2NrX2dldHRpbWUsCgljbG9ja19zZXR0aW1lLCB0aW1lcl9jcmVhdGUsIHRpbWVyX2RlbGV0ZSwgdGltZXJfZ2V0b3ZlcnJ1biwKCXRpbWVyX2dldHRpbWUsIGFuZCB0aW1lcl9zZXR0aW1lLgoJKiBzeXNkZXBzL2dlbmVyaWMvY2xvY2tfZ2V0Y3B1Y2xvY2tpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2dldF9jbG9ja2ZyZXEuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2Nsb2NrX2dldGNwdWNsb2NraWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0X2Nsb2NrZnJlcS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9iaXRzL3RpbWUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0cmVzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHRpbWUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k2ODYvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RwZXMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IE5ldyBmaWxlLgoJKiB0aW1lL01ha2VmaWxlIChyb3V0aW5lcyk6IE1vdmUgY2xvY2tfZ2V0cmVzLCBjbG9ja19nZXR0aW1lLAoJY2xvY2tfc2V0dGltZSwgdGltZXJfY3JlYXRlLCB0aW1lcl9kZWxldGUsIHRpbWVyX2dldG92ZXJyLAoJdGltZXJfZ2V0dGltZSwgYW5kIHRpbWVyX3NldHRpbWUgdG8gcnQvTWFrZWZpbGUuCgkqIHRpbWUvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIpOiBSZW1vdmUgY2xvY2tfZ2V0cmVzLCBjbG9ja19nZXR0aW1lLAoJY2xvY2tfc2V0dGltZSwgdGltZXJfY3JlYXRlLCB0aW1lcl9kZWxldGUsIHRpbWVyX2dldG92ZXJydW4sCgl0aW1lcl9nZXR0aW1lLCBhbmQgdGltZXJfc2V0dGltZS4KCSogdGltZS90aW1lLmg6IERlZmluZSBwaWRfdC4gIEFkZCBwcm90b3R5cGUgZm9yIGNsb2NrX2dldGNwdWNsb2NraWQuCgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL3RpbWUuaDogRHJvcCBLJlIgY29tcGF0aWJpbGl0eS4gIFVzZSBfX2NvbnN0X18KCWFuZCBub3QgY29uc3QgYXMgYXR0cmlidXRlIG5hbWUuCgoyMDAwLTA0LTEwICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBlbGYvY2FjaGUuYyAoc2F2ZV9jYWNoZSk6IE1ha2Ugc3VyZSAvZXRjL2xkLnNvLmNhY2hlIGlzIG1vZGUgNjQ0LgoKMjAwMC0wNC0xMCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHBvc2l4L2dsb2J0ZXN0LnNoOiBTa2lwIHRlc3RzIHRoYXQgZGVwZW5kIG9uIHVucmVhZGFibGUKCWRpcmVjdG9yaWVzIGlmIHJ1biBhcyByb290LgoKMjAwMC0wNC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfc2V0dGltZS5jIChjbG9ja19zZXR0aW1lKTogVGVzdCB0dl9uc2VjIHZhbHVlCglmb3IgY29ycmVjdCByYW5nZS4gIEZyb20gY29kZSBieSBLYXogS3lsaGVrdSA8a2F6QGFzaGkuZm9vdHByaW50cy5uZXQ+LgoKMjAwMC0wNC0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfZ2V0dGltZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L2Nsb2NrX3NldHRpbWUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG9zaXgvY2xvY2tfZ2V0cmVzLmM6IE5ldyBmaWxlLgoKCSogY29uZm9ybS9kYXRhL2Z0dy5oLWRhdGE6IEFkZCBhbGxvdy1oZWFkZXIgc3lzL3N0YXQuaC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGRlbnRzLmMgKF9fZ2V0ZGVudHMpOiBBdm9pZCBpbml0aWFsCglsc2VlayBjYWxsIGJlIHBhc3NpbmcgaW4gYSBidWZmZXIgd2hpY2ggbmV2ZXIgYWxsb3cgYSBzdWNjZXNzZnVsCglmaXJzdCBnZXRkZW50cyBzeXNjYWxsIGlmIG5vdCBhdCBsZWFzIHRoZSBpbml0aWFsIGVudHJ5IGNhbiBiZQoJc3RvcmVkIGluIHRoZSB1c2VyIGJ1ZmZlci4KCgkqIGxvY2FsZWRhdGEvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBjbGVhbiB1cCBkaXJlY3RvcmllcyBjcmVhdGVkIGJ5CgluZXcgc3RyZm1vbiB0ZXN0cy4KCjIwMDAtMDQtMDkgIEdlb2ZmIENsYXJlICA8Z3djQHVuaXNvZnQuY29tPgoKCSogbG9jYWxlZGF0YS90c3QtZm1vbi5kYXRhOiBBZGRlZCBuZXcgdGVzdHMgZm9yIHN0cmZtb24oKQoJdXNpbmcgdGVzdCBsb2NhbGVzIHdpdGggYWxsIGNvbWJpbmF0aW9ucyBvZiBjc19wcmVjZWRlcywKCXNpZ25fcG9zbiBhbmQgc2VwX2J5X3NwYWNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLnNoOiBVcGRhdGVkIHRvIHN1cHBvcnQgdGhlIG5ldyB0ZXN0cy4KCSogbG9jYWxlZGF0YS90c3QtZm1vbi1sb2NhbGVzL3RzdGZtb25fbjAxeTEyOiBOZXcgZmlsZSBjb250YWluaW5nCgl0aGUgbG9jYWxlZGVmIHNvdXJjZSBmb3IgdGhlIG5ldyBzdHJmbW9uKCkgdGVzdCBsb2NhbGUuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX24wMm40MDogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX24xMHkzMTogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX24xMXk0MTogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX24xMnkxMTogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX24yMG4zMjogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX24zMHkyMDogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX240MW4wMDogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX3kwMXkxMDogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX3kwMm4yMjogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX3kyMm40MjogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX3kzMHkyMTogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX3kzMm4zMTogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX3k0MHkwMDogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX3k0Mm4yMTogTGlrZXdpc2UuCgoJKiBzdGRsaWIvc3RyZm1vbi5jOiBDb3JyZWN0IHByb2JsZW1zIHdpdGggbWlzc2luZyBvciBleHRyYQoJc3BhY2VzIGZvciB1bnVzdWFsIGNvbWJpbmF0aW9ucyBvZiBzaWduX3Bvc24gYW5kIHNlcF9ieV9zcGFjZS4KCUltcHJvdmVkIGxlZnQtcHJlY2lzaW9uIGFsaWdubWVudCBjb2RlLgoKMjAwMC0wNC0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcG9zaXgvTWFrZWZpbGUgKENGTEFHUy1yZWdleC5jKTogUmVtb3ZlIERFQlVHLgoKMjAwMC0wNC0xMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW50bC9NYWtlZmlsZTogRG9uJ3QgcnVuIGRvLWdldHRleHQtdGVzdCB3aGVuIGNyb3NzLWNvbXBpbGluZy4KCjIwMDAtMDQtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCUltcGxlbWVudCBoYW5kbGluZyBvZiByZXN0YXJ0YWJsZSBjb252ZXJzaW9uIGZ1bmN0aW9ucyBhY2NvcmRpbmcgdG8KCUlTTyBDLgoJKiBpY29udi9nY29udi5oIChfX2djb252X2ZjdCk6IEFkZCBhZGRpdGlvbmFsIHBhcmFtZXRlci4KCSogaWNvbnYvZ2NvbnZfaW50LmggKF9fQlVJTFRJTl9UUkFOUyk6IExpa2V3aXNlLgoJKiBpY29udi9nY29udi5jOiBQYXNzIGFkZGl0aW9uYWwgcGFyYW1ldGVyIHRvIGNvbnZlcnNpb24gZnVuY3Rpb24uCgkqIGljb252L2djb252X3NpbXBsZS5jIChpbnRlcm5hbF91Y3M0X2xvb3Bfc2luZ2xlKTogTmV3IGZ1bmN0aW9uLgoJKGludGVybmFsX3VjczRsZV9sb29wX3NpbmdsZSk6IE5ldyBmdW5jdGlvbi4KCShfX2djb252X3RyYW5zZm9ybV9hc2NpaV9pbnRlcm5hbCk6IERlZmluZSBPTkVfRElSRUNUSU9OLgoJKF9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX2FzY2lpKTogTGlrZXdpc2UuCgkoX19nY29udl90cmFuc2Zvcm1faW50ZXJuYWxfdXRmOCk6IExpa2V3aXNlLgoJKF9fZ2NvbnZfdHJhbnNmb3JtX3V0ZjhfaW50ZXJuYWwpOiBMaWtld2lzZS4KCShfX2djb252X3RyYW5zZm9ybV91Y3MyX2ludGVybmFsKTogTGlrZXdpc2UuCgkoX19nY29udl90cmFuc2Zvcm1faW50ZXJuYWxfdWNzMik6IExpa2V3aXNlLgoJKF9fZ2NvbnZfdHJhbnNmb3JtX3VjczJyZXZlcnNlX2ludGVybmFsKTogTGlrZXdpc2UuCgkoX19nY29udl90cmFuc2Zvcm1faW50ZXJuYWxfdWNzMnJldmVyc2UpOiBMaWtld2lzZS4KCShpbnRlcm5hbF91Y3M0bGVfbG9vcF91bmFsaWduZWQpOiBCZWZvcmUgcmV0dXJuCglfX0dDT05WX0lOQ09NUExFVEVfSU5QVVQgY2hlY2sgdGhhdCB0aGUgcmVtYWluaW5nIGJ5dGVzIHJlYWxseSBmb3JtCglhIHZhbGlkIGNoYXJhY3Rlci4gIE90aGVyd2lzZSByZXR1cm4gX19HQ09OVl9JTExFR0FMX0lOUFVULgoJKF9fZ2NvbnZfdHJhbnNmb3JtX3V0ZjhfaW50ZXJuYWwpOiBEZWZpbmUgU1RPUkVfUkVTVCBhbmQgVU5QQUNLX0JZVEVTLgoJKiBpY29udi9sb29wLmM6IEZpdCBpbiBkZWZpbml0aW9uIG9mIGZ1bmN0aW9uIHRvIGNvbnZlcnQgb25lIGNoYXJhY3RlcgoJZm9yIHByb2Nlc3Npbmcgb2YgbGVmdC1vdmVyIGJ5dGVzIGZyb20gdGhlIHN0YXRlIG9iamVjdC4KCSogaWNvbnYvc2tlbGV0b24uYyAoZ2NvbnYpOiBSZW5hbWUgaW5idWYgdG8gaW5wdHJwIGFuZCBpbmJ1ZmVuZCB0bwoJaW5lbmQgdG8gbWF0Y2ggbmFtZXMgaW4gbG9vcCBmdW5jdGlvbnMuCgkoUkVTRVRfSU5QVVRfQlVGRkVSKTogQ2hhbmdlIGFwcHJwcmlhdGVseS4KCShnY29udik6IElmIG5lZWRlZCwgY2FsbCBmdW5jdGlvbiB0byBwcm9jZXNzIGJ5dGVzIGZyb20gdGhlIHN0YXRlCglvYmplY3QuICBTaW1pbGFyIGF0IHRoZSBlbmQ6IHN0b3JlIGxlZnQgb3ZlciBieXRlcyBpZiBpbnB1dCBpcwoJaW5jb21wbGV0ZS4KCVRha2UgZXh0cmEgYXJndW1lbnQgYW5kIGFkZCBuZXcgYXJndW1lbnQgdG8gYWxsIGNhbGxzIG9mIHRoZQoJY29udmVyc2lvbiBmdW5jdGlvbi4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLmM6IEFkanVzdCBudW1lcmljIHZhbHVlcyB1c2VkIHRvIHN0b3JlCglpbmZvcm1hdGlvbiBpbiB0aGUgc3RhdGUgb2JqZWN0IHRvIG5vdCBjb25mbGljdCB3aXRoIGxlbmd0aCBjb3VudC4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91bmljb2RlLmM6IEFkanVzdCBmb3IgY2hhbmdlIGNoYW5nZSBpbiBwYXJhbWV0ZXJzIG9mCglza2VsZXRvbiBmdW5jdGlvbi4KCSogaWNvbnZkYXRhL3V0Zi0xNi5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9md2lkZS5jOiBBZGQgbmV3IHBhcmFtZXRlciB0byBhbGwgY2FsbHMgb2YgY29udmVyc2lvbgoJZnVuY3Rpb24uCgkqIHdjc21icy9idG93Yy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21icnRvd2MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnNucnRvd2NzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzcnRvd2NzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NydG9tYi5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc25ydG9tYnMuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NydG9tYnMuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3RvYi5jOiBMaWtld2lzZS4KCgkqIGljb252ZGF0YS9nYmdiay5jOiBBbHdheXMgZGVmaW5lIE1BWF9ORUVERURfT1VUUFVUIGFuZAoJTUFYX05FRURFRF9JTlBVVC4KCjIwMDAtMDQtMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMva2VybmVsX3NpZ2FjdGlvbi5oOiBVcGRhdGVkIGZvcgoJbmV3ZXIga2VybmVscy4KCjIwMDAtMDQtMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogd2NzbWJzL3djaGFyLmggKF9fbWJzdGF0ZV90KTogUmVuYW1lIGVsZW1lbnRzLiAgTWFrZSBfX3ZhbHVlCgllbGVtZW50IGEgdW5pb24gdG8gYWxsb3cgYnl0ZSBhY2Nlc3MuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBBZGp1c3QgZm9yIGNoYW5nZSBvZiBlbGVtZW50IG5hbWUgaW4KCW1ic3RhdGVfdC4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnNpbml0LmM6IExpa2V3aXNlLgoJKiBzdGRsaWIvbWJsZW4uYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9wcmludGYtcGFyc2UuaDogTGlrZXdpc2UuCgoyMDAwLTA0LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGRlbnRzLmMgKF9fZ2V0ZGVudHMpOiBUaGUgTGludXgKCWtlcm5lbCBkb2VzIG5vdCBhbGxvdyByZWxhdGl2ZSBzZWVrcyBvbiBkZXNjcmlwdG9ycyBhc3NvY2lhdGVkCgl3aXRoIGRpcmVjdG9yaWVzLiAgR28gYmFjayB0byBnZXQgdGhlIHBvc2l0aW9uIGluIHRoZSBkaXJlY3RvcnkKCWV2ZXJ5IHRpbWUgd2UgZW50ZXIgdGhlIGZ1bmN0aW9uLiAgUmV0dXJuIC0xIGFuZCBzZXQgZXJybm8gaWYgb25lCgllbnRyeSBjb3VsZCBiZSByZWFkIGZyb20gdGhlIGtlcm5lbCBidXQgZG9lcyBub3QgZml0IGludG8gdGhlCglidWZmZXIgcGFzc2VkIGluIGJ5IHRoZSB1c2VyLgoKCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYyAoY2hhcm1hcF9uZXdfY2hhcik6IEFkZCBwYXJhbWV0ZXIgc3RlcC4KCVN1cHBvcnQgLi4oMikuLiBlbGxpcHNpcy4KCShwYXJzZV9jaGFybWFwKTogUmVjb2duaXplIC4uKDIpLi4gZXRjIGFuZCBwYXNzIHN0ZXAgZG93bi4KCUNvcnJlY3RseSBnZW5lcmF0ZSBuYW1lcyBmb3IgVUNTNCBjaGFyYWN0ZXJzLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKHN0cnVjdCB0cmFuc2xpdF9pZ25vcmVfdCk6IEFkZCBzdGVwLgoJKGN0eXBlX2ZpbmlzaCk6IFdlIGtub3cgdGhlIHdpZGUgY2hhcmFjdGVyIHZhbHVlIGZvciA8U1A+LAoJZG9uJ3Qgc2VhcmNoLgoJKGNoYXJjbGFzc19zeW1ib2xpY19lbGxpcHNpcyk6IEhhbmRsZSAuLigyKS4uIGVsbGlwc2lzLgoJKGNoYXJjbGFzc191Y3M0X2VsbGlwc2lzKTogTGlrZXdpc2UuCgkocmVhZF90cmFuc2xpdF9pZ25vcmVfZW50cnkpOiBTdG9yZSBlbGxpcHNpcyBzdGVwLgoJKGN0eXBlX3JlYWQpOiBSZWNvZ25pemUgLi4oMikuLiBldGMgYW5kIHBhc3Mgc3RlcCBkb3duLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYyAobHJfdG9rZW4pOiBXaGVuIHNlZWluZyBjb21tZW50CgljaGFyYWN0ZXIgaWdub3JlIG9ubHkgcmVzdCBvZiBsaW5lIGluIHNvdXJjZXMgYnV0IHN0b3AgYXQgZXNjYXBlZAoJbmV3bGluZS4KCVJlY29nbml6ZSAuLigyKS4uIGFuZCAuLi4uKDIpLi4uLi4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLXRva2VuLmggKGVudW0gdG9rZW5fdCk6IEFkZCB0b2tfZWxsaXBzaXMyXzIKCWFuZCB0b2tfZWxsaXBzaXM0XzIuCgoyMDAwLTA0LTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9EaXN0OiBpbml0LWZpcnN0LmggaGFzIGJlZW4KCXJlbW92ZWQsIHJlbW92ZSBpdCBoZXJlIGFsc28uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9EaXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9EaXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9EaXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9EaXN0OiBMaWtld2lzZS4KCjIwMDAtMDQtMDYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9yZWdpc3Rlci1kdW1wLmg6IERvbid0CglpbmNsdWRlIGJpdHMvc2lnY29udGV4dC5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3JlZ2lzdGVyLWR1bXAuaDogTGlrZXdpc2UuCgoyMDAwLTA0LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfcmVhZCk6IEhhbmRsZSBlbGxpcHNpcyBpbgoJY29sbGF0aW9uIHN5bWJvbCBkZWZpbml0aW9uLiAgVmFsdWUgaW4gcXVpdmFsZW5jZSBkZWZpbml0aW9uIG11c3QKCWJlIGRlZmluZWQsIGRvbid0IGNoZWNrIHRoYXQgaXQgaXMgbm90LgoKCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYyAocGFyc2VfY2hhcm1hcCk6IFJlY29nbml6ZSA8VXh4eHg+Cgl2YWx1ZXMgYXMgY2hhcmFjdGVyIG5hbWVzLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGdldF9jaGFyYWN0ZXIpOiBIYW5kbGUgbWlzc2luZwoJcmVwZXJ0b2lyZSBtYXAgY29ycmVjdGx5LgoKMjAwMC0wNC0wNSAgQ3Jpc3RpYW4gR2FmdG9uICA8Z2FmdG9uQHJlZGhhdC5jb20+CgoJKiBjdHlwZS9jdHlwZS5oIChfX2lzY3R5cGVfbCk6IERlZmluZSBldmVuIGlmIG5vdCBfX09QVElNSVpFX18KCWJlY2F1c2UgaXQgaXMgdXNlZCBpbiBnZW5lcmljIGNvZGUuCgkqIHdjdHlwZS93Y3RyYW5zLmM6IERlZmluZSBfX2N0eXBlMzJfdG91cHBlciBhbmQgX19jdHlwZTMyX3RvbG93ZXIuCgkqIHdjc21icy93Y3dpZHRoLmg6IERlY2xhcmUgX19jdHlwZTMyX2IuCgkqIGludGwvZ2V0dGV4dC5jOiBJbmNsdWRlIDxsb2NhbGUuaD4uCgkqIGludGwvbmdldHRleHQuYzogTGlrZXdpc2UuCgoyMDAwLTA0LTA1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9pbmV0X250b3AuYyAoaW5ldF9udG9wNCwgaW5ldF9udG9wNiwgaW5ldF9udG9wKTogVXNlCglzb2NrbGVuX3QgdHlwZSBmb3Igc2l6ZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IFJld3JpdGUgZm9yIG5ldwoJaW5pdCBmdW5jdGlvbiBpbnRlcmZhY2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9zZXRqbXAuaDogRG9uJ3QgaW5jbHVkZQoJc3lzL3Vjb250ZXh0LmguCgkoX19qbXBfYnVmKTogRGVjbGFyZSB0aGUgd2hvbGUgdHlwZSBzdHJ1Y3R1cmUgaGVyZSwgZG9uJ3QgdXNlCgl1Y29udGV4dC4KCjIwMDAtMDQtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvc2tlbGV0b24uYyAocHV0MTZ1KTogRml4IHR5cG8uCglSZXBvcnRlZCBieSBCcnVubyBIYWlibGUgPGhhaWJsZUBpbG9nLmZyPi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2luaXQtZmlyc3QuaDogTm90IG5lZWRlZCBhbnltb3JlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vaW5pdC1maXJzdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9pbml0LWZpcnN0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2luaXQtZmlyc3QuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvaW5pdC1maXJzdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9pbml0LWZpcnN0Lmg6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvRGlzdDogUmVtb3ZlIGdldHJlc3VpZCBhbmQgZ2V0cmVzZ2lkLgoJKiBNYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBhYmktdmVyc2lvbnMuYXdrIGFuZAoJZmlyc3R2ZXJzaW9ucy5hd2suCglQYXRjaGVzIGJ5IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBjYWxkZXJhLmRlPi4KCjIwMDAtMDQtMDUgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBuc3MvTWFrZWZpbGUgKCQob2JqcGZ4KW1ha2VkYik6IE1vdmUgJChsaWJkbCkgYWZ0ZXIgZGItb3Blbi5vLgoKMjAwMC0wNC0wNSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBSZWFkZCBfZGxfc3RhcnRfdXNlcgoJZW50cnkgcG9pbnQsIHVzZWQgb24gSHVyZC4KCjIwMDAtMDQtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGludGwvTWFrZWZpbGU6IE9ubHkgcnVuIHRoZSBnZXR0ZXh0IHRlc3Qgd2l0aCBzaGFyZWQgbGlicmFyaWVzLgoKMjAwMC0wMy0xNiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5cy9wcm9jZnMuaCAocHJmcHJlZ3NldF90KToKCVR5cGVkZWYgZm9yIGVsZl9mcHJlZ3NldF90IGluc3RlYWQgb2YgYGVsZl9mcHJlZ3NldF90IConLgoKMjAwMC0wNC0wNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBNYWtlY29uZmlnOiBVbmRvIGxhc3QgY2hhbmdlLgoJKiBjb25maWd1cmUuaW46IElmIC0tZGlzYWJsZS1zaGFyZWQgd2FzIGdpdmVuLCBkb24ndCBzZXQgVkVSU0lPTklORywKCWRvbid0IGRlZmluZSBET19WRVJTSU9OSU5HLCBhbmQgZG9uJ3QgZ2l2ZSBzY2FyZSB3YXJuaW5nIGZvciBubwoJdmVyc2lvbmluZy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDAtMDQtMDQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogTWFrZWNvbmZpZyBbJChidWlsZC1zaGFyZWQpICE9IHllc10gKHZlcnNpb25pbmcpOiBTZXQgdG8gYG5vJy4KCjIwMDAtMDQtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9mZ2V0ZXhjcHRmbGcuYzogVXNlIHNobGliLWNvbXBhdCBtYWNyb3MuCgoyMDAwLTA0LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1ydW50aW1lLmMgKGZpeHVwKTogQ29ycmVjdCBoYW5kbGluZyBvZiBzeW1ib2xzIG1hcmtlZAoJU1RWX0hJRERFTiBhbmQgU1RWX0lOVEVSTkFMIGR1cmluZyBsb29rdXAuCgkocHJvZmlsZV9maXh1cCk6IExpa2V3aXNlLgoJKiBlbGYvZGwtcmVsb2MuYyAoUkVTT0xWRSk6IExpa2V3aXNlLgoKCSogaWNvbnYvc2tlbGV0b24uYyAoRlVOQ1RJT05fTkFNRSk6IFJlb3JkZXIgaW5pdGlhbGl6YXRpb24gb2YKCXVuYWxpZ25lZCBzbyB0aGF0IGl0IGNvbXBpbGVzIGZvciBzeXN0ZW0gd2hpY2ggbmVlZCB1bmFsaWduZWQKCWFjY2VzcyBoYW5kbGluZy4KCjIwMDAtMDQtMDQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBlbGYvY2FjaGUuYyAocHJpbnRfZW50cnkpOiBPbmx5IGxvb2sgYXQgdGhlIHR5cGUgZmllbGQgd2hlbgoJcHJpbnRpbmcgdGhlIHR5cGUuCgoyMDAwLTA0LTA0ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogaWNvbnZkYXRhL2JpZzUuYyAoQk9EWSk6IEZpeCB0eXBvLgoKMjAwMC0wNC0wNCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBSZXdyaXRlIGZvciBuZXcgaW5pdAoJZnVuY3Rpb24gaW50ZXJmYWNlLiAgUmVtb3ZlIHVudXNlZCBfZGxfc3RhcnRfdXNlciBlbnRyeSBwb2ludC4KCjIwMDAtMDQtMDMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYXJwYS9pbmV0LmggKF9faW5ldF9hdG9uKTogQWRkIHByb3RveXBlLgoKMjAwMC0wNC0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvbWlwcy9pbml0LWZpcnN0LmM6IFVzZSBTSEFSRUQgaW5zdGVhZCBvZiBQSUMuCgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9zeXNkZXAuaDogVXNlIF9fUElDX18gaW5zdGVhZCBvZiBQSUMuCgkqIHN5c2RlcHMvbWFjaC9taXBzL3RocmVhZF9zdGF0ZS5oOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9mY2xyZXhjcHQuYzogVXNlIHNobGliLWNvbXBhdCBtYWNyb3MuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mZWdldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZmV1cGRhdGVlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mcmFpc2VleGNwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2ZzZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2xvYi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2Vycmxpc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vycmxpc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvY2hvd24uYzogTGlrZXdpc2UuCgoyMDAwLTA0LTAyICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvbGRjb25maWcuaCAoRkxBR19JQTY0X0xJQjY0KTogTmV3LiBEZWZpbmVkLgoKMjAwMC0wNC0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfZHN0X3N1YnN0aXR1dGUpOiBQcmV0dHkgcHJpbnQgY29tbWVudC4KCShhZGRfbmFtZV90b19vYmplY3QpOiBBZGQgY2FzdCBpbiBtYWxsb2MgY2FsbC4KCShmaWxsaW5fcnBhdGgpOiBPcHRpbWl6ZSBsb29wIHRvIGluaXRpYWxpemUgLT5zdGF0dXMgYSBiaXQuCgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oOiBVbmRvIGxhc3QgY2hhbmdlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVF9TUEVDSUFMX0lOSVQpOgoJUmVzdG9yZSAlZWR4IHJlZ2lzdGVyIGFmdGVyIGNhbGwgaGVyZS4KCgkqIHN5c2RlcHMvYXJtL2F0b21pY2l0eS5oOiBOZXcgZmlsZS4KCUNvbnRyaWJ1dGVkIGJ5IEplc3BlciBTa292IDxqc2tvdkByZWRoYXQuY29tPi4KCjIwMDAtMDQtMDMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogTWFrZWNvbmZpZyAocHJlcHJvY2Vzcy12ZXJzaW9ucyk6IFVuZG8gbGFzdCBjaGFuZ2UuCglJbnN0ZWFkLCBwYXNzIC1JJChjb21tb24tb2JqZGlyKSAtSSQoLi4paW5jbHVkZSBpbnN0ZWFkIG9mICQoQ1BQRkxBR1MpLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9pbml0LWZpcnN0LmMgKGluaXQpOiBEb24ndCBzZXQgX19lbnZpcm9uCgloZXJlLCBiZWZvcmUgd2UgbWlnaHQgbW92ZSB0aGUgc3RhY2suCgkocG9zaXhsYW5kX2luaXQpOiBTZXQgX19saWJjX2FyZ2MsIF9fbGliY19hcmdjLCBhbmQgX19lbnZpcm9uIGhlcmUuCgkoaW5pdDEpOiBBbmQgbm90IGhlcmUuCgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogRml4IGNvZGUgYnJva2VuIGJ5IGxhc3QKCWNoYW5nZSwgdG8gcmVzdG9yZSBhcmdjIHZhbHVlIGluIGNhbGwtY2xvYmJlcmVkIHJlZ2lzdGVyIGFmdGVyCglSVExEX1NUQVJUX1NQRUNJQUxfSU5JVCwgd2hpY2ggd2lsbCBjb250YWluIGEgY2FsbC4KCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBGaXggc2l6ZSBjYWxjdWxhdGlvbnMgZm9yCglhbGxvY2F0aW5nIGFuZCBpbml0aWFsaXppbmcgTC0+bF9pbml0ZmluaS4KCgkqIHJlc29sdi9NYWtlZmlsZSAoaGVhZGVycyk6IEFkZCBiaXRzL25ldGRiLmgsIHNvIGl0IGdldHMgaW5zdGFsbGVkLgoKMjAwMC0wNC0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfaW5pdF9wYXRocyk6IFVzZSAodm9pZCopIC0xIHRvIHNpZ25hbCBub24tZXhpc3RpbmcKCVJVTlBBVEgsIFJQQVRILCBhbmQgTERfTElCUkFSWV9QQVRILgoJKG9wZW5fcGF0aCk6IENoYW5nZSB0eXBlIG9mIGZvdXJ0aCBwYXJhbWV0ZXIuICBNYWtlIHBvaW50ZXIgdG8gYXJyYXkKCW9mIHBvaW50ZXJzLiAgQ3JlYXRlIHZhcmlhYmxlIGRpcnMgd2l0aCBvcmlnaW5hbCB0eXBlLgoJVHJhY2sgd2hldGhlciBhbnkgZGlyZWN0b3J5IGZvciB0aGUgb2JqZWN0IGV4aXN0cyBhbmQgaWYgbm90LAoJY2hhbmdlICpESVJTUCB0byAodm9pZCopIC0xIHRvIHNpZ25hbCB0aGVyZSBpcyBubyBzdWNoIHNlYXJjaCBwYXRoLgoJKF9kbF9tYXBfb2JqZWN0KTogQ2hhbmdlIGFsbCBjYWxscyBvZiBvcGVuX3BhdGguCglSZXdyaXRlIGRlY29tcG9zZV9ycGF0aCBjYWxscy4KCjIwMDAtMDMtMzEgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzdHJpbmcvc3RyZnJ5LmM6IERlY2xhcmUgU1RBVEUgYXMgYXJyYXkgb2YgY2hhciBpbnN0ZWFkIG9mIGludAoJYW5kIGRvIG5vdCBpbml0aWFsaXplIGl0IChkb25lIGJ5IGluaXRzdGF0ZV9yKS4gIFBhc3MgY29ycmVjdAoJc2l6ZS4KCjIwMDAtMDQtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogU3F1ZWV6ZSBvbmUgbW9yZQoJaW5zdHJ1Y3Rpb24gb3V0IG9mIHRoZSBjb2RlLgoKMjAwMC0wNC0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtZmluaS5jIChfZGxfZmluaSk6IEluY3JlbWVudCBqIGNvdW50ZXIgYWZ0ZXIgc3dhcHBpbmcgaW4KCWVsZW1lbnQgYXQgdGhpcyBwb3NpdGlvbi4KCgkqIGVsZi9WZXJzaW9ucyBbbGQuc29dIChHTElCQ18yLjIpOiBFeHBvcnQgX2RsX2xvYWRfbG9jay4KCSogZWxmL2xpbmsuaCAoc3RydWN0IGxpbmtfbWFwKTogQWRkIGxfcmVsZGVwc21heCwgbF9yZWxkZXBzYWN0LCBhbmQKCWxfcmVsZGVwcyBlbGVtZW50cy4KCSogZWxmL2RsLWxvb2t1cC5jIChhZGRfZGVwZW5kZW5jeSk6IE5ldyBmdW5jdGlvbi4KCShfZGxfbG9va3VwX3N5bWJvbCk6IFVzZSBpdCB3aGVuZXZlciBzeW1ib2wgd2FzIGZvdW5kIGluIGEgZ2xvYmFsLAoJZHluYW1pY2FsbHkgbG9hZGVkIG9iamVjdC4KCShfZGxfbG9va3VwX3N5bWJvbF9za2lwKTogTGlrZXdpc2UuCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sKTogTGlrZXdpc2UuCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sX3NraXApOiBMaWtld2lzZS4KCSogZWxmL2RsLW9wZW4uYzogRG9uJ3QgZGVmaW5lIF9kbF9sb2FkX2xvY2sgaGVyZS4uLgoJKiBlbGYvcnRsZC5jOiAuLi5idXQgaGVyZS4uLgoJKiBlbGYvZGwtc3VwcG9ydC5jOiAuLi5hbmQgaGVyZS4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IENsb3NlIGFsc28gZGVwZW5kZW50IG9iamVjdHMgaW50cm9kdWNlCgl0aHJvdWdoIHJlbG9jYXRpb24uCgkqIGVsZi9kbC1maW5pLmMgKF9kbF9maW5pKTogQWxzbyB0YWtlIGRlcGVuZGVuY2llcyBpbnRyb2R1Y2VkIHRocm91Z2gKCXJlbG9jYXRpb25zLgoJKiBkbGZjbi9NYWtlZmlsZSAoZ2xyZWZtYWluLm91dCk6IFRlc3QgaXMgbm90IGV4cGVjdGVkIHRvIGZhaWwKCWFueW1vcmUuCgkqIGRsZmNuL2dscmVmbWFpbi5jOiBBZGQgb25lIG1vcmUgZGVidWcgbWVzc2FnZS4KCgkqIE1ha2Vjb25maWcgKHByZXByb2Nlc3MtdmVyc2lvbnMpOiBEb24ndCBhZGQgJChDUFBGTEFHUykgdG8gY29tcGlsZXIKCWNvbW1hbmQgbGluZS4KCSogTWFrZXJ1bGVzIChzeXNkLXZlcnNpb25zKTogVXNlICggKSBpbnN0ZWFkIG9mIHsgfS4KCgkqIGVsZi9kbC1sb2FkLmM6IFVzZSBfX2J1aWx0aW5fZXhwZWN0IHRvIHNpZ25hbCB0aGF0IGNvbXBpbGVyIHNob3VsZAoJb3B0aW1pemUgZm9yIHRoZSBub24tZGVidWdnaW5nIGNhc2UuCgkqIGVsZi9kbC1sb29rdXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IExpa2V3aXNlLgoKMjAwMC0wNC0wMiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2luaXQtZmlyc3QuYzogUmVwbGFjZSBQSUMgI2lmZGVmcyB3aXRoIFNIQVJFRC4KCShpbml0MSk6IERvbid0IGluaXRpYWxpemUgX19lbnZpcm9uIGhlcmUsIHNpbmNlIGluaXQgYWxyZWFkeSBkb2VzIGl0LgoJKGZpcnN0X2luaXQpOiBOZXcgZnVuY3Rpb24sIGJyb2tlbiBvdXQgb2YgX2luaXQuCgkoX2h1cmRfc3RhY2tfc2V0dXApOiBVc2UgaXQuCglbU0hBUkVEXSAoX2RsX2luaXRfZmlyc3QpOiBOZXcgZnVuY3Rpb24sIHJlbmFtZWQgZnJvbSBvbGQgX2luaXQuCgkoaW5pdDEpIFtTSEFSRURdOiBEb24ndCBjYWxsIHBvc2l4bGFuZF9pbml0IGhlcmUuCgkocG9zaXhsYW5kX2luaXQpOiBUYWtlIEVOVlAgYXJnLCBzbyBzaWduYXR1cmUgaXMgdXN1YWwgZm9yIGluaXRpYWxpemVyLgoJW1NIQVJFRF0gKF9pbml0KTogRGVmaW5lIGFzIGFsaWFzIGZvciBwb3NpeGxhbmRfaW5pdC4KCVshIFNIQVJFRF0gKF9fbGliY19maXJzdF9pbml0KTogRGVmaW5lIGFzIGFsaWFzIGZvciBwb3NpeGxhbmRfaW5pdC4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IEluc2VydCB0aGUgbWFjcm8KCVJUTERfU1RBUlRfU1BFQ0lBTF9JTklUIGJlZm9yZSBjYWxsaW5nIGluaXRpYWxpemVycy4KCShSVExEX1NUQVJUX1NQRUNJQUxfSU5JVCk6IERlZmluZSB0byBlbXB0eSBpZiB1bmRlZmluZWQuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvZGwtbWFjaGluZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmMgKF9kbF9pbml0X2ZpcnN0KTogTmV3IHdlYWsgZnVuY3Rpb24uCgkqIGVsZi9WZXJzaW9ucyAoe2xpYmMsbGQuc299OiBHTElCQ18yLjIpOiBBZGQgX2RsX2luaXRfZmlyc3QuCgoJKiBzdGRpby1jb21tb24vdG1wZmlsZS5jIFshIFVTRV9JTl9MSUJJT106IE5vIGFsaWFzIG5lZWRlZCwKCXNpbmNlIHdlIGRlZmluZSB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgbmFtZSBgdG1wZmlsZScuCgoJKiBtYWNoL1ZlcnNpb25zOiBEZWZpbmUgU0hBUkVEIGluc3RlYWQgb2YgUElDIHRvIGFmZmVjdCBzaGxpYi1jb21wYXQuaC4KCSogaHVyZC9WZXJzaW9uczogTGlrZXdpc2UuCgoyMDAwLTA0LTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1ydW50aW1lLmMgKGZpeHVwKTogRml4IHR5cG8gaW4gY29tbWVudC4KCgkqIHJlc29sdi9uZXRkYi5oIChnZXRuYW1laW5mbyk6IEFsbCBsZW5ndGggcGFyYW1ldGVycyBhcmUgb2YgdHlwZQoJc29ja2xlbl90LgoJKiBpbmV0L2dldG5hbWVpbmZvLmM6IExpa2V3aXNlLgoKMjAwMC0wNC0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC91bmlzdGQuaCAoc29ja2xlbl90KTogRGVmaW5lIGlmIGl0IGhhcyBub3QgeWV0IGhhcHBlbmVkLgoJKGdldGhvc3RuYW1lKTogQ2hhbmdlIHR5cGUgb2Ygc2Vjb25kIHBhcmFtZXRlciB0byBzb2NrbGVuX3QuCgkqIGluY2x1ZGUvdW5pc3RkLmggKF9fZ2V0aG9zdG5hbWUpOiBDaGFuZ2UgdHlwZSBvZiBzZWNvbmQKCXBhcmFtZXRlciB0byBzb2NrbGVuX3QuCgkqIHN5c2RlcHMvZ2VuZXJpYy9nZXRob3N0bmFtZS5jIChfX2dldGhvc3RuYW1lKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2dldGhvc3RuYW1lLmMgKF9fZ2V0aG9zdG5hbWUpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvZ2V0aG9zdG5hbWUuYyAoX19nZXRob3N0bmFtZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9zeXN2NC9zb2xhcmlzMi9nZXRob3N0bmFtZS5jIChfX2dldGhvc3RuYW1lKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRob3N0bmFtZS5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zb2NrZXQuaDogVXNlIF9fc29ja2xlbl90IHRvIGRlZmluZSBzb2NrbGVuX3QuCglBbGxvdyBkZWZpbml0aW9uIGVsc2V3aGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2JpdHMvc29ja2V0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NvY2tldC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NvY2tldC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvdHlwZXMuaDogRGVmaW5lIF9fc29ja2xlbl90LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy90eXBlcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvaHB1eC9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L3N5c3Y0L3NvbGFyaXMyL2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgoJKiBpbmV0L2FycGEvaW5ldC5oIChpbmV0X2FkZHIpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gaW5fYWRkcl90LgoJKGluZXRfbG5hb2YpOiBMaWtld2lzZS4KCShpbmV0X25ldG9mKTogTGlrZXdpc2UuCgkoaW5ldF9uZXR3b3JrKTogTGlrZXdpc2UuCgkoaW5ldF9hdG9uKTogTGlrZXdpc2UuCgkoaW5ldF9tYWtlYWRkcik6IENoYW5nZSBwYXJhbWV0ZXIgdHlwZXMgdG8gaW5fYWRkcl90LgoJKGluZXRfbmV0YSk6IExpa2V3aXNlLgoJKGluZXRfbnRvcCk6IENoYW5nZSB0eXBlIG9mIGxhc3QgcGFyYW1ldGVyIHRvIHNvY2tsZW5fdC4KCShpbmV0X2F0b24pOiBPbmx5IG1ha2UgYXZhaWxhYmxlIGlmIF9fVVNFX01JU0MuCgkoaW5ldF9uZXRhKTogTGlrZXdpc2UuCgkoaW5ldF9uZXRfbnRvcCk6IExpa2V3aXNlLgoJKGluZXRfbmV0X3B0b24pOiBMaWtld2lzZS4KCShpbmV0X25zYXBfbnRvYSk6IExpa2V3aXNlLgoKCSogaW5ldC9pbi5oOiBEZWZpbmUgaW5fcG9ydF90IHR5cGUuCglEZWZpbmUgaW5fYWRkcl90IHR5cGUuCgkoc3RydWN0IGluX2FkZHIpOiBVc2UgaW5fYWRkcl90IGluIGRlZmluaXRpb24uCgkoSU5fQ0xBU1NBKTogVXNlIGNhc3QgdG8gaW5fYWRkcl90LgoJKElOX0NMQVNTQik6IExpa2V3aXNlLgoJKElOX0NMQVNTQyk6IExpa2V3aXNlLgoJKElOX0NMQVNTRCk6IExpa2V3aXNlLgoJKElOX0VYUEVSSU1FTlRBTCk6IExpa2V3aXNlLgoJKElOX0JBRENMQVNTKTogTGlrZXdpc2UuCgkoSU5BRERSX0FOWSk6IExpa2V3aXNlLgoJKElOQUREUl9CUk9BRENBU1QpOiBMaWtld2lzZS4KCShJTkFERFJfTk9ORSk6IExpa2V3aXNlLgoJKElOQUREUl9MT09QQkFDSyk6IExpa2V3aXNlLgoJKElOQUREUl9VTlNQRUNfR1JPVVApOiBMaWtld2lzZS4KCShJTkFERFJfQUxMSE9TVFNfR1JPVVApOiBMaWtld2lzZS4KCShJTkFERFJfQUxMUlRSU19HUk9VUCk6IExpa2V3aXNlLgoJKElOQUREUl9NQVhfTE9DQUxfR1JPVVApOiBMaWtld2lzZS4KCShzdHJ1Y3Qgc29ja2FkZHJfaW4pOiBVc2UgaW5fcG9ydF90IGZvciBzaW5fcG9ydCBlbGVtZW50LgoJKHN0cnVjdCBzb2NrYWRkcl9pbjYpOiBVc2UgaW5fcG9ydF90IGZvciBzaW42X3BvcnQgZWxlbWVudC4KCVVzZSB1aW50OF90IGluc3RlYWQgb2YgdV9pbnQ4X3QuCgoJKiByZXNvbHYvaW5ldF9hZGRyLmMgKGluZXRfYWRkcik6IENoYW5nZSByZXR1cm4gdHlwZSB0byBpbl9hZGRyX3QuCglDYWxsIF9faW5ldF9hdG9uIGluc3RlYWQgb2YgaW5ldF9hdG9uLgoJKF9faW5ldF9hdG9uKTogUmVuYW1lZCBmcm9tIGluZXRfYXRvbi4gIEFkZCB3ZWFrIGFsaWFzIHVuZGVyIG9sZCBuYW1lLgoKCSogcmVzb2x2L25ldGRiLmggKGdldGhvc3RieW5hbWUyKTogRGVmaW5lIG9ubHkgaXMgX19VU0VfTUlTQy4KCShpbm5ldGdyKTogTGlrZXdpc2UuCgkoc3RydWN0IGFkZHJpbmZvKTogVXNlIHNvY2tsZW5fdCBmb3IgYWlfYWRkcmxlbiBlbGVtZW50LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9pbi5oIChJUFY2X01UVV9ESVNDT1ZFUiwgSVBWNl9NVFUsCglJUFY2X1JFQ1ZFUlIpOiBOZXcgZGVmaW5lcy4KCgkqIGluY2x1ZGUvbmV0ZGIuaDogQ2hhbmdlIHR5cGUgb2YgZmlyc3QgcGFyYW1ldGVyIG9mIF9fZ2V0bmV0YnlhZGRyX3IuCgkqIGluZXQvZ2V0bmV0YnlhZC5jOiBMaWtld2lzZS4KCSogaW5ldC9nZXRuZXRieWFkX3IuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1uZXR3b3JrLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzcGx1c19uaXMvbmlzcGx1cy1uZXR3b3JrLmM6IExpa2V3aXNlLgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLW5ldHdvcmsuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9uZXRkYi5oOiBEZWZpbmUgdWludDMyX3QgaWYgbm90IGFscmVhZHkgaGFwcGVuZWQuCglJbmNsdWRlIGJpdHMvbmV0ZGIuaC4gIFJlbW92ZSBkZWZpbml0aW9uIG9mIHN0cnVjdCBuZXRlbnQuCglDaGFuZ2UgdHlwZSBvZiBmaXJzdCBwYXJhbWV0ZXIgb2YgZ2V0bmV0YnlhZGRyX3IgYW5kIGdldG5ldGJ5YWRkci4KCSogc3lzZGVwcy9nZW5lcmljL3N0ZGludC5oOiBBbGxvdyBkZWZpbml0aW9uIG9mIHVpbnQzMl90IGVsc2V3aGVyZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvbmV0ZGIuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvbmV0ZGIuaDogTmV3IGZpbGUuCgoJKiBkbGZjbi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBnbHJlZmxpYjEuYyBhbmQgZ2xyZWZsaWIyLmMuCgkodGVzdHMpOiBBZGQgZ2xyZWZtYWluLgoJQWRkIHJ1bGVzIHRvIGJ1aWxkIG1vZHVsZXMgYW5kIHJ1biB0ZXN0cy4gIElnbm9yZSByZXN1bHQgb2YgZ2xyZWZtYWluCglmb3Igbm93IHNpbmNlIGl0IGZhaWxzLgoJKiBkbGZjbi9nbHJlZm1haW4uYzogTmV3IGZpbGUuCgkqIGRsZmNuL2dscmVmbGliMS5jOiBOZXcgZmlsZS4KCSogZGxmY24vZ2xyZWZsaWIyLmM6IE5ldyBmaWxlLgoKCSogdGVzdC1za2VsZXRvbi5jOiBJbmNsdWRlIDxzdHJpbmcuaD4gZm9yIHN0cnNpZ25hbCBwcm90b3R5cGUuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjaGVja19kdXBsaWNhdGUpOiBBbGxvdyByZXBlcnRvaXJlCgl0byBiZSBtaXNzaW5nLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jIChpbml0KTogQWRkIGNvZGUgZnJvbQoJZm9ybWVyIGluaXQtZmlyc3QuaC4gIEluaXRpYWxpemUgX19saWJjX211bHRpcGxlX2xpYmNzLgoKMjAwMC0wMy0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9za2VsZXRvbi5jOiBEZWZpbmUgYWNjZXNzIG1hY3JvcyB3aXRoIHUgc3VmZml4LiAgQWRqdXN0CgkjaWYgZXhwcmVzc2lvbiBmb3IgdXNlIG9mIHVuYWxpZ25lZCBmdW5jdGlvbiB0byB0aGUgb25lIHVzZWQgaW4KCXRoZSBkZWZpbml0aW9uIG9mIHRoZXNlIGZ1bmN0aW9ucy4KCSogaWNvbnYvbG9vcC5jOiBVbmRlZmluZWQgYHVuYWxpZ25lZCcgYmVmb3JlIHJlY3Vyc2l2ZSBpbmNsdXNpb24uCgkqIGljb252L2djb252X3NpbXBsZS5jIChpbnRlcm5hbF91Y3M0X2xvb3BfdW5hbGlnbmVkKTogTmV3IGZ1bmN0aW9uLgoJKGludGVybmFsX3VjczRsZV9sb29wX3VuYWxpZ25lZCk6IE5ldyBmdW5jdGlvbi4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBkZXAxLmMsIGRlcDIuYywgZGVwMy5jLCBhbmQgZGVwNC5jLgoJKHRlc3RzKTogQWRkIG9yZGVyLgoJKG1vZHVsZS1uYW1lcyk6IEFkZCBkZXAxLCBkZXAyLCBkZXAzLCBhbmQgZGVwNC4KCUFkZCBkZXBlbmRlbmNpZXMgZm9yIGRlcCogbW9kdWxlcyBhbmQgb3JkZXIuCglEZWZpbmUgcnVsZSBmb3Igb3JkZXIub3V0IHdoaWNoIGNoZWNrcyB0aGUgcmVzdWx0LgoJKiBlbGYvZGVwMS5jOiBOZXcgZmlsZS4KCSogZWxmL2RlcDIuYzogTmV3IGZpbGUuCgkqIGVsZi9kZXAzLmM6IE5ldyBmaWxlLgoJKiBlbGYvZGVwNC5jOiBOZXcgZmlsZS4KCSogZWxmL29yZGVyLmM6IE5ldyBmaWxlLgoKCSogZWxmL2RsLWluaXQuYzogRml4IHR5cG8gaW4gY29tbWVudC4KCjIwMDAtMDMtMzEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBSZXdyaXR0ZW4gdG8gbWF0Y2ggbmV3Cglpbml0IGZ1bmN0aW9uIGludGVyZmFjZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBMaWtld2lzZS4KCjIwMDAtMDMtMzEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmdldGV4Y3B0ZmxnLmM6IEZpeCBsYXN0IHBhdGNoIHRvIHVzZSAjaWYuCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmVnZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmV1cGRhdGVlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmNscmV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IERUX0lOSVRfQVJSQVkgaXMgbm90IHJlbG9jYXRlZAoJYW55bW9yZSwgdXBkYXRlIGNvbW1lbnQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1jdGwuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZW1jdGwuYyAoc3RydWN0IF9fb2xkX3NlbWlkX2RzKTogUmVtb3ZlCglTSExJQl9DT01QQVQgLSB0aGUgc3RydWN0IGlzIGFsd2F5cyBuZWVkZWQuCgoyMDAwLTAzLTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBPcHRpbWl6ZSBmb3IgaTY4Ni4KCSogZWxmL2RsLXN1cHBvcnQuYzogRGVmaW5lIF9kbF9zdGFydGluZ191cC4KCjIwMDAtMDMtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWluaXQuYyAoX2RsX2luaXQpOiBDbGVhciBfZGxfc3RhcnRpbmdfdXAgYXQgZW5kIG9mIGZ1bmN0aW9uLgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oOiBSZW1vdmUgY29kZSB0byBjbGVhciBfZGxfc3RhcnRpbmdfdXAuCgoJKiBtaXNjL3N5cy9jZGVmcy5oOiBEb24ndCBhbGxvdyBnY2MgaW4gdHJhZGl0aW9uYWwgbW9kZSB0byBiZSB1c2VkLgoKCSogZWxmL01ha2VmaWxlIChkbC1yb3V0aW5lcyk6IFJlbW92ZSBwcmVpbml0LgoJKiBlbGYvVmVyc2lvbnM6IFJlbW92ZSBfZGxfcHJlaW5pdC4KCSogZWxmL2RsLXByZWluaXQuYzogUmVtb3ZlZC4gIE1vdmUgY29udGVudCBpbnRvLi4uCgkqIGVsZi9kbC1pbml0LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBSZW1vdmUgY2FsbCB0byBfZGxfcHJlaW5pdC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3NobS5oIChzdHJ1Y3Qgc2htaWRfZHMpOiBDb3JyZWN0IG5hbWVzIG9mCgllbGVtZW50cy4KCjIwMDAtMDMtMjkgIEdlb2ZmIENsYXJlICA8Z3djQHVuaXNvZnQuY29tPgoKCSogc3RkbGliL3N0cmZtb24uYzogQ29ycmVjdGVkIHByb2JsZW1zIHdpdGggdGhlIGNvZGUgdGhhdAoJc2V0cyBkZWZhdWx0IHZhbHVlcyBmb3IgW25wXV9zZXBfYnlfc3BhY2UgYW5kCglbbnBdX3NpZ25fcG9zbjsgYWxzbyB0aGUgbmV3IHBvc2l0aXZlL25lZ2F0aXZlIGFsaWdubWVudAoJY29kZSBmcm9tIHRoZSBwcmV2aW91cyBwYXRjaCB3YXMgbm90IHF1aXRlIHJpZ2h0IGZvcgoJW25wXV9zaWduX3Bvc24gPSAwLgoKCSogbG9jYWxlZGF0YS90c3QtZm1vbi5kYXRhOiBDaGFuZ2VzIGNvcnJlc3BvbmRpbmcgdG8gdGhlCgl0d28gc2V0cyBvZiBmaXhlcyBtYWRlIHRvIHN0ZGxpYi9zdHJmbW9uLmMuCgoyMDAwLTAzLTI5ICBKZXMgU29yZW5zZW4gIDxqZXNAcGNhdGxzMDEuY2Vybi5jaD4KCgkqIG1hbGxvYy9tYWxsb2MuYzogRGVjbGFyZSBiaXQgZmxhZ3MgVUwgc28gdGhhdCB0aGV5IHdpbGwgbm90CglkZWZhdWx0IHRvIGludCBzaXplIHdoZW4gYmVpbmcgaW52ZXJ0ZWQuCgoyMDAwLTAzLTI5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vZXJybGlzdC5jOiBVc2Ugc2hsaWItY29tcGF0IG1hY3Jvcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3NpZ2xpc3QuYzogTGlrZXdpc2UuCgoyMDAwLTAzLTI5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+LAoJICAgIFJhbGYgQmFlY2hsZSA8cmFsZkB1bmkta29ibGVuei5kZT4KCgkqIE1ha2Vjb25maWc6IEludHJvZHVjZSBuZXcgdmFyaWFibGUgU0hBUkVEIHRvIG1hcmsgY29kZSB1c2VkIGluCgl0aGUgc2hhcmVkIGxpYnJhcnkuCgkqIGVsZi9kbC1jbG9zZS5jOiBVc2UgaXQgaW5zdGVhZCBvZiBQSUMuCgkqIGVsZi9kbC1sb2FkLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtb3Blbi5jOiBMaWtld2lzZS4KCSogaHVyZC9nZXRldWlkcy5jOiBMaWtld2lzZS4KCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvc2hsaWItY29tcGF0Lmg6IExpa2V3aXNlLgoJKiBsaWJpby9mcmVvcGVuLmM6IExpa2V3aXNlLgoJKiBsaW51eHRocmVhZHMvY2FuY2VsLmM6IExpa2V3aXNlLgoJKiBsaW51eHRocmVhZHMvcHRocmVhZC5jOiBMaWtld2lzZS4KCSogbGludXh0aHJlYWRzL3dyYXBzeXNjYWxsLmM6IExpa2V3aXNlLgoJKiBuc3MvbnNzd2l0Y2guYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hcm0vaW5pdC1maXJzdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2luaXQtZmlyc3QuYzogTGlrZXdpc2UKCSogc3lzZGVwcy9nZW5lcmljL2luaXQtZmlyc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvaW5pdC1maXJzdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pbml0LWZpcnN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc2lnbGlzdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2Vycmxpc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvY2hvd24uYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL21pcHMvbWFjaGluZS1nbW9uLmggKGFzbSk6IFVzZSBfX1BJQ19fIGFzIGNoZWNrLgoKMjAwMC0wMy0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcnVudGltZV9zZXR1cCk6CglVc2UgRF9QVFIgdG8gYWNjZXNzIHJlbG9jYXRlZCBlbnRyaWVzIGluIGxfaW5mby4KCShlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKToKCUxpa2V3aXNlLgoJKGVsZl9tYWNoaW5lX3JlbGEpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmMgKF9fZWxmX21hY2hpbmVfcnVudGltZV9zZXR1cCk6CglMaWtld2lzZS4KCShfX2VsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IExpa2V3aXNlLgoJKF9fcHJvY2Vzc19tYWNoaW5lX3JlbGEpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBMaWtld2lzZS4KCShlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2FybS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBMaWtld2lzZS4KCShlbGZfbWFjaGluZV9yZWwpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogTGlrZXdpc2UuCgkoZWxmX21hY2hpbmVfZml4dXBfcGx0KTogTGlrZXdpc2UuCgkoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoKMjAwMC0wMy0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXNnY3RsLmM6IFVzZSBzaGxpYi1jb21wYXQgbWFjcm9zLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZW1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRybGltaXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0cmxpbWl0NjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbXNnY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L29sZGdldHJsaW1pdDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NlbWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRybGltaXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2htY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9tc2djdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NlbWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2htY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9hZGp0aW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2Nob3duLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvb2xkZ2xvYi5jOiBVc2Ugc2hsaWItY29tcGF0CgltYWNyb3MsIHJlbW92ZSBLJlIgcHJvdG90eXBlcy4KCjIwMDAtMDMtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZ2V0b3B0LmMgKF9nZXRvcHRfaW50ZXJuYWwpOiBSZXR1cm4gLTEgaWYgYXJnYyA8IDEuCglSZXBvcnRlZCBieSBBbmRyZXcgV2lzZW1hbiA8YS53aXNlbWFuQGJhbmRjLmRpcmNvbi5jby51az4KCShQUiBsaWJjLzE2NzcpLgoKMjAwMC0wMy0zMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWlzYy9zeXMvY2RlZnMuaDogUmVtb3ZlIEsmUiBzdXBwb3J0LgoKMjAwMC0wMy0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9za2VsZXRvbi5jOiBBdm9pZCBjb21waWxpbmcgdW5hbGlnbmVkIHZlcnNpb25zIGluIHNvbWUKCW1vcmUgY2FzZXMuCgkqIGljb252L2xvb3AuYzogTGlrZXdpc2UuCgoyMDAwLTAzLTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9sb29wLmMgKHB1dDE2KTogUmVtb3ZlIF9fY29uc3QuIEZpeCBhY2Nlc3MgaW5kZXguCgkocHV0MzIpOiBSZW1vdmUgX19jb25zdC4gVXNlIHVpbnQzMl90IGluc3RlYWQgb2YgdWludDE2X3QuCgkqIGljb252L3NrZWxldG9uLmM6IExpa2V3aXNlLgoKMjAwMC0wMy0zMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBtYWNoL1ZlcnNpb25zIChsaWJjOiBHTElCQ18yLjApCglbU0hMSUJfQ09NUEFUIChsaWJjLCBHTElCQ18yXzAsIEdMSUJDXzJfMSldOiBDb25kaXRpb25hbGl6ZQoJX192bV9hbGxvY2F0ZSBvbiB0aGlzLgoJW1NITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8wLCBHTElCQ18yXzIpXTogQ29uZGl0aW9uYWxpemUKCW11dGV4LSBhbmQgc3BpbmxvY2stcmVsYXRlZCBzeW1ib2xzIG9uIHRoaXMuCglbIVNITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8wLCBHTElCQ18yXzIpXSAobGliYzogSFVSRF9DVEhSRUFEU18wLjMpOgoJTmV3IHZlcnNpb24gc2V0LiAgTG9jay1yZWxhdGVkIHN5bWJvbHMgZ28gaGVyZSBpbnN0ZWFkIGluIHRoaXMgY2FzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvVmVyc2lvbnMgKGxpYmM6IEdMSUJDXzIuMCk6IFJlbW92ZQoJX2N0aHJlYWRfZXhpdF9yb3V0aW5lLCBfY3RocmVhZF9pbml0X3JvdXRpbmUsIGN0aHJlYWRfa2V5Y3JlYXRlLAoJY3RocmVhZF9nZXRzcGVjaWZpYywgY3RocmVhZF9zZXRzcGVjaWZpYywgX19saWJjX2dldHNwZWNpZmljLgoJKiBodXJkL1ZlcnNpb25zCglbU0hMSUJfQ09NUEFUIChsaWJjLCBHTElCQ18yXzAsIEdMSUJDXzJfMildIChsaWJjOiBHTElCQ18yLjApOgoJUHV0IHRoZW0gaGVyZSBpbnN0ZWFkLgoJWyFTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8yKV0gKGxpYmM6IEhVUkRfQ1RIUkVBRFNfMC4zKToKCU5ldyB2ZXJzaW9uIHNldC4gIFRob3NlIGN0aHJlYWRzIHN5bWJvbHMgZ28gaGVyZSBpbnN0ZWFkIGluIHRoaXMgY2FzZS4KCSogVmVyc2lvbnMuZGVmIChsaWJjKSBbVVNFX0lOX0xJQklPXTogQWRkIEhVUkRfQ1RIUkVBRFNfMC4zIHZlcnNpb24uCgoyMDAwLTAzLTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1pbml0LmMgKF9kbF9pbml0KTogV2UgZG9uJ3QgbmVlZCB0byBjYWxsIGNvbnN0cnVjdG9ycwoJcmVjdXJzaXZlbHkuICBGb2xkIF9kbF9pbml0X3JlYyBpbiBfZGxfaW5pdCBhbmQgb3B0aW1pemUgYSBiaXQgbW9yZS4KCglJbXBsZW1lbnQgZHluYW1pYyBkZXRlcm1pbmF0aW9uIG9mIGNvbnN0cnVjdG9yL2Rlc3RydWN0b3Igb3JkZXIgaW4KCXRoZSBkeW5hbWljIGxpbmtlci4KCSogZWxmL1ZlcnNpb25zIFtsZC5zb10gKEdMSUJDXzIuMCk6IFJlbW92ZSBfZGxfaW5pdF9uZXh0LgoJKEdMSUJDXzIuMik6IEFkZCBfZGxfaW5pdC4KCSogZWxmL2RsLWNsb3NlLmM6IEFsc28gY2FsbCBhbGwgZGVzdHJ1Y3RvcnMgaW4gRklOSV9BUlJBWS4KCXJfZHVwbGlzdCBpcyBub3QgYW55bW9yZSBhbGxvY2F0ZWQgc2VwYXJhdGVseS4gIGxfaW5pdGZpbmkgaXMgYW5kCgl0aGVyZWZvcmUgZnJlZSBpdCBpZiBuZWNlc3NhcnkuCgkqIGVsZi9kbC1kZXBzLmM6IElmIGEgc2VhcmNobGlzdCBoYXMgdG8gYmUgYWxsb2NhdGVkLCBwdXQgYWxsIGluIG9uZQoJbWFsbG9jIGJsb2NrLiAgT3RoZXJ3aXNlIGFsbG9jYXRlIGxfaW5pdGZpbmkgbGlzdCBvbmx5LgoJUHV0IGRlcGVuZGVuY2llcyBmb3IgdGhlIG9iamVjdCBpbiBsX2luaXRmaW5pIGxpc3QuCglTb3J0IGRlcGVuZGVuY2llcyBmb3IgdGhlIG9iamVjdCB0byBiZSBsb2FkZWQgdG9wb2xvZ2ljYWxseS4KCSogZWxmL2RsLWZpbmkuYzogQmVmb3JlIHJ1bm5pbmcgdGhlIGRlc3RydWN0b3JzIHNvcnQgdGhlIHRvcG9sb2dpY2FsbHkuCgkqIGVsZi9kbC1pbml0LmMgKF9kbF9pbml0KTogUmVuYW1lZCBmcm9tIF9kbF9pbml0X25leHQuICBSZXdyaXRlIHRvCgljYWxsIGNvbnN0cnVjdG9ycyBpbnN0ZWFkIG9mIGl0ZXJhdGluZyBvdmVyIHRoZSBwb2ludGVycy4gIEdldCBsaXN0IG9mCglvYmplY3RzIGZvciB3aGljaCB0byBydW4gY29uc3RydWN0b3JzIGZyb20gbF9pbml0ZmluaSBlbGVtZW50LiBBY2NlcHQKCWFyZ2MsIGFyZ3YsIGFuZCBlbnYgYXMgcGFyYW1ldGVycyBhbmQgcGFzcyB0aGVtIHRvIHRoZSBjb25zdHJ1Y3RvcnMuCgkqIGVsZi9sZC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBJbml0aWFsaXplIGxfbGRudW0gbWVtYmVyCgl3aXRoIHNpemUgb2YgZHluYW1pYyBzZWN0aW9uLgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IE9ubHkgY2FsbCBfZGxfaW5pdCBpbnN0ZWFkIG9mCglfZGxfaW5pdF9uZXh0IGFuZCBjYWxsaW5nIGNvbnN0cnVjdG9ycyBvdXJzZWxmLgoJKiBlbGYvZGwtcHJlaW5pdC5jIChfZGxfcHJlaW5pdCk6IFJlbmFtZWQgZnJvbSBfZGxfcHJlaW5pdF9uZXh0LgoJVGFrZSBhcmdjLCBhcmd2LCBhbmQgZW52IGFzIHBhcmFtZXRlcnMgYW5kIHBhc3MgdGhlbSB0byB0aGUKCWNvbnN0cnVjdG9ycy4gIFJld3JpdGUgdG8gY2FsbCBhbGwgY29uc3RydWN0b3JzIGFuZCBub3QgaXRlcmF0ZSBvdmVyCgl0aGUgcG9pbnRlcnMuCgkqIGVsZi9keW5hbWljLWxpbmsuaDogRG9uJ3QgcmVsb2NhdGUgRFRfRklOSV9BUlJBWSBlbnRyeS4gIERvbid0CglwcmVjb21wdXRlIGxfaW5pdGNvdW50IGFuZCBsX3ByZWluaXRjb3VudC4KCSogZWxmL2xpbmsuaCAoc3RydWN0IGxpbmtfbWFwKTogQWRkIGxfbGRudW0gbWVtYmVyLgoJTWFrZSBsX3BoZHJfYWxsb2NhdGVkIHBhcnQgb2YgdGhlIGJpdGZpZWxkLiAgUmVtb3ZlIGxfcnVuY291bnQsCglsX2luaXRjb3VudCwgYW5kIGxfcHJlaW5pdGNvdW50LiAgQWRkIGxfaW5pdGZpbmkuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBSZXBsYWNlIF9kbF9pbml0X25leHQgcHJvdG90eXBlIHdpdGgKCW9uZSBmb3IgX2RsX2luaXQuCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lIChSVExEX1NUQVJUKTogUmV3cml0ZSB0byBtYXRjaCBuZXcgaW5pdAoJZnVuY3Rpb24gaW50ZXJmYWNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pbml0LWZpcnN0Lmg6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L0Rpc3Q6IERlbGV0ZSBmaWxlIGhlcmUgYXMgd2VsbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jIFtQSUNdOiBEb24ndCB1c2UKCVNZU0RFUF9DQUxMX0lOSVQuICBNYWtlIF9pbml0IGEgc3Ryb25nIGFsaWFzIG9mIGluaXQuICBUaGUgY2FsbGluZwoJY29udmVudGlvbnMgbm93IG1hdGNoLgoKCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYzogQ2FsbGluZyBfX2xpYmNfaW5pdF9maXJzdCBoYXMgbm8KCWVmZmVjdCBmb3Igc2hhcmVkIG9iamVjdHMuICBEb24ndCBlbWl0IG1lc3NhZ2UgYW5kIGNhbGwgb25seSBmb3IKCXN0YXRpYyBsaWJyYXJ5LgoKMjAwMC0wMy0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvdGVzdGRhdGEvQ1NBX1oyNDMuNC0xOTg1LTEuLlVDUy0yQkU6IFJlbmFtZWQgZnJvbQoJQ1NBX1oyNDMuNC0xOTg1LTEuLlVDUzIuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JU08tODg1OS0xMC4uVUNTLTJCRTogUmVuYW1lZCBmcm9tCglJU08tODg1OS0xMC4uVUNTMi4KCjIwMDAtMDMtMjkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGluY2x1ZGUvdW5pc3RkLmg6IFJlbW92ZSBkdXBsaWNhdGUgZW50cnkgZm9yIF9fcm1kaXIuCglSZW1vdmUgZGVjbGFyYXRpb24gb2YgX19ta2RpciBzaW5jZSBfX21rZGlyIGlzIGRlY2xhcmVkIGluCglzeXMvc3RhdC5oLgoKCSogbWFudWFsL2NyZWF0dXJlLnRleGkgKEZlYXR1cmUgVGVzdCBNYWNyb3MpOiBGaXggdHlwbywgcmVwb3J0ZWQKCWJ5IE1pY2hhZWwgRGV1dHNjaG1hbm4gPG1pY2hhZWxAdGFsYW1hc2NhLm9jaXMubmV0Pi4KCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmNscmV4Y3B0LmM6IFVzZSBzaGxpYi1jb21wYXQgbWFjcm9zLgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZlZ2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZldXBkYXRlZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZnZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCjIwMDAtMDMtMjggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmggKF9fc2luY29zKTogUmVtb3ZlIHJlZHVuZGFudAoJZGVjbGFyYXRpb24sIHRoZSBwcm90b3R5cGUgaXMgZGVmaW5lZCB2aWEgYml0cy9tYXRoY2FsbHMuaC4KCShfX3NpbmNvc2YpOiBMaWtld2lzZS4KCShfX3NpbmNvc2wpOiBMaWtld2lzZS4KCShsZGV4cCk6IExpa2V3aXNlLgoJKGxkZXhwZik6IExpa2V3aXNlLgoJKGxkZXhwbCk6IExpa2V3aXNlLgoJKF9fZmluaXRlKTogTGlrZXdpc2UuCgkoX19pbmxpbmVfbWF0aGNvZGVOUCk6IE5ldyBtYWNybyB3aXRob3V0IHByb3RvdHlwZQoJZGVjbGFyYXRpb25zLgoJKF9faW5saW5lX21hdGhjb2RlTlAyKTogTGlrZXdpc2UuCgkoX19pbmxpbmVfbWF0aGNvZGVOUDMpOiBMaWtld2lzZS4KCShfX2lubGluZV9tYXRoY29kZU5QXyk6IExpa2V3aXNlLgoJKF9faW5saW5lX21hdGhjb2RlTlAyXyk6IExpa2V3aXNlLgoJKF9faW5saW5lX21hdGhjb2RlTlAzXyk6IExpa2V3aXNlLgoJKF9faW5saW5lX21hdGhvcE5QKTogTGlrZXdpc2UuCgkoX19pbmxpbmVfbWF0aG9wX2RlY2xOUCk6IExpa2V3aXNlLgoJKF9faW5saW5lX21hdGhvcF9kZWNsTlBfKTogTGlrZXdpc2UuCgkoX19pbmxpbmVfbWF0aGNvZGVfKTogVXNlIF9faW5saW5lX21hdGhjb2RlTlBfLgoJKF9faW5saW5lX21hdGhjb2RlMl8pOiBVc2UgX19pbmxpbmVfbWF0aGNvZGVOUDJfLgoJKF9faW5saW5lX21hdGhjb2RlM18pOiBVc2UgX19pbmxpbmVfbWF0aGNvZGVOUDNfLgoJKF9faW5saW5lX21hdGhvcF9kZWNsXyk6IFVzZSBfX2lubGluZV9tYXRob3BfZGVjbE5QX18uCgkoX19leHBtMWwpOiBEb24ndCBkZWZpbmUgcHJvdG90eXBlLCB0aGUgcHJvdG90eXBlIGlzIGRlZmluZWQgdmlhCgliaXRzL21hdGhjYWxscy5oLgoJKGV4cCk6IExpa2V3aXNlLgoJKF9fZXhwbCk6IExpa2V3aXNlLgoJKHRhbik6IExpa2V3aXNlLgoJKGF0YW4yKTogTGlrZXdpc2UuCgkoX19hdGFuMmwpOiBMaWtld2lzZS4KCShmbW9kKTogTGlrZXdpc2UuCgkocG93KTogTGlrZXdpc2UuCgkoZmFic2YpOiBMaWtld2lzZS4KCShmYWJzbCk6IExpa2V3aXNlLgoJKF9fZmFic2wpOiBMaWtld2lzZS4KCShhc2luKTogTGlrZXdpc2UuCgkoYWNvcyk6IExpa2V3aXNlLgoJKHNpbmgpOiBMaWtld2lzZS4KCShjb3NoKTogTGlrZXdpc2UuCgkodGFuaCk6IExpa2V3aXNlLgoJKGZsb29yKTogTGlrZXdpc2UuCgkoY2VpbCk6IExpa2V3aXNlLgoJKGV4cG0xKTogTGlrZXdpc2UuCgkobG9nMXApOiBMaWtld2lzZS4KCShhc2luaCk6IExpa2V3aXNlLgoJKGFjb3NoKTogTGlrZXdpc2UuCgkoYXRhbmgpOiBMaWtld2lzZS4KCShoeXBvdCk6IExpa2V3aXNlLgoJKGxvZ2IpOiBMaWtld2lzZS4KCShmbWEpOiBMaWtld2lzZS4KCShkcmVtKTogTGlrZXdpc2UuCgkoc3FydCk6IExpa2V3aXNlLgoJKF9fc3FydGwpOiBMaWtld2lzZS4KCShzaW4pOiBMaWtld2lzZS4KCShjb3MpOiBMaWtld2lzZS4KCShhdGFuKTogTGlrZXdpc2UuCgkobG9nKTogTGlrZXdpc2UuCgkobG9nMTApOiBMaWtld2lzZS4KCShhc2luaCk6IExpa2V3aXNlLgoJKGxvZzIpOiBMaWtld2lzZS4KCShyaW50KTogTGlrZXdpc2UuCgoyMDAwLTAzLTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIE1ha2VydWxlczogSWYgbWFrZSB2YXJpYWJsZSBtZDUgaXMgZGVmaW5lZCB0byB5ZXMgYWZ0ZXIKCWdlbmVyYXRpbmcgZGVwZW5kZW5jaWVzIGdlbmVyYXRlIE1ENSBzdW0gZm9yIHRoZSBvYmplY3QuCgoJKiBpY29udi9nY29udl9idWlsdGluLmg6IEZpeCBsZW5ndGggaW4gdHJhbnNmb3JtYXRpb24gZGVmaW5pdGlvbgoJZm9yIFVOSUNPREVCSUcuCgoJKiBpY29udmRhdGEvVEVTVFM6IFVzZSBVQ1MtMkJFIGluc3RlYWQgb2YgVUNTMi4KCgkqIGljb252L2xvb3AuYzogRGVmaW5lIGdldDE2LCBnZXQzMiwgcHV0MTYsIGFuZCBwdXQzMiBtYWNyb3MgdG8KCWFsbG93IGFzIHdlbGwgcmVhZGluZyBmcm9tL3dyaXRpbmcgdG8gdW5hbGlnbmVkIGFkZHJlc3NlcyBvbiBtYWNoaW5lcwoJd2hpY2ggZG9uJ3Qgc3VwcG9ydCB0aGlzIGluIGhhcmR3YXJlLiAgVXNlIEZDVE5BTUUgbWFjcm8gdG8gZGVmaW5lCglmdW5jdGlvbiBuYW1lLiAgSW5jbHVkZSB0aGUgZmlsZSBhIHNlY29uZCB0aW1lIGZvciBwbGF0Zm9ybXMgd2hpY2gKCW5lZWQgc3BlY2lhbCB1bmFsaWduZWQgaGFuZGxpbmcuCgkqIGljb252L3NrZWxldG9uLmM6IERlZmluZSBnZXQxNnUsIGdldDMydSwgcHV0MTZ1LCBhbmQgcHV0MzJ1IG1hY3JvcwoJdG8gYWNjZXNzIHBvdGVudGlhbGx5IHVuYWxpZ25lZCBhZGRyZXNzZXMuICBUaGVzZSBtYWNyb3MgYXJlIGludGVuZGVkCgl0byBiZSB1c2VkIG9ubHkgb3V0c2lkZSB0aGUgbG9vcHMuCgkodW5hbGlnbmVkKTogTmV3IGRlZmluaXRpb24uICBJbiBjYXNlIHRoZSBtYWNoaW5lIGNhbiBoYW5kbGUgdW5hbGlnbmVkCglhY2Nlc3MgZGVmaW5lIGFzIHplcm8uICBPdGhlcndpc2UgYXMgYSB2YXJpYWJsZSB3aGljaCBpcyBpbml0aWFsaXplZAoJYXMgbm9uemVybyBpbiBjYXNlIHRoZSBidWZmZXIgcGFzc2VkIGluIGF0IHJ1bnRpbWUgaXMgdW5hbGlnbmVkIHdpdGgKCXJlc3BlY3QgdG8gdGhlIGNoYXJhY3RlciBzZXQgZW5jb2RpbmcgaW52b2x2ZWQuCglDYWxsIGFsaWduZWQgb3IgdW5hbGlnbmVkIGxvb29wIGZ1bmN0aW9ucyBhY2NvcmRpbmcgdG8gdW5hbGlnbmVkCgl2YXJpYWJsZS4KCSogaWNvbnZkYXRhLzhiaXQtZ2FwLmM6IFVzZSBnZXQxNiwgZ2V0MzIsIHB1dDE2LCBhbmQgcHV0MzIgaW5zdGVhZAoJb2YgZGlyZWN0IGNhc3RpbmcgcG9pbnRlciB0byBwb3RlbnRpYWxseSBoYW5kbGUgdW5hbGlnbmVkIG1lbW9yeQoJYWNjZXNzZXMuCgkqIGljb252ZGF0YS84Yml0LWdlbmVyaWMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9hbnNpX3gzLjExMC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2JpZzUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMtY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMtanAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMtdHcuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc282NDYuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy0yLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzcuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qb2hhYi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3NqaXMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90LjYxLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdWhjLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3V0Zi0xNi5jOiBMaWtld2lzZS4KCgkqIGxvY2FsZS9wcm9ncmFtcy9zaW1wbGUtaGFzaC5jOiBMaXR0bGUgb3B0aW1pemF0aW9ucy4gIFJlbW92ZSBLJlIKCXByb3RvdHlwZXMuCgoJKiBtYWxsb2MvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIpOiBBZGQgbWNoZWNrX2NoZWNrX2FsbC4KCSogbWFsbG9jL21jaGVjay5jIChtY2hlY2tfY2hlY2tfYWxsKTogUmVuYW1lZCBmcm9tIGNoZWNrX2FsbCBhbmQgbWFkZQoJcHVibGljLgoJKiBtYWxsb2MvbWNoZWNrLmggKG1jaGVja19jaGVja19hbGwpOiBEZWNsYXJlLgoKCSogc3RkaW8tY29tbW9uL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtb2JwcmludGYuCgoyMDAwLTAzLTI4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3NpZ3RocmVhZC5oOiBDbGVhbiB1cCBjb25kaXRpb25hbHMuCglEZWNsYXJlIHB0aHJlYWRfc2lnbWFzay4KCgkqIGNzdS92ZXJzaW9uLmM6IEFkZCAyMDAwIHRvIGNvcHlyaWdodCB5ZWFycy4KCVJlbW92ZSBFbWFjcyBsb2NhbCB2YXJpYWJsZXMgc2VjdGlvbi4KCjIwMDAtMDMtMjMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X2ludC5oIChfX2djb252X3RyYW5zZm9ybV91Y3MybGl0dGxlX2ludGVybmFsLAoJX19nY29udl90cmFuc2Zvcm1faW50ZXJuYWxfdWNzMmxpdHRsZSk6IFJlbW92ZSBkZWNsYXJhdGlvbnMuCgkqIGljb252L2djb252X3NpbXBsZS5jIChfX2djb252X3RyYW5zZm9ybV91Y3MyX2ludGVybmFsLAoJX19nY29udl90cmFuc2Zvcm1faW50ZXJuYWxfdWNzMik6IE5ldmVyCW5lZWQgdG8gYnN3YXBfMTYuCgkoX19nY29udl90cmFuc2Zvcm1fdWNzMnJldmVyc2VfaW50ZXJuYWwsCglfX2djb252X3RyYW5zZm9ybV9pbnRlcm5hbF91Y3MycmV2ZXJzZSk6IEFsd2F5cyBuZWVkIHRvIGJzd2FwXzE2LgoKMjAwMC0wMy0yNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBpbmNsdWRlL3NobGliLWNvbXBhdC5oIChTSExJQl9DT01QQVQpOiBNYWtlIHRoZSB0ZXN0IGhhbmRsZSB0aGUKCW9ic29sZXRpbmcgdmVyc2lvbiBub3QgYmVpbmcgZGVmaW5lZCBhdCBhbGwsIGluIHdoaWNoIGNhc2UgdGhlCglyZXN1bHQgaXMgYWx3YXlzIHRydWUuCgoJKiBNYWtlY29uZmlnIChwcmVwcm9jZXNzLXZlcnNpb25zKTogTmV3IGNhbm5lZCBzZXF1ZW5jZSBmb3IgcnVubmluZwoJY3BwIG9uIHNobGliLXZlcnNpb25zIGFuZCB0aGUgbGlrZS4KCShzb3ZlcnNpb25zLmkpOiBVc2UgaXQuCgkqIE1ha2VydWxlcyAoVmVyc2lvbnMuYWxsLCBzeXNkLXZlcnNpb25zKTogVXNlIGl0IHRvIHByZXByb2Nlc3MgdGhlCglWZXJzaW9ucy5kZWYgYW5kIFZlcnNpb25zIGZpbGVzLgoKMjAwMC0wMy0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdHN0LW9icHJpbnRmLmMgKG1haW4pOiBBZGQgYW5vdGhlciBjaGVjayB0byBzZWUKCW9ic3RhY2tfcHJpbnRmIGhhbmRsaW5nIGFsbCBwb3NzaWJsZSBiZWdpbm5pbmdzIG9mIHRoZSBibG9jawoJaW5zaWRlIGFuIG9ic3RhY2sgY2h1bmsuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmM6IFVzZSBfX21hbGxvY19pbml0aWFsaXplX2hvb2sgdG8KCWluc3RhbGwgbWNoZWNrIGhhbmRsZXIuCgoJKiBsaWJpby9vYnByaW50Zi5jIChfSU9fb2JzdGFja192cHJpbnRmKTogRml4IG9uZSBtb3JlIG1lbW9yeQoJaGFuZGxpbmcgcHJvYmxlbS4KCjIwMDAtMDMtMjcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogc3RkaW8tY29tbW9uL3RtcGZpbGUuYzogVXNlIDxzaGxpYi1jb21wYXQuaD4gbWFjcm9zLgoKCSogaW5jbHVkZS9zaGxpYi1jb21wYXQuaDogQ29uZGl0aW9uYWxpemUgPGFiaS12ZXJzaW9ucy5oPiBpbmNsdWRlCglvbiBbSEFWRV9FTEYgJiYgRE9fVkVSU0lPTklOR10uCgoyMDAwLTAzLTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi90c3Qtb2JwcmludGYuYzogTmV3IGZpbGUuCgoyMDAwLTAzLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9fZGVmYXVsdF94c3B1dG4pOiBMaXR0bGUgb3B0aW1pemF0aW9uLiAgQ2FsbAoJX0lPX09WRVJGTE9XIGRpcmVjdGx5IGluc3RlYWQgdGhyb3VnaCBfX292ZXJmbG93LgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5jIChjb25zdHJ1Y3Rfb3V0cHV0X3BhdGgpOiBJZiBwYXRoCgljb250YWlucyBhIC8gY29tcHV0ZSB0aGUgZW5kIG9mIHRoZSBkaXJlY3RvcnkgbmFtZSBjb3JyZWN0bHkuCgoJKiBpbmNsdWRlL2ZlYXR1cmVzLmg6IFVuZGVmIGFuZCBkb2N1bWVudCBfX1VTRV9YT1BFTjJLLgoKCSogbWFsbG9jL21jaGVjay5jOiBJbXBsZW1lbnQgcGVkYW50aWMgY2hlY2tpbmcgb2YgYWxsIGFsbG9jYXRlZCBibG9ja3MKCXdoZW5ldmVyIGEgZnVuY3Rpb24gaXMgY2FsbGVkLiAgSW5pdGlhdGVkIGJ5IGNhbGxpbmcgbWNoZWNrX3BlZGFudGljCglpbnN0ZWFkIG9mIG1jaGVjay4KCSogbWFsbG9jL21jaGVjay5oOiBEZWNsYXJlIG1jaGVja19wZWRhbnRpYy4KCSogbWFsbG9jL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yKTogQWRkIG1jaGVja19wZWRhbnRpYy4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZGVmLmM6IFVzZSBtY2hlY2tfcGVkYW50aWMgaW5zdGVhZCBvZiBtY2hlY2sKCWZvciBub3cuCgoyMDAwLTAzLTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIGRsZmNuL2Rsb3Blbi5jOiBVc2UgPHNobGliLWNvbXBhdC5oPiBtYWNyb3MuCgkqIGRsZmNuL2Rsb3Blbm9sZC5jOiBMaWtld2lzZS4KCSogbnNzL2dldFhYYnlZWV9yLmM6IExpa2V3aXNlLgoJKiBuc3MvZ2V0WFhlbnRfci5jOiBMaWtld2lzZS4KCSogaHVyZC9odXJkaW5pdC5jOiBMaWtld2lzZS4KCSogaHVyZC9jb21wYXQtMjAuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZm9wZW4uYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZmNsb3NlLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2Zkb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkZmlsZW9wcy5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkc3RkZmlsZXMuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZnNldHBvcy5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mZ2V0cG9zLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZnZXRwb3M2NC5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mc2V0cG9zNjQuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvcG9wZW4uYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZHBjbG9zZS5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkdG1wZmlsZS5jOiBMaWtld2lzZS4KCSogbGliaW8vZnJlb3Blbi5jIChmcmVvcGVuKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZmNsb3NlLmMgKF9JT19uZXdfZmNsb3NlKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL21hY2gvc3lzL3JlYm9vdC5oOiBJbmNsdWRlIDxmZWF0dXJlcy5oPi4KCShyZWJvb3QpOiBEZWNsYXJlIGl0LgoKCSogbGliaW8vTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgYml0cy9zdGRpby1sb2NrLmggaGVyZS4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvc3RkaW8tbG9jay5oOiBOZXcgZmlsZS4KCgkqIGluY2x1ZGUvc2hsaWItY29tcGF0Lmg6IEluY2x1ZGUgPGFiaS12ZXJzaW9ucy5oPiB1bmNvbmRpdGlvbmFsbHkuCgoJKiBwb3NpeC91bmlzdGQuaCAoaW50cHRyX3QpOiBDb25kaXRpb25hbGl6ZSBvbiBbX19VU0VfTUlTQyB8fAoJX19VU0VfWE9QRU5fRVhURU5ERURdIHJhdGhlciB0aGFuIG9uIFtfX1VTRV9VTklYOThdLgoJV2UgbmVlZCB0aGlzIGZvciB0aGUgc2JyayBkZWNsLCB3aGljaCBjYW4gYmUgaW5jbHVkZWQgd2l0aG91dCBVbml4OTguCgoyMDAwLTAzLTIwICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEBjeWdudXMuY29tPgoKCSogbmlzL25zc19uaXMvbmlzLXNlcnZpY2UuYyAoX25zc19uaXNfZ2V0c2VydmJ5cG9ydF9yKTogTGFzdAoJYXJndW1lbnQgdG8geXBlcnIybnNzIGlzIGFuIGludCwgbm90IHNpemVfdC4KCSogcG9zaXgvcmVnZXguYyAocHJpbnRfcGFydGlhbF9jb21waWxlZF9wYXR0ZXJuKTogQ2FzdCBhbGwKCXB0cmRpZmZfdCB0byBsb25nIGZvciBwcmludGluZy4KCShwcmludF9jb21waWxlZF9wYXR0ZXJuKTogVXNlIFogZm9yIHByaW50aW5nIHNpemVfdC4KCSogcG9zaXgvdGVzdGZubS5jICh0ZXN0cyk6IEF2b2lkIHRyaWdyYXBocy4KCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKEVMRl9NQUNISU5FX1JVTlRJTUVfVFJBTVBPTElORSk6CglVc2UgYSBDIGNvbW1lbnQsIG5vdCBhbiBhc3NlbWJseSBjb21tZW50LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvbXNnY3RsLmM6IENsYXJpZnkgdXNlCglvZiBfX0FTU1VNRV8zMkJJVFVJRFMuCgoyMDAwLTAzLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2lvZm9wbmNvb2suYzogUmVtb3ZlIEsmUiBwcm90b3R5cGVzLgoKMjAwMC0wMy0yNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBodXJkL2h1cmRybGltaXQuYyAoaW5pdF9ybGltaXQpOiBHaXZlIHRoZSBSTElNSVRfTk9GSUxFIHNvZnQgbGltaXQKCWFuIGluaXRpYWwgdmFsdWUgb2YgMTAyNCBpbnN0ZWFkIG9mIFJMSU1fSU5GSU5JVFkuCgoJKiBWZXJzaW9ucy5kZWYgKGxpYm1hY2h1c2VyLCBsaWJodXJkdXNlcik6IFJlbW92ZSB0aGVzZSBzZWN0aW9ucywKCXNpbmNlIHRoZXNlIGxpYnJhcmllcyBkbyBub3QgcHJlc2VudGx5IHVzZSBzeW1ib2wgdmVyc2lvbnMuCgoJKiBzeXNkZXBzL21hY2gvaHVyZC9nZXRkdHN6LmMgKF9fZ2V0ZHRhYmxlc2l6ZSk6IElmIHRoZSByZXNvdXJjZSBsaW1pdAoJaXMgUkxJTV9JTkZJTklUWSwgcmV0dXJuIC0xIGluc3RlYWQuCgoyMDAwLTAzLTI0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBNYWtlZmlsZSAocG9zdGNsZWFuKTogQWRkZWQgc292ZXJzaW9ucy5pLgoKMjAwMC0wMy0yNCAgU2NvdHQgQmFtYnJvdWdoICA8c2NvdHRiQG5ldHdpbmRlci5vcmc+CgoJKiBzeXNkZXBzL2FybS9mcHUvZnB1X2NvbnRyb2wuaDogRGVmaW5lIF9GUFVfTUFTS19JTSwgX0ZQVV9NQVNLX1pNLAoJX0ZQVV9NQVNLX09NLCBfRlBVX01BU0tfVU0sIF9GUFVfTUFTS19QTSwgX0ZQVV9NQVNLX0RNLCBfRlBVX0RFRkFVTFQsCglhbmQgX0ZQVV9JRUVFLiAgQ2hhbmdlIF9GUFVfUkVTRVJWRUQuCgoyMDAwLTAzLTI0ICBTY290dCBCYW1icm91Z2ggIDxzY290dGJAbmV0d2luZGVyLm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXMvdWNvbnRleHQuaDogTmV3IGZpbGUuCgoyMDAwLTAzLTI0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYzogSW5jbHVkZSA8bmV0L2lmLmg+IGZvciBpZl9uYW1ldG9pbmRleC4KCShnYWloX2luZXQpOiBSZW1vdmUgdW51c2VkIGR1cGxpY2F0ZSB2YXJpYWJsZS4KCgkqIGluZXQvZ2V0bmFtZWluZm8uYyAoZ2V0bmFtZWluZm8pOiBVc2UgSUZOQU1TSVosIG5vdCBNQVhIT1NUTkFNRUxFTi4KCURvbid0IHVzZSBfX2xpYmNfc2FfbGVuLCB3aGljaCBvbmx5IGV4aXN0cyBmb3IgTGludXguICBKdXN0IGhhbmRsZQoJQUZfSU5FVCBhbmQgQUZfSU5FVDYgZGlyZWN0bHkgYXMgd2VsbCBhcyBBRl9MT0NBTCwgc2luY2UgdGhvc2UgYXJlIHRoZQoJb25seSBmbGF2b3JzIHN1cHBvcnRlZCBieSB0aGlzIGZ1bmN0aW9uIGFueXdheS4KCjIwMDAtMDMtMjQgIEdlb2ZmIENsYXJlICA8Z3djQHVuaXNvZnQuY29tPgoKCSogc3RkbGliL3N0cmZtb24uYzogQ29ycmVjdGVkIHByb2JsZW1zIHdpdGggbWlzc2luZyBzaWducyBhbmQKCW1pc3Npbmcgb3IgZXh0cmEgc3BhY2VzOyBhbGxvdyBmb3Igc2lnbiBzdHJpbmdzIGxvbmdlciB0aGFuCglvbmUgY2hhcmFjdGVyOyBhZGQgcGFkZGluZyB0byBlbnN1cmUgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlCglmb3JtYXRzIGFyZSBhbGlnbmVkIHdoZW4gYSBsZWZ0IHByZWNpc2lvbiBpcyB1c2VkLgoKMjAwMC0wMy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvcmFuZG9tX3IuYyAoX19zZXRzdGF0ZV9yKTogQWxsb3cgUk5HcyBvZiB0eXBlIDQuCglQYXRjaCBieSBKb2huIE1pemVsIDxKb2huLk1pemVsQG1zZHcuY29tPi4KCjIwMDAtMDMtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL2luc3RhbGwudGV4aTogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gY3J5cHQgYWRkLW9uLgoKMjAwMC0wMy0yNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zZXRybGltaXQuYyAoc2V0cmxpbWl0KTogR28gaW50byBhIGNyaXRpY2FsCglzZWN0aW9uIHdoaWxlIHRha2luZyB0aGUgX2h1cmRfcmxpbWl0X2xvY2suCgkqIHN5c2RlcHMvbWFjaC9odXJkL2dldHJsaW1pdC5jIChfX2dldHJsaW1pdCk6IExpa2V3aXNlLgoKMjAwMC0wMy0yNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBNYWtlcnVsZXMgWyQoY3Jvc3MtY29tcGlsaW5nKSA9IHllc10gKHN5bWJvbGljLWxpbmstcHJvZyk6IERlZmluZQoJdXNpbmcgJChMTl9TKS4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2lmX2luZGV4LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbmV0L2lmLmg6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL2dudS9uZXQvaWYuaDogaGVyZS4KCShfSU9UX2lmY29uZiwgX0lPVF9pZnJlcSk6IEh1cmQgaW9jdGwgdHlwZSBtYWNyb3MgbW92ZWQgZnJvbSAuLi4KCSogc3lzZGVwcy9tYWNoL2h1cmQvbmV0L2lmLmg6IC4uLiBoZXJlOyB0aGlzIGZpbGUgbm93IHJlbW92ZWQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9uZXQvaWYuaDogTmV3IGZpbGUuICBEZWNsYXJlcyBqdXN0IHRoZSBzdGFuZGFyZAoJZnVuY3Rpb25zIGFuZCBgc3RydWN0IGlmX25hbWVpbmRleCcgdHlwZS4KCSogc29ja2V0L01ha2VmaWxlIChoZWFkZXJzKTogQWRkIG5ldC9pZi5oIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlIChzeXNkZXBfaGVhZGVycyk6IE5vdCBoZXJlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9EaXN0OiBSZW1vdmUgaXQgaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvRGlzdDogQW5kIGhlcmUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9pZl9pbmRleC5jOiBJbmNsdWRlIDxuZXQvaWYuaD4uCgoyMDAwLTAzLTI0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChfX2RsX3J1bnRpbWVfcmVzb2x2ZSk6IFVzZSBEX1BUUiB0bwoJYWNjZXNzIHJlbG9jYXRlZCBlbnRyaWVzIGluIGxfaW5mby4KCShlbGZfbWFjaGluZV9nb3RfcmVsKTogTGlrZXdpc2UuCgkoZWxmX21hY2hpbmVfcnVudGltZV9zZXR1cCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfZ290X3JlbCk6IExpa2V3aXNlLgoJKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBMaWtld2lzZS4KCShfX2RsX3J1bnRpbWVfcmVzb2x2ZSk6IExpa2V3aXNlLgoKMjAwMC0wMy0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvbmV0ZGIuaCAoU0NPUEVfREVMSU1JVEVSKTogTmV3IGRlZmluaXRpb25zLgoJKiBpbmV0L25ldGluZXQvaW4uaCAoc3RydWN0IHNvY2thZGRyX2luNik6IEFkZCBzaW42X3Njb3BlX2lkCglhY2NvcmRpbmcgdG8gUkZDIDI1NTMuCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYzogQ2hhbmdlIHRvIGZvbGxvdyBsYXRlc3QgUkZDIGRyYWZ0LgoJKiBpbmV0L2dldG5hbWVpbmZvLmM6IExpa2V3aXNlLgoJUGF0Y2hlcyBieSBZT1NISUZVSkkgSGlkZWFraSA8eW9zaGZ1amlAdjYubGludXgub3IuanA+LgoKMjAwMC0wMy0yMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmMgKGludGVybmFsX3VjczRfbG9vcCwgaW50ZXJuYWxfdWNzNGxlX2xvb3ApOgoJUmVtb3ZlIG5vLW9wIHBvaW50ZXIgaW5jcmVtZW50LgoKMjAwMC0wMy0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkaW8tY29tbW9uL3RzdC1jb29raWUuYyAoY29va2llc2Vlayk6IENoYW5nZSBwcm90b3R5cGUgdG8KCWZvbGxvdyBjaGFuZ2UgZm9yIGxpYmlvLmggZnJvbSAyMDAwLTAzLTEwLgoKMjAwMC0wMy0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2RsLWFkZHIuYzogQWRqdXN0IGluY2x1ZGUgcGF0aHMgZm9yIGxkc29kZWZzIGxvY2F0aW9uCgljaGFuZ2UuCgkqIGVsZi9kbC1kZWJ1Zy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWRlcHMuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1lcnJvci5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWZpbmkuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1pbml0LmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9hZC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvb2t1cC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLW1pbmltYWwuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1vYmplY3QuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1vcGVuLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcHJlaW5pdC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXByb2ZpbGUuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1wcm9mc3R1Yi5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXJlbG9jLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcnVudGltZS5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXN1cHBvcnQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1zeW1ib2wuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC12ZXJzaW9uLmM6IExpa2V3aXNlLgoJKiBlbGYvcnRsZC5jOiBMaWtld2lzZS4KCSogZWxmL3Nwcm9mLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1vcmlnaW4uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9lbGYvYmFja3RyYWNlc3ltcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2VsZi9iYWNrdHJhY2VzeW1zZmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9kbC1zeXNkZXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZWxmL2xpYmMtc3RhcnQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtb3JpZ2luLmM6IExpa2V3aXNlLgoKCSogZWxmL2xkc29kZWZzLmg6IE1vdmUgZmlsZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IC4uLiBoZXJlLgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IEFkZCBkZWZpbml0aW9uIGZvciBEX1BUUi4KCgkqIHN5c2RlcHMvbWlwcy9lbGYvbGRzb2RlZnMuaDogTmV3IGZpbGUuCgoJKiBlbGYvZGwtdmVyc2lvbi5jIChtYXRjaF9zeW1ib2wpOiBVc2UgRF9QVFIgdG8gYWNjZXNzIHJlbG9jYXRlZAoJZW50cmllcyBpbiBsX2luZm8uCgkoX2RsX2NoZWNrX21hcF92ZXJzaW9ucyk6IExpa2V3aXNlLgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX3JlbG9jYXRlX29iamVjdCk6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfaW5pdF9wYXRocyk6IExpa2V3aXNlLgoJKF9kbF9tYXBfb2JqZWN0KTogTGlrZXdpc2UuCgkqIGVsZi9keW5hbWljLWxpbmsuaCAoX0VMRl9EWU5BTUlDX0RPX1JFTE9DKTogTGlrZXdpc2UuCgkoZWxmX2dldF9keW5hbWljX2luZm8pOiBMaWtld2lzZS4KCSogZWxmL2RvLWxvb2t1cC5oIChGQ1QpOiBMaWtld2lzZS4KCSogZWxmL2RvLXJlbC5oIChlbGZfZHluYW1pY19kb19yZWwpOiBMaWtld2lzZS4KCSogZWxmL2RsLWRlcHMuYyAoX2RsX21hcF9vYmplY3RfZGVwcyk6IExpa2V3aXNlLgoJKiBlbGYvZGwtYWRkci5jIChfZGxfYWRkcik6IExpa2V3aXNlLgoJKiBlbGYvZGwtcnVudGltZS5jIChwcm9maWxlX2ZpeHVwKTogTGlrZXdpc2UuCgkoZml4dXApOiBMaWtld2lzZS4KCSogZWxmL2RsLWluaXQuYyAoX2RsX2luaXRfbmV4dCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZGwtbGlicmVjb24uaAoJKERJU1RJTkdVSVNIX0xJQl9WRVJTSU9OUyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogTGlrZXdpc2UuCgkoZWxmX21hY2hpbmVfcmVsKTogTGlrZXdpc2UuCgoJKiBlbGYvZHluYW1pYy1saW5rLmggKGVsZl9nZXRfZHluYW1pY19pbmZvKTogT25seSBjaGFuZ2UgbF9pbmZvCglmb3Igd3JpdGFibGUgZHluYW1pYyBzZWN0aW9uLgoKMjAwMC0wMy0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmV0L2dldG5hbWVpbmZvLmMgKGdldG5hbWVpbmZvKTogQ2hlY2sgdGhhdCBhZGRybGVuIHZhbHVlIGlzCglsYXJnZSBlbm91Z2guICBQYXRjaCBieSBZT1NISUZVSkkgSGlkZWFraSA8eW9zaGZ1amlAdjYubGludXgub3IuanA+LgoKMjAwMC0wMy0yMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL21tYW4uaCAoTUFEVl8qKTogQWRkIGZsYWdzCglmcm9tIGxhdGVzdCBMaW51eCBrZXJuZWwuCgoyMDAwLTAzLTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBWZXJzaW9ucy5kZWY6IEFkZCB2ZXJzaW9uIDIuMS40LgoKMjAwMC0wMy0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9vbGR0bXBmaWxlLmM6IFVwZGF0ZSBmb3IgbmV3IFNITElCX0NPTVBBVCBkZWZpbml0aW9uLgoJKiBsaWJpby9vbGRpb2ZvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZjbG9zZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZXJybGlzdC5jOiBMaWtld2lzZS4KCjIwMDAtMDMtMjIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogaW5jbHVkZS9zaGxpYi1jb21wYXQuaCAoU0hMSUJfQ09NUEFUKTogVGFrZSBhIHRoaXJkIGFyZ3VtZW50LAoJaW5kaWNhdGluZyB0aGUgZmlyc3QgdmVyc2lvbiBzZXQgdG8gb2Jzb2xldGUgdGhlIGNvbmRpdGlvbmFsaXplZCBjb2RlLgoJKGNvbXBhdF9zeW1ib2wpOiBOZXcgbWFjcm8uCgkqIHNjcmlwdHMvYWJpLXZlcnNpb25zLmF3azogRm9yIHN1YnN1bWVkIHZlcnNpb25zLCBtYWtlIEFCSV8qIGRlZm4ncwoJcmhzIGJlIHRoZSBBQklfKiBtYWNybyBmb3IgdGhlIHN1YnN1bWluZyB2ZXJzaW9uLiAgQXNzaWduIGluY3JlYXNpbmcKCWludGVnZXIgdmFsdWVzIHRvIHRoZSBBQklfKiBtYWNyb3MgZm9yIHN1cHBvcnRlZCB2ZXJzaW9ucy4KCSogc3lzZGVwcy9nbnUvc2lnbGlzdC5jOiBVc2UgbmV3IFNITElCX0NPTVBBVCBjb252ZW50aW9uLCBhbmQgdXNlCgljb21wYXRfc3ltYm9sIG1hY3JvLgoKMjAwMC0wMy0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL2Nvbm5lY3Rpb25zLmMgKG5zY2RfcnVuKTogUHJldHR5IHByaW50LgoJKiBlbGYvZGwtcnVudGltZS5jOiBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhbGxvY2EgcHJvdG90eXBlLgoKCSogbWFudWFsL2NoYXJzZXQudGV4aTogRml4IHR5cG9zLiAgUmVwaHJhc2UuCgkqIG1hbnVhbC9wcm9jZXNzLnRleGk6IExpa2V3aXNlLgoJKiBtYW51YWwvc2lnbmFsLnRleGk6IExpa2V3aXNlLgoJUGF0Y2hlcyBieSBNaWtlIENvbGVtYW4gPG1rY0BrYy5uZXQ+LgoKCSogbGliaW8vb2xkdG1wZmlsZS5jOiBVc2UgbmV3IG1hY3JvcyBmcm9tIHNobGliLWNvbXBhdC5oIHRvIGRlZmluZQoJdmVyc2lvbnMuCgkqIGxpYmlvL2lvZmRvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZnZXRwb3MuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZmdldHBvczY0LmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZzZXRwb3MuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnNldHBvczY0LmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb3BvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9wY2xvc2UuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ251L3NpZ2xpc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vycmxpc3QuYzogTGlrZXdpc2UuCgoJKiBpbmNsdWRlL3NobGliLWNvbXBhdC5oICh2ZXJzaW9uZWRfc3ltYm9sKTogR2l2ZSBwcmVwcm9jZXNzb3IgdGhlCgljaGFuY2UgdG8gZXhwYW5kIFZFUlNJT05fIyNsaWIjI18jI3ZlcnNpb24uCgoJKiBsaWJpby9maWxlb3BzLmM6IFVzZSBuZXcgbWFjcm9zIGZyb20gc2hsaWItY29tcGF0LmggdG8gZGVmaW5lCgl2ZXJzaW9ucy4KCSogbGliaW8vaW9mY2xvc2UuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZmNsb3NlLmM6IExpa2V3aXNlLgoJUGF0Y2ggYnkgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEBmcm9iLmNvbT4uCgoyMDAwLTAzLTIxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc2lnY29udGV4dC5oOiBDbGVhbiB1cCBuYW1lc3BhY2UuCglMYXkgb3V0IHN0cnVjdCBzaWdjb250ZXh0IGFjY29yZGluZyB0byB3aGF0IHJlYWxseSBnZXRzIHBhc3NlZCBvbgoJdGhlIHN0YWNrLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zeXMvcHJvY2ZzLmg6IERvbid0IGluY2x1ZGUgYXNtL2VsZi5oLgoJKGVsZl9ncmVnc2V0X3QsIGVsZl9ncmVnX3QsIGVsZl9mcHJlZ3NldF90LCBFTEZfTkdSRUcpOiBEZWZpbmUuCgkocHJncmVnc2V0X3QsIHByZnByZWdzZXRfdCk6IERlZmluZSB0byBlbGZfKiB0eXBlcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3lzL3B0cmFjZS5oIChQVFJBQ0VfV1JJVEVEQVRBKToKCURlZmluZSB0byBjb3JyZWN0IHZhbHVlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3Byb2ZpbC1jb3VudGVyLmg6IFVzZSBzdHJ1Y3QKCXNpZ2NvbnRleHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc2lnY29udGV4dGluZm8uaDogTGlrZXdpc2UuCgoyMDAwLTAzLTIxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIHNjcmlwdHMvZmlyc3R2ZXJzaW9ucy5hd2s6IEFsbG93IG11bHRpcGxlIHZlcnNpb24gc2V0cyBpbiB0aGUKCSJlYXJsaWVzdCB2ZXJzaW9uIiBzcGVjaWZpY2F0aW9uLCBtZWFuaW5nIHRoYXQgdmVyc2lvbiBzZXRzIGluIHRoZQoJZ2FwcyBiZXR3ZWVuIGxpc3RlZCB2ZXJzaW9ucyBzaG91bGQgYmUgZm9sZGVkIGludG8gdGhlIGVhcmxpZXN0IGxhdGVyCgl2ZXJzaW9uIHRoYXQgaXMgZXhwbGljaXRseSBsaXN0ZWQuCgkqIHNobGliLXZlcnNpb25zIChtaXBzLiotLiotbGludXguKik6IFVzZSB0aGF0IHN5bnRheCBmb3IgdG8gc2F5Cgl3ZSBzdXBwb3J0IEdMSUJDXzIuMCBhbmQgR0xJQkNfMi4yIGJ1dCBub3QgdGhlIGludGVydmVuaW5nIHNldHMuCgoyMDAwLTAzLTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X2J1aWx0aW4uYzogSW5jbHVkZSA8ZW5kaWFuLmg+LgoJKiBpY29udi9nY29udl9idWlsdGluLmg6IEFkZCBVQ1MtQkUgYWxpYXNlcy4KCUFkZCBVQ1MtNExFIHRyYW5zZm9ybWF0aW9uLiAgRGVmaW5lIFVOSUNPREVCSUcgYW5kIFVOSUNPREVMSVRUTEUKCWFjY29yZGluZyB0byBjdXJyZW50IHBsYXRmb3JtLgoJKiBpY29udi9nY29udl9pbnQuaDogRGVjbGFyZSBfX2djb252X3RyYW5zZm9ybV91Y3MycmV2ZXJzZV9pbnRlcm5hbCwKCV9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3VjczJyZXZlcnNlLCBhbmQKCV9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3VjczRsZS4KCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmM6IEltcGxlbWVudCBfX2djb252X3RyYW5zZm9ybV9pbnRlcm5hbF91Y3M0bGUsCglfX2djb252X3RyYW5zZm9ybV91Y3MycmV2ZXJzZV9pbnRlcm5hbCBhbmQKCV9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3VjczJyZXZlcnNlLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgVU5JQ09ERS4KCShkaXN0cmlidXRlKTogQWRkIHVuaWNvZGUuYy4KCSogaWNvbnZkYXRhL2djb252LW1vZHVsZXM6IEFkZCBkZWZpbml0aW9ucyBmb3IgVU5JQ09ERSBtb2R1bGUuCgkqIGljb252ZGF0YS91bmljb2RlLmM6IE5ldyBmaWxlLgoKCSogaWNvbnZkYXRhL3V0Zi0xNi5jOiBSZXdyaXRlIGNvZGUgdG8gZW1pdCBCT00uICBDb3JyZWN0IGNvZGUgdG8KCWRldGVybWluZSBieXRlIG9yZGVyIG9mIGlucHV0IGFuZCBjb252ZXJ0IGFjY29yZGluZ2x5LgoKCSogaWNvbnZkYXRhL3V0Zi0xNi5jIChnY29udl9pbml0KTogRml4IHR5cG8uCgoyMDAwLTAzLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBGaXggdHlwby4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZS5pbjogUmVtb3ZlIGBjcnlwdCcgZnJvbSBvbmUKCW1vcmUgbWVzc2FnZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvKjogQWRkIGluaXRpYWwgY29kZSBmb3IgcG9ydCB0byBBSVggNC4zLgoKMjAwMC0wMy0xNiAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9zaWdjb250ZXh0Lmg6IE5ldy4KCjIwMDAtMDMtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWlzYy9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgbWluY29yZS4KCjIwMDAtMDMtMjAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9taW5jb3JlLmM6IE5ldyBzdHViIGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYml0cy9tbWFuLmggKE1BRFZfKik6IEFkZCBmbGFncwoJZnJvbSBsYXRlc3QgTGludXgga2VybmVsLgoKMjAwMC0wMy0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBncnAvaW5pdGdyb3Vwcy5jIChjb21wYXRfY2FsbCk6IFVzZSBfU0NfR0VUR1JfUl9TSVpFX01BWCBpbnN0ZWFkIG9mCglfU0NfR0VUUFdfUl9TSVpFX01BWC4KCjIwMDAtMDMtMjAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQGN5Z251cy5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9WZXJzaW9uczogUHV0IHBjaWNvbmZpZ19pb2Jhc2UKCWluIEdMSUJDXzIuMS40LgoKMjAwMC0wMy0yMCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAY3lnbnVzLmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZyYWlzZWV4Y3B0LmM6IFVzZSBnZXQvc2V0X2ZwX2NvbnRyb2wgaW5zdGVhZAoJb2YgYXJpdGhtZXRpYyBpbnN0cnVjdGlvbnMuCgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9zX2NlaWwuYzogVXNlIHJvdW5kIHRvIC1pbmYgaW5zdGVhZCBvZiBwbGF5aW5nCgl3aXRoIHRoZSBmcGNyLiAgUHJvdGVjdCBmcm9tIElOViBleGNlcHRpb24uCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfY2VpbGYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfZmxvb3IuYzogUHJvdGVjdCBmcm9tIElOViBleGNlcHRpb24uCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfZmxvb3JmLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9hbHBoYS9mcHUvc19jb3B5c2lnbi5jOiBOZXcuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfY29weXNpZ25mLmM6IE5ldy4KCSogc3lzZGVwcy9hbHBoYS9mcHUvc19mYWJzLmM6IE5ldy4KCSogc3lzZGVwcy9hbHBoYS9mcHUvc19mYWJzZi5jOiBOZXcuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfcmludC5jOiBOZXcuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfcmludGYuYzogTmV3LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9tbWFuLmg6IEFkZCBNQURWIGNvbnN0YW50cy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL01ha2VmaWxlIChzeXNkZXBfcm91dGluZXMpOgoJS2lsbCBzZXRoYWUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL1ZlcnNpb25zOiBBZGQgcGNpY29uZmlnX2lvYmFzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvaW9wZXJtLmMgKGFsbCBhZGRyZXNzIGNvbnN0YW50cyk6CglVc2UgcGh5c2ljYWwgYWRkcmVzc2VzIG5vdCBLU0VHIGFkZHJlc3Nlcy4KCShpb19zeXN0ZW0pOiBBZGQgUFlYSVMuCgkoaW8pOiBSZW1vdmUgaGFlLnJlZywgc3lzLCBoYWVfc2hpZnQuCgkoc3RiX21iLCBzdHdfbWIsIHN0bF9tYiwgX19zZXRoYWUpOiBOZXcuCgkoaW5saW5lX291dGIsIGlubGluZV9vdXR3LCBpbmxpbmVfb3V0bCk6IERvbid0IHNldCBoYWUuCgkoaW5saW5lX2luYiwgaW5saW5lX2ludywgaW5saW5lX2lubCk6IExpa2V3aXNlLgoJKGRlbnNlX3NldGhhZSk6IE5ldyBudWxsIGZ1bmN0aW9uLgoJKHN0cnVjdCBjcHVpbmZvX2RhdGEpOiBOZXcuCgkocHJvY2Vzc19jcHVpbmZvKTogVXNlIGxvY2FsIGFuZCBzdGFjayB2YXJpYWJsZXMsIG5vdCBzdGF0aWMuCglNb3ZlIHJlYWRsaW5rIGNoZWNrIGhlcmUgZnJvbSBpbml0X2lvc3lzLgoJKGluaXRfaW9zeXMpOiBVc2UgX19wY2ljb25maWdfaW9iYXNlIGZpcnN0LiAgS25vdyBTWCBhbmQgTFggYXMgUFlYSVMuCgkoX2lvcGwpOiBTaW1wbGlmeS4KCShfaGFlX3NoaWZ0KTogQ2FsY3VsYXRlIGl0IGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2NhbGxzLmxpc3Q6IFJlbW92ZSBzZXRoYWUsCglhZGQgcGNpY29uZmlnX2lvYmFzZS4KCjIwMDAtMDMtMjAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYyAodGltZV9maW5pc2gpOiBVc2UgJVogaW5zdGVhZCBvZiAlei4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX2ZpbmlzaCwgY3R5cGVfY2xhc3NfbmV3KTogTGlrZXdpc2UuCgoJKiBzY3JpcHRzL3ZlcnNpb25zLmF3azogRml4ZWQgdmVyc2lvbiByZW5hbWluZyBjb2RlIHRvIGRpc3Rpbmd1aXNoCglsaWJyYXJpZXMgcHJvcGVybHkuCgoyMDAwLTAzLTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvc3RkbGliLmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fY3hhX2F0ZXhpdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL2RlYnVncmVnLmg6IFVwZGF0ZSBjb21tZW50IGFib3V0CglfU0xPV0RPV04gZmxhZ3MuICBQYXRjaCBieSBKaW0gQmxhbmR5IDxqaW1iQGN5Z251cy5jb20+LgoKMjAwMC0wMy0xNyAgQ3Jpc3RpYW4gR2FmdG9uICA8Z2FmdG9uQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGUgKCQocnRsZC12ZXJzaW9uLWluc3RhbGxlZC1uYW1lKSk6IERlbGF5IHJlcGxhY2luZwoJZXhpc3RpbmcgcnRsZC1pbnN0YWxsZWQtbmFtZS4KCSgkKHJ0bGQtaW5zdGFsbGVkLW5hbWUpKTogUmVxdWVzdCBsaWJjLSQodmVyc2lvbikgYmUgaW5zdGFsbGVkIHRvby4KCXJlcGxhY2UgZXhpc3RpbmcgcnRsZC1pbnN0YWxsZWQtbmFtZSB1c2luZyAkKHN5bWJvbGljLWxpbmstcHJvZykuCgoyMDAwLTAzLTE3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfcmVhZCk6IFJlbW92ZSBib2d1cyBjYXN0LgoJKGluc2VydF92YWx1ZSwgaGFuZGxlX2VsbGlwc2lzLCBjb2xsYXRlX3JlYWQpOiBSZXBsYWNlICV6dSBpbiBmb3JtYXQKCXN0cmluZ3Mgd2l0aCAlWnUsIGJlY2F1c2UgZ2NjLTIuOTUuMidzIC1XZm9ybWF0IGtub3dzIGFib3V0IHRoZSBsYXR0ZXIKCWJ1dCBub3QgdGhlIGZvcm1lci4KCjIwMDAtMDMtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2dsb2IuYyBbX0xJQkNdOiBBbHdheXMgdXNlIF9feHN0YXQ2NCwgbm90IG9ubHkgZm9yCglnbG9iNjQuICBTaW5jZSB0aGVyZSBpcyBubyBnbG9iNjQgaW4gdGhlIExGUyBwcm9wb3NhbCBhcHBsaWNhdGlvbnMKCWNhbiBhc3N1bWUgdGhhdCBnbG9iIGhhbmRsZXMgTEZTIHNpdHVhdGlvbnMuICBnbG9iNjQgaXMgb25seSBuZWVkZWQKCWlmIGFsdGVybmF0aXZlIGZpbGVzeXN0ZW0gZnVuY3Rpb25zIGFyZSB1c2VkLgoKMjAwMC0wMy0xOSAgR2VvZmYgQ2xhcmUgIDxnd2NAdW5pc29mdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2xvYi5jOiBDb3JyZWN0IGdsX3BhdGhjIHZhbHVlIHJldHVybmVkCgl3aGVuIEdMT0JfRE9PRkZTIGlzIHNldDsgY29ycmVjdCBoYW5kbGluZyBvZiBwYXR0ZXJucwoJY29udGFpbmluZyBlc2NhcGVkIHdpbGRjYXJkcyAoYW5kIG5vIHVuZXNjYXBlZCBvbmVzKTsKCUdMT0JfRVJSIGZsYWcgd2FzIGJlaW5nIGlnbm9yZWQgaW4gc29tZSBzaXR1YXRpb25zLgoKCSogcG9zaXgvZ2xvYnRlc3QuYywgcG9zaXgvZ2xvYnRlc3Quc2g6IFVwZGF0ZWQgdG8gaW5jbHVkZQoJdGVzdHMgZm9yIHRoZSBwcm9ibGVtcyBmaXhlZCBieSB0aGUgYWJvdmUgY2hhbmdlcyB0byBnbG9iLmMuCgoJKiBtYW51YWwvcGF0dGVybi50ZXhpIChDYWxsaW5nIEdsb2IpOiBVcGRhdGUgZGVzY3JpcHRpb24gb2YgZ2xfcGF0aGMuCgoyMDAwLTAzLTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIE1ha2Vjb25maWcgKHNvdmVyc2lvbi5pKTogVXNlIG9ubHkgZmlyc3QgbWF0Y2ggZm9yIGVhY2ggbGliLgoKCSogTWFrZWNvbmZpZyAoc292ZXJzaW9uLmkpOiBQYXNzIC11bmRlZiB0byAkKENDKSAtRS4KCgkqIE1ha2VydWxlcyAoVmVyc2lvbnMuYWxsLCBzeXNkLXZlcnNpb25zKTogVGVzdCAkKHN5c2Qtc29ydGVkLWRvbmUpCglyYXRoZXIgdGhhbiAkKHN5c2QtZGlycy1kb25lKSB0byBwcm90ZWN0IHRoZXNlIHJ1bGVzLgoKCSogTWFrZXJ1bGVzICh2ZXJzaW9uLXJlbmFtZXMuZGVmKTogVGFyZ2V0IHJlbW92ZWQuCgkoVmVyc2lvbnMuYWxsKTogRGVwZW5kIG9uIHNvdmVyc2lvbnMuaSBkaXJlY3RseSBhbmQgcGFyc2UgaXQuCgoJKiBNYWtlY29uZmlnIChzb3ZlcnNpb25zLmkpOiBOZXcgdGFyZ2V0LCBpbnB1dC1yZWFkaW5nIHBhcnRzIG9mCglzb3ZlcnNpb25zLm1rIGdlbmVyYXRpb24gbW92ZWQgaGVyZTsgcmVzdWx0IGlzIGEgY2Fub25pY2FsaXplZAoJbGlzdCAiTElCIFZFUlNJT04gW1NFVF0iIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uCgkoc292ZXJzaW9ucy5tayk6IFVzZSB0aGF0IGFzIGlucHV0LiAgRG9uJ3QgZW1pdCBtYXAtZmlyc3R2ZXJzaW9ucy4KCSogTWFrZXJ1bGVzICh2ZXJzaW9uLXJlbmFtZXMuZGVmKTogTmV3IHRhcmdldCwgZ2VuZXJhdGVkIGZyb20KCXNvdmVyc2lvbnMuaSB3aXRoIGNvbnRlbnRzIHRoYXQgd2FzIGluICQobWFwLWZpcnN0dmVyc2lvbnMpLgoJKFZlcnNpb25zLmFsbCk6IERvbid0IGRlcGVuZCBvbiBzb3ZlcnNpb25zLm1rLCBkZXBlbmQgb24KCXZlcnNpb24tcmVuYW1lcy5kZWYgaW5zdGVhZDsganVzdCBjYXQgaXQgaW50byB0aGUgaW5wdXQuCgoJKiBNYWtlcnVsZXMgKFZlcnNpb25zLmFsbCk6IFVzZSAkKGZvcmVhY2ggLi4uKSBpbnN0ZWFkIG9mIHNoIGZvciBsb29wCglmb3IgJChtYXAtZmlyc3R2ZXJzaW9ucyksIHdoaWNoIGJldHRlciBoYW5kbGVzIGl0IGJlaW5nIGVtcHR5LgoKCSogc2hsaWItdmVyc2lvbnMgW1VTRV9JTl9MSUJJT10gKC4qLS4qLWdudS1nbnUqKTogU2V0IGVhcmxpZXN0CglzdXBwb3J0ZWQgdmVyc2lvbiBmb3IgbGliYyAwLjIuOTAubGliaW8gdG8gR0xJQkNfMi4yLgoKCSogTWFrZWNvbmZpZyAoc292ZXJzaW9ucy5tayk6IEdyb2sgbmV3IHRoaXJkIGNvbHVtbiBpbiBzaGxpYi12ZXJzaW9ucywKCWFuZCB1c2UgaXQgdG8gZW1pdCBuZXcgdmFyaWFibGUgYG1hcC1maXJzdHZlcnNpb25zJy4KCSogc2NyaXB0cy9maXJzdHZlcnNpb25zLmF3azogTmV3IGZpbGUuCgkqIE1ha2VydWxlcyAoVmVyc2lvbnMuYWxsKTogVXNlIHNjcmlwdHMvZmlyc3R2ZXJzaW9ucy5hd2sgYW5kCgl0aGUgJChtYXAtZmlyc3R2ZXJzaW9ucykgdmFsdWUgdG8gZ2VuZXJhdGUgYSBtb2RpZmllZCB2ZXJzaW9ucyBsaXN0Cgl0aGF0IGluY2x1ZGVzIHJlbmFtZXMgaW4gIkEgPSBCIiBzeW50YXggZm9yIGVhY2ggdmVyc2lvbiBzZXQgZWFybGllcgoJdGhhbiB0aGUgImVhcmxpZXN0IHN5bWJvbCB2ZXJzaW9uIiBuYW1lZCBpbiBzaGxpYi12ZXJzaW9ucy4KCSogc2NyaXB0cy92ZXJzaW9ucy5hd2s6IFJlY29nbml6ZSAiQSA9IEIiIGxpbmVzIGluIHRoZSBpbnB1dCB0byBtZWFuCglyZW5hbWUgdmVyc2lvbiBzZXQgQSB0byBCIGluIHRoZSBvdXRwdXQgdG8gdGhlIGludGVybWVkaWF0ZSBmaWxlLgoJKiBzY3JpcHRzL2FiaS12ZXJzaW9ucy5hd2s6IE5ldyBmaWxlLgoJKiBNYWtlcnVsZXMgKGFiaS12ZXJzaW9ucy5oKTogTmV3IHRhcmdldCwgZ2VuZXJhdGVkIGJ5IHRoYXQgc2NyaXB0LgoJWyQodmVyc2lvbmluZykgPSB5ZXNdIChiZWZvcmUtY29tcGlsZSk6IFByZXBlbmQgYWJpLXZlcnNpb25zLmguCgkqIGluY2x1ZGUvc2hsaWItY29tcGF0Lmg6IE5ldyBmaWxlLCB1c2VzIHRoYXQgZ2VuZXJhdGVkIGhlYWRlci4KCjIwMDAtMDMtMTggIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogTWFrZWNvbmZpZyAoc292ZXJzaW9ucy5tayk6IENvbnZlcnQgJSAtPiAjIGluIHNobGliLXZlcnNpb25zCglhZnRlciBzdHJpcHBpbmcgIyBjb21tZW50cywgYW5kIHRoZW4gcnVuIGl0IHRocm91Z2ggY3BwLgoJVGhpcyBhbGxvd3MgdGhpbmdzIGxpa2UgIiVpZmRlZiBGT08iIGJhc2VkIG9uIGNvbmZpZy5oIHNldHRpbmdzLgoJKiBzaGxpYi12ZXJzaW9ucyBbVVNFX0lOX0xJQklPXSAoLiotLiotZ251LWdudSopOiBsaWJjPTAuMi45MC5saWJpbwoKCSogaHVyZC9pbnRyLW1zZy5jIChfaHVyZF9pbnRyX3JwY19tYWNoX21zZyk6IEZvciBNQUNIX1NFTkRfSU5URVJSVVBURUQKCWFuZCBvdGhlciBlcnJvcnMgdGhhdCBpbmRpY2F0ZSBhIHBzZXVkby1yZWNlaXZlIGhhcHBlbmVkLCBncm9rIHRocm91Z2gKCXRoZSBtZXNzYWdlIGJ1ZmZlciBmb3IgcG9ydCByaWdodHMgdGhhdCBuZWVkIHJlZmVyZW5jZXMgZml4ZWQgdXAuCgoyMDAwLTAzLTE2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBBZGRlZCBtYWR2aXNlIGFuZCBtaW5jb3JlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWFkdmlzZS5jOiBSZW1vdmUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL21tYW4uaCAoTUFEVl8qKTogQWRkIGZsYWdzCglmcm9tIGxhdGVzdCBMaW51eCBrZXJuZWwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy9tbWFuLmggKE1BRFZfKik6IExpa2V3aXNlLgoKCSogbWlzYy9zeXMvbW1hbi5oOiBBZGQgcHJvdG90eXBlIGZvciBtaW5jb3JlLgoKMjAwMC0wMy0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2NhbGxzLmxpc3Q6IEFkZCBvbGRzZXRybGltaXQKCWVudHJ5IGZvciBHTElCQ18yLjAgdmVyc2lvbiBvZiBzZXRybGltaXQuCglQYXRjaCBieSBTaGlueWEgSGFuYXRha2EgPGhhbmF0YWthQGFieXNzLnJpbS5vci5qcD4uCgoyMDAwLTAzLTE2ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBuaXMvbnNzX25pcy9uaXMtZXRoZXJzLmM6IFJldHVybiB3aXRoIGVycm9yIGlmIG1hbGxvYyBmYWlscy4KCSogbmlzL25zc19jb21wYXQvY29tcGF0LWluaXRncm91cHMuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1pbml0Z3JvdXBzLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtbmV0Z3JwLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtcHJvdG8uYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1ycGMuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1zZXJ2aWNlLmM6IExpa2V3aXNlLgoJKiBuaXMveXBjbG50LmM6IExpa2V3aXNlLgoKMjAwMC0wMy0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL01ha2VmaWxlOiBNQUtFSU5GTyBpcyBzZXQgdG8gYDonIGZyb20gY29uZmlndXJlIGlmIGl0Cglkb2Vzbid0IGV4aXN0LCBjb3JyZWN0IGNoZWNrcy4gIEZpeGVzIFBSIGxpYmMvMTY0OS4KCjIwMDAtMDMtMTYgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIG5zY2QvaHN0Y2FjaGUuYzogUmVzdG9yZSBjb3JyZWN0IFVJRC4KCSogbnNjZC9wd2RjYWNoZS5jOiBMaWtld2lzZS4KCVBhdGNoIGZyb20gR2Fib3IgR29tYmFzIDxnb21iYXNnQGluZi5lbHRlLmh1Pi4KCjIwMDAtMDMtMTcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogc3lzZGVwcy9pMzg2L3N5cy91Y29udGV4dC5oOiBQcmVwZW5kIFJFR18gdG8gZW51bSB2YWx1ZXMgYW5kCgltYWNyb3MgZm9yIHJlZ2lzdGVyIG5hbWVzLCBpbiBsaW5lIHdpdGggMjAwMC0wMy0xNCBsaW51eCBjaGFuZ2UuCgoJKiBzeXNkZXBzL21hY2gvc2NoZWRfeWllbGQuYzogTmV3IGZpbGUuCgoyMDAwLTAzLTEzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sb2NrZmlsZS5jOiBJbmNsdWRlIDxzdGRpby5oPgoJKF9JT19mbG9ja2ZpbGUsIF9JT19mdW5sb2NrZmlsZSwgX0lPX2Z0cnlsb2NrZmlsZSk6ICN1bmRlZiB0aGVzZSBpbgoJY2FzZSA8bGliaW8uaD4gZGVmaW5lZCB0aGVtLgoJKF9fZmxvY2tmaWxlLCBfX2Z1bmxvY2tmaWxlLCBfX2Z0cnlsb2NrZmlsZSk6IEZ1bmN0aW9ucyByZW5hbWVkCglmcm9tIF9faW50ZXJuYWxfKi4KCShmbG9ja2ZpbGUsIF9JT19mbG9ja2ZpbGUsIGZ1bmxvY2tmaWxlLCBfSU9fZnVubG9ja2ZpbGUsCglmdHJ5bG9ja2ZpbGUsIF9JT19mdHJ5bG9ja2ZpbGUpOiBGaXggYWxpYXNlcyBhY2NvcmRpbmdseS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3N0ZGlvLWxvY2suaCAoX0lPX2xvY2tfaW5pdGlhbGl6ZXIpOiBVc2UgLi4uCglmb3IgbW9yZSBwbGVhc2luZyBwYXJzZSBlcnJvci4KCjIwMDAtMDMtMTYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xjLXRpbWUuYyAoX25sX2luaXRfZXJhX2VudHJpZXMpOiBDb3JyZWN0IGFsbG9jYXRpb24gb2YKCW1lbW9yeSBmb3IgZXJhcy4KCVBhdGNoIGJ5IFNoaW55YSBIYW5hdGFrYSA8aGFuYXRha2FAYWJ5c3MucmltLm9yLmpwPi4KCgkqIGVsZi9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGNvbXBpbGUgYW5kIHJ1biBjb25zdGxvYWQxIHRlc3QuCgkqIGVsZi9jb25zdGxvYWQxLmM6IE5ldyBmaWxlLgoJKiBlbGYvY29uc3Rsb2FkMi5jOiBOZXcgZmlsZS4KCSogZWxmL2NvbnN0bG9hZDMuYzogTmV3IGZpbGUuCgoyMDAwLTAzLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvb3BlbjY0LmM6IE1ha2UgX19vcGVuNjQgd2VhayBhbGlhcy4KCSogc3lzZGVwcy9wb3NpeC9wcmVhZDY0LmM6IE1ha2UgX19wcmVhZDY0IHdlYWsgYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3ByZWFkNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3ByZWFkNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvcHdyaXRlNjQuYzogTWFrZSBfX3B3cml0ZTY0IHdlYWsgYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B3cml0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3B3cml0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3B3cml0ZTY0LmM6IExpa2V3aXNlLgoKMjAwMC0wMy0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9pb3Blcm0uYyAocGxhdGZvcm0pOiBBZGQgZW50cnkgZm9yCglOYXV0aWx1cy4gIFBhdGNoIGJ5IFNvb2hvb24gTGVlIDxzb29ob29uLmxlZUBhbHBoYS1wcm9jZXNzb3IuY29tPi4KCjIwMDAtMDMtMTYgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvcHJvY2ZzLmggKHByZnByZWdzZXRfdCk6CglUeXBlZGVmIGZvciBlbGZfZnByZWdzZXRfdCBpbnN0ZWFkIG9mIGBlbGZfZnByZWdzZXRfdCAqJy4KCjIwMDAtMDMtMDggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Njc2kvc2cuaDogU3luYyB3aXRoIExpbnV4IDIuMy41MC4KCjIwMDAtMDMtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZXpvbmUvYWZyaWNhOiBVcGRhdGUgZnJvbSB0emRhdGEyMDAwZC4KCSogdGltZXpvbmUvYXNpYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2F1c3RyYWxhc2lhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvZXVyb3BlOiBMaWtld2lzZS4KCSogdGltZXpvbmUvbm9ydGhhbWVyaWNhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvc291dGhhbWVyaWNhOiBMaWtld2lzZS4KCgkqIHBvL2ZyLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoJKiBwby9kZS5wbzogTGlrZXdpc2UuCgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogQ2hhbmdlIHJldHVybiB0eXBlIGFuZCByZW1vdmUKCWxhc3QgcGFyYW1ldGVyLiAgTW92ZSBjb2RlIHRvIGFkZCBtYXAgdG8gZ2xvYmFsIHNjb3BlIGZyb20gaGVyZS4uLgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IC4uLmhlcmUuCgkqIGVsZi9sZHNvZGVmcy5oOiBBZGp1c3QgZGVjbGFyYXRpb24gb2YgX2RsX21hcF9vYmplY3RfZGVwcy4KCSogZWxmL3J0bGQuYzogQWRqdXN0IGNhbGwgdG8gX2RsX21hcF9vYmplY3RfZGVwcy4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfcmVhZCk6IEZpeCB3YXJuaW5nLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvdWNvbnRleHQuaDogUHJlcGVuZCBSRUdfIHRvIGVudW0KCXZhbHVlcyBhbmQgbWFjcm9zIGZvciByZWdpc3RlciBuYW1lcy4KCgkqIGxpYmlvL2lvZm9wbmNvb2suYyAoX0lPX2Nvb2tpZV9zZWVrKTogUmV0dXJuIGVycm9yIG9ubHkgaWYgdmFsdWUKCXJldHVybmVkIGJ5IHNlZWsgY29va2llIGZ1bmN0aW9uIGlzIC0xLgoKMjAwMC0wMy0xNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbG9jYWxlL2xvY2FsZWNvbnYuYyAobG9jYWxlY29udik6IEZpeCB0eXBvLgoJUmVwb3J0ZWQgYnkgQW5kcmUgQ2hhcmJvbm5lYXUgPGFuZHJlY0Bjb3JlbC5jb20+LgoKMjAwMC0wMy0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9za2VsZXRvbi5jOiBJbmNyZW1lbnQgX19pbnZvY2F0aW9uX2NvdW50ZXIgaW4gaW5uZXIgbG9vcAoJc2luY2UgbW9kdWxlcyBkZXBlbmQgb24gaXQgY291bnRpbmcgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgY29udmVyc2lvbgoJZnVuY3Rpb24gZ290IGNhbGxlZC4KCgkqIGljb252L2djb252X29wZW4uYzogT3B0aW1pemUgbG9vcCB0byBzZXR1cCBzdGVwIGRhdGEgc3RydWN0dXJlLgoKCSogaWNvbnYvZ2NvbnYuaDogUHJldHR5IHByaW50LgoKMjAwMC0wMy0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC93b3JkZXhwLXRlc3QuYzogQ29ycmVjdCBvbmUgb2YgdGhlIHRlc3RzIGFkZGVkIGluIHRoZSBsYXN0CgljaGFuZ2UuICBSZWFsbHkgZ2V0IHRoZSByb290IHBhc3N3ZCBlbnRyeSB0byBjaGVjayBhZ2FpbiB+cm9vdC4KCjIwMDAtMDMtMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9maWxlc3lzLnRleGkgKFdvcmtpbmcgRGlyZWN0b3J5KTogRml4IGxhc3QgcGF0Y2guCglQYXRjaCBieSBNYXJ0aW4gQnVjaGhvbHogIDxtYXJ0aW5AeGVtYWNzLm9yZz4uCgoyMDAwLTAzLTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvY3JlYXR1cmUudGV4aSAoRmVhdHVyZSBUZXN0IE1hY3Jvcyk6IEZpeCBsYW5ndWFnZS4KCjIwMDAtMDMtMTAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogbWFjaC9kZXZzdHJlYW0uYyAoZGV2c3RyZWFtX3dyaXRlLCBkZXZzdHJlYW1fcmVhZCk6IE5ldyBmdW5jdGlvbnMuCgkoaW5wdXQsIG91dHB1dCk6IEZ1bmN0aW9ucyByZW1vdmVkLgoJKG1hY2hfb3Blbl9kZXZzdHJlYW0pOiBVc2UgZGV2c3RyZWFtX3tyZWFkLHdyaXRlfSBhcyBjb29raWUgZnVuY3Rpb25zLAoJdXNpbmcgb25seSB0aGUgdmFuaWxsYSBmb3BlbmNvb2tpZSBpbnRlcmZhY2UuCgoJKiBodXJkL2ZvcGVucG9ydC5jIFshIFVTRV9JTl9MSUJJT10gKGNvb2tpZV9pb19mdW5jdGlvbnNfdCk6IERlZmluZQoJYXMgbWFjcm8gZm9yIF9faW9fZnVuY3Rpb25zLgoJKGZ1bmNzaW8pOiBVc2UgY29va2llX2lvX2Z1bmN0aW9uc190IHR5cGUgbmFtZS4KCShmb3BlbnBvcnQpOiBSZW5hbWVkIGZyb20gX19mb3BlbnBvcnQuICBSZXdyaXRlIHRvIGNhbGwgZm9wZW5jb29raWUuCgoJKiBsaWJpby9pb2ZvcG5jb29rLmMgKF9JT19jb29raWVfaW5pdCk6IE5ldyBmdW5jdGlvbiwgYnJva2VuIG91dCBvZgoJZm9wZW5jb29raWUuCgkoZm9wZW5jb29raWUpOiBVc2UgaXQuCgkqIGxpYmlvL2xpYmlvLmg6IERlY2xhcmUgX0lPX2Nvb2tpZV9pbml0LgoJKiBodXJkL3ZwcHJpbnRmLmMgKHZwcHJpbnRmKSBbVVNFX0lOX0xJQklPXTogSW1wbGVtZW50IHVzaW5nCglfSU9fY29va2llX2luaXQuCgoJKiBsaWJpby9saWJpby5oIChfX2lvX3NlZWtfZm4pOiBGaXggc2Vjb25kIGFyZ3VtZW50IHR5cGUKCXRvIGJlIGEgcG9pbnRlciwgaW4gbGluZSB3aXRoIHRoZSBtYW51YWwgYW5kIHRoZSBvbGQgc3RkaW8uCgkqIGxpYmlvL2lvZm9wbmNvb2suYyAoX0lPX2Nvb2tpZV9zZWVrKTogRml4IChzb2xlKSBjYWxsZXIuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zdGRpby1sb2NrLmg6IE5ldyBmaWxlLgoJVGhpcyBpcyBhIHN0dWIgd2l0aCAjZXJyb3IsIGJ1dCB0aGF0J3MgYmV0dGVyIHRoYW4gbm8gZmlsZSBhdCBhbGwuCgoyMDAwLTAzLTA5ICBNYXJ0aW4gQnVjaGhvbHogIDxtYXJ0aW5AeGVtYWNzLm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2NhbGwuUzogRG9jIEZpeGVzLgoJKiBtYW51YWwvbWVzc2FnZS50ZXhpIChVc2luZyBnZXR0ZXh0aXplZCBzb2Z0d2FyZSk6IERvYyBGaXhlcy4KCSogbWFudWFsL21lc3NhZ2UudGV4aSAoTWVzc2FnZSBUcmFuc2xhdGlvbik6IERvYyBGaXhlcy4KCSogbWFudWFsL2ZpbGVzeXMudGV4aSAoRmlsZSBTaXplKTogRG9jIEZpeGVzLgoJKiBtYW51YWwvY2hhcnNldC50ZXhpIChnbGliYyBpY29udiBJbXBsZW1lbnRhdGlvbik6IERvYyBGaXhlcy4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY29sbGF0ZV9vdXRwdXQpOiBEb2MgRml4ZXMuCgkqIGljb252L2djb252X2RiLmMgKGZpbmRfZGVyaXZhdGlvbik6IERvYyBGaXhlcy4KCSogbWFudWFsL2luc3RhbGwudGV4aTogRG9jIEZpeGVzLgoJKiBtYW51YWwvc2VhcmNoLnRleGkgKEhhc2ggU2VhcmNoIEZ1bmN0aW9uKTogRG9jIEZpeGVzLgoJKiBtYW51YWwvc3RkaW8udGV4aSAoT3V0cHV0IENvbnZlcnNpb24gU3ludGF4KTogRG9jIEZpeGVzLgoJKiBGQVEuaW46IERvYyBGaXhlcy4KCSogY29uZmlnLmguaW46IERvYyBGaXhlcy4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jOiBEb2MgRml4ZXMuCglEb2MgRml4ZXMuICBgYWxsb3dzIHRvJyBpcyBub3QgY29ycmVjdCBFbmdsaXNoLgoKCSogZWxmL3J0bGQuYzogRG9jIGZpeGVzLgoJKiBtYW51YWwvY3JlYXR1cmUudGV4aSAoRmVhdHVyZSBUZXN0IE1hY3Jvcyk6IERvYyBmaXhlcy4KCSogbWFudWFsL21lbW9yeS50ZXhpIChIb29rcyBmb3IgTWFsbG9jKTogRG9jIEZpeGVzLgoKCSogbWFudWFsL2ZpbGVzeXMudGV4aSAoV29ya2luZyBEaXJlY3RvcnkpOiBDaGVjayBmb3IgRVJBTkdFIHRvCglhdm9pZCBpbmZsb29wLgoKMjAwMC0wMi0yMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzdHJpbmcvYXJnei1zdHJpbmdpZnkuYyAoX19hcmd6X3N0cmluZ2lmeSk6IEZpeCBsb29wIHRlcm1pbmF0aW9uCgljb25kaXRpb25zIHNvIGFzIG5vdCB0byBjbG9iYmVyIHRoZSBmaW5hbCAnXDAnIHdoZW4gdGhlcmUgaXMgb25seSBvbmUKCWVsZW1lbnQgaW4gdGhlIHZlY3Rvci4KCjIwMDAtMDMtMDkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogaW8vc3lzL3N0YXQuaDogRml4IGludmVydGVkIHNlbnNlIG9mIGBkZWZpbmVkIF9fU19JRlNPQ0snIHRlc3QsCglicm9rZW4gYnkgMjAwMC0wMi0yNyBjaGFuZ2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9wb2xsLmggKFBPTExSRE5PUk0sIFBPTExSREJBTkQpOiBOZXcgbWFjcm9zLgoKMjAwMC0wMi0yMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zaWdzdGFjay5jIChzaWdzdGFjayk6IFJlbW92ZSBgY29uc3QnIGZyb20KCWFyZ3VtZW50IHR5cGUsIGZvciAyMDAwLTAyLTIyIGNoYW5nZSBpbiBzaWduYWwvc2lnbmFsLmggZGVjbGFyYXRpb24uCgoyMDAwLTAzLTA5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9nZXRkZW50czY0LmMgKF9fZ2V0ZGlyZW50cmllczY0KTogUmVuYW1lZAoJdG8gZ2V0ZGlyZW50cmllczY0IChubyBfXyksIHNpbmNlIHRoZSBMaW51eCBpbXBsZW1lbnRhdGlvbgoJaGFzIG5vIF9fIG5hbWUsIGFuZCB0aGVyZSBpcyBubyBkZWNsYXJhdGlvbiBmb3IgdGhlIF9fIG5hbWUuCgoJKiBzeXNkZXBzL21hY2gvYml0cy9saWJjLWxvY2suaCAoX19saWJjX2NsZWFudXBfZW5kKTogTmV3IG1hY3JvLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvTWFrZWZpbGUgKCQoY29tbW9uLW9ianBmeCllcnJub3MuZCk6IFRpZ2h0ZW4gdXAKCXNlZCByZWdleHAgc28gYXMgbm90IHRvIGJyZWFrIGRpcmVjdG9yeSBuYW1lcyBpbmNsdWRpbmcgLy4uLyB3aXRoaW4uCgoJKiBzeXNkZXBzL3VuaXgvYnNkL2JpdHMvd2FpdGZsYWdzLmg6IEZpbGUgcmVtb3ZlZC4KCVRoZSBzeXNkZXBzL2dlbmVyaWMgZmlsZSBpcyByaWdodCBmb3IgQlNELiAgVGhpcyBmaWxlIHdhcyBpbiBmYWN0IHRoZQoJSHVyZCBmaWxlLCBidXQgdGhlIG9ubHkgZGlmZmVyZW5jZSB3YXMgdGhlIFdOT1JFQVAgZmxhZyB0aGF0IHdhcyBuZXZlcgoJYWN0dWFsbHkgaW1wbGVtZW50ZWQgb3IgdXNlZCBhbnl3aGVyZS4KCgkqIGNvbmZpZ3VyZS5pbiAoUEVSTCwgSU5TVEFMTF9JTkZPKTogRG9uJ3QgQUNfU1VCU1QgdGhlc2UsCglzaW5jZSBBQ19QQVRIX1BST0cgYWxyZWFkeSBkb2VzIGl0IGZvciB1cy4KCShQRVJMKTogUmV3cml0ZSBjaGVjayBhZGRlZCBpbiAyMDAwLTAyLTI5IGNoYW5nZSBmb3Igc3ludGFjdGljCgljb3JyZWN0bmVzcyBhbmQgc2ggcG9ydGFiaWxpdHkuICBJIHJlcGxhY2VkIHRoZSBicm9rZW4gY2hlY2sKCXdpdGggYSBtb3JlIHNlbnNpYmxlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBhcHBhcmVudGx5IGludGVuZGVkCglzZW1hbnRpY3MsIHdoaWNoIG1pZ2h0IHN0aWxsIGJlIHF1ZXN0aW9uYWJsZS4gIFVzaW5nIGV4cHIgY2F1c2VzCglhIG5vbi1udW1lcmljIHZhbHVlIGZvciBgcGVybCAtVjphcGl2ZXJzaW9uYCB0byBiZSBhY2NlcHRlZCwKCXJlZnVzaW5nIHRvIHVzZSBvbmx5IGEgcGVybCB0aGF0IHJlcG9ydHMgYSBudW1iZXIgbGVzcyB0aGFuIDU7CglvbiBteSBzeXN0ZW0sIHBlcmwgKDUuMDA0XzA0KSAtVjphcGl2ZXJzaW9uIHByb2R1Y2VzIFVOS05PV04uCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAwLTAzLTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvY3J5cHQudGV4aTogRml4IHBhdGhzLgoKMjAwMC0wMy0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcmVzb2x2L25ldGRiLmg6IFRoZSBkZXNjcmlwdGlvbnMgb2YgcnJlc3Zwb3J0IGFuZCBycmVzdnBvcnRfYWYKCXdlcmUgc3dhcHBlZC4KCVBhdGNoIGJ5IFlPU0hJRlVKSSBIaWRlYWtpIDx5b3NoZnVqaUBlY2VpLnRvaG9rdS5hYy5qcD4sIGNsb3NlcyBQUgoJbGliYy8xNjM2LgoKMjAwMC0wMy0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogRml4IHVuaW9uIGRlZmluaXRpb24gZXJyb3IKCWluIF9fc2duMWwsIG90aGVyd2lzZSBnKysgZmFpbHMgdG8gcGFyc2UgdGhpcy4KCVJlcG9ydGVkIGJ5IFNlYW4gQ2hlbiA8c2Vhbi5jaGVuQHR1cmJvbGludXguY29tPi4KCjIwMDAtMDMtMDMgIEdlb2ZmIEtlYXRpbmcgIDxnZW9mZmtAY3lnbnVzLmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogQ29tcHV0ZSBzaXplb2YtbG9uZy1kb3VibGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZy5tYWtlLmluOiBNYWtlIHNpemVvZi1sb25nLWRvdWJsZSBhdmFpbGFibGUgdG8gc3ViLW1ha2VzLgoKMjAwMC0wMy0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQGN5Z251cy5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pbml0LWZpcnN0LmM6IFJlbW92ZSB0cmFjZSBvZiBwZXJzb25hbGl0eQoJY2FsbC4KCjIwMDAtMDMtMDMgIEdlb2ZmIEtlYXRpbmcgIDxnZW9mZmtAY3lnbnVzLmNvbT4KCgkqIE1ha2Vjb25maWcgKHJwYXRoLWRpcnMpOiBBZGQgY3J5cHQuCgkoYWxsLXN1YmRpcnMpOiBSZW1vdmUgbWQ1Y3J5cHQuCgkqIGNyeXB0L3N5c2RlcHMvdW5peC9jcnlwdC5jOiBNb3ZlIHRvIGNyeXB0Ly4KCSogY3J5cHQvc3lzZGVwcy91bml4L2NyeXB0LWVudHJ5LmM6IE1vdmUgdG8gY3J5cHQvLgoJKiBzeXNkZXBzL2dlbmVyaWMvY3J5cHQtZW50cnkuYzogRGVsZXRlLgoJKiBjcnlwdC9zeXNkZXBzL3VuaXgvY3J5cHQuaDogTW92ZSB0byBjcnlwdC8uCgkqIHN5c2RlcHMvZ2VuZXJpYy9jcnlwdC5oOiBEZWxldGUuCgkqIGNyeXB0L3N5c2RlcHMvdW5peC9jcnlwdC1wcml2YXRlLmg6IE1vdmUgdG8gY3J5cHQvLgoJKiBjcnlwdC9zeXNkZXBzL3VuaXgvY3J5cHRfdXRpbC5jOiBNb3ZlIHRvIGNyeXB0Ly4KCSogY3J5cHQvc3lzZGVwcy91bml4L2Rlc19pbXBsLmM6IE1vdmUgdG8gc3VucnBjLy4KCSogc3lzZGVwcy9nZW5lcmljL2Rlc19pbXBsLmM6IERlbGV0ZS4KCSogY3J5cHQvc3lzZGVwcy91bml4L3VmYy1jcnlwdC5oOiBNb3ZlIHRvIGNyeXB0Ly4KCSogY3J5cHQvc3lzZGVwczogRGVsZXRlLgoJKiBjcnlwdC9jcnlwdF91dGlsLmM6IERvbid0IHVzZSBgcGF0Y2hsZXZlbC5oJy4KCSogbWQ1LWNyeXB0L1ZlcnNpb25zOiBNb3ZlIHRvIGNyeXB0Ly4KCSogbWQ1LWNyeXB0L21kNS1jcnlwdC5jOiBNb3ZlIHRvIGNyeXB0Ly4KCSogbWQ1LWNyeXB0L21kNS5jOiBNb3ZlIHRvIGNyeXB0Ly4KCSogbWQ1LWNyeXB0L21kNWMtdGVzdC5jOiBNb3ZlIHRvIGNyeXB0Ly4KCSogbWQ1LWNyeXB0L21kNXRlc3QuYzogTW92ZSB0byBjcnlwdC8uCgkqIG1kNS1jcnlwdDogRGVsZXRlLgoJKiBjcnlwdC9NYWtlZmlsZTogQWRqdXN0IGZvciBuZXcgc3RydWN0dXJlLgoKMjAwMC0wMy0wMyAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAdHdpbnN1bi5jb20+CgoJKiBwb3NpeC9yZWdleC5jIChNQl9MRU5fTUFYKTogSW5jbHVkZSA8bGltaXRzLmg+IHRvIGRlZmluZTsKCWRlZmluZSB0byAxIGlmIG5vdCBkZWZpbmVkLgoKMjAwMC0wMy0wMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3VucnBjL3hkci5jICh4ZHJfaHlwZXIpOiBDb3JyZWN0bHkgaGFuZGxlIGxvd2VyIGhhbGYgb2YgbGxwLgoKMjAwMC0wMy0wMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3VucnBjL3hkcl9pbnRYWF90LmMgKHhkcl91aW50MTZfdCk6IEZpeCBFTkNPREUgYW5kIERFQ09ERQoJY2FzZXMuCgkoeGRyX2ludDY0X3QpOiBDb3JyZWN0bHkgaGFuZGxlIGxvd2VyIGhhbGYuCglGaXggYnkgU3RlbiBEYWhsZ3JlbiA8c3RkYUBlbmVhLnNlPiwgY2xvc2VzIFBSIGxpYmMvMTYyMy4KCjIwMDAtMDMtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckBjeWdudXMuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jOiBSZW1vdmUgdHJhY2Ugb2YgcGVyc29uYWxpdHkKCWNhbGwuCgoyMDAwLTAzLTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zY3NpL3NnLmg6IEludGVncmF0ZSBjaGFuZ2VzIGZyb20gTGludXgKCTIuMy40My4KCjIwMDAtMDMtMDIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHJlc29sdi9NYWtlZmlsZSAoaGVhZGVycyk6IEFkZCBhcnBhL25hbWVzZXJfY29tcGF0LmguCgoyMDAwLTAzLTAxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiB0aW1lL01ha2VmaWxlICh0c3QtZ2V0ZGF0ZS1FTlYpOiBOZXcgZmxhZyB0byBwYXNzIERBVEVNU0suCgkodGVzdHMpOiBBZGRlZCB0c3QtZ2V0ZGF0ZS4KCgkqIHRpbWUvdHN0LWdldGRhdGUuYzogTmV3IGZpbGUuCgoJKiB0aW1lL2RhdGVtc2s6IE5ldyBmaWxlLCBuZWVkZWQgZm9yIHRzdC1nZXRkYXRlLgoKMjAwMC0wMi0yOSAgQ3Jpc3RpYW4gR2FmdG9uICA8Z2FmdG9uQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW4gKENDVkVSU0lPTik6IFJlcXVpcmUgYXQgbGVhc3QgdmVlcnNpb24gNSBvZiBwZXJsIEFQSS4KCjIwMDAtMDItMTcgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN1bnJwYy9ycGMvc3ZjLmggKFNWQ1hQUlQpOiBBZGQgYSAieHBfcGFkIiBmaWVsZCBhdCB0aGUgZW5kLgoKCSogc3VucnBjL3N2Y191ZHAuYyAoc3ZjdWRwX2J1ZmNyZWF0ZSk6IFR1cm4gb24gSVBfUEtUSU5GTyBpZgoJYXZhaWxhYmxlLgoJKHN2Y3VkcF9yZWN2KTogU2V0IHVwIG1lc3NhZ2Ugd2l0aCB0aGUgbmV3ICJ4cF9wYWQiIGZpZWxkIGZvcgoJSVBfUEtUSU5GTy4KCShzdmN1ZHBfcmVwbHkpOiBTdXBwb3J0IElQX1BLVElORk8gaWYgYXZhaWxhYmxlLgoKMjAwMC0wMy0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogdGltZS9nZXRkYXRlLmMgKGNoZWNrX21kYXkpOiBGaXggY2hlY2sgZm9yIGZlYnJ1YXJ5LgoJUmVwb3J0ZWQgYnkgYW5lQG5wLmJzMS5mYy5uZWMuY28uanAgYW5kIEFraXJhIFlPU0hJWUFNQQoJPHlvc3NoeUBjdHMubmUuanA+LCBjbG9zZXMgUFIgbGliYy8xNjE3IGFuZCBQUiBsaWJjLzE2MTkuCgoyMDAwLTAzLTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBwb3NpeC91bmlzdGQuaDogX19USFJPVyBoYXMgdG8gcHJlY2VkZSBfX2F0dHJpYnV0ZV9fLCBvdGhlcndpc2UKCWcrKyBmYWlscyB0byBwYXJzZSB0aGlzLgoJUmVwb3J0ZWQgYnkgU2VhbiBDaGVuIDxzZWFuLmNoZW5AdHVyYm9saW51eC5jb20+LgoKMjAwMC0wMi0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpby9jcmVhdC5jOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvY3JlYXQuYzogLi4uaGVyZS4KCSogaW8vY3JlYXQ2NC5jOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvY3JlYXQ2NC5jOiAuLi5oZXJlLgoJKiBpby9sb2NrZi5jOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvbG9ja2YuYzogLi4uaGVyZS4KCgkqIGNyeXB0L2NyeXB0LnRleGk6IE1vdmVkIHRvLi4uCgkqIG1hbnVhbC9jcnlwdC50ZXhpOiAuLi5oZXJlLgoJKiBjcnlwdC9leGFtcGxlcy9nZW5wYXNzLmM6IE1vdmVkIHRvLi4uCgkqIG1hbnVhbC9leGFtcGxlcy9nZW5wYXNzLmM6IC4uLmhlcmUuCgkqIGNyeXB0L2V4YW1wbGVzL215Z2VucGFzcy5jOiBNb3ZlZCB0by4uLgoJKiBtYW51YWwvZXhhbXBsZXMvbXlnZW5wYXNzLmM6IC4uLmhlcmUuCgkqIGNyeXB0L2V4YW1wbGVzL3Rlc3RwYXNzLmM6IE1vdmVkIHRvLi4uCgkqIG1hbnVhbC9leGFtcGxlcy90ZXN0cGFzcy5jOiAuLi5oZXJlLgoKCSogbWFudWFsL01ha2VmaWxlIChjaGFwdGVycyk6IEFkZCBjcnlwdC4KCSogbWFudWFsL2NvbmYudGV4aTogQWRkIHVzdWFsIGhlYWRlciBmb3Igbm90LWxhc3QgY2hhcHRlci4KCSogbWFudWFsL2NyeXB0LnRleGk6IEFkZCBzcGVjaWFsIGhlYWRlciBmb3IgbGFzdCBjaGFwdGVyLgoKMjAwMC0wMi0yOCAgR2VvZmYgS2VhdGluZyAgPGdlb2Zma0BjeWdudXMuY29tPgoKCSogTWFrZWNvbmZpZyAoYWxsLXN1YmRpcnMpOiBBZGQgJ2NyeXB0JyBzdWJkaXJlY3RvcnkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZS5pbiAoaW5oaWJpdF9nbHVlKTogRG9uJ3QKCWNvbXBsYWluIGlmIHRoZXJlIGlzIG5vIGNyeXB0IGFkZC1vbi4KCSogY3J5cHQvY29uZmlndXJlOiBSZW1vdmVkLgoKCSogY3J5cHQvY3J5cHQudGV4aTogVXBkYXRlIGRvY3VtZW50YXRpb24gb2YgVVMgZXhwb3J0IHJlc3RyaWN0aW9ucwoJdG8gbWF0Y2ggdGhlIDE0IEphbiAyMDAwIHJlZ3VsYXRpb25zLgoKMjAwMC0wMi0yOCAgR2VvZmYgS2VhdGluZyAgPGdlb2Zma0BjeWdudXMuY29tPgoKCSogY3J5cHQ6IE5ldyBzdWJkaXJlY3RvcnksIG1lcmdlZCBpbiBmcm9tIHRoZSBjcnlwdCBhZGQtb24uCgoyMDAwLTAyLTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvdW5pc3RkLmg6IEFkZCBfX3JtZGlyIGFuZCBfX21rZGlyIHByb3RvdHlwZXMuCgoKU2VlIENoYW5nZUxvZy4xMCBmb3IgZWFybGllciBjaGFuZ2VzLgo=