MjAwNS0xMi0zMSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL1BvYS9nbnVQT0EuamF2YSAocmVmZXJlbmNlX3RvX3NlcnZhbnQpOiAKCVRocm93IFdyb25nQWRhcHRlciB3aXRoIGV4cGxhaW5pbmcgbWVzc2FnZS4KCjIwMDUtMTItMzEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdGV4dC9CaWRpLmphdmEgKHJlcXVpcmVzQmlkaSk6IEFsc28gdGVzdCBhZ2FpbnN0IGNoYXJhY3RlcgoJdHlwZXMgTCwgRU4sIEVTLCBFVCwgQU4sIENTLCBTIGFuZCBXUy4KCjIwMDUtMTItMzEgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvZG9tL0RvbU5hbWVkTm9kZU1hcC5qYXZhLAoJICBnbnUveG1sL2RvbS9Eb21Ob2RlLmphdmEsCgkgIGdudS94bWwvZG9tL2xzL1NBWEV2ZW50U2luay5qYXZhLAoJICBnbnUveG1sL3N0cmVhbS9TQVhQYXJzZXIuamF2YSwKCSAgZ251L3htbC9zdHJlYW0vWE1MUGFyc2VyLmphdmE6IEZpeCBlbnRpdHkgcmVmZXJlbmNlIERPTSBjb25zdHJ1Y3Rpb24KCSAgYW5kIGNvcnJlY3QgRE9NIHRyZWUgbm9ybWFsaXNhdGlvbi4KCjIwMDUtMTItMzAgIFdvbGZnYW5nIEJhZXIgIDxXQmFlckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9BdHRyaWJ1dGVFeGNlcHRpb24uamF2YSwKCSogamF2YXgvcHJpbnQvVVJJRXhjZXB0aW9uLmphdmEsCgkqIGphdmF4L3ByaW50L0ZsYXZvckV4Y2VwdGlvbi5qYXZhLAoJKiBqYXZheC9wcmludC9QcmludEV4Y2VwdGlvbi5qYXZhOgoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgoyMDA1LTEyLTMwICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL3BhY2thZ2UuaHRtbDogQWRkZWQgZGVzY3JpcHRpb24uCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9NZWRpYVNpemUuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShzdGF0aWNfaW5pdGlhbGl6ZXIpOiBJbml0aWFsaXplIG5lc3RlZCBjbGFzcyBjb25zdGFudHMuCgkoTWVkaWFTaXplKTogQWRkIGluc3RhbmNlcyB0byB0aGUgY2FjaGUuCgkoTWVkaWFTaXplKTogTGlrZXdpc2UuCgkoTWVkaWFTaXplKTogTGlrZXdpc2UuCgkoTWVkaWFTaXplKTogTGlrZXdpc2UuCgkoZmluZE1lZGlhKTogTmV3IG1ldGhvZC4KCShlcXVhbHMpOiBMaWtld2lzZS4KCjIwMDUtMTItMjkgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvc3RyZWFtL1NBWFBhcnNlci5qYXZhLAoJICBnbnUveG1sL3N0cmVhbS9YTUxQYXJzZXIuamF2YTogQWRkaXRpb25hbCB2YWxpZGl0eSBjb25zdHJhaW50CgkgIGNoZWNraW5nOyBwYXJhbWV0ZXIgZW50aXR5IHJlY29nbml0aW9uIGFuZCByZXBsYWNlbWVudCBjaGVja3M7CgkgIGNoZWNrcyBmb3IgeG1sOnNwYWNlIHRvIGRldGVybWluZSB3aGV0aGVyIHdoaXRlc3BhY2UgaXMgaWdub3JhYmxlOwoJICBiZXR0ZXIgc3RhcnQtIGFuZCBlbmQtZW50aXR5IGV2ZW50IHJlcG9ydGluZy4KCjIwMDUtMTItMjggIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvc3RyZWFtL0NSTEZSZWFkZXIuamF2YTogRml4ZWQgYnVnIHdoZXJlIHBvcyA+IDAuCgkqIGdudS94bWwvc3RyZWFtL1hNTFBhcnNlci5qYXZhLAoJICBnbnUveG1sL3N0cmVhbS9Vbmljb2RlUmVhZGVyLmphdmE6IFVzZSBVbmljb2RlIGNvZGUgcG9pbnRzIGluc3RlYWQKCSAgb2YgVVRGLTE2IGNoYXJzLCByZXNvbHZpbmcgVW5pY29kZSBzdXJyb2dhdGVzLgoJKiByZXNvdXJjZS9NRVRBLUlORi9zZXJ2aWNlcy9vcmcueG1sLnNheC5kcml2ZXI6IFVwZGF0ZWQgbGVnYWN5IFNBWAoJICBmYWN0b3J5IG1lY2hhbmlzbSBmb3IgbmV3IFNBWCBkcml2ZXIuCgoyMDA1LTEyLTI3ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUvamF2YS9uZXQvQ1JMRklucHV0U3RyZWFtLmphdmEsCgkgIGdudS94bWwvc3RyZWFtL1NBWFBhcnNlci5qYXZhLAoJICBnbnUveG1sL3N0cmVhbS9YTUxQYXJzZXIuamF2YSwKCSAgcmVzb3VyY2UvTUVUQS1JTkYvc2VydmljZXMvamF2YXgueG1sLnBhcnNlcnMuU0FYUGFyc2VyRmFjdG9yeToKCSAgRml4IFhNTCBwYXJzZXIgc3RyZWFtIGlzc3Vlcy4gQWRkIHN1cHBvcnQgZm9yIGlnbm9yYWJsZSB3aGl0ZXNwYWNlCgkgIHRvIFNBWCBwYXJzZXIuIEFsbG93IHZhbGlkYXRpbmcgcGFyc2VyIHRvIHBhcnNlIGludmFsaWQgZmlsZXMuCgkqIGdudS94bWwvc3RyZWFtL0J1ZmZlcmVkUmVhZGVyLmphdmEsCgkgIGdudS94bWwvc3RyZWFtL1hNTElucHV0U3RyZWFtUmVhZGVyLmphdmE6IE1vdmUgYnVmZmVyaW5nCgkgIGZ1bmN0aW9uYWxpdHkgb2YgWE1MSW5wdXRTdHJlYW1SZWFkZXIgdG8gQnVmZmVyZWRSZWFkZXIuCgoyMDA1LTEyLTI3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9uaW8vU2VsZWN0b3JJbXBsLmphdmE6IEFkZGVkIGltcG9ydC4KCjIwMDUtMTItMjYgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvU29ja2V0LmphdmEgKGNvbm5lY3QpOiBEb24ndCBjbG9zZSB0aGUgc29ja2V0IG9uCglleGNlcHRpb25zLgoKCSogZ251L2phdmEvbmlvL1NvY2tldENoYW5uZWxJbXBsLmphdmEgKHJlYWQpOiBDb21wdXRlIHRoZSByaWdodCBhbW91bnQgCglvZiBkYXRhIHRvIHJlYWQgKGRzdC5yZW1haW5pbmcoKSkuCgkqIGdudS9qYXZhL25pby9EYXRhZ3JhbUNoYW5uZWxJbXBsLmphdmEgKHJlY2VpdmUpOiBEaXR0by4KCgkqIGdudS9qYXZhL25pby9TZWxlY3RvckltcGwuamF2YSAoc2VsZWN0KTogSGFuZGxlIE9QX0NPTk5FQ1QKCXByb3Blcmx5LgoKMjAwNS0xMi0yNSAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvdXRpbC9Db2xsZWN0aW9ucy5qYXZhCgkoYmluYXJ5U2VhcmNoKExpc3QsT2JqZWN0LENvbXBhcmF0b3IpKTogQ2hhbmdlZCBjb21wYXJpc29uIG9yZGVyCglmb3IgaW1wcm92ZWQgY29tcGF0aWJpbGl0eS4KCjIwMDUtMTItMjUgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIHJlc291cmNlL01FVEEtSU5GL3NlcnZpY2VzL2phdmF4LnhtbC5wYXJzZXJzLlNBWFBhcnNlckZhY3Rvcnk6CgkgIFJldmVydCB0byB1c2luZyBhZWxmcmVkMiBkcml2ZXIgYnkgZGVmYXVsdC4KCjIwMDUtMTItMjQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbmlvL2NoYXJzZXQvQ2hhcnNldC5qYXZhIChkZWZhdWx0Q2hhcnNldCk6IEFkZGVkIEBzaW5jZS4KCjIwMDUtMTItMjQgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBnbnUveG1sL2RvbS9Eb21Ob2RlLmphdmEKCShsaXN0ZW5lcnMpOiBVc2UgYSBIYXNoU2V0IG5vdy4KCShEb21Ob2RlKTogTGlrZXdpc2UuCgkoY29tcGFjdCwgdHJpbVNpemUpOiBSZWR1Y2VkIHRvIG5vcCB3aXRoIGEgSGFzaFNldC4KCShhZGRFdmVudExpc3RlbmVyLCByZW1vdmVFdmVudExpc3RlbmVyKTogVXNlIEhhc2hTZXQKCW9wZXJhdGlvbnMuCgkoZGlzcGF0Y2hFdmVudCk6IExpa2V3aXNlLgoJKG5vdGlmeU5vZGUpOiBMaWtld2lzZS4gCgoyMDA1LTEyLTI0ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL3N0cmVhbS9TQVhQYXJzZXIuamF2YSwKCSAgZ251L3htbC9zdHJlYW0vWE1MUGFyc2VyLmphdmE6IERURCB2YWxpZGF0aW9uIHN1cHBvcnQgZm9yIFN0QVggcGFyc2VyLgoKMjAwNS0xMi0yNCAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZG9jL1JFQURNRS5qYXhwOiBVcGRhdGVkIHdpdGggcGFyYW1ldGVycyBmb3IgU0FYLW92ZXItU3RBWCBkcml2ZXIuCgkqIGdudS94bWwvc3RyZWFtL1NBWFBhcnNlci5qYXZhLAoJICBnbnUveG1sL3N0cmVhbS9YTUxQYXJzZXIuamF2YTogQ29uZm9ybWFuY2UgZml4ZXMgZm9yIFhNTCAxLjEgYW5kCgkgIG5hbWVzcGFjZSBoYW5kbGluZy4KCSogZ251L3htbC9kb20vbHMvRG9tTFNQYXJzZXIuamF2YSwKCSAgZ251L3htbC9kb20vbHMvU0FYRXZlbnRTaW5rLmphdmE6IFVzZSBTQVggZmVhdHVyZXMgYW5kIHByb3BlcnRpZXMgdG8KCSAgZGV0ZXJtaW5lIFhNTCBkZWNsYXJhdGlvbiBkZXRhaWxzLgoJKiBnbnUveG1sL2FlbGZyZWQyL1NBWERyaXZlci5qYXZhLAoJICBnbnUveG1sL2FlbGZyZWQyL1htbFBhcnNlci5qYXZhLAoJICBnbnUveG1sL2RvbS9Db25zdW1lci5qYXZhLAoJICBnbnUveG1sL3BpcGVsaW5lL0RvbUNvbnN1bWVyLmphdmEsCgkgIGdudS94bWwvcGlwZWxpbmUvRXZlbnRGaWx0ZXIuamF2YTogUmVtb3ZlIENvbnRlbnRIYW5kbGVyMiBoYWNrIGFzCgkgIERPTSBMb2FkICYgU2F2ZSBubyBsb25nZXIgZGVwZW5kcyBvbiBpdAoJKiBqYXZheC94bWwvcGFyc2Vycy9TQVhQYXJzZXJGYWN0b3J5LmphdmEsCgkgIHJlc291cmNlL01FVEEtSU5GL3NlcnZpY2VzL2phdmF4LnhtbC5wYXJzZXJzLlNBWFBhcnNlckZhY3Rvcnk6IE1ha2UKCSAgU0FYLW92ZXItU3RBWCB0aGUgZGVmYXVsdCBTQVggaW1wbGVtZW50YXRpb24uCgoyMDA1LTEyLTIzICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJSW1wbGVtZW50IHdvcmthcm91bmQgc3VnZ2VzdGVkIGluIGJ1ZyAjMjU0MzAuCgkqIGphdmEvdGV4dC9CaWRpLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0xMi0yMyAgR3VpbGhlbSBMYXZhdXggIDxndWlsaGVtQGthZmZlLm9yZz4KCgkqIGdudS94bWwvZG9tL0RvbU5vZGUuamF2YQoJKExpdmVOb2RlTGlzdC5oYW5kbGVFdmVudCwKCUxpdmVOb2RlTGlzdC5pdGVtLCBMaXZlTm9kZUxpc3QuZ2V0TGVuZ3RoKTogRGV0YWNoIHByb3Blcmx5IHRoZQoJaXRlcmF0b3IgeGZyb20gdGhlIERvbU5vZGUuIAoKMjAwNS0xMi0yMyAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9zdHJlYW0vU0FYUGFyc2VyLmphdmEsCgkgIGdudS94bWwvc3RyZWFtL1hNTFBhcnNlci5qYXZhOiBJbnRlcmltIGNvbW1pdCBkdXJpbmcgVzNDIFhNTAoJICBjb25mb3JtYW5jZSB0ZXN0aW5nLgoKMjAwNS0xMi0yMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkludGVybmFsRnJhbWUuamF2YQoJKHNob3cpOiBSZW1vdmVkIGNhbGwgbW92ZVRvRnJvbnQuIExpc3RlbmVycyBhbHJlYWR5IGNhbGwKCXRvRnJvbnQsIHdoaWNoIGNhbGxzIG1vdmVUb0Zyb250LgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YQoJKHNldFBvc2l0aW9uKTogUG9zaXRpb25zIGFyZSBhc3NpZ25lZCBmcm9tIHRoZSAiZnJvbnQiIAoJdG8gdGhlICJiYWNrIiwgYW5kIGRyYXduIGZyb20gdGhlIGJhY2sgdG93YXJkcyB0aGUgZnJvbnQuIEFkZGVkCglhIGxvb3AgdG8gc3dhcCBhbGwgdGhlIGNvbXBvbmVudHMsIHNvIHRoZXkgYXJlIGluIHRoZSBjb3JyZWN0IAoJbGF5ZXIuCgoyMDA1LTEyLTIyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YToKCShFbGVtZW50QnVmZmVyLmluc2VydENvbnRlbnRUYWcpOiBHZXQgdGhlIGF0dHJpYnV0ZXMgZnJvbSB0aGUgdGFnLiAKCVJldHVybiBlYXJseSBpZiBkaXJlY3Rpb24gaXMgSm9pbk5leHREaXJlY3Rpb24gYnV0IHRoZXJlIGlzIG5vIG5leHQgCglFbGVtZW50LiAgCgkoY3JlYXRlRGVmYXVsdFJvb3QpOiBEb24ndCBjYWxsIGNyZWF0ZUJyYW5jaEVsZW1lbnQgaGVyZSBqdXN0IAoJaW5zdGFudGlhdGUgYSBuZXcgQnJhbmNoRWxlbWVudC4KCShpbnNlcnRVcGRhdGUpOiBSZW1vdmVkIHVubmVlZGVkIGZpZWxkcyBuZXdFbGVtZW50LCBuZXdFbGVtZW50Mi4gIFdoZW4KCWJ1aWxkaW5nIHRoZSBidWZmZXIgRWxlbWVudFNwZWNzLCBubyBuZWVkIHRvIGNoZWNrIGVhY2ggdGltZSBpZiB3ZSAKCXNob3VsZCBqb2luIHRvIHRoZSBwcmV2aW91cyBvciBuZXh0IEVsZW1lbnQsIGp1c3QgY2hlY2sgdGhlIGZpcnN0IGFuZAoJbGFzdCBFbGVtZW50U3BlY3MgYWZ0ZXIgdGhlIGJ1ZmZlciBoYXMgYmVlbiBjb21wbGV0ZWx5IGJ1aWx0LgoKMjAwNS0xMi0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogLmV4dGVybmFsVG9vbEJ1aWxkZXJzL0NsYXNzcGF0aEphci5sYXVuY2g6IE5ldyBmaWxlLgoJKiAucHJvamVjdDogVXBkYXRlZC4KCjIwMDUtMTItMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgZm9jdXNJbnB1dE1hcHMgZm9yCglCdXR0b24sIENoZWNrQm94LCBFZGl0b3JQYW5lLCBMaXN0LCBTbGlkZXIsIFRhYmJlZFBhbmUsCglUb2dnbGVCdXR0b24sIFRyZWUuIEFsc28sIHJlbW92ZWQgVE9ETyBjb21tZW50cyB0aGF0CglkZWFsdCB3aXRoIGljb25zLiBCYXNpY0xvb2tBbmRGZWVsIGRvZXMgbm90IGhhdmUgaWNvbnMuCgoyMDA1LTEyLTIyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9Qcm92aWRlci5qYXZhIChwcm92aWRlcik6IFdyYXAgaW5pdGlhbGl6YXRpb24KCW9mIHN0YW5kYXJkIHByb3ZpZGVyIGluIGEgUHJpdmlsZWdlZEFjdGlvbi4KCQoyMDA1LTEyLTIxICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBmb2N1cyBpbnB1dCBtYXAgZm9yCglFZGl0b3JQYW5lLiBSZW1vdmVkIGtleUJpbmRpbmdzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShjcmVhdGVLZXlNYXApOiBBZGRlZCBjaGVjayB0byBwcmV2ZW50IE5QRS4KCjIwMDUtMTItMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglQUiBjbGFzc3BhdGgvMjU1MTcKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBmb2N1cyBtYXAgZm9yIEZvcm1hdHRlZFRleHRGaWVsZC4gTWF1dmUKCXRlc3QgdXBkYXRlZCBmb3IgdGhpcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoY3JlYXRlS2V5TWFwKTogRml4ZWQgdG8gZ2V0IGtleSBiaW5kaW5ncyBmcm9tIHRoZSBpbnB1dCBtYXAuIFRoZXJlCglpcyBub3QgLmtleUJpbmRpbmdzIGRlZmF1bHQgaW4gQmFzaWNMJkYgKHNhbWUgd2l0aCB0aGUgSkRLKS4KCShpbnN0YWxsS2V5Qm9hcmRBY3Rpb25zKTogUmVtb3ZlZCB1bm5lZWRlZCBjb2RlLgkKCjIwMDUtMTItMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogVHlwbyBpbiBtYXV2ZSB0ZXN0LiBSZXZlcnRlZCBsYXN0IHBhdGNoLgoKMjAwNS0xMi0yMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogUmVuYW1lIGdudV9qYXZhX2F3dF9wZWVyX2d0a19DYWlyb0dyYXBoaWNzLmgKCXRvIGdudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmguCgoyMDA1LTEyLTIxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiAucHJvamVjdDogQWRkIENsYXNzcGF0aEhlYWRlcnMubGF1bmNoLgoJKiAuZXh0ZXJuYWxUb29sQnVpbGRlcnMvQXV0b2dlbi5sYXVuY2g6IFJ1biBhdXRvbWF0aWNhbGx5IHdoZW4KCU1ha2VmaWxlLmFtIG9yIGNvbmZpZ3VyZS5hYyBpcyB1cGRhdGVkLgoJKiAuZXh0ZXJuYWxUb29sQnVpbGRlcnMvQ29tcGlsZU5hdGl2ZS5sYXVuY2g6IFJ1biBhdXRvbWF0aWNhbGx5LgoJKiAuZXh0ZXJuYWxUb29sQnVpbGRlcnMvQ29uZmlndXJlLmxhdW5jaDogUnVuIGF1dG9tYXRpY2FsbHkgd2hlbgoJdG9wLWxldmVsIE1ha2VmaWxlLmluIGNoYW5nZXMuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKENMQVNTRElSKTogTmV3IHZhcmlhYmxlLiAgUmVwbGFjZSBsaWIKCXJlZmVyZW5jZXMgd2l0aCAkKENMQVNTRElSKS4KCSogLmV4dGVybmFsVG9vbEJ1aWxkZXJzL0NsYXNzcGF0aEhlYWRlcnMubGF1bmNoOiBOZXcgYnVpbGRlci4KCjIwMDUtMTItMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogRml4ZWQga2V5IGJpbmRpbmcgZm9yIFRleHRGaWVsZC5mb2N1c0lucHV0TWFwLgoKMjAwNS0xMi0yMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhOgoJKHJlYWQpOiBDaGFuZ2VkIHRoZSBjYWxsIHRvIGluc2VydFN0cmluZyB0byBsZWF2ZSBvdXQgdGhlIHRyYWlsaW5nCgluZXcgbGluZS4KCjIwMDUtMTItMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL1VJRGVmYXVsdHMuamF2YQoJKGNyZWF0ZVZhbHVlKTogQWRkZWQgY2hlY2sgaW4uIEJpbmQgbWlnaHQgYmUgYW4gaW5zdGFuY2Ugb2YgS2V5U3Ryb2tlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IENoYW5nZWQga2V5IGJpbmRpbmdzIGZvciBQYXNzd29yZEZpZWxkLCBUZXh0QXJlYSwKCVRleHRQYW5lLCBUZXh0RmllbGQgdG8gYmUgaW5zdGFuY2VzIG9mIEtleVN0cm9rZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoaW5zdGFsbEtleUJvYXJkQWN0aW9ucyk6IEFkZGVkIGNhbGwgdG8gcmVwbGFjZSB0ZXh0Q29tcG9uZW50J3MgdG9wLWxldmVsCglhY3Rpb24gbWFwIHRvIHBhcmVudEFjdGlvbk1hcC4gQWxzbywgcmVtb3ZlZCB1bm5lZWRlZCBjb2RlLgoKMjAwNS0xMi0yMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdFN0eWxlZERvY3VtZW50LmphdmE6CgkoaW5zZXJ0VXBkYXRlKTogSWYgdGhlIEF0dHJpYnV0ZVNldCBhcmd1bWVudCBpcyBudWxsIHVzZSBhbiBlbXB0eSAKCUF0dHJpYnV0ZVNldCBmb3IgY29tcGFyaXNvbnMuIE5vIG5lZWQgdG8gY3JlYXRlIGEgbmV3IExlYWZFbGVtZW50IHRvIAoJY29tcGFyZSBBdHRyaWJ1dGVTZXRzIChpZSAtIHJlbW92ZSB0aGUgaGFjayBhZGRlZCB5ZXN0ZXJkYXkpLgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlQ29udGV4dC5qYXZhOgoJKFNtYWxsQXR0cmlidXRlU2V0LmlzRXF1YWwpOiBEb24ndCByZXR1cm4gZmFsc2UgZm9yIG51bGwgYXJndW1lbnRzLCAKCXRoaXMgc2hvdWxkIHRocm93IGFuIE5QRSBpbnN0ZWFkLiAgQWxzbywgZm9yIHBlcmZvcm1hbmNlLCBjaGVjayB0aGF0CglzaXplcyBhcmUgZXF1YWwgYW5kIG9uZSBzZXQgY29udGFpbnMgdGhlIG90aGVyLCByYXRoZXIgdGhhbiBjaGVja2luZyAKCXRoYXQgZWFjaCBzZXQgY29udGFpbnMgdGhlIG90aGVyLgoKMjAwNS0xMi0yMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBhbGwga2V5IGJpbmRpbmdzIGZvciBQYXNzd29yZEZpZWxkCglmb2N1c0lucHV0TWFwLgoKMjAwNS0xMi0yMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhOgoJKExhenlJbnB1dE1hcCk6IElucHV0TWFwIHNob3VsZCBiZSBhbiBJbnB1dE1hcFVJUmVzb3VyY2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgYWxsIGtleSBiaW5kaW5ncyBmb3IgVGV4dCouCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKGluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBGaXhlZCBjYWxsIHRvIHJlcGxhY2VVSUFjdGlvbk1hcAoJdG8gY3JlYXRlIGEgbmV3IEFjdGlvbk1hcCBmcm9tIHRleHRDb21wb25lbnQncyBhY3Rpb25zLiBQcmV2ZW50cwoJYW4gaW5maW5pdGUgbG9vcC4gRml4ZWQgbG9vcCB0byBzZXQgdGhlIHBhcmVudEFjdGlvbk1hcCBhbmQgdGhlIAoJcGFyZW50SW5wdXRNYXAuCgkoQWN0aW9uTGlzdGVuZXJQcm94eSk6IFJlbW92ZWQuIE5vIGxvbmdlciBuZWVkZWQuCgkoY29udmVydE1vZGlmaWVycyk6IExpa2V3aXNlLgoJKGNyZWF0QWN0aW9uTWFwKTogTmV3IGZ1bmN0aW9uIGNyZWF0ZXMgdGhlIGFjdGlvbiBtYXAgdG8KCWJlIGluc3RhbGxlZCBvbiB0aGUgdGV4dCBjb21wb25lbnQuCgoyMDA1LTEyLTIwICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIGZvY3VzSW5wdXRNYXAgYWRkZWQKCWZvciBQYXNzd29yZEZpZWxkLgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShhbGxLZXlzKTogRml4ZWQgdG8gcHJldmVudCBOUEUuCgoyMDA1LTEyLTIwICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDbGFzc0RlZmF1bHRzKTogRml4ZWQgdHlwby4KCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBSZW1vdmVkIGtleUJpbmRpbmdzIGRlZmF1bHRzIGZvcgoJVGV4dCouIEFkZGVkIGZvY3VzSW5wdXRNYXAgZm9yIFRleHQqLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShpbnN0YWxsS2V5Qm9hcmRBY3Rpb25zKTogQWRkZWQgY29kZSB0byBsb2FkIHRoZSBmb2N1c0lucHV0TWFwCglhbmQgaW5zdGFsbCBhbGwgdGhlIGFjdGlvbnMgZm9yIGVhY2gga2V5LgoJKEFjdGlvbkxpc3RlbmVyUHJveHkpOiBOZXcgY2xhc3MgaW1wbGVtZW50ZWQuCgkoY29udmVyTW9kaWZpZXJzKTogTmV3IG1ldGhvZCB0byBjb252ZXJ0IHRoZSBtb2RpZmllcnMuCgkoZ2V0QWN0aW9uTWFwKTogUmVtb3ZlZCBmdW5jdGlvbi4gTm90IG5lZWRlZC4KCShjcmVhdGVBY3Rpb25NYXApOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoSlRleHRDb21wb25lbnQpOiBSZW1vdmVkIGNvZGUgdG8gbG9hZCB0aGUga2V5bWFwLgoKMjAwNS0xMi0yMCAgTGlsbGlhbiBBbmdlbCA8bGFuZ2VsQHJlZGhhdC5jb20+CgkKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0RWRpdG9yS2l0LmphdmE6CglBZGRlZCBpbXBsZW1lbnRhdGlvbiBmb3IgYmVnaW5MaW5lQWN0aW9uIGFuZAoJZW5kTGluZUFjdGlvbi4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoSlRleHRDb21wb25lbnQpOiBBZGRlZCBrZXkgYmluZGluZ3MgZm9yIEhPTUUgYW5kIEVORC4KCjIwMDUtMTItMjAgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHBhdGhXYXNFeHBhbmRlZCk6IFJlbW92ZWQgdW5uZWVkZWQgcmV2YWxpZGF0ZSBjYWxsLgoJKHBhdGhXYXNDb2xsYXBzZWQpOiBMaWtld2lzZS4KCShpbnN0YWxsVUkpOiBGaXhlZCB0byBjaGVjayBmb3IgbnVsbCByb290LgoJKHBhaW50KTogRml4ZWQgdG8gYWx3YXlzIHVwZGF0ZSBwYXRoLgoJKHRvZ2dsZUV4cGFuZFN0YXRlKTogUmVtb3ZlZCBjYWxsIHRvIHVwZGF0ZSBwYXRoLgoJKGVkaXRpbmdTdG9wcGVkKTogTGlrZXdpc2UuCgkoZWRpdGluZ0NhbmNlbGVkKTogTGlrZXdpc2UuCgkodHJlZVN0cnVjdHVyZUNoYW5nZWQpOiBMaWtld2lzZS4KCSh0cmVlRXhwYW5kZWQpOiBMaWtld2lzZS4KCSh0cmVlQ29sbGFwc2VkKTogTGlrZXdpc2UuCgkodHJlZU5vZGVzQ2hhbmdlZCk6IExpa2V3aXNlLgkKCSh0cmVlTm9kZXNJbnNlcnRlZCk6IExpa2V3aXNlLgoJKHRyZWVOb2Rlc1JlbW92ZWQpOiBMaWtld2lzZS4KCSh1cGRhdGVDdXJyZW50VmlzaWJsZVBhdGgpOiBBZGRlZCBjaGVjayBmb3IgbnVsbCByb290LiBJZiByb290IGlzIG51bGwsCglub3RoaW5nIHNob3VsZCBiZSBwYWludGVkIG9yIGluIHRoZSBwYXRoLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlTW9kZWwuamF2YQoJKHNldFJvb3QpOiBSb290IGNhbiBiZSBudWxsLgoKMjAwNS0xMi0yMCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCglGaXhlcyBidWcgIzI1NTA2CgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhOgoJKGluc2VydFN0cmluZyk6IEZpcmUgaW5zZXJ0IHVwZGF0ZSB3aGV0aGVyIHRoZSBEb2N1bWVudEV2ZW50IHdhcwoJY2hhbmdlZCBvciBub3QuCgoyMDA1LTEyLTIwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YToKCShFbGVtZW50QnVmZmVyLmluc2VydENvbnRlbnRUYWcpOiBJZiB0aGUgZGlyZWN0aW9uIGlzIAoJT3JpZ2luYXRlRGlyZWN0aW9uIHNwbGl0IGFsbCB0aGUgdGltZSwgZG9uJ3QgY2hlY2sgdGhlIGF0dHJpYnV0ZSBzZXRzLgoJUmVtb3ZlZCB0aGUgc3BlY2lhbCBjYXNlIGZvciB0aGUgZmlyc3QgaW5zZXJ0aW9uLiAgVGhlc2UgY2FzZXMgc2hvdWxkCglmYWxsIHVuZGVyIHRoZSBkaXJlY3Rpb24gSm9pblByZXZpb3VzRGlyZWN0aW9uLiBDaGFuZ2VkIHRoZSBjb21tZW50cyB0bwoJcmVmbGVjdCB0aGlzLgoJKGluc2VydFVwZGF0ZSk6IEFkZGVkIGEgaGFjayB0byBnZXQgdGhlIHJpZ2h0IHJlc3VsdCB3aGVuIGNvbXBhcmluZwoJdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIG5ldyBFbGVtZW50U3BlYyB0byB0aGUgYXR0cmlidXRlcyBvZiBlaXRoZXIKCXRoZSBwcmV2aW91cyBvciBuZXh0IEVsZW1lbnQuCgoyMDA1LTEyLTE5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvQ1NTUGFyc2VyLmphdmEKCShDU1NQYXJzZXIpOiBJbml0aWFsaXplZCB0b2tlbkJ1ZmZlciB3aXRoIHNvbWUKCWFyYml0cmFyeSBzaXplLiBUaGlzIG1ha2VzIGFwcGVuZCBtdWNoIG1vcmUgZWZmaWNlbnQgc2luY2UKCWEgbmV3IGFycmF5IHdpbGwgbm90IGJlZW4gY3JlYXRlZCB3aXRoIGVhY2ggYXBwZW5kLgoJKGFwcGVuZCk6IEZpeGVkIGFwcGVuZCB0byBjcmVhdGUgYSBuZXcgbGFyZ2VyIGFycmF5IGlmCgluZWVkZWQuCgkobmV4dFRva2VuKTogRmluaXNoZWQgaW1wbGVtZW50ZWQuIFNob3VsZCBkZWNyZWFzZSB0aGUKCXRva2VuQnVmZmVyTGVuZ3RoIGlmIGFuIGlkZW50aWZpZXIgd2FzIHJlYWQuIFRoaXMgd2F5ICIgYW5kICcKCWFyZSBub3QgYWRkZWQgdG8gdGhlIGJ1ZmZlci4KCShwYXJzZSk6IEltcGxlbWVudGVkIHRvIGNhbGwgdGhlIGFwcHJvcHJpYXRlIHBhcnNpbmcgZnVuY3Rpb24KCWJhc2VkIG9uIHBhcmFtZXRlci4KCShnZXROZXh0U3RhdGVtZW50KTogSW1wbGVtZW50ZWQuCgkocGFyc2VBdFJ1bGUpOiBBZGRlZCBzb21lIGhlbHBmdWwgY29tbWVudHMgZm9yIGltcGxlbWVudGluZy4KCShwYXJzZVJ1bGVTZXQpOiBMaWtld2lzZS4KCShwYXJzZUlkZW50aWZpZXJzKTogTGlrZXdpc2UuCgkocmVhZENvbW1lbnQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL1N0eWxlU2hlZXQuamF2YQoJKGFkZFJ1bGUpOiBJbXBsZW1lbnRlZC4KCShsb2FkUnVsZXMpOiBJbXBsZW1lbnRlZC4KCShpbXBvcnRTdHlsZVNoZWV0KTogUmVtb3ZlZCBpbXBsZW1lbnRhdGlvbiBmb3Igbm93LiBJdCBjYXVzZXMKCWEgbG9vcC4gQWRkZWQgRklYTUUKCShzdGFydFJ1bGUpOiBJbXBsZW1lbnRlZC4KCShoYW5kbGVQcm9wZXJ0eSk6IEltcGxlbWVudGVkLgoJKGFkZFNlbGVjdG9yKTogSW1wbGVtZW50ZWQuCgoyMDA1LTEyLTE5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvQmxvY2tWaWV3LmphdmEKCShnZXRTdHlsZVNoZWV0KTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9DU1NQYXJzZXIuamF2YTogTmV3IHByaXZhdGUgY2xhc3MsCglwYXJ0aWFsbHkgaW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRWRpdG9yS2l0LmphdmEKCShjcmVhdGVEZWZhdWx0RG9jdW1lbnQpOiBGaXhlZCB0byBjcmVhdGUgSFRNTERvY3VtZW50IHdpdGgKCWRlZmF1bHQgc3R5bGUgc2hlZXQuCgkoZ2V0U3R5bGVTaGVldCk6IEZpeGVkIHRvIGluaXRpYWxpemUgc3R5bGUgc2hlZXQgaWYgbnVsbC4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL1N0eWxlU2hlZXQuamF2YQoJKENzc1BhcnNlcik6IE5ldyBwcml2YXRlIGlubmVyIGNsYXNzLCBwYXJ0aWFsbHkgaW1wbGVtZW50ZWQuCgoyMDA1LTEyLTE5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YToKCShlbmRPZmZzZXQpOiBOZXcgZmllbGQuCgkoRWxlbWVudEJ1ZmZlci5pbnNlcnQpOiBJZiBsZW5ndGggaXMgMCByZXR1cm4gZWFybHkuICBTZXQgdGhlIGVuZE9mZnNldAoJdmFyaWFibGUgaGVyZS4KCShFbGVtZW50QnVmZmVyLmluc2VydENvbnRlbnRUYWcpOiBBZGRlZCBzcGVjaWFsIGNhc2UgZm9yIHdoZW4gaW5zZXJ0aW9uCgljb3ZlcnMgZW50aXJlIHJhbmdlIG9mIHRoZSBjdXJyZW50IEVsZW1lbnQuICBSZXBsYWNlZCAob2Zmc2V0ICsgbGVuZ3RoKQoJd2l0aCBlbmRPZmZzZXQgZXZlcnl3aGVyZS4gIEFkZGVkIGNoZWNrcyB0byBzZWUgaWYgdGhlIGluc2VydGlvbiBoYXMgCgl0aGUgc2FtZSBhdHRyaWJ1dGVzIGFzIHRoZSBzdXJyb3VuZGluZyBFbGVtZW50KHMpLCBpbiB3aGljaCBjYXNlIHdlCglkb24ndCBzcGxpdCB0aGVtLCB3ZSBqb2luIHRoZW0uCgkoU2VjdGlvbkVsZW1lbnQuZ2V0TmFtZSk6IFJldHVybiB0aGUgZmllbGQgU2VjdGlvbkVsZW1lbnROYW1lIGluc3RlYWQgCglvZiBoYXJkY29kaW5nIGEgcmV0dXJuIHZhbHVlLgoJKGdldExvZ2ljYWxTdHlsZSk6IEFzIHRoZSBzcGVjcyByZXF1aXJlLCBpZiB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZSAKCXJlc29sdmUgcGFyZW50IGFyZW4ndCBvZiB0eXBlIFN0eWxlLCByZXR1cm4gbnVsbC4KCShzZXRDaGFyYWN0ZXJBdHRyaWJ1dGVzKTogRXhpdCBlYXJseSBpZiBsZW5ndGggaXMgMC4gIE9idGFpbiBhIAoJd3JpdGUgbG9jayBmb3IgdGhlIGJvZHkgb2YgdGhpcyBtZXRob2QuICBDaGFuZ2VkIHRoZSB3YXkgd2UgaXRlcmF0ZQoJdGhyb3VnaCB0aGUgcGFyYWdyYXBocyB0byBiZSBtb3JlIGVmZmljaWVudCBhbmQgbW9yZSBpbnR1aXRpdmUuICBBZGRlZAoJQXR0cmlidXRlVW5kb2FibGVFZGl0cyB0byB0aGUgRG9jdW1lbnRFdmVudCBhbmQgZmlyZWQgdGhlIAoJVW5kb2FibGVFZGl0VXBkYXRlLgoJKHNldExvZ2ljYWxTdHlsZSk6IFJldHVybiBlYXJseSBpZiB0aGUgRWxlbWVudCBpcyBudWxsLiAgT2J0YWluIGEgd3JpdGUKCWxvY2sgZm9yIHRoZSBib2R5IG9mIHRoaXMgbWV0aG9kLiAgRmlyZSB0aGUgYXBwcm9wcmlhdGUgRG9jdW1lbnRFdmVudC4KCShzZXRQYXJhZ3JhcGhBdHRyaWJ1dGVzKTogQ2hhbmdlZCB0aGUgd2F5IHdlIGl0ZXJhdGVkIHRocm91Z2ggdGhlIAoJcGFyYWdyYXBocyBiZWNhdXNlIGl0IHdhcyBpbmNvcnJlY3QgYW5kIHVuaW50dWl0aXZlLiAgT2J0YWluZWQgYSB3cml0ZQoJbG9jayB3aXRoaW4gYSB0cnkvZmluYWxseSBibG9jay4gIEFkZGVkIEF0dHJpYnV0ZVVuZG9hYmxlRWRpdHMgdG8gdGhlIAoJRG9jdW1lbnRFdmVudCBhbmQgZmlyZWQgdGhlIGV2ZW50LgoJKGluc2VydFVwZGF0ZSk6IENoYW5nZWQgdGhlIHdheSB3ZSBpdGVyYXRlIGJlY2F1c2Ugd2UgY2Fubm90IGFzc3VtZSAKCXRoZSBTZWdtZW50IGhvbGRzIHRoZSBjaGFyYWN0ZXJzIHN0YXJ0aW5nIGZyb20gaW5kZXggMC4gIEdpdmUgdGhlIAoJc3RhcnRUYWcgdGhlIHNhbWUgYXR0cmlidXRlcyBhcyB0aGUgcGFyYWdyYXBoLiAgUmVtb3ZlZCB0aGUgdXNlbGVzcwoJb2Zmc2V0ICs9IGxlbiBsaW5lIGJlY2F1c2UgbGVuIGlzIDAuCgkocHJpbnRFbGVtZW50cyk6IE5ldyB0ZW1wb3JhcnkgZGVidWdnaW5nIG1ldGhvZC4KCShhdHRyaWJ1dGVTZXRzQXJlU2FtZSk6IE5ldyBtZXRob2QuCgoyMDA1LTEyLTE5ICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBuYXRpdmUvZmRsaWJtL21wcmVjLmggKERFQlVHKTogSW5jbHVkZSBzdGRsaWIuaCBmb3IKCWV4aXQoKSBwcm90b3R5cGUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA1LTEyLTE5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkKCSogamF2YXgvc3dpbmcvdGV4dC9TdHlsZWRFZGl0b3JLaXQuamF2YQoJKGNyZWF0ZUlucHV0QXR0cmlidXRlcyk6IEZpeGVkLiBJIG1hZGUgYSBtaXN0YWtlIGJ5CgljaGFuZ2luZyB0aGlzIGluIG15IGxhc3QgZml4LiBJIGhhdmUgY29tbWl0dGVkIGEgbWF1dmUgdGVzdAoJdG8gdmVyaWZ5IHRoZSBzZXQgc2hvdWxkIGJlIGNsZWFyZWQgZmlyc3QuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRWRpdG9yS2l0CgkoY3JlYXRlSW5wdXRBdHRyaWJ1dGVzKTogU2V0IGlzIGNsZWFyZWQgYmVmb3JlIGFkZGluZwoJbmV3IGF0dHJpYnV0ZXMuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YToKCUFkZGVkIG5hbWVzIHRvIGF1dGhvcnMuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9kZWZhdWx0LmNzczoKCUZpeGVkIGluZGVudGF0aW9uLgoKMjAwNS0xMi0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEKCShwYWludEJhY2tncm91bmQpOiBBbHNvIGZpbGwgYmFja2dyb3VuZCBmb3IgdW5zZWxlY3RlZCBpdGVtcyBoZXJlLgoJKHBhaW50TWVudUl0ZW0pOiBDYWxsIHBhaW50QmFja2dyb3VuZCgpIHdpdGggdGhlIGJhY2tncm91bmQKCXBhcmFtZXRlci4KCjIwMDUtMTItMTkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShmaW5kT3ZlcmxhcEZyZWVQYXJlbnQpOiBGaXhlZCBjb21wb25lbnQgbG9va3VwIGZvciBwYWludGluZy4KCjIwMDUtMTItMTkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJUFIgY2xhc3NwYXRoLzI0OTA1CgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhCgkocGFpbnRTaW1wbGUpOiBDYWxsIHBhaW50Q29tcG9uZW50KCkgYmVmb3JlIHBhaW50aW5nIHRoZSBjaGlsZCwgc28KCXRoZSBiYWNrZ3JvdW5kIGdldHMgY2xlYXJlZCBjb3JyZWN0bHkuCgoyMDA1LTEyLTE5ICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL01lZGlhUHJpbnRhYmxlQXJlYS5qYXZhOgoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgkoeCk6IFVzZSBpbnQgYXMgdHlwZS4KCSh5KTogTGlrZXdpc2UuCgkod2lkdGgpOiBMaWtld2lzZS4KCShoZWlnaHQpOiBMaWtld2lzZS4KCShNZWRpYVByaW50YWJsZUFyZWEpOiBDb252ZXJ0IHZhbHVlcyB0byBtaWNyb21ldGVycy4KCShNZWRpYVByaW50YWJsZUFyZWEpOiBMaWtld2lzZS4KCShnZXRYKTogQ29udmVydCByZXR1cm4gdmFsdWUgaW50byBjaG9vc2VuIHVuaXRzLgoJKGdldFkpOiBDb252ZXJ0IHJldHVybiB2YWx1ZSBpbnRvIGNob29zZW4gdW5pdHMuCgkoZ2V0V2lkdGgpOiBDb252ZXJ0IHJldHVybiB2YWx1ZSBpbnRvIGNob29zZW4gdW5pdHMuCgkoZ2V0SGVpZ2h0KTogQ29udmVydCByZXR1cm4gdmFsdWUgaW50byBjaG9vc2VuIHVuaXRzLgoJKGVxdWFscyk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCSh0b1N0cmluZyk6IExpa2V3aXNlLgoJKGhhc2hDb2RlKTogTGlrZXdpc2UuCgkodG9TdHJpbmcpOiBOZXcgbWV0aG9kLgoJKGdldFByaW50YWJsZUFyZWEpOiBMaWtld2lzZS4KCjIwMDUtMTItMTkgIFdvbGZnYW5nIEJhZXIgIDxXQmFlckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTWVkaWEuamF2YSAoZXF1YWxzKTogCglSZWltcGxlbWVudGVkIHRvIGFsbG93IGZ1dHVyZSBzdWJjbGFzc2VzIHRvIGJlaGF2ZSBjb3JyZWN0bHkuCgoyMDA1LTEyLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCVBSIGNsYXNzcGF0aC8yNDE5NQoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRTdHlsZWREb2N1bWVudC5qYXZhCgkoc2V0UGFyYWdyYXBoQXR0cmlidXRlcyk6IE9idGFpbiBsb2NrIGZvciB0aGlzIG9wZXJhdGlvbi4gRXhpdCBsb29wCglhZnRlciBsYXN0IHBhcmFncmFwaCBlbGVtZW50LgoKMjAwNS0xMi0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEKCShpbnN0YWxsTGlzdGVuZXJzKTogSW5zdGFsbCBmb2N1cyBsaXN0ZW5lciBvbmx5IG9uIGVkaXRvci4KCShjb25maWd1cmVBcnJvd0J1dHRvbik6IE1ha2UgYXJyb3cgYnV0dG9uIG5vdCBmb2N1c2FibGUuCgkoc2V0UG9wdXBWaXNpYmxlKTogUmVxdWVzdCBmb2N1cyBmb3IgdGhlIGNvbWJvYm94IGVkaXRvciBvciBjb21ib0JveCwKCWRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBjb21ib2JveCBpcyBlZGl0YWJsZSBvciBub3QuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib1BvcHVwLmphdmEKCShjb25maWd1cmVMaXN0KTogTWFrZSBsaXN0IG5vdCBmb2N1c2FibGUuCgkKMjAwNS0xMi0xOSAgV29sZmdhbmcgQmFlciAgPFdCYWVyQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JTdGF0ZVJlYXNvbnMuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShKb2JTdGF0ZVJlYXNvbnMpOiBOZXcgY29uc3RydWN0b3IuCgkoSm9iU3RhdGVSZWFzb25zKTogTGlrZXdpc2UuCgkoSm9iU3RhdGVSZWFzb25zKTogTGlrZXdpc2UuCgkoSm9iU3RhdGVSZWFzb25zKTogTGlrZXdpc2UuCgkoYWRkKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclN0YXRlUmVhc29ucy5qYXZhOgoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgkoUHJpbnRlclN0YXRlUmVhc29ucyk6IE5ldyBjb25zdHJ1Y3Rvci4KCShQcmludGVyU3RhdGVSZWFzb25zKTogTGlrZXdpc2UuCgkoUHJpbnRlclN0YXRlUmVhc29ucyk6IExpa2V3aXNlLgoJKFByaW50ZXJTdGF0ZVJlYXNvbnMpOiBMaWtld2lzZS4KCShwcmludGVyU3RhdGVSZWFzb25TZXQpOiBOZXcgbWV0aG9kLgoJKHB1dCk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4JCgoyMDA1LTEyLTE4ICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogbGlicmFyaWVzL2phdmFsaWIvZXh0ZXJuYWwvY2xhc3NwYXRoL2xpYi9NYWtlZmlsZS5hbToKCVJlcGxhY2VkICQodG9wX2Rpc3RkaXIpIHdpdGggJChkaXN0ZGlyKS8uLiB0byBtYWtlIHN1cmUKCXRoYXQgR05VIENsYXNzcGF0aCdzIGNsYXNzIGxpYnJhcnkgc291cmNlcyBkb24ndCBlbmQgdXAKCWluIHRoZSB3cm9uZyBsb2NhdGlvbiBpbiBrYWZmZSdzIHRhcmJhbGwuCgoyMDA1LTEyLTE4ICBOaWNvbGFzIEdlb2ZmcmF5IDxuaWNvbGFzLmdlb2ZmcmF5QG1lbmxpbmEuY29tPgoKCSogamF2YS9sYW5nL0NsYXNzLmphdmEgKGdldE1vZGlmaWVycyk6IE9ubHkgcmV0dXJucwoJaW50ZXJlc3RpbmcgYml0cy4gCgoyMDA1LTEyLTE4ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL3N0cmVhbS9TQVhQYXJzZXIuamF2YSwKCSAgZ251L3htbC9zdHJlYW0vWE1MUGFyc2VyLmphdmE6IFZhcmlvdXMgZml4ZXMgcG9zdCBTQVggY29uZm9ybWFuY2UKCXRlc3RpbmcuCgoyMDA1LTEyLTE4ICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYk9yaWdpbmF0aW5nVXNlck5hbWUuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1JlcXVlc3RpbmdVc2VyTmFtZS5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTWVzc2FnZUZyb21PcGVyYXRvci5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTmFtZS5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvT3V0cHV0RGV2aWNlQXNzaWduZWQuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJJbmZvLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVyTG9jYXRpb24uamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJNYWtlQW5kTW9kZWwuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJNZXNzYWdlRnJvbU9wZXJhdG9yLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Eb2N1bWVudE5hbWUuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJOYW1lLmphdmE6CglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCjIwMDUtMTItMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG5hdGl2ZS9mZGxpYm0vTWFrZWZpbGUuYW0gKGxpYmZkbGlibV9sYV9TT1VSQ0VTKTogQWRkIG5hbWVzcGFjZS5oCgoyMDA1LTEyLTE3ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTERvY3VtZW50LmphdmEgKEJsb2NrRWxlbWVudGdldE5hbWUpOgoJUXVhbGlmeSBOYW1lQXR0cmlidXRlIGFzIGNvbW1pbmcgZnJvbSBTdHlsZUNvbnN0YW50cy4KCShSdW5FbGVtZW50LmdldE5hbWUpOiBMaWtld2lzZS4KCShnZXRFbGVtZW50KTogQ2hlY2sgd2hldGhlciBncmFuZENoaWxkIGVsZW1lbnQgaXMgbnVsbCBiZWZvcmUKCXJldHVybmluZyBpdC4KCjIwMDUtMTItMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YSAoZmx1c2gpOiBRdWFsaWZ5IEVsZW1lbnRTcGVjCgl0eXBlIGNvbW1pbmcgZnJvbSBEZWZhdWx0U3R5bGVkRG9jdW1lbnQuCgkoYmxvY2tPcGVuKTogTGlrZXdpc2UuCgkoYmxvY2tDbG9zZSk6IExpa2V3aXNlLgoJKGFkZENvbnRlbnQpOiBMaWtld2lzZS4KCjIwMDUtMTItMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGxpYi9jb3B5LXZtcmVzb3VyY2VzLnNoLmluOiBVc2UgZG90ICcuJyBmb3IgZmluZCBhZnRlciBjaGFuZ2luZwoJZGlyIHRvIHRhcmdldCBkaXJlY3RvcnkuCgoyMDA1LTEyLTE3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2lvL0ZpbGUuamF2YSAoRmlsZSk6IFVwZGF0ZWQgamF2YWRvYy4KCjIwMDUtMTItMTcgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBuYXRpdmUvZmRsaWJtL25hbWVzcGFjZS5oOiBSZWdlbmVyYXRlZC4KCgkqIG5hdGl2ZS9mZGxpYm0vZmRsaWJtLmgKCShpc25hbik6IERlZmluZSBleHBsaWNpdGx5IGlzbmFuIGlmIGl0IGlzIG5vdCBhIG1hY3JvLgoKCSogc2NyaXB0cy9tYXRoX3N5bWJvbHM6IFJlbW92ZWQgaXNuYW4uCgkKMjAwNS0xMi0xNyAgV29sZmdhbmcgQmFlciAgPFdCYWVyQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Db3BpZXNTdXBwb3J0ZWQuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShDb3BpZXNTdXBwb3J0ZWQpOiBUaHJvdyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gaWYgCglsb3dlckJvdW5kIGlzIGxlc3MgdGhhbiAxLgoJKENvcGllc1N1cHBvcnRlZCk6IFRocm93IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBpZiBtZW1iZXIgbGVzcyB0aGFuIDEuCgkoZXF1YWxzKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iS09jdGV0c1N1cHBvcnRlZC5qYXZhOiAKCUFkZGVkIGFuZCB1cGRhdGVkIGphdmFkb2NzIHRvIGNsYXNzIGFuZCBtZXRob2RzLgoJKEpvYktPY3RldHNTdXBwb3J0ZWQpOiBUaHJvdyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gaWYgCglsb3dlckJvdW5kIGlzIGxlc3MgdGhhbiAxLgoJKGVxdWFscyk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYkltcHJlc3Npb25zU3VwcG9ydGVkLmphdmE6IAoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgkoSm9iSW1wcmVzc2lvbnNTdXBwb3J0ZWQpOiBUaHJvdyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gaWYgCglsb3dlckJvdW5kIGlzIGxlc3MgdGhhbiAxLgoJKGVxdWFscyk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYk1lZGlhU2hlZXRzU3VwcG9ydGVkLmphdmE6IAoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgkoSm9iTWVkaWFTaGVldHNTdXBwb3J0ZWQpOiBUaHJvdyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gaWYgCglsb3dlckJvdW5kIGlzIGxlc3MgdGhhbiAxLgoJKGVxdWFscyk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1BhZ2VSYW5nZXMuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShQYWdlUmFuZ2VzKTogVGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGlmIG1lbWJlciBsZXNzIHRoYW4gMS4KCShQYWdlUmFuZ2VzKTogVGhyb3cgSUFFIGlmIGxvd2VyQm91bmQgaXMgbGVzcyB0aGFuIDEuCgkoUGFnZVJhbmdlcyk6IFRocm93IE5QRSBpZiBtZW1iZXJzIGlzIG51bGwuCgkoUGFnZVJhbmdlcyk6IE5ldyBjb25zdHJ1Y3Rvci4KCShlcXVhbHMpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9OdW1iZXJVcFN1cHBvcnRlZC5qYXZhOiAKCUFkZGVkIGFuZCB1cGRhdGVkIGphdmFkb2NzIHRvIGNsYXNzIGFuZCBtZXRob2RzLgoJKE51bWJlclVwU3VwcG9ydGVkKTogVGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGlmIG1lbWJlciBsZXNzIHRoYW4gMS4KCShOdW1iZXJVcFN1cHBvcnRlZCk6IFRocm93IElBRSBpZiBsb3dlcmJvdW5kIGxlc3MgdGhhbiAxLgoJKE51bWJlclVwU3VwcG9ydGVkKTogVGhyb3cgTlBFIGlmIG1lbWJlcnMgaXMgbnVsbC4KCShlcXVhbHMpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JIb2xkVW50aWwuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0RhdGVUaW1lQXRQcm9jZXNzaW5nLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EYXRlVGltZUF0Q29tcGxldGVkLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EYXRlVGltZUF0Q3JlYXRpb24uamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJVUkkuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJNb3JlSW5mb01hbnVmYWN0dXJlci5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck1vcmVJbmZvLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EZXN0aW5hdGlvbi5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclJlc29sdXRpb24uamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShlcXVhbHMpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgoyMDA1LTEyLTE3ICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS9pby9PYmplY3RPdXRwdXRTdHJlYW0uamF2YQoJKHdyaXRlQ2xhc3NEZXNjcmlwdG9yKTogVXNlIHR3byBhcmd1bWVudCBjb25zdHJ1Y3Rvci4gUmVkdWNlZCBsaW5lCglzaXplLgoJCjIwMDUtMTItMTcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKEF1ZGlvQWN0aW9uKTogTmV3IGlubmVyIGNsYXNzLgoJKGF1ZGlvQWN0aW9uTWFwKTogTmV3IGZpZWxkLgoJKGdldEF1ZGlvQWN0aW9uTWFwKTogTmV3IG1ldGhvZC4KCShjcmVhdGVBdWRpb0FjdGlvbik6IE5ldyBtZXRob2QuCgkocGxheVNvdW5kKTogTmV3IG1ldGhvZC4KCjIwMDUtMTItMTYgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKEFjY2Vzc2libGVKVGFibGUuZ2V0QWNjZXNzaWJsZVJvd0F0SW5kZXgpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVGFibGUuZ2V0QWNjZXNzaWJsZUNvbHVtbkF0SW5kZXgpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVGFibGUuZ2V0QWNjZXNzaWJsZUNvbHVtbkF0SW5kZXgpOiBOZXcgbWV0aG9kLgoJKHN1cnJlbmRlcnNGb2N1c09uS2V5c3Ryb2tlKTogTmV3IGZpZWxkLgoJKHNldFN1cnJlbmRlcnNGb2N1c09uS2V5c3Ryb2tlKTogTmV3IG1ldGhvZC4KCShnZXRTdXJyZW5kZXJzRm9jdXNPbktleXN0cm9rZSk6IE5ldyBtZXRob2QuCgoyMDA1LTEyLTE2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YQoJKHByb2Nlc3NLZXlCaW5kaW5ncyk6IE5ldyBtZXRob2QuIFByb2Nlc3NlcyBrZXliaW5kaW5ncyBmb3IKCW5vbi1KQ29tcG9uZW50IGRlcml2ZWQgY29tcG9uZW50cy4KCjIwMDUtMTItMTYgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXZlbnQvRXZlbnRNYW5hZ2VyLmphdmEgKEV2ZW50TWFuYWdlcik6IENhdGNoCglhbGwgSmR3cEV4Y2VwdGlvbnMgd2hlbiBpbml0aWFsaXppbmcgdGhlIGV2ZW50IHRhYmxlLgoJKHJlcXVlc3RFdmVudCk6IFVwZGF0ZSB0byBhbGxvdyB0aHJvd2luZyBKZHdwRXhjZXB0aW9uIGZyb20KCVZNVmlydHVhbE1hY2hpbmUgbWV0aG9kcy4KCShkZWxldGVSZXF1ZXN0KTogTGlrZXdpc2UuCgkoY2xlYXJSZXF1ZXN0cyk6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvSmR3cC5qYXZhIChub3RpZnkpOiBDYXRjaCBleGNlcHRpb25zCglmcm9tIHNlbmRFdmVudCBhbmQgX2VuZm9yY2VTdXNwZW5kUG9saWN5LgoJKHNlbmRFdmVudCk6IERvIG5vdCBjYXRjaCBJT0V4Y2VwdGlvbiBoZXJlLgoJKF9lbmZvcmNlU3VzcGVuZFBvbGljeSk6IFVwZGF0ZSB0byBhbGxvdyB0aHJvd2luZyBKZHdwRXhjZXB0aW9uCglmcm9tIFZNVmlydHVhbE1hY2hpbmUgbWV0aG9kcy4KCjIwMDUtMTItMTYgIFdvbGZnYW5nIEJhZXIgIDxXQmFlckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iSW1wcmVzc2lvbnNDb21wbGV0ZWQuamF2YToKCUFkZGVkIGFuZCB1cGRhdGVkIGphdmFkb2NzIHRvIGNsYXNzIGFuZCBtZXRob2RzLgoJKGdldE5hbWUpOiBGaXhlZCBuYW1lIHJldHVybmVkIGJ5IHRoaXMgYXR0cmlidXRlIGNsYXNzLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTWVkaWFTaGVldHNDb21wbGV0ZWQuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYktPY3RldHNQcm9jZXNzZWQuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYkltcHJlc3Npb25zLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JLT2N0ZXRzLmphdmEsIAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTWVkaWFTaGVldHMuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL051bWJlck9mSW50ZXJ2ZW5pbmdKb2JzLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JQcmlvcml0eS5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iUHJpb3JpdHlTdXBwb3J0ZWQuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL051bWJlck9mRG9jdW1lbnRzLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9RdWV1ZWRKb2JDb3VudC5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTnVtYmVyVXAuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1BhZ2VzUGVyTWludXRlQ29sb3IuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1BhZ2VzUGVyTWludXRlLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Db3BpZXMuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCjIwMDUtMTItMTYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVkRWRpdG9yS2l0LmphdmEKCShjcmVhdGVJbnB1dEF0dHJpYnV0ZXMpOiBUaGlzIHNob3VsZCBjb3B5IHRoZSBlbGVtZW50CglhdHRyaWJ1dGVzIGludG8gdGhlIHNldCwgbm90IGNsZWFyIG91dCB0aGUgc2V0LiBGaXhlZAoJdG8gbWF0Y2ggdGhlIEFQSSBzcGVjLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhCgkoZ2V0SW5wdXRBdHRyaWJ1dGVzKTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uIEZpeGVkCglpbXBsZW1lbnRhdGlvbi4gQ29tYmluaW5nIGFsbCBpbnB1dCBhdHRyaWJ1dGVzIHNob3VsZAoJbm90IGJlIGRvbmUgaGVyZS4KCjIwMDUtMTItMTYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YQoJKEhUTUxEb2N1bWVudCk6IEZpeGVkLiBUaGUgc3R5bGUgc2hlZXQgaXMgaW5pdGlhbGl6ZWQKCXVzaW5nIEhUTUxFZGl0b3JLaXQuCgkoSFRNTERvY3VtZW50KTogRml4ZWQgdG8gY2FsbCB0aGlzIHdpdGggbnVsbCBhcyB0aGUgCglzdHlsZSBzaGVldC4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxFZGl0b3JLaXQuamF2YToKCUFkZGVkIG5ldyBmaWVsZHMuCgkoTGlua0NvbnRyb2xsZXIpOiBDYWxscyBzdXBlciBjb25zdHJ1Y3Rvci4KCShJbnNlcnRIVE1MVGV4dEFjdGlvbik6IEFkZGVkIGNvbW1lbnQuCgkoYWN0aW9uUGVyZm9ybWVkKTogUGFydGlhbGx5IGltcGxlbWVudGVkLgoJKEhUTUxFZGl0b3JLaXQpOiBGaXhlZCB0byBpbml0aWFsaXplIHN0eWxlIHNoZWV0IHRvCglkZWZhdWx0LmNzcy4KCShnZXRQYXJzZXIpOiBGaXhlZCBmaWVsZCBuYW1lLgoJKHJlYWQpOiBBZGRlZCBjb2RlIHRvIHNldCBiYXNlIGZvciBkb2N1bWVudC4KCShnZXRDb250ZW50VHlwZSk6IEZpeGVkIHRvIHJldHVybiBmaWVsZC4KCShjcmVhdGVJbnB1dEF0dHJpYnV0ZXMpOiBQYXJ0aWFsbHkgaW1wbGVtZW50ZWQuCgkoaW5zdGFsbCk6IEFkZGVkIEZJWE1FLgoJKGRlaW5zdGFsbCk6IHNldCBmaWVsZCB0byBudWxsLgoJKGdldElucHV0QXR0cmlidXRlcyk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvU3R5bGVTaGVldC5qYXZhCgkoaW1wb3J0U3R5bGVTaGVldCk6IFBhcnRpYWxseSBpbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL2RlZmF1bHQuY3NzOiBOZXcgZmlsZS4gRGVmYXVsdCBzdHlsZQoJc2hlZXQgZm9yIEhUTUwuCgoyMDA1LTEyLTE2ICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogbmF0aXZlL2ZkbGlibS9tcHJlYy5oLCBuYXRpdmUvZmRsaWJtL2ZkbGlibS5oOiBBZGRlZCB0aGUKCWluY2x1c2lvbiBvZiBuYW1lc3BhY2UuaAoKCSogbmF0aXZlL2ZkbGlibS9uYW1lc3BhY2UuaDogTmV3IGZpbGUuCgoJKiBzY3JpcHRzL2J1aWxkX21hdGhuYW1lc3BhY2UsIHNjcmlwdHMvbWF0aF9zeW1ib2xzOiBOZXcgZmlsZXMuCgoyMDA1LTEyLTE2ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogdm0vcmVmZXJlbmNlL2dudS9jbGFzc3BhdGgvamR3cC9WTVZpcnR1YWxNYWNoaW5lLmphdmEKCShWTVZpcnR1YWxNYWNoaW5lKTogQWxsIG1ldGhvZHMgbm93IHRocm93IEpkd3BFeGNlcHRpb24uCgoyMDA1LTEyLTE2ICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL01lZGlhU2l6ZU5hbWUuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShnZXRTdHJpbmdUYWJsZSk6IEltcGxlbWVudGVkLgoJKGdldEVudW1WYWx1ZVRhYmxlKTogSW1wbGVtZW50ZWQuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9NZWRpYU5hbWUuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShnZXRTdHJpbmdUYWJsZSk6IEltcGxlbWVudGVkLgoJKGdldEVudW1WYWx1ZVRhYmxlKTogSW1wbGVtZW50ZWQuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkoTkFfTEVUVEVSX1dISVRFKTogRml4ZWQgdmFsdWUgb2YgZW51bS4KCShOQV9MRVRURVJfVFJBTlNQQVJFTlQpOiBMaWtld2lzZS4KCShJU09fQTRfV0hJVEUpOiBMaWtld2lzZS4KCShJU09fQTRfVFJBTlNQQVJFTlQpOiBMaWtld2lzZS4KCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTWVkaWEuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShlcXVhbHMpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9NZWRpYVRyYXkuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShnZXRTdHJpbmdUYWJsZSk6IEltcGxlbWVudGVkLgoJKGdldEVudW1WYWx1ZVRhYmxlKTogSW1wbGVtZW50ZWQuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkoVE9QKTogRml4ZWQgdmFsdWUgb2YgZW51bS4KCShNSURETEUpOiBMaWtld2lzZS4KCShCT1RUT00pOiBMaWtld2lzZS4KCShFTlZFTE9QRSk6IExpa2V3aXNlLgoJKExBUkdFX0NBUEFDSVRZKTogTGlrZXdpc2UuCgkoTUFJTik6IExpa2V3aXNlLgoJKFNJREUpOiBMaWtld2lzZS4KCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclN0YXRlLmphdmE6IAoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgkoZ2V0U3RyaW5nVGFibGUpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoZ2V0RW51bVZhbHVlVGFibGUpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkoSURMRSk6IEZpeGVkIHZhbHVlIG9mIGVudW0uCgkoUFJPQ0VTU0lORyk6IExpa2V3aXNlLgoJKFNUT1BQRUQpOiBMaWtld2lzZS4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYlN0YXRlLmphdmE6IAoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgkoZ2V0U3RyaW5nVGFibGUpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoZ2V0RW51bVZhbHVlVGFibGUpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkoUEVORElORyk6IEZpeGVkIHZhbHVlIG9mIGVudW0uCgkoUEVORElOR19IRUxEKTogTGlrZXdpc2UuCgkoUFJPQ0VTU0lORyk6IExpa2V3aXNlLgoJKFBST0NFU1NJTkdfU1RPUFBFRCk6IExpa2V3aXNlLgoJKENBTkNFTEVEKTogTGlrZXdpc2UuCgkoQUJPUlRFRCk6IExpa2V3aXNlLgoJKENPTVBMRVRFRCk6IExpa2V3aXNlLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvU2hlZXRDb2xsYXRlLmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmVzZW50YXRpb25EaXJlY3Rpb24uamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1JlZmVyZW5jZVVyaVNjaGVtZXNTdXBwb3J0ZWQuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJTdGF0ZVJlYXNvbi5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iU3RhdGVSZWFzb24uamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYlNoZWV0cy5qYXZhOiAKCUFkZGVkIGFuZCB1cGRhdGVkIGphdmFkb2NzIHRvIGNsYXNzIGFuZCBtZXRob2RzLgoJKGdldFN0cmluZ1RhYmxlKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKGdldEVudW1WYWx1ZVRhYmxlKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKHN0cmluZ1RhYmxlKTogTmV3IGZpZWxkLgoJKGVudW1WYWx1ZVRhYmxlKTogTmV3IGZpZWxkLgoKMjAwNS0xMi0xNiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vamF2YV9uaW8uYwoJUmVtb3ZlZCBvYnNvbGV0ZSBmaWxlLgoKMjAwNS0xMi0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL0NsYXNzLmphdmEgKGdldFBhY2thZ2UpOiBKYXZhZG9jIGZpeC4KCjIwMDUtMTItMTYgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBuYXRpdmUvam5pL2NsYXNzcGF0aC9qY2wuYzoKCU9ubHkgcmVkZWZpbmUgX19hdHRyaWJ1dGVfXyBpZiBpdCdzIG5vdCBhbHJlYWR5IGRlZmluZWQuCgoyMDA1LTEyLTE2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9uZXQvRGF0YWdyYW1Tb2NrZXQuamF2YQoJKERhdGFncmFtU29ja2V0KFNvY2tldEFkZHJlc3MpKTogQWN0dWFsbHkgdXNlIHRoZSBmYWN0b3J5IGlmIG9uZQoJaXMgaW5zdGFsbGVkLgoKMjAwNS0xMi0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhOiBPcmdhbml6ZWQgaW1wb3J0cy4KCjIwMDUtMTItMTUgIFdvbGZnYW5nIEJhZXIgIDxXQmFlckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUERMT3ZlcnJpZGVTdXBwb3J0ZWQuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShnZXRTdHJpbmdUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShnZXRFbnVtVmFsdWVUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShzdHJpbmdUYWJsZSk6IE5ldyBmaWVsZC4KCShlbnVtVmFsdWVUYWJsZSk6IE5ldyBmaWVsZC4KCShBVFRFTVBURUQpOiBGaXhlZCB2YWx1ZSBvZiBlbnVtLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlcklzQWNjZXB0aW5nSm9icy5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvU2V2ZXJpdHkuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL011bHRpcGxlRG9jdW1lbnRIYW5kbGluZy5qYXZhOiAKCUFkZGVkIGFuZCB1cGRhdGVkIGphdmFkb2NzIHRvIGNsYXNzIGFuZCBtZXRob2RzLgoJKGdldFN0cmluZ1RhYmxlKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKGdldEVudW1WYWx1ZVRhYmxlKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKHN0cmluZ1RhYmxlKTogTmV3IGZpZWxkLgoJKGVudW1WYWx1ZVRhYmxlKTogTmV3IGZpZWxkLgkJCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9GaWRlbGl0eS5qYXZhOgoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgkoZ2V0U3RyaW5nVGFibGUpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoZ2V0RW51bVZhbHVlVGFibGUpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCQoJKGdldE5hbWUpOiBVc2UgY29ycmVjdCBpcHAgYXR0cmlidXRlIG5hbWUuCQoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvT3JpZW50YXRpb25SZXF1ZXN0ZWQuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShnZXRTdHJpbmdUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShnZXRFbnVtVmFsdWVUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShnZXRPZmZzZXQpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludFF1YWxpdHkuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShnZXRTdHJpbmdUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShnZXRFbnVtVmFsdWVUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShnZXRPZmZzZXQpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkoRFJBRlQpOiBGaXhlZCB2YWx1ZSBvZiBlbnVtLgoJKE5PUk1BTCk6IExpa2V3aXNlLgoJKEhJR0gpOiBMaWtld2lzZS4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0ZpbmlzaGluZ3MuamF2YTogCglBZGRlZCBhbmQgdXBkYXRlZCBqYXZhZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShnZXRTdHJpbmdUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShnZXRFbnVtVmFsdWVUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShnZXRPZmZzZXQpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkoTk9ORSk6IEZpeGVkIHZhbHVlIG9mIGVudW0uCQoJKFNUQVBMRSk6IExpa2V3aXNlLgoJKENPVkVSKTogTGlrZXdpc2UuCgkoQklORCk6IExpa2V3aXNlLgoJKFNBRERMRV9TVElUQ0gpOiBMaWtld2lzZS4KCShFREdFX1NUSVRDSCk6IExpa2V3aXNlLgoJKFNUQVBMRV9UT1BfTEVGVCk6IExpa2V3aXNlLgoJKFNUQVBMRV9CT1RUT01fTEVGVCk6IExpa2V3aXNlLgoJKFNUQVBMRV9UT1BfUklHSFQpOiBMaWtld2lzZS4KCShTVEFQTEVfQk9UVE9NX1JJR0hUKTogTGlrZXdpc2UuCgkoRURHRV9TVElUQ0hfTEVGVCk6IExpa2V3aXNlLgoJKEVER0VfU1RJVENIX1RPUCk6IExpa2V3aXNlLgoJKEVER0VfU1RJVENIX1JJR0hUKTogTGlrZXdpc2UuCgkoRURHRV9TVElUQ0hfQk9UVE9NKTogTGlrZXdpc2UuCgkoU1RBUExFX0RVQUxfTEVGVCk6IExpa2V3aXNlLgoJKFNUQVBMRV9EVUFMX1RPUCk6IExpa2V3aXNlLgoJKFNUQVBMRV9EVUFMX1JJR0hUKTogTGlrZXdpc2UuCgkoU1RBUExFX0RVQUxfQk9UVE9NKTogTGlrZXdpc2UuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9TaWRlcy5qYXZhOgoJQWRkZWQgYW5kIHVwZGF0ZWQgamF2YWRvY3MgdG8gY2xhc3MgYW5kIG1ldGhvZHMuCgkoZ2V0U3RyaW5nVGFibGUpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoZ2V0RW51bVZhbHVlVGFibGUpOiBOZXcgb3ZlcnJpZGRlbiBtZXRob2QuCgkoc3RyaW5nVGFibGUpOiBOZXcgZmllbGQuCgkoZW51bVZhbHVlVGFibGUpOiBOZXcgZmllbGQuCgkoRFVQTEVYKTogRml4ZWQgdmFsdWUgb2YgZW51bS4KCShUVU1CTEUpOiBMaWtld2lzZS4JCgoyMDA1LTEyLTE1ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmE6CgkoQWJzdHJhY3RFbGVtZW50LmdldEF0dHJpYnV0ZSk6IElmIG5vIGF0dHJpYnV0ZSBjb3VsZCBiZSBmb3VuZCBpbiB0aGUgCglBdHRyaWJ1dGVTZXQgaGllcmFyY2h5LCB0aGVuIHRyeSB0aGUgRWxlbWVudCBoaWVyYXJjaHkgaW5zdGVhZC4KCjIwMDUtMTItMTUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YQoJKEhUTUxEb2N1bWVudCk6IEFkZGVkIGEgRklYTUUKCShjcmVhdGUpOiBBZGRlZCBzdHViLgoJKGNyZWF0ZURlZmF1bHRSb290KTogTGlrZXdpc2UuCgkoY3JlYXRlTGVhZkVsZW1lbnQpOiBMaWtld2lzZS4KCShjcmVhdGVCcmFuY2hFbGVtZW50KTogTGlrZXdpc2UuCgkoaW5zZXJ0VXBkYXRlKTogTGlrZXdpc2UuCgkoc2V0UGFyYWdyYXBoQXR0cmlidXRlcyk6IExpa2V3aXNlLgoJKGZpcmVDaGFuZ2VkVXBkYXRlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRWRpdG9yS2l0LmphdmEKCShMaW5rQ29udHJvbGxlcik6IFJlbW92ZWQgRklYTUUKCShtb3VzZUNsaWNrZWQpOiBBZGRlZCBjb21tZW50CgkobW91c2VEcmFnZ2VkKTogTGlrZXdpc2UuCgkobW91c2VNb3ZlZCk6IExpa2V3aXNlLgoJKGFjdGl2YXRlTGluayk6IExpa2V3aXNlLgoJKGluc2VydEF0Qm91bmRhcnkpOiBMaWtld2lzZS4KCShIVE1MRmFjdG9yeSk6IEFkZGVkIGNvbnN0cnVjdG9yLgoJKEhUTUxFZGl0b3JLaXQpOiBBZGRlZCBGSVhNRSB0byBjb25zdHJ1Y3Rvci4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL1N0eWxlU2hlZXQuamF2YQoJKHJlbW92ZVN0eWxlU2hlZXQpOiBGaXhlZCBpbXBsZW1lbnRhdGlvbi4KCjIwMDUtMTItMTUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9CbG9ja1ZpZXcuamF2YQoJKHBhaW50KTogUGFydGlhbGx5IGltcGxlbWVudGVkLgoJKGdldEF0dHJpYnV0ZXMpOiBJbXBsZW1lbnRlZC4KCShnZXRTdHlsZVNoZWV0KTogUGFydGlhbGx5IGltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTERvY3VtZW50LmphdmEKCShIVE1MRG9jdW1lbnQpOiBOZXcgY29uc3RydWN0b3IsIGltcGxlbWVudGVkLgoJKEhUTUxEb2N1bWVudCk6IExpa2V3aXNlLgoJKEhUTUxEb2N1bWVudCk6IExpa2V3aXNlLgoJKGdldFN0eWxlU2hlZXQpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxFZGl0b3JLaXQuamF2YQoJKGluc2VydEhUTUwpOiBGaXhlZCBpbmRlbnRhdGlvbi4KCShQYXJzZXJDYWxsYmFjayk6IEFkZGVkIGNvbW1lbnRzIGZvciBhbGwgbWV0aG9kcyBpbiB0aGlzCglpbm5lciBjbGFzcy4KCShnZXRTdHlsZVNoZWV0KTogSW1wbGVtZW50ZWQuCgkoc2V0U3R5bGVTaGVldCk6IEltcGxlbWVudGVkCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9TdHlsZVNoZWV0OiBOZXcgY2xhc3MsIHBhcnRpYWxseSAKCWltcGxlbWVudGVkLgoKMjAwNS0xMi0xNSAgQ2FvbGFuIE1jTmFtYXJhICA8Y2FvbGFubUByZWRoYXQuY29tPgoKCVBSIGNsYXNzcGF0aC8yNTQyNjoKCSogZ251L3htbC9kb20vRG9tTm9kZS5qYXZhIChkZXRhY2gpOiBDaGVjayB3aGV0aGVyIGN1cnJlbnQgaXMKCWFscmVhZHkgbnVsbC4KCjIwMDUtMTItMTUgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9WaWV3cG9ydExheW91dC5qYXZhCgkobGF5b3V0Q29udGFpbmVyKTogU2V0IHdpZHRoIGFuZCBoZWlnaHQgYmVmb3JlIGFkanVzdGluZyB0aGUKCWxvY2F0aW9uLiBPbmx5IHNldCB2aWV3IHNpemUgdG8gcG9ydCBzaXplIGlmIHRoZSBwb3J0IGlzIGxhcmdlcgoJdGhhbiB0aGUgdmlld3MgcHJlZmVycmVkU2l6ZS4KCjIwMDUtMTItMTUgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvc3RyZWFtL1NBWFBhcnNlci5qYXZhLAoJICBnbnUveG1sL3N0cmVhbS9YTUxJbnB1dEZhY3RvcnlJbXBsLmphdmEsCgkgIGdudS94bWwvc3RyZWFtL1hNTFBhcnNlci5qYXZhOiBQZXJtaXQgc2V0dGluZyBleHRlbmRlZCBwcm9wZXJ0aWVzCgkgIHZpYSBmYWN0b3J5IGludGVyZmFjZXM7IG1ha2UgYmFzZS1hd2FyZSBhIHBhcmFtZXRlci4KCjIwMDUtMTItMTUgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShnZXRQcmVmZXJyZWRTaXplKTogUHJvdGVjdCB0aGUgcHJlZmVycmVkU2l6ZSBmaWVsZCBmcm9tCgltb2RpZmljYXRpb24gYnkgY3JlYXRpbmcgYSBuZXcgRGltZW5zaW9uIG9iamVjdCBmcm9tIGl0CgliZWZvcmUgcmV0dXJuaW5nIHRoZSB2YWx1ZS4KCjIwMDUtMTItMTUgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCglGaXhlcyBidWcgY2xhc3NwYXRoLzI0NDk2OgoJKiBqYXZhL3V0aWwvUHJvcGVydGllcy5qYXZhIChsb2FkRnJvbVhNTCk6IFVzZSBTdEFYIGluc3RlYWQgb2YgU0FYCgkgIHRvIHBvcHVsYXRlIHByb3BlcnRpZXMuCgoyMDA1LTEyLTE1ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL3N0cmVhbS9YTUxQYXJzZXIuamF2YTogUmVwb3J0IHN0YXJ0LWVudGl0eSBhbmQgZW5kLWVudGl0eQoJICBldmVudHM7IHJlYWQgdGV4dCBkZWNsYXJhdGlvbiBmb3IgZXh0ZXJuYWwgZW50aXRpZXM7CgkgIGhhbmRsZSBYTUwgbmFtZXNwYWNlOyBoYW5kbGUgeG1sOmJhc2U7IG5vcm1hbGl6ZSBDUi9MRiBwYWlycwoJICBjcmVhdGVkIGFzIGEgcmVzdWx0IG9mIG1peGVkIHRleHQgYW5kIGNoYXJhY3RlciBlbnRpdHkgcmVmZXJlbmNlcy4KCjIwMDUtMTItMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YQoJKGNhY2hlZCk6IE5ldyBmaWVsZC4KCShwYXJlbnQpOiBOZXcgZmllbGQuCgkoR2RrR3JhcGhpY3MoR2RrR3JhcGhpY3MpKTogTW92ZWQgc3RhdGUtY29weSBjb2RlIHRvIG5ldyBtZXRob2QKCWNvcHlTdGF0ZSgpLgoJKGNyZWF0ZSk6IEFkZGVkIHJlLXVzZSBvZiBvbGQgZ3JhcGhpY3MuCgkobmF0aXZlRGlzcG9zZSk6IFJlbmFtZWQgbmF0aXZlIGRpc3Bvc2UgbWV0aG9kIHRvIG5hdGl2ZURpc3Bvc2UoKS4KCShkaXNwb3NlKTogTmV3IG5vbi1uYXRpdmUgaW1wbGVtZW50YXRpb24gdXNlZCBmb3IgY2FjaGluZy4KCShmaW5hbGl6ZSk6IE92ZXJyaWRkZW4gdG8gY29ycmVjdGx5IGRpc3Bvc2UgdW51c2VkIGdyYXBoaWNzLgoJKGNvcHlTdGF0ZSk6IE5ldyBub24tbmF0aXZlIG1ldGhvZCB0byBjb3JyZWN0bHkgY29weSB0aGUgbm9uLW5hdGl2ZQoJc3RhdGUuCgkobmF0aXZlQ29weVN0YXRlKTogUmVuYW1lZCBuYXRpdmUgY29weVN0YXRlIG1ldGhvZCB0bwoJbmF0aXZlQ29weVN0YXRlKCkuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMKCShjb3B5U3RhdGUpOiBSZW5hbWVkIHRvIG5hdGl2ZUNvcHlTdGF0ZS4KCShkaXNwb3NlKTogUmVuYW1lZCB0byBuYXRpdmVEaXNwb3NlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5oCgkoY29weVN0YXRlKTogUmVuYW1lZCB0byBuYXRpdmVDb3B5U3RhdGUuCgkoZGlzcG9zZSk6IFJlbmFtZWQgdG8gbmF0aXZlRGlzcG9zZS4KCjIwMDUtMTItMTQgIFJpY2NhcmRvIE1vdHRvbGEgIDxyaWNjYXJkb0BrYWZmZS5vcmc+CgoJKiBuYXRpdmUvZmRsaWJtL2llZWVmcC5oOiBGaXhlZCBkZXRlY3Rpb24gb2YgYmlnIGVuZGlhbiBvbgoJcG93ZXJwYy4KCjIwMDUtMTItMTQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRTdHlsZWREb2N1bWVudC5qYXZhOgoJKGluc2VydCk6IFB1dCB3cml0ZUxvY2svd3JpdGVVbmxvY2sgY29tYm8gaW4gYSB0cnkvZmluYWxseSBibG9jay4gR3JvdXAKCWFsbCBpbnNlcnRzIHRvZ2V0aGVyIHNvIHRoYXQgd2UgY2FuIGFkZCB0aGUgYXBwcm9wcmlhdGUgRWxlbWVudEVkaXQgdG8KCXRoZSBEb2N1bWVudEV2ZW50LgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTERvY3VtZW50LmphdmE6CgkoZGVidWcpOiBOZXcgZmllbGQuCgkocHJpbnQpOiBOZXcgbWV0aG9kLiBDaGFuZ2VkIGFsbCBTeXN0ZW0ub3V0LnByaW50bG4gY2FsbHMgdG8gY2FsbHMgdG8gCgl0aGlzIG1ldGhvZCBzbyB0aGF0IHRoZXkgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHZpYSB0aGUgZGVidWcgCgl2YXJpYWJsZS4KCShIVE1MUmVhZGVyLkNoYXJhY3RlckFjdGlvbi5zdGFydCk6IFVuY29tbWVudGVkIGNvZGUgdGhhdCBhZGRzIHRoZSAKCWFyZ3VtZW50IGF0dHJpYnV0ZXMgdG8gdGhlIGN1cnJlbnQgYXR0cmlidXRlcy4KCShIVE1MUmVhZGVyLkhlYWRBY3Rpb24pOiBDaGFuZ2VkIHN1cGVyY2xhc3MgdG8gQmxvY2tBY3Rpb24gaW5zdGVhZCBvZgoJVGFnQWN0aW9uLgoJKEhUTUxSZWFkZXIuYmxvY2tPcGVuKTogSW1wbGVtZW50ZWQuCgkoSFRNTFJlYWRlci5ibG9ja0Nsb3NlKTogSW1wbGVtZW50ZWQuCgkoSFRNTFJlYWRlci5hZGRDb250ZW50KTogQWRkZWQgY2FsbHMgdG8gcHJpbnRCdWZmZXIgc28gaWYgdGhlIGRlYnVnCgl2YXJpYWJsZSBpcyB0cnVlIHdlIGNhbiBzZWUgd2hhdCB0aGUgYnVmZmVyIGxvb2tzIGxpa2UgYmVmb3JlIGFuZAoJYWZ0ZXIgYWRkaW5nIGNvbnRlbnQuICBBbHNvIHB1dCBpbiB0aGUgcHJvcGVyIGNoZWNrIHNvIHRoYXQgd2Ugb25seSAKCWZsdXNoIHRoZSBidWZmZXIgaWYgd2UndmUgYnVmZmVyZWQgdGhlIGFwcHJvcHJpYXRlIG51bWJlciBvZiBlbGVtZW50cwoJZmlyc3QuCgkocHJpbnRCdWZmZXIpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMi0xNCAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9zdHJlYW0vWEluY2x1ZGVGaWx0ZXIuamF2YTogRml4IGV2ZW50IGZsb3cgb24gZmFsbGJhY2suCgkqIGdudS94bWwvc3RyZWFtL1hNTFBhcnNlci5qYXZhOiBEb24ndCBwb3AgbmFtZXNwYWNlIGNvbnRleHQgdW50aWwKCSAgYWZ0ZXIgRU5EX0VMRU1FTlQgaGFzIGJlZW4gcmVhZDsgZml4IENEQVRBIHNlY3Rpb24gZGV0ZWN0aW9uLgoKMjAwNS0xMi0xNCAgR3VpbGhlbSBMYXZhdXggIDxndWlsaGVtQGthZmZlLm9yZz4KCgkqIGphdmEvaW8vT2JqZWN0T3V0cHV0U3RyZWFtLmphdmEKCSh3cml0ZUNsYXNzRGVzY3JpcHRpb24pOiBUaHJvdyBhbiBJbnZhbGlkQ2xhc3NFeGNlcHRpb24gaWYKCWZpZWxkcyBpcyBJTlZBTElEX0ZJRUxEUy4KCShsb29rdXApOiBBZGRlZCBzb21lIGRvY3VtZW50YXRpb24uCgoJKiBqYXZhL2lvL09iamVjdFN0cmVhbUNsYXNzLmphdmEKCShzZXRGaWVsZHMpOiBNYWtlIGZpZWxkcyBhcyBJTlZBTElEIGlmIHdlIGRldGVjdCBkdXBsaWNhdGUKCWVudHJpZXMgaW4gc2VyaWFsUGVyc2lzdGVudEZpZWxkcy4KCQoyMDA1LTEyLTE0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCVJlcG9ydGVkIGJ5IEluZ28gUHJvZXRlbCA8cHJvZXRlbEBhaWNhcy5jb20+CgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhCgkodmlzaXRDaGlsZCk6IFVzZSBHcmFwaGljcy5oaXRDbGlwKCkgdG8gY2hlY2sgZm9yIGNsaXAgYm91bmRzLgoJQ3JlYXRlIGEgbmV3IEdyYXBoaWNzIGJlZm9yZSBwYWludGluZyB0aGUgY2hpbGQsIHRoaXMgcHJvdGVjdHMKCXRoZSBjdXJyZW50IGNvbnRleHQgZnJvbSBiZWVpbmcgaXJyZXZvY2FibHkgY2hhbmdlZCBieSB0aGUgY2hpbGQKCWNvbXBvbmVudC4KCjIwMDUtMTItMTQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBjbGFzc3BhdGgvMjUzODk6CgkqIGphdmEvaW8vRmlsZS5qYXZhIChGaWxlKTogVGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGlmIFVSSSBpcwoJbm9uLWhpZXJhcmNoaWNhbC4KCjIwMDUtMTItMTMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRWRpdG9yS2l0LmphdmEKCShnZXRIVE1MRWRpdG9yS2l0KTogRml4ZWQgdHlwby4KCjIwMDUtMTItMTMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRWRpdG9yS2l0LmphdmEKCShpbnNlcnRIVE1MKTogRml4ZWQgY2F0Y2hpbmcgb2YgZXhjZXB0aW9ucy4KCShnZXRIVE1MRG9jdW1lbnQpOiBMaWtld2lzZS4KCShnZXRIVE1MRWRpdG9yS2l0KTogTGlrZXdpc2UuCgoyMDA1LTEyLTEzICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEFjdGlvbi5qYXZhOgoJKHB1dFZhbHVlKTogRml4ZWQgY2hlY2ssIHNob3VsZCB1c2UgLmVxdWFscyB3aGVuIGNvbXBhcmluZwoJb2JqZWN0cy4KCSogamF2YXgvc3dpbmcvdGV4dC9TdHlsZWRFZGl0b3JLaXQuamF2YQoJKFVuZGVybGluZUFjdGlvbik6IEZpeGVkIG5hbWUuCgkoSXRhbGljQWN0aW9uKTogTGlrZXdpc2UuCgkoQm9sZEFjdGlvbik6IExpa2V3aXNlLgoJKGdldEFjdGlvbnMpOiBBZGRlZCBtb3JlIGRlZmF1bHQgYWN0aW9ucy4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxEb2N1bWVudC5qYXZhOgoJUmVtb3ZlZCB1bm5lZWRlZCBpbXBvcnQgc3RhdGVtZW50LgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhOgoJQWRkZWQgbmV3IGZpZWxkCgkoZ2V0QWN0aW9ucyk6IEZpeGVkIHRvIHVzZSBhdWdtZW50TGlzdCB0byBjb21iaW5lCgl0aGUgYWN0aW9ucyBmcm9tIHRoZSBzdXBlciBjbGFzcyB3aXRoIHRoZSBvbmVzIGZyb20KCXRoaXMgY2xhc3MuCgoyMDA1LTEyLTEzICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL3N0cmVhbS9YSW5jbHVkZUZpbHRlci5qYXZhLAoJICBnbnUveG1sL3N0cmVhbS9YTUxTdHJlYW1Xcml0ZXJJbXBsLmphdmEsCgkgIGdudS94bWwvc3RyZWFtL1hNTFBhcnNlci5qYXZhOiBYSW5jbHVkZSBmaXhlcy4KCjIwMDUtMTItMTMgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTERvY3VtZW50LmphdmE6CgkoSFRNTFJlYWRlci5jaGFyQXR0cik6IEluaXRpYWxpemUgdGhpcyB2YXJpYWJsZS4KCShIVE1MUmVhZGVyLnBhcnNlQnVmZmVyKTogSW5pdGlhbGl6ZSB0aGlzIHZhcmlhYmxlLgoJKEhUTUxSZWFkZXIucG9wRGVwdGgpOiBOZXcgZmllbGQuCgkoSFRNTFJlYWRlci5wdXNoRGVwdGgpOiBMaWtld2lzZS4KCShIVE1MUmVhZGVyLm9mZnNldCk6IExpa2V3aXNlLgoJKEhUTUxSZWFkZXIuaW5zZXJ0VGFnKTogTGlrZXdpc2UuCgkoSFRNTFJlYWRlci5pbnNlcnRUYWdFbmNvdW50ZXJlZCk6IExpa2V3aXNlLgoJKEhUTUxSZWFkZXIuQmxvY2tBY3Rpb24uc3RhcnQpOiBJbXBsZW1lbnRlZC4KCShIVE1MUmVhZGVyLkJsb2NrQWN0aW9uLmVuZCk6IEltcGxlbWVudGVkLgoJKEhUTUxSZWFkZXIuQ2hhcmFjdGVyQWN0aW9uLnN0YXJ0KTogSW1wbGVtZW50ZWQuCgkoSFRNTFJlYWRlci5DaGFyYWN0ZXJBY3Rpb24uZW5kKTogSW1wbGVtZW50ZWQuCgkoSFRNTFJlYWRlcihpbnQpKTogQ2FsbCBvdGhlciBjb25zdHJ1Y3RvciB3aXRoIGRlZmF1bHQgYXJndW1lbnRzLgoJKEhUTUxSZWFkZXIoaW50LCBpbnQsIGludCwgSFRNTC5UYWcpKTogU2F2ZSB0aGUgYXJndW1lbnRzLgoJKEhUTUxSZWFkZXIuZmx1c2gpOiBJbXBsZW1lbnRlZC4KCShIVE1MUmVhZGVyLmhhbmRsZVRleHQpOiBJbXBsZW1lbnRlZC4KCShIVE1MUmVhZGVyLmFkZENvbnRlbnQpOiBJbXBsZW1lbnRlZC4JCQkKCjIwMDUtMTItMTMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YQoJKGdldEVsZW1lbnQpOiBJbXBsZW1lbnRlZC4KCShnZXRFbGVtZW50KTogSW1wbGVtZW50ZWQuCgkoc2V0SW5uZXJIVE1MKTogQWRkZWQsIG5vdCBmdWxseSBpbXBsZW1lbnRlZC4KCShzZXRPdXRlckhUTUwpOiBMaWtld2lzZS4KCShpbnNlcnRCZWZvcmVTdGFydCk6IExpa2V3aXNlLgoJKGluc2VydEFmdGVyU3RhcnQpOiBMaWtld2lzZS4KCShpbnNlcnRCZWZvcmVFbmQpOiBMaWtld2lzZS4KCShpbnNlcnRBZnRlckVuZCk6IExpa2V3aXNlLgoKMjAwNS0xMi0xMyAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9zdHJlYW0vU0FYUGFyc2VyLmphdmEsCgkgIGdudS94bWwvc3RyZWFtL1hJbmNsdWRlRmlsdGVyLmphdmEsCgkgIGdudS94bWwvc3RyZWFtL1hNTElucHV0RmFjdG9yeUltcGwuamF2YSwKCSAgZ251L3htbC9zdHJlYW0vWE1MUGFyc2VyLmphdmE6IEFkZGl0aW9uIG9mIFhJbmNsdWRlIGZpbHRlci4KCjIwMDUtMTItMTMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YQoJKGdldFJlYWRlcik6IEltcGxlbWVudGVkLgoJKGdldFJlYWRlcik6IEltcGxlbWVudGVkLgoKMjAwNS0xMi0xMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxEb2N1bWVudC5qYXZhCgkoQmxvY2tFbGVtZW50LmdldE5hbWUpOiBTaG91bGQgdXNlIGdldEF0dHJpYnV0ZSBiZWNhdXNlIHRoZSBBUEkgc2F5cwoJdGhhdCB0aGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gbnVsbC4KCShSdW5FbGVtZW50KTogTmV3IGNsYXNzIGltcGxlbWVudGVkLgoJKFJ1bkVsZW1lbnQuZ2V0TmFtZSk6IEltcGxlbWVudGVkLgoJKFJ1bkVsZW1lbnQuZ2V0UmVzb2x2aW5nUGFyZW50KTogSW1wbGVtZW50ZWQuCgoyMDA1LTEyLTEzICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhCgkoZ2V0SFRNTERvY3VtZW50KTogRml4ZWQgaW1wbGVtZW50YXRpb24gdG8gY2F0Y2ggZXhjZXB0aW9uLgoJKGdldEhUTUxFZGl0b3JLaXQpOiBMaWtld2lzZS4KCShnZXRFbGVtZW50c0F0KTogRml4ZWQgdG8gdXNlIHJlY3Vyc2lvbi4gTm93IGFsbCBlbGVtZW50cwoJYW5kIGFsbCB0aGVpciBjaGlsZHJlbiBhcmUgYWRkZWQgdG8gdGhlIGFycmF5LCBvbmx5IHVzaW5nCgl0aGUgZGVmYXVsdCByb290IGVsZW1lbnQuCgkoZ2V0RWxlbWVudHNBdCk6IE5ldyBwcml2YXRlIGhlbHBlciBmdW5jdGlvbi4gVXNlcyByZWN1cnNpb24uCgkoZWxlbWVudENvdW50VG9UYWcpOiBJbXBsZW1lbnRlZC4KCShmaW5kRWxlbWVudE1hdGNoaW5nVGFnKTogSW1wbGVtZW50ZWQuCgkocGFyc2VyQ2FsbGJhY2spOiBSZW1vdmVkIFRPRE8gY29tbWVudC4gTm90aGluZyBzaG91bGQgYmUgZG9uZSBoZXJlLgoJQWxsIHdvcmsgZm9yIHBhcnNlciwgaXMgZG9uZSBpbiBqYXZheC9zd2luZy90ZXh0L2h0bWwvUGFyc2VyLmphdmEKCWFuZCBIVE1MRG9jdW1lbnQuCgkoZmx1c2gpOiBMaWtld2lzZS4KCShoYW5kbGVDb21tZW50KTogTGlrZXdpc2UuCgkoaGFuZGxlRW5kT2ZMaW5lU3RyaW5nKTogTGlrZXdpc2UuCgkoaGFuZGxlRW5kVGFnKTogTGlrZXdpc2UuCgkoaGFuZGxlRXJyb3IpOiBMaWtld2lzZS4KCShoYW5kbGVTaW1wbGVUYWcpOiBMaWtld2lzZS4KCShoYW5kbGVTdGFydFRhZyk6IExpa2V3aXNlLgoJKGhhbmRsZVRleHQpOiBMaWtld2lzZS4KCShIVE1MRWRpdG9yS2l0KTogSW1wbGVtZW50ZWQgYW5kIGFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKGdldFBhcnNlcik6IEZpeGVkIGltcGxlbWVudGF0aW9uIHRvIHVzZSBhIGZpZWxkIHRvIHN0b3JlIHRoZSBwYXJzZXIuCgkoaW5zZXJ0SFRNTCk6IEltcGxlbWVudGVkLgoJKHJlYWQpOiBJbXBsZW1lbnRlZC4KCSh3cml0ZSk6IFBhcnRpYWxseSBpbXBsZW1lbnRlZC4KCShpbnN0YWxsKTogQWRkZWQgY29kZSB0byBhZGQgdGhlIG1vdXNlIGxpc3RlbmVyLgoJKGRlaW5zdGFsbCk6IEFkZGVkIGNvZGUgdG8gcmVtb3ZlIHRoZSBtb3VzZSBsaXN0ZW5lci4KCShnZXRBY3Rpb25zKTogTW9kaWZpZWQgRklYTUUgY29tbWVudC4KCShnZXRJbnB1dEF0dHJpYnV0ZXMpOiBMaWtld2lzZS4KCjIwMDUtMTItMTMgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTERvY3VtZW50LmphdmE6CgkodG9rZW5UaHJlc2hvbGQpOiBOZXcgZmllbGQuCgkocGFyc2VyKTogTmV3IGZpZWxkLgoJKGdldFBhcnNlcik6IE5ldyBBUEkgbWV0aG9kLgoJKHNldFBhcnNlcik6IE5ldyBBUEkgbWV0aG9kLgoJKGdldFRva2VuVGhyZXNob2xkKTogTmV3IEFQSSBtZXRob2QuCgkoc2V0VG9rZW5UaHJlc2hvbGQpOiBOZXcgQVBJIG1ldGhvZC4KCShnZXRSZWFkZXIoaW50LCBpbnQsIGludCwgSFRNTC5UYWcpKTogTmV3IEFQSSBtZXRob2QsIG5vdCBpbXBsZW1lbnRlZC4KCShIVE1MUmVhZGVyKTogTmV3IEFQSSBjbGFzcywgcGFydGlhbGx5IGltcGxlbWVudGVkLgoJKEhUTUxSZWFkZXIuQmxvY2tBY3Rpb24pOiBOZXcgQVBJIGNsYXNzLCBub3QgaW1wbGVtZW50ZWQuCgkoSFRNTFJlYWRlci5DaGFyYWN0ZXJBY3Rpb24pOiBMaWtld2lzZS4KCShIVE1MUmVhZGVyLkZvcm1BY3Rpb24pOiBMaWtld2lzZS4KCShIVE1MUmVhZGVyLkhpZGRlbkFjdGlvbik6IExpa2V3aXNlLgoJKEhUTUxSZWFkZXIuSXNpbmRleEFjdGlvbik6IExpa2V3aXNlLgoJKEhUTUxSZWFkZXIuUGFyYWdyYXBoQWN0aW9uKTogTGlrZXdpc2UuCgkoSFRNTFJlYWRlci5QcmVBY3Rpb24pOiBMaWtld2lzZS4KCShIVE1MUmVhZGVyLlNwZWNpYWxBY3Rpb24pOiBMaWtld2lzZS4KCShIVE1MUmVhZGVyLlRhZ0FjdGlvbik6IE5ldyBBUEkgY2xhc3MsIGltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhOgoJKGNyZWF0ZURlZmF1bHREb2N1bWVudCk6IFNldCB0aGUgcGFyc2VyIGZvciB0aGUgbmV3IEhUTUxEb2N1bWVudC4KCQoyMDA1LTEyLTEzICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBkb2MvaGFja2luZy50ZXhpbmZvOiBBZGQgQGJ1bGxldCB0byBhbGwgQGl0ZW1pemUgbGlzdHMuCgoyMDA1LTEyLTEzICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBkb2MvaGFja2luZy50ZXhpbmZvIChCcmFuY2hlcyk6IEV4cGxhaW4gImJyb2tlbiIgYnJhbmNoZXMgYSBiaXQKCW1vcmUuCgoyMDA1LTEyLTEyICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJRml4ZXMgYnVnICMyNTM1MwoJKiBtNC9hY2luY2x1ZGUubTQ6IEFkZGVkIEpJS0VTV0FSTklOR1MgbWFrZWZpbGUgdmFyaWFibGUuIAoJT25seSBhZGQgK1Buby1zaGFkb3cgdG8gSklLRVNXQVJOSU5HUyBpZiBub3QgdXNpbmcgamlrZXMgMS4xOS4KCSogbGliL01ha2VmaWxlLmFtOiBVc2UgSklLRVNXQVJOSU5HUyBpbnN0ZWFkIG9mIGV4cGxpY2l0ZWx5CglsaXN0aW5nIHRoZSB3YXJuaW5ncy4KCjIwMDUtMTItMTIgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvc3RyZWFtL1NBWFBhcnNlci5qYXZhLAoJICBnbnUveG1sL3N0cmVhbS9TQVhQYXJzZXJGYWN0b3J5LmphdmEsCgkgIGdudS94bWwvc3RyZWFtL1hNTFBhcnNlci5qYXZhOiBTQVggcGFyc2VyIHVzaW5nIFN0QVggaW1wbGVtZW50YXRpb24uCgoyMDA1LTEyLTEyICBHYXJ5IEJlbnNvbiAgPGdiZW5zb25AcmVkaGF0LmNvbT4KCgkqIGphdmEvc2VjdXJpdHkvU2VjdXJpdHkuamF2YSAoc2V0UHJvcGVydHkpOiBTcGVsbGluZyBjb3JyZWN0aW9uLgoJKiBqYXZhL3NlY3VyaXR5L1NlY3VyaXR5LmphdmEgKHNldFByb3BlcnR5KTogQWxsb3cgbnVsbCB2YWx1ZXMuCgoyMDA1LTEyLTEyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvVmlld3BvcnRMYXlvdXQuamF2YQoJKGxheW91dENvbnRhaW5lcik6IEFsd2F5cyBjaGVjayBhbmQgYWRqdXN0IHRoZSBzaXplLCBub3Qgb25seSB3aGVuCglwb3J0U2l6ZSA+PSB2aWV3Lm1pblNpemUuCgoyMDA1LTEyLTEyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IERvbid0IGNoZWNrIGZvciB0aGUgbWluaW11bVNpemUuIEFjY29yZGluZyB0bwoJYSBtYXV2ZSB0ZXN0LCB0aGlzIGlzIG5vdCBuZWNlc3NhcnkuCgoyMDA1LTEyLTEyICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL3N0cmVhbS9YTUxJbnB1dEZhY3RvcnlJbXBsLmphdmEsCgkgIGdudS94bWwvc3RyZWFtL0NSTEZSZWFkZXIuamF2YSwKCSAgZ251L3htbC9zdHJlYW0vWE1MSW5wdXRTdHJlYW1SZWFkZXIuamF2YSwKCSAgZ251L3htbC9zdHJlYW0vWE1MUGFyc2VyLmphdmE6IE5ldyBTdEFYIHBhcnNlci4KCjIwMDUtMTItMTEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy9oYWNraW5nLnRleGluZm86IEFkZCBzZWN0aW9uIG9uIGJyYW5jaGVzLgoKMjAwNS0xMi0xMSAgR3VpbGhlbSBMYXZhdXggIDxndWlsaGVtQGthZmZlLm9yZz4KCgkqIGxpYi9jb3B5LXZtcmVzb3VyY2VzLnNoLmluOiBBZGRlZCBzb21lICcuJyBhZnRlciBmaW5kLiAKCQoyMDA1LTEyLTA5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvQ1NTLmphdmE6CglGaXhlZCBjbGFzcyBzaWduYXR1cmUuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRWRpdG9yS2l0LmphdmE6CglGaXhlZCBjbGFzcyBzaWduYXR1cmUuCgkoTGlua0NvbnRyb2xsZXIpOiBOZXcgY2xhc3MgYWRkZWQgd2l0aCBvbmx5IHN0dWJzLiBGdW5jdGlvbnMKCWFyZSBub3QgaW1wbG1lbnRlZCB5ZXQuCgkoSW5zZXJ0SFRNTFRleHRBY3Rpb24pOiBOZXcgY2xhc3MuIENvbnN0cnVjdG9ycyBpbXBsZW1lbnRlZC4KCShpbnNlcnRIVE1MKTogSW1wbGVtZW50ZWQuCgkoaW5zZXJ0QXRCb3VuZGFyeSk6IEFkZGVkLCBub3QgeWV0IGltcGxlbWVudGVkLgoJKGluc2VydEF0Qm91bmRyeSk6IEltcGxlbWVudGVkLgoJKGFjdGlvblBlcmZvcm1lZCk6IEFkZGVkLCBub3QgeWV0IGltcGxlbWVudGVkLgoJKEhUTUxUZXh0QWN0aW9uKTogTmV3IGNsYXNzLgoJKGdldEhUTUxEb2N1bWVudCk6IEltcGxlbWVudGVkLgoJKGdldEhUTUxFZGl0b3JLaXQpOiBJbXBsZW1lbnRlZC4KCShnZXRFbGVtZW50c0F0KTogSW1wbGVtZW50ZWQuCgkoZWxlbWVudENvdW50VG9UYWcpOiBBZGRlZCwgbm90IHlldCBpbXBsZW1lbnRlZC4KCShmaW5kRWxlbWVudE1hdGNoaW5nVGFnKTogTGlrZXdpc2UuCgkoZ2V0Vmlld0ZhY3RvcnkpOiBJbXBsZW1lbnRlZC4KCShIVE1MRmFjdG9yeSk6IE1vdmVkIHRvIGJlZ2lubmluZyBvZiBjbGFzcywgd2l0aCBvdGhlciBpbm5lciBjbGFzc2VzLgoJKFBhcnNlckNhbGxCYWNrKTogQWRkZWQgY29uc3RydWN0b3IsIG5vdCB5ZXQgaW1wbGVtZW50ZWQuCgkoY2xvbmUpOiBBZGRlZCwgbm90IHlldCBpbXBsZW1lbnRlZC4gQ2FsbHMgc3VwZXIuCgkoY3JlYXRlSW5wdXRBdHRyaWJ1dGVzKTogTGlrZXdpc2UuCgkoaW5zdGFsbCk6IExpa2V3aXNlLgoJKGRlaW5zdGFsbCk6IExpa2V3aXNlLgoJKGdldEFjdGlvbnMpOiBMaWtld2lzZS4KCShnZXRJbnB1dEF0dHJpYnV0ZXMpOiBMaWtld2lzZS4KCShnZXREZWZhdWx0Q3Vyc29yKTogSW1wbGVtZW50ZWQuCgkoZ2V0TGlua0N1cnNvcik6IEltcGxlbWVudGVkLgoJKFNldExpbmtDdXJzb3IpOiBJbXBsZW1lbnRlZC4KCShzZXREZWZhdWx0TGlua0N1cnNvcik6IEltcGxlbWVudGVkLgoJKEFjY2Vzc2libGVDb250ZXh0KTogQ2FuJ3QgaW1wbGVtZW50IHVudGlsIEFjY2Vzc2libGVIVE1MIGlzCglpbXBsZW1lbnRlZC4gQ3VycmVudGx5LCByZXR1cm5zIG51bGwgYmVjYXVzZSBhY2Nlc3NpYmlsaXR5IGlzIG5vdCBzdXBwb3J0ZWQuCgoyMDA1LTEyLTA5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkVkaXRvclBhbmUuamF2YToKCShzZXRUZXh0KTogQWxsb3cgdGhlIEVkaXRvcktpdCB0byByZWFkIHRoZSB0ZXh0IGludG8gdGhlIERvY3VtZW50LAoJYWxsb3dpbmcgZm9yIG90aGVyIHRoYW4gcGxhaW4gdGV4dC4KCjIwMDUtMTItMDkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YQoJKGdldFJlYWRlcik6IEFkZGVkIGZ1bmN0aW9uLiBOb3QgaW1wbGVtZW50ZWQuIEl0IHdhcwoJYWRkZWQgc28gYSBjZXJ0YWluIG1hdXZlIHRlc3QgY29tbWl0dGVkIGNvbXBpbGVzIHdpdGgKCWNsYXNzcGF0aCBmaW5lLgoKMjAwNS0xMi0wOSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxFZGl0b3JLaXQuamF2YQoJKGdldFZpZXdGYWN0b3J5KTogRml4ZWQgY2xhc3MgbmFtZSBvZiBWaWV3RmFjdG9yeSByZXR1cm5lZC4KCShIVE1MRmFjdG9yeSk6IEZpeGVkIGNsYXNzIG5hbWUgdG8gbWF0Y2ggQVBJLgoKMjAwNS0xMi0wOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxFZGl0b3JLaXQuamF2YQoJKGluc2VydEhUTUwpOiBBZGRlZCBtZXRob2QsIG5vdCBpbXBsZW1lbnRlZCB5ZXQuCgkocmVhZCk6IExpa2V3aXNlLgoJKHdyaXRlKTogTGlrZXdpc2UuCgkoZ2V0Q29udGVudFR5cGUpOiBJbXBsZW1lbnRlZC4KCShnZXRWaWV3RmFjdG9yeSk6IEltcGxlbWVudGVkLgoJKEhUTUxWaWV3RmFjdG9yeSk6IE5ldyBwYWNrYWdlLXByaXZhdGUgaW5uZXIgY2xhc3MsIGltcGxlbWVudGVkLgoKMjAwNS0xMi0wOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9TdHlsZWRFZGl0b3JLaXQuamF2YQoJKGNyZWF0ZSk6IFJldmVydGVkIHRvIHVzZSBCb3hWaWV3LiBJIG5lZWQgdG8gd3JpdGUKCWEgbWF1dmUgdGVzdCB0byBiZSBzdXJlIGFib3V0IHRoaXMuCgoyMDA1LTEyLTA4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlZEVkaXRvcktpdC5qYXZhCgkoY3JlYXRlKTogQ2hhbmdlZCB0byB1c2UgQmxvY2tWaWV3IGhlcmUgaW5zdGVhZCBvZiBCb3hWaWV3LgoKMjAwNS0xMi0wOCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pFZGl0b3JQYW5lLmphdmE6CgkoaW5pdCk6IENoYW5nZWQgdG8gbm8tYXJndW1lbnQgaW5zdGVhZCBvZiB0YWtpbmcgaW4gYW4gRWRpdG9yS2l0IGFuZAoJcGFzc2luZyBpdCB0byBzZXRFZGl0b3JLaXQuICBDYWxsZXJzIHdpbGwgaGF2ZSB0byBjYWxsIHNldEVkaXRvcktpdAoJdGhlbXNlbHZlcy4KCShKRWRpdG9yUGFuZSgpKTogQ2hhbmdlZCBjYWxsIHRvIGluaXQgdG8gaGF2ZSBubyBhcmd1bWVudHMsIGNhbGwKCXNldEVkaXRvcktpdCBhZnRlciBpbml0LgoJKEpFZGl0b3JQYW5lKFN0cmluZywgU3RyaW5nKSk6IExpa2V3aXNlLgoJKEpFZGl0b3JQYW5lKFVSTCkpOiBEb24ndCBjYWxsIGRlZmF1bHQgY29uc3RydWN0b3IsIGNhbGwgaW5pdCBhbmQgdGhlbgoJc2V0RWRpdG9yS2l0IHVzaW5nIHRoZSBhcHByb3ByaWF0ZSBFZGl0b3JLaXQgZm9yIHRleHQvaHRtbC4KCjIwMDUtMTItMDggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhOgoJKHJlZ2lzdGVyTWFwKTogTmV3IGZpZWxkLgoJKGVkaXRvck1hcCk6IE5ldyBmaWVsZC4KCShKRWRpdG9yUGFuZSgpKTogQ2FsbCBpbml0IGluc3RlYWQgb2Ygc2V0RWRpdG9yS2l0LgoJKEpFZGl0b3JQYW5lKFN0cmluZywgU3RyaW5nKSk6IExpa2V3aXNlLgoJKGluaXQpOiBOZXcgbWV0aG9kLgoJKGNyZWF0ZUVkaXRvcktpdEZvckNvbnRlbnRUeXBlKTogSW1wbGVtZW50ZWQgYW5kIGRvY3VtZW50ZWQuCgkoZ2V0RWRpdG9yS2l0Q2xhc3NOYW1lRm9yQ29udGVudFR5cGUpOiBMaWtld2lzZS4KCShnZXRFZGl0b3JLaXRGb3JDb250ZW50VHlwZSk6IExpa2V3aXNlLgoJKHJlZ2lzdGVyRWRpdG9yS2l0Rm9yQ29udGVudFR5cGUpOiBMaWtld2lzZS4KCShyZXBsYWNlU2VsZWN0aW9uKTogQ2FsbCBzdXBlciAodGhpcyBpcyB0ZW1wb3JhcnkgdW50aWwgdGhlIHJlYWwKCWltcGxlbWVudGF0aW9uIGhhcHBlbnMuICBUaGVyZSBpcyBhbHJlYWR5IGEgVE9ETyBub3RpbmcgdGhhdCB0aGlzIG5lZWRzCgl0byBiZSBpbXBsZW1lbnRlZC4KCShzZXRFZGl0b3JLaXRGb3JDb250ZW50VHlwZSk6IEltcGxlbWVudGVkIGFuZCBkb2N1bWVudGVkLgoKMjAwNS0xMi0wOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0Jsb2NrVmlldy5qYXZhOgoJTmV3IGNsYXNzIGFkZGVkLgoJKEJsb2NrVmlldyk6IEltcGxlbWVudGVkLgoJKHNldFBhcmVudCk6IEltcGxlbWVudGVkLgoJKGNhbGN1bGF0ZU1ham9yQXhpc1JlcXVpcmVtZW50cyk6IEFkZGVkLCBub3QgZnVsbHkgaW1wbGVtZW50ZWQuCgkoY2FsY3VsYXRlTWlub3JBeGlzUmVxdWlyZW1lbnRzKTogTGlrZXdpc2UuCgkobGF5b3V0TWlub3JBeGlzKTogTGlrZXdpc2UuCgkocGFpbnQpOiBJbXBsZW1lbnRlZCwgYnV0IHNvbWUgY29kZSBpcyBjb21tZW50ZWQgb3V0IHNpbmNlCglTdHlsZVNoZWV0IGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQuCgkoZ2V0QXR0cmlidXRlcyk6IExpa2V3aXNlLgoJKGdldFJlc2l6ZVdlaWdodCk6IEltcGxlbWVudGVkLgoJKGdldEFsaWdubWVudCk6IEltcGxlbWVudGVkLgoJKGNoYW5nZWRVcGRhdGUpOiBJbXBsZW1lbnRlZC4KCShnZXRQcmVmZXJyZWRTcGFuKTogSW1wbGVtZW50ZWQuCgkoZ2V0TWluaW11bVNwYW4pOiBJbXBsZW1lbnRlZC4KCShnZXRNYXhpbXVtU3Bhbik6IEltcGxlbWVudGVkLgoJKHNldFByb3BlcnRpZXNGcm9tQXR0cmlidXRlcyk6IEFkZGVkLCBub3QgaW1wbGVtZW50ZWQgeWV0LiBOZWVkCgl0byB3YWl0IGZvciBTdHlsZVNoZWV0IHRvIGJlIGltcGxlbWVudGVkLgoKMjAwNS0xMi0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9sb2dpbi9Mb2dpbkNvbnRleHQuamF2YSAoTG9naW5Db250ZXh0KTogTmV3Cgljb25zdHJ1Y3Rvci4KCSogamF2YXgvc2VjdXJpdHkvYXV0aC9sb2dpbi9DcmVkZW50aWFsTm90Rm91bmRFeGNlcHRpb24uamF2YTogTmV3CglmaWxlLgoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2xvZ2luL0NyZWRlbnRpYWxFeHBpcmVkRXhjZXB0aW9uLmphdmE6IEV4dGVuZHMKCUNyZWRlbnRpYWxFeGNlcHRpb24uCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvbG9naW4vQ3JlZGVudGlhbEV4Y2VwdGlvbi5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc2VjdXJpdHkvYXV0aC9sb2dpbi9BY2NvdW50Tm90Rm91bmRFeGNlcHRpb24uamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvbG9naW4vQWNjb3VudExvY2tlZEV4Y2VwdGlvbi5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc2VjdXJpdHkvYXV0aC9sb2dpbi9BY2NvdW50RXhwaXJlZEV4Y2VwdGlvbi5qYXZhOiBFeHRlbmRzCglBY2NvdW50RXhjZXB0aW9uLgoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2xvZ2luL0FjY291bnRFeGNlcHRpb24uamF2YTogTmV3IGZpbGUuCgoyMDA1LTEyLTA4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoSkNvbXBvbmVudCk6IERvbid0IHNldCBhIGxheW91dCBoZXJlLiBUaGUgZGVmYXVsdCBzZXR0aW5nIHNob3VsZCBiZQoJbnVsbC4KCjIwMDUtMTItMDcgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9GbG9hdC5qYXZhICh0b0hleFN0cmluZyk6IE5ldyBtZXRob2QuCgkqIGphdmEvbGFuZy9Eb3VibGUuamF2YSAodG9IZXhTdHJpbmcpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMi0wNyAgR2FyeSBCZW5zb24gIDxnYmVuc29uQHJlZGhhdC5jb20+CgoJKiBqYXZhL2lvL1JhbmRvbUFjY2Vzc0ZpbGUuamF2YSAoUmFuZG9tQWNjZXNzRmlsZSk6IERvbid0IGNyZWF0ZQoJRGF0YU91dHB1dFN0cmVhbSBmb3IgcmVhZC1vbmx5IGZpbGVzIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHNlY3VyaXR5CgltYW5hZ2VyIGNoZWNrLgoKMjAwNS0xMi0wNyAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJRml4ZXMgYnVnICMyNTI3MwoJKiBqYXZhL3RleHQvRGVjaW1hbEZvcm1hdC5qYXZhKHNjYW5Gb3JtYXQpOiBEb24ndCBzZXQKCW1pbmltdW1JbnRlZ2VyRGlnaXRzIHRvIDAuIAoKMjAwNS0xMi0wNiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4gCgoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YToKCShtYXhpbXVtTGF5b3V0U2l6ZSk6IEFkZCBJbnNldHMgdG8gRGltZW5zaW9uIGFuZCB0aGVuIGNoZWNrIGZvciAKCW92ZXJmbG93LgoKMjAwNS0xMi0wNiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvR3JpZEJhZ0xheW91dC5qYXZhIChBcnJhbmdlR3JpZCk6IFVzZSBpbmZvIHJhdGhlciB0aGFuCglsYXlvdXRJbmZvIGluIHRoZSBjb21wb25lbnQgZm9yIGxvb3AuICBDYWNoZSBsYXlvdXQgaW5mb3JtYXRpb24KCWFmdGVyIHJlc2l6aW5nIGNvbXBvbmVudHMuCgoyMDA1LTEyLTA2ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCUZpeGVzIGJ1ZyAjMjUyMzMKCSogamF2YXgvc3dpbmcvQm94TGF5b3V0LmphdmE6CgkobWF4aW11bUxheW91dFNpemUpOiBEb24ndCBhZGQgdGhlIEluc2V0cyB0byB0aGUgRGltZW5zaW9uIGNhbGN1bGF0ZWQgCglpbiBjaGVja1RvdGFsUmVxdWlyZW1lbnRzKCkuCgoyMDA1LTEyLTA2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCVBSIGNsYXNzcGF0aC8yNTI1NgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YQoJKExpZ2h0d2VpZ2h0RGlzcGF0Y2hlci5hY3F1aXJlQ29tcG9uZW50Rm9yTW91c2VFdmVudCk6IEZpeGVkCgl0aGUgTU9VU0VfUkVMRUFTRUQgZmxhZyBhbmQgfHwgY29uZGl0aW9uYWwuCgoyMDA1LTEyLTA2ICBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCgkqIGphdmEvbGFuZy9TdHJpbmcuamF2YSAoU3RyaW5nKTogQmV0dGVyIG91dC1vZi1ib3VuZHMgYW5kIAoJb3ZlcmZsb3cgY2hlY2tzLgoKMjAwNS0xMi0wNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvTG9va0FuZEZlZWwuamF2YSAodG9TdHJpbmcpOiBJbmNsdWRlIGRlc2NyaXB0aW9uIGFuZAoJQ2xhc3MgbmFtZS4KCjIwMDUtMTItMDYgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Cb3JkZXJMYXlvdXQuamF2YToKCShtYXhpbXVtTGF5b3V0U2l6ZSk6IERvbid0IGNhbGN1bGF0ZSBhbnl0aGluZywganVzdCByZXR1cm4gYSBuZXcgCglEaW1lbnNpb24gd2l0aCBJbnRlZ2VyLk1BWF9WQUxVRSBmb3IgYm90aCBkaW1lbnNpb25zLgoKMjAwNS0xMi0wNiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHVwZGF0ZVVJKTogUmVtb3ZlZCB1bm5lZWRlZCB3YXJuaW5nLgoKMjAwNS0xMi0wNiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCglQUiBjbGFzc3BhdGgvMjUyNTYKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShMaWdodHdlaWdodERpc3BhdGNoZXIuYWNxdWlyZUNvbXBvbmVudEZvck1vdXNlRXZlbnQpOiBXaGVuIHdlCglyZWNlaXZlIGEgTU9VU0VfUkVMRUFTRUQgdGhlbiBkaXNwYXRjaCBpdCB0byB0aGUgc2FtZSBjb21wb25lbnQKCXRoYXQgcmVjZWl2ZWQgdGhlIG9yaWdpbmFsIE1PVVNFX1BSRVNTRUQuIFRoaXMgaXMgbmVlZGVkIGZvcgoJY29ycmVjdCBkcmFnZ2luZyBiZWhhdmlvdXIuCgoyMDA1LTEyLTA2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvVmlld3BvcnRMYXlvdXQuamF2YQoJKGxheW91dENvbnRhaW5lcik6IERvbid0IHNldCB0aGUgdmlldyB0byBpdCdzIG1pbmltdW1TaXplIHdoZW4gdGhlCglwb3J0IGlzIGxhcmdlciB0aGFuIHRoZSB2aWV3LiBSYXRoZXIgaXQgc2hvdWxkIGxlZnQgYXQgaXQncwoJcHJlZmVycmVkIHNpemUuIEFsc28sIEkgYWRkZWQgYSBjb21tZW50IGV4cGxhaW5pbmcgYSBwb3NzaWJsZSBidWcKCWluIHRoaXMgbWV0aG9kLgoKMjAwNS0xMi0wNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCUZpeGVzIGJ1ZyBjbGFzc3BhdGgvMjUyNTcKCSogbGliL01ha2VmaWxlLmFtIChGT1VORF9FQ0opOiBSZW1vdmUgLXdhcm4gdHlwZUhpZGluZywgdW5jaGVja2VkIGFuZAoJdmFyYXJnc0Nhc3QgZmxhZ3MgZm9yIG5vbi1nZW5lcmljIGNvZGUuCgoyMDA1LTEyLTA0ICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS9uZXQvVVJMLmphdmEgKFVSTCk6IENoZWNrIHdoZXRoZXIgY29udGV4dCBpcyBudWxsIGJlZm9yZQoJYWNjZXNzaW5nIHBoLgoKMjAwNS0xMi0wNCAgTmljb2xhcyBHZW9mZnJheSAgPG5pY29sYXMuZ2VvZmZyYXlAbWVubGluYS5jb20+CgoJKiBkb2Mvdm1pbnRlZ3JhdGlvbi50ZXhpbmZvOiBBZGRlZCBzdWJzZWN0aW9uIGluIHRoZSBjbGFzc3BhdGgKCWhvb2tzIGZvciB0aGUgamF2YS5sYW5nLlZNSW5zdHJ1bWVudGF0aW9uSW1wbCBjbGFzcy4KCjIwMDUtMTItMDQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL1RyYW5zZmVySGFuZGxlcgoJKFRyYW5zZmVyQWN0aW9uLmFjdGlvblBlcmZvcm1lZCk6IEJlZXAgYW5kIHJldHVybiB3aGVuIGNsaXBib2FyZAoJaXMgbnVsbC4KCShnZXRDbGlwYm9hcmQpOiBSZXR1cm4gbnVsbCB3aGVuIGFjY2VzcyBkZW5pZWQuCgkoY2xpcGJvYXJkKTogUmVtb3ZlZCBzdGF0aWMgZmllbGQuCgoyMDA1LTEyLTAzICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBjb25maWd1cmUuYWMgKEFDX0NPTkZJR19GSUxFUyk6IFJlbW92ZWQKCW5hdGl2ZS9qbmkvc2FtcGxlZC1qYWNrL01ha2VmaWxlLgoJKEFDX0FSR19FTkFCTEUgW2phY2tdKTogUmVtb3ZlZC4KCjIwMDUtMTItMDIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0ludGVybmF0aW9uYWxGb3JtYXR0ZXIuamF2YToKCSh2YWx1ZVRvU3RyaW5nKTogSWYgYXJndW1lbnQgaXMgbnVsbCByZXR1cm4gZW1wdHkgU3RyaW5nLgoKMjAwNS0xMi0wMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pGb3JtYXR0ZWRUZXh0RmllbGQuamF2YTogQWRkZWQgZG9jcyBhbGwgb3Zlci4KCShBYnN0cmFjdEZvcm1hdHRlci5jbG9uZSk6IEltcGxlbWVudGVkLgoJKEFic3RyYWN0Rm9ybWF0dGVyLmdldEFjdGlvbnMpOiBJbXBsZW1lbnRlZC4KCShBYnN0cmFjdEZvcm1hdHRlci5nZXREb2N1bWVudEZpbHRlcik6IEltcGxlbWVudGVkLgoJKEFic3RyYWN0Rm9ybWF0dGVyLmdldE5hdmlnYXRpb25GaWx0ZXIpOiBJbXBsZW1lbnRlZC4KCShBYnN0cmFjdEZvcm1hdHRlci5pbnN0YWxsKTogSW5zdGFsbCB0aGUgRG9jdW1lbnRGaWx0ZXIgYW5kIAoJTmF2aWdhdGlvbkZpbHRlci4gIFByb3Blcmx5IGNhdGNoIFBhcnNlRXhjZXB0aW9uLiAgQWRkZWQgRklYTUUgdG8gYWRkCgljdXN0b20gQWN0aW9ucyB0byB0aGUgSkZvcm1hdHRlZFRleHRGaWVsZC4KCShBYnN0cmFjdEZvcm1hdHRlci51bmluc3RhbGwpOiBSZW1vdmUgdGhlIERvY3VtZW50RmlsdGVyIGFuZCAKCU5hdmlnYXRpb25GaWx0ZXIuICBBZGRlZCBGSVhNRSB0byByZW1vdmUgdGhlIGN1c3RvbSBBY3Rpb25zLgoJKEpGb3JtYXR0ZWRUZXh0RmllbGQoQWJzdHJhY3RGb3JtYXR0ZXIpKTogQ2FsbCB0aGUgc2luZ2xlIGFyZ3VtZW50Cgljb25zdHJ1Y3RvciB0aGF0IHRha2VzIGluIGFuIEFic3RyYWN0Rm9ybWF0dGVyRmFjdG9yeS4gIFRoaXMgYXZvaWRzIGEgCgljYWxsIHRvIHNldFZhbHVlIHRoYXQgc2hvdWxkbid0IG9jY3VyLgoJKEpGb3JtYXR0ZWRUZXh0RmllbGQoQWJzdHJhY3RGb3JtYXR0ZXJGYWN0b3J5KTogQ2FsbCAKCXNldEZvcm1hdHRlckZhY3RvcnkgaW5zdGVhZCBvZiBjYWxsaW5nIHRoZSAyLWFyZ3VtZW50IGNvbnN0cnVjdG9yIHdoaWNoCgl3b3VsZCBhbHNvIG1ha2UgYW4gdW53YW50ZWQgY2FsbCB0byBzZXRWYWx1ZS4KCShKRm9ybWF0dGVkVGV4dEZpZWxkKEFic3RyYWN0Rm9ybWF0dGVyRmFjdG9yeSwgT2JqZWN0KSk6IFN3aXRjaCB0aGUgCglvcmRlciBvZiB0aGUgY2FsbHMgdG8gc2V0VmFsdWUgYW5kIHNldEZvcm1hdHRlckZhY3RvcnkuICBUaGlzIGVuc3VyZXMKCXRoYXQgdGhlIHBhc3NlZCBpbiBmYWN0b3J5IGlzIGFjdHVhbGx5IHRoZSBvbmUgdXNlZCwgbm90IG9uZSBnZW5lcmF0ZWQKCWJ5IHNldFZhbHVlLgoJKGNvbW1pdEVkaXQpOiBJbXBsZW1lbnRlZC4KCShzZXRGb3JtYXR0ZXIpOiBSZW1vdmVkIGluY29ycmVjdCBlYXJseSBlc2NhcGUgaWYgdGhlIHBhcmFtZXRlciBpcyB0aGUgCglzYW1lIGFzIHRoZSBjdXJyZW50IGZvcm1hdHRlci4gIAoJKHNldEZvcm1hdHRlckZhY3RvcnkpOiBJZiBmb3JtYXR0ZXJGYWN0b3J5IGlzIG51bGwgc2V0IHRoZSBmb3JtYXR0ZXIgdG8KCW51bGwgYXMJd2VsbC4KCShzZXRWYWx1ZSk6IERvbid0IHNldCB0aGUgdGV4dCBoZXJlLCB0aGlzIGlzIGRvbmUgd2hlbiB3ZSBjYWxsIAoJc2V0Rm9ybWF0dGVyIGFuZCBpdCBjYWxscyBBYnN0cmFjdEZvcm1hdHRlci5pbnN0YWxsLiAgQ3JlYXRlIGEgCglmb3JtYXR0ZXIgZmFjdG9yeSBpZiBvbmUgZG9lc24ndCBleGlzdCBhbHJlYWR5LiBDYWxsIHNldEZvcm1hdHRlciB0bwoJZ2V0IGFuIGFwcHJvcHJpYXRlIGZvcm1hdHRlciBmcm9tIHRoZSBmYWN0b3J5LgoJKGNyZWF0ZUZvcm1hdHRlcik6IENoYW5nZWQgdGhpcyB0byBjcmVhdGVGb3JtYXR0ZXJGYWN0b3J5IGJlY2F1c2Ugd2UKCXNob3VsZCByZXR1cm4gYSBmYWN0b3J5LCBub3QganVzdCBhIGZvcm1hdHRlci4KCShjcmVhdGVGb3JtYXR0ZXJGYWN0b3J5KTogTmV3IG1ldGhvZCBhZGFwdGVkIGZyb20gY3JlYXRlRm9ybWF0dGVyLgoKMjAwNS0xMi0wMSAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgogICAgICAgIFBSIGJvb3RzdHJhcC8yNTIwNwoJKiBjb25maWd1cmUuYWM6IE1ha2Ugc3VyZSB3ZSBoYXZlIGFuIGFsc2EgbGlicmFyeSBpbiBhZGRpdGlvbiB0bwogICAgICAgIHRoZSBoZWFkZXJzLiAgVGhpcyBleHRyYSB0ZXN0IGlzIHJlcXVpcmVkIGZvciBzeXN0ZW1zIHdpdGgKICAgICAgICBtdWx0aWxpYnMuCgoyMDA1LTExLTMwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkZvcm1hdHRlZFRleHRGaWVsZC5qYXZhOgoJKEFic3RyYWN0Rm9ybWF0dGVyLmluc3RhbGwpOiBUcnkgdG8gc2V0IHRoZSB0ZXh0IG9mIHRoZSBmb3JtYXR0ZWQgdGV4dAoJZmllbGQgdXNpbmcgdGhpcyBmb3JtYXR0ZXIuCgkoRm9ybWF0dGVyRmFjdG9yeVdyYXBwZXIpOiBSZW1vdmVkIHRoaXMgdW5uZWVkZWQgY2xhc3MsIHRoaXMgaXMgaGFuZGxlZAoJYnkgRGVmYXVsdEZvcm1hdHRlckZhY3Rvcnkgbm93LgoJKGZvcm1hdHRlcik6IE5ldyBmaWVsZC4KCShKRm9ybWF0dGVkVGV4dEZpZWxkKEZvcm1hdCkpOiBJbXBsZW1lbnRlZC4KCShKRm9ybWF0dGVkVGV4dEZpZWxkKEFic3RyYWN0Rm9ybWF0dGVyKSk6IEluc3RhbnRpYXRlIGEgCglEZWZhdWx0Rm9ybWF0dGVyRmFjdG9yeSBpbnN0ZWFkIG9mIGEgRm9ybWF0dGVyRmFjdG9yeVdyYXBwZXIuCgkoSkZvcm1hdHRlZFRleHRGaWVsZChBYnN0cmFjdEZvcm1hdHRlckZhY3RvcnksIE9iamVjdCkpOiBDYWxsIHNldFZhbHVlCglhbmQgc2V0Rm9ybWF0dGVyRmFjdG9yeSBpbnN0ZWFkIG9mIHNldHRpbmcgdmFyaWFibGVzIGRpcmVjdGx5IGJlY2F1c2UKCW1vcmUgbmVlZHMgdG8gYmUgZG9uZSB0aGFuIGp1c3Qgc2V0dGluZyB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlcy4KCShKRm9ybWF0dGVkVGV4dEZpZWxkKE9iamVjdCB2YWx1ZSkpOiBDYWxsIHNldFZhbHVlIGluc3RlYWQgb2Ygc2V0dGluZyAKCXRoZSB2YXJpYWJsZSBkaXJlY3RseS4KCShnZXRBcHByb3ByaWF0ZUZvcm1hdHRlckZhY3RvcnkpOiBOZXcgaW1wbGVtZW50YXRpb24gbWV0aG9kLgoJKGdldEZvcm1hdHRlcik6IERvbid0IHVzZSB0aGUgZm9ybWF0dGVyIGZhY3RvcnkgaGVyZSwganVzdCByZXR1cm4gCgl0aGUgY2FjaGVkIGZvcm1hdHRlci4KCShwcm9jZXNzRm9jdXNFdmVudCk6IFNldCB0aGUgZm9ybWF0dGVyIHRvIHRoZSBhcHByb3ByaWF0ZSBvbmUgYXMgCglkZXRlcm1pbmVkIGJ5IHRoZSBmb3JtYXR0ZXIgZmFjdG9yeS4KCShzZXRGb3JtYXR0ZXIpOiBEb24ndCBnZXQgdGhlIG9sZCBmb3JtYXR0ZXIgZnJvbSB0aGUgZmFjdG9yeSwganVzdCB1c2UKCXRoZSBjYWNoZWQgZm9ybWF0dGVyLiAgVW5pbnN0YWxsIHRoZSBvbGQgZm9ybWF0dGVyLiBJbnN0YWxsIHRoZSBuZXcKCWZvcm1hdHRlci4gQ2FjaGUgdGhlIG5ldyBmb3JtYXR0ZXIuICBEb24ndCBjcmVhdGUgYSBuZXcgZm9ybWF0dGVyCglmYWN0b3J5LgoJKHNldEZvcm1hdHRlckZhY3RvcnkpOiBTZXQgdGhlIGZvcm1hdHRlciBhY2NvcmRpbmcgdG8gdGhlIG5ldyBmb3JtYXR0ZXIKCWZhY3RvcnkuCgkoc2V0VmFsdWUpOiBNb3ZlZCB0aGUgc2V0dGluZyBvZiB0aGUgdmFsdWUgdmFyaWFibGUgdG8gYWJvdmUgdGhlIGNhbGwKCXRvIGNyZWF0ZUZvcm1hdHRlciBzbyB0aGF0IGFuIGFwcHJvcHJpYXRlIGZvcm1hdHRlciBpcyBjcmVhdGVkLiAgQ2FjaGUKCXRoZSBmb3JtYXR0ZXIgdGhhdCBpcyBjcmVhdGVkLgoJKGNyZWF0ZUZvcm1hdHRlcik6IElmIGFyZ3VtZW50IGlzIGEgTnVtYmVyLCB1c2UgYSBOdW1iZXJGb3JtYXR0ZXIuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEZvcm1hdHRlci5qYXZhOgoJKHZhbHVlVG9TdHJpbmcpOiBJZiBhcmd1bWVudCBpcyBudWxsIHJldHVybiBlbXB0eSBTdHJpbmcuCgoyMDA1LTExLTMwICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRmlsZUNob29zZXJVSS5qYXZhCgkoYWN0aW9uUGVyZm9ybWVkKTogQWRkZWQgY2hlY2sgdG8gZGV0ZXJtaW5lIGlmIAoJcGFyZW50UGF0aCBpcyBudWxsLgoJKGFjdGlvblBlcmZvcm1lZCk6IFNldCBzZWxlY3RlZCBmaWxlIGFuZCBmaWxlcyB0byBudWxsCglpZiAnY2FuY2VsJyB3YXMgY2xpY2tlZC4KCShtb3VzZUNsaWNrZWQpOiBDbGVhbmVkIHVwIGNvZGUgYSBiaXQgYW5kIHNldCB0aGUgc2VsZWN0ZWQKCWZpbGVzIGlmIG11bHRpLXNlbGVjdGlvbiBpcyBlbmFibGVkLiBBbHNvLCBhZGRlZCBjb2RlIHRvIAoJc2V0IHRoZSBmaWxlIG5hbWUgaW4gdGhlIHRleHQgZmllbGQgaWYgdGhlIHNlbGVjdGlvbiBtb2RlCglpcyBESVJFQ1RPUklFU19PTkxZLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsRmlsZUNob29zZXJVSS5qYXZhCgkoYWN0aW9uUGVyZm9ybWVkKTogTm8gbmVlZCB0byBzZXQgZmlsZUxpc3RQYW5lbCwgaXQgaXMKCXNldCBpbiBjcmVhdGVMaXN0LgoJKGFjdGlvblBlcmZvcm1lZCk6IExpa2V3aXNlLgoJKHByb3BlcnR5Q2hhbmdlKTogSWYgdGhlIGRpYWxvZyB0eXBlIGlzIFNBVkUsIHRoZW4gdGhlCglhcHByb3ZlIGJ1dHRvbiB0ZXh0IHNob3VsZCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHdoYXQKCWlzIGN1cnJlbnRseSBzZWxlY3RlZC4gSXQgc2hvdWxkIHNheSAnT3BlbicsIGlmIGEgCglkaXJlY3RvcnkgaXMgY3VycmVudGx5IHNlbGVjdGVkLgoJKGFjdGlvblBlcmZvcm1lZCk6IEZpeGVkIGNoZWNrLgoJKG1vdXNlQ2xpY2tlZCk6IEFkZGVkIGNvZGUgdG8gc2V0IHRoZSBmaWxlIG5hbWUgaW4gCgl0aGUgdGV4dCBmaWVsZCBpZiB0aGUgc2VsZWN0aW9uIG1vZGUKCWlzIERJUkVDVE9SSUVTX09OTFkuCgkoZWRpdEZpbGUpOiBBZGp1c3RlZCB5IHBvc2l0aW9uIG9mIGVkaXRpbmcgdGV4dCBmaWVsZCBpbiB0YWJsZS4KCShpbnN0YWxsTGlzdGVuZXJzKTogQWRkZWQgY29kZSB0byBpbml0aWFsbHkgaW5zdGFsbCBsaXN0ZW5lcnMgCgl0byB0aGUgbGlzdC4KCShjcmVhdGVMaXN0KTogQ2xlYW5lZCB1cCBhbmQgbWFkZSBtb3JlIGVmZmljZW50LgoJKGNyZWF0ZURldGFpbHNWaWV3KTogTm8gbmVlZCB0byBzZXQgaW50ZXJjZWxsU3BhY2luZy4KCSh1cGRhdGVUYWJsZSk6IENsZWFuZWQgdXAgYW5kIG1hZGUgbW9yZSBlZmZpY2VudC4KCQoyMDA1LTExLTMwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCUZpeGVzIGJ1ZyAjMjUxNjUKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmE6CgkocHJvY2Vzc0ZvY3VzRXZlbnQpOiBEb24ndCBjaGVjayBpZiBmb2N1cyBvcHBvc2l0ZSBpcyB0aGUgc2FtZSBhcyB0aGUKCXJlY2VpdmluZyBDb21wb25lbnQsIHRoaXMgaXMgbm93IGRvbmUgaW4gZGlzcGF0Y2hFdmVudEltcGwuCgkoZGlzcGF0Y2hFdmVudEltcGwpOiBEb24ndCBkaXNwYXRjaCBGb2N1c0V2ZW50cyB3aG9zZSBvcHBvc2l0ZSAKCUNvbXBvbmVudHMgYXJlIHRoZSBzYW1lLgoKMjAwNS0xMS0zMCAgV29sZmdhbmcgQmFlciAgPFdCYWVyQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Db21wcmVzc2lvbi5qYXZhOiAKCUFkZGVkIGphdmEgZG9jcyB0byBjbGFzcyBhbmQgbWV0aG9kcy4KCShnZXRTdHJpbmdUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShnZXRFbnVtVmFsdWVUYWJsZSk6IE5ldyBvdmVycmlkZGVuIG1ldGhvZC4KCShzdHJpbmdUYWJsZSk6IE5ldyBmaWVsZC4KCShlbnVtVmFsdWVUYWJsZSk6IE5ldyBmaWVsZC4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0NvbG9yU3VwcG9ydGVkLmphdmE6IAoJQWRkZWQgamF2YSBkb2NzIHRvIGNsYXNzIGFuZCBtZXRob2RzLgoJKGdldFN0cmluZ1RhYmxlKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKGdldEVudW1WYWx1ZVRhYmxlKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKHN0cmluZ1RhYmxlKTogTmV3IGZpZWxkLgoJKGVudW1WYWx1ZVRhYmxlKTogTmV3IGZpZWxkLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvQ2hyb21hdGljaXR5LmphdmE6IAoJQWRkZWQgamF2YSBkb2NzIHRvIGNsYXNzIGFuZCBtZXRob2RzLgoJKGdldFN0cmluZ1RhYmxlKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKGdldEVudW1WYWx1ZVRhYmxlKTogTmV3IG92ZXJyaWRkZW4gbWV0aG9kLgoJKHN0cmluZ1RhYmxlKTogTmV3IGZpZWxkLgoJKGVudW1WYWx1ZVRhYmxlKTogTmV3IGZpZWxkLgoKMjAwNS0xMS0zMCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhOgoJKHByb2Nlc3NGb2N1c0V2ZW50KTogRG9uJ3QgZGlzcGF0Y2ggZXZlbnRzIGlmIHRoZSBmb2N1cyBvcHBvc2l0ZSBpcyB0aGUKCXNhbWUgYXMgdGhlIHJlY2VpdmluZyBDb21wb25lbnQuCgoyMDA1LTExLTMwICBSb2JlcnQgU2NodXN0ZXIgIDxyb2JlcnRzY2h1c3RlckBmc2ZlLm9yZz4KCgkqIGphdmEvYmVhbnMvUHJvcGVydHlDaGFuZ2VTdXBwb3J0LmphdmE6CgkoZmlyZUluZGV4ZWRQcm9wZXJ0eUNoYW5nZSk6IENvbXBsZXRlZCBzdGF0ZW1lbnQuCgoyMDA1LTExLTMwICBSb2JlcnQgU2NodXN0ZXIgIDxyb2JlcnRzY2h1c3RlckBmc2ZlLm9yZz4KCgkqIGphdmEvYmVhbnMvUHJvcGVydHlDaGFuZ2VTdXBwb3J0LmphdmE6CgkoZmlyZUluZGV4ZWRQcm9wZXJ0eUNoYW5nZSk6IFJlbW92ZWQgYXJndW1lbnQgY2hlY2tpbmcuCgoyMDA1LTExLTMwICBKYW4gUm9laHJpY2ggIDxqYW5Acm9laHJpY2guaW5mbz4KCgkqIGphdmEvYXd0L2RhdGF0cmFuc2Zlci9TeXN0ZW1GbGF2b3JNYXAuamF2YQoJKGlzSmF2YU1JTUVUeXBlKTogaW1wbGVtZW50ZWQuCgkoR05VX0pBVkFfTUlNRV9QUkVGSVgpOiBhZGRlZCBjb25zdGFudC4KCShkZWNvZGVKYXZhTUlNRVR5cGUpOiBpbXBsZW1lbnRlZC4KCShlbmNvZGVKYXZhTUlNRVR5cGUpOiBpbXBsZW1lbnRlZC4KCShlbmNvZGVEYXRhRmxhdm9yKTogaW1wbGVtZW50ZWQuCgoyMDA1LTExLTMwICBKYW4gUm9laHJpY2ggIDxqYW5Acm9laHJpY2guaW5mbz4KCgkqIGphdmEvYXd0L2RhdGF0cmFuc2Zlci9TeXN0ZW1GbGF2b3JNYXAuamF2YQoJU29tZSBtaW5vciBjb2Rlc3R5bGUgZml4ZXMuCgkobmF0aXZlVG9GbGF2b3JNYXApOiByZW1vdmVkIGdlbmVyYWxpemF0aW9uLgoJKGZsYXZvclRvTmF0aXZlTWFwKTogbGlrZXdpc2UuCgoyMDA1LTExLTI5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsRmlsZUNob29zZXJVSS5qYXZhCgkoYWN0aW9uUGVyZm9ybWVkKTogQ2hhbmdlZCB0byB1cGRhdGUgbGlzdCB3aXRoIGFsbCAKCXNlbGVjdGVkIGludGVydmFscywgYW5kIHRvIHVzZSBmaWxlVGFibGVQYW5lbCBpbnN0ZWFkLgoJKGFjdGlvblBlcmZvcm1lZCk6IExpa2V3aXNlLgoJKHByb3BlcnR5Q2hhbmdlKTogQ2hhbmdlZCB0byB1c2UgYWRkU2VsZWN0aW9uSW50ZXJ2YWwKCWluc3RlYWQgb2Ygc2V0U2VsZWN0aW9uSW50ZXJ2YWwuCgkodW5pbnN0YWxsQ29tcG9uZW50cyk6IFVuaW5zdGFsbGVkIGZpbGVUYWJsZVBhbmVsLgoJKGluc3RhbGxMaXN0ZW5lcnMpOiBNb3ZlZCBjb2RlIHRvIGNyZWF0ZUxpc3QsIHNvIGxpc3RlbmVycwoJYXJlIGluc3RhbGxlZCBmb3IgZXZlcnkgbGlzdCB0aGF0IG1heSBiZSBjcmVhdGVkLgoJKGNyZWF0ZUxpc3QpOiBBZGRlZCBjb2RlIHRvIHJlbW92ZSBhbmQgaW5zdGFsbCBsaXN0ZW5lcnMgb24KCWxpc3QuCgkoY3JlYXRlRGV0YWlsc1ZpZXcpOiBDaGFuZ2VkIHRvIHVzZSBvd24gcGFuZWwuIEFsc28sIGFkZGVkCgljb2RlIHRvIHNldCB0aGUgc2VsZWN0aW9uIG1vZGUuCgoyMDA1LTExLTI5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsRmlsZUNob29zZXJVSS5qYXZhCgkobW91c2VDbGlja2VkKTogRml4ZWQgY2hlY2tzIHRvIHByZXZlbnQgTlBFLgoKMjAwNS0xMS0yOSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmEKCShzZXRWaWV3KTogQWRkZWQgY2hlY2sgdG8gcHJldmVudCBOUEUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmEKCShMaXN0TGFiZWxSZW5kZXJlcik6IFJlbW92ZWQgY2xhc3MsIG5ldmVyIHVzZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxGaWxlQ2hvb3NlclVJLmphdmEKCShEZXRhaWxUYWJsZU1vZGVsKTogUmVtb3ZlZCwgbm90IG5lZWRlZC4KCShUYWJsZUZpbGVSZW5kZXJlcik6IEltcGxlbWVudGVkIHRvIG92ZXJyaWRlIHNvbWUgY29sb3IKCWFuZCBpY29uIGRlZmF1bHRzIGluIHRoZSBkZWZhdWx0IHRhYmxlIHJlbmRlcmVyLgoJKGFjdGlvblBlcmZvcm1lZCk6IFNldCBzZWxlY3Rpb24gaW4gbGlzdCwgaWYgc29tZXRoaW5nIHdhcwoJc2VsZWN0ZWQgaW4gdGhlIHRhYmxlLgoJKGFjdGlvblBlcmZvcm1lZCk6IFNldCBzZWxlY3Rpb24gaW4gdGFibGUsIGlmIHNvbWV0aGluZyB3YXMKCXNlbGVjdGVkIGluIHRoZSBsaXN0LgoJKHByb3BlcnR5Q2hhbmdlKTogQWRkZWQgY29kZSB0byBzZXQgdGhlIHNlbGVjdGlvbiBmb3IgdGhlIHRhYmxlLCAKCWFzIHdlbGwgYXMgdGhlIGxpc3QuIFRoaXMgZGVwZW5kcyBvbiB3aGF0IHZpZXcgd2UgYXJlIGluLgoJKGVkaXRGaWxlKTogRml4ZWQgdG8gY2FsbCBzY3JvbGxSZWN0VG9WaXNpYmxlIGluc3RlYWQuCgkoVGFibGVDbGlja0xpc3RlbmVyKTogSW1wbGVtZW50ZWQgbmV3IHByaXZhdGUgY2xhc3MgdG8gdGFrZQoJY2FyZSBvZiBkb3VibGUgY2xpY2tpbmcgKGNoYW5naW5nL29wZW5pbmcgZGlyZWN0b3JpZXMvZmlsZXMpCglhbmQgc2luZ2xlIGNsaWNraW5nIChlZGl0aW5nKS4KCShUYWJsZUNsaWNrTGlzdGVuZXIubW91c2VDbGlja2VkKTogSW1wbGVtZW50ZWQKCShUYWJsZUNsaWNrTGlzdGVuZXIuZWRpdEZpbGUpOiBJbXBsZW1lbnRlZAoJKFRhYmxlQ2xpY2tMaXN0ZW5lci5jb21wbGV0ZUVkaXRpbmcpOiBJbXBsZW1lbnRlZAoJKFRhYmxlQ2xpY2tMaXN0ZW5lci5FZGl0aW5nQWN0aW9uTGlzdGVuZXIpOiBJbXBsZW1lbnRlZAoJKFRhYmxlQ2xpY2tMaXN0ZW5lci5jbG9zZURpYWxvZyk6IEltcGxlbWVudGVkCgkoaW5zdGFsbExpc3RlbmVycyk6IEFkZGVkIGNvZGUgdG8gaW5pdGlhbGl6ZSBsaXN0ZW5lciBmaWVsZHMuCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogQWRkZWQgY29kZSB0byB1bmluc3RhbGwgYWxsIGxpc3RlbmVycy4KCShjcmVhdGVMaXN0KTogQ2hhbmdlZCB0byB1c2Ugc2Nyb2xsUGFuZSBmaWVsZC4KCShjcmVhdGVEZXRhaWxzVmlldyk6IENoYW5nZWQgdG8gdXNlIHVwZGF0ZVRhYmxlIGZ1bmN0aW9uLiBTZXQKCXNvbWUgY2hhcmFjdGVyaXN0aWNzIGZvciB0aGUgdGFibGU6IGNvbHVtbiBzZWxlY3Rpb24sIHJlbmRlcmVyLAoJbGlzdGVuZXIgZXRjLgoJKHVwZGF0ZVRhYmxlKTogSW1wbGVtZW50ZWQgdG8gY2hhbmdlZC9hZGQvcmVtb3ZlIHJvd3MgZnJvbSB0aGUKCXRhYmxlLCBhcyBuZWVkZWQuCgkocmVtb3ZlQ29udHJvbEJ1dHRvbnMpOiBBZGRlZCByZXBhaW50LCByZXZhbGlkYXRlIGNhbGxzLgoJKGVuc3VyZUZpbGVJc1Zpc2libGUpOiBSZW1vdmVkLiBEb2VzIHRoZSBzYW1lIHRoaW5nIGFzIHN1cGVyLgoJKHJlc2NhbkN1cnJlbnREaXJlY3RvcnkpOiBBZGRlZCBjaGVjayBmb3IgZGlmZmVyZW50IHZpZXdzLgoJKHNldERpcmVjdG9yeVNlbGVjdGVkKTogUmVtb3ZlZC4gRG9lcyB0aGUgc2FtZSB0aGluZyBhcyBzdXBlci4KCShnZXREaXJlY3RvcnlOYW1lKTogUmVtb3ZlZC4gRG9lcyB0aGUgc2FtZSB0aGluZyBhcyBzdXBlci4KCShzZXREaXJlY3RvcnlOYW1lKTogUmVtb3ZlZC4gRG9lcyB0aGUgc2FtZSB0aGluZyBhcyBzdXBlci4KCSh2YWx1ZUNoYW5nZWQpOiBDaGFuZ2VkIGNvbW1lbnQuCgoyMDA1LTExLTI5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Rm9ybWF0dGVyRmFjdG9yeS5qYXZhOiBOZXcgY2xhc3MuCgoyMDA1LTExLTI5ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgY2xhc3NwYXRoLzI1MTQxOgoJKiBqYXZhL25ldC9VUkwuamF2YSAoVVJMKTogVXNlIGNvbnRleHQncyBzdHJlYW0gaGFuZGxlci4KCjIwMDUtMTEtMjkgIEphbiBSb2VocmljaCAgPGphbkByb2VocmljaC5pbmZvPgoKCSogamF2YS9hd3QvZGF0YXRyYW5zZmVyL1N5c3RlbUZsYXZvck1hcC5qYXZhCgkobmF0aXZlVG9GbGF2b3JNYXApOiBhZGRlZCBmaWVsZC4KCShmbGF2b3JUb05hdGl2ZU1hcCk6IGFkZGVkIGZpZWxkLgoJKGFkZEZsYXZvckZvclVuZW5jb2RlZE5hdGl2ZSk6IGFkZGVkIG1ldGhvZC4KCShzZXROYXRpdmVzRm9yRmxhdm9yKTogYWRkZWQgbWV0aG9kLgoJKGFkZFVuZW5jb2RlZE5hdGl2ZUZvckZsYXZvcik6IGFkZGVkIG1ldGhvZC4KCShzZXRGbGF2b3JzRm9yTmF0aXZlKTogYWRkZWQgbWV0aG9kLgoKMjAwNS0xMS0yOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEZpbGVDaG9vc2VyVUkuamF2YQoJKERldGFpbFRhYmxlTW9kZWwpOiBOZXcgQ2xhc3MgaW1wbGVtZW50ZWQgdG8gb3ZlcnJpZGUgc2VsZWN0ZWQKCW1ldGhvZHMgaW4gRGVmYXVsdFRhYmxlTW9kZWwuIE1vcmUgbWV0aG9kcyB3aWxsIGJlIGFkZGVkIGxhdGVyLgoJKExpc3RWaWV3QWN0aW9uTGlzdGVuZXIpOiBOZXcgY2xhc3MgaW1wbGVtZW50ZWQuIAoJKERldGFpbFZpZXdBY3Rpb25MaXN0ZW5lcik6IE5ldyBjbGFzcyBpbXBsZW1lbnRlZC4KCShjb21wbGV0ZUVkaXRpbmcpOiBTZXQgYm9vbGVhbiB0byBmYWxzZS4KCShtb3VzZUNsaWNrZWQpOiBBZGRlZCBjaGVjayB0byBtYWtlIHN1cmUgZWRpdGluZyBvbmx5IHN0YXJ0cyB3aGVuCglsZWZ0IG1vdXNlIGJ1dHRvbiBpcyBjbGlja2VkLgoJKGVkaXRGaWxlKTogU2V0IGJvb2xlYW4gdG8gdHJ1ZS4KCShhY3Rpb25QZXJmb3JtZWQpOiBTZXQgYm9vbGVhbiB0byBmYWxzZS4KCShjcmVhdGVMaXN0KTogQ29tbWVudGVkIG91dCB3cmFwIGNvZGUgdW50aWwgSkxpc3QgYnVnIGlzIGZpeGVkLgoJKGNyZWF0ZUFjdGlvbk1hcCk6IEFkZGVkIGFjdGlvbiBmb3IgY2FuY2VsU2VsZWN0aW9uLgoJKGNyZWF0ZURldGFpbHNWaWV3KTogUGFydGlhbGx5IGltcGxlbWVudGVkIHRvIGRpc3BsYXkgZGV0YWlscyB2aWV3Cgl0YWJsZS4gCgkoZm9ybWF0U2l6ZSk6IFByaXZhdGUgZnVuY3Rpb24gYWRkZWQgdG8gY29udmVydCBieXRlcyB0byBhbgoJYXBwcm9wcmlhdGUgc2l6ZSBTdHJpbmcgZm9yIHRoZSB0YWJsZS4KCShnZXRQcmVmZXJyZWRTaXplKTogSW1wbGVtZW50ZWQuCgkoZ2V0TWluaW11bVNpemUpOiBJbXBsZW1lbnRlZC4KCShhZGRDb250cm9sQnV0dG9ucyk6IEFkZGVkIGFjdGlvbiBsaXN0ZW5lcnMgZm9yIGRldGFpbEJ1dHRvbiBhbmQKCWxpc3RCdXR0b24uCgkoc2V0RGlyZWN0b3J5U2VsZWN0ZWQpOiBBZGRlZCBBUEkgZG9jdW1lbnRhdGlvbi4KCShnZXREaXJlY3RvcnlOYW1lKTogTGlrZXdpc2UuCgkoc2V0RGlyZWN0b3J5TmFtZSk6IExpa2V3aXNlLgoJKHZhbHVlQ2hhbmdlZCk6IExpa2V3aXNlLgoKMjAwNS0xMS0yOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YQoJKGluaXQpOiBMYXlvdXQgc2hvdWxkIG5vdCBiZSBzZXQgdG8gRmxvd0xheW91dC4gSkRLIHNldHMgaXQgdG8gbnVsbC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEZpbGVDaG9vc2VyVUkuamF2YQoJKG1vdXNlQ2xpY2tlZCk6IENoYW5nZWQgdG8gY2FsbCBjb21wbGV0ZUVkaXRpbmcgd2hlbiBkb3VibGUtY2xpY2tlZC4KCShlZGl0RmlsZSk6IEZpeGVkIHRvIGFkZCBhbiBhY3Rpb24gbGlzdGVuZXIgdG8gdGhlIGVkaXRpbmcgZmllbGQuCglFZGl0aW5nCWZvciBmaWxlY2hvb3NlciBub3cgd29ya3MuCgkoY29tcGxldGVFZGl0aW5nKTogRml4ZWQgcmVuYW1pbmcgdG8gY3JlYXRlIGEgbmV3IGZpbGUgb2JqZWN0IGFuZAoJcmVzY2FuIHRoZSBkaXJlY3RvcnkgaWYgcmVuYW1pbmcgd2FzIHN1Y2Nlc3NmdWwuIEFkZGVkIGNvZGUgdG8gY2FuY2VsCgllZGl0aW5nIGFzIHdlbGwuCgkoRWRpdGluZ0FjdGlvbkxpc3RlbmVyKTogTmV3IGNsYXNzIHRvIGxpc3RlbiBmb3Igbm90aWZ5IGFjdGlvbiBhbmQKCXRvIGNvbXBsZXRlIGVkaXRpbmcgd2hlbiBlbnRlciBpcyBwcmVzc2VkLiBPdGhlcndpc2UsIGVkaXRpbmcgaXMKCWNhbmNlbGxlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNwbGl0UGFuZURpdmlkZXIuamF2YQoJKE1ldGFsRGl2aWRlckxheW91dCk6IENoYW5nZWQgdG8gcHVibGljLgoJKE1ldGFsRGl2aWRlckxheW91dC5pbml0KTogTGlrZXdpc2UuCgoyMDA1LTExLTI3ICBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCgkqIGphdmEvdXRpbC9sb2dnaW5nL1hNTEZvcm1hdHRlci5qYXZhIChmb3JtYXQpOiBEb24ndCBjYWxsIAoJZ2V0TWlsbGlzKCkgdHdpY2UuCgoyMDA1LTExLTI3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2JlYW5zL1Byb3BlcnR5Q2hhbmdlU3VwcG9ydC5qYXZhIChmaXJlSW5kZXhlZFByb3BlcnR5Q2hhbmdlKToKCU5ldyBtZXRob2RzLgoJKiBqYXZhL2JlYW5zL0luZGV4ZWRQcm9wZXJ0eUNoYW5nZUV2ZW50LmphdmE6IE5ldyBmaWxlLgoKMjAwNS0xMS0yNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50LmphdmEgKFN0YWNrVHJhY2VFbGVtZW50KTogTmV3Cgljb25zdHJ1Y3Rvci4KCjIwMDUtMTEtMjUgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBuYXRpdmUvam5pL2phdmEtaW8vamF2YWlvLmMsIG5hdGl2ZS9qbmkvamF2YS1pby9qYXZhaW8uaDoKCVJlbW92ZWQuCgkqIG5hdGl2ZS9qbmkvamF2YS1pby9qYXZhX2lvX1ZNRmlsZS5jOiBSZW1vdmVkIGRlcGVuZGVuY3kgb24KCWphdmFpby5oCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbC5jOgoJTGlrZXdpc2UuCgkKMjAwNS0xMS0yNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNwbGl0UGFuZURpdmlkZXIuamF2YQoJKE1ldGFsRGl2aWRlckxheW91dCk6IEZpeGVkIGNsYXNzIG5hbWUgdG8gTWV0YWxEaXZpZGVyTGF5b3V0IAoJaW5zdGVhZCBvZiBEaXZpZGVyTGF5b3V0LgoJKE1ldGFsU3BsaXRQYW5lRGl2aWRlcik6IEZpeGVkIHNldExheW91dCBjYWxsLgoKMjAwNS0xMS0yNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEZpbGVDaG9vc2VyVUkuamF2YQoJKG1vdXNlQ2xpY2tlZCk6IEZpeGVkIHRvIGtlZXAgdHJhY2sgb2YgbGFzdCBvYmplY3QgY2xpY2tlZCwKCWluc3RlYWQgb2YgaW5kZXguIFByb2JsZW1zIGFyaXNlIHdoZW4gbGlzdHMgY2hhbmdlIGZvciBkaWZmZXJlbnQKCWRpcmVjdG9yaWVzIGFuZCB1c2luZyB0aGUgaW5kZXguCgkoZWRpdEZpbGUpOiBGaXhlZCBzaXplIGFuZCBsb2NhdGlvbiBmb3IgdGV4dCBmaWVsZC4gUGFpbnRpbmcgaXMgc3RpbGwKCWEgbGl0dGxlIG1lc3NlZCB1cCB3aGVuIHR5cGluZyBiZWNhdXNlIHRoZXJlIGlzIG5vIGFjdGlvbiBsaXN0ZW5lciB5ZXQuCgoyMDA1LTExLTI2ICBKYW4gUm9laHJpY2ggIDxqYW5Acm9laHJpY2guaW5mbz4KCgkqIGphdmEvYXd0L2RhdGF0cmFuc2Zlci9TeXN0ZW1GbGF2b3JNYXAuamF2YQoJKGRlZmF1bHRGbGF2b3JNYXApOiByZW1vdmVkLgoJKHN5c3RlbUZsYXZvck1hcHMpOiBhZGRlZCBzdGF0aWMgZmllbGQuCgkoZ2V0RGVmYXVsdEZsYXZvck1hcCk6IHJlaW1wbGVtZW50ZWQgdXNpbmcgc3lzdGVtRmxhdm9yTWFwcy4KCQoyMDA1LTExLTI1ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KRmlsZUNob29zZXIuamF2YToKCXNlbGVjdGVkRmlsZXMgZmllbGQgc2hvdWxkIG5vdCBiZSBpbml0aWFsaXplZC4KCShnZXRTZWxlY3RlZEZpbGVzKTogU2hvdWxkIHJldHVybiBlbXB0eSBhcnJheSwgbm90IG51bGwuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxGaWxlQ2hvb3NlclVJLmphdmEKCShNZXRhbEZpbGVDaG9vc2VyU2VsZWN0aW9uTGlzdGVuZXIpOiBBZGRlZCBjb21tZW50LgoJKHZhbHVlQ2hhbmdlZCk6IEZpeGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKFNpbmdsZUNsaWNrTGlzdGVuZXIpOiBMaWtld2lzZS4KCShTaW5nbGVDbGlja0xpc3RlbmVyLmluaXQpOiBBZGRlZCBmaWVsZCBpbml0aWFsaXphdGlvbnMuCgkobW91c2VDbGlja2VkKTogSW1wbGVtZW50ZWQuCgkoZWRpdEZpbGUpOiBQYXJ0aWFsbHkgaW1wbGVtZW50ZWQuCgkoY29tcGxldGVFZGl0aW5nKTogSW1wbGVtZW50ZWQuCgkoaW5zdGFsbFVJKTogQWRkZWQgY2FsbCB0byBjcmVhdGUgdGhlIGFjdGlvbiBtYXAuCgkodW5pbnN0YWxsVUkpOiBTZXQgYWN0aW9uTWFwIHRvIG51bGwuCgkoZ2V0QWN0aW9uTWFwKTogSW1wbGVtZW50ZWQuCgkoY3JlYXRlTGlzdCk6IFVuY29tbWVudGVkIGNvZGUuCgkocmVtb3ZlQ29udHJvbEJ1dHRvbnMpOiBJbXBsZW1lbnRlZC4JCgoyMDA1LTExLTI1ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jOgoJRml4ZWQgdHlwby4KCjIwMDUtMTEtMjUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMKCShkcmF3U3RyaW5nKTogQ2hhbmdlZCBwb2ludGVyIHRvIGJlIGNvbnN0LCBhbmQgZml4ZWQgY2hlY2sgdG8KCWRyYXcgY2hhcmFjdGVycyBvbmx5IGlmIHRoZXkgYXJlID49ICcgJy4gSGFuZGxlcyBhbGwgY29udHJvbAoJY2hhcmFjdGVycy4KCjIwMDUtMTEtMjUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglGaXhlcyBidWcgIzI0OTgxCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1NlbGVjdGlvbi5jCgkoY2xpcGJvYXJkX3RhcmdldHNfcmVjZWl2ZWQpOiBEZWxldGVMb2NhbFJlZiBvZiBOZXdTdHJpbmdVVEYuCgkoY2xpcGJvYXJkX3RleHRfcmVjZWl2ZWQpOiBMaWtld2lzZS4KCShjbGlwYm9hcmRfdXJpc19yZWNlaXZlZCk6IExpa2V3aXNlLgoKMjAwNS0xMS0yNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YQoJKEpMaXN0KTogU2V0IGRlZmF1bHQgc2VsZWN0aW9uIG1vZGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmEKCShEb3VibGVDbGlja0xpc3RlbmVyKTogTm8gbmVlZCBmb3IgdGltZXIgaGVyZS4KCShtb3VzZUNsaWNrZWQpOiBSZW1vdmVkIHRpbWVyIGNvZGUsIGFuZCBhZGRlZCBjaGVjayBmb3IgZG91YmxlIGNsaWNrLgoJUHJvYmxlbXMgd2l0aCBvcGVuaW5nIHdyb25nIGRpcmVjdG9yeSBpcyBub3cgZml4ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMaXN0VUkuamF2YQoJKG1vdXNlRHJhZ2dlZCk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsRmlsZUNob29zZXJVSS5qYXZhCgkocHJvcGVydHlDaGFuZ2UpOiBJbXBsZW1lbnRlZCBNVUxUSV9TRUxFQ1RJT05fRU5BQkxFRF9DSEFOR0VEX1BST1BFUlRZCglwcm9wZXJ0eSBjaGFuZ2UuCgkoZ2V0TGlzdENlbGxSZW5kZXJlckNvbXBvbmVudCk6IFNldCBvcGFxdWUgcHJvcGVydHksIHNvIGJhY2tncm91bmQKCWNvbG9yIG9uIGNlbGwgaXMgcGFpbnRlZC4KCShTaW5nbGVDbGlja0xpc3RlbmVyLmluaXQpOiBJbXBsZW1lbnRlZC4KCShpbnN0YWxsU3RyaW5ncyk6IEZpeGVkIHRvb2x0aXAgdGV4dCBzdHJpbmdzLgoKMjAwNS0xMS0yNSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pGaWxlQ2hvb3Nlci5qYXZhCgkoc2VsZWN0ZWRGaWxlcyk6IEluaXRpYWxpc2UsCgkoSkZpbGVDaG9vc2VyKFN0cmluZykpOiBEZWxlZ2F0ZSB0byBhbm90aGVyIGNvbnN0cnVjdG9yLAoJKEpGaWxlQ2hvb3NlcihTdHJpbmcsIEZpbGVTeXN0ZW1WaWV3KSk6IENvbnZlcnQgZGlyZWN0b3J5IHRvIGZpbGUsCgkoc2V0U2VsZWN0ZWRGaWxlKTogQ2hlY2sgZm9yIGN1cnJlbnQgc2VsZWN0aW9uID09IG51bGwsCgkoZ2V0U2VsZWN0ZWRGaWxlcyk6IFVwZGF0ZWQgQVBJIGRvY3MsCgkoc2V0U2VsZWN0ZWRGaWxlcyk6IENoYW5nZWQgb3JkZXIgb2YgZXZlbnQgZ2VuZXJhdGlvbiwKCShjaGFuZ2VUb1BhcmVudERpcmVjdG9yeSk6IERvbid0IGNoZWNrIGZvciBudWxsIHBhcmVudCAocmVmZXJlbmNlCglpbXBsZW1lbnRhdGlvbiBkb2Vzbid0KSwKCShhZGRDaG9vc2FibGVGaWxlRmlsdGVyKTogQ2hhbmdlIGhhbmRsaW5nIG9mIG51bGwgZmlsdGVyLAoJKHJlbW92ZUNob29zYWJsZUZpbGVGaWx0ZXIpOiBIYW5kbGUgY2FzZSB3aGVyZSByZW1vdmVkIGZpbHRlciBpcyBhbHNvCgl0aGUgY3VycmVudCBzZWxlY3Rpb24sCgkoc2V0QWNjZXB0QWxsRmlsZUZpbHRlclVzZWQpOiBBZGQgb3IgcmVtb3ZlIGFjY2VwdCBhbGwgZmlsdGVyIGFzIAoJYXBwcm9wcmlhdGUsCgkoc2V0RmlsZUZpbHRlcik6IEFkZCBuZXcgZmlsdGVyIHRvIGNob29zYWJsZSBmaWx0ZXJzIGlmIG5lY2Vzc2FyeSwKCShhY2NlcHQpOiBSZWltcGxlbWVudGVkLAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRmlsZUNob29zZXJVSS5qYXZhCgkoQXBwcm92ZVNlbGVjdGlvbkFjdGlvbi5BcHByb3ZlU2VsZWN0aW9uQWN0aW9uKTogU2V0IGFjdGlvbiBuYW1lLAoJKEFwcHJvdmVTZWxlY3Rpb25BY3Rpb24uYWN0aW9uUGVyZm9ybWVkKTogQ2FsbCBnZXRGaWxlTmFtZSgpIHJhdGhlcgoJdGhhbiBhY2Nlc3NpbmcgSlRleHRGaWVsZCBkaXJlY3RseSwKCShDYW5jZWxTZWxlY3Rpb25BY3Rpb24uQ2FuY2VsU2VsZWN0aW9uQWN0aW9uKTogU2V0IGFjdGlvbiBuYW1lLAoJKENoYW5nZVRvUGFyZW50RGlyZWN0b3J5QWN0aW9uLkNoYW5nZVRvUGFyZW50RGlyZWN0b3J5QWN0aW9uKTogU2V0IAoJYWN0aW9uIG5hbWUsCgkoRG91YmxlQ2xpY2tMaXN0ZW5lci5tb3VzZUNsaWNrZWQpOiBDYWxsIHNldEZpbGVOYW1lIHJhdGhlciB0aGFuIAoJYWNjZXNzaW5nIEpUZXh0RmllbGQgZGlyZWN0bHksCgkoR29Ib21lQWN0aW9uLkdvSG9tZUFjdGlvbik6IFNldCBhY3Rpb24gbmFtZSwKCShOZXdGb2xkZXJBY3Rpb24uTmV3Rm9sZGVyQWN0aW9uKTogU2V0IGFjdGlvbiBuYW1lLAoJKFNlbGVjdGlvbkxpc3RlbmVyLnZhbHVlQ2hhbmdlZCk6IEdldCBsaXN0IGZyb20gZXZlbnQsCgkoVXBkYXRlQWN0aW9uLlVwZGF0ZUFjdGlvbik6IFNldCBhY3Rpb24gbmFtZSB0byBudWxsLAoJKGNvbXB1dGVySWNvbik6IFJlbW92ZWQgaW5pdGlhbGl6YXRpb24sCgkoZGV0YWlsc1ZpZXdJY29uKTogTGlrZXdpc2UsCgkoZGlyZWN0b3J5SWNvbik6IExpa2V3aXNlLAoJKGZpbGVJY29uKTogTGlrZXdpc2UsCgkoZmxvcHB5RHJpdmVJY29uKTogTGlrZXdpc2UsCgkoaGFyZERyaXZlSWNvbik6IExpa2V3aXNlLAoJKGhvbWVGb2xkZXJJY29uKTogTGlrZXdpc2UsCgkobGlzdFZpZXdJY29uKTogTGlrZXdpc2UsCgkodXBGb2xkZXJJY29uKTogTGlrZXdpc2UsCgkoZmlsZUxpc3QpOiBSZW1vdmVkLAoJKGZpbHRlcnMpOiBSZW1vdmVkLAoJKElDT05fU0laRSk6IFJlbW92ZWQsCgkocGFyZW50cyk6IFJlbW92ZWQsCgkoZmlsZW5hbWUpOiBSZW1vdmVkLAoJKGNhbmNlbCk6IFJlbW92ZWQsCgkodXBGb2xkZXJCdXR0b24pOiBSZW1vdmVkLAoJKG5ld0ZvbGRlckJ1dHRvbik6IFJlbW92ZWQsCgkoaG9tZUZvbGRlckJ1dHRvbik6IFJlbW92ZWQsCgkoYXBwcm92ZVNlbGVjdGlvbkFjdGlvbik6IE5ldyBmaWVsZCwKCShjYW5jZWxTZWxlY3Rpb25BY3Rpb24pOiBOZXcgZmllbGQsCgkoZ29Ib21lQWN0aW9uKTogTmV3IGZpZWxkLAoJKGNoYW5nZVRvUGFyZW50RGlyZWN0b3J5QWN0aW9uKTogTmV3IGZpZWxkLAoJKG5ld0ZvbGRlckFjdGlvbik6IE5ldyBmaWVsZCwKCSh1cGRhdGVBY3Rpb24pOiBOZXcgZmllbGQsCgkoQmFzaWNGaWxlQ2hvb3NlclVJKTogRG8gbm90aGluZyBoZXJlLAoJKGluc3RhbGxVSSk6IEluaXRpYWxpc2UgZmlsZWNob29zZXIgZmllbGQsCgkoY3JlYXRlQm94TGlzdGVuZXIpOiBSZW1vdmVkLAoJKGNyZWF0ZUZpbHRlckxpc3RlbmVyKTogUmVtb3ZlZCwKCShmaWx0ZXJFbnRyaWVzKTogUmVtb3ZlZCwKCShpbnN0YWxsQ29tcG9uZW50cyk6IERvIG5vdGhpbmcgaGVyZSwKCSh1bmluc3RhbGxDb21wb25lbnRzKTogRG8gbm90aGluZyBoZXJlLAoJKGluc3RhbGxMaXN0ZW5lcnMpOiBSZW1vdmVkIGNvbXBvbmVudCBzcGVjaWZpYyBsaXN0ZW5lcnMsCgkoaW5zdGFsbEljb25zKTogVXNlIE1ldGFsIGljb25zLAoJKHVuaW50YWxsSWNvbnMpOiBDbGVhciBpY29ucywKCShpbnN0YWxsU3RyaW5ncyk6IFVzZSBmaXhlZCBzdHJpbmdzIGZvciB0ZXh0IGl0ZW1zIHRoYXQgYXJlbid0IGRlZmluZWQKCWluIHRoZSBVSSBkZWZhdWx0cyAtIHNob3VsZCBpbXBsZW1lbnQgbG9jYWxpc2VkIHN0cmluZ3MgbGF0ZXIsCgkodW5pbnN0YWxsU3RyaW5ncyk6IENsZWFyIHRleHQgaXRlbXMsCgkoY3JlYXRlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IFJldHVybiBibGFuayBsaXN0ZW5lciwKCShnZXRGaWxlTmFtZSk6IFRPRE8sCgkoc2V0RmlsZU5hbWUpOiBUT0RPLAoJKHJlc2NhbkN1cnJlbnREaXJlY3RvcnkpOiBSZW1vdmUgY2FsbCBvbiBkZWxldGVkIGZpbGVsaXN0LAoJKGdldEFwcHJvdmVCdXR0b24pOiBKdXN0IHJldHVybiBmaWVsZCwKCShnZXRGaWxlVmlldyk6IFVwZGF0ZWQgQVBJIGRvY3MsCgkoZ2V0RGlhbG9nVGl0bGUpOiBSZWltcGxlbWVudGVkLAoJKGdldEFwcHJvdmVCdXR0b25UZXh0KTogUmVpbXBsZW1lbnRlZCwKCShnZXROZXdGb2xkZXJBY3Rpb24pOiBDcmVhdGUgbmV3IGluc3RhbmNlIGlmIHJlcXVpcmVkLAoJKGdldEdvSG9tZUFjdGlvbik6IExpa2V3aXNlLAoJKGdldENoYW5nZVRvUGFyZW50RGlyZWN0b3J5QWN0aW9uKTogTGlrZXdpc2UsCgkoZ2V0QXBwcm92ZVNlbGVjdGlvbkFjdGlvbik6IExpa2V3aXNlLAoJKGdldENhbmNlbFNlbGVjdGlvbkFjdGlvbik6IExpa2V3aXNlLAoJKGdldFVwZGF0ZUFjdGlvbik6IExpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsRmlsZUNob29zZXJVSS5qYXZhCgkoTWV0YWxGaWxlQ2hvb3NlclByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBOZXcgY2xhc3MsCgkoRGlyZWN0b3J5Q29tYm9Cb3hSZW5kZXJlcik6IE5ldyBjbGFzcywKCShGaWx0ZXJDb21ib0JveE1vZGVsLnNlbGVjdGVkSW5kZXgpOiBSZW1vdmVkIGZpZWxkLAoJKEZpbHRlckNvbWJvQm94TW9kZWwuc2VsZWN0ZWQpOiBOZXcgZmllbGQsCgkoRmlsdGVyQ29tYm9Cb3hNb2RlbC5GaWx0ZXJDb21ib0JveE1vZGVsKTogSW5pdGlhbGlzZSBzZWxlY3RlZCBmaWVsZCwKCShGaWx0ZXJDb21ib0JveE1vZGVsLnByb3BlcnR5Q2hhbmdlKTogVXBkYXRlIGZpbHRlciBsaXN0LAoJKEZpbHRlckNvbWJvQm94TW9kZWwuc2V0U2VsZWN0ZWRJdGVtKTogUmVpbXBsZW1lbnRlZCwKCShGaWx0ZXJDb21ib0JveE1vZGVsLmdldFNlbGVjdGVkSXRlbSk6IFJldHVybiBzZWxlY3RlZCBmaWVsZCwKCShGaWx0ZXJDb21ib0JveFJlbmRlcmVyLmdldExpc3RDZWxsUmVuZGVyZXJDb21wb25lbnQpOiBDYWxsIHN1cGVyLAoJKE1ldGFsRmlsZUNob29zZXJTZWxlY3Rpb25MaXN0ZW5lcik6IE5ldyBjbGFzcywKCShTaW5nbGVDbGlja0xpc3RlbmVyKTogTmV3IGNsYXNzIFRPRE8sCgkoZGlyZWN0b3J5TGFiZWwpOiBOZXcgZmllbGQsCgkoZGlyZWN0b3J5Q29tYm9Cb3gpOiBOZXcgZmllbGQsCgkoZmlsZUxhYmVsKTogTmV3IGZpZWxkLAoJKGZpbGVUZXh0RmllbGQpOiBOZXcgZmllbGQsCgkoZmlsdGVyTGFiZWwpOiBOZXcgZmllbGQsCgkodG9wUGFuZWwpOiBOZXcgZmllbGQsCgkoY29udHJvbHMpOiBOZXcgZmllbGQsCgkoYm90dG9tUGFuZWwpOiBOZXcgZmllbGQsCgkoYnV0dG9uUGFuZWwpOiBOZXcgZmllbGQsCgkoYXBwcm92ZUJ1dHRvbik6IE5ldyBmaWVsZCwKCShmaWxlTGlzdCk6IE5ldyBmaWVsZCwKCShmaWxlTGlzdFBhbmVsKTogTmV3IGZpZWxkLAoJKGZpbHRlck1vZGVsKTogTmV3IGZpZWxkLAoJKE1ldGFsRmlsZUNob29zZXJVSSk6IEluaXRpYWxpc2UgcGFuZWxzLAoJKGluc3RhbGxVSSk6IFRPRE8sCgkodW5pbnN0YWxsVUkpOiBUT0RPLAoJKGluc3RhbGxDb21wb25lbnRzKTogSW1wbGVtZW50ZWQsCgkodW5pbnN0YWxsQ29tcG9uZW50cyk6IEltcGxlbWVudGVkLAoJKGdldEJ1dHRvblBhbmVsKTogSW1wbGVtZW50ZWQsCgkoZ2V0Qm90dG9tUGFuZWwpOiBJbXBsZW1lbnRlZCwKCShpbnN0YWxsU3RyaW5ncyk6IEltcGxlbWVudGVkLAoJKGluc3RhbGxMaXN0ZW5lcnMpOiBJbXBsZW1lbnRlZCwKCSh1bmluc3RhbGxMaXN0ZW5lcnMpOiBJbXBsZW1lbnRlZCwKCShnZXRBY3Rpb25NYXApOiBUT0RPLAoJKGNyZWF0ZUFjdGlvbk1hcCk6IEltcGxlbWVudGVkLAoJKGNyZWF0ZUxpc3QpOiBJbXBsZW1lbnRlZCwKCShjcmVhdGVEZXRhaWxzVmlldyk6IEltcGxlbWVudGVkLAoJKGNyZWF0ZUxpc3RTZWxlY3Rpb25MaXN0ZW5lcik6IEltcGxlbWVudGVkLAoJKGdldFByZWZlcnJlZFNpemUpOiBJbXBsZW1lbnRlZCBiYWRseSwKCShnZXRNaW5pbXVtU2l6ZSk6IExpa2V3aXNlLAoJKGdldE1heGltdW1TaXplKTogSW1wbGVtZW50ZWQsCgkoY3JlYXRlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IEltcGxlbWVudGVkLAoJKGNyZWF0ZURpcmVjdG9yeUNvbWJvQm94UmVuZGVyZXIpOiBJbXBsZW1lbnRlZCwKCShhZGRDb250cm9sQnV0dG9ucyk6IEltcGxlbWVudGVkLAoJKHJlbW92ZUNvbnRyb2xCdXR0b25zKTogVE9ETywKCShlbnN1cmVGaWxlSXNWaXNpYmxlKTogVE9ETywKCShyZXNjYW5DdXJyZW50RGlyZWN0b3J5KTogSW1wbGVtZW50ZWQsCgkoZ2V0RmlsZU5hbWUpOiBJbXBsZW1lbnRlZCwKCShzZXRGaWxlTmFtZSk6IEltcGxlbWVudGVkLAoJKHNldERpcmVjdG9yeVNlbGVjdGVkKTogVE9ETywKCShnZXREaXJlY3RvcnlOYW1lKTogVE9ETywKCShzZXREaXJlY3RvcnlOYW1lKTogVE9ETywKCSh2YWx1ZUNoYW5nZWQpOiBUT0RPLAoJKGdldEFwcHJvdmVCdXR0b24pOiBJbXBsZW1lbnRlZCwKCShWZXJ0aWNhbE1pZExheW91dCk6IE5ldyBzdXBwb3J0IGNsYXNzLAoJKEJ1dHRvbkxheW91dCk6IE5ldyBzdXBwb3J0IGNsYXNzLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGluaXRDbGFzc0RlZmF1bHRzKTogQWRkICdGaWxlQ2hvb3NlclVJJyBkZWZhdWx0LAoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIEZpbGVDaG9vc2VyIGljb25zLgoKMjAwNS0xMS0yNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2xpcGJvYXJkLmMKCShjdXJyZW50X3NlbGVjdGlvbik6IERlZmluZSBhcyBnaW50LgoJKGNsaXBib2FyZF9jbGVhcl9mdW5jKTogRXh0cmFjdCB1c2VyX2RhdGEgd2l0aCBHUE9JTlRFUl9UT19JTlQuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2xpcGJvYXJkX2FkdmVydGlzZUNvbnRlbnQpOgoJQ29udmVydCBjdXJyZW50X3NlbGVjdGlvbiB3aXRoIEdJTlRfVE9fUE9JTlRFUi4KCjIwMDUtMTEtMjUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YSAocGFpbnRJY29uKTogT25seQoJcGFpbnQgaWNvbiB3aGVuIG5vdCBudWxsLgoKMjAwNS0xMS0yNSAgQ2hyaXN0aWFuIFRoYWxpbmdlciAgPHR3aXN0aUBjb21wbGFuZy50dXdpZW4uYWMuYXQ+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmMgCgkoc2F2ZV90b19zdHJlYW0pOiBBZGRlZCBtaXNzaW5nIERlbGV0ZUxvY2FsUmVmIGNhbGwuCgoyMDA1LTExLTI0ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9NZWRpYU5hbWUuamF2YSwKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL01lZGlhVHJheS5qYXZhOgoJTmV3IGZpbGVzLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTWVkaWFTaXplLmphdmE6CglBZGRlZCAiSVNPIiwgIk5BIiwgIkpJUyIgYW5kICJPdGhlciIgZW51bWVyYXRpb25zIG9mIHN0YW5kYXJkIHNpemVzLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTWVkaWFTaXplTmFtZS5qYXZhOgoJKGdldEVudW1WYWx1ZVRhYmxlLCBnZXRTdHJpbmdUYWJsZSk6IEFkZCBzdHVicy4KCjIwMDUtMTEtMjQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1Bhc3N3b3JkVmlldy5qYXZhCgkobW9kZWxUb1ZpZXcpOiBPdmVycmlkZGVuIHRvIGNvcnJlY3RseSBtYXAgYmV0d2VlbiBtb2RlbCBhbmQgdmlldwoJcmVzcGVjdGluZyB0aGUgZWNobyBjaGFyYWN0ZXIuCgkodmlld1RvTW9kZWwpOiBBZGRlZCBGSVhNRSB0byBzaG93IHRoYXQgdGhpcyBtZXRob2QgYWxzbyBuZWVkcwoJdG8gYmUgYWRqdXN0ZWQgbGlrZSB0aGUgYWJvdmUgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkocGFpbnQpOiBEb24ndCBzZXQgdGhlIGZvbnQgaGVyZS4gVGhpcyBpcyBhbHJlYWR5IGRvbmUgaW4gdGhlCgl0ZXh0IGNvbXBvbmVudCdzIEpDb21wb25lbnQuZ2V0Q29tcG9uZW50R3JhcGhpY3MoKSBtZXRob2QuCgkoZGFtYWdlTGluZVJhbmdlKTogT25seSByZXBhaW50IHRoZSBkYW1hZ2VkIHJlY3RhbmdsZS4KCjIwMDUtMTEtMjQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGFiZWxVSS5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IERvbid0IHVzZSBkZXByZWNhdGVkIG1ldGhvZCB0byBhY3F1aXJlCglGb250TWV0cmljcyBvYmplY3QuIFRoaXMgY2FuIGJlIGRvbmUgbW9yZSBlbGVnYW50bHkgdXNpbmcKCUNvbXBvbmVudC5nZXRGb250TWV0cmljcygpLgoJKHBhaW50KTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBmb250IHNldHRpbmcgY29kZS4gVGhpcyBpcyBhbHJlYWR5CglwZXJmb3JtZWQgaW4gSkNvbXBvbmVudC5nZXRDb21wb25lbnRHcmFwaGljcygpLgoKMjAwNS0xMS0yNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZUNlbGxSZW5kZXJlci5qYXZhCgkoZ2V0VGFibGVDZWxsUmVuZGVyZXJDb21wb25lbnQpOiBEb24ndCBzZXQgZW5hYmxlZCBmbGFnIG9uIHRoZQoJcmVuZGVyZXIuIFRoZSBjZWxscyBhcmUgcmVuZGVyZWQgbm9ybWFsbHkgZXZlbiB3aGVuIHRoZSB0YWJsZQoJaXMgZGlzYWJsZWQuCgoyMDA1LTExLTI0ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCShtb3VzZVByZXNzZWQpOiBXaGVuIHVzaW5nIHRoZSBCYXNpY0xvb2tBbmRGZWVsLCB0aGUgbW91c2UKCXNob3VsZCBiZSBpbiB0aGUgY2VudGVyIG9mIHRoZSBkcmFnV2luZG93IHdoaWxlIGRyYWdnaW5nLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVG9vbEJhclVJLmphdmEKCShjcmVhdGVEb2NraW5nTGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4KCShNZXRhbERvY2tpbmdMaXN0ZW5lcik6IE5ldyBjbGFzcy4KCShNZXRhbERvY2tpbmdMaXN0ZW5lci5pbml0KTogSW1wbGVtZW50ZWQuCgkoTWV0YWxEb2NraW5nTGlzdGVuZXIubW91c2VQcmVzc2VkKTogSW1wbGVtZW50ZWQuIFdoZW4gdXNpbmcgdGhlCglNZXRhbExvb2tBbmRGZWVsLCB0aGUgbW91c2Ugc2hvdWxkIG5vdCBiZSBvZmZzZXQgd2hpbGUgZHJhZ2dpbmcuCgkoTWV0YWxEb2NraW5nTGlzdGVuZXIubW91c2VEcmFnZ2VkKTogSW1wbGVtZW50ZWQuIERvZXMgbm90IGRvIAoJYW55dGhpbmcgZGlmZmVyZW50IHRoYW4gZHJhZ2dpbmcgaW4gdGhlIEJhc2ljTG9va0FuZEZlZWwuCgoyMDA1LTExLTI0ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQXJyb3dCdXR0b24uamF2YQoJKHBhaW50KTogRml4ZWQgbG9jYXRpb25zLCBzbyBidXR0b24gaXMgZHJhd24gaW4gcHJvcGVyIHBsYWNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lRGl2aWRlci5qYXZhCgkocGFpbnQpOiBBZGRlZCBjb2RlIHRvIHBhaW50IGJ1dHRvbnMuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTcGxpdFBhbmVEaXZpZGVyLmphdmE6CglBZGRlZCBuZXcgZmllbGRzLgoJKE1ldGFsU3BsaXRQYW5lRGl2aWRlcik6IEluaXRpYWxpemVkIG5ldyBmaWVsZHMsIGFuZCBzZXQgbGF5b3V0Cgl0byBuZXcgaW5uZXIgY2xhc3MuCgkocGFpbnQpOiBBZGRlZCBjb2RlIHRvIHBhaW50IGJ1dHRvbnMuCgkoRGl2aWRlckxheW91dCk6IE5ldyBjbGFzcyBpbXBsZW1lbnRlZC4KCShEaXZpZGVyTGF5b3V0LmluaXQpOiBJbXBsZW1lbnRlZC4KCShEaXZpZGVyTGF5b3V0LmFkZExheW91dENvbXBvbmVudCk6IEltcGxlbWVudGVkLgoJKERpdmlkZXJMYXlvdXQubGF5b3V0Q29udGFpbmVyKTogSW1wbGVtZW50ZWQuCgkoRGl2aWRlckxheW91dC5taW5pbXVtTGF5b3V0U2l6ZSk6IEltcGxlbWVudGVkLgoJKERpdmlkZXJMYXlvdXQucHJlZmVycmVkTGF5b3V0U2l6ZSk6IEltcGxlbWVudGVkLgoJKERpdmlkZXJMYXlvdXQucmVtb3ZlTGF5b3V0Q29tcG9uZW50KTogSW1wbGVtZW50ZWQuCQoKMjAwNS0xMS0yNCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvSW50ZXJuYXRpb25hbEZvcm1hdHRlcjogCgkoSW50ZXJuYXRpb25hbEZvcm1hdHRlcjxpbml0Pik6IE92ZXJyaWRlIHN1cGVyY2xhc3MgZGVmYXVsdHMgZm9yIAoJY29tbWl0c09uVmFsaWRFZGl0IGFuZCBvdmVyd3JpdGVNb2RlLgoJKiBqYXZheC9zd2luZy90ZXh0L051bWJlckZvcm1hdHRlci5qYXZhOiBOZXcgY2xhc3MuCgoyMDA1LTExLTIzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNjcm9sbFBhbmVVSS5qYXZhCgkoaW5zdGFsbFVJKTogU2V0IGZyZWUtc3RhbmRpbmcgY2xpZW50IHByb3BlcnR5IG9uIHNjcm9sbGJhcnMgdG8gZmFsc2UsCgkodW5pbnN0YWxsVUkpOiBTZXQgZnJlZS1zdGFuZGluZyBjbGllbnQgcHJvcGVydHkgb24gc2Nyb2xsYmFycyB0byBudWxsLgoKMjAwNS0xMS0yMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEljb25GYWN0b3J5LmphdmE6CglBZGRlZCBuZXcgZmllbGRzIHRvIHN0b3JlIGFuIGluc3RhbmNlIG9mIHRoZSBpY29ucy4KCShnZXRNZW51QXJyb3dJY29uKTogRml4ZWQgdG8gbWFrZSB1c2Ugb2YgdGhlIG5ldyBmaWVsZC4KCShnZXRNZW51SXRlbUFycm93SWNvbik6IEZpeGVkIGltcGxlbWVudGF0aW9uIHRvIHJldHVybgoJYW4gaW5zdGFuY2Ugb2YgdGhlIGljb24sIGluc3RlYWQgb2YgY2FsbGluZyBnZXRNZW51QXJyb3dJY29uLiAKCUV2ZW4gdGhvdWdoLCB0aGVzZSB0d28gbG9vayBpZGVudGljYWwuCgoyMDA1LTExLTIzICBKYW4gUm9laHJpY2ggIDxqYW5Acm9laHJpY2guaW5mbz4KCgkqIGphdmEvYXd0L2RhdGF0cmFuc2Zlci9EYXRhRmxhdm9yLmphdmEKCShpc0ZsYXZvclRleHRUeXBlKTogYWRkZWQgbWV0aG9kLgoKMjAwNS0xMS0yMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRvb2xCYXJVSS5qYXZhCgkoc2V0RHJhZ09mZnNldCk6IEltcGxlbWVudGVkLgoKMjAwNS0xMS0yMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBkZWZhdWx0cyBmb3IgbWVudSBhcnJvdyBpY29uLAoJbWVudSBpdGVtIGFycm93IGljb24gYW5kIG1lbnUgaXRlbSBjaGVjayBpY29uLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVGFiYmVkUGFuZVVJLmphdmE6CglBZGRlZCBuZXcgZmllbGQgdG8gc3RvcmUgZ3JhcGhpY3Mgd2hlbiBwYWludGluZyBoaWdobGlnaHQuCgkocGFpbnRUb3BUYWJCb3JkZXIpOiBBZGRlZCBjb2RlIHRvIGZpbGwgZ2FwIGlmIGl0IHNob3VsZCBiZQoJZmlsbGVkLgoJKHBhaW50Qm90dG9tVGFiQm9yZGVyKTogTGlrZXdpc2UuCgkocGFpbnRUYWJCYWNrZ3JvdW5kKTogQWRkZWQgY2FsbCB0byBwYWludCB0aGUgaGlnaGxpZ2h0IGJlbG93IHRoZSB0YWIuCgkoZ2V0Q29sb3JGb3JHYXApOiBBZGRlZCBjb2RlIHRvIHJldHVybiBzZWxlY3RlZCBjb2xvciwgaWYgc2VsZWN0ZWQuCgkoc2hvdWxkRmlsbEdhcCk6IENoYW5nZWQgdG8gcmV0dXJuIGZhbHNlLiBXaXRoIEpESywgZ2FwIGlzIG5ldmVyCglmaWxsZWQgaW4gTWV0YWxMJkYuCgkocGFpbnRIaWdobGlnaHRCZWxvd1RhYik6IEltcGxlbWVudGVkIHRvIHBhaW50IHRoZSBoaWdobGlnaHQgb24KCXNlbGVjdGVkIHRhYnMuCgkoY2FsY3VsYXRlTWF4VGFiSGVpZ2h0KTogUmVtb3ZlZC4KCShnZXRUYWJMYWJlbFNoaWZ0WCk6IFJlbW92ZWQuCgkoZ2V0VGFiTGFiZWxTaGlmdFkpOiBSZW1vdmVkLgoJKGdldFRhYlJ1bk92ZXJsYXkpOiBSZW1vdmVkLgoJKHBhaW50KTogUmVtb3ZlZC4KCShwYWludENvbnRlbnRCb3JkZXJCb3R0b21FZGdlKTogUmVtb3ZlZC4KCShwYWludENvbnRlbnRCb3JkZXJMZWZ0RWRnZSk6IFJlbW92ZWQuCgkocGFpbnRDb250ZW50Qm9yZGVyUmlnaHRFZGdlKTogUmVtb3ZlZC4KCShwYWludENvbnRlbnRCb3JkZXJUb3BFZGdlKTogUmVtb3ZlZC4KCShwYWludEZvY3VzSW5kaWNhdG9yKTogUmVtb3ZlZC4KCSh1cGRhdGUpOiBSZW1vdmVkLgoKMjAwNS0xMS0yMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKGdldExpc3RlbmVycyk6IFVwZGF0ZWQgQVBJIGRvY3MuCgoyMDA1LTExLTIzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShnZXRMaXN0ZW5lcnMpOiBVcGRhdGVkIEFQSSBkb2NzLgoKMjAwNS0xMS0yMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoZ2V0TGlzdGVuZXJzKTogQWRkZWQgc29tZSBkZXRhaWxzIHRvIHRoZSBBUEkgZG9jcy4KCjIwMDUtMTEtMjMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRTdHlsZWREb2N1bWVudC5qYXZhCgkoRWxlbWVudEJ1ZmZlci5udW1FbmRUYWdzKTogTmV3IGZpZWxkLgoJKEVsZW1lbnRCdWZmZXIubnVtU3RhcnRUYWdzKTogTmV3IGZpZWxkLgoJKEVsZW1lbnRCdWZmZXIuZWxlbWVudFN0YWNrKTogTmV3IGZpZWxkLgoJKEVsZW1lbnRCdWZmZXIuRWxlbWVudEJ1ZmZlcik6IEluaXRpYWxpemUgZWxlbWVudCBzdGFjayBoZXJlLgoJKEVsZW1lbnRCdWZmZXIuY2hhbmdlVXBkYXRlKTogQ29ycmVjdGx5IHBlcmZvcm0gc3BsaXR0aW5nIG9mCgllbGVtZW50cy4KCShFbGVtZW50QnVmZmVyLnNwbGl0KTogQ2hhbmdlIHRvIG1ha2UgcmVjdXJzaXZlIHNwbGl0cyBwb3NzaWJsZS4KCShFbGVtZW50QnVmZmVyLmluc2VydCk6IENsZWFyIGFuZCBpbml0aWFsaXplIGVsZW1lbnRTdGFjayBhbmQgbnVtKgoJZmllbGRzLgoJKEVsZW1lbnRCdWZmZXIuaW5zZXJVcGRhdGUpOiBJbmxpbmVkIHRoZSBmdW5jdGlvbmFsaXR5IGZvciBzdGFydAoJYW5kIGVuZCB0YWdzLiBDYWxsIGVuZEVkaXQgb24gZmluaXNoLgoJKEVsZW1lbnRCdWZmZXIuZW5kRWRpdCk6IE5ldyBtZXRob2QuIEZpbmlzaGVzIG9mZiBhbiBlZGl0IHJ1bi4KCShFbGVtZW50QnVmZmVyLnByZXBhcmVDb250ZW50SW5zZXJ0aW9uKTogTmV3IG1ldGhvZC4gUHJlcGFyZXMKCXRoZSBpbnNlcnRpb24gb2YgY29udGVudC4KCShFbGVtZW50QnVmZmVyLmluc2VydFBhcmFncmFwaCk6IE5ldyBtZXRob2QuIEluc2VydHMgYSBuZXcKCXBhcmFncmFwaCBhdCBhIGdpdmVuIG9mZnNldC4KCShFbGVtZW50QnVmZmVyLmluc2VydENvbnRlbnRUYWcpOiBDYWxsIHByZXBhcmVDb250ZW50SW5zZXJ0aW9uIGZpcnN0LgoJRml4ZWQgYmVoYXZpb3VyIGZvciBhbGwgdGhlIGRpZmZlcmVudCBwb3NzaWJsZSBkaXJlY3Rpb25zLgoJKEVsZW1lbnRCdWZmZXIuYWRkRWRpdCk6IE5ldyBtZXRob2QuIEFkZHMgYW4gZWxlbWVudCBlZGl0IHRvIHRoZQoJZG9jdW1lbnQgZXZlbnQgYW5kIHBvc3NpYmxlIG1lcmdlcyB3aXRoIHByZXZpb3VzIGVkaXRzLgoJKGluc2VydCk6IE9ubHkgZmlyZSBldmVudCB3aGVuIHNvbWV0aGluZyBoYXMgcmVhbGx5IGNoYW5nZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkoaW5zZXJ0U3RyaW5nKTogT25seSBmaXJlIGV2ZW50IHdoZW4gc29tZXRoaW5nIGhhcyByZWFsbHkgY2hhbmdlZC4KCShEZWZhdWx0RG9jdW1lbnRFdmVudC5tb2RpZmllZCk6IE5ldyBmaWVsZC4KCShEZWZhdWx0RG9jdW1lbnRFdmVudC5EZWZhdWx0RG9jdW1lbnRFdmVudCk6IEluaXRpdGlhbGl6ZSBtb2RpZmllZAoJZmllbGQuCgkoRGVmYXVsdERvY3VtZW50RXZlbnQuYWRkRWRpdCk6IFNldCBtb2RpZmllZCBmbGFnIHRvIHRydWUuCgoyMDA1LTExLTIzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEKCShnZXRQb3N0aW9uc0luUmFuZ2UpOiBGaXhlZCBiaW5hcnlTZWFyY2ggdG8gcmVhbGx5IGZpbmQgdGhlIGZpcnN0Cglwb3NpdGlvbiBpbiB0aGlzIHJhbmdlLgoJKHNldFBvc3Rpb25zSW5SYW5nZSk6IEZpeGVkIGJpbmFyeVNlYXJjaCB0byByZWFsbHkgZmluZCB0aGUgZmlyc3QKCXBvc2l0aW9uIGluIHRoaXMgcmFuZ2UuCgkoYWRqdXN0UG9zdGlvbnNJblJhbmdlKTogRml4ZWQgYmluYXJ5U2VhcmNoIHRvIHJlYWxseSBmaW5kIHRoZSBmaXJzdAoJcG9zaXRpb24gaW4gdGhpcyByYW5nZS4KCjIwMDUtMTEtMjMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJKGdldE5leHRWaXN1YWxQb3NpdGlvbkZyb20pOiBGaXhlZCBzaWduYXR1cmUgYW5kIChwYXJ0bHkpCglpbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9VdGlsaXRpZXMuamF2YQoJKGdldFBvc2l0aW9uQWJvdmUpOiBGaXhlZCB0byB1c2UgdGhlIGNvcnJlY3Qgc2lnbmF0dXJlIGZvciB0aGUgY2FsbAoJdG8gYWJvdmUgbWV0aG9kLgoJKGdldFBvc2l0aW9uQmVsb3cpOiBGaXhlZCB0byB1c2UgdGhlIGNvcnJlY3Qgc2lnbmF0dXJlIGZvciB0aGUgY2FsbAoJdG8gYWJvdmUgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvbmVudFZpZXcuamF2YQoJKGdldE5leHRWaXN1YWxQb3NpdGlvbkZyb20pOiBSZW1vdmVkIG1ldGhvZC4gVGhpcyBpcyBub3Qgc3BlY2lmaWVkCgl0byBiZSBpbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9Db21wb3NpdGVWaWV3LmphdmEKCShnZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogUmVtb3ZlZCBtZXRob2Qgd2l0aCB3cm9uZyBzaWduYXR1cmUuCglBIG1ldGhvZCB3aXRoIHRoZSBjb3JyZWN0IHNpZ25hdHVyZSBpcyBhbHJlYWR5IGluIHBsYWNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0Zsb3dWaWV3LmphdmEKCShMb2dpY2FsVmlldy5nZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogUmVtb3ZlZCBtZXRob2Qgd2l0aCB3cm9uZwoJc2lnbmF0dXJlLgoJKiBqYXZheC9zd2luZy90ZXh0L0dseXBoVmlldy5qYXZhCgkoZ2V0TmV4dFZpc3VhbFBvc2l0aW9uRnJvbSk6IFJlbW92ZWQgbWV0aG9kIHdpdGggd3Jvbmcgc2lnbmF0dXJlLgoJQSBtZXRob2Qgd2l0aCB0aGUgY29ycmVjdCBzaWduYXR1cmUgaXMgYWxyZWFkeSBpbiBwbGFjZS4KCSogamF2YXgvc3dpbmcvdGV4dC9JY29uVmlldy5qYXZhCgkoZ2V0TmV4dFZpc3VhbFBvc2l0aW9uRnJvbSk6IFJlbW92ZWQgbWV0aG9kLiBUaGlzIGlzIG5vdCBzcGVjaWZpZWQKCXRvIGJlIGltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkoZ2V0TmV4dFZpc3VhbFBvc2l0aW9uRnJvbSk6IFJlbW92ZWQgbWV0aG9kLiBUaGlzIGlzIG5vdCBzcGVjaWZpZWQKCXRvIGJlIGltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L1dyYXBwZWRQbGFpblZpZXcuamF2YQoJKFdyYXBwZWRMaW5lLmdldE5leHRWaXN1YWxQb3NpdGlvbkZyb20pOiBSZW1vdmVkIG1ldGhvZCB3aXRoIHdyb25nCglzaWduYXR1cmUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKFJvb3RWaWV3LmdldE5leHRWaXN1YWxQb3NpdGlvbkZyb20pOiBGaXhlZCBzaWduYXR1cmUuCgoyMDA1LTExLTIyICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkoSkVkaXRvclBhbmVBY2Nlc3NpYmxlSHlwZXJ0ZXh0U3VwcG9ydCk6IEltcGxlbWVudGVkLgoKMjAwNS0xMS0yMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRhYmJlZFBhbmVVSS5qYXZhCgkoZ2V0Q29sb3JGb3JHYXApOiBJbXBsZW1lbnRlZC4gQmFja2dyb3VuZCBjb2xvciBpcwoJYWx3YXlzIHJldHVybmVkIGluIHRoaXMgY2FzZS4KCShwYWludEhpZ2hsaWdodEJlbG93VGFiKTogQWRkZWQuIE5vdGhpbmcgdG8gZG8gaW4gCgl0aGlzIGZ1bmN0aW9uIGFzIGZhciBhcyBpIGNhbiB0ZWxsLgoJKHNob3VsZEZpbGxHYXApOiBJbXBsZW1lbnRlZC4gR2FwIHNob3VsZCBhbHdheXMgYmUgZmlsbGVkLgoJKHNob3VsZFJvdGF0ZVRhYlJ1bnMpOiBJbXBsZW1lbnRlZC4gVGFicyBhcmUgbm90IHJvdGF0ZWQKCWluIE1ldGFsLiBGYWxzZSBpcyBhbHdheXMgcmV0dXJuZWQuCgkoY2FsY3VsYXRlTWF4VGFiSGVpZ2h0KTogSW1wbGVtZW50ZWQgdG8gY2FsbCBzdXBlci4KCShnZXRUYWJMYWJlbFNoaWZ0WCk6IEltcGxlbWVudGVkLgoJKGdldFRhYkxhYmVsU2hpZnRZKTogSW1wbGVtZW50ZWQuCgkoZ2V0VGFiUnVuT3ZlcmxheSk6IEltcGxlbWVudGVkLgoJKHBhaW50KTogSW1wbGVtZW50ZWQgdG8gY2FsbCBzdXBlci4KCShwYWludENvbnRlbnRCb3JkZXJCb3R0b21FZGdlKTogTGlrZXdpc2UuCgkocGFpbnRDb250ZW50Qm9yZGVyTGVmdEVkZ2UpOiBMaWtld2lzZS4KCShwYWludENvbnRlbnRCb3JkZXJSaWdodEVkZ2UpOiBMaWtld2lzZS4KCShwYWludENvbnRlbnRCb3JkZXJUb3BFZGdlKTogTGlrZXdpc2UuCgkocGFpbnRGb2N1c0luZGljYXRvcik6IExpa2V3aXNlLgoJKHVwZGF0ZSk6IExpa2V3aXNlLiBTaG91bGQgbm90IHdvcmsgYW55IGRpZmZlcmVudGx5IGZyb20KCWRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgoyMDA1LTExLTIyICBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzRW52aXJvbm1lbnQuYwoJKG5hdGl2ZUdldEZvbnRGYW1pbGllcyk6IEFkZGVkIG1pc3NpbmcgRGVsZXRlTG9jYWxSZWYgY2FsbHMuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1BpeGJ1ZkRlY29kZXIuYwoJKHF1ZXJ5X2Zvcm1hdHMpOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hvaWNlUGVlci5jIAoJKGFwcGVuZCk6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMaXN0UGVlci5jIAoJKGFwcGVuZCk6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRtZW51cGVlci5jcHAgKHJ1bkV2ZW50KTogTGlrZXdpc2UuCgoyMDA1LTExLTIyICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSWNvbkZhY3RvcnkuamF2YQoJKGdldE1lbnVBcnJvd0ljb24pOiBJbXBsZW1lbnRlZC4KCShnZXRNZW51SXRlbUFycm93SWNvbik6IEltcGxlbWVudGVkIHRvIGNhbGwgZ2V0TWVudUFycm93SWNvbiwKCWJlY2F1c2UgYm90aCBpY29ucyBsb29rIHRoZSBzYW1lLgoJKGdldE1lbnVJdGVtQ2hlY2tJY29uKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUZXh0RmllbGRVSS5qYXZhCgkocHJvcGVydHlDaGFuZ2UpOiBJbXBsZW1lbnRlZCB0byBjYWxsIHN1cGVyIG9ubHksIGJlY2F1c2UgaXQKCWlzIGEgaG9vayBtZXRob2QuIEl0IGRvZXNuJ3QgaGF2ZSBhIGRpZmZlcmVudCBwdXJwb3NlIGZyb20KCUJhc2ljTG9va0FuZEZlZWwsIG90aGVyIHRoYW4gYWxsb3dpbmcgYSBzdWJjbGFzcyB0byBvdmVycmlkZSBpdC4KCjIwMDUtMTEtMjIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L01hc2tGb3JtYXR0ZXIuamF2YToKCShjb252ZXJ0VmFsdWUpOiBEb24ndCBjaGVjayB0aGUgdmFsaWQvaW52YWxpZCBjaGFyYWN0ZXIgc2V0cyBpZiB3ZSdyZSAKCW1hdGNoaW5nIGEgbGl0ZXJhbC4KCjIwMDUtMTEtMjIgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTY3JvbGxQYW5lVUkuamF2YQoJKGluc3RhbGxVSSk6IEltcGxlbWVudGVkLgoJKHVuaW5zdGFsbFVJKTogSW1wbGVtZW50ZWQuCgkoaW5zdGFsbExpc3RlbmVycyk6IEltcGxlbWVudGVkLgoJKHVuaW5zdGFsbExpc3RlbmVycyk6IEltcGxlbWVudGVkLgoJKGNyZWF0ZVNjcm9sbEJhclN3YXBMaXN0ZW5lcik6IFBhcnRpYWxseSBpbXBsZW1lbnRlZCwgbm90IHN1cmUKCXdoYXQgZWxzZSB0byBkbyBoZXJlLgoKMjAwNS0xMS0yMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvTWFza0Zvcm1hdHRlci5qYXZhOgoJKGNvbnZlcnRWYWx1ZSk6IElmIGNoYXJhY3RlciBpcyBhIGxpdGVyYWwgZG9uJ3QgdGhyb3cgYSBQYXJzZUV4Y2VwdGlvbgoJdW5sZXNzIGxpdGVyYWxzIGFyZW4ndCBhbGxvd2QgaW4gdmFsdWVzIGFuZCB0aGlzIG1ldGhvZCBpcyBiZWluZyAKCWNhbGxlZCBmcm9tIHZhbHVlVG9TdHJpbmcgcmF0aGVyIHRoYW4gc3RyaW5nVG9WYWx1ZS4gIFRoZSBjb252ZXJ0IGZsYWcKCWlzIHVzZWQgdG8gZGlzdGluZ3Vpc2ggdGhlc2UgdHdvIGNhc2VzLgoKMjAwNS0xMS0yMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENvbWJvQm94VUkuamF2YQoJKGNvbmZpZ3VyZUVkaXRvcik6IEltcGxlbWVudGVkLgoJKHVuY29uZmlndXJlRWRpdG9yKTogSW1wbGVtZW50ZWQuCgkobGF5b3V0Q29tYm9Cb3gpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMTEtMjIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L01hc2tGb3JtYXR0ZXIuamF2YTogTmV3IGNsYXNzLgoKMjAwNS0xMS0yMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCVBSIDI0OTM3CgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhCgkoZHJhd1N0cmluZyk6IFJlbW92ZWQgcGF0dGVybiBtYXRjaGluZyBjb2RlLiBUaGlzIGlzIG5vdwoJZG9uZSBpbiBuYXRpdmUuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljc19kcmF3U3RyaW5nKTogQWRkZWQKCWEgbG9vcCB0byBmaWx0ZXIgb3V0IGFsbCBub24tcHJpbnRpbmcgY2hhcmFjdGVycy4KCjIwMDUtMTEtMjIgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEgKHVwZGF0ZVRpbWVyU3RhdHVzKTogCglJZ25vcmUgdGhlIGZpZWxkICJ2aXNpYmxlIi4gCgoyMDA1LTExLTIyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBqYXZheC9zd2luZy9UcmFuc2ZlckhhbmRsZXIKCShnZXRDbGlwYm9hcmQpOiBBd2F5cyBjaGVjayBmb3IgdGhlIHBvc3NpYmlsaXR5IHRvIAoJYWNjZXNzIHRoZSBzeXN0ZW0gY2xpcGJvYXJkLgoKMjAwNS0xMS0yMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNPcHRpb25QYW5lVUkuamF2YQoJKGFkZE1lc3NhZ2VDb21wb25lbnRzKTogQWxzbyBidXJzdCB0aGUgc3RyaW5nIGlmIHRoZXJlIGFyZSBuZXdsaW5lcwoJaW4gaXQuCgkoYnVyc3RTdHJpbmdJbnRvKTogSW1wcm92ZWQgYWxnb3JpdGhtIHRvIGFsc28gaGFuZGxlIG5ld2xpbmVzLgoKMjAwNS0xMS0yMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzLmphdmEKCShkcmF3U3RyaW5nKTogRml4ZWQgcmVnZXguCgoyMDA1LTExLTIyICBJdG8gS2F6dW1pdHN1ICA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCglGaXhlcyBidWcgIzIyNjkxCgkqIGphdmEvaW8vU3RyZWFtVG9rZW5pemVyLmphdmEocGFyc2VOdW1iZXJzKTogQWRkZWQgc29tZSBjb21tZW50LgoKMjAwNS0xMS0yMiAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCVBSIDI0OTQyCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEgKGZvY3VzR2FpbmVkKToKCVVwZGF0ZSB0aW1lciBzdGF0dXMuIChmb2N1c0xvc3QpOiBTdG9wIHRoZSB0aW1lcgoJKHVubGVzcyB0aGUgZXZlbnQgaXMgdGVtcG9yYXJ5KS4KCSh1cGRhdGVUaW1lclN0YXR1cyk6IE5ldyBtZXRob2QuCgkoc2V0VmlzaWJsZSk6IERlbGVnYXRlIHRpbWVyIG1hbmFnZW1lbnQgdG8gdGhlIHVwZGF0ZVRpbWVyU3RhdHVzLgoKMjAwNS0xMS0yMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYXd0L2ltYWdlL0ltYWdlRGVjb2Rlci5qYXZhIChkYXRhaW5wdXQpOiBOZXcgZmllbGQuCgkoSW1hZ2VEZWNvZGVyKERhdGFJbnB1dCkpOiBOZXcgY29uc3RydWN0b3IuCgkoc3RhcnRQcm9kdWN0aW9uKTogQ3JlYXRlIERhdGFJbnB1dFN0cmVhbVdyYXBwZXIgd2hlbiBkYXRhaW5wdXQgc2V0LgoJKERhdGFJbnB1dFN0cmVhbVdyYXBwZXIpOiBOZXcgcHJpdmF0ZSBzdGF0aWMgaGVscGVyIGNsYXNzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrUGl4YnVmRGVjb2Rlci5qYXZhCgkoR2RrUGl4YnVmRGVjb2RlcihEYXRhSW5wdXQpKTogTmV3IGNvbnN0cnVjdG9yLgoJKHNldElucHV0KTogQ2hlY2sgd2hldGhlciBnZXRJbnB1dCgpIHJlc3VsdHMgaW4gYW4gSW5wdXRTdHJlYW0gb3IKCURhdGFJbnB1dC4KCjIwMDUtMTEtMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEgKGNhY2hlZE1pbmltdW1TaXplKToKCURvY3VtZW50LgoJKGlzTWluaW11bVNpemVEaXJ0eSk6IExpa2V3aXNlLiBBbmQgaW5pdGlhbGl6ZSB0byB0cnVlLgoJKGdldE1pbmltdW1TaXplKTogVXNlIGFuZCBzZXQgY2FjaGVkTWluaW11bVNpemUuCgkoRm9jdXNIYW5kbGVyLmZvY3VzR2FpbmVkKTogU2V0IGlzTWluaW11bVNpemVEaXJ0eSB0byB0cnVlLgoJKEZvY3VzSGFuZGxlci5mb2N1c0xvc3QpOiBMaWtld2lzZS4KCShJdGVtSGFuZGxlci5pdGVtU3RhdGVDaGFuZ2VkKTogTGlrZXdpc2UuCgkoTGlzdERhdGFIYW5kbGVyLmNvbnRlbnRzQ2hhbmdlZCk6IExpa2V3aXNlLgoJKExpc3REYXRhSGFuZGxlci5pbnRlcnZhbEFkZGVkKTogTGlrZXdpc2UuCgkoTGlzdERhdGFIYW5kbGVyLmludGVydmFsUmVtb3ZlZCk6IExpa2V3aXNlLgoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IExpa2V3aXNlLgoKMjAwNS0xMS0yMSAgSmFuIFJvZWhyaWNoICA8amFuQHJvZWhyaWNoLmluZm8+CgoJKiBqYXZhL2F3dC9kYXRhdHJhbnNmZXIvRGF0YUZsYXZvci5qYXZhOiBtb3JlIGNvZGUgc3R5bGUKCWZpeGVzLiBDaGFuZ2VkIG9yZGVyIHRvIHN0YXRpYyBhdHRyaWJ1dGVzLCBhdHRyaWJ1dGVzLCBzdGF0aWMKCW1ldGhvZHMsIGNvbnN0cnVjdG9ycywgbWV0aG9kcy4gTW92ZWQgc3RhdGljIHBhcnQgaW50byBzdGF0aWMgCglhdHRyaWJ1dGUgZGVjbGFyYXRpb24uCgoyMDA1LTExLTIxICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJUFIgY2xhc3NwYXRoL1BSMjQ5MzcKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzLmphdmEKCShkcmF3U3RyaW5nKTogUmVtb3ZlZCBtb3N0IG5vbi1wcmludGFibGUgY2hhcmFjdGVycwoJZnJvbSB0aGUgc3RyaW5nIHRoYXQgd2lsbCBiZSBkcmF3bi4gQWRkZWQgYSBGSVhNRSBjb21tZW50CgliZWNhdXNlIG1heSBub3QgaGF2ZSBmaWx0ZXJlZCBvdXQgYWxsIGNoYXJhY3RlcnMuCgoyMDA1LTExLTIxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YSAocHJvcGVydHlDaGFuZ2UpOiBPbmx5IHJlc2l6ZSBoZWFkZXIgd2hlbgoJbm90IG51bGwuCgoyMDA1LTExLTIxICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJUFIgY2xhc3NwYXRoL1BSMjQ4NzIKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0RWRpdG9yS2l0LmphdmEKCShhY3Rpb25QZXJmb3JtZWQpOiBJbXBsZW1lbnRlZC4KCShhY3Rpb25QZXJmb3JtZWQpOiBJbXBsZW1lbnRlZC4KCShhY3Rpb25QZXJmb3JtZWQpOiBJbXBsZW1lbnRlZC4KCShhY3Rpb25QZXJmb3JtZWQpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoSlRleHRDb21wb25lbnQpOiBBZGRlZCBrZXkgYmluZGluZ3MgZm9yIGN1dCwgY29weSwKCXBhc3RlLCBzZWxlY3Rpb25CYWNrd2FyZEFjdGlvbiwgc2VsZWN0aW9uRm9yd2FyZEFjdGlvbi4KCjIwMDUtMTEtMjEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJRml4ZXMgYnVnICMyNDkyNQoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YToKCShEZWZhdWx0S2V5VHlwZWRBY3Rpb24uYWN0aW9uUGVmb3JtZWQpOiBDYWxsIHJlcGxhY2VTZWxlY3Rpb24gaGVyZQoJaW5zdGVhZCBvZiBpbnNlcnRTdHJpbmcgYW5kIG9ubHkgZG8gc28gaWYgdGhlIHRleHQgY29tcG9uZW50IGlzIGJvdGggCgllbmFibGVkIGFuZCBlZGl0YWJsZS4KCjIwMDUtMTEtMjEgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhCgkoY3VycmVudFJlcGFpbnRNYW5hZ2Vycyk6IFVzZSBhIFdlYWtIYXNoTWFwIHRvIGF2b2lkIHBvdGVudGlhbAoJbWVtb3J5IGxlYWsuCgkoY3VycmVudE1hbmFnZXIpOiBJbnN0YW50aWF0ZSBXZWFrSGFzaE1hcCBpbnN0ZWFkIG9mIEhhc2hNYXAuCgkoc2V0Q3VycmVudE1hbmFnZXIpOiBJbnN0YW50aWF0ZSBXZWFrSGFzaE1hcCBpbnN0ZWFkIG9mIEhhc2hNYXAuCgoyMDA1LTExLTIxICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmEKCShzdGF0aWNfaW5pdGlhbGl6ZXIpOiBJbml0aWFsaXplIHRoZSBkZWZhdWx0U2Nyb2xsTW9kZSBoZXJlLgoJKEpWaWV3cG9ydCk6IFNldCB0aGUgZGVmYXVsdFNjcm9sbE1vZGUgdGhhdCB3YXMgaW5pdGlhbGl6ZWQgaW4KCXRoZSBzdGF0aWMgaW5pdGlhbGl6ZXIuCgoyMDA1LTExLTIxICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShjb2x1bW5BdFBvaW50KTogUmVtb3ZlZCB1bnVzZWQgY29kZS4KCShyb3dBdFBvaW50KTogUmVtb3ZlZCB1bnVzZWQgY29kZS4KCShwcmVwYXJlUmVuZGVyZXIpOiBNb3ZlZCByZW5kZXJlciBwcmVwYXJlIGNvZGUgZnJvbSB0aGUgVUkgdG8gdGhpcwoJbWV0aG9kLgoJKGdldFNlbGVjdGlvbnMpOiBSZW1vdmVkIHVudXNlZCBjb2RlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhCgkocGFpbnRDZWxsKTogQ2FsbCBKVGFibGUucHJlcGFyZVJlbmRlcmVyIGluc3RlYWQgb2YgcHJlcGFyaW5nCgl0aGUgcmVuZGVyZXIgaW4gdGhlIFVJLgoJKHBhaW50KTogUmVtb3ZlZCBzb21lIHVudXNlZCBjb2RlLgoKMjAwNS0xMS0yMSAgSmFuIFJvZWhyaWNoICA8amFuQHJvZWhyaWNoLmluZm8+CgoJKiBqYXZhL2F3dC9kYXRhdHJhbnNmZXIvRGF0YUZsYXZvci5qYXZhOiBmaXhlZCBjb2RlIAoJZm9ybWF0dGluZyBpc3N1ZXMKCjIwMDUtMTEtMjAgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVySW1wbC5qYXZhOiBFbnN1cmUgdGhhdCBvdXRwdXQgc3RyZWFtCglpcyBub3QgY2xvc2VkIGlmIHByb3ZpZGVkIGluIHRoZSBTdHJlYW1SZXN1bHQuCgoyMDA1LTExLTE5ICBJdG8gS2F6dW1pdHN1ICA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCgkqIEFVVEhPUlM6IEFkZGVkIG15c2VsZi4KCjIwMDUtMTEtMTkgIFdvbGZnYW5nIEJhZXIgIDxXQmFlckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvU2l6ZTJEU3ludGF4LmphdmE6IAoJQWRkZWQgYW5kIGVuaGFuY2VkIGFwaSBkb2NzIGZvciB0aGlzIGNsYXNzLgoJKHRvU3RyaW5nKCkpOiBDaGFuZ2VkIHRvIHJldHVybiB2YWx1ZXMgYXMgaW50cy4KCSh0b1N0cmluZyhpbnQsU3RyaW5nKSk6IENoYW5nZWQgdG8gbm90IGFwcGVuZCB0aGUgdW5pdHNOYW1lIGlmIG51bGwuCgoyMDA1LTExLTE5ICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL1Jlc29sdXRpb25TeW50YXguamF2YSAodG9TdHJpbmcpOgoJQ2hhbmdlZCB0byBub3QgYXBwZW5kIHRoZSB1bml0c05hbWUgaWYgbnVsbC4gQ2xhcmlmaWVkIGFwaSBkb2NzLgoKMjAwNS0xMS0xOSAgV29sZmdhbmcgQmFlciAgPFdCYWVyQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9UZXh0U3ludGF4LmphdmE6CglBZGRlZCBhbmQgZW5oYW5jZWQgYXBpIGRvY3MgZm9yIHRoaXMgY2xhc3MuCgkoVGV4dFN5bnRheCk6IElmIGxvY2FsZSBpcyBudWxsIHVzZSB0aGUgZGVmYXVsdCBsb2NhbGUuCgoyMDA1LTExLTE5ICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL1NldE9mSW50ZWdlclN5bnRheC5qYXZhOiAKCUFkZGVkIGFuZCBlbmhhbmNlZCBhcGkgZG9jcyBmb3IgdGhpcyBjbGFzcy4JCgkoU2V0T2ZJbnRlZ2VyU3ludGF4KFN0cmluZykpOiBDcmVhdGUgZW1wdHkgc2V0IGlmIGdpdmVuIHN0cmluZyBpcyBudWxsLgoKMjAwNS0xMS0xOSAgV29sZmdhbmcgQmFlciAgPFdCYWVyQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9SZXNvbHV0aW9uU3ludGF4LmphdmE6CglBZGRlZCBhbmQgZW5oYW5jZWQgYXBpIGRvY3MgZm9yIHRoaXMgY2xhc3MuCgkoZ2V0RmVlZFJlc29sdXRpb24pOiBVc2UgY29ycmVjdCBmZWVkcmVzb2x1dGlvbiB2YXJpYWJsZQoJYW5kIGRvIG5vdCBhZGQgYW4gYWRkaXRpb25hbCB1bml0IHRvIHRoZSByZXNvbHV0aW9uLgoJKGdldENyb3NzRmVlZFJlc29sdXRpb24pOiBEbyBub3QgYWRkIGFkZGl0aW9uYWwgdW5pdCB0byByZXNvbHV0aW9uLgoKMjAwNS0xMS0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUYWJiZWRQYW5lVUkuamF2YQoJKHBhaW50VGFiQmFja2dyb3VuZCk6IEZpeGVkIGNvbG9ycyBmb3IgdGhlIHRhYiBiYWNrZ3JvdW5kLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL09jZWFuVGhlbWUuamF2YQoJKGFkZEN1c3RvbUVudHJpZXNUb1RhYmxlKTogQWRkZWQgY29sb3IgbW9kaWZpY2F0aW9ucyBmb3IKCVRhYmJlZFBhbmUuCgoyMDA1LTExLTE4ICBEYXZpZCBEYW5leSAgPGRkYW5leUBhdnRyZXguY29tPgoKCSogQVVUSE9SUyAoRGF2aWQgRGFuZXkpOiBOZXcgZW50cnkuIAoKMjAwNS0xMS0xOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoc2V0QmFja2dyb3VuZCk6IERvbid0IGluaGVyaXQgYmFja2dyb3VuZCBmcm9tIHBhcmVudC4KCShhZGRNb3VzZU1vdGlvbkxpc3RlbmVyKTogRW5hYmxlIE1PVVNFX01PVElPTl9FVkVOVF9NQVNLIGluc3RlYWQKCW9mIE1PVVNFX0VWRU5UX01BU0suCgkoZXZlbnRUeXBlRW5hYmxlZCk6IEhhbmRsZSBtb3VzZSBldmVudHMgYW5kIG1vdXNlIG1vdGlvbiBldmVudHMKCXNlcGFyYXRlbHkuCgoyMDA1LTExLTE4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRhYmJlZFBhbmVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogQWRkZWQgc3VwZXIuaW5zdGFsbERlZmF1bHRzKCkuCgoyMDA1LTExLTE4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlSGVhZGVyVUkuamF2YQoJKGluc3RhbGxVSSk6IEluc3RhbGwgYSBDZWxsUmVuZGVyZXJQYW5lLgoJKHBhaW50KTogUGFpbnQgdGhlIHJlbmRlcmVyIGNvbXBvbmVudCB1c2luZyB0aGUgcmVuZGVyZXJQYW5lLCBub3QKCWRpcmVjdGx5LgoKMjAwNS0xMS0xOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YQoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IFJlcGxhY2VkIGxheW91dCgpIGNhbGwKCXdpdGggcmV2YWxpZGF0ZSgpIGNhbGwuCgkoVGFiYmVkUGFuZUxheW91dC5jYWxjdWxhdGVMYXlvdXRJbmZvKTogQWRkZWQgYXNzdXJlUmVjdHNDcmVhdGVkKCkKCWNhbGwgdG8gbWFrZSBzdXJlIHdlIGhhdmUgdGhlIHJlY3RhbmdsZXMgaW4gcGxhY2UuIEFsc28gaW5pdGlhbGl6ZQoJdGhlIGNvbnRlbnRSZWN0IGhlcmUgc28gaXQgY2FuIGJlIHVzZWQgbGF0ZXIuCgkoVGFiYmVkUGFuZUxheW91dC5jYWxjdWxhdGVTaXplKTogUmVtb3ZlZCB1bnVzZWQgc3RhdGVtZW50LgoJKFRhYmJlZFBhbmVMYXlvdXQuY2FsY3VsYXRlVGFiUmVjdHMpOiBNb3ZlZCBhc3N1cmVSZWN0c0NyZWF0ZWQgY2FsbAoJdG8gY2FsY3VsYXRlTGF5b3V0SW5mbygpLgoJKFRhYmJlZFBhbmVTY3JvbGxMYXlvdXQuY2FsY3VsYXRlVGFiUmVjdHMpOiBNb3ZlZAoJYXNzdXJlUmVjdHNDcmVhdGVkIGNhbGwJdG8gY2FsY3VsYXRlTGF5b3V0SW5mbygpLiBSZW1vdmVkIHVudXNlZAoJc3RhdGVtZW50cy4KCShUYWJiZWRQYW5lU2Nyb2xsTGF5b3V0LmxheW91dENvbnRhaW5lcik6IFJlcGxhY2VkIGhpZGUoKSBhbmQgc2hvdygpCgljYWxscyB3aXRoIGNhbGxzIHRvIHNldFZpc2libGUoKS4gRXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2UKCXNldFZpc2libGUgaXMgaGFuZGxlZCBzcGVjaWFsIGluIFN3aW5nLgoJKEJhc2ljVGFiYmVkUGFuZVVJKTogSW5pdGlhbGl6ZSByZWN0cyBhbmQgdGFiUnVucyBmaWVsZHMuCgkoaW5zdGFsbFVJKTogUmVtb3ZlZCBsYXlvdXQoKSBjYWxsLgoJKHBhaW50Q29udGVudEJvcmRlcik6IFJlbW92ZWQgdW51c2VkIHN0YXRlbWVudC4KCShhc3N1cmVSZWN0c0NyZWF0ZWQpOiBSZXdvcmtlZCB0byBtYXRjaCB0aGUgSkRLIGJlaGF2aW91ci4KCShnZXRGb250TWV0cmljcyk6IFVzZSB0aGUgY29tcG9uZW50IGdldEZvbnRNZXRyaWNzKCkgaW5zdGVhZCBvZgoJdGhlIGRlcHJlY2F0ZWQgdG9vbGtpdCBtZXRob2QuCgoyMDA1LTExLTE4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShnZXRDZWxsUmVuZGVyZXIpOiBSZXBsYWNlZCBkYXRhTW9kZWwuZ2V0Q29sdW1uQ2xhc3MoKSB3aXRoCgl0aGUgc2hvcnRlciBnZXRDb2x1bW5DbGFzcygpLgoJKGdldENvbHVtbkNsYXNzKTogQ2FsbCBnZXRNb2RlbCgpIGluc3RlYWQgb2YgYWNjZXNzaW5nIGRhdGFNb2RlbAoJZGlyZWN0bHkuIEltcG9ydGFudCBmb3IgY29ycmVjdCBvcGVyYXRpb24gb2Ygc3ViY2xhc3Nlcy4KCjIwMDUtMTEtMTggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhCgkoaW5zZXJ0VGFiKTogRG9uJ3QgY2FsbCBsYXlvdXQoKSBkaXJlY3RseSwgaW5zdGVhZCBjYWxsCglyZXZhbGlkYXRlKCkuCgoyMDA1LTExLTE4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShmaW5kQ29tcG9uZW50Rm9yTW91c2VFdmVudEF0KTogQWxzbyBjaGVjayBmb3IgbW91c2VNb3Rpb25MaXN0ZW5lcnMsCglvdGhlcndpc2Ugd2Ugd291bGRuJ3QgZGlzcGF0Y2ggbW91c2UgbW90aW9uIGV2ZW50cyBvbiBjb21wb25lbnRzCgl0aGF0IGhhdmUgbm8gbW91c2UgbGlzdGVuZXIgaW5zdGFsbGVkLgoKMjAwNS0xMS0xOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJCglQUiBjbGFzc3BhdGgvUFIyNDc1NAoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXJfZ2V0VGV4dE1ldHJpY3MpOiBGaXhlZCB3aWR0aAoJZm9yIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBpbiB0aGUgbGF5b3V0J3MgdGV4dC4KCU90aGVyd2lzZSwgdGhlIHdpZHRoIG9mIHRoZSBsYXlvdXQgd291bGQgYmUgcmV0dXJuZWQsIHdoaWNoIGlzIHRoZQoJbWF4IHdpZHRoIG9mIGFsbCB0aGUgbGluZXMgaW4gdGhlIHRleHQuIEEgbG9vcCB3YXMgYWRkZWQgdG8gZ2V0IHRoZQoJZXh0ZW50IG9mIGFsbCB0aGUgbGluZXMgYW5kIGFkZCB0aGVtIHRvZ2V0aGVyLgoKMjAwNS0xMS0xOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUYWJiZWRQYW5lVUkuamF2YQoJKG1pblRhYldpZHRoKTogTmV3IGZpZWxkLgoJKHNlbGVjdENvbG9yKTogTmV3IGZpZWxkLgoJKHNlbGVjdEhpZ2hsaWdodCk6IE5ldyBmaWVsZC4KCSh0YWJBcmVhQmFja2dyb3VuZCk6IE5ldyBmaWVsZC4KCShpbnN0YWxsRGVmYXVsdHMpOiBJbml0aWFsaXplIG5ldyBmaWVsZHMgd2l0aCB2YWx1ZXMgZm9yIFVJTWFuYWdlci4KCjIwMDUtMTEtMTggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmEKCShpbnN0YWxsVUkpOiBEb24ndCBpbnN0YWxsIGxheW91dCBoZXJlLgoJKHVuaW5zdGFsbFVJKTogRG9uJ3QgdW5pbnN0YWxsIGxheW91dCBoZXJlLgoJKGluc3RhbGxEZWZhdWx0cyk6IEluc3RhbGwgbGF5b3V0IGhlcmUuCgkodW5pbnN0YWxsRGVmYXVsdHMpOiBVbmluc3RhbGwgbGF5b3V0IGhlcmUuCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IFVzZSBnZXRMYXlvdXQoKSB0byBmZXRjaCB0aGUgbGF5b3V0IG9mIHRoZSBmcmFtZQoJaW5zdGVhZCBvZiBkaXJlY3RseSBhY2Nlc3NpbmcgdGhlIGNvcnJlc3BvbmRpbmcgZmllbGQuIFRoaXMKCWlzIG5lY2Vzc2FyeSB0byBtYWtlIHN1YmNsYXNzZXMgd29yayB0aGF0IGRvbid0IHVzZSB0aGlzIGZpZWxkLgoJKGdldE1pbmltdW1TaXplKTogTGlrZXdpc2UuCgkoZ2V0TWF4aW11bVNpemUpOiBMaWtld2lzZS4KCjIwMDUtMTEtMTggIEdhcnkgQmVuc29uICA8Z2JlbnNvbkByZWRoYXQuY29tPgoKCSogQVVUSE9SUzogQWRkZWQgbXlzZWxmLgoKMjAwNS0xMS0xOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHNldFByZWZlcnJlZFNpemUpOiBDaGVjayBmb3IgbnVsbCBhcmd1bWVudCBiZWZvcmUgbWFraW5nIGEgY29weS4KCjIwMDUtMTEtMTggIEdhcnkgQmVuc29uICA8Z2JlbnNvbkByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1NlY3VyaXR5TWFuYWdlci5qYXZhIChjaGVja0FjY2Vzcyk6IENvcnJlY3RseQoJaWRlbnRpZnkgc3lzdGVtIHRocmVhZHMgKGFuZCB0aHVzIGNoZWNrIHBlcm1pc3Npb25zIGZvciB0aGVtKS4KCjIwMDUtMTEtMTggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShzZXRNaW5pbXVtU2l6ZSk6IENoZWNrIGZvciBudWxsIGFyZ3VtZW50IGJlZm9yZSBtYWtpbmcgYSBjb3B5LgoKMjAwNS0xMS0xOCAgUGF1bCBKZW5uZXIgIDxwc2pAaGFya2VyLmR5bmRucy5vcmc+CgoJKiBuYXRpdmUvam5pL3htbGoveG1sal91dGlsLmggKFhNTEpfNjRCSVRfUE9JTlRFUik6IFJlbW92ZWQuCgoyMDA1LTExLTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoc2V0TWF4aW11bVNpemUpOiBDaGVjayBmb3IgbnVsbCBhcmd1bWVudCBiZWZvcmUgbWFraW5nIGEgY29weS4KCjIwMDUtMTEtMTcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkoUGxhaW5FZGl0b3JLaXQpOiBOZXcgaW5uZXIgY2xhc3MuCgkoY3JlYXRlRGVmYXVsdEVkaXRvcktpdCk6IFJldHVybiBhbiBpbnN0YW5jZSBvZiBQbGFpbkVkaXRvcktpdC4KCSogamF2YXgvc3dpbmcvSlRleHRQYW5lLmphdmEKCShpbnNlcnRDb21wb25lbnQpOiBJbXBsZW1lbnRlZCBwcmV2aW91c2x5IHN0dWJiZWQgbWV0aG9kLgoJKGluc2VydEljb24pOiBJbXBsZW1lbnRlZCBwcmV2aW91c2x5IHN0dWJiZWQgbWV0aG9kLgoKMjAwNS0xMS0xNyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNFZGl0b3JQYW5lVUkuamF2YQoJKGNyZWF0ZSk6IFJlbW92ZWQgdW5uZWVkZWQgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFBhbmVVSS5qYXZhCgkoY3JlYXRlKTogUmVtb3ZlZCB1bm5lZWRlZCBtZXRob2QuCgoyMDA1LTExLTE3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShDb250YWluZXIpOiBBZGRlZCBjb21tZW50LgoJKHJlbW92ZSk6IE9ubHkgY2FsbCByZW1vdmVOb3RpZnkgaWYgcmVtb3ZlZCBjb21wb25lbnQgaXMgc3RpbGwKCXNob3dpbmcuCgkocGFpbnRDb21wb25lbnRzKTogQ2FsbCBwYWludCgpIGluc3RlYWQgb2Ygc3VwZXIucGFpbnQoKS4KCShBY2Nlc3NpYmxlQ29udGFpbmVySGFuZGxlci5BY2Nlc3NpYmxlQ29udGFpbmVySGFuZGxlcik6IEFkZGVkCgljb21tZW50LgoJKExpZ2h0d2VpZ2h0RGlzcGF0Y2hlci5hY3F1aXJlQ29tcG9uZW50Rm9yTW91c2VFdmVudCk6CglEb24ndCBzcGVjaWFsIGNhc2UgTU9VU0VfUkVMRUFTRUQgZXZlbnRzLiBUaGV5IHNob3VsZCBiZQoJZGlzcGF0Y2hlZCB1bm1vZGlmaWVkIGp1c3QgYXMgTU9VU0VfUFJFU1NFRC4KCShMaWdodHdlaWdodERpc3BhdGNoZXIuaGFuZGxlRXZlbnQpOiBBbHNvIGNsZWFuIHVwIHRoZSBwcmVzc0NvdW50CglhZnRlciBhIE1PVVNFX1JFTEVBU0UuCgoyMDA1LTExLTE3ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9Cb3hWaWV3LmphdmE6CgkobW9kZWxUb1ZpZXcpOiBOZXcgQVBJIG1ldGhvZC4KCjIwMDUtMTEtMTcgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglQUiBjbGFzc3BhdGgvUFIyNDcyMQoJKiBqYXZheC9zd2luZy90ZXh0L0JveFZpZXcuamF2YQoJKGdldFZpZXdBdFBvaW50KTogQWRkZWQgY2hlY2sgaW4gdG8gcmV0dXJuIHRoZSBsYXN0IHZpZXcsIGlmIG9uZQoJZXhpc3RzIGFuZCB0aGUgcG9pbnQgd2FzIG5vdCBjb250YWluZWQgaW4gdGhlIHJlY3RhbmdsZS4gVGhpcyBpcwoJd2hhdCB0aGUgSkRLIGRvZXMuCgkqIGphdmF4L3N3aW5nL3RleHQvQ29tcG9zaXRlVmlldy5qYXZhCgkodmlld1RvTW9kZWwpOiBGaXhlZCBBUEkgZG9jdW1lbnRhdGlvbi4gQWRkZWQgY2hlY2sgdG8gbWFrZSBzdXJlCgl4IGFuZCB5IGFyZSBncmVhdGVyIHRoYW4gMC4gT3RoZXJ3aXNlLCAwIGlzIHJldHVybmVkLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRDYXJldC5qYXZhCgkobW92ZURvdCk6IEFkZGVkIGNoZWNrIHRvIG1hdGNoIEFQSSBzcGVjcy4KCShzZXREb3QpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9HbHlwaFZpZXcuamF2YQoJKHZpZXdUb01vZGVsKTogUmVtb3ZlZCBhc3NlcnQuIFRoaXMgaXMgbm90IG5lZWRlZCBoZXJlLiBUaGUgcG9pbnQKCWRvZXMgbm90IG5lZWQgdG8gYmUgaW4gdGhlIHJlY3RhbmdsZS4KCjIwMDUtMTEtMTcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJUmVwb3J0ZWQgYnkgUm9tYW4gU2NobmlkZXIgPHNjaG5pZGVyQGFpY2FzLmNvbT46CgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkocmVzaGFwZSk6IFJlbW92ZWQgdW51c2VkIHN0YXRlbWVudC4KCShyZXBhaW50KCkpOiBEb24ndCBmb3J3YXJkIHRvIHBhcmVudCB3aGVuIG5vdCBzaG93aW5nLgoJKHJlcGFpbnQoaW50KSk6IERvbid0IGZvcndhcmQgdG8gcGFyZW50IHdoZW4gbm90IHNob3dpbmcuCgkocmVwYWludChpbnQsaW50LGludCxpbnQpKTogRG9uJ3QgZm9yd2FyZCB0byBwYXJlbnQgd2hlbiBub3Qgc2hvd2luZy4KCShyZXBhaW50KGZsb2F0LGludCxpbnQsaW50LGludCkpOiBEb24ndCBmb3J3YXJkIHRvIHBhcmVudCB3aGVuIG5vdAoJc2hvd2luZy4KCjIwMDUtMTEtMTcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKExlYWZFbGVtZW50LmdldE5hbWUpOiBJZiBzdXBlci5nZXROYW1lKCkgcmV0dXJucyBzb21ldGhpbmcKCW5vbi1udWxsLCB0aGVuIHJldHVybiB0aGF0IGluc3RlYWQgb2YgQ29udGVudEVsZW1lbnROYW1lLgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvbmVudFZpZXcuamF2YQoJKGNvbXApOiBOZXcgZmllbGQuCgkoZ2V0QWxpZ25tZW50KTogSW1wbGVtZW50ZWQgcHJldmlvdXNseSBzdHViYmVkIG1ldGhvZC4KCShnZXRDb21wb25lbnQpOiBJbXBsZW1lbnRlZCBwcmV2aW91c2x5IHN0dWJiZWQgbWV0aG9kLgoJKGdldE1heGltdW1TcGFuKTogSW1wbGVtZW50ZWQgcHJldmlvdXNseSBzdHViYmVkIG1ldGhvZC4KCShnZXRNaW5pbXVtU3Bhbik6IEltcGxlbWVudGVkIHByZXZpb3VzbHkgc3R1YmJlZCBtZXRob2QuCgkoZ2V0UHJlZmVycmVkU3Bhbik6IEltcGxlbWVudGVkIHByZXZpb3VzbHkgc3R1YmJlZCBtZXRob2QuCgkobW9kZWxUb1ZpZXcpOiBJbXBsZW1lbnRlZCBwcmV2aW91c2x5IHN0dWJiZWQgbWV0aG9kLgoJKHBhaW50KTogSW1wbGVtZW50ZWQgcHJldmlvdXNseSBzdHViYmVkIG1ldGhvZC4KCShzZXRQYXJlbnQpOiBJbXBsZW1lbnRlZCBwcmV2aW91c2x5IHN0dWJiZWQgbWV0aG9kLgoJKHNldFNpemUpOiBSZW1vdmVkIHVubmVlZGVkIG1ldGhvZC4KCSh2aWV3VG9Nb2RlbCk6IEltcGxlbWVudGVkIHByZXZpb3VzbHkgc3R1YmJlZCBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvRmxvd1ZpZXcuamF2YQoJKGluc2VydFVwZGF0ZSk6IEZvcndhcmQgdGhpcyBldmVudCB0byB0aGUgbG9naWNhbCB2aWV3LgoJKiBqYXZheC9zd2luZy90ZXh0L0ljb25WaWV3LmphdmEKCShwYWludCk6IEltcGxlbWVudGVkIHByZXZpb3VzbHkgc3R1YmJlZCBtZXRob2QuCgkoZ2V0UHJlZmVycmVkU3Bhbik6IEltcGxlbWVudGVkIHByZXZpb3VzbHkgc3R1YmJlZCBtZXRob2QuCgkobW9kZWxUb1ZpZXcpOiBJbXBsZW1lbnRlZCBwcmV2aW91c2x5IHN0dWJiZWQgbWV0aG9kLgoJKHZpZXdUb01vZGVsKTogSW1wbGVtZW50ZWQgcHJldmlvdXNseSBzdHViYmVkIG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9QYXJhZ3JhcGhWaWV3LmphdmEKCShmaXJzdExpbmVJbmRlbnQpOiBOZXcgZmllbGQuCgkoanVzdGlmaWNhdGlvbik6IE5ldyBmaWVsZC4KCShsaW5lU3BhY2luZyk6IE5ldyBmaWVsZC4KCSh0YWJTZXQpOiBOZXcgZmllbGQuCgkoY2hhbmdlZFVwZGF0ZSk6IE5ldyBtZXRob2QuCgkoc2V0UHJvcGVydGllc0Zyb21BdHRyaWJ1dGVzKTogTmV3IG1ldGhvZC4KCShzZXRGaXJzdExpbmVJbmRlbnQpOiBOZXcgbWV0aG9kLgoJKHNldEp1c3RpZmljYXRpb24pOiBOZXcgbWV0aG9kLgoJKHNldExpbmVTcGFjaW5nKTogTmV3IG1ldGhvZC4KCShnZXRMYXlvdXRWaWV3KTogTmV3IG1ldGhvZC4KCShnZXRMYXlvdXRWaWV3Q291bnQpOiBOZXcgbWV0aG9kLgoJKGdldFRhYlNldCk6IE5ldyBtZXRob2QuCgoyMDA1LTExLTE3ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0VkaXRvclBhbmVVSS5qYXZhOgoJKGNyZWF0ZSk6IENyZWF0ZSBuZXcgV3JhcHBlZFBsYWluVmlldyBpbnN0YW5jZSBpbnN0ZWFkIG9mIFBsYWluVmlldy4KCjIwMDUtMTEtMTcgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KICAgICAgICAKCVBSIDI0OTExCgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtCgkoRVhBTVBMRV9KQVZBX0ZJTEVTKTogRXh0ZW5kZWQgYnkgLyovKi8qLmphdmEgYW5kIC8qLyovKi8qLmphdmEuCgkoUkVBRE1FUyk6IE5ldyBjYXRlZ29yeS4KCShBTExfRVhBTVBMRV9GSUxFUyk6IEV4dGVuZGVkIGJ5IFJFQURNRVMgY2F0ZWdvcnkuIAoKMjAwNS0xMS0xNyAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2phci9Db25uZWN0aW9uLmphdmEgKGdldEhlYWRlckZpZWxkKToKCUltcGxlbWVudGVkLgoJKGdldExhc3RNb2RpZmllZCk6IEltcGxlbWVudGVkLgoKMjAwNS0xMS0xNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YTogUmVpbmRlbnRlZC4KCjIwMDUtMTEtMTcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQXBwbGV0LmphdmEKCShwYXJhbVN0cmluZyk6IFJldHVybnMgc3VwZXIucGFyYW1TdHJpbmcoKSBpbnN0ZWFkIG9mIGEgbWVhbmluZ2xlc3MKCSdKRnJhbWUnLgoJKiBqYXZheC9zd2luZy9KUGFuZWwuamF2YQoJKHBhcmFtU3RyaW5nKTogUmV0dXJucyBzdXBlci5wYXJhbVN0cmluZygpIGluc3RlYWQgb2YgYSBtZWFuaW5nbGVzcwoJJ0pQYW5lbCcuCgoyMDA1LTExLTE3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBEb24ndCBoYW5kbGUgdGhlIEJ1dHRvbi5yb2xsb3ZlciBwcm9wZXJ0eSBoZXJlLAoJdGhpcyBpcyBNZXRhbCBzcGVjaWZpYyBhbmQgaXMgaGFuZGxlZCBpbiBNZXRhbEJ1dHRvblVJLgoKMjAwNS0xMS0xNyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEKCShsb2NhdGlvblRvSW5kZXgpOiBDbGFyaWZpZWQgQVBJIGNvbW1lbnQuCgoyMDA1LTExLTE3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxFZGl0b3IuamF2YQoJKERlZmF1bHRUcmVlQ2VsbEVkaXRvcik6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldFhYWCgpIHdpdGggVUlNYW5hZ2VyLmdldFhYWCgpLgoJKGNyZWF0ZVRyZWVDZWxsRWRpdG9yKTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0WFhYKCkgd2l0aCBVSU1hbmFnZXIuZ2V0WFhYKCkuCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsUmVuZGVyZXIuamF2YQoJKERlZmF1bHRUcmVlQ2VsbFJlbmRlcmVyKTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0WFhYKCkgd2l0aCBVSU1hbmFnZXIuZ2V0WFhYKCkuCgkoZ2V0RGVmYXVsdE9wZW5JY29uKTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0WFhYKCkgd2l0aCBVSU1hbmFnZXIuZ2V0WFhYKCkuCgkoZ2V0RGVmYXVsdENsb3NlZEljb24pOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXRYWFgoKSB3aXRoIFVJTWFuYWdlci5nZXRYWFgoKS4KCShnZXREZWZhdWx0TGVhZkljb24pOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXRYWFgoKSB3aXRoIFVJTWFuYWdlci5nZXRYWFgoKS4KCShnZXRUcmVlQ2VsbFJlbmRlcmVyQ29tcG9uZW50KTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0WFhYKCkgd2l0aCBVSU1hbmFnZXIuZ2V0WFhYKCkudwoJKHBhaW50KTogUmVwbGFjZWQgVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXRYWFgoKQoJd2l0aCBVSU1hbmFnZXIuZ2V0WFhYKCkuCgoyMDA1LTExLTE3ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9maWxlL0Nvbm5lY3Rpb24uamF2YSAodW5xdW90ZSk6IE5ldwoJbWV0aG9kLgoJKGNvbm5lY3QpOiBVbnF1b3RlIGZpbGVuYW1lLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL0Nvbm5lY3Rpb24uamF2YSAoZ2V0KTogTGlrZXdpc2UuCgoJKiBqYXZhL25ldC9VUkwuamF2YSAoVVJMKTogSWYgdGhlIGZpbGUgcGFydCBvZiBhIHNwZWMgaXMgYWJzb2x1dGUsCglpZ25vcmUgdGhlIGZpbGUgcGFydCBvZiBpdHMgY29udGV4dC4KCjIwMDUtMTEtMTcgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvc3dpbmcvUkVBRE1FLmh0bWw6CglBZGRlZCBub3RlIGFib3V0IHRoZSBidWlsZC4KCQoyMDA1LTExLTE2ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlNwbGl0UGFuZS5qYXZhOiBSZWZvcm1hdHRlZCBmaWxlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YTogUmVmb3JtYXR0ZWQgZmlsZS4KCjIwMDUtMTEtMTYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShtb3VzZUVudGVyZWQpOiBObyBuZWVkIHRvIHN0YXJ0IHRoZSBpbnNpZGVUaW1lciBoZXJlLAoJYWxyZWFkeSBjYWxsZWQgc2hvd1RpcC4KCjIwMDUtMTEtMTYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglQUiBjbGFzc3BhdGgvUFIyNDc2MwoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhCgkobW91c2VFbnRlcmVkKTogc2hvd1RpcCBzaG91bGQgYmUgY2FsbGVkIGlmIGV4aXRUaW1lciBpcyBydW5uaW5nLgoJVGhpcyBtZWFucyB0aGF0IHRoZSBtb3VzZSBoYXMgZXhpdGVkIGFuZCByZS1lbnRlcmVkIGEgY29tcG9uZW50CglpbiBsZXNzIHRoYW4gNTAwbXMuCgkobW91c2VFeGl0ZWQpOiBJZiBlbnRlclRpbWVyIGlzIG5vdCBydW5uaW5nLCB0aGUgZXhpdFRpbWVyIHNob3VsZAoJYmUgc3RhcnRlZCBubyBtYXR0ZXIgd2hhdC4KCShzaG93VGlwKTogU2hvdWxkIG5vdCBzaG93IHRvb2wgdGlwIGlmIHRoZSBjdXJyZW50Q29tcG9uZW50IGlzCglub3Qgc2hvd2luZy4KCjIwMDUtMTEtMTYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJUFIgY2xhc3NwYXRoL1BSMjM1NTcgYW5kIFBSIGNsYXNzcGF0aC9QUjI0MDk5CgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfZ2RrRHJhd0RyYXdhYmxlKToKCUFkZGVkIGNoZWNrIHRvIGRldGVybWluZSBpZiBkc3QtPmRyYXdhYmxlIG9yIHNyYy0+ZHJhd2FibGUKCWFyZSBhY3R1YWxseSBkcmF3YWJsZS4gSWYgbm90LCByZXR1cm4uCgoyMDA1LTExLTE2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YQoJKEJ1dHRvbkJvcmRlci5wYWludEJvcmRlcik6IFNwZWNpYWwgY2FzZSB0aGUgT2NlYW5UaGVtZS4KCShCdXR0b25Cb3JkZXIucGFpbnRPY2VhblRoZW1lQm9yZGVyKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJ1dHRvblVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBTZXQgdGhlIHJvbGxvdmVyIGZsYWcgaGVyZS4gRG9uJ3Qgc2V0IGEgc3BlY2lhbAoJYm9yZGVyIGZvciByb2xsb3ZlciBidXR0b25zLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogUmVzZXQgdGhlIHJvbGxvdmVyIGZsYWcuCgkodXBkYXRlKTogT25seSBwYWludCBncmFkaWVudCB3aGVuIGJ1dHRvbiBpcyBlbmFibGVkIGFuZCBub3QgcHJlc3NlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShnZXRDdXJyZW50VGhlbWUpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMS0xNiAgR2FyeSBCZW5zb24gIDxnYmVuc29uQHJlZGhhdC5jb20+CgoJKiBqYXZhL2lvL0ZpbGVQZXJtaXNzaW9uLmphdmEgKGltcGxpZXMpOiBDb3JyZWN0IHRoZSBzZW5zZQoJaW4gd2hpY2ggYWN0aW9uIGNoZWNrcyBhcmUgYXBwbGllZC4KCjIwMDUtMTEtMTYgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBBVVRIT1JTOiBBZGRlZCBteXNlbGYuCgkqIGphdmF4L3N3aW5nL0tleWJvYXJkTWFuYWdlci5qYXZhOiBDaGFuZ2VkIEBhdXRob3IgdGFnIHRvIG1hdGNoIHRoZSAKCW90aGVyIG9uZXMgSSBoYXZlLgoJKiBqYXZheC9zd2luZy90ZXh0L1dyYXBwZWRQbGFpblZpZXcuamF2YTogTGlrZXdpc2UuCgoyMDA1LTExLTE2ICBHYXJ5IEJlbnNvbiAgPGdiZW5zb25AcmVkaGF0LmNvbT4KIAoJKiBqYXZhL3NlY3VyaXR5L1Byb3RlY3Rpb25Eb21haW4uamF2YSAodG9TdHJpbmcpOiBVc2UKCWdudS5jbGFzc3BhdGguU3lzdGVtUHJvcGVydGllcyB0byByZWFkIGxpbmUuc2VwYXJhdG9yCgl3aXRob3V0IHNlY3VyaXR5IG1hbmFnZXIgY2hlY2suCgoyMDA1LTExLTE2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9NZW1vcnlJbWFnZVNvdXJjZS5qYXZhCgkoc3RhcnRQcm9kdWN0aW9uKTogSWYgYW5pbWF0ZWQsIGltYWdlQ29tcGxldGUgc2hvdWxkCgliZSBjYWxsZWQgd2l0aCB0aGUgU0lOR0xFRlJBTUVET05FIGZsYWcsIG1lYW5pbmcgdGhlCglzaW5nbGUgZnJhbWUgaXMgY29tcGxldGUsIGJ1dCB0aGVyZSBhcmUgbW9yZSBmcmFtZXMgCgl0byBmb2xsb3cuCgoyMDA1LTExLTE2ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpbkRvY3VtZW50LmphdmE6CgkoaW5zZXJ0U3RyaW5nKTogTnVsbCBjaGVjayBmaXhlcyBQUiAyNDg5MC4KCjIwMDUtMTEtMTYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHBhaW50VmVydGljYWxQYXJ0T2ZMZWcpOiBBZGRlZCBhIGNoZWNrIHRvIHByZXZlbnQKCUFycmF5T3V0T2ZCb3VuZHNFeGNlcHRpb24uCgoyMDA1LTExLTE2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVUaXRsZVBhbmUuamF2YQoJKHBhaW50VGl0bGVCYWNrZ3JvdW5kKTogT25seSBwYWludCBiYWNrZ3JvdW5kIGlmIGNvbXBvbmVudCBpcwoJb3BhcXVlLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhCgkocGFpbnRQYWxldHRlKTogQWRkZWQgZ3JhZGllbnQgcGFpbnRpbmcuCgkocGFpbnRDb21wb25lbnQpOiBBZGRlZCBncmFkaWVudCBwYWludGluZy4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9PY2VhblRoZW1lLmphdmEKCShhZGRDdXN0b21FbnRyaWVzVG9UYWJsZSk6IEFkZGVkIGdyYWRpZW50IGZvcgoJSW50ZXJuYWxGcmFtYS5hY3RpdmVUaXRsZUdyYWRpZW50LgoKMjAwNS0xMS0xNiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YToKCVJlbW92ZWQgdW5uZWVkZWQgZmllbGRzLgoJKHNob3dUaXApOiBSZS1pbXBsZW1lbnRlZCB0byB1c2UgUG9wdXBGYWN0b3J5LgoJKGhpZGVUaXApOiBMaWtld2lzZS4KCShhZGp1c3RMb2NhdGlvbik6IEZpeGVkIGxvY2F0aW9uLgoKMjAwNS0xMS0xNiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5Eb2N1bWVudC5qYXZhOgoJKGluc2VydFVwZGF0ZSk6IFRoZSB2ZXJ5IGZpcnN0IG5ldyBlbGVtZW50IGFkZGVkIGRvZXNuJ3Qgc3RhcnQgYXQgdGhlIAoJc3RhcnQgb2YgdGhlIGV2ZW50LCBpdCBzdGFydHMgYXQgdGhlIHN0YXJ0IG9mZnNldCBvZiB0aGUgRWxlbWVudCB0aGF0Cgljb250YWlucyB0aGUgc3RhcnQgb2YgdGhlIGV2ZW50LgoKMjAwNS0xMS0xNiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEKCShwYWludE1lbnVJdGVtKTogQWx3YXlzIGNhbGwgcGFpbnRCYWNrZ3JvdW5kKCkuCgoyMDA1LTExLTE2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRGlhbG9nUGVlci5qYXZhCgkoY3JlYXRlKTogU2luY2UgcG9wdXBzIHdlcmUgY2hhbmdlZCB0byBiZSBKV2luZG93UG9wdXBzLAoJdGhpcyBjb2RlIHNob3VsZCBiZSBkb25lIGluIEd0a1dpbmRvd1BlZXIuIENvZGUgaXMgbm90CgluZWVkZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmEKCShjcmVhdGUpOiBJZiB3aW5kb3cgaXMgbm90IGZvY3VzYWJsZSwgaXQgc2hvdWxkIG5vdCB0YWtlCgl0aGUgZm9jdXMgYXdheSBmcm9tIGFueSBvdGhlciB3aW5kb3cuIFRoZXJlZm9yZSwgaXRzCgl0eXBlIHNob3VsZCBiZSBzZXQgdG8gR0RLX1dJTkRPV19UWVBFX0hJTlRfTUVOVS4KCjIwMDUtMTEtMTYgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQnV0dG9uVUkuamF2YQoJKHVwZGF0ZSk6IE5ldyBtZXRob2QuIFBhaW50cyB0aGUgZ3JhZGllbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxDaGVja0JveEljb24uamF2YQoJKHBhaW50SWNvbik6IFBhaW50IGdyYWRpZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSWNvbkZhY3RvcnkuamF2YQoJKFJhZGlvQnV0dG9uSWNvbi5wYWludEljb24pOiBQYWludCBncmFkaWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q2xhc3NEZWZhdWx0cyk6IEFkZGVkIE1ldGFsTWVudUJhclVJLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTWVudUJhclVJLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVG9nZ2xlQnV0dG9uVUkuamF2YQoJKHVwZGF0ZSk6IE5ldyBtZXRob2QuIFBhaW50cyB0aGUgZ3JhZGllbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvT2NlYW5UaGVtZS5qYXZhCgkoYWRkQ3VzdG9tRW50cmllc1RvVGFibGUpOiBBZGRlZCBhbGwgdGhlIGdyYWRpZW50cy4KCjIwMDUtMTEtMTYgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhCgkoSk1lbnUoKSk6IFNldCBvcGFxdWUgZmxhZyB0byBmYWxzZS4KCShKTWVudShTdHJpbmcpKTogTGlrZXdpc2UuCgkoSk1lbnUoQWN0aW9uKSk6IExpa2V3aXNlLgoKMjAwNS0xMS0xNiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMaXN0VUkuamF2YQoJKGdldFJvd0hlaWdodCk6IEFkanVzdGVkIHRvIGRlYWwgY29ycmVjdGx5IHdpdGggZml4ZWQgY2VsbCBoZWlnaHRzLgoJKGNvbnZlcnRZUm9Sb3cpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IERvbid0IG1ha2UgdGhlIG1lbnUgaXRlbSBvcGFxdWUgaGVyZS4KCShwYWludEJhY2tncm91bmQpOiBNb3ZlZCBiYWNrZ3JvdW5kIHBhaW50aW5nIGNvZGUgZnJvbQoJcGFpbnRNZW51SXRlbSgpIHRvIHRoaXMgbWV0aG9kLgoJKHBhaW50TWVudUl0ZW0pOiBNb3ZlZCBiYWNrZ3JvdW5kIHBhaW50aW5nIHRvIHBhaW50QmFja2dyb3VuZCgpLgoJKGluc3RhbGxEZWZhdWx0cyk6IERvbid0IHNldCBvcGFxdWUgZmxhZyBoZXJlLgoKMjAwNS0xMS0xNiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxVdGlscy5qYXZhCgkocGFpbnRHcmFkaWVudCk6IE5ldyB1dGlsaXR5IG1ldGhvZChzKS4KCShwYWludEhvcml6b250YWxHcmFkaWVudCk6IE5ldyB1dGlsaXR5IG1ldGhvZC4KCShwYWludFZlcnRpY2FsR3JhZGllbnQpOiBOZXcgdXRpbGl0eSBtZXRob2QuCgoyMDA1LTExLTE1ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkocGFpbnREb3VibGVCdWZmZXJlZCk6IFB1dCBwYWludCgpIGNhbGwgaW5zaWRlIGEgdHJ5LWZpbmFsbHkKCWJsb2NrIHRvIGNvcnJlY3RseSByZWNvdmVyIHRoZSBkb3VibGUtYnVmZmVyaW5nIGZsYWcgd2hlbgoJYW4gZXhjZXB0aW9uIGlzIHRocm93biBpbnNpZGUgdGhlIHBhaW50KCkgY2FsbC4KCjIwMDUtMTEtMTUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXJfZ3RrV2luZG93U2V0UmVzaXphYmxlKToKCU5lZWRlZCB0byBzZXQgYWxsb3dfc2hyaW5rIHRvIHRoZSBzYW1lIHZhbHVlIGFzIHJlc2l6YWJsZS4gT3RoZXItCgl3aXNlLCBpdCBpcyBhbHdheXMgc2V0IHRvIGZhbHNlLgoKMjAwNS0xMS0xNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkocGFpbnQpOiBBZGRlZCBjaGVjayB0byBwcmV2ZW50IE5QRS4KCjIwMDUtMTEtMTUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6CgkocmVtb3ZlTm90aWZ5KTogVW5yZWdpc3RlciBXSEVOX0lOX0ZPQ1VTRURfV0lORE9XIGJpbmRpbmdzIGZyb20gdGhlIAoJS2V5Ym9hcmRNYW5hZ2VyLgoKMjAwNS0xMS0xNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBEZWZhdWx0IHJvd0hlaWdodCBmb3IgdHJlZSdzIHNob3VsZAoJYmUgMC4gVGhpcyBpcyBTdW4gYW5kIElCTSdzIGRlZmF1bHQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogRGVmYXVsdCByb3dIZWlnaHQgZm9yIHRyZWUncyBzaG91bGQKCWUgMC4gVGhpcyBpcyBTdW4gYW5kIElCTSdzIGRlZmF1bHQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YToKCUFkZGVkIGEgZGVmYXVsdCByb3dIZWlnaHQgZmllbGQuCgkoc2V0Um93SGVpZ2h0KTogU2V0IHRoZSByb3dIZWlnaHQgdG8gdGhlIGNsYXNzIGRlZmF1bHQgaWYgcGFyYW1ldGVyCglpcyAwLiBUcmVlIHJvdyBoZWlnaHQgc2hvdWxkIG5ldmVyIGJlIHNldCB0byAwLiAyMCBpcyB0aGUgbWluaW11bS4KCShpbnN0YWxsRGVmYXVsdHMpOiBmaXhlZCBjYWxsIHRvIHRyZWUuc2V0Um93SGVpZ2h0Cgkoc2hvdWxkUGFpbnRFeHBhbmRDb250cm9sKTogQWRkZWQgdG8gY2hlY2sgdG8gcHJldmVudCBOUEUuCgoyMDA1LTExLTE1ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL1JFQURNRS5odG1sLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9zd2luZy94NS9DYW52YXNXb3JsZC5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9zd2luZy94NS9DaGF0Q29uc3RhbnRzLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L0NsaWVudEZyYW1lLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L0RlbW8uamF2YSwKCWV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvc3dpbmcveDUvR2FtZU1hbmFnZXIuamF2YSwKCWV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvc3dpbmcveDUvR2FtZU1hbmFnZXJJbXBsLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L0lvclJlYWRlci5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9zd2luZy94NS9PcmJTdGFydGVyLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L1BsYXllci5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9zd2luZy94NS9QbGF5ZXJJbXBsLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L1BsYXlpbmdEZXNrLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L1N0YXRlLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L1g1U2VydmVyLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L19HYW1lTWFuYWdlckltcGxfVGllLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L19HYW1lTWFuYWdlcl9TdHViLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL3N3aW5nL3g1L19QbGF5ZXJJbXBsX1RpZS5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9zd2luZy94NS9fUGxheWVyX1N0dWIuamF2YTogCglOZXcgZmlsZXMuCgoyMDA1LTExLTE1ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvVUlNYW5hZ2VyLmphdmEKCSh1c2VyVUlEZWZhdWx0cyk6IE5ldyBmaWVsZC4KCShnZXQoT2JqZWN0KSk6IFJlc3BlY3QgdGhlIHVzZXIgVUkgc2V0dGluZ3MuCgkoZ2V0KE9iamVjdCxMb2NhbGUpKTogUmVzcGVjdCB0aGUgdXNlciBVSSBzZXR0aW5ncy4KCShnZXRCb29sZWFuKE9iamVjdCkpOiBDYWxsIGdldCgpIGluc3RlYWQgb2YKCWdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSBpbiBvcmRlciB0byByZXNwZWN0IHRoZSB1c2VyIFVJCglzZXR0aW5ncy4KCShnZXRCb29sZWFuKE9iamVjdCxMb2NhbGUpKTogQ2FsbCBnZXQoKSBpbnN0ZWFkIG9mCglnZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgaW4gb3JkZXIgdG8gcmVzcGVjdCB0aGUgdXNlciBVSQoJc2V0dGluZ3MuCgkoZ2V0Qm9yZGVyKE9iamVjdCkpOiBDYWxsIGdldCgpIGluc3RlYWQgb2YKCWdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSBpbiBvcmRlciB0byByZXNwZWN0IHRoZSB1c2VyIFVJCglzZXR0aW5ncy4KCShnZXRCb3JkZXIoT2JqZWN0LExvY2FsZSkpOiBDYWxsIGdldCgpIGluc3RlYWQgb2YKCWdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSBpbiBvcmRlciB0byByZXNwZWN0IHRoZSB1c2VyIFVJCglzZXR0aW5ncy4KCShnZXRDb2xvcihPYmplY3QpKTogQ2FsbCBnZXQoKSBpbnN0ZWFkIG9mCglnZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgaW4gb3JkZXIgdG8gcmVzcGVjdCB0aGUgdXNlciBVSQoJc2V0dGluZ3MuCgkoZ2V0Q29sb3IoT2JqZWN0LExvY2FsZSkpOiBDYWxsIGdldCgpIGluc3RlYWQgb2YKCWdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSBpbiBvcmRlciB0byByZXNwZWN0IHRoZSB1c2VyIFVJCglzZXR0aW5ncy4KCShnZXREaW1lbnNpb24oT2JqZWN0KSk6IENhbGwgZ2V0KCkgaW5zdGVhZCBvZgoJZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIGluIG9yZGVyIHRvIHJlc3BlY3QgdGhlIHVzZXIgVUkKCXNldHRpbmdzLgoJKGdldERpbWVuc2lvbihPYmplY3QsTG9jYWxlKSk6IENhbGwgZ2V0KCkgaW5zdGVhZCBvZgoJZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIGluIG9yZGVyIHRvIHJlc3BlY3QgdGhlIHVzZXIgVUkKCXNldHRpbmdzLgoJKGdldEZvbnQoT2JqZWN0KSk6IENhbGwgZ2V0KCkgaW5zdGVhZCBvZgoJZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIGluIG9yZGVyIHRvIHJlc3BlY3QgdGhlIHVzZXIgVUkKCXNldHRpbmdzLgoJKGdldEZvbnQoT2JqZWN0LExvY2FsZSkpOiBDYWxsIGdldCgpIGluc3RlYWQgb2YKCWdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSBpbiBvcmRlciB0byByZXNwZWN0IHRoZSB1c2VyIFVJCglzZXR0aW5ncy4KCShnZXRJY29uKE9iamVjdCkpOiBDYWxsIGdldCgpIGluc3RlYWQgb2YKCWdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSBpbiBvcmRlciB0byByZXNwZWN0IHRoZSB1c2VyIFVJCglzZXR0aW5ncy4KCShnZXRJY29uKE9iamVjdCxMb2NhbGUpKTogQ2FsbCBnZXQoKSBpbnN0ZWFkIG9mCglnZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgaW4gb3JkZXIgdG8gcmVzcGVjdCB0aGUgdXNlciBVSQoJc2V0dGluZ3MuCgkoZ2V0SW5zZXRzKE9iamVjdCkpOiBDYWxsIGdldCgpIGluc3RlYWQgb2YKCWdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXRJbnNldHMoKSBpbiBvcmRlciB0byByZXNwZWN0IHRoZSB1c2VyIFVJCglzZXR0aW5ncy4KCShnZXRJbnNldHMoT2JqZWN0LExvY2FsZSkpOiBDYWxsIGdldCgpIGluc3RlYWQgb2YKCWdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXRJbnNldHMoKSBpbiBvcmRlciB0byByZXNwZWN0IHRoZSB1c2VyIFVJCglzZXR0aW5ncy4KCShnZXRJbnQoT2JqZWN0KSk6IENhbGwgZ2V0KCkgaW5zdGVhZCBvZgoJZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIGluIG9yZGVyIHRvIHJlc3BlY3QgdGhlIHVzZXIgVUkKCXNldHRpbmdzLgoJKGdldEludChPYmplY3QsTG9jYWxlKSk6IENhbGwgZ2V0KCkgaW5zdGVhZCBvZgoJZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIGluIG9yZGVyIHRvIHJlc3BlY3QgdGhlIHVzZXIgVUkKCXNldHRpbmdzLgoJKGdldFN0cmluZyhPYmplY3QpKTogQ2FsbCBnZXQoKSBpbnN0ZWFkIG9mCglnZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgaW4gb3JkZXIgdG8gcmVzcGVjdCB0aGUgdXNlciBVSQoJc2V0dGluZ3MuCgkoZ2V0U3RyaW5nKE9iamVjdCxMb2NhbGUpKTogQ2FsbCBnZXQoKSBpbnN0ZWFkIG9mCglnZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgaW4gb3JkZXIgdG8gcmVzcGVjdCB0aGUgdXNlciBVSQoJc2V0dGluZ3MuCgkoZ2V0VUkoSkNvbXBvbmVudCkpOiBSZXNwZWN0IHRoZSB1c2VyIFVJIHNldHRpbmdzLgoJKHB1dCk6IFB1dCBrZXkvdmFsdWUgaW50byB1c2VyIFVJIHNldHRpbmdzLgoKMjAwNS0xMS0xNSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCb3JkZXJzLmphdmEKCShPcHRpb25EaWFsb2dCb3JkZXIucGFpbnRCb3JkZXIpOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSB3aXRoIFVJTWFuYWdlci5nZXQoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJ1dHRvblVJLmphdmEKCShNZXRhbEJ1dHRvblVJKTogUmVwbGFjZWQgVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKQoJd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJbnRlcm5hbEZyYW1lVGl0bGVQYW5lLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBSZXBsYWNlZCBVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpCgl3aXRoIFVJTWFuYWdlci5nZXQoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExhYmVsVUkuamF2YQoJKHBhaW50RGlzYWJsZWRUZXh0KTogUmVwbGFjZWQgVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKQoJd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxSYWRpb0J1dHRvblVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBSZXBsYWNlZCBVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpCgl3aXRoIFVJTWFuYWdlci5nZXQoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNjcm9sbEJhclVJLmphdmEKCShjcmVhdGVEZWNyZWFzZUJ1dHRvbik6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKGNyZWF0ZUluY3JlYXNlQnV0dG9uKTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgkocGFpbnRUaHVtYkhvcml6b250YWwpOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSB3aXRoIFVJTWFuYWdlci5nZXQoKS4KCShwYWludFRodW1iVmVydGljYWwpOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSB3aXRoIFVJTWFuYWdlci5nZXQoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNwbGl0UGFuZVVJLmphdmEKCShjcmVhdGVEZWZhdWx0RGl2aWRlcik6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVG9nZ2xlQnV0dG9uVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFJlcGxhY2VkIFVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkKCXdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVG9vbFRpcFVJLmphdmEKCShNZXRhbFRvb2xUaXBVSSk6IFJlcGxhY2VkIFVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkKCXdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVHJlZVVJLmphdmEKCVJlbW92ZWQgYWxsIGxpc3RlbmVyIGZpZWxkcy4KCShpbnN0YWxsVUkpOiBSZW1vdmVkIGluaXRpYWxpemF0aW9uIGFuZCBjYWxsIHN1cGVyLmluc3RhbGxVSSgpCglpbnN0ZWFkLgoJKHVuaW5zdGFsbFVJKTogUmVtb3ZlZCBpbml0aWFsaXphdGlvbiBhbmQgY2FsbCBzdXBlci51bmluc3RhbGxVSSgpCglpbnN0ZWFkLgoKMjAwNS0xMS0xNSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL09yYkZ1bmN0aW9uYWwuamF2YSAoc2VydmVTdGVwKToKCVJldHVybmluZyBlbnN1cmUgdGhhdCB0aGUgc29ja2V0IGlzIGNsb3NlZC4KCjIwMDUtMTEtMTUgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQm9yZGVycy5qYXZhCgkoZ2V0QnV0dG9uQm9yZGVyKTogUmVwbGFjZWQgVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKQoJd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgkoZ2V0UmFkaW9CdXR0b25Cb3JkZXIpOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSB3aXRoIFVJTWFuYWdlci5nZXQoKS4KCShnZXRUb2dnbGVCdXR0b25Cb3JkZXIpOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSB3aXRoIFVJTWFuYWdlci5nZXQoKS4KCShnZXRNZW51QmFyQm9yZGVyKTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgkoZ2V0U3BsaXRQYW5lQm9yZGVyKTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgkoZ2V0U3BsaXRQYW5lRGl2aWRlckJvcmRlcik6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKGdldFRleHRGaWVsZEJvcmRlcik6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKGdldEludGVybmFsRnJhbWVCb3JkZXIpOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSB3aXRoIFVJTWFuYWdlci5nZXQoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShwYWludFRleHQpOiBSZXBsYWNlZCBVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpCgl3aXRoIFVJTWFuYWdlci5nZXQoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NoZWNrQm94VUkuamF2YQoJKGdldERlZmF1bHRJY29uKTogUmVwbGFjZWQgVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKQoJd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEKCShwYWludEN1cnJlbnRWYWx1ZSk6IFJlcGxhY2VkIFVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkKCXdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRmlsZUNob29zZXJVSS5qYXZhCgkoaW5zdGFsbFN0cmluZ3MpOiBSZXBsYWNlZCBVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpCgl3aXRoIFVJTWFuYWdlci5nZXQoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVUaXRsZVBhbmUuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFJlcGxhY2VkIFVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkKCXdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmEKCShpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQcm9ncmVzc0JhclVJLmphdmEKCShib3hSZWN0KTogQWRkZWQgQHNpbmNlIHRhZyB0byB0aGUgQVBJIGNvbW1lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvblVJLmphdmEKCShnZXREZWZhdWx0SWNvbik6IFJlcGxhY2VkIFVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkKCXdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YQoJKGNvbmZpZ3VyZVNjcm9sbEJhckNvbG9ycyk6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKGNhbGN1bGF0ZVByZWZlcnJlZFNpemUpOiBGZXRjaCBwcmVmZXJyZWQgd2lkdGggb3IgaGVpZ2h0IGZyb20KCVVJIGRlZmF1bHRzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhCgkoaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShjcmVhdGVLZXltYXApOiBSZXBsYWNlZAoJVUlNYW5hZ2VyLmdldExvb2tBbmRGZWVsRGVmYXVsdHMoKS5nZXQoKSB3aXRoIFVJTWFuYWdlci5nZXQoKS4KCShnZXRJbnB1dE1hcCk6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKGdldEFjdGlvbk1hcCk6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCShkcmFnVG8pOiBEb24ndCB1c2UgY2FjaGVkKiBmaWVsZHMuCgkoaW5zdGFsbENvbXBvbmVudHMpOiBEb24ndCB1c2UgY2FjaGVkKiBmaWVsZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKGdldEhhc2hDb2xvcik6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJKHNldEhhc2hDb2xvcik6IFJlcGxhY2VkCglVSU1hbmFnZXIuZ2V0TG9va0FuZEZlZWxEZWZhdWx0cygpLmdldCgpIHdpdGggVUlNYW5hZ2VyLmdldCgpLgoJQWRkZWQgRklYTUUgY29tbWVudC4KCShpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogUmVwbGFjZWQKCVVJTWFuYWdlci5nZXRMb29rQW5kRmVlbERlZmF1bHRzKCkuZ2V0KCkgd2l0aCBVSU1hbmFnZXIuZ2V0KCkuCgoyMDA1LTExLTE1ICBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCgkqIG5hdGl2ZS9qbmkvamF2YS1sYW5nL2phdmFfbGFuZ19WTURvdWJsZS5jIChpbml0SURzKTogUmVnaXN0ZXIgCgljbHNEb3VibGUgYXMgZ2xvYmFsIHJlZi4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jIAoJKGd0a0luaXQpOiBSZWdpc3RlciBndGtnZW5lcmljcGVlciBhcyBnbG9iYWwgcmVmLgoKMjAwNS0xMS0xNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhOgoJUmVtb3ZlZCB1bm5lZWRlZCBmaWVsZC4KCShnZXRQYXRoQm91bmRzKTogUmVpbXBsZW1lbnRlZCB0byB1c2UgZ2V0Tm9kZURpbWVuc2lvbnMuCgkoZ2V0Um93Q291bnQpOiBSZW1vdmVkIGNhbGwgdG8gdXBkYXRlQ3VycmVudFZpc2libGVQYXRoLgoJKHVuaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IEltcGxlbWVudGVkLgoJKHBhaW50KTogUmVpbXBsZW1lbnRlZCB0byBvbmx5IHBhaW50IHJvd3MgY29udGFpbmVkIGluIGNsaXAuCglObyBsb25nZXIgdXNlcyByZWN1cnNpb24uCgkobW91c2VQcmVzc2VkKTogSWYgY29udHJvbCBpY29uIGlzIGNsaWNrZWQsIHNob3VsZCBzY3JvbGwgdG8gdGhhdAoJcGF0aC4KCShnZXROb2RlRGltZW5zaW9ucyk6IEltcGxlbWVudGVkLgoJKGdldFJvd1gpOiBJbXBsZW1lbnRlZC4KCShnZXRDZWxsQm91bmRzKTogUmVtb3ZlZC4KCShnZXRDZWxsTG9jYXRpb24pOiBSZW1vdmVkLgoJKHBhaW50UmVjdXJzaXZlKTogUmVtb3ZlZC4KCShwYWludENvbnRyb2xJY29ucyk6IFJlbW92ZWQuCgkoZ2V0UHJldmlvdXNWaXNpYmxlTm9kZSk6IFJlbW92ZWQgY2FsbCB0byB1cGRhdGVDdXJyZW50VmlzaWJsZVBhdGguCgkoZ2V0TGV2ZWwpOiBBZGRlZCBjaGVjayBmb3IgaW52aXNpYmxlIHJvb3QuCgkocGFpbnRWZXJ0aWNhbExpbmUpOiBTZXQgZ3JhcGhpY3MgY29sb3IuCgkocGFpbnRIb3Jpem9udGFsTGluZSk6IExpa2V3aXNlLgoJKGRyYXdDZW50ZXJlZCk6IEFkZGVkIG5lZ2F0aXZlIGNoZWNrLgoJKGRyYXdEYXNoZWRIb3Jpem9udGFsTGluZSk6IFNldCBncmFwaGljcyBjb2xvci4KCShkcmF3RGFzaGVkVmVydGljYWxMaW5lKTogTGlrZXdpc2UuCgkocGFpbnRFeHBhbmRDb250cm9sKTogSW1wbGVtZW50ZWQuCgkocGFpbnRIb3Jpem9udGFsUGFydE9mTGVnKTogTGlrZXdpc2UuCgkocGFpbnRWZXJ0aWNhbFBhcnRPZkxlZyk6IExpa2V3aXNlLgoJKHBhaW50Um93KTogQWRkZWQgY2FsbCB0byBwYWludCB0aGUgY29udHJvbCBpY29ucy4KCSh1cGRhdGVDdXJyZW50VmlzaWJsZVBhdGgpOiBDbGVhbmVkIHVwIGZ1bmN0aW9uLgkKCjIwMDUtMTEtMTUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YToKCShyZW1vdmUpOiBEbyBub3Qgc2V0IHVwIGFuIEVsZW1lbnRFZGl0IGhlcmUsIHRoaXMgaXMgZG9uZSBpbiB0aGUgCglEb2N1bWVudCBpbXBsZW1lbnRhdGlvbidzIHJlbW92ZVVwZGF0ZSBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5Eb2N1bWVudC5qYXZhOgoJKGluc2VydFVwZGF0ZSk6IERvIG5vdCBjYWxsIHJlaW5kZXgsIGluc3RlYWQsIHJlaW5kZXggdGhlIGxpbmVzIGhlcmUKCWRpcmVjdGx5IGJ1dCBvbmx5IHN0YXJ0aW5nIGZyb20gdGhlIG9mZnNldCBvZiB0aGUgbmV3bHkgaW5zZXJ0ZWQgdGV4dC4KCUFsc28sIGlmIGVudGlyZSBsaW5lcyBoYXZlIGJlZW4gYWRkZWQgb3IgcmVtb3ZlZCwgc2V0IHVwIGFuIEVsZW1lbnRFZGl0CglhbmQgYWRkIGl0IHRvIHRoZSBEb2N1bWVudEV2ZW50LiAgQ2hhaW4gQmFkTG9jYXRpb25FeGNlcHRpb24gdG8gYW4gCglBc3NlcnRpb25FcnJvciBhbmQgdGhyb3cgaXQgaW4gdGhlIHVuZXhwZWN0ZWQgY2FzZS4KCShyZW1vdmVVcGRhdGUpOiBJZiBlbnRpcmUgbGluZXMgaGF2ZSBiZWVuIGFkZGVkIG9yIHJlbW92ZWQsIHNldCB1cCBhbiAKCUVsZW1lbnRFZGl0IGFuZCBhZGQgaXQgdG8gdGhlIERvY3VtZW50RXZlbnQuICBDaGFpbiAKCUJhZExvY2F0aW9uRXhjZXB0aW9uIHRvIGFuIEFzc2VydGlvbkVycm9yIGFuZCB0aHJvdyBpdCBpbiB0aGUgCgl1bmV4cGVjdGVkIGNhc2UuCgkocmVpbmRleCk6IFJlbW92ZWQgdW5uZWNlc3NhcnkgbWV0aG9kLgoKMjAwNS0xMS0xNSAgV29sZmdhbmcgQmFlciAgPFdCYWVyQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9EYXRlVGltZVN5bnRheC5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvRW51bVN5bnRheC5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvSW50ZWdlclN5bnRheC5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvVVJJU3ludGF4LmphdmE6CglBZGRlZCBhbmQgZW5oYW5jZXMgc29tZSBhcGkgZG9jcy4KCjIwMDUtMTEtMTUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmE6CglDb2RlIHdyaXR0ZW4gYnkgU3ZlbiBkZSBNYXJvdGh5LgoJKGd0a1dpbmRvd0dldExvY2F0aW9uT25TY3JlZW4pOiBBZGRlZCBkZWNsYXJhdGlvbgoJZm9yIG5hdGl2ZSBmdW5jdGlvbi4KCShnZXRMb2NhdGlvbk9uU2NyZWVuKTogQ2hhbmdlZCB0byBoYW5kbGUgMiBkaWZmZXJlbnQgY2FzZXMuCglJZiB0aGUgY29tcG9uZW50IGlzIGEgd2luZG93LCBndGtXaW5kb3dHZXRMb2NhdGlvbk9uU2NyZWVuIGlzCgljYWxsZWQ7IG90aGVyd2lzZSwgZ3RrV2lkZXRHZXRMb2NhdGlvbk9uU2NyZWVuLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmg6CglBZGRlZCBzaWduYXR1cmUgZm9yIG5ldyBmdW5jdGlvbiBKYXZhX2dudV9qYXZhX2F3dF9wZWVyXwoJZ3RrX0d0a0NvbXBvbmVudFBlZXJfZ3RrV2luZG93R2V0TG9jYXRpb25PblNjcmVlbi4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlcl9ndGtXaWRnZXRHZXRMb2NhdGlvbk9uU2NyZWVuKToKCUltcGxlbWVudGVkLgoKMjAwNS0xMS0xNSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhCgkoSlZpZXdwb3J0KTogUmVjb2duaXplIHNldHRpbmcgb2YgYSBzeXN0ZW0gcHJvcGVydHkKCWdudS5qYXZheC5zd2luZy5KVmlld3BvcnQgZm9yIHRoZSBzY3JvbGxNb2RlLgoKMjAwNS0xMS0xNSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxVdGlscy5qYXZhCgkoZmlsbE1ldGFsUGF0dGVybjJEKTogRml4ZWQgdGhlIHRleHR1cmUgd2lkdGguCgkoaW5pdGlhbGl6ZVBhdHRlcm4pOiBNYWRlIHRleHR1cmUgdHJhbnNwYXJlbnQuCgoyMDA1LTExLTE1ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlRleHRGaWVsZC5qYXZhCgkoY3JlYXRlRGVmYXVsdE1vZGVsKTogU2V0IHRoZSBmaWx0ZXJOZXdsaW5lcyBwcm9wZXJ0eSBvbiB0aGUgY3JlYXRlZAoJbW9kZWwuCgoyMDA1LTExLTE1ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhCglGaXhlZCBBUEkgZG9jcyBhbGwgb3ZlciB0byBiZXR0ZXIgZXhwbGFpbiB0aGUgY2hhbmdlZCAoYnV0IGNvcnJlY3QpCgliZWhhdmlvdXIuCgkoY29udmVydFlUb1Jvdyk6IEFkZGVkIHNvbWUgc2hvcnQtY2lyY3VpdHMgZm9yIHNwZWNpYWwgY2FzZXMuIFVwZGF0ZQoJdGhlIGxheW91dCBzdGF0ZSBpZiBuZWNlc3NhcnkuIEZpeGVkIHRvIG1hdGNoIHRoZSBKREsgYmVoYXZpb3VyLgoJQWRkZWQgQVBJIGRvY3MgdG8gYmV0dGVyIGV4cGxhaW4gdGhlIGJlaGF2aW91ci4KCSh1cGRhdGVMYXlvdXRTdGF0ZSk6IFdoZW4gYSBmaXhlZENlbGxIZWlnaHQgaXMgc2V0LCB0aGVuIHVzZSB0aGUKCWNlbGxIZWlnaHQgZmllbGQsIG90aGVyd2lzZSB1c2UgdGhlIGNlbGxIZWlnaHRzIGFycmF5LgoJKHVuaW5zdGFsbERlZmF1bHRzKTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBzdGF0ZW1lbnQuCgkocGFpbnRCYWNrZ3JvdW5kKTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBtZXRob2QuCgkocGFpbnRDZWxsKTogUmVtb3ZlZCBzb21lIGNvbW1lbnRlZC1vdXQgY29kZS4KCShwYWludCk6IFJlbW92ZWQgY2FsbCB0byBwYWludEJhY2tncm91bmQoKS4KCShsb2NhdGlvblRvSW5kZXgpOiBSZW1vdmVkIHVudXNlZCBzdGF0ZW1lbnQuCgoyMDA1LTExLTE0ICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL0F0dHJpYnV0ZVNldFV0aWxpdGllcy5qYXZhOgoJQWRkZWQgYXBpIGRvY3MgYW5kIGVuaGFuY2VkIGFwaSBkb2NzIGFsbCBvdmVyIHRoZSBwbGFjZS4KCSh2ZXJpZnlDYXRlZ29yeUZvclZhbHVlKTogVGhyb3cgZXhjZXB0aW9uIHdoZW4gYXJndW1lbnRzCglhcmUgX25vdF8gZXF1YWwgYW5kIHRocm93IE5QRSBhbHNvIGlmIGF0dHJpYnV0ZSBpcyBudWxsLgoKMjAwNS0xMS0xNCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YQoJKGdldExvY2F0aW9uT25TY3JlZW4pOiBUaGUgaW5zZXRzIHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQKCXdoZW4gcmV0dXJuaW5nIHRoZSBsb2NhdGlvbiBvZiBhbiBvYmplY3Qgb24gdGhlIHNjcmVlbi4KCjIwMDUtMTEtMTQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KTWVudUJhci5qYXZhOgoJKHJlbW92ZU5vdGlmeSk6IFVucmVnaXN0ZXIgdGhpcyBKTWVudUJhciBmcm9tIHRoZSBLZXlib2FyZE1hbmFnZXIuCgkqIGphdmF4L3N3aW5nL0tleWJvYXJkTWFuYWdlci5qYXZhOgoJKHVucmVnaXN0ZXJKTWVudUJhcik6IE5ldyBpbXBsZW1lbnRhdGlvbiBtZXRob2QuCgoyMDA1LTExLTE0ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhOgoJKHJlbW92ZU5vdGlmeSk6IFJlbW92ZWQgdW5uY2Vzc2FyeSBJbnB1dE1hcCBhbmQgQWN0aW9uTWFwIGluaGVyaXRhbmNlCgljb2RlLiBBZGRlZCBGSVhNRSB0byByZW1vdmUgdGhlIFdIRU5fSU5fRk9DVVNFRF9XSU5ET1cgYmluZGluZ3MgZnJvbSAKCXRoZSBLZXlib2FyZE1hbmFnZXIuCgkqIGphdmF4L3N3aW5nL0pNZW51QmFyLmphdmE6CgkocmVtb3ZlTm90aWZ5KTogQWRkZWQgRklYTUUgdG8gdW5yZWdpc3RlciB0aGlzIEpNZW51QmFyIGZyb20gdGhlIAoJS2V5Ym9hcmRNYW5hZ2VyLgoKMjAwNS0xMS0xNCAgV29sZmdhbmcgQmFlciAgPFdCYWVyQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9IYXNoQXR0cmlidXRlU2V0LmphdmE6CglBZGRlZCBhcGkgZG9jcyB0byBjbGFzcyBhbmQgY2xhcmlmaWVkIG1ldGhvZCBkb2N1bWVudGF0aW9uLgoJKHRvQXJyYXkpOiBHZXQgaXRlcmF0b3IgZnJvbSB2YWx1ZXMgaW5zdGVhZCBvZiBlbnRyaWVzLgoJKGhhc2hDb2RlKTogQ29tcHV0ZSBoYXNoY29kZSBhY2NvcmRpbmcgdG8gc3BlY2lmaWNhdGlvbi4KCShnZXQpOiBUaHJvdyBOdWxsUG9pbnRlckV4Y2VwdGlvbiBpZiBjYXRlZ29yeSBpcyBudWxsLgoJKEhhc2hBdHRyaWJ1dGVTZXQoQXR0cmlidXRlW10sQ2xhc3MpKTogQ2hhbmdlZCB0byBhbGxvdwoJQXR0cmlidXRlW10gdG8gYmUgbnVsbC4KCQkJCQkJCQoyMDA1LTExLTE0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJQXMgc3VnZ2VzdGVkIGJ5IEpvYW8gVmljdG9yIDxqdml0YWxAZ21haWwuY29tPjoKCSogamF2YXgvc3dpbmcvVGltZXIuamF2YSAoV2FrZXIpOiBSZW1vdmVkIGNsYXNzLgoJKFRhc2spOiBOZXcgY2xhc3MuCgkodGltZXIpOiBOZXcgZmllbGQuCgkocnVubmluZyk6IFJlbW92ZWQgZmllbGQuCgkod2FrZXIpOiBMaWtld2lzZS4KCSh0YXNrKTogTmV3IGZpZWxkLgoJKGlzUnVubmluZyk6IENoZWNrIHdoZXRoZXIgdGFzayBpcyBudWxsLgoJKHN0YXJ0KTogQ3JlYXRlIHRhc2sgYW5kIHNjaGVkdWxlIGl0IHdpdGggdGltZXIuCgkoc3RvcCk6IENhbmNlbCB0YXNrIGFuZCBjbGVhciBmaWVsZC4KCShxdWV1ZUV2ZW50KTogU3luY2hyb25pemVkIG9uIHF1ZXVlTG9jay4KCjIwMDUtMTEtMTQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShleHBhbmRQYXRoKTogTm8gbmVlZCB0byBnZXQgdGhlIHBhcmVudCBwYXRoLgoJKiBqYXZheC9zd2luZy9ldmVudC9UcmVlTW9kZWxFdmVudC5qYXZhOgoJVmFyaWFibGVzIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byBudWxsLgoJKHRvU3RyaW5nKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHRyZWVTdHJ1Y3R1cmVDaGFuZ2VkKTogSW1wbGVtZW50ZWQuCgkoZ2V0UGFyZW50KTogQWRkZWQgY2hlY2sgdG8gYXZvaWQgaW5maW5pdGUgbG9vcC4KCShmaW5kTm9kZSk6IEZpeGVkIGNoZWNrIHRvIHVzZSBnZXRDaGlsZCwgaW5zdGVhZCBvZgoJZ2V0SW5kZXhPZkNoaWxkLgoJKHVwZGF0ZUN1cnJlbnRWaXNpYmxlUGF0aCk6IEFkZGVkIGEgbG9vcCB0byBjaGVjawoJdGhlIHBhcmVudCdzIHNpYmxpbmcsIGlmIHRoZSBjdXJyZW50IG5vZGUgaGFzIG5vCglvdGhlciBzaWJsaW5ncy4KCjIwMDUtMTEtMTQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9BY3Rpb25NYXAuamF2YTogCgkoa2V5cyk6IFJldHVybiBudWxsIGlmIHRoZSBtYXAgaXMgZW1wdHkuCgkoYWxsS2V5cyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9JbnB1dE1hcC5qYXZhOgoJKGtleXMpOiBSZXR1cm4gbnVsbCBpZiB0aGUgbWFwIGlzIGVtcHR5LgoJKGFsbEtleXMpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSk1lbnVCYXI6CgkoYWRkTm90aWZ5KTogUmVnaXN0ZXIgdGhlIG1lbnUgd2l0aCB0aGUgS2V5Ym9hcmRNYW5hZ2VyLgoJKHByb2Nlc3NLZXlCaW5kaW5nKTogTmV3IEFQSSBtZXRob2QuCgkocHJvY2Vzc0tleUJpbmRpbmdIZWxwZXIpOiBOZXcgaW1wbGVtZW50YXRpb24gbWV0aG9kLgoJKiBqYXZheC9zd2luZy9KTWVudUl0ZW0uamF2YToKCShzZXRBY2NlbGVyYXRvcik6IEZpcmUgYSBQcm9wZXJ0eUNoYW5nZUV2ZW50IGFmdGVyIGNoYW5naW5nIHRoZSAKCWFjY2VsZXJhdG9yLgoJKiBqYXZheC9zd2luZy9LZXlib2FyZE1hbmFnZXIuamF2YToKCShtZW51QmFyTG9va3VwKTogTmV3IGZpZWxkLCBIYXNodGFibGUgbWFwcGluZyBiZXR3ZWVuIHRvcC1sZXZlbCAKCWNvbnRhaW5lcnMgYW5kIGEgVmVjdG9yIG9mIHRoZSBKTWVudUJhcnMgY29udGFpbmVkIGluIHRoZW0uCgkoZ2V0SGFzaHRhYmxlRm9yVG9wTGV2ZWwpOiBDaGFuZ2VkIHRoaXMgcHVibGljIG1ldGhvZCB0byBwYWNrYWdlCglwcml2YXRlLgoJKHJlZ2lzdGVyRW50aXJlTWFwKTogQXZvaWQgTlBFIGJ5IHJldHVybmluZyBlYXJseSBpZiB0aGUgcGFyYW1ldGVyCglpcyBudWxsIG9yIGNvbnRhaW5zIG5vIG1hcHBpbmdzLgoJKHByb2Nlc3NLZXlTdHJva2UpOiBJZiB0aGUgbWFwcGVkIGNvbXBvbmVudCBkb2Vzbid0IGNvbnN1bWUgdGhlIGV2ZW50LAoJbGV0IGFsbCBKTWVudUJhcnMgaW4gdGhlIHRvcC1sZXZlbCBjb250YWluZXIgaGF2ZSBhIGNoYW5jZSBhdCBpdC4KCShnZXRWZWN0b3JGb3JUb3BMZXZlbCk6IE5ldyBpbXBsZW1lbnRhdGlvbiBtZXRob2QuCgkocmVnaXN0ZXJKTWVudUJhcik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhOgoJKHByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBOZXcgZmllbGQuCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyKTogTmV3IGNsYXNzIHRvIGhhbmRsZSBQcm9wZXJ0eUNoYW5nZUV2ZW50cyBvbiAKCXRoZSBKTWVudUl0ZW0uCgkoQ2xpY2tBY3Rpb24pOiBOZXcgY2xhc3MgdG8gaW1wbGVtZW50IGFjY2VsZXJhdG9yIGtleSBoYW5kbGluZy4KCShCYXNpY01lbnVJdGVtVUk8aW5pdD4pOiBJbnN0YW50aWF0ZSB0aGUgcHJvcGVydHlDaGFuZ2VMaXN0ZW5lciBmaWVsZC4KCShpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogSW1wbGVtZW50ZWQuCgkoaW5zdGFsbExpc3RlbmVycyk6IEluc3RhbGwgdGhlIHByb3BlcnR5Q2hhbmdlTGlzdGVuZXIuCgkoaW5zdGFsbFVJKTogQ2FsbCBpbnN0YWxsS2V5Ym9hcmRBY2lvbnMgYWZ0ZXIgaW5zdGFsbGluZyB0aGUgbGlzdGVuZXJzLgoJKHVuaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IEltcGxlbWVudGVkLgoJKHVuaW5zdGFsbExpc3RlbmVycyk6IFJlbW92ZSB0aGUgcHJvcGVydHlDaGFuZ2VMaXN0ZW5lci4KCjIwMDUtMTEtMTQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXBwbGV0L0FwcGxldC5qYXZhIChVUkxBdWRpb0NsaXApOiBOZXcgY2xhc3MuCgkobmV3QXVkaW9DbGlwKTogSW1wbGVtZW50ZWQuCgkqIGdudS9qYXZhL2JlYW5zL0R1bW15QXBwbGV0Q29udGV4dC5qYXZhIChnZXRBdWRpb0NsaXApOiBVc2UKCUFwcGxldC5uZXdBdWRpb0NsaXAuCgkoRFVNTVlfQ0xJUCk6IFJlbW92ZWQuCgkoRHVtbXlBdWRpb0NsaXApOiBSZW1vdmVkLgoKMjAwNS0xMS0xNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc291bmQvc2FtcGxlZC9MaW5lLmphdmEgKG9wZW4pOiBUaHJvd3MKCUxpbmVVbmF2YWlsYWJsZUV4Y2VwdGlvbi4KCjIwMDUtMTEtMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJUmVwb3J0ZWQgYnkgSW5nbyBQcm9ldGVsICA8cHJvZXRlbEBhaWNhcy5jb20+CgkqIGdudS9qYXZhL2lvL1BsYXRmb3JtSGVscGVyLmphdmEKCSh0b0Nhbm9uaWNhbEZvcm0pOiBSZW1vdmUgbG93ZXJjYXNpbmcgb2YgcGF0aHMgaW4gV2luZG93cy4gVGhpcwoJYnJlYWtzIHdvcmtpbmcgd2l0aCBVUkxzLCBsaWtlIHdoZW4gYWNjZXNzaW5nIGZpbGVzIHdpdGhpbmcgSkFSCglmaWxlcy4KCjIwMDUtMTEtMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YQoJKHBhaW50KTogT25seSBjbGVhciB0aGUgYmFja2dyb3VuZCBpZiB0aGUgbGF5ZXJlZFBhbmUgaXMgb3BhcXVlLgoKMjAwNS0xMS0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL1JlcGFpbnRNYW5hZ2VyLmphdmEKCShnbG9iYWxNYW5hZ2VyKTogUmVtb3ZlZCBvYnNvbGV0ZSBmaWVsZC4KCShjdXJyZW50UmVwYWludE1hbmFnZXJzKTogTmV3IGZpZWxkLgoJKFJlcGFpbnRXb3JrZXIucnVuKTogRmV0Y2ggY3VycmVudCBSZXBhaW50TWFuYWdlciBmb3IgdGhlIGN1cnJlbnQKCXRocmVhZCBncm91cC4KCShjdXJyZW50TWFuYWdlcik6IFJldHVybiB0aGUgY3VycmVudCBtYW5hZ2VyIGZvciB0aGUgY3VycmVudCB0aHJlYWQKCWdyb3VwLgoJKHNldEN1cnJlbnRNYW5hZ2VyKTogU2V0IHRoZSByZXBhaW50IG1hbmFnZXIgZm9yIHRoZSBjdXJyZW50IHRocmVhZAoJZ3JvdXAuCgoyMDA1LTExLTE0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvUG9wdXAuamF2YQoJKHNob3cpOiBJbnN0ZWFkIG9mIGZpZGRsaW5nIHdpdGggdGhlIGxpc3Qgc2l6ZSwgc2V0IHRoZSBwcmVmZXJyZWRTaXplCglvZiB0aGUgc2Nyb2xsZXIuCgkoY29uZmlndXJlU2Nyb2xsZXIpOiBTZXQgYm9yZGVyIHRvIG51bGwuCgkoY29uZmlndXJlUG9wdXApOiBTZXQgYm9yZGVyIGNvcnJlY3RseS4KCjIwMDUtMTEtMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhCgkoc2V0QnV0dG9uSWNvbnMpOiBPbmx5IHNldCBpY29ucyBpZiBidXR0b25zIGFyZSAhPSBudWxsLgoKMjAwNS0xMS0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogRml4ZWQgc29tZSBVSSBkZWZhdWx0cyB1c2VkIGJ5IFByb2dyZXNzQmFyLgoKMjAwNS0xMS0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0RmllbGRVSS5qYXZhCgkocHJvcGVydHlDaGFuZ2UpOiBHZXQgbmV3IHZhbHVlIGZyb20gdGhlIFByb3BlcnR5Q2hhbmdlRXZlbnQgYW5kCglub3QgZnJvbSB0aGUgY29tcG9uZW50IGl0c2VsZiAoc2luY2Ugd2hlbiBpdCByZWNlaXZlcyB0aGUgZXZlbnQsCgl0aGUgY29tcG9uZW50IHN0aWxsIGhhcyB0aGUgb2xkIHN0YXRlKS4KCjIwMDUtMTEtMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCSh1bmluc3RhbGxMaXN0ZW5lcnMpOiBVbmluc3RhbGwgdGhlIGRvY3VtZW50IGxpc3RlbmVyIGhlcmUuCgkoZ2V0VmlzaWJsZUVkaXRvclJlY3QpOiBGZXRjaCB0aGUgdGV4dENvbXBvbmVudCB2aWEgZ2V0Q29tcG9uZW50KCkuCgoyMDA1LTExLTE0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9Cb3hWaWV3LmphdmEKCShwYWludCk6IE9ubHkgcGFpbnQgY2hpbGQgaWYgaXQgaXMgaW5zaWRlIHRoZSBjdXJyZW50IGNsaXAuCgoyMDA1LTExLTE0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKHNldEVuYWJsZWQpOiBBbHNvIHNldCBmb2N1c2FibGUgZmxhZyBvbiB0aGUgYnV0dG9uIHdoZW4gdGhlIGVuYWJsZWQKCXByb3BlcnR5IGNoYW5nZXMuCgoyMDA1LTExLTE0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Byb2dyZXNzQmFyVUkuamF2YQoJKGJveFJlY3QpOiBOZXcgcHJvdGVjdGVkIGZpZWxkLgoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IEZpeGVkIHR5cG8gaW4gJ2luZGV0ZXJtaW5hdGUnLgoJT25seSBzdGFydCBhbmltYXRpb24gd2hlbiBwcm9ncmVzc0JhciBpcyBhY3R1YWxseSBzaG93aW5nLiBSZW1vdmVkCglyZXBhaW50IGNhbGwuCgkoQW5jZXN0b3JIYW5kbGVyKTogTmV3IGlubmVyIGNsYXNzLiBIZWxwcyBzdGFydGluZy9zdG9wcGluZyB0aGUKCWFuaW1hdGlvbiB3aGVuIHByb2dyZXNzQmFyIGJlY29tZXMgc2hvd2luZy9oaWRkZW4uCgkoQ29tcG9uZW50SGFuZGxlcik6IE5ldyBpbm5lciBjbGFzcy4gUmVjYWxjdWxhdGVzIGJveCBzaXplcyBmb3IKCWluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgYmFycyB3aGVuIHRoZSBzaXplIG9mIHRoZSBwcm9ncmVzcyBiYXIKCWNoYW5nZXMuCgkoYm94UmVjdCk6IE5ldyBwcm90ZWN0ZWQgZmllbGQuCgkoYm94RGVwZW5kZW50KTogTmV3IHRyYW5zaWVudCBmaWVsZC4KCShib3hJbmRlcGVuZGVudCk6IE5ldyB0cmFuc2llbnQgZmllbGQuCgkoaW5jcik6IE5ldyB0cmFuc2llbnQgZmllbGQuCgkoYW5jZXN0b3JMaXN0ZW5lcik6IE5ldyBwcml2YXRlIGZpZWxkLgoJKGNvbXBvbmVudExpc3RlbmVyKTogTmV3IHByaXZhdGUgZmllbGQuCgkoZ2V0Qm94KTogRml4ZWQgY2FsY3VsYXRpb24gb2YgdGhlIGluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgYmFyIGJveAoJdG8gbWF0Y2ggdGhlIEpESyBiZWhhdmlvdXIuCgkoZ2V0TWF4aW11bVNpemUpOiBJbXBsZW1lbnRlZCB0aGUgbWF4aW11bVNpemUgZm9yIHByb2dyZXNzQmFycy4KCShnZXRNaW5pbXVtU2l6ZSk6IEltcGxlbWVudGVkIHRoZSBtaW5pbXVtU2l6ZSBmb3IgcHJvZ3Jlc3NCYXJzLgoJKGdldFByZWZlcnJlZElubmVySG9yaXpvbnRhbCk6IEltcGxlbWVudGVkIGNvcnJlY3RseS4KCShnZXRQcmVmZXJyZWRJbm5lclZlcnRpY2FsKTogSW1wbGVtZW50ZWQgY29ycmVjdGx5LgoJKGdldFByZWZlcnJlZFNpemUpOiBJbXBsZW1lbnRlZCBjb3JyZWN0bHkgdXNpbmcgdGhlIGdldFByZWZlcnJlZFhYWCgpCgloZWxwZXIgbWV0aG9kcy4KCShwYWludERldGVybWluYXRlKTogRml4ZWQgcGFpbnRpbmcgdG8gYmV0dGVyIG1hdGNoIHRoZSBKREsgYmVoYXZpb3VyLgoJKHBhaW50SW5kZXRlcm1pbmF0ZSk6IEZpeGVkIHBhaW50aW5nIHRvIGJldHRlciBtYXRjaCB0aGUgSkRLIGJlaGF2aW91ci4KCShwYWludFN0cmluZyk6IEltcGxlbWVudGVkICdoYWxmLWRhcmstaGFsZi1saWdodCcgcGFpbnRlZCB0ZXh0LgoJKGluc3RhbGxMaXN0ZW5lcnMpOiBJbnN0YWxsIG5ldyBsaXN0ZW5lcnMuCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogVW5pbnN0YWxsIG5ldyBsaXN0ZW5lcnMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvTWV0YWxQcm9ncmVzc0JhclVJLmphdmEKCShwYWludERldGVybWluYXRlKTogTmV3IG1ldGhvZC4KCShwYWludEluZGV0ZXJtaW5hdGUpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMS0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhCgkoc3RhdGljX2luaXRpYWxpemVyKTogU2V0IHRoZSBMJkYgYW5kIHRoZW1lIGV4cGxpY2l0bHkgZm9yIHRoZQoJZGVmYXVsdCBvcHRpb24sIGJlY2F1c2UgSkRLMS40IGFuZCBKREsxLjUgaGF2ZSBkaWZmZXJlbnQgZGVmYXVsdHMuCgkobWtNZW51QmFyKTogRm9yIHRoZSBzbGlkZXIgZGVtbywgdHJpZ2dlciB0aGUgbmV3IFNsaWRlckRlbW8KCWNsYXNzLiBBZGRlZCBQcm9ncmVzc0JhckRlbW8gdG8gbWVudS4KCShta1NsaWRlcnMpOiBSZW1vdmVkIG9ic29sZXRlIHNsaWRlciBkZW1vLgoJKG1rQnV0dG9uQmFyKTogQWRkZWQgUHJvZ3Jlc3NCYXIgZGVtby4KCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9Qcm9ncmVzc0JhckRlbW8uamF2YToKCU5ldyBmaWxlLiBEZW1vbnN0cmF0ZXMgdGhlIEpQcm9ncmVzc0Jhci4KCjIwMDUtMTEtMTMgIEFyY2hpZSBDb2JicyAgPGFyY2hpZUBkZWxscm9hZC5vcmc+CgoJKiB2bS9yZWZlcmVuY2UvZ251L2NsYXNzcGF0aC9WTVN0YWNrV2Fsa2VyLmphdmEgKGdldENsYXNzTG9hZGVyKCkpOgoJYWRkZWQgdG8gZml4IGFuIGluZmluaXRlIGxvb3AgYnVnLgoJKiBORVdTOiBub3RlIFZNIGludGVyZmFjZSBjaGFuZ2UuCgoyMDA1LTExLTEzICBJdG8gS2F6dW1pdHN1ICA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCglGaXhlcyBidWcgIzIzMDA4CgkqIGdudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNkRlY29kZXIuamF2YQoJTUFZQkVfQklHX0VORElBTiwgTUFZQkVfTElUVExFX0VORElBTjogTmV3IGNvbnN0YW50cyByZXByZXNlbnRpbmcKCXN1Y2ggZW5kaWFubmVzcyB3aGljaCBpcyBzaW1pbGFyIHRvIFVOS05PV05fRU5ESUFOIGJ1dCBkZWZhdWx0cwoJdG8gYmlnL2xpdHRsZSBlbmRpYW4gd2l0aG91dCBhIGJ5dGUgb3JkZXIgbWFyay4KCShkZWNvZGVMb29wKTogSGFuZGxlIE1BWUJFX0JJR19FTkRJQU4gYW5kIE1BWUJFX0xJVFRMRV9FTkRJQU4uCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L1VuaWNvZGVMaXR0bGUuamF2YQoJKG5ld0RlY29kZXIpOiBTZXQgdGhlIGVuZGlhbm5lc3MgdG8gTUFZQkVfTElUVExFX0VORElBTi4KCjIwMDUtMTEtMTMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCglQUiAyNDczMwoJKiBqYXZheC9zd2luZy9UcmFuc2ZlckhhbmRsZXIuamF2YSAoZ2V0Q2xpcGJvYXJkKTogUmV3cml0dGVuLiAKCjIwMDUtMTEtMTMgIFdvbGZnYW5nIEJhZXIgIDxXQmFlckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvSGFzaERvY0F0dHJpYnV0ZVNldC5qYXZhLAoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvSGFzaFByaW50Sm9iQXR0cmlidXRlU2V0LmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9IYXNoUHJpbnRSZXF1ZXN0QXR0cmlidXRlU2V0LmphdmEsCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9IYXNoUHJpbnRTZXJ2aWNlQXR0cmlidXRlU2V0LmphdmEsCglBZGRlZCBjbGFzcyBhcGkgZG9jcyBhbmQgZW5oYW5jZWQgbWV0aG9kIGFwaSBkb2NzLgoKMjAwNS0xMS0xMyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbmF0aXZlL2puaS9taWRpLWRzc2kvLmN2c2lnbm9yZTogVXBkYXRlZC4KCSogbmF0aXZlL2puaS9taWRpLWFsc2EvLmN2c2lnbm9yZTogTmV3IGZpbGUuCgkqIGxpYi8uY3ZzaWdub3JlOiBVcGRhdGVkLgoKMjAwNS0xMS0xMyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc291bmQvc2FtcGxlZC9BdWRpb0ZpbGVGb3JtYXQuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvQXVkaW9Gb3JtYXQuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvQXVkaW9JbnB1dFN0cmVhbS5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc291bmQvc2FtcGxlZC9BdWRpb1Blcm1pc3Npb24uamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvQXVkaW9TeXN0ZW0uamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvQm9vbGVhbkNvbnRyb2wuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvQ2xpcC5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc291bmQvc2FtcGxlZC9Db21wb3VuZENvbnRyb2wuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvQ29udHJvbC5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc291bmQvc2FtcGxlZC9EYXRhTGluZS5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc291bmQvc2FtcGxlZC9FbnVtQ29udHJvbC5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc291bmQvc2FtcGxlZC9GbG9hdENvbnRyb2wuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvTGluZUV2ZW50LmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zb3VuZC9zYW1wbGVkL0xpbmUuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvTGluZUxpc3RlbmVyLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zb3VuZC9zYW1wbGVkL0xpbmVVbmF2YWlsYWJsZUV4Y2VwdGlvbi5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc291bmQvc2FtcGxlZC9NaXhlci5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc291bmQvc2FtcGxlZC9Qb3J0LmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zb3VuZC9zYW1wbGVkL1JldmVyYlR5cGUuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvU291cmNlRGF0YUxpbmUuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvc3BpL0F1ZGlvRmlsZVJlYWRlci5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc291bmQvc2FtcGxlZC9zcGkvQXVkaW9GaWxlV3JpdGVyLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zb3VuZC9zYW1wbGVkL3NwaS9Gb3JtYXRDb252ZXJzaW9uUHJvdmlkZXIuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvc3BpL01peGVyUHJvdmlkZXIuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvVGFyZ2V0RGF0YUxpbmUuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3NvdW5kL3NhbXBsZWQvVW5zdXBwb3J0ZWRBdWRpb0ZpbGVFeGNlcHRpb24uamF2YTogTmV3IGZpbGUuCgoyMDA1LTExLTEzICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL0VudW1TeW50YXguamF2YToKCUFQSSBkb2NzIGFkZGVkIGFuZCBlbmhhbmNlZCBmb3IgY2xhc3MgYW5kIG1ldGhvZHMuCgkocmVhZFJlc29sdmUpOiBOZXcgbWV0aG9kLgoJCQoyMDA1LTExLTEzICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL0F0dHJpYnV0ZS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL0F0dHJpYnV0ZVNldC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL0RvY0F0dHJpYnV0ZS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL0RvY0F0dHJpYnV0ZVNldC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL1ByaW50Sm9iQXR0cmlidXRlLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvUHJpbnRKb2JBdHRyaWJ1dGVTZXQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9QcmludFJlcXVlc3RBdHRyaWJ1dGUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9QcmludFJlcXVlc3RBdHRyaWJ1dGVTZXQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9QcmludFNlcnZpY2VBdHRyaWJ1dGUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9QcmludFNlcnZpY2VBdHRyaWJ1dGVTZXQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9TdXBwb3J0ZWRWYWx1ZXNBdHRyaWJ1dGUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9Vbm1vZGlmaWFibGVTZXRFeGNlcHRpb24uamF2YToKCUFkZGVkIGFwaSBkb2N1bWVudGF0aW9uIHRvIGNsYXNzIGFuZCBtZXRob2QgZGVmaW5pdGlvbnMuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9wYWNrYWdlLmh0bWw6IEluY2x1ZGVkIGEgcGFja2FnZSBkZXNjcmlwdGlvbi4KCjIwMDUtMTEtMTMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9JbnRlcmNlcHRvci9nbnVJb3JJbmZvLmphdmEgKHN0YXRlKTogTWFkZSBwdWJsaWMuCgkqIGdudS9DT1JCQS9JbnRlcmNlcHRvci9nbnVTZXJ2ZXJSZXF1ZXN0SW5mby5qYXZhIAoJKGFkYXB0ZXJfbmFtZSwgb3JiX2lkLCBzZXJ2ZXJfaWQpOiBOZXcgbWV0aG9kcy4KCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0lPUkluZm9PcGVyYXRpb25zLmphdmEKCShzdGF0ZSk6IE5ldyBtZXRob2QuCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9TZXJ2ZXJSZXF1ZXN0SW5mb09wZXJhdGlvbnMuamF2YQoJKGFkYXB0ZXJfbmFtZSwgb3JiX2lkLCBzZXJ2ZXJfaWQpOiBOZXcgbWV0aG9kcy4JCgoyMDA1LTExLTEzICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJUFIgMjQ3NDkKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhIChpbnN0YWxsRGVmYXVsdHMpOiAgCglDYWxsIHNldFNlbGVjdGlvbkNvbG9yLiAKCjIwMDUtMTEtMTIgIFdvbGZnYW5nIEJhZXIgIDxXQmFlckBnbXguZGU+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEKCShwcm9jZXNzUmVzb2x1dGlvbik6IFBhc3MgRXJyb3IsIFJ1bnRpbWVFeGNlcHRpb24gYW5kCglPYmplY3RTdHJlYW1FeGNlcHRpb24gdGhyb3VnaCB0byB0aGUgY2FsbGVyLgoJKHJlYWRPYmplY3QpOiBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCjIwMDUtMTEtMTEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCSAgICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGphdmEvdXRpbC9Qcm9wZXJ0aWVzLmphdmEgKGxvYWQpOiBTaG9ydC1jaXJjdWl0IHBhcnNpbmcgd2hlbiBrZXkgb3IKCXZhbHVlIGRvZXNuJ3QgY29udGFpbiBlc2NhcGUgY2hhcmFjdGVyLiBVc2UgU3RyaW5nQnVpbGRlciBpbnN0ZWFkIG9mCglTdHJpbmdCdWZmZXIuCgkoc3RvcmUpOiBVc2UgU3RyaW5nQnVpbGRlciBpbnN0ZWFkIG9mIFN0cmluZ0J1ZmZlci4KCShmb3JtYXRGb3JPdXRwdXQpOiBMaWtld2lzZS4KCjIwMDUtMTEtMTEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhCgkoZ2V0TWluaW11bURpdmlkZXJMb2NhdGlvbik6IEZpeGVkIHRvIHVzZSB0aGUgIG1pbmltdW0gc2l6ZQoJb2YgdGhlIGNvcnJlY3QgY29tcG9uZW50LiBBbHNvLCByZW1vdmVkIGNhbGwgdG8gZ2V0QXZhaWxhYmxlU2l6ZSwKCXRoaXMgaXMgbm90IG5lZWRlZCBmb3IgdGhlIG1pbmltdW0gbG9jYXRpb24uCgoyMDA1LTExLTExICBBcmNoaWUgQ29iYnMgIDxhcmNoaWVAZGVsbHJvYWQub3JnPgoKCSogYXV0b2dlbi5zaDogRml4IGJyb2tlbiBsaWJ0b29sIHZlcnNpb24gZGV0ZWN0aW9uIG9uIEZyZWVCU0QuCgoyMDA1LTExLTExICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YQoJKExpZ2h0d2VpZ2h0RGlzcGF0Y2hlci5hY3F1aXJlQ29tcG9uZW50Rm9yTW91c2VFdmVudCk6IElmIHRoZSAKCWV2ZW50IGlzIG5vdCBiZWluZyBkaXNwYXRjaGVkLCB0aGUgcHJlc3NDb3VudCBzaG91bGQgYmUgcmVzZXQuCgoyMDA1LTExLTExICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0ZpZWxkVmlldy5qYXZhIChnZXRQcmVmZXJyZWRTcGFuKTogQ2hhaW4KCUJhZExvY2F0aW9uRXhjZXB0aW9uIHdoZW4gdGhyb3dpbmcgYXNzZXJ0aW9uLgoKMjAwNS0xMS0xMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCVJlcG9ydGVkIGJ5IGpvaG4uemlnbWFuQGFudS5lZHUuYXUgYXMgYnVnICMyNDYwOC4KCSogZ251L2phdmEvbmlvL1NvY2tldENoYW5uZWxJbXBsLmphdmEgKHJlYWQpOiBQdXQgcmVhZEJ5dGVzIGluCglkZXN0aW5hdGlvbiBCeXRlQnVmZmVyIHdoZW4gaXQgZG9lc24ndCBoYXZlIGFuIGFycmF5IGluc3RlYWQgb2YgbGVuCglieXRlcy4KCjIwMDUtMTEtMTEgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JT1JJbnRlcmNlcHRvcl8zXzAuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JT1JJbnRlcmNlcHRvcl8zXzBIZWxwZXIuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JT1JJbnRlcmNlcHRvcl8zXzBIb2xkZXIuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JT1JJbnRlcmNlcHRvcl8zXzBPcGVyYXRpb25zLmphdmEsCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvX0lPUkludGVyY2VwdG9yXzNfMFN0dWIuamF2YTogTmV3IGZpbGVzLgoJKiBnbnUvQ09SQkEvSW50ZXJjZXB0b3IvSU9SSW50ZXJjZXB0b3JzLmphdmEsCglnbnUvQ09SQkEvSW50ZXJjZXB0b3IvZ251SW9ySW5mby5qYXZhLAoJZ251L0NPUkJBL09yYlJlc3RyaWN0ZWQuamF2YSwKCWdudS9DT1JCQS9Qb2EvQU9NLmphdmEsCglnbnUvQ09SQkEvUG9hL09SQl8xXzQuamF2YSwKCWdudS9DT1JCQS9Qb2EvZ251UE9BLmphdmEsCglnbnUvQ09SQkEvUG9hL2dudVBPQU1hbmFnZXIuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JT1JJbmZvT3BlcmF0aW9ucy5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0lPUkludGVyY2VwdG9yT3BlcmF0aW9ucy5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRJbmZvT3BlcmF0aW9ucy5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09iamVjdFJlZmVyZW5jZUZhY3RvcnlPcGVyYXRpb25zLmphdmE6CglSZXdyaXR0ZW4gdG8gc3VwcG9ydCB0aGUgSU9SSW50ZXJjZXB0b3JfM18wLgoKMjAwNS0xMS0xMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFJhZGlvQnV0dG9uVUkuamF2YQoJKHBhaW50Rm9jdXMpOiBDZW50ZXJlZCBib3JkZXIgYXJvdW5kIHJlY3RhbmdsZS4gSXQgc2VlbWVkCglhIGJpdCBvZmZzZXQgYW5kIHRvbyBzbWFsbCBhdCB0aW1lcy4KCjIwMDUtMTEtMTAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmEKCSh2YWx1ZUNoYW5nZWQpOiBSZXBhaW50IGxpc3Qgd2hlbiBzZWxlY3Rpb24gY2hhbmdlZC4KCSh1cGRhdGVMYXlvdXRTdGF0ZSk6IFJld29ya2VkIHRvIGNvcnJlY3RseSByZXNwZWN0IGZpeGVkIGNlbGwgc2l6ZXMuCgkoaW5zdGFsbExpc3RlbmVycyk6IENyZWF0ZSBjb21wb25lbnQgbGlzdGVuZXIgYmVmb3JlIGFkZGluZyBpdC4KCShwYWludCk6IE9wdGltaXplZCB0byBvbmx5IGRyYXcgdGhlIGNlbGxzIGluIHRoZSBjbGlwLgoKMjAwNS0xMS0xMCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YToKCShwcm9jZXNzS2V5RXZlbnQpOiBSZXdvcmtlZCB0aGlzIG1ldGhvZCB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLiAgUmV0dXJuCgllYXJseSBpZiB0aGUgZXZlbnQgaGFzIGFscmVhZHkgYmVlbiBoYW5kbGVkLiBEb24ndCBzdG9wIGNsaW1iaW5nIHdoZW4KCXdlIGhpdCBhIEpJbnRlcm5hbEZyYW1lLCBvbmx5IHN0b3AgYXQgQXBwbGV0cyBvciBXaW5kb3dzICh0aGlzIGZpeGVzCglQUiAyNDc4MSkuIERvbid0IGNoZWNrIFdIRU5fSU5fRk9DVVNFRF9XSU5ET1cgYmluZGluZ3MgaWYgdGhlcmUgaXMgbm8KCXRvcC1sZXZlbCBjb250YWluZXIgcHJlc2VudC4gIElmIHRoZXJlIGlzIGEgdG9wLWxldmVsIGNvbnRhaW5lciwgIHBhc3MgCglpdCB0byBLZXlib2FyZE1hbmFnZXIucHJvY2Vzc0tleVN0cm9rZSByYXRoZXIgdGhhbiB0aGUgSkNvbXBvbmVudCB0aGF0CglhY3R1YWxseSByZWNlaXZlZCB0aGUgZXZlbnQsIHRvIHNhdmUgdGltZSBpbiBmaW5kaW5nIHRoZSB0b3AtbGV2ZWwgCgljb250YWluZXIgd2l0aGluIEtleWJvYXJkTWFuYWdlci4KCSogamF2YXgvc3dpbmcvS2V5Ym9hcmRNYW5hZ2VyLmphdmE6CgkoZmluZFRvcExldmVsKTogQ2hhbmdlZCBwYXJhbWV0ZXIgZnJvbSBKQ29tcG9uZW50IHRvIENvbXBvbmVudCB0byBhbGxvdwoJZ2VuZXJhbGl0eSBhbmQgdG8gYWxsb3cgcGFzc2luZyBpbiBvZiBhbHJlYWR5LWRldGVybWluZWQgdG9wLWxldmVsIAoJY29udGFpbmVycyB0byBzYXZlIHRpbWUuCgkocHJvY2Vzc0tleVN0cm9rZSk6IExpa2V3aXNlLgoKMjAwNS0xMS0xMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCUZpeGVzIGJ1ZyAjMjQ3MzEgcmVwb3J0ZWQgYnkgZnJlZWJlYW5zQHhxYi5iaWdsb2JlLm5lLmpwLgoJKiBqYXZhL2F3dC9TY3JvbGxQYW5lLmphdmEgKGFkZE5vdGlmeSk6IFJldHVybiBpbW1lZGlhdGVseSB3aGVuIHBlZXIKCWFscmVhZHkgc2V0LgoKMjAwNS0xMS0xMCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEKCShpbnN0YWxsTGlzdGVuZXJzKTogQWxzbyBpbnN0YWxsIGZvY3VzTGlzdGVuZXIgb24gdGhlIGxpc3RCb3guCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogQWxzbyB1bmluc3RhbGwgZm9jdXNMaXN0ZW5lciBmcm9tIHRoZSBsaXN0Qm94LgoJKHNldFBvcHVwVmlzaWJsZSk6IFJlcXVlc3QgZm9jdXMgb24gdGhlIGxpc3Rib3ggd2hlbiBtYWtpbmcgdGhlCglwb3B1cCB2aXNpYmxlLgoKMjAwNS0xMS0xMCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHBhaW50aW5nVGlsZSk6IE5ldyBmaWVsZC4KCShpc1BhaW50aW5nVGlsZSk6IEltcGxlbWVudGVkLgoJKHBhaW50Q2hpbGRyZW4pOiBPcHRpbWl6ZWQgcGFpbnRpbmcgb2Ygb3ZlcmxhcHBpbmcgY2hpbGRyZW4uCgoyMDA1LTExLTEwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJUmVwb3J0ZWQgYnkgUGV0dGVyaSA8YmV0ZWxnZXVzZUBnZW50b28ub3JnPiBidWcgIzI0NzY4IGFuZCBidWcgIzI0NzY5LgoJKiBjb25maWd1cmUuYWMgKGRzc2kpOiBDaGFuZ2UgYWNjaWRlbnRhbCBhbHNhIHJlZmVyZW5jZSB0byBkc3NpLgoJKiBuYXRpdmUvam5pL21pZGktZHNzaS9NYWtlZmlsZS5hbSAobGliZ2pzbWRzc2lfbGFfU09VUkNFUyk6IEFkZAoJZHNzaV9kYXRhLmguCgoyMDA1LTExLTEwICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvT3JiRnVuY3Rpb25hbC5qYXZhICh1c2VfcHJvcGVydGllcywgc2V0X3BhcmFtZXRlcnMpOgoJUmV3cml0dGVuIHRvIHN1cHBvcnQgb3JiIGFuZCBzZXJ2ZXIgaWRzLgoJKiBvcmcvb21nL0NPUkJBL09SQi5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09iamVjdFJlZmVyZW5jZVRlbXBsYXRlLmphdmE6IAoJRG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoyMDA1LTExLTA5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhOgoJKGFkZE5vdGlmeSk6IFVucmVnaXN0ZXIgYWxsIFdIRU5fSU5fRk9DVVNFRF9XSU5ET1cgYmluZGluZ3MgZm9yIHRoaXMgCglKQ29tcG9uZW50IGFuZCB0aGVuIHJlZ2lzdGVyIHRoZW0gd2l0aCBpdHMgKHBvdGVudGlhbGx5KSBuZXcgdG9wIGxldmVsCglhbmNlc3Rvci4gIFJlbW92ZWQgdW5uY2Vzc2FyeSBjb2RlIHRoYXQgY29waWVkIHJlZ3VsYXIgKFdIRU5fRk9DVVNFRCkKCWtleSBiaW5kaW5ncyB1cCB0aGUgcGFyZW50IGhpZXJhcmNoeS4gIAoKMjAwNS0xMS0wOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCglSZXBvcnRlZCBieSBGcmllZGpvZiBTaWViZXJ0ICA8c2llYmVydEBhaWNhcy5jb20+CgkqIGphdmEvdXRpbC9XZWFrSGFzaE1hcC5qYXZhCgkoV2Vha0VudHJ5U2V0Lkl0ZXJhdG9yLmNoZWNrTW9kKTogSW1wcm92ZWQgZXhjZXB0aW9uIG1lc3NhZ2UuCgkoaW50ZXJuYWxSZW1vdmUpOiBSZW1vdmVkIHJlZHVuZGFudCByZWFkcyBvZiBidWNrZXRzW3Nsb3RdIGFuZAoJcHJldi5uZXh0IGFuZCBhZGRlZCBjaGVja3MgdG8gZW5zdXJlIHRoYXQgbm8gbnVsbCBwb2ludGVyCglleGNlcHRpb24gbWF5IG9jY3VyIGFuZCB0aGF0IHRoaXMgY2FuIGJlIHByb3ZlZCBhdXRvbWF0aWNhbGx5LgoKMjAwNS0xMS0wOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCglSZXBvcnRlZCBieSBGcmllZGpvZiBTaWViZXJ0ICA8c2llYmVydEBhaWNhcy5jb20+CgkqIGphdmEvaW8vUHJpbnRXcml0ZXIuamF2YQoJKGxpbmVfc2VwYXJhdG9yKTogIEFkZGVkIGRlZmF1bHQgdmFsdWUgZm9yIHByb3BlcnR5IHRvIGVuc3VyZQoJYWJzZW5jZSBvZiBudWxsIHBvaW50ZXIgZXhjZXB0aW9uIGV2ZW4gaWYgcHJvcGVydHkgaXMgbm90IHNldC4KCjIwMDUtMTEtMDkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL2lvL0lucHV0U3RyZWFtUmVhZGVyLmphdmEKCShJbnB1dFN0cmVhbVJlYWRlcihJbnB1dFN0cmVhbSwgQ2hhcnNldERlY29kZXIpKTogQ2F0Y2ggdGhlIGNhc2UKCXdoZW4gdGhlIENoYXJzZXREZWNvZGVyIHJldHVybnMgYSBudWxsIGNoYXJzZXQgYW5kIGhhbmRsZSBpdCBsaWtlCglVUy1BU0NJSS4KCjIwMDUtMTEtMDkgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglSZXBvcnRlZCBieSBQZXR0ZXJpIFLkdHkgPGJldGVsZ2V1c2VAZ2VudG9vLm9yZz4KCSogSU5TVEFMTDogUmVtb3ZlIGRvdWJsZSAtLWVuYWJsZS14bWxqIGVudHJ5LgoKMjAwNS0xMS0wOSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YToKCShwcm9jZXNzS2V5RXZlbnQpOiBVc2UgbG9jYWwgdmFyaWFibGVzIGZvciBib29sZWFuIHByZXNzZWQgYW5kIGZvciAKCXRoZSBLZXlTdHJva2UuICBJbXBsZW1lbnRlZCB0aGUgY29kZSBmb3IgV0hFTl9JTl9GT0NVU0VEX1dJTkRPVwoJYmluZGluZ3MuCgkodXBkYXRlQ29tcG9uZW50SW5wdXRNYXApOiBJbXBsZW1lbnRlZCBhbmQgZml4ZWQgdHlwbyBpbiBkb2NzLgoJKiBqYXZheC9zd2luZy9LZXlib2FyZE1hbmFnZXIuamF2YTogTmV3IGNsYXNzLgoKMjAwNS0xMS0wOSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YQoJKHNldENvbXBvbmVudCk6IFRhYiBzaG91bGQgYmUgaW5zZXJ0ZWQgd2l0aCBhIHRpdGxlLCBhbmQgcmVtb3ZlZCBmcm9tCgl0aGUgdmVjdG9yIG9uY2Ugc2V0LgoJKHJlbW92ZVRhYkF0KTogVGFiIHNob3VsZCBvbmx5IGJlIHJlbW92ZWQgZnJvbSB2ZWN0b3IuCglyZW1vdmUoQ29tcG9uZW50KSBpcyBjYWxsZWQgdG8gcmVtb3ZlIHRoZSB0YWIgZnJvbSB0aGUgSlRhYmJlZFBhbmUuCgkocmVtb3ZlKTogQWRkZWQgY2FsbCB0byB0aGUgY29tcG9uZW50LiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZW1vdmUKCXRoZSBjb21wb25lbnQgYXMgd2VsbCBhcyB0aGUgdGFiLgoKMjAwNS0xMS0wOSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YQoJKHNldENvbXBvbmVudCk6IE5vIG5lZWQgdG8gcmVtb3ZlIGFuZCBhZGQgdGFiLgoJKHJlbW92ZSk6IEZpeGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKHJlbW92ZSk6IEZpeGVkIEFQSSBkb2N1bWVudGF0aW9uLiBSZS1pbXBsZW1lbnRlZCBhY2NvcmRpbmcgdG8gQVBJLgoKMjAwNS0xMS0wOSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL3d3dy5nbnUub3JnL2NwLXRvb2xzL2NwLXRvb2xzLndtbDogQWRkIGdqZG9jIGRvd25sb2FkIGxpbmsuCgoyMDA1LTExLTA5ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2FlbGZyZWQyL1NBWERyaXZlci5qYXZhOiBFbnN1cmUgdGhhdCBhYnNvbHV0aXplIGRvZXMgbm90Cgl0aHJvdyBleGNlcHRpb24gd2hlbiBjdXN0b20gZW50aXR5IHJlc29sdmVyIGlzIHNldC4KCjIwMDUtMTEtMDkgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9ldmVudC9JbnZvY2F0aW9uRXZlbnQuamF2YToKCShleGNlcHRpb24pOiBSZXBsYWNlZCB0aGlzIGZpZWxkIChyZW1vdmVkIHllc3RlcmRheSkgYmVjYXVzZSBpdCBpcyAKCW5lZWRlZCBmb3Igc2VyaWFsaXphdGlvbi4KCShkaXNwYXRjaCk6IFNhdmUgdGhyb3duIGV4Y2VwdGlvbi4KCShnZXRFeGNlcHRpb24pOiBEaXJlY3RseSByZXR1cm4gZXhjZXB0aW9uLCBubyBuZWVkIHRvIGNhc3QgdGhyb3dhYmxlLgoKMjAwNS0xMS0wOSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0NvbXBvbmVudElucHV0TWFwLmphdmE6CgkocHV0KTogTm90aWZ5IHRoZSBjb21wb25lbnQuCgkoY2xlYXIpOiBMaWtld2lzZS4KCShyZW1vdmUpOiBMaWtld2lzZS4KCShzZXRQYXJlbnQpOiBOb3RpZnkgdGhlIHBhcmVudC4gIEltcHJvdmVkIHRoZSBleGNlcHRpb24gbWVzc2FnZXMuCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YToKCShpbnB1dE1hcF93aGVuSW5Gb2N1c2VkV2luZG93KTogQ2hhbmdlZCB0eXBlIGZyb20gSW5wdXRNYXAgdG8gCglDb21wb25lbnRJbnB1dE1hcC4KCShzZXRJbnB1dE1hcCk6IElmIHdlJ3JlIHNldHRpbmcgdGhlIFdIRU5fSU5fRk9DVVNFRF9XSU5ET1cgbWFwIGFuZCAKCXRoZSBwYXJhbWV0ZXIgaXMgbm90IGEgQ29tcG9uZW50SW5wdXRNYXAgb3IgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAKCXRoZSBzYW1lIENvbXBvbmVudCwgdGhyb3cgYW4gSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uLgoJKGdldElucHV0TWFwKTogQ3JlYXRlIGEgbmV3IENvbXBvbmVudElucHV0TWFwIGluc3RlYWQgb2YgYSBuZXcgCglJbnB1dE1hcCB3aGVuIHRoZSBXSEVOX0lOX0ZPQ1VTRURfV0lORE9XIG1hcCBkb2Vzbid0IHlldCBleGlzdC4KCSh1ZHBhdGVDb21wb25lbnRJbnB1dE1hcCk6IE5ldyBtZXRob2QuICBUaGlzIGlzIHRoZSBtZXRob2QgdGhhdCAKCUNvbXBvbmVudElucHV0TWFwIGNhbGxzIHdoZW4gaXQgaXMgdXBkYXRlZC4gIE5vdCB5ZXQgY29tcGxldGVseSAKCWltcGxlbWVudGVkLgoKMjAwNS0xMS0wOSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09iamVjdFJlZmVyZW5jZVRlbXBsYXRlU2VxSGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvT2JqZWN0UmVmZXJlbmNlVGVtcGxhdGVTZXFIb2xkZXIuamF2YToKCU5ldyBmaWxlcy4KCjIwMDUtMTEtMDkgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PYmplY3RSZWZlcmVuY2VUZW1wbGF0ZS5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09iamVjdFJlZmVyZW5jZVRlbXBsYXRlSGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvT2JqZWN0UmVmZXJlbmNlVGVtcGxhdGVIb2xkZXIuamF2YToKCU5ldyBmaWxlcy4KCjIwMDUtMTEtMDkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmEKCShzZXRDb21wb25lbnQpOiBBZGRlZCBjaGVjayB0byBwcmV2ZW50IGluZmluaXRlIGxvb3BzLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVGFiYmVkUGFuZVVJLmphdmEKCShjcmVhdGVMYXlvdXRNYW5hZ2VyKTogU2hvdWxkIGNhbGwgc3VwZXIgaGVyZSwgc28gdGhlIGxheW91dAoJaXMgc2V0IHByb3Blcmx5IGRlcGVuZGluZyBvbiB0aGUgbGF5b3V0IG1vZGUuCgoyMDA1LTExLTA5ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9EZW1vLmphdmEKCShta01lbnVCYXIpOiBhZGRlZCBmaWxlIGNob29zZXIgaXRlbSwKCShta0J1dHRvbkJhcik6IHNwbGl0IGJ1dHRvbnMgaW50byB0d28gcm93cywgYWRkZWQgJ0ZpbGVDaG9vc2VyJyBidXR0b24sCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRmlsZUNob29zZXJEZW1vLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0xMS0wOSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09iamVjdFJlZmVyZW5jZUZhY3RvcnkuamF2YTogRG8gbm90Cglpbmhlcml0CWZyb20gb3JnLm9tZy5DT1JCQS5PYmplY3QuCgoyMDA1LTExLTA5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9Db21wb25lbnRVSS5qYXZhCgkodXBkYXRlKTogUmVzdG9yZSB0aGUgZm9yZWdyb3VuZCBjb2xvciBhZnRlciBmaWxsaW5nIHRoZSBiYWNrZ3JvdW5kLgoKMjAwNS0xMS0wOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHBhaW50KTogRmV0Y2ggYSBuZXcgY29tcG9uZW50R3JhcGhpY3MgaGVyZSBpbnN0ZWFkIG9mCglwYWludENvbXBvbmVudC4KCShwYWludENvbXBvbmVudCk6IERvbid0IGZldGNoIHRoZSBjb21wb25lbnRHcmFwaGljcyBoZXJlLiBUaGlzCgltdXN0IGJlIGRvbmUgaW4gcGFpbnQuCgoyMDA1LTExLTA5ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YQoJKHNldE1vZGVsKTogdGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGZvciBudWxsIG1vZGVsLgoKMjAwNS0xMS0wOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKGdldFZpc2libGVFZGl0b3JSZWN0KTogQ29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgaW5uZXIgcmVjdGFuZ2xlLgoKMjAwNS0xMS0wOSAgQ2hyaXN0aWFuIFRoYWxpbmdlciAgPHR3aXN0aUBjb21wbGFuZy50dXdpZW4uYWMuYXQ+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250UGVlci5jIAoJKGluaXRTdGF0aWNTdGF0ZSk6IFJlZ2lzdGVyIGdsb2JhbCB2YXJpYWJsZSBnbHlwaFZlY3Rvcl9jbGFzcyAKCWFzIGdsb2JhbCByZWZlcmVuY2UuCgoyMDA1LTExLTA4ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRDYXJldC5qYXZhIChCbGlua1RpbWVyTGlzdGVuZXIpOiAgCglBZGRlZCBpZ25vcmVOZXh0RXZlbnQgZmxhZyBhbmQgaXRzIGhhbmRsaW5nLgoJKGJsaW5rTGlzdGVuZXIpOiBOZXcgZmllbGQuIChpbml0QmxpbmtUaW1lcik6IAoJSW5pdGlhbGlzZSBibGlua0xpc3RlbmVyIGZpZWxkLgoJKHNldERvdCwgbW92ZURvdCk6IENhbGwgYXBwZWFyKCkgaW5zdGVhZCBvZiByZXBhaW50KCkuIAoJKGFwcGVhcik6IG5ldyBtZXRob2QuCgoyMDA1LTExLTA4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0dOVUxvb2tBbmRGZWVsLmphdmEKCShnZXREZWZhdWx0cyk6IEFkZGVkIGljb25zIGZvciBjaGVja2JveGVzIGFuZCByYWRpb2J1dHRvbi4KCShDaGVja0JveEljb24pOiBOZXcgY2xhc3MsIGltcGxlbWVudGVkLgoJKFJhZGlvQnV0dG9uSWNvbik6IE5ldyBjbGFzcywgaW1wbGVtZW50ZWQuCgoyMDA1LTExLTA4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL1N5c3RlbVByb3BlcnRpZXMuamF2YTogRG9uJ3QgbWVudGlvbgoJZ251LmphdmEuYXd0LkZvY3VzTWFuYWdlci4KCjIwMDUtMTEtMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvc2l0ZVZpZXcuamF2YQoJKG1vZGVsVG9WaWV3KTogQWRqdXN0IHRoZSBhbGxvY2F0aW9uIHRvIHRoZSBjaGlsZCBhbGxvY2F0aW9uIGJlZm9yZQoJZm9yd2FyZGluZyB0byB0aGUgY2hpbGQncyBtb2RlbFRvVmlldy4gUmVwbGFjZWQgQXNzZXJ0aW9uRXJyb3IgYnkKCUJhZExvY2F0aW9uRXhjZXB0aW9uLCBiZWNhdXNlIHRoYXQgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGhlcmUuCgoyMDA1LTExLTA4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVVSS5qYXZhCgkoR2xhc3NQYW5lRGlzcGF0Y2hlci5hY3F1aXJlQ29tcG9uZW50Rm9yTW91c2VFdmVudCk6IFVzZSB0aGUKCWZyYW1lJ3MgbGF5ZXJlZFBhbmUgYXMgcGFyZW50IGluc3RlYWQgb2YgdGhlIGNvbnRlbnQgcGFuZQoJd2hlbiBzZWFyY2hpbmcgZm9yIHRoZSBldmVudCB0YXJnZXQuIFRoaXMgd2F5IGEgcG9zc2libHkgc2V0IG1lbnViYXIKCWlzIGFsc28gaW5jbHVkZWQgaW4gdGhlIHNlYXJjaC4KCjIwMDUtMTEtMDggIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhCgkoc2V0TG9jYXRpb25SZWxhdGl2ZVRvKTogQ2hhbmdlZCB4IGFuZCB5IHRvIHVzZSBnZXRMb2NhdGlvbk9uU2NyZWVuCglhbmQgbW92ZWQgc2V0TG9jYXRpb24gY2FsbCBvdXRzaWRlIG9mIGNoZWNrLgoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhCgkoY3JlYXRlRGlhbG9nKTogTW92ZWQgcGFjayBjYWxsIGFuZCBzZXRMb2NhdGlvblJlbGF0aXZlVG8gY2FsbCBoZXJlCglhbmQgcmVtb3ZlZCB0aGVzZSBjYWxscyBmcm9tIGFsbCBvdGhlciBmdW5jdGlvbnMgdGhhdCBjYWxsCgljcmVhdGVEaWFsb2cuIEFsc28sIHJlbW92ZWQgRklYTUUsIHNpbmNlIGNhbGwgdG8gc2V0TG9jYXRpb25SZWxhdGl2ZVRvCglmaXhlcyB0aGlzLgoJKHNob3dDb25maXJtRGlhbG9nKTogUmVtb3ZlZCBwYWNrIGFuZCBzZXRMb2NhdGlvblJlbGF0aXZlVG8gY2FsbHMuCgkoc2hvd0NvbmZpcm1EaWFsb2cpOiBMaWtld2lzZS4KCShzaG93Q29uZmlybURpYWxvZyk6IExpa2V3aXNlLgoJKHNob3dDb25maXJtRGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd0lucHV0RGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd0lucHV0RGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd0lucHV0RGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd0lucHV0RGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd0lucHV0RGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd0lucHV0RGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd01lc3NhZ2VEaWFsb2cpOiBMaWtld2lzZS4KCShzaG93TWVzc2FnZURpYWxvZyk6IExpa2V3aXNlLgoJKHNob3dPcHRpb25EaWFsb2cpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKEpUcmVlKTogU2hvdWxkIG5vdCB1c2UgYSBzaGFyZWQgaW5zdGFuY2Ugb2YgdGhlIHNlbGVjdGlvbiBtb2RlbC4gSXQKCWlzIGEgcHJvYmxlbSB3aGVuIG9uZSBhcHBsaWNhdGlvbiBoYXMgdHdvIGRpZmZlcmVudCB0cmVlcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkocGFpbnRSb3cpOiBDaGFuZ2VkIHBhcmFtZXRlciB0byBiZSB0aGUgZm9jdXMgb2YgdGhlIHRyZWUuCgkodXBkYXRlQ3VycmVudFZpc2libGVQYXRoKTogQWRqdXN0ZWQgcm9vdCBwYXRoIGluY2FzZSB0aGUgcm9vdCBpcyBoaWRkZW4uCgoyMDA1LTExLTA4ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvZXZlbnQvSW52b2NhdGlvbkV2ZW50LmphdmE6CgkoZXhjZXB0aW9uKTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBmaWVsZC4KCShkaXNwYXRjaCk6IFJlbW92ZWQgcmVmZXJlbmNlIHRvIGZpZWxkIGV4Y2VwdGlvbi4KCShnZXRFeGNlcHRpb24pOiBJZiB0aHJvd2FibGUgaXMgYW4gRXhjZXB0aW9uLCByZXR1cm4gYSBjYXN0ZWQgdmVyc2lvbiwgCglvdGhlcndpc2UgcmV0dXJuIG51bGwuCgkoZ2V0VGhyb3dhYmxlKTogSW1wcm92ZWQgZG9jcy4KCjIwMDUtMTEtMDggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhOgoJKHJlcGxhY2VVSUFjdGlvbk1hcCk6IFN0b3AgY2xpbWJpbmcgaGllcmFyY2h5IG9uY2Ugd2UndmUgZm91bmQgYW4gCglBY3Rpb25NYXBVSVJlc291cmNlLCBkb24ndCBrZWVwIGxvb2tpbmcgdW50aWwgcGFyZW50IGlzIG51bGwuICBObyBuZWVkCgl0byBjaGVjayBpZiBjaGlsZCBpcyBudWxsLgoJKHJlcGxhY2VVSUlucHV0TWFwKTogVXNlIGEgbG9jYWwgdmFyaWFibGUgZm9yIHRoZSBwYXJlbnQgcmF0aGVyIHRoYW4gCgkzIGNhbGxzIHRvIGdldCBwYXJlbnQuICBObyBuZWVkIHRvIGNoZWNrIGlmIGNoaWxkIGlzIG51bGwuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMaXN0VUkuamF2YToKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhOgoJKGluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBVSSBBY3Rpb25NYXAgc2hvdWxkIGJlIG9mIHR5cGUgCglBY3Rpb25NYXBVSVJlc291cmNlLCBub3QganVzdCBBY3Rpb25NYXAuCgoyMDA1LTExLTA4ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YToKCShFbGVtZW50QnVmZmVyLmNsb25lKTogTmV3IEFQSSBtZXRob2QuCgoyMDA1LTExLTA4ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1N0cmluZy5qYXZhOgoJKHJlcGxhY2UpOiBVc2UgYSBTdHJpbmdCdWlsZGVyIGluc3RlYWQgb2YgYSBTdHJpbmdCdWZmZXIgYmVjYXVzZSB0aGlzIAoJaXMgZmFzdGVyIGFuZCB3ZSBkb24ndCBuZWVkIHRocmVhZC1zYWZldHkuCgoyMDA1LTExLTA4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogSW5pdGlhbGl6ZSBiYWNrZ3JvdW5kIGZpZWxkIGNvcnJlY3RseS4KCjIwMDUtMTEtMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL2F3dC9Cb3JkZXJMYXlvdXQuamF2YQoJKGdldEFsaWdubWVudFgpOiBSZXR1cm4gMC41RiBoZXJlLgoJKGdldEFsaWdubWVudFkpOiBSZXR1cm4gMC41RiBoZXJlLgoKMjAwNS0xMS0wOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhCgkoUm9vdExheW91dC5nbGFzc1BhbmVCb3VuZHMpOiBOZXcgZmllbGQuCgkoUm9vdExheW91dC5sYXllcmVkUGFuZUJvdW5kcyk6IE5ldyBmaWVsZC4KCShSb290TGF5b3V0LmNvbnRlbnRQYW5lQm91bmRzKTogTmV3IGZpZWxkLgoJKFJvb3RMYXlvdXQubWVudUJhckJvdW5kcyk6IE5ldyBmaWVsZC4KCShSb290TGF5b3V0LnByZWZTaXplKTogTmV3IGZpZWxkLgoJKGdldExheW91dEFsaWdubWVudFgpOiBSZXR1cm4gMC4wRiBoZXJlLgoJKGdldExheW91dEFsaWdubWVudFkpOiBSZXR1cm4gMC4wRiBoZXJlLgoJKGludmFsaWRhdGVMYXlvdXQpOiBUaHJvdyBhd2F5IGNhY2hlZCBsYXlvdXQgaW5mb3JtYXRpb24uCgkobGF5b3V0Q29udGFpbmVyKTogU2ltcGxpZmllZCBhbmQgZml4ZWQgdGhlIGxheW91dC4gVXNlIGNhY2hlIGlmCglwb3NzaWJsZS4KCShwcmVmZXJyZWRMYXlvdXRTaXplKTogU2ltcGxpZmllZCBhbmQgZml4ZWQgdGhlIGxheW91dC4gVXNlIGNhY2hlIGlmCglwb3NzaWJsZS4KCjIwMDUtMTEtMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShhbGlnbm1lbnRYKTogQ2hhbmdlZCBkZWZhdWx0IHZhbHVlIHRvIC0xLjAuCgkoYWxpZ25tZW50WSk6IENoYW5nZWQgZGVmYXVsdCB2YWx1ZSB0byAtMS4wLgoJKGdldEFsaWdubWVudFgpOiBJZiBubyB2YWx1ZSBoYXMgYmVlbiBzZXQsIHJlZmVyIHRvIHRoZSBzdXBlcmNsYXNzCgliZWhhdmlvdXIuCgkoZ2V0QWxpZ25tZW50WSk6IElmIG5vIHZhbHVlIGhhcyBiZWVuIHNldCwgcmVmZXIgdG8gdGhlIHN1cGVyY2xhc3MKCWJlaGF2aW91ci4KCShzZXRBbGlnbm1lbnRYKTogQ2F0Y2ggaW52YWxpZCB2YWx1ZXMgYW5kIGFkanVzdCB0aGVtIHRvIHRoZSBuZWFyZXN0Cgl2YWxpZCB2YWx1ZS4KCShzZXRBbGlnbm1lbnRZKTogQ2F0Y2ggaW52YWxpZCB2YWx1ZXMgYW5kIGFkanVzdCB0aGVtIHRvIHRoZSBuZWFyZXN0Cgl2YWxpZCB2YWx1ZS4KCjIwMDUtMTEtMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YQoJKGdldEFsaWdubWVudFgpOiBSZWZlciB0byB0aGUgbGF5b3V0IG1hbmFnZXJzIGxheW91dEFsaWdubWVudFgKCXByb3BlcnR5IGlmIGxheW91dCBtYW5hZ2VyIGlzIGEgTGF5b3V0TWFuYWdlcjIuCgkoZ2V0QWxpZ25tZW50WSk6IFJlZmVyIHRvIHRoZSBsYXlvdXQgbWFuYWdlcnMgbGF5b3V0QWxpZ25tZW50WQoJcHJvcGVydHkgaWYgbGF5b3V0IG1hbmFnZXIgaXMgYSBMYXlvdXRNYW5hZ2VyMi4KCjIwMDUtMTEtMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YQoJKGxheWVyVG9SYW5nZSk6IFJldHVybiBlbXB0eSBhcnJheSBmb3IgdW5rbm93biBsYXllciBpbnN0ZWFkIG9mCgl0aHJvd2luZyBhbiBleGNlcHRpb24uCgoyMDA1LTExLTA4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShpbnZhbGlkYXRlKTogRG9uJ3QgaW52YWxpZGF0ZSBpbnZhbGlkIHBhcmVudHMuCgoyMDA1LTExLTA4ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEgKHNldE1heGltdW1TaXplLCAKCXNldE1pbmltdW1TaXplLCBzZXRQcmVmZXJyZWRTaXplKTogQ2xvbmUgdGhlIHBhc3NlZCBwYXJhbWV0ZXIuCgoyMDA1LTExLTA3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShpbnZhbGlkYXRlKTogSW52YWxpZGF0ZSB1cCB0aGUgd2hvbGUgdHJlZSwgcmVnYXJkbGVzcyBpZiBzb21lCglwYXJlbnQgaXMgYWxyZWFkeSBtYXJrZWQgaW52YWxpZC4gVGhpcyBpcyBuZWVkZWQgaW4gc29tZSBzaXR1YXRpb25zCglmb3IgbGF5b3V0IG1hbmFnZXJzIHRvIHRocm93IGF3YXkgdGhlaXIgY2FjaGUuCgoyMDA1LTExLTA3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKHRhYmxlQ2hhbmdlZCk6IENsZWFyZWQgc2VsZWN0aW9uIGlmIHRoZXJlIGFyZSBubyBtb3JlIHJvd3MuIFByZXZlbnRzIGEKCU5QRS4KCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKHNjcm9sbFJlY3RUb1Zpc2libGUpOiBObyBuZWVkIHRvIHNldCB0aGUgc2VsZWN0aW9uIHBhdGggaGVyZS4KCShleHBhbmRQYXRoKTogU29tZXRpbWVzIGl0IGlzIHJlcXVpcmVkIHRvIHNldCB0aGUgc3RhdGUgb2YgYSBsZWFmLCAKCWVzcGVjaWFsbHkgaWYgdGhlIGxlYWYgaXMgdGhlIHJvb3Qgbm9kZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoZ2V0Um93Q291bnQpOiBBZGRlZCBjYWxsIHRvIHVwZGF0ZUN1cnJlbnRWaXNpYmxlUGF0aCwgc28gdGhlCgljb3JyZWN0IHZhbHVlIGlzIGFsd2F5cyByZXR1cm5lZC4KCShwYWludCk6IE5vIG5lZWQgdG8gcGFpbnQgaWYgdGhlIHZpc2libGUgcGF0aCBpcyBudWxsLgoJKHByb3BlcnR5Q2hhbmdlKTogSW1wbGVtZW50ZWQuCgkocGFpbnRSZWN1cnNpdmUpOiBBZGRlZCBjaGVjayBmb3IgdmlzaWJpbGl0eSBvZiBjaGlsZC4gSWYgaXQgaXMKCW5vdCB2aXNpYmxlIGJlY2F1c2UgaXQgd2FzIGV4cGxpY2l0bHkgc2V0IHRvIGJlIGhpZGRlbiwgbm8gbGluZXMKCXNob3VsZCBiZSBkcmF3bi4KCShwYWludENvbnRyb2xJY29ucyk6IExpa2V3aXNlLgoJKGdldFByZXZpb3VzTm9kZSk6IEZpeGVkIGNoZWNrIHRvIGluY2x1ZGUgcm9vdC4KCShwYWludFJvdyk6IFNldCBmb2N1cyB0byBiZSB0cnVlICh0aGlzIHdpbGwgY2hhbmdlIGluIHRoZSBmdXR1cmUpLgoJKHVwZGF0ZUN1cnJlbnRWaXNpYmxlUGF0aCk6IEZpeGVkIGNoZWNrIHRvIGNhbGwgZ2V0TmV4dE5vZGUgaWYKCXRoZSBjdXJyZW50IG5vZGUgaXMgYSBsZWFmIChtb3JlIGVmZmljZW50IHRoYW4gY2FsbGluZyBnZXROZXh0U2libGluZykuCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsUmVuZGVyZXIuamF2YQoJKGdldFRyZWVDZWxsUmVuZGVyZXJDb21wb25lbnQpOiBDaGFuZ2VkIHRvIGRyYXcgYm9yZGVyIGlmIG5vZGUgaGFzIGZvY3VzLgoKMjAwNS0xMS0wNyAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJRml4ZXMgYnVnICMyNDQ2NwoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RGVjb2Rlci5jCgkoSmF2YV9nbnVfamF2YV9uaW9fY2hhcnNldF9pY29udl9JY29udkRlY29kZXJfZGVjb2RlKToKCURvIG5vdCBjaGVjayBlcnJubyA9PSBFSU5WQUwsIHdoaWNoIGlzIGEgbm9ybWFsIGNhc2UuCgoyMDA1LTExLTA3ICBJdG8gS2F6dW1pdHN1ICA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCglGaXhlcyBidWcgIzIyOTY4CgkqIGdudS9qYXZhL25pby9jaGFyc2V0L2ljb252L0ljb252UHJvdmlkZXIuamF2YQoJKEljb252UHJvdmlkZXIpOiBEZWNsYXJlIHRoZSBjb25zdHJ1Y3RvciBwdWJsaWMuCgoyMDA1LTExLTA3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkFwcGxldC5qYXZhCgkoaW5pdFN0YWdlRG9uZSk6IFJlbW92ZWQgdW5uZWNlc3NhcnkgZmllbGQuCgkoSkFwcGxldCk6IFVzZSByb290UGFuZUNoZWNraW5nRW5hYmxlZCBwcm9wZXJ0eSBpbnN0ZWFkIG9mCglpbml0U3RhZ2VEb25lIGZpZWxkLgoJKHNldExheW91dCk6IExpa2V3aXNlLgoJKGFkZEltcGwpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkRpYWxvZy5qYXZhCgkoaW5pdFN0YWdlRG9uZSk6IFJlbW92ZWQgdW5uZWNlc3NhcnkgZmllbGQuCgkoZGlhbG9nSW5pdCk6IFVzZSByb290UGFuZUNoZWNraW5nRW5hYmxlZCBwcm9wZXJ0eSBpbnN0ZWFkIG9mCglpbml0U3RhZ2VEb25lIGZpZWxkLgoJKHNldExheW91dCk6IExpa2V3aXNlLgoJKGFkZEltcGwpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkZyYW1lLmphdmEKCShpbml0U3RhZ2VEb25lKTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBmaWVsZC4KCShmcmFtZUluaXQpOiBVc2Ugcm9vdFBhbmVDaGVja2luZ0VuYWJsZWQgcHJvcGVydHkgaW5zdGVhZCBvZgoJaW5pdFN0YWdlRG9uZSBmaWVsZC4KCShzZXRMYXlvdXQpOiBMaWtld2lzZS4KCShhZGRJbXBsKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pXaW5kb3cuamF2YQoJKGluaXRTdGFnZURvbmUpOiBSZW1vdmVkIHVubmVjZXNzYXJ5IGZpZWxkLgoJKHdpbmRvd0luaXQpOiBVc2Ugcm9vdFBhbmVDaGVja2luZ0VuYWJsZWQgcHJvcGVydHkgaW5zdGVhZCBvZgoJaW5pdFN0YWdlRG9uZSBmaWVsZC4KCShzZXRMYXlvdXQpOiBMaWtld2lzZS4KCShhZGRJbXBsKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pJbnRlcm5hbEZyYW1lLmphdmEKCShpbml0U3RhZ2VEb25lKTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBmaWVsZC4KCShKSW50ZXJuYWxGcmFtZSk6IFVzZSByb290UGFuZUNoZWNraW5nRW5hYmxlZCBwcm9wZXJ0eSBpbnN0ZWFkIG9mCglpbml0U3RhZ2VEb25lIGZpZWxkLgoJKHNldExheW91dCk6IExpa2V3aXNlLgoJKGFkZEltcGwpOiBMaWtld2lzZS4KCShwYXJhbVN0cmluZyk6IFJldHVybiBzdXBlcmNsYXNzIHBhcmFtc3RyaW5nLgoJKHJlc2hhcGUpOiBDYWxsIHJldmFsaWRhdGUoKSBpbnN0ZWFkIG9mIGludmFsaWRhdGUoKSBhbmQgZG9MYXlvdXQoKS4KCShzZXRVSSk6IFRlbXBvcmFyaWx5IGdvIGludG8gaW5pdCBtb2RlLCBzbyB0aGF0IHRoZSBVSSBjYW4KCW1hbmlwdWxhdGUgdGhlIGZyYW1lIGRpcmVjdGx5LgoJKHVwZGF0ZVVJKTogTGlrZXdpc2UuCgoyMDA1LTExLTA3ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1N0cmluZy5qYXZhOgoJKHJlcGxhY2UpOiBVc2UgYSBTdHJpbmdCdWZmZXIgaW5zdGVhZCBvZiBTdHJpbmcuICBPbmx5IHNlYXJjaCBmb3IgbmV3IAoJb2NjdXJyZW5jZXMgb2YgdGhlIHRhcmdldCB0aGF0IG9jY3VyIEFGVEVSIHRoZSB0ZXh0IGp1c3QgaW5zZXJ0ZWQsIHNvIAoJaWYgdGhlIHJlcGxhY2VtZW50IHN0cmluZyBjb250YWlucyB0aGUgdGFyZ2V0IHN0cmluZyB3ZSB3b24ndCBnbyBpbnRvIAoJYW4gaW5maW5pdGUgbG9vcC4gIFVzZSBsb2NhbCB2YXJpYWJsZXMgaW5zdGVhZCBvZiByZXBlYXRlZCBjYWxscyB0byAKCWxlbmd0aCgpIGFuZCB0b1N0cmluZygpLgoKMjAwNS0xMS0wNyAgQ2hyaXN0aWFuIFRoYWxpbmdlciAgPHR3aXN0aUBjb21wbGFuZy50dXdpZW4uYWMuYXQ+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDbGlwYm9hcmQuYzogCglVc2UgbG9uZyBmb3IgNjQtYml0IGFyY2hpdGVjdHVyZXMuCgoyMDA1LTExLTA3ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL0FycmF5cy5qYXZhOgoJKHRvU3RyaW5nKGxvbmdbXSkpOiBOZXcgQVBJIG1ldGhvZC4KCSh0b1N0cmluZyhpbnRbXSkpOiBMaWtld2lzZS4KCSh0b1N0cmluZyhzaG9ydFtdKSk6IExpa2V3aXNlLgoJKHRvU3RyaW5nKGNoYXJbXSkpOiBMaWtld2lzZS4KCSh0b1N0cmluZyhieXRlW10pKTogTGlrZXdpc2UuCgkodG9TdHJpbmcoYm9vbGVhbltdKSk6IExpa2V3aXNlLgoJKHRvU3RyaW5nKGZsb2F0W10pKTogTGlrZXdpc2UuCgkodG9TdHJpbmcoZG91YmxlW10pKTogTGlrZXdpc2UuCgkodG9TdHJpbmcoT2JqZWN0W10pKTogTGlrZXdpc2UuCgoyMDA1LTExLTA3ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvZXZlbnQvSW52b2NhdGlvbkV2ZW50LmphdmE6CgkodGhyb3dhYmxlKTogTmV3IGZpZWxkLgoJKGdldFRocm93YWJsZSk6IE5ldyBBUEkgbWV0aG9kLgoJKGRpc3BhdGNoKCkpOiBDYXRjaCBUaHJvd2FibGUsIG5vdCBFeGNlcHRpb24uICBTYXZlIHRoZSBUaHJvd2FibGUuICBJZgoJaXQgaXMgYW4gRXhjZXB0aW9uLCBzYXZlIHRoZSBFeGNlcHRpb24uCgoyMDA1LTExLTA3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Qb3B1cC5qYXZhCgkoc2hvdyk6IFNldCBsYXlvdXQgZm9yIHBhbmVsLiBPdGhlcndpc2UsIGNvbnRlbnRzIGFyZQoJZGlzcGxheWVkIGF0IGFuIGFyYml0cmFyeSBsb2NhdGlvbi4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YQoJKGdldFByZWZlcnJlZE1lbnVJdGVtU2l6ZSk6IFRvb2sgaW50byBhY2NvdW50IGluc2V0cy4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJ1dHRvblVJLmphdmEKCShwYWludEZvY3VzKTogRG9uJ3QgcGFpbnQgZm9jdXMgaWYgbm90IGVuYWJsZWQuCgoyMDA1LTExLTA3ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1N0cmluZy5qYXZhOgoJKGNvbnRhaW5zKTogTmV3IEFQSSBtZXRob2QuCgkocmVwbGFjZSk6IE5ldyBBUEkgbWV0aG9kLgoKMjAwNS0xMS0wNyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9Cb29sZWFuLmphdmE6CgkoY29tcGFyZVRvKEJvb2xlYW4pKTogTmV3IEFQSSBtZXRob2QuCgoyMDA1LTExLTA3ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJKGluc3RhbGxDb21wb25lbnRzKTogdXBkYXRlIGxvY2FsIHJlZmVyZW5jZSB0byBlZGl0b3IgY29tcG9uZW50IGFsd2F5cywKCShnZXREaXNwbGF5U2l6ZSk6IGltcGxlbWVudCBuZXcgY2FsY3VsYXRpb24gZm9yIGVkaXRhYmxlIGNvbWJvIGJveGVzLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hFZGl0b3IuamF2YQoJKGVkaXRvckJvcmRlckluc2V0cyk6IGluaXRpYWxpc2Ugd2l0aCBjb3JyZWN0IHZhbHVlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hVSS5qYXZhCgkoZ2V0TWluaW11bVNpemUpOiBpbXBsZW1lbnRlZCBkaWZmZXJlbnQgY2FsY3VsYXRpb24gZm9yIGVkaXRhYmxlIGNvbWJvIAoJYm94ZXMuCgoyMDA1LTExLTA3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhCgkoc2hvd0NvbmZpcm1EaWFsb2cpOiBBZGRlZCBjYWxsIHRvIHNldCB0aGUgbG9jYXRpb24gb2YgdGhlCglkaWFsb2cgcmVsYXRpdmUgdG8gaXRzIHBhcmVudC4KCShzaG93Q29uZmlybURpYWxvZyk6IExpa2V3aXNlLgoJKHNob3dDb25maXJtRGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd0NvbmZpcm1EaWFsb2cpOiBMaWtld2lzZS4KCShzaG93SW5wdXREaWFsb2cpOiBMaWtld2lzZS4KCShzaG93SW5wdXREaWFsb2cpOiBMaWtld2lzZS4KCShzaG93SW5wdXREaWFsb2cpOiBMaWtld2lzZS4KCShzaG93SW5wdXREaWFsb2cpOiBMaWtld2lzZS4KCShzaG93TWVzc2FnZURpYWxvZyk6IExpa2V3aXNlLgoJKHNob3dNZXNzYWdlRGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd01lc3NhZ2VEaWFsb2cpOiBMaWtld2lzZS4KCShzaG93T3B0aW9uRGlhbG9nKTogTGlrZXdpc2UuCgoyMDA1LTExLTA3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhCgkoZ2V0UHJlZmVycmVkTWVudUl0ZW1TaXplKTogQWRqdXN0ZWQgd2lkdGggb2YgbWVudSBpdGVtIHdpdGgKCWFycm93IGljb24uIElmIHRoZSBtZW51IGl0ZW0gY2FuIGZpdCBpbiB0aGUgY3VycmVudCB3aWR0aCBvZgoJdGhlIHRvcCBsZXZlbCBtZW51LCB0aGVuIHRoZSB3aWR0aCBvZiB0aGUgbWVudSBpdGVtIGlzIHNldCB0bwoJdGhlIHdpZHRoIG9mIHRoZSBwb3B1cCBtZW51LiBPdGhlcndpc2UsIHRoZSB3aWR0aCBvZiB0aGUKCW1lbnUgaXRlbSBpcyBhZGp1c3RlZCBzbyB0aGF0IHRoZSB3aWR0aCBvZiB0aGUgcG9wdXAgbWVudQoJaXMgaW5jcmVhc2VkLgoKMjAwNS0xMS0wNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogY29uZmlndXJlLmFjOiBEb24ndCBjaGVjayBvciByZXBsYWNlIEZSRUVUWVBFMi4KCSogbmF0aXZlL2puaS9ndGstcGVlci9NYWtlZmlsZS5hbTogUmVtb3ZlIEZSRUVUWVBFMl9MSUJTIGFuZAoJRlJFRVRZUEUyX0NGTEFHUy4KCjIwMDUtMTEtMDcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hFZGl0b3IuamF2YQoJKE1ldGFsQ29tYm9Cb3hFZGl0b3IpOiBkb24ndCBjcmVhdGUgbmV3IGVkaXRvci4KCjIwMDUtMTEtMDcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hFZGl0b3IuamF2YTogQVBJIGRvY3MgcGx1cwoJKEJhc2ljQ29tYm9Cb3hFZGl0b3IpOiBzZXQgYm9yZGVyIHRvIG51bGwgYW5kIGNvbHVtbnMgdG8gOSwKCShhZGRBY3Rpb25MaXN0ZW5lcik6IGltcGxlbWVudGVkLAoJKHJlbW92ZUFjdGlvbkxpc3RlbmVyKTogaW1wbGVtZW50ZWQuCgoyMDA1LTExLTA3ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvSU9SLmphdmEgKGVxdWFscywgaGFzQ29kZSk6IENvbXBhcmUgcG9ydCBudW1iZXIgYXMgd2VsbAoJYW5kIGRvIG5vdCBjcmFzaCBvbiBJT1IuSW50ZXJuZXQ9PW51bGwuCgoyMDA1LTExLTA2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9UaW1lci5qYXZhIChXYWtlci5ydW4pOiBUZXN0IGFuZCBzZXQgcnVubmluZyB3aGlsZQoJaG9sZGluZyBxdWV1ZUxvY2suCgkoc3RhcnQpOiBTZXQgcnVubmluZyB0byB0cnVlLgoJKHN0b3ApOiBVbmNvbmRpdGlvbmFsbHkgbm90aWZ5IHF1ZXVlTG9jay4KCShxdWV1ZUV2ZW50KTogT25seSBjYWxsZWQgd2hlbiBxdWV1ZUxvY2sgYWxyZWFkeSBoZWxkLgoKMjAwNS0xMS0wNiAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9zZXRHcmFkaWVudFVubG9ja2VkKTogVXBkYXRlCglkZWJ1ZyBvdXRwdXQgdG8gcmVmbGVjdCBhY3R1YWwgc2l0dWF0aW9uLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfc2V0VGV4dHVyZVBpeGVsc1VubG9ja2VkKToKCUxpa2V3aXNlLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfZHJhd1BpeGVscyk6IEFkanVzdAoJZm9ybWF0dGluZy4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJEX2NhaXJvU2V0TWF0cml4VW5sb2NrZWQpOgoJVXBkYXRlIGRlYnVnIG91dHB1dCB0byByZWZsZWN0IGFjdHVhbCBzaXR1YXRpb24uCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9jYWlyb1NldFJHQkFDb2xvclVubG9ja2VkKToKCUxpa2V3aXNlLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfY2Fpcm9DdXJ2ZVRvKTogQWRqdXN0Cglmb3JtYXR0aW5nLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfY2Fpcm9SZWxDdXJ2ZVRvKTogTGlrZXdpc2UuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9jYWlyb1JlY3RhbmdsZSk6IExpa2V3aXNlLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfY2Fpcm9TdXJmYWNlU2V0RmlsdGVyVW5sb2NrZWQpOgoJVXBkYXRlIGRlYnVnIG91dHB1dCB0byByZWZsZWN0IGFjdHVhbCBzaXR1YXRpb24uCgoyMDA1LTExLTA2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2F3dC9pbWFnZS9BcmVhQXZlcmFnaW5nU2NhbGVGaWx0ZXIuamF2YTogQWRkIEZJWE1FCgkqIGphdmEvYXd0L0ltYWdlLmphdmEgKGdldFNjYWxlZEluc3RhbmNlKTogSW4gY2FzZSBvZgoJU0NBTEVfQVJFQV9BVkVSQUdJTkcgdXNlIEFyZWFBdmVyYWdpbmdTY2FsZUZpbHRlci4KCjIwMDUtMTEtMDYgIFdvbGZnYW5nIEJhZXIgIDxXQmFlckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9ldmVudC9QcmludEV2ZW50LmphdmEsCgkqIGphdmF4L3ByaW50L2V2ZW50L1ByaW50Sm9iQWRhcHRlci5qYXZhLAoJKiBqYXZheC9wcmludC9ldmVudC9QcmludEpvYkF0dHJpYnV0ZUV2ZW50LmphdmEsCgkqIGphdmF4L3ByaW50L2V2ZW50L1ByaW50Sm9iQXR0cmlidXRlTGlzdGVuZXIuamF2YSwKCSogamF2YXgvcHJpbnQvZXZlbnQvUHJpbnRKb2JFdmVudC5qYXZhLAoJKiBqYXZheC9wcmludC9ldmVudC9QcmludEpvYkxpc3RlbmVyLmphdmEsCgkqIGphdmF4L3ByaW50L2V2ZW50L1ByaW50U2VydmljZUF0dHJpYnV0ZUV2ZW50LmphdmEsCgkqIGphdmF4L3ByaW50L2V2ZW50L1ByaW50U2VydmljZUF0dHJpYnV0ZUxpc3RlbmVyLmphdmEsCgkqIGphdmF4L3ByaW50L2V2ZW50L3BhY2thZ2UuaHRtbDogQWRkZWQgQVBJIGRvY3MgYWxsIG92ZXIuCgoyMDA1LTExLTA2ICBXb2xmZ2FuZyBCYWVyICA8V0JhZXJAZ214LmRlPgoKCSogamF2YS9pby9GaWxlLmphdmEKCShnZXRQYXJlbnQpOiBJZiBwYXRobmFtZSBpcyAiIiByZXR1cm4gbnVsbC4KCSh0b1VSSSk6IEFsc28gYXBwZW5kIHNlcGFyYXRvckNoYXIgaWYgcGF0aCBlcXVhbHMgIiIuCgkoZ2V0QWJzb2x1dGVQYXRoKTogSWYgcGF0aCBlcXVhbHMgIiIgb25seSByZXR1cm4gdGhlIHZhbHVlCglvZiB0aGUgdXNlci5kaXIgc3lzdGVtIHByb3BlcnR5LgoKMjAwNS0xMS0wNiAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9zdHJlYW0vWE1MU3RyZWFtV3JpdGVySW1wbC5qYXZhOiBFbnN1cmUgdGhhdCBnZW5lcmF0ZWQKCXByZWZpeGVzIGRvIG5vdCBhY2NpZGVudGFsbHkgY2xhc2gsIGFuZCBwcm92aWRlIGRvY3VtZW50YXRpb24gZm9yCgluZXcgdmlydHVhbCBtZXRob2RzLiBjcmVhdGVQcmVmaXggKG5ldyBtZXRob2QpIHNpZ25hdHVyZSBjaGFuZ2VkIHRvCglwcm92aWRlIG5hbWVzcGFjZSBVUkkgZm9yIHRoZSBiZW5lZml0IG9mIHN1YmNsYXNzZXMuCgoyMDA1LTExLTA2ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL3RyYW5zZm9ybS9TdHJlYW1TZXJpYWxpemVyLmphdmE6IEF2b2lkIHVuZGVjbGFyZWQgYXBvcwoJZW50aXR5IHdoZW4gb3V0cHV0IG1vZGUgaXMgSFRNTC4KCjIwMDUtMTEtMDYgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9JT1IuamF2YSAoZXF1YWxzLCBoYXNoQ29kZSk6IE5ldyBtZXRvZHMuCgkqIGdudS9DT1JCQS9TaW1wbGVEZWxlZ2F0ZS5qYXZhIChpc19lcXVpdmFsZW50KTogQ29tcGFyZSBJT1JzIHdoZW4gYXBwbGljYWJsZS4KCjIwMDUtMTEtMDYgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9NaW5vci5qYXZhIChJT1JfbWlzc2luZyk6IE5ldyBtaW5vciBjb2RlLgoJKiBnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9OYW1lUGFyc2VyLmphdmEgKGNvcmJhbG9jKTogSW1wbGVtZW50ZWQKCWZpbGUvLywgZnRwOi8vIGFuZCBodHRwOi8vIHN1cHBvcnQuCgkqIGdudS9qYXZheC9ybWkvQ09SQkEvVXRpbERlbGVnYXRlSW1wbC5qYXZhIChtYXBTeXN0ZW1FeGNlcHRpb24pOiAKCVNldCB0aGUgY2F1c2UgZGlyZWN0bHkuCgkqIG9yZy9vbWcvQ09SQkEvREFUQV9DT05WRVJTSU9OLmphdmEsCglvcmcvb21nL0NPUkJBL09SQi5qYXZhIChzdHJpbmdfdG9fb2JqZWN0KTogRG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoyMDA1LTExLTA2ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL3N0cmVhbS9YTUxTdHJlYW1Xcml0ZXJJbXBsLmphdmE6IEZpeGVkIGhhbmRsaW5nIG9mCgluYW1lc3BhY2VzIHdoZW4gaXNQcmVmaXhEZWZhdWx0aW5nIGlzIHNldC4KCjIwMDUtMTEtMDQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRTdHlsZWREb2N1bWVudC5qYXZhOiBSZWZvcm1hdHRlZC4KCjIwMDUtMTEtMDQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhCgkoc2V0TG9jYXRpb25SZWxhdGl2ZVRvKTogSW1wbGVtZW50ZWQgY2FzZSB3aGVuCgljb21wb25lbnQgaXMgbm90IG51bGwuCgoyMDA1LTExLTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9CdWZmZXJlZEltYWdlLmphdmEgKEJ1ZmZlcmVkSW1hZ2UpOiBJbXBsZW1lbnQKCVRyYW5zcGFyZW5jeS4KCShnZXRUcmFuc3BhcmVuY3kpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMS0wNCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIGdudS9DT1JCQS9Tb2NrZXRSZXBvc2l0b3J5LmphdmEgKHNvY2tldHMpOiBDaGFuZ2VkIHR5cGUgdG8KCUhhc2hNYXAuIChwdXRfc29ja2V0LCBnZXRfc29ja2V0LCBnYyk6CglBbHdheXMgc3luY2hyb25pemUgb24gJ3NvY2tldHMnLgoKMjAwNS0xMS0wNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogY29uZmlndXJlLmFjOiBTZXQgdmVyc2lvbiB0byAwLjIwLXByZS4KCjIwMDUtMTEtMDQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlQ29uc3RhbnRzLmphdmE6CgkoRmFtaWx5KTogTmV3IEFQSSBmaWVsZC4KCShTaXplKTogTmV3IEFQSSBmaWVsZC4KCjIwMDUtMTEtMDQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEKCShwYWludE1lbnVJdGVtKTogQ2hhbmdlZCB0byB1c2UgaXNUb3BMZXZlbE1lbnUgcmF0aGVyIHRoYW4gY2hlY2tpbmcKCWluc3RhbmNlIG9mIHBhcmVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BvcHVwTWVudVVJLmphdmEKCShwb3B1cE1lbnVXaWxsQmVjb21lSW52aXNpYmxlKTogQWRkZWQgY2hlY2sgdG8gcHJldmVudCBOUEUuCgkqIGphdmF4L3N3aW5nL1BvcHVwLmphdmE6CglBZGRlZCBuZXcgcHJpdmF0ZSBmaWVsZC4KCShMaWdodHdlaWdodFBvcHVwKTogSW5pdGlhbGl6ZWQgbGF5ZXJlZFBhbmUuCgkoc2hvdyk6IFJlbW92ZWQgdW5uZWVkZWQgY29kZS4KCShoaWRlKTogTGlrZXdpc2UuCgoyMDA1LTExLTA0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmEKCSh1cGRhdGVVSSk6IFNldCB0aGUgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb2xvciBmaWVsZHMgdG8gbnVsbAoJaGVyZSBzbyB0aGF0IGluc3RhbGxpbmcgdGhlIExhYmVsVUkgZG9lcyBub3QgaW50ZXJmZXJlIHdpdGggb3VyCgljdXN0b20gc2V0IGNvbG9ycy4KCShnZXRUYWJsZUNlbGxSZW5kZXJlckNvbXBvbmVudCk6IE9ubHkgc2V0IFVJIGZvY3VzIGNvbG9ycyB3aGVuCgljZWxsIGlzIGFjdHVhbGx5IGVkaXRhYmxlLiBBZGRlZCBvcHRpbWl6YXRpb24gZm9yIHRoZSBjYXNlCgl3aGVuIGJhY2tncm91bmQgaXMgZXF1YWwgdG8gdGFibGUgYmFja2dyb3VuZC4KCjIwMDUtMTEtMDQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90YWJsZS9EZWZhdWx0VGFibGVDZWxsUmVuZGVyZXIuamF2YQoJKGdldFRhYmxlQ2VsbFJlbmRlcmVyQ29tcG9uZW50KTogQ2FsbCBzdXBlci5zZXRCYWNrZ3JvdW5kKCkgb3IKCXN1cGVyLnNldEZvcmVncm91bmQoKSB0byBhdm9pZCBvdmVycmlkaW5nIGN1c3RvbSBzZXQgYmFja2dyb3VuZCBvcgoJZm9yZWdyb3VuZCBjb2xvcnMuIFNldCB0aGUgVUkgZm9jdXMgY29sb3JzIHdoZW4gZm9jdXNlZC4KCjIwMDUtMTEtMDQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL1RleHRGaWVsZERlbW8uamF2YTogTmV3IGZpbGUuCglEZW1vbnN0cmF0ZXMgdGhlIEpUZXh0RmllbGRzIGluIHZhcmlvdXMgc3RhdGVzLgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0RlbW8uamF2YTogUmVwbGFjZWQgdGhlCglvbGQgdGV4dGZpZWxkIGRlbW8gd2l0aCB0aGUgbmV3IG9uZS4KCjIwMDUtMTEtMDQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShnZXRNaW5pbXVtU2l6ZSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvRmllbGRWaWV3LmphdmEKCShnZXRQcmVmZXJyZWRTcGFuKTogQWRkZWQgYXNzZXJ0IHRoYXQgcmVwbGFjZXMgYSAnc2hvdWxkIG5ldmVyIGhhcHBlbicKCWNvbW1lbnQuCgoyMDA1LTExLTA0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvU2l6ZVJlcXVpcmVtZW50cy5qYXZhCgkoZ2V0VGlsZWRTaXplUmVxdWlyZW1lbnRzKTogQWRkZWQgY2hlY2sgZm9yIG92ZXJmbG93cy4KCShhZGp1c3RHcmVhdGVyKTogRml4ZWQgb3ZlcmZsb3cgaGFuZGxpbmcgdGhyb3VnaCB1c2FnZSBvZiBsb25nCglpbnN0ZWFkIG9mIGludC4KCjIwMDUtMTEtMDMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRDYXJldC5qYXZhCgkocG9zaXRpb25DYXJldCk6IENhbGwgc2V0RG90IGluc3RlYWQgb2YgbW92ZURvdC4KCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpblZpZXcuamF2YQoJKHZpZXdUb01vZGVsKTogRXhjbHVkZSB0aGUgZmluYWwgbmV3bGluZSBjaGFyYWN0ZXIgZnJvbSBjYWxjdWxhdGlvbi4KCjIwMDUtMTEtMDMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9hbm5vdW5jZS8yMDA1MTEwMi53bWw6IE5ldyBmaWxlLgoJKiBkb2Mvd3d3LmdudS5vcmcvbmV3c2l0ZW1zLnR4dDogQWRkIDAuMTkgcmVsZWFzZSBhbm5vdW5jZW1lbnQuCgkqIGRvYy93d3cuZ251Lm9yZy9kb3dubG9hZHMvZG93bmxvYWRzLndtbDogQWRkIDAuMTkuCgoyMDA1LTExLTAzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmEKCShiYWNrZ3JvdW5kKTogTmV3IGZpZWxkLgoJKGZvcmVncm91bmQpOiBOZXcgZmllbGQuCgkoc2V0QmFja2dyb3VuZCk6IFN0b3JlIHRoZSBjb2xvciB0aGF0IGlzIHNldCBoZXJlLgoJKHNldEZvcmVncm91bmQpOiBTdG9yZSB0aGUgY29sb3IgdGhhdCBpcyBzZXQgaGVyZS4KCShnZXRUYWJsZUNlbGxSZW5kZXJlckNvbXBvbmVudCk6IEZvciB0aGUgdW5zZWxlY3RlZCBjb2xvciwgc2V0IHRoZQoJdmFsdWUgb2YgdGhlIGZvcmVncm91bmQgb3IgYmFja2dyb3VuZCBmaWVsZHMgaWYgbm90IG51bGwsIG90aGVyd2lzZQoJdGhlIHZhbHVlIG9mIHRoZSBhY2NvcmRpbmcgdGFibGUgcHJvcGVydGllcy4gRG9uJ3QgY2hhbmdlCgl0aGUgY29sb3IgaW4gdGhlIGZvY3VzZWQgY2xhdXNlLgoKMjAwNS0xMS0wMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkobW91c2VQcmVzc2VkKTogSWYgdGhlIGNvbnRyb2wgaWNvbiBpcyBjbGlja2VkLCB0aGUKCXBhdGggc2VsZWN0ZWQgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLgoJKHBhaW50UmVjdXJzaXZlbHkpOiBNb3ZlZCBjYWxsIHRvIGdldENoaWxkQ291bnQgYmVmb3JlCglsb29wLgoJKHBhaW50Um93KTogQWRkZWQgYSBjaGVjayB0byBwcmV2ZW50IE5QRS4KCSh1cGRhdGVDdXJyZW50VmlzaWJsZVBhdGgpOiBNYWRlIHRoaXMgc2xpZ2h0bHkgbW9yZSBlZmZpY2VudC4gCglJbnN0ZWFkIG9mIGNoZWNraW5nIGVhY2ggcGF0aCwgd2UgY2FuIGNoZWNrIHRoZSBzaWJsaW5ncyBpZiB0aGUKCWN1cnJlbnQgbm9kZSBpcyBub3QgZXhwYW5kZWQuCgkqIGphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZUNlbGxSZW5kZXJlci5qYXZhCgkoZ2V0VGFibGVDZWxsUmVuZGVyZXJDb21wb25lbnQpOiBGaXhlZCBpbmRlbnRhdGlvbiwgYW5kIGNoYW5nZWQKCXRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBpZiBpdCBpcyBub3QgYW4gaW5zdGFuY2Ugb2YKCUNvbG9yVUlSZXNvdXJjZS4gUHJldmVudHMgb3ZlcnJpZGluZyBhIHVzZXItc2V0IGNvbG9yLgoKMjAwNS0xMS0wMyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvV3JhcHBlZFBsYWluVmlldy5qYXZhOiBGaXhlZCBzb21lID4gODAgY2hhcnMgbGluZXMuCgkoZHJhd1NlbGVjdGVkVGV4dCk6IEZpeGVkIHN0YXJ0T2Zmc2V0IGZvciBjYWxsIHRvIAoJVXRpbGl0aWVzLmRyYXdUYWJiZWRUZXh0IHRvIG1ha2Ugc3VyZSB0YWJzIGFyZSBwcm9wZXJseSBleHBhbmRlZC4KCShkcmF3VW5zZWxlY3RlZFRleHQpOiBMaWtld2lzZS4KCShnZXRNaW5pbXVtU3Bhbik6IE5ldyBBUEkgbWV0aG9kLgoJKGdldE1heGltdW1TcGFuKTogTmV3IEFQSSBtZXRob2QuCgkoc2V0U2l6ZSk6IENhbGwgcHJlZmVyZW5jZUNoYW5nZWQgaWYgdGhlIHdpZHRoIGhhcyBjaGFuZ2VkLgoJKFdyYXBwZWRMaW5lLmRldGVybWluZU51bUxpbmVzKTogTW92ZSBudW1MaW5lcz0wIHRvIHRoZSB0b3AgaW4gY2FzZSAKCXRoZSBlYXJseSByZXR1cm4gaGFwcGVucywgbnVtTGluZXMgd2lsbCBzdGlsbCBiZSBjb3JyZWN0LgoJKFdyYXBwZWRMaW5lLnVwZGF0ZURhbWFnZSk6IE5ldyBpbXBsZW1lbnRhdGlvbiBtZXRob2QgY2FsbGVkIGJ5IAoJaW5zZXJ0VXBkYXRlIGFuZCByZW1vdmVVcGRhdGUgdG8gcmVwYWludCB0aGUgYXBwcm9wcmlhdGUgcGFydCBvZiB0aGUgCglKVGV4dEFyZWEuCgkoV3JhcHBlZExpbmUuaW5zZXJ0VXBkYXRlKTogTmV3IG1ldGhvZC4KCShXcmFwcGVkTGluZS5yZW1vdmVVcGRhdGUpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMS0wMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmEKCShnZXRUYWJsZUNlbGxSZW5kZXJlckNvbXBvbmVudCk6IEZpeGVkIHNvIHRoYXQgdGhlIGxhYmVsIGlzIAoJcGFpbnRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgY29sb3IuIERvZXMgbm90IGRlcGVuZCBvbiAKCXR5cGUgb2YgYm9yZGVyLiBSZW1vdmVkIHRoaXMgY29kZS4KCjIwMDUtMTEtMDMgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmE6Cgkoc2VsZWN0KTogVGhlIGVuZCBpbmRleCBjYW5ub3QgYmUgc21hbGxlciB0aGFuIHRoZSBzdGFydCBpbmRleCwgY2hhbmdlZAoJTWF0aC5tYXgoZW5kLCAwKSB0byBNYXRoLm1heChlbmQsIHN0YXJ0KS4KCSogamF2YXgvc3dpbmcvdGV4dC9XcmFwcGVkUGxhaW5WaWV3LmphdmE6Cgkoc2VsZWN0aW9uU3RhcnQpOiBOZXcgcGFja2FnZSBwcml2YXRlIGZpZWxkLgoJKHNlbGVjdGlvbkVuZCk6IExpa2V3aXNlLgoJKGRyYXdMaW5lKTogSW1wbGVtZW50ZWQgdG8gY2FsbCBkcmF3VW5zZWxlY3RlZFRleHQgYW5kIGRyYXdTZWxlY3RlZFRleHQKCW9uIHRoZSBhcHByb3ByaWF0ZSBwYXJ0cyBvZiB0aGUgbGluZS4gIEJlZm9yZSBpdCBqdXN0IGRyZXcgdGhlIHdob2xlCglsaW5lIHdpdGggZHJhd1Vuc2VsZWN0ZWRUZXh0LgoJKHBhaW50KTogU3RvcmUgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIHNlbGVjdGlvbi4KCShXcmFwcGVkTGluZS5wYWludCk6IFNldCB0aGUgc2VsZWN0ZWQgY29sb3IgdG8gQ29sb3IuV0hJVEUuCgoyMDA1LTExLTAzICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90YWJsZS9EZWZhdWx0VGFibGVDZWxsUmVuZGVyZXIuamF2YQoJKGdldFRhYmxlQ2VsbFJlbmRlcmVyQ29tcG9uZW50KTogU2hvdWxkIG9ubHkgZHJhdyBmb2N1cyBpZiB0aGUgYm9yZGVyCglpcyBub3QgYW4gZW1wdHkgYm9yZGVyLgoKMjAwNS0xMS0wMyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCVBSIHN3aW5nLzI0NjUwCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEgKHZpZXdUb01vZGVsKSk6CglUaGUgZW5kIG9mIGxpbmUgc3ltYm9sICgweEEpLCBpZiBiZWluZyB0aGUgbGFzdCBtZW1iZXIgaW4gdGhlIAoJb2J0YWluZWQgdGV4dCwgc2hvdWxkIG5vdCBiZSBjb3VudGVkLiAKCjIwMDUtMTEtMDMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CglDaGFuZ2VkIGZpZWxkIHRvIGJlIHRoZSBnYXAgYmV0d2VlbiB0aGUgZGlmZmVyZW50CgltZW51J3MgaW5zdGVhZC4gZGVmYXVsdFRleHRBcnJvd0dhcCBpcyBub3QgbmVlZGVkLgoJKGdldFByZWZlcnJlZE1lbnVJdGVtU2l6ZSk6IEFkanVzdGVkIHByZWZlcnJlZCBzaXplIG9mCglNZW51IEl0ZW0gd2l0aCBhbiBhcnJvd0ljb24gdG8gYmUgdGhlIHNpemUgb2YgdGhlCglwb3B1cE1lbnUuIElmIGl0cyBwYXJlbnQgaXMgbm90IGEgcG9wdXBNZW51LCB0aGVuCglpdCBpcyBhIG5ldyBNZW51IG9uIGEgTWVudUJhci4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJ1dHRvblVJLmphdmEKCShwYWludEZvY3VzKTogSGVpZ2h0IG9mIGZvY3VzIGJvcmRlciBzaG91bGQgbm90IGJlIAoJYWRqdXN0ZWQuIEl0IHdhcyBiZWluZyBjdXRvZmYuCgoyMDA1LTExLTAzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoUm9vdFZpZXcuZ2V0TmV4dFZpc3VhbFBvc2l0aW9uRnJvbSk6IE5ldyBtZXRob2QuCgoyMDA1LTExLTAzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YQoJKEF0dHJpYnV0ZVVuZG9hYmxlRWRpdCk6IE5ldyBpbm5lciBjbGFzcy4KCShTdHlsZUNoYW5nZUxpc3RlbmVyKTogTmV3IGlubmVyIGNsYXNzLgoJKHN0eWxlQ2hhbmdlTGlzdGVuZXIpOiBOZXcgZmllbGQuCgkoYWRkU3R5bGUpOiBBZGQgc3R5bGVDaGFuZ2VMaXN0ZW5lciB0byBuZXcgc3R5bGUuCgkoZ2V0U3R5bGVOYW1lcyk6IE5ldyBtZXRob2QuCgkoc3R5bGVDaGFuZ2VkKTogTmV3IG1ldGhvZC4KCShpbnNlcnQpOiBOZXcgbWV0aG9kLgoJKGNyZWF0ZSk6IE5ldyBtZXRob2QuCgoyMDA1LTExLTAzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0VGV4dFVJLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0xMS0wMyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEKCShtb3VzZURyYWdnZWQpOiBDYWxsIG1vdmVDYXJldC4KCShtb3VzZUNsaWNrZWQpOiBNYWRlIFRPRE8gY29tbWVudCBtb3JlIHByZWNpc2UuCgkobW91c2VFeGl0ZWQpOiBSZXBsYWNlZCBUT0RPIGNvbW1lbnQgd2l0aCBOb3RoaW5nIHRvIGRvIGNvbW1lbnQuCgkobW91c2VQcmVzc2VkKTogQ2FsbCBwb3NpdGlvbkNhcmV0LgoJKG1vdmVDYXJldCk6IEltcGxlbWVudGVkLgoJKHBvc2l0aW9uQ2FyZXQpOiBJbXBsZW1lbnRlZC4KCShtb3ZlRG90KTogQ2FsbCBhZGp1c3RWaXNpYmlsaXR5LgoJKHNldERvdCk6IENhbGwgYWRqdXN0VmlzaWJpbGl0eS4KCShhZGp1c3RWaXNpYmlsaXR5KTogTmV3IG1ldGhvZC4KCjIwMDUtMTEtMDMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1V0aWxpdGllcy5qYXZhCgkoZ2V0UG9zaXRpb25BYm92ZSk6IE5ldyB1dGlsaXR5IG1ldGhvZC4KCShnZXRQb3NpdGlvbkJlbG93KTogTmV3IHV0aWxpdHkgbWV0aG9kLgoJKGdldFBhcmFncmFwaEVsZW1lbnQpOiBTcGVjaWFsIGNhc2UgZm9yIFN0eWxlZERvY3VtZW50cy4KCSogamF2YXgvc3dpbmcvdGV4dC9WaWV3LmphdmEKCShnZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogTmV3IGFic3RyYWN0IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9Db21wb25lbnRWaWV3LmphdmEKCShnZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9Db21wb3NpdGVWaWV3LmphdmEKCShnZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9GbG93Vmlldy5qYXZhCgkoTG9naWNhbFZpZXcuZ2V0TmV4dFZpc3VhbFBvc2l0aW9uRnJvbSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvR2x5cGhWaWV3LmphdmEKCShnZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9JY29uVmlldy5qYXZhCgkoZ2V0TmV4dFZpc3VhbFBvc2l0aW9uRnJvbSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEKCShnZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9XcmFwcGVkUGxhaW5WaWV3LmphdmEKCShXcmFwcGVkTGluZS5nZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogTmV3IG1ldGhvZC4KCjIwMDUtMTEtMDMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRDYXJldC5qYXZhCgkoQmxpbmtUaW1lckxpc3RlbmVyKTogTmV3IGlubmVyIGNsYXNzLiBMaXN0ZW5zIGZvciB3aGVuIHRoZQoJYmxpbmsgdGltZXIgZmlyZXMgYW5kIHVwZGF0ZXMgdGhlIHZpc2libGUgZmxhZyBhY2NvcmRpbmdseS4KCSh2aXNpYmxlKTogRGVmYXVsdCB2YWx1ZSBmb3IgdmlzaWJsZSBzaG91bGQgYmUgZmFsc2UuCgkoYmxpbmtUaW1lcik6IE5ldyBmaWVsZC4KCShDYXJldCk6IE5ldyBjb25zdHJ1Y3Rvci4KCShmb2N1c0dhaW5lZCk6IE1ha2UgdGhlIGNhcmV0IHZpc2libGUuCgkoZm9jdXNMb3N0KTogTWFrZSBjYXJldCBpbnZpc2libGUgaWYgdGhlIGZvY3VzIGxvc3QgaXMgcGVybWFuZW50LgoJKGRlaW5zdGFsbCk6IERlaW5zdGFsbCB0aGUgYmxpbmsgdGltZXIuCgkocmVwYWludCk6IENhbGwgZ2V0Q29tcG9uZW50KCkgaW5zdGVhZCBvZiBkaXJlY3RseSBhY2Nlc3NpbmcgdGhlCgl0ZXh0Q29tcG9uZW50IGZpZWxkLgoJKHBhaW50KTogQ2FsbCBnZXRDb21wb25lbnQoKSBpbnN0ZWFkIG9mIGRpcmVjdGx5IGFjY2Vzc2luZyB0aGUKCXRleHRDb21wb25lbnQgZmllbGQuIEFkZGVkIGFuIGFzc2VydCBmb3IgdGhlICd0aGlzIHNob3VsZCBuZXZlcgoJaGFwcGVuJyBjb21tZW50LiBVcGRhdGUgdGhlIGNhcmV0IHJlY3RhbmdsZSBpZiBkYW1hZ2UgaGFzbid0IGJlZW4KCWNhbGxlZCBiZWZvcmUuCgkoc2V0QmxpbmtSYXRlKTogU2V0IHRoZSBibGluayByYXRlIGluIHRoZSB0aW1lciBpZiB0aGVyZSBpcyBhbHJlYWR5CglhIHRpbWVyIHByZXNlbnQuCgkoc2V0VmlzaWJsZSk6IENhbGwgZGFtYWdlIG9uIHRoZSBjYXJldCdzIGxvY2F0aW9uLiBTdGFydC9TdG9wIGJsaW5rCgl0aW1lci4KCShkYW1hZ2UpOiBOZXcgbWV0aG9kLiBVcGRhdGVzIHRoZSBjYXJldCdzIGJvdW5kcy4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoQ2FyZXRCbGlua1RpbWVyKTogUmVtb3ZlZCB1bm5lZWRlZCBpbm5lciBjbGFzcy4KCShjYXJldEJsaW5rVGltZXIpOiBSZW1vdmVkIHVubmVlZGVkIGZpZWxkLgoJKEpUZXh0Q29tcG9uZW50KTogUmVtb3ZlZCBpbml0aWFsaXphdGlvbiBvZiBibGluayB0aW1lci4KCShzZXRFZGl0YWJsZSk6IFJlbW92ZWQgc3RhcnRpbmcgb2YgYmxpbmsgdGltZXIuCgkoc2V0Q2FyZXQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9VdGlsaXRpZXMuamF2YQoJKGdldFBhcmFncmFwaEVsZW1lbnQpOiBOZXcgdXRpbGl0eSBtZXRob2QuCgoyMDA1LTExLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YSAoaW5pdENvbXBvbmVudEdyYXBoaWNzKTogU2V0Cgljb2xvciB0byBCTEFDSyB3aGVuIGdldEZvcmVncm91bmQoKSByZXR1cm5zIG51bGwuCgkoaW5pdENvbXBvbmVudEdyYXBoaWNzVW5sb2NrZWQpOiBMaWtld2lzZS4KCjIwMDUtMTEtMDIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL1RpbWVyLmphdmEgKFdha2VyLnJ1bik6IFN5bmNocm9uaXplIG9uIHF1ZXVlTG9jayBhbmQgdXNlCglxdWV1ZUxvY2sud2FpdCgpLCBub3QgVGhyZWFkLnNsZWVwKCkuCgkoc3RhcnQpOiBTeW5jaHJvbml6ZSBvbiBxdWV1ZUxvY2sgYW5kIGNoZWNrIHdoZXRoZXIgd2FrZXIgaXMgbnVsbC4KCShzdG9wKTogU3luY2hyb25pemUgb24gcXVldWVMb2NrIGFuZCBub3RpZnlBbGwoKS4KCjIwMDUtMTEtMDIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzogU2V0IHZlcnNpb24gdG8gMC4xOS4KCSogTkVXUzogQWRkIGRhdGUgb2YgcmVsZWFzZS4KCjIwMDUtMTEtMDIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL2F3dC9EaWFsb2cuamF2YQoJKHNob3cpOiBEbyBub3QgY2FsbCBwYWNrKCkgaGVyZS4KCjIwMDUtMTEtMDIgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBBVVRIT1JTOiBBZGRlZCBteXNlbGYuCgkKMjAwNS0xMS0wMiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvVGltZXIuamF2YSAoV2FrZXIucnVuKTogT25seSBicmVhayBvdXQgd2hlbiAhcnVubmluZy4KCjIwMDUtMTEtMDIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL1VJTWFuYWdlci5qYXZhIChzdGF0aWMpOiBQcmludCBjb21wbGV0ZSBleGNlcHRpb24uCgoyMDA1LTExLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBsaWIvTWFrZWZpbGUuYW06IEFkZCB0eXBlSGlkaW5nLCB1bmNoZWNrZWQsIHVudXNlZCBhbmQgdmFyYXJnc0Nhc3QKCXRvIEVDSiBjb21waWxlIHdhcm5pbmcgcnVsZS4KCjIwMDUtMTEtMDIgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBsaWIvY29weS12bXJlc291cmNlcy5zaC5pbjogQWRkZWQgZGVmaW5pdGlvbiBmb3IgdG9wX3NyY2Rpci4KCjIwMDUtMTEtMDIgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIE5FV1M6IE1lbnRpb24gUXQ0IGNvbmZpZ3VyeSBmb3IgT1MtWC4KCjIwMDUtMTEtMDIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBORVdTOiBBZGRlZCBzb21lIG5ld3MgaXRlbXMgcmVnYXJkaW5nIG15IFN3aW5nIHdvcmsuCgoyMDA1LTExLTAyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoZmluZE92ZXJsYXBGcmVlUGFyZW50KTogRG9uJ3Qgc2VhcmNoIGJleW9uZCB0aGUgY29tcG9uZW50cwoJY29udGFpbmluZyB3aW5kb3cgKGltcG9ydGFudCB3aGVuIGluIGEgRGlhbG9nKS4KCjIwMDUtMTEtMDIgIENocmlzdGlhbiBUaGFsaW5nZXIgIDx0d2lzdGlAY29tcGxhbmcudHV3aWVuLmFjLmF0PgoKCSogQVVUSE9SUzogQWRkZWQgbXlzZWxmIHRvIHRoZSBjb29sIGdhbmcuCgoyMDA1LTExLTAyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9XcmFwcGVkUGxhaW5WaWV3LmphdmE6CgkoY2FsY3VsYXRlQnJlYWtQb3NpdGlvbik6IElmIHRoZSBjb21wb25lbnQgaXMgbm90IHZhbGlkIHVzZSBpdCdzIAoJcHJlZmVycmVkU2l6ZSBpbnN0ZWFkIG9mIGdldEJvdW5kcygpLgoKMjAwNS0xMS0wMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvRGlhbG9nLmphdmEKCShzaG93KTogcGFjayBzaG91bGQgYWx3YXlzIGJlIGNhbGxlZCBiZWZvcmUgc2hvdywgc28gRGlhbG9nIGlzCglzZXQgdG8gdGhlIGNvcnJlY3Qgc2l6ZSBhbmQgdmFsaWRhdGVkLgoKMjAwNS0xMS0wMiAgQ2hyaXN0aWFuIFRoYWxpbmdlciAgPHR3aXN0aUBjb21wbGFuZy50dXdpZW4uYWMuYXQ+CgoJKiBjb25maWd1cmUuYWM6IENoZWNrIGZvciBjYWlybywgcGFuZ29mdDIgYW5kIGZyZWV0eXBlMiBvbmx5IAoJd2hlbiBndGsgcGVlcnMgYXJlIGVuYWJsZWQuCgoyMDA1LTExLTAyICAgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIEFVVEhPUlMgKFN0dWFydCBCYWxsYXJkKTogQWRkcmVzcyB1cGRhdGUuCgoyMDA1LTExLTAyICAgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIEFVVEhPUlM6IEFkZGVkIExpbGxpYW4gQW5nZWwuCgoyMDA1LTExLTAyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlRvb2xCYXIuamF2YQoJKGFkZEltcGwpOiBEb24ndCBjYWxsIHVwZGF0ZVVJIGhlcmUuIFRoaXMgaXMgcmVhbGx5IG5vdCBuZWNlc3NhcnkuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IENhbGwgc2V0Um9sbG92ZXJCb3JkZXJzKCkgaGVyZSBpbiBvcmRlciB0bwoJaW5pdGlhbGl6ZSB0aGUgYnV0dG9uIGJvcmRlcnMuCgoyMDA1LTExLTAyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbFBhbmVVSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogUmUtc2V0dXAgbGlzdGVuZXJzIG9uCgl0aGUgc2Nyb2xsYmFycyBpZiB0aGUgc2Nyb2xsYmFycyBjaGFuZ2UuCgoyMDA1LTExLTAyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShhZGRJbXBsKTogTm90aWZ5IHJlZ2lzdGVyZWQgQ29udGFpbmVyTGlzdGVuZXJzIGV2ZW4gd2hlbiB0aGUKCUNvbnRhaW5lciBpcyBub3Qgc2hvd2luZy4gTm90aWZ5IHRoZSBsaXN0ZW5lcnMgZGlyZWN0bHksIG5vdAoJdmlhIHRoZSBldmVudCBxdWV1ZS4KCjIwMDUtMTEtMDIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEZpeGVkIHRoZSBkZWZhdWx0cyBmb3IgRWRpdG9yUGFuZS5ib3JkZXIsCglUZXh0QXJlYS5mb250IGFuZCBUZXh0UGFuZS5ib3JkZXIuCgoyMDA1LTExLTAyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShnZXRGb3JlZ3JvdW5kKTogUmV0dXJuIG51bGwgYXMgZGVmYXVsdCBjb2xvciwgaW5zdGVhZCBvZiBzb21lCglzeXN0ZW0gY29sb3IuCgoyMDA1LTExLTAyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvQm94TGF5b3V0LmphdmEKCShCb3hMYXlvdXQpOiBUaHJvdyBBV1RFcnJvciB3aGVuIHRoZSBheGlzIGlzIGludmFsaWQuCgkobWluaW11bUxheW91dFNpemUpOiBSZXNwZWN0IHRoZSBpbnNldHMgb2YgdGhlIGNvbnRhaW5lci4KCShtYXhpbXVtTGF5b3V0U2l6ZSk6IExpa2V3aXNlLgoJKGludmFsaWRhdGVMYXlvdXQpOiBUaHJvdyBBV1RFcnJvciBpZiB0aGUgbWFuYWdlZCBjb250YWluZXIgaXMKCW5vdCB0aGUgc2FtZSBhcyB0aGUgcGFyZW50IHBhcmFtZXRlci4KCjIwMDUtMTEtMDIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKGdldE1heGltdW1TaXplKTogUmV0dXJuIChTaG9ydC5NQVhfVkFMVUUsIFNob3J0Lk1BWF9WQUxVRSkgaW5zdGVhZAoJb2YgKEludGVnZXIuTUFYX1ZBTFVFLCBJbnRlZ2VyLk1BWF9WQUxVRSkgYXMgc2hvd24gYnkgdGhlCglNYXV2ZSB0ZXN0LgoKMjAwNS0xMS0wMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoQWNjZXNzaWJsZUpUYWJsZS5BY2Nlc3NpYmxlSlRhYmxlQ2VsbCk6IE5ldyBpbm5lciBjbGFzcy4KCjIwMDUtMTEtMDIgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9maWxlY2hvb3Nlci9GaWxlU3lzdGVtVmlldy5qYXZhOiBBZGRlZCBBUEkgZG9jcyBhbGwgb3ZlciwKCSogamF2YXgvc3dpbmcvZmlsZWNob29zZXIvVW5peEZpbGVTeXN0ZW1WaWV3LmphdmE6IExpa2V3aXNlLgoKMjAwNS0xMS0wMiAgQ2hyaXN0aWFuIFRoYWxpbmdlciAgPHR3aXN0aUBjb21wbGFuZy50dXdpZW4uYWMuYXQ+CgoJKiBqYXZhL2xhbmcvU3RyaW5nLmphdmEgKFN0cmluZyk6IEFkZGVkIAoJU3RyaW5nSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiBjaGVjayAob3ZlcmZsb3cpIGFuZCBhIG1lc3NhZ2UgCgl0byB0aGUgZXhjZXB0aW9ucy4KCQkJCjIwMDUtMTEtMDIgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBORVdTOiBhZGRlZCBlbnRyaWVzIGZvciBqYXZheC5zd2luZy5wbGFmLm1ldGFsLiogcGFja2FnZSBhbmQgdXBkYXRlcwoJdG8gdGhlIGdudS5jbGFzc3BhdGguZXhhbXBsZXMuc3dpbmcuRGVtbyBhcHBsaWNhdGlvbiwKCSogQVVUSE9SUzogIEFkZGVkIG15IG5hbWUgdG8gYnJpbmcgaG9ub3VyIGFuZCBnbG9yeSB0byBteXNlbGYgYW5kIGFsbCAKCW15IGRlc2NlbmRhbnRzLgoKMjAwNS0xMS0wMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKEFjY2Vzc2libGVKQ29tcG9uZW50LmNoYW5nZVN1cHBvcnQpOiBOZXcgZmllbGQuCgkoQWNjZXNzaWJsZUpDb21wb25lbnQuQWNjZXNzaWJsZUpDb21wb25lbnQpOiBJbml0aWFsaXplIGNoYW5nZVN1cHBvcnQuCgkoQWNjZXNzaWJsZUpDb21wb25lbnQuYWRkUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IEltcGxlbWVudGVkIHRoaXMKCW1ldGhvZC4KCShBY2Nlc3NpYmxlSkNvbXBvbmVudC5yZW1vdmVQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKTogSW1wbGVtZW50ZWQgdGhpcwoJbWV0aG9kLgoJKEFjY2Vzc2libGVKQ29tcG9uZW50LmdldEFjY2Vzc2libGVDaGlsZHJlbkNvdW50KTogSW1wbGVtZW50ZWQgdGhpcwoJbWV0aG9kLgoJKEFjY2Vzc2libGVKQ29tcG9uZW50LmdldEFjY2Vzc2libGVDaGlsZCk6IEltcGxlbWVudGVkIHRoaXMKCW1ldGhvZC4KCShBY2Nlc3NpYmxlSkNvbXBvbmVudC5nZXRBY2Nlc3NpYmxlTmFtZSk6IEFkZGVkIEFQSSBjb21tZW50IGFuZAoJVE9ETyB0YWcuCgkoQWNjZXNzaWJsZUpDb21wb25lbnQuZ2V0QWNjZXNzaWJsZURlc2NyaXB0aW9uKTogQWRkZWQgQVBJIGNvbW1lbnQKCWFuZCBUT0RPIHRhZy4KCShBY2Nlc3NpYmxlSkNvbXBvbmVudC5nZXRBY2Nlc3NpYmxlUm9sZSk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoJKEFjY2Vzc2libGVKQ29tcG9uZW50LmdldEJvcmRlclRpdGxlKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoQWNjZXNzaWJsZUpDb21wb25lbnQuZ2V0VG9vbFRpcFRleHQpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCShBY2Nlc3NpYmxlSkNvbXBvbmVudC5nZXRUaXRsZWRCb3JkZXJUZXh0KTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoQWNjZXNzaWJsZUpDb21wb25lbnQuZ2V0QWNjZXNzaWJsZUtleUJpbmRpbmcpOiBBZGRlZCBBUEkgY29tbWVudAoJYW5kIFRPRE8gdGFnLgoKMjAwNS0xMS0wMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9EZW1vLmphdmEgKGluaXQpOiBVc2UKCUpPcHRpb25QYW5lIHRvIHNlbGVjdCB0aGUgbGFmIGlmIG5vdCBleHBsaWNpdGx5IHNldC4KCjIwMDUtMTEtMDEgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmE6CgkocGFyc2VDb250ZW50KGJ5dGUpKTogUmVtb3ZlIHdlaXJkIGV4Y2VwdGlvbgoJdGhyb3dpbmcuCgkKMjAwNS0xMS0wMSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhCgkoc2hvdyk6IERvbid0IHNldCBzaXplIG9mIHRoZSB3aW5kb3cgaGVyZS4KCjIwMDUtMTEtMDEgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsUGFuZVVJLmphdmEKCShpbnN0YW5jZSk6IFJlbW92ZWQgdW5uZWNlc3NhcnkgZmllbGQuCgkoY3JlYXRlVUkpOiBBbHdheXMgcmV0dXJuIGEgbmV3IGluc3RhbmNlIGluc3RlYWQgb2YgcmV0dXJuaW5nIGEKCXNoYXJlZCBpbnN0YW5jZS4KCjIwMDUtMTEtMDEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhCgkoc2hvdyk6IElmIHBhY2sgaXMgbm90IGNhbGxlZCBiZWZvcmUgc2hvdywgdGhlIHNpemUgb2YgdGhlCgl3aW5kb3cgaXMgb2Z0ZW4gc2V0IHRvIDAuIFRoaXMgaXMgbm93IGZpeGVkLgoKMjAwNS0xMS0wMSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YQoJKHNldFZpc2libGUpOiBQYWNrIHRoZSBKUG9wdXBNZW51IGJlZm9yZSBmZXRjaGluZyB0aGUgUG9wdXAKCWluc3RhbmNlLiBPdGhlcndpc2UgdGhlIFBvcHVwRmFjdG9yeSBoYXMgdGhlIHdyb25nIHNpemUgZm9yCglpdHMgc2l6ZSBjaGVjay4KCjIwMDUtMTEtMDEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YToKCShKVGFibGUoVGFibGVNb2RlbCwgVGFibGVDb2x1bW5Nb2RlbCwgTGlzdFNlbGVjdGlvbk1vZGVsKSk6IENhbGwgCgl1cGRhdGVVSSBhZnRlciBpbml0aWFsaXplTG9jYWxWYXJzLiAgTWFudWFsbHkgc2V0IHRoZSBsZWFkIHNlbGVjdGlvbgoJaW5kaWNlcy4KCjIwMDUtMTEtMDEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRmlsZUNob29zZXJVSS5qYXZhOgoJKGdldEFwcHJvdmVCdXR0b25UZXh0KTogRmlyc3QgdXNlIHRoZSBKRmlsZUNob29zZXIncyBhcHByb3ZlIGJ1dHRvbiAKCXRleHQsIGJ1dCBpZiBpdCBpcyBudWxsLCB0aGVuIHRyeSBvdGhlcndpc2UuCgoyMDA1LTExLTAxICBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCgkqIHZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1UaHJlYWQuamF2YSAoc2xlZXApOiBEb24ndCByb3VuZCAgICAgCgltcyBhbmQgcGFzcyBucyB0byBPYmplY3Qud2FpdCwgZml4ZXMgbWF1dmUgdGVzdC4KCQkKMjAwNS0xMS0wMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pGaWxlQ2hvb3Nlci5qYXZhOgoJKGdldERpYWxvZ1RpdGxlKTogQWxsb3cgcmV0dXJuIG9mIG51bGwuCgkoZ2V0QXBwcm92ZUJ1dHRvblRleHQpOiBMaWtld2lzZS4KCShnZXRGaWxlVmlldyk6IExpa2V3aXNlLgoJKGdldE5hbWUpOiBGaXJzdCB0cnkgdXNpbmcgdGhlIEpGaWxlQ2hvb3NlcidzIEZpbGVWaWV3LCBpZiBudWxsLCB0aGVuCglwYXNzIGNhbGwgdG8gVUkuCgkoZ2V0RGVzY3JpcHRpb24pOiBMaWtld2lzZS4KCShnZXRUeXBlRGVzY3JpcHRpb24pOiBMaWtld2lzZS4KCShnZXRJY29uKTogTGlrZXdpc2UuCgoyMDA1LTExLTAxICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmE6CgkoSlRhYmxlKFRhYmxlTW9kZWwsIFRhYmxlQ29sdW1uTW9kZWwsIExpc3RTZWxlY3Rpb25Nb2RlbCkpOiBTZXQgdGhlIAoJbW9kZWwgYmVmb3JlIGNhbGxpbmcgaW5pdGlhbGl6ZUxvY2FsVmFycy4KCjIwMDUtMTEtMDEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDaGVja0JveE1lbnVJdGVtVUkuamF2YQoJKEJhc2ljQ2hlY2tCb3hNZW51SXRlbSk6IE1vdmVkIGNvZGUgdG8gQmFzaWNNZW51SXRlbVVJLmluc3RhbGxEZWZhdWx0cwoJKHByb2Nlc3NNb3VzZUV2ZW50KTogQWRkZWQgVE9ETyBjb21tZW50LiBOb3Qgc3VyZSBhYm91dCB0aGUgCgljb3JyZWN0IGltcGxlbWVudGF0aW9uIHlldC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBSZW1vdmVkIE1lbnVJdGVtLmNoZWNrSWNvbiBkZWZhdWx0LiBPbmx5CglSYWRpb0J1dHRvbk1lbnVJdGVtJ3MgYW5kIENoZWNrQm94TWVudUl0ZW0ncyBoYXZlIGNoZWNrSWNvbnMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBGaXhlZCB0byBpbml0aWFsaXplZCBjaGVja0ljb24uIElmIHRoZSBtZW51SXRlbSBpcwoJbm90IGEgUmFkaW9CdXR0b25NZW51SXRlbSBvciBDaGVja0JveE1lbnVJdGVtLCB0aGVuIGNoZWNrSWNvbiBpcyBudWxsLgoJQWxzbywgZml4ZWQgZGVmYXVsdHMgdG8gdXNlIHByZWZpeC4KCjIwMDUtMTEtMDEgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhCgkod3JpdGVPYmplY3QpOiBGaXhlZCBOUEUuCgoyMDA1LTEwLTMxICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRBcmVhVUkuamF2YToKCShjcmVhdGUpOiBBZGRlZCBkb2NzLiAgQ3JlYXRlIFdyYXBwZWRQbGFpblZpZXcgaW5zdGVhZCBvZiBQbGFpblZpZXcgaWYKCXRoZSB0ZXh0IGFyZWEgaGFzIGxpbmUgd3JhcHBpbmcgdHVybmVkIG9uLgoJKHByb3BlcnR5Q2hhbmdlKTogTmV3IEFQSSBtZXRob2QuICBJZiBsaW5lIHdyYXBwaW5nIGlzIHR1cm5lZCBvbiBvciBvZmYKCW9yIGlmIHRoZSBzdHlsZSBvZiB3cmFwcGluZyAoY2hhcmFjdGVyIG9yIHdvcmQpIGlzIGNoYW5nZWQsIGNhbGwgCgltb2RlbENoYW5nZWQoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhOgoJKHNldFZpZXcpOiBDYWxsIHJldmFsaWRhdGUgYW5kIHJlcGFpbnQgYWZ0ZXIgc2V0dGluZyB0aGUgVmlldy4KCSogamF2YXgvc3dpbmcvdGV4dC9XcmFwcGVkUGxhaW5WaWV3LmphdmE6CgkoaW5zZXJ0VXBkYXRlKTogUmVwYWludCB0aGUgY29udGFpbmVyLgoJKHJlbW92ZVVwZGF0ZSk6IExpa2V3aXNlLgoJKGNoYW5nZWRVcGRhdGUpOiBMaWtld2lzZS4KCjIwMDUtMTAtMzEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1dyYXBwZWRQbGFpblZpZXcuamF2YToKCSh2aWV3RmFjdG9yeSk6IE5ldyBmaWVsZC4KCShkcmF3TGluZSk6IE5ldyBBUEkgbWV0aG9kLgoJKGNhbGN1bGF0ZUJyZWFrUG9zaXRpb24pOiBVcGRhdGUgdGhlIG1ldHJpY3MgYmVmb3JlIGNhbGxpbmcgVXRpbGl0aWVzCgltZXRob2RzLiBGaXhlZCBlcnJvciBpbiBvZmZzZXQgYXJndW1lbnQgcGFzc2VkIHRvIHRoZSBVdGlsaXRpZXMgCgltZXRob2RzLgoJKHVwZGF0ZU1ldHJpY3MpOiBOZXcgaW1wbGVtZW50YXRpb24gbWV0aG9kLgoJKGdldFByZWZlcnJlZFNwYW4pOiBOZXcgQVBJIG1ldGhvZC4KCShpbnNlcnRVcGRhdGUpOiBMaWtld2lzZS4KCShyZW1vdmVVcGRhdGUpOiBMaWtld2lzZS4KCShjaGFuZ2VkVXBkYXRlKTogTGlrZXdpc2UuCgkoV3JhcHBlZExpbmVDcmVhdG9yKTogTmV3IGNsYXNzLgoJKHBhaW50KTogTmV3IEFQSSBtZXRob2QuCgkoc2V0U2l6ZSk6IE5ldyBBUEkgbWV0aG9kLgoJKFdyYXBwZWRMaW5lLnBhaW50KTogSW1wbGVtZW50ZWQuCgkoV3JhcHBlZExpbmUuZ2V0UHJlZmVycmVkU3Bhbik6IERvbid0IHVwZGF0ZSB0aGUgbWV0cmljcywgdGhpcyBpcyBub3cKCWRvbmUgaW4gV3JhcHBlZFBsYWluVmlldy5wYWludC4KCShXcmFwcGVkTGluZS5tb2RlbFRvVmlldyk6IExpa2V3aXNlLgoJKFdyYXBwZWRMaW5lLnZpZXdUb01vZGVsKTogTGlrZXdpc2UuCgkKMjAwNS0xMC0zMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmE6CgkoZ2V0VGFiYmVkVGV4dE9mZnNldCk6IEFkanVzdGVkIGZvciBsb29wIGJvdW5kIGRvd24gYnkgcy5vZmZzZXQgYW5kCglhZGp1c3RlZCBhcnJheSBpbmRleCB1cCBieSBzLm9mZnNldC4gIFRoaXMgZml4ZXMgdGhlIHNlY29uZCBwYXJ0IG9mIAoJUFIgMjQzMTYuICBFeHBhbmQgdGFicywgbm90IG5ld2xpbmVzLiAgQWxsb3cgdGhlIHgtcG9zaXRpb24gdG8gcmVhY2gKCXRoZSBlbmQgc3BlY2lmaWVkIHBvc2l0aW9uICh1c2UgPCBpbnN0ZWFkIG9mIDw9KS4KCjIwMDUtMTAtMzEgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShob3Jpem9udGFsVmlzaWJpbGl0eSk6IE5ldyBmaWVsZC4KCShKVGV4dEZpZWxkKTogSW5pdGlhbGl6ZSBob3Jpem9udGFsVmlzaWJpbGl0eSBmaWVsZC4KCShnZXRIb3Jpem9udGFsVmlzaWJpbGl0eSk6IE5ldyBtZXRob2QuCgoyMDA1LTEwLTMxICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvU29ja2V0UmVwb3NpdG9yeS5qYXZhIChub3RfcmV1c2FibGUsIGdjKTogTmV3IG1ldGhvZHMuCgkoc29ja2V0cyk6IFVzZSBoYXNodGFibGUuIChnZXRfc29ja2V0KTogUmV3cml0dGVuLgoKMjAwNS0xMC0zMSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoQWNjZXNzaWJsZUpUYWJsZS50YWJsZUNoYW5nZWQpOiBJbXBsZW1lbnRlZC4KCShBY2Nlc3NpYmxlSlRhYmxlLnRhYmxlUm93c0luc2VydGVkKTogSW1wbGVtZW50ZWQuCgkoQWNjZXNzaWJsZUpUYWJsZS50YWJsZVJvd3NEZWxldGVkKTogSW1wbGVtZW50ZWQuCgoyMDA1LTEwLTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCSh1cGRhdGVDdXJyZW50VmlzaWJsZVBhdGgpOiBDaGVjayB3aGV0aGVyIHRyZWVNb2RlbCBpcyBudWxsLgoKMjAwNS0xMC0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9EZW1vLmphdmEgKHN0YXRpYyk6IFNldCBsb29rCglhbmQgZmVlbCBiZWZvcmUgc2hvd2luZyBkaWFsb2cuIENsZWFuIHVwIG1lc3NhZ2UgdGV4dC4KCjIwMDUtMTAtMzAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEgKGRldGVybWluZU1heExpbmVMZW5ndGgpOiBHZXQKCWNvcnJlY3QgbGVuZ2h0IG9mIHRleHQuCgkoZHJhd0xpbmUpOiBUaHJvdyBBc3NlcnRpb25FcnJvciBvbiB1bmV4cGVjdGVkIGJhZCBsb2NhdGlvbi4KCSh2aWV3VG9Nb2RlbCk6IExpa2V3aXNlLgoKMjAwNS0xMC0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmEgKGR1bXApOiBBY3R1YWxseSB0aHJvdwoJQXNzZXJ0aW9uRXJyb3Igd2hlbiBjb25zdHJ1Y3RlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Rm9ybWF0dGVyLmphdmEgKGNoZWNrVmFsaWRJbnB1dCk6IEFkZCBjYXVzZQoJdG8gQXNzZXJ0aW9uRXJyb3IuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdFN0eWxlZERvY3VtZW50LmphdmEgKGluc2VydFVwZGF0ZSk6CglMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9HbHlwaFZpZXcuamF2YSAoZ2V0UGFydGlhbFNwYW4pOiBMaWtld2lzZS4KCShnZXRUZXh0KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEgKGRldGVybWluZU1heExpbmVMZW5ndGgpOiBMaWtld2lzZS4KCSh1cGRhdGVEYW1hZ2UpOiBMaWtld2lzZS4KCjIwMDUtMTAtMzAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFNlcnZlci5qYXZhIChyZWZjYWNoZSk6IE1ha2UgaXQgYQoJc3luY2hyb25pemVkIElkZW50aXR5SGFzaE1hcC4KCjIwMDUtMTAtMzAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShHZGtHcmFwaGljczJEKEdka0dyYXBoaWNzMkQsaW50LCBpbnQsIGludCxpbnQpKTogTmV3IGNvbnN0cnVjdG9yLgoJKGNyZWF0ZShpbnQsaW50LGludCxpbnQpKTogVXNlIG5ldyBjb25zdHJ1Y3Rvci4KCShjb3B5QXJlYSk6IEltcGxlbWVudCB0aHJvdWdoIGNyZWF0ZSgpIGFuZCBnZGtEcmF3RHJhd2FibGUoKS4KCjIwMDUtMTAtMjkgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBqYXZhL25pby9jaGFubmVscy9zcGkvQWJzdHJhY3RTZWxlY3RhYmxlQ2hhbm5lbC5qYXZhCgkocmVnaXN0ZXIpOiBUaHJvdyBJbGxlZ2FsQmxvY2tpbmdNb2RlRXhjZXB0aW9uIGlmIHRoZSBjaGFubmVsIGlzCglub3QgaW4gYmxvY2tpbmcgbW9kZS4gCgkKMjAwNS0xMC0yOSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvQnV0dG9uRGVtby5qYXZhCgkoQnV0dG9uRGVtbyk6IGFkZCBjbG9zZVBhbmVsIGFmdGVyIGNvbnRlbnQgaXMgY3JlYXRlZCwKCShjcmVhdGVDb250ZW50KTogZG9uJ3QgYWRkIGNsb3NlUGFuZWwgaGVyZSwKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9Db21ib0JveERlbW8uamF2YQoJKEJ1dHRvbkRlbW8pOiBhZGQgY2xvc2VQYW5lbCBhZnRlciBjb250ZW50IGlzIGNyZWF0ZWQsCgkoY3JlYXRlQ29udGVudCk6IGRvbid0IGFkZCBjbG9zZVBhbmVsIGhlcmUsCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvU2Nyb2xsQmFyRGVtby5qYXZhCgkoQnV0dG9uRGVtbyk6IGFkZCBjbG9zZVBhbmVsIGFmdGVyIGNvbnRlbnQgaXMgY3JlYXRlZCwKCShjcmVhdGVDb250ZW50KTogZG9uJ3QgYWRkIGNsb3NlUGFuZWwgaGVyZSwKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9TbGlkZXJEZW1vLmphdmEKCShCdXR0b25EZW1vKTogYWRkIGNsb3NlUGFuZWwgYWZ0ZXIgY29udGVudCBpcyBjcmVhdGVkLAoJKGNyZWF0ZUNvbnRlbnQpOiBhZGQgc2VwYXJhdGUgY2hlY2tCb3hQYW5lbCBidXQgZG9uJ3QgYWRkIGNsb3NlUGFuZWwgCgloZXJlLgoKMjAwNS0xMC0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L0tleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEKCShzZXRDdXJyZW50S2V5Ym9hcmRGb2N1c01hbmFnZXIpOiBDcmVhdGUgYSBEZWZhdWx0S2V5Ym9hcmRGb2N1c01hbmFnZXIKCWRpcmVjdGx5LgoJKGNyZWF0ZUZvY3VzTWFuYWdlcik6IFJlbW92ZWQuCgkqIGdudS9qYXZhL2F3dC9Gb2N1c01hbmFnZXIuamF2YTogUmVtb3ZlZC4KCSogamF2YXgvc3dpbmcvRm9jdXNNYW5hZ2VyLmphdmEKCShEaXNhYmxlZEZvY3VzTWFuYWdlcik6IFJlbW92ZWQgaW5uZXIgY2xhc3MuCgkoV3JhcHBpbmdGb2N1c01hbmFnZXIpOiBOZXcgaW5uZXIgY2xhc3MuCgkoZ2V0Q3VycmVudE1hbmFnZXIpOiBSZXR1cm4gV3JhcHBpbmdLZXlib2FyZEZvY3VzTWFuYWdlciBpbnN0YW5jZS4KCjIwMDUtMTAtMjggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YToKCShyZXF1ZXN0Rm9jdXMpOiBJZiB0aGlzIGNvbXBvbmVudCBpcyBhIENvbnRhaW5lciwgc3RhcnQgaGVyZSwgbm90IGF0CglpdHMgcGFyZW50IHdoZW4JbG9va2luZyBmb3IgdGhlIHRvcC1sZXZlbCBhbmNlc3Rvci4gIElmIG5vIHRvcC1sZXZlbAoJYW5jZXN0b3IgaXMgZm91bmQgKHBhcmVudCA9PSBudWxsKSwgcmV0dXJuLgoKMjAwNS0xMC0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bFRhYmxlQ2VsbFJlbmRlcmVyLmphdmEKCShnZXRUYWJsZUNlbGxSZW5kZXJlcik6IENvcnJlY3RseSBjb25maWd1cmUgdGhlIGNlbGwgcmVuZGVyZXIgZm9yCglzZWxlY3RlZCBhbmQgLyBvciBmb2N1c2VkIGNlbGxzLgoJKiBqYXZheC9zd2luZy90YWJsZS9KVGFibGVIZWFkZXIuamF2YQoJKGdldEhlYWRlclJlY3QpOiBEb24ndCBpbmNsdWRlIHRoZSBpbnRlcmNlbGxTcGFjaW5nIGluIHRoZQoJaGVhZGVyIHJlY3RhbmdsZS4KCjIwMDUtMTAtMjggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhCgkoTW91c2VJbnB1dEhhbmRsZXIubW91c2VEcmFnZ2VkKTogT25seSByZWFjdCBpZiB0YWJsZSBpcyBlbmFibGVkLgoJKE1vdXNlSW5wdXRIYW5kbGVyLm1vdXNlUHJlc3NlZCk6IE9ubHkgcmVhY3QgaWYgdGFibGUgaXMgZW5hYmxlZC4KCShNb3VzZUlucHV0SGFuZGxlci5tb3VzZVJlbGVhc2VkKTogT25seSByZWFjdCBpZiB0YWJsZSBpcyBlbmFibGVkLgoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlcik6IE5ldyBpbm5lciBjbGFzcy4gVXBkYXRlcyB0aGUgc3RhdGUgb2YKCXRoZSB0YWJsZSBpZiB0aGUgbW9kZWwgcHJvcGVydHkgY2hhbmdlcy4KCShpbnN0YWxsRGVmYXVsdHMpOiBEb24ndCBsb2FkIHRoZSBoaWdobGlnaHRDZWxsQm9yZGVyIGhlcmUuIFRoaXMKCWlzIGRvbmUgaW4gdGhlIGNlbGwgcmVuZGVyZXIgbm93LgoJKGluc3RhbGxMaXN0ZW5lcnMpOiBJbnN0YWxsIHRoZSBuZXcgUHJvcGVydHlDaGFuZ2VMaXN0ZW5lci4KCSh1bmluc3RhbGxMaXN0ZW5lcnMpOiBVbmluc3RhbGwgdGhlIG5ldyBQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyLgoJKHBhaW50Q2VsbCk6IEZpeGVkIGRldGVybWluYXRpb24gb2YgdGhlIHNlbGVjdGVkIGFuZCBmb2N1c2VkIHN0YXRlCglvZiB0aGUgY2VsbC4gUmVtb3ZlZCBoYW5kbGluZyBvZiB0aGUgYm9yZGVyICh0aGlzIGlzIG1vdmVkIGludG8KCXRoZSBjZWxsIHJlbmRlcmVyKS4KCShwYWludCk6IEZpeGVkIHRoZSByZWN0YW5nbGUgY2FsY3VsYXRpb24gb2YgdGhlIGNlbGwuIEZpeGVkIHBhaW50aW5nCglvZiB0aGUgZ3JpZC4KCjIwMDUtMTAtMjggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdFNlbGVjdGlvbk1vZGVsLmphdmEKCShzZXRMZWFkU2VsZWN0aW9uSW5kZXgpOiBGb3JiaXQgc29tZSBjaGFuZ2VzIHRvIGxlYWRTZWxlY3Rpb25JbmRleAoJd2hlbiB0aGUgYW5jaG9yU2VsZWN0aW9uSW5kZXggaXMgbm90IHNldCBwcm9wZXJseS4KCjIwMDUtMTAtMjggIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9Qb2EvQU9NLmphdmEsCglnbnUvQ09SQkEvUG9hL0FjY2Vzc2libGVQb2xpY3kuamF2YSwKCWdudS9DT1JCQS9Qb2EvRHluYW1pY0ltcEhhbmRsZXIuamF2YSwKCWdudS9DT1JCQS9Qb2EvU3RhbmRhcmRQb2xpY2llcy5qYXZhLAoJZ251L0NPUkJBL1BvYS9TZXJ2YW50RGVsZWdhdGVJbXBsLmphdmEsCglnbnUvQ09SQkEvUG9hL05hbWluZ1NlcnZpY2UvTmFtZUNvbXBvbmVudENvbXBhcmF0b3IuamF2YQoJZ251L0NPUkJBL1BvYS9OYW1pbmdTZXJ2aWNlL05hbWVUcmFuc2Zvcm1lci5qYXZhCglnbnUvQ09SQkEvR0lPUC9Db250ZXh0SGFuZGxlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvQ29kZVNldFNlcnZpY2VDb250ZXh0LmphdmE6IE5ldyBmaWxlcy4KCSogZ251L0NPUkJBL0dJT1AvY29udGV4dFN1cHBvcnRpbmdIZWFkZXIuamF2YSwKCWdudS9DT1JCQS9HSU9QL2N4Q29kZVNldC5qYXZhLAoJZ251L0NPUkJBL05hbWluZ1NlcnZpY2UvY21wTmFtZUNvbXBvbmVudC5qYXZhLAoJZ251L0NPUkJBL05hbWluZ1NlcnZpY2Uvc25Db252ZXJ0ZXIuamF2YSwKCWdudS9DT1JCQS9Qb2EvYWN0aXZlT2JqZWN0TWFwLmphdmEsCglnbnUvQ09SQkEvUG9hL2R5bkltcEhhbmRsZXIuamF2YSwKCWdudS9DT1JCQS9Qb2EvcG9saWN5U2V0cy5qYXZhLAoJZ251L0NPUkJBL1BvYS9zZXJ2YW50RGVsZWdhdGUuamF2YSwKCWdudS9DT1JCQS9Qb2EvdlBvbGljeS5qYXZhOiBSZW1vdmVkLgoJKiBnbnUvQ09SQkEvR0lPUC9DaGFyU2V0c19PU0Y6CglFeHBsYWluaW5nIHRoZSByZWFzb24gb2Ygc2V0dGluZyAiX09TRiIgYXBhcnQuCgkqIGdudS9DT1JCQS9DRFIvQWJzdHJhY3RDZHJJbnB1dC5qYXZhLAoJZ251L0NPUkJBL0NEUi9BYnN0cmFjdENkck91dHB1dC5qYXZhLAoJZ251L0NPUkJBL0dJT1AvQ2hhclNldHNfT1NGLmphdmEsCglnbnUvQ09SQkEvR0lPUC9SZXBseUhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvUmVxdWVzdEhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvU2VydmljZUNvbnRleHQuamF2YSwKCWdudS9DT1JCQS9HSU9QL3YxXzAvUmVwbHlIZWFkZXIuamF2YSwKCWdudS9DT1JCQS9HSU9QL3YxXzAvUmVxdWVzdEhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvdjFfMi9SZXBseUhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvdjFfMi9SZXF1ZXN0SGVhZGVyLmphdmEsCglnbnUvQ09SQkEvSU9SLmphdmEsCglnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9FeHQuamF2YSwKCWdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL05hbWVQYXJzZXIuamF2YSwKCWdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL05hbWluZ01hcC5qYXZhLAoJZ251L0NPUkJBL1BvYS9Gb3J3YXJkZWRTZXJ2YW50LmphdmEsCglnbnUvQ09SQkEvUG9hL0xvY2FsRGVsZWdhdGUuamF2YSwKCWdudS9DT1JCQS9Qb2EvTG9jYWxSZXF1ZXN0LmphdmEsCglnbnUvQ09SQkEvUG9hL09SQl8xXzQuamF2YSwKCWdudS9DT1JCQS9Qb2EvZ251QWRhcHRlckFjdGl2YXRvci5qYXZhLAoJZ251L0NPUkJBL1BvYS9nbnVJZEFzc2lnbm1lbnRQb2xpY3kuamF2YSwKCWdudS9DT1JCQS9Qb2EvZ251SWRVbmlxdWVuZXNzUG9saWN5LmphdmEsCglnbnUvQ09SQkEvUG9hL2dudUltcGxpY2l0QWN0aXZhdGlvblBvbGljeS5qYXZhLAoJZ251L0NPUkJBL1BvYS9nbnVMaWZlc3BhblBvbGljeS5qYXZhLAoJZ251L0NPUkJBL1BvYS9nbnVQT0EuamF2YSwKCWdudS9DT1JCQS9Qb2EvZ251UmVxdWVzdFByb2Nlc3NpbmdQb2xpY3kuamF2YSwKCWdudS9DT1JCQS9Qb2EvZ251U2VydmFudE9iamVjdC5qYXZhLAoJZ251L0NPUkJBL1BvYS9nbnVTZXJ2YW50UmV0ZW50aW9uUG9saWN5LmphdmEsCglnbnUvQ09SQkEvUG9hL2dudVRocmVhZFBvbGljeS5qYXZhLAoJZ251L0NPUkJBL1Jlc3BvbnNlSGFuZGxlckltcGwuamF2YSwKCWdudS9DT1JCQS9nbnVSZXF1ZXN0LmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL1BvcnRhYmxlUmVtb3RlT2JqZWN0RGVsZWdhdGVJbXBsLmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL1V0aWxEZWxlZ2F0ZUltcGwuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL19OYW1pbmdDb250ZXh0RXh0U3R1Yi5qYXZhOgoJUmVmZXJlbmNlcyB1cGRhdGVkLgoKMjAwNS0xMC0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoSlRhYmxlKTogQ2hhbmdlZCBvcmRlciBvZiBpbml0aWFsaXphdGlvbiAoVUkgZmlyc3QsIHRoZW4gdGhlIG1vZGVsCglldGMpLCBzbyB0aGF0IHRoZSBVSSBnZXRzIG5vdGlmaWVkIG9mIHRoZSBpbml0aWFsIG1vZGVsIGNoYW5nZS4KCShyb3dBdFBvaW50KTogRG9uJ3QgYWRkIHRoZSBpbnRlcmNlbGxTcGFjaW5nIGluIHRoZSBjYWxjdWxhdGlvbgoJb2YgdGhlIHJvdy1hdC1Qb2ludC4KCShzZXRNb2RlbCk6IFRocm93IGEgUHJvcGVydHlDaGFuZ2VFdmVudCBoZXJlIGlmIHRoZSBtb2RlbCBjaGFuZ2VzLgoKMjAwNS0xMC0yOCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL0R5bkFuL1ZhbHVlQ2hhbmdlTGlzdGVuZXIuamF2YQoJZ251L0NPUkJBL0R5bkFuL0Fic3RyYWN0QW55LmphdmEKCWdudS9DT1JCQS9EeW5Bbi9SZWNvcmRBbnkuamF2YQoJZ251L0NPUkJBL0R5bkFuL0RpdmlkZWFibGVBbnkuamF2YQoJZ251L0NPUkJBL0R5bkFuL1VuZGl2aWRlYWJsZUFueS5qYXZhOiBOZXcgZmlsZXMuCgkqIGdudS9DT1JCQS9EeW5Bbi9hYnN0cmFjdER5bkFueS5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL3JlY29yZEFueS5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL2FueURpdmlkZWFibGUuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9hbnlVbmRpdmlkZWFibGUuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi92YWx1ZUNoYW5nZWRMaXN0ZW5lci5qYXZhOiBSZW1vdmVkLgoJKiBnbnUvQ09SQkEvRHluQW4vZ251RHluQW55LmphdmEsCglnbnUvQ09SQkEvRHluQW4vZ251RHluQXJyYXkuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9nbnVEeW5FbnVtLmphdmEsCglnbnUvQ09SQkEvRHluQW4vZ251RHluRml4ZWQuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9nbnVEeW5TdHJ1Y3QuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9nbnVEeW5Vbmlvbi5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL2dudUR5blZhbHVlLmphdmEsCglnbnUvQ09SQkEvRHluQW4vZ251RHluVmFsdWVCb3guamF2YToKCVJlZmVyZW5jZXMgdXBkYXRlZC4KCjIwMDUtMTAtMjggIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9DRFIvYWJzdHJhY3REYXRhSW5wdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvYWJzdHJhY3REYXRhT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvQ0RSL2FsaWduaW5nSW5wdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvYWxpZ25pbmdPdXRwdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvY2RyQnVmSW5wdXQuamF2YS5qYXZhLAoJZ251L0NPUkJBL0NEUi9jZHJCdWZPdXRwdXQuamF2YQoJZ251L0NPUkJBL0NEUi9jZHJJbnB1dC5qYXZhLAoJZ251L0NPUkJBL0NEUi9jZHJPdXRwdXQuamF2YSwKCWdudS9DT1JCQS9DRFIvZW5jYXBzdWxhdGVkT3V0cHV0LmphdmEsCglnbnUvQ09SQkEvQ0RSL25vSGVhZGVySW5wdXQuamF2YTogUmVtb3ZlZC4KCSogZ251L0NPUkJBL0NEUi9IZWFkbGVzc0lucHV0LmphdmEKCWdudS9DT1JCQS9DRFIvQWJzdHJhY3RDZHJJbnB1dC5qYXZhCglnbnUvQ09SQkEvQ0RSL0Fic3RyYWN0Q2RyT3V0cHV0LmphdmEKCWdudS9DT1JCQS9DRFIvQWJzdHJhY3REYXRhSW5wdXQuamF2YQoJZ251L0NPUkJBL0NEUi9BYnN0cmFjdERhdGFPdXRwdXQuamF2YQoJZ251L0NPUkJBL0NEUi9BbGlnbmluZ0lucHV0LmphdmEKCWdudS9DT1JCQS9DRFIvQWxpZ25pbmdPdXRwdXQuamF2YQoJZ251L0NPUkJBL0NEUi9CdWZmZXJlZENkck91dHB1dC5qYXZhCglnbnUvQ09SQkEvQ0RSL0J1ZmZlcnJlZENkcklucHV0LmphdmEKCWdudS9DT1JCQS9DRFIvRW5jYXBzdWxhdGlvblN0cmVhbS5qYXZhOiBOZXcgZmlsZXMuCgkqIGdudS9DT1JCQS9DRFIvQXJyYXlWYWx1ZUhlbHBlci5qYXZhLAoJZ251L0NPUkJBL0NEUi9CaWdFbmRpYW5JbnB1dFN0cmVhbS5qYXZhLAoJZ251L0NPUkJBL0NEUi9CaWdFbmRpYW5PdXRwdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvTGl0dGxlRW5kaWFuSW5wdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvTGl0dGxlRW5kaWFuT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvQ0RSL1Vua25vd25FeGNlcHRpb25DdHhIYW5kbGVyLmphdmEsCglnbnUvQ09SQkEvQ0RSL1Zpby5qYXZhLAoJZ251L0NPUkJBL0NkckVuY2Fwc0NvZGVjSW1wbC5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL2dudUR5bkFueS5qYXZhLAoJZ251L0NPUkJBL0dJT1AvTWVzc2FnZUhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvUmVwbHlIZWFkZXIuamF2YSwKCWdudS9DT1JCQS9HSU9QL1JlcXVlc3RIZWFkZXIuamF2YSwKCWdudS9DT1JCQS9HSU9QL1NlcnZpY2VDb250ZXh0LmphdmEsCglnbnUvQ09SQkEvR0lPUC9jeENvZGVTZXQuamF2YSwKCWdudS9DT1JCQS9HSU9QL3YxXzAvUmVwbHlIZWFkZXIuamF2YSwKCWdudS9DT1JCQS9HSU9QL3YxXzAvUmVxdWVzdEhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvdjFfMi9SZXBseUhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvdjFfMi9SZXF1ZXN0SGVhZGVyLmphdmEsCglnbnUvQ09SQkEvR2VuZXJhbEhvbGRlci5qYXZhLAoJZ251L0NPUkJBL0lPUi5qYXZhLAoJZ251L0NPUkJBL0ludGVyY2VwdG9yL2dudUljQ3VycmVudC5qYXZhLAoJZ251L0NPUkJBL0lvckRlbGVnYXRlLmphdmEsCglnbnUvQ09SQkEvT2JqZWN0Q3JlYXRvci5qYXZhLAoJZ251L0NPUkJBL09yYkZ1bmN0aW9uYWwuamF2YSwKCWdudS9DT1JCQS9PcmJSZXN0cmljdGVkLmphdmEsCglnbnUvQ09SQkEvUG9hL0xvY2FsRGVsZWdhdGUuamF2YSwKCWdudS9DT1JCQS9Qb2EvTG9jYWxSZXF1ZXN0LmphdmEsCglnbnUvQ09SQkEvUG9hL2dudVBPQS5qYXZhLAoJZ251L0NPUkJBL1Jhd1JlcGx5LmphdmEsCglnbnUvQ09SQkEvUmVzcG9uc2VIYW5kbGVySW1wbC5qYXZhLAoJZ251L0NPUkJBL1NlcnZpY2VSZXF1ZXN0QWRhcHRlci5qYXZhLAoJZ251L0NPUkJBL1N0cmVhbUJhc2VkUmVxdWVzdC5qYXZhLAoJZ251L0NPUkJBL2dudUFueS5qYXZhLAoJZ251L0NPUkJBL2dudVJlcXVlc3QuamF2YSwKCWdudS9DT1JCQS90eXBlY29kZXMvR2VuZXJhbFR5cGVDb2RlLmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL0RlZmF1bHRXcml0ZU9iamVjdFRlc3Rlci5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9SbWlVdGlsaXRpZXMuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvU3R1YkRlbGVnYXRlSW1wbC5qYXZhLAoJb3JnL29tZy9JT1AvVGFnZ2VkUHJvZmlsZUhlbHBlci5qYXZhOgoJUmVmZXJlbmNlcyB1cGRhdGVkLgoKMjAwNS0xMC0yOCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L2phdmF4L3JtaS9DT1JCQS9jb3JiYU9iamVjdElucHV0LmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL2NvcmJhT2JqZWN0T3V0cHV0LmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL2R3b1Rlc3Rlci5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9nbnVSbWlVdGlsOiBEZWxldGVkLgoJKiBnbnUvamF2YXgvcm1pL0NPUkJBL0NvcmJhSW5wdXQuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvQ29yYmFPdXRwdXQuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvRGVmYXVsdFdyaXRlT2JqZWN0VGVzdGVyLmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL1JtaVV0aWxpdGllcy5qYXZhOiBOZXcgZmlsZXMuCgkqIGdudS9qYXZheC9ybWkvQ09SQkEvVXRpbERlbGVnYXRlSW1wbC5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9WYWx1ZUhhbmRsZXJEZWxlZ2F0ZUltcGwuamF2YToKCVJlZmVyZW5jZXMgdXBkYXRlZC4KCjIwMDUtMTAtMjggIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9ob2xkZXJGYWN0b3J5LmphdmEsCglnbnUvQ09SQkEvSU9SX2NvbnRydWN0ZWRfb2JqZWN0LmphdmEsCglnbnUvQ09SQkEvSU9SX0RlbGVnYXRlLmphdmEsCglnbnUvQ09SQkEvU2ltcGxlX2RlbGVnYXRlLmphdmEsCglnbnUvQ09SQkEvUmVzdHJpY3RlZF9PUkIuamF2YSwKCWdudS9DT1JCQS9GdW5jdGlvbmFsX09SQi5qYXZhLAoJZ251L0NPUkJBL0ZvY3VzZWRfT1JCLmphdmE6IFJlbW92ZWQuCgkqIGdudS9DT1JCQS9Ib2xkZXJMb2NhdG9yLmphdmEKCWdudS9DT1JCQS9Jb3JEZWxlZ2F0ZS5qYXZhCglnbnUvQ09SQkEvSW9yT2JqZWN0LmphdmEKCWdudS9DT1JCQS9PcmJGb2N1c2VkLmphdmEKCWdudS9DT1JCQS9PcmJGdW5jdGlvbmFsLmphdmEKCWdudS9DT1JCQS9PcmJSZXN0cmljdGVkLmphdmEKCWdudS9DT1JCQS9TaW1wbGVEZWxlZ2F0ZS5qYXZhOiBOZXcgZmlsZXMuCgkqIGdudS9DT1JCQS9DRFIvY2RySW5wdXQuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9hYnN0cmFjdFJlY29yZC5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL2dudUR5bkFueS5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL2dudUR5bkFueUZhY3RvcnkuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9nbnVEeW5BcnJheS5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL2dudUR5blZhbHVlQm94LmphdmEsCglnbnUvQ09SQkEvR0lPUC9FcnJvck1lc3NhZ2UuamF2YSwKCWdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL05hbWVQYXJzZXIuamF2YSwKCWdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL05hbWluZ1NlcnZpY2VUcmFuc2llbnQuamF2YSwKCWdudS9DT1JCQS9Qb2EvRm9yd2FyZGVkU2VydmFudC5qYXZhLAoJZ251L0NPUkJBL1BvYS9PUkJfMV80LmphdmEsCglnbnUvQ09SQkEvUG9hL2dudVNlcnZhbnRPYmplY3QuamF2YSwKCWdudS9DT1JCQS9TdHViTG9jYXRvci5qYXZhLAoJZ251L0NPUkJBL2dudUFueS5qYXZhLAoJZ251L0NPUkJBL2dudVJlcXVlc3QuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvUG9ydGFibGVSZW1vdGVPYmplY3REZWxlZ2F0ZUltcGwuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvZ251Um1pVXRpbC5qYXZhLAoJb3JnL29tZy9DT1JCQS9Db21wbGV0aW9uU3RhdHVzSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0RlZmluaXRpb25LaW5kSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0ZpZWxkTmFtZUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9JRExUeXBlSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0lkZW50aWZpZXJIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvT1JCLmphdmEsCglvcmcvb21nL0NPUkJBL1BhcmFtZXRlck1vZGVIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvUmVwb3NpdG9yeUlkSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1NldE92ZXJyaWRlVHlwZUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TdHJpbmdWYWx1ZUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TdHJ1Y3RNZW1iZXJIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVW5pb25NZW1iZXJIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVmFsdWVNZW1iZXJIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVmVyc2lvblNwZWNIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVmlzaWJpbGl0eUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9XU3RyaW5nVmFsdWVIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvX0lETFR5cGVTdHViLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9Jc3RyaW5nSGVscGVyLmphdmEsCglvcmcvb21nL0R5bmFtaWNBbnkvRmllbGROYW1lSGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvQWRhcHRlck5hbWVIZWxwZXIuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PUkJJZEhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRJbmZvUGFja2FnZS9PYmplY3RJZEhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09iamVjdElkSGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvU2VydmVySWRIZWxwZXIuamF2YToKCVJlZmVyZW5jZXMgdXBkYXRlZC4gCgoyMDA1LTEwLTI4ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvdW5pdmVyc2FsSG9sZGVyLmphdmEKCWdudS9DT1JCQS9zdHViRmluZGVyLmphdmEKCWdudS9DT1JCQS90eXBlTmFtZXIuamF2YQoJZ251L0NPUkJBL3N0cmVhbVJlcXVlc3QuamF2YQoJZ251L0NPUkJBL3N0cmVhbVJlYWR5SG9sZGVyLmphdmEKCWdudS9DT1JCQS9iaW5hcnlSZXBseS5qYXZhCglnbnUvQ09SQkEvYnVmZmVyZWRSZXNwb25zZUhhbmRsZXIuamF2YQoJZ251L0NPUkJBL2NkckVuY2Fwc0NvZGVjLmphdmEKCWdudS9DT1JCQS9jb3JiYUFycmF5TGlzdC5qYXZhOiBSZW1vdmVkLgoJKiBnbnUvQ09SQkEvQ2RyRW5jYXBzQ29kZWNJbXBsLmphdmEsCglnbnUvQ09SQkEvQ29yYmFMaXN0LmphdmEsCglnbnUvQ09SQkEvR2VuZXJhbEhvbGRlci5qYXZhLAoJZ251L0NPUkJBL1Jhd1JlcGx5LmphdmEsCglnbnUvQ09SQkEvUmVzcG9uc2VIYW5kbGVySW1wbC5qYXZhLAoJZ251L0NPUkJBL1N0cmVhbUJhc2VkUmVxdWVzdC5qYXZhLAoJZ251L0NPUkJBL1N0cmVhbUhvbGRlci5qYXZhLAoJZ251L0NPUkJBL1N0dWJMb2NhdG9yLmphdmEsCglnbnUvQ09SQkEvVHlwZUtpbmROYW1lci5qYXZhOiBOZXcgZmlsZXMuCgkqIGdudS9DT1JCQS9DRFIvY2RySW5wdXQuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9hYnN0cmFjdER5bkFueS5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL2FueURpdmlkZWFibGUuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9nbnVEeW5BbnkuamF2YSwKCWdudS9DT1JCQS9EeW5Bbi9nbnVEeW5BbnlGYWN0b3J5LmphdmEsCglnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSwKCWdudS9DT1JCQS9JT1JfRGVsZWdhdGUuamF2YSwKCWdudS9DT1JCQS9PYmplY3RDcmVhdG9yLmphdmEsCglnbnUvQ09SQkEvUG9hL0xvY2FsRGVsZWdhdGUuamF2YSwKCWdudS9DT1JCQS9Qb2EvTG9jYWxSZXF1ZXN0LmphdmEsCglnbnUvQ09SQkEvUG9hL2dudVNlcnZhbnRPYmplY3QuamF2YSwKCWdudS9DT1JCQS9SZXN0cmljdGVkX09SQi5qYXZhLAoJZ251L0NPUkJBL1NlcnZpY2VSZXF1ZXN0QWRhcHRlci5qYXZhLAoJZ251L0NPUkJBL2dudUFueS5qYXZhLAoJZ251L0NPUkJBL2dudUNvZGVjRmFjdG9yeS5qYXZhLAoJZ251L0NPUkJBL2dudUNvbnRleHRMaXN0LmphdmEsCglnbnUvQ09SQkEvZ251RXhjZXB0aW9uTGlzdC5qYXZhLAoJZ251L0NPUkJBL2dudU5WTGlzdC5qYXZhLAoJZ251L0NPUkJBL2dudVJlcXVlc3QuamF2YSwKCWdudS9DT1JCQS90eXBlY29kZXMvUmVjb3JkVHlwZUNvZGUuamF2YTogCglSZWZlcmVuY2VzIHVwZGF0ZWQuCgoyMDA1LTEwLTI4ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvdHlwZWNvZGVzL0FsaWFzVHlwZUNvZGUuamF2YSwKCWdudS9DT1JCQS90eXBlY29kZXMvQXJyYXlUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL3R5cGVjb2Rlcy9GaXhlZFR5cGVDb2RlLmphdmEsCglnbnUvQ09SQkEvdHlwZWNvZGVzL0dlbmVyYWxUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL3R5cGVjb2Rlcy9QcmltaXRpdmVUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL3R5cGVjb2Rlcy9SZWNvcmRUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL3R5cGVjb2Rlcy9SZWN1cnNpdmVUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL3R5cGVjb2Rlcy9TdHJpbmdUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL3R5cGVjb2Rlcy9wYWNrYWdlLmh0bWw6IE5ldyBmaWxlcy4KCSogZ251L0NPUkJBL2FsaWFzVHlwZUNvZGUuamF2YSwKCWdudS9DT1JCQS9wcmltaXRpdmVBcnJheVR5cGVDb2RlLmphdmEsCglnbnUvQ09SQkEvZml4ZWRUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL2dlbmVyYWxUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL3ByaW1pdGl2ZVR5cGVDb2RlLmphdmEsCglnbnUvQ09SQkEvcmVjb3JkVHlwZUNvZGUuamF2YSwKCWdudS9DT1JCQS9yZWN1cnNpdmVUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL3N0cmluZ1R5cGVDb2RlLmphdmE6IERlbGV0ZWQuCgkqIGdudS9DT1JCQS9DRFIvY2RyT3V0cHV0LmphdmEsCglnbnUvQ09SQkEvT2JqZWN0Q3JlYXRvci5qYXZhLAoJZ251L0NPUkJBL09jdGV0SG9sZGVyLmphdmEsCglnbnUvQ09SQkEvUG9hL0xvY2FsUmVxdWVzdC5qYXZhLAoJZ251L0NPUkJBL1BvYS9nbnVTZXJ2YW50T2JqZWN0LmphdmEsCglnbnUvQ09SQkEvUmVzdHJpY3RlZF9PUkIuamF2YSwKCWdudS9DT1JCQS9UeXBlQ29kZUhlbHBlci5qYXZhLAoJZ251L0NPUkJBL1dDaGFySG9sZGVyLmphdmEsCglnbnUvQ09SQkEvV1N0cmluZ0hvbGRlci5qYXZhLAoJZ251L0NPUkJBL2dudUFueS5qYXZhLAoJZ251L0NPUkJBL3R5cGVOYW1lci5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9VdGlsRGVsZWdhdGVJbXBsLmphdmEsCglvcmcvb21nL0NPUkJBL0FueUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9BbnlTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQW55U2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0Jvb2xlYW5Ib2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQm9vbGVhblNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Cb29sZWFuU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0J5dGVIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQ2hhckhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9DaGFyU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0NoYXJTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRGVmaW5pdGlvbktpbmRIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRG91YmxlSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0RvdWJsZVNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Eb3VibGVTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRml4ZWRIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRmxvYXRIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRmxvYXRTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRmxvYXRTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvSW50SG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0xvbmdIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ0xvbmdTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ0xvbmdTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Mb25nU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL05hbWVWYWx1ZVBhaXJIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvT1JCLmphdmEsCglvcmcvb21nL0NPUkJBL09iamVjdEhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9PYmplY3RIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvT2N0ZXRTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvT2N0ZXRTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvUG9saWN5RXJyb3JDb2RlSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1ByaW5jaXBhbEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TaG9ydEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TaG9ydFNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TaG9ydFNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TdHJpbmdIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvU3RyaW5nU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1N0cmluZ1NlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9UeXBlQ29kZUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VTG9uZ0xvbmdTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVUxvbmdMb25nU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1VMb25nU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1VMb25nU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1VTaG9ydFNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VU2hvcnRTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVmFsdWVCYXNlSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1dDaGFyU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1dDaGFyU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1dTdHJpbmdTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvV1N0cmluZ1NlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9NZXNzYWdpbmcvU3luY1Njb3BlSGVscGVyLmphdmE6IFJlZmVyZW5jZXMgbW9kaWZpZWQuCgoyMDA1LTEwLTI4ICBOaWNvbGFzIEdlb2ZmcmF5ICA8bmljb2xhcy5nZW9mZnJheUBtZW5saW5hLmNvbT4KCglSZXBvcnRlZCBieTogR2FlbCBUaG9tYXMgPGdhZWwudGhvbWFzQGltYWcuZnI+CgkqIE5FV1MgOiBhZGRlZCBlbnRyeSBhYm91dCBuZXcgaW1wbGVtZW50YXRpb24gb2YKCVZNQ2xhc3NMb2FkZXIuZ2V0UGFja2FnZShzKSwgYW5kIG5ldyBtZXRob2QKCVZNQ2xhc3NMb2FkZXIuZ2V0Qm9vdFBhY2thZ2VzCgkqIHZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1DbGFzc0xvYWRlci5qYXZhOgoJQWRkZWQgbmV3IGRlZmluZWRQYWNrYWdlcyBmaWVsZCB0byBzdG9yZSBwYWNrYWdlcwoJbG9hZGVkIGJ5IHRoZSBib290c3RyYXAgY2xhc3Nsb2FkZXIuCglBZGRlZCBuZXcgc3RhdGljIGluaXRpYWxpemVyIHRvIGNyZWF0ZSBhbGwgcGFja2FnZXMKCXdoaWNoIG5hbWVzIGFyZSByZXR1cm5lZCBieSBnZXRCb290UGFja2FnZXMKCShnZXRCb290UGFja2FnZXMpOiBuZXcgcHJpdmF0ZSBtZXRob2QuIEhlbHBlcgoJdG8gZ2V0IGFzIGEgU3RyaW5nW10gdGhlIG5hdGl2ZSBwYWNrYWdlIG5hbWVzCgkoZ2V0UGFja2FnZSk6IHVzZXMgdGhlIG5ldyBkZWZpbmVkUGFja2FnZXMgZmllbGQKCShnZXRQYWNrYWdlcyk6IHVzZXMgdGhlIG5ldyBkZWZpbmVkUGFja2FnZXMgZmllbGQKCSogamF2YS9sYW5nL0NsYXNzLmphdmE6CgkoZ2V0UGFja2FnZSk6IGlmIHRoZSBjbGFzc2xvYWRlciBvZiB0aGUgY2xhc3MgaXMgbnVsbAoJdGhlbiBjYWxsIFZNQ2xhc3NMb2FkZXIuZ2V0UGFja2FnZQoKMjAwNS0xMC0yNyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pFZGl0b3JQYW5lLmphdmE6CgkoZ2V0U2Nyb2xsYWJsZVRyYWNrc1ZpZXdwb3J0V2lkdGgpOiBSZXR1cm4gdHJ1ZSBpZiB0aGUgY29tcG9uZW50IGlzIAoJdmFsaWQuCgkoZ2V0U2Nyb2xsYWJsZVRyYWNrc1ZpZXdwb3J0SGVpZ2h0KTogTGlrZXdpc2UuCgoyMDA1LTEwLTI3ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvU2Nyb2xsUGFuZUxheW91dC5qYXZhOgoJKHByZWZlcnJlZExheW91dFNpemUpOiBGaXhlZCB0aGUgY29uZGl0aW9ucyBmb3IgYWxsb2NhdGluZyBzcGFjZSBmb3IgCgl0aGUgc2Nyb2xsYmFycy4gIFNob3VsZCBhbGxvY2F0ZSBzcGFjZSBpZiB0aGUgVmlldydzIGRpbWVuc2lvbiBpcyAKCWxhcmdlciB0aGFuIHRoZSBWaWV3cG9ydCdzIGRpbWVuc2lvbi4gVGhpcyBmaXhlcyB0aGUgcHJvYmxlbSBpbiAKCWNvbW1lbnQgMSkgZm9yIFBSIDIzNTMwLgoKMjAwNS0xMC0yNyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhOgoJKHNjcm9sbFJlY3RUb1Zpc2libGUpOiBVc2UgdGhlIHZpZXdwb3J0IGJvdW5kcyBpbnN0ZWFkIG9mIHRoZSB2aWV3IAoJYm91bmRzIHdoZW4gc2Nyb2xsaW5nIHVwIGFuZCBzY3JvbGxpbmcgbGVmdC4KCjIwMDUtMTAtMjcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0ZpZWxkVmlldy5qYXZhCgkoZ2V0UHJlZmVycmVkU3Bhbik6IEZvciB0aGUgWV9BWElTIGNhbGwgdGhlIHN1cGVyY2xhc3MgYmVoYXZpb3VyIGFzCglkZXNjcmliZWQgaW4gdGhlIFN3aW5nIGJvb2sgYnkgT1JlaWxseS4KCjIwMDUtMTAtMjcgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PYmplY3RJZEhlbHBlci5qYXZhOgoJQXNzdW1pbmcgT2JqZWN0SWQgYXMgYWxpYXMgb2YgYnl0ZVtdLCBub3QgYWxpYXMgIG9mIFN0cmluZy4KCjIwMDUtMTAtMjcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShjcmVhdGVEZWZhdWx0TW9kZWwpOiBSZXR1cm4gYSBub3JtYWwgUGxhaW5Eb2N1bWVudCBoZXJlLgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKGluc2VydFN0cmluZyk6IENvcnJlY3RseSBwbGFjZWQgbG9ja2luZyBzbyB0aGF0IGluc2VydFVwZGF0ZSgpIGlzCgljYWxsZWQgd2l0aGluIGEgbG9jayBhcyBzcGVjaWZpZWQuIERvIG5vdCBzZXR1cCBhbnkgRWxlbWVudENoYW5nZXMKCWhlcmUsIHRoaXMgbXVzdCBiZSBkb25lIGluIHN1YmNsYXNzZXMgaW4gaW5zZXJ0VXBkYXRlKCkgbWV0aG9kLgoJRmlyZSBhbiBVbmRvYWJsZUVkaXRFdmVudC4KCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpbkRvY3VtZW50LmphdmEKCShpbnNlcnRTdHJpbmcpOiBOZXcgbWV0aG9kLiBSZXBsYWNlcyBuZXdsaW5lcyB3aXRoIHdoaXRlc3BhY2UKCXdoZW4gZG9jdW1lbnQgcHJvcGVydHkgJ2ZpbHRlck5ld2xpbmVzJyBpcyBzZXQuCgoyMDA1LTEwLTI3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBJZiBvcmllbnRhdGlvbiBwcm9wZXJ0eQoJY2hhbmdlcywgcmUtc2V0dXAgdGhlIFVJLgoJKFRyYWNrTGlzdGVuZXIubW91c2VSZWxlYXNlZCk6IFJlbW92ZWQgdW51c2VkIGNvZGUuCgkoY3JlYXRlSW5jcmVhc2VCdXR0b24pOiBTaW1wbHkgcmV0dXJuIGEgbmV3IGluc3RhbmNlIHdpdGhvdXQgYW55CgloYWNrcy4KCShjcmVhdGVEZWNyZWFzZUJ1dHRvbik6IExpa2V3aXNlLgoJKGluc3RhbGxDb21wb25lbnRzKTogRG8gbm90IGNyZWF0ZSB0aGUgaW5jckJ1dHRvbiBhbmQgZGVjckJ1dHRvbgoJaGVyZSwgb25seSBpbnN0YWxsIHRoZW0gb24gdGhlIFNjcm9sbEJhci4KCShpbnN0YWxsRGVmYXVsdHMpOiBBbHNvIGluaXRpYWxpemUgdGhlIGluY3JCdXR0b24gYW5kIGRlY3JCdXR0b24KCWZpZWxkcyBoZXJlLgoJKHVuaW5zdGFsbENvbXBvbmVudHMpOiBBZGRlZCBzb21lIG51bGwgY2hlY2tzLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogVW5pbnN0YWxsIGJvcmRlciB1c2luZyB0aGUgTG9va0FuZEZlZWwgdXRpbGl0eQoJbWV0aG9kLiBTZXQgaW5jckJ1dHRvbiBhbmQgZGVjckJ1dHRvbiB0byBudWxsIGhlcmUuCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogQWRkZWQgbnVsbCBjaGVja3MuCgkodW5pbnN0YWxsVUkpOiBDaGFuZ2VkIG9yZGVyIG9mIG1ldGhvZCBjYWxscy4gRmlyc3QgdW5pbnN0YWxsCglsaXN0ZW5lcnMgdGhlbiB1bmluc3RhbGxEZWZhdWx0cywgYmVjYXVzZSB1bmluc3RhbGxEZWZhdWx0cyBzZXRzCgl0aGUgaW5jckJ1dHRvbiBhbmQgZGVjckJ1dHRvbiBmaWVsZHMgdG8gbnVsbCwgYW5kIHVuaW5zdGFsbExpc3RlbmVycwoJcmVtb3ZlcyBhIGxpc3RlbmVyIGZyb20gdGhlbS4gQXZvaWRzIE5QRS4KCjIwMDUtMTAtMjcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhOiBBUEkgZG9jIHVwZGF0ZXMsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCdXR0b25VSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENoZWNrQm94SWNvbi5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENoZWNrQm94VUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxEZXNrdG9wSWNvblVJLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSWNvbkZhY3RvcnkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJbnRlcm5hbEZyYW1lVGl0bGVQYW5lLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSW50ZXJuYWxGcmFtZVVJLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTGFiZWxVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFBvcHVwTWVudVNlcGFyYXRvclVJLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsUHJvZ3Jlc3NCYXJVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFJhZGlvQnV0dG9uVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxSb290UGFuZVVJLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsQmFyVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTY3JvbGxQYW5lVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTZXBhcmF0b3JVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNsaWRlclVJLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU3BsaXRQYW5lVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUYWJiZWRQYW5lVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUZXh0RmllbGRVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRvb2xCYXJVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRvb2xUaXBVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRyZWVVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9wYWNrYWdlLmh0bWw6IGxpa2V3aXNlLgoKMjAwNS0xMC0yNyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUb2dnbGVCdXR0b25VSS5qYXZhOgoJKE1ldGFsVG9nZ2xlQnV0dG9uVUkpOiByZW1vdmVkIGNvbG9yIGZpZWxkIGluaXRpYWxpc2F0aW9uLAoJKGluc3RhbGxEZWZhdWx0cyk6IGFkZGVkIGNvbG9yIGZpZWxkIGluaXRpYWxpc2F0aW9uIGZvcm1lcmx5IGluIAoJdGhlIGNvbnN0cnVjdG9yLgoKMjAwNS0xMC0yNyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL1JlcGFpbnRNYW5hZ2VyLmphdmEKCShwYWludERpcnR5UmVnaW9ucyk6IHJlcGxhY2VkIGNoYXJhY3RlcnMgaW4gY29tbWVudCB0aGF0IGNhdXNlZCAKCXdhcm5pbmdzIGluIGdqZG9jIGFuZCBFY2xpcHNlLgoKMjAwNS0xMC0yNyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIEJVR1M6IFVSTCByZWZyZXNoZWQuCgoyMDA1LTEwLTI3ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvRXhjZXB0aW9uQ3JlYXRvci5qYXZhOiBEZWxldGVkLgoKMjAwNS0xMC0yNiAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09iamVjdFJlZmVyZW5jZUZhY3RvcnkuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvT2JqZWN0UmVmZXJlbmNlRmFjdG9yeUhlbHBlci5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PYmplY3RSZWZlcmVuY2VGYWN0b3J5SG9sZGVyLmphdmEsIAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09iamVjdFJlZmVyZW5jZUZhY3RvcnlPcGVyYXRpb25zLmphdmE6CglOZXcgZmlsZXMuCgkKMjAwNS0xMC0yNiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL1ZpZXdwb3J0TGF5b3V0LmphdmE6CgkobGF5b3V0Q29udGFpbmVyKTogRml4ZWQgaW5jb3JyZWN0IGJvdW5kYXJ5IGNoZWNrcywgc2hvdWxkIGhhdmUgYmVlbiAKCWNoZWNraW5nIGZvciB2aWV3cG9ydCBiZWluZyAgc21hbGxlciB0aGFuIG1pbmltdW0gc2l6ZSwgbm90IHNtYWxsZXIgCgl0aGFuIHByZWZlcnJlZCBzaXplLgoKMjAwNS0xMC0yNiAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogY29uZmlndXJlLmFjOiBSZW5hbWUgLS13aXRoLXF0ZGlyIHRvIC0td2l0aC1xdDRkaXIgdG8gbWFrZSBjbGVhcgoJd2hpY2ggUXQgdmVyc2lvbiBpcyBtZWFudC4KCjIwMDUtMTAtMjYgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhOgoJKGdldFByZWZlcnJlZFNjcm9sbGFibGVWaWV3cG9ydFNpemUpOiBVc2UgdGhlIHByZWZlcnJlZCB3aWR0aCBpbnN0ZWFkIAoJb2YgdGhlIHdpZHRoIG9mIHRoZSB3aWRlc3QgZWxlbWVudC4gIFRoaXMgYWxsb3dzIHVzIHRvIHVzZSB0aGUgCgl1c2VyLXNwZWNpZmllZCBwcmVmZXJyZWQgd2lkdGggaWYgc2V0UHJlZmVycmVkU2l6ZSB3YXMgY2FsbGVkLiAgVXNlIAoJdGhlIGhlaWdodCBvZiB0aGUgZmlyc3Qgcm93LCBub3QgdGhlIGZpcnN0IHZpc2libGUgcm93LCB3aGVuIAoJY2FsY3VsYXRpbmcgdGhlIHByZWZlcnJlZCBoZWlnaHQuICBBZGRlZCBjb21tZW50cyBhbmQgbWFkZSBjb2RlIGNsZWFuZXIKCWFuZCBtb3JlIHJlYWRhYmxlLgoKMjAwNS0xMC0yNiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VSZWFkZXJXcml0ZXJTcGkuamF2YQoJKGdldFN0cmVhbU1ldGFkYXRhRm9ybWF0KTogSW1wbGVtZW50LgoJKGdldEltYWdlTWV0YWRhdGFGb3JtYXQpOiBMaWtld2lzZS4KCjIwMDUtMTAtMjYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvQWJzdHJhY3RDb2xvckNob29zZXJQYW5lbC5qYXZhCgkoZ2V0TW5lbW9uaWMpOiBpbXBsZW1lbnRlZCwKCShnZXREaXNwbGF5ZWRNbmVtb25pY0luZGV4KTogaW1wbGVtZW50ZWQuCgoyMDA1LTEwLTI2ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvQWRhcHRlck1hbmFnZXJJZEhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0FkYXB0ZXJOYW1lSGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvQWRhcHRlclN0YXRlSGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvT1JCSWRIZWxwZXIuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PYmplY3RJZEhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL1NlcnZlcklkSGVscGVyLmphdmE6IE5ldyBmaWxlcy4KCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRJbmZvUGFja2FnZS9PYmplY3RJZEhlbHBlci5qYXZhCgkodHlwZSk6IEZpeGVkIHR5cG8gaW4gdHlwZWNvZGUgbmFtZS4KCjIwMDUtMTAtMjUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1dyYXBwZWRQbGFpblZpZXc6IE5ldyBjbGFzcy4KCjIwMDUtMTAtMjUgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFJlbW92ZWQgaW5pdGlhbGl6YXRpb24gb2YgdW5uZWNlc3NhcnkgZm9jdXNDb2xvcgoJZmllbGQuCgkocGFpbnRCdXR0b25QcmVzc2VkKTogT25seSBwYWludCBpZiBidXR0b24gaXMgb3BhcXVlLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQnV0dG9uVUkuamF2YQoJKHBhaW50QnV0dG9uUHJlc3NlZCk6IE9ubHkgcGFpbnQgaWYgYnV0dG9uIGlzIG9wYXF1ZSBhbmQKCWNvbnRlbnRBcmVhRmlsbGVkLgoKMjAwNS0xMC0yNSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQ29tcG9zaXRlVmlldy5qYXZhOgoJKGdldFZpZXdJbmRleEF0UG9zaXRpb24pOiBGaXhlZCBib3VuZGFyeSBjb25kaXRpb25zIChsZXNzIHRoYW4gYW5kIAoJZ3JlYXRlciB0aGFuIHNpZ25zIHdlcmUgYmFja3dhcmQpLgoKMjAwNS0xMC0yNSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmE6CgkoZ2V0QnJlYWtMb2NhdGlvbik6IE5ldyBBUEkgbWV0aG9kLgoKMjAwNS0xMC0yNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9pby9PYmplY3RPdXRwdXRTdHJlYW0uamF2YSAodXNlUHJvdG9jb2xWZXJzaW9uKTogVHlwbyBmaXguCgoyMDA1LTEwLTI1ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0RpYWxvZ1BlZXIuamF2YQoJKGNyZWF0ZSk6IENoYW5nZWQgY2xhc3NuYW1lIGZvciB0aGUgaGVhdnl3ZWlnaHQgdGVzdGNsYXNzIHRvIG1hdGNoCgl0aGUgbmV3IGNsYXNzZXMgaW50cm9kdWNlZCBieSBteSBwb3B1cCBwYXRjaCBlYXJsaWVyIHRoaXMgZGF5LgoKMjAwNS0xMC0yNSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhCgkobWtNZW51QmFyKTogUmVwbGFjZWQgc29tZSBkZW1vcyB3aXRoIG5ldyBleHRlcm5hbCBkZW1vIHByb2dyYW1zLAoJbmFtZWx5IHRoZSBidXR0b24gZGVtbywgdGhlIHNjcm9sbGJhciBkZW1vLCB0aGUgY29tYm9ib3ggZGVtbyBhbmQKCXRoZSBzbGlkZXIgZGVtby4KCShta0J1dHRvbkJhcik6IExpa2V3aXNlLgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0J1dHRvbkRlbW8uamF2YQoJKGNyZWF0ZUNvbnRlbnQpOiBNYWRlIHBhY2thZ2UgcHJpdmF0ZSBzbyB0aGF0IHRoZSBEZW1vLmphdmEgY2FuCglhY2Nlc3MgaXQuCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvQ29tYm9Cb3hEZW1vLmphdmEKCShjcmVhdGVDb250ZW50KTogTWFkZSBwYWNrYWdlIHByaXZhdGUgc28gdGhhdCB0aGUgRGVtby5qYXZhIGNhbgoJYWNjZXNzIGl0LgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL1Njcm9sbEJhckRlbW8uamF2YQoJKGNyZWF0ZUNvbnRlbnQpOiBNYWRlIHBhY2thZ2UgcHJpdmF0ZSBzbyB0aGF0IHRoZSBEZW1vLmphdmEgY2FuCglhY2Nlc3MgaXQuCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvU2xpZGVyRGVtby5qYXZhCgkoY3JlYXRlQ29udGVudCk6IE1hZGUgcGFja2FnZSBwcml2YXRlIHNvIHRoYXQgdGhlIERlbW8uamF2YSBjYW4KCWFjY2VzcyBpdC4KCjIwMDUtMTAtMjUgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YQoJKGFkZEltcGwpOiBSZW1vdmVkIHVubmVjZXNzYXJ5IHJlcGFpbnQoKSBhbmQgcmV2YWxpZGF0ZSgpIGNhbGxzLgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEKCShyZW1vdmUpOiBSZW1vdmVkIHVubmVjZXNzYXJ5IHJldmFsaWRhdGUoKSBjYWxsLgoJKGluc2VydCk6IFJlbW92ZWQgY29kZSB0aGF0IGluc3RhbGxzIEdyaWRCYWdDb25zdHJhaW50cy4gSlBvcHVwTWVudQoJdXNlcyBhIEJveExheW91dCBhbmQgdGhpcyBpcyBub3QgbmVlZGVkIGFueW1vcmUuCgkocGFjayk6IFNlbmQgdGhpcyBtZXRob2QgY2FsbCB0byB0aGUgZXZlbnQgcXVldWUgdG8gYXZvaWQKCXN5bmNocm9uaXphdGlvbiBwcm9ibGVtcy4gU2V0IHNpemUgdG8gcHJlZmVycmVkU2l6ZSBvZiB0aGlzIG1lbnUuCgkoc2V0VmlzaWJsZSk6IFNlbmQgdGhpcyBtZXRob2QgY2FsbCB0byB0aGUgZXZlbnQgcXVldWUgdG8gYXZvaWQKCXN5bmNocm9uaXphdGlvbiBwcm9ibGVtcy4gVXNlIFBvcHVwRmFjdG9yeSBmb3IgY3JlYXRpbmcgYSBwb3B1cC4KCShzZXRMb2NhdGlvbik6IFVzZSBpbnQgZmllbGRzIGluc3RlYWQgb2YgYSBQb2ludCBmaWVsZC4KCShQb3B1cCk6IFJlbW92ZWQgaW5uZXIgaW50ZXJmYWNlLiBXZSB1c2UgamF2YXguc3dpbmcuUG9wdXAgbm93LgoJKExpZ2h0d2VpZ2h0UG9wdXApOiBMaWtld2lzZS4KCShNZWRpdW1XZWlnaHRQb3B1cCk6IExpa2V3aXNlLgoJKEhlYXZ5V2VpZ2h0UG9wdXApOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvUG9wdXAuamF2YQoJKEpXaW5kb3dQb3B1cC5KV2luZG93UG9wdXApOiBBZGQgY29udGVudHMgdG8gY29udGVudFBhbmUgb2Ygd2luZG93LgoJU2V0IGZvY3VzYWJsZVdpbmRvd1N0YXRlIHRvIGZhbHNlLgoJKEpXaW5kb3dQb3B1cC5zaG93KTogU2V0IHNpemUgb2Ygd2luZG93IGhlcmUuCgkoTGlnaHR3ZWlnaHRQb3B1cCk6IE5ldyBpbm5lciBjbGFzcy4KCSogamF2YXgvc3dpbmcvUG9wdXBGYWN0b3J5LmphdmEKCShnZXRQb3B1cCk6IFJldHVybiBoZWF2eXdlaWdodCBvciBsaWdodHdlaWdodCBwb3B1cCBkZXBlbmRpbmcgb24KCXRoZSBwYXJhbWV0ZXJzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyKTogUmVtb3ZlZCB1bm5lZWRlZCBpbm5lciBjbGFzcy4KCShCYXNpY01lbnVJdGVtVUkpOiBSZW1vdmVkIGluc3RhbnRpYXRpb24gb2YgUHJvcGVydHlDaGFuZ2VIYW5kbGVyLgoJKGluc3RhbGxMaXN0ZW5lcnMpOiBSZW1vdmVkIGhhbmRsaW5nIG9mIHRoZSBQcm9wZXJ0eUNoYW5nZUhhbmRsZXIuCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogUmVtb3ZlZCBoYW5kbGluZyBvZiB0aGUgUHJvcGVydHlDaGFuZ2VIYW5kbGVyLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmEKCShnZXRNYXhpbXVtU2l6ZSk6IERvbid0IHRyZWF0IHBvcHVwIG1lbnVzIGRpZmZlcmVudC4KCjIwMDUtMTAtMjUgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvTmFtaW5nU2VydmljZS9EZW1vLmphdmEgKG1haW4pOgoJTWFrZSBhcmd1bWVudHMgbm90IGZpbmFsLgoKMjAwNS0xMC0yNSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgogICAgICAgICAgIAoJKiBvcmcvb21nL0NPUkJBL0lETEVudGl0eS5qYXZhOiBEZWxldGVkLiAgIAoJKiBnbnUvQ09SQkEvcHJpbWl0aXZlVHlwZUNvZGUuamF2YSwKCW9yZy9vbWcvQ09SQkEvUG9saWN5RXJyb3IuamF2YSwKCW9yZy9vbWcvQ09SQkEvVHlwZUNvZGVQYWNrYWdlL0JhZEtpbmQuamF2YSwKCW9yZy9vbWcvQ09SQkEvVHlwZUNvZGVQYWNrYWdlL0JvdW5kcy5qYXZhOiAKCVVzZSBvcmcub21nLkNPUkJBLnBvcnRhYmxlLklETEVudGl0eS4KCjIwMDUtMTAtMjUgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9pbnRlcmZhY2VzL1NvY2tldEZhY3RvcnkuamF2YTogTmV3IGZpbGUuCgkqIGdudS9DT1JCQS9pbnRlcmZhY2VzL2dudVNvY2tldEZhY3RvcnkuamF2YTogRGVsZXRlZC4KCSogZ251L0NPUkJBL0RlZmF1bHRTb2NrZXRGYWN0b3J5LmphdmEsCglnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSwKCW9yZy9vbWcvQ09SQkEvT1JCLmphdmE6IFJlcGxhY2luZyBnbnVTb2NrZXRGYWN0b3J5IGludG8gU29ja2V0RmFjdG9yeS4KCjIwMDUtMTAtMjUgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ29zTmFtaW5nL0JpbmRpbmdJdGVyYXRvckhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dEV4dEhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dEhlbHBlci5qYXZhLAoJb3JnL29tZy9EeW5hbWljQW55L0R5bkFueUZhY3RvcnlIZWxwZXIuamF2YSwKCW9yZy9vbWcvRHluYW1pY0FueS9EeW5BbnlIZWxwZXIuamF2YSwKCW9yZy9vbWcvRHluYW1pY0FueS9EeW5BcnJheUhlbHBlci5qYXZhLAoJb3JnL29tZy9EeW5hbWljQW55L0R5bkVudW1IZWxwZXIuamF2YSwKCW9yZy9vbWcvRHluYW1pY0FueS9EeW5GaXhlZEhlbHBlci5qYXZhLAoJb3JnL29tZy9EeW5hbWljQW55L0R5blNlcXVlbmNlSGVscGVyLmphdmEsCglvcmcvb21nL0R5bmFtaWNBbnkvRHluU3RydWN0SGVscGVyLmphdmEsCglvcmcvb21nL0R5bmFtaWNBbnkvRHluVW5pb25IZWxwZXIuamF2YSwKCW9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZUhlbHBlci5qYXZhLAoJb3JnL29tZy9JT1AvQ29kZWNGYWN0b3J5SGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvQ3VycmVudEhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9TZXJ2YW50QWN0aXZhdG9ySGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRMb2NhdG9ySGVscGVyLmphdmE6IEFkZGVkCgl1bmNoZWNrZWRfbmFycm93IG1ldGhvZC4KCjIwMDUtMTAtMjUgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyX2d0a1dpZGdldEdldExvY2F0aW9uT25TY3JlZW4pOgoJQ2FsbCBnZGtfd2luZG93X2dldF9yb290X29yaWdpbiBpbnN0ZWFkIG9mIGdka193aW5kb3dfZ2V0X29yaWdpbgoJc28gdGhhdCB0aGUgd2luZG93IGRlY29yYXRpb25zIGFyZSBjb3JyZWN0bHkgcmVzcGVjdGVkLgoKMjAwNS0xMC0yNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9pby9PYmplY3RPdXRwdXRTdHJlYW0uamF2YSAodXNlUHJvdG9jb2xWZXJzaW9uKTogRml4ZWQgdHlwbwoJaW4gamF2YWRvYy4KCjIwMDUtMTAtMjQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9TdHJpbmdCdWZmZXIuamF2YSAoYXBwZW5kQ29kZVBvaW50KTogQWRkZWQgQHNpbmNlLgoJKiBqYXZhL2xhbmcvU3RyaW5nQnVpbGRlci5qYXZhIChpbnNlcnQpOiBOZXcgb3ZlcmxvYWRzLgoJKGFwcGVuZENvZGVQb2ludCk6IE5ldyBtZXRob2QuCgoyMDA1LTEwLTI0ICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiB0ZXN0L25hdGl2ZS9saWIvUHJpbWxpYkludGVyZmFjZS5jLAoJKiB0ZXN0L25hdGl2ZS9saWIvUHJpbWxpYkludGVyZmFjZS5oLAoJKiB0ZXN0L25hdGl2ZS9saWIvUHJpbWxpYlRlc3QuamF2YToKCVJlbW92ZWQgdW51c2VkIHRlc3QuCgoyMDA1LTEwLTI0ICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBuYXRpdmUvam5pL2NsYXNzcGF0aC9wcmltbGliLmMsCgluYXRpdmUvam5pL2NsYXNzcGF0aC9wcmltbGliLmg6IFJlbW92ZWQgc2luY2UgdW51c2VkLgoKCSogbmF0aXZlL2puaS9jbGFzc3BhdGgvTWFrZWZpbGUuYW06IChsaWJjbGFzc3BhdGhfbGFfU09VUkNFUykKCVJlbW92ZWQgcHJpbWxpYi5jIGFuZCBwcmltbGliLmguCgoyMDA1LTEwLTI0ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9TY3JvbGxCYXJEZW1vLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0xMC0yNCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhCgkoTW9kZWxMaXN0ZW5lci5zdGF0ZUNoYW5nZWQpOiBjaGFuZ2VkIGNhbGwgdG8gZ2V0VGh1bWJCb3VuZHMoKSB0bwoJdXBkYXRlVGh1bWJSZWN0KCksCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogbGlrZXdpc2UsIHBsdXMgYWRkZWQgaGFuZGxpbmcKCWZvciAnZW5hYmxlZCcgcHJvcGVydHksCgkoZ2V0TWF4aW11bVNpemUpOiByZXR1cm4gbWF4aW11bSBkaW1lbnNpb24sCgkoZ2V0VGh1bWJCb3VuZHMpOiBqdXN0IHJldHVybiBmaWVsZCB2YWx1ZSwKCShnZXRUcmFja0JvdW5kcyk6IGp1c3QgcmV0dXJuIGZpZWxkIHZhbHVlLAoJKGluc3RhbGxVSSk6IHN3aXRjaCBvcmRlciBvZiBjYWxscyB0byBpbnN0YWxsRGVmYXVsdHMoKSBhbmQgCglpbnN0YWxsQ29tcG9uZW50cygpLAoJKGxheW91dEhTY3JvbGxCYXIpOiByZWltcGxlbWVudGVkIHVzaW5nIG5ldyB1cGRhdGVUaHVtYlJlY3QoKSBtZXRob2QsCgkobGF5b3V0VlNjcm9sbEJhcik6IGxpa2V3aXNlLAoJKHVwZGF0ZVRodW1iUmVjdCk6IG5ldyBtZXRob2QsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogYWRkZWQgJ1Njcm9sbEJhci53aWR0aCcgZGVmYXVsdCwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNjcm9sbEJhclVJLmphdmEKCShNSU5fVEhVTUJfU0laRSk6IGNoYW5nZWQgdmFsdWUsCgkoTUlOX1RIVU1CX1NJWkVfRlJFRV9TVEFORElORyk6IG5ldyBmaWVsZCwKCShpc0ZyZWVTdGFuZGluZyk6IHNldCBkZWZhdWx0IHRvIHRydWUsCgkoc2Nyb2xsQmFyU2hhZG93Q29sb3IpOiBuZXcgZmllbGQsCgkoaW5zdGFsbERlZmF1bHRzKTogaW5pdGlhbGlzZSBzY3JvbGxCYXJTaGFkb3dDb2xvciwKCShjcmVhdGVEZWNyZWFzZUJ1dHRvbik6IHJldGFpbiByZWZlcmVuY2UgaW4gZGVjcmVhc2VCdXR0b24gZmllbGQsCgkoY3JlYXRlSW5jcmVhc2VCdXR0b24pOiByZXRhaW4gcmVmZXJlbmNlIGluIGluY3JlYXNlQnV0dG9uIGZpZWxkLAoJKHBhaW50VHJhY2tIb3Jpem9udGFsKTogdXNlIHNjcm9sbEJhclNoYWRvd0NvbG9yLCBhZGQgc3BlY2lhbCBoYW5kbGluZwoJZm9yIGZyZWUgc3RhbmRpbmcgc2Nyb2xsIGJhciBpbiBkaXNhYmxlZCBzdGF0ZSwKCShwYWludFRyYWNrVmVydGljYWwpOiBsaWtld2lzZSwKCShwYWludFRodW1iKTogc2VwYXJhdGUgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgY2FzZXMsCgkocGFpbnRUaHVtYkhvcml6b250YWwpOiBuZXcgbWV0aG9kLAoJKHBhaW50VGh1bWJWZXJ0aWNhbCk6IG5ldyBtZXRob2QsCgkoZ2V0TWluaW11bVRodW1iU2l6ZSk6IHJldHVybiBkaWZmZXJlbnQgc2l6ZSBkZXBlbmRpbmcgb24gd2hldGhlciBvciAKCW5vdCB0aGUgc2Nyb2xsIGJhciBpcyBmcmVlIHN0YW5kaW5nLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsQnV0dG9uLmphdmEKCShwYWludE5vcnRoQm9yZGVyRnJlZVN0YW5kaW5nKTogbW9kaWZpZWQgZHJhd2luZy4KCjIwMDUtMTAtMjQgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTWV0YWRhdGFGb3JtYXRJbXBsLmphdmE6IENvbXBsZXRlLgoJKiBqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT01ldGFkYXRhTm9kZS5qYXZhOiBDb21wbGV0ZSBzdHVicy4KCSogamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9BdHRyLmphdmE6IFJlcGxhY2Ugd2l0aAoJSUlPTWV0YWRhdGFGb3JtYXRJbXBsLklJT01ldGFkYXRhTm9kZUF0dHIuICBSZW1vdmUgZmlsZS4KCSogamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9OYW1lZE5vZGVNYXAuamF2YTogUmVwbGFjZSB3aXRoCglJSU9NZXRhZGF0YU5vZGUuSUlPTmFtZWROb2RlTWFwLiAgUmVtb3ZlIGZpbGUuCgkqIGphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTm9kZUxpc3QuamF2YTogUmVwbGFjZSB3aXRoCglJSU9NZXRhZGF0YU5vZGUuSUlPTm9kZUxpc3QuICBSZW1vdmUgZmlsZS4KCjIwMDUtMTAtMjQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvdGV4dC9BdHRyaWJ1dGVkU3RyaW5nSXRlcmF0b3IuamF2YSAoZ2V0UnVuTGltaXQpOiBBZGQKCWV4cGxpY2l0IHF1YWxpZmljYXRpb24uCgkoZ2V0UnVuU3RhcnQpOiBMaWtld2lzZS4KCjIwMDUtMTAtMjQgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL3RleHQvQXR0cmlidXRlZFN0cmluZy5qYXZhCgkoQXR0cmlidXRlZFN0cmluZyhBdHRyaWJ1dGVkQ2hhcmFjdGVySXRlcmF0b3IsIGludCwgaW50LCAKCUF0dHJpYnV0ZWRDaGFyYWN0ZXJJdGVyYXRvci5BdHRyaWJ1dGVbXSkpOiByZW5hbWVkIGFyZ3VtZW50cywgYW5kIAoJdXBkYXRlZCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gY2hlY2ssCgkoYWRkQXR0cmlidXRlKEF0dHJpYnV0ZWRDaGFyYWN0ZXJJdGVyYXRvci5BdHRyaWJ1dGUsIE9iamVjdCwgaW50LCAKCWludCkpOiBsaWtld2lzZSwKCShhZGRBdHRyaWJ1dGVzKE1hcCwgaW50LCBpbnQpKTogY2hhbmdlZCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gdG8KCU51bGxQb2ludGVyRXhjZXB0aW9uLCBhbmQgbW9kaWZpZWQgY2hlY2sgZm9yIGlsbGVnYWwgcmFuZ2UsCgkqIGphdmEvdGV4dC9BdHRyaWJ1dGVkU3RyaW5nSXRlcmF0b3IuamF2YQoJKGdldFJ1bkxpbWl0KFNldCkpOiByZWltcGxlbWVudGVkLAoJKGdldFJ1blN0YXJ0KTogYWRkZWQgQVBJIGRvY3MsCgkoZ2V0UnVuU3RhcnQoQXR0cmlidXRlZENoYXJhY3Rlckl0ZXJhdG9yLkF0dHJpYnV0ZSkpOiBoYW5kbGUgbnVsbAoJYXJndW1lbnQgYXMgYSBzcGVjaWFsIGNhc2UsCgkoZ2V0UnVuU3RhcnQoU2V0KSk6IHJlaW1wbGVtZW50ZWQsCgkoZ2V0QXR0cmlidXRlKEF0dHJpYnV0ZWRDaGFyYWN0ZXJJdGVyYXRvci5BdHRyaWJ1dGUsIGludCkpOiBuZXcgCglwcml2YXRlIG1ldGhvZCwKCShnZXRBdHRyaWJ1dGUoQXR0cmlidXRlZENoYXJhY3Rlckl0ZXJhdG9yLkF0dHJpYnV0ZSkpOiByZWltcGxlbWVudGVkCgl1c2luZyBuZXcgcHJpdmF0ZSBtZXRob2QuCgkqIGphdmEvdGV4dC9DaGFyYWN0ZXJJdGVyYXRvci5qYXZhOiBtaW5vciBBUEkgZG9jIGZpeC4KCjIwMDUtMTAtMjQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJRml4ZXMgQnVnICMyNDM1OQoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YToKCU1hZGUgY2xhc3MgdGhyZWFkIHNhZmUuCgoyMDA1LTEwLTIzICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvSW52YWxpZFByb3BlcnRpZXNGb3JtYXRFeGNlcHRpb24uamF2YTogTmV3IGZpbGUuCgoyMDA1LTEwLTIzICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS91dGlsL1Byb3BlcnRpZXMuamF2YQoJKHN0b3JlVG9YTUwoT3V0cHV0U3RyZWFtLFN0cmluZyxTdHJpbmcpKTogQWRkZWQgbnVsbCBwb2ludGVyIGNoZWNrcy4KCShsb2FkRnJvbVhNTChJbnB1dFN0cmVhbSkpOiBJbXBsZW1lbnRlZC4KCShQcm9wZXJ0aWVzSGFuZGxlcik6IE5ldyBjbGFzcyB0byBoYW5kbGUgcGFyc2luZyBldmVudHMuCgkoUHJvcGVydGllc0hhbmRsZXIoKSk6IE5ldyBjb25zdHJ1Y3Rvci4KCShzdGFydERURChTdHJpbmcsU3RyaW5nLFN0cmluZykpOiBJbXBsZW1lbnRlZC4KCShzdGFydEVsZW1lbnQoU3RyaW5nLFN0cmluZyxTdHJpbmcsQXR0cmlidXRlcykpOiBJbXBsZW1lbnRlZC4KCShjaGFyYWN0ZXJzKGNoYXJbXSxpbnQsaW50KSk6IEltcGxlbWVudGVkLgoJKGVuZEVsZW1lbnQoU3RyaW5nLFN0cmluZyxTdHJpbmcpKTogSW1wbGVtZW50ZWQuCgkoZW5kRG9jdW1lbnQoKSk6IEltcGxlbWVudGVkLgoKMjAwNS0xMC0yMyAgR3VpbGhlbSBMYXZhdXggIDxndWlsaGVtQGthZmZlLm9yZz4KCgkqIGphdmEvbGFuZy9UaHJlYWQuamF2YQoJKHNsZWVwKTogQmV0dGVyIGV4Y2VwdGlvbiBtZXNzYWdlLgoKCSogamF2YS9zZWN1cml0eS9BY2Nlc3NDb250cm9sQ29udGV4dC5qYXZhCgkoY2hlY2tQZXJtaXNzaW9uKTogTGlrZXdpc2UuCgoJKiBqYXZhL3V0aWwvUmVzb3VyY2VCdW5kbGUuamF2YQoJKGdldEJ1bmRsZSk6IExpa2V3aXNlLgoKCSogamF2YS91dGlsL1NpbXBsZVRpbWVab25lLmphdmEKCShzZXRTdGFydFJ1bGUpOiBBZGRlZCBzb21lIGRvY3VtZW50YXRpb24uCgoyMDA1LTEwLTIzICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogY29uZmlndXJlLmFjOiBBZGRlZCBzdXBwb3J0IGZvciAiLS13aXRoLW5hdGl2ZS1saWJkaXIiIGFuZAoJIi0td2l0aC1nbGliai1kaXIiLiBHZW5lcmF0ZSBjb3B5LXZtcmVzb3VyY2VzLnNoCgoJKiBsaWIvTWFrZWZpbGUuYW06IENhbGwgY29weS12bXJlc291cmNlcy5zaCB0byBmZXRjaCBwb3NzaWJsZSB2bQoJcmVzb3VyY2VzIGZyb20gdGhlIHZtZGlycy4KCgkqIGxpYi9jb3B5LXZtcmVzb3VyY2VzLnNoLmluOiBOZXcgc2NyaXB0IGZpbGUuCgoJKiBsaWIvZ2VuLWNsYXNzbGlzdC5zaC5pbjogSW5jbHVkZSBjb20vIGFzIGJhc2UgcGFja2FnZSBmb3IgdGhlCgl2bSBkaXJlY3Rvcmllcy4KCgkqIG5hdGl2ZS9qYXd0L01ha2VmaWxlLmFtLAoJbmF0aXZlL2puaS9ndGstcGVlci9NYWtlZmlsZS5hbSwKCW5hdGl2ZS9qbmkvamF2YS1pby9NYWtlZmlsZS5hbSwKCW5hdGl2ZS9qbmkvamF2YS1sYW5nL01ha2VmaWxlLmFtLAoJbmF0aXZlL2puaS9qYXZhLW5ldC9NYWtlZmlsZS5hbSwKCW5hdGl2ZS9qbmkvamF2YS1uaW8vTWFrZWZpbGUuYW0sCgluYXRpdmUvam5pL2phdmEtdXRpbC9NYWtlZmlsZS5hbSwKCW5hdGl2ZS9qbmkvbWlkaS1hbHNhL01ha2VmaWxlLmFtLAoJbmF0aXZlL2puaS9taWRpLWRzc2kvTWFrZWZpbGUuYW0sCgluYXRpdmUvam5pL3F0LXBlZXIvTWFrZWZpbGUuYW0sCgluYXRpdmUvam5pL3htbGovTWFrZWZpbGUuYW06IEluc3RhbGwgbGlicmFyaWVzIGluIG5hdGl2ZWxpYmRpcgoJYW5kIG5vdCBwa2dsaWIuCgoyMDA1LTEwLTIzICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJUFIgY2xhc3NwYXRoLzIyOTcyIAoJKiBqYXZhL2lvL0ZpbGUgKGNyZWF0ZVRlbXBGaWxlKTogUmV3cml0dGVuLgoKMjAwNS0xMC0yMyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9JT1AvUk1JQ3VzdG9tTWF4U3RyZWFtRm9ybWF0LmphdmEsCgkqIG9yZy9vbWcvSU9QL0V4Y2VwdGlvbkRldGFpbE1lc3NhZ2UuamF2YTogTmV3IGZpbGVzLiAKCjIwMDUtMTAtMjMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9JbnRlcmNlcHRvci9SZWdpc3RyYXRvci5qYXZhIChtX3ByZWZpeCk6IE1hZGUgc3RhdGljLgoKMjAwNS0xMC0yMyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L2phdmF4L3JtaS9DT1JCQS9nbnVSbWlVdGlsLmphdmEgKHJlYWRWYWx1ZSk6CglEbyBub3QgcmVhZCBmaWVsZHMgb2YgdGhlIE9iamVjdEltcGwuCgoyMDA1LTEwLTIzICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0lPUC9UQUdfUk1JX0NVU1RPTV9NQVhfU1RSRUFNX0ZPUk1BVCwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0FDVElWRS5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvRElTQ0FSRElORy5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvSE9MRElORy5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvSU5BQ1RJVkUuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL05PTl9FWElTVEVOVC5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTEwLTIyICBKdWxpYW4gU2NoZWlkICA8anVsaWFuQHNla3RvcjM3LmRlPgoKCSogamF2YS91dGlsL01hcC5qYXZhIChFbnRyeS5lcXVhbHMpOiBGaXhlZCBpbnZhbGlkIGV4YW1wbGUgY29kZQoJaW4gZG9jdW1lbnRhdGlvbi4KCjIwMDUtMTAtMjIgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvQUNUSVZJVFlfQ09NUExFVEVELmphdmEsCgkqIG9yZy9vbWcvQ09SQkEvQUNUSVZJVFlfUkVRVUlSRUQuamF2YSwKCSogb3JnL29tZy9DT1JCQS9CQURfUU9TLmphdmEsCgkqIG9yZy9vbWcvQ09SQkEvQ09ERVNFVF9JTkNPTVBBVElCTEUuamF2YSwKCSogb3JnL29tZy9DT1JCQS9JTlZBTElEX0FDVElWSVRZLmphdmEsCgkqIG9yZy9vbWcvQ09SQkEvUkVCSU5ELmphdmEsCgkqIG9yZy9vbWcvQ09SQkEvVElNRU9VVC5qYXZhLAoJKiBvcmcvb21nL0NPUkJBL1RSQU5TQUNUSU9OX01PREUuamF2YSwKCSogb3JnL29tZy9DT1JCQS9UUkFOU0FDVElPTl9VTkFWQUlMQUJMRS5qYXZhOiBOZXcgZXhjZXB0aW9ucy4KCjIwMDUtMTAtMjIgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGphdmF4L3JtaS9DT1JCQS9WYWx1ZUhhbmRsZXJNdWx0aUZvcm1hdC5qYXZhOiBOZXcgaW50ZXJmYWNlLgoJKiBnbnUvamF2YXgvcm1pL0NPUkJBL1ZhbHVlSGFuZGxlckRlbGVnYXRlSW1wbC5qYXZhCgkoZ2V0TWF4aW11bVN0cmVhbUZvcm1hdFZlcnNpb24sIHdyaXRlVmFsdWUpOiBOZXcgbWV0aG9kcy4KCjIwMDUtMTAtMjIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvbmV0L1VSTENsYXNzbG9hZGVyLmphdmEgKGFkZFVSTHMpOiBBZGQgY29tbWVudCBhYm91dCBqYm9zcy4KCjIwMDUtMTAtMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDaGVja0JveE1lbnVJdGVtVUkuamF2YQoJKEJhc2ljQ2hlY2tCb3hNZW51SXRlbSk6IEltcGxlbWVudGVkLgoJKGluc3RhbGxEZWZhdWx0cyk6IFJlbW92ZWQgbWV0aG9kLCBub3QgaW4gQVBJLgoJKHByb2Nlc3NNb3VzZUV2ZW50KTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvbk1lbnVJdGVtVUkuamF2YQoJKHByb2Nlc3NNb3VzZUV2ZW50KTogSW1wbGVtZW50ZWQuCgoyMDA1LTEwLTIxICBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCgkqIGNvbmZpZ3VyZS5hYzogQWxzbyBjaGVjayBmb3IgcGFuZ29mdDIgd2l0aG91dCBjYWlybyBhbmQKCWFkZGl0aW9uYWxseSBjaGVjayBmb3IgZnJlZXR5cGUyLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL01ha2VmaWxlLmFtOiBBZGRlZCBYLCBwYW5nb2Z0MiBhbmQKCWZyZWV0eXBlMiBDRkxBR1MgYW5kIExERkxBR1MuCgoyMDA1LTEwLTIxICBOaWNvbGFzIEdlb2ZmcmF5ICA8bmljb2xhcy5nZW9mZnJheUBtZW5saW5hLmNvbT4KCgkqIHZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1DbGFzc0xvYWRlci5qYXZhCgkoZ2V0UmVzb3VyY2VzKTogdXNlcyBhIG5ldyBzdGF0aWMgZmllbGQgSGFzaE1hcCB0bwoJc3RvcmUgb3BlbmVkIHppcCBmaWxlcyBmcm9tIHByb3BlcnR5IGphdmEuYm9vdC5jbGFzcy5wYXRoLgoKMjAwNS0xMC0yMSAgTmljb2xhcyBHZW9mZnJheSAgPG5pY29sYXMuZ2VvZmZyYXlAbWVubGluYS5jb20+CgoJKiB2bS9yZWZlcmVuY2UvamF2YS9sYW5nL1ZNQ2xhc3NMb2FkZXIuamF2YQoJKGdldFJlc3NvdXJjZXMpOiBJbiBjYXNlIHRoZSBwcm9wZXJ0eSBqYXZhLmJvb3QuY2xhc3MucGF0aAoJY29udGFpbnMgZGlyZWN0b3JpZXMsIHRlc3RzIGlmIHRoZSByZXNzb3VyY2UgZXhpc3RzIGJlZm9yZSBhZGRpbmcKCWl0IHRvIHRoZSB2ZWN0b3IgcmVzdWx0LgoKMjAwNS0xMC0yMSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1JhZGlvQnV0dG9uVUkuamF2YQoJKHBhaW50KTogT25seSBwYWludCBmb2N1cyBpZiBlbmFibGVkLgoKMjAwNS0xMC0yMSAgRGF2aWQgRGFuZXkgIDxkZGFuZXlAYXZ0cmV4LmNvbT4KCgkqIE5FV1M6IEFkZGVkIGVudHJ5IGFib3V0IEh0dHBVUkxDb25uZWN0aW9uIGltcHJvdmVtZW50cy4KCjIwMDUtMTAtMjEgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9EZWZhdWx0U29ja2V0RmFjdG9yeS5qYXZhLAoJKiBnbnUvQ09SQkEvaW50ZXJmYWNlcy9nbnVTb2NrZXRGYWN0b3J5LmphdmEsCgkqIGdudS9DT1JCQS9pbnRlcmZhY2VzL3BhY2thZ2UuaHRtbDogTmV3IGZpbGVzLgoJKiBnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSwKCSogZ251L0NPUkJBL0ZvY3VzZWRfT1JCLmphdmEgKGdldFBvcnRTZXJ2ZXIpLAoJKiBnbnUvQ09SQkEvR0lPUC9FcnJvck1lc3NhZ2UuamF2YSAoc2VuZCksCgkqIGdudS9DT1JCQS9nbnVSZXF1ZXN0LmphdmEgKHN1Ym1pdCk6IFJld3JpdHRlbiB0byBzdXBwb3J0CglnbnUuQ29yYmEuU29ja2V0RmFjdG9yeSBwcm9wZXJ0eS4KCSogb3JnL29tZy9DT1JCQS9PUkIuamF2YTogRG9jdW1lbnRhdGlvbiB1cGRhdGUuIAoKMjAwNS0xMC0yMSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhCgkoc2hvdyk6IEZpeGVkIHRvIHNldCB0aGUgc2l6ZSBpZiBpdCB3YXMgbmV2ZXIgc2V0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmEKCShtZW51RGVzZWxlY3RlZCk6IEFkZGVkIGNoZWNrIHRvIHByZXZlbnQgTlBFLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2VwYXJhdG9yVUkuamF2YToKCVJlbW92ZWQgbWluU2l6ZSwgaG9yaXpvbnRhbFByZWZTaXplLCB2ZXJ0aWNhbFByZWZTaXplIGFuZAoJbWF4U2l6ZSBmaWVsZHMuIFRoZXkgd2VyZSBjYXVzaW5nIHByb2JsZW1zIHdoZW4gb3RoZXIgY2xhc3NlcwoJd2VyZSBzZXR0aW5nIHRoaXMgdmFyaWFibGVzIHRvIHNvbWV0aGluZyBlbHNlLiBNb3JlIHJlbGlhYmxlIGlmCglhY3R1YWwgdmFsdWUgaXMgcmV0dXJuZWQuCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IFJldHVybmVkIGFwcHJvcHJpYXRlIHZhbHVlcy4KCShnZXRNaW5pbXVtU2l6ZSk6IExpa2V3aXNlLgoJKGdldE1heGltdW1TaXplKTogTGlrZXdpc2UuCQoKMjAwNS0xMC0yMSAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L1Byb3h5LmphdmEKCShQcm94eVR5cGUuUHJveHlUeXBlKTogRG9uJ3QgcmVwbGFjZSBudWxsIHdpdGggc3lzdGVtIGNsYXNzIGxvYWRlci4KCShQcm94eVR5cGUuaGFzaENvZGUpOiBIYW5kbGUgbnVsbCBsb2FkZXIuCgoyMDA1LTEwLTIwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJKHNldExlYWRTZWxlY3Rpb25JbmRleCk6IElmIHRoZSBzZWxlY3Rpb24gbW9kZSBpcyBTSU5HTEVfU0VMRUNUSU9OIHRoZW4KCXBhc3MgdGhpcyBjYWxsIHRvIHNldFNlbGVjdGlvbkludGVydmFsLgoJKGFkZFNlbGVjdGlvbkludGVydmFsKTogSWYgdGhlIHNlbGVjdGlvbiBtb2RlIGlzIFNJTkdMRV9TRUxFQ1RJT04gdGhlbiAKCXBhc3MgdGhlIGNhbGwgdG8gc2V0U2VsZWN0aW9uSW50ZXJ2YWwgYW5kIGF2b2lkIHRoZSBsZW5ndGh5IGNoZWNrcwoJdGhhdCBkb24ndCBhcHBseSB0byB0aGlzIG1vZGUuCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmE6CgkoZ2V0U2VsZWN0ZWRJbmRpY2VzKTogQ2hhbmdlZCBib3VuZHMgb2YgZm9yIGxvb3AgdG8gaW5jbHVkZSB0aGUgCgltYXhTZWxlY3Rpb25JbmRleC4KCjIwMDUtMTAtMjAgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhCgkobWtSYWRpbyk6IENoYW5nZWQgdG8gY3JlYXRlIGEgcGFuZWwgdGhhdCBjb250YWlucwoJMiBidXR0b25zIGluIGEgQnV0dG9uR3JvdXAuCgkqIGphdmF4L3N3aW5nL0J1dHRvbkdyb3VwLmphdmEKCShhZGQpOiBGaXhlZCB0byBpbml0aWFsaXplIHNlbCBpZiB0aGUgbmV3bHkgYWRkZWQKCWJ1dHRvbiBpcyBhbHJlYWR5IHNlbGVjdGVkLgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmEKCShpc1NlbGVjdGVkKTogSW1wbGVtZW50ZWQuCgkoc2V0U2VsZWN0ZWQpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFJhZGlvQnV0dG9uVUkuamF2YQoJKHBhaW50Rm9jdXMpOiBGaXhlZCBzaXplIG9mIGJvcmRlciBkcmF3biBhcm91bmQgdGhlCglyYWRpbyBidXR0b24uCgoyMDA1LTEwLTIwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvU2Nyb2xsUGFuZUFkanVzdGFibGUuamF2YToKCShhZGRBZGp1c3RtZW50TGlzdGVuZXIpOiBJZiBwYXJhbWV0ZXIgaXMgbnVsbCB0YWtlIG5vIGFjdGlvbiBhbmQgdGhyb3cKCW5vIGV4Y2VwdGlvbi4gIFN0b3JlIHRoZSByZXN1bHRpbmcgbGlzdGVuZXIgY2hhaW4gZnJvbSBjYWxsIHRvIAoJQVdURXZlbnRNdWx0aWNhc3Rlci5hZGQuCgkocmVtb3ZlQWRqdXN0bWVudExpc3RlbmVyKTogSWYgcGFyYW1ldGVyIGlzIG51bGwgdGFrZSBubyBhY3Rpb24gYW5kCgl0aHJvdyBubyBleGNlcHRpb24uICBTdG9yZSB0aGUgcmVzdWx0aW5nIGxpc3RlbmVyIGNoYWluIGZyb20gY2FsbCB0bwoJQVdURXZlbnRNdWx0aWNhc3Rlci5yZW1vdmUuCgoyMDA1LTEwLTIwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvTG9va0FuZEZlZWwuamF2YToKCShsb2FkS2V5QmluZGluZ3MpOiBJbXBsZW1lbnRlZCBhbmQgYWRkZWQgZG9jcy4KCShtYWtlQ29tcG9uZW50SW5wdXRNYXApOiBMaWtld2lzZS4KCShtYWtlSW5wdXRNYXApOiBMaWtld2lzZS4KCShtYWtlS2V5QmluZGluZ3MpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJKGNvbnZlcnRNb2RpZmllcnMpOiBSZW1vdmVkIHRoaXMgbm8gbG9uZ2VyIG5lZWRlZCBwcml2YXRlIG1ldGhvZC4KCShpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogUmVtb3ZlZCB0aGUgY29kZSByZWxhdGluZyB0byBtb2RpZmllcgoJY29udmVyc2lvbiBhbmQgbWFkZSBjb2RlIG1vcmUgcmVhZGFibGUgYnkgdXNpbmcgbG9jYWwgdmFyaWFibGVzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJKGNvbnZlcnRNb2RpZmllcnMpOiBSZW1vdmVkIHRoaXMgbm8gbG9uZ2VyIG5lZWRlZCBwcml2YXRlIG1ldGhvZC4KCShpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogUmVtb3ZlZCB0aGUgY29kZSByZWxhdGluZyB0byBtb2RpZmllcgoJY29udmVyc2lvbiBhbmQgbWFkZSBjb2RlIG1vcmUgcmVhZGJhbGUgYnkgdXNpbmcgbG9jYWwgdmFyaWFibGVzLgoKMjAwNS0xMC0yMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YToKCUFkZGVkIG5ldyBJdGVtTGlzdGVuZXIgZmllbGQuCgkoQmFzaWNNZW51SXRlbVVJKTogSW5pdGlhbGl6ZWQgbmV3IGZpZWxkLgoJKGluc3RhbGxMaXN0ZW5lcnMpOiBJbnN0YWxsZWQgbmV3IGxpc3RlbmVyLgoJKHJlbW92ZUxpc3RlbmVycyk6IFJlbW92ZWQgbmV3IGxpc3RlbmVyLgoJKE1lbnVEcmFnTW91c2VIYW5kbGVyKTogQ2xhc3Mgc2hvdWxkIGJlIHByaXZhdGUsIG5vdAoJaW4gQVBJLgoJKE1lbnVLZXlIYW5kbGVyKTogTGlrZXdpc2UuCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyKTogTGlrZXdpc2UuCgkoSXRlbUhhbmRsZXIpOiBOZXcgY2xhc3MgaW1wbGVtZW50ZWQgdG8gY2hhbmdlIHRoZQoJc3RhdGUgb2YgdGhlIG1lbnUgaXRlbSBpZiBpdCBpcyBhIGNoZWNrYm94IG1lbnUgaXRlbS4JCgoyMDA1LTEwLTIwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9Cb3hWaWV3LmphdmEKCShsYXlvdXRNaW5vckF4aXMpOiBDYWxjdWxhdGUgdG90YWwgcmVxdWlyZW1lbnRzIGJlZm9yZSBjYWxsaW5nCgl0aGUgU2l6ZVJlcXVpcmVtZW50cyB1dGlsaXR5IG1ldGhvZC4gQXZvaWRzIGFuIE5QRS4KCjIwMDUtMTAtMjAgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQXJyb3dCdXR0b24uamF2YTogVXBkYXRlZCBBUEkgZG9jcyBhbGwgCglvdmVyLCBwbHVzOgoJKGRlZmF1bHRTaXplKTogcmVtb3ZlZCBmaWVsZCwKCSh1cEljb24pOiByZW1vdmVkIGZpZWxkLAoJKGRvd25JY29uKTogcmVtb3ZlZCBmaWVsZCwKCShsZWZ0SWNvbik6IHJlbW92ZWQgZmllbGQsCgkocmlnaHRJY29uKTogcmVtb3ZlZCBmaWVsZCwKCShkYXJrU2hhZG93KTogY2hhbmdlZCBjb2xvciB2YWx1ZSwKCShwYWludCk6IGlnbm9yZSBpbnNldHMgZm9yIHRyaWFuZ2xlIHBvc2l0aW9uaW5nLCBidXQgY2hlY2sgJ2FybWVkJwoJc3RhdGUsCgkocGFpbnRUcmlhbmdsZSk6IGRlbGVnYXRlIHRvIG5ldyBwcml2YXRlIG1ldGhvZHMgZGVwZW5kaW5nIG9uIAoJZGlyZWN0aW9uLAoJKHBhaW50VHJpYW5nbGVOb3J0aCk6IG5ldyBwcml2YXRlIG1ldGhvZCwKCShwYWludFRyaWFuZ2xlU291dGgpOiBuZXcgcHJpdmF0ZSBtZXRob2QsCgkocGFpbnRUcmlhbmdsZUVhc3QpOiBuZXcgcHJpdmF0ZSBtZXRob2QsCgkocGFpbnRUcmlhbmdsZVdlc3QpOiBuZXcgcHJpdmF0ZSBtZXRob2QuCgoyMDA1LTEwLTIwICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvaWV0Zi9qZ3NzL0dTU0NyZWRlbnRpYWwuamF2YSAoaGFzaENvZGUpLAoJKiBvcmcvaWV0Zi9qZ3NzL0dTU05hbWUuamF2YSAoaGFzaENvZGUpOiBOZXcgZGVjbGFyYXRpb25zLgoKMjAwNS0xMC0xOSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoYWRkVVJMcyk6IERvbid0IGNhbGwgYWRkVVJMKCksIGJ1dAoJY2FsbCB1cmxzLmFkZCgpIGFuZCBhZGRVUkxJbXBsKCkgZGlyZWN0bHkgb24gZWFjaCBVUkwuCgoyMDA1LTEwLTE5ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhOiBBZGQgbWlzc2luZyBpbXBvcnQuCgoyMDA1LTEwLTE5ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhIChnZXRQYXJzZXIpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMC0xOSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9Db250ZW50TW9kZWwuamF2YTogRml4ZWQgY29tbWVudHMgZm9yCglwYXJhbWV0ZXJsZXNzIGNvbnN0cnVjdG9yLgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKGdldERlYnVnR3JhcGhpY3NPcHRpb25zKTogUmVtb3ZlZCBkZWJ1ZyBvdXRwdXQuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShpc1Nob3dpbmcpOiBGaXhlZCBjb25kaXRpb24uCgkoc2hvdyk6IE9ubHkgcmVwYWludCBpZiBjb21wb25lbnQgaXMgc2hvd2luZy4KCShoaWRlKTogT25seSByZXBhaW50IGlmIGNvbXBvbmVudCB3YXMgc2hvd2luZy4KCjIwMDUtMTAtMTkgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvbG9naW4vTG9naW5Db250ZXh0LmphdmEgKGxvb2t1cE1vZHVsZSk6CglMb2FkIExvZ2luTW9kdWxlIHRocm91Z2ggVGhyZWFkIGNvbnRleHQgY2xhc3MgbG9hZGVyLgoKMjAwNS0xMC0xOSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9uZXQvU29ja2V0LmphdmEgKGdldEltcGwpOiBDaGFpbiBleGNlcHRpb24gYmVmb3JlIHRocm93aW5nLgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0U3Bpbm5lck1vZGVsLmphdmEKCSogamF2YXgvc3dpbmcvQWN0aW9uTWFwLmphdmEKCSogamF2YXgvc3dpbmcvQm91bmRlZFJhbmdlTW9kZWwuamF2YQoJKiBqYXZheC9zd2luZy9Cb3guamF2YQoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YQoJKiBqYXZheC9zd2luZy9CdXR0b25Hcm91cC5qYXZhCgkqIGphdmF4L3N3aW5nL0NlbGxFZGl0b3IuamF2YQoJKiBqYXZheC9zd2luZy9DZWxsUmVuZGVyZXJQYW5lLmphdmEKCSogamF2YXgvc3dpbmcvQ29tYm9Cb3hFZGl0b3IuamF2YQoJKiBqYXZheC9zd2luZy9EZWZhdWx0QnV0dG9uTW9kZWwuamF2YQoJKiBqYXZheC9zd2luZy9EZWZhdWx0Q2VsbEVkaXRvci5qYXZhCgkqIGphdmF4L3N3aW5nL0RlZmF1bHREZXNrdG9wTWFuYWdlci5qYXZhCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0Q2VsbFJlbmRlcmVyLmphdmEKCSogamF2YXgvc3dpbmcvRGVza3RvcE1hbmFnZXIuamF2YQoJKiBqYXZheC9zd2luZy9JbWFnZUljb24uamF2YQoJKiBqYXZheC9zd2luZy9JbnB1dFZlcmlmaWVyLmphdmEKCSogamF2YXgvc3dpbmcvSkNoZWNrQm94TWVudUl0ZW0uamF2YQoJKiBqYXZheC9zd2luZy9KQ29sb3JDaG9vc2VyLmphdmEKCSogamF2YXgvc3dpbmcvSkRlc2t0b3BQYW5lLmphdmEKCSogamF2YXgvc3dpbmcvSkZpbGVDaG9vc2VyLmphdmEKCSogamF2YXgvc3dpbmcvSkxheWVyZWRQYW5lLmphdmEKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YQoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhCgkqIGphdmF4L3N3aW5nL0pNZW51QmFyLmphdmEKCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmEKCSogamF2YXgvc3dpbmcvSk9wdGlvblBhbmUuamF2YQoJKiBqYXZheC9zd2luZy9KUGFzc3dvcmRGaWVsZC5qYXZhCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YQoJKiBqYXZheC9zd2luZy9KUHJvZ3Jlc3NCYXIuamF2YQoJKiBqYXZheC9zd2luZy9KUmFkaW9CdXR0b25NZW51SXRlbS5qYXZhCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhCgkqIGphdmF4L3N3aW5nL0pTZXBhcmF0b3IuamF2YQoJKiBqYXZheC9zd2luZy9KU2xpZGVyLmphdmEKCSogamF2YXgvc3dpbmcvSlNwaW5uZXIuamF2YQoJKiBqYXZheC9zd2luZy9KU3BsaXRQYW5lLmphdmEKCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YQoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKiBqYXZheC9zd2luZy9KVGV4dFBhbmUuamF2YQoJKiBqYXZheC9zd2luZy9KVG9vbEJhci5qYXZhCgkqIGphdmF4L3N3aW5nL0pUb29sVGlwLmphdmEKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKiBqYXZheC9zd2luZy9LZXlTdHJva2UuamF2YQoJKiBqYXZheC9zd2luZy9Mb29rQW5kRmVlbC5qYXZhCgkqIGphdmF4L3N3aW5nL011dGFibGVDb21ib0JveE1vZGVsLmphdmEKCSogamF2YXgvc3dpbmcvUG9wdXAuamF2YQoJKiBqYXZheC9zd2luZy9Qb3B1cEZhY3RvcnkuamF2YQoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhCgkqIGphdmF4L3N3aW5nL1NvcnRpbmdGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhCgkqIGphdmF4L3N3aW5nL1NwcmluZy5qYXZhCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEKCSogamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YQoJKiBqYXZheC9zd2luZy9UcmFuc2ZlckhhbmRsZXIuamF2YQoJKiBqYXZheC9zd2luZy9WaWV3cG9ydExheW91dC5qYXZhCglSZWZvcm1hdHRlZCBzbGlnaHRseS4gRmlsbGVkIGVtdHB5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLiBGaXhlZCBzb21lCglzbGlnaHQgQVBJIGRvYyBlcnJvcnMuIFJlbW92ZWQgc29tZSB1bm5lZWRlZCBpbXBvcnRzLiBSZW1vdmVkCgl1bm5lZWRlZCBzZXJpYWxpemF0aW9uIG1ldGhvZHMuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvT3ZlcmxheUxheW91dC5qYXZhCgkoY2hlY2tMYXlvdXQpOiBSZXNwZWN0IHRoZSBjb250YWluZXIncyBpbnNldHMgY29ycmVjdGx5LgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhCgkoc2V0VGV4dCk6IENhbGwgcmV2YWxpZGF0ZSgpIGFuZCByZXBhaW50KCkuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkVkaXRvclBhbmUuamF2YQoJQWRkZWQgY29tbWVudHMgdG8gZW1wdHkgYmxvY2tzLgoJKHJlYWQpOiBJbXBsZW1lbnRlZCB0aGlzIHByZXZpb3VzbHkgc3R1YmJlZCBtZXRob2QuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbWJvQm94LmphdmEKCUFkZGVkIGNvbW1lbnRzIHRvIGVtcHR5IGJsb2Nrcy4KCSh3cml0ZU9iamVjdCk6IFJlbW92ZWQgdW5uZWNlc3Nhcnkgc2VyaWFsaXphdGlvbiBtZXRob2QuCgkocHJvY2Vzc0tleUV2ZW50KTogSW1wbGVtZW50ZWQgdGhpcyBwcmV2aW91c2x5IHN0dWJiZWQgbWV0aG9kLgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pCdXR0b24uamF2YQoJKHJlbW92ZU5vdGlmeSk6IEltcGxlbWVudGVkIHRoaXMgcHJldmlvdXNseSBzdHViYmVkIG1ldGhvZC4KCjIwMDUtMTAtMTkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy91bmRvL0Nhbm5vdFJlZG9FeGNlcHRpb24uamF2YQoJKiBqYXZheC9zd2luZy91bmRvL0Nhbm5vdFVuZG9FeGNlcHRpb24uamF2YQoJUHV0IHN1cGVyKCkgY2FsbCBpbiBlbXB0eSBjb25zdHJ1Y3RvcnMuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0TXV0YWJsZVRyZWVOb2RlLmphdmEKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxFZGl0b3IuamF2YQoJKiBqYXZheC9zd2luZy90cmVlL1RyZWVDZWxsUmVuZGVyZXIuamF2YQoJKiBqYXZheC9zd2luZy90cmVlL1RyZWVNb2RlbC5qYXZhCglSZWZvcm1hdHRlZCBzbGlnaHRseS4gRmlsbGVkIGVtdHB5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLiBGaXhlZCBzb21lCglzbGlnaHQgQVBJIGRvYyBlcnJvcnMuIFJlbW92ZWQgc29tZSB1bm5lZWRlZCBpbXBvcnRzLgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkqIGphdmF4L3N3aW5nL3RleHQvQXR0cmlidXRlU2V0LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9Db21wb25lbnRWaWV3LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Q2FyZXQuamF2YQoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YQoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRIaWdobGlnaHRlci5qYXZhCgkqIGphdmF4L3N3aW5nL3RleHQvRWRpdG9yS2l0LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9GaWVsZFZpZXcuamF2YQoJKiBqYXZheC9zd2luZy90ZXh0L0Zsb3dWaWV3LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9HbHlwaFZpZXcuamF2YQoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9MYXlvdXRRdWV1ZS5qYXZhCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9TZWdtZW50LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9TdHlsZWREb2N1bWVudC5qYXZhCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRWRpdG9yS2l0LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxGcmFtZUh5cGVybGlua0V2ZW50LmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9Eb2N1bWVudFBhcnNlci5qYXZhCglSZWZvcm1hdHRlZCBzbGlnaHRseS4gRmlsbGVkIGVtdHB5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLiBGaXhlZCBzb21lCglzbGlnaHQgQVBJIGRvYyBlcnJvcnMuIFJlbW92ZWQgc29tZSB1bm5lZWRlZCBpbXBvcnRzLgoKMjAwNS0xMC0xOSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNBcnJvd0J1dHRvbi5qYXZhCgkoYnV0dG9uQm9yZGVyKTogcmVtb3ZlZCwKCShCYXNpY0Fycm93QnV0dG9uKTogZG9uJ3Qgc2V0IGJvcmRlciwgdXNlIGRlZmF1bHQgYm9yZGVyLAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhCgkoY29uZmlndXJlQXJyb3dCdXR0b24pOiBkb24ndCBzZXQgbWFyZ2luIGhlcmUsCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IGFkZGVkIGNvbW1lbnQsCgkoZ2V0TWluaW11bVNpemUpOiBpY29uIHdpZHRoIGlzIHRoZSBzYW1lIGFzIHRoZSBkaXNwbGF5IGFyZWEgaGVpZ2h0LAoJKGdldERlZmF1bHRTaXplKTogcmV0dXJuIHNpemUgb2Ygc3BhY2UgY2hhciBwbHVzIDEgcGl4ZWwgbWFyZ2luLAoJKGdldERpc3BsYXlTaXplKTogdGFrZSBpbnRvIGFjY291bnQgdGhlIHByb3RvdHlwZSBkaXNwbGF5IHZhbHVlLCBpZiAKCXRoZXJlIGlzIG9uZSwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiB1cGRhdGVkICdCdXR0b24ubWFyZ2luJyBkZWZhdWx0LAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hCdXR0b24uamF2YQoJKE1ldGFsQ29tYm9Cb3hCdXR0b24oSkNvbWJvQm94LCBJY29uLCBib29sZWFuLCBDZWxsUmVuZGVyZXJQYW5lLCAKCUpMaXN0KSk6IGNoZWNrIGZvciBudWxsIEpDb21ib0JveCwgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hVSS5qYXZhCgkoY3JlYXRlQXJyb3dCdXR0b24pOiBzZXQgbWFyZ2luLAoJKGdldE1pbmltdW1TaXplKTogcmVpbXBsZW1lbnRlZCwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBjaGFuZ2VkICdCdXR0b24ubWFyZ2luJyBkZWZhdWx0IHRvIGZyb20gSW5zZXRzCgl0byBJbnNldHNVSVJlc291cmNlLgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MLmphdmEKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxEb2N1bWVudC5qYXZhCglGaWxsZWQgZW10cHkgYmxvY2tzIHdpdGggY29tbWVudHMuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9Db250ZW50TW9kZWwuamF2YQoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0RURC5qYXZhCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvRG9jdW1lbnRQYXJzZXIuamF2YQoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0VsZW1lbnQuamF2YQoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1BhcnNlci5qYXZhCglGaWxsZWQgZW10cHkgYmxvY2tzIHdpdGggY29tbWVudHMuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGFibGUvVGFibGVDb2x1bW5Nb2RlbC5qYXZhOgoJRml4ZWQgc29tZSBtaW5vciBBUEkgZG9jIGVycm9ycy4KCjIwMDUtMTAtMTkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL0FjdGlvbk1hcFVJUmVzb3VyY2UuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0JvcmRlclVJUmVzb3VyY2UuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0J1dHRvblVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9Db2xvckNob29zZXJVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvQ29sb3JVSVJlc291cmNlLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9Db21ib0JveFVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9Db21wb25lbnRJbnB1dE1hcFVJUmVzb3VyY2UuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0Rlc2t0b3BJY29uVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0Rlc2t0b3BQYW5lVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0RpbWVuc2lvblVJUmVzb3VyY2UuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0ZpbGVDaG9vc2VyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0ZvbnRVSVJlc291cmNlLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9JY29uVUlSZXNvdXJjZS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvSW5wdXRNYXBVSVJlc291cmNlLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9JbnNldHNVSVJlc291cmNlLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9JbnRlcm5hbEZyYW1lVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0xhYmVsVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL0xpc3RVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvTWVudUJhclVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9NZW51SXRlbVVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9QYW5lbFVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9Qb3B1cE1lbnVVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvUHJvZ3Jlc3NCYXJVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvUm9vdFBhbmVVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvU2Nyb2xsQmFyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL1Njcm9sbFBhbmVVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvU2VwYXJhdG9yVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL1NsaWRlclVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9TcGlubmVyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL1NwbGl0UGFuZVVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9UYWJiZWRQYW5lVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL1RhYmxlSGVhZGVyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL1RhYmxlVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL1RleHRVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvVG9vbEJhclVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9Ub29sVGlwVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL1RyZWVVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvVUlSZXNvdXJjZS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvVmlld3BvcnRVSS5qYXZhCglSZWZvcm1hdHRlZCBzbGlnaHRseS4gRmlsbGVkIGVtdHB5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvQ29tcG9uZW50VUkuamF2YQoJRmlsbGVkIGVtcHR5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLgoJKHVwZGF0ZSk6IFJldmVydGVkIG15IHBhdGNoIGZyb20gMjAwNS0xMC0xMi4gVGhpcyBpcyB3cm9uZy4gSWYgdGhlcmUKCWFyZSBzdGlsbCBjbGlwcGluZyBwcm9ibGVtcywgdGhlbiBjZXJ0YWlubHkgaW4gYW5vdGhlciBhcmVhLgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlMb29rQW5kRmVlbC5qYXZhCglGaWxsZWQgZW1wdHkgYmxvY2sgd2l0aCBjb21tZW50LgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCb3JkZXJzLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJ1dHRvbkxpc3RlbmVyLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENvbWJvQm94RWRpdG9yLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENvbWJvQm94VUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsRmlsZUNob29zZXJVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJY29uRmFjdG9yeS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJbnRlcm5hbEZyYW1lVGl0bGVQYW5lLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFByb2dyZXNzQmFyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsQmFyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2xpZGVyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU3BsaXRQYW5lVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVGFiYmVkUGFuZVVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRleHRGaWVsZFVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRvb2xCYXJVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUcmVlVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVXRpbHMuamF2YToKCVJlZm9ybWF0dGVkIHNsaWdodGx5LiBGaWxsZWQgZW10cHkgYmxvY2tzIHdpdGggY29tbWVudHMuIEZpeGVkIHNvbWUKCXNsaWdodCBBUEkgZG9jIGVycm9ycy4gUmVtb3ZlZCBzb21lIHVubmVlZGVkIGltcG9ydHMuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoZ2V0RGVidWdHcmFwaGljc09wdGlvbnMpOiBGaXhlZCB0byBsb2FkIHN5c3RlbSBwcm9wZXJ0eSBpZiBwcmVzZW50LgoKMjAwNS0xMC0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlYnVnR3JhcGhpY3MuamF2YQoJKGNvdW50ZXIpOiBOZXcgZmllbGQuCgkoY29sb3IpOiBSZW1vdmVkIHVubmVlZGVkIGZpZWxkLgoJKERlYnVnR3JhcGhpY3MoKSk6IENvdW50IHVwLgoJKERlYnVnR3JhcGhpY3MoR3JhcGhpY3MsSkNvbXBvbmVudCkpOiBDYWxsIHRoaXMoR3JhcGhpY3MpLgoJKERlYnVnR3JhcGhpY3MoR3JhcGhpY3MpKTogQ2FsbCB0aGlzKCkuCgkoc2V0Q29sb3IpOiBJbXBsZW1lbnRlZCBsb2dnaW5nIGZhY2lsaXR5LgoJKGNyZWF0ZSk6IENvcHkgZGVidWdPcHRpb25zIG92ZXIgdG8gbmV3IERlYnVnR3JhcGhpY3MgaW5zdGFuY2UuCgkoY3JlYXRlKGludCxpbnQsaW50LGludCkpOiBMaWtld2lzZS4KCShzZXRGb250KTogSW1wbGVtZW50ZWQgbG9nZ2luZyBmYWNpbGl0eS4KCShnZXRDb2xvcik6IFJldHVybiBncmFwaGljcy5nZXRDb2xvcigpLgoJKHRyYW5zbGF0ZSk6IEltcGxlbWVudGVkIGxvZ2dpbmcgZmFjaWxpdHkuCgkoc2V0UGFpbnRNb2RlKTogTGlrZXdpc2UuCgkoc2V0WE9STW9kZSk6IExpa2V3aXNlLgoJKGNsaXBSZWN0KTogTGlrZXdpc2UuCgkoc2V0Q2xpcChpbnQsaW50LGludCxpbnQpKTogTGlrZXdpc2UuCgkoc2V0Q2xpcChTaGFwZSkpOiBMaWtld2lzZS4KCShkcmF3UmVjdCk6IExpa2V3aXNlLiBPbmx5IGZsYXNoIHdoZW4gRkxBU0hfT1BUSU9OIGlzIHNldC4KCShmaWxsUmVjdCk6IExpa2V3aXNlLgoJKGNsZWFyUmVjdCk6IEltcGxlbWVudGVkIGxvZ2dpbmcgZmFjaWxpdHkuCgkoZHJhd1JvdW5kUmVjdCk6IExpa2V3aXNlLgoJKGZpbGxSb3VuZFJlY3QpOiBMaWtld2lzZS4KCShkcmF3TGluZSk6IExpa2V3aXNlLgoJKGRyYXczRFJlY3QpOiBMaWtld2lzZS4KCShmaWxsM0RSZWN0KTogTGlrZXdpc2UuCgkoZHJhd092YWwpOiBMaWtld2lzZS4KCShmaWxsT3ZhbCk6IExpa2V3aXNlLgoJKGRyYXdBcmMpOiBMaWtld2lzZS4KCShmaWxsQXJjKTogTGlrZXdpc2UuCgkoZHJhd1BvbHlsaW5lKTogTGlrZXdpc2UuCgkoZHJhd1BvbHlnb24pOiBMaWtld2lzZS4KCShmaWxsUG9seWdvbik6IExpa2V3aXNlLgoJKGRyYXdTdHJpbmcoU3RyaW5nLGludCxpbnQpKTogTGlrZXdpc2UuCgkoZHJhd1N0cmluZyhBdHRyaWJ1dGVkQ2hhcmFjdGVySXRlcmF0b3IsaW50LGludCkpOiBMaWtld2lzZS4KCShkcmF3Qnl0ZWQpOiBMaWtld2lzZS4KCShkcmF3Q2hhcnMpOiBMaWtld2lzZS4gT25seSBmbGFzaCBpZiBGTEFTSF9PUFRJT04gaXMgc2V0LgoJKGRyYXdJbWFnZSk6IEltcGxlbWVudGVkIGxvZ2dpbmcgZmFjaWxpdHkuIChBbHNvIGFwcGxpZXMgdG8gYWxsCglvdmVybG9hZGVkIHZlcnNpb25zIG9mIHRoaXMgbWV0aG9kKS4KCShjb3B5QXJlYSk6IExpa2V3aXNlLgoJKHNldERlYnVnT3B0aW9ucyk6IExpa2V3aXNlLgoJKHByZWZpeCk6IE5ldyBoZWxwZXIgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShnZXRDb21wb25lbnRHcmFwaGljcyk6IEltcGxlbWVudGVkIHRvIHJldHVybiBEZWJ1Z0dyYXBoaWNzIHdoZW4KCW5lZWRlZC4KCShnZXREZWJ1Z0dyYXBoaWNzT3B0aW9ucyk6IEltcGxlbWVudGVkIHRvIHJldHVybiB0aGUgY29ycmVjdCBvcHRpb25zLgoJQWxzbywgdGhpcyBsb2FkcyBhIHN5c3RlbSBwcm9wZXJ0eSBnbnUuamF2YXguc3dpbmcuRGVidWdHcmFwaGljcwoJaWYgcHJlc2VudCBhbmQgZXZhbHVhdGVzIGl0LgoKMjAwNS0xMC0xOSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YQoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogUmV0dXJuZWQgYW4gaW5zdGFuY2Ugb2YgCglBY2Nlc3NpYmxlSkxpc3QuIFNob3VsZCBuZXZlciByZXR1cm4gbnVsbC4KCjIwMDUtMTAtMTkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YToKCUFkZGVkIE1vdXNlTGlzdGVuZXIgYW5kIHJlbW92ZWQgTW91c2VJbnB1dExpc3RlbmVyLgoJKEJhc2ljVHJlZVVJKTogSW5pdGlhbGl6ZWQgbW91c2VMaXN0ZW5lciBhbmQgcmVtb3ZlZAoJbW91c2VJbnB1dExpc3RlbmVyLgoJKHJlbW92ZUxpc3RlbmVycyk6IFJlbW92ZWQgbW91c2VMaXN0ZW5lciBhbmQgcmVtb3ZlZAoJbW91c2VJbnB1dExpc3RlbmVyIGNvZGUuCgkoaW5zdGFsbExpc3RlbmVycyk6IExpa2V3aXNlLgoJKE1vdXNlSW5wdXRIYW5kbGVyLm1vdXNlUHJlc3NlZCk6IE1vdmVkIGNvZGUgdG8gTW91c2VIYW5kbGVyLgoJKE1vdXNlSGFuZGxlci5tb3VzZVByZXNzZWQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRyZWVVSS5qYXZhOgoJQWRkZWQgTW91c2VMaXN0ZW5lciBhbmQgcmVtb3ZlZCBNb3VzZUlucHV0TGlzdGVuZXIuCgkoaW5zdGFsbFVJKTogSW5pdGlhbGl6ZWQgbW91c2VMaXN0ZW5lciBhbmQgcmVtb3ZlZAoJbW91c2VJbnB1dExpc3RlbmVyLgkKCSh1bmluc3RhbGxVSSk6IFJlbW92ZWQgbW91c2VMaXN0ZW5lciBhbmQgcmVtb3ZlZAoJbW91c2VJbnB1dExpc3RlbmVyIGNvZGUuCgoyMDA1LTEwLTE5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0JvcmRlcnMuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uTGlzdGVuZXIuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hNZW51SXRlbVVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94RWRpdG9yLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94UmVuZGVyZXIuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRGVza3RvcEljb25VSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNEZXNrdG9wUGFuZVVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ZpbGVDaG9vc2VyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRm9ybWF0dGVkVGV4dEZpZWxkVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljR3JhcGhpY3NVdGlscy5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVGl0bGVQYW5lLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMYWJlbFVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51QmFyVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51VUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljT3B0aW9uUGFuZVVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Bhc3N3b3JkRmllbGRVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvbk1lbnVJdGVtVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUm9vdFBhbmVVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxQYW5lVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lRGl2aWRlci5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVIZWFkZXJVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRBcmVhVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xCYXJVSS5qYXZhCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sVGlwVUkuamF2YQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1ZpZXdwb3J0VUkuamF2YToKCVJlZm9ybWF0dGVkIHNsaWdodGx5LiBGaWxsZWQgZW10cHkgYmxvY2tzIHdpdGggY29tbWVudHMuIEZpeGVkIHNvbWUKCXNsaWdodCBBUEkgZG9jIGVycm9ycy4KCjIwMDUtMTAtMTggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9maWxlY2hvb3Nlci9GaWxlRmlsdGVyLmphdmE6CgkqIGphdmF4L3N3aW5nL2ZpbGVjaG9vc2VyL0ZpbGVWaWV3LmphdmE6CglGaWxsZWQgZW1wdHkgYmxvY2tzIHdpdGggY29tbWVudHMuCgoyMDA1LTEwLTE4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvZXZlbnQvRXZlbnRMaXN0ZW5lckxpc3QuamF2YToKCSogamF2YXgvc3dpbmcvZXZlbnQvSW50ZXJuYWxGcmFtZUFkYXB0ZXIuamF2YToKCSogamF2YXgvc3dpbmcvZXZlbnQvTW91c2VJbnB1dExpc3RlbmVyLmphdmE6CglSZWZvcm1hdHRlZCBzbGlnaHRseS4gRmlsbGVkIGVtdHB5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLiBGaXhlZCBzb21lCglzbGlnaHQgQVBJIGRvYyBlcnJvcnMKCjIwMDUtMTAtMTggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvQWJzdHJhY3RDb2xvckNob29zZXJQYW5lbC5qYXZhOgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvQ29sb3JDaG9vc2VyQ29tcG9uZW50RmFjdG9yeS5qYXZhOgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdFN3YXRjaENob29zZXJQYW5lbC5qYXZhOgoJRmlsbGVkIGVtcHR5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLgoKMjAwNS0xMC0xOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL2JvcmRlci9BYnN0cmFjdEJvcmRlci5qYXZhOgoJKiBqYXZheC9zd2luZy9ib3JkZXIvQmV2ZWxCb3JkZXIuamF2YToKCSogamF2YXgvc3dpbmcvYm9yZGVyL0JvcmRlci5qYXZhOgoJKiBqYXZheC9zd2luZy9ib3JkZXIvQ29tcG91bmRCb3JkZXIuamF2YToKCSogamF2YXgvc3dpbmcvYm9yZGVyL0VtcHR5Qm9yZGVyLmphdmE6CgkqIGphdmF4L3N3aW5nL2JvcmRlci9FdGNoZWRCb3JkZXIuamF2YToKCSogamF2YXgvc3dpbmcvYm9yZGVyL0xpbmVCb3JkZXIuamF2YToKCSogamF2YXgvc3dpbmcvYm9yZGVyL01hdHRlQm9yZGVyLmphdmE6CgkqIGphdmF4L3N3aW5nL2JvcmRlci9Tb2Z0QmV2ZWxCb3JkZXIuamF2YToKCSogamF2YXgvc3dpbmcvYm9yZGVyL1RpdGxlZEJvcmRlci5qYXZhOgoJUmVmb3JtYXR0ZWQgc2xpZ2h0bHkuIEZpbGxlZCBlbXRweSBibG9ja3Mgd2l0aCBjb21tZW50cy4gRml4ZWQgc29tZQoJc2xpZ2h0IEFQSSBkb2MgZXJyb3JzCgoyMDA1LTEwLTE4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9HcmlkQmFnTGF5b3V0LmphdmEKCShHZXRMYXlvdXRJbmZvKTogQWRkZWQgYSBudWxsIGNoZWNrIGZvciBsYXN0Q29tcG9uZW50LiBQcmV2ZW50cwoJTlBFLgoKMjAwNS0xMC0xOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShKVGFibGUpOiBNb3ZlZCBjb2RlIGFyb3VuZCBzbyBhbGwgbW9kZWxzIGFyZSBzZXQgYmVmb3JlCglhbnkgb3RoZXIgZnVuY3Rpb24gaXMgY2FsbGVkLiBQcmV2ZW50cyBhbGwgTlBFcyB3aXRoCgltb2RlbHMuCgoyMDA1LTEwLTE4ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJKHNldExlYWRTZWxlY3Rpb25JbmRleCk6IEF2b2lkIGluZGV4IG91dCBvZiBib3VuZHMgZXJyb3Igb24gaW5pdGlhbAoJY2FsbCBvZiB0aGlzIG1ldGhvZCBieSBjaGVja2luZyBleHBsaWNpdGx5IGZvciBvbGRMZWFkSW5kZXggYmVpbmcgLTEuCglBbHNvIHJlbW92ZSB1bnVzZWQgQml0U2V0IG5ld1JhbmdlIGFuZCBvbGRSYW5nZS4KCShtb3ZlTGVhZFNlbGVjdGlvbkluZGV4KTogTmV3IEFQSSBtZXRob2QgaW1wbGVtZW50ZWQgKEBzaW5jZSAxLjUpLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmE6CgkoTGlzdEFjdGlvbi5hY3Rpb25QZXJmb3JtZWQpOiBNYWtlIGNvZGUgbW9yZSByZWFkYWJsZSBieSBkZWNsYXJpbmcKCWxvY2FsIHZhcmlhYmxlcyBmb3IgdGhlIGFjdGlvbkNvbW1hbmQgYW5kIGZvciB0aGUgbGlzdCdzCglzZWxlY3Rpb25Nb2RlbC4gIEltcGxlbWVudGVkIHRoZSBmb2xsb3dpbmcgYmluZGluZ3M6IAoJc2VsZWN0TGFzdFJvd0NoYW5nZUxlYWQsIHNjcm9sbERvd25DaGFuZ2VMZWFkLCBzY3JvbGxVcENoYW5nZUxlYWQsIAoJc2VsZWN0Rmlyc3RSb3dDaGFuZ2VMZWFkLCBzZWxlY3ROZXh0Um93Q2hhbmdlTGVhZCwgCglzZWxlY3RQcmV2aW91c1Jvd0NoYW5nZUxlYWQsIGFkZFRvU2VsZWN0aW9uLCB0b2dnbGVBbmRBbmNob3IsIAoJZXh0ZW5kVG8uCgkoTW91c2VJbnB1dEhhbmRsZXIubW91c2VQcmVzc2VkKTogTWFkZSBjb2RlIG1vcmUgcmVhZGFibGUgYnkgcmVtb3ZpbmcKCXVubmVjZXNzYXJ5IGZ1bGwgcXVhbGlmaWNhdGlvbiBmcm9tIHZhcmlhYmxlICdsaXN0Jy4gIENoYW5nZSAKCWJlaGF2aW91ciBvZiBzaGlmdC1jbGljayBiYXNlZCBvbiB3aGV0aGVyIG9yIG5vdCB0aGUgYW5jaG9yIGluZGV4IGlzIAoJc2VsZWN0ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOgoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIHJlbWFpbmluZyBiaW5kaW5ncyBmb3IKCVRhYmxlLmFuY2VzdG9yTWFwLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJKFRhYmxlQWN0aW9uLmFjdGlvblBlcmZvcm1lZCk6IE1hZGUgdHlwZSBvZiB2YXJpYWJsZXMgcm93TW9kZWwgYW5kIAoJY29sTW9kZWwgbW9yZSBzcGVjaWZpYyB0byBhdm9pZCBtYW55IGNhc3RzIGxhdGVyIG9uIChtYWtlcyBjb2RlIG1vcmUKCXJlYWRhYmxlKS4gIEFsc28gZGVjbGFyZSBsb2NhbCB2YXJpYWJsZSB0byBzdG9yZSB0aGUgYWN0aW9uIGNvbW1hbmQgdG8gCgltYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuIEltcGxlbWVudGVkIHRoZSBmb2xsb3dpbmcgYmluZGluZ3M6IAoJc2VsZWN0TmV4dFJvd0NoYW5nZUxlYWQsIHNlbGVjdFByZXZpb3VzUm93Q2hhbmdlTGVhZCwgCglzZWxlY3ROZXh0Q29sdW1uQ2hhbmdlTGVhZCwgc2VsZWN0UHJldmlvdXNDb2x1bW5DaGFuZ2VMZWFkLAoJYWRkVG9TZWxlY3Rpb24sIGV4dGVuZFRvLCB0b2dnbGVBbmRBbmNob3IuICBBZGRlZCBjb21tZW50ZWQtb3V0IGRlYnVnIAoJc3RhdGVtZW50IHRvIHByaW50IHVuaW1wbGVtZW50ZWQgYmluZGluZ3Mgd2hlbiB1c2VkLiAgQWRkZWQgY2hlY2sgZm9yIAoJdGhlIFNQQUNFIGNoYXJhY3RlciB0byBtYWtlIHN1cmUgaXQgZG9lc24ndCBzdG9wIGVkaXRpbmcuCgoyMDA1LTEwLTE4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmE6CglSZW1vdmVkIGxlYWZJY29uIGZpZWxkLgoJKEJhc2ljVHJlZVVJKTogUmVtb3ZlZCBsZWFmSWNvbiBpbml0aWFsaXphdGlvbi4KCShpbnN0YWxsRGVmYXVsdHMpOiBJY29uIGRlZmF1bHRzIHdlcmUgd3JvbmcsIGZpeGVkLgoJKGlzTG9jYXRpb25JbkV4cGFuZENvbnRyb2wpOiBGaXhlZCB0byBpbmNvcnBvcmF0ZWQgZ2FwLgoJKG1vdXNlUHJlc3NlZCk6IEZpeGVkIHRvIGluY2x1ZGUgY29ycmVjdCBpY29uIHdpZHRocy4gU29tZXRpbWVzCgl0aGUgbGFiZWxzIGljb24gaXMgZGlmZmVyZW50IGZyb20gd2hhdCB0aGUgdHJlZSdzIGRlZmF1bHQgaWNvbiBpcwoJc2V0IHRvLiBBZGRlZCBhIGNoZWNrIGZvciB0aGlzLgoJKGdldENlbGxCb3VuZHMpOiBObyBuZWVkIHRvIGluY2x1ZGUgZ2FwIGhlcmUuCgkoZ2V0Q3VycmVudENvbnRyb2xJY29uKTogRml4ZWQgdG8gdXNlIGV4cGFuZGVkSWNvbiBhbmQgY29sbGFwc2VkSWNvbi4KCShwYWludFJvdyk6IE5vIG5lZWQgcGFpbnQgYmV5b25kIHByZWZlcnJlZCB3aWR0aCBvZiB0cmVlIGhlcmUuCgkodXBkYXRlQ3VycmVudFZpc2libGVQYXRoKTogSWYgbm90aGluZyBpcyBzZWxlY3RlZCwgdGhlIHJvb3Qgc2hvdWxkCgliZSBzZWxlY3RlZCB3aXRob3V0IGZvY3VzLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVHJlZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBGaXhlZCBkZWZhdWx0cyBmb3IgdGhlIGV4cGFuZGVkL2NvbGxhcHNlZCBpY29ucy4KCjIwMDUtMTAtMTggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tYm9Cb3guamF2YQoJKHNldE1vZGVsKTogdXBkYXRlIHRoZSBzZWxlY3RlZEl0ZW1SZW1pbmRlciBmaWVsZCwKCShzZWxlY3RlZEl0ZW1DaGFuZ2VkKTogb25seSBzZW5kIEl0ZW1FdmVudC5TRUxFQ1RFRCBldmVudCBpZiB0aGUgbmV3CglzZWxlY3Rpb24gaXMgbm9uLW51bGwuCgoyMDA1LTEwLTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJKGluc3RhbGxDb21wb25lbnRzKTogb25seSBzZXQgZGVmYXVsdCBlZGl0b3IgaWYgdGhlIGN1cnJlbnQgZWRpdG9yIGlzCgludWxsIG9yIGltcGxlbWVudHMgVUlSZXNvdXJjZSwKCSh1bmluc3RhbGxDb21wb25lbnRzKTogb25seSBjbGVhciBlZGl0b3IgaWYgaXQgaW1wbGVtZW50cyBVSVJlc291cmNlLgoKMjAwNS0xMC0xOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogU2V0IHRoZSBzZWxlY3RlZCB0ZXh0IGNvbG9yIGZvciB0aGUKCXRleHQgY29tcG9uZW50LgoKMjAwNS0xMC0xOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKHNjcm9sbFBhdGhUb1Zpc2libGUpOiBSZWltcGxlbWVudGVkIHRvIG1ha2UgdGhlIHBhdGggdmlzaWJsZSBpZiBpdHMKCXBhcmVudCBpcyBub3QgZXhwYW5kZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IEluaXRpYWxpemVkIHJvdyBoZWlnaHQgZm9yIHRoZSB0cmVlLgoJKHVwZGF0ZUN1cnJlbnRWaXNpYmxlUGF0aCk6IFVwZGF0ZWQgdGhlIHZpc2libGUgcm93IGNvdW50LgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVHJlZVVJLmphdmEKCShpbnN0YWxsVUkpOiBJbml0aWFsaXplZCByb3cgaGVpZ2h0IGZvciB0aGUgdHJlZS4KCjIwMDUtMTAtMTggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hVSS5qYXZhCgkoZWRpdGFibGVQcm9wZXJ0eUNoYW5nZWQpOiBoYW5kbGUgbnVsbCBzZWxlY3RlZCBpdGVtLgoKMjAwNS0xMC0xOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogUmVtb3ZlZCByZXBhaW50IGNhbGwuCgoyMDA1LTEwLTE4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJRmlsbGVkIGVtcHR5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLgoJKEJ1dHRvbkNoYW5nZUxpc3RlbmVyLnN0YXRlQ2hhbmdlZCk6IE1vdmVkIGltcGxlbWVudGF0aW9uIGZyb20KCWlubmVyIGNsYXNzIGluIGNyZWF0ZUNoYW5nZUxpc3RlbmVyIHRvIHRoaXMgcHJvdGVjdGVkIGNsYXNzLgoJKHNldEVuYWJsZWQpOiBEbyBub3RoaW5nIGlmIGFjdHVhbCBzdGF0ZSBkb2VzIG5vdCBjaGFuZ2UuCgkoY3JlYXRlQ2hhbmdlTGlzdGVuZXIpOiBSZXR1cm4gaW5zdGFuY2Ugb2YgQnV0dG9uQ2hhbmdlTGlzdGVuZXIKCWhlcmUuCgoyMDA1LTEwLTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJKGJ1dHRvbkJhY2tncm91bmQpOiBuZXcgZmllbGQsCgkoc2hhZG93KTogcmVuYW1lZCBidXR0b25TaGFkb3csCgkoZGFya1NoYWRvdyk6IHJlbmFtZWQgYnV0dG9uRGFya1NoYWRvdywKCShoaWdobGlnaHQpOiByZW5hbWVkIGJ1dHRvbkhpZ2hsaWdodCwKCShpbnN0YWxsRGVmYXVsdHMpOiBpbml0aWFsaXNlIGJ1dHRvbkJhY2tncm91bmQsIHBsdXMgdXBkYXRlcyBmb3IgCglyZW5hbWVkIGZpZWxkcywKCSh1bmluc3RhbGxEZWZhdWx0cyk6IGNsZWFyIGJ1dHRvbkJhY2tncm91bmQsIHBsdXMgdXBkYXRlcyBmb3IgcmVuYW1lZAoJZmllbGRzLAoJKGNyZWF0ZUVkaXRvcik6IHJldHVybiBzdWJjbGFzcyB0aGF0IGltcGxlbWVudHMgVUlSZXNvdXJjZSwKCShjcmVhdGVBcnJvd0J1dHRvbik6IHVzZSBjb25zdHJ1Y3RvciB0aGF0IGFjY2VwdHMgY29sb3JzLAoJKGdldE1heGltdW1TaXplKTogZml4IEFQSSBkb2MgZXJyb3IsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogY29ycmVjdCAnQ29tYm9Cb3guYnV0dG9uRGFya1NoYWRvdycgZGVmYXVsdC4KCjIwMDUtMTAtMTggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YQoJKHNldFZpZXcpOiBBZGRlZCByZXBhaW50KCkgY2FsbC4KCShyZXZhbGlkYXRlKTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBhbmQgdW5zcGVjaWZpZWQgbWV0aG9kLgoJKHJlc2hhcGUpOiBGaXJlIHN0YXRlQ2hhbmdlZCBpZiBvbmx5IHRoZSBzaXplIGNoYW5nZXMuIERvIG5vdCBmaXJlCglzdGF0ZUNoYW5nZWQgaWYgb25seSB0aGUgbG9jYXRpb24gY2hhbmdlcy4KCShzY3JvbGxSZWN0VG9WaXNpYmxlKTogUmV3b3JrZWQgbW9zdCBvZiB0aGlzIG1ldGhvZCB0byBjb3JyZWN0bHkKCWRldGVybWluZSB0aGUgc2Nyb2xsIG9mZnNldHMuIEFkZGVkIHZhbGlkYXRpb24gb2YgdmlldyBhcyBzcGVjaWZpZWQuCgoyMDA1LTEwLTE4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvU2Nyb2xsUGFuZUxheW91dC5qYXZhCgkocHJlZmVycmVkTGF5b3V0U2l6ZSk6IFJlbW92ZWQgY2hlY2sgZm9yIEpTY3JvbGxQYW5lIGFyZ3VtZW50LgoJQWRkZWQgY29kZSB0byByZXNwZWN0IHRoZSBpbnNldHMgb2YgdGhlIEpTY3JvbGxQYW5lLgoJKG1pbmltdW1MYXlvdXRTaXplKTogTGlrZXdpc2UuCgkobGF5b3V0Q29udGFpbmVyKTogUmVtb3ZlZCBjaGVjayBmb3IgSlNjcm9sbFBhbmUgYXJndW1lbnQuCgoyMDA1LTEwLTE4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhCgkocGFyc2VDb250ZW50KTogUmVtb3ZlZCBib2d1cyBwcmludGxuIGFuZCBmaXhlZCBidWcgIzI0NDIyLgoKMjAwNS0xMC0xNyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NwbGl0UGFuZVVJLmphdmEKCShzZXREaXZpZGVyTG9jYXRpb24pOiBBZGRlZCBhIGNoZWNrIGZvciB0aGUgc2l6ZQoJb2YgdGhlIHNwbGl0cGFuZSwgaW4gc29tZSBjYXNlcyB0aGUgZGl2aWRlcidzCglpbml0aWFsIGxvY2F0aW9uIHdhcyBiZWluZyBzZXQgdG8gMC4KCjIwMDUtMTAtMTcgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YToKCShzY3JvbGxSZWN0VG9WaXNpYmxlKTogUmV0dXJuIGltbWVkaWF0ZWx5IGlmIHRoZSBWaWV3IGlzIG51bGwuICBDaGVjayAKCWZvciBjb250ZW50UmVjdCBiZWluZyBiaWdnZXIgdGhhbiB0aGUgcG9ydCBib3VuZHMgc2VwYXJhdGVseSBpbiBlYWNoIAoJZGlyZWN0aW9uLCByYXRoZXIgdGhhbiB0b2dldGhlci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJKEtleUhhbmRsZXIpOiBSZW1vdmVkIHRoaXMgcHJpdmF0ZSBjbGFzcyB0aGF0IGxpc3RlbmVkIGRpcmVjdGx5IGZvciAKCWtleSBwcmVzc2VzLiAgVGhpcyBpcyBub3cgaGFuZGxlZCB0aHJvdWdoIElucHV0TWFwLUFjdGlvbk1hcCBwYWlycy4KCShBY3Rpb25MaXN0ZW5lclByb3h5KTogTmV3IGNsYXNzIHRvIHdyYXAgdGhlIEFjdGlvbnMgZm9yIHRoaXMgbGlzdHMKCUFjdGlvbk1hcC4KCShMaXN0QWN0aW9uKTogTmV3IGNsYXNzLCB0aGUgYWN0aW9ucyBmb3Iga2V5cHJlc3NlcyBvbiB0aGlzIGxpc3QuCgkoY29udmVydE1vZGlmaWVycyk6IE5ldyBwcml2YXRlIG1ldGhvZCBjb252ZXJ0cyBrZXkgcHJlc3MgbW9kaWZpZXJzIHRvIAoJdGhlIG9sZCBzdHlsZSAoQ1RSTF9NQVNLIGluc3RlYWQgb2YgQ1RSTF9ET1dOX01BU0ssIGV0Yy4pLgoJKGluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBHZXQgdGhlIElucHV0TWFwIGZyb20gdGhlIFVJTWFuYWdlciBhbmQgCglyZWdpc3RlciBuZXcgSW5wdXRNYXAtQWN0aW9uTWFwIHBhaXJzLCB0aGVuIHNldCB0aGVzZSBhcyB0aGUgcGFyZW50cwoJb2YgdGhlIGxpc3QncyBJbnB1dE1hcCBhbmQgQWN0aW9uTWFwLgoJKHNlbGVjdE5leHRJbmRleCk6IEF2b2lkIE5QRSBieSBjaGVja2luZyBpZiB3ZSdyZSBhbHJlYWR5IGF0IHRoZSBsYXN0CglpbmRleC4KCShzZWxlY3RQcmV2aW91c0luZGV4KTogQ2hlY2sgaWYgd2UncmUgYWxyZWFkeSBhdCB0aGUgZmlyc3QgaW5kZXguCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOgoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIGJpbmRpbmdzIGZvciBMaXN0LmZvY3VzSW5wdXRNYXAuCgoyMDA1LTEwLTE3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShpbnN0YWxsVUkpOiBNb3ZlZCBjYWxsIHRvIGluc3RhbGxLZXlib2FyZEFjdGlvbnMgYW5kIExpc3RlbmVycwoJdG8gYmVmb3JlIGV4cGFuc2lvbiBvZiByb290LgoJKHBhaW50KTogQWRkZWQgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBjYWNoZWQgdmlzaWJsZSBwYXRoIGlzIHVwZGF0ZWQuCgkodHJlZUV4cGFuZGVkKTogQWRkZWQgY2FsbCB0byB1cGRhdGUgdmlzaWJsZSBwYXRoLgoJKHRyZWVDb2xsYXBzZWQpOiBMaWtld2lzZS4KCSh0cmVlTm9kZXNDaGFuZ2VkKTogTGlrZXdpc2UuCgkodHJlZU5vZGVzSW5zZXJ0ZWQpOiBMaWtld2lzZS4KCSh0cmVlTm9kZXNSZW1vdmVkKTogTGlrZXdpc2UuCgkodHJlZVN0cnVjdHVyZUNoYW5nZWQpOiBMaWtld2lzZS4KCShwYWludFJlY3Vyc2l2ZSk6IE1vdmVkIGNvZGUgdG8gcGFpbnRSb3cuCgkocGFpbnRDb250cm9sSWNvbnMpOiBGaXhlZCB0byBwYWludCBjdXN0b20gY29udHJvbCBpY29ucyBwcm9wZXJseS4KCShwYWludEV4cGFuZENvbnRyb2wpOiBSZW1vdmVkIHVubmVlZGVkIHBhcmFtZXRlci4KCShwYWludFJvdyk6IEFkZGVkIGNvZGUgdG8gcGFpbnQgdGhlIHJvdyB3aXRoIHRoZSBjb3JyZWN0IHdpZHRoLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVHJlZVVJLmphdmEKCShpbnN0YWxsVUkpOiBNb3ZlZCBjb2RlIHRvIGV4cGFuZCB0aGUgcm9vdCBhZnRlciBhbGwgdGhlIGxpc3RlbmVycwoJaGF2ZSBiZWVuIGluaXRpYWxpemVkLgoKMjAwNS0xMC0xNyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEKCShJdGVtSGFuZGxlci5pdGVtU3RhdGVDaGFuZ2VkKTogaWYgY29tYm8gYm94IGlzIGVkaXRhYmxlLCB1cGRhdGUgZWRpdCAKCXRleHQgZmllbGQgd2l0aCBuZXcgc2VsZWN0aW9uLgoJCjIwMDUtMTAtMTcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9ldmVudC9MaXN0RGF0YUxpc3RlbmVyOiAKCXJlZm9ybWF0dGVkIGFuZCBhZGRlZCBBUEkgZG9jcy4KCjIwMDUtMTAtMTcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEKCShzZXRWaXNpYmxlKTogU2V0IHNpemUgYWNjb3JkaW5nIHRvIHRoZSBzaXplIHByb3BlcnR5IGluc3RlYWQgb2YKCXRoZSBwcmVmZXJyZWRTaXplIHByb3BlcnR5LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Qb3B1cC5qYXZhCgkoTGlzdE1vdXNlSGFuZGxlci5tb3VzZVJlbGVhc2VkKTogU2V0IGNvbWJvQm94IHNlbGVjdGVkIGluZGV4IGJlZm9yZQoJY2xvc2luZyB0aGUgcG9wdXAuCgoyMDA1LTEwLTE3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmEKCShnZXRUYWJsZUNlbGxSZW5kZXJlckNvbXBvbmVudCk6IFNldHVwIGNvbG9ycyAobW9yZSkgY29ycmVjdGx5LgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdFNlbGVjdGlvbk1vZGVsLmphdmEKCShpc1NlbGVjdGVkSW5kZXgpOiBDaGVjayBmb3IgYW4gaWxsZWdhbCBpbmRleCBhcmd1bWVudC4KCjIwMDUtMTAtMTcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCUZpbGxlZCBlbXB0eSBibG9ja3Mgd2l0aCBjb21tZW50cy4KCShzZXRWaXNpYmxlKTogTm90aWZ5IEFuY2VzdG9yTGlzdGVuZXJzIHdoZW4gdmlzaWJpbGl0eSBzdGF0ZSBpcwoJY2hhbmdlZC4KCShyZW1vdmVOb3RpZml5KTogTm90aWZ5IEFuY2VzdG9yTGlzdGVuZXJzIHZpYSBmaXJlQW5jZXN0b3JFdmVudAoJbWV0aG9kLgoJKGFkZE5vdGlmaXkpOiBOb3RpZnkgQW5jZXN0b3JMaXN0ZW5lcnMgdmlhIGZpcmVBbmNlc3RvckV2ZW50CgltZXRob2QuCgoyMDA1LTEwLTE3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmEKCShzZXRWaWV3KTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBsb29wLiBXZSBvbmx5IGhhdmUgb24gY29tcG9uZW50LgoJKGlzT3B0aW1pemVkRHJhd2luZ0VuYWJsZWQpOiBBZGRlZCBjb21tZW50IGV4cGxhaW5pbmcgd2h5IHRoaXMKCW1ldGhvZCBpcyBuZWNlc3NhcnkuCgoyMDA1LTEwLTE3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJRmlsbGVkIGVtcHR5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLgoJKEZvY3VzSGFuZGxlci5mb2N1c0xvc3QpOiBDbG9zZSBwb3B1cCB3aGVuIHRoZSBjb21ib2JveCBsb3NlcyBmb2N1cy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvUG9wdXAuamF2YQoJRmlsbGVkIGVtcHR5IGJsb2NrcyB3aXRoIGNvbW1lbnRzLgoJKHVwZGF0ZUxpc3RCb3hTZWxlY3Rpb25Gb3JFdmVudCk6IEltcGxlbWVudGVkIHBhcnRseS4KCShMaXN0TW91c2VIYW5kbGVyLm1vdXNlUmVsZWFzZWQpOiBDYWxsIHVwZGF0ZUxpc3RCb3hTZWxlY3Rpb25Gb3JFdmVudC4KCShMaXN0TW91c2VNb3Rpb25IYW5kbGVyLm1vdXNlUmVsZWFzZWQpOiBMaWtld2lzZS4KCjIwMDUtMTAtMTcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0NvbWJvQm94RGVtby5qYXZhOgoJKEN1c3RvbUNlbGxSZW5kZXJlcik6IG5ldyBpbm5lciBjbGFzcywKCShjb21ib1N0YXRlNik6IG5ldyBmaWVsZCwKCShjb21ibzExKTogbmV3IGZpZWxkLAoJKGNvbWJvMTIpOiBuZXcgZmllbGQsCgkoY3JlYXRlQ29udGVudCk6IGFkZCBwYW5lbCBmcm9tIGNyZWF0ZVBhbmVsNigpLAoJKGNyZWF0ZVBhbmVsNik6IG5ldyBtZXRob2QsCgkoYWN0aW9uUGVyZm9ybWVkKTogdXBkYXRlIHN0YXRlIGZvciBuZXcgSkNvbWJvQm94ZXMsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEKCShpbnN0YWxsQ29tcG9uZW50cyk6IGRvbid0IGNyZWF0ZSBhcnJvd0J1dHRvbiB1bnRpbCBhZnRlciBsaXN0Qm94IGlzIAoJY3JlYXRlZCwgc2V0IGxpc3RCb3ggdG8gdGhlIEpMaXN0IGNyZWF0ZWQgYnkgdGhlIHBvcHVwLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hCdXR0b24uamF2YToKCShNZXRhbENvbWJvQm94QnV0dG9uKEpDb21ib0JveCwgSWNvbiwgYm9vbGVhbiwgQ2VsbFJlbmRlcmVyUGFuZSwgCglKTGlzdCkpOiBzZXQgbWFyZ2lucyB0byB6ZXJvLAoJKHBhaW50Q29tcG9uZW50KTogdXNlIGxpc3QgY2VsbCByZW5kZXJlciB0byBwYWludCBidXR0b24gY29udGVudCwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBhZGQgJ0xpc3QuZm9udCcgZGVmYXVsdC4KCjIwMDUtMTAtMTcgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3V0aWwvUHJvcGVydGllcy5qYXZhOgoJKHN0b3JlVG9YTUwoT3V0cHV0U3RyZWFtLFN0cmluZykpOiBJbXBsZW1lbnRlZC4KCShzdG9yZVRvWG1sKE91dHB1dFN0cmVhbSxTdHJpbmcsU3RyaW5nKSk6IExpa2V3aXNlLgoKMjAwNS0xMC0xNyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL0ZvY3VzZWRfT1JCLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSwKCW9yZy9vbWcvQ09SQkEvT1JCLmphdmE6IEFkYXB0ZWQgdG8gc3VwcG9ydCB0aGUgCglnbnUuQ09SQkEuTGlzdGVuZXJQb3J0IHByb3BlcnR5LgoKMjAwNS0xMC0xNSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9EeW5hbWljSW1wbGVtZW50YXRpb24uamF2YTogTWFkZSBjb25jcmV0ZS4KCShpbnZva2UpOiBJbXBsZW1lbnRlZC4KCWdudS9DT1JCQS9TaW1wbGVfZGVsZWdhdGUuamF2YSAocmVxdWVzdCk6IEltcGxlbWVudGVkLiAKCjIwMDUtMTAtMTQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHRyZWVOb2Rlc0NoYW5nZWQpOiBBZGRlZCBjYWxsIHRvIHJldmFsaWRhdGUgYW5kIHJlc2l6ZSB0cmVlLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlTW9kZWwuamF2YQoJKGluc2VydE5vZGVJbnRvKTogTmVlZGVkIHRvIHNldCBwYXJlbnQgZm9yIG5ldyBub2RlLgoKMjAwNS0xMC0xNCAgUm9iZXJ0IFNjaHVzdGVyICA8cm9iZXJ0c2NodXN0ZXJAZnNmZS5vcmc+CgoJKiBqYXZhL25ldC9VUkxTdHJlYW1IYW5kbGVyLmphdmE6CgkodG9FeHRlcm5hbEZvcm0pOiBVc2UgIi8vIiArIGF1dGhvcml0eSBmb3JtYXQgd2hlbiBmaWxlIHBhcnQgc3RhcnRzCgl3aXRoIHR3byBzbGFzaGVzLgoKMjAwNS0xMC0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHBhaW50TG9jayk6IFJlbW92ZWQgdW5uZWVkZWQgZmllbGQuCgkoaXNDb21wbGV0ZWx5RGlydHkpOiBOZXcgZmllbGQuCgkoc2V0Qm9yZGVyKTogRG9uJ3QgZ2V0IGFjdGl2ZSBpZiBhY3R1YWwgdmFsdWUgZGlkbid0IGNoYW5nZS4KCU90aGVyd2lzZSB0cmlnZ2VyIGEgcmVwYWludC4KCShwYWludCk6IE1hcmsgdGhpcyBjb21wb25lbnQgYXMgY2xlYW4gYWZ0ZXIgcGFpbnRpbmcgd2hlbiB0aGUgY2xpcAoJY292ZXJlZCB0aGUgd2hvbGUgY29tcG9uZW50LgoJKHBhaW50SW1tZWRpYXRlbHkpOiBGaW5kIG1vcmUgc2Vuc2libGUgcGFpbnQgcm9vdCB2aWEgbmV3IGhlbHBlcgoJbWV0aG9kcy4KCShwYWludERvdWJsZUJ1ZmZlcmVkKTogRG9uJ3Qgc3luY2hyb25pemUgaGVyZS4KCShzZXRGb250KTogRG9uJ3QgZ2V0IGFjdGl2ZSBpZiBhY3R1YWwgdmFsdWUgZGlkbid0IGNoYW5nZS4KCU90aGVyd2lzZSB0cmlnZ2VyIGEgcmVwYWludCBhbmQgcmV2YWxpZGF0ZS4KCShzZXRCYWNrZ3JvdW5kKTogRG9uJ3QgZ2V0IGFjdGl2ZSBpZiBhY3R1YWwgdmFsdWUgZGlkbid0IGNoYW5nZS4KCU90aGVyd2lzZSB0cmlnZ2VyIGEgcmVwYWludC4KCShzZXRGb3JlZ3JvdW5kKTogRG9uJ3QgZ2V0IGFjdGl2ZSBpZiBhY3R1YWwgdmFsdWUgZGlkbid0IGNoYW5nZS4KCU90aGVyd2lzZSB0cmlnZ2VyIGEgcmVwYWludC4KCShzZXRVSSk6IFRyaWdnZXIgYSByZXBhaW50LgoJKGZpbmRQYWludFJvb3QpOiBOZXcgaGVscGVyIG1ldGhvZC4KCShmaW5kT3ZlcmxhcEZyZWVQYXJlbnQpOiBOZXcgaGVscGVyIG1ldGhvZC4KCShmaW5kT3BhcXVlUGFyZW50KTogTmV3IGhlbHBlciBtZXRob2QuCgkqIGphdmF4L3N3aW5nL1JlcGFpbnRNYW5hZ2VyLmphdmEKCShDb21wb25lbnRDb21wYXJhdG9yKTogTmV3IGlubmVyIGNsYXNzLiBVc2VkIHRvIHNvcnQgY29tcG9uZW50cwoJYWNjb3JkaW5nIHRvIHRoZWlyIGRlcHRoIGluIHRoZSBjb250YWlubWVudCBoaWVyYXJjaHkuCgkoZGlydHlDb21wb25lbnRzKTogVXNlIEhhc2hNYXAgaW5zdGVhZCBvZiBIYXNodGFibGUuCgkod29ya0RpcnR5Q29tcG9uZW50cyk6IE5ldyBmaWVsZC4KCShyZXBhaW50T3JkZXIpOiBOZXcgZmllbGQuCgkod29ya1JlcGFpbnRPcmRlcik6IE5ldyBmaWVsZC4KCShjb21wYXJhdG9yKTogTmV3IGZpZWxkLgoJKGludmFsaWRDb21wb25lbnRzKTogVXNlIEFycmF5TGlzdCBpbnN0ZWFkIG9mIFZlY3Rvci4KCSh3b3JrSW52YWxpZENvbXBvbmVudHMpOiBOZXcgZmllbGQuCgkoUmVwYWludE1hbmFnZXIpOiBJbml0aWFsaXplIG5ldyBmaWVsZHMuCgkocmVtb3ZlSW52YWxpZENvbXBvbmVudCk6IEFkanVzdGVkIGZvciBBcnJheUxpc3QuCgkoYWRkRGlydHlSZWdpb24pOiBSZXR1cm4gaWYgY29tcG9uZW50IGluIHF1ZXN0aW9uIGlzIG5vdCBzaG93aW5nLgoJSW5zZXJ0IHRoZSBuZXcgY29tcG9uZW50IGluIHRoZSByZXBhaW50T3JkZXIgbGlzdC4KCShpbnNlcnRSZXBhaW50T3JkZXIpOiBOZXcgbWV0aG9kLiBNYWludGFpbnMgYSBzb3J0ZWQgbGlzdCBvZgoJY29tcG9uZW50cy4KCShnZXREaXJ0eVJlZ2lvbik6IFJldHVybiBlbXB0eSBSZWN0YW5nbGUgaW5zdGVhZCBvZiBudWxsIHdoZW4KCWNvbXBvbmVudCBpcyBub3QgZGlydHksIGFzIHNwZWNpZmllZC4KCShtYXJrQ29tcGxldGVseURpcnR5KTogU2V0IGZsYWcgaW4gSkNvbXBvbmVudC4KCShtYXJrQ29tcGxldGVseUNsZWFuKTogU3luY2hyb25pemUgYWNjZXNzIHRvIGZpZWxkcy4KCShpc0NvbXBsZXRlbHlEaXJ0eSk6IFVzZSBmbGFnIGluIEpDb21wb25lbnQgdG8gZGV0ZXJtaW5lIHRoaXMKCXByb3BlcnR5LgoJKHZhbGlkYXRlSW52YWxpZENvbXBvbmVudHMpOiBVc2Ugd29ya0ludmFsaWRDb21wb25lbnRzIHdoZW4KCXJldmFsaWRhdGluZy4gVGhpcyBhdm9pZHMgYmxvY2tpbmcgb2YgYXBwbGljYXRpb24gdGhyZWFkcwoJaW4gcmV2YWxpZGF0ZSgpIGNhbGxzLgoJKHBhaW50RGlydHlSZWdpb24pOiBVc2Ugd29yayogZmllbGRzIHdoZW4KCXJlcGFpbnRpbmcuIFRoaXMgYXZvaWRzIGJsb2NraW5nIG9mIGFwcGxpY2F0aW9uIHRocmVhZHMKCWluIHJlcGFpbnQoKSBjYWxscy4gU2ltcGxpZnkgYWN0dWFsIHdvcmssIG5vdyB3ZSBzaW1wbHkgY2FsbAoJcGFpbnRJbW1lZGlhdGx5KCkgb24gdGhlIGRpcnR5IGNvbXBvbmVudHMuCgoyMDA1LTEwLTE0ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Mb29rQW5kRmVlbC5qYXZhCgkobWFrZUljb24pOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkodXBkYXRlQ2FjaGVkUHJlZmVycmVkU2l6ZSk6IFNob3VsZCBvbmx5IGFkZCB3aXRoIG9mIGNvbnRyb2wgaWNvbiBpZgoJbm90IGEgbGVhZi4KCShtb3VzZVByZXNzZWQpOiBGaXhlZCB0byB1c2UgbmV3IGdhcCBmaWVsZC4KCShwYWludFJlY3Vyc2l2ZSk6IExpa2V3aXNlLgoJKHBhaW50Um93KTogTGlrZXdpc2UuCgkodXBkYXRlQ3VycmVudFZpc2libGVQYXRoKTogU2hvdWxkbid0IGluY2x1ZGUgcm9vdCBpZiBpdCBpcwoJbm90IG9mIGEgdmFsaWQgc2l6ZSB0byBiZSBwYWludGVkLgoKMjAwNS0xMC0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhCgkoaXNPcHRpbWl6ZWREcmF3aW5nRW5hYmxlZCk6IE5ldyBtZXRob2QuCgoyMDA1LTEwLTE0ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL1BvbGljeUVycm9ySGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1BvbGljeUVycm9ySG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1Vua25vd25Vc2VyRXhjZXB0aW9uSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1Vua25vd25Vc2VyRXhjZXB0aW9uSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1dyb25nVHJhbnNhY3Rpb25IZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvV3JvbmdUcmFuc2FjdGlvbkhvbGRlci5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTEwLTE0ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpblZpZXcuamF2YToKCShuZXh0VGFiU3RvcCk6IFRhYiBzaXplIHNob3VsZCBiZSBtdWx0aXBsaWVkIGJ5IHRoZSB3aWR0aCBvZiAnbScsIG5vdAoJYWRkZWQgdG8gaXQuCgoyMDA1LTEwLTE0ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpblZpZXcuamF2YToKCShnZXRUYWJTaXplKTogQ2hlY2sgdGhlIERvY3VtZW50J3MgcHJvcGVydGllcyBmb3IKCVBsYWluRG9jdW1lbnQudGFiU2l6ZUF0dHJpYnV0ZSBiZWZvcmUgZGVmYXVsdGluZyB0byA4LgoKMjAwNS0xMC0xNCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQm94Vmlldy5qYXZhOgoJKHByZWZlcmVuY2VDaGFuZ2VkKTogTmV3IG1ldGhvZCAob3ZlcnJpZGVzIG1ldGhvZCBpbiBWaWV3KS4gIFNldCBmbGFnIAoJaW5kaWNhdGluZyB0aGF0IGNhY2hlZCBsYXlvdXQgaW5mb3JtYXRpb24gaXMgaW52YWxpZCwgdGhlbiBjYWxsIHN1cGVyCglpbXBsZW1lbnRhdGlvbi4KCjIwMDUtMTAtMTQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvc2l0ZVZpZXcuamF2YTogTWlub3IgZG9jIGZpeGVzLgoJKiBqYXZheC9zd2luZy90ZXh0L0JveFZpZXcuamF2YTogTWlub3IgZG9jIGZpeGVzLgoKMjAwNS0xMC0xNCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogRml4ZWQgQVBJIGRvY3MsIGFuZCByZXR1cm5lZCB0aGUgY29ycmVjdCB2YWx1ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkodXBkYXRlQ2FjaGVkUHJlZmVycmVkU2l6ZSk6IEZpeGVkIHBhcmFtZXRlciBwYXNzZWQgdG8gaXNMZWFmLCBub2RlCglzaG91bGQgYmUgcGFzc2VkIGluIGFuZCBub3QgYSBwYXRoLgoKMjAwNS0xMC0xNCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmE6CgkoQUxXQVlTX1VQREFURSk6IE5ldyBmaWVsZC4KCShORVZFUl9VUERBVEUpOiBOZXcgZmllbGQuCgkoVVBEQVRFX1dIRU5fT05fRURJVCk6IE5ldyBmaWVsZC4KCShpbnNlcnRVcGRhdGUpOiBGaXhlZCBkb2NzLiAgT25seSB1cGRhdGUgdGhlIGRvdCBpZiB0aGUgcG9saWN5IGlzCglBTFdBWVNfVVBEQVRFIG9yIGlmIHRoZSBwb2xpY3kgaXMgVVBEQVRFX1dIRU5fT05fRURUIGFuZCB0aGUgZXZlbnQKCXdhcyBnZW5lcmF0ZWQgb24gdGhlIEV2ZW50IERpc3BhdGNoIHRocmVhZC4KCShyZW1vdmVVcGRhdGUpOiBGaXhlZCBkb2NzLiAgT25seSB1cGRhdGUgdGhlIGRvdCBpZiB0aGUgcG9saWN5IGlzCglBTFdBWVNfVVBEQVRFLCBpZiB0aGUgcG9saWN5IGlzIFVQREFURV9XSEVOX09OX0VEVCBhbmQgdGhlIGV2ZW50IHdhcyAKCWdlbmVyYXRlZCBvbiB0aGUgRXZlbnQgRGlzcGF0Y2ggdGhyZWFkLCBvciBpZiB0aGUgZG9jdW1lbnQgbGVuZ3RoIAoJaGFzIGJlY29tZSBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgZG90IHBvc2l0aW9uLgoJKHNldFVwZGF0ZVBvbGljeSk6IE5ldyBtZXRob2QuCgkoZ2V0VXBkYXRlUG9saWN5KTogTmV3IG1ldGhvZC4KCQoyMDA1LTEwLTE0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvQm94TGF5b3V0LmphdmEKCShsYXlvdXRDb250YWluZXIpOiBQZXJmb3JtIGxheW91dCBpbnNpZGUgdGhlIGNvbnRhaW5lcidzIHRyZWVMb2NrLgoJUmVzcGVjdCB0aGUgaW5zZXRzIG9mIHRoZSBjb250YWluZXIuCgoyMDA1LTEwLTE0ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhCgkoZ2V0QWNjZXNzaWJsZVNlbGVjdGlvbkNvdW50KTogRml4ZWQgQVBJIGRvY3VtZW50YXRpb24uCgkoZ2V0U2Nyb2xsYWJsZVRyYWNrc1ZpZXdwb3J0V2lkdGgpOiBXYXMgdXNpbmcgaGVpZ2h0IGluc3RlYWQgb2YKCXdpZHRoLCBmaXhlZCB0aGlzLgoJKGdldFNjcm9sbGFibGVUcmFja3NWaWV3cG9ydEhlaWdodCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShCYXNpY1RyZWVVSSk6IEluaXRpYWxpemVkIHZhbGlkQ2FjaGVkUHJlZmVycmVkU2l6ZS4KCSh1cGRhdGVDYWNoZWRQcmVmZXJyZWRTaXplKTogSW1wbGVtZW50ZWQuCgkocGF0aFdhc0V4cGFuZGVkKTogSW1wbGVtZW50ZWQuCgkocGF0aFdhc0NvbGxhcHNlZCk6IEltcGxlbWVudGVkLgoJKGluc3RhbGxEZWZhdWx0cyk6IEZpeGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogTGlrZXdpc2UuCgkoc2V0UHJlZmVycmVkTWluU2l6ZSk6IExpa2V3aXNlLgoJKGdldFByZWZlcnJlZE1pblNpemUpOiBMaWtld2lzZS4KCShnZXRQcmVmZXJyZWRTaXplKTogUmVpbXBsZW1lbnRlZCB0byB1c2UgdXBkYXRlQ2FjaGVkUHJlZmVycmVkU2l6ZS4KCShzdGFydEVkaXRpbmcpOiBzZXQgdmFsaWRDYWNoZWRQcmVmZXJyZWRTaXplLgoJKGVkaXRpbmdTdG9wcGVkKTogTGlrZXdpc2UuCgkoZWRpdGluZ0NhbmNlbGVkKTogTGlrZXdpc2UuCgkodHJlZUV4cGFuZGVkKTogTGlrZXdpc2UuCgkodHJlZUNvbGxhcGVkKTogTGlrZXdpc2UuCgkodHJlZU5vZGVzSW5zZXJ0ZWQpOiBMaWtld2lzZS4KCSh0cmVlTm9kZXNSZW1vdmVkKTogTGlrZXdpc2UuCgkodHJlZVN0cnVjdHVyZUNoYW5nZWQpOiBMaWtld2lzZS4KCShnZXROZXh0VmlzaWJsZU5vZGUpOiBGaXhlZCBBUEkgZG9jdW1lbnRhdGlvbi4KCShnZXROZXh0Tm9kZSk6IExpa2V3aXNlLgoJKGdldE5leHRTaWJsaW5nKTogTGlrZXdpc2UuCgkoZ2V0UHJldmlvdXNTaWJsaW5nKTogTGlrZXdpc2UuCgkoZ2V0TGV2ZWwpOiBMaWtld2lzZS4KCShwYWludFZlcnRpY2FsUGFydE9mTGVnKTogTGlrZXdpc2UuCgoyMDA1LTEwLTE0ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL1BvbGljeUVycm9yQ29kZUhlbHBlci5qYXZhOiBOZXcgY2xhc3MuIAoKMjAwNS0xMC0xNCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9Mb2NhbE9iamVjdC5qYXZhIChfZ2V0X2ludGVyZmFjZSwgX2ludm9rZSwgX2lzX2xvY2FsLAoJX29yYiwgX3JlbGVhc2VSZXBseSwgX3JlcXVlc3QsIF9zZXJ2YW50X3Bvc3RpbnZva2UsIF9zZXJ2YW50X3ByZWludm9rZSwKCXZhbGlkYXRlX2Nvbm5lY3Rpb24pOiBOZXcgbWV0aG9kcy4KCjIwMDUtMTAtMTQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBuYXRpdmUvam5pL21pZGktYWxzYS8uY3ZzaWdub3JlLAoJbmF0aXZlL2puaS9taWRpLWRzc2kvLmN2c2lnbm9yZTogTmV3IGZpbGVzCgoyMDA1LTEwLTEzICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvT2JqZWN0Q3JlYXRvci5qYXZhIChmb3JOYW1lKToKCVVzZSBnbnUuY2xhc3NwYXRoLlZNU3RhY2tXYWxrZXIuCgkqIGdudS9DT1JCQS9JbnRlcmNlcHRvci9SZWdpc3RyYXRvci5qYXZhLAoJZ251L0NPUkJBL2dudVZhbHVlSG9sZGVyLmphdmEsCglnbnUvQ09SQkEvc3R1YkZpbmRlci5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9EZWxlZ2F0ZUZhY3RvcnkuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvU3R1YkRlbGVnYXRlSW1wbC5qYXZhLAoJb3JnL29tZy9DT1JCQS9PUkIuamF2YTogTG9hZCBjbGFzcyB2aWEgT2JqZWN0Q3JlYXRvci4gCgoyMDA1LTEwLTEzICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpblZpZXcuamF2YToKCSh1cGRhdGVEYW1hZ2UpOiBNYWRlIHRoaXMgbWV0aG9kIHByb3RlY3RlZCwgbm90IHBhY2thZ2UtcHJpdmF0ZS4KCjIwMDUtMTAtMTMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YQoJKHhDaGlsZHJlbik6IE5ldyBmaWVsZC4KCSh5Q2hpbGRyZW4pOiBOZXcgZmllbGQuCgkoeFRvdGFsKTogTmV3IGZpZWxkLgoJKHlUb3RhbCk6IE5ldyBmaWVsZC4KCShvZmZzZXRzWCk6IE5ldyBmaWVsZC4KCShvZmZzZXRzWSk6IE5ldyBmaWVsZC4KCShzcGFuc1gpOiBOZXcgZmllbGQuCgkoc3BhbnNZKTogTmV3IGZpZWxkLgoJKHByZWZlcnJlZExheW91dFNpemUpOiBSZXdyaXR0ZWQgdG8gdXNlIGNhY2hlZCB2YWx1ZXMgaWYgYXZhaWxhYmxlLgoJKG1pbmltdW1MYXlvdXRTaXplKTogUmV3cml0dGVkIHRvIHVzZSBjYWNoZWQgdmFsdWVzIGlmIGF2YWlsYWJsZS4KCShtYXhpbXVtTGF5b3V0U2l6ZSk6IFJld3JpdHRlZCB0byB1c2UgY2FjaGVkIHZhbHVlcyBpZiBhdmFpbGFibGUuCgkobGF5b3V0Q29udGFpbmVyKTogUmV3cml0dGVkIHRvIHVzZSBjYWNoZWQgdmFsdWVzIGlmIGF2YWlsYWJsZS4KCShnZXRBbGlnbm1lbnRYKTogSW1wbGVtZW50ZWQuCgkoZ2V0QWxpZ25tZW50WSk6IEltcGxlbWVudGVkLgoJKGludmFsaWRhdGVMYXlvdXQpOiBDbGVhciB0aGUgY2FjaGUuCgkoZ2V0U2l6ZVJlcXVpcmVtZW50cyk6IFJlbW92ZWQgdW5uZWVkZWQgbWV0aG9kLiBSZXBsYWNlZCBieQoJY2hlY2tSZXF1aXJlbWVudHMoKS4KCShjaGVja1RvdGFsUmVxdWlyZW1lbnRzKTogTmV3IGhlbHBlciBtZXRob2QuCgkoY2hlY2tSZXF1aXJlbWVudHMpOiBOZXcgaGVscGVyIG1ldGhvZC4KCShjaGVja0xheW91dCk6IE5ldyBoZWxwZXIgbWV0aG9kLgoKMjAwNS0xMC0xMyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YQoJKGNhbGN1bGF0ZUFsaWduZWRQb3NpdGlvbnMpOiBEZXRlcm1pbmUgYmFzZWxpbmUgdXNpbmcgdGhlIHRvdGFsCglyZXF1aXJlbWVudHMgYXJndW1lbnQuCgkoYWRqdXN0RnJvbVJpZ2h0KTogVXNlIGZsb2F0IGluc3RlYWQgb2YgaW50IGZvciBiYXNlbGluZSBhcmd1bWVudC4KCURvbid0IGhhbmRsZSB0aGUgPG1pbmltdW0gY2FzZS4KCShhZGp1c3RGcm9tTGVmdCk6IExpa2V3aXNlLgoKMjAwNS0xMC0xMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhOgoJQWRkZWQgbGVhZkljb24gZmllbGQuCgkoQmFzaWNUcmVlVUkpOiBJbml0aWFsaXplZCBsZWFmSWNvbiBmaWVsZC4KCShpbnN0YWxsRGVmYXVsdHMpOiBGaXhlZCBpY29uIGRlZmF1bHRzLgoJKGdldFByZWZlcnJlZFNpemUpOiBGaXhlZCB1cCBjb2RlIHNsaWdodGx5LgoJKHN0YXJ0RWRpdGluZyk6IENhbGxlZCByZXZhbGlkYXRlIGJlY2F1c2Ugc2l6ZSBvZgoJdmlldyBtYXkgY2hhbmdlLgoJKEVkaXRpbmdTdG9wcGVkKTogTGlrZXdpc2UuCgkoRWRpdGluZ0NhbmNlbGVkKTogTGlrZXdpc2UuCgkobW91c2VQcmVzc2VkKTogRml4ZWQgdXAgaWNvbiBzaXplcy4KCShwYWludFJlY3Vyc2l2ZSk6IEZpeGVkIHVwIHdpZHRoIHBhaW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUcmVlVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IEZpeGVkIGljb24gZGVmYXVsdHMuCgoyMDA1LTEwLTEzICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlSGVhZGVyVUkuamF2YToKCShwYWludCk6IFJlc2V0IHRoZSBjbGlwIG9mIHRoZSBHcmFwaGljcyBvYmplY3QgYWZ0ZXIgZWFjaCBpdGVyYXRpb24uCgoyMDA1LTEwLTEzICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShpbnN0YWxsRGVmYXVsdHMpOiBJbml0aWFsaXplIHJlbmRlcmVyUGFuZS4KCShwYWludENlbGwpOiBOZXcgbWV0aG9kIHRvIHBhaW50IGFuIGluZGl2aWR1YWwgY2VsbCB1c2luZyBhIAoJQ2VsbFJlbmRlcmVyUGFuZSwgdGFraW5nIGJvcmRlcnMgYW5kIGhpZ2hsaWdodGluZyBpbnRvIGFjY291bnQuCgkocGFpbnQpOiBSZW1vdmVkIGRpcmVjdCBwYWludGluZyBjb2RlLCBsZXQgcGFpbnRDZWxsIGhhbmRsZSB0aGlzLgoKMjAwNS0xMC0xMyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL1Njcm9sbFBhbmVMYXlvdXQuamF2YQoJKHByZWZlcnJlZExheW91dFNpemUpOiBBZGRlZCBzb21lIG1vcmUgbnVsbCBjaGVja3MgdG8gYXZvaWQgTlBFcy4KCShtaW5pbXVtTGF5b3V0U2l6ZSk6IEFkZGVkIHNvbWUgbW9yZSBudWxsIGNoZWNrcyB0byBhdm9pZCBOUEVzLgoKMjAwNS0xMC0xMyAgSmFuIFJvZWhyaWNoICA8amFuQHJvZWhyaWNoLmluZm8+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShpbnN0YWxsVUkpOiBGaXhlZCBzZXR0aW5nIG9mIGxvY2FsIEpUcmVlIHJlZmVyZW5jZQoKMjAwNS0xMC0xMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IEFkZGVkIGNoZWNrIHRvIHByZXZlbnQgTlBFLgoJKG1vdXNlUHJlc3NlZCk6IExpa2V3aXNlLgoJKHBhaW50UmVjdXJzaXZlKTogTGlrZXdpc2UuCgkocGFpbnRFeHBhbmRlZENvbnRyb2xJY29ucyk6IExpa2V3aXNlLgoJKHBhaW50Um93KTogRml4ZWQgcGFpbnRpbmcgbG9jYXRpb24gb2YgdGV4dGFyZWEuCgoyMDA1LTEwLTEzICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpblZpZXcuamF2YToKCSh1cGRhdGVEYW1hZ2UpOiBSZXBhaW50IHRoZSBjb250YWluZXIgaWYgYSBuZXcgbGluZSBpcyBhZGRlZC4KCjIwMDUtMTAtMTMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKGdldFBhdGhGb3JSb3cpOiBBZGRlZCBjaGVjayB0byBwcmV2ZW50IE5QRS4KCShnZXRSb3dDb3VudCk6IExpa2V3aXNlLgoJKGdldFJvd0ZvclBhdGgpOiBMaWtld2lzZS4KCShnZXRQcmVmZXJyZWRTaXplKTogQWRqdXN0ZWQgd2lkdGggZGVwZW5kaW5nIG9uIHggbG9jYXRpb24gYW5kCglpY29uLgoJKHBhaW50UmVjdXJzaXZlKTogTGlrZXdpc2UuCgkoZ2V0UHJldmlvdXNOb2RlKTogQWRkZWQgY2hlY2sgdG8gcHJldmVudCBOUEUuCgkoZ2V0TmV4dFZpc2libGVOb2RlKTogTGlrZXdpc2UuCgoyMDA1LTEwLTEzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpblZpZXcuamF2YQoJKGxpbmVCdWZmZXIpOiBOZXcgZmllbGQgdXNlZCBhcyBidWZmZXIgdG8gZmV0Y2ggdGV4dCBmcm9tIGEKCWRvY3VtZW50LgoJKGdldExpbmVCdWZmZXIpOiBOZXcgbWV0aG9kLCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIG5ldyBmaWVsZAoJYWJvdmUuCgkobW9kZWxUb1ZpZXcpOiBVc2UgbmV3IGxpbmVCdWZmZXIuCgkoZHJhd1NlbGVjdGVkVGV4dCk6IExpa2V3aXNlLgoJKGRyYXdVbnNlbGVjdGVkVGV4dCk6IExpa2V3aXNlLgoJKGRldGVybWluZU1heExpbmVMZW5ndGgpOiBMaWtld2lzZS4KCSh2aWV3VG9Nb2RlbCk6IExpa2V3aXNlLgoJKHVwZGF0ZURhbWFnZSk6IExpa2V3aXNlLgoKMjAwNS0xMC0xMyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKHJlcGxhY2VTZWxlY3Rpb24pOiBSZW1vdmVkIGRlYnVnIHN0YXRlbWVudC4KCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpblZpZXcuamF2YQoJKHVwZGF0ZURhbWFnZSk6IFJlbW92ZWQgdW5uZWNlc3NhcnkgcmVwYWludCBjYWxsLgoJKGRhbWFnZUxpbmVSYW5nZSk6IFRyaWdnZXIgcmVwYWludCBvdmVyIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUKCXRleHQgY29tcG9uZW50IGF0IHRoZSByZXF1ZXN0ZWQgbGluZSByYW5nZS4gT3RoZXJ3aXNlIHdlIG1pZ2h0Cglub3QgY2xlYXIgZGVsZXRlZCB0ZXh0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShEb2N1bWVudEhhbmRsZXIuY2hhbmdlZFVwZGF0ZSk6IFVzZSB2aXNpYmxlRWRpdG9yUmVjdCBhcwoJaW5pdGlhbCBhbGxvY2F0aW9uLgoJKERvY3VtZW50SGFuZGxlci5yZW1vdmVVcGRhdGUpOiBVc2UgdmlzaWJsZUVkaXRvclJlY3QgYXMKCWluaXRpYWwgYWxsb2NhdGlvbi4KCShEb2N1bWVudEhhbmRsZXIuaW5zZXJ0VXBkYXRlKTogVXNlIHZpc2libGVFZGl0b3JSZWN0IGFzCglpbml0aWFsIGFsbG9jYXRpb24uCgkoZ2V0VmlzaWJsZUVkaXRvclJlY3QpOiBJZiBjb21wb25lbnQgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgYXJlCglpbnZhbGlkICg9PXVuaW5pdGlhbGl6ZWQpLCByZXR1cm4gYSBSZWN0YW5nbGUgb2YgKDAsMCwwLDApIGluc3RlYWQKCW9mIG51bGwuCgoyMDA1LTEwLTEzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEZpbGVDaG9vc2VyVUkuamF2YQoJKERpcmVjdG9yeUNvbWJvQm94QWN0aW9uKTogbmV3IGlubmVyIGNsYXNzLAoJKEZpbGVSZW5kZXJlcik6IG5ldyBpbm5lciBjbGFzcywKCShkaXJlY3RvcnlNb2RlbCk6IG5ldyBwcml2YXRlIGZpZWxkLgoKMjAwNS0xMC0xMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogYWRkZWQgZGVmYXVsdCB2YWx1ZSBmb3IgCgknTGlzdC5mb2N1c0NlbGxIaWdobGlnaHRCb3JkZXInLgoKMjAwNS0xMC0xMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhCgkoZ2V0VUlDbGFzcyk6IEZpeGVkIHRvIHVzZSB0aGUgc3lzdGVtIGNsYXNzIGxvYWRlciBpZgoJdGhlIGxvYWRlciBpcyBudWxsLgoKMjAwNS0xMC0xMiAgRGF2aWQgRGFuZXkgIDxkZGFuZXlAYXZ0cmV4LmNvbT4KCglQUiBjbGFzc3BhdGgvMjQyNTkKCSogZ251L2phdmEvbmV0L0xpbmVJbnB1dFN0cmVhbS5qYXZhOiBJbXBvcnQgQnVmZmVyZWRJbnB1dFN0cmVhbS4KCShDb25zdHJ1Y3Rvcik6IERvbid0IGRvIGJsb2NrUmVhZHMgb24gQnVmZmVyZWRJbnB1dFN0cmVhbXMuCgkocmVhZExpbmUpOiBSZW5hbWUgTUlOX0xFTkdUSCB0byBNQVhfTEVOR1RILiAgTGltaXQgYnVmZmVyIHNpemUgdG8KCU1BWF9MRU5HVEguCgoyMDA1LTEwLTEyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmE6IEZpeGVkIHNvbWUgQVBJIGRvY3MgYW5kIHVudXNlZCBpbXBvcnRzLgoJCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShwYWludEltbWVkaWF0ZWx5KTogRmluZCB0aGUgcGFpbnQgcm9vdCBtb3JlIGNsZXZlcmx5LCBpbnN0ZWFkIG9mCglnb2luZyB1cCB0byB0aGUgcm9vdC4KCShmaW5kUGFpbnRSb290KTogTmV3IGhlbHBlciBtZXRob2QuCgkoZmluZE92ZXJsYXBGcmVlUGFyZW50KTogTmV3IGhlbHBlciBtZXRob2QuCgkoZmluZE9wYXF1ZVBhcmVudCk6IE5ldyBoZWxwZXIgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhCgkoYWRkRGlydHlSZWdpb24pOiBDb2xsYXBzZSBvdmVybGFwcGluZyBkaXJ0eSByZWdpb25zIGludG8gc2luZ2xlCglyZWdpb25zLgoJKHBhaW50RGlydHlSZWdpb25zKTogU2ltcGxlIGl0ZXJhdG9yIG92ZXIgZGlydHkgcmVnaW9ucyBhbmQKCXBhaW50IHRoZW0uIFRoZSBvcHRpbWl6YXRpb25zIGFyZSBkb25lIGluIEpDb21wb25lbnQgYW5kCglhZGREaXJ0eVJlZ2lvbi4KCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9TY3JvbGxQYW5lTGF5b3V0LmphdmEKCShtaW5pbXVtTGF5b3V0U2l6ZSk6IEFkZGVkIGNoZWNrcyB0byBhdm9pZCBOUEVzLgoKMjAwNS0xMC0xMiAgRGF2aWQgRGFuZXkgIDxkZGFuZXlAYXZ0cmV4LmNvbT4KCglQUiBjbGFzc3BhdGgvMjQwODYsIFBSIGNsYXNzcGF0aC8yNDA5MSwgUFIgY2xhc3NwYXRoLzI0MTA0CgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0J5dGVBcnJheVJlc3BvbnNlQm9keVJlYWRlci5qYXZhOiBSZW1vdmVkLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9SZXNwb25zZUJvZHlSZWFkZXIuamF2YTogUmVtb3ZlZC4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvZXZlbnQvQ29ubmVjdGlvbkV2ZW50LmphdmE6IFJlbW92ZWQuCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL2V2ZW50L0Nvbm5lY3Rpb25MaXN0ZW5lci5qYXZhOiBSZW1vdmVkLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9ldmVudC9SZXF1ZXN0RXZlbnQuamF2YTogUmVtb3ZlZC4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvZXZlbnQvUmVxdWVzdExpc3RlbmVyLmphdmE6IFJlbW92ZWQuCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL2V2ZW50L3BhY2thZ2UuaHRtbDogUmVtb3ZlZC4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSFRUUENvbm5lY3Rpb24uamF2YTogQ2xlYW5lZCB1cCBpbXBvcnRzLgoJKGNvbm5lY3Rpb25MaXN0ZW5lcnMpOiBSZW1vdmVkLgoJKHJlcXVlc3RMaXN0ZW5lcnMpOiBSZW1vdmVkLgoJKHBvb2wpOiBOZXcgZmllbGQuCgkoQ29uc3RydWN0b3IpOiBEb24ndCBpbml0aWFsaXplIGNvbm5lY3Rpb25MaXN0ZW5lcnMgb3IKCXJlcXVlc3RMaXN0ZW5lcnMuCgkodXNlQ291bnQpOiBOZXcgZmllbGQuCgkoZ2V0UG9vbEtleSk6IE5ldyBtZXRob2QuCgkoc2V0UG9vbCk6IE5ldyBtZXRob2QuCgkocmVsZWFzZSk6IE5ldyBtZXRob2QuCgkobmV3UmVxdWVzdCk6IERvbid0IGNhbGwgZmlyZVJlcXVlc3RFdmVudC4gVXNlIFN0cmluZ0J1aWxkZXIgaW5zdGVhZAoJb2YgU3RyaW5nQnVmZmVyLgoJKGNsb3NlKTogRG9uJ3QgY2FsbCBmaXJlQ29ubmVjdGlvbkV2ZW50LgoJKGdldFVSSSk6VXNlIFN0cmluZ0J1aWxkZXIgaW5zdGVhZCBvZiBTdHJpbmdCdWZmZXIuCgkoYWRkQ29ubmVjdGlvbkxpc3RlbmVyKTogUmVtb3ZlZC4KCShyZW1vdmVDb25uZWN0aW9uTGlzdGVuZXIpOiBSZW1vdmVkLgoJKGZpcmVDb25uZWN0aW9uRXZlbnQpOiBSZW1vdmVkLgoJKGFkZFJlcXVlc3RMaXN0ZW5lcik6IFJlbW92ZWQuCgkocmVtb3ZlUmVxdWVzdExpc3RlbmVyKTogUmVtb3ZlZC4KCShmaXJlUmVxdWVzdEV2ZW50KTogUmVtb3ZlZC4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSFRUUFVSTENvbm5lY3Rpb24uamF2YTpDbGVhbmVkIHVwIGltcG9ydHMuCgkoY29ubmVjdGlvblBvb2wpOiBDaGFuZ2VkIHR5cGUgdG8gTGlua2VkSGFzaE1hcC4KCShtYXhDb25uZWN0aW9ucyk6IE1hZGUgc3RhdGljLgoJKHJlc3BvbnNlU2luayk6IENoYW5nZWQgdHlwZSB0byBJbnB1dFN0cmVhbS4KCShlcnJvclNpbmspOiBMaWtld2lzZS4KCShjb25uZWN0KTogRWxpbWluYXRlIHJlYWRlci4gIEdldCByZXNwb25zZVNpbmsgZnJvbSByZXNwb25zZS4KCShnZXRDb25uZWN0aW9uKTogUmV3cm90ZS4KCShnZXRIZWFkZXJGaWVsZHMpOiBVc2UgbnVsbCBhcyBrZXkgZm9yIHN0YXR1cyBsaW5lLiAgUmV0dXJuCgl1bm1vZGlmaWFibGUgTWFwLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IZWFkZXJzLmphdmE6IEV4dGVuZCBMaW5rZWRIYXNoTWFwLAoJaW5zdGVhZCBvZiBpbXBsZW1lbnQgTWFwLgoJKGhlYWRlcnMpOiBSZW1vdmVkLgoJKENvbnN0cnVjdG9yKTogRG8gbm90IGluaXRpYWxpemUgaGVhZGVycy4KCShzaXplKTogUmVtb3ZlZC4KCShpc0VtcHRoKTogUmVtb3ZlZC4KCShjb250YWluc0tleSk6IFJld3JvdGUuCgkoY29udGFpbnNWYWx1ZSk6IFJlbW92ZWQuCgkoZ2V0KTogQ2FsbCBzdXBlci5nZXQoKS4KCShnZXRWYWx1ZSk6IExpa2V3aXNlLgoJKGdldExvbmdWYWx1ZSk6IE5ldyBtZXRob2QuCgkocHV0KTogQ2FsbCBzdXBlci5wdXQoKS4KCShyZW1vdmUpOiBDYWxsIHN1cGVyLnJlbW92ZSgpLgoJKHB1dEFsbCk6IFJld3JvdGUuCgkoY2xlYXIpOiBSZW1vdmVkLgoJKGtleVNldCk6IENhbGwgc3VwZXIua2V5U2V0KCkuCgkodmFsdWVzKTogUmVtb3ZlZC4KCShlbnRyeVNldCk6IENhbGwgc3VwZXIuZW50cnlTZXQoKS4KCShlcXVhbHMpOiBSZW1vdmVkLgoJKGhhc2hDb2RlKTogUmVtb3ZlZC4KCShwYXJzZSk6IFVzZSBTdHJpbmdCdWlsZGVyIGluc3RlYWQgb2YgU3RyaW5nQnVmZmVyLgoJKGFkZFZhbHVlKTogQ2FsbCBzdXBlci4qIGluc3RlYWQgb2YgaGVhZGVycy4qLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9MaW1pdGVkTGVuZ3RoSW5wdXRTdHJlYW0uamF2YTogTmV3IGNsYXNzLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9SZXF1ZXN0LmphdmE6IENsZWFuZWQgdXAgaW1wb3J0cy4KCShyZXNwb25zZUJvZHlSZWFkZXIpOiBSZW1vdmVkLgoJKHNldFJlc3BvbnNlQm9keVJlYWRlcik6IFJlbW92ZWQuCgkoZGlzcGF0Y2gpOiBEb24ndCBjcmVhdGUgTGluZUlucHV0U3RyZWFtLiAgRG9uJ3QgY2FsbCBmaXJlUmVxdWVzdEV2ZW50LgoJRG9uJ3QgYXBwZW5kIENSTEYgdG8gUmVxdWVzdCBib2R5LiAgSGFuZGxlIHVuc29saWNpdGVkIDEwMCBDb250aW51ZQoJcmVzcG9uc2UuCgkocmVhZFJlc3BvbnNlKTogUmV3cm90ZS4KCShyZWFkUmVzcG9uc2VCb2R5KTogUmVuYW1lZCB0byAuLi4KCShjcmVhdGVSZXNwb25zZUJvZHlTdHJlYW0pOiAuLi4gQW5kIHJld3JpdHRlbi4KCShwYXJzZUF1dGhQYXJhbXMpOiBVc2UgU3RyaW5nQnVpbGRlciBpbnN0ZWFkIG9mIFN0cmluZ0J1ZmZlci4KCShnZXROb25jZUNvdW50KTogTGlrZXdpc2UuCgkoaGFuZGxlU2V0Q29va2llKTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL1Jlc3BvbnNlLmphdmE6IENsZWFuZWQgdXAgaW1wb3J0cy4KCShjb2RlQ2xhc3MpOiBSZW1vdmVkLgoJKGJvZHkpOiBOZXcgZmllbGQuCgkoQ29uc3RydWN0b3IpOiBEb24ndCBpbml0aWFsaXplIGNvZGVDbGFzcy4gIEluaXRpYWxpemUgYm9keS4KCShnZXRDb2RlQ2xhc3MpOiBSZXdyb3RlLgoJKGdldExvbmdIZWFkZXIpOiBOZXcgbWV0aG9kLgoJKGdldEJvZHkpOiBOZXcgbWV0aG9kLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9DaHVua2VkSW5wdXRTdHJlYW0uamF2YSAocmVhZCk6IFVzZQoJU3RyaW5nQnVpbGRlciBpbnN0ZWFkIG9mIFN0cmluZ0J1ZmZlci4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvQ29va2llLmphdmEgKHRvU3RyaW5nKTogVXNlIFN0cmluZ0J1aWxkZXIKCWluc3RlYWQgb2YgU3RyaW5nQnVmZmVyLgoKMjAwNS0xMC0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmEKCShnZXRGaWxlVmlldyk6IERvbid0IGNhbGwgYmFjayBpbnRvIHRoZSBKRmlsZUNob29zZXIsIGF2b2lkcwoJYSBTdGFja092ZXJmbG93LgoJKGdldEFwcHJvdmVCdXR0b25UZXh0KTogTGlrZXdpc2UuCgoyMDA1LTEwLTEyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJRml4ZXMgYnVnICMyMjg0MQoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtICh2YWxpZGF0b3JzKTogUmVtb3ZlZCBmaWVsZC4KCShpc0Rlc2VyaWFsaXppbmcpOiBSZW1vdmVkIGZpZWxkLgoJKGN1cnJlbnRPYmplY3RWYWxpZGF0b3JzKTogTmV3IGZpZWxkLgoJKE9iamVjdElucHV0U3RyZWFtKTogUmVtb3ZlIHZhbGlkYXRvcnMgYW5kIGlzRGVzZXJpYWxpemluZwoJaW5pdGlhbGl6YXRpb24uCgkocmVhZE9iamVjdCk6IFJlbW92ZSBpc0Rlc2VyaWFsaXppbmcgbG9naWMuIERvbid0IGNhbGwKCWludm9rZVZhbGlkYXRvcnMoKSBoZXJlLgoJKHBhcnNlQ29udGVudCk6IENhbGwgaW52b2tlVmFsaWRhdG9ycygpIGFmdGVyIFRDX09CSkVDVCBkb25lLgoJKHJlZ2lzdGVyVmFsaWRhdGlvbik6IENyZWF0ZSBjdXJyZW50T2JqZWN0VmFsaWRhdG9ycyBpZiBuZWVkZWQuCgkoaW52b2tlVmFsaWRhdG9ycyk6IFJld3JpdHRlbi4KCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9DZWxsUmVuZGVyZXJQYW5lLmphdmEKCShwYWludENvbXBvbmVudCk6IEZpeCBjbGlwcGluZyBvZiBjZWxscy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YQoJKHBhaW50KTogRml4IGNsaXBwaW5nIG9mIGNlbGxzLgoKMjAwNS0xMC0xMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhOgoJKGluc2VydFN0cmluZyk6IERvbid0IGluY2x1ZGUgYW4gRWxlbWVudENoYW5nZSBpZiBubyBjaGlsZHJlbiB3ZXJlCglhZGRlZC4KCShyZW1vdmUpOiBEb24ndCBpbmNsdWRlIGFuIEVsZW1lbnRDaGFuZ2UgaWYgbm8gY2hpbGRyZW4gd2VyZSByZW1vdmVkLgoKMjAwNS0xMC0xMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmE6CgkoaW5zZXJ0T3JSZW1vdmVVcGRhdGUpOiBSZW5hbWVkIHRoaXMgbWV0aG9kIHRvIHVkcGF0ZURhbWFnZSBiZWNhdXNlCgljaGFuZ2VkVXBkYXRlIGNhbGxzIGl0IGFzIHdlbGwuCgkodXBkYXRlRGFtYWdlKTogVGhpcyBtZXRob2QgdXNlZCB0byBiZSBuYW1lZCBpbnNlcnRPclJlbW92ZURhbWFnZS4KCUNoYW5nZXMgYXJlOiBJZiBubyBjaGlsZHJlbiB3ZXJlIGFkZGVkIG9yIHJlbW92ZWQsIHJlcGFpbnQgb25seSB0aGUgCglhcmVhIGNvbnRhaW5pbmcgdGhlIGxpbmUgdGhhdCB3YXMgY2hhbmdlZC4gIEFsc28sIGlmIGNoaWxkcmVuIHdlcmUKCWFkZGVkIG9yIHJlbW92ZWQsIGNhbGwgcmVwYWludCBvbiB0aGUgZW50aXJlIGNvbnRhaW5lci4gQWxzbyBmaXhlZCBhIAoJc2VyaW91cyBsb2dpYyBlcnJvciBpbiB0aGUgYm91bmRzIGZvciBEb2N1bWVudC5nZXRUZXh0KCkuCgkoaW5zZXJ0VXBkYXRlKTogQ2hhbmdlZCBjYWxsIGZyb20gaW5zZXJ0T3JSZW1vdmVVcGRhdGUgdG8gdXBkYXRlRGFtYWdlCglhbmQgcmVtb3ZlZCByZXBhaW50IGNhbGwgKHRoaXMgaXMgZG9uZSBpbiB1cGRhdGVEYW1hZ2UpLgoJKHJlbW92ZVVwZGF0ZSk6IExpa2V3aXNlLgoJKGNoYW5nZWRVcGRhdGUpOiBJbXBsZW1lbnRlZC4KCShkYW1hZ2VMaW5lUmFuZ2UpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMTAtMTIgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHRyZWVFeHBhbmRlZCk6IEFkZGVkIHJldmFsaWRhdGUgY2FsbC4KCSh0cmVlQ29sbGFwc2VkKTogTGlrZXdpc2UuCgkodHJlZU5vZGVzSW5zZXJ0ZWQpOiBMaWtld2lzZS4KCSh0cmVlTm9kZXNSZW1vdmVkKTogTGlrZXdpc2UuCgkodHJlZVN0cnVjdHVyZUNoYW5nZWQpOiBMaWtld2lzZS4KCjIwMDUtMTAtMTIgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IGFkZGVkIGRlZmF1bHRzIGZvciBGaWxlVmlldy4KCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YQoJKHNpemVDaGFuZ2VkKTogQSBuZXcgZmxhZywgaW5kaWNhdGluZyB3aGVuIHRoZSBzaXplIG9mIHRoZQoJdmlld3BvcnQgaGFzIGNoYW5nZWQgcmVsYXRpdmUgdG8gdGhlIGxhc3QgcGFpbnRpbmcgb3BlcmF0aW9uLgoJKHJlc2hhcGUpOiBTZXQgc2l6ZUNoYW5nZWQgZmxhZyBpZiBzaXplIGhhcyBjaGFuZ2VkLgoJKHBhaW50QmFja2luZ1N0b3JlKTogT25seSBjcmVhdGUgbmV3IGJhY2tpbmdzdG9yZSBpbWFnZSB3aGVuCgl0aGUgc2l6ZSBoYXMgY2hhbmdlZC4KCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKHJlc2hhcGUpOiBGaXhlZCBjYWxjdWxhdGlvbiBvZiBuZXdCb3VuZHMgYW5kIG9sZEJvdW5kcyB0byBjcmVhdGUKCXJlY3RhbmdsZXMgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCwgYW5kIG5vdCB0byB0aGUgcGFyZW50J3MgcGFyZW50LgoJU29sdmVzIGEgcGFpbnRpbmcgcHJvYmxlbSBpbiBhbiBhcHAgaGVyZS4KCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL0NvbXBvbmVudFVJLmphdmEKCSh1cGRhdGUpOiBPbmx5IGZpbGwgdGhlIGN1cnJlbnQgY2xpcC4gVGhpcyBzb2x2ZXMgYSBwcm9ibGVtIHdpdGgKCWNvbXBvbmVudHMgaW4gSlZpZXdwb3J0IGFuZCBzaG91bGQgYWxzbyBvcHRpbWl6ZSBkcmF3aW5nIGEgbGl0dGxlLgoKMjAwNS0xMC0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL1Njcm9sbFBhbmVMYXlvdXQuamF2YQoJKHByZWZlcnJlZExheW91dFNpemUpOiBSZXdvcmtlZC4gVGhlIG9sZCBpbXBsIHVzZWQgdG8gYWN0dWFsbHkKCW1vZGlmeSB0aGUgbGF5b3V0LCB3aGljaCBpcyBub3QgYWxsb3dlZC4KCShtaW5pbXVtTGF5b3V0U2l6ZSk6IFJld29ya2VkLiBUaGUgb2xkIGltcGwgdXNlZCB0byBhY3R1YWxseQoJbW9kaWZ5IHRoZSBsYXlvdXQsIHdoaWNoIGlzIG5vdCBhbGxvd2VkLgoJKGxheW91dENvbnRhaW5lcik6IFJld29ya2VkLiBUaGUgb2xkIGltcGwgZGlkIG5vdCBwcm9wZXJseSBkZXRlcm1pbmUKCXdoZW4gdGhlIHNjcm9sbGJhcnMgc2hvdWxkIGJlIHZpc2libGUgYW5kIHdoZW4gbm90LgoKMjAwNS0xMC0xMiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJY29uRmFjdG9yeS5qYXZhCgkoRmlsZUljb24xNi5nZXRJY29uSGVpZ2h0KTogYWRkIHJlc3VsdCBvZiBnZXRBZGRpdGlvbmFsSGVpZ2h0KCksCgkoRm9sZGVySWNvbjE2LmdldEljb25IZWlnaHQpOiBhZGQgcmVzdWx0IG9mIGdldEFkZGl0aW9uYWxIZWlnaHQoKSwKCShjaGVja0JveEljb24pOiBuZXcgcHJpdmF0ZSBmaWVsZCwKCShjaGVja0JveE1lbnVJdGVtSWNvbik6IGxpa2V3aXNlLAoJKGZpbGVDaG9vc2VyRGV0YWlsVmlld0ljb24pOiBsaWtld2lzZSwKCShmaWxlQ2hvb3NlckhvbWVGb2xkZXJJY29uKTogbGlrZXdpc2UsCgkoZmlsZUNob29zZXJMaXN0Vmlld0ljb24pOiBsaWtld2lzZSwKCShmaWxlQ2hvb3Nlck5ld0ZvbGRlckljb24pOiBsaWtld2lzZSwKCShmaWxlQ2hvb3NlclVwRm9sZGVySWNvbik6IGxpa2V3aXNlLAoJKHJhZGlvQnV0dG9uTWVudUl0ZW1JY29uKTogbGlrZXdpc2UsCgkoaW50ZXJuYWxGcmFtZURlZmF1bHRNZW51SWNvbik6IGxpa2V3aXNlLAoJKHRyZWVDb21wdXRlckljb24pOiBsaWtld2lzZSwKCSh0cmVlRmxvcHB5RHJpdmVJY29uKTogbGlrZXdpc2UsCgkodHJlZUhhcmREcml2ZUljb24pOiBsaWtld2lzZSwKCShnZXRDaGVja0JveEljb24pOiByZXR1cm4gc2luZ2xlIGluc3RhbmNlLAoJKGdldENoZWNrQm94TWVudUl0ZW1JY29uKTogbGlrZXdpc2UsCgkoZ2V0RmlsZUNob29zZXJEZXRhaWxWaWV3SWNvbik6IGxpa2V3aXNlLAoJKGdldEZpbGVDaG9vc2VySG9tZUZvbGRlckljb24pOiBsaWtld2lzZSwKCShnZXRGaWxlQ2hvb3Nlckxpc3RWaWV3SWNvbik6IGxpa2V3aXNlLAoJKGdldEZpbGVDaG9vc2VyTmV3Rm9sZGVySWNvbik6IGxpa2V3aXNlLAoJKGdldEZpbGVDaG9vc2VyVXBGb2xkZXJJY29uKTogbGlrZXdpc2UsCgkoZ2V0UmFkaW9CdXR0b25NZW51SXRlbUljb24pOiBsaWtld2lzZSwKCShnZXRJbnRlcm5hbEZyYW1lRGVmYXVsdE1lbnVJY29uKTogbGlrZXdpc2UsCgkoZ2V0VHJlZUNvbXB1dGVySWNvbik6IGxpa2V3aXNlLAoJKGdldFRyZWVGbG9wcHlEcml2ZUljb24pOiBsaWtld2lzZSwKCShnZXRUcmVlSGFyZERyaXZlSWNvbik6IGxpa2V3aXNlLgoKMjAwNS0xMC0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShBYnN0cmFjdEJ1dHRvbik6IFNldCBidXR0b24gdG8gYmUgb3BhcXVlLgoKMjAwNS0xMC0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEKCShsb2NhdGlvblRvSW5kZXgpOiBQdXQgb3BlbmluZyBicmFjZSBvbiBuZXh0IGxpbmUuCgkoaW5kZXhUb0xvY2F0aW9uKTogQ2FsbCBVSSdzIGluZGV4VG9Mb2NhdGlvbi4KCShnZXRDZWxsQm91bmRzKTogUmVwbGFjZWQgY2FzdCB3aXRoIGdldFVJKCkgY2FsbC4KCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KRmlsZUNob29zZXIuamF2YQoJKGdldERpYWxvZ1RpdGxlKTogSWYgbm8gZGlhbG9nIHRpdGxlIGhhcyBiZWVuIHNldCwgZm9yd2FyZCB0aGlzCgljYWxsIHRvIHRoZSBVSS4KCShnZXRBcHByb3ZlQnV0dG9uVGV4dCk6IElmIG5vIHRleHQgaGFzIGJlZW4gc2V0LCBmb3J3YXJkIHRoaXMKCWNhbGwgdG8gdGhlIFVJLgoJKGdldEZpbGVWaWV3KTogSWYgbm8gZmlsZSB2aWV3IGhhcyBiZWVuIHNldCwgZm9yd2FyZCB0aGlzIGNhbGwKCXRvIHRoZSBVSS4KCShnZXRJbnRlcm5hbEZpbGVWaWV3KTogUmVtb3ZlZCB1bm5lZWRlZCBtZXRob2QuCgkoZ2V0TmFtZSk6IENhbGwgZ2V0RmlsZVZpZXcgaW5zdGVhZCBvZiBnZXRJbnRlcm5hbEZpbGVWaWV3LgoJKGdldERlc2NyaXB0aW9uKTogQ2FsbCBnZXRGaWxlVmlldyBpbnN0ZWFkIG9mIGdldEludGVybmFsRmlsZVZpZXcuCgkoZ2V0VHlwZURlc2NyaXB0aW9uKTogQ2FsbCBnZXRGaWxlVmlldyBpbnN0ZWFkIG9mCglnZXRJbnRlcm5hbEZpbGVWaWV3LgoJKGdldEljb24pOiBDYWxsIGdldEZpbGVWaWV3IGluc3RlYWQgb2YgZ2V0SW50ZXJuYWxGaWxlVmlldy4KCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShzZXRGb250KTogT25seSBnZXQgYWN0aXZlIGlmIHRoZSBuZXcgZm9udCBkaWZmZXJzIGZyb20gdGhlIG9sZCBvbmUuCglDYWxsIHJldmFsaWRhdGUgd2hlbiBmb250IGNoYW5nZXMuCgkoc2V0VUkpOiBDYWxsIHJldmFsaWRhdGUgd2hlbiBVSSBjaGFuZ2VzLgoKMjAwNS0xMC0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhCgkoaXNGb2N1c1RyYXZlcnNhYmxlKTogUmVtb3ZlZCB1bm5lZWRlZCBhbmQgdW5zcGVjaWZpZWQgbWV0aG9kLgoKMjAwNS0xMC0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhCgkoVmlld0xpc3RlbmVyLmNvbXBvbmVudFJlc2l6ZWQpOiBPbmx5IGNhbGwgcmV2YWxpZGF0ZSBpbnN0ZWFkIG9mCglnb2luZyB0aHJvdWdoIHdlaXJkIHJldmVydGluZyBjb2RlLgoJKEpWaWV3cG9ydCk6IEZpcnN0IGNhbGwgdXBkYXRlVUksIHRoZW4gc2V0IGxheW91dC4KCShzZXRWaWV3UG9zaXRpb24pOiBEb24ndCBkbyBhbnl0aGluZyBpZiB0aGVyZSBpcyBubyByZWFsCgljaGFuZ2UuCgkoc2V0Vmlldyk6IERvbid0IHJlbW92ZSB0aGUgb2xkIGNvbXBvbmVudC4gVGhpcyBpcyBoYW5kbGVkIGJ5CglhZGRJbXBsLiBDYWxsIHJldmFsaWRhdGUoKS4KCSogamF2YXgvc3dpbmcvVmlld3BvcnRMYXlvdXQuamF2YQoJKGxheW91dENvbnRhaW5lcik6IFByZWZlcmFibHkgc2V0IHZpZXcgc2l6ZSB0byBpdCdzIHByZWZlcnJlZFNpemUKCWluc3RlYWQgb2YgaXRzIG1pbmltdW1TaXplLgoKMjAwNS0xMC0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKGdldFRvb2xUaXBUZXh0KTogTmV3IG1ldGhvZC4KCjIwMDUtMTAtMTIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEZpeGVkIHZhbHVlIGZvcgoJVGFibGUuZm9jdXNDZWxsSGlnaGxpZ2h0Qm9yZGVyLgoKMjAwNS0xMC0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25VSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLiBVc2UKCVVJTWFuYWdlci5nZXQqIG1ldGhvZHMgaW5zdGVhZCBvZiBVSU1hbmFnZXIuZ2V0RGVmYXVsdHMoKS5nZXQqCgltZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hNZW51SXRlbVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgVUlNYW5hZ2VyLmdldCogbWV0aG9kcyBpbnN0ZWFkIG9mCglVSU1hbmFnZXIuZ2V0RGVmYXVsdHMoKS5nZXQqIG1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb2xvckNob29zZXJVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLiBVc2UKCVVJTWFuYWdlci5nZXQqIG1ldGhvZHMgaW5zdGVhZCBvZiBVSU1hbmFnZXIuZ2V0RGVmYXVsdHMoKS5nZXQqCgltZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRGVza3RvcFBhbmVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogT25seSBpbnN0YWxsIGJhY2tncm91bmQgY29sb3IsIGlmIGluc3RhbGxlZAoJY29sb3IgaXMgbnVsbCBvciBhbiBVSVJlc291cmNlIGluc3RhbmNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgbmV3IExvb2tBbmRGZWVsIGluc3RhbGwqIG1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMYWJlbFVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgbmV3IExvb2tBbmRGZWVsIGluc3RhbGwqIG1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMaXN0VUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4gVXNlCglVSU1hbmFnZXIuZ2V0KiBtZXRob2RzIGluc3RlYWQgb2YgVUlNYW5hZ2VyLmdldERlZmF1bHRzKCkuZ2V0KgoJbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBkZWZhdWx0IGZvciBMaXN0LmZvbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51QmFyVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4gVXNlCglVSU1hbmFnZXIuZ2V0KiBtZXRob2RzIGluc3RlYWQgb2YgVUlNYW5hZ2VyLmdldERlZmF1bHRzKCkuZ2V0KgoJbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLiBVc2UKCVVJTWFuYWdlci5nZXQqIG1ldGhvZHMgaW5zdGVhZCBvZiBVSU1hbmFnZXIuZ2V0RGVmYXVsdHMoKS5nZXQqCgltZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljT3B0aW9uUGFuZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgbmV3IExvb2tBbmRGZWVsIGluc3RhbGwqIG1ldGhvZHMuIFVzZQoJVUlNYW5hZ2VyLmdldCogbWV0aG9kcyBpbnN0ZWFkIG9mIFVJTWFuYWdlci5nZXREZWZhdWx0cygpLmdldCoKCW1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQYW5lbFVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgbmV3IExvb2tBbmRGZWVsIGluc3RhbGwqIG1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQb3B1cE1lbnVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUHJvZ3Jlc3NCYXJVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLiBVc2UKCVVJTWFuYWdlci5nZXQqIG1ldGhvZHMgaW5zdGVhZCBvZiBVSU1hbmFnZXIuZ2V0RGVmYXVsdHMoKS5nZXQqCgltZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4gVXNlCglVSU1hbmFnZXIuZ2V0KiBtZXRob2RzIGluc3RlYWQgb2YgVUlNYW5hZ2VyLmdldERlZmF1bHRzKCkuZ2V0KgoJbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbFBhbmVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2VwYXJhdG9yVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBVSU1hbmFnZXIuZ2V0KiBtZXRob2RzIGluc3RlYWQgb2YKCVVJTWFuYWdlci5nZXREZWZhdWx0cygpLmdldCogbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgbmV3IExvb2tBbmRGZWVsIGluc3RhbGwqIG1ldGhvZHMuIFVzZQoJVUlNYW5hZ2VyLmdldCogbWV0aG9kcyBpbnN0ZWFkIG9mIFVJTWFuYWdlci5nZXREZWZhdWx0cygpLmdldCoKCW1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGlubmVyVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NwbGl0UGFuZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgbmV3IExvb2tBbmRGZWVsIGluc3RhbGwqIG1ldGhvZHMuIFVzZQoJVUlNYW5hZ2VyLmdldCogbWV0aG9kcyBpbnN0ZWFkIG9mIFVJTWFuYWdlci5nZXREZWZhdWx0cygpLmdldCoKCW1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4gVXNlCglVSU1hbmFnZXIuZ2V0KiBtZXRob2RzIGluc3RlYWQgb2YgVUlNYW5hZ2VyLmdldERlZmF1bHRzKCkuZ2V0KgoJbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlSGVhZGVyVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4gVXNlCglVSU1hbmFnZXIuZ2V0KiBtZXRob2RzIGluc3RlYWQgb2YgVUlNYW5hZ2VyLmdldERlZmF1bHRzKCkuZ2V0KgoJbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4gVXNlCglVSU1hbmFnZXIuZ2V0KiBtZXRob2RzIGluc3RlYWQgb2YgVUlNYW5hZ2VyLmdldERlZmF1bHRzKCkuZ2V0KgoJbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLiBVc2UKCVVJTWFuYWdlci5nZXQqIG1ldGhvZHMgaW5zdGVhZCBvZiBVSU1hbmFnZXIuZ2V0RGVmYXVsdHMoKS5nZXQqCgltZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclNlcGFyYXRvclVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgVUlNYW5hZ2VyLmdldCogbWV0aG9kcyBpbnN0ZWFkIG9mCglVSU1hbmFnZXIuZ2V0RGVmYXVsdHMoKS5nZXQqIG1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBuZXcgTG9va0FuZEZlZWwgaW5zdGFsbCogbWV0aG9kcy4gVXNlCglVSU1hbmFnZXIuZ2V0KiBtZXRob2RzIGluc3RlYWQgb2YgVUlNYW5hZ2VyLmdldERlZmF1bHRzKCkuZ2V0KgoJbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xUaXBVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogVXNlIG5ldyBMb29rQW5kRmVlbCBpbnN0YWxsKiBtZXRob2RzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgbmV3IExvb2tBbmRGZWVsIGluc3RhbGwqIG1ldGhvZHMuIFVzZQoJVUlNYW5hZ2VyLmdldCogbWV0aG9kcyBpbnN0ZWFkIG9mIFVJTWFuYWdlci5nZXREZWZhdWx0cygpLmdldCoKCW1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNWaWV3cG9ydFVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBVc2UgbmV3IExvb2tBbmRGZWVsIGluc3RhbGwqIG1ldGhvZHMuCgoyMDA1LTEwLTEyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvTG9va0FuZEZlZWwuamF2YQoJKGluc3RhbGxCb3JkZXIpOiBJbXBsZW1lbnRlZC4KCShpbnN0YWxsQ29sb3JzKTogSW1wbGVtZW50ZWQuCgkoaW5zdGFsbENvbG9yc0FuZEZvbnQpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMTAtMTIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglSZXBvcnRlZCBieSBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCSogbmF0aXZlL2puaS9qYXZhLWxhbmcvamF2YV9sYW5nX1ZNUHJvY2Vzcy5jCgkoSmF2YV9qYXZhX2xhbmdfVk1Qcm9jZXNzX25hdGl2ZVNwYXduKTogRG9uJ3QgZGVsZXRlIGNsYXp6IGxvY2FsCglyZWZlcmVuY2UgdHdpY2UuCgkKMjAwNS0xMC0xMiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL2V2ZW50L1N3aW5nUHJvcGVydHlDaGFuZ2VTdXBwb3J0LmphdmEKCShmaXJlUHJvcGVydHlDaGFuZ2UoUHJvcGVydHlDaGFuZ2VFdmVudCkpOiBpZiBvbGQgYW5kIG5ldyB2YWx1ZXMgYXJlIAoJYm90aCBudWxsLCBsaXN0ZW5lcnMgc2hvdWxkIGJlIG5vdGlmaWVkLgoKMjAwNS0xMC0xMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDb21ib0JveE1vZGVsLmphdmEKCShzZXRTZWxlY3RlZEl0ZW0pOiBhbGxvdyB2YWx1ZXMgbm90IGluIGxpc3QsIGFuZCBkb24ndCBmaXJlIGFuIGV2ZW50IAoJaWYgdGhlIHZhbHVlIGlzIHVuY2hhbmdlZC4KCjIwMDUtMTAtMTEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0dhcENvbnRlbnQuamF2YToKCShnZXRQb3NpdGlvbnNJblJhbmdlKTogQ29ycmVjdGVkIGludGVydmFsIGNoZWNrLiAgVGhpcyBtaXJyb3JzIFJvbWFuJ3MKCWNoYW5nZSBpbiBHYXBDb250ZW50IGZyb20gMjAwNS0xMC0wNSBmb3IgYWRqdXN0UG9zaXRpb25zSW5SYW5nZSBhbmQKCXNldFBvc2l0aW9uc0luUmFuZ2UuCgoyMDA1LTEwLTExICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhOgoJKHZpZXdUb01vZGVsKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmE6CgkobW91c2VQcmVzc2VkKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmE6Cgkodmlld1RvTW9kZWwpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMTAtMTEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhOgoJKGluc2VydFVwZGF0ZSk6IFJlcGFpbnQgdGhlIEpUZXh0Q29tcG9uZW50IGFmdGVyIHRoZSB1cGRhdGUuCgkocmVtb3ZlVXBkYXRlKTogTGlrZXdpc2UuCgoyMDA1LTEwLTExICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvSkZpbGVDaG9vc2VyLmphdmE6IEFkZGVkIEFQSSBkb2NzIGFsbCBvdmVyLgoKMjAwNS0xMC0xMSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pFZGl0b3JQYW5lLmphdmEKCShBY2Nlc3NpYmxlSkVkaXRvclBhbmVIVE1MKTogTmV3IGlubmVyIGNsYXNzLgoJKEpFZGl0b3JQYW5lQWNjZXNzaWJsZUh5cGVydGV4dFN1cHBvcnQpOiBOZXcgaW5uZXIgY2xhc3MuCgkoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBIYW5kbGUgc3BlY2lhbCBjYXNlIHdoZW4gd2UgaGF2ZQoJYSBIVE1MRWRpdG9yS2l0LgoJKHNldEVkaXRvcktpdCk6IFJlc2V0IHRoZSBhY2Nlc3NpYmxlQ29udGV4dC4KCjIwMDUtMTAtMTEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9maWxlY2hvb3Nlci9GaWxlU3lzdGVtVmlldy5qYXZhCgkoZGVmYXVsdEZpbGVTeXN0ZW1WaWV3KTogbmV3IHByaXZhdGUgZmllbGQsCgkoZ2V0RmlsZVN5c3RlbVZpZXcpOiBpbml0aWFsaXNlIChpZiBuZWNlc3NhcnkpIGFuZCByZXR1cm4gCglkZWZhdWx0RmlsZVN5c3RlbVZpZXcuCgoyMDA1LTEwLTExICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vRGVtby5qYXZhCgkobWFpbik6IE1lc3NhZ2UgcmVtb3ZlZCBmcm9tIHRoZSBsb29wLgoKMjAwNS0xMC0xMCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9TaW1wbGVDb21tdW5pY2F0aW9uL0RlbW8uamF2YQoJKG1haW4pOiAzIHNlYyBwYXVzZSByZXBsYWNlZCBieSB3aGlsZSguLikgbG9vcC4gCgoyMDA1LTEwLTEwICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvSW50ZXJjZXB0b3IvUmVnaXN0cmF0b3IuamF2YSwKCWdudS9DT1JCQS9PYmplY3RDcmVhdG9yLmphdmEsCglnbnUvQ09SQkEvZ251VmFsdWVIb2xkZXIuamF2YSwKCWdudS9DT1JCQS9zdHViRmluZGVyLmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL1BvcnRhYmxlUmVtb3RlT2JqZWN0RGVsZWdhdGVJbXBsLmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL1N0dWJEZWxlZ2F0ZUltcGwuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvVXRpbERlbGVnYXRlSW1wbC5qYXZhLAoJb3JnL29tZy9DT1JCQS9PUkIuamF2YTogVXNlIGNvbnRleHQgY2xhc3MgbG9hZGVyLiAKCjIwMDUtMTAtMTAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJKG1vZGVsVG9WaWV3KHBvcywgU2hhcGUpKTogTmV3IG1ldGhvZC4KCSh2aWV3VG9Nb2RlbChmbG9hdCwgZmxvYXQsIFNoYXBlKSk6IE5ldyBtZXRob2QuCgoyMDA1LTEwLTEwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkVkaXRvclBhbmUuamF2YQoJKEFjY2Vzc2libGVKRWRpdG9yUGFuZSk6IE5ldyBpbm5lciBjbGFzcy4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudGVkIHRvIHJldHVybiBhbiBpbnN0YW5jZSBvZgoJQWNjZXNzaWJsZUpFZGl0b3JQYW5lLgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhCgkoQWNjZXNzaWJsZUpTY3JvbGxQYW5lKTogTmV3IGlubmVyIGNsYXNzLgoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogSW1wbGVtZW50ZWQgdG8gcmV0dXJuIGFuIGluc3RhbmNlIG9mCglBY2Nlc3NpYmxlSlNjcm9sbFBhbmUuCgkoc2V0Vmlld3BvcnQpOiBDYWxsIGFjY2Vzc2libGVDb250ZXh0J3MgcmVzZXRWaWV3UG9ydCgpIG1ldGhvZC4KCSogamF2YXgvc3dpbmcvSlRleHRBcmVhLmphdmEKCShBY2Nlc3NpYmxlSlRleHRBcmVhKTogTmV3IGlubmVyIGNsYXNzLgoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogSW1wbGVtZW50ZWQgdG8gcmV0dXJuIGFuIGluc3RhbmNlIG9mCglBY2Nlc3NpYmxlSlRleHRBcmVhLgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShBY2Nlc3NpYmxlSlRleHRGaWVsZCk6IE5ldyBpbm5lciBjbGFzcy4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudGVkIHRvIHJldHVybiBhbiBpbnN0YW5jZSBvZgoJQWNjZXNzaWJsZUpUZXh0RmllbGQuCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhCgkoZGVmYXVsdFByZXNzQWN0aW9uKTogTmV3IGZpZWxkLgoJKGRlZmF1bHRSZWxlYXNlQWN0aW9uKTogTmV3IGZpZWxkLgoKMjAwNS0xMC0xMCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pNZW51QmFyLmphdmEKCShBY2Nlc3NpYmxlSk1lbnVCYXIpOiBOZXcgaW5uZXIgY2xhc3MuCgkoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBJbXBsZW1lbnRlZCB0byByZXR1cm4gYW4gaW5zdGFuY2Ugb2YKCUFjY2Vzc2libGVKTWVudUJhci4KCjIwMDUtMTAtMTAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShwYWludENoaWxkcmVuKTogU2tpcCBjaGlsZHJlbiBpZiB0aGVpciBjbGlwIF9kb2Vzbid0XyBoaXQgdGhlCgljdXJyZW50CWNsaXAuCgkoc2V0VmlzaWJsZSk6IERvIG5vdGhpbmcgaWYgdGhlIGFjdHVhbCB2YWx1ZSBkaWRuJ3QgY2hhbmdlLgoKMjAwNS0xMC0xMCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L0dyYXBoaWNzLmphdmEKCShoaXRDbGlwKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgoyMDA1LTEwLTEwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvR3JhcGhpY3MuamF2YTogUmVmb3JtYXR0ZWQgZmlsZS4KCjIwMDUtMTAtMTAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL2JlYW5zL0luZGV4ZWRQcm9wZXJ0eURlc2NyaXB0b3IuamF2YQoJKHNldEluZGV4ZWRSZWFkTWV0aG9kKTogQ2hhbmdlZCBzaWduYXR1cmUgdG8gdGhyb3cKCUludHJvc3BlY3Rpb25FeGNlcHRpb24gYXMgc3BlY2lmaWVkLgoJKHNldEluZGV4ZWRXcml0ZU1ldGhvZCk6IENoYW5nZWQgc2lnbmF0dXJlIHRvIHRocm93CglJbnRyb3NwZWN0aW9uRXhjZXB0aW9uIGFzIHNwZWNpZmllZC4KCjIwMDUtMTAtMTAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShyZWN0Q2FjaGUpOiBOZXcgZmllbGQuIENhY2hlcyBSZWN0YW5nbGUgb2JqZWN0cyBmb3IgcmV1c2UuCgkocGFpbnRDaGlsZHJlbik6IENoYW5nZWQgdG8gcmV1c2UgY2FjaGVkIFJlY3RhbmdsZSBvYmplY3QuCgoyMDA1LTEwLTEwICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvYm9yZGVyL1RpdGxlZEJvcmRlci5qYXZhCgkoVGl0bGVkQm9yZGVyKFN0cmluZykpOiBDaGFuZ2VkIGRlZmF1bHQganVzdGlmaWNhdGlvbiBhbmQgcG9zaXRpb24sCgkoVGl0bGVkQm9yZGVyKEJvcmRlcikpOiBMaWtld2lzZSwKCShUaXRsZWRCb3JkZXIoQm9yZGVyLCBTdHJpbmcpKTogTGlrZXdpc2UsCgkoQm9yZGVyUGFpbnRlci5wYWludChHcmFwaGljcykpOiBVc2UgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0LAoJKEJvcmRlclBhaW50ZXIucGFpbnRFeGNlcHQpOiBGaXhlZCBib3VuZHMgZm9yIHJlZ2lvbiAzLAoJKHBhaW50Qm9yZGVyKTogaW5kZW50ZWQgbGVmdCBqdXN0aWZpZWQgdGl0bGUgZnVydGhlciwgYWRqdXN0ZWQgCglBQk9WRV9UT1AgdGV4dCBwb3NpdGlvbiwgYWRqdXN0ZWQgYm91bmRzIGZvciBjYWxsIHRvIHBhaW50RXhjZXB0KCksCgl1cGRhdGVkIGZvciByZW5hbWVkIGZpZWxkcyBpbiBNZWFzdXJlbWVudHMgY2xhc3MsCgkoZ2V0TWVhc3VyZW1lbnRzKTogYWRkZWQgc3BlY2lhbCBoYW5kbGluZyBmb3IgbnVsbCB0ZXh0LCBpbmNyZWFzZWQgCglvdXRlciBzcGFjaW5nLCBhZGp1c3RlZCBzcGFjaW5nIGZvciBUT1AsIEJPVFRPTSBhbmQgQkVMT1dfQk9UVE9NIHRpdGxlCglwb3NpdGlvbnMsCgkoTWVhc3VyZW1lbnRzLmJvcmRlclNwYWNpbmcpOiByZW5hbWVkIG91dGVyU3BhY2luZywKCShNZWFzdXJlbWVudHMuZWRnZVNwYWNpbmcpOiByZW5hbWVkIGlubmVyU3BhY2luZywKCShNZWFzdXJlbWVudHMuZ2V0Q29udGVudEluc2V0cyk6IHVwZGF0ZWQgZm9yIHJlbmFtZWQgZmllbGRzLAoJKE1lYXN1cmVtZW50cy5nZXRNaW5pbXVtU2l6ZSk6IHdyYXAgYXQgODAgY29sdW1ucy4KCjIwMDUtMTAtMDkgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglGaXhlcyBidWcgIzI0MDA2CgkqIGphdmEvbmV0L1NvY2tldC5qYXZhIChib3VuZCk6IE1ha2UgcGFja2FnZSBwcml2YXRlLgoJKiBqYXZhL25ldC9TZXJ2ZXJTb2NrZXQuamF2YSAoaW1wbEFjY2VwdCk6IFNldCBTb2NrZXQuYm91bmQgdG8gdHJ1ZS4KCjIwMDUtMTAtMDcgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogbmF0aXZlL2puaS9taWRpLWRzc2kvZ251X2phdmF4X3NvdW5kX21pZGlfZHNzaV9EU1NJU3ludGhlc2l6ZXIuYwoJKHByb2Nlc3MpOiBjYWxsIHJ1bl9tdWx0aXBsZV9zeW50aHMgaWYgcmVxdWlyZWQuCgoyMDA1LTEwLTA3ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvbWlkaS1kc3NpL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyLmMKCShKYXZhX2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyX29wZW5fMSk6IEF0dGVtcHQKCXRvIGNvbm5lY3QgdG8gdGhlIGphY2sgc2VydmVyIGF1dG9tYXRpY2FsbHkuICBGYWlsIGdyYWNlZnVsbHkuCgoyMDA1LTEwLTA3ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZheC9zb3VuZC9taWRpL2Rzc2kvRFNTSVN5bnRoZXNpemVyLmphdmEgKGxvYWRJbnN0cnVtZW50KToKCUltcGxlbWVudC4KCShzZWxlY3RQcm9ncmFtXyk6IE5ldyBuYXRpdmUgbWV0aG9kLgoJKiBpbmNsdWRlL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyLmg6IFJlYnVpbHQuCgkqIG5hdGl2ZS9qbmkvbWlkaS1kc3NpL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyLmMKCShzZWxlY3RQcm9ncmFtXyk6IE5ldyBmdW5jdGlvbi4KCjIwMDUtMTAtMDcgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDaG9pY2VQZWVyLmphdmEgKHBvc3RDaG9pY2VJdGVtRXZlbnQpOgoJRG9uJ3QgY2FsbCBzZWxlY3Qgb24gdGhlIEFXVCBDaG9pY2UgY29tcG9uZW50LgoJKiBqYXZhL2F3dC9DaG9pY2UuamF2YSAocHJvY2Vzc0l0ZW1FdmVudCk6IFNldCB0aGUgc2VsZWN0ZWQgaW5kZXgKCXdpdGhvdXQgY2FsbGluZyBpbnRvIHRoZSBwZWVycy4KCjIwMDUtMTAtMDcgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogZ251L2phdmF4L3NvdW5kL21pZGkvZHNzaS9EU1NJU3ludGhlc2l6ZXIuamF2YQoJRG9jIGNsZWFudXBzLgoJKERTU0lTeW50aGVzaXplci5EU1NJU291bmRiYW5rKTogTmV3IGNsYXNzLgoJKERTU0lTeW50aGVzaXplci5EU1NJSW5zdHJ1bWVudCk6IE5ldyBjbGFzcy4KCShzb3VuZGJhbmtzLCBkZWZhdWx0U291bmRiYW5rKTogTmV3IGZpZWxkcy4KCShnZXREZWZhdWx0U291bmRiYW5rKTogSW1wbGVtZW50ZWQuCgkoZ2V0QXZhaWxhYmxlSW5zdHJ1bWVudHMpOiBJbXBsZW1lbnRlZC4KCShnZXRQcm9ncmFtTmFtZV8sIGdldFByb2dyYW1CYW5rXywgZ2V0UHJvZ3JhbVByb2dyYW1fKTogTmV3IG5hdGl2ZQoJbWV0aG9kcy4KCShEU1NJU3ludGhlc2l6ZXIpOiBDcmVhdGUgZGVmYXVsdCBzb3VuZGJhbmsuCgkqIG5hdGl2ZS9qbmkvbWlkaS1kc3NpL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyLmMKCShKYXZhX2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyX2dldFByb2dyYW1OYW1lXzEsCglKYXZhX2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyX2dldFByb2dyYW1CYW5rXzEsCglKYXZhX2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyX2dldFByb2dyYW1Qcm9ncmFtXzEpOgoJTmV3IGZ1bmN0aW9ucy4KCSogaW5jbHVkZS9nbnVfamF2YXhfc291bmRfbWlkaV9kc3NpX0RTU0lTeW50aGVzaXplci5oOiBSZWJ1aWx0LgoKMjAwNS0xMC0wNyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkodGFibGVDaGFuZ2VkKTogUmV2YWxpZGF0ZSB0YWJsZSBpZiBpdHMgc3RydWN0dXJlIGNoYW5nZXMuCgoyMDA1LTEwLTA3ICBKYW4gUm9laHJpY2ggIDxqYW5Acm9laHJpY2guaW5mbz4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmE6IChKVHJlZSk6CgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YTogKHVwZGF0ZVJlbmRlcmVyKToKCW1vdmVkIHNldHRpbmcgb2YgVHJlZUNlbGxSZW5kZXJlciBmcm9tIEpUcmVlIHRvIEJhc2ljVHJlZVVJLgoKMjAwNS0xMC0wNyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmEvYmVhbnMvSW5kZXhlZFByb3BlcnR5RGVzY3JpcHRvci5qYXZhCgkoc2V0SW5kZXhlZFJlYWRNZXRob2QpOiBOZXcgbWV0aG9kLgoJKHNldEluZGV4ZWRXcml0ZU1ldGhvZCk6IE5ldyBtZXRob2QuCgoyMDA1LTEwLTA3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9iZWFucy9JbmRleGVkUHJvcGVydHlEZXNjcmlwdG9yLmphdmE6IFJlZm9ybWF0dGVkLgoKMjAwNS0xMC0wNyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25VSS5qYXZhCgkoY3VycmVudEljb24pOiBGaXggaWNvbiBmb3IgZGlzYWJsZWQgc2VsZWN0ZWQgYnV0dG9ucy4KCShwYWludCk6IE9ubHkgcGFpbnQgZm9jdXMgaW5kaWNhdG9yIGlmIGJ1dHRvbiBpcyBhY3R1YWxseQoJZm9jdXNQYWludGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUmFkaW9CdXR0b25VSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogSW5zdGFsbCBpY29ucyBmb3IgZGlzYWJsZWRJY29uIGFuZAoJZGlzYWJsZWRTZWxlY3RlZEljb24uCgkocGFpbnQpOiBQYWludCB0aGUgY29ycmVjdCBpY29uLiBPbmx5IHBhaW50IGZvY3VzIGluZGljYXRvcgoJaWYgYnV0dG9uIGlzIGFjdHVhbGx5IGZvY3VzUGFpbnRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RvZ2dsZUJ1dHRvblVJLmphdmEKCShwYWludCk6IE9ubHkgcGFpbnQgZm9jdXMgaW5kaWNhdG9yIGlmIGJ1dHRvbiBpcyBhY3R1YWxseQoJZm9jdXNQYWludGVkLgoKMjAwNS0xMC0wNyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHBhaW50KTogQ2FsbCBwYWludEJvcmRlciBiZWZvcmUgcGFpbnRDaGlsZHJlbi4KCShyZXNoYXBlKTogRmlyZSBBbmNlc3RvckV2ZW50IGlmIHBvc2l0aW9uIGhhcyBjaGFuZ2VkLgoJKGZpcmVBbmNlc3Rvck1vdmVkKTogTmV3IG1ldGhvZC4gRmlyZXMgQW5jZXN0b3JFdmVudHMgdG8gdGhpcwoJY29tcG9uZW50IGFuZCBhbGwgb2YgaXQncyBjaGlsZHJlbi4KCjIwMDUtMTAtMDcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9Cb3JkZXJGYWN0b3J5LmphdmEKCShjcmVhdGVMaW5lQm9yZGVyKENvbG9yKSk6IEZvcndhcmQgY2FsbCB0bwoJY3JlYXRlTGluZUJvcmRlcihDb2xvciwgaW50KSB3aXRoIHRoaWNrbmVzcyBvZiAxLgoKMjAwNS0xMC0wNiAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvam5pL21pZGktZHNzaS9nbnVfamF2YXhfc291bmRfbWlkaV9kc3NpX0RTU0lTeW50aGVzaXplci5jCgkoSmF2YV9nbnVfamF2YXhfc291bmRfbWlkaV9kc3NpX0RTU0lTeW50aGVzaXplcl9vcGVuXzEpOiBJZ25vcmUKCWNvbnRyb2xsZXJzIHRoYXQgYXJlbid0IG1hcHBlZCB0byBNSURJIGNvbnRyb2xzLgoKMjAwNS0xMC0wNiAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBJTlNUQUxMOiBEZXNjcmliZSBtaWRpIHByb3ZpZGVyIGRlcGVuZGVuY2llcy4KCgkqIG5hdGl2ZS9qbmkvbWlkaS1kc3NpL1JFQURNRTogTmV3IGZpbGUuCgkqIExJQ0VOU0UgKHRlcm1zKTogQWRkIG5vdGljZSBhYm91dCBjb2RlIGNvcGllZCBmcm9tIHRoZSBEU1NJCglkaXN0cmlidXRpb24uCgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL21pZGkvRGVtby5qYXZhOiBOZXcgZmlsZS4KCgkqIG5hdGl2ZS9qbmkvbWlkaS1kc3NpL2Rzc2lfZGF0YS5oIChkc3NpX2RhdGEpOiBBZGQgY29udHJvbF9jb3VudCwKCWNvbnRyb2xfcG9ydF9tYXAsIGNvbnRyb2xfdmFsdWVfbWFwLCBzYW1wbGVfcmF0ZSwgYW5kCgljb250cm9sX3ZhbHVlcyBmaWVsZHMuCgkqIG5hdGl2ZS9qbmkvbWlkaS1kc3NpL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyLmMKCShERUJVR19EU1NJX1BST1ZJREVSKTogTmV3IG1hY3JvLgoJKGdldF9wb3J0X2RlZmF1bHQpOiBOZXcgZnVuY3Rpb24uCgkoc2V0X2NvbnRyb2wpOiBOZXcgZnVuY3Rpb24uCgkoSmF2YV9nbnVfamF2YXhfc291bmRfbWlkaV9kc3NpX0RTU0lTeW50aGVzaXplcl9vcGVuXzEpOiBSZW1vdmUKCWRlYnVnIG91dHB1dC4gIFJlZm9ybWF0LiAgQWxsb2NhdGUgdGhlIGNvbnRyb2wgcG9ydHMgYW5kIGFzc2lnbgoJcHJvcGVyIGRlZmF1bHQgdmFsdWVzLgoJKEphdmFfZ251X2phdmF4X3NvdW5kX21pZGlfZHNzaV9EU1NJU3ludGhlc2l6ZXJfbm90ZU9uXzEpOiBVc2UKCUpMT05HX1RPX1BUUi4KCShKYXZhX2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyX25vdGVPZmZfMSk6IERpdHRvLgoJKiBnbnUvamF2YXgvc291bmQvbWlkaS9kc3NpL0RTU0lTeW50aGVzaXplci5qYXZhCgkoQ2hhbm5lbC5jb250cm9sQ2hhbmdlKTogSW1wbGVtZW50LgoJKGNvbnRyb2xDaGFuZ2VfKTogTmV3IG5hdGl2ZSBtZXRob2QuCgkqIGluY2x1ZGUvZ251X2phdmF4X3NvdW5kX21pZGlfZHNzaV9EU1NJU3ludGhlc2l6ZXIuaDogUmVidWlsdC4KCQoJKiBnbnUvamF2YXgvc291bmQvbWlkaS9hbHNhL0Fsc2FNaWRpU2VxdWVuY2VyRGV2aWNlLmphdmE6IE1ha2UKCWluc3RhbmNlIGZpbmFsLgoKMjAwNS0xMC0wNiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmE6CgkoZGV0ZXJtaW5lTWF4TGVuZ3RoKTogQXZvaWQgTlBFIGJ5IGNoZWNraW5nIHRoZSBTZWdtZW50IHRoYXQgZ2V0VGV4dAoJcmV0dXJucy4gIE5vIG5lZWQgdG8gcmV0dXJuIE1hdGgubWF4ICgwLCBtYXhMaW5lTGVuZ3RoKSBiZWNhdXNlCgltYXhMaW5lTGVuZ3RoIGlzIGd1YXJhbnRlZWQgdG8gYmUgMCBvciBncmVhdGVyLgoKMjAwNS0xMC0wNiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmE6CgkoZGV0ZXJtaW5lTWF4TGVuZ3RoKTogSWYgbWF4TGluZUxlbmd0aCBpcyAtMSB3ZSBzaG91bGQgcmV0dXJuIDAuCgkoaW5zZXJ0T3JSZW1vdmVVcGRhdGUpOiBBdm9pZCBOUEUgYnkgY2hlY2tpbmcgdGhlIFNlZ21lbnQgdGhhdCAKCWdldFRleHQgcmV0dXJucy4KCjIwMDUtMTAtMDYgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTWV0YWRhdGEuamF2YTogQ29tcGxldGUuCgoyMDA1LTEwLTA2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9Cb3hWaWV3LmphdmEKCShwYWludCk6IE9ubHkgY2FsbCBwYWludENoaWxkIGlmIGNoaWxkIGFsbG9jYXRpb24gaXMgbm90IGVtcHR5LgoJKGxheW91dCk6IERvbid0IHN0b3JlIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGZpZWxkcyBoZXJlLgoJKHNldFNpemUpOiBTdG9yZSB0aGUgd2lkdGggYW5kIGhlaWdodCBmaWVsZHMgaGVyZS4KCSogamF2YXgvc3dpbmcvdGV4dC9Db21wb3NpdGVWaWV3LmphdmEKCShnZXRWaWV3SW5kZXhBdFBvc2l0aW9uKTogUmV3b3JrZWQgY2hpbGQgdmlldyBzZWFyY2hpbmcuCgkoZ2V0SW5zaWRlQWxsb2NhdGlvbik6IEZpeGVkIGluc2V0cyBjYWxjdWxhdGlvbi4KCSogamF2YXgvc3dpbmcvdGV4dC9GbG93Vmlldy5qYXZhCgkoRmxvd1N0cmF0ZWd5LmxheW91dFJvdyk6IFJldHVybiBhbiBvZmZzZXQgb2YgLTEgaWYgbm8gbW9yZSBjaGlsZAoJdmlld3MgYXJlIGluIHRoZSBsb2dpY2FsIHZpZXcuCgkoRmxvd1N0cmF0ZWd5LmNyZWF0ZVZpZXcpOiBJZiB0aGVyZSBhcmUgbm8gbW9yZSBjaGlsZCB2aWV3cywKCXRoZW4gcmV0dXJuIG51bGwuCgkoTG9naWNhbFZpZXcuZ2V0Vmlld0luZGV4KTogTmV3IG1ldGhvZC4gSW1wbGVtZW50cyBjaGlsZCB2aWV3CglzZWFyY2hpbmcgZm9yIHRoZSBMb2dpY2FsVmlldy4KCSogamF2YXgvc3dpbmcvdGV4dC9HbHlwaFZpZXcuamF2YQoJKERlZmF1bHRHbHlwaFBhaW50ZXIuZ2V0SGVpZ2h0KTogVXNlIFRvb2xraXQgRm9udE1ldHJpY3MgaW5zdGVhZAoJb2YgcGFyZW50IGNvbnRhaW5lcnMgRm9udE1ldHJpY3MuCgkoRGVmYXVsdEdseXBoUGFpbnRlci5nZXRTcGFuKTogVXNlIFRvb2xraXQgRm9udE1ldHJpY3MgaW5zdGVhZAoJb2YgcGFyZW50IGNvbnRhaW5lcnMgRm9udE1ldHJpY3MuCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmEKCShnZXRUYWJiZWRUZXh0T2Zmc2V0KTogQ2hlY2sgZm9yIDAgaW4gdGhlIGNoYXIgYXJyYXkgYW5kIHN0b3AKCXRoZXJlLgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJKGdldENvbnRhaW5lcik6IElmIHRoZXJlJ3Mgbm8gcGFyZW50LCBkb24ndCB0aHJvdyBhbiBFcnJvciwgaW5zdGVhZAoJcmV0dXJuIG51bGwgYXMgc3BlY2lmaWVkLgoKMjAwNS0xMC0wNiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhOiBJbXBsZW1ldGVkIGxvY2tpbmcuCgkoaW5zZXJ0U3RyaW5nKTogT2J0YWluIHdyaXRlIGxvY2sgYmVmb3JlIGFsdGVyaW5nIGRvY3VtZW50LgoJKHJlYWRMb2NrKTogSW1wbGVtZW50ZWQuCgkocmVhZFVubG9jayk6IEltcGxlbWVudGVkLgoJKHJlbW92ZSk6IE9idGFpbiB3cml0ZSBsb2NrIGJlZm9yZSBhbHRlcmluZyBkb2N1bWVudC4KCShyZW5kZXIpOiBJbXBsZW1lbnRlZC4KCSh3cml0ZUxvY2spOiBJbXBsZW1lbnRlZC4KCSh3cml0ZVVubG9jayk6IEltcGxlbWVudGVkLgoJKGdldEN1cnJlbnRXcml0ZXIpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMTAtMDYgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KTGFiZWwuamF2YQoJKEpMYWJlbCk6IFNldCBhbGlnbm1lbnRYIHZhbHVlIHRvIDAuMEYuCgoyMDA1LTEwLTA2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShzdGFydEVkaXRpbmcpOiBTaG91bGQgYWx3YXlzIGNoYW5nZSB0aGUgYm91bmRzLCB3aGVuZXZlcgoJd2Ugc3RhcnQgZWRpdGluZy4KCShwYWludFJvdyk6IEZpeGVkIGxvY2F0aW9uIHdoZXJlIGVkaXRpbmcgY29tcG9uZW50IHNob3VsZAoJYmUgZHJhd24uIFRoZSBjb25zdGFudCB0YWtlcyBjYXJlIG9mIHRoZSBzcGFjZSBhcm91bmQgdGhlIAoJaWNvbi4KCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKEpUcmVlKTogQ2FsbGVkIHVwZGF0ZVVJIGZpcnN0IHNvIGN1cnJlbnRWaXNpYmxlUGF0aCBpcyAKCWNhY2hlZCByaWdodCBhd2F5LiBQcmV2ZW50cyBOUEVzLiAKCjIwMDUtMTAtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9TZXRPZkludGVnZXJTeW50YXguamF2YSAodG9TdHJpbmcpOiBXcm90ZS4KCShoYXNoQ29kZSk6IExpa2V3aXNlLgoJKGVxdWFscyk6IExpa2V3aXNlLgoJKGdldE1lbWJlcnMpOiBMaWtld2lzZS4KCShjb250YWlucyk6IEZpeGVkIGJvdW5kYXJ5IGNvbmRpdGlvbiBjaGVjay4KCShuZXh0KTogV3JvdGUuCgkobm9ybWFsaXplKTogUmV3cm90ZS4KCShTZXRPZkludGVnZXJTeW50YXgpOiBVcGRhdGVkLgoJKFNldE9mSW50ZWdlclN5bnRheChTdHJpbmcpKTogTmV3IGNvbnN0cnVjdG9yLgoJKHNraXBOdW1iZXIpOiBOZXcgbWV0aG9kLgoJKHNraXBXaGl0ZXNwYWNlKTogTGlrZXdpc2UuCgoyMDA1LTEwLTA2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Jvb3RQYW5lVUkuamF2YQoJKGluc3RhbGxVSSk6IENhbGwgbmV3IGhvb2sgbWV0aG9kcy4KCShpbnN0YWxsRGVmYXVsdHMpOiBOZXcgaG9vayBtZXRob2QuCgkoaW5zdGFsbENvbXBvbmVudHMpOiBOZXcgaG9vayBtZXRob2QuCgkoaW5zdGFsbExpc3RlbmVycyk6IE5ldyBob29rIG1ldGhvZC4KCShpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogTmV3IGhvb2sgbWV0aG9kLgoJKHVuaW5zdGFsbFVJKTogTmV3IG1ldGhvZC4KCSh1bmluc3RhbGxEZWZhdWx0cyk6IE5ldyBob29rIG1ldGhvZC4KCSh1bmluc3RhbGxDb21wb25lbnRzKTogTmV3IGhvb2sgbWV0aG9kLgoJKHVuaW5zdGFsbExpc3RlbmVycyk6IE5ldyBob29rIG1ldGhvZC4KCSh1bmluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBOZXcgaG9vayBtZXRob2QuCgoyMDA1LTEwLTA2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShtb3VzZVByZXNzZWQpOiBTaG91bGRuJ3QgY2hhbmdlIHggbG9jYXRpb24gZm9yIGxlYWYuCgoyMDA1LTEwLTA2ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBjb25maWd1cmUuYWM6IEFkZCBRdDQgY29uZmlndXJ5IGJpdHMgZm9yIE9TLVguCgoyMDA1LTEwLTA1ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShwYWludFJvdyk6IEZpeGVkIGluZGVudGF0aW9uLgoJKHVwZGF0ZUN1cnJlbnRWaXNpYmxlUGF0aCk6IEFkZGVkIEZJWE1FCgljb21tZW50LgoKMjAwNS0xMC0wNSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQm94Vmlldy5qYXZhCgkoYmFzZWxpbmVMYXlvdXQpOiBOZXcgbWV0aG9kLgoJKGNhbGN1bGF0ZU1ham9yQXhpc1JlcXVpcmVtZW50cyk6IFJlaW1wbGVtZW50ZWQgdG8gdXNlIHRoZQoJU2l6ZVJlcXVpcmVtZW50cyB1dGlsaXR5IG1ldGhvZHMuCgkoY2FsY3VsYXRlTWlub3JBeGlzUmVxdWlyZW1lbnRzKTogUmVpbXBsZW1lbnRlZCB0byB1c2UgdGhlCglTaXplUmVxdWlyZW1lbnRzIHV0aWxpdHkgbWV0aG9kcy4KCShsYXlvdXQpOiBVc2UgdGhlIG5ldyBiYXNlbGluZUxheW91dCBtZXRob2QuCgkobGF5b3V0TWFqb3JBeGlzKTogUmVpbXBsZW1lbnRlZCB0byB1c2UgdGhlIG5ldwoJZ2V0Q2hpbGRSZXF1aXJlbWVudHMgbWV0aG9kLgoJKGxheW91dE1pbm9yQXhpcyk6IFJlaW1wbGVtZW50ZWQgdG8gdXNlIHRoZSBuZXcKCWdldENoaWxkUmVxdWlyZW1lbnRzIG1ldGhvZC4KCShnZXRDaGlsZFJlcXVpcmVtZW50cyk6IE5ldyBtZXRob2QuCgkoZ2V0U3Bhbik6IE5ldyBtZXRob2QuCgkoZ2V0T2Zmc2V0KTogTmV3IG1ldGhvZC4KCShnZXRBbGlnbm1lbnQpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90ZXh0L1BhcmFncmFwaFZpZXcuamF2YQoJKFJvdy5nZXRBbGlnbm1lbnQpOiBOZXcgbWV0aG9kLgkKCShnZXRBbGlnbm1lbnQpOiBOZXcgbWV0aG9kLgkKCSogamF2YXgvc3dpbmcvdGV4dC9WaWV3LmphdmEKCShnZXRDb250YWluZXIpOiBJbXByb3ZlZCBlcnJvciBtZXNzYWdlIGluIGFzc2VydGlvbiBhIGxpdHRsZS4KCjIwMDUtMTAtMDUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUcmVlVUkuamF2YQoJKGluc3RhbGxVSSk6IEZpeGVkIHRvIGNhbGwgdG9nZ2xlRXhwYW5kU3RhdGUgaW5zdGVhZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoZ2V0UGF0aEZvclJvdyk6IFVzZWQgY3VycmVudFZpc2libGVQYXRoIHRvIGdldCBQYXRoLgoJKGdldFJvd0ZvclBhdGgpOiBVc2VkIGN1cnJlbnRWaXNpYmxlUGF0aCB0byBnZXQgcm93LgoJKGdldFJvd0NvdW50KTogUmV0dXJuZWQgY3VycmVudFZpc2libGVQYXRoIGxlbmd0aC4KCSh1cGRhdGVMYXlvdXRDYWNoZUV4cGFuZGVkTm9kZXMpOiBUb29rIG91dCB1bm5lZWRlZCBjb2RlLgoJKGluc3RhbGxVSSk6IEZpeGVkIHRvIGNhbGwgdG9nZ2xlRXhwYW5kU3RhdGUgaW5zdGVhZC4KCShnZXRQcmVmZXJyZWRTaXplKTogTWFkZSBtb3JlIGVmZmljZW50IGJ5IHVzaW5nIGN1cnJlbnRWaXNpYmxlUGF0aC4KCSh0b2dnbGVFeHBhbmRTdGF0ZSk6IENhbGxlZCB1cGRhdGVDdXJyZW50VmlzaWJsZVBhdGguCgkoZ2V0Q2VsbExvY2F0aW9uKTogTWFkZSBtb3JlIGVmZmljZW50LgoJKHBhaW50Tm9kZSk6IFJlbW92ZWQuCgkocGFpbnRSZWN1cnNpdmUpOiBNYWRlIG1vcmUgZWZmaWNlbnQsIGNoYW5nZWQgcGFpbnROb2RlIGNhbGxzIHRvIAoJcGFpbnRSb3cuCgkoZ2V0TmV4dFZpc2libGVOb2RlKTogUmVpbXBsZW1lbnRlZCB0byB1c2UgY3VycmVudFZpc2libGVQYXRoLgoJKGdldFByZXZpb3VzVmlzaWJsZU5vZGUpOiBMaWtld2lzZS4KCShwYWludFJvdyk6IEltcGxlbWVudGVkLgoJKHVwZGF0ZUN1cnJlbnRWaXNpYmxlUGF0aCk6IE5ldyBoZWxwZXIgdXNlZCB0byBjYWNoZSB0aGUgY3VycmVudAoJdmlzaWJsZSBwYXRoLgoKMjAwNS0xMC0wNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCVJlcG9ydGVkIGJ5IE5pY29sYXMgR2VvZmZyYXkgIDxuaWNvbGFzLmdlb2ZmcmF5QGxpcDYuZnI+CgkqIGphdmEvc2VjdXJpdHkvQWNjZXNzQ29udHJvbGxlci5qYXZhCgkoZG9Qcml2aWxlZ2VkKFByaXZpbGVnZWRFeGNlcHRpb25BY3Rpb24pKTogSWYgdGhlIEV4Y2VwdGlvbiBpcyBhCglSdW50aW1lIGV4Y2VwdGlvbiwgdGhlbiB0aHJvdyB0aGUgZXhjZXB0aW9uIGRpcmVjdGx5LCBvdGhlcndpc2UKCXdyYXAgaXQuCgkoZG9Qcml2aWxlZ2VkKFByaXZpbGVnZWRFeGNlcHRpb25BY3Rpb24sQWNjZXNzQ29udHJvbENvbnRleHQpKToKCUxpa2V3aXNlLgoKMjAwNS0xMC0wNSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvR2FwQ29udGVudC5qYXZhCgkoc2V0UG9zaXRpb25zSW5SYW5nZSk6IENoYW5nZWQgY2hlY2sgZm9yIGludGVydmFsIGVuZCB0byBhY3R1YWxseQoJY2hlY2sgZm9yIHRoZSBwb3NpdGlvbiBvZmZzZXRzLgoJKGFkanVzdFBvc2l0aW9uc0luUmFuZ2UpOiBDaGFuZ2VkIGNoZWNrIGZvciBpbnRlcnZhbCBlbmQgdG8gYWN0dWFsbHkKCWNoZWNrIGZvciB0aGUgcG9zaXRpb24gb2Zmc2V0cy4KCShkdW1wKTogTmV3IG1ldGhvZCBmb3IgZGVidWdnaW5nLgoJKGR1bXBQb3NpdGlvbnMpOiBOZXcgbWV0aG9kIGZvciBkZWJ1Z2dpbmcuCgoyMDA1LTEwLTA1ICBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCgkqIG00L2FjYXR0cmlidXRlLm00OiBBZGRlZC4KCSogY29uZmlndXJlLmFjOiBBZGRlZCBBQ19DX0FUVFJJQlVURS4KCSogbmF0aXZlL2ZkbGlibS9qYXZhLWFzc2VydC5oOiBBZGRlZCBtaXNzaW5nIGNvbmZpZy5oIGluY2x1ZGUsIAoJY2hhbmdlZCBjb21tZW50cyB0byBDIGNvbW1lbnRzLgoJKiBuYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfcmVmbGVjdF9BcnJheS5jOiBBZGRlZCBtaXNzaW5nIAoJY29uZmlnLmggaW5jbHVkZS4KCjIwMDUtMTAtMDUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhOgoJKGluc2VydE9yUmVtb3ZlVXBkYXRlKTogTmV3IG1ldGhvZC4KCShpbnNlcnRVcGRhdGUpOiBOZXcgbWV0aG9kLgoJKHJlbW92ZVVwZGF0ZSk6IE5ldyBtZXRob2QuCgoyMDA1LTEwLTA1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhCgkoc2hvd0lucHV0RGlhbG9nKENvbXBvbmVudCxPYmplY3QsU3RyaW5nLGludCxJY29uLE9iamVjdFtdLE9iamVjdCkpOgoJRG9uJ3QgY2FzdCByZXR1cm4gdmFsdWUuCgkoaW50ZXJuYWxTaG93SW5wdXREaWFsb2coQ29tcG9uZW50LE9iamVjdCxTdHJpbmcsaW50LEljb24sT2JqZWN0W10sCglPYmplY3QpKTogTGlrZXdpc2UuCgoyMDA1LTEwLTA1ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogZ251L0NPUkJBL0NEUi9jZHJJbnB1dC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9FbXB0eUV4Y2VwdGlvbkhvbGRlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Gb3J3YXJkUmVxdWVzdEhlbHBlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9GdW5jdGlvbmFsX09SQi5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvZ251U2VydmFudE9iamVjdC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9fUG9saWN5SW1wbEJhc2UuamF2YSwKICAgICAgICBnbnUvQ09SQkEvZ251QW55LmphdmEsCiAgICAgICAgZ251L0NPUkJBL3VuaXZlcnNhbEhvbGRlci5qYXZhLAogICAgICAgIG9yZy9vbWcvQ09SQkEvQ29tcGxldGlvblN0YXR1cy5qYXZhLAogICAgICAgIG9yZy9vbWcvQ09SQkEvTmFtZVZhbHVlUGFpckhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvQ09SQkEvT2JqZWN0SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9DT1JCQS9Qb2xpY3lIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL1BvbGljeUxpc3RIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL1NlcnZpY2VEZXRhaWxIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL1N0cmluZ1ZhbHVlSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9DT1JCQS9XU3RyaW5nVmFsdWVIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Db3NOYW1pbmcvQmluZGluZ0l0ZXJhdG9ySGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Db3NOYW1pbmcvQmluZGluZ0l0ZXJhdG9yUE9BLmphdmEsCiAgICAgICAgb3JnL29tZy9Db3NOYW1pbmcvQmluZGluZ1R5cGVIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0Nvc05hbWluZy9OYW1lQ29tcG9uZW50SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Db3NOYW1pbmcvTmFtZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRFeHRIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0RXh0UE9BLmphdmEsCiAgICAgICAgb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dEhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQT0EuamF2YSwKICAgICAgICBvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9BbHJlYWR5Qm91bmRIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9DYW5ub3RQcm9jZWVkSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvSW52YWxpZE5hbWVIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9Ob3RFbXB0eUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL05vdEZvdW5kSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvTm90Rm91bmRSZWFzb25IZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0Nvc05hbWluZy9fQmluZGluZ0l0ZXJhdG9ySW1wbEJhc2UuamF2YSwKICAgICAgICBvcmcvb21nL0Nvc05hbWluZy9fTmFtaW5nQ29udGV4dEltcGxCYXNlLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueUZhY3RvcnlQYWNrYWdlL0luY29uc2lzdGVudFR5cGVDb2RlSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueVBhY2thZ2UvSW52YWxpZFZhbHVlSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueVBhY2thZ2UvVHlwZU1pc21hdGNoSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueVNlcUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9OYW1lRHluQW55UGFpckhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9OYW1lRHluQW55UGFpclNlcUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9OYW1lVmFsdWVQYWlySGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L05hbWVWYWx1ZVBhaXJTZXFIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0lPUC9Db2RlY0ZhY3RvcnlQYWNrYWdlL1Vua25vd25FbmNvZGluZ0hlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvSU9QL0NvZGVjUGFja2FnZS9Gb3JtYXRNaXNtYXRjaEhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvSU9QL0NvZGVjUGFja2FnZS9JbnZhbGlkVHlwZUZvckVuY29kaW5nSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9JT1AvQ29kZWNQYWNrYWdlL1R5cGVNaXNtYXRjaEhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvSU9QL0lPUkhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvSU9QL011bHRpcGxlQ29tcG9uZW50UHJvZmlsZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvSU9QL1NlcnZpY2VDb250ZXh0SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9JT1AvU2VydmljZUNvbnRleHRMaXN0SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9JT1AvVGFnZ2VkQ29tcG9uZW50SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9JT1AvVGFnZ2VkUHJvZmlsZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9Gb3J3YXJkUmVxdWVzdEhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JbnZhbGlkU2xvdEhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PUkJJbml0SW5mb1BhY2thZ2UvRHVwbGljYXRlTmFtZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PUkJJbml0SW5mb1BhY2thZ2UvSW52YWxpZE5hbWVIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL0N1cnJlbnRQYWNrYWdlL05vQ29udGV4dEhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvRm9yd2FyZFJlcXVlc3RIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL0lkQXNzaWdubWVudFBvbGljeVZhbHVlLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9JZFVuaXF1ZW5lc3NQb2xpY3lWYWx1ZS5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvSW1wbGljaXRBY3RpdmF0aW9uUG9saWN5VmFsdWUuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL0xpZmVzcGFuUG9saWN5VmFsdWUuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQU1hbmFnZXJQYWNrYWdlL0FkYXB0ZXJJbmFjdGl2ZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BTWFuYWdlclBhY2thZ2UvU3RhdGUuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvQWRhcHRlckFscmVhZHlFeGlzdHNIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvQWRhcHRlck5vbkV4aXN0ZW50SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL0ludmFsaWRQb2xpY3lIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvTm9TZXJ2YW50SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL09iamVjdEFscmVhZHlBY3RpdmVIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvT2JqZWN0Tm90QWN0aXZlSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL1NlcnZhbnRBbHJlYWR5QWN0aXZlSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL1NlcnZhbnROb3RBY3RpdmVIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvV3JvbmdBZGFwdGVySGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL1dyb25nUG9saWN5SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9SZXF1ZXN0UHJvY2Vzc2luZ1BvbGljeVZhbHVlLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9TZXJ2YW50LmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9TZXJ2YW50TG9jYXRvckhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudFJldGVudGlvblBvbGljeVZhbHVlLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9UaHJlYWRQb2xpY3lWYWx1ZS5qYXZhOiBBZGRlZCBtaW5vciBjb2RlcyBmb3IgQkFEX1BBUkFNIGFuZCBOT19SRVNPVVJDRVMuCiAgICAgICAgKiBnbnUvQ09SQkEvTWlub3IuamF2YTogSW50cm9kdWNlcyBuZXcgbWlub3IgY29kZXMuCiAgICAgICAgKiBvcmcvb21nL0NPUkJBL0JBRF9PUEVSQVRJT04uamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL01BUlNIQUwuamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL05PX1JFU09VUkNFUy5qYXZhOiBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCjIwMDUtMTAtMDUgIFN0dWFydCBCYWxsYXJkICA8c3R1YXJ0LmEuYmFsbGFyZEBnbWFpbC5jb20+CgoJKiBqYXZhL3JtaS9Mb2FkZXJIYW5kbGVyLmphdmEgKHBhY2thZ2VQcmVmaXgpOiBNYXRjaCBTdW4ncyB2YWx1ZS4KCSogamF2YS9ybWkvUmVtb3RlUmVmLmphdmEgKHBhY2thZ2VQcmVmaXgpOiBMaWtld2lzZS4KCSogamF2YS9ybWkvUmVtb3RlT2JqZWN0LmphdmEgKHJlYWRPYmplY3QpOiBIYXJkY29kZSB0aGUgR05VIHBhY2thZ2UKCXByZWZpeC4KCjIwMDUtMTAtMDUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YToKCShyZW1vdmUpOiBJZiByZW1vdmluZyBjb250ZW50IHJldHVybnMgYW4gVW5kb2FibGVFZGl0LCB0aGVuIGFkZCBhbiAKCUVsZW1lbnRFZGl0IHRvIHRoZSBEb2N1bWVudEV2ZW50IGJlZm9yZSBmaXJpbmcuCgkqIGphdmF4L3N3aW5nL3RleHQvR2FwQ29udGVudC5qYXZhOgoJKFVuZG9SZW1vdmUpOiBOZXcgY2xhc3MgdG8gaW1wbGVtZW50IFVuZG9hYmxlRWRpdCBmb3IgcmVtb3ZlIG9wZXJhdGlvbi4KCShyZW1vdmUpOiBSZXR1cm4gYW4gVW5kb2FibGVFZGl0IGluc3RlYWQgb2YgbnVsbC4KCjIwMDUtMTAtMDUgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0xhYmVsVmlldy5qYXZhCgkoTGFiZWxWaWV3KTogSW1wbGVtZW50ZWQgdGhlIGNvbnN0cnVjdG9yLgoJKHNldFByb3BlcnRpZXNGcm9tQXR0cmlidXRlcyk6IE5ldyBtZXRob2QuCgkoY2hhbmdlZFVwZGF0ZSk6IE5ldyBtZXRob2QuCgkoZ2V0QmFja2dyb3VuZCk6IE5ldyBtZXRob2QuCgkoc2V0QmFja2dyb3VuZCk6IE5ldyBtZXRob2QuCgkoZ2V0Rm9yZWdyb3VuZCk6IE5ldyBtZXRob2QuCgkoZ2V0Rm9udCk6IE5ldyBtZXRob2QuCgkoZ2V0Rm9udE1ldHJpY3MpOiBOZXcgbWV0aG9kLgoJKGlzVW5kZXJsaW5lKTogTmV3IG1ldGhvZC4KCShzZXRVbmRlcmxpbmUpOiBOZXcgbWV0aG9kLgoJKGlzU3Vic2NyaXB0KTogTmV3IG1ldGhvZC4KCShzZXRTdWJzY3JpcHQpOiBOZXcgbWV0aG9kLgoJKGlzU3VwZXJzY3JpcHQpOiBOZXcgbWV0aG9kLgoJKHNldFN1cGVyc2NyaXB0KTogTmV3IG1ldGhvZC4KCShpc1N0cmlrZVRocm91Z2gpOiBOZXcgbWV0aG9kLgoJKHNldFN0cmlrZVRocm91Z2gpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMC0wNSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RhYmxlL0pUYWJsZUhlYWRlci5qYXZhCgkoYWNjZXNzaWJsZUNvbnRleHQpOiBSZW1vdmVkIHVubmVlZGVkIGZpZWxkLiBUaGUgcHJvdGVjdGVkCglmaWVsZCB3aXRoIHRoZSBzYW1lIG5hbWUgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KCShKVGFibGVIZWFkZXIpOiBNb3ZlZCBmaWVsZCBpbml0aWFsaXphdGlvbiB0byBuZXcgbWV0aG9kCglpbml0aWFsaXplTG9jYWxWYXJzKCkuCgkoc2V0Q29sdW1uTW9kZWwpOiBBZGQgYW5kIHJlbW92ZSB0aGlzIHRvIHRoZSBvbGQgYW5kIG5ldyBtb2RlbC4KCShjb2x1bW5BZGRlZCk6IE5ldyBsaXN0ZW5lciBtZXRob2QuCgkoY29sdW1uTWFyZ2luQ2hhbmdlZCk6IE5ldyBsaXN0ZW5lciBtZXRob2QuCgkoY29sdW1uTW92ZWQpOiBOZXcgbGlzdGVuZXIgbWV0aG9kLgoJKGNvbHVtblJlbW92ZWQpOiBOZXcgbGlzdGVuZXIgbWV0aG9kLgoJKGNvbHVtblNlbGVjdGlvbkNoYW5nZWQpOiBOZXcgbGlzdGVuZXIgbWV0aG9kLgoJKHJlc2l6ZUFuZFJlcGFpbnQpOiBOZXcgbWV0aG9kLgoJKGluaXRpYWxpemVMb2NhbFZhcnMpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMC0wNCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmE6IEFkZGVkIEFQSSBkb2NzIGFsbAoJb3Zlci4KCjIwMDUtMTAtMDQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YToKCShpbnNlcnRTdHJpbmcpOiBJZiBpbnNlcnRpbmcgYSBzdHJpbmcgaW50byB0aGUgQ29udGVudCByZXR1cm5zIGFuIAoJVW5kb2FibGVFZGl0LCB0aGVuIGFkZCBhbiBFbGVtZW50RWRpdCB0byB0aGUgRG9jdW1lbnRFdmVudCBiZWZvcmUgCglmaXJpbmcuCgkocmVtb3ZlKTogRG9uJ3QgZmlyZSBhIHJlbW92ZVVwZGF0ZSB1bmxlc3Mgc29tZSBjb250ZW50IHdhcyBhY3R1YWxseQoJcmVtb3ZlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmE6CgkoVW5kb0luc2VydFN0cmluZyk6IE5ldyBjbGFzcyB0byBpbXBsZW1lbnQgVW5kb2FibGVFZGl0IGZ1bmN0aW9ucy4KCShpbnNlcnRTdHJpbmcpOiBSZXR1cm4gYW4gVW5kb2FibGVFZGl0IGluc3RlYWQgb2YgbnVsbC4gIEFsc28gdXNlIAoJbG9jYWxseSBjYWxjdWxhdGVkIGxlbmd0aCBvZiBTdHJpbmcgcmF0aGVyIHRoYW4gY2FsY3VsYXRpbmcgYWdhaW4uCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YToKCShzZXRUZXh0KTogSWYgdGhlIERvY3VtZW50IGlzIGFuIEFic3RyYWN0RG9jdW1lbnQgdGhpcyBzaG91bGQgcGFzcyAKCXRocm91Z2ggQWJzdHJhY3REb2N1bWVudC5yZXBsYWNlIHJhdGhlciB0aGFuIGNhbGxpbmcgcmVtb3ZlIGFuZCBpbnNlcnQuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmE6CgkoZGV0ZXJtaW5lTWF4TGVuZ3RoKTogS2VlcCB0cmFjayBvZiB3aGljaCBsaW5lIHdhcyB0aGUgbG9uZ2VzdCBhcyB3ZWxsCglhcyB0aGUgbGVuZ3RoIG9mIGl0LiAgV2UnbGwgbmVlZCB0aGlzIHRvIGtub3cgd2hlbiB0aGUgbG9uZ2VzdCBsaW5lIGlzCglyZW1vdmVkIGFuZCB3ZSBuZWVkIHRvIHJlZGV0ZXJtaW5lIHRoZSBsb25nZXN0IGxpbmUuCgoyMDA1LTEwLTA0ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVyLmphdmEKCShwcm9jZXNzV2FybmluZ09jY3VycmVkKGludCxTdHJpbmcsU3RyaW5nKSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VSZWFkZXIuamF2YQoJKHByb2Nlc3NXYXJuaW5nT2NjdXJyZWQoU3RyaW5nLFN0cmluZykpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMC0wNCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRlci5qYXZhIChnZXREZXN0aW5hdGlvbik6IFRocm93CglJSU9FeGNlcHRpb24sIG5vdCBJT0V4Y2VwdGlvbi4KCSogamF2YXgvaW1hZ2Vpby9JbWFnZVR5cGVTcGVjaWZpZXIuamF2YQoJKGNyZWF0ZUdyYXlzY2FsZShpbnQsaW50LGJvb2xlYW4pKTogUmVuYW1lIGZyb20gY3JlYXRlR3JheVNjYWxlLgoJKGNyZWF0ZUdyYXlzY2FsZShpbnQsaW50LGJvb2xlYW4sYm9vbGVhbikpOiBMaWtld2lzZS4KCShjcmVhdGVJbmRleGVkKTogUmVuYW1lIGZyb20gY3JlYXRlSW5kZXguCgoyMDA1LTEwLTA0ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogIGRvYy93d3cuZ251Lm9yZy9jb3JiYS53bWw6IAogICAgICAgIExpbmsgdG8gIGh0dHA6Ly9kb2Mub21nLm9yZy92ZW5kb3ItdGFncy4gCgoyMDA1LTEwLTA0ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogZ251L0NPUkJBL01pbm9yLmphdmE6IE5ldyBmaWxlLgogICAgICAgICogZ251L0NPUkJBL0NEUi9JRExUeXBlSGVscGVyLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0NEUi9Vbmtub3duRXhjZXB0aW9uQ3R4SGFuZGxlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9DRFIvVmlvLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0NEUi9jZHJJbnB1dC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9DRFIvY2RyT3V0cHV0LmphdmEsCiAgICAgICAgZ251L0NPUkJBL0NEUi9nbnVSdW50aW1lLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0NEUi9ub0hlYWRlcklucHV0LmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL2dudUR5blZhbHVlLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0dJT1AvQ2xvc2VNZXNzYWdlLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0dJT1AvRXJyb3JNZXNzYWdlLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0dJT1AvTWVzc2FnZUhlYWRlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9HSU9QL3YxXzIvUmVxdWVzdEhlYWRlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9JT1IuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL0ZvcndhcmRlZFNlcnZhbnQuamF2YSwKICAgICAgICBnbnUvQ09SQkEvVmVyc2lvbi5qYXZhLAogICAgICAgIGdudS9DT1JCQS9jZHJFbmNhcHNDb2RlYy5qYXZhLAogICAgICAgIGdudS9DT1JCQS9nbnVBbnkuamF2YSwKICAgICAgICBnbnUvQ09SQkEvZ251UmVxdWVzdC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9zdHJlYW1SZWFkeUhvbGRlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS91bml2ZXJzYWxIb2xkZXIuamF2YSwKICAgICAgICBnbnUvamF2YXgvcm1pL0NPUkJBL1V0aWxEZWxlZ2F0ZUltcGwuamF2YSwKICAgICAgICBnbnUvamF2YXgvcm1pL0NPUkJBL2NvcmJhT2JqZWN0T3V0cHV0LmphdmEsCiAgICAgICAgZ251L2phdmF4L3JtaS9DT1JCQS9nbnVSbWlVdGlsLmphdmEsCiAgICAgICAgb3JnL29tZy9DT1JCQS9TdHJpbmdWYWx1ZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvQ09SQkEvU3RydWN0TWVtYmVySGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9DT1JCQS9Vbmlvbk1lbWJlckhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvQ09SQkEvVmFsdWVNZW1iZXJIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL1dTdHJpbmdWYWx1ZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvQ09SQkEvX0lETFR5cGVTdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueUZhY3RvcnlIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkFueUZhY3RvcnlTdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9JT1AvVGFnZ2VkQ29tcG9uZW50SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9JT1AvVGFnZ2VkUHJvZmlsZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9DdXJyZW50SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRBY3RpdmF0b3JIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRMb2NhdG9ySGVscGVyLmphdmE6CiAgICAgICAgSW5pdGlhbGlzaW5nIG1pbm9yIGNvZGVzIGZvciBNQVJTSEFMLgogICAgICAgICogb3JnL29tZy9DT1JCQS9TeXN0ZW1FeGNlcHRpb24uamF2YTogRG9jdW1lbnRhdGlvbiB1cGRhdGUgYW5kCiAgICAgICAgYWRkIG1pbm9yIGNvZGUgdG8gdGhlIGV4Y2VwdGlvbiBtZXNzYWdlLgogICAgICAgICogb3JnL29tZy9DT1JCQS9NQVJTSEFMLmphdmE6IERvY3VtZW50YXRpb24gdXBkYXRlLgoKMjAwNS0xMC0wNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YSAocGFpbnRCb3JkZXIpOiBDaGVjawoJd2hldGhlciBDb21wb25lbnQgaXMgSlRleHRDb21wb25lbnQuCgoyMDA1LTEwLTA0ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVyLmphdmEgKGF2YWlsYWJsZUxvY2FsZXMsIGxvY2FsZSwKCW9yaWdpbmF0aW5nUHJvdmlkZXIsIG91dHB1dCwgcHJvZ3Jlc3NMaXN0ZW5lcnMsIHdhcm5pbmdMaXN0ZW5lcnMsCgl3YXJuaW5nTG9jYWxlcyk6IEluaXRpYWxpemUuCgkoYWRkSUlPV3JpdGVQcm9ncmVzc0xpc3RlbmVyKTogQ2hlY2sgcHJvZ3Jlc3NMaXN0ZW5lcnMgYWdhaW5zdCBudWxsCgl0byBhdm9pZCBOUEUuIENyZWF0ZSBuZXcgQXJyYXlMaXN0IGlmIHByb2dyZXNzTGlzdGVuZXJzIGlzIG51bGwuCgkoYWRkSUlPV3JpdGVXYXJuaW5nTGlzdGVuZXIpOiBMaWtld2lzZSBmb3Igd2FybmluZ0xpc3RlbmVycy4KCShwcm9jZXNzSW1hZ2VDb21wbGV0ZSk6IENoZWNrIHByb2dyZXNzTGlzdGVuZXJzIGFnYWluc3QgbnVsbCB0bwoJYXZvaWQgTlBFLiAKCShwcm9jZXNzSW1hZ2VQcm9ncmVzcyk6IExpa2V3aXNlLgoJKHByb2Nlc3NJbWFnZVN0YXJ0ZWQpOiBMaWtld2lzZS4KCShwcm9jZXNzVGh1bWJuYWlsQ29tcGxldGUpOiBMaWtld2lzZS4KCShwcm9jZXNzVGh1bWJuYWlsUHJvZ3Jlc3MpOiBMaWtld2lzZS4KCShwcm9jZXNzVGh1bWJuYWlsU3RhcnRlZCk6IExpa2V3aXNlLgoJKHByb2Nlc3NXYXJuaW5nT2NjdXJyZWQpOiBMaWtld2lzZSBmb3Igd2FybmluZ0xpc3RlbmVycy4KCShwcm9jZXNzV3JpdGVBYm9ydGVkKTogTGlrZXdpc2UgZm9yIHByb2dyZXNzTGlzdGVuZXJzLgoJKHJlbW92ZUFsbElJT1dyaXRlUHJvZ3Jlc3NMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCShyZW1vdmVBbGxJSU9Xcml0ZVdhcm5pbmdMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCShyZW1vdmVJSU9Xcml0ZVByb2dyZXNzTGlzdGVuZXIpOiBMaWtld2lzZS4KCShyZW1vdmVJSU9Xcml0ZVdhcm5pbmdMaXN0ZW5lcik6IExpa2V3aXNlIGZvciB3YXJuaW5nTGlzdGVuZXJzLgoKCSogamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRlci5qYXZhIChhZGRJSU9SZWFkUHJvZ3Jlc3NMaXN0ZW5lcik6IENoZWNrCglwcm9ncmVzc0xpc3RlbmVycyBhZ2FpbnN0IG51bGwgdG8gYXZvaWQgTlBFLiBDcmVhdGUgbmV3IEFycmF5TGlzdAoJaWYgcHJvZ3Jlc3NMaXN0ZW5lcnMgaXMgbnVsbC4KCShhZGRJSU9SZWFkVXBkYXRlTGlzdGVuZXIpOiBMaWtld2lzZSBmb3IgdXBkYXRlTGlzdGVuZXJzLgoJKGFkZElJT1JlYWRXYXJuaW5nTGlzdGVuZXIpOiBMaWtld2lzZSBmb3Igd2FybmluZ0xpc3RlbmVycy4KCShwcm9jZXNzSW1hZ2VDb21wbGV0ZSk6ICBDaGVjayBwcm9ncmVzc0xpc3RlbmVycyBhZ2FpbnN0IG51bGwgdG8KCWF2b2lkIE5QRS4KCShwcm9jZXNzSW1hZ2VQcm9ncmVzcyk6IExpa2V3aXNlLgoJKHByb2Nlc3NJbWFnZVN0YXJ0ZWQpOiBMaWtld2lzZS4KCShwcm9jZXNzSW1hZ2VVcGRhdGUpOiBMaWtld2lzZSBmb3IgdXBkYXRlTGlzdGVuZXJzLgoJKHByb2Nlc3NQYXNzQ29tcGxldGUpOiBMaWtld2lzZS4KCShwcm9jZXNzUGFzc1N0YXJ0ZWQpOiBMaWtld2lzZS4KCShwcm9jZXNzUmVhZEFib3J0ZWQpOiBMaWtld2lzZSBmb3IgcHJvZ3Jlc3NMaXN0ZW5lcnMuCgkocHJvY2Vzc1NlcXVlbmNlQ29tcGxldGUpOiBMaWtld2lzZS4KCShwcm9jZXNzU2VxdWVuY2VTdGFydGVkKTogTGlrZXdpc2UuCgkocHJvY2Vzc1RodW1ibmFpbENvbXBsZXRlKTogTGlrZXdpc2UuCgkocHJvY2Vzc1RodW1ibmFpbFBhc3NDb21wbGV0ZSk6IExpa2V3aXNlIGZvciB1cGRhdGVMaXN0ZW5lcnMuCgkocHJvY2Vzc1RodW1ibmFpbFBhc3NTdGFydGVkKTogTGlrZXdpc2UuCgkocHJvY2Vzc1RodW1ibmFpbFByb2dyZXNzKTogTGlrZXdpc2UgZm9yIHByb2dyZXNzTGlzdGVuZXJzLgoJKHByb2Nlc3NUaHVtYm5haWxTdGFydGVkKTogTGlrZXdpc2UuCgkocHJvY2Vzc1RodW1ibmFpbFVwZGF0ZSk6IExpa2V3aXNlIGZvciB1cGRhdGVMaXN0ZW5lcnMuCgkocHJvY2Vzc1dhcm5pbmdPY2N1cnJlZCk6IExpa2V3aXNlIGZvciB3YXJuaW5nTGlzdGVuZXJzLgoJKHJlbW92ZUlJT1JlYWRQcm9ncmVzc0xpc3RlbmVyKTogTGlrZXdpc2UgZm9yIHByb2dyZXNzTGlzdGVuZXJzLgoJKHJlbW92ZUlJT1JlYWRVcGRhdGVMaXN0ZW5lcik6IExpa2V3aXNlIGZvciB1cGRhdGVMaXN0ZW5lcnMuCgkocmVtb3ZlSUlPUmVhZFdhcm5pbmdMaXN0ZW5lcik6IExpa2V3aXNlIGZvciB3YXJuaW5nTGlzdGVuZXJzLgoKMjAwNS0xMC0wNCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRvb2xUaXBVSS5qYXZhCgkocGFpbnQpOiBBZGRlZCBzcGFjZSBhcm91bmQgdGhlIHRvb2xUaXAncyBhY2NlbGVyYXRvci4KCShmZXRjaEFjY2VsZXJhdG9yU3RyaW5nKTogQWRkZWQgY29kZSB0byBnZXQgbW5lbW9uaWMgZm9yCglKTWVudUl0ZW0gaWYgaXQgZG9lcyBub3QgaGF2ZSBhbiBhY2NlbGVyYXRvci4KCjIwMDUtMTAtMDQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRDYXJldC5qYXZhCgkocmVwYWludCk6IEFkanVzdCByZXBhaW50IHJlY3RhbmdsZS4KCShzZXRWaXNpYmxlKTogT25seSByZXBhaW50IGlmIHRoZSB2aXNpYmxlIHByb3BlcnR5IGFjdHVhbGx5IGNoYW5nZWQuCgoyMDA1LTEwLTA0ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhOiBSZWZvcm1hdHRlZCBmaWxlLgoKMjAwNS0xMC0wNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCglGaXhlcyBCdWcgIzI0MDgwCgkqIGphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YQoJKGFkanVzdEdyZWF0ZXIpOiBBZGRlZCBjaGVjayB0byBwcmV2ZW50IG92ZXJmbG93LgoKMjAwNS0xMC0wNCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbFRpcFVJLmphdmEKCShhY2NUZXh0KTogcmVtb3ZlZCwKCShhY2NEZWxpbWluYXRvcik6IHJlbW92ZWQsCgkoYWNjRm9udCk6IHJlbW92ZWQsCgkoYWNjRm9yZSk6IHJlbW92ZWQsCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IHJlbW92ZWQgYWNjZWxlcmF0b3IgY29kZSAobm93IGluIE1ldGFsVG9vbFRpcFVJKSwKCShnZXRBY2NlbGVyYXRvclRleHQpOiByZW1vdmVkIChlcXVpdmFsZW50IGlzIG5vdyBpbiBNZXRhbFRvb2xUaXBVSSksCgkocGFpbnQpOiByZW1vdmVkIGFjY2VsZXJhdG9yIHBhaW50aW5nLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVG9vbFRpcFVJLmphdmEKCShwYWRTcGFjZUJldHdlZW5TdHJpbmdzKTogbmV3IGZpZWxkLAoJKE1ldGFsVG9vbFRpcFVJKTogaW5pdGlhbGlzZSBkZWZhdWx0cywKCShnZXRBY2NlbGVyYXRvclN0cmluZyk6IG5ldyBtZXRob2QsCgkoaW5zdGFsbFVJKTogbmV3IG1ldGhvZCwKCSh1bmluc3RhbGxVSSk6IG5ldyBtZXRob2QsCgkoaXNBY2NlbGVyYXRvckhpZGRlbik6IG5ldyBtZXRob2QsCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IG5ldyBtZXRob2QsCgkocGFpbnQpOiBuZXcgbWV0aG9kLAoJKGZldGNoQWNjZWxlcmF0b3JTdHJpbmcpOiBuZXcgcHJpdmF0ZSBtZXRob2QsCgkoYWNjZWxlcmF0b3JUb1N0cmluZyk6IG5ldyBwcml2YXRlIG1ldGhvZCwKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9EZW1vLmphdmEKCShta0J1dHRvbik6IHNldCB0b29sIHRpcC4KCjIwMDUtMTAtMDQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKGdldEZvbnQpOiBGYWxsIGJhY2sgdG8gcGVlci5nZXRHcmFwaGljcygpLmdldEZvbnQoKSBpZiBubyBmb250CglpcyBmb3VuZC4KCShnZXRHcmFwaGljcyk6IFNldCBmb250IGhlcmUuIFRoaXMgYXZvaWRzIGEgbG9vcCBpbiB0aGUgYWJvdmUKCWZhbGxiYWNrLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YQoJKEdka0dyYXBoaWNzKTogRG9uJ3QgaW5pdGlhbGl6ZSBmb250IGhlcmUuIFRoaXMgd291bGQgY2F1c2UgYQoJbG9vcCBpbiB0aGUgYWJvdmUgZmFsbGJhY2suCgoyMDA1LTEwLTA0ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvbWlkaS1kc3NpL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyLmMgCgkocHJvY2Vzcyk6IEFkZCBjb21tZW50cy4gIFJlbW92ZSB1bnVzZWQgZ2V0dGltZW9mZGF5IGNhbGwuCgkoSmF2YV9nbnVfamF2YXhfc291bmRfbWlkaV9kc3NpX0RTU0lTeW50aGVzaXplcl9vcGVuXzEpOiBSZW1vdmUKCWRlYnVnIG91dHB1dC4gIEFkZCBjb21tZW50cy4KCShKYXZhX2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyX25vdGVPbl8xLAoJSmF2YV9nbnVfamF2YXhfc291bmRfbWlkaV9kc3NpX0RTU0lTeW50aGVzaXplcl9ub3RlT2ZmXzEpOiBBZGQKCWNvbW1lbnRzLiAgUmVtb3ZlIGJvZ3VzIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLgoJKiBuYXRpdmUvam5pL21pZGktZHNzaS9kc3NpX2RhdGEuaCAoSkxPTkdfVE9fUFRSLCBQVFJfVE9fSkxPTkcpOiAKCURvY3VtZW50IGhlbHBlciBtYWNyb3MuCgkoZHNzaV9kYXRhKTogRG9jdW1lbnQuCgkqIG5hdGl2ZS9qbmkvbWlkaS1kc3NpL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSU1pZGlEZXZpY2VQcm92aWRlci5jOgoJRm9ybWF0dGluZyBmaXhlcy4KCSogbmF0aXZlL2puaS9taWRpLWFsc2EvZ251X2phdmF4X3NvdW5kX21pZGlfYWxzYV9BbHNhUG9ydERldmljZS5jCgkoSmF2YV9nbnVfamF2YXhfc291bmRfbWlkaV9hbHNhX0Fsc2FQb3J0RGV2aWNlX3J1bl8xcmVjZWl2ZXJfMXRocmVhZF8xKToKCVJlbW92ZSBkZWJ1Z2dpbmcgb3V0cHV0LgoKMjAwNS0xMC0wNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShBYnN0cmFjdEJ1dHRvbik6IFNldCB0ZXh0IHRvICIiIGhlcmUuCgoyMDA1LTEwLTA0ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhIChjbGVhclJlY3QpOiBDaGVjayBiZwoJYWdhaW5zdCBudWxsIHRvIGF2b2lkIE5QRS4KCjIwMDUtMTAtMDMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0VG9vbGtpdC5qYXZhIChpbml0VG9vbGtpdCk6IFVzZSBDb25maWd1cmF0aW9uCgl0byBzZWUgaWYgbGlicmFyeSBzaG91bGQgYmUgbG9hZGVkLgoKMjAwNS0xMC0wMyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmE6CgkobWF4TGluZUxlbmd0aCk6IE5ldyB2YXJpYWJsZSB0byBjYWNoZSB0aGUgbGVuZ3RoIG9mIHRoZSBsb25nZXN0IGxpbmUuCgkoZGV0ZXJtaW5lTWF4TGVuZ3RoKTogTmV3IGltcGxlbWVudGF0aW9uIG1ldGhvZC4KCShnZXRQcmVmZXJyZWRTcGFuKTogQ2FsbCBkZXRlcm1pbmUgbWF4IGxlbmd0aCBpbnN0ZWFkIG9mIGNhbGN1bGF0aW5nCglpdCBoZXJlLgoKMjAwNS0xMC0wMyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvQ29tcG9uZW50U2FtcGxlTW9kZWwuamF2YSAobnVtQmFuZHMpOiBVcGRhdGVkCglqYXZhZG9jLgoJKENvbXBvbmVudFNhbXBsZU1vZGVsKTogU2V0IG51bUJhbmRzLgoJKiBqYXZhL2F3dC9pbWFnZS9TYW1wbGVNb2RlbC5qYXZhIChudW1CYW5kcyk6IE5vdyBwcm90ZWN0ZWQuCgoyMDA1LTEwLTAzICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Qb2x5Z29uLmphdmEgKGV2YWx1YXRlQ3Jvc3NpbmdzKTogUmVtb3ZlZCBAc2VlLgoJKiBqYXZhL2F3dC9pbWFnZS9JbWFnZUNvbnN1bWVyLmphdmEgKFNJTkdMRVBBU1MpOiBKYXZhZG9jIGZpeC4KCSogamF2YS9hd3QvSW1hZ2UuamF2YSAoZ2V0R3JhcGhpY3MpOiBSZW1vdmVkIEBzZWUuCgkqIGphdmEvYXd0L01lbnVDb21wb25lbnQuamF2YSAoc2V0RW5hYmxlZCk6IEphdmFkb2MgZml4LgoJKHNldEJhY2tncm91bmQpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvZXZlbnQvTW91c2VFdmVudC5qYXZhOiBBZGRlZCBpbXBvcnQgZm9yIGphdmFkb2MuCgkqIGphdmEvYXd0L2ltL3NwaS9JbnB1dE1ldGhvZERlc2NyaXB0b3IuamF2YTogQWRkZWQgaW1wb3J0IGZvciBqYXZhZG9jLgoJKGdldEF2YWlsYWJsZUxvY2FsZXMpOiBKYXZhZG9jIGZpeC4KCSogamF2YS9hd3QvS2V5Ym9hcmRGb2N1c01hbmFnZXIuamF2YTogQWRkZWQgaW1wb3J0IGZvciBqYXZhZG9jLgoJKGRlZmF1bHRQb2xpY3kpOiBKYXZhZG9jIGZpeC4KCShzZXRHbG9iYWxPYmplY3QpOiBKYXZhZG9jIGZpeGVzLgoJKGdldE9iamVjdCk6IExpa2V3aXNlLgoJKGdldEdsb2JhbE9iamVjdCk6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9pbS9JbnB1dE1ldGhvZFJlcXVlc3RzLmphdmE6IEFkZGVkIGltcG9ydHMgZm9yIGphdmFkb2MuCgkqIGphdmEvYXd0L2ltL3NwaS9JbnB1dE1ldGhvZENvbnRleHQuamF2YTogQWRkZWQgaW1wb3J0cyBmb3IgamF2YWRvYy4KCShlbmFibGVDbGllbnRXaW5kb3dOb3RpZmljYXRpb24pOiBKYXZhZG9jIGZpeC4KCSogamF2YS9hd3QvaW0vc3BpL0lucHV0TWV0aG9kLmphdmE6IEFkZGVkIGltcG9ydHMgZm9yIGphdmFkb2MuCgkocmVtb3ZlTm90aWZ5KTogSmF2YWRvYyBmaXguCgkobm90aWZ5Q2xpZW50V2luZG93Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L2ltL0lucHV0Q29udGV4dC5qYXZhOiBBZGRlZCBpbXBvcnQgZm9yIGphdmFkb2MuCgkqIGphdmEvYXd0L2ltYWdlL0NvbG9yTW9kZWwuamF2YSAoZ2V0RGF0YUVsZW1lbnRzKTogSmF2YWRvYyBmaXguCgkqIGphdmEvYXd0L2dlb20vQXJlYS5qYXZhIChyZWN1cnNpdmVTdWJkaXZpZGUpOiBKYXZhZG9jIGZpeC4KCSogamF2YS9hd3QvZ2VvbS9HZW5lcmFsUGF0aC5qYXZhIChHZW5lcmFsUGF0aEl0ZXJhdG9yKTogSmF2YWRvYyBmaXguCgkqIGphdmEvYXd0L2ltL0lucHV0TWV0aG9kSGlnaGxpZ2h0LmphdmE6IEphdmFkb2MgZml4ZXMuICBBZGRlZAoJaW1wb3J0cy4KCSogamF2YS9hd3QvY29sb3IvSUNDX1Byb2ZpbGUuamF2YSAoZ2V0SW5zdGFuY2UpOiBKYXZhZG9jIGZpeC4KCShnZXRJbnN0YW5jZSk6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9FdmVudFF1ZXVlLmphdmE6IE9yZ2FuaXplZCBpbXBvcnRzLgoJKiBqYXZhL2F3dC9pbWFnZS9CdWZmZXJlZEltYWdlLmphdmE6IE9yZ2FuaXplZCBpbXBvcnRzLgoJKiBqYXZhL2F3dC9pbWFnZS9QYWNrZWRDb2xvck1vZGVsLmphdmEgKGluaXRNYXNrcyk6IEphdmFkb2MgZml4LgoJKiBqYXZhL2F3dC9HcmFwaGljc0NvbmZpZ3VyYXRpb24uamF2YSAoY3JlYXRlQ29tcGF0aWJsZVZvbGF0aWxlSW1hZ2UpOgoJSmF2YWRvYyBmaXhlcy4KCSogamF2YS9hd3QvRGVmYXVsdEtleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEgKGRlbGF5UmVxdWVzdHMpOiBKYXZhZG9jCglmaXguCgkqIGphdmEvYXd0L0NvbG9yUGFpbnRDb250ZXh0LmphdmEgKENvbG9yUGFpbnRDb250ZXh0KTogSmF2YWRvYyBmaXguCgoyMDA1LTEwLTAzICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhCgkoZ2V0SW5wdXRWYWx1ZSk6IElmIHRoZSBvcHRpb24gc2VsZWN0ZWQgaXMgJ0NhbmNlbCcsIHRoZW4KCXRoZSBpbnB1dCB2YWx1ZSBpcyBzZXQgdG8gbnVsbC4KCShzaG93SW50ZXJuYWxDb25maXJtRGlhbG9nKTogQWRkZWQgY2hlY2sgdG8gcHJldmVudCBOUEUuCgkoc2hvd0ludGVybmFsQ29uZmlybURpYWxvZyk6IExpa2V3aXNlLgoJKHNob3dJbnRlcm5hbENvbmZpcm1EaWFsb2cpOiBMaWtld2lzZS4KCShzaG93SW50ZXJuYWxDb25maXJtRGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd0ludGVybmFsT3B0aW9uRGlhbG9nKTogTGlrZXdpc2UuCgkoc2hvd09wdGlvbkRpYWxvZyk6IExpa2V3aXNlLgoKMjAwNS0xMC0wMyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIGphdmF4L3JtaS9DT1JCQS9WYWx1ZUhhbmRsZXIuamF2YSAoZ2V0UnVuVGltZUNvZGVCYXNlKTogCiAgICAgICAgRml4ZWQgcmV0dXJuIHR5cGUuCiAgICAgICAgKiBnbnUvamF2YXgvcm1pL0NPUkJBL1ZhbHVlSGFuZGxlckRlbGVnYXRlSW1wbC5qYXZhIAogICAgICAgIChnZXRSdW5UaW1lQ29kZUJhc2UpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMTAtMDMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhCgkoaW5pdCk6IFNldCBob3Jpem9udGFsVGV4dFBvc2l0aW9uIHRvIFRSQUlMSU5HLCBpbnN0ZWFkIG9mIAoJTEVGVC4gSWNvbnMgYXJlIGRyYXduIGluIHRoZSBjb3JyZWN0IHNwb3Qgbm93LgoKMjAwNS0xMC0wMyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIGRvYy93d3cuZ251Lm9yZy9jb3JiYS53bWw6IE5ldyBmaWxlLiAKCjIwMDUtMTAtMDMgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmEKCShsYXlvdXRMYWJlbCk6IHBsYWNlIHRleHQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBpY29uLCBpZiB0aGVyZSBpcyBvbmUuCgoyMDA1LTEwLTAzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENvbWJvQm94QnV0dG9uLmphdmEKCShwYWludENvbXBvbmVudCk6IHJlcG9zaXRpb24gdGV4dCBhbmQgdHJ1bmNhdGUgaWYgbmVjZXNzYXJ5LAoJKHRydW5jYXRlVGV4dCk6IHByaXZhdGUgdXRpbGl0eSBtZXRob2QuCgoyMDA1LTEwLTAzICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CiAgICAgICAgIAogICAgICAgICogTkVXUzogQWRkZWQgZW50cnkgYWJvdXQgQ2xhc3NwYXRoIFZNQ0lEIGFuZCBJSU9QLiAKICAgICAgICAgCjIwMDUtMTAtMDIgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogbmF0aXZlL2puaS9NYWtlZmlsZS5hbTogTWF5YmUgYnVpbGQgQUxTQSBjb2RlLgoJTWF5YmUgYnVpbGQgRFNTSSBjb2RlLgoKCSogZ251L2phdmF4L3NvdW5kL21pZGkvYWxzYS9BbHNhUG9ydERldmljZS5qYXZhLAoJZ251L2phdmF4L3NvdW5kL21pZGkvYWxzYS9BbHNhT3V0cHV0UG9ydERldmljZS5qYXZhCglnbnUvamF2YXgvc291bmQvbWlkaS9hbHNhL0Fsc2FJbnB1dFBvcnREZXZpY2UuamF2YQoJZ251L2phdmF4L3NvdW5kL21pZGkvYWxzYS9BbHNhTWlkaURldmljZVByb3ZpZGVyLmphdmEKCWdudS9qYXZheC9zb3VuZC9taWRpL2Fsc2EvQWxzYU1pZGlTZXF1ZW5jZXJEZXZpY2UuamF2YTogUmVidWlsdC4KCW5hdGl2ZS9qbmkvbWlkaS1hbHNhL2dudV9qYXZheF9zb3VuZF9taWRpX2Fsc2FfQWxzYVBvcnREZXZpY2UuYywKCW5hdGl2ZS9qbmkvbWlkaS1hbHNhL2dudV9qYXZheF9zb3VuZF9taWRpX2Fsc2FfQWxzYU1pZGlEZXZpY2VQcm92aWRlci5jLAoJbmF0aXZlL2puaS9taWRpLWFsc2EvZ251X2phdmF4X3NvdW5kX21pZGlfYWxzYV9BbHNhU2VxdWVuY2VyRGV2aWNlLmMsCgluYXRpdmUvam5pL21pZGktZHNzaS9kc3NpX2RhdGEuaCwgbmF0aXZlL2puaS9taWRpLWRzc2kvTWFrZWZpbGUuYW0sIAoJbmF0aXZlL2puaS9taWRpLWRzc2kvZ251X2phdmF4X3NvdW5kX21pZGlfZHNzaV9EU1NJTWlkaURldmljZVByb3ZpZGVyLmMKCW5hdGl2ZS9qbmkvbWlkaS1kc3NpL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyLmMsCgluYXRpdmUvam5pL21pZGktYWxzYS9NYWtlZmlsZS5hbTogTmV3IGZpbGVzLgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogQWRkIHNvdW5kIGhlYWRlciBmaWxlcy4KCSogaW5jbHVkZS9nbnVfamF2YXhfc291bmRfbWlkaV9hbHNhX0Fsc2FQb3J0RGV2aWNlLmgsCglpbmNsdWRlL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSU1pZGlEZXZpY2VQcm92aWRlci5oCglpbmNsdWRlL2dudV9qYXZheF9zb3VuZF9taWRpX2Rzc2lfRFNTSVN5bnRoZXNpemVyLmgKCWluY2x1ZGUvZ251X2phdmF4X3NvdW5kX21pZGlfYWxzYV9BbHNhTWlkaURldmljZVByb3ZpZGVyLmgsCglpbmNsdWRlL2dudV9qYXZheF9zb3VuZF9taWRpX2Fsc2FfQWxzYVNlcXVlbmNlckRldmljZS5oOiBOZXcKCWZpbGVzLgoJCgkqIGNvbmZpZ3VyZS5hYyAoQUNfQ09ORklHX0ZJTEVTKTogQWRkCgluYXRpdmUvam5pL21pZGktYWxzYS9NYWtlZmlsZSwgbmF0aXZlL2puaS9taWRpLWRzc2kvTWFrZWZpbGUuCgoyMDA1LTEwLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2F3dC9Gb250LmphdmEgKHBlZXIpOiBNYWtlIGZpZWxkIHRyYW5zaWVudC4KCShGb250KFN0cmluZyxpbnQsaW50KSk6IEV4cGxpY2l0bHkgc2V0IG5hbWUgZmllbGQuCgkoRm9udChTdHJpbmcsTWFwKSk6IExpa2V3aXNlLgoJKHJlYWRPYmplY3QpOiBOZXcgcHJpdmF0ZSBtZXRob2QuCgoyMDA1LTEwLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhICh3cml0ZU9iamVjdCk6IEFkZCBkZWZpbmluZyBjbGFzcwoJdG8gTm90U2VyaWFsaXphYmxlRXhjZXB0aW9uLgoKMjAwNS0xMC0wMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJMU3RyZWFtSGFuZGxlci5qYXZhIChob3N0c0VxdWFsKTogSmF2YWRvYyBmaXguCgkqIGphdmEvbmV0L1VSTENsYXNzTG9hZGVyLmphdmEgKGRlZmluZVBhY2thZ2UpOiBKYXZhZG9jIGZpeGVzLgoJKiBqYXZhL25ldC9JbmV0NEFkZHJlc3MuamF2YSAoSW5ldDRBZGRyZXNzKTogSmF2YWRvYyBmaXguCgkqIGphdmEvbmV0L1NvY2tldC5qYXZhIChnZXRMb2NhbEFkZHJlc3MpOiBKYXZhZG9jIGZpeC4KCSogamF2YS9uZXQvRGF0YWdyYW1Tb2NrZXQuamF2YSAoY29ubmVjdCk6IEphdmFkb2MgZml4LgoKMjAwNS0xMC0wMiAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIGdudS9qYXZheC9ybWkvUG9ydGFibGVTZXJ2ZXIuamF2YSwKICAgICAgICBnbnUvamF2YXgvcm1pL0NPUkJBL1ZhbHVlSGFuZGxlckltcGwuamF2YSwKICAgICAgICBqYXZheC9ybWkvQkFEX09QRVJBVElPTi5qYXZhLAogICAgICAgIGphdmF4L3JtaS9PUkIuamF2YSwKICAgICAgICBqYXZheC9ybWkvQ09SQkEvT2JqZWN0SW1wbC5qYXZhLAogICAgICAgIGphdmF4L3JtaS9DT1JCQS9TeXN0ZW1FeGNlcHRpb24uamF2YTogRGVsZXRlZC4gCgoyMDA1LTEwLTAyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvamF2YXgvcm1pL0NPUkJBL2NvcmJhT2JqZWN0T3V0cHV0LmphdmEgKG1haW4pOgoJUmVtb3ZlZCBtZXRob2QuCgoyMDA1LTEwLTAyICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogZ251L2phdmF4L2NyeXB0by9EaWZmaWVIZWxsbWFuSW1wbC5qYXZhIChyYW5kb20pOiByZW1vdmVkLgoJKDxpbml0Pik6IHJlbW92ZWQgJ3JhbmRvbScgaW5pdGlhbGl6YXRpb24uCgkoZW5naW5lRG9QaGFzZSk6IHVzZSBwYXJhbXMgZnJvbSB0aGUgaW5jb21pbmcga2V5OyBnZW5lcmF0ZSB0aGUKCWludGVybWVkaWF0ZSByZXN1bHQgZnJvbSB0aGUgaW5jb21pbmcga2V5LCBub3QgYSByYW5kb20gb25lOyBvbmx5CglzdXBwb3J0IG9uZS1waGFzZSBESCwgZm9yIG5vdy4KCShlbmdpbmVJbml0KTogcmVtb3ZlZCAncmFuZG9tJyBpbml0aWFsaXphdGlvbi4KCjIwMDUtMTAtMDIgIFJvYmVydCBTY2h1c3RlciAgPHJvYmVydHNjaHVzdGVyQGZzZmUub3JnPgoKCSogZ251L3htbC9zdHJlYW0vWE1MT3V0cHV0RmFjdG9yeUltcGwuamF2YToKCShzZXRQcm9wZXJ0eSk6IEFkZGVkICdlbHNlJy4KCjIwMDUtMTAtMDIgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBnbnUvQ09SQkEvQ0RSL1Zpby5qYXZhLAogICAgICAgIGdudS9DT1JCQS9DRFIvY2RyQnVmT3V0cHV0LmphdmEsCiAgICAgICAgZ251L0NPUkJBL0NEUi9nbnVSdW50aW1lLmphdmEsCiAgICAgICAgZ251L2phdmF4L3JtaS9DT1JCQS9jb3JiYU9iamVjdElucHV0LmphdmEsCiAgICAgICAgZ251L2phdmF4L3JtaS9DT1JCQS9kd29UZXN0ZXIuamF2YSwKICAgICAgICBnbnUvamF2YXgvcm1pL0NPUkJBL2dudVJtaVV0aWwuamF2YTogQ29ycmVjdGVkIGNvcHlyaWdodCAKICAgICAgICBoZWFkZXIgaWRlbnRhdGlvbi4KCjIwMDUtMTAtMDIgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9DRFIvQXJyYXlWYWx1ZUhlbHBlci5qYXZhLAoJZ251L0NPUkJBL0NEUi9JRExUeXBlSGVscGVyLmphdmEsCglnbnUvQ09SQkEvQ0RSL1Vua25vd25FeGNlcHRpb25DdHhIYW5kbGVyLmphdmEsCglnbnUvQ09SQkEvQ0RSL2dudVJ1bnRpbWUuamF2YSwKCWdudS9DT1JCQS9DRFIvZ251VmFsdWVTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvVk1WaW8uamF2YSwKCWdudS9DT1JCQS9Jb3JQcm92aWRlci5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9UaWVUYXJnZXRSZWNvcmQuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvVmFsdWVIYW5kbGVyRGVsZWdhdGVJbXBsLmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL2NvcmJhT2JqZWN0SW5wdXQuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvY29yYmFPYmplY3RPdXRwdXQuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvZHdvVGVzdGVyLmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL2dudVJtaVV0aWwuamF2YTogTmV3IGZpbGVzLgoJKiBnbnUvQ09SQkEvQ0RSL2FsaWduaW5nSW5wdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvYWxpZ25pbmdPdXRwdXRTdHJlYW0uamF2YToKCWdudS9DT1JCQS9DRFIvVmlvLmphdmEsCglnbnUvQ09SQkEvQ0RSL2NkckJ1ZklucHV0LmphdmEsCglnbnUvQ09SQkEvQ0RSL2NkckJ1Zk91dHB1dC5qYXZhLAoJZ251L0NPUkJBL0NEUi9jZHJJbnB1dC5qYXZhLAoJZ251L0NPUkJBL0NEUi9jZHJPdXRwdXQuamF2YSwKCWdudS9DT1JCQS9DRFIvbm9IZWFkZXJJbnB1dC5qYXZhLAoJZ251L0NPUkJBL0Z1bmN0aW9uYWxfT1JCLmphdmEsCglnbnUvQ09SQkEvR0lPUC9NZXNzYWdlSGVhZGVyLmphdmEsCglnbnUvQ09SQkEvR0lPUC9TZXJ2aWNlQ29udGV4dC5qYXZhLAoJZ251L0NPUkJBL0lPUl9EZWxlZ2F0ZS5qYXZhLAoJZ251L0NPUkJBL0lPUl9jb250cnVjdGVkX29iamVjdC5qYXZhLAoJZ251L0NPUkJBL0ludGVyY2VwdG9yL1JlZ2lzdHJhdG9yLmphdmEsCglnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9OYW1lUGFyc2VyLmphdmEsCglnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9OYW1pbmdTZXJ2aWNlVHJhbnNpZW50LmphdmEsCglnbnUvQ09SQkEvT2JqZWN0Q3JlYXRvci5qYXZhLAoJZ251L0NPUkJBL1BvYS9Mb2NhbERlbGVnYXRlLmphdmEsCglnbnUvQ09SQkEvUG9hL09SQl8xXzQuamF2YSwKCWdudS9DT1JCQS9Qb2EvZ251UE9BLmphdmEsCglnbnUvQ09SQkEvUG9hL2dudVNlcnZhbnRPYmplY3QuamF2YSwKCWdudS9DT1JCQS9TaW1wbGVfZGVsZWdhdGUuamF2YSwKCWdudS9DT1JCQS9nbnVBbnkuamF2YSwKCWdudS9DT1JCQS9nbnVSZXF1ZXN0LmphdmEsCglvcmcvb21nL0NPUkJBL09NR1ZNQ0lELmphdmEsCglvcmcvb21nL0NPUkJBL1N0cmluZ1ZhbHVlSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1N5c3RlbUV4Y2VwdGlvbi5qYXZhLAoJb3JnL29tZy9DT1JCQS9XU3RyaW5nVmFsdWVIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvcG9ydGFibGUvT2JqZWN0SW1wbC5qYXZhLAoJb3JnL29tZy9DT1JCQV8yXzMvT1JCLmphdmEsCglvcmcvb21nL0NPUkJBXzJfMy9wb3J0YWJsZS9JbnB1dFN0cmVhbS5qYXZhLAoJb3JnL29tZy9DT1JCQV8yXzMvcG9ydGFibGUvT3V0cHV0U3RyZWFtLmphdmE6IE1vZGlmaWVkIHRvIHN1cHBvcnQKCVJNSSBvdmVyIENPUkJBIG1lY2hhbmlzbS4KCSogZ251L2phdmF4L3JtaS9DT1JCQS9EZWxlZ2F0ZUZhY3RvcnkuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvUG9ydGFibGVSZW1vdGVPYmplY3REZWxlZ2F0ZUltcGwuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvU3R1YkRlbGVnYXRlSW1wbC5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9VdGlsRGVsZWdhdGVJbXBsLmphdmEsCglqYXZheC9ybWkvQ09SQkEvQ2xhc3NEZXNjLmphdmEsCglqYXZheC9ybWkvQ09SQkEvUG9ydGFibGVSZW1vdGVPYmplY3REZWxlZ2F0ZS5qYXZhLAoJamF2YXgvcm1pL0NPUkJBL1N0dWIuamF2YSwKCWphdmF4L3JtaS9DT1JCQS9TdHViRGVsZWdhdGUuamF2YSwKCWphdmF4L3JtaS9DT1JCQS9UaWUuamF2YSwKCWphdmF4L3JtaS9DT1JCQS9VdGlsLmphdmEsCglqYXZheC9ybWkvQ09SQkEvVXRpbERlbGVnYXRlLmphdmEsCglqYXZheC9ybWkvQ09SQkEvVmFsdWVIYW5kbGVyLmphdmEsCglqYXZheC9ybWkvQ09SQkEvcGFja2FnZS5odG1sLAoJamF2YXgvcm1pL1BvcnRhYmxlUmVtb3RlT2JqZWN0LmphdmEsCglqYXZheC9ybWkvcGFja2FnZS5odG1sOiBOZXcgZmlsZXMgKHJlcGxhY2luZykuCgkqIGdudS9qYXZheC9ybWkvQ09SQkEvVmFsdWVIYW5kbGVySW1wbC5qYXZhLAoJZ251L2phdmF4L3JtaS9Qb3J0YWJsZVNlcnZlci5qYXZhOiBNb2RpZmllZCB0byBrZWVwIHRoZSBjb2RlCgljb21waWxlYWJsZSBiZXR3ZWVuIHN1YnNlcXVlbnQgcGF0Y2hlcy4gCgoyMDA1LTEwLTAyICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlSU8uamF2YTogRml4IGNvbXBpbGF0aW9uIHByb2JsZW1zLgoKMjAwNS0xMC0wMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNjcm9sbEJhclVJLmphdmEKCShNZXRhbFNjcm9sbEJhclByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6CglPbmx5IHNldCBmcmVlIHN0YW5kaW5nIHdoZW4gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgYnV0dG9uIGlzbid0IG51bGwuCglJZiBub3QgRlJFRV9TVEFORElOR19QUk9QIHBhc3MgdXAgZXZlbnQgdG8gc3VwZXIgY2xhc3MuCgoyMDA1LTEwLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJV29ya2Fyb3VuZHMgZm9yIGJ1ZyAjMjQxNjYKCSogamF2YXgvaW1hZ2Vpby9JbWFnZUlPLmphdmEgKGZpbHRlcik6IENhdGNoIElPRXhjZXB0aW9uIGluCgljYW5EZWNvZGVJbnB1dCgpLgoJKFRyYW5zY29kZXJGaWx0ZXIuV3JpdGVyT2JqZWN0RmlsdGVyKTogUmVuYW1lZCB0byBUcmFuc2NvZGVyRmlsdGVyLgoJKGdldEltYWdlUmVhZGVyc0J5U3VmZml4KTogVXNlIFJlYWRlck9iamVjdEZpbHRlciwgbm90IHRoZSBub25leGlzdGluZwoJUmVhZGVyU3VmZml4RmlsdGVyLgoJKGNyZWF0ZUltYWdlSW5wdXRTdHJlYW0pOiBUZXN0IHdpdGggQ2xhc3MuaXNBc3NpZ25hYmxlRnJvbSgpIGFuZCBmb3IKCWZvdW5kU3BpID09IG51bGwuCgkoY3JlYXRlSW1hZ2VPdXRwdXRTdHJlYW0pOiBMaWtld2lzZSBhbmQgdXNlIG91dHB1dCwgbm90IGlucHV0LgoJKGdldEltYWdlUmVhZGVyKTogQWx3YXlzIHJldHVybiBudWxsIGZvciBub3cuCgkoZ2V0SW1hZ2VSZWFkZXJzKTogVXNlIGlucHV0LCBub3Qgb2JqZWN0LgoJKGdldEltYWdlV3JpdGVycyk6IFJlbmFtZSBmb3JtYXROYW1lIHRvIGZvcm1hdCBhbmQgY3JlYXRlIGEKCVdyaXRlck9iamVjdEZpbHRlciB3aXRoIHR5cGUgYW5kIGZvcm1hdCBub3QganVzdCBvYmplY3QuCgkoZ2V0SW1hZ2VXcml0ZXIpOiBBbHdheXMgcmV0dXJuIG51bGwgZm9yIG5vdy4KCShnZXRJbWFnZVRyYW5zY29kZXJzKTogQ3JlYXRlIFRyYW5zY29kZXJGaWx0ZXIgbm90IEltYWdlVHJhbnNjb2RlclNwaQoJaW5zdGFuY2UuCgoyMDA1LTEwLTAyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmE6IEFQSSBkb2MgdXBkYXRlcy4KCjIwMDUtMTAtMDIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmF4L2ltYWdlaW8vSUlPRXhjZXB0aW9uLmphdmE6IERvY3VtZW50LgoJKiBqYXZheC9pbWFnZWlvL0lJT0ltYWdlLmphdmE6IERvY3VtZW50LgoJKiBqYXZheC9pbWFnZWlvL0lJT1BhcmFtLmphdmE6IENvbXBsZXRlIGFuZCBkb2N1bWVudC4KCSogamF2YXgvaW1hZ2Vpby9JSU9QYXJhbUNvbnRyb2xsZXIuamF2YTogRG9jdW1lbnQuCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VJTy5qYXZhOiBDb21wbGV0ZSBhbmQgZG9jdW1lbnQuCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VSZWFkZXIuamF2YTogQ29tcGxldGUgYW5kIGRvY3VtZW50LgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlVHJhbnNjb2Rlci5qYXZhOiBEb2N1bWVudC4KCSogamF2YXgvaW1hZ2Vpby9JbWFnZVR5cGVTcGVjaWZpZXIuamF2YTogQ29tcGxldGUgYW5kIGRvY3VtZW50LgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVyLmphdmE6IENvbXBsZXRlIGFuZCBkb2N1bWVudC4KCSogamF2YXgvaW1hZ2Vpby9wYWNrYWdlLmh0bWw6IFdyaXRlLgoKMjAwNS0xMC0wMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGNsYXNzcGF0aC8yMzg5MDoKCSogamF2YS91dGlsL0NhbGVuZGFyLmphdmEgKGVxdWFscyk6IEluY2x1ZGUgb3RoZXIgY2FsZW5kYXIgCglhdHRyaWJ1dGVzLgoJKGhhc2hDb2RlKTogVXBkYXRlZC4KCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmEgKGhhc2hDb2RlKTogTmV3IG1ldGhvZC4KCShlcXVhbHMpOiBVc2Ugc3VwZXIuZXF1YWxzKCkuCgoyMDA1LTEwLTAxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9Db21wb25lbnRTYW1wbGVNb2RlbC5qYXZhIChudW1CYW5kcyk6IFNoYWRvdwoJcGFja2FnZS1wcml2YXRlIGZpZWxkIGluIHBhcmVudCBjbGFzcyB3aXRoIHRoaXMgcHJvdGVjdGVkIGZpZWxkLgoJKiBqYXZhL2F3dC9pbWFnZS9TYW1wbGVNb2RlbC5qYXZhIChudW1CYW5kcyk6IE1ha2UgZmllbGQKCXBhY2thZ2UtcHJpdmF0ZS4KCjIwMDUtMTAtMDEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBjbGFzc3BhdGgvMjM4ODA6CgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L0V4dGVuc2lvbi5qYXZhIChWYWx1ZS5oYXNoQ29kZSk6IE5ldwoJbWV0aG9kLgoJKiBnbnUvamF2YS9zZWN1cml0eS9kZXIvQml0U3RyaW5nLmphdmEgKGhhc2hDb2RlKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc2VjdXJpdHkvYXV0aC94NTAwL1g1MDBQcmluY2lwYWwuamF2YSAoaGFzaENvZGUpOiBOZXcgbWV0aG9kLgoKMjAwNS0xMC0wMSAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbmV0L1VSTENsYXNzTG9hZGVyLmphdmEKCShSZXNvdXJjZS5uYW1lKTogUmVtb3ZlZCBmaWVsZC4KCShKYXJVUkxSZXNvdXJjZS5uYW1lKTogQWRkZWQgZmllbGQuCgkoRmlsZVJlc291cmNlLmdldFVSTCk6IFVzZSBGaWxlLnRvVVJMKCkgaW5zdGVhZCBvZiBkb2luZyBpdCBpbgoJYSB3YXkgdGhhdCBicmVha3Mgb24gV2luZG93cy4KCjIwMDUtMTAtMDEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9pbmNsdWRlL2xheW91dC53bWw6IFBvaW50IFRhc2tzIG1lbnUgaXRlbSB0bwoJbWVkaWF0aW9uIHdpa2kuCgkqIGRvYy93d3cuZ251Lm9yZy90YXNrcy53bWw6IFJlZGlyZWN0IHRvIG1lZGlhdGlvbiB3aWtpLgoKMjAwNS0xMC0wMSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9zZXRUZXh0dXJlUGl4ZWxzVW5sb2NrZWQpOgoJQ2FsbCBjYWlyb19wYXR0ZXJuX3NldF9leHRlbmQgYWZ0ZXIgZ3ItPnBhdHRlcm4gaGFzIGJlZW4gc2V0IGFuZCBjaGVja2VkCgl2ZXJzdXMgTlVMTC4KCjIwMDUtMDktMzAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVGV4dFBhbmUuamF2YQoJKHJlcGxhY2VTZWxlY3Rpb24pOiBEb24ndCB1cGRhdGUgdGhlIGNhcmV0IHBvc2l0aW9uIGhlcmUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKERvY3VtZW50SGFuZGxlci5pbnNlcnRVcGRhdGUpOiBMaWtld2lzZS4KCShEb2N1bWVudEhhbmRsZXIucmVtb3ZlVXBkYXRlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEKCShEb2N1bWVudEhhbmRsZXIpOiBOZXcgaW5uZXIgY2xhc3MuIEhhbmRsZXMgY2FyZXQgcG9zaXRpb24gdXBkYXRlcy4KCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIpOiBOZXcgaW5uZXIgY2xhc3MuIChVbilpbnN0YWxscyBkb2N1bWVudAoJbGlzdGVuZXIgd2hlbiB0aGUgdGV4dCBjb21wb25lbnQncyBkb2N1bWVudCBjaGFuZ2VzLgoJKGluc3RhbGwpOiBJbnN0YWxsIHRoZSBuZXcgbGlzdGVuZXJzIG9uIHRoZSB0ZXh0IGNvbXBvbmVudC4KCShkZWluc3RhbGwpOiBEZWluc3RhbGwgdGhlIG5ldyBsaXN0ZW5lcnMgb24gdGhlIHRleHQgY29tcG9uZW50LgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YQoJKERlZmF1bHRLZXlUeXBlZEFjdGlvbi5hY3Rpb25QZXJmb3JtZWQpOiBEb24ndCB1cGRhdGUgdGhlIGNhcmV0Cglwb3NpdGlvbiBoZXJlLgoKMjAwNS0wOS0zMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKEFic3RyYWN0QnV0dG9uKTogdXBkYXRlVUkgc2hvdWxkIGJlIGNhbGxlZCBhZnRlcgoJZXZlcnl0aGluZyBpcyBpbml0aWFsaXplZCwgc28gZXZlcnl0aGluZyBpcyByZXZhbGlkYXRlZC4KCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmEKCShKTWVudUl0ZW0pOiBBZGRlZCBjYWxsIHRvIGluaXQgc28gbW9kZWwgaXMgc2V0LgoJKEpNZW51SXRlbSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhCgkoY3JlYXRlRGlhbG9nKTogUmVtb3ZlZCBpbnZhbGlkYXRlIGFuZCByZXBhaW50IGNhbGxzLgoJKEpPcHRpb25QYW5lKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YQoJKHNldFZpc2libGUpOiBDaGFuZ2VkIHNpemUgdG8gYmUgdGhlIHByZWZlcnJlZCBzaXplLgoKMjAwNS0wOS0zMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhCgkocGFpbnRUYWJBcmVhKTogQWRkZWQgY2hlY2sgdG8gYWRqdXN0IHJ1bkNvdW50IGlmCglpdCBpcyBsZXNzIHRoYXQgdGFiQ291bnQuCgoyMDA1LTA5LTMwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpbkRvY3VtZW50LmphdmE6CgkocmVtb3ZlVXBkYXRlKTogRml4ZWQgbGVuZ3RoIG9mIG5ldyBMZWFmRWxlbWVudCBhbmQgb2ZmLWJ5LW9uZSBlcnJvcgoJaW4gY2FsbCB0byByb290RWxlbWVudC5yZXBsYWNlKCkuCgoyMDA1LTA5LTMwICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YQoJKHByb3BlcnR5Q2hhbmdlKTogTm8gcmVhc29uIHRvIHJlc2V0IHRoZSBsYXlvdXQgbWFuYWdlciBoZXJlLgoJKHNldERpdmlkZXJMb2NhdGlvbik6IENoYW5nZWQgdG8gY2hlY2sgcmlnaHQgY29tcG9uZW50LCBub3QgbGVmdC4KCUFsc28sIHVwZGF0ZWQgdGhlIGxvY2F0aW9uIHRvIGEgdmFsaWQgc3BvdC4KCjIwMDUtMDktMzAgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL1NsaWRlckRlbW8uamF2YToKCU5ldyBmaWxlLgoKMjAwNS0wOS0zMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKHNldEFjdGlvbkNvbW1hbmQpOiBBZGRlZCBjaGVjayB0byBwcmV2ZW50IE5QRS4KCShnZXRNbmVtb25pYyk6IExpa2V3aXNlLgoJKHNldE1uZW1vbmljKTogTGlrZXdpc2UuCgkoc2V0U2VsZWN0ZWQpOiBMaWtld2lzZS4KCShpc1NlbGVjdGVkKTogTGlrZXdpc2UuCgkoc2V0RW5hYmxlZCk6IExpa2V3aXNlLgoJKGRvQ2xpY2spOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YQoJKHBhaW50TWVudUl0ZW0pOiBBZGRlZCBjaGVjayB0byBwcmV2ZW50IE5QRS4KCShwYWludFRleHQpOiBMaWtld2lzZS4KCjIwMDUtMDktMzAgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhCgkocHJvcGVydHlDaGFuZ2UpOiBBZGRlZCBjYWxsIHRvIHJlc2V0IHRoZSBsYXlvdXQgbWFuYWdlcgoJd2hlbmV2ZXIgdGhlIHNpemUgb2YgdGhlIGRpdmlkZXIgaXMgY2hhbmdlZC4KCShzZXREaXZpZGVyTG9jYXRpb24pOiBBZGRlZCBhZGp1c3RtZW50IHRvIGNvbnRhaW5lcgoJc2l6ZXMgaWYgdGhlIGRpdmlkZXIgZ29lcyBvdmVyIHRoZSBib3R0b20vcmlnaHQgc2lkZS4KCUFsc28sIGZpeGVkIHRoZSBzaXplIG9mIHRoZSByaWdodC90b3AgY29tcG9uZW50LgoJKHZhbGlkTG9jYXRpb24pOiBBZGRlZCBjaGVjayBmb3IgbWluL21heCBsb2NhdGlvbiByZXR1cm5lZC4KCjIwMDUtMDktMzAgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlQ29udGV4dC5qYXZhOgoJKFNtYWxsQXR0cmlidXRlU2V0LmdldEF0dHJpYnV0ZSk6IElmIHRoZSBhdHRyaWJ1dGUgd2UncmUgbG9va2luZyBmb3IgaXMKCVJlc29sdmVBdHRyaWJ1dGUsIGRvbid0IHRyeSB0byBjaGVjayB0aGUgcmVzb2x2ZSBwYXJlbnQsIGJlY2F1c2UgdGhpcyAKCXdpbGwgY2F1c2UgYW4gaW5maW5pdGUgbG9vcC4KCjIwMDUtMDktMzAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKGFjY2Vzc2libGVDb250ZXh0KTogUmVtb3ZlZCB1bm5lZWRlZCBmaWVsZC4gVGhpcyBpcyBhbHJlYWR5CglkZWNsYXJlZCBpbiBKQ29tcG9uZW50LgoJKiBqYXZheC9zd2luZy9Cb3guamF2YQoJKGFjY2Vzc2libGVDb250ZXh0KTogUmVtb3ZlZCB1bm5lZWRlZCBmaWVsZC4gVGhpcyBpcyBhbHJlYWR5CglkZWNsYXJlZCBpbiBKQ29tcG9uZW50LgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YQoJKEVYSVRfT05fQ0xPU0UpOiBOZXcgY29uc3RhbnQgZmllbGQuCgoyMDA1LTA5LTMwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmE6Cgkoc2hpZnRFbmQpOiBDYWxsIGFkanVzdFBvc2l0aW9uc0luUmFuZ2UgcmF0aGVyIHRoYW4gZ2V0UG9zaXRpb25zSW5SYW5nZQoJYW5kIHRoZW4gaXRlcmF0aW5nIG92ZXIgdGhlIHNldCBhbmQgYWRqdXN0aW5nIHRoZW0uCgkoc2hpZnRHYXApOiBMaWtld2lzZS4KCShzaGlmdEdhcFN0YXJ0RG93bik6IENhbGwgc2V0UG9zaXRpb25zSW5SYW5nZSByYXRoZXIgdGhhbgoJZ2V0UG9zaXRpb25zSW5SYW5nZSBhbmQgdGhlbiBpdGVyYXRpbmcgb3ZlciB0aGUgc2V0IHRvIHNldCBlYWNoCglQb3NpdGlvbi4KCShzaGlmdEdhcEVuZFVwKTogTGlrZXdpc2UuCgkoc2V0UG9zaXRpb25zSW5SYW5nZSk6IE5ldyBpbXBsZW1lbnRhdGlvbiBtZXRob2QuCgkoYWRqdXN0UG9zaXRpb25zSW5SYW5nZSk6IE5ldyBpbXBsZW1lbnRhdGlvbiBtZXRob2QuCgkocmVzZXRNYXJrc0F0WmVybyk6IENhbGwgc2V0UG9zaXRpb25zSW5SYW5nZSByYXRoZXIgdGhhbiAKCWdldFBvc2l0aW9uc0luUmFuZ2UgYW5kIHRoZW4gaXRlcmF0aW5nIG92ZXIgdGhlIHNldCB0byBzZXQgZWFjaAoJUG9zaXRpb24uCgoyMDA1LTA5LTMwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShnZXRTY3JvbGxhYmxlVW5pdEluY3JlbWVudCk6IFJlc3BlY3QgdGhlIGRpcmVjdGlvbiBhcmd1bWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbFBhbmVVSS5qYXZhCgkoVlNCQ2hhbmdlTGlzdGVuZXIuc3RhdGVDaGFuZ2VkKTogQ29tcGFyZSB5cG9zIHdpdGggdmlld1Bvc2l0aW9uLnkKCWluc3RlYWQgb2Ygdmlld1Bvc2l0aW9uLnguCgkoVmlld3BvcnRDaGFuZ2VIYW5kbGVyLnN0YXRlQ2hhbmdlZCk6IENhbGwKCXN5bmNTY3JvbGxQYW5lV2l0aFZpZXdwb3J0IGluIGFsbCBjYXNlcywgbm90IG9ubHkgd2hlbiB0aGUKCWV4dGVudHMgaGF2ZSBjaGFuZ2VkLgoJKHN5bmNTY3JvbGxQYW5lV2l0aFZpZXdwb3J0KTogQWxzbyBzeW5jIHRoZSBtYXhpbXVtIGFuZCB2YWx1ZQoJcHJvcGVydGllcyBvZiB0aGUgc2Nyb2xsYmFyIG1vZGVscyB3aXRoIHRoZSB2aWV3cG9ydC4KCjIwMDUtMDktMzAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUmFkaW9CdXR0b25VSS5qYXZhCgkocGFpbnQpOiBPbmx5IGNhbGwgcGFpbnRGb2N1cyBpZiBidXR0b24gaXMgYWN0dWFsbHkgZm9jdXNlZC4KCjIwMDUtMDktMzAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJRml4ZXMgQnVnICMyNDExNQoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhCgkoQWJzdHJhY3RCdXR0b24pOiBEb24ndCBjYWxsIGluaXQoKSBmcm9tIGhlcmUuIE1vdmVkIHNvbWUKCWluaXRpYWxpemF0aW9uIGNvZGUgZnJvbSBpbml0KCkgdG8gdGhlIGNvbnN0cnVjdG9yLgoJKGluaXQpOiBNb3ZlZCBtb3N0IG9mIHRoZSBpbml0aWFsaXphdGlvbiBjb2RlIHRvIHRoZSBjb25zdHJ1Y3Rvci4KCSogamF2YXgvc3dpbmcvSkNoZWNrQm94LmphdmEKCShKQ2hlY2tCb3goKSk6IGNhbGwgdGhpcyguLikgaW5zdGVhZCBvZiBzdXBlciguLikuIERvbid0IGNhbGwgaW5pdCgpCgloZXJlLCB0aGlzIGlzIGFscmVhZHkgcGVyZm9ybWVkIGJ5IHRoZSBKVG9nZ2xlQnV0dG9uIGNvbnN0cnVjdG9yLgoJKEpDaGVja0JveChBY3Rpb24pKTogRG9uJ3QgY2FsbCBpbml0KCkgaGVyZSwgdGhpcyBpcyBhbHJlYWR5CglwZXJmb3JtZWQgYnkgdGhlIEpUb2dnbGVCdXR0b24gY29uc3RydWN0b3IuCgkoSkNoZWNrQm94KEljb24pKTogY2FsbCB0aGlzKC4uKSBpbnN0ZWFkIG9mIHN1cGVyKC4uKS4gRG9uJ3QgY2FsbAoJaW5pdCgpIGhlcmUsIHRoaXMgaXMgYWxyZWFkeSBwZXJmb3JtZWQgYnkgdGhlIEpUb2dnbGVCdXR0b24KCWNvbnN0cnVjdG9yLgoJKEpDaGVja0JveChJY29uLCBib29sZWFuKSk6IExpa2V3aXNlLgoJKEpDaGVja0JveChTdHJpbmcpKTogTGlrZXdpc2UuCgkoSkNoZWNrQm94KFN0cmluZywgYm9vbGVhbikpOiBMaWtld2lzZS4KCShKQ2hlY2tCb3goU3RyaW5nLCBJY29uKSk6IExpa2V3aXNlLgoJKEpDaGVja0JveChTdHJpbmcsIEljb24sIGJvb2xlYW4pKTogRG9uJyBjYWxsIGluaXQgaGVyZS4gVGhpcyBpcwoJYWxyZWFkeSBwZXJmb3JtZWQgYnkgdGhlIEpUb2dnbGVCdXR0b24gY29uc3RydWN0b3IuIFNldCB0aGUKCWNvcnJlY3QgZGVmYXVsdHMgZm9yIGhvcml6b250YWxBbGlnbm1lbnQgYW5kIGJvcmRlclBhaW50ZWQKCXByb3BlcnRpZXMgaGVyZS4KCSogamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uLmphdmEKCShKUmFkaW9CdXR0b24oU3RyaW5nLCBJY29uLCBib29sZWFuKSk6IFVzZSBhY2NjZXNzb3IgbWV0aG9kcwoJaW5zdGVhZCBvZiBkaXJlY3RseSBtYW5pcHVsYXRpbmcgcGFja2FnZSBwcml2YXRlIGZpZWxkcyBvZgoJQWJzdHJhY3RCdXR0b24uCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YQoJKEpUb2dnbGVCdXR0b24oU3RyaW5nLCBJY29uLCBib29sZWFuKSk6IFNldCBjb3JyZWN0IHZhbHVlIGZvciB0aGUKCWFsaWdubWVudFggcHJvcGVydHkuCgoyMDA1LTA5LTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9KRmlsZUNob29zZXIuamF2YTogSW1wb3J0IEFjY2Vzc2libGVSb2xlLgoKMjAwNS0wOS0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoY3BfZ3RrX2dyYXBoaWNzMmRfaW5pdF9qbmkpOiBDaGVjayBFeGNlcHRpb25PY2N1cmVkIGFmdGVyIHJ1bm5pbmcKCWNsYXNzIGluaXRpYWxpemVyLgoKMjAwNS0wOS0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRNZXRyaWNzLmphdmEgKGluaXRGb250KTogTmV3IHN0YXRpYwoJbWV0aG9kLgoJKEdka0ZvbnRNZXRyaWNzKTogVXNlIGluaXRGb250KCkgaW4gc3VwZXIoKSBjYWxsLgoKMjAwNS0wOS0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrVGV4dExheW91dC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrVGV4dExheW91dF9nZXRPdXRsaW5lKTogSW5pdGlhbGl6ZSBhbGwKCWZpZWxkcyBvZiB0aGUgRlRfT3V0bGluZV9GdW5jcyBmdENhbGxiYWNrcyBzdHJ1Y3QuCgkoX21vdmVUbyk6IFRha2VzIGFuIHZvaWQgKiBhcyBhcmd1bWVudC4KCShfbGluZVRvKTogTGlrZXdpc2UuCgkoX3F1YWRUbyk6IExpa2V3aXNlLgoJKF9jdXJ2ZVRvKTogTGlrZXdpc2UuCgoyMDA1LTA5LTMwICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmF4L3N3aW5nL0pGaWxlQ2hvb3Nlci5qYXZhOgoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogSW1wbGVtZW50LgoJKEFjY2Vzc2libGVKRmlsZUNob29zZXIpOiBJbm5lciBjbGFzcyBpbXBsZW1lbnRlZC4KCQoyMDA1LTA5LTMwICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCUZpeGVzIEJ1ZyAyNDEyMgoJKiBnbnUveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckltcGwuamF2YQoJKHdyaXRlU3RyZWFtUmVzdWx0KTogQWRkZWQgY2FsbCB0byBjb25uZWN0aW9uLnNldERvSW5wdXQoZmFsc2UpLgoKMjAwNS0wOS0yOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJMQ29ubmVjdGlvbi5qYXZhIChzZXREb0lucHV0KTogSmF2YWRvYyBmaXguCgkoc2V0RG9PdXRwdXQpOiBMaWtld2lzZS4KCShzZXRDb250ZW50SGFuZGxlckZhY3RvcnkpOiBMaWtld2lzZS4KCShzZXRGaWxlTmFtZU1hcCk6IExpa2V3aXNlLgoKMjAwNS0wOS0yOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxQYW5lVUkuamF2YQoJKGluc3RhbGxVSSk6IENhbGwgdGhlIG5ldyBpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zIGhvb2suCgkodW5pbnN0YWxsVUkpOiBDYWxsIHRoZSBuZXcgdW5pbnN0YWxsS2V5Ym9hcmRBY3Rpb25zIGhvb2suCgkoaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IE5ldyBob29rIG1ldGhvZC4KCSh1bmluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBOZXcgaG9vayBtZXRob2QuCgoyMDA1LTA5LTI5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShBY3Rpb25TY3JvbGxlci5BY3Rpb25TY3JvbGxlcik6IEFkZGVkIGNvbnN0cnVjdG9yLgoKMjAwNS0wOS0yOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmEKCShLZXlIYW5kbGVyKTogTmV3IGlubmVyIGNsYXNzLgoJKGNyZWF0ZUtleUxpc3RlbmVyKTogTmV3IG1ldGhvZC4KCjIwMDUtMDktMjkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShnZXRMZWZ0Q2hpbGRJbmRlbnQpOiBGaXhlZCBtZXRob2Qgc2lnbmF0dXJlLgoJKGRyYXdDZW50ZXJlZCk6IEZpeGVkIG1ldGhvZCBzaWduYXR1cmUuCgoyMDA1LTA5LTI5ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgY2xhc3NwYXRoLzIzMzgxOgoJKiBqYXZhL2JlYW5zL1Byb3BlcnR5RGVzY3JpcHRvci5qYXZhIChoYXNoQ29kZSk6IE5ldyBtZXRob2QuCgoyMDA1LTA5LTI5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvT3ZlcmxheUxheW91dC5qYXZhOiBBZGRlZCBBUEkgZG9jcyBhbGwgb3Zlci4KCjIwMDUtMDktMjkgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0J1dHRvbkRlbW8uamF2YQoJKGNyZWF0ZUNvbnRlbnQpOiBhZGQgYSBjbG9zZSBidXR0b24sCgkoYWN0aW9uUGVyZm9ybWVkKTogcGVyZm9ybSBjbG9zZSBhY3Rpb24sCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvQ29tYm9Cb3hEZW1vLmphdmEKCShjcmVhdGVDb250ZW50KTogYWRkIGEgY2xvc2UgYnV0dG9uLAoJKGFjdGlvblBlcmZvcm1lZCk6IHBlcmZvcm0gY2xvc2UgYWN0aW9uLgoKMjAwNS0wOS0yOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YQoJKGdldEFsaWduZWRTaXplUmVxdWlyZW1lbnRzKTogRml4ZWQgY2FsY3VsYXRpb24gb2YgcHJlZmVycmVkIGFuZAoJbWF4aW11bSBzaXplIGFzIHdlbGwgYXMgdGhlIGFsaWdubWVudC4KCjIwMDUtMDktMjkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJRml4ZXMgQnVnICMyMzg1MQoJKiBqYXZheC9zd2luZy9PdmVybGF5TGF5b3V0LmphdmEKCShPdmVybGF5TGF5b3V0KTogSW1wbGVtZW50ZWQuCgkoaW52YWxpZGF0ZUxheW91dCk6IEltcGxlbWVudGVkLgoJKGFkZExheW91dENvbXBvbmVudChDb21wb25lbnQsIE9iamVjdCkpOiBJbXBsZW1lbnRlZC4KCShhZGRMYXlvdXRDb21wb25lbnQoU3RyaW5nLCBDb21wb25lbnQpKTogSW1wbGVtZW50ZWQuCgkocmVtb3ZlTGF5b3V0Q29tcG9uZW50KTogSW1wbGVtZW50ZWQuCgkocHJlZmVycmVkTGF5b3V0U2l6ZSk6IEltcGxlbWVudGVkLgoJKG1pbmltdW1MYXlvdXRTaXplKTogSW1wbGVtZW50ZWQuCgkobWF4aW11bUxheW91dFNpemUpOiBJbXBsZW1lbnRlZC4KCShnZXRMYXlvdXRBbGlnbm1lbnRYKTogSW1wbGVtZW50ZWQuCgkoZ2V0TGF5b3V0QWxpZ25tZW50WSk6IEltcGxlbWVudGVkLgoJKGxheW91dENvbnRhaW5lcik6IEltcGxlbWVudGVkLgoJKGNoZWNrUmVxdWlyZW1lbnRzKTogTmV3IHByaXZhdGUgaGVscGVyIG1ldGhvZC4KCShjaGVja1RvdGFsUmVxdWlyZW1lbnRzKTogTmV3IHByaXZhdGUgaGVscGVyIG1ldGhvZC4KCShjaGVja0xheW91dCk6IE5ldyBwcml2YXRlIGhlbHBlciBtZXRob2QuCgoyMDA1LTA5LTI5ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9Db21ib0JveERlbW8uamF2YTogbmV3IGRlbW8uCgoyMDA1LTA5LTI5ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9wcmludC9QcmludGVySm9iLmphdmEKCShwcmludChQcmludFJlcXVlc3RBdHRyaWJ1dGVTZXQpKTogUmVtb3ZlIGFic3RyYWN0IG1vZGlmaWVyIGFuZAoJaW1wbGVtZW50LgoKMjAwNS0wOS0yOSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YQoJKHNldFZpc2libGUpOiB1c2UgY3VycmVudCBzaXplLCBub3QgcHJlZmVycmVkIHNpemUsIHdoZW4gY2hlY2tpbmcgZm9yCglzY3JlZW4gZWRnZSwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvUG9wdXAuamF2YQoJKHNob3cpOiBpbmNsdWRlIHRvcCBhbmQgYm90dG9tIGluc2V0cyBpbiBwcmVmZXJyZWQgc2l6ZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENvbWJvQm94QnV0dG9uLmphdmEKCShNZXRhbENvbWJvQm94QnV0dG9uKTogZG9uJ3QgcGFzcyBpY29uIHRvIHN1cGVyIGNsYXNzLAoJKHBhaW50Q29tcG9uZW50KTogY2FsbCBzdXBlci5wYWludENvbXBvbmVudCgpIGFuZCByZXdvcmtlZCBsYWJlbCAKCWRyYXdpbmcuCgoyMDA1LTA5LTI5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCUZpeGVzIEJ1ZyAjMjQxMDUKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEKCShHYXBDb250ZW50UG9zaXRpb24uZ2V0T2Zmc2V0KTogQWRqdXN0ZWQgYXNzZXJ0IHN0YXRlbWVudC4KCShzaGlmdEdhcCk6IEFkanVzdGVkIGluZGV4IGluIGdldFBvc2l0aW9uc0luUmFuZ2UgY2FsbC4gQ2FsbAoJcmVzZXRNYXJrc0F0WmVybyBpZiBnYXBTdGFydCBoYXMgbW92ZWQgdG8gMC4KCShyZXBsYWNlKTogQ2FsbCBzaGlmdEdhcCBhbmQgc2hpZnRHYXBFbmRVcCBvbmx5IGlmIG5lY2Vzc2FyeS4KCShyZXNldE1hcmtzQXRaZXJvKTogTmV3IG1ldGhvZC4KCjIwMDUtMDktMjkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CglBZGRlZCBhIG5ldyBmaWVsZCBmb3IgdGhlIGdhcCBiZXR3ZWVuIHRoZSBpY29uIGFuZCB0ZXh0LgoJKHNldFByZWZlcnJlZE1lbnVJdGVtU2l6ZSk6IENoYW5nZWQgZ2FwIGZyb20gZGVmYXVsdFRleHRJY29uR2FwCgl0byBkZWZhdWx0VGV4dEFycm93SWNvbkdhcAoKMjAwNS0wOS0yOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9ybWkvYWN0aXZhdGlvbi9BY3RpdmF0aW9uR3JvdXBfU3R1Yi5qYXZhIChzZXJpYWxWZXJzaW9uVUlEKToKCU5ldyBmaWVsZC4KCjIwMDUtMDktMjggIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglGaXhlcyBCdWcgIzI0MDgwCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhCgkoc2hvdyk6IEZpeGVkIHRoZSBzeW5jaHJvbml6ZWQgYmxvY2sgdG8gZml4IGRlYWRsb2NrCglwcm9ibGVtLgoKMjAwNS0wOS0yOSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrVGV4dExheW91dC5qYXZhCgkoZ2V0T3V0bGluZSk6IEltcGxlbWVudCBhcyBuYXRpdmUKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrVGV4dExheW91dC5oCglBZGQgZGVjbGFyYXRpb24KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrVGV4dExheW91dC5jCgkoZ2V0T3V0bGluZSk6IEltcGxlbWVudC4KCQoyMDA1LTA5LTI5ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9ybWkvc2VydmVyL1JNSUNsYXNzTG9hZGVyLmphdmEKCShsb2FkQ2xhc3MoVVJMLCBTdHJpbmcpKTogTmV3IG1ldGhvZC4KCjIwMDUtMDktMjkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJRml4ZXMgQnVnICMyNDExNAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBTZXQgdGhlIGJhY2tncm91bmQgY29sb3IgY29ycmVjdGx5LgoKMjAwNS0wOS0yOSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJY29uRmFjdG9yeS5qYXZhCgkoZ2V0TWVudUFycm93SWNvbik6IGFkanVzdGVkIHRoZSBzaXplIGFuZCBwYWludGluZyBvZiB0aGUgcmV0dXJuZWQKCWljb24sCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEKCShwYWludE1lbnVJdGVtKTogYWRqdXN0ZWQgYXJyb3cgaWNvbiBwb3NpdGlvbi4KCjIwMDUtMDktMjggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YToKCShCcmFuY2hFbGVtZW50LmdldEVsZW1lbnRJbmRleCk6IElmIHRoZXJlIGFyZSBubyBjaGlsZHJlbiwgZG9uJ3QgcmV0dXJuCgktMSwgaW5zdGVhZCBnZXRTdGFydE9mZnNldCgpIHdpbGwgdGhyb3cgTlBFLiAgQWxzbywgaWYgbm8gY2hpbGQgRWxlbWVudAoJY29udGFpbnMgdGhlIHNwZWNpZmllZCBvZmZzZXQsIHJldHVybiB0aGUgY2xvc2VzdCBvbmUuCgoyMDA1LTA5LTI4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhCgkoc2hvd1RpcCk6IEFkZGVkIGNoZWNrIHRvIHByZXZlbnQgTlBFLgoJKGFkanVzdExvY2F0aW9uKTogQ2hhbmdlZCBlbHNlIGlmIHRvIGlmLCB0bwoJY2hlY2sgZmluYWwgeSBwb3NpdGlvbiBvZiB0b29sdGlwIGluY2FzZQoJaXQgaXMgc3RpbGwgY3V0IG9mZi4KCjIwMDUtMDktMjggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZhL3JtaS9zZXJ2ZXIvUk1JQ2xhc3NMb2FkZXIuamF2YToKCU1vdmVkIGFsbCBpbXBsZW1lbnRhdGlvbiBjb2RlIHRvCglnbnUuamF2YS5ybWkuc2VydmVyLlJNSUNsYXNzTG9hZGVySW1wbC4KCShnZXRQcm92aWRlckluc3RhbmNlKTogTmV3IGhlbHBlciBtZXRob2QgdG8gZmluZCBhIHByb3ZpZGVyLgoJKGdldERlZmF1bHRQcm92aWRlckluc3RhbmNlKTogTmV3IGhlbHBlciBtZXRob2QgdG8gZmluZCBhIHByb3ZpZGVyLgoJKGxvYWRDbGFzcyhTdHJpbmcsIFN0cmluZywgQ2xhc3MpKTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvcm1pL3NlcnZlci9STUlDbGFzc0xvYWRlckltcGwuamF2YToKCU5ldyBjbGFzcy4gVGhlIGltcGxlbWVudGF0aW9uIGlzIG1vdmVkIGZyb20KCWphdmEucm1pLnNlcnZlci5STUlDbGFzc0xvYWRlci4KCjIwMDUtMDktMjggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YToKCShBYnN0cmFjdEVsZW1lbnQuZ2V0UmVzb2x2ZVBhcmVudCk6IElmIHRoZSBBdHRyaWJ1dGVTZXQncyAKCWdldFJlc29sdmVQYXJlbnQgcmV0dXJucyBudWxsLCB1c2UgdGhlIEVsZW1lbnQncyBwYXJlbnQncyBBdHRyaWJ1dGVTZXQuCgoyMDA1LTA5LTI4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9ybWkvYWN0aXZhdGlvbi9BY3RpdmF0aW9uR3JvdXBfU3R1Yi5qYXZhOgoJTmV3IGNsYXNzLgoKMjAwNS0wOS0yOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShwYWludCk6IE5vIG5lZWQgdG8gY2FsbCBjYWxjdWxhdGVUaHVtYkxvY2F0aW9uLCBjYWxsZWQKCWJ5IGNhbGN1bGF0ZUdlb21ldHJ5LgoKMjAwNS0wOS0yOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCUZpeGVzIEJ1ZyAjMjM5MzQKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShwYWludCk6IENhbGxlZCBjYWxjdWxhdGVHZW9tZXRyeSwgc28gdGhlIHNsaWRlciBpcyAKCWluaXRpYWxseSBzZXQgdXAuCgoyMDA1LTA5LTI4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkKCUZpeGVzIEJ1ZyAjMjQwODAKCSogamF2YS9hd3QvV2luZG93LmphdmEKCShzaG93KTogQWRkZWQgYSBzeW5jaHJvbml6ZWQgYmxvY2sgdG8gZml4IGRlYWRsb2NrCglwcm9ibGVtLgoKMjAwNS0wOS0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhCgkoQWN0aW9uU2Nyb2xsZXIpOiBBZGRlZCB1bnVzZWQgY2xhc3MgZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVIZWFkZXJVSS5qYXZhCgkoTW91c2VJbnB1dEhhbmRsZXIpOiBNYWRlIGlubmVyIGNsYXNzIHB1YmxpYyBhcyBzcGVjaWZpZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmEKCShGb2N1c0hhbmRsZXIpOiAgTWFkZSBpbm5lciBjbGFzcyBwdWJsaWMgYXMgc3BlY2lmaWVkLgoJKE1vdXNlSW5wdXRIYW5kbGVyKTogIE1hZGUgaW5uZXIgY2xhc3MgcHVibGljIGFzIHNwZWNpZmllZC4KCjIwMDUtMDktMjggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YQoJKGN1cnJlbnRJY29uKTogTWFkZSBtZXRob2QgcGFja2FnZSBwcml2YXRlLCBzbyB0aGF0IG90aGVyIGJ1dHRvbgoJVUlzIGNhbiBhY2Nlc3MgaXQuCgkocGFpbnQpOiBSZW1vdmVkIHVubmVjZXNzYXJ5IGNhbGwgdG8gcGFpbnRCdXR0b25Ob3JtYWwoKS4KCShwYWludEJ1dHRvbk5vcm1hbCk6IFJlbW92ZWQgdW5uZWNlc3NhcnkgbWV0aG9kLiBUaGUgYmFja2dyb3VuZAoJaXMgYWxyZWFkeSBmaWxsZWQgY29ycmVjdGx5IHdoZW4gcGFpbnQoKSBpcyBlbnRlcmVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUmFkaW9CdXR0b25VSS5qYXZhCgkocGFpbnQpOiBDYWxsIHRoZSBuZXcgcGFpbnRGb2N1cygpIG1ldGhvZCBpbnN0ZWFkIG9mIHRoZSBpbmhlcml0ZWQKCWZyb20gQmFzaWNCdXR0b25VSS4KCShwYWludEZvY3VzKTogTmV3IG1ldGhvZC4gUGFpbnRzIHRoZSBmb2N1cyBpbmRpY2F0b3IgZm9yCglKUmFkaW9CdXR0b25zIGFuZCBzdWJjbGFzc2VzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9nZ2xlQnV0dG9uVUkuamF2YQoJKHBhaW50KTogTmV3IG1ldGhvZC4gSW1wbGVtZW50cyBjdXN0b20gcGFpbnRpbmcuIE1vc3RseSwgdGhpcwoJaXMgbmVlZGVkIGluIG9yZGVyIHRvIGNhbGwgdGhlIG5ldyBwYWludEljb24oKSBtZXRob2QuCgkocGFpbnRJY29uKTogTmV3IG1ldGhvZC4gTmFycm93cyB0aGUgdHlwZXMgZnJvbSB0aGUgc3VwZXItY2xhc3MKCW1ldGhvZC4KCjIwMDUtMDktMjggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1V0aWxpdGllcy5qYXZhOgoJKGdldFJvd0VuZCk6IENhbGwgZ2V0VGV4dCgpIHJhdGhlciB0aGFuIHRyeWluZyB0byBnZXQgdGhlIEVsZW1lbnQtCglzcGVjaWZpYyBwb3J0aW9uIHRvIGF2b2lkIEdhcENvbnRlbnQgZXJyb3JzLgoJKGdldFJvd1N0YXJ0KTogTGlrZXdpc2UuCgoyMDA1LTA5LTI4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZheC9zb3VuZC9taWRpL01pZGlVbmF2YWlsYWJsZUV4Y2VwdGlvbi5qYXZhIChzZXJpYWxWZXJzaW9uVUlEKToKCU5ldyBmaWVsZC4KCSogamF2YXgvc291bmQvbWlkaS9JbnZhbGlkTWlkaURhdGFFeGNlcHRpb24uamF2YSAoc2VyaWFsVmVyc2lvblVJRCk6CglOZXcgZmllbGQuCgoyMDA1LTA5LTI4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhCgkoZ2V0Qm9vbGVhbihPYmplY3QpKTogQVBJIGRvYyBjb3JyZWN0aW9uLgoKMjAwNS0wOS0yOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCdXR0b25MaXN0ZW5lci5qYXZhCgkocHJvcGVydHlDaGFuZ2UpOiBjaGVjayBuZXcgdmFsdWUgb2YgcHJvcGVydHkgdG8gZGV0ZXJtaW5lIHdoaWNoCglib3JkZXIgdG8gc2V0LgoKMjAwNS0wOS0yOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IEZpeGVkIGNoZWNrcyBmb3Igc2V0dGluZyBkZWZhdWx0cy4KCVNob3VsZCBjaGVjayBpZiBkZWZhdWx0IGlzIG51bGwgYWxzby4KCjIwMDUtMDktMjggIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglGaXhlcyBCdWcgIzI0MDc3CgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtGb250TWV0cmljcy5qYXZhCgkoR2RrRm9udE1ldHJpY3MpOiBBZGRlZCBhIGNoZWNrIGZvciB0aGUgZm9udAoJYmVpbmcgbnVsbC4gRml4ZWQgYSBOUEUuIAoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YQoJKEdka0dyYXBoaWNzKTogQWRkZWQgY2hlY2sgaWYgdGhlIGZvbnQgaXMgbnVsbC4KCUlmIGl0IGlzLCB0aGUgZm9udCBzaG91bGQgYmUgc2V0IHRvIHRoZSBkZWZhdWx0LgoJKHNldEZvbnQpOiBJZiBmb250IHBhcmFtZXRlciBpcyBudWxsLCB0aGlzLmZvbnQgc2hvdWxkIG5vdAoJYmUgY2hhbmdlZC4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhOgoJRml4ZWQgQVBJIGRvY3VtZW50YXRpb24gdG8gc2F5ICdKRGlhbG9nJyByYXRoZXIgdGhhbgoJJ0pXaW5kb3cnLgoKMjAwNS0wOS0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25VSS5qYXZhCgkoY3VycmVudEljb24pOiBNYWRlIG1ldGhvZCBwYWNrYWdlIHByaXZhdGUsIHNvIHRoYXQgb3RoZXIgYnV0dG9uCglVSXMgY2FuIGFjY2VzcyBpdC4KCShwYWludCk6IFJlbW92ZWQgdW5uZWNlc3NhcnkgY2FsbCB0byBwYWludEJ1dHRvbk5vcm1hbCgpLgoJKHBhaW50QnV0dG9uTm9ybWFsKTogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBtZXRob2QuIFRoZSBiYWNrZ3JvdW5kCglpcyBhbHJlYWR5IGZpbGxlZCBjb3JyZWN0bHkgd2hlbiBwYWludCgpIGlzIGVudGVyZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvblVJLmphdmEKCShwYWludCk6IENhbGwgdGhlIG5ldyBwYWludEZvY3VzKCkgbWV0aG9kIGluc3RlYWQgb2YgdGhlIGluaGVyaXRlZAoJZnJvbSBCYXNpY0J1dHRvblVJLgoJKHBhaW50Rm9jdXMpOiBOZXcgbWV0aG9kLiBQYWludHMgdGhlIGZvY3VzIGluZGljYXRvciBmb3IKCUpSYWRpb0J1dHRvbnMgYW5kIHN1YmNsYXNzZXMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb2dnbGVCdXR0b25VSS5qYXZhCgkocGFpbnQpOiBOZXcgbWV0aG9kLiBJbXBsZW1lbnRzIGN1c3RvbSBwYWludGluZy4gTW9zdGx5LCB0aGlzCglpcyBuZWVkZWQgaW4gb3JkZXIgdG8gY2FsbCB0aGUgbmV3IHBhaW50SWNvbigpIG1ldGhvZC4KCShwYWludEljb24pOiBOZXcgbWV0aG9kLiBOYXJyb3dzIHRoZSB0eXBlcyBmcm9tIHRoZSBzdXBlci1jbGFzcwoJbWV0aG9kLgoKMjAwNS0wOS0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoY3JlYXRlRGVmYXVsdFRoZW1lKTogQ2hhbmdlIGRlZmF1bHQgYmFjayB0byBEZWZhdWx0TWV0YWxUaGVtZS4KCVRoZSBPY2VhbiB0aGVtZSBpcyB0b28gaW5jb25zaXN0ZW50LgoKMjAwNS0wOS0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L0ZvbnQuamF2YQoJKHRrKTogTWFkZSBtZXRob2QgcGFja2FnZSBwcml2YXRlLiBNdXN0IG5vdCBiZSBwcm90ZWN0ZWQuCgkoZ2V0Rm9udEZyb21Ub29sa2l0KTogTWFkZSBtZXRob2QgcGFja2FnZSBwcml2YXRlLiBNdXN0IG5vdAoJYmUgcHJvdGVjdGVkLgoJKGdldFBlZXJGcm9tVG9vbGtpdCk6IE1hZGUgbWV0aG9kIHBhY2thZ2UgcHJpdmF0ZS4gTXVzdCBub3QKCWJlIHByb3RlY3RlZC4KCjIwMDUtMDktMjggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsUGFuZVVJLmphdmEKCShjcmVhdGVNb3VzZVdoZWVsTGlzdGVuZXIpOiBOZXcgaG9vayBtZXRob2QgZm9yIGNyZWF0aW5nCgltb3VzZSB3aGVlbCBsaXN0ZW5lcnMuCgkoaW5zdGFsbExpc3RlbmVycyk6IFVzZSBuZXcgaG9vayBtZXRob2QgdG8gY3JlYXRlIG1vdXNlIHdoZWVsCglsaXN0ZW5lcnMuCgoyMDA1LTA5LTI4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFByb2dyZXNzQmFyVUkuamF2YQoJKGNyZWF0ZVVJKTogUmVtb3ZlZCBIYXNodGFibGUgbG9va3VwLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2VwYXJhdG9yVUkuamF2YQoJKHBhaW50KTogTmV3IG1ldGhvZC4gVXNlcyB0aGUgbWV0YWwgY29sb3JzIGZvciBkcmF3aW5nIHNlcGFyYXRvcnMuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTcGxpdFBhbmVVSS5qYXZhCgkoY3JlYXRlVUkpOiBSZW1vdmVkIEhhc2h0YWJsZSBsb29rdXAuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUYWJiZWRQYW5lVUkuamF2YQoJKGNyZWF0ZVVJKTogUmVtb3ZlZCBIYXNodGFibGUgbG9va3VwLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVGV4dEZpZWxkVUkuamF2YQoJKGNyZWF0ZVVJKTogUmVtb3ZlZCBIYXNodGFibGUgbG9va3VwLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVHJlZVVJLmphdmEKCShjcmVhdGVVSSk6IFJlbW92ZWQgSGFzaHRhYmxlIGxvb2t1cC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9PY2Vhbi5qYXZhCgkoYWRkQ3VzdG9tRW50cmllc1RvVGFibGUpOiBOZXcgbWV0aG9kLiBBZGRzIHNvbWUgY3VzdG9tIFVJIGRlZmF1bHRzCglmb3IgdGhlIE9jZWFuIHRoZW1lLgoKMjAwNS0wOS0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTY3JvbGxCYXJVSS5qYXZhCgkocGFpbnRUaHVtYik6IFVzZSBuZXcgTWV0YWxVdGlscy5maWxsTWV0YWxQYXR0ZXJuIHNpZ25hdHVyZS4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNwbGl0UGFuZURpdmlkZXIuamF2YQoJKHBhaW50KTogVXNlIG5ldyBNZXRhbFV0aWxzLmZpbGxNZXRhbFBhdHRlcm4gc2lnbmF0dXJlLgoKMjAwNS0wOS0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJbnRlcm5hbEZyYW1lVGl0bGVQYW5lLmphdmEKCShwYWludFBhbGV0dGUpOiBVc2UgbmV3IE1ldGFsVXRpbHMuZmlsbE1ldGFsUGF0dGVybiBzaWduYXR1cmUuCgkocGFpbnRDb21wb25lbnQpOiBVc2UgbmV3IE1ldGFsVXRpbHMuZmlsbE1ldGFsUGF0dGVybiBzaWduYXR1cmUuCgoyMDA1LTA5LTI4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YQoJKE1lbnVJdGVtQm9yZGVyLnBhaW50Qm9yZGVyKTogRml4ZWQgcGFpbnRpbmcgc28gdGhhdCBhIHRoaW4gd2hpdGUKCWxpbmUgaXMgZHJhd24gb24gdGhlIGxlZnQgb2YgdW5hcm1lZCBpdGVtcy4gRml4ZWQgY29sb3IgaGFuZGxpbmcuCgkoUG9wdXBNZW51Qm9yZGVyLmJvcmRlckluc2V0cyk6IEZpeGVkIGluc2V0cy4gCgkoUG9wdXBNZW51Qm9yZGVyLnBhaW50Qm9yZGVyKTogUmVtb3ZlZCBsZWZ0IHdoaXRlIGxpbmUuIFRoaXMgaXMKCWRyYXduIG5vdyBpbiB0aGUgTWVudUl0ZW1Cb3JkZXIuCgkoVG9vbEJhckJvcmRlci5wYWludEJvcmRlcik6IFVzZSBjb3JyZWN0IGNhbGwgdG8gbmV3IE1ldGFsVXRpbHMKCWZpbGxNZXRhbFBhdHRlcm4gbWV0aG9kIHNpZ25hdHVyZS4KCjIwMDUtMDktMjggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVXRpbHMuamF2YQoJKGZpbGxNZXRhbFBhdHRlcm4pOiBJZiB3ZSBoYXZlIGEgR3JhcGhpY3MyRCwgdGhlbiBnbyBpbnRvCglvcHRpbWl6ZWQgZHJhd2luZyBtb2RlLgoJKGZpbGxNZXRhbFBhdHRlcm4yRCk6IE5ldyBtZXRob2QuIEltcGxlbWVudHMgcGF0dGVybiBkcmF3aW5nIHVzaW5nCgl0ZXh0dXJlcy4KCShpbml0aWFsaXplUGF0dGVybik6IE5ldyBtZXRob2QuIEluaXRpYWxpemVzIHRoZSB0ZXh0dXJlLgoKMjAwNS0wOS0yOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L0ZvbnQuamF2YTogUmVmb3JtYXR0ZWQgZmlsZS4KCjIwMDUtMDktMjggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSWNvbkZhY3RvcnkuamF2YQoJKFRyZWVIYXJkRHJpdmVJY29uKTogbmV3IHByaXZhdGUgY2xhc3MsCgkoVHJlZUZsb3BweURyaXZlSWNvbik6IG5ldyBwcml2YXRlIGNsYXNzLAoJKFRyZWVDb21wdXRlckljb24pOiBuZXcgcHJpdmF0ZSBjbGFzcywKCShnZXRUcmVlQ29udHJvbEljb24pOiBpbXBsZW1lbnRlZCwKCShnZXRUcmVlQ29tcHV0ZXJJY29uKTogaW1wbGVtZW50ZWQsCgkoZ2V0VHJlZUhhcmREcml2ZUljb24pOiBpbXBsZW1lbnRlZC4KCjIwMDUtMDktMjggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhCgkoVG9vbEJhckJvcmRlcik6IG5vdyBpbXBsZW1lbnRzIFN3aW5nQ29uc3RhbnRzLgoJCjIwMDUtMDktMjcgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogamF2YXgvc291bmQvbWlkaS9NaWRpU3lzdGVtLmphdmEgKGdldFNlcXVlbmNlKTogQWRkCgltaXNzaW5nIG1ldGhvZHMuCgkqIGphdmF4L3NvdW5kL21pZGkvU2VxdWVuY2VyLmphdmEgKHN0b3BSZWNvcmRpbmcpOiBEaXR0by4KCSogamF2YXgvc291bmQvbWlkaS9TaG9ydE1lc3NhZ2UuamF2YSAoU2hvcnRNZXNzYWdlKTogRGl0dG8uCgkoc2V0TWVzc2FnZSk6IEZpeCB2aXNpYmlsaXR5LiAgQWRkIG1pc3NpbmcgaW1wbGVtZW50YXRpb25zLgoJKiBqYXZheC9zb3VuZC9taWRpL1Nob3VuZGJhbmtSZXNvdWNlLmphdmE6IFJlbmFtZSAic291bmRCYW5rIiB0bwoJInNvdW5kYmFuayIsIGFuZCAiZ2V0U291bmRCYW5rIiB0byAiZ2V0U291bmRiYW5rIi4KCQoyMDA1LTA5LTI3ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YQoJKHJvbGxvdmVyQm9yZGVyKTogbmV3IGZpZWxkLAoJKGdldFJvbGxvdmVyQm9yZGVyKTogbmV3IG1ldGhvZCwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJ1dHRvbkxpc3RlbmVyLmphdmE6IG5ldyBjbGFzcywKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJ1dHRvblVJLmphdmEKCShpbnN0YW5jZSk6IHJlbW92ZWQgZmllbGQsCgkoY29uc3RydWN0b3IpOiBpbml0aWFsaXNlIGZpZWxkcyBmcm9tIFVJIGRlZmF1bHRzLAoJKGdldEZvY3VzQ29sb3IpOiBqdXN0IHJldHVybiBmaWVsZCB2YWx1ZSwKCShnZXRTZWxlY3RDb2xvcik6IGp1c3QgcmV0dXJuIGZpZWxkIHZhbHVlLAoJKGdldERpc2FibGVkVGV4dENvbG9yKToganVzdCByZXR1cm4gZmllbGQgdmFsdWUsCgkoY3JlYXRlVUkpOiByZXR1cm4gYSBuZXcgaW5zdGFuY2UgZXZlcnkgdGltZSwKCShpbnN0YWxsRGVmYXVsdHMpOiBjaGVjayBmb3IgaXNSb2xsb3ZlckVuYWJsZWQgYW5kIGluc3RhbGwgcm9sbG92ZXIKCWJvcmRlciBpZiBuZWNlc3NhcnksCgkodW5pbnN0YWxsRGVmYXVsdHMpOiBpbXBsZW1lbnRlZCwKCShjcmVhdGVCdXR0b25MaXN0ZW5lcik6IGltcGxlbWVudGVkLAoJKHBhaW50QnV0dG9uUHJlc3NlZCk6IGltcGxlbWVudGVkLAoJKHBhaW50Rm9jdXMpOiBpbXBsZW1lbnRlZCwKCShwYWludFRleHQpOiBpbXBsZW1lbnRlZC4KCjIwMDUtMDktMjcgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1NpbXBsZUF0dHJpYnV0ZVNldC5qYXZhOgoJKGNvbnRhaW5zQXR0cmlidXRlKTogQ2hlY2sgdGhlIHJlc29sdmUgcGFyZW50IGlmIHRoZSBhdHRyaWJ1dGUgaXMgbm90Cglmb3VuZCBsb2NhbGx5LgoJKGNvbnRhaW5zQXR0cmlidXRlTG9jYWxseSk6IE5ldyBwYWNrYWdlLXByaXZhdGUgbWV0aG9kLgoJKGlzRXF1YWwpOiBSZS1pbXBsZW1lbnRlZC4gIFJldHVybiB0cnVlIGlmIHRoZSB0d28gc2V0cyBoYXZlIHRoZSBzYW1lCglzaXplIGFuZCB0aGlzIHNldCBjb250YWlucyB0aGUgZ2l2ZW4gc2V0LgoKMjAwNS0wOS0yNyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pTZXBhcmF0b3IuamF2YQoJKHVwZGF0ZVVJKTogUmVtb3ZlZCBpbnZhbGlkYXRlIGNhbGwuIFRoaXMgaXMgdW5uZWNlc3NhcnkuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTZXBhcmF0b3JVSS5qYXZhCgkocGFpbnQpOiBSZXdvcmtlZCBwYWludGluZyBzbyB0aGF0IGl0IHBhaW50cyB0aGUgc2VwYXJhdG9yCgljb3JyZWN0bHkuCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IEZpeGVkIHRvIHJldHVybiB0aGUgY29ycmVjdCB2YWx1ZXMgYWNjb3JkaW5nCgl0byB0aGUgSkRLLgoJKGdldE1pbmltdW1TaXplKTogTGlrZXdpc2UuCgkoZ2V0TWF4aW11bVNpemUpOiBMaWtld2lzZS4KCjIwMDUtMDktMjcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhCgkoUm9sbG92ZXJCdXR0b25Cb3JkZXIpOiBuZXcgY2xhc3MuCgoyMDA1LTA5LTI3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvQm94TGF5b3V0LmphdmEKCShwcmVmZXJyZWRMYXlvdXRTaXplKTogRml4ZWQgdG8gcmVzcGVjdCB0aGUgY29udGFpbmVycyBpbnNldHMuCgkobGF5b3V0Q29tcG9uZW50KTogTGlrZXdpc2UuCgoyMDA1LTA5LTI3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvU2l6ZVJlcXVpcmVtZW50cy5qYXZhCgkoY2FsY3VsYXRlVGlsZWRQb3NpdGlvbnMpOiBPbmx5IGFkanVzdCBzaXplcyBpZiB0aGUgYWxsb2NhdGVkCglzcGFuIGlzIGFjdHVhbGx5IGRpZmZlcmVudCBmcm9tIHRoZSB1c2VkIHNwYW4uCgkoY2FsY3VsYXRlQWxpZ25lZFBvc2l0aW9ucyk6IENhbGwgYWRqdXN0RnJvbVJpZ2h0IGFsc28gaWYKCWJhc2VsaW5lID09IDAsIG90aGVyd2lzZSB3ZSBnZXQgc3RyYW5nZSByZXN1bHRzIGJlY2F1c2UgMCAqIHggPSAwLgoKMjAwNS0wOS0yNyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvU2ltcGxlQXR0cmlidXRlU2V0LmphdmE6CgkocmVtb3ZlQXR0cmlidXRlcyhBdHRyaWJ1dGVTZXQpKTogT25seSByZW1vdmUgYXR0cmlidXRlcyBmcm9tIHRoZSAKCWN1cnJlbnQgc2V0IGlmIHRoZWlyIGtleXMgQU5EIHZhbHVlcyBhcmUgZm91bmQgaW4gdGhlIGdpdmVuIHNldAoKMjAwNS0wOS0yNyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCUZpeGVzIEJ1ZyAjMjQwNjcKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShyZW1vdmVOb3RpZnkpOiBTaG91bGQgY2FsbCBoaWRlIG9uIHRoZSBwZWVyIGJlZm9yZQoJZGlzcG9zaW5nIG9mIGl0LiBUaGlzIHN0b3BzIHRoZSBmbGFzaGluZyB3aGVuIHRoZSAKCXRvb2x0aXBzIGFyZSByZW1vdmVkIGZyb20gdGhlIGNvbXBvbmVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xUaXBVSS5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IElmIHRoZSBhY2NlbGVyYXRvciBpcyBudWxsLCB3ZSBzaG91bGQKCXBhaW50IHRoZSBtbmVub21pYyBpZiBpdCBpcyBhdmFpbGFibGUuCgoyMDA1LTA5LTI3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YSAoY3JlYXRlQnVmZmVyU3RyYXRlZ3kpOiBDYW4gdGhyb3cgQVdURXhjZXB0aW9uLgoJKiBqYXZhL2F3dC9DYW52YXMuamF2YSAoY3JlYXRlQnVmZmVyU3RyYXRlZ3kpOiBDYW4gdGhyb3cgQVdURXhjZXB0aW9uLgoKMjAwNS0wOS0yNyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJCglGaXhlcyBCdWcgIzI0MDQ0CgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShzaG93VGlwKTogY3VycmVudFRpcCBuZWVkcyB0byBiZSByZXZhbGlkYXRlZCBvbiBIZWF2eVdlaWdodFBvcHVwcwoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbFRpcFVJLmphdmEKCShnZXRQcmVmZXJyZWRTaXplKTogRml4ZWQgdG8gZ2V0IHRoZSBwcmVmZXJyZWQgc2l6ZSBvZiB0aGUgCgl0b29sdGlwIGluY2x1ZGluZyB0aGUgYWNjZWxlcmF0b3IsIGlmIGl0IGhhcyBvbmUuCgkocGFpbnQpOiBGaXhlZCB0byBwYWludCB0aGUgYWNjZWxlcmF0b3IgaW4gaXRzIGZvbnQKCWFuZCBjb2xvciwgaWYgaXQgaGFzIG9uZS4KCjIwMDUtMDktMjcgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1V0aWxpdGllcy5qYXZhOgoJKGdldFJvd0VuZCk6IE5ldyBtZXRob2QuCgkoZ2V0Um93U3RhcnQpOiBOZXcgbWV0aG9kLgoKMjAwNS0wOS0yNyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9iZWFucy9iZWFuY29udGV4dC9CZWFuQ29udGV4dFNlcnZpY2VzU3VwcG9ydC5qYXZhCgkoQkNTU0NoaWxkLnNlcmlhbFZlcnNpb25VSUQpOiBGaXhlZC4KCSogamF2YS9iZWFucy9iZWFuY29udGV4dC9CZWFuQ29udGV4dFN1cHBvcnQuamF2YQoJKEJDU0NoaWxkLnNlcmlhbFZlcnNpb25VSUQpOiBGaXhlZC4KCjIwMDUtMDktMjcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBnZXQgYm9yZGVyIGZyb20gVUkgZGVmYXVsdHMsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCb3JkZXJzLmphdmE6CgkoVG9vbEJhckJvcmRlcik6IG5ldyBjbGFzcywKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBhZGRlZCB0b29sIGJhciBib3JkZXIgZGVmYXVsdCwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRvb2xCYXJVSS5qYXZhCgkoTWV0YWxDb250YWluZXJMaXN0ZW5lcik6IG5ldyBjbGFzcywKCShpbnN0YW5jZSk6IHJlbW92ZWQgZmllbGQsCgkoTWV0YWxSb2xsb3Zlckxpc3RlbmVyKTogbmV3IGNsYXNzLAoJKGNvbnRMaXN0ZW5lcik6IG5ldyBmaWVsZCwKCShyb2xsb3Zlckxpc3RlbmVyKTogbmV3IGZpZWxkLAoJKGNyZWF0ZVVJKTogcmV0dXJuIGEgbmV3IGluc3RhbmNlIGV2ZXJ5IHRpbWUsCgkoY3JlYXRlUm9sbG92ZXJMaXN0ZW5lcik6IGltcGxlbWVudGVkLAoJKGNyZWF0ZUNvbnRhaW5lckxpc3RlbmVyKTogaW1wbGVtZW50ZWQsCgkoY3JlYXRlTm9uUm9sbG92ZXJCb3JkZXIpOiBpbXBsZW1lbnRlZC4KCjIwMDUtMDktMjcgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogamF2YXgvc291bmQvbWlkaS9NaWRpRmlsZUZvcm1hdC5qYXZhIChieXRlcywgbWljcm9zZWNvbmRzKToKCVJlbmFtZSB0byBieXRlTGVuZ3RoIGFuZCBtaWNyb3NlY29uZExlbmd0aCByZXNwZWN0aXZlbHkuCgoyMDA1LTA5LTI2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhCgkoc2hvd1RpcCk6IHZhbGlkYXRpbmcgb2YgdG9vbFRpcFdpbmRvdyBzaG91bGQgbm90IGhhdmUgYmVlbiAKCXJlbW92ZWQuCgoyMDA1LTA5LTI2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhCgkoc2hvd1RpcCk6IFJlbW92ZWQgdmFsaWRhdGluZyBvZiBjdXJyZW50VGlwLiBzZXRWaXNpYmxlKHRydWUpIAoJZG9lcyB0aGlzLiBBbHNvLCByZW1vdmVkIHZhbGlkYXRpbmcgb2YgdG9vbFRpcFdpbmRvdyBiZWNhdXNlIAoJc2hvdygpIGRvZXMgdGhpcy4KCjIwMDUtMDktMjcgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9TaXplUmVxdWlyZW1lbnRzLmphdmEKCShhZGp1c3RHcmVhdGVyKTogU3BlY2lhbCBoYW5kbGUgdGhlIGNhc2Ugd2hlbiB0aGUgY29tcG9uZW50cyBoYXZlCglubyBzcGFyZSByb29tIGZvciBhZGp1c3RtZW50LgoJKGFkanVzdFNtYWxsZXIpOiBTcGVjaWFsIGhhbmRsZSB0aGUgY2FzZSB3aGVuIHRoZSBjb21wb25lbnRzIGhhdmUKCW5vIHNwYXJlIHJvb20gZm9yIGFkanVzdG1lbnQuCgoyMDA1LTA5LTI3ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShoaWRlKTogUmVwYWludCBjb21wb25lbnQgYmVmb3JlIGludmFsaWRhdGluZyB0aGUgcGFyZW50LgoJKHNob3cpOiBSZXBhaW50IGNvbXBvbmVudCBiZWZvcmUgaW52YWxpZGF0aW5nIHRoZSBwYXJlbnQuCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHJldmFsaWRhdGUpOiBDaGVjayBpZiB3ZSBhcmUgaW4gdGhlIGV2ZW50IHRocmVhZCwgYW5kIGlmIG5vdCwKCXRoZW4gcXVldWUgYSBzZWxmLXJlcXVlc3QgaW4gdGhlIGV2ZW50IHRocmVhZC4KCShzZXRWaXNpYmxlKTogUmVwYWludCB0aGUgcGFyZW50IGFuZCBxdWV1ZSBhIHJldmFsaWRhdGUuCgoyMDA1LTA5LTI3ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhCgkoZmlyZVBvcHVwTWVudUNhbmNlbGVkKTogSW1wbGVtZW50CgkoZmlyZVBvcHVwTWVudVdpbGxCZWNvbWVJbnZpc2libGUpOiBJbXBsZW1lbnQKCShmaXJlUG9wdXBNZW51V2lsbEJlY29tZVZpc2libGUpOiBJbXBsZW1lbnQKCjIwMDUtMDktMjcgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0NTUy5qYXZhCgkoZ2V0QXR0cmlidXRlLGdldEFsbEF0dHJpYnV0ZUtleXMpOiBJbXBsZW1lbnQKCjIwMDUtMDktMjYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShKVHJlZSk6IFJvb3Qgc2hvdWxkIGJlIHZpc2libGUgYnkgZGVmYXVsdC4KCSogamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YQoJKHNob3dUaXApOiBBZGRlZCBjaGVjayBmb3IgdmFsaWRpdHkgb2YgY3VycmVudFRpcC4gUHJldmVudHMKCW92ZXItdmFsaWRhdGluZy4KCShoaWRlVGlwKTogY3VycmVudFRpcCBzaG91bGQgYmUgcmVzZXQuCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhCgkoc2V0QWNjZWxlcmF0b3IpOiBSZWdpc3RlcmVkIGFjY2VsZXJhdG9yIGFzIGEga2V5Ym9hcmQgYWN0aW9uLgoKMjAwNS0wOS0yNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL3JlZmxlY3QvUHJveHkuamF2YTogSmF2YWRvYyBmaXguCgkqIGphdmEvaW8vT3V0cHV0U3RyZWFtV3JpdGVyLmphdmEgKE91dHB1dFN0cmVhbVdyaXRlcik6IEphdmFkb2MgZml4LgoKMjAwNS0wOS0yNiAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zb3VuZC9taWRpL1N5bnRoZXNpemVyLmphdmEgKGxvYWRJbnN0cnVtZW50LAoJdW5sb2FkSW5zdHJ1bWVudCwgcmVtYXBJbnN0cnVtZW50LCBsb2FkQWxsSW5zdHJ1bWVudHMsCgl1bmxvYWRBbGxJbnN0cnVtZW50cywgdW5sb2FkSW5zdHJ1bWVudCwgbG9hZEluc3RydW1lbnQpOiBEb24ndAoJZGVjbGFyZSB0aGUgdW5jaGVja2VkIElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbi4KCSogamF2YXgvc291bmQvbWlkaS9NaWRpU3lzdGVtLmphdmEgKGdldE1pZGlEZXZpY2UsIHdyaXRlKTogRGl0dG8uCgkqIGphdmF4L3NvdW5kL21pZGkvU2hvcnRNZXNzYWdlLmphdmE6IEZpeCA4MC1jb2x1bW4gZm9ybWF0dGluZwoJcHJvYmxlbS4KCSogamF2YXgvc291bmQvbWlkaS9TZXF1ZW5jZS5qYXZhOiBEaXR0by4KCSogamF2YXgvc291bmQvbWlkaS9NaWRpTWVzc2FnZS5qYXZhOiBEaXR0by4KCSogamF2YXgvc291bmQvbWlkaS9NaWRpU3lzdGVtLmphdmE6IERpdHRvLgoJKiBqYXZheC9zb3VuZC9taWRpL01pZGlGaWxlRm9ybWF0LmphdmE6IERpdHRvLgoKMjAwNS0wOS0yNiAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zb3VuZC9taWRpL0ludmFsaWRNaWRpRGF0YUV4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvTWlkaUZpbGVGb3JtYXQuamF2YQoJKiBqYXZheC9zb3VuZC9taWRpL0NvbnRyb2xsZXJFdmVudExpc3RlbmVyLmphdmEKCSogamF2YXgvc291bmQvbWlkaS9QYXRjaC5qYXZhIGphdmF4L3NvdW5kL21pZGkvU2VxdWVuY2UuamF2YQoJKiBqYXZheC9zb3VuZC9taWRpL1N5c2V4TWVzc2FnZS5qYXZhIGphdmF4L3NvdW5kL21pZGkvU2VxdWVuY2VyLmphdmEKCSogamF2YXgvc291bmQvbWlkaS9zcGkvTWlkaUZpbGVSZWFkZXIuamF2YQoJKiBqYXZheC9zb3VuZC9taWRpL3NwaS9NaWRpRmlsZVdyaXRlci5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvc3BpL1NvdW5kYmFua1JlYWRlci5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvc3BpL01pZGlEZXZpY2VQcm92aWRlci5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvVHJhY2suamF2YSBqYXZheC9zb3VuZC9taWRpL01pZGlDaGFubmVsLmphdmEKCSogamF2YXgvc291bmQvbWlkaS9NZXRhTWVzc2FnZS5qYXZhIGphdmF4L3NvdW5kL21pZGkvSW5zdHJ1bWVudC5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvTWlkaU1lc3NhZ2UuamF2YQoJKiBqYXZheC9zb3VuZC9taWRpL01pZGlVbmF2YWlsYWJsZUV4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvVHJhbnNtaXR0ZXIuamF2YSBqYXZheC9zb3VuZC9taWRpL01pZGlFdmVudC5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvVm9pY2VTdGF0dXMuamF2YSBqYXZheC9zb3VuZC9taWRpL01pZGlEZXZpY2UuamF2YQoJKiBqYXZheC9zb3VuZC9taWRpL1NvdW5kYmFua1Jlc291cmNlLmphdmEKCSogamF2YXgvc291bmQvbWlkaS9Tb3VuZGJhbmsuamF2YSBqYXZheC9zb3VuZC9taWRpL1JlY2VpdmVyLmphdmEKCSogamF2YXgvc291bmQvbWlkaS9NZXRhRXZlbnRMaXN0ZW5lci5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvU2hvcnRNZXNzYWdlLmphdmEKCSogamF2YXgvc291bmQvbWlkaS9TeW50aGVzaXplci5qYXZhCgkqIGphdmF4L3NvdW5kL21pZGkvTWlkaVN5c3RlbS5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTA5LTI2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRGlhbG9nUGVlci5qYXZhCgkoY3JlYXRlKTogSWYgdGhlIGRpYWxvZyBpcyBhIHRvb2xUaXAgb3IgYQoJUG9wdXBNZW51LCBpdHMgdHlwZSBzaG91bGQgYmUgc2V0IHRvOgoJR0RLX1dJTkRPV19UWVBFX0hJTlRfTUVOVSwgc28gdGhlIHBhcmVudAoJd2luZG93IGRvZXMgbm90IGxvc2UgZm9jdXMuCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShzZXRNb2RlbCk6IFNob3VsZCB1cGRhdGUgdGhlIFVJIGV2ZXJ5dGltZSB0aGUKCW1vZGVsIGlzIGNoYW5nZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKGluc3RhbGxVSSk6IFNob3VsZCBub3Qgc2V0IHRoZSByb290IHRvIGJlIHZpc2libGUuCgkocGFpbnRDb250cm9sSWNvbnMpOiBjaGFuZ2VkIHRvIHVzZSBnZXRWaXNpYmxlUmVjdC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRyZWVVSS5qYXZhCgkoaW5zdGFsbFVJKTogU2hvdWxkIG5vdCBzZXQgdGhlIHJvb3QgdG8gYmUgdmlzaWJsZS4KCjIwMDUtMDktMjYgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS90ZXh0L0Jhc2VCcmVha0l0ZXJhdG9yLmphdmE6CgkoZm9sbG93aW5nKTogUmVtb3ZlZCB1bnVzZWQgbG9jYWwgdmFyaWFibGUuCgoyMDA1LTA5LTI2ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvU2l6ZVJlcXVpcmVtZW50cy5qYXZhCgkoY2FsY3VsYXRlVGlsZWRQb3NpdGlvbnMpOiBJbXByb3ZlZCB0byBhbHNvIHRha2UgbWluaW11bSBhbmQgbWF4aW11bQoJc2l6ZXMgaW50byBhY2NvdW50IGFuZCBiZXR0ZXIgdXNlIHRoZSBhbGxvY2F0ZWQgc3BhY2UuCgkoYWRqdXN0R3JlYXRlcik6IE5ldyBoZWxwZXIgZnVuY3Rpb24uCgkoYWRqdXN0U21hbGxlcik6IE5ldyBoZWxwZXIgZnVuY3Rpb24uCgoyMDA1LTA5LTI1ICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCUZpeGVzIFBSIGNsYXNzcGF0aC8yMzkxNi4gRml4IHN1Z2dlc3RlZCBieSBTYW50aWFnbyBHYWxhCgk8c2dhbGFAYXBhY2hlLm9yZz4uCgkqIGphdmEvc2VjdXJpdHkvQWNjZXNzQ29udHJvbENvbnRleHQuamF2YQoJKDxpbml0Pik6IHVwZGF0ZSBqYXZhZG9jOyBjaGVjayBTZWN1cml0eVBlcm1pc3Npb24KCSJjcmVhdGVBY2Nlc3NDb250cm9sQ29udGV4dCIgaWYgYSBzZWN1cml0eSBtYW5hZ2VyIGlzIHNldC4KCShnZXRQcm90ZWN0aW9uRG9tYWlucyk6IG5ldyBtZXRob2QuCgkqIHZtL3JlZmVyZW5jZS9qYXZhL3NlY3VyaXR5L1ZNQWNjZXNzQ29udHJvbGxlci5qYXZhCgkoREVCVUcpOiBzZXQgdG8gJ2dudS5jbGFzc3BhdGguQ29uZmlndXJhdGlvbi5ERUJVRy4nCgkocHVzaENvbnRleHQsIHBvcENvbnRleHQpOiBhZGQgZGVidWcgc3RhdGVtZW50LgoJKGdldENvbnRleHQpOiBkZWJ1ZyBvdXRwdXQgY2hhbmdlczsgaW5jbHVkZSB0aGUgRG9tYWluQ29tYmluZXIKCXNwZWNpZmllZCBpbiB0aGUgQWNjZXNzQ29udHJvbENvbnRleHQsIGlmIGFueS4KCjIwMDUtMDktMjUgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbFNlcnZlckZhY3RvcnkuamF2YTogVXBkYXRlZCBqYXZhZG9jLgoJKiBqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2wuamF2YTogVXBkYXRlZCBqYXZhZG9jLgoJKiBqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xDbGllbnRGYWN0b3J5LmphdmE6IFVwZGF0ZWQgamF2YWRvYy4KCSogamF2YXgvc2VjdXJpdHkvc2FzbC9SZWFsbUNob2ljZUNhbGxiYWNrLmphdmE6IFVwZGF0ZWQgamF2YWRvYy4KCSogamF2YXgvc2VjdXJpdHkvc2FzbC9SZWFsbUNhbGxiYWNrLmphdmE6IFVwZGF0ZWQgamF2YWRvYy4KCSogamF2YXgvc2VjdXJpdHkvc2FzbC9BdXRoZW50aWNhdGlvbkV4Y2VwdGlvbi5qYXZhOiBVcGRhdGVkCglqYXZhZG9jLgoJKiBqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xTZXJ2ZXIuamF2YSAoZ2V0TmVnb3RpYXRlZFByb3BlcnR5KToKCURvbid0IHRocm93IFNhc2xFeGNlcHRpb24uCgkqIGphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbENsaWVudC5qYXZhIChnZXROZWdvdGlhdGVkUHJvcGVydHkpOgoJRG9uJ3QgdGhyb3cgU2FzbEV4Y2VwdGlvbi4KCSogamF2YXgvc2VjdXJpdHkvc2FzbC9TYXNsRXhjZXB0aW9uLmphdmEgKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcKCWZpZWxkLgoJKiBqYXZheC9zZWN1cml0eS9zYXNsL0F1dGhvcml6ZUNhbGxiYWNrLmphdmEgKEF1dGhvcml6ZUNhbGxiYWNrKToKCUltcGxlbWVudHMgU2VyaWFsaXphYmxlLgoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgZmllbGQuCgoyMDA1LTA5LTI1ICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvR251LmphdmEKCSg8aW5pdD4pOiBhZGQgRGlmZmllLUhlbGxtYW4ga2V5IGZhY3RvcnkgYW5kIGtleSBwYWlyIGdlbmVyYXRvci4KCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvRGlmZmllSGVsbG1hbktleUZhY3RvcnlJbXBsLmphdmEsCgkqIGdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL0RpZmZpZUhlbGxtYW5LZXlQYWlyR2VuZXJhdG9ySW1wbC5qYXZhOgoJbmV3IGZpbGVzLgoKMjAwNS0wOS0yNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YQoJKGNhbGN1bGF0ZUFsaWduZWRQb3NpdGlvbnMpOiBJbXByb3ZlZCBhbGdvcml0aG0gdG8gYmV0dGVyIHJlc3BlY3QKCXRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIHNpemUgYW5kIHRvIGJldHRlciB1c2UgdGhlIGF2YWlsYWJsZSBzcGFjZS4KCShhZGp1c3RGcm9tUmlnaHQpOiBOZXcgaGVscGVyIG1ldGhvZC4KCShhZGp1c3RGcm9tTGVmdCk6IE5ldyBoZWxwZXIgbWV0aG9kLgoKMjAwNS0wOS0yNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0JveExheW91dC5qYXZhCgkobGF5b3V0Q29udGFpbmVyKTogUmVzcGVjdCB0aGUgaW5zZXRzIG9mIHRoZSBjb250YWluZXIuCgoyMDA1LTA5LTI0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCglGaXhlZCBzb21lIEFQSSBjb21tZW50cy4KCShwYWludENoaWxkcmVuKTogU2V0IGNsaXAgdG8gZXhjbHVkZSB0aGUgYm9yZGVyIGFyZWEuCgoyMDA1LTA5LTI0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkocGFpbnQpOiBQYWludCBib3JkZXIgYWZ0ZXIgdGhlIGNoaWxkcmVuIGFyZSBwYWludGVkLiBPdGhlcndpc2UgdGhlCgljaGlsZHJlbiBjb3VsZCBkcmF3IG92ZXIgdGhlIGJvcmRlci4KCjIwMDUtMDktMjQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9TaXplUmVxdWlyZW1lbnRzLmphdmEKCShnZXRBbGlnbmVkUmVxdWlyZW1lbnRzKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoY2FsY3VsYXRlQWxpZ25lZFBvc2l0aW9ucyk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YQoJKERpcmVjdGlvbik6IFJlbW92ZWQgdW5uZWVkZWQgaW5uZXIgaW50ZXJmYWNlLgoJKEhvcml6b250YWwpOiBSZW1vdmVkIHVubmVlZGVkIGlubmVyIGNsYXNzLgoJKFZlcnRpY2FsKTogUmVtb3ZlZCB1bm5lZWRlZCBpbm5lciBjbGFzcy4KCShTaXplUmVxKTogUmVtb3ZlZCB1bm5lZWRlZCBpbm5lciBjbGFzcy4KCShwcmVmZXJyZWRMYXlvdXRTaXplKTogUmVpbXBsZW1lbnRlZCB0byB1c2UgU2l6ZVJlcXVpcmVtZW50cy4KCShtaW5pbXVtTGF5b3V0U2l6ZSk6IFJlaW1wbGVtZW50ZWQgdG8gdXNlIFNpemVSZXF1aXJlbWVudHMuCgkobWF4aW11bUxheW91dFNpemUpOiBSZWltcGxlbWVudGVkIHRvIHVzZSBTaXplUmVxdWlyZW1lbnRzLgoJKGxheW91dENvbnRhaW5lcik6IFJlaW1wbGVtZW50ZWQgdG8gdXNlIFNpemVSZXF1aXJlbWVudHMuCgkobGF5b3V0QWxnb3JpdGhtKTogUmVtb3ZlZCB1bm5lZWRlZCBwYWNrYWdlIHByaXZhdGUgbWV0aG9kLgoJKGRpc3RyaWJ1dGVTcGFjZSk6IFJlbW92ZWQgdW5uZWVkZWQgcGFja2FnZSBwcml2YXRlIG1ldGhvZC4KCShnZXRTaXplUmVxdWlyZW1lbnRzKTogTmV3IHByaXZhdGUgaGVscGVyIG1ldGhvZC4KCjIwMDUtMDktMjQgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogZ251L2phdmF4L2ltYWdlaW8vYm1wL0JNUERlY29kZXIuamF2YQoJKEJNUERlY29kZXIpOiBGaXggc3RhdGljIGZpZWxkIHJlZmVyZW5jZXMuCgoyMDA1LTA5LTI0ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvYXd0L0ZvbnQuamF2YQoJRml4ZWQgY29tbWVudHMuCgkocG9pbnRTaXplKTogTmV3IGZpZWxkLgoJKEZvbnQpOiBTZXQgc2l6ZSBmaWVsZHMuCgkoZ2V0U2l6ZSwgZ2V0U2l6ZTJEKTogUmV0dXJuIHNpemUgZmllbGRzLgoKMjAwNS0wOS0yNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHBhaW50KTogQ2hlY2sgaWYgY2xpcCA9PSBudWxsIGFuZCBpZiBzbyBzZXQgaXQgdG8gdGhlIGNvbXBvbmVudCdzCglib3VuZHMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShnZXRDbGlwQm91bmRzKTogQWRkZWQgbnVsbCBjaGVjayBzbyB0aGF0IG51bGwgaXMgcmV0dXJuZWQgd2hlbgoJY2xpcCA9PSBudWxsLCBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIE5QRSB3aGlsZSBhY2Nlc3NpbmcKCW51bGwuZ2V0Qm91bmRzMkQoKS4KCjIwMDUtMDktMjQgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXRfZ3RrSW5pdCk6IFJlcGxhY2UgZGVwcmVjYXRlZAoJZ3RrIGNvbG9ybWFwIHN0dWZmLgoKMjAwNS0wOS0yNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHBhaW50KTogQWN0aXZhdGUgZG91YmxlIGJ1ZmZlcmluZyBpZiBpdCBpcyBub3QgYWxyZWFkeSBhY3RpdmF0ZWQuCgkocGFpbnRJbW1lZGlhdGVseTIpOiBQcmVwYXJlIGEgY29tcG9uZW50IGdyYXBoaWNzIG9iamVjdCBoZXJlIGFuZAoJY2FsbCBwYWludERvdWJsZUJ1ZmZlcmVkIHdpdGggdGhpcy4KCShwYWludERvdWJsZUJ1ZmZlcmVkKTogQ2hhbmdlZCB0byB3b3JrIG5pY2VseSB3aXRoIHRoZSBuZXcgcGFpbnQoKQoJYW5kIHBhaW50SW1tZWRpYXRlbHkyKCkgbWV0aG9kcy4KCjIwMDUtMDktMjQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIGZvbnQgZGVmYXVsdCBmb3IKCUZvcm1hdHRlZFRleHRGaWVsZC5mb250LiBTb2x2ZXMgYW4gTlBFIHRoYXQgd2FzIGNhdXNlZCBieSBhIG51bGwKCWZvbnQgb24gYSBKRm9ybWF0dGVkVGV4dEZpZWxkLgoKMjAwNS0wOS0yNCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDb21ib0JveE1vZGVsLmphdmEKCShhZGRFbGVtZW50KTogYWx3YXlzIGZpcmUgZXZlbnQgZm9yIGludGVydmFsIGFkZGVkLCBhbmQgY2FsbCAKCXNldFNlbGVjdGVkSXRlbSgpIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGl0ZW0uCgoyMDA1LTA5LTI0ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdENvbWJvQm94TW9kZWwuamF2YTogdXBkYXRlZCBBUEkgZG9jcyBhbGwgb3Zlci4KCjIwMDUtMDktMjQgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9hd3QvRm9udE1ldHJpY3MuamF2YQoJKGdldE1heENoYXJCb3VuZHMsIGhhc1VuaWZvcm1MaW5lTWV0cmljcyk6IE5ldyBtZXRob2RzLgoJCjIwMDUtMDktMjQgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogZ251L2phdmF4L2ltYWdlaW8vYm1wL0JNUERlY29kZXIuamF2YSwKCSogZ251L2phdmF4L2ltYWdlaW8vYm1wL0JNUEltYWdlUmVhZGVyU3BpLmphdmEsCgkqIGdudS9qYXZheC9pbWFnZWlvL2JtcC9EZWNvZGVCRjMyLmphdmEsCgkqIGdudS9qYXZheC9pbWFnZWlvL2JtcC9EZWNvZGVSR0I4LmphdmEsCgkqIGdudS9qYXZheC9pbWFnZWlvL2JtcC9CTVBFeGNlcHRpb24uamF2YSwKCSogZ251L2phdmF4L2ltYWdlaW8vYm1wL0JNUEluZm9IZWFkZXIuamF2YSwKCSogZ251L2phdmF4L2ltYWdlaW8vYm1wL0RlY29kZVJHQjEuamF2YSwKCSogZ251L2phdmF4L2ltYWdlaW8vYm1wL0RlY29kZVJMRTQuamF2YSwKCSogZ251L2phdmF4L2ltYWdlaW8vYm1wL0JNUEZpbGVIZWFkZXIuamF2YSwKCSogZ251L2phdmF4L2ltYWdlaW8vYm1wL0RlY29kZVJHQjI0LmphdmEsCgkqIGdudS9qYXZheC9pbWFnZWlvL2JtcC9EZWNvZGVSTEU4LmphdmEsCgkqIGdudS9qYXZheC9pbWFnZWlvL2JtcC9CTVBJbWFnZVJlYWRlci5qYXZhLAoJKiBnbnUvamF2YXgvaW1hZ2Vpby9ibXAvRGVjb2RlQkYxNi5qYXZhLAoJKiBnbnUvamF2YXgvaW1hZ2Vpby9ibXAvRGVjb2RlUkdCNC5qYXZhOgoJTmV3IGZpbGVzLgoKMjAwNS0wOS0yMyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShzZXRGb250KTogSWYgZm9udCA9PSBudWxsLCBzaW1wbHkgcmV0dXJuLiBBdm9pZHMgYSBOUEUuCgoyMDA1LTA5LTIzICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvaW8vT3V0cHV0U3RyZWFtV3JpdGVyLmphdmE6CgkoT3V0cHV0U3RyZWFtV3JpdGVyKTogQWRkZWQgbWlzc2luZyBjb25zdHJ1Y3RvcnMuCgoyMDA1LTA5LTIzICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKGdldEZvbnQpOiBTaG91bGQgcmV0dXJuIG51bGwsIG5vdCBhIGRlZmF1bHQgZm9udC4KCSogamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YQoJKHNob3dUaXApOiBDYWxsZWQgcmV2YWxpZGF0ZSBjdXJyZW50VGlwIGJlZm9yZSBwYWludGVkLCBhbmQKCWNhbGxlZCB2YWxpZGF0ZSBvbiBKRGlhbG9nIHRvb2xUaXAuCgoyMDA1LTA5LTIzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YQoJKGxheW91dENvbXBvdW5kTGFiZWwpOiBSZW1vdmVkIGRlYnVnIGNvZGUuCgoyMDA1LTA5LTIzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YQoJKHNldEhvcml6b250YWxTY3JvbGxCYXIpOiBSZW1vdmVkIGhhbmRsaW5nIG9mIGxpc3RlbmVycyBvbiB0aGUgbW9kZWwuCglUaGlzIGlzIG5vdyBkb25lIGluIHRoZSBCYXNpY1Njcm9sbFBhbmVVSS4KCShzZXRIb3Jpem9udGFsU2Nyb2xsQmFyUG9saWN5KTogQWRkZWQgcmV2YWxpZGF0ZSBjYWxsLgoJKHNldFZlcnRpY2FsU2Nyb2xsQmFyKTogUmVtb3ZlZCBoYW5kbGluZyBvZiBsaXN0ZW5lcnMgb24gdGhlIG1vZGVsLgoJVGhpcyBpcyBub3cgZG9uZSBpbiB0aGUgQmFzaWNTY3JvbGxQYW5lVUkuCgkoc2V0VmVydGljYWxTY3JvbGxCYXJQb2xpY3kpOiBBZGRlZCByZXZhbGlkYXRlIGNhbGwuCgkoc2V0Vmlld3BvcnQpOiBSZW1vdmVkIGhhbmRsaW5nIG9mIGxpc3RlbmVycyBvbiB0aGUgdmlld3BvcnQuCglUaGlzIGlzIG5vdyBkb25lIGluIHRoZSBCYXNpY1Njcm9sbFBhbmVVSS4KCShjcmVhdGVTY3JvbGxMaXN0ZW5lcik6IFJlbW92ZWQgdW5uZWNlc3NhcnkgYW5kIHVuZG9jdW1lbnRlZCBtZXRob2QuCglUaGUgZnVuY3Rpb25hbGl0eSBvZiB0aGlzIG1ldGhvZCBpcyBtb3ZlZCB0byBCYXNpY1Njcm9sbFBhbmVVSQoJYXMgc3BlY2lmaWVkLgoJKEpTY3JvbGxQYW5lKTogUmVtb3ZlZCBpbml0aWFsaXphdGlvbiBvZiByZW1vdmVkIGxpc3RlbmVyLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsUGFuZVVJLmphdmEKCShIU0JDaGFuZ2VMaXN0ZW5lcik6IE5ldyBpbm5lciBjbGFzcy4KCShWU0JDaGFuZ2VMaXN0ZW5lcik6IE5ldyBpbm5lciBjbGFzcy4KCShWaWV3cG9ydENoYW5nZUhhbmRsZXIpOiBOZXcgaW5uZXIgY2xhc3MuCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyKTogTmV3IGlubmVyIGNsYXNzLgoJKE1vdXNlV2hlZWxIYW5kbGVyKTogTmV3IGlubmVyIGNsYXNzLgoJKGluc3RhbGxVSSk6IEFsc28gY2FsbCBpbnN0YWxsTGlzdGVuZXJzLgoJKGluc3RhbGxMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLiBJbml0aWFsaXplcyB0aGUgbGlzdGVuZXJzIG9uIHRoZQoJc2Nyb2xscGFuZS4KCShjcmVhdGVIU0JDaGFuZ2VMaXN0ZW5lcik6IE5ldyBtZXRob2QuCgkoY3JlYXRlVlNCQ2hhbmdlTGlzdGVuZXIpOiBOZXcgbWV0aG9kLgoJKGNyZWF0ZVZpZXdwb3J0KTogTmV3IG1ldGhvZC4KCShjcmVhdGVQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKTogTmV3IG1ldGhvZC4KCSh1bmluc3RhbGxVSSk6IEFsc28gY2FsbCB1bmluc3RhbGxMaXN0ZW5lcnMuCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogTmV3IG1ldGhvZC4KCShzeW5jU2Nyb2xsUGFuZVdpdGhWaWV3cG9ydCk6IE5ldyBtZXRob2QuCgkodXBkYXRlQ29sdW1uSGVhZGVyKTogTmV3IG1ldGhvZC4KCSh1cGRhdGVSb3dIZWFkZXIpOiBOZXcgbWV0aG9kLgoJKHVwZGF0ZVNjcm9sbEJhckRpc3BsYXlQb2xpY3kpOiBOZXcgbWV0aG9kLgoJKHVwZGF0ZVZpZXdwb3J0KTogTmV3IG1ldGhvZC4KCjIwMDUtMDktMjMgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmE6IFJlZm9ybWF0dGVkIGFuZCBhZGRlZCBBUEkgZG9jcy4KCjIwMDUtMDktMjMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShzaG93VGlwKTogU2V0IGxpZ2h0V2VpZ2h0UG9wdXBFbmFibGVkIHRvIGRlZmF1bHQuCglWYWxpZGF0ZWQgYW5kIHJlcGFpbnRlZCBuZXcgY29udGFpbmVyUGFuZWwgYW5kCglyZXBhaW50ZWQgdG9vbFRpcFdpbmRvdyBhbmQgcmVwYWludGVkIGN1cnJlbnRUaXAuIFRoZSAKCXRvb2xUaXBzIHBhaW50IHdlbGwgbm93LgoKMjAwNS0wOS0yMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkocGFpbnRSZWN1cnNpdmUpOiBDaGFuZ2VkIGNsaXAgdG8gYmUgdGhlIHZpc2libGUKCXJlY3RhbmdsZSBvZiB0aGUgdmlldy4KCjIwMDUtMDktMjMgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Q29tYm9Cb3hNb2RlbC5qYXZhCgkoRGVmYXVsdENvbWJvQm94TW9kZWwoT2JqZWN0W10pKTogc2V0IHNlbGVjdGVkIGl0ZW0sCgkoRGVmYXVsdENvbWJvQm94TW9kZWwoVmVjdG9yKTogbGlrZXdpc2UsCgkoYWRkRWxlbWVudCk6IHJlaW1wbGVtZW50ZWQsCgkocmVtb3ZlRWxlbWVudEF0KTogdXBkYXRlIHNlbGVjdGVkIGl0ZW0sCgkocmVtb3ZlQWxsRWxlbWVudHMpOiBjbGVhciBzZWxlY3RlZCBpdGVtIGFuZCBmaXJlIGNvcnJlY3QgZXZlbnQsCgkoc2V0U2VsZWN0ZWRJdGVtKTogdXBkYXRlIGl0ZW0gYWx3YXlzLAoJKGdldEVsZW1lbnRBdCk6IHJldHVybiBudWxsIGZvciBpbmRleCBvdXQgb2YgYm91bmRzLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hCdXR0b24uamF2YQoJKHBhaW50Q29tcG9uZW50KTogY2hlY2sgZm9yIG51bGwgc2VsZWN0aW9uLgoKMjAwNS0wOS0yMyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YQoJQWRkZWQgc29tZSBkZXByZWNhdGVkIGFuZCB1bnVzZWQgZmllbGRzIGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eS4KCShpbnN0YWxsTGlzdGVuZXJzKTogRml4ZWQgbWV0aG9kIHBhcmFtZXRlcnMuCgkoaW5zdGFsbFVJKTogQ2FsbCBpbnN0YWxsTGlzdGVuZXJzIHdpdGggZml4ZWQgbWV0aG9kIHBhcmFtZXRlcnMuCgoyMDA1LTA5LTIzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BhbmVsVUkuamF2YQoJKHVuaW5zdGFsbFVJKTogTmV3IG1ldGhvZC4KCSh1bmluc3RhbGxEZWZhdWx0cyk6IE5ldyBtZXRob2QuCgoyMDA1LTA5LTIzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhCgkoTWluaW11bUhlaWdodCk6IE5ldyBjb25zdGFudCBmaWVsZC4KCShNaW5pbXVtV2lkdGgpOiBOZXcgY29uc3RhbnQgZmllbGQuCgkobWluaW11bVdpZHRoKTogUmVtb3ZlZCB1bnVzZWQgZmllbGQuCgkobWluaW11bUhlaWdodCk6IFJlbW92ZWQgdW51c2VkIGZpZWxkLgoJKGluc3RhbGxEZWZhdWx0cyk6IFJlbW92ZWQgaW5pdGlhbGl6aW5nIG9mIG1pbmltdW1TaXplIGFuZAoJbWluaW11bUhlaWdodC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBJbml0aWFsaXplIE9wdGlvblBhbmUubWluaW11bVNpemUgZnJvbQoJY29uc3RhbnQgZmllbGRzIGluIEJhc2ljT3B0aW9uUGFuZVVJLgoKMjAwNS0wOS0yMyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51VUkuamF2YQoJKENoYW5nZUhhbmRsZXIpOiBBZGRlZCBzb21lIGRlcHJlY2F0ZWQgYW5kIHVudXNlZCBmaWVsZHMgZm9yCgliaW5hcnkgY29tcGF0aWJpbGl0eS4KCjIwMDUtMDktMjMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmEKCShkZWFjdGl2YXRlRnJhbWUpOiBOZXcgbWV0aG9kLgoJKEludGVybmFsRnJhbWVQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyLnByb3BlcnR5Q2hhbmdlKTogQ2FsbAoJbmV3IGRlYWN0aXZhdGUoKSBtZXRob2QgaW5zdGVhZCBvZiBnZXREZXNrdG9wTWFuYWdlci5kZWFjdGl2YXRlKCkKCjIwMDUtMDktMjMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglGaXhlcyBCdWcgIzI0MDIyCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHBhaW50KTogVG9vayBvdXQgdW5uZWVkZWQgY29kZS4KCjIwMDUtMDktMjMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglGaXhlcyBCdWcgIzIzNTI5CgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhCgkobW91c2VwcmVzc2VkKTogTWFkZSBkZWxheSBzaG9ydGVkIHdoaWxlIHByZXNzaW5nIHRoZSBhcnJvdwoJYnV0dG9uLiBUaGlzIG1ha2VzIHRoZSBzY3JvbGxiYXIgbW92ZSBtb3JlIHNtb290aGx5LgoJKG1vdXNlUmVsZWFzZWQpOiBSZXNldCB0aGUgZGVsYXkgdG8gdGhlIGRlZmF1bHQsIHNvIHNpbmdsZQoJY2xpY2tzIG9ubHkgbW92ZSB0aGUgc2Nyb2xsYmFyIDEgdW5pdC4gQWxzbywgd2hlbiB0aGUKCW1vdXNlIGlzIHJlbGVhc2VkLCB0aGUgc2Nyb2xsYmFyIHNob3VsZCBtb3ZlIDEgdW5pdC4KCShzaG91bGRTY3JvbGwpOiBTaG91bGQgbm90IGJlIGFibGUgdG8gc2Nyb2xsIGJ5IGJsb2NrCgl3aGVuIHRoZSBtb3VzZSBpcyBpbiB0aGUgdGh1bWJSZWN0LgoJKG1vdXNlUHJlc3NlZCk6IE1hZGUgZGVsYXkgc2hvcnRlZCB3aGlsZSBwcmVzc2luZyBpbiB0aGUKCXNjcm9sbCBhcmVhLiBUaGlzIG1ha2VzIHRoZSBzY3JvbGxiYXIgbW92ZSBtb3JlIHNtb290aGx5LgoJKG1vdXNlUmVsZWFzZWQpOiBTaG91bGQgbW92ZSB0aGUgc2Nyb2xsYmFyIDEgYmxvY2sgd2hlbiB0aGUKCW1vdXNlIGlzIHJlbGVhc2VkLiBBbHNvLCByZXNldCB0aGUgdGltZXIgdG8gZGVmYXVsdCBkZWxheS4KCjIwMDUtMDktMjMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRGVza3RvcFBhbmVVSS5qYXZhCgkoaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IENhbGwgcmVuYW1lZCBtZXRob2QgcmVnaXN0ZXJLZXlib2FyZEFjdGlvbnMuCgoyMDA1LTA5LTIzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Rlc2t0b3BQYW5lVUkuamF2YQoJKHJlZ2lzdGVyS2V5Ym9hcmRBY3Rpb24pOiBSZW5hbWVkIHRoaXMgbWV0aG9kIHRvCglyZWdpc3RlcktleWJvYXJkQWN0aW9ucyBhcyBzcGVjaWZpZS4KCjIwMDUtMDktMjMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmEKCShGb2N1c0hhbmRsZXIucmVwYWludENlbGxGb2N1cyk6IE1hcmtlZCBwcm90ZWN0ZWQgaW5zdGVhZCBvZgoJcGFja2FnZSBwcml2YXRlIGFzIHNwZWNpZmllZC4KCShLZXlIYW5kbGVyLmtleVByZXNzZWQpOiBDYWxsIG5ldyBtZXRob2RzIHNlbGVjdE5leHRJbmRleCBhbmQKCXNlbGVjdFByZXZpb3VzSW5kZXggaW5zdGVhZCBvZiBkb2luZyB0aGUgd29yayBoZXJlLgoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IFVwZGF0ZSB0aGUKCXVwZGF0ZUxheW91dFN0YXRlTmVlZGVkIGZpZWxkIGNvcnJlY3RseS4KCShCYXNpY0xpc3RVSSk6IFJlbW92ZWQgbGlzdGVuZXIgaW5pdGlhbGl6YXRpb24uIE1vdmVkIHRoaXMKCXRvIGluc3RhbGxMaXN0ZW5lcnMuCgkoaW5zdGFsbExpc3RlbmVycyk6IEluaXRpYWxpemUgbGlzdGVuZXJzIGhlcmUgaW5zdGVhZCBpbiB0aGUKCWNvbnN0cnVjdG9yLiBVc2UgdGhlIGNyZWF0ZVhYWExpc3RlbmVyIGhvb2tzIGluc3RlYWQgb2YgY3JlYXRpbmcKCXRoZSBsaXN0ZW5lcnMgZGlyZWN0bHkuCgkoY3JlYXRlRm9jdXNMaXN0ZW5lcik6IE5ldyBob29rIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBmb2N1cyBsaXN0ZW5lci4KCShjcmVhdGVMaXN0RGF0YUxpc3RlbmVyKTogTmV3IGhvb2sgbWV0aG9kIGZvciBjcmVhdGluZyBhIGxpc3QKCWRhdGEgbGlzdGVuZXIuCgkoY3JlYXRlTGlzdFNlbGVjdGlvbkxpc3RlbmVyKTogTmV3IGhvb2sgbWV0aG9kIGZvciBjcmVhdGluZyBhIGxpc3QKCXNlbGVjdGlvbiBsaXN0ZW5lci4KCShjcmVhdGVNb3VzZUlucHV0TGlzdGVuZXIpOiBOZXcgaG9vayBtZXRob2QgZm9yIGNyZWF0aW5nIGEgbW91c2UKCWlucHV0IGxpc3RlbmVyLgoJKGNyZWF0ZVByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBOZXcgaG9vayBtZXRob2QgZm9yIGNyZWF0aW5nIGEKCXByb3BlcnR5IGNoYW5nZSBsaXN0ZW5lci4KCjIwMDUtMDktMjMgIERhdmlkIEdpbGJlcnQgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCb3JkZXJzLmphdmEKCShPcHRpb25EaWFsb2dCb3JkZXIpOiBuZXcgY2xhc3MuCgoyMDA1LTA5LTIzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbG9yQ2hvb3NlclVJLmphdmEKCSh1bmluc3RhbGxEZWZhdWx0Q2hvb3NlcnMpOiBOZXcgbWV0aG9kLgoJKHVuaW5zdGFsbFVJKTogQ2FsbCB1bmluc3RhbGxEZWZhdWx0Q2hvb3NlcnMuCgoyMDA1LTA5LTIzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YQoJKGxheW91dENvbXBvdW5kTGFiZWwpOiBGaXggdGhlIGNhc2Ugd2hlbiB2ZXJ0aWNhbFRleHRQb3NpdGlvbj1CT1RUT00KCWFuZCB3aXRob3V0IGljb24uIFRoZSBsYWJlbCB0ZXh0IHNsaXBwZWQgb3V0IG9mIHRoZSB2aWV3IHJlY3RhbmdsZQoJaW4gdGhpcyBjYXNlLgoKMjAwNS0wOS0yMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoc2V0Q3VycmVudFRoZW1lKTogdGhyb3cgZXhjZXB0aW9uIGlmIGFyZ3VtZW50IGlzIG51bGwsIGltcHJvdmVkIEFQSQoJZG9jcy4KCQoyMDA1LTA5LTIyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlBhbmVsLmphdmEKCShhY2Nlc3NpYmxlQ29udGV4dCk6IFJlbW92ZWQgdGhpcyB1bm5lY2Vzc2FyeSBmaWVsZC4gVXNlIHRoZQoJaW5oZXJpdGVkIGZpZWxkIG9mIHRoZSBzYW1lIG5hbWUgZnJvbSBKQ29tcG9uZW50IGluc3RlYWQuCgoyMDA1LTA5LTIyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvVUlNYW5hZ2VyLmphdmEKCShzdGF0aWNfaW5pdGlhbGl6ZXIpOiBMb2FkIE1ldGFsTG9va0FuZEZlZWwgb25seSBhcyBmYWxsYmFjaywgaWYKCXRoZSBzeXN0ZW0gcHJvcGVydHkgJ3N3aW5nLmRlZmF1bHRsYWYnIGlzIG5vdCBkZWZpbmVkLiBCZWZvcmUKCWl0IGhhcyBhY2NpZGVudGFsbHkgbG9hZGVkIHRoZSBNZXRhbExvb2tBbmRGZWVsIGluIGFsbCBjYXNlcywKCXJlZ2FyZGxlc3Mgb2YgdGhlIHByb3BlcnR5IHNldHRpbmcuCgoyMDA1LTA5LTIyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkocGFpbnRDaGlsZHJlbik6IElmIGEgY2hpbGQgY29tcG9uZW50IGlzIGludmlzaWJsZSwgc2tpcCBpdC4KCUhhbmRsZSB0aGUgKHJhcmUpIGNhc2Ugd2hlbiBubyBjbGlwIGlzIHNldCBhcyBpZiBpdCdzIHNldCB0byB0aGUKCWNoaWxkIGNvbXBvbmVudCdzIGJvdW5kcy4gVGhlc2UgZml4ZXMgc2hvdWxkIG1ha2UgU3dpbmcgd29ya2luZwoJYWdhaW4gYXMgYmVmb3JlLgoKMjAwNS0wOS0yMiAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlcl9ndGtXaW5kb3dTZXRSZXNpemFibGUpOgoJUmVwbGFjZSBkZXByZWNhdGVkIGd0a193aW5kb3dfc2V0X3BvbGljeSB3aXRoIGd0a193aW5kb3dfc2V0X3Jlc2l6YWJsZS4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51UGVlcl9kZWxJdGVtKTogUmVwbGFjZSBkZXByZWNhdGVkCglndGtfY29udGFpbmVyX2NoaWxkcmVuIHdpdGggZ3RrX2NvbnRhaW5lcl9nZXRfY2hpbGRyZW4uCgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51QmFyUGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWVudUJhclBlZXJfbmF0aXZlU2V0SGVscE1lbnUpOiBMaWtld2lzZS4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51QmFyUGVlcl9kZWxNZW51KTogTGlrZXdpc2UuCgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZS5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2VfZnJlZVBpeG1hcCk6IFJlcGxhY2UgZGVwcmVjYXRlZAoJZ2RrX3BpeG1hcF91bnJlZiB3aXRoIGdfb2JqZWN0X3VucmVmLgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlcl9ndGtXaWRnZXRTZXRDdXJzb3JVbmxvY2tlZCk6CglSZXBsYWNlIGRlcHJlY2F0ZWQgZ2RrX2N1cnNvcl9kZXN0cm95IHdpdGggZ2RrX2N1cnNvcl91bnJlZi4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyX2d0a1dpZGdldFNldFBhcmVudCk6CglSZXBsYWNlIGRlcHJlY2F0ZWQgZ3RrX2NvbnRhaW5lcl9jaGlsZHJlbiB3aXRoCglndGtfY29udGFpbmVyX2dldF9jaGlsZHJlbi4KCShmaW5kX2ZnX2NvbG9yX3dpZGdldCk6IFJlcGxhY2UgZGVwcmVjYXRlZCBtYWNybyBHVEtfSVNfT1BUSU9OX01FTlUgd2l0aAoJR1RLX0lTX0NPTUJPX0JPWC4KCShjb21wb25lbnRfYnV0dG9uX3JlbGVhc2VfY2IpOiBSZXBsYWNlIGRlcHJlY2F0ZWQgZ2RrX3dpbmRvd19nZXRfc2l6ZQoJd2l0aCBnZGtfZHJhd2FibGVfZ2V0X3NpemUuCgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaGVja2JveFBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NoZWNrYm94UGVlcl9uYXRpdmVTZXRDaGVja2JveEdyb3VwKToKCVJlcGxhY2UgZGVwcmVjYXRlZCBndGtfcmFkaW9fYnV0dG9uX2dyb3VwIHdpdGgKCWd0a19yYWRpb19idXR0b25fZ2V0X2dyb3VwLgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hHcm91cFBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NoZWNrYm94R3JvdXBQZWVyX3JlbW92ZSk6IExpa2V3aXNlLgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2FudmFzUGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2FudmFzUGVlcl9jcmVhdGUpOiBSZXBsYWNlIGRlcHJlY2F0ZWQKCWd0a190eXBlX25ldyB3aXRoIGd0a19kcmF3aW5nX2FyZWFfbmV3LgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzX2NvcHlTdGF0ZSk6IFJlcGxhY2UgZGVwcmVjYXRlZAoJZ2RrXypfcmVmIHdpdGggZ19vYmplY3RfcmVmLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzX2luaXRTdGF0ZV9fSUkpOiBMaWtld2lzZS4KCVJlcGxhY2UgZGVwcmVjYXRlZCBnZGtfcmdiX2dldF9jbWFwIHdpdGggZ2RrX3JnYl9nZXRfY29sb3JtYXAuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3NfaW5pdEZyb21JbWFnZSk6IFJlcGxhY2UKCWRlcHJlY2F0ZWQgZ2RrXypfcmVmIHdpdGggZ19vYmplY3RfcmVmLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzX2luaXRTdGF0ZVVubG9ja2VkKTogTGlrZXdpc2UuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3NfZGlzcG9zZSk6IFJlcGxhY2UgZGVwcmVjYXRlZAoJZ2RrXypfdW5yZWYgd2l0aCBnX29iamVjdF91bnJlZi4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljc19jb3B5QXJlYSk6IFJlcGxhY2UgZGVwcmVjYXRlZAoJZ2RrX3dpbmRvd19jb3B5X2FyZWEgd2l0aCBnZGtfZHJhd19kcmF3YWJsZS4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljc19zZXRGR0NvbG9yKTogUmVwbGFjZSBkZXByZWNhdGVkCglnZGtfY29sb3JfYWxsb2Mgd2l0aCBnZGtfY29sb3JtYXBfYWxsb2NfY29sb3IuCgoyMDA1LTA5LTIyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9VdGlsaXRpZXMuamF2YToKCShnZXRXb3JkRW5kKTogSW1wbGVtZW50ZWQuCgkoZ2V0V29yZFN0YXJ0KTogSW1wbGVtZW50ZWQuCgoyMDA1LTA5LTIyICBLZWl0aCBTRWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L2ZpbHRlcnMvU3RlcEZpbHRlci5qYXZhIChTdGVwRmlsdGVyKTogRG8gbm90IHRlc3QKCWZvciBudWxsIHRocmVhZCBJRCAtLSBqdXN0IHRlc3QgaWYgaXQgaGFzIG5vdCBiZWVuIGdhcmJhZ2UgY29sbGVjdGVkLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXZlbnQvZmlsdGVycy9UaHJlYWRPbmx5RmlsdGVyLmphdmEgKFRocmVhZE9ubHlGaWx0ZXIpOgoJTGlrZXdpc2UuCgoyMDA1LTA5LTIyICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEKCShzZXRWaXNpYmxlKTogU2l6ZSBvZiBtZW51IHNob3VsZCBhbHdheXMgYmUgdGhlIHByZWZlcnJlZAoJc2l6ZS4gSXQgd2FzIHNvbWV0aW1lcyBjdXR0aW5nIG9mIHRoZSBhY2NlbGVyYXRvci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YToKCUluY3JlYXNlZCBkZWZhdWx0QWNjZWxlcmF0b3JMYWJlbEdhcCBmaWVsZCB0byAxMCwgdG8KCW1ha2UgbWVudUl0ZW0gbW9yZSByZWFkYWJsZS4KCjIwMDUtMDktMjIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1V0aWxpdGllcy5qYXZhOgoJKGdldFByZXZpb3VzV29yZCk6IEZpeGVkIGluY29ycmVjdCBsb2dpYy4gIFVzZSBwcmVjZWRpbmcoKSBpbnN0ZWFkIG9mIAoJZm9sbG93aW5nKCksIHByZXZpb3VzKCkgaW5zdGVhZCBvZiBuZXh0KCkuCgoyMDA1LTA5LTIyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogZ251L2phdmEvdGV4dC9CYXNlQnJlYWtJdGVyYXRvci5qYXZhOgoJKGZvbGxvd2luZyk6IERvbid0IHJlc3RvcmUgb2xkIENoYXJhY3Rlckl0ZXJhdG9yIGluZGV4LgoKMjAwNS0wOS0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YSAoQWNjZXNzaWJsZUpMaXN0KTogTmV3IGNvbnN0cnVjdG9yLgoKMjAwNS0wOS0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvU2VydmVyU29ja2V0LmphdmEgKGFjY2VwdCk6IFVzZSBjb3JyZWN0IHNlY3VyaXR5IG1hbmFnZXIKCWNhbGwuCgoyMDA1LTA5LTIyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9VdGlsaXRpZXMuamF2YToKCShnZXROZXh0V29yZCk6IEltcGxlbWVudGVkLgoJKGdldFByZXZpb3VzV29yZCk6IEltcGxlbWVudGVkLgoKMjAwNS0wOS0yMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBDaGFuZ2VkIGJhY2sgdG8gb3JpZ2luYWwgCgl2YWx1ZXMuCgoyMDA1LTA5LTIyICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhCgkoc2hvd1RpcCk6IE1vdmVkIHRvb2x0aXAgbG9jYXRpb24gYWRqdXN0bWVudHMgdG8gYQoJaGVscGVyIG1ldGhvZC4KCShhZGp1c3RMb2NhdGlvbik6IE5ldyBoZWxwZXIgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEZpeGVkIGRlZmF1bHRzIGZvciBUYWJsZSwgCglUYWJsZUhlYWRlciwgVHJlZSB0byBtYXRjaCBKREsuCgkqIGphdmF4L3N3aW5nL3BsYWYvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogRml4ZWQgZGVmYXVsdHMgZm9yIFRhYmxlIGFuZAoJVGFibGVIZWFkZXIgdG8gbWF0Y2ggSkRLLgkKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xUaXBVSS5qYXZhCgkoZGVmYXVsdEJvcmRlcik6IFJlbW92ZWQsIGFsb25nIHdpdGggaW5uZXIgY2xhc3MuIE5vdCBuZWVkZWQuCgkoaW5zdGFsbERlZmF1bHRzKTogQ2hhbmdlZCBib3JkZXIgdG8gYmUgdGhlIGRlZmF1bHQgYm9yZGVyIGluCglMJkYuCgoyMDA1LTA5LTIyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlNwaW5uZXIuamF2YQoJKExpc3RFZGl0b3IpOiBOZXcgaW5uZXIgY2xhc3MuIFByb3ZpZGVzIGFuIGVkaXRvciBmb3IgdGhlCglTcGlubmVyTGlzdE1vZGVsLgoKMjAwNS0wOS0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9pby9GaWxlV3JpdGVyLmphdmEgKEZpbGVXcml0ZXIpOiBUeXBvIGZpeC4KCjIwMDUtMDktMjIgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KQXBwbGV0LmphdmEKCShhY2Nlc3NpYmxlQ29udGV4dCk6IE1hZGUgZmllbGQgcHJvdGVjdGVkIGFzIHNwZWNpZmllZC4KCSogamF2YXgvc3dpbmcvSkJ1dHRvbi5qYXZhCgkoYWNjZXNzaWJsZUNvbnRleHQpOiBSZW1vdmVkIGZpZWxkLiBUaGUgaW5oZXJpdGVkIEpDb21wb25lbnRzCglhY2Nlc3NpYmxlQ29udGV4dCBmaWVsZCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgoJKiBqYXZheC9zd2luZy9KTGFiZWwuamF2YQoJKGFjY2Vzc2libGVDb250ZXh0KTogUmVtb3ZlZCBmaWVsZC4gVGhlIGluaGVyaXRlZCBKQ29tcG9uZW50cwoJYWNjZXNzaWJsZUNvbnRleHQgZmllbGQgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KCSogamF2YXgvc3dpbmcvSlJvb3RQYW5lLmphdmEKCShKUm9vdFBhbmUpOiBSZW1vdmVkIHVubmVjZXNzYXJ5IHNldERvdWJsZUJ1ZmZlcmVkKCkgY2FsbC4KCjIwMDUtMDktMjIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTC5qYXZhOgoJKFNZTlRIRVRJQyk6IFJlbmFtZWQgdmFyaWFibGUgU1lOVEVUSUMgdG8gU1lOVEhFVElDLgoJKFRhZyk6IENoYW5nZWQgY29tbWVudCBmb3Igc3RhdGljIFRhZyBJTVBMSUVELgoKMjAwNS0wOS0yMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhCgkoSlZpZXdwb3J0KTogSW5pdGlhbGl6ZSBjYWNoZWQgZmllbGRzIGZvciBibGl0dGluZy4KCShzZXRWaWV3UG9zaXRpb24pOiBSZXBhaW50IHZpZXdwb3J0LgoJKHJldmFsaWRhdGUpOiBTZXQgZGFtYWdlZCBmbGFnLiBVc2VkIGZvciBibGl0dGluZy4KCShyZXNoYXBlKTogTGlrZXdpc2UuCgkocGFpbnQpOiBOZXcgbWV0aG9kLiBEZWNpZGUgd2hpY2ggcGFpbnQgbWV0aG9kIHRvIHVzZS4KCShjb21wdXRlQmxpdCk6IE5ldyBtZXRob2QuIENvbXB1dGVzIHRoZSBwYXJhbWV0ZXJzIGZvciBibGl0dGluZy4KCShwYWludFNpbXBsZSk6IE5ldyBtZXRob2QuIFBlcmZvcm1zIHBhaW50aW5nIGluIHNpbXBsZSBtb2RlLgoJKHBhaW50QmFja2luZ1N0b3JlKTogTmV3IG1ldGhvZC4gUGVyZm9ybXMgcGFpbnRpbmcgaW4gYmFja2luZ3N0b3JlCgltb2RlLgoJKHBhaW50QmxpdCk6IE5ldyBtZXRob2QuIFBlcmZvcm1zIHBhaW50aW5nIGluIGJsaXQgbW9kZS4gRm9yCglub3cgdGhpcyBmYWxscyBiYWNrIHRvIGJhY2tpbmcgc3RvcmUgbW9kZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1ZpZXdwb3J0VUkuamF2YQoJKENoYW5nZUxpc3RlbmVyKTogUmVtb3ZlZCBpbm5lciBjbGFzcy4KCShpbnN0YWxsRGVmYXVsdHMpOiBMb2FkIGRlZmF1bHQgZm9yIGJhY2tncm91bmQgY29sb3IuIENoYW5nZWQKCXNpZ25hdHVyZSB0byBwcm90ZWN0ZWQuCgkoaW5zdGFsbExpc3RlbmVycyk6IFJlbW92ZWQgbWV0aG9kLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogQ2hhbmdlZCBzaWduYXR1cmUgdG8gcHJvdGVjdGVkLgoJKGluc3RhbGxVSSk6IENhbGwgaW5zdGFsbERlZmF1bHRzKCkuCgkodW5pbnN0YWxsVUkpOiBDYWxsIHVuaW5zdGFsbERlZmF1bHRzKCkuCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IFJlbW92ZWQuCgkocGFpbnQpOiBSZW1vdmVkLgoJKHBhaW50U2ltcGxlKTogUmVtb3ZlZC4KCShwYWludEJhY2tpbmdTdG9yZSk6IFJlbW92ZWQuCgoyMDA1LTA5LTIyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoQWNjZXNzaWJsZUpDb21wb25lbnQuYWRkUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IFBhcnRseSBvbXBsZW1lbnRlZC4KCShBY2Nlc3NpYmxlSkNvbXBvbmVudC5nZXRBY2Nlc3NpYmxlU3RhdGVTZXQpOiBQYXJ0bHkgaW1wbGVtZW50ZWQuCgkoZG91YmxlQnVmZmVyZWQpOiBEZWZhdWx0IHZhbHVlIG9mIHRoaXMgZmllbGQgaXMgdHJ1ZS4KCShwYWludCk6IE1vdmVkIGRvdWJsZSBidWZmZXIgcGFpbnRpbmcgc3R1ZmYgdG8gc2VwYXJhdGUgbWV0aG9kLgoJKHBhaW50Q2hpbGRyZW4pOiBEb24ndCBjYWxsIGludG8gQVdUIHBhaW50aW5nIGNvZGUgaGVyZS4gVGhpcyBhbGxvd3MKCWZvciBhIHNtYWxsIG9wdGltaXphdGlvbi4KCShwYWludEltbWVkaWF0ZWx5KTogRG9uJ3QgZ28gdXAgdG8gdGhlIHBhcmVudCB3aW5kb3csIHRyeSB0byBzdGFydAoJcGFpbnRpbmcgb24gdGhlIG5lYXJlc3QgSlJvb3RQYW5lIGlmIHBvc3NpYmxlLgoJKHBhaW50SW1tZWRpYXRlbHkyKTogTmV3IG1ldGhvZC4gQWN0dWFsbHkgcGVyZm9ybXMgcmVwYWludGluZwoJb24gdGhlIHJlcGFpbnQgcm9vdC4KCShwYWludERvdWJsZUJ1ZmZlcmVkKTogTmV3IG1ldGhvZC4gUGVyZm9ybXMgcGFpbnRpbmcgdXNpbmcKCWEgZG91YmxlIGJ1ZmZlci4KCShwYWludFNpbXBsZSk6IE5ldyBtZXRob2QuIFBlcmZvcm1zIHBhaW50aW5nIHdpdGhvdXQgYnVmZmVyLgoKMjAwNS0wOS0yMiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL2ZpbGVjaG9vc2VyL0ZpbGVGaWx0ZXIuamF2YTogcmVmb3JtYXR0ZWQgYW5kIGFkZGVkIEFQSQoJZG9jcy4KCjIwMDQtMTAtMDkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhIAoJKGRlZmluZUNsYXNzKFN0cmluZyxCeXRlQnVmZmVyLFByb3RlY3Rpb25Eb21haW4pKTogTmV3IG1ldGhvZC4KCjIwMDUtMDktMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShzaG93VGlwKTogRml4ZWQgbG9jYXRpb24gb2YgdG9vbHRpcC4gU29tZXRpbWVzCgl0aGUgVG9vbFRpcCB3YXMgYmVpbmcgY3V0IG9mZi4KCjIwMDUtMDktMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9jbGFzc3BhdGgvQnl0ZUFycmF5LmphdmE6IFJlaW5kZW50IGJvaWxlcnBsYXRlLgoKMjAwNS0wOS0yMSAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGdudS9jbGFzc3BhdGgvQnl0ZUFycmF5LmphdmEsCgkqIGdudS9qYXZheC9jcnlwdG8vRGlmZmllSGVsbG1hbkltcGwuamF2YSwKCSogZ251L2phdmF4L2NyeXB0by9HbnVESFByaXZhdGVLZXkuamF2YSwKCSogZ251L2phdmF4L2NyeXB0by9SU0FDaXBoZXJJbXBsLmphdmE6CglGaXhlZCBhZGRyZXNzIHdpdGhpbiBHUEwgbGljZW5zZS4KCjIwMDUtMDktMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGxpYi9zcGxpdC1mb3ItZ2NqLnNoOiBDdXQgbGlzdCB0byAzIHBhY2thZ2UgbGV2ZWxzIGRlZXAuCgoyMDA1LTA5LTIxICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUwuamF2YToKCShUYWcpOiBDaGFuZ2VkIG5hbWUgb2YgSU1QTElFRCBUYWcgZnJvbSAiaW1wbGllZCIgdG8gInAtaW1wbGllZCIgdG8gCgltYXRjaCB0aGUgSkRLLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTERvY3VtZW50LmphdmE6CgkoQWRkaXRpb25hbENvbW1lbnRzKTogTmV3IGZpZWxkLgoKMjAwNS0wOS0yMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YToKCShnZXRCYXNlKTogSW1wbGVtZW50ZWQuCgkoc2V0QmFzZSk6IEltcGxlbWVudGVkLgoJKGdldFByZXNlcnZlc1Vua25vd25UYWdzKTogSW1wbGVtZW50ZWQuCgkoc2V0UHJlc2VydmVzVW5rbm93blRhZ3MpOiBJbXBsZW1lbnRlZC4KCShCbG9ja0VsZW1lbnQpOiBOZXcgY2xhc3MgcGFydGlhbGx5IGltcGxlbWVudGVkLgoKMjAwNS0wOS0yMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQm9yZGVyTGF5b3V0LmphdmE6IFJldmVydGVkIGZpZWxkIHJlb3JkZXJpbmcuCgoyMDA1LTA5LTIxICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKGRpc3RyaWJ1dGVTcGlsbCk6IEZpeGVkIGEgTlBFLgoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhCgkobW91c2VFeGl0ZWQpOiBObyBuZWVkIHRvIGRvIHRoaXMgc3R1ZmYsIHJlbW92ZWQgY29kZS4KCShzaG93VGlwKTogUmV2YWxpZGF0aW5nIGFuZCByZXBhaW50aW5nIHRvbyBtdWNoLCByZW1vdmVkLgoJKGhpZGVUaXApOiBMaWtld2lzZS4KCjIwMDUtMDktMjEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0JvcmRlckxheW91dC5qYXZhIChpbnZhbGlkYXRlTGF5b3V0KTogVXBkYXRlZCBjb21tZW50LgoJKHNldEJvdW5kcyk6IExpa2V3aXNlLgoJKE1JTiwgTUFYLCBQUkVGKTogTW92ZWQgbmVhcmVyIHRvcCBvZiBmaWxlLgoJKGdldExheW91dENvbXBvbmVudCk6IE5ldyBtZXRob2RzLgoJKGdldENvbnN0cmFpbnRzKTogTmV3IG1ldGhvZC4KCSh2Z2FwLCBoZ2FwLCBub3J0aCwgc291dGgsIGVhc3QsIHdlc3QpOiBSZW9yZGVyZWQgZmllbGRzIHRvIGNvbmZvcm0KCXRvIHNlcmlhbGl6YXRpb24gc3BlYy4KCjIwMDUtMDktMjEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTERvY3VtZW50LmphdmE6CgkoTGVhZkl0ZXJhdG9yKTogTmV3IGNsYXNzLgoJKGdldEl0ZXJhdG9yKTogSW1wbGVtZW50ZWQuCgkoSXRlcmF0b3IpOiBOZXcgYWJzdHJhY3QgY2xhc3MuCgoyMDA1LTA5LTIxICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL21hdGgvQmlnRGVjaW1hbC5qYXZhIChaRVJPLCBPTkUpOiBOb3cgcHVibGljLiAgVXBkYXRlZAoJamF2YWRvYy4KCShURU4pOiBOZXcgY29uc3RhbnQuCgkqIGphdmEvbWF0aC9CaWdJbnRlZ2VyLmphdmEgKFpFUk8pOiBVcGRhdGVkIGphdmFkb2MuCgkoT05FKTogTGlrZXdpc2UuCgkoVEVOKTogTmV3IGNvbnN0YW50LgoKMjAwNS0wOS0yMSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCUZpeGVzIEJ1ZyAjMjM5MzcKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhCgkocHJvcGVydHlDaGFuZ2UpOiBXaGVuIFdBTlRTX0lOUFVUX1BST1BFUlRZIGlzIGNoYW5nZWQsCgl0aGUgYnV0dG9ucyBzaG91bGQgYmUgdXBkYXRlZC4KCShnZXRCdXR0b25zKTogQXBwbGllZCBwYXRjaCBpbiBidWcgcmVwb3J0LiBTZXRzIGRlZmF1bHQKCWJ1dHRvbnMuCgoyMDA1LTA5LTIxICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhCgkoc2hvd1RpcCk6IEFkZGVkIGNvZGUgdG8gbW92ZSBjdXJyZW50UG9pbnQgdG8gYSBuZXcgcGxhY2UuCgkoZ2V0R29vZFBvaW50KTogUmVtb3ZlZCwgbm90IG5lZWRlZC4KCjIwMDUtMDktMjEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsRmlsZUNob29zZXJVSS5qYXZhOiBuZXcgZmlsZSAocGFydGlhbCAKCWltcGxlbWVudGF0aW9uKS4KCjIwMDUtMDktMjAgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YQoJKHNldFZpc2libGUpOiBJZiBIZWF2eVdlaWdodFBvcHVwLCBzZXRMaWdodFdlaWdodFBvcHVwRW5hYmxlZAoJaXMgZmFsc2UuCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShzaG93VGlwKTogQ2hhbmdlIHNvIHRvb2xUaXBzIG9uIGxpZ2h0V2VpZ2h0UG9wdXBzIGFyZSAKCWFkZGVkIGRpZmZlcmVudCB0aGFuIHRob3NlIG9uIGhlYXZ5V2VpZ2h0UG9wdXBzLgoJKGNhblRvb2xUaXBGaXQpOiBSZW1vdmVkLiBUaGlzIGlzIG5vdCBuZWVkZWQvdXNlZC4KCjIwMDUtMDktMjAgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShtb3VzZU1vdmVkKTogUmVtb3ZlZCB1bm5lZWRlZCBjb2RlLiBJZiB0aGUgbW91c2UKCW1vdmVzIGludG8gYW5vdGhlciBjb21wb25lbnQsIHRoZW4gbW91c2VFbnRlcmVkIHdvdWxkCglkbyB0aGUgc2FtZSB0aGluZy4gT3RoZXJ3aXNlLCBpdCBpcyBub3QgbmVlZGVkLgoJKHNob3dUaXApOiBGaXhlZCBzbyB0aGF0IHRoZSBjb250YWluZXJQYW5lbCBpcyBhbiAKCWluc3RhbmNlIG9mIFBhbmVsLiBNYWRlIGNvZGUgbW9yZSBlZmZpY2VudC4KCVRvb2x0aXBzIHdlcmUgY2F1c2luZyB3ZWlyZCBwcm9ibGVtcyB3aXRoIHRoZQoJSk1lbnVzLgoJKGdldEdvb2RQb2ludCk6IEZpeGVkIHRvIHJldHVybiBhIGJldHRlciBsb2NhdGlvbi4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVCYXJVSS5qYXZhCgkobW91c2VDbGlja2VkKTogRml4ZWQgdG8gcHJldmVudCBhIE5QRS4KCjIwMDUtMDktMjAgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBjbGFzc3BhdGgvMjI5MDY6CgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9qYXIvQ29ubmVjdGlvbi5qYXZhIChnZXQpOiBBZGRlZCB1c2VDYWNoZXMKCWFyZ3VtZW50LgoJKGNvbm5lY3QpOiBVcGRhdGVkLgoKMjAwNS0wOS0yMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvcHJpbnQvRG9jRmxhdm9yLmphdmEgKHNlcmlhbFZlcnNpb25VSUQpOiBGaXhlZCB0eXBvLgoKMjAwNS0wOS0xOSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhOgoJKHdyaXRlKTogUGFydGlhbGx5IEltcGxlbWVudGVkIGFuZCBtYWRlIHNsaWdodCBjb3JyZWN0aW9uIHRvIEFQSSBkb2NzLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhOgoJKGNyZWF0ZURlZmF1bHREb2N1bWVudCk6IE92ZXJyaWRlIHBhcmVudCBtZXRob2QgYmVjYXVzZSB3ZSBuZWVkIHRvIAoJcmV0dXJuIGFuIEhUTUxEb2N1bWVudCBub3QgYSBEZWZhdWx0U3R5bGVkRG9jdW1lbnQuCgkKMjAwNS0wOS0yMCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCglGaXhlcyBQUiAjMjM5MDAuCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhCgkocmVtb3ZlKGludCkpOiBSZW1vdmVkIHJlcGFpbnQoKSBjYWxsLiBUaGlzIGlzIHVubmVjZXNzYXJ5IGJlY2F1c2UKCWFscmVhZHkgdHJpZ2dlcmVkIGJ5IENvbnRhaW5lci5yZW1vdmUoKS4KCShyZW1vdmUoQ29tcG9uZW50KSk6IFJlbW92ZWQgdGhpcyBzdXBlcmZsdW91cyBtZXRob2QuIEl0J3Mgbm90CglpbiB0aGUgc3BlY3MgYW5kIHRoZSBmdW5jdGlvbmFsaXR5IGlzIGFscmVhZHkgaW4gQ29udGFpbmVyLgoJKHBhaW50KTogTmV3IG1ldGhvZC4gT3ZlcnJpZGRlbiBpbiBvcmRlciB0byBwcm92aWRlIHJlYXNvbmFibGUKCXBhaW50aW5nIGZvciBKTGF5ZXJlZFBhbmVzLgoKMjAwNS0wOS0yMCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKFVwZGF0ZUhhbmRsZXIpOiBSZW5hbWVkIHRvIFByb3BlcnR5Q2hhbmdlSGFuZGxlci4gVGhpcyBuYW1lIGlzCgljbG9zZXIgdG8gdGhlIHB1cnBvc2Ugb2YgdGhpcyBjbGFzcy4KCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBEZWxlZ2F0ZSBwcm9wZXJ0eSBjaGFuZ2UKCXRvIHByb3BlcnR5Q2hhbmdlIGhvb2sgbWV0aG9kIGluIHRoZSBlbmNsb3NpbmcgQmFzaWNUZXh0VUkuCgkocHJvcGVydHlDaGFuZ2UpOiBOZXcgcHJvdGVjdGVkIG1ldGhvZC4gVGhpcyBzZXJ2ZXMgYXMgYSBob29rCglmb3Igc3ViY2xhc3NlcyB0byBoYW5kbGUgcHJvcGVydHkgY2hhbmdlcyBpbiB0aGUgdGV4dCBjb21wb25lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0RmllbGRVSS5qYXZhCgkocHJvcGVyeUNoYW5nZSk6IEhhbmRsZSBlZGl0YWJsZSBwcm9wZXJ0eSBoZXJlIGFuZCBhZGp1c3QgYmFja2dyb3VuZAoJYWNjb3JkaW5nbHkuCgoyMDA1LTA5LTIwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YQoJKGdldFBhcmFncmFwaEVsZW1lbnQpOiBJZiB0aGUgcG9zaXRpb24gYXJndW1lbnQgaXMgb3V0IG9mIHRoZQoJZG9jdW1lbnQncyBib3VuZHMsIHRoZW4gdGhlIGNsb3Nlc3QgcGFyYWdyYXBoIGVsZW1lbnQgbXVzdCBiZQoJcmV0dXJuZWQuIFRoaXMgaXMgZml4ZWQuCgoyMDA1LTA5LTIwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShyZXNpemVBbmRSZXBhaW50KTogTmV3IHByb3RlY3RlZCBtZXRob2QuCgoyMDA1LTA5LTIwICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZheC94bWwvbmFtZXNwYWNlL1FOYW1lLmphdmE6IE5vdyBTZXJpYWxpemFibGUuCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCShxTmFtZSwgaGFzaENvZGUpOiBOb3cgdHJhbnNpZW50LgoJKFFOYW1lKTogRG9uJ3QgY29tcHV0ZSBxTmFtZSBoZXJlLgoJKGVxdWFscyk6IE5vdyBmaW5hbC4KCShoYXNoQ29kZSk6IFNpbXBsaWZpZWQuCgkodG9TdHJpbmcpOiBDb21wdXRlIHFOYW1lIGhlcmUuCgoyMDA1LTA5LTIwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YQoJKGdldFRleHRGaWVsZEJvcmRlcik6IFRoaXMgbWV0aG9kIG11c3QgcmV0dXJuIGFuIEJvcmRlclVJUmVzb3VyY2UKCWluc3RhbmNlLiBGaXhlZC4KCjIwMDUtMDktMjAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglSZXBvcnRlZCBieSBNYXJ0aW4gQ29yZG92YSA8bWFydGluLmNvcmRvdmFAZ21haWwuY29tPgoJKiBuYXRpdmUvam5pL2phdmEtbmV0L2phdmFuZXQuYyAoX2phdmFuZXRfYWNjZXB0KTogVGhyb3cKCVNvY2tldFRpbWVvdXRFeGNlcHRpb24gb24gRUFHQUlOIHRpbWVvdXQuCgoyMDA1LTA5LTIwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBIYW5kbGUgdGhlIHJvbGxvdmVyIFVJRGVmYXVsdHMgcHJvcGVydHkuCgkocGFpbnRUZXh0KTogQ29ycmVjdGx5IHBhaW50IGRpc2FibGVkIGJ1dHRvbiBsYWJlbCB0ZXh0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEZpeCBzb21lIHRleHQgY29tcG9uZW50IGJvcmRlciBkZWZhdWx0cy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRQYW5lVUkuamF2YQoJKGluc3RhbGxVSSk6IE5ldyBtZXRob2QuIFRoaXMgc2V0cyB1cCBzb21lIHN0eWxlIGF0dHJpYnV0ZXMKCWZvciB0aGUgSlRleHRQYW5lLgoKMjAwNS0wOS0yMCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHQpOiBBZGRlZCBhbmQgZml4ZWQgc29tZSBVSSBkZWZhdWx0cy4KCjIwMDUtMDktMjAgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhCgkoQnV0dG9uQm9yZGVyLnBhaW50Qm9yZGVyKTogRmV0Y2ggY29ycmVjdCBjb2xvciBmb3IgZGlzYWJsZWQKCWJ1dHRvbiBib3JkZXIuCgkoZ2V0VGV4dEZpZWxkQm9yZGVyKTogQ29ycmVjdGx5IGluaXRpYWxpemUgdGV4dCBmaWVsZCBib3JkZXIuIFRoaXMKCXNob3VsZCBiZSBhIGNvbXBvdW5kIGJvcmRlciB3aXRoIGEgTWFyZ2luQm9yZGVyIGFuZCBUZXh0RmllbGRCb3JkZXIKCWluc3RlYWQgb2YgYSBwbGFpbiBUZXh0RmllbGRCb3JkZXIuCgkoZ2V0VGV4dEJvcmRlcik6IE5ldyBtZXRob2QuCgoyMDA1LTA5LTIwICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YQoJKHNldFBhcmFncmFwaEF0dHJpYnV0ZXMpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCShpbnNlcnRVcGRhdGUpOiBGaXhlZCBhdHRyaWJ1dGUgY29tcGFyaXNvbiB0byBhdm9pZCBOUEUuCgoyMDA1LTA5LTIwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgYXd0LzIzOTUxCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKGlzUmVhbGl6ZWQpOiBMZWF2ZSBHREsgY3JpdGljYWwgcmVnaW9uIHdoZW4gZXhpdGluZyBlYXJseS4KCjIwMDUtMDktMTkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L1BvcHVwTWVudS5qYXZhIChBY2Nlc3NpYmxlQVdUUG9wdXBNZW51LnNlcmlhbFZlcnNpb25VSUQpOgoJTmV3IGZpZWxkLgoJKiBqYXZhL2F3dC9UZXh0RmllbGQuamF2YSAoQWNjZXNzaWJsZUFXVFRleHRGaWVsZC5zZXJpYWxWZXJzaW9uVUlEKToKCU5ldyBmaWVsZC4KCSogamF2YS9hd3QvVGV4dEFyZWEuamF2YSAoQWNjZXNzaWJsZUFXVFRleHRBcmVhLnNlcmlhbFZlcnNpb25VSUQpOiAKCU5ldyBmaWVsZC4KCSogamF2YS9hd3QvTWVudS5qYXZhIChBY2Nlc3NpYmxlQVdUTWVudS5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKiBqYXZhL2F3dC9DaGVja2JveE1lbnVJdGVtLmphdmEgKEFjY2Vzc2libGVBV1RDaGVja2JveE1lbnVJdGVtLnNlcmlhbFZlcnNpb25VSUQpOgoJTmV3IGZpZWxkLgoJKiBqYXZhL2F3dC9UZXh0Q29tcG9uZW50LmphdmEgKEFjY2Vzc2libGVBV1RUZXh0Q29tcG9uZW50LnNlcmlhbFZlcnNpb25VSUQpOgoJTmV3IGZpZWxkLgoJKiBqYXZhL2F3dC9NZW51SXRlbS5qYXZhIChBY2Nlc3NpYmxlQVdUTWVudUl0ZW0uc2VyaWFsVmVyc2lvblVJRCk6CglOZXcgZmllbGQuCgkqIGphdmEvYXd0L0ZyYW1lLmphdmEgKEFjY2Vzc2libGVBV1RGcmFtZS5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IAoJZmllbGQuCgkqIGphdmEvYXd0L0RpYWxvZy5qYXZhIChBY2Nlc3NpYmxlQVdURGlhbG9nLnNlcmlhbFZlcnNpb25VSUQpOiBOZXcKCWZpZWxkLgoJKiBqYXZhL2F3dC9CdXR0b24uamF2YSAoQWNjZXNzaWJsZUFXVEJ1dHRvbi5zZXJpYWxWZXJzaW9uVUlEKTogTmV3CglmaWVsZC4KCSogamF2YS9hd3QvV2luZG93LmphdmEgKEFjY2Vzc2libGVBV1RXaW5kb3cuc2VyaWFsVmVyc2lvblVJRCk6IE5ldwoJZmllbGQuCgkqIGphdmEvYXd0L1Njcm9sbFBhbmUuamF2YSAoQWNjZXNzaWJsZUFXVFNjcm9sbFBhbmUuc2VyaWFsVmVyc2lvblVJRCk6CglOZXcgZmllbGQuCgkqIGphdmEvYXd0L0xpc3QuamF2YSAoQWNjZXNzaWJsZUFXVExpc3Quc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCShBY2Nlc3NpYmxlQVdUTGlzdENoaWxkLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCShBY2Nlc3NpYmxlQVdUTGlzdENoaWxkLnBhcmVudCk6IE1vdmVkIGVhcmxpZXIuCgkoQWNjZXNzaWJsZUFXVExpc3RDaGlsZC5pbmRleEluUGFyZW50KTogUmVuYW1lZC4KCjIwMDUtMDktMTkgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9maWxlY2hvb3Nlci9GaWxlVmlldy5qYXZhOgoJUmVmb3JtYXR0ZWQgYW5kIGFkZGVkIEFQSSBkb2MgY29tbWVudHMuCgoyMDA1LTA5LTE5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlJvb3RQYW5lLmphdmE6CgkoY3JlYXRlR2xhc3NQYW5lKTogRG9uJ3Qgc2V0IHRoZSBsYXlvdXQgbWFuYWdlciB0byBCb3JkZXJMYXlvdXQuICBMZWF2ZQoJaXQgYXMgSlBhbmVsJ3MgZGVmYXVsdCBGbG93TGF5b3V0LgoKMjAwNS0wOS0xOSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YToKCUNoYW5nZWQgdG9vbHRpcCB0byBiZSBKRGlhbG9nIChubyBlbnRyeSBpbiB0YXNrYmFyKSwKCWluc3RlYWQgb2YgSldpbmRvdy4KCShhY3Rpb25QZXJmb3JtZWQpOiBObyBuZWVkIHRvIHN0YXJ0IHRpbWVyIGhlcmUuCgkobW91c2VFbnRlcmVkKTogTm8gbmVlZCB0byBjYWxsIHNob3dUaXAgaGVyZSwgaXQgaXMgY2FsbGVkCgl3aGVuIHRoZSB0aW1lciBmaXJlcy4KCShzaG93VGlwKTogU2hvdWxkbid0IHNob3cgdGlwIGlmIGl0IGlzIGFscmVhZHkgdmlzaWJsZSBvcgoJdGhlIGN1cnJlbnQgY29tcG9uZW50IGlzIG5vdCBzaG93aW5nLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShnZXRSb3dGb3JQYXRoKTogUmUtaW1wbGVtZW50ZWQuCgkobW91c2VQcmVzc2VkKTogQ2FsbCBnZXRSb3dGb3JQYXRoIGluc3RlYWQsIGFsc28KCWFkZGVkIGEgY2hlY2sgaW4gZm9yIGxlYWYgaWNvbnMuCgoyMDA1LTA5LTE5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxheWVyZWRQYW5lLmphdmE6CgkoPGluaXQ+KTogU2V0IGxheW91dCBtYW5hZ2VyIHRvIG51bGwuCgoyMDA1LTA5LTE5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVVSS5qYXZhOgoJKEdsYXNzUGFuZURpc3BhdGNoZXIuaGFuZGxlRXZlbnQpOiBBZGRlZCBjaGVjayBmb3IgbW91c2VFdmVudFRhcmdldAoJYmVpbmcgbnVsbCB0byBhdm9pZCBOUEUuCgoyMDA1LTA5LTE5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlJvb3RQYW5lLmphdmE6CgkoUm9vdExheW91dC5sYXlvdXRDb250YWluZXIpOiBBZGRlZCBjb21tZW50IGFib3V0IGhvdyB0aGUgCgljb21wb25lbnRzIHNob3VsZCBiZSBzaXplZC4gIEZpeGVkIHNpemUgb2YgZ2xhc3NQYW5lIHdoaWNoIGZpbGxzIHRoZSAKCWVudGlyZSB2aWV3YWJsZSByZWdpb24sIGluY2x1ZGluZyBvdmVydG9wIHRoZSBtZW51QmFyLiAgVXNlZCBib3VuZHMgCgltaW51cyBpbnNldHMgZm9yIGNvbnRhaW5lclNpemUsIGFzIGluZGljYXRlZCBpbiBjb21tZW50LCByYXRoZXIgdGhhbiAKCWdldFNpemUoKS4gIFVzZWQgc2V0Qm91bmRzIGluc3RlYWQgb2Ygc2V0U2l6ZSBmb3IgbGF5ZXJlZFBhbmUgYmVjYXVzZSAKCWl0cyByZWxhdGlvbiB0byB0aGUgb3RoZXIgY29tcG9uZW50cycgc2l6ZXMgaXMgbW9yZSBvYnZpb3VzIHRoYXQgd2F5LgoKMjAwNS0wOS0xOSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVUkuamF2YToKCShHbGFzc1BhbmVEaXNwYXRjaGVyLmhhbmRsZUV2ZW50KTogUmVwbGFjZWQgY2FsbCB0byBTd2luZ1V0aWxpdGllcycgCgljb252ZXJ0TW91c2VFdmVudCAod2l0aCBpZGVudGljYWwgc291cmNlIGFuZCBkZXNpbmF0aW9uKSB3aXRoIGEgc2ltcGxlIAoJY2FzdC4gIElmIGFjcXVpcmVDb21wb25lbnRGb3JNb3VzZUV2ZW50IHJldmVhbHMgd2UncmUgZ29pbmcgdG8gCglyZS1kaXNwYXRjaCB0aGlzIGV2ZW50IHRvIG91cnNlbHZlcyAoYW5kIGxvb3AgaW5maW5pdGVseSksIHJldHVybi4gQWxzbwoJcmVwbGFjZWQgY29udGVudFBhbmUgYnkgZ2xhc3NQYW5lIGFzIHRoZSBzb3VyY2UgYXJndW1lbnQgdG8gCglTd2luZ1V0aWxpdGllcy5jb252ZXJ0TW91c2VFdmVudCBzaW5jZSB0aGUgZ2xhc3NQYW5lIGlzIHRoZSByZWFsCglzb3VyY2UuCgoyMDA1LTA5LTE5ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Fycm93QnV0dG9uLmphdmEKCShwYWludFRyaWFuZ2xlKTogbWlub3IgY29ycmVjdGlvbiB0byBoaWdobGlnaHQgb24gdHJpYW5nbGUgZm9yIGRpc2FibGVkCglidXR0b25zLgoJCjIwMDUtMDktMTkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3ByaW50L0RvY0ZsYXZvci5qYXZhIChCWVRFX0FSUkFZLnNlcmlhbFZlcnNpb25VSUQpOiBOZXcgZmllbGQuCgkoSU5QVVRfU1RSRUFNLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCjIwMDUtMDktMTkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvdGV4dC9EYXRlRm9ybWF0LmphdmEgKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgZmllbGQuCgoyMDA1LTE5LTE5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShzZWxlY3RQYXRoKTogQ2hhbmdlZCBzbyBESVNDT05USUdVT1VTX1RSRUVfU0VMRUNUSU9OIGlzIHRoZQoJZGVmYXVsdC4KCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKEFjY2Vzc2libGVKVHJlZU5vZGUpOiBJbml0aWFsaXplZCBhbGwgZmllbGRzLgoJKGFkZEFjY2Vzc2libGVTZWxlY3Rpb24pOiBJbXBsZW1lbnRlZC4KCShjbGVhckFjY2Vzc2libGVTZWxlY3Rpb24pOiBJbXBsZW1lbnRlZC4KCShkb0FjY2Vzc2libGVBY3Rpb24pOiBJbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlQWN0aW9uKTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZUFjdGlvbkNvdW50KTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZUFjdGlvbkRlc2NyaXB0aW9uKTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzc2libGVDaGlsZCk6IFJlbW92ZSBtb2QgdmFyaWFibGUsIG1hZGUgZ2xvYmFsLgoJKGdldEFjY2Vzc2libGVDb21wb25lbnQpOiBDaGFuZ2VkIHRvIHJldHVybiB0aGlzLCBzaW5jZSB0aGlzCgljbGFzcyBpbXBsZW1lbnRzIEFjY2Vzc2libGVDb21wb25lbnQuCgkoZ2V0QWNjZXNzaWJsZVNlbGVjdGlvbik6IExpa2V3aXNlLgoJKGdldEFjY2Vzc2libGVTZWxlY3Rpb24pOiBJbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlU2VsZWN0aW9uQ291bnQpOiBJbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlU3RhdGVTZXQpOiBSZW1vdmUgbW9kIHZhcmlhYmxlLCBtYWRlIGdsb2JhbC4KCShnZXRDdXJzb3IpOiBJbXBsZW1lbnRlZC4KCShpc0FjY2Vzc2libGVDaGlsZFNlbGVjdGVkKTogUmVtb3ZlIG1vZCB2YXJpYWJsZSwgbWFkZSBnbG9iYWwuCgkocmVtb3ZlQWNjZXNzaWJsZVNlbGVjdGlvbik6IEltcGxlbWVudGVkLgoJKHNlbGVjdEFsbEFjY2Vzc2libGVTZWxlY3Rpb24pOiBJbXBsZW1lbnRlZC4KCShzZXRDdXJzb3IpOiBJbXBsZW1lbnRlZC4KCShBY2Nlc3NpYmxlSlRyZWUpOiBOb3RoaW5nIHRvIGRvLgoJKGdldEFjY2Vzc2libGVBdCk6IEltcGxlbWVudGVkLgoJKGdldEFjY2Vzc2libGVTZWxlY3Rpb24pOiBJbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlU2VsZWN0aW9uKTogSW1wbGVtZW50ZWQuCQoKMjAwNS0wOS0xOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgveG1sL3hwYXRoL1hQYXRoRnVuY3Rpb25FeGNlcHRpb24uamF2YSAoc2VyaWFsVmVyc2lvblVJRCk6IE5ldwoJZmllbGQuCgkqIGphdmF4L3htbC94cGF0aC9YUGF0aEZhY3RvcnlDb25maWd1cmF0aW9uRXhjZXB0aW9uLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKiBqYXZheC94bWwveHBhdGgvWFBhdGhFeHByZXNzaW9uRXhjZXB0aW9uLmphdmEgKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcKCWZpZWxkLgoJKiBqYXZheC94bWwveHBhdGgvWFBhdGhFeGNlcHRpb24uamF2YSAoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCSogamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckNvbmZpZ3VyYXRpb25FeGNlcHRpb24uamF2YSAobG9jYXRvcik6CglSZW1vdmVkLgoJKFRyYW5zZm9ybWVyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbik6IFBhc3MgbG9jYXRvciB0byBzdXBlciBjb25zdHJ1Y3Rvci4KCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKiBqYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyRmFjdG9yeUNvbmZpZ3VyYXRpb25FcnJvci5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCSogamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckV4Y2VwdGlvbi5qYXZhIChjb250YWluZWRFeGNlcHRpb24pOgoJUmVuYW1lZCBmaWVsZC4KCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoKMjAwNS0wOS0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKFVwZGF0ZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBIYW5kbGUgY2hhbmdlcyBvZiB0aGUgZWRpdGFibGUKCXByb3BlcnR5LgoJKHBhaW50QmFja2dyb3VuZCk6IE1vdmVkIGltcGxlbWVudGF0aW9uIHRvCglVcGRhdGVIYW5kbGVyLnByb3BlcnR5Q2hhbmdlLiBUaGlzIG1ldGhvZCBpdHNlbGYgc2hvdWxkIG5vdCBmaWxsCgl0aGUgYmFja2dyb3VuZC4KCjIwMDUtMDktMTkgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG5hdGl2ZS9qbmkvamF2YS1uZXQvamF2YV9uZXRfVk1JbmV0QWRkcmVzcy5jCgkoSmF2YV9qYXZhX25ldF9WTUluZXRBZGRyZXNzX2dldEhvc3RCeUFkZHIpOiBBZGQgZXJyb3Igc3RyaW5nIGFzCglleGNlcHRpb24gbWVzc2FnZS4KCSogbmF0aXZlL2puaS9qYXZhLW5ldC9qYXZhbmV0LmMgKF9qYXZhbmV0X2FjY2VwdCk6IExpa2V3aXNlLgoJKF9qYXZhbmV0X3NodXRkb3duSW5wdXQpOiBMaWtld2lzZS4KCShfamF2YW5ldF9zaHV0ZG93bk91dHB1dCk6IExpa2V3aXNlLgoKMjAwNS0wOS0xOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL2JvcmRlci9UaXRsZWRCb3JkZXIuamF2YQoJKHBhaW50Qm9yZGVyKTogQ29ycmVjdGx5IHNldCB0aGUgWSBvZmZzZXQgZm9yIHRoZSBib3JkZXIgdGl0bGUuCgkoZ2V0TWVhc3VyZW1lbnRzKTogRGV0ZXJtaW5lIHRoZSBjb3JyZWN0IFkgb2Zmc2V0IGZvciB0aGUgYm9yZGVyCgl0aXRsZS4KCjIwMDUtMDktMTkgIFJvYmVydCBTY2h1c3RlciAgPHJvYmVydHNjaHVzdGVyQGZzZmUub3JnPgoKCSogamF2YS91dGlsL1Jlc291cmNlQnVuZGxlLmphdmE6IENoYW5nZWQgdHlwZSBvZiBidW5kbGVDYWNoZQoJdG8gV2Vha0hhc2hNYXAuCgoyMDA1LTA5LTE5ICBSb2JlcnQgU2NodXN0ZXIgIDxyb2JlcnRzY2h1c3RlckBmc2ZlLm9yZz4KCgkqIGphdmEvYXd0L0NoZWNrYm94LmphdmE6CgkoQ2hlY2tib3gpOiBQcm9wZXJseSBzZXQgYXMgc2VsZWN0ZWQgY2hlY2tib3ggaW4gY29ycmVzcG9uZGluZwoJY2hlY2tib3ggZ3JvdXAuCgkocGFyYW1TdHJpbmcpOiBSZW1vdmVkIGNoZWNrYm94IGdyb3VwIGluZm9ybWF0aW9uLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YToKCShwYXJhbVN0cmluZyk6IFJlbW92ZWQgcmVkdW5kYW50ICI9Ii4KCjIwMDUtMDktMTkgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhCgkoaW5zdGFsbENvbXBvbmVudHMpOiBjYWxsIGNvbmZpZ3VyZUFycm93QnV0dG9uIGFmdGVyIGNyZWF0aW5nIGJ1dHRvbiwKCShjb25maWd1cmVFZGl0b3IpOiBzZXQgdGhlIHNlbGVjdGVkIGl0ZW0sCgkoY29uZmlndXJlQXJyb3dCdXR0b24pOiBzZXQgYSB6ZXJvIG1hcmdpbiwKCShnZXRQcmVmZXJyZWRTaXplKTogZGVsZWdhdGUgdG8gZ2V0TWluaW11bVNpemUoKSwKCShnZXRNaW5pbXVtU2l6ZSk6IG5vdyB1c2VzIGNvZGUgdGhhdCB3YXMgaW4gZ2V0UHJlZmVycmVkU2l6ZSgpLAoJKGdldERlZmF1bHRTaXplKTogcmVkdWNlIGRlZmF1bHQgaGVpZ2h0LAoJKENvbWJvQm94TGF5b3V0TWFuYWdlci5sYXlvdXRDb21wb25lbnQpOiB1c2UgY29tYm9Cb3ggaGVpZ2h0IGFzIGJ1dHRvbgoJd2lkdGgsCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogc2V0IGZvbnQgb24gYXJyb3cgYnV0dG9uLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hVSS5qYXZhCgkoaW5zdGFuY2VzKTogZGVsZXRlZCBmaWVsZCwKCShNZXRhbENvbWJvQm94TGF5b3V0TWFuYWdlcik6IG5ldyBjbGFzcywKCShNZXRhbFByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBuZXcgY2xhc3MsCgkoTWV0YWxDb21ib1BvcHVwKTogbmV3IGNsYXNzLAoJKGNyZWF0ZVVJKToganVzdCByZXR1cm4gbmV3IGluc3RhbmNlLAoJKGNyZWF0ZUVkaXRvcik6IGltcGxlbWVudGVkLAoJKGNyZWF0ZVBvcHVwKTogaW1wbGVtZW50ZWQsCgkoY3JlYXRlQXJyb3dCdXR0b24pOiBpbXBsZW1lbnRlZCwKCShjcmVhdGVQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKTogaW1wbGVtZW50ZWQsCgkocGFpbnQpOiBpbXBsZW1lbnRlZCwKCShlZGl0YWJsZVByb3BlcnR5Q2hhbmdlZCk6IGltcGxlbWVudGVkLAoJKGNyZWF0ZUxheW91dE1hbmFnZXIpOiBpbXBsZW1lbnRlZCwKCShyZW1vdmVMaXN0ZW5lcnMpOiBpbXBsZW1lbnRlZCwKCShnZXRNaW5pbXVtU2l6ZSk6IGltcGxlbWVudGVkLgoKMjAwNS0wOS0xOSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRQZWVyX2Rpc3Bvc2UpOiBGaXggZG91YmxlCgl1bnJlZmVyZW5jaW5nIHBmb250LT5mb250LiBVbnJlZiBwZm9udC0+bGF5b3V0IGluc3RlYWQuCgoyMDA1LTA5LTE4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvVGltZXIuamF2YSAoVGFza1F1ZXVlLnB1cmdlKTogTmV3IG1ldGhvZC4KCShUaW1lcihTdHJpbmcpKTogTmV3IGNvbnN0cnVjdG9yLgoJKFRpbWVyKFN0cmluZyxib29sZWFuKSk6IExpa2V3aXNlLgoJKHB1cmdlKTogTmV3IG1ldGhvZC4KCjIwMDUtMDktMTggIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9TaG9ydC5qYXZhICh2YWx1ZU9mKTogTmV3IG1ldGhvZC4KCSogamF2YS9sYW5nL0RvdWJsZS5qYXZhICh2YWx1ZU9mKTogTmV3IG1ldGhvZC4KCSogamF2YS9sYW5nL0Zsb2F0LmphdmEgKHZhbHVlT2YpOiBOZXcgbWV0aG9kLgoKMjAwNS0wOS0xOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL0xvbmcuamF2YSAocmV2ZXJzZSk6IENvcnJlY3RseSBoYW5kbGUgc2lnbiBleHRlbnNpb24uCgoyMDA1LTA5LTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJKGluc3RhbGxDb21wb25lbnRzKTogcmVtb3ZlIGxpc3RCb3ggY29sb3Igc2V0dGluZ3MsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogY29ycmVjdGVkIENvbWJvQm94IGFuZCBMaXN0Qm94IGRlZmF1bHRzLgoKMjAwNS0wOS0xOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFJlbmRlcmVyLmphdmEKCShCYXNpY0NvbWJvQm94UmVuZGVyZXIpOiBzZXQgbm8gZm9jdXMgYm9yZGVyLAoJKGdldExpc3RDZWxsUmVuZGVyZXJDb21wb25lbnQpOiBzZXQgYmFja2dyb3VuZCBjb2xvciBpZiBjZWxsIGhhcyBmb2N1cywKCXJlbW92ZWQgYm9yZGVyIHN3aXRjaGluZyBjb2RlLgoKMjAwNS0wOS0xOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEKCShib3JkZXJJbnNldHMpOiBkZWxldGVkLAoJKGFycm93QnV0dG9uV2lkdGgpOiBkZWxldGVkLAoJKGNvbmZpZ3VyZUVkaXRvcik6IHNldCBmb250LAoJKGlzRm9jdXNUcmF2ZXJzYWJsZSk6IHNldCB0byB0cnVlIGZvciBub24tZWRpdGFibGUgY29tYm9ib3gsCgkocGFpbnQpOiBkZWxldGVkIGJvcmRlciBwYWludGluZyBjb2RlLAoJKHBhaW50Qm9yZGVyKTogZGVsZXRlZCwKCShnZXRQcmVmZXJyZWRTaXplKTogcmV0dXJucyBhIHZhbHVlLCBub3QgbnVsbCwKCShnZXRNaW5pbXVtU2l6ZSk6IGxpa2V3aXNlLAoJKGdldE1heGltdW1TaXplKTogbGlrZXdpc2UsCgkocmVjdGFuZ2xlRm9yQ3VycmVudFZhbHVlKTogcmVpbXBsZW1lbnRlZCwKCShwYWludEN1cnJlbnRWYWx1ZSk6IG5vIGxvbmdlciBhZGp1c3RzIGZvciBib3JkZXIgaW5zZXRzLAoJKGdldERpc3BsYXlTaXplKTogdXBkYXRlIG1heGltdW0gd2lkdGggYW5kIGhlaWdodCBpbmRlcGVuZGVudGx5LAoJKENvbWJvQm94TGF5b3V0TWFuYWdlcik6IHJlbW92ZWQgcmVkdW5kYW50ICdleHRlbmRzIE9iamVjdCcsCgkoQ29tYm9Cb3hMYXlvdXRNYW5hZ2VyLnByZWZlcnJlZExheW91dFNpemUpOiBjYWxsIGdldFByZWZlcnJlZFNpemUoKSwKCShDb21ib0JveExheW91dE1hbmFnZXIubWluaW11bUxheW91dFNpemUpOiBkZWxlZ2F0ZSB0byAKCXByZWZlcnJlZExheW91dFNpemUoKSwKCShDb21ib0JveExheW91dE1hbmFnZXIubGF5b3V0Q29udGFpbmVyKTogdXNlIGFycm93IGJ1dHRvbiBwcmVmZXJyZWQgCglzaXplIGluIGxheW91dCwKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBhZGRlZCAnZm9udCcgaGFuZGxpbmcuCgoyMDA1LTA5LTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJKGluc3RhbGxMaXN0ZW5lcnMpOiBhZGQgbGlzdGVuZXIgdG8gYXJyb3dCdXR0b24gaW5zdGVhZCBvZiBjb21ib0JveCwKCWRlbGV0ZWQgY2FsbCB0byBjb25maWd1cmVBcnJvd0J1dHRvbigpLAoJKHVuaW5zdGFsbExpc3RlbmVycyk6IHJlbW92ZSBsaXN0ZW5lciBmcm9tIGFycm93QnV0dG9uIGluc3RlYWQgb2YgCgljb21ib0JveCwgYW5kIGRlbGV0ZWQgY2FsbCB0byB1bmNvbmZpZ3VyZUFycm93QnV0dG9uKCksCgkoY29uZmlndXJlQXJyb3dCdXR0b24pOiBzZXQgZm9udCBhbmQgZW5hYmxlZCBzdGF0ZSwgZGVsZXRlZCAKCWFkZE1vdXNlTGlzdGVuZXIoKSBjYWxsLAoJKHVuY29uZmlndXJlQXJyb3dCdXR0b24pOiBkZWxldGVkIHJlbW92ZU1vdXNlTGlzdGVuZXIoKSBjYWxsLAoJKE1vdXNlSGFuZGxlci5tb3VzZVByZXNzZWQpOiBqdXN0IHRvZ2dsZSBkaXNwbGF5IHN0YXR1cyBvZiBwb3B1cCwKCShNb3VzZUhhbmRsZXIubW91c2VSZWxlYXNlZCk6IGRlbGV0ZWQuCgoyMDA1LTA5LTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJKGxhcmdlc3RJdGVtU2l6ZSk6IHJlbmFtZWQgZGlzcGxheVNpemUsCgkoZ2V0TGFyZ2VzdEl0ZW1TaXplKTogcmVuYW1lZCBnZXREaXNwbGF5U2l6ZSBhbmQgY2hhbmdlZCB0byBwcm90ZWN0ZWQsCgkoQ29tYm9Cb3hMYXlvdXRNYW5hZ2VyLnByZWZlcnJlZExheW91dFNpemUpOiB1cGRhdGVkIGZvciByZW5hbWVkIGZpZWxkIAoJYW5kIG1ldGhvZCwKCShMaXN0RGF0YUhhbmRsZXIuaW50ZXJ2YWxBZGRlZCk6IGxpa2V3aXNlLAoJKExpc3REYXRhSGFuZGxlci5pbnRlcnZhbFJlbW92ZWQpOiBsaWtld2lzZS4KCjIwMDUtMDktMTggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhOgoJVXBkYXRlZCBBUEkgZG9jcyBhbGwgb3Zlci4KCjIwMDUtMDktMTggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL3RleHQvUnVsZUJhc2VkQ29sbGF0b3IuamF2YToKCUZpeGVkIHNwZWxsaW5nIGVycm9yIGluIGNvbW1lbnQuCgoyMDA1LTA5LTE3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiAuc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LnVpLnByZWZzOiBBZGQgZmlsZSB0ZW1wbGF0ZS4KCjIwMDUtMDktMTcgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogamF2YS9zZWN1cml0eS9TZWN1cml0eS5qYXZhIChnZXRQcm92aWRlcnMpOiBQcmUtYWxsb2NhdGUgdGhlCgl0YXJnZXQgYXJyYXkgZm9yIENvbGxlY3Rpb24udG9BcnJheSBjYWxsLgoJKiBnbnUvamF2YS9zZWN1cml0eS9Qb2xpY3lGaWxlLmphdmEgKHBhcnNlKTogRGl0dG8uCgkqIGphdmF4L3N3aW5nL2ZpbGVjaG9vc2VyL0ZpbGVTeXN0ZW1WaWV3LmphdmE6IERpdHRvLgoJKiBqYXZheC9zd2luZy9KRmlsZUNob29zZXIuamF2YSAoZ2V0Q2hvb3NhYmxlRmlsZUZpbHRlcnMpOiBEaXR0by4KCjIwMDUtMDktMTcgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBjbGFzc3BhdGgvMjI5NjM6CgkqIGphdmEvbmlvL2NoYXJzZXQvQ2hhcnNldC5qYXZhIChmb3JOYW1lKTogSmF2YWRvYyBmaXguCgkocHJvdmlkZXJzMik6IFVzZSBTZXJ2aWNlRmFjdG9yeS4KCjIwMDUtMDktMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG9yZy9pZXRmL2pnc3MvR1NTRXhjZXB0aW9uLmphdmEgKEJBRF9CSU5ESU5HUywgQkFEX01FQ0gsCglCQURfTkFNRSwgQkFEX05BTUVUWVBFLCBDT05URVhUX0VYUElSRUQsIENSRURFTlRJQUxTX0VYUElSRUQsCglERUZFQ1RJVkVfQ1JFREVOVElBTCwgREVGRUNUSVZFX1RPS0VOLCBEVVBMSUNBVEVfVE9LRU4sIEZBSUxVUkUsCglOT19DT05URVhULCBOT19DUkVELCBPTERfVE9LRU4pOiBEb2N1bWVudCBvZmZpY2lhbCBSRkMgdmFsdWVzLgoKMjAwNS0wOS0xNyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1Nob3J0LmphdmEgKFNJWkUpOiBOZXcgY29uc3RhbnQuCgkoTUlOX0NBQ0hFLCBNQVhfQ0FDSEUpOiBMaWtld2lzZS4KCShzaG9ydENhY2hlKTogTmV3IGZpZWxkLgoJKHJldmVyc2VCeXRlcyk6IE5ldyBtZXRob2QuCgkqIGphdmEvbGFuZy9Mb25nLmphdmEgKFNJWkUpOiBOZXcgY29uc3RhbnQuCgkodmFsdWVPZik6IE5ldyBtZXRob2QuCgkoYml0Q291bnQpOiBOZXcgbWV0aG9kLgoJKHJvdGF0ZUxlZnQpOiBOZXcgbWV0aG9kLgoJKHJvdGF0ZVJpZ2h0KTogTmV3IG1ldGhvZC4KCShoaWdoZXN0T25lQml0KTogTmV3IG1ldGhvZC4KCShudW1iZXJPZkxlYWRpbmdaZXJvcyk6IE5ldyBtZXRob2QuCgkobG93ZXN0T25lQml0KTogTmV3IG1ldGhvZC4KCShudW1iZXJPZlRyYWlsaW5nWmVyb3MpOiBOZXcgbWV0aG9kLgoJKHNpZ251bSk6IE5ldyBtZXRob2QuCgkocmV2ZXJzZUJ5dGVzKTogTmV3IG1ldGhvZC4KCShyZXZlcnNlKTogTmV3IG1ldGhvZC4KCSogamF2YS9sYW5nL0Zsb2F0LmphdmEgKFNJWkUpOiBOZXcgY29uc3RhbnQuCgkqIGphdmEvbGFuZy9Eb3VibGUuamF2YSAoU0laRSk6IE5ldyBjb25zdGFudC4KCSogamF2YS9sYW5nL0NoYXJhY3Rlci5qYXZhIChTSVpFKTogTmV3IGNvbnN0YW50LgoJKE1BWF9DQUNIRSk6IExpa2V3aXNlLgoJKGNoYXJDYWNoZSk6IE5ldyBmaWVsZC4KCSh2YWx1ZU9mKTogTmV3IG1ldGhvZC4KCShyZXZlcnNlQnl0ZXMpOiBMaWtld2lzZS4KCSogamF2YS9sYW5nL0J5dGUuamF2YSAoU0laRSk6IE5ldyBjb25zdGFudC4KCShieXRlQ2FjaGUpOiBOZXcgZmllbGQuCgkodmFsdWVPZik6IE5ldyBtZXRob2QuCgkqIGphdmEvbGFuZy9Cb29sZWFuLmphdmEgKHBhcnNlQm9vbGVhbik6IE5ldyBtZXRob2QuCgoyMDA1LTA5LTE3ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJUmVwb3J0ZWQgYnkgRGF2aWQgTGljaHRlYmxhdSA8ZGF2aWRAbGljaHRlYmxhdS5jb20+CgkqIG5hdGl2ZS9qbmkvY2xhc3NwYXRoL2pjbC5jIChKQ0xfTmV3UmF3RGF0YU9iamVjdCk6IENyZWF0ZQoJTmV3R2xvYmFsUmVmIGJlZm9yZSBjYWxsaW5nIERlbGV0ZUxvY2FsUmVmLgoKMjAwNS0wOS0xNyAgUGF1bCBKZW5uZXIgIDxwc2pAaGFya2VyLmR5bmRucy5vcmc+CgoJKiBjb25maWd1cmUuYWM6IENsYXJpZnkgdGhhdCBXZXJyb3IgY29uZmlndXJlIG9wdGlvbiBpcwoJZGlzYWJsZWQgYnkgZGVmYXVsdC4KCjIwMDUtMDktMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6IFJlaW5kZW50IGJvaWxlcnBsYXRlLgoKMjAwNS0wOS0xNyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL3ByZWZzL1ByZWZlcmVuY2VzLmphdmEgKHN5c3RlbU5vZGVGb3JQYWNrYWdlKToKCUphdmFkb2MgZml4LgoJKHVzZXJOb2RlRm9yUGFja2FnZSk6IExpa2V3aXNlLgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9Mb2dnaW5nUGVybWlzc2lvbi5qYXZhIChzZXJpYWxWZXJzaW9uVUlEKToKCU5ldyBmaWVsZC4KCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChwYXJzZUNvbnRlbnQpOiBKYXZhZG9jIGZpeC4KCjIwMDUtMDktMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9ob21lLndtbDogVXBkYXRlIG1hdXZlIGxpbmsuCgoyMDA1LTA5LTE2ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMjAxOTgKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoRmlsZVVSTExvYWRlci5nZXRSZXNvdXJjZSk6IEZpbGUKCXJlc291cmNlcyBzaG91bGQgYWxsIGhhdmUgY2Fub25pY2FsaXplZCBuYW1lcy4KCjIwMDUtMDktMTYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShBY2Nlc3NpYmxlSlRyZWVOb2RlKTogRml4ZWQgZG9jdW1lbnRhdGlvbi4KCShhZGRBY2Nlc3NpYmxlU2VsZWN0aW9uKTogTGlrZXdpc2UsIHN0aWxsIG5lZWRzIHRvIAoJYmUgaW1wbGVtZW50ZWQuCgkoYWRkRm9jdXNMaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKGFkZFByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4KCShjbGVhckFjY2Vzc2libGVTZWxlY3Rpb24pOiBJbXBsZW1lbnRlZC4KCShjb250YWlucyk6IEltcGxlbWVudGVkLgoJKGRvQWNjZXNzaWJsZUFjdGlvbik6IEZpeGVkIGRvY3VtZW50YXRpb24sIHN0aWxsCgluZWVkcyB0byBiZSBpbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlQWN0aW9uKTogTGlrZXdpc2UuCgkoZ2V0QWNjZXNzaWJsZUFjdGlvbkNvdW50KTogTGlrZXdpc2UuCgkoZ2V0QWNjZXNzaWJsZUFjdGlvbkRlc2NyaXB0aW9uKTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZUF0KTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZUNoaWxkKTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZUNoaWxkcmVuQ291bnQpOiBJbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlQ29tcG9uZW50KTogRml4ZWQgZG9jdW1lbnRhdGlvbi4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudGVkLgoJKGdldEFjY2Vzc2libGVEZXNjcmlwdGlvbik6IEltcGxlbWVudGVkLgoJKGdldEFjY2Vzc2libGVJbmRleEluUGFyZW50KTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZU5hbWUpOiBJbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlUGFyZW50KTogRml4ZWQgZG9jdW1lbnRhdGlvbi4KCShnZXRBY2Nlc3NpYmxlUm9sZSk6IExpa2V3aXNlLgoJKGdldEFjY2Vzc2libGVTZWxlY3Rpb24pOiBMaWtld2lzZSwgc3RpbGwgbmVlZHMgdG8gCgliZSBpbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlU2VsZWN0aW9uKTogTGlrZXdpc2UuCgkoZ2V0QWNjZXNzaWJsZVNlbGVjdGlvbkNvdW50KTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZVN0YXRlU2V0KTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZVRleHQpOiBGaXhlZCBkb2N1bWVudGF0aW9uLgoJKGdldEFjY2Vzc2libGVWYWx1ZSk6IExpa2V3aXNlLgoJKGdldEJhY2tncm91bmQpOiBJbXBsZW1lbnRlZC4KCShnZXRCb3VuZHMpOiBJbXBsZW1lbnRlZC4KCShnZXRDdXJzb3IpOiBGaXhlZCBkb2N1bWVudGF0aW9uLCBzdGlsbCBuZWVkcyB0byBiZSAKCWltcGxlbWVudGVkLgoJKGdldEZvbnQpOiBJbXBsZW1lbnRlZC4KCShnZXRGb250TWV0cmljcyk6IEltcGxlbWVudGVkLgoJKGdldEZvcmVncm91bmQpOiBJbXBsZW1lbnRlZC4KCShnZXRMb2NhbGUpOiBJbXBsZW1lbnRlZC4KCShnZXRMb2NhdGlvbik6IEltcGxlbWVudGVkLgoJKGdldExvY2F0aW9uSW5KVHJlZSk6IEltcGxlbWVudGVkLgoJKGdldExvY2F0aW9uT25TY3JlZW4pOiBJbXBsZW1lbnRlZC4KCShnZXRTaXplKTogSW1wbGVtZW50ZWQuCgkoaXNBY2Nlc3NpYmxlQ2hpbGRTZWxlY3RlZCk6IEltcGxlbWVudGVkLgoJKGlzRW5hYmxlZCk6IEltcGxlbWVudGVkLgoJKGlzRm9jdXNUcmF2ZXJzYWJsZSk6IEltcGxlbWVudGVkLgoJKGlzU2hvd2luZyk6IEltcGxlbWVudGVkLgoJKGlzVmlzaWJsZSk6IEltcGxlbWVudGVkLgoJKHJlbW92ZUFjY2Vzc2libGVTZWxlY3Rpb24pOiBGaXhlZCBkb2N1bWVudGF0aW9uLCBuZWVkIHRvIAoJZml4IGN1cnJlbnQgaW1wbGVtZW50YXRpb24uCgkocmVtb3ZlRm9jdXNMaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKHJlbW92ZVByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4KCShyZXF1ZXN0Rm9jdXMpOiBJbXBsZW1lbnRlZC4KCShzZWxlY3RBbGxBY2Nlc3NpYmxlU2VsZWN0aW9uKTogTmVlZCB0byBpbXBsZW1lbnQuIEFkZGVkIEZJWE1FLgoJKHNldEFjY2Vzc2libGVEZXNjcmlwdGlvbik6IEltcGxlbWVudGVkLgoJKHNldEFjY2Vzc2libGVOYW1lKTogSW1wbGVtZW50ZWQuCgkoc2V0QmFja2dyb3VuZCk6IEltcGxlbWVudGVkLgoJKHNldEJvdW5kcyk6IEltcGxlbWVudGVkLgoJKHNldEN1cnNvcik6IEZpeGVkIGRvY3VtZW50YXRpb24sIHN0aWxsIG5lZWQgdG8gaW1wbGVtZW50LgoJKHNldEVuYWJsZWQpOiBJbXBsZW1lbnRlZC4KCShzZXRGb250KTogSW1wbGVtZW50ZWQuCgkoc2V0Rm9yZWdyb3VuZCk6IEltcGxlbWVudGVkLgoJKHNldExvY2F0aW9uKTogSW1wbGVtZW50ZWQuCgkoc2V0U2l6ZSk6IEltcGxlbWVudGVkLgoJKHNldFZpc2libGUpOiBJbXBsZW1lbnRlZC4KCShBY2Nlc3NpYmxlSlRyZWUpOiBGaXhlZCBkb2N1bWVudGF0aW9uLCBzdGlsbCBuZWVkCgl0byBpbXBsZW1lbnQuCgkoYWRkQWNjZXNzaWJsZVNlbGVjdGlvbik6IEltcGxlbWVudGVkLgoJKGNsZWFyQWNjZXNzaWJsZVNlbGVjdGlvbik6IEltcGxlbWVudGVkLgoJKGZpcmVWaXNpYmxlRGF0YVByb3BlcnR5Q2hhbmdlKTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZUF0KTogRml4ZWQgZG9jdW1lbnRhdGlvbiwgbmVlZCB0byBpbXBsZW1lbnQuCgkoZ2V0QWNjZXNzaWJsZUNoaWxkKTogSW1wbGVtZW50ZWQuCgkoZ2V0QWNjZXNzaWJsZUNoaWxkcmVuQ291bnQpOiBJbXBsZW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlSW5kZXhJblBhcmVudCk6IEZpeGVkIGRvY3VtZW50YXRpb24uCgkoZ2V0QWNjZXNzaWJsZVJvbGUpOiBMaWtld2lzZS4KCShnZXRBY2Nlc3NpYmxlU2VsZWN0aW9uKTogTGlrZXdpc2UsIHN0aWxsIG5lZWQgdG8gaW1wbGVtZW50LgoJKGdldEFjY2Vzc2libGVTZWxlY3Rpb24pOiBMaWtld2lzZS4KCShnZXRBY2Nlc3NpYmxlU2VsZWN0aW9uQ291bnQpOiBJbXBsZW1lbnRlZC4KCShpc0FjY2Vzc2libGVDaGlsZFNlbGVjdGVkKTogSW1wbGVtZW50ZWQuCgkocmVtb3ZlQWNjZXNzaWJsZVNlbGVjdGlvbik6IEltcGxlbWVudGVkLgoJKHNlbGVjdEFsbEFjY2Vzc2libGVTZWxlY3Rpb24pOiBJbXBsZW1lbnRlZC4KCSh0cmVlQ29sbGFwc2VkKTogSW1wbGVtZW50ZWQuCgkodHJlZUV4cGFuZGVkKTogSW1wbGVtZW50ZWQuCgkodHJlZU5vZGVzQ2hhbmdlZCk6IEltcGxlbWVudGVkLgoJKHRyZWVOb2Rlc0luc2VydGVkKTogSW1wbGVtZW50ZWQuCgkodHJlZU5vZGVzUmVtb3ZlZCk6IEltcGxlbWVudGVkLgoJKHRyZWVTdHJ1Y3R1cmVDaGFuZ2VkKTogSW1wbGVtZW50ZWQuCgkodmFsdWVDaGFuZ2VkKTogSW1wbGVtZW50ZWQuCgkoVHJlZU1vZGVsTGlzdGVuZXIpOiBGaXhlZCBkb2N1bWVudGF0aW9uLgoKMjAwNS0wOS0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9pby9QcmludFdyaXRlci5qYXZhIChQcmludFdyaXRlcik6IE5ldyBjb25zdHJ1Y3RvcnMuCgoyMDA1LTA5LTE2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgY2xhc3NwYXRoLzIyNjg5OgoJKiBqYXZhL2lvL1ByaW50V3JpdGVyLmphdmEgKGNsb3NlZCk6IE5ldyBmaWVsZC4KCShjaGVja0Vycm9yKTogT25seSBmbHVzaCBpZiBzdHJlYW0gbm90IGNsb3NlZC4KCShjbG9zZSk6IFNldCAnY2xvc2VkJy4KCjIwMDUtMDktMTYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9DaGFyYWN0ZXIuamF2YSAoTUlOX1NVUlJPR0FURSwgTUFYX1NVUlJPR0FURSk6IE5ldwoJY29uc3RhbnRzLgoJKGlzSGlnaFN1cnJvZ2F0ZSk6IE5ldyBtZXRob2QuCgkoaXNMb3dTdXJyb2dhdGUpOiBMaWtld2lzZS4KCShpc1N1cnJvZ2F0ZVBhaXIpOiBMaWtld2lzZS4KCSh0b0NvZGVQb2ludCk6IExpa2V3aXNlLgoJKGNvZGVQb2ludEF0KTogTGlrZXdpc2UuCgkoY29kZVBvaW50QmVmb3JlKTogTGlrZXdpc2UuCgkqIGphdmEvbGFuZy9TdHJpbmdCdWZmZXIuamF2YSAoY29kZVBvaW50Q291bnQpOiBDaGVjayBib3VuZHMuCgkoY29kZVBvaW50QXQpOiBSZXdyb3RlLgoJKGNvZGVQb2ludEJlZm9yZSk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvU3RyaW5nLmphdmEgKGNvZGVQb2ludEF0KTogTmV3IG1ldGhvZC4KCShjb2RlUG9pbnRCZWZvcmUpOiBMaWtld2lzZS4KCShjb2RlUG9pbnRDb3VudCk6IExpa2V3aXNlLgoJKGNvbnRlbnRFcXVhbHMpOiBOZXcgb3ZlcmxvYWQuCgoyMDA1LTA5LTE2ICBSb2JlcnQgU2NodXN0ZXIgIDxyb2JlcnRzY2h1c3RlckBmc2ZlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1Byb2dyZXNzTW9uaXRvcjogSW1wbGVtZW50ZWQgdGhlIGZvcm1lciBzdHViYmVkCgljbGFzcyBhbmQgYWRkZWQgZG9jdW1lbnRhdGlvbi4KCShjbG9zZSk6IEltcGxlbWVudGVkIGFuZCBhZGRlZCBkb2N1bWVudGF0aW9uLgoJKHNldFByb2dyZXNzKTogRGl0by4KCShpc0NhbmNlbGVkKTogRGl0by4KCShzZXRNaW5pbXVtKTogQWRkZWQgZG9jdW1lbnRhdGlvbi4KCShnZXRNaW5pbXVtKTogRGl0by4KCShzZXRNYXhpbXVtKTogRGl0by4KCShnZXRNYXhpbXVtKTogRGl0by4KCShzZXROb3RlKTogRGl0by4KCShnZXRNaWxsaXNUb0RlY2lkZVRvUG9wdXApOiBEaXRvLgoJKHNldE1pbGxpc1RvRGVjaWRlVG9Qb3B1cCk6IERpdG8uCgkoZ2V0TWlsbGlzVG9Qb3B1cCk6IERpdG8uCgkoc2V0TWlsbGlzVG9Qb3B1cCk6IERpdG8uCgkoZ2V0Tm90ZSk6IERpdG8uCgkqIGphdmF4L3N3aW5nL1Byb2dyZXNzTW9uaXRvcklucHV0U3RyZWFtOiBJbXBsZW1lbnRlZCBzdHViCgltZXRob2RzLgoJKGNsb3NlKTogSW1wbGVtZW50ZWQuCgkocmVhZCk6IERpdG8uCgkocmVzZXQpOiBEaXRvLgoJKHNraXApOiBEaXRvLgoJKGdldFByb2dyZXNzTW9uaXRvcik6IERpdG8uCgkKMjAwNS0wOS0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGNsYXNzcGF0aC8yMzg4MjoKCSogamF2YS90ZXh0L1N0cmluZ0NoYXJhY3Rlckl0ZXJhdG9yLmphdmEgKFN0cmluZ0NoYXJhY3Rlckl0ZXJhdG9yKTogCglKYXZhZG9jIGZpeC4KCShoYXNoQ29kZSk6IE5ldyBtZXRob2QuCgkqIGphdmEvdGV4dC9QYXJzZVBvc2l0aW9uLmphdmEgKGhhc2hDb2RlKTogTmV3IG1ldGhvZAoKMjAwNS0wOS0xNiAgICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBqYXZheC9zd2luZy9UaW1lci5qYXZhIChXYWtlci5ydW4pOiBEbyBub3QgZW50ZXIgbG9vcCBvbiAKCXJlcGVhdHMgPSBmYWxzZSAoZml4ZXMgIzIzOTE4KS4KCjIwMDUtMDktMTYgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9pby9PYmplY3RTdHJlYW1DbGFzcy5qYXZhIChmaW5kQWNjZXNzaWJsZU1ldGhvZCk6IEFsbG93Cglwcm90ZWN0ZWQgcmVhZFJlc29sdmUoKS4gIFJld3JpdGUgYWNjZXNzaWJpbGl0eSBjaGVjay4KCjIwMDUtMDktMTYgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogc2NyaXB0cy9sb2M6IE5ldyBmaWxlLgoKMjAwNS0wOS0xNiAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvU3RyaW5nLmphdmEgKGdldEJ5dGVzKTogVGhyb3cgYW4gSW50ZXJuYWxFcnJvciBpbnN0ZWFkCglvZiBzaWxlbnRseSByZXR1cm5pbmcgbnVsbC4KCjIwMDUtMDktMTYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglGaXhlcyBCdWcgIzIyNjEwCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhCgkocmVtb3ZlKTogUmVtb3ZlZCBjb21wb25lbnQgbGlzdGVuZXJzIGZyb20gdGhlIGNvbXBvbmVudAoJYmVpbmcgcmVtb3ZlZC4gVGhpcyB3YXMgYSBwcm9ibGVtIGlmIHRoYXQgc2FtZSBjb21wb25lbnQKCXRoYXQgd2FzIHJlbW92ZWQgd2FzIGFkZGVkIHRvIGEgbmV3IGNvbXBvbmVudC4KCjIwMDUtMDktMTYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hFZGl0b3IuamF2YQoJKE1ldGFsQ29tYm9Cb3hFZGl0b3JCb3JkZXIucGFpbnRCb3JkZXIpOiBtb2RpZmllZCBib3JkZXIgYXBwZWFyYW5jZS4KCjIwMDUtMDktMTYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hSZW5kZXJlci5qYXZhOiB1cGRhdGVkIEFQSSBkb2NzCglhbmQgbWlub3IgcmVmb3JtYXR0aW5nLgoKMjAwNS0wOS0xNiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEKCShBY2Nlc3NpYmxlSkxpc3QpOiBOZXcgaW5uZXIgY2xhc3MuCgoyMDA1LTA5LTE2ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9CdXR0b25EZW1vLmphdmE6IG5ldyBmaWxlLgoKMjAwNS0wOS0xNiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJY29uRmFjdG9yeS5qYXZhCgkoUmFkaW9CdXR0b25JY29uLnBhaW50SWNvbik6IGNoYW5nZSBjb2xvciBvZiBzZWxlY3Rpb24gaW5kaWNhdG9yIAoJYWNjb3JkaW5nIHRvIGNvbXBvbmVudCBzdGF0ZS4KCjIwMDUtMDktMTYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ2hlY2tCb3hJY29uLmphdmEKCShkcmF3Q2hlY2spOiBjaGFuZ2UgY29sb3IgYWNjb3JkaW5nIHRvIGNvbXBvbmVudCBzdGF0ZS4KCjIwMDUtMDktMTYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhCgkoQnV0dG9uQm9yZGVyLnBhaW50Qm9yZGVyKTogZHJhdyBhIGRpZmZlcmVudCBib3JkZXIgZm9yIGEgZGlzYWJsZWQgCglidXR0b24uCgoyMDA1LTA5LTE1ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbG9yLmphdmEgKFJHQnRvSFNCKTogRG9uJ3QgdXNlIGludGVnZXIgZGl2aXNpb24gd2hlbgoJY2FsY3VsYXRpbmcgc2F0dXJhdGlvbi4KCSogamF2YS9hd3QvUmVjdGFuZ2xlLmphdmEgKGVxdWFscyk6IEV4cGxhaW4gd2h5IGhhc2hDb2RlKCkgaXNuJ3QKCXJlcXVpcmVkLgoJKiBqYXZhL2F3dC9Qb2ludC5qYXZhIChlcXVhbHMpOiBEaXR0by4KCgkqIGphdmEvdXRpbC96aXAvWmlwRmlsZS5qYXZhIChjaGVja1ppcEZpbGUpOiBNYWtlIHN1cmUgd2UgcmVhZCB0aGUKCTQgYnl0ZSBtYWdpYyBudW1iZXIuCgoyMDA1LTA5LTE1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0RURC5qYXZhIChGSUxFX1ZFUlNJT04pOiBOb3cKCWZpbmFsLgoKMjAwNS0wOS0xNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvbmFtaW5nL05hbWUuamF2YTogRXh0ZW5kcyBDb21wYXJhYmxlLgoKMjAwNS0wOS0xNSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhOgoJKGlzRGlzcGxheWFibGUpOiBEb24ndCBjaGVjayB0aGUgcGFyZW50J3MgZGlzcGxheWFiaWxpdHksIG9ubHkgcmV0dXJuCgl0cnVlIGlmIHBlZXIgaXMgbm9uLW51bGwgYW5kIGZhbHNlIGlmIHBlZXIgaXMgbnVsbC4KCjIwMDUtMDktMTUgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhCgkobGF5b3V0Q29tcG91bmRMYWJlbCk6IGNoZWNrIGZvciBlbXB0eSB0ZXh0IHN0cmluZywKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShwYWludCk6IGNoZWNrIGlzQm9yZGVyUGFpbnRlZCgpIHdoZW4gY2FsY3VsYXRpbmcgdmlldyByZWN0LAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhCgkoQ2xvc2VBY3Rpb24pOiBuZXcgY29uc3RydWN0b3IsCgkoSWNvbmlmeUFjdGlvbik6IG5ldyBjb25zdHJ1Y3RvciwKCShNYXhpbWl6ZUFjdGlvbik6IG5ldyBjb25zdHJ1Y3RvciwKCShNb3ZlQWN0aW9uKTogbmV3IGNvbnN0cnVjdG9yLAoJKFJlc3RvcmVBY3Rpb24pOiBuZXcgY29uc3RydWN0b3IsCgkoU2l6ZUFjdGlvbik6IG5ldyBjb25zdHJ1Y3RvciwKCShUaXRsZVBhbmVMYXlvdXQubGF5b3V0Q29udGFpbmVyKTogY2FsY3VsYXRlIGJ1dHRvbiB3aWR0aHMgZnJvbSBpY29uIAoJd2lkdGhzLAoJKGluc3RhbGxEZWZhdWx0cyk6IGluaXRpYWxpc2UgaWNvbiBmaWVsZHMsCgkodW5pbnN0YWxsRGVmYXVsdHMpOiBjbGVhciBpY29uIGZpZWxkcywKCShjcmVhdGVCdXR0b25zKTogc2V0IGJ1dHRvbiB0ZXh0IHRvIG51bGwsCgkoc2V0QnV0dG9uSWNvbnMpOiB1c2UgaWNvbiBmaWVsZHMuCgoyMDA1LTA5LTE1ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hSZW5kZXJlci5qYXZhCgkoZ2V0TGlzdENlbGxSZW5kZXJlckNvbXBvbmVudCk6IEFkZGVkIGNvZGUgaW4gdG8gY2hlY2sgaWYgc3RyaW5nCglpcyBsYXJnZXIgdGhhbiBjb21ib0JveC4gSWYgaXQgaXMsIHRoZSBzdHJpbmcgaXMgdHJ1bmNhdGVkIGFuZCAKCScuLi4nIGlzIGRyYXduIGF0IHRoZSBlbmQgb2YgaXQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEKCShnZXREZWZhdWx0U2l6ZSk6IEluaXRpYWxseSB0b28gc21hbGwsIHN0aWxsIG5vdCBmdWxseSBpbXBsZW1lbnRlZC4KCShnZXRMYXJnZXN0SXRlbVNpemUpOiBNYWRlIHByaXZhdGUsIG5vdCBpbiBBUEkuCgkobWluaW11bUxheW91dFNpemUpOiBJbXBsZW1lbnRlZCBwcm9wZXJseS4KCShpbnRlcnZhbEFkZGVkKTogQ29tYm9Cb3ggc2hvdWxkIG5vdCBiZSByZXNpemVkIHdpdGggZXZlcnkgbmV3Cgljb21wb25lbnQuIFRoaXMgaXMgZml4ZWQuCgoyMDA1LTA5LTE1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvRW51bUNvbnN0YW50Tm90UHJlc2VudEV4Y2VwdGlvbi5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMDktMTUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmE6CglSZWZvcm1hdHRlZCBmaWxlLgoKMjAwNS0wOS0xNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJCglGaXhlcyBCdWcgIzIzNjc4CgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmEKCShDQkxhYmVsUmVuZGVyZXIpOiBSZW1vdmVkLiBOb3QgaW4gQVBJLCBhbmQgaXQgaXMgcmVhbGx5CglyZWR1bmRhbnQgdG8gaGF2ZS4KCShpbnN0YWxsQ29tcG9uZW50cyk6IENoYW5nZWQgdGhlIHJlbmRlcmVyIHNldCBmb3IgdGhlIGNvbWJvIGJveC4KCUFsc28sIGFkZGVkIHRoZSBidXR0b25QYW5lbCB0byB0aGUgcGFyZW50c1BhbmVsLCBzbyB0aGV5IGFyZSAKCWFsd2F5cyBwYWludGVkIGNvcnJlY3RseS4gU2V0IHRoZSBGbG93TGF5b3V0IHRvIExFRlQKCWluc3RlYWQgb2YgZGVmYXVsdCBiZWluZyBDRU5URVIuCgoyMDA1LTA5LTE1ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlJvb3RQYW5lLmphdmE6Cgkoc2V0Q29udGVudFBhbmUpOiBSZW1vdmUgdGhlIG9sZCBjb250ZW50IHBhbmUgZmlyc3QuICBUaHJvdyAKCUlsbGVnYWxDb21wb25lbnRTdGF0ZUV4Y2VwdGlvbiBpZiB0aGUgcGFyYW1ldGVyIGlzIG51bGwuICBBZGRlZCBkb2NzLgoKMjAwNS0wOS0xNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVdvcmthcm91bmQgZm9yIFBSIGNsYXNzcGF0aC8yMzg2MzoKCSogbmF0aXZlL2ZkbGlibS9tcHJlYy5oIChNQVhfQklHTlVNX1dEUyk6IERlZmluZSBhcyAxMjggb24KCW5vbi1QYWNrXzMyIHBsYXRmb3Jtcy4KCjIwMDUtMDktMTUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YToKCShpc0Rpc3BsYXlhYmxlKTogUmV0dXJuIHRydWUgaWYgcGVlciAhPSBudWxsLgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YToKCShpc0Rpc3BsYXlhYmxlKTogUmVtb3ZlZCB0aGlzIG1ldGhvZC4gTm93IGluaGVyaXRzIGZyb20gQ29tcG9uZW50LgoKMjAwNS0wOS0xNSAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqYXZhL2lvL1B1c2hiYWNrSW5wdXRTdHJlYW0uamF2YSAoYXZhaWxhYmxlLCByZWFkLCBza2lwKTogSGFuZGxlCgljbG9zZWQgc3RyZWFtIG9wZXJhdGlvbnMgZ3JhY2VmdWxseS4KCjIwMDUtMDktMTUgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgogCgkqIGphdmEvbmlvL2NoYXJzZXQvQ2hhcnNldC5qYXZhOiBjbG9zZSgpIGVhY2ggc3RyZWFtIHdlIG9wZW4uCgkqIGphdmEvbmV0L1VSTFN0cmVhbUhhbmRsZXIuamF2YTogUmVtb3ZlIHJlZHVuZGFudCBudWxsIHBvaW50ZXIKCWNoZWNrLgoJKiBqYXZhL3NlY3VyaXR5L0lkZW50aXR5LmphdmEgKGVxdWFscywgaWRlbnRpdHlFcXVhbHMpOiBEb24ndCB1c2UKIAlgPT0nIHRvIGNvbXBhcmUgdW5pbnRlcm5lZCBTdHJpbmdzLiAgVXNlIFN0cmluZy5lcXVhbHMoKS4KCSogamF2YS9sYW5nL0NsYXNzLmphdmEgKHBkKTogTWFyayB0aGlzIGZpZWxkIGFzIHRyYW5zaWVudCBmb3IKCUZpbmRCdWdzIHdvbid0IGNvbXBsYWluIChhbHRob3VnaCBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5KS4KCjIwMDUtMDktMTUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGV4dEFyZWEuamF2YToKCShhcHBlbmQpOiBDaGFuZ2VkIGludmFsaWRhdGUgY2FsbCB0byByZXZhbGlkYXRlIGNhbGwuCgkoc2V0Um93cyk6IExpa2V3aXNlLgoJKHNldENvbHVtbnMpOiBMaWtld2lzZS4KCjIwMDUtMDktMTUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJRml4ZXMgIzIzODczCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNPcHRpb25QYW5lVUkuamF2YQoJKGNyZWF0ZU1lc3NhZ2VBcmVhKTogQ2hhbmdlZCBvcmllbnRhdGlvbiBvZiBtZXNzYWdlIGZyb20gRUFTVCB0bwoJQ0VOVEVSLiBBbHNvLCBmaXhlZCBlbXB0eSBib3JkZXIgdmFsdWVzIHRvIG1ha2UgbWVzc2FnZSBtb3JlIGNlbnRlcmVkLgoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhCgkoc2hvd0NvbmZpcm1EaWFsb2cpOiBBZGRlZCBjaGVjayBmb3IgcGFuZS5nZXRWYWx1ZSwgc2luY2UgY2xpY2tpbmcgb24gCgkneCcgb2Ygd2luZG93IGRvZXMgbm90IGhhdmUgYW4gaW5pdGlhbGl6ZWQgdmFsdWUuIFdhcyBjYXVzaW5nIGEgCglDbGFzc0Nhc3RFeGNlcHRpb24uCgkoc2hvd0NvbmZpcm1EaWFsb2cpOiBMaWtld2lzZS4KCShzaG93Q29uZmlybURpYWxvZyk6IExpa2V3aXNlLgoJKHNob3dDb25maXJtRGlhbG9nKTogTGlrZXdpc2UuCgoyMDA1LTA5LTE1ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBzZXQgZm9udCwKCSh1bmluc3RhbGxEZWZhdWx0cyk6IGNsZWFyIGZvbnQsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogdXBkYXRlIFRvZ2dsZUJ1dHRvbiBkZWZhdWx0cywKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRvZ2dsZUJ1dHRvblVJLmphdmEKCShpbnN0YW5jZSk6IHJlbW92ZWQgZmllbGQsCgkoY3JlYXRlVUkpOiBqdXN0IHJldHVybiBuZXcgaW5zdGFuY2UgZXZlcnkgdGltZSwKCShNZXRhbFRvZ2dsZUJ1dHRvblVJKTogbG9vayB1cCBkZWZhdWx0cyBkaXJlY3RseSwKCShnZXRGb2N1c0NvbG9yKTogcmV0dXJuIHZhbHVlIGZyb20gZmllbGQgaW5pdGlhbGlzZWQgaW4gY29uc3RydWN0b3IsCgkoZ2V0U2VsZWN0Q29sb3IpOiBsaWtld2lzZSwKCShnZXREaXNhYmxlZFRleHRDb2xvcik6IGxpa2V3aXNlLAoJKGluc3RhbGxEZWZhdWx0cyk6IG92ZXJyaWRlIHRvIG1ha2UgcHVibGljLAoJKHBhaW50QnV0dG9uUHJlc3NlZCk6IGltcGxlbWVudGVkLAoJKHBhaW50VGV4dCk6IGltcGxlbWVudGVkLAoJKHBhaW50Rm9jdXMpOiBpbXBsZW1lbnRlZC4KCjIwMDUtMDktMTUgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhCgkodG9nZ2xlQnV0dG9uQm9yZGVyKTogbmV3IHByaXZhdGUgZmllbGQsCgkoVG9nZ2xlQnV0dG9uQm9yZGVyKTogbmV3IGNsYXNzLAoJKGdldFRvZ2dsZUJ1dHRvbkJvcmRlcik6IG5ldyBtZXRob2QuCgoyMDA1LTA5LTE0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YQoJKGluc2VydFVwZGF0ZSk6IFR3ZWFrZWQgYXR0cmlidXRlIGNvbXBhcmlzb24gdG8gYXZvaWQgTlBFLgoKMjAwNS0wOS0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdFN0eWxlZERvY3VtZW50LmphdmEKCShpbnNlcnRVcGRhdGUpOiBUd2Vha2VkIGF0dHJpYnV0ZSBjb21wYXJpc29uIHRvIGF2b2lkIE5QRS4KCSogamF2YXgvc3dpbmcvdGV4dC9HbHlwaFZpZXcuamF2YQoJKERlZmF1bHRHbHlwaFBhaW50ZXIuZ2V0Qm91bmRlZFBvc2l0aW9uKTogSW1wbGVtZW50ZWQuCgkoRGVmYXVsdEdseXBoUGFpbnRlci52aWV3VG9Nb2RlbCk6IEltcGxlbWVudGVkLgoJKGdldFRhYkV4cGFuZGVyKTogRG9uJ3QgYmUgc3BlY2lmaWMgdG8gUGFyYWdyYXBoVmlldyBoZXJlLiBBbGwKCXBhcmVudHMgdGhhdCBpbXBsZW1lbnQgVGFiRXhwYW5kZXIgY2FuIGJlIGFjY2VwdGVkLgoJKGdldEJlZ2luSW5kZXgpOiBSZW1vdmVkLiBUaGlzIG1ldGhvZCBpcyBub3QgZG9jdW1lbnRlZCBpbiB0aGUKCXNwZWNzLgoJKGdldEJyZWFrV2VpZ2h0KTogSW1wbGVtZW50ZWQuCgkoY2hhbmdlZFVwZGF0ZSk6IEltcGxlbWVudGVkLgoJKGluc2VydFVwZGF0ZSk6IEltcGxlbWVudGVkLgoJKHJlbW92ZVVwZGF0ZSk6IEltcGxlbWVudGVkLgoJKGNyZWF0ZUZyYWdtZW50KTogSW1wbGVtZW50ZWQuCgkoYnJlYWtWaWV3KTogVXNlIGNyZWF0ZUZyYWdtZW50LgoJKiBqYXZheC9zd2luZy90ZXh0L1V0aWxpdGllcy5qYXZhCgkoZ2V0VGFiYmVkVGV4dE9mZnNldCk6IEltcGxlbWVudGVkIGJvdGggdmFyaWFudHMgb2YgdGhpcyBtZXRob2QuCgoyMDA1LTA5LTE0ICAgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBnbnUvQ09SQkEvQ29ubmVjdGVkX29iamVjdHMuamF2YSAoZXF1YWxzKSwKICAgICAgICAqIGdudS9DT1JCQS9Qb2EvYWN0aXZlT2JqZWN0TWFwLmphdmEgKGVxdWFscyk6IFJlbW92ZWQsIGZpeGVzCiAgICAgICAgIzIzODc5LgogICAgICAgICogZ251L0NPUkJBL1ZlcnNpb24uamF2YSAoaGFzaENvZGUpLAogICAgICAgICogZ251L0NPUkJBL2dudUFueS5qYXZhIChoYXNoQ29kZSk6IE5ldyBtZXRob2QsIGZpeGVzICMyMzg3OS4KCjIwMDUtMDktMTQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pQcm9ncmVzc0Jhci5qYXZhCgkoSlByb2dyZXNzQmFyKTogRml4ZWQgdG8gdXNlIHNldE9yaWVudGF0aW9uIGZ1bmN0aW9uLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsUHJvZ3Jlc3NCYXJVSS5qYXZhCgkoY3JlYXRlVUkpOiBXYXMgdXNpbmcgdGhlIHNhbWUgaW5zdGFuY2Ugb2YgdGhlIFVJIGZvciAKCWVhY2ggbmV3IEpQcm9ncmVzc0Jhci4gRml4ZWQgdGhpcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoaW5zdGFsbFVJKTogQWRkZWQgY2FsbCB0byBwcmVwYXJlRm9yVUlJbnN0YWxsLgoJKHVuaW5zdGFsbFVJKTogQWRkZWQgY2FsbCB0byBwcmVwYXJlRm9yVUlVbmluc3RhbGwuCgoyMDA1LTA5LTE0ICBBbnRob255IEJhbGtpc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvbmVudFZpZXcuamF2YToKCShjcmVhdGVDb21wb25lbnQpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMDktMTQgICAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIG9yZy9vbWcvQ29zTmFtaW5nL05hbWVDb21wb25lbnQgKGhhc2hDb2RlKTogTmV3IG1ldGhvZCwKICAgICAgICBmaXhlcyAjMjM4ODMpLiAKCjIwMDUtMDktMTQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJRml4ZXMgQnVnICMyMzc5NQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmE6CglNYWRlIHByaXZhdGUgZmllbGRzIHBhY2thZ2UgcHJpdmF0ZS4KCShzZXRDZWxsUmVuZGVyZXIpOiBUb29rIG91dCBjb2RlIHRoYXQgdXBkYXRlUmVuZGVyZXIgdGFrZXMKCWNhcmUgb2YuCgkoZ2V0UGF0aEJvdW5kcyk6IEZpeGVkIHRvIHVzZSB0cmVlTW9kZWwgZmllbGQuCgkoZ2V0UGF0aEZvclJvdyk6IExpa2V3aXNlLgoJKGdldFJvd0NvdW50KTogTGlrZXdpc2UuCgkoaW5zdGFsbENvbXBvbmVudHMpOiBJbXBsZW1lbnRlZC4KCShjcmVhdGVOb2RlRGltZW5zaW9ucyk6IEltcGxlbWVudGVkLgoJKHVuaW5zdGFsbENvbXBvbmVudHMpOiBJbXBsZW1lbnRlZC4KCShnZXRWZXJ0aWNhbExlZ0J1ZmZlcik6IEltcGxlbWVudGVkLgoJKGdldEhvcml6b250YWxMZWdCdWZmZXIpOiBJbXBsZW1lbnRlZC4KCSh1cGRhdGVMYXlvdXRDYWNoZUV4cGFuZGVkTm9kZXMpOiBJbXBsZW1lbnRlZC4KCSh1cGRhdGVFeHBhbmRlZERlc2NlbmRhbnRzKTogSW1wbGVtZW50ZWQuCgkodXBkYXRlRGVwdGhPZmZzZXQpOiBJbXBsZW1lbnRlZC4KCSh1cGRhdGVSZW5kZXJlcik6IEltcGxlbWVudGVkLgoJKHVwZGF0ZVNpemUpOiBJbXBsZW1lbnRlZC4KCShpbnN0YWxsRGVmYXVsdHMpOiBBZGRlZCBzb21lIG1vcmUgZGVmYXVsdHMuCgkoaW5zdGFsbFVJKTogTW92ZWQgY29kZSB0byBpbnN0YWxsQ29tcG9uZW50cy4KCShwYWludCk6IEZpeGVkIHRvIHVzZSB0cmVlTW9kZWwgZmllbGQuCgkoZW5zdXJlUm93c0FyZVZpc2libGUpOiBJbXBsZW1lbnRlZC4KCShnZXRNaW5pbXVtU2l6ZSk6IEltcGxlbWVudGVkLgoJKGdldE1heGltdW1TaXplKTogSW1wbGVtZW50ZWQuCgkoY2hlY2tGb3JDbGlja0luRXhwYW5kQ29udHJvbCk6IEltcGxlbWVudGVkLgoJKGlzTG9jYXRpb25JbkV4cGFuZENvbnRyb2wpOiBJbXBsZW1lbnRlZC4KCShoYW5kbGVFeHBhbmRDb250cm9sQ2xpY2spOiBJbXBsZW1lbnRlZC4KCSh0b2dnbGVFeHBhbmRTdGF0ZSk6IEltcGxlbWVudGVkLgoJKGlzVG9nZ2xlU2VsZWN0aW9uRXZlbnQpOiBJbXBsZW1lbnRlZC4KCShpc011bHRpU2VsZWN0RXZlbnQpOiBJbXBsZW1lbnRlZC4KCShpc1RvZ2dsZUV2ZW50KTogSW1wbGVtZW50ZWQuCgkoc2VsZWN0UGF0aEZvckV2ZW50KTogSW1wbGVtZW50ZWQuCgkoYWN0aW9uUGVyZm9ybWVkKTogQ2hhbmdlZCB0byB1c2UgdG9nZ2xlRXhwYW5kU3RhdGUuCgkobW91c2VQcmVzc2VkKTogRml4ZWQgY29kZSB0byB1c2UgaGVscGVyIG1ldGhvZHMuIE1hZGUKCW1vcmUgZWZmaWNlbnQuCgkoVHJlZUNhbmNlbEVkaXRpbmdBY3Rpb24pOiBGaXhlZCBDb25zdHJ1Y3RvciBzaWduYXR1cmUuCgkoYWN0aW9uUGVyZm9ybWVkKTogRml4ZWQgdG8gdXNlIHRyZWVNb2RlbCBmaWVsZC4KCShwYWludFJlY3Vyc2l2ZSk6IEZpeGVkIHRvIHVzZSBsaW5lIGRyYXdpbmcgaGVscGVyIG1ldGhvZHMuCgkocGFpbnRDb250cm9sSWNvbnMpOiBGaXhlZCB0byB1c2UgY29udHJvbCBpY29ucyBoZWxwZXIgbWV0aG9kcy4KCShnZXRDdXJyZW50Q29udHJvbEljb24pOiBOZXcgbWV0aG9kLgoJKGZpbmROb2RlKTogQ2hhbmdlZCB0byB1c2UgdHJlZU1vZGVsIGZpZWxkLgoJKGdldE5leHROb2RlKTogTGlrZXdpc2UuCgkoZ2V0UHJldmlvdXNOb2RlKTogTGlrZXdpc2UuCgkoZ2V0TmV4dFNpYmxpbmcpOiBMaWtld2lzZS4KCShnZXRQcmV2aW91c1NpYmxpbmcpOiBMaWtld2lzZS4KCShnZXRQYXRoVG9Sb290KTogTGlrZXdpc2UuCgkoZHJhd0Rhc2hlZEhvcml6b250YWxMaW5lKTogSW1wbGVtZW50ZWQuCgkoZHJhd0Rhc2hlZFZlcnRpY2FsTGluZSk6IEltcGxlbWVudGVkLgoJKHBhaW50RXhwYW5kQ29udHJvbCk6IEltcGxlbWVudGVkLgoJKHBhaW50SG9yaXpvbnRhbFBhcnRPZkxlZyk6IE5ldyBtZXRob2QuCgkocGFpbnRWZXJ0aWNhbFBhcnRPZkxlZyk6IE5ldyBtZXRob2QuCgkocGFpbnRSb3cpOiBOZXcgbWV0aG9kLgoJKHNob3VsZFBhaW50RXhwYW5kQ29udHJvbCk6IE5ldyBNZXRob2QuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUcmVlVUkuamF2YToKCUFkZGVkIHByaXZhdGUgZmllbGRzIGZvciBsaXN0ZW5lcnMuCgkoZ2V0SG9yaXpvbnRhbExlZ0J1ZmZlcik6IEltcGxlbWVudGVkLgoJKGluc3RhbGxVSSk6IEltcGxlbWVudGVkLgoJKHVuaW5zdGFsbFVJKTogSW1wbGVtZW50ZWQuCgkoZGVjb2RlTGluZVN0eWxlKTogTmV3IG1ldGhvZC4KCShpc0xvY2F0aW9uSW5FeHBhbmRDb250cm9sKTogSW1wbGVtZW50ZWQuCgkocGFpbnQpOiBJbXBsZW1lbnRlZC4KCShwYWludEhvcml6b250YWxTZXBhcmF0b3JzKTogTmV3IG1ldGhvZC4KCShwYWludFZlcnRpY2FsUGFydE9mTGVnKTogSW1wbGVtZW50ZWQuCgkocGFpbnRIb3Jpem9udGFsUGFydE9mTGVnKTogSW1wbGVtZW50ZWQuCgoyMDA1LTA5LTE0ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRleHRBcmVhLmphdmE6CgkoYXBwZW5kKTogQWZ0ZXIgbm9uLWVtcHR5IGFwcGVuZCwgaW52YWxpZGF0ZS4KCShzZXRSb3dzKTogSWYgbnVtYmVyIG9mIHJvd3MgY2hhbmdlcywgaW52YWxpZGF0ZS4KCShzZXRDb2x1bW5zKTogSWYgbnVtYmVyIG9mIGNvbHVtbnMgY2hhbmdlcywgaW52YWxpZGF0ZS4KCjIwMDUtMDktMTQgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvSW5ldFNvY2tldEFkZHJlc3MuamF2YSAodG9TdHJpbmcpOiBBZGp1c3QgdG8gbWF0Y2ggU3VuCglKUkUgb3V0cHV0LCB3aGljaCBpcyBbSE9TVE5BTUVdL1tJUEFERFJFU1NdOltQT1JUXS4KCSogZ251L2phdmEvc2VjdXJpdHkvZGVyL0RFUlJlYWRlci5qYXZhOiBSZW1vdmUgc3RyYXkgc2VtaWNvbG9uLgoJKiBnbnUveG1sL3BpcGVsaW5lL1ZhbGlkYXRpb25Db25zdW1lci5qYXZhOiBGaXggZmxhZ3MgdGVzdCAod2FzCgljb25zdGFudCBleHByZXNzaW9uKS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ZpbGVDaG9vc2VyVUkuamF2YSwKCSogamF2YXgvc3dpbmcvZmlsZWNob29zZXIvRmlsZVN5c3RlbVZpZXcuamF2YSwKCSogamF2YS91dGlsL2xvZ2dpbmcvTG9nTWFuYWdlci5qYXZhLAoJKiBnbnUveG1sL2xpYnhtbGovZG9tL0dub21lRG9jdW1lbnQuamF2YSwKCSogZ251L3htbC9hZWxmcmVkMi9KQVhQRmFjdG9yeS5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9FeHRlbnNpb24uamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQmFzaWNDb25zdHJhaW50cy5qYXZhLAoJKiBnbnUvamF2YS9ybWkvc2VydmVyL1JNSU9iamVjdElucHV0U3RyZWFtLmphdmEsCgkqIGdudS9qYXZhL3JtaS9kZ2MvREdDSW1wbF9TdHViLmphdmEsCgkqIGdudS9qYXZhL2JlYW5zL2RlY29kZXIvQm9vbGVhbkhhbmRsZXIuamF2YTogVXNlCglCb29sZWFuLnZhbHVlT2YoKSBpbnN0ZWFkIG9mIG5ldyBCb29sZWFuLgoKMjAwNS0wOS0xMyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1N0cmluZ0J1ZmZlci5qYXZhIChTdHJpbmdCdWZmZXIpOiBOZXcgY29uc3RydWN0b3IuCgkodHJpbVRvU2l6ZSk6IE5ldyBtZXRob2QuCgkoY29kZVBvaW50QXQpOiBMaWtld2lzZS4KCShjb2RlUG9pbnRCZWZvcmUpOiBMaWtld2lzZS4KCShjb2RlUG9pbnRDb3VudCk6IExpa2V3aXNlLgoJKGFwcGVuZENvZGVQb2ludCk6IExpa2V3aXNlLgoJKGFwcGVuZCk6IE5ldyBvdmVybG9hZHMuCgkoaW5zZXJ0KTogTGlrZXdpc2UuCgoyMDA1LTA5LTEzICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvQ2hhcmFjdGVyLmphdmE6IFR5cG8gZml4ZXMgaW4gamF2YWRvYy4KCjIwMDUtMDktMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmEKCShjYWxjdWxhdGVUYWJXaWR0aCk6IERvbid0IHVzZSB0aGUgY2FsY1JlY3QgaGVyZS4gVGhpcyBsZWFkIHRvIGFuCglpbmNvbnNpc3RlbnQgc3RhdGUgd2hlbiB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgZnJvbSBhbm90aGVyIG1ldGhvZAoJdGhhdCBhbHNvIHVzZXMgY2FsY1JlY3QuCgkoY2FsY3VsYXRlVGFiSGVpZ2h0KTogRG9uJ3QgdXNlIHRoZSBjYWxjUmVjdCBoZXJlLiBUaGlzIGxlYWQgdG8gYW4KCWluY29uc2lzdGVudCBzdGF0ZSB3aGVuIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCBmcm9tIGFub3RoZXIgbWV0aG9kCgl0aGF0IGFsc28gdXNlcyBjYWxjUmVjdC4KCjIwMDUtMDktMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmE6CglSZWZvcm1hdHRlZCBmaWxlLgoKMjAwNS0wOS0xNCAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YToKCShyZWFkT2JqZWN0KCkpOiBNb3ZlZCBtYXJrZXIgcGFyc2luZyB0byBpdHMgb3duIG1ldGhvZC4KCShwYXJzZUNvbnRlbnQoYnl0ZSkpOiBGaXhlZCBUQ19PQkpFQ1QgaGFuZGxpbmcgdG8gbG9vcCBvbgoJYmxvY2tkYXRhIHdyaXR0ZW4gbWFudWFsbHkgYnkgdGhlIGNsYXNzLgoJCjIwMDUtMDktMTQgIENocmlzdGlhbiBUaGFsaW5nZXIgIDx0d2lzdGlAY29tcGxhbmcudHV3aWVuLmFjLmF0PgoKCSogbmF0aXZlL2puaS9jbGFzc3BhdGgvamNsLmM6IFJlcGxhY2VkIHVuZGVmaW5lZCAJCglQT0lOVEVSU19BUkVfNjRCSVQgd2l0aCBTSVpFT0ZfVk9JRF9QID09IDguCgoyMDA1LTA5LTE0ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEljb25GYWN0b3J5LmphdmEKCShQYWxldHRlQ2xvc2VJY29uKTogbm93IGltcGxlbWVudHMgVUlSZXNvdXJjZS4KCjIwMDUtMDktMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9CdXR0b25Nb2RlbC5qYXZhOiBBZGRlZCBBUEkgZG9jcyBhbGwgb3Zlci4KCjIwMDUtMDktMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhOiBBZGRlZCBBUEkgY29tbWVudHMgdG8gbWFrZSBjbGVhcgoJdGhhdCBudWxsIHZhbHVlcyBmb3IgdGFiIHRpdGxlcyBhcmUgYWxsb3dlZC4KCjIwMDUtMDktMTQgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJRml4ZXMgQnVnIzIzODU5LgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhCgkoaW5zZXJ0VGFiKTogQ2hlY2sgaWYgdGl0bGUgPT0gbnVsbCBhbmQgaWYgc28sIHRoZW4gc2V0IGl0Cgl0byAiIi4gT3RoZXJ3aXNlIHRoZSBudWxsIHN0cmluZyB3b3VsZCBjYXVzZSBhIHNlZ2ZhdWx0IG9yCglhbiBhc3NlcnRpb24gZmFpbHVyZSBpbiBmb250IG1ldHJpY3MgY2FsY3VsYXRpb24gYXMgcmVwb3J0ZWQKCWluIGJ1ZyMyMzg1OS4KCjIwMDUtMDktMTQgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBnbnUvQ09SQkEvRXhjZXB0aW9uQ3JlYXRvci5qYXZhOiBtaW5vciBBUEkgZG9jIGZpeGVzLAoJKiBnbnUvQ09SQkEvVmVyc2lvbi5qYXZhOiBsaWtld2lzZS4KCjIwMDUtMDktMTQgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRm9ybWF0dGVkVGV4dEZpZWxkVUkuamF2YToKCShnZXRQcm9wZXJ0eVByZWZpeCk6IGFkZGVkIEFQSSBkb2NzLAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUGFzc3dvcmRGaWVsZFVJLmphdmE6CgkoZ2V0UHJvcGVydHlQcmVmaXgpOiBhZGRlZCBBUEkgZG9jcywKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRBcmVhVUkuamF2YToKCShnZXRQcm9wZXJ0eVByZWZpeCk6IGFkZGVkIEFQSSBkb2NzLAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dEZpZWxkVUkuamF2YToKCShnZXRQcm9wZXJ0eVByZWZpeCk6IGFkZGVkIEFQSSBkb2NzLAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFBhbmVVSS5qYXZhOgoJKGdldFByb3BlcnR5UHJlZml4KTogYWRkZWQgQVBJIGRvY3MuCgoyMDA1LTA5LTE0ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogb3JnL29tZy9DT1JCQS9PUkIuamF2YTogbWlub3IgQVBJIGRvYyBmaXhlcywKCSogb3JnL29tZy9DT1JCQS9QRVJTSVNUX1NUT1JFLmphdmE6IGxpa2V3aXNlLAoJKiBvcmcvb21nL0NPUkJBL1BvbGljeUVycm9yLmphdmE6IGxpa2V3aXNlLAoJKiBvcmcvb21nL0NPUkJBL1ZhbHVlQmFzZUhvbGRlci5qYXZhOiBsaWtld2lzZSwKCSogb3JnL29tZy9DT1JCQS9WaXNpYmlsaXR5SGVscGVyLmphdmE6IGxpa2V3aXNlLgoKMjAwNS0wOS0xNCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxDb21ib0JveEljb24uamF2YTogZml4ZWQgaGVhZGVyLAoJKHBhaW50SWNvbik6IGNoYW5nZSBjb2xvciB0byByZWZsZWN0IGNvbXBvbmVudCBzdGF0ZS4KCjIwMDUtMDktMTMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIC5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmczogSWdub3JlIGphdmFkb2Mgd2FybmluZ3MKCWZvciBoaWRkZW4gb3IgZGVwcmVjYXRlZCBtZW1iZXJzLgoKMjAwNS0wOS0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCglCdW1wZWQgdXAgc2VyaWFsVmVyc2lvblVJRHMgdG8gSkRLIDEuNSBjb21wYXRpYmlsaXR5LgoJKGdldENvbnRlbnQpOiBNYWRlIG1ldGhvZCBmaW5hbC4KCShBYnN0cmFjdEVsZW1lbnQuZHVtcEVsZW1lbnQpOiBSZW1vdmVkIHN1cGVyZmx1b3VzIHByaXZhdGUgbWV0aG9kLgoJKEFic3RyYWN0RWxlbWVudC5kdW1wKTogTWFkZSBkaWFnbm9zdGljIG91dHB1dCBtb3JlIHNwZWFraW5nLgoJKiBqYXZheC9zd2luZy90ZXh0L0JveFZpZXcuamF2YQoJKHBhaW50Q2hpbGQpOiBEb24ndCBhbGxvY2F0ZSB0aGUgY2hpbGQgcmVnaW9uIGhlcmUuCgkocGFpbnQpOiBBbGxvY2F0ZSB0aGUgY2hpbGQgcmVnaW9uIGhlcmUgaW5zdGVhZC4KCSogamF2YXgvc3dpbmcvdGV4dC9Db21wb25lbnRWaWV3LmphdmE6CglBZGRlZCBBUEkgZG9jIGNvbW1lbnRzLgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvc2l0ZVZpZXcuamF2YQoJKGdldE5leHRWaXN1YWxQb3NpdGlvbkZyb20pOiBEZWNsYXJlZCB0byB0aHJvdyBCYWRMb2NhdGlvbkV4Y2VwdGlvbi4KCShnZXROZXh0Tm9ydGhTb3V0aFZpc3VhbFBvc2l0aW9uRnJvbSk6IExpa2V3aXNlLgoJKGdldE5leHRFYXN0V2VzdFZpc3VhbFBvc2l0aW9uRnJvbSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRDYXJldC5qYXZhCglCdW1wZWQgdXAgc2VyaWFsVmVyc2lvblVJRHMgdG8gSkRLIDEuNSBjb21wYXRpYmlsaXR5LgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YQoJU2xpZ2h0IHJlZm9ybWF0dGluZy4KCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Rm9ybWF0dGVyLmphdmEKCUJ1bXBlZCB1cCBzZXJpYWxWZXJzaW9uVUlEcyB0byBKREsgMS41IGNvbXBhdGliaWxpdHkuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdFN0eWxlZEVkaXRvcktpdC5qYXZhCgkoRWxlbWVudEJ1ZmZlci5pbnNlcnRVcGRhdGUpOiBSZW1vdmVkIHVubmVlZGVkIHN0YXRlbWVudC4KCShFbGVtZW50QnVmZmVyLmluc2VydFN0YXJ0VGFnKTogQXR0YWNoIGEgcmVzb2x2ZSBwYXJlbnQgdG8gbmV3CglwYXJhZ3JhcGggZWxlbWVudHMuCgkoY3JlYXRlRGVmYXVsdFJvb3QpOiBBdHRhY2ggYSByZXNvbHZlIHBhcmVudCB0byBuZXcgcGFyYWdyYXBoCgllbGVtZW50cy4KCSogamF2YXgvc3dpbmcvdGV4dC9JbnRlcm5hdGlvbmFsRm9ybWF0dGVyLmphdmEKCUJ1bXBlZCB1cCBzZXJpYWxWZXJzaW9uVUlEcyB0byBKREsgMS41IGNvbXBhdGliaWxpdHkuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJU2xpZ2h0IHJlZm9ybWF0dGluZy4KCShwYXJhbVN0cmluZyk6IEFkZGVkIFRPRE8gY29tbWVudC4KCSogamF2YXgvc3dpbmcvdGV4dC9TaW1wbGVBdHRyaWJ1dGVTZXQuamF2YQoJQnVtcGVkIHVwIHNlcmlhbFZlcnNpb25VSURzIHRvIEpESyAxLjUgY29tcGF0aWJpbGl0eS4KCShlcXVhbHMpOiBEb24ndCByZXF1aXJlIG9iamVjdCB0byBiZSBTaW1wbGVBdHRyaWJ1dGVTZXQuIEFsbG93cwoJY29tcGFyaW5nIHRvIGFsbCBraW5kcyBvZiBBdHRyaWJ1dGVTZXRzLgoJKGlzRXF1YWwpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9TdHJpbmdDb250ZW50LmphdmEKCUJ1bXBlZCB1cCBzZXJpYWxWZXJzaW9uVUlEcyB0byBKREsgMS41IGNvbXBhdGliaWxpdHkuCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVDb25zdGFudHMuamF2YQoJKGdldEJhY2tncm91bmQpOiBSZXR1cm4gd2hpdGUgYXMgZGVmYXVsdCBiYWNrZ3JvdW5kIGluc3RlYWQgb2YgYmxhY2suCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVDb25zdGV4dC5qYXZhCglCdW1wZWQgdXAgc2VyaWFsVmVyc2lvblVJRHMgdG8gSkRLIDEuNSBjb21wYXRpYmlsaXR5LgoJKFNtYWxsQXR0cmlidXRlU2V0LmVxdWFscyk6ICBEb24ndCByZXF1aXJlIG9iamVjdCB0byBiZQoJU21hbGxBdHRyaWJ1dGVTZXQuIEFsbG93cyBjb21wYXJpbmcgdG8gYWxsIGtpbmRzIG9mIEF0dHJpYnV0ZVNldHMuCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVkRWRpdG9yS2l0LmphdmEKCUZpeGVkIHNvbWUgY29tbWVudHMuCgkqIGphdmF4L3N3aW5nL3RleHQvVGFiU2V0LmphdmEKCUJ1bXBlZCB1cCBzZXJpYWxWZXJzaW9uVUlEcyB0byBKREsgMS41IGNvbXBhdGliaWxpdHkuCgkqIGphdmF4L3N3aW5nL3RleHQvVGFiU3RvcC5qYXZhCglCdW1wZWQgdXAgc2VyaWFsVmVyc2lvblVJRHMgdG8gSkRLIDEuNSBjb21wYXRpYmlsaXR5LgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJUmVtb3ZlZCB1bm5lZWRlZCBpbXBvcnQuCgkKMjAwNS0wOS0xNCAgUm9iZXJ0IFNjaHVzdGVyICA8cm9iZXJ0c2NodXN0ZXJAZnNmZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhOgoJKHNob3dDb25maXJtRGlhbG9nKTogQ2hhbmdlZCBRVUVTVElPTl9NRVNTQUdFIGxpa2UgdGhlIEpESwoJZG9lcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhOgoJKGdldEJ1dHRvbnMpOiBUcmVhdCBERUZBVUxUX09QVElPTiBsaWtlCglZRVNfTk9fQ0FOQ0VMX09QVElPTiBsaWtlIHRoZSBKREsuCgoyMDA1LTA5LTE0ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEKCShHYXBDb250ZW50UG9zaXRpb24uZ2V0T2Zmc2V0KTogTWFkZSBhc3NlcnRpb24gbW9yZSBzcGVha2luZy4KCShHYXBDb250ZW50KTogTW9kaWZpZWQgaW5pdGlhbGl6YXRpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBKREsuCgkoc2hpZnRFbmQpOiBVcGRhdGUgbWFya3MgcHJpb3IgdG8gbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250ZW50LgoJVXNlIG5ldyBnZXRQb3NpdGlvbnNJblJhbmdlIG1ldGhvZC4KCShzaGlmdEdhcCk6IFVzZSBuZXcgZ2V0UG9zaXRpb25zSW5SYW5nZSBtZXRob2QuIFR3ZWFrZWQgdG8gY29yZWN0bHkKCXVwZGF0ZSB0aGUgbWFya3MuCgkoc2hpZnRHYXBTdGFydERvd24pOiBOZXcgbWV0aG9kLgoJKHNoaWZ0R2FwRW5kVXApOiBOZXcgbWV0aG9kLgoJKHJlcGxhY2UpOiBVc2Ugc2hpZnRHYXBFbmRVcC4gTW9kaWZpZWQgcmVzaXppbmcgb2Zmc2V0LgoJKGdldEdhcFN0YXJ0KTogTmV3IG1ldGhvZC4KCShnZXRHYXBFbmQpOiBOZXcgbWV0aG9kLgoJKGdldFBvc2l0aW9uc0luUmFuZ2UpOiBOZXcgbWV0aG9kLgoKMjAwNS0wOS0xNCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvR2x5cGhWaWV3LmphdmEKCShBYnN0cmFjdEdseXBoUGFpbnRlci5nZXRBc2NlbnQpOiBOZXcgYWJzdHJhY3QgbWV0aG9kLgoJKEFic3RyYWN0R2x5cGhQYWludGVyLmdldERlc2NlbnQpOiBOZXcgYWJzdHJhY3QgbWV0aG9kLgoJKEFic3RyYWN0R2x5cGhQYWludGVyLmdldEJvdW5kZWRQb3NpdGlvbik6IE5ldyBhYnN0cmFjdCBtZXRob2QuCgkoQWJzdHJhY3RHbHlwaFBhaW50ZXIudmlld1RvTW9kZWwpOiBOZXcgYWJzdHJhY3QgbWV0aG9kLgoJKEFic3RyYWN0R2x5cGhQYWludGVyLmdldE5leHRWaXN1YWxQb3NpdGlvbkZyb20pOiBOZXcgbWV0aG9kLgoJKEFic3RyYWN0R2x5cGhQYWludGVyLmdldFBhaW50ZXIpOiBOZXcgbWV0aG9kLgoJKERlZmF1bHRHbHlwaFBhaW50ZXIucGFpbnQpOiBBZGQgc3VwcG9ydCBmb3IgbW9yZSB0ZXh0IGF0dHJpYnV0ZXMuCgkoRGVmYXVsdEdseXBoUGFpbnRlci5nZXRBc2NlbnQpOiBOZXcgbWV0aG9kLgoJKERlZmF1bHRHbHlwaFBhaW50ZXIuZ2V0RGVzY2VudCk6IE5ldyBtZXRob2QuCgkoRGVmYXVsdEdseXBoUGFpbnRlci5nZXRCb3VuZGVkUG9zaXRpb24pOiBOZXcgbWV0aG9kLgoJKERlZmF1bHRHbHlwaFBhaW50ZXIudmlld1RvTW9kZWwpOiBOZXcgbWV0aG9kLgoJKEdseXBoVmlldyk6IFN0b3JlIHN0YXJ0IGFuZCBlbmQgb2Zmc2V0IGluIHRoZSBHbHlwaFZpZXcuCgkoZ2V0UHJlZmVycmVkU3Bhbik6IERpZmZlcmVudGlhdGUgdGhlIGF4aXMgcGFyYW1ldGVyLgoJKHZpZXdUb01vZGVsKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoZ2V0U3RhcnRPZmZzZXQpOiBSZXR1cm4gdmFsdWUgb2YgcHJpdmF0ZSBmaWVsZCBpbnN0ZWFkIG9mIHRoZQoJZWxlbWVudCB2YWx1ZS4KCShnZXRFbmRPZmZzZXQpOiBSZXR1cm4gdmFsdWUgb2YgcHJpdmF0ZSBmaWVsZCBpbnN0ZWFkIG9mIHRoZQoJZWxlbWVudCB2YWx1ZS4KCShnZXRCYWNrZ3JvdW5kKTogTmV3IG1ldGhvZC4KCShpc1N0cmlrZVRocm91Z2gpOiBOZXcgbWV0aG9kLgoJKGlzU3Vic2NyaXB0KTogTmV3IG1ldGhvZC4KCShpc1N1cGVyc2NyaXB0KTogTmV3IG1ldGhvZC4KCShpc1VuZGVybGluZSk6IE5ldyBtZXRob2QuCgkoY2xvbmUpOiBOZXcgbWV0aG9kLgoJKGJyZWFrVmlldyk6IE5ldyBtZXRob2QuCgkoZ2V0QnJlYWtXZWlnaHQpOiBOZXcgbWV0aG9kLgoJKGNoYW5nZWRVcGRhdGUpOiBOZXcgbWV0aG9kLgoJKGluc2VydFVwZGF0ZSk6IE5ldyBtZXRob2QuCgkocmVtb3ZlVXBkYXRlKTogTmV3IG1ldGhvZC4KCShjcmVhdGVGcmFnbWVudCk6IE5ldyBtZXRob2QuCgkoZ2V0QWxpZ25tZW50KTogTmV3IG1ldGhvZC4KCShnZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogTmV3IG1ldGhvZC4KCjIwMDUtMDktMTMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvdXRpbC9yZWdleC9NYXRjaGVyLmphdmEgKG1hdGNoZXMpOiBKYXZhZG9jIGZpeC4KCShzdGFydCk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9Qcm94eS5qYXZhIChlcXVhbHMpOiBKYXZhZG9jIGZpeC4KCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChpbnB1dEdldE9iamVjdFN0cmVhbUNsYXNzZXMpOiBKYXZhZG9jCglmaXguCgkqIGphdmEvdXRpbC96aXAvWmlwRmlsZS5qYXZhIChnZXRFbnRyeSk6IEphdmFkb2MgZml4LgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9YTUxGb3JtYXR0ZXIuamF2YSAoZ2V0SGVhZCk6IEphdmFkb2MgZml4LgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9Mb2dNYW5hZ2VyLmphdmEgKGdldExldmVsUHJvcGVydHkpOiBKYXZhZG9jIGZpeC4KCSogamF2YS91dGlsL2xvZ2dpbmcvSGFuZGxlci5qYXZhIChnZXRFbmNvZGluZyk6IEphdmFkb2MgZml4LgoJKHNldEZpbHRlcik6IExpa2V3aXNlLgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9GaWxlSGFuZGxlci5qYXZhOiBPcmdhbml6ZWQgaW1wb3J0cy4KCSogamF2YS91dGlsL2phci9NYW5pZmVzdC5qYXZhIChNYW5pZmVzdCk6IEphdmFkb2MgZml4LgoJKiBqYXZhL3V0aWwvVHJlZU1hcC5qYXZhIChwdXRGcm9tT2JqU3RyZWFtKTogSmF2YWRvYyBmaXguCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhIChpc0JlZm9yZSk6IEphdmFkb2MgZml4LgoJKiBqYXZhL3V0aWwvUmVzb3VyY2VCdW5kbGUuamF2YSAodHJ5QnVuZGxlKTogSmF2YWRvYyBmaXguCgkqIGphdmEvdXRpbC9SYW5kb20uamF2YSAoc2VlZCk6IEphdmFkb2MgZml4LgoJKiBqYXZhL3V0aWwvQ29sbGVjdGlvbnMuamF2YSAoU3luY2hyb25pemVkU29ydGVkU2V0KTogSmF2YWRvYyBmaXguCgkoU2luZ2xldG9uTWFwKTogTGlrZXdpc2UuCgkoYWRkQWxsKTogSmF2YWRvYyBmaXguCgkqIGphdmEvbGFuZy9yZWZsZWN0L1VuZGVjbGFyZWRUaHJvd2FibGVFeGNlcHRpb24uamF2YTogSmF2YWRvYyBmaXguCgkqIGphdmEvbGFuZy9yZWZsZWN0L01lbWJlci5qYXZhIChERUNMQVJFRCwgUFVCTElDKTogSmF2YWRvYyBmaXguCgkqIGphdmEvbGFuZy9yZWYvV2Vha1JlZmVyZW5jZS5qYXZhOiBKYXZhZG9jIGZpeC4KCSogamF2YS9sYW5nL3JlZi9SZWZlcmVuY2UuamF2YTogSmF2YWRvYyBmaXguCgkoUmVmZXJlbmNlKTogTGlrZXdpc2UuCgkqIGphdmEvbGFuZy9UaHJlYWQuamF2YSAoc2V0Q29udGV4dENsYXNzTG9hZGVyKTogSmF2YWRvYyBmaXguCgkoZ2V0Q29udGV4dENsYXNzTG9hZGVyKTogTGlrZXdpc2UuCgkoc3RvcCk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvU3lzdGVtLmphdmEgKHJ1bkZpbmFsaXplcnNPbkV4aXQpOiBKYXZhZG9jIGZpeC4KCSogamF2YS9sYW5nL1N0cmluZy5qYXZhICh1cHBlckV4cGFuZCk6IEphdmFkb2MgZml4LgoJKiBqYXZhL2xhbmcvU3RyaWN0TWF0aC5qYXZhOiBKYXZhZG9jIGZpeGVzLgoJKiBqYXZhL2xhbmcvU2VjdXJpdHlNYW5hZ2VyLmphdmE6IEFkZGVkIGltcG9ydHMgZm9yIGphdmFkb2MuCgkoY3VycmVudENsYXNzTG9hZGVyKTogSmF2YWRvYyBmaXguCgkoY2xhc3NMb2FkZXJEZXB0aCk6IExpa2V3aXNlLgoJKGN1cnJlbnRMb2FkZWRDbGFzcyk6IExpa2V3aXNlLgoJKGNoZWNrUmVhZCk6IExpa2V3aXNlLgoJKGNoZWNrV3JpdGUpOiBMaWtld2lzZS4KCShjaGVja0FjY2Vzcyk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvUnVudGltZVBlcm1pc3Npb24uamF2YTogQWRkZWQgaW1wb3J0IGZvciBqYXZhZG9jLgoJKiBqYXZhL2xhbmcvUmVhZGFibGUuamF2YSAocmVhZCk6IEFkZGVkIGltcG9ydCBmb3IgamF2YWRvYy4KCjIwMDUtMDktMTMgIENhc2V5IE1hcnNoYWxsICA8Y3NtQGdudS5vcmc+CgoJKiBnbnUvY2xhc3NwYXRoL0J5dGVBcnJheS5qYXZhOiBuZXcgZmlsZS4KCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvR251LmphdmEKCSg8aW5pdD4pOiBhZGQgRGlmZmllIEhlbGxtYW4gYW5kIFJTQSBhbGdvcml0aG1zLgoJKiBnbnUvamF2YXgvY3J5cHRvL0RpZmZpZUhlbGxtYW5JbXBsLmphdmE6IG5ldyBmaWxlLgoJKiBnbnUvamF2YXgvY3J5cHRvL0dudURIUHJpdmF0ZUtleS5qYXZhOiBuZXcgZmlsZS4KCSogZ251L2phdmF4L2NyeXB0by9SU0FDaXBoZXJJbXBsLmphdmE6IG5ldyBmaWxlLgoKMjAwNS0wOS0xMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxDb21ib0JveEJ1dHRvbi5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENvbWJvQm94RWRpdG9yLmphdmE6IGxpa2V3aXNlLgoKMjAwNS0wOS0xMyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1Byb2Nlc3MuamF2YTogQWRkZWQgaW1wb3J0IGZvciBqYXZhZG9jLgoJKiBqYXZhL2xhbmcvT2JqZWN0LmphdmEgKG5vdGlmeSk6IEphdmFkb2MgZml4LgoJKG5vdGlmeUFsbCk6IExpa2V3aXNlLgoJKiBqYXZhL2lvL1BpcGVkSW5wdXRTdHJlYW0uamF2YSAoY29ubmVjdCk6IEphdmFkb2MgZml4LgoJKiBqYXZhL2lvL091dHB1dFN0cmVhbVdyaXRlci5qYXZhOiBPcmdhbml6ZWQgaW1wb3J0cy4KCSogamF2YS9pby9PYmplY3RTdHJlYW1GaWVsZC5qYXZhIChzZXRPZmZzZXQpOiBKYXZhZG9jIGZpeC4KCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChyZWFkRmllbGRzKTogSmF2YWRvYyBmaXguCgkqIGphdmEvaW8vRGF0YU91dHB1dFN0cmVhbS5qYXZhICh3cml0ZUNoYXJzKTogSmF2YWRvYyBmaXguCgkod3JpdGVGbG9hdCk6IExpa2V3aXNlLgoJKHdyaXRlRG91YmxlKTogTGlrZXdpc2UuCgkqIGphdmEvdXRpbC9Mb2NhbGUuamF2YSAocmVhZE9iamVjdCk6IEphdmFkb2MgZml4LgoJKHdyaXRlT2JqZWN0KTogTGlrZXdpc2UuCgkqIGphdmEvaW8vTGluZU51bWJlclJlYWRlci5qYXZhIChyZWFkKTogSmF2YWRvYyBmaXguCgkoc2V0TGluZU51bWJlcik6IExpa2V3aXNlLgoJKG1hcmspOiBMaWtld2lzZS4KCSogamF2YS9pby9JbnB1dFN0cmVhbVJlYWRlci5qYXZhOiBVcGRhdGVkIGltcG9ydHMuCgkqIGphdmEvbGFuZy9JbnRlZ2VyLmphdmEgKHBhcnNlSW50KTogSmF2YWRvYyBmaXguCgkqIGphdmEvaW8vRmlsdGVyUmVhZGVyLmphdmEgKHNraXApOiBKYXZhZG9jIGZpeC4KCSogamF2YS91dGlsL0hhc2hNYXAuamF2YSAoY29udGFpbnNWYWx1ZSk6IEphdmFkb2MgZml4LgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YSAoZmluZExpYnJhcnkpOiBKYXZhZG9jIGZpeC4KCShzZXRQYWNrYWdlQXNzZXJ0aW9uU3RhdHVzKTogTGlrZXdpc2UuCgkoc2V0Q2xhc3NBc3NlcnRpb25TdGF0dXMpOiBMaWtld2lzZS4KCSogamF2YS9sYW5nL0NsYXNzLmphdmE6IEFkZGVkIGltcG9ydHMgZm9yIGphdmFkb2MuCgkobWF0Y2hNZXRob2QpOiBKYXZhZG9jIGZpeC4KCSogamF2YS91dGlsL0FycmF5TGlzdC5qYXZhIChyZWFkT2JqZWN0KTogSmF2YWRvYyBmaXguCgkod3JpdGVPYmplY3QpOiBMaWtld2lzZS4KCSogamF2YS9sYW5nL1N0cmluZy5qYXZhIChDYXNlSW5zZW5zaXRpdmVDb21wYXJhdG9yKTogSmF2YWRvYyBmaXguCgkqIGphdmEvdXRpbC96aXAvUGVuZGluZ0J1ZmZlci5qYXZhICh0b0J5dGVBcnJheSk6IEphdmFkb2MgZml4LgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL09jZWFuVGhlbWUuamF2YTogTWFyayBhcyAxLjUuCgkqIGphdmEvdXRpbC9sb2dnaW5nL1NpbXBsZUZvcm1hdHRlci5qYXZhIChmb3JtYXQpOiBKYXZhZG9jIGZpeC4KCSogamF2YS91dGlsL3ppcC9aaXBGaWxlLmphdmEgKGdldEVudHJpZXMpOiBKYXZhZG9jIGZpeC4KCjIwMDUtMDktMTMgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhCgkobGlnaHRIaWdobGlnaHQpOiByZW1vdmVkLAoJKGluc3RhbGxEZWZhdWx0cyk6IG9ubHkgdXBkYXRlIGNvbXBvbmVudCBhdHRyaWJ1dGVzIGlmIHRoZXkgYXJlIHRhZ2dlZAoJd2l0aCBVSVJlc291cmNlLCBpbml0aWFsaXNlIGJ1dHRvbiBjb2xvcnMgZnJvbSBjb3JyZWN0IGRlZmF1bHRzLAoJKHVuaW5zdGFsbERlZmF1bHRzKTogb25seSBjbGVhciBhdHRyaWJ1dGVzIHRoYXQgYXJlIHRhZ2dlZCB3aXRoCglVSVJlc291cmNlLgoKMjAwNS0wOS0xMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKEFjY2Vzc2libGVKVHJlZSk6IEFkZGVkIG5ldyBJbm5lciBjbGFzcy4KCShBY2Nlc3NpYmxlSlRyZWUuYWRkQWNjZXNzaWJsZVNlbGVjdGlvbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlLmNsZWFyQWNjZXNzaWJsZVNlbGVjdGlvbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlLmZpcmVWaXNpYmxlRGF0YVByb3BlcnR5Q2hhbmdlKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUuZ2V0QWNjZXNzaWJsZUF0KTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUuZ2V0QWNjZXNzaWJsZUNoaWxkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUuZ2V0QWNjZXNzaWJsZUNoaWxkcmVuQ291bnQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZS5nZXRBY2Nlc3NpYmxlSW5kZXhJblBhcmVudCk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlLmdldEFjY2Vzc2libGVSb2xlKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUuZ2V0QWNjZXNzaWJsZVNlbGVjdGlvbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlLmdldEFjY2Vzc2libGVTZWxlY3Rpb24pOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZS5nZXRBY2Nlc3NpYmxlU2VsZWN0aW9uQ291bnQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZS5pc0FjY2Vzc2libGVDaGlsZFNlbGVjdGVkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUucmVtb3ZlQWNjZXNzaWJsZVNlbGVjdGlvbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlLnNlbGVjdEFsbEFjY2Vzc2libGVTZWxlY3Rpb24pOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZS50cmVlQ29sbGFwc2VkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUudHJlZUV4cGFuZGVkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUudHJlZU5vZGVzQ2hhbmdlZCk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlLnRyZWVOb2Rlc0luc2VydGVkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUudHJlZU5vZGVzUmVtb3ZlZCk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlLnRyZWVTdHJ1Y3R1cmVDaGFuZ2VkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWUudmFsdWVDaGFuZ2VkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlKTogTGlrZXdpc2UuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5hZGRBY2Nlc3NpYmxlU2VsZWN0aW9uKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmFkZEZvY3VzTGlzdGVuZXIpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuYWRkUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5jbGVhckFjY2Vzc2libGVTZWxlY3Rpb24pOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuY29udGFpbnMpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZG9BY2Nlc3NpYmxlQWN0aW9uKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVBY3Rpb24pOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0QWNjZXNzaWJsZUFjdGlvbkNvdW50KTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVBY3Rpb25EZXNjcmlwdGlvbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRBY2Nlc3NpYmxlQXQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0QWNjZXNzaWJsZUNoaWxkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVDaGlsZHJlbkNvdW50KTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVDb21wb25lbnQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0QWNjZXNzaWJsZURlc2NyaXB0aW9uKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVJbmRleEluUGFyZW50KTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVOYW1lKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVQYXJlbnQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0QWNjZXNzaWJsZVJvbGUpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0QWNjZXNzaWJsZVNlbGVjdGlvbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRBY2Nlc3NpYmxlU2VsZWN0aW9uQ291bnQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0QWNjZXNzaWJsZVN0YXRlU2V0KTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVUZXh0KTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEFjY2Vzc2libGVWYWx1ZSk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRCYWNrZ3JvdW5kKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldEJvdW5kcyk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRDdXJzb3IpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0Rm9udCk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRGb250TWV0cmljcyk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRGb3JlZ3JvdW5kKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmdldExvY2FsZSk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRMb2NhdGlvbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRMb2NhdGlvbkluSlRyZWUpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuZ2V0TG9jYXRpb25PblNjcmVlbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5nZXRTaXplKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmlzQWNjZXNzaWJsZUNoaWxkU2VsZWN0ZWQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuaXNFbmFibGVkKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLmlzVmlzaWJsZSk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5yZW1vdmVBY2Nlc3NpYmxlU2VsZWN0aW9uKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLnJlbW92ZUZvY3VzTGlzdGVuZXIpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUucmVtb3ZlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5yZXF1ZXN0Rm9jdXMpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuc2VsZWN0QWxsQWNjZXNzaWJsZVNlbGVjdGlvbik6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5zZXRBY2Nlc3NpYmxlRGVzY3JpcHRpb24pOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuc2V0QWNjZXNzaWJsZU5hbWUpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuc2V0QmFja2dyb3VuZCk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5zZXRCb3VuZHMpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuc2V0Q3Vyc29yKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLnNldEVuYWJsZWQpOiBOZXcgbWV0aG9kLgoJKEFjY2Vzc2libGVKVHJlZU5vZGUuc2V0Rm9udCk6IE5ldyBtZXRob2QuCgkoQWNjZXNzaWJsZUpUcmVlTm9kZS5zZXRGb3JlZ3JvdW5kKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLnNldExvY2F0aW9uKTogTmV3IG1ldGhvZC4KCShBY2Nlc3NpYmxlSlRyZWVOb2RlLnNldFZpc2libGUpOiBOZXcgbWV0aG9kLgoJKHJlbW92ZURlc2NlbmRhbnRUb2dnbGVkUGF0aHMpOiBJbXBsZW1lbnRlZC4KCSh0cmVlRGlkQ2hhbmdlKTogSW1wbGVtZW50ZWQuCgoyMDA1LTA5LTEzICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvamF3dC9qYXd0LmMgKF9Kdl9BV1RMb2NrKTogRG8gbm90aGluZy4KCShfSnZfQVdUVW5sb2NrKTogTGlrZXdpc2UuCgoyMDA1LTA5LTEzICBEYXZpZCBEYW5leSAgPGRkYW5leUBhdnRyZXguY29tPgoKCSogamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0uamF2YTogUmVmb3JtYXRlZCBjb3B5cmlnaHQgbm90aWNlLgoJKHRvU3RyaW5nKGludCkpOiBQYXNzIGNvcnJlY3QgcGFyYW1ldGVycyB0byBTdHJpbmcgY29uc3RydWN0b3IuCgoyMDA1LTA5LTEzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbWJvQm94LmphdmEKCShnZXRQcm90b3R5cGVEaXNwbGF5VmFsdWUpOiBhZGRlZCBBUEkgZG9jcywKCShzZXRQcm90b3R5cGVEaXNwbGF5VmFsdWUpOiBmaXJlIHByb3BlcnR5IGNoYW5nZSBldmVudC4KCQoyMDA1LTA5LTEzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YQoJKEVsZW1lbnRTcGVjKTogTmV3IGlubmVyIGNsYXNzLgoJKEVsZW1lbnRCdWZmZXIuY2hhbmdlKTogQWxzbyBzdG9yZSB0aGUgRGVmYXVsdERvY3VtZW50RXZlbnQuCgkoRWxlbWVudEJ1ZmZlci5zcGxpdCk6IEFsc28gdXBkYXRlIHRoZSBkb2N1bWVudCBldmVudC4KCShFbGVtZW50QnVmZmVyLmluc2VydCk6IE5ldyBtZXRob2QuCgkoRWxlbWVudEJ1ZmZlci5pbnNlcnRVcGRhdGUpOiBOZXcgbWV0aG9kLgoJKEVsZW1lbnRCdWZmZXIuaW5zZXJ0U3RhcnRUYWcpOiBOZXcgbWV0aG9kLgoJKEVsZW1lbnRCdWZmZXIuaW5zZXJ0RW5kVGFnKTogTmV3IG1ldGhvZC4KCShFbGVtZW50QnVmZmVyLmluc2VydENvbnRlbnRUYWcpOiBOZXcgbWV0aG9kLgoJKFNlY3Rpb25FbGVtZW50KTogTmV3IGlubmVyIGNsYXNzLgoJKGNyZWF0ZURlZmF1bHRSb290KTogUmV0dXJuIFNlY3Rpb25FbGVtZW50IGluc3RlYWQgb2YgQnJhbmNoRWxlbWVudC4KCShnZXRQYXJhZ3JhcGhFbGVtZW50KTogT3B0aW1pemVkIGFjY2VzcyB0byBwYXJhZ3JhcGggZWxlbWVudC4KCShzZXRDaGFyYWN0ZXJBdHRyaWJ1dGVzKTogRmlyZSBjaGFuZ2VkVXBkYXRlIGFmdGVyIG1vZGlmaWNhdGlvbi4KCShpbnNlcnRVcGRhdGUpOiBOZXcgbWV0aG9kLgoKMjAwNS0wOS0xMyAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YQoJKHRvU3RyaW5nKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoY2FsY3VsYXRlQWxpZ25lZFBvc2l0aW9ucyk6IFBhcnRseSBpbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCjIwMDUtMDktMTMgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhOiBBZGRlZCBBUEkgY29tbWVudHMgYWxsIG92ZXIuCgoyMDA1LTA5LTEzICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YTogUmVmb3JtYXR0ZWQgZmlsZS4KCSogamF2YXgvc3dpbmcvTGlzdENlbGxSZW5kZXJlci5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvTGlzdFNlbGVjdGlvbk1vZGVsLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9NZW51RWxlbWVudC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvT3ZlcmxheUxheW91dC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvUHJvZ3Jlc3NNb25pdG9yLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9Qcm9ncmVzc01vbml0b3JJbnB1dFN0cmVhbS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvUmVuZGVyZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1JlcGFpbnRNYW5hZ2VyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9Sb290UGFuZUNvbnRhaW5lci5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvU2Nyb2xsYWJsZS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvU2luZ2xlU2VsZWN0aW9uTW9kZWwuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1NpemVTZXF1ZW5jZS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvU3Bpbm5lckxpc3RNb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvVW5zdXBwb3J0ZWRMb29rQW5kRmVlbEV4Y2VwdGlvbi5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvVmlld3BvcnRMYXlvdXQuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1dpbmRvd0NvbnN0YW50cy5qYXZhOiBMaWtld2lzZS4KCjIwMDUtMDktMTIgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIC5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmczogRW5hYmxlIGphdmFkb2Mgd2FybmluZ3MuCgoyMDA1LTA5LTEyICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvVGhyZWFkTG9jYWwuamF2YTogT3JnYW5pemVkIGltcG9ydHMuCgkqIGphdmEvbGFuZy9Eb3VibGUuamF2YTogT3JnYW5pemVkIGltcG9ydHMuCgoyMDA1LTA5LTEyICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCVBSIDIzODE5CgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvU3ViamVjdC5qYXZhIChTZWN1cmVTZXQuPGluaXQ+KTogcmVuYW1lCglpbnB1dCBwYXJlbWV0ZXIgdG8gJ2luRWxlbWVudHMuJwoJKFNlY3VyZVNldC5jb250YWlucyk6IHJldHVybiAnZWxlbWVudHMuY29udGFpbnMsJyBub3QKCSdlbGVtZW50cy5yZW1vdmUuJwoKCVBSIDIzODIyCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvU3ViamVjdERvbWFpbkNvbWJpbmVyLmphdmEKCShjb21iaW5lKTogZG9uJ3QgYWNjZXNzICdzdWJqZWN0JyBpZiBudWxsLgoKMjAwNS0wOS0xMiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhCgkobWtEZXNrdG9wV29ybGQpOiBhZGQgcGFsZXR0ZSBzdHlsZSBmcmFtZSwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVUaXRsZVBhbmUuamF2YQoJKGNsb3NlSWNvbik6IG5ldyBmaWVsZCwKCShpbnN0YWxsTGlzdGVuZXJzKTogY2FsbCBjcmVhdGVQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKCkgdG8gY3JlYXRlIHRoZSAKCW5ldyBsaXN0ZW5lciB0byBhbGxvdyBmb3Igb3ZlcnJpZGluZywKCShpbnN0YWxsRGVmYXVsdHMpOiBzZXQgdGhlIGZvbnQgaW4gdGhlIHRpdGxlLCByZWFkIGNsb3NlSWNvbiBmcm9tIAoJZGVmYXVsdHMsCgkodW5pbnN0YWxsRGVmYXVsdHMpOiBjbGVhciBjbG9zZUljb24sCgkoc2V0QnV0dG9uSWNvbnMpOiBzZXQgaWNvbiBmb3IgY2xvc2VCdXR0b24sCgkocGFpbnRDb21wb25lbnQpOiBzZXQgZm9udCBmb3IgdGl0bGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJbnRlcm5hbEZyYW1lVGl0bGVQYW5lLmphdmEKCShNZXRhbEludGVybmFsRnJhbWVUaXRsZVBhbmVQcm9wZXJ0eUNoYW5nZUhhbmRsZXIpOiBuZXcgc3VwcG9ydCBjbGFzcywKCShNZXRhbFRpdGxlUGFuZUxheW91dCk6IGxpa2V3aXNlLAoJKHBhbGV0dGVUaXRsZUhlaWdodCk6IGluaXRpYWxpc2UgZnJvbSBkZWZhdWx0cyBlbHNld2hlcmUsCgkodGl0bGUpOiBuZXcgcHJpdmF0ZSBmaWVsZCwKCShpbnN0YWxsRGVmYXVsdHMpOiBpbml0aWFsaXNlIHZhcmlvdXMgZGVmYXVsdHMsCgkodW5pbnN0YWxsRGVmYXVsdHMpOiBjbGVhciBkZWZhdWx0cywKCShhZGRTdWJDb21wb25lbnRzKTogYWRkIHN1Yi1jb21wb25lbnRzIHVzZWQgaW4gdGhpcyBsb29rIGFuZCBmZWVsLAoJKGNyZWF0ZUxheW91dCk6IHJldHVybiBuZXcgaW5zdGFuY2Ugb2YgTWV0YWxUaXRsZVBhbmVMYXlvdXQsCgkocGFpbnRQYWxldHRlKTogcmVuZGVycyB0aGUgdGl0bGUgcGFuZSB1c2luZyB0aGUgcGFsZXR0ZSBzdHlsZSwKCShwYWludENvbXBvbmVudCk6IGNhbGwgcGFpbnRQYWxldHRlKCkgaWYgdGhlIGludGVybmFsIGZyYW1lIHVzZXMgdGhlCglwYWxldHRlIHN0eWxlLCBvdGhlcndpc2UgaGFuZGxlIHBhaW50aW5nIHdpdGhvdXQgY2FsbGluZyBzdXBlcmNsYXNzIAoJYW55bW9yZSwKCShzZXRQYWxldHRlKTogdXBkYXRlIHRoZSBpY29uIHZpc2liaWxpdHksCgkoY3JlYXRlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IHJldHVybiBhIG5ldyBjaGFuZ2UgaGFuZGxlciwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEludGVybmFsRnJhbWVVSS5qYXZhCgkoSVNfUEFMRVRURSk6IG5ldyBzdGF0aWMgZmllbGQsCgkoaW5zdGFsbFVJKTogY2hlY2sgSVNfUEFMRVRURSBwcm9wZXJ0eSwKCShjcmVhdGVOb3J0aFBhbmUpOiByZW1vdmVkIGVtcHR5IGJvcmRlciwKCShzZXRQYWxldHRlKTogdXBkYXRlIGJvcmRlciBhcyBhcHByb3ByaWF0ZSwKCShwYWxldHRlTGlzdGVuZXIpOiBuZXcgcHJpdmF0ZSBmaWVsZCwKCShpbnN0YWxsTGlzdGVuZXJzKTogaW5zdGFsbCBhIGxpc3RlbmVyIHRvIGhhbmRsZSBjaGFuZ2VzIGluIHRoZSAKCUlTX1BBTEVUVEUgcHJvcGVydHksCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogY2xlYXIgdGhlIGxpc3RlbmVyIGZyb20gaW5zdGFsbExpc3RlbmVycygpLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IGFkZGVkIGRlZmF1bHRzIGZvciAnRGVza3RvcEljb24uYm9yZGVyJywKCSdJbnRlcm5hbEZyYW1lLnBhbGV0dGVCb3JkZXInLCAnSW50ZXJuYWxGcmFtZS5wYWxldHRlQ2xvc2VJY29uJywgYW5kCgknSW50ZXJuYWxGcmFtZS5wYWxldHRlVGl0bGVIZWlnaHQnLgoJCjIwMDUtMDktMTIgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShwdXRDbGllbnRQcm9wZXJ0eSk6IGZpcmUgcHJvcGVydHkgY2hhbmdlIGV2ZW50LgoKMjAwNS0wOS0xMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pTY3JvbGxQYW5lLmphdmE6CgkoYWRkTm9uTnVsbCk6IENoYW5nZWQgZnJvbSBhZGRpbmcgdG8gY29udGFpbmVyIHdpdGggbm8gY29uc3RyYWludHMgdG8KCWFkZGluZyB0byBjb250YWluZXIgd2l0aCB0aGUgYXBwcm9wcmlhdGUgU2Nyb2xsUGFuZUNvbnN0YW50IGFzIGEgCgljb25zdHJhaW50LiAgVGhpcyBhdm9pZHMgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9ucyBpbiBTY3JvbGxQYW5lTGF5b3V0LgoJKHNldENvbHVtbkhlYWRlcik6IEFkZGVkIGNvbnN0cmFpbnQgdG8gYWRkTm9uTnVsbCBjYWxsLgoJKHNldENvcm5lcik6IExpa2V3aXNlLgoJKHNldEhvcml6b250YWxTY3JvbGxCYXIpOiBMaWtld2lzZS4KCShzZXRSb3dIZWFkZXIpOiBMaWtld2lzZS4KCShzZXRWZXJ0aWNhbFNjcm9sbEJhcik6IExpa2V3aXNlLgoJKHNldFZpZXdwb3J0KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhOgoJKHNldFZpZXdTaXplKTogRG9uJ3Qgc2V0IHRoZSBzaXplIG9yIGZpcmVTdGF0ZUNoYW5nZWQgdW5sZXNzIHRoZSBuZXcgCglzaXplIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvbGQgc2l6ZS4KCShzZXRWaWV3KTogUmVzZXQgaXNWaWV3U2l6ZVNldCB0byBmYWxzZS4KCSogamF2YXgvc3dpbmcvU2Nyb2xsUGFuZUxheW91dDoKCShhZGRTaW5nbGV0b25Db21wb25lbnQpOiBJbXBsZW1lbnRlZCBhbmQgZG9jdW1lbnRlZC4KCShhZGRMYXlvdXRDb21wb25lbnQpOiBUaHJvdyBhbiBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gaWYga2V5IGlzIAoJbm90IG9uZSBvZiB0aGUgYXBwcm9wcmlhdGUgU2Nyb2xsUGFuZUNvbnN0YW50cyBjb25zdGFudHMuICBBZGRlZCBkb2NzLgoJKHNldFZlcnRpY2FsU2Nyb2xsQmFyUG9saWN5KTogTGlrZXdpc2UuCgkoc2V0SG9yaXpvbnRhbFNjcm9sbEJhclBvbGljeSk6IExpa2V3aXNlLgoJKGdldENvcm5lcik6IEFkZGVkIGRvY3MuCgoyMDA1LTA5LTEyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSkNoZWNrQm94LmphdmEKCShBY2Nlc3NpYmxlSkNoZWNrQm94KTogTmV3IGlubmVyIGNsYXNzLgoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhCgkoQWNjZXNzaWJsZUpMYXllcmVkUGFuZSk6IE5ldyBpbm5lciBjbGFzcy4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoKMjAwNS0wOS0xMiAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoZ2V0Q2VsbFJlY3QpOiBEb24ndCBpbmNsdWRlIGNlbGwgZ2FwIGluIGNlbGwgcmVjdGFuZ2xlCgljYWxjdWxhdGlvbi4gSXQncyBhbHJlYWR5IGluY2x1ZGVkIGluIFRhYmxlQ29sdW1uTW9kZWwuZ2V0V2lkdGgoKS4KCShjcmVhdGVEZWZhdWx0Q29sdW1uc0Zyb21Nb2RlbCk6IEluaXRpYWxpemUgdGFibGUgaGVhZGVyIHZhbHVlcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YQoJKHBhaW50KTogRG9uJ3QgaW5jbHVkZSBjZWxsIGdhcCBpbiBjZWxsIHJlY3RhbmdsZQoJY2FsY3VsYXRpb24uIEl0J3MgYWxyZWFkeSBpbmNsdWRlZCBpbiBUYWJsZUNvbHVtbk1vZGVsLmdldFdpZHRoKCkuCgoyMDA1LTA5LTEyICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBvcmcvaWV0Zi9qZ3NzL0dTU0V4Y2VwdGlvbi5qYXZhIChCQURfQklORElOR1MsIEJBRF9NRUNILAoJQkFEX05BTUUsIEJBRF9OQU1FVFlQRSwgQ09OVEVYVF9FWFBJUkVELCBDUkVERU5USUFMU19FWFBJUkVELAoJREVGRUNUSVZFX0NSRURFTlRJQUwsIERFRkVDVElWRV9UT0tFTiwgRFVQTElDQVRFX1RPS0VOLCBGQUlMVVJFLAoJTk9fQ09OVEVYVCwgTk9fQ1JFRCwgT0xEX1RPS0VOKTogVXNlIHZhbHVlcyBmcm9tIEpESywgbm90IFJGQy4KCjIwMDUtMDktMTIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGxpYi9NYWtlZmlsZS5hbSAoSkFWQUMpOiBTcGVjaWZ5IC1zb3VyY2UgMS40IHRvIGVjai4KCjIwMDUtMDktMTIgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsRWRpdG9yLmphdmEKCShpc0NlbGxFZGl0YWJsZSk6IFN0b3BwZWQgdGhlIHRpbWVyIGlmIGl0IGlzIHN0YXJ0ZWQgYW5kCglzaG91bGQgbm90IGJlIHJlc3RhcnRlZC4gVGhpcyBpcyBhIGZpeCBmb3IgdGhlICdjbGljay1wYXVzZS0KCWNsaWNrJyBtZXRob2QgdG8gc3RhcnQgZWRpdGluZy4KCjIwMDUtMDktMTIgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9BV1RVdGlsaXRpZXMuamF2YQoJKGNvbnZlcnRQb2ludCk6IEFkZGVkIGEgY2hlY2sgdG8gZGV0ZXJtaW5lIGlmIHNvdXJjZSBhbmQKCWRlc3RpbmF0aW9uIGNvbXBvbmVudHMgYXJlIHNob3dpbmcuCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YQoJKHNldFZpc2libGUpOiBBZGRlZCBjaGVjayB0byBkZXRlcm1pbmUgaWYgY29tcG9uZW50IGlzIHNob3dpbmcuCgkoc2hvdyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9NZW51U2VsZWN0aW9uTWFuYWdlci5qYXZhCgkoY29tcG9uZW50Rm9yUG9pbnQpOiBBZGRlZCBjaGVjayB0byBkZXRlcm1pbmUgaWYgY29tcG9uZW50IGlzIHNob3dpbmcuCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShzaG93VGlwKTogQWRkZWQgY2hlY2sgdG8gZGV0ZXJtaW5lIGlmIGNvbXBvbmVudCBpcyBzaG93aW5nLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCShtb3VzZVByZXNzZWQpOiBBZGRlZCBjaGVjayB0byBkZXRlcm1pbmUgaWYgY29tcG9uZW50IGlzIHNob3dpbmcuCgoyMDA1LTA5LTEyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEljb25GYWN0b3J5LmphdmEKCShJbnRlcm5hbEZyYW1lQ2xvc2VJY29uLnBhaW50SWNvbik6IGNoYW5nZSBjb2xvcnMgYWNjb3JkaW5nIHRvIGJ1dHRvbgoJc3RhdGUsCgkoSW50ZXJuYWxGcmFtZUFsdE1heGltaXplSWNvbi5wYWludEljb24pOiBsaWtld2lzZSwKCShJbnRlcm5hbEZyYW1lTWF4aW1pemVJY29uLnBhaW50SWNvbik6IGxpa2V3aXNlLAoJKEludGVybmFsRnJhbWVNaW5pbWl6ZUljb24ucGFpbnRJY29uKTogbGlrZXdpc2UuCgoyMDA1LTA5LTEyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YQoJKFRhYmxlSGVhZGVyQm9yZGVyKTogTmV3IGlubmVyIGNsYXNzLgoJKFRleHRGaWVsZEJvcmRlci5wYWludEJvcmRlcik6IE9ubHkgcGFpbnQgdGhlIGFjdGl2ZSBib3JkZXIKCWlmIHRoZSB0ZXh0IGZpZWxkIGlzIGVuYWJsZWQgX2FuZF8gZWRpdGFibGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgZGVmYXVsdCB0byB1c2UgdGhlIG5ldwoJVGFibGVIZWFkZXJCb3JkZXIgZm9yIHRhYmxlIGhlYWRlcnMuCgoyMDA1LTA5LTEyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmE6CgkoZmluZENvbXBvbmVudEZvck1vdXNlRXZlbnRBdCk6IFJlZHVjZWQgdmlzaWJpbGl0eSB0byBwYWNrYWdlLXByaXZhdGUuCgkoZ2V0RGVlcGVzdENvbXBvbmVudEZvck1vdXNlRXZlbnRBdCk6IFJlZHVjZWQgdmlzaWJpbGl0eSB0byAKCXBhY2thZ2UtcHJpdmF0ZSBhbmQgcmVtb3ZlZCBzdGF0aWMgbW9kaWZpZXIuCgoyMDA1LTA5LTEyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YQoJKGRlc2t0b3BJY29uQm9yZGVyKTogbmV3IHByaXZhdGUgZmllbGQsCgkoRGVza3RvcEljb25Cb3JkZXIpOiBuZXcgc3VwcG9ydCBjbGFzcywKCShnZXREZXNrdG9wSWNvbkJvcmRlcik6IGltcGxlbWVudGVkLAoJKEludGVybmFsRnJhbWVCb3JkZXIucGFpbnRCb3JkZXIpOiBjaGFuZ2UgY29sb3Igb2YgbGluZSBoaWdobGlnaHRzIGlmCgl0aGUgaW50ZXJuYWwgZnJhbWUgaXMgc2VsZWN0ZWQuCgkKMjAwNS0wOS0xMiAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9kb20vRG9tRG9jdW1lbnQuamF2YTogSW1wbGVtZW50YXRpb24gb2YgeG1sOmlkIFczQwoJUmVjb21tZW5kYXRpb24uCgoyMDA1LTA5LTEyICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShUYWJsZUNvbHVtblByb3BlcnR5Q2hhbmdlSGFuZGxlcik6IE5ldyBpbm5lciBjbGFzcy4gSGFuZGxlcwoJY2hhbmdlcyBvZiBjb2x1bW4gd2lkdGhzLgoJKEpUYWJsZShUYWJsZU1vZGVsLCBUYWJsZUNvbHVtbk1vZGVsLCBMaXN0U2VsZWN0aW9uTW9kZWwpKToKCUNoZWNrIGlmIGNvbHVtbiBtb2RlbCA9PSBudWxsIGFuZCBpZiBzbywgY3JlYXRlIGEgZGVmYXVsdCBtb2RlbC4KCShpbml0aWFsaXplTG9jYWxWYXJzKTogQ2hhbmdlZCB0byB1c2UgY3JlYXRlRGVmYXVsdENvbHVtbnNGcm9tTW9kZWwKCWluc3RlYWQgb2YgY3JlYXRlQ29sdW1uc0Zyb21Nb2RlbC4KCShhZGRDb2x1bW4pOiBBZGQgcHJvcGVydHkgY2hhbmdlIGhhbmRsZXIgdG8gbmV3IGNvbHVtbi4KCShjcmVhdGVDb2x1bW5zRnJvbU1vZGVsKTogUmVtb3ZlZCByZWR1bmRhbnQgcHJpdmF0ZSBtZXRob2QuCglVc2UgdGhlIHB1YmxpYyBjcmVhdGVEZWZhdWx0Q29sdW1uc0Zyb21Nb2RlbCBpbnN0ZWFkLgoJKHRhYmxlQ2hhbmdlZCk6IFVzZSBjcmVhdGVEZWZhdWx0Q29sdW1uc0Zyb21Nb2RlbCBpbnN0ZWFkIG9mCgljcmVhdGVDb2x1bW5zRnJvbU1vZGVsLgoJKHNldE1vZGVsKTogVXNlIGNyZWF0ZURlZmF1bHRDb2x1bW5zRnJvbU1vZGVsIGluc3RlYWQgb2YKCWNyZWF0ZUNvbHVtbnNGcm9tTW9kZWwuCgkoZG9MYXlvdXQpOiBXaGVuIGhhbmRsaW5nIEFVVE9fUkVTSVpFX09GRiwgdGhlbiBhZGp1c3QgdGhlCglzaXplIG9mIHRoZSByZXNpemluZyBjb2x1bW4gdG8gaXQncyAobmV3KSBwcmVmZXJyZWQgc2l6ZS4KCShjcmVhdGVEZWZhdWx0Q29sdW1uc0Zyb21Nb2RlbCk6IEFkZGVkIGFzc2VydGlvbiB0byBtYWtlIHN1cmUKCXRoYXQgdGhlIGNvbHVtbiBtb2RlbCBpcyBub3QgbnVsbC4gQWRkIHByb3BlcnR5IGNoYW5nZSBoYW5kbGVyCgl0byBuZXcgY29sdW1ucy4KCSogamF2YXgvc3dpbmcvdGFibGUvVGFibGVDb2x1bW4uamF2YQoJKHNldFdpZHRoKTogRmlyZSBwcm9wZXJ0eSBjaGFuZ2Ugd2l0aCBuYW1lICd3aWR0aCcgaW5zdGVhZAoJb2YgdXNpbmcgdGhlIChvYnNvbGV0ZSkgY29uc3RhbnQgZmllbGQgQ09MVU1OX1dJRFRIX1BST1BFUlRZLgoJKHNldFByZWZlcnJlZFdpZHRoKTogTWFrZSB0aGlzIHByb3BlcnR5IGEgYm91bmQgcHJvcGVydHkuCgoyMDA1LTA5LTExICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgc3dpbmcvMjI5MjIKCSogamF2YS9hd3QvZXZlbnQvSW5wdXRFdmVudC5qYXZhIChtb2RpZmllcnNFeCk6IE5ldyBmaWVsZC4KCShJbnB1dEV2ZW50KTogQXNzdW1lIG1vZGlmaWVycyBwYXJhbWV0ZXIgY29udGFpbnMgYm90aCBuZXctIGFuZAoJb2xkLXN0eWxlIG1hc2tzLgoJKGlzU2hpZnREb3duKTogQ2hlY2sgbW9kaWZpZXJzIGZvciBvbGQtc3R5bGUgc2hpZnQgbWFzayBhbmQKCW1vZGlmaWVyc0V4IGZvciBuZXctc3R5bGUgc2hpZnQgbWFzay4KCShpc0NvbnRyb2xEb3duKTogTGlrZXdpc2UgZm9yIGNvbnRyb2wgbWFzay4KCShpc01ldGFEb3duKTogTGlrZXdpc2UgZm9yIG1ldGEgbWFzay4KCShpc0FsdERvd24pOiBMaWtld2lzZSBmb3IgYWx0IG1hc2suCgkoaXNBbHRHcmFwaERvd24pOiBMaWtld2lzZSBmb3IgYWx0LWdyYXBoIG1hc2suCgkoZ2V0TW9kaWZpZXJzKTogUmV0dXJuIHZhbHVlIG9mIG1vZGlmaWVycyBmaWVsZC4KCShnZXRNb2RpZmllcnNFeCk6IFJldHVybiB2YWx1ZSBvZiBtb2RpZmllcnNFeCBmaWVsZC4KCSogamF2YS9hd3QvZXZlbnQvTW91c2VFdmVudC5qYXZhCgkoTW91c2VFdmVudChDb21wb25lbnQsaW50LGxvbmcsaW50LGludCxpbnQsaW50LGJvb2xlYW4saW50KSk6CglDbGVhciBidXR0b24gbmV3LXN0eWxlIG1hc2sgZm9yIG1vdXNlIHJlbGVhc2VkIGV2ZW50cy4KCShwYXJhbVN0cmluZyk6IFJlbW92ZSBvbGQtc3R5bGUgbW9kaWZpZXIgaGFuZGxpbmcuCgkocmVhZE9iamVjdCk6IEV4dGVuZCBtb2RpZmllcnMgYW5kIGFzc2lnbiB0byBtb2RpZmllcnNFeC4KCSogamF2YS9hd3QvZXZlbnQvS2V5RXZlbnQuamF2YSAocmVhZE9iamVjdCk6IEV4dGVuZCBtb2RpZmllcnMgYW5kCglhc3NpZ24gdG8gbW9kaWZpZXJzRXguCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ3RrcGVlci5oOiBEZWZpbmUgbWFjcm9zIGZvciBuZXctc3R5bGUgbW91c2UKCW1hc2tzLiAgRGVmaW5lIG1hY3JvcyBmb3Igb2xkLXN0eWxlIGtleSBtYXNrcy4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jOgoJUmVtb3ZlIG1hY3JvcyBmb3Igb2xkLXN0eWxlIGtleSBtYXNrcy4KCShidXR0b25fdG9fYXd0X21vZHMpOiBBbHdheXMgcmV0dXJuIGJpdHdpc2UgT1Igb2YgbmV3LSBhbmQKCW9sZC1zdHlsZSBtb2RpZmllcnMuCgkoY3BfZ3RrX3N0YXRlX3RvX2F3dF9tb2RzKTogTGlrZXdpc2UuCgkoc3RhdGVfdG9fYXd0X21vZHNfd2l0aF9idXR0b25fc3RhdGVzKTogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKGtleWV2ZW50X3N0YXRlX3RvX2F3dF9tb2RzKTogTGlrZXdpc2UuCgoyMDA1LTA5LTExICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBtNC9hY2luY2x1ZGUubTQgKENMQVNTUEFUSF9DSEVDS19HQ0opOiBDaGVjayBmb3IgZ2NqIDQgd2l0aAoJI2lmIF9fR05VQ19fIDw9IDMuCgoyMDA1LTA5LTExICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBsaWIvZ2VuLWNsYXNzbGlzdC5zaC5pbjogVXNlIHNvcnQgLXIgdG8gd29yayBhcm91bmQgYnVnICMyMTQxOC4KCjIwMDUtMDktMTEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL25pby9jaGFubmVscy9GaWxlQ2hhbm5lbEltcGwuamF2YSAoZmluYWxpemUpOiBDaGVjayB3aGV0aGVyCglmZCAhPSAtMSBiZWZvcmUgY2FsbGluZyBjbG9zZSgpLgoKMjAwNS0wOS0xMCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCb3JkZXJzLmphdmEKCShQYWxldHRlQm9yZGVyKTogbmV3IGNsYXNzLgoJCjIwMDUtMDktMTAgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSWNvbkZhY3RvcnkuamF2YQoJKFBhbGV0dGVDbG9zZUljb24pOiBuZXcgY2xhc3MuCgoyMDA1LTA5LTEwICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEludGVybmFsRnJhbWVVSS5qYXZhOgoJKGluc3RhbmNlcyk6IHJlbW92ZWQsCgkoY3JlYXRlVUkpOiBqdXN0IHJldHVybiBuZXcgaW5zdGFuY2UsCglBUEkgZG9jcyBhbGwgb3Zlci4KCQoyMDA1LTA5LTEwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhIChmYWlsX2cyZCk6IE5ldyBtZXRob2QuCgkoR2RrR3JhcGhpY3MyRChHZGtHcmFwaGljczJEKSk6IENhbGwgZmFpbF9nMmQgaWYgR3JhcGhpY3MyRCBub3QKCXNwZWNpZmllZC4KCShHZGtHcmFwaGljczJEKGludCxpbnQpKTogTGlrZXdpc2UuCgkoR2RrR3JhcGhpY3MyRChHdGtDb21wb25lbnRQZWVyKSk6IExpa2V3aXNlLgoKMjAwNS0wOS0xMCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L0VtYmVkZGVkV2luZG93LmphdmEgKGFkZE5vdGlmeSk6IFRocm93CglBc3NlcnRpb25FcnJvciBpZiBmaWVsZCBhY2Nlc3MgZmFpbHMuCgoyMDA1LTA5LTA5ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhIChzdGF0aWMpOiBSZWluZGVudAoJc2Vjb25kIGVycm9yIG1lc3NhZ2UuCgoyMDA1LTA5LTA5ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgYXd0LzIzNjkyCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEgKHN0YXRpYyk6IE9ubHkgY2FsbAoJaW5pdFN0YXRpY1N0YXRlIGlmIHVzaW5nIEdyYXBoaWNzMkQuICBPdGhlcndpc2UgcHJpbnQgZXJyb3IgYW5kCglleGl0LgoJKHNldENsaXAoU2hhcGUpKTogSWYgY2xpcCA9PSBudWxsIGFuZCBjb21wb25lbnQgPT0gbnVsbCwgZG8KCW5vdGhpbmcuCgoyMDA1LTA5LTA5ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YQoJKEdka0dyYXBoaWNzKEd0a0NvbXBvbmVudFBlZXIpKTogU2V0IGZvbnQgZmllbGQgdG8gYSBzZW5zaWJsZQoJZGVmYXVsdCBpZiBjb21wb25lbnQgZm9udCBpcyBudWxsLgoKMjAwNS0wOS0wOSAgS2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KCgkqIHZtL3JlZmVyZW5jZS9nbnUvY2xhc3NwYXRoL2pkd3AvVk1JZE1hbmFnZXIuamF2YSAobmV3T2JqZWN0SWQpOiAKCVNldCB0aGUgcmVmZXJlbmNlIGZvciB0aGUgSUQuCgoyMDA1LTA5LTA5ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L1ZtRGVhdGhFdmVudC5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMDktMDkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglGb3IgUFIgbGliZ2NqLzIzMjg4OgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhIChkZWZpbmVQYWNrYWdlKTogQ29ycmVjdGx5IG9yZGVyCglhcmd1bWVudHMgdG8gZGVmaW5lUGFja2FnZS4gIExvb2sgdXAgcGVyLWVudHJ5IEF0dHJpYnV0ZXMuCgkoZ2V0QXR0cmlidXRlVmFsdWUpOiBOZXcgbWV0aG9kLgoKMjAwNS0wOS0wOSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhIChpbnN0YWxsVUkpOiBJbnN0YWxsCglkZWZhdWx0cyBhZnRlciBpbml0aWFsaXppbmcgdHJlZS4KCjIwMDUtMDktMDkgIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvQ1NTLmphdmEKCU5ldyBmaWxlLiBEZWZpbmVzIHN0YW5kYXJkIENTUyBhdHRyaWJ1dGVzLgoKMjAwNS0wOS0wOSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvV2luZG93LmphdmEgKGlzRGlzcGxheWFibGUpOiBEbyBub3QgY2FsbCBzdXBlcidzCglpc0Rpc3BsYXlhYmxlLgoKMjAwNS0wOS0wOSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCVBSIHN3aW5nLzIzNzk2CgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtEaWFsb2dQZWVyLmphdmEKCShjcmVhdGUpOiBSZXNwZWN0IGRpYWxvZydzIGRlY29yYXRlZCBmbGFnLgoKMjAwNS0wOS0wOSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCVBSIHN3aW5nLzIzNTU4CgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHdpbmRvd19nZXRfbmV3X3N0YXRlKTogUmVtb3ZlIGZ1bmN0aW9uLgoJKHdpbmRvd19nZXRfbmV3X3N0YXRlKTogTWFyayB3aWRnZXQgcGFyYW1ldGVyIGFzIHVudXNlZC4gIFJlbW92ZQoJY2FsbCB0byB3aW5kb3dfZ2V0X25ld19zdGF0ZS4KCSh3aW5kb3dfYWN0aXZlX3N0YXRlX2NoYW5nZV9jYik6IFJlbW92ZSBmdW5jdGlvbi4KCShjb25uZWN0U2lnbmFscyk6IERvIG5vdCBjb25uZWN0IHdpbmRvd19hY3RpdmVfc3RhdGVfY2hhbmdlX2NiCgljYWxsYmFjay4KCjIwMDUtMDktMDkgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCglQUiBzd2luZy8yMzc5NgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEgKGNyZWF0ZSk6IFJlc3BlY3QKCWZyYW1lJ3MgZGVjb3JhdGVkIGZsYWcuCgoyMDA1LTA5LTA5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBGaXhlZCBtZXRob2Qgc2lnbmF0dXJlLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogTGlrZXdpc2UuCgkodW5pbnN0YWxsVUkpOiBGaXhlZCBjYWxsIHRvIHVuaW5zdGFsbERlZmF1bHRzLgoJKGluc3RhbGxVSSk6IEZpeGVkIGNhbGwgdG8gaW5zdGFsbERlZmF1bHRzLgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEKCShIZWF2eVdlaWdodFBvcHVwKTogRml4ZWQgdG8gZXh0ZW5kIEpEaWFsb2csIHNpbmNlCglub3RoaW5nIGlzIGFkZGVkIHRvIHRoZSB0YXNrYmFyIHdpdGggSkRpYWxvZy4gQWxzbywgCglmaXhlZCBzbyB0aGUgcG9wdXAgbWVudSBpcyB1bmRlY29yYXRlZC4gRnJhbWVzIGFuZAoJdGl0bGUgYmFycyBzaG91bGQgbm90IGJlIGRyYXduLCB3aGVuIHBvcHVwIGlzIGEgCglIZWF2eVdlaWdodFBvcHVwLiBBIG5ldyBidWcgd2FzIGZpbGVkIHNpbmNlIHRoZQoJZGVjb3JhdGVkIGFuZCB1bmRlY29yYXRlZCBmcmFtZXMgYXJlIGFsbCBkcmF3biAKCWFsaWtlLgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YQoJKHNldFdpbmRvd0RlY29yYXRpb25TdHlsZSk6IEFkZGVkIGNoZWNrIGZvcgoJUExBSU5fRElBTE9HLgoKMjAwNS0wOS0wOSAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgdGhlIHJlbWFpbmluZyBjb2xvciBkZWZhdWx0cy4KCjIwMDUtMDktMDkgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoYWRkVVJMSW1wbCk6IFN5bmNocm9uaXplIG9uIHRoZQoJbG9hZGVyLgoJKHRvU3RyaW5nKTogTGlrZXdpc2UuCgoyMDA1LTA5LTA5ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9sb2dpbi9Db25maWd1cmF0aW9uLmphdmEKCShnZXRDb25maWd1cmF0aW9uKTogQ2FsbCBnZXRDb25maWcoKSBpbnN0ZWFkIG9mIGRvaW5nIHRoZSB3b3JrLgoJKGdldENvbmZpZyk6IEluc3RhbnRpYXRlIHRoZSBjb25maWd1cmF0aW9uIHByb3ZpZGVyLgoKMjAwNS0wOS0wOSAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L1Byb3h5LmphdmEKCShwYWNrKTogSW5pdGlhbGl6ZSBmaWVsZC4KCjIwMDUtMDktMDkgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmE6IFJlbW92ZWQgc3RhdGljIGluaXRpYWxpemVyLgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhOiBSZW1vdmVkIHN0YXRpYyBpbml0aWFsaXplci4KCSogdm0vcmVmZXJlbmNlL2phdmEvaW8vVk1PYmplY3RJbnB1dFN0cmVhbS5qYXZhOiBBZGRlZCBzdGF0aWMKCWluaXRpYWxpemVyLgoJKG9pc0NsYXNzLCB2bW9pc0NsYXNzKTogUmVtb3ZlZCB1bnVzZWQgZmllbGRzLgoJKiB2bS9yZWZlcmVuY2UvamF2YS9pby9WTU9iamVjdFN0cmVhbUNsYXNzLmphdmE6IEFkZGVkIHN0YXRpYwoJaW5pdGlhbGl6ZXIuCgoyMDA1LTA5LTA5ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiByZS1hZGRlZCAnU2Nyb2xsQmFyLndpZHRoJyBkZWZhdWx0LgoJCjIwMDUtMDktMDkgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQXJyb3dCdXR0b24uamF2YQoJKGJ1dHRvbkJvcmRlci5wYWludEJvcmRlcik6IGZpeGVkIGRyYXdpbmcgaXNzdWVzLAoJKGdldE1heGltdW1TaXplKTogcmV0dXJuIGNvbnN0YW50IHZhbHVlLAoJKGdldE1pbmltdW1TaXplKTogbGlrZXdpc2UsCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IGxpa2V3aXNlLgoJCjIwMDUtMDktMDkgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCglQUiBzd2luZy8yMzU1OAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhCgkoRm9jdXNIYW5kbGVyLmZvY3VzTG9zdCk6IERvIG5vdCBjYWxsIHBvcHVwLmhpZGUuCgoyMDA1LTA5LTA4ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhIChzdGF0aWMpOiBGaXggdHlwbwoJKEdyYWhpY3MgLT4gR3JhcGhpY3MpLgoKMjAwNS0wOS0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9DbGFzc3BhdGhTd2luZ0FjdGl2aXR5Qm9hcmQubGF1bmNoOgoJTmV3IGZpbGUuCgoyMDA1LTA5LTA4ICBSb21hbiBLZW5ua2UgIDxrZW5ua2VAYWljYXMuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShNZXRhbExvb2tBbmRGZWVsKTogT25seSBsb2FkIGRlZmF1bHQgdGhlbWUgaWYgbm8gdGhlbWUgaGFzIGJlZW4KCXNldCBiZWZvcmUuCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogRml4ZWQgYW5kIGFkZGVkIGNvbG9yIGRlZmF1bHQgdmFsdWVzCglmb3IgdmFyaW91cyBjb21wb25lbnRzLgoKMjAwNS0wOS0wOCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhOgoJKGZpbmRDb21wb25lbnRGb3JNb3VzZUV2ZW50QXQpOiBSZW1vdmVkIGNoZWNrIGZvciBvcGFjaXR5LgoKMjAwNS0wOS0wOCAgS2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvVmlydHVhbE1hY2hpbmVDb21tYW5kU2V0LmphdmEKCShleGVjdXRlVmVyc2lvbik6IE1ham9yIGFuZCBtaW5vciB2ZXJzaW9uIGFyZSBpbnRlZ2Vycywgbm90IGJ5dGVzLgoKMjAwNS0wOS0wOCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhOgoJKGZpbmRDb21wb25lbnRGb3JNb3VzZUV2ZW50QXQpOiBOZXcgaW1wbGVtZW50YXRpb24gbWV0aG9kLgoJKGdldERlZXBlc3RDb21wb25lbnRGb3JNb3VzZUV2ZW50QXQpOiBOZXcgaW1wbGVtZW50YXRpb24gbWV0aG9kLgoJKGFjcXVpcmVDb21wb25lbnRGb3JNb3VzZUV2ZW50KTogUmVwbGFjZWQgY2FsbCB0bwoJQVdUVXRpbGl0aWVzLmdldERlZXBlc3RDb21wb25lbnRBdCB3aXRoIGNhbGwgdG8gbmV3IGltcGxlbWVudGF0aW9uCgltZXRob2QgZ2V0RGVlcGVzdENvbXBvbmVudEF0IHRvIGFwcHJvcHJpYXRlbHkgaGFuZGxlIHRyYW5zcGFyZW50Cgljb21wb25lbnRzIHdpdGggbm8gTW91c2VMaXN0ZW5lcnMgYXR0YWNoZWQuCgkKMjAwNS0wOS0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogLmNsYXNzcGF0aDogRW5hYmxlIGNvbXBpbGF0aW9uIG9mIGpkd3AuCgoyMDA1LTA5LTA4ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9BcnJheVJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YQoJKHJ1bkNvbW1hbmQpOiBSZXR1cm4gdmFsdWUgaXMgdHJ1ZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSBiYWNrLWVuZAoJc2hvdWxkIHNodXRkb3duOyBub3Qgd2hldGhlciBpdCBzaG91bGQgc3RheSBhbGl2ZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9BcnJheVR5cGVDb21tYW5kU2V0LmphdmEKCShydW5Db21tYW5kKTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQ2xhc3NMb2FkZXJSZWZlcmVuY2VDb21tYW5kU2V0LmphdmEKCShydW5Db21tYW5kKTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQ2xhc3NUeXBlQ29tbWFuZFNldC5qYXZhCgkocnVuQ29tbWFuZCk6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0V2ZW50UmVxdWVzdENvbW1hbmRTZXQuamF2YQoJKHJ1bkNvbW1hbmQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9NZXRob2RDb21tYW5kU2V0LmphdmEgKHJ1bkNvbW1hbmQpOgoJTGlrZXdpc2UKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9PYmplY3RSZWZlcmVuY2VDb21tYW5kU2V0LmphdmEKCShydW5Db21tYW5kKTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvUmVmZXJlbmNlVHlwZUNvbW1hbmRTZXQuamF2YQoJKHJ1bkNvbW1hbmQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9TdGFja0ZyYW1lQ29tbWFuZFNldC5qYXZhCgkocnVuQ29tbWFuZCk6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL1N0cmluZ1JlZmVyZW5jZUNvbW1hbmRTZXQuamF2YQoJKHJ1bkNvbW1hbmQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9UaHJlYWRHcm91cFJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YQoJKHJ1bkNvbW1hbmQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9UaHJlYWRSZWZlcmVuY2VDb21tYW5kU2V0LmphdmEKCShydW5Db21tYW5kKTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvVmlydHVhbE1hY2hpbmVDb21tYW5kU2V0LmphdmEKCShydW5Db21tYW5kKTogTGlrZXdpc2UuCgoyMDA1LTA5LTA4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQGdtYWlsLmNvbT4KCQoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmE6CglGaXhlcyBCdWcgI1BSMjM1MzMKCShzZXRWaXNpYmxlKTogQWRqdXN0ZWQgcG9wdXAgbWVudSdzIGxvY2F0aW9uCglkZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGhlIHNjcmVlbi4KCjIwMDUtMDktMDggIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIE1ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogQWRkIGF1dG9nZW4uc2gKCSogbGliL3N0YW5kYXJkLm9taXQ6IFJlbW92ZSBnbnUvY2xhc3NwYXRoL2pkd3AsIGdudS94bWwvc3RyZWFtIGFuZAoJamF2YXgveG1sL3N0cmVhbS4KCSogdm0vcmVmZXJlbmNlL3N0YW5kYXJkLm9taXQ6IFJlbW92ZWQuCgoyMDA1LTA5LTA4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiAuY2xhc3NwYXRoOiBPbWl0IG1vcmUgZGlyZWN0b3JpZXMgYW5kIGZpbGVzLgoJKiAuc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LmNvcmUucHJlZnM6IENvbXBpbGUgdG8gMS40IHBsYXRmb3JtLgoJKiAuc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LnVpLnByZWZzOiBMaWtld2lzZS4KCjIwMDUtMDktMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL09jZWFuVGhlbWUuamF2YQoJTmV3IGNsYXNzLiBJbXBsZW1lbnRzIHRoZSBvY2VhbiB0aGVtZSBmb3IgTWV0YWwuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoY3JlYXRlRGVmYXVsdFRoZW1lKTogTWFkZSBPY2VhbiB0aGUgZGVmYXVsdCB0aGVtZSBhcyBpbiBKREsxLjUuCgoyMDA1LTA5LTA4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEljb25GYWN0b3J5LmphdmEKCShGaWxlQ2hvb3NlckRldGFpbFZpZXdJY29uKTogbmV3IHByaXZhdGUgY2xhc3MsCgkoRmlsZUNob29zZXJIb21lRm9sZGVySWNvbik6IGxpa2V3aXNlLAoJKEZpbGVDaG9vc2VyTGlzdFZpZXdJY29uKTogbGlrZXdpc2UsCgkoRmlsZUNob29zZXJOZXdGb2xkZXJJY29uKTogbGlrZXdpc2UsCgkoRmlsZUNob29zZXJVcEZvbGRlckljb24pOiBsaWtld2lzZSwKCShnZXRGaWxlQ2hvb3NlckRldGFpbFZpZXdJY29uKTogaW1wbGVtZW50ZWQsCgkoZ2V0RmlsZUNob29zZXJIb21lRm9sZGVySWNvbik6IGltcGxlbWVudGVkLAoJKGdldEZpbGVDaG9vc2VyTGlzdFZpZXdJY29uKTogaW1wbGVtZW50ZWQsCgkoZ2V0RmlsZUNob29zZXJOZXdGb2xkZXJJY29uKTogaW1wbGVtZW50ZWQsCgkoZ2V0RmlsZUNob29zZXJVcEZvbGRlckljb24pOiBpbXBsZW1lbnRlZC4KCjIwMDUtMDktMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShmb3JlZ3JvdW5kKTogUmVtb3ZlZCB0aGlzIGZpZWxkLiBUaGlzIGlzIGJldHRlciBzdG9yZWQKCWluIHRoZSB0ZXh0IGNvbXBvbmVudCBpdHNlbGYuCgkoaW5hY3RpdmVGb3JlZ3JvdW5kKTogUmVtb3ZlZCB0aGlzIGZpZWxkLiBUaGlzIGlzIHN0b3JlZAoJaW4gdGhlIGRpc2FibGVkVGV4dENvbG9yIHByb3BlcnR5IG9mIHRoZSB0ZXh0IGNvbXBvbmVudC4KCShpbnN0YWxsRGVmYXVsdHMpOiBMb2FkIGZvcmVncm91bmQgYW5kIGRpc2FibGVkVGV4dENvbG9yCglwcm9wZXJ0aWVzIGZyb20gVUlEZWZhdWx0cy4gUmVtb3ZlIGNhbGwgdG8gdXBkYXRlQ29tcG9uZW50Q29sb3JzLgoJKHBhaW50QmFja2dyb3VuZCk6IFNldCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGNvbG9yIGhlcmUuCgkodXBkYXRlQ29tcG9uZW50Q29sb3IpOiBSZW1vdmVkIHRoaXMgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkoZGlzYWJsZWRDb2xvcik6IE5ldyBmaWVsZC4gU3RvcmVzIHRoZSB0ZXh0IGNvbG9yIGZvciBkaXNhYmxlZAoJdGV4dCBmaWVsZHMuCgkoZHJhd1Vuc2VsZWN0ZWRUZXh0KTogUmVzcGVjdCB0aGUgJ2VuYWJsZWQnIHByb3BlcnR5IG9mCgl0aGUgdGV4dCBjb21wb25lbnQuCgkocGFpbnQpOiBGZXRjaCB0aGUgZGlzYWJsZWQgY29sb3Igb2YgdGhlIHRleHQgY29tcG9uZW50LgoKMjAwNS0wOS0wOCAgUm9tYW4gS2VubmtlICA8a2VubmtlQGFpY2FzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKFVwZGF0ZUhhbmRsZXIucHJvcGVydHlDaGFuZ2VkKTogQWxzbyB1cGRhdGUgY29sb3JzIGlmIHRoZQoJJ2VkaXRhYmxlJyBwcm9wZXJ0eSBpcyBjaGFuZ2VkLgoJKHVwZGF0ZUNvbXBvbmVudENvbG9ycyk6IENvcnJlY3RseSBoYW5kbGUgZWRpdGFibGUgdnMuIGVuYWJsZWQKCWNoYW5nZXMuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogRml4ZWQgY29sb3IgZGVmYXVsdHMgZm9yIFRleHRGaWVsZHMKCXRvIHVzZSB0aGUgY3VycmVudCB0aGVtZS4KCjIwMDUtMDktMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShVcGRhdGVIYW5kbGVyLnByb3BlcnR5Q2hhbmdlZCk6IFVwZGF0ZSB0aGUgY29tcG9uZW50cyBjb2xvcnMKCXdoZW4gdGhlIHN0YXRlIG9mIHRoZSAnZW5hYmxlZCcgcHJvcGVydHkgY2hhbmdlcy4KCShmb3JlZ3JvdW5kKTogTmV3IGZpZWxkIHRoYXQgc3RvcmVzIHRoZSBmb3JlZ3JvdW5kIGNvbG9yLgoJKGJhY2tncm91bmQpOiBOZXcgZmllbGQgdGhhdCBzdG9yZXMgdGhlIGJhY2tncm91bmQgY29sb3IuCgkoaW5hY3RpdmVGb3JlZ3JvdW5kKTogTmV3IGZpZWxkIHRoYXQgc3RvcmVzIHRoZSBpbmFjdGl2ZQoJZm9yZWdyb3VuZCBjb2xvci4KCShpbmFjdGl2ZUJhY2tncm91bmQpOiBOZXcgZmllbGQgdGhhdCBzdG9yZXMgdGhlIGluYWN0aXZlCgliYWNrZ3JvdW5kIGNvbG9yLgoJKHVwZGF0ZUNvbXBvbmVudENvbG9ycyk6IE5ldyBtZXRob2QuIFVwZGF0ZXMgdGhlIHRleHQKCWNvbXBvbmVudHMnIGNvbG9ycyBhY2NvcmRpbmcgdG8gdGhlIHN0YXRlIG9mIHRoZSAnZW5hYmxlZCcKCXByb3BlcnR5LgoJKGluc3RhbGxEZWZhdWx0cyk6IExvYWQgdGhlIGRlZmF1bHRzIGZvciB0aGUgY29tcG9uZW50IGNvbG9ycy4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBkZWZhdWx0cyBmb3IgVGV4dEZpZWxkIGNvbG9ycwoJYW5kIGJvcmRlci4KCjIwMDUtMDktMDggIFJvbWFuIEtlbm5rZSAgPGtlbm5rZUBhaWNhcy5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0dhcENvbnRlbnQuamF2YQoJRml4ZXMgQnVnICMyMjk2Ni4KCShHYXBDb250ZW50UG9zaXRpb24uZ2V0T2Zmc2V0KTogQWRkZWQgYXNzZXJ0aW9uIHRvIGNoZWNrIGZvcgoJY29uc2lzdGVudCBzdGF0ZSBvZiB0aGUgUG9zaXRpb24uIEZpeGVkIGNvbmRpdGlvbiBpbiBpZi1zdGF0ZW1lbnQuCgkoc2VyaWFsVmVyc2lvblVJRCk6IFVwZGF0ZWQgc2VyaWFsVmVyc2lvblVJRCB0byBtYXRjaCBKREsxLjUuCgkoc2hpZnRHYXApOiBJZiBnYXBTdGFydCA9PSBuZXdHYXBTdGFydCwgdGhlbiByZXR1cm4gaW1tZWRpYXRseS4KCjIwMDUtMDktMDggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IGFkZGVkICdTY3JvbGxCYXIud2lkdGgnIGRlZmF1bHQsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTY3JvbGxCYXJVSS5qYXZhCgkoTWV0YWxTY3JvbGxCYXJQcm9wZXJ0eUNoYW5nZUhhbmRsZXIpOiBuZXcgY2xhc3MsCgkoRlJFRV9TVEFORElOR19QUk9QKTogYWRkZWQsCgkoTUlOX1RIVU1CX1NJWkUpOiBtb2RpZmllZCBkaW1lbnNpb25zLAoJKGluY3JlYXNlQnV0dG9uKTogbmV3IGZpZWxkLAoJKGRlY3JlYXNlQnV0dG9uKTogbmV3IGZpZWxkLAoJKHNjcm9sbEJhcldpZHRoKTogbmV3IGZpZWxkLAoJKGlzRnJlZVN0YW5kaW5nKTogbmV3IGZpZWxkLAoJKGNyZWF0ZVVJKToganVzdCByZXR1cm4gYSBuZXcgaW5zdGFuY2UsCgkoaW5zdGFsbERlZmF1bHRzKTogaW1wbGVtZW50ZWQsCgkoY3JlYXRlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IGltcGxlbWVudGVkLAoJKGNyZWF0ZURlY3JlYXNlQnV0dG9uKTogaW1wbGVtZW50ZWQsCgkoY3JlYXRlSW5jcmVhc2VCdXR0b24pOiBpbXBsZW1lbnRlZCwKCShwYWludFRyYWNrKTogaW1wbGVtZW50ZWQsCgkocGFpbnRUcmFja0hvcml6b250YWwpOiBuZXcgcHJpdmF0ZSBtZXRob2QsCgkocGFpbnRUcmFja1ZlcnRpY2FsKTogbmV3IHByaXZhdGUgbWV0aG9kLAoJKHBhaW50VGh1bWIpOiB1cGRhdGVkLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsQnV0dG9uLmphdmE6IGltcGxlbWVudGVkLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVXRpbHMuamF2YQogICAgICAgIChmaWxsTWV0YWxQYXR0ZXJuKTogbW9kaWZpZWQgYWx0ZXJuYXRpbmcgY29sb3IgY2FsY3VsYXRpb24uCgoyMDA1LTA5LTA4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhCgkocmVhZE9iamVjdCk6IFJlbW92ZWQgcHJpbnRsbiBhbmQgZml4ZWQgUHJveHkgY2xhc3MgZGVzY3JpcHRvcgoJZGVzZXJpYWxpemF0aW9uLgoJKHJlc29sdmVQcm94eUNsYXNzKTogVXNlIENsYXNzLmZvck5hbWUoKSBpbnN0ZWFkIG9mIGNhbGxpbmcKCUNsYXNzTG9hZGVyLmxvYWRDbGFzcygpIGRpcmVjdGx5LgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhCgkod3JpdGVDbGFzc0Rlc2NyaXB0b3IpOiBBZGRlZCBzdXBwb3J0IGZvciBzZXJpYWxpemluZyBQcm94eQoJY2xhc3MgZGVzY3JpcHRvci4KCjIwMDUtMDktMDggIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZheC9uYW1pbmcvQ29tcG91bmROYW1lLmphdmEKCShyZWFkT2JqZWN0LCB3cml0ZU9iamVjdCk6IE5ldyBtZXRob2RzLgoKMjAwNS0wOS0wNyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvU3ByaW5nTGF5b3V0LmphdmE6CglGaXhlcyBCdWcgI1BSMjMwMDMKCShnZXRDb25zdHJhaW50cyk6IFdpZHRoIGFuZCBoZWlnaHQgc2hvdWxkIGFsd2F5cwoJYmUgcmVzZXQsIGV2ZW4gaWYgY29uc3RyYWludHMgaXMgbm90IG51bGwuIENvbnN0cmFpbnRzCglkZWFsIHdpdGggdGhlIGxvY2F0aW9uIG9mIHRoZSBjb21wb25lbnQuCgoyMDA1LTA5LTA3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0dhcENvbnRlbnQuamF2YToKCUZpeGVzIEJ1ZyAjUFIyMjk2NgoJKGdldE9mZnNldCk6IEZpeGVkIGNoZWNrLCB3YXMgcmVkdW5kYW50LgoKMjAwNS0wOS0wNyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmE6CglGaXhlcyBCdWcgI1BSMjI5NjYKCShnZXRPZmZzZXQpOiBBZGRlZCBjaGVjayBmb3IgbWFyayA8PSBnYXBFbmQKCjIwMDUtMDktMDcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KQXBwbGV0LmphdmEKCShBY2Nlc3NpYmxlSkFwcGxldCk6IE5ldyBpbm5lciBjbGFzcy4KCShnZXRBY2Nlc2libGVDb250ZXh0KTogSW1wbGVtZW50ZWQgYWNjZXNzaWJpbGl0eSBzdXBwb3J0LgoJKiBqYXZheC9zd2luZy9KRGlhbG9nLmphdmEKCShBY2Nlc3NpYmxlSkRpYWxvZyk6IE5ldyBpbm5lciBjbGFzcy4KCShnZXRBY2Nlc2libGVDb250ZXh0KTogSW1wbGVtZW50ZWQgYWNjZXNzaWJpbGl0eSBzdXBwb3J0LgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YQoJKEFjY2Vzc2libGVKRnJhbWUpOiBOZXcgaW5uZXIgY2xhc3MuCgkoZ2V0QWNjZXNpYmxlQ29udGV4dCk6IEltcGxlbWVudGVkIGFjY2Vzc2liaWxpdHkgc3VwcG9ydC4KCSogamF2YXgvc3dpbmcvSldpbmRvdy5qYXZhCgkoQWNjZXNzaWJsZUpXaW5kb3cpOiBOZXcgaW5uZXIgY2xhc3MuCgkoZ2V0QWNjZXNpYmxlQ29udGV4dCk6IEltcGxlbWVudGVkIGFjY2Vzc2liaWxpdHkgc3VwcG9ydC4KCjIwMDUtMDktMDcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KUGFuZWwuamF2YQoJKEFjY2Vzc2libGVKUGFuZWwpOiBOZXcgaW5uZXIgY2xhc3MuCgkoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCjIwMDUtMDktMDcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KUGFuZWwuamF2YTogUmVmb3JtYXR0ZWQgdG8gbWF0Y2ggb3VyIGNvZGluZwoJc3RhbmRhcmRzLgoKMjAwNS0wOS0wNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhCgkoQWNjZXNzaWJsZUpWaWV3cG9ydCk6IE5ldyBpbm5lciBjbGFzcy4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IE5ldyBtZXRob2QuIEltcGxlbWVudHMgdGhlIEFjY2Vzc2libGUKCWludGVyZmFjZSBmb3IgSlZpZXdwb3J0LgoKMjAwNS0wOS0wNyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJY29uRmFjdG9yeS5qYXZhCgkoSG9yaXpvbnRhbFNsaWRlclRodW1iSWNvbi5wYWludEljb24pOiBoYW5kbGUgZGlzYWJsZWQgY29tcG9uZW50IHN0YXRlLAoJYW5kIGZldGNoIGNvbG9ycyBmcm9tIHRoZSBsb29rIGFuZCBmZWVsLAoJKFZlcnRpY2FsU2xpZGVyVGh1bWJJY29uLnBhaW50SWNvbik6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2xpZGVyVUkuamF2YQoJKE1ldGFsUHJvcGVydHlMaXN0ZW5lcik6IGltcGxlbWVudGVkLAoJKGNvbnN0cnVjdG9yKTogYWRkZWQgY29sb3IgaW5pdGlhbGlzYXRpb24sCgkoY3JlYXRlVUkpOiByZWltcGxlbWVudGVkIHRvIHJldHVybiBhIG5ldyBpbnN0YW5jZSBldmVyeSB0aW1lLAoJKGNyZWF0ZVByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiByZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgCglNZXRhbFByb3BlcnR5TGlzdGVuZXIsCgkocGFpbnRUcmFjayk6IHJlaW1wbGVtZW50ZWQgdG8gaGFuZGxlIHRyYWNrIGZpbGwgb3B0aW9uLCBhbmQgdGhlIAoJZGlzYWJsZWQgY29tcG9uZW50IHN0YXRlLAoJKHBhaW50TWlub3JUaWNrRm9ySG9yaXpTbGlkZXIpOiBmZXRjaCBjb2xvcnMgZnJvbSBsb29rIGFuZCBmZWVsLAoJKHBhaW50TWFqb3JUaWNrRm9ySG9yaXpTbGlkZXIpOiBsaWtld2lzZSwKCShwYWludE1pbm9yVGlja0ZvclZlcnRTbGlkZXIpOiBsaWtld2lzZSwKCShwYWludE1ham9yVGlja0ZvclZlcnRTbGlkZXIpOiBsaWtld2lzZS4KCQoyMDA1LTA5LTA3ICBSb2JlcnQgU2NodXN0ZXIgIDxyb2JlcnRzY2h1c3RlckBmc2ZlLm9yZz4KCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9jb21wb25lbnRldmVudC5jcHA6IEFkZGVkIGluY2x1c2lvbgoJb2YgYXNzZXJ0LmgKCjIwMDUtMDktMDcgIFJvYmVydCBTY2h1c3RlciAgPHJvYmVydHNjaHVzdGVyQGZzZmUub3JnPgoKCSogSU5TVEFMTDogTWVudGlvbiB0aGF0IEdDSjQgaXMgbm93IG1hbmRhdG9yeS4KCjIwMDUtMDktMDcgIFJvYmVydCBTY2h1c3RlciAgPHJvYmVydHNjaHVzdGVyQGZzZmUub3JnPgoKCSogamF2YXgvc3dpbmcvQm94LmphdmE6IEFkZGVkIGphdmEuYXd0LkNvbnRhaW5lciBpbXBvcnQgc3RhdGVtZW50LgoKMjAwNS0wOS0wNiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogYWRkZWQgc29tZSBSYWRpb0J1dHRvbiBkZWZhdWx0cywKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFJhZGlvQnV0dG9uVUkuamF2YQoJKGluc3RhbmNlKTogcmVtb3ZlZCwKCShmb2N1c0NvbG9yKTogYWRkZWQsCgkoc2VsZWN0Q29sb3IpOiBhZGRlZCwKCShkaXNhYmxlZFRleHRDb2xvcik6IGFkZGVkLAoJKGNyZWF0ZVVJKTogcmV0dXJuIGEgbmV3IGluc3RhbmNlIGZvciBldmVyeSBjb21wb25lbnQsCgkoaW5zdGFsbERlZmF1bHRzKTogaW1wbGVtZW50ZWQsCgkodW5pbnN0YWxsRGVmYXVsdHMpOiBpbXBsZW1lbnRlZCwKCShnZXRTZWxlY3RDb2xvcik6IGltcGxlbWVudGVkLAoJKGdldERpc2FibGVkVGV4dENvbG9yKTogaW1wbGVtZW50ZWQsCgkoZ2V0Rm9jdXNDb2xvcik6IGltcGxlbWVudGVkLAoJKHBhaW50KTogYWRkZWQgRklYTUUgbm90ZSwKCShwYWludEZvY3VzKTogaW1wbGVtZW50ZWQuCgoyMDA1LTA5LTA2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkKCUZpeGVzIEJ1ZyAjUFIyMzAyMyAKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ZpbGVDaG9vc2VyVUkuamF2YToKCUFkZGVkIDIgZmllbGRzIGFuZCByZWZvcm1hdHRlZCBjb3B5cmlnaHQuCgkoYWN0aW9uUGVyZm9ybWVkKTogU2hvdWxkIGJlIGFibGUgdG8gb3BlbiBkaXJlY3Rvcmllcy4KCShtb3VzZUNsaWNrZWQpOiBTZXQgdGV4dCBpbiB0ZXh0IGZpZWxkLgoJKGluc3RhbGxVSSk6IEluaXRpYWxpemVkIHRoZSBjdXJyZW50IHBhcmVudCBwYXRoLgoJKGluc3RhbGxDb21wb25lbnRzKTogRml4ZWQgaW5pdGlhbGl6YXRpb24gZm9yIHRleHQgZmllbGQuCQoKMjAwNS0wOS0wNiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ZpbGVDaG9vc2VyVUkuamF2YToKCUZvcm1hdHRlZCBlbnRpcmUgY2xhc3MuCgoyMDA1LTA5LTA2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBjb25maWd1cmUuYWM6IFNldCB2ZXJzaW9uIHRvIDAuMTktcHJlLgoKCSogZG9jL3d3dy5nbnUub3JnL2Fubm91bmNlLzIwMDUwOTA2LndtbDogTmV3IGZpbGUuCgkqIGRvYy93d3cuZ251Lm9yZy9uZXdzaXRlbXMudHh0OiBBZGQgMC4xOCByZWxlYXNlIGFubm91bmNlbWVudC4KCSogZG9jL3d3dy5nbnUub3JnL2Rvd25sb2Fkcy9kb3dubG9hZHMud21sOiBBZGQgMC4xOC4KCjIwMDUtMDktMDYgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9Cb3guamF2YQoJKEFjY2Vzc2libGVCb3gpOiBFeHRlbmQgQ29udGFpbmVyLkFjY2Vzc2libGVBV1RDb250YWluZXIuCgkoRmlsbGVyLkFjY2Vzc2libGVCb3hGaWxsZXIpOiBFeHRlbmQgQ29tcG9uZW50LkFjY2Vzc2libGVBV1RDb21wb25lbnQuCgkoRmlsbGVyLmdldEFjY2Vzc2libGVDb250ZXh0KTogVW5jb21tZW50IGRpc2FibGVkIGNvZGUuCgkoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBVbmNvbW1lbnQgZGlzYWJsZWQgY29kZS4KCSogamF2YXgvc3dpbmcvSlJvb3RQYW5lLmphdmE6CglKUm9vdFBhbmUgaW1wbGVtZW50cyBBY2Nlc3NpYmxlLgoJKEFjY2Vzc2libGVKUm9vdFBhbmUpOiBFeHRlbmQgQWNjZXNzaWJsZUpDb21wb25lbnQuCgoyMDA1LTA5LTA2ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEljb25GYWN0b3J5LmphdmEKCShSYWRpb0J1dHRvbkljb24uZHJhd0NoZWNrKTogcmVtb3ZlZCwKCShSYWRpb0J1dHRvbkljb24ucGFpbnRJY29uKTogcmVpbXBsZW1lbnRlZCwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBhZGRlZCBkZWZhdWx0cyBmb3IgSlJhZGlvQnV0dG9uLgoJCjIwMDUtMDktMDYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglGaXhlcyBCdWcgI1BSMjAwMTUKCSogamF2YXgvc3dpbmcvSk1lbnVCYXIuamF2YQoJKGdldFVJQ2xhc3NJRCk6IEZpeGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUJhclVJLmphdmE6CglBZGRlZCBhIHByaXZhdGUgZmllbGQgZm9yIHRoZSBtb3VzZSBsaXN0ZW5lci4KCShCYXNpY01lbnVCYXJVSSk6IEluaXRpYWxpemVkIG1vdXNlTGlzdGVuZXIuCgkoaW5zdGFsbExpc3RlbmVycyk6IEFkZGVkIG1vdXNlTGlzdGVuZXIuCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogUmVtb3ZlZCBtb3VzZUxpc3RlbmVyLgoJKE1vdXNlSW5wdXRIYW5kbGVyKTogTmV3IGNsYXNzIGFkZGVkLgoJKG1vdXNlQ2xpY2tlZCk6IEFkZGVkIGNvZGUgdG8gZGVzZWxlY3QgbWVudSBpdGVtcwoJd2hlbiBtZW51IGJhciBpcyBjbGlja2VkLgkKCjIwMDUtMDktMDYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CglGaXhlcyBCdWcgI1BSMjM1MjcgCgkocGFpbnRNZW51SXRlbSk6IE1vdmVkIHZpZXcgcmVjdGFuZ2xlIG92ZXIgdG8gdGhlIAoJbGVmdCB0aGUgc2FtZSBhbW91bnQgYXMgZGVmYXVsdFRleHRJY29uR2FwIHNvIHRoZQoJYWNjZWxlcmF0b3IgaXMgcGFpbnRlZCB3aXRoIHNvbWUgc3BhY2Ugb24gdGhlIHJpZ2h0LgoKMjAwNS0wOS0wNiAgTGlsbGlhbiBBbmdlbCA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhOgoJRm9ybWF0dGVkIGNsYXNzLgoKMjAwNS0wOS0wNiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJOgoJRml4ZXMgQnVnIFBSMjM1MjkuCgkoaW5zdGFsbFVJKTogQ2hhbmdlZCBkZWxheSBmb3IgVGltZXIuIFdhcyBzZXQgdG9vCglsb25nIGFuZCBhY3Rpb25QZXJmb3JtZWQgd2FzIG5vdCBiZWluZyBjYWxsZWQgZmFzdAoJZW5vdWdoIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoZSBzY3JvbGwgYmFyLiBUaGlzCglpcyBiZWNhdXNlIHRoZSB0aW1lciBpcyBzdG9wcGVkIGFmdGVyIHRoZSBtb3VzZSBpcwoJcmVsZWFzZWQuCgoyMDA1LTA5LTA2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBORVdTOiBBZGQgbmV3IGZlYXR1cmVzIGZvciAwLjE4LgoJKiBjb25maWd1cmUuYWM6IFNldCB2ZXJzaW9uIHRvIDAuMTguCgoyMDA1LTA5LTA2ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAoU1lOQ0hST05JWkVfR0RLKTogRGVmaW5lLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0LmMgKGd0a0luaXQpCglbU1lOQ0hST05JWkVfR0RLXTogTWFrZSBHREsgc3luY2hyb25vdXMuCgoyMDA1LTA5LTA1ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgYXd0LzIwNzIwCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKGdldF9maXJzdF9rZXl2YWxfZnJvbV9rZXltYXApOiBSZXR1cm4gLTEgaWYgbm8ga2V5dmFsIHdhcyBmb3VuZAoJZm9yIGdpdmVuIGhhcmR3YXJlIGtleWNvZGUuCgkoa2V5c3ltX3RvX2F3dF9rZXljb2RlKTogTGlrZXdpc2UuCgkoa2V5c3ltX3RvX2F3dF9rZXlsb2NhdGlvbik6IExpa2V3aXNlLgoJKGtleV9wcmVzc19jYik6IFJldHVybiBpbW1lZGlhdGVseSBpZiBubyBrZXl2YWwgd2FzIGZvdW5kIGZvcgoJZ2l2ZW4gaGFyZHdhcmUga2V5Y29kZS4KCShrZXlfcmVsZWFzZV9jYik6IExpa2V3aXNlLgoKMjAwNS0wOS0wNSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogbmF0aXZlL2puaS9NYWtlZmlsZS5hbSAoYWxsLWxvY2FsKTogSW52b2tlICQoU0hFTEwpIHRvIGV4ZWN1dGUKCXRoZSBzY3JpcHQuCgoJKiBzY3JpcHRzL2NoZWNrX2puaV9tZXRob2RzLnNoOiBNYWtlIHNjcmlwdCB3b3JraW5nIHdpdGggbm9uIEdOVQoJZ3JlcCB2ZXJzaW9ucy4KCjIwMDUtMDktMDUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9ldmVudC9Eb2N1bWVudEV2ZW50LmphdmE6CgkoRWxlbWVudENoYW5nZSkgTWFkZSBpbm5lciBpbnRlcmZhY2Ugc3RhdGljIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWNzLgoKMjAwNS0wOS0wNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pEZXNrdG9wUGFuZS5qYXZhOiBGaXhlZCB0eXBvIGluIGNsYXNzIGRlc2NyaXB0aW9uLgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhOiBSZW1vdmVkIHVubmVlZGVkIGltcG9ydC4KCUFkZGVkIGNsYXNzIGRlc2NyaXB0aW9uLgoJKiBqYXZheC9zd2luZy9KRGlhbG9nLmphdmE6IE1hZGUgY2xhc3MgZGVzY3JpcHRpb24gbW9yZSB1c2VmdWwuCgkqIGphdmF4L3N3aW5nL0pGaWxlQ2hvb3Nlci5qYXZhOiBBZGRlZCBjbGFzcyBkZXNjcmlwdGlvbi4KCSogamF2YXgvc3dpbmcvSkZvcm1hdHRlZFRleHRGaWVsZC5qYXZhOiBBZGRlZCBjbGFzcyBkZXNjcmlwdGlvbi4KCShBYnN0cmFjdEZvcm1hdHRlcik6IExpa2V3aXNlLgoJKEFic3RyYWN0Rm9ybWF0dGVyRmFjdG9yeSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YTogTWFkZSBjbGFzcyBkZXNjcmlwdGlvbiBtb3JlIHVzZWZ1bC4KCjIwMDUtMDktMDUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9ldmVudC9Eb2N1bWVudEV2ZW50LmphdmE6CglSZWluZGVudGVkIGZpbGUgdG8gY29uZm9ybSB0byBvdXIgY29kaW5nIHN0YW5kYXJkcy4KCjIwMDUtMDktMDUgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvc3RyZWFtL1hNTEV2ZW50QWxsb2NhdG9ySW1wbC5qYXZhLAoJZ251L3htbC9zdHJlYW0vWE1MSW5wdXRGYWN0b3J5SW1wbC5qYXZhLAoJZ251L3htbC9zdHJlYW0vWE1MU3RyZWFtUmVhZGVySW1wbC5qYXZhOiBWYXJpb3VzIGZpeGVzIGZyb20gc3lzdGVtCgl0ZXN0aW5nLgoJKiBqYXZheC94bWwvbmFtZXNwYWNlL1FOYW1lLmphdmE6IEF2b2lkIHVubmVjZXNzYXJ5IHRlc3QuCgoyMDA1LTA5LTA1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBsaWIvc3RhbmRhcmQub21pdDogQWRkIGdudS94bWwvc3RyZWFtIGFuZCBqYXZheC94bWwvc3RyZWFtLgoJKiBORVdTOiBEZXNjcmliZSBVbnRlc3RlZC9EaXNhYmxlZCBuZXcgZmVhdHVyZXMuCgoyMDA1LTA5LTA0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBjb25maWd1cmUuYWMgKEFDX0NPTkZJR19GSUxFUyk6IEFkZCBleGFtcGxlcy9NYWtlZmlsZS5qYXd0LgoJKiBleGFtcGxlcy8uY3ZzaWdub3JlOiBBZGQgTWFrZWZpbGUuamF3dC4KCSogZXhhbXBsZXMvTWFrZWZpbGUuYW0gKEVYQU1QTEVfQ19GSUxFUyk6IE5ldyB2YXJpYWJsZS4KCShBTExfRVhBTVBMRV9GSUxFUyk6IExpa2V3aXNlLgoJKGluc3RhbGwtZGF0YS1sb2NhbCk6IFVzZSBBTExfRVhBTVBMRV9GSUxFUyBhbmQgYWRkIE1ha2VmaWxlLmphd3QuCgkodW5pbnN0YWxsLWxvY2FsKTogTGlrZXdpc2UuCgkoRVhUUkFfRElTVCk6IEFkZCBNYWtlZmlsZS5hd3QuaW4uCgkqIGV4YW1wbGVzL01ha2VmaWxlLmphd3QuaW46IE5ldyBmaWxlLgoJKiBleGFtcGxlcy9SRUFETUU6IEFkZCBqYXd0IGluc3RydWN0aW9ucy4KCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9qYXd0L0RlbW9KQVdULmMKCShKYXZhX0RlbW9KQVdUX3BhaW50KTogUmVuYW1lIHRvCglKYXZhX2dudV9jbGFzc3BhdGhfZXhhbXBsZXNfamF3dF9EZW1vSkFXVF9wYWludEl0LgoJKEphdmFfZ251X2NsYXNzcGF0aF9leGFtcGxlc19qYXd0X0RlbW9KQVdUX3BhaW50SXQpOiBGbGlwIGZvcmVncm91bmQKCWNvbG9yIGJhc2VkIG9uIG9uIHBhcmFtZXRlci4KCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9qYXd0L0RlbW9KQVdULmphdmEgKHBhaW50KTogUmVuYW1lZAoJcGFpbnRJdC4KCShwYWludCk6IENhbGwgcGFpbnRJdC4KCShvbik6IE5ldyBib29sZWFuIGZpZWxkLgoJKG1haW4pOiBBZGQgRnJhbWUgbmFtZSwgc3dpdGNoIG9uIHZhcmlhYmxlIGV2ZXJ5IDAuNSBzZWNvbmRzIGFuZCBjYWxsCglGcmFtZS5yZXBhaW50KCkuCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvamF3dC9NYWtlZmlsZTogUmVtb3ZlZC4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoaW5jbHVkZV9IRUFERVJTKTogTmV3IGZvciBqbmkuaCwgam5pX21kLmgsCglqYXd0LmggYW5kIGphd3RfbWQuaC4KCjIwMDUtMDktMDUgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9Qcm94eS5qYXZhCgkoc2FtZVR5cGVzKTogUmVtb3ZlZC4KCShlcXVhbHMpOiBGaXhlZCBidWcgIzIzNzI3LgoKMjAwNS0wOS0wNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L2ZpbHRlcnMvQ2xhc3NNYXRjaEZpbHRlci5qYXZhCgkobWF0Y2hlcyk6IFJlbW92ZSBJbnZhbGlkQ2xhc3NFeGNlcHRpb24gc2luY2UgaXQgaXMgbmV2ZXIgdGhyb3duLgoJKiB2bS9yZWZlcmVuY2UvZ251L2NsYXNzcGF0aC9qZHdwL1ZNSWRNYW5hZ2VyLmphdmEKCShuZXdSZWZlcmVuY2VUeXBlSWQpOiBPbmx5IHJldHVybiBudWxsIHdoZW4gU29mdFJlZmVyZW5jZSBpcyBjbGVhcmVkLAoJZG9uJ3QgY2F0Y2ggSW5zdGFudGlhdGlvbkV4Y2VwdGlvbiBvciBJbGxlZ2FsQWNjZXNzRXhjZXB0aW9uIHNpbmNlCgl0aGV5IGFyZSBuZXZlciB0aHJvd24uCgoyMDA1LTA5LTA0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9OYW1pbmdTZXJ2aWNlVHJhbnNpZW50LmphdmE6IFJlLXVuLWluZGVudAoJYm9pbGVycGxhdGUuCgoyMDA1LTA5LTA0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvQ09SQkEvSW50ZXJjZXB0b3IvUmVnaXN0cmF0b3IuamF2YSAobV9wcmVmaXgpOiBNYXJrIHN0YXRpYy4KCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRCdXR0b25QZWVyLmphdmE6IFJlcGxhY2UgdXNlcyBvZgoJdG9vbGtpdC5ldmVudFF1ZXVlLnBvc3RFdmVudCgpIHdpdGggUXRUb29sa2l0LmV2ZW50UXVldWUucG9zdEV2ZW50KCkuCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q2hlY2tib3hQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdENob2ljZVBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q29tcG9uZW50UGVlci5qYXZhOiBMaWtld2lzZSBhbmQgc2ltaWxhcgoJZm9yIGd1aVRocmVhZCBhbmQgZ3JhcGhpY3NFbnYuCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0TGlzdFBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0TWVudUl0ZW1QZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdE1lbnVQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFNjcm9sbGJhclBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0VGV4dEFyZWFQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFRleHRGaWVsZFBlZXIuamF2YTogTGlrZXdpc2UuCgoyMDA1LTA5LTA0ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBkb2MvUkVBRE1FLmpheHA6IFVwZGF0ZWQgSkFYUCBkb2N1bWVudGF0aW9uIGZvciBTdEFYLgoJKiBqYXZheC94bWwvc3RyZWFtL1hNTEV2ZW50RmFjdG9yeS5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL1hNTElucHV0RmFjdG9yeS5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL1hNTE91dHB1dEZhY3RvcnkuamF2YTogVXNlIEdOVSBpbXBsZW1lbnRhdGlvbiBieQoJZGVmYXVsdC4KCjIwMDUtMDktMDQgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCglGaXggZm9yIGJ1ZyAjMjM2NTMKCSogbGliL01ha2VmaWxlLmFtIChtZXRhZmlsZXMpOiBVc2UgZmluZCAtbmFtZSAtcHJ1bmUgbm90IC1wYXRoLgoKMjAwNS0wOS0wNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogTkVXUzogQWRkIGRlc2NyaXB0aW9uIG9mIG5ldyBhd3QuZGF0YXRyYW5zZmVyIGZ1bmN0aW9uYWxpdHkuCgoyMDA1LTA5LTA0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKExlYWZFbGVtZW50LkxlYWZFbGVtZW50KTogU2V0IHN0YXJ0UG9zIGFuZCBlbmRQb3MgdGhyb3VnaAoJY3JlYXRlUG9zaXRpb24oKSBpZiBwYXJlbnQgaXMgbnVsbC4KCjIwMDUtMDktMDQgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvc3RyZWFtOiBTdEFYIGltcGxlbWVudGF0aW9uLgoKMjAwNS0wOS0wNCAgR3VpbGhlbSBMYXZhdXggIDxndWlsaGVtQGthZmZlLm9yZz4KCgkqIGphdmEvbGFuZy9JbnRlZ2VyLmphdmEKCShwYXJzZUludCk6IEFkZGVkIHNvbWUgbWVzc2FnZXMgdG8gdGhlIGV4Y2VwdGlvbiB0aHJvd24gYnkgdGhpcwoJbWV0aG9kLgoKMjAwNS0wOS0wNCAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogamF2YXgveG1sL3N0cmVhbS9YTUxFdmVudEZhY3RvcnkuamF2YSwKCSogamF2YXgveG1sL3N0cmVhbS9YTUxFdmVudFdyaXRlci5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL1hNTElucHV0RmFjdG9yeS5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL1hNTE91dHB1dEZhY3RvcnkuamF2YSwKCSogamF2YXgveG1sL3N0cmVhbS9YTUxSZXNvbHZlci5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL1hNTFN0cmVhbUNvbnN0YW50cy5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL2V2ZW50cy9BdHRyaWJ1dGUuamF2YSwKCSogamF2YXgveG1sL3N0cmVhbS9ldmVudHMvRW5kRW50aXR5LmphdmEsCgkqIGphdmF4L3htbC9zdHJlYW0vZXZlbnRzL0VudGl0eURlY2xhcmF0aW9uLmphdmEsCgkqIGphdmF4L3htbC9zdHJlYW0vZXZlbnRzL0VudGl0eVJlZmVyZW5jZS5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL2V2ZW50cy9TdGFydEVudGl0eS5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL2V2ZW50cy9YTUxFdmVudC5qYXZhLAoJKiBqYXZheC94bWwvc3RyZWFtL3V0aWwvRXZlbnRSZWFkZXJEZWxlZ2F0ZS5qYXZhOgoJU3RBWCBBUEkgY2hhbmdlcyB0byBjb25mb3JtIHRvIEpXU0RQIDEuNS4KCjIwMDUtMDktMDMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglGaXhlcyBidWcgIzIzNzAxCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NsaXBib2FyZC5jCgkoY2xpcGJvYXJkX293bmVyX2NoYW5nZV9jYik6IE9ubHkgdXNlZCB3aGVuIEdUS19NSU5PUl9WRVJTSU9OID4gNC4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDbGlwYm9hcmRfaW5pdE5hdGl2ZVN0YXRlKToKCU9ubHkgcmVxdWVzdCBvd25lci1jaGFuZ2UgZXZlbnRzIGZvciBHVEtfTUlOT1JfVkVSU0lPTiA+IDQuCgkoY2xpcGJvYXJkX2dldF9mdW5jKTogT25seSBoYW5kbGUgcGl4YnVmIGFuZCB1cmkgd2hlbgoJR1RLX01JTk9SX1ZFUlNJT04gPiA0LgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NsaXBib2FyZF9hZHZlcnRpc2VDb250ZW50KTogT25seSBjYWxsCglndGtfdGFyZ2V0X2xpc3RfYWRkXyogZnVuY3Rpb25zIHdoZW4gR1RLX01JTk9SX1ZFUlNJT04gPiA0LiBTaW1pbGFyCglmb3IgZ3RrX2NsaXBib2FyZF9zZXRfY2FuX3N0b3JlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZS5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2VfZHJhd1BpeGVsc1NjYWxlZEZsaXBwZWQpOiBNYXJrCglmbGlweCBhbmQgZmxpcHkgdW51c2VkIGZvciBHVEtfTUlOT1JfVkVSU0lPTiA8PSA0LgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtTZWxlY3Rpb24uYwoJKGNsaXBib2FyZF90YXJnZXRzX3JlY2VpdmVkKTogRG9uJ3QgaGFuZGxlIGltYWdlcyBmb3IKCUdUS19NSU5PUl9WRVJTSU9OIDw9IDQuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrU2VsZWN0aW9uX3JlcXVlc3RJbWFnZSk6IExpa2V3aXNlLgoJKGNsaXBib2FyZF91cmlzX3JlY2VpdmVkKTogTGlrZXdpc2UgZm9yIHRleHQvdXJpLWxpc3QuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrU2VsZWN0aW9uX3JlcXVlc3RVUklzKTogTGlrZXdpc2UuCgoyMDA1LTA5LTAzICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBhdXRvZ2VuLnNoOiBEb2N1bWVudCBsaWJ0b29sIHZlcnNpb24gbmVlZGVkIGZvciBEYXJ3aW4uCgkoTElCVE9PTElaRSk6IERvbid0IHNwZWNpYWwgY2FzZSBEYXJ3aW4sIGFsd2F5cyB1c2UgbGlidG9vbGl6ZS4KCjIwMDUtMDktMDMgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGphdmF4L3htbC9zdHJlYW0sCgkqIGphdmF4L3htbC9zdHJlYW0vZXZlbnRzLAoJKiBqYXZheC94bWwvc3RyZWFtL3V0aWw6CglOZXcgU3RBWCBBUEkgY2xhc3Nlcy4KCjIwMDUtMDktMDIgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdHJhbnNwb3J0L0lUcmFuc3BvcnQuamF2YSAoc2h1dGRvd24pOiBOZXcgbWV0aG9kLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdHJhbnNwb3J0L0pkd3BDb25uZWN0aW9uLmphdmEgKEpkd3BDb25uZWN0aW9uKToKCUFkZCBUaHJlYWRHcm91cCBhcmd1bWVudC4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3RyYW5zcG9ydC9Tb2NrZXRUcmFuc3BvcnQuamF2YSAoc2h1dGRvd24pOgoJTmV3IG1ldGhvZC4KCjIwMDUtMDktMDIgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvSmR3cC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL0pkd3BDb25zdGFudHMuamF2YTogTmV3IGZpbGUuCgkqIHZtL3JlZmVyZW5jZS9nbnUvY2xhc3NwYXRoL2pkd3AvVk1WaXJ0dWFsTWFjaGluZS5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMDktMDIgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0NvbW1hbmRTZXQuamF2YSBbdm1dOiBSZW1vdmUuCglWTVZpcnR1YWxNYWNoaW5lIGlzIGVudGlyZWx5IHN0YXRpYy4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L0V2ZW50TWFuYWdlci5qYXZhIChyZXF1ZXN0RXZlbnQpCgkoZGVsZXRlUmVxdWVzdCwgY2xlYXJSZXF1ZXN0cyk6IENoYW5nZSBhbGwgVk1WaXJ0dWFsTWFjaGluZSBjYWxscwoJdG8gcmVmbGVjdCBuZXcgQVBJLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0NsYXNzTG9hZGVyUmVmZXJlbmNlQ29tbWFuZFNldC5qYXZhCgkoZXhlY3V0ZVZpc2libGVDbGFzc2VzKTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQ2xhc3NUeXBlQ29tbWFuZFNldC5qYXZhCgkoaW52b2tlTWV0aG9kKTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvTWV0aG9kQ29tbWFuZFNldC5qYXZhCgkoZXhlY3V0ZUxpbmVUYWJsZSwgZXhlY3V0ZVZhcmlhYmxlVGFibGUpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9PYmplY3RSZWZlcmVuY2VDb21tYW5kU2V0LmphdmEKCShleGVjdXRlSW52b2tlTWV0aG9kKTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvUmVmZXJlbmNlVHlwZUNvbW1hbmRTZXQuamF2YQoJKGV4ZWN1dGVTb3VyY2VGaWxlLCBleGVjdXRlU3RhdHVzKTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvU3RhY2tGcmFtZUNvbW1hbmRTZXQuamF2YQoJKGV4ZWN1dGVHZXRWYWx1ZXMsICxleGVjdXRlU2V0VmFsdWVzLCBleGVjdXRlVGhpc09iamVjdCk6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL1RocmVhZFJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YQoJKGV4ZWN1dGVTdXNwZW5kLCBleGVjdXRlUmVzdW1lLCBleGVjdXRlU3RhdHVzLCBleGVjdXRlRnJhbWVzKQoJKGV4ZWN1dGVGcmFtZUNvdW50LCBleGVjdXRlU3VzcGVuZENvdW50KTogTGlrZXdpc2UuCQoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL1ZpcnR1YWxNYWNoaW5lQ29tbWFuZFNldC5qYXZhCgkoZXhlY3V0ZUNsYXNzZXNCeVNpZ25hdHVyZSwgZXhlY3V0ZUNsYXNzZXNCeVNpZ25hdHVyZSkKCShleGVjdXRlQWxsQ2xhc3NlcywgZXhlY3V0ZURpc3Bvc2UsIGV4ZWN1dGVTdXNwZW5kKQoJKGV4ZWN1dGVSZXN1bWUpOiBMaWtld2lzZS4KCjIwMDUtMDktMDIgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRPcGVyYXRpb25zLmphdmE6CglEbyBub3QgaW5oZXJpdCBmcm9tIENPUkJBIG9iamVjdC4KCSogb3JnL29tZy9Db3NOYW1pbmcvX05hbWluZ0NvbnRleHRFeHRJbXBsQmFzZS5qYXZhIChfbWV0aG9kcyksCgkqIG9tZy9Db3NOYW1pbmcvX05hbWluZ0NvbnRleHRJbXBsQmFzZS5qYXZhIChtZXRob2RzKToKCU1hZGUgcGFja2FnZSBwcml2YXRlLgoJKiBvbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQT0EuamF2YSwKCSogb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0RXh0UE9BLmphdmEsCgkqIG9yZy9vbWcvQ29zTmFtaW5nL0JpbmRpbmdJdGVyYXRvclBPQS5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTA5LTAyICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9Dcm9wSW1hZ2VGaWx0ZXIuamF2YQoJKHNldFBpeGVscyhpbnQsaW50LGludCxpbnQsQ29sb3JNb2RlbCxieXRlW10saW50LGludCkpOiBTZXQKCWNvbnN1bWVyIHBpeGVscyBhdCAwLCAwIGxvY2F0aW9uLgoJKHNldFBpeGVscyhpbnQsaW50LGludCxpbnQsQ29sb3JNb2RlbCxpbnRbXSxpbnQsaW50KSk6IExpa2V3aXNlLgoKMjAwNS0wOS0wMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkobW91c2VwcmVzc2VkKTogRml4ZWQsIHNvIHRoYXQgY2xpY2tpbmcgb24gY29udHJvbCBpY29uIHdpbGwgbm90CglzdGFydCBlZGl0aW5nLgoKMjAwNS0wOS0wMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmE6CgkoZ2V0U2Nyb2xsYWJsZVRyYWNrc1ZpZXdwb3J0SGVpZ2h0KTogUmV0dXJuIHRydWUgaWYgcGFyZW50IGlzIGEgCglKVmlld3BvcnQgYW5kIHBhcmVudCdzIGhlaWdodCBpcyBzbWFsbGVyIHRoYW4gb3Vycy4KCShnZXRTY3JvbGxhYmxlVHJhY2tzVmlld3BvcnRXaWR0aCk6IFJldHVybiB0cnVlIGlmIHBhcmVudCBpcyBhCglKVmlld3BvcnQgYW5kIHBhcmVudCdzIHdpZHRoIGlzIHNtYWxsZXIgdGhhbiBvdXJzLgoKMjAwNS0wOS0wMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKGluc3RhbGxVSSk6IFRyZWVTZWxlY3Rpb25MaXN0ZW5lciByZW1vdmVkIGJlY2F1c2UgYWRkZWQgdG9vIG1hbnkKCXRpbWVzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCUZpeGVkIG5hbWVzIGZvciBzb21lIHRyZWUgZGVmYXVsdHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YToKCUFkZGVkIG5ldyBmaWVsZHMgZm9yIGVkaXRpbmcgYW5kIGtleWJvYXJkIGFjdGlvbnMuCgkoc2V0Q2VsbEVkaXRvcik6IFRvb2sgb3V0IHVubmVlZGVkIGlmIHN0YXRlbWVudC4KCShpc0VkaXRpbmcpOiBSZXR1cm5lZCBib29sZWFuIGluc3RlYWQuCgkodXBkYXRlQ2VsbEVkaXRvcik6IFVzZWQgc2V0IG1ldGhvZC4KCShpbnN0YWxsRGVmYXVsdHMpOiBTZXQgZm9jdXMgdG8gdHJlZS4KCShpbnN0YWxsS2V5Qm9hcmRBY3Rpb25zKTogSW1wbGVtZW50ZWQuCgkoY29udmVydE1vZGlmaWVycyk6IE5ldyBmdW5jdGlvbiBpbXBsZW1lbnRlZC4KCShpbnN0YWxsVUkpOiBVc2VkIHNldCBtZXRob2QgYW5kIGluaXRpYWxpemVkIGlzRWRpdGluZy4KCShzdGFydEVkaXRpbmcpOiBzZXQgaXNFZGl0aW5nLgoJKFRyZWVBY3Rpb24pOiBOZXcgY2xhc3MgaW1wbGVtZW50ZWQgdG8gcGVyZm9ybSBrZXlib2FyZCBhY3Rpb25zLgoJKEFjdGlvbkxpc3RlbmVyUHJveHkpOiBOZXcgcHJpdmF0ZSBjbGFzcyB1c2VkIHRvIGRpc3RyaWJ1dGUgdGhlIGtleQoJYm9hcmQgYWN0aW9ucyB0byB0aGUgdHJ1ZSByZWNlaXZlci4KCShlZGl0aW5nU3RvcHBlZCk6IEFkZGVkIGNvZGUgdG8gcHJldmVudCBOUEVzLiBzZXQgaXNFZGl0aW5nIGFuZCBmb2N1cyAKCXRvIHRyZWUuIEFsc28sIHJlbW92ZWQgVHJlZVNlbGVjdGlvbkxpc3RlbmVycyBmb3IgY2VsbEVkaXRvci4KCShlZGl0aW5nQ2FuY2VsZWQpOiBMaWtld2lzZS4KCShrZXlQcmVzc2VkKTogUmVtb3ZlZCBjb2RlLCBub3QgbmVlZGVkIGFueW1vcmUuCgkoYWN0aW9uUGVyZm9ybWVkKTogSW1wbGVtZW50ZWQgZm9yIHVwL2Rvd24ga2V5Ym9hcmQgYWN0aW9ucy4KCShhY3Rpb25QZXJmb3JtZWQpOiBJbXBsZW1lbnRlZCBmb3IgbGVmdC9yaWdodCBrZXlib2FyZCBhY3Rpb25zLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbEVkaXRvci5qYXZhCgkoRGVmYXVsdFRyZWVDZWxsRWRpdG9yKTogU2V0IGxhc3RQYXRoLgoJKGlzQ2VsbEVkaXRhYmxlKTogZWRpdGluZ0NvbXBvbmVudCBzaG91bGQgYmUgY29uZmlndXJlZCBpZiBoYXMgbm90CgliZWVuLgoJKHN0b3BDZWxsRWRpdGluZyk6IE5vIG5lZWQgdG8gc2V0IGNlbGwgZWRpdG9yIHRvIG51bGwgaGVyZS4KCShjYW5jZWxDZWxsRWRpdGluZyk6IExpa2V3aXNlLgoJKHZhbHVlQ2hhbmdlZCk6IFNldCB0UGF0aCB0byB0aGUgcGF0aCB0aGF0IHdhcyBsYXN0IHNlbGVjdGVkLiBVc2VkIGZvcgoJdGhlIGNsaWNrLXBhdXNlLWNsaWNrIGltcGxlbWVudGF0aW9uLgoJKGFjdGlvblBlcmZvcm1lZCk6IFJlLWltcGxlbWVudGVkIGluIGEgc2ltcGxpZXIgZmFzaGlvbi4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxSZW5kZXJlci5qYXZhCgkoZ2V0VHJlZUNlbGxSZW5kZXJlckNvbXBvbmVudCk6IE9ubHkgc2V0IGJvcmRlciBjb2xvciBpZiB2YWwgaXMgbGVhZAoJc2VsZWN0aW9uIHBhdGguCgoyMDA1LTA5LTAyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvSW50ZXJjZXB0b3IvQ2xpZW50UmVxdWVzdEludGVyY2VwdG9ycy5qYXZhIChzZW5kX3BvbGwpOgoJcmVtb3ZlIEZvcndhcmRSZXF1ZXN0IGZyb20gZGVjbGFyYXRpb24uCgoyMDA1LTA5LTAyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvQ3VycmVudE9wZXJhdGlvbnMuamF2YToKCUluaGVyaXQgZnJvbSBvcmcub21nLkNPUkJBLkN1cnJlbnRPcGVyYXRpb25zLgoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvQ2xpZW50UmVxdWVzdEludGVyY2VwdG9yT3BlcmF0aW9ucy5qYXZhCgkoc2VuZF9wb2xsKTogUmVtb3ZlIEZvcndhcmRSZXF1ZXN0IGZyb20gZGVjbGFyYXRpb24uCgoyMDA1LTA5LTAyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YToKCShnZXRQcmVmZXJyZWRTY3JvbGxhYmxlVmlld3BvcnRTaXplKTogSW1wbGVtZW50ZWQuCgoyMDA1LTA5LTAyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvSU9SX0RlbGVnYXRlLmphdmEgKHJlcXVlc3QpLAoJKiBnbnUvQ09SQkEvU29ja2V0UmVwb3NpdG9yeS5qYXZhIChnZXRfc29ja2V0KSwKCSogZ251L0NPUkJBL2dudVJlcXVlc3QgKGdldFBhcmFtZXRlclN0cmVhbSksCgkqIGdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL05hbWVQYXJzZXIuamF2YSwKCSogZ251L0NPUkJBL05hbWluZ1NlcnZpY2UvTmFtaW5nU2VydmljZVRyYW5zaWVudC5qYXZhOiBSZXdyaXR0ZW4uCgkqIGdudS9DT1JCQS9GdW5jdGlvbmFsX09SQi5qYXZhIChuYW1lUGFyc2VyKTogTmV3IGZpZWxkLgoJKHN0cmluZ190b19vYmplY3QpOiBSZXdyaXR0ZW4uCgkoaW9yX3RvX29iamVjdCk6IE1hZGUgcHVibGljLgoJKiBvcmcvb21nL0NPUkJBL09SQi5qYXZhIChzdHJpbmdfdG9fb2JqZWN0KTogCiAgICAgICAgRG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoyMDA1LTA5LTAyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YToKCShnZXRQcmVmZXJyZWRTY3JvbGxhYmxlVmlld3BvcnRTaXplKTogSW1wbGVtZW50ZWQuCgoyMDA1LTA5LTAyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBzZXQgY29ycmVjdCB2YWx1ZSBmb3IgCgknSW50ZXJuYWxGcmFtZS50aXRsZUZvbnQnLgoKMjAwNS0wOS0wMiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYXd0L0NsYXNzcGF0aFRvb2xraXQuamF2YSAocmVnaXN0ZXJJbWFnZUlPU3Bpcyk6CglSZWludHJvZHVjZWQgKGVtcHR5KSBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKHN0YXRpYyk6IE1vdmVkIGluaXRpYWxpemF0aW9uCglvZiBpbWFnZUlPU3BpcyB0byBuZXcgcmVnaXN0ZXJJbWFnZUlPU3BpcygpIG1ldGhvZC4KCShyZWdpc3RlckltYWdlSU9TcGlzKTogTmV3IChvdmVybG9hZGVkKSBtZXRob2QuCgkqIGphdmF4L2ltYWdlaW8vc3BpL0lJT1JlZ2lzdHJ5LmphdmEgKElJT1JlZ2lzdHJ5KTogQ2FsbCB0byBUb29sa2l0CglyZWdpc3RyYXRpb24gbWV0aG9kIGlmIGluc3RhbmNlb2YgQ2xhc3NwYXRoVG9vbGtpdC4KCjIwMDUtMDktMDIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCglQUiBhd3QvMjI5NzkKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlLmphdmEsCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmMgKEd0a0ltYWdlKCkpOgoJTmV3IGNvbnN0cnVjdG9yLgoJKGRyYXdQaXhlbHNTY2FsZWQpOiBSZXR1cm4gaW1tZWRpYXRlbHkgaWYgd2lkdGggb3IgaGVpZ2h0IGlzIDw9IDAuCgkoZHJhd1BpeGVsc1NjYWxlZEZsaXBwZWQpOiBMaWtld2lzZSBmb3Igc3Jjd2lkdGgsIHNyY2hlaWdodCwKCWRzdHdpZHRoLCBkc3RoZWlnaHQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKGNyZWF0ZUltYWdlKFN0cmluZykpOgoJQ3JlYXRlIGEgYmxhbmsgaW1hZ2Ugd2hlbiBmaWxlbmFtZSBpcyAiIi4KCSogamF2YXgvc3dpbmcvSW1hZ2VJY29uLmphdmEgKEltYWdlSWNvbihTdHJpbmcpKTogTWVudGlvbiBibGFuawoJaWNvbnMgaW4gZG9jdW1lbnRhdGlvbi4KCShJbWFnZUljb24oU3RyaW5nLFN0cmluZykpOiBMaWtld2lzZS4KCjIwMDUtMDktMDIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCglQUiBhd3QvMjM1NTcKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSAoZHJhd1N0cmluZyhTdHJpbmcsCglmbG9hdCwgZmxvYXQpKTogUmV0dXJuIGltbWVkaWF0ZWx5IGlmIHN0cmluZyBpcyBudWxsIG9yCgl6ZXJvLWxlbmd0aC4KCjIwMDUtMDktMDIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCglQUiBhd3QvMjAwMTQKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSAoc3RhdGljKTogQWx3YXlzIGNhbGwKCWluaXRTdGF0aWNTdGF0ZS4KCjIwMDUtMDktMDIgIFJvYmVydCBTY2h1c3RlciAgPHJvYmVydHNjaHVzdGVyQGZzZmUub3JnPgoKCSogUkVBRE1FOiBBZGRlZCBNeXNhaWZ1Vk0gdG8gbGlzdCBvZiBWTXMKCSogSU5TVEFMTDogQWRkZWQgaW5mbyBhYm91dCBRdDQgYW5kIGVjai4KCjIwMDUtMDktMDEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCglQUiBhd3QvMjM1MzYKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlLmphdmEsCglnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2UuYyAoR3RrSW1hZ2UoVVJMKSk6IE5ldyBjb25zdHJ1Y3Rvci4KCShHdGtJbWFnZShieXRlW10pKSBOZXcgY29uc3RydWN0b3IuCgkobG9hZEltYWdlRnJvbURhdGEpOiBOZXcgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhIChjcmVhdGVJbWFnZShVUkwpKTogQ2FsbAoJR3RrSW1hZ2UoVVJMKSBjb25zdHJ1Y3Rvci4KCShjcmVhdGVJbWFnZShieXRlW10saW50LGludCkpOiBDYWxsIEd0a0ltYWdlKGJ5dGVbXSkgY29uc3RydWN0b3IuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmg6IFJlZ2VuZXJhdGUuCgoyMDA1LTA5LTAxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhIChnZXRGb250KTogR2V0IG5vbi1wdWJsaWMKCWNvbnN0cnVjdG9yIGZyb20gRm9udC4gQ2hhaW4gImNhbm5vdCBoYXBwZW4iIGV4Y2VwdGlvbnMgaW4KCUFzc2VydGlvbkVycm9yLgoKMjAwNS0wOS0wMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS91dGlsL2phci9KYXJGaWxlLmphdmEgKEphckVudW1lcmF0aW9uLm5leHRFbGVtZW50KTogT25seQoJcmVhZFNpZ25hdHVyZSB3aGVuIHZlcmlmeWluZyBqYXIuCgkoZ2V0RW50cnkpOiBMaWtld2lzZS4KCjIwMDUtMDktMDEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJRml4ZXMgYnVnICMyMzIwNAoJKiBqYXZheC9zd2luZy9WaWV3cG9ydExheW91dC5qYXZhOgoJKHByZWZlcnJlZExheW91dFNpemUpOiBJZiB0aGUgdmlldyBpcyBzY3JvbGxhYmxlLCBjYWxsIGl0cwoJZ2V0UHJlZmVycmVkU2Nyb2xsYWJsZVZpZXdwb3J0U2l6ZSBtZXRob2QuCgkobGF5b3V0Q29udGFpbmVyKTogSWYgdGhlIHZpZXcgaXMgc2Nyb2xsYWJsZSwgY2hlY2sgaXRzIAoJZ2V0U2Nyb2xsYWJsZVRyYWNrc1ZpZXdwb3J0V2lkdGggYW5kIGdldFNjcm9sbGFibGVUcmFja3NWaWV3cG9ydEhlaWdodAoJbWV0aG9kcyBiZWZvcmUgcmVzaXppbmcgdGhlIHZpZXcgdG8gbWF0Y2ggdGhlIHZpZXdwb3J0LgoKMjAwNS0wOS0wMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9ndGtfamF3dC5jCgkoY2xhc3NwYXRoX2phd3RfZ2V0X3Zpc3VhbElEKTogQ2FzdCByZXR1cm5lZCBOVUxMIHRvIFZpc3VhbElELgoJKGNsYXNzcGF0aF9qYXd0X2dldF9kcmF3YWJsZSk6IENhc3QgcmV0dXJuZWQgTlVMTCB0byBEcmF3YWJsZS4KCjIwMDUtMDktMDEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YToKCUFkZGVkIG5ldyBmaWVsZCB0byBrZWVwIHRyYWNrIG9mIGNvbnRlbnRzIGluIG5ld2x5IGVkaXRlZCBjZWxsLgoJKGlzRWRpdGluZyk6IE1hZGUgbW9yZSBpbnR1aXRpdmUuCgkoc3RvcEVkaXRpbmcpOiBDaGFuZ2VkIGJlY2F1c2UgaXQgd2FzIGNhdXNpbmcgYW4gaW5maW5pdGUgbG9vcC4KCShpbnN0YWxsVUkpOiBTaG91bGQgYmUgc2V0IHRvIHRydWUgd2hlbiBzZXQuCgkoY29tcGxldGVFZGl0aW5nKTogUGFzc2VkIG5ld1ZhbCB0byB2YWx1ZUZvclBhdGhDaGFuZ2VkIGluc3RlYWQuCgkoRWRpdG9yVGltZXJVcGRhdGUpOiBNYWRlIHRpbWVyIGZhc3RlciBiZWNhdXNlIHdhcyBub3Qgd29ya2luZyB3ZWxsLgoJKGFjdGlvblBlcmZvcm1lZCk6IE5vIG5lZWQgZm9yICdCYXNpY1RyZWVVSS50aGlzLicKCSh1cGRhdGUpOiBMaWtld2lzZS4KCShlZGl0aW5nU3RvcHBlZCk6IExpa2V3aXNlLiBBbHNvLCBzZXQgbmV3VmFsIHRvIGFwcHJvcHJpYXRlIHZhbHVlLgoJKGVkaXRpbmdDYW5jZWxlZCk6IExpa2V3aXNlLgoJKGtleVByZXNzZWQpOiBMaWtld2lzZS4KCShtb3VzZVByZXNzZWQpOiBMaWtld2lzZS4KCSh0cmVlRXhwYW5kZWQpOiBMaWtld2lzZS4KCSh0cmVlQ29sbGFwc2VkKTogTGlrZXdpc2UuCgkodHJlZU5vZGVzQ2hhbmdlZCk6IExpa2V3aXNlLgoJKFRyZWVOb2Rlc0luc2VydGVkKTogTGlrZXdpc2UuCgkodHJlZU5vZGVzUmVtb3ZlZCk6IExpa2V3aXNlLgoJKHRyZWVTdHJ1Y3R1cmVDaGFuZ2VkKTogTGlrZXdpc2UuCgkodmFsdWVDaGFuZ2VkKTogRWRpdGluZyBpcyBjYW5jZWxlZCB3aGVuIGEgbmV3IGNlbGwgaXMgY2xpY2tlZC4KCShnZXRDZWxsQm91bmRzKTogSW5pdGlhbGl6ZWQgcm93IGZvciBwYXRoLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbEVkaXRvci5qYXZhCgkoc3RhcnRFZGl0aW5nVGltZXIpOiBObyBuZWVkIHRvIHN0YXJ0IHRpbWVyIGlmIGl0IGlzIGFscmVhZHkgc2V0LgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlTW9kZWwuamF2YQoJKHZhbHVlRm9yUGF0aENoYW5nZWQpOiBGaXhlZCBzbyB2YWx1ZSBvZiBub2RlIGlzIGNoYW5nZWQgb25seSBpZiBpdAoJaXMgYSBNdXRhYmxlVHJlZU5vZGUuIE90aGVyd2lzZSwgaXQgY2Fubm90IGJlIGNoYW5nZWQuIEFsc28sIAoJaW1wbGVtZW50ZWQgd2l0aCBjaGVjayBpZiByb290IG5vZGUgaXMgdGhlIG5vZGUgYmVpbmcgY2hhbmdlZC4KCShub2RlQ2hhbmdlZCk6IFNob3VsZCBnZXQgdGhlIHBhdGggb2YgdGhlIG5vZGUsIG5vdCB0aGUgcGFyZW50LgoKMjAwNS0wOC0zMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCVBSIGF3dC8yMDc4MgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0a19qYXd0LmMKCShjbGFzc3BhdGhfamF3dF9nZXRfZGVmYXVsdF9kaXNwbGF5KTogQ2hlY2sgaWYgd2lkZ2V0IGlzIHJlYWxpemVkCglhbmQgcmV0dXJuIE5VTEwgaWYgaXQgaXMgbm90LgoJKGNsYXNzcGF0aF9qYXd0X2dldF92aXN1YWxJRCk6IExpa2V3aXNlLgoJKGNsYXNzcGF0aF9qYXd0X2dldF9kcmF3YWJsZSk6IExpa2V3aXNlLgoKMjAwNS0wOC0zMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSAoc2V0Qm91bmRzKTogT25seQoJYWRkIHBhcmVudCdzIHggYW5kIHkgY28tb3JkaW5hdGVzIHRvIHRyYW5zbGF0aW9uIGlmIHBhcmVudCdzCglwYXJlbnQgaXMgbm90IGEgd2luZG93LgoKMjAwNS0wOC0zMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmE6CgkoYm94RW50cmllcyk6IE1hZGUgdGhpcyBtZXRob2QgcGFja2FnZSBwcml2YXRlIGJlY2F1c2UgSSBhZGRlZCBhIAoJY2FsbCB0byBpdCBmcm9tIGFuIGltcGxpY2l0bHkgZGVmaW5lZCBsaXN0ZW5lciBjbGFzcy4gQWxzbyBmaXhlZCAKCWluZGVudGF0aW9uLgoJKGNyZWF0ZVByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBJZiB0aGUgcmV0dXJuZWQgcHJvcGVydHkgbGlzdGVuZXIKCWhlYXJzIERJUkVDVE9SWV9DSEFOR0VEX1BST1BFUlRZLCBjYWxsIGJveEVudHJpZXMoKSB0byB1cGRhdGUgdGhlCglsb29rLWluIGJveCBlbnRyaWVzLgoKMjAwNS0wOC0zMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCglQUiBzd2luZy8yMzAzNwoJKiBqYXZheC9zd2luZy9KRmlsZUNob29zZXIuamF2YQoJKGNoYW5nZVRvUGFyZW50RGlyZWN0b3J5KTogSWYgcGFyZW50IGRpcmVjdG9yeSBpcyBudWxsLCBkbyBub3RoaW5nLgoKMjAwNS0wOC0zMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhOgoJKGluaXRpYWxpemVMb2NhbFZhcnMpOiBDaGFuZ2VkIGRlZmF1bHQgYXV0b1Jlc2l6ZU1vZGUgdG8gCglBVVRPX1JFU0laRV9TVUJTRVFVRU5UX0NPTFVNTlMgdG8gbWF0Y2ggdGhlIEpESy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShnZXRNYXhpbXVtU2l6ZSk6IEltcGxlbWVudGVkLgoJKGdldE1pbmltdW1TaXplKTogSW1wbGVtZW50ZWQuCgoyMDA1LTA4LTMxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL25pby9jaGFyc2V0L0NoYXJzZXQuamF2YSAoY2hhcnNldEZvck5hbWUpOiBUcnkgZGVmYXVsdCBwcm92aWRlcgoJYmVmb3JlIHRyeWluZyB0byBsb2FkIGV4dHJhIHByb3ZpZGVycy4KCShhdmFpbGFibGVDaGFyc2V0cyk6IEV4cGxpY2l0bHkgYWRkIGRlZmF1bHQgcHJvdmlkZXIgQ2hhcnNldHMuCgkocHJvdmlkZXJzMik6IERvbid0IGluY2x1ZGUgZGVmYXVsdCBwcm92aWRlci4KCjIwMDUtMDgtMzEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhCgkodGV4dEZpZWxkQm9yZGVyKTogbmV3IGZpZWxkLAoJKEZsdXNoM0RCb3JkZXIpOiBuZXcgY2xhc3MsCgkoVGV4dEZpZWxkQm9yZGVyKTogbmV3IGNsYXNzLAoJKGdldFRleHRGaWVsZEJvcmRlcik6IGltcGxlbWVudGVkLgoKMjAwNS0wOC0zMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25VSS5qYXZhCgkoZ2V0UHJvcGVydHlQcmVmaXgpOiBpbmNsdWRlIGRvdCBpbiBwcmVmaXgsCgkoaW5zdGFsbERlZmF1bHRzKTogcmVtb3ZlIGRvdCB3aGljaCBpcyBpbmNsdWRlZCBpbiBwcmVmaXggbm93LAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hNZW51SXRlbVVJLmphdmEKCShnZXRQcm9wZXJ0eVByZWZpeCk6IHJldHVybiBjb3JyZWN0IHByZWZpeCwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NoZWNrQm94VUkuamF2YQoJKGdldFByb3BlcnR5UHJlZml4KTogcmV0dXJuIGNvcnJlY3QgcHJlZml4LAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhCgkoZ2V0UHJvcGVydHlQcmVmaXgpOiByZXR1cm4gY29ycmVjdCBwcmVmaXgsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51VUkuamF2YQoJKGdldFByb3BlcnR5UHJlZml4KTogcmV0dXJuIGNvcnJlY3QgcHJlZml4LAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUmFkaW9CdXR0b25NZW51SXRlbVVJLmphdmEKCShnZXRQcm9wZXJ0eVByZWZpeCk6IHJldHVybiBjb3JyZWN0IHByZWZpeCwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1JhZGlvQnV0dG9uVUkuamF2YQoJKGdldFByb3BlcnR5UHJlZml4KTogaW5jbHVkZSBkb3QgaW4gcHJlZml4LAoJKGdldERlZmF1bHRJY29uKTogcmVtb3ZlZCBkb3Qgd2hpY2ggaXMgcGFydCBvZiB0aGUgcHJlZml4LAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9nZ2xlQnV0dG9uVUkuamF2YQoJKGdldFByb3BlcnR5UHJlZml4KTogaW5jbHVkZSBkb3QgaW4gcHJlZml4LAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ2hlY2tCb3hVSS5qYXZhOiBub3cgZXh0ZW5kcyAKCU1ldGFsUmFkaW9CdXR0b25VSSwKCShnZXRQcm9wZXJ0eVByZWZpeCk6IGltcGxlbWVudGVkLgoKMjAwNS0wOC0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoJICAgIENocmlzdGlhbiBTY2hsaWNodGhlcmxlICA8Y2hyaXN0aWFuQHNjaGxpY2h0aGVybGUuZGU+CgoJKiBqYXZhL3V0aWwvemlwL1ppcEVudHJ5LmphdmEgKHNldFRpbWUpOiBVc2UKCUNhbGVuZGFyLnNldFRpbWVJbk1pbGxpcygpLgoJKGdldFRpbWUpOiBGaXJzdCBwYXJzZSBleHRyYSBieXRlcy4gVXNlIENhbGVuZGFyLmdldFRpbWVJbk1pbGxpcygpLgoJKHBhcnNlRXh0cmEpOiBEb24ndCByZXR1cm4gZWFybHkgdG8gbWFrZSBzdXJlIHRoYXQgS05PV05fRVhUUkEgaXMKCWFsd2F5cyBzZXQuCgkqIGphdmEvdXRpbC96aXAvWmlwRmlsZS5qYXZhIChyZWFkRW50cmllcyk6IFBhcnNlIG5hbWUgYW5kIGNvbW1lbnQKCWFzIFVURi04IHN0cmluZy4KCShjbG9zZSk6IENoZWNrIHRoYXQgcmFmIGlzIG5vdCBudWxsLgoJKiBqYXZhL3V0aWwvemlwL1ppcElucHV0U3RyZWFtLmphdmEgKGdldE5leHRFbnRyeSk6IFNldCBuYW1lIGFzCglVVEYtOCBieXRlcy4KCSogamF2YS91dGlsL3ppcC9aaXBPdXRwdXRTdHJlYW0uamF2YSAoc2V0Q29tbWVudCk6IFNldCBjb21tZW50IGFzCglVVEYtOCBieXRlcy4KCShwdXROZXh0RW50cnkpOiBMaWtld2lzZSBmb3IgbmFtZS4KCShmaW5pc2gpOiBMaWtld2lzZSBmb3IgYm90aC4KCjIwMDUtMDgtMzAgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0RlbW8uamF2YQoJKG1rTWVudUJhcik6IGFkZGVkIGEgSlJhZGlvQnV0dG9uTWVudUl0ZW0sCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJY29uRmFjdG9yeS5qYXZhCgkoUmFkaW9CdXR0b25NZW51SXRlbUljb24pOiBuZXcgaW5uZXIgY2xhc3MsCgkoZ2V0UmFkaW9CdXR0b25NZW51SXRlbUljb24pOiBpbXBsZW1lbnRlZCwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBhZGRlZCBSYWRpb0J1dHRvbk1lbnVJdGVtIGRlZmF1bHRzLgoKMjAwNS0wOC0zMCAgTGlsbGlhbiBBbmdlbCA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmE6CglBZGRlZCBhIHRpbWVyIGZpZWxkIGZvciByZXBhaW50aW5nIHRoZSBlZGl0aW5nIGNvbXBvbmVudC4KCShFZGl0b3JVcGRhdGVUaW1lcik6IElubmVyIGNsYXNzIGFkZGVkIGFuZCBpbXBsZW1lbnRlZC4gVXBkYXRlcwoJdGhlIGNhcmV0IGFuZCB0ZXh0IGJveC4gU3RpbGwgbmVlZCB0byBmaXggdHlwaW5nIGluIHRleHQgYm94LgoJKHN0YXJ0RWRpdGluZyk6IFN0YXJ0ZWQgdGhlIHRpbWVyLgoJKGVkaXRpbmdDYW5jZWxlZCk6IFN0b3BwZWQgdGhlIHRpbWVyLgoJKGVkaXRpbmdTdG9wcGVkKTogTGlrZXdpc2UuCgoyMDA1LTA4LTMwICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0RlbW8uamF2YQoJKG1rVHJlZVdvcmxkKTogTWFkZSB0cmVlIGVkaXRhYmxlLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Q2VsbEVkaXRvci5qYXZhCgkoaXNDZWxsRWRpdGFibGUpOiBBZGRlZCBpbiBjaGVjayBmb3IgbnVtYmVyIG9mIG1vdXNlIGNsaWNrcy4KCShEZWZhdWx0Q2VsbEVkaXRvcik6IFRvIHN0YXJ0IGVkaXRpbmcgYSB0ZXh0ZmllbGQsIG51bWJlciBvZiBjbGlja3MKCWlzIDMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YToKCVRvb2sgb3V0IHVubmVlZGVkIGZpZWxkcwoJKGlzRWRpdGluZyk6IEZpeGVkIHRvIGNoZWNrIGJvb2xlYW4uCgkodXBkYXRlQ2VsbEVkaXRvcik6IE1hZGUgbW9yZSBlZmZpY2VudC4KCShpbnN0YWxsVUkpOiBDcmVhdGVkIGNlbGwgZWRpdG9yIGZvciBpbml0aWFsaXphdGlvbi4KCShlZGl0aW5nU3RvcHBlZCk6IEFkZGVkIGluIGNoZWNrIHRvIHByZXZlbnQgYSBOUEUuCgkoZWRpdGluZ0NhbmNlbGVkKTogTGlrZXdpc2UuCgkoa2V5UHJlc3NlZCk6IEFkZGVkIGluIGNoZWNrIGZvciBwcmVzc2luZyBFbnRlci4gRW50ZXIgc2hvdWxkIHN0b3AKCWVkaXRpbmcgYW5kIGNvbXBsZXRlIGl0LCB3aGVuIGluIHRoZSBwcm9jZXNzIG9mIGVkaXRpbmcuIAoJKG1vdXNlUHJlc3NlZCk6IE9wdGltaXplZCBieSB1c2luZyBNb3VzZUV2ZW50J3MgZ2V0Q2xpY2tDb3VudC4gVGhlCgljbGlja2luZyBvbiBub2RlcyB3b3JrcyBiZXR0ZXIuIEFsc28sIGFkZGVkIGluIGNvZGUgdG8gc3RhcnQgdGhlCgllZGl0aW5nLgoJKHZhbHVlQ2hhbmdlZCk6IEltcGxlbWVudGVkLgoJKHNlbGVjdFBhdGgpOiBUb29rIG91dCBjb2RlIHRvIHJlbW92ZSBhbiBhbHJlYWR5IHNlbGVjdGVkIHBhdGguIEEgbm9kZQoJc2hvdWxkIHJlbWFpbiBzZWxlY3RlZCBpZiBjbGlja2VkIG9uIG1vcmUgdGhhbiBvbmNlLiBXb3JrcyBsaWtlIEpESy4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxFZGl0b3IuamF2YToKCUFkZGVkIGEgaGVscGVyIGZpZWxkLgoJKHBhaW50KTogVG9vayBvdXQgcmVkdW5kYW50IGNvZGUuCgkoRGVmYXVsdFRyZWVDZWxsRWRpdG9yKTogQWRkZWQgY2xhc3MgdG8gbGlzdGVuZXIgbGlzdC4KCShjb25maWd1cmVFZGl0aW5nQ29tcG9uZW50KTogVXBkYXRlZCBzaW5jZSBsaXN0ZW5lciB3YXMgYWRkZWQgdG8gbGlzdC4KCShpc0NlbGxFZGl0YWJsZSk6IEZpbmlzaGVkIGltcGxlbWVudGF0aW9uLgoJKHN0b3BDZWxsRWRpdGluZyk6IEFkZGVkIGEgY2hlY2sgZm9yIGVkaXRpbmdDb21wb25lbnQgdG8gcHJldmVudCBhIE5QRS4KCShjYW5jZWxDZWxsRWRpdGluZyk6IExpa2V3aXNlLgoJKHZhbHVlQ2hhbmdlZCk6IFRvb2sgb3V0IHJlZHVuZGFudCBjb2RlLgoJKGFjdGlvblBlcmZvcm1lZCk6IEFkZGVkIGNvZGUgaW4gdG8gaW1wbGVtZW50IGNsaWNrLXBhdXNlLWNsaWNrCgllZGl0aW5nLgoJKHNob3VsZFN0YXJ0VGltZXIpOiBGaXhlZCBjaGVjay4KCShjYW5FZGl0SW1tZWRpYXRlbHkpOiBUb29rIG91dCByZWR1bmFudCBjb2RlLgoJKGluSGl0UmVnaW9uKTogQ2hhbmdlZCByZWdpb24gdG8gYmUgdGV4dCBhcmVhIG9ubHkgKG5vdCBpY29uKS4KCShjcmVhdGVUcmVlQ2VsbEVkaXRvcik6IE5vIG5lZWQgdG8gdXNlIGNhbkVkaXQgaGVyZSwgcmVtb3ZlZC4KCjIwMDUtMDgtMzAgIENocmlzdGlhbiBTY2hsaWNodGhlcmxlICA8Y2hyaXN0aWFuQHNjaGxpY2h0aGVybGUuZGU+CgoJKiBqYXZhL3V0aWwvemlwL0RlZmxhdGVyT3V0cHV0U3RyZWFtLmphdmEKCShEZWZsYXRlck91dHB1dFN0cmVhbShPdXRwdXRTdHJlYW0pKTogSW5jcmVhc2UgYnVmZmVyIHNpemUgdG8gNDA5Ni4KCShEZWZsYXRlck91dHB1dFN0cmVhbShPdXRwdXRTdHJlYW0sRGVmbGF0ZXIpKTogTGlrZXdpc2UuCgoyMDA1LTA4LTMwICBDaHJpc3RpYW4gU2NobGljaHRoZXJsZSAgPGNocmlzdGlhbkBzY2hsaWNodGhlcmxlLmRlPgoKCSogamF2YS91dGlsL3ppcC9EZWZsYXRlckh1ZmZtYW4uamF2YSAoYml0NFJldmVyc2UpOiBNYXJrIGZpbmFsLgoKMjAwNS0wOC0zMCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMYWJlbFVJLmphdmEKCShpbnN0YW5jZSk6IHJlbmFtZWQgJ21ldGFsTGFiZWxVSScgYW5kIGNoYW5nZWQgZnJvbSBwcml2YXRlIHRvIAoJcHJvdGVjdGVkLAoJKGNyZWF0ZVVJKTogbW9kaWZpZWQgZm9yIHJlbmFtZWQgZmllbGQsCiAgICAgICAgKHBhaW50RGlzYWJsZWRUZXh0KTogaW1wbGVtZW50ZWQsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogbW9kaWZpZWQgTGFiZWwgZGVmYXVsdHMuCgoyMDA1LTA4LTMwICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBhZGRlZCBzb21lIGRlZmF1bHRzIGZvciBUYWJiZWRQYW5lLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVGFiYmVkUGFuZVVJLmphdmEKCShUYWJiZWRQYW5lTGF5b3V0KTogaW1wbGVtZW50ZWQgbmV3IGNsYXNzLAoJKGNyZWF0ZUxheW91dE1hbmFnZXIpOiBpbXBsZW1lbnRlZCwKCShwYWludFRhYkJvcmRlcik6IGltcGxlbWVudGVkLAoJKHBhaW50VG9wVGFiQm9yZGVyKTogaW1wbGVtZW50ZWQsCgkocGFpbnRMZWZ0VGFiQm9yZGVyKTogaW1wbGVtZW50ZWQsCgkocGFpbnRCb3R0b21UYWJCb3JkZXIpOiBpbXBsZW1lbnRlZCwKCShwYWludFJpZ2h0VGFiQm9yZGVyKTogaW1wbGVtZW50ZWQsCgkocGFpbnRUYWJCYWNrZ3JvdW5kKTogaW1wbGVtZW50ZWQsCgkoc2hvdWxkUGFkVGFiUnVuKTogaW1wbGVtZW50ZWQsCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhOgoJKG1rVGFiV29ybGQpOiBuZXcgbWV0aG9kLAoJKG1rVGFiYmVkUGFuZSk6IGFkZGVkIHRhYiBmb3IgJ1RhYiBXb3JsZCcuCgkKMjAwNS0wOC0zMCAgUm9iZXJ0IFNjaHVzdGVyICA8cm9iZXJ0c2NodXN0ZXJAZnNmZS5vcmc+CgoJKiBqYXZhL2JlYW5zL1N0YXRlbWVudC5qYXZhOgoJKFN0YXRlbWVudCk6IFVzZSB6ZXJvIGxlbmd0aCBhcnJheSBpZiBhcmd1bWVudCBhcnJheSBpcyBudWxsLgoJKHRvU3RyaW5nKTogVXNlIFN0cmluZ0J1ZmZlciBmb3IgZWZmaWNpZW5jeSByZWFzb25zLCBtYWtlIHVzZSBvZgoJaW50ZXJuYWwgbmFtZS4gICAgCgkoZ2VuZXJhdGVJbnRlcm5hbE5hbWUpOiBOZXcgbWV0aG9kLCBnZW5lcmF0ZXMgaW5zdGFuY2UgbmFtZXMgbGlrZQoJdGhlIEpESyBoYXMuCgkoZG9FeGVjdXRlKTogUmVtb3ZlZCBkZWJ1Z2dpbmcgb3V0cHV0IHRoYXQgY291bGQgbGVhZCB0byBhbiBleGNlcHRpb24KCWJlY2F1c2Ugd3JvbmcgbG9vcCB2YXJpYWJsZSB1c2FnZS4KCSogamF2YS9iZWFucy9FeHByZXNzaW9uLmphdmE6IFN0YXRpYyBjb25zdGFudCAndW5zZXQnIHJlbmFtZWQgdG8gCgknVU5TRVQnLgoKMjAwNS0wOC0yOSAgS2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9ldmVudC9FdmVudC5qYXZhOiBOZXcgZmlsZSBkZXNjcmliaW5nIEpEV1AKCWV2ZW50cy4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L0NsYXNzUHJlcGFyZUV2ZW50LmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXZlbnQvVGhyZWFkRW5kRXZlbnQuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9ldmVudC9UaHJlYWRTdGFydEV2ZW50LmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXZlbnQvVm1Jbml0RXZlbnQuamF2YSAoVm1Jbml0RXZlbnQpOiBOZXcgZmlsZS4KCjIwMDUtMDgtMjkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIC5leHRlcm5hbFRvb2xCdWlsZGVycy9Db25maWd1cmUubGF1bmNoOiBDaGFuZ2VkIC0tcHJlZml4LgoJKiAuZXh0ZXJuYWxUb29sQnVpbGRlcnMvQ29tcGlsZU5hdGl2ZS5sYXVuY2g6IEludm9rZSBpbnN0YWxsIHRhcmdldC4KCSogLmNkdHByb2plY3Q6IE5ldyBmaWxlLgoJKiAuY2xhc3NwYXRoOiBDaGFuZ2VkIG91dHB1dCBkaXJlY3RvcnkuCgkqIC5jdnNpZ25vcmU6IEFkZGVkICdpbnN0YWxsJy4KCjIwMDUtMDgtMjkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pQYXNzd29yZEZpZWxkLmphdmEKCShnZXRUZXh0KTogQ2hhbmdlZCB0byBwYXNzIGVycm9yIHRvIEFzc2VydGlvbkVycm9yLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShzZXRDZWxsRWRpdG9yKTogVXBkYXRlZCBib29sZWFuIHdoZW4gYXBwcm9wcmlhdGUuCgkoc3RvcEVkaXRpbmcpOiBUb29rIG91dCByZWR1bmRhbnQgY29kZS4KCSh1cGRhdGVDZWxsRWRpdG9yKTogVXBkYXRlZCBib29sZWFuIHdoZW4gYXBwcm9wcmlhdGUuCgkoaW5zdGFsbExpc3RlbmVycyk6IFRvb2sgb3V0IENlbGxFZGl0b3JMaXN0ZW5lci4gSXQgaXMgYWRkZWQKCXdoZW4gdGhlIGNlbGxFZGl0b3IgaXMgc2V0LgoJKGluc3RhbGxVSSk6IFNpbWlsYXIuCgkoZW5zdXJlUm93c0FyZVZpc2libGUpOiBGaXhlZCBBUEkgZG9jdW1lbnRhdGlvbiAKCShzdGFydEVkaXRpbmcpOiBGaXhlZCB0byBhZGQgZWRpdGluZyBjb250YWluZXIgdG8gdGhlIHRyZWUuCgkoY2hlY2tGb3JDbGlja0luRXhwYW5kQ29udHJvbCk6IEZpeGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKGVkaXRpbmdTdG9wcGVkKTogQWRkZWQgY29kZSB0byByZW1vdmUgbGlzdGVuZXJzIGFuZCBjb250YWluZXIuCgkoZWRpdGluZ0NhbmNlbGVkKTogU2ltaWxhci4KCShtb3VzZVByZXNzZWQpOiBVcGRhdGVkIHRvIHN0b3AgZWRpdGluZyB3aGVuIGEgZGlmZmVyZW50IGNlbGwgaXMKCWNsaWNrZWQuCgkodHJlZU5vZGVzQ2hhbmdlZCk6IENhbGxlZCByZXBhaW50LgoJKHRyZWVOb2Rlc1JlbW92ZWQpOiBMaWtld2lzZS4KCSh0cmVlU3RydWN0dXJlQ2hhbmdlZCk6IExpa2V3aXNlLgoJKHBhaW50Tm9kZSk6IFVwZGF0ZWQgdG8gcGFpbnQgYSBub2RlIHRoYXQgaXMgYmVpbmcgZWRpdGVkLgoJKHBhaW50UmVjdXJzaXZlKTogRml4ZWQgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsRWRpdG9yLmphdmEKCShwYWludCk6IEZpeGVkIHRvIHBhaW50IGljb24gYW5kIHRleHQgYm94IGluIGNvcnJlY3QgbG9jYXRpb24gd2l0aAoJY29ycmVjdCBzcGFjaW5nLgoJKGRvTGF5b3V0KTogRml4ZWQgQVBJIGRvY3VtZW50YXRpb24uCgkoRGVmYXVsdFRyZWVDZWxsRWRpdG9yKTogVG9vayBvdXQgY2FsbCB0byBjb25maWd1cmUgZWRpdGluZyBjb21wb25lbnQuCgkoY29uZmlndXJlRWRpdGluZ0NvbXBvbmVudCk6IEluaXRpYWxpemVkIGVkaXRpbmcgaWNvbi4KCShnZXRUcmVlQ2VsbEVkaXRvckNvbXBvbmVudCk6IFRvb2sgb3V0IGNvZGUgdG8gc3RvcCBlZGl0aW5nLgoJTm90IG5lZWRlZC4KCShhZGRDZWxsRWRpdG9yTGlzdGVuZXIpOiBQYXNzZWQgb24gdG8gcmVhbEVkaXRvci4KCShyZW1vdmVDZWxsRWRpdG9yTGlzdGVuZXIpOiBMaWtld2lzZS4KCjIwMDUtMDgtMjkgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvT1JCLmphdmEgKHN0cmluZ190b19vYmplY3QpOiBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCSogZ251L0NPUkJBL0Z1bmN0aW9uYWxfT1JCLmphdmEgKHN0cmluZ190b19vYmplY3QpOiBSZXdyaXR0ZW4uCgkoaW9yX3RvX29iamVjdCk6IE5ldyBtZXRob2QuCgkqIGdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL05hbWVQYXJzZXIuamF2YTogTmV3IGZpbGUuCgoyMDA1LTA4LTI4ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YSAoYWRkRWRpdCk6IERvY3VtZW50IGdjaiBidWcKCXdvcmthcm91bmQuCgkoZ2V0Q2hhbmdlKTogTGlrZXdpc2UuCgoyMDA1LTA4LTI4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvT1JCSW5pdEluZm9PcGVyYXRpb25zLmphdmE6IFJlbW92ZWQKCW5vbi1hc2NpaSBjaGFyYWN0ZXIuCgoyMDA1LTA4LTI4ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgogICAgICAgICogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmE6IEZ1bGx5IHF1YWxpZnkgcmVmZXJlbmNlcyB0bwogICAgICAgIEVsZW1lbnRDaGFuZ2UgY2xhc3MuCgoyMDA1LTA4LTI4ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvSW50ZXJjZXB0b3IvRm9yd2FyZFJlcXVlc3RIb2xkZXIuamF2YSwKCSogZ251L0NPUkJBL0ludGVyY2VwdG9yL2dudUNsaWVudFJlcXVlc3RJbmZvLmphdmEsCgkqIGdudS9DT1JCQS9JbnRlcmNlcHRvci9nbnVJY0N1cnJlbnQuamF2YSwKCSogZ251L0NPUkJBL0ludGVyY2VwdG9yL2dudUlvckluZm8uamF2YSwKCSogZ251L0NPUkJBL0ludGVyY2VwdG9yL2dudVNlcnZlclJlcXVlc3RJbmZvLmphdmEsCgkqIGdudS9DT1JCQS9JbnRlcmNlcHRvci9JT1JJbnRlcmNlcHRvcnMuamF2YSwKCSogZ251L0NPUkJBL0ludGVyY2VwdG9yL0NsaWVudFJlcXVlc3RJbnRlcmNlcHRvcnMuamF2YSwKCSogZ251L0NPUkJBL0ludGVyY2VwdG9yL1JlZ2lzdHJhdG9yLmphdmEsCgkqIGdudS9DT1JCQS9JbnRlcmNlcHRvci9TZXJ2ZXJSZXF1ZXN0SW50ZXJjZXB0b3JzLmphdmEsCgkqIGdudS9DT1JCQS9HSU9QL2NvbnRleHRTdXBwb3J0aW5nSGVhZGVyLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9DbGllbnRSZXF1ZXN0SW5mby5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvQ2xpZW50UmVxdWVzdEluZm9PcGVyYXRpb25zLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9DbGllbnRSZXF1ZXN0SW50ZXJjZXB0b3IuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0NsaWVudFJlcXVlc3RJbnRlcmNlcHRvck9wZXJhdGlvbnMuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0N1cnJlbnQuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0N1cnJlbnRIZWxwZXIuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0N1cnJlbnRPcGVyYXRpb25zLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9Gb3J3YXJkUmVxdWVzdC5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvRm9yd2FyZFJlcXVlc3RIZWxwZXIuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0ludmFsaWRTbG90LmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JbnZhbGlkU2xvdEhlbHBlci5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvT1JCSW5pdEluZm8uamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRJbmZvT3BlcmF0aW9ucy5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvT1JCSW5pdGlhbGl6ZXIuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRpYWxpemVyT3BlcmF0aW9ucy5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvUG9saWN5RmFjdG9yeS5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvUG9saWN5RmFjdG9yeU9wZXJhdGlvbnMuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL1JlcXVlc3RJbmZvLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9SZXF1ZXN0SW5mb09wZXJhdGlvbnMuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL1NlcnZlclJlcXVlc3RJbmZvLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9TZXJ2ZXJSZXF1ZXN0SW5mb09wZXJhdGlvbnMuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL1NlcnZlclJlcXVlc3RJbnRlcmNlcHRvci5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvU2VydmVyUmVxdWVzdEludGVyY2VwdG9yT3BlcmF0aW9ucy5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvcGFja2FnZS5odG1sOgoJTmV3IGZpbGVzLgoJKiBnbnUvQ09SQkEvRXhjZXB0aW9uQ3JlYXRvci5qYXZhLAoJKiBnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSwKCSogZ251L0NPUkJBL0lPUi5qYXZhLAoJKiBnbnUvQ09SQkEvSU9SX0RlbGVnYXRlLmphdmEsCgkqIGdudS9DT1JCQS9PYmplY3RDcmVhdG9yLmphdmEsCgkqIGdudS9DT1JCQS9SZXN0cmljdGVkX09SQi5qYXZhLAoJKiBnbnUvQ09SQkEvYnVmZmVyZWRSZXNwb25zZUhhbmRsZXIuamF2YSwKCSogZ251L0NPUkJBL2dudUNvZGVjRmFjdG9yeS5qYXZhLAoJKiBnbnUvQ09SQkEvZ251UmVxdWVzdC5qYXZhLAoJKiBnbnUvQ09SQkEvcHJpbWl0aXZlQXJyYXlUeXBlQ29kZS5qYXZhLAoJKiBnbnUvQ09SQkEvcHJpbWl0aXZlVHlwZUNvZGUuamF2YSwKCSogZ251L0NPUkJBL0NEUi9WaW8uamF2YSwKCSogZ251L0NPUkJBL0NEUi9jZHJPdXRwdXQuamF2YSwKCSogZ251L0NPUkJBL0R5bkFuL2dudUR5bkFueS5qYXZhLAoJKiBnbnUvQ09SQkEvRHluQW4vZ251RHluRW51bS5qYXZhLAoJKiBnbnUvQ09SQkEvRHluQW4vZ251RHluRml4ZWQuamF2YSwKCSogZ251L0NPUkJBL0R5bkFuL2dudUR5blZhbHVlLmphdmEsCgkqIGdudS9DT1JCQS9HSU9QL1JlcGx5SGVhZGVyLmphdmEsCgkqIGdudS9DT1JCQS9HSU9QL1JlcXVlc3RIZWFkZXIuamF2YSwKCSogZ251L0NPUkJBL0dJT1AvU2VydmljZUNvbnRleHQuamF2YSwKCSogZ251L0NPUkJBL0dJT1AvdjFfMC9SZXF1ZXN0SGVhZGVyLmphdmEsCgkqIGdudS9DT1JCQS9Qb2EvTG9jYWxEZWxlZ2F0ZS5qYXZhLAoJKiBnbnUvQ09SQkEvUG9hL0xvY2FsUmVxdWVzdC5qYXZhLAoJKiBnbnUvQ09SQkEvUG9hL09SQl8xXzQuamF2YSwKCSogZ251L0NPUkJBL1BvYS9nbnVTZXJ2YW50T2JqZWN0LmphdmEsCgkqIGdudS9DT1JCQS9Qb2Evc2VydmFudERlbGVnYXRlLmphdmEsCgkqIG9yZy9vbWcvQ09SQkEvU2VydmljZURldGFpbEhlbHBlci5qYXZhLAoJKiBvcmcvb21nL0NPUkJBL0R5bkFueVBhY2thZ2UvSW52YWxpZC5qYXZhLAoJKiBvcmcvb21nL0NPUkJBL0R5bkFueVBhY2thZ2UvSW52YWxpZFNlcS5qYXZhLAoJKiBvcmcvb21nL0NPUkJBL0R5bkFueVBhY2thZ2UvSW52YWxpZFZhbHVlLmphdmEsCgkqIG9yZy9vbWcvQ09SQkEvRHluQW55UGFja2FnZS9UeXBlTWlzbWF0Y2guamF2YSwKCSogb3JnL29tZy9EeW5hbWljQW55L05hbWVEeW5BbnlQYWlyU2VxSGVscGVyLmphdmEsCgkqIG9yZy9vbWcvRHluYW1pY0FueS9fRHluQW55RmFjdG9yeVN0dWIuamF2YSwKCSogb3JnL29tZy9EeW5hbWljQW55L19EeW5BbnlTdHViLmphdmEsCgkqIG9yZy9vbWcvRHluYW1pY0FueS9fRHluQXJyYXlTdHViLmphdmEsCgkqIG9yZy9vbWcvRHluYW1pY0FueS9fRHluRW51bVN0dWIuamF2YSwKCSogb3JnL29tZy9EeW5hbWljQW55L19EeW5GaXhlZFN0dWIuamF2YSwKCSogb3JnL29tZy9EeW5hbWljQW55L19EeW5TZXF1ZW5jZVN0dWIuamF2YSwKCSogb3JnL29tZy9EeW5hbWljQW55L19EeW5TdHJ1Y3RTdHViLmphdmEsCgkqIG9yZy9vbWcvRHluYW1pY0FueS9fRHluVW5pb25TdHViLmphdmEsCgkqIG9yZy9vbWcvRHluYW1pY0FueS9fRHluVmFsdWVTdHViLmphdmEsCgkqIG9yZy9vbWcvSU9QL1NlcnZpY2VDb250ZXh0LmphdmEsCgkqIG9yZy9vbWcvSU9QL1RhZ2dlZENvbXBvbmVudEhlbHBlci5qYXZhLAoJKiBvcmcvb21nL0lPUC9UYWdnZWRQcm9maWxlSGVscGVyLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JT1JJbmZvLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9JT1JJbmZvT3BlcmF0aW9ucy5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvSU9SSW50ZXJjZXB0b3IuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0lPUkludGVyY2VwdG9yT3BlcmF0aW9ucy5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvSW50ZXJjZXB0b3IuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0xPQ0FUSU9OX0ZPUldBUkQuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL1NVQ0NFU1NGVUwuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL1NZU1RFTV9FWENFUFRJT04uamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL1RSQU5TUE9SVF9SRVRSWS5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvVVNFUl9FWENFUFRJT04uamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRJbmZvUGFja2FnZS9EdXBsaWNhdGVOYW1lLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PUkJJbml0SW5mb1BhY2thZ2UvRHVwbGljYXRlTmFtZUhlbHBlci5qYXZhLAoJKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvT1JCSW5pdEluZm9QYWNrYWdlL0ludmFsaWROYW1lLmphdmEsCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PUkJJbml0SW5mb1BhY2thZ2UvSW52YWxpZE5hbWVIZWxwZXIuamF2YSwKCSogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRJbmZvUGFja2FnZS9PYmplY3RJZEhlbHBlci5qYXZhOgoJUmV3cml0dGVuLgoJKiBvcmcvb21nL0NPUkJBL09SQi5qYXZhLAoJKiBvcmcvb21nL0NPUkJBL3BhY2thZ2UuaHRtbCwKCSogTkVXUzoKCURvY3VtZW50YXRpb24gdXBkYXRlLgoKMjAwNS0wOC0yOCAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC94cGF0aC9Bcml0aG1ldGljRXhwci5qYXZhOiBGaXggZGl2IGFuZCBtb2QgYnkgemVybyB0bwoJZm9sbG93IElFRUUgcnVsZXMuCgoyMDA1LTA4LTI3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBtNC9hY2luY2x1ZGUubTQgKENMQVNTUEFUSF9XSVRIX0dMSUJKKTogQWx3YXlzIGNoZWNrIGZvciAnemlwJwoJcHJvZ3JhbS4gIENoYW5nZWQgemlwIGluc3RhbGwgaGFuZGxpbmcuCgoyMDA1LTA4LTI2ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L0V2ZW50UmVxdWVzdC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V4Y2VwdGlvbi9KZHdwSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uLmphdmE6CglOZXcgZmlsZS4KCjIwMDUtMDgtMjYgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXZlbnQvZmlsdGVycy9JRXZlbnRGaWx0ZXIuamF2YTogTmV3IGZpbGUuCglEZXNjcmliZXMgdGhlIGludGVyZmFjZSB1c2VkIGZvciBldmVudCBmaWx0ZXJpbmcgbWFuYWdlZCBieQoJdGhlIGV2ZW50IG1hbmFnZXIuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9ldmVudC9maWx0ZXJzL0NsYXNzRXhjbHVkZUZpbHRlci5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L2ZpbHRlcnMvQ2xhc3NNYXRjaEZpbHRlci5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L2ZpbHRlcnMvQ2xhc3NPbmx5RmlsdGVyLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXZlbnQvZmlsdGVycy9Db25kaXRpb25hbEZpbHRlci5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L2ZpbHRlcnMvQ291bnRGaWx0ZXIuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9ldmVudC9maWx0ZXJzL0V4Y2VwdGlvbk9ubHlGaWx0ZXIuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9ldmVudC9maWx0ZXJzL0ZpZWxkT25seUZpbHRlci5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L2ZpbHRlcnMvSW5zdGFuY2VPbmx5RmlsdGVyLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXZlbnQvZmlsdGVycy9Mb2NhdGlvbk9ubHlGaWx0ZXIuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9ldmVudC9maWx0ZXJzL1N0ZXBGaWx0ZXIuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9ldmVudC9maWx0ZXJzL1RocmVhZE9ubHlGaWx0ZXIuamF2YTogTmV3IGZpbGUuCgoyMDA1LTA4LTI2ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NoZWNrQm94VUkuamF2YQoJKGluc3RhbGxVSSk6IHJlbW92ZWQsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJY29uRmFjdG9yeS5qYXZhCgkoQ2hlY2tCb3hNZW51SXRlbUljb24pOiBuZXcgc3VwcG9ydCBjbGFzcywKCShnZXRDaGVja0JveE1lbnVJdGVtSWNvbik6IHJldHVybiBpbnN0YW5jZSBvZiBDaGVja0JveE1lbnVJdGVtSWNvbiwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBjaGFuZ2VkIHZhbHVlIGZvciAnQ2hlY2tCb3hNZW51SXRlbS5jaGVja0ljb24nCglhbmQgcmVtb3ZlZCBlbnRyeSBmb3IgJ0NoZWNrQm94TWVudUl0ZW0uaWNvbicsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEKCShwYWludE1lbnVJdGVtKTogbGV0IGljb24gaGFuZGxlIHNlbGVjdGlvbiBzdGF0dXMsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJY29uRmFjdG9yeS5qYXZhCgkoQ2hlY2tCb3hNZW51SXRlbUljb24pOiBuZXcgc3VwcG9ydCBjbGFzcywKCShnZXRDaGVja0JveEljb24pOiBpbXBsZW1lbnRlZCwKCShnZXRDaGVja0JveE1lbnVJdGVtSWNvbik6IGltcGxlbWVudGVkLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IGFkZGVkIGVudHJ5IGZvciAnQ2hlY2tCb3hNZW51SXRlbS5jaGVja0ljb24nLgoKMjAwNS0wOC0yNiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXIuYwoJKGNyZWF0ZSk6IE9ubHkgc2V0IG92ZXJ3cml0ZSBjb25maXJtYXRpb24gaWYgdXNpbmcgR1RLID49IDIuOC4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHNldFZpc2libGVOYXRpdmUpOiBDYWxsIGdka19mbHVzaCBiZWZvcmUgcmVsZWFzaW5nIEdESyBsb2NrLgoJKHNldFZpc2libGVOYXRpdmVVbmxvY2tlZCk6IERvbid0IGNhbGwgZ2RrX2ZsdXNoLgoKMjAwNS0wOC0yNiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCVBSIGNsYXNzcGF0aC8yMTY2MDoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZpbGVEaWFsb2dQZWVyLmphdmEsCgluYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jCgkoQVdUX0ZJTEVESUFMT0dfTE9BRCk6IE5ldyBtYWNyby4KCShBV1RfRklMRURJQUxPR19TQVZFKTogTGlrZXdpc2UuCgkoY3JlYXRlKEd0a0NvbnRhaW5lclBlZXIsaW50KSk6IEFkZCBtb2RlIHBhcmFtZXRlci4gIENyZWF0ZSBTYXZlCglkaWFsb2cgaWYgbW9kZSBpcyBBV1RfRklMRURJQUxPR19TQVZFLiAgUmVtb3ZlIHdvcmthcm91bmQgZm9yCglodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY4NTIuCgkoY3JlYXRlKCkpOiBBZGQgbW9kZSBhcmd1bWVudCB0byBjcmVhdGUgY2FsbC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1dpbmRvd1BlZXIuamF2YSwKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHNldFZpc2libGVOYXRpdmUpOiBPdmVycmlkZSBtZXRob2QuCgkoc2V0VmlzaWJsZU5hdGl2ZVVubG9ja2VkKTogT3ZlcnJpZGUgbWV0aG9kLiAgQ2FsbCBnZGtfZmx1c2ggYWZ0ZXIKCXNob3dpbmcgb3IgaGlkaW5nIHdpbmRvdy4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXIuaDogUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5oOiBSZWdlbmVyYXRlLgoKMjAwNS0wOC0yNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogdGltZXpvbmVzLnBsIChwYXJzZVJ1bGUpOiBBZGQgZGF5b2Zmc2V0IHdoZW4gJHRpbWUgcmVwcmVzZW50cwoJbW9yZSB0aGVuIGEgZGF5LgoJKiBqYXZhL3V0aWwvVGltZVpvbmUuamF2YSAodGltZXpvbmVzKTogUmVnZW5lcmF0ZS4KCjIwMDUtMDgtMjUgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdXRpbC9WYWx1ZS5qYXZhIChWYWx1ZSk6IFVwZGF0ZSBmb3IKCXJlYWwgVk1JZE1hbmFnZXIgQVBJLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdXRpbC9Mb2NhdGlvbi5qYXZhIChMb2NhdGlvbik6IExpa2V3aXNlLgoKMjAwNS0wOC0yNSAgS2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvRXZlbnRSZXF1ZXN0Q29tbWFuZFNldC5qYXZhCgkoZXhlY3V0ZVNldCk6IFVzZSBjb25zdGFudHMgZm9yIGNhc2UgdmFsdWVzLgoJRml4ICJ0eXBvIjogSXQgaXMgcmVhbGx5IFRocmVhZE9ubHlGaWx0ZXIuCglDb3JyZWN0IGFyZ3VtZW50cyB0byBJbnN0YW5jZU9ubHlGaWx0ZXIuCgoyMDA1LTA4LTI1ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9Db21tYW5kU2V0LmphdmEgKENvbW1hbmRTZXQpOiBNYWtlCglhbiBhYnN0cmFjdCBjbGFzcy4KCUFkZCBwcm90ZWN0ZWQgdmFyaWFibGVzIGZvciBWTUlkTWFuYWdlciBhbmQgVk1WaXJ0dWFsTWFjaGluZS4KCShydW5Db21tYW5kKTogTWFrZSBhYnN0cmFjdC4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9BcnJheVJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YQoJKEFycmF5UmVmZXJlbmNlQ29tbWFuZFNldCk6IERlcml2ZSBmcm9tIENvbW1hbmRTZXQgaW5zdGVhZCBvZgoJaW1wbGVtZW50aW5nIGl0LiBSZW1vdmUgcHJpdmF0ZSBob29rcyB0byBJRCBtYW5hZ2VyIGFuZCBWTS4KCVVwZGF0ZSBhbGwgVk1JZE1hbmFnZXIgYW5kIEV2ZW50TWFuYWdlciBBUEkgY2FsbHMuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQXJyYXlUeXBlQ29tbWFuZFNldC5qYXZhCgkoQXJyYXlUeXBlQ29tbWFuZFNldCk6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0NsYXNzTG9hZGVyUmVmZXJlbmNlQ29tbWFuZFNldC5qYXZhCgkoQ2xhc3NMb2FkZXJSZWZlcmVuY2VDb21tYW5kU2V0KTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQ2xhc3NPYmplY3RSZWZlcmVuY2VDb21tYW5kU2V0LmphdmEKCShDbGFzc09iamVjdFJlZmVyZW5jZUNvbW1hbmRTZXQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9DbGFzc1R5cGVDb21tYW5kU2V0LmphdmEKCShDbGFzc1R5cGVDb21tYW5kU2V0KTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvRXZlbnRSZXF1ZXN0Q29tbWFuZFNldC5qYXZhCgkoRXZlbnRSZXF1ZXN0Q29tbWFuZFNldCk6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0ZpZWxkQ29tbWFuZFNldC5qYXZhCgkoRmllbGRDb21tYW5kU2V0KTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvSW50ZXJmYWNlVHlwZUNvbW1hbmRTZXQuamF2YQoJKEludGVyZmFjZVR5cGVDb21tYW5kU2V0KTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvTWV0aG9kQ29tbWFuZFNldC5qYXZhCgkoTWV0aG9kQ29tbWFuZFNldCk6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL09iamVjdFJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YQoJKE9iamVjdFJlZmVyZW5jZUNvbW1hbmRTZXQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9SZWZlcmVuY2VUeXBlQ29tbWFuZFNldC5qYXZhCgkoUmVmZXJlbmNlVHlwZUNvbW1hbmRTZXQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9TdGFja0ZyYW1lQ29tbWFuZFNldC5qYXZhCgkoU3RhY2tGcmFtZUNvbW1hbmRTZXQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9TdHJpbmdSZWZlcmVuY2VDb21tYW5kU2V0LmphdmEKCShTdHJpbmdSZWZlcmVuY2VDb21tYW5kU2V0KTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvVGhyZWFkR3JvdXBSZWZlcmVuY2VDb21tYW5kU2V0LmphdmEKCShUaHJlYWRHcm91cFJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YSk6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL1RocmVhZFJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YQoJKFRocmVhZFJlZmVyZW5jZUNvbW1hbmRTZXQpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9WaXJ0dWFsTWFjaGluZUNvbW1hbmRTZXQuamF2YQoJKFZpcnR1YWxNYWNoaW5lQ29tbWFuZFNldCk6IExpa2V3aXNlLgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9UaHJlYWRSZWZlcmVuY2VDb21tYW5kU2V0LmphdmEKCShleGVjdXRlU3RhdHVzKTogRml4IGNvbnN0YW50IG5hbWUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvVmlydHVhbE1hY2hpbmVDb21tYW5kU2V0LmphdmEKCShleGVjdXRlRGlzcG9zZU9iamVjdHMpOiBEb24ndCBkbyBhbnl0aGluZyB5ZXQgLS0gdGhpcwoJaXMgdW5pbXBsZW1lbnRlZC4KCQoyMDA1LTA4LTI1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJUmVwb3J0ZWQgYnkgQmFzdGlhYW4gSHVpc21hbiA8aHVpc21hbkBzY2llbmNlLnV2YS5ubD4KCSogc2NyaXB0cy90emFiYnJldnM6IENoYW5nZSBBbWVyaWNhL0J1ZW5vc19BaXJlcyB0bwoJQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIGZvciBBR1QgbGluay4KCSogc2NyaXB0cy90aW1lem9uZXMucGwgKHBhcnNlVGltZSk6IEFzc3VtZSBhbmQgcmV0dXJuIHdhbGwgdGltZS4KCVJlaW5kZW50IG91dHB1dC4KCSogamF2YS91dGlsL1RpbWVab25lLmphdmEgKHRpbWV6b25lcyk6IFJlZ2VuZXJhdGUgdXNpbmcgdHpkYXRhMjAwNWwuCgoyMDA1LTA4LTI1ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL2V2ZW50L0V2ZW50TWFuYWdlci5qYXZhOiBOZXcgZmlsZSBjb25jZXJuaW5nCglKRFdQIGV2ZW50IHJlcXVlc3QgbWFuYWdlbWVudCBhbmQgbm90aWZpY2F0aW9uIGluZnJhc3RydWN0dXJlLgoKMjAwNS0wOC0yNSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIHNjcmlwdHMvZWNsaXBzZS1nbnUueG1sOiBSZXZlcnRlZCBteSBwYXRjaCAyMDA1LTA3LTMxLgogICAgICAgIAoyMDA1LTA4LTI1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlRleHRQYW5lLmphdmEKCShKVGV4dFBhbmUoKSk6IERvbid0IHNldCB0aGUgZG9jdW1lbnQgdG8gbnVsbCBoZXJlLgoKMjAwNS0wOC0yNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKFJvb3RWaWV3LnByZWZlcmVuY2VDaGFuZ2VkKTogUmV2YWxpZGF0ZSB0aGUgdGV4dCBjb21wb25lbnQuCgkoUm9vdFZpZXcuc2V0UGFyZW50KTogU2V0IHBhcmVudCBvZiB2aWV3cyB0byBudWxsLiBUaGUgcGFyZW50CglvZiB0aGUgYWRkZWQgY2hpbGQgdmlldyBpcyBzZXQgdG8gdGhlIHJvb3QgdmlldyBpbiB0aGUKCUJhc2ljVGV4dFVJIGNsYXNzLgoJKFJvb3RWaWV3LmdldFZpZXcpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKFJvb3RWaWV3LmdldFZpZXdDb3VudCk6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkoUm9vdFZpZXcuY2hhbmdlZFVwZGF0ZSk6IFVzZSB0aGUgY29ycmVjdCBWaWV3RmFjdG9yeSBoZXJlLgoJKFJvb3RWaWV3Lmluc2VydFVwZGF0ZSk6IFVzZSB0aGUgY29ycmVjdCBWaWV3RmFjdG9yeSBoZXJlLgoJKFJvb3RWaWV3LnJlbW92ZVVwZGF0ZSk6IFVzZSB0aGUgY29ycmVjdCBWaWV3RmFjdG9yeSBoZXJlLgoJKHNldFZpZXcpOiBTZXQgdGhlIHZpZXcncyBwYXJlbnQgdG8gdGhlIHJvb3Qgdmlldy4KCjIwMDUtMDgtMjUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJKFZpZXcpOiBEb24ndCBtYW5hZ2UgY2hpbGQgdmlld3MgaGVyZS4KCShnZXRDb250YWluZXIpOiBUaHJvdyBBc3NlcnRpb25FcnJvciBpZiB3ZSBoYXZlIG5vIHBhcmVudC4gVGhpcwoJc2hvdWxkIG5vdCBoYXBwZW4uCgkoYXBwZW5kKTogQ2FsbCByZXBsYWNlIHRvIGRvIHRoZSByZWFsIGFjdGlvbi4gQ2hpbGQgdmlld3MKCWFyZSBub3QgbWFuYWdlZCBpbiB0aGUgVmlldyBjbGFzcyBpdHNlbGYuCgkocmVtb3ZlQWxsKTogR2l2ZSByZXBsYWNlIGFuIGVtcHR5IGFycmF5IGluc3RlYWQgb2YgbnVsbC4KCUF2b2lkcyBOUEVzIGluIHN1YmNsYXNzZXMgdGhhdCBkb24ndCBoYW5kbGUgdGhlIG51bGwgY2FzZS4KCShwcmVmZXJlbmNlQ2hhbmdlZCk6IERvbid0IHJldmFsaWRhdGUgaGVyZS4gVGhpcyBpcyB0b28KCWV4cGVuc2l2ZSBhbmQgbm90IG5lY2Vzc2FyeS4KCSh1cGRhdGVDaGlsZHJlbik6IExldCByZXBsYWNlIGRvIHRoZSBhY3R1YWwgYWN0aW9uLiBXZSBkb24ndAoJbWFuYWdlIGNoaWxkIHZpZXdzIGluIHRoZSBWaWV3IGNsYXNzLgoJKGZvcndhcmRVcGRhdGUpOiBEb24ndCBhY2Nlc3MgY2hpbGRyZW4gZGlyZWN0bHkuCgkoZHVtcCk6IEFkZGVkIHBhY2thZ2UgcHJpdmF0ZSBtZXRob2RzIHVzZWZ1bCBmb3IgZGVidWdnaW5nLgoKMjAwNS0wOC0yNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVkRWRpdG9yS2l0LmphdmEKCShTdHlsZWRWaWV3RmFjdG9yeS5jcmVhdGUpOiBVc2UgbmV3IEJveFZpZXcgY29uc3RydWN0b3IuIFRocm93CglBc3NlcnRpb25FcnJvciBpZiBhbiB1bmtub3duIGVsZW1lbnQgdHlwZSBpcyBlbmNvdW50ZXJlZCwKCXNpbmNlIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4uCgoyMDA1LTA4LTI1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HbHlwaFZpZXcuamF2YQoJKEdseXBoUGFpbnRlcik6IEltcGxlbWVudGVkIGFic3RyYWN0IGlubmVyIGNsYXNzLgoJKERlZmF1bHRHbHlwaFBhaW50ZXIpOiBJbXBsZW1lbnRlZCBjb25jcmV0ZSBpbXBsIG9mCglHbHlwaFBhaW50ZXIuCgkoZ2V0R2x5cGhQYWludGVyKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShzZXRHbHlwaFBhaW50ZXIpOiBMaWtld2lzZS4KCShjaGVja1BhaW50ZXIpOiBMaWtld2lzZS4KCShwYWludCk6IExpa2V3aXNlLgoJKGdldFByZWZlcnJlZFNwYW4pOiBMaWtld2lzZS4KCShtb2RlbFRvVmlldyk6IExpa2V3aXNlLgoJKGdldFRhYkV4cGFuZGVyKTogTGlrZXdpc2UuCgkoZ2V0VGFiYmVkU3Bhbik6IExpa2V3aXNlLgoJKGdldFBhcnRpYWxTcGFuKTogTGlrZXdpc2UuCgkoZ2V0QmVnaW5JbmRleCk6IExpa2V3aXNlLgoJKGdldEVuZEluZGV4KTogTGlrZXdpc2UuCgkoZ2V0VGV4dCk6IExpa2V3aXNlLgoJKGdldEZvbnQpOiBMaWtld2lzZS4KCShnZXRGb3JlZ3JvdW5kKTogTGlrZXdpc2UuCgoyMDA1LTA4LTI1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEKCShnZXRTdHJpbmcpOiBUaHJvdyBCYWRMb2NhdGlvbkV4Y2VwdGlvbiBpbnN0ZWFkIG9mIGxldHRpbmcKCWEgU3RyaW5nSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbiBidWJibGUgdXAuCgoyMDA1LTA4LTI1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9QYXJhZ3JhcGhWaWV3LmphdmEKCShSb3cpOiBJbXBsZW1lbnRlZCBpbm5lciBjbGFzcy4KCShQYXJhZ3JhcGhWaWV3KEVsZW1lbnQpKTogSW1wbGVtZW50ZWQgY29uc3RydWN0b3IuCgkobmV4dFRhYlN0b3ApOiBBZGRlZCBkdW1teSBpbXBsZW1lbnRhdGlvbiBmb3IgVGFiRXhwYW5kZXIKCWludGVyZmFjZS4KCShjcmVhdGVSb3cpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoKMjAwNS0wOC0yNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvRmxvd1ZpZXcuamF2YQoJKEZsb3dTdHJhdGVneSk6IEltcGxlbWVudGVkIGlubmVyIGNsYXNzLgoJKExvZ2ljYWxWaWV3KTogTGlrZXdpc2UuCgkoRmxvd1ZpZXcoRWxlbWVudCwgaW50KSk6IEltcGxlbWVudGVkIGNvbnN0cnVjdG9yLgoJKGdldEZsb3dBeGlzKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShnZXRGbG93U3Bhbik6IExpa2V3aXNlLgoJKGdldEZsb3dTdGFydCk6IExpa2V3aXNlLgoJKGNyZWF0ZVJvdyk6IEFkZGVkIG5ldyBhYnN0cmFjdCBtZXRob2QuCgkobG9hZENoaWxkcmVuKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShsYXlvdXQpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKGluc2VydFVwZGF0ZSk6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkocmVtb3ZlVXBkYXRlKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShjaGFuZ2VkVXBkYXRlKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShnZXRWaWV3SW5kZXhBdFBvc2l0aW9uKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCjIwMDUtMDgtMjUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvc2l0ZVZpZXcuamF2YQoJKGxvYWRDaGlsZHJlbik6IENhbGwgcmVwbGFjZSB0byBhY3R1YWxseSBjaGFuZ2UgdGhlIGNoaWxkCgllbGVtZW50cy4gVGhpcyB3YXkgc3ViY2xhc3NlcyBjYW4gbW9kaWZ5IHRoZSBjaGlsZAoJbWFuYWdlbWVudCBiZWhhdmlvdXIgYnkgc2ltcGx5IG92ZXJyaWRpbmcgcmVwbGFjZS4KCShzZXRQYXJlbnQpOiBPbmx5IGNhbGwgbG9hZENoaWxkcmVuIGlmIHRoZSBwYXJlbnQgdG8gYmUgc2V0CglpcyBhY3R1YWxseSBub3QgbnVsbC4KCShyZXBsYWNlKTogQ2hlY2sgZm9yIG51bGwgY2hpbGRyZW4uIFNldCB0aGUgcGFyZW50IG9mIHJlbW92ZWQKCWNoaWxkcmVuIHRvIG51bGwuIFNldCB0aGUgcGFyZW50IG9mIHRoZSBhZGRlZCBjaGlsZHJlbiB0bwoJdGhpcy4KCShtb2RlbFRvVmlldyk6IEFkZGVkIHNvbWUgc2FuaXR5IGNoZWNrcy4KCjIwMDUtMDgtMjUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0JveFZpZXcuamF2YQoJKEJveFZpZXcoRWxlbWVudCwgaW50KSk6IEltcGxlbWVudGVkLgoJKGdldEF4aXMpOiBMaWtld2lzZS4KCShzZXRBeGlzKTogTGlrZXdpc2UuCgkobGF5b3V0Q2hhbmdlZCk6IExpa2V3aXNlLgoJKGlzTGF5b3V0VmFsaWQpOiBMaWtld2lzZS4KCShwYWludENoaWxkKTogTGlrZXdpc2UuCgkocmVwbGFjZSk6IExpa2V3aXNlLgoJKHBhaW50KTogTGlrZXdpc2UuCgkoZ2V0UHJlZmVycmVkU3Bhbik6IExpa2V3aXNlLgoJKGdldE1heGltdW1TcGFuKTogTGlrZXdpc2UuCgkoYmFzZWxpbmVSZXF1aXJlbWVudHMpOiBMaWtld2lzZS4KCShjYWxjdWxhdGVNYWpvckF4aXNSZXF1aXJlbWVudHMpOiBMaWtld2lzZS4KCShjYWxjdWxhdGVNaW5vckF4aXNSZXF1aXJlbWVudHMpOiBMaWtld2lzZS4KCShpc0JlZm9yZSk6IExpa2V3aXNlLgoJKGlzQWZ0ZXIpOiBMaWtld2lzZS4KCShnZXRWaWV3QXRQb2ludCk6IExpa2V3aXNlLgoJKGNoaWxkQWxsb2NhdGlvbik6IExpa2V3aXNlLgoJKGxheW91dCk6IExpa2V3aXNlLgoJKGxheW91dE1ham9yQXhpcyk6IExpa2V3aXNlLgoJKGxheW91dE1pbm9yQXhpcyk6IExpa2V3aXNlLgoJKGlzQWxsb2NhdGlvblZhbGlkKTogTGlrZXdpc2UuCgkoZ2V0V2lkdGgpOiBMaWtld2lzZS4KCShnZXRIZWlnaHQpOiBMaWtld2lzZS4KCShzZXRTaXplKTogTGlrZXdpc2UuCgkodmFsaWRhdGVMYXlvdXQpOiBMaWtld2lzZS4KCjIwMDUtMDgtMjUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKEFic3RyYWN0RWxlbWVudC5kdW1wRWxlbWVudCk6IFRocm93IEFzc2VydGlvbkVycm9yIHdoZW4KCWEgQmFkTG9jYXRpb25FeGNlcHRpb24gaXMgZW5jb3VudGVyZWQuCgkoQnJhbmNoRWxlbWVudC5nZXRFbGVtZW50SW5kZXgpOiBSZXR1cm4gLTEgaWYgdGhlcmUgaXMgbm8gY2hpbGQKCWVsZW1lbnQuIFJldHVybiBlbGVtZW50Q291bnQgLSAxIGlmIHRoZSByZXF1ZXN0ZWQgb2Zmc2V0IGlzIGFmdGVyCgl0aGUgY2hpbGQgZWxlbWVudHMgb2YgdGhhdCBlbGVtZW50LgoJKEJyYW5jaEVsZW1lbnQuZ2V0RW5kT2Zmc2V0KTogVGhyb3cgTlBFIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8KCWNoaWxkcmVuLgoJKEJyYW5jaEVsZW1lbnQuZ2V0U3RhcnRPZmZzZXQpOiBUaHJvdyBOUEUgaWYgdGhpcyBlbGVtZW50IGhhcwoJbm8gY2hpbGRyZW4uCgkoRGVmYXVsdERvY3VtZW50RXZlbnQuYWRkRWRpdCk6IEltcGxlbWVudGVkLgoJKERlZmF1bHREb2N1bWVudEV2ZW50LmdldENoYW5nZSk6IEltcGxlbWVudGVkLgoKMjAwNS0wOC0yNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlBhc3N3b3JkRmllbGQuamF2YQoJKHNldFRleHQpOiBDaGFuZ2VkIHRvIHJhaXNlIGFuIEFzc2VydGlvbkVycm9yIHdoZW4gYSAKCUJhZExvY2F0aW9uRXhjZXB0aW9uIGlzIGNhdWdodC4KCjIwMDUtMDgtMjUgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzogQ2FsbCBBQ19QUk9HX0NYWC4KCjIwMDUtMDgtMjUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3htbC9uYW1lc3BhY2UvUU5hbWUuamF2YTogVXBkYXRlZCBib2lsZXJwbGF0ZSBhZGRyZXNzLgoJKiBnbnUveG1sL3hwYXRoL1hQYXRoUGFyc2VyLnk6IExpa2V3aXNlLgoJKiBnbnUveG1sL3hwYXRoL1hQYXRoUGFyc2VyLmphdmE6IFJlZ2VuZXJhdGVkLgoKMjAwNS0wOC0yNSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3htbC9kYXRhdHlwZS9EYXRhdHlwZUZhY3RvcnkuamF2YTogbWlub3IgQVBJIGRvYyBmaXhlcywKCSogamF2YXgveG1sL3BhcnNlcnMvRG9jdW1lbnRCdWlsZGVyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC94bWwvcGFyc2Vycy9TQVhQYXJzZXIuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3htbC90cmFuc2Zvcm0vU291cmNlLmphdmE6IGxpa2V3aXNlLgoKMjAwNS0wOC0yNSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVNb2RlbC5qYXZhCgkobm9kZXNXZXJlUmVtb3ZlZCk6IG1pbm9yIEFQSSBkb2MgZml4LgoJCjIwMDUtMDgtMjUgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhCgkoYWN0aXZlQkdDb2xvcik6IHJlbW92ZWQsCgkoYWN0aXZlRkdDb2xvcik6IHJlbW92ZWQsCgkoaW5hY3RpdmVCR0NvbG9yKTogcmVtb3ZlZCwKCShpbmFjdGl2ZUZHQ29sb3IpOiByZW1vdmVkLAoJKGluc3RhbGxEZWZhdWx0cyk6IHJlcGxhY2VkIHJlbW92ZWQgZmllbGRzIGFib3ZlIHdpdGggY29ycmVjdCBvbmVzLAoJKHVuaW5zdGFsbERlZmF1bHRzKTogbGlrZXdpc2UsCgkoc2V0QnV0dG9uSWNvbnMpOiBpbXBsZW1lbnRlZCwKCShwYWludENvbXBvbmVudCk6IHJlcGxhY2VkIHJlbW92ZWQgZmllbGRzIGFib3ZlIHdpdGggY29ycmVjdCBvbmVzOwoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhOiBpbXBsZW1lbnRlZCwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEludGVybmFsRnJhbWVVSS5qYXZhCgkoY3JlYXRlTm9ydGhQYW5lKTogaW1wbGVtZW50ZWQsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogYWRkZWQgaW50ZXJuYWwgZnJhbWUgaWNvbnMuCgoyMDA1LTA4LTI1ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhIChnZXRGb250KTogVGhyb3cKCVJ1bnRpbWVFeGNlcHRpb24gaW4gY2FzZSBvZiBlcnJvci4KCSogZ251L2phdmEvYXd0L0VtYmVkZGVkV2luZG93LmphdmEgKGFkZE5vdGlmeSk6IExpa2V3aXNlLgoKMjAwNS0wOC0yNCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQnV0dG9uUGVlci5jCgkoYmVnaW5OYXRpdmVSZXBhaW50SUQpOiBSZW1vdmUgdmFyaWFibGUuCgkoZW5kTmF0aXZlUmVwYWludElEKTogTGlrZXdpc2UuCgkoY3BfZ3RrX2J1dHRvbl9pbml0X2puaSk6IERvbid0IGxvb2sgdXAgYmVnaW5OYXRpdmVSZXBhaW50IGFuZAoJZW5kTmF0aXZlUmVwYWludCBtZXRob2RzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEgKHJlc2l6aW5nKTogUmVtb3ZlCglmaWVsZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1dpbmRvd1BlZXIuamF2YSwKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHJlc2l6aW5nKTogUmVtb3ZlIGZpZWxkLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRmlsZURpYWxvZ1BlZXIuamF2YSAoaGlkaW5nKTogUmVtb3ZlCglmaWVsZC4KCShzZXRWaXNpYmxlKTogRG9uJ3Qgb3ZlcnJpZGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDaG9pY2VQZWVyLmphdmEsCgluYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyLmMKCShzZWxlY3ROYXRpdmUpOiBOZXcgbWV0aG9kLgoJKHNlbGVjdE5hdGl2ZVVubG9ja2VkKTogTGlrZXdpc2UuCgkoc2VsZWN0KTogQ2FsbCBzZXROYXRpdmVVbmxvY2tlZCBpZiBpbiB0aGUgR1RLIG1haW4gdGhyZWFkLAoJc2VsZWN0TmF0aXZlIG90aGVyd2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSwKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKGd0a1dpZGdldFNldEN1cnNvclVubG9ja2VkKTogTmV3IG1ldGhvZC4KCShzZXRDdXJzb3IoQ3Vyc29yKSk6IENhbGwgZ3RrV2lkZ2V0U2V0Q3Vyc29yVW5sb2NrZWQgaWYgaW4gdGhlIEdUSwoJbWFpbiB0aHJlYWQsIGd0a1dpZGdldFNldEN1cnNvciBvdGhlcndpc2UuCgkoc2V0VmlzaWJsZU5hdGl2ZSk6IE5ldyBtZXRob2QuCgkoc2V0VmlzaWJsZU5hdGl2ZVVubG9ja2VkKTogTGlrZXdpc2UuCgkoc2V0VmlzaWJsZSk6IENhbGwgc2V0VmlzaWJsZU5hdGl2ZVVubG9ja2VkIGlmIGluIHRoZSBHVEsgbWFpbgoJdGhyZWFkLCBzZXRWaXNpYmxlTmF0aXZlIG90aGVyd2lzZS4KCShoaWRlKTogQ2FsbCBzZXRWaXNpYmxlKGZhbHNlKS4KCShzaG93KTogQ2FsbCBzZXRWaXNpYmxlKHRydWUpLgoKMjAwNS0wOC0yNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YSAoY29tcGlsZUZvcm1hdCk6IENvcnJlY3RseQoJaGFuZGxlIHF1b3RlZCBzaW5nbGUgcXVvdGVzLiAgUFIgY2xhc3NwYXRoLzIzMTgzLgoKMjAwNS0wOC0yNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogdm0vcmVmZXJlbmNlL2dudS9jbGFzc3BhdGgvamR3cC9WTUZyYW1lLmphdmE6IFVwZGF0ZSBjb3B5cmlnaHQKCWJvaWxlcnBsYXRlIGFkZHJlc3MuCgkqIHZtL3JlZmVyZW5jZS9nbnUvY2xhc3NwYXRoL2pkd3AvVk1JZE1hbmFnZXIuamF2YTogTGlrZXdpc2UuCgoyMDA1LTA4LTI0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBkb2Mvd3d3LmdudS5vcmcvbmV3c2l0ZW1zLnR4dDogRml4IGFubm91bmNlbWVudCB1cmwuCgoyMDA1LTA4LTI0ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEljb25GYWN0b3J5LmphdmEKCShJbnRlcm5hbEZyYW1lQ2xvc2VJY29uKTogbmV3IHByaXZhdGUgY2xhc3MsCgkoSW50ZXJuYWxGcmFtZUFsdE1heGltaXplSWNvbik6IGxpa2V3aXNlLAoJKEludGVybmFsRnJhbWVNYXhpbWl6ZUljb24pOiBsaWtld2lzZSwKCShJbnRlcm5hbEZyYW1lTWluaW1pemVJY29uKTogbGlrZXdpc2UsCgkoZ2V0SW50ZXJuYWxGcmFtZUNsb3NlSWNvbik6IGltcGxlbWVudGVkLAoJKGdldEludGVybmFsRnJhbWVNYXhpbWl6ZUljb24pOiBpbXBsZW1lbnRlZCwKCShnZXRJbnRlcm5hbEZyYW1lTWluaW1pemVJY29uKTogaW1wbGVtZW50ZWQsCgkoZ2V0SW50ZXJuYWxGcmFtZUFsdE1heGltaXplSWNvbik6IGltcGxlbWVudGVkLgoKMjAwNS0wOC0yNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L0NPUkJBL0ZvcndhcmRSZXF1ZXN0SGVscGVyLmphdmE6IFVwZGF0ZSBjb3B5cmlnaHQgYm9pbGVycGxhdGUKCWFkZHJlc3MuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQ29tbWFuZFNldC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9TdHJpbmdSZWZlcmVuY2VDb21tYW5kU2V0LmphdmE6CglMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9DbGFzc0xvYWRlclJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YToKCUxpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0NsYXNzVHlwZUNvbW1hbmRTZXQuamF2YTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvU3RhY2tGcmFtZUNvbW1hbmRTZXQuamF2YTogTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvVGhyZWFkUmVmZXJlbmNlQ29tbWFuZFNldC5qYXZhOgoJTGlrZXdpc2UuCgkqIGdudS9jbGFzc3BhdGgvamR3cC91dGlsL0xpbmVUYWJsZS5qYXZhOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3V0aWwvTWV0aG9kUmVzdWx0LmphdmE6IExpa2V3aXNlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdXRpbC9WYXJpYWJsZVRhYmxlLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC94bWwvbmFtZXNwYWNlL1FOYW1lLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkFueUZhY3RvcnlTdHViLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkFueVN0dWIuamF2YTogTGlrZXdpc2UuCgkqIG9yZy9vbWcvRHluYW1pY0FueS9fRHluQXJyYXlTdHViLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkVudW1TdHViLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkZpeGVkU3R1Yi5qYXZhOiBMaWtld2lzZS4KCSogb3JnL29tZy9EeW5hbWljQW55L19EeW5TZXF1ZW5jZVN0dWIuamF2YTogTGlrZXdpc2UuCgkqIG9yZy9vbWcvRHluYW1pY0FueS9fRHluU3RydWN0U3R1Yi5qYXZhOiBMaWtld2lzZS4KCSogb3JnL29tZy9EeW5hbWljQW55L19EeW5VbmlvblN0dWIuamF2YTogTGlrZXdpc2UuCgkqIG9yZy9vbWcvRHluYW1pY0FueS9fRHluVmFsdWVTdHViLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL1BvcnRhYmxlU2VydmVyL0ZvcndhcmRSZXF1ZXN0LmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL1BvcnRhYmxlU2VydmVyL0N1cnJlbnRIZWxwZXIuamF2YTogTGlrZXdpc2UuCgkqIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvRm9yd2FyZFJlcXVlc3RIZWxwZXIuamF2YTogTGlrZXdpc2UuCgkqIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudEFjdGl2YXRvckhlbHBlci5qYXZhOiBMaWtld2lzZS4KCSogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9TZXJ2YW50TG9jYXRvckhlbHBlci5qYXZhOiBMaWtld2lzZS4KCSogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9fU2VydmFudEFjdGl2YXRvclN0dWIuamF2YTogTGlrZXdpc2UuCgkqIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvX1NlcnZhbnRMb2NhdG9yU3R1Yi5qYXZhOiBMaWtld2lzZS4KCjIwMDUtMDgtMjQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzogU2V0IHZlcnNpb24gdG8gMC4xOC1wcmUuCgoyMDA1LTA4LTI0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBkb2Mvd3d3LmdudS5vcmcvbmV3c2l0ZW1zLnR4dDogQWRkIEdlbmVyaWNzIEJyYW5jaCBNZXJnZQoJQW5ub3VuY2VtZW50LgoKMjAwNS0wOC0yNCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdENlbGxFZGl0b3IuamF2YQoJKGlzQ2VsbEVkaXRhYmxlKTogUmV2ZXJzZWQgbGFzdCBjaGFuZ2VzLgoKMjAwNS0wOC0yNCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdENlbGxFZGl0b3IuamF2YQoJKGlzQ2VsbEVkaXRhYmxlKTogSWYgdGhlIGV2ZW50IGlzIG51bGwsIHRoZSBjZWxsIGlzIHN0aWxsIAoJZWRpdGFibGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKGdldFZpc2libGVFZGl0b3JSZWN0KTogVXNlIGdldFByZWZlcnJlZFNpemUgdG8gZ2V0IHRoZSB3aWR0aAoJYW5kIGhlaWdodC4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxFZGl0b3IuamF2YQoJKHBhaW50KTogRml4ZWQgdG8gcGFpbnQgdGhlIEpUZXh0RmllbGQgd2l0aCB0aGUgYmFja2dyb3VuZAoJYW5kIGJvcmRlciBhdCB0aGUgY29ycmVjdCBsb2NhdGlvbi4KCShEZWZhdWx0VHJlZUNlbGxFZGl0b3IpOiBDaGFuZ2VkIHRvIGluaXRpYWxpemUgcmVhbEVkaXRvci4KCShjb25maWd1cmVFZGl0aW5nQ29tcG9uZW50KTogSGVscGVyIGZ1bmN0aW9uIGltcGxlbWVudGVkLgoJKGdldFRyZWVDZWxsRWRpdG9yQ29tcG9uZW50KTogRml4ZWQgdG8gdXNlIHJlYWxFZGl0b3IgdG8gZ2V0IGNvbXBvbmVudC4KCShpc0NlbGxFZGl0YWJsZSk6IEZpeGVkIHRvIGNvbmZpZ3VyZSBlZGl0aW5nIGNvbXBvbmVudC4KCShzaG91bGRTZWxlY3RDZWxsKTogQWx3YXlzIHJldHVybnMgdHJ1ZS4KCShzdG9wQ2VsbEVkaXRpbmcpOiBGaXhlZCB0byBjb25maWd1cmUgZWRpdGluZyBjb21wb25lbnQgaWYgbmVlZGVkLgoJKGNhbmNlbENlbGxFZGl0aW5nKTogRml4ZWQgdG8gY29uZmlndXJlIGVkaXRpbmcgY29tcG9uZW50IGlmIG5lZWRlZC4KCShjcmVhdGVUcmVlQ2VsbEVkaXRvcik6IEZpeGVkIHRvIGluaXRpYWxpemUgZmllbGRzLgoKMjAwNS0wOC0yNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogcmVzb3VyY2UvamFwaGFyLTAuMDkucGF0Y2guMTogUmVtb3ZlZC4KCSogcmVzb3VyY2Uvb3JwLTEuMC44LnBhdGNoOiBSZW1vdmVkLgoJKiByZXNvdXJjZS9vcnAtMS4wLjkucGF0Y2g6IFJlbW92ZWQuCgkqIHJlc291cmNlL01ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogUmVtb3ZlZC4KCjIwMDUtMDgtMjQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIE5FV1M6IFNwbGl0IGluIGdlbmVyYWwgY2hhbmdlcyBhbmQgdm0gaW50ZXJmYWNlIGNoYW5nZXMuIEFkZCBSYXdEYXRhCgl0byBQb2ludGVyIGNvbnZlcnNpb24uCgoyMDA1LTA4LTI0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfVk1Eb3VibGUuYwoJKEphdmFfamF2YV9sYW5nX1ZNRG91YmxlX3BhcnNlRG91YmxlKTogUmVtb3ZlIEtJU1NNRV9MSU5VWF9VU0VSIGhhY2suCgoyMDA1LTA4LTI0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBjb25maWd1cmUuYWM6IENoZWNrIGZvciBRdEd1aSA+PSA0LjAuMS4gQ2hlY2sgZm9yIGFuZAoJYWRkIGV4dHJhIGluY2x1ZGUgZGlycyAoJGluY2x1ZGVkaXIvUXQpIHRvIFFUX0NGTEFHUy4KCSogbmF0aXZlL2puaS9xdC1wZWVyLy5jdnNpZ25vcmU6IEFkZCBzbG90Y2FsbGJhY2tzLm1vYy5oLgoJKiBuYXRpdmUvam5pL3F0LXBlZXIvTWFrZWZpbGUuYW0gKFFUX0NYWEZMQUdTKTogUmVtb3ZlZC4KCShsaWJxdHBlZXJfbGFfQ1hYRkxBR1MpOiBSZW1vdmVkLgoJKGxpYnF0cGVlcl9sYV9MREZMQUdTKTogUmVtb3ZlZC4KCShBTV9MREZMQUdTKTogU2V0IHRvIEBDTEFTU1BBVEhfTU9EVUxFQCBAUVRfTElCU0AuCgkoQU1fQ1hYRkxBR1MpOiBTZXQgdG8gQFFUX0NGTEFHU0AuCgoyMDA1LTA4LTI0ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKToganVzdCBmZXRjaCBib3JkZXIgZnJvbSBVSURlZmF1bHRzLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSWNvbkZhY3RvcnkuamF2YQoJKEludGVybmFsRnJhbWVEZWZhdWx0TWVudUljb24pOiBpbXBsZW1lbnRlZCwKCShnZXRJbnRlcm5hbEZyYW1lRGVmYXVsdE1lbnVJY29uKTogaW1wbGVtZW50ZWQsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogYWRkIHZhbHVlcyBmb3IgIkludGVybmFsRnJhbWUuYm9yZGVyIiBhbmQKCSJJbnRlcm5hbEZyYW1lLmljb24iLgoKMjAwNS0wOC0yNCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCb3JkZXJzLmphdmEKCShJbnRlcm5hbEZyYW1lQm9yZGVyKTogaW1wbGVtZW50ZWQuCgkKMjAwNS0wOC0yNCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNEZXNrdG9wUGFuZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBzZXQgYmFja2dyb3VuZCBjb2xvciB1c2luZyAiZGVza3RvcCIgY29sb3IsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdFN5c3RlbUNvbG9yRGVmYXVsdHMpOiByZW1vdmVkICJEZXNrdG9wLmJhY2tncm91bmQiIGNvbG9yLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGluaXRTeXN0ZW1Db2xvckRlZmF1bHRzKTogYWRkZWQgImRlc2t0b3AiIGNvbG9yLgoKMjAwNS0wOC0yMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoc3RvcEVkaXRpbmcpOiBJbXBsZW1lbnRlZC4KCShjYW5jZWxFZGl0aW5nKTogSW1wbGVtZW50ZWQuCgkoc3RhcnRFZGl0aW5nQXRQYXRoKTogSW1wbGVtZW50ZWQuCgkoZ2V0RWRpdGluZ1BhdGgpOiBJbXBsZW1lbnRlZC4KCShjcmVhdGVEZWZhdWx0Q2VsbEVkaXRvcik6IEltcGxlbWVudGVkLgoJKHVwZGF0ZUNlbGxFZGl0b3IpOiBJbXBsZW1lbnRlZC4KCShjb21wbGV0ZUVkaXRpbmcpOiBJbXBsZW1lbnRlZC4KCShjb21wbGV0ZUVkaXRpbmcpOiBJbXBsZW1lbnRlZC4KCShzdGFydEVkaXRpbmcpOiBJbXBsZW1lbnRlZC4KCShlZGl0aW5nU3RvcHBlZCk6IEltcGxlbWVudGVkLgoJKGVkaXRpbmdDYW5jZWxlZCk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbEVkaXRvci5qYXZhCgkoc3RvcENlbGxFZGl0aW5nKTogU3RvcHBlZCB0aGUgdGltZXIuCgkoY2FuY2VsQ2VsbEVkaXRpbmcpOiBMaWtld2lzZS4KCQoyMDA1LTA4LTIzICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Q2VsbEVkaXRvci5qYXZhCgkoZ2V0VHJlZUNlbGxFZGl0b3JDb21wb25lbnQpOiBJbXBsZW1lbnRlZCBjYXNlcyBmb3IgSkNoZWNrQm94CglhbmQgSkNvbWJvQm94LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShCYXNpY1RyZWVVSSk6IE1vdmVkIGxpbmVzIHRvIGluc3RhbGxVSSB3aGVyZSB0aGUgcmVuZGVyZXIKCWFuZCBlZGl0b3IgYXJlIGNyZWF0ZWQuCgkoaW5zdGFsbFVJKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsRWRpdG9yLmphdmEKCShnZXRQcmVmZXJyZWRTaXplKTogSW1wbGVtZW50ZWQuCgkoRGVmYXVsdFRyZWVDZWxsRWRpdG9yKTogSW1wbGVtZW50ZWQuCgkoRGVmYXVsdFRyZWVDZWxsRWRpdG9yKTogSW1wbGVtZW50ZWQuCgkoZ2V0VHJlZUNlbGxFZGl0b3JDb21wb25lbnQpOiBJbXBsZW1lbnRlZC4KCShnZXRDZWxsRWRpdG9yVmFsdWUpOiBJbXBsZW1lbnRlZC4KCShpc0NlbGxFZGl0YWJsZSk6IEltcGxlbWVudGVkLgoJKHNob3VsZFNlbGVjdENlbGwpOiBJbXBsZW1lbnRlZC4KCShzdG9wQ2VsbEVkaXRpbmcpOiBJbXBsZW1lbnRlZC4KCShjYW5jZWxDZWxsRWRpdGluZyk6IEltcGxlbWVudGVkLgoJKHZhbHVlQ2hhbmdlZCk6IEltcGxlbWVudGVkLgoJKGFjdGlvblBlcmZvcm1lZCk6IEltcGxlbWVudGVkLgoJKHNob3VsZFN0YXJ0RWRpdGluZ1RpbWVyKTogSW1wbGVtZW50ZWQuCgkoc3RhcnRFZGl0aW5nVGltZXIpOiBJbXBsZW1lbnRlZC4KCShjYW5FZGl0SW1tZWRpYXRlbHkpOiBJbXBsZW1lbnRlZC4KCShpbkhpdFJlZ2lvbik6IEltcGxlbWVudGVkLgoJKGRldGVybWluZU9mZnNldCk6IEltcGxlbWVudGVkLgoJKHByZXBhcmVGb3JFZGl0aW5nKTogSW1wbGVtZW50ZWQuCgkoY3JlYXRlQ29udGFpbmVyKTogSW1wbGVtZW50ZWQuCgkoY3JlYXRlVHJlZUNlbGxFZGl0b3IpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMDgtMjMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmEgKGNvbXBpbGVGb3JtYXQpOiBSZWZvcm1hdHRlZC4KCjIwMDUtMDgtMjMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBjbGFzc3BhdGgvMjM1MzEKCSogamF2YS9zcWwvRGF0ZS5qYXZhICh0b1N0cmluZyk6IE5vdCBkZXByZWNhdGVkLgoJKHZhbHVlT2YpOiBMaWtld2lzZS4KCSogamF2YS9zcWwvVGltZS5qYXZhICh0b1N0cmluZyk6IE5vdCBkZXByZWNhdGVkLgoJKHZhbHVlT2YpOiBMaWtld2lzZS4KCjIwMDUtMDgtMjMgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YTogIAoJKGFkZEF1eGlsaWFyeUxvb2tBbmRGZWVsKTogcmVuYW1lZCBmaWVsZCwgYWRkZWQgY2hlY2sgZm9yIG51bGwgCglhcmd1bWVudCwKCShyZW1vdmVBdXhpbGlhcnlMb29rQW5kRmVlbCk6IHJlaW1wbGVtZW50ZWQsCgkoZ2V0QXV4aWxpYXJ5TG9va0FuZEZlZWxzKTogcmVuYW1lZCBmaWVsZCwKCShpbnN0YWxsTG9va0FuZEZlZWwpOiBpbXBsZW1lbnRlZCBieSBkZWxlZ2F0aW9uLgoKMjAwNS0wOC0yMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL1VJTWFuYWdlci5qYXZhOiBhZGRlZCBBUEkgZG9jcyBhbGwgb3Zlci4KCQoyMDA1LTA4LTIzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvVUlNYW5hZ2VyLmphdmE6IAoJKGxvb2tfYW5kX2ZlZWwpOiByZW5hbWVkIGN1cnJlbnRMb29rQW5kRmVlbCwKCShjdXJyZW50VUlEZWZhdWx0cyk6IG5ldyBmaWVsZCwKCShnZXQoT2JqZWN0KSk6IGFjY2VzcyBjYWNoZWQgVUlEZWZhdWx0cywKCShnZXQoT2JqZWN0LCBMb2NhbGUpKTogbGlrZXdpc2UsCgkoZ2V0Qm9vbGVhbihPYmplY3QpKTogbGlrZXdpc2UsCgkoZ2V0Qm9vbGVhbihPYmplY3QsIExvY2FsZSkpOiBsaWtld2lzZSwKCShnZXRCb3JkZXIoT2JqZWN0KSk6IGxpa2V3aXNlLAoJKGdldEJvcmRlcihPYmplY3QsIExvY2FsZSkpOiBsaWtld2lzZSwKCShnZXRDb2xvcihPYmplY3QpKTogbGlrZXdpc2UsCgkoZ2V0Q29sb3IoT2JqZWN0LCBMb2NhbGUpKTogbGlrZXdpc2UsCiAgICAgICAgKGdldERlZmF1bHRzKTogcmV0dXJuIHJlZmVyZW5jZSB0byBVSURlZmF1bHRzIGZyb20gY3VycmVudCBsb29rIGFuZCAKCWZlZWwgcmF0aGVyIHRoYW4gcmVjcmVhdGluZyB0aGVtIGV2ZXJ5IHRpbWUsCgkoZ2V0RGltZW5zaW9uKE9iamVjdCkpOiBhY2Nlc3MgbG9jYWwgZGVmYXVsdHMsCgkoZ2V0RGltZW5zaW9uKE9iamVjdCwgTG9jYWxlKSk6IGxpa2V3aXNlLAoJKGdldEZvbnQoT2JqZWN0KSk6IGxpa2V3aXNlLAoJKGdldEZvbnQoT2JqZWN0LCBMb2NhbGUpKTogbGlrZXdpc2UsCgkoZ2V0SWNvbihPYmplY3QpKTogbGlrZXdpc2UsCgkoZ2V0SWNvbihPYmplY3QsIExvY2FsZSkpOiBsaWtld2lzZSwKCShnZXRJbnNldHMoT2JqZWN0KSk6IGxpa2V3aXNlLAoJKGdldEluc2V0cyhPYmplY3QsIExvY2FsZSkpOiBsaWtld2lzZSwKCShnZXRJbnQoT2JqZWN0KSk6IGxpa2V3aXNlLAoJKGdldEludChPYmplY3QsIExvY2FsZSkpOiBsaWtld2lzZSwKICAgICAgICAoZ2V0TG9va0FuZEZlZWwpOiByZW5hbWVkIGF0dHJpYnV0ZSwKCShnZXRMb29rQW5kRmVlbERlZmF1bHRzKTogcmV0dXJuIHJlZmVyZW5jZSB0byBVSURlZmF1bHRzIGZyb20gY3VycmVudAoJbG9vayBhbmQgZmVlbCByYXRoZXIgdGhhbiByZWNyZWF0aW5nIHRoZW0gZXZlcnkgdGltZSwKCShnZXRTdHJpbmcoT2JqZWN0KSk6IGFjY2VzcyBsb2NhbCBkZWZhdWx0cywKCShnZXRTdHJpbmcoT2JqZWN0LCBMb2NhbGUpKTogbGlrZXdpc2UsCgkoZ2V0VUkoSkNvbXBvbmVudCkpOiBsaWtld2lzZSwKCShpbnN0YWxsTG9va0FuZEZlZWwoU3RyaW5nLCBTdHJpbmcpKTogaW1wbGVtZW50ZWQgYnkgZGVsZWdhdGlvbiwKCShwdXQoT2JqZWN0LCBPYmplY3QpKTogdXBkYXRlIGxvY2FsIGRlZmF1bHRzLAoJKHNldExvb2tBbmRGZWVsKTogY3JlYXRlIGFuZCByZXRhaW4gcmVmZXJlbmNlIHRvIFVJRGVmYXVsdHMuCgoyMDA1LTA4LTIzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvVUlNYW5hZ2VyLmphdmE6CgkoYWRkUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IGltcGxlbWVudGVkLAoJKHJlbW92ZVByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBsaWtld2lzZSwKCShnZXRQcm9wZXJ0eUNoYW5nZUxpc3RlbmVycyk6IGxpa2V3aXNlLAoJKHNldExvb2tBbmRGZWVsKTogZmlyZSBhIHByb3BlcnR5IGNoYW5nZSBldmVudC4KCQoyMDA1LTA4LTIzICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShCYXNpY1RyZWVVSSk6IE1vdmVkIHRoZXNlIGxpbmVzIHRvIGluc3RhbGxVSSAKCWJlY2F1c2UgdGhleSB3ZXJlIGNhdXNpbmcgTnVsbFBvaW50ZXJFeGNlcHRpb25zLgoJKGluc3RhbGxVSSk6IEFkZGVkIGNvZGUgZnJvbSBjb25zdHJ1Y3Rvci4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRyZWVVSS5qYXZhCgkoY3JlYXRlVUkpOiBGb3JtYXR0ZWQgY29kZS4KCjIwMDUtMDgtMjMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzogRml4ZWQgdHlwby4KCjIwMDUtMDgtMjMgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9ldmVudC9Td2luZ1Byb3BlcnR5Q2hhbmdlU3VwcG9ydC5qYXZhCgkod3JpdGVPYmplY3QpOiByZW1vdmVkIGVtcHR5IG1ldGhvZCwKCShyZWFkT2JqZWN0KTogbGlrZXdpc2UsCgkoZ2V0UHJvcGVydHlDaGFuZ2VMaXN0ZW5lcnMoKSk6IGltcGxlbWVudGVkLAoJKGdldFByb3BlcnR5Q2hhbmdlTGlzdGVuZXJzKFN0cmluZykpOiBsaWtld2lzZSwKCShoYXNMaXN0ZW5lcnMpOiByZXR1cm4gdHJ1ZSBpZiB0aGVyZSBhcmUgYW55IGdlbmVyYWwgbGlzdGVuZXJzLAoJYWRkZWQgQVBJIGRvY3MgYWxsIG92ZXIuCgkKMjAwNS0wOC0yMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0dGV4dGZpZWxkcGVlci5jcHAKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0VGV4dEZpZWxkUGVlcl9nZXRDYXJldFBvc2l0aW9uKTogUmVuYW1lZAoJZnJvbSBKYXZhX2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0VGV4dEZpZWxkUGVlcl9nZXRDYXJldFBvc2l0aW9uTmF0aXZlLgoKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRDb21wb25lbnRQZWVyLmphdmEgKGdldE1pbmltdW1TaXplTmF0aXZlKToKCVJlbW92ZWQgdW51c2VkIG5hdGl2ZSBtZXRob2QuCgkoZ2V0UHJlZmVycmVkU2l6ZU5hdGl2ZSk6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RTWF0cml4Lmg6IFJlZ2VuZXJhdGVkLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1FQYWludGVyUGF0aC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RUGVuLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0QXVkaW9DbGlwLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0QnV0dG9uUGVlci5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdENhbnZhc1BlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRDaGVja2JveFBlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRDaG9pY2VQZWVyLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q29tcG9uZW50UGVlci5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdENvbnRhaW5lclBlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXREaWFsb2dQZWVyLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RW1iZWRkZWRXaW5kb3dQZWVyLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RmlsZURpYWxvZ1BlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRGb250TWV0cmljcy5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEZvbnRQZWVyLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RnJhbWVQZWVyLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0R3JhcGhpY3MuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRHcmFwaGljc0Vudmlyb25tZW50Lmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0SW1hZ2UuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRMYWJlbFBlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRMaXN0UGVlci5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVCYXJQZWVyLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0TWVudUNvbXBvbmVudFBlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRNZW51SXRlbVBlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRNZW51UGVlci5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFBhbmVsUGVlci5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFBvcHVwTWVudVBlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRTY3JlZW5EZXZpY2UuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRTY3JvbGxQYW5lUGVlci5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFNjcm9sbGJhclBlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRUZXh0QXJlYVBlZXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRUZXh0RmllbGRQZWVyLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0VG9vbGtpdC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFZvbGF0aWxlSW1hZ2UuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRXaW5kb3dQZWVyLmg6IExpa2V3aXNlLgoKMjAwNS0wOC0yMyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvRXZlbnRRdWV1ZS5qYXZhIChnZXROZXh0RXZlbnQpOiBEb24ndCBjaGVjayBpZiB0aGlzIGlzCgl0aGUgZGlzcGF0Y2ggdGhyZWFkLgoKMjAwNS0wOC0yMyAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEF1ZGlvQ2xpcC5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q29tcG9uZW50R3JhcGhpY3MuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdENvbXBvbmVudFBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdERpYWxvZ1BlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEZvbnRQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRGcmFtZVBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEdyYXBoaWNzLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRJbWFnZS5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0SW1hZ2VHcmFwaGljcy5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0TGFiZWxQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRNZW51QmFyUGVlci5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0TWVudUNvbXBvbmVudFBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdE1lbnVQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRQYW5lbFBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFJlcGFpbnRUaHJlYWQuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFRvb2xraXQuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFZvbGF0aWxlSW1hZ2UuamF2YQoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q29tcG9uZW50UGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRFbWJlZGRlZFdpbmRvd1BlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0R3JhcGhpY3MuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0TWVudVBlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Vm9sYXRpbGVJbWFnZS5oCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9jb21wb25lbnRldmVudC5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL2NvbXBvbmVudGV2ZW50LmgKCSogbmF0aXZlL2puaS9xdC1wZWVyL2V2ZW50bWV0aG9kcy5oCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9rZXliaW5kaW5ncy5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL2tleWJpbmRpbmdzLmgKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0Y29tcG9uZW50cGVlci5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0ZnJhbWVwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRncmFwaGljcy5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0aW1hZ2UuaAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRsYWJlbHBlZXIuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9xdG1lbnVjb21wb25lbnRwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRtZW51cGVlci5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0c2Nyb2xscGFuZXBlZXIuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9xdHRleHRmaWVsZHBlZXIuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9xdHZvbGF0aWxlaW1hZ2UuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9xdHdpbmRvd3BlZXIuY3BwOgoJUmVpbmRlbnRlZCwgbWlub3IgZml4ZXMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0SW1hZ2VEaXJlY3RHcmFwaGljcy5qYXZhCglOZXcgZmlsZS4KCQoyMDA1LTA4LTIyICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9KYXJVUkxDb25uZWN0aW9uLmphdmEgKGdldEphckVudHJ5KTogUmV0dXJuIG51bGwgaWYgbm8KCWVudHJ5IHNwZWNpZmllZC4KCjIwMDUtMDgtMjIgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGxpYi9zcGxpdC1mb3ItZ2NqLnNoOiBDcmVhdGUgTWFrZWZpbGUuZGVwcyBhdG9taWNhbGx5LgoJKiBsaWIvZ2VuLWNsYXNzbGlzdC5zaC5pbjogRG9uJ3QgcnVuIHNwbGl0LWZvci1nY2ouc2guCgkqIGxpYi9NYWtlZmlsZS5nY2ogKE1ha2VmaWxlLmRlcHMpOiBOZXcgdGFyZ2V0LgoJKiBsaWIvTWFrZWZpbGUuYW0gKGNvbXBpbGUtY2xhc3Nlcyk6IFBhc3MgdG9wX3NyY2RpciB0bwoJTWFrZWZpbGUuZ2NqLgoKMjAwNS0wOC0yMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOgoJQWRkZWQgaW4gZGVmYXVsdCBib3JkZXIgZm9yIFRyZWUuCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsUmVuZGVyZXIuamF2YToKCUZvcm1hdHRpbmcgZW50aXJlIGNsYXNzLgoJKGdldFByZWZlcnJlZFNpemUpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMDgtMjIgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9ldmVudC9Td2luZ1Byb3BlcnR5Q2hhbmdlU3VwcG9ydC5qYXZhOiByZWZvcm1hdHRlZC4KCQoyMDA1LTA4LTIyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9JbWFnZUljb24uamF2YTogQWRkIGRvY3VtZW50YXRpb24uCgoyMDA1LTA4LTIyICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0xheW91dFF1ZXVlLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0wOC0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8yMzQ5OToKCSogZG9jL2FwaS9NYWtlZmlsZS5hbSAoaW5zdGFsbC1kYXRhLWxvY2FsKTogTm93IGNvbmRpdGlvbmFsIG9uCglDUkVBVEVfQVBJX0RPQ1MuCgkodW5pbnN0YWxsLWxvY2FsKTogTGlrZXdpc2UuCgoyMDA1LTA4LTIyICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogTWFrZWZpbGUuYW0gKEFDTE9DQUxfQU1GTEFHUyk6IE5ldy4KCjIwMDUtMDgtMjIgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YTogZml4ZWQgZXJyb3IgbWVzc2FnZSB0eXBvIGluIHN0YXRpYwoJaW5pdGlhbGl6YXRpb24gY29kZS4KCQoyMDA1LTA4LTIyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmE6IGZpeGVkIG1pbm9yIEFQSSBkb2MgcHJvYmxlbXMsCgkqIGphdmF4L3N3aW5nL3RleHQvQ2FyZXQuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3RleHQvQ29tcG9zaXRlVmlldy5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Q2FyZXQuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3RleHQvRWxlbWVudEl0ZXJhdG9yLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy90ZXh0L0dseXBoVmlldy5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvdGV4dC9JY29uVmlldy5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvdGV4dC9WaWV3LmphdmE6IGxpa2V3aXNlLgoKMjAwNS0wOC0yMiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6IGZpeGVkIHNvbWUgbWlub3IgQVBJIGRvYyBwcm9ibGVtcy4KCQoyMDA1LTA4LTIyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogTkVXUzogYWRkZWQgaXRlbSByZWdhcmRpbmcgamF2YXguc3dpbmcucGxhZi5tdWx0aS4qIHBhY2thZ2UgCglpbXBsZW1lbnRhdGlvbi4KCQoyMDA1LTA4LTIyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAoY3BfZ3RrX2NsaXBib2FyZCwKCWNwX2d0a19zdHJpbmdUYXJnZXQsIGNwX2d0a19pbWFnZVRhcmdldCwgY3BfZ3RrX2ZpbGVzVGFyZ2V0KTogTmV3CglleHRlcm4gdmFyaWFibGVzLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtTZWxlY3Rpb24uYzogTmV3IGZpbGUuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvTWFrZWZpbGUuYW0gKGxpYmd0a3BlZXJfbGFfU09VUkNFUyk6IEFkZAoJZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1NlbGVjdGlvbi5jLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDbGlwYm9hcmQuYzogUmVuYW1lcwoJY2xpcGJvYXJkIHRvIGNwX2d0a19jbGlwYm9hcmQsIHN0cmluZ1RhcmdldCB0byBjcF9ndGtfc3RyaW5nVGFyZ2V0LAoJaW1hZ2VUYXJnZXQgdG8gY3BfZ3RrX2ltYWdlVGFyZ2V0LCBmaWxlc1RhcmdldCB0byBjcF9ndGtfZmlsZXNUYXJnZXQsCgljcF9ndGtfY2xpcGJvYXJkX293bmVyX2NoYW5nZV9jYiB0byBjbGlwYm9hcmRfb3duZXJfY2hhbmdlX2NiLAoJY3BfZ3RrX2NsaXBib2FyZF9nZXRfZnVuYyB0byBjbGlwYm9hcmRfZ2V0X2Z1bmMsCgljcF9ndGtfY2xpcGJvYXJkX2NsZWFyX2Z1bmMgdG8gY2xpcGJvYXJkX2NsZWFyX2Z1bmMsIG1vdmVkCglHdGtTZWxlY3Rpb24gbmF0aXZlIG1ldGhvZHMgdG8gbmV3IGZpbGUuCgoyMDA1LTA4LTIxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrU2VsZWN0aW9uLmphdmE6IFVwZGF0ZSBmb3IgbmV3IEZTRgoJYWRkcmVzcy4KCjIwMDUtMDgtMjEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhCgkoS0VZQk9BUkRfRElWSURFUl9NT1ZFX09GRlNFVCk6IEluaXRpYWxpemUgd2l0aCAzLgoKMjAwNS0wOC0yMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSW1hZ2VJY29uLmphdmEgKGdldEljb25IZWlnaHQpOiBSZXR1cm4gLTEgaWYgaW1hZ2UKCWlzIG51bGwuCgkoZ2V0SWNvbldpZHRoKTogTGlrZXdpc2UuCgoyMDA1LTA4LTIxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCSh3aW5kb3dfZ2V0X2ZyYW1lX2V4dGVudHMpOiBJZiB3aW5kb3cgaXMgbm90IGRlY29yYXRlZCwgZ3Vlc3MgMCwKCTAsIDAsIDAgaW5zZXQgdmFsdWVzLgoKMjAwNS0wOC0yMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdFdyaXRlci5qYXZhIChORVdMSU5FKTogTm93ICdmaW5hbCcuCgoyMDA1LTA4LTIxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9MYWJlbC5qYXZhIChzZXRUZXh0KTogUmVmaW5lIHRleHQgaW5lcXVhbGl0eSB0ZXN0LgoKMjAwNS0wOC0yMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzLmphdmEgKHNldENsaXAoU2hhcGUpKTogQ2xlYXIKCWNsaXAgd2hlbiBjbGlwID09IG51bGwuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEgKHNldENsaXAoU2hhcGUpKToKCUxpa2V3aXNlLgoKMjAwNS0wOC0yMCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvTGFiZWwuamF2YSAoc2V0VGV4dCk6IEludmFsaWRhdGUgbGFiZWwuCgoyMDA1LTA4LTIwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9BcmVhQXZlcmFnaW5nU2NhbGVGaWx0ZXIuamF2YTogQWRkIGNoZWNrcyBmb3IKCWNvbnN1bWVyICE9IG51bGwuCgkqIGphdmEvYXd0L2ltYWdlL0Nyb3BJbWFnZUZpbHRlci5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9hd3QvaW1hZ2UvSW1hZ2VGaWx0ZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L2ltYWdlL1JHQkltYWdlRmlsdGVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9pbWFnZS9SZXBsaWNhdGVTY2FsZUZpbHRlci5qYXZhOiBMaWtld2lzZS4KCjIwMDUtMDgtMjAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtQaXhidWZEZWNvZGVyLmphdmEgKGZpbmRGb3JtYXROYW1lKToKCUp1c3QgcmV0dXJuIG51bGwgd2hlbiBleHQgPT0gbnVsbC4KCjIwMDUtMDgtMjAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0FXVEtleVN0cm9rZS5qYXZhIChnZXRBV1RLZXlTdHJva2UpOiBJbmNsdWRlIG9sZC1zdHlsZQoJbW9kaWZpZXJzIGluIHJldHVybmVkIEFXVEtleVN0cm9rZSdzIG1vZGlmaWVyIG1hc2suCgoyMDA1LTA4LTIwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhIChzZXRTdHJva2UpOiBDbGVhcgoJZGFzaGVzIGlmIGRhc2hlcyBpcyBudWxsLgoJKHNldFN0cm9rZVVubG9ja2VkKTogTGlrZXdpc2UuCgoyMDA1LTA4LTIwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YSAoZ2V0TW9zdFJlY2VudEZvY3VzT3duZXIpOiBOZXcgbWV0aG9kLgoKMjAwNS0wOC0yMCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9NYWluUXRUaHJlYWQuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdENvbXBvbmVudEdyYXBoaWNzLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRDb21wb25lbnRQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRFbWJlZGRlZFdpbmRvd1BlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEZyYW1lUGVlci5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0SW1hZ2UuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdExpc3RQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRTY3JlZW5EZXZpY2VDb25maWd1cmF0aW9uLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRUb29sa2l0LmphdmEKCSogbmF0aXZlL2puaS9xdC1wZWVyL2NvbXBvbmVudGV2ZW50LmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvY29tcG9uZW50ZXZlbnQuaAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvZXZlbnRtZXRob2RzLmgKCSogbmF0aXZlL2puaS9xdC1wZWVyL21haW5xdHRocmVhZC5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL21haW50aHJlYWRpbnRlcmZhY2UuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9tYWludGhyZWFkaW50ZXJmYWNlLmgKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0Y29tcG9uZW50cGVlci5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0ZnJhbWVwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRncmFwaGljcy5jcHAKCVJlZmFjdG9yZWQuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfTWFpblF0VGhyZWFkLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RTWF0cml4LmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RUGFpbnRlclBhdGguaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1FQZW4uaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0QXVkaW9DbGlwLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEJ1dHRvblBlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q2FudmFzUGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRDaGVja2JveFBlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q2hvaWNlUGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRDb21wb25lbnRQZWVyLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdENvbnRhaW5lclBlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RGlhbG9nUGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRFbWJlZGRlZFdpbmRvd1BlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RmlsZURpYWxvZ1BlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Rm9udE1ldHJpY3MuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Rm9udFBlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RnJhbWVQZWVyLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEdyYXBoaWNzLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEdyYXBoaWNzRW52aXJvbm1lbnQuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0SW1hZ2UuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0TGFiZWxQZWVyLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdExpc3RQZWVyLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVCYXJQZWVyLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVDb21wb25lbnRQZWVyLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVJdGVtUGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRNZW51UGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRQYW5lbFBlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0UG9wdXBNZW51UGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRTY3JlZW5EZXZpY2UuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0U2Nyb2xsUGFuZVBlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0U2Nyb2xsYmFyUGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRUZXh0QXJlYVBlZXIuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0VGV4dEZpZWxkUGVlci5oCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRUb29sa2l0LmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFZvbGF0aWxlSW1hZ2UuaAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0V2luZG93UGVlci5oCglSZWdlbmVyYXRlZC4KCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRSZXBhaW50VGhyZWFkLmphdmE6CglOZXcgZmlsZS4KCjIwMDUtMDgtMjAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ3RrX2phd3QuYwoJKGNsYXNzcGF0aF9qYXd0X2dldF9kZWZhdWx0X2Rpc3BsYXkpOiBSZW1vdmUgbG9ja2luZy4KCShjbGFzc3BhdGhfamF3dF9nZXRfdmlzdWFsSUQpOiBMaWtld2lzZS4KCShjbGFzc3BhdGhfamF3dF9nZXRfZHJhd2FibGUpOiBMaWtld2lzZS4KCShjbGFzc3BhdGhfamF3dF9vYmplY3RfbG9jayk6IFJlbW92ZSBmdW5jdGlvbi4KCShjbGFzc3BhdGhfamF3dF9vYmplY3RfdW5sb2NrKTogTGlrZXdpc2UuCgkoY2xhc3NwYXRoX2phd3RfY3JlYXRlX2xvY2spOiBMaWtld2lzZS4KCShjbGFzc3BhdGhfamF3dF9kZXN0cm95X2xvY2spOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9jbGFzc3BhdGgvY2xhc3NwYXRoX2phd3QuaAoJKGNsYXNzcGF0aF9qYXd0X29iamVjdF9sb2NrKTogUmVtb3ZlIGZ1bmN0aW9uLgoJKGNsYXNzcGF0aF9qYXd0X29iamVjdF91bmxvY2spOiBMaWtld2lzZS4KCShjbGFzc3BhdGhfamF3dF9jcmVhdGVfbG9jayk6IExpa2V3aXNlLgoJKGNsYXNzcGF0aF9qYXd0X2Rlc3Ryb3lfbG9jayk6IExpa2V3aXNlLgoJKiBuYXRpdmUvamF3dC9qYXd0LmMgWyFfX0dOVUNfX10gKF9fYXR0cmlidXRlX18pOiBEZWZpbmUgdG8KCW5vdGhpbmcuCgkoX0p2X0xvY2spOiBDYWxsIGNsYXNzcGF0aF9qYXd0X2xvY2suCgkoX0p2X1VubG9jayk6IENhbGwgY2xhc3NwYXRoX2phd3RfdW5sb2NrLgoJKF9Kdl9HZXREcmF3aW5nU3VyZmFjZUluZm8pOiBNb3ZlIHN1cmZhY2VfaW5mb194MTEgaW5pdGlhbGl6YXRpb24KCWZyb20gLi4uCgkoX0p2X0dldERyYXdpbmdTdXJmYWNlKTogUmVtb3ZlIHN1cmZhY2VfaW5mb194MTEgaW5pdGlhbGl6YXRpb24uCgkoX0p2X0ZyZWVEcmF3aW5nU3VyZmFjZSk6IERvbid0IGRlc3Ryb3kgdGFyZ2V0IG9iamVjdC4KCSogbmF0aXZlL2phd3QvTWFrZWZpbGUuYW06IEFkZCBTT05BTUUgRklYTUUuCgkqIGluY2x1ZGUvamF3dF9tZC5oIChzdHJ1Y3QgX0pBV1RfWDExRHJhd2luZ1N1cmZhY2VJbmZvKTogUmUtb3JkZXIKCWRpc3BsYXkgZmllbGQuICBBZGQgY29sb3VyIG1hcCwgZGVwdGggYW5kIEdldEFXVENvbG9yIGZ1bmN0aW9uCglwb2ludGVyIGZpZWxkcy4KCSogaW5jbHVkZS9qYXd0LmggKHN0cnVjdCBfSkFXVF9SZWN0YW5nbGUpOiBOZXcgc3RydWN0dXJlLgoJKHN0cnVjdCBfSkFXVF9EcmF3aW5nU3VyZmFjZUluZm8pOiBBZGQgZHJhd2luZyBzdXJmYWNlLCBib3VuZHMsCgljbGlwIHNpemUgYW5kIGNsaXBwaW5nIHJlY3RhbmdsZSBmaWVsZHMuCgkoc3RydWN0IF9KQVdUX0RyYXdpbmdTdXJmYWNlKTogQWRkIGVudiBmaWVsZC4gIFJlbmFtZSBsb2NrIGZpZWxkCgl0YXJnZXQuICBSZS1vcmRlciBmdW5jdGlvbiBwb2ludGVyIGFuZCBsb2NrIGZpZWxkcy4gIFJlbW92ZQoJc3VyZmFjZV9pbmZvIGZpZWxkLgoJKHN0cnVjdCBfSkFXVCk6IEFkZCBHZXRDb21wb25lbnQgZnVuY3Rpb24gcG9pbnRlciBmaWVsZC4KCjIwMDUtMDgtMjAgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvaWQvQ2xhc3NMb2FkZXJJZC5qYXZhIChnZXRDbGFzc0xvYWRlcik6IE5ldyBtZXRob2QuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9DbGFzc09iamVjdElkLmphdmEgKGdldENsYXNzT2JqZWN0KTogTmV3IG1ldGhvZC4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL0pkd3BJZC5qYXZhIAoJKGdldFJlZmVyZW5jZSk6IE5ldyBtZXRob2QuCgkoc2V0UmVmZXJlbmNlKTogTmV3IG1ldGhvZC4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL09iamVjdElkLmphdmEgKGdldE9iamVjdCk6IE5ldyBtZXRob2QuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9SZWZlcmVuY2VUeXBlSWQuamF2YSAoZ2V0VHlwZSk6IE5ldyBtZXRob2QuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9TdHJpTmdJZC5qYXZhIChnZXRTdHJpbmcpOiBOZXcgbWV0aG9kLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvaWQvVGhyZWFkR3JvdXBJZC5qYXZhIChnZXRUaHJlYWRHcm91cCk6IE5ldyBtZXRob2QuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9UaHJlYWRJZC5qYXZhIChnZXRUaHJlYWQpOiBOZXcgbWV0aG9kLgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL09iamVjdElkLmphdmEgKHNldElkKTogTmV3IG1ldGhvZC4KCShkaXNhYmxlQ29sbGVjdGlvbik6IE5ldyBtZXRob2QuCgkoZW5hYmxlQ29sbGVjdGlvbik6IE5ldyBtZXRob2QuCgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvaWQvSmR3cElkLmphdmEgKGVxdWFscyk6IFJlbW92ZSB0ZXN0IGZvciBjbGFzcyBlcXVhbGl0eS4KCShzZXRJZCk6IE1ha2UgcHVibGljLgoKMjAwNS0wOC0yMCAgS2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9leGNlcHRpb24vSW52YWxpZFRocmVhZEdyb3VwRXhjZXB0aW9uLmphdmEKCShJbnZhbGlkVGhyZWFkR3JvdXBFeGNlcHRpb24pOiBGaXggbWlzbGVhZGluZyBzdHJpbmcgZXJyb3IgbWVzc2FnZS4KCShJbnZhbGlkVGhyZWFkR3JvdXBFeGNlcHRpb24pOiBGaXggdHlwbyAtLSBzaG91bGQgYmUKCUpkd3BDb25zdGFudHMuRXJyb3IuSU5WQUxJRF9USFJFQURfR1JPVVAuCgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXhjZXB0aW9uL0ludmFsaWRDbGFzc0xvYWRlckV4Y2VwdGlvbi5qYXZhOiBOZXcKCWV4Y2VwdGlvbi4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V4Y2VwdGlvbi9JbnZhbGlkRmllbGRFeGNlcHRpb24uamF2YTogTmV3CglleGNlcHRpb24uCgkqIGdudS9jbGFzc3BhdGgvamR3cC9leGNlcHRpb24vSW52YWxpZExvY2F0aW9uRXhjZXB0aW9uLmphdmE6IE5ldwoJZXhjZXB0aW9uLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXhjZXB0aW9uL0ludmFsaWRNZXRob2RFeGNlcHRpb24uamF2YTogTmV3CglleGNlcHRpb24uCgoyMDA1LTA4LTE5ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBORVdTOiBBZGRlZCBub3RlIGFib3V0IER5bmFtaWNBbnkgcGFja2FnZS4KCjIwMDUtMDgtMTkgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9NYWtlZmlsZS5hbSAobGlicXRwZWVyX2xhX1NPVVJDRVMpOgoJQWRkZWQgZXZlbnRtZXRob2RzLmguCgoyMDA1LTA4LTE5ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbEVkaXRvci5qYXZhOiBSZW1vdmVkIGVycm9uZW91cwoJaW1wb3J0LgoKMjAwNS0wOC0xOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdFdyaXRlci5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc3dpbmcvdGV4dC9FbGVtZW50SXRlcmF0b3IuamF2YTogTmV3IGZpbGUuCgoyMDA1LTA4LTE5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShnZXRDZWxsQm91bmRzKTogTm8gbmVlZCB0byBjYWxsIGdldEZvbnQgdHdpY2UuIFRoaXMgCglpcyBmaXhlZC4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxFZGl0b3IuamF2YToKCUFkZGVkIEFQSSBkb2N1bWVudGF0aW9uIGZvciBhbGwgZmllbGRzLgoJKGdldFByZWZlcnJlZFNpemUpOiBJbXBsZW1lbnRlZC4KCShwYWludCk6IEltcGxlbWVudGVkLgoJKGRvTGF5b3V0KTogSW1wbGVtZW50ZWQuCgkoZ2V0Rm9udCk6IEltcGxlbWVudGVkLgoJKGdldFByZWZlcnJlZFNpemUpOiBJbXBsZW1lbnRlZC4KCShEZWZhdWx0VHJlZUNlbGxFZGl0b3IpOiBQYXJ0aWFsbHkgaW1wbGVtZW50ZWQuCgkoRGVmYXVsdFRyZWVDZWxsRWRpdG9yKTogUGFydGlhbGx5IGltcGxlbWVudGVkLgoJKHNldEJvcmRlclNlbGVjdGlvbkNvbG9yKTogSW1wbGVtZW50ZWQuCgkoZ2V0Qm9yZGVyU2VsZWN0aW9uQ29sb3IpOiBJbXBsZW1lbnRlZC4KCShzZXRGb250KTogSW1wbGVtZW50ZWQuCgkoZ2V0Rm9udCk6IEltcGxlbWVudGVkLgoJKGdldFRyZWVDZWxsRWRpdG9yQ29tcG9uZW50KTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCQoJKGdldENlbGxFZGl0b3JWYWx1ZSk6IEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKGlzQ2VsbEVkaXRhYmxlKTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCgkoc2hvdWxkU2VsZWN0Q2VsbCk6IEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKHN0b3BDZWxsRWRpdGluZyk6IEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKGNhbmNlbENlbGxFZGl0aW5nKTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCgkodmFsdWVDaGFuZ2VkKTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCgkoYWN0aW9uUGVyZm9ybWVkKTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCgkoc2V0VHJlZSk6IEltcGxlbWVudGVkLgoJKHNob3VsZFN0YXJ0RWRpdGluZ1RpbWVyKTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCgkoc3RhcnRFZGl0aW5nVGltZXIpOiBBZGRlZCBBUEkgZG9jdW1lbnRhdGlvbi4KCShjYW5FZGl0SW1tZWRpYXRlbHkpOiBBZGRlZCBBUEkgZG9jdW1lbnRhdGlvbi4KCShpbkhpdFJlZ2lvbik6IEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKGRldGVybWluZU9mZnNldCk6IEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKHByZXBhcmVGb3JFZGl0aW5nKTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCgkoY3JlYXRlQ29udGFpbmVyKTogQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCgkoY3JlYXRlVHJlZUNlbGxFZGl0b3IpOiBBZGRlZCBBUEkgZG9jdW1lbnRhdGlvbi4KCjIwMDUtMDgtMTkgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGxpYi8uY3ZzaWdub3JlOiBBZGQgTUVUQS1JTkYsIE1ha2VmaWxlLmRlcHMgYW5kIGxpc3RzLgoKMjAwNS0wOC0xOSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOiBHZW5lcmF0ZSBuYXRpdmUvamF3dC9NYWtlZmlsZS4KCSogaW5jbHVkZS9qYXd0Lmg6IEltcG9ydCBmcm9tIGxpYmdjai4KCSogaW5jbHVkZS9qYXd0X21kLmg6IExpa2V3aXNlLgoJKiBuYXRpdmUvTWFrZWZpbGUuYW0gKEpBV1RESVIpOiBOZXcgdmFyaWFibGUuCgkqIG5hdGl2ZS9qYXd0OiBOZXcgZGlyZWN0b3J5LgoJKiBuYXRpdmUvamF3dC8uY3ZzaWdub3JlOiBOZXcgZmlsZS4KCSogbmF0aXZlL2phd3QvTWFrZWZpbGUuYW06IExpa2V3aXNlLgoJKiBuYXRpdmUvamF3dC9qYXd0LmM6IEltcG9ydCBmcm9tIGxpYmdjai4KCjIwMDUtMDgtMTkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVNb2RlbC5qYXZhCgkoc2V0QXNrc0FsbG93c0NoaWxkcmVuKTogUmVtb3ZlZCBjb21tZW50LCB1bm5lZWRlZC4KCShzZXRSb290KTogRm9ybWF0dGluZy4KCShnZXRJbmRleE9mQ2hpbGQpOiBGb3JtYXR0aW5nLgoJKHJlbG9hZCk6IEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKHJlbG9hZCk6IExpa2V3aXNlLgoJKHZhbHVlRm9yUGF0aENoYW5nZWQpOiBJbXBsZW1lbnRlZC4KCShpbnNlcnROb2RlSW50byk6IEltcGxlbWVudGVkLgoJKHJlbW92ZU5vZGVGcm9tUGFyZW50KTogSW1wbGVtZW50ZWQuCgkobm9kZUNoYW5nZWQpOiBJbXBsZW1lbnRlZC4KCShub2Rlc1dlcmVJbnNlcnRlZCk6IEltcGxlbWVudGVkLgoJKG5vZGVzV2VyZVJlbW92ZWQpOiBJbXBsZW1lbnRlZC4KCShub2Rlc0NoYW5nZWQpOiBJbXBsZW1lbnRlZC4KCShub2RlU3RydWN0dXJlQ2hhbmdlZCk6IEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoJKGdldFBhdGhUb1Jvb3QpOiBJbXBsZW1lbnRlZC4KCShnZXRQYXRoVG9Sb290KTogSW1wbGVtZW50ZWQuCgkoZmlyZVRyZWVOb2Rlc0NoYW5nZWQpOiBBZGRlZCBBUEkgZG9jdW1lbnRhdGlvbi4KCjIwMDUtMDgtMTkgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL2F3dC9pbWFnZS9EaXJlY3RDb2xvck1vZGVsLmphdmEKCShjcmVhdGVDb21wYXRpYmxlV3JpdGFibGVSYXN0ZXIpOiBBZGRlZCBBUEkgZG9jdW1lbnRhdGlvbi4KCjIwMDUtMDgtMTggIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0ZvbnQuamF2YSAoRm9udChTdHJpbmcsTWFwKSk6IE1ha2UgcGFja2FnZSBwcml2YXRlLgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhIChnZXRGb250KTogQWNjZXNzCglwYWNrYWdlLXByaXZhdGUgRm9udC5Gb250KFN0cmluZyxNYXApIGNvbnN0cnVjdG9yIHVzaW5nCglyZWZsZWN0aW9uLgoKMjAwNS0wOC0xOCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvR0xpZ2h0d2VpZ2h0UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb250YWluZXJQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWVudUNvbXBvbmVudFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0QXJlYVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0RmllbGRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1dpbmRvd1BlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q29tcG9uZW50UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRDb250YWluZXJQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdEZyYW1lUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRNZW51Q29tcG9uZW50UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRTY3JlZW5EZXZpY2VDb25maWd1cmF0aW9uLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdFRleHRBcmVhUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRUZXh0RmllbGRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdFdpbmRvd1BlZXIuamF2YSwKCWphdmEvYXd0L3BlZXIvQ29tcG9uZW50UGVlci5qYXZhLAoJamF2YS9hd3QvcGVlci9Db250YWluZXJQZWVyLmphdmEsIGphdmEvYXd0L3BlZXIvRnJhbWVQZWVyLmphdmEsCglqYXZhL2F3dC9wZWVyL01lbnVDb21wb25lbnRQZWVyLmphdmEsCglqYXZhL2F3dC9wZWVyL1RleHRDb21wb25lbnRQZWVyLmphdmEsCglqYXZhL2F3dC9wZWVyL1dpbmRvd1BlZXIuamF2YTogQWRkIG5ldyAxLjUgbWV0aG9kcy4KCSogamF2YS9hd3QvV2luZG93LmphdmEgKFdpbmRvdygpKTogSW5pdGlhbGl6ZQoJZ3JhcGhpY3NDb25maWd1cmF0aW9uLgoJKiBqYXZhL2F3dC9HcmFwaGljc0NvbmZpZ3VyYXRpb24uamF2YQoJKGNyZWF0ZUNvbXBhdGlibGVWb2xhdGlsZUltYWdlKGludCxpbnQsaW50KSk6IE5ldyBtZXRob2QuCgkqIGphdmEvYXd0L0ZvbnQuamF2YSAoRm9udChTdHJpbmcsTWFwKSk6IEFkZCBGSVhNRS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YQoJKGdldExvY2FsR3JhcGhpY3NFbnZpcm9ubWVudCk6IENhbGwgbmV3IGNvbnN0cnVjdG9yLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrU2NyZWVuR3JhcGhpY3NEZXZpY2UuamF2YSAoZ2V0VG9vbGtpdCk6CglSZW1vdmUgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhCgkoR2RrR3JhcGhpY3NFbnZpcm9ubWVudChHdGtUb29sa2l0KSk6IFJlbW92ZSBtZXRob2QuCgkoR2RrR3JhcGhpY3NFbnZpcm9ubWVudCgpKTogTmV3IGNvbnN0cnVjdG9yLgoJKGdldFRvb2xraXQpOiBSZW1vdmUgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3NDb25maWd1cmF0aW9uLmphdmEKCShnZXRUb29sa2l0KTogUmVtb3ZlIG1ldGhvZC4KCShjcmVhdGVDb21wYXRpYmxlVm9sYXRpbGVJbWFnZSk6IE5ldyBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmEgKGdldEZvbnQpOiBBZGQgRklYTUUuCgoyMDA1LTA4LTE4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Q2VsbEVkaXRvci5qYXZhCgkoZ2V0VHJlZUNlbGxFZGl0b3JDb21wb25lbnQpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoaXNFZGl0aW5nKTogSW1wbGVtZW50ZWQuCgkobW91c2VDbGlja2VkKTogTW92ZWQgY29kZSB0byBtb3VzZVByZXNzZWQKCShtb3VzZVByZXNzZWQpOiBDb2RlIG1vdmVkIGhlcmUgZnJvbSBtb3VzZUNsaWNrZWQgYW5kCglhZGRlZCBpbiBjb2RlIHRvIHN0b3AgZWRpdGluZy4KCShzZWxlY3RQYXRoKTogRGVmYXVsdCBpcyBjaGFuZ2VkIHRvIENPTlRJR1VPVVNfVFJFRV9TRUxFQ1RJT04KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZVNlbGVjdGlvbk1vZGVsLmphdmEKCShEZWZhdWx0VHJlZVNlbGVjdGlvbk1vZGVsKTogRGVmYXVsdCBpcyBjaGFuZ2VkIHRvIENPTlRJR1VPVVNfVFJFRV9TRUxFQ1RJT04uCgoyMDA1LTA4LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Fycm93QnV0dG9uLmphdmE6CglTZXQgZGVmYXVsdCBzaXplIHRvIDEyLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YQoJKGNhbGN1bGF0ZVByZWZlcnJlZFNpemUpOiBEb24ndCByZXN0cmljdCB3aWR0aCBhbmQgaGVpZ2h0IHRvCglhIG1pbmltdW0gb2YgMjAuCgoyMDA1LTA4LTE4ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogdm0vcmVmZXJlbmNlL2dudS9jbGFzc3BhdGgvamR3cC9WTUlkTWFuYWdlci5qYXZhOiBOZXcgZmlsZQoJd2l0aCBleGFtcGxlIGltcGxlbWVudGF0aW9uIG9mIElELW1hbmFnZW1lbnQgZm9yIEpEV1AgYmFjay1lbmQuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9KZHdwSWRGYWN0b3J5LmphdmE6IFJlbW92ZWQuIE5vdyBwYXJ0IG9mCglWTUlkTWFuYWdlci4KCjIwMDUtMDgtMTggIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHNldEhhc2hDb2xvcik6IEltcGxlbWVudGVkLgoJKGdldFJvd0ZvclBhdGgpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMDgtMTggIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsUmVuZGVyZXIuamF2YQoJKHBhaW50KTogQWRkZWQgY2hlY2sgZm9yIG51bGwgYm9yZGVyLgoKMjAwNS0wOC0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L0Zsb3dMYXlvdXQuamF2YQoJKHNldEFsaWdubWVudCk6IEFkZGVkIGNvbW1lbnQgZXhwbGFpbmluZyB3aHkgd2UgZG9uJ3QgY2hlY2sKCWZvciBpbGxlZ2FsIHZhbHVlcyBoZXJlLgoKMjAwNS0wOC0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L2ltYWdlL1BpeGVsR3JhYmJlci5qYXZhCgkoc3RhcnRHcmFiYmluZyk6IFJlcGxhY2VkIEltYWdlQ29uc3VtZXIuQUJPUlRFRCB3aXRoCglJbWFnZUNvbnN1bWVyLklNQUdFQUJPUlRFRC4KCjIwMDUtMDgtMTggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL2F3dC9pbWFnZS9QaXhlbEdyYWJiZXIuamF2YQoJKGNvbnN0cnVjdG9ycyk6IENoZWNrIGlmIHRoZSBJbWFnZVByb2R1Y2VyIGlzIG51bGwgYW5kIHRocm93CglhIE5QRSBpZiB0aGF0IGlzIHRoZSBjYXNlLgoJKHN0YXJ0R3JhYmJpbmcpOiBXaGVuIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gaW4gdGhlIGdyYWJiZXIgdGhyZWFkLAoJZXhpdCBncmFjZWZ1bGx5IGFuZCBub3RpZnkgdGhlIHdhaXRpbmcgdGhyZWFkcy4KCShpbWFnZUNvbXBsZXRlKTogT25seSBjYWxsIGlwLnJlbW92ZUNvbnN1bWVyKCkgaWYgaXAgaXMgbm90IG51bGwuCgoyMDA1LTA4LTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS90ZXh0L1N0cmluZ0NoYXJhY3Rlckl0ZXJhdG9yLmphdmEKCShTdHJpbmdDaGFyYWN0ZXJJdGVyYXRvcihTdHJpbmcpKTogZG9jdW1lbnRlZCBOdWxsUG9pbnRlckV4Y2VwdGlvbi4KCQoyMDA1LTA4LTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aUJ1dHRvblVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpQ29sb3JDaG9vc2VyVUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlDb21ib0JveFVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpRGVza3RvcEljb25VSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aURlc2t0b3BQYW5lVUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlGaWxlQ2hvb3NlclVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpSW50ZXJuYWxGcmFtZVVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpTGFiZWxVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aUxpc3RVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aUxvb2tBbmRGZWVsLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpTWVudUJhclVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpTWVudUl0ZW1VSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aU9wdGlvblBhbmVVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aVBhbmVsVUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlQb3B1cE1lbnVVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aVByb2dyZXNzQmFyVUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlSb290UGFuZVVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpU2Nyb2xsQmFyVUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlTY3JvbGxQYW5lVUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlTZXBhcmF0b3JVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aVNsaWRlclVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpU3Bpbm5lclVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpU3BsaXRQYW5lVUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlUYWJiZWRQYW5lVUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvTXVsdGlUYWJsZUhlYWRlclVJLmphdmE6IG5ldyBmaWxlLAoJKiBqYXZheC9zd2luZy9wbGFmL211bHRpL011bHRpVGFibGVVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aVRleHRVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aVRvb2xCYXJVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aVRvb2xUaXBVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aVRyZWVVSS5qYXZhOiBuZXcgZmlsZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tdWx0aS9NdWx0aVZpZXdwb3J0VUkuamF2YTogbmV3IGZpbGUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbXVsdGkvcGFja2FnZS5odG1sOiBuZXcgZmlsZS4KCQoyMDA1LTA4LTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS91dGlsL1ZlY3Rvci5qYXZhCgkoY29weUludG8pIGZpeGVkIGluY29ycmVjdCBBUEkgZGVzY3JpcHRpb24uCgkKMjAwNS0wOC0xNyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXIuYywKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1JvYm90UGVlci5jLAoJbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jLAoJbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2UuYywKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xpc3RQZWVyLmM6IFJlbW92ZQoJSmFtVk0gZGVhZGxvY2sgd29ya2Fyb3VuZHMuCgoyMDA1LTA4LTE3ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEsCglnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRnJhbWVQZWVyLmMgKHBvc3RDb25maWd1cmVFdmVudCk6IFByZXZlbnQKCWNhbGxiYWNrIGNhbGxpbmcgYmFjayBpbnRvIHBlZXJzLgoJKHNldEJvdW5kcyk6IExpa2V3aXNlLgoJKHNldE1lbnVCYXJXaWR0aFVubG9ja2VkKTogTmV3IG1ldGhvZC4KCSogbmF0aXZlL2puaS9ndGstcGVlci9ndGtwZWVyLmggKGNwX2d0a19maWxlZGlhbG9nX2luaXRfam5pKToKCURlY2xhcmUgZnVuY3Rpb24uCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuYwoJKGd0a0luaXQpOiBDYWxsIGNwX2d0a19maWxlZGlhbG9nX2luaXRfam5pLgoJKGxvYWRTeXN0ZW1Db2xvcnMpOiBXb3JrIGFyb3VuZCBkZWFkbG9jay4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dEZpZWxkUGVlci5jCgkodGV4dGNvbXBvbmVudF9jaGFuZ2VkX2NiKTogRG9uJ3QgcmVsZWFzZSBHREsgbG9jay4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWVudUl0ZW1QZWVyLmMKCShpdGVtX2FjdGl2YXRlX2NiKTogRG9uJ3QgcmVsZWFzZSBHREsgbG9jay4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTGlzdFBlZXIuYwoJKGl0ZW1faGlnaGxpZ2h0ZWRfY2IpOiBEb24ndCByZWxlYXNlIEdESyBsb2NrLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShjb21wb25lbnRfYnV0dG9uX3ByZXNzX2NiKTogRG9uJ3QgcmVsZWFzZSBHREsgbG9jay4KCShjb21wb25lbnRfYnV0dG9uX3JlbGVhc2VfY2IpOiBMaWtld2lzZS4KCShjb21wb25lbnRfbW90aW9uX25vdGlmeV9jYik6IExpa2V3aXNlLgoJKGNvbXBvbmVudF9lbnRlcl9ub3RpZnlfY2IpOiBMaWtld2lzZS4KCShjb21wb25lbnRfbGVhdmVfbm90aWZ5X2NiKTogTGlrZXdpc2UuCgkoY29tcG9uZW50X2V4cG9zZV9jYik6IExpa2V3aXNlLgoJKGNvbXBvbmVudF9mb2N1c19pbl9jYik6IExpa2V3aXNlLgoJKGNvbXBvbmVudF9mb2N1c19vdXRfY2IpOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQnV0dG9uUGVlci5jCgkoYmxvY2tfZXhwb3NlX2V2ZW50X2NiKTogUmVtb3ZlIGNhbGxiYWNrLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrV2luZG93UGVlci5qYXZhLAoJZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYyAocG9zdENvbmZpZ3VyZUV2ZW50KToKCVByZXZlbnQgY2FsbGJhY2sgY2FsbGluZyBiYWNrIGludG8gcGVlcnMuCgkoc2V0Qm91bmRzKTogTGlrZXdpc2UuCgkobmF0aXZlU2V0Qm91bmRzVW5sb2NrZWQpOiBOZXcgbWV0aG9kLgoJKHNldEJvdW5kc1VubG9ja2VkKTogTGlrZXdpc2UuCgkobmF0aXZlU2V0VmlzaWJsZVVubG9ja2VkKTogTGlrZXdpc2UuCgkoc2V0VmlzaWJsZVVubG9ja2VkKTogTGlrZXdpc2UuCgkod2luZG93X2RlbGV0ZV9jYik6IERvbid0IHJlbGVhc2UgR0RLIGxvY2suCgkod2luZG93X2Rlc3Ryb3lfY2IpOiBMaWtld2lzZS4KCSh3aW5kb3dfc2hvd19jYik6IExpa2V3aXNlLgoJKHdpbmRvd19hY3RpdmVfc3RhdGVfY2hhbmdlX2NiKTogTGlrZXdpc2UuCgkod2luZG93X2ZvY3VzX3N0YXRlX2NoYW5nZV9jYik6IExpa2V3aXNlLgoJKHdpbmRvd19mb2N1c19pbl9jYik6IExpa2V3aXNlLgoJKHdpbmRvd19mb2N1c19vdXRfY2IpOiBMaWtld2lzZS4KCSh3aW5kb3dfd2luZG93X3N0YXRlX2NiKTogTGlrZXdpc2UuCgkod2luZG93X3Byb3BlcnR5X2NoYW5nZWRfY2IpOiBMaWtld2lzZS4KCShyZWFsaXplX2NiKTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKG1haW5UaHJlYWQpOiBOZXcKCXZhcmlhYmxlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRmlsZURpYWxvZ1BlZXIuamF2YSwKCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jIChzZXRWaXNpYmxlKTogUHJldmVudAoJY2FsbGJhY2sgY2FsbGluZyBiYWNrIGludG8gcGVlcnMuCgkoZmlsZW5hbWVfZmlsdGVyX2NiKTogRG9uJ3QgcmVsZWFzZSBHREsgbG9jay4KCShoYW5kbGVfcmVzcG9uc2VfY2IpOiBMaWtld2lzZS4KCShjcF9ndGtfZmlsZWRpYWxvZ19pbml0X2puaSk6IE5ldyBmdW5jdGlvbi4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NoZWNrYm94UGVlci5qYXZhIChzZXRTdGF0ZSk6IFByZXZlbnQKCWNhbGxiYWNrIGZyb20gY2FsbGluZyBiYWNrIGludG8gcGVlcnMuCgkoaXRlbV90b2dnbGVkX2NiKTogRG9uJ3QgcmVsZWFzZSBHREsgbG9jay4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1BpeGJ1ZkRlY29kZXIuamF2YSwKCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmMgKGFyZWFfcHJlcGFyZWRfY2IpOiBEb24ndAoJcmVsZWFzZSBHREsgbG9jay4KCShhcmVhX3VwZGF0ZWRfY2IpOiBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSwKCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMgKGluaXRTdGF0ZVVubG9ja2VkKTogTmV3CgltZXRob2QuCgkoY2Fpcm9TdXJmYWNlU2V0RmlsdGVyVW5sb2NrZWQpOiBMaWtld2lzZS4KCShpbml0Q29tcG9uZW50R3JhcGhpY3MyRFVubG9ja2VkKTogTGlrZXdpc2UuCgkoc2V0VGV4dHVyZVBpeGVsc1VubG9ja2VkKTogTGlrZXdpc2UuCgkoc2V0R3JhZGllbnRVbmxvY2tlZCk6IExpa2V3aXNlLgoJKGNhaXJvU2V0TWF0cml4VW5sb2NrZWQpOiBMaWtld2lzZS4KCShjYWlyb1NldFJHQkFDb2xvclVubG9ja2VkKTogTGlrZXdpc2UuCgkoY2Fpcm9TZXRMaW5lV2lkdGhVbmxvY2tlZCk6IExpa2V3aXNlLgoJKGNhaXJvU2V0TGluZUNhcFVubG9ja2VkKTogTGlrZXdpc2UuCgkoY2Fpcm9TZXRMaW5lSm9pblVubG9ja2VkKTogTGlrZXdpc2UuCgkoY2Fpcm9TZXREYXNoVW5sb2NrZWQpOiBMaWtld2lzZS4KCShjYWlyb1NldE1pdGVyTGltaXRVbmxvY2tlZCk6IExpa2V3aXNlLgoJKHNldFBhaW50VW5sb2NrZWQpOiBMaWtld2lzZS4KCShzZXRUcmFuc2Zvcm1VbmxvY2tlZCk6IExpa2V3aXNlLgoJKHNldFN0cm9rZVVubG9ja2VkKTogTGlrZXdpc2UuCgkoc2V0Q29sb3JVbmxvY2tlZCk6IExpa2V3aXNlLgoJKHNldEJhY2tncm91bmRVbmxvY2tlZCk6IExpa2V3aXNlLgoJKHNldFJlbmRlcmluZ0hpbnRzVW5sb2NrZWQpOiBMaWtld2lzZS4KCShzZXRGb250VW5sb2NrZWQpOiBMaWtld2lzZS4KCShyZWFsaXplX2NiKTogRG9uJ3QgcmVsZWFzZSBHREsgbG9jay4gIENhbGwKCWluaXRDb21wb25lbnRHcmFwaGljczJEVW5sb2NrZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhLAoJZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMgKGluaXRTdGF0ZVVubG9ja2VkKTogTmV3CgltZXRob2QuCgkoaW5pdENvbXBvbmVudEdyYXBoaWNzVW5sb2NrZWQpOiBOZXcgbWV0aG9kLgoJKHJlYWxpemVfY2IpOiBEb24ndCByZWxlYXNlIEdESyBsb2NrLiAgQ2FsbAoJaW5pdENvbXBvbmVudEdyYXBoaWNzVW5sb2NrZWQuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmg6IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZyYW1lUGVlci5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5oOiBMaWtld2lzZS4KCjIwMDUtMDgtMTcgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIC5wcm9qZWN0OiBDb3JyZWN0bHkgb21pdCBqZHdwIGZyb20gdm0vcmVmZXJlbmNlLgoKMjAwNS0wOC0xNyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkodmlld1RvTW9kZWwpOiBDaGFuZ2VkIHRvIG1hdGNoIEFQSSBzcGVjLgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvc2l0ZVZpZXcuamF2YQoJKHZpZXdUb01vZGVsKTogQ2hhbmdlZCB0byBtYXRjaCBBUEkgc3BlYy4KCSogamF2YXgvc3dpbmcvdGV4dC9GaWVsZFZpZXcuamF2YQoJKHZpZXdUb01vZGVsKTogQ2hhbmdlZCB0byBtYXRjaCBBUEkgc3BlYy4KCSogamF2YXgvc3dpbmcvdGV4dC9HbHlwaFZpZXcuamF2YQoJKHZpZXdUb01vZGVsKTogQ2hhbmdlZCB0byBtYXRjaCBBUEkgc3BlYy4KCSogamF2YXgvc3dpbmcvdGV4dC9JY29uVmlldy5qYXZhCgkodmlld1RvTW9kZWwpOiBDaGFuZ2VkIHRvIG1hdGNoIEFQSSBzcGVjLgoJKiBqYXZheC9zd2luZy90ZXh0L1Bhc3N3b3JkVmlldy5qYXZhCgkodmlld1RvTW9kZWwpOiBDaGFuZ2VkIHRvIG1hdGNoIEFQSSBzcGVjLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkodmlld1RvTW9kZWwpOiBDaGFuZ2VkIHRvIG1hdGNoIEFQSSBzcGVjLgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJKHZpZXdUb01vZGVsKTogQ2hhbmdlZCB0byBtYXRjaCBBUEkgc3BlYy4KCjIwMDUtMDgtMTcgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhOgoJKGluZGV4VG9Mb2NhdGlvbik6IEltcGxlbWVudGVkLgoJKGdldExhc3RWaXNpYmxlSW5kZXgpOiBJZiB0aGUgbGFzdCBpbmRleCBpbiB0aGUgbGlzdCBpcyBzaG93aW5nIGFuZAoJdGhlcmUgaXMgZXh0cmEgcm9vbSBhdCB0aGUgYm90dG9tLCByZXR1cm4gdGhlIGxhc3QgaW5kZXgsIG5vdCAtMS4KCjIwMDUtMDgtMTcgIExpbGxpYW4gQW5nZWwgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoZ2V0Q2VsbExvY2F0aW9uKTogQWRkZWQgaW4gY2hlY2sgaWYgbm9kZSBpcyBhIGxlYWYuCglTaG91bGRudCBjYWxsIGdldENoaWxkQ291bnQgaWYgYSBsZWFmLiBNYXkgY2F1c2UgTlBFLgoJKHBhaW50UmVjdXJzaXZlKTogTGlrZXdpc2UuCgkocGFpbnRDb250cm9sSWNvbnMpOiBMaWtld2lzZS4KCShmaW5kTm9kZSk6IExpa2V3aXNlLgoJKGdldE5leHROb2RlKTogTGlrZXdpc2UuCgkoZ2V0UHJldmlvdXNOb2RlKTogTGlrZXdpc2UuCgkoZ2V0TmV4dFNpYmxpbmcpOiBMaWtld2lzZS4KCShnZXRQcmV2aW91c1NpYmxpbmcpOiBMaWtld2lzZS4KCjIwMDUtMDgtMTcgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsUmVuZGVyZXIuamF2YQoJKHBhaW50KTogcGFpbnRzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgY2VsbC4KCjIwMDUtMDgtMTcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJUmVwb3J0ZWQgYnkgSW5nbyBQcm9ldGVsICA8cHJvZXRlbEBhaWNhcy5jb20+CgkqIGphdmEvYXd0L2ltYWdlL0RpcmVjdENvbG9yTW9kZWwuamF2YQoJKGNyZWF0ZUNvbXBhdGlibGVXcml0YWJsZVJhc3Rlcik6IEFkZGVkIGFyZ3VtZW50IGNoZWNrLgoKMjAwNS0wOC0xNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L0ZvbnRNZXRyaWNzLmphdmEKCShjaGFyV2lkdGgoaW50KSk6IENvcnJlY3RseSBtYXAgVW5pY29kZSBpbmRpY2VzIHRvIGNoYXJbXSBoZXJlLgoKMjAwNS0wOC0xNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvbGFuZy9DaGFyYWN0ZXIuamF2YQoJKHRvQ2hhcnMoaW50KSk6IE5ldyBKREsxLjUgbWV0aG9kLgoJKHRvQ2hhcnMoaW50LCBjaGFyW10sIGludCkpOiBOZXcgSkRLMS41IG1ldGhvZC4KCShjaGFyQ291bnQpOiBOZXcgSkRLMS41IG1ldGhvZC4KCShpc1N1cHBsZW1lbnRhcnlDb2RlUG9pbnQpOiBOZXcgSkRLMS41IG1ldGhvZC4KCShpc1ZhbGlkQ29kZVBvaW50KTogTmV3IEpESzEuNSBtZXRob2QuCgoyMDA1LTA4LTE3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Gb250TWV0cmljcy5qYXZhCgkoY2hhcldpZHRoKTogUmV2ZXJzZWQgUm9tYW4ncyBwYXRjaCwgd2FzIG5vdCBjb21waWxpbmcuCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsUmVuZGVyZXIuamF2YQoJKGdldFRyZWVDZWxsUmVuZGVyZXJDb21wb25lbnQpOiBTZXQgT3BhcXVlIHRvIHRydWUgZm9yIAoJcGFpbnRpbmcgcmVhc29ucy4KCjIwMDUtMDgtMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0RnJhbWVQZWVyLmphdmEgKHNldEljb24pOiBNYXJrIG5vbi1uYXRpdmUKCWFuZCBhZGQgRklYTUUuCgkoc2V0TWF4aW1pemVkQm91bmRzKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRGcmFtZVBlZXIuaDogUmVnZW5lcmF0ZWQuCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci8uY3ZzaWdub3JlOiBOZXcgZmlsZS4KCSogbmF0aXZlL2puaS9xdC1wZWVyL01ha2VmaWxlLmFtIChsaWJxdHBlZXJfbGFfU09VUkNFUyk6CglSZW1vdmUgZXZlbnRtZXRob2RzLmguCgkKMjAwNS0wOC0xNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogc2NyaXB0cy9jaGVja19qbmlfbWV0aG9kcy5zaDogRmluZCBKTkkgbWV0aG9kIGRlY2xhcmF0aW9ucyBpbgoJLmNwcCBmaWxlcy4gQ2hlY2sgYm90aCBHTlUgc3R5bGUgZnVuY3Rpb25zIChzdGFydCBvZiBsaW5lKSBhbmQKCW9uZS1saW5lIGxpa2UgZGVjbGFyYXRpb25zLiBVc2UgZGlmZiAtVSAwLCBub3QgLTAuCgoyMDA1LTA4LTE3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xhYmVsVUkuamF2YQoJKHBhaW50KTogRG9uJ3QgcGFpbnQgdGhlIGJvcmRlciBoZXJlLiBJZiB0aGVyZSBpcyBhIGJvcmRlciB0bwoJYmUgcGFpbnRlZCwgdGhpcyBpcyB1c3VhbGx5IHBlcmZvcm1lZCBpbiBKQ29tcG9uZW50LnBhaW50KCkuCgoyMDA1LTA4LTE3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvRm9udE1ldHJpY3MuamF2YQoJKGNoYXJXaWR0aChpbnQpKTogQ29ycmVjdGx5IG1hcCBVbmljb2RlIGluZGljZXMgdG8gY2hhcltdIGhlcmUuCgoyMDA1LTA4LTE3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCVRoaXMgYXBwbGllcyB0byB2YXJpb3VzIHZhcmlhbnRzIG9mIHRoZSByZXBhaW50KCkgbWV0aG9kczoKCShyZXBhaW50KTogSWYgdGhlIGNvbXBvbmVudCBpcyBub3Qgc2hvd2luZywgZm9yd2FyZCByZXBhaW50CglyZXF1ZXN0IHRvIHRoZSBwYXJlbnQuCgoyMDA1LTA4LTE3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xhYmVsVUkuamF2YQoJKHBhaW50KTogRG9uJ3QgZmlsbCB0aGUgYmFja2dyb3VuZCBoZXJlLiBJZiB0aGUgbGFiZWwgaXMgb3BhcXVlCgl0aGVuIHRoZSBiYWNrZ3JvdW5kIGlzIGZpbGxlZCBpbiBDb21wb25lbnRVSS51cGRhdGUoKSwgb3RoZXJ3aXNlCglpdCBtdXN0IG5vdCBiZSB0b3VjaGVkLgoKMjAwNS0wOC0xNyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZpbGVEaWFsb2dQZWVyLmphdmEKCShzZXRDb21wb25lbnRCb3VuZHMpOiBEb24ndCBwb3N0IENPTVBPTkVOVF9SRVNJWkVEIGV2ZW50LgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkoc2V0Qm91bmRzQ2FsbGJhY2tJRCk6IFJlbW92ZSB2YXJpYWJsZS4KCShjcF9ndGtfd2luZG93X2luaXRfam5pKTogRG9uJ3QgaW5pdGlhbGl6ZSBzZXRCb3VuZHNDYWxsYmFja0lELgoJKHNldEJvdW5kc0NhbGxiYWNrKTogUmVtb3ZlIG1ldGhvZC4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRnJhbWVQZWVyLmMKCShzZXRNZW51QmFyUGVlcik6IENoZWNrIGlmIG1lbnViYXIgaXMgTlVMTC4KCShzZXRNZW51QmFyV2lkdGgpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvV2luZG93LmphdmEgKGRpc3BhdGNoRXZlbnRJbXBsKTogVmFsaWRhdGUgdXBvbgoJcmVjZWl2aW5nIGEgQ09NUE9ORU5UX1JFU0laRUQgZXZlbnQuCgkoc2V0Qm91bmRzQ2FsbGJhY2spOiBSZW1vdmUgbWV0aG9kLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmg6IFJlZ2VuZXJhdGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmEgKHNldEJvdW5kc0NhbGxiYWNrKToKCVJlbW92ZSBtZXRob2QgZGVjbGFyYXRpb24uCgkocG9zdENvbmZpZ3VyZUV2ZW50KTogU2VwYXJhdGUgaGFuZGxpbmcgb2YgcmVzaXplcyBhbmQgbW92ZXMuCglDYWxsIHNldFNpemUgYW5kIHBvc3QgQ09NUE9ORU5UX1JFU0laRUQgZXZlbnQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGcmFtZVBlZXIuamF2YSAocG9zdENvbmZpZ3VyZUV2ZW50KToKCVNlcGFyYXRlIGhhbmRsaW5nIG9mIHJlc2l6ZXMgYW5kIG1vdmVzLiAgQ2FsbCBzZXRTaXplLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRmlsZURpYWxvZ1BlZXIuamF2YQoJKHNldENvbXBvbmVudEJvdW5kcyk6IENhbGwgc2V0U2l6ZSBhbmQgcG9zdCBDT01QT05FTlRfUkVTSVpFRAoJZXZlbnQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb250YWluZXJQZWVyLmphdmEgKGlzVmFsaWRhdGluZyk6CglSZW1vdmUgZmllbGQuCgoyMDA1LTA4LTE1ICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6IEFkZGVkIG9wdGlvbiB0byBlbmFibGUgYnVpbGRpbmcgcXQgcGVlcnMuCgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtOiBBZGRlZCBxdCBwZWVyIGhlYWRlcnMuCgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X01haW5RdFRocmVhZC5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RTWF0cml4LmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RUGFpbnRlclBhdGguaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1FQZW4uaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0QXVkaW9DbGlwLmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEJ1dHRvblBlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q2FudmFzUGVlci5oLAogICAgICAgIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRDaGVja2JveFBlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q2hvaWNlUGVlci5oLAogICAgICAgIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRDb21wb25lbnRQZWVyLmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdENvbnRhaW5lclBlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RGlhbG9nUGVlci5oLAogICAgICAgIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRFbWJlZGRlZFdpbmRvd1BlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RmlsZURpYWxvZ1BlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Rm9udE1ldHJpY3MuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Rm9udFBlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RnJhbWVQZWVyLmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEdyYXBoaWNzLmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEdyYXBoaWNzRW52aXJvbm1lbnQuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0SW1hZ2UuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0TGFiZWxQZWVyLmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdExpc3RQZWVyLmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVCYXJQZWVyLmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVDb21wb25lbnRQZWVyLmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVJdGVtUGVlci5oLAogICAgICAgIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRNZW51UGVlci5oLAogICAgICAgIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRQYW5lbFBlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0UG9wdXBNZW51UGVlci5oLAogICAgICAgIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRTY3JlZW5EZXZpY2UuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0U2Nyb2xsUGFuZVBlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0U2Nyb2xsYmFyUGVlci5oLAogICAgICAgIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRUZXh0QXJlYVBlZXIuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0VGV4dEZpZWxkUGVlci5oLAogICAgICAgIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRUb29sa2l0LmgsCiAgICAgICAgaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFZvbGF0aWxlSW1hZ2UuaCwKICAgICAgICBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0V2luZG93UGVlci5oLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9NYWtlZmlsZS5hbToKCU5ldyBmaWxlcy4KCgkqIG5hdGl2ZS9qbmkvTWFrZWZpbGUuYW06IEhhbmRsZSBxdCBwZWVycy4KCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9zbG90Y2FsbGJhY2tzLm1vYy5oOiBSZW1vdmVkLiBOb3cgZ2VuZXJhdGVkCglvbiBkZW1hbmQgYnkgbW9jLgoKMjAwNS0wOC0xNiAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEJ1dHRvblBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdENoZWNrYm94UGVlci5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q2hvaWNlUGVlci5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q29tcG9uZW50R3JhcGhpY3MuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdENvbXBvbmVudFBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdENvbnRhaW5lclBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdERpYWxvZ1BlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEZvbnRQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRGcmFtZVBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEdyYXBoaWNzLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRJbWFnZS5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0SW1hZ2VHcmFwaGljcy5qYXZhCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0TGlzdFBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdE1lbnVCYXJQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRNZW51SXRlbVBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdE1lbnVQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRTY3JvbGxiYXJQZWVyLmphdmEKCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRUZXh0QXJlYVBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFRleHRGaWVsZFBlZXIuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFRvb2xraXQuamF2YQoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFdpbmRvd1BlZXIuamF2YQoJKiBuYXRpdmUvam5pL3F0LXBlZXIva2V5YmluZGluZ3MuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9rZXliaW5kaW5ncy5oIAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRidXR0b25wZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRjYW52YXNwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRjaGVja2JveHBlZXIuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGNob2ljZXBlZXIuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGNvbXBvbmVudC5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0Y29tcG9uZW50cGVlci5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0ZGlhbG9ncGVlci5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0ZnJhbWVwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRncmFwaGljcy5jcHAgCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGltYWdlLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRsYWJlbHBlZXIuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGxpc3RwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRtZW51cGVlci5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0cGFuZWxwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRzY3JvbGxiYXJwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRzY3JvbGxwYW5lcGVlci5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3F0dGV4dGFyZWFwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXR0ZXh0ZmllbGRwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXR3aW5kb3dwZWVyLmNwcAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvc2xvdGNhbGxiYWNrcy5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3Nsb3RjYWxsYmFja3MuaAoJUmVpbmRlbnRlZCwgVHJhbnNtb2dyaWZpZWQgYW5kIFdpZWxhYXJkaXR1ZGVkLgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEVtYmVkZGVkV2luZG93UGVlci5qYXZhCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9ldmVudG1ldGhvZHMuaAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXRlbWJlZGRlZHdpbmRvd3BlZXIuY3BwCgkqIG5hdGl2ZS9qbmkvcXQtcGVlci9zbG90Y2FsbGJhY2tzLm1vYy5oCglOZXcgZmlsZXMKCSogbmF0aXZlL2puaS9xdC1wZWVyL2V2ZW50bWV0aG9kcy5jcHAKCSogbmF0aXZlL2puaS9xdC1wZWVyL3Nsb3RjYWxsYmFja3MubW9jCglSZW1vdmVkLgoJCjIwMDUtMDgtMTYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIC5wcm9qZWN0OiBGaXhlZCB0eXBvLiAgQWRkZWQgYnVpbGRlciBmb3IgbmF0aXZlIGNvZGUuCgkqIC5leHRlcm5hbFRvb2xCdWlsZGVycy9Db21waWxlTmF0aXZlLmxhdW5jaDogTmV3IGZpbGUuCgoyMDA1LTA4LTE2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiAuY2xhc3NwYXRoOiBJZ25vcmUgamR3cC4KCSogLnByb2plY3Q6IEFkZGVkIGJ1aWxkZXIgdG8gY3JlYXRlIExvY2FsZURhdGEuamF2YS4KCSogLmV4dGVybmFsVG9vbEJ1aWxkZXJzL0NyZWF0ZUxvY2FsZURhdGEubGF1bmNoOiBOZXcgZmlsZS4KCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9qYXd0L0RlbW9KQVdULmphdmE6IEFkZGVkIHBhY2thZ2UuCgoyMDA1LTA4LTE2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L1Bhc3N3b3JkVmlldy5qYXZhCgkoZHJhd1Vuc2VsZWN0ZWRUZXh0KTogRml4ZWQgc28gdGhlIHBhc3N3b3JkIGlzIGRyYXduIGNvcnJlY3RseSAKCWluIHRoZSB0ZXh0IGJveCBhbmQgbm8gKiBjaGFyYWN0ZXJzIGFyZSBkcmF3biBiZWZvcmUgYW55dGhpbmcKCXdhcyB0eXBlZC4KCjIwMDUtMDgtMTYgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDbGlwYm9hcmQuamF2YTogUmVpbXBsZW1lbnRlZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NsaXBib2FyZE5vdGlmaWVyLmphdmE6IE5ldyBjbGFzcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1NlbGVjdGlvbi5qYXZhOiBOZXcgY2xhc3MuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtJbWFnZS5qYXZhIChHdGtJbWFnZShQb2ludGVyKSk6IE5ldwoJY29uc3RydWN0b3IuCgkoY3JlYXRlRnJvbVBpeGJ1Zik6IE5ldyBwcml2YXRlIG5hdGl2ZSBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKHN5c3RlbUNsaXBib2FyZCk6IFJlbW92ZWQuCgkoZ2V0U3lzdGVtQ2xpcGJvYXJkKTogRG8gc2VjdXJpdHkgY2hlY2sgYW5kIHJldHVybgoJR3RrQ2xpcGJvYXJkLmdldEluc3RhbmNlKCkuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW06IEFkZCBnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrU2VsZWN0aW9uLmguCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NsaXBib2FyZC5oOiBSZWdlbmVyYXRlZC4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2UuaDogUmVnZW5lcmF0ZWQuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1NlbGVjdGlvbi5oOiBOZXcgaGVhZGVyIGZpbGUuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NsaXBib2FyZC5jOgoJUmVpbXBsZW1lbnRlZC4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2UuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlX2NyZWF0ZUZyb21QaXhidWYpOiBOZXcKCjIwMDUtMDgtMTYgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJKEFjdGlvbkxpc3RlbmVyUHJveHkpOiBSZXBsYWNlZCB0eXBlIFRhYmxlQWN0aW9uIHdpdGggcGFyZW50IHR5cGUKCUFjdGlvbkxpc3RlbmVyIHRvIGF2b2lkIFNlbWFudGljIGVycm9ycy4KCjIwMDUtMDgtMTYgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBGaXhlZCB0eXBvLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJKGluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBSZXBsYWNlZCBjYWxscyB0byByZWdpc3RlcktleWJvYXJkQWN0aW9uIHdpdGgKCWFkZGl0aW9ucyB0byBhbiBleHBsaWNpdCBJbnB1dE1hcC1BY3Rpb25NYXAgcGFpciBhbmQgdGhlbiBzZXQgdGhpcwoJcGFpciBhcyB0aGUgcGFyZW50IHBhaXIgdG8gdGhlIEpUYWJsZSdzLiAgVGhpcyBtYXRjaGVzIHRoZSBKREsgd2hlcmUKCXRoZSBVSSBJbnB1dC1BY3Rpb24gcGFpcnMgYXJlIHRoZSBwYXJlbnRzIG9mIHRoZSBjb21wb25lbnQncy4KCShBY3Rpb25MaXN0ZW5lclByb3h5KTogTmV3IGNsYXNzLgoKMjAwNS0wOC0xNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9kYXRhdHJhbnNmZXIvRGVtby5qYXZhOgoJRG9jdW1lbnQgYW5kIGltcGxlbWVudCBJdGVtTGlzdGVuZXIgYW5kIEZsYXZvckxpc3RlbmVyLgoJKGZsYXZvcnMpOiBOZXcgZmllbGQuCgkoZGV0YWlscyk6IE5ldyBmaWVsZC4KCShEZW1vKTogQWRkIG1vcmUgc3BhY2UsIGFkZCB0aGUgZmxhdm9ycyBwYW5lbCBhbmQgZmxhdm9yIGxpc3RlbmVyLgoJKGNyZWF0ZVRleHRQYW5lbCk6IFNtYWxsZXIgYW5kIHdpZGVyLgoJKGNyZWF0ZUZsYXZvcnNQYW5lbCk6IE5ldyBwcml2YXRlIG1ldGhvZC4KCShmbGF2b3JzQ2hhbmdlZCk6IE5ldyBwdWJsaWMgbWV0aG9kLgoJKGl0ZW1TdGF0ZUNoYW5nZWQpOiBMaWtld2lzZS4KCShJbWFnZUNvbXBvbmVudC5JbWFnZUNvbXBvbmVudCk6IFNtYWxsZXIgZGVmYXVsdC4KCShPYmplY3RDb21wb25lbnQuT2JqZWN0Q29tcG9uZW50KTogTWFrZSB3aWRlci4KCShGbGF2b3JzQ29tcG9uZW50KTogTmV3IHN0YXRpYyBjbGFzcy4KCShGbGF2b3JEZXRhaWxzQ29tcG9uZW50KTogTGlrZXdpc2UuCgoyMDA1LTA4LTE2ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCUNoYW5nZWQgZm9udCBmb3IgUGFzc3dvcmRGaWVsZCBiZWNhdXNlIHRleHRib3ggd2FzIAoJYmVpbmcgZHJhd24gYXQgYW4gYXdrd2FyZCBoZWlnaHQuCgkqIGphdmF4L3N3aW5nL3RleHQvUGFzc3dvcmRWaWV3LmphdmEKCShnZXRQcmVmZXJyZWRTcGFuKTogSW1wbGVtZW50ZWQKCShtb2RlbFRvVmlldyk6IGxpa2V3aXNlLgoJKHZpZXdUb01vZGVsKTogcGFydGlhbGx5IGltcGxlbWVudGVkLgoKMjAwNS0wOC0xNiAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoZGlzcGF0Y2hFdmVudEltcGwpOiBBbHdheXMgY2FsbCBwZWVyLmhhbmRsZUV2ZW50KCkuCgoyMDA1LTA4LTE2ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShhZGRJbXBsLCByZW1vdmUpOiBPbmx5IHJlcGFpbnQgaWYgdGhlIGNvbnRhaW5lciBpcyBzaG93aW5nLgoKMjAwNS0wOC0xNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdF9uYXRpdmVRdWV1ZUVtcHR5KTogUmVtb3ZlZC4KCjIwMDUtMDgtMTUgIERhbGlib3IgVG9waWMgIDxyb2JpbGFkQGthZmZlLm9yZz4KCiAgICAgICAgKiBuYXRpdmUvam5pL3F0LXBlZXIvbWFpbnF0dGhyZWFkLmNwcCwKICAgICAgICBuYXRpdmUvam5pL3F0LXBlZXIvcW1hdHJpeC5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3FwYWludGVycGF0aC5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3FwZW4uY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGJ1dHRvbnBlZXIuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGNhbnZhc3BlZXIuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGNoZWNrYm94cGVlci5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0Y2hvaWNlcGVlci5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0Y29tcG9uZW50cGVlci5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0ZGlhbG9ncGVlci5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0ZmlsZWRpYWxvZ3BlZXIuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGZvbnRtZXRyaWNzLmNwcCwKICAgICAgICBuYXRpdmUvam5pL3F0LXBlZXIvcXRmb250cGVlci5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0ZnJhbWVwZWVyLmNwcCwKICAgICAgICBuYXRpdmUvam5pL3F0LXBlZXIvcXRncmFwaGljcy5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0aW1hZ2UuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdGxhYmVscGVlci5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0bGlzdHBlZXIuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdG1lbnViYXJwZWVyLmNwcCwKICAgICAgICBuYXRpdmUvam5pL3F0LXBlZXIvcXRtZW51Y29tcG9uZW50cGVlci5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0bWVudWl0ZW1wZWVyLmNwcCwKICAgICAgICBuYXRpdmUvam5pL3F0LXBlZXIvcXRtZW51cGVlci5jcHAsCiAgICAgICAgbmF0aXZlL2puaS9xdC1wZWVyL3F0cGFuZWxwZWVyLmNwcCwKICAgICAgICBuYXRpdmUvam5pL3F0LXBlZXIvcXRwb3B1cG1lbnVwZWVyLmNwcCwKICAgICAgICBuYXRpdmUvam5pL3F0LXBlZXIvcXRzY3JlZW5kZXZpY2UuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdHNjcm9sbGJhcnBlZXIuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdHNjcm9sbHBhbmVwZWVyLmNwcCwKICAgICAgICBuYXRpdmUvam5pL3F0LXBlZXIvcXR0ZXh0YXJlYXBlZXIuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdHRleHRmaWVsZHBlZXIuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdHZvbGF0aWxlaW1hZ2UuY3BwLAogICAgICAgIG5hdGl2ZS9qbmkvcXQtcGVlci9xdHdpbmRvd3BlZXIuY3BwOgoJSW5jbHVkZSA8YXNzZXJ0Lmg+LgoKMjAwNS0wOC0xNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlBhc3N3b3JkRmllbGQuamF2YQoJKGdldFRleHQpOiBGaXhlZCB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgdG8gcmV0cmlldmUuCgoyMDA1LTA4LTE1ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvYXd0L1RleHRDb21wb25lbnQuamF2YQoJKHNlbGVjdCk6IEZpeCB0eXBvLgoJCjIwMDUtMDgtMTUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6CgkocHJvY2Vzc0tleUV2ZW50KTogQWRkZWQgZnVuY3Rpb25hbGl0eSBmb3IgcHJvY2Vzc2luZyBrZXkgZXZlbnRzIGluCglub24tZm9jdXNlZCBjb21wb25lbnRzIHVzaW5nIHRoZSBXSEVOX0FOQ0VTVE9SX09GX0ZPQ1VTRURfQ09NUE9ORU5UCglmaWVsZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogQ2hhbmdlZCBrZXkgYmluZGluZ3MgdG8gYmUgcmVnaXN0ZXJlZCBhcwoJV0hFTl9BTkNFU1RPUl9PRl9GT0NVU0VEX0NPTVBPTkVOVCByYXRoZXIgdGhhbiBhcyBXSEVOX0ZPQ1VTRUQuCgkoVGFibGVBY3Rpb24uYWN0aW9uUGVyZm9ybWVkKTogSWYgdGhlIGtleSBhY3Rpb24gaXMgYW55dGhpbmcgYmVzaWRlcwoJInN0YXJ0IGVkaXRpbmciIHRoZW4gd2Ugc3RvcCBlZGl0aW5nIGlmIHdlIGFyZSBkb2luZyBzby4gIFJlcGFpbnQgdGhlCgl0YWJsZSBhdCB0aGUgZW5kIG9mIHRoaXMgbWV0aG9kLgoKMjAwNS0wOC0xNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlBhc3N3b3JkRmllbGQuamF2YQoJKGVjaG9DaGFySXNTZXQpOiBGaXhlZCB0aGlzIHRvIHdvcmsgYWNjb3JkaW5nIHRvIEFQSS4KCShnZXRUZXh0KTogSW1wbGVtZW50ZWQKCShnZXRUZXh0KTogSW1wbGVtZW50ZWQKCShnZXRQYXNzd29yZCk6IEltcGxlbWVudGVkCgkocGFyYW1TdHJpbmcpOiBJbXBsZW1lbnRlZAoKMjAwNS0wOC0xNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L0NsYXNzcGF0aFRvb2xraXQuamF2YSAobmF0aXZlUXVldWVFbXB0eSk6IFJlbW92ZQoJbWV0aG9kLgoJKHdha2VOYXRpdmVRdWV1ZSk6IExpa2V3aXNlLgoJKGl0ZXJhdGVOYXRpdmVRdWV1ZSk6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhIChzdGF0aWMpOiBTdGFydCBHVEsgbWFpbgoJdGhyZWFkLgoJKG5hdGl2ZVF1ZXVlRW1wdHkpOiBSZW1vdmUgbWV0aG9kLgoJKHdha2VOYXRpdmVRdWV1ZSk6IExpa2V3aXNlLgoJKGl0ZXJhdGVOYXRpdmVRdWV1ZSk6IExpa2V3aXNlLgoJKGd0a01haW4pOiBOZXcgbWV0aG9kLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0Lmg6IFJlZ2VuZXJhdGUuCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YTogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gQ2xhc3NwYXRoVG9vbGtpdC4KCSogamF2YS9hd3QvRnJhbWUuamF2YSAoZmlyZUR1bW15RXZlbnQpOiBSZW1vdmUgbWV0aG9kLgoJUmVtb3ZlIGNhbGxzIHRvIGZpcmVEdW1teUV2ZW50LgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtHZW5lcmljUGVlci5jCgkoZGlzcG9zZSk6IERvbid0IHdha2UgdXAgbWFpbiB0aHJlYWQuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuYzogUmVtb3ZlCglzaW5nbGUtdGhyZWFkIGNvZGUuCgoyMDA1LTA4LTE1ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhCgkoZXhwYW5kUGF0aCk6IGNhbGxlZCBmaXJlVHJlZVdpbGxFeHBhbmQgYW5kIGZpcmVUcmVlRXhwYW5kZWQgCglzaW5jZSBpdCBpcyBub3QgcmVxdWlyZWQgdGhhdCB0aGUgY2FsbGluZyBjbGFzcyBmaXJlcyB0aGVzZQoJZXZlbnRzLgoJKGNvbGxhcHNlUGF0aCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShtb3VzZUNsaWNrZWQpOiBUb29rIG91dCBjb2RlIHRoYXQgY2FsbGVkIGZpcmVUcmVlV2lsbEV4cGFuZC8KCWZpcmVUcmVlV2lsbENvbGxhcHNlIGFuZCBmaXJlVHJlZUV4cGFuZGVkL2ZpcmVUcmVlQ29sbGFwc2VkLgoJKGtleVByZXNzZWQpOiBMaWtld2lzZS4KCjIwMDUtMDgtMTUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL2F3dC9GbG93TGF5b3V0LmphdmEKCShzZXRBbGlnbm1lbnQpOiBSZW1vdmVkIGNoZWNrIGZvciBpbGxlZ2FsIHZhbHVlcy4gVGhlc2UgdmFsdWVzCglhcmUgdHJlYXRlZCBhcyBMRUZUIGFsaWdubWVudCBpbnN0ZWFkLgoJKGxheW91dENvbnRhaW5lcik6IFRyZWF0IHVua25vd24gYWxpZ24gdmFsdWVzIGFzIExFRlQgaW4gZGVmYXVsdAoJY2xhdXNlIG9mIGlmLWVsc2Ugc3RhdGVtZW50LgoKMjAwNS0wOC0xNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0J1dHRvblBlZXIuamF2YSAoaGFuZGxlRXZlbnQpOiBSZW1vdmUKCW1ldGhvZC4KCShwb3N0QWN0aW9uRXZlbnQpOiBOZXcgbWV0aG9kLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmM6CglSZW5hbWUgc3RhdGVfdG9fYXd0X21vZHMgY3BfZ3RrX3N0YXRlX3RvX2F3dF9tb2RzLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0a3BlZXIuaDogRGVjbGFyZSBjcF9ndGtfc3RhdGVfdG9fYXd0X21vZHMuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0J1dHRvblBlZXIuYwoJKGNsaWNrZWRfY2IpOiBOZXcgZnVuY3Rpb24uCgkoY29ubmVjdFNpZ25hbHMpOiBDb25uZWN0IGNsaWNrZWRfY2IgY2FsbGJhY2sgdG8gImNsaWNrZWQiIHNpZ25hbC4KCjIwMDUtMDgtMTQgIENhc2V5IE1hcnNoYWxsICA8Y3NtQGdudS5vcmc+CgoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9EU0FLZXlQYWlyR2VuZXJhdG9yLmphdmEKCShpbml0aWFsaXplKTogc2V0ICdrZXlzaXplJyB0byAnbW9kbGVuLicKCShnZXREZWZhdWx0cyk6IHJldHVybiAndHJ1ZScgZm9yIGtleXNpemVzICc3NjgnIGFuZCAnMTAyNC4nCgoyMDA1LTA4LTE0ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBsaWIvTWFrZWZpbGUuYW0gKEpBVkFDKTogRGlzYWJsZSBlY2ogd2FybmluZyBvdXRwdXQuCgoyMDA1LTA4LTE0ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmEKCShnZXRTY3JlZW5TaXplLCBnZXRDb2xvck1vZGVsLCBnZXRGb250TWV0cmljcywgZ2V0SW1hZ2UsIGNyZWF0ZUltYWdlLAoJIGNyZWF0ZUltYWdlUHJvZHVjZXIsIHJlZ2lzdGVySW1hZ2VJT1NwaXMpOgoJUmVtb3ZlIHJlZHVuZGFudCAob3ZlcmxvYWRlZCkgbWV0aG9kcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YQoJKHJlZ2lzdGVySW1hZ2VJT1NwaXMpOiBNb3ZlIHJlZ2lzdHJhdGlvbiB0byBzdGF0aWMgaW5pdGlhbGl6ZXIuCgkqIGphdmF4L2ltYWdlaW8vc3BpL0lJT1JlZ2lzdHJ5LmphdmE6CglSZW1vdmUgY2FsbCB0byBUb29sa2l0IHJlZ2lzdHJhdGlvbiBtZXRob2QuCgkKMjAwNS0wOC0xMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSAocmVwYWludFRpbWVyKTogTWFrZQoJZmllbGQgZmluYWwuCgoyMDA1LTA4LTE0ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhCgkoYWRkSW1wbCk6IENhbGwgYWRkTm90aWZ5KCkgb25seSBpZiB0aGUgY29udGFpbmVyIGhhcyBhIHBlZXIuCgoyMDA1LTA4LTEzICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhCgkocmVhZENsYXNzRGVzY3JpcHRvcik6IERvbid0IGNhY2hlIGNhbGxlcidzIGNsYXNzIGxvYWRlci4KCShyZXNvbHZlQ2xhc3MpOiBEb24ndCBjYWNoZSBjYWxsZXIncyBjbGFzcyBsb2FkZXIgYW5kIHN1cHBvcnQKCXByaW1pdGl2ZSB0eXBlcy4gRml4ZXMgYnVnICMyMzM3Ny4KCjIwMDUtMDgtMTMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIHNjcmlwdHMvY2hlY2tfam5pX21ldGhvZHMuc2g6IFNldCBhbmQgY2hlY2sgZm9yIFBST0JMRU0uCgoyMDA1LTA4LTEzICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBzY3JpcHRzL2NoZWNrX2puaV9tZXRob2RzLnNoOiBEb24ndCBjcmVhdGUgdGVtcCBmaWxlcyBpbiBzb3VyY2UgZGlyLgoJRG9uJ3Qgb3ZlcnJpZGUgZXhpc3RpbmcgZmlsZXMuIEZhc3QgZmFpbCBvbiBlcnJvcnMuCgoyMDA1LTA4LTEyICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiB2bS9yZWZlcmVuY2UvZ251L2NsYXNzcGF0aC9qZHdwL1ZNRnJhbWUuamF2YShnZXRWYWx1ZSk6CglGaXggdHlwbyBpbiBjb21tZW50LgoKMjAwNS0wOC0xMiAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9WaXJ0dWFsTWFjaGluZUNvbW1hbmRTZXQuamF2YQoJKGV4ZWN1dGVBbGxUaHJlYWRzKTogVXNlIGVudW1lcmF0ZShUaHJlYWRbXSkgaW5zdGVhZCBvZiAKCWVudW1lcmF0ZShUaHJlYWRbXSwgdHJ1ZSkuCgkocnVuQ29tbWFuZCk6IFRocm93IE5vdEltcGxlbWVudGVkRXhjZXB0aW9uIHdoZW4gY29tbWFuZCBpcyBub3QgZm91bmQuCgoyMDA1LTA4LTEyICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL09iamVjdFJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YQoJKGV4ZWN1dGVJbnZva2VNZXRob2QpOiBDaGFuZ2UgTWV0aG9kSW52b2tlciB0byBNZXRob2RSZXN1bHQuCgoyMDA1LTA4LTEyICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdXRpbC9WYXJpYWJsZVRhYmxlLmphdmE6IEEgY2xhc3MgcmVwcmVzZW50aW5nIGEKCVZhcmlhYmxlIFRhYmxlIGZvciBhIG1ldGhvZC4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3V0aWwvTGluZVRhYmxlLmphdmE6IEEgY2xhc3MgcmVwcmVzZW50aW5nIGEgTGluZQoJVGFibGUgZm9yIGEgbWV0aG9kLgoKMjAwNS0wOC0xMiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01lbnVCYXJQZWVyLmphdmEgKGFkZE1lbnUoTWVudSkpOiBOZXcKCW1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01lbnVQZWVyLmphdmEgKGFkZFNlcGFyYXRvcik6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9wZWVyL01lbnVCYXJQZWVyLmphdmEgKGFkZE1lbnUpOiBOZXcgbWV0aG9kCglkZWNsYXJhdGlvbi4KCSogamF2YS9hd3QvcGVlci9NZW51UGVlci5qYXZhIChhZGRTZXBhcmF0b3IpOiBOZXcgbWV0aG9kCglkZWNsYXJhdGlvbi4KCjIwMDUtMDgtMTIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEgKHNldEJvdW5kcyk6IEdldAoJZnJhbWUgaW5zZXRzIGRpcmVjdGx5IGZyb20gcGVlciByYXRoZXIgdGhhbiBmcm9tIFdpbmRvdy5nZXRJbnNldHMuCgkodG9TdHJpbmcpOiBOZXcgbWV0aG9kLgoKMjAwNS0wOC0xMiAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3V0aWwvTG9jYXRpb24uamF2YTogTmV3IGZpbGUgdG8gaGFuZGxlIEpEV1AKCWxvY2F0aW9ucy4KCjIwMDUtMDgtMTIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtCdXR0b25QZWVyLmphdmEsCgluYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmMKCShndGtXaWRnZXRHZXRQcmVmZXJyZWREaW1lbnNpb25zKTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0xhYmVsUGVlci5qYXZhLAoJbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTGFiZWxQZWVyLmMKCShndGtXaWRnZXRHZXRQcmVmZXJyZWREaW1lbnNpb25zKTogTmV3IG1ldGhvZC4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTGFiZWxQZWVyLmg6IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0J1dHRvblBlZXIuaDogTGlrZXdpc2UuCgoyMDA1LTA4LTEyICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXhjZXB0aW9uL0pkd3BJbnRlcm5hbEVycm9yRXhjZXB0aW9uLmphdmEKCShKZHdwSW50ZXJuYWxFcnJvckV4Y2VwdGlvbik6IEFkZGVkIG5ldyBjb25zdHJ1Y3Rvci4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3V0aWwvVmFsdWUuamF2YQoJKGdldFVudGFnZ2VkT2JqKToKCUNoYW5nZWQgSW52YWxpZEZpZWxkRXhjZXB0aW9uIHRvIEpkd3BJbnRlcm5hbEVycm9yRXhjZXB0aW9uLgoJKHdyaXRlVW50YWdnZWRWYWx1ZSk6IExpa2V3aXNlLgoJKHdyaXRlVGFnZ2VkVmFsdWUpOiBMaWtld2lzZS4KCSh3cml0ZVZhbHVlKTogTGlrZXdpc2UuCgoyMDA1LTA4LTEyICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0V2ZW50UmVxdWVzdENvbW1hbmRTZXQuamF2YToKCUltcGxlbWVudGVkIHRoZSBFdmVudFJlcXVlc3QgQ29tbWFuZFNldC4KCjIwMDUtMDgtMTIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YToKCShzZXRWYWx1ZUF0KTogRG8gbm90aGluZyBpZiBpc0NlbGxFZGl0YWJsZSByZXR1cm5zIGZhbHNlLgoJKGVkaXRDZWxMQXQpOiBSZW1vdmVkIHRoZSBLZXkgTGlzdGVuZXIgZm9yIHRoZSBKVGV4dEZpZWxkLiAgTGlzdGVuaW5nCglmb3IgRVNDQVBFIHNob3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSBKVGFibGUgaXRzZWxmLiAgTm90ZSwgdGhpcyBpcyBub3QKCWltcGxlbWVudGVkIHlldC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6CgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgc2V2ZXJhbCBrZXliaW5kaW5ncyB0byBKVGFibGUncwoJYW5jZXN0b3JJbnB1dE1hcC4gIFRoZXNlIGFyZSBhbGwgaW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmE6CgkoS2V5SGFuZGxlcik6IFJlbW92ZWQgdGhpcyBjbGFzcy4gIE5vdGUgdGhhdCBtb3N0IG9mIHRoZSBjb2RlIGZyb20gdGhlCglrZXlQcmVzc2VkIG1ldGhvZCBub3cgcmVzaWRlcyBpbiB0aGUgYWN0aW9uUGVyZm9ybWVkIG1ldGhvZCBvZiB0aGUKCUJhc2ljVGFibGVVSS5UYWJsZUFjdGlvbiBjbGFzcy4KCShjb252ZXJ0TW9kaWZpZXJzKTogTmV3IHByaXZhdGUgbWV0aG9kIHRvIGNvbnZlcnQgZnJvbSBuZXcgSW5wdXRFdmVudAoJbW9kaWZpZXIgbWFza3MgdG8gdGhlIG9sZCBzdHlsZS4KCShpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogSW1wbGVtZW50ZWQuICBHZXRzIHRoZSBrZXkgYmluZGluZ3MgZnJvbQoJdGhlIFVJTWFuYWdlciBhbmQgcmVnaXN0ZXJzIHRoZW0gZm9yIHRoZSBKVGFibGUuCgkoVGFibGVBY3Rpb24pOiBOZXcgY2xhc3MuICBUaGlzIGlzIHdoZXJlIHRoZSBhY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8KCWtleSBwcmVzc2VzIHJlc2lkZXMuCgkoaW5zdGFsbExpc3RlbmVycyk6IFJlbW92ZWQgaW5zdGFsbGF0aW9uIG9mIEtleUxpc3RlbmVyLgoKMjAwNS0wOC0xMiAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogdm0vcmVmZXJlbmNlL3N0YW5kYXJkLm9taXQ6IE5ldyBmaWxlIHRvIG9taXQgamR3cCByZWZlcmVuY2UgY2xhc3NlcwoJZnJvbSBidWlsZC4KCjIwMDUtMDgtMTIgIEFhcm9uIEx1Y2hrbyAgPGFsdWNoa29AcmVkaGF0LmNvbT4KCgkqIHZtL3JlZmVyZW5jZS9nbnUvY2xhc3NwYXRoL2pkd3AvVk1GcmFtZS5qYXZhOiBJbXBsZW1lbnRlZCByZWZlcmVuY2UKCWltcGxlbWVudGF0aW9uIG9mIGludGVyZmFjZSB0byBWTSBmb3IgSkRXUCBmcmFtZSBtYW5hZ2VtZW50LgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL1N0YWNrRnJhbWVDb21tYW5kU2V0LmphdmE6IFVwZGF0ZWQKCWltcG9ydC4KCShleGVjdXRlR2V0VmFsdWVzKTogVXNlIFZNRnJhbWUgaW5zdGVhZCBvZiBGcmFtZS4KCShleGVjdXRlU2V0VmFsdWVzKTogVXNlIFZNRnJhbWUgaW5zdGVhZCBvZiBGcmFtZS4KCShleGVjdXRlVGhpc09iamVjdCk6IFVzZSBWTUZyYW1lIGluc3RlYWQgb2YgRnJhbWUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvVGhyZWFkUmVmZXJlbmNlQ29tbWFuZFNldC5qYXZhOgoJVXBkYXRlZCBpbXBvcnQuCgkoZXhlY3V0ZUZyYW1lcyk6IENoYW5nZWQgZ2V0TG9jKCkgdG8gZ2V0TG9jYXRpb24oKSBhbmQgdXNlCglWTUZyYW1lIGluc3RlYWQgb2YgRnJhbWUuCgoyMDA1LTA4LTEyICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShnZXRDZWxsTG9jYXRpb24pOiBBZGRlZCBpbiBhIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgbm9kZSBoYXMgY2hpbGRyZW4uCglGaXhlZCBsb29wIHRvIHVzZSBwb3N0LWluY3JlbWVudC4KCShwYWludFJlY3Vyc2l2ZSk6IEZpeGVkIGxvb3AgdG8gdXNlIHBvc3QtaW5jcmVtZW50LgoJKHBhaW50Q29udHJvbEljb25zKTogTGlrZXdpc2UuCgkoZ2V0TmV4dE5vZGUpOiBGaXhlZCBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCBub2RlIGhhcyBjaGlsZHJlbi4KCShnZXRQcmV2aW91c1NpYmxpbmcpOiBBZGRlZCBpbiBjaGVjayB0byBtYWtlIHN1cmUgaW5kZXggaXMgaW4gY29ycmVjdAoJcmFuZ2UuCgoyMDA1LTA4LTEyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdEJ1dHRvblBlZXIuamF2YTogUmVwbGFjZSB1c2VzIG9mCgl0b29sa2l0LmV2ZW50UXVldWUucG9zdEV2ZW50KCkgd2l0aCBRdFRvb2xraXQuZXZlbnRRdWV1ZS5wb3N0RXZlbnQoKS4KCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRDaGVja2JveFBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q2hvaWNlUGVlci5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvcXQvUXRDb21wb25lbnRQZWVyLmphdmE6IExpa2V3aXNlIGFuZCBmb3IKCWd1aVRocmVhZC5RQXBwbGljYXRpb25Qb2ludGVyIGFuZCBncmFwaGljc0Vudi5nZXRTY3JlZW5EZXZpY2VzKCkuCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0TWVudUl0ZW1QZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdE1lbnVQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9xdC9RdFNjcm9sbGJhclBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL3NlY3VyaXR5L1BvbGljeUZpbGUuamF2YWkgKHJlZnJlc2gpOiBBc3NpZ24gb25seSBvdXRzaWRlCglpZiBzdGF0ZW1lbnQuCgoyMDA1LTA4LTEyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEKCShpbnNlcnRTdHJpbmcpOiBVc2UgcmVwbGFjZSgpIHRvIGFjdHVhbGx5IGluc2VydCBjb250ZW50LgoJKHJlbW92ZSk6IFVzZSByZXBsYWNlKCkgdG8gYWN0dWFsbHkgcmVtb3ZlIGNvbnRlbnQuCgkoc2hpZnRHYXApOiBSZXBhaXJlZCBtaXNwbGFjZWQgY3VybHkgYnJhY2UgaW4gaWYgYmxvY2sgb2YKCWJvdWRhcnkgY2hlY2suCgkocmVwbGFjZSk6IENoZWNrIGZvciBudWxsIGFyZ3VtZW50IGZvciBhZGRJdGVtcy4KCjIwMDUtMDgtMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJUmVwb3J0ZWQgYnk6IEluZ28gUHJvZXRlbCAgPHByb2V0ZWxAYWljYXMuY29tPgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhCgkoZmluZENsYXNzKTogQWRkZWQgbnVsbCBjaGVjayB0byBhdm9pZCBOdWxsUG9pbnRlckV4Y2VwdGlvbi4KCjIwMDUtMDgtMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJUmVwb3J0ZWQgYnk6IEluZ28gUHJvZXRlbCAgPHByb2V0ZWxAYWljYXMuY29tPgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9Mb2dnZXIuamF2YQoJVGhpcyBhcHBsaWVzIHRvIGEgY291cGxlIG9mIGxvZygpIG1ldGhvZHM6CgkobG9nKTogQWRkZWQgY2hlY2sgaWYgdGhlIHNwZWNpZmllZCBsZXZlbCBpcyBhY3R1YWxseSBlbmFibGVkLAoJb3RoZXJ3aXNlIGlnbm9yZSBsb2dnaW5nIHJlcXVlc3QuCgoyMDA1LTA4LTEyICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YQoJKiAoZ2V0TWluaW11bURpdmlkZXJMb2NhdGlvbik6IEZpeGVkIHRvIHdvcmsgc2ltaWxhciB0byAKCWdldE1heGltdW1EaXZpZGVyTG9jYXRpb24uIFdhcyBub3QgYWJsZSB0byBtb3ZlIGRpdmlkZXIKCWluIGJvdGggZGlyZWN0aW9ucyBiZWZvcmUuCgoyMDA1LTA4LTEyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShyZXNoYXBlKTogU2ltcGxpZmllZCByZXBhaW50aW5nIG9mIHBhcmVudC4KCShwYWludCk6IERvbid0IGNhbGwgcGVlci5wYWludCgpIGhlcmUuIFRoZSBwYWludCBtZXRob2QgaXMKCWV4Y2x1c2l2bHkgbWVhbnQgdG8gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIHRoYXQgd2lzaCB0bwoJcGVyZm9ybSBjdXN0b20gcGFpbnRpbmcgYW5kIHNob3VsZCBkbyBub3RoaW5nIGJ5IGRlZmF1bHQuCgkocmVwYWludCk6IFVzZSBsb2NhbCB2YXJpYWJsZSBpbiBudWxsIHBvaW50ZXIgY2hlY2tzIHRvIGF2b2lkCglOdWxsUG9pbnRlckV4Y2VwdGlvbnMuCgkoaW1hZ2VVcGRhdGUpOiBTbGlnaHQgZm9ybWF0dGluZyBhZGp1c3RtZW50cy4KCShkaXNwYXRjaEV2ZW50KTogRG9uJ3QgY2FsbCBwZWVyLmhhbmRsZUV2ZW50KCkgaGVyZSwgdGhpcyBtdXN0CgliZSBkb25lIGluIGRpc3BhdGNoRXZlbnRJbXBsKCkuCgkoZGlzcGF0Y2hFdmVudEltcGwpOiBEaXNwYXRjaCBQQUlOVCBhbmQgVVBEQVRFIGV2ZW50cyB0byB0aGUKCXBlZXIuCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhCgkocGFpbnQpOiBEb24ndCBjYWxsIHN1cGVyLnBhaW50KCkgaGVyZSwgdGhpcyBtZXRob2QgZG9lcyBub3RoaW5nCglhbnl3YXkuIFZpc2l0IG9ubHkgbGlnaHR3ZWlnaHQgY2hpbGRyZW4uCgkodXBkYXRlKTogSW5zdGVhZCBvZiBjbGVhcmluZyB0aGUgYmFja2dyb3VuZCBvbmx5IGZvciB0b3AtbGV2ZWwKCWNvbnRhaW5lcnMsIGNsZWFyIHRoZSBiYWNrZ3JvdW5kIGZvciBhbGwgaGVhdnl3ZWlnaHQgY29udGFpbmVycy4KCjIwMDUtMDgtMTIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvamF3dC9EZW1vSkFXVC5jOiBOZXcgZmlsZS4KCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9qYXd0L0RlbW9KQVdULmphdmE6IExpa2V3aXNlLgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL2phd3QvTWFrZWZpbGU6IExpa2V3aXNlLgoKMjAwNS0wOC0xMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9kYXRhdHJhbnNmZXIvRGVtby5qYXZhOgoJTmV3IGV4YW1wbGUuCgoyMDA1LTA4LTExICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJRm9yIFBSIGNsYXNzcGF0aC8yMzAwODoKCSogZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzE2RGVjb2Rlci5qYXZhIChkZWNvZGVMb29wKTogQ29ycmVjdGx5CgltYXNrIGJ5dGVzIHdoZW4gY29uc3RydWN0aW5nIGNoYXJhY3RlcnMuCgoyMDA1LTA4LTExICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2NsYXNzcGF0aC9NYWtlZmlsZS5hbSAoRVhUUkFfRElTVCk6IEFkZCBjbGFzc3BhdGhfamF3dC5oLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0Xyo6IFJlbW92ZWQuCgoyMDA1LTA4LTExICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvSU9SSW5mb09wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvSU9SSW50ZXJjZXB0b3IuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvSU9SSW50ZXJjZXB0b3JPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0lPUkluZm8uamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wOC0xMSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlCgkocm93QXRQb2ludCk6IEFkZGVkIGluIGEgY2hlY2sgZm9yIG51bGwuIFdhcyBnZXR0aW5nIE5QRS4KCShjb2x1bW5BdFBvaW50KTogTGlrZXdpc2UuCgoyMDA1LTA4LTExICBMaWxsaWFuIEFuZ2VsIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNWaWV3cG9ydFVJLmphdmEKCShwYWludFNpbXBsZSk6IENoYW5nZWQgdG8gcGFpbnQgdGhlIHBvcnRCb3VuZHMgZnJvbSAoMCwwKS4KCjIwMDUtMDgtMTEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L2ltYWdlL0NvbnZvbHZlT3AuamF2YSAoZmlsdGVyKTogRGVmZXIgbnVtQmFuZHMgY2hlY2sKCXVudGlsIGFmdGVyIG51bGwgY2hlY2suICBQUiBjbGFzc3BhdGgvMjI5OTkuCgoyMDA1LTA4LTExICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvT2JzZXJ2YWJsZS5qYXZhIChhZGRPYnNlcnZlcik6IFRocm93CglOdWxsUG9pbnRlckV4Y2VwdGlvbiBpZiBuZWNlc3NhcnkuICBQUiBjbGFzc3BhdGgvMjMyNzkuCgoyMDA1LTA4LTExICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL3F0L1F0TWVudUNvbXBvbmVudFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0R3JhcGhpY3MuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0VGV4dEZpZWxkUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRGcmFtZVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0UGFuZWxQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdFRvb2xraXQuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0V2luZG93UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRCdXR0b25QZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdEltYWdlR3JhcGhpY3MuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q29udGFpbmVyUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRDb21wb25lbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdExpc3RQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdENob2ljZVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0U2Nyb2xsUGFuZVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L01haW5RdFRocmVhZC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRJbWFnZS5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvTmF0aXZlV3JhcHBlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRDaGVja2JveFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0U2NyZWVuRGV2aWNlQ29uZmlndXJhdGlvbi5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRUZXh0QXJlYVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0RGlhbG9nUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUVBlbi5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRDYW52YXNQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdExhYmVsUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRHcmFwaGljc0Vudmlyb25tZW50LmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdEltYWdlQ29uc3VtZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0U2Nyb2xsYmFyUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRGb250TWV0cmljcy5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRNZW51QmFyUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRGb250UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUU1hdHJpeC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRWb2xhdGlsZUltYWdlLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RUGFpbnRlclBhdGguamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0Q29tcG9uZW50R3JhcGhpY3MuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL3F0L1F0U2NyZWVuRGV2aWNlLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdE1lbnVQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdEF1ZGlvQ2xpcC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvcXQvUXRQb3B1cE1lbnVQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdEZpbGVEaWFsb2dQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9xdC9RdE1lbnVJdGVtUGVlci5qYXZhLAoJKiBuYXRpdmUvam5pL3F0LXBlZXIvcXBlbi5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIva2V5YmluZGluZ3MuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0Y29tcG9uZW50cGVlci5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvYnV0dG9uZXZlbnQuaCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGRpYWxvZ3BlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0bWVudWJhcnBlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL21haW5xdHRocmVhZC5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvcXRwYW5lbHBlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3FtYXRyaXguY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0bWVudWNvbXBvbmVudHBlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0Z3JhcGhpY3MuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0dG9vbGtpdC5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvcXRidXR0b25wZWVyLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9rZXliaW5kaW5ncy5oLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0dm9sYXRpbGVpbWFnZS5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvcXRjb21wb25lbnQuaCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9zbG90Y2FsbGJhY2tzLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdHBvcHVwbWVudXBlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0bWVudWl0ZW1wZWVyLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGNob2ljZXBlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL25hdGl2ZXdyYXBwZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0c2NyZWVuZGV2aWNlLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGZvbnRwZWVyLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xcGFpbnRlcnBhdGguY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0c3RyaW5ncy5oLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0dGV4dGZpZWxkcGVlci5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvcXRpbWFnZS5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvY29tcG9uZW50ZXZlbnQuaCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdHdpbmRvd3BlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0ZnJhbWVwZWVyLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdHNjcm9sbHBhbmVwZWVyLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGZvbnRtZXRyaWNzLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGxpc3RwZWVyLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9tYWludGhyZWFkaW50ZXJmYWNlLmgKCW5hdGl2ZS9qbmkvcXQtcGVlci9zbG90Y2FsbGJhY2tzLmgKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGZpbGVkaWFsb2dwZWVyLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9ldmVudG1ldGhvZHMuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0aW1hZ2UuaCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdHN0cmluZ3MuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL25hdGl2ZXdyYXBwZXIuaAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0YXVkaW9jbGlwLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGZvbnQuaCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdHNjcm9sbGJhcnBlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL2NvbnRhaW5lcnMuaCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGNoZWNrYm94cGVlci5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvbWFpbnRocmVhZGludGVyZmFjZS5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvY29tcG9uZW50ZXZlbnQuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0dGV4dGFyZWFwZWVyLmNwcCwKCW5hdGl2ZS9qbmkvcXQtcGVlci9xdGNvbXBvbmVudC5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvcXRtZW51cGVlci5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvcXRsYWJlbHBlZXIuY3BwLAoJbmF0aXZlL2puaS9xdC1wZWVyL3F0Y2FudmFzcGVlci5jcHAsCgluYXRpdmUvam5pL3F0LXBlZXIvcXRncmFwaGljcy5oLAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q2hlY2tib3hQZWVyLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0VG9vbGtpdC5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEF1ZGlvQ2xpcC5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFNjcmVlbkRldmljZS5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFRleHRGaWVsZFBlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRNZW51SXRlbVBlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRCdXR0b25QZWVyLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0V2luZG93UGVlci5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdERpYWxvZ1BlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRJbWFnZS5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVCYXJQZWVyLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Vm9sYXRpbGVJbWFnZS5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEZvbnRQZWVyLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q2hvaWNlUGVlci5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEdyYXBoaWNzLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Q29tcG9uZW50UGVlci5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdE1lbnVQZWVyLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0VGV4dEFyZWFQZWVyLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1FQZW4uaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRQYW5lbFBlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUVBhaW50ZXJQYXRoLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0Rm9udE1ldHJpY3MuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRTY3JvbGxQYW5lUGVlci5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdEdyYXBoaWNzRW52aXJvbm1lbnQuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUU1hdHJpeC5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdExhYmVsUGVlci5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFBvcHVwTWVudVBlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRGcmFtZVBlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRMaXN0UGVlci5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9xdF9RdFNjcm9sbGJhclBlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRDYW52YXNQZWVyLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0TWVudUNvbXBvbmVudFBlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfTWFpblF0VGhyZWFkLmgsCglpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX3F0X1F0RmlsZURpYWxvZ1BlZXIuaCwKCWluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfcXRfUXRDb250YWluZXJQZWVyLmg6CglOZXcgZmlsZXMuCgoyMDA1LTA4LTExICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJRm9yIFBSIGNsYXNzcGF0aC8yMzIzODoKCSogbGliL2dlbi1jbGFzc2xpc3Quc2guaW46IFVzZSBAU0hFTExAOyBpbnZva2Ugc3BsaXQtZm9yLWdjai5zaAoJd2l0aCBpdC4KCSogY29uZmlndXJlLmFjIChTSCk6IFJlbW92ZWQgc3Vic3QuCgoyMDA1LTA4LTExICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGxpYi9zcGxpdC1mb3ItZ2NqLnNoOiBDb21tZW50LgoKMjAwNS0wOC0xMSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1ZpZXdwb3J0VUkuamF2YQoJKHBhaW50U2ltcGxlKTogVGhpcyBsaW5lIHdhcyBjYXVzaW5nIHByb2JsZW1zIHdpdGggdGhlIEpUYWJsZSB2aWV3cG9ydC4KCUhvd2V2ZXIsIHRoZSBzY3JvbGxwYW5lIHN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkLiBJdCBpcyBzdGlsbCBub3QKCXBhaW50aW5nIGJleW9uZCB0aGUgdmlldydzIGJvdW5kcy4KCjIwMDUtMDgtMTAgIFJhaW5lciBPcnRoICA8cm9AVGVjaEZhay5VbmktQmllbGVmZWxkLkRFPgoKCSogbGliL3NwbGl0LWZvci1nY2ouc2g6IERvbid0IHVzZSB1bnBvcnRhYmxlICV7cGFyYW1ldGVyJXdvcmR9LgoJRG9uJ3QgdXNlIHVucG9ydGFibGUgIS4KCjIwMDUtMDgtMTAgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGxpYi9nZW4tY2xhc3NsaXN0LnNoLmluIChHQ0opOiBOZXcgc3Vic3QuCglJbnZva2Ugc3BsaXQtZm9yLWdjai5zaCBpZiB0aGUgcmVzdWx0cyBjaGFuZ2VkLgoJKiBsaWIvTWFrZWZpbGUuYW0gKENMRUFORklMRVMpOiBSZW1vdmVkIG9sZCBlbnRyaWVzLgoJKGNvbXBpbGUtY2xhc3Nlcyk6IERvbid0IHJ1biBzcGxpdC1mb3ItZ2NqLnNoLgoKMjAwNS0wOC0xMCAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9UaHJlYWRSZWZlcmVuY2VDb21tYW5kU2V0LmphdmE6ICAgICAgCglJbXBsZW1lbnRlZCB0aGUgVGhyZWFkUmVmZXJlbmNlIENvbW1hbmRTZXQuCgoyMDA1LTA4LTEwICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0NsYXNzVHlwZUNvbW1hbmRTZXQuamF2YToKCUltcGxlbWVudGVkIHRoZSBDbGFzc1R5cGUgQ29tbWFuZFNldC4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3V0aWwvTWV0aG9kUmVzdWx0LmphdmE6IENsYXNzIHRvIHdyYXAKCWFyb3VuZCByZXN1bHRzIG9mIG1ldGhvZCBleGVjdXRpb25zLgoKMjAwNS0wOC0xMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCUZvciBQUiBjbGFzc3BhdGgvMjI1ODA6CgkqIGxpYi9NYWtlZmlsZS5hbSAoY29tcGlsZS1jbGFzc2VzKTogTWFkZSBjb25kaXRpb25hbCBvbgoJRk9VTkRfR0NKLgoJKEpBVkFDKTogUmVkZWZpbmVkIHdoZW4gRk9VTkRfR0NKLgoKMjAwNS0wOC0xMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbGliL01ha2VmaWxlLmFtIChKQVZBQyk6IFVzZSAkKFNIRUxMKSB0byBpbnZva2UKCXNwbGl0LWZvci1nY2ouc2guICBGb3IgUFIgY2xhc3NwYXRoLzIzMjM4LgoKMjAwNS0wOC0xMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbGliL3NwbGl0LWZvci1nY2ouc2g6IFVzZSAnd2hpbGUnIGxvb3AgdG8gYXZvaWQgbGVuZ3RoIGxpbWl0cy4KCjIwMDUtMDgtMTAgIEFuZHJlYXMgVG9ibGVyICA8dG9hQHBvcC5hZ3JpLmNoPgoKCSogbmF0aXZlL2puaS9qYXZhLW5ldC9nbnVfamF2YV9uZXRfUGxhaW5Tb2NrZXRJbXBsLmM6IEluY2x1ZGUKCXRhcmdldF9uYXRpdmVfZmlsZS5oLiAgUFIgY2xhc3NwYXRoLzIyOTI2LgoKMjAwNS0wOC0xMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKGRvRXhwYW5kUGFyZW50cyk6IFRvb2sgb3V0IGNhbGwgdG8gY2hlY2tFeHBhbmRQYXJlbnRzLgoJKGNoZWNrRXhwYW5kUGFyZW50cyk6IEhlbHBlciBtZXRob2Qgbm90IG5lZWRlZC4gQ2F1c2VkIHByb2JsZW1zIHNpbmNlCglmaXJlVHJlZVdpbGxFeHBhbmQgd2FzIGJlaW5nIGNhbGxlZCB0b28gbWFueSB0aW1lcy4gZmlyZVRyZWVXaWxsRXhwYW5kCglpcyBjYWxsZWQgZnJvbSBCYXNpY1RyZWVVSSB3aGVuZXZlciBhIG5vZGUgaXMgZXhwYW5kZWQuCgoyMDA1LTA4LTEwICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0ludGVyY2VwdG9yLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL0ludGVyY2VwdG9yT3BlcmF0aW9ucy5qYXZhOiBOZXcgZmlsZXMuCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkFueUZhY3RvcnlTdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L19EeW5BbnlTdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L19EeW5BcnJheVN0dWIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkVudW1TdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L19EeW5GaXhlZFN0dWIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvX0R5blN0cnVjdFN0dWIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvX0R5blVuaW9uU3R1Yi5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9fRHluVmFsdWVTdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L19EeW5TZXF1ZW5jZVN0dWIuamF2YTogQWRkZWQgX29wc0NsYXNzIGZpZWxkLgoKMjAwNS0wOC0xMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhOgoJRm9ybWF0dGVkIGVudGlyZSBjbGFzcy4KCjIwMDUtMDgtMTAgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShtb3VzZUNsaWNrZWQpOiBDYWxsZWQgZmlyZVRyZWVXaWxsRXhwYW5kIGFuZCBmaXJlVHJlZVdpbGxDb2xsYXBzZSB3aGVuCglhcHByb3ByaWF0ZS4KCShrZXlQcmVzc2VkKTogTGlrZXdpc2UuCgoyMDA1LTA4LTEwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShwYWludCk6IENhbGwgdmlzaXRDaGlsZHJlbiB3aXRoIGxpZ2h0d2VpZ2h0T25seSA9PSB0cnVlLgoJKHVwZGF0ZSk6IE9ubHkgY2FsbCBwYWludCBpZiB3ZSBhcmUgbm90IGluIGEgdG9wbGV2ZWwgY29udGFpbmVyLgoKMjAwNS0wOC0wOSAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9TdGFja0ZyYW1lQ29tbWFuZFNldC5qYXZhOgoJSW1wbGVtZW50ZWQgdGhlIFN0YWNrRnJhbWUgQ29tbWFuZFNldC4KCjIwMDUtMDgtMDkgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YToKCShlZGl0aW5nQ2FuY2VsbGVkKTogSW1wbGVtZW50ZWQuCgkoZWRpdENlbGxBdCk6IEFkZGVkIGEgS2V5TGlzdGVuZXIgdG8gb3VyIGVkaXRvciB0byBsaXN0ZW4gZm9yCgl0aGUgRVNDQVBFIGtleSBhbmQgY2FuY2VsIGVkaXRpbmcgdXBvbiByZWNlaXZpbmcgaXQuCgoyMDA1LTA4LTA5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKHNldFJvd0hlaWdodCk6IEZpeGVkIGNvbmRpdGlvbiBvbiB3aGVuIHRvIHRocm93IGV4Y2VwdGlvbi4KCShzZXRSb3dIZWlnaHQpOiBQYXJhbWV0ZXJzIHdlcmUgbWl4ZWQgdXAuCgoyMDA1LTA4LTA5ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGFiZWxVSS5qYXZhCgkocGFpbnQpOiBBZGRlZCBpbiBwYWludGluZyBjb2RlIGZvciBsYWJlbCBib3JkZXIuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHBhaW50Q29udHJvbEljb25zKTogRml4ZWQgbG9jYXRpb24gZm9yIGNvbnRyb2wgaWNvbnMuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhOgoJQWRkZWQgZGVmYXVsdHMgZm9yIHNlbGVjdGlvbiBhbmQgbm9uLXNlbGVjdGlvbiBib3JkZXIgZm9yCgl0cmVlIGNlbGxzLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbFJlbmRlcmVyLmphdmEKCShnZXRUcmVlQ2VsbFJlbmRlcmVyQ29tcG9uZW50KTogU2V0IGJvcmRlcnMgZm9yIG5vZGUuIEFsc28sCgltYWRlIG5vZGUgdHJhbnNwYXJlbnQgKG5vdCBvcGFxdWUpLCBTbyBKTGFiZWwgZHJhd3MgaWNvbiwKCXRleHQgYW5kIGJvcmRlciBhcHByb3ByaWF0ZWx5LgoKMjAwNS0wOC0wOSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xhYmVsVUkuamF2YQoJKHBhaW50KTogQWRkZWQgaW4gY29kZSB0byBwYWludCBiYWNrZ3JvdW5kIHJlY3QgYWNjb3JkaW5nIHRvCglBUEkuIEFsc28sIGZvcm1hdHRpbmcgY2hhbmdlcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoc2V0Q2VsbFJlbmRlcmVyKTogRml4ZWQgdG8gY2hhbmdlZCByZW5kZXJlciBpbiBKVHJlZS4KCSh1bmluc3RhbGxEZWZhdWx0cyk6IExpbmUgdGFrZW4gb3V0IGJlY2F1c2Ugbm90IG5lZWRlZC4KCShwYWludE5vZGUpOiBUb29rIG91dCB1bm5lZWRlZCBjb2RlIGJlY2F1c2UgQmFzaWNMYWJlbFVJIHdhcyBmaXhlZC4KCShwYWludFJlY3Vyc2l2ZSk6IEZpeGVkIHNvIGxpbmVzIGFyZSBvbmx5IGRyYXduIHdoZW4gcGFyZW50cyBoYXZlCgljaGlsZHJlbi4JCgoyMDA1LTA4LTA5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdENlbGxFZGl0b3IuamF2YToKCShFZGl0b3JEZWxlZ2F0ZS5zZXRWYWx1ZSk6IEltcGxlbWVudGVkLgoJKEVkaXRvckRlbGVnYXRlLmdldENlbGxFZGl0b3JWYWx1ZSk6IEltcGxlbWVudGVkLgoJKEVkaXRvckRlbGVnYXRlLmlzQ2VsbEVkaXRhYmxlKTogSW1wbGVtZW50ZWQuCgkoRWRpdG9yRGVsZWdhdGUuc2hvdWxkU2VsZWN0Q2VsbCk6IEltcGxlbWVudGVkLgoJKEVkaXRvckRlbGVnYXRlLnN0b3BDZWxsRWRpdGluZyk6IEltcGxlbWVudGVkLgoJKEVkaXRvckRlbGVnYXRlLmNhbmNlbENlbGxFZGl0aW5nKTogSW1wbGVtZW50ZWQuCgkoRWRpdG9yRGVsZWdhdGUuc3RhcnRDZWxsRWRpdGluZyk6IEltcGxlbWVudGVkLgoJKEVkaXRvckRlbGVnYXRlLmFjdGlvblBlcmZvcm1lZCk6IEltcGxlbWVudGVkLgoJKEVkaXRvckRlbGVnYXRlLml0ZW1TdGF0ZUNoYW5nZWQpOiBJbXBsZW1lbnRlZC4KCShFZGl0b3JEZWxlZ2F0ZS5maXJlRWRpdGluZ1N0b3BwZWQpOiBOZXcgaW1wbGVtZW50YXRpb24gbWV0aG9kLgoJKEVkaXRvckRlbGVnYXRlLmZpcmVFZGl0aW5nQ2FuY2VsbGVkKTogTmV3IGltcGxlbWVudGF0aW9uIG1ldGhvZC4KCShEZWZhdWx0Q2VsbEVkaXRvcik6IEltcGxlbWVudGVkIDMgY29uc3RydWN0b3JzLgoJKGdldENvbXBvbmVudCk6IEltcGxlbWVudGVkLgoJKGdldENsaWNrQ291bnRUb1N0YXJ0KTogSW1wbGVtZW50ZWQuCgkoc2V0Q2xpY2tDb3VudFRvU3RhcnQpOiBJbXBsZW1lbnRlZC4KCShnZXRDZWxsRWRpdG9yVmFsdWUpOiBJbXBsZW1lbnRlZC4KCShpc0NlbGxFZGl0YWJsZSk6IEltcGxlbWVudGVkLgoJKHNob3VsZFNlbGVjdENlbGwpOiBJbXBsZW1lbnRlZC4KCShjYW5jZWxDZWxsRWRpdGluZyk6IEltcGxlbWVudGVkLgoJKGdldFRhYmxlQ2VsbEVkaXRvckNvbXBvbmVudCk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YToKCShFZGl0b3JVcGRhdGVUaW1lcik6IE5ldyBwcml2YXRlIGNsYXNzLgoJKGVkaXRpbmdTdG9wcGVkKTogSW1wbGVtZW50ZWQuCgkoc2V0VmFsdWVBdCk6IElmIHRoZSBPYmplY3QgdmFsdWUgaXMgYSBDb21wb25lbnQsIGFkZCBpdCB0byB0aGUgSlRhYmxlCglzbyBpdCBjYW4gb2J0YWluIGZvY3VzLgoJKGVkaXRDZWxsQXQpOiBJbXBsZW1lbnRlZC4KCShyZW1vdmVFZGl0b3IpOiBJbXBsZW1lbnRlZC4KCShwcmVwYXJlRWRpdG9yKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmE6CgkoS2V5SGFuZGxlci5rZXlQcmVzc2VkKTogQWRkZWQgRjIgInN0YXJ0IGVkaXRpbmciIGtleSBhY3Rpb24uCgkoTW91c2VIYW5kbGVyLm1vdXNlUHJlc3NlZCk6IEFkZGVkIGNoZWNrIHRvIHNlZSBpZiBhIG5ldyBjZWxsIHdhcwoJc2VsZWN0ZWQgYW5kIHdlIG5lZWQgdG8gc3RvcCBlZGl0aW5nLgoJKHBhaW50KTogSWYgdGhlIGNlbGwgaXMgYSBKVGV4dEZpZWxkLCBwYWludCBpdHMgQ2FyZXQgYXMgd2VsbC4KCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmE6CgkoZ2V0VGFibGVDZWxsUmVuZGVyZXJDb21wb25lbnQpOiBJZiBhIEpUZXh0RmllbGQgaXMgcGFzc2VkIGluLCByZXR1cm4KCW9uZS4gIFRoaXMgaXMgdXNlZCBmb3IgZWRpdGluZyBKVGFibGUgY2VsbHMuCgoyMDA1LTA4LTA5ICBBYXJvbiBMdWNoa28gPGFsdWNoa29AcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQ2xhc3NMb2FkZXJSZWZlcmVuY2VDb21tYW5kU2V0LmphdmE6CQoJSW1wbGVtZW50ZWQgdGhlIENsYXNzTG9hZGVyUmVmZXJlbmNlIENvbW1hbmRTZXQuCgoyMDA1LTA4LTA5ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlTW9kZWwuamF2YTogRml4IGNvcHlyaWdodAoJYm9pbGVycGxhdGUgZm9ybWF0dGluZy4KCjIwMDUtMDgtMDkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVNb2RlbC5qYXZhOgoJRml4ZWQgZm9ybWF0dGluZyBvZiBjbGFzcy4KCjIwMDUtMDgtMDkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCglGaXhlcyBCdWcgIzIzMjU1CgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YToKCUZpeGVkIGVudGlyZSBjbGFzcyB0byB1c2UgT2JqZWN0cyBhcyBvcHBvc2VkIHRvIFRyZWVOb2Rlcy4KCShnZXRQYXRoQm91bmRzKTogQ2hhbmdlZCByb290IHRvIE9iamVjdAoJKGdldFBhdGhGb3JSb3cpOiBMaWtld2lzZS4KCShnZXRSb3dDb3VudCk6IExpa2V3aXNlLgoJKGdldFByZWZlcnJlZFNpemUpOiBDaGFuZ2VkIHJvb3QgYW5kIG5leHROb2RlIHRvIGJlIG9mIHR5cGUKCU9iamVjdC4KCShpc0xlYWYpOiBUb29rIG91dCB1bm5lY2Vzc2FyeSBjb2RlLiAKCShrZXlQcmVzc2VkKTogQ2hhbmdlZCBhbGwgVHJlZU5vZGVzIHRvIGJlIG9mIHR5cGUgT2JqZWN0LgoJKGdldENlbGxMb2NhdGlvbik6IExpa2V3aXNlLgoJKHBhaW50Tm9kZSk6IExpa2V3aXNlLgoJKHBhaW50UmVjdXJzaXZlKTogTGlrZXdpc2UuCgkoZ2V0UGFyZW50KTogSW1wbGVtZW50ZWQuCgkoZmluZE5vZGUpOiBIZWxwZXIgSW1wbGVtZW50ZWQuCgkoZ2V0TmV4dFZpc2libGVOb2RlKTogQ2hhbmdlZCByZXR1cm4gYW5kIHBhcmFtZXRlciB0eXBlIHRvIE9iamVjdC4KCShnZXRQcmV2aW91c1Zpc2libGVOb2RlKTogTGlrZXdpc2UuCgkoZ2V0TmV4dE5vZGUpOiBMaWtld2lzZS4KCShnZXRQcmV2aW91c05vZGUpOiBMaWtld2lzZS4KCShnZXROZXh0U2libGluZyk6IExpa2V3aXNlLgoJKGdldFByZXZpb3VzU2libGluZyk6IExpa2V3aXNlLgoJKGdldFBhdGhUb1Jvb3QpOiBMaWtld2lzZS4KCShnZXRMZXZlbCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlTW9kZWwuamF2YQoJKGdldEluZGV4T2ZDaGlsZCk6IEltcGxlbWVudGVkLgoKMjAwNS0wOC0wOSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIG9yZy9vbWcvQ09SQkEvcGFja2FnZS5odG1sOiBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KICAgICAgICAqIG9yZy9vbWcvRHluYW1pY0FueS9wYWNrYWdlLmh0bWw6IE5ldyBmaWxlLgoKMjAwNS0wOC0wOCAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCglQUiBjbGFzc3BhdGgvMjMxMjAKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvRFNBS2V5UGFpckdlbmVyYXRvci5qYXZhCgkoPGluaXQ+KTogbWFkZSBwdWJsaWM7IHNldCBkZWZhdWx0IHZhbHVlcy4KCShpbml0aWFsaXplKToganVzdCBjYWxsICdpbml0aWFsaXplKGludCxib29sZWFuLFNlY3VyZVJhbmRvbSkuJwoJKGluaXRpYWxpemUpOiBqdXN0IGNhbGwgJ2luaXRpYWxpemUoRFNBUGFyYW1zLFNlY3VyZVJhbmRvbSkuJwoJKGluaXRpYWxpemUpOiBjaGVjayBhbGwgdmFsdWVzIGZvciAnbnVsbCcgYmVmb3JlIG92ZXJ3cml0aW5nLgoJKGluaXRpYWxpemUpOiBmaWxsIGluIGRlZmF1bHRzIG9yIGdlbmVyYXRlIG5ldyBwYXJhbWV0ZXJzIGhlcmUuCgkoZ2VuZXJhdGVLZXlQYWlyKTogZG9uJ3QgY3JlYXRlIHBhcmFtZXRlcnM7IGZpbGwgaW4gJ3JhbmRvbScgaWYKCSdudWxsOycgdXNlICdyYW5kb20sJyBub3QgYSBuZXcgUmFuZG9tIG9iamVjdCwgd2hlbiBnZW5lcmF0aW5nCglyYW5kb20gbnVtYmVycy4KCShnZXREZWZhdWx0cyk6IGZpeCBrZXlzaXplIGNoZWNrLgoKCVBSIGNsYXNzcGF0aC8yMjk5MAoJKiBqYXZhL3NlY3VyaXR5L0tleVBhaXJHZW5lcmF0b3IuamF2YSAoaW5pdGlhbGl6ZSk6IGRvIG5vdGhpbmcuCgkKMjAwNS0wOC0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGNsYXNzcGF0aC8yMzI4NToKCSogbmF0aXZlL2puaS9jbGFzc3BhdGgvY2xhc3NwYXRoX2phd3QuaAoJKGNsYXNzcGF0aF9qYXd0X2dldF9hd3RfdmVyc2lvbiwgY2xhc3NwYXRoX2phd3RfbG9jaywKCWNsYXNzcGF0aF9qYXd0X3VubG9jaywgY2xhc3NwYXRoX2phd3RfY3JlYXRlX2xvY2ssCgljbGFzc3BhdGhfamF3dF9kZXN0cm95X2xvY2spOiBVc2UgJyh2b2lkKScgaW4gcHJvdG90eXBlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL01ha2VmaWxlLmFtIChsaWJndGtwZWVyX2xhX1NPVVJDRVMpOiBBZGRlZAoJZ3RrX2phd3QuYy4KCSogbmF0aXZlL2puaS9ndGstcGVlci9ndGtfamF3dC5jOiBOZXcgZmlsZSBmcm9tIGxpYmdjai4KCShjbGFzc3BhdGhfamF3dF9jcmVhdGVfbG9jaywgY2xhc3NwYXRoX2phd3RfZGVzdHJveV9sb2NrKTogVXNlCgljcF9ndGtfZ2RrX2Vudi4KCjIwMDUtMDgtMDggIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvRmllbGROYW1lSGVscGVyLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0wOC0wOCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPiAKCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkFueUZhY3RvcnlTdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L19EeW5BbnlTdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L19EeW5BcnJheVN0dWIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvX0R5bkVudW1TdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L19EeW5GaXhlZFN0dWIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvX0R5blN0cnVjdFN0dWIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvX0R5blVuaW9uU3R1Yi5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9fRHluVmFsdWVTdHViLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L19EeW5TZXF1ZW5jZVN0dWIuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wOC0wOCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCUZpeGVzIGJ1ZyAjMjMyNTIKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKHNldE1vZGVsKTogQ2hhbmdlZCB0byBhbGxvdyBtb2RlbCB0byBiZSBudWxsLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShzZXRNb2RlbCk6IENoYW5nZWQgdG8gZGVwZW5kIG9uIEpUcmVlIGZ1bmN0aW9ucwoJKGdldFBhdGhCb3VuZHMpOiBGaXhlZCB0byB3b3JrIHdoZW4gbW9kZWwgPSBudWxsLgoJKGdldFBhdGhGb3JSb3cpOiBMaWtld2lzZS4KCShnZXRSb3dDb3VudCk6IExpa2V3aXNlLgoJKGluc3RhbGxMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCShpbnN0YWxsVUkpOiBMaWtld2lzZS4KCShwYWludCk6IExpa2V3aXNlLgoJKGdldFByZWZlcnJlZFNpemUpOiBMaWtld2lzZS4KCQoyMDA1LTA4LTA4ICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCUZpeGVzIGJ1ZyAjMjI5MTQKCSogZ251L2NsYXNzcGF0aC9kZWJ1Zy9Db21wb25lbnQuamF2YSAoUE9MSUNZKTogbmV3IGNvbnN0YW50LgoJKiBnbnUvamF2YS9zZWN1cml0eS9Qb2xpY3lGaWxlLmphdmEgKGxvZ2dlcik6IG5ldyBjb25zdGFudC4KCShERUJVRyxkZWJ1ZyxkZWJ1Zyk6IHJlbW92ZWQuCgkoREVGQVVMVF9QT0xJQ1kpOiB1c2UgJ1N5c3RlbVByb3BlcnRpZXMnIGNsYXNzIHRvIGJ5cGFzcyBzZWN1cml0eQoJY2hlY2suCgkoREVGQVVMVF9VU0VSX1BPTElDWSk6IG5ldyBjb25zdGFudC4KCShnZXRQZXJtaXNzaW9ucyk6IHJlcGxhY2UgJ2RlYnVnJyBjYWxscyB3aXRoIGxvZ2dlciBjYWxscy4KCShyZWZyZXNoKTogYWRkICdERUZBVUxUX1VTRVJfUE9MSUNZJyB0byB0aGUgaW5pdGlhbCBsaXN0OwoJaW50ZXJwcmV0ICdqYXZhLnNlY3VyaXR5LnBvbGljeScgYW5kICdwb2xpY3kudXJsJyBwcm9wZXJ0aWVzCglwcm9wZXJseTsgcmVwbGFjZSAnZGVidWcnIGNhbGxzIHdpdGggbG9nZ2VyIGNhbGxzLgoJKHBhcnNlKTogcmVwbGFjZSAnZGVidWcnIGNhbGxzIHdpdGggbG9nZ2VyIGNhbGxzLgoKMjAwNS0wOC0wNyAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgveDUwMC9YNTAwUHJpbmNpcGFsLmphdmEKCShlbmNvZGVEZXIpOiB1c2UgdGhlIHJpZ2h0IGl0ZXJhdG9yIGZvciB0aGUgaW5uZXIgbG9vcC4KCShwYXJzZVN0cmluZyk6IHRlc3QgZm9yIGVuZCBvZiBpbnB1dC4KCShyZWFkQXR0cmlidXRlVHlwZSk6IHByb3ZpZGUgZGV0YWlsIG1lc3NhZ2UgZm9yIGV4Y2VwdGlvbi4KCShyZWFkQXR0cmlidXRlVmFsdWUpOiByZXR1cm4gdGhlIHJlc3VsdCBvbiBlbmQgb2YgaW5wdXQ7CglyZWFkIHRoZSBuZXh0IGNoYXJhY3RlciB3aGlsZSBsb29waW5nLgoJKHB1dENvbXBvbmVudCk6IGFjY2VwdCAnbycgYW5kICdvdScgc2hvcnQgbmFtZXMuCgoyMDA1LTA4LTA3ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogb3JnL29tZy9EeW5hbWljQW55L0FueVNlcUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9OYW1lRHluQW55UGFpclNlcUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9OYW1lVmFsdWVQYWlySGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L05hbWVEeW5BbnlQYWlySGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L05hbWVWYWx1ZVBhaXJTZXFIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQW55U2VxSGVscGVyLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFueVNlcUhvbGRlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9OYW1lRHluQW55UGFpclNlcUhvbGRlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9OYW1lRHluQW55UGFpckhvbGRlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9OYW1lVmFsdWVQYWlyU2VxSG9sZGVyLmphdmEsCiAgICAgICAgZ251L0NPUkJBL05hbWVWYWx1ZVBhaXJIb2xkZXIuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wOC0wNyAgSXRvIEthenVtaXRzdSA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCglGaXhlcyBidWcgIzIyOTI5CgkqIGphdmEvbmV0L05ldHdvcmtJbnRlcmZhY2UuamF2YQoJKGNvbmRlbnNlKTogTmV3IHN0YXRpYyBwcml2YXRlIG1ldGhvZC4KCShnZXROZXR3b3JrSW50ZXJmYWNlcyk6IENhbGwgY29uZGVuc2UoKS4KCShnZXRCeU5hbWUsIGdldEJ5SW5ldEFkZHJlc3MpOiBDYWxsIGdldE5ldHdvcmtJbnRlcmZhY2VzKCkKCXNvIHRoYXQgY29uZGVuc2VkIHJlc3VsdCBtYXkgYmUgcmV0dXJuZWQuCgkqIHZtL3JlZmVyZW5jZS9qYXZhL25ldC9WTU5ldHdvcmtJbnRlcmZhY2UuamF2YSAoZ2V0SW50ZXJmYWNlcyk6CglDbGFyaWZ5IHJldHVybiB2YWx1ZSBpbiBkb2N1bWVudGF0aW9uLgoKMjAwNS0wOC0wNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCUZpeGVzIGJ1ZyAjMjI5MjAKCSogamF2YS9uZXQvRGF0YWdyYW1Tb2NrZXQuamF2YSAoRGF0YWdyYW1Tb2NrZXQoU29ja2V0QWRkcmVzcykpOgoJVXNlIGdudS5jbGFzc3BhdGguU3lzdGVtUHJvcGVydGllcyB0byBnZXQgaW1wbC5wcmVmaXguCgoyMDA1LTA4LTAzICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogZ251L0NPUkJBL0NEUi9ub0hlYWRlcklucHV0LmphdmEsCiAgICAgICAgZ251L0NPUkJBL2dudVZhbHVlSG9sZGVyLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL2dudUR5bkFueS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9EeW5Bbi9nbnVEeW5BcnJheS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9EeW5Bbi9nbnVEeW5TZXF1ZW5jZS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9EeW5Bbi9nbnVEeW5WYWx1ZUJveC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9EeW5Bbi9hYnN0cmFjdFJlY29yZC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9EeW5Bbi9nbnVEeW5BbnlGYWN0b3J5LmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL2dudUR5blZhbHVlLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL2dudUR5blN0cnVjdC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9EeW5Bbi9hbnlEaXZpZGVhYmxlLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL2FueVVuZGl2aWRlYWJsZS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9EeW5Bbi9nbnVEeW5FbnVtLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL2Fic3RyYWN0RHluQW55LmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL2dudUR5bkZpeGVkLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL3ZhbHVlQ2hhbmdlZExpc3RlbmVyLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0R5bkFuL2dudUR5blVuaW9uLmphdmE6IE5ldyBmaWxlcy4KICAgICAgICAqIG9yZy9vbWcvRHluYW1pY0FueS9EeW5Vbmlvbk9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQW55T3BlcmF0aW9ucy5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5BbnlGYWN0b3J5T3BlcmF0aW9ucy5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZUJveC5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZUNvbW1vbi5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5BbnlGYWN0b3J5SGVscGVyLmphdmEsCiAgICAgICAgZ251L0NPUkJBL3R5cGVOYW1lci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9maXhlZFR5cGVDb2RlLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0NEUi9WaW8uamF2YSwKICAgICAgICBnbnUvQ09SQkEvQ0RSL2NkcklucHV0LmphdmEsCiAgICAgICAgZ251L0NPUkJBL0NEUi9jZHJPdXRwdXQuamF2YSwKICAgICAgICBnbnUvQ09SQkEvaG9sZGVyRmFjdG9yeS5qYXZhLAogICAgICAgIGdudS9DT1JCQS91bml2ZXJzYWxIb2xkZXIuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL09SQl8xXzQuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUmVzdHJpY3RlZF9PUkIuamF2YSwKICAgICAgICBnbnUvQ09SQkEvZ251QW55LmphdmEsCiAgICAgICAgb3JnL29tZy9DT1JCQS9UeXBlQ29kZS5qYXZhCiAgICAgICAgb3JnL29tZy9DT1JCQS9BbnkuamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL09SQi5qYXZhLAogICAgICAgIG9yZy9vbWcvQ09SQkEvT2JqZWN0SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9DT1JCQS9PYmplY3RIb2xkZXIuamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBXzJfMy9wb3J0YWJsZS9JbnB1dFN0cmVhbS5qYXZhLAogICAgICAgIG9yZy9vbWcvQ09SQkFfMl8zL3BvcnRhYmxlL091dHB1dFN0cmVhbS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9EeW5Bbi9OYW1lVmFsdWVQYWlySG9sZGVyLmphdmE6IFJld3JpdHRlbi4KCjIwMDUtMDgtMDYgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEKCShyZWFkQ2xhc3NEZXNjcmlwdG9yKTogUmVtb3ZlZCBib2d1cyBoYW5kbGluZyBvZiBwcmltaXRpdmUgdHlwZXMuCgkocmVhZEZpZWxkcy5HZXRGaWVsZC5kZWZhdWx0ZWQpOiBQYXNzIGNhdXNlIHRvIGV4Y2VwdGlvbi4KCShyZWFkRmllbGRzLkdldEZpZWxkLmdldEZpZWxkKTogUGFzcyBjYXVzZSB0byBleGNlcHRpb24uCgkobmV3T2JqZWN0LCBjYWxsUmVhZE1ldGhvZCk6IENhbGwgaW5pdENhdXNlIG9uIGV4Y2VwdGlvbi4KCjIwMDUtMDgtMDYgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2xhbmcvSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvSWxsZWdhbFN0YXRlRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvU2VjdXJpdHlFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9VbnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbi5qYXZhOiBNZXJnZWQgZnJvbSBnZW5lcmljcwoJYnJhbmNoLgoKMjAwNS0wOC0wNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YToKCShnZXRQYXRoQm91bmRzKTogQ2hhbmdlZCB0byB1c2UgVHJlZU5vZGUgYW5kIG5vdCAKCURlZmF1bHRNdXRhYmxlVHJlZU5vZGUuCgkoZ2V0UGF0aEZvclJvdyk6IExpa2V3aXNlLgoJKGdldFJvd0NvdW50KTogTGlrZXdpc2UuCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IExpa2V3aXNlLgoJKGtleVByZXNzZWQpOiBMaWtld2lzZS4KCShwYWludE5vZGUpOiBMaWtld2lzZS4KCShnZXRDZWxsTG9jYXRpb24pOiBMaWtld2lzZS4KCShwYWludFJlY3Vyc2l2ZSk6IExpa2V3aXNlLgoJKHBhaW50Q29udHJvbEljb25zKTogTGlrZXdpc2UuCgkoZ2V0TmV4dFZpc2libGVOb2RlKTogTGlrZXdpc2UuCgkoZ2V0UHJldmlvdXNWaXNpYmxlTm9kZSk6IExpa2V3aXNlLgoJKGdldE5leHROb2RlKTogSW1wbGVtZW50ZWQgYmVjYXVzZSBub3QgdXNpbmcgRGVmYXVsdE11dGFibGVUcmVlTm9kZS4KCShnZXRQcmV2aW91c05vZGUpOiBJbXBsZW1lbnRlZAoJKGdldE5leHRTaWJsaW5nKTogSW1wbGVtZW50ZWQKCShnZXRQcmV2aW91c1NpYmxpbmcpOiBJbXBsZW1lbnRlZAoJKGdldFBhdGhUb1Jvb3QpOiBJbXBsZW1lbnRlZAoJKGdldExldmVsKTogSW1wbGVtZW50ZWQKCjIwMDUtMDgtMDUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvYXd0L2RhdGF0cmFuc2Zlci9GbGF2b3JFdmVudC5qYXZhOiBOZXcgY2xhc3MuCgkqIGphdmEvYXd0L2RhdGF0cmFuc2Zlci9GbGF2b3JMaXN0ZW5lci5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9hd3QvZGF0YXRyYW5zZmVyL0NsaXBib2FyZC5qYXZhIChuYW1lKTogTWFkZSBmaW5hbC4KCShsaXN0ZW5lcnMpOiBOZXcgZmluYWwgQXJyYXlMaXN0IGZpZWxkLgoJKHNldENvbnRlbnRzKTogUmVpbXBsZW1lbnRlZC4KCShnZXRBdmFpbGFibGVEYXRhRmxhdm9ycyk6IE5ldyBtZXRob2QuCgkoaXNEYXRhRmxhdm9yQXZhaWxhYmxlKTogTGlrZXdpc2UuCgkoZ2V0RGF0YSk6IExpa2V3aXNlLgoJKGFkZEZsYXZvckxpc3RlbmVyKTogTGlrZXdpc2UuCgkocmVtb3ZlRmxhdm9yTGlzdGVuZXIpOiBMaWtld2lzZS4KCShnZXRGbGF2b3JMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvZGF0YXRyYW5zZmVyL0RhdGFGbGF2b3IuamF2YSAoamF2YUZpbGVMaXN0Rmxhdm9yKToKCUNvbnN0cnVjdCB3aXRoIG1pbWUgbWVkaWEtdHlwZSBhcHBsaWNhdGlvbi94LWphdmEtZmlsZS1saXN0LgoJKERhdGFGbGF2b3IoU3RyaW5nIG1pbWVUeXBlLCBTdHJpbmcgaHVtYW5QcmVzZW50YWJsZU5hbWUpKTogQ2FsbAoJY29uc3RydWN0b3IgdGhhdCB1c2VzIGdpdmVuIG1pbWVUeXBlLgoJKGdldFN1YlR5cGUpOiBSZWltcGxlbWVudGVkLgoJKGdldFBhcmFtZXRlcik6IEhhbmRsZSAndml0dWFsJyBodW1hblByZXNlbnRhYmxlTmFtZSBwYXJhbWV0ZXIuCgkoaXNNaW1lVHlwZUVxdWFsKTogUmVpbXBsZW1lbnQuCgkoaXNSZXByZXNlbnRhdGlvbkNsYXNzUmVtb3RlKTogSW1wbGVtZW50LgoJKHRvU3RyaW5nKTogQWRkIGZvcm1hdHRpbmcuCgoyMDA1LTA4LTA1ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9HcmlkQmFnTGF5b3V0LmphdmEKCShzZXRDb25zdHJhaW50cyk6IFJlbW92ZWQgY2hlY2tzIGluIGlmIHN0YXRlbWVudHMgYmVjYXVzZSBpZiB0aGUgaGVpZ2h0CglvciB3aWR0aCBpcyBsZXNzIHRoYW4gMCwgaXQgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gYSBwb3NpdGl2ZSBudW1iZXIgaW4KCWFsbCBjYXNlcy4KCjIwMDUtMDgtMDUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmM6IEluY2x1ZGUKCWpjbC5oLgoJKGNyZWF0ZVJhd0RhdGEpOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZSBtZXRob2QuCgkoZ2V0RGF0YSk6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlIGZpZWxkLgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RGVjb2Rlci5jCgkoY3JlYXRlUmF3RGF0YSk6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlIG1ldGhvZC4KCShnZXREYXRhKTogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUgZmllbGQuCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYXJzZXRfaWNvbnZfSWNvbnZFbmNvZGVyLmMKCShjcmVhdGVSYXdEYXRhKTogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUgbWV0aG9kLgoJKGdldERhdGEpOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZSBmaWVsZC4KCSogbmF0aXZlL2puaS9qYXZhLW5pby9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXIuYwoJKEphdmFfamF2YV9uaW9fVk1EaXJlY3RCeXRlQnVmZmVyX2luaXQpOiBSZW1vdmVkLgoJKiB2bS9yZWZlcmVuY2UvamF2YS9uaW8vVk1EaXJlY3RCeXRlQnVmZmVyLmphdmEgKGluaXQpOiBSZW1vdmVkLgoJKiBpbmNsdWRlL2phdmFfbmlvX1ZNRGlyZWN0Qnl0ZUJ1ZmZlci5oOiBSZWdlbmVyYXRlZC4KCjIwMDUtMDgtMDUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YToKCShwcmVmZXJyZWRTaXplKTogQ2FsbCBnZXRMYXlvdXQoKSBpbnN0ZWFkIG9mIGRpcmVjdGx5IHJlZmVyZW5jaW5nCgl0aGUgcHJpdmF0ZSBmaWVsZC4gVGhpcyBtYWtlcyBjb21wb25lbnRzIHdvcmsgdGhhdCBvdmVycmlkZQoJZ2V0TGF5b3V0KCkuCgkobWluaW11bVNpemUpOiBDYWxsIGdldExheW91dCgpIGluc3RlYWQgb2YgZGlyZWN0bHkgcmVmZXJlbmNpbmcKCXRoZSBwcml2YXRlIGZpZWxkLiBUaGlzIG1ha2VzIGNvbXBvbmVudHMgd29yayB0aGF0IG92ZXJyaWRlCglnZXRMYXlvdXQoKS4gVXNlIGNhY2hlZCBzaXplIGlmIGNvbXBvbmVudCBpcyBzdGlsbCB2YWxpZC4KCShtYXhpbXVtU2l6ZSk6IENhbGwgZ2V0TGF5b3V0KCkgaW5zdGVhZCBvZiBkaXJlY3RseSByZWZlcmVuY2luZwoJdGhlIHByaXZhdGUgZmllbGQuIFRoaXMgbWFrZXMgY29tcG9uZW50cyB3b3JrIHRoYXQgb3ZlcnJpZGUKCWdldExheW91dCgpLiBVc2UgY2FjaGVkIHNpemUgaWYgY29tcG9uZW50IGlzIHN0aWxsIHZhbGlkLgoJKHVwZGF0ZSk6IElmIHdlIGFyZSBhIHRvcC1sZXZlbC1jb250YWluZXIsIGNhbGwgc3VwZXIudXBkYXRlKCksCglvdGhlcndpc2UgZGlyZWN0bHkgY2FsbCBwYWludCgpLgoJKHZpc2l0Q2hpbGRyZW4pOiBBbHNvIHZpc2l0IGNoaWxkcmVuIHRoYXQgYXJlIGl0c2VsZiBDb250YWluZXJzLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKHVwZGF0ZSk6IENsZWFyIHRoZSBiYWNrZ3JvdW5kIG9ubHkgZm9yIGxpZ2h0d2VpZ2h0IGFuZCB0b3AtbGV2ZWwKCWNvbXBvbmVudHMuCgoyMDA1LTA4LTA1ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljR3JhcGhpY3NVdGlscy5qYXZhCgkoZ2V0UHJlZmVycmVkQnV0dG9uU2l6ZSk6IEFkZGVkIGhvcml6b250YWxBZGp1c3RtZW50IHRvIHdpZHRoCgl0byBjcmVhdGUgZ2FwIGF0IGVuZCBvZiBsYWJlbCB0ZXh0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IFJlbW92ZWQgIioyIiBzaW5jZSBmaXggd2FzIG1vdmVkIHRvIAoJQmFzaWNHcmFwaGljc1V0aWxzCgoyMDA1LTA4LTA1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Q2FyZXQuamF2YTogQWRkZWQgQVBJIGNvbW1lbnRzIGFsbAoJb3Zlci4KCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0RWRpdG9yS2l0LmphdmE6IEFkZGVkIEFQSSBjb21tZW50cwoJYWxsIG92ZXIuCgoyMDA1LTA4LTA1ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhCgkocmVhZChieXRlW10saW50LGludCkpOiBTaW1wbGlmaWVkIGFuZCBmaXhlZCBidWcgMjMyMzYuCgoyMDA1LTA4LTA0ICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL01ldGhvZENvbW1hbmRTZXQuamF2YTogSW1wbGVtZW50ZWQKCXRoZSBNZXRob2QgQ29tbWFuZFNldC4KCjIwMDUtMDgtMDQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEKCShnZXRQcmVmZXJyZWRTaXplKTogTXVsdGlwbGllZCBkZWZhdWx0VGV4dEljb25HYXAgYnkgMiwgCglzbyB0aGVyZSBpcyBlcXVhbCBzcGFjZSBhcm91bmQgdGhlIE1lbnVJdGVtCgoyMDA1LTA4LTA0ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YQoJKHBhaW50SWNvbik6IEFkZGVkIGluIGJvcmRlciBwYWludGluZyBjb2RlIGZvciBNZW51SXRlbQoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YToKCUFkZGVkIGluIGRlZmF1bHQgZm9yIENoZWNrQm94IGJvcmRlcgoKMjAwNS0wOC0wNCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L0JvcmRlckxheW91dC5qYXZhOiBSZWZvcm1hdHRlZCB0aGlzIGZpbGUgdG8gbWVldCBvdXIKCWNvZGluZyBzdGFuZGFyZHMuCgoyMDA1LTA4LTA0ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvQm9yZGVyTGF5b3V0LmphdmEKCShsYXlvdXRDb250YWluZXIpOiBSZXBsYWNlZCBnZXRTaXplKCkgY2FsbCB3aXRoIGdldFdpZHRoKCkgYW5kCglnZXRIZWlnaHQoKS4gVGhpcyBhdm9pZHMgaGVhcCBhbGxvY2F0aW9uIGFuZCBmaXhlcyBhIGJ1ZyBpbgoJYW4gYXBwbGljYXRpb24gaGVyZS4KCjIwMDUtMDgtMDQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJKiBqYXZheC9zd2luZy9KQ2hlY2tCb3guamF2YQoJKGluaXQpOiBNb3ZlZCB0aGVzZSB0byB1aQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hVSS5qYXZhCgkoaW5zdGFsbFVJKTogaW5pdGFsaXplZCBpY29ucwoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YToKCVRvb2sgb3V0IENoZWNrQm94TWVudUl0ZW0gZGVmYXVsdHMgYmVjYXVzZSBkaWQgbm90Cgl3b3JrIGFzIGV4cGVjdGVkLiBGb3Igbm93IGl0IHVzZXMgdGhlIEJhc2ljTCZGJ3MgZGVmYXVsdHMuCgoyMDA1LTA4LTA0ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YToKCShnZXRGaXJzdFZpc2libGVJbmRleCk6IFRyYW5zbGF0ZSB2aXNpYmxlIHJlY3RhbmdsZSBieSBvbmUgbGVzcyBwaXhlbC4KCShnZXRMYXN0VmlzaWJsZUluZGV4KTogTGlrZXdpc2UuCgoyMDA1LTA4LTA0ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KQ2hlY2tCb3guamF2YQoJKGluaXQpOiBJbml0aWFsaXplZCBpY29ucy4gV2FzIG5vdCB3b3JraW5nIG90aGVyd2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6CglBZGRlZCBpbiBjaGVja0ljb24gZm9yIHRoZSBDaGVja0JveC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmE6CglBZGRlZCBpbiBjaGVja0ljb24gZm9yIENoZWNrQm94IGFuZCBkZWZhdWx0cyBmb3IKCUNoZWNrQm94TWVudUl0ZW0uCQoKMjAwNS0wOC0wMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJCgkqIGphdmF4L3N3aW5nL0pDaGVja0JveE1lbnVJdGVtLmphdmEKCShpbnN0YWxsVUkpOiBzZXQgdGhlIGl0ZW1zIHZpc2libGUuIEZpeGVzIGV4Y2VwdGlvbnMgdGhhdCBhcmUKCXRocm93biBiZWNhdXNlIGl0ZW0gaXMgbm90IGV4cGxpY2l0bHkgc2V0IHZpc2libGUuCgoyMDA1LTA4LTAzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1ZpZXdwb3J0VUkuamF2YQoJKHBhaW50U2ltcGxlKTogQ29ycmVjdGVkIHRoZSBjbGlwIHRoYXQgaXMgdXNlZCB0byBkcmF3IHRoZQoJdmlld3BvcnQncyBjb250ZW50LiBUaGlzIGZpeGVzIHNjcm9sbGluZyBpbiBKU2Nyb2xsUGFuZSBhbmQKCUpWaWV3cG9ydC4KCjIwMDUtMDgtMDMgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCUNoYW5nZWQgdGhlIGZvbnRzIGZyb20gSGVsdmV0aWNhIHRvIERpYWxvZy4KCjIwMDUtMDgtMDMgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBpbmNsdWRlL2phdmFfbmlvX1ZNRGlyZWN0Qnl0ZUJ1ZmZlci5oOgoJUmVnZW5lcmF0ZWQuCgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RW5jb2Rlci5jCgkoZ2V0RGF0YSk6IEZpeGVkIGZ1bmN0aW9uIGNhbGwuCgoJUmVwb3J0ZWQgYnk6IEFuZHJlYXMgVG9ibGVyIDx0b2FAcG9wLmFncmkuY2g+CgkKMjAwNS0wOC0wMyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJY29uRmFjdG9yeS5qYXZhOgoJKGdldE1lbnVJdGVtQ2hlY2tJY29uKTogSW1wbGVtZW50ZWQgc28gYSBjaGVjayBtYXJrIGlzIGRyYXduIHdoZW4KCXRoZSBpdGVtIGlzIHNlbGVjdGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCU1vZGlmaWVkIHRoZSBjaGVja2JveCBkZWZhdWx0cwoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhOgoJKHBhaW50TWVudUl0ZW0pOiBDaGFuZ2VkIHRvIG9ubHkgZHJhdyBjaGVjayB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQuCgoyMDA1LTA4LTAzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvRm9udE1ldHJpY3MuamF2YQoJKGNoYXJzV2lkdGgpOiBJdGVyYXRlIHRvIGxlbiArIG9mZnNldCBpbnN0ZWFkIHRvIGxlbi4KCjIwMDUtMDgtMDMgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBuYXRpdmUvam5pL2NsYXNzcGF0aC9qY2wuYwoJKEpDTF9OZXdSYXdEYXRhT2JqZWN0KTogRml4ZWQgdHlwby4KCjIwMDUtMDgtMDMgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgkKICAgICAgICAqIGdudS9jbGFzc3BhdGgvUG9pbnRlci5qYXZhLAogICAgICAgIGdudS9jbGFzc3BhdGgvUG9pbnRlcjMyLmphdmEsCiAgICAgICAgZ251L2NsYXNzcGF0aC9Qb2ludGVyNjQuamF2YSwKICAgICAgICBnbnUvY2xhc3NwYXRoL1Jhd0RhdGEuamF2YSwKICAgICAgICBnbnUvY2xhc3NwYXRoL1Jhd0RhdGEzMi5qYXZhLAogICAgICAgIGdudS9jbGFzc3BhdGgvUmF3RGF0YTY0LmphdmEsCiAgICAgICAgZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlLmphdmEsCiAgICAgICAgZ251L2phdmEvbmlvL2NoYXJzZXQvaWNvbnYvSWNvbnZEZWNvZGVyLmphdmEsCiAgICAgICAgZ251L2phdmEvbmlvL2NoYXJzZXQvaWNvbnYvSWNvbnZFbmNvZGVyLmphdmEsCiAgICAgICAgamF2YS9uaW8vQnVmZmVyLmphdmEsCiAgICAgICAgamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YSwKICAgICAgICBqYXZhL25pby9NYXBwZWRCeXRlQnVmZmVySW1wbC5qYXZhLAogICAgICAgIG5hdGl2ZS9qbmkvY2xhc3NwYXRoL2pjbC5jLAogICAgICAgIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmMsCiAgICAgICAgbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fY2hhbm5lbHNfRmlsZUNoYW5uZWxJbXBsLmMsCiAgICAgICAgbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fY2hhcnNldF9pY29udl9JY29udkRlY29kZXIuYywKICAgICAgICBuYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RW5jb2Rlci5jLAogICAgICAgIG5hdGl2ZS9qbmkvamF2YS1uaW8vamF2YV9uaW9fTWFwcGVkQnl0ZUJ1ZmZlckltcGwuYywKICAgICAgICBuYXRpdmUvam5pL2phdmEtbmlvL2phdmFfbmlvX1ZNRGlyZWN0Qnl0ZUJ1ZmZlci5jLAogICAgICAgIHZtL3JlZmVyZW5jZS9qYXZhL25pby9WTURpcmVjdEJ5dGVCdWZmZXIuamF2YTogUmVuYW1lZCAKICAgICAgICByZWZlcmVuY2VzIHRvIGdudS9jbGFzc3BhdGgvUmF3RGF0YSB0byBnbnUvY2xhc3NwYXRoL1BvaW50ZXIuCgoyMDA1LTA4LTAzICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbC5jCgkobWFwSW1wbCk6IEZpeGVkIHR5cG8uCgoyMDA1LTA4LTAzICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogY2xhc3NwYXRoL2pjbC5jCgkoSkNsX05ld1Jhd0RhdGFPYmplY3QpOiBBZGRlZCBlcnJvciBoYW5kbGluZy4KCgkqIGNsYXNzcGF0aC9qY2wuaAoJKGpwb2ludGVyKTogTmV3IGludGVnZXIgdHlwZSB0byByZXByZXNlbnQgYSBwb2ludGVyLiAKCgkqIGd0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZS5jLAoJamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbC5jLAoJamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYXJzZXRfaWNvbnZfSWNvbnZEZWNvZGVyLmMsCglqYXZhLW5pby9nbnVfamF2YV9uaW9fY2hhcnNldF9pY29udl9JY29udkVuY29kZXIuYywKCWphdmEtbmlvL2phdmFfbmlvX01hcHBlZEJ5dGVCdWZmZXJJbXBsLmMsCglqYXZhLW5pby9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXIuYywKCXhtbGoveG1sal91dGlsLmM6IFVzZSBKQ0wgZnVuY3Rpb25zIGluc3RlYWQgb2YgZGlyZWN0bHkgCglhY2Nlc3NpbmcgZ251L2NsYXNzcGF0aC9SYXdEYXRhLgoKMjAwNS0wOC0wMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvQXR0cmlidXRlU2V0LmphdmE6IEFkZGVkIHNvbWUgQVBJIGNvbW1lbnRzCgl0byBjbGFzcyBkZXNjcmlwdGlvbi4KCSogamF2YXgvc3dpbmcvdGV4dC9CYWRMb2NhdGlvbkV4Y2VwdGlvbi5qYXZhOiBBZGRlZCAvIGZpeGVkCglBUEkgY29tbWVudHMgYWxsIG92ZXIuCgkqIGphdmF4L3N3aW5nL3RleHQvQ2FyZXQuamF2YTogQWRkZWQgQVBJIGNvbW1lbnRzIGFsbCBvdmVyLgoKMjAwNS0wOC0wMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoZ2V0Qm91bmRzKTogUmVtb3ZlZCBkZWJ1ZyBzdGF0ZW1lbnRzIHRoYXQgYWNjaWRlbnRhbGx5IHNsaXBwZWQgaW4uCgoyMDA1LTA4LTAyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmE6CgkoZ2V0Q2VsbFJlY3QpOiBIZWlnaHQgc2hvdWxkIGJlIHRoZSByb3cgaGVpZ2h0LCBub3QgdGhlIGVudGlyZSB0YWJsZQoJaGVpZ2h0LgoJKGdldFJvd0hlaWdodCk6IE5ldyBwdWJsaWMgbWV0aG9kLCBwYXJ0IG9mIEFQSS4KCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmE6Cgkoc2Nyb2xsUmVjdFRvVmlzaWJsZSk6IEZpeGVkIGJ1Z2d5IHNjcm9sbGluZyBjb25kaXRpb25zLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IEltcGxlbWVudGVkIFBBR0UtVVAsIFBBR0UtRE9XTiwgQ1RSTC1QQUdFLVVQLAoJYW5kIENUUkwtUEFHRS1ET1dOIGtleSBhY3Rpb25zLiAgQWxzbyBhZGRlZCBsaW5lIHRvIHNjcm9sbCB0aGUgdGFibGUKCWFwcHJvcHJpYXRlbHkgYWZ0ZXIgY2hhbmdpbmcgdGhlIHNlbGVjdGlvbi4KCShLZXlIYW5kbGVyLmdldEZpcnN0VmlzaWJsZUNvbHVtbkluZGV4KTogTmV3IGltcGxlbWVudGF0aW9uIG1ldGhvZC4KCShLZXlIYW5kbGVyLmdldExhc3RWaXNpYmxlQ29sdW1uSW5kZXgpOiBMaWtld2lzZS4KCShLZXlIYW5kbGVyLmdldEZpcnN0VmlzaWJsZVJvd0luZGV4KTogTGlrZXdpc2UuCgkoS2V5SGFuZGxlci5nZXRMYXN0VmlzaWJsZVJvd0luZGV4KTogTGlrZXdpc2UuCgoyMDA1LTA4LTAyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmEKCShBYnN0cmFjdEVsZW1lbnQuQWJzdHJhY3RFbGVtZW50KTogQ3JlYXRlIGFuIGVtcHR5IEF0dHJpYnV0ZVNldAoJaWYgdGhlIGFyZ3VtZW50IHMgPT0gbnVsbC4KCShBYnN0cmFjdEVsZW1lbnQuZ2V0QXR0cmlidXRlKTogUmV0dXJuIHRoZSBlbGVtZW50IGl0c2VsZiBpbnN0ZWFkCglvZiB0aGUgd3JhcHBlZCBhdHRyaWJ1dGVzLgoKMjAwNS0wOC0wMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L1Rvb2xraXQuamF2YQoJKGNyZWF0ZUN1c3RvbUN1cnNvcik6IEFkZGVkIGNoZWNrIGZvciBoZWFkbGVzcyBlbnZpcm9ubWVudC4KCShnZXRCZXN0Q3Vyc29yU2l6ZSk6IEFkZGVkIGNoZWNrIGZvciBoZWFkbGVzcyBlbnZpcm9ubWVudC4KCjIwMDUtMDgtMDIgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvR2FwQ29udGVudC5qYXZhCgkoc2hpZnRHYXApOiBDaGFuZ2VkIHRvIHVzZWQgJyYmJy4gYm90aCBpbmRleGVzIHNob3VsZCBiZSAKCWdyZWF0ZXIgdGhhbiAwLgoKMjAwNS0wOC0wMiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmE6CglGb3JtYXR0aW5nIGNvZGUuCgoyMDA1LTA4LTAyICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0dhcENvbnRlbnQuamF2YQoJKHNoaWZ0R2FwKTogQWRkZWQgaW4gaWYgc3RhdGVtZW50IHRvIGNoZWNrIGlmIGluZGV4ZXMgYXJlIG5lZ2F0aXZlLgoJRG9lcyBub3Qgd29yayBwcm9wZXJseSBpZiB0aGV5IGFyZS4KCjIwMDUtMDgtMDIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShSb290Vmlldy52aWV3VG9Nb2RlbCk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvQm94Vmlldy5qYXZhCgkoaXNCZWZvcmUpOiBOZXcgbWV0aG9kLiBUaGlzIGlzIGEgc3R1YiBtZXRob2QgdG8gaW1wbGVtZW50IHRoZQoJbmV3IGFic3RyYWN0IG1ldGhvZCBmcm9tIENvbXBvc2l0ZVZpZXcuCgkoaXNBZnRlcik6IE5ldyBtZXRob2QuIFRoaXMgaXMgYSBzdHViIG1ldGhvZCB0byBpbXBsZW1lbnQgdGhlCgluZXcgYWJzdHJhY3QgbWV0aG9kIGZyb20gQ29tcG9zaXRlVmlldy4KCShnZXRWaWV3QXRQb2ludCk6IE5ldyBtZXRob2QuIFRoaXMgaXMgYSBzdHViIG1ldGhvZCB0byBpbXBsZW1lbnQgdGhlCgluZXcgYWJzdHJhY3QgbWV0aG9kIGZyb20gQ29tcG9zaXRlVmlldy4KCShjaGlsZEFsbG9jYXRpb24pOiBOZXcgbWV0aG9kLiBUaGlzIGlzIGEgc3R1YiBtZXRob2QgdG8gaW1wbGVtZW50IHRoZQoJbmV3IGFic3RyYWN0IG1ldGhvZCBmcm9tIENvbXBvc2l0ZVZpZXcuCgkqIGphdmF4L3N3aW5nL3RleHQvQ29tcG9uZW50Vmlldy5qYXZhCgkodmlld1RvTW9kZWwpOiBOZXcgbWV0aG9kLiBUaGlzIGlzIGEgc3R1YiBtZXRob2QgdG8gaW1wbGVtZW50IHRoZQoJbmV3IGFic3RyYWN0IG1ldGhvZCBmcm9tIFZpZXcuCgkqIGphdmF4L3N3aW5nL3RleHQvQ29tcG9zaXRlVmlldy5qYXZhCgkobG9hZENoaWxkcmVuKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShzZXRQYXJlbnQpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKGdldFZpZXdDb3VudCk6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkoZ2V0Vmlldyk6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkocmVwbGFjZSk6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkoZ2V0Q2hpbGRBbGxvY2F0aW9uKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShtb2RlbFRvVmlldyhpbnQsIFNoYXBlLCBQb3NpdGlvbi5CaWFzKSk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoJKG1vZGVsVG9WaWV3KGludCwgUG9zaXRpb24uQmlhcywgaW50LCBQb3NpdGlvbi5CaWFzLCBTaGFwZSk6CglJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKHZpZXdUb01vZGVsKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShnZXROZXh0VmlzdWFsUG9zaXRpb25Gcm9tKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShnZXRWaWV3SW5kZXgpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKGlzQmVmb3JlKTogTmV3IGFic3RyYWN0IG1ldGhvZC4KCShpc0FmdGVyKTogTmV3IGFic3RyYWN0IG1ldGhvZC4KCShnZXRWaWV3QXRQb2ludCk6IE5ldyBhYnN0cmFjdCBtZXRob2QuCgkoY2hpbGRBbGxvY2F0aW9uKTogTmV3IGFic3RyYWN0IG1ldGhvZC4KCShnZXRWaWV3QXRQb3NpdGlvbik6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkoZ2V0Vmlld0luZGV4QXRQb3NpdGlvbik6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkoZ2V0SW5zaWRlQWxsb2NhdGlvbik6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkoc2V0UGFyYWdyYXBoSW5zZXRzKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShzZXRJbnNldHMpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKGdldExlZnRJbnNldCk6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkoZ2V0UmlnaHRJbnNldCk6IEltcGxlbWVudGVkIG5ldyBtZXRob2QuCgkoZ2V0VG9wSW5zZXQpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKGdldEJvdHRvbUluc2V0KTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCShnZXROZXh0Tm9ydGhTb3V0aFZpc3VhbFBvc2l0aW9uRnJvbSk6IE5ldyBtZXRob2QuCgkoZ2V0TmV4dEVhc3RXZXN0VmlzdWFsUG9zaXRpb25Gcm9tKTogTmV3IG1ldGhvZC4KCShmbGlwRWFzdEFuZFdlc3RBdEVuZHMpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90ZXh0L0dseXBoVmlldy5qYXZhCgkodmlld1RvTW9kZWwpOiBOZXcgbWV0aG9kLiBUaGlzIGlzIGEgc3R1YiBtZXRob2QgdG8gaW1wbGVtZW50IHRoZQoJbmV3IGFic3RyYWN0IG1ldGhvZCBmcm9tIFZpZXcuCgkqIGphdmF4L3N3aW5nL3RleHQvSWNvblZpZXcuamF2YQoJKHZpZXdUb01vZGVsKTogTmV3IG1ldGhvZC4gVGhpcyBpcyBhIHN0dWIgbWV0aG9kIHRvIGltcGxlbWVudCB0aGUKCW5ldyBhYnN0cmFjdCBtZXRob2QgZnJvbSBWaWV3LgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkodmlld1RvTW9kZWwpOiBOZXcgbWV0aG9kLiBUaGlzIGlzIGEgc3R1YiBtZXRob2QgdG8gaW1wbGVtZW50IHRoZQoJbmV3IGFic3RyYWN0IG1ldGhvZCBmcm9tIFZpZXcuCgkqIGphdmF4L3N3aW5nL3RleHQvVmlldy5qYXZhCgkodmlld1RvTW9kZWwpOiBOZXcgYWJzdHJhY3QgbWV0aG9kLgoKMjAwNS0wOC0wMiAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIG9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZUNvbW1vbi5qYXZhOiBJbmhlcml0IGZyb20KICAgICAgICBEeW5WYWx1ZU9wZXJhdGlvbnMsIER5bkFueSwgSURMRW50aXR5LCBvcmcub21nLkNPUkJBLk9iamVjdCwKICAgICAgICBTZXJpYWxpemFibGUuCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvRHluVmFsdWVDb21tb25PcGVyYXRpb25zLmphdmE6IEluaGVyaXQgZnJvbQogICAgICAgIER5bkFueU9wZXJhdGlvbnMuCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvRHluQW55SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5blN0cnVjdEhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5VbmlvbkhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZUhlbHBlci5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5BbnlGYWN0b3J5SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFycmF5SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkVudW1IZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluRml4ZWRIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluU2VxdWVuY2VIZWxwZXIuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wOC0wMSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogZXhhbXBsZXMvUkVBRE1FOiBBZGQgR05VTG9va0FuZEZlZWwuamF2YSB0byB0aGUgY29tcGlsZSBjb21tYW5kLgoKMjAwNS0wOC0wMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9EZW1vLmphdmEgKG1rVHJlZVdvcmxkKToKCVJlbW92ZSBkb3VibGUgZGVjbGFyYXRpb24gb2YgaW50IGkuCgoyMDA1LTA4LTAxICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0RlbW8uamF2YTogRXhpdCB3aGVuCglwcmVzc2luZyAnQ2xvc2UnIG9uIHRoZSBwYW5lbC4KCjIwMDUtMDgtMDEgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIGNvbmZpZ3VyZS5hYyAoTElCVkVSU0lPTik6IENoZWNrIGFnYWluc3QgZGFyd2luIHRvIHNldCBtb2R1bGUKCSdubycgZm9yIGl0LiBNb2R1bGVzIHVuZGVyIGRhcndpbiBhcmUgbm90IGxpbmthYmxlLgoKMjAwNS0wOC0wMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvQXR0cmlidXRlU2V0LmphdmE6IEFkZGVkIEFQSSBjb21tZW50cyBhbGwgb3Zlci4KCjIwMDUtMDgtMDEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YTogQWRkZWQgQVBJIGNvbW1lbnRzIGFsbCBvdmVyLgoKMjAwNS0wOC0wMSAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhCgkoZGVmaW5lQ2xhc3MoU3RyaW5nLGJ5dGVbXSxpbnQsaW50LFByb3RlY3Rpb25Eb21haW4pLAoJcmVzb2x2ZUNsYXNzLCBmaW5kU3lzdGVtQ2xhc3MsIHNldFNpZ25lcnMsIGZpbmRMb2FkZWRDbGFzcyk6CglBZGRlZCBjYWxsIHRvIGNoZWNrSW5pdGlhbGl6ZWQoKS4KCShjaGVja0luaXRpYWxpemVkKTogTmV3IG1ldGhvZC4KCjIwMDUtMDgtMDEgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBORVdTOiBBZGRlZCBpbmZvIGFib3V0IFZNIGludGVyZmFjZXMgY2hhbmdlcy4KCSogamF2YS9sYW5nL0NsYXNzLmphdmEKCShmb3JOYW1lKFN0cmluZyksIGZvck5hbWUoU3RyaW5nLCBib29sZWFuLCBDbGFzc0xvYWRlcikpOiBTaW1wbGlmaWVkCglWTSBpbnRlcmZhY2UuCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhCgkobG9hZGVkQ2xhc3Nlcyk6IFJlbW92ZWQgZmllbGQuCgkoZGVmaW5lQ2xhc3MoU3RyaW5nLGJ5dGVbXSxpbnQsaW50LFByb3RlY3Rpb25Eb21haW4pKTogUmVtb3ZlZAoJY29kZSB0byBhZGQgY2xhc3MgdG8gbG9hZGVkQ2xhc3Nlcy4KCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTUNsYXNzLmphdmEKCShmb3JOYW1lKFN0cmluZykpOiBSZW1vdmVkIG1ldGhvZC4KCShmb3JOYW1lKFN0cmluZyxib29sZWFuLENsYXNzTG9hZGVyKSk6IE5ldyBtZXRob2QuCgkoaW5pdGlhbGl6ZSk6IFJlbW92ZWQgbWV0aG9kLgoJKGxvYWRBcnJheUNsYXNzKTogUmVtb3ZlZCBtZXRob2QuCgkqIHZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1DbGFzc0xvYWRlci5qYXZhCgkoVVNFX1ZNX0NBQ0hFKTogUmVtb3ZlZCBmaWVsZC4KCShmaW5kTG9hZGVkQ2xhc3MpOiBNYWRlIG5hdGl2ZS4KCjIwMDUtMDgtMDEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglSZXBvcnRlZCBieSBXb2xmZ2FuZyBCYWVyIDxXQmFlckBnbXguZGU+CgkqIGphdmF4L3N3aW5nL3RleHQvR2FwQ29udGVudC5qYXZhIChzaGlmdEdhcCk6IFVzZSBuZXcKCUNhcENvbnRlbnRQb3NpdGlvbiBpbiBiaW5hcnlTZWFyY2guCgkoc2hpZnRFbmQpOiBMaWtld2lzZS4KCjIwMDUtMDgtMDEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9idWdzLndtbDogTmV3IGZpbGUuCgkqIGRvYy93d3cuZ251Lm9yZy9uZXdzaXRlbXMudHh0OiBBZGQgYnVnemlsbGEgZW50cnkuCgkqIGRvYy93d3cuZ251Lm9yZy9ldmVudHMvZXZlbnRzLndtbDogQ29ycmVjdCBGb3NkZW0gMjAwNSBkYXRlLgoJKiBkb2Mvd3d3LmdudS5vcmcvaW5jbHVkZS9sYXlvdXQud21sOiBEaXJlY3QgYnVnIHJlcG9ydHMgdG8gYnVncy5odG1sLgoKMjAwNS0wOC0wMSAgSmFuIFJvZWhyaWNoIDxqYW5Acm9laHJpY2guaW5mbz4KCiAgICAgICAgKiBqYXZheC5zd2luZy5wbGFmLmJhc2ljLkJhc2ljVHJlZVVJOiBNZXRob2QgZHJhd0NlbnRlcmVkCiAgICAgICAgYWRkZWQgLyBjb3JyZWN0ZWQgamF2YWRvYyBpc3N1ZXMgaW4gcGFpbnRIb3Jpem9uYWxMaW5lIAogICAgICAgIGFuZCBwYWludFZlcnRpY2FsTGluZSAvIGZpeGVkIGdldFJpZ2h0Q2hpbGRJbmRlbnQgc2lnbmF0dXJlCiAgICAgICAgKHByb2JsZW0gcHJvYmFibHkgY2F1c2VkIGJ5IGNvcHkvcGFzdGUpCgoyMDA1LTA4LTAxICBKYW4gUm9laHJpY2ggPGphbkByb2VocmljaC5pbmZvPgoKICAgICAgICAqIGphdmF4LnN3aW5nLnBsYWYuYmFzaWMuQmFzaWNUcmVlVUk6IHBhaW50VmVydGljYWxMaW5lIGFuZAogICAgICAgIHBhaW50SG9yaXpvbnRhbExpbmUgYWRkZWQuCgoyMDA1LTA3LTMxICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZU9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQW55RmFjdG9yeS5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5BbnlGYWN0b3J5T3BlcmF0aW9ucy5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZS5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZUJveC5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5WYWx1ZUJveE9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluVmFsdWVDb21tb24uamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluVmFsdWVDb21tb25PcGVyYXRpb25zLmphdmE6IE5ldyBmaWxlcy4KCjIwMDUtMDctMzEgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvRHluRml4ZWRPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkVudW0uamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQXJyYXlPcGVyYXRpb25zLmphdmE6IEluaGVyaXQgZnJvbQogICAgICAgIER5bkFueU9wZXJhdGlvbnMuCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvTmFtZUR5bkFueVBhaXIuamF2YTogSW5oZXJpdCBmcm9tCiAgICAgICAgb3JnLm9tZy5DT1JCQS5wb3J0YWJsZS5JRExFbnRpdHkuCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvRHluQW55T3BlcmF0aW9ucy5qYXZhCiAgICAgICAgKGFzc2lnbiwgY3VycmVudF9jb21wb25lbnQpOiBGaXhlcyBpbiB0aHJvd3MgZGVjbGFyYXRpb24uCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvRHluRW51bU9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluU2VxdWVuY2VPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5blN0cnVjdE9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluVW5pb25PcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueS5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5GaXhlZC5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5TZXF1ZW5jZS5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5TdHJ1Y3QuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluVW5pb24uamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQXJyYXkuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvTmFtZVZhbHVlUGFpci5qYXZhOiBSZWZvcm1hdHRlZC4KCjIwMDUtMDctMzEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL25pby9GaWxlTG9ja0ltcGwuamF2YTogTWFyayBjbGFzcyBmaW5hbC4KCShjaCk6IFJlbW92ZWQgZmllbGQuCgkodmFsaWQpOiBOZXcgZmllbGQuCgkoRmlsZUxvY2tJbXBsKTogU2V0IHZhbGlkIHRvIHRydWUuCgkoaXNWYWxpZCk6IFRlc3QgYW5kIHNldCB2YWxpZCBmaWVsZC4KCShyZWxlYXNlKTogUmVsZWFzZSBsb2NrIGlmIGl0IGlzIHN0aWxsIHZhbGlkLgoJKiBqYXZhL25pby9jaGFubmVscy9GaWxlTG9jay5qYXZhOiBNYXJrIGFsbCBmaWVsZHMgcHJpdmF0ZSBmaW5hbC4KCSogbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fY2hhbm5lbHNfRmlsZUNoYW5uZWxJbXBsLmMKCShKYXZhX2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGxfbG9jayk6IFRyYW5zbGF0ZQoJTG9uZy5NQVhfVkFMVUUgdG8gemVybyBmb3IgZmNudGwuCgkoSmF2YV9nbnVfamF2YV9uaW9fY2hhbm5lbHNfRmlsZUNoYW5uZWxJbXBsX3VubG9jayk6IExpa2V3aXNlLgoKMjAwNS0wNy0zMSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIHNjcmlwdHMvZWNsaXBzZS1nbnUueG1sOiBEcm9wIGV4dGVuZHMsIGltcGxlbWVudHMsIAogICAgICAgIHRocm93cyBpbnRvIG5ldyBsaW5lLiAKCjIwMDUtMDctMzEgIEphbiBSb2VocmljaCAgPGphbkByb2VocmljaC5pbmZvPgoKCSogamF2YXguc3dpbmcucGxhZi5iYXNpYy5CYXNpY1RyZWVVSTogZml4ZWQgaW5kZW50YXRpb24uCgoyMDA1LTA3LTMwICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogbmF0aXZlL2puaS9qYXZhLW5pby9qYXZhX25pb19NYXBwZWRCeXRlQnVmZmVyLmMKCShKYXZhX2phdmFfbmlvX01hcHBlZEJ5dGVCdWZmZXJJbXBsX2lzTG9hZGVkSW1wbCk6IGNhc3QgYXJndW1lbnQgMwoJdG8gJ21pbmNvcmUnIHRvICd2b2lkIConIHRvIGF2b2lkIHdhcm5pbmdzIG9uIEdOVS4KCjIwMDUtMDctMzAgIENhc2V5IE1hcnNoYWxsICA8Y3NtQGdudS5vcmc+CgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGwuYwoJKEphdmFfZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbF9tYXBJbXBsKToKCWVsaW1pbmF0ZSB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzOyBtYXJrICdidWZmZXInIGFzICd2b2xhdGlsZTsnCgl0aHJvdyBhbiBleGNlcHRpb24gaWYgd2UgY2FuJ3QgZ2V0IGEgY29uc3RydWN0b3IgbWV0aG9kIElELgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2phdmFfbmlvX01hcHBlZEJ5dGVCdWZmZXJJbXBsLmM6CglpbmNsdWRlICdzdGRsaWIuaC4nCgkoZ2V0X3Jhd192YWx1ZXMpOiBlbGltaW5hdGUgY29tcGlsZXIgd2FybmluZ3MuCgkoSmF2YV9qYXZhX25pb19NYXBwZWRCeXRlQnVmZmVySW1wbF9pc0xvYWRlZEltcGwpOiBsaWtld2lzZS4KCSogbmF0aXZlL2puaS9qYXZhLW5pby9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXIuYwoJKEphdmFfamF2YV9uaW9fVk1EaXJlY3RCeXRlQnVmZmVyX3B1dF9fTGdudV9jbGFzc3BhdGhfUmF3RGF0YV8ySV8zQklJKToKCWVsaW1pbmF0ZSBjb21waWxlciB3YXJuaW5nLgoKMjAwNS0wNy0yOSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVkRWRpdG9yS2l0LmphdmE6IEFkZGVkIHRoZSByZW1haW5pbmcgQVBJCgljb21tZW50cy4KCjIwMDUtMDctMjkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL01lbnVTZWxlY3Rpb25NYW5hZ2VyLmphdmEKCShpc0NvbXBvbmVudFBhcnRPZkN1cnJlbnRNZW51KTogRml4ZWQgdG8gcHJldmVudCBOUEUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51VUkuamF2YQoJKHBvcHVwVmlzaWJsZSk6IExpa2V3aXNlLgoKMjAwNS0wNy0yOSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvYXd0L2V2ZW50L01vdXNlV2hlZWxFdmVudC5qYXZhOiBmaXhlZCB0eXBvIGluIEFQSSBkb2NzLgoJCjIwMDUtMDctMjkgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRTdHlsZWREb2N1bWVudC5qYXZhOiBBZGRlZAoJY29tbWVudHMgYWxsIG92ZXIuCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVkRWRpdG9yS2l0OiBMaWtld2lzZS4KCjIwMDUtMDctMjkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShpbnNlcnRTdHJpbmcpOiBBZGRlZCBpbiBjaGVjayBmb3IgbnVsbCB0byByZXNvbHZlIGEgTlBFLgoJKiBqYXZheC9zd2luZy90ZXh0L0dhcENvbnRlbnQuamF2YQoJKGdldE9mZnNldCk6IEFkZGVkIGluIGNoZWNrIGZvciBtYXJrID0gZ2FwU3RhcnQgYmVjYXVzZQoJaWYgbWFyayA9IGdhcFN0YXJ0ID0gMCwgdGhlbiBhIG5lZ2F0aXZlIGlzIHJldHVybmVkLiBUaGlzIHdhcwoJbm90IHJpZ2h0LgoKMjAwNS0wNy0yOSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNFZGl0b3JQYW5lVUkuamF2YTogQWRkZWQgQVBJCgljb21tZW50cyBhbGwgb3Zlci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhOiBMaWtld2lzZS4KCQoyMDA1LTA3LTI5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YQoJKHNwbGl0KTogTW92ZWQgdGhyb3cgc3RhdGVtZW50IGludG8gcHJvcGVyIGVsc2UgY2xhdXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlZEVkaXRvcktpdC5qYXZhCgkoU3R5bGVkVmlld0ZhY3RvcnkuY3JlYXRlKTogUmV0dXJuIHRoZSBhY3R1YWwgdmlldyBpbnN0ZWFkIG9mIG51bGwuCgoyMDA1LTA3LTI5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlRleHRQYW5lLmphdmE6IEFkZGVkIEFQSSBjb21tZW50cyBhbGwgb3Zlci4KCjIwMDUtMDctMjkgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KVGV4dFBhbmUuamF2YQoJKGNvbnN0cnVjdG9yKCkpOiBJbXBsZW1lbnRlZCB0aGlzIGNvbnN0cnVjdG9yLiBJbml0aWFsaXplIHRoZQoJRWRpdG9yS2l0IGFuZCBzZXQgdGhlIERvY3VtZW50IHRvIG51bGwuCgkoY29uc3RydWN0b3IoU3R5bGVkRG9jdW1lbnQpKTogSW1wbGVtZW50ZWQgdGhpcyBjb25zdHJ1Y3Rvci4KCUluaXRpYWxpemUgdGhlIEVkaXRvcktpdCBhbmQgRG9jdW1lbnQuCgkoZ2V0VUlDbGFzc0lEKTogSW5saW5lZCB0aGUgY29uc3RhbnQgU3RyaW5nLgoJKHNldERvY3VtZW50KTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoZ2V0U3R5bGVkRG9jdW1lbnQpOiBMaWtld2lzZS4KCShzZXRTdHlsZWREb2N1bWVudCk6IExpa2V3aXNlLgoJKHJlcGxhY2VTZWxlY3Rpb24pOiBMaWtld2lzZS4KCShpbnNlcnRDb21wb25lbnQpOiBDbGFyaWZpZWQgdGhlIFRPRE8gY29tbWVudC4KCShpbnNlcnRJY29uKTogQ2xhcmlmaWVkIHRoZSBUT0RPIGNvbW1lbnQuCgkoYWRkU3R5bGUpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCShyZW1vdmVTdHlsZSk6IExpa2V3aXNlLgoJKGdldFN0eWxlKTogTGlrZXdpc2UuCgkoZ2V0TG9naWNhbFN0eWxlKTogTGlrZXdpc2UuCgkoc2V0TG9naWNhbFN0eWxlKTogTGlrZXdpc2UuCgkoZ2V0Q2hhcmFjdGVyQXR0cmlidXRlcyk6IExpa2V3aXNlLgoJKHNldENoYXJhY3RlckF0dHJpYnV0ZXMpOiBMaWtld2lzZS4KCShnZXRQYXJhZ3JhcGhBdHRyaWJ1dGVzKTogTGlrZXdpc2UuCgkoZ2V0SW5wdXRBdHRyaWJ1dGVzKTogTGlrZXdpc2UuCgkoZ2V0U3R5bGVkRWRpdG9yS2l0KTogTGlrZXdpc2UuCgkoY3JlYXRlRGVmYXVsdEVkaXRvcktpdCk6IExpa2V3aXNlLgoJKHNldEVkaXRvcktpdCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRWRpdG9yUGFuZVVJLmphdmEKCShnZXRFZGl0b3JLaXQpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoUm9vdFZpZXcuZ2V0Vmlld0ZhY3RvcnkpOiBBc2sgdGhlIGluc3RhbGxlZCBFZGl0b3JLaXQgZm9yIGl0cwoJVmlld0ZhY3RvcnkuCgkoUm9vdFZpZXcuc2V0Vmlldyk6IFNldCB0aGlzIGFzIHRoZSBwYXJlbnQgb2YgdGhlIGluc3RhbGxlZCByZWFsCglyb290IHZpZXcuCgkoUm9vdFZpZXcubW9kZWxUb1ZpZXcpOiBEb24ndCBjYXN0IHRvIFBsYWluVmlldyBoZXJlLiBVc2UgVmlldwoJaW5zdGVhZC4KCShzZXRWaWV3KTogRG9uJ3Qgc2V0IHRoZSBwYXJlbnQgaGVyZS4gVGhpcyBpcyBoYW5kbGVkIGluc2lkZSB0aGUKCXJvb3Qgdmlldy4KCjIwMDUtMDctMjkgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKGNyZWF0ZVBvc2l0aW9uKTogRGVsZWdhdGUgdGhpcyBjYWxsIHRvIHRoZSBhY3R1YWwgQ29udGVudC4KCShMZWFmRWxlbWVudC5jb25zdHJ1Y3Rvcik6IE1hbmFnZSB0aGUgc3RhcnQgYW5kIGVuZCBtYXJrcyB2aWEKCVBvc2l0aW9uIG9iamVjdHMuCgkoTGVhZkVsZW1lbnQuZ2V0RW5kT2Zmc2V0KTogVXNlIFBvc2l0aW9uIGluc3RlYWQgb2Ygc3RhdGljIG1hcmsuCgkoTGVhZkVsZW1lbnQuZ2V0U3RhcnRPZmZzZXQpOiBVc2UgUG9zaXRpb24gaW5zdGVhZCBvZiBzdGF0aWMgbWFyay4KCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YQoJKEVsZW1lbnRCdWZmZXIuY2hhbmdlKTogTmV3IG1ldGhvZC4gUGVyZm9ybXMgc3RydWN0dXJhbCBjaGFuZ2VzCglpbiB0aGUgZWxlbWVudCB0cmVlIHRoYXQgYXJlIG5lY2Vzc2FyeSBpbiBvcmRlciB0byBjaGFuZ2UKCXRleHQgYXR0cmlidXRlcy4KCShFbGVtZW50QnVmZmVyLmNoYW5nZVVwZGF0ZSk6IE5ldyBtZXRob2QuIFRoaXMgaXMgdGhlIG1ldGhvZCBmb3IKCWNoYW5nZSgpLgoJKEVsZW1lbnRCdWZmZXIuc3BsaXQpOiBOZXcgcGFja2FnZS1wcml2YXRlIG1ldGhvZC4gU3BsaXRzIGFuCgllbGVtZW50IGludG8gdHdvIGVsZW1lbnRzLgoJKHNldENoYXJhY3RlckF0dHJpYnV0ZXMpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4gVGhpcyBzZXRzCgljaGFyYWN0ZXIgYXR0cmlidXRlcyBvbiBhIHBpZWNlIG9mIGNvbnRlbnQuCgkqIGphdmF4L3N3aW5nL3RleHQvR2FwQ29udGVudC5qYXZhCgkoR2FwQ29udGVudFBvc2l0aW9uKTogTmV3IGlubmVyIGNsYXNzLiBJbXBsZW1lbnRzIHRoZSBQb3NpdGlvbgoJaW50ZXJmYWNlIGZvciBHYXBDb250ZW50LgoJKGNvbnN0cnVjdG9yKTogSW5pdGlhbGl6ZSB0aGUgbGlzdCB0aGF0IHN0b3JlcyB0aGUgUG9zaXRpb24gb2JqZWN0cy4KCShjcmVhdGVQb3NpdGlvbik6IFJlaW1wbGVtZW50ZWQuIE5vdyB1c2VzIHRoZSBHYXBDb250ZW50UG9zaXRpb24KCWNsYXNzLgoJKHNoaWZ0RW5kKTogVXBkYXRlIHRoZSBzdG9yZWQgcG9zaXRpb25zLgoJKHNoaWZ0R2FwKTogVXBkYXRlIHRoZSBzdG9yZWQgcG9zaXRpb25zLgoJKiBqYXZheC9zd2luZy90ZXh0L0xhYmVsVmlldy5qYXZhOiBOZXcgY2xhc3MuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5Eb2N1bWVudC5qYXZhCgkocmVtb3ZlVXBkYXRlKTogRG9uJ3QgdXBkYXRlIHRoZSBlbGVtZW50IHBvc2l0aW9ucywgdGhpcyBzaG91bGQKCW5vdyBiZSBoYW5kbGVkIGJ5IHRoZSBQb3NpdGlvbnMuCgoyMDA1LTA3LTI5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9Cb3hWaWV3LmphdmE6IE5ldyBjbGFzcy4KCSogamF2YXgvc3dpbmcvdGV4dC9Db21wb3NpdGVWaWV3LmphdmE6IE5ldyBjbGFzcy4KCSogamF2YXgvc3dpbmcvdGV4dC9GbG93Vmlldy5qYXZhOiBOZXcgY2xhc3MuCgkqIGphdmF4L3N3aW5nL3RleHQvR2x5cGhWaWV3LmphdmE6IE5ldyBjbGFzcy4KCSogamF2YXgvc3dpbmcvdGV4dC9JY29uVmlldy5qYXZhOiBOZXcgY2xhc3MuCgkqIGphdmF4L3N3aW5nL3RleHQvUGFyYWdyYXBoVmlldy5qYXZhOiBOZXcgY2xhc3MuCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVkRWRpdG9yS2l0LmphdmEKCShVbmRlckxpbmVBY3Rpb24uY29uc3RydWN0b3IpOiBBZGRlZCBUT0RPIGNvbW1lbnQuCgkoVW5kZXJMaW5lQWN0aW9uLmFjdGlvblBlcmZvcm1lZCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLiBUaGlzCgl0b2dnbGVzIHRoZSB1bmRlcmxpbmUgYXR0cmlidXRlIHRvIGEgcGllY2Ugb2YgY29udGVudC4KCShJdGFsaWNBY3Rpb24uY29uc3RydWN0b3IpOiBBZGRlZCBUT0RPIGNvbW1lbnQuCgkoSXRhbGljQWN0aW9uLmFjdGlvblBlcmZvcm1lZCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLiBUaGlzCgl0b2dnbGVzIHRoZSBpdGFsaWMgYXR0cmlidXRlIHRvIGEgcGllY2Ugb2YgY29udGVudC4KCShCb2xkQWN0aW9uLmNvbnN0cnVjdG9yKTogQWRkZWQgVE9ETyBjb21tZW50LgoJKEJvbGRBY3Rpb24uYWN0aW9uUGVyZm9ybWVkKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuIFRoaXMKCXRvZ2dsZXMgdGhlIGJvbGQgYXR0cmlidXRlIHRvIGEgcGllY2Ugb2YgY29udGVudC4KCShBbGlnbm1lbnRBY3Rpb24uY29uc3RydWN0b3IpOiBJbXBsZW1lbnRlZCB0aGlzIGNvbnN0cnVjdG9yLgoJKEFsaWdubWVudEFjdGlvbi5hY3Rpb25QZXJmb3JtZWQpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4gVGhpcwoJc2V0cyB0aGUgYWxpZ25tZW50IGF0dHJpYnV0ZSBmb3IgYSBwaWVjZSBvZiBjb250ZW50LgoJKEZvcmVncm91bmRBY3Rpb24uY29uc3RydWN0b3IpOiBJbXBsZW1lbnRlZCB0aGlzIGNvbnN0cnVjdG9yLgoJKEZvcmVncm91bmRBY3Rpb24uYWN0aW9uUGVyZm9ybWVkKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuIFRoaXMKCXNldHMgdGhlIGZvcmVncm91bmQgYXR0cmlidXRlIGZvciBhIHBpZWNlIG9mIGNvbnRlbnQuCgkoRm9udFNpemVBY3Rpb24uY29uc3RydWN0b3IpOiBJbXBsZW1lbnRlZCB0aGlzIGNvbnN0cnVjdG9yLgoJKEZvbnRTaXplQWN0aW9uLmFjdGlvblBlcmZvcm1lZCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLiBUaGlzCglzZXRzIHRoZSBmb250IHNpemUgYXR0cmlidXRlIGZvciBhIHBpZWNlIG9mIGNvbnRlbnQuCgkoRm9udEZhbWlseUFjdGlvbi5jb25zdHJ1Y3Rvcik6IEltcGxlbWVudGVkIHRoaXMgY29uc3RydWN0b3IuCgkoRm9udEZhbWlseUFjdGlvbi5hY3Rpb25QZXJmb3JtZWQpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4gVGhpcwoJc2V0cyB0aGUgZm9udCBmYW1pbHkgYXR0cmlidXRlIGZvciBhIHBpZWNlIG9mIGNvbnRlbnQuCgkoU3R5bGVkVGV4dEFjdGlvbi5jb25zdHJ1Y3Rvcik6IFJlbW92ZWQgVE9ETyBjb21tZW50LgoJKFN0eWxlZFRleHRBY3Rpb24uZ2V0RWRpdG9yKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoU3R5bGVkVGV4dEFjdGlvbi5nZXRTdHlsZWREb2N1bWVudCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoJKFN0eWxlZFRleHRBY3Rpb24uZ2V0U3R5bGVkRWRpdG9yS2l0KTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoU3R5bGVkVGV4dEFjdGlvbi5zZXRDaGFyYWN0ZXJBdHRyaWJ1dGVzKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoU3R5bGVkVGV4dEFjdGlvbi5zZXRQYXJhZ3JhcGhBdHRyaWJ1dGVzKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoU3R5bGVkVmlld0ZhY3RvcnkuY29uc3RydWN0b3IpOiBSZW1vdmVkLiBUaGlzIGlzIG5vdCBuZWNlc3NhcnkgaGVyZS4KCShTdHlsZWRWaWV3RmFjdG9yeS5jcmVhdGUpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCShBdHRyaWJ1dGVUcmFja2VyKTogUmVtb3ZlZCB0aGlzIGlubmVyIGNsYXNzLgoJKENhcmV0VHJhY2tlcik6IE5ldyBpbm5lciBjbGFzcy4KCShDYXJldFRyYWNrZXIuY2FyZXRVcGRhdGUpOiAgSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuIFRoaXMgbWVlcHMKCXRyYWNrIG9mIHRoZSBjYXJldCBpbiBhIHRleHQgY29tcG9uZW50IGFuZCB1cGRhdGVzIHNvbWUgZmllbGRzCglvZiB0aGUgU3R5bGVkRWRpdG9yS2l0LgoJKGNvbnN0cnVjdG9yKTogSW1wbGVtZW50ZWQgdGhpcyBjb25zdHJ1Y3Rvci4KCVRoZSBpbnB1dEF0dHJpYnV0ZXMgYXJlIGluaXRpYWxpemVkIGhlcmUuCgkoY2xvbmUpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCShnZXRBY3Rpb25zKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoZ2V0SW5wdXRBdHRyaWJ1dGVzKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoZ2V0Q2hhcmFjdGVyQXR0cmlidXRlUnVuKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoY3JlYXRlRGVmYXVsdERvY3VtZW50KTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoaW5zdGFsbCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoJKGRlaW5zdGFsbCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoJKGdldFZpZXdGYWN0b3J5KTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkoY3JlYXRlSW5wdXRBdHRyaWJ1dGVzKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvVmlldy5qYXZhCgkobW9kZWxUb1ZpZXcoaW50LCBTaGFwZSwgUG9zaXRpb24uQmlhcykpOiBBZGRlZCBuZXcgYWJzdHJhY3QgbWV0aG9kLgoJKG1vZGVsVG9WaWV3KGludCwgUG9zaXRpb24uQmlhcywgaW50LCBQb3NpdGlvbi5CaWFzLCBTaGFwZSk6CglOZXcgbWV0aG9kLgoJCjIwMDUtMDctMjggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YToKCShzY3JvbGxSZWN0VG9WaXNpYmxlKTogQ29uc2lkZXIgdGhlIHggYW5kIHkgcG9zaXRpb24gb2YgdGhlIHZpZXdwb3J0CglpdHNlbGYgd2hlbiBzY3JvbGxpbmcgZG93bi4gIFRoaXMgZml4ZXMgYW4gb2ZmLWJ5LTEtcGl4ZWwgcHJvYmxlbS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IEltcGxlbWVudGVkIFBBR0VVUCwgU0hJRlQtUEFHRVVQLCBQQUdFRE9XTiwgCglhbmQgU0hJRlQtUEFHRURPV04ga2V5IGFjdGlvbnMuCgoyMDA1LTA3LTI4ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkKCSogamF2YS9hd3QvR3JpZEJhZ0xheW91dC5qYXZhCgkoZGlzdHJpYnV0ZVNpemVBbmRXZWlnaHQpOiBhZGRlZCBpbiBjaGVjaywgYmVjYXVzZSBPdXRPZkJvdW5kcyBleGNlcHRpb24KCXdhcyBiZWluZyByYWlzZWQuCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoc2V0Um93SGVpZ2h0KTogQWRkZWQgaW4sIGJ1dCBub3QgaW1wbGVtZW50ZWQuIAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hFZGl0b3IuamF2YQoJKHNldEl0ZW0pOiBhZGRlZCBpbiBjaGVjaywgYmVjYXVzZSBOdWxsUG9pbnRlckV4Y2VwdGlvbiB3YXMgYmVpbmcKCXJhaXNlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoZ2V0UGF0aEJvdW5kcyk6IFRvb2sgb3V0IHVubmVlZGVkIGNhbGwuCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogYWRkZWQgaW4gY2hlY2ssIGJlY2F1c2UgTlBFIHdhcyBiZWluZyByYWlzZWQuCgkoaW5zdGFsbFVJKTogdG9vayBvdXQgdW5uZWVkZWQgY2FsbC4KCShwYWludCk6IExpa2V3aXNlLgoJKGdldFByZWZlcnJlZFNpemUpOiBTaG91bGQgbm90IGFzc3VtZSByb290IGlzIGFuIGluc3RhbmNlIG9mIERlZmF1bHQKCU11dGFibGVUcmVlTm9kZS4gQ2hhbmdlZCB0byB1c2UgVHJlZU5vZGUgaW5zdGVhZC4KCShnZXRDZWxsQm91bmRzKTogU2hvdWxkIG5ldmVyIHJldHVybiBudWxsCgkoZ2V0Q2VsbExvY2F0aW9uKTogVG9vayBvdXQgdW5uZWVkZWQgY2FsbC4KCjIwMDUtMDctMjggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmE6CgkoS2V5SGFuZGxlci5rZXlQcmVzc2VkKTogUmVwbGFjZWQgY2FsbHMgdG8gS2V5RXZlbnQuaXNTaGlmdERvd24oKSBhbmQKCWlzQ29udHJvbERvd24oKSB3aXRoIGNvbXBhcmlzb25zIG9mIEtleUV2ZW50LmdldE1vZGlmaWVycygpIGFuZCAKCUlucHV0RXZlbnQuU0hJRlRfTUFTSyBhbmQgQ1RSTF9NQVNLLgoJKE1vdXNlSW5wdXRIYW5kbGVyLm1vdXNlQ2xpY2tlZCk6IFJlb3JkZXJlZCBTSElGVCBhbmQgQ1RSTCBtb2RpZmllcgoJYWN0aW9ucyB0byBjb3JyZXNwb25kIHRvIEpESy4gIE5vdGUgdGhlIEpESyBzaW1wbHkgaWdub3JlcyBvdGhlciAKCW1vZGlmaWVycyBzbyBpc1NoaWZ0RG93bigpIGFuZCBpc0NvbnRyb2xEb3duKCkgYXJlIG9rYXkgZm9yIG1vdXNlCglpbnB1dC4KCjIwMDUtMDctMjcgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBvcmcvb21nL0R5bmFtaWNBbnkvRHluVW5pb24uamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluVW5pb25PcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L05hbWVEeW5BbnlQYWlyLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L05hbWVWYWx1ZVBhaXIuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQW55LmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueU9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQXJyYXkuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQXJyYXlPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkVudW0uamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluRW51bU9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluRml4ZWQuamF2YSwKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluRml4ZWRPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5blNlcXVlbmNlLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5blNlcXVlbmNlT3BlcmF0aW9ucy5qYXZhLAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5TdHJ1Y3RPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5blN0cnVjdC5qYXZhOiBOZXcgZmlsZXMuIAoKMjAwNS0wNy0yOCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhOgoJKHNjcm9sbFJlY3RUb1Zpc2libGUpOiBOZXcgbWV0aG9kLCBvdmVycmlkZXMgSkNvbXBvbmVudCBtZXRob2QgYXMgCglpbnRlbmRlZC4KCjIwMDUtMDctMjggIENocmlzdGlhbiBUaGFsaW5nZXIgIDx0d2lzdGlAY29tcGxhbmcudHV3aWVuLmFjLmF0PgoKCSogbmF0aXZlL2puaS9qYXZhLW5pby9qYXZhX25pb19NYXBwZWRCeXRlQnVmZmVySW1wbC5jIAoJKGdldF9yYXdfdmFsdWVzKTogQWRkIGVudiB0byBnZXRPYmplY3RDbGFzcyBjYWxsIGZvciA2NC1iaXQgY2FzZS4KCjIwMDUtMDctMjggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL3RleHQvQXR0cmlidXRlZFN0cmluZ0l0ZXJhdG9yLmphdmE6IHJlZm9ybWF0dGVkLgoJCjIwMDUtMDctMjcgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmE6CgkoS2V5SGFuZGxlci5rZXlQcmVzc2VkKTogRW5zdXJlIHRoZSBuZXcgbGVhZCBzZWxlY3Rpb24gaW5kZXggaXMgdmlzaWJsZQoJYWZ0ZXIgbWFraW5nIGEgY2hhbmdlLgoJKE1vdXNlSW5wdXRIYW5kbGVyLm1vdXNlQ2xpY2tlZCk6IExpa2V3aXNlLgoKMjAwNS0wNy0yNyAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3V0aWwvUGFja2V0UHJvY2Vzc29yLmphdmE6IEltcGxlbWVudCAKCVByaXZpbGVnZWRBY3Rpb24gdG8gYWxsb3cgcHJpdmlsYWdlZCBvcGVyYXRpb25zLgoKMjAwNS0wNy0yNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL3d3dy5nbnUub3JnL2V2ZW50cy9ldmVudHMud21sOiBBZGQgb2xkIGFuZCB1cGNvbW1pbmcgZXZlbnRzLgoKMjAwNS0wNy0yNyAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3V0aWwvVmFsdWUuamF2YTogQ2xhc3MgdG8gcmVhZC93cml0ZSBKRFdQCgl1bnRhZ2dlZCB2YWx1ZXMgYW5kIHRhZ2dlZCB2YWx1ZXMuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvT2JqZWN0UmVmZXJlbmNlQ29tbWFuZFNldC5qYXZhOgoJdXNlIG5ldyBhcGkgZm9yIFZhbHVlcyBhbmQgSVZpcnR1YWxNYWNoaW5lIGFuZCBmaXggbWVzc2FnZSBpbgoJZXhjZXB0aW9uLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL1JlZmVyZW5jZVR5cGVDb21tYW5kU2V0LmphdmE6Cgl1c2UgbmV3IGFwaSBmb3IgVmFsdWVzIGFuZCBmaXggbWVzc2FnZSBpbiBleGNlcHRpb24uCgoyMDA1LTA3LTI3ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FIZWxwZXIuamF2YSAodHlwZSwgaW5zZXJ0LCBleHRyYWN0LCAKICAgICAgICBpZCwgcmVhZCwgd3JpdGUpOiBOZXcgbWV0aG9kcy4KCjIwMDUtMDctMjcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL3RleHQvQXR0cmlidXRlZFN0cmluZy5qYXZhOiBhZGRlZC9lZGl0ZWQgQVBJIGRvY3MuCgkKMjAwNS0wNy0yNyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvdGV4dC9BdHRyaWJ1dGVkU3RyaW5nLmphdmE6IHJlZm9ybWF0dGVkLgoJCjIwMDUtMDctMjcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KVGV4dFBhbmUuamF2YToKCVJlZm9ybWF0dGVkIGZpbGUgdG8gbWF0Y2ggb3VyIGNvZGluZyBzdHlsZS4KCjIwMDUtMDctMjcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KVGV4dFBhbmUuamF2YQoJKGdldENoYXJhY3RlckF0dHJpYnV0ZXMpOiBSZXR1cm4gU2ltcGxlQXR0cmlidXRlU2V0LkVNUFRZIGluc3RlYWQKCW9mIG51bGwuCgoyMDA1LTA3LTI3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BhbmVsVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IEluc3RhbGwgYmFja2dyb3VuZCBjb2xvciBvbiBKUGFuZWwuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgYmFja2dyb3VuZCBjb2xvciBmb3IgUGFuZWwuCgoyMDA1LTA3LTI3ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS90ZXh0L0F0dHJpYnV0ZWRDaGFyYWN0ZXJJdGVyYXRvci5qYXZhOiBBUEkgZG9jIGZpeGVzLgoJCjIwMDUtMDctMjcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0RvY3VtZW50UGFyc2VyLmphdmE6IHJldmVydGVkIEFQSSBmaXguCgoyMDA1LTA3LTI3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdEJvdW5kZWRSYW5nZU1vZGVsLmphdmE6CglGaXhlZCAvIGFkZGVkIEFQSSBjb21tZW50cyBmb3IgY2xhc3MgZGVzY3JpcHRpb24uCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvRGVmYXVsdENlbGxFZGl0b3IuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDb21ib0JveE1vZGVsLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0RGVza3RvcE1hbmFnZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvRGVmYXVsdEZvY3VzTWFuYWdlci5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RDZWxsUmVuZGVyZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0TW9kZWwuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0U2VsZWN0aW9uTW9kZWwuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRTaW5nbGVTZWxlY3Rpb25Nb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvRm9jdXNNYW5hZ2VyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9HcmF5RmlsdGVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9JbWFnZUljb24uamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0lucHV0TWFwLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9JbnB1dFZlcmlmaWVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9JbnRlcm5hbEZyYW1lRm9jdXNUcmF2ZXJzYWxQb2xpY3kuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pBcHBsZXQuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pDaGVja0JveC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkNoZWNrQm94TWVudUl0ZW0uamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pDb2xvckNob29zZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhOiBMaWtld2lzZS4KCjIwMDUtMDctMjcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL3V0aWwvUHJvcGVydGllcy5qYXZhCgkoZ2V0UHJvcGVydHlJbnRlcm5hbCk6IFJlbW92ZWQuCgkoZ2V0UHJvcGVydHkoU3RyaW5nKSk6IFNlYXJjaCBmb3IgcHJvcGVydHkgaGVyZSBpbnN0ZWFkIG9mCglnZXRQcm9wZXJ0eShTdHJpbmcsIFN0cmluZykuCgkoZ2V0UHJvcGVydHkoU3RyaW5nLFN0cmluZykpOiBDYWxsIGdldFByb3BlcnR5KFN0cmluZykuCgoyMDA1LTA3LTI3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvTWVudUl0ZW0uamF2YQoJKEFjY2Vzc2libGVBV1RNZW51SXRlbS5zZXRDdXJyZW50QWNjZXNzaWJsZVZhbHVlKTogUmVtb3ZlZAoJZHVwbGljYXRlIGNvZGUuIEFkZGVkIHRoaXMgdG8gbWFrZSBzZXRFbmFibGVkIHVuYW1iaWd1b3VzIGZvcgoJamF2YWMgMS4zIGNvbXBpbGVyLgoKMjAwNS0wNy0yNyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvRG9jdW1lbnRQYXJzZXIuamF2YTogQVBJIGRvYyBmaXhlcywKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9EVEQuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvRFREQ29uc3RhbnRzLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0VsZW1lbnQuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvUGFyc2VyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1BhcnNlckRlbGVnYXRvci5qYXZhOiBsaWtld2lzZS4KCQoyMDA1LTA3LTI3ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBhZGRlZCBtZW51LXJlbGF0ZWQgZGVmYXVsdHMuCgkKMjAwNS0wNy0yNiAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9BcnJheVJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YToKCUltcGxlbWVudGVkIHRoZSBBcnJheVJlZmVyZW5jZSBDb21tYW5kU2V0LgoKMjAwNS0wNy0yNiAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9UaHJlYWRHcm91cFJlZmVyZW5jZUNvbW1hbmRTZXQuamF2YToKCUltcGxlbWVudGVkIHRoZSBUaHJlYWRHcm91cFJlZmVyZW5jZSBDb21tYW5kU2V0LgoKMjAwNS0wNy0yNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGNsYXNzcGF0aC8yMjk4OToKCSogamF2YS9uZXQvSW5ldDRBZGRyZXNzLmphdmEgKGlzTUNOb2RlTG9jYWwpOiBVc2Ugc3VwZXIgY2FsbC4KCShpc01DT3JnTG9jYWwpOiBMaWtld2lzZS4KCjIwMDUtMDctMjYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL1BLSVhDZXJ0UGF0aFZhbGlkYXRvckltcGwuamF2YQoJKGVuZ2luZVZhbGlkYXRlKTogRml4IHNlbnNlIG9mIHRlc3QuICBQUiBjbGFzc3BhdGgvMjI5OTEuCgoyMDA1LTA3LTI2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgY2xhc3NwYXRoLzIyOTkyOgoJKiBqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2wuamF2YSAoZ2V0U2FzbENsaWVudEZhY3Rvcmllcyk6IEZpeAoJc2Vuc2Ugb2YgdGVzdC4KCShnZXRTYXNsU2VydmVyRmFjdG9yaWVzKTogTGlrZXdpc2UuCgoyMDA1LTA3LTI2ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhIChyZXBhaW50VGltZXIpOiBNYWtlCglkYWVtb24gdGhyZWFkLgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzLmphdmEsCgluYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jOiBBZGQKCXN0YXRpYyBpbml0aWFsaXplci4KCShpbml0U3RhdGljU3RhdGUpOiBOZXcgbWV0aG9kLgoJQWRkIG5ldyBnbG9iYWwgZ3JhcGhpY3MgcmVmZXJlbmNlIHN0YXRlIHRhYmxlIGFuZCBtYWNyb3MuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmg6IFJlZ2VuZXJhdGUuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmM6IFVzZSBuZXcKCU5TQV9HRVRfR19QVFIgbWFjcm8gdG8gcmV0cmVpdmUgZ3JhcGhpY3Mgb2JqZWN0cy4KCSogbmF0aXZlL2puaS9ndGstcGVlci9ndGtwZWVyLmg6IEFkZCBuZXcgZ3JhcGhpY3Mgc3RhdGUgdGFibGUgYW5kCgltYWNyb3MuCgoyMDA1LTA3LTI2ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShLZXlIYW5kbGVyLmtleVByZXNzZWQpOiBSZXBsYWNlZCBjYWxscyB0byBLZXlFdmVudC5pc1NoaWZ0RG93bigpIGFuZAoJaXNDb250cm9sRG93bigpIHdpdGggbWFzayBjb21wYXJpc29ucyBvZiBLZXlFdmVudC5nZXRNb2RpZmllcnMoKSBhbmQKCUlucHV0RXZlbnQuU0hJRlRfTUFTSyBhbmQgQ1RSTF9NQVNLLiAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gaWdub3JlCglpbnZhbGlkIG1vZGlmaWVycy4KCjIwMDUtMDctMjYgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IEltcGxlbWVudGVkIENUUkwtU1BBQ0Uga2V5IGFjdGlvbi4KCjIwMDUtMDctMjYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvc2VjdXJpdHkvY2VydC9YNTA5Q2VydFNlbGVjdG9yLmphdmEgKG1hdGNoKTogQ29udmVydCBzaWdJZAoJdG8gU3RyaW5nIGJlZm9yZSBjb21wYXJpc29uLiAgUFIgY2xhc3NwYXRoLzIyOTg3LgoKMjAwNS0wNy0yNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvc2VjdXJpdHkvT0lELmphdmE6IFR5cG8gZml4LgoKMjAwNS0wNy0yNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc2VjdXJpdHkvYXV0aC94NTAwL1g1MDBQcmluY2lwYWwuamF2YSAoZ2V0TmFtZSk6IERvbid0Cgljb21wYXJlIG9pZCB0byBTdHJpbmcuICBQUiBjbGFzc3BhdGgvMjI5ODguCgoyMDA1LTA3LTI2ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhIChyZXBhaW50KTogUmV1c2UKCXJlcGFpbnQgdGltZXIgYWNyb3NzIHJlcGFpbnQgY2FsbHMuCgoyMDA1LTA3LTI2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RBY3Rpb24uamF2YQoJRml4ZWQgLyBBZGRlZCBBUEkgZG9jIGNvbW1lbnRzIGZvciB0aGUgY2xhc3MgZGVzY3JpcHRpb24uCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdENlbGxFZGl0b3IuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0TGlzdE1vZGVsLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdFNwaW5uZXJNb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvQWN0aW9uTWFwLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9Cb3JkZXJGYWN0b3J5LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9Cb3guamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0JveExheW91dC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvQnV0dG9uR3JvdXAuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0NlbGxSZW5kZXJlclBhbmUuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0NvbXBvbmVudElucHV0TWFwLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9EZWJ1Z0dyYXBoaWNzLmphdmE6IExpa2V3aXNlLgoKMjAwNS0wNy0yNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS90ZXh0L0RhdGVGb3JtYXQuamF2YSAoZXF1YWxzKTogUmVpbXBsZW1lbnQuCgoyMDA1LTA3LTI2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShwYWludCk6IE9ubHkgY2FsbCBwYWludEZvY3VzIGlmIHRoZSBidXR0b24gaXMgYWN0dWFsbHkgZm9jdXNlZC4KCShwYWludEZvY3VzKTogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gaW4gdGhlIEJhc2ljTG9va0FuZEZlZWwKCWRvZXMgbm90aGluZy4gSSByZW1vdmVkIHRoZSBjb2RlIGhlcmUuCgoyMDA1LTA3LTI2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBuZXcgYm9yZGVycyBmb3IgTWVudUJhciBhbmQgTWVudUl0ZW0uCgoyMDA1LTA3LTI2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS91dGlsL1Byb3BlcnRpZXMuamF2YQoJKGdldFByb3BlcnR5SW50ZXJuYWwpOiBOZXcgbWV0aG9kLiBBdm9pZHMgaW5maW5pdGUgcmVjdXJzaW9uIGlmCglnZXRQcm9wZXJ0eSgpIG1ldGhvZHMgYXJlIG92ZXJyaWRkZW4gaW4gc3ViY2xhc3Nlcy4KCShnZXRQcm9wZXJ0eShTdHJpbmcpKTogVXNlIGdldFByb3BlcnR5SW50ZXJuYWwgdG8gYXZvaWQgcmVjdXJzaW9uLgoJKGdldFByb3BlcnR5KFN0cmluZyxTdHJpbmcpKTogTGlrZXdpc2UuCgoyMDA1LTA3LTI2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsUGFuZVVJLmphdmEKCShnZXRQcmVmZXJyZWRTaXplKTogUmVtb3ZlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IFJlbW92ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YQoJKGdldFByZWZlcnJlZFNpemUpOiBSZW1vdmVkLgoKMjAwNS0wNy0yNiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9BV1RVdGlsaXRpZXMuamF2YToKCUZpeGVkIGZvcm1hdHRpbmcgb2YgdGhpcyBmaWxlLgoKMjAwNS0wNy0yNiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCb3JkZXJzLmphdmE6CgkoTWVudUJhckJvcmRlcik6IG5ldyBpbm5lciBjbGFzcy4KCjIwMDUtMDctMjYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhOgoJKE1lbnVJdGVtQm9yZGVyKTogbmV3IGlubmVyIGNsYXNzLgoJCjIwMDUtMDctMjYgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbC5jCgkoSmF2YV9nbnVfamF2YV9uaW9fY2hhbm5lbHNfRmlsZUNoYW5uZWxJbXBsX2luaXQpOiBNYXJrIGNsYXp6IGFzCgl1bnVzZWQuIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGNvbnN0cnVjdG9yIGFuZCBvYmouCgkoSmF2YV9nbnVfamF2YV9uaW9fY2hhbm5lbHNfRmlsZUNoYW5uZWxJbXBsX2ltcGxDbG9zZUNoYW5uZWwpOiBSZXRyeQoJd2hlbiBpbnRlcnJ1cHRlZC4KCShKYXZhX2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGxfYXZhaWxhYmxlKTogTGlrZXdpc2UuCgoyMDA1LTA3LTI2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmEgKGxvY2tDaGVjayk6IE5ldyBtZXRob2QuCgkodHJ5TG9jayk6IFVzZSBsb2NrQ2hlY2soKS4KCShsb2NrKTogTGlrZXdpc2UuCgoyMDA1LTA3LTI2ICBDaHJpc3RpYW4gVGhhbGluZ2VyICA8dHdpc3RpQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCgkqIG5hdGl2ZS90YXJnZXQvZ2VuZXJpYy90YXJnZXRfZ2VuZXJpY19uZXR3b3JrLmgKCShUQVJHRVRfTkFUSVZFX05FVFdPUktfU09DS0VUX1NFVF9PUFRJT05fU09fVElNRU9VVCk6IEFkZGVkIAoJbWlzc2luZyBzeXMvdGltZS5oIGluY2x1ZGUuCgoyMDA1LTA3LTI2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmEgKGRlc2NyaXB0aW9uKToKCU5ldyBmaW5hbCBmaWVsZC4KCShGaWxlQ2hhbm5lbEltcGwpOiBTZXQgZGVzY3JpcHRpb24uCgkoaW5pdCk6IExpa2V3aXNlLgoJKHRvU3RyaW5nKTogTmV3IG1ldGhvZC4KCUFsbCBtZXRob2RzIGFkZCBwYXJhbWV0ZXJzIHdoZW4gdGhyb3dpbmcgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uLgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGwuYwoJKG9wZW4pOiBBZGQgZmlsZW5hbWUgdG8gRmlsZU5vdEZvdW5kRXhjZXB0aW9uLgoKMjAwNS0wNy0yNiAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIE5FV1M6IEFkZGVkIGNvbW1lbnQgYWJvdXQgbmV3IFZNUHJveHkgY2xhc3MuCgkqIGdudS9jbGFzc3BhdGgvQ29uZmlndXJhdGlvbi5qYXZhLmluCgkoSEFWRV9OQVRJVkVfR0VUX1BST1hZX0NMQVNTKTogUmVtb3ZlZC4KCShIQVZFX05BVElWRV9HRVRfUFJPWFlfREFUQSk6IFJlbW92ZWQuCgkoSEFWRV9OQVRJVkVfR0VORVJBVEVfUFJPWFlfQ0xBU1MpOiBSZW1vdmVkLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9Qcm94eS5qYXZhCgkoZ2V0UHJveHlDbGFzcyk6IENoYW5nZWQgdG8gY2FsbCBWTVByb3h5LgoJKGdldFByb3h5Q2xhc3MwKTogUmVtb3ZlZC4KCShnZXRQcm94eURhdGEwKTogUmVtb3ZlZC4KCShnZW5lcmF0ZVByb3h5Q2xhc3MwKTogUmVtb3ZlZC4KCShQcm94eURhdGEpOiBSZW1vdmVkIHByaXZhdGUgbW9kaWZpZXIuCgkoUE9PTCk6IFJlbW92ZWQgKHdhcyB1bnVzZWQpLgoJKElOVk9LRVNUQVRJQyk6IFJlbW92ZWQgKHdhcyB1bnVzZWQpLgoJKiB2bS9yZWZlcmVuY2UvamF2YS9sYW5nL3JlZmxlY3QvVk1Qcm94eS5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMDctMjYgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBORVdTOiBBZGRlZCBjb21tZW50IGFib3V0IG5ldyBWTSBob29rIGluIFZNQ2xhc3NMb2FkZXIuCgoyMDA1LTA3LTI2ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EYXRlRm9ybWF0dGVyLmphdmE6IEFQSSBkb2MgZml4ZXMsCgkqIGphdmF4L3N3aW5nL3RleHQvSW50ZXJuYXRpb25hbEZvcm1hdHRlci5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhOiBsaWtld2lzZS4KCQoyMDA1LTA3LTI2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbSAoY2xlYW4tbG9jYWwpOiBVc2Ugcm0gLXJmLgoKMjAwNS0wNy0yNiAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIHZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1DbGFzc0xvYWRlci5qYXZhCgkoVVNFX1ZNX0NBQ0hFKTogUmVtb3ZlZCBmaW5hbCBtb2RpZmllci4KCjIwMDUtMDctMjUgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEgKHJlcGFpbnQpOiBJbXBsZW1lbnQKCXRpbWVkIHJlcGFpbnQuCgkodXBkYXRlQ3Vyc29ySW1tZWRpYXRlbHkpOiBJbXBsZW1lbnQuCgkoUmVwYWludFRpbWVyVGFzayk6IE5ldyBjbGFzcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlQ29uc3VtZXIuamF2YSAoaW1hZ2VDb21wbGV0ZSk6CglEb24ndCByZW1vdmUgY29uc3VtZXIgaWYgc291cmNlIGlzIGEgTWVtb3J5SW1hZ2VTb3VyY2UuCgoyMDA1LTA3LTI1ICBBcmNoaWUgQ29iYnMgIDxhcmNoaWVAZGVsbHJvYWQub3JnPgoKCSogbmF0aXZlL2puaS9jbGFzc3BhdGgvbmF0aXZlX3N0YXRlLmM6IGFkZCBhc3NlcnRpb24gZm9yIG9iamVjdCB0eXBlCgoyMDA1LTA3LTI1ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShLZXlIYW5kbGVyLmFkdmFuY2VTaW5nbGVTZWxlY3Rpb24pOiBOZXcgbWV0aG9kLiAgSGVscGVyIG1ldGhvZCBmb3IgCglFTlRFUiwgU0hJRlQtRU5URVIsIFRBQiwgYW5kIFNISUZULVRBQiBrZXkgZXZlbnRzLgoJKEtleUhhbmRsZXIuYWR2YW5jZU11bHRpcGxlU2VsZWN0aW9uKTogTGlrZXdpc2UsIHVzZWQgd2hlbiB0aGUgdGFibGUKCWhhcyBtdWx0aXBsZSBzZWxlY3Rpb25zIGF0IHRoZSB0aW1lIHRoYXQgRU5URVIgb3IgVEFCIHdhcyBwcmVzc2VkLgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IEltcGxlbWVudGVkIFRBQiwgU0hJRlQtVEFCLCBhbmQgU0hJRlQtRU5URVIKCWFuZCBtZXJnZWQgdGhlc2Ugd2l0aCBleGlzdGluZyBjb2RlIGZvciBFTlRFUiBldmVudCwgYmVjYXVzZSBvZiB0aGUKCXNpbWlsYXJpdGVzLgoKMjAwNS0wNy0yNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS90ZXh0L0NvbGxhdGlvbktleS5qYXZhIChlcXVhbHMpOiBVc2UgQXJyYXlzLmVxdWFscy4KCVBSIGNsYXNzcGF0aC8yMjk4Ni4KCjIwMDUtMDctMjUgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvdXRpbC9Qcm9wZXJ0aWVzLmphdmEgKGxvYWQpOiBIYW5kbGUgY2FzZSB3aGVyZSBiYWNrc2xhc2gKCWFwcGVhcnMgYXQgRU9GIHdoZW4gcmVhZGluZyB0aGUga2V5LiAgUFIgY2xhc3NwYXRoLzIyOTk0LgoKMjAwNS0wNy0yNSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHBhaW50KTogbW92ZWQgY29kZSB0byBwYWludE5vZGUKCShnZXRDZWxsQm91bmRzKTogd2lkdGggaW5jcmVhc2VkLCBzbGlnaHRseSBzaG9ydCBiZWZvcmUKCShwYWludE5vZGUpOiBjaGFuZ2VkIHRvIHBhaW50IG5vZGUgZGVwZW5kaW5nIGlmIGljb25zIGV4aXN0CgoyMDA1LTA3LTI1ICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKICAgICAgICAqIG5hdGl2ZS9qbmkvY2xhc3NwYXRoL2pjbC5jLAogICAgICAgIG5hdGl2ZS9qbmkvY2xhc3NwYXRoL2pjbC5oCiAgICAgICAgKEpDTF9OZXdSYXdEYXRhT2JqZWN0KTogTmV3IGZ1bmN0aW9uLgogICAgICAgIChKQ0xfR2V0UmF3RGF0YSk6IE5ldyBmdW5jdGlvbi4KCjIwMDUtMDctMjUgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YToKCShzZXRGb2N1c1RyYXZlcnNhbEtleXMpOiBJbnN0YW50aWF0ZSBmb2N1c1RyYXZlcnNhbEtleXMgdG8gYW4gYXJyYXkgb2YKCXNpemUgNCwgbm90IDMuICBUaGlzIG11c3QgaGF2ZSBiZWVuIGEgdHlwby4KCjIwMDUtMDctMjUgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL3JtaS9zZXJ2ZXIvUk1JQ2xhc3NMb2FkZXIuamF2YQoJKGxvYWRDbGFzcyhTdHJpbmcsIFN0cmluZykpOiBVc2UgQ2xhc3MuZm9yTmFtZSgpIGluc3RlYWQgb2YKCWRpcmVjdGx5IGNhbGxpbmcgQ2xhc3NMb2FkZXIubG9hZENsYXNzKCksIHRvIGhhbmRsZSBhcnJheQoJdHlwZXMgY29ycmVjdGx5LgoKMjAwNS0wNy0yNSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhOgoJKHNlbGVjdEFsbCk6IFN0b3JlIHRoZSBsZWFkIHNlbGVjdGlvbiBpbmRpY2VzIGFuZCByZXN0b3JlIHRoZW0gYWZ0ZXIKCXNlbGVjdGluZyBhbGwgY2VsbHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmE6CgkoS2V5SGFuZGxlci5rZXlQcmVzc2VkKTogQ2hhbmdlZCB0aGUgY3JpdGVyaWEgZm9yICJvbmx5IG9uZSBzZWxlY3Rpb24iCgl3aGVuIHRoZSBFTlRFUiBrZXkgaXMgcHJlc3NlZCB0byBtYXRjaCB0aGUgYmVoYXZpb3Igb2YgdGhlIEpESy4gIEFsc28KCXJlcGxhY2VkIGRpcmVjdCBjb2RlIGZvciBDVFJMLUEgd2l0aCBjYWxsIHRvIEpUYWJsZS5zZWxlY3RBbGwoKS4KCjIwMDUtMDctMjUgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YQoJKGxvYWRlZENsYXNzZXMpOiBTZXQgYmFzZWQgb24gVk1DbGFzc0xvYWRlci5WTV9VU0VfQ0FDSEUuCgkoZGVmaW5lQ2xhc3MpOiBNb2RpZmllZCB0byByZXNwZWN0IFZNQ2xhc3NMb2FkZXIuVk1fVVNFX0NBQ0hFLgoJKiB2bS9yZWZlcmVuY2UvamF2YS9sYW5nL1ZNQ2xhc3NMb2FkZXIuamF2YQoJKFZNX1VTRV9DQUNIRSk6IE5ldyBmaWVsZC4KCjIwMDUtMDctMjUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBnbnUvamF2YS9hd3QvQVdUVXRpbGl0aWVzLmphdmE6CglBZGRlZCBtZXRob2RzIGZyb20gU3dpbmdVdGlsaXRpZXMgc28gdGhhdCBBV1QgZG9lcyBub3QgaGF2ZSB0bwoJZGVwZW5kIG9uIFN3aW5nLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YToKCVJldmVydGVkIG15IERFRkFVTFRfRk9OVCBwYXRjaCBmcm9tIHllc3RlcmRheS4gVGhpcyBkb2VzIG5vdAoJc2VlbSB0byB3b3JrIHdpdGggdGhlIEd0ayBwZWVycy4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShhZGRJbXBsKTogQ2FsbCBhZGROb3RpZnkoKSBvbiB0aGUgYWRkZWQgY2hpbGQuIEludmFsaWRhdGUgbm90Cglvbmx5IHRoZSBjb250YWluZXIgYnV0IGFsc28gdGhlIGFkZGVkIGNoaWxkLiBSZXBhaW50IHRoZSBjb250YWluZXIuCgkocmVtb3ZlKTogUmVwYWludCB0aGUgY29udGFpbmVyLgoJKGludmFsaWRhdGUpOiBBbHNvIGludmFsaWRhdGUgdGhlIExheW91dE1hbmFnZXIuCgkoaW52YWxpZGF0ZVRyZWUpOiBDYWxsIHN1cGVyLmludmFsaWRhdGUgdG8gaW52YWxpZGF0ZSB0aGUgY29udGFpbmVyCglpdHNlbGYuIEFsc28gaW52YWxpZGF0ZSB0aGUgTGF5b3V0TWFuYWdlci4KCShzZXRGb250KTogT25seSBzZXQgdGhlIGZvbnQgaWYgdGhlIHNwZWNpZmllZCBhcmd1bWVudCBhY3R1YWxseQoJZGlmZmVycyBmcm9tIHRoZSBjdXJyZW50IGZvbnQuCgkocHJlZmVycmVkU2l6ZSk6IE9wdGltaXplZCB0aGlzIG1ldGhvZCBzbyB0aGUgTGF5b3V0TWFuYWdlciBpcyBvbmx5CgljYWxsZWQgaWYgdGhlIGxheW91dCBpcyBpbnZhbGlkLiBPdGhlcndpc2Ugd2UgcmV0dXJuIHRoZSBwcmVmZXJyZWQKCXNpemUgdGhhdCBoYXMgYmVlbiBzdG9yZWQgZHVyaW5nIGxhc3QgdmFsaWRhdGlvbi9sYXlvdXQuCgkoZ2V0QWxpZ25tZW50WCk6IERlc3BpdGUgY29tbW9uIGJlbGllZiwgdGhpcyBtZXRob2QgZG9lcyBfbm90XwoJY2FsbCB0aGUgTGF5b3V0TWFuYWdlcnMgZ2V0QWxpZ25tZW50WCBpbiB0aGUgSkRLLiBTbyB3ZSBhbHNvIGRvbid0LgoJKGdldEFsaWdubWVudFkpOiBEZXNwaXRlIGNvbW1vbiBiZWxpZWYsIHRoaXMgbWV0aG9kIGRvZXMgX25vdF8KCWNhbGwgdGhlIExheW91dE1hbmFnZXJzIGdldEFsaWdubWVudFggaW4gdGhlIEpESy4gU28gd2UgYWxzbyBkb24ndC4KCShkaXNwYXRjaEV2ZW50SW1wbCk6IExldCB0aGUgZGlzcGF0Y2hlciBkZWNpZGUgaWYgaXQgaXMgZW5hYmxlZAoJZm9yIHRoZSBpbmNvbWluZyBldmVudCB0eXBlLgoJKGV2ZW50VHlwZUVuYWJsZWQpOiBFbmFibGVzIG9ubHkgY29udGFpbmVyIGV2ZW50cyBmb3IgY29udGFpbmVycy4KCShhZGROb3RpZnlDb250YWluZXJDaGlsZHJlbik6IENvYWxlc2NlZCB0d28gaWYgc3RhdGVtZW50cyBpbnRvIG9uZS4KCUVuYWJsZSBldmVudHMgb24gdGhlIGRpc3BhdGNoZXIgZm9yIHRoaXMgY29udGFpbmVyLgoJKExpZ2h0d2VpZ2h0RGlzcGF0Y2hlcik6IE1hZGUgdGhpcyBjbGFzcyByZWVudHJhbnQuIEhhbmRsZQoJZXZlbnRzIGVuYWJsaW5nL2Rpc2FibGluZyBoZXJlLgoKMjAwNS0wNy0yNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGdudS9qYXZhL25pby9jaGFubmVscy9GaWxlQ2hhbm5lbEltcGwuamF2YQoJKHN0YXRpYyBpbml0aWFsaXplcik6IEluaXQgb3V0LCBlcnIgYW5kIGluIGhlcmUuCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbC5jCgkoSmF2YV9nbnVfamF2YV9uaW9fY2hhbm5lbHNfRmlsZUNoYW5uZWxJbXBsX2luaXQpOiBNb3ZlZCBpbml0IGNvZGUKCWZvciBpbiwgb3V0IGFuZCBlcnIgdG8gSmF2YSBjb2RlLgoKMjAwNS0wNy0yNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL3d3dy5nbnUub3JnL2ZhcS53bWw6IEV4cGFuZCBjb250cmlidXRpb24gYXNzaWduIGFuc3dlci4KCjIwMDUtMDctMjUgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9Db252b2x2ZU9wLmphdmE6CgkoZ2V0S2VybmVsKTogcmV0dXJuIGEgY2xvbmUgb2YgdGhlIGtlcm5lbC4KCjIwMDUtMDctMjUgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YQoJKGZpbmRMb2FkZWRDbGFzcyk6IENhbGwgVk1DbGFzc0xvYWRlci5maW5kTG9hZGVkQ2xhc3MuCgkqIHZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1DbGFzc0xvYWRlci5qYXZhCgkoZmluZExvYWRlZENsYXNzKTogTmV3IG1ldGhvZC4KCjIwMDUtMDctMjMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGxpYi9zdGFuZGFyZC5vbWl0OiBEb24ndCBvbWl0IGdudS9qYXZheC9zd2luZy9wbGFmL2d0ayBmaWxlcy4KCSogbGliL01ha2VmaWxlLmFtIChkaXN0LWhvb2spOiBEb24ndCByZW1vdmUgc3RhbmRhcmQub21pdCBkaXJzLgoKCSogZ251L2phdmF4L3N3aW5nL3BsYWYvZ3RrL0d0a0JvcmRlcnMuamF2YTogUmVtb3ZlZC4KCSogZ251L2phdmF4L3N3aW5nL3BsYWYvZ3RrL0d0a0NoZWNrQm94VUkuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZheC9zd2luZy9wbGFmL2d0ay9HdGtJY29uRmFjdG9yeS5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmF4L3N3aW5nL3BsYWYvZ3RrL0d0a0xvb2tBbmRGZWVsLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YXgvc3dpbmcvcGxhZi9ndGsvR3RrUmFkaW9CdXR0b25VSS5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmF4L3N3aW5nL3BsYWYvZ3RrL0d0a1NsaWRlclVJLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YXgvc3dpbmcvcGxhZi9ndGsvUkVBRE1FOiBMaWtld2lzZS4KCSogZ251L2phdmF4L3N3aW5nL3BsYWYvZ3RrL1NsaWRlclRlc3QuamF2YTogTGlrZXdpc2UuCgoyMDAzLTA3LTIzICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogY29uZmlndXJlLmFjIChBQ19DSEVDS19IRUFERVJTKTogYWRkICdzeXMvbW1hbi5oJy4KCShBQ19DSEVDS19GVU5DUyk6IGFkZCBtbWFwIGFuZCByZWxhdGVkIGZ1bmN0aW9ucy4KCSogaW5jbHVkZS9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXIuaDogcmVnZW5lcmF0ZWQuCgkqIGphdmEvbmlvL0RpcmVjdEJ5dGVCdWZmZXJJbXBsLmphdmEgKHB1dCk6IG5ldyBtZXRob2QuCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbC5jCgkoQUxJR05fRE9XTik6IG5ldyBtYWNyby4KCShBTElHTl9VUCk6IG5ldyBtYWNyby4KCShKYXZhX2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGxfbWFwSW1wbCk6IGltcGxlbWVudGVkLgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2phdmFfbmlvX01hcHBlZEJ5dGVCdWZmZXJJbXBsLmM6IHVwZGF0ZWQKCWNvcHlyaWdodCB5ZWFycy4KCShBTElHTl9ET1dOKTogbmV3IG1hY3JvLgoJKEFMSUdOX1VQKTogbmV3IG1hY3JvLgoJKGdldF9wYWdlc2l6ZSk6IG5ldyBmdW5jdGlvbi4KCShnZXRfcmF3X3ZhbHVlcyk6IG5ldyBmdW5jdGlvbi4KCShKYXZhX2phdmFfbmlvX01hcHBlZEJ5dGVCdWZmZXJJbXBsX3VubWFwSW1wbCk6IGltcGxlbWVudGVkLgoJKEphdmFfamF2YV9uaW9fTWFwcGVkQnl0ZUJ1ZmZlckltcGxfaXNMb2FkZWRJbXBsKTogaW1wbGVtZW50ZWQuCgkoSmF2YV9qYXZhX25pb19NYXBwZWRCeXRlQnVmZmVySW1wbF9sb2FkSW1wbCk6IGltcGxlbWVudGVkLgoJKEphdmFfamF2YV9uaW9fTWFwcGVkQnl0ZUJ1ZmZlckltcGxfZm9yY2VJbXBsKTogaW1wbGVtZW50ZWQuCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vamF2YV9uaW9fVk1EaXJlY3RCeXRlQnVmZmVyLmMKCShKYXZhX2phdmFfbmlvX1ZNRGlyZWN0Qnl0ZUJ1ZmZlcl9wdXQpOiByZW5hbWVkIHRvCgknSmF2YV9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXJfcHV0X19MZ251X2NsYXNzcGF0aF9SYXdEYXRhXzJJQi4nCgkoSmF2YV9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXJfZ2V0X19MZ251X2NsYXNzcGF0aF9SYXdEYXRhXzJJXzNCSUkpOgoJY2FsbCAnUmVsZWFzZUJ5dGVBcnJheUVsZW1lbnRzJyBvbiB0aGUgc291cmNlIGJ5dGUgYXJyYXkgZWxlbWVudHMuCgkoSmF2YV9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXJfcHV0X19MZ251X2NsYXNzcGF0aF9SYXdEYXRhXzJJXzNCSUkpOgoJbmV3IG1ldGhvZC4KCSogdm0vcmVmZXJlbmNlL2phdmEvbmlvL1ZNRGlyZWN0Qnl0ZUJ1ZmZlci5qYXZhIChwdXQpOiBuZXcgbWV0aG9kLgoKMjAwNS0wNy0yMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0JvdW5kZWRSYW5nZU1vZGVsLmphdmE6IGFkZGVkL3VwZGF0ZWQgQVBJIGRvYyBjb21tZW50cy4KCjIwMDUtMDctMjMgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9JY29uLmphdmE6IGFkZGVkIEFQSSBkb2MgY29tbWVudHMuCgoyMDA1LTA3LTIzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS90ZXh0L0F0dHJpYnV0ZWRTdHJpbmcuamF2YTogQVBJIGRvYyBmaXhlcywKCSogamF2YS90ZXh0L0Nob2ljZUZvcm1hdC5qYXZhOiBsaWtld2lzZSwKCSogamF2YS90ZXh0L0NvbGxhdGlvbkVsZW1lbnRJdGVyYXRvci5qYXZhOiBsaWtld2lzZSwKCSogamF2YS90ZXh0L0NvbGxhdGlvbktleS5qYXZhOiBsaWtld2lzZSwKCSogamF2YS90ZXh0L0NvbGxhdG9yLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3RleHQvRGF0ZUZvcm1hdC5qYXZhOiBsaWtld2lzZSwKCSogamF2YS90ZXh0L0RhdGVGb3JtYXRTeW1ib2xzLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3RleHQvRGVjaW1hbEZvcm1hdFN5bWJvbHMuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvdGV4dC9NZXNzYWdlRm9ybWF0LmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3RleHQvTnVtYmVyRm9ybWF0LmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3RleHQvUGFyc2VFeGNlcHRpb24uamF2YTogbGlrZXdpc2UsCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3RleHQvU3RyaW5nQ2hhcmFjdGVySXRlcmF0b3IuamF2YTogbGlrZXdpc2UuCgoyMDA1LTA3LTIzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvSW1hZ2VJY29uLmphdmE6IEFQSSBkb2MgZml4ZXMsCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvSlNwbGl0UGFuZS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvUmVwYWludE1hbmFnZXIuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL1NvcnRpbmdGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhLgoJCjIwMDUtMDctMjMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRMb2NhdG9yT3BlcmF0aW9ucy5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudEFjdGl2YXRvck9wZXJhdGlvbnMuamF2YToKICAgICAgICBJbmhlcml0IGZyb20gU2VydmFudE1hbmFnZXJPcGVyYXRpb25zLgogICAgICAgICogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9DdXJyZW50T3BlcmF0aW9ucy5qYXZhOgogICAgICAgIEluaGVyaXQgZnJvbSBvcmcub21nLkNPUkJBLkN1cnJlbnRPcGVyYXRpb25zLgogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvRm9yd2FyZFJlcXVlc3RIZWxwZXIuamF2YTogTmV3IGZpbGUuCgoyMDA1LTA3LTIzICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvYXd0L0xpc3QuamF2YSAoTGlzdCk6IEluaXRpYWxpemUgc2VsZWN0ZWRbXSB0byBhbiBlbXB0eSBhcnJheS4KCjIwMDUtMDctMjMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgKiBORVdTOiBBZGRlZCBlbnRyeSBhYm91dCBQT0EuCgoyMDA1LTA3LTIyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9SZXF1ZXN0UHJvY2Vzc2luZ1BvbGljeU9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRSZXRlbnRpb25Qb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9UaHJlYWRQb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9JZEFzc2lnbm1lbnRQb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9JZFVuaXF1ZW5lc3NQb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9JbXBsaWNpdEFjdGl2YXRpb25Qb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9MaWZlc3BhblBvbGljeU9wZXJhdGlvbnMuamF2YToKICAgICAgICBJbmhlcml0IGZyb20gUG9saWN5T3BlcmF0aW9ucy4KCjIwMDUtMDctMjIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IElmIHJvdyBzZWxlY3Rpb24gaXMgbm90IGFsbG93ZWQgaW4gdGhlIHRhYmxlLAoJdGhlbiBjb25zaWRlciBhbGwgcm93cyBvZiBhIHBhcnRpY3VsYXIgY29sdW1uIHNlbGVjdGVkIHdoZW4geW91IGdldCBhbgoJRU5URVIga2V5IGV2ZW50LiAgVGhpcyBtYXRjaGVzIEpESyBiZWhhdmlvdXIgYW5kIGZpeGVzIGFuIG91dCBvZiAKCWJvdW5kcyBlcnJvci4gIEFsc28sIHdyYXBwZWQgbGluZXMgYXQgODAgY2hhcnMuCgoyMDA1LTA3LTIyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShwYWludCk6IE9ubHkgaGlnaGxpZ2h0IHRoZSBib3JkZXIgb2YgYSB0YWJsZSBjZWxsIGlmIGl0IGlzIHRoZSBtb3N0CglyZWNlbnRseSB1cGRhdGVkIGNlbGwuCgoyMDA1LTA3LTIyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJKHBhaW50Q2VsbCk6IEZpeGVkIG1pc25hbWVkIHZhcmlhYmxlLgoKMjAwNS0wNy0yMiAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPiAKICAgICAgICAKICAgICAgICAqIGdudS9DT1JCQS9Qb2EvZ251UE9BLmphdmEsCiAgICAgICAgZ251L0NPUkJBL1BvYS9nbnVQT0FNYW5hZ2VyLmphdmEsCiAgICAgICAgZ251L0NPUkJBL1BvYS9hY3RpdmVPYmplY3RNYXAuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL2dudUFkYXB0ZXJBY3RpdmF0b3IuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL2dudVNlcnZhbnRPYmplY3QuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL3NlcnZhbnREZWxlZ2F0ZS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvT1JCXzFfNC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvcG9saWN5U2V0cy5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvZ251UG9hQ3VycmVudC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvTG9jYWxEZWxlZ2F0ZS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvZHluSW1wSGFuZGxlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvTG9jYWxTZXJ2ZXJSZXF1ZXN0LmphdmEsCiAgICAgICAgZ251L0NPUkJBL1BvYS9Mb2NhbFJlcXVlc3QuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL0ZvcndhcmRlZFNlcnZhbnQuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL2dudUlkQXNzaWdubWVudFBvbGljeS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvZ251UmVxdWVzdFByb2Nlc3NpbmdQb2xpY3kuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL2dudVRocmVhZFBvbGljeS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvZ251TGlmZXNwYW5Qb2xpY3kuamF2YSwKICAgICAgICBnbnUvQ09SQkEvUG9hL2dudUlkVW5pcXVlbmVzc1BvbGljeS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvZ251U2VydmFudFJldGVudGlvblBvbGljeS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvZ251SW1wbGljaXRBY3RpdmF0aW9uUG9saWN5LmphdmEsCiAgICAgICAgZ251L0NPUkJBL1BvYS9nbnVGb3J3YXJkUmVxdWVzdC5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Gb3J3YXJkUmVxdWVzdEhlbHBlci5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvdlBvbGljeS5qYXZhLAogICAgICAgIGdudS9DT1JCQS9Qb2EvRm9yd2FyZFJlcXVlc3RIb2xkZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQS5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BTWFuYWdlck9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQU9wZXJhdGlvbnMuamF2YSwgICAgICAgIAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudC5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvRHluYW1pY0ltcGxlbWVudGF0aW9uLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9TZXJ2YW50QWN0aXZhdG9yLmphdmEsICAgICAgICAKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRBY3RpdmF0b3JPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9TZXJ2YW50TG9jYXRvci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudExvY2F0b3JPcGVyYXRpb25zLmphdmEsICAgICAgICAKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRNYW5hZ2VyLmphdmEsICAgICAgICAgICAgICAgCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9DdXJyZW50LmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9DdXJyZW50SGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9DdXJyZW50T3BlcmF0aW9ucy5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvX1NlcnZhbnRMb2NhdG9yU3R1Yi5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvcG9ydGFibGUvRGVsZWdhdGUuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRBY3RpdmF0b3JIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL19TZXJ2YW50QWN0aXZhdG9yU3R1Yi5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudExvY2F0b3JIZWxwZXIuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRBY3RpdmF0b3JQT0EuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRMb2NhdG9yUE9BLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9BZGFwdGVyQWN0aXZhdG9yT3BlcmF0aW9ucy5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvQWRhcHRlckFjdGl2YXRvci5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BSGVscGVyLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9TZXJ2YW50TWFuYWdlck9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQU1hbmFnZXIuamF2YSwgICAgICAgIAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvcGFja2FnZS5odG1sOiBOZXcgZmlsZXMuCiAgICAgICAgKiBvcmcvb21nL0NPUkJBL09SQi5qYXZhOiBEb2N1bWVudGVkIFBPQSBmZWF0dXJlcy4KICAgICAgICBnbnUvQ09SQkEvZ251UmVxdWVzdC5qYXZhIChfcmVsZWFzZVJlcGx5LCBlcXVhbHMpOiBNaW5kIHRoYXQKICAgICAgICB0aGUgZGVsZWdhdGUgY2FuIGJlIG51bGwuCiAgICAgICAgKiBnbnUvQ09SQkEvSU9SX0RlbGVnYXRlLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0Z1bmN0aW9uYWxfT1JCLmphdmEsCiAgICAgICAgb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9PYmplY3RJbXBsLmphdmEsCiAgICAgICAgZ251L0NPUkJBL0Nvbm5lY3RlZF9vYmplY3RzLmphdmE6IFJld3JpdHRlbi4KICAgICAgICAqIGdudS9DT1JCQS9TaW1wbGVfZGVsZWdhdGUuamF2YSAoaXNfZXF1aXZhbGVudCk6IFRoaXMgbWV0aG9kIAogICAgICAgIGlzIHJld3JpdHRlbi4KICAgICAgICAqIGdudS9DT1JCQS9TZXJ2aWNlUmVxdWVzdEFkYXB0ZXIuamF2YTogQWRkZWQgcmV0dXJuIHZhbHVlIHN1cHBvcnQuCgoyMDA1LTA3LTIyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJKHBhaW50Q2VsbCk6IFNldCBoYXNGb2N1c2VkIHRvIHRydWUgaWYgdGhlIGNlbGwgaXMgdGhlIGxlYWQgc2VsZWN0aW9uCglpbmRleCBhbmQgaWYgdGhlIGxpc3QgaGFzIGZvY3VzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBMaXN0LmZvY3VzQ2VsbEhpZ2hsaWdodEJvcmRlciBkZWZhdWx0LgoKMjAwNS0wNy0yMiAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9BcnJheVR5cGVDb21tYW5kU2V0LmphdmE6CglJbXBsZW1lbnRlZCB0aGUgQXJyYXlUeXBlIENvbW1hbmRTZXQuCgoyMDA1LTA3LTIyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBkZWZhdWx0cyBmb3IgVG9nZ2xlQnV0dG9uLgoKMjAwNS0wNy0yMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoc2V0Rm9yZWdyb3VuZCk6IEZpcmUgUHJvcGVydHlDaGFuZ2VFdmVudCBhZnRlciB0aGUgZm9yZWdyb3VuZAoJaGFzIGFjdHVhbGx5IGNoYW5nZWQsIGluc3RlYWQgb2YgYmVmb3JlLgoJKHNldEJhY2tncm91bmQpOiBGaXJlIFByb3BlcnR5Q2hhbmdlRXZlbnQgYWZ0ZXIgdGhlIGZvcmVncm91bmQKCWhhcyBhY3R1YWxseSBjaGFuZ2VkLCBpbnN0ZWFkIG9mIGJlZm9yZS4gQXZvaWQgb25lIGNvbXBhcmlzb24KCWF0IHRoZSBiZWdpbm5pbmcgb2YgbWV0aG9kLgoJKGdldEJhY2tncm91bmQpOiBJZiBiYWNrZ3JvdW5kIGlzIG51bGwgYW5kIHBhcmVudCBpcyBudWxsLCByZXR1cm4KCW51bGwsIGluc3RlYWQgb2YgU3lzdGVtQ29sb3Iud2luZG93LiBUaGlzIGlzIHdoYXQgaXQncyBzdXBwb3NlZAoJdG8gZG8uCgkoZ2V0Rm9udCk6IEF2b2lkIE5QRSBieSBjcmVhdGluZyBhIGxvY2FsIHJlZmVyZW5jZS4gUmV0dXJuCglzdGF0aWMgZmluYWwgREVGQVVMVF9GT05UIGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgZm9udCBldmVyeSB0aW1lCgl3ZSBhbmQgb3VyIHBhcmVudHMgaGF2ZSBubyBmb250IHNldC4KCShzZXRGb250KTogTWFkZSBjaGVjayBmb3IgZm9udCBlcXVhbGl0eSBtb3JlIHByZWNpc2UuCgkocGFyYW1TdHJpbmcpOiBBZGRlZCBwYXJlbnQgaW4gcGFyYW1TdHJpbmcuCgoyMDA1LTA3LTIyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlRvZ2dsZUJ1dHRvbi5qYXZhCgkoVG9nZ2xlQnV0dG9uTW9kZWwuc2V0UHJlc3NlZCk6IEZpeGVkIG9yZGVyIGluIHdoaWNoIGV2ZW50cwoJZ2V0IGZpcmVkLgoKMjAwNS0wNy0yMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhCgkoc2V0UHJlc3NlZCk6IENoYW5nZWQgb3JkZXIgaW4gd2hpY2ggdGhlIGV2ZW50cyBnZXQgZmlyZWQuIFRoZQoJQWN0aW9uRXZlbnQgbXVzdCBiZSBmaXJlZCBiZWZvcmUgdGhlIENoYW5nZUV2ZW50IGdldHMgZmlyZWQuCgoyMDA1LTA3LTIyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShzaG93KTogSW5zdGVhZCBvZiBpbnZhbGlkYXRpbmcgdGhlIGNvbXBvbmVudCwgb25seSBpbnZhbGlkYXRlCgl0aGUgcGFyZW50LCBpZiB0aGVyZSBpcyBvbmUuIEFsc28gcmVwYWludCB0aGlzIHBhcmVudC4KCUFsc28sIGF2b2lkIE5QRXMgYnkgY3JlYXRpbmcgbG9jYWwgcmVmZXJlbmNlcy4KCShoaWRlKTogSW5zdGVhZCBvZiBpbnZhbGlkYXRpbmcgdGhlIGNvbXBvbmVudCwgb25seSBpbnZhbGlkYXRlCgl0aGUgcGFyZW50LCBpZiB0aGVyZSBpcyBvbmUuIEFsc28gcmVwYWludCB0aGlzIHBhcmVudC4KCUFsc28sIGF2b2lkIE5QRXMgYnkgY3JlYXRpbmcgbG9jYWwgcmVmZXJlbmNlcy4KCjIwMDUtMDctMjIgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YTogQVBJIGRvYyBmaXhlcywKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1JhZGlvQnV0dG9uVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YTogbGlrZXdpc2UuCgoyMDA1LTA3LTIyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbENoZWNrQm94SWNvbi5qYXZhOiBBUEkgZG9jIGZpeGVzLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSWNvbkZhY3RvcnkuamF2YTogbGlrZXdpc2UuCgkKMjAwNS0wNy0yMiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRWRpdG9yS2l0LmphdmE6IEFQSSBkb2MgZml4ZXMuCgkKMjAwNS0wNy0yMiAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvQWJzdHJhY3RMYXlvdXRDYWNoZS5qYXZhOiBBUEkgZG9jIGZpeGVzLAoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbFJlbmRlcmVyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlTW9kZWwuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3RyZWUvRml4ZWRIZWlnaHRMYXlvdXRDYWNoZTogbGlrZXdpc2UuCgkKMjAwNS0wNy0yMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUb2dnbGVCdXR0b25VSS5qYXZhCgkoY29uc3RydWN0b3IpOiBJbml0aWFsaXplIGNvbG9ycy4KCShnZXRGb2N1c0NvbG9yKTogRmV0Y2hlcyB0aGUgZm9jdXMgcHJvcGVydHkgZnJvbSB0aGUgVUlEZWZhdWx0cy4KCShnZXRTZWxlY3RDb2xvcik6IEZldGNoZXMgdGhlIHNlbGVjdCBwcm9wZXJ0eSBmcm9tIHRoZSBVSURlZmF1bHRzLgoJKGdldERpc2FibGVkVGV4dENvbG9yKTogRmV0Y2hlcyB0aGUgZGlzYWJsZWRUZXh0IHByb3BlcnR5IGZyb20gdGhlCglVSURlZmF1bHRzLgoKMjAwNS0wNy0yMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmE6CgkoS2V5SGFuZGxlci51cGRhdGVTZWxlY3Rpb24pOiBVcGRhdGUgdGhlIExpc3RTZWxlY3Rpb25Nb2RlbHMgZXZlbiBpZgoJcm93U2VsZWN0aW9uQWxsb3dlZCBvciBjb2x1bW5TZWxlY3Rpb25BbGxvd2VkIGlzIGZhbHNlLiAgVGhpcwoJY29tcGxpZXMgd2l0aCB0aGUgSkRLLgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IEltcGxlbWVudGVkIHRoZSBFTlRFUiBrZXkgYWN0aW9uLgoKMjAwNS0wNy0yMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvQm9yZGVyVUlSZXNvdXJjZS5qYXZhOiBBUEkgZG9jIGZpeGVzLAoJKiBqYXZheC9zd2luZy9wbGFmL0ZpbGVDaG9vc2VyVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvVGV4dFVJLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL1VJUmVzb3VyY2UuamF2YTogbGlrZXdpc2UuCgkKMjAwNS0wNy0yMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL2V2ZW50L0V2ZW50TGlzdGVuZXJMaXN0LmphdmE6IEFQSSBkb2MgZml4ZXMsCgkqIGphdmF4L3N3aW5nL2V2ZW50L01lbnVLZXlFdmVudC5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvZXZlbnQvVHJlZVNlbGVjdGlvbkV2ZW50LmphdmE6IGxpa2V3aXNlLgoJCjIwMDUtMDctMjEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9ib3JkZXIvQWJzdHJhY3RCb3JkZXIuamF2YTogQVBJIGRvYyBmaXhlcywKCSogamF2YXgvc3dpbmcvYm9yZGVyL0JldmVsQm9yZGVyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9ib3JkZXIvRXRjaGVkQm9yZGVyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9ib3JkZXIvTGluZUJvcmRlci5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvYm9yZGVyL1NvZnRCZXZlbEJvcmRlci5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvYm9yZGVyL1RpdGxlZEJvcmRlci5qYXZhOiBsaWtld2lzZS4KCQoyMDA1LTA3LTIxICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJ1dHRvblVJLmphdmEKCShjb25zdHJ1Y3Rvcik6IEluaXRpYWxpemUgY29sb3JzLgoJKGdldEZvY3VzQ29sb3IpOiBGZXRjaGVzIHRoZSBmb2N1cyBwcm9wZXJ0eSBmcm9tIHRoZSBVSURlZmF1bHRzLgoJKGdldFNlbGVjdENvbG9yKTogRmV0Y2hlcyB0aGUgc2VsZWN0IHByb3BlcnR5IGZyb20gdGhlIFVJRGVmYXVsdHMuCgkoZ2V0RGlzYWJsZWRUZXh0Q29sb3IpOiBGZXRjaGVzIHRoZSBkaXNhYmxlZFRleHQgcHJvcGVydHkgZnJvbSB0aGUKCVVJRGVmYXVsdHMuCgoyMDA1LTA3LTIxICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEKCShyZXBsYWNlKTogTmV3IG1ldGhvZC4gUmVwbGFjZXMgYSBjaHVuayBvZiB0aGUgYnVmZmVyIHdpdGgKCWFub3RoZXIgY2h1bmsuCgoyMDA1LTA3LTIxICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RMaXN0TW9kZWwuamF2YTogQVBJIGRvYyBmaXhlcywKCSogamF2YXgvc3dpbmcvQm9yZGVyRmFjdG9yeS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvQm91bmRlZFJhbmdlTW9kZWwuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0JveExheW91dC5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvQ2VsbFJlbmRlcmVyUGFuZS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvQ29tcG9uZW50SW5wdXRNYXAuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCb3VuZGVkUmFuZ2VNb2RlbC5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvRGVmYXVsdEJ1dHRvbk1vZGVsLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9EZWZhdWx0Q2VsbEVkaXRvci5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvSW5wdXRNYXAuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0pCdXR0b24uamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0pGcmFtZS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvSkxhYmVsLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9KTWVudUJhci5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvSlNjcm9sbEJhci5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0pTZXBhcmF0b3IuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0pTcGlubmVyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9KVGV4dEFyZWEuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL1NwaW5uZXJMaXN0TW9kZWwuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL1NwcmluZy5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvU3ByaW5nTGF5b3V0LmphdmE6IGxpa2V3aXNlLgoJCjIwMDUtMDctMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IENoYW5nZWQgdG8gZGVwZW5kIG9uIHZpc2libGUgbm9kZXMuCgkobW91c2VDbGlja2VkKTogRml4ZWQgdG8ga2VlcCB0cmFjayBvZiBsYXN0IGNlbGwgY2xpY2tlZCwgc28gZXhwYW5kL2NvbGxhcHNlCgl3b3JrcyBwcm9wZXJseSBieSBjbGlja2luZyAyIHRpbWVzIG9uIHRoZSBzYW1lIGNlbGwuCgoyMDA1LTA3LTIxICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkocHV0Q2xpZW50UHJvcGVydHkpOiBJZiB2YWx1ZSA9PSBudWxsLCByZW1vdmUgdGhlIGtleSBmcm9tIHRoZQoJSGFzaHRhYmxlLCBvdGhlcndpc2Ugd2Ugd291bGQgZ2V0IGFuIE5QRSBoZXJlLgoKMjAwNS0wNy0yMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhOgoJKHRodW1iSGVpZ2h0KTogcmVtb3ZlZCwKCSh0aHVtYldpZHRoKTogcmVtb3ZlZCwKCSh0aWNrSGVpZ2h0KTogcmVtb3ZlZCwKCShpbnN0YWxsRGVmYXVsdHMpOiBkZWxldGVkIGluaXRpYWxpc2F0aW9uIG9mIHRodW1iSGVpZ2h0LCB0aHVtYldpZHRoIAoJYW5kIHRodW1iUmVjdCwKCShnZXRQcmVmZXJyZWRIb3Jpem9udGFsU2l6ZSk6IGNoYW5nZWQgc291cmNlIG9mIHRodW1iIGhlaWdodCBhbmQgd2lkdGgsCgkoZ2V0UHJlZmVycmVkVmVydGljYWxTaXplKTogbGlrZXdpc2UsCgkoZ2V0TWluaW11bUhvcml6b250YWxTaXplKTogcmVpbXBsZW1lbnRlZCwKCShnZXRNaW5pbXVtVmVydGljYWxTaXplKTogcmVpbXBsZW1lbnRlZCwKCShnZXRNaW5pbXVtU2l6ZSk6IHJlaW1wbGVtZW50ZWQsIAoJKGdldE1heGltdW1TaXplKTogcmVpbXBsZW1lbnRlZCwKCShjYWxjdWxhdGVUaHVtYlNpemUpOiB1c2UgZ2V0VGh1bWJTaXplKCksCiAgICAgICAgKGNhbGN1bGF0ZVRodW1iTG9jYXRpb24pOiB1c2UgdHJhY2tSZWN0IG5vdCBjb250ZW50UmVjdCwKCShjYWxjdWxhdGVUcmFja0J1ZmZlcik6IHVzZSBoYWxmIHRoZSB0aHVtYlJlY3QsCgkoZ2V0VGh1bWJTaXplKTogdXNlIGNvbnN0YW50IHNpemUsCgkoY2FsY3VsYXRlVHJhY2tSZWN0KTogbW92ZSB0cmFjayBkb3duIHRvIG1pZGRsZSBvZiBjb250ZW50UmVjdCwKCShnZXRUaWNrTGVuZ3RoKTogcmV0dXJuIGNvbnN0YW50LAoJKHBhaW50VHJhY2spOiByZW1vdmVkIHVudXNlZCBsb2NhbCB2YXJpYWJsZXMsCgkocGFpbnRUaWNrcyk6IGFwcGx5IGEgdHJhbnNsYXRpb24gdG8gZyB0ZW1wb3JhcmlseSBiZWZvcmUgY2FsbGluZyAKCW1ldGhvZHMgdG8gZHJhdyB0aWNrcywgYWRkIDAuNSB0byBzb2x2ZSByb3VuZGluZyBwcm9ibGVtLAoJKHBhaW50TWlub3JUaWNrRm9ySG9yaXpTbGlkZXIpOiBtb2RpZmllZCB0byBhY2NvdW50IGZvciB0cmFuc2xhdGlvbiAKCWFscmVhZHkgYXBwbGllZCB0byBnLAoJKHBhaW50TWFqb3JUaWNrRm9ySG9yaXpTbGlkZXIpOiBsaWtld2lzZSwKCShwYWludE1pbm9yVGlja0ZvclZlcnRTbGlkZXIpOiBsaWtld2lzZSwKCShwYWludE1ham9yVGlja0ZvclZlcnRTbGlkZXIpOiBsaWtld2lzZSwKCSh4UG9zaXRpb25Gb3JWYWx1ZSk6IHN1YnRyYWN0IDEgZnJvbSB3aWR0aCwKCSh5UG9zaXRpb25Gb3JWYWx1ZSk6IGxpa2V3aXNlLAoJKmphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogYWRkIHNsaWRlciBkZWZhdWx0cywKCSpqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2xpZGVyVUkuamF2YTogaW1wbGVtZW50ZWQgbWlzc2luZyAKCW1ldGhvZHMsCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhCgkobWtTbGlkZXJzKTogYWRkZWQgbWlub3IgdGlja3MgYW5kIGxhYmVscy4KCjIwMDUtMDctMjEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhCgkoaW5pdCk6IE9ubHkgc2V0IGljb24gaWYgdGhlIHN1cHBsaWVkIGljb24gaXMgbm90IG51bGwuIE90aGVyd2lzZQoJd2Ugd291bGQgb3ZlcnJpZGUgaWNvbnMgdGhhdCBhcmUgcG9zc2libHkgc2V0IGJ5IHRoZSBVSS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ljb25GYWN0b3J5LmphdmEKCShDaGVja0JveEljb24pOiBBbiBuZXcgSWNvbiBpbXBsZW1lbnRhdGlvbiB1c2VkIGZvciBDaGVja0JveGVzCglpbiB0aGUgQmFzaWMgTCZGLgoJKFJhZGlvQnV0dG9uSWNvbik6IEFuIG5ldyBJY29uIGltcGxlbWVudGF0aW9uIHVzZWQgZm9yCglSYWRpb0J1dHRvbnMgaW4gdGhlIEJhc2ljIEwmRi4KCShnZXRDaGVja0JveEljb24pOiBOb3cgcmV0dXJucyBhIChjYWNoZWQpIGluc3RhbmNlIG9mIENoZWNrQm94SWNvbgoJaW5zdGVhZCBvZiB0aGUgKHdyb25nKSBpbm5lciBpY29uIGltcGxlbWVudGF0aW9uLgoJKGdldFJhZGlvQnV0dG9uSWNvbik6IE5vdyByZXR1cm5zIGEgKGNhY2hlZCkgaW5zdGFuY2Ugb2YKCVJhZGlvQnV0dG9uSWNvbglpbnN0ZWFkIG9mIHRoZSAod3JvbmcpIGlubmVyIGljb24gaW1wbGVtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogUmVnaXN0ZXJlZCBuZXcgaWNvbnMgZm9yIENoZWNrQm94IGFuZAoJUmFkaW9CdXR0b24sIHVzaW5nIGEgTGF6eVZhbHVlIGVudHJ5LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUmFkaW9CdXR0b25VSS5qYXZhCglBZGRlZCBBUEkgZG9jdW1lbnRhdGlvbiBhbGwgb3Zlci4KCShpbnN0YWxsVUkpOiBSZW1vdmVkIHRoaXMgbWV0aG9kLgoJKGluc3RhbGxEZWZhdWx0cyk6IE5ldyBtZXRob2QuIEluc3RhbGxzIHRoZSBkZWZhdWx0IGljb25zIGlmIHRoZXJlCglpcyBubyBvdGhlciBpY29uIHNldC4KCShnZXRQcm9wZXJ0eVByZWZpeCk6IE5ldyBtZXRob2QuIFJldHVybnMgdGhlIHByZWZpeCB0aGF0IGlzIHVzZWQKCXRvIGxvb2sgdXAgVUlEZWZhdWx0IGVudHJpZXMuCgkoZ2V0RGVmYXVsdEljb24pOiBVc2UgcHJvcGVydHlQcmVmaXggaW5zdGVhZCBvZiBoYXJkY29kZWQgcHJvcGVydHkuCgkocGFpbnQpOiBOZXcgbWV0aG9kLiBPdmVycmlkZSBwYWludCBmb3IgY3VzdG9taXplZCBwYWludGluZwoJb2YgUmFkaW9CdXR0b25zLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ2hlY2tCb3hJY29uLmphdmEKCShkcmF3Q2hlY2spOiBSZXNwZWN0IHRoZSB4IGFuZCB5IHBhcmFtZXRlci4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEljb25GYWN0b3J5LmphdmEKCShSYWRpb0J1dHRvbkljb24pOiBBbiBJY29uIGltcGxlbWVudGF0aW9uIGZvciBNZXRhbCBSYWRpb0J1dHRvbnMuCgkoZ2V0UmFkaW9CdXR0b25JY29uKTogTmV3IG1ldGhvZC4gUmV0dXJucyBhIHNoYXJlZCBpbnN0YW5jZSBvZgoJUmFkaW9CdXR0b25JY29uLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IFJlZ2lzdGVyIG5ldyBpY29ucyBmb3IgQ2hlY2tCb3ggYW5kCglSYWRpb0J1dHRvbiB1c2luZyBhIExhenlWYWx1ZSBlbnRyeS4KCjIwMDUtMDctMjEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhCgkoY3JlYXRlSW50ZXJuYWxGcmFtZSk6IExvb2sgZm9yIGEgSkRlc2t0b3BQYW5lIGZpcnN0LCB0aGVuCglsb29rIGZvciBhIEpMYXllcmVkUGFuZSBhcyBmYWxsYmFjay4gU2V0IHRoaXMgSk9wdGlvblBhbmUgYXMKCWNvbnRlbnRQYW5lIGZvciB0aGUgZm91bmQgSkRlc2t0b3BQYW5lLiBNYWtlIHRoZSBJbnRlcm5hbEZyYW1lCgl2aXNpYmxlIGFuZCBhcHByb3ByaWF0bHkgc2l6ZWQgaGVyZS4KCShzaG93SW50ZXJuYWxDb25maXJtRGlhbG9nKTogQUxMIFZBUklBTlRTIE9GIFRISVMgTUVUSE9EOgoJQWRqdXN0ZWQgY2FsbCB0byBzdGFydE1vZGVsIHRvIG9ubHkgdGFrZSBvbmUgcGFyYW1ldGVyLgoJKHNob3dJbnRlcm5hbElucHV0RGlhbG9nKTogQUxMIFZBUklBTlRTIE9GIFRISVMgTUVUSE9EOgoJQWRqdXN0ZWQgY2FsbCB0byBzdGFydE1vZGVsIHRvIG9ubHkgdGFrZSBvbmUgcGFyYW1ldGVyLgoJKHNob3dJbnRlcm5hbE1lc3NhZ2VEaWFsb2cpOiBBTEwgVkFSSUFOVFMgT0YgVEhJUyBNRVRIT0Q6CglBZGp1c3RlZCBjYWxsIHRvIHN0YXJ0TW9kZWwgdG8gb25seSB0YWtlIG9uZSBwYXJhbWV0ZXIuCgkoc2hvd0ludGVybmFsT3B0aW9uRGlhbG9nKTogQUxMIFZBUklBTlRTIE9GIFRISVMgTUVUSE9EOgoJQWRqdXN0ZWQgY2FsbCB0byBzdGFydE1vZGVsIHRvIG9ubHkgdGFrZSBvbmUgcGFyYW1ldGVyLgoJKHN0YXJ0TW9kYWwpOiBOb3cgb25seSB0YWtlcyBvbmUgcGFyYW1ldGVyLiBUaGlzIG1ldGhvZCBkb2VzIG5vCglsb25nZXIgYWRkIHRoZSBKT3B0aW9uUGFuZSB0byB0aGUgY29udGVudFBhbmUgb2YgdGhlIEludGVybmFsRnJhbWUsCglzZXQgdGhlIHNpemUgYW5kIG1ha2UgdGhlIEludGVybmFsRnJhbWUgdmlzaWJsZS4gVGhpcyBpcyBkb25lIGluCgljcmVhdGVJbnRlcm5hbEZyYW1lLgoKMjAwNS0wNy0yMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0U2VsZWN0aW9uTW9kZWwuamF2YTogQVBJIGRvYyBmaXhlcy4KCjIwMDUtMDctMjEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOiBBUEkgZG9jIGZpeGVzIGFsbCBvdmVyLgoKMjAwNS0wNy0yMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL1VJRGVmYXVsdHMuamF2YQoJKGdldEZvbnQoT2JqZWN0LCBMb2NhbGUpKTogbWF0Y2hlZCBhcmd1bWVudCBuYW1lIHRvIEFQSSBkb2MgY29tbWVudCwKCShnZXRDb2xvcihPYmplY3QsIExvY2FsZSkpOiBsaWtld2lzZSwKCShnZXRJY29uKE9iamVjdCwgTG9jYWxlKSk6IGxpa2V3aXNlLAoJKGdldEJvcmRlcihPYmplY3QsIExvY2FsZSkpOiBsaWtld2lzZSwKCShnZXRTdHJpbmcoT2JqZWN0LCBMb2NhbGUpKTogbGlrZXdpc2UsCgkoZ2V0SW50KE9iamVjdCwgTG9jYWxlKSk6IGxpa2V3aXNlLAoJKGdldEJvb2xlYW4oT2JqZWN0LCBMb2NhbGUpKTogbGlrZXdpc2UsCgkoZ2V0SW5zZXRzKE9iamVjdCwgTG9jYWxlKSk6IGxpa2V3aXNlLAoJKGdldERpbWVuc2lvbihPYmplY3QsIExvY2FsZSkpOiBsaWtld2lzZS4KCQoyMDA1LTA3LTIxICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhOiBBUEkgZG9jIGZpeGVzIGFsbCBvdmVyLgoKMjAwNS0wNy0yMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvbmV0L1VSTENsYXNzTG9hZGVyLmphdmE6IHJlb3JkZXJlZCBzb21lIEFQSSBkb2MgY29tbWVudHMgdG8gCglzdXBwcmVzcyBFY2xpcHNlIHdhcm5pbmdzLCBhbmQgZml4ZWQgQVBJIGRvYyBsaW5rLgoJCjIwMDUtMDctMjAgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Cb3JkZXJMYXlvdXQuamF2YToKCShsYXlvdXRDb250YWluZXIpOiBSZW1vdmVkIGFkZGl0aW9uIG9mIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIGdhcHMKCXdoZW4gdGhlcmUgaXMgbm8gY29ycmVzcG9uZGluZyBhZGphY2VudCBjb21wb25lbnQuCgoyMDA1LTA3LTIwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlOgoJKEpUYWJsZSk6IFNldCB0aGUgbGVhZCBzZWxlY3Rpb24gaW5kZXggZm9yIGVhY2ggb2YgdGhlIHR3byBsaXN0cwoJYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGFibGUgdG8gMCAoaW5zdGVhZCBvZiAtMSkuICBUaGlzIGNvbXBsaWVzIHdpdGgKCUpESy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShLZXlIYW5kbGVyLmtleVByZXNzZWQpOiAgSW1wbGVtZW50ZWQgdGhlIGZvbGxvd2luZyBrZXkgYWN0aW9ucyAod2l0aAoJQ1RSTC9TSElGVCBoYW5kbGluZyB3aGVuIGFwcHJvcHJpYXRlKTogVVAvRE9XTi9MRUZUL1JJR0hULCBIT01FL0VORCwKCUNUUkwtQSwgQ1RSTC1cLCBDVFJMLS8uCgoyMDA1LTA3LTIwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IFJlc3RvcmUgdGhlIGxlYWQgc2VsZWN0aW9uIGluZGV4IGFmdGVyIGRvaW5nCglhICJzZWxlY3QgYWxsIiBvcGVyYXRpb24uCgoyMDA1LTA3LTIwICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShrZXlQcmVzc2VkKTogSW1wbGVtZW50ZWQgc29tZSBtb3JlIFZLX1hYWCBhbmQgVktfS1BfWFhYIGV2ZW50cy4KCjIwMDUtMDctMjAgIEFhcm9uIEx1Y2hrbyAgPGFsdWNoa29AcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQ2xhc3NPYmplY3RSZWZlcmVuY2VDb21tYW5kU2V0LmphdmE6CglJbXBsZW1lbnRlZCB0aGUgQ2xhc3NPYmplY3RSZWZlcmVuY2UgQ29tbWFuZFNldC4KCjIwMDUtMDctMjAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIHZhbHVlIGZvciBJbnRlcm5hbEZyYW1lLmljb24uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IEluc3RhbGwgaWNvbiBmcm9tIFVJRGVmYXVsdHMuCgoyMDA1LTA3LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhCgkoY3JlYXRlU2VwYXJhdG9yKTogUmV0dXJuIG51bGwgaGVyZS4KCShpbnN0YWxsQ29tcG9uZW50cyk6IERvbid0IGFkZCBhIHNlcGFyYXRvciBpbiB0aGUgT3B0aW9uUGFuZS4KCjIwMDUtMDctMjAgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShwYWludCk6IENoYW5nZWQgdG8gcGFpbnQgY2hpbGRyZW4gb2Ygcm9vdCBhcyByb290cyBpZiB0aGUgCglyb290IGlzIG5vdCB2aXNpYmxlLCBidXQgdGhlIHJvb3QgcGF0aCBpcyBleHBhbmRlZC4KCShnZXRQYXRoRm9yUm93KTogSWYgdGhlIHJvb3QgaXMgbm90IHZpc2libGUsIGJ1dCBleHBhbmRlZCwgCgl0aGUgZmlyc3QgY2hpbGQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgcm93IDAuCgkoZ2V0Um93Q291bnQpOiBMaWtld2lzZS4KCShnZXRQYXRoQm91bmRzKTogTGlrZXdpc2UuCgkoZ2V0Q2VsbExvY2F0aW9uKTogSWYgcm9vdCBpcyBub3QgdmlzaWJsZSwgYnV0IGV4cGFuZGVkLCB0aGUKCWxldmVsIG9mIGVhY2ggbm9kZSBpcyBsb3dlcmVkIGJ5IDEuCgkocGFpbnRSZWN1cnNpdmUpOiBJZiByb290IGlzIG5vdCB2aXNpYmxlLCBidXQgZXhwYW5kZWQsIHRoZXJlIHNob3VsZAoJYmUgbm8gaW5kZW50YXRpb24gd2hlbiB0aGUgY2hpbGRyZW4gYXJlIGRyYXduLiBBbHNvLCB0aGVyZSBzaG91bGQgYmUgbm8KCWxpbmUgZHJhd24gY29ubmVjdGluZyB0aGUgY2hpbGRyZW4uIFRoaXMgbWFrZXMgaXQgbG9vayBsaWtlIHRoZXJlIGFyZSAyCglpbmRlcGVuZGFudCB0cmVlcyAod29ya3Mgc2FtZSBhcyBKREspLgoKMjAwNS0wNy0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVUkuamF2YQoJKGluc3RhbGxVSSk6IE1vdmVkIHRpdGxlUGFuZS5zZXRPcGFxdWUoKSBjYWxsIGludG8KCUJhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZSdzIGNvbnN0cnVjdG9yLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhCgkoY29uc3RydWN0b3IpOiBNb3ZlZCB0aXRsZVBhbmUuc2V0T3BhcXVlKCkgY2FsbCBmcm9tCglCYXNpY0ludGVybmFsRnJhbWVVSS5pbnN0YWxsVUkgaW50byB0aGlzIGNvbnN0cnVjdG9yLgoKMjAwNS0wNy0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pPcHRpb25QYW5lLmphdmEKCShjcmVhdGVJbnRlcm5hbEZyYW1lKTogTG9vayB1cCB0aGUgbmVhcmVzdCBKTGF5ZXJlZFBhbmUgaW5zdGVhZAoJb2YgSkRlc2t0b3BQYW5lLiBUaGlzIGlzIGluIGNvbnRyYXN0IHRvIHRoZSBzcGVjcyBidXQgd2hhdCB0aGUgSkRLCglkb2VzIGFuZCB3aGF0IG1ha2VzIHNlbnNlLgoKMjAwNS0wNy0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6CglNYWRlIGNsYXNzIGRlc2NyaXB0aW9uIG1vcmUgY29uY2lzZS4KCjIwMDUtMDctMjAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KQnV0dG9uLmphdmE6CglNYWRlIGNsYXNzIGRlc2NyaXB0aW9uIG1vcmUgY29uY2lzZS4KCjIwMDUtMDctMjAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KQnV0dG9uLmphdmEKCShBY2Nlc3NpYmxlSkJ1dHRvbik6IEFkZGVkIGFjY2Vzc2liaWxpdHkgc3VwcG9ydCBmb3IgSkJ1dHRvbi4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudGVkIHRvIHJldHVybiBhbiBBY2Nlc3NpYmxlSkJ1dHRvbi4KCSogamF2YXgvc3dpbmcvSkxhYmVsLmphdmEKCShBY2Nlc3NpYmxlSkxhYmVsKTogQWRkZWQgYWNjZXNzaWJpbGl0eSBzdXBwb3J0IGZvciBKTGFiZWwuCgkoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBJbXBsZW1lbnRlZCB0byByZXR1cm4gYW4gQWNjZXNzaWJsZUpMYWJlbC4KCjIwMDUtMDctMjAgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9KU2xpZGVyLmphdmEKCShzZXRNaW5pbXVtKTogZmlyZSBQcm9wZXJ0eUNoYW5nZUV2ZW50IGZvciBuZXcgdmFsdWUsCgkoc2V0TWF4aW11bSk6IGxpa2V3aXNlLAoJKHNldFNuYXBUb1RpY2tzKTogZmlyZSBQcm9wZXJ0eUNoYW5nZUV2ZW50LCBub3QgQ2hhbmdlRXZlbnQsCgkoc2V0UGFpbnRUcmFjayk6IGZpcmUgUHJvcGVydHlDaGFuZ2VFdmVudCBmb3IgbmV3IHZhbHVlLAoJKHNldFBhaW50TGFiZWxzKTogaW5pdGlhbGlzZSBsYWJlbCB0YWJsZS4KCjIwMDUtMDctMjAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YToKCUZpeGVkIGFuZCBleHRlbmRlZCBBUEkgZG9jdW1lbnRhdGlvbiAvIGNsYXNzIGRlc2NyaXB0aW9uLgoKMjAwNS0wNy0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0FjdGlvbi5qYXZhOgoJRml4ZXMgdGhlIGNsYXNzIGRlc2NyaXB0aW9uIHRvIGJlIG1vcmUgY29uY2lzZS4KCjIwMDUtMDctMjAgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL3RleHQvQXR0cmlidXRlZENoYXJhY3Rlckl0ZXJhdG9yLmphdmE6IGZpeGVkIG1pbm9yIEFQSSBkb2MKCXByb2JsZW1zIGFuZCA4MCBjb2x1bW4gd3JhcHBpbmc7CgkqIGphdmEvdGV4dC9CcmVha0l0ZXJhdG9yLmphdmEKCShnZXRDaGFyYWN0ZXJJbnN0YW5jZShMb2NhbGUpKTogbWF0Y2hlZCBhcmd1bWVudCBuYW1lIHRvIEFQSSBkb2NzLAoJKGdldExpbmVJbnN0YW5jZShMb2NhbGUpKTogbGlrZXdpc2UsCgkoZ2V0U2VudGVuY2VJbnN0YW5jZShMb2NhbGUpKTogbGlrZXdpc2UsCgkoZ2V0V29yZEluc3RhbmNlKExvY2FsZSkpOiBsaWtld2lzZSwKCWFuZCBmaXhlZCBtaW5vciBBUEkgZG9jIHByb2JsZW1zIGFsbCBvdmVyOwoJKiBqYXZhL3RleHQvQ2hhcmFjdGVySXRlcmF0b3IuamF2YTogZml4ZWQgbWlub3IgQVBJIGRvYyBwcm9ibGVtcy4KCQoyMDA1LTA3LTE5ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9Gb3J3YXJkUmVxdWVzdC5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMTctMTkgIExpbGxpYW4gQW5nZWwgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9CYXNpY1RyZWVVSQoJKHNldE1vZGVsKTogY2hhbmdlZCB0byBjYWxsIEpUcmVlJ3Mgc2V0TW9kZWwKCShzZXRSb290VmlzaWJsZSk6IExpa2V3aXNlCgkoaXNSb290VmlzaWJsZSk6IExpa2V3aXNlCgkoZ2V0Q2xvc2VzdFBhdGhGb3JMb2NhdGlvbik6IEltcGxlbWVudGVkCgkocGFpbnQpOiB0b29rIG91dCB0cmFuc2xhdGUsIG5vIG5lZWQgdG8uCgkobW91c2VDbGlja2VkKTogY2xpY2tpbmcgbWFkZSBzbW9vdGhlci4KCQoyMDA1LTE3LTE5ICBMaWxsaWFuIEFuZ2VsIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvQmFzaWNUcmVlVUk6CglNb3ZlZCBzZXZlcmFsIGZ1bmN0aW9ucyBhcm91bmQgZm9yIHJlYWRhYmlsaXR5LgoJU29tZSBmb3JtYXR0aW5nIGluIHZhcmlvdXMgcGxhY2VzLgoJKHBhaW50KTogZXh0ZW5kZWQgc2l6ZSBvZiBib3JkZXIgZHJhd24KCShtb3VzZUNsaWNrZWQpOiBjaGVja2VkIGlmIHBhdGggd2FzIG51bGwKCShnZXRDZWxsTG9jYXRpb24pOiBOb3cgcGFja2FnZS1wcml2YXRlLgoJKHBhaW50Tm9kZSk6IEltcGxlbWVudGVkLCB0aGVyZSBpcyBubyBuZWVkIHRvIHBhaW50IHRoZSBsZWFmIGFuZCBub24KCWxlYWYgc2VwYXJhdGVseS4gV29ya3Mgd2l0aCBjdXN0b20gaWNvbnMuCgkocGFpbnRSZWN1cnNpdmUpOiBOb3cgcGFja2FnZS1wcml2YXRlLiBDaGFuZ2VkIHRvIHBhaW50IHdpdGggcGFpbnROb2RlLgoJKHBhaW50Q29udHJvbEljb25zKTogTm93IHBhY2thZ2UtcHJpdmF0ZS4KCShoYXNDb250cm9sSWNvbnMpOiBOb3cgcGFja2FnZS1wcml2YXRlLgoKMjAwNS0xNy0xOSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YQoJKGNyZWF0ZVN0YW5kYXJkTGFiZWxzKGludCkpOiB1cGRhdGVkIEFQSSBkb2NzLAoJKGNyZWF0ZVN0YW5kYXJkTGFiZWxzKGludCwgaW50KSk6IHRocm93IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBmb3IKCWJhZCBhcmd1bWVudHMuCgoyMDA1LTE3LTE4ICBMaWxsaWFuIEFuZ2VsIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvQmFzaWNUcmVlVUkKCShnZXRQYXRoQm91bmRzKTogY2hlY2tlZCBpZiBwYXRoIHdhcyBudWxsIGluaXRpYWxseQoJKHBhaW50KTogbm8gbmVlZCB0byBjaGVjayBmb3IgY29udHJvbCBpY29ucwoJKHBhaW50TGVhZik6IHJlc2V0aW5nIG9mIGljb24KCShwYWludE5vbkxlYWYpOiByZXNldHRpbmcgb2YgaWNvbgoJKHBhaW50Q29udHJvbEljb25zKTogY2xlYW5lZCB1cAoJKGhhc0NvbnRyb2xJY29ucyk6IGNsZWFuZWQgdXAKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxSZW5kZXJlcgoJKGdldFRyZWVDZWxsUmVuZGVyZXJDb21wb25lbnQpOiBmaXhlZCB0byBmb2xsb3cgQVBJCQoKMjAwNS0wNy0xOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YToKCShKU2xpZGVyKGludCkpOiB1cGRhdGVkIEFQSSBkb2NzLAoJKEpTbGlkZXIoaW50LCBpbnQsIGludCkpOiBsaWtld2lzZSwKCShKU2xpZGVyKEJvdW5kZWRSYW5nZU1vZGVsKSk6IHJlbW92ZWQgY29kZSB0aGF0IGhhbmRsZXMgYSBudWxsIAoJYXJndW1lbnQsIGFuZCB1cGRhdGVkIEFQSSBkb2NzLgoKMjAwNS0wNy0xOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YTogaW5pdGlhbGlzZSBzbmFwVG9UaWNrcyB0byBmYWxzZS4KCQoyMDA1LTA3LTE4ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YToKCShwYWludE1lbnVJdGVtKTogRG9uJ3QgaGlnaGxpZ2h0IGJhY2tncm91bmQgb2YgYSBzZWxlY3RlZCAKCUpDaGVja2JveE1lbnVJdGVtLgoJKHBhaW50VGV4dCk6IERvbid0IGhpZ2hsaWdodCB0ZXh0IG9mIGEgc2VsZWN0ZWQgSkNoZWNrQm94TWVudUl0ZW0uCgoyMDA1LTA3LTE4ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhOgoJKGluc2VydCk6IFJlc2l6ZSB0aGUgY29udGFpbmVyIHRvIGl0cyBwcmVmZXJyZWQgc2l6ZSB3aGVuIGFuIGl0ZW0gaXMKCWluc2VydGVkLgoJKHJlbW92ZSk6IFJlc2l6ZSB0aGUgY29udGFpbmVyIHRvIGl0cyBwcmVmZXJyZWQgc2l6ZSB3aGVuIGFuIGl0ZW0gaXMKCXJlbW92ZWQuCgoyMDA1LTA3LTE4ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhOgoJKGdldE1heGltdW1TaXplKTogQWRkZWQgY2hlY2sgZm9yIHRoaXMgbWVudSBub3QgYmVpbmcgYSB0b3AgbGV2ZWwgbWVudS4KCUlmIHRoYXQncyB0aGUgY2FzZSwgcmV0dXJuIHRoZSBtYXhpbXVtIHNpemUgYXMgaWYgaXQgd2VyZSBhIHJlZ3VsYXIKCUpNZW51SXRlbS4KCjIwMDUtMDctMTggIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGxpYi9NYWtlZmlsZS5nY2ogKCUuc3RhbXApOiBBZGRlZCAtTVAuCgoyMDA1LTA3LTE4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlLy5jdnNpZ25vcmU6IFJlbW92ZWQgam5pLmguCgoyMDA1LTA3LTE4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvam5pL2NsYXNzcGF0aC9jbGFzc3BhdGhfamF3dC5oOiBVcGRhdGVkIGNvcHlyaWdodAoJaGVhZGVyLgoKMjAwNS0wNy0xOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlSW5wdXRTdHJlYW0uamF2YTogYWRkZWQgaW1wb3J0IHRvIGZpeAoJbWlub3IgQVBJIGRvYyBwcm9ibGVtcy4KCjIwMDUtMDctMTggIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHBhaW50KTogT25seSBwYWludCBib3JkZXIgaWYgdXNpbmcgTWV0YWxMJkYKCShtb3VzZUNsaWNrZWQpOiBDaGVjayB0aGF0IGNvbnRyb2wgaWNvbnMgZXhpc3QKCShwYWludE5vbkxlYWYpOiBDaGFuZ2VkIHRvIHBhaW50IGljb24gZGVwZW5kaW5nIG9uIGhlaWdodAoJKGhhc0NvbnRyb2xJY29ucyk6IEltcGxlbWVudGVkIHRvIHJldHVybiB0cnVlIGlmIGNvbnRyb2wgaWNvbnMgZXhpc3QKCjIwMDUtMDctMTggIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKHBhaW50KTogSW1wbGVtZW50ZWQgcGFpbnRpbmcgb2YgYm9yZGVyIGFyb3VuZCBzZWxlY3RlZCBwYXRoCgkobW91c2VDbGlja2VkKTogRml4ZWQgY2xpY2tpbmcgb2YgaWNvbgoKMjAwNS0wNy0xOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogY2hhbmdlZCBTbGlkZXIudGh1bWJXaWR0aC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShwYWludFRodW1iKTogZml4ZWQgdGh1bWIgcGFpbnRpbmcuCgoyMDA1LTA3LTE3ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgogICAgICAgICogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9UaHJlYWRQb2xpY3lWYWx1ZS5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvSWRBc3NpZ25tZW50UG9saWN5LmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9JZFVuaXF1ZW5lc3NQb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9JZEFzc2lnbm1lbnRQb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9JZFVuaXF1ZW5lc3NQb2xpY3kuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL0ltcGxpY2l0QWN0aXZhdGlvblBvbGljeU9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL0xpZmVzcGFuUG9saWN5T3BlcmF0aW9ucy5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvTGlmZXNwYW5Qb2xpY3kuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL0ltcGxpY2l0QWN0aXZhdGlvblBvbGljeS5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudFJldGVudGlvblBvbGljeS5qYXZhLAogICAgICAgIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUmVxdWVzdFByb2Nlc3NpbmdQb2xpY3kuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NlcnZhbnRSZXRlbnRpb25Qb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9UaHJlYWRQb2xpY3lPcGVyYXRpb25zLmphdmEsCiAgICAgICAgb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9SZXF1ZXN0UHJvY2Vzc2luZ1BvbGljeU9wZXJhdGlvbnMuamF2YSwKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1RocmVhZFBvbGljeS5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTA3LTE1ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKG1vdXNlQ2xpY2tlZCk6IEltcGxlbWVudGVkIGNsaWNraW5nIG9uIGNvbnRyb2wgaWNvbnMuCgoyMDA1LTA3LTE1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvam5pL2NsYXNzcGF0aC9jbGFzc3BhdGhfamF3dC5oOiBOZXcgZmlsZS4KCjIwMDUtMDctMTUgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGxpYi9saWJnY2oub21pdDogUmVtb3ZlZC4KCjIwMDUtMDctMTUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkobW91c2VDbGlja2VkKTogY2hhbmdlZCB0byB1c2UgZ2V0UGF0aEJvdW5kcy4KCShnZXRQYXRoQm91bmRzKTogSW1wbGVtZW50ZWQKCjIwMDUtMDctMTUgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkobW91c2VDbGlja2VkKTogY2hlY2sgaWYgdXNlciBpcyBjbGlja2luZyB3aXRoaW4gdGhlIGJvdW5kcyBvZiB0aGUgY2VsbC4KCShnZXRDZWxsTG9jYXRpb24pOiBJbXBsZW1lbnRlZCB0byByZXR1cm4gdGhlIGxvY2F0aW9uIG9mIHRoZSBjZWxsLgoKMjAwNS0wNy0xNSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxDb21ib0JveEljb24uamF2YTogbmV3IGZpbGUuCgoyMDA1LTA3LTE1ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvdHJlZS9UcmVlUGF0aC5qYXZhOiBhZGRlZCBBUEkgZG9jcyBhbGwgb3ZlciwKCShUcmVlUGF0aChPYmplY3RbXSkpOiB0aHJvdyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gZm9yIG51bGwgYXJndW1lbnQsCgkoVHJlZVBhdGgoVHJlZVBhdGgsIE9iamVjdCkpOiB0aHJvdyBOdWxsUG9pbnRlckV4Y2VwdGlvbiBmb3IgbnVsbCBPYmplY3QsCgkoZXF1YWxzKTogdGVzdCBlbGVtZW50cyB1c2luZyBlcXVhbHMoKSwKCSh3cml0ZU9iamVjdCk6IHJlbW92ZWQsCgkocmVhZE9iamVjdCk6IHJlbW92ZWQsCgkoZ2V0UGF0aCk6IHJldHVybiBhIGNsb25lIG9mIHRoZSBwYXRoLAoJKGdldFBhdGhDb21wb25lbnQpOiB0aHJvdyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gZm9yIGludmFsaWQgcG9zaXRpb24sCgkoaXNEZXNjZW5kYW50KTogcmVpbXBsZW1lbnRlZC4KCjIwMDUtMDctMTUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljT3B0aW9uUGFuZVVJLmphdmEKCShCdXR0b25BcmVhTGF5b3V0KTogTWFkZSBjbGFzcyBzdGF0aWMuCgkoQnV0dG9uQXJlYUxheW91dC5zZXRTeW5jQWxsV2lkdGhzKTogUmVtb3ZlZCByZXZhbGlkYXRlKCkuIE5ldmVyCglldmVyIHJldmFsaWRhdGUgc29tZXRoaW5nIHdpdGhpbiBhIExheW91dE1hbmFnZXIhCgkoQnV0dG9uQXJlYUxheW91dC5zZXRQYWRkaW5nKTogTGlrZXdpc2UuCgkoQnV0dG9uQXJlYUxheW91dC5zZXRDZW50ZXJzQ2hpbGRyZW4pOiBMaWtld2lzZS4KCShCdXR0b25BcmVhTGF5b3V0LmxheW91dENvbnRhaW5lcik6IERvbid0IHJlZmVyIHRvIGVuY2xvc2luZwoJY2xhc3MncyBpbnN0YW5jZSwgdGhpcyBpcyBub3QgYWxsb3dlZCBpbiBzdGF0aWMgaW5uZXIgY2xhc3Nlcy4KCjIwMDUtMDctMTUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ2hlY2tCb3hJY29uLmphdmE6CglOZXcgY2xhc3MuIEFuIGljb24gaW1wbGVtZW50YXRpb24gZm9yIHVzZSBpbiBKQ2hlY2tCb3hlcy4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YQoJUmVuYW1lZCBNZXRhbEJ1dHRvbkJvcmRlciB0byBCdXR0b25Cb3JkZXIuCgoyMDA1LTA3LTE1ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhOgoJKFJvb3RWaWV3LnJlbW92ZVVwZGF0ZSk6IFByb3Blcmx5IHVwZGF0ZSB0aGUgY2FyZXQgcG9zaXRpb24gYWZ0ZXIgdGV4dAoJaGFzIGJlZW4gcmVtb3ZlZC4KCjIwMDUtMDctMTUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIE5FV1M6IEFkZCAwLjE3IHJlbGVhc2UgZGF0ZSBhbmQgbmV3IGZlYXR1cmVzLgoJKiBjb25maWd1cmUuYWM6IFNldCB2ZXJzaW9uIHRvIDAuMTcuCgoyMDA1LTA3LTE1ICBSb2JlcnQgU2NodXN0ZXIgIDxyb2JlcnRzY2h1c3RlckBmc2ZlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmE6CgkoaW5pdCk6IERvIG5vdCBjaGFuZ2UgZmllbGQgdGV4dCBpZiBhcmd1bWVudCB0ZXh0IGlzIG51bGwuCgoyMDA1LTA3LTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9Mb2dnZXIuamF2YSAoZ2V0Q2FsbGVyU3RhY2tGcmFtZSk6IAoJTWFrZSBzdXJlIGluZGV4IDwgc3RhY2tUcmFjZS5sZW5ndGggYW5kIHJldHVybiBudWxsIG90aGVyd2lzZS4KCShsb2cpOiBDaGVjayBmb3IgY2FsbGVyID09IG51bGwuCgoyMDA1LTA3LTE1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKEFic3RyYWN0QnV0dG9uKTogRGlyZWN0bHkgY2FsbCBpbml0KCkgYW5kIHVwZGF0ZVVJKCkuCgkoQWJzdHJhY3RCdXR0b24oU3RyaW5nLCBJY29uKSk6IFJlbW92ZWQuIFRoaXMgaXMgbm90IG5lY2Vzc2FyeQoJc2luY2Ugd2UgaGF2ZSBpbml0KFN0cmluZywgSWNvbikgZm9yIHRoYXQgcHVycG9zZS4KCShnZXRBY3Rpb25Db21tYW5kKTogUmV2ZXJ0ZWQgdG8gcHJldmlvdXMgYmVoYXZpb3VyOiBJZgoJYWN0aW9uQ29tbWFuZCBpcyBzZXQsIHJldHVybiB0aGlzLCBvdGhlcndpc2UgcmV0dXJuIHRleHQsIGV2ZW4KCWlmIHRleHQgaXMgbnVsbC4KCSogamF2YXgvc3dpbmcvSkJ1dHRvbi5qYXZhCgkoSkJ1dHRvbihTdHJpbmcsIEljb24pKTogQ2FsbCBzdXBlcigpIGFuZCBpbml0KFN0cmluZywgSWNvbikKCWluc3RlYWQgb2Ygc3VwZXIoU3RyaW5nLCBJY29uKS4KCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmEKCShKTWVudUl0ZW0pOiBDYWxsIHN1cGVyKCkgaW5zdGVhZCBvZiBzdXBlcihTdHJpbmcsIEljb24pLgoJKEpNZW51SXRlbShJY29uKSk6IENhbGwgdGhpcyhTdHJpbmcsIEljb24pIGluc3RlYWQgb2YKCXN1cGVyKFN0cmluZywgSWNvbikuCgkoSk1lbnVJdGVtKFN0cmluZykpOiBDYWxsIHRoaXMoU3RyaW5nLCBJY29uKSBpbnN0ZWFkIG9mCglzdXBlcihTdHJpbmcsIEljb24pLgoJKEpNZW51SXRlbShBY3Rpb24pKTogQ2FsbCBzdXBlcigpIGluc3RlYWQgb2YKCXN1cGVyKFN0cmluZywgSWNvbikuCgkoSk1lbnVJdGVtKFN0cmluZywgSWNvbikpOiBDYWxsIHN1cGVyKCkgYW5kIGluaXQoU3RyaW5nLCBJY29uKQoJaW5zdGVhZCBvZiBzdXBlcihTdHJpbmcsIEljb24pLgoJKEpNZW51SXRlbShTdHJpbmcsIGludCkpOiBDYWxsIHRoaXMoU3RyaW5nLCBJY29uKSBpbnN0ZWFkIG9mCglzdXBlcihTdHJpbmcsIEljb24pLgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmEKCShUb2dnbGVCdXR0b25Nb2RlbC5zZXRQcmVzc2VkKTogRmlyZSBhbiBBY3Rpb25FdmVudCBpZiBidXR0b24KCWlzIHJlbGVhc2VkLiBBY2NvcmRpbmcgdG8gbXkgTWF1dmUgdGVzdHMsIGl0IHNlZW1zIHRoYXQgdGhpcwoJaXMgd2hhdCB0aGUgSkRLIGRvZXMsIHNvIGRvIHdlLgoJKFRvZ2dsZUJ1dHRvbk1vZGVsLnNldFNlbGVjdGVkKTogUmVtb3ZlZC4KCShKVG9nZ2xlQnV0dG9uKTogQ2FsbCBzdXBlcigpIGFuZCBpbml0KFN0cmluZywgSWNvbikgaW5zdGVhZAoJb2Ygc3VwZXIoU3RyaW5nLCBJY29uKS4KCjIwMDUtMDctMTUgIFJvYmVydCBTY2h1c3RlciAgPHJvYmVydHNjaHVzdGVyQGZzZmUub3JnPgoKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0TXV0YWJsZVRyZWVOb2RlLmphdmE6CgkocmVtb3ZlRnJvbVBhcmVudCk6IFJlbW92ZSBjaGlsZCBub2RlIGZyb20gcGFyZW50IG5vdy4KCShwcmVvcmRlckVudW1lcmF0aW9uKTogSW1wbGVtZW50ZWQuCgkocG9zdG9yZGVyRW51bWVyYXRpb24pOiBJbXBsZW1lbnRlZC4KCShkZXB0aEZpcnN0RW51bWVyYXRpb24pOiBJbXBsZW1lbnRlZC4KCShicmVhZHRoRmlyc3RFbnVtZXJhdGlvbik6IEltcGxlbWVudGVkLgoJKG5leHRMZWFmKTogQWRkZWQgVE9ETyBkb2MuCgkocHJldmlvdXNMZWFmKTogQWRkZWQgVE9ETyBkb2MuCgoyMDA1LTA3LTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBsaWIvc3RhbmRhcmQub21pdDogT25seSBsaXN0IGdudS9qYXZheC9zd2luZy9wbGFmL2d0ay8uKmphdmEgYW5kCglSRUFETUUgZXhwbGljaXRseSwgbm90IHRoZSBpY29ucy4KCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9HTlVMb29rQW5kRmVlbC5qYXZhCgkoZ2V0RGVmYXVsdHMpOiBBZGQgVHJlZSBjbG9zZWQsIGxlYWYgYW5kIG9wZW4gaWNvbnMuCgoyMDA1LTA3LTE1ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogZG9jL3ZtaW50ZWdyYXRpb24udGV4aW5mbzoKCVVwZGF0ZWQgJ0NsYXNzcGF0aCBIb29rcycgc2VjdGlvbi4KCjIwMDUtMDctMTUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGhhY2tpbmcudGV4aW5mbzogQHNldGNoYXB0ZXJuZXdwYWdlIG9mZi4KCSogdm1pbnRlZ3JhdGlvbi50ZXhpbmZvOiBMaWtld2lzZS4KCSogd3d3LmdudS5vcmcvZG9jcy9NYWtlZmlsZTogdGV4aTJpbmZvIC0taWZpbmZvIC0taWZodG1sLgoKMjAwNS0wNy0xNCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0Nob2ljZVBlZXIuamF2YSAoY2hvaWNlUG9zdEl0ZW1FdmVudCk6CglSZW5hbWUgdG8gcG9zdENob2ljZUl0ZW1FdmVudC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSAocmVhbGl6ZSk6IE5ldyBtZXRob2QuCgkoc2V0TmF0aXZlRXZlbnRNYXNrKTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtHZW5lcmljUGVlci5qYXZhIChwcmludEN1cnJlbnRUaHJlYWQpOiBOZXcgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrV2luZG93UGVlci5qYXZhIChyZWFsaXplKTogTmV3IG1ldGhvZC4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5oOiBSZWdlbmVyYXRlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmg6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0a3BlZXIuaDogTW92ZSB3aWRnZXQtc3BlY2lmaWMgbWFjcm8sCgl2YXJpYWJsZSBhbmQgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGludG8gdGhlIHdpZGdldC1zcGVjaWZpYyBmaWxlLgoJQWRkIGNwX2d0a18gbmFtZXNwYWNlIHByZWZpeCB0byBleHRlcm5hbCBzeW1ib2xzLgoJKGNwX2d0a19ncmFwaGljczJkX2luaXRfam5pKTogTmV3IGZ1bmN0aW9uLgoJKGNwX2d0a19ncmFwaGljc19pbml0X2puaSk6IExpa2V3aXNlLgoJKGNwX2d0a19idXR0b25faW5pdF9qbmkpOiBMaWtld2lzZS4KCShjcF9ndGtfY2hlY2tib3hfaW5pdF9qbmkpOiBMaWtld2lzZS4KCShjcF9ndGtfY2hvaWNlX2luaXRfam5pKTogTGlrZXdpc2UuCgkoY3BfZ3RrX2NvbXBvbmVudF9pbml0X2puaSk6IExpa2V3aXNlLgoJKGNwX2d0a19saXN0X2luaXRfam5pKTogTGlrZXdpc2UuCgkoY3BfZ3RrX21lbnVpdGVtX2luaXRfam5pKTogTGlrZXdpc2UuCgkoY3BfZ3RrX3Njcm9sbGJhcl9pbml0X2puaSk6IExpa2V3aXNlLgoJKGNwX2d0a190ZXh0Y29tcG9uZW50X2luaXRfam5pKTogTGlrZXdpc2UuCgkoY3BfZ3RrX3dpbmRvd19pbml0X2puaSk6IExpa2V3aXNlLgoJKGNwX2d0a19jb21wb25lbnRfY29ubmVjdF9leHBvc2Vfc2lnbmFscyk6IExpa2V3aXNlLgoJKGNwX2d0a19jb21wb25lbnRfY29ubmVjdF9mb2N1c19zaWduYWxzKTogTGlrZXdpc2UuCgkoY3BfZ3RrX2NvbXBvbmVudF9jb25uZWN0X21vdXNlX3NpZ25hbHMpOiBMaWtld2lzZS4KCShjcF9ndGtfY29tcG9uZW50X2Nvbm5lY3Rfc2lnbmFscyk6IExpa2V3aXNlLgoJKGNwX2d0a190ZXh0Y29tcG9uZW50X2Nvbm5lY3Rfc2lnbmFscyk6IExpa2V3aXNlLgoJKGNwX2d0a19wcmludF9jdXJyZW50X3RocmVhZCk6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYzogUmVtb3ZlCglmaWxlLiAgTW92ZSB3aWRnZXQtc3BlY2lmaWMgZnVuY3Rpb25zIGludG8gdGhlIHdpZGdldC1zcGVjaWZpYwoJZmlsZXMuICBCcmVhayBtYWluIGV2ZW50IGhhbmRsZXIgaW50byBtdWx0aXBsZSB3aWRnZXQtc3BlY2lmaWMKCWNhbGxiYWNrcy4KCSogbmF0aXZlL2puaS9ndGstcGVlci9NYWtlZmlsZS5hbSAobGliZ3RrcGVlcl9sYV9TT1VSQ0VTKTogUmVtb3ZlCglnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRXZlbnRzLmMuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRQZWVyLmM6IEFkZAoJY3BfZ3RrXyBuYW1lc3BhY2UgcHJlZml4IHRvIGV4dGVybmFsIHN5bWJvbHMuICBBZGQgd2lkZ2V0LXNwZWNpZmljCgltYWNyb3MsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZyb20KCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYy4gIEFkZCB3aWRnZXQtc3BlY2lmaWMgY2FsbGJhY2tzCgl0byByZXBsYWNlIG1haW4gZXZlbnQgaGFuZGxpbmcgbG9vcC4KCSogbmF0aXZlL2puaS9jbGFzc3BhdGgvbmF0aXZlX3N0YXRlLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2NsYXNzcGF0aC9uYXRpdmVfc3RhdGUuaDogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ2RrZm9udC5oOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1BpeGJ1ZkRlY29kZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1JvYm90UGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrVGV4dExheW91dC5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQnV0dG9uUGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDbGlwYm9hcmQuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZyYW1lUGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrR2VuZXJpY1BlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMYWJlbFBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xpc3RQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51SXRlbVBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtQYW5lbFBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Njcm9sbFBhbmVQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtTY3JvbGxiYXJQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0QXJlYVBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1RleHRGaWVsZFBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuaDogTGlrZXdpc2UuCgoyMDA1LTA3LTE0IExpbGxpYW4gQW5nZWwgPGxhbmdlbEByZWRoYXQuY29tPgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShwYWludENvbnRyb2xJY29ucyk6IENoYW5nZWQgc28gcm9vdCBkb2VzIG5vdCBoYXZlIGNvbnRyb2wgaWNvbi4KCjIwMDUtMDctMTQgTGlsbGlhbiBBbmdlbCA8bGFuZ2VsQHJlZGhhdC5jb20+CgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKGluc3RhbGxVSSk6IEV4cGFuZGVkIHJvb3QgaW5pdGlhbGx5CgkocGFpbnQpOiBjYWxsIGZ1bmN0aW9uIHRvIHBhaW50IGNvbnRyb2xzCgkocGFpbnRSZWN1cnNpdmUpOiBhZGRlZCB0byBpbmRlbnRhdGlvbiB3aGVuIHBhaW50aW5nIHRvIGluY3JlYXNlIHNwYWNlCgkocGFpbnRDb250cm9sSWNvbnMpOiBJbXBsZW1lbnRlZCB0byByZWN1cnNpdmVseSBwYWludCB0aGUgY29udHJvbCBpY29ucy4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxSZW5kZXJlci5qYXZhCgkoZ2V0VHJlZUNlbGxSZW5kZXJlckNvbXBvbmVudCk6IHJlc2V0IHRoZSBmb250IHByb3Blcmx5CgoyMDA1LTA3LTE0ICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL1ZpcnR1YWxNYWNoaW5lQ29tbWFuZFNldC5qYXZhOgoJSW1wbGVtZW50ZWQgVmlydHVhbE1hY2hpbmUgQ29tbWFuZCBTZXQuCgoyMDA1LTA3LTE0ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKGdldEFjdGlvbkNvbW1hbmQpOiBJZiBib3RoIHRoZSBhY3Rpb25Db21tYW5kIGFuZCB0ZXh0IGZpZWxkcwoJYXJlIG51bGwsIHRoZW4gcmV0dXJuICIiLgoKMjAwNS0wNy0xNCAgR3VpbGhlbSBMYXZhdXggIDxndWlsaGVtQGthZmZlLm9yZz4KCgkqIGphdmEvdXRpbC9sb2dnaW5nL0xvZ2dlci5qYXZhCgkocmVzZXRMb2dnZXIpOiBSZW1vdmUgYWxsIGhhbmRsZXJzIGZyb20gdGhlIGhhbmRsZXIgbGlzdC4KCgkqIGphdmEvdXRpbC9sb2dnaW5nL0xvZ01hbmFnZXIuamF2YQoJKHJlc2V0KTogQ2FsbCByZXNldExvZ2dlcigpIHRvby4KCShyZWFkQ29uZmlndXJhdGlvbik6IENhbGwgcmVzZXQoKS4KCjIwMDUtMDctMTQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvYXd0L0RlbW8uamF2YQoJKFRlc3RXaW5kb3cucGFyZW50KTogTWFrZSBwYWNrYWdlIHByaXZhdGUuCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBVUkxDb25uZWN0aW9uLmphdmEKCShwcm94eUhvc3RuYW1lLCBwcm94eVBvcnQsIGFnZW50LCBrZWVwQWxpdmUsIG1heENvbm5lY3Rpb25zKToKCUxpa2V3aXNlLgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhIChmaWVsZCwgc2l6ZSk6IExpa2V3aXNlLgoJKiBqYXZhL3V0aWwvamFyL0phckZpbGUuamF2YSAocmVhZFNpZ25hdHVyZXMpOiBMaWtld2lzZS4KCSogamF2YS91dGlsL2xvZ2dpbmcvRmlsZUhhbmRsZXIuamF2YSAod3JpdHRlbik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRmlsZUNob29zZXJVSS5qYXZhOiBNYWtlIHNoYXJlZAoJZmllbGRzIHBhY2thZ2UgcHJpdmF0ZS4KCShjbG9zZURpYWxvZyk6IE1ha2UgcGFja2FnZSBwcml2YXRlLgoJKGZpbHRlckVudHJpZXMpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BvcHVwTWVudVVJLmphdmEKCShtb3VzZUlucHV0TGlzdGVuZXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkoZ2V0TmV4dFZpc2libGVOb2RlLCBnZXRQcmV2aW91c1Zpc2libGVOb2RlLCBzZWxlY3RQYXRoKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YSAoY2FyZXQsIGVkaXRhYmxlKTogTGlrZXdpc2UuCgkKMjAwNS0wNy0xNCAgUm9iZXJ0IFNjaHVzdGVyICA8cm9iZXJ0c2NodXN0ZXJAZnNmZS5vcmc+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOiBNaW5vciBkb2MgZml4ZXMuCgkoZ2V0QWN0aW9uQ29tbWFuZCk6IEFjY2VzcyBmaWVsZCBkaXJlY3RseS4KCShzZXRBY3Rpb25Db21tYW5kKTogRGl0by4KCShmaXJlQWN0aW9uUGVyZm9ybWVkKTogQ29weSBBY3Rpb25FdmVudCBpbnN0YW5jZSBpbnN0ZWFkCglvZiByZXVzaW5nIGl0LgoKMjAwNS0wNy0xMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0JvdW5kZWRSYW5nZU1vZGVsLmphdmE6CglBZGRlZC9GaXhlZCBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL0J1dHRvbk1vZGVsLmphdmE6CglBZGRlZC9GaXhlZCBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL0NlbGxFZGl0b3IuamF2YToKCUFkZGVkL0ZpeGVkIGludGVyZmFjZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvQ29tYm9Cb3hFZGl0b3IuamF2YToKCUFkZGVkL0ZpeGVkIGludGVyZmFjZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvQ29tYm9Cb3hNb2RlbC5qYXZhOgoJQWRkZWQvRml4ZWQgaW50ZXJmYWNlIEFQSSBkb2N1bWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9JY29uLmphdmE6CglBZGRlZC9GaXhlZCBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhCgkoS2V5U2VsZWN0aW9uTWFuYWdlcik6IEFkZGVkL0ZpeGVkIGludGVyZmFjZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvTGlzdENlbGxSZW5kZXJlci5qYXZhOgoJQWRkZWQvRml4ZWQgaW50ZXJmYWNlIEFQSSBkb2N1bWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9MaXN0TW9kZWwuamF2YToKCUFkZGVkL0ZpeGVkIGludGVyZmFjZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvTGlzdFNlbGVjdGlvbk1vZGVsLmphdmE6CglBZGRlZC9GaXhlZCBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL01lbnVFbGVtZW50LmphdmE6CglBZGRlZC9GaXhlZCBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL011dGFibGVDb21ib0JveE1vZGVsLmphdmE6CglBZGRlZC9GaXhlZCBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL1JlbmRlcmVyLmphdmE6CglBZGRlZC9GaXhlZCBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL1Jvb3RQYW5lQ29udGFpbmVyLmphdmE6CglBZGRlZC9GaXhlZCBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkqIGphdmF4L3N3aW5nL1Njcm9sbFBhbmVDb25zdGFudHMuamF2YToKCUFkZGVkL0ZpeGVkIGludGVyZmFjZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvU2Nyb2xsYWJsZS5qYXZhOgoJQWRkZWQvRml4ZWQgaW50ZXJmYWNlIEFQSSBkb2N1bWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9TaW5nbGVTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJQWRkZWQvRml4ZWQgaW50ZXJmYWNlIEFQSSBkb2N1bWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9TcGlubmVyTW9kZWwuamF2YToKCUFkZGVkL0ZpeGVkIGludGVyZmFjZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvU3dpbmdDb25zdGFudHMuamF2YToKCUFkZGVkL0ZpeGVkIGludGVyZmFjZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhCgkoQWN0aXZlVmFsdWUpOiBpbnRlcmZhY2UgQVBJIGRvY3VtZW50YXRpb24uCgkoTGF6eVZhbHVlKTogaW50ZXJmYWNlIEFQSSBkb2N1bWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9XaW5kb3dDb25zdGFudHMuamF2YToKCUFkZGVkL0ZpeGVkIGludGVyZmFjZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvcGFja2FnZS5odG1sOiBGaXhlZCBwYWNrYWdlIGRlc2NyaXB0aW9uIHRvIGJlIG1vcmUKCWEgbGl0dGxlIGJpdCBtb3JlIGNvbmNpc2UuCgoyMDA1LTA3LTEzIExpbGxpYW4gQW5nZWwgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6IENoYW5nZWQgZm9udCB0bwoJbWF0Y2ggamRrLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmE6IHRvb2sgb3V0IHVubmVlZGVkCglpbXBvcnQgc3RhdGVtZW50CgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhOiBDaGFuZ2VkIAoJZGVmYXVsdHMgdG8gbWF0Y2ggamRrLgoKMjAwNS0wNy0xMyBMaWxsaWFuIEFuZ2VsIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOiBDaGFuZ2VkIHJvd0hlaWdodAoJdG8gdGhlIHJpZ2h0IGhlaWdodC4gVGhpcyBzaG91bGQgYmUgZml4ZWQgbGF0ZXIgdG8gc29tZXRoaW5nIG1vcmUKCXJlYXNvbmFibGUsIGFzIG9wcG9zZWQgdG8gYSAnbWFnaWMnIG51bWJlci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkocGFpbnRMZWFmKTogYWRkZWQgaW4gY29kZSB0byBwYWludCBpY29ucyBwcm9wZXJseQoJKHBhaW50Tm9uTGVhZik6IHNhbWUgYXMgYWJvdmUKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmE6IENoYW5nZWQgZGVmYXVsdAoJaWNvbnMgdG8gTWV0YWxJY29uRmFjdG9yeSBpY29ucwoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbFJlbmRlcmVyLmphdmEKCShnZXRUcmVlQ2VsbFJlbmRlcmVyQ29tcG9uZW50KTogQ2hhbmdlZCB0byBwYWludCBpY29ucyBzZXBhcmF0ZWx5IGZyb20KCUNlbGwuCgoyMDA1LTA3LTEzICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IEltcGxlbWVudGVkIGFjdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmcga2V5CglwcmVzc2VzOiAiY3RybCBcXCIsICJFTkQiLCAic2hpZnQgRU5EIiwgIkhPTUUsICJzaGlmdCBIT01FIiwgImN0cmwgLyIsIAoJImN0cmwgQSIsICJjdHJsIFNQQUNFIiwgIktQX1VQIiwgIktQX0RPV04iLCAic2hpZnQgS1BfVVAiLAoJInNoaWZ0IEtQX0RPV04iLgoKMjAwNS0wNy0xMyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhOgoJKGNoYW5nZVN0YXRlKTogUmVtb3ZlZCB0aGlzIGhlbHBlciBtZXRob2QuCgkoc2V0QXJtZWQpOiBSZXBsYWNlZCBjYWxsIHRvIGNoYW5nZVN0YXRlIGJ5IGNvZGUgc3BlY2lmaWMgdG8gc2V0QXJtZWQuCgkoc2V0RW5hYmxlZCk6IExpa2V3aXNlLCBmb3Igc2V0RW5hYmxlZC4KCShzZXRQcmVzc2VkKTogTGlrZXdpc2UsIGZvciBzZXRQcmVzc2VkLgoJKHNldFJvbGxvdmVyKTogTGlrZXdpc2UsIGZvciBzZXRSb2xsb3Zlci4KCShzZXRTZWxlY3RlZCk6IExpa2V3aXNlLCBmb3Igc2V0U2VsZWN0ZWQuCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YToKCShUb2dnbGVCdXR0b25Nb2RlbC5zZXRQcmVzc2VkKTogUmVwbGFjZWQgY2FsbCB0byBzdXBlci5zZXRQcmVzc2VkIHdpdGgKCVRvZ2dsZS1zcGVjaWZpYyBjb2RlLgoJKFRvZ2dsZUJ1dHRvbk1vZGVsLnNldFNlbGVjdGVkKTogTmV3IG1ldGhvZC4gIEZpcmUgYW4gQWN0aW9uRXZlbnQgaW4KCWFkZGl0aW9uIHRvIGNhbGxpbmcgc3VwZXIuc2V0U2VsZWN0ZWQuCgoyMDA1LTA3LTEzICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlQ29tcG9uZW50LmphdmE6IG1pbm9yIEFQSSBkb2MgZml4ZXMsCgkqIGphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVJlbGF0aW9uLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVSZWxhdGlvblNldC5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlUmVzb3VyY2VCdW5kbGUuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVJvbGUuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVN0YXRlLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTdGF0ZVNldC5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlVGV4dC5qYXZhOiBsaWtld2lzZS4KCjIwMDUtMDctMTMgIFJvYmVydCBTY2h1c3RlciAgPHJvYmVydHNjaHVzdGVyQGZzZmUub3JnPgoKCSogamF2YS9hd3QvQVdURXZlbnQuamF2YToKCSh0b1N0cmluZyk6IEdlbmVyYWxpemVkIHN0cmluZyBnZW5lcmF0aW9uLgoKMjAwNS0wNy0xMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0xvb2tBbmRGZWVsLmphdmE6IGFkZGVkIEFQSSBkb2NzIGFsbCBvdmVyLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL0RlZmF1bHRNZXRhbFRoZW1lLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUaGVtZS5qYXZhOiBsaWtld2lzZS4KCjIwMDUtMDctMTMgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy90YWJsZS9UYWJsZUNvbHVtbi5qYXZhOiB1cGRhdGVkIEFQSSBkb2NzLAoJKiBqYXZheC9zd2luZy90YWJsZS9UYWJsZUNvbHVtbk1vZGVsLmphdmE6IGxpa2V3aXNlLgoKMjAwNS0wNy0xMyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvdXRpbC96aXAvSW5mbGF0ZXIuamF2YTogbWlub3IgQVBJIGRvYyBmaXhlcy4KCjIwMDUtMDctMTMgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRNdXRhYmxlVHJlZU5vZGUuamF2YTogbWlub3IgQVBJIGRvYyBmaXhlcywKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZVNlbGVjdGlvbk1vZGVsLmphdmEKCShhZGRTZWxlY3Rpb25QYXRoKTogbW9kaWZpZWQgcGFyYW1ldGVyIG5hbWUgdG8gbWF0Y2ggZG9jIGNvbW1lbnQsCgkoYWRkU2VsZWN0aW9uUGF0aHMpOiBsaWtld2lzZSwKCShyZW1vdmVTZWxlY3Rpb25QYXRoKTogbGlrZXdpc2UsCgkocmVtb3ZlU2VsZWN0aW9uUGF0aHMpOiBsaWtld2lzZSwKCShpc1BhdGhTZWxlY3RlZCk6IGxpa2V3aXNlLAoJcGx1cyBvdGhlciBtaW5vciBBUEkgZG9jIGZpeGVzIGFsbCBvdmVyLgoJKiBqYXZheC9zd2luZy90cmVlL011dGFibGVUcmVlTm9kZS5qYXZhOiBtaW5vciBBUEkgZG9jIGZpeGVzLgoKMjAwNS0wNy0xMyAgUm9iZXJ0IFNjaHVzdGVyICA8cm9iZXJ0c2NodXN0ZXJAZnNmZS5vcmc+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOiBNaW5pbWFsIGRvY3VtZW50YXRpb24gZml4ZXMuCgkoZ2V0QWN0aW9uQ29tbWFuZCk6IFJldHVybnMgYnV0dG9uJ3MgbGFiZWwgd2hlbgoJYWN0aW9uQ29tbWFuZCBpcyBudWxsLgoJKiBqYXZheC9zd2luZy9KQnV0dG9uLmphdmEsCglqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmE6IFJlbW92ZWQgZXhwbGljaXQgY2FsbCB0bwoJc2V0QWN0aW9uQ29tbWFuZCBpbiBjb25zdHJ1Y3RvcnMuCgoyMDA1LTA3LTEzICBSb2JlcnQgU2NodXN0ZXIgIDxyb2JlcnRzY2h1c3RlckBmc2ZlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YToKCShwYXJhbVN0cmluZyk6IFJldHVybnMgdmFsdWUgb2Ygc2FtZSBtZXRob2QgaW4gc3VwZXJjbGFzcyBub3cuCgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbi5qYXZhOgoJKHBhcmFtU3RyaW5nKTogRGl0by4KCSogamF2YXgvc3dpbmcvSkJ1dHRvbi5qYXZhOgoJKHBhcmFtU3RyaW5nKTogUmV0dXJucyB2YWx1ZSBvZiBzYW1lIG1ldGhvZCBpbiBzdXBlcmNsYXNzIG5vdywKCW1vcmUgdmVyYm9zZSBpbmZvcm1hdGlvbiBhZGRlZC4KCSogamF2YXgvc3dpbmcvSkNoZWNrQm94LmphdmE6CgkocGFyYW1TdHJpbmcpOiBEaXRvLgoKMjAwNS0wNy0xMiAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9GaWVsZENvbW1hbmRTZXQuamF2YToKCUltcGxlbWVudGVkIHRoZSBGaWVsZCBDb21tYW5kU2V0LgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL0ludGVyRmFjZVR5cGVDb21tYW5kU2V0LmphdmE6CglJbXBsZW1lbnRlZCB0aGUgSW50ZXJmYWNlVHlwZSBDb21tYW5kU2V0LgoKMjAwNS0wNy0xMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CgkocGFpbnRNZW51SXRlbSk6IFJlcGxhY2VkIGluY29ycmVjdCBoaWxpZ2h0aW5nIGNyaXRlcmlhLgoJKHBhaW50VGV4dCk6IExpa2V3aXNlLgoKMjAwNS0wNy0xMiBMaWxsaWFuIEFuZ2VsIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhCgkobWtUcmVlKTogbm8gbmVlZCB0byBtYWtlIHJvb3QgdmlzaWJsZSwgaXQgaXMgYnkgZGVmYXVsdAoJKG1rVHJlZVdvcmxkKTogbm8gbmVlZCB0byBtYWtlIHJvb3QgdmlzaWJsZSwgaXQgaXMgYnkgZGVmYXVsdAkgCgoyMDA1LTA3LTEyIExpbGxpYW4gQW5nZWwgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkocGFpbnRMZWFmKTogZml4ZWQgc2l6ZSBvZiBzZWxlY3Rpb24gYmFja2dyb3VuZCB0byBkZXBlbmQgb24gCglpZiBpY29uIGV4aXN0cwoJKHBhaW50Tm9uTGVhZik6IGZpeGVkIHNpemUgb2Ygc2VsZWN0aW9uIGJhY2tncm91bmQgdG8gZGVwZW5kIG9uCglpZiBpY29uIGV4aXN0cwoKMjAwNS0wNy0xMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhOgoJKGNoYW5nZVN0YXRlKTogSWYgdGhlIGJ1dHRvbiBpcyBhIEpUb2dnbGVCdXR0b24gZmlyZSBhY3Rpb24gZXZlbnRzCgl3aGVuIGl0IGNoYW5nZXMgYmV0d2VlbiAoc2VsZWN0ZWQvdW5zZWxlY3RlZCkgbm90IHdoZW4gaXQgY2hhbmdlcwoJZnJvbSBwcmVzc2VkIHRvIHVucHJlc3NlZC4gIEZpcmUgYWN0aW9uIGV2ZW50cyBhZnRlciBmaXJpbmcKCUl0ZW1TdGF0ZUNoYW5nZWQgZXZlbnRzLgoKMjAwNS0wNy0xMiAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9QYWNrZXRQcm9jZXNzb3IuamF2YSAocnVuKTogU2VuZAoJc2h1dGRvd24gdG8gSmR3cCBpbnN0ZWFkIG9mIEpkd3BDb25uZWN0aW9uLgoKMjAwNS0wNy0xMiBMaWxsaWFuIEFuZ2VsIDxsYW5nZWxAcmVkaGF0LmNvbT4KCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YToKCUZvcm1hdHRpbmcgY29weXJpZ2h0CgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsUmVuZGVyZXIuamF2YToKCUZvcm1hdHRpbmcgY29weXJpZ2h0CgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJRm9ybWF0dGluZyBjb3B5cmlnaHQKCjIwMDUtMDctMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVHJlZVVJLmphdmEKCShjcmVhdGVVSSk6IFJldHVybiBhIGRpZmZlcmVudCBpbnN0YW5jZSBvZiBNZXRhbFRyZWVVSSBmb3IgZWFjaAoJSlRyZWUuIFRoZSBUcmVlVUkgaXMgc3RhdGVmdWwsIHNvIGEgc2hhcmVkIGluc3RhbmNlIHdvdWxkIG5vdAoJd29yay4KCjIwMDUtMDctMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCUkgYWNjaWRlbnRhbGx5IGludHJvZHVjZWQgcmV2YWxpZGF0ZSBjYWxscyBmb3IgcmVwYWludCBjYWxscy4KCVJldmVydGVkLgoKMjAwNS0wNy0xMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJRml4ZWQgZm9ybWF0dGluZyBvZiB0aGUgY29weXJpZ2h0IG5vdGljZS4KCjIwMDUtMDctMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBDcmVhdGUgYm9yZGVyIGJhc2VkIG9uIGRlZmF1bHRzIGluIGN1cnJlbnQKCUxvb2tBbmRGZWVsLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEluY2x1ZGVkIGJvcmRlciBmb3IgSW50ZXJuYWxGcmFtZSBhcwoJTGF6eVZhbHVlLgoKMjAwNS0wNy0xMiBMaWxsaWFuIEFuZ2VsIDxsYW5nZWxAcmVkaGF0LmNvbT4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6CglUb29rIG91dCBpY29uIGRlZmF1bHRzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShpbnN0YWxsVUkpOiBzZXQgcm9vdCB0byB2aXNpYmxlCgkoZ2V0Q2VsbEJvdW5kcyk6IHRvb2sgb3V0IGFkZGl0aW9uIHRvIHdpZHRoIHNpbmNlIHRoZXJlIG1heSBub3QgYmUKCWFuIGljb24uCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhOgoJQWRkZWQgaW4gaWNvbiBkZWZhdWx0cwoJKiBsaWIvTWFrZWZpbGUuYW06CglGaXhlZCBzbyBpY29ucyBhcmUgaW5zdGFsbGVkIGZvciB0aGUgSlRyZWUKCjIwMDUtMDctMTIgIEFhcm9uIEx1Y2hrbyAgPGFsdWNoa29AcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvT2JqZWN0UmVmZXJlbmNlQ29tbWFuZFNldC5qYXZhOgoJTmV3IGZpbGUuCgoyMDA1LTA3LTEyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVUaXRsZVBhbmUuamF2YQoJUmVtb3ZlZCBhZC1ob2MgaWNvbnMuIFJlcGxhY2VkIHRoZW0gYnkKCUJhc2ljSWNvbkZhY3RvcnkuY3JlYXRlRW1wdHlGcmFtZUljb24ganVzdCBsaWtlIGluIHRoZSBKREsuCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogSGFuZGxlIGNoYW5nZSBldmVudHMKCWZvciBjbG9zYWJsZSwgaWNvbmlmaWFibGUgYW5kIG1heGltaXphYmxlIGhlcmUuCgkoY3JlYXRlQnV0dG9ucyk6IFJlY29nbml6ZSBpZiB0aGUgSkludGVybmFsRnJhbWUgaXMgY2xvc2FibGUsCglpY29uaWZpYWJsZSBvciBtYXhpbWl6YWJsZS4KCjIwMDUtMDctMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IENvcnJlY3RlZCBjb2xvciB2YWx1ZXMgZm9yIEJhc2ljTCZGIGJ1dHRvbnMuCgoyMDA1LTA3LTEyICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YToKCShpc1NlbGVjdGVkKTogQ2FsbCBzdXBlci5pc1NlbGVjdGVkKCkgaW5zdGVhZCBvZiBzdXBlci5pc0FybWVkKCkuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CgkocGFpbnRNZW51SXRlbSk6IFJlcGxhY2VkIGluY29ycmVjdCBzZWxlY3Rpb24gY3JpdGVyaWEgd2l0aCBjYWxsIHRvCglpc1NlbGVjdGVkKCkuCgkocGFpbnRUZXh0KTogTGlrZXdpc2UuCgoyMDA1LTA3LTEyICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhCgkobWtUcmVlV29ybGQpOiBJbXBsZW1lbnRlZAoJKG1rVGFiYmVkUGFuZSk6IGFkZGVkIGluIHRhYiBmb3IgVHJlZVdvcmxkCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCglDaGFuZ2VkIGRlZmF1bHQgY29sb3Igb2YgdGV4dCBub24gc2VsZWN0aW9uIGJhY2tncm91bmQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJUmVtb3ZlZCBpcnJlbGV2YW50IGNvbW1lbnQKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxSZW5kZXJlci5qYXZhCgkoZ2V0VHJlZUNlbGxSZW5kZXJlckNvbXBvbmVudCk6IGNoYW5nZWQgdG8gdXNlIGJhY2tncm91bmQncyBub24gCglzZWxlY3Rpb24gZGVmYXVsdCBjb2xvciBpbnN0ZWFkCgoyMDA1LTA3LTEyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVUaXRsZVBhbmUuamF2YQoJKFRpdGxlUGFuZUxheW91dC5sYXlvdXRDb250YWluZXIpOiBEbyBub3QgY2hhbmdlIGFueSBzdGF0ZSBvZgoJdGhlIGNvbXBvbmVudHMgaGVyZSAodmlzaWJsZS9lbmFibGVBY3Rpb25zKS4gVGhpcyBpcyBub3QgdGhlIHB1cnBvc2Ugb2YKCWEgbGF5b3V0IG1hbmFnZXIgYW5kIGNhbiBsZWFkIHRvIGxvb3BzLiBBbHNvIGNvcnJlY3QgdGhlIGxheW91dAoJdG8gYmUgY2xvc2VyIHRvIHRoZSBsYXlvdXQgb2YgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi4KCShUaXRsZVBhbmVMYXlvdXQucHJlZmVycmVkTGF5b3V0U2l6ZSk6IFJldHVybiAoMjIsIDE4KQoJaGVyZS4gVGhhdCBpcyB3aGF0IHRoZSBKREsgcmV0dXJucyBmb3IgdGhlIHRpdGxlIGJhci4KCShQYW5lQnV0dG9uKTogRG9uJ3Qgc2V0IHRoZSBib3JkZXIgdG8gbnVsbC4KCShjcmVhdGVCdXR0b25zKTogVGhlIGJ1dHRvbnMgYXJlIG9wYXF1ZS4KCShjcmVhdGVCdXR0b25JY29ucyk6IERvbid0IGNyZWF0ZSBpY29ucyBpbiB0aGUgQmFzaWMgTCZGLgoKMjAwNS0wNy0xMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pBcHBsZXQuamF2YSwKCSogamF2YXgvc3dpbmcvSkRpYWxvZy5qYXZhLAoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YSwKCSogamF2YXgvc3dpbmcvSldpbmRvdy5qYXZhOgoJKGFkZEltcGwpOiBBZGQgdG8gdGhlIGZyYW1lIGl0c2VsZiBpZiB3ZSBhcmUgaW4gdGhlIGluaXQKCXN0YWdlLCBvdGhlcndpc2UgYWRkIHRvIHRoZSBjb250ZW50UGFuZS4KCjIwMDUtMDctMTIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvYXd0L01lZGlhVHJhY2tlci5qYXZhIChjaGVja0FsbCk6IFNldCBhbmQgY2hlY2sgc3RhdHVzIG9mCglNZWRpYUVudHJ5IHdpdGggY2hlY2tJbWFnZSgpIGlmIHByZXBhcmVJbWFnZSgpIHJldHVybnMgZmFsc2UuCgkoc3RhdHVzQWxsKTogTGlrZXdpc2UuCgkoY2hlY2tJRCk6IExpa2V3aXNlLgoJKHN0YXR1c0lEKTogTGlrZXdpc2UuCgoyMDA1LTA3LTEyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShDYXJldEJsaW5rVGltZXIuYWN0aW9uUGVyZm9ybWVkKTogQ2hlY2sgdGhhdCBjYXJldCAhPSBudWxsLgoJKENhcmV0QmxpbmtUaW1lci51cGRhdGUpOiBMaWtld2lzZS4KCjIwMDUtMDctMTIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglSZXBvcnRlZCBieSBTaW1vbiBLaXRjaGluZyA8c2tpdGNoaW5nQGFwYWNoZS5vcmc+CgkqIGphdmEvbGFuZy9TdHJpbmcuamF2YSAodG9DaGFyQXJyYXkpOiBSZXR1cm4gdmFsdWUuY2xvbmUoKSB3aGVuCgljb3VudCA9PSB2YWx1ZS5sZW5ndGguCgoyMDA1LTA3LTEyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1BhcnNlckRlbGVnYXRvci5qYXZhIChnbnVQYXJzZXIuZ2V0RFREKToKCUFkZGVkIGNvbW1lbnQgYWJvdXQgJ3N1cGVyJy4KCjIwMDUtMDctMTEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYzoKCVJlcGxhY2Ugb2NjdXJyZW5jZXMgb2YgbWFsbG9jIHdpdGggZ19tYWxsb2MgYW5kIGZyZWUgd2l0aCBnX2ZyZWUuCgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hvaWNlUGVlci5qYXZhIChjb25uZWN0U2lnbmFscyk6IE5ldyBtZXRob2QuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0Nob2ljZVBlZXIuaDogUmVnZW5lcmF0ZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXIuYzogTW92ZQoJZ2RrX3RocmVhZHNfZW50ZXIgY2FsbHMgdG8gc3RhcnQgb2YgbWV0aG9kIGJvZGllcy4gIE1vdmUKCWdka190aHJlYWRzX2xlYXZlIGNhbGxzIHRvIGVuZCBvZiBtZXRob2QgZGVmaW5pdGlvbnMgYm9kaWVzLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3NFbnZpcm9ubWVudC5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUGl4YnVmRGVjb2Rlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUm9ib3RQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtUZXh0TGF5b3V0LmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDYW52YXNQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaGVja2JveEdyb3VwUGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hNZW51SXRlbVBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NoZWNrYm94UGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hvaWNlUGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2xpcGJvYXJkLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFbWJlZGRlZFdpbmRvd1BlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGcmFtZVBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0dlbmVyaWNQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZS5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTGFiZWxQZWVyLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMaXN0UGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWVudUJhclBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVJdGVtUGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWVudVBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BhbmVsUGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrUG9wdXBNZW51UGVlci5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrU2Nyb2xsUGFuZVBlZXIuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYzogTGlrZXdpc2UuCgoyMDA1LTA3LTEyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1BhcnNlckRlbGVnYXRvci5qYXZhIChnbnVQYXJzZXIuZ2V0RFREKToKCUFkZGVkIGV4cGxpY2l0IGZpZWxkIHJlZmVyZW5jZS4KCjIwMDUtMDctMTEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL2xhbmcvSWxsZWdhbEFjY2Vzc0V4Y2VwdGlvbi5qYXZhOiBmaXhlZCBtaW5vciBBUEkgZG9jIGVycm9ycywKCSogamF2YS9sYW5nL1N0cmluZy5qYXZhOiBsaWtld2lzZS4KCQoyMDA1LTA3LTExICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9pby9EYXRhT3V0cHV0LmphdmE6IGZpeGVkIG1pbm9yIEFQSSBkb2MgZXJyb3JzLAoJKiBqYXZhL2lvL0xpbmVOdW1iZXJJbnB1dFN0cmVhbS5qYXZhOiBsaWtld2lzZS4KCjIwMDUtMDctMTEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSWNvbkZhY3RvcnkuamF2YQoJKEhvcml6b250YWxTbGlkZXJUaHVtYkljb24pOiBuZXcgaW5uZXIgY2xhc3MsCgkoVmVydGljYWxTbGlkZXJUaHVtYkljb24pOiBuZXcgaW5uZXIgY2xhc3MsCgkoZ2V0SG9yaXpvbnRhbFNsaWRlclRodW1iSWNvbik6IGltcGxlbWVudGVkLAoJKGdldFZlcnRpY2FsU2xpZGVyVGh1bWJJY29uKTogaW1wbGVtZW50ZWQuCgoyMDA1LTA3LTExICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtJbWFnZS5qYXZhOgoJKHNldEltYWdlKTogU2V0IGVycm9yIGZsYWcgb24gYmFkIHdpZHRoLCBoZWlnaHQgb3IgcGl4ZWxzLgoJKGNoZWNrSW1hZ2UpOiBSZXR1cm4gZXJyb3IgZmxhZy4KCjIwMDUtMDctMTEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KSW50ZXJuYWxGcmFtZS5qYXZhCgkoYWRkSW1wbCk6IEFkZCB0byB0aGUgZnJhbWUgaXRzZWxmIGlmIHdlIGFyZSBpbiB0aGUgaW5pdAoJc3RhZ2UsIG90aGVyd2lzZSBhZGQgdG8gdGhlIGNvbnRlbnRQYW5lLgoKMjAwNS0wNy0xMSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0RlbW8uamF2YQoJKG1rVHJlZSk6IGZpeGVkIHNvIHRoZSBKVHJlZSBhcHBlYXJzIHByb3Blcmx5LgoKMjAwNS0wNy0xMSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJQ2hhbmdlZCB0aGUgZGVmYXVsdCByb3cgaGVpZ2h0IGZvciB0aGUgdHJlZS4KCjIwMDUtMDctMTEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0RlbW8uamF2YQoJKG1rRGVza3RvcFdvcmxkKTogTWFkZSBJbnRlcm5hbEZyYW1lcyB2aXNpYmxlLgoKMjAwNS0wNy0xMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvSkZpbGVDaG9vc2VyLmphdmEgKGdldFNlbGVjdGVkRmlsZXMpOiBSZXR1cm4gYW4gb25lCgllbGVtZW50IGFycmF5IGNvbnRhaW5pbmcgc2VsZWN0ZWRGaWxlIGlmIHNlbGVjdGVkRmlsZXMgaXMgbnVsbC4KCjIwMDUtMDctMTEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKGdldFByZXZpb3VzVmlzaWJsZU5vZGUpOiBJbXBsZW1lbnRlZAoJKHNlbGVjdFBhdGgpOiBoZWxwZXIgbWV0aG9kLCBpbXBsZW1lbnRlZC4KCShrZXlQcmVzc2VkKTogaGFuZGxlcyB1cC9kb3duL2xlZnQvcmlnaHQga2V5cwoJKG1vdXNlQ2xpY2tlZCk6IG1hZGUgbW9yZSBlZmZpY2VudCBhbmQgaW1wbGVtZW50ZWQgZG91YmxlIAoJY2xpY2tpbmcgZm9yIGZvbGRlcnMuCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShjbGVhclNlbGVjdGlvbik6IExlYWQgc2VsZWN0aW9uIHBhdGggaXMgc2V0IHRvIG51bGwgd2hlbiAKCW5vdGhpbmcgaXMgY3VycmVudGx5IHNlbGVjdGVkLgoKMjAwNS0wNy0xMSAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51VUkuamF2YToKCShNb3VzZUhhbmRsZXIucG9wdXBWaXNpYmxlKTogbmV3IG1ldGhvZC4KCShNb3VzZUhhbmRsZXIubW91c2VFbnRlcmVkKTogUmVtb3ZlZCBjaGVjayBmb3IgbWVudSBiZWluZyBhcm1lZCB0bwoJY29tcGx5IHdpdGggcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uLiAgQ2FsbHMgcG9wdXBWaXNpYmxlIHRvIGNoZWNrCglmb3IgbWVudXMgd2l0aCB0aGVpciBwb3B1cCBtZW51IHZpc2libGUuCgoyMDA1LTA3LTExICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL25ldC9EYXRhZ3JhbVNvY2tldC5qYXZhIChnZXRJbXBsKTogUmVjb3JkIGNhdXNlIG9mIEV4Y2VwdGlvbi4KCjIwMDUtMDctMTEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG5hdGl2ZS9qbmkvamF2YS1uZXQvZ251X2phdmFfbmV0X1BsYWluRGF0YWdyYW1Tb2NrZXRJbXBsLmM6CglXaGVuZXZlciBhbiBFeGNlcHRpb25PY2N1cnJlZCBqdXN0IHJldHVybiB0byB0aHJvdyBpdCwgZG9uJ3QgbWFzay4KCSogbmF0aXZlL2puaS9qYXZhLW5ldC9qYXZhbmV0LmMgKF9qYXZhbmV0X2dldF9uZXRhZGRyKTogQ2hlY2sgZm9yCglOVUxMIGFkZHIuCgkoX2phdmFuZXRfY3JlYXRlKTogRXhwbGljaXRseSBjbG9zZSBzb2NrZXQgb24gZmFpbHVyZS4KCShfamF2YW5ldF9jbG9zZSk6IFNhdmUgZXJyb3IgbWVzc2FnZSBhbmQgcmV0cnkgY2xvc2luZyB3aGVuCglpbnRlcnJ1cHRlZCBiZWZvcmUgdGhyb3dpbmcgZXhjZXB0aW9uLgoJKF9qYXZhbmV0X2Nvbm5lY3QpOiBLZWVwIHJldHJ5aW5nIGNvbm5lY3QgYWZ0ZXIgc3lzdGVtIGNhbGwKCWludGVycnVwdGVkLiBGaXJzdCBjb25zdHJ1Y3QgZXhjZXB0aW9uIGJlZm9yZSBjbGVhbnVwLgoJKF9qYXZhbmV0X2JpbmQpOiBTYXZlIGVycm9yIHN0cmluZyBmb3IgZXhjZXB0aW9uLgoJKF9qYXZhbmV0X2FjY2VwdCk6IEV4cGxpY2l0bHkgY2xvc2Ugc29ja2V0IG9uIGZhaWx1cmUuCgkoX2phdmFuZXRfcmVjdmZyb20pOiBUaHJvdyBTb2NrZXRUaW1lb3V0RXhjZXB0aW9uIHdoZW4gdGltZWQgb3V0LgoJKF9qYXZhbmV0X3NlbmR0byk6IFNlbmQgYWxsIGRhdGEgZXZlbiB3aGVuIGludGVycnVwdGVkLgoJKF9qYXZhbmV0X3NldF9vcHRpb24pOiBEb24ndCBpZ25vcmUgZXJyb3Igd2hlbiBzZXR0aW5nIFNPX1RJTUVPVVQuCgkqIG5hdGl2ZS90YXJnZXQvZ2VuZXJpYy90YXJnZXRfZ2VuZXJpY19uZXR3b3JrLmgKCShUQVJHRVRfTkFUSVZFX05FVFdPUktfU09DS0VUX1NFVF9PUFRJT05fU09fVElNRU9VVCk6IFVzZSB0aW1ldmFsIGZvcgoJc2V0c29ja29wdC4KCShUQVJHRVRfTkFUSVZFX05FVFdPUktfU09DS0VUX0dFVF9PUFRJT05fU09fVElNRU9VVCk6IExpa2V3aXNlIGZvcgoJZ2V0c29ja29wdC4KCjIwMDUtMDctMTEgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmE6CgkoTW91c2VJbnB1dEhhbmRsZXIubW91c2VFbnRlcmVkKTogQWRkZWQgY2hlY2s6IGlmIGEgZGlmZmVyZW50IG1lbnUgaW4KCXRoZSBtZW51YmFyIHdhcyBzZWxlY3RlZCwgd2UgZG9uJ3Qgc2VsZWN0IHRoaXMgb25lIHVubGVzcyB0aGUgb2xkIG9uZQoJaGFkIGl0cyBwb3B1cCBtZW51IHNob3dpbmcuICBUaGlzIGNvbXBsaWVzIHdpdGggdGhlIHJlZmVyZW5jZQoJaW1wbGVtZW50YXRpb24uCgoyMDA1LTA3LTExICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YToKCShzZXRTZWxlY3RlZEhlbHBlcik6IG5ldyBtZXRob2QuCgkoc2V0U2VsZWN0ZWQpOiBDb2RlIG1vdmVkIHRvIHNldFNlbGVjdGVkSGVscGVyLiBDYWxscwoJc2V0U2VsZWN0ZWRIZWxwZXIoc2VsZWN0ZWQsdHJ1ZSxmYWxzZSkgd2hpY2ggZG9lc24ndCBleHBhbmQgdGhlIHBvcHVwCgltZW51IGFuZCB3b3JrcyB3aGV0aGVyIHRoZSBtZW51IGlzIGVuYWJsZWQgb3Igbm90LgoJKG1lbnVTZWxlY3Rpb25DaGFuZ2VkKTogQ2hhbmdlZCBjYWxsIHRvIHNldFNlbGVjdGVkKGNoYW5nZWQpIHRvIAoJc2V0U2VsZWN0ZWRIZWxwZXIoY2hhbmdlZCxpc0VuYWJsZWQoKSx0cnVlKSB3aGljaCBkb2VzIGV4cGFuZCB0aGUKCXBvcHVwIG1lbnUsIGJ1dCBvbmx5IGlmIHRoZSBtZW51IGlzIGVuYWJsZWQuCgoyMDA1LTA3LTEwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmEgKGZvcmNlKTogTmV3IG5hdGl2ZQoJbWV0aG9kLgoJKGZvcmNlKGJvb2xlYW4pKTogQ2FsbCBuZXcgbmF0aXZlIGZvcmNlIG1ldGhvZC4KCSogbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fY2hhbm5lbHNfRmlsZUNoYW5uZWxJbXBsLmMKCShKYXZhX2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGxfcmVhZF9fKToKCVRlc3QgZm9yIHJlc3VsdCAhPSBUQVJHRVRfTkFUSVZFX09LIGFzIHN0b3AgY29uZGl0aW9uLgoJKEphdmFfZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbF9yZWFkX19fM0JJSSk6CglDaGVjayBvdmVyZmxvdyBhbmQgdW5kZXJmbG93LiBPbmx5IGluY3JlYXNlIGJ5dGVzX3JlYWQgd2hlbgoJd2UgZGlkbid0IGdldCBhbiBlcnJvci4KCShKYXZhX2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGxfd3JpdGVfX0kpOgoJUmV0dXJuIHdoZW4gd2UgZW5jb3VudGVyIGFuIGVycm9yLgoJKEphdmFfZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbF93cml0ZV9fXzNCSUkpOgoJT25seSBpbmNyZWFzZSBieXRlc193cml0dGVuIHdoZW4gd2UgZGlkbid0IGdldCBhbiBlcnJvci4KCShKYXZhX2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGxfZm9yY2UpOiBOZXcgZnVuY3Rpb24uCgkqIGluY2x1ZGUvZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbC5oOiBSZWdlbmVyYXRlZC4KCjIwMDUtMDctMTEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKGdldENlbGxCb3VuZHMpOiBhZGRlZCB3aWR0aCBvZiBpY29uLCBzbyBzZWxlY3Rpb24gZml0cyBvdmVyIAoJdGhlIGNlbGwgcHJvcGVybHkuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCglhZGRlZCBpbiBpY29ucyBmb3IgdGhlIHRyZWUuCgkqIGxpYi9NYWtlZmlsZS5hbQoJYWRkZWQgaW4gaGFuZGxpbmcgZm9yIHRoZSBpY29ucyBiZWluZyB1c2VkLgoKMjAwNS0wNy0xMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pJbnRlcm5hbEZyYW1lLmphdmEKCShwYWNrKTogU2V0IHRoZSBKSW50ZXJuYWxGcmFtZSdzIG93biBzaXplIGhlcmUgaW5zdGVhZCBvZgoJbGF5b3V0aW5nIGl0cyBjaGlsZHJlbiAodGhpcyBpcyB0cmlnZ2VyZWQgYnkgc2V0U2l6ZSBhbnl3YXkpLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBTZXQgdGhlIGNvcnJlY3QgYm9yZGVyIGZvciBJbnRlcm5hbEZyYW1lcy4KCVNldCBJbnRlcm5hbEZyYW1lcyB0byBpbnZpc2libGUgYnkgZGVmYXVsdC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBTZXQgY29ycmVjdCBjb2xvciB2YWx1ZXMgZm9yCglJbnRlcm5hbEZyYW1lcy4KCjIwMDUtMDctMTAgIENhc2V5IE1hcnNoYWxsICA8Y3NtQGdudS5vcmc+CgoJKiBjb25maWd1cmUuYWMgKEFDX0NIRUNLX0hFQURFUlMpOiBhZGQgJ2ZjbnRsLmgnLgoJKEFDX0NIRUNLX0ZVTkNTKTogYWRkICdmY250bCcuCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsLmM6CglJbmNsdWRlIDxmY250bC5oPiBpZiBIQVZFX0ZDTlRMX0guCgkoSmF2YV9nbnVfamF2YV9uaW9fY2hhbm5lbHNfRmlsZUNoYW5uZWxJbXBsX2xvY2ssCglKYXZhX2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGxfdW5sb2NrKTogaW1wbGVtZW50ZWQKCWlmIEhBVkVfRkNOVEwuCgoyMDA1LTA3LTEwICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogZ251L2NsYXNzcGF0aC9kZWJ1Zy9Db21wb25lbnQuamF2YTogbmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvZGVidWcvUHJlY2lzZUZpbHRlci5qYXZhOiBuZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9kZWJ1Zy9TeXN0ZW1Mb2dnZXIuamF2YTogbmV3IGZpbGUuCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNlcnRpZmljYXRlLmphdmEKCShERUJVRywgZGVidWcsIGRlYnVnKTogcmVtb3ZlZC4KCShsb2dnZXIpOiBuZXcgY29uc3RhbnQ7IHVzZSAnbG9nZ2VyJyB3aXRoICdDb21wb25lbnQuWDUwOScKCWZvciBkZWJ1ZyBtZXNzYWdlcyB0aHJvdWdob3V0LgoJKHBhcnNlKTogYWx3YXlzIHJlYWQgdGhlIG5leHQgREVSIHZhbHVlIGFmdGVyIHJlYWRpbmcgdGhlCgl2ZXJzaW9uLXNwZWNpZmljIHZhbHVlcy4KCjIwMDUtMDctMTAgIERhbGlib3IgVG9waWMgIDxyb2JpbGFkQGthZmZlLm9yZz4KCgkqIGphdmEvaW8vT2JqZWN0T3V0cHV0U3RyZWFtLmphdmE6IFVwZGF0ZWQgY29weXJpZ2h0IAoJaW5mb3JtYXRpb24gZm9yIDIwMDUuCgoyMDA1LTA3LTEwICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhCgkoZ2V0T2JqZWN0RmllbGQpOiBDbGFyaWZpZWQgZXJyb3IgY2hlY2tpbmcgY29kZSwgYW5kCglpbXByb3ZlZCBleGNlcHRpb24gbWVzc2FnZXMuCgoyMDA1LTA3LTEwICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhIChERUJVRyk6IE5ldyBjb25zdGFudC4KCShPYmplY3RPdXRwdXRTdHJlYW0sIHdyaXRlT2JqZWN0KSBVc2UgaW50ZXJuYWwgZGVidWcgc3dpdGNoLgoKMjAwNS0wNy0xMCAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChERUJVRyk6IAoJTmV3IHByaXZhdGUgc3RhdGljIGZpZWxkLgoJKE9iamVjdElucHV0U3RyZWFtLCByZXNvbHZlQ2xhc3MpIFVzZSBERUJVRy4KCjIwMDUtMDctMTAgIERhbGlib3IgVG9waWMgIDxyb2JpbGFkQGthZmZlLm9yZz4KCgkqIGphdmEvYXd0L0dyaWRCYWdMYXlvdXQuamF2YToKCShhZGRMYXlvdXRDb21wb25lbnQpIEltcHJvdmVkIGVycm9yIG1lc3NhZ2UuCgoyMDA1LTA3LTEwICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBnbnUvamF2YS90ZXh0L0Zvcm1hdENoYXJhY3Rlckl0ZXJhdG9yLmphdmE6CglSZW1vdmVkIHVubmVjZXNzYXJ5IGltcG9ydCBvZiBnbnUuY2xhc3NwYXRoLkNvbmZpZ3VyYXRpb24uCgkoREVCVUcpIE5ldyBwcml2YXRlIHN0YXRpYyBmaWVsZC4KCShkZWJ1ZywgZHVtcFRhYmxlKSBVc2UgREVCVUcuCgoyMDA1LTA3LTA5ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL3RyYW5zZm9ybS9BYnN0cmFjdE51bWJlck5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0FwcGx5SW1wb3J0c05vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0FwcGx5VGVtcGxhdGVzTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vQXR0cmlidXRlTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vQmluZGluZ3MuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0NhbGxUZW1wbGF0ZU5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0NvcHlPZk5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0N1cnJlbnRGdW5jdGlvbi5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vRG9jdW1lbnRGdW5jdGlvbi5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vRWxlbWVudEF2YWlsYWJsZUZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9FbGVtZW50Tm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vRm9yRWFjaE5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0Zvcm1hdE51bWJlckZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9GdW5jdGlvbkF2YWlsYWJsZUZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9HZW5lcmF0ZUlkRnVuY3Rpb24uamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0lmTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vS2V5RnVuY3Rpb24uamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1BhcmFtZXRlck5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1NvcnRLZXkuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1N0cmVhbVNlcmlhbGl6ZXIuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1N0eWxlc2hlZXQuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1N5c3RlbVByb3BlcnR5RnVuY3Rpb24uamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1RlbXBsYXRlTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJJbXBsLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9VbnBhcnNlZEVudGl0eVVyaUZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9WYWx1ZU9mTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vV2hlbk5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1dpdGhQYXJhbS5qYXZhLAoJZ251L3htbC94cGF0aC9BbmRFeHByLmphdmEsCglnbnUveG1sL3hwYXRoL0FyaXRobWV0aWNFeHByLmphdmEsCglnbnUveG1sL3hwYXRoL0Jvb2xlYW5GdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9DZWlsaW5nRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvQ29uY2F0RnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvQ29uc3RhbnQuamF2YSwKCWdudS94bWwveHBhdGgvQ29udGFpbnNGdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9Db3VudEZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3hwYXRoL0VxdWFsaXR5RXhwci5qYXZhLAoJZ251L3htbC94cGF0aC9FeHByLmphdmEsCglnbnUveG1sL3hwYXRoL0ZhbHNlRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvRmxvb3JGdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9GdW5jdGlvbkNhbGwuamF2YSwKCWdudS94bWwveHBhdGgvSWRGdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9MYW5nRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvTGFzdEZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3hwYXRoL0xvY2FsTmFtZUZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3hwYXRoL05hbWVGdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9OYW1lVGVzdC5qYXZhLAoJZ251L3htbC94cGF0aC9OYW1lc3BhY2VUZXN0LmphdmEsCglnbnUveG1sL3hwYXRoL05hbWVzcGFjZVVyaUZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3hwYXRoL05lZ2F0aXZlRXhwci5qYXZhLAoJZ251L3htbC94cGF0aC9Ob2RlVHlwZVRlc3QuamF2YSwKCWdudS94bWwveHBhdGgvTm9ybWFsaXplU3BhY2VGdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9Ob3RGdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9OdW1iZXJGdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9PckV4cHIuamF2YSwKCWdudS94bWwveHBhdGgvUGFyZW50aGVzaXplZEV4cHIuamF2YSwKCWdudS94bWwveHBhdGgvUGF0dGVybi5qYXZhLAoJZ251L3htbC94cGF0aC9Qb3NpdGlvbkZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3hwYXRoL1ByZWRpY2F0ZS5qYXZhLAoJZ251L3htbC94cGF0aC9SZWxhdGlvbmFsRXhwci5qYXZhLAoJZ251L3htbC94cGF0aC9Sb290LmphdmEsCglnbnUveG1sL3hwYXRoL1JvdW5kRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvU2VsZWN0b3IuamF2YSwKCWdudS94bWwveHBhdGgvU3RhcnRzV2l0aEZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3hwYXRoL1N0ZXBzLmphdmEsCglnbnUveG1sL3hwYXRoL1N0cmluZ0Z1bmN0aW9uLmphdmEsCglnbnUveG1sL3hwYXRoL1N0cmluZ0xlbmd0aEZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3hwYXRoL1N1YnN0cmluZ0FmdGVyRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvU3Vic3RyaW5nRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvU3VtRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvVGVzdC5qYXZhLAoJZ251L3htbC94cGF0aC9UcmFuc2xhdGVGdW5jdGlvbi5qYXZhLAoJZ251L3htbC94cGF0aC9UcnVlRnVuY3Rpb24uamF2YSwKCWdudS94bWwveHBhdGgvVW5pb25FeHByLmphdmEsCglnbnUveG1sL3hwYXRoL1ZhcmlhYmxlUmVmZXJlbmNlLmphdmEsCglnbnUveG1sL3hwYXRoL1hQYXRoUGFyc2VyLmphdmEsCglnbnUveG1sL3hwYXRoL1hQYXRoUGFyc2VyLnksCglqYXZheC94bWwvbmFtZXNwYWNlL1FOYW1lLmphdmE6IENvcnJlY3Rpb25zIHRvIGhhbmRsaW5nIG9mIFhTTAoJdmFyaWFibGVzIGFuZCBtaW5vciBjb25mb3JtYW5jZSB1cGRhdGVzLgoKMjAwNS0wNy0wOSAgQXJjaGllIENvYmJzICA8YXJjaGllQGRlbGxyb2FkLm9yZz4KCgkqIGphdmEvbmV0L1VSTENsYXNzTG9hZGVyLmphdmE6IGRpc2FsbG93IGRpcmVjdG9yaWVzIGFzIHJlc291cmNlcwoKMjAwNS0wNy0wOSAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCgkqIGphdmEvdXRpbC9sb2dnaW5nL0ZpbGVIYW5kbGVyLmphdmEKCSh3cml0dGVuKTogbmV3IGZpZWxkLgoJKGxvZ0ZpbGVzKTogbmV3IGZpZWxkLgoJKDxpbml0Pik6IGluaXRpYWxpemUgdGhlIE91dHB1dFN0cmVhbSBsYXN0LgoJKGNyZWF0ZUZpbGVTdHJlYW0pOiBtYWRlIG5vbi1zdGF0aWM7IGFwcGVuZCAnLiVnJyB0byAncGF0dGVybicKCWlmIG5vdCBpbmNsdWRlZDsgb3BlbiBleGlzdGluZyBmaWxlcyBpZiAnYXBwZW5kJyBpcyBzZXQ7IHJldHVybgoJYnl0ZS1jb3VudGluZyBzdHJlYW07IHVzZSAnaGFzJywgbm90ICdTdHJpbmcuaW5kZXhPZicuCgkocHVibGlzaCk6IHJvdGF0ZSB0aGUgZmlsZSBpZiB3ZSBnbyBiZXlvbmQgdGhlIGJ5dGUgbGltaXQ7IGZsdXNoCgl0aGUgc3RyZWFtIGFmdGVyIHB1Ymxpc2hpbmcgZWFjaCByZWNvcmQuCgkocm90YXRlKTogbmV3IG1ldGhvZC4KCShoYXMpOiBuZXcgbWV0aG9kLgoJKG9zdHIpOiBuZXcgbWVtYmVyIGNsYXNzLgoKMjAwNS0wNy0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbGliL3NwbGl0LWZvci1nY2ouc2g6IE1ha2UgbGlzdCBmaWxlIGRlcGVuZCBvbiBzb3VyY2UgZmlsZS4KCSogbGliL01ha2VmaWxlLmdjaiAoJS5zdGFtcCk6IFNldCB0YXJnZXQgbmFtZSB0byBzdGFtcCBmaWxlLgoKMjAwNS0wNy0wOCAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZG9jL2hhY2tpbmcudGV4aW5mbzogRml4ZWQgYnJva2VuIGxpbmtzIHRvIEdOVSBDb2RpbmcKCVN0YW5kYXJkcyB0byBwb2ludCB0byBodHRwOi8vd3d3LmdudS5vcmcvcHJlcC9zdGFuZGFyZHMvCgoyMDA1LTA3LTA4ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ZpbGVDaG9vc2VyVUkuamF2YToKCShBcHByb3ZlU2VsZWN0aW9uQWN0aW9uLmFjdGlvblBlcmZvcm1lZCk6IEFsbG93IGRpcmVjdG9yaWVzIHRvIGJlCglzZWxlY3RlZCB1bmxlc3Mgc2VsZWN0aW9uIG1vZGUgaXMgRklMRVNfT05MWS4KCjIwMDUtMDctMDggIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YTogbWlub3IgQVBJIGRvYyBmaXhlcywKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94RWRpdG9yLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljR3JhcGhpY3NVdGlscy5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xhYmVsVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMaXN0VUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVCYXJVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BvcHVwTWVudVVJLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGlubmVyVUkuamF2YTogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVEaXZpZGVyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbFRpcFVJLmphdmE6IGxpa2V3aXNlLgoJCjIwMDUtMDctMDggIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9maWxlY2hvb3Nlci9GaWxlU3lzdGVtVmlldy5qYXZhOgoJKGdldEZpbGVzKTogQWRkZWQgY2hlY2sgZm9yIG5vbi1leGlzdGVudCBkaXJlY3RvcnksIGluIHdoaWNoIGNhc2UKCWRlZmF1bHQgdG8gaG9tZSBkaXJlY3RvcnkuCgoyMDA1LTA3LTA4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEljb25GYWN0b3J5LmphdmE6IG5ldyBmaWxlLCBpbXBsZW1lbnRzIAoJY29yZSB0cmVlIGljb25zLgoJCjIwMDUtMDctMDggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGdldERlZmF1bHRzKTogQ2FsbCB0aGVtZS5hZGRDdXN0b21FbnRyaWVzVG9UYWJsZSgpIG9ubHkgb25jZQoJZHVyaW5nIGluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWZhdWx0cyB0YWJsZS4KCjIwMDUtMDctMDggIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGxpYi9NYWtlZmlsZS5hbSAoRk9VTkRfR0NKKTogQWRkIHRvcF9idWlsZGRpciB0byBjb21waWxlX2NsYXNzcGF0aC4KCShFWFRSQV9ESVNUKTogQWRkIE1ha2VmaWxlLmdjaiBhbmQgc3BsaXQtZm9yLWdjai5zaAoJKGNsZWFuLWxvY2FsKTogUmVtb3ZlIGxpc3RzIGFuZCBNYWtlZmlsZS5kZXBzLgoKMjAwNS0wNy0wOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBJbml0aWFsaXplIGNlbGwgYm9yZGVycy4KCShwYWludCk6IFNldCBjb3JyZWN0IGNlbGwgYm9yZGVyIGJlZm9yZSBwYWludGluZy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdCk6IENvcnJlY3RlZCBjb2xvciB2YWx1ZSBmb3IgdGhlCglUYWJsZS5mb2N1c0NlbGxIaWdobGlnaHRCb3JkZXIgVUlSZXNvdXJjZS4KCjIwMDUtMDctMDcgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL09iamVjdFN0cmVhbUNsYXNzLmphdmEKCShmaW5kQWNjZXNzaWJsZU1ldGhvZCk6IEFkZGVkIGNvZGUgdG8gbWFrZSBtZXRob2QgYWNjZXNzaWJsZS4KCjIwMDUtMDctMDcgIFJvYmVydCBTY2h1c3RlciA8cm9iZXJ0c2NodXN0ZXJAZnNmZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhCgkoc2V0U2VsZWN0ZWQpOiBBZGRlZCBpc0VuYWJsZWQoKSB0byBleHByZXNzaW9uLgoKMjAwNS0wNy0wNyAgQWFyb24gTHVjaGtvICA8YWx1Y2hrb0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL3V0aWwvU2lnbmF0dXJlLmphdmEKCShjb21wdXRlRmllbGRTaWduYXR1cmUpOiBOZXcgTWV0aG9kLgoKMjAwNS0wNy0wNyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhOgoJKGNsZWFyU2VsZWN0aW9uKTogQWRkZWQgY2xlYXJpbmcgb2YgY29sdW1ucyBhcyB3ZWxsIGFzIHJvd3MuCgoyMDA1LTA3LTA3ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShNb3VzZUlucHV0SGFuZGxlci5tb3VzZVByZXNzZWQpOiBBZGRlZCBjaGVjayBmb3IgY29udHJvbCBiZWluZyBwcmVzc2VkCglhbmQgbW91c2UgY2xpY2tlZCBvbiBhbHJlYWR5IHNlbGVjdGVkIGNlbGwuICBJbiB0aGlzIGNhc2UsIGRlc2VsZWN0Cgl0aGUgY2VsbC4KCjIwMDUtMDctMDcgIEFhcm9uIEx1Y2hrbyAgPGFsdWNoa29AcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvUmVmZXJlbmNlVHlwZUNvbW1hbmRTZXQuamF2YTogTmV3CglmaWxlLgoKMjAwNS0wNy0wNyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0U2VsZWN0aW9uTW9kZWwuamF2YToKCShhZGRTZWxlY3Rpb25JbnRlcnZhbCk6IEFkZGVkIGNoZWNrIGZvciBsZWFkU2VsZWN0aW9uSW5kZXggYmVpbmcKCXVuc2VsZWN0ZWQgKGllIC0gYWZ0ZXIgYSByZW1vdmUgb3BlcmF0aW9uKS4KCQoyMDA1LTA3LTA3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShnZXRSb3dDb3VudCk6IEltcGxlbWVudGVkCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IEltcGxlbWVudGVkCgkoZ2V0TWluaW11bVNpemUpOiBJbXBsZW1lbnRlZAoJKGdldE1heGltdW1TaXplKTogSW1wbGVtZW50ZWQKCShnZXRDZWxsQm91bmRzKTogY2hlY2tlZCBpZiBwYXJhbWV0ZXIgaXMgbnVsbAoJKHBhaW50UmVjdXJzaXZlKTogYWRkZWQgaW4gYSB2YXJpYWJsZSB0byBrZWVwIHRyYWNrIG9mIHRoZSAKCWxlbmd0aCBvZiB2ZXJ0aWNhbCBsaW5lIHRvIGJlIGRyYXduLiBOb3cgcGFpbnRzIHRyZWUgbmljZWx5LgoKMjAwNS0wNy0wNyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCglGb3JtYXR0ZWQgY29kZSBzbyBlbHNlJ3MgYXJlIG9uIG5ldyBsaW5lcwoKMjAwNS0wNy0wNyAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCglGb3JtYXR0ZWQgY29kZSB0byBnZXQgcmlkIG9mIFRBQnMgICAgICAgIAoJKGdldFBhdGhGb3JSb3cpOiB0b29rIG91dCByZWR1bmRhbnQgY29kZS4KCShnZXROZXh0VmlzaWJsZU5vZGUpOiB0b29rIG91dCByZWR1bmRhbnQgY29kZS4KCjIwMDUtMDctMDcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShEb2N1bWVudEhhbmRsZXIuaW5zZXJ0VXBkYXRlKTogVXBkYXRlIGNhcmV0IHBvc2l0aW9uIHdoZW4gZG9jdW1lbnQKCWNoYW5nZXMuCgkoRG9jdW1lbnRIYW5kbGVyLnJlbW92ZVVwZGF0ZSk6IFVwZGF0ZSBjYXJldCBwb3NpdGlvbiB3aGVuIGRvY3VtZW50CgljaGFuZ2VzLgoKMjAwNS0wNy0wNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9Gb2N1c01hbmFnZXIuamF2YTogTmV3IGNsYXNzLiBQcm92aWRlcyBhIGNvbmNyZXRlCglpbXBsZW1lbnRhdGlvbiBvZiBqYXZheC5zd2luZy5Gb2N1c01hbmFnZXIgc28gdGhhdCB3ZSBjYW4gc3VwcG9ydAoJdGhlIG9sZC1zdHlsZSBGb2N1c01hbmFnZXIgaW4gU3dpbmcgYW5kIEFXVC4KCSogZ251L2NsYXNzcGF0aC9TeXN0ZW1Qcm9wZXJ0aWVzLmphdmE6IEFkZCBuZXcgc3lzdGVtIHByb3BlcnR5CglnbnUuamF2YS5hd3QuRm9jdXNNYW5hZ2VyIHRoYXQgc2V0cyB0aGUgY2xhc3MgdGhhdCBzaG91bGQgYmUgdXNlZAoJYXMgdGhlIGRlZmF1bHQgRm9jdXNNYW5hZ2VyIGluIEFXVCBhbmQgU3dpbmcuCgkqIGphdmEvYXd0L0tleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEKCShzZXRDdXJyZW50S2V5Ym9hcmRGb2N1c01hbmFnZXIpOiBVc2UgY3JlYXRlRm9jdXNNYW5hZ2VyIGluc3RlYWQKCW9mIGNyZWF0aW5nIHRoZSBpbnN0YW5jZSBkaXJlY3RseS4KCShjcmVhdGVGb2N1c01hbmFnZXIpOiBOZXcgbWV0aG9kLiBJbnN0YW50aWF0ZSBhIEtleWJvYXJkRm9jdXNNYW5hZ2VyCgl0aGF0IGlzIHNldCBieSB0aGUgc3lzdGVtIHByb3BlcnR5IGdudS5qYXZhLmF3dC5Gb2N1c01hbmFnZXIuCgkqIGphdmF4L3N3aW5nLkZvY3VzTWFuYWdlci5qYXZhCgkoY29uc3RydWN0b3IpOiBDYWxsIHN1cGVyKCkgaGVyZS4KCShnZXRDdXJyZW50TWFuYWdlcik6IFJldHVybiB0aGUgY3VycmVudCBBV1QgS2V5Ym9hcmRGb2N1c01hbmFnZXIKCWhlcmUuCgkoc2V0Q3VycmVudE1hbmFnZXIpOiBTZXQgdGhlIGN1cnJlbnQgQVdUIEtleWJvYXJkRm9jdXNNYW5hZ2VyCgloZXJlLgoJKHByb2Nlc3NLZXlFdmVudCk6IFJlbW92ZWQgbWV0aG9kLiBUaGlzIGlzIG5vIGxvbmdlciBpbiB0aGUKCUFQSS4KCShmb2N1c05leHRDb21wb25lbnQpOiBSZW1vdmVkIG1ldGhvZC4gVGhpcyBpcyBubyBsb25nZXIgaW4gdGhlCglBUEkuCgkoZm9jdXNQcmV2aW91c0NvbXBvbmVudCk6IFJlbW92ZWQgbWV0aG9kLiBUaGlzIGlzIG5vIGxvbmdlciBpbiB0aGUKCUFQSS4KCjIwMDUtMDctMDcgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9KUHJvZ3Jlc3NCYXIuamF2YQoJKEpQcm9ncmVzc0JhcihpbnQsIGludCwgaW50KSk6IGZpeCBvcmRlciBvZiBwYXJhbWV0ZXJzLAoJKEpQcm9ncmVzc0JhcigpKTogcmVvcmRlciBhcmd1bWVudHMgaW4gY2FsbCB0byBvdGhlciBjb25zdHJ1Y3RvciwKCShKUHJvZ3Jlc3NCYXIoaW50KTogbGlrZXdpc2UsCgkoSlByb2dyZXNzQmFyKGludCwgaW50KTogbGlrZXdpc2UuCgkKMjAwNS0wNy0wNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKE1vdXNlSW5wdXRIYW5kbGVyLm1vdXNlQ2xpY2tlZCk6IEFjY2VzcyBzdGF0aWMgVHJlZVNlbGVjdGlvbk1vZGVsCglmaWVsZHMgdmlhIHRoZSBjbGFzcyBhbmQgbm90IHZpYSBhbiBpbnN0YW5jZS4KCjIwMDUtMDctMDcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmE6CglSZWZvcm1hdHRlZCBzb3VyY2UgZmlsZSB0byBiZXR0ZXIgbWF0Y2ggb3VyIGNvZGluZyBzdGFuZGFyZHMuCgoyMDA1LTA3LTA2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBsaWIvTWFrZWZpbGUuZ2NqOiBOZXcgZmlsZS4KCSogbGliL01ha2VmaWxlLmFtIChKQVZBQyk6IENoYW5nZWQgZm9yIG5ldyBnY2ogYnVpbGQgYXBwcm9hY2guCgkqIGxpYi9nZW4tY2xhc3NsaXN0LnNoLmluOiBEb24ndCBzcGxpdCBsaXN0IGZvciBnY2ouCgkqIGxpYi9zcGxpdC1mb3ItZ2NqLnNoOiBOZXcgZmlsZS4KCjIwMDUtMDctMDYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQm9yZGVycy5qYXZhOiBmaXhlZCBBUEkgZG9jcyBhbGwgb3Zlci4KCQoyMDA1LTA3LTA2ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IVFRQQ29ubmVjdGlvbi5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSFRUUFVSTENvbm5lY3Rpb24uamF2YToKCUZpeCBidWcgd2l0aCBtdWx0aXBsZSB0aHJlYWRzIGFuZCBwZXJzaXN0ZW50IGNvbm5lY3Rpb25zLgoKMjAwNS0wNy0wNiAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC90cmFuc2Zvcm0vU3RyZWFtU2VyaWFsaXplci5qYXZhLAoJZ251L3htbC94cGF0aC9FcXVhbGl0eUV4cHIuamF2YTogWFNMVCBjb25mb3JtYW5jZSBmaXhlcy4KCjIwMDUtMDctMDYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUcmVlVUkuamF2YQoJKGdldFBhdGhGb3JSb3cpOiB0b29rIG91dCByZWR1bmRhbnQgY29kZS4KCjIwMDUtMDctMDYgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShnZXROZXh0VmlzaWJsZU5vZGUpOiBJbXBsZW1lbnRlZAoJKGdldFBhdGhGb3JSb3cpOiBGaXhlZCBzbyB0aGUgbmV4dCBub2RlIHJldHJpZXZlZCBpcyB2aXNpYmxlLgoKMjAwNS0wNy0wNiAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJSW5pdGlhbGl6ZWQgdGhlIEhhc2h0YWJsZS4KCShhZGRTZWxlY3Rpb25QYXRoKTogcmVtb3ZlZCByZWR1bmRhbnQgY29kZS4KCShkb0V4cGFuZFBhcmVudHMpOiBhZGRlZCBpbiBsaW5lIHNvIHRoYXQgc3RhdGUgaXMgCgljaGFuZ2VkIGZvciBjdXJyZW50IHBhdGguIENoYW5nZWQgd2hpbGUgbG9vcCB0byBpZiAKCXN0YXRlbWVudCwgYW4gaW5maW5pdGUgbG9vcCB3YXMgb2NjdXJyaW5nLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKCShnZXRQYXRoRm9yUm93KTogSW1wbGVtZW50ZWQgdG8gd29yayB3aXRoIHZpc2liaWxpdHkuCgkoaXNMZWFmKTogSW1wbGVtZW50ZWQKCShtb3VzZUNsaWNrZWQpOiBhZGQgaW4gY2hlY2sgZm9yIGV4cGFuZC9jb2xsYXBzZS4gCglTZWxlY3Rpb24gZm9yIERJU0NPTlRJR1VPVVMgdHJlZSBzZWxlY3Rpb24gaXMgCglpbXBsZW1lbnRlZC4KCSh0cmVlRXhwYW5kZWQpOiBjYWxsZWQgcmVwYWludCwgc28gdGhlIHRyZWUgdXBkYXRlcyAKCXZpc3VhbGx5IHdoZW4gc29tZXRoaW5nIGlzIGV4cGFuZGVkLgoJKHRyZWVDb2xsYXBzZSk6IFNpbWlsYXIgdG8gdHJlZUV4cGFuZGVkLgoJKHBhaW50TGVhZik6IGNoYW5nZWQgdG8gcGFpbnQgbGVhZiBvbmx5IHdoZW4gdmlzaWJsZS4KCShwYWludE5vbkxlYWYpOiBwYWludHMgb25seSB3aGVuIHZpc2libGUuCgkocGFpbnRSZWN1cnNpdmUpOiBsaW5lcyBmb3IgdHJlZSBhcmUgb25seSBwYWludGVkIHdoZW4gCgluZWVkZWQuIGNoZWNrZWQgZm9yIHZpc2liaWxpdHkgb2YgY3VycmVudCBvYmplY3QgYW5kIAoJcGFyZW50LgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbFJlbmRlcmVyLmphdmEKCShnZXRUcmVlQ2VsbFJlbmRlcmVyQ29tcG9uZW50KTogc2V0dGluZyBpY29ucyB3aGVuIAoJZXhwYW5kZWQuCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVTZWxlY3Rpb25Nb2RlbC5qYXZhCgkoY2xlYXJTZWxlY3Rpb24pOiBzZXQgbGVhZFBhdGggdG8gbnVsbCBiZWNhdXNlIHNlbGVjdGlvbgoJc2hvdWxkIGJlIGNvbXBsZXRlbHkgcmVzZXQuCgoyMDA1LTA3LTA2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKHNldENvbnRlbnRBcmVhRmlsbGVkKTogU2V0IHRoZSBvcGFxdWUgcHJvcGVydHkgaGVyZS4KCjIwMDUtMDctMDYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL2F3dC9BV1RLZXlTdHJva2UuamF2YTogZml4ZWQgQVBJIGRvYyBsaW5rcywKCSogamF2YS9hd3QvQnVmZmVyQ2FwYWJpbGl0aWVzLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL2F3dC9Db2xvclBhaW50Q29udGV4dC5qYXZhOiBsaWtld2lzZSwKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvYXd0L0dyYXBoaWNzRGV2aWNlLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL2F3dC9JbWFnZS5qYXZhOiBsaWtld2lzZSwKCSogamF2YS9hd3QvS2V5Ym9hcmRGb2N1c01hbmFnZXIuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvYXd0L01lZGlhVHJhY2tlci5qYXZhOiBsaWtld2lzZSwKCSogamF2YS9hd3QvUHJpbnRKb2IuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvYXd0L1JvYm90LmphdmE6IGxpa2V3aXNlLgoJCjIwMDUtMDctMDYgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKHNldEF1dG9DcmVhdGVDb2x1bW5zRnJvbU1vZGVsKTogd2hlbiB0aGUgZmxhZyBjaGFuZ2VzIGZyb20gZmFsc2UgdG8KCXRydWUsIGNhbGwgY3JlYXRlRGVmYXVsdENvbHVtbnNGcm9tTW9kZWwoKS4KCQoyMDA1LTA3LTA1ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEgCgkoZ2V0Q29sdW1uTmFtZSk6IHJldHVybiBuYW1lIGZyb20gY29sdW1uIGluIGRhdGEgbW9kZWwuIAoJCjIwMDUtMDctMDUgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhIChkaXNwYXRjaEV2ZW50KTogQ2hlY2sKCXBhcmVudCBhbmQgdGFyZ2V0IGJlZm9yZSBjYXN0aW5nIHRhcmdldCB0byBXaW5kb3cuCgoyMDA1LTA3LTA1ICBBYXJvbiBMdWNoa28gIDxhbHVjaGtvQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvcHJvY2Vzc29yL1N0cmluZ1JlZmVyZW5jZUNvbW1hbmRTZXQuamF2YToKCU5ldyBmaWxlLgoKMjAwNS0wNy0wNSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QWN0aW9uLmphdmE6IHVwZGF0ZWQgQVBJIGRvY3MsCgkqIGphdmF4L3N3aW5nL0FjdGlvbi5qYXZhOiBsaWtld2lzZS4KCQoyMDA1LTA3LTA1ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hcHBsZXQvQXBwbGV0LmphdmE6IGFkZGVkIGltcG9ydCB0byBmaXggQVBJIGRvYyBsaW5rLgoKMjAwNS0wNy0wNSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9TdHlsZUNvbnRleHQuamF2YQoJKGRlZmF1bHRTdHlsZSk6IE5ldyBmaWVsZC4KCShjb25zdHJ1Y3Rvcik6IEFkZCBkZWZhdWx0U3R5bGUgdG8gdGhlIHN0eWxlVGFibGUuCgkoREVGQVVMVF9TVFlMRSwgZ2V0U3R5bGUsIGdldFN0eWxlTmFtZXMpOiBEb2N1bWVudGVkLiAKCjIwMDUtMDctMDUgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YToKCShhZGRDb2x1bW4pOiByZXRyaWV2ZSBjb3JyZWN0IGNvbHVtbiBuYW1lLAoJKGNvbnZlcnRDb2x1bW5JbmRleFRvTW9kZWwpOiByZW1vdmUgY2hlY2sgZm9yID4gY29sdW1uQ291bnQgYW5kIGxldAoJZXhjZXB0aW9uIGhhcHBlbiwKCShnZXRDb2x1bW5OYW1lKTogcmV0cmlldmUgbmFtZSBmcm9tIFRhYmxlQ29sdW1uLAoJKGlzQ2VsbEVkaXRhYmxlKTogaW1wbGVtZW50ZWQsCgkoY3JlYXRlRGVmYXVsdENvbHVtbnNGcm9tTW9kZWwpOiBpbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ29sdW1uTW9kZWwuamF2YToKCShhZGRDb2x1bW4pOiB0aHJvdyBleGNlcHRpb24gZm9yIG51bGwgYXJndW1lbnQsIHNldCBjb3JyZWN0IGNvbHVtbiAKCWluZGV4IGluIFRhYmxlQ29sdW1uTW9kZWxFdmVudCwKCShyZW1vdmVDb2x1bW4pOiB1c2UgY29ycmVjdCBjb2x1bW4gaW5kZXgsCgkobW92ZUNvbHVtbik6IG1vdmUgdGhlIGNvbHVtbiwgZG9uJ3Qgc3dhcCBpdC4gQWxzbyBhZGRlZCBhcmd1bWVudAoJY2hlY2tzLAoJKGdldENvbHVtbkluZGV4KTogcmVpbXBsZW1lbnRlZC4KCQoyMDA1LTA3LTA1ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhOgoJKEpMYWJlbCk6IFJldmVydCBwcmV2aW91cyBjaGFuZ2UgZm9yIEpMYWJlbChJY29uKSBjb25zdHJ1Y3Rvci4KCjIwMDUtMDctMDUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhOgoJQWRkZWQgQVBJIGRvY3VtZW50YXRpb24gZm9yIGNsYXNzIGFuZCBjb25zdHJ1Y3RvcnMuCgoyMDA1LTA3LTA1ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS91dGlsL0JpdFNldC5qYXZhOiBmaXhlZCBtaW5vciBwcm9ibGVtcyBpbiBBUEkgZG9jcywKCSogamF2YS91dGlsL0NhbGVuZGFyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3V0aWwvQ29sbGVjdGlvbnMuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvdXRpbC9EYXRlLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3V0aWwvSGFzaHRhYmxlLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3V0aWwvTGlua2VkTGlzdC5qYXZhOiBsaWtld2lzZSwKCSogamF2YS91dGlsL1Byb3BlcnRpZXMuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvdXRpbC9Qcm9wZXJ0eVJlc291cmNlQnVuZGxlLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL3V0aWwvUmVzb3VyY2VCdW5kbGUuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhOiBsaWtld2lzZSwKCSogamF2YS91dGlsL1RyZWVNYXAuamF2YTogbGlrZXdpc2UuCgkKMjAwNS0wNy0wNSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhIChyZWFkLCB3cml0ZSk6IE5ldyBtZXRob2RzLiAKCjIwMDUtMDctMDUgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YTogZml4ZWQgQVBJIGRvYyBsaW5rcyBhbGwgb3Zlci4KCjIwMDUtMDctMDUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKEdUS1BFRVJfSF9GSUxFUyk6IFJlbW92ZWQgR3RrVGV4dENvbXBvbmVudFBlZXIuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1RleHRDb21wb25lbnRQZWVyLmg6IFJlbW92ZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEKCShjbGFzc3BhdGhfZ3RrX2NvbXBvbmVudF9jb25uZWN0X25vbmZvY3VzX3NpZ25hbHMpOiBNYXJrIGFyZ3VtZW50Cgl1bnVzZWQuCgkoY2xhc3NwYXRoX2d0a19jb21wb25lbnRfY29ubmVjdF9zaWduYWxzKTogTGlrZXdpc2UuCgoyMDA1LTA3LTA0ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhIChwb3N0VGV4dEV2ZW50KTogTmV3CgltZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0QXJlYVBlZXIuamF2YTogQWRkCglUZXh0Q29tcG9uZW50UGVlciBtZXRob2QgZGVjbGFyYXRpb25zLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dEZpZWxkUGVlci5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1RleHRDb21wb25lbnRQZWVyLmphdmE6IFJlbW92ZSBmaWxlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0QXJlYVBlZXIuaDogUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dEZpZWxkUGVlci5oOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9NYWtlZmlsZS5hbSAobGliZ3RrcGVlcl9sYV9TT1VSQ0VTKTogUmVtb3ZlCglnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dENvbXBvbmVudFBlZXIuYy4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoY2xhc3NwYXRoX2d0a19jb21wb25lbnRfY29ubmVjdF9ub25mb2N1c19zaWduYWxzKTogTmV3IGZ1bmN0aW9uLgoJKGNsYXNzcGF0aF9ndGtfY29tcG9uZW50X2Nvbm5lY3Rfc2lnbmFscyk6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0QXJlYVBlZXIuYzogQWRkCgltZXRob2QgaW1wbGVtZW50YXRpb25zIGZyb20KCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0Q29tcG9uZW50UGVlci5jLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0RmllbGRQZWVyLmM6CglMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dENvbXBvbmVudFBlZXIuYzoKCVJlbW92ZSBmaWxlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0LmMKCShndGtJbml0KTogR2V0IHBvc3RUZXh0RXZlbnRJRCBmcm9tIEd0a0NvbXBvbmVudFBlZXIsIG5vdAoJR3RrVGV4dENvbXBvbmVudFBlZXIuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ3RrcGVlci5oIChjbGFzc3BhdGhfZ3RrX3RleHRjb21wb25lbnRfaW5pdF9qbmkpOiBEZWNsYXJlLgoJKGNsYXNzcGF0aF9ndGtfY29tcG9uZW50X2Nvbm5lY3Rfc2lnbmFscyk6IExpa2V3aXNlLgoJKGNsYXNzcGF0aF9ndGtfY29tcG9uZW50X2Nvbm5lY3Rfbm9uZm9jdXNfc2lnbmFscyk6IExpa2V3aXNlLgoJKGNsYXNzcGF0aF9ndGtfdGV4dGNvbXBvbmVudF9jb25uZWN0X3NpZ25hbHMpOiBMaWtld2lzZS4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Njcm9sbEJhclBlZXIuYzoKCVJlbmFtZSBnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrU2Nyb2xsYmFyUGVlci5jLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL01ha2VmaWxlLmFtIChsaWJndGtwZWVyX2xhX1NPVVJDRVMpOiBSZW5hbWUKCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtTY3JvbGxCYXJQZWVyLmMKCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtTY3JvbGxiYXJQZWVyLmMuCgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhIChjcmVhdGVFbWJlZGRlZFdpbmRvdyk6IE5ldyBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9FbWJlZGRlZFdpbmRvdy5qYXZhIChhZGROb3RpZnkpOiBBc3N1bWUgd2UncmUgdXNpbmcKCUNsYXNzcGF0aFRvb2xraXQuCgkqIGdudS9qYXZhL2F3dC9FbWJlZGRlZFdpbmRvd1N1cHBvcnQuamF2YTogUmVtb3ZlIGZpbGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmE6IFJlbW92ZSByZWZlcmVuY2VzIHRvCglFbWJlZGRlZFdpbmRvd1N1cHBvcnQuCgoyMDA1LTA3LTA0ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YToKCShzZXRFbmFibGVkKTogRml4IHR5cG8gaW4gZXZlbnQgc3RyaW5nLgoJCjIwMDUtMDctMDQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhCgkoUGFnZS5zZXREaXNwbGF5ZWRNbmVtb25pY0luZGV4KTogQWRkZWQgY2hlY2sgZm9yIGluZGV4IGJlaW5nIC0xCgliZWZvcmUgY2FsbGluZyB0aXRsZS5jaGFyQXQoaW5kZXgpLiAgRWxpbWluYXRlcyBTdHJpbmdJbmRleE91dE9mQm91bmRzCgllcnJvci4KCjIwMDUtMDctMDQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtQaXhidWZEZWNvZGVyLmphdmEgKGluaXRpYWxpemVkKToKCVJlbW92ZSB1bnVzZWQgZmllbGQuCgkobmVlZHNDbG9zZSk6IE5ldyBwcml2YXRlIGZpZWxkLgoJKGZpbmlzaCk6IFRha2UgbmVlZHNDbG9zZSBib29sZWFuIGFyZ3VtZW50LgoJKGZpbmFsaXplKTogQ2FsbCBmaW5pc2ggd2l0aCBuZWVkc0Nsb3NlLgoJKHByb2R1Y2UpOiBTZXQgbmVlZHNDbG9zZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUGl4YnVmRGVjb2Rlci5oOiBSZWdlbmVyYXRlZC4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUGl4YnVmRGVjb2Rlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUGl4YnVmRGVjb2Rlcl9maW5pc2gpOiBPbmx5IGNsb3NlCgl3aGVuIG5lZWRlZC4KCQoyMDA1LTA3LTA0ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL1BhcmFtZXRlck1vZGVIb2xkZXIuamF2YTogTmV3IGNvbnN0cnVjdG9yLiAKCjIwMDUtMDctMDQgIEFhcm9uIEx1Y2hrbyAgPGFsdWNoa29AcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvQ29tbWFuZFNldC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3Byb2Nlc3Nvci9QYWNrZXRQcm9jZXNzb3IuamF2YTogVXNlCglDb21tYW5kU2V0cyB0byBoYW5kbGUgSmR3cENvbW1hbmRQYWNrZXRzLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdHJhbnNwb3J0L0pkd3BSZXBseVBhY2tldC5qYXZhOiBOZXcgCglDb25zdHJ1Y3Rvci4KCjIwMDUtMDctMDQgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShhZGRTZWxlY3Rpb25QYXRoKTogaWYgbW91c2UgY2xpY2sgc29tZXdoZXJlIG90aGVyIHRoYW4gCglhIHJvdywgYWxsIHNlbGVjdGlvbnMgYXJlIHJlbW92ZWQKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhCgkobW91c2VDbGlja2VkKTogaWYgbW91c2UgY2xpY2tlZCBvbiBhIHJvdywgYWxsIG90aGVyIAoJc2VsZWN0aW9ucyBhcmUgY2xlYXJlZC4gRElTQ09OVElHVU9VUyBtb2RlIGltcGxlbWVudGVkLgoJKGdldENlbGxCb3VuZHMpOiBJbXBsZW1lbnRlZAoJKHBhaW50TGVhZik6IHBhaW50cyB3aXRoIGNlbGwgYm91bmRzCgkocGFpbnROb25MZWFmKTogcGFpbnRzIHdpdGggY2VsbCBib3VuZHMKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxSZW5kZXJlci5qYXZhOgoJKERlZmF1bHRUcmVlQ2VsbFJlbmRlcmVyQ29tcG9uZW50KTogY2hhbmdlZCBjb2xvciBvZiAKCXNlbGVjdGVkIHJvdwoJKGdldEZvbnQpOiBJbXBsZW1lbnRlZAoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlU2VsZWN0aW9uTW9kZWwuamF2YToKCShhZGRTZWxlY3Rpb25QYXRocyk6IGNoZWNrIGlmIHBhcmFtZXRlciBpcyBudWxsCgkocmVtb3ZlU2VsZWN0aW9uUGF0aHMpOiBjaGVjayBpZiBwYXJhbWV0ZXIgaXMgbnVsbAoKMjAwNS0wNy0wNCAgWmlnYSBNYWhrb3ZlYyAgPHppZ2EubWFoa292ZWNAa2xpa2Euc2k+CgoJKiBjb25maWd1cmUuYWM6IFJlbW92ZSBsaWJhcnQgZGVwZW5kZW5jeS4KCSogc2NyaXB0cy9jbGFzc3BhdGguc3BlYy5pbjogTGlrZXdpc2UuCgkqIElOU1RBTEw6IFJlbW92ZSByZWZlcmVuY2VzIHRvIGxpYmFydC4KCSogZG9jL2hhY2tpbmcudGV4aW5mbzogTGlrZXdpc2UuCgkqIGRvYy93d3cuZ251Lm9yZy9mYXEvZmFxLndtbDogTGlrZXdpc2UuCgoyMDA1LTA3LTAzICBEYW5pZWwgQm9ubmlvdCAgPGJvbm5pb3RAdXNlcnMuc2YubmV0PgoKCSogamF2YS9pby9PYmplY3RTdHJlYW1DbGFzcy5qYXZhIChpblNhbWVQYWNrYWdlKTogTmV3IHByaXZhdGUgbWV0aG9kLgoJKGZpbmRBY2Nlc3NpYmxlTWV0aG9kKTogTGlrZXdpc2UuCgkoY2FjaGVNZXRob2RzKTogTG9va3VwIHJlYWRSZXNvbHZlIGFuZCB3cml0ZVJlcGxhY2UgdXNpbmcgdGhlIG5ldwoJZmluZEFjY2Vzc2libGVNZXRob2QoKS4KCjIwMDUtMDctMDMgIEFyY2hpZSBDb2JicyAgPGFyY2hpZUBkZWxscm9hZC5vcmc+CgoJKiBtNC9hY2luY2x1ZGUubTQ6IGZpeCBicm9rZW4gZXhwcigxKSBzeW50YXgKCjIwMDUtMDctMDMgIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudExvY2F0b3JQYWNrYWdlL3BhY2thZ2UuaHRtbCwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvU2VydmFudExvY2F0b3JQYWNrYWdlL0Nvb2tpZUhvbGRlci5qYXZhOgoJTmV3IGZpbGVzLiAKCjIwMDUtMDctMDIgIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9fUG9saWN5SW1wbEJhc2UuamF2YTogSWhuZXJpdCBmcm9tIFBvbGljeS4KCShpZHMpOiBNYWRlIGZpbmFsIG5vbiBzdGF0aWMsIG5ldyBjb25zdHJ1Y3Rvci4KCSh0eXBlLCB2YWx1ZSwgcG9saWN5Q29kZSk6IE5ldyBmaWVsZHMuCgkoX2ludm9rZSk6IEhhbmRsZSAidmFsdWUiIG9wZXJhdGlvbi4KCShnZXRWYWx1ZSwgZ2V0Q29kZSwgZGVzdHJveSwgdG9TdHJpbmcsIGNvcHksIGVxdWFscywgaGFzaENvZGUpOgoJTmV3IG1ldGhvZHMuCgkqIG9yZy9vbWcvQ09SQkEvUG9saWN5SGVscGVyLmphdmEgKG5hcnJvdyk6IFJlbW92ZWQgY2hlY2sgZm9yCglyZXBvc2l0b3J5IGZvciByZXBvc2l0b3J5IGlkLgoKMjAwNS0wNy0wMiAgQXVkcml1cyBNZXNrYXVza2FzLCA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPiAKCgkqIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvSWRBc3NpZ25tZW50UG9saWN5VmFsdWUuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvSWRVbmlxdWVuZXNzUG9saWN5VmFsdWUuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvSW1wbGljaXRBY3RpdmF0aW9uUG9saWN5VmFsdWUuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvTGlmZXNwYW5Qb2xpY3lWYWx1ZS5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9TZXJ2YW50UmV0ZW50aW9uUG9saWN5VmFsdWUuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUmVxdWVzdFByb2Nlc3NpbmdQb2xpY3lWYWx1ZS5qYXZhOiAKCURvY3VtZW50YXRpb24gdXBkYXRlLgoKMjAwNS0wNy0wMiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogYWxsIGZpbGVzOiBVcGRhdGUgZm9yIG5ldyBGU0YgYWRkcmVzcy4KCjIwMDUtMDctMDEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy91bmRvL1VuZG9NYW5hZ2VyLmphdmE6IGZpeGVkIEFQSSBkb2MgbGlua3MsCgkqIGphdmF4L3N3aW5nL3VuZG8vVW5kb2FibGVFZGl0U3VwcG9ydC5qYXZhOiBsaWtld2lzZS4KCQoyMDA1LTA3LTAxICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hd3QvUmVuZGVyaW5nSGludHMuamF2YTogQVBJIGRvYyB1cGRhdGVzLgoKMjAwNS0wNy0wMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL3d3dy5nbnUub3JnL2Fubm91bmNlLzIwMDUwNjMwLndtbDogTmV3IGZpbGUuCgkqIGRvYy93d3cuZ251Lm9yZy9uZXdzaXRlbXMudHh0OiBBZGQgYW5ub3VuY2VtZW50LgoJKiBkb2Mvd3d3LmdudS5vcmcvZG93bmxvYWRzL2Rvd25sb2Fkcy53bWw6IEFkZCAwLjE2IGRvd25sb2FkLgoKMjAwNS0wNy0wMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGdudS9jbGFzc3BhdGgvT2JqZWN0UG9vbC5qYXZhOgoJUmVtb3ZlZCB0aGlzIGNsYXNzLiBTb21lIHNpbXBsZSBiZW5jaG1hcmtzIHNob3cgdGhhdCBpdAoJYnJpbmdzIG5vdCBtdWNoIGdhaW4gYW5kIGFjdHVhbGx5IGRlY3JlYXNlcyBwZXJmb3JtYW5jZQoJc3BlZWQtd2lzZS4KCjIwMDUtMDctMDEgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvZG9tL0RvbU5vZGUuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxDb2xsZWN0aW9uLmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFRhYmxlRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFRhYmxlUm93RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL05vZGVOdW1iZXJOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9TdHlsZXNoZWV0LmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9UZW1wbGF0ZU5vZGUuamF2YSwKCWdudS94bWwveHBhdGgvTmFtZVRlc3QuamF2YSwKCWdudS94bWwveHBhdGgvTmFtZXNwYWNlVGVzdC5qYXZhOiBDb3JyZWN0aW9ucyBmb3IgY2FzZXMgd2hlcmUKCWVsZW1lbnRzL2F0dHJpYnV0ZXMgbWlnaHQgaGF2ZSBiZWVuIGNyZWF0ZWQgaW4gbm9uLW5hbWVzcGFjZS1hd2FyZQoJbW9kZS4KCSogZ251L3htbC90cmFuc2Zvcm0vU3RyZWFtU2VyaWFsaXplci5qYXZhOiBPbmx5IGFwcGx5IEhUTUwgYXR0cmlidXRlCglyZWR1Y3Rpb24gd2hlbiBhdHRyaWJ1dGUgaXMgZGVmaW5lZCBhcyBhIGJvb2xlYW4gaW4gdGhlIEhUTUwgRFRELgoJKiBnbnUveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckltcGwuamF2YTogQWRkIHN1cHBvcnQgZm9yIG91dHB1dAoJaW5kZW50aW5nIGFuZCBjZGF0YS1zZWN0aW9uLWVsZW1lbnRzIG91dHB1dCBpbnN0cnVjdGlvbi4KCjIwMDUtMDctMDEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBnbnUvY2xhc3NwYXRoL09iamVjdFBvb2wuamF2YToKCUludHJvZHVjZWQgZmxhZyBmb3IgdHVybmluZyBvbi9vZmYgY2FjaGluZy4KCShnZXRJbnN0YW5jZSk6IFN5bmNocm9uaXplZCBhY2Nlc3MgdG8gdGhpcyBtZXRob2QuCgkoYm9ycm93T2JqZWN0KTogU3luY2hyb25pemVkIGFjY2VzcyB0byB0aGUgcG9vbC4KCUFkZGVkIHNvbWUgYmVuY2htYXJraW5nIHN0YXRlbWVudHMuCgkocmV0dXJuT2JqZWN0KTogU3luY2hyb25pemVkIGFjY2VzcyB0byB0aGUgcG9vbC4KCUFkZGVkIHNvbWUgYmVuY2htYXJraW5nIHN0YXRlbWVudHMuCgkoY3JlYXRlT2JqZWN0KTogU3luY2hyb25pemVkIGFjY2VzcyB0byB0aGUgcG9vbC4KCUFkZGVkIHNvbWUgYmVuY2htYXJraW5nIHN0YXRlbWVudHMuCgkocHJpbnRTdGF0cyk6IE5ldyBtZXRob2QuIFByaW50cyBvdXQgc29tZSBzdGF0cyBhYm91dCB0aGUgcG9vbCB1c2FnZS4KCjIwMDUtMDctMDEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy90YWJsZS9KVGFibGVIZWFkZXIuamF2YTogYWRkZWQgc29tZSBBUEkgZG9jcywKCSogamF2YXgvc3dpbmcvdGFibGUvVGFibGVNb2RlbC5qYXZhOiBmaXhlZCBsaW5rIGluIEFQSSBkb2NzLAoJKiBqYXZheC9zd2luZy90YWJsZS9wYWNrYWdlLmh0bWw6IGFkZGVkIHBhY2thZ2UgZGVzY3JpcHRpb24uCgkKMjAwNS0wNy0wMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvTGlzdFVJLmphdmEgCgkobG9jYXRpb25Ub0luZGV4KTogbWF0Y2ggcGFyYW1ldGVyIG5hbWUgdG8gQVBJIGRvY3MuCgkKMjAwNS0wNy0wMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGdudS9jbGFzc3BhdGgvT2JqZWN0UG9vbC5qYXZhOgoJTWFkZSBzaW5nbGV0b24gaW5zdGFuY2Ugc3RhdGljLiBPdGhlcndpc2UgdGhpcyBjbGFzcyB3b3VsZCBub3QKCWJlIG9mIG11Y2ggdXNlLgoJKGdldEluc3RhbmNlKTogTWFkZSB0aGlzIG1ldGhvZCBzdGF0aWMuCgoyMDA1LTA3LTAxICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogZ251L2NsYXNzcGF0aC9PYmplY3RQb29sLmphdmE6CglOZXcgY2xhc3MuIFRoaXMgY2FuIGFuZCBzaG91bGQgYmUgdXNlZCB0byBjYWNoZSB0aHJvd2F3YXkgb2JqZWN0cwoJbGlrZSBSZWN0YW5nbGVzLCBQb2ludHMgYW5kIERpbWVuc2lvbnMuIE9mIGNvdXJzZSB0aGUgdXNlIG9mCgl0aGlzIGNsYXNzIGlzIG5vdCBsaW1pdGVkIHRvIHRoaXMgY2FzZXMuCgoyMDA1LTA3LTAxICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkxheWVyZWRQYW5lLmphdmEKCShnZXRMYXllcik6IEFsc28gc2VhcmNoIHRocm91Z2ggdGhlIGNvbXBvbmVudHMgcGFyZW50cyB0byBmaW5kCgl0aGUgb25lIHRoYXQgaXMgYWN0dWFsbHkgZGlyZWN0bHkgY29udGFpbmVkIGluIHRoZSBKTGF5ZXJlZFBhbmUuCgoyMDA1LTA3LTAxICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlci5qYXZhOiBmaXhlZCBBUEkgZG9jIHR5cG9zOwoJKiBqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyQnl0ZS5qYXZhOiBhZGRlZCBkZXNjcmlwdGlvbiB0byBBUEkgZG9jczsKCSogamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckRvdWJsZS5qYXZhOiBhZGRlZCBkZXNjcmlwdGlvbiB0byBBUEkgZG9jcywKCShzZXRFbGVtKGludCwgaW50KSk6IHJlbW92ZWQgdW5uZWNlc3NhcnkgY2FzdDsKCShzZXRFbGVtKGludCwgaW50LCBpbnQpKTogbGlrZXdpc2UuCgkqIGphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJGbG9hdC5qYXZhOiBhZGRlZCBkZXNjcmlwdGlvbiB0byBBUEkgZG9jczsKCShzZXRFbGVtKGludCwgaW50KSk6IHJlbW92ZWQgdW5uZWNlc3NhcnkgY2FzdDsKCShzZXRFbGVtKGludCwgaW50LCBpbnQpKTogbGlrZXdpc2UuCgkqIGphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJJbnQuamF2YTogYWRkZWQgZGVzY3JpcHRpb24gdG8gQVBJIGRvY3M7CgkqIGphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJTaG9ydC5qYXZhOiBsaWtld2lzZTsKCSogamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlclVTaG9ydC5qYXZhOiBsaWtld2lzZS4KCQkKMjAwNS0wNi0zMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51QmFyVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IE1hZGUgSk1lbnVCYXIgb3BhcXVlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljT3B0aW9uUGFuZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBNYWRlIEpPcHRpb25QYW5lIG9wYXF1ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BhbmVsVUkuamF2YQoJKGluc3RhbGxVSSk6IEFsc28gY2FsbCBpbnN0YWxsRGVmYXVsdHMoKS4KCShpbnN0YWxsRGVmYXVsdHMpOiBOZXcgbWV0aG9kLiBNYWRlIEpQYW5lbCBvcGFxdWUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSb290UGFuZVVJLmphdmEKCShpbnN0YWxsRGVmYXVsdHMpOiBNYWRlIEpSb290UGFuZSBvcGFxdWUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTZXBhcmF0b3JVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogTWFkZSBKU2VwYXJhdG9yIG9wYXF1ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NwaW5uZXJVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogTWFkZSBKU3Bpbm5lciBvcGFxdWUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogTWFkZSBKU3BsaXRQYW5lIG9wYXF1ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogTWFkZSBKU3BsaXRQYW5lIG9wYXF1ZS4KCjIwMDUtMDctMDEgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKGlzTmF0aXZlTG9va0FuZEZlZWwpOiBmaXhlZCByZXR1cm4gdmFsdWUsCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUaGVtZS5qYXZhCgkoZ2V0TWVudURpc2FibGVkRm9yZWdyb3VuZCk6IGZpeGVkIHJldHVybiB2YWx1ZS4KCQoyMDA1LTA3LTAxICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YXgvc3dpbmcvZXZlbnQvVGFibGVNb2RlbEV2ZW50LmphdmE6CgkoVGFibGVNb2RlbEV2ZW50KFRhYmxlTW9kZWwpOiBzZXQgbGFzdFJvd0luZGV4IHRvIEludGVnZXIuTUFYX1ZBTFVFLgoJCjIwMDUtMDYtMzAgIEFhcm9uIEx1Y2hrbyAgPGFsdWNoa29AcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC91dGlsL0pkd3BTdHJpbmcuamF2YTogTmV3IGZpbGUuCgoyMDA1LTA2LTMwICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2RvbS9Eb21Eb2N1bWVudC5qYXZhOiBBZGQgc3VwcG9ydCBmb3IgYWRvcHRpbmcgbm9kZXMgZnJvbQoJb3RoZXIgaW1wbGVtZW50YXRpb25zLgoJKiBnbnUveG1sL2RvbS9Eb21OYW1lZE5vZGVNYXAuamF2YTogRml4IGZvciBub2RlcyBjcmVhdGVkIG91dHNpZGUgYQoJbmFtZXNwYWNlIGNvbnRleHQuCgkqIGdudS94bWwvdHJhbnNmb3JtL0Fic3RyYWN0TnVtYmVyTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vQXBwbHlJbXBvcnRzTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vQXBwbHlUZW1wbGF0ZXNOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9BdHRyaWJ1dGVOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9DYWxsVGVtcGxhdGVOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9DaG9vc2VOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9Db21tZW50Tm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vQ29weU5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0NvcHlPZk5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0VsZW1lbnROb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9Gb3JFYWNoTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vSWZOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9MaXRlcmFsTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vTWVzc2FnZU5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL05vZGVOdW1iZXJOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9OdW1iZXJOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9PdGhlcndpc2VOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9QYXJhbWV0ZXJOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9TdHJlYW1TZXJpYWxpemVyLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9TdHlsZXNoZWV0LmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9UZW1wbGF0ZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vVGVtcGxhdGVOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9UZXh0Tm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vVmFsdWVPZk5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1doZW5Ob2RlLmphdmE6IFBhcnNpbmcgYW5kIHNlcmlhbGlzYXRpb24gZGVzaWduCgljaGFuZ2VzIHRvIG1pbmltaXNlIHRoZSBudW1iZXIgb2YgdmlydHVhbCBtYWNoaW5lIHN0YWNrIGZyYW1lcyB1c2VkLgoKMjAwNS0wNi0zMCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhOgoJKGluaXRpYWxpemVMb2NhbFZhcnMpOiBTZXQgZHJhZ0VuYWJsZWQgdG8gdHJ1ZSBieSBkZWZhdWx0IHRvIGNvbXBseQoJd2l0aCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb25zLgoJKGdldFNlbGVjdGlvbk1vZGVsKTogRG9uJ3QgcmV0dXJuIG51bGwgaWYgcm93IHNlbGVjdGlvbiBpcyBkaXNhYmxlZCwKCXN0aWxsIHJldHVybiBzZWxlY3Rpb25Nb2RlbC4gIFRoaXMgY29tcGxpZXMgd2l0aCByZWZlcmVuY2UKCWltcGxlbWVuYXRpb25zLgoJKGNoYW5nZVNlbGVjdGlvbik6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmE6IEFkZGVkIGEgTW91c2VNb3Rpb25MaXN0ZW5lcgoJc28gdGhhdCBNb3VzZURyYWdnZWQgZXZlbnRzIHJlZ2lzdGVyIHByb3Blcmx5LgoJKE1vdXNlSW5wdXRIYW5kbGVyLnVwZGF0ZVNlbGVjdGlvbik6IEFkZGVkIGJvb2xlYW4gcGFyYW1ldGVyIGZvcgoJQ29udHJvbCBiZWluZyBwcmVzc2VkIGFuZCBhZGRlZCBmdW5jdGlvbmFsaXR5IGZvciB0aGlzIChtdWx0aXBsZQoJc2VsZWN0aW9uKS4KCjIwMDUtMDYtMzAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6CglSZW1vdmVkIGFsbCBjYWxscyB0byByZXBhaW50KCkgYW5kIHJldmFsaWRhdGUoKS4gVGhlc2UgYXJlIGxpa2VseQoJY2F1c2luZyBpbmZpbml0ZSBsb29wcyB3aXRoIHRoZSBSZXBhaW50TWFuYWdlci4KCjIwMDUtMDYtMzAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmEKCShkYW1hZ2VMYXlvdXQpOiBSZW1vdmVkIGNhbGwgdG8gcmV2YWxpZGF0ZSgpLiBUaGlzIGNhdXNlZCBhbgoJaW5maW5pdGUgbG9vcCB3aXRoIHRoZSBSZXBhaW50TWFuYWdlciBhbmQgaXMgbm90IG5lY2Vzc2FyeS4KCjIwMDUtMDYtMzAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YToKCVJlbW92ZWQgYWxsIGNhbGxzIHRvIGxheW91dENvbnRhaW5lcigpIGluIHRoaXMgZmlsZS4KCShpbnN0YWxsRGVmYXVsdHMpOiBTZXQgdGhpcyBhcyBMYXlvdXRNYW5hZ2VyIGZvciB0aGUgSlNjcm9sbEJhci4KCVRoaXMgd2F5IHRoZSBsYXlvdXRDb250YWluZXIoKSBtZXRob2QgaXMgY2FsbGVkIHdoZW4gaXQgc2hvdWxkIGJlLgoKMjAwNS0wNi0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogY29uZmlndXJlLmFjOiBTZXQgdmVyc2lvbiB0byAwLjE2K2N2cy4KCjIwMDUtMDYtMzAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIE5FV1M6IEFkZCAwLjE2IHJlbGVhc2UgZGF0ZSBhbmQgbmV3IGZlYXR1cmVzLgoJKiBjb25maWd1cmUuYWM6IFNldCB2ZXJzaW9uIHRvIDAuMTYuCgoyMDA1LTA2LTMwICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJKGFkZFNlbGVjdGlvbkludGVydmFsKTogRG9uJ3QgY2xlYXIgdGhlIHNlbGVjdGlvbiBzdGF0ZSBpZiBKTGlzdCdzCglzZWxlY3Rpb24gbW9kZSBpcyBTSU5HTEVfU0VMRUNUSU9OX0lOVEVSVkFMIGFuZCBpbmRleDAgYW5kIGluZGV4MQoJY29ycmVzcG9uZCB0byBhbiBpbnRlcnZhbCBhZGphY2VudCB0byBhbiBhbHJlYWR5IHNlbGVjdGVkIGludGVydmFsLgoJKHJlbW92ZVNlbGVjdGlvbkludGVydmFsKTogQWRkZWQgY2hlY2sgZm9yIGEgbWlkZGxlIGludGVydmFsIGJlaW5nCglyZW1vdmVkIHdoZW4gc2VsZWN0aW9uIG1vZGUgaXMgU0lOR0xFX1NFTEVDVElPTl9JTlRFUlZBTC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJKEtleUhhbmRsZXIua2V5UHJlc3NlZCk6IEFkZGVkIGNoZWNrIGZvciBzY3JvbGxpbmcgcGFzdCBib3R0b20gb2YgbGlzdC4KCShNb3VzZUhhbmRsZXIubW91c2VDbGlja2VkKTogQWRkZWQgY2hlY2sgZm9yIHNoaWZ0IGtleSBiZWluZwoJcHJlc3NlZC4KCjIwMDUtMDYtMzAgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdHJhbnNwb3J0L0pkd3BQYWNrZXQuamF2YSAod3JpdGUpOiBOZXcgbWV0aG9kLgoJKG15V3JpdGUpOiBOZXcgYWJzdHJhY3QgbWV0aG9kLgoJKHRvQnl0ZXMpOiBSZW1vdmUuCgkobXlUb0J5dGVzKTogUmVtb3ZlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdHJhbnNwb3J0L0pkd3BSZXBseVBhY2tldC5qYXZhIChteVdyaXRlKTogTmV3CgltZXRob2QuCgkqIGdudS9jbGFzc3BhdGgvamR3cC90cmFuc3BvcnQvSmR3cENvbW1hbmRQYWNrZXQuamF2YSAobXlXcml0ZSk6IE5ldwoJbWV0aG9kLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdHJhbnNwb3J0L0pkd3BDb25uZWN0aW9uLmphdmEgKHNlbmRQYWNrZXQpOiBVc2UKCUpkd3BQYWNrZXQud3JpdGUgaW5zdGVhZCBvZiBKZHdwUGFja2V0LnRvQnl0ZXMuCgoyMDA1LTA2LTMwICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogZ251L2phdmEvbG9jYWxlL0xvY2FsZUhlbHBlci5qYXZhOgoJRml4ZWQgdG8gdXNlIG5ldyBwcm9wZXJ0eSBmaWxlcy4KCjIwMDUtMDYtMzAgIEtlaXRoIFNlaXR6ICA8a2VpdGhzQHJlZGhhdC5jb20+CgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdHJhbnNwb3J0L0pkd3BDb25uZWN0aW9uLmphdmEgKHNlbmRFdmVudCk6IE5ldwoJbWV0aG9kLgoJKF9ieXRlcyk6IE5ldyBtZW1iZXIuCgkoX2RvU3RyZWFtKTogTmV3IG1lbWJlci4KCShKZHdwQ29ubmVjdGlvbik6IEluaXRpYWxpemUgbmV3IG1lbWJlcnMuCgoyMDA1LTA2LTMwICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmE6CiAgICAgICAgKHZhbHVlQ2hhbmdlZCk6IHJlcGFpbnQgZXZlcnl0aW1lIHNvbWV0aGluZyBpcyBzZWxlY3RlZCBpbiB0aGUgCiAgICAgICAgdHJlZS4KICAgICAgICAoc2V0U2VsZWN0aW9uTW9kZWwpOiBzZXQgVHJlZVNlbGVjdGlvbkxpc3RlbmVycwogICAgICAgIChpc1Jvd1NlbGVjdGVkKTogaXNSb3dTZWxlY3RlZCB1c2VzIGlzUGF0aFNlbGVjdGVkCiAgICAgICAgKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEKICAgICAgICAoc2V0U2VsZWN0aW9uTW9kZWwpOiB3b3JrcyB3aXRoIEpUcmVlIHRvIHNldCB0aGUgc2VsZWN0aW9uIG1vZGVsCiAgICAgICAgKGdldFBhdGhGb3JSb3cpOiB0b29rIG91dCB1bm5lZWRlZCBsaW5lcwogICAgICAgIChtb3VzZUNsaWNrZWQpOiBzd2l0Y2hlZCBpZiBzdGF0ZW1lbnRzLCBzaG91bGQgY2hlY2sgaWYgYWxyZWFkeSAKICAgICAgICBzZWxlY3RlZCBmaXJzdC4KICAgICAgICAocGFpbnRMZWFmKTogY2hlY2tlZCBzZWxlY3Rpb24gb2YgTGVhZiBhbmQgcGFpbnQgc2VsZWN0ZWQgCiAgICAgICAgZGlmZmVyZW50bHkgdGhhbiBub3Qgc2VsZWN0ZWQgY2VsbHMKICAgICAgICAocGFpbnROb25MZWFmKTogY2hlY2tlZCBzZWxlY3Rpb24gb2Ygbm9uTGVhZiBhbmQgcGFpbnQgc2VsZWN0ZWQgCiAgICAgICAgZGlmZmVyZW50bHkgdGhhbiBub3Qgc2VsZWN0ZWQgY2VsbHMKICAgICAgICAocGFpbnRSZWN1cnNpdmUpOiB1cGRhdGVkIHRvIHdvcmsgd2l0aCBvdGhlciBwYWludCBmdW5jdGlvbnMKICAgICAgICAqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVTZWxlY3Rpb25Nb2RlbC5qYXZhOgogICAgICAgIChhZGRTZWxlY3Rpb25QYXRoKTogZmlyZSBjaGFuZ2UsIHNvIHNlbGVjdGlvbiBpcyByZWdpc3RlcmVkIHRvIAogICAgICAgIGxpc3RlbmVyCiAgICAgICAgKGFkZFNlbGVjdGlvblBhdGhzKTogZmlyZSBjaGFuZ2UsIHNvIHNlbGVjdGlvbiBpcyByZWdpc3RlcmVkIHRvIAogICAgICAgIGxpc3RlbmVyCiAgICAgICAgKHJlbW92ZVNlbGVjdGlvblBhdGgpOiBmaXJlIGNoYW5nZSwgc28gc2VsZWN0aW9uIGlzIHJlZ2lzdGVyZWQgCiAgICAgICAgdG8gbGlzdGVuZXIKICAgICAgICAocmVtb3ZlU2VsZWN0aW9uUGF0aHMpOiBmaXJlIGNoYW5nZSwgc28gc2VsZWN0aW9uIGlzIHJlZ2lzdGVyZWQgCiAgICAgICAgdG8gbGlzdGVuZXIKICAgICAgICAoaXNQYXRoU2VsZWN0ZWQpOiB0b29rIG91dCB1bm5lZWRlZCBsaW5lcwogICAgICAgIChnZXRUcmVlU2VsZWN0aW9uTGlzdGVuZXJzKTogbWFkZSBtb3JlIGxvZ2ljYWwgdG8gY2FsbCAKICAgICAgICBnZXRMaXN0ZW5lcnMKICAgICAgICAoZmlyZVZhbHVlQ2hhbmdlZCk6IGZpeGVkIGxvb3AgdG8gYmUgbW9yZSBsb2dpY2FsCgoyMDA1LTA2LTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhIChnZXRFZGl0b3JLaXQpOiBDYWxsCgljcmVhdGVEZWZhdWx0RWRpdG9yS2l0KCkgYW5kIHNldEVkaXRvcktpdCgpIHdoZW4gZWRpdG9yS2l0ID09IG51bGwuCgkqIGphdmF4L3N3aW5nL0pUZXh0UGFuZS5qYXZhOiBDYWxsIHN1cGVyIGZvciBhbGwgbWV0aG9kcyB3aGVyZQoJcG9zc2libGUuCgoyMDA1LTA2LTI5ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBJTlNUQUxMOiBEcm9wIEdUSyByZXF1aXJlbWVudCB0byAyLjQuCgkqIE5FV1M6IExpa2V3aXNlLgoJKiBjb25maWd1cmUuYWM6IExpa2V3aXNlLgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrU2Nyb2xsQmFyUGVlci5jOgoJUmUtYWRkIEdUSyAyLjQgc3VwcG9ydC4KCjIwMDUtMDYtMjkgIENocmlzdGlhbiBUaGFsaW5nZXIgIDx0d2lzdGlAY29tcGxhbmcudHV3aWVuLmFjLmF0PgoKCSogbmF0aXZlL2ZkbGlibS9NYWtlZmlsZS5hbTogQWRkZWQgc19maW5pdGUuYwoJKiBuYXRpdmUvZmRsaWJtL3NfZmluaXRlLmM6IEFkZGVkCgoyMDA1LTA2LTI5ICBBbnRob255IEJhbGtpc3Nvb24gIDxhYmFsa2lzc0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJKGFkZFNlbGVjdGlvbkludGVydmFsKToKCShjbGVhclNlbGVjdGlvbik6CgkocmVtb3ZlU2VsZWN0aW9uSW50ZXJ2YWwpOgoJKHNldExlYWRTZWxlY3Rpb25JbmRleCk6Cgkoc2V0U2VsZWN0aW9uSW50ZXJ2YWwpOiBDaGVjayB0aGF0IHRoZSBzZWxlY3Rpb24gbW9kZWwgYWN0dWFsbHkKCWNoYW5nZXMgYmVmb3JlIGNhbGxpbmcgZmlyZVZhbHVlQ2hhbmdlZC4gIAoKMjAwNS0wNi0yOSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgogICAgICAgIAogICAgICAgIE5FV1M6IENvcnJlY3RlZCBub3RlIGFib3V0IENPUkJBIHN0YXR1cyBpbiAxLjYgcmVsZWFzZS4KCQoyMDA1LTA2LTI5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xhYmVsVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IERvIG5vdCBzZXQgdGhlIGJvcmRlciBoZXJlLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogRG8gbm90IHVuc2V0IHRoZSBib3JkZXIgaGVyZS4KCjIwMDUtMDYtMjkgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShnZXRDb21wb25lbnRHcmFwaGljcyk6IERvIG5vdCByZXBsaWNhdGUgdGhlIEdyYXBoaWNzIGF0IHRoaXMKCXBvaW50LiBUaGlzIGlzIG1vdmVkIGludG8gcGFpbnRDb21wb25lbnQuCgkocGFpbnRDb21wb25lbnQpOiBSZXBsaWNhdGUgdGhlIEdyYXBoaWNzIG9iamVjdCBiZWZvcmUgZ29pbmcgaW50bwoJdGhlIHRyZWUuIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHRoZSBzdGF0ZSBpcyBwcmVzZXJ2ZWQgYW5kIGlzCgl3aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgSkRLcyBBUEkgZG9jcy4KCjIwMDUtMDYtMjkgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCiAgICAgICAgKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmE6CiAgICAgICAgKEJhc2ljVHJlZVVJKTogSW5pdGFsaXphdGlvbiBvZiBsaXN0ZW5lcnMgYW5kIGluc3RhbmNlcy4KICAgICAgICAoY3JlYXRlVUkpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChnZXRIYXNoQ29sb3IpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChzZXRMZWZ0Q2hpbGRJbmRlbnQpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChnZXRMZWZ0Q2hpbGRJbmRlbnQpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChzZXRSaWdodENoaWxkSW5kZW50KTogSW1wbGVtZW50YXRpb24KICAgICAgICAoZ2V0UmlnaHRDaGlsZEluZGVudCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKHNldEV4cGFuZGVkSWNvbik6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGdldEV4cGFuZGVkSWNvbik6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKHNldENvbGxhcHNlZEljb24pOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChnZXRDb2xsYXBzZWRJY29uKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoc2V0TGFyZ2VNb2RlbCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGlzTGFyZ2VNb2RlbCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKHNldFJvd0hlaWdodCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGdldFJvd0hlaWdodCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKHNldENlbGxSZW5kZXJlcik6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGdldENlbGxSZW5kZXJlcik6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKHNldE1vZGVsKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoZ2V0TW9kZWwpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChzZXRSb290VmlzaWJsZSk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGlzUm9vdFZpc2libGUpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChzZXRTaG93c1Jvb3RIYW5kbGVzKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoZ2V0U2hvd3NSb290SGFuZGxlcyk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKHNldENlbGxFZGl0b3IpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChnZXRDZWxsRWRpdG9yKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoc2V0RWRpdGFibGUpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChpc0VkaXRhYmxlKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoc2V0U2VsZWN0aW9uTW9kZWwpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChnZXRTZWxlY3Rpb25Nb2RlbCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGdldFBhdGhGb3JSb3cpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChnZXRSb3dGb3JQYXRoKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoZ2V0Um93Q291bnQpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChnZXRDbG9zZXN0UGF0aEZvckxvY2F0aW9uKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoY3JlYXRlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGNyZWF0ZU1vdXNlTGlzdGVuZXIpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChjcmVhdGVGb2N1c0xpc3RlbmVyKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoY3JlYXRlS2V5TGlzdGVuZXIpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChjcmVhdGVTZWxlY3Rpb25Nb2RlbFByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChjcmVhdGVUcmVlU2VsZWN0aW9uTGlzdGVuZXIpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChjcmVhdGVDZWxsRWRpdG9yTGlzdGVuZXIpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChjcmVhdGVDb21wb25lbnRMaXN0ZW5lcik6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGNyZWF0ZVRyZWVFeHBhbnNpb25MaXN0ZW5lcik6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGNyZWF0ZUxheW91dENhY2hlKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoY3JlYXRlQ2VsbFJlbmRlcmVyUGFuZSk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGNyZWF0ZURlZmF1bHRDZWxsRWRpdG9yKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoY3JlYXRlRGVmYXVsdENlbGxSZW5kZXJlcik6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGNyZWF0ZVRyZWVNb2RlbExpc3RlbmVyKTogSW1wbGVtZW50YXRpb24KICAgICAgICAodW5pbnN0YWxsTGlzdGVuZXJzKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoZ2V0TGFzdENoaWxkUGF0aCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGNvbmZpZ3VyZUxheW91dENhY2hlKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoaW5zdGFsbERlZmF1bHRzKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoaW5zdGFsbExpc3RlbmVycyk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGluc3RhbGxVSSk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKHVuaW5zdGFsbERlZmF1bHRzKTogSW1wbGVtZW50YXRpb24KICAgICAgICAodW5pbnN0YWxsVUkpOiBJbXBsZW1lbnRhdGlvbgogICAgICAgIChwYWludCk6IG1vZGVyYXRlIGNoYW5nZXMsIHNvIHBhaW50aW5nIHdvcmtzIHdpdGggbmV3IGNoYW5nZXMKICAgICAgICAoTW91c2VJbnB1dEhhbmRsZXIubW91c2VDbGlja2VkKTogSW1wbGVtZW50YXRpb24KICAgICAgICAocGFpbnRMZWFmKTogbWFkZSBwcml2YXRlCiAgICAgICAgKHBhaW50Tm9uTGVhZik6IG1hZGUgcHJpdmF0ZQogICAgICAgIChwYWludFJlY3Vyc2l2ZSk6IG1hZGUgcHJpdmF0ZQogICAgICAgIFNldmVyYWwgdmFyaWFibGVzLCBpbnN0YW5jZXMgYW5kIG1ldGhvZHMgd2VyZSBhZGRpbmcgYWNjb3JkaW5nIAogICAgICAgIHRvIHRoZSBBUEkuIFRoZSBtZXRob2RzIHRoYXQgd2VyZSBhZGRlZCBhbmQgbm90IGluIHRoZSBsaXN0IAogICAgICAgIGFib3ZlLCBoYXZlIG5vdCBiZWVuIGltcGxlbWVudGVkIHlldC4gQWxsIEphdmFEb2MgaXMgdXBkYXRlZCwgCiAgICAgICAgYXMgd2VsbCBhcyBmb3JtYXR0aW5nLgogICAgICAgICogamF2YXgvc3dpbmcvSlRyZWUuamF2YTogCgkoY3JlYXRlQ2hpbGRyZW4pOiBjaGVja2VkIHRoYXQgY2hpbGRyZW4gaXMgbm90IG51bGwuCgkqIGphdmF4L3N3aW5nL3RyZWUvQWJzdHJhY3RMYXlvdXRDYWNoZS5qYXZhOgogICAgICAgIChnZXROb2RlRGltZW5zaW9ucyk6IHNsaWdodCBtb2RpZmljYXRpb25zIHRvIHJldHVybiBpbml0aWFsaXplZCAKICAgICAgICBSZWN0YW5nbGUgd2hlbiB0aGUgYm91bmRzIGFyZSBudWxsLiBJbXBsZW1lbnRhdGlvbiBub3QgY29tcGxldGUuCiAgICAgICAgKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlU2VsZWN0aW9uTW9kZWwuamF2YToKICAgICAgICAoYWRkU2VsZWN0aW9uUGF0aCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKGFkZFNlbGVjdGlvblBhdGhzKTogSW1wbGVtZW50YXRpb24KICAgICAgICAocmVtb3ZlU2VsZWN0aW9uUGF0aCk6IEltcGxlbWVudGF0aW9uCiAgICAgICAgKHJlbW92ZVNlbGVjdGlvblBhdGhzKTogSW1wbGVtZW50YXRpb24KICAgICAgICAoZ2V0U2VsZWN0aW9uUGF0aHMpOiByZXR1cm5lZCB0aGUgc2VsZWN0aW9uIGFycmF5CiAgICAgICAgKGNsZWFyU2VsZWN0aW9uKTogc2V0IHRoZSBzZWxlY3Rpb24gYXJyYXkgdG8gbnVsbAogICAgICAgICogamF2YXgvc3dpbmcvdHJlZS9GaXhlZEhlaWdodExheW91dENhY2hlLmphdmE6CiAgICAgICAgKHNldE1vZGVsKTogcmVtb3ZlZCB0aGlzIG1ldGhvZCBiZWNhdXNlIGl0IGlzIGRlZmluZWQgaW4gdGhlIAogICAgICAgIGFic3RyYWN0IHBhcmVudC4KICAgICAgICAoc2V0Um9vdFZpc2libGUpOiByZW1vdmVkIHRoaXMgbWV0aG9kIGJlY2F1c2UgaXQgaXMgZGVmaW5lZCBpbiAKICAgICAgICB0aGUgYWJzdHJhY3QgcGFyZW50LgogICAgICAgIChzZXRSb3dIZWlnaHQpOiByZW1vdmVkIHRoaXMgbWV0aG9kIGJlY2F1c2UgaXQgaXMgZGVmaW5lZCBpbiAKICAgICAgICB0aGUgYWJzdHJhY3QgcGFyZW50LgogICAgICAgIEFsc28sIHNvbWUgZm9ybWF0dGluZyB3YXMgdXBkYXRlZC4KICAgICAgICAqIGphdmF4L3N3aW5nL3RyZWUvVmFyaWFibGVIZWlnaHRMYXlvdXRDYWNoZS5qYXZhOgogICAgICAgIChzZXRSb3dIZWlnaHQpOiByZW1vdmVkIHRoaXMgbWV0aG9kIGJlY2F1c2UgaXQgaXMgZGVmaW5lZCBpbiAKICAgICAgICB0aGUgYWJzdHJhY3QgcGFyZW50LgogICAgICAgICogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZU1vZGVsLmphdmE6CiAgICAgICAgKERlZmF1bHRUcmVlTW9kZWwpOiBOZWVkZWQgdG8gaW5pdGlhbGl6ZSByb290IGlmIGl0IHdhcyBwYXNzZWQgCiAgICAgICAgaW50byB0aGUgY29uc3RydWN0b3IgYXMgbnVsbC4KCjIwMDUtMDYtMjkgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9ldmVudC9UYWJsZU1vZGVsRXZlbnQuamF2YTogdXBkYXRlZCBBUEkgZG9jcyBhbGwgb3Zlci4KCQoyMDA1LTA2LTI5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogZ251L2phdmEvYXd0L0FXVFV0aWxpdGllcy5qYXZhCgkoVmlzaWJsZUNvbXBvbmVudExpc3QpOiBBZGRlZCBMaXN0IGltcGxlbWVudGF0aW9uIHRoYXQgaXRlcmF0ZXMgb3ZlcgoJdGhlIGNoaWxkIGNvbXBvbmVudHMgb2YgYSBDb250YWluZXIgYW5kIG9ubHkgcmV0dXJucyBDb21wb25lbnRzCgl0aGF0IGFyZSBhY3R1YWxseSB2aXNpYmxlLgoJKGdldFZpc2libGVDaGlsZHJlbik6IE5vdyByZXR1cm5zIGEgTGlzdCBpbnN0ZWFkIG9mIGFuIGFycmF5LiBUaGlzCglsaXN0IGlzIGNhY2hlZC4gVGhpcyBncmVhdGx5IGRlY3JlYXNlcyBhbGxvY2F0aW9ucyBpbgoJTGF5b3V0TWFuYWdlcnMuCgkqIGphdmF4L3N3aW5nL0JveExheW91dC5qYXZhOgoJVXBkYXRlZCB0byB1c2UgdGhlIG5ldyBBV1RVdGlsaXRpZXMuZ2V0VmlzaWJsZUNoaWxkcmVuKCkgbWV0aG9kLgoKMjAwNS0wNi0yOSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BhY2thZ2UuaHRtbDogYWRkZWQgcGFja2FnZSBkZXNjcmlwdGlvbiwKCSogamF2YXgvc3dpbmcvYm9yZGVyL3BhY2thZ2UuaHRtbDogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL2NvbG9yY2hvb3Nlci9wYWNrYWdlLmh0bWw6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9ldmVudC9wYWNrYWdlLmh0bWw6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9maWxlY2hvb3Nlci9wYWNrYWdlLmh0bWw6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy9wbGFmL3BhY2thZ2UuaHRtbDogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvcGFja2FnZS5odG1sOiBsaWtld2lzZSwKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9wYWNrYWdlLmh0bWw6IGxpa2V3aXNlLAoJKiBqYXZheC9zd2luZy90cmVlL3BhY2thZ2UuaHRtbDogbGlrZXdpc2UsCgkqIGphdmF4L3N3aW5nL3VuZG8vcGFja2FnZS5odG1sOiBsaWtld2lzZS4KCjIwMDUtMDYtMjkgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL2F3dC9Gb250LmphdmE6IGZpeGVkIEFQSSBkb2MgbGlua3MuCgkKMjAwNS0wNi0yOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvYXd0L2V2ZW50L0FXVEV2ZW50TGlzdGVuZXIuamF2YTogYWRkZWQgaW1wb3J0cyB0byBmaXggbGlua3MgCglpbiBBUEkgZG9jcywKCSogamF2YS9hd3QvZXZlbnQvQVdURXZlbnRMaXN0ZW5lclByb3h5LmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL2F3dC9ldmVudC9JbnB1dE1ldGhvZExpc3RlbmVyLmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL2F3dC9ldmVudC9JdGVtTGlzdGVuZXIuamF2YTogbGlrZXdpc2UsCgkqIGphdmEvYXd0L2V2ZW50L01vdXNlV2hlZWxFdmVudC5qYXZhOiBsaWtld2lzZSwKCSogamF2YS9hd3QvZXZlbnQvVGV4dEV2ZW50LmphdmE6IGxpa2V3aXNlLAoJKiBqYXZhL2F3dC9ldmVudC9XaW5kb3dFdmVudC5qYXZhOiBsaWtld2lzZSwKCSogamF2YS9hd3QvZXZlbnQvV2luZG93TGlzdGVuZXIuamF2YTogbGlrZXdpc2UuCgkKMjAwNS0wNi0yOCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9Db3NOYW1pbmcvQmluZGluZ0l0ZXJhdG9yLmphdmE6IEluaGVyaXQgZnJvbSAKCUJpbmRpbmdJdGVyYXRvck9wZXJhdGlvbnMsIGFkZGVkIHNwZWNub3RlcyBmb3IgMS4yIHNwZWNpZmljIG1ldGhvZHMuCgkqIG9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHQuamF2YTogSW5oZXJpdCBmcm9tCglOYW1pbmdDb250ZXh0T3BlcmF0aW9ucywgYWRkZWQgc3BlY25vdGVzIGZvciAxLjIgc3BlY2lmaWMgbWV0aG9kcy4KCSogb3JnL29tZy9JT1AvRW5jb2RpbmcuamF2YSwKCW9yZy9vbWcvSU9QL1RhZ2dlZENvbXBvbmVudC5qYXZhLAoJb3JnL29tZy9JT1AvVGFnZ2VkUHJvZmlsZS5qYXZhOiBJbmhlcml0IGZyb20gU2VyaWFsaXphYmxlLCBhZGRlZAoJU2VyaWFsVmVyc2lvblVJRC4KCW9yZy9vbWcvQ29zTmFtaW5nL0JpbmRpbmdJdGVyYXRvck9wZXJhdGlvbnMuamF2YSwKCW9yZy9vbWcvRHluYW1pYy9QYXJhbWV0ZXIuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wNi0yOCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL2dudVJlcXVlc3QuamF2YSAoc3VibWl0KTogSWYgSU9FeGNlcHRpb24gaXMgCgl0aHJvd24gd2hpbGUgb3BlbmluZyBhIHNvY2tldCwgcmV0aHJvdyBNQVJTSEFMLgoJKiBnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9OYW1pbmdTZXJ2aWNlVHJhbnNpZW50LmphdmEgKG1haW4pOiAKCUZpeGVkIHJlZ3Jlc3Npb24gZHVlIHRoYXQgdGhlIHNlcnZpY2Ugc3RhcnRlZCBvbiB0aGUgd3JvbmcgcG9ydC4gCgoyMDA1LTA2LTI4ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJRnJvbSBDaHJpc3RpYW4gVGhhbGluZ2VyCgkqIGRvYy93d3cuZ251Lm9yZy9zdG9yaWVzLndtbDogQWRkIENBQ0FPIGRlc2NyaXB0aW9uLgoKMjAwNS0wNi0yOCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIG9yZy9vbWcvQ09SQkEvX0lETFR5cGVTdHViLmphdmE6IEFkZGVkIFNlcmlhbFZlcnNpb25VSUQuCiAgICAgICAgb3JnL29tZy9DT1JCQS9Qb2xpY3lUeXBlSGVscGVyLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0wNi0yOCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RhYmxlL0Fic3RyYWN0VGFibGVNb2RlbC5qYXZhOiB1cGRhdGVkIEFQSSBkb2NzLAoJKiBqYXZheC9zd2luZy90YWJsZS9EZWZhdWx0VGFibGVNb2RlbC5qYXZhOiBmaXhlZCBBUEkgZG9jcy4KCQoyMDA1LTA2LTI4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogZ251L2phdmEvbmlvL0RhdGFncmFtQ2hhbm5lbEltcGwuamF2YQoJKGdldE5hdGl2ZUZEKTogUmVtb3ZlZC4KCSogZ251L2phdmEvbmlvL0RhdGFncmFtQ2hhbm5lbFNlbGVjdGlvbktleS5qYXZhCgkoZ2V0TmF0aXZlRkQpOiBNb2RpZmllZCB0byBleHRyYWN0IHRoZSBuYXRpdmUgZmQgdmlhIHRoZQoJUGxhaW5EYXRhZ3JhbVNvY2tldEltcGwuCgkqIGdudS9qYXZhL25pby9TZXJ2ZXJTb2NrZXRDaGFubmVsSW1wbC5qYXZhCgkoZ2V0TmF0aXZlRkQpOiBSZW1vdmVkLgoJKiBnbnUvamF2YS9uaW8vU2VydmVyU29ja2V0Q2hhbm5lbFNlbGVjdGlvbktleS5qYXZhCgkoZ2V0TmF0aXZlRkQpOiBNb2RpZmllZCB0byBleHRyYWN0IHRoZSBuYXRpdmUgZmQgdmlhIHRoZQoJUGxhaW5Tb2NrZXRJbXBsLgoJKiBnbnUvamF2YS9uaW8vU29ja2V0Q2hhbm5lbEltcGwuamF2YQoJKGdldE5hdGl2ZUZEKTogUmVtb3ZlZC4KCSogZ251L2phdmEvbmlvL1NvY2tldENoYW5uZWxTZWxlY3Rpb25LZXkuamF2YQoJKGdldE5hdGl2ZUZEKTogTW9kaWZpZWQgdG8gZXh0cmFjdCB0aGUgbmF0aXZlIGZkIHZpYSB0aGUKCVBsYWluU29ja2V0SW1wbC4KCjIwMDUtMDYtMjggIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KICAgICAgICAKICAgICAgICBORVdTOiBBZGRlZCBub3RlIGFib3V0IENPUkJBIHN0YXR1cyBpbiAxLjYgcmVsZWFzZS4KCjIwMDUtMDYtMjcgIFppZ2EgTWFoa292ZWMgIDx6aWdhLm1haGtvdmVjQGtsaWthLnNpPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSAoY29uc3RydWN0b3JzKTogRGVmYXVsdCB0bwoJYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIGluc3RlYWQgb2YgYmxhY2suCgkoZHJhd0ltYWdlKTogV2hlbiBkcmF3aW5nIGEgcmFzdGVyLCBwYXNzIGxpdmUgZGF0YSB0byBhdm9pZCBjb3B5aW5nLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhIChjcmVhdGVJbWFnZSk6IFJldHVybgoJYSBCdWZmZXJlZEltYWdlIHdoZW4gdXNpbmcgR3JhcGhpY3MyRC4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhIChnZXRDb21wb25lbnRHcmFwaGljcyk6IEF2b2lkIGNvcHlpbmcKCUdyYXBoaWNzMkQgaW5zdGFuY2VzLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJEX2NvcHlTdGF0ZSk6IENvcHkgdGhlIHBpeGVsCglidWZmZXIgYW5kIGluaXRpYWxpemUgYSBuZXcgY2Fpcm8gY29udGV4dCBpbiBNT0RFX0pBVkFfQVJSQVkuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9kcmF3UGl4ZWxzKTogUmV2ZXJ0CglwcmV2aW91cyB0cmFuc2Zvcm1hdGlvbiBwYXRjaC4KCjIwMDUtMDYtMjcgIFppZ2EgTWFoa292ZWMgIDx6aWdhLm1haGtvdmVjQGtsaWthLnNpPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9jb3B5U3RhdGUpOgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfaW5pdFN0YXRlX19fM0lJSSk6CgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9pbml0U3RhdGVfX0lJKToKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJEX2luaXRTdGF0ZV9fTGdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyXzIpOgoJUmVtb3ZlIGdka19jYWlyb19jcmVhdGUgY2FsbHMuCglPYnRhaW4gZGltZW5zaW9uIGZvciB0aGUgY2Fpcm8gc3VyZmFjZS4KCShpbml0X2dyYXBoaWNzMmRfYXNfcmVuZGVyYWJsZSk6IEZpeCBjYWlyb194bGliX3N1cmZhY2VfY3JlYXRlCglpbnZvY2F0aW9uIGJ5IHBhc3NpbmcgZGltZW5zaW9uLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfZHJhd1BpeGVscyk6IEZpeCB0cmFuc2xhdGlvbgoJbWF0cml4IHNpZ24uCglVc2UgY2Fpcm9fc2V0X3NvdXJjZSBmb3IgYXBwbHlpbmcgcGF0dGVybnMuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9nZGtEcmF3RHJhd2FibGUpOiBGaXgKCWNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZSBpbnZvY2F0aW9uIGJ5IHBhc3NpbmcgcG9zaXRpb24gaW5zdGVhZCBvZgoJZGltZW5zaW9uLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfaW5pdFN0YXRlX19fM0lJSSk6CgkoYmVnaW5fZHJhd2luZ19vcGVyYXRpb24pOgoJKGVuZF9kcmF3aW5nX29wZXJhdGlvbik6IEluIE1PREVfSkFWQV9BUlJBWSBtb2RlLCBvbmx5IGluaXRpYWxpemUgdGhlCgljYWlybyBjb250ZXh0IG9uY2UuICBVc2UgR2V0UHJpbWl0aXZlQXJyYXlDcml0aWNhbCBmb3IgcGlubmluZyBkb3duCglwaXhlbCBidWZmZXJzIGFuZCBtYWludGFpbiBhIGJ1ZmZlciBjb3B5IGlmIG5lY2Vzc2FyeS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9ndGtjYWlyb3BlZXIuaCAoamF2YWJ1Zl9jb3B5KTogTmV3IGZpZWxkLgoKMjAwNS0wNi0yNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jCgkoZ2xvZ19mdW5jKTogTmV3IHN0YXRpYyBmdW5jdGlvbi4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0X2d0a0luaXQpOiBJbnN0YWxsIGdsb2dfZnVuYyBhcwoJZGVmYXVsdCBsb2cgaGFuZGxlci4KCSogbmF0aXZlL2puaS9ndGstcGVlci9NYWtlZmlsZS5hbSAobGliZ3RrcGVlcl9sYV9MSUJBREQpOiBBZGQgamNsLgoKMjAwNS0wNi0yNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKGdldFByZWZlcnJlZFNpemUpOiBEb24ndCBsZXQgdGhlIFVJIHJlcGxhY2UgYSBtYW51YWxseSBzZXQgcHJlZmVycmVkCglzaXplLgoKMjAwNS0wNi0yNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0JveC5qYXZhCgkoY3JlYXRlR2x1ZSk6IFJldHVybiBTaG9ydC5NQVhfVkFMVUUgaW5zdGVhZCBvZiBJbnRlZ2VyLk1BWF9WQUxVRSBhcwoJZGltZW5zaW9uIGluIHRoZSBGaWxsZXIgY29tcG9uZW50LgoJKGNyZWF0ZUhvcml6b250YWxHbHVlKTogUmV0dXJuIGEgbmV3IEZpbGxlciBvYmplY3Qgd2l0aCB0aGUgY29ycmVjdAoJdmFsdWUgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGNyZWF0ZUdsdWUoKS4gVGhlIG9iamVjdCByZXR1cm5lZCBieQoJY3JlYXRlSG9yaXpvbnRhbEdsdWUgbXVzdCBub3QgaGF2ZSBhIHZlcnRpY2FsIGRpbWVuc2lvbi4KCjIwMDUtMDYtMjcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YQoJKERpcmVjdGlvbik6IE5ldyBpbm5lciBpbnRlcmZhY2UuIFRoaXMgYWJzdHJhY3RzIHRoZSBsYXlvdXQgYWxnb3JpdGhtCglmcm9tIHRoZSBsYXlvdXQgZGlyZWN0aW9uLgoJKEhvcml6b250YWwpOiBJbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGFib3ZlIGludGVyZmFjZSBmb3IgdGhlCglob3Jpem9udGFsIGRpcmVjdGlvbi4KCShWZXJ0aWNhbCk6IEltcGxlbWVudGF0aW9uIGZvciB0aGUgYWJvdmUgaW50ZXJmYWNlIGZvciB0aGUKCXZlcnRpY2FsIGRpcmVjdGlvbi4KCShTaXplUmVxKTogQW4gaW5uZXIgaGVscGVyIGNsYXNzIHRoYXQgaG9sZHMgc2l6ZSByZXF1aXJlbWVudHMgZm9yCglDb21wb25lbnRzIHRoYXQgYXJlIGxhaWQgb3V0LiBUaGlzIGlzIHNpbWlsYXIgYnV0IG5vdCBlcXVhbCB0bwoJdGhlIFNpemVSZXF1aXJlbWVudHMgY2xhc3MgaW4gamF2YXguc3dpbmcuCgkobGF5b3V0Q29udGFpbmVyKTogUmVtb3ZlZCB0aGUgYWN0dWFsIGFsZ29yaXRobSBpbnRvIGEgbmV3IG1ldGhvZCwKCXVzaW5nIHRoZSBEaXJlY3Rpb24gaW50ZXJmYWNlLgoJKGxheW91dEFsZ29yaXRobSk6IFRoaXMgaXMgdGhlIG5ldyBsYXlvdXQgYWxnb3JpdGhtLiBUaGlzIHVzZXMKCXRoZSBEaXJlY3Rpb24gaW50ZXJmYWNlLCBzbyB0aGF0IHRoZSBhbGdvcml0aG0gaXMgbm90IGR1cGxpY2F0ZWQKCWFuZCBjYW4gYmUgZXhwcmVzc2VkIG1vcmUgcmVhZGFibGUuCgkoZGlzdHJpYnV0ZVNwYWNlKTogQSBuZXcgaGVscGVyIG1ldGhvZCB0aGF0IGRpc3RyaWJ1dGVzIGV4Y2VzcwoJc3BhY2Ugb3ZlciBhIHNldCBvZiBjb21wb25lbnRzLiBUaGlzIGlzIHRoZSBhY3R1YWwgJ3dvcmtlcicgaW4KCUJveExheW91dC4KCjIwMDUtMDYtMjcgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueVBhY2thZ2UvSW52YWxpZFZhbHVlLmphdmEsIAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5BbnlQYWNrYWdlL0ludmFsaWRWYWx1ZUhlbHBlci5qYXZhLCAKICAgICAgICBvcmcvb21nL0R5bmFtaWNBbnkvRHluQW55UGFja2FnZS9UeXBlTWlzbWF0Y2guamF2YSwgCiAgICAgICAgb3JnL29tZy9EeW5hbWljQW55L0R5bkFueVBhY2thZ2UvVHlwZU1pc21hdGNoSGVscGVyLmphdmEsIAogICAgICAgIG9yZy9vbWcvRHluYW1pY0FueS9EeW5BbnlQYWNrYWdlL3BhY2thZ2UuaHRtbCwgCiAgICAgICAgb3JnL29tZy9JT1AvQ29tcG9uZW50SWRIZWxwZXIuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wNi0yNyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKICAgICAgICAqIG9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BUGFja2FnZS9TZXJ2YW50QWxyZWFkeUFjdGl2ZS5qYXZhLCAKICAgICAgICBvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvU2VydmFudEFscmVhZHlBY3RpdmVIZWxwZXIuamF2YToKICAgICAgICBOZXcgZmlsZXMuCgoyMDA1LTA2LTI3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvSW50ZWdlci5qYXZhOgoJKHZhbHVlT2YoaW50KSk6IEltcGxlbWVudGVkLgoJKGJpdENvdW50KGludCkpOiBJbXBsZW1lbnRlZC4KCShyb3RhdGVMZWZ0KGludCxpbnQpKTogSW1wbGVtZW50ZWQuCgkocm90YXRlUmlnaHQoaW50LGludCkpOiBJbXBsZW1lbnRlZC4KCShoaWdoZXN0T25lQml0KGludCkpOiBJbXBsZW1lbnRlZC4KCShudW1iZXJPZkxlYWRpbmdaZXJvcyhpbnQpKTogSW1wbGVtZW50ZWQuCgkobG93ZXN0T25lQml0KGludCkpOiBJbXBsZW1lbnRlZC4KCShudW1iZXJPZlRyYWlsaW5nWmVyb3MoaW50KSk6IEltcGxlbWVudGVkLgoJKHNpZ251bShpbnQpKTogSW1wbG1lbnRlZC4KCShyZXZlcnNlQnl0ZXMoaW50KSk6IEltcGxlbWVudGVkLgoJKHJldmVyc2UoaW50KSk6IEltcGxlbWVudGVkLgoJCjIwMDUtMDYtMjUgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PUkJJbml0SW5mb1BhY2thZ2UvT2JqZWN0SWRIZWxwZXIuamF2YToKCU5ldyBmaWxlLgoKMjAwNS0wNi0yNSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FNYW5hZ2VyUGFja2FnZS9BZGFwdGVySW5hY3RpdmUuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQU1hbmFnZXJQYWNrYWdlL0FkYXB0ZXJJbmFjdGl2ZUhlbHBlci5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BTWFuYWdlclBhY2thZ2UvU3RhdGUuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQU1hbmFnZXJQYWNrYWdlL2luZGV4Lmh0bWw6IE5ldyBmaWxlcy4KCjIwMDUtMDYtMjQgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL0NvbG9yVUlSZXNvdXJjZS5qYXZhOiBkb2N1bWVudGVkIAoJSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9ucyBpbiBjb25zdHJ1Y3RvcnM7CgkKMjAwNS0wNi0yNCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RhYmxlL0Fic3RyYWN0VGFibGVNb2RlbC5qYXZhOgoJKGdldENvbHVtbk5hbWUpOiBlbGltaW5hdGVkIHRlbXAgaW5kZXggdG8gZml4IHZlcnkgbWlub3IgYnVnLAoJKGZpbmRDb2x1bW4pOiB0aHJvdyBOdWxsUG9pbnRlckV4Y2VwdGlvbiBmb3IgbnVsbCBhcmd1bWVudCwKCShmaXJlVGFibGVEYXRhQ2hhbmdlZCk6IHNldCBjb3JyZWN0IHJvdyBpbmRpY2VzLgoJKiBqYXZheC9zd2luZy90YWJsZS9EZWZhdWx0VGFibGVNb2RlbC5qYXZhOgoJKHNldERhdGFWZWN0b3IpOiByZXBsYWNlIG51bGwgYXJndW1lbnQgd2l0aCBlbXB0eSB2ZWN0b3IgdGhlbiBjYWxsCglzZXRDb2x1bW5JZGVudGlmaWVycygpIHRvIHNldCB1cCBjb2x1bW4gbmFtZXMsCgkoc2V0Q29sdW1uQ291bnQpOiBjYWxsIGZpcmVUYWJsZVN0cnVjdHVyZUNoYW5nZWQoKSByYXRoZXIgdGhhbiAKCWZpcmVUYWJsZURhdGFDaGFuZ2VkKCksCgkoYWRkQ29sdW1uKE9iamVjdCwgT2JqZWN0W10pKTogY2FsbCBmaXJlVGFibGVTdHJ1Y3R1cmVDaGFuZ2VkKCkgcmF0aGVyIAoJdGhhbiBmaXJlVGFibGVEYXRhQ2hhbmdlZCgpLAoJKGFkZFJvdyhWZWN0b3IpKTogZml4ZWQgcm93IGluZGljZXMgaW4gVGFibGVNb2RlbEV2ZW50LAoJKG1vdmVSb3cpOiBmaXhlZCByb3cgaW5kaWNlcyBpbiBUYWJsZU1vZGVsRXZlbnQsCgkoZ2V0Q29sdW1uTmFtZSk6IGZvciBhIGNvbHVtbiBpbmRleCBiZXlvbmQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGluCgl0aGUgbW9kZWwsIHBhc3MgY29udHJvbCB0byB0aGUgc3VwZXJjbGFzcy4KCjIwMDUtMDYtMjQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YToKCShMaWdodHdlaWdodERpc3BhdGNoZXIuYWNxdWlyZUNvbXBvbmVudEZvck1vdXNlRXZlbnQpOgoJVXNlIHRlbXAgdmFyaWFibGUgdG8gc2V0IGxhc3RDb21wb25lbnRFbnRlcmVkIHRvIG51bGwgX2JlZm9yZV8KCWRpc3BhdGNoaW5nIE1PVVNFX0VYSVRFRCBldmVudHMgdG8gYXZvaWQgaW5maW5pdGUgbG9vcC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BvcHVwTWVudVVJLmphdmE6CgkoTW91c2VJbnB1dEhhbmRsZXIuYWNxdWlyZUNvbXBvbmVudEZvck1vdXNlRXZlbnQpOgoJVXNlIHRlbXAgdmFyaWFibGUgdG8gc2V0IGxhc3RDb21wb25lbnRFbnRlcmVkIHRvIG51bGwgX2JlZm9yZV8KCWRpc3BhdGNoaW5nIE1PVVNFX0VYSVRFRCBldmVudHMgdG8gYXZvaWQgaW5maW5pdGUgbG9vcC4KCjIwMDUtMDYtMjQgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhCgkoSlNjcm9sbFBhbmUpOiBBZGQgVmlld3BvcnQgYXQgaW5kZXggMCByYXRoZXIgdGhhbiBhZnRlciB0aGUKCUpTY3JvbGxCYXJzLiAgVGhpcyBjb21wbGllcyB3aXRoIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbnMuCgkKMjAwNS0wNS0xNCAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9hZWxmcmVkMi9YbWxQYXJzZXIuamF2YTogZW5zdXJlIHRoYXQgY2hhcnNldCBwYXJhbWV0ZXIgb2YKCWV4dGVybmFsIE1JTUUgZW50aXR5IGlzIHRyaW1tZWQuCgkqIGdudS94bWwvZG9tL0RvbURvY3VtZW50LmphdmE6IERvbU5zTm9kZXMgcmV0cmlldmVkIHZpYQoJY3JlYXRlRWxlbWVudC9jcmVhdGVBdHRyaWJ1dGUgc2hvdWxkIG5vdCBoYXZlIGxvY2FsTmFtZXMuCgoyMDA1LTA2LTI0ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL0FkYXB0ZXJBbHJlYWR5RXhpc3RzLmphdmEsCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvQWRhcHRlckFscmVhZHlFeGlzdHNIZWxwZXIuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BUGFja2FnZS9Xcm9uZ1BvbGljeUhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL0FkYXB0ZXJOb25FeGlzdGVudEhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL0ludmFsaWRQb2xpY3lIZWxwZXIuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BUGFja2FnZS9TZXJ2YW50Tm90QWN0aXZlSGVscGVyLmphdmEsCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvT2JqZWN0QWxyZWFkeUFjdGl2ZUhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL09iamVjdE5vdEFjdGl2ZUhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL05vU2VydmFudEhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL1dyb25nQWRhcHRlckhlbHBlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL0FkYXB0ZXJOb25FeGlzdGVudC5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL0ludmFsaWRQb2xpY3kuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BUGFja2FnZS9Ob1NlcnZhbnQuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BUGFja2FnZS9PYmplY3RBbHJlYWR5QWN0aXZlLmphdmEsCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvT2JqZWN0Tm90QWN0aXZlLmphdmEsCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1BPQVBhY2thZ2UvU2VydmFudE5vdEFjdGl2ZS5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL1dyb25nQWRhcHRlci5qYXZhLAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9QT0FQYWNrYWdlL1dyb25nUG9saWN5LmphdmEsCglnbnUvQ09SQkEvUG9hL0ludmFsaWRQb2xpY3lIb2xkZXIuamF2YSwKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvUE9BUGFja2FnZS9wYWNrYWdlLmh0bWw6IE5ldyBmaWxlcy4KCjIwMDUtMDYtMjQgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvSU9QL0NvZGVjT3BlcmF0aW9ucy5qYXZhLAoJb3JnL29tZy9JT1AvQ29kZWMuamF2YSwKCW9yZy9vbWcvSU9QL0NvZGVjRmFjdG9yeS5qYXZhLAoJb3JnL29tZy9JT1AvQ29kZWNGYWN0b3J5SGVscGVyLmphdmEsCglvcmcvb21nL0lPUC9Db2RlY0ZhY3RvcnlPcGVyYXRpb25zLmphdmEsCglnbnUvQ09SQkEvY2RyRW5jYXBzQ29kZWMuamF2YSwKCWdudS9DT1JCQS9nbnVDb2RlY0ZhY3RvcnkuamF2YTogTmV3IGZpbGVzLgoJKiBnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSAoY29uc3RydWN0b3IpOgoJUHV0ICJDb2RlY0ZhY3RvcnkiIGludG8gaW5pdGlhbCByZWZlcmVuY2VzLgoJKiBnbnUvQ09SQkEvaG9sZGVyRmFjdG9yeS5qYXZhIChjcmVhdGVIb2xkZXIpOiAKCVJlbW92ZWQgZGVidWcgc3RhdGVtZW50LgoKMjAwNS0wNi0yNCAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCQoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmE6CgkoR2xhc3NQYW5lRGlzcGF0Y2hlci5hY3F1aXJlQ29tcG9uZW50Rm9yTW91c2VFdmVudCk6IFVzZQoJdGVtcCB2YXJpYWJsZSB0byBzZXQgbGFzdENvbXBvbmVudEVudGVyZWQgdG8gbnVsbCBfYmVmb3JlXwoJZGlzcGF0Y2hpbmcgTU9VU0VfRVhJVEVEIGV2ZW50cywgb3RoZXJ3aXNlIHdlIGdldCBpbmZpbml0ZQoJbG9vcC4KCjIwMDUtMDYtMjQgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBnbnUvamF2YS9hd3QvQVdUVXRpbGl0aWVzLmphdmE6CglBZGRlZCBuZXcgdXRpbGl0eSBjbGFzcy4gVGhpcyBwcm92aWRlcyBhIG1ldGhvZCBmb3IgZmV0Y2hpbmcKCXRoZSB2aXNpYmxlIGNoaWxkcmVuIG9mIGEgQ29udGFpbmVyLgoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YToKCVVzZSBBV1RVdGlsaXRpZXMuZ2V0VmlzaWJsZUNoaWxkcmVuKCkgaW5zdGVhZCBvZgoJQ29udGFpbmVyLmdldENvbXBvbmVudHMoKS4gTGF5b3V0TWFuYWdlcnMgbXVzdCBub3QgbGF5b3V0IGludmlzaWJsZQoJY2hpbGRyZW4uCgoyMDA1LTA2LTI0ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShjb25zdHJ1Y3Rvcik6IENhbGwgc2V0TW9kZWwoKSBpbnN0ZWFkIG9mIHNldHRpbmcgdGhlIG1vZGVsIGRpcmVjdGx5LgoJVGhpcyBtYWtlcyBzdXJlIHRoYXQgbGlzdGVuZXJzIGFuZCB0aGUgY29sdW1uTW9kZWwgYXJlIHNldCB1cAoJY29ycmVjdGx5LgoJKGluaXRpYWxpemVMb2NhbFZhcnMpOiBTZXQgdXAgdGFibGVIZWFkZXIgYmVmb3JlIHRoZSBjb2x1bW5Nb2RlbC4KCVRoaXMgd2F5IHdlIGFscmVhZHkgaGF2ZSBhIHRhYmxlSGVhZGVyIHdoZW4gc2V0Q29sdW1uTW9kZWwgaXMgY2FsbGVkCglhbmQgaXQgY2FuIGJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkuCgkodGFibGVDaGFuZ2VkKTogVXBkYXRlIHRoZSBjb2x1bW5Nb2RlbCB3aGVuIHRoZSB0YWJsZSBzdHJ1Y3R1cmUKCWNoYW5nZXMuCgkoc2V0Q29sdW1uTW9kZWwpOiBBbHNvIHNldCB0aGUgY29sdW1uTW9kZWwgb2YgdGhlIHRhYmxlSGVhZGVyIGhlcmUuCglUaGlzIGlzIHNwZWNpZmllZCBpbiBTdW4ncyBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlTW9kZWwuamF2YQoJKHNldERhdGFWZWN0b3IpOiBGaXJlIGEgc3RydWN0dXJlQ2hhbmdlZCBldmVudCwgc28gdGhhdCB0aGUKCWNvbHVtbk1vZGVsIGFuZCBoZWFkZXIgY29sdW1uTW9kZWwgYXJlIHVwZGF0ZWQgY29ycmVjdGx5LgoKMjAwNS0wNi0yMyAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrSW1hZ2UuamF2YTogRG9uJ3QgZHJhdyAwIHNpemUgaW1hZ2VzLgoKMjAwNS0wNi0yMyAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrSW1hZ2UuamF2YTogQWRkIGNhc2Ugc291cmNlIHNpemUgPiBzaXplLgoKMjAwNS0wNi0yMyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9Mb2NhbE9iamVjdC5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMDYtMjIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtQaXhidWZEZWNvZGVyLmphdmEKCShwdW1wQnl0ZXMpOiBUaHJvd3MgSU9FeGNlcHRpb24uCgkocHVtcERvbmUpOiBOZXcgbmF0aXZlIG1ldGhvZC4KCShwcm9kdWNlKTogQ2FsbCBwdW1wRG9uZSgpLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmg6IFJlZ2VuZXJhdGVkLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyX3B1bXBEb25lKTogTmV3IG1ldGhvZC4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyX3B1bXBCeXRlcyk6IENoZWNrIGZvcgoJZXJyb3JzIG9uIGdka19waXhidWZfbG9hZGVyX3dyaXRlLgoKMjAwNS0wNi0yMiAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9JT1AvUHJvZmlsZUlkSGVscGVyLmphdmEsCglvbWcvSU9QL011bHRpcGxlQ29tcG9uZW50UHJvZmlsZUhlbHBlci5qYXZhLAoJb21nL0lPUC9NdWx0aXBsZUNvbXBvbmVudFByb2ZpbGVIb2xkZXIuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wNi0yMiAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVUkuamF2YToKCShJbnRlcm5hbEZyYW1lUHJvcGVydHlDaGFuZ2VMaXN0ZW5lci52ZXRvYWJsZUNoYW5nZSk6CglSZXBhaW50IHRoZSBKRGVza3RvcFBhbmUgd2hlbiBKSW50ZXJuYWxGcmFtZSBpcyBjbG9zZWQuCglBbHNvIHZldG8gdGhlIGNsb3NlIHJlcXVlc3QsIGJlY2F1c2UgaGlkaW5nIGlzIG5vdAoJY2xvc2luZy4KCjIwMDUtMDYtMjIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgkKCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YToKCShsYXlvdXRDb21wb3VuZExhYmVsKTogQWRkZWQgY2hlY2sgZm9yIG11bHRpLWxpbmUgdGV4dC4KCjIwMDUtMDYtMjIgIEFudGhvbnkgQmFsa2lzc29vbiAgPGFiYWxraXNzQHJlZGhhdC5jb20+CgkKCSogamF2YXgvc3dpbmcvSkRpYWxvZy5qYXZhOgoJKHNldERlZmF1bHRDbG9zZU9wZXJhdGlvbik6IFJlbW92ZWQgdmFsaWRpdHkgY2hlY2sgZm9yIAoJb3BlcmF0aW9uIGNvZGUuICBWYWxpZGl0eSBpcyBoYW5kbGVkIGluIHByb2Nlc3NXaW5kb3dFdmVudC4KCSogamF2YXgvc3dpbmcvSkZyYW1lLmphdmE6Cgkoc2V0RGVmYXVsdENsb3NlT3BlcmF0aW9uKTogQ2hhbmdlZCBlcnJvciBtZXNzYWdlIHRvIGJlIG1vcmUKCWRlc2NyaXB0aXZlIGFuZCBzaW1pbGFyIHRvIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvSkludGVybmFsRnJhbWUuamF2YToKCShzZXREZWZhdWx0Q2xvc2VPcGVyYXRpb24pOiBSZW1vdmVkIHZhbGlkaXR5IGNoZWNrIGZvciAKCW9wZXJhdGlvbiBjb2RlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmE6CgkoSW50ZXJuYWxGcmFtZVByb3BlcnR5TGlzdGVuZXIpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbiBvZgoJVmV0b2FibGVDaGFuZ2VMaXN0ZW5lci4KCShJbnRlcm5hbEZyYW1lUHJvcGVydHlMaXN0ZW5lci52ZXRvYWJsZUNoYW5nZSk6IE5ldyBtZXRob2QuCgkoSW50ZXJuYWxGcmFtZVByb3BlcnR5TGlzdGVuZXIucHJvcGVydHlDaGFuZ2UpOiBSZW1vdmVkCgljaGVjayBmb3IgSkludGVybmFsRnJhbWUuSVNfQ0xPU0VEX1BST1BFUlRZLiAgVGhpcyBpcyBub3cKCWhhbmRsZWQgaW4gdmV0b2FibGVDaGFuZ2UuCgkoZ2V0RGVza3RvcE1hbmFnZXIpOiBBZGRlZCBhIGNoZWNrIGZvciBudWxsIHBvaW50ZXIgZnJvbSAKCUpJbnRlcm5hbEZyYW1lLmdldERlc2t0b3BQYW5lKCkuCgoyMDA1LTA2LTIyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xhYmVsVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IEpMYWJlbHMgYXJlIG5vdCBvcGFxdWUgYnkgZGVmYXVsdC4KCjIwMDUtMDYtMjIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9HcmF5RmlsdGVyLmphdmEKCShjb25zdHJ1Y3Rvcik6IENvbXB1dGUgZmFjdG9yIGF0IGluaXRpYWxpemF0aW9uIHRpbWUuCgkoY3JlYXRlRGlzYWJsZWRJbWFnZSk6IEluaXRpYWxpemUgR3JheUZpbHRlciB3aXRoIGNvcnJlY3QgYXJndW1lbnRzLgoJKGZpbHRlclJHQik6IFJld29ya2VkIGZpbHRlciBtZXRob2QuIFRoaXMgaXMgbm93IGNvbXBsaWFudCB3aXRoCgl0aGUgSkRLIGJlaGF2aW91ci4KCjIwMDUtMDYtMjIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglGaXhlcyBidWcgIzEzNDM5CgkqIGphdmF4L3N3aW5nL0pTY3JvbGxQYW5lLmphdmEgKEpTY3JvbGxQYW5lKENvbXBvbmVudCxpbnQsaW50KSk6CglTZXQgdmlld3BvcnQsIHZpZXcgYW5kIHNjcm9sbExvc3RlbmVyIG1hbnVhbGx5LgoKMjAwNS0wNi0yMiAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9JT1AvU2VydmljZUNvbnRleHRMaXN0SG9sZGVyLmphdmEsCglvcmcvb21nL0lPUC9TZXJ2aWNlQ29udGV4dC5qYXZhCglvcmcvb21nL0lPUC9TZXJ2aWNlQ29udGV4dEhlbHBlci5qYXZhCglvcmcvb21nL0lPUC9TZXJ2aWNlQ29udGV4dEhvbGRlci5qYXZhCglvcmcvb21nL0lPUC9TZXJ2aWNlQ29udGV4dExpc3RIZWxwZXIuamF2YQoJb3JnL29tZy9JT1AvU2VydmljZUlkSGVscGVyLmphdmE6IE5ldyBmaWxlcy4KCjIwMDUtMDYtMjEgIExpbGxpYW4gQW5nZWwgIDxsYW5nZWxAcmVkaGF0LmNvbT4KCgkqIGphdmEvdXRpbC9sb2dnaW5nL0xvZ2dlci5qYXZhCgkoc2V0UGFyZW50KTogTm8gbGluZXMgYWZ0ZXIgdGhyb3dpbmcgYW4gZXhjZXB0aW9uIGFyZSBleGVjdXRlZCAKCWFuZCB0aGVyZSBpcyBubyBwb2ludCB0byBjaGVjayBpZiB0aGUgcGFyZW50IGlzIG51bGwsIGJlY2F1c2UgYSAKCU51bGxQb2ludGVyRXhjZXB0aW9uIHdvdWxkIGhhdmUgYmVlbiB0aHJvd24gZWFybGllci4gRml4ZXMgQnVnIAoJIzEzNDYwLgoKMjAwNS0wNi0yMSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9JT1AvRW5jb2RpbmcuamF2YSwKCW9yZy9vbWcvSU9QL0lPUi5qYXZhLAoJb3JnL29tZy9JT1AvSU9SSGVscGVyLmphdmEsCglvcmcvb21nL0lPUC9JT1JIb2xkZXIuamF2YSwKCW9yZy9vbWcvSU9QL1RhZ2dlZFByb2ZpbGVIb2xkZXIuamF2YSwKCW9yZy9vbWcvSU9QL1RhZ2dlZFByb2ZpbGUuamF2YSwKCW9yZy9vbWcvSU9QL1RhZ2dlZFByb2ZpbGVIZWxwZXIuamF2YSwKCW9yZy9vbWcvSU9QL1RhZ2dlZENvbXBvbmVudEhvbGRlci5qYXZhLAoJb3JnL29tZy9JT1AvVGFnZ2VkQ29tcG9uZW50LmphdmEsCglvcmcvb21nL0lPUC9UYWdnZWRDb21wb25lbnRIZWxwZXIuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wNi0yMSAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogZ251L3htbC9hZWxmcmVkMi9YbWxQYXJzZXIKICAgICAgICAocGFyc2VBdHRyaWJ1dGUpOiBpZiAodHlwZS5lcXVhbHMoIkNEQVRBIikgfHwgdHlwZSA9PSBudWxsKSAKICAgICAgICB0aGlzIHdvdWxkIGFsd2F5cyB0aHJvdyBhIE51bGxQb2ludGVyRXhjZXB0aW9uIGlmIHR5cGUgaXMgbnVsbC4KCjIwMDUtMDYtMjEgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9GdW5jdGlvbmFsX09SQi5qYXZhIChQb3J0KTogRG9jdW1lbnRhdGlvbgoJdXBkYXRlLiAoc2V0UG9ydCk6IE1hZGUgc3RhdGljLCBkb2N1bWVudGF0aW9uIHVwZGF0ZS4KCShnZXRQb3J0KTogUmVtb3ZlZC4KCSogZ251L0NPUkJBL2dlbmVyYWxUeXBlQ29kZS5qYXZhIChVTlNFVCk6IENoYW5nZWQgdmFsdWUuCgkqIGdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL05hbWluZ1NlcnZpY2VUcmFuc2llbnQuamF2YSAobWFpbik6CglSZW1vdmVkIGNhbGwgdG8gaW5pdC4KCjIwMDUtMDYtMjEgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvQ3VycmVudEhlbHBlci5qYXZhLCAKCW9yZy9vbWcvQ09SQkEvQ3VycmVudEhvbGRlci5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTA2LTIxICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL0N1cnJlbnQuamF2YSwgCglvcmcvb21nL0NPUkJBL0N1cnJlbnRPcGVyYXRpb25zLmphdmE6IERvY3VtZW50YXRpb24gdXBkYXRlLgoJCjIwMDUtMDYtMjAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHREZXNrdG9wTWFuYWdlci5qYXZhIChnZXRCb3VuZHNGb3JJY29uT2YpOgoJSW5pdGlhbGl6ZSBkZXNrdG9wUGFuZSBiZWZvcmUgdXNlLgoKMjAwNS0wNi0yMCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUwuamF2YTogQWRkZWQgcHVibGljIHBhcmFtZXRlcmxlc3MgCgljb25zdHJ1Y3RvciBmb3IgVGFnLgoKMjAwNS0wNi0yMCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9Qb2xpY3lMaXN0SG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1BvbGljeUxpc3RIZWxwZXIuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wNi0yMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdERlc2t0b3BNYW5hZ2VyLmphdmEKCShnZXRCb3VuZHNGb3JJY29uT2YpOiBObyByZWFzb24gdG8gY2hlY2sgaWYgZGVza3RvcFBhbmUgaXMgbnVsbAoJYWZ0ZXIgZGVyZWZlcmVuY2luZyBkZXNrdG9wUGFuZSBpbiBjb2RlLiBGaXhlcyBidWcgIzEzNDYxLgoKMjAwNS0wNi0yMCAgTGlsbGlhbiBBbmdlbCAgPGxhbmdlbEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YQoJKEpTY3JvbGxQYW5lKTogVmlld3BvcnQgd2FzIG5vdCBiZWluZyBzZXQgd2hlbiAKCXRoZSB2aWV3IHdhcyBudWxsLiBXaGVuZXZlciBhIHZpZXcgd291bGQgYmUgYWRkZWQgdG8gY29udGFpbmVyCglpdCB3b3VsZCBub3QgYXBwZWFyLiBUaGlzIHdhcyBjaGFuZ2VkIHRvIHVzZSBzZXRWaWV3cG9ydFZpZXcuCgoyMDA1LTA2LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YToKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RDZWxsRWRpdG9yLmphdmE6CgkqIGphdmF4L3N3aW5nL0FjdGlvbi5qYXZhOgoJKiBqYXZheC9zd2luZy9Cb3JkZXJGYWN0b3J5LmphdmE6CgkqIGphdmF4L3N3aW5nL0J1dHRvbkdyb3VwLmphdmE6CgkqIGphdmF4L3N3aW5nL0NlbGxSZW5kZXJlclBhbmUuamF2YToKCSogamF2YXgvc3dpbmcvRGVidWdHcmFwaGljcy5qYXZhOgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Qm91bmRlZFJhbmdlTW9kZWwuamF2YToKCSogamF2YXgvc3dpbmcvRGVmYXVsdEJ1dHRvbk1vZGVsLmphdmE6CgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDZWxsRWRpdG9yLmphdmE6CgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDb21ib0JveE1vZGVsLmphdmE6CgkqIGphdmF4L3N3aW5nL0RlZmF1bHREZXNrdG9wTWFuYWdlci5qYXZhOgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Rm9jdXNNYW5hZ2VyLmphdmE6CgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0Q2VsbFJlbmRlcmVyLmphdmE6CgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0TW9kZWwuamF2YToKCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJKiBqYXZheC9zd2luZy9Gb2N1c01hbmFnZXIuamF2YToKCSogamF2YXgvc3dpbmcvR3JheUZpbHRlci5qYXZhOgoJKiBqYXZheC9zd2luZy9JbWFnZUljb24uamF2YToKCSogamF2YXgvc3dpbmcvSkJ1dHRvbi5qYXZhOgoJKiBqYXZheC9zd2luZy9KQ2hlY2tCb3hNZW51SXRlbS5qYXZhOgoJKiBqYXZheC9zd2luZy9KQ29sb3JDaG9vc2VyLmphdmE6CgkqIGphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhOgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6CgkqIGphdmF4L3N3aW5nL0pEZXNrdG9wUGFuZS5qYXZhOgoJUmVmb3JtYXR0ZWQgdGhlc2Ugc291cmNlZmlsZXMgdG8gYmV0dGVyIG1hdGNoIG91ciBjb2Rpbmcgc3R5bGUuCgoyMDA1LTA2LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IE1ha2Ugc3VyZSB0aGF0IHByZWZlcnJlZFNpemUgaXMgZ3JlYXRlciB0aGFuCgltaW5pbXVtU2l6ZS4KCShzZXRNaW5pbXVtU2l6ZSk6IFJlbW92ZWQgaGFjayB0byBhZGp1c3QgcHJlZmVycmVkU2l6ZS4gVGhpcyBpcyBtb3ZlZAoJaW50byB0aGUgbWV0aG9kIGdldFByZWZlcnJlZFNpemUoKS4KCjIwMDUtMDYtMjAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShzZXRPcGFxdWUpOiBEb24ndCByZXZhbGlkYXRlIGFuZCByZXBhaW50IHdoZW4gdGhlIG9wYXF1ZSBwcm9wZXJ0eQoJaXMgY2hhbmdlZCAoYXQgbGVhc3Qgbm90IGhlcmUpLgoKMjAwNS0wNi0yMCAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhOgoJSW5oZXJpdCBmcm9tIFN0eWxlZEVkaXRvcktpdCwgQ2xvbmVhYmxlLCBTZXJpYWxpemFibGUgYW5kIGFkZGluZwoJc3RyaW5nIGNvbnN0YW50cy4gCgkoaGFuZGxlU3RhcnRUYWcpOiBGaXhlZCB0eXBvIGluIGNvbW1lbnQuCgoyMDA1LTA2LTIwICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvUG9saWN5SGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1BvbGljeUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9fUG9saWN5U3R1Yi5qYXZhLAoJZ251L0NPUkJBL19Qb2xpY3lJbXBsQmFzZS5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTA2LTE5ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZS5jCgkoZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlX2dldFBpeGJ1ZiwKCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZV9nZXRQaXhtYXAsCglnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2VfaXNPZmZTY3JlZW4pOiBNb3ZlIGRlY2xhcmF0aW9uIHRvIC4uLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0a3BlZXIuaDogaGVyZS4KCjIwMDUtMDYtMTggIENocmlzIEJ1cmRlc3MgPGRvZ0BibHVlem9vLm9yZz4KCgkqIGphdmEvdXRpbC9sb2dnaW5nL0xvZ01hbmFnZXIuamF2YTogU2V0IGRlZmF1bHQgbGV2ZWwgb2Ygcm9vdAoJbG9nZ2VyIHRvIElORk8uCgoyMDA1LTA2LTE4ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvSU9QL1RyYW5zYWN0aW9uU2VydmljZS5qYXZhLCAKCW9yZy9vbWcvSU9QL0NvZGVTZXRzLmphdmE6IE5ldyBmaWxlcy4KCjIwMDUtMDYtMTcgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9JRF9BU1NJR05NRU5UX1BPTElDWV9JRC5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvSURfVU5JUVVFTkVTU19QT0xJQ1lfSUQuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL0lNUExJQ0lUX0FDVElWQVRJT05fUE9MSUNZX0lELmphdmEsIAoJb3JnL29tZy9Qb3J0YWJsZVNlcnZlci9MSUZFU1BBTl9QT0xJQ1lfSUQuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1JFUVVFU1RfUFJPQ0VTU0lOR19QT0xJQ1lfSUQuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL1NFUlZBTlRfUkVURU5USU9OX1BPTElDWV9JRC5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvVEhSRUFEX1BPTElDWV9JRC5qYXZhLCAKCW9yZy9vbWcvSU9QL0VOQ09ESU5HX0NEUl9FTkNBUFMuamF2YSwgCglvcmcvb21nL0lPUC9UQUdfQUxURVJOQVRFX0lJT1BfQUREUkVTUy5qYXZhLCAKCW9yZy9vbWcvSU9QL1RBR19DT0RFX1NFVFMuamF2YSwgCglvcmcvb21nL0lPUC9UQUdfSU5URVJORVRfSU9QLmphdmEsIAoJb3JnL29tZy9JT1AvVEFHX0pBVkFfQ09ERUJBU0UuamF2YSwgCglvcmcvb21nL0lPUC9UQUdfTVVMVElQTEVfQ09NUE9ORU5UUy5qYXZhLCAKCW9yZy9vbWcvSU9QL1RBR19PUkJfVFlQRS5qYXZhLCAKCW9yZy9vbWcvSU9QL1RBR19QT0xJQ0lFUy5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9MT0NBVElPTl9GT1JXQVJELmphdmEsIAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL1NVQ0NFU1NGVUwuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvU1lTVEVNX0VYQ0VQVElPTi5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9UUkFOU1BPUlRfUkVUUlkuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlSW50ZXJjZXB0b3IvVVNFUl9FWENFUFRJT04uamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wNi0xNyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbGliL01ha2VmaWxlLmFtIChKQVZBQyk6IFVzZSBKSUtFU0VOQ09ESU5HLgoJKiBtNC9hY2luY2x1ZGUubTQgKENMQVNTUEFUSF9DSEVDS19KSUtFUyk6IENoZWNrIGZvciAtZW5jb2RpbmcKCW9wdGlvbiB0byBqaWtlcy4KCShKSUtFU0VOQ09ESU5HKTogTmV3IHN1YnN0LgoKMjAwNS0wNi0xNyAgS2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KCgkqIGdudS9jbGFzc3BhdGgvamR3cC9leGNlcHRpb24vVm1EZWFkRXhjZXB0aW9uLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXhjZXB0aW9uL05vdEltcGxlbWVudGVkRXhjZXB0aW9uLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXhjZXB0aW9uL0pkd3BJbnRlcm5hbEVycm9yRXhjZXB0aW9uLmphdmE6IE5ldwoJZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V4Y2VwdGlvbi9KZHdwRXhjZXB0aW9uLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvZXhjZXB0aW9uL0ludmFsaWRUaHJlYWRHcm91cEV4Y2VwdGlvbi5qYXZhOiBOZXcKCWZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9leGNlcHRpb24vSW52YWxpZFRocmVhZEV4Y2VwdGlvbi5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V4Y2VwdGlvbi9JbnZhbGlkU3RyaW5nRXhjZXB0aW9uLmphdmE6IE5ldyBmaWxlCgkqIGdudS9jbGFzc3BhdGgvamR3cC9leGNlcHRpb24vSW52YWxpZE9iamVjdEV4Y2VwdGlvbi5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V4Y2VwdGlvbi9JbnZhbGlkRXZlbnRUeXBlRXhjZXB0aW9uLmphdmE6IE5ldwoJZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2V4Y2VwdGlvbi9JbnZhbGlkQ291bnRFeGNlcHRpb24uamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9leGNlcHRpb24vSW52YWxpZENsYXNzRXhjZXB0aW9uLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0wNi0xNyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pBcHBsZXQuamF2YSwKCWphdmF4L3N3aW5nL0pEaWFsb2cuamF2YSwKCWphdmF4L3N3aW5nL0pGcmFtZS5qYXZhLAoJamF2YXgvc3dpbmcvSkludGVybmFsRnJhbWUuamF2YSwKCWphdmF4L3N3aW5nL0pXaW5kb3cuamF2YTogQWRkZWQgc3VwcG9ydCBmb3IgYWRkaW5nIGFuZCBzZXR0aW5nCglsYXlvdXQgbWFuYWdlcnMgZGlyZWN0bHkgZm9yIHRoZXNlIHRvcC1sZXZlbCBjb250YWluZXJzIHRvY29tcGx5Cgl3aXRoIEoyU0UgNS4wLiAgQWRkZWQgcHJpdmF0ZSBib29sZWFuIGluaXRTdGFnZURvbmUuCglJbml0aWFsaXplZCByb290UGFuZUNoZWNraW5nRW5hYmxlZCB0byBmYWxzZS4KCShKRGlhbG9nLmRpYWxvZ0luaXQpOiBTZXQgaW5pdFN0YWdlRG9uZSB0byB0cnVlLgoJKEpBcHBsZXQuSkFwcGxldCk6IFNldCBpbml0U3RhZ2VEb25lIHRvIHRydWUuCgkoSkZyYW1lLmZyYW1lSW5pdCkgOiBTZXQgaW5pdFN0YWdlRG9uZSB0byB0cnVlLgoJKEpJbnRlcm5hbEZyYW1lLkpJbnRlcm5hbEZyYW1lKTogU2V0IGluaXRTdGFnZURvbmUgdG8gdHJ1ZS4KCShKV2luZG93LndpbmRvd0luaXQpOiBTZXQgaW5pdFN0YWdlRG9uZSB0byB0cnVlLgoJKGFkZEltcGwpOiBBZGRlZCBjaGVjayBmb3IgZGlyZWN0IGFkZHMgKEoyU0UgNS4wKSBhbmQgZGlyZWN0ZWQKCXRoZW0gdG8gZ2V0Q29udGVudFBhbmUoKS5hZGQuCgkoc2V0TGF5b3V0KTogQWRkZWQgY2hlY2sgZm9yIGRpcmVjdCBjYWxscyB0byBzZXRMYXlvdXQuCgkocmVtb3ZlKTogQWRkZWQgY2hlY2sgZm9yIGRpcmVjdCBjYWxscyB0byByZW1vdmUuCgoyMDA1LTA2LTE3ICBMaWxsaWFuIEFuZ2VsICA8bGFuZ2VsQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhCgkobW91c2VQcmVzc2VkKTogQ2hlY2sgaWYgY3VycmVudENvbXBvbmVudCBpcyBudWxsLgoJSWYgc28sIGl0IHNob3VsZCBiZSBlcXVhbCB0byB0aGUgY3VycmVudCBzb3VyY2UuCglGaXhlcyBCdWcgIzExNTM4LgoKMjAwNS0wNi0xNyAgQW50aG9ueSBCYWxraXNzb29uICA8YWJhbGtpc3NAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0U2VsZWN0aW9uTW9kZWwuamF2YToKCShhZGRTZWxlY3Rpb25JbnRlcnZhbCk6CUFkZGVkIHVwZGF0ZSB0byBsZWFkU2VsZWN0aW9uSW5kZXgKCWFuZCBhbmNob3JTZWxlY3Rpb25JbmRleCB2YXJpYWJsZXMuCgkocmVtb3ZlU2VsZWN0aW9uSW50ZXJ2YWwpOiBTYW1lIGFzIGFib3ZlLgoJKHNldFNlbGVjdGlvbkludGVydmFsKTogU2FtZSBhcyBhYm92ZS4KCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YToKCShnZXRTZWxlY3RlZEluZGljZXMpOiBJbmNyZWFzZWQgZm9yIGxvb3AgdXBwZXIgYm91bmQgYnkgMS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOiAKCShLZXlIYW5kbGVyKTogTmV3IGNsYXNzLgoJKE1vdXNlSW5wdXRIYW5kbGVyKTogTW92ZWQgY29kZSBmcm9tIE1vdXNlUHJlc3NlZCB0bwoJTW91c2VDbGlja2VkLgoJKE1vdXNlSW5wdXRIYW5kbGVyLk1vdXNlQ2xpY2tlZCk6IEFkZGVkIGNoZWNrIGZvciBjb250cm9sCglrZXkgYmVpbmcgZG93bi4KCjIwMDUtMDYtMTcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL2lvL0RhdGFJbnB1dFN0cmVhbS5qYXZhOgoJUmV2ZXJ0ZWQgbXkgcGF0Y2ggZnJvbSAyMDA1LTA2LTE1LgoKMjAwNS0wNi0xNiAgUm9iZXJ0IFNjaHVzdGVyIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogZ251L2phdmEvbmlvL2NoYXJzZXQvV2luZG93czEyNTAuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1dpbmRvd3MxMjUxLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9XaW5kb3dzMTI1Mi5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvV2luZG93czEyNTMuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1dpbmRvd3MxMjU0LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9XaW5kb3dzMTI1NS5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvV2luZG93czEyNTYuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1dpbmRvd3MxMjU3LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9XaW5kb3dzMTI1OC5qYXZhOiBGaXhlZCBjYW5vbmljYWwgTklPCgljaGFyc2V0IG5hbWUuCgoyMDA1LTA2LTE2ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9DRFIvdW5jT2JqZWN0T3V0cHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvQ0RSL3VuY09iamVjdElucHV0U3RyZWFtLmphdmE6IERlbGV0ZWQuCgoyMDA1LTA2LTE2ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL0Nhbm5vdFByb2NlZWQuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL05vdEVtcHR5LmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9Ob3RGb3VuZC5qYXZhOiAKCUFkZGVkIDEuNCBjb25zdHJ1Y3RvcnMuCgkqIG9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRFeHRQYWNrYWdlL0ludmFsaWRBZGRyZXNzLmphdmE6CglBZGRlZCAxLjQgY29uc3RydWN0b3JzIGFuZCBzZXJpYWxWZXJzaW9uVUlELgoKMjAwNS0wNi0xNiAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL1Byb3RhYmxlU2VydmVyL0lkQXNzaWdubWVudFBvbGljeVZhbHVlLmphdmEsCglvcmcvb21nL1Byb3RhYmxlU2VydmVyL0lkVW5pcXVlbmVzc1BvbGljeVZhbHVlLmphdmEsCglvcmcvb21nL1Byb3RhYmxlU2VydmVyL0ltcGxpY2l0QWN0aXZhdGlvblBvbGljeVZhbHVlLmphdmEsCglvcmcvb21nL1Byb3RhYmxlU2VydmVyL0xpZmVzcGFuUG9saWN5VmFsdWUuamF2YSwKCW9yZy9vbWcvUHJvdGFibGVTZXJ2ZXIvUmVxdWVzdFByb2Nlc3NpbmdQb2xpY3lWYWx1ZS5qYXZhLAoJb3JnL29tZy9Qcm90YWJsZVNlcnZlci9TZXJ2YW50UmV0ZW50aW9uUG9saWN5VmFsdWUuamF2YTogCglOZXcgZmlsZXMuCgoyMDA1LTA2LTE2ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvRHluYW1pY0FueS9EeW5BbnlGYWN0b3J5UGFja2FnZS9JbmNvbnNpc3RlbnRUeXBlQ29kZS5qYXZhLCAKCW9yZy9vbWcvSU9QL0NvZGVjRmFjdG9yeVBhY2thZ2UvVW5rbm93bkVuY29kaW5nLmphdmEsIAoJb3JnL29tZy9JT1AvQ29kZWNQYWNrYWdlL0Zvcm1hdE1pc21hdGNoLmphdmEsIAoJb3JnL29tZy9JT1AvQ29kZWNQYWNrYWdlL0ludmFsaWRUeXBlRm9yRW5jb2RpbmcuamF2YSwKCW9yZy9vbWcvSU9QL0NvZGVjUGFja2FnZS9UeXBlTWlzbWF0Y2guamF2YSwgCglvcmcvb21nL0lPUC9Db2RlY1BhY2thZ2UvVHlwZU1pc21hdGNoSGVscGVyLmphdmEsIAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRJbmZvUGFja2FnZS9EdXBsaWNhdGVOYW1lLmphdmEsIAoJb3JnL29tZy9Qb3J0YWJsZUludGVyY2VwdG9yL09SQkluaXRJbmZvUGFja2FnZS9JbnZhbGlkTmFtZS5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVTZXJ2ZXIvQ3VycmVudFBhY2thZ2UvTm9Db250ZXh0LmphdmE6IE5ldyBleGNlcHRpb25zLgoJb3JnL29tZy9EeW5hbWljQW55L0R5bkFueUZhY3RvcnlQYWNrYWdlL0luY29uc2lzdGVudFR5cGVDb2RlSGVscGVyLmphdmEsIAoJb3JnL29tZy9JT1AvQ29kZWNGYWN0b3J5UGFja2FnZS9Vbmtub3duRW5jb2RpbmdIZWxwZXIuamF2YSwgCglvcmcvb21nL0lPUC9Db2RlY1BhY2thZ2UvRm9ybWF0TWlzbWF0Y2hIZWxwZXIuamF2YSwgCglvcmcvb21nL0lPUC9Db2RlY1BhY2thZ2UvSW52YWxpZFR5cGVGb3JFbmNvZGluZ0hlbHBlci5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PUkJJbml0SW5mb1BhY2thZ2UvRHVwbGljYXRlTmFtZUhlbHBlci5qYXZhLCAKCW9yZy9vbWcvUG9ydGFibGVJbnRlcmNlcHRvci9PUkJJbml0SW5mb1BhY2thZ2UvSW52YWxpZE5hbWVIZWxwZXIuamF2YSwgCglvcmcvb21nL1BvcnRhYmxlU2VydmVyL0N1cnJlbnRQYWNrYWdlL05vQ29udGV4dEhlbHBlci5qYXZhOiBOZXcgaGVscGVycy4KCSogZ251L0NPUkJBL09iamVjdENyZWF0b3IuamF2YSAocmVhZFVzZXJFeGNlcHRpb24pOiAKCVJlbmFtZWQgbWlzbGVhZGluZyB2YXJpYWJsZS4KCSogZ251L0NPUkJBL0R1cGxpY2F0ZU5hbWVIb2xkZXIuamF2YSwgCglnbnUvQ09SQkEvRW1wdHlFeGNlcHRpb25Ib2xkZXIuamF2YTogTmV3IGhvbGRlcnMuIAoKMjAwNS0wNi0xNSAgR29mZnJlZG8gQmFyb25jZWxsaSAgPGtyZWlqYWNrQGlud2luZC5pdD4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBVUkxDb25uZWN0aW9uLmphdmEKCShnZXRIZWFkZXJGaWVsZEtleSk6IENoZWNrIGluZGV4LgoKMjAwNS0wNi0xNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvaW8vRGF0YUlucHV0U3RyZWFtLmphdmEKCShyZWFkTGluZSk6IEFkZGVkIGNoZWNrcyBmb3IgSW5wdXRTdHJlYW0gdGhhdCBzdXBwb3J0IGhhdmUgYSBwb3MgZmllbGQKCWZvciByZXBvc2l0aW9uaW5nIHRoZSBzdHJlYW0uCgoyMDA1LTA2LTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBsaWIvZ2VuLWNsYXNzbGlzdC5zaC5pbjogUmVtb3ZlIHZtLm9taXQsIHZtLmFkZCBhbmQgdG1wLm9taXQgZmlsZXMKCWFmdGVyIHVzZS4KCjIwMDUtMDYtMTUgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9NZXNzYWdpbmcvU3luY1Njb3BlSGVscGVyLmphdmEgKHdyaXRlKTogTWFkZSBwdWJsaWMuCgoyMDA1LTA2LTE0ICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL0pkd3BJZEZhY3RvcnkuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9wcm9jZXNzb3IvUGFja2V0UHJvY2Vzc29yLmphdmE6IE5ldyBmaWxlLgoKMjAwNS0wNi0xNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbGliL2dlbi1jbGFzc2xpc3Quc2guaW4gKHZtX2Rpcmxpc3QpOiBQcnVuZSBub24tZXhpc3RpbmcKCWRpcmVjdG9yaWVzLgoJKiBsaWIvTWFrZWZpbGUuYW0gKGdlbmNsYXNzZXMpOiBQYXNzIHRvcF9zcmNkaXIgdG8KCWdlbi1jbGFzc2xpc3Quc2guCgkqIG00L2FjaW5jbHVkZS5tNDogUXVvdGUgZGVmYXVsdCB2YWx1ZSBvZiB2bV9jbGFzc2VzLgoKMjAwNS0wNi0xNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhIChzZXRNaW5pbXVtU2l6ZSk6IE9ubHkgYWRqdXN0CglwcmVmZmVyZWRTaXplIG9yIG1heGltdW1TaXplIHdoZW4gdGhleSBhcmUgc2V0LgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhIChKU2Nyb2xsUGFuZShDb21wb25lbnQsaW50LGludCkpOgoJU2V0IHZpZXdwb3J0IGFuZCB2aWV3IG1hbnVhbGx5LgoKMjAwNS0wNi0xNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbTQvYWNpbmNsdWRlLm00ICgtLXdpdGgtdm0tY2xhc3Nlcyk6IE5ldyBvcHRpb24uCgkqIGxpYi9nZW4tY2xhc3NsaXN0LnNoLmluOiBIYW5kbGUgJ3ZtX2NsYXNzZXMnIGZlYXR1cmUuCgkqIGxpYi9NYWtlZmlsZS5hbSAoY29tcGlsZV9jbGFzc3BhdGgpOiBVcGRhdGVkIGZvciBuZXcKCWNsYXNzcGF0aC1zZXR0aW5nIGFwcHJvYWNoLgoJKG5vaW5zdF9EQVRBKTogTm93IHVuY29uZGl0aW9uYWwuCgoyMDA1LTA2LTE0ICBaaWdhIE1haGtvdmVjICA8emlnYS5tYWhrb3ZlY0BrbGlrYS5zaT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEgKHVwZGF0ZUJ1ZmZlcmVkSW1hZ2UpOgoJRml4ZWQgcGl4ZWxCdWZmZXIgYXJyYXkgaW5kZXguCgoyMDA1LTA2LTE0ICBaaWdhIE1haGtvdmVjICA8emlnYS5tYWhrb3ZlY0BrbGlrYS5zaT4KCglDbGFzc3BhdGggYnVnICMxMzM1MzoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2phci9IYW5kbGVyLmphdmEgKHBhcnNlVVJMLCB0b0V4dGVybmFsRm9ybSk6CglBcHBlbmQgZnJhZ21lbnRzICgjcmVmKSB0byBVUkxzLgoKMjAwNS0wNi0xNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9JbnRlcm5hdGlvbmFsRm9ybWF0dGVyLmphdmEgKGNsb25lKTogRGlzYWJsZWQuCgoyMDA1LTA2LTE0ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS90ZXh0L0RlY2ltYWxGb3JtYXQuamF2YQoJKERlY2ltYWxGb3JtYXQoU3RyaW5nLCBEZWNpbWFsRm9ybWF0U3ltYm9scykpOiBzdG9yZSBjbG9uZSBvZiBzeW1ib2xzOwoJKGVxdWFscyk6IGFkZCBtaXNzaW5nIGNoZWNrczsKCShnZXREZWNpbWFsRm9ybWF0U3ltYm9scyk6IHJldHVybiBjbG9uZSBvZiBzeW1ib2xzOwoJKHNldERlY2ltYWxGb3JtYXRTeW1ib2xzKTogc3RvcmUgY2xvbmUgb2Ygc3ltYm9scy4KCQoyMDA1LTA2LTE0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBsaWIvc3RhbmRhcmQub21pdDogQWRkIGdudS9jbGFzc3BhdGgvamR3cC4KCQoyMDA1LTA2LTEzICBLZWl0aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL0FycmF5SWQuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9BcnJheVJlZmVyZW5jZVR5cGVJZC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL0NsYXNzTG9hZGVySWQuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9DbGFzc09iamVjdElkLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvaWQvQ2xhc3NSZWZlcmVuY2VUeXBlSWQuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9JbnRlcmZhY2VSZWZlcmVuY2VUeXBlSWQuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9KZHdwSWQuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC9pZC9PYmplY3RJZC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL1JlZmVyZW5jZVR5cGVJZC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL1N0cmluZ0lkLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvaWQvVGhyZWFkR3JvdXBJZC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL2lkL1RocmVhZElkLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2pkd3AvdXRpbC9TaWduYXR1cmUuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC90cmFuc3BvcnQvSmR3cENvbm5lY3Rpb24uamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC90cmFuc3BvcnQvSVRyYW5zcG9ydC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3RyYW5zcG9ydC9Tb2NrZXRUcmFuc3BvcnQuamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC90cmFuc3BvcnQvVHJhbnNwb3J0RmFjdG9yeS5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3RyYW5zcG9ydC9UcmFuc3BvcnRFeGNlcHRpb24uamF2YTogTmV3IGZpbGUuCgkqIGdudS9jbGFzc3BhdGgvamR3cC90cmFuc3BvcnQvSmR3cFBhY2tldC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3RyYW5zcG9ydC9KZHdwQ29tbWFuZFBhY2tldC5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2NsYXNzcGF0aC9qZHdwL3RyYW5zcG9ydC9KZHdwUmVwbHlQYWNrZXQuamF2YTogTmV3IGZpbGUuCgoyMDA1LTA2LTEzICBaaWdhIE1haGtvdmVjICA8emlnYS5tYWhrb3ZlY0BrbGlrYS5zaT4KCgkqIGphdmEvYXd0L2ltYWdlL1NhbXBsZU1vZGVsLmphdmEgKGdldFBpeGVscyk6IEZpeGVkIGFycmF5Cglhc3NpZ25tZW50LgoKMjAwNS0wNi0xMyAgS2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KCgkqIGxpYi9NYWtlZmlsZS5hbSAobWV0YWZpbGVzKTogRXhjbHVkZSBkaXJlY3RvcmllcyBhbmQgQ1ZTIGZpbGVzLgoKMjAwNS0wNi0xMyAgWmlnYSBNYWhrb3ZlYyAgPHppZ2EubWFoa292ZWNAa2xpa2Euc2k+CgoJKiBqYXZhL3RleHQvQXR0cmlidXRlZFN0cmluZ0l0ZXJhdG9yLmphdmEgKGdldFJ1bkxpbWl0KTogRml4ZWQgdGhlCglyYW5nZSBvZiB0aGUgcmV0dXJuZWQgaW5kZXhlcy4KCjIwMDUtMDYtMTMgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVXRpbHMuamF2YToKCUFkZGVkIG5ldyBwYWNrYWdlLXByaXZhdGUgaGVscGVyIGNsYXNzLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU3BsaXRQYW5lRGl2aWRlci5qYXZhOgoJQWRkZWQgbmV3IHBhY2thZ2UtcHJpdmF0ZSBjbGFzcy4gVGhpcyBpcyB0aGUgZGl2aWRlciB1c2VkCglieSBKU3BsaXRQYW5lLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsQmFyVUkuamF2YQoJKHBhaW50VGh1bWIpOiBVc2UgbmV3IE1ldGFsVXRpbHMgY2xhc3MgZm9yIGRyYXdpbmcgdGhlIHR5cGljYWwKCU1ldGFsIHBhdHRlcm4gb24gdGhlIHRodW1iLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsQmFyVUkuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIGNvbG9yIGRlZmF1bHRzIGZvciBTcGxpdFBhbmUuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTcGxpdFBhbmVVSS5qYXZhOgoJKGNyZWF0ZURlZmF1bHREaXZpZGVyKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4gVGhpcyBjcmVhdGVzCgl0aGUgTWV0YWwgZGl2aWRlciBmb3IgSlNwbGl0UGFuZS4KCjIwMDUtMDYtMTMgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KU3Bpbm5lci5qYXZhCgkoU3R1YkVkaXRvcik6IFJlbW92ZWQgdGhpcyBpbm5lciBjbGFzcy4KCShEZWZhdWx0RWRpdG9yKTogSW1wbGVtZW50ZWQgdGhpcyBjbGFzcyBhbmQgaXRzIGR1bW15IG1ldGhvZHMuCgkoRGF0ZUVkaXRvcik6IEFkZGVkIGFuZCBpbXBsZW1lbnRlZCB0aGlzIGlubmVyIGNsYXNzLgoKMjAwNS0wNi0xMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pGb3JtYXR0ZWRUZXh0RmllbGQuamF2YQoJKHNldFZhbHVlKTogQ3JlYXRlcyBhbiBBYnN0cmFjdEZvcm1hdHRlciBpbnN0YW5jZSBiYXNlZCBvbiB0aGUgdHlwZQoJb2YgdGhlIHZhbHVlIGJlZWluZyBzZXQuCgkoY3JlYXRlRm9ybWF0dGVyKTogTmV3IGhlbHBlciBtZXRob2QuCgoyMDA1LTA2LTEzICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAqIG9yZy9vbWcvU2VuZGluZ0NvbnRleHQvUnVudGltZS5qYXZhOiBEZWxldGVkLgoJKiBvcmcvb21nL1NlbmRpbmdDb250ZXh0L1J1blRpbWUuamF2YTogQWRkZWQuCgoyMDA1LTA2LTEzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EYXRlRm9ybWF0dGVyLmphdmE6CglJbXBsZW1lbnRlZCBuZXcgY2xhc3MuCgkqIGphdmF4L3N3aW5nL0pGb3JtYXR0ZWRUZXh0RmllbGQuamF2YQoJKHNldFZhbHVlKTogQWRkZWQgY29udmVyc2lvbiBmcm9tIHZhbHVlIHRvIHRleHQuCgoyMDA1LTA2LTEyICBaaWdhIE1haGtvdmVjICA8emlnYS5tYWhrb3ZlY0BrbGlrYS5zaT4KCgkqIGphdmEvdGV4dC9NZXNzYWdlRm9ybWF0LmphdmEgKHBhcnNlKTogV2hlbiBwYXJzaW5nIHN0cmluZ3MsIGNoZWNrCglmb3IgYW4gZW1wdHkgcGF0dGVybiB0cmFpbGVyLgoKMjAwNS0wNi0xMiAgWmlnYSBNYWhrb3ZlYyAgPHppZ2EubWFoa292ZWNAa2xpa2Euc2k+CgoJUFIgbGliZ2NqLzIwNDM1OgoJKiBnbnUvcmVnZXhwL1JFU3ludGF4LmphdmEgKFJFX1BPU1NFU1NJVkVfT1BTKTogTmV3IGZpZWxkLgoJKHN0YXRpYyk6IEFkZCBwb3NzZXNzaXZlIG1hdGNoaW5nIHRvIEpBVkFfMV80IHN5bnRheC4KCSogZ251L3JlZ2V4cC9SRVRva2VuUmVwZWF0ZWQuamF2YSAocG9zc2Vzc2l2ZSk6IE5ldyBmaWVsZC4KCShtYWtlUG9zc2Vzc2l2ZSwgaXNQb3NzZXNzaXZlKTogTmV3IG1ldGhvZHMuCgkobWF0Y2gpOiBEb24ndCBiYWNrIG9mZiBkdXJpbmcgcG9zc2Vzc2l2ZSBtYXRjaGluZy4KCSogZ251L3JlZ2V4cC9SRS5qYXZhIChpbml0YWxpemUpOiBBY2NlcHQgcG9zc2Vzc2l2ZSBxdWFudGlmaWVyLgoJKiBqYXZhL3V0aWwvcmVnZXgvUGF0dGVybi5qYXZhIChjb25zdHJ1Y3Rvcik6IFN3aXRjaCBzeW50YXggZnJvbSBQRVJMNQoJdG8gSkFWQV8xXzQuCgoyMDA1LTA2LTExICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvT1JCLmphdmEsCglvcmcvb21nL0NPUkJBL0N1c3RvbVZhbHVlLmphdmEsCglvcmcvb21nL0NPUkJBL1ZNX0FCU1RSQUNULmphdmEsCglvcmcvb21nL0NPUkJBL1ZNX0NVU1RPTS5qYXZhLAoJb3JnL29tZy9DT1JCQS9WTV9OT05FLmphdmEsCglvcmcvb21nL0NPUkJBL1ZNX1RSVU5DQVRBQkxFLmphdmEsCglvcmcvb21nL0NPUkJBL1ZNX1RSVU5DQVRBQkxFLmphdmEsCglvcmcvb21nL0NPUkJBL3BvcnRhYmxlL1ZhbHVlQmFzZS5qYXZhLAoJb3JnL29tZy9DT1JCQV8yXzMvcG9ydGFibGUvcGFja2FnZS5odG1sOiBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCSogb3JnL29tZy9DT1JCQV8yXzMvcGFja2FnZS5odG1sOiBOZXcgZmlsZS4KCjIwMDUtMDYtMTEgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoJCgkqIG9yZy9vbWcvQ09SQkEvcG9ydGFibGUvU3RyZWFtYWJsZVZhbHVlLmphdmEsCglvcmcvb21nL0NPUkJBL3BvcnRhYmxlL0N1c3RvbVZhbHVlLmphdmEsCglnbnUvQ09SQkEvQ0RSL1Zpby5qYXZhOiBOZXcgZmlsZXMuCgkqIG9yZy9vbWcvQ09SQkEvVmFsdWVCYXNlSGVscGVyLmphdmE6IFVzaW5nCWdudS5DT1JCQS5WaW8uCgkqIG9yZy9vbWcvQ09SQkFfMl8zL3BvcnRhYmxlL091dHB1dFN0cmVhbS5qYXZhOiBEb2N1bWVudGF0aW4gdXBkYXRlLiAKCSh3cml0ZV92YWx1ZSk6IFVzaW5nIGdudS5DT1JCQS5WaW8uCgkqIG9yZy9vbWcvQ09SQkFfMl8zL3BvcnRhYmxlL0lucHV0U3RyZWFtLmphdmEgRG9jdW1lbnRhdGlvbiB1cGRhdGUuIAoJKHJlYWRfdmFsdWUpOiBVc2luZyBnbnUuQ09SQkEuVmlvLgoJKiBnbnUvQ09SQkEvT2JqZWN0Q3JlYXRvci5qYXZhIChJZGwyY2xhc3MsIElkbDJPYmplY3QpOiBOZXcgbWV0aG9kcy4KCSh0b0lETCk6IERvIG5vdCBpbnNlcnQgT01HIHByZWZpeC4KCSogZ251L0NPUkJBL1Jlc3RyaWN0ZWRfT1JCLmphdmEgKGNyZWF0ZV9hbnkpOiBTZXQgT1JCIGZvciB0aGF0IEFueS4KCShyZWdpc3Rlcl92YWx1ZV9mYWN0b3J5LCB1bnJlZ2lzdGVyX3ZhbHVlX2ZhY3RvcnksIGxvb2t1cF92YWx1ZV9mYWN0b3J5KTogCglOZXcgQ09SQkEgMl8zIG1ldGhvZHMuCgkqIGdudS9DT1JCQS9nbnVBbnkuamF2YSAoZXh0cmFjdF9WYWx1ZSk6IFVzZSByZWZsZWN0aW9uIGlmIGhvbGRlciBkb2VzCglub3QgaW1wbGVtZW50IFZhbHVlQmFzZUhvbGRlci4KCSogZ251L0NPUkJBL0NEUi9jZHJJbnB1dC5qYXZhOiBJbXBsZW1lbnRpbmcgMl8zIHN0cmVhbSBhbmQgCglEYXRhSW5wdXRTdHJlYW0sIChyZWFkX1ZhbHVlLCByZWFkX0Fic3RyYWN0LCByZWFkX2NoYXJfYXJyYXksIAoJcmVhZF93Y2hhcl9hcnJheSwgZW5zdXJlQXJyYXksIHJlYWRfdWxvbmdfYXJyYXksIHJlYWRfbG9uZ19hcnJheSwgCglyZWFkX2Zsb2F0X2FycmF5LCByZWFkX2RvdWJsZV9hcnJheSwgcmVhZF9zaG9ydF9hcnJheSwgcmVhZF91c2hvcnRfYXJyYXksCglyZWFkX29jdGV0X2FycmF5LCByZWFkX2xvbmdsb25nX2FycmF5LCByZWFkX3Vsb25nbG9uZ19hcnJheSwgCglyZWFkX2Jvb2xlYW5fYXJyYXksIHJlYWRfYW55X2FycmF5LCBfdHJ1bmNhdGFibGVfaWRzKTogTmV3IG1ldGhvZHMuCgkqIGdudS9DT1JCQS9DRFIvY2RyT3V0cHV0LmphdmE6IEltcGxlbWVudGluZyAyXzMgc3RyZWFtIAoJYW5kIERhdGFPdXRwdXRTdHJlYW0sICh3cml0ZV9hbnlfYXJyYXksIF90cnVuY2F0YWJsZV9pZHMsIHdyaXRlX0Fic3RyYWN0LCAKCXdyaXRlX1ZhbHVlKTogTmV3IG1ldGhvZHMuCgkqIG9yZy9vbWcvQ09SQkEvcG9ydGFibGUvVmFsdWVCYXNlLmphdmE6IERvY3VtZW50YXRpb24gdXBkYXRlLgoKMjAwNS0wNi0xMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvSW50ZXJuYXRpb25hbEZvcm1hdHRlci5qYXZhOgoJSW1wbGVtZW50ZWQgbmV3IGNsYXNzLgoKMjAwNS0wNi0xMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhCgkoQmFzaWNIb3Jpem9udGFsTGF5b3V0TWFuYWdlci5wcmVmZXJyZWRMYXlvdXRTaXplKTogZml4ZWQgcmV0dXJuCglzdGF0ZW1lbnQuCgkoQmFzaWNWZXJ0aWNhbExheW91dE1hbmFnZXIucHJlZmVycmVkTGF5b3V0U2l6ZSk6IExpa2V3aXNlLgoJCjIwMDUtMDYtMTAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KVGV4dEFyZWEuamF2YQoJKGdldFByZWZlcnJlZFNpemUpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLiBUaGlzIGlzIG92ZXJyaWRkZW4KCWluIG9yZGVyIHRvIHN1cHBvcnQgY3VzdG9tIHNldCByb3dzIGFuZCBjb2x1bW5zLgoKMjAwNS0wNi0xMCAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL1NlbmRpbmdDb250ZXh0L3BhY2thZ2UuaHRtbCwKCW9yZy9vbWcvQ09SQkEvU2VuZGluZ0NvbnRleHQvUnVudGltZS5qYXZhLAoJb3JnL29tZy9DT1JCQS9TZW5kaW5nQ29udGV4dC9SdW50aW1lT3BlcmF0aW9ucy5qYXZhOiBSZW1vdmVkLgoJKiBvcmcvb21nL1NlbmRpbmdDb250ZXh0L3BhY2thZ2UuaHRtbCwKCW9yZy9vbWcvU2VuZGluZ0NvbnRleHQvUnVudGltZS5qYXZhLAoJb3JnL29tZy9TZW5kaW5nQ29udGV4dC9SdW50aW1lT3BlcmF0aW9ucy5qYXZhOiBBZGRlZC4KCjIwMDUtMDYtMTAgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoZ2RrRHJhd0RyYXdhYmxlKTogQ2hlY2sgaWYgY2Fpcm8gcGF0dGVybiBpcyBub24tbnVsbCBiZWZvcmUgCglzZXR0aW5nIGl0cyBtYXRyaXguCgkKMjAwNS0wNi0wOSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1BhbmVsUGVlci5qYXZhLAoJZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BhbmVsUGVlci5jIChjb25uZWN0U2lnbmFscyk6IE5ldyBtZXRob2QuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BhbmVsUGVlci5oOiBSZWdlbmVyYXRlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCSh3aW5kb3dfZm9jdXNfaW5fY2IsIHdpbmRvd19mb2N1c19vdXRfY2IpOiBSZW1vdmUgRklYTUVzLgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoY29weVN0YXRlKTogQ2hlY2sgaWYgY2Fpcm8gcGF0dGVybiBpcyBudWxsIGJlZm9yZSBjb3B5aW5nIGl0LgoJKGRyYXdQaXhlbHMpOiBDaGVjayBpZiBjYWlybyBwYXR0ZXJuIGlzIG51bGwgYmVmb3JlIHJldHJpZXZpbmcgaXQuCgoJKiBqYXZhL2F3dC9NZW51SXRlbS5qYXZhIChsYWJlbCk6IEluaXRpYWxpemUgdG8gZW1wdHkgc3RyaW5nLgoKMjAwNS0wNi0wOCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogamF2YS9ybWkvc2VydmVyL1JNSUNsYXNzTG9hZGVyLmphdmEgKGdldENsYXNzTG9hZGVyKTogTWFrZSBwdWJsaWMuCglGcm9tIEdhcnkgQmVuc29uLgoKMjAwNS0wNi0wOCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSAoY2Fpcm9TZXRSR0JDb2xvciwKCWNhaXJvU2V0QWxwaGEpOiBDb21iaW5lIC4uLgoJKGNhaXJvU2V0UkdCQUNvbG9yKTogTmV3IG1ldGhvZC4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5oOiBSZWdlbmVyYXRlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZS5oOiBSZWdlbmVyYXRlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmM6IFVzZQoJQ2Fpcm8gMC41LjAgQVBJcy4KCSogSU5TVEFMTDogRG9jdW1lbnQgQ2Fpcm8gMC41LjAgcmVxdWlyZW1lbnQuCgkqIE5FV1M6IExpa2V3aXNlLgoJKiBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ2Fpcm8gMC41LjAuCgoyMDA1LTA2LTA4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvQmFuZGVkU2FtcGxlTW9kZWwuamF2YQoJKGNyZWF0ZUJhbmtBcnJheSk6IE5ldyBtZXRob2QuCgkoQmFuZGVkU2FtcGxlTW9kZWwoaW50LCBpbnQsIGludCwgaW50KSk6IHJlaW1wbGVtZW50ZWQuCgkoQmFuZGVkU2FtcGxlTW9kZWwoaW50LCBpbnQsIGludCwgaW50LCBpbnRbXSwgaW50W10pOiAKCVJhc3RlckZvcm1hdEV4Y2VwdGlvbiBuZWFyZXIgdG8gc3RhcnQgb2YgY29uc3RydWN0b3IuCgkoZ2V0UGl4ZWwpOiBVc2UgYmFuZCBpbmRleCwgbm90IHplcm8uCgkoZ2V0UGl4ZWxzKTogRml4ZWQgbG9vcCBpbmRpY2VzLgoJKGdldFNhbXBsZXMpOiBGaXhlZCBsb29wIGluZGljZXMuCgkoc2V0RGF0YUVsZW1lbnRzKTogVXNlIGJhbmQgaW5kZXgsIG5vdCB6ZXJvLgoKMjAwNS0wNi0wOCBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4uCgoJKiBvcmcvb21nL0NPUkJBL0N1c3RvbVZhbHVlLmphdmEsCglvcmcvb21nL0NPUkJBL0N1c3RvbU1hcnNoYWwuamF2YSwKCW9yZy9vbWcvQ09SQkEvRGF0YU91dHB1dFN0cmVhbS5qYXZhLAoJb3JnL29tZy9DT1JCQS9EYXRhSW5wdXRTdHJlYW0uamF2YTogTmV3IGNsYXNzZXMuCgoyMDA1LTA2LTA4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Rm9ybWF0dGVyLmphdmEKCShGb3JtYXR0ZXJEb2N1bWVudEZpbHRlci5yZW1vdmUpOiBBZGRlZCBjaGVjayBmb3IgdmFsaWQgaW5wdXQuCgkoRm9ybWF0dGVyRG9jdW1lbnRGaWx0ZXIuaW5zZXJ0U3RyaW5nKTogQWRkZWQgY2hlY2sgZm9yIHZhbGlkIGlucHV0LgoJQWRkZWQgc3VwcG9ydCBmb3Igb3ZlcndyaXRlTW9kZSBwcm9wZXJ0eS4KCShGb3JtYXR0ZXJEb2N1bWVudEZpbHRlci5yZXBsYWNlKTogQWRkZWQgY2hlY2sgZm9yIHZhbGlkIGlucHV0LgoJKGNoZWNrVmFsaWRJbnB1dCk6IE5ldyBoZWxwZXIgbWV0aG9kIHRvIGNoZWNrIGZvciB2YWxpZCBpbnB1dAoJYW5kIHJvbGwgaXQgYmFjayBpZiBuZWNlc3NhcnkuCgoyMDA1LTA2LTA4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkZvcm1hdHRlZFRleHRGaWVsZC5qYXZhCgkoZ2V0QWN0aW9ucyk6IENhbGwgc3VwZXIuZ2V0QWN0aW9ucyBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGV4Y2VwdGlvbi4KCVRoaXMgaXMgc2FmZSBoZXJlLgoJKHByb2Nlc3NGb2N1c0V2ZW50KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKGNyZWF0ZUtleW1hcCk6IENvbnN0cnVjdCBuZXcgYmluZGluZ3MgYXJyYXkgaWYgVUlEZWZhdWx0cyBkb2VzIHJldHVybgoJYSBudWxsIG9iamVjdCBmb3IgdGhpcy4KCjIwMDUtMDYtMDggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YQoJKGluc3RhbGxEZWZhdWx0cyk6IENhbGwgcmVzZXRMYXlvdXRNYW5hZ2VyKCkgX2FmdGVyXyB0aGUgZGl2aWRlcgoJaXMgY3JlYXRlZCB0byBwcmV2ZW50IE5QRS4KCShwYWludCk6IFJlbW92ZWQgY2hlY2sgZm9yIHZhbGlkIGRpdmlkZXIgbG9jYXRpb24uIFRoaXMgaXMgZG9uZQoJaW4gcmVzZXRDb21wb25lbnRBdChpbmRleCkuCgkocmVzZXRMYXlvdXRNYW5hZ2VyKTogQ2FsbCBsYXlvdXQudXBkYXRlQ29tcG9uZW50cyBfYWZ0ZXJfIHRoZQoJbGF5b3V0IGhhcyBiZWVuIGluc3RhbGxlZC4gT3RoZXJ3aXNlIGl0IGhhcyBubyBlZmZlY3QuCgoyMDA1LTA2LTA4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoc2V0TWluaW11bVNpemUpOiBBZGp1c3QgcHJlZmVycmVkU2l6ZSBhbmQgbWF4aW11bVNpemUgd2hlbgoJbWluaW11bVNpemUgaXMgZ3JlYXRlciB0aGFuIHByZWZlcnJlZCBvciBtYXhpbXVtU2l6ZS4KCjIwMDUtMDYtMDggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YToKCUFkZGVkIHNvbWUgQVBJIGRvY3VtZW50YXRpb24uCgoyMDA1LTA2LTA4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0RWRpdG9yS2l0LmphdmEKCShEZWZhdWx0S2V5VHlwZWRBY3Rpb24uYWN0aW9uUGVyZm9ybWVkKTogVGhpcyBhY3Rpb24KCWhhcyB0byBmaWx0ZXIgY29udHJvbCBjaGFyYWN0ZXJzIGhlcmUuCgkoSW5zZXJ0QnJlYWtBY3Rpb24uYWN0aW9uUGVyZm9ybWVkKTogVGhpcyBhY3Rpb24gaW5zZXJ0cwoJYSBuZXdsaW5lIGNoYXJhY3RlciBoZXJlLgoKMjAwNS0wNi0wOCAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+LgoKCSogb3JnL29tZy9DT1JCQS9Vbmlvbk1lbWJlckhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9WYWx1ZU1lbWJlckhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TdHJ1Y3RNZW1iZXJIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvSURMVHlwZUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9fSURMVHlwZVN0dWIuamF2YTogTmV3IGZpbGVzLgoJKiBnbnUvQ09SQkEvSU9SLmphdmEgKHdyaXRlX251bGwsIF9yZWFkX25vX2VuZGlhbiksCglnbnUvQ09SQkEvQ0RSL2NkcklucHV0LmphdmEgKHJlYWRfT2JqZWN0KSwKCWdudS9DT1JCQS9DRFIvY2RyT3V0cHV0LmphdmEgKHdyaXRlX09iamVjdCk6CglJbXBsZW1lbnRlZCBzZW5kaW5nIG9mIGphdmEgbnVsbC4KCjIwMDUtMDYtMDcgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPi4KCgkqIGRvYy93d3cuZ251Lm9yZy9ob21lLndtbDogQWRkZWQgIm9tZy5vcmciCgoyMDA1LTA2LTA3ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9JT1JfRGVsZWdhdGUuamF2YSAocmVsZWFzZSksCglnbnUvQ09SQkEvSU9SX2NvbnRydWN0ZWRfb2JqZWN0LmphdmEgKGZpbmFsaXplKToKCUNsb3NlIHRoZSBhc3NvY2lhdGVkIHNvY2tldCBpZiB0aGUgZmluYWxpemVyIGlzIGNhbGxlZC4KCWdudS9DT1JCQS9nbnVSZXF1ZXN0LmphdmEgKHN1Ym1pdCksCglnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSAoc2VydmVTdGVwKTogVHJ5IHRvIHJldXNlIHRoZSBvcGVuZWQgc29ja2V0cy4KCSogZ251L0NPUkJBL1NvY2tldFJlcG9zaXRvcnkuamF2YSwKCWdudS9DT1JCQS9HSU9QL0Nsb3NlTWVzc2FnZS5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTA2LTA2ICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YXgvc3dpbmcvSkxhYmVsLmphdmEKCShKTGFiZWwpOiBIb3Jpem9udGFsIGp1c3RpZmljYXRpb24gY2hhbmdlZCB0byBkZWZhdWx0IHRvIExFQURJTkcuCgoyMDA1LTA2LTA2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Rm9ybWF0dGVyLmphdmE6CglJbXBsZW1lbnRlZCBuZXcgY2xhc3MuCgoyMDA1LTA2LTA2ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvQ29tcGxldGlvblN0YXR1c0hlbHBlci5qYXZhICh0eXBlKTogTmV3IG1ldGhvZC4KCSogb3JnL29tZy9DT1JCQS9DdXJyZW50LmphdmE6IEluaGVyaXQgZnJvbSBvcmcub21nLnBvcnRhYmxlLklETEVudGl0eS4KCjIwMDUtMDYtMDYgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9TdHJpbmdWYWx1ZUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9XU3RyaW5nVmFsdWVIZWxwZXIuamF2YTogTmV3IGhlbHBlcnMuCgkqIG9yZy9vbWcvQ09SQkEvcG9ydGFibGUvQm94ZWRWYWx1ZUhlbHBlci5qYXZhOiBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCjIwMDUtMDYtMDYgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YToKCUFkZGVkIHRoZSB0d28gbWlzc2luZyBjb25zdHJ1Y3RvcnMgdGhhdCB0YWtlCglqYXZhLmF3dC5HcmFwaGljc0NvbmZpZ3VyYXRpb24gb2JqZWN0cyBhcyBhcmd1bWVudHMuCgoyMDA1LTA2LTA2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKHJlbW92ZURlc2NlbmRhbnRTZWxlY3RlZFBhdGhzKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCjIwMDUtMDYtMDYgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uTGlzdGVuZXIuamF2YQoJKGZvY3VzTG9zdCk6IERvbid0IHVuYXJtIGJ1dHRvbiBvbiBmb2N1cyBsb3N0LiBUaGlzIGJlaGF2aW91ciBpcwoJbm90IGRvY3VtZW50ZWQgYW55d2hlcmUgYW5kIGRpc3R1cmJzIGNvcnJlY3QgZXZlbnQgcHJvY2Vzc2luZwoJaW4gYnV0dG9ucy4KCjIwMDUtMDYtMDYgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShnZXRLZXltYXBOYW1lKTogUmVtb3ZlZCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA1LTA2LTA2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoZ2V0S2V5bWFwTmFtZSk6IEFkZGVkIEFQSSBkb2N1bWVudGF0aW9uIGNvbW1lbnRzLgoKMjAwNS0wNi0wNiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKGdldEtleW1hcE5hbWUpOiBSZWltcGxlbWVudGVkIHRvIHJldHVybiB0aGUgY2xhc3NuYW1lIG9mCglpdHNlbGYuIFRoaXMgd2F5IHN1YmNsYXNzZXMgZG9uJ3QgaGF2ZSB0byBvdmVycmlkZSB0aGlzCgltZXRob2QuCgoyMDA1LTA2LTA2ICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dEZpZWxkUGVlci5jCgkoZ3RrV2lkZ2V0U2V0Rm9yZWdyb3VuZCk6IEF2b2lkIHNldHRpbmcgYmxhY2stb24tYmxhY2sgc2VsZWN0aW9uIGNvbG9yLgoKMjAwNS0wNi0wNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL0NsYXNzLmphdmEgKHJlc291cmNlUGF0aCk6IFJlaW5kZW50ZWQuCgoyMDA1LTA2LTA1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL2dlbmVyYXRlLWxvY2FsZS1saXN0LnNoOiBSZW1vdmUgcmVkdW5kYW50ICdjZCcuCgoyMDA1LTA2LTA2ICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlLmphdmEKCShnZXRTb3VyY2UsIGRlbGl2ZXIpOiBBZGRlZCBudWxsIGNoZWNrcy4KCSogamF2YS9hd3QvaW1hZ2UvUkdCSW1hZ2VGaWx0ZXIuamF2YQoJKGZpbHRlclJHQlBpeGVscyk6IFJlaW1wbGVtZW50LgoJCjIwMDUtMDYtMDUgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9WaXNpYmlsaXR5SGVscGVyLmphdmE6IE5ldyBoZWxwZXIuCgoyMDA1LTA2LTA1ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvc3R1Yi9qYXZhL3JtaS9fUmVtb3RlX1N0dWIuamF2YToKCUluaGVyaXRpbmcgZnJvbSBTdHViLCBSZW1vdGUgYW5kIFNlcmlhbGl6YWJsZS4KCjIwMDUtMDYtMDUgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnXG9tZ1xDT1JCQVxwb3J0YWJsZVxWYWx1ZUZhY3RvcnkuamF2YSAocmVhZF92YWx1ZSk6IENoYW5nZWQgCglwYXJhbWV0ZXIgdHlwZSB0byBvcmcub21nLkNPUkJBXzJfMy5wb3J0YWJsZS5JbnB1dFN0cmVhbS4KCSogb3JnXG9tZ1xDb3NOYW1pbmdcX0JpbmRpbmdJdGVyYXRvclN0dWIuamF2YSwKCSogb3JnXG9tZ1xDb3NOYW1pbmdcX05hbWluZ0NvbnRleHRTdHViLmphdmE6IEZpeGVkIHNlcmlhbFZlcnNpb25VSUQuCgkqIG9yZ1xvbWdcQ09SQkFfMl8zXHBvcnRhYmxlXElucHV0U3RyZWFtLmphdmEgCgkocmVhZF92YWx1ZShCb3hlZFZhbHVlSGVscGVyKSk6IEltcGxlbWVudGVkLgoJKiBvcmdcb21nXENPUkJBXzJfM1xwb3J0YWJsZVxPdXRwdXRTdHJlYW0uamF2YSAKCSh3cml0ZV9hYnN0cmFjdF9pbnRlcmZhY2UpOiAKCUNoYW5nZWQgcGFyYW1ldGVyIHR5cGUgdG8gamF2YS5sYW5nLk9iamVjdC4KCSogb3JnXG9tZ1xDT1JCQVxwb3J0YWJsZVxCb3hlZFZhbHVlSGVscGVyLmphdmE6IAoJTW92ZWQgd3JvbmdseSBwbGFjZWQgYnJhY2tldC4KCSogb3JnXG9tZ1xDT1JCQVxQYXJhbWV0ZXJNb2RlLmphdmE6IEluaGVyaXQgZnJvbQoJU2VyaWFsaXphYmxlLCBJRExFbnRpdHkgYW5kIHJlbW92aW5nIGR1cGxpY2F0ZWQgaGVhZGVyLgoJKF9QQVJBTV9JTiwgX1BBUkFNX09VVCwgX1BBUkFNX0lOT1VUKTogTWFraW5nIGZpbmFsLgoJKiBvcmdcb21nXE1lc3NhZ2luZ1xTeW5jU2NvcGVIZWxwZXIuamF2YSAoZXh0cmFjdCwgaWQsIGluc2VydCwgCglyZWFkLCB0eXBlLCB3cml0ZSk6IE1ha2luZyBwdWJsaWMuCgkKMjAwNS0wNi0wNSAgS2EtSGluZyBDaGV1bmcgIDxrYWhpbmdAamF2YWJzcC5vcmc+CgoJKiBqYXZheC9zd2luZy9ldmVudC9UcmVlU2VsZWN0aW9uRXZlbnQuamF2YQoJKGdldFBhdGhzKTogUmV0dXJuIGEgY2xvbmVkIGNvcHkuCgkoaXNBZGRlZFBhdGgpOiBJbXBsZW1lbnRlZC4KCShjbG9uZVdpdGhTb3VyY2UpOiBMaWtld2lzZS4KCjIwMDUtMDYtMDUgIEthLUhpbmcgQ2hldW5nICA8a2FoaW5nQGphdmFic3Aub3JnPgoKCSogamF2YXgvc3dpbmcvZXZlbnQvVHJlZVNlbGVjdGlvbkV2ZW50LmphdmE6CglSZWZvcm1hdHRlZC4KCjIwMDUtMDYtMDUgIEthLUhpbmcgQ2hldW5nICA8a2FoaW5nQGphdmFic3Aub3JnPgoKCSogamF2YXgvc3dpbmcvdHJlZS9UcmVlUGF0aC5qYXZhCgkodG9TdHJpbmcpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMDYtMDUgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2UuYwoJKGdldFBpeGVscyk6IEhhbmRsZSBwaXhidWZzIHdoaWNoIGRvbid0IGhhdmUgYWxwaGEuCgoyMDA1LTA2LTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmEgKGZvY3VzTGlzdGVuZXIpOiBVc2UKCWNvcnJlY3QgdHlwZS4KCShsaXN0RGF0YUxpc3RlbmVyLCBsaXN0U2VsZWN0aW9uTGlzdGVuZXIsIG1vdXNlSW5wdXRMaXN0ZW5lciwKCXByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhIChDaGFuZ2VIYW5kbGVyKTogTm93CglwdWJsaWMgYW5kIGRlcHJlY2F0ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YQoJKFRhYmJlZFBhbmVMYXlvdXQpOiBOb3cgcHVibGljLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljT3B0aW9uUGFuZVVJLmphdmEKCShCdXR0b25BY3Rpb25MaXN0ZW5lcik6IE5vdyBwdWJsaWMuCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyKTogTGlrZXdpc2UuCgkoQnV0dG9uQXJlYUxheW91dCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhCgkoVGl0bGVQYW5lTGF5b3V0KTogTm93IHB1YmxpYy4KCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NoZWNrQm94VUkuamF2YQoJKGdldFByb3BlcnR5UHJlZml4KTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Byb2dyZXNzQmFyVUkuamF2YSAoQ2hhbmdlSGFuZGxlcik6CglOb3cgcHVibGljLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2xpZGVyVUkuamF2YSAoQ29tcG9uZW50SGFuZGxlcik6CglOb3cgcHVibGljLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YQoJKEJhc2ljVmVydGljYWxMYXlvdXRNYW5hZ2VyKTogTm93IHB1YmxpYy4KCShGb2N1c0hhbmRsZXIpOiBMaWtld2lzZS4KCShCYXNpY0hvcml6b250YWxMYXlvdXRNYW5hZ2VyKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmEKCShBY2NlcHRBbGxGaWxlRmlsdGVyKTogTmV3IHB1YmxpYyBjb25zdHJ1Y3Rvci4KCShCYXNpY0ZpbGVWaWV3KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVUkuamF2YQoJKEJvcmRlckxpc3RlbmVyLlJFU0laRV9OT05FKTogTm93IGZpbmFsLgoKMjAwNS0wNi0wNCAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL0RlZmluaXRpb25LaW5kSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0ZpZWxkTmFtZUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9JZGVudGlmaWVySGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1BhcmFtZXRlck1vZGUuamF2YSwKCW9yZy9vbWcvQ09SQkEvUGFyYW1ldGVyTW9kZUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9QYXJhbWV0ZXJNb2RlSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1JlcG9zaXRvcnlJZEhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TZXRPdmVycmlkZVR5cGVIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVmVyc2lvblNwZWNIZWxwZXIuamF2YSwKCWdudS9DT1JCQS9TZXRPdmVycmlkZVR5cGVIb2xkZXIuamF2YSwKCWdudS9DT1JCQS9EZWZpbml0aW9uS2luZEhvbGRlci5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTA2LTA0ICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvc3R1Yi9qYXZhL3JtaS9fUmVtb3RlX1N0dWIuamF2YSwKCW9yZy9vbWcvc3R1Yi9qYXZhL3JtaS9wYWNrYWdlLmh0bWw6IE5ldyBwYWNrYWdlLgoKMjAwNS0wNi0wNCAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL01lc3NhZ2luZy9TeW5jU2NvcGVIZWxwZXIuamF2YQoJb3JnL29tZy9NZXNzYWdpbmcvU1lOQ19XSVRIX1RSQU5TUE9SVC5qYXZhCglvcmcvb21nL01lc3NhZ2luZy9wYWNrYWdlLmh0bWw6IE5ldyBwYWNrYWdlLgoKMjAwNS0wNi0wNCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZV9sb2FkUGl4YnVmKToKCUZpeGVkIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3JtYXQuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2VfZHJhd1BpeGVsc1NjYWxlZCk6CglMaWtld2lzZS4KCjIwMDUtMDYtMDMgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogQVVUSE9SUyAoUm9tYW4gS2VubmtlKTogTmV3IGF1dGhvci4KCjIwMDUtMDYtMDMgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9Cb3hlZFZhbHVlSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBXzJfMy9wb3J0YWJsZS9PdXRwdXRTdHJlYW0uamF2YSwKCW9yZy9vbWcvQ09SQkFfMl8zL3BvcnRhYmxlL0RlbGVnYXRlLmphdmEsCglvcmcvb21nL0NPUkJBXzJfMy9wb3J0YWJsZS9PYmplY3RJbXBsLmphdmEsCglvcmcvb21nL0NPUkJBXzJfMy9wb3J0YWJsZS9wYWNrYWdlLmh0bWw6IE5ldyBmaWxlcy4KCjIwMDUtMDYtMDMgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvQWxyZWFkeUJvdW5kLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9DYW5ub3RQcm9jZWVkLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9JbnZhbGlkTmFtZS5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvTm90RW1wdHkuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL05vdEZvdW5kLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9Ob3RGb3VuZFJlYXNvbi5qYXZhOgoJQWRkZWQgU2VyaWFsVmVyc2lvblVJRC4KCjIwMDUtMDYtMDMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCiAgICAqIGdudS9DT1JCQS9HSU9QL3VuY09iamVjdElucHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvR0lPUC91bmNPYmplY3RJbnB1dFN0cmVhbS91bmNPYmplY3RPdXRwdXRTdHJlYW0uamF2YToKCURlbGV0aW5nIGZpbGVzLgogICAgKiBnbnUvQ09SQkEvQ0RSL3VuY09iamVjdElucHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvQ0RSL3VuY09iamVjdElucHV0U3RyZWFtL3VuY09iamVjdE91dHB1dFN0cmVhbS5qYXZhOgoJQWRkaW5nIGZpbGVzLgoKMjAwNS0wNi0wMyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL0Z1bmN0aW9uYWxfT1JCLmphdmEsCglnbnUvQ09SQkEvSU9SX0RlbGVnYXRlLmphdmEsCglnbnUvQ09SQkEvU2ltcGxlX2RlbGVnYXRlLmphdmEsCglnbnUvQ09SQkEvdW5pdmVyc2FsSG9sZGVyLmphdmEsCglnbnUvQ09SQkEvQ0RSL2FsaWduaW5nSW5wdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvYWxpZ25pbmdPdXRwdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvY2RySW5wdXQuamF2YSwKCWdudS9DT1JCQS9DRFIvY2RyT3V0cHV0LmphdmEsCglnbnUvQ09SQkEvQ0RSL2VuY2Fwc3VsYXRlZE91dHB1dC5qYXZhLAoJZ251L0NPUkJBL0dJT1AvRXJyb3JNZXNzYWdlLmphdmEsCglnbnUvQ09SQkEvR0lPUC9NZXNzYWdlSGVhZGVyLmphdmEsCglnbnUvQ09SQkEvR0lPUC9jeENvZGVTZXQuamF2YSwKCWdudS9DT1JCQS9HSU9QL3YxXzIvUmVxdWVzdEhlYWRlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvQmluZGluZ0l0ZXJhdG9ySGVscGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nTGlzdEhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvQmluZGluZ1R5cGVIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWVDb21wb25lbnRIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWVIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRFeHRIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRIZWxwZXIuamF2YToKCUluaXRpYWxpc2UgaW5zdGFuY2VzIG9mIG9yZy5vbWcuU3lzdGVtRXhjZXB0aW9uLCB0aHJvd24KCWFmdGVyIGNhdGNoaW5nIHRoZSBvdGhlciBleGNlcHRpb24sIHdpdGggSW5pdENhdXNlLgoKMjAwNS0wNi0wMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMaXN0VUkuamF2YQoJKGRhbWFnZUxheW91dCk6IENoZWNrIGZvciBsaXN0IGJlZWluZyBudWxsIGJlZm9yZSByZXZhbGlkYXRpbmcKCWl0LgoKMjAwNS0wNi0wMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5Eb2N1bWVudC5qYXZhCgkocmVtb3ZlVXBkYXRlKTogRml4ZWQgaW5kaWNlcyBpbiB0ZXh0IGJ1ZmZlciBhY2Nlc3MuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEKCShkcmF3TGluZSk6IFNpbXBsaWZpZWQgZWxlbWVudCBhY2Nlc3MuCgoyMDA1LTA2LTAzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlRleHRBcmVhLmphdmEKCShjb25zdHJ1Y3Rvcik6IFNldCBwcmVmZXJyZWRTaXplIHRvIGEgc2FuZSBkZWZhdWx0LgoKMjAwNS0wNi0wMyAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvR0lPUC91bmNPYmplY3RJbnB1dFN0cmVhbS5qYXZhLAoJZ251L0NPUkJBL0dJT1AvdW5jT2JqZWN0SW5wdXRTdHJlYW0vdW5jT2JqZWN0T3V0cHV0U3RyZWFtLmphdmE6IE5ldyBzdHJlYW1zLgoJKiBvcmcvb21nL0NPUkJBL1ZhbHVlQmFzZUhlbHBlci5qYXZhOiBSZW1vdmluZyBpbm5lciBjbGFzc2VzLAoJdXNpbmcgdW5jT2JqZWN0SW5wdXRTdHJlYW0sIHVuY09iamVjdE91dHB1dFN0cmVhbSBpbnN0ZWFkLgoJKiBvcmcvb21nL0NPUkJBXzJfMy9wb3J0YWJsZS5JbnB1dFN0cmVhbS5qYXZhIChyZWFkX3ZhbHVlKTogCglEZWxlZ2F0ZSBjYWxsIHRvIFZhbHVlQmFzZUhlbHBlci4KCjIwMDUtMDYtMDMgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9TZW5kaW5nQ29udGV4dC9SdW50aW1lLmphdmEsCglvcmcvb21nL0NPUkJBL1NlbmRpbmdDb250ZXh0L1J1blRpbWVPcGVyYXRpb25zLmphdmE6CglGaXhpbmcgdGhlIHBhY2thZ2Ugc3RhdGVtZW50LgoKMjAwNS0wNi0wMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0ZXMuamF2YQoJKHJlcGxhY2VVSUFjdGlvbk1hcCk6IEZpeGVkIGxvb3AgYWdhaW4uIE5vdyBjb3JyZWN0bHksIEkgaG9wZS4KCSogamF2YXgvc3dpbmcvQWN0aW9uTWFwLmphdmEKCShzZXRQYXJlbnQpOiBNYWtlIHN1cmUgd2UgZG9uJ3QgYnVpbGQgYSBsb29wLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShjcmVhdGVBY3Rpb25NYXApOiBDcmVhdGUgQWN0aW9uTWFwVUlSZXNvdXJjZSBpbnN0ZWFkIG9mCglwbGFpbiBBY3Rpb25NYXAuCgoyMDA1LTA2LTAzICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhOgoJUmVtb3ZlZCBkZWNsYXJhdGlvbnMgZm9yIHRoZSBwcmV2aW91c2x5IHJlbW92ZWQgbmF0aXZlIG1ldGhvZHMuCgoyMDA1LTA2LTAzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRlcy5qYXZhCgkocmVwbGFjZVVJQWN0aW9uTWFwKTogRml4ZWQgY29uZGl0aW9uIGluIHdoaWxlIGxvb3AgdGhhdCBjYXVzZWQKCWluZmluaXRlIGxvb3BpbmcuCgoyMDA1LTA2LTAzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YQoJKHVuaW5zdGFsbERlZmF1bHQpOiBEb24ndCBzZXQgcHJvcGVydGllcyB0byBudWxsLCB0aGlzIGNvcnJ1cHRzCgljb21wb25lbnQgc3RhdGUuCgoyMDA1LTA2LTAyICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogbGliL01ha2VmaWxlLmFtOgoJRml4IHBlcm1pc3Npb25zIHByb2JsZW0gd2l0aCBjcmVhdGlvbiBvZiBNRVRBLUlORiB0cmVlLgoKMjAwNS0wNi0wMiAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKHNldEJhY2tncm91bmRDb2xvcik6IFJldHVybiBpZiB0aGUgY29sb3IgZXF1YWxzIHRoZSBleGlzdGluZyBiZ2NvbG9yLgoKMjAwNS0wNi0wMiAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhOgoJKGRyYXdJbWFnZSk6IFJlbW92ZSByZWZlcmVuY2UgdG8gR3RrT2ZmU2NyZWVuSW1hZ2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtJbWFnZUNvbnN1bWVyLmphdmE6CglBZGQgYWRkaXRpb25hbCBjb21tZW50cy4KCjIwMDUtMDYtMDIgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzLmphdmE6CgkoR2RrR3JhcGhpY3MpOiBOZXcgY29uc3RydWN0b3IuCgkoZHJhd0ltYWdlKTogUmVpbXBsZW1lbnRlZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YToKCShjaGVja0ltYWdlLGNyZWF0ZUltYWdlKTogUmVpbXBsZW1lbnRlZC4KCShwcmVwYXJlSW1hZ2UpOiBKdXN0IGNhbGwgdGhlIEdka1Rvb2xraXQgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmE6Cgkoc2V0SWNvbkltYWdlKTogUmVpbXBsZW1lbnRlZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlLmphdmE6IFJlaW1wbGVtZW50ZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmE6CgkoY2hlY2tJbWFnZSk6IENoYW5nZSBoYW5kbGluZyBvZiBHdGtJbWFnZS4KCShjcmVhdGVJbWFnZSk6IFJlaW1wbGVtZW50ZWQgZm9yIEd0a0ltYWdlLgoJKGdldENvbG9yTW9kZWwpOiBSZXR1cm4gdGhlIGFjdHVhbCBuYXRpdmUgY29sb3IgbW9kZWwuCgkocHJlcGFyZUltYWdlKTogUmVpbXBsZW1lbnRlZC4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbSwKCSogbmF0aXZlL2puaS9ndGstcGVlci9NYWtlZmlsZS5hbTogUmVtb3ZlZCBvbGQgZmlsZXMsIGFkZGVkIG5ldyBvbmVzLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5oLAoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jOgoJKGluaXRGcm9tSW1hZ2UpOiBOZXcgbWV0aG9kLgoJKGNvcHlQaXhtYXAsIGZsaXBfcGl4YnVmLCBjb3B5QW5kU2NhbGVQaXhtYXApOiBSZW1vdmVkLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGcmFtZVBlZXIuaCwKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRnJhbWVQZWVyLmM6CgkobmF0aXZlU2V0SWNvbkltYWdlKTogTmV3IG1ldGhvZC4KCShuYXRpdmVTZXRJY29uSW1hZ2VGcm9tRGF0YSxuYXRpdmVTZXRJY29uSW1hZ2VGcm9tRGVjb2Rlcik6IFJlbW92ZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtJbWFnZUNvbnN1bWVyLmphdmEsCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmgsCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlLmM6IAoJTmV3IGZpbGVzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrSW1hZ2VQYWludGVyLmphdmEsCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtPZmZTY3JlZW5JbWFnZS5qYXZhLAoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZVBhaW50ZXIuaCwKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrSW1hZ2VQYWludGVyLmM6CglSZW1vdmVkIGZpbGVzLgoKMjAwNS0wNi0wMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChjdXJyZW50TG9hZGVyKTogRml4ZWQgdHlwby4KCjIwMDUtMDYtMDEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIG9yZy9vbWcvQ29zTmFtaW5nL0lzdHJpbmdIZWxwZXIuamF2YTogQ2hhbmdlZCBub24tYXNjaWkKCWNoYXJhY3RlcnMuCgoyMDA1LTA2LTAxICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvU2VuZGluZ0NvbnRleHQvcGFja2FnZS5odG1sLAoJb3JnL29tZy9TZW5kaW5nQ29udGV4dC9SdW5UaW1lT3BlcmF0aW9ucy5qYXZhLAoJb3JnL29tZy9TZW5kaW5nQ29udGV4dC9SdW50aW1lLmphdmE6IE5ldyBwYWNrYWdlLgoJCjIwMDUtMDYtMDEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRTdHlsZWREb2N1bWVudC5qYXZhCgkoc2V0TG9naWNhbFN0eWxlKTogSW1wbGVtZW50ZWQgdGhpcyBtZXRob2QuCgoyMDA1LTA2LTAxICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhCgkoc2V0VGltZUluTWlsbGlzKTogUmVjb21wdXRlIHRpbWUgZmllbGRzLgoKMjAwNS0wNi0wMSAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nVHlwZS5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtZUNvbXBvbmVudC5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvX0JpbmRpbmdJdGVyYXRvclN0dWIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL19OYW1pbmdDb250ZXh0U3R1Yi5qYXZhLAogICAgb3JnL29tZy9Db3NOYW1pbmcvX05hbWluZ0NvbnRleHRFeHRTdHViLmphdmEsCQoJb3JnL29tZy9Db3NOYW1pbmcvX0JpbmRpbmdJdGVyYXRvckltcGxCYXNlLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9fTmFtaW5nQ29udGV4dEltcGxCYXNlLmphdmE6IEFkZGVkIFNlcmlhbFZlcnNpb25VSUQuCgoyMDA1LTA2LTAxICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCQoJKiBvcmcvb21nL0Nvc05hbWluZy9Jc3RyaW5nSGVscGVyLmphdmE6IE5ldyBjbGFzcy4KCjIwMDUtMDYtMDEgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL0NEUi9jZHJJbnB1dC5qYXZhIChyZWFkX3dzdHJpbmcpOiBDb3JyZWN0aW5nCgljaGVjayBmb3IgbmF0aXZlIGVuY29kaW5nLgoKMjAwNS0wNi0wMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmEKCShpbnN0YWxsQ29tcG9uZW50cyk6IENoYW5nZWQgbGF5b3V0IG9mIG1haW4gcGFuZWwgZnJvbSBHcmlkQmFnTGF5b3V0Cgl0byBCb3JkZXJMYXlvdXQgKGFzIGlzIHRoZSBjYXNlIGluIFN1bnMgSkRLKS4gVGhpcyBmaXhlcwoJYnVnIzEzMjQ0LgoKMjAwNS0wNi0wMSAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSAoc2VydmVTdGVwKSwKCWdudS9DT1JCQS9nbnVSZXF1ZXN0LmphdmEgKHN1Ym1pdCksCglnbnUvQ09SQkEvQ0RSL2NkcklucHV0LmphdmEgKHJlYWRfZW5jYXBzdWxhdGlvbik6IENvcnJlY3RpbmcKCWRhdGEgcmVhZCBsb29wLgoKMjAwNS0wNi0wMSAgQXVkcml1cyBNZXNrYXVza2FzIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkcuamF2YSAoZ2V0RnJlZVBvcnQpOiBSZW1lbWJlcgoJdGhlIHBvcnQgbnVtYmVyIGluIHRoZSBsb2NhbCB2YXJpYWJsZS4KCjIwMDUtMDYtMDEgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9TaW1wbGVDb21tdW5pY2F0aW9uLwoJY29tbXVuaWNhdGlvbi9vdXJVc2VyRXhjZXB0aW9uSGVscGVyLmphdmEgKGV4dHJhY3QpOiBOZXcgbWV0aG9kLgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vCgljb21tdW5pY2F0aW9uL1JlcXVlc3RUZXN0LmphdmE6VXNlIGhlbHBlciBleHRyYWN0IG1ldGhvZC4KCjIwMDUtMDYtMDEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEKCShpbnNlcnQpOiBEbyBub3QgY2hlY2sgZm9yIGluZGV4ID09IC0xIGF0IHRoaXMgcG9pbnQsIHRoaXMgaXMgZG9uZQoJaW4gamF2YS5hd3QuQ29udGFpbmVyLiBDYXRjaGluZyAtMSBpbmRpY2VzIGhlcmUgZGlzdHVyYmVzIHRoZQoJQ29udGFpbmVyLmFkZEltcGwgd2hpY2ggbGVhZHMgdG8gYnVnICMxMzI0NyBmb3IgZXhhbXBsZS4KCjIwMDUtMDYtMDEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluRG9jdW1lbnQuamF2YQoJKHJlbW92ZVVwZGF0ZSk6IEZpeGVkIGluZGljZXMgaW4gY2FsbCB0byByb290RWxlbWVudC5yZXBsYWNlKCkuCgoyMDA1LTA2LTAxICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkocHJvY2Vzc0tleUV2ZW50KTogQ2FsbCBzdXBlci5wcm9jZXNzS2V5RXZlbnQoKSBzbyB0aGF0IEtleUV2ZW50cwoJYXJlIGRlbGl2ZXJlZCB0byByZWdpc3RlcmVkIEtleUxpc3RlbmVycy4KCjIwMDUtMDUtMzEgIEF1ZHJpdXMgTWVza2F1c2thcyA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQV8yXzMvT1JCLmphdmEsCglvcmcvb21nL0NPUkJBXzJfMy9wb3J0YWJsZS9JbnB1dFN0cmVhbS5qYXZhLAoJb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9WYWx1ZUZhY3RvcnkuamF2YTogTmV3IGNsYXNzZXMuCgoyMDA1LTA1LTMxICBBdWRyaXVzIE1lc2thdXNrYXMgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcuQ09SQkEvRHluVmFsdWUuamF2YSAoZGVjbGFyYXRpb24pOiBJbmhlcml0IGZyb20gRHluQW55LAoJb3JnLm9tZy5DT1JCQS5PYmplY3QuIChzZXRfbWVtYmVycyk6IERlY2xhcmUgaXQgbWF5IHRocm93IEludmFsaWRTZXEuCgoyMDA1LTA2LTAxICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9UaW1lWm9uZSAoZ2V0RGVmYXVsdFRpbWVab25lKTogUmVpbXBsZW1lbnRlZC4KCShwYXJzZVRpbWUsIGdldERhdGVQYXJhbXMpOiBOZXcgcHJpdmF0ZSBtZXRob2RzLgoKMjAwNS0wNi0wMSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9HcmFkaWVudFBhaW50Q29udGV4dC5qYXZhOiBOZXcgZmlsZS4KCSogamF2YS9hd3QvR3JhZGllbnRQYWludC5qYXZhOiBJbXBsZW1lbnRlZC4KCSogamF2YS9hd3QvaW1hZ2UvSW5kZXhDb2xvck1vZGVsLmphdmE6IFJlaW1wbGVtZW50ZWQuCgoyMDA1LTA1LTMxIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9DRFIvQmlnRW5kaWFuSW5wdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvQmlnRW5kaWFuT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvQ0RSL0xpdHRsZUVuZGlhbklucHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvQ0RSL0xpdHRsZUVuZGlhbk91dHB1dFN0cmVhbS5qYXZhOiBOZXcgc3RyZWFtcy4KCWdudS9DT1JCQS9DRFIvYWJzdHJhY3REYXRhSW5wdXRTdHJlYW0uamF2YSwKCWdudS9DT1JCQS9DRFIvYWJzdHJhY3REYXRhT3V0cHV0U3RyZWFtLmphdmE6IE5ldyBpbnRlcmZhY2VzLgoJKiBnbnUvQ09SQkEvSU9SLmphdmE6IEltcGxlbWVudGVkIHBhcnNpbmcgb2YgdGhlIExpdHRsZQoJRW5kaWFuIGVuY29kZWQgSU9SIHJlZmVyZW5jZXMuIAoJKiBnbnUvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSwgCglnbnUvQ09SQkEvYmluYXJ5UmVwbHkuamF2YSwgCglnbnUvQ09SQkEvZ251UmVxdWVzdC5qYXZhLCAKCWdudS9DT1JCQS9DRFIvY2RySW5wdXQuamF2YSwgCglnbnUvQ09SQkEvQ0RSL2Nkck91dHB1dC5qYXZhLCAKCWdudS9DT1JCQS9DRFIvZW5jYXBzdWxhdGVkT3V0cHV0LmphdmEsIAoJZ251L0NPUkJBL0dJT1AvTWVzc2FnZUhlYWRlci5qYXZhOiBJbXBsZW1lbnRlZCBzdXBwb3J0Cglmb3IgQmlnIGFuZCBMaXR0bGUgRW5kaWFuLgoJKiBvcmcvb21nL0NPUkJBL3BhY2thZ2UuaHRtbDogRG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoyMDA1LTA1LTMxICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9uZXQvU2VydmVyU29ja2V0LmphdmEKCShib3VuZCk6IFJlbW92ZWQuCgkobG9jYWwpOiBOZXcgZmllbGQuCgkoYmluZCk6IENhY2hlIGxvY2FsIHNvY2tldCBhZGRyZXNzLgoJKGdldEluZXRBZGRyZXNzLCBnZXRMb2NhbFBvcnQsIGdldExvY2FsU29ja2V0QWRkcmVzcywgaXNCb3VuZCk6CglVc2UgY2FjaGVkIGxvY2FsIHNvY2tldCBhZGRyZXNzLgoJKGNsb3NlKTogYm91bmQgZmllbGQgd2FzIHJlbW92ZWQuCgoyMDA1LTA1LTMxICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsSW1wbC5qYXZhCgkoRmlsZUNoYW5uZWxJbXBsKCkpOiBSZW1vdmVkLgoJKEZpbGVDaGFubmVsSW1wbChGaWxlLGludCkpOiBNYWRlIHByaXZhdGUuCgkoY3JlYXRlKTogTmV3IG1ldGhvZC4KCSogamF2YS9pby9GaWxlSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vRmlsZU91dHB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9SYW5kb21BY2Nlc3NGaWxlLmphdmE6CglVcGRhdGVkIGNvbnN0cnVjdGlvbiBvZiBGaWxlQ2hhbm5lbEltcGwgaW5zdGFuY2UuCgoyMDA1LTA1LTMxICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvYXd0L2ltYWdlL0J1ZmZlcmVkSW1hZ2UuamF2YToKCShJbWFnZVByb2R1Y2VyKTogVXNlIFZlY3RvciBpbnN0ZWFkIG9mIEhhc2hNYXAuCgkqIGphdmEvYXd0L2ltYWdlL0RpcmVjdENvbG9yTW9kZWwuamF2YToKCShnZXRBbHBoYSk6IERlZmF1bHQgdG8gMjU1IChvcGFxdWUpLgoJCjIwMDUtMDUtMzAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhCgkoZ2V0TmV4dE1hdGNoKTogSW1wbGVtZW50ZWQgbmV3IG1ldGhvZC4KCjIwMDUtMDUtMzAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU3BsaXRQYW5lVUkuamF2YToKCShjcmVhdGVVSSk6IERvIG5vdCBzaGFyZSBvbmUgaW5zdGFuY2Ugb2YgTWV0YWxTcGxpdFBhbmVVSQoJYmV0d2VlbiBtdWx0aXBsZSBKU3BsaXRQYW5lcy4KCjIwMDUtMDUtMzAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6CglNYWRlIEpDb21wb25lbnQuQWNjZXNzaWJsZUpDb21wb25lbnQgaW1wbGVtZW50CglBY2Nlc3NpYmxlRXh0ZW5kZWRDb21wb25lbnQuCgoyMDA1LTA1LTMwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkJ1dHRvbi5qYXZhCgkoY29uc3RydWN0b3IpOiBTZXQgaW5pdGlhbCBhY3Rpb25Db21tYW5kIGVxdWFsIHRvIHRoZSBidXR0b25zIGxhYmVsLgoKMjAwNS0wNS0zMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEKCShnZXROZXh0TWF0Y2gpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKGdldENlbGxCb3VuZHMpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoKMjAwNS0wNS0zMCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL0Z1bmN0aW9uYWxfT1JCLmphdmEgKHNlcnZlLCBwb3J0U2VydmVyLCBzZXJ2ZVN0ZXApOgoJSW1wbGVtZW50ZWQgc3VwcG9ydCBmb3IgdGhlIHN1YnNlcXVlbnQgaW52b2NhdGlvbnMgcmV1c2luZyB0aGUgc2FtZQoJc29ja2V0LgoJKiBnbnUvQ09SQkEvR0lPUC9NZXNzYWdlSGVhZGVyLmphdmEgKHJlYWQpOiB0aHJvdwoJTk9fSU1QTEVNRU5ULCBub3QgTUFSU0hBTCBmb3IgTGl0dGxlIEVuZGlhbiByZXF1ZXN0LgoKMjAwNS0wNS0zMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhCgkocHV0TGF5ZXIpOiBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoKMjAwNS0wNS0zMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pGaWxlQ2hvb3Nlci5qYXZhOgoJRml4ZWQgdmFsdWVzIG9mIHNvbWUgY29uc3RhbnQgZmllbGRzLgoKMjAwNS0wNS0zMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6CgkoZ2V0V2luZG93QW5jZXN0b3IpOiBUaGlzIG1ldGhvZCBoYXMgdG8gYmUgc3RhdGljIGluc3RlYWQgb2YKCW5vbi1zdGF0aWMuCgoyMDA1LTA1LTI5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS91dGlsL0xpbmtlZEhhc2hNYXAuamF2YSAoYWNjZXNzKTogU2V0ICdyb290LnByZWQnLgoKMjAwNS0wNS0yOSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9Db3NOYW1pbmcvX0JpbmRpbmdJdGVyYXRvckltcGxCYXNlLmphdmEgLAoJb3JnL29tZy9Db3NOYW1pbmcvX05hbWluZ0NvbnRleHRFeHRJbXBsQmFzZS5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvX05hbWluZ0NvbnRleHRJbXBsQmFzZS5qYXZhOiBJbmhlcml0IGZyb20KCUR5bmFtaWNJbXBsZW1lbnRhdGlvbi4KCSogZ251L0NPUkJBL1NlcnZpY2VSZXF1ZXN0QWRhcHRlci5qYXZhOiBOZXcgY2xhc3MuCgkqIGdudS9DT1JCQS9nbnVOVkxpc3QuamF2YSAoYWRkLCBhZGRfaXRlbSk6CglSZXBsYWNpbmcgbnVsbCBieSBjb25zdHJ1Y3RlZCBpbnN0YW5jZS4KCjIwMDUtMDUtMjkgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvRnVuY3Rpb25hbF9PUkIuamF2YSAoc2VydmUsIHVzZVByb3BlcnRpZXMsIGluaXQpOiBJbXBsZW1lbnRpbmcKCXRoZSBwcm9wZXJ0eS1jb25maWd1cmFibGUgdGltZS1vdXRzLiAKCjIwMDUtMDUtMjkgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9nbnVSZXF1ZXN0LmphdmEgKHBfaW52b2tlKTogV3JhcCB0aGUgcmVjZWl2ZWQgVXNlckV4Y2VwdGlvbiBpbnRvCglVbmtub3duVXNlckV4Y2VwdGlvbi4KCSogZ251L0NPUkJBL3N0cmVhbVJlYWR5SG9sZGVyLmphdmE6IE5ldyB3cmFwcGVyIGZvciBVc2VyRXhjZXB0aW9uLiAKCSogb3JnL29tZy9DT1JCQS9Vbmtub3duVXNlckV4Y2VwdGlvbi5qYXZhOiBOZXcgZXhjZXB0aW9uLgoKMjAwNS0wNS0yNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmE6CglCdW1wZWQgdXAgc2VyaWFsVmVyc2lvblVJRChzKSB0byBKREsxLjQgY29tcGF0aWJpbGl0eS4KCSogamF2YXgvc3dpbmcvSW1hZ2VJY29uLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KRmlsZUNob29zZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pJbnRlcm5hbEZyYW1lLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNwaW5uZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9JbWFnZUljb25zLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVG9vbFRpcC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlZpZXdQb3J0LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9MYXlvdXRGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvU3Bpbm5lckRhdGVNb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvVHJhbnNmZXJIYW5kbGVyLmphdmE6IExpa2V3aXNlLgoKMjAwNS0wNS0yNyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbnRhaW5lclBlZXIuamF2YSAoc2V0Rm9udCk6IEhhbmRsZQoJbGlnaHR3ZWlnaHQgcGVlcnMgc3BlY2lhbGx5LgoKMjAwNS0wNS0yNyAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb21nL29yZy9DT1JCQS9PUkIuamF2YSAoY3JlYXRlX3JlY3Vyc2l2ZV9zZXF1ZW5jZV90Yyk6IE5ldyBtZXRob2QuCgoyMDA1LTA1LTI3ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvbWcvb3JnL0NPUkJBL0R5blZhbHVlLmphdmE6IE5ldyBpbnRlcmZhY2UuCgoyMDA1LTA1LTI3ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvbWcvb3JnL0NPUkJBL3BhY2thZ2UuaHRtbDogRG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoyMDA1LTA1LTI2ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL09SQi5qYXZhIChjcmVhdGVfYmFzaWNfZHluX2FueSk6IAoJRGVjbGFyZSBpdCBtYXkgdGhyb3cgYW4gSW5jb25zaXN0ZW50VHlwZUNvZGUuCgkoY3JlYXRlX2R5bl9hbnkpOiBSZW1vdmUgd3JvbmcgZXhjZXB0aW9uIGRlY2xhcmF0aW9uLgoJKGNyZWF0ZV9vcGVyYXRpb25fbGlzdCwgY3JlYXRlX2Fic3RyYWN0X2ludGVyZmFjZV90YywgCgljcmVhdGVfbmF0aXZlX3RjLCBnZXRfc2VydmljZV9pbmZvcm1hdGlvbik6IEltcGxlbWVudGluZyB0aGVzZSBtZXRob2RzLgoJKiBvcmcvb21nL0NPUkJBL1NlcnZlclJlcXVlc3QuamF2YSAocmVzdWx0LCBleGNlcHQsIHBhcmFtcywgb3BfbmFtZSk6IAoJTWFya2luZyBkZXByZWNhdGVkLgoKMjAwNS0wNS0yNiAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBVUkxDb25uZWN0aW9uLmphdmE6CgkoY29ubmVjdCgpKTogUmV2ZXJ0ZWQgdGhlIHJlbW92YWwgb2YgdGhlIGV4Y2VwdGlvbgoJd2l0aCA0MDRzLgoKMjAwNS0wNS0yNiAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvbmV0L1VSSS5qYXZhOgoJKGdldFVSSUdyb3VwKFN0cmluZykpOiBDb3JyZWN0bHkgaGFuZGxlIHRoZSBkaWZmZXJlbmNlCgliZXR3ZWVuIG51bGwgYW5kIHVuZGVmaW5lZCBvcHRpb25hbCB2YWx1ZXMuCgkocmVsYXRpdml6ZShqYXZhLm5ldC5VUkkpKTogQ29ycmVjdGVkIGRvY3VtZW50YXRpb24uCgkKMjAwNS0wNS0yNiAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGdudS94bWwvdHJhbnNmb3JtL1N0cmVhbVNlcmlhbGl6ZXIuamF2YToKCShzZXJpYWxpemUob3JnLnczYy5kb20uTm9kZSxqYXZhLmlvLk91dHB1dFN0cmVhbSwKCWJvb2xlYW4pKTogQWRkIG1pc3NpbmcgJ0RPQ1RZUEUnIGtleXdvcmQgdG8KCURvY3VtZW50VHlwZSBub2RlIG91dHB1dC4KCQoyMDA1LTA1LTI2ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSFRUUFVSTENvbm5lY3Rpb24uamF2YToKCShjb25uZWN0KCkpOiBGaXhlZCBhIG51bGwgcG9pbnRlciBleGNlcHRpb24gd2l0aCAzMDQKCXJlc3BvbnNlcyBhbmQgYW4gaW5hcHByb3ByaWF0ZSBleGNlcHRpb24gd2l0aCA0MDRzLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9SZXF1ZXN0LmphdmE6CgkocmVhZFJlc3BvbnNlKGphdmEuaW8uTGluZUlucHV0U3RyZWFtKSk6IEZpeGVkIGEKCWZydWl0bGVzcyBhdHRlbXB0IHRvIHJlYWQgdGhlIG5vbi1leGlzdGFudCBib2R5CglvZiBhIDMwNCByZXNwb25zZS4KCjIwMDUtMDUtMjUgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCUZpeCBjb21tYW5kLWxpbmUgb3B0aW9ucyBmb3IgZWNqLgoJKiBsaWIvTWFrZWZpbGUuYW06CglBZGRlZCBhIE1FVEEtSU5GIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgdG8gZ2xpYmouemlwLgoJKiByZXNvdXJjZS9NRVRBLUlORi9zZXJ2aWNlcy9qYXZheC54bWwucGFyc2Vycy5Eb2N1bWVudEJ1aWxkZXJGYWN0b3J5LAoJcmVzb3VyY2UvTUVUQS1JTkYvc2VydmljZXMvamF2YXgueG1sLnBhcnNlcnMuU0FYUGFyc2VyRmFjdG9yeSwKCXJlc291cmNlL01FVEEtSU5GL3NlcnZpY2VzL2phdmF4LnhtbC5wYXJzZXJzLlRyYW5zZm9ybWVyRmFjdG9yeSwKCXJlc291cmNlL01FVEEtSU5GL3NlcnZpY2VzL29yZy54bWwuc2F4LmRyaXZlcjoKCVByb3BlcnRpZXMgZm9yIHRoZSBYTUwgZmFjaWxpdGllcy4KCjIwMDUtMDUtMjUgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Njcm9sbEJhclBlZXIuYwoJKGNyZWF0ZSk6IFByZXZlbnQgbWluID09IG1heCBzY3JvbGxiYXJzLgoJKHNldFZhbHVlcyk6IExpa2V3aXNlLgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKGVuYWJsZUlucHV0TWV0aG9kcyk6IEltcGxlbWVudC4KCjIwMDUtMDUtMjUgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvVFJBTlNJRU5ULmphdmEgKHNlcmlhbFZlcnNpb25VSUQpOiBBZGRlZCAxLjQgU1ZVSUQuCgoyMDA1LTA1LTI1ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL1ZhbHVlQmFzZUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9WYWx1ZUJhc2VIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvcG9ydGFibGUvVmFsdWVCYXNlLmphdmE6IE5ldyBmaWxlcy4KCSogZ251L0NPUkJBL2dudUFueS5qYXZhIChpbnNlcnRfVmFsdWUsIGV4dHJhY3RfVmFsdWUpOiAKCUltcGxlbWVudGVkIG1ldGhvZHMuIAoKMjAwNS0wNS0yNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogTkVXUzogQWRkIGVudHJ5IGRlc2NyaWJpbmcgR1RLIHNjcm9sbGJhciBwZWVyIGNoYW5nZS4KCSogSU5TVEFMTDogQnVtcCBHVEsgcmVxdWlyZW1lbnQgdG8gMi42LnguCgoyMDA1LTA1LTI1ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL09SQi5qYXZhIChjcmVhdGVfZHluX2FueSwgY3JlYXRlX2R5bl9hcnJheSwKCWNyZWF0ZV9keW5fZW51bSwgY3JlYXRlX2R5bl9zZXF1ZW5jZSwgY3JlYXRlX2R5bl9zdHJ1Y3QsIAoJY3JlYXRlX2R5bl91bmlvbiwgY3JlYXRlX3BvbGljeSk6IERlY2xhcmluZyB0aGV5IG1heSB0aHJvdyBhbgoJZXhjZXB0aW9ucy4KCSogb3JnL29tZy9DT1JCQS9EZWZpbml0aW9uS2luZC5qYXZhOiBNYWtpbmcgZmllbGRzIGZpbmFsIGFuZCBpbmhlcml0Cglmcm9tIElETEVudGl0eSwgU2VyaWFsaXphYmxlLgoJKiBvcmcvb21nL0NPUkJBL0lST2JqZWN0LmphdmE6IEluaGVyaXQgZnJvbSAKCW9yZy5vbWcuQ09SQkEuT2JqZWN0LCBTZXJpYWxpemFibGUsIElETEVudGl0eS4KCjIwMDUtMDUtMjUgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9Db25uZWN0ZWRfb2JqZWN0cy5qYXZhIChjT2JqZWN0LCBnZXRLZXksIGFkZCwgZ2V0LAoJZW50cnlTZXQsIHJlbW92ZSksCgkqIGdudS9DT1JCQS9GdW5jdGlvbmFsX09SQi5qYXZhIChwb3J0U2VydmVyLCBnZXRGcmVlUG9ydCwgY29ubmVjdCwKCXN0YXJ0U2VydmljZSwgZGVzdHJveSwgZGlzY29ubmVjdCwgb2JqZWN0X3RvX3N0cmluZywgcnVuLCBzaHV0ZG93biwgCglmaW5kX2Nvbm5lY3RlZF9vYmplY3QsIGNyZWF0ZUlPUiwgZmluYWxpemUpOiBJbXBsZW1lbnRlZCAKCWxpc3RlbmluZyBvbiBkaWZmZXJlbnQgcG9ydHMgZm9yIGRpZmZlcmVudCBvYmplY3RzLgoKMjAwNS0wNS0yNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmE6CgkoY29uc3RydWN0b3IpOiBSZW1vdmVkIG1vZGVsIGNyZWF0aW9uLgoJKiBqYXZheC9zd2luZy9KQnV0dG9uLmphdmE6CgkoY29uc3RydWN0b3IpOiBBZGRlZCBtb2RlbCBjcmVhdGlvbi4KCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmE6CgkoaW5pdCk6IEFkZGVkIG1vZGVsIGNyZWF0aW9uLgoKMjAwNS0wNS0yNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhCgkoc3RhdGljIGdldExheWVyKTogQWRkIGNhc3QgdG8gZm9yY2UgYSBjYWxsIHRvIHRoZSBpbnN0YW5jZSBtZXRob2QKCWdldExheWVyKCkuCgkoZ2V0TGF5ZXJlZFBhbmVBYm92ZSk6IEFkZGVkIGFuZCBpbXBsZW1lbnRlZCBtZXRob2QuCgkqIGphdmF4L3N3aW5nL0pJbnRlcm5hbEZyYW1lLmphdmEKCShnZXRMYXllcik6IEFkZCBjYXN0IHRvIGZvcmNlIGEgY2FsbCB0byB0aGUgaW5zdGFuY2UgbWV0aG9kCglnZXRMYXllcigpIG9mIEpMYXllcmVkUGFuZS4KCjIwMDUtMDUtMjUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YQoJKHBhaW50KTogQWRkZWQgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBzcGxpdCBwYW5lIGRpdmlkZXIgaGFzCglhIHZhbGlkIGxvY2F0aW9uLgoKMjAwNS0wNS0yNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Njcm9sbEJhclBlZXIuYwoJKGNvbm5ldEpPYmplY3QpOiBSZW1vdmVkLgoKMjAwNS0wNS0yNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC9Mb2NhbGUuamF2YSAoZ2V0SVNPU3RyaW5ncyk6CglSZS1pbXBsZW1lbnRlZCBmb3IgbG9jYWxlIHByb3BlcnRpZXMgZmlsZXMuCgoyMDA1LTA1LTI0ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtTY3JvbGxCYXJQZWVyLmMKCShjb25uZWN0U2lnbmFscyk6IENvbm5lY3QgdG8gbmV3IGNoYW5nZS12YWx1ZSBzaWduYWwuCgkocG9zdF9jaGFuZ2VfZXZlbnQpOiBSZW1vdmUgc2lnbmFsIGhhbmRsZXIuCgkoc2xpZGVyX21vdmVkX2NiKTogTmV3IHNpZ25hbCBoYW5kbGVyLgoJKiBjb25maWd1cmUuYWM6IFJlcXVpcmUgZ3RrKy0yLjAgPj0gMi42LgoKMjAwNS0wNS0yNCAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9EZWxlZ2F0ZS5qYXZhIChlcXVhbHMpOiBDb21wYXJlIHBhcmFtZXRlcnMuCgoyMDA1LTA1LTI0ICBHYXJ5IEJlbnNvbiAgPGdiZW5zb25AcmVkaGF0LmNvbT4KCgkqIGphdmEvdGV4dC9NZXNzYWdlRm9ybWF0LmphdmEgKE1lc3NhZ2VGb3JtYXRFbGVtZW50LnNldExvY2FsZSk6CglIYW5kbGUgRGF0ZUZvcm1hdC5ERUZBVUxUIGNhc2UgY29ycmVjdGx5LgoKMjAwNS0wNS0yNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS91dGlsL3JlZ2V4L1BhdHRlcm4uamF2YSAoc3BsaXQpOiBBc3NpZ24gdmFsdWUgb2YgdmFyaWFibGUKCW1hdGNoZWQgb3V0c2lkZSB3aGlsZSBzdGF0ZW1lbnQuCgkqIGdudS9yZWdleHAvUkUuamF2YSAoZ2V0Q2hhclVuaXQpOiBBc3NpZ24gdmFsdWUgb2YgdW5pdC5iayB2YXJpYWJsZQoJb3V0c2lkZSBpZiBzdGF0ZW1lbnQuCgkqIGdudS9DT1JCQS9idWZmZXJlZFJlc3BvbnNlSGFuZGxlci5qYXZhIChjcmVhdGVSZXBseSk6IEFzc2lnbiB2YWx1ZXMKCWZyb20gc3RhdGljIGNsYXNzIHR5cGUgY29uc3RhbnRzLgoJKiBnbnUvQ09SQkEvSU9SLmphdmEgKF93cml0ZV9ub19lbmRpYW4pOiBMaWtld2lzZS4KCSogZ251L0NPUkJBL0Z1bmN0aW9uYWxfT1JCLmphdmEgKHJlc3BvbmRfdG9fY2xpZW50KTogTGlrZXdpc2UuCgkoc2VydmUpOiBMaWtld2lzZS4KCjIwMDUtMDUtMjMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGxpYi9NYWtlZmlsZS5hbSAoRk9VTkRfSklLRVMpOiBBZGQgK1Buby1zd2l0Y2hjaGVjay4KCjIwMDUtMDUtMjMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9Bc3luY2hyb24uamF2YTogTmV3IGZpbGUuCgkqIG9yZy9vbWcvQ09SQkEvT1JCLmphdmEgKHNlbmRfbXVsdGlwbGVfcmVxdWVzdHNfb25ld2F5LAoJc2VuZF9tdWx0aXBsZV9yZXF1ZXN0c19kZWZlcnJlZCwgcG9sbF9uZXh0X3Jlc3BvbnNlLCAKCWdldF9uZXh0X3Jlc3BvbnNlLCBwZXJmb3JtX3dvcmssIHdvcmtfcGVuZGluZyk6IE5ldyBtZXRob2RzLgoJKiBnbnUvQ09SQkEvZ251UmVxdWVzdC5qYXZhIChzZW5kX2RlZmVycmVkLCBzZW5kX29uZXdheSk6CglMYXVuY2ggdGhlIHN1Ym1pc3Npb24gcHJvY2VzcyBpbiBhIHNlcGFyYXRlIHRocmVhZC4KCSogb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9PYmplY3RJbXBsLmphdmEgKGhhc2hDb2RlKTogUmVtb3ZpbmcKCXJlZHVuZGFudCBtZXRob2QuCgkqIGdudS9DT1JCQS9GdW5jdGlvbmFsX09SQi5qYXZhIChzZW5kX211bHRpcGxlX3JlcXVlc3RzX29uZXdheSwKCXNlbmRfbXVsdGlwbGVfcmVxdWVzdHNfZGVmZXJyZWQsIHBvbGxfbmV4dF9yZXNwb25zZSwKCWdldF9uZXh0X3Jlc3BvbnNlLCBwZXJmb3JtX3dvcmssIHdvcmtfcGVuZGluZyk6IE5ldyBtZXRob2RzLgoJKiBnbnUvQ09SQkEvUmVzdHJpY3RlZF9PUkIuamF2YSAoc2VuZF9tdWx0aXBsZV9yZXF1ZXN0c19vbmV3YXksCglzZW5kX211bHRpcGxlX3JlcXVlc3RzX2RlZmVycmVkLCBwb2xsX25leHRfcmVzcG9uc2UsCglnZXRfbmV4dF9yZXNwb25zZSwgcGVyZm9ybV93b3JrLCB3b3JrX3BlbmRpbmcpOiBOZXcgbWV0aG9kcy4JCgoyMDA1LTA1LTIzICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBkb2MvaGFja2luZy50ZXhpbmZvIChTb3VyY2UgQ29kZSBTdHlsZSBHdWlkZSk6IERvY3VtZW50IFVURi04Cgl1c2UuCgkqIGxpYi9NYWtlZmlsZS5hbSAoR0NKRik6IE5ldyB2YXJpYWJsZS4KCShKQVZBQyk6IFVzZSBpdC4gIEFkZCAtZW5jb2Rpbmcgb3B0aW9uIHdoZXJlIG5lZWRlZC4KCjIwMDUtMDUtMjMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvTmFtZVZhbHVlUGFpci5qYXZhOiBJbmhlcml0IGZyb20gU2VyaWFsaXphYmxlLCBJRExFbnRpdHkuCgkqIG9yZy9vbWcvQ09SQkEvU2V0T3ZlcnJpZGVUeXBlLmphdmEgKGNvbnN0dWN0b3IpOiBNYWtpbmcgcHJvdGVjdGVkLgoJKiBvcmcvb21nL0NPUkJBL0R5bkZpeGVkLmphdmEgKHNldF92YWx1ZSk6IERlY2xhcmUgaXQgbWF5IHRocm93IGFuIAoJSW52YWxpZFZhbHVlLgoKMjAwNS0wNS0yMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKGdldFByZWZlcnJlZFNjcm9sbGFibGVWaWV3cG9ydFNpemUpOiBJbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCShnZXRTY3JvbGxhYmxlVW5pdEluY3JlbWVudCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoJKGdldFNjcm9sbGFibGVCbG9ja0luY3JlbWVudCk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoKMjAwNS0wNS0yMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pUZXh0QXJlYS5qYXZhCgkoZ2V0UHJlZmVycmVkU2Nyb2xsYWJsZVZpZXdwb3J0U2l6ZSk6IEFkZGVkIGFuZCBpbXBsZW1lbnRlZAoJbmV3IG1ldGhvZC4KCShnZXRTY3JvbGxhYmxlVW5pdEluY3JlbWVudCk6IEFkZGVkIGFuZCBpbXBsZW1lbnRlZCBuZXcKCW1ldGhvZC4KCjIwMDUtMDUtMjMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvRGVmaW5pdGlvbktpbmQuamF2YSwKCW9yZy9vbWcvQ09SQkEvSVJPYmplY3QuamF2YSwKCW9yZy9vbWcvQ09SQkEvSVJPYmplY3RPcGVyYXRpb25zLmphdmEsCglvcmcvb21nL0NPUkJBL0lETFR5cGVPcGVyYXRpb25zLmphdmE6IE5ldyBmaWxlcy4KCSogb3JnL29tZy9DT1JCQS9JRExUeXBlLmphdmE6IEluaGVyaXQgZnJvbSBJRExUeXBlT3BlcmF0aW9ucy4KCjIwMDUtMDUtMjMgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YQoJKGdldExheWVyKTogQWRkZWQgYW5kIGltcGxlbWVudGVkIG5ldyAoc3RhdGljKSBtZXRob2QuCgoyMDA1LTA1LTIzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkZpbGVDaG9vc2VyLmphdmEKCShjb25zdHJ1Y3RvcihTdHJpbmcsIEZpbGVTeXN0ZW1WaWV3KSk6IEFkZGVkIGNvbnN0cnVjdG9yLgoKMjAwNS0wNS0yMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhCgkoY3JlYXRlTGF5b3V0TWFuYWdlcik6IEFkZGVkIGFuZCBpbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKGNvbnN0cnVjdG9yKTogU2V0IHRoZSBMYXlvdXRNYW5hZ2VyIHRoYXQgaXMgY3JlYXRlZCBieQoJY3JlYXRlTGF5b3V0TWFuYWdlcigpLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVmlld3BvcnRVSS5qYXZhCgkoaW5zdGFsbFVJKTogUmVtb3ZlZCBzZXRMYXlvdXQoLi4pLiBUaGlzIGlzIG1vdmVkIGludG8KCXRoZSBjb25zdHJ1Y3RvciBvZiBKVmlld3BvcnQgKGFzIHRoZSBBUEkgZG9jcyBzdWdnZXN0KS4KCjIwMDUtMDUtMjMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvT1JCLmphdmEgKGNyZWF0ZV9jb250ZXh0X2xpc3QsIGNyZWF0ZV9iYXNpY19keW5fYW55LAoJY3JlYXRlX2R5bl9hbnksIGNyZWF0ZV9keW5fYXJyYXksICBjcmVhdGVfZHluX2VudW0sCgljcmVhdGVfZHluX3NlcXVlbmNlLCBjcmVhdGVfZHluX3N0cnVjdCwgY3JlYXRlX2R5bl91bmlvbiwKCWNyZWF0ZV9wb2xpY3ksIGdldF9jdXJyZW50KTogTmV3IAoJbWV0aG9kcy4gCgoyMDA1LTA1LTIzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmE6CgkoVmlld0xpc3RlbmVyKTogQWRkZWQgYW5kIGltcGxlbWVudGVkIGlubmVyIGNsYXNzLgoJKGNyZWF0ZVZpZXdMaXN0ZW5lcik6IEFkZGVkIGFuZCBpbXBsZW1lbnRlZCBuZXcgbWV0aG9kLgoJKHNldFZpZXcpOiBBZGQgYW5kIHJlbW92ZSBWaWV3TGlzdGVuZXIgdG8vZnJvbSB0aGUgdmlldyBjb21wb25lbnQuCgoyMDA1LTA1LTIzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhCgkoZmlyZVZhbHVlQ2hhbmdlZChib29sZWFuKSk6IEFkZGVkIGFuZCBpbXBsZW1lbnRlZCB0aGlzIG1ldGhvZC4KCjIwMDUtMDUtMjMgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhOgoJKGdldFdpbmRvd0FuY2VzdG9yKTogQWRkZWQgYW5kIGltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoKMjAwNS0wNS0yMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pGaWxlQ2hvb3Nlci5qYXZhOgoJRml4ZWQgdGhlIHZhbHVlcyBvZiBzZXZlcmFsIHB1YmxpYyBjb25zdGFudCBmaWVsZHMuCgoyMDA1LTA1LTIzICBBdWRyaXVzIE1lc2thdXNrYXMsIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBkb2Mvd3d3LmdudS5vcmcvdGFza3Mud21sOiBJbXByb3ZlZCB0ZXh0IG9mIHRoZSBDT1JCQSB0YXNrLgoKMjAwNS0wNS0yMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogVW5jb21tZW50ZWQgY29kZSB0aGF0IGhhcyBhY2NpZGVudGFsbHkKCWJlZW4gY29tbWVudGVkIG91dC4KCjIwMDUtMDUtMjIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YQoJKG1heGltdW1MYXlvdXRTaXplKTogQWRkZWQgY2hlY2tzIGZvciBvdmVyZmxvdy4gVGhpcyBpcyBuZWNlc3NhcnkKCWJlY2F1c2Ugc29tZSBjb21wb25lbnRzIGhhdmUgbWF4aW11bVNpemUgb2YgSW50ZWdlci5NQVhfVkFMVUUsCgl0aGF0IHdvdWxkIGNhdXNlIGFuIG92ZXJmbG93IGlmIHN1bW1lZCB1cC4KCjIwMDUtMDUtMjIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90cmVlL1RyZWVQYXRoLmphdmEKCShnZXRQYXJlbnRQYXRoKTogUmV0dXJuIG51bGwgaWYgdGhpcyBwYXRoIG9ubHkgaGFzIG5vIHBhcmVudC4KCjIwMDUtMDUtMjIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgogICAgICAgICogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhOgogICAgICAgIChnZXRNYXhpbXVtU2l6ZSk6IEZpeGVkIGNvbW1lbnQuCgoyMDA1LTA1LTIyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdHJlZS9UcmVlUGF0aC5qYXZhOgoJUmVmb3JtYXR0ZWQgdGhpcyBmaWxlIGluIG9yZGVyIHRvIG1hdGNoIG91ciBjb2Rpbmcgc3R5bGUuCgoyMDA1LTA1LTIyICBBdWRyaXVzIE1lc2thdXNrYXMsIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL1NlcnZlclJlcXVlc3QuamF2YSwKCW9yZy9vbWcvQ09SQkEvRHluYW1pY0ltcGxlbWVudGF0aW9uLmphdmE6CglOZXcgZmlsZXMuCgoyMDA1LTA1LTIyICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9TSEExUFJORy5qYXZhCgkoU0VFRF9TSVpFLCBEQVRBX1NJWkUpOiBuZXcgY29uc3RhbnRzLiAgVXNlIHRoZW0gaW5zdGVhZCBvZgoJbWFnaWMgbnVtYmVycy4KCShTSEExUFJORykgQWRkZWQgZG9jdW1lbnRhdGlvbi4KCjIwMDUtMDUtMjIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShnZXRNYXhpbXVtU2l6ZSk6IEltcGxlbWVudGVkIHRoaXMgbWV0aG9kLgoKMjAwNS0wNS0yMiAgQXVkcml1cyBNZXNrYXVza2FzLCA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogZ251L0NPUkJBL2Nkck91dHB1dC5qYXZhICh3cml0ZV9vY3RldF9hcnJheSk6IFJlbW92aW5nCglyZWR1bmRhbnQgbG9vcC4KCjIwMDUtMDUtMjIgIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvU2VydmljZUluZm9ybWF0aW9uLmphdmEsCglvcmcvb21nL0NPUkJBL1NlcnZpY2VJbmZvcm1hdGlvbkhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TZXJ2aWNlSW5mb3JtYXRpb25Ib2xkZXI6IE5ldyBmaWxlcy4KCjIwMDUtMDUtMjIgIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvU2VydmljZURldGFpbC5qYXZhLAoJb3JnL29tZy9DT1JCQS9TZXJ2aWNlRGV0YWlsSGVscGVyLmphdmEsCglnbnUvQ09SQkEvU2VydmljZURldGFpbEhvbGRlci5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTA1LTIxICBBdWRyaXVzIE1lc2thdXNrYXMsIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBnbnUvQ09SQkEvT2JqZWN0Q3JlYXRvci5qYXZhOiBVc2UgZ251L0NPUkJBIG5hbWVzcGFjZS4KCjIwMDUtMDUtMjEgIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS91bml2ZXJzYWxIb2xkZXIuamF2YTogTmV3IGZpbGUuCgkqIGdudS9DT1JCQS9nbnVBbnkuamF2YSAoY3JlYXRlX2lucHV0X3N0cmVhbSwKCXJlYWRfdmFsdWUpOiBVc2UgdGhlIHVuaXZlcnNhbEhvbGRlci4KCSogZ251L0NPUkJBL0NEUi9hbGlnbmluZ0lucHV0U3RyZWFtLmphdmEKCShnZXRCdWZmZXIpOiBOZXcgbWV0aG9kLgoKMjAwNS0wNS0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogamF2YS9sYW5nL21wcmVjLmMgKG11bHQsIGxzaGlmdCwgYjJkLCBkMmIpOiBBZGQgcGFyZW50aGVzaXMgdG8KCWF2b2lkIHdhcm5pbmdzLgoKMjAwNS0wNS0yMSAgQXJjaGllIENvYmJzICA8YXJjaGllQGRlbGxyb2FkLm9yZz4KCgkqIE5FV1M6IGRvY3VtZW50IFZNIGludGVyZmFjZSBjaGFuZ2VzLgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YTogKHZtZGF0YSk6IGFkZAoJKiB2bS9yZWZlcmVuY2UvamF2YS9sYW5nL1ZNQ2xhc3MuamF2YTogKGdldE1vZGlmaWVycygpKTogYWRkCgluZXcgcGFyYW1ldGVyIGlnbm9yZUlubmVyQ2xhc3Nlc0F0dHJpYgoJKiB2bS9yZWZlcmVuY2UvamF2YS9sYW5nL1ZNQ2xhc3NMb2FkZXIuamF2YTogKGRlZmluZUNsYXNzKCkpOiByZW1vdmUKCWRlcHJlY2F0ZWQgdmVyc2lvbiAoZ2V0UHJpbWl0aXZlQ2xhc3MoU3RyaW5nKSk6IHJlbW92ZQoJKGdldFByaW1pdGl2ZUNsYXNzKGNoYXIpKTogbWFrZSBuYXRpdmUgKGxvYWRDbGFzcygpKTogbWFrZSBuYXRpdmUKCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTVRocmVhZC5qYXZhOiAodm1kYXRhKTogYWRkCgkoY291bnRTdGFja0ZyYW1lcygpKTogbWFrZSBuYXRpdmUKCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTVRocm93YWJsZS5qYXZhOiAodm1kYXRhKTogYWRkCgkoZmlsbEluU3RhY2tUcmFjZSgpKTogbWFrZSBuYXRpdmUKCShnZXRTdGFja1RyYWNlKCkpOiBtYWtlIG5hdGl2ZQoJKiB2bS9yZWZlcmVuY2UvamF2YS9sYW5nL3JlZmxlY3QvQ29uc3RydWN0b3IuamF2YToKCShwYXJhbWV0ZXJUeXBlcywgZXhjZXB0aW9uVHlwZXMpOiByZW1vdmUKCShnZXRQYXJhbWV0ZXJUeXBlcygpLCBnZXRFeGNlcHRpb25UeXBlcygpKTogbWFrZSBuYXRpdmUKCjIwMDUtMDUtMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiByZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXMucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2NzLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGEucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2R6LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9HQi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0lFLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fU0cucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lcy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZhLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZmFfQUYucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9maS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2EucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oaS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2l0LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25famEucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rby5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21yLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9uYi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25sLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHMucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wdC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NyLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3JfTGF0bi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N2LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3cucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90YS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3V6X0FGLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femgucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9IYW50LnByb3BlcnRpZXM6CglSZWdlbmVyYXRlZCB3aXRoIG5ld2VyIGdudS5sb2NhbGVnZW4gdG8gZml4IG5ld2xpbmUgYnVnLgoKMjAwNS0wNS0yMSAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvdGV4dC9EYXRlRm9ybWF0U3ltYm9scy5qYXZhOgoJKGdldFN0cmluZ0FycmF5KGphdmEudXRpbC5SZXNvdXJjZUJ1bmRsZSxTdHJpbmcpKToKCUZpeGVkIHBhcnNpbmcgb2YgbmV3IHByb3BlcnR5IGZpbGVzLgoJKGdldFpvbmVTdHJpbmdzKGphdmEudXRpbC5SZXNvdXJjZUJ1bmRsZSkpOgoJTGlrZXdpc2UuCgkKMjAwNS0wNS0yMSAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKICAgICAgICAqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1BpeGJ1ZkRlY29kZXIuYwogICAgICAgIChhcmVhX3VwZGF0ZWQpOiBEZWxldGUganBpeGVscyByZWZlcmVuY2UgYWZ0ZXIgdXNlIHRvIGF2b2lkIHdhc3RpbmcgcmVmZXJlbmNlcy4KCjIwMDUtMDUtMjAgIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KICAgICogZG9jL3d3dy5nbnUub3JnL3Rhc2tzLndtbDogQWRkaW5nIENPUkJBIHRhc2suCgoyMDA1LTA1LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvRGVmYXVsdEtleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmE6CglEb2N1bWVudGF0aW9uIGZpeGVzLgoKMjAwNS0wNS0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKENhcmV0QmxpbmtUaW1lcik6IEFkZGVkIGlubmVyIGNsYXNzIHRvIG1ha2UgY2FyZXQgYmxpbmtpbmcuCgkoY29uc3RydWN0b3IpOiBDcmVhdGUgb25lIGluc3RhbmNlIG9mIENhcmV0QmxpbmtUaW1lci4KCShzZXRFZGl0YWJsZSk6IFN3aXRjaCBjYXJldCBvbiBhbmQgb2ZmIGRlcGVuZGluZyBvbiB0aGUgZWRpdGFibGUKCXByb3BlcnR5LgoJKHNldENhcmUpOiBSZWdpc3RlciBjYXJldCB3aXRoIHRoZSBDYXJldEJsaW5rVGltZXIuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmE6CglTZXQgYSBnb29kIGJsaW5rIHJhdGUgb2YgNTAwbXMuCgoyMDA1LTA1LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSkVkaXRvclBhbmUuamF2YToKCShwcm9jZXNzQ29tcG9uZW50S2V5RXZlbnQpOiBSZW1vdmVkIHRoaXMgbWV0aG9kLiBUaGlzIGJsb2NrcwoJa2V5IGV2ZW50cyBmcm9tIGJlZWluZyBkZWxpdmVyZWQgYW5kIGlzIG5vdCBpbiB0aGUgQVBJLgoJKHByb2Nlc3NLZXlFdmVudCk6IFJlbW92ZWQgdGhpcyBtZXRob2QuIFRoaXMgYmxvY2tzCglrZXkgZXZlbnRzIGZyb20gYmVlaW5nIGRlbGl2ZXJlZCBhbmQgaXMgbm90IGluIHRoZSBBUEkuCgoyMDA1LTA1LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvRGVmYXVsdEtleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEKCShwcm9jZXNzS2V5RXZlbnQpOiBQcm9wZXJseSBzd2FsbG93IEtFWV9UWVBFRCBldmVudHMgYWZ0ZXIKCWEgS0VZX1BSRVNTRUQgZXZlbnQgZm9yIGEgZm9jdXNUcmF2ZXJzYWxLZXkgaGFzIGJlZW4gcmVjZWl2ZWQuCglPdGhlcndpc2UgdGhlIGZvY3VzVHJhdmVyc2FsS2V5IChlLmcuIGEgVEFCKSB3b3VsZCBlbmQgdXAKCWJlZWluZyBkZWxpdmVyZWQgdG8gdGhlIGZvY3VzZWQgY29tcG9uZW50LgoKMjAwNS0wNS0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoZGlzcGF0Y2hFdmVudEltcGwpOiBMZXQgTW91c2VFdmVudHMgdHJpZ2dlciBhIGZvY3VzIGNoYW5nZQoJb24gbGlnaHR3ZWlnaHQgY29tcG9uZW50cy4KCjIwMDUtMDUtMjAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShjb25zdHJ1Y3Rvcik6IFNldCBkZWZhdWx0IHZhbHVlIGZvciB0aGUgaG9yaXpvbnRhbEFsaWdubWVudAoJcHJvcGVydHkuCgoyMDA1LTA1LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVUaXRsZVBhbmUuamF2YQoJKHNldEJ1dHRvbkljb25zKTogQWRkZWQgY2hlY2tzIGZvciBudWxsIHJlZmVyZW5jZXMuCgoyMDA1LTA1LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlByb2dyZXNzQmFyLmphdmEKCShwYWludEJvcmRlcik6IENoZWNrIGlmIGJvcmRlciBpcyBudWxsIGJlZm9yZSB0cnlpbmcgdG8gcGFpbnQgaXQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQcm9ncmVzc0JhclVJLmphdmEKCShwYWludCk6IERvbid0IHBhaW50IHRoZSBib3JkZXIgaGVyZS4gVGhpcyB3b3VsZCBsZWFkIHRvIHRoZSBib3JkZXIKCWJlZWluZyBwYWludGVkIHR3aWNlLgoKMjAwNS0wNS0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEKCShjb252ZXJ0UG9pbnQpOiBDaGVjayBmb3IgdmlzaWJpbGl0eSBvZiBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uCgliZWZvcmUgY2FsbGluZyBjb252ZXJ0UG9pbnRUb1NjcmVlbiBvciBjb252ZXJ0UG9pbnRGcm9tU2NyZWVuLgoKMjAwNS0wNS0yMCAgQXVkcml1cyBNZXNrYXVza2FzLCA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9TZXRPdmVycmlkZVR5cGUuamF2YSAoX0FERF9PVkVSUklERSwgX1NFVF9PVkVSUklERSksCglvcmcvb21nL0NPUkJBL0NvbXBsZXRpb25TdGF0dXMuamF2YQoJKF9DT01QTEVURURfWUVTLCBfQ09NUExFVEVEX05PLCBfQ09NUExFVEVEX01BWUJFKTogTWFraW5nIHB1YmxpYy4KCSogb3JnL29tZy9DT1JCQS9WYWx1ZU1lbWJlci5qYXZhOiBJbmhlcml0IGZyb20gCglvcmcub21nLkNPUkJBLnBvcnRhYmxlLklETEVudGl0eS4KCjIwMDUtMDUtMjAgIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvcG9ydGFibGUvQXBwbGljYXRpb25FeGNlcHRpb24uamF2YSwKCW9yZy9vbWcvQ09SQkEvcG9ydGFibGUvUmVtYXJzaGFsRXhjZXB0aW9uLmphdmE6CglBZGRpbmcgc2VyaWFsVmVyc2lvblVJRC4KCSpvcmcvb21nL0NPUkJBL3BvcnRhYmxlL091dHB1dFN0cmVhbS5qYXZhKHdyaXRlX0NvbnRleHQpOgoJTWFraW5nIGNvbmNyZXRlLgoJb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9TZXJ2YW50T2JqZWN0LmphdmEgKHNlcnZhbnQpOgoJRml4aW5nIHR5cG8gaW4gdGhlIGZpZWxkIG5hbWUuCgoyMDA1LTA1LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogc2NyaXB0cy9nZW5lcmF0ZS1sb2NhbGUtbGlzdC5zaDoKCVVzZSB0aGUgbmV3IGxvY2FsZSBwcm9wZXJ0aWVzIGZpbGVzLgoKMjAwNS0wNS0yMCAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIGphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YTogUmVtb3ZlZCB0d28gbm9uLVVURjggY2hhcnMuCgoyMDA1LTA1LTE5ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS9uZXQvVVJJLmphdmE6CglBZGRlZCBtb3JlIGRvY3VtZW50YXRpb24uCgkoUkZDMjM5Nl9NQVJLKTogUmVtb3ZlZC4KCShSRkMyMzk2X1VOUkVTRVJWRUQpOiBDaGFuZ2VkIHRvIFJGQzM5ODZfVU5SRVNFUlZFRCBhbmQgdXBkYXRlZC4KCShSRkMyMzk2X1JFR19OQU1FKTogQ2hhbmdlZCB0byBSRkMzOTg2X1JFR19OQU1FIGFuZCB1cGRhdGVkLgoJKFJGQzIzOTZfUENIQVIpOiBDaGFuZ2VkIHRvIFJGQzM5ODZfUENIQVIgYW5kIHVwZGF0ZWQuCgkoUkZDMjM5Nl9TRUdNRU5UKTogQ2hhbmdlZCB0byBSRkMzOTg2X1NFR01FTlQgYW5kIHVwZGF0ZWQuCgkoUkZDMjM5Nl9QQVRIX1NFR01FTlRTKTogQ2hhbmdlZCB0byBSRkMzOTg2X1BBVEhfU0VHTUVOVFMuCgkoUkZDMzk4Nl9VTlJFU0VSVkVEKTogTmV3IGZpZWxkLgoJKFJGQzM5ODZfU1NQKTogTmV3IGZpZWxkLgoJKFJGQzM5ODZfSE9TVCk6IE5ldyBmaWVsZC4KCShSRkMzOTg2X1VTRVJJTkZPKTogTmV3IGZpZWxkLgoJKHN0YXRpYyk6IE5ldyBpbml0aWFsaXplciB0byBpbml0aWFsaXplIHBhdHRlcm5zIHdpdGggY2xhc3MuCgkocGFyc2VVUkkoKSk6IE1vdmVkIGF1dGhvcml0eSBwYXJzaW5nIHRvIHBhcnNlU2VydmVyQXV0aG9yaXR5KCkuCgkodW5xdW90ZShTdHJpbmcpKTogUmVtb3ZlZCBpbnZhbGlkIGV4Y2VwdGlvbiBmb3Igbm9uLUFTQ0lJIGNoYXJzLgoJKHF1b3RlKFN0cmluZykpOiBJbXBsZW1lbnRlZC4KCShxdW90ZUF1dGhvcml0eShTdHJpbmcpKTogQWRhcHRlZCB0byB1c2UgbmV3IGZpZWxkcy4KCShxdW90ZShTdHJpbmcsU3RyaW5nKSk6IE1vdmVkIGVzY2FwaW5nIG9mIGNoYXJhY3RlcnMgdG8gYW5vdGhlcgoJbWV0aG9kLgoJKHF1b3RlSG9zdChTdHJpbmcpKTogSW1wbGVtZW50ZWQuCgkocXVvdGVQYXRoKFN0cmluZykpOiBBZGFwdGVkIHRvIHVzZSBuZXcgZmllbGRzLgoJKHF1b3RlVXNlckluZm8oU3RyaW5nKSk6IEltcGxlbWVudGVkLgoJKHBhcnNlU2VydmVyQXV0aG9yaXR5KCkpOiBJbXBsZW1lbnRlZC4KCShub3JtYWxpemUoKSk6IEltcGxlbWVudGVkLgoJKG5vcm1hbGl6ZVBhdGgoU3RyaW5nKSk6IEltcGxlbWVudGVkIGFzIHBhcnQgb2Ygbm9ybWFsaXplKCkuCgkocmVtb3ZlTGFzdFNlZ21lbnQoU3RyaW5nQnVmZmVyKSk6IExpa2V3aXNlLgoJKHJlbGF0aXZpemUoamF2YS5uZXQuVVJJKSk6IEltcGxlbWVudGVkLgoJKGVxdWFscyhPYmplY3QpKTogSW1wbGVtZW50ZWQuCgkoaGFzaENvZGUoKSk6IEltcGxlbWVudGVkLgoJKGNvbXBhcmVUbyhPYmplY3QpKTogSW1wbGVtZW50ZWQuCgkoY29tcGFyZUZyYWdtZW50cyhqYXZhLm5ldC5VUkkpKTogSW1wbGVtZW50ZWQuCgkodG9TdHJpbmcoKSk6IFVzZSBmaWVsZHMgZGlyZWN0bHkuCgkodG9BU0NJSVN0cmluZygpKTogSW1wbGVtZW50ZWQuCgkoZXNjYXBlQ2hhcmFjdGVycyhTdHJpbmcpKTogSW1wbGVtZW50ZWQgdG8gZXNjYXBlIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLgoKMjAwNS0wNS0xOSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YQoJKGNvbnN0cnVjdG9ycyk6IEltcGxlbWVudGVkLgoJKGdldFRpbGVkU2l6ZVJlcXVpcmVtZW50cyk6IEltcGxlbWVudGVkLgoJKGNhbGN1bGF0ZVRpbGVkUG9zaXRpb25zKTogSW1wbGVtZW50ZWQuCgoyMDA1LTA1LTE5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvU2l6ZVJlcXVpcmVtZW50cy5qYXZhOgoJQWRkZWQgQVBJIGRvY3VtZW50YXRpb24gZm9yIHRoaXMgY2xhc3MuCgoyMDA1LTA1LTE5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvU2l6ZVJlcXVpcmVtZW50cy5qYXZhOgoJUmVmb3JtYXR0ZWQgZmlsZSB0byBtZWV0IG91ciBjb2Rpbmcgc3RhbmRhcmRzLgoKMjAwNS0wNS0xOSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEKCShnZXRVSUlucHV0TWFwKTogUmV0dXJuIHRoZSBJbnB1dE1hcCB0aGF0IGhhcyBiZWVuIHNldCBieQoJdGhlIFVJIG9mIHRoZSBjb21wb25lbnQsIG5vdCB0aGUgY29tcG9uZW50J3Mgb3duIElucHV0TWFwLgoJKGdldFVJQWN0aW9uTWFwKTogUmV0dXJuIHRoZSBBY3Rpb25NYXAgdGhhdCBoYXMgYmVlbiBzZXQgYnkKCXRoZSBVSSBvZiB0aGUgY29tcG9uZW50LCBub3QgdGhlIGNvbXBvbmVudCdzIG93biBBY3Rpb25NYXAuCgoyMDA1LTA1LTE5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvRm9jdXNNYW5hZ2VyLmphdmE6CglSZWZvcm1hdHRlZCB0aGlzIGZpbGUgdG8gbWF0Y2ggb3VyIGNvZGluZyBzdGFuZGFyZC4KCjIwMDUtMDUtMTkgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL0Jhc2ljRmlsZUNob29zZXJVSS5qYXZhOgoJKGluc3RhbGxDb21wb25lbnRzKTogSW5jbHVkZSBwYXJlbnRzIENvbWJvQm94LiBUaGlzIGhhcyBiZWVuCgljb21tZW50ZWQgb3V0IGJlY2F1c2UgQ29tYm9Cb3ggd2FzIGJyb2tlbiAoc2VlIHByZXZpb3VzIGVudHJ5KS4KCjIwMDUtMDUtMTkgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ29tYm9Cb3hVSS5qYXZhCgkoY3JlYXRlVUkpOiBEbyBub3Qgc2hhcmUgaW5zdGFuY2VzIG9mIHRoaXMgVUkgY2xhc3MgYmV0d2VlbgoJZGlmZmVyZW50IEpDb21ib0JveGVzLgoKMjAwNS0wNS0xOSAgS2ltIEhvICA8a2hvQGx1eHNjaS5uZXQ+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Q29tYm9Cb3hNb2RlbC5qYXZhOgoJKGFkZEVsZW1lbnQpOiBTZXQgaW5kZXggdG8gYmUgdGhlIGVsZW1lbnQgb2YgdGhlIGFkZGVkIGl0ZW0uCgkocmVtb3ZlQWxsRWxlbWVudHMpOiBDbGVhciBiZWZvcmUgcmV0cmlldmluZyBuZXcgc2l6ZS4gVXNlCgljb3JyZWN0IHNpemUuCgkqIGphdmF4L3N3aW5nL0pGaWxlQ2hvb3Nlci5qYXZhOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvZmlsZWNob29zZXIvRmlsZVN5c3RlbVZpZXcuamF2YTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL2ZpbGVjaG9vc2VyL1VuaXhGaWxlU3lzdGVtVmlldy5qYXZhOiBOZXcgZmlsZS4KCUltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhOgoJKGludGVydmFsQWRkZWQpOiBTZXQgaW5pdGlhbCBpbmRleCB0byBzdGFydC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0RpcmVjdG9yeU1vZGVsLmphdmE6IE5ldyBmaWxlLgoJSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNGaWxlQ2hvb3NlclVJLmphdmE6IE5ldyBmaWxlLgoJSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOiBBZGQgRmlsZUNob29zZXJVSS4KCUNvbW1lbnRlZCBvdXQgR0lGIHByb3BlcnRpZXMgZm9yIEZpbGVDaG9vc2VyIHN0dWZmLgoKMjAwNS0wNS0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGxpYi9NYWtlZmlsZS5hbTogUmVtb3ZlIGFjY2lkZW50YWxseSBjb21taXRlZCAtbm93YXJuIG9wdGlvbiBmb3IKCWppa2VzLgoKMjAwNS0wNS0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdGV4dC9EYXRlRm9ybWF0U3ltYm9scy5qYXZhCgkoZ2V0U3RyaW5nQXJyYXkpOiBOZXcgbWV0aG9kLgoJKGdldFpvbmVTdHJpbmdzKTogTGlrZXdpc2UuCgkoRGF0ZUZvcm1hdFN5bWJvbHMpOiBMb2FkIHN5bWJvbHMgZnJvbSBwcm9wZXJ0aWVzIGZpbGVzLgoJKiBqYXZhL3V0aWwvTG9jYWxlLmphdmEKCShnZXREaXNwbGF5TGFuZ3VhZ2UpOiBIYW5kbGUgbmV3IHdheSB0byBsb2FkIGxhbmd1YWdlIG5hbWVzLgoJKGdldERpc3BsYXlDb3VudHJ5KTogSGFuZGxlIG5ldyB3YXkgdG8gbG9hZCB0ZXJyaXRvcnkgbmFtZXMuCgkoZ2V0RGlzcGxheVZhcmlhbnQpOiBIYW5kbGUgbmV3IHdheSB0byBsb2FkIHZhcmlhbnQgbmFtZXMuCgkqIGxpYi9NYWtlZmlsZS5hbSwgbGliL2dlbi1jbGFzc2xpc3Quc2guaW46CglObyBuZWVkIHRvIHNwZWNpYWwgY2FzZSBjbGFzc2VzIGZyb20gZ251LmphdmEubG9jYWxlIGFueW1vcmUuCgkqIHNjcmlwdHMvZ2VuZXJhdGUtbG9jYWxlLWxpc3Quc2g6CglHZW5lcmF0ZSBsaXN0IGZyb20gdGhlIG5ldyBwcm9wZXJ0aWVzIGZpbGVzLgoJKiBMSUNFTlNFOiBBZGRlZCBsaWNlbnNlIG9mIGxvY2FsZSBkYXRhIHByb3BlcnRpZXMgZmlsZXMuCgoyMDA1LTA1LTE5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FhX0RKLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWFfRVIucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hYV9FUl9TQUFITy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FhX0VULnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWEucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hZi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FmX1pBLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYW1fRVQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hbS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0RaLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfSU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9JUS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0pPLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfS1cucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9MQi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0xZLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfTUEucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hci5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX1FBLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfU0EucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9TWS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX1ROLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfWUUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hc19JTi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FzLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXpfQ3lybC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JlX0JZLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYmUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZ19CRy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JnLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYm5fSU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ibi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2NhX0VTLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY2EucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jc19DWi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2NzLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY3lfR0IucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jeS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RhX0RLLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGEucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9BVC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0JFLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGVfQ0gucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9ERS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0xJLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGVfTFUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2R2X01WLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZHYucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kel9CVC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2R6LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZWxfR1IucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0FTLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQVUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9CRS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0JXLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQloucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9DQS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0dCLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fR1UucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9ISy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0lFLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fSU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9NSC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX01QLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fTVQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9OWi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1BILnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fUEsucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1NHLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fVU0ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9VU19QT1NJWC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1VTLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fVkkucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9aQS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1pXLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW8ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19BUi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0JPLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfQ0wucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19DTy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0NSLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfRE8ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19FQy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0VTLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfR1QucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19ITi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX01YLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfTkkucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19QQS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1BFLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXMucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19QUi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1BZLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfU1YucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19VUy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1VZLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfVkUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ldF9FRS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2V0LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXVfRVMucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ldS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZhX0FGLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZmFfSVIucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mYS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZpX0ZJLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZmkucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mb19GTy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZvLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfQkUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mcl9DQS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyX0NILnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfTFUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mci5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2dhX0lFLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2EucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nbF9FUy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2dsLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ3VfSU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ndS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2d2X0dCLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ3YucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oZV9JTC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2hlLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGlfSU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oaS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2hyLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHVfSFUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9odS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h5X0FNLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHlfQU1fUkVWSVNFRC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h5LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faWRfSUQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pZC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lzX0lTLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXMucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pdF9DSC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2l0X0lULnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pdS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2phX0pQLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25famEucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rYS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2trX0taLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2sucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbF9HTC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tsLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa21fS0gucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tuX0lOLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa24ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rb19LUi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tvLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa3dfR0IucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rdy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2t5LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbG9fTEEucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sby5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2x0X0xULnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbHQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sdl9MVi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2x2LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbWsucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tbF9JTi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21sLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbW5fTU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tbi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21yX0lOLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXIucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tc19CTi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21zX01ZLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXMucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tdF9NVC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX210LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbmJfTk8ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9uYi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25sX0JFLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbmxfTkwucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25uX05PLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbm4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9vbV9FVC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX29tX0tFLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fb20ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9vcl9JTi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX29yLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcGFfSU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wYS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BsX1BMLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcGwucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BzX0FGLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHMucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wdF9CUi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3B0LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHRfUFQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9yby5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3JvX1JPLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcnUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ydV9SVS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3J1X1VBLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2FfSU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zYS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NrLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2tfU0sucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zbC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NvX0RKLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc29fRVQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zb19LRS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NvLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc29fU08ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zcV9BTC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NxLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3JfTGF0bi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NyLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3ZfRkkucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zdi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N2X1NFLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3dfS0UucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zdy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N3X1RaLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGFfSU4ucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90YS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RlX0lOLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90aC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RoX1RILnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGlfRVIucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90aV9FVC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RpLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdHIucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90cl9UUi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3R0LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdHRfUlUucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl91ay5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3VrX1VBLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdXIucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl91el9BRi5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3V6LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdmkucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9DTl9IYW5zLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfSGFudC5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poX0hLX0hhbnQucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9NT19IYW50LnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femgucHJvcGVydGllcywKCXJlc291cmNlL2dudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9TR19IYW5zLnByb3BlcnRpZXMsCglyZXNvdXJjZS9nbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfVFdfSGFudC5wcm9wZXJ0aWVzOgoJTmV3IGZpbGVzLgoJKiBnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWFfREouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hYV9FUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FhX0VSX1NBQUhPLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWFfRVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FmLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWZfWkEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hbV9FVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FtLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfRFouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0lRLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9KTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0tXLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfTEIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9MWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX01BLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfUUEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9TQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX1NZLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfVE4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9ZRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FzX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hel9DeXJsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZV9CWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JlLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYmdfQkcuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JuX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYm4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9icl9GUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JzX0JBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYnluX0VSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYnluLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY2FfRVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2NzX0NaLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY3MuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jeV9HQi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2N5LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGFfREsuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0FULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGVfQkUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9DSC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0RFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9MSS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0xVLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZHYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kdl9NVi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2R6X0JULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZHouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbF9HUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9BVS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0JFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQlcuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9CWi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0NBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fREsuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9HQi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0dVLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fSEsuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9JRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9NSC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX01QLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fTVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9OWi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1BILmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fUEsuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9TRy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1VNLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fVVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9VU19QT1NJWC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1ZJLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fWkEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9aVy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfQVIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19CTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0NMLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfQ08uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19DUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0RPLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfRUMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19FUy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0dULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfSE4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lcy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX01YLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfTkkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19QQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1BFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfUFIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19QWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1NWLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfVVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19VWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1ZFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXRfRUUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ldC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2V1X0VTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mYV9BRi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZhX0lSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZmEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9maV9GSS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZpLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZm9fRk8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mby5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyX0JFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfQ0EuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mcl9DSC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfTFUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nYV9JRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2dhLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2V6X0VSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2V6X0VULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2V6LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2xfRVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nbC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2d1X0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ3UuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ndl9HQi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2d2LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGF3LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGF3X1VTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGVfSUwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oZS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2hpX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h1X0hVLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oeV9BTS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h5X0FNX1JFVklTRUQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oeS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lkX0lELmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faWQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pc19JUy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lzLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXRfQ0guamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pdF9JVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2l0LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pd19JTC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2phLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25famFfSlAuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2thLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2suamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ra19LWi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tsX0dMLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ttX0tILmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa25fSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa29rX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa29rLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa29fS1IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rd19HQi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2t3LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa3kuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sby5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2xvX0xBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbHQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sdF9MVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2x2LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbHZfTFYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tay5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21sX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbWwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21uX01OLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXJfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21zX0JOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tc19NWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX210LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXRfTVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9uYi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25iX05PLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbmxfQkUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25sX05MLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbm4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubl9OTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25vX05PLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fb2NfRlIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9vbV9FVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX29tLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fb21fS0UuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9vcl9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX29yLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcGFfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcGxfUEwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wc19BRi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BzLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHRfQlIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wdC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3B0X1BULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcm8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9yb19STy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3J1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcnVfUlUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ydV9VQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NhX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2EuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zZV9OTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NpZF9FVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NpZC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NrLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2tfU0suamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zbC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NvX0RKLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc29fRVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zby5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NvX0tFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc29fU08uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zcV9BTC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NxLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zcl9MYXRuLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3ZfRkkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zdi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N2X1NFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3cuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zd19LRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N3X1RaLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3lyLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3lyX1NZLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGFfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90YS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RlX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90Z19USi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RoLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGhfVEguamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90aV9FUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RpX0VULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGlnX0VSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGlnLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90ci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RyX1RSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdHQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90dF9SVS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3VrLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdWtfVUEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl91ci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3V6X0FGLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdXouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl92aS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3dhbF9FVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3dhbC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poX0NOX0hhbnMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9IYW50LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfSEtfSGFudC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfTU9fSGFudC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poX1NHX0hhbnMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9UV19IYW50LmphdmE6CglSZW1vdmVkLgoKMjAwNS0wNS0xOCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvV2luZG93LmphdmEgKGNyZWF0ZUJ1ZmZlclN0cmF0ZWd5KTogUmVtb3ZlIHVubmVjZXNzYXJ5Cgl0cnktY2F0Y2ggYmxvY2tzLgoJKiBqYXZhL2F3dC9DYW52YXMuamF2YSAoY3JlYXRlQnVmZmVyU3RyYXRlZ3kpOiBMaWtld2lzZS4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtWb2xhdGlsZUltYWdlLmphdmE6IEZpeCBpbXBvcnRzLgoKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvRFNBU2lnbmF0dXJlLmphdmE6IEltcG9ydCB1cGRhdGVzCglmcm9tIEdOVSBDcnlwdG8uCgoyMDA1LTA1LTE4ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL01lbnVTZWxlY3Rpb25NYW5hZ2VyLmphdmEKCShwcm9jZXNzTW91c2VFdmVudCk6IENsZWFyIHNlbGVjdGVkIHBhdGggaWYgdGhlIG1vdXNlIHdhcyByZWxlYXNlZAoJb3ZlciBub24tbWVudSBjb21wb25lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQb3B1cE1lbnVVSS5qYXZhCgkoQ29uc3RydWN0b3IpOiBSZW1vdmVkIGluaXRpYWxpemF0aW9uIG9mIG1vdXNlSW5wdXRMaXN0ZW5lci4KCShpbnN0YWxsTGlzdGVuZXJzKTogRG8gbm90IGFkZCBtb3VzZUlucHV0TGlzdGVuZXIgdG8gdGhpcyBwb3B1cAoJbWVudS4gSW5zdGVhZCBpdCB3aWxsIGJlIGFkZGVkIHRvIHRoZSByb290IGNvbnRhaW5lciBvZiB0aGUgcG9wdXAKCW1lbnUuCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogUmVtb3ZlIGNvZGUgdGhhdCByZW1vdmVkIG1vdXNlSW5wdXRMaXN0ZW5lcgoJZnJvbSBwb3B1cE1lbnUuCgkocG9wdXBNZW51V2lsbEJlY29tZUludmlzaWJsZSk6IElmIHRoaXMgcG9wdXAgbWVudSBpcyB0aGUgbGFzdAoJbWVudSBvbiB0aGUgc2NyZWVuLCB0aGVuIHN0b3AgaW50ZXJydXB0aW5nIG1vdXNlIGV2ZW50cyB0aHJvdWdoCgl0aGUgZ2xhc3MgcGFuZS4KCShwb3B1cE1lbnVXaWxsQmVjb21lVmlzaWJsZSk6IEFkZCBtb3VzZUlucHV0TGlzdGVuZXIgdG8gZ2xhc3MgcGFuZQoJaWYgaXQgd2FzIG5vdCBhZGRlZCBiZWZvcmUgYW5kIG1ha2UgZ2xhc3MgcGFuZSB2aXNpYmxlIGluIG9yZGVyIHRvCglpbnRlcnJ1cHQgbW91c2UgZXZldmVudHMuCgkoTW91c2VJbnB1dEhhbmRsZXIpOiBDbG9zZSBtZW51IGhpZXJhcmNoeSBpZiB0aGUgbW91c2Ugd2FzIGNsaWNrZWQKCW9uIG5vbiBtZW51IGNvbXBvbmVudC4KCjIwMDUtMDUtMTggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkoaXNNYW5hZ2luZ0ZvY3VzKTogQWNjb3JkaW5nIHRvIFN1bnMgQVBJIGRvY3VtZW50YXRpb24gdGhpcwoJbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNsYXNzLiBBbHNvIHRoZQoJaW1wbGVtZW50YXRpb24gZGlkIG5vdCBhZGQgYW55IHZhbHVlLiBSZW1vdmVkLgoKMjAwNS0wNS0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pTZXBhcmF0b3IuamF2YQoJKGlzRm9jdXNUcmF2ZXJzYWJsZSk6IEFjY29yZGluZyB0byBTdW5zIEFQSSBkb2N1bWVudGF0aW9uIHRoaXMKCW1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjbGFzcy4gQWxzbyB0aGUKCWltcGxlbWVudGF0aW9uIGRpZCBub3QgYWRkIGFueSB2YWx1ZS4gUmVtb3ZlZC4KCjIwMDUtMDUtMTggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhCgkoaXNGb2N1c1RyYXZlcnNhYmxlKTogQWNjb3JkaW5nIHRvIFN1bnMgQVBJIGRvY3VtZW50YXRpb24gdGhpcwoJbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNsYXNzLiBBbHNvIHRoZQoJaW1wbGVtZW50YXRpb24gZGlkIG5vdCBhZGQgYW55IHZhbHVlLiBSZW1vdmVkLgoKMjAwNS0wNS0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0ltYWdlSWNvbi5qYXZhCgkoQWNjZXNzaWJsZUltYWdlSWNvbik6IEFkZGVkIGlubmVyIGNsYXNzIGZvciBBY2Nlc3NpYmlsaXR5IHN1cHBvcnQKCWluIEltYWdlSWNvbi4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEFkZGVkIG1ldGhvZCBmb3IgYWNjZXNzaWJpbGl0eSBzdXBwb3J0CglpbiBJbWFnZUljb24uCgoyMDA1LTA1LTE4ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3NDb25maWd1cmF0aW9uLmphdmEKCShjcmVhdGVDb21wYXRpYmxlVm9sYXRpbGVJbWFnZShpbnQsaW50KSk6IEltcGxlbWVudC4KCShjcmVhdGVDb21wYXRpYmxlVm9sYXRpbGVJbWFnZShpbnQsaW50LEltYWdlQ2FwYWJpbGl0aWVzKSk6CglMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSAoYmFja0J1ZmZlciwgY2Fwcyk6CglOZXcgZmllbGRzLgoJKGNyZWF0ZVZvbGF0aWxlSW1hZ2UpOiBJbXBsZW1lbnQuCgkoY3JlYXRlQnVmZmVycyk6IExpa2V3aXNlLgoJKGdldEJhY2tCdWZmZXIpOiBMaWtld2lzZS4KCShmbGlwKTogTGlrZXdpc2UuCgkoZGVzdHJveUJ1ZmZlcnMpOiBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1ZvbGF0aWxlSW1hZ2UuamF2YTogTmV3IGZpbGUuCgkqIGphdmEvYXd0L0NhbnZhcy5qYXZhIChDYW52YXNCbHRCdWZmZXJTdHJhdGVneSk6IE5ldyBjbGFzcy4KCShDYW52YXNGbGlwQnVmZmVyU3RyYXRlZ3kpOiBMaWtld2lzZS4KCShjcmVhdGVCdWZmZXJTdHJhdGVneShpbnQpKTogTmV3IG1ldGhvZC4KCShjcmVhdGVCdWZmZXJTdHJhdGVneShpbnQsQnVmZmVyQ2FwYWJpbGl0aWVzKSk6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YSAoQmx0QnVmZmVyU3RyYXRlZ3kpOiBJbXBsZW1lbnQgYW5kCglkb2N1bWVudCBjbGFzcy4KCShGbGlwQnVmZmVyU3RyYXRlZ3kpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvV2luZG93LmphdmEgKFdpbmRvd0JsdEJ1ZmZlclN0cmF0ZWd5KTogTmV3IGNsYXNzLgoJKFdpbmRvd0ZsaXBCdWZmZXJTdHJhdGVneSk6IExpa2V3aXNlLgoJKGNyZWF0ZUJ1ZmZlclN0cmF0ZWd5KGludCkpOiBOZXcgbWV0aG9kLgoJKGNyZWF0ZUJ1ZmZlclN0cmF0ZWd5KGludCxCdWZmZXJDYXBhYmlsaXRpZXMpKTogTGlrZXdpc2UuCgkoZ2V0QnVmZmVyU3RyYXRlZ3kpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvQnVmZmVyQ2FwYWJpbGl0aWVzLmphdmEgKEJ1ZmZlckNhcGFiaWxpdGllcyk6IFJlbmFtZQoJZnJvbnQgdG8gZnJvbnRDYXBzIGFuZCBiYWNrIHRvIGJhY2tDYXBzLgoKMjAwNS0wNS0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhOgoJKEJvb2xlYW5DZWxsUmVuZGVyZXIpOiBBZGRlZCBkZWZhdWx0IHJlbmRlcmVyIGZvciBCb29sZWFuIGNlbGwgdmFsdWVzLgoJKERhdGVDZWxsUmVuZGVyZXIpOiBBZGRlZCBkZWZhdWx0IHJlbmRlcmVyIGZvciBEYXRlIGNlbGwgdmFsdWVzLgoJKERvdWJsZUNlbGxSZW5kZXJlcik6IEFkZGVkIGRlZmF1bHQgcmVuZGVyZXIgZm9yIERvdWJsZSBjZWxsIHZhbHVlcy4KCShGbG9hdENlbGxSZW5kZXJlcik6IEFkZGVkIGRlZmF1bHQgcmVuZGVyZXIgZm9yIEZsb2F0IGNlbGwgdmFsdWVzLgoJKE51bWJlckNlbGxSZW5kZXJlcik6IEFkZGVkIGRlZmF1bHQgcmVuZGVyZXIgZm9yIE51bWJlciBjZWxsIHZhbHVlcy4KCShJY29uQ2VsbFJlbmRlcmVyKTogQWRkZWQgZGVmYXVsdCByZW5kZXJlciBmb3IgSWNvbiBjZWxsIHZhbHVlcy4KCShjcmVhdGVEZWZhdWx0UmVuZGVyZXJzKTogSW5jbHVkZSBuZXcgZGVmYXVsdCByZW5kZXJlcnMuCgkoZGlzdHJpYnV0ZVNwaWxsKTogRml4IGFsZ29yaXRobSB0byBkbyBhIG5pY2UgbGF5b3V0LCBpZiBzdGlsbCBub3QKCWJlZWluZyAxMDAlIHBlcmZlY3QuCgkoZG9MYXlvdXQpOiBDb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSBzcGlsbCB2YXJpYWJsZS4KCjIwMDUtMDUtMTggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YQoJKGlzU2hvd2luZyk6IEEgV2luZG93IGNhbiBiZSBzaG93aW5nIGV2ZW4gaWYgaXRzIHBhcmVudCBpcyBub3QKCXNob3dpbmcuCgoyMDA1LTA1LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS91dGlsL3ByZWZzL0Fic3RyYWN0UHJlZmVyZW5jZXMuamF2YQoJKGZsdXNoTm9kZSk6IENoYW5nZWQgdG9BcnJheSgpIGNhbGwgdG8gdG9BcnJheShuZXcgU3RyaW5nWzBdKSBjYWxsCgl0byBhdm9pZCBjYXN0aW5nIGVycm9ycy4KCjIwMDUtMDUtMTggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShjb25zdHJ1Y3Rvcik6IE1ha2UgdGV4dCBjb21wb25lbnRzIGVkaXRhYmxlIGJ5IGRlZmF1bHQuCgoyMDA1LTA1LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvVUlNYW5hZ2VyLmphdmEKCSh0b1N0cmluZyk6IEFkZGVkIG1ldGhvZC4KCjIwMDUtMDUtMTggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhCgkoZ2V0VUlJbnB1dE1hcCk6IEFkZGVkIG1ldGhvZC4KCShnZXRVSUFjdGlvbk1hcCk6IEFkZGVkIG1ldGhvZC4KCjIwMDUtMDUtMTggIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvRHluQW55LmphdmEsCglvcmcvb21nL0NPUkJBL0R5bkFycmF5LmphdmEsCglvcmcvb21nL0NPUkJBL0R5blNlcXVlbmNlLmphdmEsCglvcmcvb21nL0NPUkJBL0R5bkVudW0uamF2YSwKCW9yZy9vbWcvQ09SQkEvRHluRml4ZWQuamF2YSwKCW9yZy9vbWcvQ09SQkEvRHluU3RydWN0LmphdmEsCglvcmcvb21nL0NPUkJBL0R5blVuaW9uLmphdmE6IE5ldyBpbnRlcmZhY2VzLgoJKiBvcmcvb21nL0NPUkJBL05hbWVWYWx1ZVBhaXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTmFtZVZhbHVlUGFpckhlbHBlci5qYXZhLAoJZ251L0NPUkJBL0R5bkFuL05hbWVWYWx1ZVBhaXJIb2xkZXIuamF2YToKCU5ldyBjbGFzc2VzLgoKMjAwNS0wNS0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKGNvbnN0cnVjdG9yKTogTWFrZSBjb21wb25lbnQgcmVxdWVzdEZvY3VzRW5hYmxlZCBieSBkZWZhdWx0LgoJKHJlcXVlc3RGb2N1c0luV2luZG93KTogQWRkZWQgbWV0aG9kLgoKMjAwNS0wNS0xOCAgU3ZlbiBkZSBNYXJvdGh5IDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmEKCShjb21wdXRlT2Zmc2V0KTogQWxsb3cgdGltZXpvbmUgdG8gYmUgZmlyc3QgaW4gdGhlIHBhcnNlZCBTdHJpbmcuCgoyMDA1LTA1LTE4ICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmEKCShnZXRUYWJsZUNlbGxSZW5kZXJlckNvbXBvbmVudCk6IEFsbG93IHRhYmxlIHBhcmFtZXRlciB0byBiZSBudWxsLgoJCjIwMDUtMDUtMTcgIEphbiBSb2VocmljaCAgPGphbkByb2VocmljaC5pbmZvPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKGdldEV4cGFuZGVkRGVzY2VuZGFudHMpOiBBZGRlZCBtZXRob2QuCgoyMDA1LTA1LTE3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKFRyZWVNb2RlbEhhbmRsZXIpOiBBZGRlZCBpbm5lciBjbGFzcy4KCShUcmVlU2VsZWN0aW9uUmVkaXJlY3Rvcik6IEFkZGVkIGlubmVyIGNsYXNzLgoJKEVtcHR5U2VsZWN0aW9uTW9kZWwpOiBBZGRlZCBpbm5lciBjbGFzcy4KCShEeW5hbWljVXRpbFRyZWVOb2RlLmdldENoaWxkQXQpOiBBZGRlZCBtZXRob2QuCgkoY29uc3RydWN0b3IobW9kZWwpKTogU2V0cyB1cCBhIG1vZGVsIGFuZCBhIHNlbGVjdGlvbiBtb2RlbC4KCShzZXRNb2RlbCk6IFNldCB1cCB0aGUgSlRyZWUgdHJlZU1vZGVsTGlzdGVuZXIgb24gbmV3bHkgc2V0Cgltb2RlbHMuCgkoY3JlYXRlTW9kZWxMaXN0ZW5lcik6IEFkZGVkIG1ldGhvZC4KCShnZXREZWZhdWx0VHJlZU1vZGVsKTogQWRkZWQgbWV0aG9kLgoJKGNvbnZlcnRWYWx1ZVRvVGV4dCk6IEFkZGVkIG1ldGhvZC4KCShwYXJhbVN0cmluZyk6IEFkZGVkIG1ldGhvZC4KCjIwMDUtMDUtMTYgIEF1ZHJpdXMgTWVza2F1c2thcywgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvQ3VycmVudE9wZXJhdGlvbnMuamF2YSwKCW9yZy9vbWcvQ09SQkEvQ3VycmVudC5qYXZhLAoJb3JnL29tZy9DT1JCQS9Qb2xpY3lFcnJvci5qYXZhLAoJb3JnL29tZy9DT1JCQS9OT19SRVNPVVJDRVMuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wNS0xNiAgQXVkcml1cyBNZXNrYXVza2FzLCA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoJCgkqIG9yZy9vbWcvQ09SQkEvVmFsdWVNZW1iZXI6IEluaGVyaXQgZnJvbSBTZXJpYWxpemFibGUgYW5kIElETEVudGl0eS4KCSogb3JnL29tZy9DT1JCQS9JRExUeXBlOiBJbmhlcml0IGZyb20gb3JnLm9tZy5DT1JCQS5PYmplY3QuCgoyMDA1LTA1LTE2ICBBdWRyaXVzIE1lc2thdXNrYXMsIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL1BSSVZBVEVfTUVNQkVSLmphdmEsCglvcmcvb21nL0NPUkJBL1BVQkxJQ19NRU1CRVIuamF2YQoJKHZhbHVlKTogQ2hhbmdpbmcgdGhlIHR5cGUgZnJvbSBpbnQgdG8gc2hvcnQuCgoyMDA1LTA1LTE2ICBBdWRyaXVzIE1lc2thdXNrYXMsIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL3BvcnRhYmxlL091dHB1dFN0cmVhbS5qYXZhCgkocmVhZCk6IERlY2xhcmluZyBhbmQgY29tbWVudGluZyB0aGUgSU9FeGNlcHRpb24uCgoyMDA1LTA1LTE2ICBBdWRyaXVzIE1lc2thdXNrYXMsIDxBdWRyaXVzQUBCaW9pbmZvcm1hdGljcy5vcmc+CgoJKiBvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nSXRlcmF0b3IuamF2YTogSW5oZXJpdCBmcm9tCglTZXJpYWxpemFibGUsIElETEVudGl0eSBhbmQgb3JnLm9tZy5DT1JCQS5PYmplY3QuCgoyMDA1LTA1LTE2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL25pby9jaGFyc2V0L0NoYXJzZXQuamF2YSAoZW5jb2RlLCBkZWNvZGUpOiBTeW5jaHJvbml6ZSBvbgoJJ3RoaXMnLCBub3QgdGhlIGNsYXNzLgoKMjAwNS0wNS0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSGVhZGVycy5qYXZhIChwYXJzZSk6IEluY2x1ZGUgZmluYWwKCWNoYXJhY3RlciBvZiBsaW5lLgoKMjAwNS0wNS0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJJLmphdmEgKHVucXVvdGUpOiBIYW5kbGUgbG93ZXItY2FzZSBsZXR0ZXJzIGFzIHdlbGwuCgoyMDA1LTA1LTE2ICBaaWdhIE1haGtvdmVjICA8emlnYS5tYWhrb3ZlY0BrbGlrYS5zaT4KCglQUiBsaWJnY2ovMjA1MDQKCWdudS9yZWdleHAvUkUuamF2YTogQWRkIHN1cHBvcnQgZm9yIHF1b3RpbmcgY29uc3RydWN0cy4KCjIwMDUtMDUtMTUgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9TdHJpbmcuamF2YSAoc3RhcnRzV2l0aCk6IEZpeGVkIGphdmFkb2MuCgoyMDA1LTA1LTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6IFJlbW92ZWQgaW52YWxpZCBjaGFyIGZyb20gY29tbWVudC4KCjIwMDUtMDUtMTUgIEF1ZHJpdXMgTWVza2F1c2thcywgTGl0aHVhbmlhICA8QXVkcml1c0FAQmlvaW5mb3JtYXRpY3Mub3JnPgoKCSogb3JnL29tZy9DT1JCQS9UZXN0Q29udGV4dExpc3QuamF2YSwKCWdudS9DT1JCQS9DRFIvdGVzdEJpbmFyeUlPLmphdmE6IFJlbW92aW5nIHRlc3RzIGZyb20gdGhlIGNvcmUuCgoyMDA1LTA1LTE1ICBBdWRyaXVzIE1lc2thdXNrYXMsIExpdGh1YW5pYSAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGdudS9DT1JCQS9WZXJzaW9uLmphdmEsCglnbnUvQ09SQkEvSU9SLmphdmEsCglnbnUvQ09SQkEvSU9SX2NvbnRydWN0ZWRfb2JqZWN0LmphdmEsCglnbnUvQ09SQkEvUmVzdHJpY3RlZF9PUkIuamF2YSwKCWdudS9DT1JCQS9GdW5jdGlvbmFsX09SQi5qYXZhLAoJZ251L0NPUkJBL2dudUFueS5qYXZhLAoJZ251L0NPUkJBL2dudUNvbnRleHQuamF2YSwKCWdudS9DT1JCQS9nbnVDb250ZXh0TGlzdC5qYXZhLAoJZ251L0NPUkJBL2dudUVudmlyb25tZW50LmphdmEsCglnbnUvQ09SQkEvZ251RXhjZXB0aW9uTGlzdC5qYXZhLAoJZ251L0NPUkJBL2dudVJlcXVlc3QuamF2YSwKCWdudS9DT1JCQS9nbnVOVkxpc3QuamF2YSwKCWdudS9DT1JCQS9nbnVOYW1lZFZhbHVlLmphdmEsCglnbnUvQ09SQkEvU2ltcGxlX2RlbGVnYXRlLmphdmEsCglnbnUvQ09SQkEvQmlnRGVjaW1hbEhlbHBlci5qYXZhLAoJZ251L0NPUkJBL1VuZXhwZWN0ZWQuamF2YSwKCWdudS9DT1JCQS9PY3RldEhvbGRlci5qYXZhLAoJZ251L0NPUkJBL1R5cGVDb2RlSGVscGVyLmphdmEsCglnbnUvQ09SQkEvY29yYmFBcnJheUxpc3QuamF2YSwKCWdudS9DT1JCQS9XQ2hhckhvbGRlci5qYXZhLAoJZ251L0NPUkJBL1dTdHJpbmdIb2xkZXIuamF2YSwKCWdudS9DT1JCQS9JT1JfRGVsZWdhdGUuamF2YSwKCWdudS9DT1JCQS9maXhlZFR5cGVDb2RlLmphdmEsCglnbnUvQ09SQkEvZ2VuZXJhbFR5cGVDb2RlLmphdmEsCglnbnUvQ09SQkEvaG9sZGVyRmFjdG9yeS5qYXZhLAoJZ251L0NPUkJBL3JlY29yZFR5cGVDb2RlLmphdmEsCglnbnUvQ09SQkEvcmVjdXJzaXZlVHlwZUNvZGUuamF2YSwKCWdudS9DT1JCQS9zdHJpbmdUeXBlQ29kZS5qYXZhLAoJZ251L0NPUkJBL0Nvbm5lY3RlZF9vYmplY3RzLmphdmEsCglnbnUvQ09SQkEvQnl0ZUFycmF5Q29tcGFyYXRvci5qYXZhLAoJZ251L0NPUkJBL2JpbmFyeVJlcGx5LmphdmEsCglnbnUvQ09SQkEvdHlwZU5hbWVyLmphdmEsCglnbnUvQ09SQkEvc3RyZWFtUmVxdWVzdC5qYXZhLAoJZ251L0NPUkJBL3N0dWJGaW5kZXIuamF2YSwKCWdudS9DT1JCQS9idWZmZXJlZFJlc3BvbnNlSGFuZGxlci5qYXZhLAoJZ251L0NPUkJBL0V4Y2VwdGlvbkNyZWF0b3IuamF2YSwKCWdudS9DT1JCQS9PYmplY3RDcmVhdG9yLmphdmEsCglnbnUvQ09SQkEvYWxpYXNUeXBlQ29kZS5qYXZhOiBOZXcgZmlsZXMuCgkqIG9yZy9vbWcvQ09SQkEvVGVzdENvbnRleHRMaXN0LmphdmEsCglnbnUvQ09SQkEvQ0RSL3Rlc3RCaW5hcnlJTy5qYXZhOiBOZXcgdGVzdHMuCgkqIGdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL3NuQ29udmVydGVyLmphdmEsCglnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9FeHQuamF2YSwKCWdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL2NtcE5hbWVDb21wb25lbnQuamF2YSwKCWdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL1RyYW5zaWVudENvbnRleHQuamF2YSwKCWdudS9DT1JCQS9OYW1pbmdTZXJ2aWNlL05hbWluZ01hcC5qYXZhLAoJZ251L0NPUkJBL05hbWluZ1NlcnZpY2UvQmluZGluZ19pdGVyYXRvcl9pbXBsLmphdmEsCglnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9OYW1pbmdTZXJ2aWNlVHJhbnNpZW50LmphdmEsCglnbnUvQ09SQkEvTmFtaW5nU2VydmljZS9OYW1lVmFsaWRhdG9yLmphdmE6IE5ldyBmaWxlcy4KCSogZ251L0NPUkJBL0NEUi9hbGlnbmluZ0lucHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvQ0RSL2FsaWduaW5nT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvQ09SQkEvQ0RSL2Nkck91dHB1dC5qYXZhLAoJZ251L0NPUkJBL0NEUi9jZHJJbnB1dC5qYXZhLAoJZ251L0NPUkJBL0NEUi9jZHJCdWZPdXRwdXQuamF2YSwKCWdudS9DT1JCQS9DRFIvZW5jYXBzdWxhdGVkT3V0cHV0LmphdmEsCglnbnUvQ09SQkEvQ0RSL2NkckJ1ZklucHV0LmphdmEsCglnbnUvQ09SQkEvQ0RSL3Rlc3RCaW5hcnlJTy5qYXZhOiBOZXcgZmlsZXMuCgkqIG9yZy9vbWcvQ09SQkEvU3RyaW5nSG9sZGVyLmphdmEsCgkqIG9yZy9vbWcvQ09SQkEvU3RyaW5nU2VxSGVscGVyLmphdmEsCgkqIG9yZy9vbWcvQ09SQkEvU3RyaW5nU2VxSG9sZGVyLmphdmE6IFJlYWQgYW5kIHdyaXRlIHN0cmluZywKCW5vdCB3c3RyaW5nIGFuZCB1c2Ugc3RyaW5nVHlwZUNvZGUuCgkqIG9yZy9vbWcvQ09SQkEvQW55LmphdmE6IEFkZGluZyBzZXJpYWxWZXJzaW9uVUlELgoJKiBvcmcvb21nL0NPUkJBL0ZpeGVkSG9sZGVyOiBVc2UgZml4ZWRUeXBlQ29kZS4KCSogb3JnL29tZy9DT1JCQS9VTktOT1dOLmphdmE6IE1ha2luZyBjb25zdHJ1Y3RvcnMgcHVibGljLgoJKiBvcmcvb21nL0NPUkJBL1VzZXJFeGNlcHRpb24uamF2YTogSW5oZXJpdCAKCWZyb20gb3JnLm9tZy5DT1JCQS5wb3J0YWJsZS5JRExFbnRpdHkuCgkqIG9yZy9vbWcvQ09SQkEvT1JCLmphdmEsCglvcmcvb21nL0NPUkJBL09iamVjdC5qYXZhOiBSZXBsYWNpbmcgZW1wdHkgY2xhc3MgCglkZWNsYXJhdGlvbnMgd2l0aCBpbXBsZW1lbnRhdGlvbi4KCSogZ251L0NPUkJBL3ByaW1pdGl2ZVR5cGVDb2RlLmphdmE6IEV4Y2VwdGlvbiBmaXhlcy4KCSogZ251L0NPUkJBL3ByaW1pdGl2ZUFycmF5VHlwZUNvZGUuamF2YTogQWRkaW5nIGV4dHJhCglwYXJhbWV0ZXIgaW4gY29uc3RydWN0b3IuCgkqIGdudS9DT1JCQS9HSU9QL0NhbmNlbEhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvRXJyb3JNZXNzYWdlLmphdmEsCglnbnUvQ09SQkEvR0lPUC9NZXNzYWdlSGVhZGVyLmphdmEsCglnbnUvQ09SQkEvR0lPUC9SZXBseUhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvUmVxdWVzdEhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvU2VydmljZUNvbnRleHQuamF2YSwKCWdudS9DT1JCQS9HSU9QL2N4Q29kZVNldC5qYXZhLAoJZ251L0NPUkJBL0dJT1AvQ2hhclNldHNfT1NGLmphdmEsCglnbnUvQ09SQkEvR0lPUC92MV8wL0NhbmNlbEhlYWRlci5qYXZhLAoJZ251L0NPUkJBL0dJT1AvdjFfMC9SZXF1ZXN0SGVhZGVyLmphdmEsCglnbnUvQ09SQkEvR0lPUC92MV8wL1JlcGx5SGVhZGVyLmphdmEsCglnbnUvQ09SQkEvR0lPUC92MV8yL1JlcXVlc3RIZWFkZXIuamF2YSwKCWdudS9DT1JCQS9HSU9QL3YxXzIvUmVwbHlIZWFkZXIuamF2YTogTmV3IGZpbGVzLgoJb3JnL29tZy9Db3NOYW1pbmcvX05hbWluZ0NvbnRleHRTdHViLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9fTmFtaW5nQ29udGV4dEltcGxCYXNlLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nSGVscGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nTGlzdEhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtZUNvbXBvbmVudEhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtZUhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvQmluZGluZ1R5cGVIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL0JpbmRpbmdJdGVyYXRvckhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvX05hbWluZ0NvbnRleHRFeHRTdHViLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0RXh0LmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0RXh0SGVscGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0RXh0SG9sZGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0RXh0T3BlcmF0aW9ucy5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvX05hbWluZ0NvbnRleHRFeHRJbXBsQmFzZS5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dE9wZXJhdGlvbnMuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHQuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWVDb21wb25lbnQuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL0JpbmRpbmdJdGVyYXRvci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvX0JpbmRpbmdJdGVyYXRvclN0dWIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL0JpbmRpbmcuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL0JpbmRpbmdUeXBlLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nSXRlcmF0b3JIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL0JpbmRpbmdMaXN0SG9sZGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nSG9sZGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9CaW5kaW5nVHlwZUhvbGRlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtZUNvbXBvbmVudEhvbGRlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtZUhvbGRlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dEhvbGRlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvX0JpbmRpbmdJdGVyYXRvckltcGxCYXNlLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9wYWNrYWdlLmh0bWwsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0RXh0UGFja2FnZS9JbnZhbGlkQWRkcmVzcy5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dEV4dFBhY2thZ2UvSW52YWxpZEFkZHJlc3NIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRFeHRQYWNrYWdlL3BhY2thZ2UuaHRtbCwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRFeHRQYWNrYWdlL0FkZHJlc3NIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRFeHRQYWNrYWdlL1VSTFN0cmluZ0hlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dEV4dFBhY2thZ2UvU3RyaW5nTmFtZUhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dEV4dFBhY2thZ2UvSW52YWxpZEFkZHJlc3NIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL05vdEVtcHR5LmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9Ob3RGb3VuZC5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvTm90Rm91bmRSZWFzb24uamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL05vdEZvdW5kUmVhc29uSG9sZGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9Ob3RGb3VuZEhvbGRlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvTm90RW1wdHlIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL0FscmVhZHlCb3VuZEhvbGRlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvQ2Fubm90UHJvY2VlZEhvbGRlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvSW52YWxpZE5hbWVIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL0Nhbm5vdFByb2NlZWQuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL0ludmFsaWROYW1lLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9BbHJlYWR5Qm91bmQuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL05vdEZvdW5kSGVscGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9Ob3RFbXB0eUhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvQWxyZWFkeUJvdW5kSGVscGVyLmphdmEsCglvcmcvb21nL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0UGFja2FnZS9JbnZhbGlkTmFtZUhlbHBlci5qYXZhLAoJb3JnL29tZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dFBhY2thZ2UvTm90Rm91bmRSZWFzb25IZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL0Nhbm5vdFByb2NlZWRIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ29zTmFtaW5nL05hbWluZ0NvbnRleHRQYWNrYWdlL3BhY2thZ2UuaHRtbDogTmV3IGZpbGVzLgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL05hbWluZ1NlcnZpY2UvRGVtby5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9TaW1wbGVDb21tdW5pY2F0aW9uL0RlbW8uamF2YSwKCWV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvU2ltcGxlQ29tbXVuaWNhdGlvbi9jb21TZXJ2ZXIuamF2YSwKCWV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvU2ltcGxlQ29tbXVuaWNhdGlvbi9jb21tdW5pY2F0aW9uL3Bhc3NUaGlzSGVscGVyLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vY29tbXVuaWNhdGlvbi9wYXNzVGhpc0hvbGRlci5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9TaW1wbGVDb21tdW5pY2F0aW9uL2NvbW11bmljYXRpb24vcmV0dXJuVGhpcy5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9TaW1wbGVDb21tdW5pY2F0aW9uL2NvbW11bmljYXRpb24vcGFzc1RoaXMuamF2YSwKCWV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvU2ltcGxlQ29tbXVuaWNhdGlvbi9jb21tdW5pY2F0aW9uL3JldHVyblRoaXNIZWxwZXIuamF2YSwKCWV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvU2ltcGxlQ29tbXVuaWNhdGlvbi9jb21tdW5pY2F0aW9uL3JldHVyblRoaXNIb2xkZXIuamF2YSwKCWV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvU2ltcGxlQ29tbXVuaWNhdGlvbi9jb21tdW5pY2F0aW9uL0RpcmVjdFRlc3QuamF2YSwKCWV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvQ09SQkEvU2ltcGxlQ29tbXVuaWNhdGlvbi9jb21tdW5pY2F0aW9uL1JlcXVlc3RUZXN0LmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vY29tbXVuaWNhdGlvbi9jb21TZXJ2YW50LmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vY29tbXVuaWNhdGlvbi9vdXJVc2VyRXhjZXB0aW9uLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vY29tbXVuaWNhdGlvbi9ub2RlLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vY29tbXVuaWNhdGlvbi9ub2RlSGVscGVyLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vY29tbXVuaWNhdGlvbi9ub2RlSG9sZGVyLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vY29tbXVuaWNhdGlvbi9fY29tVGVzdGVyU3R1Yi5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9TaW1wbGVDb21tdW5pY2F0aW9uL2NvbW11bmljYXRpb24vb3VyVXNlckV4Y2VwdGlvbkhlbHBlci5qYXZhLAoJZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9DT1JCQS9TaW1wbGVDb21tdW5pY2F0aW9uL2NvbW11bmljYXRpb24vX2NvbVRlc3RlckltcGxCYXNlLmphdmEsCglleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL0NPUkJBL1NpbXBsZUNvbW11bmljYXRpb24vY29tbXVuaWNhdGlvbi9jb21UZXN0ZXIuamF2YTogCglOZXcgSUlPUCAoQ09SQkEpIGV4YW1wbGVzLgoKMjAwNS0wNS0xNCAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9kb20vRG9tRG9jdW1lbnRCdWlsZGVyLmphdmEsCgkgIGdudS94bWwvZG9tL3RyYW5zZm9ybS9YU0xVcmlSZXNvbHZlci5qYXZhOiBIYW5kbGUgdW5xdWFsaWZpZWQKICAgICAgICByZWxhdGl2ZSBVUkxzLgoJKiBnbnUveG1sL2RvbS9scy9TQVhFdmVudFNpbmsuamF2YTogSWdub3JlIFhNTCBlbnRpdGllcyBpbiBzdGFydC8KCWVuZCBlbnRpdHkgY2FsbGJhY2tzLgoKMjAwNS0wNS0xMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pEaWFsb2cuamF2YQoJKHNldERlZmF1bHRDbG9zZU9wZXJhdGlvbik6IERvbid0IHRocm93IGFuIElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbgoJYnV0IGluc3RlYWQgYWNjZXB0IGlsbGVnYWwgdmFsdWVzIGFzIERPX05PVEhJTkdfT05fQ0xPU0UuCgoyMDA1LTA1LTEzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhCgkoY3JlYXRlTWVzc2FnZUFyZWEpOiBFbmFibGVkIGlucHV0IGNvbXBvbmVudHMgdG8gYmUgdXNlZAoJaW4gT3B0aW9uUGFuZXMuCgoyMDA1LTA1LTEzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Byb2dyZXNzQmFyVUkuamF2YQoJKGdldFByZWZlcnJlZFNpemUpOiBDaGFuZ2VkIGltcGxlbWVudGF0aW9uIHNvIHRoYXQgZ2V0R3JhcGhpY3MoKQoJaXMgbm90IHVzZWQgKHRoaXMgdHJpZ2dlcnMgYSBOUEUpLgoKMjAwNS0wNS0xMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1Njcm9sbFBhbmVMYXlvdXQuamF2YQoJKGdldFZpZXdwb3J0Qm9yZGVyQm91bmRzKTogRG9jdW1lbnRlZCBtZXRob2RzLgoKMjAwNS0wNS0xMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1JlcGFpbnRNYW5hZ2VyLmphdmE6CgkoZ2V0Vm9sYXRpbGVPZmZzY3JlZW5CdWZmZXIpOiBBZGRlZCBtZXRob2RzLgoKMjAwNS0wNS0xMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhOgoJUmVtb3ZlZCBzdXBlcmZsdW91cyBzZW1pY29sb24uCgoyMDA1LTA1LTEzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKEJ1dHRvbkNoYW5nZUxpc3RlbmVyKTogQWRkZWQgdGhpcyBpbm5lciBjbGFzcy4KCjIwMDUtMDUtMTMgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShyZXF1ZXN0Rm9jdXMpOiBBZGRlZCBtZXRob2QuCgkocmVxdWVzdEZvY3VzKGJvb2xlYW4pKTogQWRkZWQgbWV0aG9kLgoJKHJlcXVlc3RGb2N1c0luV2luZG93KTogQWRkZWQgbWV0aG9kLgoJKGFkZE5vdGlmeSk6IEFkZGVkIG1ldGhvZC4KCShyZW1vdmVOb3RpZnkpOiBBZGRlZCBtZXRob2QuCgkoY29udGFpbnMpOiBBZGRlZCBtZXRob2QuCgkoZGlzYWJsZSk6IEFkZGVkIG1ldGhvZC4KCShlbmFibGUpOiBBZGRlZCBtZXRob2QuCgkoZ2V0R3JhcGhpY3MpOiBBZGRlZCBtZXRob2QuCgkoZ2V0WCk6IEFkZGVkIG1ldGhvZC4KCShnZXRZKTogQWRkZWQgbWV0aG9kLgoJKGdldEhlaWdodCk6IEFkZGVkIG1ldGhvZC4KCShnZXRXaWR0aCk6IEFkZGVkIG1ldGhvZC4KCShnZXRQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKTogQWRkZWQgbWV0aG9kLgoJKHByaW50KTogQWRkZWQgbWV0aG9kLgoJKHByaW50QWxsKTogQWRkZWQgbWV0aG9kLgoJKHByaW50Q29tcG9uZW50KTogQWRkZWQgbWV0aG9kLgoJKHByaW50Q2hpbGRyZW4pOiBBZGRlZCBtZXRob2QuCgkocHJpbnRCb3JkZXIpOiBBZGRlZCBtZXRob2QuCgkocHJvY2Vzc01vdXNlTW90aW9uRXZlbnQpOiBBZGRlZCBtZXRob2QuCgkocmVzaGFwZSk6IEFkZGVkIG1ldGhvZC4KCjIwMDUtMDUtMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1wbGVzL3N3aW5nL0RlbW8uamF2YToKCUFkZGVkIGEgSlRhYmxlIGV4YW1wbGUuCgoyMDA1LTA1LTEyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9EZW1vLmphdmE6CglBZGRlZCBFeGFtcGxlcyBtZW51IHRvIG1lbnUgYmFyLgoJU2xpZ2h0bHkgY2hhbmdlZCB0aGUgbGF5b3V0IG9mIHRoZSBtYWluIHBhbmVsIHNvIHRoYXQgYW4gb3ZlcmxlbmdodHkKCWJ1dHRvbiBwYW5lbCBhdCB0aGUgYm90dG9tIGlzIGRpc3BsYXllZCBpbiBhIHVzZWZ1bCB3YXkuCgoyMDA1LTA1LTEyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9EZW1vLmphdmE6CglBZGRlZCBleGFtcGxlcyBmb3IgSkVkaXRvclBhbmUgYW5kIEpUcmVlLgoKMjAwNS0wNS0xMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvRGVmYXVsdE1lbnVMYXlvdXQuamF2YToKCUFkZGVkIHRoaXMgY2xhc3MuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQb3B1cE1lbnVVSS5qYXZhCgkoaW5zdGFsbFVJKTogVXNlIHRoZSBuZXcgRGVmYXVsdE1lbnVMYXlvdXQgaW5zdGVhZCBvZiBHcmlkQmFnTGF5b3V0LgoKMjAwNS0wNS0xMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0Q2VsbEVkaXRvci5qYXZhCgkoY29uc3RydWN0b3IpOiBJbXBsZW1lbnRlZC4KCShpc0NlbGxFZGl0YWJsZSk6IEltcGxlbWVudGVkLgoJKHNob3VsZFNlbGVjdENlbGwpOiBJbXBsZW1lbnRlZC4KCShzdG9wQ2VsbEVkaXRpbmcpOiBJbXBsZW1lbnRlZC4KCShjYW5jZWxDZWxsRWRpdGluZyk6IEltcGxlbWVudGVkLgoKMjAwNS0wNS0xMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0Q2VsbEVkaXRvci5qYXZhOgoJRG9jdW1lbnRlZCB0aGlzIGNsYXNzLgoKMjAwNS0wNS0xMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0Q2VsbEVkaXRvci5qYXZhOgoJUmVmb3JtYXR0ZWQgdGhpcyBmaWxlIHRvIG91ciBjb2Rpbmcgc3R5bGUuCgoyMDA1LTA1LTExICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhCgkoY3JlYXRlU2VwYXJhdG9yKTogSW1wbGVtZW50ZWQuIFJldHVybnMgYSB2ZXJ0aWNhbCBzZXBhcmF0b3Igd2l0aAoJYSBoZWlnaHQgb2YgMTcgcGl4ZWxzIGFzIHJlY29tbWVuZGVkIGluIHRoZSBib29rIEphdmEgTG9vayAmIEZlZWwKCURlc2lnbiBHdWlkZWxpbmVzLgoJKGluc3RhbGxDb21wb25lbnRzKTogQWRkZWQgYW4gZW1wdHkgYm9yZGVyIGFyb3VuZCB0aGUgZGlhbG9nLgoKMjAwNS0wNS0xMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvVmlldy5qYXZhCgkoaW5zZXJ0VXBkYXRlKSBSZW1vdmVkIGEgZGVidWcgcHJpbnRsbiBzdGF0ZW1lbnQuCgoyMDA1LTA1LTExICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoUm9vdFZpZXcuaW5zZXJ0VXBkYXRlKTogQWRkZWQuIEZvcndhcmRzIHRoZSB1cGRhdGUgdG8gdGhlIHJlYWwKCXJvb3Qgdmlldy4KCShSb290Vmlldy5yZW1vdmVVcGRhdGUpOiBBZGRlZC4gRm9yd2FyZHMgdGhlIHVwZGF0ZSB0byB0aGUgcmVhbAoJcm9vdCB2aWV3LgoJKFJvb3RWaWV3LmNoYW5nZWRVcGRhdGUpOiBBZGRlZC4gRm9yd2FyZHMgdGhlIHVwZGF0ZSB0byB0aGUgcmVhbAoJcm9vdCB2aWV3LgoJKERvY3VtZW50SGFuZGxlcik6IEFkZGVkLiBSZWNlaXZlcyBEb2N1bWVudEV2ZW50cyBhbmQgZm9yd2FyZHMKCXRoZW0gdG8gdGhlIGNvcnJlc3BvbmRpbmcgVmlldyBtZXRob2RzLgoJKGluc3RhbGxEb2N1bWVudExpc3RlbmVycyk6IEluc3RhbGxzIERvY3VtZW50IGxpc3RlbmVycyBvbiB0aGUKCXRleHQgY29tcG9uZW50J3MgZG9jdW1lbnQgbW9kZWwuCgkqIGphdmF4L3N3aW5nL3BsYWYvdGV4dC9GaWVsZFZpZXcuamF2YQoJKGFkanVzdEFsbG9jYXRpb24pOiBBZGRlZC4gQWRqdXN0cyB0aGUgdmlldyBhcmVhIHNvIHRoYXQgdGhlCglpbnB1dCBsaW5lIGlzIGNlbnRlcmVkIHZlcnRpY2FsbHkgYW5kIGNvcnJlY3RseSBhbGlnbmVkIGhvcml6b250YWxseS4KCShtb2RlbFRvVmlldyk6IENhbGwgYWRqdXN0QWxsb2NhdGlvbiBiZWZvcmUgY2FsbCB0bwoJc3VwZXIubW9kZWxUb1ZpZXcoLi4pLgoJKHBhaW50KTogQ2FsbCBhZGp1c3RBbGxvY2F0aW9uIGJlZm9yZSBjYWxsIHRvIHN1cGVyLnBhaW50KC4uKS4KCShpbnNlcnRVcGRhdGUpOiBBZGRlZC4gQ2FsbHMgYWRqdXN0QWxsb2NhdGlvbiBiZWZvcmUgY2FsbCB0bwoJc3VwZXIuaW5zZXJ0VXBkYXRlKC4uKS4KCShyZW1vdmVVcGRhdGUpOiBBZGRlZC4gQ2FsbHMgYWRqdXN0QWxsb2NhdGlvbiBiZWZvcmUgY2FsbCB0bwoJc3VwZXIucmVtb3ZlVXBkYXRlKC4uKS4KCShjaGFuZ2VkVXBkYXRlKTogQWRkZWQuIENhbGxzIGFkanVzdEFsbG9jYXRpb24gYmVmb3JlIGNhbGwgdG8KCXN1cGVyLmNoYW5nZWRVcGRhdGUoLi4pLgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmE6CglSZW1vdmVkIFJlcGFpbnRMaXN0ZW5lci4gVGhpcyBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCBzaG91bGQKCWluc3RlYWQgYmUgaGFuZGxlZCBieSB0aGUgdGV4dCBjb21wb25lbnQncyBWaWV3LgoJKiBqYXZheC9zd2luZy9wbGFmL3RleHQvVmlldy5qYXZhCgkocGFpbnQpOiBJZiBwYXJlbnQgaXMgbnVsbCwgd2Ugc3RpbGwgbmVlZCB0byBtYWtlIHN1cmUgdGhlCgl0ZXh0IGNvbXBvbmVudCBpcyB1cGRhdGVkIHRocm91Z2ggY2FsbGluZyByZXZhbGlkYXRlKCkuCgkoaW5zZXJ0VXBkYXRlKTogQWRkZWQuIFJlY2VpdmUgbm90aWZpY2F0aW9uIGFib3V0IGNoYW5nZXMgaW4gdGhlCgl0ZXh0IGRvY3VtZW50IG1vZGVsLgoJKHJlbW92ZVVwZGF0ZSk6IEFkZGVkLiBSZWNlaXZlIG5vdGlmaWNhdGlvbiBhYm91dCBjaGFuZ2VzIGluIHRoZQoJdGV4dCBkb2N1bWVudCBtb2RlbC4KCShjaGFuZ2VkVXBkYXRlKTogQWRkZWQuIFJlY2VpdmUgbm90aWZpY2F0aW9uIGFib3V0IGNoYW5nZXMgaW4gdGhlCgl0ZXh0IGRvY3VtZW50IG1vZGVsLgoJKHVwZGF0ZUNoaWxkcmVuKTogQWRkZWQuIFVwZGF0ZXMgdGhlIGxpc3Qgb2YgY2hpbGQgVmlld3MgYWZ0ZXIKCXRleHQgaGFzIGJlZW4gbW9kaWZpZWQuCgkoZm9yd2FyZFVwZGF0ZSk6IEFkZGVkLiBGb3J3YXJkcyB0aGUgdXBkYXRlIG5vdGlmaWNhdGlvbiB0byB0aGUKCWNoaWxkIFZpZXdzLgoJKGZvcndhcmRVcGRhdGVUb1ZpZXcpOiBBZGRlZC4gQWN0dWFsbHkgcGVyZm9ybXMgdGhlIGZvcndhcmRpbmcgb2YKCXVwZGF0ZSBldmVudHMuCgkodXBkYXRlTGF5b3V0KTogQWRkZWQuIE1ha2VzIHN1cmUgdGhhdCB0aGUgZGlzcGxheSBpcyBpbiBzeW5jIHdpdGgKCXRoZSBtb2RlbC4KCjIwMDUtMDUtMTEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShjcmVhdGVEZWZhdWx0TW9kZWwpOiBDcmVhdGUgYW5kIHJldHVybiBhIHN1YmNsYXNzIG9mIFBsYWluRG9jdW1lbnQKCXRvIGFsbG93IG5ld2xpbmVzIHRvIGJlIHN3YWxsb3dlZC4KCjIwMDUtMDUtMTEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9mYXEvZmFxLndtbDogVXBkYXRlIGxvb2tpbmcgYXQgcHJvcHJpZXRhcnkgc291cmNlCgljb2RlIGVudHJ5LgoKMjAwNS0wNS0xMCAgRGF2aWQgRGFuZXkgIDxkZGFuZXlAYXZ0cmV4LmNvbT4KCgkqIGphdmEvdXRpbC9CaXRTZXQuamF2YSAoZ2V0KGludCwgaW50KSk6IEZpeCBicmVha2FnZSB3aGVuCglyZXF1ZXN0ZWQgc2V0IGRvZXNuJ3Qgc3RhcnQgb24gYSBtdWx0aXBsZSBvZiA2NC4KCjIwMDUtMDUtMTAgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYyAoQ0xBU1NQQVRIX0lOQ0xVREVTKTogUmVtb3ZlIHF1b3RlcyBpbiBjaGVja2luZwoJbWVzc2FnZXMuCgoyMDA1LTA1LTEwICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9sYW5nL0NsYXNzTG9hZGVyLmphdmEKCShkZWZhdWx0R2V0U3lzdGVtQ2xhc3NMb2FkZXIpOiBSZWZhY3RvcmVkIGluIHRocmVlIG5ldyBtZXRob2RzLgoJKGNyZWF0ZUV4dENsYXNzTG9hZGVyLCBjcmVhdGVTeXN0ZW1DbGFzc0xvYWRlciwKCWNyZWF0ZUF1eGlsaWFyeVN5c3RlbUNsYXNzTG9hZGVyKTogTmV3IG1ldGhvZHMuCgoyMDA1LTA1LTA2ICBSb2JlcnQgU2NodXN0ZXIgIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogamF2YS9hd3QvRnJhbWUuamF2YToKCShzZXRVbmRlY29yYXRlZCk6IFRvZ2dsZWQgYm9vbGVhbiBleHByZXNzaW9uLgoKMjAwNS0wNS0wNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCVJlcG9ydGVkIGJ5IEthbGxlIE9sYXZpIE5pZW1pdGFsbyA8a29uQGlraS5maT4uCglXb3JrYXJvdW5kIGZvciBnY2ogYnVnICMyMTQxOAoJKiBsaWIvZ2VuLWNsYXNzbGlzdC5zaC5pbjogU2V0IExDX0FMTCBhbmQgTEFORyB0byBDLiBTb3J0IHJlc3VsdCBvZgoJZmluZC4KCjIwMDUtMDUtMDYgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkoZ2V0UHJlZmVycmVkU3Bhbik6IENvcnJlY3RlZCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIHNwYW4gb2YKCXRoZSB2aWV3LgoKMjAwNS0wNS0wNSAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC90cmFuc2Zvcm0vU3RyZWFtU2VyaWFsaXplci5qYXZhOiBQcm9kdWNlIGNvbXBhY3QsCglodW1hbi1yZWFkYWJsZSBYTUwgZm9yIG5vbi1VVEYvQVNDSUkgZW5jb2RpbmdzIHVzaW5nIE5JTy4KCjIwMDUtMDUtMDQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvYXd0L0J1ZmZlckNhcGFiaWxpdGllcy5qYXZhIChCdWZmZXJDYXBhYmlsaXRpZXMpOiBNYWtlCglkb2N1bWVudGF0aW9uIG9mIGFyZ3VtZW50cyBtYXRjaCBjb2RlLgoKMjAwNS0wNS0wNCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvQnVmZmVyU3RyYXRlZ3kuamF2YTogRG9jdW1lbnQuCgoJKiBqYXZhL2F3dC9CdWZmZXJDYXBhYmlsaXRpZXMuamF2YTogRG9jdW1lbnQuCgoyMDA1LTA1LTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL25pby9jaGFubmVscy9GaWxlTG9jay5qYXZhICh0b1N0cmluZyk6IEVudGlyZWx5IGF2b2lkCglTdHJpbmcgIisiLgoKMjAwNS0wNS0wNCAgQW5kcmV3IE92ZXJob2x0ICA8b3ZlcmhvbHRAcmVkaGF0LmNvbT4KCgkqIGphdmEvbmlvL2NoYW5uZWxzL0ZpbGVMb2NrLmphdmEgKHRvU3RyaW5nKTogUmUtaW1wbGVtZW50IHVzaW5nCglTdHJpbmdCdWZmZXIuCgoyMDA1LTA1LTA0ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9JbWFnZUNhcGFiaWxpdGllcy5qYXZhOiBEb2N1bWVudC4KCgkqIGphdmEvYXd0L2ltYWdlL1ZvbGF0aWxlSW1hZ2UuamF2YTogVW5pbmRlbnQgY29weXJpZ2h0IGhlYWRlci4KCjIwMDUtMDUtMDQgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkoZHJhd1Vuc2VsZWN0ZWRUZXh0KTogQ2FsbCBVdGlsaXRpZXMuZHJhd1RhYmJlZFRleHQoKSB3aXRoIGNvcnJlY3QKCW9mZnNldCBwYXJhbWV0ZXIuCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmEKCShkcmF3VGFiYmVkVGV4dCk6IEluaXRpbGlhbGl6ZSBsb2NhbCB2YXJpYWJsZSBwb3MgY29ycmVjdGx5LgoKMjAwNS0wNS0wNCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkoTGVhZkVsZW1lbnQpOiBNYWRlIHN0YXJ0IGFuZCBlbmQgcGFja2FnZSBwcml2YXRlIGZpZWxkcyBmb3IKCWVmZmVjdGl2ZSByZWluZGV4aW5nLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluRG9jdW1lbnQuamF2YQoJKGNvbnN0cnVjdG9yKTogVGhlIGZpZWxkIHJvb3RFbGVtZW50IGlzIGFsd2F5cyBCcmFuY2hFbGVtZW50LAoJc28gd2UgaGFuZGxlIGl0CWFzIHN1Y2guCgkocmVtb3ZlVXBkYXRlKTogUmV3cml0dGVuIHJlaW5kZXhpbmcgZm9yIHJlbW92ZVVwZGF0ZSBzbyB0aGF0Cgl0aGUgYWN0dWFsIHJlbW92YWwgaXMgdGFrZW4gaW50byBhY2NvdW50LgoKMjAwNS0wNS0wMyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvVm9sYXRpbGVJbWFnZS5qYXZhOiBEb2N1bWVudC4KCjIwMDUtMDUtMDMgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jCgkoaW5pdF9nbGliX3RocmVhZHMpOiBDaGVjayBpZiB0aHJlYWRpbmcgc3lzdGVtIGlzIGFscmVhZHkKCWluaXRpYWxpemVkLgoKMjAwNS0wNS0wMyAgQW5kcmV3IE92ZXJob2x0ICA8b3ZlcmhvbHRAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL25pby9jaGFubmVscy9GaWxlQ2hhbm5lbEltcGwuamF2YTogUmV0dXJuIG51bGwgaWYgbG9jawoJY291bGQgbm90IGJlIGFjcXVpcmVkLgoJKiBqYXZhL25pby9jaGFubmVscy9GaWxlTG9jay5qYXZhICh0b1N0cmluZyk6IFJlLWltcGxlbWVudCB0byBiZQoJaW4gbGluZSB3aXRoIG90aGVyIGltcGxlbWVudGF0aW9ucy4KCjIwMDUtMDUtMDMgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0dhcENvbnRlbnQuamF2YToKCVJlbW92ZWQgZGVidWdnaW5nIG91dHB1dCBzdHVmZiwgd2hpY2ggSSBhY2NpZGVudGFsbHkgbGVmdCBpbi4KCjIwMDUtMDUtMDMgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0dhcENvbnRlbnQuamF2YToKCUltcGxlbWVudGVkIGEgcmVhbCBHYXBDb250ZW50LiBPbmx5IHRoZSBwdWJsaWMgbWV0aG9kcyBoYXZlCgliZWVuIGltcGxlbWVudGVkIHNvIGZhciBhbmQgc3RpbGwgbm8gVW5kb2FibGVFZGl0IHN1cHBvcnQuCgoyMDA1LTA1LTAyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS90ZXh0L0RlY2ltYWxGb3JtYXQuamF2YQoJKGhhc2hDb2RlKTogUmVpbXBsZW1lbnRlZCBhbmQgYWRkZWQgQVBJIGRvY3MuCgoyMDA1LTA1LTAyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogbGliL01ha2VmaWxlLmFtOiBEZWxldGUgQ1ZTIGRpcmVjdG9yaWVzIGFuZCAuY3ZzaWdub3JlIGZpbGVzCglmb3IgcmVzb3VyY2VzIHdlIGNvcHkgaW50byB0aGUgcmVsZWFzZSB0YXJiYWxsLgoKMjAwNS0wNS0wMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogLmNsYXNzcGF0aDogVXBkYXRlZC4KCSogLnByb2plY3Q6IEFkZGVkIG5ldyBidWlsZGVycy4KCSogLmV4dGVybmFsVG9vbEJ1aWxkZXJzL0F1dG9nZW4ubGF1bmNoOiBOZXcgZmlsZS4KCSogLmV4dGVybmFsVG9vbEJ1aWxkZXJzL0NvbmZpZ3VyZS5sYXVuY2g6IE5ldyBmaWxlLgoJKiAuc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LmNvcmUucHJlZnM6IE5ldyBmaWxlLgoJKiAuc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LnVpLnByZWZzOiBOZXcgZmlsZS4KCjIwMDUtMDUtMDEgIEFuZHJlYXMgVG9ibGVyICA8dG9hQHBvcC5hZ3JpLmNoPgoKCSogYXV0b2dlbi5zaDogVXNlIGdsaWJ0b29saXplIG9uIERhcndpbi4KCjIwMDUtMDUtMDEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzogU2V0IHZlcnNpb24gdG8gMC4xNStjdnMuCgoJKiBkb2Mvd3d3LmdudS5vcmcvYW5ub3VuY2UvMjAwNTA0Mjkud21sOiBOZXcgZmlsZS4KCSogZG9jL3d3dy5nbnUub3JnL25ld3NpdGVtcy50eHQ6IEFkZCBhbm5vdW5jZW1lbnQuCgkqIGRvYy93d3cuZ251Lm9yZy9kb3dubG9hZHMvZG93bmxvYWRzLndtbDogQWRkIDAuMTUgZG93bmxvYWQuCgoyMDA1LTA1LTAxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBORVdTOiBBZGQgMC4xNSByZWxlYXNlIGRhdGUgYW5kIG5ldyBmZWF0dXJlcy4KCSogY29uZmlndXJlLmFjOiBTZXQgdmVyc2lvbiB0byAwLjE1LgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jOgoJKHdpbmRvd19kZWxldGVfY2IpOiBEb24ndCB1c2UgQysrIHN0eWxlIGNvbW1lbnRzLgoKCSogZG9jL2FwaS9NYWtlZmlsZS5hbSAoY2xlYW4pOiBSZW5hbWVkLgoJKGNsZWFuLWxvY2FsKTogUmVuYW1lZCBmcm9tIGNsZWFuLgoKMjAwNS0wNC0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhCgkoY3VycmVudExvYWRlcik6IERvbid0IGNyZWF0ZSBTZWN1cml0eU1hbmFnZXIsIGRpcmVjdGx5IGNhbGwKCVZNT2JqZWN0SW5wdXRTdHJlYW0uY3VycmVudENsYXNzTG9hZGVyKCkuCgkocmVzb2x2ZVByb3h5Q2xhc3MpOiBVc2UgY3VycmVudExvYWRlcigpLgoJKiB2bS9yZWZlcmVuY2UvamF2YS9pby9WTU9iamVjdElucHV0U3RyZWFtLmphdmEKCShjdXJyZW50Q2xhc3NMb2FkZXIoU2VjdXJpdHlNYW5hZ2VyKSk6IFJlbW92ZWQuCgkoY3VycmVudENsYXNzTG9hZGVyKTogTmV3IG1ldGhvZC4KCSogbmF0aXZlL2puaS9qYXZhLWlvL2phdmFfaW9fVk1PYmplY3RJbnB1dFN0cmVhbS5jCgkoSmF2YV9qYXZhX2lvX1ZNT2JqZWN0SW5wdXRTdHJlYW1fY3VycmVudENsYXNzTG9hZGVyKTogUmVtb3ZlZC4KCSogaW5jbHVkZS9qYXZhX2lvX1ZNT2JqZWN0SW5wdXRTdHJlYW0uaDogUmVnZW5lcmF0ZWQuCgoJKiBORVdTOiBEb2N1bWVudCBuZXcgaW50ZXJmYWNlIGFuZCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24uCgoyMDA1LTA0LTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhIChwcmVwYXJlSW1hZ2UpOiBPbmx5IHByZXBhcmUKCUd0a0ltYWdlcy4KCjIwMDUtMDQtMzAgIFJvYmVydCBTY2h1c3RlciAgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgogICAgKiBkb2MvaGFja2luZy50ZXhpbmZvOiBBZGRlZCBzZWN0aW9uIGFib3V0IGRlYWxpbmcgd2l0aAogICAgdW5yZWFsaXN0aWMgY29kZSBwYXRocy4KCjIwMDUtMDQtMzAgIFJvYmVydCBTY2h1c3RlciAgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmM6IEZpeGVkCgljb3B5cmlnaHQgaGVhZGVyLgoKMjAwNS0wNC0zMCAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYzoKCSh3aW5kb3dfZGVsZXRlX2NiKTogTWFkZSB0aGUgZnVuY3Rpb24gcmV0dXJuIFRSVUUuCgoyMDA1LTA0LTMwICBSb2JlcnQgU2NodXN0ZXIgIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogTkVXUzogRG9jdW1lbnRlZCBhYWRpdGlvbiBvZgoJImdudS5jbGFzc3BhdGguYm9vdC5saWJyYXJ5LnBhdGgiLgoKMjAwNS0wNC0yOSAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmEKCShGaWxlQ2hhbm5lbEltcGwoU3RpbmcsIGludCkpOiBSZW1vdmVkLgoJKEZpbGVDaGFubmVsSW1wbChGaWxlLCBpbnQpKSBBZGRlZC4gQ2hlY2sgaWYgb3BlbmVkIGZpbGUgaXMgYQoJZGlyZWN0b3J5LgoKCSogamF2YS9pby9GaWxlSW5wdXRTdHJlYW0uamF2YShGaWxlSW5wdXRTdHJlYW0pOiBGaXhlZCBqYXZhZG9jcy4KCUNhbGwgRmlsZUNoYW5uZWxJbXBsKEZpbGUsIGludCkuCgoJKiBqYXZhL2lvL0ZpbGVPdXRwdXRTdHJlYW0uamF2YQkoRmlsZUlucHV0U3RyZWFtKTogQ2FsbAoJRmlsZUNoYW5uZWxJbXBsKEZpbGUsIGludCkuCgoJKiBqYXZhL2lvL1JhbmRvbUFjY2Vzc0ZpbGUuamF2YSAoUmFuZG9tQWNjZXNzRmlsZSk6CglDYWxsIEZpbGVDaGFubmVsSW1wbChGaWxlLCBpbnQpLiBTd2l0Y2hlZCBjb25zdHJ1Y3RvcnMgYXJvdW5kLgoKMjAwNS0wNC0yOSAgQXVkcml1cyBNZXNrYXVza2FzICA8QXVkcml1c0FAYmx1ZXdpbi5jaD4KCgkqIG9yZy9vbWcvQ09SQkEvV1N0cmluZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9BbnlTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQm9vbGVhblNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9DaGFyU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0RvdWJsZVNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GbG9hdFNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Mb25nTG9uZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Mb25nU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL09jdGV0U2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1Nob3J0U2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1N0cmluZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VTG9uZ0xvbmdTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVUxvbmdTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVVNob3J0U2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1dDaGFyU2VxSGVscGVyLmphdmE6CglSZW1vdmluZyByZWR1bmRhbnQgb2JqZWN0IGluc3RhbnRpYXRpb24uIAoKMjAwNS0wNC0yOSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgkgICAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9uaW8vY2hhcnNldC9DaGFyc2V0LmphdmEgKGRlZmF1bHRDaGFyc2V0KTogVXNlCglTeXN0ZW1Qcm9wZXJ0aWVzLgoJKHByb3ZpZGVyKTogQ2hlY2sgZ251LmNsYXNzcGF0aC5uaW8uY2hhcnNldC5wcm92aWRlci5pY29udiBzeXN0ZW0KCXByb3BlcnR5IGFuZCByZXR1cm4gdGhlIEljb252UHJvdmlkZXIgd2hlbiBzZXQuCgoJKiBORVdTOiBEb2N1bWVudCBuZXcgY2hhcmFjdGVyIGVuY29kZXIgZnJhbWV3b3JrLgoKMjAwNS0wNC0yOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmlvL2NoYXJzZXQvQ2hhcnNldC5qYXZhCgkoZGVmYXVsdENoYXJzZXQpOiBSZWZvcm1hdHRlZC4KCjIwMDUtMDQtMjkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IVFRQQ29ubmVjdGlvbi5qYXZhOgoJKHVzZXJBZ2VudCk6IEluaXRpYWxpemUgZnJvbSBzeXN0ZW0gcHJvcGVydGllcy4KCShpbml0VXNlckFnZW50KTogUmVtb3ZlZC4KCjIwMDUtMDQtMjkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YToKCUZpeGVkIGZvcm1hdHRpbmcuCgoyMDA1LTA0LTI5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uZXQvSW5ldEFkZHJlc3MuamF2YQoJKGF0b24pOiBGaXhlZCBqYXZhZG9jLgoKMjAwNS0wNC0yOCAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIE5FV1M6IERvY3VtZW50ZWQgdGhlIEphdmEgQmVhbnMgQVBJIGZpeGVzLgoKMjAwNS0wNC0yOCAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIGphdmEvYmVhbnMvRmVhdHVyZURlc2NyaXB0b3IuamF2YToKCShnZXRTaG9ydERlc2NyaXB0aW9uKTogSW1wbGVtZW50ZWQgZmFsbGJhY2sgbWVjaGFuaXNtIGFuZCBmaXhlZAoJZG9jdW1lbnRhdGlvbiAoZml4ZXMgYnVnICMxMjYzNykuCgkoZ2V0RGlzcGxheU5hbWUpOiBEaXRvLgoKMjAwNS0wNC0yOCAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIGphdmEvYmVhbnMvSW50cm9zcGVjdG9yLmphdmE6IEZpeGVkIGJ1ZyAjMTI2MjQsIEJlYW5EZXNjcmlwdG9ycwoJd2lsbCBub3cgYmUgc2V0IGNvcnJlY3RseS4KCShmbHVzaENhY2hlcyk6IE5vdyBmbHVzaGVzIGFsbCBjYWNoZWQgaW50ZXJtZWRpYXRlIGRhdGEuCgoyMDA1LTA0LTI4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRleHRBcmVhLmphdmEKCShyZXBsYWNlUmFuZ2UpOiBSZW1vdmVkIGVycm9yIHRocm93aW5nLgoKMjAwNS0wNC0yOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvc2VjdXJpdHkvQWNjZXNzQ29udHJvbENvbnRleHQuamF2YToKCVJlZm9ybWF0dGVkLgoKMjAwNS0wNC0yOCAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogamF2YS9zZWN1cml0eS9TZWN1cml0eS5qYXZhIChTZWN1cml0eSk6IFNpbGVuY2UgdGhlIHdhcm5pbmcgYWJvdXQgbm8KCXByb3ZpZGVycyBmb3VuZCBpbiB0aGUgbm8gZGVidWcgY2FzZS4KCjIwMDUtMDQtMjggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25pby9jaGFyc2V0L0NoYXJzZXQuamF2YQoJKHByb3ZpZGVyczIpOiBSZW5hbWVkIGZyb20gJ3Byb3ZpZGVycycuCgoyMDA1LTA0LTI3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJCgkoZ2V0VGh1bWJCb3VuZHMpOiBEbyBub3QgbWFrZSB0aHVtYiBzbWFsbGVyIHRoYW4KCW1pbmltdW1UaHVtYlNpemUuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbAoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIGNvbG9yIGRlZmF1bHRzIGZvciBTY3JvbGxCYXIuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTY3JvbGxCYXJVSQoJKHBhaW50VGh1bWIpOiBBZGRlZC4KCShnZXRNaW5pbXVtVGh1bWJTaXplKTogQWRkZWQuCgoyMDA1LTA0LTI3ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9VUkwuamF2YTogUmVtb3ZlIG9yZy5tZXRhc3RhdGljLmplc3NpZSBmcm9tIGRlZmF1bHQKCXByb3RvY29sIHNlYXJjaCBwYXRoLgoKMjAwNS0wNC0yNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbAoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIHNvbWUgZGVmYXVsdCBjb2xvcnMuCgoyMDA1LTA0LTI3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEKCShjb25maWd1cmVTY3JvbGxCYXJDb2xvcnM6IENoYW5nZWQga2V5ICdTY3JvbGxCYXIudGh1bWJMaWdodFNoYWRvdycKCXRvICdTY3JvbGxCYXIudGh1bWJTaGFkb3cnLiBUaGUgZm9ybWVzIGRvZXMgbm90IGV4aXN0LgoJKHBhaW50VGh1bWIpOiBVc2UgQmFzaWNHcmFwaGljc1V0aWxzIGZvciBwYWludGluZyB0aGUgdGh1bWIuCgoyMDA1LTA0LTI3ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBqYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBVUkxDb25uZWN0aW9uLmphdmEgKGNvbm5lY3QpOiBBY2NlcHQKCWFic29sdXRlIGFuZCByZWxhdGl2ZSBwYXRocyBpbiBMb2NhdGlvbiBoZWFkZXIuCgoyMDA1LTA0LTI3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvTWVkaWFUcmFja2VyLmphdmE6IEFkZGVkIDIwMDUgdG8gY29weXJpZ2h0IHN0YXRlbWVudC4KCSogamF2YXgvc3dpbmcvQm94TGF5b3V0LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25MaXN0ZW5lci5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0dyYXBoaWNzVXRpbHMuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxQYW5lVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9Eb2N1bWVudC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L1NpbXBsZUF0dHJpYnV0ZVNldC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZVNlbGVjdGlvbk1vZGVsLmphdmE6IExpa2V3aXNlLgoKMjAwNS0wNC0yNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogYXV0b2dlbi5zaDogVXNlICctSSBtNCcuCgkqIG00L2xpYi1sZC5tNCwgbTQvbGliLWxpbmsubTQsIG00L2xpYi1wcmVmaXgubTQ6IE5ldyBmaWxlcy4KCSogbTQvcGtnLm00LCBtNC9hY2Nyb3NzLm00LCBtNC9pY29udi5tNCwgbTQvYWNpbmNsdWRlLm00OiBNb3ZlZAoJZnJvbS4uLgoJKiBwa2cubTQsIGFjY3Jvc3MubTQsIGljb252Lm00LCBhY2luY2x1ZGUubTQ6IC4uLiBoZXJlLiAgUmVtb3ZlZC4KCjIwMDUtMDQtMjYgIEx1Y2EgQmFyYmllcmkgIDxsdWNhLmJhcmJpZXJpQGdtYWlsLmNvbT4KCgkqIGdudS9qYXZhL25pby9jaGFubmVscy9GaWxlQ2hhbm5lbEltcGwuamF2YSAodHJ5TG9jayk6IFBhc3MKCSdmYWxzZScgdG8gbmF0aXZlIGxvY2soKS4KCShsb2NrKTogUGFzcyAndHJ1ZScgdG8gbmF0aXZlIGxvY2soKS4KCjIwMDUtMDQtMjYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L2ljb252L0ljb252Q2hhcnNldC5qYXZhIChuYW1lKToKCVJlbW92ZWQgdW51c2VkIGZpZWxkLgoJKEljb252Q2hhcnNldCk6IFVwZGF0ZWQuCgoyMDA1LTA0LTI2ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IVFRQVVJMQ29ubmVjdGlvbi5qYXZhOiBUaHJvdwoJRmlsZU5vdEZvdW5kRXhjZXB0aW9uIGFuZCBpbXBsZW1lbnQgZ2V0RXJyb3JTdHJlYW0gb24gNDA0LgoKMjAwNS0wNC0yNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9QYXJzZXJEZWxlZ2F0b3IuamF2YSAoY2FsbEJhY2ssCglnbnUpOiBOb3cgcGFja2FnZS1wcml2YXRlLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0RvY3VtZW50UGFyc2VyLmphdmEgKHBhcnNlciwKCWNhbGxCYWNrLCBnbnUpOiBOb3cgcGFja2FnZS1wcml2YXRlLgoJKiBqYXZheC9zd2luZy90ZXh0L1N0cmluZ0NvbnRlbnQuamF2YSAoY29udGVudCwgc2V0T2Zmc2V0LAoJY2hlY2tMb2NhdGlvbik6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YSAoZG9jKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YSAob3duZXIsCglsYXN0R29vZE9yaWVudGF0aW9uLCBvcmlnUGFyZW50LCBib3JkZXJzLCBjYWNoZWRCb3VuZHMsCgljYWNoZWRPcmllbnRhdGlvbiwgRHJhZ1dpbmRvdyk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YSAoaW5jckJ1dHRvbiwKCWRlY3JCdXR0b24sIHZpZXdwb3J0LCBwYW5lbCwgY3VycmVudFNjcm9sbExvY2F0aW9uLCBsYXlvdXRNYW5hZ2VyLAoJdGFiQXJlYVJlY3QsIGNvbnRlbnRSZWN0LCBjcmVhdGVJbmNyZWFzZUJ1dHRvbiwKCWNyZWF0ZURlY3JlYXNlQnV0dG9uLCBmaW5kUG9pbnRGb3JJbmRleCk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVEaXZpZGVyLmphdmEKCShjdXJyZW50RGl2aWRlckxvY2F0aW9uLCBtb3ZlRGl2aWRlclRvKTogTm93IHBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEgKGZpbmRDbG9zZXN0VGljayk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YQoJKGNhbGN1bGF0ZVByZWZlcnJlZFNpemUsIHZhbHVlRm9yWVBvc2l0aW9uLCB2YWx1ZUZvclhQb3NpdGlvbik6CglOb3cgcGFja2FnZS1wcml2YXRlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUG9wdXBNZW51VUkuamF2YQoJKHRvcFdpbmRvd0xpc3RlbmVyKTogTm93IHBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhIChpY29uU2l6ZSwKCU9LX1NUUklORywgWUVTX1NUUklORywgTk9fU1RSSU5HLCBDQU5DRUxfU1RSSU5HKTogTm93IGNvbnN0YW50cy4KCShtZXNzYWdlQXJlYUNvbnRhaW5lciwgYnV0dG9uQ29udGFpbmVyLCByZXNldFNlbGVjdGVkVmFsdWUpOiBOb3cKCXBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhIChkYW1hZ2VMYXlvdXQpOiBOb3cKCXBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVUaXRsZVBhbmUuamF2YSAodGl0bGUpOgoJTm93IHBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Rlc2t0b3BJY29uVUkuamF2YSAoYnV0dG9uKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmEgKGxhcmdlc3RJdGVtU2l6ZSwKCWJvcmRlckluc2V0cyk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkoYXJyb3dCdXR0b25XaWR0aCk6IExpa2V3aXNlLiAgTm93IGEgY29uc3RhbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb2xvckNob29zZXJVSS5qYXZhIChjaG9vc2VyLCBwYW5lLAoJbWFrZVRhYnMsIHVwZGF0ZVByZXZpZXdQYW5lbCk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNBcnJvd0J1dHRvbi5qYXZhIChzaGFkb3csCglkYXJrU2hhZG93LCBoaWdobGlnaHQpOiBOb3cgcGFja2FnZS1wcml2YXRlLgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdFN3YXRjaENob29zZXJQYW5lbC5qYXZhCgkoYWRkQ29sb3JUb1F1ZXVlKTogTm93IHBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0RlZmF1bHRSR0JDaG9vc2VyUGFuZWwuamF2YQoJKHNwaW5uZXJDaGFuZ2UsIHNsaWRlckNoYW5nZSwgdXBkYXRlQ2hhbmdlLCBSLCBHLCBCLCBSU3Bpbm5lciwKCUdTcGlubmVyLCBCU3Bpbm5lcik6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL2NvbG9yY2hvb3Nlci9EZWZhdWx0SFNCQ2hvb3NlclBhbmVsLmphdmEKCShncmFkaWVudEltYWdlLCB0cmFja0ltYWdlLCBzbGlkZXIsIGhSYWRpbywgc1JhZGlvLCBiUmFkaW8sCgloU3Bpbm5lciwgc1NwaW5uZXIsIGJTcGlubmVyLCBncmFkaWVudFBvaW50LCBpbnRlcm5hbENoYW5nZSwKCXNwaW5uZXJUcmlnZ2VyLCBsb2NrZWQsIGhhbmRsaW5nTW91c2UsIHVwZGF0ZUltYWdlLCB1cGRhdGVTbGlkZXIsCgl1cGRhdGVUcmFjayk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL1RyYW5zZmVySGFuZGxlci5qYXZhIChjbGlwYm9hcmQpOiBOb3cKCXBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YSAoc2hvd1RpcCwgaGlkZVRpcCk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKiBqYXZheC9zd2luZy9UaW1lci5qYXZhIChkcmFpbkV2ZW50cywgcXVldWVFdmVudCk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhIChnbG9iYWxNYW5hZ2VyKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL0pGb3JtYXR0ZWRUZXh0RmllbGQuamF2YSAoZWRpdFZhbGlkKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGphdmF4L3N3aW5nL0pDb2xvckNob29zZXIuamF2YSAobWFrZU1vZGFsKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvYXd0L2dlb20vR2VuZXJhbFBhdGguamF2YSAocnVsZSwgdHlwZXMsIHhwb2ludHMsIHlwb2ludHMsCglpbmRleCwgcGF0aCk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvYXd0L2dlb20vQXJlYS5qYXZhIChzb2xpZHMsIGhvbGVzLCBjdWJpY0N1YmljSW50ZXJzZWN0LAoJbGluZVF1YWRJbnRlcnNlY3QsIGxpbmVDdWJpY0ludGVyc2VjdCwgbGluZXNJbnRlcnNlY3QsCglwb2ludEVxdWFscyk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvYXd0L2dlb20vQXJjMkQuamF2YSAodHlwZSk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhICh3aW5kb3dGb2N1c093bmVyKTogTm93IHBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YS9hd3QvVGV4dENvbXBvbmVudC5qYXZhIChlZGl0YWJsZSwgc2VsZWN0aW9uU3RhcnQsCglzZWxlY3Rpb25FbmQsIHRleHQsIGdldEluZGV4QXRQb2ludCwgZ2V0Q2hhcmFjdGVyQm91bmRzKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvYXd0L01lbnVJdGVtLmphdmEgKGFjdGlvbkNvbW1hbmQsIGVuYWJsZWQsIGxhYmVsKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvYXd0L01lbnVDb21wb25lbnQuamF2YSAoZm9jdXNMaXN0ZW5lcik6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKiBqYXZhL2F3dC9GcmFtZS5qYXZhIChzdGF0ZSk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvYXd0L0Nob2ljZS5qYXZhIChwSXRlbXMpOiBOb3cgcGFja2FnZS1wcml2YXRlLgoJKiBqYXZhL2F3dC9DaGVja2JveC5qYXZhIChzdGF0ZSk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvYXd0L0J1dHRvbi5qYXZhIChhY3Rpb25Db21tYW5kLCBsYWJlbCk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKiBnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9zdXBwb3J0L1BhcnNlci5qYXZhCgkoYXR0cmlidXRlcywgX2hhbmRsZUVuZFRhZ19yZW1haW5pbmcsIF9oYW5kbGVTdGFydFRhZyk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKiBnbnUvamF2YS9iZWFucy9kZWNvZGVyL1BlcnNpc3RlbmNlUGFyc2VyLmphdmEgKGphdmFIYW5kbGVyKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEgKHBhaW50LCBzdHJva2UsIGZnLCBiZywKCWNsaXAsIHRyYW5zZm9ybSwgZm9udCwgY29tcCk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgoyMDA1LTA0LTI2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Sb2JvdC5qYXZhICh3YWl0Rm9ySWRsZSk6IENhbGwgaW52b2tlQW5kV2FpdCBpbiBhCglzdGF0aWMgd2F5LgoKMjAwNS0wNC0yNiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb2dnbGVCdXR0b25VSS5qYXZhOgoJKGdldFByb3BlcnR5UHJlZml4KTogQWRkZWQuCgoyMDA1LTA0LTI2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShnZXRQcm9wZXJ0eVByZWZpeCk6IEFkZGVkLgoJKGluc3RhbGxEZWZhdWx0cyk6IFVzZSBnZXRQcm9wZXJ0eVByZWZpeCBpbnN0ZWFkIG9mIGhhcmQtY29kZWQKCXByZWZpeC4KCjIwMDUtMDQtMjYgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmEKCShKVG9nZ2xlQnV0dG9uKTogUmVtb3ZlZCBob3Jpem9udGFsQWxpZ25tZW50IHNldHRpbmcsIHRoaXMKCXdhcyB3cm9uZy4gQWRkZWQgc2V0dGluZyBvZiBhbiBhY3Rpb25Db21tYW5kLCBUb2dnbGVCdXR0b25zCgloYXZlICIiIGFzIGRlZmF1bHQgYWN0aW9uQ29tbWFuZC4KCjIwMDUtMDQtMjYgIERhdmlkIERhbmV5ICA8ZGRhbmV5QGF2dHJleC5jb20+CgoJKiBqYXZhL25ldC9JbmV0QWRkcmVzcy5qYXZhIChJbmV0QWRkcmVzcyk6IE1ha2UgYSBwcml2YXRlIGNvcHkgb2YKCXRoZSBhZGRyZXNzLgoJKiBqYXZhL25ldC9JbmV0NEFkZHJlc3MuamF2YSAoZ2V0QWRkcmVzcyk6IFJldHVybiBhIGNvcHkgb2YgdGhlCglhZGRyZXNzLgoJKiBqYXZhL25ldC9JbmV0NkFkZHJlc3MuamF2YSAoSW5ldDZBZGRyZXNzKTogVXNlIHByaXZhdGUgY29weSBvZgoJdGhlIGFkZHJlc3MKCShnZXRBZGRyZXNzKTogUmV0dXJuIGEgY29weSBvZiB0aGUgYWRkcmVzcy4KCShlcXVhbHMpOiBSZXdyb3RlLgoKMjAwNS0wNC0yNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0ltYWdlSWNvbi5qYXZhOiAKCU1lcmdlZCBjb3B5cmlnaHQgd2l0aCBHQ0ouCgoyMDA1LTA0LTI1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9BV1RLZXlTdHJva2UuamF2YSAodmt0YWJsZSk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgoyMDA1LTA0LTI1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBpY29udi5tNDogTmV3IGZpbGUuCgkqIGNvbmZpZ3VyZS5hYzogVXNlIEFNX0lDT05WLgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL01ha2VmaWxlLmFtIChsaWJqYXZhbmlvX2xhX0xJQkFERCk6CglBZGQgTFRMSUJJQ09OVi4KCSogbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fY2hhcnNldF9pY29udl9JY29udkRlY29kZXIuYzoKCUluY2x1ZGUgY29uZmlnLmggYW5kIGpjbC5oLCB1c2UgaWYgZGVmaW5lZChIQVZFX0lDT05WKSwgYWRkIG5ldwoJc3RhdGljIHZhcmlhYmxlcyBpbmZpZCBhbmQgb3V0ZmlkLCBhZGQgY2hhcl91bmlvbi4KCShKYXZhX2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RGVjb2Rlcl9vcGVuSWNvbnYpOgoJR3VhcmQgd2l0aCBpZiBkZWZpbmVkKEhBVkVfSUNPTlYpLCB1c2UgSkNMX2pzdHJpbmdfdG9fY3N0cmluZywKCUpDTF9mcmVlX2NzdHJpbmcgYW5kIEpDTF9UaHJvd0V4Y2VwdGlvbiwgY2FjaGUgaW5yZW1haW5pbmcgYW5kCglvdXRyZW1haW5pbmcgZmllbGRJRHMuCgkoSmF2YV9nbnVfamF2YV9uaW9fY2hhcnNldF9pY29udl9JY29udkRlY29kZXJfZGVjb2RlKToKCUd1YXJkIHdpdGggaWYgZGVmaW5lZChIQVZFX0lDT05WKSwgdXNlIElDT05WX0NPTlNUIGZvciBpY29udgoJYXJndW1lbnQsIHVzZWQgY2FjaGVkIGZpZWxkSURzLCB1c2UgY2hhcl91bmlvbi4KCShKYXZhX2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RGVjb2Rlcl9jbG9zZUljb252KToKCUd1YXJkIHdpdGggaWYgZGVmaW5lZChIQVZFX0lDT05WKS4KCSogbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fY2hhcnNldF9pY29udl9JY29udkVuY29kZXIuYzoKCUluY2x1ZGUgY29uZmlnLmggYW5kIGpjbC5oLCB1c2UgaWYgZGVmaW5lZChIQVZFX0lDT05WKSwgYWRkIG5ldwoJc3RhdGljIHZhcmlhYmxlcyBpbmZpZCBhbmQgb3V0ZmlkLCBhZGQgY2hhcl91bmlvbi4KCShKYXZhX2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RW5jb2Rlcl9vcGVuSWNvbnYpOgoJR3VhcmQgd2l0aCBpZiBkZWZpbmVkKEhBVkVfSUNPTlYpLCB1c2UgSkNMX2pzdHJpbmdfdG9fY3N0cmluZywKCUpDTF9mcmVlX2NzdHJpbmcgYW5kIEpDTF9UaHJvd0V4Y2VwdGlvbiwgY2FjaGUgaW5yZW1haW5pbmcgYW5kCglvdXRyZW1haW5pbmcgZmllbGRJRHMuCgkoSmF2YV9nbnVfamF2YV9uaW9fY2hhcnNldF9pY29udl9JY29udkVuY29kZXJfZW5jb2RlKToKCUd1YXJkIHdpdGggaWYgZGVmaW5lZChIQVZFX0lDT05WKSwgdXNlIElDT05WX0NPTlNUIGZvciBpY29udgoJYXJndW1lbnQsIHVzZWQgY2FjaGVkIGZpZWxkSURzLCB1c2UgY2hhcl91bmlvbi4KCShKYXZhX2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RW5jb2Rlcl9jbG9zZUljb252KToKCUd1YXJkIHdpdGggaWYgZGVmaW5lZChIQVZFX0lDT05WKS4KCSogZ251L2phdmEvbmlvL2NoYXJzZXQvaWNvbnYvSWNvbnZEZWNvZGVyLmphdmEgKGRpc3Bvc2UpOiBSZW5hbWVkLgoJKGZpbmFsaXplKTogUmVuYW1lZCBmcm9tIGRpc3Bvc2UuCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L2ljb252L0ljb252RW5jb2Rlci5qYXZhIChkaXNwb3NlKTogUmVuYW1lZC4KCShmaW5hbGl6ZSk6IFJlbmFtZWQgZnJvbSBkaXNwb3NlLgoJCjIwMDUtMDQtMjUgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9pby9JbnB1dFN0cmVhbVJlYWRlci5qYXZhOgoJKElucHV0U3RyZWFtUmVhZGVyKTogQWx3YXlzIHJlcGxhY2UgaW52YWxpZCBjaGFycy4KCShyZWFkKTogUmV0dXJuIC0xIGlmIHplcm8gYnl0ZXMgYXJlIHJlYWQuCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYXJzZXRfaWNvbnZfSWNvbnZEZWNvZGVyLmMsCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYXJzZXRfaWNvbnZfSWNvbnZFbmNvZGVyLmM6CglDb3JyZWN0IEMgcG9pbnRlciBhcml0aG1ldGljLgoKMjAwNS0wNC0yNSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvYXd0L1RyYW5zcGFyZW5jeS5qYXZhCgkoZ2V0VHJhbnNwYXJlbmN5KTogZml4ZWQgQVBJIGRvY3MuCgoyMDA1LTA0LTI1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEKCShpbml0RGVmYXVsdHMpOiBJbml0aWFsaXplIHRodW1iKkNvbG9yIGZpZWxkcyBjb3JyZWN0bHkuCgoyMDA1LTA0LTI1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmE6CglBZGRlZCBBUEkgY29tbWVudHMuCgoyMDA1LTA0LTI1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YToKCUFkZGVkIGlubmVyIGNsYXNzIFNjcm9sbFBhbmVCb3JkZXIuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgZGVmYXVsdCBmb3IgIlNjcm9sbFBhbmUuYm9yZGVyIgoJdG8gdXNlIHRoZSBuZXcgU2Nyb2xsUGFuZUJvcmRlci4KCjIwMDUtMDQtMjUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YToKCUFkZGVkIEZJWE1FIGNvbW1lbnRzLiBUaGlzIGNsYXNzIHN0aWxsIGhhcyB0byBiZQoJaW1wbGVtZW50ZWQgdGhyZWFkLXNhZmUuCgoyMDA1LTA0LTI1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZVNlbGVjdGlvbk1vZGVsLmphdmEKCShEZWZhdWx0VHJlZVNlbGVjdGlvbk1vZGVsKTogSW5pdGlhbGl6ZSBsaXN0ZW5lckxpc3QgaGVyZS4KCjIwMDUtMDQtMjUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVGV4dEZpZWxkVUkuamF2YQoJKGNyZWF0ZVVJKTogUmV0dXJuIG9uZSBpbnN0YW5jZSBwZXIgQ29tcG9uZW50IGluc3RlYWQgb2YgYQoJc2hhcmVkIGluc3RhbmNlLgoKMjAwNS0wNC0yNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbmF0aXZlL2puaS9NYWtlZmlsZS5hbSAoSk5JRElSUyk6IE5ldyBtYWNyby4KCShTVUJESVJTKTogVXNlIGl0LgoJKiBjb25maWd1cmUuYWMgKC0tZW5hYmxlLWNvcmUtam5pKTogTmV3IG9wdGlvbi4KCSogTkVXUzogRG9jdW1lbnQgbmV3IG9wdGlvbi4KCjIwMDUtMDQtMjQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvam5pX21kLXg4Ni1saW51eC1nbnUuaCAoSk5JSU1QT1JUKTogTmV3IGRlZmluZS4KCShqc2l6ZSk6IE5ldyB0eXBlZGVmLgoJKiBpbmNsdWRlL2puaS5oOiBSZS1tZXJnZWQgd2l0aCBsaWJnY2ouCgkqIGRvYy92bWludGVncmF0aW9uLnRleGluZm8gKEpOSSBJbXBsZW1lbnRhdGlvbik6IE5ldyBub2RlLgoJKiBORVdTOiBEb2N1bWVudCB0aGUgY2hhbmdlLgoKMjAwNS0wNC0yNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2NsYXNzcGF0aC9Db25maWd1cmF0aW9uLmphdmEuaW4gKGRlZmF1bHRfYXd0X3BlZXJfdG9vbGtpdCk6CglOb3cgc2V0IGJ5IGNvbmZpZ3VyZS4KCSogY29uZmlndXJlLmFjICgtLWVuYWJsZS1kZWZhdWx0LXRvb2xraXQpOiBOZXcgb3B0aW9uLgoJKiBORVdTOiBEb2N1bWVudCBuZXcgb3B0aW9uLgoKMjAwNS0wNC0yNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOiBGb3JtYXR0aW5nIGZpeGVzLgoKMjAwNS0wMy0yMiAgTWlrZSBTdHVtcCAgPG1yc0BhcHBsZS5jb20+CgoJKiBuYXRpdmUvZmRsaWJtL2llZWVmcC5oOiBwcGM2NCBpcyBhbHNvIF9fSUVFRV9CSUdfRU5ESUFOLgoKMjAwNS0wNC0yMyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9TdHlsZUNvbnN0YW50cy5qYXZhIChTdHlsZUNvbnN0YW50cyk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoKMjAwNS0wNC0yMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9uZXQvVVJMLmphdmEgKFVSTChVUkwsU3RyaW5nLFVSTFN0cmVhbUhhbmRsZXIpKTogQWRkIHNwZWMKCXRvIE1hbGZvcm1lZFVSTEV4Y2VwdGlvbi4KCjIwMDUtMDQtMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9TZXJ2ZXJTb2NrZXQuamF2YQoJKGdldENoYW5uZWwpOiBJbXByb3ZlZCBqYXZhZG9jIGNvbW1lbnQuCgoyMDA1LTA0LTIzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9Eb2N1bWVudC5qYXZhOgoJQWRkZWQgQVBJIGRvY3VtZW50YXRpb24gY29tbWVudHMuCgoyMDA1LTA0LTIzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmEKCShnZXREb2N1bWVudFByb3BlcnRpZXMpOiBJbXBsZW1lbnRlZC4KCShzZXREb2N1bWVudFByb3BlcnRpZXMpOiBJbXBsZW1lbnRlZC4KCShnZXRQcm9wZXJ0eSk6IEltcGxlbWVudGVkLgoJKHB1dFByb3BlcnR5KTogSW1wbGVtZW50ZWQuCgoyMDA1LTA0LTIyICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBhY2Nyb3NzLm00OiBOZXcgZmlsZSwgZnJvbSBnY2MuCgkqIGNvbmZpZ3VyZS5hYzogT25seSBjYWxsIEFDX0NfQklHRU5ESUFOIG9uY2UuICBVc2UgYSBzaW5nbGUKCUFDX0NIRUNLX0hFQURFUlMgY2FsbCBmb3IgbW9zdCBoZWFkZXJzLiAgTGlrZXdpc2UgZm9yCglBQ19DSEVDS19GVU5DUy4gIFVzZSBBQ19DT01QSUxFX0NIRUNLX1NJWkVPRi4gIERvbid0IGxvb2sgZm9yCglmdW5jdGlvbiBuYW1lZCAnc2l6ZW9mJy4KCjIwMDUtMDQtMjIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKGNvbm5lY3RTaWduYWxzKTogUmVhbGl6ZSB0aGUgd2luZG93IHdpZGdldCBhZnRlciBjb25uZWN0aW5nCglzaWduYWxzLgoKMjAwNS0wNC0yMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0JveExheW91dAoJKHByZWZlcnJlZExheW91dFNpemUpOiBGaXhlZCBjb21wdXRhdGlvbiBzbyB0aGF0IGl0IGNvcnJlY3RseQoJYWRkcyB0aGUgdG9wIGFuZCBib3R0b20gaW5zZXRzIG9mIHRoZSBjb250YWluZXIuCgoyMDA1LTA0LTIyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YQoJKHBhaW50VGV4dCk6IE1ha2UgdXNlIG9mIHRoZSAnc2VsZWN0aW9uRm9yZWdyb3VuZCcgVUkgZGVmYXVsdAoJZm9yIHRleHQgcGFpbnRpbmcuCgoyMDA1LTA0LTIyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0U3lzdGVtQ29sb3JEZWZhdWx0cyk6IE1vZGlmaWVkIGNvbG9ycyB0byBtYXRjaCB0aGUKCUJhc2ljTG9va0FuZEZlZWwgaW4gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi4KCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBMaWtld2lzZS4KCjIwMDUtMDQtMjIgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGRvYy92bWludGVncmF0aW9uLnRleGluZm8gKEludHJvZHVjdGlvbik6IFR5cG8gZml4LgoJKEluaXRpYWxpemF0aW9uKTogUmVtb3ZlZCByZWR1bmRhbnQgJ2N1cnJlbnQnLgoKMjAwNS0wNC0yMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9jbGFzc3BhdGgvU3lzdGVtUHJvcGVydGllcy5qYXZhOgoJUmVmb3JtYXR0ZWQuCgoyMDA1LTA0LTIxICBDYXNleSBNYXJzaGFsbCA8Y3NtQGdudS5vcmc+CgoJKiBnbnUvamF2YS9zZWN1cml0eS9kZXIvREVSVmFsdWUuamF2YQoJKGdldFZhbHVlQXMpOiBuZXcgbWV0aG9kLgoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9Qcml2YXRlS2V5VXNhZ2VQZXJpb2QuamF2YQoJKDxpbml0Pik6IHJlYWQgYm90aCBkYXRlcyB3aXRoICdERVJWYWx1ZS5nZXRWYWx1ZUFzJywgd2l0aAoJJ0dFTkVSQUxJWkVEX1RJTUUnIGFzIHRoZSBhcmd1bWVudC4KCjIwMDUtMDQtMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBpbmNsdWRlL2dudV9qYXZhX25pb19jaGFyc2V0X2ljb252X0ljb252RGVjb2Rlci5oLAoJaW5jbHVkZS9nbnVfamF2YV9uaW9fY2hhcnNldF9pY29udl9JY29udkVuY29kZXIuaDoKCVJlZ2VuZXJhdGVkIHdpdGggZ2NqaCBmcm9tIGdjYyA0LjAgYnJhbmNoLgoKMjAwNS0wNC0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQ2hhbmdlZCBCdXR0b24uYm9yZGVyIHRvIGJlCglCYXNpY0JvcmRlcnMuZ2V0QnV0dG9uQm9yZGVyIGFzIGl0IHNob3VsZCBiZS4KCjIwMDUtMDQtMjAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmE6CgkoZ2V0TWF4aW11bVNpemUpOiBSZXR1cm4gKFNob3J0Lk1BWF9WQUxVRSwgU2hvcnQuTUFYX1ZBTFVFKSBhcyBpdAoJc2hvdWxkIGFjY29yZGluZyB0byBhIG1hdXZlIHRlc3RjYXNlLCBpbnN0ZWFkIG9mIHRoZSBwcmVmZXJyZWQKCXNpemUuCgoyMDA1LTA0LTIwICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvaW8vT3V0cHV0U3RyZWFtV3JpdGVyLmphdmE6CgkoY2xvc2UpOiBEbyBub3RoaW5nIG9uIG11bHRpcGxlIGNsb3Nlcy4KCjIwMDUtMDQtMjAgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhCgkoYWRkKTogYWRkKENvbXBvbmVudCkgbm93IGNhbGxzIFBvcHVwTWVudS5pbnNlcnQoLi4pIGluc3RlYWQgb2YKCVBvcHVwTWVudS5hZGQoLi4pLiBhZGQoLi4pIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgQ29tcG9uZW50LAoJc28gSkNvbXBvbmVudC5hZGQoLi4pIGlzIGNhbGxlZCBpbnN0ZWFkLCBhZGRpbmcgdGhlIGNvbXBvbmVudAoJaW4gdGhlIHdyb25nIHBsYWNlLgoKMjAwNS0wNC0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25MaXN0ZW5lci5qYXZhCgkobW91c2VQcmVzc2VkKTogcmVwbGFjZWQgcXVlcnkgdG8gZ2V0TW9kaWZpZXJzRXggd2l0aCBnZXRNb2RpZmllcnMuCglUaGlzIG1ldGhvZCByZWxpZWQgb24gZmF1bHR5IGJlaGF2aW91ciBpbiBnZXRNb2RpZmllckV4LgoJKG1vdXNlUmVsZWFzZWQpOiByZXBsYWNlZCBxdWVyeSB0byBnZXRNb2RpZmllcnNFeCB3aXRoIGdldE1vZGlmaWVycy4KCVRoaXMgbWV0aG9kIHJlbGllZCBvbiBmYXVsdHkgYmVoYXZpb3VyIGluIGdldE1vZGlmaWVyRXguCgoyMDA1LTA0LTIwICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShnZXREZWZhdWx0cyk6IENhbGwgYWRkQ3VzdG9tRW50cmllc1RvVGFibGUgb24gdGhlIHRoZW1lLgoKMjAwNS0wNC0yMCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVTZWxlY3Rpb25Nb2RlbC5qYXZhCgkoY29uc3RydWN0b3IpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbi4KCShnZXRSb3dNYXBwZXIpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbi4KCShzZXRTZWxlY3Rpb25Nb2RlKTogQWRkZWQgaW1wbGVtZW50YXRpb24uCgkoZ2V0U2VsZWN0aW9uTW9kZSk6IEFkZGVkIGltcGxlbWVudGF0aW9uLgoJKGdldFNlbGVjdGlvblBhdGgpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbi4KCShnZXRTZWxlY3Rpb25QYXRocyk6IEFkZGVkIGltcGxlbWVudGF0aW9uLgoJKGdldFNlbGVjdGlvbkNvdW50KTogQWRkZWQgaW1wbGVtZW50YXRpb24uCgkoaXNTZWxlY3Rpb25FbXB0eSk6IEFkZGVkIGltcGxlbWVudGF0aW9uLgoJKGdldFNlbGVjdGlvblJvd3MpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbi4KCShnZXRNaW5TZWxlY3Rpb25Sb3cpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbi4KCShnZXRNYXhTZWxlY3Rpb25Sb3cpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbi4KCShnZXRMZWFkU2VsZWN0aW9uUm93KTogQWRkZWQgaW1wbGVtZW50YXRpb24uCgkoZ2V0TGVhZFNlbGVjdGlvblBhdGgpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbi4KCjIwMDUtMDQtMjAgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9uaW8vY2hhcnNldC9DaGFyc2V0LmphdmE6CgkoZGVmYXVsdENoYXJzZXQoKSk6IE5ldyBtZXRob2QuCglTdGF0dXMgdXBkYXRlZCB0byAxLjUKCjIwMDUtMDQtMjAgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoJCgkqIGdudS9qYXZhL2lvL0VuY29kaW5nTWFuYWdlci5qYXZhOiBSZW1vdmVkIGNoYXJzZXQgYWxpYXMgcHJvcGVydGllcy4KCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXIuamF2YSwKCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXI4ODU5XzEuamF2YSwKCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXI4ODU5XzEzLmphdmEsCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyODg1OV8xNS5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfMi5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfMy5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfNC5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfNS5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfNi5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfNy5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfOC5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfOS5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlckFTQ0lJLmphdmEsCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyQ3AxMDQ3LmphdmEsCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyRUJDRElDX1hNTF9VUy5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlckVpZ2h0Qml0TG9va3VwLmphdmEsCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyVVRGMTZCRS5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlclVURjE2TEUuamF2YSwKCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXJVVEYzMkJFLmphdmEsCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyVVRGMzJMRS5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlclVURjguamF2YSwKCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXJVbmljb2RlQmlnLmphdmEsCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyVW5pY29kZUxpdHRsZS5qYXZhLAoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlcldpbmRvd3MxMjUwLmphdmEsCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyV2luZG93czEyNTIuamF2YSwKCSogZ251L2phdmEvaW8vZGVjb2RlL3BhY2thZ2UuaHRtbAoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2Rlci5qYXZhLAoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2Rlcjg4NTlfMS5qYXZhLAoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2Rlcjg4NTlfMTMuamF2YSwKCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXI4ODU5XzE1LmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV8yLmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV8zLmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV80LmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV81LmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV82LmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV83LmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV84LmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV85LmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyQVNDSUkuamF2YSwKCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXJDcDEwNDcuamF2YSwKCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXJFQkNESUNfWE1MX1VTLmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyRWlnaHRCaXRMb29rdXAuamF2YSwKCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXJVVEYxNkJFLmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyVVRGMTZMRS5qYXZhLAoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlclVURjMyQkUuamF2YSwKCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXJVVEYzMkxFLmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyVVRGOC5qYXZhLAoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlclVuaWNvZGVCaWcuamF2YSwKCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXJVbmljb2RlTGl0dGxlLmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyV2luZG93czEyNTAuamF2YSwKCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXJXaW5kb3dzMTI1Mi5qYXZhLAoJKiBnbnUvamF2YS9pby9lbmNvZGUvcGFja2FnZS5odG1sOgoJUmVtb3ZlZAoJCjIwMDUtMDQtMTkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9nZW9tL1F1YWRDdXJ2ZTJELmphdmE6CglGaXhlZCBCcmlhbiBHb3VnaCdzIG5hbWUgZm9yIHJlYWwuCgoyMDA1LTA0LTE5ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShwYWludCk6IFRoaXMgc2hvdWxkIG5vdCBjYXJlIGFib3V0IG1hcmdpbiBhbmQgaW5zZXRzCglhdCB0aGUgc2FtZSB0aW1lLCBhcyBpbnNldHMgYWxyZWFkeSBpbmNsdWRlIHRoZSBtYXJnaW4KCXRocm91Z2ggdGhlIGJvcmRlci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0dyYXBoaWNzVXRpbHMuamF2YQoJKGdldFByZWZlcnJlZEJ1dHRvblNpemUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbEJvcmRlcnMuamF2YQoJKGdldEJvcmRlckluc2V0cyk6IExpa2V3aXNlLgoKMjAwNS0wNC0xOSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvRGVtby5qYXZhOgoJUHVsbGVkIG91dCBHTlVMb29rQW5kRmVlbCBzbyB0aGF0IGl0IGNhbiBiZSBhY2Nlc3NlZC4KCU9uIHN0YXJ0dXAsIGlmIHRoZSBwcm9wZXJ0eSBzd2luZy5kZWZhdWx0bGFmIGlzIG5vdCBzZXQsCglkaXNwbGF5IGEgbWVzc2FnZSBvbiBob3cgdG8gc2V0IHRoZSBMJkYgZm9yIHRoZSBkZW1vLgoJQ2hhbmdlZCBmb250IGZvciBib3R0b20gYnV0dG9ucyB0byBub3JtYWwuCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbXBsZXMvc3dpbmcvR05VTG9va0FuZEZlZWwuamF2YToKCVB1bGxlZCBvdXQgb2YgRGVtby5qYXZhLgoKMjAwNS0wNC0xOSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNPcHRpb25QYW5lVUkuamF2YQoJKGNyZWF0ZU1lc3NhZ2VBcmVhKTogVGhlIEpQYW5lbCB0aGF0IGhvbGRzIHRoZSBtZXNzYWdlIGFyZWEKCWRvZXNuJ3QgbmVlZCB0byBvdmVycmlkZSBnZXRQcmVmZXJyZWRTaXplLiBUaGlzIHByZXZlbnRzIHNvbWUKCW1lc3NhZ2UgY29tcG9uZW50cyBmcm9tIHJlbmRlcmluZyBuaWNlbHkuCgoyMDA1LTA0LTE5ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS9uZXQvVVJMLmphdmE6CgkodG9VUkkoKSk6IEltcGxlbWVudGVkLgoKMjAwNS0wNC0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxJbnRlcm5hbEZyYW1lVUkuamF2YQoJKGNyZWF0ZVVJKTogRG8gbm90IHNoYXJlIGluc3RhbmNlcyBiZXR3ZWVuIGNvbXBvbmVudHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTbGlkZXJVSS5qYXZhCgkoY3JlYXRlVUkpOiBEbyBub3Qgc2hhcmUgaW5zdGFuY2VzIGJldHdlZW4gY29tcG9uZW50cy4KCjIwMDUtMDQtMTggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVyczoKCShQb3B1cE1lbnVCb3JkZXIpOiBBZGRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgUG9wdXBNZW51Qm9yZGVyLgoKMjAwNS0wNC0xOCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgkKCSogamF2YS9pby9JbnB1dFN0cmVhbVJlYWRlci5qYXZhOgoJKHJlYWQpOiBGaXggc2V2ZXJhbCBidWdzIGxlYWRpbmcgdG8gaW5jb3JyZWN0IGxlbmd0aCBiZWluZyByZXR1cm5lZC4KCjIwMDUtMDQtMTggIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9uaW8vQnl0ZUJ1ZmZlckltcGwuamF2YToKCShwdXRDaGFyKTogSW5saW5lZCBmb3Igc3BlZWQuCgkocHV0LCBnZXQpOiBCdWxrIG1ldGhvZHMgY2FuIHVzZSBhcnJheWNvcHkuCgkqIGphdmEvbmlvL0NoYXJCdWZmZXJJbXBsLmphdmE6CgkocHV0LCBnZXQpOiBCdWxrIG1ldGhvZHMgY2FuIHVzZSBhcnJheWNvcHkuCgkKMjAwNS0wNC0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJQWRkZWQgQVBJIGRvY3VtZW50YXRpb24gYWxsIG92ZXIgdGhlIGNsYXNzLgoKMjAwNS0wNC0xOCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgkKCSogaW5jbHVkZS9NYWtlZmlsZS5hbSwKCSogbmF0aXZlL2puaS9qYXZhLW5pby9NYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGVzLgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9pY29udi9JY29udkNoYXJzZXQuamF2YSwKCSogZ251L2phdmEvbmlvL2NoYXJzZXQvaWNvbnYvSWNvbnZEZWNvZGVyLmphdmEsCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L2ljb252L0ljb252RW5jb2Rlci5qYXZhLAoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9pY29udi9JY29udk1ldGFEYXRhLmphdmEsIAoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9pY29udi9JY29udlByb3ZpZGVyLmphdmEsCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYXJzZXRfaWNvbnZfSWNvbnZEZWNvZGVyLmMsCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX2NoYXJzZXRfaWNvbnZfSWNvbnZFbmNvZGVyLmMsCgkqIGluY2x1ZGUvZ251X2phdmFfbmlvX2NoYXJzZXRfaWNvbnZfSWNvbnZEZWNvZGVyLmgsCgkqIGluY2x1ZGUvZ251X2phdmFfbmlvX2NoYXJzZXRfaWNvbnZfSWNvbnZFbmNvZGVyLmgsCglOZXcgZmlsZXMuCgoyMDA1LTA0LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9sYW5nL1N0cmluZy5qYXZhOgoJTWFrZSB2YWx1ZSwgb2Zmc2V0IGFuZCBjb3VudCBmaWVsZHMgcGFja2FnZSBwcml2YXRlIGluc3RlYWQKCW9mIHByaXZhdGUuCgoyMDA1LTA0LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbFBhbmVVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogTGluayBtYW5hZ2VkIEpTY3JvbGxQYW5lIGluIGluc3RhbmNlIGZpZWxkLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogVW5saW5rIG1hbmFnZWQgSlNjcm9sbFBhbmUgaW4gaW5zdGFuY2UgZmllbGQuCgoyMDA1LTA0LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBBZGQgZGVmYXVsdAoJdG8gc3dpdGNoIHN0YXRlbWVudCB0byBhdm9pZCBlcnJvcnMgd2l0aCB1bnVzdWFsIHZhbHVlcwoJZm9yIG9yaWVudGF0aW9uLgoJKGluc3RhbGxDb21wb25lbnRzKTogTGlrZXdpc2UuCgoyMDA1LTA0LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFNjcm9sbEJhclVJLmphdmE6CgkoY3JlYXRlVUkpOiBJbnN0YW5jZXMgY2Fubm90IGJlIHNoYXJlZCBhbW9uZyBKU2Nyb2xsUGFuZXMuCgoyMDA1LTA0LTE4ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvbGFuZy9TdHJpbmcuamF2YTogVmFsdWUsIG9mZnNldCBhbmQgY291bnQgc2hvdWxkIGJlIHByaXZhdGUuCgoyMDA1LTA0LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCBkZWZhdWx0cyBmb3IgTWVudSwgTWVudUJhcgoJTWVudUVudHJ5IGZvbnRzLgoKMjAwNS0wNC0xOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhCgkoaW5zdGFsbFVJKTogSW5zdGFsbCBsaXN0ZW5lcnMgYWZ0ZXIgZXZlcnl0aGluZyBhbGwsIG90aGVyd2lzZQoJd2UgZ2V0IHN0cmFuZ2UgTlBFcyBpbiBzb21lIHNpdHVhdGlvbnMsIGVzcGVjaWFsbHkgd2l0aAoJY3VzdG9tIEwmRnMuCgkoY3JlYXRlSW5jcmVhc2VCdXR0b24pOiBPcmllbnRhdGlvbiBpcyBleHBlY3RlZCB0byBiZQoJU3dpbmdDb25zdGFudHMuTk9SVEgsIC4uU09VVEgsIC4uV0VTVCBvciAuLkVBU1QgYW5kIG5vdAoJSE9SSVpPTlRBTCBvciBWRVJUSUNBTC4KCShjcmVhdGVEZWNyZWFzZUJ1dHRvbik6IE9yaWVudGF0aW9uIGlzIGV4cGVjdGVkIHRvIGJlCglTd2luZ0NvbnN0YW50cy5OT1JUSCwgLi5TT1VUSCwgLi5XRVNUIG9yIC4uRUFTVCBhbmQgbm90CglIT1JJWk9OVEFMIG9yIFZFUlRJQ0FMLgoJKGluc3RhbGxDb21wb25lbnRzKTogT3JpZW50YXRpb24gZm9yIGJ1dHRvbnMgaXMgZXhwZWN0ZWQgdG8gYmUKCVN3aW5nQ29uc3RhbnRzLk5PUlRILCAuLlNPVVRILCAuLldFU1Qgb3IgLi5FQVNUIGFuZCBub3QKCUhPUklaT05UQUwgb3IgVkVSVElDQUwuCgoyMDA1LTA0LTE4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9uaW8vQnl0ZUJ1ZmZlckltcGwuamF2YSAoZ2V0KCksIHB1dChieXRlKSk6IElubGluZWQgY2hlY2tzCglhbmQgZmllbGQgdXBkYXRlcy4KCSogamF2YS9uaW8vQ2hhckJ1ZmZlckltcGwuamF2YQoJKENoYXJCdWZmZXJJbXBsKENoYXJCdWZmZXJJbXBsKSk6IENvcHkgYXJyYXlfb2Zmc2V0IGZpZWxkLgoJKGdldCgpLCBwdXQoY2hhcikpOiBJbmxpbmVkIGNoZWNrcyBhbmQgZmllbGQgdXBkYXRlcy4gRml4ZWQgdG8KCXRha2UgYXJyYXlfb2Zmc2V0IGludG8gYWNjb3VudC4KCShnZXQoaW50KSwgcHV0KGludCwgY2hhcikpOiBGaXhlZCB0byB0YWtlIGFycmF5X29mZnNldCBpbnRvIGFjY291bnQuCgoyMDA1LTA0LTE4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9sYW5nL0NsYXNzLmphdmEgKGdldE1vZGlmaWVycywgbmV3SW5zdGFuY2UpOiBDaGFuZ2VkCgljYWxsIHRvIFZNQ2xhc3MuZ2V0TW9kaWZpZXJzKCkuCgkqIHZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1DbGFzcy5qYXZhCgkoZ2V0TW9kaWZpZXJzKENsYXNzLCBib29sZWFuKSk6IE5ldyBtZXRob2QuCgoyMDA1LTA0LTE4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9hd3QvR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhCgkobG9jYWxHcmFwaGljc0Vudmlyb25tZW50KTogTmV3IGZpZWxkLgoJKGdldExvY2FsR3JhcGhpY3NFbnZpcm9ubWVudCk6IEFkZGVkIHN1cHBvcnQgZm9yIGphdmEuYXd0LmdyYXBoaWNzZW52Cglwcm9wZXJ0eS4KCShpc0hlYWRsZXNzKTogQWRkZWQgc3VwcG9ydCBmb3IgamF2YS5hd3QuaGVhZGxlc3MgcHJvcGVydHkuCgkoaXNIZWFkbGVzc0luc3RhbmNlKTogQ2FsbCBoZWFkbGVzcygpLgoKMjAwNS0wNC0xOCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGdudS9qYXZhL2JlYW5zL0ludHJvc3BlY3Rpb25JbmN1YmF0b3IuamF2YQoJKGFkZFRvUHJvcGVydHlIYXNoLCBhZGRUb0xpc3RlbmVySGFzaCk6IERvbid0IGNvbmZ1c2UgZ2V0KCksCglzZXQoKSwgaXMoKSwgYWRkKCkgYW5kIHJlbW92ZSgpIHdpdGggcHJvcGVydGllcyBvciBldmVudHMuCgoyMDA1LTA0LTE4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvSlRvb2xCYXIuamF2YQoJKGFkZEltcGwpOiBBZGp1c3QgYWRkZWQgQWJzdHJhY3RCdXR0b25zIHRvIGxvb2sgYW5kIGZlZWwgbGlrZQoJdG9vbGJhciBidXR0b25zLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhOgoJQWRqdXN0ZWQgaW5zZXRzIG9mIEJ1dHRvbkJvcmRlci4KCShSb2xsb3Zlck1hcmdpbkJvcmRlcik6IEFkZGVkIGNsYXNzIGZvciB0b29sYmFyIGJ1dHRvbnMuCgkoZ2V0QnV0dG9uQm9yZGVyKTogQWRqdXN0ZWQgZmFjdG9yeSBtZXRob2QgdG8gcmV0dXJuIGEgc2hhcmVkCglpbnN0YW5jZSBvZiBidXR0b24gYm9yZGVyLgoJKGdldFRvb2xiYXJCdXR0b25Cb3JkZXIpOiBBZGRlZCBmYWN0b3J5IG1ldGhvZCB0byByZXR1cm4gYSBzaGFyZWQKCWluc3RhbmNlIG9mIHRvb2xiYXIgYnV0dG9uIGJvcmRlci4KCShnZXRNYXJnaW5Cb3JkZXIpOiBBZGRlZCBmYWN0b3J5IG1ldGhvZCB0byByZXR1cm4gYSBzaGFyZWQKCWluc3RhbmNlIG9mIG1hcmdpbiBib3JkZXIuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCdXR0b25VSS5qYXZhCgkoaW5zdGFsbERlZmF1bHMpOiBJZiBidXR0b24gaXMgY2hpbGQgb2YgYSBKVG9vbEJhciB0aGVuIHNldAoJc3BlY2lhbCBib3JkZXIgb24gdGhpcyBidXR0b24uCgoyMDA1LTA0LTE3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9TaW1wbGVBdHRyaWJ1dGVTZXQuamF2YQoJKGFkZEF0dHJpYnV0ZSk6IFJlbW92ZWQgbnVsbCBwb2ludGVyIGNoZWNrLgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlQ29udGV4dC5qYXZhCgkoTmFtZWRTdHlsZS5zZXRSZXNvbHZlUGFyZW50KTogQWRkZWQgbnVsbCBwb2ludGVyIGNoZWNrLgoKMjAwNS0wNC0xNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGV4YW1wbGVzL2dudS9jbGFzc3BhdGgvZXhhbW1wbGVzL3N3aW5nL0RlbW8uamF2YToKCVByaW50IGEgc2hvcnQgc3VtbWFyeSBmb3IgYXZhaWxhYmxlIHZhbHVlcyBmb3IgdGhlIHByb3BlcnR5Cglzd2luZy5kZWZhdWx0bGFmLgoJU2V0IE1ldGFsTG9va0FuZEZlZWwgYXMgZGVmYXVsdC4KCVB1bGxlZCBvdXQgR05VTG9va0FuZEZlZWwgc28gdGhhdCBpdCBpcyBhY2Nlc3NpYmxlLgoJKiBleGFtcGxlcy9nbnUvY2xhc3NwYXRoL2V4YW1tcGxlcy9zd2luZy9HTlVMb29rQW5kRmVlbC5qYXZhOgoJUHVsbGVkIG91dCB0aGlzIGNsYXNzIGZyb20gRGVtby5qYXZhLgoKMjAwNS0wNC0xNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1VJTWFuYWdlci5qYXZhOgoJTWFrZSB0aGUgVUlNYW5hZ2VyIHJlc3BlY3QgdGhlIHN3aW5nLmRlZmF1bHRsYWYgc3lzdGVtCglwcm9wZXJ0eS4KCjIwMDUtMDQtMTcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L1NpbXBsZUF0dHJpYnV0ZVNldC5qYXZhCgkoYWRkQXR0cmlidXRlKTogQ2hlY2sgZm9yIG51bGwgYW5kIHJlbW92ZSBrZXkgaW4gdGhhdCBjYXNlLgoJVGhpcyBmaXhlcyBodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxMDY0IC4KCjIwMDUtMDQtMTYgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL2F3dC9Cb3JkZXJMYXlvdXQuamF2YQoJKGNhbGNTaXplKTogQ2hlY2sgZm9yIG92ZXJmbG93IHdoZW4gY29tcG9uZW50IHNpemVzIGFyZSBhZGRlZC4KCjIwMDUtMDQtMTYgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3JtaS9OYW1pbmcuamF2YToKCUFkZGVkIGNsYXNzIGRvY3VtZW50YXRpb24uCgkobG9va3VwKFN0cmluZykpOiBDYWxsIHBhcnNlVVJMIGFuZCBnZXROYW1lLgoJKGJpbmQoU3RyaW5nLGphdmEucm1pLlJlbW90ZSkpOiBMaWtld2lzZS4KCSh1bmJpbmQoU3RyaW5nKSk6IExpa2V3aXNlLgoJKHJlYmluZChTdHJpbmcsIGphdmEucm1pLlJlbW90ZSkpOiBMaWtld2lzZS4KCShsaXN0KFN0cmluZykpOiBDYWxsIHBhcnNlVVJMLgoJKHBhcnNlVVJMKFN0cmluZykpOiBOZXcgbWV0aG9kIHRvIGhhbmRsZSBwYXJzaW5nIGFuZCBkZWZhdWx0cy4KCShnZXROYW1lKGphdmEubmV0LlVSTCkpOiBOZXcgbWV0aG9kIHRvIGhhbmRsZSBmaW5kaW5nIHRoZSBzZXJ2aWNlIG5hbWUuCgkKMjAwNS0wNC0xNiAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvbmV0L1VSSS5qYXZhOgoJQWRkZWQgY2xhc3MgZG9jdW1lbnRhdGlvbi4KCShwYXJzZVVSSShTdHJpbmcpKTogT25seSBoYW5kbGUgc2NoZW1lLXNwZWNpZmljIHBhcnRzCglpZiBVUkkgaXMgbm90IG9wYXF1ZS4gIEFsbG93IGZvciBwYXJ0cyB0aGF0IGNhbid0IGJlIG51bGwuCgkodG9TdHJpbmcoKSk6IE91dHB1dCB0aGUgc2NoZW1lLXNwZWNpZmljIHBhcnQgd2hvbGUsIHJhdGhlcgoJdGhhbiBhcyBpdHMgcG9zc2libHkgbm9uLWV4aXN0ZW50IGNvbXBvbmVudHMuCgkKMjAwNS0wNC0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvcm1pL3NlcnZlci9SZW1vdGVPYmplY3QuamF2YToKCVJlbW92ZWQgdW51c2VkIGltcG9ydCBzdGF0ZW1lbnQuCgoyMDA1LTA0LTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogUmVtb3ZlZCBqYXZhX2lvX09iamVjdElucHV0U3RyZWFtLmgKCWFuZCBhZGRlZCBqYXZhX2lvX1ZNT2JqZWN0SW5wdXRTdHJlYW0uaC4KCSogaW5jbHVkZS9qYXZhX2lvX09iamVjdElucHV0U3RyZWFtLmg6IFJlbW92ZWQuCgkqIGluY2x1ZGUvamF2YV9pb19WTU9iamVjdElucHV0U3RyZWFtLmg6IE5ldyBmaWxlLgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEKCShjdXJyZW50Q2xhc3NMb2FkZXIpOiBSZW1vdmVkLgoJKGFsbG9jYXRlT2JqZWN0KTogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvamF2YS1pby9NYWtlZmlsZS5hbTogUmVtb3ZlZCBqYXZhX2lvX09iamVjdElucHV0U3RyZWFtLmMKCWFuZCBhZGRlZCBqYXZhX2lvX1ZNT2JqZWN0SW5wdXRTdHJlYW0uYy4KCSogbmF0aXZlL2puaS9qYXZhLWlvL2phdmFfaW9fT2JqZWN0SW5wdXRTdHJlYW0uYzogUmVtb3ZlZC4KCSogbmF0aXZlL2puaS9qYXZhLWlvL2phdmFfaW9fVk1PYmplY3RJbnB1dFN0cmVhbS5jOiBOZXcgZmlsZS4KCSogdm0vcmVmZXJlbmNlL2phdmEvaW8vVk1PYmplY3RJbnB1dFN0cmVhbS5qYXZhOiBMaWtld2lzZS4KCjIwMDUtMDQtMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBpbmNsdWRlL2phdmFfbGFuZ19Eb3VibGUuaCwKCWluY2x1ZGUvamF2YV9sYW5nX09iamVjdC5oLAoJbmF0aXZlL2puaS9qYXZhLWxhbmcvamF2YV9sYW5nX0RvdWJsZS5jLAoJbmF0aXZlL2puaS9qYXZhLWxhbmcvamF2YV9sYW5nX09iamVjdC5jOiBSZW1vdmVkLgoJKiBpbmNsdWRlL2phdmFfbGFuZ19WTURvdWJsZS5oOiBSZWdlbmVyYXRlZC4KCSogamF2YS9sYW5nL0RvdWJsZS5qYXZhCgkoc3RhdGljKTogUmVtb3ZlZC4KCSh0b1N0cmluZyk6IENhbGwgbmF0aXZlIG1ldGhvZCBmcm9tIFZNRG91YmxlLgoJKHBhcnNlRG91YmxlKTogTWFrZSBub24tbmF0aXZlIGFuZCBjYWxsIG5hdGl2ZSBtZXRob2QgZnJvbSBWTURvdWJsZS4KCSh0b1N0cmluZyk6IFJlbW92ZWQuCgkqIGphdmEvbGFuZy9GbG9hdC5qYXZhCgkodG9TdHJpbmcpOiBDYWxsIG5hdGl2ZSBtZXRob2QgZnJvbSBWTURvdWJsZS4KCSogamF2YS9sYW5nL09iamVjdC5qYXZhCgkoZ2V0Q2xhc3MpOiBSZWZhY3RvcmVkIHRvIGNhbGwgdGhlIG5hdGl2ZSBpbiBqYXZhLmxhbmcuVk1PYmplY3QuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW06IERvbid0IGdlbmVyYXRlIGphdmFfbGFuZ19Eb3VibGUuaCBhbmQKCWphdmFfbGFuZ19PYmplY3QuaC4KCSogbmF0aXZlL2puaS9qYXZhLWxhbmcvTWFrZWZpbGUuYW06IFJlbW92ZWQgamF2YV9sYW5nX0RvdWJsZS5jIGFuZAoJamF2YV9sYW5nX09iamVjdC5jLgoJKiBuYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfVk1Eb3VibGUuYwoJKGluaXRJRHMpOiBOZXcgbWV0aG9kLgoJKHRvU3RyaW5nKTogTGlrZXdpc2UuCgkocGFyc2VEb3VibGUpOiBMaWtld2lzZS4KCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTURvdWJsZS5qYXZhCgkoaW5pdElEcyk6IExpa2V3aXNlLgoJKHRvU3RyaW5nKTogTGlrZXdpc2UuCgkocGFyc2VEb3VibGUpOiBMaWtld2lzZS4KCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTU9iamVjdC5qYXZhCgkoZ2V0Q2xhc3MpOiBMaWtld2lzZS4KCjIwMDUtMDQtMTUgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3RleHQvRGVjaW1hbEZvcm1hdFN5bWJvbHMuamF2YToKCUFkZGVkIHJldHJpZXZhbCBvZiAiWFhYIiBpbnN0YW5jZSBpbiBwbGFjZSBvZiBudWxsLgoJKiBqYXZhL3V0aWwvQ3VycmVuY3kuamF2YSwKCShDdXJyZW5jeShTdHJpbmcpKTogTmV3IGNvbnN0cnVjdG9yIGZvciB0aGUgWFhYIHNwZWNpYWwgY2FzZS4KCShnZXRJbnN0YW5jZShTdHJpbmcpKTogQWxsb3cgc3BlY2lhbCBjYXNlIG9mICJYWFgiLgoKMjAwNS0wNC0xNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENvbXBvbmVudERlZmF1bHRzKTogQWRkZWQgTGFiZWwuZm9udC4KCShpbml0U3lzdGVtQ29sb3JEZWZhdWx0cyk6IEFkZGVkIHRoaXMgbWV0aG9kIGFuZCBhZGp1c3RlZCB0aGUKCWdlbmVyYWwgY29udHJvbCBjb2xvci4KCjIwMDUtMDQtMTUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVGFiYmVkUGFuZVVJLmphdmE6CglBZGRlZCBuZXdsaW5lIGJldHdlZW4gaW1wb3J0IGJsb2Nrcy4gQ2hhbmdlZCBNYXAgdG8KCUhhc2hNYXAgaW4gZmllbGQgZGVjbGFyYXRpb25zLgoKMjAwNS0wNC0xNSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9FbmNvZGluZ0hlbHBlci5qYXZhOiBBZGRlZCBtZXRob2QKCSogamF2YS9pby9JbnB1dFN0cmVhbVJlYWRlci5qYXZhLAoJKiBqYXZhL2lvL091dHB1dFN0cmVhbVdyaXRlci5qYXZhLAoJKiBqYXZhL2xhbmcvU3RyaW5nLmphdmE6IE1vdmUgdG8gTklPIGNoYXJzZXRzLgoJKiBqYXZhL2lvL1ByaW50U3RyZWFtLmphdmE6IElubGluZSBjb252ZXJzaW9uIHVzaW5nIFN0cmluZy4KCjIwMDUtMDQtMTUgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQm9yZGVycy5qYXZhOgoJQWRkZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCdXR0b25VSS5qYXZhOgoJKGluc3RhbGxEZWZhdWx0cyk6IEluc3RhbGwgYnV0dG9uIGZvbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhOgoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZGVkIGJ1dHRvbiBib3JkZXIsIGZvbnQgYW5kIG1hcmdpbi4KCUNoYW5nZWQgY29tcG9uZW50cyBiYWNrZ3JvdW5kIGNvbG9yIHRvIHRoZSBNZXRhbCBjdXJyZW50IHRoZW1lcwoJc3RhbmRhcmQgY29sb3IuCgoyMDA1LTA0LTE1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRhYmJlZFBhbmVVSS5qYXZhCgkoY3JlYXRlVUkpOiBDcmVhdGUgb25lIE1ldGFsVGFiYmVkUGFuZVVJIHBlciBDb21wb25lbnQgaW5zdGVhZAoJb2Ygc2hhcmluZyBvbmUgaW5zdGFuY2UuCgoyMDA1LTA0LTE1ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBBZGRlZCB0byBzZXQgTWV0YWwgc3BlY2lmaWMgY29tcG9uZW50CglkZWZhdWx0cy4KCjIwMDUtMDQtMTQgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGphdmEvaW8vRGF0YU91dHB1dFN0cmVhbS5qYXZhICh3cml0ZVVURik6IFVzZSBibG9jayB3cml0ZSBmb3IKCW91dHB1dC4KCjIwMDUtMDQtMTQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoaW5pdENsYXNzRGVmYXVsdHMpOiBDYWxsIHN1cGVyLmluaXRDbGFzc0RlZmF1bHRzKCkuCgoyMDA1LTA0LTE0ICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShpbml0Q2xhc3NEZWZhdWx0cyk6IEFkZGVkIHRvIGluY2x1ZGUgdGhlICpVSSBjbGFzc2VzLgoKMjAwNS0wNC0xNCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxDb21ib0JveFVJLmphdmE6CglBZGRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbERlc2t0b3BJY29uVUkuamF2YToKCUFkZGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsSW50ZXJuYWxGcmFtZVVJLmphdmE6CglBZGRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFBvcHVwTWVudVNlcGFyYXRvclVJLmphdmE6CglBZGRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFByb2dyZXNzQmFyVUkuamF2YToKCUFkZGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsUm9vdFBhbmVVSS5qYXZhOgoJQWRkZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTY3JvbGxCYXJVSS5qYXZhOgoJQWRkZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTZXBhcmF0b3JVSS5qYXZhOgoJQWRkZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTbGlkZXJVSS5qYXZhOgoJQWRkZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxTcGxpdFBhbmVVSS5qYXZhOgoJQWRkZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUZXh0RmllbGRVSS5qYXZhOgoJQWRkZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUb2dnbGVCdXR0b25VSS5qYXZhOgoKMjAwNS0wNC0xNCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxCdXR0b25VSS5qYXZhOgoJRml4ZWQgeWVhciBpbiBjb3B5cmlnaHQgbm90aWNlLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ2hlY2tCb3hVSS5qYXZhOgoJRml4ZWQgeWVhciBpbiBjb3B5cmlnaHQgbm90aWNlLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTGFiZWxVSS5qYXZhOgoJRml4ZWQgeWVhciBpbiBjb3B5cmlnaHQgbm90aWNlLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsUmFkaW9CdXR0b25VSS5qYXZhOgoJRml4ZWQgeWVhciBpbiBjb3B5cmlnaHQgbm90aWNlLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsUGFuZVVJLmphdmE6CglGaXhlZCB5ZWFyIGluIGNvcHlyaWdodCBub3RpY2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUYWJiZWRQYW5lVUkuamF2YToKCUZpeGVkIHllYXIgaW4gY29weXJpZ2h0IG5vdGljZS4KCjIwMDUtMDQtMTMgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQnV0dG9uVUkuamF2YToKCUFkZGVkIHNrZWxldG9uIGNsYXNzLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsQ2hlY2tCb3hVSS5qYXZhOgoJQWRkZWQgc2tlbGV0b24gY2xhc3MuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMYWJlbFVJLmphdmE6CglBZGRlZCBza2VsZXRvbiBjbGFzcy4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFJhZGlvQnV0dG9uVUkuamF2YToKCUFkZGVkIHNrZWxldG9uIGNsYXNzLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsU2Nyb2xsUGFuZVVJLmphdmE6CglBZGRlZCBza2VsZXRvbiBjbGFzcy4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRhYmJlZFBhbmVVSS5qYXZhOgoJQWRkZWQgc2tlbGV0b24gY2xhc3MuCgoyMDA1LTA0LTEzICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvbmlvL2NoYXJzZXQvQ2hhcnNldC5qYXZhOiBDYWNoZWQgZW5jb2RlcnMgc2hvdWxkbid0IGJlIHN0YXRpYy4KCQoyMDA1LTA0LTEzICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvTWVkaWFUcmFja2VyLmphdmE6CglSZWluZGVudGVkIHRhYnMgdG8gc3BhY2VzLgoKMjAwNS0wNC0xMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L01lZGlhVHJhY2tlci5qYXZhCgkoTWVkaWFFbnRyeS5pbWFnZVVwZGF0ZSk6IFJlbW92ZWQgY2hlY2sgZm9yIFNPTUVCSVRTLCB0aGlzCgljb25mdXNlZCB0aGUgbWVkaWEgdHJhY2tlciBhbmQgbGVhZCB0byBsb2NrdXBzLiBUaGUgTE9BRElORwoJYml0IGlzIGhhbmRsZWQgb24gb3RoZXIgcGxhY2VzLgoJKGFkZEltYWdlKTogUmVtb3ZlZCB0aGUgJ3N0YXJ0IGltYWdlIHRyYWNraW5nJyBzdHVmZi4gVGhpcwoJaXMgbm90IG5lY2Vzc2FyeSBhbmQgY291bGQgY29uZnVzZSB0aGUgbWVkaWEgdHJhY2tlci4KCShjaGVja0FsbCk6IEltcHJvdmVkIHRoZSBjaGVjayBmb3IgaW1hZ2Ugc3RhdHVzIHNvIHRoYXQKCWltYWdlcyB0aGF0IGFscmVhZHkgY29tcGxldGUgaW1hZ2VzIGFyZSBkZXRlY3RlZC4gQWxzbyBub3cKCWFyZSByZWFsbHkgYWxsIGltYWdlcyBjaGVja2VkIGFuZCBpZiBuZWNlc3NhcnkgbG9hZGVkLiBCZWZvcmUKCXRoZSBtZXRob2QgYmFpbGVkIG91dCBhZnRlciB0aGUgZmlyc3QgaW5jb21wbGV0ZSBpbWFnZS4KCShzdGF0dXNBbGwpOiBEZXRlY3QgaW1hZ2VzIHRoYXQgYXJlIGNvbXBsZXRlIGFmdGVyIHRoZQoJY2FsbCB0byBDb21wb25lbnQucHJlcGFyZUltYWdlKC4uKS4KCShjaGVja0lEKTogVGhlIHNhbWUgYXMgaW4gY2hlY2tBbGwuCgkoc3RhdHVzSUQpOiBUaGUgc2FtZSBhcyBpbiBzdGF0dXNBbGwuCgoyMDA1LTA0LTEyICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS91dGlsLy5jdnNpZ25vcmU6CglBZGRlZCBmaWxlIGFuZCBpbmNsdWRlZCBMb2NhbGVEYXRlLmphdmEuCgkqIGxpYi8uY3ZzaWdub3JlOgoJQWRkZWQgY2xhc3Nlcy5sb2NhbGUuCgkqIHNjcmlwdHMvLmN2c2lnbm9yZToKCUFkZGVkIGNsYXNzcGF0aC5zcGVjLgoKMjAwNS0wNC0xMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51VUkuamF2YQoJKGdldE1heGltdW1TaXplKTogTm93IHJldHVybnMgcHJlZmVycmVkU2l6ZSBiZWNhdXNlIEpNZW51IHNob3VsZAoJbmV2ZXIgYmUgYmlnZ2VyIHRoYW4gdGhhdC4KCSogamF2YXgvc3dpbmcvSlJvb3RQYW5lCgkoUm9vdExheW91dC5sYXlvdXRDb250YWluZXIpOiBNYWtlIEpNZW51QmFycyB0YWtlIHRoZSB3aG9sZSB3aWR0aC4KCjIwMDUtMDQtMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUJhclVJLmphdmE6CglGaXhlZCB0YWJzIHRvIHNwYWNlcy4KCjIwMDUtMDQtMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YToKCUZpeGVkIHZhcmlvdXMgdGFicyB0byBiZSBzcGFjZXMuCgkoUm9vdExheW91dC5sYXlvdXRDb250YWluZXIpOiBNYWRlIG1lbnViYXIgbGVmdCBhbGlnbmVkLgoKMjAwNS0wNC0xMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YToKCU1vZGlmaWVkIGFsaWdubWVudFggYW5kIGFsaWdubWVudFkgdG8gYmUgMC41IGluc3RlYWQgb2YgMC4wLgoJVW50YWJpZmllZCB0aGUgZmlsZS4KCjIwMDUtMDQtMTIgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9Cb3hMYXlvdXQuamF2YToKCShsYXlvdXRDb250YWluZXIpOiBNYWRlIHRoaXMgbGF5b3V0IG1hbmFnZXIgcmVzcGVjdCB0aGUKCW1pbmltdW0sIG1heGltdW0gYW5kIHByZWZlcnJlZCBzaXplIG1vcmUgY29ycmVjdGx5LgoKMjAwNS0wNC0xMiAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L01lZGlhVHJhY2tlci5qYXZhCgkoYWRkSW1hZ2UpOiBTeW5jaHJvbml6ZWQgbGlzdCBhY2Nlc3MuCgkod2FpdEZvckFsbCk6IEZpeGVkIGNvbXBhcmlzb24gb2YgdGltZSAoY2hhbmdlZCA8IHRvID4pLgoJKHdhaXRGb3JJRCk6IEZpeGVkIGNvbXBhcmlzb24gb2YgdGltZSAoY2hhbmdlZCA8IHRvID4pLgoJKHJlbW92ZUltYWdlKTogU3luY2hyb25pemVkIGxpc3QgYWNjZXNzLgoKMjAwNS0wNC0xMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvaW8vRmlsZVBlcm1pc3Npb24uamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBNYWRlIHByaXZhdGUuCgkoQUxMX0ZJTEVTKTogTmV3IGNvbnN0YW50LgoJKGltcGxpZXMpOiBIYW5kbGUgJzw8QUxMIEZJTEVTPj4nIGNhc2UuCgoyMDA1LTA0LTEyICBBdWRyaXVzIE1lc2thdXNrYXMsIExpdGh1YW5pYSAgPEF1ZHJpdXNBQEJpb2luZm9ybWF0aWNzLm9yZz4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MRG9jdW1lbnQuamF2YTogTmV3IGZpbGUuCgoyMDA1LTA0LTEyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxGcmFtZUh5cGVybGlua0V2ZW50LmphdmE6CglSZWZvcm1hdHRlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9BdHRyaWJ1dGVMaXN0LmphdmE6CglGaXhlZCBvcmRlciBvZiBtb2RpZmllcnMuCgkoQXR0cmlidXRlTGlzdCk6IE1hZGUgZmluYWwuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvQ29udGVudE1vZGVsLmphdmE6CglGaXhlZCBodG1sIGNoYXJhY3RlcnMgaW4gamF2YWRvY3MuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvRFRELmphdmEKCShEVEQpOiBEb24ndCBpbXBsZW1lbnQgamF2YS5pby5TZXJpYWxpemFibGUgZGlyZWN0bHkuCgkoZ2V0RWxlbWVudCk6IFNpbXBsaWZpZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvRFREQ29uc3RhbnRzLmphdmE6CglSZWZvcm1hdHRlZCBmaWxlLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0VsZW1lbnQuamF2YToKCUZpeGVkIG9yZGVyIG9mIG1vZGlmaWVycy4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9QYXJzZXIuamF2YToKCVJlZm9ybWF0dGVkLiBEb24ndCB1c2UgZnVsbHktcXVhbGlmaWVkIGNsYXNzIG5hbWVzLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1BhcnNlckRlbGVnYXRvci5qYXZhOgoJRml4ZWQgb3JkZXIgb2YgbW9kaWZpZXJzLgoJKiBqYXZheC9zd2luZy90ZXh0L3J0Zi9SVEZQYXJzZXIuamF2YToKCVJlLW9yZGVyZWQgaW1wb3J0IHN0YXRlbWVudHMuCgkqIGphdmF4L3N3aW5nL3RleHQvcnRmL1JURlNjYW5uZXIuamF2YToKCVJlbW92ZWQgdW51c2VkIGltcG9ydCBzdGF0ZW1lbnQuCgoyMDA1LTA0LTEyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvaW1hZ2UvUmFzdGVyT3AuamF2YToKCUZpeGVkIHdyb25nIGZvcm1hdHRpbmcuCgoyMDA1LTA0LTEyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvcHJpbnQvUHJpbnRlckpvYi5qYXZhCgkocGFnZURpYWxvZyk6IE5ldyBtZXRob2QuCgkocHJpbnREaWFsb2cpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMDQtMTIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9Gb250TWV0cmljcy5qYXZhOiBSZWZvcm1hdHRlZC4KCShnZXRGb250UmVuZGVyQ29udGV4dCk6IEhhbmRsZSBjYXNlIHdoZW4gamF2YS5hd3QuR3JhcGhpY3MgY29udGV4dCBpcwoJZ2l2ZW4uCgoyMDA1LTA0LTEyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvRm9udE1ldHJpY3MuamF2YQoJKGdldFN0cmluZ0JvdW5kcyk6IE5ldyBtZXRob2RzLgoKMjAwNS0wNC0xMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L05ldHdvcmtJbnRlcmZhY2UuamF2YQoJKE5ldHdvcmtJbnRlcmZhY2UpOiBNYWRlIGNvbnN0cnVjdG9yIHBhY2thZ2UgcHJpdmF0ZS4KCUludHJvZHVjZWQgYW5vdGhlciBjb25zdHJ1Y3RvciBmb3IgbW9yZSBhZGRyZXNzZXMgb24gb25lCglpbnRlcmZhY2UuCgoyMDA1LTA0LTEyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogbmF0aXZlL2puaS9qYXZhLW5ldC9NYWtlZmlsZS5hbQoJQ29tcGlsZSBuZXcgZmlsZXMgamF2YV9uZXRfVk1JbmV0QWRkcmVzcy5jIGFuZAoJamF2YV9uZXRfVk1OZXR3b3JrSW50ZXJmYWNlLgoKMjAwNS0wNC0xMiAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9Qcm92aWRlci5qYXZhOiBBZGQgVW5pY29kZUxpdHRsZS4KCSogZ251L2phdmEvbmlvL2NoYXJzZXQvVW5pY29kZUxpdHRsZS5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzE2LmphdmE6IFVuaWNvZGVCaWcgaXMgYW4gYWxpYXMuCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNkJFLmphdmEsCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNkxFLmphdmE6IE5vIGJ5dGUtb3JkZXIgbWFyay4KCSogZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzE2RW5jb2Rlci5qYXZhIChlbmNvZGVMb29wKTogRml4ZWQgYnVnLgoJCjIwMDUtMDQtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9JbmV0QWRkcmVzcy5qYXZhCgkoc3RhdGljKTogUmVtb3ZlZC4KCShnZXRMb2NhbEhvc3RuYW1lKTogTGlrZXdpc2UuCgkobG9va3VwSW5hZGRyQW55KTogTGlrZXdpc2UuCgkoZ2V0SG9zdEJ5QWRkcik6IExpa2V3aXNlLgoJKGdldEhvc3RCeU5hbWUpOiBMaWtld2lzZS4KCSogamF2YS9uZXQvTmV0d29ya0ludGVyZmFjZS5qYXZhCgkoc3RhdGljKTogTGlrZXdpc2UuCgkoZ2V0UmVhbE5ldHdvcmtJbnRlcmZhY2VzKTogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvamF2YS1uZXQvamF2YV9uZXRfSW5ldEFkZHJlc3MuYzogUmVuYW1lZCB0by4uLgoJKiBuYXRpdmUvam5pL2phdmEtbmV0L2phdmFfbmV0X1ZNSW5ldEFkZHJlc3MuYzogTmV3IGZpbGUuCglSZW5hbWVkIGZyb20gamF2YV9uZXRfSW5ldEFkZHJlc3MuYy4gQWxsIG5hdGl2ZSBtZXRob2RzIG1vdmVkIHRvIGNsYXNzCglWTUluZXRBZGRyZXNzLgoJKiBuYXRpdmUvam5pL2phdmEtbmV0L2phdmFfbmV0X05ldHdvcmtJbnRlcmZhY2UuYzogUmVuYW1lZCB0by4uLgoJUmVuYW1lZCBmcm9tIGphdmFfbmV0X05ldHdvcmtJbnRlcmZhY2UuYy4gQWxsIG5hdGl2ZSBtZXRob2RzIG1vdmVkIHRvCgljbGFzcyBWTU5ldHdvcmtJbnRlcmZhY2UuCgkqIG5hdGl2ZS9qbmkvamF2YS1uZXQvamF2YV9uZXRfVk1OZXR3b3JrSW50ZXJmYWNlLmM6IE5ldyBmaWxlLgoJKiB2bS9yZWZlcmVuY2UvamF2YS9uZXQvVk1JbmV0QWRkcmVzcy5qYXZhLAoJdm0vcmVmZXJlbmNlL2phdmEvbmV0L1ZNTmV0d29ya0ludGVyZmFjZS5qYXZhOiBOZXcgZmlsZXMuCgkqIGluY2x1ZGUvamF2YV9uZXRfSW5ldEFkZHJlc3MuaCwKCWluY2x1ZGUvamF2YV9uZXRfTmV0d29ya0ludGVyZmFjZS5oOiBSZW1vdmVkLgoJKiBpbmNsdWRlL2phdmFfbmV0X1ZNSW5ldEFkZHJlc3MuaCwKCWluY2x1ZGUvamF2YV9uZXRfVk1OZXR3b3JrSW50ZXJmYWNlLmg6IE5ldyBmaWxlcy4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogQnVpbGQgbmV3IGhlYWRlciBmaWxlcy4KCjIwMDUtMDQtMTEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9JbWFnZUljb24uamF2YQoJQWRkZWQgQVBJIGRvY3VtZW50YXRpb24uCgoyMDA1LTA0LTExICBSb21hbiBLZW5ua2UgIDxyb21hbkBrZW5ua2Uub3JnPgoKCSogamF2YS9hd3QvTWVkaWFUcmFja2VyLmphdmEKCUFkZGVkIEFQSSBkb2N1bWVudGF0aW9uLgoKMjAwNS0wNC0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VJTy5qYXZhIChSZWFkZXJGb3JtYXRGaWx0ZXIuZmlsdGVyKToKCUZpeGVkIHdyb25nIGNhc3RpbmcuCgoyMDA1LTA0LTExICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogb3JnL29tZy9DT1JCQS9SZXF1ZXN0LmphdmE6Cgkoc2VuZF9kZWZlcnJlZCk6IEFkZGVkIG1pc3NpbmcgJ2Fic3RyYWN0JyBrZXl3b3JkLgoJCjIwMDUtMDQtMTAgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YToKCShmb3JtYXRXaXRoQXR0cmlidXRlKTogUGFkIHllYXIgYmVmb3JlIHRydW5jYXRpbmcgZGlnaXRzLgoKMjAwNS0wNC0xMCAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4JCgkqIG9yZy9vbWcvQ09SQkEvUFJJVkFURV9NRU1CRVIuamF2YSwKCW9yZy9vbWcvQ09SQkEvUFVCTElDX01FTUJFUi5qYXZhLAoJb3JnL29tZy9DT1JCQS9SZXF1ZXN0LmphdmEsCglvcmcvb21nL0NPUkJBL1N0cnVjdE1lbWJlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Vbmlvbk1lbWJlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VTlNVUFBPUlRFRF9QT0xJQ1kuamF2YSwKCW9yZy9vbWcvQ09SQkEvVU5TVVBQT1JURURfUE9MSUNZX1ZBTFVFLmphdmEsCglvcmcvb21nL0NPUkJBL1ZhbHVlTWVtYmVyLmphdmEsCglvcmcvb21nL0NPUkJBL1ZNX0FCU1RSQUNULmphdmEsCglvcmcvb21nL0NPUkJBL1ZNX0NVU1RPTS5qYXZhLAoJb3JnL29tZy9DT1JCQS9WTV9OT05FLmphdmEsCglvcmcvb21nL0NPUkJBL1ZNX1RSVU5DQVRBQkxFLmphdmEsCglvcmcvb21nL0NPUkJBL1dyb25nVHJhbnNhY3Rpb24uamF2YSwKCW9yZy9vbWcvQ09SQkEvQkFEX1BPTElDWS5qYXZhLAoJb3JnL29tZy9DT1JCQS9CQURfUE9MSUNZX1RZUEUuamF2YSwKCW9yZy9vbWcvQ09SQkEvQkFEX1BPTElDWV9WQUxVRS5qYXZhLAoJb3JnL29tZy9DT1JCQS9FbnZpcm9ubWVudC5qYXZhLAoJb3JnL29tZy9DT1JCQS9JRExUeXBlLmphdmEsCglvcmcvb21nL0NPUkJBL09NR1ZNQ0lELmphdmE6IG5ldyBmaWxlcy4KCQoyMDA1LTA0LTA5ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfRG91YmxlLmM6IFJlaW5kZW50LgoJKiBuYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfTWF0aC5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9qYXZhLWxhbmcvamF2YV9sYW5nX09iamVjdC5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9qYXZhLWxhbmcvamF2YV9sYW5nX1ZNRG91YmxlLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfVk1GbG9hdC5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9qYXZhLWxhbmcvamF2YV9sYW5nX1ZNU3lzdGVtLmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfcmVmbGVjdF9BcnJheS5jOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9qYXZhLW5pby9qYXZhX25pby5jCgkoSmF2YV9nbnVfamF2YV9uaW9fRmlsZUNoYW5uZWxJbXBsX25pb18xbW1hcF8xZmlsZSk6IFJlbW92ZWQuCgkoSmF2YV9nbnVfamF2YV9uaW9fRmlsZUNoYW5uZWxJbXBsX25pb18xdW5tbWFwXzFmaWxlKTogTGlrZXdpc2UuCgkoSmF2YV9nbnVfamF2YV9uaW9fU29ja2V0Q2hhbm5lbEltcGxfU29ja2V0Q3JlYXRlKTogTGlrZXdpc2UuCgkoSmF2YV9nbnVfamF2YV9uaW9fU29ja2V0Q2hhbm5lbEltcGxfU29ja2V0Q29ubmVjdCk6IExpa2V3aXNlLgoJKEphdmFfZ251X2phdmFfbmlvX1NvY2tldENoYW5uZWxJbXBsX1NvY2tldEJpbmQpOiBMaWtld2lzZS4KCShKYXZhX2dudV9qYXZhX25pb19Tb2NrZXRDaGFubmVsSW1wbF9Tb2NrZXRMaXN0ZW4pOiBMaWtld2lzZS4KCShKYXZhX2dudV9qYXZhX25pb19Tb2NrZXRDaGFubmVsSW1wbF9Tb2NrZXRBdmFpbGFibGUpOiBMaWtld2lzZS4KCShKYXZhX2dudV9qYXZhX25pb19Tb2NrZXRDaGFubmVsSW1wbF9Tb2NrZXRDbG9zZSk6IExpa2V3aXNlLgoJKEphdmFfZ251X2phdmFfbmlvX1NvY2tldENoYW5uZWxJbXBsX1NvY2tldFJlYWQpOiBMaWtld2lzZS4KCShKYXZhX2dudV9qYXZhX25pb19Tb2NrZXRDaGFubmVsSW1wbF9Tb2NrZXRXcml0ZSk6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2phdmFfbmlvX1ZNRGlyZWN0Qnl0ZUJ1ZmZlci5jOiBSZWluZGVudC4KCjIwMDUtMDQtMDkgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CQoJKiBvcmcvb21nL0NPUkJBL0R5bkFueVBhY2thZ2UvSW52YWxpZC5qYXZhLAoJb3JnL29tZy9DT1JCQS9EeW5BbnlQYWNrYWdlL0ludmFsaWRTZXEuamF2YSwKCW9yZy9vbWcvQ09SQkEvRHluQW55UGFja2FnZS9JbnZhbGlkVmFsdWUuamF2YSwKCW9yZy9vbWcvQ09SQkEvRHluQW55UGFja2FnZS9UeXBlTWlzbWF0Y2guamF2YSwKCW9yZy9vbWcvQ09SQkEvRHluQW55UGFja2FnZS9wYWNrYWdlLmh0bWw6IE5ldyBmaWxlcy4KCQoyMDA1LTA0LTA4ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L1VURl84LmphdmEKCShEZWNvZGVyKTogUHJldmlvdXMgZml4IHdhcyBpbmNvcnJlY3QuIFNvcnJ5LgoJKiBqYXZhL25pby9jaGFyc2V0L0NoYXJzZXQuamF2YTogUmVzZXQgY2FjaGVkIGRlL2VuY29kZXJzLgoJKiBqYXZhL25pby9jaGFyc2V0L0NoYXJzZXREZWNvZGVyLmphdmEsCglqYXZhL25pby9jaGFyc2V0L0NoYXJzZXRFbmNvZGVyLmphdmE6CglSZXNpemUgZW5jb2RpbmcvZGVjb2RpbmcgcmVzdWx0IGJ1ZmZlcnMuCgkKMjAwNS0wNC0wOCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9Qcm92aWRlci5qYXZhOiBBZGQgbmV3IGNoYXJzZXRzLgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9VVEZfMTYuamF2YTogRGVmYXVsdCB0byB1c2luZyBCT00uCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNkRlY29kZXIuamF2YTogTWlub3IgZml4ZXMuCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNkVuY29kZXIuamF2YSwKCVVzZSBOSU8ncyBidWlsdC1pbiBieXRlLW9yZGVyaW5nIGluc3RlYWQuCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L1VURl84LmphdmEsCgkoRGVjb2Rlcik6IENvcnJlY3QgdmFsdWVzIG9mIG1heGltdW0gY2hhcnMgcGVyIGJ5dGUuCgkoZGVjb2RlTG9vcCk6IEhhbmRsZSA0LWJ5dGUgc3Vycm9nYXRlcy4KCSogZ251L2phdmEvbmlvL2NoYXJzZXQvQnl0ZUNoYXJzZXQuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L0NwNDI0LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9DcDQzNy5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvQ3A3MzcuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L0NwNzc1LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9DcDg1MC5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvQ3A4NTIuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L0NwODU1LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9DcDg1Ny5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvQ3A4NjAuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L0NwODYxLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9DcDg2Mi5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvQ3A4NjMuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L0NwODY0LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9DcDg2NS5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvQ3A4NjYuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L0NwODY5LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9DcDg3NC5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvRW5jb2RpbmdIZWxwZXIuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L0lTT184ODU5XzEzLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9JU09fODg1OV8xNS5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvSVNPXzg4NTlfMi5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvSVNPXzg4NTlfMy5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvSVNPXzg4NTlfNC5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvSVNPXzg4NTlfNS5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvSVNPXzg4NTlfNi5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvSVNPXzg4NTlfNy5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvSVNPXzg4NTlfOC5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvSVNPXzg4NTlfOS5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvS09JXzguamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L01TODc0LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9NYWNDZW50cmFsRXVyb3BlLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9NYWNDcm9hdGlhbi5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvTWFjQ3lyaWxsaWMuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L01hY0RpbmdiYXQuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L01hY0dyZWVrLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9NYWNJY2VsYW5kLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9NYWNSb21hbi5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvTWFjUm9tYW5pYS5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvTWFjU3ltYm9sLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9NYWNUaGFpLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9NYWNUdXJraXNoLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9XaW5kb3dzMTI1MC5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvV2luZG93czEyNTEuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1dpbmRvd3MxMjUyLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9XaW5kb3dzMTI1My5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvV2luZG93czEyNTQuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1dpbmRvd3MxMjU1LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9XaW5kb3dzMTI1Ni5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvV2luZG93czEyNTcuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1dpbmRvd3MxMjU4LmphdmE6CglOZXcgZmlsZXMuCgkKMjAwNS0wNC0wOCAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L01lZGlhVHJhY2tlci5qYXZhCgkoTWVkaWFFbnRyeS5pbWFnZVVwZGF0ZSk6IEZpeGVkIGZsYWdzLiBUaGUgZGlmZmVyZW50IGZsYWdzCgltdXN0IG5vdCBiZSBPUmVkIHRvZ2V0aGVyLgoJKGNoZWNrQWxsKTogTW9kaWZpZWQgdG8gaGFuZGxlIGRpZmZlcmVudCBtZWFuaW5nIG9mIHRoZSBmbGFncy4KCSh3YWl0Rm9yQWxsKTogRml4ZWQgc28gdGhhdCBpdCB3YWl0cyBtYXhpbXVtIHRoZQoJc3BlY2lmaWVkIGFtb3VudCBvZiBtaWxsaXNlY29uZHMuCgkoc3RhdHVzQWxsKTogTW9kaWZpZWQgdG8gaGFuZGxlIGRpZmZlcmVudCBtZWFuaW5nIG9mIHRoZSBmbGFncy4KCSh3YWl0Rm9ySUQpOiBGaXhlZCBzbyB0aGF0IGl0IHdhaXRzIG1heGltdW0gdGhlCglzcGVjaWZpZWQgYW1vdW50IG9mIG1pbGxpc2Vjb25kcy4KCjIwMDUtMDQtMDggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0ltYWdlSWNvbi5qYXZhCgkoSW1hZ2VJY29uKTogVXNlIHNldEltYWdlIGluc3RlYWQgb2YgZGlyZWN0IGFzc2lnbm1lbnQuCgkoc2V0SW1hZ2UpOiBDYWxsIGxvYWRJbWFnZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgaW1hZ2UgaXMgbG9hZGVkLgoJKGxvYWRJbWFnZSk6IFdhaXRzIGZvciB0aGUgaW1hZ2UgdG8gY29tcGxldGUgbG9hZGluZy4KCShnZXRJbWFnZUxvYWRTdGF0dXMpOiBBZGRlZC4gUmV0dXJucyB0aGUgbG9hZCBzdGF0dXMgb2YgdGhlCglpbWFnZS4KCjIwMDUtMDQtMDggIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBuYXRpdmUvam5pL2NsYXNzcGF0aC9qY2wuaCwKCW5hdGl2ZS9qbmkvamF2YS1pby9qYXZhX2lvX09iamVjdElucHV0U3RyZWFtLmMsCgluYXRpdmUvam5pL2phdmEtaW8vamF2YV9pb19WTUZpbGUuYywKCW5hdGl2ZS9qbmkvamF2YS1pby9qYXZhX2lvX1ZNT2JqZWN0U3RyZWFtQ2xhc3MuYywKCW5hdGl2ZS9qbmkvamF2YS1pby9qYXZhaW8uYywKCW5hdGl2ZS9qbmkvamF2YS1sYW5nL2phdmFfbGFuZ19Eb3VibGUuYywKCW5hdGl2ZS9qbmkvamF2YS1sYW5nL2phdmFfbGFuZ19NYXRoLmMsCgluYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfT2JqZWN0LmMsCgluYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfVk1Eb3VibGUuYywKCW5hdGl2ZS9qbmkvamF2YS1sYW5nL2phdmFfbGFuZ19WTUZsb2F0LmMsCgluYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfVk1Qcm9jZXNzLmMsCgluYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfVk1TeXN0ZW0uYywKCW5hdGl2ZS9qbmkvamF2YS1sYW5nL2phdmFfbGFuZ19yZWZsZWN0X0FycmF5LmMsCgluYXRpdmUvam5pL2phdmEtbmV0L2dudV9qYXZhX25ldF9QbGFpbkRhdGFncmFtU29ja2V0SW1wbC5jLAoJbmF0aXZlL2puaS9qYXZhLW5ldC9nbnVfamF2YV9uZXRfUGxhaW5Tb2NrZXRJbXBsLmMsCgluYXRpdmUvam5pL2phdmEtbmV0L2phdmFfbmV0X0luZXRBZGRyZXNzLmMsCgluYXRpdmUvam5pL2phdmEtbmV0L2phdmFfbmV0X05ldHdvcmtJbnRlcmZhY2UuYywKCW5hdGl2ZS9qbmkvamF2YS1uZXQvamF2YW5ldC5jLAoJbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fVk1QaXBlLmMsCgluYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGwuYywKCW5hdGl2ZS9qbmkvamF2YS1uaW8vamF2YV9uaW8uYywKCW5hdGl2ZS9qbmkvamF2YS1uaW8vamF2YV9uaW9fTWFwcGVkQnl0ZUJ1ZmZlckltcGwuYywKCW5hdGl2ZS9qbmkvamF2YS1uaW8vamF2YV9uaW9fVk1EaXJlY3RCeXRlQnVmZmVyLmMsCgluYXRpdmUvam5pL2phdmEtdXRpbC9qYXZhX3V0aWxfVk1UaW1lWm9uZS5jOiBSZWluZGVudGVkIHVzaW5nIAoJR05VIGluZGVudCAoR05VIHN0eWxlKS4KCjIwMDUtMDQtMDggIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShKVGV4dENvbXBvbmVudCk6IEFkZGVkIHJlcGFpbnRMaXN0ZW5lciB3aGljaCBpc3N1ZXMgcmVwYWludAoJcmVxdWVzdHMgd2hlbiB0aGUgdW5kZXJseWluZyBkb2N1bWVudCBjaGFuZ2VzLgoJKHNldERvY3VtZW50KTogQWRkcyByZXBhaW50TGlzdGVuZXIgdG8gZG9jdW1lbnQgd2hlbiB0aGUKCWRvY3VtZW50IGlzIGNoYW5nZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhOgoJUmVtb3ZlZCByZXBhaW50IGNhbGxzIG9uIEpUZXh0Q29tcG9uZW50LiBUaGlzIGlzIG5vdyBoYW5kbGVkCgl0aHJvdWdoIGEgRG9jdW1lbnRMaXN0ZW5lciBpbiBKVGV4dENvbXBvbmVudCB0aGF0IHJlcGFpbnRzCgl0aGUgY29tcG9uZW50IHdoZW4gbmVlZGVkLgoKMjAwNS0wNC0wNyAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L2phdmEvbmV0L0NSTEZJbnB1dFN0cmVhbS5qYXZhOiBSZXdyaXRlIHRvIHJldHVybgoJQ1JMRi1kZWxpbWl0ZWQgY2h1bmtzLgoKMjAwNS0wNC0wNyAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmF4L3N3aW5nL1VJRGVmYXVsdHMuamF2YToKCUFkZGVkIEFQSSBkb2N1bWVudGF0aW9uIGZvciBhbGwgbWV0aG9kcy4KCjIwMDUtMDQtMDYgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZheC9zd2luZy9VSURlZmF1bHRzLmphdmEKCShwdXQpOiBOb3cgdXNlcyBuZXcgY2hlY2tBbmRQdXQgbWV0aG9kIGluc3RlYWQgb2YgY2hlY2tpbmcKCWRpcmVjdGx5LgoJKHB1dERlZmF1bHRzKTogRml4ZWQgc28gdGhhdCBpdCBhY2NlcHRzIG51bGwtdmFsdWVzIGFuZAoJdHJlYXRzIHRoZW0gbGlrZSByZW1vdmUoa2V5KS4KCShjaGVja0FuZFB1dCk6IEFkZGVkLiBUaGlzIGNoZWNrcyBmb3IgbnVsbC12YWx1ZXMgYW5kIGNhbGxzCglwdXQgb3IgcmVtb3ZlLgoKMjAwNS0wNC0wNiAgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL0NUWF9SRVNUUklDVF9TQ09QRS5qYXZhLAoJb3JnL29tZy9DT1JCQS9FeGNlcHRpb25MaXN0LmphdmEsCglvcmcvb21nL0NPUkJBL05WTGlzdC5qYXZhLAoJUHJpbmNpcGFsSG9sZGVyLmphdmE6IE5ldyBjbGFzc2VzLgoJKiBvcmcvb21nL0NPUkJBL0NvbnRleHQuamF2YTogQ29tcGxldGluZwoJcGFydCwgZGVwZW5kZW50IGZyb20gY2xhc3NlcyBhYm92ZSwKCW9yZy9vbWcvQ09SQkEvTUFSU0hBTC5qYXZhOiBhY2Nlc3NpYmlsaXR5IGZpeGVzLgoKMjAwNS0wNC0wNSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtTY3JlZW5HcmFwaGljc0RldmljZS5qYXZhCgkoZ2V0RGlzcGxheU1vZGUpOiBBZGRlZC4gUmV0dXJucyB0aGUgY3VycmVudCBkaXNwbGF5IG1vZGUuCgkoaXNGdWxsU2NyZWVuU3VwcG9ydGVkKTogQWRkZWQuCgkqIGphdmEvYXd0L0dyYXBoaWNzRGV2aWNlLmphdmEKCShzZXRGdWxsU2NyZWVuV2luZG93KTogSW1wbGVtZW50ZWQgYSBwcmltaXRpdmUgZnVsbHNjcmVlbiBtb2RlLgoJVGhpcyByZXNpemVzIGFuZCByZWxvY2F0ZXMgdGhlIGZ1bGxzY3JlZW4gd2luZG93IHNvIHRoYXQgaXQgdXNlcwoJdGhlIHdob2xlIHNjcmVlbi4gVGhpcyBpcyBub3QgYSBmdWxseSBhY2NlbGVyYXRlZCBmdWxsc2NyZWVuCglleGNsdXNpdmUgbW9kZS4KCjIwMDUtMDQtMDMgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CglSZWkgT2RhaXJhIDxyYXlAaXMucy51LXRva3lvLmFjLmpwPgoKCSogbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fVk1TZWxlY3Rvci5jCgkoaGVscGVyX3NlbGVjdCk6IFJldHVybiB0aGUgZXJyb3IgbnVtYmVyLgoJKEphdmFfZ251X2phdmFfbmlvX1ZNU2VsZWN0b3Jfc2VsZWN0MCk6IElmIHRoZSByZXN1bHQgaXMgbmVnYXRpdmUKCWNvbnNpZGVyIGl0IGFzIHRoZSBlcnJvciBjb2RlLiBUaGlzIHByZXZlbnRzIGNvbmZsaWN0cyBiZXR3ZWVuIEVJTlRSCglhbmQgdGhlIG51bWJlciBvZiBmaWxlZGVzY3JpcHRvciBwYXJ0aWN1bGFybHkuCgoyMDA1LTA0LTAzICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fVk1TZWxlY3Rvci5jOiBSZWluZGVudGVkLgoJCjIwMDUtMDQtMDEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9Bc3NlcnRpb25FcnJvci5qYXZhOiBUeXBvIGZpeC4KCjIwMDUtMDQtMDEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL1BpcGVkSW5wdXRTdHJlYW0uamF2YQoJKHJlYWQpOiBNYWtlIHN1cmUgYSBwb3NpdGl2ZSBieXRlIHZhbHVlIGlzIHJldHVybmVkLiBSZXZpc2VkIGphdmFkb2MuCglUaGFua3MgdG8gT2xhZnVyIEJyYWdhc29uIGZvciByZXBvcnRpbmcgdGhlc2UgYnVncy4KCjIwMDUtMDQtMDEgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBqYXZhL2F3dC9pbWFnZS9JbmRleENvbG9yTW9kZWwuamF2YQoJKGdldFJHQik6IENoZWNrIGlmIHBpeGVsIGlzIG5lZ2F0aXZlLgoKMjAwNS0wMy0zMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhICh2aWV3VG9Nb2RlbCk6IE5ldyBtZXRob2QuCgoyMDA1LTAzLTMxICBBdWRyaXVzIE1lc2thdXNrYXMgIDxhdWRyaXVzYUBibHVld2luLmNoPgoJKiBvcmcvb21nL0NPUkJBL09SQlBhY2thZ2UvSW5jb25zaXN0ZW50VHlwZUNvZGUuamF2YSwKCW9yZy9vbWcvQ09SQkEvT1JCUGFja2FnZS9JbnZhbGlkTmFtZS5qYXZhLAoJb3JnL29tZy9DT1JCQS9PUkJQYWNrYWdlL3BhY2thZ2UuaHRtbDogTmV3IGZpbGVzLgoKMjAwNS0wMy0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhCgkoZ2V0Q2xpcEJvdW5kcyk6IEhhbmRsZSBjbGlwIGJlaW5nIG51bGwuCgkoc2V0Q2xpcCk6IExpa2V3aXNlLgoJKiBqYXZhL2JlYW5zL2JlYW5jb250ZXh0L0JlYW5Db250ZXh0U3VwcG9ydC5qYXZhCgkoYWRkKTogSW1wbGVtZW50ZWQuCgkoYWRkQWxsKTogTGlrZXdpc2UuCgkoY2xlYXIpOiBMaWtld2lzZS4KCShyZW1vdmVBbGwpOiBMaWtld2lzZS4KCShyZXRhaW5BbGwpOiBMaWtld2lzZS4KCjIwMDUtMDMtMzAgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzLmphdmE6CgkoZHJhd0ltYWdlKTogRG9uJ3Qgbm90aWZ5IHRoZSBpbWFnZSBvYnNlcnZlciBmb3Igb2Zmc2NyZWVuIGltYWdlcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlUGFpbnRlci5qYXZhOgoJKHNldFBpeGVscyk6IERvbid0IG5vdGlmeSB0aGUgaW1hZ2Ugb2JzZXJ2ZXIuCgoyMDA1LTAzLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9iZWFucy9iZWFuY29udGV4dC9CZWFuQ29udGV4dFNlcnZpY2VzU3VwcG9ydC5qYXZhCgkoQmVhbkNvbnRleHRTZXJ2aWNlc1N1cHBvcnQpOiBSZWltcGxlbWVudGVkLgoJKGFkZEJlYW5Db250ZXh0U2VydmljZXNMaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKGluaXRpYWxpemUpOiBMaWtld2lzZS4KCShyZW1vdmVCZWFuQ29udGV4dFNlcnZpY2VzTGlzdGVuZXIpOiBMaWtld2lzZS4KCSogamF2YS9iZWFucy9iZWFuY29udGV4dC9CZWFuQ29udGV4dFN1cHBvcnQuamF2YQoJKGFkZCk6IExpa2V3aXNlLgoJKGFkZEJlYW5Db250ZXh0TWVtYmVyc2hpcExpc3RlbmVyKTogTGlrZXdpc2UuCgkoZ2V0TG9jYWxlKTogTGlrZXdpc2UuCgkoaW5pdGlhbGl6ZSk6IExpa2V3aXNlLgoJKGl0ZXJhdG9yKTogTGlrZXdpc2UuCgkocmVtb3ZlKTogTGlrZXdpc2UuCgkodG9BcnJheSk6IExpa2V3aXNlLgoKMjAwNS0wMy0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L2ltYWdlL0NvbnZvbHZlT3AuamF2YToKCVJlbW92ZWQgY29tbWVudCBhZGRlZCBieSBlY2xpcHNlLgoKMjAwNS0wMy0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS94bWwvYWVsZnJlZDIvWG1sUGFyc2VyLmphdmE6CglSZXZlcnQgbXkgdHlwbyBmaXguCgoyMDA1LTAzLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvZ2VvbS9DdWJpY0N1cnZlMkQuamF2YSwKCWphdmEvYXd0L2dlb20vUXVhZEN1cnZlMkQuamF2YToKCUZpeGVkIHR5cG8gaW4gbmFtZSBvZiBCcmlhbiBDb3VnaC4KCjIwMDUtMDMtMjkgIEd1aWxoZW0gTGF2YXV4ICA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19WTVNlbGVjdG9yLmMKCShKYXZhX2dudV9qYXZhX25pb19WTVNlbGVjdG9yX3NlbGVjdCk6IFVzZSBHZXRTdGF0aWNNZXRob2RJRAoJZm9yIFRocmVhZC5pbnRlcnJ1cHRlZCgpLgoJCQoyMDA1LTAzLTI5ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogZ251L2NsYXNzcGF0aC9TeXN0ZW1Qcm9wZXJ0aWVzLmphdmEgKHN0YXRpYyk6IENvbnZlcnRlZCBlbmNvZGluZwoJYWxpYXNlcwl0byBsb3dlciBjYXNlIGFuZCByZW1vdmVkIHJlZHVkYW50IGFsaWFzZXMuCgkqIGdudS9qYXZhL2lvL0VuY29kaW5nTWFuYWdlci5qYXZhCgkoZmluZEVuY29kZXJDb25zdHJ1Y3RvciwgZmluZERlY29kZXJDb25zdHJ1Y3Rvcik6IENhbGwgbmV3IG1ldGhvZAoJcmVzb2x2ZUFsaWFzKCkuCgkocmVzb2x2ZUFsaWFzKTogTmV3IG1ldGhvZC4KCSogamF2YS9sYW5nL1N5c3RlbS5qYXZhIChnZXRQcm9wZXJ0aWVzKTogUmVtb3ZlZCB1cHBlcmNhc2UgYWxpYXNlcwoJZnJvbSBjb21tZW50cy4KCjIwMDUtMDMtMjggIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbmV0L1VSTC5qYXZhIChERUZBVUxUX1NFQVJDSF9QQVRIKTogQWRkZWQKCW9yZy5tZXRhc3RhdGljLmplc3NpZS4KCjIwMDUtMDMtMjggIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhIChsb2FkQ2xhc3MpOiBSZXNvbHZlIGNsYXNzIGV2ZW4gaWYKCWl0IHdhcyBhbHJlYWR5IGZvdW5kLgoKMjAwNS0wMy0yOCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlclVuaWNvZGVCaWcuamF2YSwKCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXJVbmljb2RlTGl0dGxlLmphdmEsCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyVW5pY29kZUJpZy5qYXZhLAoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlclVuaWNvZGVMaXR0bGUuamF2YToKCU5ldyBmaWxlcy4KCjIwMDUtMDMtMjYgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBkb2MvaGFja2luZy50ZXhpbmZvOgoJQWRkZWQgbm90ZSBvbiByZXNlcnZlZCB3b3JkIHVzYWdlLgoJCjIwMDUtMDMtMjYgIERhbGlib3IgVG9waWMgIDxyb2JpbGFkQGthZmZlLm9yZz4KCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX1ZNU2VsZWN0b3IuYzoKCU1vdmVkIGluY2x1ZGUgc3RhdGVtZW50IGZvciBjb25maWcuaCB0byB0aGUgdG9wIHRvCglmaXggdGhlIGJ1aWxkIG9uIERhcndpbjYuCgoJUmVwb3J0ZWQgYnk6ICBSaWNjYXJkbyBNb3R0b2xhIDx6dXNlQGxpYmVyby5pdD4KCjIwMDUtMDMtMjYgIERhbGlib3IgVG9waWMgIDxyb2JpbGFkQGthZmZlLm9yZz4KCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vZ251X2phdmFfbmlvX1ZNU2VsZWN0b3IuYzoKCUluY2x1ZGUgPHN5cy90eXBlcy5oPiB0byBmaXggYnVpbGQgb24gT1MgWC4KCglSZXBvcnRlZCBieTogTWljaGFlbCBGcmFueiA8bXZmcmFuekBnbWFpbC5jb20+CgoyMDA1LTAzLTI2ICBJdG8gS2F6dW1pdHN1ICA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCgkqIGphdmEvdGV4dC9EZWNpbWFsRm9ybWF0LmphdmEgKHBhcnNlKToKCUNoZWNrIHdoZXRoZXIgdGhlIHBvc2l0aXZlIHN1ZmZpeCBtYXRjaGVzIHRoZSBwYXR0ZXJuLgoKMjAwNS0wMy0yNiAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9kb20vRG9tTm9kZS5qYXZhIChub3RpZnlOb2RlKTogZ3JvdyBsaXN0ZW5lciBhcnJheSBhcwoJcmVxdWlyZWQuCgoyMDA1LTAzLTI2ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YXgvaW1hZ2Vpby9zcGkvSUlPUmVnaXN0cnkuamF2YSAoSUlPUmVnaXN0cnkpOgoJRG9uJ3QgYXNzdW1lIHRoYXQgYXd0IFRvb2xraXQgaXMgYWx3YXlzIENsYXNzcGF0aFRvb2xraXQuCgoyMDA1LTAzLTI2ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvUGl4ZWxHcmFiYmVyLmphdmEgKHNldFBpeGVscyhpbnQsaW50LGludCxpbnQsCglDb2xvck1vZGVsLGJ5dGVbXSxpbnQsaW50KTogRml4ZWQgYnl0ZSB0byBpbnQgY29udmVyc2lvbi4KCjIwMDUtMDMtMjMgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MUGFyc2VyLmphdmE6CglDaGFuZ2VkICdlbnVtJyByZWZlcmVuY2VzIHRvIGJlY29tZSAnZW51bWVyYXRpb24nLgoJCjIwMDUtMDMtMjIgIEFyY2hpZSBDb2JicyAgPGFyY2hpZUBkZWxscm9hZC5vcmc+CgoJKiBjb25maWd1cmUuYWM6IEdlbmVyYXRlIHNjcmlwdHMvY2xhc3NwYXRoLnNwZWMuCgkqIHNjcmlwdHMvY2xhc3NwYXRoLnNwZWMuaW46IE5ldyBmaWxlLgoKMjAwNS0wMy0yMSAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCQoJKiBnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MUGFyc2VyLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvY2xhc3NwYXRoL2V4YW1wbGVzL2h0bWwvRGVtby5qYXZhOiBOZXcgZXhhbXBsZS4KCjIwMDUtMDMtMjEgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogZ251L2NsYXNzcGF0aC9TeXN0ZW1Qcm9wZXJ0aWVzLmphdmE6CglBZGQgbWlzc2luZyBhbGlhc2VzIGZvciAiVW5pY29kZUJpZ1VubWFya2VkIiBhbmQKCVVuaWNvZGVMaXR0bGVVbm1hcmtlZCIuCgkKMjAwNS0wMy0yMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL3d3dy5nbnUub3JnL2V2ZW50cy9lc2NhcGVfZm9zZGVtMDUud21sOiBBZGQgbGluayB0byBrYWZmZQoJcHJlc2VudGF0aW9uLgoKMjAwNS0wMy0xNyAgQXJjaGllIENvYmJzICA8YXJjaGllQGRlbGxyb2FkLm9yZz4KCgkqIHZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1DbGFzc0xvYWRlci5qYXZhOiBoYW5kbGUgWklQIGZpbGVzCglvbiB0aGUgYm9vdCBsb2FkZXIgY2xhc3MgcGF0aCBpbiBnZXRSZXNvdXJjZXMoKQoKMjAwNS0wMy0xOSAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCgkqIG9yZy9vbWcvQ09SQkEvQW55U2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0FueVNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Db21wbGV0aW9uU3RhdHVzSGVscGVyLmphdmE6CglOZXcgZmlsZXMuCgoyMDA1LTAzLTE4ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBkb2Mvd3d3L2Rvd25sb2Fkcy9kb3dubG9hZHMud21sOiBBZGQgMC4xNC4KCSogZG9jL3d3dy9hbm5vdW5jZS8yMDA1MDIyNi53bWw6IE5ldyBmaWxlLgoKMjAwNS0wMy0xOCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL3V0aWwvemlwL0daSVBJbnB1dFN0cmVhbS5qYXZhOgoJKEdaSVBJbnB1dFN0cmVhbSk6IFJlYWQgaGVhZGVyIGluIGNvbnN0cnVjdG9yLgoJCjIwMDUtMDMtMTggIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9odG1sQXR0cmlidXRlU2V0LmphdmE6CgkoZ2V0QXR0cmlidXRlTmFtZXMoKSk6IFJlcGxhY2VkICdlbnVtJyB3aXRoICdlbnVtZXJhdGlvbicuCgkqIGdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL2h0bWxWYWxpZGF0b3IuamF2YToKCSh2YWxpZGF0ZVBhcmFtZXRlcnMoVGFnRWxlbWVudCxodG1sQXR0cmlidXRlU2V0KSk6CglSZXBsYWNlZCAnZW51bScgd2l0aCAnZW51bWVyYXRpb24nLgoJKHZhbGlkYXRlQXR0cmlidXRlKFRhZ0VsZW1lbnQsaHRtbEF0dHJpYnV0ZVNldCwKCSAgICAgICAgICAgICAgICAgICBFbnVtZXJhdGlvbixFbnVtZXJhdGlvbikpOgoJTGlrZXdpc2UuCgoyMDA1LTAzLTE4ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxhdWRyaXVzYUBibHVld2luLmNoPgoKCSogQ2hhbmdlTG9nLnVzZXJtYXA6IE5ldyBmaWxlIChyZXBsYWNpbmcpLgoKMjAwNS0wMy0xOCAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvRW50aXR5LmphdmEgKGdldFR5cGUpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0RvY3VtZW50UGFyc2VyLmphdmE6CglJbmhlcml0IGZyb20gamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci5QYXJzZXIuCgkKMjAwNS0wMy0xOCAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214PgoKCSogbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fVk1TZWxlY3Rvci5jOiBBZGRlZCBpbXBvcnRhbnQKCXJldHVybiBzdGF0ZW1lbnQgYWZ0ZXIgdGhyb3dpbmcgZXhjZXB0aW9uLgoKMjAwNS0wMy0xOCAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214PgoKCSogbmF0aXZlL2puaS9qYXZhLW5pby9nbnVfamF2YV9uaW9fVk1TZWxlY3Rvci5jOiBJbXBsZW1lbnRlZAoJSmF2YV9nbnVfamF2YV9uaW9fVk1TZWxlY3Rvcl9zZWxlY3QuCgkqIGNvbmZpZ3VyZS5hYzogQWRkZWQgY2hlY2sgZm9yIHN5cy9zZWxlY3QuaCBhbmQgc3RyZXJyb19yKCkuCgoyMDA1LTAzLTE3ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBkb2Mvd3d3LmdudS5vcmcvbmV3c2l0ZW1zLnR4dDogQWRkIDAuMTQgcmVsZWFzZSBhbm5vdW5jZW1lbnQKCWFuZCBsaW5rIGZvciB0aGUgZGVhZCBvZiB0aGUgZ3VpIGJyYW5jaC4KCjIwMDUtMDMtMTcgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxEb2N1bWVudC5qYXZhOiBGaXhlZCBlbGVtZW50IGNyZWF0aW9uIGFuZAoJY2hlY2sgZm9yIEhUTUwvWEhUTUwgbmFtZXNwYWNlLgoKMjAwNS0wMy0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvbGFuZy9NYWluVGhyZWFkLmphdmEgKE1haW5UaHJlYWQpOiBMb2FkIG1haW4gY2xhc3MKCXVzaW5nIHN5c3RlbSBjbGFzcyBsb2FkZXIuCgoyMDA1LTAzLTE2ICBBcmNoaWUgQ29iYnMgIDxhcmNoaWVAZGVsbHJvYWQub3JnPgoKCSogbmF0aXZlL2puaS9qYXZhLW5pby9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXIuYzogdXNlCglnbG9iYWwgbmF0aXZlIHJlZmVyZW5jZSB0byB3cmFwIHBlcnNpc3RlbnQgamNsYXNzIHZhcmlhYmxlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmM6Cgl1c2UgRGVsZXRlTG9jYWxSZWYoKSB0byBhdm9pZCBleGhhdXN0aW5nIGxvY2FsIG5hdGl2ZSByZWZlcmVuY2VzLgoKMjAwNS0wMy0xNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL3ZtaW50ZWdyYXRpb24udGV4aW5mbzogQ2hhbmdlIGlucHV0IHN0YXJ0IHRvIFxpbnB1dC4KCjIwMDUtMDMtMTYgIFJvYmVydCBTY2h1c3RlciAgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgoJKiBkb2Mvdm1pbnRlZ3JhdGlvbi50ZXhpbmZvOiBBZGRlZCBleHBsYW5hdGlvbgoJb2YgZ251LmNsYXNzcGF0aC5ib290LmxpYnJhcnkucGF0aCBwcm9wZXJ0eS4KCjIwMDUtMDMtMTYgIFJvYmVydCBTY2h1c3RlciAgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgoJKiBqYXZhL2xhbmcvUnVudGltZS5qYXZhOiBBZGRlZCBzdXBwb3J0IGZvcgoJZ251LmNsYXNzcGF0aC5ib290LmxpYnJhcnkucGF0aCBzeXN0ZW0gcHJvcGVydHkuCgoyMDA1LTAzLTE0ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2RvbS9Eb21JbXBsLmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MQW5jaG9yRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTERvY3VtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEZvcm1FbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MRnJhbWVFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MSUZyYW1lRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEltcGwuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxJbnB1dEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxPYmplY3RFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MT3B0aW9uRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFNlbGVjdEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxUYWJsZUNlbGxFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MVGFibGVFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MVGFibGVSb3dFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFRleHRBcmVhRWxlbWVudC5qYXZhOiBKQVhQIGludGVncmF0aW9uLAoJVUkgZXZlbnRzLCBhbmQgdHJlZSB1dGlsaXR5IGZ1bmN0aW9ucy4KCjIwMDUtMDMtMTQgIFBhdHJpayBSZWFsaSAgPHJlYWxpQGFjbS5vcmc+CgoJKiBkb2Mvd3d3LmdudS5vcmcvbmV3c2l0ZW1zLnR4dDogbmV3cyBvbiBndWkgYnJhbmNoIGFuZCBjYWxpZW50cmEKCSogZG9jL3d3dy5nbnUub3JnL2RvY3MvZG9jcy53bWw6IGxpbmsgdG8gdGhlIHdpa2kgYWRkZWQKCSogZG9jL3d3dy5nbnUub3JnL2ZhcS9mYXEud21sOiBlbnRyeSBvbiB0YWludGVkIGRldmVsb3BlcnMKCjIwMDUtMDMtMTQgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1BhcnNlci5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9FbnRpdHkuamF2YToKCUluaGVyaXRpbmcgZnJvbSBEVERDb25zdGFudHMuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvQXR0cmlidXRlTGlzdC5qYXZhCgkoZ2V0VmFsdWVzKTogQ2hhbmdlZCByZXR1cm4gdHlwZS4KCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9Eb2N1bWVudFBhcnNlcgoJKHBhcnNlKTogQWRkaW5nIHRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgdGhhdCByZWNlaXZlcwoJdGhlIHBhcnNpbmcgZXZlbnRzLgoKMjAwNS0wMy0xMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogY29uZmlndXJlLmFjOiBTZXQgdmVyc2lvbiB0byAwLjE0K2N2cy4KCjIwMDUtMDMtMTMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL0JBRF9DT05URVhULmphdmEsCglvcmcvb21nL0NPUkJBL0JBRF9JTlZfT1JERVIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQkFEX09QRVJBVElPTi5qYXZhLAoJb3JnL29tZy9DT1JCQS9CQURfVFlQRUNPREUuamF2YSwKCW9yZy9vbWcvQ09SQkEvQ09NTV9GQUlMVVJFLmphdmEsCglvcmcvb21nL0NPUkJBL0RBVEFfQ09OVkVSU0lPTi5qYXZhLAoJb3JnL29tZy9DT1JCQS9GUkVFX01FTS5qYXZhLAoJb3JnL29tZy9DT1JCQS9JTVBfTElNSVQuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU5JVElBTElaRS5qYXZhLAoJb3JnL29tZy9DT1JCQS9JTlRFUk5BTC5qYXZhLAoJb3JnL29tZy9DT1JCQS9JTlRGX1JFUE9TLmphdmEsCglvcmcvb21nL0NPUkJBL0lOVkFMSURfVFJBTlNBQ1RJT04uamF2YSwKCW9yZy9vbWcvQ09SQkEvSU5WX0ZMQUcuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU5WX0lERU5ULmphdmEsCglvcmcvb21nL0NPUkJBL0lOVl9PQkpSRUYuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU5WX1BPTElDWS5qYXZhLAoJb3JnL29tZy9DT1JCQS9OT19JTVBMRU1FTlQuamF2YSwKCW9yZy9vbWcvQ09SQkEvTk9fTUVNT1JZLmphdmEsCglvcmcvb21nL0NPUkJBL05PX1BFUk1JU1NJT04uamF2YSwKCW9yZy9vbWcvQ09SQkEvTk9fUkVTUE9OU0UuamF2YSwKCW9yZy9vbWcvQ09SQkEvT0JKRUNUX05PVF9FWElTVC5qYXZhLAoJb3JnL29tZy9DT1JCQS9PQkpfQURBUFRFUi5qYXZhLAoJb3JnL29tZy9DT1JCQS9QRVJTSVNUX1NUT1JFLmphdmEsCglvcmcvb21nL0NPUkJBL1RSQU5TQUNUSU9OX1JFUVVJUkVELmphdmEsCglvcmcvb21nL0NPUkJBL1RSQU5TQUNUSU9OX1JPTExFREJBQ0suamF2YSwKCW9yZy9vbWcvQ09SQkEvVFJBTlNJRU5ULmphdmE6IG1ha2luZyBjb25zdHJ1Y3RvcnMKCXB1YmxpYy4KCjIwMDUtMDMtMTMgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL1N0cmluZ1NlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9XU3RyaW5nU2VxSG9sZGVyLmphdmE6CglyZXBsYWNpbmcgcmVwbGFjaW5nIENSIENSIExGIGJ5IENSIExGLgoJKiBvcmcvb21nL0NPUkJBL0JBRF9QQVJBTS5qYXZhOiBtYWtpbmcgY29uc3RydWN0b3JzCglwdWJsaWMuCgoyMDA1LTAzLTEzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogb3JnL29tZy9DT1JCQS9BUkdfSU4uamF2YTogUmVtb3ZlZCByZWR1bmRhbnQgbW9kaWZpZXJzLgoJKiBvcmcvb21nL0NPUkJBL0FSR19JTk9VVC5qYXZhOiBMaWtld2lzZS4KCSogb3JnL29tZy9DT1JCQS9BUkdfT1VULmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0NPUkJBL0FueS5qYXZhOiBGaXhlZCBIVE1MIHRhZ3MuCgkqIG9yZy9vbWcvQ09SQkEvUHJpbmNpcGFsLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0NPUkJBL0JBRF9QQVJBTS5qYXZhOiBSZW9yZGVyZWQgbW9kaWZpZXJzLgoJKiBvcmcvb21nL0NPUkJBL0ZpeGVkSG9sZGVyLmphdmE6IFJld29ya2VkIGltcG9ydHMuCgkqIG9yZy9vbWcvQ09SQkEvU3RyaW5nU2VxSG9sZGVyLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0NPUkJBL1R5cGVDb2RlLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0NPUkJBL1R5cGVDb2RlUGFja2FnZS9CYWRLaW5kLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0NPUkJBL1R5cGVDb2RlUGFja2FnZS9Cb3VuZHMuamF2YTogTGlrZXdpc2UuCgkqIG9yZy9vbWcvQ09SQkEvV1N0cmluZ1NlcUhvbGRlci5qYXZhOiBMaWtld2lzZS4KCSogb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9PdXRwdXRTdHJlYW0uamF2YTogTGlrZXdpc2UuCgoyMDA1LTAzLTEzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHBzL0hhbmRsZXIuamF2YToKCVJld29ya2VkIGltcG9ydCBzdGF0ZW1lbnRzLgoKMjAwNS0wMy0xMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0hUTUxfNDAxRi5qYXZhLAoJZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvZ251RFRELmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9tb2RlbHMvbm9kZS5qYXZhOgoJUmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMuCgoyMDA1LTAzLTEzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L3htbC9hZWxmcmVkMi9YbWxQYXJzZXIuamF2YTogRml4ZWQgdHlwby4KCjIwMDUtMDMtMTIgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL1N0cmluZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9XU3RyaW5nU2VxSGVscGVyLmphdmE6IE5ldyBmaWxlcy4KCjIwMDUtMDMtMTIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9ldmVudHMvZXNjYXBlX2Zvc2RlbTA1LndtbDogQWRkIGxpbmtzIHRvCglwcmVzZW50YXRpb25zLgoKMjAwNS0wMy0xMSAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEJ1dHRvbkVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxDb2xsZWN0aW9uLmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MRG9jdW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxFbGVtZW50LmphdmE6IEV4dGVuc2lvbnMgZm9yIG5ldyBlbGVtZW50Cgl0eXBlcy4KCSogZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTERMaXN0RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTERpcmVjdG9yeUVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxEaXZFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MRmllbGRTZXRFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MRm9udEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxGb3JtRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEZyYW1lRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEZyYW1lU2V0RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEhSRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEhlYWRFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MSGVhZGluZ0VsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxIdG1sRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTElGcmFtZUVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxJbWFnZUVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxJbnB1dEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxJc0luZGV4RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTExJRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTExhYmVsRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTExlZ2VuZEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxMaW5rRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTE1hcEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxNZW51RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTE1ldGFFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MTW9kRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTE9MaXN0RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTE9iamVjdEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxPcHRHcm91cEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxPcHRpb25FbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MUGFyYWdyYXBoRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFBhcmFtRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFByZUVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxRdW90ZUVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxTY3JpcHRFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MU2VsZWN0RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFN0eWxlRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxUYWJsZUNlbGxFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MVGFibGVDb2xFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MVGFibGVFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MVGFibGVSb3dFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFRleHRBcmVhRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFRpdGxlRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTFVMaXN0RWxlbWVudC5qYXZhOiBOZXcgZmlsZXMuCgoyMDA1LTAzLTExICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2FlbGZyZWQyL1NBWERyaXZlci5qYXZhOiBDb3JyZWN0ZWQgYnVnIGhhbmRsaW5nIFVSSQoJd2FybmluZ3MuCgoyMDA1LTAzLTExICBBdWRyaXVzIE1lc2thdXNrYXMgIDxhdWRyaXVzYUBibHVld2luLmNoPgoKCSogb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9JbnB1dFN0cmVhbS5qYXZhIChyZWFkX0NvbnRleHQpOgoJZm9sbG93aW5nIEFQSSwgdGhpcyBtdXN0IGJlIGNvbmNyZXRlIGFuZCB1bmltcGxlbWVudGVkLgoKMjAwNS0wMy0xMSAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCgkqIG9yZy9vbWcvQ09SQkEvQm9vbGVhblNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9DaGFyU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0RvdWJsZVNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GbG9hdFNlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Mb25nTG9uZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Mb25nU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL09jdGV0U2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1Nob3J0U2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1VMb25nTG9uZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VTG9uZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VU2hvcnRTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvV0NoYXJTZXFIZWxwZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvU3RyaW5nU2VxSGVscGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1dTdHJpbmdTZXFIZWxwZXIuamF2YToKCU5ldyBzZXF1ZW5jZSBob2xkZXJzLgoJKiBvcmcvb21nL0NPUkJBL1N0cmluZ1NlcUhlbHBlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9XU3RyaW5nU2VxSGVscGVyLmphdmE6IE5ldyBoZWxwZXJzLgoKMjAwNS0wMy0xMSAgQXJjaGllIENvYmJzICA8YXJjaGllQGRlbGxyb2FkLm9yZz4KCgkqIG5hdGl2ZS9qbmkvamF2YS1sYW5nL2phdmFfbGFuZ19WTVByb2Nlc3MuYzogRml4IHNlZ2ZhdWx0CglpbiB0aGUgY2FzZSB0aGF0IGEgemVybyBsZW5ndGggY29tbWFuZCBhcnJheSBpcyBwYXNzZWQuCgoyMDA1LTAzLTExICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBuYXRpdmUvZmRsaWJtL2llZWVmcC5oOiBNZXJnZSBtMzJyIGJpdHMgZnJvbSBsaWJnY2ogdG8ga2VlcCB0aGUgZGlmZgoJbWluaW1hbC4KCjIwMDUtMDMtMTEgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQGtlbm5rZS5vcmc+CgoJKiBqYXZhL2F3dC9Db21wbW9uZW50LmphdmEKCShzZXRDb21wb25lbnRPcmllbnRhdGlvbik6IFRoZSB2YXJpYWJsZSBvbGRPcmllbnRhdGlvbiBpcyBpbml0aWFsaXplZAoJdG9vIGVhcmx5LiBUaGlzIGlzIGZpeGVkLgoKMjAwNS0wMy0xMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Aa2VubmtlLm9yZz4KCgkqIGphdmEvYXd0L0NvbXBtb25lbnQuamF2YQoJKHNldENvbXBvbmVudE9yaWVudGF0aW9uKTogTWFkZSB0aGlzIHByb3BlcnR5IGZpcmluZyBhCglQcm9wZXJ0eUNoYW5nZUV2ZW50LgoKMjAwNS0wMy0xMSAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIGphdmEvYmVhbnMvRXZlbnRIYW5kbGVyLmphdmE6IFJld29ya2VkIGRvY3VtZW50YXRpb24uCgkoaW52b2tlKTogRml4ZWQgYmVoYXZpb3IgdG8gbWF0Y2ggc3BlYy4gCgoyMDA1LTAzLTExICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9sYW5nL0NsYXNzLmphdmEgKG5ld0luc3RhbmNlKTogRml4ZWQgcHJldmlvdXMgcGF0Y2guCgoyMDA1LTAzLTExICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9sYW5nL0NsYXNzLmphdmEgKG5ld0luc3RhbmNlKTogRml4IGJ1ZyByZWxhdGVkIHRvIHBhY2thZ2UKCXByaXZhdGUgY2xhc3Nlcy4KCjIwMDUtMDMtMTAgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsSW1wbC5qYXZhIChzbWFsbFRyYW5zZmVyRnJvbSk6CglOZXcuCgkoc21hbGxUcmFuc2ZlclRvKTogTmV3LgoJKHRyYW5zZmVyRnJvbSk6IExvb3AgYXJvdW5kIHNtYWxsVHJhbnNmZXJGcm9tLCBjb3B5aW5nIHBhZ2VTaXplCglieXRlcyBlYWNoIHRpbWUuCgkodHJhbnNmZXJUbyk6IExpa2V3aXNlLgoKMjAwNS0wMy0xMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9pby9JbnB1dFN0cmVhbVJlYWRlci5qYXZhOiBJbmRlbnRhdGlvbiBmaXhsZXRzLiAgQWRkZWQKCSdAc2luY2UnIG1hcmtlcnMuCgoyMDA1LTAzLTEwICBDaHJpcyBCdXJkZXNzICA8ZG9nQGJsdWV6b28ub3JnPgoKCSogZ251L3htbC9kb20vbHMvU0FYRXZlbnRTaW5rLmphdmE6IElnbm9yZSBlbGVtZW50IGRlY2xhcmF0aW9ucyBpZgoJbm90IGN1cnJlbnRseSBwYXJzaW5nIHRoZSBEVEQuCgoyMDA1LTAzLTEwICBBdWRyaXVzIE1lc2thdXNrYXMgIDxhdWRyaXVzYUBibHVld2luLmNoPgoKCSogdGVzdHN1aXRlL2phdmF4LnN3aW5nLnRleHQuaHRtbC5wYXJzZXIvCglBbGxQYXJzZXJUZXN0cy5qYXZhLAoJdGVzdHN1aXRlL2phdmF4LnN3aW5nLnRleHQuaHRtbC5wYXJzZXIvCgl0ZXN0L2dudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTF9UZXN0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvQXR0cmlidXRlTGlzdF90ZXN0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvRFREX3Rlc3QuamF2YSwKCXRlc3RzdWl0ZS9qYXZheC5zd2luZy50ZXh0Lmh0bWwucGFyc2VyLwoJdGVzdC9nbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9FbGVtZW50X1Rlc3QuamF2YSwKCXRlc3RzdWl0ZS9qYXZheC5zd2luZy50ZXh0Lmh0bWwucGFyc2VyLwoJdGVzdC9nbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9FbnRpdHlfVGVzdC5qYXZhLAoJdGVzdHN1aXRlL2phdmF4LnN3aW5nLnRleHQuaHRtbC5wYXJzZXIvCgl0ZXN0L2dudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0hUTUxfcGFyc2luZy5qYXZhLAoJdGVzdHN1aXRlL2phdmF4LnN3aW5nLnRleHQuaHRtbC5wYXJzZXIvCgl0ZXN0L2dudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0hUTUxfcmFuZG9tVGFibGUuamF2YSwKCXRlc3RzdWl0ZS9qYXZheC5zd2luZy50ZXh0Lmh0bWwucGFyc2VyLwoJdGVzdC9nbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9wYXJhbWV0ZXJEZWZhdWx0ZXJfVGVzdC5qYXZhLAoJdGVzdHN1aXRlL2phdmF4LnN3aW5nLnRleHQuaHRtbC5wYXJzZXIvCgl0ZXN0L2dudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1BhcnNlcl9UZXN0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvUGFyc2VyRW50aXR5UmVzb2x2ZXJUZXN0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvUGFyc2VyVGVzdC5qYXZhLAoJdGVzdHN1aXRlL2phdmF4LnN3aW5nLnRleHQuaHRtbC5wYXJzZXIvCgl0ZXN0L2dudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL3N1cHBsZW1lbnRhcnlOb3RpZmljYXRpb25zLmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvVGFnRWxlbWVudF9UZXN0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvVGVzdENhc2UuamF2YSwKCXRlc3RzdWl0ZS9qYXZheC5zd2luZy50ZXh0Lmh0bWwucGFyc2VyLwoJdGVzdC9nbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9UZXh0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvdGV4dFByZVByb2Nlc3Nvcl9UZXN0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvVG9rZW5fbG9jYXRpb25zLmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvbG93L0J1ZmZlcl9UZXN0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvbG93L0NvbnN0YW50c19UZXN0LmphdmEsCgl0ZXN0c3VpdGUvamF2YXguc3dpbmcudGV4dC5odG1sLnBhcnNlci8KCXRlc3QvZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvbG93L1JlYWRlclRva2VuaXplcl9UZXN0LmphdmE6CglOZXcgQ2xhc3NwYXRoIHNwZWNpZmljIHRlc3RzIGZvciB0aGUgcGFyc2VyIGNsYXNzZXMgaW4gZ251IG5hbWVzcGFjZS4KCjIwMDUtMDMtMTAgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBqYXZheC9zd2luZy90ZXh0L0NoYW5nZWRDaGFyU2V0RXhjZXB0aW9uLmphdmEsCglqYXZheC9zd2luZy90ZXh0L2h0bWwvSFRNTEVkaXRvcktpdC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUxGcmFtZUh5cGVybGlua0V2ZW50LmphdmEsCglqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0F0dHJpYnV0ZUxpc3QuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvQ29udGVudE1vZGVsLmphdmEsCglqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0RvY3VtZW50UGFyc2VyLmphdmEsCglqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL0RURC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9EVERDb25zdGFudHMuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvRWxlbWVudC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9FbnRpdHkuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvUGFyc2VyLmphdmEsCglqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1RhZ0VsZW1lbnQuamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFja2FnZS5odG1sLAoJZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvZ251RFRELmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9IVE1MXzQwMUYuamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL2h0bWxBdHRyaWJ1dGVTZXQuamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL2h0bWxWYWxpZGF0b3IuamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL21vZGVscy9saXN0LmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9tb2RlbHMvbm9kZS5qYXZhLAoJZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvbW9kZWxzL25vVGFnTW9kZWwuamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL21vZGVscy9wYWNrYWdlLmh0bWwsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9tb2RlbHMvUENEQVRBb25seV9tb2RlbC5qYXZhLAoJZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvbW9kZWxzL1RhYmxlUm93Q29udGVudE1vZGVsLmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9tb2RlbHMvdHJhbnNmb3JtZXIuamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL3N1cHBvcnQvZ251U3RyaW5nSW50TWFwcGVyLmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9zdXBwb3J0L3BhY2thZ2UuaHRtbCwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL3N1cHBvcnQvcGFyYW1ldGVyRGVmYXVsdGVyLmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9zdXBwb3J0L1BhcnNlci5qYXZhLAoJZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvc3VwcG9ydC90ZXh0UHJlUHJvY2Vzc29yLmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9zdXBwb3J0L2xvdy9CdWZmZXIuamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL3N1cHBvcnQvbG93L0NvbnN0YW50cy5qYXZhLAoJZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvc3VwcG9ydC9sb3cvTG9jYXRpb24uamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL3N1cHBvcnQvbG93L25vZGUuamF2YSwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL3N1cHBvcnQvbG93L3BhY2thZ2UuaHRtbCwKCWdudS9qYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL3N1cHBvcnQvbG93L1BhcnNlRXhjZXB0aW9uLmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9zdXBwb3J0L2xvdy9wYXR0ZXJuLmphdmEsCglnbnUvamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9zdXBwb3J0L2xvdy9RdWV1ZS5qYXZhLAoJZ251L2phdmF4L3N3aW5nL3RleHQvaHRtbC9wYXJzZXIvc3VwcG9ydC9sb3cvUmVhZGVyVG9rZW5pemVyLmphdmE6CglOZXcgZmlsZXMuCgkqIGphdmF4L3N3aW5nL3RleHQvaHRtbC9IVE1MLmphdmEsCglqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFyc2VyL1BhcnNlckRlbGVnYXRvci5qYXZhOgoJTmV3IGZpbGVzIChyZXBsYWNpbmcpLgoJKiBqYXZheC9zd2luZy90ZXh0L2h0bWwvcGFja2FnZS5odG1sLAoJamF2YXgvc3dpbmcvdGV4dC9odG1sL3BhcnNlci9wYWNrYWdlLmh0bWw6IERvY3VtZW50aW5nIHRoZQoJcGFja2FnZXMuCgoyMDA1LTAzLTA5ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhCgkoc2V0KTogVXNlIHN0YXJ0aW5nIGRheSBvZiB3ZWVrIHdoZW4gb25lIGlzIG5lZWRlZCBpZiBub25lIGlzIGdpdmVuLgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhCgkocGFyc2UpOiBIYW5kbGUgMS0xMiBhbmQgMS0yNCB0aW1lc3RhbXBzIGNvcnJlY3RseS4KCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyCgkoY29tcHV0ZVRpbWUsIGNvbXB1dGVGaWVsZHMpOiBIT1VSIHNob3VsZCBiZSBpbiAwLTExIGZvcm1hdC4KCShub25MZW5pZW5jeUNoZWNrKTogQWRqdXN0IGxlbmllbmN5IGNoZWNraW5nIHRvIHRoYXQgZmFjdC4KCjIwMDUtMDMtMDkgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogZ251L2phdmEvbG9jYWxlL0NhbGVuZGFyLmphdmEsCglnbnUvamF2YS9sb2NhbGUvQ2FsZW5kYXJfbmwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9DYWxlbmRhcl9kZS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0NhbGVuZGFyX2VuLmphdmE6CglSZW1vdmVkLgoKMjAwNS0wMy0wOSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YToKCVVwZGF0ZWQgdG8gdXNlIGdudS5qYXZhLmxvY2FsZS5Mb2NhbGVJbmZvcm1hdGlvbiBmb3IgbG9jYWxlIGluZm8uCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhOgoJTWFkZSBncmVnb3JpYW5DdXRvdmVyIGEgaGFyZC1jb2RlZCBjb25zdGFudC4gSXQgaXMgbm90IGxvY2FsaXplZC4KCjIwMDUtMDMtMDkgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxBbmNob3JFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MQXBwbGV0RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEFyZWFFbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MQmFzZUVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxCYXNlRm9udEVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxCb2R5RWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEJSRWxlbWVudC5qYXZhLAoJZ251L3htbC9kb20vaHRtbDIvRG9tSFRNTEJ1dHRvbkVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxDb2xsZWN0aW9uLmphdmEsCglnbnUveG1sL2RvbS9odG1sMi9Eb21IVE1MRG9jdW1lbnQuamF2YSwKCWdudS94bWwvZG9tL2h0bWwyL0RvbUhUTUxFbGVtZW50LmphdmE6IE5ldyBmaWxlcy4KCjIwMDUtMDMtMDkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb24uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FhX0RKLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWFfRVIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hYV9FUl9TQUFITy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FhX0VULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hZl9aQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FtLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYW1fRVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0RaLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9JUS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0pPLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfS1cuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9MQi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0xZLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfTUEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9RQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX1NBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfU1kuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9UTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX1lFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hc19JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2F6X0N5cmwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JlX0JZLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYmcuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZ19CRy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JuLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYm5fSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2NhX0VTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY3MuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jc19DWi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2N5LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY3lfR0IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RhX0RLLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9BVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0JFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGVfQ0guamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9ERS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0xJLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGVfTFUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kdi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2R2X01WLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZHouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kel9CVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZWxfR1IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0FTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQVUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9CRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0JXLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQlouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9DQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0dCLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fR1UuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9ISy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0lFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9NSC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX01QLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fTVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9OWi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1BILmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fUEsuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9TRy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1VNLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fVVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9VU19QT1NJWC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1ZJLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fWkEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9aVy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19BUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0JPLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfQ0wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19DTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0NSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfRE8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19FQy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0VTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfR1QuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19ITi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX01YLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfTkkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19QQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1BFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfUFIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19QWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1NWLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfVVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19VWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1ZFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ldF9FRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2V1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXVfRVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZhX0FGLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZmFfSVIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9maS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZpX0ZJLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZm8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mb19GTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfQkUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mcl9DQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyX0NILmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfTFUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2dhX0lFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nbF9FUy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2d1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ3VfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ndi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2d2X0dCLmphdmEsCglnbnUPamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oZV9JTC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2hpLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGlfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHVfSFUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oeS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h5X0FNLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHlfQU1fUkVWSVNFRC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lkLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faWRfSUQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pcy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lzX0lTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pdF9DSC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2l0X0lULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9qYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2phX0pQLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2EuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ray5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2trX0taLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbF9HTC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ttLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa21fS0guamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tuX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa28uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rb19LUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2t3LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa3dfR0IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9reS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2xvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbG9fTEEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sdC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2x0X0xULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbHYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sdl9MVi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21rLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbWwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tbF9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21uLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbW5fTU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21yX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tc19CTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21zX01ZLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tdF9NVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25iLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbmJfTk8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25sX0JFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbmxfTkwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25uX05PLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fb20uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9vbV9FVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX29tX0tFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fb3IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9vcl9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BhLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcGFfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wbC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BsX1BMLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wc19BRi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3B0LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHRfQlIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wdF9QVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3JvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcm9fUk8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ydS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3J1X1JVLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcnVfVUEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NhX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2suamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9za19TSy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc28uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zb19ESi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NvX0VULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc29fS0UuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zb19TTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NxLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3FfQUwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NyX0xhdG4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zdi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N2X0ZJLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3ZfU0UuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zdy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N3X0tFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3dfVFouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90YS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RhX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90ZV9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RoLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGhfVEguamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90aS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RpX0VSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGlfRVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90ci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RyX1RSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdHQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90dF9SVS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3VrLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdWtfVUEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl91ci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3V6LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdXpfQUYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl92aS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfQ05fSGFucy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poX0hLX0hhbnQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9IYW50LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfTU9fSGFudC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poX1NHX0hhbnMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9UV19IYW50LmphdmE6CglSZWdlbmVyYXRlZCB3aXRoIGN1cnJlbnQgZ251LmxvY2FsZWdlbi4KCjIwMDUtMDMtMDkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbmV0L1VSTENsYXNzTG9hZGVyLmphdmEgKGFkZFVSTEltcGwpOiBSZXNldCAndGhpc1N0cmluZycuCgkodG9TdHJpbmcpOiBTeW5jaHJvbml6ZS4KCjIwMDUtMDMtMDkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBvcmcvb21nL0NPUkJBL0FSR19JTi5qYXZhLAoJb3JnL29tZy9DT1JCQS9BUkdfSU5PVVQuamF2YSwKCW9yZy9vbWcvQ09SQkEvQVJHX09VVC5qYXZhLAoJb3JnL29tZy9DT1JCQS9BbnkuamF2YSwKCW9yZy9vbWcvQ09SQkEvQW55SG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0JBRF9DT05URVhULmphdmEsCglvcmcvb21nL0NPUkJBL0JBRF9JTlZfT1JERVIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQkFEX09QRVJBVElPTi5qYXZhLAoJb3JnL29tZy9DT1JCQS9CQURfUEFSQU0uamF2YSwKCW9yZy9vbWcvQ09SQkEvQkFEX1RZUEVDT0RFLmphdmEsCglvcmcvb21nL0NPUkJBL0Jvb2xlYW5Ib2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQm9vbGVhblNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Cb3VuZHMuamF2YSwKCW9yZy9vbWcvQ09SQkEvQnl0ZUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9DT01NX0ZBSUxVUkUuamF2YSwKCW9yZy9vbWcvQ09SQkEvQ2hhckhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9DaGFyU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0NvbXBsZXRpb25TdGF0dXMuamF2YSwKCW9yZy9vbWcvQ09SQkEvQ29udGV4dC5qYXZhLAoJb3JnL29tZy9DT1JCQS9Db250ZXh0TGlzdC5qYXZhLAoJb3JnL29tZy9DT1JCQS9EQVRBX0NPTlZFUlNJT04uamF2YSwKCW9yZy9vbWcvQ09SQkEvRG91YmxlSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0RvdWJsZVNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GUkVFX01FTS5qYXZhLAoJb3JnL29tZy9DT1JCQS9GaXhlZEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GbG9hdEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GbG9hdFNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9JRExFbnRpdHkuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU1QX0xJTUlULmphdmEsCglvcmcvb21nL0NPUkJBL0lOSVRJQUxJWkUuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU5URVJOQUwuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU5URl9SRVBPUy5qYXZhLAoJb3JnL29tZy9DT1JCQS9JTlZBTElEX1RSQU5TQUNUSU9OLmphdmEsCglvcmcvb21nL0NPUkJBL0lOVl9GTEFHLmphdmEsCglvcmcvb21nL0NPUkJBL0lOVl9JREVOVC5qYXZhLAoJb3JnL29tZy9DT1JCQS9JTlZfT0JKUkVGLmphdmEsCglvcmcvb21nL0NPUkJBL0lOVl9QT0xJQ1kuamF2YSwKCW9yZy9vbWcvQ09SQkEvSW50SG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0xvbmdIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ0xvbmdTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ1NlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9NQVJTSEFMLmphdmEsCglvcmcvb21nL0NPUkJBL05PX0lNUExFTUVOVC5qYXZhLAoJb3JnL29tZy9DT1JCQS9OT19NRU1PUlkuamF2YSwKCW9yZy9vbWcvQ09SQkEvTk9fUEVSTUlTU0lPTi5qYXZhLAoJb3JnL29tZy9DT1JCQS9OT19SRVNQT05TRS5qYXZhLAoJb3JnL29tZy9DT1JCQS9OYW1lZFZhbHVlLmphdmEsCglvcmcvb21nL0NPUkJBL09CSkVDVF9OT1RfRVhJU1QuamF2YSwKCW9yZy9vbWcvQ09SQkEvT0JKX0FEQVBURVIuamF2YSwKCW9yZy9vbWcvQ09SQkEvT1JCLmphdmEsCglvcmcvb21nL0NPUkJBL09iamVjdC5qYXZhLAoJb3JnL29tZy9DT1JCQS9PY3RldFNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9QRVJTSVNUX1NUT1JFLmphdmEsCglvcmcvb21nL0NPUkJBL1ByaW5jaXBhbC5qYXZhLAoJb3JnL29tZy9DT1JCQS9TaG9ydEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TaG9ydFNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TdHJpbmdIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvU3lzdGVtRXhjZXB0aW9uLmphdmEsCglvcmcvb21nL0NPUkJBL1RDS2luZC5qYXZhLAoJb3JnL29tZy9DT1JCQS9UUkFOU0FDVElPTl9SRVFVSVJFRC5qYXZhLAoJb3JnL29tZy9DT1JCQS9UUkFOU0FDVElPTl9ST0xMRURCQUNLLmphdmEsCglvcmcvb21nL0NPUkJBL1RSQU5TSUVOVC5qYXZhLAoJb3JnL29tZy9DT1JCQS9UeXBlQ29kZS5qYXZhLAoJb3JnL29tZy9DT1JCQS9UeXBlQ29kZUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9UeXBlQ29kZVBhY2thZ2UvQmFkS2luZC5qYXZhLAoJb3JnL29tZy9DT1JCQS9UeXBlQ29kZVBhY2thZ2UvQm91bmRzLmphdmEsCglvcmcvb21nL0NPUkJBL1VMb25nTG9uZ1NlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VTG9uZ1NlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VTktOT1dOLmphdmEsCglvcmcvb21nL0NPUkJBL1VTaG9ydFNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Vc2VyRXhjZXB0aW9uLmphdmEsCglvcmcvb21nL0NPUkJBL1dDaGFyU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL3BvcnRhYmxlL0lETEVudGl0eS5qYXZhLAoJb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9JbnB1dFN0cmVhbS5qYXZhLAoJb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9PdXRwdXRTdHJlYW0uamF2YSwKCW9yZy9vbWcvQ09SQkEvcG9ydGFibGUvU3RyZWFtYWJsZS5qYXZhOgoJVXNlIG91ciBzdGFuZGFyZCBjb3B5cmlnaHQgaGVhZGVyLgoKMjAwNS0wMy0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIG9yZy9vbWcvQ09SQkEvQW55SG9sZGVyLmphdmE6IEFkZGVkIG1pc3NpbmcgaW1wb3J0LgoKMjAwNS0wMy0wOSAgUm9iZXJ0IFNjaHVzdGVyIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogamF2YS9hd3QvQVdURXZlbnQuamF2YSAodG9TdHJpbmcpOiBBZGRlZCBjYXNlCglmb3Igc291cmNlIG5vdCBiZWluZyBhbiBBV1QgY29tcG9uZW50LgoJCjIwMDUtMDMtMDggIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL0Jvb2xlYW5Ib2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQnl0ZUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9DaGFySG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0RvdWJsZUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GaXhlZEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GbG9hdEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9JbnRIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ0hvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TaG9ydEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TdHJpbmdIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVHlwZUNvZGVIb2xkZXIuamF2YTogIAoJRml4aW5nIHRoZSBfcmVhZCBtZXRob2QuCgoyMDA1LTAzLTA4ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxhdWRyaXVzYUBibHVld2luLmNoPgoKCSogb3JnL29tZy9DT1JCQS9OYW1lZFZhbHVlLmphdmEsCglvcmcvb21nL0NPUkJBL0FSR19JTi5qYXZhLAoJb3JnL29tZy9DT1JCQS9BUkdfT1VULmphdmEsCglvcmcvb21nL0NPUkJBL0FSR19JTk9VVC5qYXZhOgoJTmV3IGZpbGVzLgoKMjAwNS0wMy0wOCAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCSogb3JnL29tZy9DT1JCQS9BbnlIb2xkZXIuamF2YTogTmV3IGZpbGUuCgoyMDA1LTAzLTA4IERhdmlkIEdpbGJlcnQgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvYXd0L0ZvbnQuamF2YSAoZGVjb2RlKTogSGFuZGxlIG51bGwgYXJndW1lbnQgYW5kIGFsbG93CglzcGFjZSBhcyBkZWxpbWl0ZXIuCgoyMDA1LTAzLTA3ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cHMvSGFuZGxlci5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMDMtMDcgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL0RhdGFJbnB1dFN0cmVhbS5qYXZhIChpZ25vcmVJbml0aWFsTmV3bGluZSk6IFJlbW92ZWQKCShyZWFkTGluZSk6IENoYW5nZWQgbmV3bGluZSBoYW5kbGluZy4KCjIwMDUtMDMtMDcgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL25ldC9VUkkuamF2YSAoQVVUSE9SSVRZX1JFR0VYUCk6IENvcnJlY3RlZCByZWdleHAuCgkoQVVUSE9SSVRZX1VTRVJJTkZPX0dST1VQLEFVVEhPUklUWV9IT1NUX0dST1VQLEFVVEhPUklUWV9QT1JUX0dST1VQKToKCUFkanVzdGVkIHRvIG1hdGNoIG5ldyByZWdleHAuCgoyMDA1LTAzLTA2ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogZ251L0NPUkJBL3ByaW1pdGl2ZUFycmF5VHlwZUNvZGUuamF2YToKCU1vdmVkIGZyb20gb3JnLm9tZy5DT1JCQS4KCSogZ251L0NPUkJBL3ByaW1pdGl2ZVR5cGVDb2RlLmphdmE6IExpa2V3aXNlLgoJKiBvcmcvb21nL0NPUkJBL0Jvb2xlYW5Ib2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQnl0ZUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9DaGFySG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0RvdWJsZUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GaXhlZEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9GbG9hdEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9JbnRIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ0hvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TaG9ydEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TdHJpbmdIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVHlwZUNvZGVIb2xkZXIuamF2YToKCUFkZGVkIG5lY2Vzc2FyeSBpbXBvcnRzLgoJKiBvcmcvb21nL0NPUkJBL0Jvb2xlYW5TZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQ2hhclNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Eb3VibGVTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRmxvYXRTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ0xvbmdTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvTG9uZ1NlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9PY3RldFNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9TaG9ydFNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9VTG9uZ0xvbmdTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVUxvbmdTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVVNob3J0U2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1dDaGFyU2VxSG9sZGVyLmphdmE6CglMaWtld2lzZSBhbmQgY2hhbmdlZCBkaXJlY3QgdmFsdWUKCWFzc2lnbm1lbnRzIHRvIHNldFZhbHVlIGNhbGxzLgoJCjIwMDUtMDMtMDYgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBvcmcvb21nL0NPUkJBL0NvbXBsZXRpb25TdGF0dXMuamF2YSwKCW9yZy9vbWcvQ09SQkEvVHlwZUNvZGUuamF2YSwKCW9yZy9vbWcvQ09SQkEvcHJpbWl0aXZlVHlwZUNvZGUuamF2YToKCUZpeCByZWZlcmVuY2VzIHRvIEJvdW5kcyBhbmQgYWRkIGltcGxlbWVudGF0aW9ucwoJb2YgSURMRW50aXR5LgoJCjIwMDUtMDMtMDYgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgkqIG9yZy9vbWcvQ09SQkEvVHlwZUNvZGVQYWNrYWdlL0JhZEtpbmQuamF2YSwKCW9yZy9vbWcvQ09SQkEvU3lzdGVtRXhjZXB0aW9uLmphdmEsCglvcmcvb21nL0NPUkJBL1R5cGVDb2RlLmphdmEsCglvcmcvb21nL0NPUkJBL1VzZXJFeGNlcHRpb24uamF2YSwKCW9yZy9vbWcvQ09SQkEvQ29tcGxldGlvblN0YXR1cy5qYXZhOgoJRG9jdW1lbnRpbmcgdGhhdCBzZXJpYWxWZXJzaW9uVUlEIGlzIGZyb20gdjEuNC4KCQoyMDA1LTA0LTA2ICBBdWRyaXVzIE1lc2thdXNrYXMgIDxhdWRyaXVzYUBibHVld2luLmNoPgoJKiBvcmcvb21nL0NPUkJBL0NvbnRleHQuamF2YSwKCW9yZy9vbWcvQ09SQkEvQ29udGV4dExpc3QuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wNC0wNiAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCSogb3JnL29tZy9DT1JCQS9UQ0tpbmQuamF2YTogTWFraW5nIGZpZWxkcyBmaW5hbC4KCjIwMDUtMDQtMDYgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL0FueS5qYXZhLAoJb3JnL29tZy9DT1JCQS9QcmluY2lwYWwuamF2YSwKCW9yZy9vbWcvQ09SQkEvVHlwZUNvZGVQYWNrYWdlL0JvdW5kcy5qYXZhLAoJb3JnL29tZy9DT1JCQS9UeXBlQ29kZVBhY2thZ2UvcGFja2FnZS5odG1sOiBOZXcgZmlsZXMuCgoyMDA1LTAzLTA2IEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL1VMb25nU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1VTaG9ydFNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9XQ2hhclNlcUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Cb29sZWFuU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0NoYXJTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRG91YmxlU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0Zsb2F0U2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0xvbmdMb25nU2VxSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0xvbmdTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvT2N0ZXRTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvU2hvcnRTZXFIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvVUxvbmdMb25nU2VxSG9sZGVyLmphdmE6IE5ldyBmaWxlcy4KCjIwMDUtMDMtMDYgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL0ludEhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Mb25nSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1Nob3J0SG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL1N0cmluZ0hvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9UeXBlQ29kZUhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Cb29sZWFuSG9sZGVyLmphdmEsCglvcmcvb21nL0NPUkJBL0J5dGVIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvQ2hhckhvbGRlci5qYXZhLAoJb3JnL29tZy9DT1JCQS9Eb3VibGVIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRml4ZWRIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvRmxvYXRIb2xkZXIuamF2YSwKCW9yZy9vbWcvQ09SQkEvcHJpbWl0aXZlVHlwZUNvZGUuamF2YSwKCW9yZy9vbWcvQ09SQkEvcHJpbWl0aXZlQXJyYXlUeXBlQ29kZS5qYXZhOiBOZXcgZmlsZXMuCiAKMjAwNS0wMy0wNiAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCgkqIG9yZy9vbWcvQ09SQkEvcG9ydGFibGUvSW5wdXRTdHJlYW0uamF2YSwKCW9yZy9vbWcvQ09SQkEvcG9ydGFibGUvT3V0cHV0U3RyZWFtLmphdmEsCglvcmcvb21nL0NPUkJBL3BvcnRhYmxlL0lETEVudGl0eS5qYXZhLAoJb3JnL29tZy9DT1JCQS9wb3J0YWJsZS9TdHJlYW1hYmxlLmphdmE6IE5ldyBmaWxlcy4KCSogb3JnL29tZy9DT1JCQS9PYmplY3QuamF2YSwKCW9yZy9vbWcvQ09SQkEvT1JCLmphdmE6IE5ldyBmaWxlcyAoanVzdCB0byBrZWVwIGNvZGUgY29tcGlsYWJsZSkuCiAKMjAwNS0wMy0wNiAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCSogb3JnL29tZy9DT1JCQS9UeXBlQ29kZVBhY2thZ2UvQmFkS2luZC5qYXZhLAoJb3JnL29tZy9DT1JCQS9TeXN0ZW1FeGNlcHRpb24uamF2YSwKCW9yZy9vbWcvQ09SQkEvVHlwZUNvZGUuamF2YSwKCW9yZy9vbWcvQ09SQkEvVXNlckV4Y2VwdGlvbi5qYXZhLAoJb3JnL29tZy9DT1JCQS9Db21wbGV0aW9uU3RhdHVzLmphdmE6IAoJUmVwbGFjaW5nIHNlcmlhbFZlcnNpb25VSUQgdjEuMiBpbnRvIHYxLjQuCgkKMjAwNS0wMy0wNiAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCSogb3JnL29tZy9DT1JCQS9UeXBlQ29kZVBhY2thZ2UvQmFkS2luZC5qYXZhLAoJb3JnL29tZy9DT1JCQS9TeXN0ZW1FeGNlcHRpb24uamF2YSwKCW9yZy9vbWcvQ09SQkEvVHlwZUNvZGUuamF2YSwKCW9yZy9vbWcvQ09SQkEvVXNlckV4Y2VwdGlvbi5qYXZhLAoJb3JnL29tZy9DT1JCQS9Db21wbGV0aW9uU3RhdHVzLmphdmE6IEFkZGluZyBzZXJpYWxWZXJzaW9uVUlELgoJCjIwMDUtMDMtMDUgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIG5hdGl2ZS9mZGxpYm0vZHRvYS5jIChfZHRvYV9yKTogSW5pdGlhbGl6ZSB2YXJpYWJsZXMgaWxpbSwgaWxpbTEKCWFuZCBzcGVjX2Nhc2UuIEluaXRpYWxpemUgcG9pbnRlciBtbG8uCgkqIG5hdGl2ZS9mZGxpYm0vc3RydG9kLmMgKF9zdHJ0b2Rfcik6IEluaXRpYWxpemUgcG9pbnRlcnMgYmIsIGJkLAoJZHMgYW5kIGRlbHRhLgoJKiBuYXRpdmUvZmRsaWJtL2VfYXNpbi5jIChfX2llZWU3NTRfYXNpbik6IEluaXRpYWxpemUgdmFyaWFibGUgdC4KCSogbmF0aXZlL2ZkbGlibS9lX2V4cC5jIChfX2llZWU3NTRfZXhwKTogSW5pdGlhbGl6ZSB2YXJpYWJsZXMgaGksCglsbyBhbmQgay4KCSogbmF0aXZlL2ZkbGlibS9lX3JlbV9waW8yLmMgKF9faWVlZTc1NF9yZW1fcGlvMik6IEluaXRpYWxpemUKCXVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgei4KCjIwMDUtMDMtMDUgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgkqIG9yZy9vbWcvQ09SQkEvQkFEX09QRVJBVElPTi5qYXZhOiBGb3JtYXR0aW5nIGNoYW5nZQoJKHJlcGxhY2luZyBDUiBDUiBMRiBieSBDUiBMRikuCgkKMjAwNS0wMy0wNCAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIG9yZy9vbWcvQ09SQkEvQm91bmRzLmphdmE6IE5ldyBmaWxlLgoJKiBvcmcvb21nL0NPUkJBL1R5cGVDb2RlLmphdmE6IENvbW1lbnRlZAoJb3V0IEFueSB0byBmaXggYnVpbGQuCglGcm9tIEF1ZHJpdXMgTWVza2F1c2thczoKCSogb3JnL29tZy9DT1JCQS9CQURfT1BFUkFUSU9OLmphdmE6IE5ldyBmaWxlLgkKCjIwMDUtMDMtMDUgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBvcmcvb21nL0NPUkJBL0lOVl9QT0xJQ1kuamF2YSwKCW9yZy9vbWcvQ09SQkEvTk9fUEVSTUlTU0lPTi5qYXZhLAoJb3JnL29tZy9DT1JCQS9CQURfSU5WX09SREVSLmphdmEsCglvcmcvb21nL0NPUkJBL0lOVEZfUkVQT1MuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU5WX0lERU5ULmphdmEsCglvcmcvb21nL0NPUkJBL05PX0lNUExFTUVOVC5qYXZhLAoJb3JnL29tZy9DT1JCQS9VTktOT1dOLmphdmEsCglvcmcvb21nL0NPUkJBL0lOVl9GTEFHLmphdmEsCglvcmcvb21nL0NPUkJBL0JBRF9UWVBFQ09ERS5qYXZhLAoJb3JnL29tZy9DT1JCQS9OT19NRU1PUlkuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU5WQUxJRF9UUkFOU0FDVElPTi5qYXZhLAoJb3JnL29tZy9DT1JCQS9JTlRFUk5BTC5qYXZhLAoJb3JnL29tZy9DT1JCQS9DT01NX0ZBSUxVUkUuamF2YSwKCW9yZy9vbWcvQ09SQkEvUEVSU0lTVF9TVE9SRS5qYXZhLAoJb3JnL29tZy9DT1JCQS9CQURfQ09OVEVYVC5qYXZhLAoJb3JnL29tZy9DT1JCQS9JTlZfT0JKUkVGLmphdmEsCglvcmcvb21nL0NPUkJBL1RSQU5TQUNUSU9OX1JFUVVJUkVELmphdmEsCglvcmcvb21nL0NPUkJBL1RSQU5TQUNUSU9OX1JPTExFREJBQ0suamF2YSwKCW9yZy9vbWcvQ09SQkEvRlJFRV9NRU0uamF2YSwKCW9yZy9vbWcvQ09SQkEvT0JKRUNUX05PVF9FWElTVC5qYXZhLAoJb3JnL29tZy9DT1JCQS9UUkFOU0lFTlQuamF2YSwKCW9yZy9vbWcvQ09SQkEvT0JKX0FEQVBURVIuamF2YSwKCW9yZy9vbWcvQ09SQkEvSU1QX0xJTUlULmphdmEsCglvcmcvb21nL0NPUkJBL0lOSVRJQUxJWkUuamF2YSwKCW9yZy9vbWcvQ09SQkEvTk9fUkVTUE9OU0UuamF2YSwKCW9yZy9vbWcvQ09SQkEvREFUQV9DT05WRVJTSU9OLmphdmEsCglvcmcvb21nL0NPUkJBL01BUlNIQUwuamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wMy0wNCAgUm9tYW4gS2VubmtlICA8cm9tYW5Ab250b2dyYXBoaWNzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvcnRmL0NvbnRyb2xXb3JkVG9rZW4uamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3N3aW5nL3RleHQvcnRmL1JURkVkaXRvcktpdC5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc3dpbmcvdGV4dC9ydGYvUlRGUGFyc2VFeGNlcHRpb24uamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3N3aW5nL3RleHQvcnRmL1JURlBhcnNlci5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc3dpbmcvdGV4dC9ydGYvUlRGU2Nhbm5lci5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc3dpbmcvdGV4dC9ydGYvVGV4dFRva2VuLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zd2luZy90ZXh0L3J0Zi9Ub2tlbi5qYXZhOiBOZXcgZmlsZS4KCQoyMDA1LTAzLTAyICBBdWRyaXVzIE1lc2thdXNrYXMgIDxhdWRyaXVzYUBibHVld2luLmNoPgoKICAgICAgICAqIG9yZy9vbWcvQ09SQkEvVHlwZUNvZGUuamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL1VzZXJFeGNlcHRpb24uamF2YSwKICAgICAgICBvcmcvb21nL0NPUkJBL1R5cGVDb2RlUGFja2FnZS9CYWRLaW5kLmphdmE6IE5ldyBmaWxlcy4gCgkKMjAwNS0wMy0wMiAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCgkqIG9yZy9vbWcvQ09SQkEvVENLaW5kLmphdmEsCglvcmcvb21nL0NPUkJBL0JBRF9QQVJBTS5qYXZhLAoJb3JnL29tZy9DT1JCQS9Db21wbGV0aW9uU3RhdHVzLmphdmEsCglvcmcvb21nL0NPUkJBL0lETEVudGl0eS5qYXZhLAoJb3JnL29tZy9DT1JCQS9TeXN0ZW1FeGNlcHRpb24uamF2YTogTmV3IGZpbGVzLgoKMjAwNS0wMy0wMyAgUm9tYW4gS2VubmtlICA8cm9tYW5Ab250b2dyYXBoaWNzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0JveExheW91dC5qYXZhOgoJKHByZWZlcnJlZExheW91dFNpemUsbWluaW11bUxheW91dFNpemUsbWF4aW11bUxheW91dFNpemUsCglsYXlvdXRDb250YWluZXIpOiBNYWtlIHRoZXNlIG1ldGhvZHMgYW5kIHRoZXJlYnkgdGhlCglCb3hMYXlvdXQgcmVzcGVjdCB0aGUgaW5zZXRzIChsaWtlIGJvcmRlcnMpIG9mIHRoZQoJY29tcG9uZW50IHRoYXQgaXMgbGFpZCBvdXQuCgoyMDA1LTAzLTAzICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9sYW5nL0luaGVyaXRhYmxlVGhyZWFkTG9jYWwuamF2YQoJKHRocmVhZE1hcCk6IFJlbW92ZWQuCgkoSW5oZXJpdGFibGVUaHJlYWRMb2NhbCk6IFJlbW92ZWQgY29kZS4KCShuZXdDaGlsZFRocmVhZCk6IENoYW5nZWQgdG8gdXNlIGxvY2FscyBtYXAgaW4gVGhyZWFkLgoJKiBqYXZhL2xhbmcvVGhyZWFkLmphdmEKCShsb2NhbHMpOiBOZXcgZmllbGQuCgkoZGllKTogQ2xlYXIgbG9jYWxzIGZpZWxkLgoJKGdldFRocmVhZExvY2Fscyk6IE5ldyBtZXRob2QuCgkqIGphdmEvbGFuZy9UaHJlYWRMb2NhbC5qYXZhCgkodmFsdWUpOiBSZW1vdmVkLgoJKHZhbHVlTWFwKTogUmVtb3ZlZC4KCShnZXQsc2V0KTogQ2hhbmdlZCB0byB1c2UgbG9jYWxzIG1hcCBpbiBUaHJlYWQuCgoyMDA1LTAzLTAzICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9pby9GaWxlSW5wdXRTdHJlYW0uamF2YSAoRmlsZUlucHV0U3RyZWFtKEZpbGUpKSwKCWphdmEvaW8vRmlsZU91dHB1dFN0cmVhbS5qYXZhIChGaWxlT3V0cHV0U3RyZWFtKEZpbGUpKToKCVJlbW92ZWQgdW5uZWNlc3NhcnkgRmlsZS5pc0RpcmVjdG9yeSgpIGNoZWNrLgoKMjAwNS0wMy0wMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGRvYy9oYWNraW5nLnRleGluZm86IEltcHJvdmVkIGV4cGxhbmF0aW9uIG9mIG91ciBjb2Rpbmcgc3R5bGUKCXJlZ2FyZGluZyBpbXBvcnQgc3RhdGVtZW50cy4KCjIwMDUtMDMtMDIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9zZWN1cml0eS9PSUQuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L2Rlci9ERVJSZWFkZXIuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL0NvbGxlY3Rpb25DZXJ0U3RvcmVJbXBsLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9EU0FQYXJhbWV0ZXJHZW5lcmF0b3IuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL0RlZmF1bHRQb2xpY3kuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL0VuY29kZWRLZXlGYWN0b3J5LmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9HbnVESFB1YmxpY0tleS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvR251RFNBUHJpdmF0ZUtleS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvR251RFNBUHVibGljS2V5LmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9HbnVSU0FQcml2YXRlS2V5LmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9HbnVSU0FQdWJsaWNLZXkuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL1BLSVhDZXJ0UGF0aFZhbGlkYXRvckltcGwuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL1JTQS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvU0hBMVBSTkcuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL1NIQTF3aXRoUlNBLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9YNTA5Q2VydGlmaWNhdGVGYWN0b3J5LmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L0dudVBLSUV4dGVuc2lvbi5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9YNTAwRGlzdGluZ3Vpc2hlZE5hbWUuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNSTC5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9YNTA5Q1JMRW50cnkuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNlcnRQYXRoLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDlDZXJ0U2VsZWN0b3JJbXBsLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDlDZXJ0aWZpY2F0ZS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQXV0aG9yaXR5S2V5SWRlbnRpZmllci5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQmFzaWNDb25zdHJhaW50cy5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQ1JMTnVtYmVyLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9DZXJ0aWZpY2F0ZVBvbGljaWVzLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9FeHRlbmRlZEtleVVzYWdlLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9FeHRlbnNpb24uamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L0dlbmVyYWxOYW1lcy5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvSXNzdWVyQWx0ZXJuYXRpdmVOYW1lcy5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvS2V5VXNhZ2UuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L1BvbGljeUNvbnN0cmFpbnQuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L1BvbGljeU1hcHBpbmdzLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9Qcml2YXRlS2V5VXNhZ2VQZXJpb2QuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L1JlYXNvbkNvZGUuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L1N1YmplY3RBbHRlcm5hdGl2ZU5hbWVzLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9TdWJqZWN0S2V5SWRlbnRpZmllci5qYXZhOgoJUmV3b3JrZWQgaW1wb3J0IHN0YXRtZW50cyB0byBtYXRjaCBvdXIgc3R5bGUuCgoyMDA1LTAzLTAyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L0J1ZmZlcnMuamF2YSwKCWdudS9qYXZhL2F3dC9Db21wb25lbnREYXRhQmxpdE9wLmphdmEsCglnbnUvamF2YS9hd3QvRW1iZWRkZWRXaW5kb3dTdXBwb3J0LmphdmEsCglnbnUvamF2YS9hd3QvaW1hZ2UvSW1hZ2VEZWNvZGVyLmphdmEsCglnbnUvamF2YS9hd3QvaW1hZ2UvWEJNRGVjb2Rlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvQ2xhc3NwYXRoRm9udFBlZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL0ludHJvc3BlY3Rpb25JbmN1YmF0b3IuamF2YSwKCWdudS9qYXZhL2lvL0VuY29kaW5nTWFuYWdlci5qYXZhLAoJZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXJVVEY4LmphdmEsCglnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlckVpZ2h0Qml0TG9va3VwLmphdmEsCglnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlclVURjguamF2YSwKCWdudS9qYXZhL2xhbmcvQ2xhc3NIZWxwZXIuamF2YSwKCWdudS9qYXZhL2xhbmcvTWFpblRocmVhZC5qYXZhLAoJZ251L2phdmEvbGFuZy9yZWZsZWN0L1R5cGVTaWduYXR1cmUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVIZWxwZXIuamF2YSwKCWdudS9qYXZhL25ldC9DUkxGSW5wdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25ldC9FbXB0eVg1MDlUcnVzdE1hbmFnZXIuamF2YSwKCWdudS9qYXZhL25ldC9IZWFkZXJGaWVsZEhlbHBlci5qYXZhLAoJZ251L2phdmEvbmV0L0xpbmVJbnB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvbmV0L1BsYWluU29ja2V0SW1wbC5qYXZhLAoJZ251L2phdmEvbmV0L1VSTFBhcnNlRXJyb3IuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9maWxlL0Nvbm5lY3Rpb24uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9maWxlL0hhbmRsZXIuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvQWN0aXZlTW9kZURUUC5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9CbG9ja0lucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL0NvbXByZXNzZWRJbnB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9EVFAuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvRFRQSW5wdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvRlRQQ29ubmVjdGlvbi5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9GVFBVUkxDb25uZWN0aW9uLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL1Bhc3NpdmVNb2RlRFRQLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL1N0cmVhbUlucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9DaHVua2VkSW5wdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBDb25uZWN0aW9uLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IVFRQVVJMQ29ubmVjdGlvbi5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSGVhZGVycy5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvUmVxdWVzdC5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2phci9Db25uZWN0aW9uLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL0hhbmRsZXIuamF2YSwKCWdudS9qYXZhL25pby9DaGFubmVsSW5wdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25pby9DaGFubmVsT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uaW8vSW5wdXRTdHJlYW1DaGFubmVsLmphdmEsCglnbnUvamF2YS9uaW8vT3V0cHV0U3RyZWFtQ2hhbm5lbC5qYXZhLAoJZ251L2phdmEvbmlvL1NlbGVjdG9yUHJvdmlkZXJJbXBsLmphdmEsCglnbnUvamF2YS9ybWkvUk1JTWFyc2hhbGxlZE9iamVjdElucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9ybWkvUk1JTWFyc2hhbGxlZE9iamVjdE91dHB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvcm1pL2RnYy9ER0NJbXBsLmphdmEsCglnbnUvamF2YS9ybWkvcmVnaXN0cnkvUmVnaXN0cnlJbXBsLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1Byb3RvY29sQ29uc3RhbnRzLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1JNSURlZmF1bHRTb2NrZXRGYWN0b3J5LmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1JNSUluY29taW5nVGhyZWFkLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1JNSU9iamVjdElucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1JNSU9iamVjdE91dHB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvcm1pL3NlcnZlci9STUlWb2lkVmFsdWUuamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdENvbm5lY3Rpb25NYW5hZ2VyLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1VuaWNhc3RSZWYuamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFJlbW90ZUNhbGwuamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFJlbW90ZVN0dWIuamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFNlcnZlclJlZi5qYXZhOgoJUmVvcmdhbml6ZWQgaW1wb3J0IHN0YXRtZW50cyBhbmQgZml4ZWQgc29tZSBAYXV0aG9yIHRhZ3MgYW5kIGh0bWwKCXVzYWdlIGluIGphdmFkb2NzLgoKMjAwNS0wMy0wMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9jb2xvci9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9hd3QvaW1hZ2UvcGFja2FnZS5odG1sLAoJZ251L2phdmEvYXd0L3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL2F3dC9wZWVyL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvcGFja2FnZS5odG1sLAoJZ251L2phdmEvYmVhbnMvZWRpdG9ycy9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9iZWFucy9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9pby9kZWNvZGUvcGFja2FnZS5odG1sLAoJZ251L2phdmEvaW8vZW5jb2RlL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL2lvL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL2xhbmcvcGFja2FnZS5odG1sLAoJZ251L2phdmEvbGFuZy9yZWZsZWN0L3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL2xvY2FsZS9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9tYXRoL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL25ldC9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZmlsZS9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9ldmVudC9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL25pby9jaGFubmVscy9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9uaW8vY2hhcnNldC9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9uaW8vcGFja2FnZS5odG1sLAoJZ251L2phdmEvcm1pL2RnYy9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9ybWkvcGFja2FnZS5odG1sLAoJZ251L2phdmEvcm1pL3JlZ2lzdHJ5L3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvcGFja2FnZS5odG1sLAoJZ251L2phdmEvc2VjdXJpdHkvYWN0aW9uL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL3NlY3VyaXR5L2Jlci9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9zZWN1cml0eS9kZXIvcGFja2FnZS5odG1sLAoJZ251L2phdmEvc2VjdXJpdHkvcGFja2FnZS5odG1sLAoJZ251L2phdmEvc2VjdXJpdHkvcGtjcy9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS9zZWN1cml0eS91dGlsL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvcGFja2FnZS5odG1sLAoJZ251L2phdmEvdGV4dC9wYWNrYWdlLmh0bWwsCglnbnUvamF2YS91dGlsL3BhY2thZ2UuaHRtbCwKCWdudS9qYXZhL3V0aWwvcHJlZnMvcGFja2FnZS5odG1sLAoJamF2YS9sYW5nL2Fubm90YXRpb24vcGFja2FnZS5odG1sOgoJTmV3IGZpbGVzLgoKMjAwNS0wMy0wMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9jb2xvci9DaWVYeXpDb252ZXJ0ZXIuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9DbHV0UHJvZmlsZUNvbnZlcnRlci5qYXZhLAoJZ251L2phdmEvYXd0L2NvbG9yL0NvbG9yTG9va1VwVGFibGUuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9Db2xvclNwYWNlQ29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvR3JheVByb2ZpbGVDb252ZXJ0ZXIuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9HcmF5U2NhbGVDb252ZXJ0ZXIuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9MaW5lYXJSR0JDb252ZXJ0ZXIuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9Qcm9maWxlSGVhZGVyLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvUHljY0NvbnZlcnRlci5qYXZhLAoJZ251L2phdmEvYXd0L2NvbG9yL1JnYlByb2ZpbGVDb252ZXJ0ZXIuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9TcmdiQ29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvVGFnRW50cnkuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9Ub25lUmVwcm9kdWN0aW9uQ3VydmUuamF2YToKCVVzZSBzdGFuZGFyZCBjb3B5cmlnaHQgaGVhZGVyLgoKMjAwNS0wMy0wMiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL3d3dy5nbnUub3JnL2NwLXRvb2xzL2NwLXRvb2xzLndtbDogRml4IGNyZWF0ZWxpbmsgdG8KCXRleGlkb2NsZXQuaHRtbC4KCjIwMDUtMDMtMDIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBkb2MvYXBpL01ha2VmaWxlLmFtOiBSZW1vdmUgZ2pkb2NfcmF3Y29tbWVudC5jYWNoZSBpZiBuZWNjZXNhcnkuCgoyMDA1LTAyLTI4ICBSb21hbiBLZW5ua2UgIDxyb21hbkBvbnRvZ3JhcGhpY3MuY29tPgoKCSogZXhhbXBsZXMvZ251L2NsYXNzcGF0aC9leGFtcGxlcy9zd2luZy9EZW1vLmphdmEKCShta0xpc3RQYW5lbCxta0J1dHRvbkJhcik6IENoYW5nZWQgSkxpc3QgZXhhbXBsZSBzbyB0aGF0Cgl0aGUgbmV3bHkgYWRkZWQgc3VwcG9ydCBmb3IgSkxpc3QuSE9SSVpPTlRBTF9XUkFQIGFuZAoJSkxpc3QuVkVSVElDQUxfV1JBUCBpcyBzaG93bi4KCjIwMDUtMDItMjcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQG9udG9ncmFwaGljcy5jb20+CgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhCgkoZ2V0UHJlZmVycmVkU2Nyb2xsYWJsZVZpZXdwb3J0U2l6ZSk6CglUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gd2FzIG1lcmVseSBndWVzc2luZyB0aGUgc2l6ZSwKCW5vdyBpdCByZXNwZWN0cyBsYXlvdXRPcmllbnRhdGlvbiwgdmlzaWJsZVJvd0NvdW50CglhbmQgcHJlZmVycmVkU2l6ZS4KCShnZXRTY3JvbGxhYmxlVHJhY2tzVmlld3BvcnRIZWlnaHQpOgoJUmVpbXBsZW1lbnRlZCBzbyB0aGF0IGxheW91dE9yaWVudGF0aW9uLCB2aXNpYmxlUm93Q291bnQKCWFuZCBwcmVmZXJyZWQgc2l6ZSBhcmUgcmVzcGVjdGVkLgoJKGdldFNjcm9sbGFibGVUcmFja3NWaWV3cG9ydFdpZHRoKToKCVJlaW1wbGVtZW50ZWQgc28gdGhhdCBsYXlvdXRPcmllbnRhdGlvbiwgdmlzaWJsZVJvd0NvdW50CglhbmQgcHJlZmVycmVkIHNpemUgYXJlIHJlc3BlY3RlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6CglJbXByb3ZlZCBjYWxjdWxhdGlvbiBvZiBwcmVmZXJyZWRTaXplIHdoZW4gSkxpc3QgaXMKCXNldCB0byBIT1JJWk9OVEFMX1dSQVAgb3IgVkVSVElDQUxfV1JBUC4KCShnZXRDZWxsQm91bmRzKToKCVRoZSBwcmV2aW91cyBpbXBsZW1lbnRhdGlvbiBhc3N1bWVkIGEgbGF5b3V0T3JpZW50YXRpb24gb2YKCUpMaXN0LlZFUlRJQ0FMLCBub3cgYWxzbyBvayB3aXRoIEpMaXN0LkhPUklaT05UQUxfV1JBUCBhbmQKCUpMaXN0LlZFUlRJQ0FMX1dSQVAuCgoyMDA1LTAyLTI3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBvbnRvZ3JhcGhpY3MuY29tPgoKCSogamF2YXgvc3dpbmcvQ2VsbFJlbmRlcmVyUGFuZS5qYXZhOgoJaW1wbGVtZW50ZWQgYWxsIG1ldGhvZHMgb2YgdGhpcyBjbGFzcy4KCXJlZm9ybWF0dGVkIGFsbCB3cm9uZyBmb3JtYXR0ZWQgY29kZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhCgkocGFpbnRDZWxsKTogdXNlIENlbGxSZW5kZXJlclBhbmUgZm9yIHBhaW50aW5nIHRoZSBjZWxscy4KCjIwMDUtMDItMjcgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBqYXZheC9zd2luZy9KQ29tYm9Cb3guamF2YSAoY29uc3RydWN0b3JzKTogc2VsZWN0aW5nIHRoZSAKCWZpcnN0IGl0ZW0gaWYgdGhlIGJveCB3YXMgY29uc3RydWN0ZWQgZnJvbSB0aGUgcHJvdmlkZWQKCW5vbiAtIGVtcHR5IGFycmF5IG9yIHZlY3Rvci4KCjIwMDUtMDItMjcgIFJvbWFuIEtlbm5rZSAgPHJvbWFuQG9udG9ncmFwaGljcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJOgoJZml4ZWQgbW9kaWZpZXJzIG9mIHNldmVyYWwgZmllbGRzLCBtZXRob2RzIGFuZCBpbm5lcgoJY2xhc3NlcyB0byBtYXRjaCB0aGUgJ3NwZWMnLgoJKGdldE1heGltdW1TaXplKTogcmVtb3ZlZC4gSXQncyBub3QgaW4gdGhlIHNwZWMgYW5kIHRoZQoJaW1wbGVtZW50YXRpb25zIHdhcyBzdXBlcmZsdW91cy4KCjIwMDUtMDItMjcgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9maWxlL0Nvbm5lY3Rpb24uamF2YTogUmV0dXJuIGNvcnJlY3QgY29udGVudAoJbGVuZ3RoIGZvciBkaXJlY3RvcnkgbGlzdGluZy4KCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YTogQ29ycmVjdGlvbiBmb3IgVVJMQ2xhc3NMb2FkZXIsIGJ1ZwoJIzExMjg1OiByZXR1cm4gdmFsaWQgVVJMcyBmb3IgZGlyZWN0b3JpZXMuCgoyMDA1LTAyLTI3ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2FlbGZyZWQyL0pBWFBGYWN0b3J5LmphdmEsCglnbnUveG1sL2FlbGZyZWQyL1NBWERyaXZlci5qYXZhLAoJZ251L3htbC9hZWxmcmVkMi9YbWxQYXJzZXIuamF2YSwKCWdudS94bWwvYWVsZnJlZDIvWG1sUmVhZGVyLmphdmE6IEFwcGxpZWQgR05VIENsYXNzcGF0aCBzb3VyY2UgY29kZQoJZm9ybWF0dGluZyBjb252ZW50aW9ucy4gUmVwbGFjZWQgYXJyYXlzIG9mIE9iamVjdCB3aXRoIHN0cnVjdC1saWtlCgljbGFzc2VzIGZvciBlYXNpZXIgbWFpbnRhaW5hYmlsaXR5LiBNYWRlIFNBWERyaXZlci5zdHJpbmdJbnRlcm5pbmcKCXBhY2thZ2UgcHJpdmF0ZSB0byBhbGxvdyBhY2Nlc3MgZnJvbSBYbWxQYXJzZXIgaW5zaWRlIHRoZSBsb29wIHdpdGhvdXQKCWEgbWV0aG9kIGNhbGwgb3ZlcmhlYWQuCgoyMDA1LTAyLTI3ICBSb21hbiBLZW5ua2UgIDxyb21hbkBvbnRvZ3JhcGhpY3MuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSToKCW1ha2UgQmFzaWNMaXN0VUkgY2FwYWJsZSBvZiB3cmFwcGluZyBsaXN0cwoJKGxheW91dE9yaWVudGF0aW9uIHByb3BlcnR5IG9mIGphdmF4LnN3aW5nLkpMaXN0KQoKMjAwNS0wMi0yNiAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCgkqIGphdmF4L3N3aW5nL1RpbWVyLmphdmE6IGRvY3VtZW50aW5nIGFuZCBzb21lCglmb3JtYXR0aW5nLgkKCjIwMDUtMDItMjYgIEF1ZHJpdXMgTWVza2F1c2thcyAgPGF1ZHJpdXNhQGJsdWV3aW4uY2g+CgoJKiBqYXZheC9zd2luZy9KVGV4dEFyZWEuamF2YSAocmVwbGFjZVJhbmdlKTogCglGaXhpbmcgZG9jLnJlbW92ZShzdGFydCwgbGVuZ3RoKSBtaXNpbnRlcnByZXRhdGlvbi4KCQoyMDA1LTAyLTI2ICBSb21hbiBLZW5ua2UgIDxyb21hbkBvbnRvZ3JhcGhpY3MuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSQoJKHVwZGF0ZUxheW91dFN0YXRlLHBhaW50KTogbWFrZSBCYXNpY0xpc3RVSSBhd2FyZSBvZiB0aGUKCXdpZHRoIG9mIHRoZSByZW5kZXJlZCBKTGlzdAoKMjAwNS0wMi0yNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogTkVXUzogQWRkIDAuMTQgcmVsZWFzZSBkYXRlLgoJKiBjb25maWd1cmUuYWM6IFNldCB2ZXJzaW9uIHRvIDAuMTQuCgoyMDA1LTAyLTI1ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvbmV0L0luZXRBZGRyZXNzLmphdmEKCSh0b1N0cmluZyk6IERvbid0IHByaW50IGVtcHR5IGhvc3RuYW1lcy4KCUZpeGVzIGJ1ZyAjMTE5NTYKCjIwMDUtMDItMjQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9NYWtlZmlsZSAoU1VCRElSUyk6IEFkZCBjcC10b29scy4KCSogZG9jL3d3dy5nbnUub3JnL2NwLXRvb2xzL01ha2VmaWxlOiBOZXcgZmlsZS4KCSogZG9jL3d3dy5nbnUub3JnL2NwLXRvb2xzL2NwLXRvb2xzLndtbDogTGlrZXdpc2UuCgkqIGRvYy93d3cuZ251Lm9yZy9jcC10b29scy90ZXhpZG9jbGV0Lmh0bWw6IExpa2V3aXNlLgoKMjAwNS0wMi0yNCAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KCgkqIGphdmF4L3N3aW5nL1RpbWVyLmphdmEgKGNvbnN0cnVjdG9yKTogYXNzaWduaW5nIGluaXRpYWxEZWxheQoKMjAwNS0wMi0yNCAgQXVkcml1cyBNZXNrYXVza2FzICA8YXVkcml1c2FAYmx1ZXdpbi5jaD4KICAgCgkqIGphdmF4L3N3aW5nL1RpbWVyLmphdmEgKFdha2VyLnJ1bik6IGZpcmluZyB0aGUgZmlyc3QgYWN0aW9uCglldmVudC4KCjIwMDUtMDItMjQgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIEJBU0U2NC5qYXZhOiBUcnVuY2F0ZSBlbmNvZGVkIGJ5dGUgYXJyYXkuCgoyMDA1LTAyLTI0ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hd3QvZm9udC9UZXh0QXR0cmlidXRlLmphdmE6IGNoYW5nZWQgbmFtZXMgdG8gbG93ZXIgY2FzZTsKCShyZWFkUmVzb2x2ZSk6IGltcGxlbWVudGVkLgoJQWRkZWQgZG9jIGNvbW1lbnRzIGFsbCBvdmVyLgoKMjAwNS0wMi0yMiAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmE6CglTdWJzdGl0dXRlIFN0cmluZ0J1aWxkZXIgZm9yIHRoZSBvcmlnaW5hbAoJU3RyaW5nQnVmZmVyLgoKMjAwNS0wMi0yMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL3NlY3VyaXR5L1BvbGljeUZpbGUuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3BrY3MvUEtDUzdTaWduZWREYXRhLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wa2NzL1NpZ25lckluZm8uamF2YToKCUZpeGVkIGNvcHlyaWdodCBoZWFkZXIuCgoyMDA1LTAyLTIyICBSb21hbiBLZW5ua2UgPHJvbWFuQG9udG9ncmFwaGljcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEZpeGVkIEJ1dHRvbiBsZWZ0IGFuZCByaWdodCBtYXJnaW4KCjIwMDUtMDItMjIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYyAodGhyb3cpOgoJQ2FsbCBnX3NucHJpbnRmIGluc3RlYWQgb2Ygc25wcmludGYuCgoyMDA1LTAyLTIyICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYwoJKGJ1dHRvbl90b19hd3RfbW9kcyk6IFJldHVybiBCVVRUT04gbWFza3MsIG5vdCBCVVRUT05fRE9XTiBtYXNrcy4KCjIwMDUtMDItMjIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKGdldFdpZHRoKTogTmV3IG1ldGhvZC4KCShnZXRIZWlnaHQpOiBMaWtld2lzZS4KCShjcmVhdGUpOiBSZW1vdmUgd2lkdGgsIGhlaWdodCBhbmQgaW5zZXRzIHBhcmFtZXRlcnMuICBNb3ZlIHNpemUKCXNldHVwIC4uLgoJKHJlYWxpemVfY2IpOiAuLi4gaGVyZS4gIE5ldyBmdW5jdGlvbi4KCShjb25uZWN0U2lnbmFscyk6IENvbm5lY3QgcmVhbGl6ZV9jYi4KCShyZXF1ZXN0X2ZyYW1lX2V4dGVudHMpOiBSZW1vdmUgRklYTUUuICBNb3ZlCglwb3N0SW5zZXRzQ2hhbmdlZEV2ZW50IGxvb2t1cCAuLi4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0LmMgKGd0a0luaXQpOgoJLi4uIGhlcmUuICBMb29rIHVwIEd0a1dpbmRvd1BlZXIgZ2V0V2lkdGggYW5kIGdldEhlaWdodCBtZXRob2RzLgoJKiBqbmkvZ3RrLXBlZXIvZ3RrcGVlci5oIChwb3N0SW5zZXRzQ2hhbmdlZEV2ZW50SUQpOiBEZWNsYXJlCglqbWV0aG9kSUQuCgkod2luZG93R2V0V2lkdGhJRCk6IExpa2V3aXNlLgoJKHdpbmRvd0dldEhlaWdodElEKTogTGlrZXdpc2UuCgoyMDA1LTAyLTIyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5oOgoJUmVnZW5lcmF0ZWQuCgoyMDA1LTAyLTIyICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Sb2JvdC5qYXZhICh3YWl0Rm9ySWRsZSk6IENhbGwgaW52b2tlQW5kV2FpdCBvbiBhbgoJZW1wdHkgUnVubmFibGUuCgoyMDA1LTAyLTIxICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEgKHJlYWRDbGFzc0Rlc2NyaXB0b3IpOiBDYWNoZSByZXN1bHQKCW9mIGN1cnJlbnRMb2FkZXIoKSBpbiBjYWxsZXJzQ2xhc3NMb2FkZXIgZmllbGQuIENoZWNrIGZvciBwcmltaXRpdmUKCXR5cGUgQ2xhc3MgbmFtZXMgaWYgcmVzb2x2ZUNsYXNzIHRocm93cyBhIENsYXNzTm90Rm91bmRFeGNlcHRpb24uCgkocmVzb2x2ZUNsYXNzKTogQ2FsbCBjdXJyZW50TG9hZGVyKCkgb25seSBpZiBjYWxsZXJzQ2xhc3NMb2FkZXIgaXMKCW5vdCBzZXQuIENhY2hlIHJlc3VsdCBvZiBjdXJyZW50TG9hZGVyKCkuIERvbid0IGNoZWNrIGZvciBwcmltaXRpdmUKCXR5cGUgQ2xhc3MgbmFtZXMgaGVyZS4KCShjYWxsZXJzQ2xhc3NMb2FkZXIpOiBOZXcgZmllbGQuCgkqIGphdmEvaW8vT2JqZWN0T3V0cHV0U3RyZWFtLmphdmEgKHdyaXRlT2JqZWN0LCBjYWxsV3JpdGVNZXRob2QpOgoJV2hpdGVzcGFjZSBmaXhlcy4KCjIwMDUtMDItMjIgIFJvYmVydCBTY2h1c3RlciAgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgoJKiBqYXZhL2lvL0lucHV0U3RyZWFtUmVhZGVyLmphdmE6IEZpeGVkIGNvbXBpbGF0aW9uCglwcm9ibGVtLgoKMjAwNS0wMi0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0NoZWNrYm94LmphdmEKCShuZXh0X2NoZWNrYm94X251bWJlcik6IE5ldyBzdGF0aWMgdmFyaWFibGUuCgkoZ2VuZXJhdGVOYW1lKTogTmV3IG1ldGhvZC4KCShnZXRVbmlxdWVMb25nKTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhCgkobmV4dF93aW5kb3dfbnVtYmVyKTogTmV3IHN0YXRpYyB2YXJpYWJsZS4KCShnZW5lcmF0ZU5hbWUpOiBOZXcgbWV0aG9kLgoJKGdldFVuaXF1ZUxvbmcpOiBMaWtld2lzZS4KCjIwMDUtMDItMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9qYXIvSmFyRmlsZS5qYXZhICh2ZXJpZnlIYXNoZXMpOiBDaGVjayB3aGV0aGVyIFppcEVudHJ5CglleGlzdHMuCgkKMjAwNS0wMi0yMSAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCQoJKiBnbnUvamF2YS9uaW8vQ2hhbm5lbFJlYWRlcjogRml4ZWQgY29tbWVudHMuCgoyMDA1LTAyLTIxICBSb2JlcnQgU2NodXN0ZXIgIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogamF2YS9uaW8vY2hhbm5lbHMvQ2hhbm5lbHM6IEFkZGVkIEZJWE1FcyBhYm91dAoJc3R1YiBtZXRob2QgaW1wbGVtZW50YXRpb24uCgkobmV3UmVhZGVyKTogSW1wbGVtZW50ZWQuCgkqIGphdmEvaW8vSW5wdXRTdHJlYW1SZWFkZXI6CgkoSW5wdXRTdHJlYW1SZWFkZXIoSW5wdXRTdHJlYW0sIENoYXJzZXQpKTogSW1wbGVtZW50ZWQuCgkoSW5wdXRTdHJlYW1SZWFkZXIoSW5wdXRTdHJlYW0sIENoYXJzZXREZWNvZGVyKSk6IEltcGxlbWVudGVkLgoJKiBnbnUvamF2YS9uaW8vQ2hhbm5lbFJlYWRlcjogTmV3IGNsYXNzLgoKMjAwNS0wMi0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGluY2x1ZGUvZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbC5oOgoJUmVnZW5lcmF0ZWQuCgoyMDA1LTAyLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9sYW5nL0NsYXNzLmphdmEsCglqYXZhL2xhbmcvU2VjdXJpdHlNYW5hZ2VyLmphdmEsCglqYXZhL25ldC9VUkwuamF2YToKCUZvcm1hdHRpbmcgY2xlYW51cHMuCgoyMDA1LTAyLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvQnV0dG9uLmphdmEsCglqYXZhL2F3dC9Db250YWluZXIuamF2YSwKCWphdmEvYXd0L0ZvbnQuamF2YSwKCWphdmEvYXd0L0ZyYW1lLmphdmEsCglqYXZhL3RleHQvQ29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yLmphdmEsCglqYXZhL3RleHQvUnVsZUJhc2VkQ29sbGF0b3IuamF2YSwKCWphdmEvdXRpbC9Qcm9wZXJ0eVBlcm1pc3Npb24uamF2YToKCUZpeGVkIGZvcm1hdHRpbmcgaXNzdWVzIGFsbCBvdmVyLgoKMjAwNS0wMi0yMSAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9ybWkvcmVnaXN0cnkvUmVnaXN0cnlJbXBsLmphdmE6CglDaGFuZ2UgeWVhciBmb3IgJy0tdmVyc2lvbicgdG8gMjAwNS4KCjIwMDUtMDItMjAgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJTWVyZ2Ugb2YgaW50ZXJmYWNlcyBhbmQgZXhjZXB0aW9ucyB0byBIRUFEIGZyb20KCXRoZSBnZW5lcmljcyBicmFuY2guCgoJKiBqYXZhL2xhbmcvU3RyaW5nQnVpbGRlci5qYXZhOiBTZXJpYWwgdmVyc2lvbiB1cGRhdGVkLgoJKiBqYXZhL2xhbmcvYW5ub3RhdGlvbi9Bbm5vdGF0aW9uVHlwZU1pc21hdGNoRXhjZXB0aW9uLmphdmE6IExpa2V3aXNlLgoKCUNoYW5nZXMgZnJvbSBnZW5lcmljcyBicmFuY2g6CgkKCTIwMDUtMDItMjAgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL2lvL0Nsb3NlYWJsZS5qYXZhOiBEb2N1bWVudGVkLgoJKiBqYXZhL2lvL0ZsdXNoYWJsZS5qYXZhOiBEb2N1bWVudGVkLgoJKiBqYXZhL2xhbmcvQXBwZW5kYWJsZS5qYXZhOiBDb3JyZWN0ZWQgbGluZSBvdmVycnVuLgoJKiBqYXZhL2xhbmcvUmVhZGFibGUuamF2YTogQ29ycmVjdGVkIGluZGVudGF0aW9uLgoJKiBqYXZhL2xhbmcvVHlwZU5vdFByZXNlbnRFeGNlcHRpb24uamF2YTogRG9jdW1lbnRlZC4KCSogamF2YS9sYW5nL2Fubm90YXRpb24vQW5ub3RhdGlvbkZvcm1hdEVycm9yLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvYW5ub3RhdGlvbi9Bbm5vdGF0aW9uVHlwZU1pc21hdGNoRXhjZXB0aW9uLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9HZW5lcmljQXJyYXlUeXBlLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9HZW5lcmljU2lnbmF0dXJlRm9ybWF0RXJyb3IuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvbGFuZy9yZWZsZWN0L1BhcmFtZXRlcml6ZWRUeXBlLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9UeXBlLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9XaWxkY2FyZFR5cGUuamF2YTogTGlrZXdpc2UuCQoJCgkyMDA1LTAxLTA3ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS9sYW5nL2Fubm90YXRpb24vQW5ub3RhdGlvblR5cGVNaXNtYXRjaEV4Y2VwdGlvbi5qYXZhOgoJQWRkZWQgaW1wb3J0IG9mIGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZAoKCTIwMDQtMDgtMjYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L0dlbmVyaWNTaWduYXR1cmVGb3JtYXRFcnJvci5qYXZhOiBOZXcgZmlsZS4KCSogamF2YS9sYW5nL3JlZmxlY3QvV2lsZGNhcmRUeXBlLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9QYXJhbWV0ZXJpemVkVHlwZS5qYXZhOiBOZXcgZmlsZS4KCSogamF2YS9sYW5nL3JlZmxlY3QvR2VuZXJpY0FycmF5VHlwZS5qYXZhOiBOZXcgZmlsZS4KCSogamF2YS9sYW5nL3JlZmxlY3QvVHlwZS5qYXZhOiBOZXcgZmlsZS4KCSogamF2YS9pby9GbHVzaGFibGUuamF2YTogTmV3IGZpbGUuCgkqIGphdmEvaW8vQ2xvc2VhYmxlLmphdmE6IE5ldyBmaWxlLgoKCTIwMDQtMDgtMDcgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCQoJKiBqYXZhL2xhbmcvYW5ub3RhdGlvbi9Bbm5vdGF0aW9uRm9ybWF0RXJyb3IuamF2YTogTmV3IGZpbGUuCgkqIGphdmEvbGFuZy9hbm5vdGF0aW9uL0Fubm90YXRpb25UeXBlTWlzbWF0Y2hFeGNlcHRpb24uamF2YTogTmV3CglmaWxlLgoKCTIwMDQtMDgtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9SZWFkYWJsZS5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMDItMjAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhIChnZXRPZmZzZXQpOiBDYWxjdWxhdGUgYmVmb3JlRW5kIGJ5Cgl0YWtpbmcgZHN0U2F2aW5ncyBpbnRvIGFjY291bnQuCgoyMDA1LTAyLTIwICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YSwKCShwYXJzZSk6IFNldCBEU1RfT0ZGU0VUIHRvIHRoZSBjb3JyZWN0IHZhbHVlLgoKMjAwNS0wMi0yMCAgUnV0Z2VyIE92aWRpdXMgIDxvdmlkckB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9HbnUuamF2YSAoR251KTogQWRkIFNIQS0xNjAgYWxpYXMuCgoyMDA1LTAyLTIwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhCgkoU2ltcGxlRGF0ZUZvcm1hdChTdHJpbmcsIERhdGVGb3JtYXRTeW1ib2xzKSk6IFRocm93CglOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aGVuIGZvcm1hdERhdGEgaXMgbnVsbC4KCjIwMDUtMDItMTkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hbS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2NhLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY3MuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jeS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RhLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lcy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2V0LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZpLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2hyLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oeS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lkLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pdC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2phLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2EuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rby5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2xvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbHQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sdi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21rLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbW4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tcy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX210LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbmIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25uLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcGwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wdC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3JvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcnUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zay5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3EuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zdi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RoLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdHIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl92aS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfSGFudC5qYXZhOiBVcGRhdGVkLgoJKiBnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXpfQ3lybC5qYXZhOiBOZXcgZmlsZS4KCjIwMDUtMDItMTkgIEFyY2hpZSBDb2JicyAgPGFyY2hpZUBkZWxscm9hZC5vcmc+CgoJKiBqYXZhL2xhbmcvVGhyb3dhYmxlLmphdmE6IHNpbXBsaWZ5IGluaXRpYWxpemluZyBjYXVzZSBpbiBjb25zdHJ1Y3RvcgoKMjAwNS0wMi0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YTogUmVtb3ZlZCBlbXB0eSBsaW5lLgoKMjAwNS0wMi0xOCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL0xpbmtlZEhhc2hNYXAgKGFkZEVudHJ5KTogQ2FsbCByZW1vdmUoKSB3aXRoIGtleSBhcmd1bWVudCwgCglub3QgdGhlIEhhc2hFbnRyeS4gUmVwb3J0ZWQgYnkgSmVhbi1NYXJpZSBXaGl0ZS4KCjIwMDUtMDItMTggIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9ldmVudHMvZXNjYXBlX2Zvc2RlbTA1LndtbDogTmV3IGV2ZW50LgoJKiBkb2Mvd3d3LmdudS5vcmcvbmV3c2l0ZW1zLnR4dDogQWRkIEVzY2FwZSB0aGUgSmF2YSBUcmFwLgoJKiBkb2Mvd3d3LmdudS5vcmcvZXZlbnRzL2V2ZW50cy53bWw6IExpa2V3aXNlLgoKMjAwNS0wMi0xOCAgU3ZlbiBkZSBNYXJvdGh5IDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9UaW1lWm9uZS5qYXZhLAoJKGdldERlZmF1bHREaXNwbGF5TmFtZSk6IEZpeCBwcmV2aW91cyBmaXguCgoyMDA1LTAyLTE4ICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hd3QvZm9udC9UcmFuc2Zvcm1BdHRyaWJ1dGUuamF2YSwKCShUcmFuc2Zvcm1BdHRyaWJ1dGUoQWZmaW5lVHJhbnNmb3JtKSk6IHRocm93IAoJSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGZvciBudWxsIHRyYW5zZm9ybS4KCShnZXRUcmFuc2Zvcm0pOiByZXR1cm4gYSBjb3B5IG9mIHRyYW5zZm9ybS4KCUFkZGVkIGRvYyBjb21tZW50cyB0byBhbGwuCgoyMDA1LTAyLTE4ICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS91dGlsL1RpbWVab25lLmphdmEsCgkoZ2V0RGVmYXVsdERpc3BsYXlOYW1lKTogRG9uJ3QgcHJpbnQgemVybyBvZmZzZXRzLgoKMjAwNS0wMi0xOCAgUm9iZXJ0IFNjaHVzdGVyIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogamF2YS9uaW8vY2hhcnNldC9DaGFyc2V0LmphdmEgKGZvck5hbWUpOiBUaHJvd3MKCUlsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGFyZ3VtZW50IGlzIG51bGwKCWFuZCBhZGRlZCBkb2N1bWVudGF0aW9uLgoKMjAwNS0wMi0xNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS91dGlsL1NpbXBsZVRpbWVab25lLmphdmEgKGNoZWNrUnVsZSk6IFRocm93CglJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hlbiBtb250aCBvdXQgb2YgcmFuZ2UuCgoyMDA1LTAyLTE3ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhLAoJKGFkZCk6IERvbid0IHNldCBmaWVsZHMgZGlyZWN0bHkgYW55bW9yZS4gVXNlIHNldCgpCgoyMDA1LTAyLTE3ICBJdG8gS2F6dW1pdHN1ICA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCgkqIGdudS9qYXZhL25pby9jaGFubmVscy9GaWxlQ2hhbm5lbEltcGwuamF2YSAod3JpdGUoQnl0ZUJ1ZmZlcikpOgoJTW92ZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNvdXJjZSBidWZmZXIgZm9yd2FyZC4KCjIwMDUtMDItMTYgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9TdWJqZWN0LmphdmEgKGRvQXNQcml2aWxlZ2VkKTogSWYgYWNjIGlzCgludWxsLCBjcmVhdGUgYSBuZXcgQWNjZXNzQ29udHJvbENvbnRleHQuCgkqIGphdmEvc2VjdXJpdHkvU2VjdXJlQ2xhc3NMb2FkZXIuamF2YSAocHJvdGVjdGlvbkRvbWFpbkNhY2hlKToKCW5ldyBmaWVsZC4KCShkZWZpbmVDbGFzcyk6IENyZWF0ZSBhIG5ldyBwcm90ZWN0aW9uIGRvbWFpbiBhbmQgYWRkIGl0IHRvIG91cgoJY2FjaGUuCgoJKiBqYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFJlbW90ZU9iamVjdC5qYXZhIChleHBvcnRPYmplY3QpOiBDYWxsCglhZGRTdHViKCkgdG8ga2VlcCB0cmFjayBvZiB0aGUgc3R1YiB3ZSd2ZSBleHBvcnRlZC4KCSh1bmV4cG9ydE9iamVjdCk6IENhbGwgZGVsZXRlU3R1YigpLgoJKiBqYXZhL3JtaS9zZXJ2ZXIvUmVtb3RlT2JqZWN0LmphdmEgKHN0dWJzKTogTmV3IGZpZWxkLgoJKGFkZFN0dWIpOiBOZXcgbWV0aG9kLgoJKGRlbGV0ZVN0dWIpOiBOZXcgbWV0aG9kLgoJKHRvU3R1Yik6IFJld3JpdGUuCgkKCSogamF2YS9zZWN1cml0eS9QZXJtaXNzaW9ucy5qYXZhIChQZXJtaXNzaW9uc0hhc2guaW1wbGllcyk6CglJdGVyYXRlIG92ZXIgdGhlIGNvbGxlY3Rpb24gYW5kIGludm9rZSBpbXBsaWVzKCkgb24gZWFjaAoJZWxlbWVudC4KCjIwMDUtMDItMTYgIEp1bGlhbiBTY2hlaWQgIDxqdWxpYW5Ac2VrdG9yMzcuZGU+CgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9VVEZfOC5qYXZhIChkZWNvZGVMb29wKTogU2V0IGluUG9zIHRvCglpbi5wb3NpdGlvbigpLgoJKGVuY29kZUxvb3ApOiBMaWtld2lzZS4KCjIwMDUtMDItMTYgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3V0aWwvTG9jYWxlLmphdmEKCUFkZGVkIHR3byBuZXcgU3RyaW5nW10gYXJyYXlzIGZvciBjYWNoaW5nLgoJKGdldExvY2FsZShTdHJpbmcpKTogRG9jdW1lbnRhdGlvbi4KCShnZXRMb2NhbGUoU3RyaW5nLCBTdHJpbmcpKTogRG9jdW1lbnRhdGlvbi4KCShnZXRMb2NhbGUoU3RyaW5nLCBTdHJpbmcsIFN0cmluZykpOiBEb2N1bWVudGF0aW9uLgoJKGdldElTT0NvdW50cmllcygpKTogTm93IGNhbGxzIGdldElTT1N0cmluZ3MoKSBhbmQgY2FjaGVzIHJlc3VsdC4KCShnZXRJU09MYW5ndWFnZXMoKSk6IE5vdyBjYWxscyBnZXRJU09TdHJpbmdzKCkgYW5kIGNhY2hlcyByZXN1bHQuCgkoZ2V0SVNPU3RyaW5ncyhTdHJpbmcpKTogUHVsbHMgYWxsIHR3by1sZXR0ZXIga2V5cyBmcm9tIHRoZSBzcGVjaWZpZWQKCWhhc2h0YWJsZSBpbiBvdXIgbG9jYWxlIGluZm9ybWF0aW9uLgoJCjIwMDUtMDItMTYgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS91dGlsL2xvZ2dpbmcvTG9nTWFuYWdlci5qYXZhOiBSZWZvcm1hdHRlZC4KCShyZWFkQ29uZmlndXJhdGlvbik6IElmIGEgbG9nZ2VyIGZvciBhIGtleSBpcyBub3QgZm91bmQsIGNyZWF0ZSBvbmUuCgoyMDA1LTAyLTE2ACBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogc2NyaXB0cy9jaGVja3N0eWxlLWNvbmZpZy54bWw6IEFjdGl2YXRlIEphdmFkb2NTdHlsZSBhbmQKCUlsbGVnYWxJbnN0YW50aWF0aW9uIHRlc3RzLgoJKiBzY3JpcHRzL2NoZWNrc3R5bGUtc3VwcHJlc3Npb25zLnhtbDogU3VwcHJlc3Mgc29tZSBtb3JlIGVycm9ycy4KCjIwMDUtMDItMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR1RocmVhZE5hdGl2ZU1ldGhvZFJ1bm5lci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR2x5cGhWZWN0b3IuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljc0NvbmZpZ3VyYXRpb24uamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljc0Vudmlyb25tZW50LmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrUGl4YnVmRGVjb2Rlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1JvYm90UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1NjcmVlbkdyYXBoaWNzRGV2aWNlLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrVGV4dExheW91dC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NoZWNrYm94TWVudUl0ZW1QZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hvaWNlUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NsaXBib2FyZC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZvbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGFiZWxQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWVudUJhclBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51SXRlbVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Njcm9sbFBhbmVQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrU2Nyb2xsYmFyUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmE6CglNYWRlIGNoZWNrc3R5bGUgY2xlYW4uCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9wYWNrYWdlLmh0bWw6CglOZXcgZmlsZS4KCjIwMDUtMDItMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9nZW9tL0VsbGlwc2UyRC5qYXZhLAoJamF2YS9iZWFucy9Qcm9wZXJ0eURlc2NyaXB0b3IuamF2YSwKCWphdmEvbmV0L05ldHdvcmtJbnRlcmZhY2UuamF2YSwKCWphdmEvbmlvL0J5dGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9Eb3VibGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9GbG9hdEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0ludEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0xvbmdCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9TaG9ydEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0NoYW5uZWwuamF2YSwKCWphdmEvdXRpbC9DYWxlbmRhci5qYXZhLAoJamF2YS91dGlsL0NvbXBhcmF0b3IuamF2YSwKCWphdmEvdXRpbC9EYXRlLmphdmEsCglqYXZhL3V0aWwvU2ltcGxlVGltZVpvbmUuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL0ZpbGVIYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvcHJlZnMvSW52YWxpZFByZWZlcmVuY2VzRm9ybWF0RXhjZXB0aW9uLmphdmEsCglqYXZhL3V0aWwvcHJlZnMvUHJlZmVyZW5jZXMuamF2YSwKCWphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svQ29uZmlybWF0aW9uQ2FsbGJhY2suamF2YSwKCWphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbC5qYXZhLAoJamF2YXgvc2VjdXJpdHkvc2FzbC9TYXNsU2VydmVyRmFjdG9yeS5qYXZhLAoJamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhLAoJamF2YXgvc3dpbmcvSkxpc3QuamF2YSwKCWphdmF4L3N3aW5nL0pQcm9ncmVzc0Jhci5qYXZhLAoJamF2YXgvc3dpbmcvSlRyZWUuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YToKCUZpeGVkIGphdmFkb2NzIHRvIGNvbnRhaW4gdmFsaWQgKFgpSFRNTC4KCjIwMDUtMDItMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC94bWwvWE1MQ29uc3RhbnRzLmphdmEsCglqYXZheC94bWwvZGF0YXR5cGUvRGF0YXR5cGVDb25maWd1cmF0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwvZGF0YXR5cGUvRGF0YXR5cGVDb25zdGFudHMuamF2YSwKCWphdmF4L3htbC9kYXRhdHlwZS9EYXRhdHlwZUZhY3RvcnkuamF2YSwKCWphdmF4L3htbC9kYXRhdHlwZS9EdXJhdGlvbi5qYXZhLAoJamF2YXgveG1sL2RhdGF0eXBlL1hNTEdyZWdvcmlhbkNhbGVuZGFyLmphdmEsCglqYXZheC94bWwvbmFtZXNwYWNlL05hbWVzcGFjZUNvbnRleHQuamF2YSwKCWphdmF4L3htbC9uYW1lc3BhY2UvUU5hbWUuamF2YSwKCWphdmF4L3htbC9wYXJzZXJzL0RvY3VtZW50QnVpbGRlci5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvRG9jdW1lbnRCdWlsZGVyRmFjdG9yeS5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvRmFjdG9yeUNvbmZpZ3VyYXRpb25FcnJvci5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvUGFyc2VyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvU0FYUGFyc2VyLmphdmEsCglqYXZheC94bWwvcGFyc2Vycy9TQVhQYXJzZXJGYWN0b3J5LmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL0Vycm9yTGlzdGVuZXIuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vT3V0cHV0S2V5cy5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9SZXN1bHQuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vU291cmNlLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1NvdXJjZUxvY2F0b3IuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vVGVtcGxhdGVzLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckZhY3RvcnkuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJGYWN0b3J5Q29uZmlndXJhdGlvbkVycm9yLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1VSSVJlc29sdmVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL2RvbS9ET01Mb2NhdG9yLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL2RvbS9ET01SZXN1bHQuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vZG9tL0RPTVNvdXJjZS5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9zYXgvU0FYUmVzdWx0LmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL3NheC9TQVhTb3VyY2UuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vc2F4L1NBWFRyYW5zZm9ybWVyRmFjdG9yeS5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9zYXgvVGVtcGxhdGVzSGFuZGxlci5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9zYXgvVHJhbnNmb3JtZXJIYW5kbGVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL3N0cmVhbS9TdHJlYW1SZXN1bHQuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vc3RyZWFtL1N0cmVhbVNvdXJjZS5qYXZhLAoJamF2YXgveG1sL3ZhbGlkYXRpb24vU2NoZW1hLmphdmEsCglqYXZheC94bWwvdmFsaWRhdGlvbi9TY2hlbWFGYWN0b3J5LmphdmEsCglqYXZheC94bWwvdmFsaWRhdGlvbi9UeXBlSW5mb1Byb3ZpZGVyLmphdmEsCglqYXZheC94bWwvdmFsaWRhdGlvbi9WYWxpZGF0b3IuamF2YSwKCWphdmF4L3htbC92YWxpZGF0aW9uL1ZhbGlkYXRvckhhbmRsZXIuamF2YSwKCWphdmF4L3htbC94cGF0aC9YUGF0aENvbnN0YW50cy5qYXZhLAoJamF2YXgveG1sL3hwYXRoL1hQYXRoRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhFeHByZXNzaW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhFeHByZXNzaW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGYWN0b3J5LmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGYWN0b3J5Q29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3hwYXRoL1hQYXRoRnVuY3Rpb24uamF2YSwKCWphdmF4L3htbC94cGF0aC9YUGF0aEZ1bmN0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGdW5jdGlvblJlc29sdmVyLmphdmE6CglGaXhlZCB1c2FnZSBvZiBAYXV0aG9yIHRhZy4KCjIwMDUtMDItMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9YTUxDb25zdGFudHMuamF2YSwKCWphdmF4L2RhdGF0eXBlL0RhdGF0eXBlQ29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvZGF0YXR5cGUvRGF0YXR5cGVDb25zdGFudHMuamF2YSwKCWphdmF4L2RhdGF0eXBlL0RhdGF0eXBlRmFjdG9yeS5qYXZhLAoJamF2YXgvZGF0YXR5cGUvRHVyYXRpb24uamF2YSwKCWphdmF4L2RhdGF0eXBlL1hNTEdyZWdvcmlhbkNhbGVuZGFyLmphdmEsCglqYXZheC9uYW1lc3BhY2UvTmFtZXNwYWNlQ29udGV4dC5qYXZhLAoJamF2YXgvbmFtZXNwYWNlL1FOYW1lLmphdmEsCglqYXZheC9wYXJzZXJzL0RvY3VtZW50QnVpbGRlci5qYXZhLAoJamF2YXgvcGFyc2Vycy9Eb2N1bWVudEJ1aWxkZXJGYWN0b3J5LmphdmEsCglqYXZheC9wYXJzZXJzL0ZhY3RvcnlDb25maWd1cmF0aW9uRXJyb3IuamF2YSwKCWphdmF4L3BhcnNlcnMvUGFyc2VyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvcGFyc2Vycy9TQVhQYXJzZXIuamF2YSwKCWphdmF4L3BhcnNlcnMvU0FYUGFyc2VyRmFjdG9yeS5qYXZhLAoJamF2YXgvdHJhbnNmb3JtL0Vycm9yTGlzdGVuZXIuamF2YSwKCWphdmF4L3RyYW5zZm9ybS9PdXRwdXRLZXlzLmphdmEsCglqYXZheC90cmFuc2Zvcm0vUmVzdWx0LmphdmEsCglqYXZheC90cmFuc2Zvcm0vU291cmNlLmphdmEsCglqYXZheC90cmFuc2Zvcm0vU291cmNlTG9jYXRvci5qYXZhLAoJamF2YXgvdHJhbnNmb3JtL1RlbXBsYXRlcy5qYXZhLAoJamF2YXgvdHJhbnNmb3JtL1RyYW5zZm9ybWVyLmphdmEsCglqYXZheC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJDb25maWd1cmF0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJFeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zZm9ybS9UcmFuc2Zvcm1lckZhY3RvcnkuamF2YSwKCWphdmF4L3RyYW5zZm9ybS9UcmFuc2Zvcm1lckZhY3RvcnlDb25maWd1cmF0aW9uRXJyb3IuamF2YSwKCWphdmF4L3RyYW5zZm9ybS9VUklSZXNvbHZlci5qYXZhLAoJamF2YXgvdHJhbnNmb3JtL2RvbS9ET01Mb2NhdG9yLmphdmEsCglqYXZheC90cmFuc2Zvcm0vZG9tL0RPTVJlc3VsdC5qYXZhLAoJamF2YXgvdHJhbnNmb3JtL2RvbS9ET01Tb3VyY2UuamF2YSwKCWphdmF4L3RyYW5zZm9ybS9zYXgvU0FYUmVzdWx0LmphdmEsCglqYXZheC90cmFuc2Zvcm0vc2F4L1NBWFNvdXJjZS5qYXZhLAoJamF2YXgvdHJhbnNmb3JtL3NheC9TQVhUcmFuc2Zvcm1lckZhY3RvcnkuamF2YSwKCWphdmF4L3RyYW5zZm9ybS9zYXgvVGVtcGxhdGVzSGFuZGxlci5qYXZhLAoJamF2YXgvdHJhbnNmb3JtL3NheC9UcmFuc2Zvcm1lckhhbmRsZXIuamF2YSwKCWphdmF4L3RyYW5zZm9ybS9zdHJlYW0vU3RyZWFtUmVzdWx0LmphdmEsCglqYXZheC90cmFuc2Zvcm0vc3RyZWFtL1N0cmVhbVNvdXJjZS5qYXZhLAoJamF2YXgvdmFsaWRhdGlvbi9TY2hlbWEuamF2YSwKCWphdmF4L3ZhbGlkYXRpb24vU2NoZW1hRmFjdG9yeS5qYXZhLAoJamF2YXgvdmFsaWRhdGlvbi9UeXBlSW5mb1Byb3ZpZGVyLmphdmEsCglqYXZheC92YWxpZGF0aW9uL1ZhbGlkYXRvci5qYXZhLAoJamF2YXgvdmFsaWRhdGlvbi9WYWxpZGF0b3JIYW5kbGVyLmphdmEsCglqYXZheC94cGF0aC9YUGF0aENvbnN0YW50cy5qYXZhLAoJamF2YXgveHBhdGgvWFBhdGhFeGNlcHRpb24uamF2YSwKCWphdmF4L3hwYXRoL1hQYXRoRXhwcmVzc2lvbi5qYXZhLAoJamF2YXgveHBhdGgvWFBhdGhFeHByZXNzaW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94cGF0aC9YUGF0aEZhY3RvcnkuamF2YSwKCWphdmF4L3hwYXRoL1hQYXRoRmFjdG9yeUNvbmZpZ3VyYXRpb25FeGNlcHRpb24uamF2YSwKCWphdmF4L3hwYXRoL1hQYXRoRnVuY3Rpb24uamF2YSwKCWphdmF4L3hwYXRoL1hQYXRoRnVuY3Rpb25FeGNlcHRpb24uamF2YSwKCWphdmF4L3hwYXRoL1hQYXRoRnVuY3Rpb25SZXNvbHZlci5qYXZhOgoJRml4ZWQgdXNhZ2Ugb2YgQGF1dGhvciB0YWcuCgoyMDA1LTAyLTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVBY3Rpb24uamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZUJ1bmRsZS5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlQ29tcG9uZW50LmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVDb250ZXh0LmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVFZGl0YWJsZVRleHQuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZUV4dGVuZGVkQ29tcG9uZW50LmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVFeHRlbmRlZFRhYmxlLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVIeXBlcmxpbmsuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZUh5cGVydGV4dC5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlSWNvbi5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlS2V5QmluZGluZy5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlUmVsYXRpb24uamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVJlbGF0aW9uU2V0LmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVSZXNvdXJjZUJ1bmRsZS5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlUm9sZS5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlU2VsZWN0aW9uLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTdGF0ZS5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlU3RhdGVTZXQuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVRhYmxlLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVUYWJsZU1vZGVsQ2hhbmdlLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVUZXh0LmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVWYWx1ZS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JSU9FeGNlcHRpb24uamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0lJT1NlcnZpY2VQcm92aWRlci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VJbnB1dFN0cmVhbVNwaS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VPdXRwdXRTdHJlYW1TcGkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlUmVhZGVyV3JpdGVyU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JbWFnZVRyYW5zY29kZXJTcGkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL1JlZ2lzdGVyYWJsZVNlcnZpY2UuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL1NlcnZpY2VSZWdpc3RyeS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vSUlPQnl0ZUJ1ZmZlci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vSW1hZ2VJbnB1dFN0cmVhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vSW1hZ2VPdXRwdXRTdHJlYW0uamF2YSwKCWphdmF4L25hbWluZy9CaW5kaW5nLmphdmEsCglqYXZheC9uYW1pbmcvQ2Fubm90UHJvY2VlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL0NvbXBvc2l0ZU5hbWUuamF2YSwKCWphdmF4L25hbWluZy9Db21wb3VuZE5hbWUuamF2YSwKCWphdmF4L25hbWluZy9MaW5rRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvTGlua1JlZi5qYXZhLAoJamF2YXgvbmFtaW5nL05hbWVDbGFzc1BhaXIuamF2YSwKCWphdmF4L25hbWluZy9SZWZlcmVuY2UuamF2YSwKCWphdmF4L25hbWluZy9SZWZlcnJhbEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9BdHRyaWJ1dGUuamF2YSwKCWphdmF4L25hbWluZy9kaXJlY3RvcnkvQXR0cmlidXRlTW9kaWZpY2F0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvZGlyZWN0b3J5L0F0dHJpYnV0ZXMuamF2YSwKCWphdmF4L25hbWluZy9kaXJlY3RvcnkvRGlyQ29udGV4dC5qYXZhLAoJamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9Nb2RpZmljYXRpb25JdGVtLmphdmEsCglqYXZheC9uYW1pbmcvZGlyZWN0b3J5L1NlYXJjaENvbnRyb2xzLmphdmEsCglqYXZheC9uYW1pbmcvZGlyZWN0b3J5L1NlYXJjaFJlc3VsdC5qYXZhLAoJamF2YXgvbmFtaW5nL2V2ZW50L0V2ZW50Q29udGV4dC5qYXZhLAoJamF2YXgvbmFtaW5nL2V2ZW50L0V2ZW50RGlyQ29udGV4dC5qYXZhLAoJamF2YXgvbmFtaW5nL2V2ZW50L05hbWVzcGFjZUNoYW5nZUxpc3RlbmVyLmphdmEsCglqYXZheC9uYW1pbmcvZXZlbnQvTmFtaW5nRXhjZXB0aW9uRXZlbnQuamF2YSwKCWphdmF4L25hbWluZy9ldmVudC9OYW1pbmdMaXN0ZW5lci5qYXZhLAoJamF2YXgvbmFtaW5nL2V2ZW50L09iamVjdENoYW5nZUxpc3RlbmVyLmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9Db250cm9sLmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9FeHRlbmRlZFJlc3BvbnNlLmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9IYXNDb250cm9scy5qYXZhLAoJamF2YXgvbmFtaW5nL2xkYXAvTGRhcENvbnRleHQuamF2YSwKCWphdmF4L25hbWluZy9sZGFwL1Vuc29saWNpdGVkTm90aWZpY2F0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9VbnNvbGljaXRlZE5vdGlmaWNhdGlvbkV2ZW50LmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9VbnNvbGljaXRlZE5vdGlmaWNhdGlvbkxpc3RlbmVyLmphdmEsCglqYXZheC9uYW1pbmcvc3BpL0RpcmVjdG9yeU1hbmFnZXIuamF2YSwKCWphdmF4L25hbWluZy9zcGkvUmVzb2x2ZVJlc3VsdC5qYXZhLAoJamF2YXgvbmFtaW5nL3NwaS9SZXNvbHZlci5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdEJvdW5kZWRSYW5nZU1vZGVsLmphdmEsCglqYXZheC9zd2luZy9KUmFkaW9CdXR0b24uamF2YSwKCWphdmF4L3N3aW5nL0pUZXh0QXJlYS5qYXZhLAoJamF2YXgvc3dpbmcvSlRvZ2dsZUJ1dHRvbi5qYXZhLAoJamF2YXgvc3dpbmcvU3Bpbm5lckxpc3RNb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvZXZlbnQvRXZlbnRMaXN0ZW5lckxpc3QuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmEsCglqYXZheC9zd2luZy91bmRvL1VuZG9NYW5hZ2VyLmphdmEsCglqYXZheC9zd2luZy91bmRvL1VuZG9hYmxlRWRpdFN1cHBvcnQuamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL0hldXJpc3RpY0NvbW1pdEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24vSGV1cmlzdGljTWl4ZWRFeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL0hldXJpc3RpY1JvbGxiYWNrRXhjZXB0aW9uLmphdmEsCglqYXZheC90cmFuc2FjdGlvbi9JbnZhbGlkVHJhbnNhY3Rpb25FeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL05vdFN1cHBvcnRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24vUm9sbGJhY2tFeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL1N0YXR1cy5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24vU3luY2hyb25pemF0aW9uLmphdmEsCglqYXZheC90cmFuc2FjdGlvbi9TeXN0ZW1FeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL1RyYW5zYWN0aW9uLmphdmEsCglqYXZheC90cmFuc2FjdGlvbi9UcmFuc2FjdGlvbk1hbmFnZXIuamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL1RyYW5zYWN0aW9uUmVxdWlyZWRFeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL1RyYW5zYWN0aW9uUm9sbGVkYmFja0V4Y2VwdGlvbi5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24vVXNlclRyYW5zYWN0aW9uLmphdmEsCglqYXZheC90cmFuc2FjdGlvbi94YS9YQUV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24veGEvWEFSZXNvdXJjZS5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24veGEvWGlkLmphdmE6CglGaXhlZCB1c2FnZSBvZiBAYXV0aG9yIHRhZyBhbGwgb3Zlci4KCjIwMDUtMDItMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2FwcGxldC9BcHBsZXQuamF2YSwKCWphdmEvYmVhbnMvQXBwbGV0SW5pdGlhbGl6ZXIuamF2YSwKCWphdmEvYmVhbnMvRXhjZXB0aW9uTGlzdGVuZXIuamF2YSwKCWphdmEvYmVhbnMvUHJvcGVydHlDaGFuZ2VFdmVudC5qYXZhLAoJamF2YS9iZWFucy9Qcm9wZXJ0eUNoYW5nZUxpc3RlbmVyUHJveHkuamF2YSwKCWphdmEvYmVhbnMvUHJvcGVydHlDaGFuZ2VTdXBwb3J0LmphdmEsCglqYXZhL2JlYW5zL1Byb3BlcnR5RGVzY3JpcHRvci5qYXZhLAoJamF2YS9iZWFucy9WZXRvYWJsZUNoYW5nZUxpc3RlbmVyUHJveHkuamF2YSwKCWphdmEvYmVhbnMvVmV0b2FibGVDaGFuZ2VTdXBwb3J0LmphdmEsCglqYXZhL2lvL0J1ZmZlcmVkSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vQnVmZmVyZWRSZWFkZXIuamF2YSwKCWphdmEvaW8vQnl0ZUFycmF5SW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL0NoYXJBcnJheVJlYWRlci5qYXZhLAoJamF2YS9pby9DaGFyQXJyYXlXcml0ZXIuamF2YSwKCWphdmEvaW8vQ2hhckNvbnZlcnNpb25FeGNlcHRpb24uamF2YSwKCWphdmEvaW8vRGF0YUlucHV0LmphdmEsCglqYXZhL2lvL0RhdGFJbnB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9EYXRhT3V0cHV0LmphdmEsCglqYXZhL2lvL0RhdGFPdXRwdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vRU9GRXhjZXB0aW9uLmphdmEsCglqYXZhL2lvL0ZpbGVJbnB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9GaWxlTm90Rm91bmRFeGNlcHRpb24uamF2YSwKCWphdmEvaW8vRmlsZU91dHB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9GaWxlbmFtZUZpbHRlci5qYXZhLAoJamF2YS9pby9GaWx0ZXJJbnB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9GaWx0ZXJPdXRwdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vRmlsdGVyUmVhZGVyLmphdmEsCglqYXZhL2lvL0ZpbHRlcldyaXRlci5qYXZhLAoJamF2YS9pby9JT0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9JbnB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9JbnB1dFN0cmVhbVJlYWRlci5qYXZhLAoJamF2YS9pby9JbnRlcnJ1cHRlZElPRXhjZXB0aW9uLmphdmEsCglqYXZhL2lvL0xpbmVOdW1iZXJJbnB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9MaW5lTnVtYmVyUmVhZGVyLmphdmEsCglqYXZhL2lvL09iamVjdFN0cmVhbUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9PcHRpb25hbERhdGFFeGNlcHRpb24uamF2YSwKCWphdmEvaW8vT3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL091dHB1dFN0cmVhbVdyaXRlci5qYXZhLAoJamF2YS9pby9QcmludFN0cmVhbS5qYXZhLAoJamF2YS9pby9QcmludFdyaXRlci5qYXZhLAoJamF2YS9pby9QdXNoYmFja0lucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL1B1c2hiYWNrUmVhZGVyLmphdmEsCglqYXZhL2lvL1JhbmRvbUFjY2Vzc0ZpbGUuamF2YSwKCWphdmEvaW8vUmVhZGVyLmphdmEsCglqYXZhL2lvL1NlcXVlbmNlSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vU2VyaWFsaXphYmxlLmphdmEsCglqYXZhL2lvL1N0cmVhbUNvcnJ1cHRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9TdHJlYW1Ub2tlbml6ZXIuamF2YSwKCWphdmEvaW8vU3RyaW5nQnVmZmVySW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vU3RyaW5nV3JpdGVyLmphdmEsCglqYXZhL2lvL1N5bmNGYWlsZWRFeGNlcHRpb24uamF2YSwKCWphdmEvaW8vVVRGRGF0YUZvcm1hdEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9VbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uLmphdmEsCglqYXZhL2lvL1dyaXRlQWJvcnRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9Xcml0ZXIuamF2YSwKCWphdmEvbGFuZy9BYnN0cmFjdE1ldGhvZEVycm9yLmphdmEsCglqYXZhL2xhbmcvQXJpdGhtZXRpY0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0FycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0FycmF5U3RvcmVFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9Bc3NlcnRpb25FcnJvci5qYXZhLAoJamF2YS9sYW5nL0Jvb2xlYW4uamF2YSwKCWphdmEvbGFuZy9CeXRlLmphdmEsCglqYXZhL2xhbmcvQ2xhc3NDYXN0RXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvQ2xhc3NDaXJjdWxhcml0eUVycm9yLmphdmEsCglqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YSwKCWphdmEvbGFuZy9DbGFzc05vdEZvdW5kRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvQ2xvbmVOb3RTdXBwb3J0ZWRFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9DbG9uZWFibGUuamF2YSwKCWphdmEvbGFuZy9Db21wYXJhYmxlLmphdmEsCglqYXZhL2xhbmcvQ29tcGlsZXIuamF2YSwKCWphdmEvbGFuZy9Eb3VibGUuamF2YSwKCWphdmEvbGFuZy9FcnJvci5qYXZhLAoJamF2YS9sYW5nL0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0V4Y2VwdGlvbkluSW5pdGlhbGl6ZXJFcnJvci5qYXZhLAoJamF2YS9sYW5nL0Zsb2F0LmphdmEsCglqYXZhL2xhbmcvSWxsZWdhbEFjY2Vzc0Vycm9yLmphdmEsCglqYXZhL2xhbmcvSWxsZWdhbEFjY2Vzc0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0lsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0lsbGVnYWxNb25pdG9yU3RhdGVFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9JbGxlZ2FsU3RhdGVFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9JbGxlZ2FsVGhyZWFkU3RhdGVFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9JbmNvbXBhdGlibGVDbGFzc0NoYW5nZUVycm9yLmphdmEsCglqYXZhL2xhbmcvSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0luaGVyaXRhYmxlVGhyZWFkTG9jYWwuamF2YSwKCWphdmEvbGFuZy9JbnN0YW50aWF0aW9uRXJyb3IuamF2YSwKCWphdmEvbGFuZy9JbnN0YW50aWF0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvSW50ZWdlci5qYXZhLAoJamF2YS9sYW5nL0ludGVybmFsRXJyb3IuamF2YSwKCWphdmEvbGFuZy9JbnRlcnJ1cHRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0xpbmthZ2VFcnJvci5qYXZhLAoJamF2YS9sYW5nL0xvbmcuamF2YSwKCWphdmEvbGFuZy9OZWdhdGl2ZUFycmF5U2l6ZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL05vQ2xhc3NEZWZGb3VuZEVycm9yLmphdmEsCglqYXZhL2xhbmcvTm9TdWNoRmllbGRFcnJvci5qYXZhLAoJamF2YS9sYW5nL05vU3VjaEZpZWxkRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvTm9TdWNoTWV0aG9kRXJyb3IuamF2YSwKCWphdmEvbGFuZy9Ob1N1Y2hNZXRob2RFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9OdWxsUG9pbnRlckV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL051bWJlci5qYXZhLAoJamF2YS9sYW5nL051bWJlckZvcm1hdEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL091dE9mTWVtb3J5RXJyb3IuamF2YSwKCWphdmEvbGFuZy9Qcm9jZXNzLmphdmEsCglqYXZhL2xhbmcvUnVubmFibGUuamF2YSwKCWphdmEvbGFuZy9SdW50aW1lLmphdmEsCglqYXZhL2xhbmcvUnVudGltZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL1J1bnRpbWVQZXJtaXNzaW9uLmphdmEsCglqYXZhL2xhbmcvU2VjdXJpdHlFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9TZWN1cml0eU1hbmFnZXIuamF2YSwKCWphdmEvbGFuZy9TaG9ydC5qYXZhLAoJamF2YS9sYW5nL1N0YWNrT3ZlcmZsb3dFcnJvci5qYXZhLAoJamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50LmphdmEsCglqYXZhL2xhbmcvU3RyaW5nQnVmZmVyLmphdmEsCglqYXZhL2xhbmcvU3RyaW5nSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL1RocmVhZERlYXRoLmphdmEsCglqYXZhL2xhbmcvVGhyZWFkR3JvdXAuamF2YSwKCWphdmEvbGFuZy9UaHJvd2FibGUuamF2YSwKCWphdmEvbGFuZy9VbnNhdGlzZmllZExpbmtFcnJvci5qYXZhLAoJamF2YS9sYW5nL1Vuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvVmVyaWZ5RXJyb3IuamF2YSwKCWphdmEvbGFuZy9WaXJ0dWFsTWFjaGluZUVycm9yLmphdmEsCglqYXZhL2xhbmcvcmVmbGVjdC9BY2Nlc3NpYmxlT2JqZWN0LmphdmEsCglqYXZhL2xhbmcvcmVmbGVjdC9BcnJheS5qYXZhLAoJamF2YS9sYW5nL3JlZmxlY3QvSW52b2NhdGlvblRhcmdldEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL3JlZmxlY3QvTWVtYmVyLmphdmEsCglqYXZhL2xhbmcvcmVmbGVjdC9Nb2RpZmllci5qYXZhLAoJamF2YS9sYW5nL3JlZmxlY3QvUHJveHkuamF2YSwKCWphdmEvbGFuZy9yZWZsZWN0L1JlZmxlY3RQZXJtaXNzaW9uLmphdmEsCglqYXZhL2xhbmcvcmVmbGVjdC9VbmRlY2xhcmVkVGhyb3dhYmxlRXhjZXB0aW9uLmphdmEsCglqYXZhL21hdGgvQmlnSW50ZWdlci5qYXZhLAoJamF2YS9uaW8vQnl0ZUJ1ZmZlckhlbHBlci5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvSWxsZWdhbEJsb2NraW5nTW9kZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uaW8vY2hhcnNldC9zcGkvQ2hhcnNldFByb3ZpZGVyLmphdmEsCglqYXZhL3NlY3VyaXR5L0FjY2Vzc0NvbnRyb2xFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvQWxsUGVybWlzc2lvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9CYXNpY1Blcm1pc3Npb24uamF2YSwKCWphdmEvc2VjdXJpdHkvRGlnZXN0RXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L0RpZ2VzdElucHV0U3RyZWFtLmphdmEsCglqYXZhL3NlY3VyaXR5L0RpZ2VzdE91dHB1dFN0cmVhbS5qYXZhLAoJamF2YS9zZWN1cml0eS9HZW5lcmFsU2VjdXJpdHlFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvR3VhcmQuamF2YSwKCWphdmEvc2VjdXJpdHkvR3VhcmRlZE9iamVjdC5qYXZhLAoJamF2YS9zZWN1cml0eS9JbnZhbGlkQWxnb3JpdGhtUGFyYW1ldGVyRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L0ludmFsaWRLZXlFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9LZXkuamF2YSwKCWphdmEvc2VjdXJpdHkvS2V5RXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L0tleU1hbmFnZW1lbnRFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvS2V5U3RvcmVFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvTWVzc2FnZURpZ2VzdFNwaS5qYXZhLAoJamF2YS9zZWN1cml0eS9Ob1N1Y2hBbGdvcml0aG1FeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvTm9TdWNoUHJvdmlkZXJFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvUGVybWlzc2lvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9QZXJtaXNzaW9uQ29sbGVjdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9QZXJtaXNzaW9ucy5qYXZhLAoJamF2YS9zZWN1cml0eS9QcmluY2lwYWwuamF2YSwKCWphdmEvc2VjdXJpdHkvUHJpdmF0ZUtleS5qYXZhLAoJamF2YS9zZWN1cml0eS9Qcml2aWxlZ2VkQWN0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L1Byb3ZpZGVyRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L1B1YmxpY0tleS5qYXZhLAoJamF2YS9zZWN1cml0eS9TZWN1cmVSYW5kb20uamF2YSwKCWphdmEvc2VjdXJpdHkvU2VjdXJlUmFuZG9tU3BpLmphdmEsCglqYXZhL3NlY3VyaXR5L1NpZ25hdHVyZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9TaWduYXR1cmVTcGkuamF2YSwKCWphdmEvc2VjdXJpdHkvU2lnbmVkT2JqZWN0LmphdmEsCglqYXZhL3NlY3VyaXR5L1NpZ25lci5qYXZhLAoJamF2YS9zZWN1cml0eS9VbnJlY292ZXJhYmxlS2V5RXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L1VucmVzb2x2ZWRQZXJtaXNzaW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L2FjbC9BY2xOb3RGb3VuZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9hY2wvTGFzdE93bmVyRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L2FjbC9Ob3RPd25lckV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L0NlcnRQYXRoLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvQ2VydFBhdGhCdWlsZGVyRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvQ2VydFBhdGhWYWxpZGF0b3JFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvY2VydC9DZXJ0U3RvcmVFeGNlcHRpb24uamF2YSwKCWphdmEvdGV4dC9CcmVha0l0ZXJhdG9yLmphdmEsCglqYXZhL3RleHQvQ2hvaWNlRm9ybWF0LmphdmEsCglqYXZhL3RleHQvQ29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yLmphdmEsCglqYXZhL3RleHQvQ29sbGF0aW9uS2V5LmphdmEsCglqYXZhL3RleHQvQ29sbGF0b3IuamF2YSwKCWphdmEvdGV4dC9EYXRlRm9ybWF0LmphdmEsCglqYXZhL3RleHQvRGF0ZUZvcm1hdFN5bWJvbHMuamF2YSwKCWphdmEvdGV4dC9GaWVsZFBvc2l0aW9uLmphdmEsCglqYXZhL3RleHQvRm9ybWF0LmphdmEsCglqYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhLAoJamF2YS90ZXh0L1BhcnNlRXhjZXB0aW9uLmphdmEsCglqYXZhL3RleHQvUGFyc2VQb3NpdGlvbi5qYXZhLAoJamF2YS90ZXh0L1N0cmluZ0NoYXJhY3Rlckl0ZXJhdG9yLmphdmEsCglqYXZhL3V0aWwvQWJzdHJhY3RDb2xsZWN0aW9uLmphdmEsCglqYXZhL3V0aWwvQWJzdHJhY3RMaXN0LmphdmEsCglqYXZhL3V0aWwvQWJzdHJhY3RNYXAuamF2YSwKCWphdmEvdXRpbC9BYnN0cmFjdFNlcXVlbnRpYWxMaXN0LmphdmEsCglqYXZhL3V0aWwvQWJzdHJhY3RTZXQuamF2YSwKCWphdmEvdXRpbC9BcnJheUxpc3QuamF2YSwKCWphdmEvdXRpbC9BcnJheXMuamF2YSwKCWphdmEvdXRpbC9CaXRTZXQuamF2YSwKCWphdmEvdXRpbC9Db2xsZWN0aW9uLmphdmEsCglqYXZhL3V0aWwvQ29sbGVjdGlvbnMuamF2YSwKCWphdmEvdXRpbC9Db21wYXJhdG9yLmphdmEsCglqYXZhL3V0aWwvQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YS91dGlsL0VtcHR5U3RhY2tFeGNlcHRpb24uamF2YSwKCWphdmEvdXRpbC9FbnVtZXJhdGlvbi5qYXZhLAoJamF2YS91dGlsL0V2ZW50TGlzdGVuZXIuamF2YSwKCWphdmEvdXRpbC9FdmVudExpc3RlbmVyUHJveHkuamF2YSwKCWphdmEvdXRpbC9FdmVudE9iamVjdC5qYXZhLAoJamF2YS91dGlsL0hhc2hNYXAuamF2YSwKCWphdmEvdXRpbC9IYXNoU2V0LmphdmEsCglqYXZhL3V0aWwvSGFzaHRhYmxlLmphdmEsCglqYXZhL3V0aWwvSWRlbnRpdHlIYXNoTWFwLmphdmEsCglqYXZhL3V0aWwvSXRlcmF0b3IuamF2YSwKCWphdmEvdXRpbC9MaW5rZWRIYXNoU2V0LmphdmEsCglqYXZhL3V0aWwvTGlua2VkTGlzdC5qYXZhLAoJamF2YS91dGlsL0xpc3QuamF2YSwKCWphdmEvdXRpbC9MaXN0SXRlcmF0b3IuamF2YSwKCWphdmEvdXRpbC9MaXN0UmVzb3VyY2VCdW5kbGUuamF2YSwKCWphdmEvdXRpbC9NYXAuamF2YSwKCWphdmEvdXRpbC9NaXNzaW5nUmVzb3VyY2VFeGNlcHRpb24uamF2YSwKCWphdmEvdXRpbC9Ob1N1Y2hFbGVtZW50RXhjZXB0aW9uLmphdmEsCglqYXZhL3V0aWwvT2JzZXJ2YWJsZS5qYXZhLAoJamF2YS91dGlsL09ic2VydmVyLmphdmEsCglqYXZhL3V0aWwvUHJvcGVydGllcy5qYXZhLAoJamF2YS91dGlsL1Byb3BlcnR5UGVybWlzc2lvbkNvbGxlY3Rpb24uamF2YSwKCWphdmEvdXRpbC9SYW5kb21BY2Nlc3MuamF2YSwKCWphdmEvdXRpbC9TZXQuamF2YSwKCWphdmEvdXRpbC9Tb3J0ZWRNYXAuamF2YSwKCWphdmEvdXRpbC9Tb3J0ZWRTZXQuamF2YSwKCWphdmEvdXRpbC9TdGFjay5qYXZhLAoJamF2YS91dGlsL1N0cmluZ1Rva2VuaXplci5qYXZhLAoJamF2YS91dGlsL1Rvb01hbnlMaXN0ZW5lcnNFeGNlcHRpb24uamF2YSwKCWphdmEvdXRpbC9UcmVlTWFwLmphdmEsCglqYXZhL3V0aWwvVHJlZVNldC5qYXZhLAoJamF2YS91dGlsL1ZlY3Rvci5qYXZhLAoJamF2YS91dGlsL2xvZ2dpbmcvTGV2ZWwuamF2YSwKCWphdmEvdXRpbC9wcmVmcy9CYWNraW5nU3RvcmVFeGNlcHRpb24uamF2YToKCUZpeGVkIEBhdXRob3IgdGFnIGFsbCBvdmVyLgoKMjAwNS0wMi0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0FXVEVycm9yLmphdmEsCglqYXZhL2F3dC9BV1RFdmVudC5qYXZhLAoJamF2YS9hd3QvQVdURXZlbnRNdWx0aWNhc3Rlci5qYXZhLAoJamF2YS9hd3QvQVdURXhjZXB0aW9uLmphdmEsCglqYXZhL2F3dC9BV1RLZXlTdHJva2UuamF2YSwKCWphdmEvYXd0L0FXVFBlcm1pc3Npb24uamF2YSwKCWphdmEvYXd0L0FjdGl2ZUV2ZW50LmphdmEsCglqYXZhL2F3dC9BZGp1c3RhYmxlLmphdmEsCglqYXZhL2F3dC9BbHBoYUNvbXBvc2l0ZS5qYXZhLAoJamF2YS9hd3QvQXR0cmlidXRlVmFsdWUuamF2YSwKCWphdmEvYXd0L0JvcmRlckxheW91dC5qYXZhLAoJamF2YS9hd3QvQnVmZmVyQ2FwYWJpbGl0aWVzLmphdmEsCglqYXZhL2F3dC9CdXR0b24uamF2YSwKCWphdmEvYXd0L0NhbnZhcy5qYXZhLAoJamF2YS9hd3QvQ2hlY2tib3hHcm91cC5qYXZhLAoJamF2YS9hd3QvQ2hlY2tib3hNZW51SXRlbS5qYXZhLAoJamF2YS9hd3QvQ29sb3IuamF2YSwKCWphdmEvYXd0L0NvbG9yUGFpbnRDb250ZXh0LmphdmEsCglqYXZhL2F3dC9Db21wb25lbnQuamF2YSwKCWphdmEvYXd0L0NvbXBvbmVudE9yaWVudGF0aW9uLmphdmEsCglqYXZhL2F3dC9Db21wb3NpdGUuamF2YSwKCWphdmEvYXd0L0NvbXBvc2l0ZUNvbnRleHQuamF2YSwKCWphdmEvYXd0L0NvbnRhaW5lci5qYXZhLAoJamF2YS9hd3QvQ29udGFpbmVyT3JkZXJGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhLAoJamF2YS9hd3QvRGVmYXVsdEZvY3VzVHJhdmVyc2FsUG9saWN5LmphdmEsCglqYXZhL2F3dC9EaWFsb2cuamF2YSwKCWphdmEvYXd0L0RpbWVuc2lvbi5qYXZhLAoJamF2YS9hd3QvRGlzcGxheU1vZGUuamF2YSwKCWphdmEvYXd0L0ZpbGVEaWFsb2cuamF2YSwKCWphdmEvYXd0L0ZvbnRGb3JtYXRFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L0dyYXBoaWNzLmphdmEsCglqYXZhL2F3dC9HcmFwaGljczJELmphdmEsCglqYXZhL2F3dC9HcmFwaGljc0NvbmZpZ1RlbXBsYXRlLmphdmEsCglqYXZhL2F3dC9HcmFwaGljc0NvbmZpZ3VyYXRpb24uamF2YSwKCWphdmEvYXd0L0dyYXBoaWNzRGV2aWNlLmphdmEsCglqYXZhL2F3dC9HcmlkQmFnTGF5b3V0LmphdmEsCglqYXZhL2F3dC9HcmlkQmFnTGF5b3V0SW5mby5qYXZhLAoJamF2YS9hd3QvR3JpZExheW91dC5qYXZhLAoJamF2YS9hd3QvSGVhZGxlc3NFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L0lsbGVnYWxDb21wb25lbnRTdGF0ZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvSW1hZ2UuamF2YSwKCWphdmEvYXd0L0luc2V0cy5qYXZhLAoJamF2YS9hd3QvSXRlbVNlbGVjdGFibGUuamF2YSwKCWphdmEvYXd0L0pvYkF0dHJpYnV0ZXMuamF2YSwKCWphdmEvYXd0L0tleUV2ZW50RGlzcGF0Y2hlci5qYXZhLAoJamF2YS9hd3QvS2V5RXZlbnRQb3N0UHJvY2Vzc29yLmphdmEsCglqYXZhL2F3dC9LZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhLAoJamF2YS9hd3QvTGFiZWwuamF2YSwKCWphdmEvYXd0L0xheW91dE1hbmFnZXIuamF2YSwKCWphdmEvYXd0L01lbnVCYXIuamF2YSwKCWphdmEvYXd0L01lbnVDb21wb25lbnQuamF2YSwKCWphdmEvYXd0L01lbnVDb250YWluZXIuamF2YSwKCWphdmEvYXd0L1BhZ2VBdHRyaWJ1dGVzLmphdmEsCglqYXZhL2F3dC9QYWludC5qYXZhLAoJamF2YS9hd3QvUGFpbnRDb250ZXh0LmphdmEsCglqYXZhL2F3dC9QYW5lbC5qYXZhLAoJamF2YS9hd3QvUG9pbnQuamF2YSwKCWphdmEvYXd0L1BvbHlnb24uamF2YSwKCWphdmEvYXd0L1ByaW50R3JhcGhpY3MuamF2YSwKCWphdmEvYXd0L1ByaW50Sm9iLmphdmEsCglqYXZhL2F3dC9SZWN0YW5nbGUuamF2YSwKCWphdmEvYXd0L1JlbmRlcmluZ0hpbnRzLmphdmEsCglqYXZhL2F3dC9TaGFwZS5qYXZhLAoJamF2YS9hd3QvU3Ryb2tlLmphdmEsCglqYXZhL2F3dC9TeXN0ZW1Db2xvci5qYXZhLAoJamF2YS9hd3QvVG9vbGtpdC5qYXZhLAoJamF2YS9hd3QvVHJhbnNwYXJlbmN5LmphdmEsCglqYXZhL2F3dC9XaW5kb3cuamF2YSwKCWphdmEvYXd0L2NvbG9yL0NNTUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvY29sb3IvQ29sb3JTcGFjZS5qYXZhLAoJamF2YS9hd3QvY29sb3IvSUNDX0NvbG9yU3BhY2UuamF2YSwKCWphdmEvYXd0L2NvbG9yL0lDQ19Qcm9maWxlLmphdmEsCglqYXZhL2F3dC9jb2xvci9Qcm9maWxlRGF0YUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvZGF0YXRyYW5zZmVyL0ZsYXZvclRhYmxlLmphdmEsCglqYXZhL2F3dC9kYXRhdHJhbnNmZXIvTWltZVR5cGVQYXJzZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvZGF0YXRyYW5zZmVyL1RyYW5zZmVyYWJsZS5qYXZhLAoJamF2YS9hd3QvZGF0YXRyYW5zZmVyL1Vuc3VwcG9ydGVkRmxhdm9yRXhjZXB0aW9uLmphdmEsCglqYXZhL2F3dC9kbmQvQXV0b3Njcm9sbC5qYXZhLAoJamF2YS9hd3QvZG5kL0RuRENvbnN0YW50cy5qYXZhLAoJamF2YS9hd3QvZG5kL0RyYWdHZXN0dXJlTGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2RuZC9EcmFnU291cmNlQWRhcHRlci5qYXZhLAoJamF2YS9hd3QvZG5kL0RyYWdTb3VyY2VEcm9wRXZlbnQuamF2YSwKCWphdmEvYXd0L2RuZC9EcmFnU291cmNlTGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2RuZC9EcmFnU291cmNlTW90aW9uTGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2RuZC9Ecm9wVGFyZ2V0QWRhcHRlci5qYXZhLAoJamF2YS9hd3QvZG5kL0Ryb3BUYXJnZXRDb250ZXh0LmphdmEsCglqYXZhL2F3dC9kbmQvRHJvcFRhcmdldExpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9kbmQvSW52YWxpZERuRE9wZXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvZG5kL01vdXNlRHJhZ0dlc3R1cmVSZWNvZ25pemVyLmphdmEsCglqYXZhL2F3dC9kbmQvcGVlci9Ecm9wVGFyZ2V0Q29udGV4dFBlZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L0FXVEV2ZW50TGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L0FXVEV2ZW50TGlzdGVuZXJQcm94eS5qYXZhLAoJamF2YS9hd3QvZXZlbnQvQWN0aW9uRXZlbnQuamF2YSwKCWphdmEvYXd0L2V2ZW50L0FkanVzdG1lbnRFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvQWRqdXN0bWVudExpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Db21wb25lbnRBZGFwdGVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Db21wb25lbnRFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvQ29tcG9uZW50TGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L0NvbnRhaW5lckFkYXB0ZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L0NvbnRhaW5lckV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9Db250YWluZXJMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvRm9jdXNBZGFwdGVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Gb2N1c0V2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9Gb2N1c0xpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnB1dEV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnB1dE1ldGhvZEV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnB1dE1ldGhvZExpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnZvY2F0aW9uRXZlbnQuamF2YSwKCWphdmEvYXd0L2V2ZW50L0l0ZW1FdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvSXRlbUxpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9LZXlBZGFwdGVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9LZXlFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvS2V5TGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L01vdXNlQWRhcHRlci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvTW91c2VFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvTW91c2VMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvTW91c2VNb3Rpb25BZGFwdGVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Nb3VzZU1vdGlvbkxpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Nb3VzZVdoZWVsRXZlbnQuamF2YSwKCWphdmEvYXd0L2V2ZW50L01vdXNlV2hlZWxMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvUGFpbnRFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvVGV4dEV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9UZXh0TGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L1dpbmRvd0FkYXB0ZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L1dpbmRvd0V2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9XaW5kb3dGb2N1c0xpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9XaW5kb3dMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvV2luZG93U3RhdGVMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZm9udC9UZXh0SGl0SW5mby5qYXZhLAoJamF2YS9hd3QvZ2VvbS9DdWJpY0N1cnZlMkQuamF2YSwKCWphdmEvYXd0L2dlb20vRGltZW5zaW9uMkQuamF2YSwKCWphdmEvYXd0L2dlb20vRWxsaXBzZTJELmphdmEsCglqYXZhL2F3dC9nZW9tL0lsbGVnYWxQYXRoU3RhdGVFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L2dlb20vTGluZTJELmphdmEsCglqYXZhL2F3dC9nZW9tL05vbmludmVydGlibGVUcmFuc2Zvcm1FeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L2dlb20vUGF0aEl0ZXJhdG9yLmphdmEsCglqYXZhL2F3dC9nZW9tL1BvaW50MkQuamF2YSwKCWphdmEvYXd0L2dlb20vUXVhZEN1cnZlMkQuamF2YSwKCWphdmEvYXd0L2dlb20vUmVjdGFuZ3VsYXJTaGFwZS5qYXZhLAoJamF2YS9hd3QvZ2VvbS9Sb3VuZFJlY3RhbmdsZTJELmphdmEsCglqYXZhL2F3dC9pbS9JbnB1dENvbnRleHQuamF2YSwKCWphdmEvYXd0L2ltL0lucHV0TWV0aG9kSGlnaGxpZ2h0LmphdmEsCglqYXZhL2F3dC9pbS9JbnB1dE1ldGhvZFJlcXVlc3RzLmphdmEsCglqYXZhL2F3dC9pbS9JbnB1dFN1YnNldC5qYXZhLAoJamF2YS9hd3QvaW0vc3BpL0lucHV0TWV0aG9kLmphdmEsCglqYXZhL2F3dC9pbS9zcGkvSW5wdXRNZXRob2REZXNjcmlwdG9yLmphdmEsCglqYXZhL2F3dC9pbWFnZS9CYW5kQ29tYmluZU9wLmphdmEsCglqYXZhL2F3dC9pbWFnZS9CYW5kZWRTYW1wbGVNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvQnl0ZUxvb2t1cFRhYmxlLmphdmEsCglqYXZhL2F3dC9pbWFnZS9Db21wb25lbnRTYW1wbGVNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlci5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckJ5dGUuamF2YSwKCWphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJEb3VibGUuamF2YSwKCWphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJGbG9hdC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckludC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlclNob3J0LmphdmEsCglqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyVVNob3J0LmphdmEsCglqYXZhL2F3dC9pbWFnZS9JbWFnaW5nT3BFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L2ltYWdlL0tlcm5lbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvTG9va3VwVGFibGUuamF2YSwKCWphdmEvYXd0L2ltYWdlL011bHRpUGl4ZWxQYWNrZWRTYW1wbGVNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUGFja2VkQ29sb3JNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUGl4ZWxJbnRlcmxlYXZlZFNhbXBsZU1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9SR0JJbWFnZUZpbHRlci5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUmFzdGVyLmphdmEsCglqYXZhL2F3dC9pbWFnZS9SYXN0ZXJGb3JtYXRFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L2ltYWdlL1NhbXBsZU1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9TaG9ydExvb2t1cFRhYmxlLmphdmEsCglqYXZhL2F3dC9pbWFnZS9TaW5nbGVQaXhlbFBhY2tlZFNhbXBsZU1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9Xcml0YWJsZVJhc3Rlci5qYXZhLAoJamF2YS9hd3QvcHJpbnQvUHJpbnRlckFib3J0RXhjZXB0aW9uLmphdmEsCglqYXZhL2F3dC9wcmludC9QcmludGVyRXhjZXB0aW9uLmphdmEsCglqYXZhL2F3dC9wcmludC9QcmludGVySU9FeGNlcHRpb24uamF2YToKCUZpeGVkIEBhdXRob3IgdGFnIGFsbCBvdmVyLgoKMjAwNS0wMi0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YTogUmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMuCgkqIGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyLmphdmEKCShERUZBVUxUX0NBUEFDSVRZKTogUmVvcmRlcmVkIG1vZGlmaWVycy4KCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YTogUmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMuCglGaXhlZCBvbmUgbGl0dGVsIGZvcm1hdHRpbmcgaXNzdWUuCgkoZm9ybWF0RGF0YSk6IFJlbW92ZWQgYSB1c2VsZXNzIGNvbW1lbnQuCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VJTy5qYXZhOiBSZXdvcmtlZCBpbXBvcnQgc3RhdGVtZW50cy4KCSogamF2YXgvc3dpbmcvdGV4dC9TdHJpbmdDb250ZW50LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmE6IExpa2V3aXNlLgoJKG5vdGlmeUFjdGlvbik6IEFkZGVkIGphdmFkb2MuCgoyMDA1LTAyLTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvamFyL0F0dHJpYnV0ZXMuamF2YSAoTmFtZS5DTEFTU19QQVRIKTogRG9jdW1lbnQgdGhhdAoJZmlsZSBwYXRoIGVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLgoKMjAwNS0wMi0xNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvbmV0L3NzbC9TU0xDb250ZXh0LmphdmEgKGdldEluc3RhbmNlKTogQWRkIGV4Y2VwdGlvbiBtZXNzYWdlCglhbmQvb3IgY2F1c2UgYmVmb3JlIHRocm93aW5nLgoKMjAwNS0wMi0xNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoSmFyVVJMTG9hZGVyLkphclVSTExvYWRlcik6IEp1c3QgdXNlCglzcGFjZSBmb3IgcGFyc2luZyBDTEFTU19QQVRIIGF0dHJpYnV0ZS4KCjIwMDUtMDItMTUgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YQoJKFVSTExvYWRlci5nZXRDbGFzc1BhdGgpOiBOZXcgbWV0aG9kLgoJKEphclVSTExvYWRlci5KYXJVUkxMb2FkZXIpOiBSZWFkIG1haW5mZXN0IHRvIHBhcnNlICJDbGFzcy1QYXRoIgoJYXR0cmlidXRlIGFuZCBhZGQgVVJMcyBmb3IgZWFjaCBlbnRyeS4KCShKYXJVUkxMb2FkZXIuY2xhc3NQYXRoKTogTmV3IGZpZWxkLgoJKEphclVSTExvYWRlci5nZXRDbGFzc1BhdGgpOiBOZXcgbWV0aG9kLgoJKGFkZFVSTEltcGwpOiBTY2FuIHRocm91Z2ggdGhlIGxpc3Qgb2YgZXh0cmFVcmxzIGluIHRoZSBuZXcKCWxvYWRlciwgYWRkaW5nIHRoZW0gdG8gb3VyIHVybGluZm9zLgoJKGRlZmluZVBhY2thZ2UsIGZpbmRVUkxSZXNvdXJjZSwgZmluZFJlc291cmNlcyk6IFVzZQoJdXJsaW5mb3Muc2l6ZSgpLCBub3QgdXJscy5zaXplKCkuCgoyMDA1LTAyLTE0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhIChVUkxMb2FkZXIoVVJMQ2xhc3NMb2FkZXIsIFVSTCwKCVVSTCkpOiBOZXcgY29uc3RydWN0b3IuCgoyMDA1LTAyLTE0ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhIChmaW5kQ2xhc3MpOiBUaHJvdwoJQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbnMgaW5jbHVkaW5nIHVybHMsIHBsdXMgcGFyZW50IHVzaW5nIHRvU3RyaW5nKCkuCgkodGhpc1N0cmluZyk6IE5ldyBmaWVsZC4KCSh0b1N0cmluZyk6IE5ldyBtZXRob2QuCgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIgKGRlZmF1bHRHZXRTeXN0ZW1DbGFzc0xvYWRlcik6IE9ubHkgaW5zdGFsbAoJRXh0ZW5zaW9uQ2xhc3NMb2FkZXIgd2hlbiB0aGVyZSBhcmUgYWN0dWFsIGV4dGVuc2lvbiBVUkxzLgoKMjAwNS0wMi0xNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS94bWxqLy5jdnNpZ25vcmU6IEFkZCAqLm8sICouYSwgKi5sbywgKi5sYSwgLmxpYnMsIC5kZXBzLgoKMjAwNS0wMi0xNCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YSAKCShDYWxlbmRhcik6IENvbnN0cnVjdG9yIHNob3VsZCBjbGVhciBmaWVsZHMuCgoyMDA1LTAyLTE0ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmF4L3N3aW5nL1NwaW5uZXJEYXRlTW9kZWwuamF2YTogSW1wbGVtZW50ZWQuCgoyMDA1LTAyLTE0ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhIAoJKGNsZWFyKTogRGF0ZXMgc2hvdWxkIGNsZWFyIHRvIGxvY2FsIHRpbWUuCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhICAgICAgCgkoY29tcHV0ZVRpbWUpOiBGaXggcHJpb3JpdHkgcHJvYmxlbSB3aXRoIERBWV9PRl9XRUVLLAoJSGFuZGxlIG5vbi1zdW5kYXktc3RhcnRpZyB3ZWVrcyBhbmQgbWluaW11bURheXNJbkZpcnN0V2Vlay4KCjIwMDUtMDItMTMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvYXd0L0FXVEtleVN0cm9rZS5qYXZhIChnZXRBV1RLZXlTdHJva2UoU3RyaW5nKSk6IFRocm93CglJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gd2hlbiB0aGUgZ2l2ZW4gU3RyaW5nIGlzIG51bGwuCgoJKiBqYXZheC9zd2luZy9LZXlTdHJva2UuamF2YSAoZ2V0S2V5U3Ryb2tlKFN0cmluZykpOiBSZXR1cm4gbnVsbAoJd2hlbiBnaXZlbiBrZXlzdG9rZSBzZXF1ZW5jZSBjYW5ub3QgYmUgcGFyc2VkLgoKCSogamF2YXgvc3dpbmcvSlJvb3RQYW5lLmphdmEgKHNldEpNZW51QmFyKTogUmVtb3ZlIGN1cnJlbnQgbWVudWJhcgoJaWYgb25lIGlzIGluc3RhbGxlZC4gT25seSBpbnN0YWxsIHRoZSBnaXZlbiBtZW51YmFyIGlzIG5vdCBudWxsLgoKCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmEgKGdldFZpZXdTaXplKTogUmV0dXJuIGFuIGVtcHR5CglEaW1lbnNpb24gd2hlbiB0aGUgdmlldyBpc24ndCBzZXQgb3IgcHJlZmVycmVkIGNvbXBvbmVudCBzaXplIHdoZW4KCW5vIHZpZXdTaXplIGlzIHNldC4KCgkqIGphdmF4L3N3aW5nL1ZpZXdwb3J0TGF5b3V0LmphdmEgKHByZWZlcnJlZExheW91dFNpemUpOiBSZXR1cm4gYW4KCWVtcHR5IERpbWVuc2lvbiB3aGVuIHRoZXJlIGlzIG5vIHZpZXcgc2V0LgoJKG1pbmltdW1MYXlvdXRTaXplKTogTGlrZXdpc2UuCgkobGF5b3V0Q29udGFpbmVyKTogRG9uJ3QgdHJ5IHRvIGxheW91dCB3aGVuIHRoZXJlIGlzIG5vIHZpZXcuCgoyMDA1LTAyLTEzICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJIyBGaXhlcyBidWcgIzExOTU3CgkqIGphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YSAocmVzb2x2ZUNsYXNzKTogRG9uJ3QgY2hlY2sgInZvaWQiCgl0d2ljZS4KCjIwMDUtMDItMTMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS94bWwvYWVsZnJlZDIvU0FYRHJpdmVyLmphdmE6IEVuc3VyZSB0aGF0IG51bGwgaXMgcmV0dXJuZWQgd2hlbgoJYXR0cmlidXRlIGluZGV4IGlzIG91dCBvZiBib3VuZHMuCgoyMDA1LTAyLTEyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJRml4ZXMgYnVnICMxMTk0OQoJKiBqYXZhL2F3dC9CYXNpY1N0cm9rZS5qYXZhIChoYXNoQ29kZSk6IENoZWNrIGZvciBudWxsIGRhc2guCgoyMDA1LTAyLTExICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogZ251L2phdmEvYXd0L2NvbG9yL0NsdXRQcm9maWxlQ29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9DbGFzc3BhdGhUZXh0TGF5b3V0UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR2x5cGhWZWN0b3IuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1BpeGJ1ZkRlY29kZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtSb2JvdFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtUZXh0TGF5b3V0LmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQnV0dG9uUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NoZWNrYm94TWVudUl0ZW1QZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hlY2tib3hQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hvaWNlUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb250YWluZXJQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRGlhbG9nUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZpbGVEaWFsb2dQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRm9udFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGcmFtZVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtMYWJlbFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51Q29tcG9uZW50UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01lbnVJdGVtUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Njcm9sbFBhbmVQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dENvbXBvbmVudFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrV2luZG93UGVlci5qYXZhLAoJZ251L2phdmEvaW8vRW5jb2RpbmdNYW5hZ2VyLmphdmEsCglnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlclVURjguamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9maWxlL0Nvbm5lY3Rpb24uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvQWN0aXZlTW9kZURUUC5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9CbG9ja0lucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL0Jsb2NrT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL0NvbXByZXNzZWRPdXRwdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvU3RyZWFtSW5wdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvU3RyZWFtT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9Db29raWUuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBDb25uZWN0aW9uLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IVFRQRGF0ZUZvcm1hdC5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvUmVxdWVzdC5qYXZhLAoJZ251L2phdmEvbmlvL1NlbGVjdG9ySW1wbC5qYXZhLAoJZ251L2phdmEvcm1pL2RnYy9ER0NJbXBsLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1VuaWNhc3RDb25uZWN0aW9uTWFuYWdlci5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkvcGtjcy9TaWduZXJJbmZvLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9FbmNvZGVkS2V5RmFjdG9yeS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvR251REhQdWJsaWNLZXkuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL1BLSVhDZXJ0UGF0aFZhbGlkYXRvckltcGwuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwMERpc3Rpbmd1aXNoZWROYW1lLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDlDUkwuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNSTEVudHJ5LmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDlDZXJ0aWZpY2F0ZS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQXV0aG9yaXR5S2V5SWRlbnRpZmllci5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQ2VydGlmaWNhdGVQb2xpY2llcy5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvUG9saWN5Q29uc3RyYWludC5qYXZhLAoJZ251L3htbC9hZWxmcmVkMi9TQVhEcml2ZXIuamF2YSwKCWdudS94bWwvZG9tL0NvbnN1bWVyLmphdmEsCglnbnUveG1sL2RvbS9Eb21DaGFyYWN0ZXJEYXRhLmphdmEsCglnbnUveG1sL2RvbS9Eb21Eb2N1bWVudC5qYXZhLAoJZ251L3htbC9kb20vRG9tRG9jdW1lbnRCdWlsZGVyLmphdmEsCglnbnUveG1sL2RvbS9Eb21JdGVyYXRvci5qYXZhLAoJZ251L3htbC9kb20vRG9tTm9kZS5qYXZhLAoJZ251L3htbC9kb20vRG9tWFBhdGhFeHByZXNzaW9uLmphdmEsCglnbnUveG1sL2RvbS9Eb21YUGF0aFJlc3VsdC5qYXZhLAoJZ251L3htbC9kb20vSkFYUEZhY3RvcnkuamF2YSwKCWdudS94bWwvZG9tL2xzL0RvbUxTRXhjZXB0aW9uLmphdmEsCglnbnUveG1sL2xpYnhtbGovZG9tL0dub21lRG9jdW1lbnRCdWlsZGVyLmphdmEsCglnbnUveG1sL2xpYnhtbGovZG9tL0dub21lWFBhdGhOb2RlTGlzdC5qYXZhLAoJZ251L3htbC9saWJ4bWxqL3NheC9Hbm9tZVhNTFJlYWRlci5qYXZhLAoJZ251L3htbC9saWJ4bWxqL3RyYW5zZm9ybS9Hbm9tZVRyYW5zZm9ybWVyLmphdmEsCglnbnUveG1sL2xpYnhtbGovdHJhbnNmb3JtL0dub21lVHJhbnNmb3JtZXJGYWN0b3J5LmphdmEsCglnbnUveG1sL2xpYnhtbGovdXRpbC9YTUxKLmphdmEsCglnbnUveG1sL3BpcGVsaW5lL0NhbGxGaWx0ZXIuamF2YSwKCWdudS94bWwvcGlwZWxpbmUvRG9tQ29uc3VtZXIuamF2YSwKCWdudS94bWwvcGlwZWxpbmUvTGlua0ZpbHRlci5qYXZhLAoJZ251L3htbC9waXBlbGluZS9OU0ZpbHRlci5qYXZhLAoJZ251L3htbC9waXBlbGluZS9UZWVDb25zdW1lci5qYXZhLAoJZ251L3htbC9waXBlbGluZS9WYWxpZGF0aW9uQ29uc3VtZXIuamF2YSwKCWdudS94bWwvcGlwZWxpbmUvV2VsbEZvcm1lZG5lc3NGaWx0ZXIuamF2YSwKCWdudS94bWwvcGlwZWxpbmUvWEluY2x1ZGVGaWx0ZXIuamF2YSwKCWdudS94bWwvcGlwZWxpbmUvWHNsdEZpbHRlci5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vQXBwbHlJbXBvcnRzTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vQmluZGluZ3MuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0RvY3VtZW50RnVuY3Rpb24uamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0Zvcm1hdE51bWJlckZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9Ob2RlTnVtYmVyTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vTnVtYmVyTm9kZS5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vU3R5bGVzaGVldC5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vU3lzdGVtUHJvcGVydHlGdW5jdGlvbi5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vVGVtcGxhdGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1RlbXBsYXRlc0ltcGwuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVySW1wbC5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vVmFsdWVPZk5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1hTTFVSSVJlc29sdmVyLmphdmEsCglnbnUveG1sL3V0aWwvRG9QYXJzZS5qYXZhLAoJZ251L3htbC91dGlsL1Jlc29sdmVyLmphdmEsCglnbnUveG1sL3hwYXRoL0V4cHIuamF2YSwKCWdudS94bWwveHBhdGgvRnVuY3Rpb25DYWxsLmphdmEsCglnbnUveG1sL3hwYXRoL1JlbGF0aW9uYWxFeHByLmphdmEsCglnbnUveG1sL3hwYXRoL1NlbGVjdG9yLmphdmEsCglnbnUveG1sL3hwYXRoL1hQYXRoUGFyc2VyLmphdmEsCglqYXZhL2JlYW5zL1hNTERlY29kZXIuamF2YSwKCWphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmEsCglqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEsCglqYXZheC9zd2luZy9KU3Bpbm5lci5qYXZhLAoJamF2YXgvc3dpbmcvU29ydGluZ0ZvY3VzVHJhdmVyc2FsUG9saWN5LmphdmEsCglqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94RWRpdG9yLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hSZW5kZXJlci5qYXZhLAoJamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0TXV0YWJsZVRyZWVOb2RlLmphdmEsCglqYXZheC94bWwvcGFyc2Vycy9Eb2N1bWVudEJ1aWxkZXIuamF2YSwKCWphdmF4L3htbC9wYXJzZXJzL0RvY3VtZW50QnVpbGRlckZhY3RvcnkuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vc2F4L1NBWFRyYW5zZm9ybWVyRmFjdG9yeS5qYXZhLAoJdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTUNsYXNzTG9hZGVyLmphdmEsCgl2bS9yZWZlcmVuY2UvamF2YS9sYW5nL1ZNUHJvY2Vzcy5qYXZhLAoJdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTVJ1bnRpbWUuamF2YSwKCXZtL3JlZmVyZW5jZS9qYXZhL2xhbmcvVk1TeXN0ZW0uamF2YSwKCXZtL3JlZmVyZW5jZS9qYXZhL3NlY3VyaXR5L1ZNQWNjZXNzQ29udHJvbGxlci5qYXZhOgoJUmVtb3ZlZCB1bnVzZWQgaW1wb3J0cyBhbmQgZXhwYW5kZWQgc3RhcnJlZAoJaW1wb3J0cy4KCjIwMDUtMDItMTIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250UGVlci5oLAoJaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5oOgoJUmVnZW5lcmF0ZWQuCgoyMDA1LTAyLTEyICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzQ29uZmlndXJhdGlvbi5qYXZhOiBBZGQuCgoyMDA1LTAyLTEyICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRQZWVyLmphdmEKCShnZXRHbHlwaFZlY3Rvcik6CgkoZ2V0Rm9udE1ldHJpY3MpOgoJKGdldFRleHRNZXRyaWNzKTogTmV3IG5hdGl2ZSBtZXRob2RzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrRm9udE1ldHJpY3MuamF2YTogUmVtb3ZlIG5hdGl2ZSBwYXJ0cy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dseXBoVmVjdG9yLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhOiAKCUhvbGQgcmVmZXJlbmNlIHRvIEd0a1Rvb2xraXQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShjYWlyb1NldEZvbnQpOgoJKGNhaXJvRHJhd0dka1RleHRMYXlvdXQpOgoJKGNhaXJvRHJhd1N0cmluZyk6IAoJKGdldFBlZXJUZXh0TWV0cmljcyk6CgkoZ2V0UGVlckZvbnRNZXRyaWNzKTogUmVtb3ZlLgoJKHNldEZvbnQpOiBEb24ndCBjYWxsIGNhaXJvU2V0Rm9udC4KCShjYWlyb0RyYXdHbHlwaFZlY3Rvcik6IEFjY2VwdCBmb250IHBlZXIgYXJndW1lbnQuCgkoZHJhd0dseXBoVmVjdG9yKTogUGFzcyBmb250IHBlZXIgdG8gY2Fpcm9EcmF3R2x5cGhWZWN0b3IuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtQaXhidWZEZWNvZGVyLmphdmE6CgkoZmluYWxpemUpOiBDYWxsIGZpbmlzaCBmcm9tIGhlcmUuCgkocHJvZHVjZSk6IE5vdCBmcm9tIGhlcmUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtTY3JlZW5HcmFwaGljc0RldmljZS5qYXZhOgoJSG9sZCByZWZlcmVuY2UgdG8gR2RrR3JhcGhpY3NFbnZpcm9ubWVudC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YToKCShnZXRGb250TWV0cmljcyk6IENoYW5nZSBsb2NraW5nLgoJKGdldEJvdW5kcyk6IE5ldyBtZXRob2QuCgkoZ2V0TG9jYWxHcmFwaGljc0Vudmlyb25tZW50KTogUGFzcyByZWZlcmVuY2UgdG8gdGhpcy4KCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW06IFJlbW92ZSBlbnRyaWVzIGZvciBHZGtGb250TWV0cmljcywgR2RrR2x5cGhWZWN0b3IuCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRNZXRyaWNzLmg6IFJlbW92ZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXIuaDogUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3IuaDogUmVtb3ZlLgoJKiBpbmNsdWRlL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmg6IFJlZ2VuZXJhdGUuCgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL01ha2VmaWxlLmFtCglSZW1vdmUgZW50cmllcyBmb3IgR2RrRm9udE1ldHJpY3MsIEdka0dseXBoVmVjdG9yLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dka2ZvbnQuaDogQWRkICNkZWZpbmVzLCByZW1vdmUgc3RydWN0IGdseXBodmVjLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMKCShlbnN1cmVfbWV0cmljc19jYWlybyk6CgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9jYWlyb1NldEZvbnQpOgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfY2Fpcm9EcmF3U3RyaW5nKToKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJEX2dldFBlZXJGb250TWV0cmljcyk6CgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9nZXRQZWVyVGV4dE1ldHJpY3MpOgoJKG1ldHJpY3NfY2Fpcm8pOgoJKG1ldHJpY3Nfc3VyZmFjZSk6IFJlbW92ZS4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJEX2NhaXJvRHJhd0dseXBoVmVjdG9yKToKCVBhc3MgYW5kIGluc3RhbGwgZm9udCBwZWVyLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmM6CglSZWxlYXNlIEdESyBsb2NrIHdoaWxlIHBlcmZvcm1pbmcgdXBjYWxscy4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udE1ldHJpY3MuYzogUmVtb3ZlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXJfZ2V0R2x5cGhWZWN0b3IpOgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRQZWVyX2dldEZvbnRNZXRyaWNzKTogCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXJfZ2V0VGV4dE1ldHJpY3MpOiBOZXcgbWV0aG9kcy4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3IuYzogUmVtb3ZlLgoKMjAwNS0wMi0xMSAgQ3JhaWcgQmxhY2sgIDxjcmFpZy5ibGFja0Bhb25peC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hlY2tib3hNZW51SXRlbS5qYXZhCgkocG9zdE1lbnVBY3Rpb25FdmVudCk6IEltcGxlbWVudCB0byBub3RpZnkgSXRlbUxpc3RlbmVycy4KCSogamF2YS9hd3QvQ2hlY2tib3hNZW51SXRlbS5qYXZhCgkoZGlzcGF0Y2hFdmVudEltcGwpOiBVcGRhdGUgc3RhdGUgb24gSXRlbUV2ZW50LgoJKiBqYXZhL2F3dC9NZW51SXRlbS5qYXZhCgkocHJvY2Vzc0FjdGlvbkV2ZW50KTogUmV0YXJnZXQgZXZlbnQgc291cmNlLgoKMjAwNS0wMi0xMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jIChjcmVhdGUpOgoJVXNlIEdUSydzIGJ1aWx0LWluIGZpbGUgc3lzdGVtIGJhY2tlbmQuICBVc2UgR1RLX1JFU1BPTlNFX0FDQ0VQVC4KCShoYW5kbGVfcmVzcG9uc2UpOiBVc2UgR1RLX1JFU1BPTlNFX0FDQ0VQVC4KCjIwMDUtMDItMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBjb25maWd1cmUuYWM6IERlZmluZSBHVEtfQ0FJUk8gaW4gY29uZmlnLmgKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jCgkoZ3RrSW5pdCk6IENvbXBpbGUgR3JhcGhpY3MyRCBzdHVmZiBjb25kaXRpb25hbGx5LgoKMjAwNS0wMi0xMCAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9kb20vRG9tQXR0ci5qYXZhLAoJZ251L3htbC9kb20vRG9tQ0RBVEEuamF2YSwKCWdudS94bWwvZG9tL0RvbUNEQVRBU2VjdGlvbi5qYXZhLAoJZ251L3htbC9kb20vRG9tQ2hhcmFjdGVyRGF0YS5qYXZhLAoJZ251L3htbC9kb20vRG9tRE9NRXhjZXB0aW9uLmphdmEsCglnbnUveG1sL2RvbS9Eb21Eb2N0eXBlLmphdmEsCglnbnUveG1sL2RvbS9Eb21Eb2N1bWVudC5qYXZhLAoJZ251L3htbC9kb20vRG9tRG9jdW1lbnRDb25maWd1cmF0aW9uLmphdmEsCglnbnUveG1sL2RvbS9Eb21Eb2N1bWVudEZyYWdtZW50LmphdmEsCglnbnUveG1sL2RvbS9Eb21FbGVtZW50LmphdmEsCglnbnUveG1sL2RvbS9Eb21FeC5qYXZhLAoJZ251L3htbC9kb20vRG9tRnJhZ21lbnQuamF2YSwKCWdudS94bWwvZG9tL0RvbUltcGwuamF2YSwKCWdudS94bWwvZG9tL0RvbUl0ZXJhdG9yLmphdmEsCglnbnUveG1sL2RvbS9Eb21OYW1lZE5vZGVNYXAuamF2YSwKCWdudS94bWwvZG9tL0RvbU5vZGUuamF2YSwKCWdudS94bWwvZG9tL0RvbU5zTm9kZS5qYXZhLAoJZ251L3htbC9kb20vRG9tUEkuamF2YSwKCWdudS94bWwvZG9tL0RvbVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5qYXZhLAoJZ251L3htbC9kb20vRG9tVGV4dC5qYXZhLAoJZ251L3htbC9kb20vRG9tTFNFeC5qYXZhLAoJZ251L3htbC9kb20vRG9tTFNFeGNlcHRpb24uamF2YSwKCWdudS94bWwvZG9tL0RvbUxTUGFyc2VyLmphdmEsCglnbnUveG1sL2RvbS9Eb21MU1NlcmlhbGl6ZXIuamF2YTogUmVmYWN0b3Jpbmcgb2YgZXhjZXB0aW9uIGFuZCBET00KCWltcGxlbWVudGF0aW9uIGNsYXNzIG5hbWVzIHRvIGNvbmZvcm0gdG8gQ2xhc3NwYXRoIGd1aWRlbGluZXMuIE1ha2UKCURvbUxTRXhjZXB0aW9uIHVzZSBKREsgMS40KyBleGNlcHRpb24gY2hhaW5pbmcuCgkqIGdudS94bWwvdXRpbC9TQVhOdWxsVHJhbnNmb3JtZXJGYWN0b3J5LmphdmEsCglnbnUveG1sL3hwYXRoL1ByZWRpY2F0ZS5qYXZhOiBVc2UgY29uc3RhbnRzIHJlbGF0aXZlIHRvIGRlY2xhcmluZwoJY2xhc3Mgb3IgaW50ZXJmYWNlLgoKMjAwNS0wMi0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmEKCShQYWdlLnNldERpc3BsYXllZE1uZW1vbmljSW5kZXgpOiBIYW5kbGUgZW1wdHkgbWVubW9uaWMuCgoyMDA1LTAyLTEwICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYywKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0Q29tcG9uZW50UGVlci5jLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmM6CglSZWxlYXNlIEdESyBsb2NrIGR1cmluZyB1cGNhbGxzLgoKMjAwNS0wMi0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlUGFpbnRlci5jOgoJTWVyZ2VkIGZpbGUgaGVhZGVyIGZyb20gamF2YS1ndWktMjAwNTAxMjgtYnJhbmNoLgoKMjAwNS0wMi0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhIChwYXJhbVN0cmluZyk6CglJZiBsYXlvdXRNZ3IgaXMgbnVsbCBqdXN0IHJldHVybiByZXN1bHQgb2Ygc3VwZXIucGFyYW1TdHJpbmcoKS4KCjIwMDUtMDItMTAgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL3RleHQvQ29sbGF0b3IuamF2YSAoZ2V0SW5zdGFuY2UoTG9jYWxlKSk6CglBZGRlZCBkZWZhdWx0IGNvbGxhdGlvbiBwYXR0ZXJuIHRvIGhhbmRsZSBjYXNlIHdoZW4gcmVzb3VyY2UKCWlzIG1pc3NpbmcgYW5kIHRocm93IEludGVybmFsRXJyb3IgaW5zdGVhZCBvZiByZXR1cm5pbmcgbnVsbAoJc2hvdWxkIHBhcnNpbmcgZmFpbC4KCjIwMDUtMDItMDkgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9qYXIvQ29ubmVjdGlvbi5qYXZhIChnZXRKYXJGaWxlKTogCglSZW5hbWUgamFyX2ZpbGUgdG8gamYuCgoyMDA1LTAyLTA5ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL0Nvbm5lY3Rpb24uamF2YSAoZ2V0SmFyRmlsZSk6IE9wZW4KCWphciBmaWxlIHdpdGggT1BFTl9ERUxFVEUuCgkqIGphdmEvdXRpbC96aXAvWmlwRmlsZS5qYXZhIChaaXBGaWxlKTogQ2FsbCBkZWxldGVPbkV4aXQgd2hlbgoJT1BFTl9ERUxFVEUgaXMgdXNlZC4KCjIwMDUtMDItMDkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9TY3JvbGxiYXIuamF2YTogUmVmb3JtYXR0ZWQuCgoyMDA1LTAyLTA4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9VUkkuamF2YSAoQVVUSE9SSVRZX1JFR0VYUCk6IEhhbmRsZSBjYXNlIHdoZXJlIHVzZXIKCW5hbWUgb3IgcG9ydCBpcyBtaXNzaW5nLgoJKEFVVEhPUklUWV9VU0VSSU5GT19HUk9VUCwgQVVUSE9SSVRZX0hPU1RfR1JPVVAsCglBVVRIT1JJVFlfUE9SVF9HUk9VUCk6IFVwZGF0ZWQuCgoyMDA1LTAyLTA4ICBDcmFpZyBCbGFjayAgPGNyYWlnLmJsYWNrQGFvbml4LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMKCShjb3B5U3RhdGUpOiBQYXNzIGEgSk5JIGdsb2JhbCByZWZlcmVuY2UgdG8gc2lnbmFsIGhhbmRsZXIuCgkocmVhbGl6ZV9jYik6IFVzZSBhbmQgZnJlZSBKTkkgZ2xvYmFsIHJlZmVyZW5jZS4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0Nob2ljZVBlZXIuYwoJKGNyZWF0ZSk6IFBhc3MgYSBKTkkgZ2xvYmFsIHJlZmVyZW5jZSB0byBzaWduYWwgaGFuZGxlci4KCShzZWxlY3Rpb25fY2hhbmdlZCk6IE1hdGNoIGRlY2xhcmF0aW9uLgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrR2VuZXJpY1BlZXIuYwoJKGRpc3Bvc2UpOiBEbyBub3QgcmVtb3ZlIGVudHJpZXMgZnJvbSBzdGF0ZSB0YWJsZXMgdW50aWwgYWZ0ZXIgd2lkZ2V0IGlzCglkZXN0cm95ZWQuCgoyMDA1LTAyLTA4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogbmF0aXZlL2puaS9qYXZhLW5pby9qYXZhX25pb19WTURpcmVjdEJ5dGVCdWZmZXIuYwoJKE5JT0dldFBvaW50ZXIpOiBIYW5kbGUgY2FzZSBvZiBwb2ludGVyIHNpemUgIT0gMzIgYml0LgoJKE5JT0dldFJhd0RhdGEpOiBMaWtld2lzZS4KCShKYXZhX2phdmFfbmlvX1ZNRGlyZWN0Qnl0ZUJ1ZmZlcl9pbml0KTogTGlrZXdpc2UuCglGaXhlZCBhc2tpbmcgZm9yIHByaW1pdGl2ZSB0eXBlICdsb25nJy4KCjIwMDUtMDItMDggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBjb25maWd1cmUuYWM6IERlZmluZSBzdWJzdGl0aW9uIHZhcmlhYmxlIEdUS19DQUlST19FTkFCTEVELgoJRml4IGhhbmRsaW5nIG9mIEdUS19DQUlSTyBjb25kaXRpb25hbC4KCSogZ251L2NsYXNzcGF0aC9Db25maWd1cmF0aW9uLmphdmEuaW4gKEdUS19DQUlST19FTkFCTEVEKToKCU5ldyBjb25zdGFudC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSAoc3RhdGljKToKCVRocm93IGVycm9yIHdoZW4gQ2Fpcm8gc3VwcG9ydCB3YXMgbm90IGVuYWJsZWQgZHVyaW5nIGNvbmZpZ3VyZSB0aW1lLgoKMjAwNS0wMi0wOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdE11dGFibGVUcmVlTm9kZS5qYXZhOgoJUmV3b3JrZWQgSmF2YWRvY3MgYWxsIG92ZXIuCgkoZ2V0UGF0aFRvUm9vdCk6IEZpeGVkIGRpcmVjdGlvbiBvZiByZXN1bHQgYXJyYXkgaW5pdGlhbGl6YXRpb24uCgoyMDA1LTAyLTA3ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvUmVzb3VyY2VCdW5kbGUuamF2YSAoZ2V0T2JqZWN0KTogQ2xhcmlmeQoJTWlzc2luZ1Jlc291cmNlRXhjZXB0aW9uIGRldGFpbGVkIG1lc3NhZ2UuCgkodHJ5QnVuZGxlKFN0cmluZyxDbGFzc0xvYWRlcikpOiBMaWtld2lzZS4KCjIwMDUtMDItMDcgIENyYWlnIEJsYWNrICA8Y3JhaWcuYmxhY2tAYW9uaXguY29tPgoKCSogbmF0aXZlL2puaS9jbGFzc3BhdGgvbmF0aXZlX3N0YXRlLmMKCShhZGRfbm9kZSk6IFVwZGF0ZSBoZWFkIHBvaW50ZXIgd2hlbiBtb3Zpbmcgbm9kZSB0byBmcm9udCBvZiBsaXN0LgoKMjAwNS0wMi0wNyAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGFjaW5jbHVkZS5tNDoKCShDTEFTU1BBVEhfRklORF9KQVZBQyk6IEFkZCBFQ0ogb3B0aW9uLgoJKENMQVNTUEFUSF9XSVRIX0VDSik6IE5ldyBmdW5jdGlvbi4KCShDTEFTU1BBVEhfQ0hFQ0tfRUNKKTogTmV3IGZ1bmN0aW9uLgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCUFsbG93IGV4YW1wbGVzIHRvIGJlIGJ1aWx0IHdpdGggZWNqLgoJKiBsaWIvTWFrZWZpbGUuYW06CglBbGxvdyBDbGFzc3BhdGggdG8gYmUgYnVpbHQgd2l0aCBlY2ouCgoyMDA1LTAyLTA2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJUmVwb3J0ZWQgYnkgVGltbyBMaW5kZm9ycyA8dGltby5saW5kZm9yc0Bpa2kuZmk+CglqYXZhL3V0aWwvcmVnZXgvTWF0Y2hlci5qYXZhIChsb29raW5nQXQpOiBTZXQgcG9zaXRpb24gd2hlbiBtYXRjaAoJZm91bmQuCgkobWF0Y2hlcyk6IEltcGxlbWVudGVkIHRocm91Z2ggbG9va2luZ0F0KCkuCgoyMDA1LTAyLTA2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJRml4IHN1Z2dlc3RlZCBieSBUaW1vIExpbmRmb3JzIDx0aW1vLmxpbmRmb3JzQGlraS5maT4KCSogamF2YS91dGlsL3JlZ2V4L1BhdHRlcm4uamF2YSAoc3BsaXQoQ2hhclNlcXVlbmNlLGludCkpOgoJRml4IHdoaWxlIGVtcHRpZXMgPiAwIGxvb3BzLgoKMjAwNS0wMi0wNSAgQy4gQnJpYW4gSm9uZXMgIDxjYmpAZ251Lm9yZz4KCgkqIGdudS9qYXZhL3JtaS9yZWdpc3RyeS86IEFkZGVkIGJhY2sgdG8gY2xhc3NwYXRoIGFnYWluLCB1c2VkIGJ5IGNvcmUKCWxpYnJhcnkuCgkqIGdudS9qYXZhL3JtaS9yZWdpc3RyeS9SZWdpc3RyeUltcGwuamF2YTogZGl0dG8KCSogZ251L2phdmEvcm1pL3JlZ2lzdHJ5L1JlZ2lzdHJ5SW1wbF9Ta2VsLmphdmE6IGRpdHRvCgkqIGdudS9qYXZhL3JtaS9yZWdpc3RyeS9SZWdpc3RyeUltcGxfU3R1Yi5qYXZhOiBkaXR0bwoKMjAwNS0wMi0wNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL2FwaS9NYWtlZmlsZS5hbSAoY3JlYXRlX2h0bWwpOiBSZW1vdmUgZ2pkb2MgLXB1YmxpYyBmbGFnLgoKMjAwNS0wMi0wNSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgogICAgICAgICogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YQogICAgICAgIChwYXJzZSk6IFR3ZWFrIGhhbmRsaW5nIG9mIDIteWVhciBkYXRlcwogICAgICAgICogamF2YS91dGlsL0NhbGVuZGFyLmphdmEKICAgICAgICAoY2xlYXIpOiBDbGVhciBmaWVsZHMgdG8gY29ycmVjdCB2YWx1ZS4KICAgICAgICAqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhCiAgICAgICAgKGNvbXB1dGVUaW1lKTogQ29ycmVjdCBoYW5kbGluZyBvZiB0aW1lIHpvbmVzLgogICAgICAgIENvcnJlY3QgZmllbGQgbWluaW11bSB2YWx1ZXMuCgoyMDA1LTAyLTA1ICBDLiBCcmlhbiBKb25lcyAgPGNiakBnbnUub3JnPgoKCSogZ251L2phdmEvcm1pL3JtaWMvOiBhZGRlZCB0byBjcC10b29scyBhbmQgcmVtb3ZlZCBmcm9tIGNsYXNzcGF0aAoJKiBnbnUvamF2YS9ybWkvcm1pYy9Db21waWxlX2djai5qYXZhOiBkaXR0bwoJKiBnbnUvamF2YS9ybWkvcm1pYy9Db21waWxlX2ppa2VzLmphdmE6IGRpdHRvCgkqIGdudS9qYXZhL3JtaS9ybWljL0NvbXBpbGVfa2pjLmphdmE6IGRpdHRvCgkqIGdudS9qYXZhL3JtaS9ybWljL0NvbXBpbGVyLmphdmE6IGRpdHRvCgkqIGdudS9qYXZhL3JtaS9ybWljL0NvbXBpbGVyUHJvY2Vzcy5qYXZhOiBkaXR0bwoJKiBnbnUvamF2YS9ybWkvcm1pYy9STUlDRXhjZXB0aW9uLmphdmE6IGRpdHRvCgkqIGdudS9qYXZhL3JtaS9ybWljL1JNSUMuamF2YTogZGl0dG8KCSogZ251L2phdmEvcm1pL3JtaWMvVGFiYmVkV3JpdGVyLmphdmE6IGRpdHRvCgkqIGdudS9qYXZhL3JtaS9yZWdpc3RyeS86IGFkZGVkIHRvIGNwLXRvb2xzIGFuZCByZW1vdmVkIGZyb20gY2xhc3NwYXRoCgkqIGdudS9qYXZhL3JtaS9yZWdpc3RyeS9SZWdpc3RyeUltcGwuamF2YTogZGl0dG8KCSogZ251L2phdmEvcm1pL3JlZ2lzdHJ5L1JlZ2lzdHJ5SW1wbF9Ta2VsLmphdmE6IGRpdHRvCgkqIGdudS9qYXZhL3JtaS9yZWdpc3RyeS9SZWdpc3RyeUltcGxfU3R1Yi5qYXZhOiBkaXR0bwoKMjAwNS0wMi0wNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZG9jL2FwaS9NYWtlZmlsZS5hbSAoY2xhc3NwYXRoYm94KTogVXNlIGNsYXNzIGxvZ28gYW5kIHRhcmdldCBfdG9wLgoKMjAwNS0wMi0wNCAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9hZWxmcmVkMi9TQVhEcml2ZXIuamF2YTogQ29ycmVjdGVkIGltcGxlbWVudGF0aW9uIG9mCglpc0RlY2xhcmVkIG1ldGhvZHMuIEltcHJvdmVkIHBlcmZvcm1hbmNlIG9mIGlzU3BlY2lmaWVkIG1ldGhvZHMuCgoyMDA1LTAyLTA0ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvU29ydGluZ0ZvY3VzVHJhdmVyc2FsUG9saWN5LmphdmEKCShnZXRTb3J0ZWRDeWNsZSk6IEZpeGVkIGluaXRpYWxpemF0aW9uIG9mIHNldC4KCjIwMDUtMDItMDMgIFJvYmVydCBTY2h1c3RlciAgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9JU09fODg1OV8xLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9VU19BU0NJSS5qYXZhLCAKCWdudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNi5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzE2X0xFLmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9VVEZfMTZfQkUuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1VURl84LmphdmE6IEZpeGVkIGNhbm9uaWNhbCBuYW1lcwoJIGFuZCBhbGlhc2VzIGFjY29yZGluZyB0bwoJICJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJhY3Rlci1zZXRzIiwKCSAiaHR0cDovL2phdmEuc3VuLmNvbS9qMnNlLzEuNS4wL2RvY3MvZ3VpZGUvaW50bC9lbmNvZGluZy5kb2MuaHRtbCIKCSBhbmQgImh0dHA6Ly9vc3Muc29mdHdhcmUuaWJtLmNvbS9jZ2ktYmluL2ljdS9jb252ZXhwP3M9QUxMIi4KCSogZ251L2phdmEvbmlvL2NoYXJzZXQvUHJvdmlkZXIuamF2YTogTWFkZSBjaGFyc2V0IGxvb2t1cAoJIGNhc2UtaW5zZW5zaXRpdmUgd2hpY2ggZml4ZXMgYnVnICMxMTc0MC4gCgoyMDA1LTAyLTAzICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBsaWJyYXJpZXMvamF2YWxpYi9nbnUvcmVnZXhwL1JFLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL2lvL09iamVjdFN0cmVhbUNsYXNzLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL2xhbmcvU2VjdXJpdHlNYW5hZ2VyLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL3NlY3VyaXR5L0FsbFBlcm1pc3Npb24uamF2YSwKCWxpYnJhcmllcy9qYXZhbGliL2phdmEvc2VjdXJpdHkvQmFzaWNQZXJtaXNzaW9uLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL3NlY3VyaXR5L1Blcm1pc3Npb25zLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhLAoJbGlicmFyaWVzL2phdmFsaWIvamF2YS91dGlsL0Fic3RyYWN0TGlzdC5qYXZhOgoJTWFkZSAnaW5uZXInIGNsYXNzZXMgcmVhbCBwdWJsaWMgc3RhdGljIGlubmVyIGNsYXNzZXMsCglhbmQgbWFkZSB0aGVtIGZpbmFsIHdoZXJlIHBvc3NpYmxlLCBvciByZW1vdmVkIHRoZW0gCgl3aGVyZSB1bnVzZWQuIAoKMjAwNS0wMi0wMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYwoJRml4IGluY2x1ZGVzIGZvciBjYWlybyAwLjMuMCBzbmFwcHNob3QuCgoyMDA1LTAyLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL0Nvbm5lY3Rpb24uamF2YSAoaXNfdHJ5aW5nKTogUmVtb3ZlZAoJZmllbGQuCgkoZ2V0KTogRG9uJ3QgdXNlIG9yIHNldCBpc190cnlpbmcuCgoyMDA1LTAyLTAyICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhIAoJKHNldCkgSW52YWxpZGF0ZSBhbGwgZmllbGRzIG9uIGZpcnN0IGNhbGwgdG8gc2V0KCkuCgoyMDA1LTAyLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiB2bS9yZWZlcmVuY2UvamF2YS9sYW5nL1ZNQ2xhc3NMb2FkZXIuamF2YTogUmVtb3ZlIFN5c3RlbUNsYXNzTG9hZGVyCglpbXBvcnQgc3RhdGVtZW50LgoKMjAwNS0wMi0wMiAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmEKCUxvdHMgb2YgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJKHJlYWRPYmplY3QoamF2YS5pby5PYmplY3RJbnB1dFN0cmVhbSkpOiBXcmFwcwoJSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGFzIHNwZWNpZmllZC4KCShjb21waWxlRm9ybWF0KFN0cmluZykpOiBVc2VzIHN0YW5kYXJkQ2hhcnMKCXJhdGhlciB0aGFuIHRoZSBsb2NhbCBwYXR0ZXJuIGNoYXJhY3RlcnMuCglUaHJvd3MgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIHJhdGhlciB0aGFuCglzdG9yaW5nIGEgLTEgZmllbGQuCgkodG9TdHJpbmcoKSk6IEV4dGVuZGVkIHRvIGluY2x1ZGUgYWxsIHZhcmlhYmxlcwoJaW4gYSBiZXR0ZXIgZm9ybWF0LgoJKHRyYW5zbGF0ZUxvY2FsaXplZFBhdHRlcm4oU3RyaW5nLCBTdHJpbmcsIFN0cmluZykpOgoJUmVuYW1lZCB0byBiZXR0ZXIgZGVmaW5lIHRoZSB1c2Ugb2YgdGhpcyBtZXRob2QuCgoyMDA1LTAyLTAyICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBnbnUvamF2YS9uZXQvR2V0U3lzdGVtUHJvcGVydHlBY3Rpb24uamF2YToKCVJlbW92ZWQuCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvRlRQVVJMQ29ubmVjdGlvbi5qYXZhOgoJVXNlIGdudS5qYXZhLnNlY3VyaXR5LmFjdGlvbi5HZXRQcm9wZXJ0eUFjdGlvbiBpbnN0ZWFkIAoJb2YgZ251LmphdmEubmV0LkdldFN5c3RlbVByb3BlcnR5QWN0aW9uLgoKMjAwNS0wMi0wMiAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIGdudS9qYXZhL2JlYW5zL2RlY29kZXIvR3Jvd2FibGVBcnJheUNvbnRleHQuamF2YTogRml4ZWQKCWFzc2lnbm1lbnQgYmVoYXZpb3IgYnkgdXNpbmcgamF2YS5sYW5nLnJlZmxlY3QuQXJyYXkuc2V0KCkKCWRpcmVjdGx5LgoKMjAwNS0wMi0wMSAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogZ251L2phdmEvYmVhbnMvRW1wdHlCZWFuSW5mby5qYXZhLAoJZ251L2phdmEvYmVhbnMvaW5mby9Db21wb25lbnRCZWFuSW5mby5qYXZhLAoJZ251L2phdmEvbGFuZy9TeXN0ZW1DbGFzc0xvYWRlci5qYXZhOgoJUmVtb3ZlZCB1bnVzZWQgZmlsZXMuCgoyMDA1LTAyLTAxICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCQoJKiBqYXZhL3V0aWwvR3JlZ29yaWFuQ2FsZW5kYXIuamF2YQoJKGNvbXB1dGVUaW1lKTogRml4ZWQgaGFuZGxpbmcgb2YgdGltZSB6b25lcy4KCjIwMDUtMDItMDEgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoJCgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhCgkoY2xlYXIpOiBTZXQgdmFsdWVzIHRvIEVwb2NoIGluc3RlYWQgb2YgemVyby4KCShzZXQpOiBTZXQgaXNTZXQgdG8gdGhlIHJlbGV2YW50IGZpZWxkIHBhdHRlcm4gaW5zdGVhZCBvZiBqdXN0IHRoZQoJZmllbGQuCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhCgkoZ2V0QnVuZGxlKTogUmVtb3ZlZC4KCShnZXREYXlPZlllYXIpOiBSZW1vdmVkLgoJKGdldEZpcnN0RGF5T2ZNb250aCk6IE5ldyBwcml2YXRlIG1ldGhvZC4KCShub25MZW5pZW5jeUNoZWNrKTogTmV3IHByaXZhdGUgbWV0aG9kLgoJKGNvbXB1dGVUaW1lKTogQ29ycmVjdCBoYW5kbGluZyBvZiBpbnN1ZmZpY2llbnQgZGF0YS4KCjIwMDUtMDItMDEgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL0NhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL0NhbGxiYWNrSGFuZGxlci5qYXZhLAoJamF2YXgvc2VjdXJpdHkvYXV0aC9jYWxsYmFjay9DaG9pY2VDYWxsYmFjay5qYXZhLAoJamF2YXgvc2VjdXJpdHkvYXV0aC9jYWxsYmFjay9Db25maXJtYXRpb25DYWxsYmFjay5qYXZhLAoJamF2YXgvc2VjdXJpdHkvYXV0aC9jYWxsYmFjay9MYW5ndWFnZUNhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL05hbWVDYWxsYmFjay5qYXZhLAoJamF2YXgvc2VjdXJpdHkvYXV0aC9jYWxsYmFjay9QYXNzd29yZENhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL1RleHRJbnB1dENhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL1RleHRPdXRwdXRDYWxsYmFjay5qYXZhLAoJamF2YXgvc2VjdXJpdHkvYXV0aC9jYWxsYmFjay9VbnN1cHBvcnRlZENhbGxiYWNrRXhjZXB0aW9uLmphdmE6CglSZW1vdmVkIENWUyB2ZXJzaW9uIHRhZ3MuCgkKMjAwNS0wMS0zMSAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGdudS9qYXZhL2xvY2FsZS9Mb2NhbGVIZWxwZXIuamF2YToKCU5ldyB1dGlsaXR5IGNsYXNzLgoJKGdldExvY2FsaXplZFN0cmluZyhqYXZhLnV0aWwuTG9jYWxlLAoJU3RyaW5nLCBTdHJpbmcsIGJvb2xlYW4sIGJvb2xlYW4pKToKCU1vcmUgZ2VuZXJpYyB2ZXJzaW9uIG9mIHdoYXQgd2FzCglqYXZhLnV0aWwuTG9jYWxlLmdldERpc3BsYXlTdHJpbmcsIG5vdwoJYXZhaWxhYmxlIHRvIGFsbCBjbGFzc2VzLgoJKiBnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb24uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FhX0VULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hbS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FtX0VULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2F6LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYmUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JuLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYnluLmphdmEKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ieW5fRVIuamF2YQoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2NhLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY3MuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jeS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RhLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9BVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0JFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGVfQ0guamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9MVS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2R2LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZHouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kel9CVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZWxfR1IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0FVLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQkUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9DQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0dCLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fSEsuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9JRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX01ULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fTlouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9QSC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1NHLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fVVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9aVy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19BUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0NMLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfQ08uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19FUy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX01YLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfUFIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ldC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2V1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZmEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mYV9BRi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZpLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZm8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyX0NBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfTFUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2dhX0lFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2V6LmphdmEKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nZXpfRVIuamF2YQoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2dlel9FVC5qYXZhCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ndS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2d2LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGF3LmphdmEKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oYXdfVVMuamF2YQoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2hlLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pZC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lzLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pdF9JVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2l1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25famEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2trLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tuLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa28uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rb2suamF2YQoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tva19JTi5qYXZhCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa3cuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9reS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2xvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbHQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sdi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21rLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbWwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21uX01OLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tcy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21zX0JOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9uYi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25sLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbm4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9vbS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX29tX0VULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fb3IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wdC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3B0X1BULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcm8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ydS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NhLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2lkLmphdmEKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zaWRfRVQuamF2YQoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NrLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zby5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NvX0RKLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc29fRVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zb19TTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NxLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zcl9MYXRuLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3YuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zdy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N5ci5qYXZhCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3lyX1NZLmphdmEKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90YS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RlLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGguamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90aS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RpX0VSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGlfRVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90aWcuamF2YQoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RpZ19FUi5qYXZhCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdHIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90dC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3VrLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdXIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl91ei5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3V6X0FGLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdmkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl93YWwuamF2YQoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3dhbF9FVC5qYXZhCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femguamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9IS19IYW50LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfSGFudC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poX01PX0hhbnQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9TR19IYW5zLmphdmEsCglMb2NhbGVzIHVwZGF0ZWQgd2l0aCByZS1vcmRlcmVkIHpvbmUgc3RyaW5ncywKCW5ldyBzZXBhcmF0b3IgKCd8JyByZXBsYWNlZCB3aXRoIFx1MDBBNikgYW5kIHVwZGF0ZWQKCWRhdGEgZnJvbSB0aGUgbGF0ZXN0IENMRFIgQ1ZTIChpbmNsdWRpbmcgMTYgbmV3Cglsb2NhbGVzKS4KCSogamF2YS91dGlsL0N1cnJlbmN5LmphdmE6CgkgKGN1cnJlbmN5U3ltYm9sKTogUmVtb3ZlZC4KCShnZXRDdXJyZW5jeUNvZGUoKSk6IFJld3JpdHRlbiB0byBjYWxsCglnZXRDdXJyZW5jeUNvZGUoTG9jYWxlLmdldERlZmF1bHQoKSkuCgkoZ2V0Q3VycmVuY3lDb2RlKGphdmEudXRpbC5Mb2NhbGUpKTogUmV3cml0dGVuIHRvCglsb29rdXAgbG9jYWxpemVkIGN1cnJlbmN5IHN5bWJvbCBmcm9tIG91ciBsb2NhbGUgZGF0YS4KCSogamF2YS91dGlsL0xvY2FsZS5qYXZhOgoJKGdldERpc3BsYXlMYW5ndWFnZShqYXZhLnV0aWwuTG9jYWxlKSk6IE5vdyBjYWxscwoJbWV0aG9kIGluIExvY2FsZUhlbHBlci4KCShnZXREaXNwbGF5Q291bnRyeShqYXZhLnV0aWwuTG9jYWxlKSk6IExpa2V3aXNlLgoJKGdldERpc3BsYXlWYXJpYW50KGphdmEudXRpbC5Mb2NhbGUpKTogTGlrZXdpc2UuCgkoZ2V0RGlzcGxheVN0cmluZygpKTogUmV3cml0dGVuIGluIExvY2FsZUhlbHBlci4KCQoyMDA1LTAxLTI5ICBRdWVudGluIEFuY2lhdXggIDxxdWVudGluLmFuY2lhdXhAYWR2YWx2YXMuYmU+CgoJKiBnbnUvY2xhc3NwYXRoL1N5c3RlbVByb3BlcnRpZXMuamF2YSAoc3RhdGljKTogQWRkIGFsbCBhbGlhc2VzCglmb3IgVVRGOCwgVVRGMTYgYW5kIFVURjMyIChMaXR0bGUgYW5kIEJpZyBFbmRpYW4pLCBVUy1BU0NJSSwKCWlzby04ODU5LVsxLTldLCBpc28tODg1OS0xMywgaXNvLTg4NTktMTUsIGNwLTEyNTAsIGNwLTEyNTIgYW5kCgljcDEwNDcgdG8gZGVmYXVsdFByb3BlcnRpZXMuCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyODg1OV8xMy5qYXZhOiBOZXcgY2xhc3MuCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyODg1OV8xNS5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXI4ODU5XzYuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyODg1OV83LmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlcjg4NTlfOC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXI4ODU5XzkuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyQVNDSUkuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyQ3AxMDQ3LmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlckVCQ0RJQ19YTUxfVVMuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyVVRGMTZCRS5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXJVVEYxNkxFLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9kZWNvZGUvRGVjb2RlclVURjMyQkUuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2RlY29kZS9EZWNvZGVyVVRGMzJMRS5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXJXaW5kb3dzMTI1MC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZGVjb2RlL0RlY29kZXJXaW5kb3dzMTI1Mi5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXI4ODU5XzEzLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2Rlcjg4NTlfMTUuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV82LmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2Rlcjg4NTlfNy5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXI4ODU5XzguamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyODg1OV85LmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlckFTQ0lJLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlckNwMTA0Ny5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXJFQkNESUNfWE1MX1VTLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlclVURjE2QkUuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyVVRGMTZMRS5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXJVVEYzMkJFLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9pby9lbmNvZGUvRW5jb2RlclVURjMyTEUuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyV2luZG93czEyNTAuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2lvL2VuY29kZS9FbmNvZGVyV2luZG93czEyNTIuamF2YTogTGlrZXdpc2UuCgoyMDA1LTAxLTI5ICBTdGV2ZW4gQXVnYXJ0ICA8YXVnYXJ0QHdhdHNvbi5pYm0uY29tPgoKCSogdm0vcmVmZXJlbmNlL2dudS9jbGFzc3BhdGgvVk1TdGFja1dhbGtlci5qYXZhOiBEb2MgZml4LgoKMjAwNS0wMS0yOSAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhOgoJKHBhcnNlKTogU2V0IHRoZSBEU1Qgb2Zmc2V0IHRvIDAgd2hlbiBwYXJzaW5nCglHTVQgb2Zmc2V0IHRpbWV6b25lcy4KCjIwMDUtMDEtMjggIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvRG9tTm9kZTogQ29ycmVjdCBpbXBsZW1lbnRhdGlvbiBvZiBnZXRFbGVtZW50c0J5VGFnTmFtZQoJZXRjIHRvIHJldHVybiBhIE5vZGVMaXN0IHRoYXQgcmV0dXJucyBjb25zaXN0ZW50IHJlc3VsdHMgZnJvbSBpdGVtCglhbmQgZ2V0TGVuZ3RoIG1ldGhvZHMuCgoyMDA1LTAxLTI4ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvamFyL0F0dHJpYnV0ZXMuamF2YSAoQXR0cmlidXRlcy5OYW1lKTogQWRkIGRvY3VtZW50YXRpb24KCXRvIGRlc2NyaWJlIGF0dHJpYnV0ZXMgd2l0aG91dCBhIGNvbnN0YW50IGZpZWxkIHZhbHVlIGluIHRoaXMgY2xhc3MuCgoyMDA1LTAxLTI4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YQoJKGdldEZvbnRNZXRyaWNzKTogUmVtb3ZlZC4KCjIwMDUtMDEtMjggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YQoJKHBhcmFtU3RyaW5nKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShwYXJhbVN0cmluZyk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShwYXJhbVN0cmluZyk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhCgkocGFyYW1TdHJpbmcpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvSk1lbnVCYXIuamF2YQoJKHBhcmFtU3RyaW5nKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhCgkocGFyYW1TdHJpbmcpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhCgkocGFyYW1TdHJpbmcpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMDEtMjggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhCgkodWlDbGFzc0lEKTogUmVtb3ZlZC4KCShKTWVudSk6IFNldCBpbnZva2VyIG9uIHBvcHVwIG1lbnUuCgkoZ2V0VUlDbGFzc0lEKTogUmV0dXJuIGlkIGRpcmVjdGx5LgoJKGdldEl0ZW1Db3VudCk6IFNpbXBseSByZXR1cm4gZ2V0TWVudUNvbXBvbmVudENvdW50KCkuCglGaXhlZCBqYXZhZG9jLgoJKGlzVG9wTGV2ZWxNZW51KTogU2ltcGxpZmllZC4KCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmEKCSh1aUNsYXNzSUQpOiBSZW1vdmVkLgoJKGdldFVJQ2xhc3NJRCk6IFJldHVybiBpZCBkaXJlY3RseS4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhCgkodWlDbGFzc0lEKTogUmVtb3ZlZC4KCShKUG9wdXBNZW51KTogQWx3YXlzIGluaXRpYWxpemUgY29ycmVjdGx5LgoJKGdldFN1YkVsZW1lbnRzKTogT25seSByZXR1cm4gY29tcG9uZW50cyBpbXBsZW1lbnRpbmcgTWVudUVsZW1lbnQKCWludGVyZmFjZS4KCShIZWF2eVdlaWdodFBvcHVwLmhpZGUpOiBSZW1vdmVkLgoKMjAwNS0wMS0yOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC9qYXIvQXR0cmlidXRlcy5qYXZhCgkoQ1JFQVRFRF9CWSwgSkFWQV9CRUFOLCBNQUdJQyk6IFJlbW92ZWQuCgoyMDA1LTAxLTI4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvaW1hZ2UvUmVwbGljYXRlU2NhbGVGaWx0ZXIuamF2YQoJKHJlcGxpY2F0ZVBpeGVscyk6IE1hZGUgcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0RlZmF1bHRSR0JDaG9vc2VyUGFuZWwuamF2YQoJKERlZmF1bHRSR0JDaG9vc2VyUGFuZWwpOiBNYWRlIHBhY2thZ2UgcHJpdmF0ZS4KCSogamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0RlZmF1bHRTd2F0Y2hDaG9vc2VyUGFuZWwuamF2YQoJKFJlY2VudFN3YXRjaFBhbmVsKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL2V2ZW50L01vdXNlSW5wdXRBZGFwdGVyLmphdmE6IFJlZm9ybWF0dGVkLgoJKE1vdXNlSW5wdXRBZGFwdGVyKTogTWFkZSBhYnN0cmFjdC4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0TXV0YWJsZVRyZWVOb2RlLmphdmEKCShyYW5kb20pOiBSZW1vdmVkLgoJKGdyb3dUcmVlKTogTGlrZXdpc2UuCgoyMDA1LTAxLTI3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmEgKGdldExlbmlhckRheSk6IAoJTWFkZSBwcml2YXRlLgoKMjAwNS0wMS0yNyAgUGF0cmlrIFJlYWxpICA8cmVhbGlAYWNtLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9mYXEvZmFxLndtbDogdHlwZSBpbiBmYXEgY29kZSBjb3JyZWN0ZWQKCjIwMDUtMDEtMjcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9kbmQvRHJvcFRhcmdldC5qYXZhIChhZGREcm9wVGFyZ2V0TGlzdGVuZXIpOgoJQ2xhcmlmaWVkIGNvbW1lbnRzLgoKMjAwNS0wMS0yNyAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L2RuZC9Ecm9wVGFyZ2V0LmphdmEKCShhZGREcm9wVGFyZ2V0TGlzdGVuZXIpOiBEZXNwaXRlIGRvY3VtZW50YXRpb24sIGRvIG5vdCB0aHJvdy4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhOiBTZXQgYSBkZWZhdWx0IERyb3BUYXJnZXQuCgoyMDA1LTAxLTI3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS91dGlsL3ppcC9aaXBGaWxlLmphdmEKCShaSVBfTUFHSUMpOiBOZXcgY29uc3RhbnQuCgkoWmlwRmlsZSk6IENoZWNrIGlmIGdpdmVuIGZpbGUgaXMgcmVhbGx5IGEgemlwIGZpbGUuCgkoY2hlY2taaXBGaWxlKTogTmV3IG1ldGhvZC4KCShjaGVja0Nsb3NlZCk6IE5ldyBtZXRob2QuCgkoZW50cmllcyk6IENoZWNrIGlmIGZpbGUgd2FzIGNsb3NlZC4gUmV0dXJuIGFuIGVtcHR5IGVudW1lcmF0aW9uIGluCgllcnJvciBjYXNlLgoJKGdldEVudHJpZXMpOiBVc2UgY2hlY2tDbG9zZWQoKS4KCShnZXRFbnRyeSk6IENoZWNrIGlmIGZpbGUgd2FzIGNsb3NlZC4KCShnZXRJbnB1dFN0cmVhbSk6IExpa2V3aXNlLgoJKHNpemUpOiBMaWtld2lzZS4KCjIwMDUtMDEtMjcgIFBhdHJpayBSZWFsaSAgPHJlYWxpQGFjbS5vcmc+CgoJKiBkb2Mvd3d3LmdudS5vcmcvZmFxL2ZhcS53bWw6IGN1cnJlbnQgY29tbWFuZCB0byBnZW5lcmF0ZSBkb2MKCWFkZGVkIHRvIHRoZSBmYXEKCjIwMDUtMDEtMjcgIFBhdHJpayBSZWFsaSAgPHJlYWxpQGFjbS5vcmc+CgoJKiBkb2Mvd3d3LmdudS5vcmcvZG9jcy9kb2NzLndtbDogbGluayB0byBnamRvYy1nZW5lcmF0ZWQgZG9jcwoKMjAwNS0wMS0yNyAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6CgkoZ2V0QWNjZXNzaWJsZUF0KGphdmEuYXd0LkNvbXBvbmVudCwgamF2YS5hd3QuUG9pbnQpKToKCUltcGxlbWVudGVkIGFuZCBkb2N1bWVudGVkLgoJKGdldEFjY2Vzc2libGVDaGlsZChqYXZhLmF3dC5Db21wb25lbnQsIGludCkpOiBMaWtld2lzZS4KCShnZXRBY2Nlc3NpYmxlQ2hpbGRyZW5Db3VudChqYXZhLmF3dC5Db21wb25lbnQpKTogTGlrZXdpc2UuCgkoZ2V0QWNjZXNzaWJsZUluZGV4SW5QYXJlbnQoamF2YS5hd3QuQ29tcG9uZW50KSk6IExpa2V3aXNlLgoJKGdldEFjY2Vzc2libGVTdGF0ZVNldChqYXZhLmF3dC5Db21wb25lbnQpKTogTGlrZXdpc2UuCgkKMjAwNS0wMS0yNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QWN0aW9uLmphdmEKCShFTkFCTEVEX1BST1BFUlRZKTogUmVtb3ZlZC4KCShzZXRFbmFibGVkKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKGNyZWF0ZUFjdGlvblByb3BlcnR5Q2hhbmdlTGlzdGVuZXIucHJvcGVydHlDaGFuZ2UpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkNvbWJvQm94LmphdmEKCShERUZBVUxUX01BWElNVU1fUk9XX0NPVU5UKTogTWFkZSBwcml2YXRlLgoJKEVESVRBQkxFX0NIQU5HRURfUFJPUEVSVFkpOiBSZW1vdmVkLgoJKE1BWElNVU1fUk9XX0NPVU5UX0NIQU5HRURfUFJPUEVSVFkpOkxpa2V3aXNlLgoJKEVOQUJMRURfQ0hBTkdFRF9QUk9QRVJUWSk6TGlrZXdpc2UuCgkoUkVOREVSRVJfQ0hBTkdFRF9QUk9QRVJUWSk6TGlrZXdpc2UuCgkoRURJVE9SX0NIQU5HRURfUFJPUEVSVFkpOkxpa2V3aXNlLgoJKE1PREVMX0NIQU5HRURfUFJPUEVSVFkpOkxpa2V3aXNlLgoJKHVpQ2xhc3NJRCk6TGlrZXdpc2UuCgkoZ2V0VUlDbGFzc0lEKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRNb2RlbCk6TGlrZXdpc2UuCgkoc2V0RWRpdGFibGUpOkxpa2V3aXNlLgoJKHNldE1heGltdW1Sb3dDb3VudCk6TGlrZXdpc2UuCgkoc2V0UmVuZGVyZXIpOkxpa2V3aXNlLgoJKHNldEVkaXRvcik6TGlrZXdpc2UuCgkoc2V0RW5hYmxlZCk6TGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhCgkoRElTQUJMRURfSUNPTl9DSEFOR0VEX1BST1BFUlRZKTogUmVtb3ZlZC4KCShESVNQTEFZRURfTU5FTU9OSUNfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKERJU1BMQVlFRF9NTkVNT05JQ19JTkRFWF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoSE9SSVpPTlRBTF9BTElHTk1FTlRfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKEhPUklaT05UQUxfVEVYVF9QT1NJVElPTl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoSUNPTl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoSUNPTl9URVhUX0dBUF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoTEFCRUxfRk9SX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShURVhUX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShWRVJUSUNBTF9BTElHTk1FTlRfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFZFUlRJQ0FMX1RFWFRfUE9TSVRJT05fQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKHNldFRleHQpOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKHNldEljb24pOiBMaWtld2lzZS4KCShzZXREaXNhYmxlZEljb24pOiBMaWtld2lzZS4KCShzZXREaXNwbGF5ZWRNbmVtb25pYyk6IExpa2V3aXNlLgoJKHNldEljb25UZXh0R2FwKTogTGlrZXdpc2UuCgkoc2V0VmVydGljYWxBbGlnbm1lbnQpOiBMaWtld2lzZS4KCShzZXRIb3Jpem9udGFsQWxpZ25tZW50KTogTGlrZXdpc2UuCgkoc2V0VmVydGljYWxUZXh0UG9zaXRpb24pOiBMaWtld2lzZS4KCShzZXRIb3Jpem9udGFsVGV4dFBvc2l0aW9uKTogTGlrZXdpc2UuCgkoc2V0TGFiZWxGb3IpOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJRmlyZSBwcm9wZXJ0eSBjaGFuZ2UgZXZlbnQgYWZ0ZXIgcHJvcGVydHkgZ290IGNoYW5nZWQuCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEKCShDRUxMX1JFTkRFUkVSX1BST1BFUlRZX0NIQU5HRUQpOiBMaWtld2lzZS4KCShGSVhFRF9DRUxMX0hFSUdIVF9QUk9QRVJUWV9DSEFOR0VEKTogTGlrZXdpc2UuCgkoRklYRURfQ0VMTF9XSURUSF9QUk9QRVJUWV9DSEFOR0VEKTogTGlrZXdpc2UuCgkoTEFZT1VUX09SSUVOVEFUSU9OX1BST1BFUlRZX0NIQU5HRUQpOiBMaWtld2lzZS4KCShNT0RFTF9QUk9QRVJUWV9DSEFOR0VEKTogTGlrZXdpc2UuCgkoUFJPVE9UWVBFX0NFTExfVkFMVUVfUFJPUEVSVFlfQ0hBTkdFRCk6IExpa2V3aXNlLgoJKFNFTEVDVElPTl9CQUNLR1JPVU5EX1BST1BFUlRZX0NIQU5HRUQpOiBMaWtld2lzZS4KCShTRUxFQ1RJT05fRk9SRUdST1VORF9QUk9QRVJUWV9DSEFOR0VEKTogTGlrZXdpc2UuCgkoU0VMRUNUSU9OX01PREVMX1BST1BFUlRZX0NIQU5HRUQpOiBMaWtld2lzZS4KCShzZXRGaXhlZENlbGxXaWR0aCk6IFJlaW1wbGVtZW50ZWQuCgkoc2V0Rml4ZWRDZWxsSGVpZ2h0KTogRXhpdCBpZiBuZXcgdmFsdWUgaXMgaWRlbnRpY2FsLgoJUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRTZWxlY3Rpb25CYWNrZ3JvdW5kKTogTGlrZXdpc2UuCgkoc2V0U2VsZWN0aW9uRm9yZWdyb3VuZCk6IExpa2V3aXNlLgoJKHNldFByb3RvdHlwZUNlbGxWYWx1ZSk6IExpa2V3aXNlLgoJKHNldENlbGxSZW5kZXJlcik6IFJlcGxhY2VkIGNvbnN0YW50IHdpdGggcmVhbCBzdHJpbmcuCgkoc2V0TW9kZWwpOiBMaWtld2lzZS4KCShzZXRTZWxlY3Rpb25Nb2RlbCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KTWVudUJhci5qYXZhCgkoQk9SREVSX1BBSU5URURfQ0hBTkdFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoTU9ERUxfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKE1BUkdJTl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoc2V0Qm9yZGVyUGFpbnRlZCk6IFJlaW1wbGVtZW50ZWQuCgkoc2V0TWFyZ2luKTogTGlrZXdpc2UuCgkoc2V0U2VsZWN0aW9uTW9kZWwpOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEKCShMQUJFTF9DSEFOR0VEX1BST1BFUlRZKTogUmVtb3ZlZC4KCShWSVNJQkxFX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShib3JkZXJQYWludGVkKTogTGlrZXdpc2UuCgkoc2V0TGFiZWwpOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKHNldFZpc2libGUpOiBFeGl0IGlmIG5ldyB2YWx1ZSBpcyBpZGVudGljYWwuCglSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKiBqYXZheC9zd2luZy9KUHJvZ3Jlc3NCYXIuamF2YQoJKEJPUkRFUl9QQUlOVEVEX0NIQU5HRURfUFJPUEVSVFkpOiBSZW1vdmVkLgoJKE9SSUVOVEFUSU9OX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShTVFJJTkdfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFNUUklOR19QQUlOVEVEX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShJTkRFVEVSTUlOQVRFX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShzZXRPcmllbnRhdGlvbik6IFJlcGxhY2VkIGNvbnN0YW50IHdpdGggcmVhbCBzdHJpbmcuCgkoc2V0U3RyaW5nUGFpbnRlZCk6IExpa2V3aXNlLgoJKHNldFN0cmluZyk6IExpa2V3aXNlLgoJKHNldEJvcmRlclBhaW50ZWQpOiBMaWtld2lzZS4KCShzZXRJbmRldGVybWluYXRlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pTY3JvbGxCYXIuamF2YQoJKEJMT0NLX0lOQ1JFTUVOVF9DSEFOR0VEX1BST1BFUlRZKTogUmVtb3ZlZC4KCShNT0RFTF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoT1JJRU5UQVRJT05fQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKHNldE9yaWVudGF0aW9uKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRNb2RlbCk6IExpa2V3aXNlLgoJKHNldFVuaXRJbmNyZW1lbnQpOiBMaWtld2lzZS4KCShzZXRCbG9ja0luY3JlbWVudCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhCgkoQ09MVU1OX0hFQURFUl9DSEFOR0VEX1BST1BFUlRZKTogUmVtb3ZlZC4KCShDT01QT05FTlRfT1JJRU5UQVRJT05fQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKEhPUklaT05UQUxfU0NST0xMQkFSX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShIT1JJWk9OVEFMX1NDUk9MTEJBUl9QT0xJQ1lfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKExBWU9VVF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoUk9XX0hFQURFUl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVkVSVElDQUxfU0NST0xMQkFSX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShWRVJUSUNBTF9TQ1JPTExCQVJfUE9MSUNZX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShWSUVXUE9SVF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVklFV1BPUlRfQk9SREVSX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShXSEVFTF9TQ1JPTExJTkdfRU5BQkxFRF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoc2V0Q29tcG9uZW50T3JpZW50YXRpb24pOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKHNldENvbHVtbkhlYWRlcik6IExpa2V3aXNlLgoJKHNldEhvcml6b250YWxTY3JvbGxCYXIpOiBMaWtld2lzZS4KCShzZXRIb3Jpem9udGFsU2Nyb2xsQmFyUG9saWN5KTogTGlrZXdpc2UuCgkoc2V0Um93SGVhZGVyKTogTGlrZXdpc2UuCgkoc2V0VmVydGljYWxTY3JvbGxCYXIpOiBMaWtld2lzZS4KCShzZXRWZXJ0aWNhbFNjcm9sbEJhclBvbGljeSk6IExpa2V3aXNlLgoJKHNldFdoZWVsU2Nyb2xsaW5nRW5hYmxlZCk6IExpa2V3aXNlLgoJKHNldFZpZXdwb3J0KTogTGlrZXdpc2UuCgkoc2V0Vmlld3BvcnRCb3JkZXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNsaWRlci5qYXZhCgkoSU5WRVJURURfQ0hBTkdFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoTEFCRUxfVEFCTEVfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKE1BSk9SX1RJQ0tfU1BBQ0lOR19DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoTUlOT1JfVElDS19TUEFDSU5HX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShNT0RFTF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoT1JJRU5UQVRJT05fQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFBBSU5UX0xBQkVMU19DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoUEFJTlRfVElDS1NfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKHNldE1vZGVsKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRPcmllbnRhdGlvbik6IExpa2V3aXNlLgoJKHNldExhYmVsVGFibGUpOiBMaWtld2lzZS4KCShzZXRJbnZlcnRlZCk6IExpa2V3aXNlLgoJKHNldE1ham9yVGlja1NwYWNpbmcpOiBMaWtld2lzZS4KCShzZXRNaW5vclRpY2tTcGFjaW5nKTogTGlrZXdpc2UuCgkoc2V0UGFpbnRUaWNrcyk6IExpa2V3aXNlLgoJKHNldFBhaW50TGFiZWxzKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmEKCShNT0RFTF9DSEFOR0VEX1BST1BFUlRZKTogUmVtb3ZlZC4KCShUQUJfUExBQ0VNRU5UX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShUQUJfTEFZT1VUX1BPTElDWV9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoc2V0TW9kZWwpOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKHNldFRhYlBsYWNlbWVudCk6IExpa2V3aXNlLgoJKHNldFRhYkxheW91dFBvbGljeSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVG9vbEJhci5qYXZhCgkoT1JJRU5UQVRJT05fQ0hBTkdFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoRkxPQVRBQkxFX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShCT1JERVJfUEFJTlRFRF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoTUFSR0lOX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShST0xMT1ZFUl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoc2V0Um9sbG92ZXIpOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKHNldE1hcmdpbik6IExpa2V3aXNlLgoJKHNldEJvcmRlclBhaW50ZWQpOiBMaWtld2lzZS4KCShzZXRGbG9hdGFibGUpOiBMaWtld2lzZS4KCShzZXRPcmllbnRhdGlvbik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib1BvcHVwLmphdmEKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVCYXJVSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQcm9ncmVzc0JhclVJLmphdmEKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YQoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IExpa2V3aXNlLgoKMjAwNS0wMS0yNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhCgkoY2hhbmdlU3RhdGUpOiBNYWRlIHByaXZhdGUuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHREZXNrdG9wTWFuYWdlci5qYXZhCgkoc2V0V2FzSWNvbik6IEZpeGVkIHNlY29uZCBhcmd1bWVudCB0byBiZSBqYXZhLmxhbmcuQm9vbGVhbi4KCSogamF2YXgvc3dpbmcvSkxheWVyZWRQYW5lLmphdmEKCShsYXllclRvUmFuZ2UpOiBNYWRlIHByaXZhdGUuCgkoaW5jckxheWVyKTogTGlrZXdpc2UuCgkoZGVjckxheWVyKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoZHJhZ0VuYWJsZWQpOiBMaWtld2lzZS4KCShwcmVmZXJyZWRWaWV3cG9ydFNpemUpOiBSZW5hbWVkIGZyb20gcHJlZmVycmVkU2Nyb2xsYWJsZVZpZXdwb3J0U2l6ZS4KCSogamF2YXgvc3dpbmcvS2V5U3Ryb2tlLmphdmEKCShLZXlzdHJva2UpOiBNYWRlIHByaXZhdGUuCgkqIGphdmF4L3N3aW5nL1RyYW5zZmVySGFuZGxlci5qYXZhCgkoQ09NTUFORF9DT1BZKTogTGlrZXdpc2UuCgkoQ09NTUFORF9DVVQpOiBMaWtld2lzZS4KCShDT01NQU5EX1BBU1RFKTogTGlrZXdpc2UuCgoyMDA1LTAxLTI2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRleHRGaWVsZC5qYXZhCgkocG9zdEFjdGlvbkV2ZW50KTogVXNlIHRleHQgaW4gZmllbGQgd2hlbiBhY3Rpb25Db21tYW5kIGlzIG51bGwuCgkoZ2V0QWN0aW9uQ29tbWFuZCk6IFJlbW92ZWQuCgoyMDA1LTAxLTI2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RTZXQuamF2YTogUmVtb3ZlZC4KCjIwMDUtMDEtMjYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YQoJKEFjY2Vzc2libGVXaW5kb3cuZ2V0QWNjZXNzaWJsZVN0YXRlU2V0KTogRml4ZWQgbWV0aG9kIG5hbWUuCgkqIGphdmEvYXd0L2RuZC9EbkRDb25zdGFudHMuamF2YQoJKERuRENvbnN0YW50cyk6IE5ldyBwcml2YXRlIGNvbnN0cnVjdG9yLgoKMjAwNS0wMS0yNSAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhOgoJKHBhcnNlKTogVXNlIG9mZnNldCB0byBzZXQgWk9ORV9PRkZTRVQKCXJhdGhlciB0aGFuIHRoZSBEU1RfT0ZGU0VULCBzbyB0aGF0CglHTVQgb2Zmc2V0IHRpbWV6b25lcyBjaGFuZ2UgdGhlIHJpZ2h0CglvbmUuCgkKMjAwNS0wMS0yNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDZWxsUmVuZGVyZXIuamF2YTogUmVtb3ZlZC4KCjIwMDUtMDEtMjUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhCgkoZmlyZUl0ZW1TdGF0ZUNoYW5nZWQpOiBNYWRlIHByb3RlY3RlZC4KCShmaXJlQWN0aW9uUGVyZm9ybWVkKTogTGlrZXdpc2UuCgkoZmlyZVN0YXRlQ2hhbmdlZCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0QnV0dG9uTW9kZWwuamF2YQoJKGZpcmVJdGVtU3RhdGVDaGFuZ2VkKTogTGlrZXdpc2UuCgkoZmlyZUFjdGlvblBlcmZvcm1lZCk6IExpa2V3aXNlLgoJKGZpcmVTdGF0ZUNoYW5nZWQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkFwcGxldC5qYXZhCgkoSkFwcGxldCk6IFJlbW92ZWQuCgkoZnJhbWVJbml0KTogTGlrZXdpc2UuCgkoc2V0Um9vdFBhbmUpOiBNYWRlIHByb3RlY3RlZC4KCShjcmVhdGVSb290UGFuZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShnZXRDbGllbnRQcm9wZXJ0eSk6IExpa2V3aXNlLgoJKHB1dENsaWVudFByb3BlcnR5KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pFZGl0b3JQYW5lLmphdmEKCShnZXRDb250ZW50VHlwZSk6IExpa2V3aXNlLgoJKHNldENvbnRlbnRUeXBlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pGcmFtZS5qYXZhCgkoc2V0Um9vdFBhbmUpOiBMaWtld2lzZS4KCShjcmVhdGVSb290UGFuZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KSW50ZXJuYWxGcmFtZS5qYXZhCgkoZ2V0Rm9jdXNDeWNsZVJvb3RBbmNlc3Rvcik6IE1hZGUgZmluYWwuIEFkZGVkIEBzaW5jZSB0YWcuCgkoaXNGb2N1c0N5Y2xlUm9vdCk6IExpa2V3aXNlLgoJKGdldFdhcm5pbmdTdHJpbmcpOiBNYWRlIGZpbmFsLgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsQmFyLmphdmEKCShjaGFuZ2VMaXN0ZW5lcik6IFJlbW92ZWQuCgkoY2hhbmdlRXZlbnQpOiBMaWtld2lzZS4KCShjcmVhdGVDaGFuZ2VMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGZpcmVTdGF0ZUNoYW5nZWQpOiBMaWtld2lzZS4KCShhZGRDaGFuZ2VMaXN0ZW5lcik6IExpa2V3aXNlLgoJKHJlbW92ZUNoYW5nZUxpc3RlbmVyKTogTGlrZXdpc2UuCgkoZ2V0Q2hhbmdlTGlzdGVuZXJzKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pTY3JvbGxQYW5lLmphdmEKCShjcmVhdGVWaWV3cG9ydCk6IE1hZGUgcHJvdGVjdGVkLgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YQoJKGFkZEltcGwpOiBMaWtld2lzZS4KCShzZXRCb3JkZXIpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9KV2luZG93LmphdmEKCShzZXRSb290UGFuZSk6IE1hZGUgcHJvdGVjdGVkLgoJKGNyZWF0ZVJvb3RQYW5lKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25VSS5qYXZhCgkoaW5zdGFsbExpc3RlbmVycyk6IExpa2V3aXNlLgoJKHVuaW5zdGFsbExpc3RlbmVycyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUHJvZ3Jlc3NCYXJVSS5qYXZhCgkoaW5jcmVtZW50QW5pbWF0aW9uSW5kZXgpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhCgkoY3JlYXRlTGF5b3V0TWFuYWdlcik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90YWJsZS9EZWZhdWx0VGFibGVDZWxsUmVuZGVyZXIuamF2YQoJKGZpcmVQcm9wZXJ0eUNoYW5nZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90YWJsZS9KVGFibGVIZWFkZXIuamF2YQoJKEFjY2Vzc2libGVKVGFibGVIZWFkZXJFbnRyeS5BY2Nlc3NpYmxlSlRhYmxlSGVhZGVyRW50cnkpOgoJTmV3IGNvbnN0cnVjdG9yLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluRG9jdW1lbnQuamF2YQoJKHJlaW5kZXgpOiBNYWRlIHByaXZhdGUuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEKCShkcmF3TGluZSk6IE1hZGUgcHJvdGVjdGVkLgoJKGdldFRhYlNpemUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9WaWV3LmphdmEKCShzZXRTaXplKTogUmVtb3ZlZC4KCShwcmVmZXJlbmNlQ2hhbmdlZCk6IE5ldyBtZXRob2QuCgkoZ2V0QnJlYWtXZWlnaHQpOiBMaWtld2lzZS4KCShicmVha1ZpZXcpOiBMaWtld2lzZS4KCShnZXRWaWV3SW5kZXgpOiBMaWtld2lzZS4KCjIwMDUtMDEtMjQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhCgkoU2Nyb2xsQmFyKTogTWFkZSBjbGFzcyBwcm90ZWN0ZWQuCgkqIGphdmF4L3N3aW5nL0pTcGlubmVyLmphdmEKCShKU3Bpbm5lcik6IEFkZGVkIEBzaW5jZSB0YWcuCgkobGlzdGVuZXJMaXN0KTogUmVtb3ZlZC4KCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShzZXRWYWx1ZUF0KTogTmV3IG1ldGhvZC4KCShnZXRDb2x1bW4pOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSldpbmRvdy5qYXZhCgkocm9vdFBhbmVDaGVja2luZ0VuYWJsZWQpOiBSZW5hbWVkIGZyb20gY2hlY2tpbmcuCgoyMDA1LTAxLTI0ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoUm9vdFZpZXcubW9kZWxUb1ZpZXcpOiBNYWRlIGl0IHB1YmxpYyBhbmQgcmV0dXJuIGEgamF2YS5hd3QuU2hhcGUuCglIYW5kbGUgbnVsbCBzdWJ2aWV3LgoJKHVuaW5zdGFsbCk6IFNldCB0ZXh0Q29tcG9uZW50IHRvIG51bGwgd2hlbiBpdHMgbm90IHBvc3NpYmxlIHVzZWQKCWFueW1vcmUuCgkqIGphdmF4L3N3aW5nL3RleHQvVmlldy5qYXZhCgkoc2V0UGFyZW50KTogVXNlIGJldHRlciBhcmd1bWVudCBuYW1lLgoJKGdldENvbnRhaW5lcik6IEdldCBwYXJlbnQgdmlhIGdldFBhcmVudCgpLgoJKGdldFZpZXdGYWN0b3J5KTogTGlrZXdpc2UuCgkoZ2V0QXR0cmlidXRlcyk6IEdldCBlbGVtZW50IHZpYSBnZXRFbGVtZW50KCkuCgkoZ2V0U3RhcnRPZmZzZXQpOiBMaWtld2lzZS4KCShnZXRFbmRPZmZzZXQpOiBMaWtld2lzZS4KCShnZXRSZXNpemVXZWlnaHQpOiBOZXcgbWV0aG9kLgoJKGdldE1heGltdW1TcGFuKTogTGlrZXdpc2UuCgkoZ2V0TWluaW11bVNwYW4pOiBMaWtld2lzZS4KCShzZXRTaXplKTogTGlrZXdpc2UuCgkoZ2V0R3JhcGhpY3MpOiBMaWtld2lzZS4KCjIwMDUtMDEtMjQgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgkgICAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0xheW91dEZvY3VzVHJhdmVyc2FsUG9saWN5LmphdmEsCglqYXZheC9zd2luZy9Tb3J0aW5nRm9jdXNUcmF2ZXJzYWxQb2xpY3kuamF2YToKCU5ldyBjbGFzc2VzLgoKMjAwNS0wMS0yMyAgU3ZlbiBkZSBNYXJvdGh5IDxzdmVuQHBoeXN0by5zZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmE6CglSZXZlcnRlZCB0byBwcmV2aW91cyB2ZXJzaW9uLCBhZnRlciBhIG1pc3Rha2UgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMDUtMDEtMjMgIFN2ZW4gZGUgTWFyb3RoeSA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YTogSW52YWxpZGF0ZSBFUkEgZmllbGQgb24gc2V0dGluZyB0aGUgWUVBUi4KCSogamF2YS91dGlsL1NpbXBsZVRpbWVab25lLmphdmE6IAoJKGdldERheXNJbk1vbnRoKTogUmVpbXBsZW1lbnRlZC4KCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmE6CgkoZ2V0TGluZWFyVGltZSk6IFJlbW92ZWQuCgkoaXNMZWFwWWVhcihpbnQsYm9vbGVhbikpOiBSZW1vdmVkLgoJKGJlZm9yZSgpLCBhZnRlcigpKTogUmVtb3ZlZC4KCShjb21wdXRlVGltZSk6IFJlaW1wbGVtZW50ZWQuCgoyMDA1LTAxLTIzICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uLmphdmE6CglFeHRlbmRlZCBsb2NhbFBhdHRlcm5DaGFycyBzdHJpbmcgdG8gbWF0Y2ggcm9vdC54bWwuCgkqIGdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbi5qYXZhOgoJUmVtb3ZlZCBpbnZhbGlkIGxvY2FsUGF0dGVybkNoYXJzIHN0cmluZy4KCSogZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25sLmphdmE6CglMaWtld2lzZS4KCSogamF2YS90ZXh0L0RhdGVGb3JtYXQuamF2YToKCURvY3VtZW50ZWQgcGF0dGVybiBjaGFyYWN0ZXIgb2Zmc2V0IGNvbnN0YW50cyBhbmQKCWFkZGVkIG5ldyBvbmVzLgoJKEZpZWxkKTogQWRkZWQgbmV3IHN0YXRpYyBmaWVsZHMgZm9yIG5ldyBwYXR0ZXJuIGNoYXJzLgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhOgoJKENvbXBpbGVkRmllbGQpOiBDaGFuZ2VkIG5hbWUgb2YgRmllbGRTaXplUGFpciBjbGFzcwoJdG8gQ29tcGlsZWRGaWVsZCBhZnRlciBhZGRpbmcgdGhlIGNoYXJhY3RlciBhcyBhbgoJYXR0cmlidXRlLiAgQ2hhbmdlZCBmaWVsZHMgdG8gcHJpdmF0ZSBhbmQgYWRkZWQKCWFjY2Vzc29ycyB0byBnaXZlIGVuY2Fwc3VsYXRpb24uCgkoQ29tcGlsZWRGaWVsZC5Db21waWxlZEZpZWxkKGludCxpbnQsY2hhcikpOiBFeHRlbmRlZAoJd2l0aCBjaGFyYWN0ZXIgZmllbGQuCgkoQ29tcGlsZWRGaWVsZC5nZXRGaWVsZCgpKTogTmV3IGFjY2Vzc29yIG1ldGhvZC4KCShDb21waWxlZEZpZWxkLmdldFNpemUoKSk6IE5ldyBhY2NlZXNzb3IgbWV0aG9kLgoJKENvbXBpbGVkRmllbGQuZ2V0Q2hhcmFjdGVyKCkpOiBOZXcgYWNjZXNzb3IgbWV0aG9kLgoJKENvbXBpbGVkRmllbGQudG9TdHJpbmcoKSk6IEFkZGVkIHByaW1hcmlseSBmb3IgZGVidWdnaW5nLgoJKHN0YW5kYXJkQ2hhcnMpOiBOb3cgdXNlcyBleHRlbmRlZCAyNCBjaGFyYWN0ZXIgc2VxdWVuY2UuCgkoY29tcGlsZUZvcm1hdChTdHJpbmcpKTogQ2hhbmdlZCB0byB1c2UgQ29tcGlsZWRGaWVsZC4KCShmb3JtYXRXaXRoQXR0cmlidXRlKGphdmEudXRpbC5EYXRlLCBnbnUuamF2YS50ZXh0LkZvcm1hdEJ1ZmZlciwKCWphdmEudGV4dC5GaWVsZFBvc2l0aW9uKSk6IENoYW5nZWQgdG8gdXNlIENvbXBpbGVkRmllbGQuCglOZXcgaGFuZGxlciBmb3IgUkZDIDgyMiB0aW1lem9uZXMgYWRkZWQuCgkKMjAwNS0wMS0yMiAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvYXd0L0NoZWNrYm94LmphdmE6CgkoQWNjZXNzaWJsZUFXVENoZWNrYm94KCkpOiBBZGRlZCBwdWJsaWMgY29uc3RydWN0b3IKCXRvIGNhbGwgc3VwZXJjbGFzcy4KCSogamF2YS9hd3QvQ2hvaWNlLmphdmE6CgkoQWNjZXNzaWJsZUFXVENob2ljZSk6IEFkZGVkIGNsYXNzIGRvY3VtZW50YXRpb24uCgkoQWNjZXNzaWJsZUFXVENob2ljZSgpKTogQWRkZWQgcHVibGljIGNvbnN0cnVjdG9yCgl0byBjYWxsIHN1cGVyY2xhc3MuCgkoQWNjZXNzaWJsZUFXVENob2ljZS5nZXRBY2Nlc3NpYmxlQWN0aW9uKCkpOiBEb2N1bWVudGVkLgoJKEFjY2Vzc2libGVBV1RDaG9pY2UuZ2V0QWNjZXNzaWJsZVJvbGUoKSk6IERvY3VtZW50ZWQsCglhbmQgY2hhbmdlZCByb2xlIHRvIENPTUJPX0JPWC4KCShBY2Nlc3NpYmxlQVdUQ2hvaWNlLmdldEFjY2Vzc2libGVBY3Rpb25Db3VudCgpKTogRG9jdW1lbnRlZC4KCShBY2Nlc3NpYmxlQVdUQ2hvaWNlLmdldEFjY2Vzc2libGVBY3Rpb25EZXNjcmlwdGlvbihpbnQpKTogRG9jdW1lbnRlZC4KCShBY2Nlc3NpYmxlQVdUQ2hvaWNlLmRvQWNjZXNzaWJsZUFjdGlvbihpbnQpKTogRG9jdW1lbnRlZC4KCjIwMDUtMDEtMjEgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhOgoJKHBhcnNlKFN0cmluZywgamF2YS50ZXh0LlBhcnNlUG9zaXRpb24pKToKCUNoYW5nZWQgJ0UnIGFuZCAnTScgY2FzZXMgdG8gdXNlIGJvdGgKCXNob3J0IGFuZCBsb25nIG5hbWVzLiAgRXh0ZW5kZWQgJ3onCgljYXNlIHRvIGFsc28gaGFuZGxlICdaJywgYW5kIGRlYWwKCXdpdGggc2ltcGxlIEdNVCBvZmZzZXRzIHN1Y2ggYXMgKzAxMDAuCgkoY29tcHV0ZU9mZnNldChTdHJpbmcpKTogTmV3IHByaXZhdGUgbWV0aG9kLAoJd2hpY2ggY29udmVydHMgYSBHTVQgb2Zmc2V0IHNwZWNpZmljYXRpb24sCglzdWNoIGFzIEdNVC0wNTAwIHRvIGEgbnVtZXJpYyBvZmZzZXQgaW4KCW1pbGxpc2Vjb25kcy4KCSogamF2YS91dGlsL1RpbWVab25lLmphdmE6CgkodGltZXpvbmVzKCkpOiBBZGRlZCAiQ0VTVCIsIHRoZSBkYXlsaWdodAoJc2F2aW5ncyB0aW1lIHZlcnNpb24gb2YgIkNFVCIsIG9yIENlbnRyYWwKCUV1cm9wZWFuIFRpbWUuCgkKMjAwNS0wMS0yMSAgU3ZlbiBkZSBNYXJvdGh5IDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhOiBSZWZvcm1hdHRlZC4KCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmE6IFJlZm9ybWF0dGVkLgoJKiBqYXZhL3V0aWwvU2ltcGxlVGltZVpvbi5qYXZhOiBSZWZvcm1hdHRlZC4KCjIwMDUtMDEtMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9EZWJ1Z0dyYXBoaWNzLmphdmE6IE1vc3RseSBpbXBsZW1lbnRlZC4KCjIwMDUtMDEtMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhCgkoZmluZEZvY3VzT3duZXIpOiBOZXcgbWV0aG9kLgoKMjAwNS0wMS0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhCgkocmVhZCk6IEFkZGVkICdcbicgYWZ0ZXIgZWFjaCBsaW5lLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkobW9kZWxUb1ZpZXcpOiBVcGRhdGUgbWV0cmljcy4KCShkcmF3TGluZSk6IFVzZSBvZmZzZXRzIGZyb20gZWxlbWVudC4KCShwYWludCk6IFVwZGF0ZSBtZXRyaWNzLiBEcmF3IGFsbCBsaW5lcy4KCjIwMDUtMDEtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9wcmludC9QcmludGVySm9iLmphdmEKCShwYWdlRGlhbG9nKTogVGhyb3dzIGphdmEuYXd0LkhlYWRsZXNzRXhjZXB0aW9uLgoJKHByaW50RGlhbG9nKTogTGlrZXdpc2UuCgoyMDA1LTAxLTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZG9jL2hhY2tpbmcudGV4aW5mbzogRml4ZWQgb25lIHR5cG8gYW5kIHRoZSBwYXJhZ3JhcGggYWJvdXQgdGltZQoJZm9ybWF0cy4KCjIwMDUtMDEtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvQ2hyb21hdGljaXR5LmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogRml4ZWQgdmFsdWUuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EZXN0aW5hdGlvbi5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IEZpeGVkIHZhbHVlLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTWVkaWFQcmludGFibGVBcmVhLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTWVkaWFTaXplLmphdmE6CglOZXcgZmlsZXMuCgoyMDA1LTAxLTIwICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS91dGlsL0N1cnJlbmN5LmphdmE6CglBZGRlZCBuZXcgY291bnRyeU1hcCB3aGljaCBtYXBzIGNvdW50cnkgY29kZXMKCXRvIGludGVybmF0aW9uYWwgY3VycmVuY3kgY29kZXMuICBUaGUgY2FjaGUKCWhhcyBiZWVuIGFsdGVyZWQgdG8gbWFwIGN1cnJlbmN5IGNvZGVzIHRvCglDdXJyZW5jeSBvYmplY3RzLgoJKGdldEluc3RhbmNlKGphdmEudXRpbC5Mb2NhbGUpKTogYWRkcyB0byBib3RoCgljYWNoZXMgYW5kIGF0dGVtcHRzIGluaXRpYWwgbG9va3VwIGZyb20gY291bnRyeSBtYXAKCShnZXRJbnN0YW5jZShqYXZhLmxhbmcuU3RyaW5nKSk6IGF0dGVtcHRzIHRvCgl1c2UgY29kZSAtPiBjdXJyZW5jeSBtYXAgZmlyc3QKCQoyMDA1LTAxLTIwICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS9hd3QvQ2hlY2tib3guamF2YToKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3gpOiBBZGRlZCBjbGFzcyBkb2N1bWVudGF0aW9uCgkqIGphdmEvYXd0L1Njcm9sbGJhci5qYXZhOgoJKEFjY2Vzc2libGVBV1RTY3JvbGxCYXIpOiB0eXBvIGNvcnJlY3RlZCBhbmQgZG9jcyBhZGRlZAoJKEFjY2Vzc2libGVBV1RTY3JvbGxCYXIuZ2V0QWNjZXNzaWJsZVJvbGUoKSk6IGRvY3VtZW50ZWQKCShBY2Nlc3NpYmxlQVdUU2Nyb2xsQmFyLmdldEFjY2Vzc2libGVTdGF0ZVNldCgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUU2Nyb2xsQmFyLmdldEFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUU2Nyb2xsQmFyLmdldEN1cnJlbnRBY2Nlc3NpYmxlVmFsdWUoKSk6IGxpa2V3aXNlCgkoQWNjZXNzaWJsZUFXVFNjcm9sbEJhci5zZXRDdXJyZW50QWNjZXNzaWJsZVZhbHVlKGphdmEubGFuZy5OdW1iZXIpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUU2Nyb2xsQmFyLmdldE1pbmltdW1BY2Nlc3NpYmxlVmFsdWUoKSk6IGxpa2V3aXNlCgkoQWNjZXNzaWJsZUFXVFNjcm9sbEJhci5nZXRNYXhpbXVtQWNjZXNzaWJsZVZhbHVlKCkpOiBsaWtld2lzZQoJKGdldEFjY2Vzc2libGVDb250ZXh0KCkpOiBuYW1lIG9mIGFjY2Vzc2libGUgY2xhc3MgY29ycmVjdGVkCgoyMDA1LTAxLTIwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvQ3VycmVuY3kuamF2YSAoQ3VycmVuY3koTG9jYWxlKSk6IEFkZCBMb2NhbGUgdG8KCUlsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBtZXNzYWdlLgoKMjAwNS0wMS0yMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9hd3QvQmFzaWNTdHJva2UuamF2YSAoaGFzaENvZGUpOiBJbXBsZW1lbnQuCgkoZXF1YWxzKTogRG9jdW1lbnQuCgoyMDA1LTAxLTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShnZXRWYWx1ZUF0KTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGFibGUvSlRhYmxlSGVhZGVyLmphdmEKCShjb2x1bW5BdFBvaW50KTogTmV3IG1ldGhvZC4KCjIwMDUtMDEtMjAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9DdXJyZW5jeS5qYXZhIChDdXJyZW5jeShMb2NhbGUpKTogQ2xhcmlmeQoJSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIG1lc3NhZ2UuCgoyMDA1LTAxLTIwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9uYW1pbmcvZGlyZWN0b3J5L0Jhc2ljQXR0cmlidXRlcy5qYXZhIChlcXVhbHMpOiBDb21wYXJlIHRvIGFueQoJQXR0cmlidXRlcyBhbmQgYXR0cmlidXRlIG9yZGVyIGRvZXNuJ3QgbWF0dGVyLgoJKEJhc2ljQXR0cmlidXRlc0VudW1lcmF0aW9uLndoZXJlKTogSW5pdGlhbGl6ZSB0byB6ZXJvLgoJKEJhc2ljQXR0cmlidXRlc0VudW1lcmF0aW9uLm5leHRFbGVtZW50KTogVXBkYXRlIGFuZCBjb21wYXJlIHdoZXJlCglhcHByb3ByaWF0ZWx5ICh6ZXJvIGJhc2VkKS4KCjIwMDUtMDEtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShhY3Rpb25zKTogTmV3IGZpZWxkLgoJKHN0YXRpYyk6IEluaXRhbGl6ZSBhY3Rpb25zIGZpZWxkLgoJKGdldEFjdGlvbnMpOiBOZXcgbWV0aG9kLgoKMjAwNS0wMS0yMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9ndGtwZWVyLmggKGdka19lbnYpOiBGaXggcHJvdG90eXBlLgoKMjAwNS0wMS0yMCAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuYwoJKGVudl91bmlvbik6IFVzZSB1bmlvbiB0byBhdm9pZCB0eXBlLXB1bm5pbmcgd2FybmluZy4KCQoyMDA1LTAxLTIwICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS9hd3QvQ2hlY2tib3guamF2YToKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3gpOiBuYW1lIGNhcGl0YWxpemF0aW9uIGNvcnJlY3RlZAoJYW5kIHNlcmlhbGl6YXRpb24gVUlEIGFkZGVkLgoJKEFjY2Vzc2libGVBV1RDaGVja2JveC5pdGVtU3RhdGVDaGFuZ2VkKGphdmEuYXd0LmV2ZW50Lkl0ZW1FdmVudCkpOgoJZG9jdW1lbnRlZC4KCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0QWNjZXNzaWJsZUFjdGlvbigpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0QWNjZXNzaWJsZVZhbHVlKCkpOiBsaWtld2lzZQoJKEFjY2Vzc2libGVBV1RDaGVja2JveC5nZXRBY2Nlc3NpYmxlQWN0aW9uQ291bnQoKSk6IGxpa2V3aXNlCgkoQWNjZXNzaWJsZUFXVENoZWNrYm94LmdldEFjY2Vzc2libGVBY3Rpb25EZXNjcmlwdGlvbihpbnQpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZG9BY2Nlc3NpYmxlQWN0aW9uKGludCkpOiBsaWtld2lzZQoJKEFjY2Vzc2libGVBV1RDaGVja2JveC5nZXRDdXJyZW50QWNjZXNzaWJsZVZhbHVlKCkpOiBsaWtld2lzZQoJKEFjY2Vzc2libGVBV1RDaGVja2JveC5zZXRDdXJyZW50QWNjZXNzaWJsZVZhbHVlKGphdmEubGFuZy5OdW1iZXIpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0TWluaW11bUFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0TWF4aW11bUFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0QWNjZXNzaWJsZVJvbGUoKSk6IGxpa2V3aXNlCgkoQWNjZXNzaWJsZUFXVENoZWNrYm94LmdldEFjY2Vzc2libGVTdGF0ZVNldCgpKTogaW1wbGVtZW50ZWQgYW5kCglkb2N1bWVudGVkCgkoZ2V0QWNjZXNzaWJsZUNvbnRleHQoKSk6IG5hbWUgb2YgYWNjZXNzaWJsZSBjbGFzcyBjb3JyZWN0ZWQKCQoyMDA1LTAxLTE5ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCU1lcmdlIG9mIGphdmEubGFuZy5BcHBlbmRhYmxlIHRvIEhFQUQgZnJvbQoJdGhlIGdlbmVyaWNzIGJyYW5jaC4KCQoJMjAwNC0wOC0wNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL0FwcGVuZGFibGUuamF2YTogTmV3IGZpbGUuCgoJMjAwNC0wOS0yNiAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvbGFuZy9BcHBlbmRhYmxlLmphdmEKCURvY3VtZW50ZWQgdGhpcyBjbGFzcy4KCShhcHBlbmQoQ2hhclNlcXVlbmNlLCBpbnQsIGludCkpOiBhZGRlZC4KCgkyMDA0LTEwLTMxICBSb2JlcnQgU2NodXN0ZXIgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgoJKiBqYXZhL2xhbmcvQXBwZW5kYWJsZS5qYXZhIChhcHBlbmQpOgoJVGhyb3dzIElPRXhjZXB0aW9uLgoKMjAwNS0wMS0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0U2VsZWN0aW9uTW9kZWwuamF2YQoJKGNsb25lKTogTmV3IG1ldGhvZC4KCjIwMDUtMDEtMTkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBzY3JpcHRzL2NoZWNrX2puaV9tZXRob2RzLnNoOiBDYWxsIHNlZCB3aXRoIExDX0FMTD1DLgoKMjAwNS0wMS0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmE6CglJbXBvcnQgc3RhdGVtZW50cyByZXdvcmtlZC4KCShpbWFnZUNhY2hlKTogTWFkZSBpdCBvZiB0eXBlIGphdmEudXRpbC5IYXNoTWFwLgoKMjAwNS0wMS0xOSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dUaHJlYWROYXRpdmVNZXRob2RSdW5uZXIuYzoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3IuYzoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MuYzoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jOgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmM6CgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NoZWNrYm94UGVlci5jOgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyLmM6CgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NsaXBib2FyZC5jOgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmM6CgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jOgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jOgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMaXN0UGVlci5jOgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51SXRlbVBlZXIuYzoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrU2Nyb2xsQmFyUGVlci5jOgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0Q29tcG9uZW50UGVlci5jOgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmM6CglSZXdyaXRlIHVzZXMgb2YgZXh0ZXJuIHZhcmlhYmxlIHRvIGJlIGZ1bmN0aW9uIGNhbGxzLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAoZ2RrX2Vudik6IENoYW5nZSBkZWNsYXJhdGlvbiB0bwoJZnVuY3Rpb24sIGZyb20gZXh0ZXJuIHZhcmlhYmxlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0LmMKCShnZGtfZW52KTogUmVtb3ZlIHZhcmlhYmxlLCBhZGQgbmV3IGZ1bmN0aW9uLgoJKGphdmFfdm0pOiBBZGQgbmV3IHZhcmlhYmxlLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXRfZ3RrSW5pdCk6IEluaXRpYWxpemUKCWphdmFfdm0gcmF0aGVyIHRoYW4gb2xkIGdka19lbnYgdmFyaWFibGUuCgoyMDA1LTAxLTE4ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJRml4ZXMgYnVnICMxMTYxOC4KCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChyZWFkQ2xhc3NEZXNjcmlwdG9yKTogSGFuZGxlIGNsYXNzZXMKCXdpdGhvdXQgYSBzdXBlciBjbGFzcyBhbmQgdXMgT2JqZWN0U3RyZWFtQ2xhc3MubG9va3VwRm9yQ2xhc3NPYmplY3QoKS4KCShyZXNvbHZlQ2xhc3MpOiBDaGVjayBmb3IgcHJpbWl0aXZlIHR5cGVzLgoJKGxvb2t1cENsYXNzKTogUmV0dXJuIG51bGwgd2hlbiBhcmd1bWVudCBpcyBudWxsLgoKMjAwNS0wMS0xOCBEYXZpZCBHaWxiZXJ0IDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdE1vZGVsLmphdmEKCShhZGQpOiBmaXJlIGNvcnJlY3QgZXZlbnQsCgkoYWRkRWxlbWVudCk6IGNvcnJlY3RlZCBpbnRlcnZhbCBpbmRpY2VzIGluIGV2ZW50LAoJKGNsZWFyKTogY29ycmVjdGVkIHVwcGVyIGJvdW5kIGZvciBpbnRlcnZhbCwgb25seSBmaXJlIGV2ZW50IGlmCglsaXN0IGlzIG5vdCBlbXB0eSwKCShzZXRTaXplKTogZmlyZSBhcHByb3ByaWF0ZSBldmVudC4KCjIwMDUtMDEtMTggIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL0V4dGVybmFsaXphYmxlLmphdmEsCglqYXZhL2lvL1NlcmlhbGl6YWJsZS5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IFJlbW92ZWQuCgkqIGphdmEvcm1pL3NlcnZlci9SZW1vdGVPYmplY3QuamF2YSwKCWphdmEvcm1pL3NlcnZlci9VSUQuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBNYWRlIHByaXZhdGUuCgkqIGphdmEvcm1pL3NlcnZlci9SZW1vdGVSZWYuamF2YSwKCWphdmEvcm1pL3NlcnZlci9TZXJ2ZXJSZWYuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBTZXQgcHJvcGVyIHZhbHVlLgoJKiBqYXZhL3NlY3VyaXR5L2ludGVyZmFjZXMvRFNBUHJpdmF0ZUtleS5qYXZhLAoJamF2YS9zZWN1cml0eS9pbnRlcmZhY2VzL0RTQVB1YmxpY0tleS5qYXZhLAoJamF2YS9zZWN1cml0eS9pbnRlcmZhY2VzL1JTQU11bHRpUHJpbWVQcml2YXRlQ3J0S2V5LmphdmEsCglqYXZhL3NlY3VyaXR5L2ludGVyZmFjZXMvUlNBUHJpdmF0ZUNydEtleS5qYXZhLAoJamF2YS9zZWN1cml0eS9pbnRlcmZhY2VzL1JTQVByaXZhdGVLZXkuamF2YSwKCWphdmEvc2VjdXJpdHkvaW50ZXJmYWNlcy9SU0FQdWJsaWNLZXkuamF2YSwKCWphdmF4L2NyeXB0by9TZWNyZXRLZXkuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBBZGRlZC4KCjIwMDUtMDEtMTggIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YSAoZ2V0TmV4dEV2ZW50KToKCUFkanVzdCBldmVudCBsb29wIHRvIHN3aXRjaCB0byBuYXRpdmUgbW9kZSBhZnRlciAxMDBtcy4KCSogamF2YXgvc3dpbmcvVGltZXIuamF2YSAoZHJhaW5FdmVudHMpOiBSZXVzZSBSdW5uYWJsZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtHZW5lcmljUGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrR2VuZXJpY1BlZXJfZGlzcG9zZSk6CglXYWtlIHVwIGV2ZW50IHRocmVhZC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0LmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0X2l0ZXJhdGVOYXRpdmVRdWV1ZSk6CglBZGp1c3QgZXZlbnQgbG9vcCB0byBzd2l0Y2ggdG8gamF2YSBtb2RlIGFmdGVyIDEwMG1zLgoKMjAwNS0wMS0xOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuaDogUmVnZW5lcmF0ZWQuCgoyMDA1LTAxLTE3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhIChzY2FuU3RyaW5nKTogQ2hhbmdlZCBob3cgcXVvdGluZwoJaXMgaGFuZGxlZC4KCShzY2FuRm9ybWF0RWxlbWVudCk6IExpa2V3aXNlLgoKMjAwNS0wMS0xNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogc2NyaXB0cy9jaGVja19qbmlfbWV0aG9kcy5zaDogRG9uJ3QgdXNlIG1rdGVtcCBmb3IgVE1QRklMRXMuCgoyMDA1LTAxLTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCVBSIGxpYmdjai8xOTQ0NAoJKiBqYXZhL25ldC9VUkkuamF2YQoJKEFVVEhPUklUWV9SRUdFWFApOiBOZXcgcmVnZXhwIGNvbnN0YW50LgoJKEFVVEhPUklUWV9VU0VSSU5GT19HUk9VUCk6IE5ldyBjb25zdGFudC4KCShBVVRIT1JJVFlfSE9TVF9HUk9VUCk6IExpa2V3aXNlLgoJKEFVVEhPUklUWV9QT1JUX0dST1VQKTogTGlrZXdpc2UuCgkocG9ydCk6IENoYW5nZWQgZGVmYXVsdCB2YWx1ZSB0byAtMS4KCShwYXJzZVVSSSk6IFBhcnNlIGF1dGhvcml0eSBwYXJ0IGFuZCBpbml0aWFsaXplIGhvc3QsCglwb3J0IGFuZCB1c2VySW5mby4KCjIwMDUtMDEtMTcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvQ2hyb21hdGljaXR5LmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvRGVzdGluYXRpb24uamF2YToKCU5ldyBmaWxlcy4KCjIwMDUtMDEtMTcgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9NZXRhZGF0YU5vZGUuamF2YToKCUltcGxlbWVudGVkLgoJKiBqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT0F0dHIuamF2YSwKCWphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTmFtZWROb2RlTWFwLmphdmEsCglqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT05vZGVMaXN0LmphdmE6CglOZXcgZmlsZXMKCjIwMDUtMDEtMTcgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3V0aWwvQ3VycmVuY3kuamF2YToKCShnZXRJbnN0YW5jZShTdHJpbmcpKTogY2F0Y2ggSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uCglmb3IgbG9jYWxlcyB3aXRob3V0IGNvdW50cmllcwoJCjIwMDUtMDEtMTYgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglSZXBvcnRlZCBieSBDaHJpc3RpYW4gVGhhbGluZ2VyIDx0d2lzdGlAY29tcGxhbmcudHV3aWVuLmFjLmF0PgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YSAoZ2V0RXh0Q2xhc3NMb2FkZXJVcmxzKTogQWRkIGNoZWNrIGZvcgoJbnVsbCByZXR1cm5lZCBmcm9tIGdldEZpbGVzKCkuCgoyMDA1LTAxLTE1ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YToKCShnZXREYXRlRm9ybWF0U3ltYm9scygpKTogcmV0dXJuIGEgY29weQoJKHNldERhdGVGb3JtYXRTeW1ib2xzKGphdmEudGV4dC5EYXRlRm9ybWF0U3ltYm9scykpOgoJdGhyb3cgZXhjZXB0aW9uIG9uIG51bGwgaW5wdXQKCShjbG9uZSgpKTogaW1wbGVtZW50ZWQgdG8gY2xvbmUgaW50ZXJuYWwgZmllbGRzCgoyMDA1LTAxLTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJUmVwb3J0ZWQgYnkgTWFydGluIFBsYXR0ZXIgPG1vdHNlQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyX25hdGl2ZVNldEZpbGUpOgoJQ29ycmVjdCBtZXRob2Qgc2lnbmF0dXJlIG9mIGd0a1NldEZpbGVuYW1lLgoKMjAwNS0wMS0xNCAgU3ZlbiBkZSBNYXJvdGh5IDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhCgkoR3JlZ29yaWFuQ2FsZW5kYXIpOiBVcGRhdGUgZmllbGRzIGluIHRoZSBjb25zdHJ1Y3RvcgoKMjAwNS0wMS0xNCAgQXJuYXVkIFZhbmR5Y2sgIDxhdmR5a0BnbnUub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9TdHJpbmdDb250ZW50LmphdmE6IE5ldyBmaWxlLgoKMjAwNS0wMS0xMyAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmE6CgkocGFyc2UpOiBleHRlbmQgdHJ5e30gYmxvY2sgc28gYWxsIGlsbGVnYWwgYXJndW1lbnRzCglhcmUgY2F1Z2h0IGFuZCByZXR1cm5lZCBhcyBudWxsCgoyMDA1LTAxLTEzICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YQoJKHBhcnNlKTogY29tcGFyaXNvbiBzaG91bGQgYmUgY2FzZS1pbnNlbnNpdGl2ZSwgaWdub3JlIG51bGwgc3RyaW5ncy4KCjIwMDUtMDEtMTMgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiB2bS9yZWZlcmVuY2UvamF2YS9uaW8vY2hhbm5lbHMvVk1DaGFubmVscy5qYXZhOiBDbGFzcyBzaG91bGRuJ3QKCWJlIHB1YmxpYy4KCShuZXdJbnB1dFN0cmVhbSxuZXdPdXRwdXRTdHJlYW0pOiBObyBuZWVkIHRvIGJlIHB1YmxpYy4KCjIwMDUtMDEtMTMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBzY3JpcHRzL2NoZWNrX2puaV9tZXRob2RzLnNoOiBEb24ndCB1c2UgR05VIHNlZCBzcGVjaWZpYyBmZWF0dXJlcy4KCjIwMDUtMDEtMTIgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3RleHQvRGVjaW1hbEZvcm1hdFN5bWJvbHMuamF2YQoJKERlY2ltYWxGb3JtYXRTeW1ib2xzKGphdmEudXRpbC5Mb2NhbGUpKTogZGVmYXVsdHMKCWNoYW5nZWQgdG8gIj8iIGFuZCAiWFhYIiB0byBtYXRjaCBhIG51YW5jZSBvZiBTdW4ncwoJaW1wbC4gYWxvbmcgd2l0aCBkb2N1bWVudGF0aW9uCgoyMDA1LTAxLTEyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9YNTA5Q2VydGlmaWNhdGUuamF2YQoJKHBhcnNlKTogSGFuZGxlIHZhbCA9PSBudWxsIGNhc2UuCgoyMDA1LTAxLTEyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uaW8vY2hhbm5lbHMvQ2hhbm5lbHMuamF2YQoJKG5ld0lucHV0U3RyZWFtKFJlYWRhYmxlQnl0ZUNoYW5uZWwpKToKCUNhbGwgVk1DaGFubmVscy5uZXdJbnB1dFN0cmVhbShSZWFkYWJsZUJ5dGVDaGFubmVsKS4KCShuZXdPdXRwdXRTdHJlYW0oV3JpdGFibGVCeXRlQ2hhbm5lbCk6CglDYWxsIFZNQ2hhbm5lbHMubmV3T3V0cHV0U3RyZWFtKFdyaXRhYmxlQnl0ZUNoYW5uZWwpLgoJKG5ld0lucHV0U3RyZWFtKEZpbGVDaGFubmVsSW1wbCkpOiBSZW1vdmVkLgoJKG5ld091dHB1dFN0cmVhbShGaWxlQ2hhbm5lbEltcGwpKTogTGlrZXdpc2UuCgkqIHZtL3JlZmVyZW5jZS9qYXZhL25pby9jaGFubmVscy9WTUNoYW5uZWxzLmphdmE6IE53IGZpbGUuCgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vTWFrZWZpbGUuYW06CgkqIG5hdGl2ZS9qbmkvamF2YS1uaW8vamF2YV9uaW9fY2hhbm5lbHNfQ2hhbm5lbHMuYywKCWluY2x1ZGUvamF2YV9uaW9fY2hhbm5lbHNfQ2hhbm5lbHMuaDogUmVtb3ZlZC4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogRG9uJ3QgZ2VuZXJhdGUgamF2YV9uaW9fY2hhbm5lbHNfQ2hhbm5lbHMuaC4KCVJlbW92ZWQgamF2YV9uaW9fY2hhbm5lbHNfQ2hhbm5lbHMuYy4KCjIwMDUtMDEtMTIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvUGxhaW5Tb2NrZXRJbXBsLmphdmEKCShzaHV0ZG93bklucHV0KTogTWFkZSBuYXRpdmUuIFRocm93cyBJT0V4Y2VwdGlvbi4gQWRkZWQgSmF2YWRvYy4KCShzaHV0ZG93bk91dHB1dCk6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2dudV9qYXZhX25ldF9QbGFpblNvY2tldEltcGwuaDogUmVnZW5lcmF0ZWQuCgkqIG5hdGl2ZS9qbmkvamF2YS1uZXQvZ251X2phdmFfbmV0X1BsYWluU29ja2V0SW1wbC5jCgkoSmF2YV9nbnVfamF2YV9uZXRfUGxhaW5Tb2NrZXRJbXBsX3NodXRkb3duSW5wdXQpOiBOZXcgbWV0aG9kLgoJKEphdmFfZ251X2phdmFfbmV0X1BsYWluU29ja2V0SW1wbF9zaHV0ZG93bk91dHB1dCk6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2phdmEtbmV0L2phdmFuZXQuYwoJKF9qYXZhbmV0X3NodXRkb3duSW5wdXQpOiBMaWtld2lzZS4KCShfamF2YW5ldF9zaHV0ZG93bk91dHB1dCk6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2phdmEtbmV0L2phdmFuZXQuaAoJKF9qYXZhbmV0X3NodXRkb3duSW5wdXQpOiBMaWtld2lzZS4KCShfamF2YW5ldF9zaHV0ZG93bk91dHB1dCk6IExpa2V3aXNlLgoKMjAwNS0wMS0xMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXJfbmF0aXZlU2V0VmlzaWJsZSk6CglSZW1vdmVkIHNldHRpbmcgb2YgZ2RrX2Vudi4KCjIwMDUtMDEtMTEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGFjaW5jbHVkZS5tNCAoQ0xBU1NQQVRIX1dJVEhfR0pET0MpOiBUZXN0IGZvciBnamRvYywgbm90IGpheS4KCjIwMDUtMDEtMTIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUm9ib3RQZWVyLmMKCShtb3VzZVdoZWVsKTogQ2FsbCBYRmx1c2guCgkoa2V5UHJlc3MpOiBMaWtld2lzZS4KCShrZXlSZWxlYXNlKTogTGlrZXdpc2UuCgoyMDA1LTAxLTExICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhIChVSURlZmF1bHRzKToKCUZpeGVkIHR5cG8gaW4gamF2YWRvYyAoVGhhbmtzIHRvIFRob21hcyBaYW5kZXIgZm9yIHJlcG9ydGluZykKCUZpeGVkIEhUTUwgZW50aXR5IGFuZCByZW1vdmVkIGEgcmVkdW5kYW50IGNvbW1hLgoKMjAwNS0wMS0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGdkay1waXhidWYtMi4wLgoKMjAwNS0wMS0xMSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmEKCShyZWdpc3RlckltYWdlSU9TcGlzKTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvYXd0L2ltYWdlL0ltYWdlRGVjb2Rlci5qYXZhCgkoaW1hZ2VEZWNvZGVyKTogTmV3IGNvbnN0cnVjdG9yIHVzaW5nIElucHV0U3RyZWFtCgkoc3RhcnRQcm9kdWN0aW9uKTogSGFuZGxlIGV4aXN0aW5nIElucHV0U3RyZWFtLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhCgkoZmluZFNpbXBsZUludGVnZXJBcnJheSk6IE1ha2UgcHVibGljIGFuZCBzdGF0aWMuCgkodXBkYXRlQnVmZmVyZWRJbWFnZSk6IFNldCBlYWNoIHBpeGVsLCBpbiBhIGxvb3AuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtQaXhidWZEZWNvZGVyLmphdmE6CglJbXBsZW1lbnQgSW1hZ2VJTyBTUEkgY2xhc3Nlcy4KCShjcmVhdGVCdWZmZXJlZEltYWdlKTogUmV3cml0ZSBpbiB0ZXJtcyBvZiBTUEkgY2xhc3Nlcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YQoJKHJlZ2lzdGVySW1hZ2VJT1NwaXMpOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9uYXRNZXRob2QuY2MKCShfSnZfQ2FsbEFueU1ldGhvZEEpOiBCb3Jyb3cgYSBwYXRjaCBmcm9tIGFwaCwgYXBwbGllZCB0byB0cnVuaywKCXdoaWNoIGxldHMgSk5JIGNhbGwgaW50ZXJmYWNlIG1ldGhvZHMgcHJvcGVybHkuCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VJTy5qYXZhCgkoV3JpdGVyRm9ybWF0RmlsdGVyLmZpbHRlcik6IEZpeCBjb3B5LWFuZC1wYXN0ZSB0eXBvcy4KCShXcml0ZXJNSU1FVHlwZUZpbHRlci5maWx0ZXIpOiBMaWtld2lzZS4KCShJbWFnZVJlYWRlckl0ZXJhdG9yKTogUGFzcyBleHRlbnNpb24gYXJndW1lbnQgdGhyb3VnaCB0byBTUEkuCgkoZ2V0UmVhZGVyc0J5RmlsdGVyKTogTGlrZXdpc2UuCgkoZ2V0V3JpdGVyc0J5RmlsdGVyKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VSZWFkZXJzQnlGb3JtYXROYW1lKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VSZWFkZXJzQnlNSU1FVHlwZSk6IExpa2V3aXNlLgoJKGdldEltYWdlUmVhZGVyc0J5U3VmZml4KTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VXcml0ZXJzQnlGb3JtYXROYW1lKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VXcml0ZXJzQnlNSU1FVHlwZSk6IExpa2V3aXNlLgoJKGdldEltYWdlV3JpdGVyc0J5U3VmZml4KTogTGlrZXdpc2UuCgkocmVhZCk6IEltcGxlbWVudC4KCSh3cml0ZSk6IEltcGxlbWVudC4KCSogamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRlci5qYXZhCgkocHJvZ3Jlc3NMaXN0ZW5lcnMpOiBJbml0aWFsaXplLgoJKHNldElucHV0KTogSW1wbGVtZW50LgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVyLmphdmEKCShwcm9ncmVzc0xpc3RlbmVycyk6IEluaXRpYWxpemUuCgkod2FybmluZ0xpc3RlbmVycyk6IExpa2V3aXNlLgoJKHdhcm5pbmdMb2NhbGVzKTogTGlrZXdpc2UuCgkoc2V0T3V0cHV0KTogVGVzdCAiaXNJbnN0YW5jZSIgcmF0aGVyIHRoYW4gY2xhc3MgZXF1YWxpdHkuCgkqIGphdmF4L2ltYWdlaW8vc3BpL0lJT1JlZ2lzdHJ5LmphdmEKCShzdGF0aWMpOiBBZGQgcmVhZGVyIGFuZCB3cml0ZXIgU1BJcy4KCShJSU9SZWdpc3RyeSk6IENhbGwgQ2xhc3NwYXRoVG9vbGtpdC5yZWdpc3RlckltYWdlSU9TcGlzLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1BpeGJ1ZkRlY29kZXIuYwoJKHF1ZXJ5X2Zvcm1hdHMpOiBOZXcgZnVuY3Rpb24uCgkoc2F2ZV90b19zdHJlYW0pOiBMaWtld2lzZS4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyX3N0cmVhbUltYWdlKTogTGlrZXdpc2UuCgoyMDA1LTAxLTExICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUGl4YnVmRGVjb2Rlci5oOiBSZWdlbmVyYXRlZC4KCjIwMDUtMDEtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9VUkwuamF2YSAoVVJMKTogSGFuZGxlIHNwZWNzIGxpa2UKCSIvcmVkaXI/aHR0cDovL2RvbWFpbjIuY29tL2luZGV4Lmh0bWwiIHdoaWNoIHN0YXJ0IHdpdGggYSBzbGFzaC4KCjIwMDUtMDEtMTEgIFN0ZXZlbiBBdWdhcnQgIDxhdWdhcnRAd2F0c29uLmlibS5jb20+CgoJKiBzY3JpcHRzL2NoZWNrX2puaV9tZXRob2RzLnNoOiBQb3J0YWJsZSB0byB0aGUgT3BlbkJTRAoJIm1rdGVtcCIsIGFzIHVzZWQgaW4gUmVkIEhhdCBMaW51eCA3LjMuCglDaGVjayB3aGV0aGVyICJta3RlbXAiIGZhaWxzOyBhYm9ydCBpZiBpdCBkb2VzLgoJCjIwMDUtMDEtMTEgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3RleHQvRGVjaW1hbEZvcm1hdFN5bWJvbHMuamF2YQoJKERlY2ltYWxGb3JtYXRTeW1ib2xzKGphdmEudXRpbC5Mb2NhbGUpKTogY2hlY2sgZm9yCgllcnJvcnMgaW4gc2V0dGluZyB0aGUgY3VycmVuY3kgYW5kIGRlZmF1bHQgdG8gbnVsbCBhbmQKCWVtcHR5IHN0cmluZ3MgaWYgdW5hdmFpbGFibGUKCShzZXRDdXJyZW5jeShDdXJyZW5jeSkpOiBtb3ZlZCBhc3NpZ25tZW50IHRvIGVuc3VyZQoJY3VycmVuY3kgaXMgbm90IGFjY2lkZW50YWxseSBzZXQgdG8gbnVsbAoJKiBqYXZhL3V0aWwvQ3VycmVuY3kuamF2YQoJKEN1cnJlbmN5KGphdmEudXRpbC5Mb2NhbGUpKTogdGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uCglmb3IgZW1wdHkgY291bnRyeSBzdHJpbmcgYW5kIE51bGxQb2ludGVyRXhjZXB0aW9uIGZvciBudWxsCglsb2NhbGUgb3IgY291bnRyeQoKMjAwNS0wMS0xMSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmEKCShuYXRpdmVRdWV1ZUVtcHR5KQoJKHdha2VOYXRpdmVRdWV1ZSkKCShpdGVyYXRlTmF0aXZlUXVldWUpOiBOZXcgbWV0aG9kcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01haW5UaHJlYWQuamF2YTogUmVtb3ZlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhCgkoZ3RrSW5pdCk6IEFic29yYiBmcm9tIGRlZnVuY3QgR3RrTWFpblRocmVhZCBjbGFzcy4KCShzdGF0aWMpOiBSdW4gZ3RrSW5pdCBpbiBzdGF0aWMgc3RhcnR1cCBibG9jay4KCShHdGtUb29sa2l0KTogUmVtb3ZlIGNvbnN0cnVjdGlvbiBvZiBHdGtNYWluVGhyZWFkIGFuZCBxdWV1ZS4KCShnZXRTeXN0ZW1FdmVudFF1ZXVlSW1wbCk6IENvbnN0cnVjdCBxdWV1ZSB3aGVuIHJlcXVlc3RlZC4KCShuYXRpdmVRdWV1ZUVtcHR5KQoJKHdha2VOYXRpdmVRdWV1ZSkKCShpdGVyYXRlTmF0aXZlUXVldWUpOiBOZXcgbWV0aG9kcy4KCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKHJlbW92ZU5vdGlmeSk6IFJlbW92ZSByYWNlLgoJKiBqYXZhL2F3dC9FdmVudERpc3BhdGNoVGhyZWFkLmphdmEKCShFdmVudERpc3BhdGNoVGhyZWFkKTogRG9uJ3Qgc3RhcnQgb24gY29uc3RydWN0aW9uLgoJKHJ1bik6IFJlbW92ZSBpc0ludGVycnVwdGVkIGNoZWNrLgoJKiBqYXZhL2F3dC9FdmVudFF1ZXVlLmphdmEgKHNodXRkb3duKTogTmV3IGZsYWcuCgkoaXNTaHV0ZG93bik6IE5ldyBtZXRob2QgY2hlY2tpbmcgSjJTRSBzaHV0ZG93biBjb25kaXRpb24uCgkoc2V0U2h1dGRvd24pOiBOZXcgbWV0aG9kLgoJKGdldE5leHRFdmVudCk6IFJlc3RydWN0dXJlIHRvIHVzZSBDbGFzc3BhdGhUb29sa2l0LgoJKHBvc3RFdmVudCk6IEFjdGl2YXRlIG5ldyB0aHJlYWQgb24gcG9zdGluZywgd2FrZSB0aHJlYWQgb24KCXBvc3Qgb2YgcG9zc2libGUgc2h1dGRvd24gY29uZGl0aW9uIGV2ZW50LgoJKiBqYXZhL2F3dC9GcmFtZS5qYXZhCgkoRnJhbWUpOiBDYWxsIG5vdGVGcmFtZSBpbiBhbGwgY29uc3RydWN0b3JzLgoJKGZpcmVEdW1teUV2ZW50KTogTmV3IGhlbHBlciBtZXRob2QuCgkoYWRkTm90aWZ5KTogRmlyZSBhIGR1bW15IGV2ZW50IHRvIHdha2UgdXAgcXVldWUuCgkocmVtb3ZlTm90aWZ5KTogRmlyZSBhIGR1bW15IGV2ZW50IHRvIHdha2UgdXAgcXVldWUuCgkobm90ZUZyYW1lKTogTmV3IG1ldGhvZC4KCSh3ZWFrRnJhbWVzKTogTmV3IHN0YXRpYyBmaWVsZC4KCShnZXRGcmFtZXMpOiBJbXBsZW1lbnQuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01haW5UaHJlYWQuYzoKCVJlbW92ZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jOgoJTW92ZSBldmVyeXRoaW5nIGZyb20gR3RrTWFpblRocmVhZCBpbnRvIHRoaXMgZmlsZQoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXRfaXRlcmF0ZU5hdGl2ZVF1ZXVlKQoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXRfd2FrZU5hdGl2ZVF1ZXVlKQoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXRfbmF0aXZlUXVldWVFbXB0eSk6CglOZXcgZnVuY3Rpb25zIHRvIGltcGxlbWVudCBzaW5nbGUtdGhyZWFkZWQgcXVldWUgc2VtYW50aWNzLgoKMjAwNS0wMS0xMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YTogUmVwbGFjZSBkaXJlY3QKCXJlZmVyZW5jZXMgdG8gZXZlbnQgcXVldWUgcSB3aXRoIG1ldGhvZCBjYWxsIHEoKS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0RpYWxvZ1BlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGcmFtZVBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtTY3JvbGxiYXJQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dENvbXBvbmVudFBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrR2VuZXJpY1BlZXIuamF2YTogTGlrZXdpc2UuCgkocSk6IE5ldyBtZXRob2QuCgoyMDA1LTAxLTExICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9NYWtlZmlsZS5hbToKCVJlbW92ZWQgZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01haW5UaHJlYWQuYy4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbToKCURvbid0IGdlbmVyYXRlIGdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNYWluVGhyZWFkLmgKCSogaW5jbHVkZS9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZC5oOiBSZW1vdmVkLgoKMjAwNS0wMS0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhCgkoZGVpbnN0YWxsKTogUmVtb3ZlZC4KCShpbnN0YWxsKTogTGlrZXdpc2UuCgoyMDA1LTAxLTExICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhIChwdXQpOiBIYW5kbGUgdmFsdWUgb2YgbnVsbC4KCjIwMDUtMDEtMTEgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBDb25uZWN0aW9uLmphdmE6IFVzZSBjb3JyZWN0IGZvcm0gb2YKCUhvc3QgaGVhZGVyIHdoZW4gdXNpbmcgYSBub24tZGVmYXVsdCBwb3J0IG51bWJlci4KCjIwMDUtMDEtMTEgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGphdmF4L25ldC9zc2wvSHR0cHNVUkxDb25uZWN0aW9uLmphdmE6IERvIG5vdCByZXF1ZXN0IFNTTHYzCglwcm92aWRlciBkdXJpbmcgY2xhc3MgaW5pdGlhbGl6YXRpb24uCgoyMDA1LTAxLTExICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvUm9ib3QuamF2YSwKCWphdmEvYXd0L1Njcm9sbGJhci5qYXZhLAoJamF2YS9hd3QvcHJpbnQvUHJpbnRlckpvYi5qYXZhLAoJamF2YXgvc3dpbmcvSlRhYmxlLmphdmEsCglqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YToKCVJld29ya2VkIGltcG9ydCBzdGF0ZW1lbnRzLgoKMjAwNS0wMS0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYmVhbnMvWE1MRGVjb2Rlci5qYXZhOiBSZXdvcmtlZCBpbXBvcnRzLCBmaXhlZCBjbGFzcyBqYXZhZG9jLgoJKiBqYXZhL2lvL0ZpbGUuamF2YSwKCWphdmEvbGFuZy9TeXN0ZW0uamF2YSwKCWphdmEvbmV0L0luZXQ0QWRkcmVzcy5qYXZhLAoJamF2YS91dGlsL0N1cnJlbmN5LmphdmEsCglqYXZhL3V0aWwvUmVzb3VyY2VCdW5kbGUuamF2YTogUmV3b3JrZWQgaW1wb3J0cy4KCjIwMDUtMDEtMTAgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvaW8vQnVmZmVyZWRJbnB1dFN0cmVhbS5qYXZhOiBGaXhlZCBpbmRlbnRhdGlvbi4KCjIwMDUtMDEtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkocmVhZCk6IEltcGxlbWVudGVkLgoJKHdyaXRlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhCgkocGFnZSk6IFJlbmFtZWQgZnJvbSBwYWdlX3VybC4gTWFkZSBwcml2YXRlLgoJKGVkaXRvcktpdCk6IFJlbmFtZWQgZnJvbSBraXQuIE1hZGUgcHJpdmF0ZS4KCShjdHlwZSk6IFJlbW92ZWQuCgkoSkVkaXRvclBhbmUpOiBBbGwgY29uc3RydWN0b3JzIHJlaW1wbGVtZW50ZWQuCgkoZ2V0Q29udGVudFR5cGUpOiBVc2UgY29udGVudCB0eXBlIGZyb20gZWRpdG9yIGtpdC4KCShnZXRFZGl0b3JLaXQpOiBSZXR1cm4gZWRpdG9yS2l0LgoJKGdldEVkaXRvcktpdEZvckNvbnRlbnRUeXBlKTpMaWtld2lzZS4KCShnZXRQYWdlKTogUmV0dXJuIHBhZ2UuCgkoc2V0Q29udGVudFR5cGUpOiBSZWltcGxlbWVudGVkLgoJKHNldEVkaXRvcktpdCk6IExpa2V3aXNlLgoJKHNldEVkaXRvcktpdEZvckNvbnRlbnRUeXBlKTogUmVtb3ZlZCB3cm9uZyBpbXBsZW1lbnRhdGlvbi4KCShzZXRQYWdlKTogSW1wbGVtZW50ZWQuCgoyMDA1LTAxLTEwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogc2NyaXB0cy9jaGVja19qbmlfbWV0aG9kcy5zaDogRG9udCBpZ25vcmUKCUphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZyYW1lUGVlcl9uYXRpdmVTZXRJY29uSW1hZ2VGcm9tRGF0YS4KCjIwMDUtMDEtMTAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZyYW1lUGVlci5jCgkobmF0aXZlU2V0SWNvbkltYWdlRnJvbURhdGEpOiBSZS1hZGQgbmF0aXZlIGltcGxlbWVudGF0aW9uLgoKMjAwNS0wMS0wOSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9zZWN1cml0eS9BbGdvcml0aG1QYXJhbWV0ZXJHZW5lcmF0b3IuamF2YSAoZ2V0SW5zdGFuY2UpOgoJTWVudGlvbiBwcm92aWRlciB3aGVuIHRocm93aW5nIE5vU3VjaFByb3ZpZGVyRXhjZXB0aW9uLgoJKiBqYXZhL3NlY3VyaXR5L0FsZ29yaXRobVBhcmFtZXRlcnMuamF2YSAoZ2V0SW5zdGFuY2UpOiBMaWtld2lzZS4KCSogamF2YS9zZWN1cml0eS9LZXlGYWN0b3J5LmphdmEgKGdldEluc3RhbmNlKTogTGlrZXdpc2UuCgkqIGphdmEvc2VjdXJpdHkvS2V5U3RvcmUuamF2YSAoZ2V0SW5zdGFuY2UpOiBMaWtld2lzZS4KCSogamF2YS9zZWN1cml0eS9TZWN1cmVSYW5kb20uamF2YSAoZ2V0SW5zdGFuY2UpOiBMaWtld2lzZS4KCSogamF2YS9zZWN1cml0eS9jZXJ0L0NlcnRpZmljYXRlRmFjdG9yeS5qYXZhIChnZXRJbnN0YW5jZSk6IExpa2V3aXNlLgoKMjAwNS0wMS0wOSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9qYXZhLWlvL2phdmFfaW9fVk1GaWxlLmMKCShKYXZhX2phdmFfaW9fVk1GaWxlX2NyZWF0ZSk6IENhbGwgSkNMX2ZyZWVfY3N0cmluZygpIHdoZW4gZG9uZSB3aXRoCglzdHJpbmcuCgkqIG5hdGl2ZS9qbmkvamF2YS1pby9qYXZhaW8uYwoJKF9qYXZhaW9fb3Blbl9yZWFkKTogTGlrZXdpc2UuCgkoX2phdmFpb19vcGVuX3JlYWR3cml0ZSk6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2phdmEtbGFuZy9qYXZhX2xhbmdfVk1TeXN0ZW0uYwoJKEphdmFfamF2YV9sYW5nX1ZNU3lzdGVtX2dldGVudik6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2phdmEtbmlvL2dudV9qYXZhX25pb19jaGFubmVsc19GaWxlQ2hhbm5lbEltcGwuYwoJKEphdmFfZ251X2phdmFfbmlvX2NoYW5uZWxzX0ZpbGVDaGFubmVsSW1wbF9vcGVuKTogTGlrZXdpc2UuCgoyMDA1LTAxLTA5ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBjb25maWd1cmUuYWM6IFVwZGF0ZSB2ZXJzaW9uIHRvIDAuMTMrY3ZzLgoKMjAwNS0wMS0wOSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogYWNpbmNsdWRlLm00IChDTEFTU1BBVEhfV0lUSF9HSkRPQyk6IFJlbmFtZWQgZnJvbQoJQ0xBU1NQQVRIX0VOQUJMRV9HSkRPQy4gQ2FuIG5vdyB0YWtlIGFyZ3VtZW50IHRvIHVzZSBhcyBnamRvYyBwcm9ncmFtLgoJRG9lc24ndCBkZXBlbmQgb24geG1sIHRvb2xzLgoJKiBjb25maWd1cmUuYWM6IFVzZSBDTEFTU1BBVEhfV0lUSF9HSkRPQy4KCSogSU5TVEFMTDogTWVudGlvbiAtLXdpdGgtZ2pkb2Mgb3B0aW9uLgoJKiBORVdTOiBBZGQgLS13aXRoLWdqZG9jIGFkZGl0aW9uLgoJKiBkb2MvYXBpL01ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogUmVtb3ZlZC4KCShzb3VyY2VwYXRoKTogTmV3IHZhcmlhYmxlLgoJKGh0bWxsaXN0KTogUmVtb3ZlZC4KCShjb3JlKTogUmVtb3ZlZC4KCShwYWNrYWdlcyk6IFJlbW92ZWQuCgkoZGF0ZSk6IFJlbW92ZWQuCgkoY2xlYW4pOiBBbHNvIHJlbW92ZSBjcmVhdGVfaHRtbCBmaWxlLgoJKGNyZWF0ZV9odG1sKTogUmV3cml0dGVuLgoJKiBkb2MvYXBpL2NsYXNzcGF0aC1jb3B5cmlnaHQueG1sOiBSZW1vdmVkLgoKMjAwNS0wMS0wOSAgUGF0cmlrIFJlYWxpICA8cmVhbGlAYWNtLm9yZz4KCgkqIGRvYy93d3cuZ251Lm9yZy9uZXdzaXRlbXMudHh0IGRvYy93d3cuZ251Lm9yZy9hbm5vdW5jZS8yMDA1MDEwNy53bWwgCglkb2Mvd3d3LmdudS5vcmcvZG93bmxvYWRzL2Rvd25sb2Fkcy53bWw6IGNsYXNzcGF0aCAwLjEzIHJlbGVhc2UgbmV3cwoKMjAwNS0wMS0wOCAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJKiBqYXZhL25pby9jaGFyc2V0L0NoYXJzZXQuamF2YSAocHJvdmlkZXJzKToKCU5ldyBtZXRob2QgdG8gbWFrZSBhbiBhcnJheSBvZiBDaGFyc2V0UHJvdmlkZXJzIGRlZmluZWQgaW4KCU1FVEEtSU5GL3NlcnZpY2VzL2phdmEubmlvLmNoYXJzZXQuc3BpLkNoYXJzZXRQcm92aWRlci4KCShjaGFyc2V0Rm9yTmFtZSwgYXZhaWxhYmxlQ2hhcnNldHMpOiBVc2UgdGhlCgluZXcgbWV0aG9kIHByb3ZpZGVycygpLgoKMjAwNS0wMS0wOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhIChjaGVja1J1bGUpOgoJVGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIG9uIGludmFsaWQgbW9udGggdmFsdWVzLgoKMjAwNS0wMS0wOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBDb25uZWN0aW9uLmphdmEKCShuZXdSZXF1ZXN0KTogVXNlICIvIiBhcyBwYXRoIGlmIG5vIHBhdGggZ2l2ZW4gaW4gVVJMLgoKMjAwNS0wMS0wOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIHJlc291cmNlL01ha2VmaWxlLmFtOiBJbnN0YWxsIGNsYXNzcGF0aC5zZWN1cml0eSBmaWxlLgoKMjAwNS0wMS0wOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIHJlc291cmNlL2phdmEvdXRpbC9pc282MzlfZnIucHJvcGVydGllcywKCXJlc291cmNlL2phdmEvdXRpbC9pc28zMTY2LnByb3BlcnRpZXMsCglyZXNvdXJjZS9qYXZhL3V0aWwvaXNvMzE2Nl9kZS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvamF2YS91dGlsL2lzbzYzOS1hMy5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvamF2YS91dGlsL2lzbzYzOV9kZS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvamF2YS91dGlsL2lzbzYzOS5wcm9wZXJ0aWVzLAoJcmVzb3VyY2UvamF2YS91dGlsL2lzbzYzOS1hMi1vbGQucHJvcGVydGllcywKCXJlc291cmNlL2phdmEvdXRpbC9pc28zMTY2LWEzLnByb3BlcnRpZXMsCglyZXNvdXJjZS9qYXZhL3V0aWwvaXNvNjM5X2dhLnByb3BlcnRpZXM6IFJlbW92ZWQuCgoyMDA1LTAxLTA3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvUGFja2FnZS5qYXZhIChnZXRQYWNrYWdlcyk6IFVzZSBWTUNsYXNzTG9hZGVyIHdoZW4KCWFwcHJvcHJpYXRlLgoJKGdldFBhY2thZ2UpOiBMaWtld2lzZS4KCjIwMDUtMDEtMDcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25pby9CdWZmZXIuamF2YSAoYWRkcmVzcyk6IE5ldyBmaWVsZC4KCSogamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YSAoYWRkcmVzcyk6IFJlbW92ZWQuCgkqIGphdmEvbmlvL01hcHBlZEJ5dGVCdWZmZXJJbXBsLmphdmEgKGFkZHJlc3MpOiBMaWtld2lzZS4uCgkqIGphdmEvbmlvL0NoYXJWaWV3QnVmZmVySW1wbC5qYXZhIChDaGFyVmlld0J1ZmZlckltcGwpOiBFeHBsaWNpdGVseQoJaW5pdGlhbGl6ZSBCdWZmZXIuYWRkcmVzcyBpZiBuZWVkZWQuCgkqIGphdmEvbmlvL0RvdWJsZVZpZXdCdWZmZXJJbXBsLmphdmEgKERvdWJsZVZpZXdCdWZmZXJJbXBsKTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL0Zsb2F0Vmlld0J1ZmZlckltcGwuamF2YSAoRmxvYXRWaWV3QnVmZmVySW1wbCk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9JbnRWaWV3QnVmZmVySW1wbC5qYXZhIChJbnRWaWV3QnVmZmVySW1wbCk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9Mb25nVmlld0J1ZmZlckltcGwuamF2YSAoTG9uZ1ZpZXdCdWZmZXJJbXBsKTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL1Nob3J0Vmlld0J1ZmZlckltcGwuamF2YSAoU2hvcnRWaWV3QnVmZmVySW1wbCk6IExpa2V3aXNlLgoKMjAwNS0wMS0wNyAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKGNvbHVtbkF0UG9pbnQpOiBOZXcgTWV0aG9kLiBJbXBsZW1lbnRlZC4KCShyb3dBdFBvaW50KTogTGlrZXdpc2UuCgkoY291bnRTZWxlY3Rpb25zKTogRml4ZWQgZmV3IHNtYWxsIGNvdW50IGVycm9ycy4KCShnZXRTZWxlY3Rpb25zKTogTGlrZXdpc2UuCgkoc2V0U2VsZWN0aW9uTW9kZSk6IFNldCBzZWxlY3Rpb24gbW9kZSBmb3IgY29sdW1uCglzZWxlY3Rpb24gbW9kZWwgaW4gYWRkaXRpb24gdG8gcm93IHNlbGVjdGlvbiBtb2RlbC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlVUkuamF2YToKCShnZXRSb3dGb3JQb2ludCk6IFJlbW92ZWQuIFJlcGxhY2VkIGJ5CglKVGFibGUucm93QXRQb2ludCgpLgoJKGdldENvbEZvclBvaW50KTogUmVtb3ZlZC4gUmVwbGFjZWQgYnkKCUpUYWJsZS5jb2x1bW5BdFBvaW50KCkuCgkodXBkYXRlU2VsZWN0aW9uKTogVXBkYXRlZCB0byBjYWxsIEpUYWJsZS5jb2x1bW5BdFBvaW50CglhbmQgSlRhYmxlLnJvd0F0UG9pbnQuCgkqIGphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZUNvbHVtbk1vZGVsLmphdmE6CgkoZ2V0U2VsZWN0ZWRDb2x1bW5zKTogSW1wbGVtZW50ZWQuCgkoZ2V0U2VsZWN0ZWRDb2x1bW5Db3VudCk6IEltcGxlbWVudGVkLgoKMjAwNS0wMS0wNyAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZU1vZGVsLmphdmEKCShEZWZhdWx0VGFibGVNb2RlbCgpKTogQWRkZWQgSmF2YWRvY3MuCgkoRGVmYXVsdFRhYmxlTW9kZWwoaW50LCBpbnQpKTogRml4ZWQgaW1wbGVtZW50YXRpb24uCgkoRGVmYXVsdFRhYmxlTW9kZWwoVmVjdG9yLCBpbnQpKTogVGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uCglmb3IgbmVnYXRpdmUgcm93Q291bnQuCgkoRGVmYXVsdFRhYmxlTW9kZWwoT2JqZWN0W10sIGludCkpOiBBZGRlZCBKYXZhZG9jcy4KCShEZWZhdWx0VGFibGVNb2RlbChWZWN0b3IsIFZlY3RvcikpOiBMaWtld2lzZS4KCShEZWZhdWx0VGFibGVNb2RlbChPYmplY3RbXVtdLCBPYmplY3RbXSkpOiBMaWtld2lzZS4KCShnZXREYXRhVmVjdG9yKTogTGlrZXdpc2UuCgkoc2V0RGF0YVZlY3RvcihWZWN0b3IsIFZlY3RvcikpOiBMaWtld2lzZS4KCShzZXREYXRhVmVjdG9yKE9iamVjdFtdW10sIE9iamVjdFtdKSk6IExpa2V3aXNlLgoJKG5ld0RhdGFBdmFpbGFibGUpOiBMaWtld2lzZS4KCShuZXdSb3dzQWRkZWQpOiBMaWtld2lzZS4KCShyb3dzUmVtb3ZlZCk6IExpa2V3aXNlLgoJKHNldENvbHVtbklkZW50aWZpZXJzKFZlY3RvcikpOiBBbGxvdyBmb3IgbnVsbCBhcmd1bWVudC4KCShzZXRDb2x1bW5JZGVudGlmaWVycyhPYmplY3RbXSkpOiBBZGRlZCBKYXZhZG9jcy4KCShzZXROdW1Sb3dzKTogTGlrZXdpc2UuCgkoc2V0Um93Q291bnQpOiBBZGRzIG5ldyByb3dzIGlmIG5lY2Vzc2FyeSwgYW5kIHNlbmRzIG1vcmUgc3BlY2lmaWMKCVRhYmxlTW9kZWxFdmVudC4KCShzZXRDb2x1bW5Db3VudCk6IEFsbG93IGZvciBudWxsIGNvbHVtbklkZW50aWZpZXJzLgoJKGFkZENvbHVtbihPYmplY3QpKTogQWRkZWQgSmF2YWRvY3MuCgkoYWRkQ29sdW1uKE9iamVjdCwgVmVjdG9yKSk6IEhhbmRsZSBudWxsIGNvbHVtbkRhdGEuCgkoYWRkQ29sdW1uKE9iamVjdCwgT2JqZWN0W10pKTogSGFuZGxlIGNvbHVtbkRhdGEgd2l0aCBtb3JlIG9yIGxlc3MKCWVudHJpZXMgdGhhbiByb3dzIGluIHRoZSB0YWJsZS4KCShhZGRSb3coVmVjdG9yKSk6IEZpcmUgYXBwcm9wcmlhdGUgZXZlbnQuCgkoYWRkUm93KE9iamVjdFtdKSk6IEFkZGVkIEphdmFkb2NzLgoJKGluc2VydFJvdyhpbnQsIFZlY3RvcikpOiBGaXJlIGFwcHJvcHJpYXRlIGV2ZW50LgoJKGluc2VydFJvdyhpbnQsIE9iamVjdFtdKSk6IEFkZGVkIEphdmFkb2NzLgoJKG1vdmVSb3cpOiBSZWltcGxlbWVudGVkLgoJKHJlbW92ZVJvdyhpbnQpKTogRmlyZSBhcHByb3ByaWF0ZSBldmVudC4KCShnZXRDb2x1bW5Db3VudCk6IEFsbG93IGZvciBudWxsIGNvbHVtbklkZW50aWZpZXJzLgoJKGdldENvbHVtbk5hbWUpOiBOb3cgcmV0dXJucyBlbXB0eSBzdHJpbmcgd2hlbiBjb2x1bW4gaW5kZXggaXMgdG9vCglsYXJnZS4KCShpc0NlbGxFZGl0YWJsZSk6IEFkZGVkIEphdmFkb2NzLgoJKGdldFZhbHVlQXQpOiBMaWtld2lzZS4KCShzZXRWYWx1ZUF0KTogRmlyZSBtb3JlIHNwZWNpZmljIGV2ZW50LgoJKGNvbnZlcnRUb1ZlY3Rvcik6IEFkZGVkIEphdmFkb2NzLgoJKiBqYXZheC9zd2luZy90YWJsZS9UYWJsZU1vZGVsLmphdmEKCUFkZGVkIEphdmFkb2NzLgoKMjAwNS0wMS0wNyAgQXJjaGllIENvYmJzICA8YXJjaGllQGRlbGxyb2FkLm9yZz4KCgkqIE5FV1M6IERvY3VtZW50IGNoYW5nZXMuCgkqIGphdmEvbGFuZy9DbGFzcy5qYXZhIChuZXdJbnN0YW5jZSgpLCBnZXRDbGFzc0xvYWRlcigpLAoJZm9yTmFtZShTdHJpbmcpLCBmb3JOYW1lKFN0cmluZywgYm9vbGVhbiwgQ2xhc3NMb2FkZXIpKToKCVVzZSBuZXcgVk1TdGFja1dhbGtlciBtZXRob2RzLgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YSAoZ2V0UGFyZW50KCksIGdldFN5c3RlbUNsYXNzTG9hZGVyKCkpOgoJTGlrZXdpc2UuCgkqIGphdmEvbGFuZy9QYWNrYWdlLmphdmEgKGdldFBhY2thZ2VzKCkpOiBMaWtld2lzZS4KCSogamF2YS9sYW5nL1NlY3VyaXR5TWFuYWdlci5qYXZhIChnZXRDbGFzc0NvbnRleHQoKSk6IExpa2V3aXNlLgoJKiBqYXZhL3V0aWwvUmVzb3VyY2VCdW5kbGUuamF2YSAoZ2V0QnVuZGxlKCkpOiBMaWtld2lzZS4KCSogamF2YS9sYW5nL1J1bnRpbWUuamF2YSAobG9hZCgpLCBsb2FkTGlicmFyeSgpKTogTG9hZCB0aGUgbmF0aXZlCglsaWJyYXJ5IHVzaW5nIHRoZSBjYWxsaW5nIGNsYXNzJyBjbGFzcyBsb2FkZXIuCgkqIGphdmEvbGFuZy9TeXN0ZW0uamF2YSAobG9hZCgpLCBsb2FkTGlicmFyeSgpKTogTGlrZXdpc2UuCgkoY3VycmVudENsYXNzTG9hZGVyKCkpOiBpbXBsZW1lbnQgdmlhIGN1cnJlbnRMb2FkZWRDbGFzcygpLgoJKiB2bS9yZWZlcmVuY2UvZ251L2NsYXNzcGF0aC9WTVN0YWNrV2Fsa2VyLmphdmE6IE5ldyBjbGFzcy4KCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTVJ1bnRpbWUuamF2YSAobmF0aXZlTG9hZCgpKToKCUFkZCBhIENsYXNzTG9hZGVyIHBhcmFtZXRlci4KCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTVNlY3VyaXR5TWFuYWdlci5qYXZhOiBSZW1vdmVkLgoKMjAwNS0wMS0wNyAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhOgoJKGdldE9mZnNldCk6IG9mZnNldCBlbmQgZGF0ZSB3aXRoIGRheWxpZ2h0IHNhdmluZ3MKCjIwMDUtMDEtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhIChmaW5kQ2xhc3MpOiBGaXhlZCBkb2N1bWVudGF0aW9uLgoKMjAwNS0wMS0wNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogY29uZmlndXJlLmFjOiBVcGRhdGUgdmVyc2lvbiB0byAwLjEzLgoJKiBORVdTOiBBZGQgbmV3cyBhYm91dCAwLjEzLgoJKiBJTlNUQUxMOiBNZW50aW9uIG5ldyBkZXBlbmRlbmNpZXMgYW5kIGNvbmZpZ3VyZSBmbGFncy4KCjIwMDUtMDEtMDYgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzogQWRkIGV4cGxpY2l0IFggYW5kIGxpYlh0c3QgdGVzdHMgd2hlbiBndGsrIHBlZXJzIGFyZQoJZW5hYmxlZC4KCjIwMDUtMDEtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvVGltZVpvbmUuamF2YQoJKHNldElEKTogVGhyb3cgTnVsbFBvaW50ZXJFeGNlcHRpb24gaWYgbmVlZGVkLgoKMjAwNS0wMS0wNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbGliL2dlbi1jbGFzc2xpc3Quc2guaW46IERvbid0IHNwbGl0IGxvY2FsZXMgaW4gY2xhc3Nlcy5sb2NhbGUxCglhbmQgY2xhc3Nlcy5sb2NhbGUyLgoJKiBsaWIvTWFrZWZpbGUuYW0gKEpBVkFDKTogQ29tcGlsZSBvbmx5IGNsYXNzZXMubG9jYWxlLgoJKENMRUFORklMRVMpOiBSZW1vdmUgY2xhc3Nlcy5sb2NhbGUxIGFuZCBjbGFzc2VzLmxvY2FsZTIsCglhZGQgY2xhc3Nlcy5sb2NhbGUuCgoyMDA1LTAxLTA1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvemlwL1ppcEVudHJ5LmphdmEgKHNldENvbXByZXNzZWRTaXplKTogQWxsb3cgYW55Cglhcmd1bWVudC4KCShjb21wcmVzc2VkU2l6ZSk6IE5vdyAnbG9uZycuICBEZWZhdWx0IHRvIC0xLgoJKGdldENvbXByZXNzZWRTaXplKTogUmV3cm90ZS4KCjIwMDUtMDEtMDUgIFJhbmppdCBNYXRoZXcgIDxybWF0aGV3QGhvdG1haWwuY29tPgoKCSogamF2YS91dGlsL0lkZW50aXR5SGFzaE1hcC5qYXZhIChwdXQpOiBSZXBsYWNlIG1pc3Rha2VuIHVzZQoJb2YgIjw8IiBieSAiKiIuCgoyMDA1LTAxLTA1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21uX01OLmphdmE6CglOZXcgZmlsZS4KCSogZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FhLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWFfREouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hYV9FUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FhX0VSX1NBQUhPLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYWFfRVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hZi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FmX1pBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYW0uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hbV9FVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfRFouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0lRLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfSk8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9LVy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX0xCLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfTFkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9NQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX1FBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfU0EuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcl9TWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FyX1ROLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXJfWUUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9hcy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2FzX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYXouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JlX0JZLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYmcuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9iZ19CRy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2JuLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fYm5fSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2NhX0VTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY3MuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9jc19DWi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2N5LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fY3lfR0IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RhX0RLLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9BVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0JFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGVfQ0guamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kZV9ERS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlX0xJLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZGVfTFUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kdi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2R2X01WLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZHouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9kel9CVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VsLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZWxfR1IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0FTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQVUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9CRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0JXLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fQlouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9DQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0dCLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fR1UuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9ISy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX0lFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9NSC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX01QLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fTVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9OWi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1BILmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fUEsuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9TRy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1VNLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fVVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9VU19QT1NJWC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuX1ZJLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW5fWkEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lbl9aVy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19BUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0JPLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfQ0wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19DTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0NSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfRE8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19FQy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX0VTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfR1QuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19ITi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX01YLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfTkkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19QQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1BFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfUFIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19QWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1NWLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXNfVVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9lc19VWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VzX1ZFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ldF9FRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2V1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZXVfRVMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZhX0FGLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZmFfSVIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9maS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZpX0ZJLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZm8uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mb19GTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfQkUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9mcl9DQS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ZyX0NILmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZnJfTFUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2dhX0lFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ2wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9nbF9FUy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2d1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZ3VfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ndi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2d2X0dCLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oZV9JTC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2hpLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faGlfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h1LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHVfSFUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9oeS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2h5X0FNLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faHlfQU1fUkVWSVNFRC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lkLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faWRfSUQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pcy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2lzX0lTLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9pdF9DSC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2l0X0lULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25faXUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9qYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2phX0pQLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2EuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ray5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2trX0taLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa2wuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbF9HTC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2ttLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa21fS0guamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rbi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2tuX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa28uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9rb19LUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2t3LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fa3dfR0IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9reS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2xvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbG9fTEEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sdC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2x0X0xULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbHYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9sdl9MVi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21rLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbWwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tbF9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21uLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tcl9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX21zLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXNfQk4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9tc19NWS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX210LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbXRfTVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9uYi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25iX05PLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbmwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubF9CRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX25sX05MLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fbm4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubl9OTy5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX29tLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fb21fRVQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9vbV9LRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX29yLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fb3JfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wYS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BhX0lOLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcGwuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wbF9QTC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3BzLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHNfQUYuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9wdC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3B0X0JSLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcHRfUFQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9yby5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3JvX1JPLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fcnUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ydV9SVS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3J1X1VBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2EuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zYV9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NrLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc2tfU0suamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zbC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NvLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc29fREouamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zb19FVC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NvX0tFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc29fU08uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zcS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3NxX0FMLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3IuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zcl9MYXRuLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3YuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zdl9GSS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N2X1NFLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fc3cuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9zd19LRS5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3N3X1RaLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGEuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90YV9JTi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RlLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGVfSU4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90aC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RoX1RILmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdGkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90aV9FUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3RpX0VULmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdHIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl90cl9UUi5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3R0LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdHRfUlUuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl91ay5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3VrX1VBLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdXIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl91ei5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3V6X0FGLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fdmkuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poX0NOX0hhbnMuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9IS19IYW50LmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfSGFudC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX3poX01PX0hhbnQuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl96aF9TR19IYW5zLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25femhfVFdfSGFudC5qYXZhOgoJUmVnZW5lcmF0ZWQuCgoyMDA1LTAxLTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiB2bS9yZWZlcmVuY2UvamF2YS9sYW5nL1ZNUHJvY2Vzcy5qYXZhIChWTVByb2Nlc3MpOiBDb25zdHJ1Y3RvcgoJbm93IHBhY2thZ2UtcHJpdmF0ZS4KCShwcm9jZXNzVGhyZWFkLCB3b3JrTGlzdCwgcmVhcGVkUGlkLCByZWFwZWRFeGl0VmFsdWUsIHN0YXRlLCBjbWQsCgllbnYsIGRpciwgZXhjZXB0aW9uLCBwaWQsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZXhpdFZhbHVlKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkobmF0aXZlU3Bhd24sIG5hdGl2ZVJlYXApOiBMaWtld2lzZS4KCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTVRocmVhZC5qYXZhIChjdXJyZW50VGhyZWFkKTogUmVvcmRlcmVkCgltb2RpZmllcnMuCgkqIHZtL3JlZmVyZW5jZS9qYXZhL3NlY3VyaXR5L1ZNQWNjZXNzQ29udHJvbGxlci5qYXZhCgkoREVGQVVMVF9DT05URVhUKTogUmVvcmRlcmVkIG1vZGlmaWVycy4KCgkqIGdudS9qYXZhL25pby9TZWxlY3RvckltcGwuamF2YTogUmVtb3ZlZCB1bnVzZWQgaW1wb3J0LgoJKiBnbnUvamF2YS9zZWN1cml0eS9kZXIvREVSV3JpdGVyLmphdmE6IFJlbW92ZWQgdW51c2VkIGltcG9ydC4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvQ29ubmVjdGlvbi5qYXZhOiBSZW1vdmVkIHVudXNlZAoJaW1wb3J0LgoJKiBnbnUvamF2YS9uaW8vUGlwZUltcGwuamF2YSAocmVhZCk6IFJlb3JkZXJlZCBtb2RpZmllcnMuICBGaXhlZAoJaW5kZW50YXRpb24uCgkod3JpdGUpOiBMaWtld2lzZS4KCSogZ251L2phdmEvcm1pL3NlcnZlci9Db25uZWN0aW9uUnVubmVyUG9vbC5qYXZhCgkoZ2V0Q29ubmVjdGlvblJ1bm5lcik6IFJlb3JkZXJlZCBtb2RpZmllcnMuCgkqIGdudS9qYXZhL3RleHQvRm9ybWF0Q2hhcmFjdGVySXRlcmF0b3IuamF2YSAoZGVidWcpOiBSZW1vdmVkCgl1c2VsZXNzIGBmaW5hbCcuCgkoZHVtcFRhYmxlKTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL25ldC9QbGFpbkRhdGFncmFtU29ja2V0SW1wbC5qYXZhIChiaW5kKTogUmVvcmRlcmVkCgltb2RpZmllcnMuCgkoY3JlYXRlLCBzZXRPcHRpb24sIGdldE9wdGlvbiwgY2xvc2UsIGpvaW4sIGxlYXZlKTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL25ldC9QbGFpblNvY2tldEltcGwuamF2YSAoY3JlYXRlKTogUmVvcmRlcmVkCgltb2RpZmllcnMuCgkoYmluZCwgbGlzdGVuLCBhY2NlcHQpOiBMaWtld2lzZS4KCjIwMDUtMDEtMDQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogQWRkZWQgQ2hhbmdlTG9nLTIwMDQuCgoyMDA1LTAxLTA0ICBSb2JlcnQgU2NodXN0ZXIgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgogICAgICAgKiBnbnUvamF2YS9iZWFucy9EdW1teUFwcGxldFN0dWIuamF2YTogQWRkIGR1bW15IGltcGxlbWVudGF0aW9uCiAgICAgICBvZiBBcHBsZXRTdHViIGZvciBqYXZhLmJlYW5zLkJlYW5zLmluc3RhbnRpYXRlLgogICAgICAgKiBnbnUvamF2YS9iZWFucy9EdW1teUFwcGxldENvbnRleHQuamF2YTogQWRkIGR1bW15IGltcGxlbWVudGF0aW9uCiAgICAgICBvZiBBcHBsZXRDb250ZXh0LgogICAgICAgKiBqYXZhL2JlYW5zL0JlYW5zOiBBZGRlZCAxLjQgZnVuY3Rpb25hbGl0eSwgZml4ZWQgdXNlciBkb2N1bWVudGF0aW9uCiAgICAgICB0byBiZSBjb25mb3JtYW50IHdpdGggSmF2YWRvYyBndWlkZWxpbmVzLgogICAgICAgKGluc3RhbnRpYXRlKTogQWRkZWQgdHdvIG1vcmUgb3ZlcmxvYWRlZCB2YXJpYW50cywgcmV3b3JrZWQgdXNlcgogICAgICAgZG9jdW1lbnRhdGlvbiwgZml4ZWQgZXhjZXB0aW9uIGJlaGF2aW9yLCBmaXhlZCBiZWhhdmlvciB3aGVuCiAgICAgICBkZXNlcmlhbGl6aW5nIG51bGwuCgoyMDA1LTAxLTAzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShnZXRDb250cm9sVGV4dEZvbnQpOiBOZXcgbWV0aG9kLgoJKGdldE1lbnVUZXh0Rm9udCk6IExpa2V3aXNlLgoJKGdldFN1YlRleHRGb250KTogTGlrZXdpc2UuCgkoZ2V0U3lzdGVtVGV4dEZvbnQpOiBMaWtld2lzZS4KCShnZXRVc2VyVGV4dEZvbnQpOiBMaWtld2lzZS4KCShnZXRXaW5kb3dUaXRsZUZvbnQpOiBMaWtld2lzZS4KCjIwMDUtMDEtMDMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKGRvY3VtZW50RmlsdGVyKTogTmV3IGZpZWxkLgoJKGdldERvY3VtZW50RmlsdGVyKTogTmV3IG1ldGhvZC4KCShzZXREb2N1bWVudEZpbHRlcik6IExpa2V3aXNlLgoJKGR1bXApOiBMaWtld2lzZS4KCjIwMDUtMDEtMDMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhCgkoRHluYW1pY1V0aWxUcmVlTm9kZS5oYXNDaGlsZHJlbik6IENsYXJpZnkgamF2YWRvYy4KCjIwMDUtMDEtMDMgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmEgKGNyZWF0ZVJvYm90KTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzRW52aXJvbm1lbnQuamF2YQoJKGdldERlZmF1bHRTY3JlZW5EZXZpY2UpOiBJbXBsZW1lbnQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtSb2JvdFBlZXIuamF2YTogTmV3IGZpbGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtTY3JlZW5HcmFwaGljc0RldmljZS5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YSAoY3JlYXRlUm9ib3QpOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2F3dC9Sb2JvdC5qYXZhOiBJbXBsZW1lbnQuCgkqIGphdmEvYXd0L3BlZXIvUm9ib3RQZWVyLmphdmE6IFJlbmFtZSBwYXJhbWV0ZXJzLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtSb2JvdFBlZXIuYzogTmV3IGZpbGUuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKGF3dF9rZXljb2RlX3RvX2tleXN5bSk6IE1ha2Ugbm9uLXN0YXRpYy4KCSogbmF0aXZlL2puaS9ndGstcGVlci9ndGtwZWVyLmggKEFXVF9CVVRUT04xX01BU0ssIEFXVF9CVVRUT04yX01BU0ssCglBV1RfQlVUVE9OM19NQVNLKTogRGVjbGFyZSBjb25zdGFudHMuCgkoYXd0X2tleWNvZGVfdG9fa2V5c3ltKTogRGVjbGFyZS4KCjIwMDUtMDEtMDMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYMTEgc3R1ZmYgd2hlbiBHVEsgcGVlciBpcyBlbmFibGVkLgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtOiBHZW5lcmF0ZSBnbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUm9ib3RQZWVyLmguCgkqIGluY2x1ZGUvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1JvYm90UGVlci5oOiBOZXcgZmlsZXMuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvTWFrZWZpbGUuYW06IExpbmsgbGliWHRzdC4KCUFkZGVkIGdudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtSb2JvdFBlZXIuYyB0byB0aGUgYnVpbGQuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1JvYm90UGVlci5jOgoJQWRkZWQgIl9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSIgYWxsIG92ZXIuCgoyMDA1LTAxLTAzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uZXQvSW5ldEFkZHJlc3MuamF2YTogTWFkZSBhbGwgaGV4YWRlY2ltYWwgbnVtYmVycyBsb3dlcmNhc2UuCglGaXhlZCB0eXBvcyBpbiBqYXZhZG9jcy4KCShpc1NpdGVMb2NhbEFkZHJlc3MpOiBGaXhlZCBoYW5kbGluZyBvZiBieXRlIHZhbHVlcy4KCShpc01DTGlua0xvY2FsKTogTGlrZXdpc2UuCgkqIGphdmEvbmV0L0luZXQ0QWRkcmVzcy5qYXZhCgkoaXNNdWx0aWNhc3RBZGRyZXNzKTogQ2FsbCBzdXBlciBtZXRob2QuCgkoaXNMb29wYmFja0FkZHJlc3MpOiBMaWtld2lzZS4KCShpc0FueUxvY2FsQWRkcmVzcyk6IExpa2V3aXNlLgoJKGlzTGlua0xvY2FsQWRkcmVzcyk6IExpa2V3aXNlLgoJKGlzU2l0ZUxvY2FsQWRkcmVzcyk6IExpa2V3aXNlLgoJKGlzTUNHbG9iYWwpOiBMaWtld2lzZS4KCShpc01DTm9kZUxvY2FsKTogTGlrZXdpc2UuCgkoaXNNQ0xpbmtMb2NhbCk6IExpa2V3aXNlLgoJKGlzTUNTaXRlTG9jYWwpOiBMaWtld2lzZS4KCShpc01DT3JnTG9jYWwpOiBMaWtld2lzZS4KCShnZXRIb3N0QWRkcmVzcyk6IExpa2V3aXNlLgoKMjAwNS0wMS0wMiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYmVhbnMvZGVjb2Rlci9EdW1teUhhbmRsZXIuamF2YTogQWRkIHJldHVybiBzdGF0ZW1lbnRzIGZvcgoJZmFpbGluZyBtZXRob2RzLgoJKiBnbnUvamF2YS9iZWFucy9kZWNvZGVyL0R1bW15Q29udGV4dC5qYXZhOiBMaWtld2lzZS4KCjIwMDUtMDEtMDIgIFJvYmVydCBTY2h1c3RlciAgPHRoZUJvaGVtaWFuQGdteC5uZXQ+CgoJKiBnbnUvamF2YS9iZWFucy9kZWNvZGVyL0Fic3RyYWN0Q29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9BYnN0cmFjdENyZWF0YWJsZUNvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQWJzdHJhY3RFbGVtZW50SGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9BYnN0cmFjdE9iamVjdENvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQXJyYXlDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0FycmF5SGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9Cb29sZWFuSGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9CeXRlSGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9DaGFySGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9DbGFzc0hhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQ29uc3RydWN0b3JDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0NvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvRGVjb2RlckNvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvRGVmYXVsdEV4Y2VwdGlvbkxpc3RlbmVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0RvdWJsZUhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvRHVtbXlDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0R1bW15SGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9FbGVtZW50SGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9GbG9hdEhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvR3Jvd2FibGVBcnJheUNvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvSW5kZXhDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0ludEhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvSmF2YUhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvTG9uZ0hhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvTWV0aG9kQ29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9NZXRob2RGaW5kZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvTnVsbEhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvT2JqZWN0Q29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9PYmplY3RIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL1BlcnNpc3RlbmNlUGFyc2VyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL1Byb3BlcnR5Q29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9TaG9ydEhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvU2ltcGxlSGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9TdGF0aWNNZXRob2RDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL1N0cmluZ0hhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvVm9pZEhhbmRsZXIuamF2YTogTmV3IGNsYXNzCglpbXBsZW1lbnRpbmcgamF2YS5iZWFucy5YTUxEZWNvZGVyIGRlY29kaW5nIGZ1bmN0aW9uYWxpdHkuCgkqIGphdmEvYmVhbnMvWE1MRGVjb2Rlci5qYXZhOiBOZXcgY2xhc3MuCgoyMDA1LTAxLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBhY2luY2x1ZGUubTQgKFJFR0VOX1dJVEhfSkFZKTogTmV3IG1hY3JvLgoJKiBjb25maWd1cmUuYWM6IENhbGwgUkVHRU5fV0lUSF9KQVkuCgkqIGxpYi9NYWtlZmlsZS5hbSAoZ2VuLXhwYXRoLXBhcnNlcik6IE5ldyBydWxlLCBkZXBlbmRzIG9uCglSRUdFTl9QQVJTRVIgYmVpbmcgZGVmaW5lZC4KCShnZW5jbGFzc2VzKTogRGVwZW5kIG9uIGdlbi14cGF0aC1wYXJzZXIuCgoyMDA1LTAxLTAyICBBcmNoaWUgQ29iYnMgIDxhcmNoaWVAZGVsbHJvYWQub3JnPgoKCSogdm0vcmVmZXJlbmNlL2phdmEvbGFuZy9WTVRocmVhZC5qYXZhIChzbGVlcCgpKTogcmV2ZXJ0IGJlaGF2aW9yCglvZiBzbGVlcCgwLDApIHRvIHByZXZpb3VzLCB3aGVyZSB3ZSBjaGVjayBmb3IgSW50ZXJydXB0ZWRFeGNlcHRpb24uCgoyMDA1LTAxLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBDaGFuZ2VMb2cuZ251amF4cC4xOiBOZXcgKGhpc3RvcmljKSBDaGFuZ2VMb2cgZmlsZS4KCSogQ2hhbmdlTG9nLmdudWpheHAuMjogTGlrZXdpc2UuCgkqIENoYW5nZUxvZy5saWJ4bWxqOiBMaWtld2lzZS4KCSogTWFrZWZpbGUuYW0gKEVYVFJBX0RJU1QpOiBMaXN0IG5ldyBDaGFuZ2VMb2cgZmlsZXMuCgkqIElOU1RBTEw6IEFkZCBsaWJ4bWwyIGFuZCBsaWJ4c2x0IHJlcXVpcmVtZW50cyBmb3IgLS1lbmFibGUteG1sai4KCSogZG9jL1JFQURNRS5qYXhwOiBOZXcgZmlsZS4KCSogZG9jL01ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogTGlzdCBuZXcgUkVBRE1FLmpheHAKCSogbmF0aXZlL2puaS94bWxqL0JVR1M6IE5ldyBmaWxlLgoJKiBuYXRpdmUvam5pL3htbGovTWFrZWZpbGUuYW0gKEVYVFJBX0RJU1QpOiBMaXN0IG5ldyBCVUdTIGZpbGUuCgoyMDA1LTAxLTAyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBsaWIvZ2VuLWNsYXNzbGlzdC5zaC5pbjogVXNlIHRlc3QgLWVmIGFuZCBlY2hvIHRvcF9zcmNkaXIgYW5kCgl0b3BfYnVpbGRkaXIgbG9jYXRpb25zLgoKMjAwNS0wMS0wMiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogY29uZmlndXJlLmFjOiBGaXggcGtnIGNoZWNrcyBmb3IgbGlieG1sLTIuMCBhbmQgbGlieHNsdC4KCSogbmF0aXZlL2puaS94bWxqL01ha2VmaWxlLmFtIChBTV9DRkxBR1MpOiBBZGQgU1RSSUNUX1dBUk5JTkdfQ0ZMQUdTCglidXQgZGlzYWJsZSBFUlJPUl9DRkxBR1MuCgkqIG5hdGl2ZS9qbmkveG1sai94bWxqX2RvbS5jOiBBZGQgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSB3aGVyZQoJb2J2aW91cy4KCSogbmF0aXZlL2puaS94bWxqL3htbGpfc2F4LmM6IExpa2V3aXNlLgoJKiBuYXRpdmUvam5pL3htbGoveG1sal90cmFuc2Zvcm0uYzogTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkveG1sai94bWxqX3hwYXRoLmM6IExpa2V3aXNlLgoKMjAwNS0wMS0wMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkoQWJzdHJhY3RFbGVtZW50LmdldExlbmd0aCk6IEZpeGVkIG9mZi1ieS1vbmUgZXJyb3IuCgkoQWJzdHJhY3RFbGVtZW50LmNoaWxkcmVuKTogTWFkZSBhYnN0cmFjdC4KCShBYnN0cmFjdEVsZW1lbnQuZ2V0QWxsb3dzQ2hpbGRyZW4pOiBMaWtld2lzZS4KCShBYnN0cmFjdEVsZW1lbnQuZ2V0RWxlbWVudCk6IExpa2V3aXNlLgoJKEFic3RyYWN0RWxlbWVudC5kdW1wRWxlbWVudCk6IE5ldyBwcml2YXRlIG1ldGhvZC4KCShBYnN0cmFjdEVsZW1lbnQuZHVtcCk6IE5ldyBtZXRob2QuCgkoQnJhbmNoRWxlbWVtdC5nZXROYW1lKTogRml4ZWQgaW1wbGVtZW50YXRpb24uCgkoQnJhbmNoRWxlbWVtdC50b1N0cmluZyk6IExpa2V3aXNlLgoJKEJyYW5jaEVsZW1lbXQuZ2V0RWxlbWVudCk6IEZpeGVkIGFyZ3VtZW50cy4KCShMZWFmRWxlbWVudC5nZXROYW1lKTogRml4ZWQgaW1wbGVtZW50YXRpb24uCgkoTGVhZkVsZW1lbnQudG9TdHJpbmcpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEKCShHYXBDb250ZW50KTogUHV0IGRlZmF1bHQgY29udGVudCBpbnRvIGJ1ZmZlci4KCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpbkRvY3VtZW50LmphdmEKCShyZWluZGV4KTogVXNlIGVtcHR5IGF0dHJpYnV0ZSBzZXRzIGluc3RlYWQgb2YgbnVsbC4KCShjcmVhdGVEZWZhdWx0Um9vdCk6IFJlaW1wbGVtZW50ZWQuCgkoaW5zZXJ0VXBkYXRlKTogQ2FsbCBzdXBlciBtZXRob2QuCgkocmVtb3ZlVXBkYXRlKTogTGlrZXdpc2UuCgkoZ2V0UGFyYWdyYXBoRWxlbWVudCk6IEltcGxlbWVudGVkLgoKMjAwNS0wMS0wMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCb3VuZGVkUmFuZ2VNb2RlbC5qYXZhCgkoZmlyZVZhbHVlQ2hhbmdlZCk6IEZpeGVkIG9mZi1ieS1vbmUgZXJyb3IuCgoMCkxvY2FsIFZhcmlhYmxlczoKY29kaW5nOiBpc28tbGF0aW4tMS11bml4CQpFbmQ6Cg==