MjAwOC0wOS0wOCAgVHJpc3RhbiBHaW5nb2xkICA8Z2luZ29sZEBhZGFjb3JlLmNvbT4KCgkqIE5FV1M6IEFkZCBhIG1hcmtlciBmb3IgdGhlIDIuMTkgZmVhdHVyZXMuCgoyMDA4LTA5LTA3ICBKb2huIERhdmlkIEFuZ2xpbiAgPGRhdmUuYW5nbGluQG5yYy1jbnJjLmdjLmNhPgoKCSogY29uZmlnL3RjLWhwcGEuaCAoRElGRl9FWFBSX09LKTogRGVmaW5lIGZvciBTT00gdGFyZ2V0LiAgUmV2aXNlCgljb21tZW50IHJlZ2FyZGluZyB1c2Ugb2YgZGlmZmVyZW5jZSBleHByZXNzaW9ucy4KCShUQ19GT1JDRV9SRUxPQ0FUSU9OX1NVQl9MT0NBTCk6IERlZmluZSB0byAxLgoKCSogZHcyZ2VuY2ZpLmMgKENGSV9ESUZGX0VYUFJfT0spOiBEZWZpbmUgaWYgbm90IGRlZmluZWQuCgkoZG90X2NmaV9wZXJzb25hbGl0eSk6IFVzZSBDRklfRElGRl9FWFBSX09LIGluc3RlYWQgb2YgRElGRl9FWFBSX09LLgoJKGRvdF9jZmlfbHNkYSwgb3V0cHV0X2NpZSwgb3V0cHV0X2ZkZSk6IExpa2V3aXNlLgoJKiBjb25maWcvdGMtaHBwYS5oIChDRklfRElGRl9FWFBSX09LKTogRGVmaW5lLgoKMjAwOC0wOS0wNiAgUmljaGFyZCBTYW5kaWZvcmQgIDxyZHNhbmRpZm9yZEBnb29nbGVtYWlsLmNvbT4KCgkqIGNvbmZpZy90Yy1taXBzLmggKERXQVJGMl9GREVfUkVMT0NfU0laRSk6IERlZmluZS4KCjIwMDgtMDktMDMgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChwZV9sY29tbV9pbnRlcm5hbCk6IE5ldyBmdW5jdGlvbi4gIEFsbG93cyB0aGUKCWFsaWdubWVudCBmaWVsZCBvZiB0aGUgLmxjb21tIGRpcmVjdGl2ZSB0byBiZSBvcHRpb25hbC4KCShwZV9sY29tbSk6IE5ldyBmdW5jdGlvbi4gIFBhc3MgcGVfbGNvbW1faW50ZXJuYWwgdG8KCXNfY29tbV9pbnRlcm5hbC4KCShtZF9wc2V1ZG9fdGFibGUpOiBJbXBsZW1lbnQgLmxjb21tIGRpcmVjdGl2ZSBmb3IgQ09GRiBiYXNlZAoJdGFyZ2V0cy4KCSogZG9jL2MtaTM4Ni50ZXhpIChpMzg2LURpcmVjdGl2ZXMpOiBOZXcgbm9kZS4gIFVzZWQgdG8gZG9jdW1lbnQKCXRoZSAubGNvbW0gZGlyZWN0aXZlLgoJCjIwMDgtMDgtMzAgIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZS5hbmdsaW5AbnJjLWNucmMuZ2MuY2E+CgoJKiBjb25maWcvdGMtaHBwYS5oOiBEb24ndCBkZWZpbmUgRFdBUkYyX0VIX0ZSQU1FX1JFQURfT05MWSBvbiBMaW51eAoJYW5kIE5ldEJTRC4KCjIwMDgtMDgtMjkgIEVyaWMgQi4gV2VkZGluZ3RvbiAgPGVyaWMud2VkZGluZ3RvbkBhdG1lbC5jb20+CgoJKiBjb25maWcvdGMtYXZyLmMgKG1jdV90eXBlcyk6IEFkZCBhdG1lZ2ExNnU0LgoJKiBkb2MvYy1hdnIudGV4aTogTGlrZXdpc2UuCgoyMDA4LTA4LTI4ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBjb25maWcvdGMtaWE2NC5jIChDUl9JSUIwKTogTmV3LgoJKENSX0lJQjEpOiBMaWtld2lzZS4KCShjcik6IEFkZCBjci5paWIwIGFuZCBjci5paWIxLgoJKHNwZWNpZnlfcmVzb3VyY2UpOiBIYW5kbGUgSUE2NF9SU19DUl9JSUIgYW5kIENSX0lJQjAvQ1JfSUlCMS4KCjIwMDgtMDgtMjggIEphbiBCZXVsaWNoICA8amJldWxpY2hAbm92ZWxsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKG1kX2Fzc2VtYmxlKTogRm9yY2UgbnVtYmVyIG9mIGRpc3BsYWNlbWVudAoJb3BlcmFuZHMgdG8gemVybyB3aGVuIHByb2Nlc3Npbmcgc3RyaW5nIGluc3RydWN0aW9uLgoJKGkzODZfaW5kZXhfY2hlY2spOiBTcGVjaWFsLWNhc2Ugc3RyaW5nIGluc3RydWN0aW9uIG9wZXJhbmRzLiBEb24ndAoJZnVkZ2UgYWRkcmVzcyBwcmVmaXggaWYgdGhlcmUgYWxyZWFkeSB3YXMgYSBtZW1vcnkgb3BlcmFuZC4gRml4CgllcnJvciBtZXNzYWdlIHRvIGNvcnJlY3RseSByZWZsZWN0IHRoZSBhZGRyZXNzaW5nIG1vZGUgdXNlZC4KCShpMzg2X2F0dF9vcGVyYW5kKTogRml4IGNvbW1lbnQuCgkoaTM4Nl9pbnRlbF9vcGVyYW5kKTogU25hcHNob3QsIGNsZWFyLCBhbmQgcmVzdG9yZSBiYXNlIGFuZCBpbmRleAoJcmVnIGZvciBlYWNoIG9wZXJhbmQgcHJvY2Vzc2VkLiBJbmNyZW1lbnQgY291bnQgb2YgbWVtb3J5IG9wZXJhbmRzCglsYXRlci4KCjIwMDgtMDgtMjcgIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZS5hbmdsaW5AbnJjLWNucmMuZ2MuY2E+CgoJKiBjb25maWcvdGMtaHBwYS5jIChpc19TQl9yZWxhdGl2ZSk6IE5ldyBtYWNyby4KCShmaXhfbmV3X2hwcGEpOiBSZW1vdmUgJHNlZ3JlbCQgbWFya2VyLgoJKGNvbnNfZml4X25ld19ocHBhKTogU2V0IHJlbG9jIHR5cGUgUl9QQVJJU0NfU0VHUkVMMzIgaWYgZXhwcmVzc2lvbiBpcwoJc2VnbWVudCByZWxhdGl2ZS4KCSogY29uZmlnL3RjLWhwcGEuaCAodGNfZnJvYl9zeW1ib2wpOiBDaGVjayBmb3IgJHNlZ3JlbCQuCgoyMDA4LTA4LTI3ICBKYW4gQmV1bGljaCAgPGpiZXVsaWNoQG5vdmVsbC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChjaGVja19zdHJpbmcpOiBVc2UgcmVnaXN0ZXJfcHJlZml4IGZvciBlcnJvcgoJbWVzc2FnZS4KCShwcm9jZXNzX29wZXJhbmRzKTogTGlrZXdpc2UuCgoyMDA4LTA4LTI2ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogYy1hcm0udGV4aTogQWRkIHR1dG9yaWFsIG9uIEFSTSB1bndpbmRpbmcgcHNldWRvIG9wcy4KCjIwMDgtMDgtMjYgIEppZSBaaGFuZyAgPGppZS56aGFuZ0BhbmFsb2cuY29tPgoKCSogY29uZmlnL2JmaW4tcGFyc2UueSAoY2hlY2tfbWFjZnVuY19vcHRpb24pOiBGaXggaW5zdHJ1Y3Rpb24KCW1vZGUgY2hlY2tpbmcuCgkoYXNtXzEpOiBDaGVjayBtb2RlIGZvciAxNi1iaXQgbXVsdGlwbHkgaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wOC0yNCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGNvbmZpZ3VyZS5pbjogVXBkYXRlIGEgbnVtYmVyIG9mIG9ic29sZXRlIGF1dG9jb25mIG1hY3Jvcy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoKMjAwOC0wOC0yMiAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy90Yy1tY29yZS5jIChtZF9hc3NlbWJsZSk6IEluY3JlYXNlIGxlbmd0aCBvZiBuYW1lIGFycmF5Cgl0byBpbmNsdWRlIHRlcm1pbmF0aW5nIE5VTC4KCjIwMDgtMDgtMjIgIEppZSBaaGFuZyAgPGppZS56aGFuZ0BhbmFsb2cuY29tPgoKCSogY29uZmlnL2JmaW4tbGV4LmwgKE5VTUJFUik6IFByb3RlY3Qgc3BlY2lhbCBgLicuCgoyMDA4LTA4LTIyICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogc3ltYm9scy5jIChzeW1ib2xfY2xvbmUpOiBFbnN1cmUgY2xvbmVzIGFyZSBub3QgZXh0ZXJuYWwuCgoyMDA4LTA4LTIyICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogY29uZmlnL3RjLWhwcGEuYyAobWRfYmVnaW4pOiBTZXQgQlNGX0tFRVAgZm9yICJkdW1teV9zeW1ib2wiLgoKMjAwOC0wOC0yMSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIGR3MmdlbmNmaS5jIChEV0FSRjJfRkRFX1JFTE9DX1NJWkUpOiBOZXcuCgkob3V0cHV0X2NpZSwgb3V0cHV0X2ZkZSk6IFVzZSBpdC4KCShEV0FSRjJfRUhfRlJBTUVfUkVBRF9PTkxZKTogTmV3LgoJKGNmaV9maW5pc2gpOiBVc2UgaXQuCgoJKiBjb25maWcvdGMtaHBwYS5oIChEV0FSRjJfRkRFX1JFTE9DX1NJWkUpOiBTZXQgdG8gOCBmb3IgNjQtYml0LgoJKERXQVJGMl9DSUVfREFUQV9BTElHTk1FTlQpOiBDaGFuZ2Ugc2lnbi4KCShEV0FSRjJfRUhfRlJBTUVfUkVBRF9PTkxZKTogTmV3LgoJKiBjb25maWcvdGMtaHBwYS5jICh0Y19nZW5fcmVsb2MpOiBHZW5lcmF0ZSBwYy1yZWxhdGl2ZSByZWxvY2F0aW9ucwoJZnJvbSB0aGUgcmVzdWx0cyBvZiBESUZGX0VYUFJfT0sgbWFuaXB1bGF0aW9uLgoKMjAwOC0wOC0yMSAgU3RlcmxpbmcgQXVndXN0aW5lICA8c3RlcmxpbmdAdGVuc2lsaWNhLmNvbT4KCgkqIGNvbmZpZy94dGVuc2EtaXN0YWNrLmggKE1BWF9JTlNOX0FSR1MpOiBJbmNyZWFzZSB0byA2NC4KCjIwMDgtMDgtMjAgIEJvYiBXaWxzb24gIDxib2Iud2lsc29uQGFjbS5vcmc+CgoJKiBjb25maWcvdGMteHRlbnNhLmMgKE9fdGxzZnVuYywgT190bHNhcmcsIE9fdGxzY2FsbCk6IERlZmluZS4KCShPX3Rwb2ZmLCBPX2R0cG9mZik6IERlZmluZS4KCShzdWZmaXhfcmVsb2NzKTogQWRkIGVudHJpZXMgZm9yIFRMUyBzdWZmaXhlcy4KCSh4dGVuc2FfZWxmX2NvbnMpOiBDaGVjayBmb3IgaW52YWxpZCB1c2Ugb2YgVExTIHJlbG9jYXRpb25zLgoJKG1hcF9vcGVyYXRvcl90b19yZWxvYyk6IEFkZCBpc19saXRlcmFsIHBhcmFtZXRlciBhbmQgdXNlIGl0IHRvCgljb250cm9sIHRyYW5zbGF0aW5nIFRMUyBpbnN0cnVjdGlvbiByZWxvY2F0aW9ucyB0byB0aGUgY29ycmVzcG9uZGluZwoJbGl0ZXJhbCByZWxvY2F0aW9ucy4KCSh4Z192YWxpZF9saXRlcmFsX2V4cHJlc3Npb24pOiBBbGxvdyBUTFMgb3BlcmF0b3JzLgoJKHhnX2J1aWxkX3RvX2luc24pOiBDb3B5IFRMUyBvcGVyYXRvcnMgZnJvbSBwc2V1ZG8taW5zdHJ1Y3Rpb24KCW9wZXJhbmRzIHRvIGdlbmVyYXRlZCBsaXRlcmFscy4KCSh4Z19hc3NlbWJsZV9saXRlcmFsKTogSGFuZGxlIFRMUyBvcGVyYXRvcnMuICBVcGRhdGUgY2FsbCB0bwoJbWFwX29wZXJhdG9yX3RvX3JlbG9jLgoJKG1kX2Fzc2VtYmxlKTogSGFuZGxlIENBTExYbi5UTFMgcHNldWRvLWluc3RydWN0aW9uLgoJKG1kX2FwcGx5X2ZpeCk6IEhhbmRsZSBUTFMgcmVsb2NhdGlvbnMuCgkoZW1pdF9zaW5nbGVfb3ApOiBIYW5kbGUgVExTIG9wZXJhdG9ycy4KCShjb252ZXJ0X2ZyYWdfaW1tZWQpOiBVcGRhdGUgY2FsbCB0byBtYXBfb3BlcmF0b3JfdG9fcmVsb2MuCgkodmluc25fdG9faW5zbmJ1Zik6IEVtaXQgcmVsb2NhdGlvbnMgZm9yIFRMUy1yZWxhdGVkIGluc3RydWN0aW9ucy4KCSogY29uZmlnL3h0ZW5zYS1pc3RhY2suaCAodGluc25fc3RydWN0KTogQWRkIHRsc19yZWxvYyBmaWVsZC4KCSogY29uZmlnL3h0ZW5zYS1yZWxheC5jIChhcHBlbmRfbGl0ZXJhbF9vcCk6IEFkZCBzcmNfb3AgcGFyYW1ldGVyCgl0byBpbml0aWFsaXplIHRoZSBvcF9kYXRhIGZpZWxkIG9mIHRoZSBCdWlsZE9wLgoJKGJ1aWxkX3RyYW5zaXRpb24pOiBVc2UgaXQgaGVyZSB0byByZWNvcmQgdGhlIHNvdXJjZSBvcGVyYW5kCgljb3JyZXNwb25kaW5nIHRvIGEgZ2VuZXJhdGVkIGxpdGVyYWwuCgkqIGNvbmZpZy94dGVuc2EtcmVsYXguaCAoYnVpbGRfb3ApOiBDb21tZW50IG9wX2RhdGEgdXNlIGZvciBsaXRlcmFscy4KCjIwMDgtMDgtMjAgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglBVlggUHJvZ3JhbW1pbmcgUmVmZXJlbmNlIChBdWd1c3QsIDIwMDgpCgkqIGNvbmZpZy90Yy1pMzg2LmMgKENQVV9GTEFHU19BRVNfTUFUQ0gpOiBOZXcuCgkoQ1BVX0ZMQUdTX0FWWF9NQVRDSCk6IExpa2V3aXNlLgoJKENQVV9GTEFHU18zMkJJVF9NQVRDSCk6IFVwZGF0ZWQuCgkoY3B1X2ZsYWdzX21hdGNoKTogTGlrZXdpc2UuCgoyMDA4LTA4LTIwICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCVBSIDY4NDgKCSogd3JpdGUuYyAoaW5zdGFsbF9yZWxvYyk6IENoZWNrIHRoYXQgcmVsb2Mgc3ltYm9scyBoYXZlIGJlZW4KCXdyaXR0ZW4uCgkoc2V0X3N5bXRhYik6IE1hcmsgc3ltYm9scyB3aXRoIEJTRl9LRUVQLgoKMjAwOC0wOC0xOCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAoaTM4Nl9hbGlnbl9jb2RlKTogRml4IGEgY29tbWVudCB0eXBvLgoKMjAwOC0wOC0xNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCglQUiA2NTI2CgkqIGNvbmZpZ3VyZS5pbjogSW52b2tlIEFDX1VTRV9TWVNURU1fRVhURU5TSU9OUy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZy5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBkb2MvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA4LTA4LTE0ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogY29uZmlnL3RjLXRpYzR4LmMgKHRpYzR4X29wZXJhbmRzX3BhcnNlKTogTWFrZSBzdGF0aWMuCgoyMDA4LTA4LTEzICBCZW4gRWxsaXN0b24gIDxiamVAYXUuaWJtLmNvbT4KCgkqIGRvYy9hcy50ZXhpbmZvIChBbGlnbik6IERvY3VtZW50IHRoZSBQb3dlclBDIGJlaGF2aW91ci4KCjIwMDgtMDgtMTMgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBhcy5jLCBhcy5oLCBlY29mZi5jLCBoYXNoLmMsIG1hY3JvLmMsIHN5bWJvbHMuYywgY29uZmlnL29iai1ldmF4LmMsCgljb25maWcvb2JqLXNvbS5jLCBjb25maWcvdGMtYWxwaGEuYywgY29uZmlnL3RjLWFybS5jLCBjb25maWcvdGMtYmZpbi5jLAoJY29uZmlnL3RjLWJmaW4uaCwgY29uZmlnL3RjLWNyeC5jLCBjb25maWcvdGMtZnJ2LmMsIGNvbmZpZy90Yy1mcnYuaCwKCWNvbmZpZy90Yy1ocHBhLmgsIGNvbmZpZy90Yy1pMzg2LmMsIGNvbmZpZy90Yy1pODYwLmMsIGNvbmZpZy90Yy1pOTYwLmgsCgljb25maWcvdGMtaWE2NC5jLCBjb25maWcvdGMtaWE2NC5oLCBjb25maWcvdGMtbTMyYy5jLCBjb25maWcvdGMtbTMyYy5oLAoJY29uZmlnL3RjLW02OGsuYywgY29uZmlnL3RjLW1heHEuYywgY29uZmlnL3RjLXMzOTAuYywgY29uZmlnL3RjLXMzOTAuaCwKCWNvbmZpZy90Yy1zcGFyYy5jLCBjb25maWcvdGMtc3BhcmMuaCwgY29uZmlnL3RjLXNwdS5jLCBjb25maWcvdGMtc3B1LmgsCgljb25maWcvdGMtdGljNHguYywgY29uZmlnL3RjLXRpYzR4LmgsIGNvbmZpZy90Yy10aWM1NHguYywKCWNvbmZpZy90Yy10aWM1NHguaCwgY29uZmlnL3RjLXZheC5jLCBkb2MvaW50ZXJuYWxzLnRleGk6IEJhbmlzaCBQQVJBTVMKCWFuZCBQVFIuICBDb252ZXJ0IHRvIElTTyBDLiAgRGVsZXRlIHVubmVjZXNzYXJ5IGZvcndhcmQgZGVjbGFyYXRpb25zLgoKMjAwOC0wOC0xMiAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGNvbmZpZy90Yy1hcm0uYyAoc191bnJlcSk6IEFkanVzdCBoYXNoX2RlbGV0ZSBjYWxsLgoJKiBjb25maWcvdGMtaWE2NC5jIChkb3Rfcm90KTogTGlrZXdpc2UuCgoyMDA4LTA4LTExICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCVBSIDY1NzUKCSogaGFzaC5jOiBFeHBhbmQgUFRSIHRvIHZvaWQgKi4KCShoYXNoX2RlbGV0ZSk6IEFkZCAiZnJlZW1lIiBwYXJhbWV0ZXIuICBDYWxsIG9ic3RhY2tfZnJlZS4KCSogaGFzaC5oOiBFeHBhbmQgUFRSIHRvIHZvaWQgKi4KCShoYXNoX2RlbGV0ZSk6IFVwZGF0ZSBwcm90b3R5cGUuCgkqIG1hY3JvLmMgKG1hY3JvX2V4cGFuZF9ib2R5KTogaGFzaF9kZWxldGUgTE9DQUxzIGZyb20gZm9ybWFsX2hhc2guCgkqIGNvbmZpZy90Yy10aWM1NHguYyAodGljNTR4X3JlbW92ZV9sb2NhbF9sYWJlbCk6IFVwZGF0ZSBoYXNoX2RlbGV0ZQoJY2FsbC4KCShzdWJzeW1fc3Vic3RpdHV0ZSk6IExpa2V3aXNlLgoJKiBkb2MvaW50ZXJuYWxzLnRleGkgKGhhc2hfZGVsZXRlKTogVXBkYXRlLgoKMjAwOC0wOC0wOCAgQW5hdG9seSBTb2tvbG92ICA8YWVzb2tAcG9zdC5ydT4KCgkqIGNvbmZpZy90Yy1hdnIuYyAobWN1X3R5cGVzKTogQWRkIGF2cjI1LCBhdnIzMSwgYXZyMzUsIGFuZCBhdnI1MQoJYXJjaGl0ZWN0dXJlcy4gUmVvcmdhbml6ZSBsaXN0IHRvIHB1dCBtY3UgdHlwZXMgaW4gY29ycmVjdAoJYXJjaGl0ZWN0dXJlcyBhbmQgdG8gb3JkZXIgbGlzdCBzYW1lIGFzIGluIEdDQy4gVXNlIG5ldyBJU0EKCWRlZmluaXRpb25zIGluIGluY2x1ZGUvb3Bjb2RlL2F2ci5oLgoJKiBkb2MvYy1hdnIudGV4aTogQWRkIGF2cjI1LCBhdnIzMSwgYXZyMzUsIGFuZCBhdnI1MSBhcmNoaXRlY3R1cmUKCWRlc2NyaXB0aW9ucy4gUmVvcmdhbml6ZSBkZXNjcmlwdGlvbnMgdG8gcHV0IG1jdSB0eXBlcyBpbiBjb3JyZWN0CglhcmNoaXRlY3R1cmVzIGFuZCB0byBvcmRlciBsaXN0cyBzYW1lIGFzIGluIEdDQy4KCjIwMDgtMDgtMDggIFJpY2hhcmQgU2FuZGlmb3JkICA8cmRzYW5kaWZvcmRAZ29vZ2xlbWFpbC5jb20+CgkgICAgRGFuaWVsIEphY29ib3dpdHogIDxkYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZy90Yy1taXBzLmMgKE9QVElPTl9DQUxMX05PTlBJQyk6IE5ldyBtYWNyby4KCShPUFRJT05fTk9OX1NIQVJFRCwgT1BUSU9OX1hHT1QsIE9QVElPTl9NQUJJLCBPUFRJT05fMzIpCgkoT1BUSU9OX04zMiwgT1BUSU9OXzY0LCBPUFRJT05fTURFQlVHLCBPUFRJT05fTk9fTURFQlVHKQoJKE9QVElPTl9QRFIsIE9QVElPTl9OT19QRFIsIE9QVElPTl9NVlhXT1JLU19QSUMpOiBCdW1wIGJ5IDEuCgkobWRfbG9uZ29wdHMpOiBBZGQgLWNhbGxfbm9ucGljLgoJKG1kX3BhcnNlX29wdGlvbik6IEhhbmRsZSBPUFRJT05fQ0FMTF9OT05QSUMuCgkobWRfc2hvd191c2FnZSk6IEFkZCAtY2FsbF9ub25waWMuCgoyMDA4LTA4LTA4ICBTdGVybGluZyBBdWd1c3RpbmUgIDxzdGVybGluZ0B0ZW5zaWxpY2EuY29tPgoKCSogY29uZmlnL3RjLXh0ZW5zYS5jIChleGNsdWRlX3NlY3Rpb25fZnJvbV9wcm9wZXJ0eV90YWJsZXMpOiBOZXcuCgkoeHRlbnNhX2NyZWF0ZV9wcm9wZXJ0eV9zZWdtZW50cyk6IFVzZSBpdC4KCSh4dGVuc2FfY3JlYXRlX3hwcm9wZXJ0eV9zZWdtZW50cyk6IExpa2V3aXNlLgoKMjAwOC0wOC0wOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGRvYy9pbnRlcm5hbHMudGV4aSAoRFdBUkYyX0ZPUk1BVCk6IFVwZGF0ZSBmb3IgMjAwOC0wOC0wNCBjaGFuZ2UuCgoyMDA4LTA4LTA2ICBSaWNoYXJkIFNhbmRpZm9yZCAgPHJkc2FuZGlmb3JkQGdvb2dsZW1haWwuY29tPgoKCSogY29uZmlnL3RjLW1pcHMuYyAobWlwczE2X3JlbG9jX3AsIGdvdDE2X3JlbG9jX3AsIGhpMTZfcmVsb2NfcCkKCShsbzE2X3JlbG9jX3ApOiBOZXcgZnVuY3Rpb25zLgoJKHJlbG9jX25lZWRzX2xvX3ApOiBVc2UgaGkxNl9yZWxvY19wIGFuZCBnb3QxNl9yZWxvY19wIHRvCglnZW5lcmFsaXplIHJlbG9jYXRpb24gY2hlY2tzLgoJKG1hdGNoaW5nX2xvX3JlbG9jKTogTmV3IGZ1bmN0aW9uLgoJKGZpeHVwX2hhc19tYXRjaGluZ19sb19wKTogVXNlIGl0LgoJKG1pcHMxNl9tYXJrX2xhYmVscyk6IERvbid0IGNsb2JiZXIgYSBzeW1ib2wncyB2aXNpYmlsaXR5LgoJKGFwcGVuZF9pbnNuKTogVXNlIGhpMTZfcmVsb2NfcCBhbmQgbG8xNl9yZWxvY19wLgoJKG1pcHMxNl9pcCk6IEhhbmRsZSBCRkRfUkVMT0NfTUlQUzE2X0dPVDE2IGFuZCBCRkRfUkVMT0NfTUlQUzE2X0NBTEwxNi4KCShtZF9hcHBseV9maXgpOiBMaWtld2lzZS4KCShtaXBzMTZfcGVyY2VudF9vcCk6IEFkZCAlZ290IGFuZCAlY2FsbDE2LgoJKG1pcHNfZnJvYl9maWxlKTogVXNlIGdvdDE2X3JlbG9jX3AgdG8gZ2VuZXJhbGl6ZSByZWxvY2F0aW9uIGNoZWNrcy4KCVVzZSBtYXRjaGluZ19sb19yZWxvYy4KCShtaXBzX2ZvcmNlX3JlbG9jYXRpb24pOiBVc2UgaGkxNl9yZWxvY19wIGFuZCBsbzE2X3JlbG9jX3AgdG8KCWdlbmVyYWxpemUgcmVsb2NhdGlvbiBjaGVja3MuCgkobWlwc19maXhfYWRqdXN0YWJsZSk6IFVzZSBsbzE2X3JlbG9jX3AgdG8gZ2VuZXJhbGl6ZSByZWxvY2F0aW9uCgljaGVja3MuCgoyMDA4LTA4LTA2ICBESiBEZWxvcmllICA8ZGpAcmVkaGF0LmNvbT4KCgkqIE5FV1M6IE1lbnRpb24gdGhlc2UgY2hhbmdlcy4KCgkqIGNvbmZpZy90Yy1oODMwMC5oIChIX1RJQ0tfSEVYKTogRGVmaW5lLgoJKiBjb25maWcvdGMtaDgzMDAuYyAoT1BUSU9OX0hfVElDS19IRVgpOiBOZXcuCgkobWRfbG9uZ29wdHMpOiBBZGQgIi1oLXRpY2staGV4Ii4KCShtZF9wYXJzZV9vcHRpb24pOiBTdXBwb3J0IGl0LgoJKiBkb2MvYy1oODMwMC50ZXhpIChIOC8zMDAgT3B0aW9ucyk6IERvY3VtZW50IGl0LgoJKiBkb2MvYXMudGV4aW5mbyAoT3ZlcnZpZXcpOiBMaWtld2lzZS4KCgkqIGNvbmZpZy90Yy1zaC5oIChIX1RJQ0tfSEVYKTogRGVmaW5lLgoJKiBjb25maWcvdGMtc2guYyAoT1BUSU9OX0hfVElDS19IRVgpOiBOZXcuCgkobWRfbG9uZ29wdHMpOiBBZGQgIi1oLXRpY2staGV4Ii4KCShtZF9wYXJzZV9vcHRpb24pOiBTdXBwb3J0IGl0LgoJKiBkb2MvYy1zaC50ZXhpIChTSCBPcHRpb25zKTogRG9jdW1lbnQgaXQuCgkqIGRvYy9jLXNoNjQudGV4aSAoU0g2NCBPcHRpb25zKTogRG9jdW1lbnQgaXQuCgkqIGRvYy9hcy50ZXhpbmZvIChPdmVydmlldyk6IExpa2V3aXNlLgoKMjAwOC0wOC0wNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCglQUiBnYXMvNjY1NgoJKiBkd2FyZjJkYmcuYyAoZHdhcmYyX2RpcmVjdGl2ZV9maWxlKTogRGlzYWJsZSBnYXMgZ2VuZXJhdGVkCglkZWJ1ZyBpbmZvIGlmIHdlIHNlZSBjb21waWxlciBnZW5lcmF0ZWQgZGVidWcgaW5mby4KCShkd2FyZjJfZGlyZWN0aXZlX2xvYyk6IExpa2V3aXNlLiAgUmVtb3ZlIHJlZHVuZGFudCBkZWJ1Z190eXBlIHRlc3QuCgoyMDA4LTA4LTA0ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZHdhcmYyZGJnLmM6IFJlbW92ZSBzdXBlcmZsdW91cyBmb3J3YXJkIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucy4KCShEV0FSRjJfRk9STUFUKTogQWRkIHNlY3Rpb24gYXJnLgoJKG91dF9oZWFkZXIpOiBOZXcgZnVuY3Rpb24sIHNwbGl0IG91dCBmcm9tLi4KCShvdXRfZGVidWdfbGluZSk6IC4uaGVyZS4KCShvdXRfZGVidWdfYXJhbmdlcyk6IFVzZSBvdXRfaGVhZGVyLgoJKG91dF9kZWJ1Z19hYmJyZXYpOiBBZGQgaW5mb19zZWcgYW5kIGxpbmVfc2VnIGFyZ3MuICBVc2UKCURXX0ZPUk1fZGF0YTggKGZvciBEV19BVF9zdG10X2xpc3QpIGlmIGxpbmVfc2VnIGlzIDY0LWJpdC4KCShvdXRfZGVidWdfaW5mbyk6IFVzZSBvdXRfaGVhZGVyLiAgT3V0cHV0IDggYnl0ZSBEV19BVF9zdG10X2xpc3QKCWlmIGxpbmVfc2VnIGlzIDY0LWJpdC4KCShkd2FyZjJfZmluaXNoKTogQWRqdXN0IG91dF9kZWJ1Z19hYmJyZXYgY2FsbC4KCSogY29uZmlnL3RjLW1pcHMuaCAoRFdBUkYyX0ZPUk1BVCwgbWlwc19kd2FyZjJfZm9ybWF0KTogQWRkIHNlYyBhcmcuCgkqIGNvbmZpZy90Yy1taXBzLmMgKG1pcHNfZHdhcmYyX2Zvcm1hdCk6IExpa2V3aXNlLgoKMjAwOC0wOC0wNCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIE1ha2VmaWxlLmFtIChQT1RGSUxFUy5pbik6IFNldCBMQ19BTEw9Qy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIHBvL1BPVEZJTEVTLmluOiBSZWdlbmVyYXRlLgoKMjAwOC0wOC0wMSAgUGV0ZXIgQmVyZ25lciAgPGJlcmduZXJAdm5ldC5pYm0uY29tPgoKCSogY29uZmlnL3RjLXBwYy5jIChwYXJzZV9jcHUpOiBSZW5hbWUgYWx0aXZlY19vcl9zcGUgdG8gcmV0YWluX2ZsYWdzLgoJSGFuZGxlIC1tdnN4IGFuZCAtbXBvd2VyNy4KCShtZF9zaG93X3VzYWdlKTogRG9jdW1lbnQgLW1wb3dlcjcgYW5kIC1tdnN4LgoJKiBkb2MvYXMudGV4aW5mbyAoVGFyZ2V0IFBvd2VyUEMpOiBEb2N1bWVudCAtbXZzeC4KCSogZG9jL2MtcHBjLnRleGkgKFBvd2VyUEMtT3B0cyk6IERvY3VtZW50IC1tdnN4IGFuZCAtbXBvd2VyNy4KCjIwMDgtMDctMzEgIFBldGVyIEJlcmduZXIgIDxiZXJnbmVyQHZuZXQuaWJtLmNvbT4KCgkqIGNvbmZpZy90Yy1wcGMuYyAocGFyc2VfY3B1KSA8cG93ZXI2PjogQWNjZXB0IEFsdGl2ZWMgaW5zdHJ1Y3Rpb25zLgoJPGNlbGw+OiBMaWtld2lzZS4KCjIwMDgtMDctMzAgIE1pY2hhZWwgSi4gRWFnZXIgIDxlYWdlckBlYWdlcmNvbi5jb20+CgoJKiBjb25maWcvdGMtcHBjLmMgKHBhcnNlX2NwdSk6IFNlcGFyYXRlIGhhbmRsaW5nIG9mIC1tNDAzLzQwNS4KCShtZF9zaG93X3VzYWdlKTogTGlrZXdpc2UuCgoyMDA4LTA3LTMwICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbWVzc2FnZXMuYywgc3ltYm9scy5jLCB3cml0ZS5jOiBTaWxlbmNlIGdjYyB3YXJuaW5ncy4KCjIwMDgtMDctMjggIEluZWlldiAgPGluZWlldkB5YWhvby5jby51az4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKG9wZXJhbmRfdHlwZV9jaGVjayk6IFdhcm5pbmcgZml4LgoKMjAwOC0wNy0yNiAgTWljaGFlbCBFYWdlciA8ZWFnZXJAZWFnZXJjb24uY29tPgoKCSogZG9jL2FzLnRleGluZm86IEFkZCBkZXNjcmlwdGlvbiBvZiBzaW5nbGUtcHJlY2lzaW9uIGF0dHJpYnV0ZS4KCjIwMDgtMDctMjQgIEppZSBaaGFuZyAgPGppZS56aGFuZ0BhbmFsb2cuY29tPgoKCSogY29uZmlnL2JmaW4tcGFyc2UueSAoYXNtXzEpOiBFcnJvciBpZiBwbGFpbiBzeW1ib2wgaXMgdXNlZAoJYXMgbG9hZC9zdG9yZSBvZmZzZXQuCgoyMDA4LTA3LTIyICBDaGFvLXlpbmcgRnUgIDxmdUBtaXBzLmNvbT4KCgkqIGNvbmZpZy90Yy1taXBzLmMgKG1pcHNfaXApOiBSZXNldCBzIHRvIGFyZ3NTdGFydC4KCjIwMDgtMDctMjIgIEppZSBaaGFuZyAgPGppZS56aGFuZ0BhbmFsb2cuY29tPgoKCSogY29uZmlnL3RjLWJmaW4uYyAoYmZpbl9nZW5fbG9vcCk6IFJlbW92ZSBsb29wIHN5bWJvbC4KCjIwMDgtMDctMjEgIERKIERlbG9yaWUgIDxkakByZWRoYXQuY29tPgoKCSogY29uZmlnL3RjLWg4MzAwLmMgKGZpeF9vcGVyYW5kX3NpemUpOiBVc2UgdGhlIGRlZmF1bHQgc2l6ZQoJc3BlY2lmaWVkIGJ5IHRoZSAubGJyYW5jaC8uc2JyYW5jaCBwc2V1ZG9zLgoKMjAwOC0wNy0xOCAgREogRGVsb3JpZSAgPGRqQHJlZGhhdC5jb20+CgoJKiBjb25maWcvdGMtbTMyYy5oIChIX1RJQ0tfSEVYKTogRGVmaW5lLgoJKiBjb25maWcvdGMtbTMyYy5jIChPUFRJT05fSF9USUNLX0hFWCk6IERlZmluZS4KCShtZF9sb25nb3B0cyk6IEFkZCBzdXBwb3J0IGZvciBpdC4KCShtZF9wYXJzZV9vcHRpb24pOiBMaWtld2lzZS4KCSogZG9jL2FzLnRleGluZm8gKE92ZXJ2aWV3KTogQWRkIG5ldyBtMzJjIG9wdGlvbnMuCgkqIGRvYy9jLW0zMmMudGV4aSAoTTMyQy1Nb2RpZmllcnMpOiBMaWtld2lzZQoKCSogYXMuaDogKGVuYWJsZV9oX3RpY2tfaGV4KTogTmV3LgoJKiBhcHAuYyAoZW5hYmxlX2hfdGlja19oZXgpOiBOZXcuCgkoTEVYX0lTX0gpOiBOZXcuCgkoZG9fc2NydWJfYmVnaW4pOiBNYXJrICdIJyBhbmQgJ2gnIGFzIHNwZWNpYWwgaWYgZW5hYmxlX2hfdGlja19oZXguCgkoZG9fc2NydWJfY2hhcnMpOiBJZiBlbmFibGVfaF90aWNrX2hleCBhbmQgJ2gnLCBjaGVjayBmb3IgSCcwMAoJc3R5bGUgaGV4IGNvbnN0YW50cyBhbmQgY29udmVydCB0aGUgaW5wdXQgc3RyZWFtIHRvIDB4MDAgc3R5bGUuCgkoZG9fc2NydWJfY2hhcnMpOiBJZiBhICdYIHN0eWxlIGNoYXJhY3RlciBjb25zdGFudCBpcyBmb3VuZCBhZnRlcgoJYSBzeW1ib2wgY2hhcmFjdGVyIChsaWtlIHlvdSdyZSBvciBYJzAwKSwgd2FybiB0aGUgdXNlci4KCjIwMDgtMDctMTAgIFJpY2hhcmQgU2FuZGlmb3JkICA8cmRzYW5kaWZvcmRAZ29vZ2xlbWFpbC5jb20+CgoJKiBjb25maWcvdGMtbWlwcy5jIChtaXBzMTZfbWFya19sYWJlbHMpOiBVc2UgRUxGX1NUX1NFVF9NSVBTMTYuCgkobWlwc19maXhfYWRqdXN0YWJsZSk6IExpa2V3aXNlLgoJKG1pcHNfZnJvYl9maWxlX2FmdGVyX3JlbG9jcyk6IExpa2V3aXNlLgoKMjAwOC0wNy0wOCAgTmF0aGFuIFNpZHdlbGwgIDxuYXRoYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZy90Yy1tNjhrLmMgKG02OGtfc2V0X2NwdSwgbTY4a19zZXRfYXJjaCk6IERvbid0IGNvbXBsYWluCglhYm91dCBvdmVycmlkaW5nIGFuIGVhcmxpZXIgc2V0dGluZy4KCjIwMDgtMDctMDcgIEFkYW0gTmVtZXQgIDxhbmVtZXRAY2F2aXVtbmV0d29ya3MuY29tPgoKCSogY29uZmlnL3RjLW1pcHMuYyAoTk9fSVNBX0NPUCk6IE5ldyBtYWNyby4KCShDT1BfSU5TTik6IE5ldyBtYWNyby4KCShpc19vcGNvZGVfdmFsaWQpOiBVc2UgdGhlbS4KCShtYWNybykgPGxkX3N0PjogVXNlIHRoZW0uICBEb24ndCBhY2NlcHQgY29wcm9jZXNzb3IgbG9hZCBzdG9yZQoJaW5zbnMgYmFzZWQgb24gdGhlIElTQSBpZiBDUFUgaXMgTk9fSVNBX0NPUC4KCTxjb3B6PjogTGlrZXdpc2UgZm9yIGNvcHJvY2Vzc29yIG9wZXJhdGlvbnMuCgoyMDA4LTA3LTA3ICBQYXVsIEJyb29rICA8cGF1bEBjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlnL3RjLWFybS5jIChhcm1fZml4X2FkanVzdGFibGUpOiBEb24ndCBhZGp1c3QgTU9WVy9NT1ZUCglyZWxvY2F0aW9ucy4KCjIwMDgtMDctMDcgIFJhbGYgQ29yc8OpcGl1cyAgPHJhbGYuY29yc2VwaXVzQHJ0ZW1zLm9yZz4KCgkqIGNvbmZpZ3VyZS50Z3Q6IEFkZCBiZmluLSotcnRlbXMqLgoKMjAwOC0wNy0wNCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGNvbmZpZy90Yy1zcHUuYyAobWRfYXBwbHlfZml4KTogSGFuZGxlIGZ1bGx5IHJlc29sdmVkCglCRkRfUkVMT0NfMzJfUENSRUwsIEJGRF9SRUxPQ19TUFVfSEkxNiBhbmQgQkZEX1JFTE9DX1NQVV9MTzE2LgoKMjAwOC0wNi0yNSAgUGV0ZXIgQmVyZ25lciAgPGJlcmduZXJAdm5ldC5pYm0uY29tPgoKCSogY29uZmlnL3RjLXBwYy5jIChwYXJzZV9jcHUpOiBIYW5kbGUgLW00NjQuCgkobWRfc2hvd191c2FnZSk6IExpa2V3aXNlLgoKMjAwOC0wNi0yNCAgRXJpYyBCLiBXZWRkaW5ndG9uICA8ZXJpYy53ZWRkaW5ndG9uQGF0bWVsLmNvbT4KCglBZGQgc3VwcG9ydCBmb3IgQVR0aW55MTNBLgoJKiBjb25maWcvdGMtYXZyLmMgKG1jdV90eXBlcyk6IEFkZCBhdHRpbnkxM2EuCgkqIGRvYy9jLWF2ci50ZXhpOiBMaWtld2lzZS4KCjIwMDgtMDYtMjQgIEJvYiBXaWxzb24gIDxib2Iud2lsc29uQGFjbS5vcmc+CgkgICAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIHdyaXRlLmMgKHJlbGF4X3NlZ21lbnQgPHJzX29yZz4pOiBJbmNsdWRlIGN1cnJlbnQgc3RyZXRjaAoJdmFsdWUgd2hlbiBjYWxjdWxhdGluZyB3aGV0aGVyIC5vcmcgaXMgYmFja3dhcmRzLgoKMjAwOC0wNi0xNyAgUmFsZiBXaWxkZW5odWVzICA8UmFsZi5XaWxkZW5odWVzQGdteC5kZT4KCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDgtMDYtMTcgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBhcHAuYyAoZG9fc2NydWJfY2hhcnMpOiBEbyBub3QgVU5HRVQgYW4gRU9GIHZhbHVlLgoKMjAwOC0wNi0xNiAgSGFucy1QZXRlciBOaWxzc29uICA8aHBAYml0cmFuZ2UuY29tPgoKCVBSIGdhcy82NjA3CgkqIGNvbmZpZy90Yy1tbWl4LmMgKHNfbG9jKTogQXNzdW1lICJuZWdhdGl2ZSIgYWRkcmVzc2VzIGJlbG9uZyB0bwoJdGV4dF9zZWN0aW9uLiAgRG8gdGhlICJzdGVwcGluZyBiYWNrd2FyZHMiIHRlc3QgZm9yIHRleHRfc2VjdGlvbgoJdXNpbmcgdW5zaWduZWQgb3BlcmFuZHMuCgoyMDA4LTA2LTEzICBQZXRlciBCZXJnbmVyICA8YmVyZ25lckB2bmV0LmlibS5jb20+CgoJKiBjb25maWcvdGMtcHBjLmMgKHBwY19jcHUpOiBVc2UgcHBjX2NwdV90IHR5cGVkZWYuCgkocHBjX2luc2VydF9vcGVyYW5kKTogTGlrZXdpc2UuCgkocHBjX21hY2hpbmUpOiBMaWtld2lzZS4KCSogY29uZmlnL3RjLXBwYy5oOiAjaW5jbHVkZSAib3Bjb2RlL3BwYy5oIgoJKHN0cnVjdCBfcHBjX2ZpeF9leHRyYSA8cHBjX2NwdT4pOiBVc2UgcHBjX2NwdV90IHR5cGVkZWYuCgkocHBjX2NwdSk6IFVwZGF0ZSBleHRlcm4gZGVjbC4KCjIwMDgtMDYtMTIgIEFkYW0gTmVtZXQgIDxhbmVtZXRAY2F2aXVtbmV0d29ya3MuY29tPgoKCSogY29uZmlnL3RjLW1pcHMuYyAodmFsaWRhdGVfbWlwc19pbnNuKTogSGFuZGxlIGZpZWxkIGRlc2NyaXB0b3JzCgkreCwgK1gsICtwLCArUCwgK3MsICtTLgoJKG1pcHNfaXApOiBMaWtld2lzZS4KCgkqIGNvbmZpZy90Yy1taXBzLmMgKHZhbGlkYXRlX21pcHNfaW5zbik6IEhhbmRsZSBmaWVsZCBkZXNjcmlwdG9yICtRLgoJKG1pcHNfaXApOiBMaWtld2lzZS4KCShtYWNyb19idWlsZCk6IExpa2V3aXNlLgoJKENQVV9IQVNfU0VRKTogTmV3IG1hY3JvLgoJKG1hY3JvMikgPE1fU0VRX0ksIE1fU05FX0k+OiBVc2UgaXQuICBFbWl0IHNlcS9zbmUgYW5kIHNlcWkvc25laS4KCjIwMDgtMDYtMDkgIEVyaWMgQi4gV2VkZGluZ3RvbiAgPGVyaWMud2VkZGluZ3RvbkBhdG1lbC5jb20+CgoJKiBjb25maWcvdGMtYXZyLmMgKG1jdV90eXBlcyk6IFJlbW92ZSBzdXBwb3J0IGZvciBBVG1lZ2EzMkhWQiBkZXZpY2UuCgkqIGRvYy9jLWF2ci50ZXhpOiBMaWtld2lzZS4KCjIwMDgtMDYtMDQgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBhcHAuYyAoZG9fc2NydWJfY2hhcnMpOiBEbyBub3QgVU5HRVQgYW4gRU9GIHZhbHVlLgoKMjAwOC0wNi0wMyAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAoc2V0X3NzZV9jaGVjayk6IE5ldy4KCShtZF9wc2V1ZG9fdGFibGUpOiBBZGQgInNzZV9jaGVjayIuCgoyMDA4LTA2LTAzICBQYXVsIEJyb29rICA8cGF1bEBjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlnL3RjLWFybS5jIChkb190X3JiaXQpOiBQb3B1bGF0ZSBib3RoIHJtIGZpZWxkcy4KCjIwMDgtMDUtMzAgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJUFIgNTUyMwoJKiBjb25maWcvdGMtYXZyLmMgKGF2cl9sZGlfZXhwcmVzc2lvbik6IERvIG5vdCB3YXJuIGFib3V0IHVua25vd24KCXJlbG9jcyBoZXJlLgoKMjAwOC0wNS0yOSAgTWF4aW0gS3V2eXJrb3YgIDxtYXhpbUBjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlnL3RjLW1pcHMuYyAobWlwc19jcHVfaW5mb190YWJsZSk6IE1vdmUgcmVjb3JkcyBmb3IKCVNUIExvb25nc29uLTJFLzJGIHByb2Nlc3NvcnMgdG8gYSBiZXR0ZXIgcGxhY2UuCgoyMDA4LTA1LTIzICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJUFIgZ2FzLzY1MTgKCSogY29uZmlnL3RjLWkzODYuYyAobWF0Y2hfdGVtcGxhdGUpOiBSZXBvcnQgYW1iaWd1b3VzIG9wZXJhbmQKCXNpemUsIG5vdCBpbnZhbGlkIHN1ZmZpeCB3aGVuIHRoZXJlIGlzIG5vIG1hdGNoIGluIEludGVsCglzeW50YXguCgoyMDA4LTA1LTIyICBQYXVsIEJyb29rICA8cGF1bEBjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlnL3RjLWFybS5jIChwYXJzZV9jb25kKTogQ292ZXJ0IHRvIGxvd2VyY2FzZSBiZWZvcmUgbWF0Y2hpbmcuCgoyMDA4LTA1LTIxICBJLUp1aSBTdW5nICA8aWpzdW5nQGdtYWlsLmNvbT4KCgkqIGNvbmZpZy90Yy1hcm0uYyAoYXJtX2NwdXMpOiBBZGQgRmFyYWRheSBBUk12NCBhbmQgQVJNdjVURQoJY29tcGF0aWJsZSBjb3JlczogZmE1MjYsIGZhNjI2LCBmYTYyNnRlLCBmYTcyNnRlLgoJKiBkb2MvYy1hcm0udGV4aSAoQVJNIE9wdHMpOiBBZGQgLW1jcHU9e2ZhNTI2LCBmYTYyNiwgZmE2MjZ0ZSwKCWZhNzI2dGV9IG9wdGlvbnMuCgoyMDA4LTA1LTE0ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogTWFrZWZpbGUuYW06IFJ1biAibWFrZSBkZXAtYW0iLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZG9jL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBwby9QT1RGSUxFUy5pbjogUmVnZW5lcmF0ZS4KCjIwMDgtMDUtMDkgIENhdGhlcmluZSBNb29yZSAgPGNsbUBjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlnL3RjLW1pcHMuYyAobWlwc19mcm9iX2ZpbGUpOiBEb24ndCBtYXRjaCBNSVBTMTYgcmVsb2NzCgl3aXRoIG5vbi1NSVBTMTYgcmVsb2NzLgoKMjAwOC0wNS0wOSAgQ2hhby15aW5nIEZ1ICA8ZnVAbWlwcy5jb20+CgoJKiBjb25maWcvdGMtbWlwcy5jIChtZF9iZWdpbik6IFVzZSBzdHJuY21wIHRvIGNvbXBhcmUgVEFSR0VUX09TLCBpbgoJY2FzZSB0aGF0IHNvbWUgY2hhcmFjdGVycyBhcHBlbmQgYXQgdGhlIGVuZCBvZiB0aGUgbmFtZS4KCShtaXBzX2lwKTogTGlrZXdpc2UuCgkoc19jaGFuZ2Vfc2VjKTogTGlrZXdpc2UuCgkobWRfc2VjdGlvbl9hbGlnbik6IExpa2V3aXNlLgoKMjAwOC0wNS0wNyAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGNvbmZpZy90Yy14dGVuc2EuYyAoeHRlbnNhX2NyZWF0ZV9wcm9wZXJ0eV9zZWdtZW50cyk6IFVzZQoJeHRlbnNhX21ha2VfcHJvcGVydHlfc2VjdGlvbiBpbnN0ZWFkIG9mIHh0ZW5zYV9nZXRfcHJvcGVydHlfc2VjdGlvbi4KCSh4dGVuc2FfY3JlYXRlX3hwcm9wZXJ0eV9zZWdtZW50cyk6IExpa2V3aXNlLgoKMjAwOC0wNS0wMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogTkVXUzogTWVudGlvbiBYU0FWRSwgRVBUIGFuZCBNT1ZCRS4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKGNwdV9hcmNoKTogQWRkIC5tb3ZiZSBhbmQgLmVwdC4KCShtZF9zaG93X3VzYWdlKTogQWRkIC5tb3ZiZSBhbmQgLmVwdC4KCgkqIGRvYy9jLWkzODYudGV4aTogQWRkIG1vdmJlIGFuZCBlcHQgdG8gLW1hcmNoPS4gIERvY3VtZW50CgkubW92YmUgYW5kIC5lcHQuCgoyMDA4LTA0LTI5ICBEYXZpZCBTLiBNaWxsZXIgIDxkYXZlbUBkYXZlbWxvZnQubmV0PgoKCSogY29uZmlnL3RjLXNwYXJjLmMgKHY5YV9hc3JfdGFibGUpOiBGaXggb3JkZXIgb2Ygc29mdGludCBlbnRyaWVzLgoKMjAwOC0wNC0yOCAgQWRhbSBOZW1ldCAgPGFuZW1ldEBjYXZpdW1uZXR3b3Jrcy5jb20+CgoJKiBjb25maWcvdGMtbWlwcy5jIChmaWxlX21pcHNfc29mdF9mbG9hdCwgZmlsZV9taXBzX3NpbmdsZV9mbG9hdCk6CglOZXcgc3RhdGljcy4KCShPUFRJT05fRUxGX0JBU0UpOiBNYWtlIHJvb20gZm9yIG5ldyBvcHRpb24gbWFjcm9zLgoJKE9QVElPTl9TT0ZUX0ZMT0FULCBPUFRJT05fSEFSRF9GTE9BVCwgT1BUSU9OX1NJTkdMRV9GTE9BVCwKCU9QVElPTl9ET1VCTEVfRkxPQVQpOiBOZXcgb3B0aW9uIG1hY3Jvcy4KCShtZF9sb25nb3B0cyk6IEFkZCBtc29mdC1mbG9hdCwgbWhhcmQtZmxvYXQsIG1zaW5nbGUtZmxvYXQgYW5kCgltZG91YmxlLWZsb2F0LgoJKG1kX3BhcnNlX29wdGlvbik6IEhhbmRsZSBPUFRJT05fU0lOR0xFX0ZMT0FULAoJT1BUSU9OX0RPVUJMRV9GTE9BVCwgT1BUSU9OX1NPRlRfRkxPQVQgYW5kIE9QVElPTl9IQVJEX0ZMT0FULgoJKG1kX3Nob3dfdXNhZ2UpOiBBZGQgLW1zb2Z0LWZsb2F0LCAtbWhhcmQtZmxvYXQsIC1tc2luZ2xlLWZsb2F0CglhbmQgLW1kb3VibGUtZmxvYXQuCgkoc3RydWN0IG1pcHNfc2V0X29wdGlvbnMpOiBOZXcgZmllbGRzIHNvZnRfZmxvYXQgYW5kIHNpbmdsZV9mbG9hdC4KCShtaXBzX29wdHMpOiBJbml0aWFsaXplZCB0aGVtLiAgQWRkIGNvbW1lbnQgZm9yIGVhY2ggZmllbGQKCWluaXRpYWxpemVyLgoJKG1pcHNfYWZ0ZXJfcGFyc2VfYXJncyk6IFNldCB0aGVtIGJhc2VkIG9uIGZpbGVfbWlwc19zb2Z0X2Zsb2F0CglhbmQgZmlsZV9taXBzX3NpbmdsZV9mbG9hdC4KCShzX21pcHNzZXQpOiBBZGQgc3VwcG9ydCBmb3IgYC5zZXQgc29mdGZsb2F0JywgYC5zZXQgaGFyZGZsb2F0JywKCWAuc2V0IHNpbmdsZWZsb2F0JyBhbmQgYC5zZXQgZG91YmxlZmxvYXQnLgoJKGlzX29wY29kZV92YWxpZCk6IE5ldyBmdW5jdGlvbiB0byBpbnZva2UgT1BDT0RFX0lTX01FTUJFUi4KCUhhbmRsZSBzaW5nbGUtZmxvYXQgYW5kIHNvZnQtZmxvYXQgaW5zdHJ1Y3Rpb25zIGhlcmUuCgkobWFjcm9fYnVpbGQsIG1pcHNfaXApOiBVc2UgaXQgaW5zdGVhZCBvZiBPUENPREVfSVNfTUVNQkVSLgoJKGlzX29wY29kZV92YWxpZF8xNik6IE5ldyBmdW5jdGlvbi4KCShtaXBzMTZfaXApOiBVc2UgaXQgaW5zdGVhZCBvZiBPUENPREVfSVNfTUVNQkVSLgoJKG1hY3JvKSA8TV9MREMxX0FCLCBNX1NEQzFfQUIsIE1fTF9ET0IsIE1fTF9EQUIsIE1fU19EQUIsCglNX1NfRE9CPjogUmVtb3ZlIHNwZWNpYWwtY2FzaW5nIG9mIHI0NjUwLgoJKiBkb2MvYy1taXBzLnRleGkgKC1tYXJjaD0pOiBBZGQgT2N0ZW9uLgoJKE1JUFMgT3B0cyk6IERvY3VtZW50IC1tc29mdC1mbG9hdCBhbmQgLW1oYXJkLWZsb2F0LiAgRG9jdW1lbnQKCS1tc2luZ2xlLWZsb2F0IGFuZCAtbWRvdWJsZS1mbG9hdC4KCShNSVBTIGZsb2F0aW5nLXBvaW50KTogTmV3IHNlY3Rpb24uICBEb2N1bWVudCBgLnNldCBzb2Z0ZmxvYXQnIGFuZAoJYC5zZXQgaGFyZGZsb2F0Jy4gIERvY3VtZW50IGAuc2V0IHNpbmdsZWZsb2F0JyBhbmQgYC5zZXQKCWRvdWJsZWZsb2F0Jy4KCjIwMDgtMDQtMjUgIERhdmlkIFMuIE1pbGxlciAgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CgoJKiBjb25maWcvdGMtc3BhcmMuYzogQWNjZXB0ICdzb2Z0aW50X2NsZWFyJyBhbmQgJ3NvZnRpbnRfc2V0JwoJJWFzciBhbGlhc2VzLgoKCSogZG9jL2Mtc3BhcmMudGV4aTogQ29uc2lzdGVudGx5IHJlZmVyIHRvIGFyY2hpdGVjdHVyZSAndmVyc2lvbnMnLAoJcmF0aGVyIHRoYW4gb2NjYWlzaW9uYWxseSAnbGV2ZWxzJy4gIENvbnNpc3RlbnRseSByZWZlciB0byBTdW4ncwoJVU5JWCB2YXJpYW50IGFzIFN1bk9TLCBldmVyeSB2ZXJzaW9uIG9mIFNvbGFyaXMgaXMgYWxzbyBTdW5PUy4KCURvY3VtZW50IG5ldyAnc29mdGludF9jbGVhcicgYW5kICdzb2Z0aW50X3NldCcgYWxpYXNlcy4gIENsYXJpZnkKCXdoaWNoIGFyY2hpdGVjdHVyZSB2ZXJzaW9ucyBzdXBwb3J0ICclZGNyJywgJyVjcScsIGFuZCAnJWdsJy4gQWRkCglzZWN0aW9uIG9uIDMyLWJpdC82NC1iaXQgb3Bjb2RlIHRyYW5zbGF0aW9ucy4KCjIwMDgtMDQtMjMgIE1pa2UgRnJ5c2luZ2VyICA8dmFwaWVyQGdlbnRvby5vcmc+CgoJKiBNYWtlZmlsZS5hbSAoT0JKX0ZPUk1BVF9DRklMRVMpOiBBZGQgY29uZmlnL29iai1mZHBpY2VsZi5jLgoJKE9CSl9GT1JNQVRfSEZJTEVTKTogQWRkIGNvbmZpZy9vYmotZmRwaWNlbGYuaC4KCShvYmotZmRwaWNlbGYubyk6IERlZmluZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS50Z3Q6IFNldCBiZmRfZ2FzIHRvIHllcyB3aGVuIGZtdCBpcyBmZHBpY2VsZi4KCShiZmluLSotKik6IERlbGV0ZS4KCShiZmluLSotbGludXgtdWNsaWJjKTogTmV3OyBzZXQgZm10IHRvIGZkcGljZWxmIGFuZCBlbSB0byBsaW51eC4KCShiZmluLSotdWNsaW51eCopOiBOZXc7IHNldCBmbXQgdG8gZWxmIGFuZCBlbSB0byBsaW51eC4KCSogY29uZmlnL29iai1mZHBpY2VsZi5jOiBOZXcuCgkqIGNvbmZpZy9vYmotZmRwaWNlbGYuaDogTGlrZXdpc2UuCgkqIGNvbmZpZy90Yy1iZmluLmMgKGJmaW5fZmxhZ3MsIGJmaW5fcGljX2ZsYWcpOiBTZXQgZGVmYXVsdCBiYXNlZCBvbgoJdGhlIE9CSl9GRFBJQ19FTEYgZGVmaW5lLgoJKE9QVElPTl9OT1BJQyk6IERlZmluZS4KCShtZF9sb25nb3B0cyk6IEFkZCBtbm9waWMgYW5kIG1uby1mZHBpYy4KCShtZF9wYXJzZV9vcHRpb24pOiBIYW5kbGUgT1BUSU9OX05PUElDLgoKMjAwOC0wNC0yMyAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDgtMDQtMjMgIERhdmlkIFMuIE1pbGxlciAgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CgoJKiBjb25maWcvdGMtc3BhcmMuYyAodjlhX2Fzcl90YWJsZSk6IEFkZCBtaXNzaW5nCgknc3RpY2snIGFuZCAnc3RpY2tfY21wcicsIGFuZCBkb2N1bWVudCBvcmRlcmluZyBydWxlcwoJb2YgdGFibGUuCgkodGNfZ2VuX3JlbG9jKTogQWNjZXB0IEJGRF9SRUxPQ19TUEFSQ19QQzIyIGFuZAoJQkZEX1JFTE9DX1NQQVJDX1BDMTAuCgkqIGRvYy9jLXNwYXJjLnRleGk6IE5ldyBzZWN0aW9uIG9uIFNwYXJjIGNvbnN0YW50cy4KCUFkZCBkb2N1bWVudGF0aW9uIGZvciAlc3RpY2sgYW5kICVzdGlja19jbXByLgoKMjAwOC0wNC0yMiAgRGF2aWQgUy4gTWlsbGVyICA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KCgkqIGNvbmZpZy9vYmotZWxmLmMgKG9ial9lbGZfc2VjdGlvbl90eXBlKTogQWRkIHByb3RvdHlwZQoJYmVmb3JlIG9ial9lbGZfc2VjdGlvbl93b3JkIGFuZCBhZGQgJ3dhcm4nIGFyZy4KCShvYmpfZWxmX3NlY3Rpb25fd29yZCk6IEFkZCB0eXBlIHBvaW50ZXIgYXJnLCBhbmQgaWYgbm8gI1NFQ1RJT04KCWlzIG1hdGNoZWQsIHRyeSBjaGVja2luZyBmb3IgI1NFQ1RJT05fVFlQRS4KCShvYmpfZWxmX3NlY3Rpb24pOiBBZGp1c3QgZm9yIG5ldyBhcmdzLgoJKG9ial9lbGZfdHlwZV9uYW1lKTogTmV3IGZ1bmN0aW9uLgoJKG9ial9lbGZfdHlwZSk6IENhbGwgaXQsIGFuZCBhY2NlcHQgU1RUX2ZvbyBudW1iZXIgc3RyaW5ncwoJaW4gLnR5cGUgc3RhdGVtZW50cyBhcyBvdXRwdXQgYnkgU3VuUFJPIGNvbXBpbGVyLgoKMjAwOC0wNC0yMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAobWRfYXNzZW1ibGUpOiBEb24ndCBjaGVjayBTU0UgaW5zdHJ1Y3Rpb25zCglpZiBub2F2eCBpcyAwLgoKMjAwOC0wNC0xOCAgRGF2aWQgUy4gTWlsbGVyICA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KCgkqIGRvYy9jLXNwYXJjLnRleGk6IEFkZCBzeW50YXggc2VjdGlvbi4KCjIwMDgtMDQtMTggIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKGJ1aWxkX21vZHJtX2J5dGUpOiBEb24ndCBjaGVjayBGTUEgdG8gc3dhcAoJUkVHIGFuZCBORFMgZm9yIGluc3RydWN0aW9ucyB3aXRoIGltbWVkaWF0ZSBvcGVyYW5kLgoKMjAwOC0wNC0xOCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAoYnVpbGRfbW9kcm1fYnl0ZSk6IFN3YXAgUkVHIGFuZCBORFMgZm9yCglGTUEuCgoyMDA4LTA0LTE2ICBEYXZpZCBTLiBNaWxsZXIgIDxkYXZlbUBkYXZlbWxvZnQubmV0PgoKCSogY29uZmlnL3RjLXNwYXJjLmMgKHNwYXJjX2lwKTogQWRkIHN1cHBvcnQgZm9yIGdvdGRhdGEgbW5lbW9uaWNzCglhbmQgcmVsb2NhdGlvbiBnZW5lcmF0aW9uLgoJKHRjX2dlbl9yZWxvYyk6IExpa2V3aXNlLgoKMjAwOC0wNC0xNSAgQW5kcmV3IFN0dWJicyAgPGFuZHJldy5zdHViYnNAc3QuY29tPgoKCSogY29uZmlnL3RjLXNoLmMgKG1kX2FwcGx5X2ZpeCk6IE1ha2Ugc3VyZSBCRkRfUkVMT0NfU0hfUENSRUxJTU04Qlk0CglyZWxvY2F0aW9ucyBhcmUgcHJvcGVybHkgYWxpZ25lZCwgYW5kIG5vdCBuZWdhdGl2ZS4KCjIwMDgtMDQtMTUgIEtoZW0gUmFqICA8a3JhakBtdmlzdGEuY29tPgoKCSogZG9jL3RjLWFybS50ZXhpOiBGaXggZm5zdGFydCBhbmQgZm5lbmQgZGlyZWN0aXZlIG5hbWVzLgoKMjAwOC0wNC0xNCAgRWRtYXIgV2llbnNrb3NraSAgPGVkbWFyQGZyZWVzY2FsZS5jb20+CgoJKiBjb25maWcvdGMtcHBjLmMgKHBhcnNlX2NwdSk6IEhhbmRsZSAiZTUwMG1jIi4gIEV4dGVuZCAiZTUwMCIgdG8KCWFjY2VwdCBlNTAwbWMgaW5zdHJ1Y3Rpb25zLgoJKG1kX3Nob3dfdXNhZ2UpOiBEb2N1bWVudCAtbWU1MDBtYy4KCjIwMDgtMDQtMTEgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBsaXN0aW5nLmMgKHByaW50X3RpbWVzdGFtcCk6IFVzZSBsb2NhbHRpbWUgcmF0aGVyIHRoYW4KCWxvY2FsdGltZV9yIHNpbmNlIG5vdCBhbGwgYnVpbGQgZW52aXJvbm1lbnRzIHByb3ZpZGUgdGhlIGxhdHRlci4KCjIwMDgtMDQtMTAgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIE5FV1M6IE1lbnRpb24gLW1zc2UtY2hlY2s9W25vbmV8ZXJyb3J8d2FybmluZ10uCgoJKiBjb25maWcvdGMtaTM4Ni5jIChzc2VfY2hlY2spOiBOZXcuCgkoT1BUSU9OX01TU0VfQ0hFQ0spOiBMaWtld2lzZS4KCShtZF9hc3NlbWJsZSk6IENoZWNrIFNTRSBpbnN0cnVjdGlvbnMgaWYgbmVlZGVkLgoJKG1kX2xvbmdvcHRzKTogQWRkIC1tc3NlLWNoZWNrLgoJKG1kX3BhcnNlX29wdGlvbik6IEhhbmRsZSBPUFRJT05fTVNTRV9DSEVDSy4KCShtZF9zaG93X3VzYWdlKTogU2hvdyAtbXNzZS1jaGVjaz1bbm9uZXxlcnJvcnx3YXJuaW5nXS4KCgkqIGRvYy9jLWkzODYudGV4aTogRG9jdW1lbnQgLW1zc2UtY2hlY2s9W25vbmV8ZXJyb3J8d2FybmluZ10uCgoyMDA4LTA0LTEwICBTYW50aWFnbyBVcnVl8WEgIDxzdXJ1ZW5hQGdtYWlsLmNvbT4KCgkqIGxpc3RpbmcuYzogQWRkIC1hZyBsaXN0aW5nIGZsYWcgdG8gc2hvdyBnZW5lcmFsIGluZm9ybWF0aW9uIGluCglsaXN0aW5ncyBzdWNoIGFzIGdhcyB2ZXJzaW9uLCBwYXNzZWQgb3B0aW9ucywgYW5kIHRpbWUgc3RhbXAuCgkobGlzdGluZ19nZW5lcmFsX2luZm8pOiBOZXcgZnVuY3Rpb24uCgkocHJpbnRfb3B0aW9ucyk6IE5ldyBmdW5jdGlvbi4KCShwcmludF9zaW5nbGVfb3B0aW9uKTogTmV3IGZ1bmN0aW9uLgoJKHByaW50X3RpbWVzdGFtcCk6IE5ldyBmdW5jdGlvbi4KCShNQVhfREFURUxFTik6IERlZmluZS4KCShsaXN0aW5nX3ByaW50KTogQWRkIGNhbGwgdG8gbGlzdGluZ19nZW5lcmFsX2luZm8uCgkqIGxpc3RpbmcuaCAoTElTVElOR19HRU5FUkFMKTogRGVmaW5lLgoJKGxpc3RpbmdfcHJpbnQpOiBBZGQgbmV3IHBhcmFtZXRlci4KCSogYXMuYyAoc2hvd191c2FnZSk6IFByaW50IG5ldyBzd2l0Y2guCgkocGFyc2VfYXJncyk6IFBhcnNlIG5ldyBzd2l0Y2guCgkobWFpbik6IFBhc3MgY29tbWFuZCBsaW5lIG9uIHRvIGxpc3RpbmdfcHJpbnQuCgkqIE5FV1M6IE1lbnRpb24gdGhpcyBuZXcgZmVhdHVyZS4KCSogZG9jL2FzLnRleGluZm86IERvY3VtZW50IHRoZSBuZXcgc3ViLW9wdGlvbi4KCjIwMDgtMDQtMDggIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBkd2FyZjJkYmcuYyAoZHdhcmYyX2VtaXRfaW5zbik6IFNpbXBsaWZ5IHRlc3QgYmVmb3JlIGR3YXJmMl93aGVyZQoJY2FsbC4gIERlbGV0ZSBvdXQgb2YgZGF0ZSBjb21tZW50LgoJKGR3YXJmMl9jb25zdW1lX2xpbmVfaW5mbyk6IEFsd2F5cyBjbGVhciBkd2FyZjJfbG9jX2RpcmVjdGl2ZV9zZWVuLgoJKGR3YXJmMl9lbWl0X2xhYmVsKTogRG9uJ3QgZW1pdCB1bmxlc3MgdGhlcmUgaGFzIGJlZW4gYSBwcmV2aW91cwoJLmZpbGUgb3Igd2UgYXJlIG91dHB1dHRpbmcgYXNzZW1ibGVyIGdlbmVyYXRlZCBkZWJ1Zy4KCWR3YXJmMl9jb25zdW1lX2xpbmVfaW5mbyBhZnRlciBlbWl0dGluZyBsaW5lIGluZm8sIG5vdCBiZWZvcmUuCgkob3V0X2RlYnVnX2luZm8pOiBTaW1wbGlmeSBmaWxlc19pbl91c2UgdGVzdC4KCjIwMDgtMDQtMDcgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKHBhcnNlX3JlYWxfcmVnaXN0ZXIpOiBSZXR1cm4gQVZYIHJlZ2lzdGVyCglvbmx5IGlmIEFWWCBpcyBlbmFibGVkLgoKMjAwOC0wNC0wNyAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJUFIgZ2FzLzYwNDMKCSogY29uZmlnL3RjLXNoNjQuYyAoc2htZWRpYV9tZF9wY3JlbF9mcm9tX3NlY3Rpb24pOiBVc2UKCW1kX3BjcmVsX2Zyb21fc2VjdGlvbiBmb3IgQkZEX1JFTE9DXzY0IGFuZCBCRkRfUkVMT0NfNjRfUENSRUwuCgoyMDA4LTA0LTA0ICBBZHJpYW4gQnVuayAgPGJ1bmtAc3R1c3RhLmRlPgoJICAgIEJvYiBXaWxzb24gIDxib2Iud2lsc29uQGFjbS5vcmc+CgoJKiBjb25maWcvdGMteHRlbnNhLmMgKHhnX2FwcGx5X2ZpeF92YWx1ZSk6IENoZWNrIHJldHVybiBjb2RlIGZyb20KCWNhbGwgdG8gZGVjb2RlX3JlbG9jLgoKMjAwOC0wNC0wNCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogTkVXUzogTWVudGlvbiBYU0FWRS4gIENoYW5nZSBDTE1VTCB0byBQQ0xNVUwuCgoJKiBjb25maWcvdGMtaTM4Ni5jIChjcHVfYXJjaCk6IEFkZCAucGNsbXVsLgoJKG1kX3Nob3dfdXNhZ2UpOiBSZXBsYWNlIGNsbXVsIHdpdGggcGNsbXVsLgoJKiBkb2MvYy1pMzg2LnRleGk6IExpa2V3aXNlLgoKMjAwOC0wNC0wMyAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogTkVXUzogTWVudGlvbiBBRVMsIENMTVVMLCBBVlgvRk1BIGFuZCAtbXNzZTJhdnguCgoJKiBkb2MvYy1pMzg2LnRleGk6IEFkZCBhdngsIGFlcywgY2xtdWwgYW5kIGZtYSB0byAtbWFyY2g9LgoJRG9jdW1lbnQgLW1zc2UyYXZ4LCAuYXZ4LCAuYWVzLCAuY2xtdWwgYW5kIC5mbWEuCgoJKiBjb25maWcvdGMtaTM4Ni5jIChZTU1XT1JEX01ORU1fU1VGRklYKTogTmV3LgoJKHZleF9wcmVmaXgpOiBMaWtld2lzZS4KCShzc2UyYXZ4KTogTGlrZXdpc2UuCgkoQ1BVX0ZMQUdTX0FSQ0hfTUFUQ0gpOiBMaWtld2lzZS4KCShDUFVfRkxBR1NfNjRCSVRfTUFUQ0gpOiBMaWtld2lzZS4KCShDUFVfRkxBR1NfMzJCSVRfTUFUQ0gpOiBMaWtld2lzZS4KCShDUFVfRkxBR1NfUEVSRkVDVF9NQVRDSCk6IExpa2V3aXNlLgoJKHJlZ3ltbSk6IExpa2V3aXNlLgoJKHZleF9pbW00KTogTGlrZXdpc2UuCgkoZml0c19pbl9pbW00KTogTGlrZXdpc2UuCgkoYnVpbGRfdmV4X3ByZWZpeCk6IExpa2V3aXNlLgoJKFZFWF9jaGVja19vcGVyYW5kcyk6IExpa2V3aXNlLgoJKGJhZF9pbXBsaWNpdF9vcGVyYW5kKTogTGlrZXdpc2UuCgkoT1BUSU9OX01TU0UyQVZYKTogTGlrZXdpc2UuCgkoVF9ZTU1XT1JEKTogTGlrZXdpc2UuCgkoX2kzODZfaW5zbik6IEFkZCB2ZXguCgkoY3B1X2FyY2gpOiBBZGQgLmF2eCwgLmFlcywgLmNsbXVsIGFuZCAuZm1hLgoJKGNwdV9mbGFnc19tYXRjaCk6IENoYW5nZWQgdG8gdGFrZSBhIHBvaW50ZXIgdG8gY29uc3QgdGVtcGxhdGUuCglFbmFibGUgZW5jb2RpbmcgU1NFIGluc3RydWN0aW9ucyB3aXRoIFZFWCBwcmVmaXggZm9yIC1tc3NlMmF2eC4KCShtYXRjaF9tZW1fc2l6ZSk6IEFsc28gY2hlY2sgeW1td29yZC4KCShvcGVyYW5kX3R5cGVfbWF0Y2gpOiBDbGVhciB5bW13b3JkLgoJKG1kX2JlZ2luKTogQWxsb3cgJ18nIGluIG1uZW1vbmljLgoJKHR5cGVfbmFtZXMpOiBBZGQgT1BFUkFORF9UWVBFX1ZFWF9JTU00LgoJKHByb2Nlc3NfaW1tZXh0KTogVXBkYXRlIGFzc2VydC4KCShtZF9hc3NlbWJsZSk6IERvbid0IGNhbGwgcHJvY2Vzc19pbW1leHQgaWYgc3NlMmF2eCBhbmQgaW1tZXh0CglhcmUgdHJ1ZS4gIENhbGwgYnVpbGRfdmV4X3ByZWZpeCBpZiB2ZXggaXMgdHJ1ZS4KCShwYXJzZV9pbnNuKTogVXBkYXRlZCBmb3IgY3B1X2ZsYWdzX21hdGNoLgoJKHN3YXBfb3BlcmFuZHMpOiBIYW5kbGUgNSBvcGVyYW5kcy4KCShtYXRjaF90ZW1wbGF0ZSk6IEhhbmRsZSA1IG9wZXJhbmRzLiBVcGRhdGVkIGZvciBjcHVfZmxhZ3NfbWF0Y2guCglDaGVjayByZWd5bW0uICBDYWxsIFZFWF9jaGVja19vcGVyYW5kcy4gSGFuZGxlIFlNTVdPUkRfTU5FTV9TVUZGSVguCgkocHJvY2Vzc19zdWZmaXgpOiBIYW5kbGUgWU1NV09SRF9NTkVNX1NVRkZJWC4KCShjaGVja19ieXRlX3JlZyk6IENoZWNrIHJlZ3ltbS4KCShwcm9jZXNzX29wZXJhbmRzKTogRHVwbGljYXRlIHRoZSBkZXN0aW5hdGlvbiByZWdpc3RlciBmb3IKCS1tc3NlMmF2eCBpZiBuZWVkZWQuCgkoYnVpbGRfbW9kcm1fYnl0ZSk6IFVwZGF0ZWQgZm9yIGluc3RydWN0aW9ucyB3aXRoIFZFWCBlbmNvZGluZy4KCShvdXRwdXRfaW5zbik6IE91dHB1dCBWRVggcHJlZml4IGlmIG5lZWRlZC4KCShtZF9sb25nb3B0cyk6IEFkZCBtc3NlMmF2eC4KCShtZF9wYXJzZV9vcHRpb24pOiBIYW5kbGUgT1BUSU9OX01TU0UyQVZYLgoJKG1kX3Nob3dfdXNhZ2UpOiBBZGQgYXZ4LCBhZXMsIGNsbXVsLCBmbWEgYW5kIC1tc3NlMmF2eC4KCShpbnRlbF9lMDkpOiBTdXBwb3J0IFlNTVdPUkQuCgkoaW50ZWxfZTExKTogTGlrZXdpc2UuCgkoaW50ZWxfZ2V0X3Rva2VuKTogTGlrZXdpc2UuCgoyMDA4LTAzLTI4ICBFcmljIEIuIFdlZGRpbmd0b24gIDxlcmljLndlZGRpbmd0b25AYXRtZWwuY29tPgoKCSogY29uZmlnL3RjLWF2ci5jIChtY3VfdHlwZXMpOiBBZGQgYXR0aW55MTY3LgoJKiBkb2MvYy1hdnIudGV4aTogTGlrZXdpc2UuCgoyMDA4LTAzLTI4ICBFcmljIEIuIFdlZGRpbmd0b24gIDxlcmljLndlZGRpbmd0b25AYXRtZWwuY29tPgoKCSogY29uZmlnL3RjLWF2ci5jIChtY3VfdHlwZXMpOiBBZGQgYXRtZWdhMzJ1NC4KCSogZG9jL2MtYXZyLnRleGk6IExpa2V3aXNlLgoKMjAwOC0wMy0yOCAgRXJpYyBCLiBXZWRkaW5ndG9uICA8ZXJpYy53ZWRkaW5ndG9uQGF0bWVsLmNvbT4KCgkqIGNvbmZpZy90Yy1hdnIuYyAobWN1X3R5cGVzKTogQWRkIGF0bWVnYTMyYzEuCgkqIGRvYy9jLWF2ci50ZXhpOiBMaWtld2lzZS4KCjIwMDgtMDMtMjggIFBhdWwgQnJvb2sgIDxwYXVsQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWcvdGMtYXJtLmMgKHBhcnNlX25lb25fbW92KTogUGFyc2UgcmVnaXN0ZXIgYmVmb3JlIGltbWVkaWF0ZQoJdG8gYXZvaWQgc3B1cmlvdXMgc3ltYm9scy4KCjIwMDgtMDMtMjggIE5hdGhhbiBTaWR3ZWxsICA8bmF0aGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWcvdGMtbTY4ay5jIChtZF9jb252ZXJ0X2ZyYWdfMSk6IFJlcGxhY2UgYXNfZmF0YWwgd2l0aAoJYXNfYmFkX3doZXJlLgoKMjAwOC0wMy0yNyAgRXJpYyBCLiBXZWRkaW5ndG9uICA8ZXJpYy53ZWRkaW5ndG9uQGF0bWVsLmNvbT4KCgkqIGNvbmZpZy90Yy1hdnIuYyAobWN1X3R5cGVzKTogQWRkIGF0bWVnYTMybTEuCgkqIGRvYy9jLWF2ci50ZXhpOiBMaWtld2lzZS4KCjIwMDgtMDMtMjcgIEluZWlldiAgPGluZWlldkB5YWhvby5jby51az4KCgkqIGNvbmZpZy90Yy1hcm0uYyAoZG9fbmVvbl9jdnQpOiBNb3ZlIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0bwoJc3RhcnQgb2YgYmxvY2suCgkoZG9fbmVvbl9leHQpOiBGaXggc2lnbiBvZiBjb21wYXJpc29uLgoKMjAwOC0wMy0yNiAgQmVybmQgU2NobWlkdCAgPGJlcm5kLnNjaG1pZHRAYW5hbG9nLmNvbT4KCglGcm9tIEppZSBaaGFuZyAgPGppZS56aGFuZ0BhbmFsb2cuY29tPgoJKiBjb25maWcvYmZpbi1wYXJzZS55IChhc21fMSk6IENoZWNrIEFSRUdTIGluIGNvbXBhcmlzb24KCWluc3RydWN0aW9ucy4gQW5kIGNhbGwgeXllcnJvciB3aGVuIGNvbXBhcmluZyBQUkVHIHdpdGgKCURSRUcuCgkoY2hlY2tfbWFjZnVuY19vcHRpb24pOiBOZXcuCgkoY2hlY2tfbWFjZnVuY3MpOiBDaGVjayBvcHRpb24gYnkgY2FsbGluZyBjaGVja19tYWNmdW5jX29wdGlvbi4KCUZpeCBjb21wYXJpc29uIGFsd2F5cyB0cnVlIHdhcm5pbmdzLiAgQm90aCBzY2FsYXIgaW5zdHJ1Y3Rpb25zCglvZiB2ZWN0b3IgaW5zdHJ1Y3Rpb24gbXVzdCBzaGFyZSB0aGUgc2FtZSBtb2RlIG9wdGlvbi4gIE9ubHkgYWxsb3cKCW9wdGlvbiBtb2RlIGF0IHRoZSBlbmQgb2YgdGhlIHNlY29uZCBpbnN0cnVjdGlvbiBvZiB0aGUgdmVjdG9yLgoJKGFzbV8xKTogQ2hlY2sgb3B0aW9uIGJ5IGNhbGxpbmcgY2hlY2tfbWFjZnVuY19vcHRpb24uCgoJKiBjb25maWcvYmZpbi1wYXJzZS55IChjaGVja19tYWNmdW5jX29wdGlvbik6IEFsbG93IChJVSkKCW9wdGlvbiBmb3IgbXVsdGlwbHkgYW5kIG11bHRpcGx5LWFjY3VtdWxhdGUgdG8gZGF0YSByZWdpc3RlcgoJaW5zdHJ1Y3Rpb24uCgkoY2hlY2tfbWFjZnVuY3MpOiBEb24ndCBjaGVjayBpZiBhY2N1bXVsYXRvciBtYXRjaGVzIHRoZSBkYXRhIHJlZ2lzdGVyCgloZXJlLgoJKGFzc2lnbl9tYWNmdW5jKTogQ2hlY2sgaWYgYWNjdW11bGF0b3IgbWF0Y2hlcyB0aGUKCWRhdGEgcmVnaXN0ZXIgaW4gZWFjaCBydWxlIHRoYXQgbW92ZXMgdG8gdGhlIGRhdGEKCXJlZ2lzdGVyLgoKCSogY29uZmlnL3RjLWJmaW4uYyAoYmZpbl9zdGFydF9saW5lX2hvb2spOiBMb2NhbGl6ZSB0aGUgbGFiZWxzCglnZW5lcmF0ZWQgZm9yIExPT1BfQkVHSU4gYW5kIExPT1BfRU5EIGluc3RydWN0aW9ucy4KCShiZmluX2dlbl9sb29wKTogTGlrZXdpc2UuCgoyMDA4LTAzLTE5ICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsMUBkZS5pYm0uY29tPgoKCSogY29uZmlnL3RjLXMzOTAuYyAobWRfcGFyc2Vfb3B0aW9uKTogejEwIG9wdGlvbiBhZGRlZC4KCjIwMDgtMDMtMTcgIFJhbGYgV2lsZGVuaHVlcyAgPFJhbGYuV2lsZGVuaHVlc0BnbXguZGU+CgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IExpa2V3aXNlLgoJKiBNYWtlZmlsZS5pbjogTGlrZXdpc2UuCgkqIGRvYy9NYWtlZmlsZS5pbjogTGlrZXdpc2UuCgoyMDA4LTAzLTE3ICBBZHJpYW4gQnVuayAgPGJ1bmtAc3R1c3RhLmRlPgoKCVBSIDU5NDYKCSogY29uZmlnL3RjLWhwcGEuYyAoaXNfc2FtZV9mcmFnKTogRGVsZXRlLgoKMjAwOC0wMy0xNCAgU3RlcmxpbmcgQXVndXN0aW5lICA8c3RlcmxpbmdAdGVuc2lsaWNhLmNvbT4KCgkqIGNvbmZpZy90Yy14dGVuc2EuaCAoeHRlbnNhX3JlbGF4X3N0YXRlc0UpOiBVcGRhdGUgY29tbWVudCBmb3IKCVJFTEFYX0xPT1BfRU5EX0FERF9OT1AuCgoyMDA4LTAzLTEzICBFdmFuZHJvIE1lbmV6ZXMgIDxldmFuZHJvQHlhaG9vLmNvbT4KCglQUiBnYXMvNTg5NQoJKiByZWFkLmMgKHNfbWV4aXQpOiBXYXJuIGlmIGF0dGVtcHRpbmcgdG8gZXhpdCBhIG1hY3JvIHdoZW4gbm90CglpbnNpZGUgYSBtYWNybyBkZWZpbml0aW9uLgoKMjAwOC0wMy0xMyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIE1ha2VmaWxlLmFtOiBSdW4gIm1ha2UgZGVwLWFtIi4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDgtMDMtMDkgIFBhdWwgQnJvb2sgIDxwYXVsQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWcvdGMtYXJtLmMgKGFybV9jcHVfb3B0aW9uX3RhYmxlKTogQWRkIGNvcnRleC1hOS4KCSogZG9jL2MtYXJtLnRleGk6IEFkZCBjb3J0ZXgtYTkuCgoyMDA4LTAzLTA5ICBQYXVsIEJyb29rICA8cGF1bEBjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlnL3RjLWFybS5jIChmcHVfdmZwX2V4dF9kMzIpOiBOZXcgdmFpcmFibGUuCgkocGFyc2VfdmZwX3JlZ19saXN0LCBlbmNvZGVfYXJtX3ZmcF9yZWcpOiBVc2UgaXQuCgkoYXJtX29wdGlvbl9jcHVfdmFsdWUpOiBBZGQgdmZwdjMtZDE2LCB2ZnB2MiBhbmQgdmZwdjMuCgkoYWVhYmlfc2V0X3B1YmxpY19hdHRyaWJ1dGVzKTogSGFuZGxlIFRhZ19WRlBfYXJjaD1WRlBWMy1EMTYuCgkqIGRvYy9jLWFybS50ZXhpOiBEb2N1bWVudCBuZXcgQVJNIEZQVSB2YXJpYW50cy4KCjIwMDgtMDMtMDcgIFBhdWwgQnJvb2sgIDxwYXVsQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWcvdGMtYXJtLmMgKG1kX2FwcGx5X2ZpeCk6IFVzZSBjb3JyZWN0IG9mZnNldCByYW5nZS4KCjIwMDgtMDMtMDcgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBjb25maWcvdGMtcHBjLmMgKHBwY19zZXR1cF9vcGNvZGVzKTogVGlkeS4gIEFkZCBjb2RlIHRvIHRlc3QKCWZvciBzdHJpY3Qgb3JkZXJpbmcgb2YgcG93ZXJwY19vcGNvZGVzLCBidXQgZGlzYWJsZSBmb3Igbm93LgoKMjAwOC0wMy0wNCAgUGF1bCBCcm9vayAgPHBhdWxAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZy90Yy1hcm0uYyAoYXJtX2V4dF9iYXJyaWVyLCBhcm1fZXh0X21zcik6IE5ldy4KCShhcm1fZXh0X3Y3bSk6IFJlbmFtZS4uLgoJKGFybV9leHRfbSk6IC4uLiB0byB0aGlzLiAgSW5jbHVkZSB2Ni1NLgoJKGRvX3RfYWRkX3N1Yik6IEFsbG93IG5hcnJvdyBsb3ctcmVnIG5vbiBmbGFnIHNldHRpbmcgYWRkcy4KCShkb190X21ycywgZG9fdF9tc3IsIGFlYWJpX3NldF9wdWJsaWNfYXR0cmlidXRlcyk6IFVzZSBhcm1fZXh0X20uCgkobWRfYXNzZW1ibGUpOiBBbGxvdyB3aWRlIG1zciBpbnN0cnVjdGlvbnMuCgkoaW5zbnMpOiBBZGQgY2xhc3NpZmljYXRpb25zIGZvciB2Ni1tIGluc3RydWN0aW9ucy4KCShhcm1fY3B1X29wdGlvbl90YWJsZSk6IEFkZCBjb3J0ZXgtbTEuCgkoYXJtX2FyY2hfb3B0aW9uX3RhYmxlKTogQWRkIGFybXY2LW0uCgkoY3B1X2FyY2gpOiBBZGQgQVJNX0FSQ0hfVjZNLiAgRml4IG51bWJlcmluZyBvZiBvdGhlciB2NiB2YXJpYW50cy4KCjIwMDgtMDMtMDMgIFN0ZXJsaW5nIEF1Z3VzdGluZSAgPHN0ZXJsaW5nQHRlbnNpbGljYS5jb20+CgkgICAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGNvbmZpZy90Yy14dGVuc2EuYyAoeHRlbnNhX251bV9waXBlX3N0YWdlcyk6IE5ldy4KCShtZF9iZWdpbik6IEluaXRpYWxpemUgaXQuCgkocmVzb3VyY2VzX2NvbmZsaWN0KTogVXNlIGl0LgoKMjAwOC0wMy0wMyAgU3RlcmxpbmcgQXVndXN0aW5lICA8c3RlcmxpbmdAdGVuc2lsaWNhLmNvbT4KCgkqIGNvbmZpZy90Yy14dGVuc2EuaCAoUkVMQVhfWFRFTlNBX05PTkUpOiBOZXcuCgoyMDA4LTAzLTAzICBEZW55cyBWbGFzZW5rbyA8dmRhLmxpbnV4QGdvb2dsZW1haWwuY29tPgoJICAgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglQUiBnYXMvNTU0MwoJKiByZWFkLmMgKHBzZXVkb19zZXQpOiBEb24ndCBhbGxvdyBnbG9iYWwgcmVnaXN0ZXIgc3ltYm9sLgoKCSogc3ltYm9scy5jIChTX1NFVF9FWFRFUk5BTCk6IERvbid0IGFsbG93IHJlZ2lzdGVyIHN5bWJvbAoJZ2xvYmFsLgoKMjAwOC0wMy0wMyAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCVBSIGdhcy81NTQzCgkqIHdyaXRlLmMgKHdyaXRlX29iamVjdF9maWxlKTogRG9uJ3QgYWxsb3cgc3ltYm9scyB3aGljaCB3ZXJlCgllcXVhdGVkIHRvIHJlZ2lzdGVyLiAgU3RvcCBpZiB0aGVyZSBpcyBhbiBlcnJvci4KCjIwMDgtMDMtMDEgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBjb25maWcvdGMtcHBjLmggKHN0cnVjdCBfcHBjX2ZpeF9leHRyYSk6IE5ldy4KCShwcGNfY3B1KTogRGVjbGFyZS4KCShUQ19GSVhfVFlQRSwgVENfSU5JVF9GSVhfREFUQSk6IERlZmluZS4KCSogY29uZmlnL3RjLXBwYy5jIChwcHVfY3B1KTogTWFrZSBnbG9iYWwuCgkocHBjX2luc2VydF9vcGVyYW5kKTogQWRkIHBwdV9jcHUgcGFyYW1ldGVyLgoJKG1kX2Fzc2VtYmxlKTogQWRqdXN0IGZvciBhYm92ZSBjaGFuZ2UuCgkobWRfYXBwbHlfZml4KTogUGFzcyB0Y19maXhfZGF0YS5wcGNfY3B1IHRvIHBwY19pbnNlcnRfb3BlcmFuZC4KCjIwMDgtMDItMjIgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBjb25maWcvdGMtYXJtLmMgKGRvX2J4KTogT25seSB0ZXN0IEVGX0FSTV9FQUJJX1ZFUlNJT04gb24gRUxGCgl0YXJnZXRlZCBBUk0gcG9ydHMsIG90aGVyd2lzZSBqdXN0IHNraXAgZ2VuZXJhdGluZyB0aGUgcmVsb2MuCgoyMDA4LTAyLTE4ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBkb2MvYy1pMzg2LnRleGk6IFVwZGF0ZSAtbWFyY2g9IGFuZCAuYXJjaC4KCjIwMDgtMDItMTggIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBjb25maWcvdGMtbW4xMDMwMC5jIChoYXNfa25vd25fc3ltYm9sX2xvY2F0aW9uKTogTmV3IGZ1bmN0aW9uLgoJRG8gbm90IHJlZ2FyZCB3ZWFrIHN5bWJvbHMgYXMgaGF2aW5nIGEga25vd24gbG9jYXRpb24uCgkobWRfZXN0aW1hdGVfc2l6ZV9iZWZvcmVfcmVsYXgpOiBVc2UgbmV3IGZ1bmN0aW9uLgoJKG1kX3BjcmVsX2Zyb20pOiBEbyBub3QgY29tcHV0ZSBhIHBjcmVsIGFnYWluc3QgYSB3ZWFrIHN5bWJvbC4KCjIwMDgtMDItMTggIEphbiBCZXVsaWNoICA8amJldWxpY2hAbm92ZWxsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKG1hdGNoX3RlbXBsYXRlKTogRGlzYWxsb3cgJ2wnIHN1ZmZpeCB3aGVuCgljdXJyZW50bHkgc2VsZWN0ZWQgQ1BVIGhhcyBubyAzMi1iaXQgc3VwcG9ydC4KCShwYXJzZV9yZWFsX3JlZ2lzdGVyKTogRG8gbm90IHJldHVybiByZWdpc3RlcnMgbm90IGF2YWlsYWJsZSBvbgoJY3VycmVudGx5IHNlbGVjdGVkIENQVS4KCjIwMDgtMDItMTYgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKHByb2Nlc3NfaW1tZXh0KTogRml4IGZvcm1hdC4KCjIwMDgtMDItMTYgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKGlub3V0cG9ydHJlZyk6IE5ldy4KCShwcm9jZXNzX2ltbWV4dCk6IE5ldy4KCShtZF9hc3NlbWJsZSk6IFVzZSBpdC4KCSh1cGRhdGVfaW1tKTogVXNlIGltbTE2IGFuZCBpbW0zMnMuCgkoaTM4Nl9hdHRfb3BlcmFuZCk6IFVzZSBpbm91dHBvcnRyZWcuCgoyMDA4LTAyLTE0ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChvcGVyYW5kX3R5cGVfYWxsX3plcm8pOiBOZXcuCgkob3BlcmFuZF90eXBlX3NldCk6IExpa2V3aXNlLgoJKG9wZXJhbmRfdHlwZV9lcXVhbCk6IExpa2V3aXNlLgoJKGNwdV9mbGFnc19hbGxfemVybyk6IExpa2V3aXNlLgoJKGNwdV9mbGFnc19zZXQpOiBMaWtld2lzZS4KCShjcHVfZmxhZ3NfZXF1YWwpOiBMaWtld2lzZS4KCShVSU5UU19BTExfWkVSTyk6IFJlbW92ZWQuCgkoVUlOVFNfU0VUKTogTGlrZXdpc2UuCgkoVUlOVFNfQ0xFQVIpOiBMaWtld2lzZS4KCShVSU5UU19FUVVBTCk6IExpa2V3aXNlLgoJKGNwdV9mbGFnc19tYXRjaCk6IFVwZGF0ZWQuCgkoc21hbGxlc3RfaW1tX3R5cGUpOiBMaWtld2lzZS4KCShzZXRfY3B1X2FyY2gpOiBMaWtld2lzZS4KCShtZF9hc3NlbWJsZSk6IExpa2V3aXNlLgoJKG9wdGltaXplX2ltbSk6IExpa2V3aXNlLgoJKG1hdGNoX3RlbXBsYXRlKTogTGlrZXdpc2UuCgkocHJvY2Vzc19zdWZmaXgpOiBMaWtld2lzZS4KCSh1cGRhdGVfaW1tKTogTGlrZXdpc2UuCgkocHJvY2Vzc19kcmV4KTogTGlrZXdpc2UuCgkocHJvY2Vzc19vcGVyYW5kcyk6IExpa2V3aXNlLgoJKGJ1aWxkX21vZHJtX2J5dGUpOiBMaWtld2lzZS4KCShpMzg2X2ltbWVkaWF0ZSk6IExpa2V3aXNlLgoJKGkzODZfZGlzcGxhY2VtZW50KTogTGlrZXdpc2UuCgkoaTM4Nl9hdHRfb3BlcmFuZCk6IExpa2V3aXNlLgoJKHBhcnNlX3JlYWxfcmVnaXN0ZXIpOiBMaWtld2lzZS4KCShtZF9wYXJzZV9vcHRpb24pOiBMaWtld2lzZS4KCShpMzg2X3RhcmdldF9mb3JtYXQpOiBMaWtld2lzZS4KCjIwMDgtMDItMTQgIERpbWl0cnkgQW5kcmljICA8ZGltaXRyeUBhbmRyaWMuY29tPgoKCVBSIGdhcy81NzEyCgkqIGNvbmZpZy90Yy1hcm0uYyAoc19hcm1fdW53aW5kX3NhdmUpOiBBZHZhbmNlIHRoZSBpbnB1dCBsaW5lCglwb2ludGVyIHBhc3QgdGhlIGNvbW1hIGFmdGVyIHBhcnNpbmcgYSBmbG9hdGluZyBwb2ludCByZWdpc3RlcgoJbmFtZS4KCjIwMDgtMDItMTQgIEhha2FuIEFyZG8gIDxoYWthbkBkZWJpYW4ub3JnPgoKCVBSIGdhcy8yNjI2CgkqIGNvbmZpZy90Yy1hdnIuYyAobWN1X3R5cGVzKTogQ2hhbmdlIHRoZSBJU0EgdHlvZSBvZiB0aGUgYXR0aW55MjYKCXRvIEFWUl9JU0FfMnh4ZS4KCShhdnJfb3BlcmFuZCk6IERpc2FsbG93IHBvc3QtaW5jcmVtZW50IGFkZHJlc3NpbmcgaW4gdGhlIGxwbQoJaW5zdHJ1Y3Rpb24gZm9yIHRoZSBhdHRpbnkyNi4KCjIwMDgtMDItMTMgIEphbiBCZXVsaWNoICA8amJldWxpY2hAbm92ZWxsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKHBhcnNlX3JlYWxfcmVnaXN0ZXIpOiBEb24ndCByZXR1cm4gJ0ZMQVQnCglpZiBub3QgaW4gSW50ZWwgbW9kZS4KCShpMzg2X2ludGVsX29wZXJhbmQpOiBJZ25vcmUgc2VnbWVudCBvdmVycmlkZXMgaW4gaW1tZWRpYXRlIGFuZAoJb2Zmc2V0IG9wZXJhbmRzLgoJKGludGVsX2UxMSk6IFJhbmdlLWNoZWNrIGkubWVtX29wZXJhbmRzIGJlZm9yZSB1c2UgYXMgYXJyYXkKCWluZGV4LiBGaWx0ZXIgb3V0IEZMQVQgZm9yIHVzZXMgb3RoZXIgdGhhbiBhcyBzZWdtZW50IG92ZXJyaWRlLgoJKGludGVsX2dldF90b2tlbik6IFJlbW92ZSBicm9rZW4gcHJvbW90aW9uIG9mICJGTEFUOiIgdG8gbWVhbgoJIm9mZnNldCBGTEFUOiIuCgoyMDA4LTAyLTEzICBKYW4gQmV1bGljaCAgPGpiZXVsaWNoQG5vdmVsbC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChpbnRlbF9lMDkpOiBBbHNvIHNwZWNpYWwtY2FzZSAnYm91bmQnLgoKMjAwOC0wMi0xMyAgSmFuIEJldWxpY2ggIDxqYmV1bGljaEBub3ZlbGwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAoYWxsb3dfcHNldWRvX3JlZyk6IE5ldy4KCShwYXJzZV9yZWFsX3JlZ2lzdGVyKTogQ2hlY2sgZm9yIE5VTEwganVzdCBvbmNlLiBBbGxvdyBhbGwKCXJlZ2lzdGVyIHRhYmxlIGVudHJpZXMgd2hlbiBhbGxvd19wc2V1ZG9fcmVnIGlzIG5vbi16ZXJvLgoJRG9uJ3QgYWxsb3cgYW55IHJlZ2lzdGVycyB3aXRob3V0IHR5cGUgd2hlbiBhbGxvd19wc2V1ZG9fcmVnCglpcyB6ZXJvLgoJKHRjX3g4Nl9yZWduYW1lX3RvX2R3MnJlZ251bSk6IFJlcGxhY2Ugd2l0aCAuLi4KCSh0Y194ODZfcGFyc2VfdG9fZHcycmVnbnVtKTogLi4uIHRoaXMuCgkodGNfeDg2X2ZyYW1lX2luaXRpYWxfaW5zdHJ1Y3Rpb25zKTogQWRqdXN0IGZvciBhYm92ZSBjaGFuZ2UuCgkqIGNvbmZpZy90Yy1pMzg2LmggKHRjX3JlZ25hbWVfdG9fZHcycmVnbnVtKTogUmVtb3ZlLgoJKHRjX3BhcnNlX3RvX2R3MnJlZ251bSk6IE5ldy4KCSh0Y194ODZfcmVnbmFtZV90b19kdzJyZWdudW0pOiBSZXBsYWNlIHdpdGggLi4uCgkodGNfeDg2X3BhcnNlX3RvX2R3MnJlZ251bSk6IC4uLiB0aGlzLgoJKiBkdzJnZW5jZmkuYyAodGNfcGFyc2VfdG9fZHcycmVnbnVtKTogTmV3LCBicm9rZW4gb3V0IG9mIC4uLgoJKGNmaV9wYXJzZV9yZWcpOiAuLi4gdGhpcy4gVXNlIHRjX3BhcnNlX3RvX2R3MnJlZ251bS4gQWRqdXN0CgllcnJvciBoYW5kbGluZy4KCjIwMDgtMDItMTIgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBjb25maWcvdGMtdGljNHguYyAodGljNHhfaW5zbl9pbnNlcnQpOiBBZGQgY29uc3QgcXVhbGlmaWVyIHRvCglhcmd1bWVudC4KCSh0aWM0eF9pbnNuX2FkZCk6IExpa2V3aXNlLgoJKG1kX2JlZ2luKTogRHJvcCBjYXN0IHRoYXQgd2FzIGRpc2NhcmRpbmcgYSBjb25zdCBxdWFsaWZpZXIuCgkqIGNvbmZpZy90Yy1kMzB2LmMgKGdldF9yZWxvYyk6IEFkZCBjb25zdCBxdWFsaWZpZXIgdG8gb3AKCWFyZ3VtZW50LgoJKGJ1aWxkX2luc24pOiBEcm9wIGNhc3QgdGhhdCB3YXMgZGlzY2FyZGluZyBhIGNvbnN0IHF1YWxpZmllci4KCjIwMDgtMDItMTEgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKGNwdV9hcmNoKTogQWRkIC54c2F2ZS4KCShtZF9zaG93X3VzYWdlKTogQWRkIC54c2F2ZS4KCgkqIGRvYy9jLWkzODYudGV4aTogQWRkIHhzYXZlIHRvIC1tYXJjaD0uCgoyMDA4LTAyLTA3ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogcmVhZC5jIChzX3dlYWtyZWYpOiBEb24ndCBwYXNzIHVuYWRvcm5lZCBOVUxMIHRvIGNvbmNhdC4KCSogY29uZmlnL3RjLWkzODYuYyAoc2V0X2NwdV9hcmNoLCBtZF9wYXJzZV9vcHRpb24pOiBMaWtld2lzZS4KCjIwMDgtMDItMDUgIFN0ZXJsaW5nIEF1Z3VzdGluZSAgPHN0ZXJsaW5nQHRlbnNpbGljYS5jb20+CgoJKiBjb25maWcvdGMteHRlbnNhLmMgKHJlbGF4X2ZyYWdfaW1tZWQpOiBDaGFuZ2UgaW50ZXJuYWwgY29uc2lzdGVuY3kKCWNoZWNrcyBpbnRvIGFzc2VydGlvbnMuICBXaGVuIHJlbGF4YXRpb24gcHJvZHVjZXMgYW4gb3BlcmF0aW9uIHRoYXQKCWRvZXMgbm90IGZpdCBpbiB0aGUgY3VycmVudCBGTElYIGluc3RydWN0aW9uLCBtYWtlIHN1cmUgdGhhdCB0aGUKCW9wZXJhdGlvbiBpcyByZWxheGVkIGFzIG5lZWRlZCB0byBhY2NvdW50IGZvciBiZWluZyBwbGFjZWQgZm9sbG93aW5nCgl0aGUgY3VycmVudCBpbnN0cnVjdGlvbi4KCjIwMDgtMDItMDQgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglQUiA1NzE1CgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDA4LTAyLTA0ICBBZGFtIE5lbWV0ICA8YW5lbWV0QGNhdml1bW5ldHdvcmtzLmNvbT4KCgkqIGNvbmZpZy90Yy1taXBzLmMgKG1pcHNfY3B1X2luZm9fdGFibGUpOiBBZGQgT2N0ZW9uLgoKMjAwOC0wMS0zMSAgTWFyYyBHYXV0aGllciAgPG1hcmNAdGVuc2lsaWNhLmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3QgKHh0ZW5zYSotKi0qKTogUmVjb2duaXplIHByb2Nlc3NvciB2YXJpYW50cy4KCjIwMDgtMDEtMjUgIEthaSBUaWV0eiAgPGthaS50aWV0ekBvbmV2aXNpb24uY29tPgoKCSogcmVhZC5jOiAoZW1pdF9leHByKTogQ29ycmVjdCBmb3IgbWluZ3cgdXNlIG9mIHByaW50ZiBzaXplCglzcGVjaWZpZXIuCgoyMDA4LTAxLTI0ICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogZG9jL2MteHRlbnNhLnRleGkgKFh0ZW5zYSBTeW50YXgpOiBDbGFyaWZ5IGhhbmRsaW5nIG9mIG9wY29kZXMgdGhhdAoJY2FuIG9ubHkgYmUgZW5jb2RlZCBpbiBGTElYIGluc3RydWN0aW9ucyBidXQgYXJlIG5vdCBzcGVjaWZpZWQgYXMgc3VjaC4KCShYdGVuc2EgQXV0b21hdGljIEFsaWdubWVudCk6IFJlbW92ZSBvYnNvbGV0ZSBjb21tZW50IGFib3V0IGRlYnVnZ2luZwoJbGFiZWxzLgoKMjAwOC0wMS0yNCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogTkVXUzogTWVudGlvbiBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnMgZm9yIHg4NiB0YXJnZXRzLgoKMjAwOC0wMS0yMyAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAobWRfc2hvd191c2FnZSk6IFJlcGxhY2UgdGFicyB3aXRoIHNwYWNlcy4KCjIwMDgtMDEtMjMgIEVyaWMgQi4gV2VkZGluZ3RvbiAgPGVyaWMud2VkZGluZ3RvbkBhdG1lbC5jb20+CgoJKiBjb25maWcvdGMtYXZyLmMgKG1jdV90eXBlcyk6IENoYW5nZSBvcGNvZGUgc2V0IGZvciBhdDg2cmY0MDEuCgoyMDA4LTAxLTIzICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChtZF9zaG93X3VzYWdlKTogU2hvdyBtb3JlIHByb2Nlc3NvcnMgZm9yCgktbWFyY2g9Ly1tdHVuZT0uCgoyMDA4LTAxLTIyICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChpMzg2X3RhcmdldF9mb3JtYXQpOiBSZW1vdmUgY3B1bW14Mi4KCjIwMDgtMDEtMjIgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKFhYWF9QUkVGSVgpOiBNb3ZlZCBmcm9tIHRjLWkzODYuaC4KCShYWFhfTU5FTV9TVUZGSVgpOiBMaWtld2lzZS4KCShFTkRfT0ZfSU5TTik6IExpa2V3aXNlLgoJKHRlbXBsYXRlcyk6IExpa2V3aXNlLgoJKG1vZHJtX2J5dGUpOiBMaWtld2lzZS4KCShyZXhfYnl0ZSk6IExpa2V3aXNlLgoJKERSRVhfWFhYKTogTGlrZXdpc2UuCgkoZHJleF9ieXRlKTogTGlrZXdpc2UuCgkoc2liX2J5dGUpOiBMaWtld2lzZS4KCShwcm9jZXNzb3JfdHlwZSk6IExpa2V3aXNlLgoJKGFyY2hfZW50cnkpOiBMaWtld2lzZS4KCShjcHVfc3ViX2FyY2hfbmFtZSk6IFJlbW92ZSBjb25zdC4KCShjcHVfYXJjaCk6IEFkZCAudm14IGFuZCAuc214LgoJKHNldF9jcHVfYXJjaCk6IEFwcGVuZCBjcHVfc3ViX2FyY2hfbmFtZS4KCShtZF9wYXJzZV9vcHRpb24pOiBTdXBwb3J0IC1tYXJjaD1DUFVbLCtFWFRFTlNJT04uLi5dLgoJKG1kX3Nob3dfdXNhZ2UpOiBVcGRhdGVkLgoKCSogY29uZmlnL3RjLWkzODYuaCAoWFhYX1BSRUZJWCk6IE1vdmVkIHRvIHRjLWkzODYuYy4KCShYWFhfTU5FTV9TVUZGSVgpOiBMaWtld2lzZS4KCShFTkRfT0ZfSU5TTik6IExpa2V3aXNlLgoJKHRlbXBsYXRlcyk6IExpa2V3aXNlLgoJKG1vZHJtX2J5dGUpOiBMaWtld2lzZS4KCShyZXhfYnl0ZSk6IExpa2V3aXNlLgoJKERSRVhfWFhYKTogTGlrZXdpc2UuCgkoZHJleF9ieXRlKTogTGlrZXdpc2UuCgkoc2liX2J5dGUpOiBMaWtld2lzZS4KCShwcm9jZXNzb3JfdHlwZSk6IExpa2V3aXNlLgoJKGFyY2hfZW50cnkpOiBMaWtld2lzZS4KCgkqIGRvYy9hcy50ZXhpbmZvOiBVcGRhdGUgaTM4NiAtbWFyY2ggb3B0aW9uLgoKCSogZG9jL2MtaTM4Ni50ZXhpOiBVcGRhdGUgLW1hcmNoPSBmb3IgSVNBLgoKMjAwOC0wMS0xOCAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGNvbmZpZy90Yy14dGVuc2EuYyAoeHRlbnNhX2xlYjEyOCk6IE5ldyBmdW5jdGlvbi4KCShtZF9wc2V1ZG9fdGFibGUpOiBVc2UgaXQgZm9yIHNsZWIxMjggYW5kIHVsZWIxMjguCgkoaXNfbGViMTI4X2V4cHIpOiBOZXcgaW50ZXJuYWwgZmxhZy4KCSh4dGVuc2Ffc3ltYm9sX25ld19ob29rKTogQ2hlY2sgbmV3IGZsYWcuCgoyMDA4LTAxLTE2ICBFcmljIEIuIFdlZGRpbmd0b24gIDxlcmljLndlZGRpbmd0b25AYXRtZWwuY29tPgoKCSogY29uZmlnL3RjLWF2ci5jIChtY3VfdHlwZXMpOiBDaGFuZ2Ugb3Bjb2RlIHNldCBmb3IgYXZyMywKCWF0OTB1c2I4MiwgYXQ5MHVzYjE2Mi4KCSogZG9jL2MtYXZyLnRleGk6IENoYW5nZSBhcmNoaXRlY3R1cmUgZ3JvdXBpbmcgZm9yIGF0OTB1c2I4MiwKCWF0OTB1c2IxNjIuCglUaGVzZSBjaGFuZ2VzIHN1cHBvcnQgdGhlIG5ldyBhdnIzNSBhcmNoaXRlY3R1cmUgZ3JvdXAgaW4gZ2NjLgoKMjAwOC0wMS0xNSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAobWRfYXNzZW1ibGUpOiBBbHNvIHphcCBtb3Z6eCBhbmQgbW92c3gKCXN1ZmZpeCBmb3IgQVQmVCBzeW50YXguCgoyMDA4LTAxLTE0ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChtYXRjaF9yZWdfc2l6ZSk6IE5ldy4KCShtYXRjaF9tZW1fc2l6ZSk6IExpa2V3aXNlLgoJKG9wZXJhbmRfc2l6ZV9tYXRjaCk6IExpa2V3aXNlLgoJKG9wZXJhbmRfdHlwZV9tYXRjaCk6IEFsc28gY2xlYXIgYWxsIHNpemUgZmllbGRzLgoJKG1hdGNoX3RlbXBsYXRlKTogU2tpcCBJbnRlbCBzeW50YXggd2hlbiBpbiBBVCZUIHN5bnRheC4KCUNhbGwgb3BlcmFuZF9zaXplX21hdGNoIHRvIGNoZWNrIG9wZXJhbmQgc2l6ZS4KCShpMzg2X2F0dF9vcGVyYW5kKTogU2V0IHRoZSBtZW0gZmllbGQgdG8gMSBmb3IgbWVtb3J5CglvcGVyYW5kLgoJKGkzODZfaW50ZWxfb3BlcmFuZCk6IExpa2V3aXNlLgoKMjAwOC0wMS0xMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCVBSIGdhcy81NTM0CgkqIGNvbmZpZy90Yy1pMzg2LmMgKF9pMzg2X2luc24pOiBVcGRhdGUgY29tbWVudC4KCShvcGVyYW5kX3R5cGVfbWF0Y2gpOiBBbHNvIGNsZWFyIHVuc3BlY2lmaWVkLgoJKG9wZXJhbmRfdHlwZV9yZWdpc3Rlcl9tYXRjaCk6IExpa2V3aXNlLgoJKHBhcnNlX29wZXJhbmRzKTogSW5pdGlhbGl6ZSB1bnNwZWNpZmllZC4KCShpMzg2X2ludGVsX29wZXJhbmQpOiBMaWtld2lzZS4KCShtYXRjaF90ZW1wbGF0ZSk6IENoZWNrIG1lbW9yeSBhbmQgYWNjdW11bGF0b3Igb3BlcmFuZCBzaXplLgoJKGkzODZfYXR0X29wZXJhbmQpOiBDbGVhciB1bnNwZWNpZmllZCBvbiByZWdpc3RlciBvcGVyYW5kLgoJKGludGVsX2UxMSk6IExpa2V3aXNlLgoJKGludGVsX2UwOSk6IFNldCBvcGVyYW5kIHNpemUgYW5kIGNsZWFuIHVuc3BlY2lmaWVkIGZvcgoJIlhYWCBQVFIiLgoKMjAwOC0wMS0xMSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHJlYWQuYyAoc19zcGFjZSk6IERlY2xhcmUgYHJlcGVhdCcgYXMgb2Zmc2V0VC4KCjIwMDgtMDEtMTAgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKG1hdGNoX3RlbXBsYXRlKTogQ2hlY2sgcHJvY2Vzc29yIHN1cHBvcnQKCWZpcnN0LgoKMjAwOC0wMS0xMCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAobWF0Y2hfdGVtcGxhdGUpOiBDb250aW51ZSBpZiBwcm9jZXNzb3IKCWRvZXNuJ3QgbWF0Y2guCgoyMDA4LTAxLTA5ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy90Yy1pYTY0LmMgKGlhNjRfY29udmVydF9mcmFnKTogWmVyby1pbml0aWFsaXplIHJvb20gZm9yCgl1bndpbmQgcGVyc29uYWxpdHkgZnVuY3Rpb24gYWRkcmVzcy4KCjIwMDgtMDEtMDkgIEJvYiBXaWxzb24gIDxib2Iud2lsc29uQGFjbS5vcmc+CgoJKiBkd2FyZjJkYmcuYyAob3V0X3NsZWIxMjgpOiBEZWxldGUuCgkoc2l6ZV9maXhlZF9pbmNfbGluZV9hZGRyLCBlbWl0X2ZpeGVkX2luY19saW5lX2FkZHIpOiBOZXcuCgkob3V0X2ZpeGVkX2luY19saW5lX2FkZHIpOiBEZWxldGUuCgkocmVsYXhfaW5jX2xpbmVfYWRkciwgZHdhcmYyZGJnX2VzdGltYXRlX3NpemVfYmVmb3JlX3JlbGF4KTogQ2FsbCBuZXcKCXNpemVfZml4ZWRfaW5jX2xpbmVfYWRkciBpZiBEV0FSRjJfVVNFX0ZJWEVEX0FEVkFOQ0VfUEMgaXMgc2V0LgoJKGR3YXJmMmRiZ19jb252ZXJ0X2ZyYWcpOiBMaWtld2lzZSBmb3IgZW1pdF9maXhlZF9pbmNfbGluZV9hZGRyLgoJKHByb2Nlc3NfZW50cmllcyk6IFJlbW92ZSBjYWxscyB0byBvdXRfZml4ZWRfaW5jX2xpbmVfYWRkci4gIFdoZW4KCURXQVJGMl9VU0VfRklYRURfQURWQU5DRV9QQyBpcyBzZXQsIGNhbGwgcmVsYXhfaW5jX2xpbmVfYWRkci4KCSogcmVhZC5oIChlbWl0X2V4cHJfZml4KTogTmV3IHByb3RvdHlwZS4KCSogcmVhZC5jIChlbWl0X2V4cHIpOiBNb3ZlIGNvZGUgdG8gZW1pdF9leHByX2ZpeCBhbmQgdXNlIGl0IGhlcmUuCgkoZW1pdF9leHByX2ZpeCk6IE5ldy4KCjIwMDgtMDEtMDkgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKG1hdGNoX3RlbXBsYXRlKTogQ2hlY2sgcmVnaXN0ZXIgc2l6ZQoJb25seSB3aGVuIHNpemUgb2Ygb3BlcmFuZHMgY2FuIGJlIGVuY29kZWQgdGhlIGNhbm9uaWNhbCB3YXkuCgoyMDA4LTAxLTA4ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChpMzg2X29wZXJhbmQpOiBSZW5hbWVkIHRvIC4uLgoJKGkzODZfYXR0X29wZXJhbmQpOiBUaGlzLgoJKHBhcnNlX29wZXJhbmRzKTogVXBkYXRlZC4KCjIwMDgtMDEtMDUgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGRvYy9jLWkzODYudGV4aTogVXBkYXRlIC5hdHRfbW5lbW9uaWMgYW5kIC5pbnRlbF9tbmVtb25pYy4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKHNldF9pbnRlbF9tbmVtb25pYyk6IFNldCBpbnRlbF9tbmVtb25pYwoJb25seS4KCShtZF9hc3NlbWJsZSk6IFJlbW92ZSBJbnRlbCBtb2RlIHdvcmthcm91bmQuCgkobWF0Y2hfdGVtcGxhdGUpOiBDaGVjayBzdXBwb3J0IGZvciBvbGQgZ2NjLCBBVCZUIG1uZW1vbmljCglhbmQgSW50ZWwgU3ludGF4LgoJKG1kX3BhcnNlX29wdGlvbik6IERvbid0IHNldCBpbnRlbF9tbmVtb25pYyB0byAwIGZvcgoJT1BUSU9OX01PTERfR0NDLgoKMjAwOC0wMS0wNCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuaDogVXBkYXRlIGNvcHlyaWdodCB0byAyMDA4LgoKMjAwOC0wMS0wNCAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy90Yy1wcGMuYyAocGFyc2VfY3B1KTogUHJlc2VydmUgdGhlIHNldHRpbmdzIG9mIHRoZQoJUFBDX09QQ09ERV9BTFRJVkVDIGFuZCBQUENfT1BDT0RFX1NQRSBmbGFncy4KCjIwMDgtMDEtMDMgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKG1kX2Fzc2VtYmxlKTogVXNlICFpbnRlbF9tbmVtb25pYyBpbnN0ZWFkCglvZiBTWVNWMzg2X0NPTVBBVC4KCjIwMDgtMDEtMDMgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGdhcy9jb25maWcvdGMtaTM4Ni5jIChjcHVfYXJjaF9mbGFnc19ub3QpOiBSZW1vdmVkLgoJKGNwdV9mbGFnc19ub3QpOiBMaWtld2lzZS4KCShjcHVfZmxhZ3NfbWF0Y2gpOiBVcGRhdGVkIHRvIGNoZWNrIDY0Yml0IGFuZCBhcmNoLgoJKHNldF9jb2RlX2ZsYWcpOiBSZW1vdmUgY3B1X2FyY2hfZmxhZ3Nfbm90LgoJKHNldF8xNmJpdF9nY2NfY29kZV9mbGFnKTogTGlrZXdpc2UuCgkoc2V0X2NwdV9hcmNoKTogTGlrZXdpc2UuCgkobWRfYmVnaW4pOiBMaWtld2lzZS4KCShwYXJzZV9pbnNuKTogQ2FsbCBjcHVfZmxhZ3NfbWF0Y2ggdG8gY2hlY2sgNjRiaXQgYW5kIGFyY2guCgkobWF0Y2hfdGVtcGxhdGUpOiBMaWtld2lzZS4KCjIwMDgtMDEtMDMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAocHJvY2Vzc19kcmV4KTogSW5pdGlhbGl6ZSBtb2RybV9yZWcgYW5kCgltb2RybV9yZWdtZW0gdG8gMCBpbnN0ZWFkIG9mIE5vbmUuCgoyMDA4LTAxLTAzICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBjb25maWcvdGMtaTM4Ni5jIChtYXRjaF90ZW1wbGF0ZSk6IFVzZSB0aGUgeG1td29yZCBmaWVsZAoJaW5zdGVhZCBvZiBub194c3VmLgoKMjAwOC0wMS0wMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogY29uZmlnL3RjLWkzODYuYyAocHJvY2Vzc19zdWZmaXgpOiBGaXggYSB0eXBvLgoKMjAwOC0wMS0wMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCVBSIGdhcy81NTM0CgkqIGNvbmZpZy90Yy1pMzg2LmMgKG1hdGNoX3RlbXBsYXRlKTogSGFuZGxlIFhNTVdPUkRfTU5FTV9TVUZGSVguCglDaGVjayBtZW1vcnkgc2l6ZSBpbiBJbnRlbCBtb2RlLgoJKHByb2Nlc3Nfc3VmZml4KTogSGFuZGxlIFhNTVdPUkRfTU5FTV9TVUZGSVguCgkoaW50ZWxfZTA5KTogTGlrZXdpc2UuCgoJKiBjb25maWcvdGMtaTM4Ni5oIChYTU1XT1JEX01ORU1fU1VGRklYKTogTmV3LgoKMjAwOC0wMS0wMiAgQ2F0aGVyaW5lIE1vb3JlICA8Y2xtQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWcvdGMtbWlwcy5jIChtaXBzX2lwKTogQ2hlY2sgb3BlcmFuZHMgb24gamFsciBpbnN0cnVjdGlvbi4KCkZvciBvbGRlciBjaGFuZ2VzIHNlZSBDaGFuZ2VMb2ctMjAwNwoMCkxvY2FsIFZhcmlhYmxlczoKbW9kZTogY2hhbmdlLWxvZwpsZWZ0LW1hcmdpbjogOApmaWxsLWNvbHVtbjogNzQKdmVyc2lvbi1jb250cm9sOiBuZXZlcgpFbmQ6Cg==