MjAwMy0xMi0xOSAgS2F6dWhpcm8gSW5hb2thICA8aW5hb2thLmthenVoaXJvQHJlbmVzYXMuY29tPgoKCUFkZCBtMzJyLWxpbnV4IGFuZCBQSUMgc3VwcG9ydC4gIEFkZCBuZXcgQUJJIHRoYXQgdXNlcyBSRUxBLgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgZW0zMnJsZWxmLmMsIGVtMzJyZWxmX2xpbnV4LmMsCgllbTMycmxlbGZfbGludXguYy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS50Z3QgKG0zMnIqLSotbGludXgqLCBtMzJyKmxlLSotbGludXgqLCBtMzJyKmxlLSotKik6QWRkZWQuCgkqIGVtdWxwYXJhbXMvbTMycmVsZl9saW51eC5zaDogQWRkZWQuCgkqIGVtdWxwYXJhbXMvbTMycmxlbGYuc2g6IERpdHRvLgoJKiBlbXVscGFyYW1zL20zMnJsZWxmX2xpbnV4LnNoOiBEaXR0by4KCSogTkVXUzogTWVudGlvbiBzdXBwb3J0IG0zMnIgTGludXguCgoyMDAzLTEyLTE4ICBFcmljIFlvdW5nZGFsZSAgPGVyaWNAbWtzc29mdHdhcmUuY29tPgogICAgICAgICAgICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogZW11bHRlbXBsL3BlLmVtIChfYWZ0ZXJfb3Blbik6IFdoZW4gc2Nhbm5pbmcgTVMgaW1wb3J0CglsaWJyYXJpZXMgYWxsb3cgZm9yIHRoZSBwb3NzaWJsZSBwcmVzZW5jZSBvZiBzdGF0aWMgb2JqZWN0cy4KICAgICAgICAgIAoyMDAzLTEyLTA3ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBsZGxhbmcuYyAobGFuZ192ZXJzX21hdGNoKTogUGFzcyAiRE1HTF9QQVJBTVMgfCBETUdMX0FOU0kiIHRvCgljcGx1c19kZW1hbmdsZS4KCjIwMDMtMTItMDcgIEthenUgSGlyYXRhICA8a2F6dUBjcy51bWFzcy5lZHU+CgoJKiBsZGVtdWwuYzogQ29udmVydCB0byBJU08tQy4KCSogbGR2ZXIuYzogTGlrZXdpc2UuCgoyMDAzLTEyLTA2ICBLYXp1IEhpcmF0YSAgPGthenVAY3MudW1hc3MuZWR1PgoKCSogbGV4c3VwLmMgKGlzX251bSk6IFJlbW92ZS4KCjIwMDMtMTItMDUgIERtaXRyeSBTZW15b25vdiAgPERtaXRyeS5TZW15b25vdkBva3RldC5ydT4KCgkqIHBlLWRsbC5jIChnZW5lcmF0ZV9yZWxvYyk6IFJlbWFwIEFSTV8yNkQgcmVsb2NhdGlvbiBmcm9tIDUgdG8KCTAuICBUaGlzIGZpeGVzICJiYWQgZml4dXAiIGVycm9yIGdlbmVyYXRlZCBieSBNUyBsaW5rZXIuCgoyMDAzLTEyLTA0ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBlbXVsdGVtcGwvaWE2NGVsZi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fYWZ0ZXJfcGFyc2UpOiBTZXQKCWxpbmtfaW5mby5uZWVkX3JlbGF4X2ZpbmFsaXplIHRvIFRSVUUuCgoJKiBsZGxhbmcuYyAobGFuZ19wcm9jZXNzKTogVXNlIGxpbmtfaW5mby5uZWVkX3JlbGF4X2ZpbmFsaXplCglpbnN0ZWFkIG9mIGxpbmtfaW5mby5yZWxheF9maW5hbGl6aW5nLgoJKiBsZG1haW4uYyAobWFpbik6IExpa2V3aXNlLgoJCjIwMDMtMTItMDQgIERtaXRyeSBTZW15b25vdiAgPERtaXRyeS5TZW15b25vdkBva3RldC5ydT4KCgkqIGFybXBlLnNoIChSRUxPQ0FURUFCTEVfT1VUUFVUX0ZPUk1BVCk6IERlZmluZS4KCjIwMDMtMTItMDQgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZGxhbmcuYyAobGFuZ19kb19hc3NpZ25tZW50cyk6IEZ1bmN0aW9uIHJldHVybiBpcyB2b2lkLgoJKiBsZGxhbmcuaCAobGFuZ19kb19hc3NpZ25tZW50cyk6IERpdHRvLgoJKiBlbXVsdGVtcGwvbmV0YnNkLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9iZWZvcmVfcGFyc2UpOiBEZWNsYXJlLgoJKiBNYWtlZmlsZS5hbSAoZW5zMzJrbmJzZC5jKTogRGVwZW5kIG9uIG5ldGJzZC5lbS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTEyLTAzICBEYXZlIEFpcmxpZSAgPGFpcmxpZWRAbGludXguaWU+CgoJKiBjb25maWd1cmUudGd0OiBBZGQgdmF4LWxpbnV4LWdudSB0YXJnZXQuCgoyMDAzLTEyLTAzICBEbWl0cnkgRGlreSAgPGRpd2lsQG1haWwucnU+CgkKCSogc2NyaXB0dGVtcGwvZWxmMzJtc3A0MzAuc2MgKEhFQVBfU0VDVElPTl9NU1A0MzApOiBOZXcgc2VjdGlvbiBmb3IKCWZvcnRoY29taW5nIGRldmljZXMuCgkoX2V0ZXh0KTogcHJvdmlkZSB0aGlzIGRlZmVuaXRpb24gZm9yIGFsbCBzY3JpcHRzLgoKMjAwMy0xMi0wMiAgS2F6dSBIaXJhdGEgIDxrYXp1QGNzLnVtYXNzLmVkdT4KCgkqIGVtdWx0ZW1wbC9iZW9zLmVtOiBSZW1vdmUgQVJHU1VTRUQuCgoyMDAzLTEyLTAzICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHRlbXBsL3BlLmVtIChwZV9maXh1cF9zdGRjYWxscyk6IFVwZGF0ZSBmb3IgcmVuYW1lZAoJYmZkX2xpbmtfaGFzaF9lbnRyeSBmaWVsZCAibmV4dCIgLT4gInVuZF9uZXh0Ii4KCShwZV9maW5kX2RhdGFfaW1wb3J0cyk6IExpa2V3aXNlLgoJKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9vcGVuKTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9zdW5vcy5lbSAoYmVmb3JlX2FsbG9jYXRpb24pOiBMaWtld2lzZS4KCjIwMDMtMTItMDIgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBsZC50ZXhpbmZvIChPcHRpb25zKTogLS1pZ25vcmUtYWxsIGlzIG5vIGxvbmdlciB0aGUgZGVmYXVsdAoJYmVoYXZpb3VyIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljIGV4ZWN1dGFibGVzLgoKMjAwMy0xMi0wMiAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIE1ha2VmaWxlLmFtOiBSdW4gIm1ha2UgZGVwLWFtIi4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTEyLTAyICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGRtYWluLmMgKG1haW4pOiBSZW1vdmUgbXBjODYwYzAgY29kZS4KCSogbGV4c3VwLmMgKGVudW0gb3B0aW9uX3ZhbHVlcyk6IERlbGV0ZSBPUFRJT05fTVBDODYwQzAuCgkobGRfb3B0aW9ucyk6IERlbGV0ZSBtcGM4NjBjMCBlbnRyeS4KCShwYXJzZV9hcmdzKTogTGlrZXdpc2UuCgoyMDAzLTEyLTAxICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHRlbXBsL2VsZjMyLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9iZWZvcmVfYWxsb2NhdGlvbik6IFRlc3QKCWhhc2ggdGFibGUgdHlwZSByYXRoZXIgdGhhbiB0ZXN0aW5nIGNyZWF0b3IgZmxhdm91ci4KCSogZW11bHRlbXBsL2hwcGFlbGYuZW0gKGhwcGFlbGZfY3JlYXRlX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudHMpOgoJT25seSBjcmVhdGUgc3R1Yl9maWxlIGJmZCBpZiBoYXNoIHRhYmxlIGNyZWF0b3IgaXMgYXMgZXhwZWN0ZWQuCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fZmluaXNoKTogVGVzdCBzdHViX2ZpbGUuCgoyMDAzLTExLTI4ICBNYXJjZWwgTW9vbGVuYWFyICA8bWFyY2VsQHhjbGxudC5uZXQ+CgoJKiBlbXVscGFyYW1zL2VsZjY0X2lhNjRfZmJzZC5zaCAoVEVYVF9TVEFSVF9BRERSKTogRGVmaW5lLgoJKERBVEFfQUREUik6IFVuc2V0LgoKMjAwMy0xMS0xOCAgSmFtZXMgRSBXaWxzb24gIDx3aWxzb25Ac3BlY2lmaXhpbmMuY29tPgoKCSogbGRsYW5nLmMgKGxhbmdfcHJvY2Vzcyk6IE1vdmUgbGFuZ19yZXNldF9tZW1vcnlfcmVnaW9ucyBjYWxsIGFmdGVyCglsYW5nX2RvX2Fzc2lnbm1lbnRzIGNhbGwuCgoJKiBlbXVscGFyYW1zL2VsZjY0X2lhNjQuc2ggKE9USEVSX1BMVF9SRUxPQ19TRUNUSU9OUyk6IEluY2x1ZGUKCS5yZWxhLm9wZCBpZiAtcGllLgoKMjAwMy0xMS0xMCAgSm9uYXRoYW4gV2lsc29uIDxqb253aWxAdHBnaS5jb20uYXU+CgoJKiBzY3JpcHR0ZW1wbC9wZS5zYzogQWRkIHN1cHBvcnQgZm9yIFRMUyBzZWN0aW9ucy4KCjIwMDMtMTEtMDkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBjb25maWd1cmUuaG9zdCAoSE9TVElOR19MSUJTKTogR3JvdXAgbGliZ2NjIGFuZCBsaWJjIHdpdGgKCS0tc3RhcnQtZ3JvdXAsIC0tZW5kLWdyb3VwIHBhaXIuCgkoKi0qLW5ldGJzZCosIGFtMzNfMi4wLSotbGludXgqKTogVXNlIHRoZSBkZWZhdWx0IEhPU1RJTkdfTElCUy4KCShhbTMzXzIuMC0qLWxpbnV4Kik6IEVkaXQgZGVmYXVsdCBIT1NUSU5HX0NSVDAuCgkoYXJtKi0qLWxpbnV4LWdudSopOiBSZW1vdmUgZXh0cmFuZW91cyAnKicgaW4gc2VkIGV4cHJlc3Npb24uCgkoaHBwYSo2NCotKi1saW51eCosIGhwcGEqLSotbGludXgqKTogUmVtb3ZlIHRhcmdldCBzcGVjaWZpYyBjYXNlLgoKMjAwMy0xMS0wNyAgSm9uYXRoYW4gUi4gR3JhbnQgIDxqZy1iaW51dGlsc0BqZ3VrLm9yZz4KCgkqIGxkZmlsZS5jIChsZGZpbGVfb3Blbl9maWxlKTogVXNlICJObyBzdWNoIGZpbGUiIGVycm9yIG1lc3NhZ2UuCgoyMDAzLTExLTA2ICBCcnVubyBSb2hlZSAgPGJydW5vQHJvaGVlLmNvbT4KCgkqIGxzLnRleGluZm86IEZpeCAidGhlIHRoZSIgdHlwby4KCjIwMDMtMTEtMDUgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvcGUuZW0gKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9vcGVuKTogT25seSBkbwoJcGVfZGxsX2V4dHJhX3BlX2RlYnVnIHN0dWZmIHdoZW4gRExMX1NVUFBPUlQgZGVmaW5lZC4KCShwcl9zeW0pOiBNb3ZlIGluc2lkZSAjaWZkZWYgRExMX1NVUFBPUlQuCgoJKiBlbXVsdGVtcGwvcHBjNjRlbGYuZW0gKGdsZCR7RU1VTEFUSU9OX05BTUV9X25ld192ZXJzX3BhdHRlcm4pOiBaYXAKCXVudXNlZCB2YXJpYWJsZS4KCgkqIGVtdWxwYXJhbXMvZWxmMzJfaTg2MC5zaCAoVEVYVF9TVEFSVF9BRERSKTogRGVmaW5lLgoKMjAwMy0xMS0wNCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fYmVmb3JlX2FsbG9jYXRpb24pOiBDYWxsCglfYmZkX2VsZl90bHNfc2V0dXAuCgoyMDAzLTEwLTMxICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogbGRsYW5nLmMgKGxvb2t1cF9uYW1lKTogV2hlbiBsb29raW5nIGZvciBhIHByZXZpb3VzbHkgbG9hZGVkCglmaWxlIGNvbXBhcmUgdGhlIGxvY2FsX3N5bV9uYW1lIG5vdCB0aGUgZmlsZW5hbWUsIGFzIHRoZQoJZmlsZW5hbWUgbWlnaHQgaGF2ZSBiZWVuIHRyYW5zZm9ybWVkIHZpYSB0aGUgc2VhcmNoIGRpcmVjdG9yeQoJcGF0aCBsb29rdXAuCglJZiB0aGUgc291Z2h0LWZvciBmaWxlIGhhcyBub3QgYmVlbiBmb3VuZCBpbiB0aGUgaW5wdXQgZmlsZQoJY2hhaW4gdGhlbiBjcmVhdGUgYSBuZXcgbm9kZSB3aXRoIHRoZSBzZWFyY2hfZGlyc19mbGFnIHNldCBzbwoJdGhhdCB0aGUgZW50aXJlIHNldCBvZiBkaXJlY3RvcnkgcGF0aHMgd2lsbCBiZSBzY2FubmVkIGZvciBpdC4KCjIwMDMtMTAtMzAgIEFuZHJldyBDYWduZXkgIDxjYWduZXlAcmVkaGF0LmNvbT4KCgkqIGVtdWx0ZW1wbC9wZS5lbSwgcGUtZGxsLmM6IFJlcGxhY2UgInN0cnVjdCBzeW1ib2xfY2FjaGVfZW50cnkiCgl3aXRoICJzdHJ1Y3QgYmZkX3N5bWJvbCIuCgoyMDAzLTEwLTMwIFBoaWwgRWR3YXJkcyA8cGhpbEBjb2Rlc291cmNlcnkuY29tPgoKCSogTWFrZWZpbGUuYW0gKEFMTF9FTVVMQVRJT05TKTogQWRkIGVsZjMybWlwc3dpbmRpc3Muby4KCShlZWxmMzJtaXBzd2luZGlzcy5jKTogTmV3IHRhcmdldC4KCSogTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlZC4KCSogZW11bHBhcmFtcy9lbGYzMm1pcHN3aW5kaXNzLnNoOiAgTmV3IGZpbGUuCgkqIGNvbmZpZ3VyZS50Z3QgKGlbMy03XTg2LSotdnh3b3JrcyosIGFybS0qLXZ4d29ya3MsIHNoLSotdnh3b3JrcywKCW1pcHMqLSotdnh3b3JrcyopOiAgVXNlIEVMRiBub3cuCgkobWlwcyotKi13aW5kaXNzKTogIE5ldyBzdGFuemEsIHVzZSBlbGYzMm1pcHN3aW5kaXNzLgoKMjAwMy0xMC0yNyAgU3RlcGhhbmUgQ2FycmV6ICA8c3RjYXJyZXpAbmVyaW0uZnI+CgoJKiBzY3JpcHR0ZW1wbC9lbGZtNjhoYzEyLnNjOiBEZWZpbmUgZWVwcm9tIG1lbW9yeSByZWdpb24uCgoyMDAzLTEwLTI1ICBLYXp1IEhpcmF0YSAgPGthenVAY3MudW1hc3MuZWR1PgoKCSogQ2hhbmdlTG9nLTkxOTc6IEZpeCB0eXBvcy4KCSogTkVXUzogTGlrZXdpc2UuCgkqIGxkLnRleGluZm86IExpa2V3aXNlLgoJKiBsZGxhbmcuYzogRml4IGNvbW1lbnQgdHlwb3MuCgoyMDAzLTEwLTI0ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBsZGxhbmcuYyAobGFuZ192ZXJzX21hdGNoKTogRml4IGEgdHlwby4KCjIwMDMtMTAtMjQgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGxkbGFuZy5jIChsYW5nX3ZlcnNfbWF0Y2gpOiBDaGVjayBkZW1hbmdsZWQgc3ltYm9scy4KCjIwMDMtMTAtMjQgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGxkbGFuZy5jIChsYW5nX3ZlcnNfbWF0Y2gpOiBDaGVjayAic3ltYm9sIiBpbnN0ZWFkIG9mCgkid2lsZGNhcmQiIGFuZCAicGF0dGVybiIuIEZpeCBhIHR5cG8uCgkobGFuZ19maW5hbGl6ZV92ZXJzaW9uX2V4cHJfaGVhZCk6IExpa2V3aXNlLgoJKGxhbmdfcmVnaXN0ZXJfdmVyc19ub2RlKTogTGlrZXdpc2UuCgkocmVhbHN5bWJvbCk6IE5ldyBmdW5jdGlvbi4KCShsYW5nX25ld192ZXJzX3BhdHRlcm4pOiBTZXQgInN5bWJvbCIgYW5kIHJlbW92ZSAid2lsZGNhcmQiLgoKCSogbGRsZXgubCAoVl9JREVOVElGSUVSKTogQWxsb3cgJ1xcJy4KCjIwMDMtMTAtMjQgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBlbXVsdGVtcGwvbTY4aGMxeGVsZi5lbSAoYmVmb3JlX2FsbG9jYXRpb24pOiBBZGQgbWlzc2luZyBzZWNvbmQKCXBhcmFtZXRlciB0byBsYW5nX21lbW9yeV9yZWdpb25fbG9va3VwLgoKMjAwMy0xMC0yMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsZGxhbmcuYzogSW5jbHVkZSBoYXNodGFiLmguCgkobGFuZ192ZXJzX21hdGNoX2xhbmdfYywgbGFuZ192ZXJzX21hdGNoX2xhbmdfY3BsdXNwbHVzLAoJbGFuZ192ZXJzX21hdGNoX2xhbmdfamF2YSk6IFJlbW92ZS4KCShsYW5nX3ZlcnNfbWF0Y2gpOiBOZXcgZnVuY3Rpb24uCgkobGFuZ19uZXdfdmVyc19wYXR0ZXJuKTogSW5pdGlhbGl6ZSB3aWxkY2FyZCBhbmQgbWFzawoJZmllbGRzLCBkb24ndCBpbml0aWFsaXplIG1hdGNoLgoJKGxhbmdfbmV3X3ZlcnNfbm9kZSk6IFVzZSB4Y2FsbG9jLiAgQWRqdXN0IGZvciBnbG9iYWxzIGFuZAoJbG9jYWxzIGZpZWxkIHR5cGUgY2hhbmdlcy4gIFNldCBtYXRjaCBmaWVsZC4KCSh2ZXJzaW9uX2V4cHJfaGVhZF9oYXNoLCB2ZXJzaW9uX2V4cHJfaGVhZF9lcSk6IE5ldyBmdW5jdGlvbnMuCgkobGFuZ19maW5hbGl6ZV92ZXJzaW9uX2V4cHJfaGVhZCk6IE5ldyBmdW5jdGlvbi4KCShsYW5nX3JlZ2lzdGVyX3ZlcnNfbm9kZSk6IENhbGwgbGFuZ19maW5hbGl6ZV92ZXJzaW9uX2V4cHJfaGVhZC4KCVNlYXJjaCBpbiBoYXNoIHRhYmxlIGlmIG5vdCB3aWxkY2FyZCB3aGVuIGxvb2tpbmcgZm9yIGR1cGxpY2F0ZXMuCgkqIGVtdWx0ZW1wbC9wcGM2NGVsZi5lbSAobmV3X3ZlcnNfcGF0dGVybik6IERvbid0IGJvdGhlciB3aXRoCglkdXBsaWNhdGUgY2hlY2tpbmcuICBJbml0aWFsaXplIGFsbCBmaWVsZHMgb2YgZG90X2VudHJ5IGZyb20gZW50cnkKCXdpdGggdGhlIGV4Y2VwdGlvbiBvZiBwYXR0ZXJuIGFuZCBuZXh0LgoKMjAwMy0xMC0yMSAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGxkbGFuZy5jIChsYW5nX21lbW9yeV9yZWdpb25fbG9va3VwKTogQWRkIHNlY29uZCBwYXJhbWV0ZXIgLQoJY3JlYXRlIC0gd2hpY2ggaXMgdHJ1ZSBpZiB0aGUgcmVnaW9uIGlzIGJlaW5nIGNyZWF0ZWQuICBJc3N1ZQoJYXBwcm9wcmlhdGUgd2FybmluZyBtZXNzYWdlcyBmb3IgZmluZGluZyBhbmQgbm90IGZpbmRpbmcKCWFscmVhZHkgY3JlYXRlZCByZWdpb25zLgoJKGxhbmdfbWVtb3J5X2RlZmF1bHQpOiBVc2UgREVGQVVMVF9NRU1PUllfUkVHSU9OLgoJKGxhbmdfbGVhdmVfb3ZlcmxheV9zZWN0aW9uKTogTGlrZXdpc2UuCgkobGFuZ19zaXplX3NlY3Rpb25zXzEpOiBMaWtld2lzZS4KCVBhc3Mgc2Vjb25kIHBhcmFtZXRlciB0byBsYW5nX21lbW9yeV9yZWdpb25fbG9va3VwLgoJKGxhbmdfZ2V0X3JlZ2lvbnMpOiBMaWtld2lzZS4KCSogbGRsYW5nLmggKERFRkFVTFRfTUVNT1JZX1JFR0lPTik6IERlZmluZS4KCVVwZGF0ZSBwcm90b3R5cGUgZm9yIGxhbmdfbWVtb3J5X3JlZ2lvbl9sb29rdXAuCgkqIGxkZ3JhbS55OiBQYXNzIHNlY29uZCBwYXJhbWV0ZXIgdG8gbGFuZ19tZW1vcnlfcmVnaW9uX2xvb2t1cC4KCVVzZSBERUZBVUxUX01FTU9SWV9SRUdJT04gaW5zdGVhZCBvZiAiKmRlZmF1bHQiLgoKMjAwMy0xMC0yMCAgQW5kcmV3IENhZ25leSAgPGNhZ25leUByZWRoYXQuY29tPgoKCSogcGUtZGxsLmM6IFJlcGxhY2UgInN0cnVjdCBzZWMiIHdpdGggInN0cnVjdCBiZmRfc2VjdGlvbiIuCgoyMDAzLTEwLTE5ICBNYXJlayBNaWNoYWxraWV3aWN6ICA8bWFyZWttQGFtZWxlay5nZGEucGw+CgoJKiBNYWtlZmlsZS5hbTogUmVtb3ZlIG9sZCAoYmVmb3JlIEdDQyAzLjMpIGVtdWxhdGlvbnMgZm9yIEFWUgoJdGFyZ2V0OiBhdnIxMjAwLCBhdnIyM3h4LCBhdnI0NDMzLCBhdnI0NHg0LCBhdnI4NXh4LCBhdnJtZWdhMTAzLAoJYXZybWVnYTE2MSwgYXZybWVnYTYwMy4gIERlZmF1bHQgdG8gYXZyMi4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS50Z3Q6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2F2cjEyMDAuc2g6IFJlbW92ZS4KCSogZW11bHBhcmFtcy9hdnIyM3h4LnNoOiBSZW1vdmUuCgkqIGVtdWxwYXJhbXMvYXZyNDQzMy5zaDogUmVtb3ZlLgoJKiBlbXVscGFyYW1zL2F2cjQ0eDQuc2g6IFJlbW92ZS4KCSogZW11bHBhcmFtcy9hdnI4NXh4LnNoOiBSZW1vdmUuCgkqIGVtdWxwYXJhbXMvYXZybWVnYTEwMy5zaDogUmVtb3ZlLgoJKiBlbXVscGFyYW1zL2F2cm1lZ2ExNjEuc2g6IFJlbW92ZS4KCSogZW11bHBhcmFtcy9hdnJtZWdhNjAzLnNoOiBSZW1vdmUuCgkqIHNjcmlwdHRlbXBsL2VsZjMyYXZyLnNjOiBSZW1vdmUuCgoyMDAzLTEwLTE5ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogZW11bHRlbXBsL3RpY29mZi5lbSAoZ2xkXyR7RU1VTEFUSU9OX05BTUV9X2xpc3Rfb3B0aW9ucyk6IEFkZAoJbmV3bGluZSB0byBtZXNzYWdlLgoKCSogZGVmZmlsZXAueTogUmVtb3ZlIGNvbW1hcyBmcm9tICV0b2tlbiBsaW5lcy4KCjIwMDMtMTAtMTggIEhhbnMtUGV0ZXIgTmlsc3NvbiAgPGhwQGJpdHJhbmdlLmNvbT4KCgkqIGVtdWx0ZW1wbC9tbWl4LWVsZm5tbW8uZW0gKG1taXhfYmVmb3JlX2FsbG9jYXRpb24pOiBGb3JjZSBsaW5rZXIKCXJlbGF4YXRpb24gYWx3YXlzOyBkb24ndCBleGNsdWRlIHJlbG9jYXRhYmxlIGxpbmtpbmcuICBBZGp1c3QgZm9yCglfYmZkX21taXhfcHJlcGFyZV9saW5rZXJfYWxsb2NhdGVkX2dyZWdzIHJlbmFtZWQgdG8KCV9iZmRfbW1peF9iZWZvcmVfbGlua2VyX2FsbG9jYXRpb24uCgkobW1peF9hZnRlcl9hbGxvY2F0aW9uKTogQWRqdXN0IGZvcgoJX2JmZF9tbWl4X2ZpbmFsaXplX2xpbmtlcl9hbGxvY2F0ZWRfZ3JlZ3MgcmVuYW1lZCB0bwoJX2JmZF9tbWl4X2FmdGVyX2xpbmtlcl9hbGxvY2F0aW9uLgoJKiBzY3JpcHR0ZW1wbC9tbW8uc2M6IFVzZSBBRERSICgudGV4dCksIG5vdCAuIC0gU0laRU9GICgudGV4dCkuCgoJKiBsZGxhbmcuYyAobGFuZ19zaXplX3NlY3Rpb25zKTogTGFzdCwgc2V0IF9jb29rZWRfc2l6ZSBmb3Igb3V0cHV0CglzZWN0aW9ucy4KCjIwMDMtMTAtMTYgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBNYWtlZmlsZS5hbSAoR0VOU0NSSVBUU19FWFRSQSwgR0VOX0VYVFJBX0RFUEVORFMpOiBSZW1vdmUuICBVc2UKCUdFTlNDUklQVFMgYW5kIEdFTl9ERVBFTkRTIGluIHBsYWNlIG9mIHRoZXNlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZ2Vuc2NyaXB0c19leHRyYS5zaDogRGVsZXRlLiAgTWVyZ2UgZXh0cmEgZnVuY3Rpb25hbGl0eSB0by4uCgkqIGdlbnNjcmlwdHMuc2g6IC4uaGVyZS4KCgkqIGVtdWxwYXJhbXMvZ2xkOTYwLnNoIChURVhUX1NUQVJUX0FERFIsIFRBUkdFVF9QQUdFX1NJWkUpOiBEZWZpbmUuCgkqIGVtdWxwYXJhbXMvZ2xkOTYwY29mZi5zaCAoVEVYVF9TVEFSVF9BRERSLCBUQVJHRVRfUEFHRV9TSVpFKTogRGl0dG8uCgkqIGVtdWxwYXJhbXMvbG5rOTYwLnNoIChURVhUX1NUQVJUX0FERFIsIFRBUkdFVF9QQUdFX1NJWkUpOiBEaXR0by4KCSogZW11bHBhcmFtcy9tODhrYmNzLnNoIChURVhUX1NUQVJUX0FERFIsIFRBUkdFVF9QQUdFX1NJWkUpOiBEaXR0by4KCSogZW11bHBhcmFtcy92YW5pbGxhLnNoIChURVhUX1NUQVJUX0FERFIsIFRBUkdFVF9QQUdFX1NJWkUpOiBEaXR0by4KCjIwMDMtMTAtMTYgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvaWE2NGVsZi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fYWZ0ZXJfcGFyc2UpOiBEb24ndAoJdXNlICRFTVVMQVRJT05fTkFNRSB0byBjYWxsIGJmZCBmdW5jdGlvbi4KCjIwMDMtMTAtMTQgIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBwZS1kbGwuYyAocGVfaW1wbGllZF9pbXBvcnRfZGxsKTogQWxzbyBzY2FuIC5yZGF0YSBzZWN0aW9ucwoJdG8gaWRlbnRpZnkgZGF0YSBzeW1ib2xzLgoKMjAwMy0xMC0xMyAgUmljaGFyZCBTYW5kaWZvcmQgIDxyc2FuZGlmb0ByZWRoYXQuY29tPgoKCSogZW11bHBhcmFtcy9lbGYzMmJtaXBuMzItZGVmcy5zaCAoSU5JVElBTF9SRUFET05MWV9TRUNUSU9OUyk6IE1vdmUKCWRlZmluaXRpb24gZnJvbSBlbGY2NGJ0c21pcC5zaC4KCShURVhUX0RZTkFNSUMpOiBMaWtld2lzZSBlbGYzMmJ0c21pcG4zMi5zaC4KCSogZW11bHBhcmFtcy9lbGYzMmJ0c21pcG4zMi5zaCAoVEVYVF9EWU5BTUlDKTogUmVtb3ZlLgoJKiBlbXVscGFyYW1zL2VsZjY0YnRzbWlwLnNoIChJTklUSUFMX1JFQURPTkxZX1NFQ1RJT05TKTogUmVtb3ZlLgoJKiBlbXVscGFyYW1zL2VsZjY0Ym1pcC5zaCAoU0hMSUJfVEVYVF9TVEFSVF9BRERSKTogRGVmaW5lLgoJKEVYRUNVVEFCTEVfU1lNQk9MUyk6IFNldCBfX2VsZl9oZWFkZXIgY29ycmVjdGx5IGZvciBzaGFyZWQgb2JqZWN0cy4KCURlZmluZSBfX3Byb2dyYW1faGVhZGVyX3RhYmxlIGluIHRlcm1zIG9mIF9fZWxmX2hlYWRlci4KCjIwMDMtMTAtMTAgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIE1ha2VmaWxlLmFtIChlZWxmNjRfaWE2NC5jKTogQWxzbyBkZXBlbmQgb24KCSQoc3JjZGlyKS9lbXVsdGVtcGwvaWE2NGVsZi5lbS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKCSogZW11bHBhcmFtcy9lbGY2NF9pYTY0LnNoIChFWFRSQV9FTV9GSUxFKTogU2V0IHRvIGlhNjRlbGYuCgoJKiBlbXVsdGVtcGwvaWE2NGVsZi5lbTogTmV3LgoKMjAwMy0xMC0xMiAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBlbXVscGFyYW1zL3NoZWxmMzJfbmJzZC5zaCAoT1RIRVJfU0VDVElPTlMpOiBSZWRlZmluZS4KCjIwMDMtMTAtMTEgIEhhbnMtUGV0ZXIgTmlsc3NvbiAgPGhwQGJpdHJhbmdlLmNvbT4KCgkqIGxkLnRleGluZm8gKEJ1aWx0aW4gRnVuY3Rpb25zKSA8REVGSU5FRD46IFNheSB0aGF0IG9ubHkgc3ltYm9scwoJZGVmaW5lZCBiZWZvcmUgdGhlIHN0YXRlbWVudCB1c2luZyBERUZJTkVEIHlpZWxkIDEuCgkqIGxkZXhwLmMgKGZvbGRfbmFtZSkgPGNhc2UgREVGSU5FRD46IEluIGxhbmdfZmlyc3RfcGhhc2VfZW51bSwKCWNhbGwgbGFuZ190cmFja19kZWZpbmVkbmVzcyBvbiBzeW1ib2wuICBJbiBzdWJzZXF1ZW50IHBoYXNlcywgdXNlCglsYW5nX3N5bWJvbF9kZWZpbml0aW9uX2l0ZXJhdGlvbiBhbmQgbGFuZ19zdGF0ZW1lbnRfaXRlcmF0aW9uIHRvCgljaGVjayB3aGV0aGVyIHRoZSBzeW1ib2wgd2FzIGRlZmluZWQgYmVmb3JlIHRoZSBjdXJyZW50IHN0YXRlbWVudC4KCShleHBfZm9sZF90cmVlKSA8Y2FzZSBldHJlZV9hc3NpZ24gZXQgYWw+OiBDYWxsCglsYW5nX3VwZGF0ZV9kZWZpbmVkbmVzcyBiZWZvcmUgdXBkYXRpbmcgc3ltYm9sIHR5cGUgd2hlbiBzZXR0aW5nCglzeW1ib2wuCgkqIGxkbGFuZy5jIChsYW5nX2RlZmluZWRuZXNzX3RhYmxlKTogTmV3IHZhcmlhYmxlLgoJKGxhbmdfZGVmaW5lZG5lc3NfbmV3ZnVuYywgbGFuZ190cmFja19kZWZpbmVkbmVzcykKCShsYW5nX3N5bWJvbF9kZWZpbml0aW9uX2l0ZXJhdGlvbiwgbGFuZ191cGRhdGVfZGVmaW5lZG5lc3MpOiBOZXcKCWZ1bmN0aW9ucy4KCShsYW5nX2luaXQpOiBJbml0aWFsaXplIGxhbmdfZGVmaW5lZG5lc3NfdGFibGUgYW5kCglsYW5nX3N0YXRlbWVudF9pdGVyYXRpb24uCgkobGFuZ19maW5pc2gpOiBEZXN0cm95IGJmZF9oYXNoX3RhYmxlX2ZyZWUuCgkobGFuZ19zaXplX3NlY3Rpb25zKTogSW5jcmVtZW50IGxhbmdfc3RhdGVtZW50X2l0ZXJhdGlvbi4KCShsYW5nX2RvX2Fzc2lnbm1lbnRzXzEpOiBOZXcgZnVuY3Rpb24gd2l0aCBmb3JtZXIKCWxhbmdfZG9fYXNzaWdubWVudHMgY29udGVudHMuICBDaGFuZ2UgcmVjdXJzaXZlIGNhbGxzIHRvIGNhbGwgdGhpcwoJZnVuY3Rpb24uCgkobGFuZ19kb19hc3NpZ25tZW50cyk6IEV2YWN1YXRlIGNvbnRlbnRzLiAgSW5jcmVtZW50CglsYW5nX3N0YXRlbWVudF9pdGVyYXRpb24sIHRoZW4ganVzdCBjYWxsIGxhbmdfZG9fYXNzaWdubWVudHNfMS4KCSogbGRsYW5nLmggKHN0cnVjdCBsYW5nX2RlZmluZWRuZXNzX2hhc2hfZW50cnkpCgkobGFuZ19zdGF0ZW1lbnRfaXRlcmF0aW9uLCBsYW5nX3RyYWNrX2RlZmluZWRuZXNzKQoJKGxhbmdfc3ltYm9sX2RlZmluaXRpb25faXRlcmF0aW9uLCBsYW5nX3VwZGF0ZV9kZWZpbmVkbmVzcyk6CglEZWNsYXJlLgoKMjAwMy0xMC0wOSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogc2NyaXB0dGVtcGwvZWxmLnNjIChfX2V4ZWN1dGFibGVfc3RhcnQpOiBQcm92aWRlLgoKMjAwMy0xMC0wOSAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgoJKiBlbXVscGFyYW1zL2FybWVsZi5zaDogRGVmaW5lIE5PX1NNQUxMX0RBVEEuCgkqIGVtdWxwYXJhbXMvYXJtZWxmX2xpbnV4LnNoLCBlbXVscGFyYW1zL2FybWVsZl9vYWJpLnNoLAoJZW11bHBhcmFtcy9hcm1udG8uc2g6IExpa2V3aXNlLgoKMjAwMy0xMC0wOCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBsZGxhbmcuYyAobGFuZ19zaXplX3NlY3Rpb25zXzEpOiBVc2UgSUdOT1JFX1NFQ1RJT04gdG8gdGVsbAoJd2hldGhlciB0byBza2lwIHRlc3QgZm9yIG5vIG1lbW9yeSByZWdpb24uCgoyMDAzLTEwLTA4ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogbGV4c3VwLmMgKHBhcnNlX2FyZ3M6IE9QVElPTl9DQUxMX1NIQVJFRCk6IFJldmlzZSBjb21tZW50CglkZXNjcmliaW5nIGRlZmF1bHRzLiAgQ2hhbmdlIGRlZmF1bHQgdG8gcmVwb3J0IHVucmVzb2x2ZWQgc3ltYm9scwoJaW4gb2JqZWN0IGZpbGVzIGFzIHdlbGwuCgoyMDAzLTEwLTA4ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBiaXRyYW5nZS5jb20+CgoJKiBsZGV4cC5jIChmb2xkX25hbWUpIDxjYXNlIERFRklORUQ+OiBTZXQgc2VjdGlvbiBvZiByZXN1bHQgdG8KCWFic19vdXRwdXRfc2VjdGlvbi4KCjIwMDMtMTAtMDcgIEJvYiBXaWxzb24gIDxib2Iud2lsc29uQGFjbS5vcmc+CgoJKiBlbXVscGFyYW1zL2VsZjMyeHRlbnNhLnNoIChPVEhFUl9SRUFET05MWV9TRUNUSU9OUywKCU9USEVSX1JFQURXUklURV9TRUNUSU9OUywgT1RIRVJfU0VDVElPTlMpOiBTZXQgc2VjdGlvbiBhZGRyZXNzZXMgdG8KCXplcm8gZm9yIHJlbG9jYXRhYmxlIGxpbmtzLgoKMjAwMy0xMC0wNyAgSm9obiBEYXZpZCBBbmdsaW4gIDxkYXZlLmFuZ2xpbkBucmMtY25yYy5nYy5jYT4KCgkqIGNvbmZpZ3VyZS5ob3N0IChIT1NUSU5HX0xJQlMpOiBEZWZpbmUgZm9yIGhwcGEqLSotbGludXgqLgoKMjAwMy0xMC0wNyAgTmF0aGFuIFNpZHdlbGwgIDxuYXRoYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGxkd3JpdGUuYyAodW5zcGxpdHRhYmxlX25hbWUpOiBOZXcuCgkoY2xvbmVfc2VjdGlvbik6IFN0cmlwIGV4aXN0aW5nIG51bWVyaWMgc3VmZml4LiBPbmx5IHRydW5jYXRlIG5hbWVzCglmb3IgY29mZiB0YXJnZXRzLgoJKHNwbGl0X3NlY3Rpb25zKTogVXNlIHVuc3BsaXR0YWJsZV9uYW1lLgoKMjAwMy0xMC0wNiAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGxleHN1cC5jIChwYXJzZV9hcmdzKTogUmVwb3J0IHVucmVzb2x2ZWQgc3ltYm9scyBpbiBzaGFyZWQKCWxpYnJhcmllcyB3aGVuIGNyZWF0aW5nIGEgZHluYW1pYyBleGVjdXRhYmxlLiAgVGhpcyBpcyBhCglyZXN0b3JhdGlvbiBvZiB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgZm9yIHByZXZpb3VzIHZlcnNpb25zIG9mCgl0aGUgbGlua2VyLgoKMjAwMy0xMC0wNiAgTWF0dCBUaG9tYXMgPG1hdHRAM2FtLXNvZnR3YXJlLmNvbT4KCgkqIGVtdWxwYXJhbXMvaHBwYW5ic2Quc2g6IFJlbW92ZSBPVVRQVVRfRk9STUFULgoJKiBlbXVscGFyYW1zL2hwcGFvYnNkLnNoOiBBZGQgT1VUUFVUX0ZPUk1BVD0iZWxmMzItaHBwYSIuCgoyMDAzLTEwLTA2ICBSb2JlcnQgTWlsbGFuICA8cm9iZXJ0bWhAZ251Lm9yZz4KCgkqIGNvbmZpZ3VyZS50Z3Q6IE1hdGNoIEdOVS9LTmV0QlNEIHdpdGggbmV3IGtuZXRic2QqLWdudSB0cmlwbGV0LgoKMjAwMy0xMC0wMiAgSXZhbiBXYXJyZW4gPGl2YW5Adm1mYWNpbGl0eS5mcj4KCgkqIHBlLWRsbC5jIChtYWtlX29uZSk6IENvcnJlY3Qgc3ltIGRlZiBvcmRlciAmIHBpY2sgcmlnaHQgc3ltIGZvcgoJLmlkYXRhJDcgcmVsb2MuCgoyMDAzLTA5LTMwICBDaHJpcyBEZW1ldHJpb3UgIDxjZ2RAYnJvYWRjb20uY29tPgoKCSogTkVXUzogQWRkIGFuIGluZGljYXRpb24gb2YgdGhlIGN1dG9mZiBmb3IgMi4xNC4KCjIwMDMtMDktMzAgIENocmlzIERlbWV0cmlvdSAgPGNnZEBicm9hZGNvbS5jb20+CgoJKiBsZG1haW4uYyAoZ2V0X2VtdWxhdGlvbik6IElnbm9yZSAiLW1pcHM2NHIyIi4KCjIwMDMtMDktMDMgIFJvYmVydCBNaWxsYW4gIDxyb2JlcnRtaEBnbnUub3JnPgoKCSogY29uZmlndXJlLmhvc3Q6IE1hdGNoIEdOVS9LRnJlZUJTRCB3aXRoIG5ldyBrZnJlZWJzZCotZ251Cgl0cmlwbGV0LgoJKiBjb25maWd1cmUudGd0OiBMaWtld2lzZS4KCjIwMDMtMDgtMjkgIEphZmEgIDxqYWZhQHNpbGljb25kdXN0LmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmMzJpcDJrLnNoIChURU1QTEFURV9OQU1FKTogRGVmaW5lLgoKMjAwMy0wOC0yMSAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIHBvL3RyLnBvOiBVcGRhdGVkIFR1cmtpc2ggdHJhbnNsYXRpb24uCgoyMDAzLTA4LTIwICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogbGRtYWluLmM6IEluaXRpYWxpc2UgdGhlIG5ldyBmaWVsZHMgaW4gYmZkX2xpbmtfaW5mbyB0bwoJTk9UX1lFVF9TRVQuCgkqIGxleHN1cC5jIChlbnVtIG9wdGlvbl92YWx1ZXMpOiBOZXcgZW51bS4gIFVzZSB0aGlzIHRvCglyZXBsYWNlIHRoZSBoYW5kIGNvZGVkIHZhbHVlcyBmb3IgdGhlIGxvbmcgc3dpdGNoIG9wdGlvbnMuCgkobGRfb3B0aW9ucyk6IEFkZCAndW5yZXNvbHZlZC1zeW1ib2xzJywKCSd3YXJuLXVucmVzb2x2ZWQtc3ltYm9scycgYW5kICdlcnJvci11bnJlc29sdmVkLXN5bWJvbHMnLgoJKHBhcnNlX2FyZ3MpOiBIYW5kbGUgdGhlIG5ldyBzd2l0Y2hlcy4gIFNldCB0aGUgdmFsdWVzIG9mCgl1bnJlc29sdmVkX3N5bWJvbHNfaW5fb2JqZWN0cyBhbmQKCXVucmVzb2x2ZWRfc3ltYm9sc19pbl9zaGFyZWRfbGlicyBhcHByb3ByaWF0ZWx5LiAgSWYgdGhleSB3ZXJlCglub3QgaW5pdGlhbGlzZWQgYnkgdGhlIGNvbW1hbmQgbGluZSwgaW5zdGFsbCBkZWZhdWx0IHZhbHVlcy4KCSogZW11bHRlbXBsL2VsZjMyLmVtIChoYW5kbGVfb3B0aW9uKTogVXBkYXRlIE9QVElPTl9HUk9VUCBhbmQKCS16IGRlZnMgdG8gdXNlIHRoZSBuZXcgZmllbGRzIGluIGJmZF9saW5rX2luZm8uCgkqIGxkLnRleGluZm86IERvY3VtZW50IHRoZSBuZXcgc3dpdGNoZXMuCgkqIE5FV1M6IE1lbnRpb24gdGhpcyBmZWF0dXJlLgoKMjAwMy0wOC0xNSBEbWl0cnkgRGlreSA8ZGl3aWxAbWFpbC5ydT4KCgkqIE1ha2VmaWxlLmFtIChHRU5TQ1JJUFRTX0VYVFJBKTogTmV3IHNjcmlwdCBkZWZpbml0aW9uIHdoaWNoCgljYWxscyBnZW5zY3JpcHRzX2V4dHJhLnNoLgoJUmVhcnJhbmdlIGFsbCBtc3A0MzAgZGVwZW5kcyB1c2luZyB0aGlzIHNjcmlwdC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGdlbnNjcmlwdHNfZXh0cmEuc2g6IE5ldyBmaWxlOiBTaW1pbGFyIHRvIGdlbnNjcmlwdHMuc2gsIGV4Y2VwdAoJdGhhdCB0aGUgc2NyaXB0IHRvIGJlIHJ1biB0byBnZW5lcmF0ZSB0aGUgZW11bGF0aW9ucyBjYW4gYmUgcGFzc2VkCglhcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIgaW5zdGVhZCBvZiBiZWluZyBjb21wdXRlZCBmcm9tIHRoZQoJZW11bGF0aW9uIG5hbWUuCgkqIGVtdWxwYXJhbXMvbXNwNDMwYWxsLnNoOiBOZXcgZmlsZTogQ29tYmluZSBhbGwgbXNwNDMwIHN1YmRldmljZQoJZGVmaW5pdGlvbnMgaW50byBvbmUgZmlsZS4KCSogZW11bHBhcmFtcy9tc3A0MzB4Ki5zaDogUmVtb3ZlZC4KCjIwMDMtMDgtMTUgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBsZC50ZXhpbmZvIChPcHRpb25zKTogUHV0IGtleXdvcmRzIGZvciB0aGUgLXogb3B0aW9uIGludG8gYQoJdGFibGUuICBBZGQgbW9yZSB0ZXh0IGRlc2NyaWJpbmcgd2hhdCB0aGUgLXogbm93IG9wdGlvbiBkb2VzLgoKMjAwMy0wOC0xNCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGRlcC1pbi5zZWQ6IFJlbW92ZSBsaWJpbnRsLmguCgkqIE1ha2VmaWxlLmFtIChQT1RGSUxFUy5pbik6IFVuc2V0IExDX0NPTExBVEUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wOC0xMyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGdlbnNjcmlwdHMuc2ggKGxpYnBhdGguZXhwKTogT25seSBnZW5lcmF0ZSBmb3IgZmlyc3QgZW11bGF0aW9uLgoJKExJQl9QQVRIKTogQ29ycmVjdCBvcmRlciBvZiBwYXRocy4gIERvbid0IGFkZCAkdG9vbF9saWIgd2hlbgoJYWxyZWFkeSBwcmVzZW50IG9yIHdoZW4gTElCX1BBVEggaXMgc2V0IHRvICI6Ii4KCjIwMDMtMDgtMTIgIElhbiBMYW5jZSBUYXlsb3IgIDxpYW5AYWlycy5jb20+CgoJKiBsZG1haW4uYyAodW5kZWZpbmVkX3N5bWJvbCk6IENoYW5nZSBwYXJhbWV0ZXIgbmFtZSBmcm9tIGBmYXRhbCcKCXRvIGBlcnJvcicuICBJZiBvbmx5IGEgd2FybmluZywgcHV0IHdhcm5pbmcgaW4gdGhlIHJlcG9ydGVkCglzdHJpbmcuICBDb25zaXN0ZW50bHkgc2V0IGZhaWx1cmUgZmxhZyB3aGVuIG5vdCBhIHdhcm5pbmcuCgoyMDAzLTA4LTA4IERtaXRyeSBEaWt5IDxkaXdpbEBtYWlsLnJ1PgoKCSogTWFrZWZpbGUuYW06IEFkZCB4VzQyIGFuZCB4RTQyIHBhcnRzLiBTb3J0IE1QVSBsaXN0IGFjY29yZGluZyB0bwoJZ2NjIG9yZGVyLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLnRndDogQWRkIGV4dHJhIGVtdWxhdGlvbnMuCgkqIGVtdWxwYXJhbXMvbXNwNDMweEU0MjMuc2g6IE5ldyBmaWxlLgoJKiBlbXVscGFyYW1zL21zcDQzMHhFNDI3LnNoOiBOZXcgZmlsZS4KCSogZW11bHBhcmFtcy9tc3A0MzB4VzQyNS5zaDogTmV3IGZpbGUuCgkqIGVtdWxwYXJhbXMvbXNwNDMweEU0MjUuc2g6IE5ldyBmaWxlLgoJKiBlbXVscGFyYW1zL21zcDQzMHhXNDIzLnNoOiBOZXcgZmlsZS4KCSogZW11bHBhcmFtcy9tc3A0MzB4VzQyNy5zaDogTmV3IGZpbGUuCgoyMDAzLTA4LTA3ICBEYW5ueSBTbWl0aCAgPGRhbm55c21pdGhAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZW11bHRlbXBsL3BlLmVtIChnbGRfJHtFTVVMQVRJT05fTkFNRX1fYmVmb3JlX3BhcnNlKToKCUNoYW5nZSBzZWNvbmQgKGNtZGxpbmUpIGFyZyB0byBsYW5nX2FkZF9lbnRyeSB0byBGQUxTRS4KCShzZXRfcGVfc3Vic3lzdGVtKTogQ2hhbmdlIHNlY29uZCBhcmcgdG8gbGFuZ19hZGRfZW50cnkgdG8gVFJVRS4KCjIwMDMtMDgtMDUgIENocmlzdGlhbiBHcm9lc3NsZXIgIDxjaHJpc0Bncm9lc3NsZXIub3JnPgoJICAgIEphc29uIEVja2hhcmR0ICA8amxlQHJpY2UuZWR1PgoKCSogY29uZmlndXJlLnRndDogUmVjb2duaXplIG5ldyB0YXJnZXQgaTg2MC0qLWNvZmYuCgkqIE1ha2VmaWxlLmFtIChBTExfRU1VTEFUSU9OUyk6IEFkZCBlY29mZl9pODYwLm8uCgkoZWNvZmZfaTg2MC5jKTogTmV3IHJ1bGUuCgkqIGVtdWxwYXJhbXMvY29mZl9pODYwLnNoOiBOZXcgZmlsZS4KCSogc2NyaXB0dGVtcGwvaTg2MGNvZmYuc2M6IE5ldyBmaWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDMtMDgtMDQgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKGJlZm9yZV9hbGxvY2F0aW9uKTogUHJlcGVuZCAid2FybmluZzogIgoJdG8gbWVzc2FnZXMgcHJvZHVjZWQgZm9yIC5nbnUud2FybmluZy5TWU1CT0wgc2VjdGlvbnMuCgoyMDAzLTA4LTA0ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHRlbXBsL2VsZjMyLmVtIChvdXRwdXRfcmVsX2ZpbmQpOiBBZGQgImlzZHluIiBwYXJhbS4gIFB1dAoJLnJlbC5keW4gYmVmb3JlIG90aGVyIHJlbG9jIHNlY3Rpb25zLiAgRG9uJ3Qgc3RvcCBsb29raW5nIGZvciByZWxvYwoJc2VjdGlvbnMgb24gZmluZGluZyBvbmUgdGhhdCBpc24ndCBhbGxvY2F0ZWQuICBNYXRjaCAucmVsIGV2ZW4gd2hlbgoJcGxhY2luZyAucmVsYSBhbmQgdmljZSB2ZXJzYSwgd2hlbiBzZXR0aW5nIGxhc3RfcmVsIGFuZAoJbGFzdF9yZWxfYWxsb2MgZm9yIHRoZSBmaXJzdCB0aW1lLiAgSWYgbm8gcmVsb2Mgc2VjdGlvbnMgaW4gc2NyaXB0LAoJcHJlZmVyIGFsbG9jYXRlZCBzZWN0aW9uIG92ZXIgbm9uLWFsbG9jLgoJKGdsZCR7RU1VTEFUSU9OX05BTUV9X3BsYWNlX29ycGhhbik6IEhhbmRsZSBvcnBoYW4gLnJlbC5keW4uCgoyMDAzLTA3LTI5ICBLYXogS29qaW1hICA8a2tvamltYUByci5paWo0dS5vci5qcD4KCgkqIGVtdWxwYXJhbXMvc2hlbGYuc2ggKE9USEVSX1NFQ1RJT05TKTogRG9uJ3QgaW5jbHVkZSAuc3RhY2sKCXNlY3Rpb24gZm9yIHNoYXJlZCBsaWJyYXJ5LgoJKiBlbXVscGFyYW1zL3NoZWxmMzIuc2ggKE9USEVSX1NFQ1RJT05TKTogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvc2hlbGY2NC5zaCAoT1RIRVJfU0VDVElPTlMpOiBMaWtld2lzZS4KCjIwMDMtMDctMjkgIFN0ZXBoYW5lIENhcnJleiAgPHN0Y2FycmV6QG5lcmltLmZyPgoKCSogc2NyaXB0dGVtcGwvZWxmbTY4aGMxMi5zYzogQWRkIGdjY19leGNlcHRfdGFibGUuCgkqIHNjcmlwdHRlbXBsL2VsZm02OGhjMTEuc2M6IExpa2V3aXNlLgoKMjAwMy0wNy0yOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWxwYXJhbXMvZWxmNjRwcGMuc2ggKEdPVCk6IEZpeCBmb3Igc2hlbGwgYnJhY2UgbWF0Y2hpbmcuCgoJKiBlbXVscGFyYW1zL2VsZjY0cHBjLnNoIChHT1QpOiBEb24ndCBtZXJnZSAudG9jIGludG8gLmdvdCBmb3IgbGQgLXIuCgoyMDAzLTA3LTI3ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogbGQudGV4aW5mbzogVHlwbyBmaXhlcy4gIERvY3VtZW50IFNVQkFMSUdOLgoJKiBsZGdyYW0ueSAob3B0X3N1YmFsaWduKTogQWRkLgoJKiBsZGxleC5sIChTVUJBTElHTik6IFJlY29nbml6ZS4KCSogbGRsYW5nLmMgKG92ZXJsYXlfc3ViYWxpZ24pOiBOZXcgdmFyLgoJKGxhbmdfZW50ZXJfb3ZlcmxheSk6IEFkZCBzdWJhbGlnbiBwYXJhbS4KCShsYW5nX2VudGVyX292ZXJsYXlfc2VjdGlvbik6IFBhc3Mgb3ZlcmxheV9zdWJhbGlnbiB0bwoJbGFuZ19lbnRlcl9vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQuCgkqIGxkbGFuZy5oIChsYW5nX2VudGVyX292ZXJsYXkpOiBVcGRhdGUuCgoyMDAzLTA3LTI0ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogcG8vZnIucG86IFVwZGF0ZWQgRnJlbmNoIHRyYW5zbGF0aW9uLgoKMjAwMy0wNy0yMyAgU3RlcGhhbmUgQ2FycmV6ICA8c3RjYXJyZXpAbmVyaW0uZnI+CgoJKiBzY3JpcHR0ZW1wbC9lbGZtNjhoYzExLnNjOiBLZWVwIGN0b3IvZHRvciBzZWN0aW9uczsgVGFrZSBpbnRvCglhY2NvdW50IC50cmFtcCBzZWN0aW9uczsKCSogc2NyaXB0dGVtcGwvZWxmbTY4aGMxMi5zYzogTGlrZXdpc2UuCgoyMDAzLTA3LTE3ICBDaGFybGVzIFdpbHNvbiAgPGN3aWxzb25AZWNlLmdhdGVjaC5lZHU+CgoJKiBsZC9wZS1kbGwuYzogQWRkIGxpYmN5Z3dpbiB0byBhdXRvZmlsdGVyX2xpYmxpc3RbXQoKMjAwMy0wNy0xNyAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIHBvL2VzLnBvOiBOZXcgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDMtMDctMTEgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBwby9sZC5wb3Q6IFJlZ2VuZXJhdGUuCgoyMDAzLTA3LTEwICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogZW11bHBhcmFtcy9lbGYzMnh0ZW5zYS5zaCAoT1RIRVJfUkVBRE9OTFlfU0VDVElPTlMpOiBSZXBsYWNlIC54dC5saXQKCXdpdGggbmV3IC5nb3QubG9jIHNlY3Rpb24uCgkoT1RIRVJfUkVBRFdSSVRFX1NFQ1RJT05TKTogRG8gbm90IGNvbWJpbmUgbGlua29uY2Ugc2VjdGlvbnMgZm9yCglub24tcmVsb2NhdGluZyBsaW5rcy4KCShPVEhFUl9TRUNUSU9OUyk6IEFkZCAueHQubGl0IGhlcmUuICBDaGFuZ2UgaXQgdG8ga2VlcCBsaW5rb25jZQoJc2VjdGlvbnMgc2VwYXJhdGUgZm9yIG5vbi1yZWxvY2F0aW5nIGxpbmtzOyBsaWtld2lzZSBmb3IgLnh0Lmluc24uCgoyMDAzLTA3LTEwICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkyMDAxLTA4LTIyICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCSogZW11bHBhcmFtcy9lbGYzMmFtMzNsaW4uc2g6IEFkanVzdCB0byBtYXRjaCBrZXJuZWwgcGFyYW1ldGVycy4KCTIwMDEtMDUtMDkgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoJKiBjb25maWd1cmUuaG9zdCAoYW0zM18yLjAtKi1saW51eCopOiBBZGRlZC4KCSogY29uZmlndXJlLnRndCAoYW0zM18yLjAtKi1saW51eCopOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMmFtMzNsaW4uc2g6IE5ldy4KCSogTWFrZWZpbGUuYW0gKGVlbGYzMmFtMzNsaW4uYyk6IE5ldyBydWxlLgoJKiBNYWtlZmlsZS5pbjogUmVidWlsdC4KCjIwMDMtMDctMDkgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCTIwMDEtMDQtMTcgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoJKiBlbXVscGFyYW1zL21uMTAzMDAuc2ggKFRFTVBMQVRFX05BTUUpOiBEZWZpbmUuCgkoR0VORVJBVEVfU0hMSUJfU0NSSVBUKTogTGlrZXdpc2UuCgoyMDAzLTA3LTEwICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHBhcmFtcy9lbGY2NHBwYy5zaCAoT1RIRVJfR09UX1NFQ1RJT05TKTogRG9uJ3QgZGVmaW5lLgoJKEdPVCk6IERlZmluZS4KCSogZW11bHRlbXBsL3BwYzY0ZWxmLmVtIChzdHViX2FkZGVkKTogTmV3IHN0YXRpYyB2YXIuCgkocHBjX2NyZWF0ZV9vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRzKTogQ2FsbCBwcGM2NF9lbGZfaW5pdF9zdHViX2JmZC4KCShwcGNfYWRkX3N0dWJfc2VjdGlvbik6IFNldCBzdHViX2FkZGVkLgoJKGdsZCR7RU1VTEFUSU9OX05BTUV9X2ZpbmlzaCk6IExvb2sgZm9yIC5nb3QgcmF0aGVyIHRoYW4gLnRvYy4gIEFkanVzdAoJcHBjNjRfZWxmX3NpemVfc3R1YnMgY2FsbCBhbmQgdGVzdCBmb3Igc3R1YnMuCgkqIHNjcmlwdHRlbXBsL2VsZi5zYyAoR09UKTogRGVmaW5lIGFuZCB1c2UuCgoyMDAzLTA3LTA4ICBKIm9ybiBSZW5uZWNrZSA8am9lcm4ucmVubmVja2VAc3VwZXJoLmNvbT4KCgkqIGVtdWx0ZW1wbC9zaDY0ZWxmLmVtIChzaDY0X2VsZl8ke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9hbGxvY2F0aW9uKToKCUFsbG93IHNlY29uZCBjYWxsIGZyb20gbGRlbXVsX2ZpbmlzaC4KCjIwMDMtMDctMDQgIEoib3JuIFJlbm5lY2tlIDxqb2Vybi5yZW5uZWNrZUBzdXBlcmguY29tPgoKCSogZW11bHBhcmFtcy9zaGVsZjMyLnNoIChTVEFDS19BRERSKTogRG9uJ3QgZGVmaW5lLgoJKE9USEVSX1NFQ1RJT05TKTogSW5jbHVkZSAuc3RhY2suCgkqIGVtdWxwYXJhbXMvc2hlbGY2NC5zaCAoT1RIRVJfU0VDVElPTlMpOiBMaWtld2lzZS4KCjIwMDMtMDctMDIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZW11bHBhcmFtcy9lbGY2NF9pYTY0LnNoIChPVEhFUl9SRUFET05MWV9TRUNUSU9OUyk6IERvbid0IGluY2x1ZGUKCS5vcGQgaWYgLXBpZS4KCShPVEhFUl9SRUFEV1JJVEVfU0VDVElPTlMpOiBJbmNsdWRlIC5vcGQgaWYgLXBpZS4KCSogc2NyaXB0dGVtcGwvZWxmLnNjOiBVc2UgU0hMSUJfREFUQV9BRERSIGluc3RlYWQgb2YgREFUQV9BRERSCglpZiAtcGllLgoKMjAwMy0wNi0yOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkLmg6IENvbnZlcnQgdG8gQzkwLCByZW1vdmUgdW5uZWNlc3NhcnkgcHJvdG90eXBlcyBhbmQgY2FzdHMuCglSZXBsYWNlIFBUUiB3aXRoIHZvaWQgKi4gIEZvcm1hdHRpbmcuCgkqIGxkY3JlZi5jOiBMaWtld2lzZS4KCSogbGRjdG9yLmM6IExpa2V3aXNlLgoJKiBsZGN0b3IuaDogTGlrZXdpc2UuCgkqIGxkZW11bC5oOiBMaWtld2lzZS4KCSogbGRleHAuYzogTGlrZXdpc2UuCgkqIGxkZXhwLmg6IExpa2V3aXNlLgoJKiBsZGZpbGUuYzogTGlrZXdpc2UuCgkqIGxkZmlsZS5oOiBMaWtld2lzZS4KCSogbGRsYW5nLmM6IExpa2V3aXNlLgoJKiBsZGxhbmcuaDogTGlrZXdpc2UuCgkqIGxkbGV4Lmg6IExpa2V3aXNlLgoJKiBsZGxleC5sOiBMaWtld2lzZS4KCSogbGRtYWluLmM6IExpa2V3aXNlLgoJKiBsZG1haW4uaDogTGlrZXdpc2UuCgkqIGxkbWlzYy5jOiBMaWtld2lzZS4KCSogbGRtaXNjLmg6IExpa2V3aXNlLgoJKiBsZHZlci5oOiBMaWtld2lzZS4KCSogbGR3cml0ZS5jOiBMaWtld2lzZS4KCSogbGR3cml0ZS5oOiBMaWtld2lzZS4KCSogbGV4c3VwLmM6IExpa2V3aXNlLgoJKiBtcmkuYzogTGlrZXdpc2UuCgkqIG1yaS5oOiBMaWtld2lzZS4KCSogcGUtZGxsLmM6IExpa2V3aXNlLgoJKiBwZS1kbGwuaDogTGlrZXdpc2UuCgkqIGRlZmZpbGVwLnk6IExpa2V3aXNlLgoJKiBkZWZmaWxlLmg6IExpa2V3aXNlLiAgRG9uJ3QgaW5jbHVkZSBhbnNpZGVjbC5oLgoJKiBlbXVscGFyYW1zL2VsZjMybWNvcmUuc2g6IFJlbW92ZSB1bm5lY2Vzc2FyeSBjYXN0LgoJKiBlbXVsdGVtcGwvbTY4a2NvZmYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbTY4a2VsZi5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC90aWNvZmYuZW06IFJlbW92ZSBsYW5nX2FkZF9vdXRwdXRfZm9ybWF0IGRlY2xhcmF0aW9uLgoJKiBzeXNkZXAuaDogRG9uJ3QgaW5jbHVkZSBhbnNpZGVjbC5oLgoJKiBNYWtlZmlsZS5hbTogUnVuICJtYWtlIGRlcC1hbSIuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wNi0yNyAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGRlZmZpbGVwLnkgKGRlZl9maWxlX2FkZF9kaXJlY3RpdmUpOiBDb3BlIHdpdGggTlVMIHNlcGVyYXRlZAoJZGlyZWN0aXZlcy4gIEZpeCByZXBvcnRpbmcgb2YgdW5wYXJzZWFibGUgZGlyZWN0aXZlcy4KCShkZWZfZXJyb3IpOiBDaGVjayBmb3IgYSBOVUxMIGRlZl9maWxlbmFtZS4KCjIwMDMtMDYtMjcgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvYWl4LmVtOiBDb252ZXJ0IHRvIEM5MCwgcmVtb3ZlIHVubmVjZXNzYXJ5IHByb3RvdHlwZXMKCWFuZCBjYXN0cy4gIFJlcGxhY2UgUFRSIHdpdGggdm9pZCAqLiAgRm9ybWF0dGluZy4KCSogZW11bHRlbXBsL2FscGhhZWxmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2FybWNvZmYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvYXJtZWxmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2FybWVsZl9vYWJpLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2Jlb3MuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvZWxmMzIuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvZ2VuZXJpYy5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9nbGQ5NjAuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvZ2xkOTYwYy5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9ocHBhZWxmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2xpbnV4LmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2xuazk2MC5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9tNjhoYzF4ZWxmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL202OGtjb2ZmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL202OGtlbGYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbWlwc2Vjb2ZmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL21pcHNlbGYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbW1peC1lbGZubW1vLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL21taXhlbGYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbW1vLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL25lZWRyZWxheC5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9uZXRic2QuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvcGUuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvc2g2NGVsZi5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9zdW5vcy5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC90aWNvZmYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvdmFuaWxsYS5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC94dGVuc2FlbGYuZW06IExpa2V3aXNlLgoJKiBNYWtlZmlsZS5hbTogQ29ycmVjdCBkZXBlbmRlbmNpZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wNi0yNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkLnRleGluZm86IENvcnJlY3Qgc3BlbGxpbmcgb2YgInJlbG9jYXRhYmxlIi4KCSogbGRjdG9yLmM6IExpa2V3aXNlLgoJKiBsZGV4cC5jOiBMaWtld2lzZS4KCSogbGRmaWxlLmM6IExpa2V3aXNlLgoJKiBsZGludC50ZXhpbmZvOiBMaWtld2lzZS4KCSogbGRsYW5nLmM6IExpa2V3aXNlLgoJKiBsZG1haW4uYzogTGlrZXdpc2UuCgkqIGxkd3JpdGUuYzogTGlrZXdpc2UuCgkqIGxleHN1cC5jOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2FpeC5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9hbHBoYWVsZi5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9hcm1jb2ZmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2FybWVsZl9vYWJpLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2Jlb3MuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvZWxmMzIuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvZ2VuZXJpYy5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9nbGQ5NjAuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvZ2xkOTYwYy5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9ocHBhZWxmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2xpbnV4LmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2xuazk2MC5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9tNjhoYzF4ZWxmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL202OGtjb2ZmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL202OGtlbGYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbWlwc2Vjb2ZmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL21pcHNlbGYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbW1peC1lbGZubW1vLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL21tby5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9uZWVkcmVsYXguZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvcGUuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvcHBjNjRlbGYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvc2g2NGVsZi5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9zdW5vcy5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC90aWNvZmYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwveHRlbnNhZWxmLmVtOiBMaWtld2lzZS4KCjIwMDMtMDYtMjQgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvcHBjMzJlbGYuZW06IENvbnZlcnQgdG8gQzkwLgoKMjAwMy0wNi0yMCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWx0ZW1wbC9wcGM2NGVsZi5lbTogQ29udmVydCB0byBDOTAgZnVuY3Rpb24gZGVmaW5pdGlvbnMsIHJlbW92ZQoJdW5uZWNlc3NhcnkgcHJvdG90eXBlcyBhbmQgY2FzdHMuCgoyMDAzLTA2LTE5ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHRlbXBsL3BwYzY0ZWxmLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBEdW1wIG91dAoJc3RhdGlzdGljcyBmcm9tIHBwYzY0X2VsZl9idWlsZF9zdHVicy4KCjIwMDMtMDYtMTkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvcHBjNjRlbGYuZW0gKGJ1aWxkX3NlY3Rpb25fbGlzdHMpOiBDaGVjayByZXR1cm4gc3RhdHVzCglmcm9tIHBwYzY0X2VsZl9uZXh0X2lucHV0X3NlY3Rpb24uCgoyMDAzLTA2LTE3ICBILkouIEx1IDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGxkbGFuZy5jIChzZWN0aW9uX2FscmVhZHlfbGlua2VkKTogUHV0IGJhY2sgYXNzaWdubWVudCBvZgoJa2VwdF9zZWN0aW9uLgoKMjAwMy0wNi0xNyAgUmFpbmVyIEtldWNoZWwgIDxya2V1Y2hlbEBhbGxnZWllci5jb20+CgoJKiBwZS1kbGwuYyAoZ2VuZXJhdGVfcmVsb2MpOiBDYXRjaCBhbmQgaWdub3JlIGFuIEFSTV8yNkQKCXJlbG9jLgoKMjAwMy0wNi0xNyAgTG9yZW4gSmFtZXMgUml0dGxlICA8cml0dGxlQGxhdG91ci5yc2NoLmNvbW0ubW90LmNvbT4KCgkqIGNvbmZpZ3VyZS5ob3N0ICgqLSotZnJlZWJzZCopOiBBZGQga25vd24gcGF0aCBmb3IgbGQtZWxmLnNvLjEKCWlmIG5vdCBwcm9kdWNlZCBieSBnY2MuCgoyMDAzLTA2LTE2ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3Q6IEFkZCBzcGVjaWZpYyBjYXNlIGZvciBjcmlzLSotbGludXgtZ251KgoJd2l0aCBjcmlzbGludXggZW11bGF0aW9uIG9ubHkuCgoyMDAzLTA2LTEzICBSb2JlcnQgTWlsbGFuICA8emVyYXR1bDJAd2FuYWRvby5lcz4KCgkqIGNvbmZpZ3VyZS50Z3Q6IEFkZCBpMzg2LW5ldGJzZC1nbnUgdGFyZ2V0LgoKMjAwMy0wNi0xMiAgUmljaGFyZCBTYW5kaWZvcmQgIDxyc2FuZGlmb0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLnRndCAobWlwcyotc2dpLWlyaXg2Kik6IEFkZCB0aGUgbzMyIGFuZCBuNjQgZW11bGF0aW9ucwoJdG8gJHRhcmdfZXh0cmFfbGlicGF0aC4KCjIwMDMtMDYtMTEgIEguSi4gTHUgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogcG8vTWFrZS1pbiAoREVTVERJUik6IE5ldy4KCShpbnN0YWxsLWRhdGEteWVzKTogU3VwcG9ydCAkKERFU1RESVIpLgoJKHVuaW5zdGFsbCk6IExpa2V3aXNlLgoKMjAwMy0wNi0xMCAgRG91ZyBFdmFucyAgPGRqZUBzZWJhYmVhY2gub3JnPgoKCSogTWFrZWZpbGUuYW0gKEFMTF9FTVVMQVRJT05TKTogQWRkIGVtMzJyZWxmLm8uCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wNi0xMCAgUmljaGFyZCBTYW5kaWZvcmQgIDxyc2FuZGlmb0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLnRndCAoaDgzMDAqKTogQWRkIGg4MzAwc3huIGVtdWxhdGlvbnMuCgkqIE1ha2VmaWxlLmFtIChBTExfRU1VTEFUSU9OUyk6IEFkZCBlaDgzMDBzeG4ubyBhbmQgZWg4MzAwc3huZWxmLm8uCgkoZWg4MzAwc3huLmMsIGVoODMwMHN4bmVsZi5jKTogTmV3IHJ1bGVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZW11bHBhcmFtcy9oODMwMHN4bmVsZi5zaCwgZW11bHBhcmFtcy9oODMwMHN4bi5zaDogTmV3IGZpbGVzLgoJKiBzY3JpcHR0ZW1wbC9oODMwMHN4bi5zYzogTmV3IGZpbGUuCgoyMDAzLTA2LTEwICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHBhcmFtcy9lbGY2NHBwYy5zaCAoRVhFQ1VUQUJMRV9TWU1CT0xTLCBPVEhFUl9CU1NfRU5EX1NZTUJPTFMsCglDVE9SX1NUQVJULCBDVE9SX0VORCwgRFRPUl9TVEFSVCwgRFRPUl9FTkQpOiBEb24ndCBkZWZpbmUuCgoyMDAzLTA2LTA4ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHRlbXBsL3BwYzY0ZWxmLmVtIChlbWl0X3N0dWJfc3ltcywgdG9jX3NlY3Rpb24pOiBOZXcgdmFycy4KCShidWlsZF90b2NfbGlzdCk6IE5ldyBmdW5jdGlvbi4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBDYWxsIGJ1aWxkX3RvY19saXN0IGFuZAoJcHBjNjRfZWxmX3JlaW5pdF90b2MuICBBZGp1c3QgcHBjNjRfZWxmX2J1aWxkX3N0dWJzIGNhbGwuCgkoT1BUSU9OX1NUVUJTWU1TKTogRGVmaW5lLgoJKFBBUlNFX0FORF9MSVNUX0xPTkdPUFRTKTogQWRkIGVtaXQtc3R1Yi1zeW1zLgoJKFBBUlNFX0FORF9MSVNUX09QVElPTlMpOiBEb2N1bWVudC4KCShQQVJTRV9BTkRfTElTVF9BUkdTX0NBU0VTKTogSGFuZGxlLgoKMjAwMy0wNi0wNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fbGlzdF9vcHRpb25zKTogUmVtb3ZlCglleHRyYSBcdCBpbiAteiBub2V4ZWNzdGFjayBsaW5lLgoKMjAwMy0wNS0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsZGdyYW0ueSAocGhkcl90eXBlKTogR3JvayBQVF9HTlVfU1RBQ0suCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1faGFuZGxlX29wdGlvbik6IEFkZAoJLXogZXhlY3N0YWNrIGFuZCAteiBub2V4ZWNzdGFjay4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9saXN0X29wdGlvbnMpOiBMaWtld2lzZS4KCSogc2NyaXB0dGVtcGwvZWxmLnNjOiBJZiBub3QgLXIsIGRpc2NhcmQgLm5vdGUuR05VLXN0YWNrIHNlY3Rpb24uCgoyMDAzLTA2LTAzICBNaWNoYWVsIFNueWRlciAgPG1zbnlkZXJAcmVkaGF0LmNvbT4KCWFuZCBCZXJuZCBTY2htaWR0ICAgPGJlcm5kc0ByZWRoYXQuY29tPgoJYW5kIEFsZXhhbmRyZSBPbGl2YSA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkIG5ldyBlbXVsYXRpb25zIGZvciBoODMwMHN4LgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLnRndDogQWRkIG5ldyBlbXVsYXRpb25zLgoJKiBlbXVscGFyYW1zL2g4MzAwc3guc2g6IE5ldyBlbXVsYXRpb24uCgkqIGVtdWxwYXJhbXMvaDgzMDBzeGVsZi5zaDogRGl0dG8uCgkqIHNjcmlwdHRlbXBsL2g4MzAwc3guc2M6IERpdHRvLgoKMjAwMy0wNi0wMyAgSC5KLiBMdSA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBsZG1pc2MuYzogSW5jbHVkZSAiYmZkbGluay5oIi4KCShlcnJvcl9oYW5kbGVyKTogSGFuZGxlIExEX0RFRklOSVRJT05fSU5fRElTQ0FSREVEX1NFQ1RJT04KCWFuZCAtTERfREVGSU5JVElPTl9JTl9ESVNDQVJERURfU0VDVElPTi4KCgkqIE1ha2VmaWxlLmFtOiBSZWJ1aWxkIGRlcGVuZGVuY3kuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDYtMDMgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogZW11bHBhcmFtcy9zaGxlbGZfbGludXguc2ggKEdFTkVSQVRFX1BJRV9TQ1JJUFQpOiBTZXQgdG8geWVzLgoJKiBlbXVscGFyYW1zL3NobGVsZjMyX2xpbnV4LnNoIChHRU5FUkFURV9QSUVfU0NSSVBUKTogTGlrZXdpemUuCgoyMDAzLTA2LTAyICBGYWJyaXppbyBHZW5uYXJpICA8ZmFicml6aW8uZ2VAdGlzY2FsaW5ldC5pdD4KCgkqIHBlLWRsbC5jIChmaWxsX2VkYXRhKTogU2NhbiB0YWJsZSBwZV9kbGwtPmV4cG9ydHMsIHdoaWNoIGlzCglzb3J0ZWQgYWxwaGFiZXRpY2FsbHksIGluc3RlYWQgb2YgZXhwb3J0ZWRfc3ltYm9scywgd2hpY2ggaXMKCXNvcnRlZCBieSBvcmRpbmFsLgoKMjAwMy0wNS0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgkgICAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsZXhzdXAuYyAoT1BUSU9OX1BJRSk6IERlZmluZS4KCShsZF9vcHRpb25zKTogQWRkIC1waWUgYW5kIC0tcGljLWV4ZWN1dGFibGUgb3B0aW9ucy4KCShwYXJzZV9hcmdzKTogSGFuZGxlIE9QVElPTl9QSUUuCgkqIGxkbWFpbi5jIChtYWluKTogSW5pdGlhbGl6ZSBsaW5rX2luZm8ucGllIGFuZAoJbGlua19pbmZvLmV4ZWN1dGFibGUuCgkqIGdlbnNjcmlwdHMuc2g6IEdlbmVyYXRlIFBJRSBzY3JpcHRzLgoJKiBsZC50ZXhpbmZvOiBEb2N1bWVudCAtcGllIGFuZCAtLXBpYy1leGVjdXRhYmxlIG9wdGlvbnMuCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fYWZ0ZXJfb3Blbik6CgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fcGxhY2Vfb3JwaGFuKTogTGlrZXdpc2UuCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fZ2V0X3NjcmlwdCk6IEluY2x1ZGUgUElFIHNjcmlwdHMuCgkqIHNjcmlwdHRlbXBsL2VsZi5zYzogSW4gUElFIHNjcmlwdHMgc2V0IC4gdGhlIHNhbWUgd2F5IGFzIGluCglzaGFyZWQgc2NyaXB0cy4KCSogZW11bHBhcmFtcy9lbGZfaTM4Ni5zaCAoR0VORVJBVEVfUElFX1NDUklQVCk6IFNldCB0byB5ZXMuCgkqIGVtdWxwYXJhbXMvZWxmNjRfaWE2NC5zaCAoR0VORVJBVEVfUElFX1NDUklQVCk6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjMycHBjLnNoIChHRU5FUkFURV9QSUVfU0NSSVBUKTogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmNjRwcGMuc2ggKEdFTkVSQVRFX1BJRV9TQ1JJUFQpOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGZfeDg2XzY0LnNoIChHRU5FUkFURV9QSUVfU0NSSVBUKTogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmX3MzOTAuc2ggKEdFTkVSQVRFX1BJRV9TQ1JJUFQpOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGYzMl9zcGFyYy5zaCAoR0VORVJBVEVfUElFX1NDUklQVCk6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0X3NwYXJjLnNoIChHRU5FUkFURV9QSUVfU0NSSVBUKTogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmNjRhbHBoYS5zaCAoR0VORVJBVEVfUElFX1NDUklQVCk6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0X3MzOTAuc2ggKEdFTkVSQVRFX1BJRV9TQ1JJUFQpOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGZfaTM4Ni5zaCAoR0VORVJBVEVfUElFX1NDUklQVCk6IExpa2V3aXNlLgoKMjAwMy0wNS0zMCAgSC5KLiBMdSA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBnZW5zY3JpcHRzLnNoOiBDcmVhdGUgdG1wZGlyL2xpYnBhdGguZXhwLgoKMjAwMy0wNS0zMCAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGVtdWx0ZW1wbC9hcm1lbGYuZW0gKGFybV9lbGZfYmVmb3JlX2FsbG9jYXRpb24pOiBSZXBsYWNlIEFTU0VSVAoJd2l0aCBhIHRlc3QgZm9yIGEgTlVMTCBiZmRfZm9yX2ludGVyd29ya2luZy4KCjIwMDMtMDUtMjkgIEphc29uIFRob3JwZSAgPHRob3JwZWpAd2FzYWJpc3lzdGVtcy5jb20+CgoJKiBjb25maWd1cmUuaG9zdCAoKi0qLW5ldGJzZCopOiBTZXQgSE9TVElOR19DUlQwIGFuZCBIT1NUSU5HX0xJQlMKCWNvcnJlY3RseSBmb3IgbW9yZSByZWNlbnQgdmVyc2lvbnMgb2YgTmV0QlNELgoJKGFscGhhKi0qLW5ldGJzZCopOiBSZW1vdmUuCgkoaVszLTddODYtKi1uZXRic2QqKTogUmVtb3ZlLgoKMjAwMy0wNS0yOSAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGVtdWx0ZW1wbC9wZS5lbTogSW5jbHVkZSAic2FmZS1jdHlwZS5oIiBpbnN0ZWFkIG9mIDxjdHlwZS5oPi4KCjIwMDMtMDUtMjYgIE1hY2llaiBXLiBSb3p5Y2tpICA8bWFjcm9AZHMyLnBnLmdkYS5wbD4KCgkqIGVtdWxwYXJhbXMvZWxmNjRidHNtaXAuc2g6IFNldCBURVhUX1NUQVJUX0FERFIgdG8gMHgxMjAwMDAwMDAgdG8KCXRyYXAgb24gcG9pbnRlciBjcm9wcy4KCjIwMDMtMDUtMjEgIE1hcmN1cyBDb21zdGVkdCAgPG1hcmN1c0BtYy5wcC5zZT4KCgkqIGNvbmZpZ3VyZS50Z3Q6IENoZWNrIGZvciBhIHRhcmdldCB0cmlwbGV0IG9mIHNobC0uLi4tbmV0YnNkZWxmCglhcyB3ZWxsIGFzIHNobGUtLi4uLW5ldGJzZGVsZi4KCjIwMDMtMDUtMTYgIEtlbGxleSBDb29rICA8a2VsbGV5Y29va0B3aWRlb3Blbndlc3QuY29tPgoKCSogY29uZmlndXJlLmhvc3Q6IEFjY2VwdCBpWzMtN104NiB2YXJpYW50cy4KCSogY29uZmlndXJlLnRndDogTGlrZXdpc2UuCgoyMDAzLTA1LTE1ICBILkouIEx1IDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGVtdWxwYXJhbXMvZWxmNjRfaWE2NC5zaDogRG9uJ3Qgc2V0IENPTU1PTlBBR0VTSVpFIGZvciBub3cuCgoyMDAzLTA1LTA5ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCgkqIE1ha2VmaWxlLmFtIChBTExfRU1VTEFUSU9OUyk6IEFkZCBlYXJtZWxmYi5vIGFuZCBlYXJtZWxmYl9saW51eC5vLgoJKGVhcm1lbGZiLmMsIGVhcm1lbGZiX2xpbnV4LmMpOiBOZXcgcnVsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCSogZW11bHBhcmFtcy9hcm1lbGZiLnNoLCBlbXVscGFyYW1zL2FybWVsZmJfbGludXguc2g6IE5ldyBmaWxlcy4KCSogY29uZmlndXJlLnRndDogQWRkIGFybWViLWVsZiBhbmQgYXJtKmItKi1saW51eC1nbnUuCgoyMDAzLTA1LTA5ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogbGRsYW5nLmMgKGxhbmdfc2l6ZV9zZWN0aW9uc18xKTogRGVmYXVsdCB0byBnZW5lcmF0aW5nIGEKCWZhdGFsIGVycm9yIG1lc3NhZ2UgaWYgYSBsb2FkYWJsZSBzZWN0aW9uIGlzIG5vdCBhbGxvY2F0ZWQKCXRvIGEgbWVtb3J5IHJlZ2lvbiB3aGVuIHJlZ2lvbnMgYXJlIGRlZmluZWQuCgoyMDAzLTA1LTA5ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogTWFrZWZpbGUuYW0gKGVtNjhoYzExZWxmLmMpOiBDb3JyZWN0IGRlcGVuZGVuY2llcy4KCShlbTY4aGMxMWVsZmIuYywgZW02OGhjMTJlbGYuYywgZW02OGhjMTJlbGZiLmMpOiBMaWtld2lzZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZmluZF9leHBfYXNzaWdubWVudCk6IEFkanVzdCBmb3IgY2hhbmdlZAoJYmZkX2VsZl9yZWNvcmRfbGlua19hc3NpZ25tZW50IG5hbWUuCgoyMDAzLTA1LTA3ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIGxkbWFpbi5oIChvdmVyZmxvd19jdXRvZmZfbGltaXQpOiBEZWNsYXJlLgoJKiBsZG1haW4uYyAob3ZlcmZsb3dfY3V0b2ZmX2xpbWl0KTogRGVmaW5lLCBpbml0aWFsaXplZCB0byAxMC4KCShyZWxvY19vdmVyZmxvdyk6IExpbWl0IGVycm9yIG1lc3NhZ2VzIGJhc2VkIG9uIGl0LgoJKiBsZXhzdXAuYyAocGFyc2VfYXJncykgPE9QVElPTl9WRVJCT1NFPjogU2V0IGN1dG9mZiB0bwoJdW5saW1pdGVkLgoKMjAwMy0wNS0wNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkbGV4Lmw6IEFjY2VwdCBDIHN0eWxlIGNvbW1lbnRzIGluIHZlcnNpb24gc2NyaXB0cy4KCjIwMDMtMDQtMjggIEguSi4gTHUgPGhqbEBnbnUub3JnPgoKCSogbGRsYW5nLmMgKGxhbmdfcHJvY2Vzcyk6IEFkZCB0aGUgcmVsYXggZmluYWxpemUgcGFzcy4KCgkqIGxkbWFpbi5jIChtYWluKTogSW5pdGlhbGl6ZSBsaW5rX2luZm8ucmVsYXhfZmluYWxpemluZyB0bwoJRkFMU0UuCgoyMDAzLTA0LTI0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbGRncmFtLnkgKHBoZHJfdHlwZSk6IEdyb2sgUFRfVExTIGFuZCBQVF9HTlVfRUhfRlJBTUUgbmFtZXMuCglJZiBhIG5hbWUgc3RyaW5nIGlzIHVua25vd24sIGdpdmUgYW4gZXJyb3IgcmF0aGVyIHRoYW4gY3Jhc2hpbmcgbGF0ZXIuCgoyMDAzLTA0LTIzIERoYW5hbmpheSBEZXNocGFuZGUgPGRoYW5hbmpheWRAa3BpdGN1bW1pbnMuY29tPgoKCSogTWFrZWZpbGUuYW0gKEFMTF9FTVVMQVRJT05TKTogQWRkIGVoODMwMGhuLm8sIGVoODMwMHNuLm8sCgllaDgzMDBobmVsZi5vLCBlaDgzMDBzbmVsZi5vIGFuZCByZXNwZWN0aXZlIHJ1bGVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLnRndDogQWRkIGg4MzAwaG4sIGg4MzAwc24sIGg4MzAwaG5lbGYsIGg4MzAwc25lbGYKCSogZW11bHBhcmFtcy9oODMwMGhuLnNoOiBOZXcKCSogZW11bHBhcmFtcy9oODMwMHNuLnNoOiBOZXcKCSogZW11bHBhcmFtcy9oODMwMGhuZWxmLnNoOiBOZXcKCSogZW11bHBhcmFtcy9oODMwMHNuZWxmLnNoOiBOZXcKCSogc2NyaXB0dGVtcGwvaDgzMDBobi5zYzogbmV3CgkqIHNjcmlwdHRlbXBsL2g4MzAwc24uc2M6IG5ldwoKMjAwMy0wNC0yMyAgSC5KLiBMdSA8aGpsQGdudS5vcmc+CgoJKiBsZG1haW4uYyAobGlua19jYWxsYmFja3MpOiBJbml0aWFsaXplIGVycm9yX2hhbmRsZXIuCgoJKiBsZG1pc2MuYyAoZXJyb3JfaGFuZGxlcik6IE5ldyBmdW5jdGlvbi4KCgkqIGxkbWlzYy5oIChlcnJvcl9oYW5kbGVyKTogTmV3IHByb3RvdHlwZS4KCjIwMDMtMDQtMjEgIFN0ZXBoYW5lIENhcnJleiAgPHN0Y2FycmV6QG5lcmltLmZyPgoKCSogZW11bHBhcmFtcy9tNjhoYzExZWxmLnNoOiBVc2UgbTY4aGMxeGVsZi5lbSBleHRyYS4KCSogZW11bHBhcmFtcy9tNjhoYzExZWxmYi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvbTY4aGMxMmVsZi5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvbTY4aGMxMmVsZmIuc2g6IExpa2V3aXNlLgoKMjAwMy0wNC0xOSAgU3RlcGhhbmUgQ2FycmV6ICA8c3RjYXJyZXpAbmVyaW0uZnI+CgoJKiBlbXVsdGVtcGwvbTY4aGMxeGVsZi5lbTogTmV3IGZpbGUgdG8gZ2VuZXJhdGUgZmFyIHRyYW1wb2xpbmVzIG9uCgk2OEhDMTEgYW5kIDY4SEMxMi4KCShMREVNVUxfQkVGT1JFX0FMTE9DQVRJT04pOiBPdmVycmlkZSB0byBnYXRoZXIgdGhlIHRyYW1wb2xpbmVzIHRvCglnZW5lcmF0ZS4KCShMREVNVUxfRklOSVNIKTogT3ZlcnJpZGUgdG8gZ2VuZXJhdGUgdGhlIHRyYW1wb2xpbmVzIGFmdGVyIGdjIGFuZAoJbGlua2VyIHJlbGF4YXRpb24uCgkoTERFTVVMX0NSRUFURV9PVVRQVVRfU0VDVElPTl9TVEFURU1FTlRTKTogT3ZlcnJpZGUgdG8gY3JlYXRlIHRoZQoJc3R1YiBmaWxlIGZvciB0cmFtcG9saW5lcy4KCShQQVJTRV9BTkRfTElTVF9PUFRJT05TLCBQQVJTRV9BTkRfTElTVF9MT05HT1BUUyk6IE5ldyBvcHRpb25zCgktLW5vLXRyYW1wb2xpbmUgYW5kIC0tYmFuay13aW5kb3cgdG8gY29udHJvbCB0aGUgbWVtb3J5IGJhbmsgd2luZG93LgoKMjAwMy0wNC0xOCAgSC5KLiBMdSA8aGpsQGdudS5vcmc+CgoJKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBSZW1vdmUgdGhlIHVudXNlZAoJdmFyaWFibGUuCgoyMDAzLTA0LTE4ICBBbmRyZXcgSGFsZXkgIDxhcGhAY2FtYnJpZGdlLnJlZGhhdC5jb20+CgoJKiBzY3JpcHR0ZW1wbC94c3Rvcm15MTYuc2MgKF9fZGF0YSwgX19yZGF0YSk6IE5ldy4KCjIwMDMtMDQtMTYgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBzY3JpcHR0ZW1wbC94c3Rvcm15MTYuc2M6IEFkZCAuamNyIHNlY3Rpb24gbWFwcGluZy4KCjIwMDMtMDQtMTUgIEguSi4gTHUgPGhqbEBnbnUub3JnPgoKCUZyb20gRGViaWFuIGJ5IEphY2sgSG93YXJ0aCA8aG93YXJ0aEBuaXRyby5tZWQudWMuZWR1PjoKCgkqIGxkbGV4Lmw6IFVzZSBZWV9DVVJSRU5UX0JVRkZFUiBpbnN0ZWFkIG9mIHl5X2N1cnJlbnRfYnVmZmVyLgoKMjAwMy0wNC0xNSAgUm9oaXQgS3VtYXIgU3JpdmFzdGF2YSA8cm9oaXRzQGtwaXRjdW1taW5zLmNvbT4KCgkqIGg4LWRvYy50ZXhpOiBSZXBsYWNlIG9jY3VycmFuY2VzIG9mICdIaXRhY2hpJyB3aXRoICdSZW5lc2FzJy4KCSogbGQudGV4aW5mbzogTGlrZXdpc2UuCgoyMDAzLTA0LTE0ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCUZyb20gUHJhc2hhbnRoIFRhbXJhcGFybmkgPHByYXNoYW50aF90QGluLmlibS5jb20+CgkqIHNjcmlwdHRlbXBsL2VsZi5zYyAoQ1RPUik6IEhhbmRsZSBjcnRiZWdpblMubywgY3J0ZW5kUy5vIGFuZAoJb3RoZXIgdmFyaWFudHMgb2YgY3J0YmVnaW4ubywgY3J0ZW5kLm8uCgkoRFRPUik6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC9jcmlzYW91dC5zYyAoY3RvcnMsIGR0b3JzKTogTGlrZXdpc2UuCgkqIHNjcmlwdHRlbXBsL2VsZl9jaGFvcy5zYyAoQ1RPUiwgRFRPUik6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC9lbGZkMTB2LnNjIChDVE9SLCBEVE9SKTogTGlrZXdpc2UuCgkqIHNjcmlwdHRlbXBsL2VsZmQzMHYuc2MgKENUT1IsIERUT1IpOiBMaWtld2lzZS4KCSogc2NyaXB0dGVtcGwvZWxmeHRlbnNhLnNjIChDVE9SLCBEVE9SKTogTGlrZXdpc2UuCgkqIHNjcmlwdHRlbXBsL2lxMjAwMC5zYyAoQ1RPUiwgRFRPUik6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC9tbW8uc2MgKGN0b3JzLCBkdG9ycyk6IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC94c3Rvcm15MTYuc2MgKENUT1IsIERUT1IpOiBMaWtld2lzZS4KCjIwMDMtMDQtMDkgICBEbWl0cnkgRGlreSAgPGRpd2lsQG1haWwucnU+CgoJKiBzY3JpcHR0ZW1wbC9lbGYzMm1zcDQzMC5zYzogQWRkIGluaXRYLCBmaW5pWCwgY3RvcnMsIGR0b3JzCglzZWN0aW9ucyB0byByZXNwZWN0IEMrKyAgY29uc3RydWN0b3IvZGVzdHJ1Y3Rvci4gQWRkIGN0b3JzL2R0b3JzCglzdGFydC9zdG9wIGRlZmluaXRpb25zLgoJKiBzY3JpcHR0ZW1wbC9lbGYzMm1zcDQzMF8zLnNjOiBMaWtld2lzZS4KCjIwMDMtMDQtMDYgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBsZC50ZXhpbmZvIChPcHRpb25zKTogQWRkIGEgcmVtaW5kZXIgb2YgdGhlIHRhcmdldCBzcGVjaWZpYwoJbmF0dXJlIHRvIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgaTM4NiBQRSBzcGVjaWZpYyBvcHRpb25zLCBmb3IKCXJlYWRlcnMgd2hvIGhhdmUgbm90IHJlYWQgYWxsIHRoZSB3YXkgdGhyb3VnaCB0aGUgbWFudWFsLgoKMjAwMy0wNC0wNCAgU3ZlaW4gRS4gU2VsZGFsICA8U3ZlaW4uU2VsZGFsQHNvbGlkYXMuY29tPgoKCSogY29uZmlndXJlLnRndDogRml4ZWQgYnVnIGluIGxpc3Qgb2YgdGFyZ19leHRyYV9lbXVscy4KCSogZW11bHBhcmFtcy90aWMzeGNvZmYuc2ggKFNDUklQVF9OQU1FKTogTmFtZXNwYWNlCgljbGVhbnVwLiBSZXBsYWNlIHMvYzR4L3RpYzR4IGFuZCBzL2MzeC90aWMzeC8KCSogZW11bHBhcmFtcy90aWMzeGNvZmZfb25jaGlwLnNoOiBEaXR0bwoJKiBlbXVscGFyYW1zL3RpYzR4Y29mZi5zaDogRGl0dG8KCSogc2NyaXB0dGVtcGwvdGljNHhjb2ZmLnNjOiBEaXR0bwoKMjAwMy0wNC0wMyAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIE5FV1M6IE1lbnRpb24gc3VwcG9ydCBmb3IgWHRlbnNhIGFyY2hpdGVjdHVyZS4KCjIwMDMtMDQtMDIgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBwZS1kbGwuYyAocGVfZGV0YWlsX2xpc3QpOiBhcm0tcGUgdGFyZ2V0cyB1c2UgdW5kZXJzY29yZXMuCgoyMDAzLTA0LTAxICBEYW5ueSBTbWl0aCA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBlbXVsdGVtcGwvcGUuZW0gKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9vcGVuKToKCURvbid0IGNhbGwgcGVfZGxsX2J1aWxkX3NlY3Rpb24oKSBpZiBsaW5rX2luZm8ucmVsb2NhdGVhYmxlLgoJKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBEb24ndCBjYWxsIHBlX2RsbF9maWxsX3NlY3Rpb25zKCkKCWlmIGxpbmtfaW5mby5yZWxvY2F0ZWFibGUuCgoyMDAzLTA0LTAxICBGYWJyaXppbyBHZW5uYXJpICA8ZmFicml6aW8uZ2VAdGlzY2FsaW5ldC5pdD4KCgkqIHBlLWRsbC5jIChwcm9jZXNzX2RlZl9maWxlKTogRG9uJ3QgY3JlYXRlIGFuIGV4cG9ydAoJc2VjdGlvbiBpZiB0aGVyZSBhcmUgbm8gZXhwb3J0cyBhbmQgd2UncmUgYnVpbGRpbmcgYW4gZXhlCgkocGVfZGxsX2J1aWxkX3NlY3Rpb25zKTogRGl0dG8KCShwZV9kbGxfZmlsbF9zZWN0aW9ucyk6IENvbmRpdGlvbmFsaXplIHNldHRpbmcKCWFiZmQtPmRsbCB0cnVlIG9uIGluZm8tPnNoYXJlZAoJKiBlbXVsdGVtcGwvcGUuZW0gKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9vcGVuKToKCUlmIGkzODZwZSBvciBhcm1wZSwgY2FsbCBwZV9kbGxfYnVpbGRfc2VjdGlvbigpCglmb3IgYm90aCBleGUncyBhbmQgZGxsJ3MsIG5vdCBqdXN0IGRsbCdzLgoJKGdsZF8ke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBGb3IgYWxsIHRhcmdldHMgZXhjZXB0CglzaHBlIGFuZCBtaXBzcGUsIGNhbGwgcGVfZGxsX2ZpbGxfc2VjdGlvbnMoKSBmb3IgYm90aAoJZXhlJ3MgYW5kIGRsbCdzLCBub3QganVzdCBkbGwncy4KCjIwMDMtMDQtMDIgIEJvYiBXaWxzb24gIDxib2Iud2lsc29uQGFjbS5vcmc+CgoJKiBlbXVscGFyYW1zL3h0ZW5zYS1jb25maWcuc2g6IFJlbW92ZSBjb21tZW50IGluZGljYXRpbmcgdGhhdCB0aGlzIGlzCglhIGdlbmVyYXRlZCBmaWxlLgoKMjAwMy0wNC0wMSAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIE1ha2VmaWxlLmFtIChBTExfRU1VTEFUSU9OUyk6IEFkZCBlZWxmMzJ4dGVuc2Euby4KCShlZWxmMzJ4dGVuc2EuYyk6IE5ldyB0YXJnZXQuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmUudGd0OiBIYW5kbGUgeHRlbnNhLSotKi4KCSogZ2VuLWRvYy50ZXhpOiBTZXQgWFRFTlNBIHZhcmlhYmxlLgoJKiBsZC50ZXhpbmZvOiBTZXQgWFRFTlNBIHZhcmlhYmxlLiAgQWRkIG5ldyBYdGVuc2Egbm9kZS4KCSogZW11bHBhcmFtcy9lbGYzMnh0ZW5zYS5zaDogTmV3IGZpbGUuCgkqIGVtdWxwYXJhbXMveHRlbnNhLWNvbmZpZy5zaDogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC94dGVuc2FlbGYuZW06IExpa2V3aXNlLgoJKiBzY3JpcHR0ZW1wbC9lbGZ4dGVuc2Euc2M6IExpa2V3aXNlLgoKMjAwMy0wNC0wMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUudGd0IChwb3dlcnBjKi0qLWxpbnV4Kik6IEFkZCBlbGYzMnBwYyB0byBwcGM2NAoJdGFyZ19leHRyYV9saWJwYXRoLiAgQWRkIGVsZjY0cHBjIHRvIHBwYyB0YXJnX2V4dHJhX2xpYnBhdGgKCWlmIC0tZW5hYmxlLTY0LWJpdC1iZmQuCgoyMDAzLTA0LTAxICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogZW11bHBhcmFtcy9hcm1lbGYuc2ggKE9USEVSX1JFQURPTkxZX1NFQ1RJT05TKTogQ2hhbmdlIG5hbWUgb2YKCW5vdGUgc2VjdGlvbi4KCSogZW11bHBhcmFtcy9hcm1lbGZfbGludXguc2ggKE9USEVSX1JFQURPTkxZX1NFQ1RJT05TKTogQ2hhbmdlCgluYW1lIG9mIG5vdGUgc2VjdGlvbi4KCjIwMDMtMDMtMzEgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogbGQudGV4aW5mbyAoLVRic3MsIC1UZGF0YSwgLVR0ZXh0KTogRG9jdW1lbnQgaW4gdGVybXMgb2YKCS0tc2VjdGlvbi1zdGFydC4KCjIwMDMtMDMtMzEgIERhdmlkIEhlaW5lICA8ZGxoZWluZUBzdWlmLnN0YW5mb3JkLmVkdT4KCgkqIGxkZmlsZS5jIChsZGZpbGVfYWRkX2xpYnJhcnlfcGF0aCk6IEFsd2F5cyBhbGxvY2F0ZSBzcGFjZSBmb3IKCXRoZSBmaWxlbmFtZS4KCSogbGRsYW5nLmMgKGxhbmdfcmVnaXN0ZXJfdmVyc19ub2RlKTogRnJlZSB0aGUgbm9kZSBpZiBpdCBjYW5ub3QKCWJlIHVzZWQuCgkqIGxkbWFpbi5jIChzZXRfc2NyaXB0c19kaXIpOiBBbHdheXMgZnJlZSB0aGUgY29uc3RydWN0ZWQKCWRpcmVjdG9yeSBuYW1lLgoJKGFkZF9rZWVwc3ltc19maWxlKTogRml4IG1lbW9yeSBsZWFrLgoJKiBsZG1pc2MuYyAodmZpbmZvKTogTGlrZXdpc2UuCgkqIGxleHN1cC5jIChwYXJzZV9hcmdzKTogTGlrZXdpc2UuCgoyMDAzLTAzLTI1ICBTdGFuIENveCAgIDxzY294QHJlZGhhdC5jb20+CgkgICAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCglDb250cmlidXRlIHN1cHBvcnQgZm9yIEludGVsJ3MgaVdNTVh0IGNoaXAgLSBhbiBBUk0gdmFyaWFudDoKCgkqIGVtdWxwYXJhbXMvYXJtZWxmLnNoIChPVEhFUl9SRUFET05MWV9TRUNUSU9OUyk6IERlZmluZS4KCSogZW11bHBhcmFtcy9hcm1lbGZfbGludXguc2ggKE9USEVSX1JFQURPTkxZX1NFQ1RJT05TKTogRGVmaW5lLgoJKiBzY3JpcHR0ZW1wbC9hcm1jb2ZmLnNjICguZGF0YSk6IEVuc3VyZSA4IGJ5dGUgYWxpZ25tZW50LgoJKC5ic3MpOiBMaWtld2lzZS4KCjIwMDMtMDMtMjUgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogbGRtYWluLmggKGxkX2Nhbm9uX3N5c3Jvb3QsIGxkX2Nhbm9uX3N5c3Jvb3RfbGVuKTogRGVjbGFyZS4KCSogbGRtYWluLmMgKGxkX2Nhbm9uX3N5c3Jvb3QsIGxkX2Nhbm9uX3N5c3Jvb3RfbGVuKTogRGVmaW5lLgoJKG1haW4pOiBJbml0aWFsaXplIHRoZW0uCgkqIGxkZmlsZS5jOiBJbmNsdWRlIHBhdGhuYW1lcy5oLgoJKGlzX3N5c3Jvb3RlZF9wYXRobmFtZSk6IE5ldy4KCShsZGZpbGVfYWRkX2xpYnJhcnlfcGF0aCk6IFVzZSBpdC4KCShsZGZpbGVfb3Blbl9maWxlX3NlYXJjaCk6IExpa2V3aXNlLiAgVXNlIElTX0FCU09MVVRFX1BBVEguICBEb24ndAoJc2VhcmNoX2RpcnMgaWYgZ2l2ZW4gYW4gYWJzb2x1dGUgcGF0aG5hbWUuCgkobGRmaWxlX29wZW5fZmlsZSk6IElzc3VlIGVycm9yIG1lc3NhZ2UgZm9yIHN5c3Jvb3RlZAoJYWJzb2x1dGUgcGF0aG5hbWVzLgoJKiBNYWtlZmlsZS5hbTogVXBkYXRlZCBkZXBlbmRlbmNpZXMuCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWxkLgoKMjAwMy0wMy0yNCAgRGFuaWVsIE7pcmkgIDxkbmVAbWF5b25uYWlzZS5uZXQ+CgoJKiBsZC50ZXhpbmZvOiBSZW5hbWUgYWxsIG9jY3VyYW5jZXMgb2YgQzU0WCB0byBUSUM1NFguCgoyMDAzLTAzLTE5ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogbGRmaWxlLmMgKGxkZmlsZV90cnlfb3Blbl9iZmQpOiBQb3AgbGV4ZXIgc3RhcnQgY29uZGl0aW9uIGFmdGVyCgllb2YuCgoyMDAzLTAzLTE4ICBEYW5ueSBTbWl0aCAgPGRhbm55c21pdGhAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZGVmZmlsZXAueSAob3B0X2Jhc2UpOiBJZiBubyBudW1iZXIgZ2l2ZW4sIHNldCB0byBkZWZhdWx0CgkoLTEpLCBub3QgMC4KCjIwMDMtMDMtMTMgIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBkZWZmaWxlcC55IChkZWZfaW1wb3J0KTogVXNlIGRlZmF1bHQgZXh0ZW5zaW9uIG9mICJkbGwiCglpZiBubyBleHRlbnNpb24gcHJvdmlkZWQgaW4gcGFyc2VkIElNUE9SVCBkZWZpbml0aW9uLgoKCSogZGVmZmlsZXAueSAoZGVmX2xleCk6IFJldmVydCAyMDAzLTAzLTEyIGNoYW5nZS4KCShkb3RfbmFtZSk6IE5ldyBpZCB0eXBlIGFuZCBydWxlLgoJKGV4cGxpbmUpOiBVc2UgaW5zdGVhZCBvZiBJRC4KCShvcHRfZXF1YWxfbmFtZSk6IExpa2V3aXNlLgoKMjAwMy0wMy0xMiAgRGFubnkgU21pdGggIDxkYW5ueXNtaXRoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGRlZmZpbGVwLnkgKGRlZl9sZXgpOiBBY2NlcHQgJy4nIGFzIHZhbGlkIG5vbi1sZWFkIGNoYXIuCgoyMDAzLTAzLTA3ICBDaHJpc3RvcGhlciBGYXlsb3IgIDxjZ2ZAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS50Z3Q6IEFkZCBOQVRJVkVfTElCX0RJUlMgZm9yIGN5Z3dpbiB0YXJnZXQgYmFjayBhZnRlcgoJYXBwYXJlbnQgYWNjaWRlbnRhbCByZW1vdmFsIG9uIDIwMDMtMDEtMDYuCgoyMDAzLTAzLTA0ICBEbWl0cnkgRGlreSAgPGRpd2lsQG1haWwucnU+CgoJKiBNYWtlZmlsZS5hbTogQWRkIG5ldyBkZXZpY2VzIHgxMTIyIHgxMTMyIGVtdWxhdGlvbgoJKiBjb25maWd1cmUudGd0OiBMaWtld2lzZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGVtdWxwYXJhbXMvbXNwNDMweDExMjIuc2g6IE5ldyBmaWxlLgoJKiBlbXVscGFyYW1zL21zcDQzMHgxMTMyLnNoOiBOZXcgZmlsZS4KCjIwMDMtMDMtMDMgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogbGRtYWluLmMgKHNldF9zY3JpcHRzX2Rpcik6IExvb2sgZm9yIHJlbGF0aXZlIHRvIFRPT0xCSU5ESVIgYXMKCXdlbGwuCgoJKiBsZGZpbGUuaCAoc3RydWN0IHNlYXJjaF9kaXJzKTogQWRkZWQgc3lzcm9vdGVkIGZpZWxkLgoJKiBsZGxhbmcuaCAoc3RydWN0IGxhbmdfaW5wdXRfc3RhdGVtZW50X3N0cnVjdCk6IExpa2V3aXNlLgoJKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBNYXJrIHN5c3Jvb3RlZCBwYXRocy4KCShsZGZpbGVfb3Blbl9maWxlX3NlYXJjaCk6IExvb2sgZm9yIHN5c3Jvb3RlZCBmaWxlbmFtZSBzdGFydGluZwoJd2l0aCAvIGluIGxkX3N5c3Jvb3QgaW5zdGVhZCBvZiBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBDbGVhcgoJc3lzcm9vdGVkIGZsYWcgaWYgaXQncyBmb3VuZCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBTZXQgaXQKCWZyb20gdGhlIHNlYXJjaCBkaXJlY3RvcnkncyBzeXNyb290ZWQgZmxhZyB3aGVyZSBpdCBpcyBmb3VuZAoJb3RoZXJ3aXNlLgoJKiBsZGxhbmcuYyAobGRsYW5nX3N5c3Jvb3RlZF9zY3JpcHQpOiBOZXcgc3RhdGljIHZhcmlhYmxlLgoJKG5ld19hZmlsZSk6IE1hcmsgc2VhcmNoX2ZpbGVfZW51bXMgYXMgc3lzcm9vdGVkIGlmCglsZGxhbmdfc3lzcm9vdGVkX3NjcmlwdC4KCShsb2FkX3N5bWJvbHMpOiBTZXQgbGRsYW5nX3N5c3Jvb3RlZF9zY3JpcHQgYWNjb3JkaW5nIHRvIHRoZQoJc2NyaXB0J3Mgc3lzcm9vdGVkIGZpZWxkIHdoaWxlIHByb2Nlc3NpbmcgaXQuCgkqIGxkLnRleGluZm86IERvY3VtZW50IElOUFVUIGJlaGF2aW9yIGluIHN5c3Jvb3QuCgoyMDAzLTAzLTAyICBEYW5ueSBTbWl0aCAgPGRhbm55c21pdGhAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogc2NyaXB0dGVtcGwvcGUuc2M6IFVzZSBQUk9WSURFIHdpdGggZXRleHQsIGVuZCwgX2VuZCwKCjIwMDMtMDMtMDMgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVscGFyYW1zL2VsZjY0YWxwaGEuc2ggKEVYVFJBX0VNX0ZJTEUpOiBEZWZpbmUuCgkoUEFSU0VfQU5EX0xJU1RfUFJPTE9HVUUsIFBBUlNFX0FORF9MSVNUX0xPTkdPUFRTLAoJUEFSU0VfQU5EX0xJU1RfT1BUSU9OUywgUEFSU0VfQU5EX0xJU1RfQVJHU19DQVNFUywKCVBBUlNFX0FORF9MSVNUX0VQSUxPR1VFKTogRG9uJ3QgZGVmaW5lLgoJKiBlbXVsdGVtcGwvYWxwaGFlbGYuZW06IE5ldyBmaWxlLgoKMjAwMy0wMy0wMSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkZW11bC5jOiBJbmNsdWRlIGdldG9wdC5oLgoJKiBlbXVsdGVtcGwvZWxmMzIuZW06IEluY2x1ZGUgZ2V0b3B0LmggZWFybGllci4KCSogZW11bHRlbXBsL3RpY29mZi5lbTogTGlrZXdpc2UuCgoyMDAzLTAyLTI4ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHRlbXBsL2VsZjMyLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9nZXRfc2NyaXB0KTogQWRkIGNvbWJyZWxvYwoJc3VwcG9ydCB3aGVuIHNjcmlwdHMgcmVhZCBmcm9tIGZpbGVzLgoKMjAwMy0wMi0yOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGxkZW11bC5jIChsZGVtdWxfcGFyc2VfYXJncyk6IFJldHVybiBGQUxTRSBieSBkZWZhdWx0LgoJKiBsZGVtdWwuaCAoc3RydWN0IGxkX2VtdWxhdGlvbl94ZmVyX3N0cnVjdCk6IFVwZGF0ZSBwYXJzZV9hcmdzCgljb21tZW50LgoKCSogbGRlbXVsLmMgKGxkZW11bF9hZGRfb3B0aW9ucywgbGRlbXVsX2hhbmRsZV9vcHRpb24pOiBOZXcgZnVuY3Rpb25zLgoJKGxkZW11bF9wYXJzZV9hcmdzKTogUmV0dXJuIGJmZF9ib29sZWFuLiAgRm9ybWF0dGluZy4KCSogbGRlbXVsLmggKGxkZW11bF9hZGRfb3B0aW9ucywgbGRlbXVsX2hhbmRsZV9vcHRpb24pOiBEZWNsYXJlLgoJKGxkZW11bF9wYXJzZV9hcmdzKTogQWRqdXN0LgoJKHN0cnVjdCBsZF9lbXVsYXRpb25feGZlcl9zdHJ1Y3QpOiBBZGQgYWRkX29wdGlvbnMgYW5kIGhhbmRsZV9vcHRpb24uCglSZXR1cm4gYmZkX2Jvb2xlYW4gZnJvbSBwYXJzZV9hcmdzLgoJKiBsZXhzdXAuYyAocGFyc2VfYXJncyk6IE1hbGxvYyBzaG9ydG9wdHMsIGxvbmdvcHRzIGFuZAoJcmVhbGx5X2xvbmdvcHRzLiAgQ2FsbCBsZGVtdWxfYWRkX29wdGlvbnMgYW5kIGxkZW11bF9oYW5kbGVfb3B0aW9uLgoJKiBlbXVsdGVtcGwvYWl4LmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9hZGRfb3B0aW9ucyk6IFNwbGl0IG91dCBmcm9tCglnbGQke0VNVUxBVElPTl9OQU1FfV9wYXJzZV9hcmdzLgoJKGdsZCR7RU1VTEFUSU9OX05BTUV9X2hhbmRsZV9vcHRpb24pOiBMaWtld2lzZS4KCShsZF8ke0VNVUxBVElPTl9OQU1FfV9lbXVsYXRpb24pOiBBZGp1c3QgaW5pdGlhbGl6ZXIuCgkqIGVtdWx0ZW1wbC9hcm1jb2ZmLmVtOiBBcyBmb3IgYWl4LmVtLCBidXQgcmVtb3ZlIHBhcnNlX2FyZ3MuCgkqIGVtdWx0ZW1wbC9iZW9zLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL3BlLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL3RpY29mZi5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbTogTGlrZXdpc2UuICBEb24ndCBkdXBsaWNhdGUgbG9uZyBvcHRpb25zIGVpdGhlci4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9hZGRfc3lzcm9vdCk6IFByb3RvdHlwZS4KCSogZW11bHRlbXBsL2FybWVsZi5lbSAoUEFSU0VfQU5EX0xJU1RfTE9OR09QVFMpOiBEb24ndCBkdXBsaWNhdGUKCW9wdGlvbnMuCgkqIGVtdWx0ZW1wbC9ocHBhZWxmLmVtIChQQVJTRV9BTkRfTElTVF9MT05HT1BUUyk6IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvcHBjMzJlbGYuZW0gKFBBUlNFX0FORF9MSVNUX0xPTkdPUFRTKTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9wcGM2NGVsZi5lbSAoUEFSU0VfQU5EX0xJU1RfTE9OR09QVFMpOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2FybWVsZl9vYWJpLmVtIChsZF8ke0VNVUxBVElPTl9OQU1FfV9lbXVsYXRpb24pOiBBZGp1c3QKCWluaXRpYWxpemVyLgoJKiBlbXVsdGVtcGwvZ2VuZXJpYy5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9nbGQ5NjAuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvZ2xkOTYwYy5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9saW51eC5lbTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9sbms5NjAuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbTY4a2NvZmYuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbWlwc2Vjb2ZmLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL3N1bm9zLmVtOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL3ZhbmlsbGEuZW06IExpa2V3aXNlLgoJKiBlbXVsdGVtcGwvbmV0YnNkLmVtIChnbGRuZXRic2RfYmVmb3JlX3BhcnNlKTogUHJvdG90eXBlLgoKMjAwMy0wMi0yNSAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBlbXVsdGVtcGwvZWxmMzIuZW0gKGdsZCR7RU1VTEFUSU9OX05BTUV9X2FkZF9zeXNyb290KTogRml4CgltZW1vcnkgYWxsb2NhdGlvbiBlcnJvci4KCgkqIE1ha2VmaWxlLmFtIChsZG1haW4ubyk6IERlZmluZSBUT09MQklORElSLgoJKiBNYWtlZmlsZS5pbjogUmVidWlsdC4KCSogbGRtYWluLmMgKGxkX3N5c3Jvb3QpOiBUcnkgdG8gc2V0IGZyb20gVE9PTEJJTkRJUiB0b28uCgoyMDAzLTAyLTIxICBCb2IgV2lsc29uICA8Ym9iLndpbHNvbkBhY20ub3JnPgoKCSogbGRsYW5nLmMgKGxhbmdfc2l6ZV9zZWN0aW9uc18xKTogQWRkIENIRUNLX1JFR0lPTlMgYXJndW1lbnQgYW5kIG9ubHkKCWNhbGwgb3NfcmVnaW9uX2NoZWNrIHdoZW4gaXQgaXMgc2V0LgoJKGxhbmdfc2l6ZV9zZWN0aW9ucyk6IEFkZCBDSEVDS19SRUdJT05TIGFyZ3VtZW50IGFuZCBwYXNzIGl0IHRocm91Z2ggdG8KCWxhbmdfc2l6ZV9zZWN0aW9uc18xLgoJKGxhbmdfcHJvY2Vzcyk6IENoYW5nZSBsYW5nX3NpemVfc2VjdGlvbnMgY2FsbHMgdG8gc2V0IENIRUNLX1JFR0lPTlMKCW9ubHkgZm9yIHRoZSBsYXN0IGNhbGwsIG5vdCBvbiBldmVyeSByZWxheGF0aW9uIGl0ZXJhdGlvbi4KCSogbGRsYW5nLmggKGxhbmdfc2l6ZV9zZWN0aW9ucyk6IFVwZGF0ZSBwcm90b3R5cGUuCgkqIHBlLWRsbC5jIChwZV9kbGxfZmlsbF9zZWN0aW9ucyk6IFNldCBDSEVDS19SRUdJT05TIGFyZ3VtZW50IGluIGNhbGxzCgl0byBsYW5nX3NpemVfc2VjdGlvbnMuCgkocGVfZXhlX2ZpbGxfc2VjdGlvbnMpOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2VsZjMyLmVtIChnbGQke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBMaWtld2lzZS4KCSogZW11bHRlbXBsL2hwcGFlbGYuZW0gKGhwcGFlbGZfbGF5b3V0X3NlY3Rpb25zX2FnYWluKTogTGlrZXdpc2UuCgkqIGVtdWx0ZW1wbC9wcGM2NGVsZi5lbSAocHBjX2JlZm9yZV9hbGxvY2F0aW9uKTogTGlrZXdpc2UuCgkocHBjX2xheW91dF9zZWN0aW9uc19hZ2Fpbik6IExpa2V3aXNlLgoKMjAwMy0wMi0yMSAgQm9iIFdpbHNvbiAgPGJvYi53aWxzb25AYWNtLm9yZz4KCgkqIGdlbi1kb2MudGV4aTogU2V0IEFSTSBhbmQgSFBQQSB2YXJpYWJsZXMuCgkqIGxkLnRleGluZm86IEZpeCB0eXBvcyBhbmQgb2J2aW91cyB0ZXhpbmZvIG1pc3Rha2VzLiAgTWFrZSBzZWN0aW9uCgl0aXRsZSBjYXBpdGFsaXphdGlvbiBtb3JlIGNvbnNpc3RlbnQuICBBZGQgbWlzc2luZyBtZW51IGVudHJpZXMgZm9yCgltYWNoaW5lLXNwZWNpZmljIHNlY3Rpb25zIGFuZCBjb25kaXRpb25hbGl6ZSB0aGVtIGNvbnNpc3RlbnRseS4KCUNvbmRpdGlvbmFsaXplIHRleHQgdGhhdCBpcyBpcnJlbGV2YW50IHdoZW4gU2luZ2xlRm9ybWF0IGlzIHNldC4KCUFkZCBAZ3JvdXAgZGl2aXNpb25zIHRvIGltcHJvdmUgcGFnZSBicmVha3MgaW4gbG9uZyBleGFtcGxlcy4KCVVzZSBAaWZ0ZXgvQGlmbm90dGV4IGluc3RlYWQgb2YgQGlmdGV4L0BpZmluZm8gc28gdGhhdCBIVE1MIG91dHB1dAoJaXMgY29ycmVjdC4gIFJlbW92ZSAiRklYTUUiIGNvbW1lbnQgYWJvdXQgbm90IHVzaW5nCglAcmFpc2VzZWN0aW9ucy9AbG93ZXJzZWN0aW9ucy4gIFVzZSBAcmFpc2VzZWN0aW9ucy9AbG93ZXJzZWN0aW9ucwoJY29uc2lzdGVudGx5IGZvciBtYWNoaW5lLXNwZWNpZmljIHNlY3Rpb25zLiAgQ2hhbmdlIHRvIGJlIG1vcmUgcG9saXRlCglhYm91dCBwb29yIGJ1ZyByZXBvcnRzLiAgUmVwbGFjZSBGREwgYXBwZW5kaXggd2l0aCBpbmNsdWRlIG9mIGZkbC50ZXhpLgoJTW92ZSBXSU4zMiBub2RlIHRvIG1hdGNoIGl0cyBvcmRlciBpbiB0aGUgbWVudXMuCgkqIGZkbC50ZXhpOiBOZXcgZmlsZS4KCjIwMDMtMDItMjAgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluIChUQVJHRVRfU1lTVEVNX1JPT1QpOiBTZXQgZGVmYXVsdCB0bwoJJHtleGVjX3ByZWZpeH0vJHt0YXJnZXRfYWxpYXN9L3N5cy1yb290LiAgTWF0Y2ggZXhwbGljaXQKCScke2V4ZWNfcHJlZml4fScgKGluIGFkZGl0aW9uIHRvIHRoZSBleHBhbnNpb24gdGhlcmVvZikgYXMKCXJlbG9jYXRhYmxlLgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgoyMDAzLTAyLTIwICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBsZGdyYW0ueSAodmVyc19kZWZucyk6IEFsc28gcmVjdXJzZSB3aXRoICdFWFRFUk4gTkFNRScgcGF0dGVybnMuCgoyMDAzLTAyLTIwICBIYXJyaSBQb3J0ZW4gIDxwb3J0ZW5Aa2RlLm9yZz4KCgkqIGxkZ3JhbS55ICh2ZXJzX2RlZm5zKTogQWxsb3cgb3B0aW9uYWwgdHJhaWxpbmcgc2VtaWNvbG9uIGluCglFWFRFUk4gTkFNRSBibG9jazsKCjIwMDMtMDItMTggIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvcHBjMzJlbGYuZW06IE5ldyBmaWxlLgoJKiBlbXVscGFyYW1zL2VsZjMycHBjLnNoIChFWFRSQV9FTV9GSUxFKTogRGVmaW5lLgoJKiBNYWtlZmlsZS5hbSAoZWVsZjMybHBwYy5jKTogRGVwZW5kIG9uIGVtdWx0ZW1wbC9wcGMzMmVsZi5lbS4KCShlZWxmMzJscHBjbnRvLmMpOiBMaWtld2lzZS4KCShlZWxmMzJscHBjc2ltLmMpOiBMaWtld2lzZS4KCShlZWxmMzJwcGNudG8uYyk6IExpa2V3aXNlLgoJKGVlbGYzMnBwYy5jKTogTGlrZXdpc2UuCgkoZWVsZjMycHBjX2Zic2QuYyk6IExpa2V3aXNlLgoJKGVlbGYzMnBwY3NpbS5jKTogTGlrZXdpc2UuCgkoZWVsZjMycHBjbGludXguYyk6IExpa2V3aXNlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDMtMDItMTggIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBsZC50ZXhpbmZvOiBSZW1vdmUgc3BhY2VzIGJldHdlZW4gQHNhbXAgYW5kIG9wZW5pbmcgYnJhY2UuCgoyMDAzLTAyLTE4ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogZW11bHRlbXBsL3BwYzY0ZWxmLmVtIChwcGNfY3JlYXRlX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudHMpOiBDaGVjawoJaGFzaCBjcmVhdG9yLgoJKHBwY19iZWZvcmVfYWxsb2NhdGlvbik6IERvbid0IGRvIG9wdGltaXphdGlvbnMgaWYgd3JvbmcgaGFzaCB0YWJsZS4KCShnbGQke0VNVUxBVElPTl9OQU1FfV9maW5pc2gpOiBEaXR0by4KCjIwMDMtMDItMTcgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBsZG1haW4uYyAobWFpbikgRGVmYXVsdCBhbGxvd19zaGxpYl91bmRlZmluZWQgdG8gdHJ1ZS4KCSogbGV4c3VwLmMgKGxkX29wdGlvbnMpOiBBZGQgLS1uby1hbGxvdy1zaGxpYi11bmRlZmluZWQuCgkocGFyc2VfYXJncyk6IFBhcnNlIHRoZSBuZXcgc3dpdGNoLgoJKiBsZC50ZXhpbmZvOiBEb2N1bWVudCBuZXcgc3dpdGNoIGFuZCBkZWZhdWx0IGJlaGF2aW91ciBvZgoJYWxsb3dpbmcgdW5kZWZpbmVkIHN5bWJvbHMgaW4gc2hhcmVkIGxpYnJhcmllcy4KCjIwMDMtMDItMTEgRG1pdHJ5IERpa3kgIDxkaXdpbEBtYWlsLnJ1PgoKCSogc2NyaXB0dGVtcGwvZWxmMzJtc3A0MzAuc2M6IEFkZCBuZXcgZGF0YSBhbmNob3JzIGRlZmluaXRpb25zLgoJKiBzY3JpcHR0ZW1wbC9lbGYzMm1zcDQzMF8zLnNjOiBMaWtld2lzZS4KCjIwMDMtMDItMTEgIFV3ZSBTdGllYmVyICA8dXdlQHd3d3MuZGU+CgoJKiBjb25maWd1cmUudGd0OiBBZGQgc3VwcG9ydCBmb3Iga2FPUyBhcyBjcm9zcyBidWlsZCB0YXJnZXQKCXN5c3RlbS4KCjIwMDMtMDItMTAgIEpvaG4gRGFpdmlkIEFuZ2xpbiAgPGRhdmUuYW5nbGluQG5yYy1jbnJjLmdjLmNhPgoKCSogaHBwYWVsZi5lbSAoZ3JvdXBfc2l6ZSk6IENoYW5nZSBkZWZhdWx0IGJhY2sgdG8gMS4KCjIwMDMtMDItMDkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBlbXVsdGVtcGwvcHBjNjRlbGYuZW06IEFkZCAibm8tdGxzLW9wdGltaXplIiBvcHRpb24gYW5kIHN1cHBvcnQgY29kZS4KCjIwMDMtMDItMDcgIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZS5hbmdsaW5AbnJjLWNucmMuZ2MuY2E+CgoJKiBocHBhZWxmLmVtIChncm91cF9zaXplKTogQ2hhbmdlIGRlZmF1bHQgdG8gLTEuCgoyMDAzLTAyLTA3ICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogZW11bHRlbXBsL2FybWVsZi5lbSAoUEFSU0VfQU5EX0xJU1RfU0hPUlRPUFRTKTogUmVtb3ZlICduJyBzaG9ydAoJb3B0LgoJKFBBUlNFX0FORF9MSVNUX0xPTkdPUFRTKTogQWRkIGR1cGxpY2F0ZSBlbnRyeSBmb3IKCW5vLXBpcGVsaW5lLWtub3dsZWRnZS4gIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBnZXRvcHQgcGFja2FnZSBmcm9tCgl0aGlua2luZyB0aGF0IHRoZXJlIGFyZSBhbnkgc2hvcnRlciBhYmJyZXZpYXRpb25zIGZvcgoJLS1uby1waXBlbGluZS1rbm93bGVkZ2UuCgoyMDAzLTAyLTA3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGdlbnNjcmlwdHMuc2ggKExJQl9QQVRIKTogRG9uJ3QgYXBwZW5kIExJQlBBVEhfU1VGRklYIHRvIHBhdGhzCgl3aGljaCBhbHJlYWR5IGhhdmUgaXQuICBBdm9pZCBkdXBsaWNhdGVzLgoKMjAwMy0wMi0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbXVscGFyYW1zL2VsZjY0X3MzOTAuc2ggKExJQlBBVEhfU1VGRklYKTogU2V0IHRvIDY0LgoJKiBlbXVscGFyYW1zL2VsZl94ODZfNjQuc2ggKExJQlBBVEhfU1VGRklYKTogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmNjRfc3BhcmMuc2ggKExJQlBBVEhfU1VGRklYKTogU2V0IGluc3RlYWQgb2Ygc3VmZml4LgoKMjAwMy0wMi0wNSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWx0ZW1wbC9wcGM2NGVsZi5lbSAocHBjX2JlZm9yZV9hbGxvY2F0aW9uKTogU2l6ZSBzZWN0aW9ucyB0aGVuCgljYWxsIHBwYzY0X2VsZl90bHNfb3B0aW1pemUuCgoyMDAzLTAyLTAzICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbTogTW92ZSBnbGQke0VNVUxBVElPTl9OQU1FfV9hZGRfc3lzcm9vdAoJb3V0c2lkZSBvZiBHTlUvTGludXggY29uZGl0aW9uYWwuCgoyMDAzLTAxLTI4ICBSYWxmIEhhYmFja2VyICA8cmFsZi5oYWJhY2tlckBmcmVlbmV0LmRlPgoKCSogZGVmZmlsZXAueSAoZGVmX2dldF9tb2R1bGUpOiBOZXcgZnVuY3Rpb246IGxvY2F0ZSBhbiBhbHJlYWR5CglhZGRlZCBtb2R1bGUuCgkqIGRlZmZpbGUuaCAoZGVmX2dldF9tb2R1bGUpOiBOZXcgcHJvdG90eXBlLgoJKiBwZS1kbGwuYyAocGVfaW1wbGllZF9pbXBvcnRfZGxsKTogQWRkIGNvZGUgdG8gcHJldmVudCBpbXBvcnRpbmcKCWEgZGxsIG11bHRpcGxlIHRpbWVzLgoKMjAwMy0wMS0yMyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGVtdWx0ZW1wbC9zaDY0ZWxmLmVtOiBJbmNsdWRlIGVsZjMyLXNoNjQuaC4KCShzaDY0X2VsZl8ke0VNVUxBVElPTl9OQU1FfV9iZWZvcmVfYWxsb2NhdGlvbik6IEFkanVzdCBmb3IgY2hhbmdlZAoJc2g2NF9lbGZfc2VjdGlvbl9kYXRhLgoJKHNoNjRfZWxmXyR7RU1VTEFUSU9OX05BTUV9X2FmdGVyX2FsbG9jYXRpb24pOiBMaWtld2lzZS4KCjIwMDMtMDEtMjMgIFd1IFlvbmd3ZWkgIDxhZGFoQG5ldHN0ZC5jb20+CgoJKiBsZC50ZXhpbmZvOiBSZW1vdmUgYW4gZXh0cmEgImkiIGluIC0tZGxsLXNlYXJjaC1wcmVmaXguCgkqIGVtdWx0ZW1wbC9wZS5lbSAoZ2xkXyR7RU1VTEFUSU9OX05BTUV9X2xpc3Rfb3B0aW9ucyk6IE1vdmUgYQoJY3Jvc3MtODB0aC1jb2x1bW4tbWFyZ2luICJhbiIgdG8gdGhlIG5leHQgbGluZS4KCjIwMDMtMDEtMjEgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBlbXVscGFyYW1zL3RpYzN4Y29mZi1vbmNoaXAuc2g6IFJlbmFtZSB0byAuLi56CgkqIGVtdWxwYXJhbXMvdGljM3hjb2ZmX29uY2hpcC5zaDogLi4udGhpcy4KCSogTWFrZWZpbGUuYW0gKGV0aWMzeGNvZmZfb25jaGlwLmMpOiBGaXggbmFtZSBvZiBnZW5lcmF0ZWQgQyBmaWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDMtMDEtMjEgIEZhYmlvIEFsZW1hZ25hICA8ZmFsZW1hZ25AYXJvcy5vcmc+CgoJKiBjb25maWd1cmUudGd0OiBIYW5kbGUgaVszNDU2XTg2LSotYXJvcyoKCjIwMDMtMDEtMTkgIFN2ZWluIEUuIFNlbGRhbCAgPFN2ZWluLlNlbGRhbEBzb2xpZGFzLmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBldGljM3hjb2ZmLm8gYW5kIGV0aWM0eGNvZmZfb25jaGlwLm8KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUKCSogY29uZmlndXJlLnRndDogQWRkZWQgZXh0cmEgdGFyZ2V0IGVtdWxhdGlvbnMKCSogZW11bHBhcmFtcy90aWMzeGNvZmYuc2g6IFJlbW92ZSBvbGQgc2V0dGluZ3MKCSogZW11bHBhcmFtcy90aWM0eGNvZmYuc2g6IERpdHRvCgkqIGVtdWxwYXJhbXMvdGljM3hjb2ZmLW9uY2hpcC5zaDogQWRkZWQgbmV3CgkqIHNjcmlwdHRlbXBsL3RpYzR4Y29mZi5zYzogUmV2aXNlIGFuZCBjb21iaW5lIGJvdGggYzN4IGFuZCBjNHgKCSogc2NyaXB0dGVtcGwvdGljM3hjb2ZmLnNjOiBSZW1vdmUKCjIwMDMtMDEtMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVtdWx0ZW1wbC9lbGYzMi5lbSAoZ2xkJHtFTVVMQVRJT05fTkFNRX1fYWRkX3N5c3Jvb3QpOiBEbyBub3QKCXNraXAgJzonLgoKMjAwMy0wMS0xNiAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMi0wMS0xNCAgQ2hhcmxlcyBXaWxzb24gIDxjd2lsc29uQGVjZS5nYXRlY2guZWR1PgoKCSogbGQudGV4aW5mbyAobm9kZSBXSU4zMik6IFNvbWUgY2xhcmlmaWNhdGlvbnMKCWFuZCBmb3JtYXR0aW5nIGZpeHVwcy4KCjIwMDMtMDEtMDkgIENocmlzIERlbWV0cmlvdSAgPGNnZEBicm9hZGNvbS5jb20+CgoJKiBsZG1haW4uYyAoZ2V0X2VtdWxhdGlvbik6IFNvcnQgLW1pcHNOTiBjaGVja3MgaW4gdGhlIHVzdWFsCglvcmRlciwgYW5kIGhhbmRsZSAoaWdub3JlKSAtbWlwczMycjIuCgoyMDAzLTAxLTA5ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCgkqIGxkbWFpbi5jIChtYWluKTogTWFrZSBzdXJlIGxkX3N5c3Jvb3QgaXMgaW5pdGlhbGl6ZWQuCgoyMDAzLTAxLTA2ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCgkqIE1ha2VmaWxlLmFtIChlZWxmMzJpcTEwLmMpOiBGaXggdGFiL3doaXRlc3BhY2UgbWl4dXAuCgoJKiBNYWtlZmlsZS5hbSAobGRtYWluLm8pOiBBZGQgQFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkVALgoJKEdFTlNDUklQVFMpOiBBZGQgQHVzZV9zeXNyb290QC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoJKiBjb25maWd1cmUuaG9zdDogTW92ZSBzZXR0aW5nIG9mIE5BVElWRV9MSUJfRElSUyB0by4uLgoJKiBjb25maWd1cmUudGd0OiAuLi4gaGVyZS4gIFVzZSAke3RhcmdldH0gaW5zdGVhZCBvZiAke2hvc3R9Cglmb3IgTkFUSVZFX0xJQl9ESVJTLgoJKiBjb25maWd1cmUuaW46IEFkZCAtLXdpdGgtc3lzcm9vdC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCSogZ2Vuc2NyaXB0cy5zaDogQWNjZXB0IHVzZV9zeXNyb290IG9wdGlvbi4gIFNldCBuZXcgdmFyaWFibGVzCglOQVRJVkUgYW5kIFVTRV9MSUJQQVRILiAgUHJlcGVuZCAiPSIgdG8gZGlyZWN0b3J5IG5hbWVzIGlmCgkkdXNlX3N5c3Jvb3QuICBEb24ndCBzZWFyY2ggJHRvb2xfbGliIGlmICR1c2Vfc3lzcm9vdC4KCSogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogSGFuZGxlIGxlYWRpbmcgJz0nLgoJKiBsZG1haW4uYyAoVEFSR0VUX1NZU1RFTV9ST09UKTogRGVmaW5lIGlmIG5vdCBkZWZpbmVkLgoJKGxkX3N5c3Jvb3QpOiBOZXcgdmFyaWFibGUuCgkobWFpbik6IEluaXRpYWxpemUgbGRfc3lzcm9vdC4KCSogbGRtYWluLmggKGxkX3N5c3Jvb3QpOiBOZXcgZXh0ZXJuLgoJKiBlbXVsdGVtcGwvZWxmMzIuZW06IFVzZSBOQVRJVkUgYW5kIFVTRV9MSUJQQVRIIGluc3RlYWQgb2YKCXNlYXJjaGluZyAkRU1VTEFUSU9OX0xJQlBBVEguCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fYWRkX3N5c3Jvb3QpOiBOZXcgZnVuY3Rpb24uCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fY2hlY2tfbGRfc29fY29uZik6IFVzZSBpdC4gIEhvbm9yIGxkX3N5c3Jvb3QuCgkoZ2xkJHtFTVVMQVRJT05fTkFNRX1fYWZ0ZXJfb3Blbik6IExpa2V3aXNlLiAgT25seSBzZWFyY2gKCWVudmlyb25tZW50IHZhcmlhYmxlcyBpZiAkTkFUSVZFLgoJKiBsZC50ZXhpbmZvIChPcHRpb25zKTogTWVudGlvbiAiPSIgcHJlZml4IGluIHRoZSBkZXNjcmlwdGlvbiBvZiAtTC4KCSogTkVXUzogTWVudGlvbiAtLXdpdGgtc3lzcm9vdC4KCgkqIGVtdWxwYXJhbXMvZWxmMzJibWlwbjMyLWRlZnMuc2g6IFNldCBOQVRJVkUgYW5kIExJQlBBVEhfU1VGRklYCglpbnN0ZWFkIG9mIHNldHRpbmcgTElCX1BBVEguCgkqIGVtdWxwYXJhbXMvZWxmMzJwcGMuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0X3MzOTAuc2g6IExpa2V3aXNlLgoJKiBlbXVscGFyYW1zL2VsZjY0X3NwYXJjLnNoOiBMaWtld2lzZS4KCSogZW11bHBhcmFtcy9lbGY2NHBwYy5zaDogTGlrZXdpc2UuCgkqIGVtdWxwYXJhbXMvZWxmX3g4Nl82NC5zaDogTGlrZXdpc2UuCgoJKiBlbXVscGFyYW1zL2VsZjY0X2FpeC5zaDogQWRkICI9IiBwcmVmaXhlcyB0byBMSUJfUEFUSC4KCSogZW11bHBhcmFtcy9lbGY2NGhwcGEuc2g6IEFkZCAiPSIgcHJlZml4ZXMgdG8gTElCX1BBVEguCgoyMDAzLTAxLTAzICBDaGFybGVzIFdpbHNvbiAgPGN3aWxzb25AZWNlLmdhdGVjaC5lZHU+CgoJKiBwZS1kbGwuYyAoYXV0b2ZpbHRlcl9zeW1ib2xsaXN0KTogQWRkIGN5Z3dpbl9jcnQwLgoKMjAwMy0wMS0wNCAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgoJKiBNYWtlZmlsZS5hbSAobGRtYWluLm8pOiBQYXNzIEJJTkRJUi4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoJKiBsZG1haW4uYyAoc2V0X3NjcmlwdHNfZGlyKTogVXNlIG1ha2VfcmVsYXRpdmVfcHJlZml4IGZvciB0aGUgZmlyc3QKCXNlYXJjaCBwYXRoLgoKMjAwMy0wMS0wMiAgQmVuIEVsbGlzdG9uICA8YmplQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbSAoQUxMX0VNVUxBVElPTlMpOiBBZGQgZWVsZjMyaXEyMDAwLm8uCgkoZWVsZjMyaXEyMDAwLmMpOiBOZXcgdGFyZ2V0LgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLnRndDogSGFuZGxlIGlxMjAwMC0qLWVsZi4KCSogZW11bHBhcmFtcy9lbGYzMmlxMTAuc2g6IE5ldyBmaWxlLgoJKiBlbXVscGFyYW1zL2VsZjMyaXEyMDAwLnNoOiBOZXcgZmlsZS4KCSogc2NyaXB0dGVtcGwvaXEyMDAwLnNjOiBOZXcgZmlsZS4KCjIwMDMtMDEtMDIgQ2hhcmxlcyBXaWxzb24gPGN3aWxzb25AZWNlLmdhdGVjaC5lZHU+CgoJKiBwZS1kbGwuYyAoYXV0b2ZpbHRlcl9zeW1ib2xsaXN0KTogQWRkIGRvX3BzZXVkb19yZWxvYwoJYW5kIF9wZWkzODZfcnVudGltZV9yZWxvY2F0b3IgdG8gdGhlIGV4Y2x1ZGUgbGlzdC4KCjIwMDMtMDEtMDEgIEthenUgSGlyYXRhICA8a2F6dUBjcy51bWFzcy5lZHU+CgoJKiBsZGZpbGUuYzogRml4IGNvbW1lbnQgdHlwb3MuCgkqIGxkbGFuZy5jOiBMaWtld2lzZS4KCSogbXJpLmM6IExpa2V3aXNlLgoJKiBwZS1kbGwuYzogTGlrZXdpc2UuCgoyMDAzLTAxLTAxICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCglTdWdnZXN0ZWQgYnkgTWFuZnJlZCBIb2xsc3RlaW4gPG1hbmZyZWQuaEBnbXgubmV0PjoKCSogTWFrZWZpbGUuYW0gKGxkLjEpOiBEZXBlbmQgb24gY29uZmlnZG9jLnRleGkKCWFuZCBsZHZlci50ZXhpLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgpGb3Igb2xkZXIgY2hhbmdlcyBzZWUgQ2hhbmdlTG9nLTAwMDEKDApMb2NhbCBWYXJpYWJsZXM6Cm1vZGU6IGNoYW5nZS1sb2cKbGVmdC1tYXJnaW46IDgKZmlsbC1jb2x1bW46IDc0CnZlcnNpb24tY29udHJvbDogbmV2ZXIKRW5kOgo=