MjAwNi0xMS0xMyAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGVtdWx0ZW1wbC9hcm1lbGYuZW0gKGFybV9lbGZfYmVmb3JlX2FsbG9jYXRpb24pOiBPbmx5IGNhbGwKCWJmZF9lbGYzMl9hcm1fcHJvY2Vzc19iZWZvcmVfYWxsb2NhdGlvbiBpZiBubyBkeW5hbWljIHNlY3Rpb25zLgoKMjAwNi0xMS0wOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZ2xkKl9iZWZvcmVfYWxsb2NhdGlvbik6IEFkanVzdCBvdXRwdXQgc2VjdGlvbgoJc2l6ZSBmb3Igd2FybmluZyBzZWN0aW9ucy4KCjIwMDYtMTEtMDYgIFZsYWRpbWlyIFBydXMgIDx2bGFkaW1pckBjb2Rlc291cmNlcnkuY29tPgoKCSogZW11bHRlbXBsL2VsZjMyLmVtIChnbGQqX2JlZm9yZV9hbGxvY2F0aW9uKTogRG9uJ3QgcHJlcGVuZAoJIndhcm5pbmciIHRvIHRoZSBtZXNzYWdlLgoKMjAwNi0xMC0zMSAgUGVkcm8gQWx2ZXMgIDxwZWRyb19hbHZlc0Bwb3J0dWdhbG1haWwucHQ+CgoJKiBwZS1kbGwuYyAoYXV0b2ZpbHRlcl9lbnRyeV90eXBlKTogQ2hhbmdlIG5hbWUgdG8gY29uc3QuCgkocGVfZGV0YWlsc190eXBlKSA6IENoYW5nZSB0YXJnZXRfbmFtZSwgb2JqZWN0X3RhcmdldCBhbmQKCWF1dG9maWx0ZXJfc3ltYm9sbGlzdCB0byBjb25zdC4KCShhdXRvZmlsdGVyX3N5bWJvbGxpc3RfZ2VuZXJpYyk6IENoYW5nZSB0byBjb25zdC4KCShhdXRvZmlsdGVyX3N5bWJvbGxpc3RfaTM4NiwgcGVfZGV0YWlsX2xpc3QsIHBlX2RldGFpbHMsCglhdXRvZmlsdGVyX2xpYmxpc3QsIGF1dG9maWx0ZXJfb2JqbGlzdCBhdXRvZmlsdGVyX3N5bWJvbHByZWZpeGxpc3QsCglhdXRvZmlsdGVyX3N5bWJvbHN1ZmZpeGxpc3QpOiBMaWtld2lzZS4KCShpc19pbXBvcnQpOiBGaXggaW5kZW50YXRpb24uCgkoYXV0b19leHBvcnQpOiBDaGFuZ2UgYWZwdHIgdG8gY29uc3QuICBNb3ZlIG5hbWUgZGVjbGFyYXRpb24gdG8KCWJlZ2lubmluZyBvZiBzY29wZS4KCShtYWtlX3RhaWwpOiBDbGVhciB1bmRlZmluZWQgYnl0ZS4KCShqbXBfaXg4Nl9ieXRlcywgam1wX3NoX2J5dGVzLCBqbXBfbWlwc19ieXRlcywgam1wX2FybV9ieXRlcyk6IENoYW5nZQoJdG8gY29uc3QuCgkobWFrZV9vbmUpOiBDaGFuZ2Ugam1wX2J5dGVzIHRvIGNvbnN0LiAgTWFrZSBpZGF0YSQ2IG1lbWJlciBzaXplCglhcml0aG1ldGljIGV4cGxpY2l0IGFuZCBhZGQgY29tbWVudC4KCjIwMDYtMTAtMzAgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglQUiBsZC8zMTExCgkqIGxkLmggKGFyZ3NfdHlwZSk6IFJlbW92ZSByZWR1Y2VfbWVtb3J5X292ZXJoZWFkcy4KCgkqIGxkbGFuZy5jIChsYW5nX21hcCk6IFVwZGF0ZWQuCgkoc2VjdGlvbl9hbHJlYWR5X2xpbmtlZCk6IExpa2V3aXNlLgoJKHByaW50X2lucHV0X3NlY3Rpb24pOiBMaWtld2lzZS4KCSogbGRtYWluLmMgKG1haW4pOiBMaWtld2lzZS4KCSogbGV4c3VwLmMgKHBhcnNlX2FyZ3MpOiBMaWtld2lzZS4KCjIwMDYtMTAtMjkgIFBlZHJvIEFsdmVzICA8cGVkcm9fYWx2ZXNAcG9ydHVnYWxtYWlsLnB0PgoKCSogcGUtZGxsLmMgKG1ha2Vfc2luZ2xldG9uX25hbWVfdGh1bmspOiBSZS1hZGQgdGhlIE5VTEwgdGVybWluYXRvci4KCjIwMDYtMTAtMjcgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGxhbmcuYyAobGFuZ19tYXApOiBEb24ndCBzYXkgU0VDX0xJTktFUl9DUkVBVEVEIGFuZCBTRUNfS0VFUAoJc2VjdGlvbnMgaGF2ZSBiZWVuIGRpc2NhcmRlZC4KCShsYW5nX2RvX3ZlcnNpb25fZXhwb3J0c19zZWN0aW9uKTogU2V0IFNFQ19LRUVQIG9uIGV4cG9ydCBzZWN0aW9uLgoJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKGJlZm9yZV9hbGxvY2F0aW9uKTogU2V0IFNFQ19LRUVQIG9uIHdhcm5pbmcKCXNlY3Rpb25zLgoKMjAwNi0xMC0yNiAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CiAgICAgICAgICAgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWd1cmUudGd0IChhcm0qbGludXgqKTogU3VwcG9ydCBib3RoIGJpZy0gYW5kIGxpdHRsZS1lbmRpYW4uCgoyMDA2LTEwLTI1ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBlbXVscGFyYW1zL2hwcGE2NGxpbnV4LnNoIChMQVJHRV9TRUNUSU9OUyk6IFJlbmFtZWQgdG8gLi4uCgkoT1RIRVJfQlNTX1NFQ1RJT05TKTogVGhpcy4KCSogc2NyaXB0dGVtcGwvZWxmLnNjIChPVEhFUl9CU1NfU0VDVElPTlMpOiBTdXBwb3J0IExBUkdFX1NFQ1RJT05TLgoJKExBUkdFX1NFQ1RJT05TKTogTW92ZSAubGJzcyBzZWN0aW9ucyB0byBPVEhFUl9CU1NfU0VDVElPTlMuCgoyMDA2LTEwLTI1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoJICAgIFRyZXZvciBTbWlnaWVsICA8VHJldm9yX1NtaWdpZWxAcGxheXN0YXRpb24uc29ueS5jb20+CgkgICAgWXVraXNoaWdlIFNoaWJhdGEgIDxzaGliYXRhQHJkLnNjZWkuc29ueS5jby5qcD4KCSAgICBOb2J1aGlzYSBGdWppbmFtaSAgPGZuYW1pQHJkLnNjZWkuc29ueS5jby5qcD4KCSAgICBUYWtlYWtpIEZ1a3Vva2EgIDxmdWt1b2thQHJkLnNjZWkuc29ueS5jby5qcD4KCgkqIGVtdWxwYXJhbXMvZWxmMzJfc3B1LnNoOiBOZXcgZmlsZS4KCSogZW11bHRlbXBsL3NwdV9pbmMuczogTmV3IGZpbGUuCgkqIGVtdWx0ZW1wbC9zcHVfb3ZsLlM6IE5ldyBmaWxlLgoJKiBlbXVsdGVtcGwvc3B1X292bC5vOiBOZXcgZmlsZS4KCSogZW11bHRlbXBsL3NwdWVsZi5lbTogTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmFtOiBBZGQgU1BVIHN1cHBvcnQuCgkqIGNvbmZpZ3VyZS50Z3Q6IExpa2V3aXNlLgoJKiBsZGxhbmcuYyAobG9hZF9zeW1ib2xzKTogTWFrZSBnbG9iYWwuCgkqIGxkbGFuZy5oIChsb2FkX3N5bWJvbHMpOiBEZWNsYXJlLgoJKiBzY3JpcHR0ZW1wbC9lbGYuc2MgKE9USEVSX0JTU19TRUNUSU9OUyk6IEFkZC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA2LTEwLTI0ICBCZW4gRWxsaXN0b24gIDxiamVAYXUuaWJtLmNvbT4KCgkqIGxleHN1cC5jIChwYXJzZV9hcmdzKTogQWRkIGEgY29tbWVudCBub3RpbmcgYSBmYWxsLXRocm91Z2guCgoyMDA2LTEwLTI0ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuaW4gKEFDX0NIRUNLX0hFQURFUlMpOiBBZGQgbGltaXRzLmggYW5kIHN5cy9wYXJhbS5oLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoJKiBjb25maWcuaW46IExpa2V3aXNlLgoKMjAwNi0xMC0yMyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWxwYXJhbXMvaDgzMDBlbGYuc2ggKFRJTllfREFUQV9TRUNUSU9OLCBUSU5ZX0JTU19TRUNUSU9OKTogRG9uJ3QKCXNldCBzZWN0aW9uIGFkZHJlc3Mgb24gYSByZWxvY2F0YWJsZSBsaW5rLgoKCSogbGQudGV4aW5mbyAoT3V0cHV0IFNlY3Rpb24gRGlzY2FyZGluZyk6IEZpeCB4cmVmLgoKMjAwNi0xMC0yMSAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBlbXVscGFyYW1zL3NoZWxmMzIuc2g6IFNldCBkZWZhdWx0IHN0YWNrIHRvIDB4ODAwMDAuCgkqIGVtdWxwYXJhbXMvc2hlbGY2NC5zaDogTGlrZXdpc2UuCgoyMDA2LTEwLTIwICBSaWNoYXJkIFNhbmRpZm9yZCAgPHJpY2hhcmRAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmMzJibWlwLnNoIChPVEhFUl9HT1RfUkVMT0NfU0VDVElPTlMpOiBEZWZpbmUuCgkqIGVtdWxwYXJhbXMvZWxmMzJibWlwbjMyLWRlZnMuc2ggKE9USEVSX0dPVF9SRUxPQ19TRUNUSU9OUyk6IExpa2V3aXNlLgoKMjAwNi0xMC0xOSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWx0ZW1wbC9hcm1lbGYuZW0gKGFybV9lbGZfYmVmb3JlX2FsbG9jYXRpb24pOiBSdW4KCWdsZCR7RU1VTEFUSU9OX05BTUV9X2JlZm9yZV9hbGxvY2F0aW9uIGxhdGVyLgoJKiBsZGxhbmcuYyAobGFuZ19zaXplX3NlY3Rpb25zXzEpOiBSZXZlcnQgMjAwNi0wOS0xNSBjaGFuZ2UuCgoyMDA2LTEwLTE4ICBSb3kgTWFycGxlcyAgPHViZXJsb3JkQGdlbnRvby5vcmc+CgoJKiBlbXVscGFyYW1zL2VsZjY0X3NwYXJjX2Zic2Quc2ggKE9VVFBVVF9GT1JNQVQpOiBEZWZpbmUgYXMKCWVsZjY0LXNwYXJjLWZyZWVic2QuCgoyMDA2LTEwLTE4ICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3QgKGlbMy03XTg2LSotbGludXgtKik6IEFsc28gZGVmaW5lCgl0YXJnX2V4dHJhX2xpYnBhdGggaW4gd2FudDY0IGNhc2UuCgkqIGVtdWxwYXJhbXMvZWxmX3g4Nl82NC5zaDogSGFuZGxlIGlbMy03XTg2LSotbGludXgtKiB0aGUgc2FtZSBhcwoJeDg2XzY0Ki1saW51eCouCgoyMDA2LTEwLTE3ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogc2NyaXB0dGVtcGwvZWxmLnNjIChJTlRFUlApOiBEZWxldGUuICBNb3ZlIGRlZmluaXRpb24gdG8uLgoJKElOSVRJQUxfUkVBRE9OTFlfU0VDVElPTlMpOiAuLmhlcmUuCgkqIGVtdWxwYXJhbXMvY3Jpc2VsZi5zaCAoSU5JVElBTF9SRUFET05MWV9TRUNUSU9OUyk6IEluY2x1ZGUgLmludGVycC4KCSogZW11bHBhcmFtcy9lbGYzMmJtaXAuc2ggKElOSVRJQUxfUkVBRE9OTFlfU0VDVElPTlMpOiBEaXR0by4KCSogZW11bHBhcmFtcy9lbGYzMmJtaXBuMzItZGVmcy5zaCAoSU5JVElBTF9SRUFET05MWV9TRUNUSU9OUyk6IERpdHRvLgoKMjAwNi0xMC0xNyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkbGFuZy5jIChzdHJpcF9leGNsdWRlZF9vdXRwdXRfc2VjdGlvbnMpOiBEbyBzdHJpcCBzZWN0aW9ucwoJdGhhdCBkZWZpbmUgc3ltcywgYnV0IGRvbid0IGlnbm9yZSB0aGVtLgoJKiBsZC50ZXhpbmZvIChPdXRwdXQgU2VjdGlvbiBEaXNjYXJkaW5nKTogUmV2aXNlLgoJKiBlbXVsdGVtcGwvYXJtY29mZi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fZmluaXNoKTogQWx3YXlzIGNhbGwKCWZpbmlzaF9kZWZhdWx0LgoKMjAwNi0xMC0xNiAgUmljaGFyZCBTYW5kaWZvcmQgIDxyaWNoYXJkQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBNYWtlZmlsZS5hbSAoZWVsZjY0Ym1pcC5jKTogRGVwZW5kIG9uIGVtdWxwYXJhbXMvZWxmNjRibWlwLWRlZnMuc2guCgkoZWVsZjY0YnRzbWlwLmMsIGVlbGY2NGx0c21pcC5jKTogTGlrZXdpc2UuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBlbXVscGFyYW1zL2VsZjMyYm1pcG4zMi1kZWZzLnNoIChJTklUSUFMX1JFQURPTkxZX1NFQ1RJT05TKTogSW5jbHVkZQoJLnJlZ2luZm8gcmF0aGVyIHRoYW4gLk1JUFMub3B0aW9ucy4KCSogZW11bHBhcmFtcy9lbGY2NGJtaXAtZGVmcy5zaDogTmV3IGZpbGUuCgkqIGVtdWxwYXJhbXMvZWxmNjRibWlwLnNoOiBJbmNsdWRlIGl0LgoJKENPTU1PTlBBR0VTSVpFKTogRGVsZXRlLgoJKiBlbXVscGFyYW1zL2VsZjY0YnRzbWlwLnNoOiBBcyBmb3IgZWxmNjRibWlwLnNoLgoKMjAwNi0xMC0xMiAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGVtdWx0ZW1wbC94dGVuc2FlbGYuZW0gKGlzX2luY29uc2lzdGVudF9saW5rb25jZV9zZWN0aW9uKTogQ2hlY2sKCWZvciBsaW5rb25jZSBYQ0MgZXhjZXB0aW9uIHRhYmxlcyAoIi5lIiBhbmQgIi5oIikuCgoyMDA2LTEwLTExICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogZW11bHBhcmFtcy9lbGYzMnh0ZW5zYS5zaCAoVEVYVF9QTFQpOiBFbmFibGUuCgkoT1RIRVJfUkVBRE9OTFlfU0VDVElPTlMpOiBBZGQgbGlua29uY2UgLnh0X2V4Y2VwdF90YWJsZSBzZWN0aW9ucy4KCShPVEhFUl9SRUFEV1JJVEVfU0VDVElPTlMpOiBBZGQgbGlua29uY2UgLnh0X2V4Y2VwdF9kZXNjIHNlY3Rpb25zLgoJKE9USEVSX1NEQVRBX1NFQ1RJT05TKTogTmV3LgoJKiBzY3JpcHR0ZW1wbC9lbGZ4dGVuc2Euc2M6IEltcG9ydCBjaGFuZ2VzIGZyb20gZWxmLnNjLgoKMjAwNi0xMC0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsZGxhbmcuYyAobGFuZ19hcHBlbmRfZHluYW1pY19saXN0KTogV2hlbiBhcHBlbmRpbmcsIGFkZCBhbGwgZWxlbWVudHMKCW9mIHRoZSBkeW5hbWljIGxpc3QgcmF0aGVyIHRoYW4ganVzdCB0aGUgZmlyc3QgZW50cnkuCgoyMDA2LTEwLTEwICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogZW11bHBhcmFtcy9lbGYzMnh0ZW5zYS5zaCAoR0VORVJBVEVfUElFX1NDUklQVCk6IEVuYWJsZS4KCjIwMDYtMTAtMDYgIE1pa2UgRnJ5c2luZ2VyICA8dmFwaWVyQGdlbnRvby5vcmc+CgoJKiBnZW5zY3JpcHRzLnNoOiBSZXNwZWN0IExJQlBBVEhfU1VGRklYIHdoZW4gbm90IHVzaW5nIHN5c3Jvb3QuCgoyMDA2LTEwLTA0ICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogZW11bHBhcmFtcy94dGVuc2EtY29uZmlnLnNoOiBEZWxldGUgZmlsZS4KCSogZW11bHBhcmFtcy9lbGYzMnh0ZW5zYS5zaDogU2V0IE1BWFBBR0VTSVpFIGhlcmUgaW5zdGVhZCBvZiBpbmNsdWRpbmcKCXh0ZW5zYS1jb25maWcuc2guCgkqIE1ha2VmaWxlLmFtIChlZWxmMzJ4dGVuc2EuYyk6IFJlbW92ZSBkZXBlbmRlbmN5IG9uIHh0ZW5zYS1jb25maWcuc2guCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNi0xMC0wMyAgUGVkcm8gQWx2ZXMgIDxwZWRyb19hbHZlc0Bwb3J0dWdhbG1haWwucHQ+CgoJKiBwZS1kbGwuYyA6IEZpeCB0eXBvLgoJKGF1dG9maWx0ZXJfc3ltYm9scHJlZml4bGlzdCkgOiBSZW1vdmUgX19pbXBfLgoJKGlzX2ltcG9ydCkgOiBOZXcuCgkoYXV0by1leHBvcnQpIDogUmVtb3ZlICByZS1pbXBvcnQgY2hlY2suIE1vdmVkIHRvIGNhbGxlcnMuCgkocHJvY2Vzc19kZWZfZmlsZSkgOiBDaGVjayBpcyBzeW1ib2wgaXMgYW4gaW1wb3J0LiBBbHdheXMKCXVuZGVyc2NvcmUgX19pbXBfLgoJT25seSBza2lwIHVuZGVyc2NvcmUgb24gdW5kZXJzY29yZWQgdGFyZ2V0cy4KCShtYWtlX29uZSkgOiBBbHdheXMgdW5kZXJzY29yZSBfX2ltcF8uCgkocGVfY3JlYXRlX3J1bnRpbWVfcmVsb2NhdG9yX3JlZmVyZW5jZSkgOiBPbmx5IHVuZGVyc2NvcmUKCV9wZWkzODZfcnVudGltZV9yZWxvY2F0b3Igb24gdW5kZXJzY29yZWQgdGFyZ2V0cy4KCShwZV9wcm9jZXNzX2ltcG9ydF9kZWZzKSA6IEFsd2F5cyB1bmRlcnNjb3JlIF9faW1wXy4KCSogcGUuZW0gKFUpIDogTmV3IG1hY3JvLgoJKHNldF9wZV9zdWJzeXN0ZW0pIDogUmVtb3ZlIHVuZGVyc2NvcmUgZnJvbSBfV2luTWFpbkNSVFN0YXJ0dXAKCW9uIHdpbmNlIHN1YnN5c3RlbSBjYXNlLgoJKHBlX2ZpbmRfZGF0YV9pbXBvcnRzKSA6IFVzZSBVIG9uICJfaGVhZF8iLgoJKGdsZF8ke0VNVUxBVElPTl9OQU1FfV91bnJlY29nbml6ZWRfZmlsZSkgOiBVc2UgVS4KCjIwMDYtMDktMjYgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglQUiBsZC8zMjIzCglQUiBsZC8zMjY3CgkqIGxkLnRleGluZm86IFVwZGF0ZWQgT3V0cHV0IFNlY3Rpb24gRGlzY2FyZGluZy4KCgkqIGxkbGFuZy5oIChsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlKTogQWRkCglzZWN0aW9uX3JlbGF0aXZlX3N5bWJvbC4KCSogbGRsYW5nLmMgKHN0cmlwX2V4Y2x1ZGVkX291dHB1dF9zZWN0aW9ucyk6IERvbid0IHN0cmlwIGEKCXNlY3Rpb24gd2l0aCBhIHN5bWJvbCByZWxhdGl2ZSB0byBpdC4KCShsYW5nX3NpemVfc2VjdGlvbnNfMSk6IE1hcmsgaWYgYW4gb3V0cHV0IHNlY3Rpb24gaGFzIGEgc3ltYm9sCglzeW1ib2wgcmVsYXRpdmUgdG8gaXQuCgoyMDA2LTA5LTI1ICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogbGQudGV4aW5mbyAoT3B0aW9ucyk6IFVwZGF0ZSBkZXNjcmlwdGlvbiBvZiBsb2NhbCBzeW1ib2xzIGZvciAtWC4KCjIwMDYtMDktMjMgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglQUiBsZC8zMjQ5CgkqIHNjcmlwdHRlbXBsL2VsZi5zYzogRG9uJ3QgY29tYmluZSAuZ251LmxpbmtvbmNlLmQuKnBlcnNvbmFsaXR5KgoJYW5kIC5nbnUubGlua29uY2Uud2kuKiBzZWN0aW9ucyB3aXRoIC5kYXRhIGFuZCAuZGVidWdfaW5mbyBmb3IKCXJlbG9jYXRhYmxlIGxpbmsuCgoyMDA2LTA5LTIwICBLYWkgVGlldHogIDxLYWkuVGlldHpAb25ldmlzaW9uLmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIG5ldyB0YXJnZXQgeDg2XzY0LXBjLW1pbmd3NjQuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLnRndDogQWRkIGRlZmluaXRpb24gb2YgdGFyZ2V0IGVtdWxhdGlvbiBpMzg2cGVwLgoJKiBNYWtlZmlsZS5hbTogQWRkIG5ldyB0YXJnZXQgZmlsZXMgZm9yIHRhcmdldC1hbGwuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBwZS1kbGwuYzogQWRqdXN0IHRvIGJlIGluaGVyaXRhYmxlIGJ5IHBlcF9kbGwuYyBhcyBpbmNsdWRlLgoJRml4IG1lbW9yeSBvdXQgb2YgYm91bmRzIGV4Y2VzcyBmb3IgaWRhdGEgcmVsb2NhdGlvbiBzZWN0aW9uIGRhdGEuCgkqIHBlcC1kbGwuYzogQWRkIHRhcmdldCBzcGVjaWZpYyBzaGFyZWQgb2JqZWN0IGhhbmRsaW5nLgoJKiBwZXAtZGxsLmg6IEFkZCB0YXJnZXQgc3BlY2lmaWMgZGVmaW5pdGlvbnMgZm9yIHNoYXJlZCBvYmplY3QgaGFuZGxpbmcuCgkqIGVtdWxwYXJhbXMvaTM4NnBlcC5zaDogQWRkIG5ldyBlbXVsYXRpb24gcGFyYW1zIGZvciB0YXJnZXQgeDg2XzY0IGNvZmYuCgkqIGVtdWx0ZW1wbC9wZXAuZW06IEFkZCBuZXcgZW11bGF0aW9uIGZpbGUgZm9yIHRhcmdldCB4ODZfNjQgY29mZi4KCSogcG8vUE9URklMRVMuaW46IFJlZ2VuZXJhdGUuCgkqIHNjcmlwdHRlbXBsL3BlcC5zYzogQWRkIGxpbmtlciBzY3JpcHQgdGVtcGxhdGUgZm9yIHRhcmdldCB4ODZfNjQgY29mZi4KCSogTkVXUzogTWVudGlvbiBuZXcgdGFyZ2V0LgoKMjAwNi0wOS0xOCAgVGhpZW1vIFNldWZlciAgPHRoc0BuZXR3b3Jrbm8uZGU+CgoJKiBjb25maWd1cmUudGd0OiBBZGQgbWlwcyplbC1zZGUtZWxmKiBhbmQgbWlwcyotc2RlLWVsZioKCWNvbmZpZ3VyYXRpb25zLgoKMjAwNi0wOS0xNyAgTWVpIExpZ2FuZyAgPGxpZ2FuZ0BzdW5ub3J0aC5jb20uY24+CgoJKiBlbXVscGFyYW1zL3Njb3JlZWxmLnNoOiBOZXcgZmlsZS4KCSogZW11bHRlbXBsL3Njb3JlZWxmLmVtOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW06IEFkZCBTY29yZSBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS50Z3Q6IEFkZCBTY29yZSB0YXJnZXQuCgkqIE5FV1M6IE1lbnRpb24gbmV3IHRhcmdldCBzdXBwb3J0LgoKMjAwNi0wOS0xNiAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCSAgICBQZWRybyBBbHZlcyAgPHBlZHJvX2FsdmVzQHBvcnR1Z2FsbWFpbC5wdD4KCgkqIGxkY3Rvci5jOiBNYWtlIHVzZSBvZiBuZXcgU1RSSU5HX0NPTU1BX0xFTiBhbmQgQ09OU1RfU1RSTkVRCgltYWNyb3MgZGVmaW5lZCBpbiBiZmQuaC4KCSogbGRtYWluLmM6IExpa2V3aXNlLgoJKiBsZHdyaXRlLmM6IExpa2V3aXNlLgoJKiBsZXhzdXAuYzogTGlrZXdpc2UuCgkqIHBlLWRsbC5jOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2FpeC5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9iZW9zLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2VsZjMyLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL3BlLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL3N1bm9zLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL3h0ZW5zYWVsZi5lbTogTGlrZXdpc2UuCgoyMDA2LTA5LTE1ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCVBSIGxkLzMxMDcKCSogbGRsYW5nLmMgKGxhbmdfc2l6ZV9zZWN0aW9uc18xKTogRG8gbm90IGFib3J0IHdoZW4gZW5jb3VudGVyaW5nCglhIG5vbi1lbXB0eSBzZWN0aW9uIHRoYXQgaXMgaWdub3JlZC4gIEluc3RlYWQgcHJvZHVjZSBhIHdhcm5pbmcKCW1lc3NhZ2UuCgoyMDA2LTA5LTA4ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBsZC50ZXhpbmZvOiBEb2N1bWVudCAtLWR5bmFtaWMtbGlzdC1jcHAtdHlwZWluZm8uCgoyMDA2LTA5LTA3ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBNYWtlZmlsZS5hbSAoQ1hYKTogU2V0IHRvIGcrKy4KCShDWFhfRk9SX1RBUkdFVCk6IExpa2V3aXNlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoJKiBORVdTOiBNZW50aW9uIC0tZHluYW1pYy1saXN0LgoKCSogbGQudGV4aW5mbzogRG9jdW1lbnQgLS1keW5hbWljLWxpc3QuCgoJKiBsZGdyYW0ueTogU3VwcG9ydCBkeW5hbWljIGxpc3QuCgoJKiBsZGxhbmcuYyAobGFuZ19wcm9jZXNzKTogQ2FsbCBsYW5nX2ZpbmFsaXplX3ZlcnNpb25fZXhwcl9oZWFkCglvbiBsaW5rX2luZm8uZHluYW1pYyBpZiBuZWVkZWQuCgkobGFuZ19hcHBlbmRfZHluYW1pY19saXN0KTogTmV3LgoJKGxhbmdfYXBwZW5kX2R5bmFtaWNfbGlzdF9jcHBfdHlwZWluZm8pOiBOZXcuCgkqIGxkbGFuZy5oIChsYW5nX2FwcGVuZF9keW5hbWljX2xpc3QpOiBMaWtld2lzZS4KCSogbGRsYW5nLmggKGxhbmdfYXBwZW5kX2R5bmFtaWNfbGlzdF9jcHBfdHlwZWluZm8pOiBMaWtld2lzZS4KCgkqIGxkbGV4LmggKGlucHV0X2VudW0pOiBBZGQgaW5wdXRfZHluYW1pY19saXN0LgoJKiBsZGxleC5sOiBIYW5kbGUgaXQuCgoJKiBsZG1haW4uYyAobWFpbik6IEluaXRpYWxpemUgbGlua19pbmZvLmR5bmFtaWMuCgoJKiBsZXhzdXAuYyAob3B0aW9uX3ZhbHVlcyk6IEFkZCBPUFRJT05fRFlOQU1JQ19MSVNUIGFuZAoJT1BUSU9OX0RZTkFNSUNfTElTVF9DUFBfVFlQRUlORk8uCgkobGRfb3B0aW9ucyk6IEFkZCBlbnRyaWVzIGZvciBPUFRJT05fRFlOQU1JQ19MSVNUIGFuZAoJT1BUSU9OX0RZTkFNSUNfTElTVF9DUFBfVFlQRUlORk8uCgkocGFyc2VfYXJncyk6IEhhbmRsZSBPUFRJT05fRFlOQU1JQ19MSVNUIGFuZAoJT1BUSU9OX0RZTkFNSUNfTElTVF9DUFBfVFlQRUlORk8uCgoyMDA2LTA5LTA3ICBKb2VsIFNoZXJyaWxsIDxqb2VsLnNoZXJyaWxsQG9hcmNvcnAuY29tPgoKCSogZW11bHBhcmFtcy9oODMwMGVsZi5zaDogX3RpbnlkYXRhIHNob3VsZCBub3QgYmUgcGxhY2VkIGluCglyZWxvY2F0YWJsZXMuCgkqIGVtdWxwYXJhbXMvaDgzMDAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2g4MzAwc3hlbGYuc2g6IExpa2V3aXNlLgoKMjAwNi0wOS0wNSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCVBSIGxkLzMwMTUKCSogZW11bHRlbXBsL2VsZjMyLmVtOiBFbmFibGUgIi16IHJlbHJvIiBvbmx5IGlmICRDT01NT05QQUdFU0laRQoJaXMgZGVmaW5lZC4KCjIwMDYtMDgtMjkgIE5hdGhhbiBTaWR3ZWxsICA8bmF0aGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBsZGxhbmcuYyAod2Fsa193aWxkKTogQWxsb3cgKiB0byBnbG9iICcvJyBpbiB3aWxkY2FyZGVkIG1hdGNoLgoKMjAwNi0wOC0yOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIHNjcmlwdHRlbXBsL2VsZi5zYzogRW5zdXJlIHRoYXQgY3J0YmVnaW4gYW5kIGNydGVuZCBlbnRyaWVzIHdpbGwKCW5vdCBtYXRjaCByYW5kb20gb2JqZWN0IGZpbGVzIGluIGEgcGF0aCBjb250YWluaW5nICJjcnRiZWdpbiIgb3IKCSJjcnRlbmQiIGFzIHBhcnQgb2YgYSBkaXJlY3RvcnkgbmFtZS4KCSogc2NyaXB0dGVtcGwvYXJtYnBhYmkuc2M6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC9jcmlzYW91dC5zYzogTGlrZXdpc2UuCgkqIHNjcmlwdHRlbXBsL2VsZjMyY3J4LnNjOiBMaWtld2lzZS4KCSogc2NyaXB0dGVtcGwvZWxmMzJzaC1zeW1iaWFuLnNjOiBMaWtld2lzZS4KCSogc2NyaXB0dGVtcGwvZWxmX2NoYW9zLnNjOiBMaWtld2lzZS4KCSogc2NyaXB0dGVtcGwvZWxmZDEwdi5zYzogTGlrZXdpc2UuCgkqIHNjcmlwdHRlbXBsL2VsZmQzMHYuc2M6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC9lbGZ4dGVuc2Euc2M6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC9pcTIwMDAuc2M6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC9tbW8uc2M6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC94c3Rvcm15MTYuc2M6IExpa2V3aXNlLgoKMjAwNi0wOC0yNCAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGVtdWxwYXJhbXMvZWxmMzJ4dGVuc2Euc2ggKC54dC5wcm9wKTogQWRkIC54dC5wcm9wLiouCgkqIHNjcmlwdHRlbXBsL2VsZnh0ZW5zYS5zYyAoLnRleHQpOiBBZGQgLmxpdGVyYWwuKi4KCjIwMDYtMDgtMjQgIFBlZHJvIEFsdmVzICA8cGVkcm9fYWx2ZXNAcG9ydHVnYWxtYWlsLnB0PgoKCSogbGRsYW5nLmMgKGxhbmdfc2l6ZV9zZWN0aW9uc18xLCBsYW5nX2Fzc2lnbm1lbnRfc3RhdGVtZW50X2VudW0pOgoJQWRqdXN0IHRoZSBjdXJyZW50IGFkZHJlc3Mgb2YgREVGQVVMVF9NRU1PUllfUkVHSU9OIGV2ZW4KCXdoZW4gZG90IGhhc24ndCBjaGFuZ2VkLgoKMjAwNi0wOC0yMyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkZXhwLmMgKGZvbGRfbmFtZSA8TE9BREFERFI+KTogUmV0dXJuIGFuIGFic29sdXRlIHZhbHVlCglyYXRoZXIgdGhhbiBhIHNlY3Rpb24gcmVsYXRpdmUgdmFsdWUuCgoyMDA2LTA4LTIyICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogTkVXUzogTWVudGlvbiBMTUEgZGVmYXVsdCBjaGFuZ2UuCgkqIGxkLnRleGluZm8gKE91dHB1dCBTZWN0aW9uIExNQSk6IFVwZGF0ZSBkZWZhdWx0IGRlc2NyaXB0aW9uLgoJKExvY2F0aW9uIENvdW50ZXIpOiBDbGFyaWZ5IGJhY2t3YXJkIG1vdmVtZW50LgoJKiBsZGxhbmcuYyAobGFuZ19zaXplX3NlY3Rpb25zXzEpOiBMZWF2ZSBub24tYWxsb2Mgc2VjdGlvbnMgd2l0aAoJZGVmYXVsdCBsbWEgZXF1YWwgdG8gdm1hLiAgV2FybiBvbiBiYWNrd2FyZCBtb3ZlbWVudCBvZiBkb3QuCgoyMDA2LTA4LTIyICBQZWRybyBBbHZlcyAgPHBlZHJvX2FsdmVzQHBvcnR1Z2FsbWFpbC5wdD4KCgkqIGNvbmZpZ3VyZS50Z3Q6IFNldCB0YXJnX2VtdWwgdG8gYXJtX3dpbmNlX3BlIGZvciBBUk0KCVdpbmRvd3MgQ0UgdGFyZ2V0cy4KCjIwMDYtMDgtMjIgIFBlZHJvIEFsdmVzICA8cGVkcm9fYWx2ZXNAcG9ydHVnYWxtYWlsLnB0PgoKCSogTWFrZWZpbGUuYW06IFNwbGl0IGFybS13aW5jZSBpbnRvIGl0cyBvd24gZW11bGF0aW9uLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogcGUtZGxsLmMgOiBEZWZpbmUgUEVfQVJDSF9hcm1fd2luY2UuCgkocGVfZGV0YWlsX2xpc3QpOiBBZGQgUEVfQVJDSF9hcm1fd2luY2UgY2FzZS4KCShtYWtlX29uZSk6IEhhbmRsZSBQRV9BUkNIX2FybV9lcG9jIGFuZCBQRV9BUkNIX2FybV93aW5jZSBjYXNlcy4KCSogZW11bHBhcmFtcy9hcm1fd2luY2VfcGUuc2g6IE5ldyBmaWxlLgoJKiBlbXVsdGVtcGwvcGUuZW06IEhhbmRsZSBuZXcgVEFSR0VUX0lTX2FybV93aW5jZV9wZSBkZWZpbmUuCglSZW1hcCBiZmRfYXJtX2FsbG9jYXRlX2ludGVyd29ya2luZ19zZWN0aW9ucywKCWJmZF9hcm1fZ2V0X2JmZF9mb3JfaW50ZXJ3b3JraW5nIGFuZAoJYmZkX2FybV9wcm9jZXNzX2JlZm9yZV9hbGxvY2F0aW9uIGZvciBhcm0tcGUgYW5kIGFybS13aW5jZS1wZQoJdGFyZ2V0cyB0b28uCgkoZ2xkXyR7RU1VTEFUSU9OX05BTUV9X3JlY29nbml6ZWRfZmlsZSk6IEhhbmRsZSBhcm0td2luY2UgYW5kCglhcm0tZXBvYyBiZmQgZm9ybWF0IG5hbWVzLgoKMjAwNi0wOC0xOCAgUGF1bCBCcm9vayAgPHBhdWxAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGVtdWx0ZW1wbC9hcm1lbGYuZW0gKGFybV9lbGZfYmVmb3JlX2FsbG9jYXRpb24pOiBDYWxsCglnbGQke0VNVUxBVElPTl9OQU1FfV9iZWZvcmVfYWxsb2NhdGlvbiBhZnRlciBzZXR0aW5nIGludGVyd29ya2luZyBiZmQuCgoyMDA2LTA4LTE3ICBQZWRybyBBbHZlcyAgPHBlZHJvX2FsdmVzQHBvcnR1Z2FsbWFpbC5wdD4KCgkqIHBlLWRsbC5jIChhdXRvZmlsdGVyX3N5bWJvbHByZWZpeGxpc3QpOiBSZW1vdmUgLmlkYXRhJC4KCShnZW5lcmF0ZV9yZWxvYyk6IFJldmVydCB0byBza2lwcGluZyBzZWN0aW9ucyB3aXRob3V0IGEgU0VDX0xPQUQgZmxhZywKCWFuZCB0byBub3Qgc2tpcHBpbmcgLmlkYXRhKiBzZWN0aW9ucy4KCjIwMDYtMDgtMTYgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJUFIgMzA1MgoJKiBsZGxhbmcuaCAobGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSk6IFJlcGxhY2UKCSJwcm9jZXNzZWQiIGZpZWxkIHdpdGggInByb2Nlc3NlZF92bWEiIGFuZCAicHJvY2Vzc2VkX2xtYSIuCgkqIGxkbGFuZy5jIChsYW5nX2RvX2Fzc2lnbm1lbnRzXzEpOiBNb3ZlIGxtYSBzZXR0aW5nIGNvZGUuLgoJKGxhbmdfc2l6ZV9zZWN0aW9uc18xKTogLi50byBoZXJlLgoJKGxhbmdfcmVzZXRfbWVtb3J5X3JlZ2lvbnMpOiBBZGp1c3QgZm9yCglsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlIGNoYW5nZS4KCSogbGRleHAuYyAoZm9sZF9uYW1lKTogTGlrZXdpc2UuCgoyMDA2LTA4LTA4ICBQZXRlciBTLiBNYXppbmdlciAgPHBzLm1AZ214Lm5ldD4KCgkqIGVtdWxwYXJhbXMvYXJtZWxmLnNoIChNQVhQQUdFU0laRSk6IENoYW5nZWQgdG8KCSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIi4KCjIwMDYtMDgtMDggIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglQUiBsZC8zMDA2CgkqIGxkbGFuZy5jIChsYW5nX3NlY3Rpb25fYnN0X3R5cGUpOiBNb3ZlZCB0byAuLi4KCSogbGRsYW5nLmg6IEhlcmUuCgoJKiBsZGxhbmcuaCAobGFuZ193aWxkX3N0YXRlbWVudF9zdHJ1Y3QpOiBBZGQgYSB0cmVlIGZpZWxkLgoKCSogbGRsYW5nLmMgKHdpbGRfc29ydF9mYXN0KTogVXNlIHRoZSB0cmVlIGZpZWxkIGZvciBCU1QuCgkod2lsZCk6IExpa2Vpc2UuCgkoYW5hbHl6ZV93YWxrX3dpbGRfc2VjdGlvbl9oYW5kbGVyKTogSW5pdGlhbGl6ZSB0aGUgdHJlZSBmaWVsZC4KCjIwMDYtMDgtMDggIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglQUiBsZC8zMDA5CgkqIGxkbGFuZy5jICh1cGRhdGVfd2lsZF9zdGF0ZW1lbnRzKTogVXBkYXRlIHRoZSB3aG9sZSB3aWxkCglzZWN0aW9uIGxpc3QuCgoyMDA2LTA4LTA0ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoJICAgIE1pa2UgRnJ5c2luZ2VyICA8bWljaGFlbC5mcnlzaW5nZXJAYW5hbG9nLmNvbT4KCgkqIHNjcmlwdHRlbXBsL2VsZi5zYyAoVVNFUl9MQUJFTF9QUkVGSVgpOiBEZWZpbmUuCgkoX19wcmVpbml0X2FycmF5X3N0YXJ0LCBfX3ByZWluaXRfYXJyYXlfZW5kLCBfX2luaXRfYXJyYXlfc3RhcnQsCglfX2luaXRfYXJyYXlfZW5kLCBfX2ZpbmlfYXJyYXlfc3RhcnQsIF9fZmluaV9hcnJheV9lbmQsIGVkYXRhLCBlbmQpOgoJVXNlICR7VVNFUl9MQUJFTF9QUkVGSVh9LgoJKiBlbXVscGFyYW1zL2JmaW4uc2ggKERBVEFfRU5EX1NZTUJPTFMsRU5EX1NZTUJPTFMpOiBVbnNldC4KCShVU0VSX0xBQkVMX1BSRUZJWCk6IFNldC4KCjIwMDYtMDgtMDQgIE1hcmNlbG8gVG9zYXR0aSAgPG1hcmNlbG9Aa3ZhY2sub3JnPgoKCSogbGRtYWluLmMgKG1haW4pOiBJbml0aWFsaXNlIHByaW50X2djX3NlY3Rpb25zIGZpZWxkIG9mIGxpbmtfaW5mbwoJc3RydWN0dXJlLgoJKiBsZXhzdXAuYzogQWRkIC0tcHJpbnQtZ2Mtc2VjdGlvbnMgYW5kIC0tbm8tcHJpbnQtZ2Mtc2VjdGlvbnMKCXN3aXRjaGVzLgoJKiBsZC50ZXhpbmZvOiBEb2N1bWVudCBuZXcgc3dpdGNoZXMuCgkqIE5FV1M6IE1lbnRpb24gbmV3IHN3aXRjaGVzLgoKMjAwNi0wOC0wNCAgUmljaGFyZCBTYW5kaWZvcmQgIDxyaWNoYXJkQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgS2F6dSBIaXJhdGEgIDxrYXp1QGNvZGVzb3VyY2VyeS5jb20+CgkgICAgUGhpbCBFZHdhcmRzICA8cGhpbEBjb2Rlc291cmNlcnkuY29tPgoKCSogTWFrZWZpbGUuYW0gKEFMTF9FTVVMQVRJT05TKTogQWRkIGVzaGVsZl92eHdvcmtzLm8gYW5kCgllc2hsZWxmX3Z4d29ya3Muby4KCShlc2hlbGZfdnh3b3Jrcy5jLCBlc2hsZWxmX3Z4d29ya3MuYyk6IE5ldyBydWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS50Z3QgKHNoLSotdnh3b3Jrcyk6IFVzZSBzaGVsZl92eHdvcmtzIGFuZAoJc2hsZWxmX3Z4d29ya3MuCgkqIGVtdWxwYXJhbXMvc2hlbGZfdnh3b3Jrcy5zaDogTmV3IGZpbGUuCgkqIGVtdWxwYXJhbXMvc2hsZWxmX3Z4d29ya3Muc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL3Z4d29ya3Muc2ggKEZJTkkpOiBQcmVmaXggX2V0ZXh0IHdpdGggJHtTWU1QUkVGSVh9LgoJKE9USEVSX0VORF9TWU1CT0xTKTogTGlrZXdpc2UgX2VoZHIuCgkoREFUQV9FTkRfU1lNQk9MUyk6IExpa2V3aXNlIF9lZGF0YS4KCSogZW11bHRlbXBsL3Z4d29ya3MuZW0gKHZ4d29ya3NfYWZ0ZXJfb3Blbik6IENoZWNrIHdoZXRoZXIgb3V0cHV0X2JmZAoJaXMgaW5kZWVkIGFuIEVMRiBmaWxlIGJlZm9yZSBkZWFsaW5nIHdpdGggLS1mb3JjZS1keW5hbWljLgoKMjAwNi0wOC0wMiAgUGV0ciBTYWxpbmdlciAgPFBldHIuU2FsaW5nZXJAc2V6bmFtLmN6PgoKCVBSIGJpbnV0aWxzLzI5ODMKCSogZW11bHBhcmFtcy9lbGZfeDg2XzY0X2Zic2Quc2ggKE9VVFBVVF9GT1JNQVQpOiBEZWZpbmUgYXMKCWVsZjY0LXg4Ni02NC1mcmVlYnNkLgoKMjAwNi0wOC0wMSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogbGRsYW5nLmMgKGluaXRfb3MpOiBBZGQgZmxhZ3MuIFJlcGxhY2UgYmZkX21ha2Vfc2VjdGlvbiB3aXRoCgliZmRfbWFrZV9zZWN0aW9uX3dpdGhfZmxhZ3MuCgkoZXhwX2luaXRfb3MpOiBVcGRhdGVkLgoJKGxhbmdfYWRkX3NlY3Rpb24pOiBDYWxsIGluaXRfb3Mgd2l0aCBmbGFncy4KCShtYXBfaW5wdXRfdG9fb3V0cHV0X3NlY3Rpb25zKTogTGlrZXdpc2UuCgoyMDA2LTA3LTI5ICBSaWNoYXJkIFNhbmRpZm9yZCAgPHJpY2hhcmRAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChlZWxmMzJiNDMwMC5jKTogVXBkYXRlIGRlcGVuZGVuY2llcy4KCShlZWxmMzJibWlwLmMpOiBMaWtld2lzZS4KCShlZWxmMzJic21pcC5jKTogTGlrZXdpc2UuCgkoZWVsZjMyYnRzbWlwLmMpOiBMaWtld2lzZS4KCShlZWxmMzJidHNtaXBuMzIuYyk6IExpa2V3aXNlLgoJKGVlbGYzMmx0c21pcC5jKTogTGlrZXdpc2UuCgkoZWVsZjMybHRzbWlwbjMyLmMpOiBMaWtld2lzZS4KCShlZWxmMzJlYm1pcC5jKTogTGlrZXdpc2UuCgkoZWVsZjMyZWJtaXB2eHdvcmtzLmMpOiBMaWtld2lzZS4KCShlZWxmMzJlbG1pcC5jKTogTGlrZXdpc2UuCgkoZWVsZjMyZWxtaXB2eHdvcmtzLmMpOiBMaWtld2lzZS4KCShlZWxmMzJibWlwbjMyLmMpOiBMaWtld2lzZS4KCShlZWxmMzJsbWlwLmMpOiBMaWtld2lzZS4KCShlZWxmMzJtaXBzd2luZGlzcy5jKTogTGlrZXdpc2UuCgkoZWVsZjMybHNtaXAuYyk6IExpa2V3aXNlLgoJKGVlbGY2NGJtaXAuYyk6IExpa2V3aXNlLgoJKGVlbGY2NGJ0c21pcC5jKTogTGlrZXdpc2UuCgkoZWVsZjY0bHRzbWlwLmMpOiBMaWtld2lzZS4KCShlbWlwc2JpZy5jKTogTGlrZXdpc2UuICBDYW5vbmljYWxpemUgJHtHRU5TQ1JJUFRTfSBsaW5lLgoJKGVtaXBzYnNkLmMpOiBMaWtld2lzZS4KCShlbWlwc2lkdC5jKTogVXBkYXRlIGRlcGVuZGVuY2llcy4KCShlbWlwc2lkdGwuYyk6IExpa2V3aXNlLgoJKGVtaXBzbGl0LmMpOiBMaWtld2lzZS4KCShlbWlwc2xuZXdzLmMpOiBMaWtld2lzZS4KCShlbWlwc3BlLmMpOiBMaWtld2lzZS4gIEZpeCAke0dFTlNDUklQVFN9IGludm9jYXRpb24uCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBlbXVscGFyYW1zL2VsZjMyYm1pcC5zaCAoRVhUUkFfRU1fRklMRSk6IERlZmluZS4KCSogZW11bHBhcmFtcy9lbGYzMmJtaXBuMzItZGVmcy5zaCAoRVhUUkFfRU1fRklMRSk6IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvaXJpeC5lbTogSW5jbHVkZSBlbXVsdGVtcGwvbWlwc2VsZi5lbS4KCSogZW11bHRlbXBsL21pcHNlbGYuZW06IE5ldyBmaWxlLgoKMjAwNi0wNy0yNiAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWx0ZW1wbC9lbGYtZ2VuZXJpYy5lbSAobWFwX3NlZ21lbnRzKTogUmVvcmdhbmlzZSBsb29wIHNvIHRoYXQKCWxheW91dCBoYXBwZW5zIGJlZm9yZSBzZWdtZW50IG1hcC4gIERvbid0IGRvIHNlZ21lbnQgbWFwIG9uCglyZWxvY2F0YWJsZSBsaW5rLgoKMjAwNi0wNy0yNiAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkZXhwLmMgKGZvbGRfbmFtZSA8TE9BREFERFI+KTogVXNlIHRoZSBsbWEuCgkqIGxkbGFuZy5oIChsYW5nX21lbW9yeV9yZWdpb25fdHlwZSk6IERlbGV0ZSBvbGRfbGVuZ3RoLiAgQWRkCglsYXN0X29zLgoJKiBsZGxhbmcuYyAobGFuZ19tZW1vcnlfcmVnaW9uX2xvb2t1cCk6IEluaXQgbmV3IGZpZWxkLgoJKGxhbmdfcmVzZXRfbWVtb3J5X3JlZ2lvbnMpOiBSZXNldCBuZXcgZmllbGQuCgkobGFuZ19pbnNlcnRfb3JwaGFuKTogRG9uJ3Qgc2V0IGxvYWRfYmFzZS4KCShsYW5nX2xlYXZlX292ZXJsYXkpOiBMaWtld2lzZS4KCShsYW5nX3NpemVfc2VjdGlvbnNfMSk6IERlbGV0ZSB1bm5lY2Vzc2FyeSBjb2RlIHNldHRpbmcgbG1hX3JlZ2lvbgoJdG8gcmVnaW9uLiAgQ29ycmVjdCBsbWEgcmVnaW9uIGNoZWNrLgoJKGxhbmdfZG9fYXNzaWdubWVudHNfMSk6IFJlbmFtZSBvdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQgcGFybQoJdG8gY3VycmVudF9vcy4gIFNldCBsbWEgZnJvbSBwcmV2aW91cyBzZWN0aW9uIGluIHJlZ2lvbi4KCgkqIGxkbGFuZy5jOiBGb3JtYXR0aW5nLgoKMjAwNi0wNy0yNSAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGVtdWx0ZW1wbC94dGVuc2FlbGYuZW0gKHh0ZW5zYV9zdHJpcF9pbmNvbnNpc3RlbnRfbGlua29uY2Vfc2VjdGlvbnMpOgoJU2V0IGRpc2NhcmRlZCBzZWN0aW9uJ3Mgb3V0cHV0X3NlY3Rpb24gdG8gYmZkX2Fic19zZWN0aW9uX3B0ci4KCjIwMDYtMDctMjYgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGxhbmcuYyAoYW5hbHl6ZV93YWxrX3dpbGRfc2VjdGlvbl9oYW5kbGVyKTogSW5pdCBoYW5kbGVyX2RhdGEKCWVhcmxpZXIuCgoyMDA2LTA3LTI0ICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogZW11bHRlbXBsL3h0ZW5zYWVsZi5lbSAoaXNfaW5jb25zaXN0ZW50X2xpbmtvbmNlX3NlY3Rpb24pOiBBZGQgc3BhY2UKCWluIGRlcF9zZWNfbmFtZSBmb3IgbnVsbCB0ZXJtaW5hdG9yLiAgTWFrZSBzdXJlIGRlcF9zZWNfbmFtZSBoYXMgYQoJIi50IiBsaW5rb25jZSB0YWcuCgoyMDA2LTA3LTE0ICBNaWNoYWVsIFdldGhlcmVsbCAgPG1pa2Uud2V0aGVyZWxsQG50bHdvcmxkLmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmX3g4Nl82NC5zaCAoTElCUEFUSF9TVUZGSVgsIEVMRl9JTlRFUlBSRVRFUl9OQU1FKToKCVNldCBmb3IgKi0qLXNvbGFyaXMyKi4KCjIwMDYtMDctMjQgIFJhbGsgV2lsZGVuaHVlcyAgPFJhbGYuV2lsZGVuaHVlc0BnbXguZGU+CgoJKiBsZC50ZXhpbmZvOiBGaXggc3BlbGxpbmcgbWlzdGFrZXMuCgkqIGxkaW50LnRleGluZm86IExpa2V3aXNlLgoKMjAwNi0wNy0yMyAgU29uYWwgU2FudGFuICA8c29uYWwuc2FudGFuQHhpbGlueC5jb20+CgoJKiBsZGxhbmcuYyAobGFuZ19zZWN0aW9uX2JzdCk6IE5ldyBzdHJ1Y3R1cmUgZm9yIHNvcnRpbmcgc2VjdGlvbnMKCWJ5IG5hbWUuCgkod2lsZF9zb3J0X2Zhc3QpOiBOZXcgZnVuY3Rpb246IEluc2VydCBhIHNlY3Rpb24gaW50byBhIGJpbmFyeQoJc2VhcmNoIHRyZWUuCgkob3V0cHV0X3NlY3Rpb25fY2FsbGJhY2tfZmFzdCk6IE5ldyBmdW5jdGlvbjogU3RvcmUgYSBzZWN0aW9uIGluCglCU1QuCgkob3V0cHV0X3NlY3Rpb25fY2FsbGJhY2tfdHJlZV90b19saXN0KTogTmV3IGZ1bmN0aW9uOiBDb252ZXJ0IGEKCUJTVCBpbnRvIGEgbGlzdC4KCShhbmFseXplX3dhbGtfd2lsZF9zZWN0aW9uX2hhbmRsZXIpOiBJbml0aWFsaXplIGhhbmRsZXJfZGF0YQoJZWxlbWVudHMuCgkod2lsZCk6IElmIHRoZSBkYXRhIGlzIHNvcnRlZCBieSBuYW1lIHVzZSB0aGUgQlNUIG1ldGhvZCB0byBzb3J0Cgl0aGUgbmFtZXMuCgoyMDA2LTA3LTE5ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGQuaCAoaGFuZGxlX2FzbmVlZGVkX2NyZWYpOiBEZWNsYXJlLgoJKiBsZGNyZWYuYzogSW5jbHVkZSBvYmphbGxvYy5oLgoJKG9sZF90YWJsZSwgb2xkX2NvdW50LCBvbGRfdGFiLCBhbGxvY19tYXJrKTogTmV3IHZhcmlhYmxlcy4KCSh0YWJzaXplLCBlbnRzaXplLCByZWZzaXplLCBvbGRfc3ltY291bnQpOiBMaWtld2lzZS4KCShhZGRfY3JlZik6IFVzZSBiZmRfaGFzaF9hbGxvY2F0ZSBmb3IgcmVmcy4KCShoYW5kbGVfYXNuZWVkZWRfY3JlZik6IE5ldyBmdW5jdGlvbi4KCSogbGRtYWluLmMgKG5vdGljZSk6IENhbGwgaGFuZGxlX2FzbmVlZGVkX2NyZWYgZm9yIE5VTEwgbmFtZS4KCjIwMDYtMDctMTQgIE1pY2hhZWwgV2V0aGVyZWxsICA8bWlrZS53ZXRoZXJlbGxAbnRsd29ybGQuY29tPgoKCSogY29uZmlndXJlLnRndCAoaVszLTddODYtKi1zb2xhcmlzMiosIGlbMy03XTg2LSotc29sYXJpcyopOiBDb3JyZWN0Cgl0eXBvIHNldHRpbmcgdGFyZ19leHRyYV9saWJwYXRoLgoKMjAwNi0wNy0xMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzY3JpcHR0ZW1wbC9lbGYuc2M6IEFkZCAuZ251Lmhhc2ggc2VjdGlvbi4KCSogZW11bHRlbXBsL2VsZjMyLmVtIChPUFRJT05fSEFTSF9TVFlMRSk6IERlZmluZS4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9hZGRfb3B0aW9ucyk6IFJlZ2lzdGVyIC0taGFzaC1zdHlsZSBvcHRpb24uCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1faGFuZGxlX29wdGlvbik6IEhhbmRsZSBpdC4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9saXN0X29wdGlvbnMpOiBEb2N1bWVudCBpdC4KCSogbGRtYWluLmMgKG1haW4pOiBJbml0aWFsaXplIGVtaXRfaGFzaCBhbmQgZW1pdF9nbnVfaGFzaC4KCSogbGQudGV4aW5mbzogRG9jdW1lbnQgLS1oYXNoLXN0eWxlIG9wdGlvbi4KCjIwMDYtMDctMTAgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBwby96aF9UVy5wbzogTmV3IENoaW5lc2UgKHRyYWRpdGlvbmFsKSB0cmFuc2xhdGlvbi4KCSogY29uZmlndXJlLmluIChBTExfTElOR1VBUyk6IEFkZCB6aF9UVy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwNi0wNy0wNyAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCglQUiBsZC8yODc0CgkqIGxkLnRleGluZm86IFJlbW92ZSAiVXNpbmcgTEQiIGZyb20gdGhlIHRpdGxlIHNpbmNlIGl0IGlzCglyZWR1bmRhbnQuCgoyMDA2LTA3LTA2ICBNb2hhbW1lZCBBZG7DqG5lIFRyb2pldHRlICA8YWRuQGRpd2kub3JnPgoKCVBSIGxkLzI4NzcKCSogbGQudGV4aW5mbzogRml4IHNwZWxsaW5nIG1pc3Rha2VzLgoKMjAwNi0wNi0yNyAgUGVkcm8gQWx2ZXMgIDxwZWRyb19hbHZlc0Bwb3J0dWdhbG1haWwucHQ+CgkgICAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGVtdWx0ZW1wbC9wZS5lbSAoZ2xkXyRfb3Blbl9keW5hbWljX2FyY2hpdmUpOiBDb21wdXRlIG1heGltdW0KCWxlbmd0aCBvZiBmb3JtYXQgc3RyaW5ncyBpbiB0aGUgbGlibmFtZV9mbXRbXSBhcnJheSwgcmF0aGVyIHRoYW4KCXJlbHlpbmcgdXBvbiBhIHN0YXRpY2FsbHkgY2hvc2VuIHZhbHVlLiAgQWRqdXN0IHhtYWxsb2MgY2FsbCB0bwoJdXNlIHRoaXMgbG9uZ2VzdCBsZW5ndGguCgoyMDA2LTA2LTI3ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogbGQudGV4aW5mbyAoLXJwYXRoLWxpbmspOiBDbGFyaWZ5IGRpc3RpbmN0aW9uIGJldHdlZW4gLXJwYXRoIGFuZAoJLXJwYXRoLWxpbmsuCgoyMDA2LTA2LTIzICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlndXJlLnRndCAoaVszLTddODYtKi1zb2xhcmlzMiosIGlbMy03XTg2LSotc29sYXJpcyopOiBTZXQKCXRhcmdfZXh0cmFfbGlicGF0aC4KCjIwMDYtMDYtMjMgIFBlZHJvIEFsdmVzIDxwZWRyb19hbHZlc0Bwb3J0dWdhbG1haWwucHQ+CgoJKiBwZS1kbGwuYyAocGVfZGV0YWlsc190eXBlKTogQWRkIG5ldyBwb2ludGVyIGZvciBzeW1ib2xzIGxpc3QKCWF1dG9maWx0ZXIuCgkoYXV0b2ZpbHRlcl9zeW1ib2xsaXN0KTogU3BsaXQgaW50byBhdXRvZmlsdGVyX3N5bWJvbGxpc3RfZ2VuZXJpYwoJYW5kIGF1dG9maWx0ZXJfc3ltYm9sbGlzdF9pMzg2LgoJKHBlX2RldGFpbF9saXN0KTogQWRkIGF1dG9maWx0ZXJfc3ltYm9sbGlzdF9pMzg2IHRvIGkzODYgY2FzZSBhbmQKCWF1dG9maWx0ZXJfc3ltYm9sbGlzdF9nZW5lcmljIGZvciBhbGwgdGhlIG90aGVycy4KCShhdXRvZmlsdGVyX3N5bWJvbHByZWZpeGxpc3QpOiBNb3ZlZCBfZm1vZGUsIF9pbXB1cmVfcHRyLCBjeWd3aW5fYXR0YWNoX2RsbCwKCWN5Z3dpbl9wcmVtYWluMCwgY3lnd2luX3ByZW1haW4xLCBjeWd3aW5fcHJlbWFpbjIsIGN5Z3dpbl9wcmVtYWluMywgZW52aXJvbiwKCWludG8gYXV0b2ZpbHRlcl9zeW1ib2xsaXN0X2kzODYuCgkoYXV0b19leHBvcnQpOiBHZXQgYXV0b2ZpbHRlcl9zeW1ib2xsaXN0IGZyb20gcGVfZGV0YWlscy4KCjIwMDYtMDYtMjIgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJUFIgbGQvMjc1NwoJKiBlbXVsdGVtcGwvcGUuZW0gKGdsZF8kX2FmdGVyX29wZW4pOiBXaGVuIHJlcG9ydGluZyBub24gUEUgZm9ybWF0CglvdXRwdXQgZmlsZXMgbWVudGlvbiB0aGUgZmlsZSBuYW1lIGFuZCB0aGUgZmFjdCB0aGF0IGl0IGlzIGFuCglvdXRwdXQgZmlsZS4KCjIwMDYtMDYtMjIgIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBlbXVsdGVtcGwvcGUuZW0gKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9vcGVuX2R5bmFtaWNfYXJjaGl2ZSk6CglSZXN0cnVjdHVyZS4gIEFkZCBuYXRpdmUgIiVzLmxpYiIgZm9ybWF0IHRvIHNlYXJjaCBsaXN0CgkqIGxkLnRleGluZm8gKG5vZGUgV0lOMzIpOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBvbiBkeW5hbWljIGxpYgoJc2VhcmNoIG9yZGVyLiBBZGQgYW5vdGhlciByZWFzb24gZm9yIHVzaW5nIGltcG9ydCBsaWJzLgoKMjAwNi0wNi0yMSAgTWFyayBTaGlud2VsbCAgPHNoaW53ZWxsQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBsZGxhbmcuYyAobGFuZ19pbnNlcnRfb3JwaGFuKTogQ29ycmVjdGx5IGhhbmRsZSB0aGUgY2FzZSB3aGVyZQoJdGhlIHNlY3Rpb24gaXMgdG8gZW5kIHVwIGFmdGVyIHRoZSBzZWN0aW9uIGN1cnJlbnRseSBhdCB0aGUgZW5kCglvZiB0aGUgbGlzdCBpbiBvdXRwdXRfYmZkLgoKMjAwNi0wNi0yMSAgSGFucy1QZXRlciBOaWxzc29uICA8aHBAYml0cmFuZ2UuY29tPgoKCSogZW11bHRlbXBsL21tby5lbTogSW1wcm92ZSBjb21tZW50cy4gIEV4cGxhaW4gd2h5IHRoZXJlJ3MKCUVMRi1zdHVmZiBoZXJlLgoKMjAwNi0wNi0yMSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWx0ZW1wbC9lbGYtZ2VuZXJpYy5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fbWFwX3NlZ21lbnRzKTogTGltaXQKCWxvb3AgdG8gdGVuIGl0ZXJhdGlvbnMuICBUaHJvdyBhd2F5IGFueSBwcmV2aW91cyBsaW5rZXIgZ2VuZXJhdGVkCglzZWdtZW50IG1hcC4KCSogbGRsYW5nLmMgKGxhbmdfcGhkcl9saXN0KTogTWFrZSBnbG9iYWwuCgkqIGxkbGFuZy5oIChsYW5nX3BoZHJfbGlzdCk6IERlY2xhcmUuCgkqIE1ha2VmaWxlLmFtIChFTEZfR0VOX0RFUFMpOiBEZWZpbmUuICBVc2UgaW4gZW11bCBkZXBzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDYtMDYtMjAgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBNYWtlZmlsZS5hbSAoRUxGX0RFUFMpOiBEZWZpbmUuICBVc2UgaW4gZW11bCBmaWxlIGRlcHMuICBGaXgKCW1hbnkgRUxGIGVtdWwgZmlsZSBkZXBzIHRoYXQgaW5jb3JyZWN0bHkgc2FpZCB0aGV5IG5lZWRlZCBlbGYzMi5lbQoJaW5zdGVhZCBvZiBnZW5lcmljLmVtLiAgQWRkIGdlbmVsZi5lbSBhcyByZXF1aXJlZC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGxkbGFuZy5jIChsYW5nX3Byb2Nlc3MpOiBDYWxsIGxkZW11bF9maW5pc2ggYmVmb3JlCglsYW5nX2NoZWNrX3NlY3Rpb25fYWRkcmVzc2VzLgoJKiBlbXVscGFyYW1zL2FyY2VsZi5zaDogR2VuZXJpYyBlbGYgdGFyZ2V0IG5lZWRzIGdlbmVsZi4KCSogZW11bHBhcmFtcy9kMzB2X2Uuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2QzMHZfby5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZDMwdmVsZi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJfZGx4LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMl9pODYwLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmZyMzAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyZnJ2LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmlxMTAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyaXEyMDAwLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMm10LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9tbjEwMjAwLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9vcjMyLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9vcjMyZWxmLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9wamVsZi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvbXNwNDMwYWxsLnNoOiBMaWtld2lzZS4gIEV4dHJhY3QgY29tbW9uIGVudHJpZXMuCgkqIGVtdWxwYXJhbXMvcGpsZWxmLnNoOiBJbmNsdWRlIHBqZWxmLnNoLgoJKiBlbXVscGFyYW1zL2VsZjMyZnJ2ZmQuc2ggKEVYVFJBX0VNX0ZJTEUpOiBVbnNldC4KCSogZW11bHBhcmFtcy9tbjEwMzAwLnNoIChFWFRSQV9FTV9GSUxFKTogVW5zZXQuCgkqIGVtdWx0ZW1wbC9lbGYtZ2VuZXJpYy5lbTogTmV3IGZpbGUuCgkqIGVtdWx0ZW1wbC9nZW5lbGYuZW06IE5ldyBmaWxlLgoJKiBlbXVsdGVtcGwvZWxmMzIuZW06IEluY2x1ZGUgZWxmLWdlbmVyaWMuZW0uCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fbGF5b3V0X3NlY3Rpb25zX2FnYWluKTogRGVsZXRlLgoJKGdsZCR7RU1VTEFUSU9OX05BTUV9X2ZpbmlzaCk6IENhbGwgZ2xkJHtFTVVMQVRJT05fTkFNRX1fbWFwX3NlZ21lbnRzLgoJKiBlbXVsdGVtcGwvaHBwYWVsZi5lbSAoaHBwYWVsZl9sYXlvdXRfc2VjdGlvbnNfYWdhaW4pOiBMaWtld2lzZS4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBSZW5hbWUgZnJvbSBocHBhZWxmX2ZpbmlzaC4gIENhbGwKCWdsZCR7RU1VTEFUSU9OX05BTUV9X21hcF9zZWdtZW50cy4KCShMREVNVUxfRklOSVNIKTogVXBkYXRlLgoJKiBlbXVsdGVtcGwvbW1vLmVtOiBDb3JyZWN0IGNvbW1lbnQuICBJbmNsdWRlIGVsZi1iZmQuaCBhbmQKCXNvdXJjZSBlbGYtZ2VuZXJpYy5lbS4KCShtbW9fZmluaXNoKTogQ2FsbCBnbGQke0VNVUxBVElPTl9OQU1FfV9tYXBfc2VnbWVudHMuCgkqIGVtdWx0ZW1wbC9wcGM2NGVsZi5lbSAocHBjX2xheW91dF9zZWN0aW9uc19hZ2Fpbik6IExpa2V3aXNlLgoJKGdsZCR7RU1VTEFUSU9OX05BTUV9X2ZpbmlzaCk6IFJlbmFtZSBmcm9tIHBwY19maW5pc2guICBDYWxsCglnbGQke0VNVUxBVElPTl9OQU1FfV9tYXBfc2VnbWVudHMuCgkoTERFTVVMX0ZJTklTSCk6IFVwZGF0ZS4KCjIwMDYtMDYtMTkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGV4cC5jIChmb2xkX25hbWUpOiBBZGp1c3QgYmZkX3NpemVvZl9oZWFkZXJzIGNhbGwuCgoyMDA2LTA2LTE0ICBLZXZpbiBGLiBRdWlubiAgPGtldnF1aW5uQGdlbnRvby5vcmc+CgoJKiBsZC50ZXhpbmZvOiBEb2N1bWVudCBuZXcgLXogbGF6eSBvcHRpb24uCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1faGFuZGxlX29wdGlvbik6IEhhbmRsZQoJbmV3IG9wdGlvbi4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9saXN0X29wdGlvbnMpOiBVcGRhdGUgaGVscCB0ZXh0LgoKMjAwNi0wNi0xMiAgRnJlZCBGaXNoICA8Zm5mQHNwZWNpZml4LmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmMzJibWlwLnNoIChPVEhFUl9TRUNUSU9OUyk6IEtlZXAgdGhlCgkiLm1kZWJ1Zy48YWJpPiIgYW5kICIuZ2NjX2NvbXBpbGVkX2xvbmc8c2l6ZT4iIHNlY3Rpb25zCglnZW5lcmF0ZWQgYnkgbWlwcyBnY2MuCgoyMDA2LTA2LTEyICBUaGllbW8gU2V1ZmVyICA8dGhzQG1pcHMuY29tPgoKCSogZW11bHBhcmFtcy9lbGY2NGJtaXAuc2gsIGVtdWxwYXJhbXMvZWxmNjRidHNtaXAuc2ggKENPTU1PTlBBR0VTSVpFKToKCURlZmluZS4KCjIwMDYtMDYtMDkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGxhbmcuaCAobGFuZ19pbnB1dF9zdGF0ZW1lbnRfdHlwZSk6IFVzZSBiaXRmaWVsZHMgZm9yIGJvb2xlYW5zLgoJKiBsZGxhbmcuYyAoc3RydWN0IG91dF9zZWN0aW9uX2hhc2hfZW50cnkpOiBSZW5hbWUgZnJvbQoJb3V0cHV0X3N0YXRlbWVudF9oYXNoX2VudHJ5LiAgRGVsZXRlIG91dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlCgllbnRyeS4gIEFkZCBzdGF0ZW1lbnRfdW5pb25fdHlwZSBlbnRyeS4gIEFkanVzdCBhbGwgdXNlcnMuCgkob3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3RhYmxlKTogUmVuYW1lIGZyb20gb3V0cHV0X3N0YXRlbWVudF90YWJsZS4KCUFkanVzdCBhbGwgdXNlcnMuCgkob3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X25ld2Z1bmMpOiBSZW5hbWUgZnJvbQoJb3V0cHV0X3N0YXRlbWVudF9uZXdmdW5jLiAgQWRqdXN0IGFsbCB1c2Vycy4KCShvdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdGFibGVfaW5pdCk6IFJlbmFtZSBmcm9tCglvdXRwdXRfc3RhdGVtZW50X3RhYmxlX2luaXQuICBBZGp1c3QgYWxsIHVzZXJzLgoJKG91dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90YWJsZV9mcmVlKTogUmVuYW1lIGZyb20KCW91dHB1dF9zdGF0ZW1lbnRfdGFibGVfZnJlZS4gIEFkanVzdCBhbGwgdXNlcnMuCgoyMDA2LTA2LTA3ICBKb3NlcGggUy4gTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIHBvL01ha2UtaW4gKHBkZiwgcHMpOiBOZXcgZHVtbXkgdGFyZ2V0cy4KCjIwMDYtMDYtMDcgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGxhbmcuaCAoZW51bSBzZWN0aW9uX3R5cGUpOiBEZWxldGUgZHNlY3Rfc2VjdGlvbiwgY29weV9zZWN0aW9uLAoJaW5mb19zZWN0aW9uIGFuZCBvdmVybGF5X3NlY3Rpb24uICBBZGQgbm9hbGxvY19zZWN0aW9uLgoJKiBsZGxhbmcuYyAobGFuZ19hZGRfc2VjdGlvbik6IEFkanVzdC4KCSogbGRncmFtLnkgKHR5cGUpOiBBZGp1c3QuCgoyMDA2LTA2LTA2ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGRsYW5nLmMgKGluaXRfb3MpOiBXaGl0ZXNwYWNlLgoJKG1hcF9pbnB1dF90b19vdXRwdXRfc2VjdGlvbnMpOiBEb24ndCBpbml0X29zIGZvciBsYW5nX2lucHV0X3NlY3Rpb24uCgkocHJpbnRfYWxsX3N5bWJvbHMpOiBSZW1vdmUgZm9yd2FyZCBkZWNsYXJhdGlvbi4gIENvbnZlcnQgdG8gSVNPIEMuCgoyMDA2LTA2LTA1ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgoKCSogcG8vTWFrZS1pbiAodG9wX2J1aWxkZGlyKTogRGVmaW5lLgoKMjAwNi0wNi0wNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkZXhwLmMgKGV4cF9nZXRfYWJzX2ludCk6IE1ha2UgZXJyb3IgbWVzc2FnZSB0aGUgc2FtZSBhcwoJb3RoZXJzIGVtaXR0ZWQgaW4gdGhpcyBmaWxlLgoKMjAwNi0wNi0wNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGNvbmZpZy5pbjogUmVnZW5lcmF0ZS4KCjIwMDYtMDYtMDUgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGxhbmcuYyAobG9va3VwX25hbWUpOiBEZWxldGUgZGVhZCBjb2RlLiAgUmVtb3ZlIEZJWE1Fcy4KCjIwMDYtMDYtMDMgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKGdsb2JhbF9mb3VuZCk6IE1ha2UgaXQgYSBwb2ludGVyLgoJKHN0YXRfbmVlZGVkLCB0cnlfbmVlZGVkKTogQWRqdXN0LgoJKGNoZWNrX25lZWRlZCk6IERvbid0IHNraXAgbm9uLWxvYWRlZCBhcy1uZWVkZWQgZW50cmllcy4gIE9ubHkKCWNvbnNpZGVyIGVudHJpZXMgd2l0aCBib3RoIGZpbGVuYW1lIGFuZCB0aGVfYmZkIG5vbi1udWxsLgoJKGFmdGVyX29wZW4pOiBUcnkgbG9hZGluZyBub24tbG9hZGVkIGFzLW5lZWRlZCBsaWJzIHRvIHNhdGlzZnkKCURUX05FRURFRCBsaWJzLgoKMjAwNi0wNi0wMiAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBNYWtlZmlsZS5hbSAoVEVYSTJEVkkpOiBBZGQgLUkgJCh0b3Bfc3JjZGlyKS8uLi9saWJpYmVydHkuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNi0wNS0zMSAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBSZXBsYWNlIElOVExMSUJTIGFuZCBJTlRMREVQUyB3aXRoIExJQklOVEwKCWFuZCBMSUJJTlRMX0RFUCBldmVyeXdoZXJlLgoJKElOVExMSUJTKTogUmVtb3ZlLgoJKElOQ0xVREVTKTogVXNlIEBJTkNJTlRMQC4KCSogY29uZmlndXJlLmluOiBVc2UgWldfR05VX0dFVFRFWFRfU0lTVEVSX0RJUiBhbmQgQU1fUE9fU1VCRElSUy4KCVJlbW92ZSBsb2NhbCBjb2RlIGZvciBwby9NYWtlZmlsZS4KCSogTWFrZWZpbGUuaW4sIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDA2LTA1LTMwICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBlbXVscGFyYW1zL2FyY2VsZi5zaCAoTUFYUEFHRVNJWkUpOiBDaGFuZ2VkIHRvCgkiQ09OU1RBTlQgKE1BWFBBR0VTSVpFKSIuCgkqIGVtdWxwYXJhbXMvYXJtZWxmX25ic2Quc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2FybWVsZl92eHdvcmtzLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9hcm1udG8uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2FybXN5bWJpYW4uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2NyaXNsaW51eC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJfaTg2MC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJfaTk2MC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJhbTMzbGluLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmJmaW5mZC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJibWlwbjMyLWRlZnMuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyZnJ2ZmQuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyaTM3MC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJscHBjbnRvLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMm1jb3JlLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMm9wZW5yaXNjLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMnBwY250by5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJwcGN3aW5kaXNzLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMnZheC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJ4YzE2eC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJ4YzE2eGwuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyeGMxNnhzLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGY2NF9haXguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0aHBwYS5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmNjRtbWl4LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGZfaTM4Nl9iZS5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmX2kzODZfY2hhb3Muc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZl9pMzg2X2xkc28uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2hwcGE2NGxpbnV4LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9ocHBhbGludXguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2hwcGFvYnNkLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9pMzg2bHlueC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvaTM4Nm1vc3Muc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2kzODZudG8uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2kzODZudy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvbTMycmVsZl9saW51eC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvbTY4a3Bzb3Muc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL29yMzJlbGYuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL3BqZWxmLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9wamxlbGYuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL3BwY2x5bnguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL3BwY253LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9zaGVsZjMyX25ic2Quc2ggOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9zaGVsZl9uYnNkLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9zaGVsZl9udG8uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL3NobGVsZl9udG8uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL3h0ZW5zYS1jb25maWcuc2g6IExpa2V3aXNlLgoKCSogZW11bHBhcmFtcy9hcm1lbGZfbGludXguc2ggKE1BWFBBR0VTSVpFKTogQ2hhbmdlZCB0bwoJIkNPTlNUQU5UIChNQVhQQUdFU0laRSkiLgoJKENPTU1PTlBBR0VTSVpFKTogQ2hhbmdlZCB0byAiQ09OU1RBTlQgKENPTU1PTlBBR0VTSVpFKSIuCgkqIGVtdWxwYXJhbXMvZWxmMzJfc3BhcmMuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyYm1pcC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJwcGNjb21tb24uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0X2lhNjQuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0X3MzOTAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0X3NwYXJjLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGY2NGFscGhhLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGY2NHBwYy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmX2kzODYuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZl9pMzg2X3Z4d29ya3Muc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZl9zMzkwLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGZfeDg2XzY0LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9zaGxlbGYzMl9saW51eC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvc2hsZWxmX2xpbnV4LnNoOiBMaWtld2lzZS4KCgkqIGVtdWxwYXJhbXMvZWxmMzJibWlwbjMyLnNoIChDT01NT05QQUdFU0laRSk6IENoYW5nZWQgdG8KCSJDT05TVEFOVCAoQ09NTU9OUEFHRVNJWkUpIi4KCSogZW11bHBhcmFtcy9lbGYzMmJ0c21pcG4zMi5zaDogTGlrZXdpc2UuCgoJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKGdsZCR7RU1VTEFUSU9OX05BTUV9X2hhbmRsZV9vcHRpb24pOiBBZGQKCSIteiBtYXgtcGFnZS1zaXplPSIgYW5kICIteiBjb21tb24tcGFnZS1zaXplPSIuCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fbGlzdF9vcHRpb25zKTogTGlrZXdpc2UuCgoJKiBsZC5oIChsZF9jb25maWdfdHlwZSk6IEFkZCBtYXhwYWdlc2l6ZSBhbmQgY29tbW9ucGFnZXNpemUuCgoJKiBsZC50ZXhpbmZvOiBEb2N1bWVudCAiLXogbWF4LXBhZ2Utc2l6ZT0iIGFuZAoJIi16IGNvbW1vbi1wYWdlLXNpemU9Ii4KCgkqIGxkZXhwLmMgKGV4cF9wcmludF90b2tlbik6IEhhbmRsZSBDT05TVEFOVC4KCShmb2xkX25hbWUpOiBMaWtld2lzZS4KCSogbGRncmFtLnk6IExpa2V3aXNlLgoJKiBsZGxleC5sOiBMaWtld2lzZS4KCgkqIGxkbWFpbi5jIChtYWluKTogSW5pdGlsaWF6ZSBjb25maWcubWF4cGFnZXNpemUgYW5kCgljb25maWcuY29tbW9ucGFnZXNpemUuIENhbGwgYmZkX2VtdWxfc2V0X21heHBhZ2VzaXplIGlmCgljb25maWcubWF4cGFnZXNpemUgaXNuJ3QgMC4gQ2FsbCBiZmRfZW11bF9zZXRfY29tbW9ucGFnZXNpemUgaWYKCWNvbmZpZy5jb21tb25wYWdlc2l6ZSBjb25maWcubWF4cGFnZXNpemUgaXNuJ3QgMC4KCjIwMDYtMDUtMzAgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBwby9lcy5wbzogVXBkYXRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNi0wNS0yNSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogZW11bHBhcmFtcy9lbGZfeDg2XzY0LnNoIChNQVhQQUdFU0laRSk6IFVwZGF0ZWQgdG8gMHgyMDAwMDAuCgoyMDA2LTA1LTI0ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJUFIgbGQvMTQ4NQoJKiBjb25maWd1cmUuaW46IFVzZSAke3NyY2Rpcn0vLi4vYmZkL2NvbmZpZy5iZmQgdG8gY2hlY2sgNjRiaXQKCWJmZC4gIFN1cHBvcnQgNjRiaXQgaG9zdCBmb3IgLS1lbmFibGUtdGFyZ2V0cz1hbGwuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDA2LTA1LTI0ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogcG8vdmkucG86IFVwZGF0ZWQgVmlldG5hbWVzZSB0cmFuc2xhdGlvbi4KCjIwMDYtMDUtMjQgIEJqb2VybiBIYWFzZSAgPGJqb2Vybi5tLmhhYXNlQHdlYi5kZT4KCgkqIGNvbmZpZ3VyZS50Z3Q6IEFkZCBhdnI2IHRvIGVtdWxhdGlvbiBsaXN0LgoJKiBNYWtlZmlsZS5hbTogQWRkIGVhdnI2Lm8gYW5kIGNvcnJlc3BvbmRpbmcgcnVsZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGVtdWxwYXJhbXMvYXZyNi5zaDogTmV3IGZpbGUuCgkqIGVtdWxwYXJhbXMvYXZyWC5zaCAoVEVNUExBVEVfTkFNRSk6IFVzZSBlbGYzMiBpbnN0ZWFkIG9mIGdlbmVyaWMKCWZvciB0YXJnZXQgb3B0aW9uIHN1cHBvcnQuCgkoRVhUUkFfRU1fRklMRSk6IEFkZCByZWZlcmVuY2UgdG8gbmV3IGVtIHRlbXBsYXRlIGZpbGUgYXZyZWxmLgoJKiBzY3JpcHR0ZW1wbC9hdnIuc2M6IEFkZCAiLnRyYW1wb2xpbmVzIiBzZWN0aW9uLgoJKiBlbXVsdGVtcGwvYXZyZWxmLmVtOiBBZGQgbmV3IGZpbGUgZm9yIHRhcmdldCBzcGVjaWZpYyBvcHRpb25zLgoKMjAwNi0wNS0yMiAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIHNjcmlwdHRlbXBsL2VsZjMyY3J4LnNjICgucmRhdGEpOiBBZGQgLnJvZGF0YS4qLgoKMjAwNi0wNS0xOSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkbGFuZy5jIChsYW5nX3NpemVfc2VjdGlvbnNfMSk6IERvbid0IGNoZWNrIG1lbSByZWdpb25zIGZvcgoJb3MtPmlnbm9yZWQgc2VjdGlvbnMuCgoyMDA1LTA1LTE3ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgoKCSogbGRsYW5nLmMgKGxhbmdfc2l6ZV9zZWN0aW9ucyk6IENhbGwgbGFuZ19yZXNldF9tZW1vcnlfcmVnaW9ucwoJYmVmb3JlIHJlZG9pbmcgb25lX2xhbmdfc2l6ZV9zZWN0aW9uc19wYXNzLgoKMjAwNi0wNS0xMSAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBsZC50ZXhpbmZvOiBSZW5hbWUgIkluZGV4IiB0byAiTEQgSW5kZXgiCgoyMDA2LTA1LTExICBQZWRybyBBbHZlcyAgPHBlZHJvX2FsdmVzQHBvcnR1Z2FsbWFpbC5wdD4KCgkqIHBlLWRsbC5jIChhdXRvZmlsdGVyX3N5bWJvbGxpc3QpOiBBZGQgRGxsbWFpbiwKCURsbE1haW5DUlRTdGFydHVwLCBfRGxsTWFpbkNSVFN0YXJ0dXAgYW5kIC50ZXh0LgoJKGF1dG9maWx0ZXJfbGlibGlzdCk6IEFkZCBsaWJjZWdjYy4KCShhdXRvZmlsdGVyX3N5bWJvbHByZWZpeGxpc3QpOiBBZGQgX19pbXBfIGFuZCAuaWRhdGEkLgoJKGdlbmVyYXRlX3JlbG9jKTogRG8gbm90IHNraXAgc2VjdGlvbnMgd2l0aG91dCBhIFNFQ19MT0FEIGZsYWcsCgl0aGV5IGNhbiBzdGlsbCBjb250YWluIHJlbG9jcyB0aGF0IG5lZWQgcHJvY2Vzc2luZy4KCVNraXAgdGhlIC5pZGF0YSQ2IHNlY3Rpb24uCgkoam1wX2FybV9ieXRlcyk6IE5ldyBhcnJheTogQ29udGFpbnMgYnl0ZSBjb2RlcyBmb3IgYW4gQVJNIGp1bXAuCgkobWFrZV9vbmUpOiBVc2UgdGhlIG5ldyBhcnJheS4KCShtYWtlX2ltcG9ydF9maXh1cF9lbnRyeSk6IFVzZSAuaWRhdGEkMiBpbnN0ZWFkIG9mIC5pZGF0YSQzLgoJKiBlbXVsdGVtcGwvcGUuZW0gKE1ham9yU3Vic3lzdGVtVmVyc2lvbik6IFNldCB0byAzIGZvciBhcm1wZS4KCjIwMDYtMDUtMDUgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZC50ZXhpbmZvOiBEb2N1bWVudCBQb3dlclBDIGFuZCBQb3dlclBDNjQgb3B0aW9ucy4KCSogZ2VuLWRvYy50ZXhpOiBFbmFibGUuCgoyMDA2LTA1LTAyICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgoKCSogTWFrZWZpbGUuYW0gKEFNX01BS0VJTkZPRkxBR1MpOiBBZGQgbGliaWJlcnR5LgoJKFRFWEkyUE9EKTogVXNlIEFNX01BS0VJTkZPRkxBR1MuCgkoY29uZmlnZG9jLnRleGkpOiBEb24ndCBzZXQgdG9wX3NyY2Rpci4KCSogbGQudGV4aW5mbzogRG9uJ3QgdXNlIHRvcF9zcmNkaXIuCgkqIGFjbG9jYWwubTQsIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDYtMDQtMTkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGxhbmcuYyAod2lsZCk6IFRpZHkgZGVmYXVsdF9jb21tb25fc2VjdGlvbiBsb29wLgoJKHByaW50X2lucHV0X3NlY3Rpb24pOiBGb3JtYXQuCgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDA2LTA0LTE2ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgoKCSogcG8vUE9URklMRVMuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNi0wNC0xNiAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZy5pbjogUmVnZW5lcmF0ZWQuCgoyMDA2LTA0LTE0ICBEYXZpZCBIZWluZSAgPGRsaGVpbmVAdGVuc2lsaWNhLmNvbT4KCSAgICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogZW11bHRlbXBsL3h0ZW5zYWVsZi5lbSAoZWxmX3h0ZW5zYV9iZWZvcmVfYWxsb2NhdGlvbik6IENhbGwgbmV3CglmdW5jdGlvbiB0byBzdHJpcCBpbmNvbnNpc3RlbnQgbGlua29uY2Ugc2VjdGlvbnMuCgkoaW5wdXRfc2VjdGlvbl9saW5rZWRfd29ya2VyLCBpbnB1dF9zZWN0aW9uX2xpbmtlZCk6IE5ldy4KCShpc19pbmNvbnNpc3RlbnRfbGlua29uY2Vfc2VjdGlvbik6IE5ldy4KCSh4dGVuc2Ffc3RyaXBfaW5jb25zaXN0ZW50X2xpbmtvbmNlX3NlY3Rpb25zKTogTmV3LgoKMjAwNi0wNC0xMSAgRGllZ28gUGV0dGVu8iAgPGZsYW1lZXllc0BnZW50b28ub3JnPgoKCSogZW11bHRlbXBsL2VsZjMyLmVtOiBBZGQgc3VwcG9ydCBmb3IgZWxmLWhpbnRzLmggb24gRnJlZUJTRAoJYW5kIERyYWdvbmZseSB0YXJnZXRzLgoJKiBjb25maWd1cmUuaW4gKEFDX0NIRUNLX0hFQURFUlMpOiBBZGQgZWxmLWhpbnRzLmguCgkqIE1ha2VmaWxlLmFtIChIRklMRVMpOiBBZGQgZWxmLWhpbnRzLWxvY2FsLmguCgkqIGVsZi1oaW50cy1sb2NhbC5oOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDYtMDQtMDcgIEJlcm5oYXJkIEZpc2NoZXIgIDxhbGRvdEBnY2MuZ251Lm9yZz4KCgkqIGxkLnRleGluZm86IEZpeCB0eXBvIGluIGRvY3VtZW50YXRpb24gb2YgLS1jaGVjay1zZWN0aW9ucy4KCjIwMDYtMDQtMDcgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogbGRsYW5nLmMgKGxvYWRfc3ltYm9scyk6IFNldCBhc19uZWVkZWQgYW5kIGFkZF9uZWVkZWQgYWNjb3JkaW5nCgl0byB0aGUgY29ycmVzcG9uZGluZyBzY3JpcHQncyBmaWVsZHMgd2hpbGUgcHJvY2Vzc2luZyBpdC4KCjIwMDYtMDQtMDYgIENhcmxvcyBPJ0RvbmVsbCAgPGNhcmxvc0Bjb2Rlc291cmNlcnkuY29tPgoKCSogTWFrZWZpbGUuYW06IEFkZCBpbnN0YWxsLWh0bWwsIGluc3RhbGwtaHRtbC1hbSwgYW5kCglpbnN0YWxsLWh0bWwtcmVjdXJzaXZlIHRhcmdldHMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmUuaW46IEFDX1NVQlNUIGRhdGFyb290ZGlyLCBkb2NkaXIsIGh0bWxkaXIuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogcG8vTWFrZS1pbjogQWRkIGluc3RhbGwtaHRtbCB0YXJnZXQuCgoyMDA2LTA0LTA2ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBlbXVsdGVtcGwvaWE2NGVsZi5lbTogU2V0IGxpbmtfaW5mby5yZWxheF9wYXNzIHRvIDIuIFJlbW92ZQoJbGlua19pbmZvLm5lZWRfcmVsYXhfZmluYWxpemUuCgoJKiBsZGxhbmcuYyAocmVsYXhfc2VjdGlvbnMpOiBOZXcuCgkobGFuZ19wcm9jZXNzKTogVXNlLiBDYWxsIHJlbGF4X3NlY3Rpb25zIGxpbmtfaW5mby5yZWxheF9wYXNzCgl0aW1lcy4KCgkqIGxkbWFpbi5jIChtYWluKTogU2V0IGxpbmtfaW5mby5yZWxheF9wYXNzIHRvIDEuIFJlbW92ZQoJbGlua19pbmZvLm5lZWRfcmVsYXhfZmluYWxpemUuCgoyMDA2LTA0LTA1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogTWFrZWZpbGUuYW0gKEdFTlNDUklQVFMpOiBQYXNzIHByZWZpeC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGdlbnNjcmlwdHMuc2g6IEFkanVzdCBmb3IgZXh0cmEgcGFyYW1ldGVyLgoJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKHBhcnNlX2xkX3NvX2NvbmYpOiBSZXR1cm4gdHJ1ZSBpZmYgZmlsZQoJZXhpc3RzLgoJKGNoZWNrX2xkX3NvX2NvbmYpOiBVc2UgJHtwcmVmaXh9L2V0Yy9sZC5zby5jb25mIGlmIGl0IGV4aXN0cy4KCSogTkVXUzogVXBkYXRlLgoKMjAwNi0wNC0wNSAgUmljaGFyZCBTYW5kaWZvcmQgIDxyaWNoYXJkQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3QgKHNwYXJjKi0qLXZ4d29ya3MqKTogTmV3IHN0YW56YS4KCSogZW11bHBhcmFtcy9lbGYzMl9zcGFyY192eHdvcmtzLnNoOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW0gKEFMTF9FTVVMQVRJT05TKTogQWRkIGVlbGYzMl9zcGFyY192eHdvcmtzLm8uCgkoZWVsZjMyX3NwYXJjX3Z4d29ya3MuYyk6IE5ldyBydWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDYtMDQtMDQgIEVyaWMgQm90Y2F6b3UgIDxlYm90Y2F6b3VAYWRhY29yZS5jb20+CgoJKiBsZGxhbmcuYyAobGFuZ19tYXApOiBQcmludCB0aGUgbGlzdCBvZiBkaXNjYXJkZWQgaW5wdXQgc2VjdGlvbnMuCgkocHJpbnRfaW5wdXRfc2VjdGlvbik6IENoYW5nZSBwYXJhbWV0ZXIgYW5kIHByaW50IHplcm8tc2l6ZWQgc2VjdGlvbnMuCgkocHJpbnRfc3RhdGVtZW50KTogQWRqdXN0IGNhbGwgdG8gcHJpbnRfaW5wdXRfc2VjdGlvbi4KCjIwMDYtMDQtMDEgIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBkZWZmaWxlcC55IChkZWZfaW1hZ2VfbmFtZSk6IElmIExJQlJBUlkgb3IgTkFNRSBzdGF0ZW1lbnQKCXNwZWNpZmllcyBhbiBlbXB0eSBzdHJpbmcsIHJldGFpbiB0aGUgbmFtZSBzcGVjaWZpZWQgb24gY29tbWFuZAoJbGluZS4KCSogbGQudGV4aW5mbzogRG9jdW1lbnQgYWJvdmUuCgoyMDA2LTAzLTMxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxkbWlzYy5jICh2ZmluZm8pOiBSZXZlcnQgMjAwNS0xMC0wNSBjaGFuZ2VzLiAgSWYKCWJmZF9maW5kX25lYXJlc3RfbGluZSBzdWNjZWVkZWQgZm9yICVDIG9yICVELCBidXQgZmlsZW5hbWUKCWlzIE5VTEwsIHByaW50IHNlY3Rpb24rb2Zmc2V0IGF0IHRoZSBlbmQuCgoyMDA2LTAzLTI1ICBCZXJuZCBTY2htaWR0ICA8YmVybmQuc2NobWlkdEBhbmFsb2cuY29tPgoKCSogZW11bHBhcmFtcy9lbGYzMmJmaW5mZC5zaDogTmV3IGZpbGUuCgkqIGVtdWx0ZW1wbC9iZmluLmVtOiBEZWxldGUuCgkqIGVtdWxwYXJhbXMvYmZpbi5zaDogTG9zZSByZWZlcmVuY2UgdG8gYmZpbi5lbS4KCSogTWFrZWZpbGUuYW0gKGVlbGYzMmJmaW4uYyk6IExpa2V3aXNlLgoJKGVlbGYzMmJmaW5mZC5jKTogTmV3LgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLnRndCAoYmZpbi0qLWVsZiwgYmZpbi0qLXVjbGludXgpOiBBZGQgZWxmMzJiZmluZmQgdG8KCXRhcmdfZXh0cmFfZW11bHMuCgoyMDA2LTAzLTIyICBSaWNoYXJkIFNhbmRpZm9yZCAgPHJpY2hhcmRAY29kZXNvdXJjZXJ5LmNvbT4KCSAgICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgoJICAgIFBoaWwgRWR3YXJkcyAgPHBoaWxAY29kZXNvdXJjZXJ5LmNvbT4KCSAgICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoJICAgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgTmF0aGFuIFNpZHdlbGwgIDxuYXRoYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3QgKG1pcHMqZWwtKi12eHdvcmtzKiwgbWlwcyotKi12eHdvcmtzKik6IFVzZQoJc2VwYXJhdGUgVnhXb3JrcyBlbXVsYXRpb25zLgoJKiBlbXVscGFyYW1zL2VsZjMyZWJtaXB2eHdvcmtzLnNoOiBOZXcgZmlsZS4KCSogZW11bHBhcmFtcy9lbGYzMmVsbWlwdnh3b3Jrcy5zaDogTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmFtIChBTExfRU1VTEFUSU9OUyk6IEFkZCBlZWxmMzJlYm1pcHZ4d29ya3MubyBhbmQKCWVlbGYzMmVsbWlwdnh3b3Jrcy5vLgoJKGVlbGYzMmVibWlwdnh3b3Jrcy5jLCBlZWxmMzJlbG1pcHZ4d29ya3MuYyk6IE5ldyBydWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA2LTAzLTE2ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCVBSIDI0MzQKCSogbGRjcmVmLmMgKGFkZF9jcmVmKTogQWRqdXN0IGJmZF9oYXNoX3RhYmxlX2luaXQgY2FsbHMuCgkqIGxkbGFuZy5jIChvdXRwdXRfc3RhdGVtZW50X3RhYmxlX2luaXQsIGxhbmdfaW5pdCk6IExpa2V3aXNlLgoJKiBsZG1haW4uYyAoYWRkX3lzeW0sIGFkZF93cmFwLCBhZGRfa2VlcHN5bXNfZmlsZSk6IExpa2V3aXNlLgoJKHVuZGVmaW5lZF9zeW1ib2wpOiBMaWtld2lzZS4KCjIwMDYtMDMtMDcgIFJpY2hhcmQgU2FuZGlmb3JkICA8cmljaGFyZEBjb2Rlc291cmNlcnkuY29tPgoJICAgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCSAgICBOYXRoYW4gU2lkd2VsbCAgPG5hdGhhbkBjb2Rlc291cmNlcnkuY29tPgoJICAgIFBhdWwgQnJvb2sgIDxwYXVsQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgUmljYXJkbyBBbmd1aWFubyAgPGFuZ3VpYW5vQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgUGhpbCBFZHdhcmRzICA8cGhpbEBjb2Rlc291cmNlcnkuY29tPgoKCSogZW11bHBhcmFtcy9hcm1lbGZfdnh3b3Jrcy5zaDogSW5jbHVkZSB2eHdvcmtzLnNoLgoJKE1BWFBBR0VTSVpFKTogRGVmaW5lLgoJKiBlbXVscGFyYW1zL3Z4d29ya3Muc2g6IFVuZGVmaW5lIEVNQkVEREVELgoJKiBNYWtlZmlsZS5hbSAoZWFybWVsZl92eHdvcmtzLmMpOiBEZXBlbmQgb24gdnh3b3Jrcy5zaCBhbmQgdnh3b3Jrcy5lbS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA2LTAzLTAzICBCam9lcm4gSGFhc2UgIDxiam9lcm4ubS5oYWFzZUB3ZWIuZGU+CgoJKiBzY3JpcHR0ZW1wbC9hdnIuc2M6ICBBZGQgKiguanVtcHRhYmxlcykgKigubG93dGV4dCkgc2VjdGlvbnMuCglBZGQgS0VFUCgpIGRpcmVjdGl2ZXMuCglBZGQgKiguZGF0YSopICooLnJvZGF0YSkgYW5kICooLnJvZGF0YSopIGFuZCAqKC5ic3MqKSB0byAuZGF0YSBhbmQKCS5ic3Mgb3V0cHV0IHNlY3Rpb25zLgoKMjAwNi0wMy0wMyAgUmljaGFyZCBTYW5kaWZvcmQgIDxyaWNoYXJkQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBlbXVscGFyYW1zL3Z4d29ya3Muc2ggKFZYV09SS1NfQkFTRV9FTV9GSUxFKTogTmV3IHZhcmlhYmxlLgoJKEVYVFJBX0VNX0ZJTEUpOiBEZWZpbmUuCgkqIGVtdWx0ZW1wbC92eHdvcmtzLmVtOiBOZXcgZmlsZS4KCSogbGQudGV4aW5mbyAoLS1mb3JjZS1keW5hbWljKTogRG9jdW1lbnQuCgkqIE1ha2VmaWxlLmFtIChlZWxmMzJwcGN2eHdvcmtzLmNtLCBlZWxmX2kzODZfdnh3b3Jrcy5jKTogRGVwZW5kCglvbiB2eHdvcmtzLmVtLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDYtMDMtMDIgIFJpY2hhcmQgU2FuZGlmb3JkICA8cmljaGFyZEBjb2Rlc291cmNlcnkuY29tPgoKCSogZW11bHBhcmFtcy9lbGYzMnBwY2NvbW1vbi5zaDogTmV3IGZpbGUsIGV4dHJhY3RlZCBmcm9tLi4uCgkqIGVtdWxwYXJhbXMvZWxmMzJwcGMuc2g6IC4uLmhlcmUuCgkqIGVtdWxwYXJhbXMvZWxmMzJwcGN2eHdvcmtzLnNoOiBJbmNsdWRlIGVsZjMycHBjY29tbW9uLnNoCglpbnN0ZWFkIG9mIGVsZjMycHBjLnNoLgoJKEJTU19QTFQpOiBSZW1vdmUgb3ZlcnJpZGUuCgkqIE1ha2VmaWxlLmFtIChlZWxmMzJscHBjLmMpOiBEZXBlbmQgb24gZWxmMzJwcGNjb21tb25zLmguCgkoZWVsZjMybHBwY250by5jLCBlZWxmMzJscHBjc2ltLmMsIGVlbGYzMnBwY250by5jKTogTGlrZXdpc2UuCgkoZWVsZjMycHBjLmMsIGVlbGYzMnBwY19mYnNkLmMsIGVlbGYzMnBwY3NpbW0pOiBMaWtld2lzZS4KCShlZWxmMzJwcGNsaW51eC5jKTogTGlrZXdpc2UuCgkoZWVsZjMycHBjdnh3b3Jrcy5jKTogTGlrZXdpc2UuICBBZGQgbWlzc2luZyB2eHdvcmtzLnNoIGRlcGVuZGVuY3kuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNi0wMi0yNyAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkIGh0bWwgdGFyZ2V0LgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogcG8vTWFrZS1pbjogQWRkIGh0bWwgdGFyZ2V0LgoKMjAwNi0wMi0xNyAgU2hyaXJhbmcgS2hpc3RpICA8c2hyaXJhbmdrQGtwaXRjdW1taW5zLmNvbT4KICAgICAgICAgICAgQW5pbCBQYXJhbmphcGUgICA8YW5pbHAxQGtwaXRjdW1taW5zLmNvbT4KICAgICAgICAgICAgU2hpbGluIFNoYWt0aSAgICA8c2hpbGluc0BrcGl0Y3VtbWlucy5jb20+CgoJKiBzY3JpcHR0ZW1wL2VsZjMyeGMxNnguc2M6IERlZmF1bHQgbGlua2VyIHNjcmlwdCBmb3IgdGlueSBtb2RlbC4KCSogc2NyaXB0dGVtcC9lbGYzMnhjMTZ4bC5zYzogRGVmYXVsdCBsaW5rZXIgc2NyaXB0IGZvciBsYXJnZSBtb2RlbC4KCSogc2NyaXB0dGVtcC9lbGYzMnhjMTZ4cy5zYzogRGVmYXVsdCBsaW5rZXIgc2NyaXB0IGZvciBzbWFsbCBtb2RlbC4KCSogZW11bHBhcmFtcy9lbGYzMnhjMTZ4LnNoOiBFbXVsYXRpb24gc2NyaXB0IGZvciB0aW55IG1vZGVsLgoJKiBlbXVscGFyYW1zL2VsZjMyeGMxNnhsLnNoOiBFbXVsYXRpb24gc2NyaXB0IGZvciBsYXJnZSBtb2RlbC4KCSogZW11bHBhcmFtcy9lbGYzMnhjMTZ4cy5zaDogRW11bGF0aW9uIHNjcmlwdCBmb3Igc21hbGwgbW9kZWwuCgkqIE1ha2VmaWxlLmFtOiBBZGQgZW50cnkgdG8gbWFrZSB4YzE2eCB0YXJnZXQuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmUudGd0OiBTcGVjaWZ5IGRlZmF1bHQgYW5kIG90aGVyIGVtdWxhdGlvbiBwYXJhbWV0ZXJzCglmb3IgeGMxNnguCgkqIE5FV1M6IEFubm91bmNlIHRoZSBzdXBwb3J0IGZvciB0aGUgbmV3IHRhcmdldC4KCjIwMDYtMDItMTYgIE5pY2sgSHVkc29uICA8bmljay5odWRzb25AZHNsLnBpcGV4LmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3QgKG1pcHMqZWwtKi1uZXRic2QqLCBtaXBzKi0qLW5ldGJzZCopOgoJVXNlIHRoZSB0cmFkaXRpb25hbCB0YXJnZXQuCgoyMDA2LTAyLTEzICBKb3NlcGggUy4gTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3QgKGFybSpiLSotbGludXgtZ251ZWFiaSk6IENoYW5nZSB0bwoJYXJtKmItKi1saW51eC0qZWFiaS4KCShhcm0qLSotbGludXgtZ251ZWFiaSk6IENoYW5nZSB0byBhcm0qLSotbGludXgtKmVhYmkuCgoyMDA2LTAyLTA4ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJUFIgbGQvMjI5MAoJKiBORVdTOiBVcGRhdGVkIGZvciB0aGUgTGludXggbGlua2VyIHNlYXJjaCBvcmRlciBjaGFuZ2UuCgoJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKGdsZCR7RU1VTEFUSU9OX05BTUV9X2FmdGVyX29wZW4pOiBDYWxsCglnbGQke0VNVUxBVElPTl9OQU1FfV9jaGVja19sZF9zb19jb25mIGJlZm9yZSBjaGVja2luZyBkZWZhdWx0CglzZWFyY2ggZGlyZWN0b3JpZXMgZm9yIERUX05FRURFRCBlbnRyaWVzLgoKMjAwNi0wMi0wNyAgUGF1bCBCcm9vayAgPHBhdWxAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGVtdWx0ZW1wbC9hcm1lbGYuZW06IEluY2x1ZGUgZWxmL2FybS5oLgoJKGFybV9lbGZfZmluaXNoKTogU2V0IGxvdyBhZGRyZXNzIGJpdCBpZiBlbnR5IHBvaW50IGlzIGEgVGh1bWIKCWZ1bmN0aW9uLgoKMjAwNi0wMi0wMSAgRGFubnkgU21pdGggIDxkYW5ueXNtaXRoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGRlZmZpbGVwLnkgKGRlZl9pbWFnZV9uYW1lKTogSWYgdGhlIGltYWdlIG5hbWUgZG9lcyBub3QgaGF2ZQoJYSBzdWZmaXgsIGFwcGVuZCB0aGUgZGVmYXVsdC4KCSogbGQudGV4aW5mbzogRG9jdW1lbnQgTkFNRSwgTElCUkFSWSB1c2FnZSBpbiBQRS1DT0ZGIC5kZWYgZmlsZXMuCgoyMDA2LTAxLTMxICBEYW5ueSBTbWl0aCAgZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQKCgkqIE5FV1M6IE1lbnRpb24gc3VwcG9ydCBmb3IgZm9yd2FyZCBleHBvcnRzIGluIFBFLUNPRkYgZGxsJ3MuCgkqIGxkLnRleGluZm86IEV4cGFuZCBkb2N1bWVudGF0aW9uIG9mIEVYUE9SVCBzdGF0ZW1lbnRzIGluCglQRS1DT0ZGIC5kZWYgZmlsZXMuCgoyMDA2LTAxLTMxICBGaWxpcCBOYXZhcmEgIDxuYXZhcmFmQHJlYWN0b3MuY29tPgoKCSogZGVmZmlsZS5oIChzdHJ1Y3QgZGVmX2ZpbGVfZXhwb3J0KTogQWRkIGZpZWxkIGZsYWdfZm9yd2FyZC4KCSogcGUtZGxsLmMgKHByb2Nlc3NfZGVmX2ZpbGUpOiBDaGVjayBmb3IgZm9yd2FyZCBleHBvcnRzLgoJKGdlbmVyYXRlX2VkYXRhKTogR2VuZXJhdGUgZm9yd2FyZCBleHBvcnQgc3ltYm9scy4KCShmaWxsX2VkYXRhKTogRW1pdCB0aGVtLgoKCSogcGUtZGxsLmMgKHByb2Nlc3NfZGVmX2ZpbGUpOiBEb24ndCBjcmFzaCBvbiBtYWxmb3JtZWQKCWZhc3RjYWxsIHN5bWJvbCBuYW1lcyBpbiAuZGVmIGZpbGUuCgoyMDA2LTAxLTMwICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogcG8vdmkucG86IFVwZGF0ZWQgVmlldG5hbWVzZSB0cmFuc2xhdGlvbi4KCjIwMDYtMDEtMjcgIFlpdHpjaGFrIFNjb3R0LVRob2VubmVzICA8c3Rob2VubmFAZWZuLm9yZz4KCgkqIHBlLWRsbC5jIChwZV9kbGxfZ2VuZXJhdGVfaW1wbGliKTogSXNzdWUgIkNyZWF0aW5nIGxpYnJhcnkKCWZpbGU6IiBhcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UsIG5vdCBhIHdhcm5pbmcuCgoyMDA2LTAxLTE4ICBSb2dlciBTYXlsZSAgPHJvZ2VyQGV5ZXNvcGVuLmNvbT4KCgkqIGVtdWx0ZW1wbC9pcml4LmVtOiBVc2UgbGJhc2VuYW1lIGluc3RlYWQgb2YgYmFzZW5hbWUuCgoyMDA2LTAxLTE2ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogcG8vemhfQ04ucG86IE5ldyBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCSogY29uZmlndXJlLmluIChBTExfTElOR1VBUyk6IEFkZCAiemhfQ0giLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDA2LTAxLTE2ICBCZXJuaGFyZCBGaXNjaGVyICA8YWxkb3RAZ2NjLmdudS5vcmc+CgoJKiBsZC50ZXhpbmZvIChPcHRpb25zKTogRml4IHR5cG8uCgpGb3Igb2xkZXIgY2hhbmdlcyBzZWUgQ2hhbmdlTG9nLTIwMDUKDApMb2NhbCBWYXJpYWJsZXM6Cm1vZGU6IGNoYW5nZS1sb2cKbGVmdC1tYXJnaW46IDgKZmlsbC1jb2x1bW46IDc0CnZlcnNpb24tY29udHJvbDogbmV2ZXIKRW5kOgo=