MjAwNS0xMi0yMyAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCSogSmFtZmlsZSwgZG9jcy9yZWZlcmVuY2UvUkVBRE1FOiBmaXggaXQgc28gdGhhdCAiamFtIHJlZmRvYyIgd29ya3MKCWNvcnJlY3RseSB0byBnZW5lcmF0ZSB0aGUgQVBJIHJlZmVyZW5jZSBpbiAnZG9jcy9yZWZlcmVuY2UnCgoJKiBzcmMvdG9vbHMvZG9jbWFrZXIvdG9odG1sLnB5OiB1cGRhdGUgdG8gb3V0cHV0IG5pY2VyIGZpZWxkcyBsaXN0cwoJaW4gdGhlIEFQSSByZWZlcmVuY2UKCgkqIHNyYy9iYXNlL2Z0b2Jqcy5jIChGVF9Mb2FkX0dseXBoKTogRlRfTE9BRF9UQVJHRVRfTElHSFQgbm93Cglmb3JjZXMgYXV0by1oaW50aW5nCgoJKiBmcmVldHlwZS9mcmVldHlwZS5oOiB1cGRhdGluZyB0aGUgZG9jdW1lbnRhdGlvbiBmb3IKCUZUX0xPQURfVEFSR0VUX1hYWCBhbmQgRlRfUmVuZGVyX01vZGUgdmFsdWVzCgoKMjAwNS0xMi0yMyAgc3V6dWtpIHRvc2hpeWEgPG1wc3V6dWtpQGhpcm9zaGltYS11LmFjLmpwPgoKCSogc3JjL2Jhc2UvZnRtYWMuYyAoRlRfTmV3X0ZhY2VfRnJvbV9TdWl0Y2FzZSk6IENvdW50cyBzY2FsYWJsZQoJZmFjZXMgaW4gc3VwcG9ydGVkIGZvcm1hdHMgKHNmbnQsIExXRk4pIG9ubHksIGFuZCBpZ25vcmUgYml0bWFwCglmYWNlcyBpbiB1bnN1cHBvcnRlZCBmb3JtYXRzIChmYml0LCBORk5UKS4gVGhlIG51bWJlciBvZiBhdmFpbGFibGUKCWZhY2VzIGFyZSBwYXNzZWQgdmlhIGZhY2UtPm51bV9mYWNlcy4gV2hlbiBiaXRtYXAgZmFjZXMgYXJlIGVtYmVkZGVkCglpbiBzZm50IHJlc291cmNlLCBmYWNlLT5udW1fZml4ZWRfc2l6ZSBpcyBjb3JyZWN0bHkgc2V0LiBJbiBwdWJsaWMKCUFQSSwgRlRfTmV3X0ZhY2UoKSBhbmQgRlRfTmV3X0ZhY2VfRnJvbV9GU1NwZWMoKSBjb3VudCB0aGUgZmFjZXMKCWFzIEZUX0dldEZpbGVfRnJvbV9NYWNfTmFtZSgpLCB3aGljaCBpZ25vcmVzIE5GTlQgcmVzb3VyY2VzLgoKCSogZG9jL0NIQU5HRVM6IE1lbnRpb24gdGhlIGNoYW5nZXMuCgoyMDA1LTEyLTE3ICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy90cnVldHlwZS90dGludGVycC5jIChVcGRhdGVfTWF4KTogU2V0IGN1cnJlbnQgc2l6ZSBvZiBidWZmZXIKCWNvcnJlY3RseSAoc28gdGhhdCBtZW1vcnkgZGVidWcgc3lzdGVtIHdvbid0IHBhbmljKS4KCjIwMDUtMTItMTYgIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9mdG9ianMuaCAoZnRfZ2x5cGhzbG90X2dyaWRfZml0X21ldHJpY3MpLAoJc3JjL2Jhc2UvZnRvYmpzLmMgKGZ0X2dseXBoc2xvdF9ncmlkX2ZpdF9tZXRyaWNzKTogUmVtb3ZlZC4KCgkqIHNyYy9iYXNlL2Z0b2Jqcy5jIChmdF9yZWNvbXB1dGVfc2NhbGVkX21ldHJpY3MpOiBEbyBub3Qgcm91bmQuCgoJKiBzcmMvY2ZmL2NmZmdsb2FkLmMgKGNmZl9zbG90X2xvYWQpLCBzcmMvY2lkL2NpZGdsb2FkLmMKCShjaWRfc2xvdF9sb2FkX2dseXBoKSwgc3JjL3RydWV0eXBlL3R0Z2xvYWQuYyAoY29tcHV0ZV9nbHlwaF9tZXRyaWNzKSwKCXNyYy90eXBlMS90MWdsb2FkLmMgKFQxX0xvYWRfR2x5cGgpOiBEbyBub3Qgcm91bmQgZ2x5cGggbWV0cmljcy4KCgkqIGRvYy9DSEFOR0VTOiBNZW50aW9uIHRoZSBjaGFuZ2VzLgoKMjAwNS0xMi0xMyAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCUNoYW5nZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIExJR0hUIGhpbnRpbmcgbW9kZSB0byBjb21wbGV0ZWx5CglkaXNhYmxlIGhvcml6b250YWwgaGludGluZy4gIFRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIGVmZm9ydCB0bwoJaW50ZWdyYXRlIERhdmlkIENoZXN0ZXIncyBsYXRlc3QgcGF0Y2ggd2l0aG91dCBhZmZlY3RpbmcgdGhlIG90aGVyCgloaW50aW5nIG1vZGVzIGFzIHdlbGwuCgoJTm90ZSB0aGF0IHRoaXMgZG9lc24ndCBmb3JjZSBhdXRvLWhpbnRpbmcgZm9yIGFsbCBmb250cywgaG93ZXZlci4KCgkqIHNyYy9hdXRvZml0L2FmaGludHMuYyAoYWZfZ2x5cGhfaGludHNfcmVsb2FkKTogRG9uJ3Qgc2V0CglzY2FsZXJfZmlhZ3MgaGVyZSBidXQuLi4KCShhZl9nbHlwaF9oaW50c19yZXNjYWxlKTogSGVyZS4KCgkqIHNyYy9hdXRvZml0L2FmbGF0aW4uYyAoYWZfbGF0aW5faGludHNfaW5pdCk6IERpc2FibGUgaG9yaXpvbnRhbAoJaGludGluZyBmb3IgYGxpZ2h0JyBoaW50aW5nIG1vZGUuCgoKCSogSmFtZmlsZTogU21hbGwgZml4IHRvIGVuc3VyZSB0aGF0IGZ0ZXhwb3J0LnN5bSBpcyBwbGFjZWQgaW50byB0aGUKCXNhbWUgbG9jYXRpb24gYXMgb3RoZXIgZ2VuZXJhdGVkIG9iamVjdHMgKGkuZS4sIHdpdGhpbiB0aGUgYG9ianMnCglkaXJlY3Rvcnkgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5KS4KCgoJQWRkIHN1cHBvcnQgZm9yIGFuIGVtYmVkZGVkIGBCREYgJyB0YWJsZSB3aXRoaW4gU0ZOVC1iYXNlZCBiaXRtYXAKCWZvbnQgZmlsZXMuICBUaGlzIGlzIHVzZWQgdG8gc3RvcmUgYXRvbXMgJiBwcm9wZXJ0aWVzIGZyb20gdGhlCglvcmlnaW5hbCBCREYgZm9udHMgdGhhdCB3ZXJlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGZvbnQgZmlsZS4KCglUaGUgZmVhdHVyZSBpcyBjb250cm9sbGVkIGJ5IFRUX0NPTkZJR19PUFRJT05fQkRGIHdpdGhpbgoJYGZ0b3B0aW9uLmgnIGFuZCBpcyB1c2VkIHRvIGltcGxlbWVudCBGVF9HZXRfQkRGX1Byb3BlcnR5IGZvciB0aGVzZQoJZm9udCBmaWxlcy4KCglBdCB0aGUgbW9tZW50LCB0aGlzIGlzIHN0aWxsIGV4cGVyaW1lbnRhbCwgdGhlIEJERiB0YWJsZSBmb3JtYXQKCWlzbid0IGNhc3QgaW50byBzdG9uZSB5ZXQuCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2NvbmZpZy9mdG9wdGlvbi5oIChUVF9DT05GSUdfT1BUSU9OX0JERik6IE5ldwoJbWFjcm8uCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2NvbmZpZy9mdHN0ZGxpYi5oIChmdF9tZW1jaHIpOiBOZXcgbWFjcm8uCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL3R0dHlwZXMuaCAoVFRfQkRGUmVjLCBUVF9CREYpCglbVFRfQ09ORklHX09QVElPTl9CREZdOiBOZXcgc3RydWN0dXJlLgoJKFRUX0ZhY2VSZWMpIFtUVF9DT05GSUdfT1BUSU9OX0JERl06IE5ldyBtZW1iZXIgYGJkZicuCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL3R0YWdzLmggKFRUQUdfQkRGKTogTmV3IG1hY3JvLgoKCSogc3JjL3NmbnQvSmFtZmlsZSAoX3NvdXJjZXMpOiBBZGQgdHRiZGYuCgoJKiBzcmMvc2ZudC9ydWxlcy5tayAoU0ZOVF9EUlZfU1JDKTogQWRkIHR0YmRmLmMuCgoJKiBzcmMvc2ZudC9zZmRyaXZlci5jIFtUVF9DT05GSUdfT1BUSU9OX0JERl06IEluY2x1ZGUgdHRiZGYuaCBhbmQKCUZUX1NFUlZJQ0VfQkRGX0guCgkoc2ZudF9nZXRfY2hhcnNldF9pdCkgW1RUX0NPTkZJR19PUFRJT05fQkRGXTogTmV3IGZ1bmN0aW9uLgoJKHNmbnRfc2VydmljZV9iZGYpIFtUVF9DT05GSUdfT1BUSU9OX0JERl06IE5ldyBzZXJ2aWNlLgoJKHNmbnRfc2Vydml2ZXMpIFtUVF9DT05GSUdfT1BUSU9OX0JERl06IEFkZCBzZm50X3NlcnZpY2VfYmRmLgoKCSogc3JjL3NmbnQvc2ZudC5jIFtUVF9DT05GSUdfT1BUSU9OX0JERl06IEluY2x1ZGUgdHRiZGYuYy4KCgkqIHNyYy9zZm50L3Nmb2Jqcy5jIFtUVF9DT05GSUdfT1BUSU9OX0JERl06IEluY2x1ZGUgdHRiZGYuaC4KCShzZm50X2RvbmVfZmFjZSkgW1RUX0NPTkZJR19PUFRJT05fQkRGXTogQ2FsbAoJdHRfZmFjZV9mcmVlX2JkZl9wcm9wcy4KCgkqIHNyYy9zZm50L3R0YmRmLmgsIHNyYy9zZm50L3R0YmRmLmM6IE5ldyBmaWxlcy4KCjIwMDUtMTItMDcgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9zZm50L3Nmb2JqYy5jIChzZm50X2luaXRfZmFjZSk6IE1vdmUgdGFnIGNoZWNrIHRvLi4uCgkqIHNyYy9zZm50L3R0bG9hZC5jIChzZm50X2luaXQpOiBIZXJlLCBiZWZvcmUgaGFuZGxpbmcgVFRDcy4KCjIwMDUtMTItMDYgIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL3RydWV0eXBlL3R0b2Jqcy5jICh0dF9zaXplX2luaXQpOiBzaXplLT50dG1ldHJpY3MudmFsaWQgaXMKCWluaXRpYWxpemVkIHR3aWNlLgoJc2l6ZS0+c3RyaWtlX2luZGV4IGlzIG5vdCBpbml0aWFsaXplZC4KCjIwMDUtMTItMDIgIFRhZWsgS3dhbihUSykgTGVlICA8dGFla2xlZUBnbWFpbC5jb20+CgoJKiBzcmMvdHlwZTQyL3Q0Mm9ianMuYyAoVDQyX0ZhY2VfSW5pdCk6IFJlcGxhY2UgY2FsbCB0bwoJRlRfTmV3X01lbW9yeV9GYWNlIHdpdGggY2FsbCB0byBGVF9PcGVuX0ZhY2UgdG8gcGFzcyBgcGFyYW1zJy4KCjIwMDUtMTEtMzAgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIGRvY3MvQ0hBTkdFUzogRG9jdW1lbnQgZnRkdW1wJ3MgYC12JyBvcHRpb24uCglEb2N1bWVudCBsYXRlc3QgY2hhcm1hcCBjb2RlIGNoYW5nZXMuCgoJKiBzcmMvc2ZudC90dGNtYXAuYywgc3JjL3NmbnQvdHRjbWFwLmg6CglzL1RUX0NNQVBfRkxBR19PVkVSTEFQUEVEL1RUX0NNQVBfRkxBR19PVkVSTEFQUElORy8uCgoyMDA1LTExLTMwICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy9zZm50L3R0Y21hcC5jICh0dF9jbWFwNF9jaGFyX21hcF9iaW5hcnksCgl0dF9jbWFwMTJfY2hhcl9tYXBfYmluYXJ5KTogRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwNS0xMS0yOSAgQ2hpYS1JIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJTWFqb3IgdXBkYXRlIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdW5zb3J0ZWQgYW5kIG92ZXJsYXBwaW5nCglzZWdtZW50cyBmb3IgY21hcCBmb3JtYXQgNC4gIEZvciBvdmVybGFwcGluZyBidXQgc29ydGVkIHNlZ21lbnRzLAoJd2hpY2ggaXMgcHJldmlvdXNseSBjb25zaWRlcmVkIHVuc29ydGVkLCB3ZSBzdGlsbCB1c2UgYmluYXJ5IHNlYXJjaC4KCgkqIHNyYy9zZm50L3R0Y21hcC5oIChUVF9DTWFwUmVjXyk6IFJlcGxhY2UgYHVuc29ydGVkJyBieSBgZmxhZ3MnLgoJKFRUX0NNQVBfRkxBR19VTlNPUlRFRCwgVFRfQ01BUF9GTEFHX09WRVJMQVBQRUQpOiBOZXcgbWFjcm9zLgoKCSogc3JjL3NmbnQvdHRjbWFwLmMgKE9QVF9DTUFQNCk6IFJlbW92ZWQgYXMgaXQgaXMgYWx3YXlzIGRlZmluZWQuCgkoVFRfQ01hcDRSZWNfKTogUmVtb3ZlIGBvbGRfY2hhcmNvZGUnIGFuZCBgdGFibGVfbGVuZ3RoJy4KCSh0dF9jbWFwNF9yZXNldCk6IFJlbW92ZWQuCgkodHRfY21hcDRfaW5pdCk6IFVwZGF0ZWQgYWNjb3JkaW5nbHkuCgkodHRfY21hcDRfbmV4dCk6IFVwZGF0ZWQgYWNjb3JkaW5nbHkuCglUYWtlIGNhcmUgb2Ygb3ZlcmxhcHBpbmcgc2VnbWVudHMuCgkodHRfY21hcDRfdmFsaWRhdGUpOiBNYWtlIHN1cmUgdGhlIHN1YnRhYmxlIGlzIGxhcmdlIGVub3VnaC4KCURvIG5vdCBjaGVjayBnbHlwaF9pZHMgYmVjYXVzZSBzb21lIGZvbnRzIHNldCB0aGUgbGVuZ3RoIHdyb25nbHkuCglBbHNvLCB3aGVuIGFsbCBzZWdtZW50cyBoYXZlIG9mZnNldCAwLCBnbHlwaF9pZHMgaXMgYWx3YXlzIGludmFsaWQuCglJdCBkb2VzIG5vdCBjYXVzZSBhbnkgcHJvYmxlbSBzbyBmYXIgb25seSBiZWNhdXNlIHRoZSBjaGVjayBtaXNzZXMKCWVxdWFsaXR5LgoJRGlzdGluZ3Vpc2ggYmV0d2VlbiB1bnNvcnRlZCBhbmQgb3ZlcmxhcHBpbmcgc2VnbWVudHMuCgkodHRfY21hcDRfY2hhcl9tYXBfbGluZWFyLCB0dF9jbWFwNF9jaGFyX21hcF9iaW5hcnkpOiBOZXcgZnVuY3Rpb25zCgl0byBkbyBgY2hhcmNvZGUgPT4gZ2x5cGggaW5kZXgnIGJ5IGxpbmVhci9iaW5hcnkgc2VhcmNoLgoJKHR0X2NtYXA0X2NoYXJfaW5kZXgsIHR0X2NtYXA0X2NoYXJfbmV4dCk6IFVzZQoJdHRfY21hcDRfY2hhcl9tYXBfbGluZWFyIGFuZCB0dF9jbWFwNF9jaGFyX21hcF9iaW5hcnkuCgkodHRfZmFjZV9idWlsZF9jbWFwcyk6IFRyZWF0IHRoZSByZXR1cm4gdmFsdWUgb2YgdmFsaWRhdG9yIGFzIGZsYWdzCglmb3IgY21hcC4KCjIwMDUtMTEtMjkgIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL3NmbnQvdHRjbWFwLmMgKFRUX0NNYXAxMlJlY18sIHR0X2NtYXAxMl9pbml0LCB0dF9jbWFwMTJfbmV4dCk6CglOZXcgc3RydWN0dXJlcyBhbmQgZnVuY3Rpb25zIGZvciBmYXN0IGBuZXh0IGNoYXInLgoJKHR0X2NtYXAxMl9jaGFyX21hcF9iaW5hcnkpOiBOZXcgZnVuY3Rpb24gdG8gZG8gYGNoYXJjb2RlID0+IGdseXBoCglpbmRleCcgYnkgYmluYXJ5IHNlYXJjaC4KCSh0dF9jbWFwMTJfY2hhcl9pbmRleCwgdHRfY21hcDEyX2NoYXJfbmV4dCk6IFVzZQoJdHRfY21hcDEyX2NoYXJfbWFwX2JpbmFyeS4KCSh0dF9mYWNlX2J1aWxkX2NtYXBzKTogQ2hlY2sgdGFibGUgYW5kIG9mZnNldCBjb3JyZWN0bHkgKGVxdWFsaXR5IGlzCgltaXNzaW5nKS4KCjIwMDUtMTEtMTUgIERldGxlZiBX/HJrbmVyICA8VGV0aVNvZnRAYXBnLmxhaG4uZGU+CgoJKiBidWlsZHMvYW1pZ2Evc21ha2VmaWxlOiBBZGp1c3RlZCB0aGUgY29tcGlsZXIgb3B0aW9ucwoJdG8gdGhlIGN1cnJlbnQgc291cmNlcywgbm93IHJlYWxseSBidWlsZHMgdGhlIGd4dmFsaWQsIGd6aXAKCWFuZCBwc25hbWVzIG1vZHVsZXMuCgoJKiBidWlsZHMvYW1pZ2Evc3JjL2Jhc2UvZnRzeXN0ZW0uYzogVGhlIGFzc3VtZWQgU2VlaygpIHBvc2l0aW9uCglpbiB0aGUgZmlsZSBjYWNoZSB3YXMgb2ZmIGJ5IG9uZSBieXRlIHdoaWNoIGNvdWxkIGNhdXNlIGZhbHNlCgllcnJvcnMgaW4gZm9udCBmaWxlcy4KCjIwMDUtMTEtMjQgIHN1enVraSB0b3NoaXlhIDxtcHN1enVraUBoaXJvc2hpbWEtdS5hYy5qcD4KCgkqIGJ1aWxkcy9tYWMvRnJlZVR5cGUubTY4a19mYXIubWFrZS50eHQsCglidWlsZHMvbWFjL0ZyZWVUeXBlLm02OGtfY2ZtLm1ha2UudHh0LAoJYnVpbGRzL21hYy9GcmVlVHlwZS5wcGNfY2xhc3NpYy5tYWtlLnR4dCwKCWJ1aWxkcy9tYWMvRnJlZVR5cGUucHBjX2NhcmJvbi5tYWtlLnR4dDoKCVVwZGF0ZWQgZm9yIE1QVyB0byBidWlsZCBhbGwgYXZhaWxhYmxlIG1vZHVsZXMuCgoyMDA1LTExLTIxICBI5XZhcmQgV2FsbCAgPGhhYXZhcmR3QGlmaS51aW8ubm8+CgoJKiBzcmMvYmRmL2JkZmRyaXZyLmMgKGJkZl9pbnRlcnByZXRfc3R5bGUsIEJERl9GYWNlX0RvbmUpOiBGaXggc21hbGwKCW1lbW9yeSBsZWFrLgoKMjAwNS0xMS0yMSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL3NmbnQvdHRsb2FkLmMgKHNmbnRfaW5pdCk6IEFkZCB0cmFjaW5nIG1lc3NhZ2UuCgoyMDA1LTExLTIxICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy9zZm50L3R0c2JpdDAuYyAodHRfc2JpdF9kZWNvZGVyX2xvYWRfaW1hZ2UpOiBJbWFnZV9vZmZzZXQgd2FzCglhZGRlZCB0d2ljZSB0byBpbWFnZV9zdGFydCB3aGVuIGltYWdlX2Zvcm1hdCBpcyAyIG9yIDUuCgoyMDA1LTExLTIxICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy9zZm50L3Nmb2Jqcy5jIChzZm50X2luaXRfZmFjZSk6IENoZWNrIHRoYXQgZm9ybWF0X3RhZyBpcyBrbm93bgoJYmVmb3JlIGxvYWRpbmcgdGhlIHRhYmxlIGRpcmVjdG9yeS4KCgkqIHNyYy9zZm50L3R0bG9hZC5jICh0dF9mYWNlX2xvYWRfc2ZudF9oZWFkZXIsCgl0dF9mYWNlX2xvYWRfZGlyZWN0b3J5KTogRGVsYXkgc2ZudF9kaXJfY2hlY2sgZnJvbQoJdHRfZmFjZV9sb2FkX3NmbnRfaGVhZGVyIHRvIHR0X2ZhY2VfbG9hZF9kaXJlY3RvcnkuCgoyMDA1LTExLTIwICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy9zZm50L3R0bG9hZC5jIChzZm50X2Rpcl9jaGVjayk6IENsZWFuIHVwIGFuZCByZXR1cm4gY29ycmVjdAoJZXJyb3IgY29kZS4KCShzZm50X2luaXQpOiBOZXcgZnVuY3Rpb24gdG8gZmlsbCBpbiBmYWNlLT50dGNfaGVhZGVyLiAgQSBub24tVFRDIGZvbnQKCWlzIHN5bnRoZXNpemVkIGludG8gYSBUVEMgZm9udCB3aXRoIG9uZSBvZmZzZXQgdGFibGUuCgkodHRfZmFjZV9sb2FkX3NmbnRfaGVhZGVyKTogVXNlIHNmbnRfaW5pdC4KCUZpeCBhbiBpbnZhbGlkIGFjY2VzcyB3aGVuIHRoZSBmb250IGlzIFRUQyBhbmQgZmFjZV9pbmRleCBpcyAtMS4KCjIwMDUtMTEtMTggIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9zZm50L3R0bG9hZC5jICh0dF9mYWNlX2xvYWRfbWV0cmljcyk6IElnbm9yZSBleGNlc3MgbnVtYmVyCglvZiBtZXRyaWNzIGluc3RlYWQgb2YgYWJvcnRpbmcuICBQYXRjaCBzdWdnZXN0ZWQgYnkgRGVyZWsgTm9vbmJ1cmcuCgoJKiBzcmMvY2ZmL2NmZmdsb2FkLmMgKGNmZl9zbG90X2xvYWQpLCBzcmMvY2lkL2NpZGdsb2FkLmMKCShjaWRfc2xvdF9sb2FkX2dseXBoKSwgc3JjL3R5cGUxL3QxZ2xvYWQuYyAoVDFfTG9hZF9HbHlwaCk6IFNjYWxlCgl0aGUgZ2x5cGggcHJvcGVybHkgaWYgbm8gaGludGVyIGlzIGF2YWlsYWJsZS4KCgkqIGRvY3MvQ0hBTkdFUzogTWVudGlvbiBzY2FsaW5nIGJ1Zy4KCjIwMDUtMTEtMTggIHN1c3V6a2kgdG9zaGl5YSAgPG1wc3V6dWtpQGhpcm9zaGltYS11LmFjLmpwPgoKCSogaW5jbHVkZS9mcmVldHlwZS9mdGd4dmFsLmgsIHNyYy9iYXNlL2Z0Z3h2YWwuYwoJKEZUX1RydWVUeXBlR1hfRnJlZSwgRlRfQ2xhc3NpY0tlcm5fRnJlZSk6IE5ldyBmdW5jdGlvbnMgdG8gZnJlZQoJYnVmZmVycyBhbGxvY2F0ZWQgYnkgZ3h2YWxpZCBtb2R1bGUuCgkqIGluY2x1ZGUvZnJlZXR5cGUvZnRvdHZhbC5oLCBzcmMvYmFzZS9mdG90dmFsLmMKCShGVF9PcGVuVHlwZV9GcmVlKTogTmV3IGZ1bmN0aW9uIHRvIGZyZWUgYnVmZmVyIGFsbG9jYXRlZCBieQoJb3R2YWxpZCBtb2R1bGUuCgoyMDA1LTExLTE4ICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIGJ1aWxkcy91bml4L2Z0c3lzdGVtLmMgKEZUX1N0cmVhbV9PcGVuLCBGVF9OZXdfTWVtb3J5LAoJRlRfRG9uZV9NZW1vcnkpLCBidWlsZHMvdm1zL2Z0c3lzdGVtLmMgKEZUX1N0cmVhbV9PcGVuLCBGVF9OZXdfTWVtb3J5LAoJRlRfRG9uZV9NZW1vcnkpLCBidWlsZHMvd2luMzIvZnRkZWJ1Zy5jIChGVF9NZXNzYWdlLCBGVF9QYW5pYyk6CglzL0ZUX0VYUE9SVC9GVF9CQVNFLy4KCjIwMDUtMTEtMTcgIERldGxlZiBX/HJrbmVyICA8VGV0aVNvZnRAYXBnLmxhaG4uZGU+CgoJKiBidWlsZHMvYW1pZ2Evc3JjL2Jhc2UvZnRkZWJ1Zy5jIChGVF9UcmFjZV9HZXRfQ291bnQsCglGVF9UcmFjZV9HZXRfTmFtZSwgRlRfTWVzc2FnZSwgRlRfUGFuaWMpLAoJYnVpbGRzL2FtaWdhL3NyYy9iYXNlL2Z0c3lzdGVtLmMgKEZUX05ld19NZW1vcnksIEZUX0RvbmVfTWVtb3J5LAoJRlRfU3RyZWFtX09wZW4pOiBzL0ZUX0VYUE9SVC9GVF9CQVNFLy4KCjIwMDUtMTEtMTcgIERldGxlZiBX/HJrbmVyICA8VGV0aVNvZnRAYXBnLmxhaG4uZGU+CgoJKiBidWlsZHMvYW1pZ2EvbWFrZWZpbGUsIGJ1aWxkcy9hbWlnYS9tYWtlZmlsZS5vczQsCglidWlsZHMvYW1pZ2Evc21ha2VmaWxlLAoJYnVpbGRzL2FtaWdhL2luY2x1ZGUvZnJlZXR5cGUvY29uZmlnL2Z0bW9kdWxlLmg6IFVwZGF0ZWQgdGhlIEFtaWdhCglidWlsZCBmaWxlcyAoYWRkZWQgc3VwcG9ydCBmb3IgdGhlIGd4dmFsaWQgbW9kdWxlKS4KCjIwMDUtMTEtMTcgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCglBZGQgdmVydGljYWwgbWV0cmljcyBzdXBwb3J0IHRvIE9wZW5UeXBlIENGRiBvdXRsaW5lcy4gIEJhc2VkIG9uIGEKCXBhdGNoIGZyb20gTWlrZSBNb2VuaW5nIDxNaWtlTUBSZXRla1NvbHV0aW9ucy5jb20+LgoKCSogc3JjL2NmZi9jZmZnbG9hZC5jIChjZmZfZmFjZV9nZXRfdmVydGljYWxfbWV0cmljcyk6IE5ldyBmdW5jdGlvbi4KCShjZmZfc2xvdF9sb2FkKTogVXNlIGNmZl9mYWNlX2dldF92ZXJ0aWNhbF9tZXRyaWNzLgoKCSogZG9jcy9DSEFOR0VTOiBVcGRhdGVkLgoKMjAwNS0xMS0xNyAgQ2hpYS1JIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvYmFzZS9mdGNhbGMuYyAoRlRfTXVsVG82NCk6IENvbW1lbnRlZCBvdXQuCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL2Z0Y2FsYy5oIChGVF9TcXJ0Rml4ZWQpLAoJc3JjL2Jhc2UvZnRjYWxjLmMgKEZUX1NxcnRGaXhlZCksCglpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL2Z0ZGVidWcuaCAoRlRfVHJhY2VfR2V0X0NvdW50LAoJRlRfVHJhY2VfR2V0X05hbWUsIEZUX01lc3NhZ2UsIEZUX1BhbmljKSwgc3JjL2Jhc2UvZnRkZWJ1Zy5jCgkoRlRfVHJhY2VfR2V0X0NvdW50LCBGVF9UcmFjZV9HZXRfTmFtZSwgRlRfTWVzc2FnZSwgRlRfUGFuaWMpLAoJaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9mdG9ianMuaCAoRlRfTmV3X01lbW9yeSwgRlRfRG9uZV9NZW1vcnkpLAoJaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9mdHN0cmVhbS5oIChGVF9TdHJlYW1fT3BlbiksCglzcmMvYmFzZS9mdHN5c3RlbS5jIChGVF9OZXdfTWVtb3J5LCBGVF9Eb25lX01lbW9yeSwgRlRfU3RyZWFtX09wZW4pOgoJcy9GVF9FWFBPUlQvRlRfQkFTRS8uCgoJKiBidWlsZHMvZXhwb3J0cy5tazogTWFudWFsbHkgYWRkIFRUX05ld19Db250ZXh0IHRvIEVYUE9SVFNfTElTVAoJdG9vLgoKMjAwNS0xMS0xNSAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCSogc3JjL2Jhc2UvZnR0cmlnb24uYyAoZnRfdHJpZ19wcmVub3JtKTogRml4IGEgYnVnIHRoYXQgY3JlYXRlZAoJaW52YWxpZCBjb21wdXRhdGlvbnMsIHJlc3VsdGluZyBpbiB2ZXJ5IHdlaXJkIGJ1Z3MgaW4gVHJ1ZVR5cGUKCWJ5dGVjb2RlIGhpbnRlZCBmb250cy4KCgkqIHNyYy90cnVldHlwZS90dGludGVycC5jIChGVF9VTlVTRURfRVhFQyk6IERvbid0IHBlcmZvcm0gYQoJc3RydWN0dXJlIGNvcHkgZWFjaCB0aW1lLgoKMjAwNS0xMS0xMSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL2NhY2hlL2Z0Y2NhY2hlLmMgKEZUQ19DYWNoZV9DbGVhciksIHNyYy9jYWNoZS9mdGNtYW5hZy5jCgkoRlRDX01hbmFnZXJfQ2hlY2spOiBSZW1vdmUgRlRfRVhQT1JUX0RFRiB0YWcuCgoJKiBzcmMvYmFzZS9mdGNhbGMuYyAoRlRfQWRkNjQpOiBSZW1vdmUgRlRfRVhQT1JUX0RFRiB0YWcuCgkoRlRfRGl2NjRieTMyLCBGVF9TcXJ0MzIpOiBDb21tZW50ZWQgb3V0LiAgVW51c2VkLgoKCSogaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9mdGNhbGMuaCAoU1FSVF8zMik6IFJlbW92ZWQuICBVbnVzZWQuCgkoRlRfU3FydDMyKTogQ29tbWVudGVkIG91dC4gIFVudXNlZC4KCgkqIGluY2x1ZGUvZnJlZXR5cGUvY2FjaGUvZnRjY2FjaGUuaDoKCXMvZnRjX25vZGVfZGVzdHJveS9GVENfTm9kZV9EZXN0cm95Ly4KCgkqIHNyYy9jYWNoZS9mdGNjYmFjay5oIChmdGNfbm9kZV9kZXN0cm95KTogTmV3IGRlY2xhcmF0aW9uLgoKCSogc3JjL2NhY2hlL2Z0Y2NhY2hlLmMgKGZ0Y19ub2RlX2Rlc3Ryb3kpOiBVc2UgRlRfTE9DQUxfREVGIHRhZy4KCShGVENfTm9kZV9EZXN0cm95KTogTmV3IGV4cG9ydGVkIHdyYXBwZXIgZnVuY3Rpb24gZm9yCglmdGNfbm9kZV9kZXN0cm95LgoKCSogc3JjL2NhY2hlL2Z0Y21hbmFnLmM6IEluY2x1ZGUgZnRjY2JhY2suYy4KCjIwMDUtMTEtMTAgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9hdXRvZml0L2FmYW5nbGVzLmMsIHNyYy9hdXRvZml0L2FmdHlwZXMuaCAoYWZfYW5nbGVfZGlmZik6CglDb21tZW50IG91dC4gIFVudXNlZC4KCgkqIGJ1aWxkcy9leHBvcnRzLm1rICgkKEVYUE9SVFNfTElTVCkpOiBBZGQgVFRfUnVuSW5zLgoKMjAwNS0xMS0xMCAgQ2hyaXN0aWFuIEJpZXNpbmdlciAgPGNiaWVzaW5nZXJAd2ViLmRlPgoKCSogYnVpbGRzL2Jlb3MvYmVvcy5tazogQ2FsbCBiZW9zLWRlZi5tayBiZWZvcmUgYW55dGhpbmcgZWxzZSB0bwoJZGVmaW5lIHRoZSBzZXBhcmF0b3IuCgoJKiBidWlsZHMvdW5peC91bml4LWNjLmluIChMSU5LX0xJQlJBUlkpOiBBZGQgYC1uby11bmRlZmluZWQnIGZsYWcuCgoyMDA1LTExLTA3ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvdHlwZTEvdDFhZm0uYyAoVDFfUmVhZF9QRk0pOiBaZXJvIG9mZnNldCBtZWFucyBgbm8ga2VybmluZwoJdGFibGUgYXZhaWxhYmxlJy4gIEZyb20gU2VyZ2V5IFRvbHN0b3YgPHN0b2xzdG92QGVzcmkuY29tPi4KCjIwMDUtMTEtMDMgIFZpbGxlIFN5cmrkbOQgIDxzeXJqYWxhQHNjaS5maT4KCgkqIHNyYy9iYXNlL2Z0b2Jqcy5jIChGVF9PcGVuX0ZhY2UpOiBBdm9pZCBwb3NzaWJsZSBtZW1vcnkgbGVhay4KCjIwMDUtMTEtMDIgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCglNYWtlIGNvbXBpbGluZyBpbnN0cnVjdGlvbnMgaW4gZG9jcy9DVVNUT01JWkUgd29yayBhZ2Fpbi4KCgkqIGJ1aWxkcy91bml4L3VuaXgtY2MuaW4gKENQUEZMQUdTKTogTmV3IHZhcmlhYmxlLgoJKENGTEFHUyk6IERvbid0IGluY2x1ZGUgQENQUEZMQUdTQC4KCSogYnVpbGRzL2ZyZWV0eXBlLm1rIChGVF9DRkxBR1MpOiBBZGQgQ1BQRkxBR1MuCgoyMDA1LTEwLTI4ICBEYXZpZCBUdXJuZXIgIDxkYXZpZEBmcmVldHlwZS5vcmc+CgoJVXBkYXRlIGJ1aWxkIHN5c3RlbSB0byBzdXBwb3J0IHRoZSBnZW5lcmF0aW9uIG9mIGEgbGlzdCBvZiBleHBvcnRlZAoJc3ltYm9scyBvciBXaW5kb3dzIC5ERUYgZmlsZXMgYnkgcGFyc2luZyB0aGUgcHVibGljIGhlYWRlcnMgd2l0aCB0aGUKCWBhcGluYW1lcycgdG9vbCBsb2NhdGVkIGluIHNyYy90b29scy9hcGluYW1lcy5jLgoKCU9ubHkgdGVzdGVkIG9uIFVuaXggYXQgdGhlIG1vbWVudC4gIE9uIFdpbmRvd3MsIHRoZSAuREVGIGZpbGUgaXMKCWdlbmVyYXRlZCBidXQgaXNuJ3QgdXNlZCB5ZXQgdG8gZ2VuZXJhdGUgYSBETEwuCgoJKiBidWlsZHMvZXhwb3J0cy5tazogTmV3IGZpbGUuCgoJKiBidWlsZHMvZnJlZXR5cGUubWs6IEluY2x1ZGUgZXhwb3J0cy5tay4KCShkbGwpOiBOZXcgdGFyZ2V0LgoJKGNsZWFuX3Byb2plY3RfZG9zKTogRml4IHJ1bGUuCgoJKiBidWlsZHMvY29tcGlsZXIvdmlzdWFsYy5tayAoVEUpLCBidWlsZHMvZG9zL2Rvcy1kZWYubWsgKEUpLAoJYnVpbGRzL29zMi9vczItZGVmLm1rIChFKSwgYnVpbGRzL3dpbjMyL3dpbjMyLWRlZi5tayAoRSk6IE5ldwoJdmFyaWFibGVzIGZvciBjb250cm9sbGluZyBleGVjdXRhYmxlIGV4dGVuc2lvbnMuCgoJKiBidWlsZHMvdW5peC91bml4LWNjLmluIChFWFBPUlRTX0xJU1QsIENDZXhlKSwKCWJ1aWxkcy93aW4zMi93MzItYmNjLm1rLCBidWlsZHMvd2luMzIvdzMyLWdjYy5taywKCWJ1aWxkcy93aW4zMi93MzItaWNjLm1rLCBidWlsZHMvd2luMzIvdzMyLWljYy5taywKCWJ1aWxkcy93aW4zMi93MzItbWluZ3czMi5taywgYnVpbGRzL3dpbjMyL3czMi12Y2MsCglidWlsZHMvd2luMzIvdzMyLXdhdC5tayAoRVhQT1JUU19MSVNULCBFWFBPUlRfT1BUSU9OUywKCUFQSU5BTUVTX09QVElPTlMpOiBOZXcgdGFyZ2V0cyBmb3IgY29udHJvbGxpbmcgdGhlIGBhcGluYW1lcycgdG9vbC4KCgkqIEphbWZpbGUgKEdlbkV4cG9ydFN5bWJvbHMpOiBVcGRhdGVkLgoKCgkqIHNyYy9wZnIvcGZydHlwZXMuaCwgc3JjL3Bmci9wZnJsb2FkLmMsIHNyYy9wZnIvcGZyb2Jqcy5jCglbIUZUX09QVElNSVpFX01FTU9SWV06IEZvbGQgbWVtb3J5IG9wdGltaXphdGlvbiBjb2RlIGludG8KCUZUX09QVElNSVpFX01FTU9SWSBjaHVua3MgZm9yIGJldHRlciBtYWludGFpbmFiaWxpdHkgYW5kIHNpbXBsaWNpdHkuCgoKCSogc3JjL2Jhc2UvZnR0cmlnb24uYyAoZnRfdHJpZ19wcmVub3JtKSwgc3JjL2Jhc2UvZnRjYWxjLmMKCShGVF9NdWxGaXgpOiBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25zLgoKCgkqIGluY2x1ZGUvZnJlZXR5cGUvaW50ZXJuYWwvZnRnbG9hZHIuaCAoRlRfR0xZUEhMT0FERVJfQ0hFQ0tfUCwKCUZUX0dMWVBITE9BREVSX0NIRUNLX0MsIEZUX0dMWVBITE9BREVSX0NIRUNLX1BPSU5UUyk6IE5ldyBtYWNyb3MgZm9yCgljaGVja2luZyBwb2ludHMgYW5kIGNvbnRvdXJzLiAgVXBkYXRlIGNhbGxlcnMgdG8gdXNlCglGVF9HTFlQSExPQURFUl9DSEVDS19QT0lOVFMgaW5zdGVhZCBvZiBGVF9HbHlwaExvYWRlcl9DaGVja1BvaW50cwoJYXQgcHJvZmlsZS1kZXRlY3RlZCBob3Qtc3BvdHMuCgoJKiBzcmMvYmFzZS9mdGdsb2Fkci5jIChGVF9HbHlwaExvYWRlcl9DaGVja1BvaW50cyk6IFNldCBgYWRqdXN0JwoJdG8gMCB0byBub3QgY2FsbCBgQWRqdXN0UG9pbnRzJyBldmVyeSB0aW1lLgoKCgkqIHNyYy9hdXRvZml0L2FmdHlwZXMuaCAoQUZfQU5HTEVfRElGRik6IE5ldyBtYWNybyB0byBpbmxpbmUKCUZUX0FuZ2xlX0RpZmYuCgoJKiBzcmMvYXV0b2ZpdC9hZmhpbnRzLmMgKGFmX2RpcmVjdGlvbl9jb21wdXRlKTogUmUtaW1wbGVtZW50LgoJKGFmX2dseXBoX2hpbnRzX2NvbXB1dGVfaW5mbGVjdGlvbnMsIGFmX2dseXBoX2hpbnRzX3JlbG9hZCk6IFVzZQoJQUZfQU5HTEVfRElGRiB0byBzcGVlZCB1cCB0aGUgZGV0ZWN0aW9uIG9mIGluZmxleGlvbnMuCgoKCSogc3JjL3Rvb2xzL2FwaW5hbWVzLmM6IEluY2x1ZGUgPHN0cmluZy5oPi4KCShPdXRwdXRGb3JtYXQpOiBOZXcgZW51bWVyYXRpb24uCgkobmFtZXNfZHVtcCk6IEFkZCB0d28gcGFyYW1ldGVycyB0byBjb250cm9sIG91dHB1dCBmb3JtYXQgYW5kIERMTAoJbmFtZS4KCShuYW1lc19kdW1wX3dpbmRlZik6IFJlbW92ZWQuICBDb2RlIGZvbGRlZCBpbnRvIGBuYW1lc19kdW1wJy4KCShyZWFkX2hlYWRlcl9maWxlKTogVXNlIGlzYWxudW0sIG5vdCBpc2FscGhhLiAgT3RoZXJ3aXNlIGZ1bmN0aW9uCgluYW1lcyB3aXRoIGRpZ2l0cyBhcmVuJ3QgcmVhZCBjb3JyZWN0bHkuCgkodXNhZ2UpOiBVcGRhdGVkLgoJKG1haW4pOiBOZXcgb3B0aW9uIGAtbycgdG8gY29udHJvbCBvdXRwdXQgZmlsZSBuYW1lLgoJTmV3IG9wdGlvbiBgLWQnIHRvIGluZGljYXRlIERMTCBmaWxlIG5hbWUuCglFeHRlbmQgYC13JyBmbGFnIHRvIGhhbmRsZSBCb3JsYW5kIGFuZCBXYXRjb20gY29tcGlsZXJzIGFuZCBsaW5rZXJzLgoKMjAwNS0xMC0yOCAgc3V6dWtpIHRvc2hpeWEgIDxtcHN1enVraUBoaXJvc2hpbWEtdS5hYy5qcD4KCgkqIGJ1aWxkcy9tYWMvZnRsaWIucHJqLCBidWlsZHMvbWFjL2ZyZWV0eXBlLm1hazogUmVtb3ZlZC4KCWZ0bGliLnByaiBpcyB1bm1haW50YWluZWQgYW5kIGluY29tcGF0aWJsZSB3aXRoIGN1cnJlbnQgdHJlZS4KCWZyZWV0eXBlLm1hayBpcyB1bnJlY292ZXJhYmx5IGJyb2tlbi4KCgkqIGJ1aWxkcy9tYWMvZnRsaWIucHJqLnhtbDogQWRkZWQuCglnZW5lcmF0ZWQgYnkgTWV0cm93ZXJrcyBDb2RlV2FycmlvciA5LjAuCgoJKiBidWlsZHMvbWFjL0ZyZWVUeXBlLm02OGtfZmFyLm1ha2UudHh0LAoJYnVpbGRzL21hYy9GcmVlVHlwZS5tNjhrX2NmbS5tYWtlLnR4dCwKCWJ1aWxkcy9tYWMvRnJlZVR5cGUucHBjX2NsYXNzaWMubWFrZS50eHQsCglidWlsZHMvbWFjL0ZyZWVUeXBlLnBwY19jYXJib24ubWFrZS50eHQ6IEFkZGVkLgoJc2tlbHRvbiBmaWxlcyBvZiBNUFcgbWFrZWZpbGVzLgoKCSogYnVpbGRzL21hYy9hc2NpaTJtcHcucHk6IEFkZGVkLgoJUHl0aG9uIHNjcmlwdCB0byBtYWtlIE1QVyBtYWtlZmlsZSBmcm9tIHNrZWx0b24uCgoJKiBidWlsZHMvbWFjL1JFQURNRTogVXBkYXRlZC4KCUFsbW9zdCByZXdyaXR0ZW4gdG8gdXNlIG5ldyBmaWxlcy4KCjIwMDUtMTAtMjggIHN1enVraSB0b3NoaXlhICA8bXBzdXp1a2lAaGlyb3NoaW1hLXUuYWMuanA+CgoJKiBzcmMvYmFzZS9mdG1hYy5jOiBmaXggaW52YWxpZCBjYXN0cyBmcm9tIE5VTEwgdG8gaW50ZWdlciB0eXBlZAoJdmFyaWFibGVzLiBBZHZpc2VkIGJ5IERhdmlkIFR1cm5lciwgTWFzYXRha2UgWUFNQVRPLCBTZWFuIE1jQnJpZGUKCWFuZCBHZW9yZ2UgV2lsbGlhbXMuCgoyMDA1LTEwLTI3ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2Z0c3lzbWVtLmgsIGluY2x1ZGUvZnJlZXR5cGUvZnRzeXNpby5oOiBSZW1vdmVkLgoJT2Jzb2xldGUuCgoyMDA1LTEwLTI1ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvc2ZudC9zZmRyaXZlci5jIChzZm50X2ludGVyZmFjZSk6IE1vdmUgb3V0CglgdHRfZmFjZV9nZXRfa2VybmluZycgZnJvbSBhICNpZmRlZiBjbGF1c2UuICBSZXBvcnRlZCBieSBUb255IEouCglJYmJzIDx0aWJzQHNqLmNvLnVrPi4KCjIwMDUtMTAtMjMgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9iYXNlL2Z0ZGJnbWVtLmMgKGZ0X21lbV9kZWJ1Z19yZWFsbG9jKTogTWFrZSBpdCBjb21waWxlIHdpdGgKCUMrKy4KCjIwMDUtMTAtMjEgIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCgkqIHNyYy9iYXNlL2Z0ZGJnbWVtLmMgKGZ0X21lbV90YWJsZV9zZXQsIGZ0X21lbV9kZWJ1Z19yZWFsbG9jKToKCUFub3RoZXIgcmVhbGxvYyBtZW1vcnkgY291bnRpbmcgYnVnIGZpeC4KCgkqIHNyYy90b29scy9KYW1maWxlOiBBZGQgbWlzc2luZyBmaWxlLgoKCSogc3JjL2x6dy9KYW1maWxlOiBGaXggaW5jb3JyZWN0IHNvdXJjZSBmaWxlIHJlZmVyZW5jZS4KCjIwMDUtMTAtMjAgIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCgkqIHNyYy9iYXNlL2Z0ZGJnbWVtLmMgKGZ0X21lbV90YWJsZV9zZXQsIGZ0X21lbV90YWJsZV9yZW1vdmUsCglmdF9tZW1fZGVidWdfYWxsb2MsIGZ0X21lbV9kZWJ1Z19mcmVlLCBmdF9tZW1fZGVidWdfcmVhbGxvYyk6IEZpeGVzCgl0byBiZXR0ZXIgYWNjb3VudCBmb3IgbWVtb3J5IHJlYWxsb2NhdGlvbnMuCgoJKiBzcmMvbHp3L2Z0bHp3Mi5jLCBzcmMvbHp3L2Z0em9wZW4uaCwgc3JjL2x6dy9mdHpvcGVuLmMsCglzcmMvbHp3L3J1bGVzLm1rOiBGaXJzdCB2ZXJzaW9uIG9mIExaVyBsb2FkZXIgcmUtaW1wbGVtZW50YXRpb24uCglBcHBhcmVudGx5LCB0aGlzIHNhdmVzIGFib3V0IDMzMCBLQiBvZiBoZWFwIG1lbW9yeSB3aGVuIGxvYWRpbmcKCXRpbVIyNC5wY2YuWi4KCjIwMDUtMTAtMjAgIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogaW5jbHVkZS9mcmVldHlwZS9mdGJpdG1hcC5oIChGVF9CaXRtYXBfQ29weSwgRlRfQml0bWFwX0VtYm9sZGVuKSwKCXNyYy9iYXNlL2Z0YmRmLmMgKEZUX0dldF9CREZfUHJvcGVydHkpLCBzcmMvY2FjaGUvZnRjbXJ1LmMKCShGVENfTXJ1TGlzdF9SZXNldCwgRlRDX01ydUxpc3RfRG9uZSwgRlRDX01ydUxpc3RfTG9va3VwKTogRml4CglGVF9FWFBPUlQvRlRfRVhQT1JUX0RFRiB0YWdnaW5nLgoKMjAwNS0xMC0xOSAgQ2hpYS1JIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvdHJ1ZXR5cGUvdHRnbG9hZC5jIChUVF9Mb2FkX0dseXBoKTogQWxsb3cgc2l6ZS0+dHRtZXRyaWNzIHRvCgliZSBpbnZhbGlkIHdoZW4gRlRfTE9BRF9OT19TQ0FMRSBpcyBzZXQuCgoyMDA1LTEwLTE3ICBEYXZpZCBUdXJuZXIgIDxkYXZpZEBmcmVldHlwZS5vcmc+CgoJKiBzcmMvYmFzZS9mdG9ianMuYyAoRlRfT3Blbl9GYWNlKTogRG9uJ3QgY2FsbCBGVF9OZXdfR2x5cGhTbG90IGFuZAoJRlRfTmV3X1NpemUgaWYgd2UgYXJlIG9wZW5pbmcgYSBmYWNlIHdpdGggZmFjZV9pbmRleCA8IDAgKHdoaWNoIGlzCglvbmx5IHVzZWQgZm9yIHRlc3RpbmcgdGhlIGZvcm1hdCkuCgoJKiBzcmMvZ3h2YWxpZC9neHZtb3J0MC5jIChneHZfbW9ydF9zdWJ0YWJsZV90eXBlMF9lbnRyeV92YWxpZGF0ZSk6CglSZW1vdmUgY29tcGlsZXIgd2FybmluZy4KCjIwMDUtMTAtMTYgIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCgkqIHNyYy90b29scy9hcGluYW1lcy5jOiBBZGQgbmV3IHRvb2wgdG8gZXh0cmFjdCBwdWJsaWMgQVBJIGZ1bmN0aW9uCgluYW1lcyBmcm9tIGhlYWRlciBmaWxlcy4KCjIwMDUtMTAtMDUgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCglBZGQgRlRfRkFDRV9GTEFHX0hJTlRFUiB0byBpbmRpY2F0ZSB0aGF0IGEgc3BlY2lmaWMgZm9udCBkcml2ZXIgaGFzCglhIGhpbnRpbmcgZW5naW5lIG9mIGl0cyBvd24uCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ZyZWV0eXBlLmggKEZUX0ZBQ0VfRkxBR19ISU5URVIpOiBOZXcgbWFjcm8uCgoJKiBzcmMvY2ZmL2NmZm9ianMuYyAoY2ZmX2ZhY2VfaW5pdCksIHNyYy9jaWQvY2lkb2Jqcy5jCgkoY2lkX2ZhY2VfaW5pdCksIHNyYy90cnVldHlwZS90dG9ianMuYyAodHRfZmFjZV9pbml0KQoJW1RUX0NPTkZJR19PUFRJT05fQllURUNPREVfSU5URVJQUkVURVJdLCBzcmMvdHlwZTEvdDFvYmpzLmMKCShUMV9GYWNlX0luaXQpLCBzcmMvdHlwZTQyL3Q0Mm9ianMuYyAoVDQyX0ZhY2VfSW5pdCkKCVtUVF9DT05GSUdfT1BUSU9OX0JZVEVDT0RFX0lOVEVSUFJFVEVSXTogVXBkYXRlIGZhY2UgZmxhZ3MuCgoJKiBkb2NzL0NIQU5HRVM6IERvY3VtZW50IGl0LgoKMjAwNS0wOS0yNyAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogYnVpbGRzL3VuaXgvZnJlZXR5cGUyLm00OiBBZGQgbGljZW5zZSBleGNlcHRpb24gc28gdGhhdCB0aGUgZmlsZQoJY2FuIGJlIHVzZWQgaW4gYW55IG90aGVyIGF1dG9jb25mIHNjcmlwdC4KCjIwMDUtMDktMjYgIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCgkqIHNyYy9hdXRvZml0L2FmbGF0aW4uYyAoYWZfbGF0aW5fY29tcHV0ZV9zdGVtX3dpZHRoKTogRml4IGJhZAoJY29tcHV0YXRpb24gb2YgdGhlIGB2ZXJ0aWNhbCcgZmxhZywgY2F1c2luZyB1Z2x5IHRoaW5ncyBpbiBMQ0QgbW9kZQoJYW5kIG90aGVycy4KCjIwMDUtMDktMjMgIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCgkqIHNyYy9hdXRvZml0L2FmbGF0aW4uYyAoYWZfbGF0aW5faGludHNfaW5pdCk6IEZpeCBhIGJ1ZyB0aGF0CglwcmV2ZW50ZWQgaW50ZXJuYWwgaGludCBtb2RlIGJpdGZsYWdzIGZyb20gYmVpbmcgY29tcHV0ZWQgY29ycmVjdGx5LgoKCSogc3JjL2Jhc2UvSmFtZmlsZTogQWRkaW5nIHNyYy9iYXNlL2Z0Z3h2YWwuYy4KCgkqIHNyYy9neHZhbGlkL2d4dmJzbG4uYywgc3JjL2d4dmFsaWQvZ3h2Y29tbW4uYywKCXNyYy9neHZhbGlkL2d4dmZlYXQuYywgc3JjL2d4dmFsaWQvZ3h2anVzdC5jLCBzcmMvZ3h2YWxpZC9neHZrZXJuLmMsCglzcmMvZ3h2YWxpZC9neHZsY2FyLmMsIHNyYy9neHZhbGlkL2d4dm1vcnQuYywKCXNyYy9neHZhbGlkL2d4dm1vcnQwLmMsIHNyYy9neHZhbGlkL2d4dm1vcnQxLmMsCglzcmMvZ3h2YWxpZC9neHZtb3J0Mi5jLCBzcmMvZ3h2YWxpZC9neHZtb3J0NC5jLAoJc3JjL2d4dmFsaWQvZ3h2bW9ydDUuYywgc3JjL2d4dmFsaWQvZ3h2bW9yeC5jLAoJc3JjL2d4dmFsaWQvZ3h2bW9yeDAuYywgc3JjL2d4dmFsaWQvZ3h2bW9yeDEuYywKCXNyYy9neHZhbGlkL2d4dm1vcngyLmMsIHNyYy9neHZhbGlkL2d4dm1vcng1LmMsCglzcmMvZ3h2YWxpZC9neHZvcGJkLmMsIHNyYy9neHZhbGlkL2d4dnByb3AuYywKCXNyYy90cnVldHlwZS90dGdsb2FkLmM6IFJlbW92ZSBfbWFueV8gY29tcGlsZXIgd2FybmluZ3Mgd2hlbgoJY29tcGlsaW5nIHdpdGggVmlzdWFsIEMrKyBhdCBtYXhpbXVtIGxldmVsICgvVzQpLgoKCSogc3JjL2F1dG9maXQvYWZhbmdsZXMuYyAoYWZfYW5nbGVfYXRhbik6IFJlcGxhY2VkIENPUkRJQy1iYXNlZAoJaW1wbGVtZW50YXRpb24gd2l0aCBvbmUgdXNpbmcgbG9va3VwIHRhYmxlcy4gIFRoaXMgc2ltcGxlIHRoaW5nCglzcGVlZHMgdXAgZ2x5cGggbG9hZGluZyBieSAxOCUsIGFjY29yZGluZyB0byBmdGJlbmNoIQoKCSogc3JjL3NmbnQvc2Zkcml2ZXIuYyAoc2ZudF9nZXRfaW50ZXJmYWNlKTogRG9uJ3QgY2hlY2sgZm9yCglgZ2V0X3NmbnQnIGFuZCBgbG9hZF9zZm50JyBtb2R1bGUgaW50ZXJmYWNlcy4KCjIwMDUtMDktMjIgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIGRvY3MvQ0hBTkdFUzogTWVudGlvbiBTSU5HIEdseXBobGV0IHN1cHBvcnQuCgoyMDA1LTA5LTIyICBEYXZpZCBUdXJuZXIgIDxkYXZpZEBmcmVldHlwZS5vcmc+CgoJKiBzcmMvYmFzZS9KYW1maWxlOiBEaXNhYmxlIGNvbXBpbGF0aW9uIG9mIGZ0Z3h2YWwgbW9kdWxlCgl0ZW1wb3JhcmlseS4KCjIwMDUtMDktMTkgIERhdmlkIFNvbWVycyAgPGRzb21lcnNAb216MTMuY29tPgoKCSogZnJlZXR5cGUyL3NyYy9zZm50L3R0bG9hZC5jIChzZm50X2Rpcl9jaGVjayk6IE1vZGlmaWVkIHRvIGFsbG93IGEKCWZvbnQgdG8gaGF2ZSBubyBgaGVhZCcgdGFibGUgaWYgdGFibGVzIGBTSU5HJyBhbmQgYE1FVEEnIGFyZQoJcHJlc2VudDsgdGhpcyBpcyB0byBzdXBwb3J0IGBTSU5HIEdseXBobGV0Jy4KCglgU0lORyBHbHlwaGxldCcgaXMgYW4gZXh0ZW5zaW9uIHRvIE9wZW5UeXBlIGRldmVsb3BlZCBieSBBZG9iZQoJcHJpbWFyaWx5IHRvIGZhY2lsaXRhdGUgYWRkaW5nIHN1cHBsZW1lbnRhbCBnbHlwaHMgdG8gYW4gT3BlblR5cGUKCWZvbnQgKHdpdGggZW1waGFzaXMgb24sIGJ1dCBub3QgbmVjZXNzYXJpeSBsaW1pdGVkIHRvLCBnYWlqaSB0byBhCglDSksgZm9udCkuICBBIFNJTkcgR2x5cGhsZXQgRm9udCBpcyBhbiBPcGVuVHlwZSBmb250IHRoYXQgY29udGFpbnMKCXRoZSBvdXRsaW5lKHMpLCBlaXRoZXIgaW4gYSBgZ2x5Zicgb3IgYENGRicgdGFibGUsIGZvciBhIGdseXBoOwoJYGNtYXAnLCBgQkFTRScsIGFuZCBgR1NVQicgdGFibGVzIGFyZSBwcmVzZW50IHdpdGggdGhlIHNhbWUgZm9ybWF0CglhbmQgZnVuY3Rpb25hbGl5IGFzIGEgcmVndWxhciBPcGVuVHlwZSBmb250OyB0aGVyZSBhcmUgbm8gYG5hbWUnLAoJYGhlYWQnLCBgT1MvMicsIGFuZCBgcG9zdCcgdGFibGVzOyB0aGVyZSBhcmUgdHdvIG5ldyB0YWJsZXMsIGBTSU5HJwoJd2hpY2ggY29udGFpbnMgZGV0YWlscyBhYm91dCB0aGUgZ2x5cGhsZXQsIGFuZCBgTUVUQScgd2hpY2ggY29udGFpbnMKCW1ldGFkYXRhLgoKCUZ1cnRoZXIgaW5mb3JtYXRpb24gb24gdGhlIFNJTkcgR2x5cGhsZXQgZm9ybWF0IGNhbiBiZSBmb3VuZCBhdDoKCgkgIGh0dHA6Ly93d3cuYWRvYmUuY29tL3Byb2R1Y3RzL2luZGVzaWduL3NpbmdfZ2FpamkuaHRtbAoKCSogZnJlZXR5cGUyL2luY2x1ZGUvZnJlZXR5cGUvdHRhZ3MuaCAoVFRBR19TSU5HLCBUVEFHX01FVEEpOiBOZXcKCW1hY3JvcyBmb3IgdGhlIE9wZW5UeXBlIHRhYmxlcyBgU0lORycgYW5kIGBNRVRBJy4gIFRoZXNlIHR3byB0YWJsZXMKCWFyZSB1c2VkIGluIFNJTkcgR2x5cGhsZXQgRm9ybWF0IGZvbnRzLgoKMjAwNS0wOS0wOSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL3NmbnQvc2ZvYmpzLmMgKHNmbnRfbG9hZF9mYWNlKTogUmVhY3RpdmF0ZSBjb2RlIHRvIHNldAoJRlRfRkFDRV9GTEFHX0tFUk5JTkcgd2hpY2ggaGFzIGJlZW4gY29tbWVudGVkIG91dCBlcnJvbmVvdXNseS4KCgkqIGRvY3MvQ0hBTkdFUzogRG9jdW1lbnQgaXQuCgoyMDA1LTA5LTA1ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJRml4ZXMgZm9yIGBtYWtlIG11bHRpJyBhbmQgdXNpbmcgQysrIGNvbXBpbGVyLgoKCSogZ3h2YWxpZC9neHZjb21tbi5jIChneHZfc2V0X2xlbmd0aF9ieV91c2hvcnRfb2Zmc2V0LAoJZ3h2X3NldF9sZW5ndGhfYnlfdWxvbmdfb2Zmc2V0LCBneHZfYXJyYXlfZ2V0bGltaXRzX2J5dGUsCglneHZfYXJyYXlfZ2V0bGltaXRzX3VzaG9ydCk6IERlY2xhcmUgd2l0aCBGVF9MT0NBTF9ERUYuCgkoZ3h2X2NvbXBhcmVfcmFuZ2VzKTogTWFrZSBpdCBzdGF0aWMuCgkoZ3h2X0xvb2t1cFRhYmxlX2ZtdDBfdmFsaWRhdGUsIGd4dl9Mb29rdXBUYWJsZV9mbXQyX3ZhbGlkYXRlLAoJZ3h2X0xvb2t1cFRhYmxlX2ZtdDRfdmFsaWRhdGUsIGd4dl9Mb29rdXBUYWJsZV9mbXQ2X3ZhbGlkYXRlLAoJZ3h2X0xvb2t1cFRhYmxlX2ZtdDhfdmFsaWRhdGUsIGd4dl9Mb29rdXBUYWJsZV92YWxpZGF0ZSk6IEltcHJvdmUKCXRyYWNlIG1lc3NhZ2VzLgoJKGd4dl9TdGF0ZUFycmF5X3ZhbGlkYXRlLCBneHZfWFN0YXRlQXJyYXlfdmFsaWRhdGUpOiBzL2NsYXNzL2NsYXp6Ly4KCShHWFZfU1RBVEVUQUJMRV9IRUFERVJfU0laRSwgR1hWX1NUQVRFSEVBREVSX1NJWkUsCglHWFZfWFNUQVRFVEFCTEVfSEVBREVSX1NJWkUsIEdYVl9YU1RBVEVIRUFERVJfU0laRSk6IE1vdmUgdG8KCWd4dmNvbW1uLmguCgoJKiBneHZhbGlkL2d4dmNvbW1uLmg6IEFkZCBwcm90b3R5cGVzIGZvcgoJZ3h2X1N0YXRlVGFibGVfc3VidGFibGVfc2V0dXAsIGd4dl9YU3RhdGVUYWJsZV9zdWJ0YWJsZV9zZXR1cCwKCWd4dl9YU3RhdGVUYWJsZV92YWxpZGF0ZSwgZ3h2X2FycmF5X2dldGxpbWl0c19ieXRlLAoJZ3h2X2FycmF5X2dldGxpbWl0c191c2hvcnQsIGd4dl9zZXRfbGVuZ3RoX2J5X3VzaG9ydF9vZmZzZXQsCglneHZfc2V0X2xlbmd0aF9ieV91bG9uZ19vZmZzZXQsIGd4dl9vZHRlY3RfYWRkX3JhbmdlLAoJZ3h2X29kdGVjdF92YWxpZGF0ZS4KCShHWFZfU1RBVEVUQUJMRV9IRUFERVJfU0laRSwgR1hWX1NUQVRFSEVBREVSX1NJWkUsCglHWFZfWFNUQVRFVEFCTEVfSEVBREVSX1NJWkUsIEdYVl9YU1RBVEVIRUFERVJfU0laRSk6IE1vdmVkIGZyb20KCWd4dmNvbW1uLmMuCgoJKiBzcmMvZ3h2YWxpZC9neHZic2xuLmMgKGd4dl9ic2xuX0xvb2t1cFZhbHVlX3ZhbGlkYXRlLAoJZ3h2X2JzbG5fcGFydHNfZm10MV92YWxpZGF0ZSk6IEltcHJvdmUgdHJhY2UgbWVzc2FnZXMuCgoJKiBneHZhbGlkL2d4dmZlYXQuYzogU3BsaXQgb2ZmIHByZWRlZmluZWQgcmVnaXN0cnkgc3R1ZmYgdG8uLi4KCSogZ3h2YWxpZC9neHZmZWF0Lmg6IE5ldyBmaWxlLgoKCSogZ3h2YWxpZC9neHZqdXN0LmMgKGd4dl9qdXN0X3dkY19lbnRyeV92YWxpZGF0ZSk6IEltcHJvdmUgdHJhY2UKCW1lc3NhZ2UuCgoJKiBneHZhbGlkL2d4dmtlcm4uYyAoR1hWX2tlcm5fRGlhbGVjdCk6IEFkZCBLRVJOX0RJQUxFQ1RfVU5LTk9XTi4KCShneHZfa2Vybl9zdWJ0YWJsZV9mbXQxX3ZhbHVlVGFibGVfbG9hZCwKCWd4dl9rZXJuX3N1YnRhYmxlX2ZtdDFfc3VidGFibGVfc2V0dXAsCglneHZfa2Vybl9zdWJ0YWJsZV9mbXQxX2VudHJ5X3ZhbGlkYXRlKTogRml4IEMrKyBjb21waWxlciBlcnJvcnMuCgkoZ3h2X2tlcm5fY292ZXJhZ2VfdmFsaWRhdGUpOiBVc2UgS0VSTl9ESUFMRUNUX1VOS1dPV04uCglJbXByb3ZlIHRyYWNlIG1lc3NhZ2UuCgkoZ3h2X2tlcm5fdmFsaWRhdGVfZ2VuZXJpYyk6IEZpeCBDKysgY29tcGlsZXIgZXJyb3IuCglJbXByb3ZlIHRyYWNlIG1lc3NhZ2UuCgkoZ3h2X2tlcm5fdmFsaWRhdGVfY2xhc3NpYyk6IEZpeCBDKysgY29tcGlsZXIgZXJyb3IuCgoJKiBneHZhbGlkL2d4dm1vcnQwLmMgKGd4dl9tb3J0X3N1YnRhYmxlX3R5cGUwX3ZhbGlkYXRlKTogRGVjbGFyZQoJd2l0aCBGVF9MT0NBTF9ERUYuCgoJKiBneHZhbGlkL2d4dm1vcnQxLmMKCShneHZfbW9ydF9zdWJ0YWJsZV90eXBlMV9zdWJzdGl0dXRpb25UYWJsZV9sb2FkLAoJZ3h2X21vcnRfc3VidGFibGVfdHlwZTFfc3VidGFibGVfc2V0dXApOiBGaXggQysrIGNvbXBpbGVyIGVycm9ycy4KCShneHZfbW9ydF9zdWJ0YWJsZV90eXBlMV9zdWJzdFRhYmxlX3ZhbGlkYXRlKTogSW1wcm92ZSB0cmFjZQoJbWVzc2FnZS4KCShneHZfbW9ydF9zdWJ0YWJsZV90eXBlMV92YWxpZGF0ZSk6IERlY2xhcmUgd2l0aCBGVF9MT0NBTF9ERUYuCgoJKiBneHZhbGlkL2d4dm1vcnQyLmMgKGd4dl9tb3J0X3N1YnRhYmxlX3R5cGUyX29wdHRhYmxlX2xvYWQsCglneHZfbW9ydF9zdWJ0YWJsZV90eXBlMl9zdWJ0YWJsZV9zZXR1cCwKCWd4dl9tb3J0X3N1YnRhYmxlX3R5cGUyX2xpZ0FjdGlvbk9mZnNldF92YWxpZGF0ZSwKCWd4dl9tb3J0X3N1YnRhYmxlX3R5cGUyX2xpZ2F0dXJlVGFibGVfdmFsaWRhdGUpOiBGaXggQysrIGNvbXBpbGVyCgllcnJvcnMuCgkoZ3h2X21vcnRfc3VidGFibGVfdHlwZTJfdmFsaWRhdGUpOiBEZWNsYXJlIHdpdGggRlRfTE9DQUxfREVGLgoKCSogZ3h2YWxpZC9neHZtb3J0NC5jIChneHZfbW9ydF9zdWJ0YWJsZV90eXBlNF92YWxpZGF0ZSk6IERlY2xhcmUKCXdpdGggRlRfTE9DQUxfREVGLgoKCSogZ3h2YWxpZC9neHZtb3J0NS5jIChneHZfbW9ydF9zdWJ0YWJsZV90eXBlNV9zdWJ0YWJsZV9zZXR1cCwKCWd4dl9tb3J0X3N1YnRhYmxlX3R5cGU1X0luc2VydExpc3RfdmFsaWRhdGUpOiBGaXggQysrIGNvbXBpbGVyCgllcnJvcnMuCgkoZ3h2X21vcnRfc3VidGFibGVfdHlwZTVfdmFsaWRhdGUpOiBEZWNsYXJlIHdpdGggRlRfTE9DQUxfREVGLgoKCSogZ3h2YWxpZC9neHZtb3J0LmM6IEluY2x1ZGUgZ3h2ZmVhdC5oLgoJKGd4dl9tb3J0X2ZlYXR1cmVhcnJheV92YWxpZGF0ZSwgZ3h2X21vcnRfY292ZXJhZ2VfdmFsaWRhdGUpOgoJRGVjbGFyZSB3aXRoIEZUX0xPQ0FMX0RFRi4KCShneHZfbW9ydF9zdWJ0YWJsZXNfdmFsaWRhdGUsIGd4dl9tb3J0X3ZhbGlkYXRlKTogSW1wcm92ZSB0cmFjZQoJbWVzc2FnZXMuCgoJKiBneHZhbGlkL2d4dm1vcnQuaCAoZ3h2X21vcnRfZmVhdHVyZV92YWxpZGF0ZSk6IFJlbW92ZS4KCgkqIGd4dmFsaWQvZ3h2bW9yeDAuYyAoZ3h2X21vcnhfc3VidGFibGVfdHlwZTBfdmFsaWRhdGUpOiBEZWNsYXJlCgl3aXRoIEZUX0xPQ0FMX0RFRi4KCgkqIGd4dmFsaWQvZ3h2bW9yeDEuYwoJKGd4dl9tb3J4X3N1YnRhYmxlX3R5cGUxX3N1YnN0aXR1dGlvblRhYmxlX2xvYWQsCglneHZfbW9yeF9zdWJ0YWJsZV90eXBlMV9zdWJ0YWJsZV9zZXR1cCwKCWd4dl9tb3J4X3N1YnRhYmxlX3R5cGUxX2VudHJ5X3ZhbGlkYXRlLAoJZ3h2X21vcnhfc3VidGFibGVfdHlwZTFfc3Vic3RpdHV0aW9uVGFibGVfdmFsaWRhdGUpOiBGaXggQysrCgljb21waWxlciBlcnJvcnMuCgkoZ3h2X21vcnhfc3VidGFibGVfdHlwZTFfdmFsaWRhdGUpOiBEZWNsYXJlIHdpdGggRlRfTE9DQUxfREVGLgoKCSogZ3h2YWxpZC9neHZtb3J4Mi5jIChneHZfbW9yeF9zdWJ0YWJsZV90eXBlMl9vcHR0YWJsZV9sb2FkLAoJZ3h2X21vcnhfc3VidGFibGVfdHlwZTJfc3VidGFibGVfc2V0dXAsCglneHZfbW9yeF9zdWJ0YWJsZV90eXBlMl9saWdBY3Rpb25JbmRleF92YWxpZGF0ZSwKCWd4dl9tb3J4X3N1YnRhYmxlX3R5cGUyX2xpZ2F0dXJlVGFibGVfdmFsaWRhdGUpOiBGaXggQysrIGNvbXBpbGVyCgllcnJvcnMuCgkoZ3h2X21vcnhfc3VidGFibGVfdHlwZTJfdmFsaWRhdGUpOiBEZWNsYXJlIHdpdGggRlRfTE9DQUxfREVGLgoJRml4IHR5cG8uCgoJKiBneHZhbGlkL2d4dm1vcng0LmMgKGd4dl9tb3J4X3N1YnRhYmxlX3R5cGU0X3ZhbGlkYXRlKTogRGVjbGFyZQoJd2l0aCBGVF9MT0NBTF9ERUYuCgoJKiBneHZhbGlkL2d4dm1vcng1LmMgKGd4dl9tb3J4X3N1YnRhYmxlX3R5cGU1X2luc2VydGlvbkdseXBoX2xvYWQsCglneHZfbW9yeF9zdWJ0YWJsZV90eXBlNV9zdWJ0YWJsZV9zZXR1cCk6IEZpeCBDKysgY29tcGlsZXIgZXJyb3IuCgkoZ3h2X21vcnhfc3VidGFibGVfdHlwZTVfdmFsaWRhdGUpOiBEZWNsYXJlIHdpdGggRlRfTE9DQUxfREVGLgoKCSogZ3h2YWxpZC9neHZtb3J4LmMgKGd4dl9tb3J4X3N1YnRhYmxlc192YWxpZGF0ZSwKCWd4dl9tb3J4X3ZhbGlkYXRlKTogSW1wcm92ZSB0cmFjZSBtZXNzYWdlLgoKCSogZ3h2YWxpZC9neHZvcGJkLmMgKGd4dl9vcGJkX0xvb2t1cEZtdDRfdHJhbnNpdCk6IEZpeCBjb21waWxlcgoJd2FybmluZ3MuCgkoZ3h2X29wYmRfdmFsaWRhdGUpOiBJbXByb3ZlIHRyYWNlIG1lc3NhZ2UuCgoJKiBneHZhbGlkL2d4dnByb3AuYzogRGVjb3JhdGUgY29uc3RhbnRzIHdpdGggYFUnIGFuZCBgTCcgd2hlcmUKCWFwcHJvcHJpYXRlLgoJKGd4dl9wcm9wX3plcm9fYWR2YW5jZV92YWxpZGF0ZSwgZ3h2X3Byb3BfdmFsaWRhdGUpOiBJbXByb3ZlIHRyYWNlCgltZXNzYWdlLgoKCSogZ3h2YWxpZC9neHZ0cmFrLmMgKGd4dl90cmFrX3RyYWNrVGFibGVfdmFsaWRhdGUpOiBSZW1vdmUgdW51c2VkCglwYXJhbWV0ZXIuICBVcGRhdGUgYWxsIGNhbGxlcnMuCgkoZ3h2X3RyYWtfdmFsaWRhdGUpOiBJbXByb3ZlIHRyYWNlIG1lc3NhZ2UuCgoJKiBydWxlcy5tayAoR1hWX0RSVl9IKTogQWRkIGd4dmZlYXQuaC4KCjIwMDUtMDktMDEgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9neHZhbGlkL2d4dmJzbG4uYyAoR1hWX0JTTE5fVkFMVUVfRU1QVFkpOiBBZGQgYFUnLgoKCSogc3JjL2d4dmFsaWQvZ3htb3J0MS5jIChHWFZfTU9SVF9TVUJUQUJMRV9UWVBFMV9IRUFERVJfU0laRSksCglzcmMvZ3h2YWxpZC9neG1vcnQyLmMgKEdYVl9NT1JUX1NVQlRBQkxFX1RZUEUyX0hFQURFUl9TSVpFKTogRml4Cgl0eXBvLgoKCSogc3JjL2d4dmFsaWQvZ3h2bW9yeDAuYywgc3JjL2d4dmFsaWQvZ3h2bW9yeDEuYywKCXNyYy9neHZhbGlkL2d4dm1vcngyLmMsIHNyYy9neHZhbGlkL2d4dm1vcng0LmMsCglzcmMvZ3h2YWxpZC9neHZtb3J4NS5jLCBzcmMvZ3h2YWxpZC9neHZtb3J0LmM6IEltcHJvdmUgdHJhY2UKCW1lc3NhZ2VzLgoJRGVjb3JhdGUgY29uc3RhbnRzIHdpdGggYFUnIGFuZCBgTCcgd2hlcmUgYXBwcm9wcmlhdGUuCglGaXggY29tcGlsZXIgd2FybmluZ3MuCgoyMDA1LTA4LTMxICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvdHJ1ZXR5cGUvdHRnbG9hZC5jIChsb2FkX3RydWV0eXBlX2dseXBoKTogRml4IHR5cG8uCgoJKiBzcmMvZ3h2YWxpZC9neHZic2xuLmMgKGd4dl9ic2xuX3ZhbGlkYXRlKTogRml4IHRyYWNlIG1lc3NhZ2UuCgoJKiBzcmMvZ3h2YWxpZC9neHZjb21tbi5jIChneHZfb2R0ZWN0X2FkZF9yYW5nZSk6IFVzZSBgY29uc3QnLgoKCSogc3JjL2d4dmFsaWQvZ3h2ZmVhdC5jLCBzcmMvZ3h2YWxpZC9neHZqdXN0LmMsCglzcmMvZ3h2YWxpZC9neHZrZXJuLmMsIHNyYy9neHZhbGlkL2d4dmxjYXIuYywgc3JjL2d4dmFsaWQvZ3h2bW9kLmMsCglzcmMvZ3h2YWxpZC9neHZtb3J0MC5jLCBzcmMvZ3h2YWxpZC9neHZtb3J0MS5jLAoJc3JjL2d4dmFsaWQvZ3h2bW9ydDIuYywgc3JjL2d4dmFsaWQvZ3h2bW9ydDQuYywKCXNyYy9neHZhbGlkL2d4dm1vcnQ1LmMsIHNyYy9neHZhbGlkL2d4dm1vcnQuYzogSW1wcm92ZSB0cmFjZQoJbWVzc2FnZXMuCglEZWNvcmF0ZSBjb25zdGFudHMgd2l0aCBgVScgYW5kIGBMJyB3aGVyZSBhcHByb3ByaWF0ZS4KCUZpeCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDUtMDgtMzAgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9neHZhbGlkL1JFQURNRTogUmV2aXNlZC4KCSogc3JjL2d4dmFsaWQvZ3h2YnNsbi5jOiBGaXggY29tcGlsZXIgd2FybmluZ3MuCgkqIHNyYy9neHZhbGlkL2d4dmNvbW1uLmM6IEZpeCBjb21waWxlciB3YXJuaW5ncy4KCShneHZfWEVudHJ5VGFibGVfdmFsaWRhdGUsIGd4dl9jb21wYXJlX3Jhbmdlcyk6IFJlbW92ZSB1bnVzZWQKCXBhcmFtZXRlci4gIFVwZGF0ZSBhbGwgY2FsbGVycy4KCUltcHJvdmUgdHJhY2UgbWVzc2FnZXMuCglTb21lIGZvcm1hdHRpbmcuCgoyMDA1LTA4LTI5ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ZyZWV0eXBlLmgsIGluY2x1ZGUvZnJlZXR5cGUvZnRjaGFwdGVycy5oOiBBZGQKCWEgcHJlbGltaW5hcnkgc2VjdGlvbiB3aXRoIHNvbWUgZXhwbGFuYXRpb25zIGFib3V0IHVzZXIgYWxsb2NhdGlvbi4KCgkqIHNyYy90b29scy9kb2NtYWtlci90b2h0bWwucHkgKEh0bWxGb3JtYXR0ZXIuc2VjdGlvbl9lbnRlcik6CglEb24ndCBhYm9ydCBpZiB0aGVyZSBhcmUgbm8gZGF0YSB0eXBlcywgZnVuY3Rpb25zLCBldGMuLCBpbiBhCglzZWN0aW9uLgoJUHJpbnQgc3lub3BzaXMgb25seSBpZiB3ZSBoYXZlIGEgZGF0YSB0eXBlLCBmdW5jdGlvbiwgZXRjLgoKCSogZG9jcy9JTlNUQUxMLkFOWSwgZG9jcy9JTlNUQUxMLCBkb2NzL0lOU1RBTEwuVU5YLCBkb2NzL0NVU1RPTUlaRSwKCWRvY3MvSU5TVEFMTC5HTlUsIGRvY3MvVFJVRVRZUEUsIGRvY3MvREVCVUcsIGRvY3MvVVBHUkFERS5VTlgsCglkb2NzL1ZFUlNJT04uRExMLCBkb2NzL2Zvcm1hdHMudHh0OiBSZXZpc2VkLCBmb3JtYXR0ZWQuCgoyMDA1LTA4LTI4ICBHZW9yZ2UgV2lsbGlhbXMgIDxnd3dAc2lsY29tLmNvbT4KCgkqIHNyYy90cnVldHlwZS90dGdsb2FkLmMgW1RUX01BWF9DT01QT1NJVEVfUkVDVVJTRV06IFJlbW92ZWQuCgkobG9hZF90cnVldHlwZV9nbHlwaCk6IExpbWl0IHJlY3Vyc2lvbiBkZXB0aCBieSBgbWF4Q29tcG9uZW50RGVwdGgnLgoKMjAwNS0wOC0yNSAgSi4gQWxpIEhhcmxvdyAgPGFsaUBhdnJjLmNpdHkuYWMudWs+CgoJKiBidWlsZHMvdW5peC9mcmVldHlwZTIuaW4gKENGbGFncyk6IEFkZCBtaXNzaW5nIGRpcmVjdG9yeS4KCjIwMDUtMDgtMjQgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIGRvY3MvQ0hBTkdFUzogTWVudGlvbiBneHZhbGlkIG1vZHVsZS4KCjIwMDUtMDgtMjMgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9hdXRvZml0L2FmbGF0aW4uYyAoYWZfbGF0aW5fbWV0cmljc19zY2FsZSk6IEluaXRpYWxpemUKCXJlbmRlciBtb2RlIHByb3Blcmx5LiAgUmVwb3J0ZWQgYnkgY2hyaXNAZG9rZWluLmNvLnVrLgoKMjAwNS0wOC0yMyAgc3V6dWtpIHRvc2hpeWEgPG1wc3V6dWtpQGhpcm9zaGltYS11LmFjLmpwPgoKCUFkZCBneHZhbGlkIG1vZHVsZSB0byB2YWxpZGF0ZSBUcnVlVHlwZSBHWC9BQVQgdGFibGVzLgoKCU1vZGlmaWNhdGlvbnMgb24gZXhpc3RpbmcgZmlsZXM6CgoJKiBKYW1maWxlOiBSZWdpc3RlciBneHZhbGlkIG1vZHVsZS4KCSogc3JjL2Jhc2UvSmFtZmlsZTogUmVnaXN0ZXIgZnRneHZhbC5jLgoJKiBzcmMvYmFzZS9ydWxlLm1rOiBSZWdpc3RlciBmdGd4dmFsLmMuCgkqIGRvY3MvSU5TVEFMTC5BTlk6IFJlZ2lzdGVyIGd4dmFsaWQvZ3h2YWxpZC5jLgoKCSogaW5jbHVkZS9mcmVldHlwZS9jb25maWcvZnRoZWFkZXIuaCAoRlRfR1hfVkFMSURBVEVfSCk6IE5ldyBtYWNybwoJdG8gaW5jbHVkZSBneHZhbGlkIGhlYWRlciBmaWxlLgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2NvbmZpZy9mdG1vZHVsZS5oOiBSZWdpc3RlciBneHZfbW9kdWxlX2NsYXNzLgoKCSogaW5jbHVkZS9mcmVldHlwZS9mdGNoYXB0ZXJzLmg6IEFkZCBjb21tZW50IGFib3V0IGd4X3ZhbGlkYXRpb24uCgkqIGluY2x1ZGUvZnJlZXR5cGUvZnRvdHZhbC5oOiBDaGFuZ2Uga2V5d29yZCBGVF9WQUxJREFURV9YWFgKCXRvIEZUX1ZBTElEQVRFX09UWFhYIHRvIGNvLWV4aXN0IHdpdGggZ3h2YWxpZC4KCSogaW5jbHVkZS9mcmVldHlwZS90dHRhZ3MuaDogQWRkIHRhZ3MgZm9yIFRydWVUeXBlIEdYL0FBVCB0YWJsZXMuCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL2Z0c2Vydi5oIChGVF9TRVJWSUNFX0dYX1ZBTElEQVRFX0gpOiBOZXcKCW1hY3JvIGZvciBneHZhbGlkIHNlcnZpY2UuCgkqIGluY2x1ZGUvZnJlZXR5cGUvaW50ZXJuYWwvZnR0cmFjZS5oOiBBZGQgdHJhY2UgZmFjaWxpdGllcyBmb3IKCWd4dmFsaWQuCgoJTmV3IGZpbGVzIG9uIGV4aXN0aW5nIGRpcmVjdG9yaWVzOgoKCSogaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9zZXJ2aWNlcy9zdmd4dmFsLmg6IFJlZ2lzdHJhdGlvbiBvZgoJdmFsaWRhdGlvbiBzZXJ2aWNlIGZvciBUcnVlVHlwZSBHWC9BQVQgYW5kIGNsYXNzaWMga2VybiB0YWJsZS4KCSogaW5jbHVkZS9mcmVldHlwZS9mdGd4dmFsLmg6IFB1YmxpYyBBUEkgZGVmaW5pdGlvbiB0byB1c2UgZ3h2YWxpZC4KCSogc3JjL2Jhc2UvZnRneHZhbC5jOiBQdWJsaWMgQVBJIG9mIGd4dmFsaWQuCgoJTmV3IGZpbGVzIHVuZGVyIHNyYy9neHZhbGlkLzoKCgkqIHNyYy9neHZhbGlkL0phbWZpbGUgc3JjL2d4dmFsaWQvUkVBRE1FIHNyYy9neHZhbGlkL21vZHVsZS5tawoJc3JjL2d4dmFsaWQvcnVsZXMubWsgc3JjL2d4dmFsaWQvZ3h2YWxpZC5jIHNyYy9neHZhbGlkL2d4dmFsaWQuaAoJc3JjL2d4dmFsaWQvZ3h2YnNsbi5jIHNyYy9neHZhbGlkL2d4dmNvbW1uLmMgc3JjL2d4dmFsaWQvZ3h2Y29tbW4uaAoJc3JjL2d4dmFsaWQvZ3h2ZXJyb3IuaCBzcmMvZ3h2YWxpZC9neHZmZWF0LmMgc3JjL2d4dmFsaWQvZ3h2Zmdlbi5jCglzcmMvZ3h2YWxpZC9neHZqdXN0LmMgc3JjL2d4dmFsaWQvZ3h2a2Vybi5jIHNyYy9neHZhbGlkL2d4dmxjYXIuYwoJc3JjL2d4dmFsaWQvZ3h2bW9kLmMgc3JjL2d4dmFsaWQvZ3h2bW9kLmggc3JjL2d4dmFsaWQvZ3h2bW9ydC5jCglzcmMvZ3h2YWxpZC9neHZtb3J0Lmggc3JjL2d4dmFsaWQvZ3h2bW9ydDAuYyBzcmMvZ3h2YWxpZC9neHZtb3J0MS5jCglzcmMvZ3h2YWxpZC9neHZtb3J0Mi5jIHNyYy9neHZhbGlkL2d4dm1vcnQ0LmMgc3JjL2d4dmFsaWQvZ3h2bW9ydDUuYwoJc3JjL2d4dmFsaWQvZ3h2bW9yeC5jIHNyYy9neHZhbGlkL2d4dm1vcnguaCBzcmMvZ3h2YWxpZC9neHZtb3J4MC5jCglzcmMvZ3h2YWxpZC9neHZtb3J4MS5jIHNyYy9neHZhbGlkL2d4dm1vcngyLmMgc3JjL2d4dmFsaWQvZ3h2bW9yeDQuYwoJc3JjL2d4dmFsaWQvZ3h2bW9yeDUuYyBzcmMvZ3h2YWxpZC9neHZvcGJkLmMgc3JjL2d4dmFsaWQvZ3h2cHJvcC5jCglzcmMvZ3h2YWxpZC9neHZ0cmFrLmM6IE5ldyBmaWxlcywgZ3h2YWxpZCBib2R5LgoKMjAwNS0wOC0yMSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL3RydWV0eXBlL3R0Z2xvYWQuYyAoVFRfTG9hZF9HbHlwaCk6IE9ubHkgdHJhbnNsYXRlIG91dGxpbmUKCXRvICgwLDApIGlmIGJpdCAxIG9mIHRoZSBgaGVhZCcgdGFibGUgaXNuJ3Qgc2V0LiAgVGhpcyBpbXByb3ZlcwoJcmVuZGVyaW5nIG9mIGJ1Z2d5IGZvbnRzLgoKMjAwNS0wOC0yMCAgQ2hpYSBJIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvdHJ1ZXR5cGUvdHRkcml2ZXIuYyAoTG9hZF9HbHlwaCk6IERvbid0IGNoZWNrIHRoZSB2YWxpZGl0eSBvZgoJdHRtZXRyaWNzIGhlcmUuICBUcnVlVHlwZSBmb250cyB3aXRoIG9ubHkgc2JpdHMgYWx3YXlzIGhhdmUKCXR0bWV0cmljcy52YWxpZCBzZXQgdG8gZmFsc2UuCgoJKiBzcmMvdHJ1ZXR5cGUvdHRnbG9hZC5jIChUVF9Mb2FkX0dseXBoKTogQ2hlY2sgdGhhdCB0dG1ldHJpY3MgaXMKCXZhbGlkIGJlZm9yZSBsb2FkaW5nIG91dGxpbmUgZ2x5cGguCgoJKiBzcmMvY2FjaGUvZnRjaW1hZ2UuYyAoRlRDX0lOb2RlX05ldyk6IEZpeCBhIG1lbW9yeSBsZWFrLgoKMjAwNS0wOC0yMCAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL3NmbnQvdHRsb2FkLmMgKHR0X2ZhY2VfbG9hZF9tZXRyaWNzX2hlYWRlcik6IElnbm9yZSBtaXNzaW5nCglgaGhlYScgdGFibGUgZm9yIFNGTlQgTWFjIGZvbnRzLiAgQ2hhbmdlIGJhc2VkIG9uIGEgcGF0Y2ggYnkKCW1wc3V6dWtpQGhpcm9zaGltYS11LmFjLmpwLgoKMjAwNS0wOC0yMCAgTWFzYXRha2UgWUFNQVRPICA8amV0QGd5dmUub3JnPgoKCSogc3JjL290dmFsaWQvb3R2bW9kLmMgKG90dl92YWxpZGF0ZSk6IFVzZSBmdF92YWxpZGF0b3JfcnVuIGluc3RlYWQKCW9mIGZ0X3NldGptcC4KCjIwMDUtMDgtMTkgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy90cnVldHlwZS90dGdsb2FkLmMgKGxvYWRfdHJ1ZXR5cGVfZ2x5cGgpOiBGaXggY29tcGlsZXIKCXdhcm5pbmdzLgoKMjAwNS0wOC0xNiAgQ2hpYSBJIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvdHJ1ZXR5cGUvdHRpbnRlcnAuYywgc3JjL3RydWV0eXBlL3R0aW50ZXJwLmg6IFVwZGF0ZSBjb3B5cmlnaHQKCW1lc3NhZ2VzLgoKMjAwNS0wOC0xNiAgQ2hpYSBJIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvdHJ1ZXR5cGUvdHRpbnRlcnAuYywgc3JjL3RydWV0eXBlL3R0aW50ZXJwLmg6IFJlbW92ZSBvcmlnaW5hbAoJVFRfRG9uZV9Db250ZXh0IGFuZCByZW5hbWUgVFRfRGVzdHJveV9Db250ZXh0IHRvIFRUX0RvbmVfQ29udGV4dAoJd2l0aCBzbGlnaHQgY2hhbmdlcy4KCVVwZGF0ZSBhbGwgY2FsbGVycy4KCShUVF9OZXdfQ29udGV4dCk6IE5vdyB0YWtlcyBUVF9Ecml2ZXIgYXJndW1lbnQgZGlyZWN0bHkuCglVcGRhdGUgYWxsIGNhbGxlcnMuCgoJKiBzcmMvdHJ1ZXR5cGUvdHRvYmpzLmggKHR0X3Nsb3RfaW5pdCk6IE5ldyBmdW5jdGlvbi4KCSogc3JjL3RydWV0eXBlL3R0b2Jqcy5jICh0dF9kcml2ZXJfaW5pdCk6IEluaXRpYWxpemUgZXhlY3V0aW9uCgljb250ZXh0IGhlcmUuCgkodHRfc2xvdF9pbml0KTogTmV3IGZ1bmN0aW9uIHRvIGNyZWF0ZSBleHRyYSBwb2ludHMgZm9yIHRoZSBpbnRlcm5hbAoJZ2x5cGggbG9hZGVyLiAgV2UgdGhlbiB1c2UgaXQgZGlyZWN0bHksIGluc3RlYWQgb2YgZmFjZSdzIGdseXBoCglsb2FkZXIsIHdoZW4gbG9hZGluZyBnbHlwaC4KCgkqIHNyYy90cnVldHlwZS90dGRyaXZlci5jICh0dF9kcml2ZXJfY2xhc3MpOiBVc2UgdHRfc2xvdF9pbml0IGZvcgoJZ2x5cGggc2xvdCBpbml0aWFsaXphdGlvbi4KCShMb2FkX0dseXBoKTogTG9hZCBmbGFnIGRlcGVuZGVuY2llcyBhcmUgaGFuZGxlZCBoZXJlLiAgUmV0dXJuIGVycm9yCglpZiBzaXplIGlzIE5VTEwuCgoJKiBzcmMvdHJ1ZXR5cGUvdHRnbG9hZC5jOiBIZWF2eSBjbGVhbnVwIGFuZCByZWZhY3RvcmluZy4KCShvcmdfdG9fY3VyKTogUmVtb3ZlZC4KCShUVF9Mb2FkX1NpbXBsZV9HbHlwaCk6IENhbGwgRlRfR2x5cGhMb2FkZXJfQ2hlY2tQb2ludHMuCgkoVFRfSGludF9HbHlwaCk6IE5ldyBmdW5jaW9uIHRvIGhpbnQgYSB6b25lLCBwcmVwYXJlZCBieSBjYWxsZXIuCgkoVFRfUHJvY2Vzc19TaW1wbGVfR2x5cGgpOiBzL2xvYWQvbG9hZGVyLy4KCVVzZSBsb2FkZXItPnBwIHZhbHVlcyBpbnN0ZWFkIG9mIHJlY2FsY3VsYXRpb24uCglVc2UgVFRfSGludF9HbHlwaC4KCU5vIG5lZWQgdG8gc2F2ZS9yZXN0b3JlIGxvYWRlci0+c3RyZWFtIGJlZm9yZSBhbmQgYWZ0ZXIKCVRUX1ZhcnlfR2V0X0dseXBoX0RlbHRhcyBub3cuCgkoVFRfTE9BREVSX1NFVF9QUCk6IE5ldyBtYWNybyB0byBjYWxjdWxhdGUgYW5kIHNldCB0aGUgZm91ciBwaGFudG9tCglwb2ludHMuCgkobG9hZF90cnVldHlwZV9nbHlwaCk6IE5ldmVyIHNldCBleGVjLT5nbHlwaFNpemUgdG8gMC4gIFRoaXMgY2xvc2VzCglTYXZhbm5haCBidWcgIzEzMTA3LgoJRm9yZ2V0IGdseXBoIGZyYW1lIGJlZm9yZSBjYWxsaW5nIFRUX1Byb2Nlc3NfU2ltcGxlX0dseXBoLgoJVXNlIFRUX0xPQURFUl9TRVRfUFAuCglTY2FsZSBhbGwgZm91ciBwaGFudG9tIHBvaW50cy4KCVNwbGl0IG9mZiBzb21lIGZ1bmN0aW9uYWxpdHkgdG8gLi4uCgkoVFRfUHJvY2Vzc19Db21wb3NpdGVfQ29tcG9uZW50LCBUVF9Qcm9jZXNzX0NvbXBvc2l0ZV9HbHlwaCk6IFRoZXNlCgluZXcgZnVuY3Rpb25zLgoJKFRUX0xvYWRfR2x5cGgpOiBTZXQgdmFyaW91cyBmaWVsZHMgb2YgYGdseXBoJyBoZXJlLCBub3QgaW4KCWxvYWRfdHJ1ZXR5cGVfZ2x5cGggYW5kIGNvbXB1dGVfZ2x5cGhfbWV0cmljcy4KCVNwbGl0IG9mZiBzb21lIGZ1bmN0aW9uYWxpdHkgdG8gLi4uCgkobG9hZF9zYml0X2ltYWdlLCB0dF9sb2FkZXJfaW5pdCk6IFRoZXNlIG5ldyBmdW5jdGlvbnMuCgkoY29tcHV0ZV9nbHlwaF9tZXRyaWNzKTogQ2FsbCBGVF9PdXRsaW5lX0dldF9DQm94LgoKMjAwNS0wOC0wOCAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogZG9jcy9JTlNUQUxMLkFOWTogVXBkYXRlZC4KCjIwMDUtMDgtMDUgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9jZmYvY2ZmZ2xvYWQuYyAoY2ZmX2J1aWxkZXJfY2xvc2VfY29udG91ciksCglzcmMvcHNhdXgvcHNvYmpzLmMgKHQxX2J1aWxkZXJfY2xvc2VfY29udG91cik6IFByb3RlY3QgYWdhaW5zdAoJemVybyBgb3V0bGluZScgcG9pbnRlci4KCgkqIHNyYy9iYXNlL2Z0Z2xvYWRyLmMgKEZUX0dseXBoTG9hZGVyX0FkZCk6IFByb3RlY3QgYWdhaW5zdCB6ZXJvCglgbG9hZGVyJyBhZGRyZXNzLgoKMjAwNS0wOC0wMyAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL3NmbnQvc2Zkcml2ZXIuYyAoc2ZudF9pbnRlcmZhY2UpIFtGVF9PUFRJTUlaRV9NRU1PUlldOgoJUmVhY3RpdmF0ZSBwb2ludGVycyB0byB0dF9maW5kX3NiaXRfaW1hZ2UgYW5kIHR0X2xvYWRfc2JpdF9tZXRyaWNzCgl0byBtYWtlIFggd29yayBhZ2Fpbi4KCjIwMDUtMDgtMDIgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9vdHZhbGlkL290dmNvbW1uLmg6IFJlbW92ZSBkZWFkIGNvZGUuCgoyMDA1LTA3LTMxICBDaGlhIEkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy90cnVldHlwZS90dG9ianMuaCAodHRfc2l6ZV9ydW5fZnBnbSwgdHRfc2l6ZV9ydW5fcHJlcCk6IE5ldwoJZnVuY3Rpb25zLgoKCSogc3JjL3RydWV0eXBlL3R0b2Jqcy5jICh0dF9zaXplX3J1bl9mcGdtLCB0dF9zaXplX3J1bl9wcmVwKTogTmV3CglmdW5jdGlvbnMuCgkodHRfc2l6ZV9pbml0KTogQWRkIDQsIGluc3RlYWQgb2YgMiwgKHBoYW50b20pIHBvaW50cyB0byB0d2lsaWdodAoJem9uZS4KCU1vdmUgY29kZSB0aGF0IHJ1bnMgZnBnbSB0byB0dF9zaXplX3J1bl9mcGdtLgoJKFJlc2V0X091dGxpbmVfU2l6ZSk6IE1vdmUgY29kZSB0aGF0IHJ1bnMgcHJlcCB0byB0dF9zaXplX3J1bl9wcmVwLgoJKHR0X2dseXBoem9uZV9uZXcpOiBBbGxvY2F0ZSByaWdodCBzaXplIG9mIGFycmF5cy4KCVNldCBtYXhfcG9pbnRzIGFuZCBtYXhfY29udG91cnMgcHJvcGVybHkuCgoyMDA1LTA3LTI2ICBDaGlhIEkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy90cnVldHlwZS90dGRyaXZlci5jIChTZXRfQ2hhcl9TaXplcyk6IEF2b2lkIHVubmVjZXNzYXJ5Cgljb21wdXRhdGlvbnMgYW5kIGNsZWFuIHVwLgoKCSogc3JjL3RydWV0eXBlL3R0b2Jqcy5oIChzdHJ1Y3QgVFRfU2l6ZVJlY18pOiBDb21tZW50IG9uIHRoZQoJaW50ZXJuYWwgY29weSBvZiBtZXRyaWNzLgoKMjAwNS0wNy0xMiAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogaW5jbHVkZS9mcmVldHlwZS9mdG91dGxuLmggKEZUX091dGxpbmVfRW1ib2xkZW4pOiBGaXggcHJvdG90eXBlLgoJUmVwb3J0ZWQgYnkgWGVyeGVzLgoKMjAwNS0wNy0wNCAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9mdG1lbW9yeS5oIChGVF9SRUFMTE9DX0FSUkFZKTogRml4IHR5cG8uCglSZXBvcnRlZCBieSBCcmV0dCBIdXRsZXkuCgoyMDA1LTA2LTMwICBEYXZpZCBUdXJuZXIgIDxkYXZpZEBmcmVldHlwZS5vcmc+CgoJKiBzcmMvc2ZudC9mdGJpdG1hcC5jLCBzcmMvdHJ1ZXR5cGUvdHRnbG9hZC5jLCBzcmMvc2ZudC90dGNtYXAuYzoKCVJlbW92aW5nIGNvbXBpbGVyIHdhcm5pbmdzIChWaXN1YWwgQysrIC9XNCkuCgoKCUltcGxlbWVudCBhIHdvcmstYXJvdW5kIGZvciBicm9rZW4gQyBwcmVwcm9jZXNzb3IgaW4gVmlzdWFsIEMrKyAoaXQKCWhhcyBiZWVuIGNvbmZpcm1lZCBieSB0aGUgTVMgZGV2ZWxvcGVycyB0aGF0IGl0IGlzIGluZGVlZCBhIGJ1ZwoJd2hpY2ggd29uJ3QgYmUgZml4ZWQgaW4gdGhlIHZlcnkgbmVhciBmdXR1cmUpLgoKCSogSmFtZmlsZSAoRlQyX0NPTVBPTkVOVFMpOiBJbmNsdWRlIG90dmFsaWQgKGFnYWluKS4KCgkqIHNyYy9vdHZhbGlkL290dmNvbW1uLmggKE9UVl9OQU1FLCBPVFZfRlVOQyk6IE5ldyBtYWNyb3MuCgkoT1RWX05FU1QxLCBPVFZfTkVTVDIsIE9UVl9ORVNUMyk6IFVzZSBPVFZfTkFNRSBhbmQgT1RWX0ZVTkMgdG8KCWF2b2lkIGFyZ3VtZW50IGV4cGFuc2lvbiBieSBhcmd1bWVudCBwcmVzY2FuLgoJQXBwZW5kIGBGdW5jJyB0byBhbGwgYWZmZWN0ZWQgbWFjcm9zIGFuZCBjaGFuZ2UgdGhlbSB0byB0YWtlIGp1c3QgYQoJc2luZ2xlIGFyZ3VtZW50LiAgRXhhbXBsZTogYEF0dGFjaExpc3QnIGlzIHJlbmFtZWQgdG8KCWBBdHRhY2hMaXN0RnVuYycuCgoJKiBzcmMvb3R2YWxpZC9vdHZnZGVmLmMsIHNyYy9vdHZhbGlkL290dmdwb3MuYywKCXNyYy9vdHZhbGlkL290dmdzdWIuYywgc3JjL290dmpzdGYuYzogQXBwZW5kIGBGdW5jJyB0byBtYWNyb3MKCWFmZmVjdGVkIGJ5IHRoZSBjaGFuZ2VzIHRvIE9UVl9ORVNUeCBhbmQgbW9kaWZ5IHRoZW0gdG8gdGFrZSBqdXN0IGEKCXNpbmdsZSBhcmd1bWVudC4KCjIwMDUtMDYtMjAgIENoaWEgSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9mdG9ianMuaCwgc3JjL2Jhc2UvZnRvYmpzLmM6IE5ldyBmdW5jdGlvbgoJZnRfZ2x5cGhzbG90X2dyaWRfZml0X21ldHJpY3MuCgoJKiBzcmMvdHJ1ZXR5cGUvdHRnbG9hZC5jIChjb21wdXRlX2dseXBoX21ldHJpY3MpOiBVc2UKCWZ0X2dseXBoc2xvdF9ncmlkX2ZpdF9tZXRyaWNzLgoKCSogc3JjL2NmZi9jZmZnbG9hZC5jIChjZmZfc2xvdF9sb2FkKSwgc3JjL2NpZC9jaWRnbG9hZC5jCgkoY2lkX3Nsb3RfbG9hZF9nbHlwaCksIHNyYy90eXBlMS90MWdsb2FkLmMgKFQxX0xvYWRfR2x5cGgpOiBVc2UKCWZ0X2dseXBoc2xvdF9ncmlkX2ZpdF9tZXRyaWNzLgoJRlRfT3V0bGluZV9HZXRfQ0JveCBpcyBjYWxsZWQgdHdpY2UuCgoJKiBzcmMvYmFzZS9mdHN5bnRoLmMgKEZUX0dseXBoU2xvdF9FbWJvbGRlbik6IE1vZGlmeSBtZXRyaWNzIHRvIG1vcmUKCXJlYXNvbmFibGUgdmFsdWVzIHdoZW4gZW1ib2xkZW5pbmcgb3V0bGluZSBnbHlwaHMuICBUaGUgdGhlb3JldGljCglvbmVzIGFyZSB1bnJlYWxpc3RpYy4KCjIwMDUtMDYtMTYgIENoaWEgSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL2Jhc2UvZnRvdXRsbi5jIChGVF9PdXRsaW5lX0VtYm9sZGVuKTogU3RyZW5ndGggc2hvdWxkIGJlCgloYWx2ZWQuCgoJKiBzcmMvYmFzZS9mdHN5bnRoLmMgKEZUX0dseXBoU2xvdF9FbWJvbGRlbik6IENoYW5nZSB0aGUgZGVmYXVsdAoJc3RyZW5ndGguCglEb24ndCBpbmNyZWFzZSBzbG90LT5hZHZhbmNlLnkuCgoyMDA1LTA2LTE2ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ZyZWV0eXBlLmggKEZSRUVUWVBFX01JTk9SKTogU2V0IHRvIDIuCgkoRlJFRVRZUEVfUEFUQ0gpOiBTZXQgdG8gMC4KCgkqIGJ1aWxkcy91bml4L2NvbmZpZ3VyZS5hYyAodmVyc2lvbl9pbmZvKTogU2V0IHRvIDk6OTozLgoJQ3VycmVudGx5LCB3ZSBhcmUgc3RpbGwgYmluYXJ5IGNvbXBhdGlibGUuCgoJKiBidWlsZHMvd2luMzIvdmlzdWFsYy9pbmRleC5odG1sLAoJYnVpbGRzL3dpbjMyL3Zpc3VhbGMvZnJlZXR5cGUuZHNwLAoJYnVpbGRzL3dpbjMyL3Zpc3VhbGMvZnJlZXR5cGUudmNwcm9qOiBzLzIxOS8yMTEwLywgcy8yLjEuOS8yLjEuMTAvLgoKCSogYnVpbGRzL2ZyZWV0eXBlLm1rIChyZWZkb2MpLCBSRUFETUUsIEphbWZpbGUgKFJlZkRvYyk6CglzLzIuMS45LzIuMS4xMC8uCgoJKiBkb2NzL0NIQU5HRVMsIGRvY3MvVkVSU0lPTi5ETEw6IFVwZGF0ZWQuCgoJKiBDaGFuZ2VMb2c6IFNwbGl0IG9mZiBvbGRlciBlbnRyaWVzIGludG8uLi4KCSogQ2hhbmdlTG9nLjIwLCBDaGFuZ2VMb2cuMjE6IFRoZXNlIG5ldyBmaWxlcy4KCjIwMDUtMDYtMTUgIEtpcmlsbCBTbWVsa292ICA8a2lyckBtbnMuc3BiLnJ1PgoKCVRoZSBuZXh0IHJlbGVhc2Ugd2lsbCBiZSAyLjIuMCwgc28gZG9uJ3Qgd29ycnkgYWJvdXQgc291cmNlIGNvZGUKCWJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoKCSogaW5jbHVkZS9mcmVldHlwZS9mdGltYWdlLmggKEZUX091dGxpbmVfTW92ZVRvRnVuYywKCUZUX091dGxpbmVfTGluZVRvRnVuYywgRlRfT3V0bGluZV9Db25pY1RvRnVuYywKCUZUX091dGxpbmVfQ3ViaWNUb0Z1bmMsIEZUX1NwYW5GdW5jLCBGVF9SYXN0ZXJfUmVuZGVyRnVuYyksCglpbmNsdWRlL2ZyZWV0eXBlL2Z0cmVuZGVyLmggKEZUX0dseXBoX1RyYW5zZm9ybUZ1bmMsCglGVF9SZW5kZXJlcl9SZW5kZXJGdW5jLCBGVF9SZW5kZXJlcl9UcmFuc2Zvcm1GdW5jKTogRGVjb3JhdGUKCXBhcmFtZXRlcnMgd2l0aCBgY29uc3QnIHdoZXJlIGFwcHJvcHJpYXRlLgoKMjAwNS0wNi0xNSAgQ2hpYSBJIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvc2ZudC90dHNiaXQuYyAodHRfZmFjZV9sb2FkX3NiaXRfaW1hZ2UpOiBDb21wdXRlIHZlcnRCZWFyaW5nWQoJdG8gbWFrZSBnbHlwaHMgY2VudGVyZWQgdmVydGljYWxseS4KCgkqIHNyYy90cnVldHlwZS90dGdsb2FkLmMgKGNvbXB1dGVfZ2x5cGhfbWV0cmljcyk6IENvbXB1dGUKCXZlcnRCZWFyaW5nWSB0byBtYWtlIGdseXBocyBjZW50ZXJlZCB2ZXJ0aWNhbGx5LgoJRml4IHNvbWUgYnVncyBpbiB2ZXJ0aWNhbCBtZXRyaWNzOgoKCSAgLiBsb2FkZXItPnBwMy55IGFuZCBsb2FkZXItPnBwNC55IGFyZSBpbiAyNi42IGZvcm1hdCwgbm90IGluIGZvbnQKCSAgICB1bml0cy4KCSAgLiBBcyB3ZSB1c2UgdGhlIGdseXBoJ3MgY2JveCB0byBjYWxjdWxhdGUgdGhlIHRvcCBiZWFyaW5nIG5vdwoJICAgIHRoZXJlIGlzcyBubyBuZWVkIHRvIGFkanVzdCBgdG9wJy4KCjIwMDUtMDYtMTUgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9vdHZhbGlkL290dmNvbW1uLmggKE9UVl9PUFRJT05BTF9UQUJMRSk6IFVzZSBGVF9VU2hvcnQgdG8gYmUKCWluIHN5bmMgd2l0aCBPVFZfT1BUSU9OQUxfT0ZGU0VULiAgUmVwb3J0ZWQgYnkgWUFNQVRPIE1hc2F0YWtlLgoKMjAwNS0wNi0xMyAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogZG9jcy9yZWxlYXNlOiBVcGRhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpDb3B5cmlnaHQgMjAwNSBieQpEYXZpZCBUdXJuZXIsIFJvYmVydCBXaWxoZWxtLCBhbmQgV2VybmVyIExlbWJlcmcuCgpUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgRnJlZVR5cGUgcHJvamVjdCwgYW5kIG1heSBvbmx5IGJlIHVzZWQsIG1vZGlmaWVkLAphbmQgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBGcmVlVHlwZSBwcm9qZWN0IGxpY2Vuc2UsCkxJQ0VOU0UuVFhULiAgQnkgY29udGludWluZyB0byB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgeW91CmluZGljYXRlIHRoYXQgeW91IGhhdmUgcmVhZCB0aGUgbGljZW5zZSBhbmQgdW5kZXJzdGFuZCBhbmQgYWNjZXB0IGl0CmZ1bGx5LgoKCkxvY2FsIFZhcmlhYmxlczoKdmVyc2lvbi1jb250cm9sOiBuZXZlcgpjb2Rpbmc6IGxhdGluLTEKRW5kOgo=