MjAwNi0wNy0yNCAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGVtdWx0ZW1wbC94dGVuc2FlbGYuZW0gKGlzX2luY29uc2lzdGVudF9saW5rb25jZV9zZWN0aW9uKTogQWRkIHNwYWNlCglpbiBkZXBfc2VjX25hbWUgZm9yIG51bGwgdGVybWluYXRvci4gIE1ha2Ugc3VyZSBkZXBfc2VjX25hbWUgaGFzIGEKCSIudCIgbGlua29uY2UgdGFnLgoKMjAwNi0wNy0xNCAgTWljaGFlbCBXZXRoZXJlbGwgIDxtaWtlLndldGhlcmVsbEBudGx3b3JsZC5jb20+CgoJKiBlbXVscGFyYW1zL2VsZl94ODZfNjQuc2ggKExJQlBBVEhfU1VGRklYLCBFTEZfSU5URVJQUkVURVJfTkFNRSk6CglTZXQgZm9yICotKi1zb2xhcmlzMiouCgoyMDA2LTA3LTI0ICBSYWxrIFdpbGRlbmh1ZXMgIDxSYWxmLldpbGRlbmh1ZXNAZ214LmRlPgoKCSogbGQudGV4aW5mbzogRml4IHNwZWxsaW5nIG1pc3Rha2VzLgoJKiBsZGludC50ZXhpbmZvOiBMaWtld2lzZS4KCjIwMDYtMDctMjMgIFNvbmFsIFNhbnRhbiAgPHNvbmFsLnNhbnRhbkB4aWxpbnguY29tPgoKCSogbGRsYW5nLmMgKGxhbmdfc2VjdGlvbl9ic3QpOiBOZXcgc3RydWN0dXJlIGZvciBzb3J0aW5nIHNlY3Rpb25zCglieSBuYW1lLgoJKHdpbGRfc29ydF9mYXN0KTogTmV3IGZ1bmN0aW9uOiBJbnNlcnQgYSBzZWN0aW9uIGludG8gYSBiaW5hcnkKCXNlYXJjaCB0cmVlLgoJKG91dHB1dF9zZWN0aW9uX2NhbGxiYWNrX2Zhc3QpOiBOZXcgZnVuY3Rpb246IFN0b3JlIGEgc2VjdGlvbiBpbgoJQlNULgoJKG91dHB1dF9zZWN0aW9uX2NhbGxiYWNrX3RyZWVfdG9fbGlzdCk6IE5ldyBmdW5jdGlvbjogQ29udmVydCBhCglCU1QgaW50byBhIGxpc3QuCgkoYW5hbHl6ZV93YWxrX3dpbGRfc2VjdGlvbl9oYW5kbGVyKTogSW5pdGlhbGl6ZSBoYW5kbGVyX2RhdGEKCWVsZW1lbnRzLgoJKHdpbGQpOiBJZiB0aGUgZGF0YSBpcyBzb3J0ZWQgYnkgbmFtZSB1c2UgdGhlIEJTVCBtZXRob2QgdG8gc29ydAoJdGhlIG5hbWVzLgoKMjAwNi0wNy0xOSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkLmggKGhhbmRsZV9hc25lZWRlZF9jcmVmKTogRGVjbGFyZS4KCSogbGRjcmVmLmM6IEluY2x1ZGUgb2JqYWxsb2MuaC4KCShvbGRfdGFibGUsIG9sZF9jb3VudCwgb2xkX3RhYiwgYWxsb2NfbWFyayk6IE5ldyB2YXJpYWJsZXMuCgkodGFic2l6ZSwgZW50c2l6ZSwgcmVmc2l6ZSwgb2xkX3N5bWNvdW50KTogTGlrZXdpc2UuCgkoYWRkX2NyZWYpOiBVc2UgYmZkX2hhc2hfYWxsb2NhdGUgZm9yIHJlZnMuCgkoaGFuZGxlX2FzbmVlZGVkX2NyZWYpOiBOZXcgZnVuY3Rpb24uCgkqIGxkbWFpbi5jIChub3RpY2UpOiBDYWxsIGhhbmRsZV9hc25lZWRlZF9jcmVmIGZvciBOVUxMIG5hbWUuCgoyMDA2LTA3LTE0ICBNaWNoYWVsIFdldGhlcmVsbCAgPG1pa2Uud2V0aGVyZWxsQG50bHdvcmxkLmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3QgKGlbMy03XTg2LSotc29sYXJpczIqLCBpWzMtN104Ni0qLXNvbGFyaXMqKTogQ29ycmVjdAoJdHlwbyBzZXR0aW5nIHRhcmdfZXh0cmFfbGlicGF0aC4KCjIwMDYtMDctMTAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc2NyaXB0dGVtcGwvZWxmLnNjOiBBZGQgLmdudS5oYXNoIHNlY3Rpb24uCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoT1BUSU9OX0hBU0hfU1RZTEUpOiBEZWZpbmUuCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fYWRkX29wdGlvbnMpOiBSZWdpc3RlciAtLWhhc2gtc3R5bGUgb3B0aW9uLgoJKGdsZCR7RU1VTEFUSU9OX05BTUV9X2hhbmRsZV9vcHRpb24pOiBIYW5kbGUgaXQuCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fbGlzdF9vcHRpb25zKTogRG9jdW1lbnQgaXQuCgkqIGxkbWFpbi5jIChtYWluKTogSW5pdGlhbGl6ZSBlbWl0X2hhc2ggYW5kIGVtaXRfZ251X2hhc2guCgkqIGxkLnRleGluZm86IERvY3VtZW50IC0taGFzaC1zdHlsZSBvcHRpb24uCgoyMDA2LTA3LTEwICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogcG8vemhfVFcucG86IE5ldyBDaGluZXNlICh0cmFkaXRpb25hbCkgdHJhbnNsYXRpb24uCgkqIGNvbmZpZ3VyZS5pbiAoQUxMX0xJTkdVQVMpOiBBZGQgemhfVFcuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDYtMDctMDcgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJUFIgbGQvMjg3NAoJKiBsZC50ZXhpbmZvOiBSZW1vdmUgIlVzaW5nIExEIiBmcm9tIHRoZSB0aXRsZSBzaW5jZSBpdCBpcwoJcmVkdW5kYW50LgoKMjAwNi0wNy0wNiAgTW9oYW1tZWQgQWRuw6huZSBUcm9qZXR0ZSAgPGFkbkBkaXdpLm9yZz4KCglQUiBsZC8yODc3CgkqIGxkLnRleGluZm86IEZpeCBzcGVsbGluZyBtaXN0YWtlcy4KCjIwMDYtMDYtMjcgIFBlZHJvIEFsdmVzICA8cGVkcm9fYWx2ZXNAcG9ydHVnYWxtYWlsLnB0PgoJICAgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBlbXVsdGVtcGwvcGUuZW0gKGdsZF8kX29wZW5fZHluYW1pY19hcmNoaXZlKTogQ29tcHV0ZSBtYXhpbXVtCglsZW5ndGggb2YgZm9ybWF0IHN0cmluZ3MgaW4gdGhlIGxpYm5hbWVfZm10W10gYXJyYXksIHJhdGhlciB0aGFuCglyZWx5aW5nIHVwb24gYSBzdGF0aWNhbGx5IGNob3NlbiB2YWx1ZS4gIEFkanVzdCB4bWFsbG9jIGNhbGwgdG8KCXVzZSB0aGlzIGxvbmdlc3QgbGVuZ3RoLgoKMjAwNi0wNi0yNyAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGxkLnRleGluZm8gKC1ycGF0aC1saW5rKTogQ2xhcmlmeSBkaXN0aW5jdGlvbiBiZXR3ZWVuIC1ycGF0aCBhbmQKCS1ycGF0aC1saW5rLgoKMjAwNi0wNi0yMyAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3QgKGlbMy03XTg2LSotc29sYXJpczIqLCBpWzMtN104Ni0qLXNvbGFyaXMqKTogU2V0Cgl0YXJnX2V4dHJhX2xpYnBhdGguCgoyMDA2LTA2LTIzICBQZWRybyBBbHZlcyA8cGVkcm9fYWx2ZXNAcG9ydHVnYWxtYWlsLnB0PgoKCSogcGUtZGxsLmMgKHBlX2RldGFpbHNfdHlwZSk6IEFkZCBuZXcgcG9pbnRlciBmb3Igc3ltYm9scyBsaXN0CglhdXRvZmlsdGVyLiAKCShhdXRvZmlsdGVyX3N5bWJvbGxpc3QpOiBTcGxpdCBpbnRvIGF1dG9maWx0ZXJfc3ltYm9sbGlzdF9nZW5lcmljCglhbmQgYXV0b2ZpbHRlcl9zeW1ib2xsaXN0X2kzODYuCgkocGVfZGV0YWlsX2xpc3QpOiBBZGQgYXV0b2ZpbHRlcl9zeW1ib2xsaXN0X2kzODYgdG8gaTM4NiBjYXNlIGFuZAoJYXV0b2ZpbHRlcl9zeW1ib2xsaXN0X2dlbmVyaWMgZm9yIGFsbCB0aGUgb3RoZXJzLgoJKGF1dG9maWx0ZXJfc3ltYm9scHJlZml4bGlzdCk6IE1vdmVkIF9mbW9kZSwgX2ltcHVyZV9wdHIsIGN5Z3dpbl9hdHRhY2hfZGxsLAoJY3lnd2luX3ByZW1haW4wLCBjeWd3aW5fcHJlbWFpbjEsIGN5Z3dpbl9wcmVtYWluMiwgY3lnd2luX3ByZW1haW4zLCBlbnZpcm9uLAoJaW50byBhdXRvZmlsdGVyX3N5bWJvbGxpc3RfaTM4Ni4KCShhdXRvX2V4cG9ydCk6IEdldCBhdXRvZmlsdGVyX3N5bWJvbGxpc3QgZnJvbSBwZV9kZXRhaWxzLgoKMjAwNi0wNi0yMiAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCglQUiBsZC8yNzU3CgkqIGVtdWx0ZW1wbC9wZS5lbSAoZ2xkXyRfYWZ0ZXJfb3Blbik6IFdoZW4gcmVwb3J0aW5nIG5vbiBQRSBmb3JtYXQKCW91dHB1dCBmaWxlcyBtZW50aW9uIHRoZSBmaWxlIG5hbWUgYW5kIHRoZSBmYWN0IHRoYXQgaXQgaXMgYW4KCW91dHB1dCBmaWxlLgoKMjAwNi0wNi0yMiAgRGFubnkgU21pdGggIDxkYW5ueXNtaXRoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGVtdWx0ZW1wbC9wZS5lbSAoZ2xkXyR7RU1VTEFUSU9OX05BTUV9X29wZW5fZHluYW1pY19hcmNoaXZlKTogCglSZXN0cnVjdHVyZS4gIEFkZCBuYXRpdmUgIiVzLmxpYiIgZm9ybWF0IHRvIHNlYXJjaCBsaXN0CgkqIGxkLnRleGluZm8gKG5vZGUgV0lOMzIpOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBvbiBkeW5hbWljIGxpYgoJc2VhcmNoIG9yZGVyLiBBZGQgYW5vdGhlciByZWFzb24gZm9yIHVzaW5nIGltcG9ydCBsaWJzLgkKCjIwMDYtMDYtMjEgIE1hcmsgU2hpbndlbGwgIDxzaGlud2VsbEBjb2Rlc291cmNlcnkuY29tPgoKCSogbGRsYW5nLmMgKGxhbmdfaW5zZXJ0X29ycGhhbik6IENvcnJlY3RseSBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUKCXRoZSBzZWN0aW9uIGlzIHRvIGVuZCB1cCBhZnRlciB0aGUgc2VjdGlvbiBjdXJyZW50bHkgYXQgdGhlIGVuZAoJb2YgdGhlIGxpc3QgaW4gb3V0cHV0X2JmZC4KCjIwMDYtMDYtMjEgIEhhbnMtUGV0ZXIgTmlsc3NvbiAgPGhwQGJpdHJhbmdlLmNvbT4KCgkqIGVtdWx0ZW1wbC9tbW8uZW06IEltcHJvdmUgY29tbWVudHMuICBFeHBsYWluIHdoeSB0aGVyZSdzCglFTEYtc3R1ZmYgaGVyZS4KCjIwMDYtMDYtMjEgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvZWxmLWdlbmVyaWMuZW0gKGdsZCR7RU1VTEFUSU9OX05BTUV9X21hcF9zZWdtZW50cyk6IExpbWl0Cglsb29wIHRvIHRlbiBpdGVyYXRpb25zLiAgVGhyb3cgYXdheSBhbnkgcHJldmlvdXMgbGlua2VyIGdlbmVyYXRlZAoJc2VnbWVudCBtYXAuCgkqIGxkbGFuZy5jIChsYW5nX3BoZHJfbGlzdCk6IE1ha2UgZ2xvYmFsLgoJKiBsZGxhbmcuaCAobGFuZ19waGRyX2xpc3QpOiBEZWNsYXJlLgoJKiBNYWtlZmlsZS5hbSAoRUxGX0dFTl9ERVBTKTogRGVmaW5lLiAgVXNlIGluIGVtdWwgZGVwcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA2LTA2LTIwICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogTWFrZWZpbGUuYW0gKEVMRl9ERVBTKTogRGVmaW5lLiAgVXNlIGluIGVtdWwgZmlsZSBkZXBzLiAgRml4CgltYW55IEVMRiBlbXVsIGZpbGUgZGVwcyB0aGF0IGluY29ycmVjdGx5IHNhaWQgdGhleSBuZWVkZWQgZWxmMzIuZW0KCWluc3RlYWQgb2YgZ2VuZXJpYy5lbS4gIEFkZCBnZW5lbGYuZW0gYXMgcmVxdWlyZWQuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBsZGxhbmcuYyAobGFuZ19wcm9jZXNzKTogQ2FsbCBsZGVtdWxfZmluaXNoIGJlZm9yZQoJbGFuZ19jaGVja19zZWN0aW9uX2FkZHJlc3Nlcy4KCSogZW11bHBhcmFtcy9hcmNlbGYuc2g6IEdlbmVyaWMgZWxmIHRhcmdldCBuZWVkcyBnZW5lbGYuCgkqIGVtdWxwYXJhbXMvZDMwdl9lLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9kMzB2X28uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2QzMHZlbGYuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyX2RseC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJfaTg2MC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJmcjMwLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmZydi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJpcTEwLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmlxMjAwMC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJtdC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvbW4xMDIwMC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvb3IzMi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvb3IzMmVsZi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvcGplbGYuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL21zcDQzMGFsbC5zaDogTGlrZXdpc2UuICBFeHRyYWN0IGNvbW1vbiBlbnRyaWVzLgoJKiBlbXVscGFyYW1zL3BqbGVsZi5zaDogSW5jbHVkZSBwamVsZi5zaC4KCSogZW11bHBhcmFtcy9lbGYzMmZydmZkLnNoIChFWFRSQV9FTV9GSUxFKTogVW5zZXQuCgkqIGVtdWxwYXJhbXMvbW4xMDMwMC5zaCAoRVhUUkFfRU1fRklMRSk6IFVuc2V0LgoJKiBlbXVsdGVtcGwvZWxmLWdlbmVyaWMuZW06IE5ldyBmaWxlLgoJKiBlbXVsdGVtcGwvZ2VuZWxmLmVtOiBOZXcgZmlsZS4KCSogZW11bHRlbXBsL2VsZjMyLmVtOiBJbmNsdWRlIGVsZi1nZW5lcmljLmVtLgoJKGdsZCR7RU1VTEFUSU9OX05BTUV9X2xheW91dF9zZWN0aW9uc19hZ2Fpbik6IERlbGV0ZS4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBDYWxsIGdsZCR7RU1VTEFUSU9OX05BTUV9X21hcF9zZWdtZW50cy4KCSogZW11bHRlbXBsL2hwcGFlbGYuZW0gKGhwcGFlbGZfbGF5b3V0X3NlY3Rpb25zX2FnYWluKTogTGlrZXdpc2UuCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fZmluaXNoKTogUmVuYW1lIGZyb20gaHBwYWVsZl9maW5pc2guICBDYWxsCglnbGQke0VNVUxBVElPTl9OQU1FfV9tYXBfc2VnbWVudHMuCgkoTERFTVVMX0ZJTklTSCk6IFVwZGF0ZS4KCSogZW11bHRlbXBsL21tby5lbTogQ29ycmVjdCBjb21tZW50LiAgSW5jbHVkZSBlbGYtYmZkLmggYW5kCglzb3VyY2UgZWxmLWdlbmVyaWMuZW0uCgkobW1vX2ZpbmlzaCk6IENhbGwgZ2xkJHtFTVVMQVRJT05fTkFNRX1fbWFwX3NlZ21lbnRzLgoJKiBlbXVsdGVtcGwvcHBjNjRlbGYuZW0gKHBwY19sYXlvdXRfc2VjdGlvbnNfYWdhaW4pOiBMaWtld2lzZS4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBSZW5hbWUgZnJvbSBwcGNfZmluaXNoLiAgQ2FsbAoJZ2xkJHtFTVVMQVRJT05fTkFNRX1fbWFwX3NlZ21lbnRzLgoJKExERU1VTF9GSU5JU0gpOiBVcGRhdGUuCgoyMDA2LTA2LTE5ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGRleHAuYyAoZm9sZF9uYW1lKTogQWRqdXN0IGJmZF9zaXplb2ZfaGVhZGVycyBjYWxsLgoKMjAwNi0wNi0xNCAgS2V2aW4gRi4gUXVpbm4gIDxrZXZxdWlubkBnZW50b28ub3JnPgoKCSogbGQudGV4aW5mbzogRG9jdW1lbnQgbmV3IC16IGxhenkgb3B0aW9uLgoJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKGdsZCR7RU1VTEFUSU9OX05BTUV9X2hhbmRsZV9vcHRpb24pOiBIYW5kbGUKCW5ldyBvcHRpb24uCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fbGlzdF9vcHRpb25zKTogVXBkYXRlIGhlbHAgdGV4dC4KCjIwMDYtMDYtMTIgIEZyZWQgRmlzaCAgPGZuZkBzcGVjaWZpeC5jb20+CgoJKiBlbXVscGFyYW1zL2VsZjMyYm1pcC5zaCAoT1RIRVJfU0VDVElPTlMpOiBLZWVwIHRoZQoJIi5tZGVidWcuPGFiaT4iIGFuZCAiLmdjY19jb21waWxlZF9sb25nPHNpemU+IiBzZWN0aW9ucwoJZ2VuZXJhdGVkIGJ5IG1pcHMgZ2NjLgoKMjAwNi0wNi0xMiAgVGhpZW1vIFNldWZlciAgPHRoc0BtaXBzLmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmNjRibWlwLnNoLCBlbXVscGFyYW1zL2VsZjY0YnRzbWlwLnNoIChDT01NT05QQUdFU0laRSk6CglEZWZpbmUuCgoyMDA2LTA2LTA5ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGRsYW5nLmggKGxhbmdfaW5wdXRfc3RhdGVtZW50X3R5cGUpOiBVc2UgYml0ZmllbGRzIGZvciBib29sZWFucy4KCSogbGRsYW5nLmMgKHN0cnVjdCBvdXRfc2VjdGlvbl9oYXNoX2VudHJ5KTogUmVuYW1lIGZyb20KCW91dHB1dF9zdGF0ZW1lbnRfaGFzaF9lbnRyeS4gIERlbGV0ZSBvdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZQoJZW50cnkuICBBZGQgc3RhdGVtZW50X3VuaW9uX3R5cGUgZW50cnkuICBBZGp1c3QgYWxsIHVzZXJzLgoJKG91dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90YWJsZSk6IFJlbmFtZSBmcm9tIG91dHB1dF9zdGF0ZW1lbnRfdGFibGUuCglBZGp1c3QgYWxsIHVzZXJzLgoJKG91dHB1dF9zZWN0aW9uX3N0YXRlbWVudF9uZXdmdW5jKTogUmVuYW1lIGZyb20KCW91dHB1dF9zdGF0ZW1lbnRfbmV3ZnVuYy4gIEFkanVzdCBhbGwgdXNlcnMuCgkob3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3RhYmxlX2luaXQpOiBSZW5hbWUgZnJvbQoJb3V0cHV0X3N0YXRlbWVudF90YWJsZV9pbml0LiAgQWRqdXN0IGFsbCB1c2Vycy4KCShvdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdGFibGVfZnJlZSk6IFJlbmFtZSBmcm9tCglvdXRwdXRfc3RhdGVtZW50X3RhYmxlX2ZyZWUuICBBZGp1c3QgYWxsIHVzZXJzLgoKMjAwNi0wNi0wNyAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBwby9NYWtlLWluIChwZGYsIHBzKTogTmV3IGR1bW15IHRhcmdldHMuCgoyMDA2LTA2LTA3ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGRsYW5nLmggKGVudW0gc2VjdGlvbl90eXBlKTogRGVsZXRlIGRzZWN0X3NlY3Rpb24sIGNvcHlfc2VjdGlvbiwKCWluZm9fc2VjdGlvbiBhbmQgb3ZlcmxheV9zZWN0aW9uLiAgQWRkIG5vYWxsb2Nfc2VjdGlvbi4KCSogbGRsYW5nLmMgKGxhbmdfYWRkX3NlY3Rpb24pOiBBZGp1c3QuCgkqIGxkZ3JhbS55ICh0eXBlKTogQWRqdXN0LgoKMjAwNi0wNi0wNiAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkbGFuZy5jIChpbml0X29zKTogV2hpdGVzcGFjZS4KCShtYXBfaW5wdXRfdG9fb3V0cHV0X3NlY3Rpb25zKTogRG9uJ3QgaW5pdF9vcyBmb3IgbGFuZ19pbnB1dF9zZWN0aW9uLgoJKHByaW50X2FsbF9zeW1ib2xzKTogUmVtb3ZlIGZvcndhcmQgZGVjbGFyYXRpb24uICBDb252ZXJ0IHRvIElTTyBDLgoKMjAwNi0wNi0wNSAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIHBvL01ha2UtaW4gKHRvcF9idWlsZGRpcik6IERlZmluZS4KCjIwMDYtMDYtMDUgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGV4cC5jIChleHBfZ2V0X2Fic19pbnQpOiBNYWtlIGVycm9yIG1lc3NhZ2UgdGhlIHNhbWUgYXMKCW90aGVycyBlbWl0dGVkIGluIHRoaXMgZmlsZS4KCjIwMDYtMDYtMDUgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBjb25maWcuaW46IFJlZ2VuZXJhdGUuCgoyMDA2LTA2LTA1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGRsYW5nLmMgKGxvb2t1cF9uYW1lKTogRGVsZXRlIGRlYWQgY29kZS4gIFJlbW92ZSBGSVhNRXMuCgoyMDA2LTA2LTAzICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHRlbXBsL2VsZjMyLmVtIChnbG9iYWxfZm91bmQpOiBNYWtlIGl0IGEgcG9pbnRlci4KCShzdGF0X25lZWRlZCwgdHJ5X25lZWRlZCk6IEFkanVzdC4KCShjaGVja19uZWVkZWQpOiBEb24ndCBza2lwIG5vbi1sb2FkZWQgYXMtbmVlZGVkIGVudHJpZXMuICBPbmx5Cgljb25zaWRlciBlbnRyaWVzIHdpdGggYm90aCBmaWxlbmFtZSBhbmQgdGhlX2JmZCBub24tbnVsbC4KCShhZnRlcl9vcGVuKTogVHJ5IGxvYWRpbmcgbm9uLWxvYWRlZCBhcy1uZWVkZWQgbGlicyB0byBzYXRpc2Z5CglEVF9ORUVERUQgbGlicy4KCjIwMDYtMDYtMDIgIEpvc2VwaCBTLiBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgoKCSogTWFrZWZpbGUuYW0gKFRFWEkyRFZJKTogQWRkIC1JICQodG9wX3NyY2RpcikvLi4vbGliaWJlcnR5LgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDYtMDUtMzEgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBNYWtlZmlsZS5hbTogUmVwbGFjZSBJTlRMTElCUyBhbmQgSU5UTERFUFMgd2l0aCBMSUJJTlRMCglhbmQgTElCSU5UTF9ERVAgZXZlcnl3aGVyZS4KCShJTlRMTElCUyk6IFJlbW92ZS4KCShJTkNMVURFUyk6IFVzZSBASU5DSU5UTEAuCgkqIGNvbmZpZ3VyZS5pbjogVXNlIFpXX0dOVV9HRVRURVhUX1NJU1RFUl9ESVIgYW5kIEFNX1BPX1NVQkRJUlMuCglSZW1vdmUgbG9jYWwgY29kZSBmb3IgcG8vTWFrZWZpbGUuCgkqIE1ha2VmaWxlLmluLCBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwNi0wNS0zMCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogZW11bHBhcmFtcy9hcmNlbGYuc2ggKE1BWFBBR0VTSVpFKTogQ2hhbmdlZCB0bwoJIkNPTlNUQU5UIChNQVhQQUdFU0laRSkiLgoJKiBlbXVscGFyYW1zL2FybWVsZl9uYnNkLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9hcm1lbGZfdnh3b3Jrcy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvYXJtbnRvLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9hcm1zeW1iaWFuLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9jcmlzbGludXguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyX2k4NjAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyX2k5NjAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyYW0zM2xpbi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJiZmluZmQuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyYm1pcG4zMi1kZWZzLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmZydmZkLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmkzNzAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMybHBwY250by5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJtY29yZS5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJvcGVucmlzYy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJwcGNudG8uc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMycHBjd2luZGlzcy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmMzJ2YXguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyeGMxNnguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMyeGMxNnhsLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMnhjMTZ4cy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmNjRfYWl4LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGY2NGhwcGEuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0bW1peC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmX2kzODZfYmUuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZl9pMzg2X2NoYW9zLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGZfaTM4Nl9sZHNvLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9ocHBhNjRsaW51eC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvaHBwYWxpbnV4LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9ocHBhb2JzZC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvaTM4Nmx5bnguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2kzODZtb3NzLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9pMzg2bnRvLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9pMzg2bncuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL20zMnJlbGZfbGludXguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL202OGtwc29zLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9vcjMyZWxmLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9wamVsZi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvcGpsZWxmLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9wcGNseW54LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9wcGNudy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvc2hlbGYzMl9uYnNkLnNoIDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvc2hlbGZfbmJzZC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvc2hlbGZfbnRvLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9zaGxlbGZfbnRvLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy94dGVuc2EtY29uZmlnLnNoOiBMaWtld2lzZS4KCgkqIGVtdWxwYXJhbXMvYXJtZWxmX2xpbnV4LnNoIChNQVhQQUdFU0laRSk6IENoYW5nZWQgdG8KCSJDT05TVEFOVCAoTUFYUEFHRVNJWkUpIi4KCShDT01NT05QQUdFU0laRSk6IENoYW5nZWQgdG8gIkNPTlNUQU5UIChDT01NT05QQUdFU0laRSkiLgoJKiBlbXVscGFyYW1zL2VsZjMyX3NwYXJjLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmJtaXAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMycHBjY29tbW9uLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGY2NF9pYTY0LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGY2NF9zMzkwLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGY2NF9zcGFyYy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmNjRhbHBoYS5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmNjRwcGMuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZl9pMzg2LnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGZfaTM4Nl92eHdvcmtzLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGZfczM5MC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmX3g4Nl82NC5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvc2hsZWxmMzJfbGludXguc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL3NobGVsZl9saW51eC5zaDogTGlrZXdpc2UuCgoJKiBlbXVscGFyYW1zL2VsZjMyYm1pcG4zMi5zaCAoQ09NTU9OUEFHRVNJWkUpOiBDaGFuZ2VkIHRvCgkiQ09OU1RBTlQgKENPTU1PTlBBR0VTSVpFKSIuCgkqIGVtdWxwYXJhbXMvZWxmMzJidHNtaXBuMzIuc2g6IExpa2V3aXNlLgoKCSogZW11bHRlbXBsL2VsZjMyLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9oYW5kbGVfb3B0aW9uKTogQWRkCgkiLXogbWF4LXBhZ2Utc2l6ZT0iIGFuZCAiLXogY29tbW9uLXBhZ2Utc2l6ZT0iLgoJKGdsZCR7RU1VTEFUSU9OX05BTUV9X2xpc3Rfb3B0aW9ucyk6IExpa2V3aXNlLgoKCSogbGQuaCAobGRfY29uZmlnX3R5cGUpOiBBZGQgbWF4cGFnZXNpemUgYW5kIGNvbW1vbnBhZ2VzaXplLgoKCSogbGQudGV4aW5mbzogRG9jdW1lbnQgIi16IG1heC1wYWdlLXNpemU9IiBhbmQKCSIteiBjb21tb24tcGFnZS1zaXplPSIuCgoJKiBsZGV4cC5jIChleHBfcHJpbnRfdG9rZW4pOiBIYW5kbGUgQ09OU1RBTlQuCgkoZm9sZF9uYW1lKTogTGlrZXdpc2UuCgkqIGxkZ3JhbS55OiBMaWtld2lzZS4KCSogbGRsZXgubDogTGlrZXdpc2UuCgoJKiBsZG1haW4uYyAobWFpbik6IEluaXRpbGlhemUgY29uZmlnLm1heHBhZ2VzaXplIGFuZAoJY29uZmlnLmNvbW1vbnBhZ2VzaXplLiBDYWxsIGJmZF9lbXVsX3NldF9tYXhwYWdlc2l6ZSBpZgoJY29uZmlnLm1heHBhZ2VzaXplIGlzbid0IDAuIENhbGwgYmZkX2VtdWxfc2V0X2NvbW1vbnBhZ2VzaXplIGlmCgljb25maWcuY29tbW9ucGFnZXNpemUgY29uZmlnLm1heHBhZ2VzaXplIGlzbid0IDAuCgoyMDA2LTA1LTMwICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogcG8vZXMucG86IFVwZGF0ZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDYtMDUtMjUgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmX3g4Nl82NC5zaCAoTUFYUEFHRVNJWkUpOiBVcGRhdGVkIHRvIDB4MjAwMDAwLgoKMjAwNi0wNS0yNCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCVBSIGxkLzE0ODUKCSogY29uZmlndXJlLmluOiBVc2UgJHtzcmNkaXJ9Ly4uL2JmZC9jb25maWcuYmZkIHRvIGNoZWNrIDY0Yml0CgliZmQuICBTdXBwb3J0IDY0Yml0IGhvc3QgZm9yIC0tZW5hYmxlLXRhcmdldHM9YWxsLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwNi0wNS0yNCAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIHBvL3ZpLnBvOiBVcGRhdGVkIFZpZXRuYW1lc2UgdHJhbnNsYXRpb24uCgoyMDA2LTA1LTI0ICBCam9lcm4gSGFhc2UgIDxiam9lcm4ubS5oYWFzZUB3ZWIuZGU+IAoKCSogY29uZmlndXJlLnRndDogQWRkIGF2cjYgdG8gZW11bGF0aW9uIGxpc3QuCgkqIE1ha2VmaWxlLmFtOiBBZGQgZWF2cjYubyBhbmQgY29ycmVzcG9uZGluZyBydWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZW11bHBhcmFtcy9hdnI2LnNoOiBOZXcgZmlsZS4KCSogZW11bHBhcmFtcy9hdnJYLnNoIChURU1QTEFURV9OQU1FKTogVXNlIGVsZjMyIGluc3RlYWQgb2YgZ2VuZXJpYwoJZm9yIHRhcmdldCBvcHRpb24gc3VwcG9ydC4KCShFWFRSQV9FTV9GSUxFKTogQWRkIHJlZmVyZW5jZSB0byBuZXcgZW0gdGVtcGxhdGUgZmlsZSBhdnJlbGYuCgkqIHNjcmlwdHRlbXBsL2F2ci5zYzogQWRkICIudHJhbXBvbGluZXMiIHNlY3Rpb24uCQoJKiBlbXVsdGVtcGwvYXZyZWxmLmVtOiBBZGQgbmV3IGZpbGUgZm9yIHRhcmdldCBzcGVjaWZpYyBvcHRpb25zLgoKMjAwNi0wNS0yMiAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIHNjcmlwdHRlbXBsL2VsZjMyY3J4LnNjICgucmRhdGEpOiBBZGQgLnJvZGF0YS4qLgoKMjAwNi0wNS0xOSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkbGFuZy5jIChsYW5nX3NpemVfc2VjdGlvbnNfMSk6IERvbid0IGNoZWNrIG1lbSByZWdpb25zIGZvcgoJb3MtPmlnbm9yZWQgc2VjdGlvbnMuCgoyMDA1LTA1LTE3ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgoKCSogbGRsYW5nLmMgKGxhbmdfc2l6ZV9zZWN0aW9ucyk6IENhbGwgbGFuZ19yZXNldF9tZW1vcnlfcmVnaW9ucwoJYmVmb3JlIHJlZG9pbmcgb25lX2xhbmdfc2l6ZV9zZWN0aW9uc19wYXNzLgoKMjAwNi0wNS0xMSAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBsZC50ZXhpbmZvOiBSZW5hbWUgIkluZGV4IiB0byAiTEQgSW5kZXgiIAoKMjAwNi0wNS0xMSAgUGVkcm8gQWx2ZXMgIDxwZWRyb19hbHZlc0Bwb3J0dWdhbG1haWwucHQ+CgoJKiBwZS1kbGwuYyAoYXV0b2ZpbHRlcl9zeW1ib2xsaXN0KTogQWRkIERsbG1haW4sCglEbGxNYWluQ1JUU3RhcnR1cCwgX0RsbE1haW5DUlRTdGFydHVwIGFuZCAudGV4dC4KCShhdXRvZmlsdGVyX2xpYmxpc3QpOiBBZGQgbGliY2VnY2MuCgkoYXV0b2ZpbHRlcl9zeW1ib2xwcmVmaXhsaXN0KTogQWRkIF9faW1wXyBhbmQgLmlkYXRhJC4KCShnZW5lcmF0ZV9yZWxvYyk6IERvIG5vdCBza2lwIHNlY3Rpb25zIHdpdGhvdXQgYSBTRUNfTE9BRCBmbGFnLAoJdGhleSBjYW4gc3RpbGwgY29udGFpbiByZWxvY3MgdGhhdCBuZWVkIHByb2Nlc3NpbmcuCglTa2lwIHRoZSAuaWRhdGEkNiBzZWN0aW9uLgoJKGptcF9hcm1fYnl0ZXMpOiBOZXcgYXJyYXk6IENvbnRhaW5zIGJ5dGUgY29kZXMgZm9yIGFuIEFSTSBqdW1wLgoJKG1ha2Vfb25lKTogVXNlIHRoZSBuZXcgYXJyYXkuCgkobWFrZV9pbXBvcnRfZml4dXBfZW50cnkpOiBVc2UgLmlkYXRhJDIgaW5zdGVhZCBvZiAuaWRhdGEkMy4KCSogZW11bHRlbXBsL3BlLmVtIChNYWpvclN1YnN5c3RlbVZlcnNpb24pOiBTZXQgdG8gMyBmb3IgYXJtcGUuCgoyMDA2LTA1LTA1ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGQudGV4aW5mbzogRG9jdW1lbnQgUG93ZXJQQyBhbmQgUG93ZXJQQzY0IG9wdGlvbnMuCgkqIGdlbi1kb2MudGV4aTogRW5hYmxlLgoKMjAwNi0wNS0wMiAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChBTV9NQUtFSU5GT0ZMQUdTKTogQWRkIGxpYmliZXJ0eS4KCShURVhJMlBPRCk6IFVzZSBBTV9NQUtFSU5GT0ZMQUdTLgoJKGNvbmZpZ2RvYy50ZXhpKTogRG9uJ3Qgc2V0IHRvcF9zcmNkaXIuCgkqIGxkLnRleGluZm86IERvbid0IHVzZSB0b3Bfc3JjZGlyLgoJKiBhY2xvY2FsLm00LCBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA2LTA0LTE5ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGRsYW5nLmMgKHdpbGQpOiBUaWR5IGRlZmF1bHRfY29tbW9uX3NlY3Rpb24gbG9vcC4KCShwcmludF9pbnB1dF9zZWN0aW9uKTogRm9ybWF0LgoKCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwNi0wNC0xNiAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOiBSZWdlbmVyYXRlZC4KCjIwMDYtMDQtMTYgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWcuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNi0wNC0xNCAgRGF2aWQgSGVpbmUgIDxkbGhlaW5lQHRlbnNpbGljYS5jb20+CgkgICAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGVtdWx0ZW1wbC94dGVuc2FlbGYuZW0gKGVsZl94dGVuc2FfYmVmb3JlX2FsbG9jYXRpb24pOiBDYWxsIG5ldwoJZnVuY3Rpb24gdG8gc3RyaXAgaW5jb25zaXN0ZW50IGxpbmtvbmNlIHNlY3Rpb25zLgoJKGlucHV0X3NlY3Rpb25fbGlua2VkX3dvcmtlciwgaW5wdXRfc2VjdGlvbl9saW5rZWQpOiBOZXcuCgkoaXNfaW5jb25zaXN0ZW50X2xpbmtvbmNlX3NlY3Rpb24pOiBOZXcuCgkoeHRlbnNhX3N0cmlwX2luY29uc2lzdGVudF9saW5rb25jZV9zZWN0aW9ucyk6IE5ldy4KCjIwMDYtMDQtMTEgIERpZWdvIFBldHRlbvIgIDxmbGFtZWV5ZXNAZ2VudG9vLm9yZz4KCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbTogQWRkIHN1cHBvcnQgZm9yIGVsZi1oaW50cy5oIG9uIEZyZWVCU0QKCWFuZCBEcmFnb25mbHkgdGFyZ2V0cy4KCSogY29uZmlndXJlLmluIChBQ19DSEVDS19IRUFERVJTKTogQWRkIGVsZi1oaW50cy5oLgoJKiBNYWtlZmlsZS5hbSAoSEZJTEVTKTogQWRkIGVsZi1oaW50cy1sb2NhbC5oLgoJKiBlbGYtaGludHMtbG9jYWwuaDogTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDA2LTA0LTA3ICBCZXJuaGFyZCBGaXNjaGVyICA8YWxkb3RAZ2NjLmdudS5vcmc+CgoJKiBsZC50ZXhpbmZvOiBGaXggdHlwbyBpbiBkb2N1bWVudGF0aW9uIG9mIC0tY2hlY2stc2VjdGlvbnMuCgoyMDA2LTA0LTA3ICBLYXogS29qaW1hICA8a2tvamltYUByci5paWo0dS5vci5qcD4KCgkqIGxkbGFuZy5jIChsb2FkX3N5bWJvbHMpOiBTZXQgYXNfbmVlZGVkIGFuZCBhZGRfbmVlZGVkIGFjY29yZGluZwoJdG8gdGhlIGNvcnJlc3BvbmRpbmcgc2NyaXB0J3MgZmllbGRzIHdoaWxlIHByb2Nlc3NpbmcgaXQuCgoyMDA2LTA0LTA2ICBDYXJsb3MgTydEb25lbGwgIDxjYXJsb3NAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGQgaW5zdGFsbC1odG1sLCBpbnN0YWxsLWh0bWwtYW0sIGFuZAoJaW5zdGFsbC1odG1sLXJlY3Vyc2l2ZSB0YXJnZXRzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLmluOiBBQ19TVUJTVCBkYXRhcm9vdGRpciwgZG9jZGlyLCBodG1sZGlyLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIHBvL01ha2UtaW46IEFkZCBpbnN0YWxsLWh0bWwgdGFyZ2V0LgoKMjAwNi0wNC0wNiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogZW11bHRlbXBsL2lhNjRlbGYuZW06IFNldCBsaW5rX2luZm8ucmVsYXhfcGFzcyB0byAyLiBSZW1vdmUKCWxpbmtfaW5mby5uZWVkX3JlbGF4X2ZpbmFsaXplLgoKCSogbGRsYW5nLmMgKHJlbGF4X3NlY3Rpb25zKTogTmV3LgoJKGxhbmdfcHJvY2Vzcyk6IFVzZS4gQ2FsbCByZWxheF9zZWN0aW9ucyBsaW5rX2luZm8ucmVsYXhfcGFzcwoJdGltZXMuCgoJKiBsZG1haW4uYyAobWFpbik6IFNldCBsaW5rX2luZm8ucmVsYXhfcGFzcyB0byAxLiBSZW1vdmUKCWxpbmtfaW5mby5uZWVkX3JlbGF4X2ZpbmFsaXplLgoKMjAwNi0wNC0wNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIE1ha2VmaWxlLmFtIChHRU5TQ1JJUFRTKTogUGFzcyBwcmVmaXguCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBnZW5zY3JpcHRzLnNoOiBBZGp1c3QgZm9yIGV4dHJhIHBhcmFtZXRlci4KCSogZW11bHRlbXBsL2VsZjMyLmVtIChwYXJzZV9sZF9zb19jb25mKTogUmV0dXJuIHRydWUgaWZmIGZpbGUKCWV4aXN0cy4KCShjaGVja19sZF9zb19jb25mKTogVXNlICR7cHJlZml4fS9ldGMvbGQuc28uY29uZiBpZiBpdCBleGlzdHMuCgkqIE5FV1M6IFVwZGF0ZS4KCjIwMDYtMDQtMDUgIFJpY2hhcmQgU2FuZGlmb3JkICA8cmljaGFyZEBjb2Rlc291cmNlcnkuY29tPgoJICAgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWd1cmUudGd0IChzcGFyYyotKi12eHdvcmtzKik6IE5ldyBzdGFuemEuCgkqIGVtdWxwYXJhbXMvZWxmMzJfc3BhcmNfdnh3b3Jrcy5zaDogTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmFtIChBTExfRU1VTEFUSU9OUyk6IEFkZCBlZWxmMzJfc3BhcmNfdnh3b3Jrcy5vLgoJKGVlbGYzMl9zcGFyY192eHdvcmtzLmMpOiBOZXcgcnVsZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA2LTA0LTA0ICBFcmljIEJvdGNhem91ICA8ZWJvdGNhem91QGFkYWNvcmUuY29tPgoKCSogbGRsYW5nLmMgKGxhbmdfbWFwKTogUHJpbnQgdGhlIGxpc3Qgb2YgZGlzY2FyZGVkIGlucHV0IHNlY3Rpb25zLgoJKHByaW50X2lucHV0X3NlY3Rpb24pOiBDaGFuZ2UgcGFyYW1ldGVyIGFuZCBwcmludCB6ZXJvLXNpemVkIHNlY3Rpb25zLgoJKHByaW50X3N0YXRlbWVudCk6IEFkanVzdCBjYWxsIHRvIHByaW50X2lucHV0X3NlY3Rpb24uCgoyMDA2LTA0LTAxICBEYW5ueSBTbWl0aCAgPGRhbm55c21pdGhAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZGVmZmlsZXAueSAoZGVmX2ltYWdlX25hbWUpOiBJZiBMSUJSQVJZIG9yIE5BTUUgc3RhdGVtZW50CglzcGVjaWZpZXMgYW4gZW1wdHkgc3RyaW5nLCByZXRhaW4gdGhlIG5hbWUgc3BlY2lmaWVkIG9uIGNvbW1hbmQKCWxpbmUuCgkqIGxkLnRleGluZm86IERvY3VtZW50IGFib3ZlLgoKMjAwNi0wMy0zMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsZG1pc2MuYyAodmZpbmZvKTogUmV2ZXJ0IDIwMDUtMTAtMDUgY2hhbmdlcy4gIElmCgliZmRfZmluZF9uZWFyZXN0X2xpbmUgc3VjY2VlZGVkIGZvciAlQyBvciAlRCwgYnV0IGZpbGVuYW1lCglpcyBOVUxMLCBwcmludCBzZWN0aW9uK29mZnNldCBhdCB0aGUgZW5kLgoKMjAwNi0wMy0yNSAgQmVybmQgU2NobWlkdCAgPGJlcm5kLnNjaG1pZHRAYW5hbG9nLmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmMzJiZmluZmQuc2g6IE5ldyBmaWxlLgoJKiBlbXVsdGVtcGwvYmZpbi5lbTogRGVsZXRlLgoJKiBlbXVscGFyYW1zL2JmaW4uc2g6IExvc2UgcmVmZXJlbmNlIHRvIGJmaW4uZW0uCgkqIE1ha2VmaWxlLmFtIChlZWxmMzJiZmluLmMpOiBMaWtld2lzZS4KCShlZWxmMzJiZmluZmQuYyk6IE5ldy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS50Z3QgKGJmaW4tKi1lbGYsIGJmaW4tKi11Y2xpbnV4KTogQWRkIGVsZjMyYmZpbmZkIHRvCgl0YXJnX2V4dHJhX2VtdWxzLgoKMjAwNi0wMy0yMiAgUmljaGFyZCBTYW5kaWZvcmQgIDxyaWNoYXJkQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCSAgICBQaGlsIEVkd2FyZHMgIDxwaGlsQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCSAgICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoJICAgIE5hdGhhbiBTaWR3ZWxsICA8bmF0aGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWd1cmUudGd0IChtaXBzKmVsLSotdnh3b3JrcyosIG1pcHMqLSotdnh3b3JrcyopOiBVc2UKCXNlcGFyYXRlIFZ4V29ya3MgZW11bGF0aW9ucy4KCSogZW11bHBhcmFtcy9lbGYzMmVibWlwdnh3b3Jrcy5zaDogTmV3IGZpbGUuCgkqIGVtdWxwYXJhbXMvZWxmMzJlbG1pcHZ4d29ya3Muc2g6IE5ldyBmaWxlLgoJKiBNYWtlZmlsZS5hbSAoQUxMX0VNVUxBVElPTlMpOiBBZGQgZWVsZjMyZWJtaXB2eHdvcmtzLm8gYW5kCgllZWxmMzJlbG1pcHZ4d29ya3Muby4KCShlZWxmMzJlYm1pcHZ4d29ya3MuYywgZWVsZjMyZWxtaXB2eHdvcmtzLmMpOiBOZXcgcnVsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNi0wMy0xNiAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCglQUiAyNDM0CgkqIGxkY3JlZi5jIChhZGRfY3JlZik6IEFkanVzdCBiZmRfaGFzaF90YWJsZV9pbml0IGNhbGxzLgoJKiBsZGxhbmcuYyAob3V0cHV0X3N0YXRlbWVudF90YWJsZV9pbml0LCBsYW5nX2luaXQpOiBMaWtld2lzZS4KCSogbGRtYWluLmMgKGFkZF95c3ltLCBhZGRfd3JhcCwgYWRkX2tlZXBzeW1zX2ZpbGUpOiBMaWtld2lzZS4KCSh1bmRlZmluZWRfc3ltYm9sKTogTGlrZXdpc2UuCgoyMDA2LTAzLTA3ICBSaWNoYXJkIFNhbmRpZm9yZCAgPHJpY2hhcmRAY29kZXNvdXJjZXJ5LmNvbT4KCSAgICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgoJICAgIFphY2sgV2VpbmJlcmcgIDx6YWNrQGNvZGVzb3VyY2VyeS5jb20+CgkgICAgTmF0aGFuIFNpZHdlbGwgIDxuYXRoYW5AY29kZXNvdXJjZXJ5LmNvbT4KCSAgICBQYXVsIEJyb29rICA8cGF1bEBjb2Rlc291cmNlcnkuY29tPgoJICAgIFJpY2FyZG8gQW5ndWlhbm8gIDxhbmd1aWFub0Bjb2Rlc291cmNlcnkuY29tPgoJICAgIFBoaWwgRWR3YXJkcyAgPHBoaWxAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGVtdWxwYXJhbXMvYXJtZWxmX3Z4d29ya3Muc2g6IEluY2x1ZGUgdnh3b3Jrcy5zaC4KCShNQVhQQUdFU0laRSk6IERlZmluZS4KCSogZW11bHBhcmFtcy92eHdvcmtzLnNoOiBVbmRlZmluZSBFTUJFRERFRC4KCSogTWFrZWZpbGUuYW0gKGVhcm1lbGZfdnh3b3Jrcy5jKTogRGVwZW5kIG9uIHZ4d29ya3Muc2ggYW5kIHZ4d29ya3MuZW0uCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNi0wMy0wMyAgQmpvZXJuIEhhYXNlICA8YmpvZXJuLm0uaGFhc2VAd2ViLmRlPgoKCSogc2NyaXB0dGVtcGwvYXZyLnNjOiAgQWRkICooLmp1bXB0YWJsZXMpICooLmxvd3RleHQpIHNlY3Rpb25zLgoJQWRkIEtFRVAoKSBkaXJlY3RpdmVzLgoJQWRkICooLmRhdGEqKSAqKC5yb2RhdGEpIGFuZCAqKC5yb2RhdGEqKSBhbmQgKiguYnNzKikgdG8gLmRhdGEgYW5kCgkuYnNzIG91dHB1dCBzZWN0aW9ucy4KCjIwMDYtMDMtMDMgIFJpY2hhcmQgU2FuZGlmb3JkICA8cmljaGFyZEBjb2Rlc291cmNlcnkuY29tPgoKCSogZW11bHBhcmFtcy92eHdvcmtzLnNoIChWWFdPUktTX0JBU0VfRU1fRklMRSk6IE5ldyB2YXJpYWJsZS4KCShFWFRSQV9FTV9GSUxFKTogRGVmaW5lLgoJKiBlbXVsdGVtcGwvdnh3b3Jrcy5lbTogTmV3IGZpbGUuCgkqIGxkLnRleGluZm8gKC0tZm9yY2UtZHluYW1pYyk6IERvY3VtZW50LgoJKiBNYWtlZmlsZS5hbSAoZWVsZjMycHBjdnh3b3Jrcy5jbSwgZWVsZl9pMzg2X3Z4d29ya3MuYyk6IERlcGVuZAoJb24gdnh3b3Jrcy5lbS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA2LTAzLTAyICBSaWNoYXJkIFNhbmRpZm9yZCAgPHJpY2hhcmRAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmMzJwcGNjb21tb24uc2g6IE5ldyBmaWxlLCBleHRyYWN0ZWQgZnJvbS4uLgoJKiBlbXVscGFyYW1zL2VsZjMycHBjLnNoOiAuLi5oZXJlLgoJKiBlbXVscGFyYW1zL2VsZjMycHBjdnh3b3Jrcy5zaDogSW5jbHVkZSBlbGYzMnBwY2NvbW1vbi5zaAoJaW5zdGVhZCBvZiBlbGYzMnBwYy5zaC4KCShCU1NfUExUKTogUmVtb3ZlIG92ZXJyaWRlLgoJKiBNYWtlZmlsZS5hbSAoZWVsZjMybHBwYy5jKTogRGVwZW5kIG9uIGVsZjMycHBjY29tbW9ucy5oLgoJKGVlbGYzMmxwcGNudG8uYywgZWVsZjMybHBwY3NpbS5jLCBlZWxmMzJwcGNudG8uYyk6IExpa2V3aXNlLgoJKGVlbGYzMnBwYy5jLCBlZWxmMzJwcGNfZmJzZC5jLCBlZWxmMzJwcGNzaW1tKTogTGlrZXdpc2UuCgkoZWVsZjMycHBjbGludXguYyk6IExpa2V3aXNlLgoJKGVlbGYzMnBwY3Z4d29ya3MuYyk6IExpa2V3aXNlLiAgQWRkIG1pc3Npbmcgdnh3b3Jrcy5zaCBkZXBlbmRlbmN5LgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDYtMDItMjcgIENhcmxvcyBPJ0RvbmVsbCAgPGNhcmxvc0Bjb2Rlc291cmNlcnkuY29tPgoKCSogTWFrZWZpbGUuYW06IEFkZCBodG1sIHRhcmdldC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIHBvL01ha2UtaW46IEFkZCBodG1sIHRhcmdldC4KCjIwMDYtMDItMTcgIFNocmlyYW5nIEtoaXN0aSAgPHNocmlyYW5na0BrcGl0Y3VtbWlucy5jb20+CiAgICAgICAgICAgIEFuaWwgUGFyYW5qYXBlICAgPGFuaWxwMUBrcGl0Y3VtbWlucy5jb20+CiAgICAgICAgICAgIFNoaWxpbiBTaGFrdGkgICAgPHNoaWxpbnNAa3BpdGN1bW1pbnMuY29tPgoKCSogc2NyaXB0dGVtcC9lbGYzMnhjMTZ4LnNjOiBEZWZhdWx0IGxpbmtlciBzY3JpcHQgZm9yIHRpbnkgbW9kZWwuCgkqIHNjcmlwdHRlbXAvZWxmMzJ4YzE2eGwuc2M6IERlZmF1bHQgbGlua2VyIHNjcmlwdCBmb3IgbGFyZ2UgbW9kZWwuCgkqIHNjcmlwdHRlbXAvZWxmMzJ4YzE2eHMuc2M6IERlZmF1bHQgbGlua2VyIHNjcmlwdCBmb3Igc21hbGwgbW9kZWwuCgkqIGVtdWxwYXJhbXMvZWxmMzJ4YzE2eC5zaDogRW11bGF0aW9uIHNjcmlwdCBmb3IgdGlueSBtb2RlbC4KCSogZW11bHBhcmFtcy9lbGYzMnhjMTZ4bC5zaDogRW11bGF0aW9uIHNjcmlwdCBmb3IgbGFyZ2UgbW9kZWwuCgkqIGVtdWxwYXJhbXMvZWxmMzJ4YzE2eHMuc2g6IEVtdWxhdGlvbiBzY3JpcHQgZm9yIHNtYWxsIG1vZGVsLgoJKiBNYWtlZmlsZS5hbTogQWRkIGVudHJ5IHRvIG1ha2UgeGMxNnggdGFyZ2V0LgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLnRndDogU3BlY2lmeSBkZWZhdWx0IGFuZCBvdGhlciBlbXVsYXRpb24gcGFyYW1ldGVycwoJZm9yIHhjMTZ4LgoJKiBORVdTOiBBbm5vdW5jZSB0aGUgc3VwcG9ydCBmb3IgdGhlIG5ldyB0YXJnZXQuCgoyMDA2LTAyLTE2ICBOaWNrIEh1ZHNvbiAgPG5pY2suaHVkc29uQGRzbC5waXBleC5jb20+CgoJKiBjb25maWd1cmUudGd0IChtaXBzKmVsLSotbmV0YnNkKiwgbWlwcyotKi1uZXRic2QqKToKCVVzZSB0aGUgdHJhZGl0aW9uYWwgdGFyZ2V0LgoKMjAwNi0wMi0xMyAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWd1cmUudGd0IChhcm0qYi0qLWxpbnV4LWdudWVhYmkpOiBDaGFuZ2UgdG8KCWFybSpiLSotbGludXgtKmVhYmkuCgkoYXJtKi0qLWxpbnV4LWdudWVhYmkpOiBDaGFuZ2UgdG8gYXJtKi0qLWxpbnV4LSplYWJpLgoKMjAwNi0wMi0wOCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCVBSIGxkLzIyOTAKCSogTkVXUzogVXBkYXRlZCBmb3IgdGhlIExpbnV4IGxpbmtlciBzZWFyY2ggb3JkZXIgY2hhbmdlLgoKCSogZW11bHRlbXBsL2VsZjMyLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9vcGVuKTogQ2FsbAoJZ2xkJHtFTVVMQVRJT05fTkFNRX1fY2hlY2tfbGRfc29fY29uZiBiZWZvcmUgY2hlY2tpbmcgZGVmYXVsdAoJc2VhcmNoIGRpcmVjdG9yaWVzIGZvciBEVF9ORUVERUQgZW50cmllcy4KCjIwMDYtMDItMDcgIFBhdWwgQnJvb2sgIDxwYXVsQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBlbXVsdGVtcGwvYXJtZWxmLmVtOiBJbmNsdWRlIGVsZi9hcm0uaC4KCShhcm1fZWxmX2ZpbmlzaCk6IFNldCBsb3cgYWRkcmVzcyBiaXQgaWYgZW50eSBwb2ludCBpcyBhIFRodW1iCglmdW5jdGlvbi4KCjIwMDYtMDItMDEgIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBkZWZmaWxlcC55IChkZWZfaW1hZ2VfbmFtZSk6IElmIHRoZSBpbWFnZSBuYW1lIGRvZXMgbm90IGhhdmUKCWEgc3VmZml4LCBhcHBlbmQgdGhlIGRlZmF1bHQuCgkqIGxkLnRleGluZm86IERvY3VtZW50IE5BTUUsIExJQlJBUlkgdXNhZ2UgaW4gUEUtQ09GRiAuZGVmIGZpbGVzLgoKMjAwNi0wMS0zMSAgRGFubnkgU21pdGggIGRhbm55c21pdGhAdXNlcnMuc291cmNlZm9yZ2UubmV0CgoJKiBORVdTOiBNZW50aW9uIHN1cHBvcnQgZm9yIGZvcndhcmQgZXhwb3J0cyBpbiBQRS1DT0ZGIGRsbCdzLgoJKiBsZC50ZXhpbmZvOiBFeHBhbmQgZG9jdW1lbnRhdGlvbiBvZiBFWFBPUlQgc3RhdGVtZW50cyBpbgoJUEUtQ09GRiAuZGVmIGZpbGVzLgoKMjAwNi0wMS0zMSAgRmlsaXAgTmF2YXJhICA8bmF2YXJhZkByZWFjdG9zLmNvbT4KCgkqIGRlZmZpbGUuaCAoc3RydWN0IGRlZl9maWxlX2V4cG9ydCk6IEFkZCBmaWVsZCBmbGFnX2ZvcndhcmQuCgkqIHBlLWRsbC5jIChwcm9jZXNzX2RlZl9maWxlKTogQ2hlY2sgZm9yIGZvcndhcmQgZXhwb3J0cy4KCShnZW5lcmF0ZV9lZGF0YSk6IEdlbmVyYXRlIGZvcndhcmQgZXhwb3J0IHN5bWJvbHMuCgkoZmlsbF9lZGF0YSk6IEVtaXQgdGhlbS4KCgkqIHBlLWRsbC5jIChwcm9jZXNzX2RlZl9maWxlKTogRG9uJ3QgY3Jhc2ggb24gbWFsZm9ybWVkCglmYXN0Y2FsbCBzeW1ib2wgbmFtZXMgaW4gLmRlZiBmaWxlLgoKMjAwNi0wMS0zMCAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIHBvL3ZpLnBvOiBVcGRhdGVkIFZpZXRuYW1lc2UgdHJhbnNsYXRpb24uCgoyMDA2LTAxLTI3ICBZaXR6Y2hhayBTY290dC1UaG9lbm5lcyAgPHN0aG9lbm5hQGVmbi5vcmc+CgoJKiBwZS1kbGwuYyAocGVfZGxsX2dlbmVyYXRlX2ltcGxpYik6IElzc3VlICJDcmVhdGluZyBsaWJyYXJ5CglmaWxlOiIgYXMgaW5mb3JtYXRpb25hbCBtZXNzYWdlLCBub3QgYSB3YXJuaW5nLgoKMjAwNi0wMS0xOCAgUm9nZXIgU2F5bGUgIDxyb2dlckBleWVzb3Blbi5jb20+CgoJKiBlbXVsdGVtcGwvaXJpeC5lbTogVXNlIGxiYXNlbmFtZSBpbnN0ZWFkIG9mIGJhc2VuYW1lLgoKMjAwNi0wMS0xNiAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIHBvL3poX0NOLnBvOiBOZXcgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgkqIGNvbmZpZ3VyZS5pbiAoQUxMX0xJTkdVQVMpOiBBZGQgInpoX0NIIi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwNi0wMS0xNiAgQmVybmhhcmQgRmlzY2hlciAgPGFsZG90QGdjYy5nbnUub3JnPgoKCSogbGQudGV4aW5mbyAoT3B0aW9ucyk6IEZpeCB0eXBvLgoKRm9yIG9sZGVyIGNoYW5nZXMgc2VlIENoYW5nZUxvZy0yMDA1CgwKTG9jYWwgVmFyaWFibGVzOgptb2RlOiBjaGFuZ2UtbG9nCmxlZnQtbWFyZ2luOiA4CmZpbGwtY29sdW1uOiA3NAp2ZXJzaW9uLWNvbnRyb2w6IG5ldmVyCkVuZDoK