cGFydHkgKENhdHdlYXpsZSwgIDIuIE1haSAxOTk1LCAxMDozODo1NSk6CkhtLCBpY2gga2FubnMgamEgZWlnZW50bGljaCBtYWwgb2ZmaXppZWxsIGhpZXIgcmVpbnNjaHJlaWJlbi4KRnVlciBhbGxlIGRpZSBlcyBub2NoIG5pY2h0IHdpc3NlbjogRGllIG5hZWNoc3RlIE11ZC1QYXJ0eSBpc3QKdWVicmlnZW5zIGFtIDE5LiBBdWd1c3QgOikKCllvdXJzIHRydWx5LAogICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhcnR5IChTY2hydW1wZmksICAyLiBNYWkgMTk5NSwgMjE6Mjc6MDQpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzk5NDAzOTM1CkRlbmsgYW4gZGVuIFdlaW4gQ2F0LCBzb25zdCBtdXNzIGljaCB3aWVkZXIgbWl0IG5lbSBzdGlua2VuZGVuIFNjaG5hcmNoIGluCmVpbmVtIFp1Z2FidGVpbCAgbmFjaCBIYXVzZSBmYWhyZW4hISA7LSkgSW1tZXJoaW4gc2luZCBkYXMgdWViZXIgMTAgU3R1bmRlbgpGYWhydHplaXQuIDotKQpTY2hydW1wZmkgZGVyZW4gR2VydWNoc3Npbm5lIG5vY2ggaW1tZXIgZXR3YXMgdGF1YiBzaW5kLiA6LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHkgKFNpbHZhbmEsICA3LiBNYWkgMTk5NSwgMTI6MTc6NDEpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzk5NDAzOTM1CldpZSBiaXR0ZSwgQ2F0PwpEaWVzZXMgbWFsIG51ciBlaW5lbiBUYWc/IERhcyBpc3QgZG9jaCBuaWNodCBEZWluIEVybnN0LCBvZGVyPwpTaWx2YW5hIC0gYmVzdHVlcnp0ICAgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBhcnR5IChDYXR3ZWF6bGUsICA4LiBNYWkgMTk5NSwgMTg6MTc6MDkpOgojISBybj1TaWx2YW5hIHJ0PTc5OTg0MTg2MQpEZXIgMTkuIGlzdCBuYXR1ZXJsaWNoIFRhZyBkZXIgZWlnZW50bGljaGVuIFBhcnR5LCBhbHNvIGVpbiBTYW1zdGFnLgpTb25zdCBpc3NlcyBuYXR1ZXJsaWNoIHZvbSAxOC4tMjAuIEF1Z3VzdC4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHkgKEZlbGFndW5kLCAyNi4gTWFpIDE5OTUsIDEwOjE1OjIzKToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5OTQwMzkzNQpNdXNzIGRhcyBzZWluPz8/CkljaCBrb25udGUgc2Nob24genVyIGxldHp0ZW4gUGFydHkgbmljaHQgdW5kIGJpbiB2b20gNC5iaXMgMjAuIGF1Z3VzdCBpbgpVcmxhdWIuLi5iaXR0ZWJpdHRlYml0dGUgbmljaHQgZGVyIDE5LiEhISEhCm1pdCBUcmFlbmVuIGluIGRlbiBBdWdlbi4uLkZlbGEgOygKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJ0eSAoRHVyaWFuLCAyNi4gTWFpIDE5OTUsIDExOjMzOjQyKToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5OTQwMzkzNQpBIHByb3Nwb3MgUGFydHkgLi4uCgpXbyBiaXR0ZSBpc3QgZGFzIEJyZXR0PyBJY2ggd3VlcmRlIG1pY2ggZ2VybmUgYW5tZWxkZW4gLi4uIDotKQoKLSBEdXJpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxlZXIgKENhdHdlYXpsZSwgMzEuIE1haSAxOTk1LCAxMDozNTowMSk6ClNvIQpJbiBhbHRlciBUcmFkaXRpb24gaGFiIGljaCBtYWwgd2llZGVyIGRhcyBQYXJ0eWJyZXR0IGF1ZmdlcmFldW10LgpZb3VycyB0cnVseSwKICAgICAgICBDYXR3ZWF6bGUgICp3aXNzZW5kIGdyaW5zZW5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIFBhcnR5dGVybWluISAoQ2F0d2VhemxlLCAxMy4gSnVuIDE5OTUsIDEzOjUyOjI2KToKSGkhClRqYSwgc28gd2llcyBhdXNzaWVodCBrbGFwcHQgZGVyIDE5LiBBdWd1c3QgbmljaHQgYWxzIFBhcnR5dGVybWluLCBkYQphbiBkaWVzZW0gV29jaGVuZW5kZSB2aWVsIFNlbWluYXJ2b3J0cmFnZW5kZSBuaWNodCBrb2VubmVuLiBEYWhlciB3aXJkIGRlcgpUZXJtaW4gYXVmIGVpbmUgV29jaGUgdm9ydmVybGVndCwgYWxzbyBkYXMgV29jaGVuZW5kZSAxMS4tMTMuIEFVZ3VzdCwKbWl0IGRlciBQYXJ0eSBhbSAxMi4KSGF2ZSBmdW4KWW91cnMgdHJ1bHksCiAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERlciBQYXJ0eXRlcm1pbiEgKENyZWF0aXZlLCAxMy4gSnVuIDE5OTUsIDE4OjMyOjA3KToKIyEgcm49RmVsYWd1bmQgcnQ9ODAzMDU4MzgzCgpTRU5GIE9OCk1hbiBrYW5uIGVzIGRvY2ggc293aWVzbyBrZWluZW0gUmVjaHQgbWFjaGVuLCBpY2gga2VubiBkYXMgc2Nob24gdm9uIGRpdi4KTGluei1WZXJzdWNoZW4uLi4KKnNldWZ6KiBpcmdlbmR3ZXIgV0lSRCBxdWFzaSBuaWNodCBrb21tZW4ga29lbm5lbi4gRmluZGV0IGV1Y2ggZGFtaXQgYWIuClRyb3R6ZGVtIGZpbmQgaWNoIGVzIHNjaGFkZSwgZGFzcyBkaXYuIExldXRlIG5pY2h0IGtvbW1lbiBrb2VubmVuLApkaWUgaWNoIHBlcnMuIGdlcm4ga2VubmVuZ2VsZXJudCBoYWV0dGUuCm5hamEsIHdhcyBzb2xscywgTUcgbGVidCB3ZWl0ZXIsIFBhcnRpZXMgZWJlbmZhbGxzLgpXZW5uIE1HIHNjaG9uIHNvIGxhbmcgYmVzdGVodCwgZ2lidHMgYXVjaCBsYWVuZ2VyIG5vY2ggZWluIE1HLgpTRU5GIE9GRgoKLUNyZWEtIGlzdCBmdWVyIGVpbmVuIFRlcm1pbiwgYW4gZGVtIEFMTEUga29lbm5lbiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciBQYXJ0eXRlcm1pbiEgKFlhbnRybywgMTQuIEp1biAxOTk1LCAwNzo0OTowNSk6CiMhIHJuPVB1bWEgcnQ9ODAzMDUwMjQ4CgpJY2gga2FubiBkYSBtZWluZW4gRGFkZHkgbnVyIFJlY2h0IGdlYmVuISBEZW5rdCBldWNoLCBlcyBzb2xsIHdpcmtsaWNoIGF1Y2gKTGV1dGUgZ2ViZW4sIGRpZSB3ZWdlbiBkZXIgUGFydHkgenVyIFBhcnR5IGtvbW1lbiB3b2xsZW4gdW5kIG5pY2h0LCB1bSBzaWNoCmVpbiBTZW1pbmFyIGFuaG9lcmVuIHp1IGtvZW5uZW4uIERlbW5hY2ggZmluZGUgaWNoIGRpZSBCZWdydWVuZHVuZyB6aWVtbGljaApkYW5lYmVuLCBDYXR0eWxlaW4uCgpFaW4gR2VnZW52b3JzY2hsYWcgd2FlcmUgZXMsIHdlbm4gZGFzIFNlbWluYXIgYXVmIGRhcyBXRSB2b20gMTEtMTMuCnZlcnNjaG9iZW4gd2lyZCB1bmQgZGFubiBmdWVyIGRpZSBTZW1pbmFybGluZ2Ugdm9uIG1pciBhdXMgZWluZSBrbGVpbmUKJ3ZvcnBhcnR5JyBnZW1hY2h0IHdpcmQgKGFsc28gZWluZSBPSE5FIGlyZ2VuZGVpbmVuIEF1ZndhbmQgOy0pICkuCgpEZW5rdCBub2NobWFsIGRydWViZXIgbmFjaCwgZGVubiBlcyBnaWJ0IExldXRlLCBkaWUgaWhyZSBnZXNhbXRlClVybGF1YnNwbGFudW5nIGF1ZiBkZW4gJ2FsdGVuJyBUZXJtaW4gYWJnZXN0aW1tdCBoYWJlbi4KCm1hbmNobWFsIGF1Y2ggWVQuLi4uIFlhbnRybzopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEZXIgUGFydHl0ZXJtaW4hIChPcmt0b2V0ZXIsIDE0LiBKdW4gMTk5NSwgMTM6MjE6MzkpOgojISBybj1DcmVhdGl2ZSBydD04MDMwNjExMjcKRWluZW4gVGVybWluIGFuIGRlbSBhbGxlIGtvZW5uZW4gd2lyZCBlcyB3b2hsIG5pY2h0IGdlYmVuLCBDcmVhLgpCbGVpYmVuIDIgTW9lZ2xpY2hrZWl0ZW4sIDEuIERlciBlaW5tYWwgdm9yZ2VnZWJlbmUgVGVybWluIGJsZWlidAoyLiBXZW5uIENhdCogc2ljaCB3aXJrbGljaCBkaWUgTXVlaGUgbWFjaGVuIHdpbGwgKCA6KSApIGRhbm4ga2FubiBlciBqYSBlaW5lClVtZnJhZ2Ugc3RhcnRlbiwgd2FubiBkZW5uIGRlciBXdW5zY2h0ZXJtaW4gZnVlciBqZWRlbiBlaW56ZWxuZW4gaXN0ICh2aWxlaWNodApzb2dhciBtaXQgIk5FSU4sYW4gZGllc2VtIFRhZyBrYW5uIGljaCB1ZWJlcmhhdXB0IG5pY2h0IiApIHVuZCBlcyBkYW5uCkF1c3dlcnRlbi4uLi4KV2ljaHRpZyBpc3QgZG9jaCwgZGFzIGRlcmplbmlnZSwgZGVyIGFsbGVzIG9yZ2FuaXNpZXJ0IGFuIGRlbiBUYWdlbiBrYW5uIHVuZApkYXMgZXIgZnVlciBkaWVzZSB2ZXJhbnN0YWx0dW5nIGF1Y2ggbm9jaCBkaWUgZW50c3ByZWNoZW5kZW4gUmFldW1saWNoa2VpdGVuCmJlc29yZ2VuIGthbm4uLi4KU2ljaCB3dWVuc2NoZW5kIGRhcyBlcyBlaW5lbiBUZXJtaW4gZ2FlYmUsIGFuIGRlbSBhbGxlIGRpZSB3b2xsdGVuIGF1Y2gKa29lbm50ZW4sIGFiZXIgd2lzc2VuZCBkYXMgZGFzIElsbHVzb3Jpc2NoIGlzdCwgIE9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgJiBTZW1pbmFyIChHcmltbWJvcm4sIDE0LiBKdW4gMTk5NSwgMTY6NTE6MzcpOgojISBybj1IYXRlIHJ0PTgwMzEzMzAxNAoKUmVjaHQgaGF0dGVyLCB1bnNlciBIYXRlLiBEYXMgbWl0IGRlbiBQcmFlZmVyZW56ZW4gaXN0IGVpbmRldXRpZyByaWNodGlnLgpVbmQgYXVzIGdlbmF1IGRpZXNlbSBHcnVuZCBwbGFlZGllcmUgaWNoIGZ1ZXIgZWluIE5pY2h0dmVybGVnZW4gbmFjaCB2b3JuZS4KRGVyIFBhcnR5IHdlZ2VuIHdhZXJzIG1pciBqYSBlZ2VsIChoYWx0IHdpZWRlciBuZSBQYXJ0eSBvaG5lIG1pY2gsIG5hIHVuZD8KS2FubiBkaWUgUGFydHkgbnVyIGJlaSBnZXdpbm5lbi4uLiksIGFiZXIgZGFzIFNlbWluYXIgaGFldHRlIGljaCBnZXJuZQptaXRnZW1hY2h0LgpOdXIsIG9obmUgVm9ydHJhZ2VuZGUga2VpbiBTZW1pbmFyLCBrbGFyZXIgRmFsbC4gTnVuIGphLCBtYW4gd2lyZCBzZWhlbi4uLgoqc2V1ZnoqCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZXIgUGFydHl0ZXJtaW4hIChEdXJpYW4sIDE1LiBKdW4gMTk5NSwgMTA6MTY6MjIpOgojISBybj1DYXR3ZWF6bGUgcnQ9ODAzMDQ0MzQ2CkRhcyBpc3QgamV0enQgYWJlciBlY2h0IGRhcyBMRVRaVEUhISEhIE1hbm5vbWFubiwgc2VpdCBCZXN0ZWhlbiBkZXIgTVVELQpQYXJ0eSB2ZXJzdWNoZSBpY2ggZXMgenUgZXJyZWljaGVuLCBkYXNzIG1laW5lIEZyZXVuZGluIChLcmFua2Vuc2Nod2VzdGVyKQphdWNoIG1hbCBtaXRrb21tZW4ga2FubiAuLi4gamV0enQgd3Vzc3RlIGljaCBkZW4gVGVybWluIHNjaG9uIHNlaHIgZnJ1ZWgsCnVuZCBlcyBoYXQgZW5kbGljaCBnZWtsYXBwdC4gVU5EIEpFVFpUIERBUyEgRGFzIGlzdCBlY2h0IHNjaCAuLi4gZW50d2VkZXIKZGVyIFRlcm1pbiBzdGVodCBvZGVyIG5pY2h0ISEKCnN0aW5raWcsCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGVyIFBhcnR5dGVybWluISAoQm9pbmcsIDE1LiBKdW4gMTk5NSwgMTI6Mzg6MjgpOgojISBybj1HcmltbWJvcm4gcnQ9ODAzMjA5MzE3CkVyIHN0YW5kIGVpZ2VudGxpY2ggc2Nob24gc2VociBmcnVlaCBmZXN0LCAxOS4gQXVndXN0LiBXZW5uIG1hbiBlaW5lbgpUZXJtaW4gc28gZnJ1ZWggYW5rdWVuZGlndCwgc29sbHRlIG1hbiBpaG4gYXVjaCBiZWliZWhhbHRlbi4gSmV0enQgbXVlc3Nlbgp2aWVsZSBMZXV0ZSB3aWVkZXIgZGllIGdhbnplIFBsYW51bmcgdW1zY2htZWlzc2VuIChzb2Zlcm4gZGFzIHVlYmVyaGF1cHQKbm9jaCBtb2VnbGljaCBpc3QpLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoyIFZvciwgMiBadXJ1ZWNrLCBlaW5lIGZhbGxlbiBsYXNzZW4gKEJvaW5nLCAxNS4gSnVuIDE5OTUsIDEyOjM5OjIzKToKW1ZlcmxlZ3Qgdm9uIHNjaG1hcnJuLCBDYXR3ZWF6bGUsIDE0LiBKdW4gMTk5NSwgMTk6MzY6NDFdOgpJY2ggd3Vzc3RlIGVzIQpJY2ggS0FOTlMgRXVjaCBkb2NoIG5pY2h0IGFsbGVuIFJlY2h0IG1hY2hlbi4KVmVybGVnZW4gbXVzcyBoYWx0IHNlaW4sIHdlaWwgZGFzIFNlbWluYXIgbmljaHQgenVyIFBhcnR5IHBhc3N0IHVuZCBpY2gKZmluZGUgZGFzIGlzdCBzY2hvbiBleHRyZW0gd2ljaHRpZy4KT2Igdm9ydmVybGVnZW4gb2RlciBuYWNodmVybGVnZW4gaXN0IGF1Y2ggemllbWxpY2ggc2NobnVyemUsIGRhIGFuIGRlbSBlaW5lbgpUZXJtaW4gZ2VuYXVzb3ZpZWxlIG5pY2h0IGtvZW5uZW4gd2llIGFuIGRlbSBhbmRlcmVuLiBVbmQgYmV2b3IgaWNoIGpldHp0CmhpZXIgcmllc2lnZSBVbWZyYWdlbiBzdGFydGUsIHNhZyBpY2ggbGllYmVyIFZPUnZlcmxlZ2VuLiBGZXR0aWNoLgpEZXIgMTIuIGlzdCBoYWx0IG5hZWhlciBhbSBTZW1lc3RlciwgdW5kIG5pY2h0IE1JVFRFTiBpbiBkZW4gRmVyaWVuLCBzbyBkYXMKYmVpIG1laHIgTGV1dGVuIGRpZSBXYWhyc2FjaGVpbmxpY2hrZWl0IGJlc3RlaHQsIGRhcyBzaWUgbm9jaCBuaWNodCB3ZWcgc2luZC4KRGFzIEFyZ3Vubm1lbnQgbWl0IGRlbSBVcmxhdWcgemllaHQgZGEgZ2xldWIgaWNoIHZlcmRhbW10IGd1dC4gU28gbGVpZAplcyBtaXIgdHV0IGZ1ZXIgZGllIExldXRlIGRpZSBhbiBkZW0gVGVybWluIG5pY2h0IGtvZW5uZW4sIGljaCB3ZXR0ZSwgd2VubgppY2ggamV0enQgc2FnZW4gd3VlcmRlLCAnb2tvaywgZGFubiBoYWx0IDI2Licga3JpZWcgaWNoIHdpZWRlciBnZW5hdXNvdmllbApHZXNjaHJlaSB2b24gZGVuZW4sIGRpZSBhbiBERU0gVGVybWluIG5pY2h0IGtvZW5uZW4uCkRlciBlaW56aWdlIEhha2VuLCBkZXIgdWVicmlnIGJsZWlidCwgaXN0IGRhcyB3aXIga2VpbmVuIFBhcnR5cmF1bSB6dW0gMTIuCmtyaWVnZW4sIGRhbm4gd2lyZHMgdmllbGxlaWNodCBkb2NoIG5vY2ggc3BhZXRlciwgYWJlciBpY2ggaGFiZSBkYSBub2NoIGd1dGUKSG9mZm51bmdlbi4KWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlIChibGVpYnQgYmVpbSAxMi4gYWxzIFBhcnR5dGVybWluKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5dm9yYmVzcHJlY2h1bmcgKEJvaW5nLCAxNS4gSnVuIDE5OTUsIDEyOjM5OjM1KToKW1ZlcmxlZ3Qgdm9uIHNjaG1hcnJuLCBDYXR3ZWF6bGUsIDE0LiBKdW4gMTk5NSwgMTk6NDE6MzNdOgpIaSEKRGllIGVyc3RlIFBhcnR5dm9yYmVzcHJlY2h1bmcgZmluZGV0IGFtIDE5LjA2LiBzdGF0dCB1bmQgendhciBpbSBMaWNodGhvZgppbSA2LiBTdG9jayBkZXIgTWF0aGUgKGFlaCwgaG9mZiBpY2ggenVtaW5kZXN0LCBqb2YgOi0pKS4gU2FnZW4gd2lyIG1hbAoxOTowMCBVaHIuIEljaCBob2ZmZSBkYXMgaXN0IG5pY2h0IHp1IGtuYXBwLgpLT21tdCBhbGxlIHphaGxyZWljaCB1bmQgaGVsZnQsIHNvbnN0IHdpcmQgZGFzIHNvd2llc28gbml4IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDIgVm9yLCAyIFp1cnVlY2ssIGVpbmUgZmFsbGVuIGxhc3NlbiAoQm9pbmcsIDE1LiBKdW4gMTk5NSwgMTI6Mzk6NDYpOgojISBybj1DYXR3ZWF6bGUgcnQ9ODAzMTUxNDAxCltWZXJsZWd0IHZvbiBzY2htYXJybiwgSm9mLCAxNC4gSnVuIDE5OTUsIDIwOjAxOjA1XToKIFN0ZWxsZW4gd2lyIGRvY2ggbmUgV2FobHVybmUgYXVmIC0ga2VpbiBQcm9ibGVtLiBWaWVsZSBmYWhyZW4gYW0gQW5mYW5nCmRlcyBTZW1lc3RlcnMgZnVlciBlaW4gcGFhciBXb2NoZW4gd2VnIHVuZCBzaW5kIGRhbmFjaCB3aWVkZXIgZGEgLi4uCgogSm9mCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDIgVm9yLCAyIFp1cnVlY2ssIGVpbmUgZmFsbGVuIGxhc3NlbiAoQm9pbmcsIDE1LiBKdW4gMTk5NSwgMTI6NTQ6NDcpOgojISBybj1Cb2luZyBydD04MDMyMTI3NjMKQWxzbyBEdSBrYW5uc3QgRGljaCBlY2h0IG5pY2h0IGJlc2Nod2VyZW4sIHdlbm4gbWFuIGVpbmVuIFRlcm1pbiwKZGVyIHNjaG9uIGxhbmdlIGZlc3RzdGVodCBrdXJ6ZnJpc3RpZyB2ZXJsZWd0LCBkYW5uIG11c3MgbWFuIGRhbWl0CnJlY2huZW4sIGRhc3Mgc2ljaCBlaW5pZ2UgTGV1dGUgYXVmcmVnZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVyIFBhcnR5dGVybWluISAoR3JpbW1ib3JuLCAxNS4gSnVuIDE5OTUsIDE5OjIzOjA4KToKIyEgcm49U251Z2dsZSBydD04MDMyMjUyMjgKCklociByYWZmdHMgbmljaHQsIG5laW4/IEdydW5kc2FldHpsaWNoIGlzdCBtYW4gc2ljaCByZWxhdGl2IGVpbmlnOiBTZW1pbmFyClVORCBQYXJ0eSB6dXNhbW1lbi4gVW5kIGRhcyBmaW5kZSBpY2ggdmVyZGFtbXQgZ3V0LgpVbmQgZGFtaXQgaXN0IGRlciAxOS4gR0VTVE9SQkVOLCBkYXMgaXN0IGdhciBuaWNodCBtZWhyIERpc2t1c3Npb24uIFJlZ3QgZXVjaApkb2NoIGF1ZiwgZGFzcyBkYSBlaW4gVGVybWluIHVtZ2VzY2htaXNzZW4gd3VyZGUuIE5hIHVuZD8gU2VodHMgc29ydW06IERlcgpUZXJtaW4gd3VyZGUgenUgZnJ1ZWggdW5kIG9obmUgQWJzcHJhY2hlIGxhbmNpZXJ0LgpKZXR6dCBpc3QgZGllIEZyYWdlOiBWb3ItIG9kZXIgcnVlY2t2ZXJsZWdlbi4gVW5kIGRhIGlzdCBDYXQqcyBBcmd1bWVudApzaWNoZXIgcmljaHRpZywgdW5nZWZhZWhyIGdsZWljaCB2aWVsZSBMZXV0ZSB3ZXJkZW4gc2F1ZXIgc2Vpbi4gVW5kIGlyZ2VuZHdvCm11c3MgbWFuIGRhbm4gZGVuIFNjaG5pdHQgbWFjaGVuICgiRkVUVElDSCIpLgpEYXNzIG1pciBkZXIgMTIuIG5pY2h0IHBhc3N0LCBkYXNzIGljaCBhbSAxOS4gYmVzc2VyIHVuZCBhbSAyNi4gZ3V0IGtvZW5udGUKaXN0IGhhbHQgcGVyc29lbmxpY2hlcyBQZWNoLiBGdWVyIG1pY2gsIG5pY2h0IGZ1ZXIgZXVjaC4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGVyIFBhcnR5dGVybWluISAoU251Z2dsZSwgMTUuIEp1biAxOTk1LCAxOTo0Nzo0NSk6CiMhIHJuPUdyaW1tYm9ybiBydD04MDMyMzY5ODgKR3V0IHVuZCBzY2hvZW4gR3JpbWJvcm4uCkFiZXIgd2VubiBDYXQgZGVuIFRlcm1pbiBtYWwgZWJlbiB2ZXJsZWd0LCBhdWYgZGVuIEljaCBnZXBsYW50IGhhYmUgdW5kIGRlcgptaXJUb3AgaW4gZGllIFBsYW51bmcgcGFzc3QsIGRhbm4gcmVnIGljaCBtaWNoIGRhZHJ1ZWJlciBhdWYuIFVuZCB3ZW5uIHNjaG9uCjEwMDAgbmRyZSB2b3IgbWlyIHdhcyBkYXp1IGdlc2NocmllYmVuIGhhZXR0ZW4gd3VlcmQgaWNoIGRlbiAxMDAxLiBBcnRpa2VsCnNjaHJlaWJlbi4KU2NobGllc3NsaWNoIGlzdCBkaWUgTVBBIGRvY2ggZGFzIE9yZ2FuIHVtIHNlaW5lIE1laW51bmcgenUgYWV1c3Nlcm4sIG9kZXIKaGFiIGljaCBkYSB3YXMgZmFsc2NoIHZlcnN0YW5kZW4/CgpTb2xsZW4gZGllIFNlbWluYXJ2b3J0cmFlZ2VyIGRpZSBhbSAxOSBuaWNodCBrb2VubmVuIGlocmUgTm90aXplbiB3ZWl0ZXJnZWJlbgp1bmQgZGVuIFZvcnRyYWcgaGFlbHQgam1kIGFuZGVycyAobmVpbiBkYXMgbGV0enRlIHdhciBOSUNIVCBlcm5zdCBnZW1laW50IDotKQopCgpTZW5mIG9mZiAodXBzLCBoYXR0ZSBkYXMgb24gdmVyZ2Vzc2VuKQoKWVQgU251Z2dsZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hZWNoc3RlIFBhcnR5IChTaWx2YW5hLCAgMS4gU2VwIDE5OTUsIDE3OjI3OjEzKToKQWNoLCBqYSAtIHdhcyBpY2ggbm9jaCBhbm1lcmtlbiB3b2xsdGU6CkRpZSBCaWVsZWZlbGRlciB1bmQgUGFkZXJib3JuZXIgTXVkZGVyIGJlcmVpdGVuIGdlcmFkZSBmdWVyIGRhcwpXb2NoZW5lbmRlIDIzLjAyLi0yNS4wMi45NiBkaWUgbmFlY2hzdGUgTXVkLVBhcnR5IHZvci4gQWxzbyAgbWVya3QKRXVjaCBzY2hvbiBtYWwgZGVuIFRlcm1pbi4KCgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eT8gKEF1Z3JhLCAgMy4gRGV6IDE5OTUsIDIwOjIxOjU1KToKRWluZSBOYWNoZnJhZ2U6CmdpbHQgZGFzIG1pdCBkZXIgUGFydHkgRW5kZSBGZWJydWFyIGluIEJpZWxlZmxkIG5vY2g/IE11ZXNzdGUgZGFubiBuYWVtbGljaApsYW5nc2FtIFVybGF1YiBiZWFudHJhZ2U6KQpBdWdyYSwgemVpdHdlaWxpZyB2ZXJiZWFtdGV0OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eT8gKFNpbHZhbmEsICA1LiBEZXogMTk5NSwgMTU6MTM6MjUpOgojISBybj1BdWdyYSBydD04MTgwMTg1MTUKSm8sIGRhcyBnaWx0IG5vY2guClNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eS1JTkZPLUhvdGxpbmU6IChHdWxkdWthdCwgMzAuIEp1bCAxOTk2LCAxNDo0MTozNSk6Cn4jISBybj1IYXRlIHJ0PTgzODcyNTc5Nwp+IyEgdGlkPTgzODcyNTc5NwoKSXN0IGRhcyBzb24ga29taXNjaGVzIGhhbmR5LCB3byBtYW4gYWxsZSA1IHNla3VuZGVuIG5lIG1hcmsgbmFjaHNjaG1laXNzZW4KbXVzcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHktSU5GTy1Ib3RsaW5lOiAoSGF0ZSwgMzAuIEp1bCAxOTk2LCAxNDo0NDoxNyk6Cn4jISBybj1HdWxkdWthdCBydD04Mzg3MzA0OTUKfiMhIHRpZD04Mzg3MjU3OTcKRXMgaXN0IGVpbiBoYW5keSB1bmQgZGFtaXQgbGVpZGVyIGF1Y2ggZGllIEVpbnppZ2UgTU9lZ2xpY2hrZWl0IDI0aApFcnJlaWNoYmFyIHp1IHNlaW4uIGljaCB3b2xsdGUgaGFsdCBhdWNoIGRlbmVuIG5lIENoYW5jZSBnZWJlbiwgZGllCm1pdHRlbiBpbiBkZXIgTmFjaHQgYW5rb21tZW4gb2RlciBzcGFldGVyIGFscyBnZWRhY2h0IGV0Yy4KVm9yIGFsbGVtIHdlbm4gamVtYW5kIG1pdCBBdXRvIGtvbW10IHVuZCBzaWNoIHZlcmZyYW5zdCBrb2VubnRlIHNvCmVpbmUgTnVtbWVyIGhpbGZyZWljaCBzZWluLgpEYSBpY2ggbmFlbWxpY2ggbmljaHQgc3RhZW5kaWcgenVoYXVzZSBvZGVyIGF1ZiBkZW0gWmVsdHBsYXR6IGJpbiwgd2lyZAplcyBzY2h3aWVyaWcgamVtYW5kZW4genUgZXJyZWljaGVuLgogICBbLS0+IERlaGFsYiBIYW5keV0KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExhZ2VlaW5zY2hhZXR6dW5nIChMZWZ0eSwgMzAuIEp1bCAxOTk2LCAxNjo0Mjo0MCk6Cn4jISBybj1Cb3R0b20gcnQ9ODM4NzIxMzU3Cn4jISB0aWQ9ODM4NzIwNTEwCm1laW4gZ290dCBib3R0b20sIHdpciBzaW5kIG5lIGdydXBwZSB2b24gY2EuIDEwMCBsZXV0ZW4sIGljaCBnbGF1YmUgbmljaHQsCmRhc3Mgc2ljaCBkaWVzZSB0eXBlbiBkYSByYW50cmF1ZW4KCkxlZnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMYWdlZWluc2NoYWV0enVuZyAoVGVycm9yaXN0LCAzMC4gSnVsIDE5OTYsIDE2OjQ0OjA1KToKfiMhIHJuPUxlZnR5IHJ0PTgzODczNzc2MAp+IyEgdGlkPTgzODcyMDUxMAoKYXVzc2VyZGVtIGJpc3QgZHUgc2VoZXIgdW5kIHdpcnN0IGRvY2ggd29obCBrZWluZSBhbmdzdCB2b3IgcGFhciBvcmtzIGhhYmVuPwplaW4gcGFhciBjaGFvc2JhZWxsZSB1bmQgZGllIHNpbmQgd2VnIDopCgpUZXJyb3Jpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExhZ2VlaW5zY2hhZXR6dW5nIChCb3R0b20sIDMwLiBKdWwgMTk5NiwgMTc6NTM6MDMpOgp+IyEgcm49VGVycm9yaXN0IHJ0PTgzODczNzg0NQp+IyEgdGlkPTgzODcyMDUxMApMRU1CT0xEIGhlaXNzdCBkZXIgR290dCB1bmQgaWNoIGJpbiBudXIgRXJsZXVjaHRldGVyISBDaGFvc2JhbGwga2FubiBpY2ggbmljaHQKdW5kIHdpbGwgYXVjaCBuaXggZGFtaXQgenUgdHVuIGhhYmVuLi4uQ2hhb3RlbiEgVHN0cyEhISBVbmQgd2FzIGhlaXNzdCBoaWVyCndpciBzaW5kIG1laHIgYWxzIGh1bmRlcnQgLSBkYSB0cmF1dCBzaWNoIGtlaW5lciByYW4uLi4gV2VubidzIFJhbmRhbGUgZ2lidApzY2hlaXNzZW4gc2ljaCBkb2NoIGVoIGFsbGUgaW4gZGllIEhvc2UhIEF1ZiBEZWluZSBNRy1GYWVoaWdrZWl0ZW4ga2Fja2VuCnNvbGNoZSAiT3JrcyIgc293aWVzbyEgRGllc2UgQXJ0IHZvbiBNb25zdHJlbiBkdWVyZnRlIHdvaGwga2F1bSBpbnRlcmVzc2llcmVuLAp3aWUgdG9sbCBEdSAnbmVuIENoYW9zYmFsbCBiZWhlcnJzY2h0c3QhCgpCb3R0b20gLSBrb25udGUgYmlzaGVyIG5vY2ggbmljaHQgaW4gU2ljaGVyaGVpdCBnZXdvZ2VuIHdlcmRlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWZnIEJvY2h1bSAtIEJlcmxpbiAoQXVncmEsIDMwLiBKdWwgMTk5NiwgMTg6NDQ6MzIpOgpIaSwKYWxzbyBpY2ggaGFiIFBsYXR6IGltIEF1dG8gdW5kIHdlcmRlIG5hZWNoc3RlIFdvY2hlIE1pdHR3b2NoIHJpY2h0dW5nIFBhcnR5CmZhaHJlbi4gV2VyIGF1cyBCb2NodW0gb2RlciBVbWdlYnVuZyAgbWl0IHdpbGwsIGthbm4gc2ljaCBtZWxkZW4uIFNjaG9lbgp3YWVycywgd2VubiBkZXJqZW5pZ2UgZWluZW4gdGVpbCBkZXIgc3RyZWNrZSBhdWNoIGRlbiBGYWhyZXIgbWFjaGVuIHd1ZXJkZSwKbWlyIGlzdCBhbGxlaW4gZGllIFN0cmVja2UgenUgbGFuZy4KCkF1Z3JhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMYWdlZWluc2NoYWV0enVuZyAoTWFyY3VzLCAzMC4gSnVsIDE5OTYsIDE5OjM4OjU1KToKfiMhIHJuPUJvdHRvbSBydD04Mzg3MjEzNTcKfiMhIHRpZD04Mzg3MjA1MTAKSG1tLCBlaW4gcGFhciBSb2xsZW4gMWEgU3RhY2hlbGRyYWh0IHdpcmQgZG9jaCB3b2hsIGF1Znp1ZmluZGVuIHNlaW4KT2Rlcj8KCk1hcmN1cyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2FuZCA/IChRaXRlc3MsIDMxLiBKdWwgMTk5NiwgMTc6NTQ6MjUpOgphZWhtIHdpZSBicmVpdCBzaW5kIGJlaSBldWNoIHNhbmRoZXJpbmdlID8Kd2VubiBpY2ggdm9uIHNhbmRoZXJpbmdlbiByZWRlLCBzaW5kIGRhcyBzb2xjaGUgbWl0IGNhIDggYmlzIDEwIGNtIGJyZWl0ZS4KdW5kIGVpbmUgd3Vlc3RlIHdpcmQgZGVyIHplbHRwbGF0eiBqYSB3b2hsIG5pY2h0IHNlaW4sIG9kZXIgPwppY2ggaG9mZmUgZG9jaCwgZGFzcyBkaWUga2xlaW5lbiBub3JtYWxlbiBoZXJpbmdlICggY2EgMiBjbSBicmVpdCkKYXVzcmVpY2hlbiB3ZXJkZW4uLi4KCnFpdGVzcyAod2lsbCBuaWNodCBpbiBkZXIgd3Vlc3RlIHplbHRlbikKLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzYW5kID8gKEJlbmRlaWdpZCwgMzEuIEp1bCAxOTk2LCAxOTowMjoyNyk6Cn4jISBybj1RaXRlc3MgcnQ9ODM4ODI4NDY1Cn4jISB0aWQ9ODM4ODI4NDY1Ck5vZSwgUWl0ZXNzLCBicmluZyBydWhpZyBCcmV0dGVyIG1pdCwgZGFzIGlzdCB3aXJrbGljaCBlaW4gU2FuZGxvY2gsIHdpZSBmYXN0CmdhbnogQmVybGluLiBJcmdlbmR3YW5uIHNhZXVmdCBkYXMgaW4gRHVyLSBvZGVyIERhbmNlcnMgV3Vlc3RlIGFiLgoKWidwYXIgU2VydnUsCiAgICAgICAgICBCZW5kZWlnaWQsIGhhdCBkZW4gUGxhdHogZ2VzZWhlbiwga29tbXQgYWJlciB2ZXJtdXRsaWNoIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzYW5kID8gKEF1Z3JhLCAzMS4gSnVsIDE5OTYsIDE5OjI4OjQxKToKfiMhIHJuPUJlbmRlaWdpZCBydD04Mzg4MzI1NDcKfiMhIHRpZD04Mzg4Mjg0NjUKSGFidCBpaHIgQmVhY2ggdm9sbGV5IGJhbGwgZ2VzZWhlbj8gamE/IE9rLCBkYW5uIHdpc3N0IGlociwgd29yYXVmIGlocgp6ZWx0ZXQ6KQoKQXVncmEsIGhvZmZ0IGRhcyBkZXIgUGxhdHogZnVlciBhbGxlIHJlaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNhbmQgPyAoQW5ha2luLCAzMS4gSnVsIDE5OTYsIDIwOjIzOjA4KToKfiMhIHJuPUF1Z3JhIHJ0PTgzODgzNDEyMQp+IyEgdGlkPTgzODgyODQ2NQpBbHNvIGljaCBoYWIgZGVuIFBsYXR6IG5pY2h0IHNvIHNjaGxpbW0gaW4gRXJpbm5lcnVuZy4KQWJlciBpY2gga2FubiBtaWNoIGF1Y2ggaXJyZW4uCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYW1lbnNzY2hpbGRlciAoQW5ha2luLCAzMS4gSnVsIDE5OTYsIDIwOjQ0OjUwKToKZGllIGRpZSBzaWNoIHp1ciBQYXJ0eSBhbmdlbWVsZGV0IGhhYmVuLCBhYmVyIG51biBkb2NoIGxlaWRlciBuaWNodAprb21tZW4ga29lbm5lbiwgYml0dGUgaWNoIHNpY2ggd2llZGVyIHZvbSBQYXJ0eWJyZXR0IGFienVtZWxkZW4sCmRhIHdpciB2ZXJzdWNoZW4gOi0pIE5hbWVuc2NoaWxkZXIgenUgbWFjaGVuIHVuZCBrZWluZSB1bXNvbnN0Cm1hY2hlbiB3b2xsZW4uIElzdCBpbW1lciBlaW4gZWxlbmRpZ2VzIGF1Z2VkcnVja2UsIGdlc2NobmVpZGUgdXN3Li4uCgpUaHguCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzYW5kID8gKEh5ZW5hLCAgMS4gQXVnIDE5OTYsIDAyOjQ0OjI2KToKfiMhIHJuPVFpdGVzcyBydD04Mzg4Mjg0NjUKfiMhIHRpZD04Mzg4Mjg0NjUKQWxzbyBpY2ggd3VlcmQgYXVjaCBnZXJuZSB3aXNzZW4gd2FzIGZ1ZXIgc2FuZGhhZXJpbmdlIGdlbWVpbnQgc2luZC4uLmVzIGdpYnQKZWNodCB3ZWxjaGUgZGllIDhjbSBicmVpdCB1bmQgd2FzIHdlaXNzIGljaCA0MGNtIGxhbmcgc2luZC4uLmRpZSBrb3N0ZW4gZGFubgphYmVyIHBybyBzdHVlY2sgc28gMyw1MERNLi4uLi53ZW5uIGljaCBkaWUga2F1ZmUsIGRhbm4gc2luZCBkaWUgZGluZ2VyIHRldXJlcgphbHMgZGFzIGdhbnplIHplbHQuLi4uLkFsc28sIHJlaWNoZW4gYXVjaCBkaWUgaGFlcmluZ2Ugdm9uIDJjbSB4IDIwY20gZnVlcgoxLDUwRE0gZGFzIHN0dWVjayA7KSA/PyAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2FuZCA/IChIYXRlLCAgMS4gQXVnIDE5OTYsIDA4OjAxOjA1KToKfiMhIHJuPUh5ZW5hIHJ0PTgzODg2MDI2Ngp+IyEgdGlkPTgzODgyODQ2NQpJY2ggYmluIGtlaW4gWmVsdGVyLCBhYmVyIGljaCBkZW5rZSwgZXMgcmVpY2h0LCB3ZW5uIGljaCBFdWNoIHNhZ2UsCmRhc3MgZGVyIFNhbmQgbmljaHQgdWViZXJtYWVzc2lnIGZlc3QgaXN0LiBXaWUgZWluIGF1Zmdld3VlaGx0ZXIgU2FuZC0KYm9senBsYXR6IGViZW4gaXN0LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYW1lbnNzY2hpbGRlciAoR3VsZHVrYXQsICAxLiBBdWcgMTk5NiwgMDg6NTI6NTYpOgp+IyEgcm49QW5ha2luIHJ0PTgzODgzODY5MAp+IyEgdGlkPTgzODgzODY5MApOZWhtdCBJaHIgYXVjaCBkaWUgYWt0dWVsbGVuIFRpdGVsIGF1ZiBkaWUgbmFtZW5zc2NoaWxkZXI/CkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhZ2VlaW5zY2hhZXR6dW5nIChSYWZmaSwgIDEuIEF1ZyAxOTk2LCAxMjo1MTo0MSk6Cn4jISBybj1IYXRlIHJ0PTgzODcyMDYwMgp+IyEgdGlkPTgzODcyMDUxMAoKSmF1LCBsYXNzIHNpZSBtYWwga29tbWVuIGRpZSBPcmtzIC0gUm9jaHVzIG1hY2h0IHVucyBkYW5uIHZvciB3aWUgZGVyIE9iZXJzdGUKTWVpc3RlciBkZXIgS2FyYXRla2FzIGRhcyBlcmxlZGlndCAtIGZhbHMgZGFzIHNjaGllZmdlaHQgZWluZmFjaCBlbmRlCmVpbmdlYmVuLgoKUmFmZmkgd2lsbCBlaW4gWmVsdCBhbSBSYW5kZSwgZGFtaXQgZXIgbmljaHQgc28gd2VpdCB6dSBkZW4gT3JrcyBoYXQgKGhhYgpudW5tYWwga2VpbmVuIFRGLCB1bmQgaW1lbXIgcGVyIGhhbmQgenVtIFRhbmtlbiByZW5uZW4gaXN0IG9lZGUuCgpHcnVzcwpILgoKKEFlaCBIYXRlOiBhdWYgd2VsY2hlciBTZWl0ZSB2b20gemF1biBpc3QgZWlnZW50bGljaCBkZXIgU3RhY2hlbGRyYWh0IHVuZCBkYXMKc2NobG9zcyA/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc2FuZCA/IChTbnVnZ2xlLCAgMS4gQXVnIDE5OTYsIDE2OjE5OjQ1KToKfiMhIHJuPUF1Z3JhIHJ0PTgzODgzNDEyMQp+IyEgdGlkPTgzODgyODQ2NQpBcHJvcG9zIEJlYWNoIFZvbGxleWJhbGwuCgpJY2ggYnJpbmcgbWFsIG5lIEt1Z2VsIG1pdCA6LSkKClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExhZ2VlaW5zY2hhZXR6dW5nIChBY3JpbW9uLCAgMS4gQXVnIDE5OTYsIDE2OjI0OjQyKToKfiMhIHJuPVJhZmZpIHJ0PTgzODg5NjcwMQp+IyEgdGlkPTgzODcyMDUxMApEZXIgU3RhY2hlbGRyYWh0IGlzdCBpbm5lbiwgdW5kIGRhcyBTY2hsb3N6IGlzdCBhdXN6ZW47IHdhcyBkYWNodGVzdCBEdSBkZW5uPwo6LSkKCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmFzZWJhbGwgdmVyc2NobHVja3Q/IChSYWZmaSwgIDEuIEF1ZyAxOTk2LCAxODozMzo1OSk6Cn4jISBybj1Bc21vZGlzIHJ0PTgzODkwNDk0Mgp+IyEgdGlkPTgzODM3NzMwMAoKSG1tIG9rLCBzb2xhbmdlIGRpZSBGdWV0dGVydW5nIHJlZ2VsbWFlc3NpZyB1bmQgUmVpY2hsaWNoIGlzdCA6KQoKR3J1c3MKSC4KKFdpbmt0IGVpbmVtIEtvY2hlbmRlbiBGcm9zY2ggZGVyIHdvIGF1ZiBlaW5lbSBHb2xkZHJhY2hlbmJlcmcgc2l0enQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaWRlbyAoR3VsZHVrYXQsICAyLiBBdWcgMTk5NiwgMDk6MjQ6MDMpOgoKR2lidHMgYXVmZmVtIENhbXBpbmdwbGF0eiBuZSB2aWRlb2FubGFnZSBvZGVyIGthbm4gamVtYW5kIG5lbiBncm9zc2JpbGRzY2hpcm0KbWl0YnJpbmdlbj8gbWFuIGtvZW5udGUgZG9ydCBkaWUgbmV1c3RlbiBzdGFyIHRyZWtzIHplaWdlbiAoNC4gc3RhZmZlbCBkc24KdW5kIDIuIHZveWFnZSwgZGEgd2FyZW4gZWluaWdlIHNlaHIgZ3V0ZSBlcGlzb2RlbiBkYWJlaSEpCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmlkZW8gKEhhdGUsICAyLiBBdWcgMTk5NiwgMDk6MzQ6MDcpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODM4OTcwNjQzCn4jISB0aWQ9ODM4OTcwNjQzCldlbm4gRHUgYWxsIGRhcyBtaXRicmluZ3N0LgpLYW5uc3QgRHUgRGlyIHZvcnN0ZWxsZW4sIHdhcyBzb3dhcyBrb3N0ZXQ/CkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMYWdlZWluc2NoYWV0enVuZyAoUWl0ZXNzLCAgMi4gQXVnIDE5OTYsIDEwOjI1OjA3KToKfiMhIHJuPUxlZnR5IHJ0PTgzODczNzc2MAp+IyEgdGlkPTgzODcyMDUxMAphbHNvLCBtYWwgZGF2b24gYWJnZXNlaGVuLCBkYXNzIGljaCBtaXIgYXVjaCBzY2hvbiBlaW4gYmlzc2NoZW4KZ3JhdWVuIGVpbmdlcmVkZXQgaGFiZSwgaGFiZSBpY2ggZWlnZW50bGljaCBrZWluZSAuLi4gbmFqYQp3ZW5pZyBhbmdzdC4gV0lSIEhBTFRFTiBaVVNBTU1FTiAuIHVuZCB3ZW5uIGRhIGlyZ2VuZHNvZWluIGdlaGlybmFtcHV0aWVydGVyCm9obmUgaGFhcmUgd2FzIHdpbGwsIGRlciBrcmllZ3RzIG1pdCBtaXIgenUgdHVuLiBzb2xsbiBkaWUgZG9jaCBrb21tZW4uIGljaApoYWJlIGRhbm4gZW5kbGljaCBtYWwgZWluZW4gZ3J1bmQgZmVzdGUgZHJhdWZ6dWtsb3BmZW4uCm5hamEsIGplZGVuZmFsbHMgbWVpbmUgaWNoIGF1Y2gsIGRhc3Mgd2lyIG1laHIgc2luZCBhbHMKZGllIGplbWFscyBtb2JpbGlzaWVyZW4ga29lbm5lbi4gdW5kIHdlciBpbW1lciBub2NoIHNjaGlzcyBoYXQgLCBvZGVyIGJlLQpkZW5rZW4sIGRlciBrYW5uIHNpY2ggamEgbmUgYmFzZWJhbGwuLi4gdmVyemVpaHVuZyBlaW5lIG9yay1rZXVsZSBtaXRuZWhtZW4uCmljaCBzdWNoZSBtaXIgYXVjaCBlaW5lbiBkaWNrZW4ga251ZXBwZWwsIGRlbiBpY2ggaW4gbWVpbiB6ZWx0IG1pdG5laG1lLgoKClFJVEVTUyBmcmV1dCBzaWNoIHNjaG9uIGRhcmF1ZiwgZW5kbGljaCBlaW5lbiBBbmxhc3MgenUgYmVrb21tZW4sIG5lIEdsYXR6ZSB6dQpwb2xpZXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYWdlZWluc2NoYWV0enVuZyAoTXVwZmVsLCAgMi4gQXVnIDE5OTYsIDExOjAzOjA1KToKfiMhIHJuPUJvdHRvbSBydD04Mzg3MjA1MTAKfiMhIHRpZD04Mzg3MjA1MTAKCldvZnVlciBoYWJlbiB3aXIgT1JLVE9FVEVSPyA6LSkKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhZ2VlaW5zY2hhZXR6dW5nIChRaXRlc3MsICAyLiBBdWcgMTk5NiwgMTE6MzQ6NTYpOgp+IyEgcm49TXVwZmVsIHJ0PTgzODk3NjU4NQp+IyEgdGlkPTgzODcyMDUxMAplYmVuIC0gd29mdWVyIGhhYmUgaWNoIG9ya3RvZXRlciA6KQoKcWl0ZXNzIC0gZnVlaGx0IHNpY2ggbmFjaCByZWlmbGljaGVyIHVlYmVybGVndW5nIHNpY2hlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMYWdlZWluc2NoYWV0enVuZyAoQWxhbm9uLCAgMi4gQXVnIDE5OTYsIDE1OjEwOjEzKToKfiMhIHJuPUJvdHRvbSBydD04Mzg3NDE5ODMKfiMhIHRpZD04Mzg3MjA1MTAKCkFsc28gZGFzIGlzdCBkb2NoIGVjaHQgbGFlY2hlcmxpY2guIFdpZSBrYW5uIG1hbiBiZWkgZWluZXIKc29sY2hlbiBHcnVwcGUgYW5nc3QgaGFiZW4sIHVlYmVyZmFsbGVuIHp1IHdlcmRlbiBvZGVyIHNvd2FzCmFlaG5saWNoZXMuIEVzIHdlcmRlbiBnZW51ZWdlbmQgTGV1dGUgZGEgc2VpbiwgZGllIHNpY2ggdW5kIGFuZGVyZQpnYXJhbnRpZXJ0IHZlcnRlaWRpZ2VuIGtvZW5uZW4sIFNPTExURSwgU09MTFRFIGVzIHNvd2VpdAprb21tZW4uIExlaWRlciBiaW4gaWNobmljaHQgZGEgdW5kIGthbm4gRXVjaCBiZWkgc29sY2hlbiBTYWNoZW4gbmljaHQgaGVsZmVuLgpBYmVyIHNpY2ggZGVzaGFsYiBpbiBkaWUgSG9zZW4genUgbWFjaGVuLCBmaW5kZSBpY2ggZWNodCwgbmEgamEgc2FnZW4gd2lyIG1hbCwKYmVzY2hlaWRlbi4KR3J1c3MgQWxhbm9uLCBkZXIgbGVpZGVyIGluIFBvcnRvIHVuZGQgbmljaHQgaW4gQmVybGluIGlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTGFnZWVpbnNjaGFldHp1bmcgKFBhbXBlcnMsICAyLiBBdWcgMTk5NiwgMTU6MTk6MTQpOgp+IyEgcm49QWxhbm9uIHJ0PTgzODk5MTQxMwp+IyEgdGlkPTgzODcyMDUxMApBdXdlaWhhLgpNYW4ga29lbm50ZSBtZWluZW4sIGRpZSBQYXJ0eSBpc3QgbmljaHQgaW0gT3N0ZW4sIHNvbmRlcm4gaW4gQmVpcnV0LgoKUGFtcGVycy4gSGF0IHNpY2ggc2Nob24gaW4gZmluc3RlcmVyZW4gR2VnZW5kZW4gaGVydXltZ2V0cmllYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTGFnZWVpbnNjaGFldHp1bmcgKEZlbGFndW5kLCAgMi4gQXVnIDE5OTYsIDE1OjI2OjIxKToKfiMhIHJuPVBhbXBlcnMgcnQ9ODM4OTkxOTU0Cn4jISB0aWQ9ODM4NzIwNTEwCkJldm9yIGljaHMgdmVyZ2Vzcy4ud2VyIEJhc2ViYWxsa3JhbSBoYXQgc29sbHRlIGRlbiBkb2NoIGJpdHRlIG1pdGJyaW5nZW4sIGljaAp3ZXJkIGplZGVuZmFsbHMgMiBIYW5kc2NodWhlIHVuZCBuZW4gU2NobGFlZ2VyIG1pdG5laG1lbiA7KQpQbGF0eiB3aXJkIHNpY2ggZGEgc2Nob24gZmluZGVuIGRlbmsgaWNoLgoKRmVsYS4uLmRlbmt0Pz8/PyBub2UgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJhc2ViYWxsIHZlcnNjaGx1Y2t0PyAoQ2FyYWRocmFzLCAgMi4gQXVnIDE5OTYsIDE1OjQ1OjA4KToKfiMhIHJuPVJhZmZpIHJ0PTgzODkxNzIzOQp+IyEgdGlkPTgzODM3NzMwMApIdWNoLCB3YXMgd2llIHdvPyBXaWVzbyBBcnRpa2VsIGdlbG9lc2NodCB2b24gQXNtb2Rpcz8KV2lsbCBhdWNoIHdhcyB2ZXJzdGVoZW4uIEhhYiBkb2NoIG5pY2h0IEludGVsbGlnZW56IC0zMCwgc29uZGVybgpLcmFmdCAtMzAhCgogICAgICBlaW4gZ2FueiBpbnRlbGxpZ2VudGVyIEZyb3NjaCAqcXVhayoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBMYWdlZWluc2NoYWV0enVuZyAoQm9pbmcsICAyLiBBdWcgMTk5NiwgMTY6MDg6MDgpOgp+IyEgcm49RmVsYWd1bmQgcnQ9ODM4OTkyMzgxCn4jISB0aWQ9ODM4NzIwNTEwCkFhYWFhaCAuLi4gVHJ5ZmFuIGZhZWhydCBiZWkgbWlyIG1pdCwgdW5kIG1laW4gQXV0byBpc3QgZG9jaCBlaCBzY2hvbgp2aWVsIHp1IGtsZWluIC4uLi4gOikKICBCb2luZyAoc2llaHQgc2ljaCBzY2hvbiB1bnRlciBCZXJnZW4gdm9uIEdlcnVlbXBlbCBiZWdyYWJlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBMYWdlZWluc2NoYWV0enVuZyAoRmVsYWd1bmQsICAyLiBBdWcgMTk5NiwgMTY6MDk6MTMpOgp+IyEgcm49Qm9pbmcgcnQ9ODM4OTk0ODg4Cn4jISB0aWQ9ODM4NzIwNTEwCkRhbm4gbGFzcyBlYmJlbiBkaWUgbmljaHQgbGViZW5zbm90d2VuZGlnZW4gRGluZ2Ugd2llIFplbHQsIFNjaGxhZnNhY2ssCk5haHJ1bmdzbWl0dGVsLEtsZWlkdW5nIHVuZCBzbyBkcmF1c3NlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTGFnZWVpbnNjaGFldHp1bmcgKEFsYW5vbiwgIDIuIEF1ZyAxOTk2LCAxNzo0NzoyMyk6Cn4jISBybj1QYW1wZXJzIHJ0PTgzODk5MTk1NAp+IyEgdGlkPTgzODcyMDUxMApNZWluZSBSZWRlIFBhbXBlcnMgOy0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGFnZWVpbnNjaGFldHp1bmcgKFJhZmZpLCAgMi4gQXVnIDE5OTYsIDE5OjU2OjAxKToKfiMhIHJuPVFpdGVzcyBydD04Mzg5Nzg0OTYKfiMhIHRpZD04Mzg3MjA1MTAKCk1laW4gT3JrdG9ldGVyLCBEZWluIE9ya3RvZXRlciAtIE9ya3RvZXRlciBpc3QgZnVlciB1bnMgYWxsZSBEYSEKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTGFnZWVpbnNjaGFldHp1bmcgKEFzbW9kaXMsICAyLiBBdWcgMTk5NiwgMjA6MTk6NTUpOgp+IyEgcm49RmVsYWd1bmQgcnQ9ODM4OTkyMzgxCn4jISB0aWQ9ODM4NzIwNTEwCldvenUgYnJhdWNoc3QgZHUgZGllIEhhbmRzY2h1aGU/IFNjaGxhZWdlciByZWljaHQgZG9jaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGFnZWVpbnNjaGFldHp1bmcgKE9ya3RvZXRlciwgIDIuIEF1ZyAxOTk2LCAyMTozNDoyMCk6Cn4jISBybj1SYWZmaSBydD04MzkwMDg1NjEKfiMhIHRpZD04Mzg3MjA1MTAKQWxzbyBiaXR0ZSwgamEgPyBPcmtUIGlzdCBOSUNIVCBmdWVyIGFsbGUgZGEgIQpEYXMgbWFuIHNpY2ggc28gZXR3YXMgaW4gc2VpbmVtIEFsdGVyIG5vY2ggZ2VmYWxsZW4gbGFzc2VuIG11c3MgKmdydW1tZWwqCk9ya1QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExhZ2VlaW5zY2hhZXR6dW5nIChSYWZmaSwgIDIuIEF1ZyAxOTk2LCAyMjoxMToxMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODM5MDE0NDYwCn4jISB0aWQ9ODM4NzIwNTEwCgpOaWNodCA/IGljaCB3dXNzdGUgZG9jaCBkYXMgbWFuIGRlciBXZXJidW5nIE5JRSB0cmF1ZW4gc29sbCEKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBMYWdlZWluc2NoYWV0enVuZyAoTWFyY3VzLCAgMy4gQXVnIDE5OTYsIDIyOjQ3OjUxKToKfiMhIHJuPUFsYW5vbiBydD04Mzg5OTE0MTMKfiMhIHRpZD04Mzg3MjA1MTAKSG1tLAoKQWxsZXMgbmUgRnJhZ2Ugdm9uIEdydXBwZW5wc3ljaG9sb2dpZS4gbmUgSGFuZHZvbGwgU2tpbnMga29lbm5lbiBuZSBncm9zc2UKTWVuZ2UgKG5pY2h0IGdld2FsdGJlcmVpdGVyIExldXRlKSB0ZXJyb3Jpc2llcmVuLiBIYWIgaWNoIHZvciA1IEphaHJlbgpnZW1lcmt0LCBhbHMgendlaSBBdXRvcyBtaXQgU2tpbnMgZWluIFdvaG5oZWltIG1pdCAxMDAgTGV1dGVuIHRlcnJvcmlzaWVydCAKaGFiZW4gKGhhcm1sb3NlIExldXRlIGltIFdvaG5oZWltLCBpbmNsLiBpY2ggOykgCkFiZXIgaWNoIGRlbmtlLCB3aXIgaGFiZW4gZ2VudWcgLCBlcnIsIGdld2FsdGJlcmVpdGUsIExldXRlXldTcGllbGVyXldTZWhlcgpkYWJlaSA7KQoKTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIRUxQLCBIRUxQIE1FIFJPTkRBIC4uLiAoTWFuZ28sICA1LiBBdWcgMTk5NiwgMTI6MjA6MTQpOgoKCgpMZWlkZXIsIExlaWRlciBsaWVndCBtZWluIEJydW1CcnVtIG1pdCBuZW0gWmFobnJpZW1lbnJpc3MgaW0gS3JhbmtlbmhhdXMgdW5kCmJla29tbXQgZGllc2UgV29jaGUgbWl0IGhvZWNoc3RlciBXYWhyc2NoZWlubGljaGtlaXQga2VpbmVuIEF1c2dhbmcgbWVoci4gRGFzCmhlaXNzdCBzbyB2aWVsIHdpZSwgaWNoIHN1Y2ggJ25lIE1mZyB2b24gREQgbmFjaCBCIGZ1ZXIgTWFoYXRtYSwgUGF0cnluIHVuZAptZWluZSBXZW5pZ2tlaXQuIFdhcyBrYW5uIGljaCBiaWV0ZW46IGVpbmVuIFVlYmVybmFjaHR1bmdzcGxhdHogZnVlciBhbGxlCkluc2Fzc2VuIGRlcyBGYWhyemV1Z2VzIHdvIGljaCBtaXRmYWhyZSAoZWluZW4gNDAgUGVyc29uZW4gQnVzIGthbm4gaWNoIGFiZXIKbmljaHQgdW50ZXJicmluZ2VuIDspICkuIEFuZ2Vib3RlIHBlciBNYWlsIGJpdHRlIGFuIG1pY2guCgoKCk1hbmdvLCBnZXN0cmVzc3QgdW5kIGFybSAoZHJhbikuCgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgUEFSVFlOVU1NRVIgKEFlbmRlcnVuZyEhISEpIChIYXRlLCAgNS4gQXVnIDE5OTYsIDEzOjIxOjMzKToKQWNodHVuZyEhISBEaWUgUEFSVFkgSU5GTyBOVU1NRVIgaGF0IHNpY2ggZ2VhZW5kZXJ0ISEhCgpOZXUgTlVNTUVSOiAgICAwMTcyIDM5IDM5IDY5NwoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IExhZ2VlaW5zY2hhZXR6dW5nIChSYWZmaSwgIDUuIEF1ZyAxOTk2LCAxMzo0NDoyMik6Cn4jISBybj1NYXJjdXMgcnQ9ODM5MTA1MjcxCn4jISB0aWQ9ODM4NzIwNTEwCgpSYWZmaSBuaW1tdCBtYWwgc2VpbiBXZXNzc2xpbmctVC1TaGlydHQgbWl0CgpHcmlucwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgSU5GTyBOdW1tZXIuLi4gKEhhdGUsICA1LiBBdWcgMTk5NiwgMjI6Mjc6NTcpOgpBbHNvIGVzIGdpYnQgZGEgaW0gTW9tZW50IGxlaWNodGUgUHJvYmxlbWUsIGRhIGRhcyBEMiBOZXR6IHNjaGVpbmJhciBrdXJ6IHZvcgpkZW0gVG9yIHp1bSBDYW1wIHNlaW5lbiBHZWlzdCBhdWZnaWJ0LiBJY2ggd2VyZGUgdmVyc3VjaGVuIGRhcyBIYW5keSBub2NobWFsCnVtenV0YXVzY2hlbiwgYWJlciBncm9zc2UgSG9mZm51bmdlbiBoYWJlIGljaCBuaWNodC4KRmFzdCBpbW1lciBwcmFrdGlzY2g6IDAzMzYyIDI0MTg0CkRvcnQgZXJyZWljaHQgaWhyIG5lIEZhbWlsaWUgSnVnZWwgdW5kIHNvbGx0ZXQgbmFjaCBNYXR0aGlhcyBmcmFnZW4uCkhpbnRlcmxhc3N0IGVpbmUgTmFjaHJpY2h0LCBpY2ggYmVrb21tZSBkYXMgZGFubiBzY2hvbiA6LSkKQWJlciBiaXR0ZSBwcm9iaWVydCBlcnN0IGRpZSBIYW5keSBOdW1tZXIuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5IElORk8gTnVtbWVyLi4uIChXdXJ6ZWwsICA1LiBBdWcgMTk5NiwgMjI6Mjg6NDkpOgp+IyEgcm49SGF0ZSBydD04MzkyNzY4NzcKfiMhIHRpZD04MzkyNzY4NzcKd2llIHdhZXIgZXMgbWl0IGQxPyBoYWJlIGljaCBiZXNzZXJlIGVyZmFocnVuZ2VuIG1pdCBnZW1hY2h0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWxkIChBbmFraW4sICA2LiBBdWcgMTk5NiwgMTA6MDk6MDYpOgpIaSwKCmljaCBtYWNoIGdlcmFkZSBkaWUgTGlzdGUgdm9uIGRlbiBVZWJlcndlaXN1bmdlbiBmdWVycyBQYXJ0eUdlbGQKQWxzbyBlaW4gcGFhciBMZXV0ZSBoYWJlbiBlaW5mYWNoIEdlbGQgdWViZXJ3aWVzZW4gdW5kIG5peCBkYXp1Cmdlc2NocmVpYmVuLiBJQ2ggd2Vpc3MgbmljaHQgdm9uIHdlbSBkYXMgZGFubiBpc3QuIEFsc28gd2VubiBtYW4gbmljaHQKd2Vpc3Mgb2IgbWFuIHNlaW5lbiBOYW1lbiBkcmF1ZiBoYXR0ZSBCSVRURSBVRUJFUldFSVNVTkdTU0NIRUlOIApNSVRCUklOR0VOLgoKQW5ha2luLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgUEFSVFlOVU1NRVIgKEFlbmRlcnVuZyEhISEpIChUb2UsICA2LiBBdWcgMTk5NiwgMTQ6MjI6NDMpOgp+IyEgcm49SGF0ZSBydD04MzkyNDQwOTMKfiMhIHRpZD04MzkyNDQwOTMKV2FzIGlzdCBkYSBkZW5uIG5ldHp2ZXJzb3JndW5nc21hZXNzaWcgZHJpbiAoYXVmbSBaZWx0cGxhdHopPyBEMSwgRDIgb2RlcgpFLXBsdXMgb2RlciBhbGxlcz8gU2FjaCBtYWwgd2F0IEhhdGUsIGRhbWl0IGljaCB3ZWlzcyB3ZWxjaGVzIE5ldHogaWNoCm1pdG5laG1lbiBzb2xsLi4uCgp0b2UsIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgUEFSVFlOVU1NRVIgKEFlbmRlcnVuZyEhISEpIChIYXRlLCAgNi4gQXVnIDE5OTYsIDE4OjQzOjMzKToKfiMhIHJuPVRvZSBydD04MzkzMzQxNjMKfiMhIHRpZD04MzkyNDQwOTMKRXMgZnVua3Rpb25pZXJ0IGRvcnQgTlVSIEMgTmV0eiwgc29uc3QgbmljaHRzLiBBbGxlcyBhbmRlcmUgb2huZSBnZXdhZWhyLgpEaWUgTW9iaWxmdW5rbnVtbWVyIGlzdCBhYiBzb2ZvcnQgYXVjaCBVTkdVRUxUSUchCkljaCBoYWJlIGRhcyBIYW5keSB6dXJ1ZWNrZ2VnZWJlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDYXQgd2lsbCBhdWNoIHp1ciBQYXJ0eSEgKENhdHdlYXpsZSwgIDYuIEF1ZyAxOTk2LCAxOTowOTowNSk6Ckd1Z2d1ZyEKCkhtLCBpcmdlbmR3aWUgc2NoZWludCBnYW56IE11ZW5zdGVyIGpldHp0IGRvY2ggc2Nob24gdm9yIEZyZWl0YWcgcnVlYmVyLQp6dWZhaHJlbiA6KApGcmFnZSBhbHNvOiBJc3Qgbm9jaCBqZW1hbmQgZGEgb2RlciBrYW5uIG1pY2ggamVtYW5kIGF1ZiBkZW0gV2VnIGluIGRlcwpPc3RlbiBhdWZsZXNlbj8KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhFTFAsIEhFTFAgTUUgUk9OREEgLi4uIChNYW5nbywgIDYuIEF1ZyAxOTk2LCAyMDowODoxMyk6Cn4jISBybj1NYW5nbyBydD04MzkyNDA0MTQKfiMhIHRpZD04MzkyNDA0MTQKCgplcyBzdGVodCBudW4gZmVzdCBpY2ggc3VjaCAnbmUgTWZHIGFtIEZyZWl0YWcgQWJlbmQgbmFjaCBBcmJlaXQgY2EuIDE4OjAwIFVoci4KV2llIGdlc2FndCBpY2gga2FubiBuZW4gRGFjaCBmdWVyIGFsbGUgZGllIGltIEF1dG8gbWl0ZmFocmVuIGFuYmlldGVuLCBtdXNzCmFiZXIgZWluIEF1dG8gc2VpbiB1bmQga2VpbiAiRWlua2F1ZnN3YWdlbiIuIDspCgoKTWFuZ28sIHZvbGxlciBIb2ZmbnVuZy4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIRUxQLCBIRUxQIE1FIFJPTkRBIC4uLiAoQXp6dXJvLCAgNy4gQXVnIDE5OTYsIDAwOjU5OjU1KToKfiMhIHJuPU1hbmdvIHJ0PTgzOTM1NDg5Mwp+IyEgdGlkPTgzOTI0MDQxNApXZW5uIGR1IGF1Y2ggbm9jaCBzYWdzdCB2b24gd28gYXVzLCBkYW5uIGthbm4gbWFuIGRpciB2aWVsbGVpY2h0IGF1Y2ggaGVsZmVuCjopCkF6enVybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFnaWcgYW5kZXJzPyAoV3VyLCAgNy4gQXVnIDE5OTYsIDAxOjM0OjA0KToKfiMhIHJuPVNpbHZhbmEgcnQ9ODM4NjQ1ODYwCn4jISB0aWQ9ODM4NTc4MTg5Cldvdywgd2llIHNjaGF1dHMgZGVubiBtaXQgU2hhZG93cnVuIGF1cz8gU293YXMgd3VlcmQgaWNoIGdsYXR0IG1pdHNwaWVsZW4Kd29sbGVuLgoKV3VyIGlzdCBzcGFldCBkcmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWdpZyBhbmRlcnM/IChHdWxkdWthdCwgIDcuIEF1ZyAxOTk2LCAwOTo1MDo0MSk6Cn4jISBybj1XdXIgcnQ9ODM5Mzc0NDQ0Cn4jISB0aWQ9ODM4NTc4MTg5CgpWaWVsbGVpY2h0IGtvZW5udGUgbWFsIGplbW5hZCBlaW5lbiBha3R1ZWxsZW4gcGFydHliZXJpY2h0IHZvbiBkZXIgbXVkIHBhcmFkZQppbiBkZXIgbXBhIGdlYmVuLCBpY2ggc2NoYWV0emUgc28gNCBkaW4gYSA0IHNlaXRlbiBsYWdlYmVyaWNodCBzb2xsdGVuIHBybyB0YWcKYXVzcmVpY2hlbi4gOykKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1hZ2lnIGFuZGVycz8gKEJhYnMsICA3LiBBdWcgMTk5NiwgMjI6MTQ6MDYpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODM5NDA0MjQxCn4jISB0aWQ9ODM4NTc4MTg5CkphdSwgIHdhZXIgY29vbC4gRGFubiBpc3QgbWFuIGF1ZiBkZW0gTGF1ZmVuZGVuLCBvaG5lIGRlbiBnYW56ZW4gYWV0emVuZGVuClR5cGVuIFJMIGJlZ2VnbmVuIHp1IG11ZXNzZW4uIDspCgpQUzogbnVyIFZpZXIgU2VpdGVuID8gRmF1bGUgQmFuZGUgIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJlZmZwdW5rdCAoQWxib2luLCAgOC4gQXVnIDE5OTYsIDAwOjM1OjE4KToKTWlyIGZhZWxsdCBnZXJhZGUgZWluLCBkYXNzIGhpZXIgbWFsIGVyd2FlaG50IHd1cmRlIGZ1ZXIgRnJlaXRhZyBlaW5lbgp6ZW50cmFsZW4gVHJlZmZwdW5rdCBpbiBCYWVybGluIGF1c3p1bWFjaGVuLCB1bSBkYW5uIGdlbWVpbnNhbSB6dW0gWmVsdHBsYXR6Cnp1IGt1dHNjaGllcmVuLiBXaXJkIGRhcyBudW4gZ2VtYWNodCBvZGVyIHd1cmRlIGRpZSBTYWNoZSBhYmdlYmxhc2VuPz8/CgpBbGJvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyZWZmcHVua3QgRnJlaXRhZyAoR3VsZHVrYXQsICA4LiBBdWcgMTk5NiwgMTU6NTA6MTIpOgpIaSBpaHIgdm9tIE9LLCB3byBpc3QgZGVubiBqZXR6dCB3YW5uIGZyZWl0YWcgdHJlZmZwdW5rdCBpbiBiZXJsaW4gc3RhZHQ/Pz8/CkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSEVMUCwgSEVMUCBNRSBST05EQSAuLi4gKFRlcnJvcmlzdCwgIDkuIEF1ZyAxOTk2LCAwODoxNjo1OCk6Cn4jISBybj1NYW5nbyBydD04MzkyNDA0MTQKfiMhIHRpZD04MzkyNDA0MTQKCmFsc28gZWluZXIgaXN0IG5vY2ggenUgdmVya3JhZnRlbiBhbSAwOS4wOCAoaGV1dGUgKSAxOC4zMCBhbiBkZXIgbG9lYnRhdWVyCnN0cmFzc2UgNDUgdW5kIGVyIGlzdCBkYWJlaS4KdHNjaHVlc3NjaGVuCgpUZXJyb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktPTU1FRUVFIChOYWlyb2xmLCAgOS4gQXVnIDE5OTYsIDE0OjM5OjQ0KToKQUxzbyBlcyB3aXJkIHNpY2ggZ2xlaWNoIGVpbiB3ZWl0ZXJlcyBHaWVzc2VuZXIgRmFocnpldWcgcmljaHR1bmcgQmVybGluCmJld2VnZW4uLiBkYW1pdCBHaWVzc2VuIGF1Y2ggbWl0IDggTXVkZGVybiB2ZXJ0cmV0ZW4gaXN0IC4uLgooYWNoamE6IGVpZ2VudGxpY2ggc2luZCBkYXMgamEgYWxsZXMgbWVpbmUgWndlaXRpcyA6LSkgKQoKTmFpcm9sZiwgbmFjaCBCZXJsaW4gZmFocmVuZC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVlbmRlIChGZXVlcndlaHIsIDEyLiBBdWcgMTk5NiwgMDA6MzM6MTgpOgpVbmQgbnUgaXN0IGRpZSBQYXJ0eSB2b3JiZWkuCiAKU2NoYWRlLiBJY2ggZmFuZCBzaWUga2xhc3NlLgoKRGFzIHdlcmRlbiBiZXN0aW1tdCBzY2hvZWVlbmUgUGhvdG9zICh3aW5rIGJlc3RpbW10ZW4gRXJ6aWVzIHVuZCBHb2V0dGVybiB6dSkKIAogICAgIEZldWVyd2VociAod2lyZCBiZXN0aW1tdCBiYWxkIGdlbG9lc2NodCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRpY2tlcyBsb2IgKEd1bGR1a2F0LCAxMi4gQXVnIDE5OTYsIDExOjAyOjM2KToKU28sIGRpY2tlcyBsb2IgYW4gZGllIGdhbnplbiBiZXJsaW5lciB2b20gT0ssIGRpZSBwYXJ0eSB3YXIgCndpcmtsaWNoIHN1cGVyLCBpY2ggZ2xhdWJlLCB3aXIgc29sbHRlbiBiZXJsaW4gYmVpIGRlcgp2ZXJnYWJlIGRlciBwYXJ0eSAxOTk3IHdpZWRlciBiZXJ1ZWNrc2ljaHRpZ2VuLgoKQXVjaCBkaWUgUkwtUXVlc3Qgd2FyIGtsYXNzZSwgZGFzIHNjaGFyemUgdGVhbSBoYXR0ZSB3aXJrbGljaAp2aWVsIHNwYXNzIChiZXJpY2h0IGZvbGd0KS4gV2VubiBudXIgZGllIHZpZWxlbiBtfGNrZW5zdGljaGUKbmljaHQgd2FlcmVuIHVuZCBkZXIgbXVza2Vsa2F0ZXIgaW4gZGVuIGJlaW5lbiEgOykKClNvLCBkYW5uIHJ1ZmUgaWNoIGRpZSBKdWdlbmQgZGVzIE5ldHplcyBhdWYsIDE5OTcgd2llZGVyIHp1c2FtbWVuCnp1a29tbWVuLiAKCkdECgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhlaXRlcmVzIEdyaWxsZmVzdCAoUm9jaHVzLCAxMi4gQXVnIDE5OTYsIDExOjMwOjAwKToKW1ZlcmxlZ3Qgdm9uIHdpdHplLCBDYXVubywgMTEuIEF1ZyAxOTk2LCAxNToyMTo0MF06CltWZXJsZWd0IHZvbiBrb2NocmV6ZXB0ZSwgQ2F1bm8sICAxLiBBdWcgMTk5NiwgMTM6MjU6MTBdOgoKWnV0YXRlbjogIEpld2VpbHMgIGZ1ZW5mICBCcmF0d3VlcnN0ZSAgZnVlciAgc2VjaHMgIFBlcnNvbmVuLCAgYmVkZWNrdGVzCldldHRlciwgIHp3ZWkgcml2YWxpc2llcmVuZGUgUHlyb21hbmVuLCAgendlaSBCZXV0ZWwgZmV1Y2h0ZSAgSG9semtvaGxlLApkcmVpIEZsYXNjaGVuICBCZW56aW4sICB6d2VpIFNjaGFjaHRlbG4gU3RyZWljaGhvZWx6ZXIsICBlaW5lIHJlaWNobGljaGUgCkF1c3dhaGwgYW4gR3JhcyB1bmQgRHJlY2sgenVtIFd1ZXJ6ZW4uCgpEYXVlcjogRHJlaSBiaXMgdmllciBTdHVuZGVuIGxhZW5nZXIgYWxzIGVyd2FydGV0LgoKVm9yYmVyZWl0dW5nOiAgSG9semtvaGxlICBhbnp1ZW5kZW4gdW5kICB6ZWhuICBNaW51dGVuICB3YXJ0ZW4uIE5vY2htYWxzCmFuenVlbmRlbiB1bmQgIHplaG4gIE1pbnV0ZW4gIHdhcnRlbi4gIE1pdCBkZW0gIEJlbnppbiB1ZWJlcmdpZXNzZW4uIFZvbiAKZWluZW0gRmVuc3RlciBpbSBlcnN0ZW4gU3RvY2sgZWluICBTdHJlaWNoaG9seiBkYXJhdWYgIHdlcmZlbi4gIERlbiBzZWl0IApkZW0gbGV0enRlbiBGZXN0IG5pY2h0IGdlcmVpbmlndGVuICBHcmlsbCBhbnNlaGVuLiBCZXNjaGxpZXNzZW4sICBpaG4genUKbGFzc2VuLCB3aWUgZXIgIGlzdC4gTWl0IGRlbiBXdWVyc3RlbiBkZW4gc2NobXV0emlnZW4gIFJvc3QgYWJkZWNrZW4sIHVtCmRpZSBHYWVzdGUgbmljaHQgaW4gVmVybGVnZW5oZWl0IHp1IGJyaW5nZW4uCgpXZWl0ZXJlcyBWb3JnZWhlbjogV2FydGVuLCAgYmlzIGRhcyBGZXVlciAgYXVzZ2VnYW5nZW4gdW5kIGRpZSBIb2x6a29obGUKZ3JhdSAgZ2V3b3JkZW4gIGlzdC4gICBEYXMgIGdhcmFudGllcnQgICBtaW5kZXN0ZW5zICBhbmRlcnRoYWxiICBNaW51dGVuCmFubmVobWJhcmUgQnJhdGhpdHplLCBhbHNvICByZWljaGxpY2ggWmVpdCwgdW0gc2ljaGVyenVzdGVsbGVuLiBkYXNzIGRpZQpXdWVyc3RlIHdlaXRnZWhlbmQgIHJvaCAgYmxlaWJlbi4gIFdlbmlnc3RlbnMgIHp3ZWkgIFd1ZXJzdGUgIGR1cmNoICBkaWUKR3JpbGxzdGFlYmUgZmFsbGVuIGxhc3NlbiB1bmQgIGJlaW0gSGVyYXVzaG9sZW4gIGRhcmF1ZiBhY2h0ZW4sIGRhc3MgZGllCkhhbmQgbGVpY2h0IGFuZ2VzZW5ndCB3aXJkLCBiaXMgZGllIEZpbmdlcnNwaXR6ZW4gZWluZSByb2V0bGljaC1zY2h3YXJ6ZQpUb2VudW5nIGVycmVpY2hlbi4KClNlcnZpZXJ2b3JzY2hsYWc6IE1pdCAgbGF1d2FybWVtIFNhbGF0ICBzZXJ2aWVyZW4uIEJlaW0gIEthdWVuIGF1ZiBlaW5lbQpTdHVlY2tjaGVuIEhvbHprb2hsZSBhdXNydWZlbjogIkhtbSAgLi4uIGRyYXVzc2VuIHNjaG1lY2t0IGRvY2ggd2lya2xpY2gKYWxsZXMgZ2xlaWNoIHZpZWwgYmVzc2VyLiIKCkV2ZW5pbmcgU3RhbmRhcmQsIExvbmRvbgpSZWFkZXIncyBEaWdlc3QgRGFzIEJlc3RlIDgvOTYKZ2VmdW5kZW4gdm9uIEMuIE5vCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkaWNrZXMgbG9iIChXYXJnb24sIDEyLiBBdWcgMTk5NiwgMTM6MDM6MTMpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODM5ODQwNTU2Cn4jISB0aWQ9ODM5ODQwNTU2CkFsc28gZGVyIE9ydCBmdWVyIGRpZSBNRy1Tb21tZXJwYXJ0eSAxOTk3IGlzdCBtYWwgd2llZGVyIE11ZW5zdGVyOyBkaWUgSHVldHRlCmlzdCBzb2dhciBzY2hvbiByZXNlcnZpZXJ0IQpGdWVyIGRpZSA5N2VyIFdpbnRlcnBhcnR5IGtvZW5uZW4gc2ljaCBhYmVyIGR1cmNoYXVzIG5vY2ggU3RhbmRvcnRlIGJld2VyYmVuCihvZGVyIHdhciBEb3J0bXVuZCBzY2hvbiBhYmdlbWFjaHQ/KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgKFBhbXBlcnMsIDEyLiBBdWcgMTk5NiwgMTM6MzY6NDEpOgpUamEuIERhIGlzc2VyIG51IHdpZWRlciBkYSwgZGVyIFBhbXBlcnMuIHVuZCBoYXQgbml4IHp1IHR1bi4KQXVzc2VyIG5hdHVlcmxpY2ggZXVjaCBhbGxlIHp1IGJlbGFlc3RpZ2VuLiBNaXQgZWluZW0gbGFuZ3dlaWxpZ2VuIEJlcmljaHQ6CgpBdWZzYXRzOgogICBXYXMgaWNoIGluIG1laW5lbiBGZXJpZW4gZXJsZWJ0IGhhYmUuCiAgICAgICAgICAgICAgdm9uIFBhbXBlcnMgV2FsZGZlZSwgNWIKCk5ldWhsaWNoIGZ1ciBpY2ggbmFjaCBCZXJsaW4uIEVzIHdhciBzZWhyIHNjaG9lbiBkb3J0LCBhdWNoIHdlbm4gaWNoIGVpZ250bGljaApudXIga3VyeiBkYSB3YXIuCkljaCBiaW4gbmFlaG1saWNoIGVpZ2VudGxpZyBnYXIgbmljaHQgbmFjaCBCZXJsaW4gZ2VmYWhyZW4sIHNvbmRhZXJuIG5hY2gKS2FnZWwuIFVuZCBkYXMgaXN0IGJlaSBCZXJsaW4uCkRhIGZhZWhydCBhYmVyIG5hY2h0cyBrZWluIEJ1cyBtZWhyIGhpbiwgZGVzaGFsYiBoYXQgdW5zIHNvIGVpbgptaWVzZXJeSF5IXkheSF5IXkggc2VociBuZXR0ZXIgVGF4aWZhaHJlciBtaXRnZW5vbW1lbi4KRGVyIHdvbGx0ZSBkYW5uIGF1Y2gga2F1bSBHZWx0IGhhYmVuLgpEZXIgS2FlbXBpbmdwbGFkcyB3YXIgc2VociBzYW5kaWcuIFVuZ2VmYWVyaHIgc28gc2FuZGlnIHdpZSBFbCBBbGFtZWluLCB2b24KZGVtIE9wYSBpbW1lciBlcnphZWhsdC4KQWJlciBlcyB3YXJlbiBzZWhyIG5ldHRlIExldXRlIGRhLiBJbnNiZXNvbmRlcmUgdmllbCBkaWUgbmV0dGUgQXJ0IGF1ZiwgbWl0CmRlciBkaWUgRWluZ2Vib3JlbmVuIG1pdCBpaHJlbiBIdWVobmVybl5IXkheSF5IXkheSF5IIERhbWVuIHVtZ2luZ2VuLgpJY2ggZGFjaHRlIGltbWVyLCBkYXNzIEh1ZWhuZXJeSF5IXkheSF5IXkheSCBEYW1lbiBtaXQgZGVtIEJhZWlzYm9sbHNjaGxhZ2VyCmdlamFndCB3ZXJkZW4sIGthZW1lIG51ciBhdWYgUmFyb3RvbmdhIHZvci4gV2FyIGFiZXIgbmljaC4KRGllIExldXRlIHdhcmVuIGFsbGUgc2VociBuZXR0IHp1IG1pci4gSW5zYmVzb25kZXJlIGlzdCBlaW5lIG5ldHRlIEp1bmdlIERhbWUKbmFtZW5zIEFsaW5lIHp1IGVyd2FlaG5lbiwgZGllIG1pciBpbW1lciBuZXR0IFd1ZXJzdGNoZW4gZ2VncmlsbHQgaGF0LiBVbmQgZGVyClR3ZWVnLCBkZXIgbWlyIGVpbiBCaWVyXkheSF5IXkggS2luZGVya29sYSBtaXRnZWJyYWNodCBoYXQsIGFscyBpY2ggZGVuIGdhbnplbgpUYWcgcnVtc3RlaGVuIG11c3N0ZSwgd2VpbCBpY2ggYW5nZWJsaWNoIHdhcyBhbmdlc3RlbGx0IGhhdHRlLgpEYSBoYXQgbWFuIG1pY2ggZGFubiB6dSBXYWxkZmVoIGVya2xhZXJ0LiBIYXQgYWJlciBuaXggZ2VudXR6dC4gRGllIHdlcmRlbgpuYWVobWxpY2ggYXVjaCB2b24gTXVlY2tlbiBnZXN0b2NoZW4uCkljaCBoYXR0ZSBkYW5uIGFiZXIgZG9jaCBHbHVlY2suLi4gQWxsZSBhbmRlcmVuIG11c3N0ZW4gbmFlbWxpY2ggcGxvZXR6bGljaApkaWUgc3VjaGVuLCBkaWUgd2VnZ2VsYXVmZW4gd2FyZW4uIERhIG11c3N0ZW4gZGllIGdhbnogd2VpdCBsYXVmZW4gdW5kIGhhYmUKZ2FueiBrb21pc2NoZSBMaWVkZXIgZ2VzdW5nZW4sIHdpZSBzaWUgYXVjaCBpbW1lciBhdWYgV0RSIDQgbGF1ZmVuLiBEaWUgaGFtCmRhbm4gYmVoYXVwdGV0LCBzaWUgd2FlcmVuIFRyb2xsZS4gRGFiZWkgd2FyZW4gZGFzIGRvY2ggbnVyIGRpZSBrb21pc2NoZW4KTGV1ZXQgdm9tIFplbHRwbGFkcy4gS29taXNjaCB3YXIgZGFzLiAKVW5kIGRlciBibG9lZGUgR3VsZHVrYXQgd29sbHRlIG1pY2ggbmFzc3Nwcml0emVuLiBVbmQgZGVyIG9ldHRpIGhhdCBtaWNoIGltbWVyCmdlaGFlbnNlbHQuCkFiZXIgd2VpbCBhdWNoIG1laW5lIE1hZ2llcmdyb3VwaWVzIGRhYmVpIHdhcmVuIHVuZCBkZXIgS2xvbmsgZGVuIGRvb2ZlbiBPZXR0aQpkYW5uIHZlcmhhdWVuIGhhdCwgd2FyIGRhcyBlaW4gc2Nob2VuZXIgVXJsYXViLgoKUGFtcGVycy4gTWFuZ2VsaGFmdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSAoT2V0dGksIDEyLiBBdWcgMTk5NiwgMTM6Mzk6NTcpOgp+IyEgcm49UGFtcGVycyBydD04Mzk4NDk4MDEKfiMhIHRpZD04Mzk4NDk4MDEKR2VnZW5kYXJzdGVsbHVuZyAhIQoKRGllIEdyb3VwaWVzIHdhcmVuIGF1ZmdldGVpbHQgendpc2NoZW4gbWlyIHVuZCBQYW1wZXJzLgoKTnVyIGRhbWl0IGRhcyBtYWwga2xhciBpc3QuLi4KCk9ldHRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS09NTUVFRUUgKFRvbGdhbiwgMTIuIEF1ZyAxOTk2LCAxMzo1MTozMSk6Cn4jISBybj1OYWlyb2xmIHJ0PTgzOTU5NDM4NAp+IyEgdGlkPTgzOTU5NDM4NApJQ0ggQklOIEtFSU4gWldFSVRJICEhISA6KQpUb2xnYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS09NTUVFRUUgKEFzbW9kaXMsIDEyLiBBdWcgMTk5NiwgMTQ6MDc6MjEpOgp+IyEgcm49VG9sZ2FuIHJ0PTgzOTg1MDY5MQp+IyEgdGlkPTgzOTU5NDM4NApIbW0sIGRhbm4gZWJlbiBEcml0dGkgPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRpY2tlcyBsb2IgKEpvcmluZGUsIDEyLiBBdWcgMTk5NiwgMTg6NTU6NDkpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODM5ODQwNTU2Cn4jISB0aWQ9ODM5ODQwNTU2CkhtLiBEYXMgd2FyIG1laW5lIGVyc3RlIFBhcnR5IHVuZCBpY2ggbXVzcyBzYWdlbiwgZGFzcyBzaWUgbmljaHQgc2NobGVjaHQgd2FyLgpJY2ggbWVpbmUgZ2VsZXJudCBoYXQgbWFuIGF1Y2ggbm9jaCB3YXMuCkljaCB3ZWlzcyBqZXR6dCB3aWUgbWFuIG5hY2ggQmFyY2Vsb25hIGtvbW10IHVuZCBkYXMgaXN0IGphIHdhcyB3ZXJ0ISBBbHNvIHdhcgp3aXJrbGljaCBndXQuCldhcyBhbmRlcmVzIGthbm4gbWFuIHp1IGRlciBQYXJ0eSBuaWNodCBzYWdlbiEKSm9yaW5kZSBzYWd0IGRlc2hhbGIgYXVjaCBuaXggbWVociEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGlja2VzIGxvYiAoQ2FyYWRocmFzLCAxMi4gQXVnIDE5OTYsIDIwOjAyOjU4KToKfiMhIHJuPUpvcmluZGUgcnQ9ODM5ODY4OTQ5Cn4jISB0aWQ9ODM5ODQwNTU2CldpZSBtYW4gbmFjaCBCYXJjZWxvbmEga29tbXQ/Clp1IEZ1c3MsIGF1ZiBkZW4gS25pZW4sIHNjaHdpbW1lbmQsIG1pdCBkZW0gQXV0bywgcGVyIEFuaGFsdGVyLCBQZmVyZCwKRmx1Z3pldWcsIFNjaGlmZiBvZGVyIGF1Y2ggcGVyIFNwYWNlIFNodXR0bGUsIGRhcyBnZW5hdSBhdWYKQmFyY2Vsb25hIGFic3R1ZXJ6dC4KCiAgICAgICAgIGVpbiBrbGVpbmVyIGdydWVuZXIgRnJvc2NoIG5hbWVucyBOaWNodC1EdXN0eQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSSBzYXkgYm9uam91ciwgeW91IHNheSBnb29kYnllIChUb2V0ZXIsIDEyLiBBdWcgMTk5NiwgMjA6MTA6MzApOgpTbywgaWNoIHdpbGwgYXVjaCBpcmdlbmR3YXMgenVyIFBhcnR5IHNjaHJlaWJlbi4gSGllciBhbHNvIGVpbmUgd2FobGxvc2UKQXVzd2FobCBCZW1lcmtlbnMtIHVuZCBWZXJkcmFlbmdlbnN3ZXJ0ZXMuCgpEZXIgdm9uIG1pciBpbiBzeW1ib2xpc2NoIHVuZCBhbGtvaG9saXNjaGVyIEFic2ljaHQgcHJva2xhbWllcnRlIEZlbGdhdWYtCnNjaHd1bmcgT3N0IGFuIGRlciBCYWxzYWhvbHpxdWVybGF0dGUgZGVzIEZ1c3NiYWxsdG9ycyBlbmRldGUgYmVrYW5udGxpY2ggCndlZGVyIGFlc3RoZXRpc2NoIG5vY2ggbWF0ZXJpZWxsIGF1c2Jlc3Byb2NoZW4gemllbGdlcmVjaHQuIERhcyBmYW5kIGljaCAKdG90YWwgc2NoZWlzc2UsIHVuZCBpY2ggc2NoYWVtZSBtaWNoIGZ1ZXIgZGllIEZvbGdlbi4gR3V0ZW4gTXV0ZXMgZnVlciBkZW4gClN0cnVrdHVyd2FuZGVsIGRlciBSZWdpb24gc3RpbW10IGRhZ2VnZW4gZGllIHNwb250YW5lIEJlcmVpdHNjaGFmdCB2aWVsZXIgCkJlc3VjaGVyLCBlaW5lIHVlYmVyIGRpZSB1ZWJsaWNoZSBCZXphaGx1bmcgaGluYXVzZ2VoZW5kZSBCbHV0c3BlbmRlIHZvbiBldHdhCjUwMCBtbCBhbiBkYXMgb3J0c2Fuc2Flc3NpZ2UgTXVlY2tlbmtvbWJpbmF0IHp1IHRhZXRpZ2VuLiBFaW5lIHNvbGNoZSBBa3Rpb24KanVja3Qga2VpbmVuIHVuZCB0dXQgR3V0ZXMuCgpEaWUgcGhpbG9zb3BoaXNjaGUgRnJhZ2UsIG9iIHVtZmFsbGVuZGUgQmFldW1lIEdlcmFldXNjaGUgdmVydXJzYWNoZW4sIGRpZQprZWluZXIgaG9lcnQsIGthbm4gYXVjaCBuYWNoIGRlbSBTb21tZXJrYWdlbGNhbXAgbmljaHQgYmVmcmllZGlnZW5kIGJlYW50d29yLQp0ZXQgd2VyZGVuLiBEYWZ1ZXIgZGFyZiBtYW4gbnVuIG1pdCBTaWNoZXJoZWl0IGJlaGF1cHRlbiwgZGFzcyBuYWVjaHRsaWNoZSAKR2VyYWV1c2NoZSB2b20gQXVzbWFzcyBlaW5lcyBLZXR0ZW5zYWVnZW5tYXNzYWtlcnMgZW50c3RlaGVuIGtvZW5uZW4sIG9obmUgCmRhc3MgaW4gZGVyZW4gRm9sZ2UgdGF0c2FlY2hsaWNoIEJhZXVtZSB1bWZhbGxlbi4gRGFzIHp3ZWl0ZSBwaGlsb3NvcGhpc2NoZSAKRXhwZXJpbWVudCwgb2IgY29vbGUgbGF1dGUgTXVzaWssIGRpZSBrZWluZXIgaG9lcnQsIHRhdHNhZWNobGljaCBHZXJhZXVzY2hlIAp2ZXJ1cnNhY2h0LCBlcmdhYiBlYmVuZmFsbHMgZWluZW4gcG9zaXRpdmVuIEJlZnVuZC4gVmllbGVuIERhbmsgYXVmIGRpZXNlbSAKV2VnZSBub2NoIGVpbm1hbCBhbiBkZW4gdW5iZWthbm50ZW4gQ2xvd24sIGRlciBtZWludGUsIGRhcyBLYXNzZXR0ZW5yZWtvcmRlci0Ka2FiZWwgZnVlciBlaW4gcGFhciBUYWdlIGF1c2JvcmdlbiB6dSBtdWVzc2VuLCBhdXMgd2VsY2hlbSBHcnVuZCBhdWNoIGltbWVyIAooaG9mZmVudGxpY2gsIHVtIHNpY2ggZGFtaXQgenUgc3RyYW5ndWxpZXJlbikuIAoKVW50ZXIgZGVuIHphaGxyZWljaGVuIFJQRy1HcnVwcGVuIHRhdGVuIHNpY2ggYmVzb25kZXJzIGRpZSBMaWZlLVJvbGxlbnNwaWVsZXIgCmhlcnZvciwgZGllIHNpY2ggYWxsZXNhbXQgYWxzIGx1c3RpZ2UgYXNvemlhbGUgQWxrb2hvbGlrZXIgdmVya2xlaWRldCBoYXR0ZW4uIApEaWVzZSB3YXJlbiBhdWNoIHNjaGxpZXNzbGljaCBkaWUgZWluemlnZW4sIGRpZSBmdWVyIGVpbmUgZ2VtZWluc2NoYWZ0c3N0aWYtCnRlbmRlIEZhaG5lIHNvcmd0ZW4uIFNvIHJpY2h0aWcgZGllIFNhdSBsaWVzc2VuIGFiZXIgbGV0enRsaWNoIGRpZSBWZXJhbnN0YWwtCnRlciByYXVzLCB3YXMgYWxzIGVpbmVyIGRlciBIb2VoZXB1bmt0ZSBkZXIgUGFydHkgYmV0cmFjaHRldCB3ZXJkZW4gZGFyZi4gCgpGYXppdDogTmFlY2hzdGUgUGFydHkgd2VyZGVuIHdpciBsZXR6dGUgUGFydHkgZ2VzYWd0IGhhYmVuOiBzbyBndXQgd2lyZHMgbmllIAogICAgICAgd2llZGVyIDopCiAKR3Jvc3NlbiBEYW5rIGFuIEhhdGUsIEhhbm5pLCBBbmFraW4sIER1cmluLCBKYXJpZWwsIEJlcm5oYXJkLCBBZHNvbiwgS2FsaSwgCkF1Z3JhLCBIdWVwZmVyLCBTdGV2ZSBNYXNvbiwgQW5kcmUgRHVjbG9zLCBOb0ZYLCBkZW4gcnVzc2lzY2hlbiBCZXRyaWVicy0Kc3lzdGVta29lbmlnLCBDcHQuIEZ1dHVyIElJLCB1bmQgYWxsZSBhbmRlcmVuIE9yZ2FuaXN0ZW4sIGJlc29uZGVycyBhbiBkaWUtCmplbmlnZW4sIGRpZSBmdWVyIGRhcyBXZXR0ZXIgdmVyYW50d29ydGxpY2ggd2FyZW4hCiAgVG9ldGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rZXNlaHIhIChBbGJvaW4sIDEyLiBBdWcgMTk5NiwgMjE6MTA6MDgpOgpBdWNoIHdlbm4gaWNoIG1pY2ggYmVpIGRlbiBIYXVwdGFrdHVlcmVuIHNjaG9uIGJlZGFua3QgaGFiZSwgd2lsbCBpY2ggbWljaApub2NoIG1hbCBiZWkgYWxsZW4gTGV1dGVuIGJlZGFua2VuIGRpZSBkaWUgenVtIEd1dGVuIEdlbGluZ2VuIGRlciBQYXJ0eQpiZWlnZXRyYWdlbiBoYWJlbiwgb2IgZXMgZGllIG5ldHRlbiBCZXJsaW5lciBPcmdhbmlzYXRvcmVuIHdhcmVuIG9kZXIgYXVjaApMZXV0ZSBkaWUgbWFsIHNwb250YW4genVnZXBhY2t0IGhhYmVuLCBhbGxlbiBhdWYgZGllc2VtIFdlZ2Ugbm9jaCBtYWwgZWluZW4KS251ZGRsZXIgdm9uIG1pci4KCkFsYm9pbgpQLlMuIC4uIHVuZCBpY2ggaGFzc2UgVHlwb3MhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYXNzZXQgdW5zIHNpbmdlbiEgKFJvdGVydHJvbGwsIDEyLiBBdWcgMTk5NiwgMjE6NDM6MTIpOgpFaW4gcm90ZXIgVHJvbGwgc2luZ3Q6CiAgTWFybW9yIFN0ZWluIHVuZCBFaXNlbiBicmljaHQKICBBYmVyIHVuc2VyZXIgWmFlaG5lIG5pY2h0CiAgS2VpbmVyIGtlaW5lciBrb21tdCB2b3JiZWkKICBTY2hsYWd0IGRlbiBGZWluZCB6dSBCcmVpIQoKRWluIHJvdGVyIFRyb2xsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhc3NldCB1bnMgc2luZ2VuISAoQXp6dXJvLCAxMi4gQXVnIDE5OTYsIDIzOjA5OjA0KToKfiMhIHJuPVJvdGVydHJvbGwgcnQ9ODM5ODc4OTkyCn4jISB0aWQ9ODM5ODc4OTkyCkRpZSBzY2h3YXJ6ZSBHcnVwcGUga29yaWdpZXJ0OgogIE1hbW9yIFN0ZWluIHVuZCBFaXNlbiBicmljaHQKICBzY2hpZXNzZW4gZGllIEJvZXNlbiBFdWNoIFdhc3NlciBpbnMgR2VzaWNodAogIG1pdCBUcm9sbGVuIGlzdCBlcyBzb2ZvcnQgdm9yYmVpCiAgZGllIFNjaHdhcnplbiBoYXUnbiBFdWNoIHp1IEJyZWkhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGFobGkgaXN0IGVpbiBXdXJzdHNlaGVyISA7KSAoQXp6dXJvLCAxMi4gQXVnIDE5OTYsIDIzOjI0OjAxKToKTnVyIHVtIGVpbmVtIGdlZmFlbHNjaHRlbiBBcnRpa2VsIG1laW5lcyBFcnpmZWluZGVzIFN0YWhsZG9ybiB2b3J6dWtvbW1lbjoKRXMgYmVnYWIgc2ljaCBpbSBKYWhyZSA5NiBkZXIgUmwtWmVpdHJlY2hudW5nLiBTdGFobGRvcm4sIHNlaW5lcyBaZWljaGVucwpTZWhlciwgdmVybGllcyBpbiBtYXNzbG9zZXIgU2VsYnN0dWViZXJzY2hhZXR6dW5nIHNlaW5lIGtsZWluZSB1bmQgc2ljaGVyZQpXZWx0IE1vcmdlbkdyYXVlbiB1bSBzaWNoIGluIGVpbmVyIGFuZGVyZW4gRGltZW5zaW9uIGRlbiBGcmV1ZGVuIGRlcyBMZWJlbnMKaGluenVnZWJlbi4KSmVkb2NoIGJlZGFjaHRlIGVyIG5pY2h0LCBkYXNzIGhpZXIgZHJhdXNzZW4gc2VpbiBFcnpmZWluZCBBenp1cm8gbmljaHQgbWVocgphbiBkaWUgaGVpbGlnZSBLb252ZW50aW9uIG5hbWVucyBNYWdpZXJ2ZXJ0cmFncyBnZWJ1bmRlbiB3YXIuClNvIGJlZ2FiIGVzIHNpY2gsIGRhc3Mgd2FlaHJlbmQgZXIgc2ljaCBkZW4gU3RyYWhsZW4gZGVyIFNvbm5lIGhpbmdhYgoobmF0dWVybGljaCBuZWJlbiBlaW5lciBiaWxkaHVlYnNjaGVuIGp1bmdlbiBNYWlkKSwgc2ljaCBwbG9ldHpsaWNoIGRpZSBlYmVuCm5vY2ggc28gd2FybWdlbGJlIFNvbm5lIGF6dXJibGF1IHZlcmZhZXJidGUgdW5kIGVpbiBiYXVtZ3Jvc3NlciBTY2hhdHRlbiAod2VubgphdWNoIG5pY2h0IGJhdW1icmVpdCkgYXVmCmlobiBmaWVsLiBFcnNjaHJvY2tlbiByaXNzIGVyIGRpZSBBdWdlbiBhdWYgdW5kIHNhaCBJSE46IFNlaW5lbiBFcnpmZWluZCEKS2VpbmUgQ2hhbmNlIHdpZSBpbSBNb3JnZW5ncmF1ZW4gc2ljaCBtaXQgV2VnZW1ha3JvcyBpbiBTaWNoZXJoZWl0IHp1IGJyaW5nZW4uCkRpZSBTdHVuZGUgZGVzIER1ZWxscyB3YXIgZ2Vrb21tZW4uClVtIGVzIGt1cnogenUgbWFjaGVuOiBVbnNlciBXdXJzdHNlaGVyIHVlYmVybGVidGUgdHJvdHogZ2xlaWNoZXIgV2FmZmVuIG51cgp3ZW5pZ2UgU2VrdW5kZW4uIEljaCBtb2VjaHRlIHVtIHNlaW5lIEVocmUgKGZhbGxzIGVyIGplIGVpbmUgYmVzYXNzKSBuaWNodCB6dQpzZWhyIHp1IHZlcmxldHplbiBuaWNodCBhdWYgRWluemVsaGVpdGVuIGVpbmdlaGVuLiBTb25zdCBtdWVzc3RlIGljaCBuYWVtbGljaApzY2hyZWliZW4sIGRhc3MgZXIgc2ljaAphdWYgZGVtIEJvZGVuIHdhbmQsIHBpdHNjaG5hc3MgdW5kIHdpZSBlaW4ga2xlaW5lcyBLaW5kIHZvciBkZW4gQXVnZW4gZGVyCnNjaG9lbmVuIE1haWQgdW0gR25hZGUgd2luc2VsdGUuIEFiZXIgZGFzIHdvbGxlbiB3aXIgaWhtIGphIGVyc3BhcmVuLgpBdWYgamVkZW4gRmFsbCBpc3QgZXMgamV0enQgYmV3aWVzZW4gU3RhaGxkb3JuOgpEVSBXSVJTVCBBVUYgRElFU0VSIFdFTFQgSU1NRVIgU0NIV0FFQ0hFUiBTRUlOIEFMUyBJQ0ghISEKCk1pdCBkaWVzZXIgU2NobWFjaCB3aXJzdCBEdSBsZWJlbiBtdWVzc2VuIChqZWRlbmZhbGxzIGJpcyB6dXIgbmFlY2hzdGVuIFBhcnR5KQpBenp1cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGFzc2V0IHVucyBzaW5nZW4hIChGeXQsIDEyLiBBdWcgMTk5NiwgMjM6MjQ6MDkpOgp+IyEgcm49QXp6dXJvIHJ0PTgzOTg4NDE0NAp+IyEgdGlkPTgzOTg3ODk5MgoKQWxsc28gaWNoIGhhYmJlcyBzY2hvaG4gaW1tZXIgZ2V3dXN0OgpEaSBTY2h3YXRzZW4ga29lbmVuIG5pY2ggbWFsIHJlaWhtZW4uIFBvZWghCgouIHh4eAouIChUcm9sbCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGFobGkgaXN0IGVpbiBXdXJzdHNlaGVyISA7KSAoTXVwZmVsLCAxMy4gQXVnIDE5OTYsIDA4OjQ5OjEyKToKfiMhIHJuPUF6enVybyBydD04Mzk4ODUwNDEKfiMhIHRpZD04Mzk4ODUwNDEKVmllbGxlaWNodCBoYXR0ZSBlciBqYSBMYWc/IDotKQoKKGhhbSBkaWUgb2VzaXMgamEgaW1tZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtPTU1FRUVFIChOYWlyb2xmLCAxMy4gQXVnIDE5OTYsIDA5OjI1OjE4KToKfiMhIHJuPVRvbGdhbiBydD04Mzk4NTA2OTEKfiMhIHRpZD04Mzk1OTQzODQKbmljaHQgPz8gKnN0YXVuKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT2ZmaXppZWxsZSBNaXR0ZWlsdW5nIGRlcyBNb3JnZW5HcmF1ZW4gLSBIb3NwaXRhbHMgKEdyaW1tZG9rdG9yLCAxMy4gQXVnIDE5OTYsIDA5OjM0OjQzKToKCkFlcnp0bGljaGVzIEJ1bGxldGluIE5yLjEgdWViZXIgZGVuIFp1c3RhbmQgdm9uIEdyaW1tYm9ybiBkZW0gQXRoZWlzdGVuCgpBbSBOYWNobWl0dGFnIGRlcyA3LjguMTk5NiBpc3QgR3JpbW1ib3JuIGRlciBBdGhlaXN0IGJlaW0gVm9sbGV5YmFsbHNwaWVsZW4gaW0KVm9yZmVsZCBkZXMgTW9yZ2VuR3JhdWVuLVNvbW1lci1DYW1wcyBtaXQgZGVtIGxpbmtlbiBGdXNzIHVtZ2Vrbmlja3QuIE5hY2gKZWluZXIga3VyemVuIFBhdXNlIGtvbm50ZSBlciBkYXMgU3BpZWwgd2llZGVyIGF1Zm5laG1lbi4gTWl0IHNlaW5lbQpoZWxkZW5oYWZ0ZW4sIGF1Zm9wZmVydW5nc3ZvbGxlbiBFaW5zYXR6IGhhdCBlciBkYW5uIHNlaW4gVGVhbSBpbW1lciB3aWVkZXIKdm9yIGVpbmVyIG5vY2ggaG9laGVyZW4gTmllZGVybGFnZSBiZXdhaHJ0LiBSdW5kIHNpZWJlbiBTYWV0emUgc3BhZXRlcgpuYWhtZW4gZGllIFNjaG1lcnplbiBhbGxlcmRpbmdzIHdpZWRlciB6dSwgc28gZGFzcyBlciBuYWNoIGRlbSBEdXNjaGVuIE9ldHRpCnVtIGVpbmUgZWxhc3Rpc2NoZSBCaW5kZSBiYXQuIEluIGdld29obnRlciBVbmZhZWhpZ2tlaXQgd2FyIE9ldHRpIG5pY2h0IGluCmRlciBMYWdlLCBkaWVzZSB6dSBiZXNvcmdlbi4gRGEgZGllIFNjaG1lcnplbiB3ZWl0ZXIgenVuYWhtZW4gYmF0IEdyaW1tYm9ybgpkZXIgQXRoZWlzdCBhbSBzcGFldGVuIEFiZW5kIEhhdGUsIGlobiB6dSBlaW5lciBuYWNodG9mZmVuZW4gQXBvdGhla2UgenUKZmFocmVuIHVtIGRvcnQgZWluZSBCaW5kZSB6dSBrYXVmZW4uIEF1Z3JhIGVya2xhZXJ0ZSBzaWNoIGViZW5mYWxscyBiZXJlaXQKbWl0enVrb21tZW4uIERhIGVzIHNpY2ggYWxzIG5pY2h0IHNvIGVpbmZhY2ggaGVyYXVzc3RlbGx0ZSBpbiBkZXIgbGFlbmRsaWNoZW4KR2VnZW5kIGRpZSBiZXd1c3N0ZSBBcG90aGVrZSB6dSBmaW5kZW4gZnVocmVuIHNpZSBnbGVpY2ggenVyIFJldHR1bmdzc3RhdGlvbgpSdWVkZXJzZG9yZi4gRG9ydCB3dXJkZSBuYWNoIGt1cnplciBVbnRlcnN1Y2h1bmcgZGVzIEdlbGVua3MgZWluZSBSb2VudGdlbi0KYXVmbmFobWUgZGVzIFNwcnVuZ2dlbGVua3MgYW5nZWZlcnRpZ3QuIEFuc2NobGllc3NlbmQgd3VyZGUgZGllIGJlaGFuZGVsbmRlCkFlcnp0aW4genUgZWluZW0gTm90ZmFsbGVpbnNhdHogZ2VydWZlbi4gRGllIFdhcnRlemVpdCB1ZWJlcmJydWVja3RlIEdyaW1tYm9ybgpkZXIgQXRoZWlzdCBkdXJjaCBlaWZyaWdlcyBSb2xsc3R1aGxmYWhydHJhaW5pbmcsIEF1Z3JhIHVuZCBIYXRlIGR1cmNoCmdlbWVpbnNhbWVzIEtvaGxkYW1wZnNjaGllYmVuLiBCZWkgZGVyIGFuc2NobGllc3NlbmRlbiBVbnRlcnN1Y2h1bmcgc3RlbGx0ZQpzaWNoIGhlcmF1cywgZGFzcyBkaWUgUm9lbnRnZW5hdWZuYWhtZW4gb2huZSBCZWZ1bmQgd2FyZW4sIGVpbmUgd2VpdGVyZQpVbnRlcnN1Y2h1bmcgZGVzIGxpbmtlbiBTcHJ1bmdnZWxlbmtzIGJyYWNodGUgamVkb2NoIGVpbmVuIGRyaW5nZW5kZW4Ka2xpbmlzY2hlbiBWZXJkYWNodCBhdWYgbGF0ZXJhbGUgRGlzdG9yc2lvbiBlaW5lciBTZWhuZSwgaW0gVm9sa3NtdW5kIGF1Y2gKIkJhZW5kZXJyaXNzIiBnZW5hbm50LiBBbHMgbGViZW5zcmV0dGVuZGUgU29mb3J0bWFzc25haG1lIGVpbmlndGUgbWFuIHNpY2ggYXVmCmVpbmVuIFRhcGV2ZXJiYW5kIC0gZXMgbXVzc3RlIFJ1ZWNrc2ljaHQgZ2Vub21tZW4gd2VyZGVuIGF1ZiB3ZWl0ZXJlCk5vdGZhbGxwYXRpZW50ZW4sIGRpZSBtaXQgTXVlY2tlbnN0aWNoZW4gc2Nod2VydmVybGV0enQgIGF1ZiBIaWxmZSBob2ZmdGVuLgpNaXQgZGllc2VtIFRhcGV2ZXJiYW5kIHdhciBkYXMgR2VsZW5rIHNvd2VpdCBzdGFiaWxpc2llcnQsIGRhc3MgR3JpbW1ib3JuIGRlcgpBdGhlaXN0IG9obmUgdW5taXR0ZWxiYXJlIEdlZmFociB0cmFuc3BvcnRpZXJ0IHdlcmRlbiBrb25udGUuIFp1cnVlY2sgaW0gQ2FtcApzdGVsbHRlIHNpY2ggaGVyYXVzLCBkYXNzIGdlZnJhZXNzaWdlLCBydWVja3NpY2h0c2xvc2UgTXVkZGVyIGZhc3QgZGFzIGdlc2FtdGUKR3JpbGxndXQgdmVybmljaHRldCBoYXR0ZW4gLSBlaW5lIGhlcmJlIEVudHRhZXVzY2h1bmcgZnVlciBBdWdyYSB1bmQgSGF0ZSwgZGllCnNpY2ggc28gYXVmIGVpbiBsZWNrZXJlcyBXdWVyc3RjaGVuIGdlZnJldXQgaGF0dGVuLiBHcmltbWJvcm4gZGVyIEF0aGVpc3QgaGF0CmRhbm4gbm9jaCBlaW4gcGFhciB0b3RlIFRpZXJlIGdlZ3JpbGx0LCBiZXZvciBlciBkYW5uIHVudGVyIGRlbiBBdWdlbiBkZXMKU2NobmVlaG9lcm5jaGVudG9ldGVycyBkZW4gV2VnIHp1bSBaZWx0IGFudHJhdC4KQXVzIGFlcnp0bGljaGVyIFNpY2h0IGJlc3RhbmQgenUgZGllc2VtIFplaXRwdW5rdCBrZWluIEVpbndhbmQgZ2VnZW4gZWluZQpSZWlzZSB2b24gR3JpbW1ib3JuIGRlbSBBdGhlaXN0ZW4gbWl0IGRlciBEQiB2b20gcmVjaHRzcmhlaW5pc2NoZW4gQmVybGluIGlucwpoZWltaXNjaGUgS29lbG4uCgpHcmltbWRva3RvciwgYmVoYW5kZWxuZGVyIEFyenQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9mZml6aWVsbGUgTWl0dGVpbHVuZyBkZXMgTW9yZ2VuR3JhdWVuIC0gSG9zcGl0YWxzIChHcmltbWRva3RvciwgMTMuIEF1ZyAxOTk2LCAwOTozNTo1OCk6CgpBZXJ6dGxpY2hlcyBCdWxsZXRpbiBOci4yIHVlYmVyIGRlbiBadXN0YW5kIHZvbiBHcmltbWJvcm4gZGVtIEF0aGVpc3RlbgoKQW0gQWJlbmQgZGVzIDguOC45NiB0cmF0IEdyaW1tYm9ybiBkZXIgQXRoZWlzdCBlaW5lIEJhaG5yZWlzZSB2b24gQmVybGluCm5hY2ggS29lbG4gYW4uIERpZXNlIHZlcmxpZWYgcmVsYXRpdiBlcmVpZ25pcy0gdW5kIHNjaG1lcnpsb3MuIEFtIE1vcmdlbiBkZXMKZm9sZ2VuZGVuIFRhZ2VzLCBGcmVpdGFnLCBkZW0gOS44Ljk2IGRhbm4gc3VjaHRlIGRlciBQYXRpZW50IGVpbmVuIG9lcnRsaWNoZW4KQ2hpcnVyZ2VuIGF1ZiB6d2Vja3MgVmVyYmFuZHN3ZWNoc2VsIHVuZCB3ZWl0ZXJlciBVbnRlcnN1Y2h1bmcuIERpZXNlciBDaGlydXJnCmJlc3RhZXRpZ3RlIGRpZSBEaWFnbm9zZSBzZWluZXIgKE9zdC0pIEtvbGxlZ2luIHVuZCBvcmRuZXRlIGRpZSBSdWhpZ3N0ZWxsdW5nCmRlcyBsaW5rZW4gU3BydW5nZ2VsZW5rZXMgbWl0dGVscyBlaW5lciBQbGFzdGlrc2NoaWVuZSBhbiwgZGllIGRhbm4gdm9uIGVpbmVyCktyYW5rZW5zY2h3ZXN0ZXIgYW5nZWZlcnRpZ3Qgd3VyZGUuIERpZXMgbGllZiBuYWNoIGFuZmFlbmdsaWNoZW4gQmVncmlmZnMtCnByb2JsZW1lbiAoR3JpbW1ib3JuIGRlciBBdGhlaXN0IGtvbm50ZSBtaXQgZGVtIEJlZ3JpZmYgIkt1bnN0c3RvZmZnaXBzIgpuaWNodHMgYW5mYW5nZW4sIGRhIEdpcHMgamEgYmVrYW5udGxpY2ggQ2FsY2l1bXN1bHBoYXQgRGloeWRyYXQgaXN0IHVuZApkYW1pdCAiS3Vuc3RzdG9mZmdpcHMiIGtlaW5lbiBTaW5uIGVyZ2lidCkgYXVjaCBwcm9ibGVtbG9zLCBzbyBkYXNzIGF1cwphZXJ6dGxpY2hlciBTaWNodCBrZWluZSBFaW53YWVuZGUgZ2VnZW4gZWluZW4gU2VnZWx0b2VybiBhbSBXb2NoZW5lbmRlIGVyaG9iZW4Kd2VyZGVuLCBzb2xhbmdlIEdyaW1tYm9ybiBkZXIgQXRoZWlzdCBzZWluIHRoZWF0cmFsaXNjaGVzIEh1bXBlbG4gYmVpYmVoYWVsdC4KRWluZSB3ZWl0ZXJlIFVudGVyc3VjaHVuZyB3aXJkIGFtIGtvbW1lbmRlbiBNb250YWcgZXJmb2xnZW4sIExlYmVuc2dlZmFocgpiZXN0ZWh0IG5pY2h0IG1laHIuCgpHcmltbWRva3RvciwgYmVoYW5kZWxuZGVyIEFyenQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggbWVociBULVNoaXJ0cz8gKENhdHdlYXpsZSwgMTMuIEF1ZyAxOTk2LCAxMDoxODo1Nyk6Ckd1Z2d1ZyEKClNvLCBpY2ggd2Vpc3MgbmljaHQgb2IgZXMgRXVjaCBhdWZnZWZhbGxlbiBpc3QsIGFiZXIgZWluIHBhYXIgTXVlbnN0ZXJhbmVyCmhhdHRlbiBlaW4gYW5kZXJlcyBULVNoaXJ0LCBhbHMgZGFzIG9mZml6aWVsbGUuIEF1ZiB1bnNlcmVtIHdhciBkYXMgTG9nbyAKdm9uIGRlbiBOYW1lbnNzY2hpbGRlcm4gZHJhdWYuCkljaCBoYWIgZWluaWdlIEFuZnJhZ2VuIHp1IGRpZXNlbSBuaWNodC1vZmZpemllbGxlbiBULVNoaXJ0IGJla29tbWVuIHVuZApoYWJlIG1pY2ggYmVyZWl0IGVya2xhZXJ0IGViZW5zb2xjaGUgbmFjaHp1bWFjaGVuIChMb2dvLCBNb3JnZW5HcmF1ZW4KZHJ1bnRlciwgTmFtZSBkcnVlYmVyKS4gRGEgZGFzIGFiZXIgQXJiZWl0IGlzdCwgd2lsbCBpY2ggZGFmdWVyIGF1Y2ggS29obGUKc2VoZW4sIHVuZCB6d2FyIDM1IERlRW1zLCB3YXMgX3ZpZWxsZWljaHRfIHdlbmlnZXIgd2lyZCwgd2VubnMgdmllbGUgCndlcmRlbi4gSWNoIHdlcmRlIEV1Y2ggZGFzIFQtU2hpcnQgZGFubiB6dXNjaGlja2VuIChpc3QgaW0gUHJlaXMgbWl0CmRyaW4pLgpBbHNvLCB3ZXIgc28gZWlucyBoYWJlbiB3aWxsLCBzY2hpY2tlIG1pciBlaW5lIE1haWwgbWl0IGZvbGdlbmRlbSBJbmhhbHQ6Ci0gTmFtZSBkZXIgYXVmIGRlbSBUc2hpcnQgc3RlaGVuIHNvbGwKLSBHcm9lc3NlIGRlcyBULVNoaXJ0cwotIEFkcmVzc2UsIHdvIGljaHMgaGluc2NoaWNrZW4gc29sbAoKV2VyIGVpbnMgaGFiZW4gd2lsbCwgc29sbHRlIGlubmVyaGFsYiBkZXIgbmFlY2hzdGVuIDIgV29jaGVuIG1haWxlbiB1bmQKaW5uZXJoYWxiIGRlciBuYWVjaHN0ZW4gMyBXb2NoZW4gZGllIDM1RE0gYXVmIGRhcyBLb250bzoKRGV1dHNjaGUgQmFuayBNdWVuc3RlcixLb250by1Oci46MDIyNDQzNixCTFo6NDAwNzAwODAsVXNlcjogQ2hyaXN0aWFuIFNjaGlsZAp1ZWJlcndlaXNlbi4KCk9rLCBkYXMgd2FycywgYWNoamEgdW5kIEdyYXRzIGFuIGRpZSBGZXRlbi1Pcmdhbml0b3JlbiEKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEkgc2F5IGJvbmpvdXIsIHlvdSBzYXkgZ29vZGJ5ZSAoUmFmZmksIDEzLiBBdWcgMTk5NiwgMTE6NDA6NTQpOgp+IyEgcm49VG9ldGVyIHJ0PTgzOTg3MzQzMAp+IyEgdGlkPTgzOTg3MzQzMAoKPiAuLi5sdXN0aWdlIGFzb3ppYWxlIEFsa29ob2xpa2VyIHZlcmtsZWlkZXQgaGF0dGVuLiBEaWVzZSB3YXJlbiBhdWNoCj4gc2NobGllc3NsaWNoIGRpZSBlaW56aWdlbiwgZGllIGZ1ZXIgZWluZSBnZW1laW5zY2hhZnRzc3RpZnRlbmRlIEZhaG5lCj4gc29yZ3Rlbi4KCkUgSSBOIFMgUCBSIFUgQyBIICEKCkdydXNzCkguCgooSC4ga2FubiBtaW5zZXN0ZW5zIDExIE1vbmF0ZSBsYW5nIE5hZGVsIGluZCBGYWRlbiBuaWNodCBtZWhyIHNlaGVuLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIG1laHIgVC1TaGlydHM/IChGcmVkZXJpY2ssIDEzLiBBdWcgMTk5NiwgMTM6MjA6NDUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgzOTkyNDMzNwp+IyEgdGlkPTgzOTkyNDMzNwpXaWUgaXN0IGRhcyBtaXQgZGVuIFQtU2hpcnRzLCBzdGVodCBkYW5uIGF1ZiBkZXIgUnVlY2tzZWl0ZSBiZWltIE5hbWVuIGViZW4tCnNvbGNoZXIgVW5zaW5uIHZvbiB3ZWdlbiBkYXMgTUcgd2FlcmUgdW50ZXIgaHR0cDovLyBpcmdlbmR3YXMgenUgZXJyZWljaGVuPwpPZGVyICJEYXMgSW50ZXJuZXQsIGF1Y2ggV1dXIGdlbmFubnQiIG9kZXIgc2NocmVpYmVuIFNpZSBlaW5lIEllaC1NZWhsCmFuIEZUUDovL2ZyZWRAZm1sLnR1d2llbi5hYy5hdCBvZGVyIGthbm4gbWFuIGRhcyBlaW5zcGFyZW4/CmxpZWJlIEdydWVzc2UsIGVpbiBhbiBUc2hpcnQgaW50ZXJlc3NpZXJ0ZXIgUGhyZWRlcmljay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvdG9zIHVucyBzY2FubmVuIHVuZCBzby4uLiAoVGFzaGEsIDEzLiBBdWcgMTk5NiwgMTM6Mjg6MjIpOgpIaSEKCkRhIGljaCBncmFkIHZlcmdlc3NlbiBoYWIgb2IgaWNoIGRhcyBzY2hvbm1hbCBpcmdlbmR3byBnZXNoY3JpZWJlbiBoYWIgc2NocmVpYgppY2hzIGVpbmZhaGMgbm9jaG1hbDoKCkVzIGdpYnQgaW56d2lzY2hlbiBkaWUgTW9lZ2xpY2tlaXQsIHNlaW5lIEZvdG9zIGRpcmVrdCBiZWltIGVudHdpY2tlbG4gbWl0CmVpbnNjYW5uZW4genUgbGFzc2VuLiBNYW4ga3JpZWd0IGRhbm4gYWxsZSBCaWxkZXIgYXVmIGVpbmVyIDMsNScnIERpc2tldHRlIGFscwpqcGcncyBtaXRnZWxpZWZlcnQuIERlciBTcGFzcyBrb3N0ZXQgMTAgTWFyayBleHRyYS4gRGEgZWluZSAzLDUnJy1EaXNrIG51cgpiZWdyZW56dGVuIFBPbGF0eiBoYXQgd2lyZCBkaWUgUXVhbGl0YWV0IG5pY2h0IHVubWFlc3NpZyBkb2xsIHNlaW4sIHdpcmQgYWJlcgpmdWVyIFdXVy1CaWxkZXIgYWxsZW1hbCBhdXNyZWljaGVuLiBXZXIgYWxzbyBrZWluZW4gU2Nhbm5lciBoYXQgdW5kIHNlaW5lZQpCaWxkZXIgdHJvdHpkZW0gendlY2tzIEVycHJlc3N1bmcgZWluc2V0emVuIHdpbGwgc29sbHRlIHNpY2ggbWFsIG5hY2gKZ3V0c29ydGllcnRlbiBGb3RvbGFlZGVuIHVtc2NoYXVlbiwgZGllIHNvd2FzIG1hY2hlbi4KCktudWRkZWxzLCBUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YWhsaSBpc3QgZWluIFd1cnN0c2VoZXIhIDspIChTdGFobGRvcm4sIDEzLiBBdWcgMTk5NiwgMTM6NDc6NTcpOgp+IyEgcm49QXp6dXJvIHJ0PTgzOTg4NTA0MQp+IyEgdGlkPTgzOTg4NTA0MQpPaCBOZWluISBPaCBOZWluIQoKSWNoIGRlbWVudGllcmUhIFRvdGFsISBWb2VsbGlnISBpbiBqZWRlciBIaW5zaWNodCEKRXMgd2FyIHZpZWxtZWhyIHNvOgpJY2ggKG1laW5lcyBaZWljaGVucyBTdGFobGRvcm4sIGRlciBsaWViZSB1bmQgbmV0dGUgS3VtcGVsIHVuZCBEYXVlcmtvZW5pZwpiZWltICJBcnNjaGxvY2giLXNwaWVsZW4gKCpyYXVzcGVyKiksIGxpZWdlIGFuIGVpbmVtIHd1bmRlcnNjaG9lbmVuIFNhbXN0YWcKbmViZW4gRHVzdHkgYXVmIGRlbSBaZWx0cGxhdHogdm9ubSBLYWdlbCBpbiBkZXIgU29ubmUgdW5kIGxlc2UgZWluIHVuZ2VtZWluCmludGVyZXNzYW50ZXMgRmFudGFzeV5IXkheSF5IXkheSF5IXkhwb3B1bGFlcndpc3NlbnNjaGFmdGxpY2hlcyBCdWNoLCBhbHMKdXJwbG9ldHpsaWNoIGF1cyBoZWl0ZXJlbSwgamEgcHJha3Rpc2NoIHdvbGtlbmxvc2VtIEhpbW1lbCBlaW4gYXp1cmJsYXVlcgpEYWVtb24gc2lvY2ggYXVmIG1pY2ggc3R1ZXJ6dGUgdW5kIHVudGVyIE1pdGhpbGZlIHNlaW5lciBFaGVmcmF1IHVuZApNdW5pdGlvbnN0cmFlZ2VyaW4gVWxvIGF1ZiBlcmJhZW1saWNoc3RlIHVuZCBuaWVkZXJ0cmFlY2h0aWdzdGUgQXJ0IHVuZCBXZWlzZQp2ZXJzdWNodGUgbWljaCBtaXQgZ2VmYWVocmxpY2hlbSwgd2VpbCBrb3Jyb3Npb25zZm9lcmRlcm5kZW0gV2Fzc2Vyc3RvZmZkaW94aWQKenUgdmVyZ2lmdGVuLiBJY2ggd2ljaCB6d2FyIGluIGhlcm9pc2NoZW4gV2luZHVuZ2VuIGRlbiBtZWlzdGVuIHNlaW5lcgpnZW1laW5lbiBBbmdyaWZmZSBhdXMsIGFiZXIgd2FyIGluZm9sZ2UgZGVyIFVlYmVybWFjaHQgbGV0enRlbmRsaWNoIHp1bQpTY2hlaXRlcm4gdmVydXJ0ZWlsdC4KQXp6dXJvLCB1ZWJlciBtaXIgc3RlaGVuZCB1bmQgc2ljaCBpbiBzYWRpc3Rpc2NoZXIgV2Vpc2UgYW4gbWVpbmVuIFF1YWxlbgplcmdvZXR6ZW5kLCB3aWxsaWd0ZSBudW4gaW4gYm9lc2FydGlnIGhpbnRlcmxpc3RpZ2VyIEFic2ljaHQgYXVmIG1laW5lbgpWb3JzY2hsYWcgaGluIHp1IGVpbmVtIER1ZWxsIGVpbi4KQWJlciB3ZWxjaCBlaW4gR3JhdXMhClNlaW5lIG5pY2h0IG1pbmRlciB2ZXJkb3JiZW5lIEdhdHRpbiB1bmQgU2VrdW5kYW50aW4gbXVzc3RlIG5hdHVlcmxpY2gKYmV0cnVlZ2VuIHVuZCBpY2ggbWl0IG1pbmRlcndlcnRpZ2VtIFdhZmZlbm1hdGVyaWFsIGF1c3J1ZXN0ZW4hIFNjaGllYnVuZyEKR2xlaWNoIG5hY2ggZGVtIGVyc3RlbiBBbmdyaWZmIGxvZXN0ZSBzaWNoIGRpZSBTcHJpdHpmbGFzY2hlIG5hZW1saWNoIHNvZm9ydAppbiBhbGxlIEVpbnplbHRlaWxlIGF1ZiwgdW5kIGljaCB3YXIgZWlubWFsIG1laHIgc2NodXR6bG9zIGRlbiBncmF1c2FtZW4KQW5ncmlmZmVuIG1laW5lcyBFcnpmZWluZGVzIGF1c2dlbGllZmVydCEgVmFlIHZpY3RpcyEKS2VpbiBXdW5kZXIsIGRhc3Mgc2ljaCAiU29ubmVuZ290dCIgQXp6dXJvIG5pY2h0IHRyYXV0ZSwgZGllc2UgRXBpc29kZSBiZWkKc2VpbmVtIEFydGlrZWwgenUgZXJ3YWVobmVuISBFciB3aWxsIGVpbmZhY2ggbnVyIHNlaW5lIFdlc3RlIHdlaXNzLCBhZWgsIGF6dXIKaGFsdGVuLgoKQXp6dXJvIGlzdCBlaW4gZ2VtZWluZXIgVmVycmFldGVyIHVuZCBMdWVnbmVyIQoKU1RBSExpLiAgIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYXMgZXJzdGUgRm90byEgOykgKEd1bGR1a2F0LCAxMy4gQXVnIDE5OTYsIDE0OjI5OjAwKToKU28sIGljaCBoYWIgZXMgZ2VzY2hhZmZ0OiBkYXMgZXJzdGUgZm90byBpc3QgZmVydGlnISEhISEgOykKCmh0dHA6Ly9lcm5pZS5vcmNoLnJ1aHItdW5pLWJvY2h1bS5kZS9tZwp3ZWl0ZXJlIHdlcmRlbiBmb2xnZW4gKG11c3N0ZSBlcnN0bWFsIGRlbiBzY2FubmVyIGthbGlicmllcmVuLCBkZXIgc3RlaHQgYXVmCmVyaW5lciB6aXAgaW5zZWwsIHVuZCBkaWUgZ3JhZmlrYXJ0ZSBtYWNodCBudXIgMTYgZmFyYmVuLiBhbHNvIHNjYW5uZW4sIGZ0cGVuCnp1bSBsZWhyc3R1aGwsIGFuZ3Vna2NuZSwgdmllbCB6dSBkdW5rZWwsIHp1cnVlY2ssIHNjYW5uZXIgYmVzZXR6dCBldGMgLi4uLi4KCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2ggbWVociBULVNoaXJ0cz8gKENhdHdlYXpsZSwgMTMuIEF1ZyAxOTk2LCAxNDozOToxNik6Cn4jISBybj1GcmVkZXJpY2sgcnQ9ODM5OTM1MjQ1Cn4jISB0aWQ9ODM5OTI0MzM3CkFzIEkgdG9sZCB5b3UhCgpMb2dvLCBNb3JnZW5HcmF1ZW4gdW50ZW4sIE5hbWUgb2JlbiwgYWxsZXMgdm9ybmUsIG5vdGhpbmcgZWxzZSAuLi4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVpdGVyZXMgR3JpbGxmZXN0IChRaXRlc3MsIDEzLiBBdWcgMTk5NiwgMTU6MTA6MDYpOgp+IyEgcm49Um9jaHVzIHJ0PTgzOTg0MjIwMAp+IyEgdGlkPTgzOTg0MjIwMAoKcWl0ZXNzIGxhY2h0IHNpY2gga3JpbmdlbGlnIDopCgouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdGFobGkgaXN0IGVpbiBXdXJzdHNlaGVyISA7KSAoVWxvLCAxMy4gQXVnIDE5OTYsIDE1OjEzOjQzKToKfiMhIHJuPVN0YWhsZG9ybiBydD04Mzk5MzY4NzcKfiMhIHRpZD04Mzk4ODUwNDEKCkljaCBnbGF1YiBpY2ggbGVzIG5pY2h0IHJlY2h0LiBEdSB3YWdzdCBlcywgZGVtIG9iamVrdGl2IHVuZCB1bnBhcnRlaWlzY2gKZ2VzY2hyaWViZW5lbSBBcnRpa2VsIG1laW5lcyBHYXR0ZW4genUgd2lkZXJzcHJlY2hlbj8/Pz8/CkZvbGdlbmRlIEZlaGxlciBoYWJlbiBzaWNoIGluIERlaW5lbSB3aWRlcmxpY2hlbiwgdGVuZGVuemlvZXNlbiBBcnRpa2VsCmVpbmdlc2NobGljaGVuIChiencuIHNpbmQgZWluZ2ViYXV0IHdvcmRlbik6CmEpCj4gbWl0IGdlZmFlaHJsaWNoZW0sIHdlaWwga29ycm9zaW9uc2ZvZXJkZXJuZGVtIFdhc3NlcnN0b2ZmZGlveGlkCj4genUgdmVyZ2lmdGVuLgpFcyB3YXIgIkRpaHlkcm9nZW5pdW1tb25veGlkIiwgZWluIGF1ZiBkZW0gWmVsdHBsYXR6IGR1cmNoYXVzIGdhZW5naWdlcgpLYW1wZnN0b2ZmLiBJbSB1ZWJyaWdlbiBoYWJlbiB3aXIgYXVzIHJlaW5lciBNZW5zY2hlbmxpZWJlIGRhcmF1ZiB2ZXJ6aWNodGV0LApkZW4gRXJibGluZHVuZ3NzdG9mZiBTYWlGZWggYmV6dW1pc2NoZW4uCmIpCj4gU2VpbmUgbmljaHQgbWluZGVyIHZlcmRvcmJlbmUgR2F0dGluIHVuZCBTZWt1bmRhbnRpbiBtdXNzdGUgbmF0dWVybGljaAo+IGJldHJ1ZWdlbiB1bmQgaWNoIG1pdCBtaW5kZXJ3ZXJ0aWdlbSBXYWZmZW5tYXRlcmlhbCBhdXNydWVzdGVuISBTY2hpZWJ1bmchCk1pbmRlcndlcnRpZ2VzIE1hdGVyaWFsPyBNZWluZSBlaWdlbmUgV2FmZmUsIG1pdCBkZXIgaWNoIHNjaG9uIHZpZWxlClNjaGxhY2h0ZW4gZ2VzY2hsYWdlbiBoYWJlLCBuaWNodCB6dSB2ZXJnZXNzZW4gZGllIGdlZ2VuIGRpZSBnZW1laW5lCkVkZWxzdGFobHJhdHRlLCBkZXIgbWVpbiBHYXR0ZSB1bmQgaWNoIHRyb3R6IGhvZmZudW5nc2xvcyB1bnRlcmxlZ2VuZW4KV2FmZmVuIGVpbiBVbmVudHNjaGllZGVuIHVuZCBlaW4gVC1TaGlydHdlY2hzZWwgYWJ0cm90emVuIGtvbm5lbi4KVW5kIGRpZXNlIFdhZmZlIHdpbGxzdCBEdSwgZGVyIER1IHZvbiBLYWVtcGZlbiBlcndpZXNlbmVybWFzc2VuIGtlaW5lbgpibGFzc2VuIFNjaGltbWVyIGhhc3QsIGFscyBtaW5kZXJ3ZXJ0aWcgYmV6ZWljaG5lbj8/Pz8/Pz8KYykKPiBHbGVpY2ggbmFjaCBkZW0gZXJzdGVuIEFuZ3JpZmYgbG9lc3RlIHNpY2ggZGllIFNwcml0emZsYXNjaGUgbmFlbWxpY2ggc29mb3J0Cj4gaW4gYWxsZSBFaW56ZWx0ZWlsZSBhdWYsIC4uLgpLbGFyZXIgQmVkaWVudW5nc2ZlaGxlciEgRGllIFNwcml0emZsYXNjaGUgaGF0IERUX1NQTEFTSCB1bmQgZWJlbiBuaWNodApEVF9CTFVER0VPTiAob2RlciBmdWVyIERpY2ggZXR3YXMgZWluZmFjaGVyIGF1c2dlZHJ1ZWNrdDogRGllIEZsYXNjaGUKaXN0IHp1bSBTcHJpdHplbiBkYSB1bmQgbmljaHQgenVtIFp1c2NobGFnZW4uKSBXZXIgaW4gU3RlaW56ZWl0bWFuaWVyIAp2ZXJzdWNodCwgZGllIEZsYXNjaGUgYWxzIEtldWxlIHp1IHZlcndlbmRlbiwgbWFjaHQgc2llIGRhbWl0IG5hdHVlcmxpY2gKa2FwdXR0LgoKRmFzc2VuIHdpciBhbHNvIHp1c2FtbWVuOiBEYXMgRHVlbGwgd2FyIGZhaXIuIERlciBTaWVnZXIgc3RhbmQgZGFuayAKU3RhaGxkb3JucyBVbmZhZWhpZ2tlaXQgendhciBzY2hvbiB2b3JoZXIgZmVzdCwgYWJlciBlciB3b2xsdGUgZXMgamEgbmljaHQKYW5kZXJzLiBBbGxlcyBhbmRlcmUgaXN0IGdlbG9nZW4hCgpVbG8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaYWhsZW4hIChDYXR3ZWF6bGUsIDEzLiBBdWcgMTk5NiwgMTY6MTE6NTApOgpDYXR3ZWF6bGUgd3VlcmRlIGdlcm5lIHdpc3Nlbiwgd2lldmllbGUgZGVubiBudSBkYSB3YXJlbj8KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmFobGVuISAoQW5ha2luLCAxMy4gQXVnIDE5OTYsIDE2OjEzOjE1KToKfiMhIHJuPUNhdHdlYXpsZSBydD04Mzk5NDU1MTAKfiMhIHRpZD04Mzk5NDU1MTAKSGksCgplcyB3YXJlbiBrbmFwcCB1ZWJlciAxNTAuCkdlbmF1ZXJlIFphaGxlbiBnaWJ0IGVzIG5hY2ggZGVtIEJlcmxpbmVyIFN0YW1tdGlzY2ggd2VubiBIYXRlIGRpZSBVbnRlci0KbGFnZW4gbmljaHQgdmVyZ2lzc3QgOikKCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWmFobGVuISAoR3VsZHVrYXQsIDEzLiBBdWcgMTk5NiwgMTY6NDA6NTEpOgp+IyEgcm49QW5ha2luIHJ0PTgzOTk0NTU5NQp+IyEgdGlkPTgzOTk0NTUxMAppY2ggc2NoYWV0emUgbWFsIDk4LDMgcHJvemVudCwgY2F0ISA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT2ZmaXppZWxsZSBNaXR0ZWlsdW5nIGRlcyBNb3JnZW5HcmF1ZW4gLSBIb3NwaXRhbHMgKEdyaW1tZG9rdG9yLCAxMy4gQXVnIDE5OTYsIDE2OjQwOjUxKToKCkFlcnp0bGljaGVzIEJ1bGxldGluIE5yLjMgdWViZXIgZGVuIFp1c3RhbmQgdm9uIEdyaW1tYm9ybiBkZW0gQXRoZWlzdGVuCgpOYWNoIGVpbmVtIGltIFByaW56aXAgZ2VnbHVlY2t0ZW4sIGplZG9jaCBtaXQgd2VuaWcgV2luZCB2ZXJzZWhlbmVtIFNlZ2VsdG9lcm4KYW0gV29jaGVuZW5kZSBiZWdhYiBzaWNoIEdyaW1tYm9ybiBkZXIgQXRoZWlzdCB3aWVkZXIgaW4gYWVyenRsaWNoZQpCZWhhbmRsdW5nLi4KRXMgd3VyZGUgZmVzdGdlc3RlbGx0LCBkYXNzIGFsbGVzIG5hY2ggV3Vuc2NoIHVuZCBQbGFuIHZlcmxpZWYuIERpZQpQbGFzdGlrc2NoaWVuZSBtdXNzIHZpZXIgV29jaGVuIGdldHJhZ2VuIHdlcmRlbiwgd2VubiBrZWluZSBLb21wbGlrYXRpb25lbgphdWZ0cmV0ZW4gaXN0IGJpcyBkYWhpbiBrZWluZSB3ZWl0ZXJlIEJlaGFuZGx1bmcgbm9ldGlnLiAKU29taXQgaXN0IGF1c3NlciB0aGVhdHJhbGlzY2hlbSBIdW1wZWxuIGtlaW5lIEJlZWludHJhZWNodGlndW5nIGRlcgpMZWJlbnNxdWFsaXRhZXQgZ2VnZWJlbi4KCkdyaW1tZG9rdG9yLCBiZWhhbmRlbG5kZXIgQXJ6dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWmFobGVuISAoU2hha2VkYmVlciwgMTMuIEF1ZyAxOTk2LCAxNzowODo0OCk6Cn4jISBybj1HdWxkdWthdCBydD04Mzk5NDcyNTEKfiMhIHRpZD04Mzk5NDU1MTAKV2lyIGtvZW5uZW4gamEgYWJ6YWVobGVuIQoKU2hha2ViZGVlciAoMSkgLSBOaWNodCBzY2hsYWdlbiEhISA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWmFobGVuISAoUGFyYWNlbHN1cywgMTMuIEF1ZyAxOTk2LCAxNzoxMDowNik6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTgzOTk0ODkyOAp+IyEgdGlkPTgzOTk0NTUxMApIbW0sIGRhcyB3aXJkIG5pY2h0IGtsYXBwZW4sIFNoYWt5LiBUcm9sbHMga29lbm5lbiBkb2NoIG5pY2h0IHNvIGd1dAp6YWVobGVuIChXYXMga2FtIG5hY2ggIm1laHIgdmllbGUiID8pLgoKUGFyYWNlbHN1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFphaGxlbiEgKExhaWxhLCAxMy4gQXVnIDE5OTYsIDE3OjMwOjIyKToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9ODM5OTQ5MDA2Cn4jISB0aWQ9ODM5OTQ1NTEwCk5hY2ggbWVociB2aWVsZSBrYW0gZ2xhdWJlIGljaCBtZWhyIHZpZWxlIHZpZWxlLCBvZGVyID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvdG9zIChHdWxkdWthdCwgMTMuIEF1ZyAxOTk2LCAxODozNjoxMSk6Cgpzbywga25hcHAgMjAgZm90b3Mgc2luZCBqZXR6dCBlaW5nZXNjYW5udCwgbWVociBrb21tZW4gc3BhZXRlciEgCgpodHRwOi8vZXJuaWUub3JjaC5ydWhyLXVuaS1ib2NodW0uZGUvbWcvCgpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkaWNrZXMgbG9iIChMYXJpc3NhLCAxMy4gQXVnIDE5OTYsIDIxOjU3OjE4KToKfiMhIHJuPVdhcmdvbiBydD04Mzk4NDc3OTMKfiMhIHRpZD04Mzk4NDA1NTYKSm8sCndpZSBnZXNhZ3QsIGRpZSBIdWV0dGUgaXN0IHJlc2VydmllcnQsIGFiZXIgbm9jaCBuaWNodCBnZW1pZXRldC4uLgoKV2VubiBhbHNvIGVpbiBhbmRlcmVzIHNjaG9lbmVzIFN0YWR0Y2hlbiBlaW5lIFJpZXNlbmhvcmRlIE11ZGRlcgpmdWVyIGVpbiBwYWFyIFRhZ2UgdW50ZXJicmluZ2VuIGthbm4sIGRhbm4gbWVsZGV0IGV1Y2ggYml0dGUgc2NobmVsbCwKaW4gTXVlbnN0ZXIgaXN0IGVzIG5hZW1saWNoIGF1ZiBrZWluZW4gRmFsbCBkcmluIDE0MCBNYW5uL0ZyYXUgZnVlciAKZWluZSBnYW56ZSBXb2NoZSB1bnRlcnp1YnJpbmdlbiwgdW5kIGRhcyBDYW1wIGlzdCBqYSB3b2hsIGJlaSBhbGxlbgpzdXBlciBhbmdla29tbWVuLi4uCgpHcnVzcywgTGFyaSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWmFobGVuISAoRnl0LCAxMy4gQXVnIDE5OTYsIDIzOjAzOjE5KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9ODM5OTQ5MDA2Cn4jISB0aWQ9ODM5OTQ1NTEwCgpOYWNoICdtZWhyIHZpZWxlJyBrb21tdCB3YWhsd2Vpc2UKJ1VVVVVVVVVBQUFBQUFBQUFBQVJSUlJSUlJSUlJSUlJHR0dHR0dHR0hISEhISEhISEhISEhISEhISEgnCm9kZXIgZGFzIGhvZmZlbnRsaWNoIGhpbnJlaWNoZW5kIGJla2FubnRlIEthbXBmbGllZC4KClRyb2xsIHh4eC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcmZldGUgMTk5NyAoQm9pbmcsIDE0LiBBdWcgMTk5NiwgMTg6MTQ6MTEpOgpIYWxsbyBhbGxlcnNlaXRzLAoKbmFjaGRlbSBkaWUgZWluZSBGZXRlIHZvcmJlaSBpc3QsIG11c3MgbWFuIGphIGdsZWljaCBhbiBkaWUgbmFlY2hzdGUgZGVua2VuLApkZXNoYWxiIGRpZSBGcmFnZTogSGF0IHNjaG9uIGplbWFuZCB2b3IgZGllIEZydWVoamFocnNmZXRlIChvZGVyIGF1Y2ggV2ludGVyKQoxOTk3IHp1IG9yZ2FuaXNpZXJlbj8gV2VubiBuZWluLCBkYW5uIHd1ZXJkZSBzaWNoIEthcmxzcnVoZSBoaWVybWl0IG9mZml6aWVsbAp1bSBkaWVzZW4gVGVybWluIGJld2VyYmVuLiBSYWV1bWxpY2hrZWl0ZW4gdW5kIFNjaGxhZnBsYWV0emUgc2luZCB2b3JoYW5kZW4KdW5kIGtvZW5udGVuIHZvbiB1bnMgZ2VudXR6dCB3ZXJkZW4uIFdlbm4gZXMgRWlud2FlbmRlIGdlYmVuIHNvbGx0ZSwgZGFubgplcmhlYnQgc2llIEpFVFpUISBBbnNvbnN0ZW4gbXVlc3N0IGlociBtaXQgdW5zZXJlbSBPcmdhbmlzYXRpb25zdGFsZW50CmxlYmVuIC4uLiA6KQoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcmZldGUgMTk5NyAoR3V5YnJ1c2gsIDE0LiBBdWcgMTk5NiwgMTg6MTU6MjMpOgp+IyEgcm49Qm9pbmcgcnQ9ODQwMDM5MjUxCn4jISB0aWQ9ODQwMDM5MjUxCkljaCBoYWIgbml4IGRhbWl0IGFtIEh1dCA7KQoKR3V5YnJ1c2gsIHVub3JnYW5pc2llcnQsIGVpZ2VubnVldHppZywgcGxhbmxvcyB1bmQgYmlzIGRhaGluIHNvd2llc28gbmljaHQKbWVociBkYSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJmZXRlIDE5OTcgKEhhciwgMTQuIEF1ZyAxOTk2LCAxODoyNTo0Myk6Cn4jISBybj1Cb2luZyBydD04NDAwMzkyNTEKfiMhIHRpZD04NDAwMzkyNTEKQXVqYSBhdWphLCBkYSBiaW4gaWNoIGRhYmVpLCB1bmQgVGFtYXJhIG1pdCBTaWNoZXJoZWl0IGF1Y2ghCgpIYXIgKGhvZmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyZmV0ZSAxOTk3IChCZW5kZWlnaWQsIDE0LiBBdWcgMTk5NiwgMTk6NDk6MjYpOgp+IyEgcm49Qm9pbmcgcnQ9ODQwMDM5MjUxCn4jISB0aWQ9ODQwMDM5MjUxCldlbm4gZGVyIFRlcm1pbiBuaWNodCB1ZWJlciBkZW4gdHJhZGl0aW9uZWxsZW4gS29lbG4tV2VpaG5hY2h0cy1TdGFtbXRpc2NoCm9kZXIgYXVjaCBCZWluYWhlTmV1amFocnNTdGFtbXRpc2NoIChjKSBZYW50cm8gZmFlbGx0IG5laW4sIGRhbm4ga2VpbmUKRWlud2FlbmRlLgoKWidwYXIgU2VydnUsCiAgICAgICAgICAgQmVuZGVpZ2lkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYWNodHJhZy4uLiAoSGF0ZSwgMTUuIEF1ZyAxOTk2LCAwOTozNTo0Nik6Ck9mZml6aWVsbCB3YXJlbiAxNjQgUGVyc29uZW4gYW53ZXNlbmQuCk5hY2ggZGVyIEFicmVjaG51bmcgc2luZCBqZXR6dCBub2NoIGNhIDYwIERNIHVlYnJpZyB1bmQgbGVpZGVyIGtvZW5uZW4gCndpciBkYXZvbiBkYXMgdmVyZmFocmVuZSBTcHJpdGdlbGQgbmljaHQgYmV6YWhsZW4uIERhbWl0IHdlcmRlbiB3aXIKd29obCBsZWJlbiBtdWVzc2VuIG9kZXIgamVtYW5kIHNwZW5kZXQgd2FzLgpBbnNvbnN0ZW4gcmljaHRldCBzaWNoIHNvIGxhbmdzYW0gd2llZGVyIGFsbGVzLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYWNodHJhZy4uLiAoRW5neXd1Y2ssIDE1LiBBdWcgMTk5NiwgMTA6Mzg6MjkpOgp+IyEgcm49SGF0ZSBydD04NDAwOTQ1NDYKfiMhIHRpZD04NDAwOTQ1NDYKTmFqYSwgaWNoIGhhYiBETSAxNSB1ZWJlcndpZXNlbiwgd2VpbCBpY2ggZWlnZW50bGljaCBmcnVlaGVyIG1hbCBrb21tZW4Kd29sbHRlLCB3YXIgZGFubiBhYmVyIGRvY2ggbmljaHQgZGEuClNpZWgncyBhbHMgU3BlbmRlIDspCgpFbmd5IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcmZldGUgMTk5NyAoTGFpbGEsIDE1LiBBdWcgMTk5NiwgMTg6NTc6MjcpOgp+IyEgcm49Qm9pbmcgcnQ9ODQwMDM5MjUxCn4jISB0aWQ9ODQwMDM5MjUxCkF1Y2ggamEuIEFiZXIgYml0dGUgbmljaHQgZ2FueiBrdXJ6IHZvciBXZWlobmFjaHRlbi4gRGFubiBsaWViZXIgc2Nob24gc28gMi0zCldvY2hlbiB2b3JoZXIuIERhbm4gYmluIGljaCBtaXQgZGFiZWkgISBLZWluZSBGcmFnZSA6LSkKCkxhaWxhLCB3aWxsIGF1ZiBqZWRlbiBGYWxsIHp1ciBXZWlobmFjaHRzZmV0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKREFOS0UgKEthcnRvZmZlbCwgMTUuIEF1ZyAxOTk2LCAyMjozOTozNik6Ck5hY2hkZW0gVGlnZXJhdWdlIHVuZCBpY2ggdW5zIHZvbSBXb2NoZW5lbmRlIGVpbmlnZXJtYXNzZW4gZXJob2x0IGhhYmVuLAp3b2xsZW4gd2lyIGFsbGVuLCBkaWUgZGFzIFNvbW1lcmxhZ2VyIHZvcmJlcmVpdGV0IHVuZCBnZW1hbmFndCBoYWJlbgpOYWNoZGVtIFRpZ2VyYXVnZSB1bmQgaWNoIHVucyB2b20gV29jaGVuZW5kZSBlaW5pZ2VybWFzc2VuIGVyaG9sdCBoYWJlbiwKd29sbGVuIHdpciBhbGxlbiwgZGllIGRhcyBTb21tZXJsYWdlciB2b3JiZXJlaXRldCB1bmQgZ2VtYW5hZ3QgaGFiZW4KRUlOIFJJRVNFTkRJQ0tFUyBMT0IgCmF1c3NwcmVjaGVuLCBlcyB3YXIgYWJzb2x1dGUgU2FobmUuClZpZWxlbiBEYW5rICEhIQpLYXJ0b2ZmZWwgdW5kIFRpZ2VyYXVnZSAtIGtub2RkZWxuIGFsbGUgT3JnYW5pc2F0b3JlbiB1bmQgSGVsZmVybGVpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29zdGVuYWJyZWNobnVuZyBTb21tZXJjYW1wICc5NiAoSGF0ZSwgMTUuIEF1ZyAxOTk2LCAyMzozODozNik6ClNvLCBqZXR6dCBzaW5kIGRpZSBuZXVlc3RlbiBCZXJlY2hudW5nZW4gZmVydGlnIHVuZCBlcyBrb21tdCBlaW4gZXR3YXMKYmVzc2VyZXMgRXJnZWJuaXMgaGVyYXVzLCBzb2xsdGVuIHNpY2ggZGllIEFibmVobWVyIGZ1ZXIgZGllIGxldHp0ZW4gVC1TaGlydHMKZmluZGVuLgpFaW56dXNlaGVuIHVuZCBhdWYgRmVobGVyIGhpbiB1ZWJlcnBydWVmYmFyOgogIGh0dHA6Ly9tZy51bmktbXVlbnN0ZXIuZGUvSW5mb3JtYXRpb24vVHJlZmZlbi9QYXJ0eS42L0ZpbmFuemVuLnBzCiAgMjZrIFBvc3RTY3JpcHQuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvc3RlbmFicmVjaG51bmcgU29tbWVyY2FtcCAnOTYgKEhhdGUsIDE2LiBBdWcgMTk5NiwgMDg6MjI6MjMpOgp+IyEgcm49SGF0ZSBydD04NDAxNDUxMTYKfiMhIHRpZD04NDAxNDUxMTYKKmh1ZXN0ZWwqCkFsc28gd2VyIHNjaG9uIGhhZW1pc2NoIGdyaW5zZW5kIGRhc2Fzcywgc29sbHRlIHNpY2ggd2llZGVyIHp1cnVlY2toYWx0ZW4gOykKV0llIGVzIGF1c3NpZWh0IGhhYmUgaWNoIGRhIGVpbmVuIGtsZWluZW4gQnVnIGluIG1laW5lciBCZXJlY2hudW5nIDspCkRpZSBNZXRybyBSZWNobnVuZyB3dXJkZSBqYSBrb21wbGV0dCB2b24gbWlyIGJlemFobHQgKEhhdGUsIDE2MTYpLCBzbwpkYXNzIGRpZXNlIEtvc3RlbiBlaWdlbnRsaWNoIG5pY2h0IGluIGRlciBBYnJlY2hudW5nIGF1ZnRhdWNoZW4gZHVlcmZ0ZW4uClNvIHNpbmQgZGllc2UgS29zdGVuIHp3ZWltYWwgZHJpbiwgc28gZGFzcyBtZWhyIHVlYnJpZ2JsZWlidCBhbHMgYmVyZWNobmV0LgoKSGF0ZS4KUC5TLjogSWNoIGtvbW1lIGVyc3Qgd2llZGVyIGFtIE1vbnRhZyBhbiBtZWluZSBLYWxrdWxhdGlvbiwgc28gZGFzcwpzaWNoIGRpZSBLb3JyZWt0dXIgbm9jaCBlaW4ga2xlaW4gd2VuaWcgdmVyem9lZ2VybiB3aXJkLgpBbmFraW4gd2lyZCBzaWNoIGZyZXVlbiA7KSBCZW56aW5nZWxkIGlzdCAqd2FocnNjaGVpbmxpY2gqIGRyaW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJmZXRlIDE5OTcgKFlhbnRybywgMTYuIEF1ZyAxOTk2LCAwOTowMjo1MCk6Cn4jISBybj1MYWlsYSBydD04NDAxMjgyNDcKfiMhIHRpZD04NDAwMzkyNTEKQWxzbyBlaW5lIFdpbnRlcmZldGUgd2FyIGJpcyBqZXR6dCBpbW1lciBzbyBpbSBGZWJydWFyLCB3ZWdlbiBkZXIgRmVyaWVuIHVuZApkYXNzIHNvbGx0ZSBhdWNoIHNvIGJsZWliZW4uIEFuZGVycyBpc3QgZGFzIG1pdCBkZW0gbGVnZW5kYWVyZW4KS29lbG5lclRyYWRpdGlvbnNTdGFtbXRpc2NoIChjKWljaCwgZGVyIHNpY2hlciBzbyB1bSBTaWx2ZXN0ZXIgc2VpbiB3aXJkLiBEaWVzCmlzdCBhYmVyIGVpZ2VudGxpY2gga2VpbmUgb2ZmaXppZWxsZSBGZXRlLCB3ZW5uIGVzIGF1Y2gKVWViZXJuYWNodHVuZ3Ntb2VnbGljaGtlaXRlbiBnZWJlbiB3aXJkIHVuZCBpY2ggc2ljaGVyIHdpZWRlciBtaXQgbWluZCA2NQpMZXV0ZW4gKHNvdmllbGUgd2FyZW4gZGFzIGRhcyBsZXR6dGUgTWFsKSByZWNobmUgOi0pCgogICAgICAgWWFudHJvIGRpZSBXZXJiZXRyb21tZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVyZmV0ZSAxOTk3IChQdW1hLCAxNi4gQXVnIDE5OTYsIDE1OjQ2OjI3KToKfiMhIHJuPUhhciBydD04NDAwMzk5NDMKfiMhIHRpZD04NDAwMzkyNTEKU3RlbGx0IHNjaG9uIG1hbCBkYXMgUGFydHlicmV0dCB3aWVkZXIgYXVmLi4uLgoKClB1bWEhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ludGVyZmV0ZSAxOTk3IChMYWlsYSwgMTYuIEF1ZyAxOTk2LCAxNjo1Njo1Myk6Cn4jISBybj1QdW1hIHJ0PTg0MDIwMzE4Nwp+IyEgdGlkPTg0MDAzOTI1MQpQYXJ0eWJyZXR0ZXI/Pz8gV28gV08gV28/CgpsYWlsYSB3aWxsIHNjaWggZWludHJhZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdGFobGkgaXN0IGVpbiBXdXJzdHNlaGVyISA7KSAoU3RhaGxkb3JuLCAxNy4gQXVnIDE5OTYsIDEzOjMyOjI3KToKfiMhIHJuPVVsbyBydD04Mzk5NDIwMjMKfiMhIHRpZD04Mzk4ODUwNDEKUGZvIQoKRGEgc2llaHQgbWFucyBtYWwgd2llZGVyIQpHZWdlbiBKaW1EaUdyaXogZGllICBFZGVsc3RhaGxyYXR0ZSEgSGEhIFR5cGlzY2guCklociB0cmF1dCBldWNoIGRvY2ggbnVyIGdlZ2VuIExldXRlLCBkaWUgZXJ3aWVzZW5lcm1hc3NlbiBnZWdlbiBIMk8gZXh0cmVtCmVtcGZpbmRsaWNoIHNpbmQhClVuZCBkYXMgbmF0dWVybGljaCBhdWNoIG51ciB6dSB6d2VpdC4KSWhyIEZlaWdsaW5nZS4KClNvZ2FyIFNUQUhMaSByb3N0ZXQgKG1hbmNobWFsKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbnRlcmZldGUgMTk5NyAoU2lsdmFuYSwgMTguIEF1ZyAxOTk2LCAxMjowOTo0MSk6Cn4jISBybj1MYWlsYSBydD04NDAyMDc0MTMKfiMhIHRpZD04NDAwMzkyNTEKSW4gbWVpbmVtIFdvcmtyb29tIHN0ZWh0IG5vY2ggZWlucy4gOy0pCgogU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3RhaGxpIGlzdCBlaW4gV3Vyc3RzZWhlciEgOykgKEppbWRpZ3JpeiwgMTguIEF1ZyAxOTk2LCAxMzozMDo1Nik6Cn4jISBybj1TdGFobGRvcm4gcnQ9ODQwMjgxNTQ3Cn4jISB0aWQ9ODM5ODg1MDQxCgpXYXM/Pz8KSDIwLWVtcGZpbmRsaWNoID8gaWNoID8KQmluIGljaCBhdXMgWnVja2VyID8/CgpFZGVsc3RhaGwgcm9zdGV0IGViZW50IG5pY2h0IDopClVlYmVyIGRhcyAidW5lbnRzY2hpZWRlbiIgbGllc3NlIHNpY2ggYXVjaCBub2NoCnN0cmVpdGVuLi4uLi4KCkppbSBCLiBkaUdyaXouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcmZldGUgMTk5NyAoUmFmZmksIDE5LiBBdWcgMTk5NiwgMTY6MjU6NDApOgp+IyEgcm49SGFyIHJ0PTg0MDAzOTk0Mwp+IyEgdGlkPTg0MDAzOTI1MQoKTGFldWZ0IGRpZSBBbm1lbGR1bmcgU2Nob24gPwoKUmFmZmkgaXN0IGRhYmVpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ludGVyZmV0ZSAxOTk3IChHdWxkdWthdCwgMTkuIEF1ZyAxOTk2LCAxOToyMDoxMik6Cn4jISBybj1SYWZmaSBydD04NDA0NjQ3NDAKfiMhIHRpZD04NDAwMzkyNTEKQXUgamEsIHVuZCBpY2ggbWFjaCBkYXMgSU9DLCBmYWhyIGRhbm4gbWl0IDIwMCBtYW5uIHZvcmhlciBqZWRlIHN0YWR0CmJlc2ljaHRpZ2VuLCB5b2NrZSBnZXNjaGVua2UgYWIsIGF1dG9zLCBzdHVkaWVucGxhZXR6ZSwgZnJhdWVuLCB1bmR3YXMgZGVuCmxldXRlbiB6dXIgYmVzdGVjaHVuZyBzb25zdCBub2NoIGdlYm90ZW4gd2lyZCwgdW5kIGhpbnRlcmhlciBsb3NlIGljaCwgd28gZXMKaGluZ2VodCEKOykKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbnRlcmZldGUgMTk5NyAoR3VsZHVrYXQsIDE5LiBBdWcgMTk5NiwgMTk6MjA6NDYpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODQwNDc1MjEyCn4jISB0aWQ9ODQwMDM5MjUxCmRhcyBlaW56ZWxuZSBlIGluIGRlciAyLiB6ZWlsZSBzb2xsdGUgJ3pvY2tlJyBoZWlzc2VuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm90b3MgKEd1bGR1a2F0LCAyMC4gQXVnIDE5OTYsIDE1OjIxOjQ4KToKaGUgbGV1dGUsIHdvIGJsZWlnZW4gZGllIGZvdG9zPz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZvdG9zIChKaW1kaWdyaXosIDIwLiBBdWcgMTk5NiwgMTg6NDM6MTUpOgpIaSwKCmljaCBoYWIgYXVjaG4gcGFhciBmb3RvcyBnZW1hY2h0IHVuZCAobGVpZGVyIHNjaGxlY2h0KQplaW5nZXNjYW5udApkaWUgYmlsZGVyIHNpbmQgdW50ZXIgaHR0cDovL2hvbWUucGFnZXMuZGUvfk1yLVNwb2NrL3BpY3MvbWcvIGFuenVrdWNrZW4KYXVzc2VyZGVtIGlzIGVpbiAudGFyIGltIG1nLnVuaS1tdWVuc3Rlci5kZS9HcmFmaWsvQmlsZGVyL2pkZy9zb21tZXJjYW1wLnRhcgoKd2VyIGxvb2t1cCBwcm9ibGVtZSBtaXQgaG9tZS5wYWdlcy5kZSBoYXQ6IDEyOS4xODcuMjIwLjQzCgpWaWVsIFNwYXNzLCB1bmQgc29ycnkgZnVlciBkaWUgc2NobGVjaHRlIHF1YWxpdGFldAogCkphbWVzIEJvbGl2YXIgZGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZm90b3MgKEdyaW1tYm9ybiwgMjEuIEF1ZyAxOTk2LCAwMTowODo0OSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODQwNTU5Mzk1Cn4jISB0aWQ9ODQwNTU5Mzk1CgpXYXMgYml0dGUgc29sbCAibGVpZGVyIHNjaGxlY2h0IGVpbmdlc2Nhbm50IiBoZWlzc2VuPwpCZXdlZyBEZWluZW4gZmF1bGVuIEhpbnRlcm4gdW5kIG1hY2hzIGJlc3NlciwgaW1tZXJoaW4gc29sbHRlc3QgRFUgamEgamV0enQKbWl0IGRlciBIYW5kaGFidW5nIGRlcyBzY2FubmVycyB2ZXJ0cmF1dCBzZWluLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbnNjYW5uZW4gdm9uIEJpbGRlcm4gKEhhdGUsIDIxLiBBdWcgMTk5NiwgMDg6MjY6MDEpOgpIaSwKCnZpZWxsZWljaHQgZWluIHBhYXIgVGlwcyB6dW0gZWluc2Nhbm5lbjoKCkJpbGRxdWFsaXRhZXQ6IDk2ZHBpIChEYXMgaXN0IGluIGV0d2EgZGllIEJpbGRzY2hpcm1hdWZsb2VzdW5nKQpUeXBlbjogLmdpZiBvZGVyIC5qcGcsIHdlciBkYXMgbmljaHQgdW13YW5kZWxuIGthbm4ga2FubiBtaXIgYmVsaWViaWdlCiAgICAgICBGb3JtYXRlIGdlYmVuLCBpY2ggaGFiIGVpZ2VudGxpY2ggZnVlciBhbGxlcyB3YXMuCkJldm9yIGlociBhbGxlIEJpbGRlciBlaW5zY2FubnQsIG5laG10IGVpbiBCaWxkIHVuZCBwcm9iaWVydCBtaXQgZGVtCktvbnRyYXN0LCBtZWlzdGVucyB3ZXJkZW4gZGllIEJpbGRlciB6dSBkdW5rZWwsIHNvIGRhc3MgaWhyIGRhIAp3YWhyc2NoZWlubGljaCBFaW5zdGVsbHVuZ2VuIGFlbmRlcm4gbXVlc3N0LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZm90b3MgKFJhZmZpLCAyMS4gQXVnIDE5OTYsIDEzOjIxOjA3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDA1ODI1MjkKfiMhIHRpZD04NDA1NTkzOTUKClNjaGxlY2h0IGdlc2Nhbm50IC0gdW5kIHp3YXIgc2Nob24gYmVpbSBwcmltYWVyZW4gU2NhbnZvcmdhbmcgbWl0IGRlciBLYW1lcmEhCkdycnJycnIuLi4uLi4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW50ZXJmZXRlIDE5OTcgKFJhZmZpLCAyMS4gQXVnIDE5OTYsIDEzOjIyOjQwKToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg0MDQ3NTIxMgp+IyEgdGlkPTg0MDAzOTI1MQoKSGllcm1pdCB3aXJkIGRpZSBncnVlbmR1bmcgZGVzIE5PSyBPYmVyYmF5ZXJuIChkYW1pdCBhdWNoIG5vY2ggcGxhdHogZnVlcgpFc2N1KiZEYXVlcmdhc3RzIE5PSyBGcmFua2VuIGJsZWlidCkgYmVrYW5udC4KCldpciBlcndhcnRlbiBkaWUgRWlubGFkdW5nIHp1ciBCZWd1dGFjaHR1bmcgZGVyIFdldHRrYW1wZnN0YWVkdGVuLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcmZldGUgMTk5NyAoQ2FyYWRocmFzLCAyMS4gQXVnIDE5OTYsIDIzOjEwOjE1KToKfiMhIHJuPVJhZmZpIHJ0PTg0MDYyNjU2MAp+IyEgdGlkPTg0MDAzOTI1MQpVbmQgd2FzIGlzdCBtaXQgZGVtIE5PSyBOaWVkZXJiYXllcm4/ICpxdWFrIGVudHNldHp0KgoKSW0gWnVzYW1tZW5mbHVzcyB2b24gRG9uYXUsIElubiB1bmQgSWx6IGhpZXIgaW4gUGFzc2F1IGhhdHMgdmllbApXYXNzZXIsIHBlcmZla3QgZnVlciBGcm9lc2NoZS4gV2VyZGV0IGFsbGUgRnJvc2NoIHVuZCBpaHIgZnVlaGx0CmV1Y2ggaGllciB3b2hsLgoKICAgZWluIGJsYXV3ZWlzcy1nZXJhdXRldGVyIEZyb3NjaCBtaXQgZ3J1ZW4tZ29sZGVuZW4gVHVwZmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcmZldGUgMTk5NyAoRnJlZGVyaWNrLCAyMi4gQXVnIDE5OTYsIDIwOjEwOjI5KToKfiMhIHJuPUxhaWxhIHJ0PTg0MDEyODI0Nwp+IyEgdGlkPTg0MDAzOTI1MQpEYXR1bSAiV2ludGVyZmV0ZSIgPyE/IFdpciB2b24gd2VpdGVtIGFucmVpc2VuZGVuIGtvZW5uZW4gbm9ybWFsZXJ3ZWlzZSBudXIKYW4gZGVtIGJpc2hlcmlnZW4gTm9ybWF0ZXJtaW4sIGlyZ2VuZHdhbm4gaW0gRmVicnVhciBhdWZ0YXVjaG4gOiggQWxzbyBWb3IgCldlaWhuYWNodGVuIHNjaGF1dHMgemllbWxpY2ggc2NobGVjaHQgYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmb3RvcyAoRnJlZGVyaWNrLCAyMi4gQXVnIDE5OTYsIDIwOjM2OjAyKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDA1ODI1MjkKfiMhIHRpZD04NDA1NTkzOTUKTmFqYSwgc28gdWViZWwgc2luZCBkaWUgZm90b3MgamEgbmljaHQsIG51ciB2aWVsIHp1IGR1bmtlbC4gQWJlciBtZWluIE5hbWUKaXN0IEZyZWRlcmljayB1bmQgbmljaHQgRnJlZGVyaWsgOikKbGcsIGZyZWRlcmljay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpbnRlcmZldGUgMTk5NyAoRnJlZGVyaWNrLCAyMi4gQXVnIDE5OTYsIDIwOjM4OjAwKToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDA2NjE4MTUKfiMhIHRpZD04NDAwMzkyNTEKTmllZGVyYmF5ZXJuIGlzIHdpcmtsaWNoIHNlaHIgZ3VhdCwgZGEga2FubiBtYW4gbmFlbWxpY2ggb2huZSBXZWx0cmVpc2VhcnRpZ2UKQW5yZWlzZSBoaW5rb21tZW4gOikKbGllYmUgbmFoZSBHcnVlc3NlLApQaHJlZGVyaWNrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2ludGVyZmV0ZSAxOTk3IChSYWZmaSwgMjIuIEF1ZyAxOTk2LCAyMTo1Nzo1Nyk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODQwNjYxODE1Cn4jISB0aWQ9ODQwMDM5MjUxCgpPaywgR2VtYWNodCAtIER1IFJpY2h0ZXN0IG5lIEZyb3NjaHBhcnR5IGF1cyA6KQoKR3JpbnMKSC4KKGFlaCBGcm9lc2NoZSBrYW5uIG1hbiBkb2NoIGltIFdJbnRlciBFaW5mcmllcmVuIG9kZXIgPyBhbHNvIGJlc3NlciBOZQpTb21tZXJwYXJ0eSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2ludGVyZmV0ZSAxOTk3IChDaGVhc3ksIDIyLiBBdWcgMTk5NiwgMjM6NTY6MDIpOgp+IyEgcm49UmFmZmkgcnQ9ODQwNzQzODc3Cn4jISB0aWQ9ODQwMDM5MjUxCmF1ZmkgenUgY2FyYSwgZ2VuYXUgOi0pCi1DaGVhc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbnRlcmZldGUgMTk5NyAoQm9pbmcsIDIzLiBBdWcgMTk5NiwgMTM6NTA6MTYpOgp+IyEgcm49RnJlZGVyaWNrIHJ0PTg0MDczNzQyOQp+IyEgdGlkPTg0MDAzOTI1MQpJY2ggd2Vpc3MgbmljaHQgd2VyIGRhcyBHZXJ1ZWNodCBhdWZnZWJyYWNodCBoYXQsIGRhc3MgZGllIEZldGUgdm9yIFdlaWgtCm5hY2h0ZW4gc2VpbiBzb2xsIC4uLiBkaWUgV2ludGVyZmV0ZSB3YXIgaW1tZXIgaW0gSmFudWFyIG9kZXIgRmVicnVhcgp1bmQgc28gd2lyZCBlcyBhdWNoIGJsZWliZW4sIHdlbm4gS0EgZGllIEZldGUgb3JnYW5pc2llcnQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbnRlcmZldGUgMTk5NyAoRW5neXd1Y2ssIDIzLiBBdWcgMTk5NiwgMTQ6MDY6NDEpOgp+IyEgcm49Qm9pbmcgcnQ9ODQwODAxMDE2Cn4jISB0aWQ9ODQwMDM5MjUxCkFsc28gYmVpIGRlciBsZXR6dGVuIFdpbnRlcmZldGUgZ2FiIGVzIChnbGF1YiBpY2gpIGVpbmlnZSBQcm9ibGVtZSwgd2VpbCBzaWUKcHJha3Rpc2NoZXJ3ZWlzZSBnZW5hdSBhbSBFbmRlIGRlcyBTZW1lc3RlcnMgenVyIEtsYXVzdXJlbnplaXQgbGFnLCB1bmQgc28KZWluaWdlIG5pY2h0IGtvbm50ZW4uCkRhIGRhcyBTZW1lc3RlciBlaWdlbnRsaWNoIGltbWVyIHNvIGJpbiBncm9iIE1pdHRlIEZlYnJ1YXIgZGF1ZXJ0LCB3YWVyIGVzCmRvY2ggcHJha3Rpc2NoLCBkaWUgUGFydHkgYXVmIE1pdHRlIGJpcyBFbmRlIEZlYnJ1YXIgenUgbGVnZW4/Ck51ciBzbyBhbHMgSGlud2Vpcy4uLgoKRW5neQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHl0ZXJtaW4gKEhvYm8sIDIzLiBBdWcgMTk5NiwgMTQ6MTU6MzEpOgpGZXRlIGt1cnogbmFjaCBTZW1lc3RlcmVuZGU/IERhIGdpYnQgZXMgZWluaWdlIFVuaXMvRmFlY2hlciwgZGllIGRhIG5vY2gKS2xhdXN1cmVuIGhhYmVuLgpJY2ggd2FlcmUgamEgZnVlciBWT1IgZGVyIEtsYXVzdXJlbnplaXQsIGFsc28gTWl0dGUvRW5kZSBKYW51YXIuCldpZSB3YWVyJ3M/CgoKICAgICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUC5TLiAoSG9ibywgMjMuIEF1ZyAxOTk2LCAxNDoxNjozNik6CkF1c3NlcmRlbSBrYW5uIG1hbiBkYSBkZW4gb2VkZW4sIGdyYXVlbiBXaW50ZXIgYmVzc2VyIHVlYmVyYnJ1ZWNrZW4sIHdlbm4gZGllCkZldGUgTkFIRSBpc3QuLi4KCgpub2NobWFsIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbnRlcmZldGUgMTk5NyAoTGFpbGEsIDIzLiBBdWcgMTk5NiwgMTY6MjY6NDkpOgp+IyEgcm49RnJlZGVyaWNrIHJ0PTg0MDczNzQyOQp+IyEgdGlkPTg0MDAzOTI1MQpOYSBpc3QgZG9jaCBXdW5kZXJiYXIgOi0pIERhbm4gYmlubiBpY2ggYXVjaCBtaXQgdm9uIGRlciBQYXJ0KHkpaWUKTGFpbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbnRlcmZldGUgMTk5NyAoQ2FyYWRocmFzLCAyMy4gQXVnIDE5OTYsIDE5OjE5OjU0KToKfiMhIHJuPUxhaWxhIHJ0PTg0MDgxMDQwOQp+IyEgdGlkPTg0MDAzOTI1MQpBbHNvIGhpZXIgaXN0IFNlbWVzdGVyZW5kZSBFbmRlIEZlYnJ1YXIsIGJpcyA1dGVyIE1hZXJ6IGV0d2EgUHJ1ZWZ1bmdlbi4KQWxzbyB3ZW5ucyB3byBnc2NoZWl0cyBpcyB1bmQgd2FubiBnc2NoZWl0cywga29tbSBzb2dhciBpY2ggdmllbGxlaWNodAptYWwgd2llZGVyLiA6KQoKICAgICAgIE9oIFNjaHJlY2suICo6XikgICAgIGRlciBibGF1d2Vpc3NlIEdvbGRmcm9zY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcmZldGUgMTk5NyAoV29vZHksIDI0LiBBdWcgMTk5NiwgMDE6NDA6MTcpOgp+IyEgcm49Q2FyYWRocmFzIHJ0PTg0MDgyMDc5NAp+IyEgdGlkPTg0MDAzOTI1MQouLi51bmQgSElFUiBpc3QgU2VtZXN0ZXJlbmRlIEVuZGUgSmFudWFyLCB1bmQgQW5mYW5nIE1hZXJ6IGdlaHQgc2Nob24KZGFzIG5hZWNoc3RlIFNlbWVzdGVyIGxvcy4gQmluIGRhaGVyIGZ1ZXIgQmVpYmVoYWx0ZW4gZGVzIGJpc2hlcmlnZW4KVGVybWlucyB2b24gTWl0dGUgRmVicnVhciBpcmdlbmR3YW5uLi4uCgpsZyB3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaW50ZXJmZXRlIDE5OTcgKEFuYXRvbCwgMjQuIEF1ZyAxOTk2LCAxNTowMDo0NSk6Cn4jISBybj1Xb29keSBydD04NDA4NDM2MTcKfiMhIHRpZD04NDAwMzkyNTEKCkF1Y2ggd2VubiAob2RlciBnZXJhZGUgV0VJTCkgZXMgdmVybXV0bGljaCBzbyBzY2huZWxsIGtlaW5lIE11ZGZldGUgaW4KT3NuYWJydWVjayBnZWJlbiB3aXJkLCBoYWV0dGUgaWNoIGZ1ZXIgZGllIG5hZWNoc3RlIGVpbmVuIGtsZWluZW4gVm9yc2NobGFnOgoKV2llIHdhZXJlIGVzLCBkZW4gUGFydHliZWl0cmFnIGFuenVoZWJlbiAoMzAtMzUgRE0pIHVuZCBkYW1pdCBkaWUgVmVyc29yZ3VuZwpkZXIgYXJtZW4gSXJyZW4gYWVoIE11ZGRlciBzaWNoZXJ6dXN0ZWxsZW4uIEljaCBmYW5kJyBpbiBCZXJsaW4gc2NoYWRlLCBkYXNzCmVzIEZyZWl0YWdhYmVuZC8tbmFjaHQga2VpbmUgYWxsenVncm9zc2UgRmx1ZXNzaWduYWhydW5nIHp1ciBWZXJmdWVndW5nIHN0YW5kLgpVbmQgZGllIEJlZ3J1ZW5kdW5nICJXYXMgdmVybGFuZ3N0IER1IGZ1ZXIgMTUgTWFyaz8iIGZpbmRlIGljaCBldHdhcwpiZXNjaGVpZGVuLgoKQW5hdG9sLCBkZXNzZW4gRmFocnRrb3N0ZW4gRVJIRUJMSUNIIG1laHIgYWxzIDM1IEJ1Y2tzIGJldHJ1Z2VuLgogClBTOiBBY2gsIGJpdHRlIHZlcnppY2h0ZXQgZG9jaCBiZWkgZGVyIG5hZWNoc3RlbiBQYXJ0eSBhdWYgZGllIGh0dHAtQWRyZXNzZQphdWYgZGVtIFQtU2hpcnQuIFdlbm4gaWNoIGRhcyBhdWYgZGVyIFVuaSBhbnppZWhlLCBzZXR6ZSBpY2ggbWljaAplcm5zdHp1bmVobWVuZGVuIEdlZmFocmVuIChpbiBGb3JtIGVpbmVzIEluZm9ybWF0aWstQWRtaW5zKSBhdXMuCgpQU1M6IE5laW4sIGljaCBmYW5kJyBkaWUgUGFydHkgbmljaHQgTlVSIFNjaGVpc3NlLCBncmF0cyBIYXRlICYgQ28uISA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlciAoVGFzaGEsIDI0LiBBdWcgMTk5NiwgMTY6MDA6MjApOgpIaSEKCkljaCBiaW4gZ3JhZGUgZGFiZWksIG1laW5lIEZvdG9zIHZvbSBTb21tZXJjYW1wIGlucyBpbmNvbWluZyBkZXMgTWcgenUKc2NoaWViZW4uCkRpZSB3ZXJkZW4gZGFubiBob2ZmZW50bGljaCAoYW4gd2VuIG11c3MgaWNoIG1pY2ggZGEgd2VuZGVuKSAodWxvIHNhZ3QgSGF0ZQp1ZG4gSmFuaWNlIHNhZ3QgZGFzIGF1Y2ggYWxzbyBIQUxMTyBIQVRFISA6KSBpcmdlbmR3YW5uIGF1ZiBkZW0gV1dXIGxhbmRlbi4KCktudWRkZWxzLCBUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2ludGVyZmV0ZSAxOTk3IChIYXRlLCAyNC4gQXVnIDE5OTYsIDE2OjA1OjIzKToKfiMhIHJuPUFuYXRvbCBydD04NDA4OTE2NDUKfiMhIHRpZD04NDAwMzkyNTEKSGFjaGphLCBBbmF0b2wsIHNvIHdpZSBEdSBzcHJpY2hzdCwgc2NocmVpYnN0IER1IGF1Y2guLi4gRHUgc29sbHRlc3QgRGljaApuaWNodCB2ZXJzdWNoZW4gc2VsYnN0IHp1IHVlYmVyaG9sZW4uCgpWaWVsbGVpY2h0IG1hbCB3YXMgZ3J1bmRzYWV0emxpY2hlcyB6dXIgUGFydHlwbGFudW5nLgoKRGllIEJlaXRyYWVnZSBzaW5kIGJpc2hlciBpbW1lciB2b24gZGVuIFBsYW5lbmRlbiBzZWxic3QgZW50c2NoaWVkZW4Kd29yZGVuLiBEYWJlaSBzcGllbGVuIGVpbmUgTWVuZ2UgRGluZ2UgZWluZSBSb2xsZToKICAgKiBVbnRlcmt1ZW5mdGUKICAgKiBBa3R1ZWxsZSBLYWxrdWxhdGlvbiB2b24gU3BlaXNlbiB1bmQgR2V0cmFlbmtlbgogICAqIEFuemFobCBkZXIgQW5nZW1lbGRldGVuCldpciBoYWJlbiBpbiBCZXJsaW4gdS5hLiBtaXQgZWluZ2VyZWNobmV0LCBkYXNzIGZ1ZXIgZGllIFVudGVya3VuZnQgenUgemFobGVuCndhciwgd2Vzd2VnZW4gd2lyIGRpZSBLb3N0ZW4gZXR3YXMgZ2VkcnVlY2t0IGhhYmVuLgpGdWVyIEZyZWl0YWcgd2FyIGVpbmRldXRpZyBTZWxic3ZlcnNvcmd1bmcgYW5nZXNhZ3QsIGFsbGVyZGluZ3MgZ2FiIGVzIG1pdApkZW0gQmllciBzbyBlaW4gcGFhciBQcm9ibGVtZSwgc293YXMga2FubiBwYXNzaWVyZW4uCgpXZW5uIER1IGVpbiBQcm9ibGVtIG1pdCBkZW0gVC1TaGlydCBpbiBkZWluZXIgVW5pIGhhc3QsIGhhc3QgRHUgZWluIEdydW5kLQpzYWV0emxpY2hlcyBQcm9ibGVtLiBWaWVsbGVpY2h0IHNhZ3QgRGlyIE1laW51bmdzZnJlaWhlaXQgd2FzIHVuZCB3ZW5uIGRlaW4KQWRtaW4gZGFtaXQgZWluIFByb2JsZW0gaGF0LCBnaWJ0cyBnZW51ZWdlbmQgd2VnZSBpaG4genUgc3RvcHBlbi4KCkFjaGphLCB1bmQgZXMgd3VyZGUgbmllbWFuZGVtIHZlcndlaHJ0IG1laHIgenUgc3BlbmRlbiA6LSkKCj4gUFNTOiBOZWluLCBpY2ggZmFuZCcgZGllIFBhcnR5IG5pY2h0IE5VUiBTY2hlaXNzZSwgZ3JhdHMgSGF0ZSAmIENvLiEgOikKSG1tLCB3aXIgZmFuZGVuIGRpY2ggYXVjaCBuaWNodCBOVVIgU2NoZWlzc2UsIDstKQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJmZXRlIDE5OTcgKFd1cnplbCwgMjUuIEF1ZyAxOTk2LCAxNTowMDoyMik6Cn4jISBybj1Cb2luZyBydD04NDAwMzkyNTEKfiMhIHRpZD04NDAwMzkyNTEKaGksCm5hY2hkZW0gaWNoIHp1ciBsZXR6dGVuIGZldGUgaW4gZnJhbmtyZWljaCB1bmQgenVyIHZvcmxldHp0ZW4gaW4gZW5nbGFuZCB3YXIsCnd1ZXJkZSBpY2ggZ2VybmUgYW4gZGVyIG5hZWNoc3RlbiBmZXRlIHdlbmlnc3RlbnMgdGVpbG5laG1lbi4uLiBudW4gYmluIGljaAppbSBmZWJydWFyL21hZXJ6LXplaXRyYXVtIGVpZ2VudGxpY2ggc2Nob24gdHJhZGl0aW9uZWxsIGluIGxvbmRvbiwgdW5kIHdlbm4KY2xhcHRvbiB3aWVkZXIgaW4gZGVyIGFsYmVydCBoYWxsIHNwaWVsdCwgbmFlY2hzdGVzIGphaHIgd2llZGVyLiBkYWhlciBlaW5lbgp3dW5zY2g6IGJpdHRlIGRlbiB0ZXJtaW4gZnVlciBkaWUgZmV0ZSBtb2VnbGljaHN0IGZydWVoIGZlc3RsZWdlbiAoYW0gYmVzdGVuCnNjaG9uIGpldHp0KSwgZGFtaXQgaWNoIGVudHNwcmVjaGVuZCBidWNoZW4ga2Fubi4KYWNoIGphLCBkaWUgc29tbWVyZmV0ZSAuLi4ga2F1bSBhdXMgZGVtIHVybGF1YiB6dXJ1ZWNrLCBkZW5rZSBpY2ggYXVjaCBzY2hvbgp3aWVkZXIgYW4gZGVuIG5hZWNoc3Rlbi4uLiBhdWNoIGRhIHd1ZXJkZSBpY2ggbWljaCB1ZWJlciBlaW5lIG1vZWdsaWNoc3QKZnJ1ZWhlIHRlcm1pbmZlc3RsZWd1bmcgZnJldWVuLCBzb25zdCBiaW4gaWNoIGRhIHdpZWRlciB3ZXIgd2Vpc3Mgd28uCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2ludGVyZmV0ZSAxOTk3IChBbGFub24sIDI2LiBBdWcgMTk5NiwgMTc6NTQ6MjApOgp+IyEgcm49V29vZHkgcnQ9ODQwODQzNjE3Cn4jISB0aWQ9ODQwMDM5MjUxCkljaCBtdXNzIHdvb2R5IGRhIHp1c3RpbW1lbiwgZGEgdW5zZXIgc2VtZXN0ZXIgZWJlbmZhbGxzCmVuZGUgamFudWFyIHp1ZW5kZSBpc3QgdW5kIGRhcyBuYWVjaHN0ZSBtaXR0ZSBtYWVyeiBiZWdpbm50LgoKQWxhbm9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaW50ZXJmZXRlIDE5OTcgKEpvcmluZGUsIDI3LiBBdWcgMTk5NiwgMTg6NDc6MjQpOgp+IyEgcm49QWxhbm9uIHJ0PTg0MTA3NDg2MAp+IyEgdGlkPTg0MDAzOTI1MQpJY2ggaGFiIG5lbiBWb3JzY2hsYWc6IERpZSBGZXRlIGZpbmRldCBpbiBEcmVzZGVuIHN0YXR0IQoKLi4uYWJlciBuaWNodCBzY2hsYWdlbiEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZWl0cmFnIGZ1ZXIgZGllIFBhcnR5IChUb2UsIDI4LiBBdWcgMTk5NiwgMTM6MjA6MjEpOgoKV2llc28gd2lyZCBkZXIgQmVpdHJhZyBmdWVyIE5pY2h0bWl0Z2xpZWRlciBpbSBWZXJlaW4gbmljaHQgaG9laGVyIGFuZ2VzZXR6dAphbHMgZnVlciBGb2VyZGVyZXIgZGVzIE1HPwpPZGVyIHNvbGxlbiBkaWUgUGFydGllcyBkYXMgTUcgbmljaHQgZm9lcmRlcm4/CgpqdXN0IG15IHR3byBwZW5uaWVzLCB0b2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdpbnRlcmZldGUgMTk5NyAoQWxhbm9uLCAyOC4gQXVnIDE5OTYsIDEzOjM0OjA2KToKfiMhIHJuPUpvcmluZGUgcnQ9ODQxMTY0NDQ0Cn4jISB0aWQ9ODQwMDM5MjUxCldPVywgRHJlc2RlbiwgZGFzIHdhZXJlIHdhcy4uLi5hZWhtbW0gdmllbGxlaWNodCBhYmVyIGF1Y2ggbmljaHQuCjstKSkpKSkKQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdpbnRlcmZldGUgMTk5NyAoV29vZHksIDI4LiBBdWcgMTk5NiwgMTM6NTA6MjMpOgp+IyEgcm49Sm9yaW5kZSBydD04NDExNjQ0NDQKfiMhIHRpZD04NDAwMzkyNTEKd2VubiBiaXMgZGFoaW4gamVtYW5kIGRpZSBhdXRvYmFobmVuIG5hY2ggZHJlc2RlbiByZXBhcmllcnQuLi4gOikKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2ludGVyZmV0ZSAxOTk3IChSYWZmaSwgMjkuIEF1ZyAxOTk2LCAwMDowODowNik6Cn4jISBybj1Xb29keSBydD04NDEyMzMwMjMKfiMhIHRpZD04NDAwMzkyNTEKCkFjaCBkYXMgaXN0IG5lIEF1dG9iYWhlbiA/CgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2ludGVyZmV0ZSAxOTk3IChHcmltbWJvcm4sIDI5LiBBdWcgMTk5NiwgMDE6MTE6MDkpOgp+IyEgcm49QWxhbm9uIHJ0PTg0MTIzMjA0Ngp+IyEgdGlkPTg0MDAzOTI1MQoKSG1tLCBub2NoIG5lIFBhcnR5IGluIGRlciBTQlo/IERhIGtvZW5uZW4gd2lyIGphIGdsZWljaCBpbiBkZXIgT3N0bWFyawpmZWllcm4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBzdGltbXQgYXVzIFByaW56aXAgZnVlciAibGlua3NyaGVpbmlzY2giLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdpbnRlcmZldGUgMTk5NyAoUmFmZmksIDI5LiBBdWcgMTk5NiwgMTE6MjA6MjUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0MTI3Mzg2OQp+IyEgdGlkPTg0MDAzOTI1MQoKT3N0bWFyayA/IEF1IGphIC0gU2NocnVtcGZpIG9yZ2FuaXNpZXIgbWFsIG5lIEZldGUgaW4gTGluei4KCkxpbnogbGllZ3QgZWggdmVya2VocnNndWVuc3RpZ2VyIGFscyBhbGxlcyBMaW5rc3JoZWluaXNjaGUgenVzYW1tZW4uCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdpbnRlcmZldGUgMTk5NyAoQWxhbm9uLCAyOS4gQXVnIDE5OTYsIDE0OjExOjExKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDEyNzM4NjkKfiMhIHRpZD04NDAwMzkyNTEKTmEgc293YXMgR3JpbW1ib24sIGRhcyBpc3QgZWluZSBndXRlIElkZWUuLi4uIHdpZSB3YWVyZSBlcwpkZW5uIG1pdCB3aW5zZW4gYW4gZGVyIGx1aHIKCmFsYW5vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdpbnRlcmZldGUgMTk5NyAoQ2FyYWRocmFzLCAyOS4gQXVnIDE5OTYsIDE0OjQ0OjI0KToKfiMhIHJuPUFsYW5vbiBydD04NDEzMjA2NzEKfiMhIHRpZD04NDAwMzkyNTEKSHVjaCwgaWNoIGRhY2h0ZSBpbW1lciwgZGFzIGhlaXNzdCBXaW5zZW4gYW4gZGVyIEx1aGUuICpzdGF1biogOikKCiAgICAgICAgIEdvbGRkcmFjaGUgQ2FyYWRocmFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2ludGVyZmV0ZSAxOTk3IChBbGFub24sIDI5LiBBdWcgMTk5NiwgMTQ6NDU6MjUpOgp+IyEgcm49Q2FyYWRocmFzIHJ0PTg0MTMyMjY2NAp+IyEgdGlkPTg0MDAzOTI1MQp3b3cgQ2FyYSAsIER1IGJpc3Qga2xhc3NlZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFdpbnRlcmZldGUgMTk5NyAoR3JpbW1ib3JuLCAyOS4gQXVnIDE5OTYsIDE0OjU1OjA4KToKfiMhIHJuPUFsYW5vbiBydD04NDEzMjI3MjUKfiMhIHRpZD04NDAwMzkyNTEKCkFjaCBRdWF0c2NoLCBkYXMgaGVpc3N0IExpbnNlbiBtaXQgU3BlY2sgdW5kIHNjaG1lY2t0IChyaWNodGlnIGdla29jaHQpCnVuZ2xhdWJsaWNoIGd1dC4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV2ludGVyZmV0ZSAxOTk3IChBbGFub24sIDI5LiBBdWcgMTk5NiwgMTQ6NTY6MDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0MTMyMzMwOAp+IyEgdGlkPTg0MDAzOTI1MQpyb3RmbCwgc3RpbW10IHVuZCBlc3NpZyBkYXMgaXN0IGdlaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBXaW50ZXJmZXRlIDE5OTcgKENhcmFkaHJhcywgMjkuIEF1ZyAxOTk2LCAxNDo1Nzo0Mik6Cn4jISBybj1BbGFub24gcnQ9ODQxMzIzMzY2Cn4jISB0aWQ9ODQwMDM5MjUxCkZlaGxlbiBudXIgbm9jaCBHb2VwcGluZ2VyIFd1ZXJzdGNoZW4gdW5kIHNlbGJzY2hkZ21hY2hkZSBTY2hwYXR6ZS4gOi0pCgogICAgIFJvdGhvcm4gQ2FyYWRocmFzIC0gbWFuY2htYWwgYSBTY2h3b2IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBXaW50ZXJmZXRlIDE5OTcgKEFsYW5vbiwgMjkuIEF1ZyAxOTk2LCAxNDo1OToyOSk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODQxMzIzNDYyCn4jISB0aWQ9ODQwMDM5MjUxCkRhcyB3aXJkIGRhbm4gZEFzIG9mZml6aWVsbGUgZXNzZW4KZGVlciBQYXJ0eQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFdpbnRlcmZldGUgMTk5NyAoUmFudGFucGxhbiwgMjkuIEF1ZyAxOTk2LCAxNTowMDozMSk6Cn4jISBybj1BbGFub24gcnQ9ODQxMzIzNTY5Cn4jISB0aWQ9ODQwMDM5MjUxCk1hbCBpbSBFcm5zdCAhIQoKRGllIElkZWUgaXN0IHppZW1saWNoIGd1dCwgd2VpbCBlaW5mYWNoIHVuZCBiaWxsaWNoLi4uCgpVbmQgc2NobWVja2VuIHR1dHMgYXVjaCwgYWJlciBkaWUgU3BhZXR6bGUgZGFubiBhdXNzZSBUdWV0ZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFdpbnRlcmZldGUgMTk5NyAoR3JpbW1ib3JuLCAyOS4gQXVnIDE5OTYsIDE1OjAxOjA0KToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDEzMjM0NjIKfiMhIHRpZD04NDAwMzkyNTEKCk5ldmVyISBObyBzYXVzYWdlIHVuZCBrZWluZSBTcGFldHpsZS4gSW4gTGluc2VuZWludG9wZiBnZWhvZXJlbiBMaW5zZW4sIFNwZWNrCihhbSBiZXN0ZW4gLXNjaHdhcnRlbiwgZGFzIHdhcyBiZWltIEFsZGktU3BlY2sgaGFsdCB1ZWJyaWcgYmxlaWJ0KSwgS2FydG9mZmVsbgp1bmQgZWluIG9kZXIgendlaSBUb21hdGVuLiBEZXIgRXNzaWcgd2lyZCBlcnN0IGdhbnogenVtIFNjaGx1c3MgZGF6dWdlZ2ViZW4sCmRhZ2VnZW4gc3RvZXJ0IGVpbiBIYXVjaCBUaHltaWFuIHp1IEJlZ2lubiBnYW56IHNpY2hlciBuaWNodC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogV2ludGVyZmV0ZSAxOTk3IChSYW50YW5wbGFuLCAyOS4gQXVnIDE5OTYsIDE1OjAzOjAwKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDEzMjM2NjQKfiMhIHRpZD04NDAwMzkyNTEKQWxzbyBHcmltbWJvcm4gIQoKRXMgZ2VodCBoaWVyIHVtIGRhcyBFc3NlbiBmdWVyIDcwLTE1MCBNdWRkZXIsIGRhIGthbm5zdApEdSBrZWluZSBrdWxpbmFyaXNjaGVuIEhvZWhlbmZsdWVnZSBlcndhcnRlbi4uLlRoeW1pYW4uLi50c3RzdHMKClJhbnRhbm9ldHQgc2NodWV0dGVsIG5hY2hkZW5rbGljaCBzZWluIERpbmdlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFdpbnRlcmZldGUgMTk5NyAoQWxhbm9uLCAyOS4gQXVnIDE5OTYsIDE1OjAzOjU1KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODQxMzIzNzgwCn4jISB0aWQ9ODQwMDM5MjUxCnN0aW1tdCwgbWFuIHR1dCBlaW5mYWNoIG9ldHRpcwpzb2NrZSBoaW56dSB1bmQgc2Nob24gc3RpbW1tdCBkaWUgd3VlcnplCmFsYW5vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFdpbnRlcmZldGUgMTk5NyAoRHVyaWFuLCAyOS4gQXVnIDE5OTYsIDE1OjA1OjUyKToKfiMhIHJuPUFsYW5vbiBydD04NDEzMjM4MzUKfiMhIHRpZD04NDAwMzkyNTEKQWxzbyBiZWkgUmVeMTkgc2luZCB3aXIgc2Nob24gLi4uCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFdpbnRlcmZldGUgMTk5NyAoQWxhbm9uLCAyOS4gQXVnIDE5OTYsIDE1OjA2OjE3KToKfiMhIHJuPUR1cmlhbiBydD04NDEzMjM5NTIKfiMhIHRpZD04NDAwMzkyNTEKZ3V0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogV2ludGVyZmV0ZSAxOTk3IChSYW50YW5wbGFuLCAyOS4gQXVnIDE5OTYsIDE1OjA3OjQ3KToKfiMhIHJuPUFsYW5vbiBydD04NDEzMjM5NzcKfiMhIHRpZD04NDAwMzkyNTEKSWNoIG1vZWNodGUgZGF6dSBudXIgZXJ3YWVobmVuLCBkYXNzIGljaCBBYnN0YW5kIGRhdm9uIG5laG1lCmlyZ2VuZHdlbGNoZSBkdWVtbWxpY2hlbiBBcnRpa2VsIGluIGRpZSBaZWl0dW5nIHp1IHNldHplbiwgZGFtaXQKaXJnZW5kbmVyaWVzZW4gcmVee2dhbnpzdXBlcmRvbGxncm9zc2V6YWhsfSByYXVza29tbXQuCgpTb3dhcyBtYWNoIElDSCBuaWNodCAhCgpSKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFdpbnRlcmZldGUgMTk5NyAoRHVyaWFuLCAyOS4gQXVnIDE5OTYsIDE1OjA4OjIxKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODQxMzI0MDY3Cn4jISB0aWQ9ODQwMDM5MjUxCkJ0dy4gV28gaXN0IEhhcmRpbD8KCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogV2ludGVyZmV0ZSAxOTk3IChBbGFub24sIDI5LiBBdWcgMTk5NiwgMTU6MDg6NTIpOgp+IyEgcm49RHVyaWFuIHJ0PTg0MTMyNDEwMQp+IyEgdGlkPTg0MDAzOTI1MQpvZXR0aSBpc3Qga2xhc3NlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogV2ludGVyZmV0ZSAxOTk3IChHcmltbWJvcm4sIDI5LiBBdWcgMTk5NiwgMTU6MjM6NDUpOgp+IyEgcm49QWxhbm9uIHJ0PTg0MTMyNDEzMgp+IyEgdGlkPTg0MDAzOTI1MQoKRGFydWViZXIga2FubiBtYW4gZGlza3V0aWVyZW4sIGFiZXIgc2VpbmUgU29ja2Uga29tbXQgbWlyIE5JQ0hUIGluIGRlbgpMaW5zZW5laW50b3BmLCBpc3QgZGFzIGtsYXI/IFVuZCBUaHltaWFuIGthbm4gbWFuIGF1Y2ggZnVlciAxNTAgTGV1dGUgcmVpbnR1biwKZGFzIHNpbmQgZGFubiBlYmVuIDIwMGcgb2RlciBzb3dhcy4gT2huZSBzY2htZWNrdHMgemllbWxpY2ggZmFkZS4KCkdkQSBpbnRlcmVzc2llcnQgc2ljaCBuaWNodCBmdWVyIGRhcyByZV54CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogV2ludGVyZmV0ZSAxOTk3IChQbGFwcGVybWF1bCwgMjkuIEF1ZyAxOTk2LCAxNjo0NDoyMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODQxMzI1MDI1Cn4jISB0aWQ9ODQwMDM5MjUxCkVzc2lnIGluIGRlciBMaW5zZW5zdXBwZSBpc3QgcHJpbWEsCmFiZXIgYmVzc2VyIHNjaG1lY2tlbiBkaWUgTGluc2VuIG1pdCBnYWFhbnogdmllbCBDdXJyeS4KCiAgIFBsYXBwZXJtYXVsIHNjaHdhZXJtdCBpbW1lcm5vY2ggdm9uIHNlaW5lbSBMYW5kc2NodWxoZWltYXVmZW5oYWx0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogV2ludGVyZmV0ZSAxOTk3IChSYWZmaSwgMjkuIEF1ZyAxOTk2LCAxOTo1OTowOSk6Cn4jISBybj1QbGFwcGVybWF1bCBydD04NDEzMjk4NjMKfiMhIHRpZD04NDAwMzkyNTEKClVuZCB2ZXJnaXNzIGRpZSBTcGFldHpsZSBuaWNodCAtIGltbWVyIHNlaW4gaW4gZGllIExpbnNlbiAoZGFzIGlzdCB1ZWJyaWdlbnMKZGFzIGVpbnppZ2UgZ2VyaWNodCB3byBpY2ggZGllc2Uga29taXNjaGVuIE51ZGVsbiBkaWUgZGllIFNjaHdhYmVuIHNwYWV0emxlCm5lbm5lbiBtYWcgLSBFY2h0ZSBTcGFldHpsZSBzaW5kIG5hZW1saWNoIGdhbnogd2FzIGFuZGVyZXMpLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBXaW50ZXJmZXRlIDE5OTcgKEdyaW1tYm9ybiwgMjkuIEF1ZyAxOTk2LCAyMDowODo1Nik6Cn4jISBybj1SYWZmaSBydD04NDEzNDE1NDkKfiMhIHRpZD04NDAwMzkyNTEKClNwYWV0emxlIGluIGRpZSBMaW5zZW4uIEphLCBzYWd0IG1hbCwgYmluIGljaCBkZW5uIG51ciB2b24gUGVydmVyc2VuIHVtZ2ViZW4/CkluIGVpbmVuIExpbnNlbmVpbnRvcGYgZ2Vob2VyZW4gZWluIHBhYXIgS2FydG9mZmVsbiwgYWJlciB1bSBuaWNodHMgaW4gZGVyCldlbHQgU3BhZXR6bGUgb2RlciB3YXMgYW5kZXJlcyBudWRlbGlnZXMsIG5pZSB1bmQgbmltbWVyISBOb2NoIGVpbiBNb2VocmNoZW4Kb2RlciB6d2VpLCBlaW4ga2xlaW5lcyBFY2tjaGVuIFNlbGxlcmllLCB1bmQgZGFubiBzY2hvZW4gbGFuZ2Uga29jaGVuLiBNaXQKVGh5bWlhbi4gVW5kIEVzc2lnIGFtIEVuZGUuICpzZXVmeioKClNwYWV0emxlLCBhbHNvIG5lZSwgd2lya2xpY2guLi4KCkdyaW1tYm9ybiBkZXIgS29jaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IFdpbnRlcmZldGUgMTk5NyAoQW5hdG9sLCAyOS4gQXVnIDE5OTYsIDIwOjExOjI4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDEzNDIxMzYKfiMhIHRpZD04NDAwMzkyNTEKClMnaGF0IGF1IG5pZW1hbmQgZ3NhaGQsIGRhc3MgZGUgU2NoYmFlZHpsZSBfaW5fIGRlIExpbnNlZG9wZiBuZWkga29tbWVkLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IFdpbnRlcmZldGUgMTk5NyAoR3JpbW1ib3JuLCAyOS4gQXVnIDE5OTYsIDIwOjE0OjMxKToKfiMhIHJuPUFuYXRvbCBydD04NDEzNDIyODgKfiMhIHRpZD04NDAwMzkyNTEKCiJFaW50b3BmIG1pdCBub2NoIHdhcyBkYWJlaSI/IEFsc28gbmVlLCBLaW5kZXIsIGVudHdlZGVyIHdpciByZWRlbiBoaWVyIHZvbgp2ZXJudWVuZnRpZ2VtIEVzc2VuIG9kZXIgaWNoIGtsaW5rIG1pY2ggaGllciBhdXMuIFdhcyBkZW5rc3QgRHUgZGVubiB3aWVzbyBlcwpFSU50b3BmIGhlaXNzdD8gRGEgcGFzc3QgamEgYXVjaCB1ZWJlcmhhdXB0IG5peCB6dSwgZWdhbCBvYiByZWluIG9kZXIgZGFiZWkuCk5hamEsIG9rLCB1ZWJlciBOYWNodGlzY2gga29lbm50ZSBpY2ggdmVyaGFuZGVsbi4gU29sYW5nZSBlcyBrZWluZSBTcGFldHpsZQpzaW5kLgoKSG1tLCBnaWJ0cyBiZWkgZGVyIFBhcnR5IHVlYmVyaGF1cHQgc28gZWluZW4gZ3Jvc3NlbiBUb3BmIG9kZXIgcGxhbmVuIHdpciBoaWVyCmlucyBCbGF1ZSByZWluPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogV2ludGVyZmV0ZSAxOTk3IChUYXNoYSwgMjkuIEF1ZyAxOTk2LCAyMDoxNToxOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODQxMzQyNDcxCn4jISB0aWQ9ODQwMDM5MjUxCkthbm4gZGFzIG1hbCBlaW5lciBpbiBkaWUgcnVicmlrIEtvY2hyZXplcHRlIHZlcmxlZ2VuPyBJY2ggZGFjaHRlIGluIHNvd2FzCmJpc3QgRHUgc28gZ3V0LCBHcmltbWJvcm4uIDopCgpUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IFdpbnRlcmZldGUgMTk5NyAoQmVuZGVpZ2lkLCAyOS4gQXVnIDE5OTYsIDIwOjE1OjQxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDEzNDIxMzYKfiMhIHRpZD04NDAwMzkyNTEKTXVzcyBpY2ggZGllc2UgUnVicmlrIGF1Y2ggYWJiZXN0ZWxsZW4/IHdhcyBoYXQgZGFzIG1pdCBwYXJ0eSB6dSB0dW4sIEhlcnIgdm9uCnVuZCB6dSBPYmVyemVuc29yIEdyaW1tYm9ybiBhdXMgQXRoZWlzdGVuaGF1c2VuPwoKTW90emVuZCwgZ3J1bW1saWcsIEJlbmRlaWdpZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IFdpbnRlcmZldGUgMTk5NyAoR3JpbW1ib3JuLCAyOS4gQXVnIDE5OTYsIDIwOjE3OjU0KToKfiMhIHJuPUJlbmRlaWdpZCBydD04NDEzNDI1NDEKfiMhIHRpZD04NDAwMzkyNTEKCiJiZXN0ZWxsZSBydWJyaWsgcGFydHkgYWIiLCBCZW5kZWlnaWQuCgpISU5XRUlTOiBEaWVzZXIgU3ludGF4aGlud2VpcyB3dXJkZSBhdXRvbWF0aXNjaCBmdWVyIHNpZSBlcnN0ZWxsdCB1bmQgaXN0IGF1Y2gKb2huZSBVbnRlcnNjaHJpZnQgZ3VlbHRpZy4gRGVzd2VpdGVyZW4gaXN0IGVyIGtvc3Rlbmxvcy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzE6IFdpbnRlcmZldGUgMTk5NyAoTXVwZmVsLCAyOS4gQXVnIDE5OTYsIDIwOjQ0OjIwKToKfiMhIHJuPVRhc2hhIHJ0PTg0MTM0MjUxOAp+IyEgdGlkPTg0MDAzOTI1MQpJbSBhcnRpa2VsIHZlcmxlZ2VuIG9kZXIgaW0ga29jaGVuPyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdpbnRlcmZldGUgMTk5NyAoRnJlZGVyaWNrLCAzMC4gQXVnIDE5OTYsIDAxOjUzOjE0KToKfiMhIHJuPVdvb2R5IHJ0PTg0MTIzMzAyMwp+IyEgdGlkPTg0MDAzOTI1MQpEcmVzdGVuIHdhZXIgc3ViYmEsIGRhcyBpc3MgbmljaHQgc29vIGVsZW5kcyB3ZWl0IGhpbiA6KQpGcmVkZXJpY2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2ludGVyZmV0ZSAxOTk3IChXdXJ6ZWwsIDMwLiBBdWcgMTk5NiwgMDI6MDA6MTEpOgp+IyEgcm49RnJlZGVyaWNrIHJ0PTg0MTM2Mjc5NAp+IyEgdGlkPTg0MDAzOTI1MQpkYXMgaXN0IGtlaW5lIGJlZ3J1ZW5kdW5nLCBmcmVkZXJpY2suIGF1c3NlcmRlbSBzdGltbXQgZXMgbmljaHQsIGthcmxzcnVoZQppc3QgdmllbCBuYWVoZXIgOikKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2ludGVyZmV0ZSAxOTk3IChGcmVkZXJpY2ssIDMwLiBBdWcgMTk5NiwgMDI6MTQ6NTIpOgp+IyEgcm49V3VyemVsIHJ0PTg0MTM2MzIxMQp+IyEgdGlkPTg0MDAzOTI1MQpLZWluZSBBaG51bmcgd28gZGVyIEthcmwgc2VpbmUgUnVoZSBmaW5kZXQgOikgQWJlciBpY2ggZ2xhdWIgbmljaHQgYmVpIG1pciAKaW4gZGVyIE5hZWhlIDopCkZyZWRlcmljay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtvY2hyZXplcHRlIChIYWRyYSwgMzAuIEF1ZyAxOTk2LCAwMzoyOToxNik6Cndlbm4gaWhyIGV1Y2ggd2VnZW4gZGVzIG9ydGVzIGVpbmlnIHNlaWQsIG1hY2h0IGRhcyBiaXR0ZW4gaXJnZW5kd28gYXVzc2VyCmhpZXIga2VubnRsaWNoLCBkZW5uIGxlaWRlciBrYW5uIGljaCBkZW4gc2NoZWlzcyBkZXIgaGllciBzb25zdCBub2NoIHNvIHN0ZWh0Cm5pY2h0IHNlbGJlciBuYWNoIG11ZWxsIHZlcmxlZ2VuCgpoYWRyYSAtIHdlaXNzLCBkYXNzIGF1Y2ggZGllc2VyIGFydGlla2wgZGFoaW4gZ2Vob2VydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IFdpbnRlcmZldGUgMTk5NyAoVHp1aW9wLCAzMC4gQXVnIDE5OTYsIDA5OjU3OjEwKToKfiMhIHJuPU11cGZlbCBydD04NDEzNDQyNjAKfiMhIHRpZD04NDAwMzkyNTEKRHUgbXVzc3QgZG9jaCBuaWNodCB2ZXJsZWdlbiB3ZXJkZW4gLi4uLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBXaW50ZXJmZXRlIDE5OTcgKFJhZmZpLCAzMC4gQXVnIDE5OTYsIDEyOjA2OjI3KToKfiMhIHJuPUJlbmRlaWdpZCBydD04NDEzNDI1NDEKfiMhIHRpZD04NDAwMzkyNTEKCkRhcyBoaWVyIGhhdCBleHRyZW0gd2FzIG1pdCBQYWFydHkgenUgdHVuOiBlcyBnZWh0IHVtIGRpZSBlcm5hZWhydW5nIHdhZXJlbmQKZGVyc2VsYmVuICEKCgpBY2ggamEsIHdhcnVtIGVpZ2VuZGxpY2ggdmVybGVnZW4gPwpXaXIgaGFiZW4gdW5zIGRvY2ggbm9jaCBuaWNodG1hbCBhdWYgZGVuIGVyc3RlbiBTdGFuZG9ydCBnZWVpbmlndCwgZGEga29lbm5lbgp3aXIgZGllIFBhcnR5IGRvY2ggbmljaHQgc2Nob24gd2llZGVyIHZlcmxlZ2VuLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBXaW50ZXJmZXRlIDE5OTcgKEdyaW1tYm9ybiwgMzAuIEF1ZyAxOTk2LCAxNzoxNzowMik6Cn4jISBybj1SYWZmaSBydD04NDEzOTk1ODcKfiMhIHRpZD04NDAwMzkyNTEKCkljaCB3YWVyIGRhbm4gbWFsIGZ1ZXIgTGluc2Vuc3VwcGUuIE1pdCBLYXJ0b2ZmZWxuLCBUaHltaWFuIHVuZCBFc3NpZyAoenVtClNjaGx1c3MpLCBhYmVyIG9obmUgU3BhZXR6bGUuLi4KCldlaXRlcmUgRXNzZW5zd3VlbnNjaGU/IFp1ciBQYXJ0eSwgYWxzby4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzE6IFdpbnRlcmZldGUgMTk5NyAoR3V5YnJ1c2gsIDMwLiBBdWcgMTk5NiwgMTc6MjA6MTMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0MTQxODIyMgp+IyEgdGlkPTg0MDAzOTI1MQpIbSwgamV0eiBtaWNoIGljaCBtaWNoIGF1Y2ggZWluIHVuZCBnaWIgbWVpbmVuIFNlbmYgZGF6dSwgYWxsZXJkaW5ncyBOSUNIVCBpbgpkaWUgTGluc2Vuc3VwcGUhIQoKSGllciBpbiBCQWRlbiB1bmQgU2Nod2FiZW4gaGFiZW4gZGllIHNvJ25lIERlbGlrYXRlc3NlICp3dWVyZyosIGRpZSBoZWlzc3QKTGluc2VuIG1pdCBTcGFldHpsZS4uIHppZW1saWNoIHRyb2NrZW4gZGFzIEdhbnplLiBLYW5uIG1hbiBhYnNjaG1lY2tlbiBtaXQKRXNzaWcuCk1hbiBrYW5uJ3MgZXNzZW4sIHZvciBhbGxlbSBrb2VubmVuIGRpZSBzZWxic3QgaGllciBpbiBkZXIgS2FudGluZSBuaWNodCB2aWVsCmZhbHNjaCBkcmFuIG1hY2hlbi4uLi4KCkFiZXIgZGFzIHdhcyBEdSBtZWluc3QsIEdyaW1tLCBzY2htZWNrdCBiZXNzZXIuIDopIFNvIHN0ZWxsIGljaCBtaXIgYXVjaCBuZQpMaW5zZW5zdXBwZSB2b3IgOikgV0llIGRhaGVpbSBiZWkgTWFtYSAoZGllIGtvY2h0IGVoIGltbWVyIGFtIGJlc3RlbikKCkFsc28gZ2lidHMgbmUgU3VwcGUgZnVlciBOb3JkbGljaHRlciB1bmQgZGllIGF1cyBkZXIgTWl0dGUgdW5kIExpbnNlbiBtaXQKU3BhZXR6bGUgZnVlciBkaWUgaGllciB1bnRlbiA7KQoKR3V5YnJ1c2gsIG1vZWNodGUgaW4gUGFydHkgbmljaHQgaW1tZXIgS29jaHJlemVwdGUgZmluZGVuLCB3ZWlsIGRpZSBIdW5nZXIKbWFjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IFdpbnRlcmZldGUgMTk5NyAoV3VyemVsLCAzMC4gQXVnIDE5OTYsIDE3OjUzOjA5KToKfiMhIHJuPUd1eWJydXNoIHJ0PTg0MTQxODQxMwp+IyEgdGlkPTg0MDAzOTI1MQphbHNvIHdlbm4gc2ljaCBkYXMgaGllciBsYW5nc2FtIHp1ciBlcnNhdHpydWJyaWsgZnVlciBrb2NocmV6ZXB0ZSBlbnR3aWNrZWx0Li4KCmFuc3RlbGxlIHZvbiBlc3NpZyB0dSBpY2ggZ2FueiBnZXJuIG1hbCBzYXVlcmtyYXV0IHp1IGRlbiBsaW5zZW4uIGFiZXIgbmljaHQKZGFzIHNjaGxhYmJyaWdlLCBzb25kZXJuIGVpbnMsIGRhcyBzaWNoIHNlaW5lbiBuYW1lbiBhdWNoIHZlcmRpZW50IDopCgp3dXJ6ZWwgKGtvY2h0IGdlcm4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogV2ludGVyZmV0ZSAxOTk3IChBbGFub24sIDMwLiBBdWcgMTk5NiwgMTc6NTQ6MDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0MTQxODIyMgp+IyEgdGlkPTg0MDAzOTI1MQpITW1tbW1tbS4sIGRhcyBob2VydCBzaWNoIGphIGFsbGVzIGd1dCBhbgpJY2ggYmluIGZ1ZXIgZGllIFN1cHBlLCBhYmVyIGdhbnogZmxlaXNjaGxvcyBzb2xsdGUKZGllIFNhY2hlIG51biBkb2NoIG5pY2h0IHNlaW4uLi4uCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogV2ludGVyZmV0ZSAxOTk3IChSYW50YW5wbGFuLCAzMC4gQXVnIDE5OTYsIDE3OjU0OjI1KToKfiMhIHJuPVd1cnplbCBydD04NDE0MjAzODkKfiMhIHRpZD04NDAwMzkyNTEKSWNoIHNhY2ggbnVyIFNwYWV0emxlICEhIQoKUC5TLjogR2RBIGhlaXNzdCB3b2hsIHNvdmllbCB3aWUgR3JpbW1ib3JuIGRlciBBaG51bmdzbG9zZS4uLgpSKiwgZHVlbW1zdGVyIEh1bmQgaGllci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBXaW50ZXJmZXRlIDE5OTcgKEFsYW5vbiwgMzAuIEF1ZyAxOTk2LCAxNzo1NTozNCk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg0MTQyMDQ2NQp+IyEgdGlkPTg0MDAzOTI1MQpzb2xsdGUgZGllIHN1cHBlIHdpZGVyIGVyd2FydGVuIGRvY2ggCm5pY2h0IHNjaG1lY2tlbiwgYmVrb21tdCBzaWUgZGVyIGh1bmQgaW4gZGVuIG5hcGYKLS0tPiBnZWxsIFJhbnRhbnBsYW4KQQpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IFdpbnRlcmZldGUgMTk5NyAoQWNyaW1vbiwgMzAuIEF1ZyAxOTk2LCAxODo0MzowNik6Cn4jISBybj1XdXJ6ZWwgcnQ9ODQxNDIwMzg5Cn4jISB0aWQ9ODQwMDM5MjUxCkdlbmF1LCBTYXVlcmtyYXV0IChhYmVyIFJpY2h0aWdlcyB2b20gQmF1ZXJuIGF1cyBkZW0gRmFzeiwgbml4IEFiZ2VwYWNrdGVzKQptdXN6IG1pdCByZWluIQpVbmQgS3VlbW1lbCBzb3dpZXNvLgoKRGFubiBzY2htZWNrdHMgZ3V0IQoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2ludGVyZmV0ZSAxOTk3IChXaWxsb3csIDMxLiBBdWcgMTk5NiwgMjE6MzY6MTcpOgp+IyEgcm49QWxhbm9uIHJ0PTg0MTMyMDY3MQp+IyEgdGlkPTg0MDAzOTI1MQpobW1tbS4uLiBBbGFub24sIG11c3MgZXMgbmljaHQgV2luc2VuIGFuIGRlciBMdWhlIGhlaXNzZW4/Pz8KV2VpZGNoZW4gV2lsbG93IHdvaG50IGRhIGluIGRlciBOYWVoZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IFdpbnRlcmZldGUgMTk5NyAoUmFmZmksICAyLiBTZXAgMTk5NiwgMTI6MTg6NTEpOgp+IyEgcm49QWxhbm9uIHJ0PTg0MTQyMDQ0MAp+IyEgdGlkPTg0MDAzOTI1MQoKRmxlaXNjaCBpbiBkaWUgTGluc2VuID8gSWdpdHQgISBTcGVjayBqYSwgdW5kIGJlaSBhdXNyZWljaGVuZGVyIE1lbmdlIGF1Y2gKZXR3YXMgVGFsZywgYWJlciBrZWluIEZsZWljaC4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2ludGVyZmV0ZSAxOTk3IChBbGFub24sICAyLiBTZXAgMTk5NiwgMTU6MTc6NDYpOgp+IyEgcm49V2lsbG93IHJ0PTg0MTUyMDE3Nwp+IyEgdGlkPTg0MDAzOTI1MQpJaHIgaGFidCBqYSBhbGxlIHNvIHJlY2h0Li4KaWNoIGJpbiBqYSBzbyB1bndpc3NlbmQuLi4KYWNoZSBhdWYgbWVpbiBoYXVwdAo7LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IFdpbnRlcmZldGUgMTk5NyAoTGFpbGEsICAyLiBTZXAgMTk5NiwgMTc6NTc6MzgpOgp+IyEgcm49QWxhbm9uIHJ0PTg0MTQyMDUzNAp+IyEgdGlkPTg0MDAzOTI1MQpBbHNvIGljaCBnbGF1YmUgaWNoIHVlYmVybGVnZSBtaXIgZGFzIG5vY2ggbWl0IG1laW5lbSBFcnNjaGVpbmVuIDopIHdlbm4gaWhyCmRpZSBnYW56ZSBGZXRlIHVlYmVyIG5pY2h0cyBhbmRlcnMgdm9yaGFidCBhbHMgaXJnZW5kd2VsY2hlIGVrZWxoYWZ0ZSBTcGVpc2VuCnp1IHZlcnplaHJlbi4KCkxhaWxhLCBzaWNoIGVpbiBzY2hpY2tlcyBTdGVha2hvdXNlIHN1Y2hlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmV4cGlyZSAoQ2F0d2VhemxlLCAgMy4gU2VwIDE5OTYsIDE4OjM4OjEyKToKSG0sIGtlbm50IGlociBzY2hvbiBkZW4gQmVmZWhsIGV4cGlyZV9hbGwoKSA/CllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZSAoaGVoZWhlaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBleHBpcmUgKExhaWxhLCAgMy4gU2VwIDE5OTYsIDE4OjM5OjA3KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NDE3Njg2OTIKfiMhIHRpZD04NDE3Njg2OTIKTm9lLiBTb2xsdGUgbWFubiBpaG4ga2VubmVuID8/PwoKTGFpbGEsIHVud2lzc2VuZCBhYmVyIGdsdWVja2xpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZXhwaXJlIChDYXR3ZWF6bGUsICAzLiBTZXAgMTk5NiwgMTg6NDM6MTMpOgp+IyEgcm49TGFpbGEgcnQ9ODQxNzY4NzQ3Cn4jISB0aWQ9ODQxNzY4NjkyCkxlZXIgOikKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBleHBpcmUgKEdyaW1tYm9ybiwgIDQuIFNlcCAxOTk2LCAxNjozOToyMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODQxNzY4OTkzCn4jISB0aWQ9ODQxNzY4NjkyCgpLYW5uIGRhcyBzZWluLCBkYXNzIER1IEJlZmVobCB1bmQgRnVua3Rpb24gdmVyd2VjaHNlbHN0PwpBbnNvbnN0ZW4gbXVzcyBpY2ggc2Nob24gc2FnZW4sIGRhc3MgRHUgc2NoZWluYmFyIGtvbWlzY2hlIGFsaXMgaGFzdCwgd2VubiBEdQplaW5zICJleHBpcmVfYWxsKCkiIG5lbm5zdCwgZGVubiBlaW4gQmVmZWhsIGlzdHMgamEgbnVuIHdpcmtsaWNoIG5pY2h0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5HcmF1ZW4gV2ludGVyZmV0ZSAnOTcgKEJvaW5nLCAxNC4gT2t0IDE5OTYsIDE3OjI0OjU1KToKSGFsbG8gYWxsZXJzZWl0cywKaWNoIGdlYmUgbWFsIGViZW4gZGVuIFRlcm1pbiBmdWVyIGRpZSBXaW50ZXJmZXRlIGR1cmNoOgoKMjEuLTIzLiBGZWJydWFyIDE5OTcgaW4gS2FybHNydWhlCgpHZW5hdWVyZSBJbmZvcyBmb2xnZW4gbm9jaCwgaWNoIHNjaHJlaWIgZGFzIG51ciBzY2hvbiBtYWwgcmVpbiwgZGFtaXQKbWFuIHNpY2ggcmVjaHR6ZWl0aWcgZGFyYXVmIGVpbnN0ZWxsZW4ga2Fubi4gVW5kIGJpdHRlIGVyc3BhcnQgdW5zIGFsbGVuCmRpZSBEaXNrdXNzaW9uLCBvYiBlcyBuaWNodCBlaW5lbiBndWVuc3RpZ2VyZW4gVGVybWluIGdpYnQsIG1hbiB3aXJkIGVzCnNvd2llc28gbmllIGFsbGVuIHJlY2h0IG1hY2hlbiBrb2VubmVuLgoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vcmdlbkdyYXVlbiBXaW50ZXJmZXRlICc5NyAoRW5neXd1Y2ssIDE0LiBPa3QgMTk5NiwgMTk6MjE6MTgpOgp+IyEgcm49Qm9pbmcgcnQ9ODQ1MzA2Njk1Cn4jISB0aWQ9ODQ1MzA2Njk1CkFsc28sIGRlciBUZXJtaW4gbGllZ3QgZWNodCBndXQuIE5hY2ggc2VtZXN0ZXJlbmRlLCB1bmQgaWNoIGthbm4gYXVjaCAuLi4KS2xhc3NlIEJvaW5nIQoKRW5neSosIGhldXRlIG1hbCByZWR1bmRhbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFubWVsZHVuZyAoQm9pbmcsIDE1LiBPa3QgMTk5NiwgMTc6MTE6NDcpOgpNYW4ga2FubiBzaWNoIGpldHp0IGZ1ZXIgZGllIFBhcnR5IGFubWVsZGVuLCBhbGxlcmRpbmdzIHN0ZWh0IGRlciBQcmVpcwpub2NoIG5pY2h0IGZlc3QuIERpZSBQYXJ0eWJyZXR0ZXIgc3RlaGVuIHdpZSBnZXdvaG50IGluIGRlbiBTdGFydHJhZXVtZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbm1lbGR1bmcgKEhhciwgMTYuIE9rdCAxOTk2LCAxMDowMTowNCk6Cn4jISBybj1Cb2luZyBydD04NDUzOTIzMDcKfiMhIHRpZD04NDUzOTIzMDcKQWhlLCBpY2ggc3RlaGUgaGllciBpbSBTdGFydHJhdW0gdW5kIHd1ZXJkZSBtaWNoIGdlcm5lIGFubWVsZGVuLCBzZWhlIGFiZXIKa2VpbiBQYXJ0eWJyZXR0Pz8/CmlzdCBkaWUgQW5tZWxkdW5nIGhldXRlICgxNi4gT2t0b2Jlcikgc2Nob24gdm9yYmVpPwoKCkhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3JnZW5HcmF1ZW4gV2ludGVyZmV0ZSAnOTcgKFRvZSwgMTcuIE9rdCAxOTk2LCAxOTowMjoxNyk6Cn4jISBybj1Fbmd5d3VjayBydD04NDUzMTM2NzgKfiMhIHRpZD04NDUzMDY2OTUKaW5zaWRlciBvbgpkYW5uIGthbm4gaWNoIGphIGVuZGxpY2ggbWFsIHdpZWRlciBhbmFseXNpZXJlbi4uLgppbnNpZGVyIG9mZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTW9yZ2VuR3JhdWVuIFdpbnRlcmZldGUgJzk3IChFbmd5d3VjaywgMTcuIE9rdCAxOTk2LCAxOToxNTo0OSk6Cn4jISBybj1Ub2UgcnQ9ODQ1NTcxNzM3Cn4jISB0aWQ9ODQ1MzA2Njk1Cmluc2lkZXIgb24KSWNoIGZyZXUgbWljaCBzY2hvbiBkcmF1ZiA7KQppbnNpZGVyIG9mZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTW9yZ2VuR3JhdWVuIFdpbnRlcmZldGUgJzk3IChUb2UsIDE3LiBPa3QgMTk5NiwgMTk6MTg6MzEpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODQ1NTcyNTQ5Cn4jISB0aWQ9ODQ1MzA2Njk1Cmluc2lkZXIgb24KaWNoIGF1Y2gKaW5zaWRlciBvZmYKdG9lLCBicmluZ3Qgd2VpbiBtaXQuLi4gYXVjaCBmdWVyIHNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCBGZXRlIFdpbnRlciAnOTcsIGpldHp0IGFiZXIgd2lya2xpY2ggKEtsb25rLCAyNS4gT2t0IDE5OTYsIDE0OjE5OjA3KToKU28sIG5hY2hkZW0gc2VsYnN0IGRpZSBWZXJhbnN0YWx0ZXIgbm9jaCBuaWNodCBnYW56IGRhcmFuIGdlZ2xhdWJ0CmhhYmVuLCBrb2VubmVuIHNpZSBlcyBqZXR6dCB0dW4uIERlciBSYXVtIGlzdCBiZXN0YWV0aWd0LCBkLmguCmF1Y2ggZnVlciBhbGxlIGRpZSBub2NoIHp3ZWlmZWxuOgoKICAgICAgICAgICAgICAyMS4gLSAyMy4gRmVicnVhciAxOTk3IAogICAgICAgICAgICAgICAgICAgIEthcmxzcnVoZQoKSmV0enQga29lbm5lbiB3aXIgSGVsZGVuIHVucyBhdWNoIHVtIGRpZSBLYWxrdWxhdGlvbiBrdWVtbWVybiB1bmQgCmhvZmZlbnRsaWNoIGluIGRlbiBuYWVjaHN0ZW4gVGFnZW4gYXVjaCBkZW4gVW5rb3N0ZW5iZWl0cmFnIGJlLQprYW5udCBnZWJlbi4KCk5hZWhlcmUgSW5mb3JtYXRpb25lbiBmb2xnZW4uLi4KCktsb25rIHVuZCBkZXIgUmVzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbGQgLSBLb250b251bW1lciAoS2xvbmssICAzLiBKYW4gMTk5NywgMTI6MDY6MDQpOgpEZXIgVW5rb3N0ZW5iZWl0cmFnIHp1ciBXaW50ZXJmZXRlIHZvbSAyMS4yIGJpcyB6dW0gMjMuMiBpbgpLYXJsc3J1aGUgYmVsYWV1ZnQgc2ljaCBhdWYgMjUgRE0uIERpZSBaYWhsdW5nIHNvbGx0ZSByZWNodApiYWxkIGF1ZiBmb2xnZW5kZXMgS29udG8gZXJmb2xnZW46CgogICAgIEplbnMgU2NodWVybWFubgogICAgIEtvbnRvbnVtbWVyOiAxMDI4NTQ5MgogICAgIFNwYXJrYXNzZSBLYXJsc3J1aGUKICAgICBCYW5rbGVpdHphaGw6IDY2MCA1MDEgMDEKCkljaCBiaXR0ZSBhbGxlLCBkYXMgR2VsZCB6dWVnaWcgenUgdWViZXJ3ZWlzZW4sIGRhbWl0IHZvbgpkZW4gVmVyYW5zdGFsdGVybiBuaWNodCBVbnN1bW1lbiB2b3JnZXNjaG9zc2VuIHdlcmRlbiBtdWVzc2VuLgpXZXIgZXJzdCBiZWkgRXJzY2hlaW5lbiB6YWhsdCwgbXVzcyBtaXQgMzUgRE0gVW5rb3N0ZW5iZWl0cmFnCnJlY2huZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcmVpc2UgKEdhbmRvLCAgMy4gSmFuIDE5OTcsIDEzOjA3OjA5KToKTmFjaGRlbSBqYSBkaWUga29zdGVuIGRlciBQYXJ0eSBiZWthbm50IHNpbmQsIGtvZW5udGUgbWFuIHNpZSB2aWVsbGVpY2h0IGF1Y2gKYXVmIGRlbSAKUGFydHlicmV0dCBlaW50cmFnZW4Kb2RlciA/CkdhbmRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2Nod2FzIHp1ciBVZWJlcndlaXN1bmcuLi4gKEtsb25rLCAgNy4gSmFuIDE5OTcsIDEzOjU0OjE1KToKQml0dGUgZGVuIE1VRC1OYW1lbiBtaXQgYXVmIGRhcyBGb3JtdWxhciBzY2hyZWliZW4uIERhbWl0IGlzdCBkaWUgClp1b3JkbnVuZyBkYW5uIHdlc2VudGxpY2ggZXJsZWljaHRlcnQuLi4KCkRhbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NoYWVua2UgZ2VvZWZmbmV0LiAoR2xvaW4sIDExLiBKYW4gMTk5NywgMDE6MjA6NDYpOgpIZWlzc2VyIFRlZSwgaGVpc3NlciBUZWUuIFdlciB3aWxsIGhlaXNzZW4gVGVlIC4uLgoqaW5zaWRlciBvZmYqCip6d2luayBNYWhhdG1hKgoKZnJldSBtaWNoIHNjaG9uLCBHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VnID8/IChWb2dlbCwgMTMuIEphbiAxOTk3LCAxNzo0MTozNyk6CkhpLAp3aWUgc2llaHQgZGFzIGF1cz8gd2lyZHMgbm9jaCBuZSBXZWdiZXNjaHJlaWJ1bmcgZ2ViZW4/CgpQLlMuIDogSGVpc3NlciBUZWUgamEsIGFiZXIgbnVyIG1pdCBBbGsuIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlZyA/PyAoR3V5YnJ1c2gsIDEzLiBKYW4gMTk5NywgMTk6MTg6MjkpOgp+IyEgcm49Vm9nZWwgcnQ9ODUzMTczNjk3IHJnPXBhcnR5Cn4jISB0aWQ9ODUzMTczNjk3Cmpvam8gOykga29tbXQgenVyICh1bi0pcmVjaHRlbiBaZWl0CgpHdXlicnVzaCwgaGF0IG5peCBtaXQgT0sgenUgdHVuIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWZHIE1hcmJ1cmctS2FybHNydWhlPyAoQW5jYWxhZ29uLCAxNy4gSmFuIDE5OTcsIDE1OjA1OjI3KToKS251ZGRlbHMgdm9yd2VnISA6KQpJY2ggaGFiIG1hbCBuZSBGcmFnZTogRmFlaHJ0IGplbWFuZCBhdXMgb2RlciB1ZWJlciBNYXJidXJnIG5hY2ggS2FybHNydWhlIChhbQpiZXN0ZW4gZnJlaXRhZ3Mgc2Nob24pIHVuZCBrb2VubnRlL3d1ZXJkZSBtaWNoIHZvbiBkYSBhdXMgbWl0bmVobWVuPyBFdmVudHVlbGwKd2lsbCBpY2ggbmFlbWxpY2ggZGllIFdvY2hlIHZvciBLYXJsc3J1aGUgYWxzIEt1cnp1cmxhdWIgaW4gTWFzcmJ1cmcKdmVyYnJpbmdlbi4KV2VubiBqYSwgYml0ZSBtYWlscyBhbiBtaWNoLgpEYW5rZSBpbSB2b3JhdXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuY2FsYWdvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJhY28ga251ZGRlbGxlbnNpcyBtYWpvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVnZmFocnQgYW0gRnJlaXRhZyAoSGFyLCAyMC4gSmFuIDE5OTcsIDE4OjUwOjAxKToKSGkgaWhycywgYmVzb25kZXJzIGRpZSBpbSBOb3JkZW4hCmljaCBnZWRlbmtlIGFtIEZyZWl0YWcgbWl0IGRlbSBJbnRlcnJlZ2lvIG5hY2ggS2xyc3J1aGUgenUga2FjaGVsbiwgdmllbGxlaWNodAp3ZXJkZSBpY2ggYXVjaCBQcmEgaW4gQm9ubiBhdWZsZXNlbiA6LSkKVmllbGxlaWNodCBmYWVocnQgamEgbm9jaCB3ZXIgbWl0IGRlbSB6dWcgdW5kIGhhdCBMdXN0LCB2b3JoZXIgc2Nob24gZWluIHBhcgpCaWVyY2hlbiB6dSB0cmlua2VuIChBbHMgQm90dHJvcHBlciBsYXNzIGljaCBtYWwgd2llZGVyIGRlbiBBc2kgcmF1c2hhZW5nZW4pLiAKQWxzbywgd2VubiBlaW5lciBMdXN0IGhhdCBhbHMgRXJrZW5udW5nc3plaWNoZW4gei5CLiBCaWhhbmVkZXIgb2RlciBzbyB6dQp0cmFnZW4sIGljaCBiaW4gZGFiZWkhCgpIYXIgKGR1cnN0aWcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWnVnZmFocnQgYW0gRnJlaXRhZyAoUHJhLCAyMS4gSmFuIDE5OTcsIDE3OjM0OjM2KToKfiMhIHJuPUhhciBydD04NTM3ODI2MDEgcmc9cGFydHkKfiMhIHRpZD04NTM3ODI2MDEKQXVqYSwgWnVnZmFocmVuIQoKVW5kIGRhbm4gbm9jaCBtaXQgSGFyIC0gaWNoIGhhYmUgZXMgbWlyIGltbWVyIHNjaG9uIG1hbCBnZXd1ZW5zY2h0LCBhdWYKZGVyIEFzaS1TZWl0ZSBpbiBkZW4gV29jaGVuZW5kenVlZ2VuIHp1IHNlaW4uIEljaCBicmluZyBIYW5zYS1QaWxzIG1pdC4KV2VyIGtvbW10IG5vY2g/CgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp1Z2ZhaHJ0IGFtIEZyZWl0YWcgKEZldWVyd2VociwgMjcuIEphbiAxOTk3LCAyMzoxNjoxMSk6Cn4jISBybj1QcmEgcnQ9ODUzODY0NDc2IHJnPXBhcnR5Cn4jISB0aWQ9ODUzNzgyNjAxCk51biwKClNjaG9rbywgR2FuZG8gdW5kIGljaCB3YWVyZW4gYXVjaCBnZXJuZSBadWcgZ2VmYWhyZW4hCkFiZXIgNzUgTXVlbnplbiBwcm8gRmFocnQsIGFsc28sIGVocmxpY2gsIGFsc28sIG5lZWUsIHNvdmllbCBHZWxkIGhhbSB3aXIgbnVuCndpcmtsaWNoIG5pY2guCgpUamEsIHdlbm4gd2lyIHp1IHplaG50IGZhaHJlbiB3dWVyZGVuLCBnYWVicyBlcm1lc3NpZ3VuZy4gQWJlciBrcmllZ3QgbWFuIDEwCkJvbm5lciBNR2xlciB6dXNhbW1lbj8KCkVpbmUgSGVyYXVzZm9yZGVydW5nISA6KQoKICBGZXVlcndlaHIgKGJsaW56ZWx0IGluIFJpY2h0dW5nIGRlcyBSSFJaKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWnVnZmFocnQgYW0gRnJlaXRhZyAoWmVwaHlyLCAyOC4gSmFuIDE5OTcsIDA4OjQ4OjUyKToKfiMhIHJuPUZldWVyd2VociBydD04NTQ0MDMzNzEgcmc9cGFydHkKfiMhIHRpZD04NTM3ODI2MDEKV2FydW0gdmVyc3VjaHN0IER1cyBuaWNodCBtYWwgbWl0ICJtYWlsIG1nLWxAbGlzdHNlcnYudW5pLWJvbm4uZGUiID8gOykKRGEgZXJ3aXNjaHN0IER1IGFsbGUgQm9ubmVyIHVuZCBub2NobiBwYWFyIEtvZWxuZXIgZ2xlaWNoIG1pdAoKR3J1c3MgWmVwaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWnVnZmFocnQgYW0gRnJlaXRhZyAoSGFyLCAyOC4gSmFuIDE5OTcsIDEwOjE1OjMxKToKfiMhIHJuPUZldWVyd2VociBydD04NTQ0MDMzNzEgcmc9cGFydHkKfiMhIHRpZD04NTM3ODI2MDEKVGphIDc1Li0gc25kIGhhcHBpZywgYWJlciBpY2ggaGFiZSAoZ2x1ZWNrbGljaGVyd2Vpc2UpIGVpbmUgQmFobmNhcmQuCkF1c3NlcmRlbSBpc3QgZXMgZnVlciBtaWNoCmEpIGV0d2FzIG5lcnZpZywgYW4gZWluZW0gRnJlaXRhZyBhYiBOYWNobWl0dGFnIHVlYmVyIEtvZWxuIG5hY2ggS2FybHNydWhlIHp1CmZhaHJlbiAoU3RhdSBhdWYgZGVyIEEzIGFyZ2whKQpiKSBLYW5uIGljaCBiZWltIEF1dG9mYWhyZW4gYXVzIEdydW5lZGVuLCBkaWUgd29obCBqZWRlbSBlaW5zaWNodGlnIHNlaW4Kc29sbHRlbiwgbmljaHQgc28gdmllbGUgRmFocmJpZXIgdGlybmVrbiB3aWUgYXVmIGRlciBBc2ktVG91ciBtaXQgUHJhIDotKQoKCkhhciAocHJvLVp1ZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp1Z2ZhaHJ0IGFtIEZyZWl0YWcgKFNudWdnbGUsIDI4LiBKYW4gMTk5NywgMTM6NTc6MDIpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTg1NDQwMzM3MSByZz1wYXJ0eQp+IyEgdGlkPTg1Mzc4MjYwMQpiZXN0aW1tdAoKU251Z2dsZSwga29tbXQgYXVjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFocnBsYW5zZXJ2aWNlIHp1ciBXaW50ZXJmZXRlIChMb2NvLCAzMC4gSmFuIDE5OTcsIDIxOjQwOjEwKToKTW9pbiB6dXNhbW1lbiwKCmVzIGlzdCB3aWVkZXIgYW4gZGVyIFplaXQgZnVlciBtZWluZW4gYmV3YWVocnRlbiBGYWhycGxhbnNlcnZpY2UuLi4KCkljaCBiaWV0ZSB6dXIgS2FybHNydWhlciBQYXJ0eSB3aWVkZXIgYW46CgogICAgICAgQmVyYXR1bmcgaW4gYWxsZW4gRnJhZ2VuIHp1bSBvZWZmZW50bGljaGVuIE5haC0gdW5kIEZlcm52ZXJrZWhyCiAgIFdpZSBrb21tdCBtYW4gYW0gYmVzdGVuIG1pdCBvZWZmZW50bGljaGVuIFZlcmtlaHJzbWl0dGVsbiBuYWNoIEthcmxzcnVoZT8KCkRhcmluIGVpbmdlc2NobG9zc2VuIHNpbmQ6CgotIEZhaHJwbGFuYXVza3VlbmZ0ZQotIFByZWlzYXVza3VlbmZ0ZSwgVGFyaWZoaW53ZWlzZSAobmljaHQgbnVyIERCKQotIFRpcHMmVHJpY2tzCgpOYXR1ZXJsaWNoIGluc2Jlc29uZGVyZSBhdWNoIGFsbGVzIHp1bSBXb2NoZW5lbmR0aWNrZXQgKFNXVCkgdW5kIGFuZGVyZW4KRmFocnByZWlzZHJ1ZWNrdGFyaWZlbi4KCkVpbmZhY2ggZGllIEFuZnJhZ2UgcGVyIG1haWwgYW4gTG9jbyBoaWVyIGltIE11ZCBzZW5kZW4uIAoKQmVpIEZhaHJwbGFuLSB1bmQgRmFocnByZWlzYW5mcmFnZW4gYml0dGUgZm9sZ2VuZGUgRGF0ZW4gYW5nZWJlbjoKLSBTdHJlY2tlCi0gRGF0dW0sIFVocnplaXQKLSBBbnphaGwgUGVyc29uZW4gKG1pbi9tYXgpCi0gaXN0IGVpbmUgQmFobkNhcmQgYnp3LiBhbmRlcmUgRXJtYWVzc2lndW5nIHZvcmhhbmRlbj8gCiAgd2VubiBuZWluLCBBbHRlci4KLSBTdWNodm9yZ2FiZTogei5CLiAnbW9lZ2xpY2hzdCBzY2huZWxsJyBvZGVyICdtb2VnbGljaHN0IGJpbGxpZycgb2RlciBhdWNoIAogICdtb2VnbGljaHN0IHdlbmlnIFVtc3RlaWdlbicuCgpEaWUgQW50d29ydCBrYW5uIHUuVS4gbWVocmVyZSBUYWdlIGRhdWVybiAoaWNoIG11c3MgZGFzIGphIGF1Y2ggZXJzdApyYXVzc3VjaGVuKS4KRGllc2VyIFNlcnZpY2UgaXN0IGtvc3RlbmxvcywgQUJFUjogSWNoIG1vZWNodGUgYW5zY2hsaWVzc2VuZCBkaWUgRmFocmthcnRlCmZ1ZXIgbWVpbmUgRmFocmthcnRlbnNhbW1sdW5nIGhhYmVuLiBVbnRlciBVbXN0YWVuZGVuIGJlaGFsdGUgaWNoIG1pciBhdWNoCnZvciwgZXVjaCBlaW5lbiBrb25rcmV0ZW4gVm9yc2NobGFnIHp1IG1hY2hlbiwgd28gdW5kIHdpZSBpaHIgZGllIEZhaHJrYXJ0ZW4Ka2F1ZmVuIHNvbGx0LCBkYW1pdCBldHdhcyBmdWVyIEZhaHJrYXJ0ZW5zYW1tbGVyIGludGVyZXNzYW50ZXMgZGFiZWkKcmF1c2tvbW10Li4uCkFsbGUgQW5nYWJlbiBzaW5kIG5hdHVlcmxpY2ggb2huZSBHZXdhZWhyLCBhYmVyIG5hY2ggYmVzdGVtIFdpc3NlbiB1bmQKR2V3aXNzZW4gdW5kIHVudGVyIFZlcndlbmR1bmcgYWt0dWVsbGVyIE9yaWdpbmFsdW50ZXJsYWdlbi4KCgpFdWVyIEZhaHJwbGFuLSB1bmQgVGFyaWZleHBlcnRlLAoKICAtIExvY28KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGFkdHZlcmtlaHJzdGFyaWZlIGluIEthcmxzcnVoZSAoTG9jbywgMzAuIEphbiAxOTk3LCAyMTo1Mjo0NCk6CiAgICAgICAgQXVzenVnIGF1cyBkZW4gVGFyaWZlbiBkZXMgS2FybHNydWhlciBWZXJrZWhyc3ZlcmJ1bmRlcyAoS1ZWKQogICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkljaCBoYWJlIG1hbCBlaW5pZ2UgVGFyaWZlIHp1c2FtbWVuZ2VzdGVsbHQsIGRpZSBmdWVyIFBhcnR5YmVzdWNoZXIKaW50ZXJlc3NhbnQgc2VpbiBrb2VubmVuICh3ZW5zIG5pY2h0IGludGVyZXNzaWVydCAtPiB1ZWJlcmJsYWV0dGVybikuCgotIE5vcm1hbGUgRWluemVsZmFocnNjaGVpbmU6IERpZSB6d2VpdHRldWVyc3RlIEFydCwgQmFobiB6dSBmYWhyZW4uCgogIDEgWm9uZSAobmljaHQgaW4gS2FybHNydWhlKSBvZGVyIEt1cnpzdHJlY2tlICAyLC0gRE0KICAyIFpvbmVuIG9kZXIgU3RhZHRnZWJpZXQgS2FybHNydWhlICAgICAgICAgICAgMywtIERNCiAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXiAgICAgICAgICAgICAuLi4KICAuLi4gdXN3LCBqZXdlaWxzIChab25lbiArMSkgRE0sIG1heGltYWwgYWJlciAgOCwtIERNCiAgCiAgRGllIEt1cnpzdHJlY2tlIGdpbHQgaW4gS2FybHNydWhlIG51ciBpbm5lcmhhbGIgZGVyIEZ1c3NnYWVuZ2Vyem9uZSAKICBLYWlzZXJzdHJhc3NlLCBhbnNvbnN0ZW4gZ2lsdCBpbSBTdGFkdGdlYmlldCBpbW1lciBlaW4gRWluemVscHJlaXMKICB2b24gMywtIERNLgogIFZlcmthdWY6IFVlYmVyYWxsLCBhdWNoIGJlaSBTdHJhc3NlbmJhaG4tIHVuZCBCdXNmYWhyZXJuLgoKLSBNZWhyZmFocnRlbmthcnRlOiA0IEZhaHJ0ZW4genVtIFByZWlzIHZvbiAzLiAKCiAgS2FubiBuYXR1ZXJsaWNoIHouQi4gYXVjaCBmdWVyIGVpbmUgRmFocnQgbWl0IDQgUGVyc29uZW4gdmVyd2VuZGV0IAogIHdlcmRlbi4gRnVlcnMgU3RhZHRnZWJpZXQgS0Ega29zdGVuIGFsc28gei5CLiA0IEZhaHJ0ZW4gOSwtIERNLCBwcm8gRmFocnQKICBhbHNvIG51ciAyLDI1IERNLgogIFZlcmthdWY6IE51ciBpbSBWb3J2ZXJrYXVmIGFuIFZlcmthdWZzc3RlbGxlbiB1bmQgQXV0b21hdGVuLiAKICBOSUNIVCBiZWltIEZhaHJlci4KICAKLSAyNC1TdHVuZGVua2FydGVuOiBFbXBmZWhsZW5zd2VydC4KCiAgZ2VsdGVuIDI0IFN0dW5kZW4gYWIgRW50d2VydHVuZyBmdWVyIF9aV0VJXyBFcndhY2hzZW5lLiAyIFZhcmlhbnRlbjoKICAiQ2l0eWthcnRlIjogICA4LC0gRE0KICAgKEdpbHQgaW4gMyBab25lbiBvZGVyIGltIFN0YWR0Z2ViaWV0IEthcmxzcnVoZSB1bmQgZWluZXIgd2VpdGVyZW4gWm9uZSkKICAiUmVnaW9rYXJ0ZSI6dCBpbSBHZXNhbXRuZXR6IGRlcyBLVlYpCiAgVmVya2F1ZjogVWViZXJhbGwsIGF1Y2ggYmVpIFN0cmFzc2VuYmFobi0gdW5kIEJ1c2ZhaHJlcm4uCgotIFdvY2hlbmVuZHRpY2tldDoKCiAgR2VuYXUsIGRhcyBpc3QgZGFzIFNXVCBkZXIgREIuIEplZGVzIFNXVCwgZWdhbCB3byBlcyBnZWthdWZ0IHd1cmRlLCAKICBnaWx0IGltIEtWViBhdWYgYWxsZW4gVmVyYnVuZHZlcmtlaHJzbWl0dGVsbi4gVmVya2F1ZnQgd2lyZCBlcyBlYmVuLQogIGZhbGxzLCB1bmQgendhciBpbSBWb3J2ZXJrYXVmIGF1cyBhbGxlbiBWZXJidW5kYXV0b21hdGVuIHVuZCBiZWkgCiAgVmVya2F1ZnNzdGVsbGVuLiBOaWNodCBiZWltIEZhaHJlci4KICBFbnR3ZXJ0ZW4gbmljaHQgdmVyZ2Vzc2VuIQoKLSBBbmVya2VubnVuZyB2b24gREItRmFocnNjaGVpbmVuOgoKICBEYXMgU1dUIGdpbHQsIHdpZSBzY2hvbiBnZXNhZ3QsIHVlYmVyYWxsLgogIEFuZGVyZSBEQi1GYWhyc2NoZWluZSB3aWUgdWVibGljaCBudXIgYmVpIGRlciBEQi4gQWNodHVuZzogUy1CYWhuIGlzdAogIG51ciBkYW5uIERCLCB3ZW5uIGVzIGF1Y2ggZWluZSBEQi1TdHJlY2tlIGlzdC4KICBFaW5lIGludGVyZXNzYW50ZSBBdXNuYWhtZSB6dXIgUmVnZWwgZ2lidCBlczogRGllIExpbmllIFM0IGdpbHQgYXVjaCAKICB6d2lzY2hlbiBEdXJsYWNoIHVuZCBIYmYgYWxzIERCLVp1Zywgb2J3b2hsIHNpZSBhbHMgU3RyYXNzZW5iYWhuIGR1cmNoCiAgZGllIElubmVuc3RhZHQgZmFlaHJ0LiBEYXJhbiBoaW5kZXJuLCB1bnRlcndlZ3MgYXVzenVzdGVpZ2VuLCBrYW5uIGVpbmVuCiAgZG9jaCBuaWVtYW5kLiBEYXMgaGVpc3N0OiBXZXIgdm9uIE5vcmRlbiBvZGVyIE9zdGVuIGtvbW10LCBrYW5uIAogIEthcmxzcnVoZS1EdXJsYWNoIGF1ZiBkaWUgTGluaWUgUzQgdW1zdGVpZ2VuIHVuZCBtaXQgZWluZW0gbm9ybWFsZW4gCiAgREItRmFocnNjaGVpbiAobmFjaCBLQSBIYmYgYXVzZ2VzdGVsbHQpIHouQi4genVtIE1hcmt0cGxhdHogZmFocmVuLgogIFZvbiBTdWVkZW4ga2FubiBtYW4gbWl0IGVpbmVtIEZhaHJzY2hlaW4gbmFjaCBEdXJsYWNoIGFtIEhiZiBpbiBkaWUgUzQKICB1bXN0ZWlnZW4gdW5kIGluIGRlciBJbm5lbnN0YWR0IGVpbmZhY2ggdmVyc2Nod2luZGVuLgoKCihUYXJpZnN0YW5kIDEwLzk2IGIuYS53LikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGFkdHZlcmtlaHJzdGFyaWZlIGluIEthcmxzcnVoZSAoTG9jbywgMzAuIEphbiAxOTk3LCAyMTo1Mzo1Mik6Cn4jISBybj1Mb2NvIHJ0PTg1NDY1NzU2NCByZz1wYXJ0eQp+IyEgdGlkPTg1NDY1NzU2NAphcmdsLCBkYSBoYXRzIHdhcyB2ZXJzY2hsdWNrdDogRGllIFJlZ2lva2FydGUga29zdGV0IDE1LC0gRE0gdW5kIGdpbHQgaW0KR2VzYW10bmV0eiBkZXMgS1ZWLCBlYmVuZmFsbHMgMjQgU3R1bmRlbiBmdWVyIDIgUGVyc29uZW4gKEthcGl0ZWwKMjQtU3RkLUthcnRlbikKCi0gTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXJ3ZWlzdW5nZW4hIChCb2luZywgIDMuIEZlYiAxOTk3LCAxNToyMzo0MSk6CkljaCBtb2VjaHRlIERSSU5HRU5EIGRhcmF1ZiBoaW53ZWlzZW4sIGRhcyBHZWxkIGZ1ZXIgZGllIFBhcnR5IHp1CnVlYmVyd2Vpc2VuLiBCaXMgRnJlaXRhZyBoYXR0ZW4gZ2VyYWRlIG1hbCAyMCBMZXV0ZSB1ZWJlcndpZXNlbi4gSWNoCm1vZWNodGUgd2lzc2VuIG1pdCB3ZWxjaGVtIEdlbGQgd2lyIGVpbmthdWZlbiBzb2xsZW4sIHdlbm4ga2VpbmVyCnVlYmVyd2Vpc3QuCkFsc28sIGJyaW5ndCBkZW4gQXJzY2ggaG9jaCB1bmQgZ2VodCB6dXIgQmFuayEKVHNjaHVlc3MsCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVZWJlcndlaXN1bmdlbiEgKEZldWVyd2VociwgIDMuIEZlYiAxOTk3LCAxNjozMjo0MCk6Cn4jISBybj1Cb2luZyBydD04NTQ5Nzk4MjEgcmc9cGFydHkKfiMhIHRpZD04NTQ5Nzk4MjEKSGkKCkFlaG0sIGljaCBoYWJlIHNjaG9uIHVlYmVyd2llc2VuIHVuZCB3dWVyZGUgZ2VybmUgd2lzc2VuLCBvYiBlcyBhbmdla29tbWVuCmlzdC4gS2FubiBkaWUgbGlzdGUgZGVyIHNjaG9uLUJlemFobHRlbiBpcmdlbmR3byBpbiBkaWUgTVBBIGdlc2NocmllYmVuCndlcmRlbj8KCkZldWVyd2VociAobXVzc3RlIGJhciBiZXphaGxlbiEgKmFyZ2wqKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVlYmVyd2Vpc3VuZ2VuISAoSGFyLCAgNC4gRmViIDE5OTcsIDA4OjQ2OjA0KToKfiMhIHJuPUJvaW5nIHJ0PTg1NDk3OTgyMSByZz1wYXJ0eQp+IyEgdGlkPTg1NDk3OTgyMQpJY2ggaGFiZSBUYW1hcmEgc2Nob24gYW5nZXdpZXNlbiBmdWVyIG1uY2loIHp1IHVlYmVyd2Vpc2VuIDstKQoKSGFyIChsYWVzc3QgZ2VybmUgdWViZXJ3ZWlzZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJrbW9lZ2xpY2hrZWl0ZW4/IChLYXJ0b2ZmZWwsICA0LiBGZWIgMTk5NywgMTI6MDM6NDIpOgpIYWxsb2VsZSB6dXNhbW1lbiwKCndpZSBzaWVodCBkYXMgZGVubiBtaXQgUGFya21vZWdsaWNoa2VpdGVuIGF1cywga2FubiBpY2ggbWVpbiBBdXRvIGlyZ2VuZHdvCmFic3RlbGxlbiBhbSBGcmVpdGFnIHVuZCBiaXMgU29ubnRhZyBkYSB2ZXJnZXNzZW4sIG9kZXIgbXVzcyBpY2ggYWxsZSAxIDEvMiBoCmlyZ2VuZHdvaGluIHJlbm5lbiB1bmQgZGllIFBhcmt1aHIgd2VpdGVyc3RlbGxlbj8KCkthcnRvZmZlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQkFFSCAoS2FydG9mZmVsLCAgNC4gRmViIDE5OTcsIDEyOjA4OjE0KToKR3JhZCBzbyB3YXIgZGFzIF9uaWNodF8gZ2VtZWludCEKCkthcnRvZmZlbCAqR3JpbW1ib3JuIFp1bmdlIHJhdXNzdHJlY2tlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQkFFSCAoU3VuZmxvd2VyLCAgNC4gRmViIDE5OTcsIDEyOjA5OjE0KToKfiMhIHJuPUthcnRvZmZlbCBydD04NTUwNTQ0OTQgcmc9cGFydHkKfiMhIHRpZD04NTUwNTQ0OTQKTmFqYSwgd2VubiBlcyBhbiBuZXIgVW5pIHN0YXR0ZmluZGV0LCBzbyB3ZXJkZW4gYXVjaCBwYXJrcGxhZXR6ZSBmdWVyIGRpZQpTdHVkZW50ZW4gdm9yaGFuZGVuIHNlaW4sIHVuZCBzaWNoZXIgd2lyZCBhdWNoIGVpbiBQYXJrcGxhdHogZnJlaSBzZWluCgoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQkFFSCAoS2FydG9mZmVsLCAgNC4gRmViIDE5OTcsIDEyOjEwOjEyKToKfiMhIHJuPVN1bmZsb3dlciBydD04NTUwNTQ1NTQgcmc9cGFydHkKfiMhIHRpZD04NTUwNTQ0OTQKJ3VudCBwYXJ0eWJyZXR0JyBTdW5ueWxlaW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCQUVIIChTdW5mbG93ZXIsICA0LiBGZWIgMTk5NywgMTI6MTE6NDYpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTg1NTA1NDYxMiByZz1wYXJ0eQp+IyEgdGlkPTg1NTA1NDQ5NApvaGggbmFqYSwgc3RlbGxzIHRyb3R6ZGVtIGFuIGRlciB1bmkgYWIgb2RlciBpbSBhbHRlbiBzdGFkaW9uIGF1Zm4KZnVzc2JhbGxmZWxkIDotKQoKdW5kIHNvIGVpbiBzdGFkaW9uIGhhdCBiZXN0aW1tdCBhdWNoIHBhcmtwbGFldHplIGFuc29uc3RlbiwgcGFya2Ugdm9yIGVpbmVyCmJhbmsgbWl0IGxhdWZlbmRlbiBNb3RvciA6LSkpKQoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJBRUggKEJvaW5nLCAgNS4gRmViIDE5OTcsIDEzOjI1OjQ3KToKfiMhIHJuPVN1bmZsb3dlciBydD04NTUwNTQ3MDYgcmc9cGFydHkKfiMhIHRpZD04NTUwNTQ0OTQKQWxzbyBkYXMgJ2FsdGUgU3RhZGlvbicgZGFyZiBtYW4gc2ljaCBlaWdlbnRsaWNoIG5pY2h0IGFscyBTdGFkaW9uIHZvci0Kc3RlbGxlbiwgZGEgaXN0IG5hZW1saWNoIG51ciBub2NoIGRpZSBTdWVka3VydmUgdWVicmlnLiBEYSB1bnRlbiBkcmluCnNpbmQgZGFubiBkaWUgUGFydHktUmFldW1saWNoa2VpdGVuLiAKRGFzIFVuaWdlbGFlbmRlIGlzdCBhYiBGcmVpdGFnIE1pdHRhZyBnZW9lZmZuZXQsIGRhcyBoZWlzc3QgbWFuIGthbm4gZGEKbWl0IGRlbSBBdXRvIHJlaW5mYWhyZW4gdW5kIGJpcyBTb25udGFnIHBhcmtlbiwgZGFzIGlzdCBrZWluIFByb2JsZW0uCkVpbiBncm9lc3NlcmVzIFByb2JsZW0gaXN0IGRlciBJdGFsaWVuZXIsIHdvIHdpciBGcmVpdGFnIGFiZW5kIHNpbmQsCmRvcnQgdWViZXJoYXVwdCBlaW5lbiBQYXJrcGxhdHogenUgZmluZGVuIGlzdCBIQVJUISAoSWNoIHdlaXNzIGRhcywgaWNoCmhhYiBkYSBtYWwgZ2V3b2hudCAuLi4pIApWb24gZGVyIFVuaSBkb3J0IHp1IEZ1c3MgaGluenVsYXVmZW4gaXN0IGFiZXIgdGhlb3JldGlzY2gga2VpbiBQcm9ibGVtCig1IC0gMTAgTWludXRlbikuIEdlbmF1ZXJlcyAoYXVjaCBmdWVyIExldXRlIGRpZSBtaXQgWnVnIHVuZCBTdHJhc3NlbmJhaG4Ka29tbWVuKSBnaWJ0J3MgYWJlciBub2NoIG1pdCBkZXIgV2VnYmVzY2hyZWlidW5nLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCQUVIIChNb3Jnb3RoLCAgNS4gRmViIDE5OTcsIDEzOjMxOjQ1KToKfiMhIHJuPUJvaW5nIHJ0PTg1NTE0NTU0NyByZz1wYXJ0eQp+IyEgdGlkPTg1NTA1NDQ5NApTY2hyZWliIGRvY2ggc2Nob25tYWwgdm9yYWIgbmUga2xlaW5lIEluZm8gYXVmIGRpZSBXZWJzZWl0ZS4KTSouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdiZXNjaHJlaWJ1bmcgKEJvaW5nLCAgNS4gRmViIDE5OTcsIDE0OjEzOjAzKToKSGllciBzY2hvbiBtYWwgZGllIFdlZ2Jlc2NocmVpYnVuZzoKCm8gRnJlaXRhZyBhYmVuZCwgbWl0IFp1ZyB1bmQgU3RyYXNzZW5iYWhuOgoKICBXaWUgbWFuIG1pdCBkZW0gWnVnIG5hY2ggS2FybHNydWhlIGtvbW10LCBtdWVzc3QgaWhyIHNlbGJlciByYXVzZmluZGVuLgogIElociBrb2VubnQgYXVjaCBMb2NvIGZyYWdlbiwgZGVyIGphIGZyZXVuZGxpY2hlcndlaXNlIHNlaW5lIEhpbGZlIGRhYmVpCiAgYW5nZWJvdGVuIGhhdC4gCiAgbyBWb20gSGF1cHRiYWhuaG9mIG5laG10IGlociBlbnR3ZWRlciBkaWUgTGluaWUgMyAoUmljaHR1bmcgV2FsZHN0YWR0KQogICAgb2RlciBkaWUgTGluaWUgNCAoUmljaHR1bmcgUmludGhlaW0pLCBldnRsLiBzaW5kIGRpZSB6d2VpIExpbmllbiBhdWNoCiAgICB2ZXJ0YXVzY2h0LCBpc3QgYWJlciBlZ2FsLiBCZWlkZSBMaW5pZW4gaGFsdGVuIGFtIEthcmwtV2lsaGVsbS1QbGF0ei4KICAgIERvcnQgc3RlaWd0IGlociBhdXMgdW5kIGdlaHQgbmFjaCBTdWVkZW4gKGluIEZhaHJ0cmljaHR1bmcgcmVjaHRzKSB1ZWJlcgogICAgZGVuICdxdWFzaS1rcmVpc3ZlcmtlaHInLCBnbGVpY2ggZGFoaW50ZXIgYXVmIGRlciBsaW5rZW4gU2VpdCBkZXIgR2VvcmctCiAgICBGcmllZHJpY2gtU3RyYXNzIGlzdCBkYXMgUGl6emFoYXVzLgogIG8gVm9tIEJhaG5ob2YgRHVybGFjaCBhdXMgZ2lidCBlcyAyIE1vZWdsaWNoa2VpdGVuLiBFbnR3ZWRlciBpaHIgbmVobXQgZGllCiAgICBTMSAob2RlciB3YXIncyBTND8gSXN0IGVnYWwsIGlyZ2VuZGVpbmUgbWl0IFMgdm9ybmVkcmFuLCBkYSBnaWJ0J3MgbnVyCiAgICBlaW5lKSBpbiBSaWNodHVuZyBTdGFkdG1pdHRlLiBBdXNnZXN0aWVnZW4gd2lyZCBhbiBkZXIgSGFsdGVzdGVsbGUKICAgICdHb3R0ZXNhdWVyIFBsYXR6Jy4gVm9uIGRvcnQgZ2VodCBpaHIgbmFjaCBOb3JkZW4gKHJlY2h0cyB6dXIgRmFocnRyaWNoLQogICAgdHVuZykgaW4gZGllIEdlb3JnLUZyaWVkcmljaC1TdHJhc3NlLiBBbiBkZXIgZHJpdHRlbiBTdHJhc3NlLCBkaWUgcmVjaHRzCiAgICBhYmdlaHQsIGlzdCBkYXMgUGl6emFoYXVzLgogICAgQWx0ZXJuYXRpdiBsYXVmdCBpaHIgZGVuIFNjaGlsZGVybiAnU3RyYXNzZW5iYWhuIExpbmllIDEgdW5kIDInIG5hY2gsCiAgICBkYXMgaGF0IGRlbiBWb3J0ZWlsLCBkYXNzIGRvcnQgYWxsZSA1LTEwIE1pbnV0ZW4gZWluZSBTdHJhc3NlbmJhaG4ga29tbXQuCiAgICBPYiBpaHIgZGllIDEgb2RlciBkaWUgMiBuZWhtdCBpc3QgZWdhbCwgaGF1cHRzYWNoZSBpbiBSaWNodHVuZyBTdGFkdC0KICAgIG1pdHRlLCBOSUNIVCBuYWNoIER1cmxhY2guIEF1c3N0ZWlnZW4gYW0gR290dGVzYXVlciBQbGF0eiwgUmVzdCBzaWVoZQogICAgb2Jlbi4KCm8gU2Ftc3RhZywgbWl0IFp1ZyB1bmQgU3RyYXNzZW5iYWhuOgoKICBEaWUgQmVzY2hyZWlidW5nIGlzdCBlaWdlbnRsaWNoIGlkZW50aXNjaCB6dSBGcmVpdGFnIGFiZW5kLCBudXIgc3RlaWd0IGlocgogIGFuIGRlciBIYWx0ZXN0ZWxsZSAnRHVybGFjaGVyIFRvcicgYXVzLCBlZ2FsIG9iIGlociB2b20gSGF1cHRiYWhuaG9mIG1pdAogIGRlciAzIG9kZXIgNCBrb21tdCwgb2RlciB2b24gRHVybGFjaCBtaXQgUzEsIDEgb2RlciAyLgogIFZvbSBEdXJsYWNoZXIgVG9yIGxhdWZ0IGlociBuYWNoIE5vcmRlbiAoQWRlbmF1ZXJyaW5nKSwgZGFzIGlzdCBkaWUgZWluemlnZQogIFJpY2h0dW5nLCB3byBrZWluZSBTdHJhc3NlbmJhaG5zY2hpZW5lbiBoaW5mdWVocmVuLiBOYWNoIGNhLiAyMDAgTWV0ZXJuCiAgc2VociBpaHIgbGlua3MgZGFzIFVuaS1IYXVwdHRvciwgZGEgZ2VodCBpaHIgcmVpbiB1bmQgaW1tZXIgZ2VyYWRlYXVzCiAgYmlzIGF1ZiBkZXIgcmVjaHRlbiBTZWl0ZSBkYXMgQWx0ZSBTdGFkaW9uIChiencuIEFLSykgYXVmdGF1Y2h0LgoKbyBGcmVpdGFnIG9kZXIgU2Ftc3RhZywgbWl0IGRlbSBBdXRvLCBVbml2ZXJzaXRhZXQ6CgogIEZhc3QgamVkZXIgd2lyZCB2b24gTm9yZGVuLCBTdWVkZW4gb2RlciBPc3RlbiBrb21tZW4sIGFsc28gYXVmIGRlciBBNSAoYnp3LgogIGF1ZiBkZXIgQTgxLCBkaWUgYmVpIEthcmxzcnVoZSBhdWYgZGllIEE1IHRyaWZmdCkuIEF1c2ZhaHJ0IER1cmxhY2ggZ2VodAogIGVzIHJhdXMsIGRhbm4gYWJlciBOSUNIVCBpbiBSaWNodHVuZyBEdXJsYWNoIGZhaHJlbiBzb25kZXJuIGluIFJpY2h0dW5nCiAgU3RhZHRtaXR0ZSAoZC5oLiB6dWVyc3QgdW50ZXIgZGVyIEJydWVja2UgZHVyY2hmYWhyZW4pLiBJbW1lciBnZXJhZGVhdXMKICBmYWhyZW4gYmlzIGF1ZiBkZXIgcmVjaHRlbiBTZWl0ZSBlaW5lIEtpcmNoZSBlcnNjaGVpbnQsIGRvcnQgdm9yYmVpZmFocmVuLAogIGt1cnogZGFyYXVmIGtvbW10IGVpbmUgWldFSVRFIEtpcmNoZSwgZG9ydCBnZWh0J3MgcmVjaHRzIGFiIChEaWUgZ3Jvc3NlIAogIEtyZXV6dW5nIG5lbm50IHNpY2ggRHVybGFjaGVyIFRvcikuIERhbm4gbW9lZ2xpY2hzdCBzY2huZWxsIGxpbmtzIGVpbi0KICBvcmRuZW4sIHdlaWwgc2Nob24ga3VyeiBkYXJhdWYgZGVyIFVuaS1IYXVwdGVpbmdhbmcgYXVmIGRlciBsaW5rZW4gU2VpdGUgCiAgZXJzY2hlaW50LiBEb3J0IGdlaHQncyBkYW5uIG5hdHVlcmxpY2ggcmVpbiwgbmFjaCBjYS4gMjAwIE1ldGVybiBpc3QgYXVmCiAgZGVyIHJlY2h0ZW4gU2VpdGUgZGFzIGFsdGUgU3RhZGlvbi4KICBXZXIgdGF0c2FlY2hsaWNoIHZvbiBXZXN0ZW4ga29tbWVuIHNvbGx0ZSwgZmFlaHJ0IGJlaSBXb2VydGggdWViZXIgZGllCiAgUmhlaW5icnVlY2tlLCBkYW5uIGF1ZiBkZXIgU3VlZHRhbmdlbnRlIGJpcyB6dXIgQXVzZmFocnQgSGF1cHRiYWhuaG9mLgogIERvcnQgc29sbHRlbiBhdWNoIFNjaGlsZGVyIGluIFJpY2h0dW5nIFdpbGRwYXJrc3RhZGlvbiBzdGVoZW4sIGRlbmVuIGZvbGd0IAogIGlociBlaW5mYWNoLiBUaGVvcmV0aXNjaCBtdWVzc3RldCBpaHIgZGFubiBhdWNoIGJlaSBkZXIgb2JlbiBlcndhZWhudGVuIAogIEtpcmNoZSByYXVza29tbWVuIChEdXJsYWNoZXIgVG9yKSwgZG9ydCBsaW5rcyBhYmJpZWdlbiAoVW5pdmVyc2l0YWV0IHVuZAogIFdpbGRwYXJrc3RhZGlvbiBtdWVzc3RlbiB3ZWl0ZXJoaW4gYXVzZ2VzY2hpbGRlcnQgc2VpbiksIGdsZWljaCBkcmF1ZiAKICB3aWVkZXIgbGlua3MgenVtIFVuaS1IYXVwdGVpbmdhbmcgcmVpbiwgUmVzdCBzLm8uIEZhbGxzIGRpZXNlIEJlc2NocmVpYnVuZwogIGlyZ2VuZHdpZSBmYWxzY2ggc2VpbiBzb2xsdGUsIGRhbm4gZnJhZ3QgZXVjaCBlaW5mYWNoIHp1ciBVbml2ZXJzaXRhZXQKICBkdXJjaCwgc29sbHRlIGtlaW4gUHJvYmxlbSBzZWluLgoKbyBGcmVpdGFnIGFiZW5kLCB6dSBGdXNzIHZvbiBkZXIgVW5pIHp1bSBQaXp6YWhhdXM6CgogIFp1cnVlY2sgenVtIFVuaS1IYXVwdGVpbmdhbmcsIGRvcnQgdWViZXIgZGllIFN0cmFzc2UgZ2VoZW4gdW5kIGRhbm4gcmVjaHRzCiAgaGFsdGVuLiBBbiBkZXIgbmFlY2hzdGVuIFN0cmFzc2UgZ2VodCBpaHIgbGlua3MgKGRhcyBpc3Qgdm9yIGRlciBLaXJjaGUpLAogIGRpZSBTdHJhc3NlIGhlaXNzdCBLYXJsLVdpbGhlbG0tU3RyYXNzZSwgd2VubiBpY2ggbWljaCByZWNodCBlbnRzaW5uZS4KICBEb3J0IGxhdWZ0IGlociBlbnRsYW5nIGJpcyBpaHIgYW4gZWluZW4gQXJ0IEtyZWlzdmVya2VociBrb21tdCwgZGFzIGlzdCBkZXIKICBLYXJsLVdpbGhlbG0tUGxhdHouIERhIGdlaHQgaWhyIHJlY2h0cyBpbiBkaWUgR2VvcmctRnJpZWRyaWNoLVN0cmFzc2UgcmVpbiwKICBkb3J0IGlzdCBkYW5uIGdsZWljaCBhbiBkZXIgbmFlY2hzdGVuIEFiendlaWd1bmcgbmFjaCBsaW5rcyBkYXMgUGl6emFoYXVzLgoKbyBGcmVpdGFnIGFiZW5kLCBtaXQgZGVtIEF1dG8sIFBpenphaGF1czoKCiAgT2hvaCAuLi4gbnVyIGVpbiBUaXA6IE5laG10IGRpZSBCZXNjaHJlaWJ1bmcgdm9uIG9iZW4gdW5kIGxhdWZ0IHp1bSBQaXp6YS0KICBoYXVzIC4uLiBzcGFydCBuZSBNZW5nZSBOZXJ2ZW4gdW5kIGlzdCB3YWhyc2NoZWlubGljaCBhdWNoIG5pY2h0IHdlaXRlciB3ZWcKICBhbHMgZXVlciBQYXJrcGxhdHouIAogIFdlciB2b24gZGVyIEE1IGtvbW10IGZhZWhydCBudXIgYmlzIHp1ciBFUlNURU4gS2lyY2hlIHVuZCBkaXJla3QgZGF2b3IgCiAgcmVjaHRzIHJlaW4sIGRhcyBpc3Qgc2Nob24gZGllIEdlb3JnLUZyaWVkcmljaC1TdHJhc3NlLiBBbiBkZXIgZHJpdHRlbgogIEFiendlaWd1bmcgcmVjaHRzIGlzdCBkYW5uIGRhcyBQaXp6YWhhdXMuCiAgV2VyIHZvbiBkZXIgU3VlZHRhbmdlbnRlIGtvbW10IGZhZWhydCB3aWUgb2JlbiBiZXNjaHJpZWJlbiB6dW0gRHVybGFjaGVyCiAgVG9yLCBkZXIgVW50ZXJzY2hpZWQgenUgb2JlbiBsaWVndCBkYXJpbiwgZGFzcyBpaHIgZGFubiBkaXJla3QgaGludGVyIGRlcgogIGVyd2FlaG50ZW4gS2lyY2hlIHJlY2h0cyBhYmJpZWd0LCBhbSBLcmVpc3ZlcmtlaHIgd2llZGVyIHJlY2h0cyB1bmQgZ2xlaWNoCiAgd2llZGVyIGxpbmtzLiBEaXJla3QgYW4gZGVyIEVja2UgaXN0IGRhcyBQaXp6YWhhdXMuCiAgVmllbCBTcGFzcyBiZWltIFBhcmtwbGF0eiBzdWNoZW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VnYmVzY2hyZWlidW5nIChMb2NvLCAgNS4gRmViIDE5OTcsIDIyOjEzOjIyKToKfiMhIHJuPUJvaW5nIHJ0PTg1NTE0ODM4MyByZz1wYXJ0eQp+IyEgdGlkPTg1NTE0ODM4MwotIERpZSBTLUxpbmllIHZvbiBEdXJsYWNoIFJpY2h0dW5nIElubmVuc3RhZHQgaXN0IGRpZSBTIDQsIGRpZSBTIDEgZmFlaHJ0CkhvY2hzdGV0dGVuLUJhZCBIZXJyZW5hbGIuCi0gQW5zb25zdGVuOiBVbmJlZGluZ3QgYXVmcGFzc2VuIHdlZ2VuIFMgdW5kIG5pY2h0LVM6IFMtQmFobmVuIHNpbmQgaW4KS2FybHNydWhlIGF1Y2ggU3RyYXNzZW5iYWhuZW4sIG9kZXIgdW1nZWtlaHJ0IGdlc2FndDogQmVzdGltbXRlClN0cmFzc2VuYmFobmxpbmllbiBoZWlzc2VuIFMtQmFobiB1bmQgZmFocmVuIGF1cyBkZXIgU3RhZHQgcmF1cy4KTGVpZGVyIGdpYnQgZXMgZGFtaXQgTnVtbWVybiBtZWhyZmFjaCwgei5ULiBmYWhyZW4gc29nYXIgYW4gZGVyc2VsYmVuCkhhbHRlc3RlbGxlIFN0cmFzc2VuYmFobiB1bmQgUy1CYWhuIG1pdCBnbGVpY2hlciBMaW5pZW5udW1tZXIgdW5kIHNpbmQgZnVlcgpkZW4gTGFpZW4gd2lya2xpY2ggbnVyIGFtIFMgdW50ZXJzY2hlaWRiYXIuCgpXZW5uIGFsc28gQm9pbmcgdm9uIGRlciBMaW5pZSA0IHJlZGV0LCBtZWludCBlciBkaWUgU3RyYXNzZW5iYWhubGluaWUgNAooSGJmLVdhbGRzdGFkdCkgb2huZSBTLCBkaWUgUyA0IGlzdCBkYWdlZ2VuIGRpZSBTLUJhaG5saW5pZSA0IEJyZXR0ZW4gLQpCYWRlbi1CYWRlbi4KCkFsbGUgS2xhcmhlaXRlbiBiZXNlaXRpZ3Q/CgotIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VnYmVzY2hyZWlidW5nIChXdXJ6ZWwsICA1LiBGZWIgMTk5NywgMjI6MTU6MDkpOgp+IyEgcm49TG9jbyBydD04NTUxNzcyMDIgcmc9cGFydHkKfiMhIHRpZD04NTUxNDgzODMKaWNoIHdlaXNzIGRvY2gsIHdhcnVtIGljaCBtaXQgZGVtIGF1dG8ga29tbWUuLi4gZGFzIGlzdCBtaXIgenUgaG9jaCA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VnYmVzY2hyZWlidW5nIChUcmVrYW4sICA1LiBGZWIgMTk5NywgMjM6NTc6MzEpOgp+IyEgcm49Qm9pbmcgcnQ9ODU1MTQ4MzgzIHJnPXBhcnR5Cn4jISB0aWQ9ODU1MTQ4MzgzCkZpbmQgaWNoIGNvb2xzdGVucywgZGFzcyBkdSBhbGxlcyBtaXQgUGl6emEgYmVzY2hyZWlic3QuIERhbm4gZmluZGVuIHdpciBkYXMKbWl0IHNpY2hlcmhlaXQKOy0pClRyZWthbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWdiZXNjaHJlaWJ1bmcgKFRlZGR5LCAgNy4gRmViIDE5OTcsIDEwOjA0OjU5KToKfiMhIHJuPVRyZWthbiBydD04NTUxODM0NTEgcmc9cGFydHkKfiMhIHRpZD04NTUxNDgzODMKSmF1LCBpbW1lciBkZXIgTmFzZSBuYWNoIDspClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZWdiZXNjaHJlaWJ1bmcgKEtyYW1rYSwgIDcuIEZlYiAxOTk3LCAxNDowNjoyNCk6Cn4jISBybj1UZWRkeSBydD04NTUzMDYyOTkgcmc9cGFydHkKfiMhIHRpZD04NTUxNDgzODMKSXN0IGRpZXMgYXVjaCBhdWYgZGVyIFdlYi1TZWl0ZSBuYWNobGVzYmFyID8/PwpLcmFta2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VnYmVzY2hyZWlidW5nIChUYW1hcmEsIDEzLiBGZWIgMTk5NywgMTg6MTg6MzMpOgp+IyEgcm49VHJla2FuIHJ0PTg1NTE4MzQ1MSByZz1wYXJ0eQp+IyEgdGlkPTg1NTE0ODM4MwpIRVkgd2VyIHNpdCBkZW5uIGF1ZiBkaWUgZ2VpbGUgSWRlZSBtaXQgZGVtIFBpenphaGF1cyBnZWtvbW1lbj8KRGFzIGlzdCBqYSBpbiBtZWluZXIgU3RyYXNzZS4uLiBkYSBtdXNzIGljaCBudXIgZGllIDNTdG9ja3dlcmtlIGhpbnRlcmhlcgpob2Noa29tbWVuLi4uIGFsbGVyZGluZ3MgZnVlciBuZSBhbHRlIEZyYXUgd2llIG1pY2ggaWF0IGRhcyBzY2hvbiBuaWN2aApsZWljaHQhIDopCgpUYW1hcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZWdiZXNjaHJlaWJ1bmcgKFByYSwgMTMuIEZlYiAxOTk3LCAyMTowMToxNCk6Cn4jISBybj1UYW1hcmEgcnQ9ODU1ODU0MzEzIHJnPXBhcnR5Cn4jISB0aWQ9ODU1MTQ4MzgzCktsYXNzZSEgRGlyZWt0IGJlaSBEaXI/IERhcmYgaWNoIERpY2ggaW5zIEJldHQgYnJpbmdlbj8gCgoqbGVjaHoqICpzYWJiZXIqCgpQcmEuIFN0ZWh0IGF1ZiBOZWtyb3BoaWxpZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlZ2Jlc2NocmVpYnVuZyAoSGFyLCAxNC4gRmViIDE5OTcsIDA4OjE0OjA3KToKfiMhIHJuPVByYSBydD04NTU4NjQwNzQgcmc9cGFydHkKfiMhIHRpZD04NTUxNDgzODMKS251cnIgUHJhISAtIFdlciBoaWVyIHdhcyBpbSBkcml0dGVuIFN0b2Nrd2VyayB0dXQgYmVoYWx0ZSBpY2ggbWlyIHZvciB6dQpiZXN0aW1tZW4hCkR1IGJpc3QgZG9jaCBudXIgZGEsIHVtIG1vcmdlbnMgenVtIEJhZWNrZXIgcnVudGVyenVsYXVmZW4gdW5kIGRlbiBLYWZmZWUgenUKa29jaGVuLCB1biB1bSB1bnMgbWl0IGdlc2NoYWVsdGVuIFdlaW50cmF1YmVuIHp1IHZlcnNvcmdlbiEKCkhhciAoZ3JpbnNlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ncmFtbSAoQm9pbmcsIDE0LiBGZWIgMTk5NywgMTI6Mjk6NDEpOgpQUk9HUkFNTQotLS0tLS0tLQoKTmFqYSAuLi4gUHJvZ3JhbW0gaXN0IHZpZWxsZWljaHQgZXR3YXMgenV2aWVsIHZlcnNwcm9jaGVuLCBhYmVyIHNvIGluIApldHdhIHdpcmQgZXMgYWJsYXVmZW46CgpGcmVpdGFnCi0tLS0tLS0KCkJlZ2lubiBpc3QgdW0gMTkgVWhyIGltIFBpenphaGF1cywgc2llaGUgV2VnYmVzY2hyZWlidW5nLiAKUHJlaXNsaWNoIGlzdCBlcyBkb3J0IHppZW1saWNoIGd1ZW5zdGlnIChQaXp6YSBhYiA4IERNLCBtYXhpbWFsIDE0IERNKSwKZ2VzY2htYWNrbGljaCBzZWhyIGd1dCwgYWxzbyBmdXR0ZXJ0IGF1Y2ggZWluIGJpc3NjaGVuIHdhcywgZGFtaXQgc2ljaApkZXIgV2lydCBmcmV1dC4gOikgRG9ydCBpc3QgRW5kZSwgd2VubiB6dWdlbWFjaHQgd2lyZCwgaWNoIHdlaXNzIG5pY2h0IApnZW5hdSBvYiBkYXMgdW0gMjQgVWhyIG9kZXIgdW0gMSBVaHIgaXN0LiBXZXIgbm9jaCBsdXN0aWcgaXN0LCBrYW5uIGRhbmFjaCAKaW4gZGllIFN0YWR0IGdlaGVuIHVuZCBkb3J0IHdlaXRlcm1hY2hlbiwgZGllIG1laXN0ZW4gS25laXBlbiBoYWJlbiBiaXMgCjMgVWhyIG9mZmVuLCBEaXNrb3MgYmlzIDUgVWhyLiBBbnNvbnN0ZW4ga2FubiBtYW4gZW50d2VkZXIgVGFtYXJhIDMgClN0b2Nrd2Vya2UgaG9jaGJyaW5nZW4gKHdlbm4gSGFyIGVzIGVybGF1YnQpIG9kZXIgbWl0IGRlciBNZXV0ZSB6dXIgClVlYmVybmFjaHR1bmdzLVR1cm5oYWxsZSB0aWdlcm4uCgpTYW1zdGFnCi0tLS0tLS0KCkFiIDkgVWhyIEZydWVoc3R1ZWNrIGltIGFsdGVuIFN0YWRpb24uIEZ1dHRlciBnaWJ0IGVzIHNvbGFuZ2UgZGVyIFZvcnJhdApyZWljaHQsIGZ1ZXIgbGllZ2VuZ2VibGllYmVuZSBTY2huYXBzbGVpY2hlbiBrb2VubmVuIHdpciBsZWlkZXIga2VpbmUKVmVyYW50d29ydHVuZyB1ZWJlcm5laG1lbi4gOikgQWJlciBkaWUgU3RhZHQgaXN0IG5haCwgZGEgZmluZGV0IG1hbiB6dXIKTm90IGltbWVyIHdhcyB6dSBlc3Nlbi4gRGFzIGlzdCBkYW5uIGF1Y2ggZnVlciBtaXR0YWdzIHp1IGVtcGZlaGxlbiwgd2VpbApkYSBiaWV0ZW4gd2lyIG5pY2h0cyB6dSBlc3NlbiBhbi4gRGVyIHJlc3RsaWNoZSBWb3JtaXR0YWcgKGZhbGxzIHRhdHNhZWNobGljaApzY2hvbiBqZW1hbmQgd2FjaCBpc3QpIHN0ZWh0IHp1ciBmcmVpZW4gVmVyZnVlZ3VuZy4KCjEzLjMwIFVocjogUVVFU1QhIEhhaGEhIFdpciBoYWJlbiB1bnMgdGF0c2FlY2hsaWNoIGV0d2FzIGZ1ZXIgZXVjaCBhdXMKZGVuIEZpbmdlcm4gZ2VzYXVndCEgQWJlciBrZWluZSBTb3JnZSwgZXMgZGF1ZXJ0IG5pY2h0IHNvIGxhbmdlLCB3aWUgaW4KQmVybGluLiBSZWluZSBMYXVmc3RyZWNrZSBpc3QgY2EuIDMwIC0gNDUgTWludXRlbiBsYW5nLCBkYXp1IGtvbW10IG5vY2gKZWluIGJpc3NjaGVuICdTdWNoemVpdCcsIGlociB3ZXJkZXQgZXMgamEgc2VoZW4uIFRlaWxuYWhtZSBpc3QgbmF0dWVybGljaApmcmVpd2lsbGlnLgoKMTYuMDAgVWhyOiBWb2xsdmVyc2FtbWx1bmcgZGVzIE1vcmdlbkdyYXVlbiBGb2VyZGVydmVyZWlucyBpbSBhbHRlbiBTdGFkaW9uCihudXIgZnVlciBNaXRnbGllZGVyLCBkaWUgc29sbHRlbiBhYmVyIGF1Y2ggbW9lZ2xpY2hzdCBrb21tZW4sIGRhIE5ldXdhaGxlbgphbnN0ZWhlbikuCgoxOC4wMCBVaHI6IE9mZml6aWVsbGVyIFN0YXJ0IGRlcyBNYXNzZW5iZXNhZXVmbmlzc2VzLgpHZXRyYWVua2UgdW5kIEZ1dHRlciBzaW5kIG5hdHVlcmxpY2ggdm9yaGFuZGVuLgpFbmRlOiBXZW5uIGRlciBsZXR6dGUgdW1raXBwdC4KClNvbm50YWcKLS0tLS0tLQoKQXVjaCBhbSBTb25udGFnIGdpYnQncyB3aWVkZXIgRnJ1ZWhzdHVlY2sgaW0gYWx0ZW4gU3RhZGlvbiwgYWJlciB3b2hsIGJlc3NlcgplcnN0IGFiIDEwIFVoci4gV2VubiBqZW1hbmQgdW5iZWRpbmd0IGZydWVoZXIgZnJ1ZWhzdHVlY2tlbiB3aWxsLCBzb2xsIGVyCmRhcyBkZW4gT3JnYW5pc2F0b3JlbiByZWNodHplaXRpZyBzYWdlbi4KT2Igd2lyIGZ1ZXIgTWl0dGFncyBub2NoIG5lbiBNYXNzZW5jaGluZXNlbiBmaW5kZW4gaXN0IGZyYWdsaWNoLCB3ZW5uIGphLAp3aXJkIGVzIGRpcmVrdCBhbmdla3VlbmRpZ3QuCgpJY2ggaG9mZmUsIGljaCBoYWIgbml4IHZlcmdlc3NlbiAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2dyYW1tIChCb2luZywgMTQuIEZlYiAxOTk3LCAxMjozMTo1OSk6Cn4jISBybj1Cb2luZyBydD04NTU5MTk3ODEgcmc9cGFydHkKfiMhIHRpZD04NTU5MTk3ODEKQWNoIGphIC4uLiBoYWIgbmF0dWVybGljaCBkb2NoIG5vY2ggd2FzIHZlcmdlc3NlbjoKRmFsbHMgamVtYW5kIFNwaWVsZSBtaXRicmluZ2VuIG1vZWNodGUgKHNvIHdpZSBpbiBCaWVsZWZlbGQpLCBzb2xsIGVyIGRhcwp0dW4sIGVzIGdpYnQgZWluaWdlIGtsZWluZSBSYWV1bWUsIGluIGRlbmVuIG1hbiBhdWNoIG1hbCBlaW5pZ2VybWFzc2VuIFJ1aGUKaGFiZW4ga2Fubi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2dyYW1tIChIYXIsIDE0LiBGZWIgMTk5NywgMTM6MTk6NTEpOgp+IyEgcm49Qm9pbmcgcnQ9ODU1OTE5NzgxIHJnPXBhcnR5Cn4jISB0aWQ9ODU1OTE5NzgxCkhtbSwgaG9lcnQgc2NpaCBndXQgYW4sIGJlc29uZGVycyBkYSBtYXNzZW5iZXNhZXVmbmlzIGFiIDE4LjAwIFVociA6LSkKQWJlciBlaW5zIHdvbGxlbiB3aXIgZ2xlaWNoIG1hbCBrbGFyc3RlbGxlbjoKSWNoIHNjaGxlcHBlIFRhbWFyYSBuYWNoIG9iZW4sIFByYSBoaWxmdCB0cnJhZ2VuIHVuZCBrb21tdCB6dW0gS2FmZmVla29jaGVuCnVucyBwZXVsZW4gbWl0IQoKU28gLSB3ZXIgZmFlaHJ0IEZyZWl0YWcgYWIgUnVocmdlYmlldCBtaXQgQXV0by9CYWhuIG9kZXIgYWJlciBkYW5uIHNwYWV0ZXIgYWIKQm9ubiBtaXQgQXV0by9CYWhuPyAKCkhhciAoaW4gUGFydHlsYXVuZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJvZ3JhbW0gKFByYSwgMTQuIEZlYiAxOTk3LCAxNToxNjo1MSk6Cn4jISBybj1IYXIgcnQ9ODU1OTIyNzkxIHJnPXBhcnR5Cn4jISB0aWQ9ODU1OTE5NzgxCldhdHQgc29sbCBpY2ggbWFjaGVuPyBQZXVsZW4/IER1IGhhc3NlIHdvaGwgbmljaCBtZWhyIGFsbGUhCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2dyYW1tIChXdXJ6ZWwsIDE0LiBGZWIgMTk5NywgMjE6NDA6MTgpOgp+IyEgcm49Qm9pbmcgcnQ9ODU1OTE5OTE5IHJnPXBhcnR5Cn4jISB0aWQ9ODU1OTE5NzgxCmFlaCwgbmUgZnJhZ2UuLi4gZnVlciB2ZXJ3b2VobnRlIHdlaWNoZWllciB3aWUgbWljaCB3YWVyZSB2aWVsbGVpY2h0IGVpbmUKbGlzdGUgZGVyIG5hZWNoc3RnZWxlZ2VuZW4gaG90ZWxzIGdhbnogaGlsZnJlaWNoLCBpbSBzY2hsYWZzYWNrIHBlbm5lbiBpc3QKZnVlciBtaWNoIG5peCA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBadWdmYWhydCBhbSBGcmVpdGFnIChIYXIsIDE3LiBGZWIgMTk5NywgMDg6NTI6MDIpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTg1NDQwMzM3MSByZz1wYXJ0eQp+IyEgdGlkPTg1Mzc4MjYwMQpOb2NobWFsIHp1ciBadWdmYWhydC4uLgpXZW5uIGlociBoaW4gdW5kIHp1cnVlY2sgbWl0IGRlciBCYWhuIGZhaHJ0LCBnaWJ0IGVzICwgZ2xhdWJlIGljaCwKRXJtYWVzc2lndW5nIGluIGRlciBHZXN0YWx0LCBkc3MgbWFuIHNpY2ggTUl0ZmFocmVydGlja2V0cyBrYXVmdC4gRGVyIGVyc3RlCnphaGx0IHZvbGwsIGFsbGUgQW5kZXJlbiBkaWUgSGFlbGZ0ZS4uLmFiZXIgbmljaHQgYXVmIG1pY2ggdmVydHJhdWVuIHNvbmRlcm4Kdm9yaGVyIG5vY2htYWwgYmVpIGRlciBCYWhuIG5hY2hmcmFnZW4gOy0pCk9kZXIgTG9jbyBrYW5uIGJlc3RpbW10IGF1Y2ggQXVza3VuZnQgZ2ViZW4uCgoKSGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcm9ncmFtbSAoQm9pbmcsIDE3LiBGZWIgMTk5NywgMTI6MzY6NTkpOgp+IyEgcm49V3VyemVsIHJ0PTg1NTk1MjgxOCByZz1wYXJ0eQp+IyEgdGlkPTg1NTkxOTc4MQpIb3RlbHM/IEtlaW5lIEFobnVuZyAuLi4gZGEgbXVzc3QgRHUgRGljaCB3b2hsIGFucyBGcmVtZGVudmVya2VocnNhbXQgd2VuZGVuCihvZGVyIHdlaXNzIGRlciBHZWllciwgd28gc2llIHdpc3Nlbiwgd2FzIGVzIGZ1ZXIgSG90ZWxzIGdpYnQpLiBFdnRsLiBrYW5uCmF1Y2ggQXJhbW9zIHdlaXRlcmhlbGZlbiwgaWNoIGdsYXViZW0sIGRlciBoYXQgZnVlciBpcmdlbmR3ZWxjaGUgQmVrYW5udGVuCmF1Y2ggZWluIEhvdGVsIGdlc3VjaHQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFByb2dyYW1tIChIYXRlLCAxNy4gRmViIDE5OTcsIDEzOjQ0OjM1KToKfiMhIHJuPUJvaW5nIHJ0PTg1NjE3OTQxOSByZz1wYXJ0eQp+IyEgdGlkPTg1NTkxOTc4MQpodHRwOi8vd3d3LnZhcnRhLWd1aWRlLmRlLwoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWdiZXNjaHJlaWJ1bmcgKFJvY2h1cywgMTguIEZlYiAxOTk3LCAxNzoxMDo1MSk6Cn4jISBybj1Cb2luZyBydD04NTUxNDgzODMgcmc9cGFydHkKfiMhIHRpZD04NTUxNDgzODMKVW0gRXVjaCBkaWUgUm91dGVucGxhbnVuZyB6dSBlcmxlaWNodGVybjoKICBodHRwOi8vd3d3LmNhcy1zb2Z0d2FyZS5kZS8KVW5kIGVpbmlnZSBndXRlIEthcnRlbiB2b24gS2FybHNydWhlIGZpbmRldCBtYW4gYXVmCiAgaHR0cDovL3d3dy1ldHUud2l3aS51bmkta2FybHNydWhlLmRlL21hcmt0cGxhdHova2Eva2FydGVuLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJhaG5mYWhydCBhbSBmcmVpdGFnLi4gKFNudWdnbGUsIDE5LiBGZWIgMTk5NywgMTI6MTQ6MzEpOgpGdWVyIGhhciB1bmQgYWxsZSBhbmRlcm4sIGRpZSB2aWVsbGVpY2h0IG5vY2ggbmUgaGFsYndlZ3MgZ3VlbnN0aWdlIApnZWxlZ2VuaGVpdCBzdWNoZW4sIGZyZWl0YWcgbm9jaCBrYXJsc3J1aGUgenUga29tbWVuLiAKCldpciBmYWhyZW4gbWl0IG5lbSBHcnVwcGVudGlja2V0IGhpbiwgZGFzcyB3ZW5pZ2VyIGFscyBkaWUgSGFlbGZ0ZSBkZXMgCm5vcm1hbGVuIEZhaHJwcmVpc2VzIGtvc3RldC4gQWxsZXJkaW5ncyBnaWJ0cyBkYXMgZ2FuemUgbmF0dWVybGljaCBlcnN0CmFiIEJvbm4gb2RlciBzcGFldGVyLiBGYWxscyBqZW1hbmQgSW50ZXJlc3NlIGhhdCwgYml0dGUgbWFpbCBhbiBtaWNoLgoKYmlzIGRlbm5lCnNudWdnbGUKLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xlaW5lIEtvcnJla3R1ciBkZXIgV2VnYmVzY2hyZWlidW5nIChCb2luZywgMjAuIEZlYiAxOTk3LCAxNTo0OTozMSk6CkhhbGxvLApmdWVyIGRpZSBBdXRvZmFocmVyLCBkaWUgdWViZXIgZGllIEE1IChiencuIEE4MSkga29tbWVuLCBpc3QgbWlyIGVpbiBrbGVpbmVyCkZlaGxlciByZWluZ2VydXRzY2h0LiAKV2VubiBtYW4gdm9uIE5vcmRlbiBrb21tdCwgbXVzcyBtYW4gbmF0dWVybGljaCBiZWkgZGVyIEF1c2ZhaHJ0IEtBLUR1cmxhY2gKTklDSFQgdW50ZXIgZGVyIEJydWVja2UgZHVyY2hmYWhyZW4sIGRhcyBnaWx0IG51ciwgd2VubiBtYW4gdm9uIFN1ZWRlbiBiencuCnZvbiBkZXIgQTgxIGtvbW10LiBBbHNvIG5vY2htYWwga29ua3JldDogQXVzZmFocnQgS2FybHNydWhlLUR1cmxhY2ggcmF1cy0KZmFocmVuLCBhYmVyIGRhbm4gbmljaHQgaW4gUmljaHR1bmcgRHVybGFjaCwgc29uZGVybiBpbiBSaWNodHVuZyBTdGFkdC0KbWl0dGUuIE5vcm1hbGVyd2Vpc2UgbWFjaGVuIGRhcyA1MCAlIGRlciBMZXV0ZSBmYWxzY2ggLi4uIGRlc3dlZ2VuIHJlaXRlCmljaCBkYSBzbyBkcmF1ZiBydW0uIDopCkF1c3NlcmRlbSBnaWJ0IGVzIGF1ZiBkZXIgU3RyYXNzZSB2b24gZGVyIEF1c2ZhaHJ0IGluIFJpY2h0dW5nIFN0YWR0bWl0dGUKbm9jaCBuZSBrbGVpbmUgVW1sZWl0dW5nLCBkYWR1cmNoIHNvbGx0IGlociBldWNoIGFiZXIgbmljaHQgaXJyaXRpZXJlbgpsYXNzZW4sIGRpZSBmdWVocnQgZWluIGt1cnplcyBTdHVlY2sgcGFyYWxsZWwgenVyIEhhdXB0c3RyYXNzZSBlbnRsYW5nCnVuZCBkYW5uIHdpZWRlciBkcmF1Zi4KU28sIGRhcyB3YXIgYWxsZXMsCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoaW5lc2UgZ2VmdW5kZW4hIChBcmFtb3MsIDIwLiBGZWIgMTk5NywgMjM6MTU6MTIpOgpEZXIgVGl0ZWwgc2FndCBzY2hvbiBhbGxlcyAtIHVuZCBmdWVyIGRpZSBOZXVsaW5nZToKQW0gU29ubnRhZyBzbyB1bSBkaWUgTWl0dGFnc3plaXQgd2lyZCB3b2hsIGVpbiBHYW5nIHp1bSBDaGluYW1hbm4gZWluZ2VzY2hvYmVuCndlcmRlbi4gV2VpbCBkZXIgZXR3YXMgd2VpdGVyIHdlZyBpc3QsIHNvbGx0ZSBtYW4gZW50d2VkZXIgZGFzIEF1dG8gbmVobWVuCm9kZXIgc2ljaCB6dSBad2VpZXJncnVlcHBjaGVuIHp1c2FtbWVudHVuIHVuZCBtaXQgZWluZXIgU3RyYUJhIFRhZ2Vza2FydGUKKDggRE0gZnVlciAyIFBlcnNvbmVuLCAxIFRhZyBsYW5nIGd1ZWx0aWcpIGRvcnRoaW4gZmFocmVuLgpJcmdlbmR3ZXIgd2lyZCBhdWNoIG5vY2ggJ25lIFdlZ2Jlc2NocmVpYnVuZyBicmluZ2VuLCBlbnR3ZWRlciBoaWVyIG9kZXIKYXVmIGRlciBGZXRlIChpY2gga2VubicgZGVuIENoaW5lc2VuIHNlbGJlciBub2NoIG5pY2h0LikKQmlzIGRlbm4sCgogICAgICAgICAgICAgICAgICAgICBBcmFtb3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5bmFjaHNjaGF1IC0gZGllIEVSU1RFISAoU2VtaXJhLCAyMy4gRmViIDE5OTcsIDE0OjU4OjE5KToKSGEhIEVyc3RlIQpBbHNvIGJlZ2lubmUgaWNoIG1hbCBkYW1pdCBhbGwgZGVuIG5pY2h0LWRhZ2V3ZXNlbmVuIHVuZApzb25zdC13aWUtdmVyaGluZGVydGVuIHp1IGVyemFlaGxlbiwgd2FzIHNpZSBhbGxlcyB2ZXJwYXNzdCBoYWJlbi4uLgpSZWNodCBzdWJqZWt0aXYgdW5kIGZhdWxoZWl0c2JlZGluZ3QgbmljaHQgc28gYXVzZnVlaHJsaWNoIGhpZXIgZWluIHBhYXIKSGlnaGxpZ2h0cyAoPyEpIGF1cyBtZWluZXIgU2ljaHQuLi4KCkFucmVpc2UgLSBhYmVudGV1ZXJsaWNoISBEaWUgV2VnYmVzY2hyZWlidW5nIGd1dCwgdmVyZmFocmVuIGhhYmVuIHdpciB1bnMKbmljaHQobmFqYSBhYmVyIGthbm4gYXVjaCBkYXJhbiBsaWVnZW4sIGRhc3MgbmljaHQgaWNoIGdlZmFocmVuIGJpbikgTnVyIGVpbmUKQml0dGUgIEJvaW5nLCBkYXMgbmFlY2hzdGUgbWFsIGZ1ZXIgYXVzcmVpY2hlbmRlIEJlbGV1Y2h0dW5nIHJlbGV2YW50ZXIKQXV0b2JhaG5hYmZhaHJ0c3NjaGlsZGVyIHNvcmdlbi4uLiBydWVja3dhZXJ0cyBSaWNodHVuZyBBdXNmYWhydCBzY2hsZWljaGVuCmlzdCBuaXggZnVlciBtZWluZSBOZXJ2ZW4gKm5vY2hpbW1lcnNjaGF1ZGVyKgoKUGl6emFyaWEgLSBzeW1wYXRoaXNjaGUgQmllcnByZWlzZSEgTiBXZWl6ZW4gZnVlciAzLDkwIERNLCBkYXMgc29sbHRlIGVzIG1hbApoaWVyIGdlYmVuLi4uCgpXZXR0ZXIgLSBnZW5pYWxzdCEgV2VsY2hlIFdldHRlcmdvZXR0ZXIgaGFidCBJaHIgYml0dGUgd2llIGJlc3RvY2hlbj8KClF1ZXN0IC0gc3Bhc3NpZyEgWndhciB3dXJkZW4gYXVzIGRlbiBhbmdla3VlbmRpZ3RlbiAzMCBiaXMgNDUgTWludXRlbgpVbWhlcnJlbm56ZWl0IG1hbCBlYmVuIDEsNSBTdGQgdW5kIGRhcyB1LmEuIGdlc3VjaHRlIFJlaXRlcnN0YW5kYmlsZCBlcndpZXMKc2ljaCBhbHMgbmljaHQgZXhpc3RlbnQsIGFiZSB3aXIgaGFiZW4gdW5zIHdpcmtsaWNoIGFtdWVzaWVydC4gRW5neSBpbgpTY2hyZWlua3JhbWtpbm9zIG5hY2ggRmlsbXByZWlzZW4gZnJhZ2VuZCwgZ3V0IGVyem9nZW5lIGVpbmhlaW1pc2NoZSBOUENzCiJzdWNodCBpaHIgYXVjaCBkYXMgcmVpdGVyZGVua21hbD8iLCBhdWYgU3BpZWxwbGFldHplbiB1bWhlcnRvYmVuZGUgTXVkZGVyIHVuZAplaW4gTG9lc3VuZ3NzYXR6IGRlciB1bnMgYWxsZW4gYXVzIGRlbSBIZXJ6ZW4gc3ByYWNoIC0ga29tbXQgZW5kbGljaCB6dXJ1ZWNrCnp1bSBiaWVyISEhCgpWZXJwZmxlZ3VuZyAtICpzY2htYXR6IQpXYXMgZnVlciBlaW4gRnJ1ZWhzdHVlY2sgKGhhYiBqYSBudXIgZGFzIGFtIFNhbXN0YWcgbWl0YmVrb21tZW4pIDopIH5yCkRpZSBNYXlvbmFpc2VzYWxhdGUgdm9uIFNhbXN0YWcgbGllZ2VuIG1pciBub2NoIGltbWVyIGltIE1hZ2VuLi4uYWJlciBkYXMKbGllZ3Qgd29obCBlaGVyIGFuIGRlciBzY2hhdWRlcmxpY2hlbiBIaW50ZXJncnVuZG11c2lrIGRpZSBkZW4gQWJlbmQKdmVydW5zdGVsdGV0ZS4uLgoKTXVzaWsgLSBXdWFyZ2ghISEhIFdlciBoYXQgZGEgYW0gU2Ftc3RhZyBkaWUgQW5sYWdlIGVyb2JlcnQgdW5kIExhZXJtCmF1ZmdlbGVndCwgZGVyIGFtIGVoZXN0ZW4gYW4gZWluZSBNaXNjaHVuZyBhdXMgS3JlaXNzYWVnZW4gbWl0IEJhdXNjaHV0dCB1bmQKU2NobmVlZnJhZXNlIGVyaW5uZXJ0ZT8gVm9yIGRlbSBHZWJhZXVkZSBzYW1tZWx0ZW4gc2ljaCBtZWhyIHVuZCBtZWhyCnppdHRlcm5kZSAod2VpbCBpbnp3aXNjaGVuIFNvbm5lIHdlZyB1bmQgS2FlbHRlIGRhKSB1bmQgZmFzc3VuZ3Nsb3NlCkdlc3RhbHRlbiwgZGllIGRlbiBMYWVtIGVudGZsaWVoZW4genUgc3VjaHRlbi4gCldhciBzbyBlaW5lIGZlaW5lIFBhcnR5IGFiZXIgREFTIGlzdCB3aXJrbGljaCBkZXIgTWludXNwdW5rdCBkZXMKSmFocmVzLi4ubmFqYSwgdmllbGxlaWNodCBrbmFwcCB2b3IgRGFuY2VycyBuZXVlciBGcmlzdXIuLi5TYW5kdGlnZXIgbmFjaApCcmFuZHJvZHVuZy4uLnRzdHN0cyAqZXNpbW1lcm5vY2huaWNodGZhc3NlbmtvZW5uKgoKRmF6aXQgLSBtaXIgaGF0cyBnZWZhbGxlbiB1bmQgaWNoIGJlcmV1ZSBuaWNodCwgZGFzcyBpY2ggbWljaCBkb2NoIHp1bQplcnNjaGVpbmVuIGhhYiB1ZWJlcnJlZGVuIGxhc3NlbiEgQXVzc2VyZGVtIGZhZWxsdCBtaXIgZ3JhZCBuaXggbWVociBlaW4gdW5kCmRydW0gaXN0IGhpZXIgZXJzdG1hbCBzY2hsdXNzLi4uCgpUbyBiZSBjb250aW51ZWQgb2RlciBlcmdhZW56dCBvZGVyIHdhc2F1Y2hpbW1lcgoKKnNpY2hhdWZkaWVzb21tZXJwYXJ5ZnJldWVuZCoKClNlbWlyYQoKUC5zLiBEYXMgU2NocmVpbmtyYW1raW5vIGRhIG9iZW4gaGVpc3N0IG5hdHVlcmxpY2ggU2Nod2VpbmtyYW1raW5vLCBhYmVyIGRhcwpoYWJ0IGlociBlaCBzZWxic3QgZXJyYXRlbgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eW5hY2hzY2hhdSAtIGRpZSBFUlNURSEgKE1haGF0bWEsIDIzLiBGZWIgMTk5NywgMjA6MzY6MjMpOgp+IyEgcm49U2VtaXJhIHJ0PTg1NjcwNjI5OSByZz1wYXJ0eQp+IyEgdGlkPTg1NjcwNjI5OQpOZW5lbmUsIGRlciBNaW51c3B1bmt0IHdhciBuaWNodCBkYXMsIHNvbmRlcm4gZGFzIEJpZXIgKnd1ZXJnKiBOYWphLCBnZWRyb2VobnQKaGF0cyB0cm90emRlbS4uLiA7KQoKTWFoYXRtYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eW5hY2hzY2hhdSAtIGRpZSBFUlNURSEgKE1haGF0bXUsIDIzLiBGZWIgMTk5NywgMjE6MDU6MjkpOgp+IyEgcm49TWFoYXRtYSBydD04NTY3MjY1ODMgcmc9cGFydHkKfiMhIHRpZD04NTY3MDYyOTkKSm9qbyAuLi4gVm9yc2NobGFnIGZ1ZXIgZGllIG5hZWNoc3RlIFBhcnR5OiB2b3JoZXJpZ2UgQmllcnVtZnJhZ2UgdW5kCmRhbm4gZGllIHp3ZWkgbWVpc3RnZWFlaGx0ZW4gdW5kIGFtIGVoZXN0ZW4gdmVyZnVlZ2JhcmVuIGJlc29yZ2VuLgpEaWUgTG9ya2UgYnJhdWNodGUgamEgbmljaHQgbWFsIGR1cmNoIGRpZSBOaWVyZW4uCgpQUzogQWJlciBkYXMgV2VpemVuIHdhciBPSyA6KSAuLi4gdW5kIGRpZSBQYXJ0eSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5bmFjaHNjaGF1IC0gZGllIEVSU1RFISAoTmFpcm9sZiwgMjMuIEZlYiAxOTk3LCAyMjoxNjo1OSk6Cn4jISBybj1NYWhhdG11IHJ0PTg1NjcyODMyOSByZz1wYXJ0eQp+IyEgdGlkPTg1NjcwNjI5OQpLbGFzc2UgUGFydHksIHdlbm4gaWNoIGF1Y2ggbmljaHQgYWxsenUgbGFuZ2UgZGEgd2FyLi4uLgoKTXVzaWsgLS0tIGJpcyBkaWVzZSBncmF1c2FtZW4gU2FjaGVuIHZvbiBEaWV0ZXIgVGhvbWFzLi4gdXN3ICBuYWphIGJpcyBEQUhJbgp3YXJzIGRvY2ggZmVpbiA6LSkpKQoKTmFpKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHluYWNoc2NoYXUgLSBkaWUgRVJTVEUhIChUZWRkeSwgMjQuIEZlYiAxOTk3LCAwMDoxMjo1Myk6Cn4jISBybj1OYWlyb2xmIHJ0PTg1NjczMjYxOSByZz1wYXJ0eQp+IyEgdGlkPTg1NjcwNjI5OQpKbywgd2FyIGVjaHQgZ3V0LCB3ZW5uIGVzIGF1Y2ggZWNodCBrYWx0IHdhciwgaW4gZGVyIFR1cm5oYWxsZSA6LSggKmJpYmJlcioKClRlZGR5ClAuUy4gV2VyIGF1Y2ggaW1tZXIgbWVpbmUgTWFpbHMgaW4gbWVpbmVtIEFjb3VudCBnZWxvZXNjaHQgaGF0OiBXQVMgU1RBTkQgREVOTgpEUklOPz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5bmFjaHNjaGF1IC0gZGllIEVSU1RFISAoRnl0LCAyNC4gRmViIDE5OTcsIDAxOjE4OjE4KToKfiMhIHJuPU1haGF0bWEgcnQ9ODU2NzI2NTgzIHJnPXBhcnR5Cn4jISB0aWQ9ODU2NzA2Mjk5CkhtLCBCaWVyIGdpbmcgZWlnZW50bGljaCwgYWJlciBkYXMgR2Vkcm9laG4sIG5hamEsIGRpZSBWZXJ1cnNhY2hlciAqaHVzdCoKaGF0dGVuIGphIHp1bSBHbHVlY2sgaXJnZW5kd2FubiBlaW4gZWluc2VoZW4gKG5lLCBNYWVkZWxzPyA7LSkgKQoKRnV0dGVyIHdhciBndXQsIHVuZCBpY2ggRXNlbCBoYWIgZGllIEJveSBncm91cCB2ZXJwYXNzdC4gKnNuaWVmKgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHluYWNoc2NoYXUgLSBkaWUgRVJTVEUhIChTaWx2YW5hLCAyNC4gRmViIDE5OTcsIDA3OjMxOjQ2KToKfiMhIHJuPVRlZGR5IHJ0PTg1NjczOTU3MyByZz1wYXJ0eQp+IyEgdGlkPTg1NjcwNjI5OQpBdWNoIG1laW5lcnNlaXRzIGVpbiBoZXJ6bGljaGVzIERBTktFRUVFRUUgKCA6KSApIGFuIGRpZSBPcmdhbmlzYXRvcmVuLgpJc3QgRXVjaCBwcmltYSBnZWx1bmdlbiB1bmQgZGllIG5pZWRsaWNoZW4ga2xlaW5lbiBQYW5uZW4gendpc2NoZW5kdXJjaCwKZGllICh3aWUgaWNoIGF1cyBlaWdlbmVyIEVyZmFocnVuZyBiZXN0YWV0aWdlbiBrYW5uKSBrYXVtIHp1IHZlcm1laWRlbiAKc2luZCwgd2FyZW4gZWlnZW50bGljaCB2b3IgYWxsZW0gd2l0emlnLiBEYXMgR2VzaWNodCBkZXIgQ2hpbmVzZW4sIGFscwppY2ggbWl0IGRlbSAyLlNjaHd1bmcgTXVkZGVyIGlucyBMb2thbCBnaW5nIHVuZCBzaWUgbWVya3RlbiwgZGFzcyBkYQo4MCBMZXV0ZSBrYW1lbiB1bmQgbmljaHQgMTgsIHZlcmdlc3MgaWNoIGplZGVuZmFsbHMgbmljaHQgc28gc2NobmVsbC4uLgoKICBTaWx2YW5hIChncmluc3Qgc2ljaCBlaW5zKQoKUFM6IEJlc29uZGVyZW4gRGFuayBhbiBIb2JvIHVuZCBCb2luZyAtIGlociB3aXNzdCBzY2hvbiB3aWVzby4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlcmljaHQgKFNpZG9saW4sIDI0LiBGZWIgMTk5NywgMTA6NDE6NDApOgoKCk1VRERFUkFVRlNUQU5EIEFOIERFUiBGUkFOWk9FU0lTQ0hFTiBHUkVOWkUKCkthcmxzcnVoZSAtIG1wYQoKV2llIHVuc2VyIEF1c2xhbmRza29ycmVzcG9uZGVudCBmdWVyIEJhZGVuIFd1ZXJ0dGVtYmVyZyBnZXN0ZXJuIGJlcmljaHRldGUsCmthbSBlcyBhbSB2ZXJnYW5nZW5lbiBXb2NoZW5lbmRlIGFuIGRlciBmcmFuem9lc2lzY2hlbiBHcmVuemUgenUgZWluZXIKdW5nZW5laG1pZ3RlbiBEZW1vbnN0cmF0aW9uIGVpbmVyIEhvcmRlIHN0aW5rZW5kZXIgdW5nZXdhc2NoZW5lciAKU296aWFsc2NobWFyb3R6ZXIgKFN0dWRlbnRlbiwgdW50ZXJzdHVldHp0IHZvbiBlaW5pZ2VuIHdlbmlnZW4gYmx1dHNhdWdlbmRlbiAKS2FwaXRhbGlzdGVuKS4gCgoKR2VnZW5zdGFuZCBkZXMgVW5tdXRlcyBkZXIgYXVmZ2VicmFjaHRlbiBNYXNzZW4gd2FyZW4gdm9yIGFsbGVtIGRpZSBzY2hsZWNodGVuClp1Z3ZlcmJpbmR1bmdlbiBpbiBIZWlsYnJvbm4sIGRpZSBNdWNrZSwgdm9uIGRlciBPZXR0aSBtZWludGUsIHNpZSBzZWkgZ3V0LApkaWUgVGF0c2FjaGUsIGRhc3MgU2NocnVtcGZpIG5pY2h0IGVpbnNpZWh0LCBkYXNzIHNpZSBzdWVzcyBpc3QsCnNvd2llIGRpZSBUYXRzYWNoZSwgZGFzcyBTaWRvbGluIChTQ0hJRUJVTkchISEpIGRlbiBLbmFja2Fyc2Nod2V0dGJld2VyYiBuaWNodApnZXdvbm5lbiBoYXQuCgpVbnRlcnN0dWV0enQgd29yZGVuIGRpZSBWZXJhbnN0YWx0dW5nIHVuZW50Z2VsdGxpY2ggdm9uIGRlciBiZWthbm50ZW4gQm95Z3JvdXAKIkxlIFNjaGx1ZWNrJ3MiLCBkaWUgaW5zYmVzb25kZXJlIGRpZSB3ZWlibGljaGVuIERlbW9uc3RyYW50ZW4gaW4KVHJhZW5lbmF1c2JydWVjaGUsIFNjaHJlaWtyYWVtcGZlIHVuZCB3aWxkZXMgVG9iZW4gdmVyc2V0enRlbi4KRWluZSB6d2VpdGUgWnVnYWJlIHd1cmRlIGxlaWRlciB2b24gZWluZW0gZGVyIEJhbmRtaXRnbGllZGVyLCBPZXR0aSBHLiwgCm1pdCBkZW4gV29ydGVuOiAiSWNoIGdlaCcgamV0enQgd2llZGVyIGtudXRzY2hlbiIgYWJnZWxlaG50LgoKQmVzb25kZXJzIGhlcnZvcnp1aGViZW4gd2FyIGF1Y2ggZGllIC0gd2llIGF1Y2ggdm9uIFNlaXRlbiBkZXMgUHV0emJlYXVmLQp0cmFndGVuLCBIZXJybiBLbG9uayBTLiwgenUgaG9lcmVuIHdhciAtIGhlcnZvcnJhZ2VuZGUgWnVzYW1tZW5hcmJlaXQKaW5uZXJoYWxiCmRlcyBPcmdhbmlzYXRpb25zdGVhbXMuIAoKQmVkYXVlcmxpY2hlcndlaXNlIGthbSBlcyBhdWNoIHp1IEF1c3NjaHJlaXR1bmdlbiwgd2VpbCBlaW4gQmVzdWNoZXIgZGVyIApWZXJhbnN0YWx0dW5nLCBkZXIgZGVyIFBvbGl6ZWkgbGVpZGVyIG51ciB1bnRlciBkZW0gTmFtZW4gIllvZCAyNDIiIGJla2FubnQgCmlzdCwgcGFydG91dCBuaWNodCBkaWUgS2xhcHBlIGhhbHRlbiB3b2xsdGUuIApTYWNoZGllbmxpY2hlIEhpbndlaXNlIG5pbW10IENhdHdlYXpsZSBvZGVyIGplZGUgSGlsZnNoZXJpZmZkaWVuc3RzdGVsbGUgaW4gCktvZWxuIGVudGdlZ2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eW5hY2hzY2hhdSAtIGRpZSBFUlNURSEgKFN1bmZsb3dlciwgMjQuIEZlYiAxOTk3LCAxMjo0MzozOSk6Cn4jISBybj1TZW1pcmEgcnQ9ODU2NzA2Mjk5IHJnPXBhcnR5Cn4jISB0aWQ9ODU2NzA2Mjk5CmFsc28gTXVzaWsgYXVmZ2VsZWd0IGhhYmUgaWNoIChpbSBuaWNodCBtZWhyIGdhbnogbnVlY2h0ZXJuZW4gWnVzdGFuZCB6d2lzY2hlbgowIFVociB1bmQgLS0tPiBiaXR0ZXJlbiBFbmRlKQoKR2VzcGllbHQgaGFiZSBpY2ggZWlnZW50bGljaDoKVG90ZSBIb3NlbgpEZWluZSBMYWtlaWVuClNpbGtlIEJpc2Nob2YKSXJvbiBNYWlkZW4Kc293aWUgTXVzaWt3dWVuc2NoZSBpcmdlbmR3ZWxjaGVyIE11ZGRlcklubmVuIChoYWxsbyBWb2dlbCA6KSApCgpTdW5mbG93ZXIsIGRpZSBlcnN0IG1hbCAxMCBTdHVuZGVuIHNjaGxhZiB6dSBIYXVzZSBuYWNoZ2Vob2x0IGhhdAoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eW5hY2hzY2hhdSAtIGRpZSBFUlNURSEgKEJvaW5nLCAyNC4gRmViIDE5OTcsIDEyOjUwOjQ5KToKfiMhIHJuPVNlbWlyYSBydD04NTY3MDYyOTkgcmc9cGFydHkKfiMhIHRpZD04NTY3MDYyOTkKQWxzbyBkYXMgbWl0IGRlbiAzMCBNaW51dGVuIHdhciBlaW4gTWlzc3ZlcnN0YWVuZG5pcywgaWNoIHNhZ3RlIG5hZW1saWNoCjMwIE1pbnV0ZW4gcmVpbmUgR2VoemVpdCwgaW5zZ2VzYW10IHdhcmVuIDEgMSAvMiBTdHVuZGVuIGVpbmdlcGxhbnQsIHdhcwpqYSBhdWNoIGV4YWt0IGhpbmdlaGF1ZW4gaGF0LiA6KQpKYWphLCBhYmVyIGRlbiBidWcgbWl0IGRlbSBSZWl0ZXJkZW5rbWFsIG11c3MgaWNoIGRhbm4gZG9jaCBhdWYgbWVpbmUKS2FwcGUgbmVobWVuIC4uLiBoYWV0dGUgdmllbGxlaWNodCBkb2NoIG5vY2ggbWFsIHRlc3RlbiBzb2xsZW4gLi4uIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHluYWNoc2NoYXUgLSBkaWUgRVJTVEUhIChTaWx2YW5hLCAyNC4gRmViIDE5OTcsIDEyOjUyOjM3KToKfiMhIHJuPUJvaW5nIHJ0PTg1Njc4NTA0OSByZz1wYXJ0eQp+IyEgdGlkPTg1NjcwNjI5OQpXaWVzbz8gRGVyIEVQQyBzYWd0ZSBkb2NoOiBEYXMgaXN0IGRlciBSZWl0ZXIuIEVyIGlzdCBudXIgc2Nob24gYWJnZXN0aWVnZW4uCgogIFNpbHZhbmEgKGhhdCdzIGdlbmF1IGdlaG9lcnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQQVJUWSAtIGRpZSBaV0VJVEUgKFRhbmdhbHVyLCAyNC4gRmViIDE5OTcsIDEyOjUzOjUzKToKSGFpIGlocnMsCmhhYiBhdWYgZGVyIFBhcnR5IGluIEtBIHNvIHVuZ2VmYWVociAyZWluaGFsYiBGaWxtZSB2ZXJzY2hvc3Nlbi4uLgoKbWl0IGRlbiBlcnN0ZW4gc2Nob24gZmFzdCBoaXN0b3JzY2ggenUgbmVubmVuZGVuIEJpbGRva29tZW50ZW4gZGllc2VzCmJlZGV1dGVuZGVuIEVyZWlnbmlzc2VzIChhbHNvIG1pciBoYXRzIHRyb3R6IGRlciBNdXNpayBnZWZhbGxlbikgaXN0CndhaHJzY2hlaW5pY2ggbmFlY2hzdGUgV29jaGUgenUgcmVjaG5lbi4KCiAgICAgICAgIFRhbmdhbHVyIEZldWVydGF0emUKCkFjaCBqYSBDYXVubyBkZXIgS2FydG8uLi4uIEZvdG9ncmFwaCBoYXQgYXVjaCBub2NoIG5lIE1lbmdlIEJpbGRlciA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdhcmxzY2hydWhhZSAoU3VuZmxvd2VyLCAyNC4gRmViIDE5OTcsIDE0OjM4OjIyKToKTW9udGFnOiAyNC4yIG1wYS9EcmVzZGVuL0F1dG9iYWhuL0thcmxzcnVoZQpUYXRzYWNoZW5iZXJpY2h0IHZvbiBTdW5mbG93ZXIuCgpGcmVpZGFjaDoKWndpc2NoZW4gOCB1bmQgOSBVaHIgdWViZXJsZWd0ZSBpY2ggbWlyIGRvY2ggbmFjaCBLYXJsc3J1aGUgenUgZmFocmVuIHVuZAp3YXIgd2llIGltbWVyIHVucHVlbmt0bGljaCBiZWkgbWVpbmVyIE1GRyBtaXQgYW5kZXJlbiBERCdsZXIgTXVkZGVybi4KNiBTdHVuZGVuLCA0IFppZ2FyZXR0ZW4gdW5kIDMga2xlaW5lbiBTdHJlaXRlcmVpZW4gbWl0IEFubmloaWxhdG9yIHdhcmVuCihuaWNodCB3YXJlbiBzb25kZXJuKSBzcGFldGVyLCB3YXJlbiB3aXIgaW4gS2FybHNydWhlLCBhbHMgZXJzdGUgR3J1cHBlIHVuZApoaW50ZXIgVGVkZHkgZGllIE11ZGRlcjogMiwzLDQsNSw2Li4uZGFuYWNoIGhhYmVuIGVpbmlnZSBLYXJ0ZW4gZ2VzcGllbHQKdW5kIHdlbmlnIHNwYWV0ZXIgZ2luZyBlcyB6dXIgUGl6emFyaWEsIHdvIGdhbnogdmllbGUgdm9uIGRpZXNlbiB2ZXJydWVja3RlbgpNdWRkZXJuIHJ1bXNwcmFuZ2VuLCBkaWUgc2ljaCBnZWdlbmVpbmFuZGVyIGJlZ3J1ZXNzdGVuIHVuZCBtYW4gc29nYXIgZWluZW4KS2F0ZXIgYmVncnVlc3NlbiBrb25udGUgKGRlciBsaWVmIGFiZXIgYXVmIDIgdW5kIG5pY2h0IGF1ZiA0IFBmb3RlbihoYWxsbwpUYW5nYWx1ciksIG1hbiBiZXdpZXMgZGFzIGF1Y2ggQm9pbmcgdW5zdGVyYmxpY2ggaXN0IChVTkQgQk9JTkcgU0FTUyBET0NICk5JQ0hUIElNIFdVRVJGRUwgOi0pKSApIHVuZCBCaWVyIHd1cmRlIHZvbiBlaW5lciAibmFoZSBnZWxlZ2VuZW4iIFRhbmtzdGVsbGUKZ2Vob2x0IChobW0gd2FyIGphIG5lIGhhbGJlIFdhbmRlcnVuZywgZ2VsbGUgdm9nZWwgOikgKQpadXJ1ZWNrIGluIGRlciBUdXJuaGFsbGUsIGtvbm50ZSBtYW4gTGVnZW5kZW4gdWViZXIgZGllIEZhcmJlICJncnVlbiIgaG9lcmVuCihoYWxsbyBBbmFraW4pLCBXZWluIHVuZCBhbmRlcmUgQWxrb2hvbGlzY2hlIFNhY2hlbiBnZXRydW5rZW4gd2VyZGVuIHVuZCBPZXR0aQpiZWltIGtudXRzY2hlbiB6dWdlc2VoZW4gd2VyZGVuLiBTbyBnZWdlbiBoYWxiIDYgbGFuZGV0ZSBkYW5uIG1hbiBpbQpTY2hsYWZzYWNrLCBpbiBkZW0gbWFuIHNpY2ggZGFubiBpbiBkZW4gU2NobGFmICd6aXR0ZXJ0ZSB1bmQgYmliYmVydGUnCgpTYW1zdGFnOgpuYWNoIDIgMS8yIFN0dW5kZW4gc2NobGFmLCBnZXdhc2NoZW4gdW5kIGtsYW1vdHRlbiBnZXdlY2hlbHN0IHJpY2h0dW5nCmZydWVoc3R1ZWNrICh3YXIgd2lya2xpY2ggcmVpY2hsaWNoLCBkYW5rZSBPcmdhbmlzYXRpb25zdGVhbSAhISEpLi4ubWl0CmJsb2VkZXIgdGVra25vIG11c2lrIGRhenUgKGhpbGxsZmZmZWVlZWVlZSkuIEJpcyB6dXIgUmwgUXVlc3QgZGFubiBpbiBkaWUKR2VoZWltbmlzc2UgZGVzIFNwaWVscyBNYWdpYyBlaW5nZWZ1ZWhydCAoaWNoIGthcGllcnMgaW1tZXIgbm9jaCBuaWNodCkuIFpVcgpSTCBxdWVzdCwga2FtIG1hbiBpbiBkYXMgbGVnZW5kYWVyZSAiSy1URUFNIiBvZGVyIGF1Y2ggIlNoYWtlZFRvZmZlbC1UZWFtIiBtaXQKZGVtIG1hbiBkYW5uIEthcmxzcnVoZSB1bnNpY2hlciBtYWNodGUuIERhcyBaaWVsIGRlcyBTcGllbHMgaGllc3M6ICJTdWNoIGRhcwpSZWl0ZXJkZW5rbWFsLCBvZGVyIHdpZSBtYW4gbmljaHQgdm9uIGVpbmVyIFN0cmFCYSB1ZWJlcmZhaHJlbiB3aXJkIi4gTmFjaCBkZXIKUXVlc3QgYmVnYW5uIGRhbm4gZGVyIHNjaG9lbnN0ZSBUZWlsIGRlciBQYXJ0eSwgZGFzIEJlc2FldWZuaXMsIHdvYmVpIGRhcyBCaWVyCnppZW1saWNoIHNjaGVpc3NlIHdhci4KRGFubiBkdXJmdGUgaWNoIGFscyBlaW56aWdzdGUgRnJhdSAoIDopICkgYW4gZGVyIE1yLiBLbmFja2Fyc2NoIHdhaGwKdGVpbG5laG1lbiwgd29iZWkgaWNoIHZvbiBDYXQqLCBNb3JnYXIgdW5kIEFubmloaWxhdG9yIGFscyAiZnJlaXdpbGxpZyIgenVyCldhaGwgYW5nZW1lbGRldCB3dXJkZS4gSmVkZW5mYWxscyBzY2hpZWRlbiBpY2ggdW5kIE9ya1RvZXRvbGluIHNjaG9uIGluIGRlcgpWb3JydW5kZSBhdXMuCkRhbm4gd2FyIGRlciBhdWZ0cml0dCB2b24gIlNjaGxedWNrcyIgZGVyIGJlc3NlciBhdXNzZWhlbiBhbHMgc2llIHNpbmdlbiA6KQp1bmQgaWNoIGJlZ2FubiBkYW5uIG1laW5lbiBUaGVrZW5kaWVuc3QuLi4uRGFzIE9wZW5FbmQgZGVzIEJlc2FldWZuaXNzZXMgZmFuZApjYTogZ2VnZW4gMi4zMCBVaHIgc3RhdHQsIGFscyBkZXIgU2hlcmlmZiBlaW4gTWFjaHR3b3J0IHNwcmFjaCA7LSkKSGludGVyaGVyIHd1cmRlIGRhbm4gbm9jaCBpbSBrbGVpbmVuIEtyZWlzIGluIGRlciBUdXJuaGFsbGUgd2VpdGVyZ2VmZWllcnQgdW5kCm1hbiBsYWcgZGFubiBzbyBnZWdlbiA2IFVociBpbSBTY2hsYWZzYWNrLgoKU29ubnRhZzoKCkRpZSBLYXRlcmJyaWxsZSBhdWZnZXNldHp0IHN0YW5kIG1hbiBnZWdlbiAxMCBhbiBkZXIgRnJ1ZWhzdHVlY2tzIHVuZCBLYWZmZWUKYXVzZ2FiZSB1bmQgdW50ZXJoaWVsdCBzaWNoIG1pdCBlaW5pZ2VuIExldXRlbi4gRGllIG1laXN0ZW4gZnVocmVuIGRhbm4gYWIsCmRpZQphbmRlcmVuIHNhbW1lbHRlbiBzaWNoIHVtIHp1bSBDaGluZXNlbiB6dSBnZWhlbi4gS2xvbmsgcmFldW10ZSBhdWNoIHNjaG9uCmRpZSBUdXJuaGFsbGUsIHdvIFBhbXBlcnMsIG9obmUgenVoaWxmZW5haG1lIHZvbiBTaWRvbGluLCBkYXMgUGFya2V0dApyZWluaWd0ZS4gR2VnZW4gMTMgVWhyIGZ1aHJlbiB3aXIgYXVzIEthcmxzcnVoZSByaWNodHVuZyBERCwgd28gbWFuIGRhbm4gbmFjaAplaW5pZ2VuIEF1dG9iYWhua2lsb21ldGVybiBlaW5lbiBLbmFsbCBob2VydGUgdW5kIGRlciBSZWlmZW4gZ2V3ZWNoc2VsdCB3dXJkZS4KTmFjaCBkZW0KUmVpZmVud2VjaHNlbCwgbWVsZGV0ZW4gc2ljaCBkYW5uIGRpZSBCcmVtc2VuIG1pdCBlaW5lbSBsYXV0ZW4gS25hcnJlbiB1bmQKUXVpZXRzY2hlbiB6dSBXb3J0LCBzbyBkYXMgd2lyIGRhbm4gbmFjaCBkZW0gTW90dG86IFdlciBicmVtc3QsIHZlcmxpZXJ0IGdlbgpEcmVzZGVuIHp1cnVlY2sgZnVocmVuLiAKCkZheml0OgoKVHJvdHpkZW0gZWluZSBnZWlsZSBQYXJ0eSAoYXVjaCB3ZW5ucyBCaWVyIHNjaGVpc3NlIHdhcikgdW5kIENhdCogZGF1ZXJuZAppbiBkZXIgbmFlaGUgd2FyLCBzbyBkYXMgbWFuIG5pY2h0IGRhcyBrbGVpbnN0ZSBTY3JpcHQgYW5sYXVmZW4gbGFzc2VuIGtvbm50ZS4KClVuZCBtYWwgc2VoZW4gb2IgaWNoIG5hY2ggTXVlbnN0ZXIga29tbWUgKDIzIC0gMjUgQXVndXN0KSwgZGVubiBkaWUgbWVpc3Rlbgp3aXNzZW4gamEuLi4uCiAgICAgICAgICAgICAgNSBUYWdlIG5vY2gKCiAgICAgICAgICAgICAgICAgICAgLS09PT0gYmx1ZW1jaGVuID09PS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPZXR0cyBkaWFycmhvZSAoU29uZGVyYXVzZ2FiZSkgKE9ldHRpLCAyNC4gRmViIDE5OTcsIDE1OjM2OjE2KToKRnJlaXRhZywgMjEuRmVicnVhcgoKQXVmc3RlaGVuCkFyYmVpdGVuCkhlaW1mYWhyZW4KCkxvcyBnZWh0cywgYWIgaW5zIEJhZCB1bmQgZmVydGlnbWFjaGVuLCBpY2ggdmVyc3VjaGUgbWVpbmVtCmF1ZXNzZXJlbiBzbyBndXQgZXMgZ2VodCBhdWYgZGllIFNwcnVlbmdlIHp1IGhlbGZlbi4KRHJlaSBTdHVuZGVuIHNwYWV0ZXIgc2VoIGljaCBhdXMgd2llIHZvcmhlciwgYWJlciBpY2ggZnVlaGxlIG1pY2ggc2Nob2VuZXIuLi4KQXV0b3N1Z2dlc3Rpb24gaXN0IHdhcyBmZWluZXMuLi4KCkFua3VuZnQgaW4gS2FybHNydWhlIGluIGRlciBQaXp6YXJpYSwgaWNoIHNlaGUgdmllbGUgTXVkZGVyLCBiaW4gYWJlcgphbmdlbmVobSB1ZWJlcnJhc2NodCwgZGFzcyBpY2ggaW4gZGVuIG1laXNzdGVuIEdlc3ByYWVjaGVuIG5pY2h0CmRpZSBUaGVtZW46IEh5ZHJhaG9ybiwgTFBDLCBRdWVzdHMsIEZQLCBTUCwgRVAsIEJQLCBMUCwgS1BELCBOUEMsIEZLSyAKdXN3LiBob2VyZS4uLgoKRGFzIGxpZWd0IHZpZWxsZWljaHQgYWJlciBhdWNoIGRhcmFuLCBkYXNzIGljaCBlcyB2ZXJtZWlkZSBtaWNoIGluIGRpZQpOYWVoZSBkZXIgVGlzY2hlIHp1IGJlZ2ViZW4gYW4gZGVuZW4gV2Fzc2VyLCBDb2xhIHVuZCBTYWVmdGUKbWVociBBbmtsYW5nIGZpbmRlbiBhbHMgQmllci4KCklyZ2VuZHdhbm4gYmVzY2hsaWVzc2VuIGRpZSBCZXNpdHplciBkZXMgUmVzdGF1cmFudHMsIGRhc3MgCmRpZSBFaW5uYWhtZW4gZGVzIEFiZW5kcyBhdXNyZWljaGVuIGZ1ZXIgZGllIEVyb2VmZm51bmcgZWluZXIKZ2FuemVuIFJlc3RhdXJhbnRrZXR0ZSB1bmQgc2NobWVpc3NlbiB1bnMgaG9lZmxpY2ggYWJlciBiZXN0aW1tdCByYXVzLgoKRGVyIFRyYW5zZmVyIHp1ciBUdXJuaGFsbGUgdmVybGFldWZ0IG9obmUgZ3JvZXNzZXJlIFByb2JsZW1lLCAKQmVpIGRlciBBbmt1bmZ0IGZpbmRldCBkaWUgdWVibGljaGUgUmV2aWVydmVydGVpbHVuZyBzdGF0dCwgZGllIApNYWVubmNoZW4gc2V0emVuIER1ZnRtYXJrZW4gKHByaW1hZXIgQWxrb2hvbGlzY2hlKS4KCkFuYWtpbiBoYXQgbWlyIGVpbmUgRmxhc2NoZSBQaGlsbGlwIERpbmdlbnNraXJjaGVuIG1pdGdlYnJhY2h0LgpFcyBpc3QgZWluIEJsYW5jIGRlIEJsYW5jLCBFcmlubmVydW5nZW4gYW4gQmVybGluIHdlcmRlbiBpbiAKbWlyIHdhY2gsIGxlaWRlciBpc3QgZXMga2VpbiBBbmRyZSBEdWNsb3MsIGFiZXIgdHJvdHpkZW0gCnNjaGFlZGVsdCBkYXMgWmV1ZyB1bmQgc2NobWVja3Qgc28gYmlsbGlnIHdpZSBkZXIgTmFtZSBlcyB2ZXJtdXRlbgpsYWVzc3QuCgpEYXMgZXJzdGUgTWFsIGFuIGRpZXNlbSBXb2NoZW5lbmRlIGRlbmtlIGljaDoiSWNoIHdpbGwgamV0enQga251dHNjaGVuIgpJY2ggc2V0emUgZGllc2VuIFBsYW4gaW4gZGllIFRhdCB1bSB1bmQgdmVyYnJpbmdlIGRlbiBSZXN0IGRlcyAKQWJlbmRzIG1pdCBrbnV0c2NoZW4sIHNhdWZlbiwgcmF1Y2hlbiBpbiB3ZWNoc2VsbmRlciBSZWloZW5mb2xnZS4KRXMgaXN0IDYgVWhyIG1vcmdlbnMgYWxzIG1laW5lIFp1bmdlIGRlbiBCZXRyaWViIGVpbnN0ZWxsdC4KTWVpbiBIaXJuIGhhdCBtaWNoIHNjaG9uIGVpbiBwYWFyIFN0dW5kZW4gZnJ1ZWhlciB2ZXJsYXNzZW4uClNjaGxhZmVuICg2LjE1LCBvZGVyIHNvKQoKU2Ftc3RhZywgMjIgRmVicnVhci4KCjkuMDAgVWhyLCBkZXIgVGFnIGJlZ2lubnQgd2llIGVyIGVuZGV0ZSwgcmF1Y2hlbiB1bmQga251dHNjaGVuLApJY2ggYmVnbnVlZ2UgbWljaHQgdm9yZXJzdCBtaXQgS2FmZmUgdW5kIEFzcGlyaW4sIGFuc3RhdHQgQmllciwKdW5kIGJlcmVpdGUgbWVpbmVuIE1hZ2VuIG1pdCBCcm9ldGNoZW4gYXVmIGRpZSBiZXZvcnN0ZWhlbmRlbgpFcmVpZ25pc3NlIHZvci4KCklyZ2VuZHdhbm4gc3BhZXRlciBlcnNjaGVpbnQgUGFtcGVycyB1bmQgZXJ6YWVobHQgbWlyIGZyZXVkZXN0cmFobGVuZCwKZGFzcyBlciBqYSBlaWdlbnRsaWNoIHNjaG9uIGxhbmdlIGRhIHNlaW4gd29sbHRlLCBhYmVyIGRpZSBOYWNodAptaXQgQmllcmRvc2VuIHVuZCBQZW5uZXJuIGF1ZiBkZW0gSEJGIHZvbiBIZWlsYnJvbm4gdmVyYnJhY2h0IGhhdC4KSWNoIGVyemFlaGxlIGlobSwgZGFzcyBpY2ggbWVpbmUgTmFjaHQgbWl0IEJpZXJkb3NlbiB1bmQgUGVubmVybiBpbgplaW5lciBUdXJuaGFsbGUgaW4gS0EgdmVyYnJhY2h0IGhhYmUgKFdpZSBrbGVpbiBkaWUgV2VsdCBkb2NoIGlzdCkuCgpJY2ggYmVzaWNodGlnZSBrdXJ6IGRpZSBvZXJ0bGljaGVuIFNhbml0YXJhbmxhZ2VuIHVuZCBiZXNjaGxpZXNzZSBkYXNzCmVzIHp1bSBaYWVobmVwdXR6ZW4gcmVpY2h0LCB1bmQgaWNoIG1pY2ggYXVmIG1laW5lIER1c2NoZSBkYWhlaW0gZnJldWUuCgpHZWdlbiBOYWNobWl0dGFnIHZlcnNjaHdpbmRldCBkYXMgR3JvcyBkZXIgTXVkZGllcyB6dXIgUkwtUXVlc3QsCmljaCBnZW5pZXNzZSBkaWUgUnVoZSBtaXQgZGVyIGVyc3RlbiBGbGFzY2hlIEJpZXIgdW5kIG1pdCBNdXNpawp6dXIgRW50c3Bhbm51bmcuCgpLdXJ6ZSBaZWl0IHNwYWV0ZXIgaGFiIGljaCBkaWUgSWRlZSwgZGFzcyBpY2ggbWFsIHdpZWRlciBnZXJuZSBldHdhcyAKcnVta251dHNjaGVuIHd1ZXJkZS4KRGllIE11ZGRpZXMgdHJ1ZGVsbiB3aWVkZXIgZWluIHZvbiBkZXIgUXVlc3QsIHVuZCBsYW5nc2FtIGVyc2NoZWluZW4gCmltbWVyIG1laHIgTWVuc2NoZW4uCklyZ2VuZHdhbm4gZ2lidCBlcyBFc3NlbiB1bmQgaWNoIGhhYiBtZWluZSB4LXRlIEZsYXNjaGUgQmllciBpbiBkZXIgSGFuZC4KRGllIFd1ZXJzdGNoZW4sIGRhcyBCcm90IHVuZCBkaWUgU2FsYXRlIGF1cyBkZW4gaGFuZGxpY2hlbiA1MCBMaXRlcgpHcm9zc2ZhbWlsaWVudG9lcGZlbiBicmluZ2VuIG1pY2ggYXVmIGRpZSBJZGVlLCBkYXNzIGljaCB6dXIgQWJ3ZWNoc2x1bmcKd2llZGVyIGtudXRzY2hlbiBnZWhlbiBrb2VubnRlLgoKTGVpZGVyIGtvbW1lbiBwbG9ldHpsaWNoIFBhbXBlcnMgdW5kIEtsb25rIGFuIHVuZCByZWlzc2VuIG1pY2ggd2VnCnVtIG1pY2ggenUgaXJnZW5kZWluZW0gb2Jza3VyZW4gS25hY2thcnNjaHdldHRiZXdlcmIgenUgdHJhZ2VuLgoKRGVyIHNwYWV0ZXJlIEdld2lubmVyIChUb2UpIGJlZnVtbWVsdCBtaWNoIGF1c2dpZWJpZyB1bmQga251dHNjaHQgYXVjaApub2NoIGFuIG1pciBydW0sIGVpbiBQcml2aWxlZywgZGFzcyBpY2ggbnVyIHdlbmlnZW4gUGVyc29uZW4genVnZXN0ZWhlLgpEZXIgV2V0dGJld2VyYiBpc3Qgdm9yYmVpIHVuZCBtaXQgZWluZW0gZnJpc2NoZW4gQmllciBrb21tZSBpY2ggYXVmCmRpZSBhdXNzZXJnZXdvZWhubGljaGUgSWRlZSwgZGFzcyBpY2ggd2llZGVyIGtudXRzY2hlbiBnZWhlLgoKTGVpZGVyIHdpcmQgZGEgbmljaHQgc28gZ2FueiB3YXMgZHJhdXMsIGRhIFBhbXBlcnMsCktsb25rIHVuZCBTdW5mbG93ZXIgYW5rb21tZW4gdW5kIFBhbXBlcnMgKEdhcnkpLCBLbG9uayAoUm9iYmllKQp1bmQgaWNoIChNYXJjKSBlcnN0IGVpbm1hbCBkaWUgQ2hvcmVvZ3JhcGhpZSBmdWVyIHVuc2VyZW4gbmFlY2hzdGVuCkF1ZnRyaXR0IGVpbnN0dWRpZXJlbi4KCkt1cnplIFplaXQgc3BhZXRlciBlbnRzY2h3aW5kZXQgS2xvbmsgdW5kIGljaCBkZW5rZToKIldlbm4gZGllIGFuZGVyZW4gZ2VoZW4sIGtvZW5udGUgaWNoIGphIHdlaXRlcmtudXRzY2hlbiIKUGFtcGVycywgZGVyIGdsdWVja2xpY2hlcndlaXNlLCB0cm90eiBpbXBvc2FudGVyIFN0YXR1ZQplaW4gZ2V3aXNzZXMgRmVpbmdlZnVlaGwgYmVzaXR6dCBzcHJpY2h0IGRpZSBXb3J0ZToKIkljaCBsYXNzIGV1Y2ggX2RyZWlfIFR1cnRlbHRhdWJlbiBtYWwgYWxsZWluZS4KTGVpZGVyIHdhcyBkYXMgZnVlciBTdW5mbG93ZXIgX3p1XyBzdWJ0aWwuClZvbiBsaW5rcyBkcm9laG5lbiBzZWluZSBWZXJzdWNoZSBlaW5lciBLb252ZXJzYXRpb24gYW4gbWVpbiAKT2hyLCB2b24gaGludGVuIGJlbWVya2UgaWNoIHNwYWV0Z290aGlzY2hlbiBNaW5uZWdlc2FuZy4KSWNoIGRyZWhlIG1laW5lbiBLb3BmIHVuZCBlcmJsaWNrZSBBbmNhbGFnb24gdW5kIExvY28Kc3RlaGVuZCwgc2luZ2VuZCwgcmV6aXRpZXJlbmQuCgpFaW4gQW5mYWxsIGRlciBWZXJ6d2VpZmx1bmcgdWViZXJrb21tdCBtaWNoLCBpY2ggZHJlaGUgbWVpbmVuIEtvcGYKd2llZGVyIGluIEF1c2dhbmdzcG9zaXRpb24gdW5kIGtudXRzY2hlIHdlaXRlci4KICAgCkRlciBWZXJzdWNoIFN1bmZsb3dlciBfc3VidGlsXyBsb3N6dXdlcmRlbiB3aXJkIGxlaWRlciB2b24gCnNlaW5lciB1bmdsYXVibGljaGVuIElnbm9yYW56IGdhZW56bGljaCB6ZXJzY2htZXR0ZXJ0LgpCZXZvciBpY2ggYW5mYW5nZW4gbXVzcyB6dSB3ZWluZW4sIGJla29tbWUgaWNoIGxpZWJlciBlaW5lbgpTY2hyZWlrcmFtcGYgdW5kIHZlcnN1Y2hlIGVzIGRpcmVrdCB1bmQgdW5zdWJ0aWwgbWl0IGRlbiBXb3J0ZW46ClRZUCwgVkVSUElTUyBESUNILCBEVSBTVE9FUlNULgoKRGllIE1pbm5lc2FlbmdlciBob2VyZW4gYXVmIHp1IHNpbmdlbiwgYXVjaCBndXQsIGFiZXIgZGllIG1laW50ZSBpY2gKYXVzbmFobXN3ZWlzZSBuaWNodC4gU3VuZmxvd2VyIHNjaGVpbnQgbWVpbmUgV29ydGUKdHJvdHogaWhyZXIgTGF1dHN0YWVya2UgdW5kIFNjaGFlcmZlIHp1IGlnbm9yaWVyZW4uCgpFcyBibGVpYnQgbnVyIGVpbmUgV2FobC4uLkZMVUNIVC4uLgoKSXJnZW5kd2FubiBpc3QgZGFzIG1pdCBkZW0ga251dHNjaGVuIGVybGVkaWd0LCB1bmQgZGllIG5ldHRlIGp1bmdlIERhbWUKbWl0IGRlciBTY2hsYW5nZW5hZmZpbml0YWV0LCByZXR0ZXQgZWluZSBhbmRlcmUganVuZ2UgRGFtZSBtaXQKZWluZXIgSG9zZSwgZGllIG1pY2gsIHdlbm4gc2llIExpbGEgd2FlcmUgZGF1ZXJuZCBhbiBNaWxrYS1TY2hva29sYWRlCmVyaW5uZXJuIHd1ZXJkZS4KCkljaCBiZWdlYmUgbWljaCBoaW50ZXIgZGllIFRoZWtlIHVuZCBlbnRzcGFubmUgYmVpIGVpbmVyIGZsYXNjaGUgQmllci4KCkxlaWRlciBhdWNoIG51ciBmdWVyIDEwIHNla3VuZGVuLCBkZW5uIHBsb2V0emxpY2ggc3RlaHQgRVIgdm9yIG1pci4KRWluIEJsaWNrIGRlciBlaW5lIE1pc2NodW5nIGF1cyBHZWJyYXVjaHR3YWdlbmhhZW5kbGVyIHVuZApTZXJpZW5tb2VyZGVyIGRhcnN0ZWxsdC4KClNwcmVjaGVuIGthbm4gZXIgc2NoZWluYmFyLCBlciBmcmFndCBvYiBkaWVzIGRlciBBVlIgc2VpCihBcmJlaXRza3JlaXMgVmlydHVlbGxlIFJlYWxpdGFldCkKSWNoIGxhZWNobGUgZnJldW5kbGljaCB1bmQgdmVyc3VjaGUgZWluZW4gYmVydWhpZ2VuZGVuIEVpbmRydWNrIHp1IG1hY2hlbi4KSWNoIGhvZXJlIFZhbmNvdXZlciB1bmQgSW5kdXN0cmlhbCBhdXMgc2VpbmVuIFdvcnRlbgp1bmQgbWVya2UgYmVpIGVpbmVtIEJsaWNrIGF1ZiBQYW1wZXJzLCBkYXNzIGVyIGdlbmF1c292aWVsCmdlZmFsbGVuIGFuIHVuc2VyZW0gbmV1ZW4gRnJldW5kIGZpbmRldC4KCkljaCB6ZWlnZSBpaG0gbWVpbmUgVmFuY291dmVyIEluZHVzdHJpYWwgQ0QsIHVuZCBlciBibHViYmVydCBtaWNoIHZvbGwKZGFzcyBUYWN0aWNhbCBOZXVybyBJbXBsYW50IHVuZCBNaW5kcGhhc2VyIHZpZWwgYmVzc2VyIHdhZXJlbiBhbHMKQ2F1c3RpYyBHcmlwLiAiSmEsIGphLCBtZWluIFNjaGF0eiIsIGRlbmtlIGljaCB1bmQgd2FydGUgZGFyYXVmLCBkYXNzCmVyIGVudHdlZGVyIGdsZWljaCBlaW5lIEhhbmRncmFuYXRlIHp1ZWNrdCB1bmQgR2Vpc2VsbiBuaW1tdCBvZGVyCmRhc3MgZXIgaW4gZWluZW0gRmxhc2ggc3BvbnRhbmVyIFNlbGJzdGVudHp1ZW5kdW5nIGVudHNjaHdpbmRldC4KRXMgcGFzc2llcnQgbmljaHRzIGRlcmdsZWljaGVuLCBhbHNvIGJlc2NobGllc3NlIGljaCBlaW5lbiBmbHVjaHRhcnRpZ2VuClN0YW5kb3J0d2VjaHNlbC4gQWJlciBlciBzY2hlaW50IG1pY2ggenUgdmVyZm9sZ2VuLCBpY2ggZmx1ZWNodGUgbWljaAppbiBkaWUgR2Vib3JnZW5oZWl0IGVpbmVyIHdlaXRlcmVuIEtudXRzY2hlcmVpIHVuZCBiZXNjaGxpZXNzZSBkYW1pdCBkZW4KQWJlbmQuCigwLjMwKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9ldHRzIGRpYXJyaG9lIChTb25kZXJhdXNnYWJlKSAoU3VuZmxvd2VyLCAyNC4gRmViIDE5OTcsIDE1OjQyOjQ0KToKfiMhIHJuPU9ldHRpIHJ0PTg1Njc5NDk3NiByZz1wYXJ0eQp+IyEgdGlkPTg1Njc5NDk3NgpvaGggamEgamV0enQgZXJpbm5lcmUgaWNoIG1pY2ggd2llZGVyLi4uaWNoIGhhdHRlIGphIGlnbm9yaWVyZSBvZXR0aQphbiA7Kikgb2RlciB3YXIgZXMgZXJ3YXJ0ZSBiaWVyIHVuZCBhbGtvaG9sLi4uLi5uYWphLi4uaWhyIGhhYnQgamEgZGFubgphdWNoIHVudGVybSBzY2hsYWZzYWNrIHdlaXRlcmdlbWFjaHQuLi5iaXMgbWFuIG9ldHRpIGF1cyBkZW0gc2NobGFmc2Fjawprb21tZW4gdW5kIGVpbmUgemlnYXJldHRlIGFuc3RlY2tlbmQgc2FoLiAKCldhciBlcyBkaWUgdmllbGdlcnVlaG10ZSwgbGVnZW5kYWVyZTogWmlnYXJldHRlIGRhbmFjaCA/CgpTdW5mbG93ZXIgKmJyZWl0Z3JpbnNlbmQqICpvZXR0aSB2b2xsIGlnbm9yaWVyZW5kKiAqa3JlaXNjaGVuZGVzIGdyb3VwaWUgdm9uCnNjaGxedWNrcyBzZWllbmQiIAoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2V0dHMgZGlhcnJob2UgKFNvbmRlcmF1c2dhYmUpIChTaWRvbGluLCAyNC4gRmViIDE5OTcsIDE1OjQ1OjE0KToKfiMhIHJuPVN1bmZsb3dlciBydD04NTY3OTUzNjQgcmc9cGFydHkKfiMhIHRpZD04NTY3OTQ5NzYKQWNoIFN1bmZsb3dlci4uLi4uCgpEdSBoYXN0IGphIERlaW4gZ2FuemVzIExlYmVuIG51ciBaaWdhcmV0dGVuIERBVk9SIGdlcmF1Y2h0LgpBYmVyIHZpZWxsZWljaHQuLi4gZWluZXMgVGFnZXMuLi4gV2VubiBEdSBtYWwgR2VsZCBoYXN0Li4gT2RlciBzby4uLgoKU2lkb2xpbi4gSGF0IGRpZSBIb2ZmbnVuZywgZGFzcyBTdW5mbG93ZXIgbm9jaCB3YXMgbWVya3QsIGxhbmdzYW0gYXVmZ2VnZWJlbi4KOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBPZXR0cyBkaWFycmhvZSAoU29uZGVyYXVzZ2FiZSkgKFN1bmZsb3dlciwgMjQuIEZlYiAxOTk3LCAxNTo0ODoyMik6Cn4jISBybj1TaWRvbGluIHJ0PTg1Njc5NTUxNCByZz1wYXJ0eQp+IyEgdGlkPTg1Njc5NDk3NgpJQ0ggSEFCRSBOSUUgR0VMRC4uLkRBUlVNIEhPRVIgSUNIIEpBIEFVRiwgKG5vZSBuaWNodCBtaXQgcmF1Y2hlbiwgbWl0IHdhcyAKYW5kZXJlbSkuCgpTdW5mbG93ZXIsIG1lcmt0IG5pZSB3YXMsIGlzdCBibG9lZCwgaXN0IHNjaGVpc3NlLCBuZXJ2ZW5kCmFiZXIgYXVjaC4uYWVoZW0gamEgd2FzLi4uYWNoIG5peC4uc28gbG9uZwoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5cmVzdWVtZSAoT3JrdG9ldGVyLCAyNC4gRmViIDE5OTcsIDE1OjU2OjE4KToKSm8sIHdvbGx0ZSBhdWNoIG5vY2gga3VyeiB3YXMgenUgZGVyIFBhcnR5IHNhZ2VuLi4KCldlciBuaWNodCBkYSB3YXIgaGF0IFBlY2ggZ2VoYWJ0ICEKTWl0IGlnbm9yaWVyZSBNdXNpayAoS3JhY2gpIHdhciBlaW5lciBkZXIgYmVpZGVuIG5lZ2F0aXZwdW5rdGUgenUgdWViZXJ3aW5kZQp1bmQgZ2VnZW4gZGllIFRlbXBlcmF0dXJlbiBpbiBkZXIgVHVybmhhbGxlIGhhbGZlbiB3YXJtZSBHZWRhbmtlbiAob2RlciBzbwphZWhubGljaCkgdW5kIGRlciBSZXN0IHdhciBlaW5mYWNoIEtsYXNzZSAhCgpEYW5rZSBhbiBkaWUgT3JnYW5pc2F0b3JlbiAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5bmFjaHNjaGF1IC0gZGllIEVSU1RFISAoRnl0LCAyNC4gRmViIDE5OTcsIDIxOjI3OjUxKToKfiMhIHJuPUJvaW5nIHJ0PTg1Njc4NTA0OSByZz1wYXJ0eQp+IyEgdGlkPTg1NjcwNjI5OQpEZXIgQnVnIG1pdCBkZW0gUmVpdGVyZGVua21hbCB3YXIgZG9jaCBkYXMgWndlaXRiZXN0ZSBuY2ggZGVyIFNhY2hlIG1pdApkZW0gLi4uIGFlaG0uLiAnUHJvZ3JhbW1raW5vJy4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2V0dHMgZGlhcnJob2UgKFNvbmRlcmF1c2dhYmUpIChGeXQsIDI0LiBGZWIgMTk5NywgMjE6NDA6MjcpOgp+IyEgcm49U3VuZmxvd2VyIHJ0PTg1Njc5NTM2NCByZz1wYXJ0eQp+IyEgdGlkPTg1Njc5NDk3NgoKRmFzemluaWVyZW5kLiBBdXMgZGllc2VuIFdvcnRlbiBlbnRuZWhtZSBpY2gsIGRhc3MgT2V0dGkgbmljaHQgaW0KU2NobGFmc2FjayByYXVjaHQuIERhcyBkdWVyZnRlIGRhbWl0IGRlciBNaXR0ZWxwdW5rdCBkZXMgVW5pdmVyc3VtcwpzZWluLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSAoSmltZGlncml6LCAyNS4gRmViIDE5OTcsIDAxOjA5OjA2KToKSG9pLAoKZW5kbGljaCBtYWwgbmUgUGFydHkgbWl0IGFuc3RhZW5kaWdlciAKIFJvY2ttdXNpayAoYWJnZXNlaGVuIHZvbiBkZW0genVtIGdsZXVjawprdXJ6ZW4gU2NobGFnZXJpbnRlcm1lenpvKQoKd29sbHRlIGF1Y2ggbWFsIHNlbmZlbiwKCkpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eW5hY2hzY2hhdSAtIGRpZSBFUlNURSEgKFRlZGR5LCAyNS4gRmViIDE5OTcsIDAyOjU4OjAzKToKfiMhIHJuPUJvaW5nIHJ0PTg1Njc4NTA0OSByZz1wYXJ0eQp+IyEgdGlkPTg1NjcwNjI5OQpBbHNvIGVpbmUgUXVlc3Qgb2huZSBCdWdzIGhhZXR0ZSB1bnMgYWJlciBlY2h0IGdlc2Nob2NrdCA7KQoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPZXR0cyBkaWFycmhvZSAoU29uZGVyYXVzZ2FiZSkgKFNvY3JhdGUsIDI1LiBGZWIgMTk5NywgMTY6NTI6MzkpOgp+IyEgcm49T2V0dGkgcnQ9ODU2Nzk0OTc2IHJnPXBhcnR5Cn4jISB0aWQ9ODU2Nzk0OTc2CkFsc28gT2V0dGksCmRhcyBmaW5kIGljaCBlY2h0IG5pY2h0IGd1dC4gU3VuZmxvd2VyIG1vZWNodGUgZGljaCBtYWwga2VubmVubGVybmVuIHVuZCBkdQpzY2hyZWlzdCBpaG4gYXVjaCBub2NoIGFuLiB0c3RzdHN0LiBBbHNvIFplaXQgenVtIEtudXRzY2hlbiBoYXN0IGR1IGRvY2ggaGllcgp0YWd0YWVnbGljaCBnZW51Zy4gRHUga29tbXN0IGF1ZiBlaW5lIFBhcnR5IHVtIDE2MCBMZXV0ZSBrZW5uZW4genUgbGVybmVuIHVuZApzY2hsYWJiZXJzdCBkYW5uIGRpZSBnYW56ZSBaZWl0IGFuIGVpbmVyIGVpbnppZ2VuIHJ1bS4gV29iZWkgYmVpIGRpZXNlciBub2NoCmdhcm5pY2h0IGF1c2dlbWFjaHQgaXN0LCBvYiBlcyBzaWNoIG5pY2h0IHVtIGVpbiBucGMgZ2VoYW5kZWx0IGhhdC4KQWxzbyBkZWluIFZlcmhhbHRlbiBnZWdlbnVlYmVyIFN1bmZsb3dlciwgZGVyIGphIGltbWVyaGluIHNvIGtsdWcgd2FyLCBzZWluZQpTcHJ1ZWNoZSBhdWYgZGVtIEtsb28gbm9jaCB6dSB1bnRlcnNjaHJlaWJlbiwgd2VpbCBlciBzb25zdCBrZWluZXIgd2Vpc3Mgdm9uCndlbSBzaWUgc2luZCwgd2FyIGVjaHQgYXNvemlhbCBPZXR0aS4gSWNoIGZpbmRlIGR1IGhhZXR0ZXN0IGlobiBhdWNoIG1hbApyYW5sYXNzZW4ga29lbm5lbi4KT2V0dGksIGljaCBmb3JkZXJlICB2b24gZGlyIEJlc3NlcnVuZyEKVHNjaG9lIHdhClNvY3JhdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2V0dHMgZGlhcnJob2UgKFNvbmRlcmF1c2dhYmUpIChTdW5mbG93ZXIsIDI1LiBGZWIgMTk5NywgMjA6NDE6MDUpOgp+IyEgcm49U29jcmF0ZSBydD04NTY4ODU5NTkgcmc9cGFydHkKfiMhIHRpZD04NTY3OTQ5NzYKc29jcmF0ZSwgc2hpdC4uLmFlaGVtIGRhIG11c3MgaWNoIGphIG5hY2gga2FybHNEaW5nZW5zIHVtIGRvcnQgdG9pbGV0dGVuCnp1IHJlaW5pZ2VuLi4uaHVlbGxsZmZmZWVlLi4uLgoKU3VuZmxvd2VyLCBzY2h1bGRpZyB3aWRlciB3aWxsZW4uCkphIGljaCBzY2h3ZWlnZSB1bmQgaGFiZSBkYXMgUmVjaHQgYXVmIGVpbmVuIEFud2FsdCBkYSBpY2ggbWlyIGFiZXIga2VpbmVuCmxlaXN0ZW4ga2Fubiwgd2lyZCBtaXIgYm9pbmcgZWluZW4gc3RlbGxlbgoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXm46IFBhcnR5bmFjaHNjaGF1IChuPTEgYmlzIC4uLnVuZW5kbGljaC4gKFRhbWFyYSwgMjUuIEZlYiAxOTk3LCAyMDo0MjowOSk6CkhleSwgZGllIFBhcnR5IHdhciBrbGFzc2UuCk51ciBkaWUgTXVzaWsuLi4uLiBEaWUgd2FyIHNjaGVpc3NlLCBkZW5uIGljaCBoYWJlIEFobnVuZyB2b24gTXVzaWsgdW5kIGd1dGUKTXVzaWsgaXN0IGRhcyB3YXMgbWlyIGdlZmFlbGx0IQoKUC5TLjogV2FydW0gaGF0IGRlbm4gbmllbWFuZCBnZW5lc2lzIGdlc3BpZWx0Li4ub2hoaGggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZV5uOiBQYXJ0eW5hY2hzY2hhdSAobj0xIGJpcyAuLi51bmVuZGxpY2guIChXdXJ6ZWwsIDI1LiBGZWIgMTk5NywgMjA6NDM6MTApOgp+IyEgcm49VGFtYXJhIHJ0PTg1Njg5OTcyOSByZz1wYXJ0eQp+IyEgdGlkPTg1Njg5OTcyOQp3ZWlsIGdlbmVzaXMgTk9DSCBzY2hsaW1tZXIgaXN0LiB3ZW5uIGF1Y2ggbmljaHQgdmllbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVebjogUGFydHluYWNoc2NoYXUgKG49MSBiaXMgLi4udW5lbmRsaWNoLiAoVGFtYXJhLCAyNS4gRmViIDE5OTcsIDIxOjAzOjA3KToKfiMhIHJuPVd1cnplbCBydD04NTY4OTk3OTAgcmc9cGFydHkKfiMhIHRpZD04NTY4OTk3MjkKRWNodD8gTmVlZSxQaGlsIENvbGxpbnMgYWxsZWluIGlzIG5vY2ggc2NobGltbWVyLi4uLi4uLi5hcmdsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVebjogUGFydHluYWNoc2NoYXUgKG49MSBiaXMgLi4udW5lbmRsaWNoLiAoS2FydG9mZmVsLCAyNS4gRmViIDE5OTcsIDIxOjEyOjM5KToKfiMhIHJuPVRhbWFyYSBydD04NTY5MDA5ODcgcmc9cGFydHkKfiMhIHRpZD04NTY4OTk3MjkKCkhtbSwgaWNoIGthbm4gbWljaCBnYXIgbmljaHQgYW4gZGllIE11c2lrIGVyaW5uZXJuLi4uLCBtdXNzIGRhcmFuIGdlbGVnZW4KaGFiZW4sIGRhc3MgZGllIEZldGUgZWluZmFjaCBrbGFzc2Ugd2FyIHVuZCBpY2ggZGllIGdhbnplIFplaXQgKHN0aWxlY2h0KQpnZXF1YXRzY2h0IGhhYmUgOikpCgpLYXJ0b2ZmZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlXm46IFBhcnR5bmFjaHNjaGF1IChuPTEgYmlzIC4uLnVuZW5kbGljaC4gKEVuZ3l3dWNrLCAyNS4gRmViIDE5OTcsIDIxOjIzOjQyKToKfiMhIHJuPUthcnRvZmZlbCBydD04NTY5MDE1NTkgcmc9cGFydHkKfiMhIHRpZD04NTY4OTk3MjkKSGFldHRldCBpaHIgbWFsIHdhcyBnZXNhZ3QuLi4gSWNoIGhhdHRlIEdlbmVzaXMgaW0gQXV0by4gQWJlciBuYXR1ZXJsaWNoIG51cgplaW4gRnJ1ZWh3ZXJrLCBkZW5uIGRhbWFscyB3YXJzIG5vY2ggTXVzaWsuLi4gQWJlciBpY2ggZGVua2UgbmljaHQsIGRhc3MgZGllCkdlc3RhbHRlbiB2b3IgZGVyIEFubGFnZSBtaWNoIGRhbWl0IGR1cmNoZ2VsYXNzZW4gaGFldHRlbiA7KQoKRW5neSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZV5uOiBQYXJ0eW5hY2hzY2hhdSAobj0xIGJpcyAuLi51bmVuZGxpY2guIChTY2hsaXBzLCAyNS4gRmViIDE5OTcsIDIxOjMxOjIzKToKfiMhIHJuPVRhbWFyYSBydD04NTY4OTk3Mjkgcmc9cGFydHkKfiMhIHRpZD04NTY4OTk3MjkKV2VsY2hlIEdlbmVzaXMgbWVpbnN0IER1IGRlbm4/IEFsc28gZnJ1ZWhlciBtYWNodGVuIGRpZSBqYSBnYW56IGd1dGUgTXVzaWsgLQphYmVyIGRpZSBpc3QgdW5nZWZhZWhyIGdlbmF1c28gZ3V0IFBhcnR5ZmFlaGlnIHdpZSB6QiBQaW5rIEZsb3lkLgoKU2NobGlwcywgd2FyIHp3YXIgbmljaHQgYXVmIGRlciBQYXJ0eSwgYWJlciB3ZW5uIGRpZSBkYSBIb3NlbiBnZXNwaWVsdCBoYWJlbgprYW5ucyBzb28gc2NobGVjaHQgbmV0IGdld2VzZW4gc2VpbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVebjogUGFydHluYWNoc2NoYXUgKG49MSBiaXMgLi4udW5lbmRsaWNoLiAoRW5neXd1Y2ssIDI1LiBGZWIgMTk5NywgMjE6MzU6NDMpOgp+IyEgcm49U2NobGlwcyBydD04NTY5MDI2ODMgcmc9cGFydHkKfiMhIHRpZD04NTY4OTk3MjkKVGphLCBkYXMgaXN0IFNjaGlja3NhbC4uLiBEaWUgR2VuZXNpcy1DRCB3YXIgdm9uIDczIChvZGVyIHNvKSwgUGluayBGbG95ZApoYXR0ZSBpY2ggYXVjaCBkYSwgZHVlcmZ0ZSBhdXMgZGVtIGdsZWljaGVuIFplaXRyYXVtIGdld2VzZW4gc2Vpbi4uLiBBYmVyIGlocgpob2VydCBqYSBsaWViZXIgIlNpbGtlIEJpc2Nob2ZmIi4gTmFqYS4uLi4KCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZV5uOiBQYXJ0eW5hY2hzY2hhdSAobj0xIGJpcyAuLi51bmVuZGxpY2guIChUZWRkeSwgMjYuIEZlYiAxOTk3LCAwMzo0ODoyOCk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9ODU2OTAxNTU5IHJnPXBhcnR5Cn4jISB0aWQ9ODU2ODk5NzI5CkR1IGhhc3QgZWlnZW50bGljaCBpbnNnZXNhbXQgbmljaHQgdmllbCBtaXRnZWtyaWVndCB1bmQgTkVJTiwgaWNoIGhhYmUga2VpbgpTZWhlcnRvciBpbSBOZWJlbnJhdW0gZ2VoYWJ0ISA7KQoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9ldHRzIGRpYXJyaG9lIChTb25kZXJhdXNnYWJlKSAoQm9pbmcsICAzLiBNYXIgMTk5NywgMTQ6NDI6MzIpOgp+IyEgcm49U3VuZmxvd2VyIHJ0PTg1Njg5OTY2NSByZz1wYXJ0eQp+IyEgdGlkPTg1Njc5NDk3NgpOb2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBUlJSR0whIChUYW1hcmEsICA0LiBNYXIgMTk5NywgMjA6MDY6NTUpOgoKRnVlciBhbGxlIER1bW1pZXMgLCBkaWUgZGFzIFdvcnQgSXJvbmllIG5pY2h0IHZlcnN0ZWhlbiB3b2xsdGUgaWNoIG5vY2ggZWluZXMKS2xhcnN0ZWxsZW46CgpJY2ggaGFzc2UgR2VuZXNpcyB1bmQgZGVyZW4gRmFucyEKClRhbWFyYSAod29sbHRlIG5pY2h0IGluIGVpbmUgS2lzdGUgbWl0IEdlbmVzaXNmYW5zIGdlc2NobWlzc2VuIHdlcmRlbikKClRhbWFyYSAodWViZXJsZWd0IHNpY2ggdWViZXJoYXVwdCBub2NoIHdhcyBpbiBkZXIgTVBBIHp1IHNjaHJlaWJlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBUlJSR0whIChGeXQsICA1LiBNYXIgMTk5NywgMDE6MjU6MTMpOgp+IyEgcm49VGFtYXJhIHJ0PTg1NzUwMjQxNSByZz1wYXJ0eQp+IyEgdGlkPTg1NzUwMjQxNQoKSG0sIHVuZCB3YXMgaGFlbHN0IER1IHZvbiBkZW4gYW5kZXJlbiBCdWVjaGVybiBNb3Nlcyc/CgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXIgZmVydGlnLiAoQmhhbWlyLCAgNy4gTWFyIDE5OTcsIDIwOjE3OjE1KToKRGllIGVyc3RlbiBCaWxkZXIgc2luZCBmZXJ0aWcgZWluZ2VzY2FubnQgdW5kIHdhcnRlbiBhdWYgaWhyZQpWZXJvZWZmZW50bGljaHVuZy4KU2NobGFjaHRldCBtaWNoIGFiZXIgbmljaHQgd2VnZW4gZGVyIGdyYXVlbmhhZnRlbiBRdWFsaXRhZXQsIGljaCBoYXR0ZSBudXIKZWluZW4gCmZ1cmNodGJhcmVuLCBrbGVpbmVuIEhBbmRzY2FubmVyLiBXZXJkZSBkaWUgQmlsZGVyIHdvaGwgaW4gWnVrdW5mdCBub2NobWFsIApzY2FubmVuIChkYW5uIGFiZXIgbWl0IHZlcm51ZW5mdGlnZXIgQXVzcnVlc3R1bmcpLiAKClVuZCBtb2VnZSBkZXIgTEFHIGV3aWcgdm9uIGV1Y2ggd2VpY2hlbi4gCkJoYW1pcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVycGFydHkgV1dXIFNlaXRlIGZlcnRpZy4gKEhhdGUsICA4LiBNYXIgMTk5NywgMjA6Mjk6NTkpOgpodHRwOi8vbWcudW5pLW11ZW5zdGVyLmRlL0luZm9ybWF0aW9uL1RyZWZmZW4vUGFydHkuNy8KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZGVyIGZlcnRpZy4gKEx1emllLCAgOS4gTWFyIDE5OTcsIDE4OjE2OjQ3KToKfiMhIHJuPUJoYW1pciBydD04NTc3NjIyMzUgcmc9cGFydHkKfiMhIHRpZD04NTc3NjIyMzUKSGkhCgpTY2hvZW4sIGRhc3MgZXMgc2Nob24gZGllIGVyc3RlbiBCaWxkZXIgZ2lidC4gQWJlciB3YXMgaXN0IGVpZ2VudGxpY2ggYXVzCm1laW5lbiBGb3RvcyBnZXdvcmRlbj8gRGllIHdhcmVuIHNjaG9uIHZpZWwgZWhlciBmZXJ0aWcgdW5kIGljaCBoYWIgc2llClJvY2h1cyB6dW0gZWluc2Nhbm5lbiBnZWdlYmVuIC4uLgoKTHV6aWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmlsZGVyIGZlcnRpZy4gKFBpbGdyaW0sICA5LiBNYXIgMTk5NywgMTk6NDg6NTkpOgp+IyEgcm49THV6aWUgcnQ9ODU3OTI3ODA3IHJnPXBhcnR5Cn4jISB0aWQ9ODU3NzYyMjM1ClZpZWxsZWljaHQgaGFldHRlc3QgRHUgUm9jaHVzIG5lYmVuIGRlbiBCaWxkZXJuIGF1ZiBub2NoIENvbGEgZ2ViZW4gc29sbGVuLi4uCm9kZXIgenVtaW5kZXN0IGluIEF1c3NpY2h0IHN0ZWxsZW4gc29sbGVuIC4uLj8KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5QmlsZGVyIChUYW5nYWx1ciwgMTEuIE1hciAxOTk3LCAxOTozODowMyk6CkhhaSwKYWIgc29mb3J0IGtvZW5uZW4gZGllIFBhcnR5IEJpbGRlciB2b24gS2FybHNydWhlIGF1ZiBkZXIgTUctV1dXLVNlaXRlCmJld3VuZGVydCB3ZXJkZW4uIEZhbGxzIGlyZ2VuZHdlbGNoZSBOYW1lbiBmYWxzY2ggenVnZW9yZG5ldCBzaW5kIG9kZXIKamVtYW5kIG5hY2hiZXN0ZWxsdW5nZW4gaGFiZW4gbW9lY2h0ZSwgc29sbCBzaWUvZXIgc2ljaCBhbgpUYW5nYWx1ciB3ZW5kZW4gKGJpdHRlIEJpbGQgTnIuIGFuZ2ViZW4pCgpzbyBkYXMgd2FycyA6LSkKICAgICAgICAgICB2aWVsIFNwYXNzIGJlaW0gYW5zY2hhdWVuIHd1ZW5zY2h0IGV1Y2gKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlb3JuICYgVGFuZ2FsdXIKRmV1ZXJ0YXR6ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKam8gd2FubiBkZW5uIChBbGJvaW4sIDI3LiBNYWkgMTk5NywgMTU6Mjc6MzgpOgpJY2ggaGFldHRlIGdlcm5lIG1hbCBnZXd1c3N0LCB3YW5uIGRpZXNlcyBKYWhyIGRpZSBTb21tZXJwYXJ0eSBpc3QgdW5kIG9iIGVzCmF1Y2ggd2llZGVyIGVpbiBDYW1wIHVlYmVyIG5lIGdhbnplIFdvY2hlIGdpYnQgdXN3LCBkYW1pdCBuaWNodCBudXIgaWNoCnNvbmRlcm4gYXVjaCBhbmRlcmUgaWhyZW4gVXJsYXViIHZlcnBsYW5lbiBrb2VubmVuLgoKQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogam8gd2FubiBkZW5uIChQYW1wZXJzLCAyOC4gTWFpIDE5OTcsIDE2OjA2OjQ0KToKfiMhIHJuPUFsYm9pbiBydD04NjQ3Mzk2NTggcmc9cGFydHkKfiMhIHRpZD04NjQ3Mzk2NTgKSWNoIGF1Y2guCgpQYW1wZXJzLiBTdGFydGV0IGVpbmVuIG51dHpsb3NlbiBUaHJlYWQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eXRlcm1pbiAoRW5neXd1Y2ssIDMxLiBNYWkgMTk5NywgMDk6NDU6MDkpOgpTbywgZGEgc2ljaCBiaXNoZXIgbm9jaCBrZWluZXIgZGVyIEhlcnJlbiB6dSBlaW5lbSBQYXJ0eXRlcm1pbiBnZWFldXNzZXJ0IGhhdCwKd3VlcmRlIGljaCB2b3JzY2hsYWdlbiwgZGFzcyBkaWUgUGFydHkgdm9tIDE1Li0xNy44LiBpc3QuIERhcyBXb2NoZW5lbmRlCnNwYWV0ZXIgaGFiIGljaCBuYWVtbGljaCBrZWluZSBaZWl0IC0gdW5kIHNjaGxpZXNzbGljaCB3aWxsIGljaCBBbmF0b2wgbmljaHQKZGllIG1vZWdsaWNoa2VpdCBuZWhtZW4sIG5hY2ggZGVyIFBhcnR5IHdpZWRlciBrcmFlZnRpZyB1ZWJlciBtaWNoIGFienV6aWVoZW4KOykKClAuUy46IFZpZWxsZWljaHQgZnVlciBlaW5pZ2Ugd2ljaHRpZ2VyOiBTZW1pcmEga2FubiBkaWUgV29jaGUgc3BhZXRlciBhdWNoCm5pY2h0IDspCgpDaWFvLCBFbmd5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhcnR5dGVybWluIChQYW1wZXJzLCAzMS4gTWFpIDE5OTcsIDEwOjQ2OjQ5KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg2NTA2NDcwOSByZz1wYXJ0eQp+IyEgdGlkPTg2NTA2NDcwOQpUamEsIGRhIHNpY2ggYmlzIGF1ZiBkZW4gdm9lbGxpZyB1bm1hc3NnZWJsaWNoZW4gRW5neXd1Y2sgbm9jaCBrZWluZXIgenVtClBhcnR5dGVybWluIGdlYWV1c3NlcnQgaGF0LCB3dWVyZGUgaWNoIHZvcnNjaGxhZ2VuLCBkYXNzIGRpZSBQYXJ0eSB2b20gMjIuIGJpcwoyNC4gOC4gaXN0LiBEYXMgV29jaGVuZW5kZSB2b3JoZXIgaGFiZSBpY2ggbmFlbWxpY2gga2VpbmVyIFplaXQgLSB1bmQKc2NobGllc3NsaWNoIHdpbGwgaWNoIEVuZ3l3dWNrIGRpZSBNb2VnbGljaGtlaXQgbmVobWVuLCBuYWNoIGRlciBQYXJ0eSB3aWVkZXIKa3JhZWZ0aWcgdWViZXIgbWljaCBhYnp1emllaGVuLiA7KQoKUC5TLjogVmllbGxlaWNoIGZ1ZXIgZWluaWdlIHdpY2h0aWdlcjogRW5neXd1Y2sga2FubiBhbSAyMi4yNC44LiBuaWNodCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0eXRlcm1pbiAoQWNyaW1vbiwgMzEuIE1haSAxOTk3LCAxMjowNTowNyk6Cn4jISBybj1QYW1wZXJzIHJ0PTg2NTA2ODQwOSByZz1wYXJ0eQp+IyEgdGlkPTg2NTA2NDcwOQpOdW4sIGRhIGljaCBzb3dpZXNvIG5pY2h0IGtvbW1lbiBrYW5uLCBzY2hsYWdlIGljaCBhdWNoIGVpbmVuIFRlcm1pbiB2b3I6CmRpZSBQYXJ0eSBpc3Qgdm9tIDMuIGJpcyA1LiBBdWd1c3QuCkRhIGhhYiBpY2ggbmFlbWxpY2ggc293aWVzbyBzY2hvbiB3YXMgQW5kZXJlcyB2b3IgdW5kIHdlcmRlIG1pY2ggbmljaHQKZGFydWViZXIgYWVyZ2VybiwgZGFzeiBkZXIgV2VnIHp1ciBQYXJ0eSB6dSB3ZWl0IGlzdC4gOi0pCgpQLlMuOiBWaWVsbGVpY2h0IGZ1ZXIgRWluaWdlIHdpY2h0aWdlcjogQXVjaCB6dSBkZW4gYW5kZXJlbiBUZXJtaW5lbiBrYW5uIGljaApsZWlkZXIgbmljaHQgZXJzY2hlaW5lbiA7KQoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXJ0eXRlcm1pbiAoQmVlbHplYnViLCAzMS4gTWFpIDE5OTcsIDE3OjA2OjQ1KToKfiMhIHJuPUFjcmltb24gcnQ9ODY1MDczMTA3IHJnPXBhcnR5Cn4jISB0aWQ9ODY1MDY0NzA5CkFsc28gaWNoIGthbm4gYW0gOC4tMTAuOCBuaWNodC4KRXMgc2VpIGRlbm4sIGRpZSBQYXJ0eSBmaW5kZXQgYXVmIGRlbSBGZXN0aXZhbC1HZWxhZW5kZSBpbiBXYWNrZW4gc3RhdHQgOikKCkVpbiB2b2VsbGlnIHVud2ljaHRpZ2VyIEFydGlrZWwgdm9uCiAgICAgICAgICAgICBCZWVsemVidWIgXTotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGFydHl0ZXJtaW4gKFNvY3JhdGUsIDMxLiBNYWkgMTk5NywgMTk6MTE6MjApOgp+IyEgcm49QmVlbHplYnViIHJ0PTg2NTA5MTIwNSByZz1wYXJ0eQp+IyEgdGlkPTg2NTA2NDcwOQphbHNvIGljaCB3YWVyZSBpbSBTaW5uZSBkZXIgQmVmcmVpdW5nIGFsbGVyIHVudGVyZHJ1ZWNrdGVuIE11ZGRlciBkYWZ1ZXIsIGRhc3MKamVkZXIga29tbXQgd2FubiBlciB3aWxsLgpLZWluZSBNYWNodCBmdWVyIE5pZW1hbmQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXJ0eXRlcm1pbiAoS2V5LCAzMS4gTWFpIDE5OTcsIDIyOjE4OjEzKToKfiMhIHJuPUFjcmltb24gcnQ9ODY1MDczMTA3IHJnPXBhcnR5Cn4jISB0aWQ9ODY1MDY0NzA5CkFyZ2wgQWNyaW1vbiBrb21tIQpJY2ggd2lsbCBEaWNoIGRvY2ggbWFsIFJsIG1pdCBtZWluZW4gU3BydWVjaGVuIG5lcnZlbiA7KSkKCktleQpQLlMuOiBOZXQgaXJub2lzY2ggOykpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHl0ZXJtaW4gKEJvaW5nLCAgMi4gSnVuIDE5OTcsIDExOjIyOjM4KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg2NTA2NDcwOSByZz1wYXJ0eQp+IyEgdGlkPTg2NTA2NDcwOQpXZW5uIGljaCBtaWNoIHJpY2h0aWcgZXJpbm5lcmUgaGF0IENhdCBtYWwgd2FzIHZvbiAyMy4tMjUuIEF1Z3VzdCAob2RlciBzbwp1bSBkZW4gRHJlaCBydW0pIGdlc2FndC4gS2FubiBhYmVyIGF1Y2ggZmFsc2NoIHNlaW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFydHl0ZXJtaW4gKEFuYWt5biwgIDIuIEp1biAxOTk3LCAxMToyNDozMyk6Cn4jISBybj1Cb2luZyBydD04NjUyNDMzNTggcmc9cGFydHkKfiMhIHRpZD04NjUwNjQ3MDkKSm8gd2FlcmUgb2ssIGFtIDIyLjggbXVzcyBpY2ggbWVpbmUgRGlwbG9tYXJiZWl0IGFiZ2ViZW4gOi0pCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXJ0eXRlcm1pbiAoUmFudGFucGxhbiwgIDIuIEp1biAxOTk3LCAxMzo1MDo1Mik6Cn4jISBybj1BbmFreW4gcnQ9ODY1MjQzNDczIHJnPXBhcnR5Cn4jISB0aWQ9ODY1MDY0NzA5CkljaCBiaW4gZnVlciBJcmdlbmR3YW5uIHp3aXNjaGVuIEp1bGkgdW5kIFNlcHRlbWJlciwgYWJlciBuaWNodCBhbgp1bmdlcmFkZW4gVGFnZW4sIHVuZCBudXIgeml3c2NoZW4gMTIuMDAgVWhyIE1pdHRhZ3MgdW5kIDAuMDAgVWhyIG5hY2h0cywgYWJlcgphdWNoIG51ciBiZWkgU29ubmVuc2NoZWluCnVuZCBuaWNodCBhbiBTY2hhbHRqYWhyZW4sIGFiZXIgbnVyIHVudGVyIGRlciBWb3JhdXNzZXR6dW5nLCBkYXMgZXMgZWluZQpSYXVjaGVyYWJ0ZWlsdW5nIGdpYnQsIHVuZCBiaXR0ZSBrZWluIEFsdGJpZXIuCkFuc29uc3RlbiBpc3QgbWlyIGRlciBUZXJtaW4gZWdhbCwgYWJlciBuaWNodCB6d2lzY2hlbiBkZSwgMzEuMTIuMTk5OSB1bmQgZGVtCjEuMS4yMDAwIGRhIHdvbGx0ZSBpY2gKU2lsdmVzdGVyIGZlaWVybi4KCmRhbmtlIGltIFZvcmF1cyBmdWVyIGRhcyBWZXJzdGFuZG5pcyAhCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHBhcnR5dGVybWluIChaYXJkb3osICAyLiBKdW4gMTk5NywgMTM6NTc6NDApOgp+IyEgcm49UmFudGFucGxhbiBydD04NjUyNTIyNTIgcmc9cGFydHkKfiMhIHRpZD04NjUwNjQ3MDkKQWxzbywgaWNoIGhhZXR0ZSBqYSB3aWVkZXIgTHVzdCBlaW5lIFdvY2hlIHp1IFplbHRlbi4gV2VyIGtlaW5lIEx1c3QgYXVmIGRpZQpNdWQtUGFydHkgaGF0LCBzb2xsIHNpY2ggYml0dGUgYmVpIG1pciBtZWxkZW4sIGRhbm4gd2lyZCBuZSBhbHRlcm5hdGl2ZQpaZWx0d29jaGUgb3JnYW5pc2llcnQuLi4KCgpDaWFvIFphcmRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcGFydHl0ZXJtaW4gKFJhbnRhbnBsYW4sICAyLiBKdW4gMTk5NywgMTQ6MDI6MzcpOgp+IyEgcm49WmFyZG96IHJ0PTg2NTI1MjY2MCByZz1wYXJ0eQp+IyEgdGlkPTg2NTA2NDcwOQpJY2gga2VubiBkYSBuZW4gbmV0dGVuIFplbHRwbGF0eiBpbiBCZXJsaW4uLi47LSkKCldlbSBkYXMgbmljaHRzIHNhZ3QsIEJlcmxpbiBsaWVndCBzbyB1bmdlZmFlaHIgYmVpIEthZ2VsIDstKSkpCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHBhcnR5dGVybWluIChHcmltbWJvcm4sICAyLiBKdW4gMTk5NywgMTQ6MDY6MDMpOgp+IyEgcm49UmFudGFucGxhbiBydD04NjUyNTI5NTcgcmc9cGFydHkKfiMhIHRpZD04NjUwNjQ3MDkKS2FnZWw/IERhcyB3YXIgZG9jaCBiZWkgUnVlZGVyc2RvcmYsIHdvIGRpZSBzbyBlaW4gbmV0dGVzIEtyYW5rZW5oYXVzIGhhYmVuLAptaXQgZWluZXIgdW5oZWltbGljaCBzeW1wYXRoaXNjaGVuIENoaXJ1cmdpbiBpbiBkZXIgTm90YXVmbmFobWUsIG9kZXI/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgaGF0IGRhIHNvIEVyaW5uZXJ1bmdlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcGFydHl0ZXJtaW4gKEVzY3ViYXIsICAyLiBKdW4gMTk5NywgMTU6NDk6MjYpOgp+IyEgcm49QW5ha3luIHJ0PTg2NTI0MzQ3MyByZz1wYXJ0eQp+IyEgdGlkPTg2NTA2NDcwOQoKRGFubiB3YWVyZSBkYXMgZXJzdGUgRmFzcyBqYSBzY2hvbiBnZXNpY2hlcnQgKmdyaW5zKgoKRWlzYmFlciBFc2N1YmFyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGFydHl0ZXJtaW4gKEFuYWt5biwgIDIuIEp1biAxOTk3LCAxNTo1Mjo1Mik6Cn4jISBybj1Fc2N1YmFyIHJ0PTg2NTI1OTM2NiByZz1wYXJ0eQp+IyEgdGlkPTg2NTA2NDcwOQpOZW5lbmUgc28gbmljaHQgOikgSWNoIGJyYXVjaCBkYW5uIGhvZWNoc3RlbnMgc2VsYmVyCm5lbiBGYXNzIEJpZXIgbmFjaCBkZW0gU3RyZXNzLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVycGFydHkgMTk5NyAoQ2F0d2VhemxlLCAgNC4gSnVuIDE5OTcsIDExOjI2OjM2KToKSGlobyEKClNvIGljaCBoYWJlIGpldHp0IGVpbmVuIGRlciB3aWNodGlnc3RlbiBQdW5rdGUgZ2VrbGFlcnQsIGFsc28ga29lbm5lbiB3aXIgCmRlZmluaXRpdiBsb3NsZWdlbi4KCkRpZSBTb21tZXJwYXJ0eSAxOTk3IGZpbmRldCBkaWVzZXMgSmFociB3aWVkZXIgaW4gTXVlbnN0ZXIgc3RhdHQuIApEZXIgdGVybWluLCBkZXIgdWVicmlnZW5zIHNlaXQgYmVyZWl0cyAxMiBNb25hdGVuIGZlc3RzdGVodCwgZGEgd2lyIGRhbWFscwpkZW4gKHNlaHIgYmVnZWhydGVuIFBhcnR5cmF1bSkgcmVzZXJ2aWVydCBoYWJlbiwgaXN0IGRlciAyMy4gQXVndXN0LgpEYXMgUGFydHkgV29jaGVuZW5kZSBsYWV1ZnQgYWxzbyB2b20gMjIuOC4tMjQuOC4xOTk3IQoKV2lyIGhhYmVuIGxlaWRlciBpbiBNdWVuc3RlciBuaWNodCBkaWUgTW9lZ2xpY2hrZWl0IGVpbmUgZ2FuemUgV29jaGUgenUKZmVpZXJuLCBhbHNvIHdpcmQgZXMga2VpbiBDYW1wIGdlYmVuIDooCgpEaWUgUGxhbnVuZyBzaW5kIHN0YW5kbWFlc3NpZyBmb2xnZW5kZXJtYXNzZW4gYXVzOgoKRnJlaXRhZzogCkFuZmFocnQsIGVyc3RlcyBUcmVmZmVuLCBuYWNoIE1vZWdsaWNoa2VpdCBLbmVpcGUsIGFiZXIgZWhlciB1bndhaHJzY2hlaW5saWNoLgpMaWViZXIgd2FlcmUgbWlyIGlyZ2VuZHdpZS93byB3aWVkZXIgYW0gQWFzZWUsIGRhcyB3YXIgZ2FueiBjb29sIHZvciAyIEphaHJlbi4KSXN0IGFiZXIgbm9jaCB6dSBiZXNwcmVjaGVuLi4uCgpTYW1zdGFnOgpNZWhyZXJlIE9wdGlvbnM6CldpciB3b2xsZW4gYXVmIGplZGVuIEZhbGwgZWluZSBrbGVpbmUoZ3Jvc3NlKSBSTC1RdWVzdGUgc3RhcnRlbiwgamVkZXIgZGVyIAptaXRtYWNoZW4gd2lsbCBpc3QgaGVyemxpY2ggd2lsbGtvbW1lbi4KQXVzc2VyZGVtIHdlcmRlbiB3aXIgd2llZGVyIHZvbSBWZXJlaW4gYXVzIGVpbiBMUEMtU2VtaW5hciB2ZXJhbnN0YWx0ZW4uCkRpZXNlcyB3aXJkIFNhbXN0YWcgbmFjaG1pdHRhZ3Mgc3RhdHRmaW5kZW4uCkFiZW5kcyBnaWJ0cyBkYW5uIGRpZSBncm9zc2UgUGFydHkuIERpZXNlIGZpbmRldCBldHdhcyBhdXNzZXJoYWxiIE11ZW5zdGVycwpoaW50ZXIgS2luZGVyaGF1cyBzdGF0dCwgYXVmIGVpbmVtIEJhdWVybmhvZiBtaXQgZWluZW0gZW5vcm0gcHJha3Rpc2NoZW4KbWVocmV0YWdpZ2VuIFNwZWljaGVyLgoKU29ubnRhZzoKU29ubnRhZyBnaWJ0IGVzICh3YWhyc2NoZWlubGljaCkgc3BhZXRlcyBhdWZ3YWNoZW4gdW5kIE1pdHRhZ3MgZGVuIHVlYmxpY2hlbgpHYW5nIHp1bSBDaGluZXNlbi4KClp1ciBVZWJlcm5hY2h0dW5nOgpJY2ggd2VyZGUgdmVyc3VjaGVuIGVpbmUgVHVybmhhbGxlIGluIEtpbmRlcmhhdXMgenUgYmVrb21tZW4sIGljaCBiaW4gbWlyIGFiZXIKbmljaHQgc2ljaGVyLCBvYiBkYXMgc2lubnZvbGwgaXN0LCBkYSBkZXIgQmF1ZXJuaG9mIGRhbm4gZG9jaCBldHdhcyB3ZWl0ZXIgCmF1c3NlcmhhbGIgaXN0LiBEYXMgc2luZCBtaW5kZXN0ZW5zIDMtNGttJ3MuCldpciB3ZXJkZW4gYWJlciBhbGxlciB3YWhyc2NoZWlubGljaGtlaXQgbmFjaCAoaGFiIGljaCBnZXN0ZXJuIGFiZ2VzcHJvY2hlbikKZGlyZWt0IGFuIGRpZXNlbSBiYXVlcm5ob2YgZWluZSBNb2VnbGljaGtlaXQgenVtIFplbHRlbiBiZWtvbW1lbi4gSWNoIHdlcmRlCmFiZXIgdHJvdHpkZW0gZGllIEhhbGxlIHdlZ2VuIGRlciBzYW5pdGFlcmVuIEFubGFnZW4gYmVzb3JnZW4gbXVlc3Nlbi4gCihOZWluLCB3ZW5uIGlociBtYWwgc3RydWxsZXJuIG11ZXNzdCwgYnJhdWNodCBpaHIga2VpbmUgNCBLaWxvbWV0ZXIgenUgbGF1ZmVuLApEQVMgZ2VodCBhdWNoIGRpcmVrdCB2b3IgT3J0IDotKQoKWnVyIEFuZmFocnQ6CkljaCB3ZXJkZSBkZW1uYWVjaHN0IGVpbmUgV2VnZWJlc2NocmVpYnVuZyBpbiBkZXIgdWVibGljaGVuIFF1YWxpdGFldCA6KSB2ZXItCm9lZmZlbnRsaWNoZW4sIGF1Y2ggZnVlciBkZW4gQmF1ZXJuaG9mLiAKClBhcnR5YnJldHRlciBnaWJ0cyBpbiBLdWVyemUsIGJpdHRlIG1lbGRldCBFdWNoIGRhcmF1ZiBhbiwgd2VubiBpaHIga29tbWVuCndvbGx0LCBkYW1pdCBpY2ggbW9lZ2xpY2hzdCBmcnVlaHplaXRpZyBhYnNjaGFldHplbiBrYW5uLCB3aWV2aWVsZSAKa29tbWVuIHdlcmRlbi4gCgpEaWUgS29zdGVuIHdlcmRlbiBzaWNoLCBkYSB3aXIgbm9jaCBHZWxkIHZvbiBkZXIgV2ludGVycGFydHkgaGFiZW4sIGF1ZiAKMjBETSBiZWxhdWZlbi4gRGFzIGlzdCBkZXIgUHJlaXMgZnVlciBkaWUgVm9ycmF1c2thc3NlISEgV2VyIG5pY2h0IHJlY2h0LQp6ZWl0aWcgZGFzIGdlbGQgdWViZXJ3ZWlzdCwgbXVzcyBhbiBkZXIgJ0FiZW5ka2Fzc2UnIDMwRE0gbGF0emVuLiBEaWVzIApWb3JnZWhlbiBpc3Qgbm90d2VuZGlnLCBkYW1pdCB3aXIgaW0gVm9yZmVsZCBiZXJlaXRzIHVlYmVyIGdlbnVnIEdlbGQgdmVyLQpmdWVnZW4uCkRhcyBQYXJ0eWdlbGRrb250byBoYXQgZm9sZ2VuZGUgRGF0ZW46CgpOYW1lOiBDaHJpc3RpYW4gU2NoaWxkCkJhbms6IFN0YWR0c3Bhcmthc3NlIE11ZW5zdGVyCkJMWjogIDQwMDUwMTUwCkt0TnI6IDE4MDA2NjY1NgoKQml0dGUgdWViZXJ3ZWlzdCBtb2VnbGljaHN0IGZydWVoemVpdGlnLgoKRGFzIHdhZXJzIGZ1ZXJzIGVyc3RlIChnbGF1YiBpY2gpLgpXZW5uIG1pciAob2RlciBFdWNoKSBub2NoIHdhcyBlaW5mYWVsbHQsIGdpYnRzIGVpbiB1cGRhdGUuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5dm9yYmVyZWl0dW5nIChDYXR3ZWF6bGUsICA0LiBKdW4gMTk5NywgMTE6Mjk6MjApOgpIaSEKCldlciBMdXN0IHVuZCBaZWl0IGhhdCBzaWNoIGFuIGRlciBWb3JiZWl0ZXJlaXR1bmcgZnVlciBkaWUgU29tbWVycGFydHkKenUgYmV0ZWlsaWdlbiwgaXN0IGhlcnpsaWNoIGRhenUgZWluZ2VsYWRlbi4gRGllIGVyc3RlIGRhaGluZ2VoZW5kZSAKQmVzcHJlY2h1bmcgbGVnZSBpY2ggamV0enQgbWFsIGF1ZiBkZW4gU3RhbW10aXNjaCBhbSBuYWVjaHN0ZW4gRGllbnN0YWcKZmVzdC4KRGVyIFN0YW1tdGlzY2ggZmluZGV0IGplZGUgV29jaGUgaW0gVHJpYnVuYWwgYW4gZGVyIEtyZXV6a2lyY2hlIHN0YXR0LgpXZXIgbmljaHQgd2Vpc3MsIHdpZSBtYW4gZGEgaGlua29tbXQsIG1vZWdlIHNpY2ggYW4gbWljaCBvZGVyIFJvY2h1cyAKd2VuZGVuLiBaZWl0cHVua3QgaXN0IDIwOjAwIFVoci4KCllvdXJzIHRydWx5LCAKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5LVQtU2hpcnQgKENhdHdlYXpsZSwgIDQuIEp1biAxOTk3LCAxMTozMjowNSk6CkhpIQoKSWNoIG1vZWNodGUgYXVjaCBkaWVzZXMgSmFociB3aWVkZXIgZWluIFBhcnR5LVQtU2hpcnQgbWFjaGVuLiAKSWNoIHN1Y2hlIGRhZnVlciBub2NoIE1vdGl2ZSwgd2VyIGFsc28gZWluZSBJZGVlIGZ1ZXIgZWluIApNb3RpdiBoYXQsIG9kZXIgc29nYXIgZWluIHBhc3NlbmRlcyBCaWxkLCBtb2VnZSBtaXIgZGllIEluZm8gb2RlciBkYXMgQmlsZCAKc2NoaWNrZW4sIHVuZCB6d2FyIGFuOiBzY2hpbGRAbWF0aC51bmktbXVlbnN0ZXIuZGUuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAxOTk3IChLZXksICA0LiBKdW4gMTk5NywgMTI6NTk6MjMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2NTQxNjM5NiByZz1wYXJ0eQp+IyEgdGlkPTg2NTQxNjM5NgpIbW0gUmwtUXVlc3Q/CkljaCBoYWIgZGEgc28gZWluZSBJZGVlIC4uIDspPQoqZ3JpbnMgUmljaHR1bmcgRXJsYW5nZW4qCgpLZXkKCj0+IHNjaG1hcnJuIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5LVQtU2hpcnQgKEhlZmUsICA0LiBKdW4gMTk5NywgMTg6Mjc6NDUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2NTQxNjcyNSByZz1wYXJ0eQp+IyEgdGlkPTg2NTQxNjcyNQpQcmltYSAhISBBYmVyIC13ZW5uIG1vZWdsaWNoLSBiaXR0ZSBlaW4gd2FzY2hmZXN0ZXJlciBBdWZkcnVjayBhbHMgbGV0enRlcwpKYWhyICEKCk1pdCBXZWl6ZW5ncnVzcywgICBIZWZlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiZXJsaW5lciB6dXIgcGFydHkgKEJpcmR5LCAgNC4gSnVuIDE5OTcsIDIwOjA3OjMwKToKT0suIEFsc28gbWVpbiBhbGxlcmVyc3RlciBBcnRpa2VsIGluIGRlciBNUEEgdWViZXJoYXVwdC4gOikKSWNoIHdlcmRlIGhldXRlIGJlaSB1bnNlcmVtIG1vbmF0bGljaGVuIFN0YW1tdGlzY2ggbm9jaG1hbCBhbGxlIGFuIGRpZSBQYXJ0eQplcmlubmVybiB1bmQgZnJhZ2VuLCB3ZXIgYWxsZXMga29tbWVuIHdpbGwuCk5hZWhlcmVzIGluIGRlbiBuYWVjaHN0ZW4gVGFnZW4uCkFiZXIgd2FocnNjaGVpbmxpY2ggYnJhdWNoZW4gYWxsZWluIHdpciBCZXJsaW5lciBlaW5lIGdhbnplIEhhbGxlIGZ1ZXIgdW5zIC4KOykKCk1pdCBzb3ppYWxpc3Rpc2NoZW0gR3J1c3MgISEgCk5hc3Ryb3dqZSAhIEJpcmR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IDE5OTcgKEVzY3ViYXIsICA1LiBKdW4gMTk5NywgMDA6NDI6MzIpOgp+IyEgcm49S2V5IHJ0PTg2NTQyMTk2MyByZz1wYXJ0eQp+IyEgdGlkPTg2NTQxNjM5NgpFaW4gZ3V0ZXIgVGlwIENhdCo6CgpGdWVyIEtleSBtdXNzdGUgYXVmIGFsbGUgRmFlbGxlIG5lbiBLb21wYXNzLCBlaW5lbiBVbWdlYnVuZ3NwbGFuLCBlaW4KTmFtZW5zc2NoaWxkIHVuZCBlaW4gSGFuZHkgYmVzb3JnZW4sIHNvbnN0IGdlaHQgZXIgRGlyIHp3aXNjaGVuIGRlbSBCYXVlcm5ob2YKdW5kIGRlciBUdXJuaGFsbGUgdmVybG9yZW4gOykKCk9id29obHMgaW4gTXVlbnN0ZXIgYmVzdGltbXQgbmljaHQgZGFzIGd1dGUgZnJhZW5raXNjaGUgQmllciBnaWJ0IC4uLgoKRWlzYmFlciBFc2N1YmFyLCBkZXIgc2ljaCBkaWVzbWFsIHZvbiBLZXkgc3VjaGVuIGxhZXNzdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5LVQtU2hpcnQgKEJsb29keWhhcnJ5LCAgNS4gSnVuIDE5OTcsIDAxOjMzOjE3KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NjU0MTY3MjUgcmc9cGFydHkKfiMhIHRpZD04NjU0MTY3MjUKSWNoIGhhZXR0ZSBkYSBzY2hvbiBlaW4gc3VwZXIgSW1hZ2UuIEVzIGlzdCBudXIgZXR3YXMgc2VociBkZXRhaWxyZWljaC4KSWNoIGhhdHRlIGRpZSBwYWFyIEJ5dGUgZnVlciBkYXMgU29tbWVyY2FtcC1Uc2hpcnQgc2Nob24gbWFsIGlucyBtZyBnZXN0ZWxsdCAtCm11c3MgYWJlciBpcmdlbmR3aWUgd2llZGVyIGFiaGFuZGVuIGdla29tbWVuIHNlaW4uCkRhcmdlc3RlbGx0IHdpcmQgZWluZSBrYW1wZnJlaWNoZSBFbnRlcnVuZyBlaW5lcyBIYW5kZWxzc2NoaWZmZXMgZHVyY2ggZWluClBpcmF0ZW5zY2hpZmYuIFNlaHIgZWluZHJ1Y2tzdm9sbC4KV2VsY2hlcyBGb3JtYXQgc29sbCBkYXMgSW1hZ2UgaGFiZW4/CgpjaWFvCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAxOTk3IChNYXJjdXMsICA1LiBKdW4gMTk5NywgMTA6MjE6MDIpOgp+IyEgcm49RXNjdWJhciBydD04NjU0NjQxNTIgcmc9cGFydHkKfiMhIHRpZD04NjU0MTYzOTYKTmVpbiwgZnVlciBLZXkgcmVpY2h0IGVpbiBJbXBsYW50aWVydGVyIFBlaWxzZW5kZXIsIDIwMGttIFJhbmdlIDspCgpNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHktVC1TaGlydCAoQ2F0d2VhemxlLCAgNS4gSnVuIDE5OTcsIDE1OjIxOjMzKToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg2NTQ2NzE5NyByZz1wYXJ0eQp+IyEgdGlkPTg2NTQxNjcyNQpGb3JtYXRlIHNpbmQgcmVsYXRpdiBlZ2FsLCBhbSBiZXN0ZW4gbmljaHQgZ2VyYWRlIGJtcCBvZGVyIHRpZmYsIGFiZXIKa2xlaW5lciBtYWNoZW4ga2FubiBtYW4gamEgaW1tZXIgbm9jaC4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgMTk5NyAoS2V5LCAgNS4gSnVuIDE5OTcsIDE3OjI4OjQzKToKfiMhIHJuPU1hcmN1cyBydD04NjU0OTg4NjIgcmc9cGFydHkKfiMhIHRpZD04NjU0MTYzOTYKRWlzYmFlciBpY2ggYnJhdWNoIGFiZXIgbm9jaCBlaW5lbiBaZXRlZWwgd28gZHJhdWZzdGVodCB3byBpY2ggYmluICwpKQpOYWphIHVuZCBuZW4gWnVnZmFocnBsYW4sIHZpZWxsb2VpY2h0IGxhdWZlIGljaCBkYW5uIG5ldCB6dW0gQmFobmhvZiAuKSkKCktleSwgaW1tZXIgZ3V0IGFscyBRdWVzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlcmxpbmVyIFN0YW1tdGlzY2gtRWluIFRhZyBkYW5hY2ggKEJpcmR5LCAgNS4gSnVuIDE5OTcsIDE3OjQ0OjU0KToKICAgICAgICAgICAgICAgICAgICAgSElITyAhIDopCgpBbHNvIGdlc3Rlcm4gd2FyIGRlciBCZXJsaW5lciBTdGFtbXRpc2NoLGxlaWRlciBrb25udGVuIG5pY2h0IGFsbGUga29tbWVuLGFiZXIKaW1tZXJoaW4gd2FyZW4gd2lyIGRvY2ggMTIgTWFlbmlrZW4gZ2V3b3JkZW4uIDopCkF1ZiBtZWluZSAsbWFsIHp3aXNjaGVuZHVyY2ggZ2VzdGVsbHRlLCBGcmFnZSwgd2VyIGRlbm4gbnVuIGFsbGVzIHp1cgpTb21tZXJwYXJ0eSBrb21tZSwgd3VyZGUgZXMgc3BvbnRhbiBzdGlsbCB1bmQgbnVyIEphbmljZSBnYWIgbWlyIGVpbiBrbGFyZXMKSkEuCkRpZSBhbmRlcmVuIHd1c3N0ZW4gYW5zY2hlaW5lbmQgbm9jaCBuaWNodCBzbyByZWNodCxhYmVyIGplZGVuZmFsbHMga2FubiBqZXR6dAprZWluZXIgbWVociBzYWdlbiAodm9uIGRlbmVuLGRpZSBkYSB3YXJlbiksIGRhc3MgZXIvc2llIHZvbiBuaXggZ2V3dXNzdApoZWF0dGUuIDopCkFjaCBqYSxpY2gga29tbSBuYXR1ZXJsaWNoIGF1Y2gsIHdlbm4gbWlyIHNwb250YW4gbmljaHRzIGRhendpc2NoZW4ga29tbXQuIDspCgpOYXN0cm93amUgISAgQmlyZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAxOTk3IChLbGluZ2UsIDEzLiBKdW4gMTk5NywgMTQ6MzU6MzQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2NTQxNjM5NiByZz1wYXJ0eQp+IyEgdGlkPTg2NTQxNjM5NgpEYXJmIG1hbiBkYW5uIGF1ZiBkZW0gQmF1ZXJuaG9mIGF1Y2ggd2llIHNvbnN0IGltIE1HIHVlYmxpY2ggZGllIFRpZXJlIHRvZXRlbgo/ClVuZCBpc3Qgc2ljaGVyZ2VzdGVsbHQgZGFzIGZ1ZXIgYWxsZSBnZW51ZyBUaWVyZSB6dW0gdG9ldGVuIHZvcmhhbmRlbiBzaW5kCm9kZXIgZGFzIG9mdCBnZW51ZyByZWZyZXNoZWQgd2lyZCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IDE5OTcgKEdyaW1tYm9ybiwgMTMuIEp1biAxOTk3LCAxNDozODowNik6Cn4jISBybj1LbGluZ2UgcnQ9ODY2MjA1MzM0IHJnPXBhcnR5Cn4jISB0aWQ9ODY1NDE2Mzk2CktsYXIuIEFiZXIgbnVyLCB3ZW5uIGRpZSBNYWdpZXIgZGFubiBhdWNoIHphcHBlbiBkdWVyZmVuLiBEaWUgU3BpZWxlciBhbHNvLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAxOTk3IChLbGluZ2UsIDEzLiBKdW4gMTk5NywgMTQ6NDI6MjUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjIwNTQ4NiByZz1wYXJ0eQp+IyEgdGlkPTg2NTQxNjM5NgpEQVMgR0VIVCBJTiBPUkROVU5HLCBEQSBCSU4gSUNIIEFVQ0ggRlVFUiA6LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSAxOTk3IChBc21vZGlzLCAxMy4gSnVuIDE5OTcsIDIzOjA0OjU2KToKfiMhIHJuPUtsaW5nZSBydD04NjYyMDUzMzQgcmc9cGFydHkKfiMhIHRpZD04NjU0MTYzOTYKTm9lLCB6dW0ga2lsbGVuIHNpbmQgZGllIE9ya3MgZGEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgMTk5NyAoQmxvb2R5aGFycnksIDEzLiBKdW4gMTk5NywgMjM6MzQ6MjMpOgp+IyEgcm49S2xpbmdlIHJ0PTg2NjIwNTMzNCByZz1wYXJ0eQp+IyEgdGlkPTg2NTQxNjM5NgpEYXJmIGljaCBEZWluZSBlaWdlbmUsIHNwZXppZWxsZSBUb2Rlc3NlcXVlbnogYmVpZnVlZ2VuLCB3ZW5uIGRpZSBUaWVyZSBTaWVnZXIKc2VpbiB3ZXJkZW4/IDspCgpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ3JpbGxlbj8gKFhlcmEsIDEzLiBKdW4gMTk5NywgMjM6NDk6MTkpOgpkYXMgZ3JpbGxlbiB2b3IgMiBqYWhyZW4gd2FyIHN1cGVyZ2VuaWFsLi4uIGFiZXIgZGFzIGlzdCBiZXN0aW1tdCBzY2hvbiB3aWVkZXIKZWluZ2VwbGFudCwgb2Rlcj8gOikKeGVyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGdyaWxsZW4/IChXb29keSwgMTQuIEp1biAxOTk3LCAwMjozNzoxMCk6Cn4jISBybj1YZXJhIHJ0PTg2NjIzODU1OSByZz1wYXJ0eQp+IyEgdGlkPTg2NjIzODU1OQpXZW5uIGRhcyBhbSBGcmVpdGFnIGluIE11ZW5zdGVyIGFtIEFhc2VlICh3aWUgYXVjaCBpbW1lciBtYW4gZGVuCmpldHp0IGF1c3p1c3ByZWNoZW4gYmVsaWVidDopKSBnZW1laW50IGlzLCBkYSBzY2hsaWVzcyBpY2ggbWljaAp2b2xsaW5oYWx0bGljaCBhbiwgZGFzIFdBUiBnZW5pYWwhISA6KQoKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBncmlsbGVuPyAoQ2F0d2VhemxlLCAxNi4gSnVuIDE5OTcsIDE0OjM1OjM2KToKfiMhIHJuPVdvb2R5IHJ0PTg2NjI0ODYzMCByZz1wYXJ0eQp+IyEgdGlkPTg2NjIzODU1OQpJbiBFcm1hbmdlbHVuZyB2b24gQWx0ZXJuYXRpdmVuIHdpcmRzIGRhcyB3YWhyc2NoZWlubGljaCBhdWNoIHdpZWRlciBnZWJlbi4KQXVzd2VpY2htb2VnbGljaGtlaXQgaXN0IGRpZSBhbmRlcmUgU2VpdGUgdm9uIE11ZW5zdGVyLiBLYW5hbCBzdGF0dCBBYXNlZS4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBncmlsbGVuPyAoRW5neXd1Y2ssIDE2LiBKdW4gMTk5NywgMTQ6MzY6NDkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2NjQ2NDUzNiByZz1wYXJ0eQp+IyEgdGlkPTg2NjIzODU1OQpHaWJ0cyBkZW4gS1VlIG5vY2g/IERhIGlzIGRvY2ggZ2FueiBuZXR0LiBXYXJzIHp1bWluZGVzdCB2b3IgMyBKYWhyZW4uLi4KCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo+S29udG8gKExhcmlzc2EsIDE3LiBKdW4gMTk5NywgMTg6MjY6MjkpOgoKS2FubnNlIHZpZWxsZWljaHQgYXVjaG5vY2htYWwgRGVpbiBLb250byBhbmdlYmVuPwoKTGFyaSwgdmVyZ2Vzc2xpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiA+S29udG8gKEJvaW5nLCAxOC4gSnVuIDE5OTcsIDEwOjAwOjM4KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODY2NTY0Nzg5IHJnPXBhcnR5Cn4jISB0aWQ9ODY2NTY0Nzg5CktvbnRvbnVtbWVyIHN0ZWh0IGFtIFBhcnR5YnJldHQsIGRhIGljaCBtb21lbnRhbiBrZWluIGN1dCZwYXN0ZSBoYWJlCm11c3MgZGllc2VyIFZlcndlaXMgd29obCBlcnN0IG1hbCByZWljaGVuLgpUc2NodWVzcywKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiA+S29udG8gKEJsb29keWhhcnJ5LCAxOS4gSnVuIDE5OTcsIDAxOjMxOjA0KToKfiMhIHJuPUJvaW5nIHJ0PTg2NjYyMDgzOCByZz1wYXJ0eQp+IyEgdGlkPTg2NjU2NDc4OQpiaCBiZWRhdWVydCBib2luZyBtaXQgc2VpbmVtIHdpbi4gOikKCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgZnVlciBhbGxlIChPcmt0b2V0ZXIsIDI2LiBKdW4gMTk5NywgMTc6MTM6MTEpOgp+IyEgcm49TWV0YSBydD04NjczMzc4MTggcmc9cGFydHkKfiMhIHRpZD04NjczMzc4MTgKQWxzbywgaWNoIGthbm4gZGljaCBkYSBudXIgdW50ZXJzdHVldHplbiwgaWNoIG1hZyBlcyBuYWVtbGljaCBhdWNoIGdhciBuaWNodApnZXJuZSwgaW1tZXIgbWl0cmF1Y2hlbiB6dSBtdWVzc2VuLgpBYmVyIGJlaSBkZXIgU29tbWVyZmV0ZSwgd2VubiBzaWUgc28gd2llIGRpZSBsZXR6ZSBNdWVuc3RlcmFuZXIgc29tbWVyZmV0ZQphYmxhZXVmdCwgc2VoZSBpY2ggZGEgYXVjaCB3ZW5pZ2UgUHJvYmxlbWUgYXVmIGRpY2ggenUga29tbWVuLgpPcmtULCBOaWNodHJhdWNoZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgZnVlciBhbGxlIChNZXRhLCAyNi4gSnVuIDE5OTcsIDE3OjE4OjU2KToKQXVjaCBpY2ggbW9lY2h0ZSBnZXJuZSB6dXIgUGFydHkgaW4gTXVlbnN0ZXIga29tbWVuLgpXZWlsIGljaCB2b24gUGFzc2l2cmF1Y2hlbiBrcmFuayB3ZXJkZSB1bmQgbWlyIGRhcyBnZXN1bmRoZWl0bGljaCBuaWNodAplcmxhdWJlbiBrYW5ubiwga2FubiBpY2ggbnVyIGtvbW1lbiB1bmQgYXVjaCBibGVpYmVuLCB3ZW5uIG5pY2h0IGdlcmF1Y2h0CndpcmQuCkRlc3dlZ2VuIGhhYmUgaWNoIGF1Y2ggc2Nob24gYXVmIGRpZSBhbmRlcmVuIFBhcnR5cyB2ZXJ6aWNodGVuIG11ZXNzZW4gdW5kCm5hamEgaWNoIGthbm4gaGFsdCBhdWYga2VpbmUgUGFydHkgZ2VoZW4sIHdvIGdlcmF1Y2h0IHdpcmQuCkljaCBmYWVuZGUgZXMgdG9sbCwgd2VubiBkaWVzZSBNdWRwYXJ0eSBmdWVyIGFsbGUgTXVkZXIgb2ZmZW4gc3R1ZW5kZSwgYXVjaApmdWVyIGRpZWplbmlnZSwgZGllIFouIEIgUHJvYmxlbWUgbWl0IEx1bmdlIHVuZCBCcm9uY2hpZW4gaGFiZW4uCgpJY2ggaGFiZSBkYXMgdm9yIGRyZWkgV29jaGVuIHNjaG9uIG1hbCBhdWYgZGVuIGthbmFlbGVuIGFuZ2VzcHJvY2hlbiB1bmQgZG9ydAp3dXJkZSBlcyB2b24gZGVuIFJhdWNoZXJuLCBkaWUgZXMKaG9lcnRlbiBlaWdlbnRsaWNoIGdhbnogcG9zaXRpdiBhdWZnZW5vbW1lbi4KRGFydW0gc3RlbGxlIGljaCBtZWluIEFubGllZ2VuIGhpZXIgbm9jaCBtYWwgZnVlciBhbGxlIHp1ciBEaXNrdXNzaW9uLgoKTWVpbmUgTHVuZ2UgaXN0IGJsb2VkZXJ3ZWlzZSBzbyBlbXBmaW5kbGljaCwgZGFzcyBpY2ggbm9jaCBuaWNodCBlaW5tYWwgaW4gZGVuCkJpZXJnYXJ0ZW4gZ2VoZW4ga2FubiwgZXMgc2VpIGRlbm4gZXMgd2VodCBlaW5pZ2VybWFzc2VuIFdpbmQgLCBkZXIgbmljaHQKd2lyYmVsdCB1bmQgaWNoIHNpdHplIGRpcmVrdCBpbSBXaW5kICxzb2Rhc3MgZGVyIFJhdWNoIG5pY2h0IHp1IG1pciBoaW53ZWh0LgpEaC4gYXVjaCBpY2ggd2VyZGUgS29tcHJvbWlzc2UgZWluZ2VoZW4gbXVlc3NlbiB1bmQgbWljaCBpbSBGcmVpZW4gaW1tZXIKZG9ydGhpbiBiZXdlZ2VuIG11ZXNzZW4gLHdvIGRlciBXaW5kIGZ1ZXIgbWljaCBndWVuc3RpZyBzdGVodC4KIAoKVmllbGxlaWNodCBzb2xsdGUgZXMgZWluZSBBYnN0aW1tdW5nIGdlYmVuIHVlYmVyIFJhdWNoZW4gb2RlciBOaWNodHJhdWNoZW4gPwpJY2ggd3VlcmRlIG1pY2ggcmllc2lnIGZyZXVlbiAsIHdlbm4gaWNoIGFuIGRlciBnYW56ZW4gTXVkcGFydHkgdGVpbG5laG1lbgprb2VubnRlIHVuZCBuaWNodCBnZWhlbiBtdWVzc3RlLHdlbm4gZXMgdmllbGxlaWNodCBlcnN0IGFtIHNjaG9lbnN0ZW4gd2lyZC4KOi0pCiAKSmV0enQgd2FydGUgaWNoIGRhcmF1ZiwgZGFzcyBlaW4gU3Rlcm4gdm9tIEhpbW1lbCBmYWVsbHQuLi4uLi4KbWl0IGJlc3RlbiBHcnVlc3NlbiBNZXRhIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlzZW1pbmFyZS4uLiAoSGF0ZSwgIDIuIEp1bCAxOTk3LCAyMTozNToyNCk6CkhpLAoKU2lsdmFuYSBlcnphZWhsdGUsIGRhc3Mgc2llIGVpbiBTZW1pbmFyIG1hY2h0IHVuZCBpY2ggbW9lY2h0ZSBkYSBuaWNodApuYWNoc3RlaGVuLCBhYmVyIGF1ZiBhbmRlcmUgQXJ0LiBNaXIgc2Nod2VidCBkYSBldHdhcyBpbiBlaW5lciBBcnQgRnJhZ2UKc3R1bmRlIHZvci4gRGFtaXQgaWNoIG1pY2ggZWluIHdlbmlnIGRhcmF1ZiB2b3JiZXJlaXRlbiBrYW5uIGJpdHRlIGljaCBFdWNoClRoZW1lbiwgZGllIGlociBnZXJuZSBiZXNwcmVjaGVuIHdvbGx0IGFuIG1pY2ggenUgbWFpbGVuLgoKSWRlZW4gaGllcnp1IHNpbmQgdS5hLiAKCiAgLSBmdWVyIGRpZSBrcmFua2VuIG1hZ2llciBMUEMgZnJhZ2VuCiAgLSB3ZW4gZGFzIG5pY2h0IGludGVyZXNzaWVydCwgZXZ0bCBha3R1ZWxsZSBUaGVtZW4gaW0gTVVECiAgLSBFTSBQb2xpdGlrCiAgLSBHZXNjaGljaHRlLCBFbnR3aWNrbHVuZywgWnVrdW5mdAoKRGVua3QgRXVjaCB3YXMgYXVzLiBEYSBpY2ggaW5zYmVzb25kZXJlIGRlbiBSYXQgbWVpbmVyIEtvbGxlZ2VuIGJlaQprb25rcmV0ZW4gVGhlbWVuIGJyYXVjaGUgKFB1bmt0ZSwgR2lsZGVuLCBLb256ZXB0ZSkgbW9lY2h0ZSBpY2ggZGFzIGhhbHQKZ2VybiB2b3JoZXIgd2lzc2VuLQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eXNlbWluYXJlLi4uIChQYXRyeW4sICAyLiBKdWwgMTk5NywgMjI6MDE6MzUpOgp+IyEgcm49SGF0ZSBydD04Njc4NzIxMjQgcmc9cGFydHkKfiMhIHRpZD04Njc4NzIxMjQKYWxzbyBpY2ggaGFiIHNvIG5lIGZyYWdlLWFudHdvcnQtc3R1bmRlIGF1Y2ggbWVocmVyZW4gbGV1dGVuIHZvcmdlc2NobGFnZW4KZ2VoYWJ0LCBvZGVyIGJlc3NlciBnZXNhZ3QsIHNpZSB3YXJlbiBhbiBtaWNoIGhlcmFuZ2V0cmV0ZW4uCmVzIHdhciBlaWdlbnRsaWNoIGFsbGVzIGtsYXIsIGFiZXIgYXVmIHNvIG5lciBwYXJ0eSB2ZXJsYWV1ZnQgc2ljaCBzb3dhcwpzY2huZWxsOiBsYW5nZSByZWRlIGt1cnplciBzaW5uLCBpY2ggZ2xhdWIgbmljaCBkYXNzIGRhIHdhcyBkcmF1cyB3aXJkLApvYndvaGwgaWNoIGVzIG5pY2h0IHNjaGxlY2h0IGZpbmRlLiBuZSBwYXJ0eSBpc3QgaGFsdCBuZSBwYXJ0eSB1bmQgbmVuCnNlbWluYXIgaXN0IG5lbiBzZW1pbmFyLiBlcyBpc3QgaGFsdCB6dSBrdXJ6IHVtIHNvd2FzIG5vY2ggbWl0IGVpbnp1c2NoaWViZW4KCi0tLS0tLQpwYXRyeW4sIGhvZmZ0IG5hdHVlcmxpY2ggdHJvdHpkZW0sIGRhc3Mgd2FzIGRyYXVzIHdpcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlzZW1pbmFyZS4uLiAoSGF0ZSwgIDIuIEp1bCAxOTk3LCAyMjowNTowMCk6Cn4jISBybj1QYXRyeW4gcnQ9ODY3ODczNjk1IHJnPXBhcnR5Cn4jISB0aWQ9ODY3ODcyMTI0ClNvbGwgbWlyIGF1Y2ggcmVjaHQgc2Vpbi4gV28gaWNoIGRhcyBtYWNoZSBpc3QgbWlyIHByaW56aXBpZWxsIGF1Y2ggZWdhbCwKaWNoIHdpbGwgbnVyIG5pY2h0IGplZGVtIGFsbGVzIHdpZGVyaG9sZW4gbXVlc3NlbiA6LSkKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eXNlbWluYXJlLi4uIChDb25hbGwsICAzLiBKdWwgMTk5NywgMDE6MzY6MDIpOgp+IyEgcm49SGF0ZSBydD04Njc4NzM5MDAgcmc9cGFydHkKfiMhIHRpZD04Njc4NzIxMjQKTW9pbiwKCm1laW4gRXJzdGllIHRlaWx0IG1pciBtaXQsIGVyIGRlbmt0IGRhcyBlaW5lIFBBcnR5IGR1cmNoYXVzIGF1Y2ggYWxzCkdlc3ByYWVjaHNmb3J1bSBkaWVuZW4ga2Fubi4gRXIgYmVncnVlc3N0IGF1c2RydWVja2xpY2ggZGllIEluaXRpYXRpdmVuIHZvbgpTaWx2YW5hIHVuZCBIYXRlLiBOdXIgUGFydHkgd2FlciBkb2NoIGVpbiBiaXNjaGVuIGZsYWNoIFBhdHJ5biBvZGVyIChLZWluCkFuZ3JpZmYgYXVmIERpY2ggZ2V3b2xsdCkuCkkuQS4KQ29uYWxsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eXNlbWluYXJlLi4uIChQYXRyeW4sICAzLiBKdWwgMTk5NywgMDI6MDk6MjEpOgp+IyEgcm49Q29uYWxsIHJ0PTg2Nzg4NjU2MiByZz1wYXJ0eQp+IyEgdGlkPTg2Nzg3MjEyNAprZWluZSBhaG51bmcsIHdpZSBkZWluZSBwYXJ0aWVzIHNvIGF1c3NlaGVuLCBhYmVyIHNlbWluYXJlIGhhbHRlbiB3aXIgZGEKYWV1c3NlcnN0IHNlbHRlbiBhYiA6KQp3aWUgZ2VzYWd0LCBpY2ggc3ByZWNoZSBhdXMgZXJmYWhydW5nLCB3ZW5uIGVzIGtsYXBwdCwgd2FlciBlcyB0b2xsLAphYmVyIGxldHp0ZW5zIGdpbmcgZGFzIHZvbGwgaW4gZGllIGhvc2UsIG9id29obCB3aXIgZXMgdW5zIGZlc3QKdm9yZ2Vub21tZW4gaGF0dGVuLgoKd2llIGhhdGUgc2Nob24gc2NocmllYiwgZGllamVuaWdlbiwgZGllIGlkZWVuIGhhYmVuLCB3YXMgZGEgenVyIHNwcmFjaGUKa29tbWVuIHNvbGwsIHNjaHJlaWJlbiBlcyBlaW5mYWNoIG1hbCBpbiBkaWUgemVpdHVuZy4gc28ga29lbm50ZSBub2NoCmFtIGVoZXN0ZW4gd2FzIHp1c3RhbmRlIGtvbW1lbiwgZGVuayBpY2ggbWFsLgoKaW0gaW50ZXJlc3NhbnRlc3RlbiBmdWVyIGRpZSBtZWlzdGVuIGhpZXIgd2FlciB6dW0gYmVpc3BpZWwgbmUKdW1mYXNzZW5kZSB6dXNhbW1lbmZhc3N1bmcgYWxsZXIga29uemVwdGlvbmVsbGVuIGFlbmRlcnVuZ2VuIGFuIGRlcgptdWRsaWIvc3BpZWxkZXNpZ24gZGVyIGxldHp0ZW4gemVpdCB1bmQgd2FzIG5vY2ggZ2VwbGFudCBpc3QuCmRhIGJlc3RlaHQgZW5vcm1lciBuYWNoaG9sZWJlZGFyZiBiZWkgdmllbGVuIGxldXRlbiBoaWVyLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHlzZW1pbmFyZS4uLiAoU2lsdmFuYSwgIDMuIEp1bCAxOTk3LCAwODo1NDoxNSk6Cn4jISBybj1QYXRyeW4gcnQ9ODY3ODg4NTYxIHJnPXBhcnR5Cn4jISB0aWQ9ODY3ODcyMTI0CkRhcyBTZW1pbmFyIGlzdCBhbHMgVmVyYW5zdGFsdHVuZyBmdWVyIFNhbXN0YWcgbmFjaG1pdHRhZ3MgZ2VwbGFudCwgYWxzbwpuaWNodCB6dXIgSGF1cHQtRmV0ZW56ZWl0LiBJY2ggZGVua2UgZXMgbWl0IGRlcnplaXQgc28sIGRhc3MgenVuYWVjaHN0CjMgVm9ydHJhZWdlIHp1IHZlcnNjaGllZGVuZW4gVGhlbWVuIGRlciBNdWQtUHJvZ3JhbW1pZXJ1bmcgZ2VoYWx0ZW4Kd2VyZGVuLiBFaW5lbiBkYXZvbiB3ZXJkZSBpY2ggd29obCBzZWxic3QgaGFsdGVuLCBuYWVtbGljaCAnYmVsaWVidGUKQW5mYWVuZ2VyZmVobGVyJy4gRnVlciBkaWUgYW5kZXJlbiBiZWlkZW4gc3VjaGUgaWNoIG5vY2ggVm9yc2NobGFlZ2UuCk1vZWdsaWNoc3QgbmljaHQgYWxsenUgc3BlemlhbGlzaWVydGUgVGhlbWVuLgpBbnNjaGxpZXNzZW5kIG1vZWNodGUgaWNoIEhhdGUgenUgZWluZXIgRnJhZ2VzdHVuZGUgYml0dGVuLCBhbiBkZXIgCm1vZWdsaWNoc3QgYXVjaCBkaWUgYW5kZXJlbSBFTXMgdGVpbG5laG1lbiBzb2xsdGVuLgpVbmQgenVtIEFic2NobHVzcyBtb2VjaHRlIGljaCBkaWUgaW50ZXJlc3NpZXJ0ZW4gU3BpZWxlciBiaXR0ZW4sIG5vY2gKZXR3YXMgenUgZWluZXIgRGlza3Vzc2lvbiB1ZWJlciBkaWUgTXVkZW50d2lja2x1bmcgdW5kIEtvbnplcHRpZGVlbgp6dSBibGVpYmVuLiBVbSB3YXMgZXMgZGEgZ2VuYXUgZ2VoZW4gc29sbCwgd2VyZGUgaWNoIG5vY2ggYW5rdWVuZGlnZW4sCmRhIG1vbWVudGFuIG5vY2ggemllbWxpY2ggd2lsZCBJZGVlbiBnZXNhbW1lbHQgd2VyZGVuLiAKSGllcm1pdCBzaW5kIGFsc28gYXVjaCBhbGxlIFNwaWVsZXIgYXVmZ2VydWZlbiwgc2ljaCB6dSB1ZWJlcmxlZ2VuLCB1ZWJlcgp3ZWxjaGUgVGhlbWVuIHNpZSBnZXJuZSBtYWwgbWl0IHVucyBkaXNrdXRpZXJlbiBtb2VjaHRlbiB1bmQgbWlyIGRpZXNlCklkZWVuIHBlciBtYWlsIHp1IHNjaGlja2VuLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eXNlbWluYXJlLi4uIChBbmFraW4sICAzLiBKdWwgMTk5NywgMDk6MDc6MjIpOgp+IyEgcm49U2lsdmFuYSBydD04Njc5MTI4NTUgcmc9cGFydHkKfiMhIHRpZD04Njc4NzIxMjQKQWxzbyBTZW1pbmFyZSB1bmQgRnJhZ2UtRGlza3Vzc2lvbnJ1bmRlIGdlaHQgc2VociBndXQgYmVpCm5lciBQYXJ0eS4KCkFuYWtpbi4gRXJpbm5lcnQgc2ljaCBhbiBNdWVuc3RlcnNlbWluYXJlIHVuZCBhdWNoIGFuIERpc2t1c3Npb25lbgppbiBCaWVsZWZlbGQsIHdvIGRhbm4gc293YXMgd2llIGRpZSBGUCByYXVza2FtZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgZnVlciBhbGxlIChIYXRlLCAgMy4gSnVsIDE5OTcsIDE1OjI3OjM5KToKfiMhIHJuPU1ldGEgcnQ9ODY3MzM4MzM2IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CkhpLAoKbGVpZGVyIGthbm4gaWNoIGRlbSBXdW5zY2ggdm9uIE1ldGEgbmljaHQgbmFjaGtvbW1lbiB1bmQgZGllIGdhbnplIERpc2t1c3Npb24Kd2llZGVyIGhpZXJoZXJzY2hhZmZlbiwgYWJlciBlcyB3YWVyZSBuZXR0LCB3ZW5uIGhpZXJ6dSBlaW5lIHNhY2hsaWNoZSAKRGlza3Vzc2lvbiBzdGF0dGZpbmRlbiBrb2VubnRlLiBFcyB3dXJkZW4gcG9zaXRpdmUgdW5kIG5lZ2F0aXZlIE1laW51bmdlbgp6dW0gVGhlbWEgSW5uZW5yYWV1bWUgcmF1Y2hmcmVpIGFiZ2VnZWJlbi4gWnVzYW1tZW5nZWZhc3N0IHdhcmVuIG9mdCBkaWUKTWVpbnVuZ2VuIGRlciBSYXVjaGVyIGF1Y2ggcG9zaXRpdiBkZW0gZ2VnZW51ZWJlciB3ZW5uIG5pY2h0IGRhcyBncm9zc2UKVHJhcmEgZGFydW0gZ2VtYWNodCB3dWVyZGUuIERpZXMgaXN0IGF1Y2ggbWVpbmUgTWVpbnVuZyEgU293YXMgc29sbHRlCnNlbGJzdHZlcnN0YWVuZGxpY2ggc2VpbiB1bmQgZXMgaGF0IHNpY2hlciBuaWNodCBudXIgTWV0YSBQcm9ibGVtZSBtaXQKdmVycXVhbG10ZW4gUmFldW1lbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZSAoQWxib2luLCAgMy4gSnVsIDE5OTcsIDE4OjIwOjQzKToKVGphIGJlaSBNZXRhcyBQcm9ibGVtIGZhZWxsdCBtaXIgYXVjaCBub2NoIG1laW4gZWlnZW5lcyBlaW4uIEFsc28gbGV0enRlcyBKYWhyCmluIEJlcmxpbiB3YXIgZGllIFN6ZW5lcmllIG5pY2h0IGdlcmFkZSBzZWhyIGJlbGV1Y2h0ZXQsIHdhcyB6dXIgRm9sZ2UgaGF0dGUKZGFzcyBpY2ggYWxzIFNjaHdlcmhvZXJpZ2VyIGRpZSBMZXV0ZSBleHRyZW0gc2NobGVjaHQgdmVyc3RhbmQsIGRhIGljaCBhdWNoCnZvbiBkZW4gTGlwcGVuIGFic2VoZW4gbXVzcy4gRGFoZXIgbWVpbmUgRnJhZ2U6IFNpbmQgZGllIFBhcnR5cmFldW1lCmVpbmdlcm1hc3NlbiBndXQgYXVzZ2VsZXVjaHRldD8gRGVubiBpY2ggYmluIG5pY2ggc28gc2NoaXpvIGdlbnVnLCBtaWNoIG1pdAptaXIgc2VsYmVyIHp1IHVudGVyaGFsdGVuLgoKQWxib2luIC0gbGUgcGV0aXQgcHJpbmNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5IGZ1ZXIgYWxsZSAoV3VyemVsLCAgMy4gSnVsIDE5OTcsIDIwOjI3OjI5KToKfiMhIHJuPUhhdGUgcnQ9ODY3OTM2NDU5IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CmljaCBkYWNodGUgZGFzIHdhZXIgYWJnZWhhbmRlbHQuIGljaCByYXVjaGUgc2VsYnN0IG5pY2h0IGdlcmFkZSB3ZW5pZywgdW5kCmVzIG1hY2h0IG1pciBuaXggYXVzIGRhZnVlciBuYWNoIGRyYXVzc2VuIHp1IGdlaGVuLiBsZXV0ZSwgZXMgaXN0IHNvbW1lciEKYWxzbyBzdGVsbHQgZXVjaCBuaWNodCBzbyBhbi4KCnd1cnplbAoKcC5zLiB3ZW5uIGljaCBzbyBhbiBkaWUgbGV0enRlbiB0YWdlIGRlbmtlLCBhbHMgZXMgbWl0IGRlbSBzb21tZXIgYXVjaCBuaWNodAogICAgIHNvIHdlaXQgaGVyIHdhci4uLiBnaWJ0cyBlaWdlbnRsaWNoIGVpbmUgdW50ZXJzdGVsbG1vZWdsaWNoa2VpdD8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5IGZ1ZXIgYWxsZSAoWWFudHJvLCAgNC4gSnVsIDE5OTcsIDA4OjQ1OjQ0KToKfiMhIHJuPVd1cnplbCBydD04Njc5NTQ0NDkgcmc9cGFydHkKfiMhIHRpZD04NjczMzgzMzYKCkJlaSBSZWdlbiBkdWVyZmVuIFJhdWNoZXIgYXVjaCBhdWYgZGVtIEtsbyByYXVjaGVuLCB3ZW5uIGRhZnVlciBkaWUKTmljaHRyYXVjaGVyIGRlbiBSYXVjaGVybiBpbiBkaWUgU2NobGFmc2FlY2tlIHBpbmtlbG4gZHVlcmZlbiA6KQoKWWFudHJvIGdvZXMgc2NobWFycm4uLi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eSBmdWVyIGFsbGUgKEtleSwgIDQuIEp1bCAxOTk3LCAxNToyOToxNSk6Cn4jISBybj1ZYW50cm8gcnQ9ODY3OTk4NzQ0IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CkljaCByYXVjaCBpbSBTY2hsYWZzYWNrIDspPQoKSG1tIHdvenUgZWlnZW50bGljaCBTY2hsYWZzYWNrPyBXZXIgd2lsbCBkZW5uIHNjaG9uIHdpZWRlciBzY2hsYWZlbj8gOik9CgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5IGZ1ZXIgYWxsZSAoU29jcmF0ZSwgIDQuIEp1bCAxOTk3LCAxNTo1NDoyNCk6Cn4jISBybj1LZXkgcnQ9ODY4MDIyOTU1IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CkhpIQogICBJY2ggd2Vpc3MgZ2FyIG5pY2h0IHdhcyBlcyBkYSB6dSBkaXNrdXRpZXJlbiBnaWJ0LiBSZWdlbG4gd2VyZGVuIG5hY2ggZGVuCnNjaHdhZWNoc3RlbiBiencuIE9wZmVybiwgaGllciBOaWNodHJhdWNoZXIsIGF1c2dlcmljaHRldCB1bmQgbmljaHQgdW1nZWtlaHJ0LgpXZW5uIGVzIGF1Y2ggbnVyIGVpbiBlaW56aWdlci9laW5lIGVpbnppZ2UgZ2FlYmUsZGllIHNpY2ggdm9tIFJhdWNoIGJlbGFlc3RpZ3QKZnVlaGx0LCB3aXJkIFJhdWNodmVyYm9ydCBlcnRlaWx0LiBFbmRlIGRlciBEdXJjaHNhZ2UuClNvY3JhdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlcmxpbjogRmFocnQgbmFjaCBNdWVuc3RlciAoSGF0ZSwgIDQuIEp1bCAxOTk3LCAxNjozNToyMCk6CkhhbGxvIGlociBCZXJsaW5lciwKCmJpdHRlIG1lbGRldCBFdWNoLCB3ZW5uIGlociBtaXQgdW5zIG1pdCBkZW0gQnVzIG1pdGZhaHJlbiB3b2xsdCwgZGFtaXQKaWNoIGVpbmVuIG9kZXIgZXZ0bC4gendlaSBCdXNzZSBtaWV0ZW4ga2FubiEgV2VyIGFsc28gbWl0d2lsbCwgc29sbHRlIHNpY2gKbWl0IGVpbmVyIE1haWwgYW4gZm9sZ2VuZGUgQWRyZXNzZSBtZWxkZW46IGxlb0BtdWQuZGUKCkljaCBicmF1Y2ggdm9yIGFsbGVtIGRpZSBpbmZvcyB3aWUgdmllbGUgZGFzIHNpbmQgdW5kIHdlcmRlIGRpZSBkYW5uIGF1ZgpkZXIgQmVybGluZXIgTWFpbGluZ2xpc3RlIGVpbnRyYWdlbiwgZGFtaXQgd2VpdGVyZSBJbmZvcyBhbmtvbW1lbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eSBmdWVyIGFsbGUgKENhdHdlYXpsZSwgIDQuIEp1bCAxOTk3LCAxNjo0MDoyOCk6Cn4jISBybj1Tb2NyYXRlIHJ0PTg2ODAyNDQ2NCByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgpIaSEKCk9rIGFsbGVzIGtsYXIsIFNvY3JhdGUgc29yZ3QgYWxzbyBkYWZ1ZXIsIGRhcyBuaWNodCBnZXJhdWNodCB3aXJkLgpCaW4gbWFsIGdlc3Bhbm50IHdpZSBlciBkYXMgbWFjaGVuIHdpbGwgOikKCkRhIGljaCB6aWVtbGljaCBzaWNoZXIgYmluIGRhcyBpcmdlbmR3ZXIgYXVjaCBnZWdlbiBtYXNzaXZzdGVuIHNvemlhbGVuCkRydWNrIHNlaW5lciBMdXN0IGZyb2VobmVuIHdpcmQgZ2lsdCBmdWVyIGRpZSBQYXJ0eSBmb2xnZW5kZSBSZWdlbDoKCiAgICAgICAgICAgICAgICAgIEdlcmF1Y2h0IHdpcmQgbnVyIGRyYXVzc2VuISEKCkxhZXNzdCBzaWNoIGF1Y2ggcmVsYXRpdiBlaW5mYWNoIHJlZ2VsbiwgYW0gRnJlaXRhZyBpc3RzIGVoIGRyYXVzc2VuCmFtIEFhc2VlLCB3byB3aXIgcmljaHRpZyBzY2hvZW4gbmFzcyB3ZXJkZW4gYmVpIHNjaGxlY2h0ZW0gV2V0dGVyLApBbSBTYW1zdGFnIGlzdCBkaWUgUGFydHkgaW4gZWluZW0gVG9yYm9nZW5zcGVpY2hlciBtaXQgbWVocmVyZW4gRXRhZ2VuLApkYSB3aXJkIGhhbHQgbnVyIGltIFRvcmJvZ2VuIGdlcmF1Y2h0LCB2b3J6dWdzd2Vpc2Ugc28gd2VpdCB3aWUgbW9lZ2xpY2ggCnZvbSBFaW5nYW5nIGVudGZlcm50LiAKCklzdCBkYXMgc28gYWt0emVwdGFiZWwgKHZvciBhbGxlbSBmdWVyIGRpZSBSYXVjaGVyKT8KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHkgZnVlciBhbGxlIChXdXJ6ZWwsICA0LiBKdWwgMTk5NywgMTk6NDU6MTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2ODAyNzIyOCByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgprZWluIHByb2JsZW0sIGplZGVuZmFsbHMgZnVlciBtaWNoIDopCnp1IHNvY3JhdGU6IHZlcmJvdGUgbWFjaGVuIG51ciBkYW5uIHNpbm4sIHdlbm4gbWFuIHNpZSBhdWNoIGR1cmNoc2V0emVuIGthbm4uCndlbm4gZHUgZGFtaXQgZWluIHByb2JsZW0gaGFzdCwga2FubnN0IGR1IGRpY2ggamEgc2Nob24gbWFsIHdhcm1ib3hlbiA6KQoKd3VyemVsCgpwLnMuIGRhcyBtaXQgZGVuIHNjaGxhZnNhZWNrZW4gaXN0IG1pciB3dXJzY2h0LCBpY2ggcGVubiBlaCBpbSBob3RlbCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHkgZnVlciBhbGxlIChHdW5kdXIsICA0LiBKdWwgMTk5NywgMjA6MDU6MTEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2ODAyNzIyOCByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgpBbHNvIGljaCBmaW5kIGRhc3MgYWt6ZXB0YWJlbCBkcmF1c3NlbiB6dSByYXVjaGVuLi5rZWluIFByb2JsZW0uLgpBYmVyIHp1IGRlciBCZWxhZXN0aWd1bmcgd29sbHQgaWNoIG5vY2h3YXMgc2FnZW4uLi4KTWlyIGlzdCBlaW4gUmF1Y2hlciBpbW1lcm5vY2ggbGllYmVyIGFscyBlaW4gdm9sbGdlc29mZmVuZXIgZGVyIG1pY2ggbWl0IGVpbmVtCmFiYXJ0aWdlbiBHZXJ1Y2ggYW5oYXVjaCB1bmQgbWlyIGlyZ2VuZGVpbiBHZXN1ZWx6IGlucyBHZXNpY2h0IGhhdWNodCBkYXNzCm1pY2ggYWJzb2x1dCBOdWxsIGludGVyZXNzaWVydC4KQm9haCB3YXMgZWluIFNhdHohIDotKQpEYXJ1ZWJlciBzb2xsdGVuIHNpY2ggYXVjaCBtYWwgZWluIHBhYXIgTGV1dGUgR2VkYW5rZW4gbWFjaGVuIGZpbmQgaWNoLi4uCktvdHplIHN0aW5rdCBuYWVtbGljaCBtaGVyIGFscyBSYXVjaCA6LSkpCgpHcnVzcwpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNhbXBpbmcgKFNjaG9rbywgIDUuIEp1bCAxOTk3LCAwMjoxNDowOSk6CkhpIQoKQWxzbyBpY2ggZmFuZCBkYXMgZGFtYWxzIGluIEJlcmxpbiB6aWVtbGljaCBuZXR0LCBkYXNzIHNpY2ggZG9ydCB2b3JoZXIgc2Nob24KZWluaWdlIExldXRlIGdldHJvZmZlbiB1bmQgc2Nob24gZWluIHBhYXIgVGFnZSB6dXNhbW1lbiB2ZXJicmFjaHQgaGFiZW4uCktvZW5udGUgbWFuIHNvd2FzIGluIE11ZW5zdGVyIG5pY2h0IGF1Y2ggbWFjaGVuPyBBbHNvIGljaCBoYWV0dGUgYXVmIGplZGVuCkZhbGwgTHVzdCwgc2Nob24gZWluIHBhYXIgVGFnZSBmcnVlaGVyIHp1IGtvbW1lbiB1bmQgZG9ydCBzY2hvbiB6dSB6ZWx0ZW4uCkxpZXNzZSBzaWNoIGRhcyB2b24gZGVuIEdlZ2ViZW5oZWl0ZW4gZG9ydCBvcmdhbmlzaWVyZW4/CgpjdSBTY2hva28gKGRlciBob2ZmdCwgZGFzcyBub2NoIGVpbiBwYWFyIGFuZHJlIExldXRlIEx1c3QgYXVmIFBhcnR5IGhhYmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHkgZnVlciBhbGxlIChXdXJ6ZWwsICA1LiBKdWwgMTk5NywgMTQ6MjQ6NDIpOgp+IyEgcm49R3VuZHVyIHJ0PTg2ODAzOTUxMSByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgphdSBqYSwgd2llIHdhZXIgZXMgbWl0IG5lbSBhbGxnZW1laW5lbiBhbGt2ZXJib3Q/IHNvY3JhdGUga2FubiBkYXMgZGFubiBqYQprb250cm9sbGllcmVuIDopCgotPiBzY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHkgZnVlciBhbGxlIChLZXksICA2LiBKdWwgMTk5NywgMTM6Mzc6NTgpOgp+IyEgcm49V3VyemVsIHJ0PTg2ODEwNTQ4MiByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgpQUk9TVCEKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHkgZnVlciBhbGxlIChLb2JheWFzaGksICA3LiBKdWwgMTk5NywgMDg6NTI6MjQpOgp+IyEgcm49R3VuZHVyIHJ0PTg2ODAzOTUxMSByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgpXZXIgc2ljaCBiZXNhZXVmdCwgZGFyZiBudXIgZHJhdXNzZW4gYXRtZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXJ0eSBmdWVyIGFsbGUgKEdyaW1tYm9ybiwgIDcuIEp1bCAxOTk3LCAxNjozNToxNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODY4MDI3MjI4IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CkFsc28sIFNvY3JhdGUgaXN0IHVtIGRpZSAybSBncm9zcyB1bmQgaGF0IHp1bWluZGVzdCBicmVpdGVyZSBTY2h1bHRlcm4gYWxzCmljaC4KV2VubiBpY2ggZGEgbWl0IGVpbmVtIEdsaW1tc3RlbmdlbCBydW1zdGVoZSB1bmQgc28gamVtYW5kIHdlaXNzdCBtaWNoIGF1ZiBkYXMKUmF1Y2h2ZXJib3QgaGluLCBkYSB1ZWJlcmxlZ2UgaWNoIG1pciBlaW5lIHVuZ2V6b2dlbmUgQW50d29ydCBzaWNoZXIKendlaW1hbC4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCB1bmQgTmljaHRyYXVjaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQYXJ0eSBmdWVyIGFsbGUgKEhhcmRpbCwgIDcuIEp1bCAxOTk3LCAxNzoxNzozNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY4Mjg2MTE2IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CgpBY2ggd2FzLCBHcmltbWJvcm4uCk1pdCBEZWluZW0gdWViZXJsZWdlbmVuIENoYXJtZSBoYWJlbiBkb2NoIHNlbGJzdCAybS1SZWNrZW4ga2VpbmVybGVpIENoYW5jZQpnZWdlbiBEaWNoLiA6LSkKCi1IYXJkaWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyYXVjaGVuLi4uIChLZW1wLCAgNy4gSnVsIDE5OTcsIDE4OjIwOjU0KToKS2VpbmUgYmVzY2h3ZXJkZW4gbWVoci4uLi4gPz8gT2RlciBoYWJlIGljaCB3YXMgbmljaHQgbWl0YmVrb21tZW4gPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHkgZnVlciBhbGxlIChHYXN0MiwgIDcuIEp1bCAxOTk3LCAyMTo0NTozMSk6Cn4jISBybj1IYXJkaWwgcnQ9ODY4Mjg4NjU0IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2ClNvbGNoZW4gTGV1dGVuIHNjaGlja2VuIHdpciBkYW5uIE1haGF0bXUsIFN1bmZsb3dlciBvZGVyIGlBTiBhdWYgZGVuCkhhbHMuIEltIE5vdGZhbGwgc29nYXIgUGFtcGVycy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5IGZ1ZXIgYWxsZSAoUm9uZGEsICA3LiBKdWwgMTk5NywgMjI6MTA6MTUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2ODAyNzIyOCByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgpXaWUgU29jcmF0ZSBkYWZ1ZXIgc29yZ2VuIHdpbGwsIGRhc3Mga2VpbmVyIHJhdWNodD8KR2FueiBlaW5mYWNoOiBXYXNzZXJwaXN0b2xlIDspCih1bmQgd2VubnMgZ2FueiBoYXJ0IGtvbW10LCBmdWVsbGVuIHdpciBkaWUgbWl0IFNjaG5hcHMgLSBkaWUgTmljaHRyYXVjaGVyCmZyZXVlbiBzaWNoLi4uIGF1c3NlciBzaWUgc2Fzc2VuIGdyYWRlIG5lYmVuIGVpbmVtIC0gZXZlbnR1ZWxsIGRhbmFjaCBldHdhcwpnbGltbWVuZGVuIC0gUmF1Y2hlciA7KSApCiAgICAgICAgICAgICAgUm9uZGEKKkhtbSwgbWFuIG1lcmt0IGthdW0sIGRhc3MgaWNoIG1pY2ggZ3JhZGUgdm9ybSBTdHVkaWVuYXJiZWl0LVNjaHJlaWJlbgpkcnVlY2tlPyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhcnR5IGZ1ZXIgYWxsZSAoUGFtcGVycywgIDguIEp1bCAxOTk3LCAwOToxNjoxOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY4Mjg2MTE2IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CkR1IGJpc3QgamEgYXVjaCBlaW4gV2ljaHQuIDotKQoKUGFtcGVycy4gS2VpbiBXaWNodC4gQWJlciB3aWNodElHLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhcnR5IGZ1ZXIgYWxsZSAoU29jcmF0ZSwgIDguIEp1bCAxOTk3LCAxNjo0Mzo0MCk6Cn4jISBybj1Sb25kYSBydD04NjgzMDYyMTUgcmc9cGFydHkKfiMhIHRpZD04NjczMzgzMzYKICAgQWxzbyB3ZW5uIGljaCBlaW5lbiBtaXRhIEtpcHBlIGVyd2lzY2hlIHVuZCBpY2ggZGFubiBzYWNoIEtpcHBlIGF1cywgdW5kCmRhbm4gZGVyIEtlcmwgbmljaHQgcGFyaWVydCwgZGFubiBnaWJiZXQgYWJhIHNvZm9ydCB3YXQgYXVmIGRpZSBHbG9ja2UsIGRhbm4KZ2liYmV0dCBzb2ZvcnQgZWluIGlubm5lIEZyZXNzZSwgYWJhIG1pdHRlIE1vcHBlZGtldHRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHkgZnVlciBhbGxlIChLZXksICA5LiBKdWwgMTk5NywgMTQ6MTU6MDgpOgp+IyEgcm49U29jcmF0ZSBydD04NjgzNzMwMjAgcmc9cGFydHkKfiMhIHRpZD04NjczMzgzMzYKKmxhY2gqCklociBzZWlkIGphIGVjaHQgcHV0emlnIDspCgpIYWJ0IGlociBhdWNoIGRpZXNlIGtvbWlzY2hlIE9taSBpbSBGZXJuc2VoZW4gZ2VzZWhlbiBkaWUgUmF1Y2hlciBtaXQgbmVtClNwcmF5IGFuc3BydWVodCBkYXMgbmFjaCBIdW5kZWtvdCBzdGlua3Q/CkFsc28gZGFzIHNvbGx0ZSBtYWwgd2VyIGJlaSBtaXIgcHJvYmllcmVuIDspCgpTbyB1bmQgamV0enQgYmxlaWJ0IGVudHdlZGVyIG1hbCBlcm5zdGhhZnQgYmVpbSBUaGVtYSwgZmFsbHMgZXMgbm9jaCBub2V0aWcKaXN0IChnbGF1YmUgYWJlciBlcyBpc3QgZ2VrbGFlcnQhKSBvZGVyIHBvc3RldCBlcyBuYWNoIG11ZWxsIQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFydHkgZnVlciBhbGxlIChHcmltbWJvcm4sICA5LiBKdWwgMTk5NywgMTQ6MjY6MDkpOgp+IyEgcm49S2V5IHJ0PTg2ODQ1MDUwOCByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgpXaWVzbyBiZWkgRGlyIHByb2JpZXJlbj8gRGFtaXQgRHUgZGFzIGR1bW1lIEdlc2ljaHQgc2llaHN0LCB3ZW5uIGRlciBTcHJheWVyCm1lcmt0LCBkYXNzIGRhcyBrZWluZW4gVW50ZXJzY2hpZWQgbWFjaHQ/IDstKQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGFydHkgZnVlciBhbGxlIChLZXksICA5LiBKdWwgMTk5NywgMTQ6NDY6NDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2ODQ1MTE2OSByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgoqbGFjaCoKClN0aW1tdCBnZW5hdSA7KSAKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHkgZnVlciBhbGxlIChUZWRkeSwgMTEuIEp1bCAxOTk3LCAxNToxNjo0NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY4Mjg2MTE2IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CldlciBoYXQgZGVubiBuaWNodCBicmVpdGVyZSBTY2h1bHRlcm4gYWxzIGR1Lgo7LSkKClRlZGR5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHkgZnVlciBhbGxlIChHcmltbWJvcm4sIDExLiBKdWwgMTk5NywgMTU6MTk6MDgpOgp+IyEgcm49VGVkZHkgcnQ9ODY4NjI3MDA0IHJnPXBhcnR5Cn4jISB0aWQ9ODY3MzM4MzM2CkltbWVyaGluIGVpbiBwYWFyIExldXRlLgpBYmVyIG5pY2h0IGVpbiBicmVpdGVyZXMgS3JldXogYWxzIGljaCwgZGFzIGhhdCBwcmFrdGlzY2ggbmllbWFuZC4gRWluIGJyZWl0ZXMKS3JldXogaXN0IGF1Y2ggZ2FyIG5pY2h0IG1laW5lIFNhY2hlLCBkZW5uIGljaCBiaW4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHkgZnVlciBhbGxlIChNZXRhLCAxMS4gSnVsIDE5OTcsIDE2OjAxOjE3KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NjgwMjcyMjggcmc9cGFydHkKfiMhIHRpZD04NjczMzgzMzYKSGkgIQpHZXJhdWNodCB3aXJkIG51ciBkcmF1c3NlbiB1bmQgIG1vZWdsaWNoc3Qgd2VpdCB2b20gRWluZ2FuZyBlbnRmZXJudCAKaXN0IHN1cGVyICEKRGEgZXMgYWJlciBhdWNoIGltIEZyZWllbiBmdWVyIG1pY2ggbmljaHQgdW5wcm9ibGVtYXRpc2NoIGlzdCwgbW9lY2h0ZSBpY2gKbm9jaG1hbCB2b3Jhc2NobGFnZW4gICggd2llIGF1Y2ggaW4gZGVyIGdlbG9lc2NodGVuIERpc2t1c3Npb24gZWluaWdlCnZvcmdlc2NobGFnZW4gaGFiZW4gKSAsIGRhc3MKaW0gRnJlaWVuLCB3ZW5uIGRlciBXaW5kIHouIEIuIHZvbiB3ZXN0ZW4ga29tbXQsbW9lZ2xpY2hzdCBpbSBvZXN0bGljaGVuIFRlaWwKZGVyIFdpZXNlIGdlcmF1Y2h0IHdpcmQgdW5kIG5pY2h0IGdlcmFkZSBhbSBXZXN0ZW5kZS4KCkljaCBtb2VjaHRlIGFsbGVuICwgZGllIHNpY2ggYmlzIGpldHp0IGFuIGRlciBEaXNrdXNzaW9uIGJldGVpbGlndCBoYWJlbiAsCnVuZCBiZXNvbmRlcnMgZGVuIFJhdWNoZXJuLCBkaWUgCmZhc3QgYWxsZSBzbyB2ZXJzdGFlbmRuaXN2b2xsIHNpbmQsIGRhbmtlbiB1bmQgZnJldWUgbWljaCBzY2hvbiBhdWYgZGllciBQYXJ0eQpmdWVyIGFsbGUsCmF1ZiBkZXIgZXMgaG9mZmVudGxpY2ggYXVjaCBoZWxsIGdlbnVnIGZ1ZXIgQWxib2luIHdpcmQuCk1ldGEgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQYXJ0eSBmdWVyIGFsbGUgKEtleSwgMTEuIEp1bCAxOTk3LCAxNjowNjowMyk6Cn4jISBybj1NZXRhIHJ0PTg2ODYyOTY3NyByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgpIbW0gTWV0YSAuLi4KYWxzbyBpY2ggaGFiIGFic29sdXQgbml4IGRhZ2VnZW4gZHJhdXNzZW4genUgcmF1Y2hlbiAuLi4KQWJlciBpY2ggcmVubiBnYXJhbnRpZXJ0IG5ldCB3aWUgbmVuIHdpbGRnZXdvcmRlbmVyIFN0aWVyIGR1cmNoIGRpZSBHZWdlbmQKd2VubiBkZXIgV2luZCBkcmVodCAuLi4KVW5kIHdhcyBpc3Qgd2VubiBXaW5kc3RpbGwgaXN0PwoKSWNoIHdlaXNzIGphIG5pY2h0IGdlbmF1IHdhcyBkdSBoYXN0LCBhYmVyIGRhcyBkdSBzbyBlbXBmaW5kbGljaCBnZWdlbnVlYmVyCnJhdWNoIGJpc3Q/CgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5IDE5OTcgKE1ldGEsIDExLiBKdWwgMTk5NywgMTY6MjY6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjIwNTQ4NiByZz1wYXJ0eQp+IyEgdGlkPTg2NTQxNjM5NgpIaSBLZXksIAppY2ggaG9mZmUsIGRhc3MgbWljaCBkZXIgV2luZGdvdHQgbmljaHQgaW0gU3RpY2ggbGFlc3N0IHVuZCBlcyBuaWNodCB3aW5kc3RpbGwKaXN0IHVuZCBub3JtYWxlcndlaXNlIGRyZWh0IHNpY2ggZGVyIHdpbmQgbmljaHQgZGF1ZXJuZC4KTGVpZGVyIGhhdCBSYXVjaCBkaWUgdHJhdXJpZ2UgZWlnZW5zY2hhZnQgYWxzIFNjaHdhZGVuIG1ldGVyd2VpdCBnZXdlaHQgenUKd2VyZGVuLCBiZXZvciAKZXIgaW4gZGllIGhvZWhlIHN0ZWlndC4gVW5kIG1laW5lIEx1bmdlIGhhdCBkaWUgYmxvZWRlIEVpZ2Vuc2NoYWZ0LCBkYXNzIGVzCmlociBlZ2FsIGlzdCAsb2Igc2llIFJhdWNoIGltIEZyZWllbiBvZGVyIHNvbnN0IHdvIGVpbmF0bWV0LgpPYiBlcyBhbSBTdHJhbmQgdm9uIEJhbHRydW0gb2RlciBCb3JrdW0gaXN0IG9kZXIgZWluZmFjaCBhbiBkZXIKQnVzaGFsdGVzdGVsbGUsIGljaCBtdXNzIG1pY2ggaW1tZXIgcGFzc2VuZCB6dXIKYnJlbm5lbmRlbiBaaWdhcmV0dGUgdW5kIHp1bSBXaW5kIHN0ZWxsZW4sc29uc3Qgd2VyZGVuIG1laW5lIEZsaW1tZXJoYWVhZXJjaGVuCmluIGRlciBMdW5nZSBnZWxhZWhtdCwgdW5kIGRpZSBzY2hsZWltaGF1dCBnZXJlaXp0IHVuZCBkYXMgZ2FuemUKZ2VuYXVzbyBpbiBWZXJzY2hsZWltdW5nIHVuZCBJbmZla3Rpb24gd2llIGltIEhhdXMuIEltIFJhdW0gaXN0IGVzIG5hdHVlcmxpY2gKc2NobGltbWVyLCB3ZWlsIGRhIGRpZSBSYXVjaCBrb256ZW50cmF0aW9uIGhvZWhlciBpc3QsCmRlbm4gZGVyIFJhdWNoIGJsZWlidCBpbiBkZW0gUmF1bS4KSWNoIGJpbiBqYSBhdWNoIGRhZnVlciwgZGFzcyBkcmF1c3NlbiBnZXJhdWNodCB3aXJkLkRhcyBpc3Qgc2Nob24gR29sZCB3ZXJ0LgpJY2ggcmVnZSBhYmVyIGFuIHZvcnp1Z3N3ZWlzZSBpbSBPc3RlbiB6dSByYXVjaGVuLCB3ZW5uIGRlciB3aW5kIHZvbSB3ZXN0ZW4Ka29tbXQKLCB1bSBtaXIgZWluIGF1c3dlaWNoZW4genUgZXJsZWljaHRlcm4sIGJ6dy4gZGFtaXQgaWNoIG5pY2h0IHN0YWVuZGlnIGRpZQpMZXV0ZSBtaXQgZGVubmVuIGljaCB2aWVsbGVpY2h0IHNjaG9uIGVpbmUgZ2FuemUgWmVpdCBpcmdlbmR3byBzaXR6ZSAsCnN0YWVuZGlmZyBhdWZzY2hldWNoZW4gbXVzcywgd2VpbCBzaWNoIGltIFdlc3RlbiBSYXVjaGVyIG5pZWRlcmxhc3Nlbi4KT2RlciBpY2ggbGVybmUgaGFsdCBhdWYgZGllIEFydCBnYW56IHZpZWxlIG5ldWUgTGV1dGUga2VubmVuLCBpbmRlbSBpY2ggbWlyCmRhbm4gaW1tZXIgbmUgbmV1ZSBHcnVwcGUsIGRpZSBndWVuc3RpZyBsaWVndCwgc3VjaGUgOi0pLgpNZXRhIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgMTk5NyAoTHVnLCAxMS4gSnVsIDE5OTcsIDIyOjMwOjE0KToKfiMhIHJuPU1ldGEgcnQ9ODY4NjMxMTg5IHJnPXBhcnR5Cn4jISB0aWQ9ODY1NDE2Mzk2Ck1vaW4sCgpudWphIE1ldGEsIHdpIGhlYmJ0IGpvIE5vcmR3ZXN0ZHJpZnQsIG5lZWNoPwoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb21tZXJwYXJ0eSAxOTk3IChHbm9tZSwgMTIuIEp1bCAxOTk3LCAxOTowMDo1NSk6Cn4jISBybj1MdWcgcnQ9ODY4NjUzMDE0IHJnPXBhcnR5Cn4jISB0aWQ9ODY1NDE2Mzk2CmFsc28gYW5uZSBrdWVzdCBoYWV0dGVuIHdpIG5lY2ggZGFzIHByb2JsZW0uLi4gZGEga29tbXQgZGVyIHdpbmQgaW1tYSB2b20KbWVlciA7LSkgbmFlY2hzdGUgbWctcGFydHkgPSBiZWFjaC1wYXJ0eSEgOi0pCmFiZXIgaW0gZXJuc3QsIG1ldGEsIHdpciBrcmllZ2VuIGRhcyBraW5kIHNjaG9uIGdlc2NoYXVrZWx0LCB3aXJkIGphIHdvaGwKa2VpbiBwcm9ibGVtIHNlaW4sIGVpbiBiaXNzZWwgcnVlY2tzaWNodCB6dSBuZWhtZW4gOi0pCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVycGFydHkgMTk5NyAoR3JpbW1ib3JuLCAxNC4gSnVsIDE5OTcsIDEwOjMwOjIwKToKfiMhIHJuPUx1ZyBydD04Njg2NTMwMTQgcmc9cGFydHkKfiMhIHRpZD04NjU0MTYzOTYKTWFuIG11c3MgYmVkZW5rZW4sIGRhc3MgTXVlbnN0ZXIgaW0gV2VzdGZhaGxlbmxhbmQgbGllZ3QuIFdvIGRhcyBMZWJlbiBzY2hvbgppbW1lciBldHdhcyBiZWRhZWNodGlnZXIgd2FyLi4uCk1hbiBrYW5uIGFsc28gZm9sZ2VuZGVzIHNhZ2VuOiBFdXJvcGEgZHJpZnRldCBpbiBvc3RsaWNoZSBSaWNodHVuZyAoc2llaGUKU2NodWxhdGxhcywgS2FwaXRlbCBLb250aW5lbnRhbGRyaWZ0KS4gV2VubiBhbnNvbnN0ZW4ga2VpbmUgZGllc2UgQmV3ZWd1bmcKdWViZXJsYWdlcm5kZSBIZWt0aWsgZmVzdHp1c3RlbGxlbiBpc3QsIGlzdCBkYXMgZGllIGFsbGVzIGJlc3RpbW1lbmRlIEJld2VndW5nCihkaWUgc2NobmVsbHN0ZSBvZGVyIGhla3Rpc2Noc3RlIEJld2VndW5nIGdld2lubnQpLiBXaXIgc29sbHRlbiBhbHNvIGRhdm9uCmF1c2dlaGVuIGtvZW5uZW4sIGRhc3MgaW4gTXVlbnN0ZXIgZWluIHN0ZXRpZ2VyLCBsZWljaHRlciBPc3R3aW5kIHdlaHQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvbW1lcnBhcnR5IDE5OTcgKEdhc3QyLCAxNC4gSnVsIDE5OTcsIDExOjIyOjQ3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04Njg4NjkwMjAgcmc9cGFydHkKfiMhIHRpZD04NjU0MTYzOTYKV2VzdGZhbGVuIHNjaHJlaWJ0IG1hbiBvaG5lIGggOikKCkFuc29uc3Rlbiwgd2VyIHN0ZWxsdCBlaW4gU2NoaWxkIGF1ZiB3byBzdGVodCB3byBvc3RlbiBpc3Q/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21tZXJwYXJ0eSAxOTk3IChHcmltbWJvcm4sIDE0LiBKdWwgMTk5NywgMTE6Mzc6NDIpOgp+IyEgcm49R2FzdDIgcnQ9ODY4ODcyMTY3IHJnPXBhcnR5Cn4jISB0aWQ9ODY1NDE2Mzk2CkFsc28sIGljaCBtdWVzc3RlIGxhbmdlIHN1Y2hlbiwgYmlzIGljaCB3YXMgZmluZGUsIGRhcyBtaWNoIHdlbmlnZXIKaW50ZXJlc3NpZXJ0LCBhbHMgZGllIFNjaHJlaWJ3ZWlzZSB2b24gV2VzdGZhKGgpbGVuLiBHdXQsIG1vZWdsaWNoZXJ3ZXNlIGlzdApkaWUgTGFuZHNjaGFmdCBhbHMgc29sY2hlcyBub2NoIHVuaW50ZXJlc3NhbnRlci4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21tZXJwYXJ0eSAxOTk3IChQYW1wZXJzLCAxNC4gSnVsIDE5OTcsIDEzOjI5OjQxKToKfiMhIHJuPURpZWRlciBydD04Njg4Nzk0OTYgcmc9cGFydHkKfiMhIHRpZD04NjU0MTYzOTYKRGVyIFdlc3R3aW5kIGhlaXNzdCBXZXN0d2luZCwgd2VpbCBlciBhdXMgZGVtIFdlc3RlbiBrb21tdCwgbmljaCB1bWdla2VocnQuCjotKQoKUGFtcGVycy4gSGF0IHNpY2ggZGFydWViZXIgYXVjaCBpbW1lciBnZXd1bmRlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQYXJ0eSBmdWVyIGFsbGUgKEtyZXRlaywgMTQuIEp1bCAxOTk3LCAxNjo0MjoyMSk6Cn4jISBybj1NZXRhIHJ0PTg2ODYyOTY3NyByZz1wYXJ0eQp+IyEgdGlkPTg2NzMzODMzNgpBY2ggamEsIHVuZCB3aXIgbGF1ZmVuIG5hdHVlcmxpY2ggYXVjaCBhbGxlIHN0YWVuZGlnIG1pdCBXaW5kc2FlY2tlbiBpbiAKZGVyIEdlZ2VuZCBydW0gdW0genUgc2VoZW4sIHdpZSBkZXIgV2luZCBncmFkZSBzdGVodCwgbWl0IGVpbmdlYmF1dGVtCk1ldGEtRGV0ZWt0b3IsIG9kZXIgd2llPyEKCktyZXRlSyBkZXIgUmF1Y2hlciAoUm90aC1IYWVuZGxlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVycGFydHkgMTk5NyAoS2VtcCwgMTQuIEp1bCAxOTk3LCAxNjo0MzoyMSk6CkFyZ2wsCgpJY2ggc2VoZSBlcyBzY2hvbiBrb21tZW4gZGFzIGRpZSBnYW56ZW4gUmF1Y2hlciBiZWkgamVkZW0ga2xlaW5zdGVuIFdpbmRoYXVjaApxdWVyIGR1cmNoIGRpZSBXaWVzZSByZW5uZW4uIEF1d2VpYSwgdW5kIGRhbm4gbm9jaCBtaXQgZWluZXIgUmF1Y2hlcmx1bmdlCiphZWNoei4gV2lyZCBiZXN0aW1tdCBsdXN0aWcgd2VubiB3aXIgZGFubiBhdWNoIG5vY2ggYmVzb2ZmZW4gc2luZCAqZ3JpbnMqLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9lc2NoZW4gc3RhdHQgdmVybGVnZW4gKENhdHdlYXpsZSwgMTUuIEp1bCAxOTk3LCAwOTozMTozOCk6CkhpIQoKSWNoIGhhYmUgbWlyIGdlcmFkZSBhbmdlbWFzc3QgZGl2ZXJzZSAnSWNoIGJpbiBiZWRyb2VobnQgdW5kIGNvb2wnLSB1bmQgCidEdSBiaXN0IGR1bW0gcnVtbGFiZXJuZGVyIElkaW90Jy1BcnRpa2VsIHp1IGxvZXNjaGVuIGFuc3RhdHQgc2llIHp1IAp2ZXJsZWdlbi4gV2VubiBpaHIgRXVjaCBnZWdlbnNlaXRpZyBFdXJlIENvb2xuZXNzIHVuZCBJbnRvbGVyYW56IHZvcndlcmZlbgp3b2xsdCBtYWNodCBkYXMgYml0dGUgcGVyIG1haWwgdW5kIG11ZWxsdCBuaWNodCBkaWUgTVBBIHZvbGwuCgpEYW5rZSBzZWhyLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG9lc2NoZW4gc3RhdHQgdmVybGVnZW4gKEdyaW1tYm9ybiwgMTUuIEp1bCAxOTk3LCAwOTo1MTo0MCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODY4OTUxODk4IHJnPXBhcnR5Cn4jISB0aWQ9ODY4OTUxODk4ClZpZWxsZWljaHQgcGFzc3QgaW4gZGllc2VtIFp1c2FtbWVuaGFuZyBkZXIgVm9yc2NobGFnLCBtdWRpbnRlcm5lCm1haWxpbmdsaXN0ZW4gYW5sZWdlbiB6dSBrb2VubmVuLi4uIEljaCBtZWluZSwgbWl0IGRlbSBuZXVlIFJBTSBkdWVyZnRlbiBqYQphdWNoIGdyb2Vzc2VyZSBQb3N0ZmFlY2hlciBlZ2FsIHNlaW4uIDotKQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExvZXNjaGVuIHN0YXR0IHZlcmxlZ2VuIChLb2JheWFzaGksIDE1LiBKdWwgMTk5NywgMDk6NTM6NDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2ODk1MzEwMCByZz1wYXJ0eQp+IyEgdGlkPTg2ODk1MTg5OApQb3N0ZmFlY2hlciBmcmVzc2VuIFBsYXR0ZW5wbGF0eiwga2VpbiBSQU0sIGF1c3NlcmRlbSB2ZXJicmF1Y2h0IGRhcyBLb3BpZXJlbgplaW5lciBNYWlsIGluIGRpZSBlaW56ZWxuZW4gUG9zdGZhZWNoZXIgZGV1dGxpY2ggbWVociBSZXNvdXJjZW4sIGFscyBlaW4KZWlubWFsaWdlcyBLb3BpZXJlbiBlaW5lciBOZXdzIGluIGRpZSBNUEEKCktvYmF5YXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTG9lc2NoZW4gc3RhdHQgdmVybGVnZW4gKEdyaW1tYm9ybiwgMTUuIEp1bCAxOTk3LCAxMDowMzo1OCk6Cn4jISBybj1Lb2JheWFzaGkgcnQ9ODY4OTUzMjIwIHJnPXBhcnR5Cn4jISB0aWQ9ODY4OTUxODk4CkhtbSwgUGxhdHRlIGlucyBSQU0gYXVzc3dhcHBlbj8gOy0pCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExvZXNjaGVuIHN0YXR0IHZlcmxlZ2VuIChPcmt0b2V0ZXIsIDE1LiBKdWwgMTk5NywgMTA6MzI6MzQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2ODk1MzgzOCByZz1wYXJ0eQp+IyEgdGlkPTg2ODk1MTg5OApMeW5jaHQgSWhuICEKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMb2VzY2hlbiBzdGF0dCB2ZXJsZWdlbiAoUmFudGFucGxhbiwgMTUuIEp1bCAxOTk3LCAxMDozNzoxOCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODY4OTU1NTU0IHJnPXBhcnR5Cn4jISB0aWQ9ODY4OTUxODk4CkhleSBDYXR3ZWF6bGUgZGFzIHdhciB0b3RhbCB1bmNvb2wsIER1IFZvbGxpZGlvdC4uLgoKV2VubiBpY2ggU2NoYWVycmlmIHdhZXJlLCB3YWVyZSBpY2ggdmllbCBjb29sZXIuCgpPZSoKCkludG9sZXJhbnQgIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29tbWVycGFydHkgMTk5NyAoU29jcmF0ZSwgMTUuIEp1bCAxOTk3LCAxMTowMDozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY4ODY5MDIwIHJnPXBhcnR5Cn4jISB0aWQ9ODY1NDE2Mzk2ClNjaG9uIHRoZW9yZXRpc2NoIHJpY2h0aWcuIEFsbGVyZGluZ3MgaGFzdCBkdSB2ZXJnZXNzZW4sIGRhc3MgaWNoIHp3YXIgbmljaHQKaW1tZXIsIGFiZXIgaW1tZXIgb2VmdGVyIEJsYWVodW5nZW4gaGFiZS4gVW5kIHdlbm4gZGllcyBtaXQgZGVyIENoYW9zdGhlb3JpZQppbiBWZXJiaW5kdW5nIGJyaW5nc3QsIGRhbm4gd2Vpc3N0IGR1IHdhcnVtIGhpZXIgbWFuY2htYWwgU3R1cm0gaGVycnNjaHQuClNvY3JhdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb2VzY2hlbiBzdGF0dCB2ZXJsZWdlbiAoQXNtb2RpcywgMTUuIEp1bCAxOTk3LCAxNTozNjowNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODY4OTUxODk4IHJnPXBhcnR5Cn4jISB0aWQ9ODY4OTUxODk4CkNhdHdlYXpsZSBpc3QgY29vbCAhIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExvZXNjaGVuIHN0YXR0IHZlcmxlZ2VuIChNYW5nbywgMTUuIEp1bCAxOTk3LCAxNTozNzozNyk6Cn4jISBybj1Bc21vZGlzIHJ0PTg2ODk3Mzc2NSByZz1wYXJ0eQp+IyEgdGlkPTg2ODk1MTg5OAoKSXN0IGRhcyBlaW4gQmVmZWhsPyA6KQoKCk1hbmdvLCBkdW1tIHNjaG1hcnJlbmQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTG9lc2NoZW4gc3RhdHQgdmVybGVnZW4gKEFzbW9kaXMsIDE1LiBKdWwgMTk5NywgMTU6NDQ6NDIpOgp+IyEgcm49TWFuZ28gcnQ9ODY4OTczODU3IHJnPXBhcnR5Cn4jISB0aWQ9ODY4OTUxODk4Ck5vZSwgRXJ6bWFnaWVyIHNpbmQgYWxsZ2VtZWluIGNvb2wsIHdlaXNzIGRvY2ggamVkZXIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTG9lc2NoZW4gc3RhdHQgdmVybGVnZW4gKExvY28sIDE1LiBKdWwgMTk5NywgMTg6MTc6MzIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2ODk1MzEwMCByZz1wYXJ0eQp+IyEgdGlkPTg2ODk1MTg5OApEYXMgUHJvYmxlbSBtaXQgZ3Jvc3NlbiBQb3N0ZmFlY2hlcm4gdW5kIGF1Y2ggbWl0IGdyb3NzZW4gVmVydGVpbGVybiAoYWxzbywKZGFzcyBtYW4gZWluZSBNYWlsIGFuIHZpZWxlIExldXRlIGdsZWljaHplaXRpZyBzY2hpY2t0KSBpc3QgbGVpZGVyIG5pY2h0IGRlcgpQbGF0dGVuLSBvZGVyIFJBTS1QbGF0eiwgc29uZGVybiBkZXIgUmVjaGVuemVpdHZlcmJyYXVjaC4KQWxsZWluZSBkYXMgTGFkZW4gZWluZXMgZWluemlnZW4gTWFpbGZpbGVzIGthbm4gdmVyZWluemVsdCB1ZWJlciBlaW5lIGhhbGJlClNla3VuZGUgZGF1ZXJuLiBVbSBNYWlsIHp1IGxlc2VuLCBtdXNzIGRpZXNlcyBlaW5pZ2UgTWFsZSBnZXNjaGVoZW4gKHp1bQpHbHVlY2sgbWF4aW1hbCAzeCBhdWYgZWlubWFsKS4gVW0gTWFpbCB6dSB2ZXJzY2hpY2tlbiwgZWlubWFsIF9mdWVyIGplZGVuCkVtcGZhZW5nZXJfLgoKRnVlciBXaXphcmRzIGdpYnQgZXMgdWVicmlnZW5zIGphIGRpZSBNb2VnbGljaGtlaXQsIE1haWxhbGlhc2UgenUgZGVmaW5pZXJlbgooUlRGTSEpLgoKLSBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMb2VzY2hlbiBzdGF0dCB2ZXJsZWdlbiAoTG9jbywgMTUuIEp1bCAxOTk3LCAxODoxOToxNCk6Cn4jISBybj1Mb2NvIHJ0PTg2ODk4MzQ1MiByZz1wYXJ0eQp+IyEgdGlkPTg2ODk1MTg5OApOb2NoIGVpbiBQLlMuIGZ1ZXIgZGllLCBkaWUgZXMgbmljaHQgdmVyc3RlaGVuOiBEaWVzZSBoYWxiZSBTZWt1bmRlLCBvZGVyIGF1Y2gKbWFsIGdhbnplLCBfc3RlaHRfIGRhcyBNdWQgZGFubiBmdWVyIF9hbGxlXyBCZW51dHplci4gRGFzIGlzdCBkYW5uIGRhcwpiZXJ1ZWNodGlndGUgQ2F0d2VhemxlLUxhZy4KCi0gTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTG9lc2NoZW4gc3RhdHQgdmVybGVnZW4gKEx1ZywgMTUuIEp1bCAxOTk3LCAyMzoyNTo0MSk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2ODk1NTgzOCByZz1wYXJ0eQp+IyEgdGlkPTg2ODk1MTg5OApSYW50YW5wbGFuIGZvciBTaGVyaWZmISA7KQoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYWhydCBCZXJsaW4gPC0+IE11ZW5zdGVyOiAxIFBsYXR6IGZyZWkgKEhhdGUsIDE3LiBKdWwgMTk5NywgMjE6MjE6MzUpOgpEYSBEdXJpbiBkZWZpbml0aXYgbmljaHQgbWl0a29tbWVuIGthbm4gaXN0IG5vY2ggZWluIFBsYXR6IGZyZWkuCkhhdGUuClAuUy4gYmVpIG1pciB1bnRlciBsZW9AbXVkLmRlIG1lbGRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBNRkcgS29lbG48LT5NUyAoQmFib29uLCAyMS4gSnVsIDE5OTcsIDA5OjAwOjI1KToKU3VjaGUgZWluZSBNaXRmYWhyZ2VsZWdlbmhlaXQgenVyIFBhcnR5LiBXZXIgd2FzIGhhdCBiaXR0ZSBtYWlsIHNjaHJlaWJlbiwKd2VpbCBpY2ggZGllIG5hZWNoc3RlbiAxNCBUYWdlIG5pY2h0IGRhIGJpbi4KCkJhYm9vbigpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2F0dCBpcyBtaXQgZGVuIEtsb3MgKEh1ZXBmZXIsIDIxLiBKdWwgMTk5NywgMTQ6NTM6MjYpOgpVbmQgendhciwgaWNoIGhhYmUgZXJmYWhyZW4sIGRhc3Mgd2lyIHVucyBhbSBmcmVpdGFnIHdpZWRlciBhbSBBYXNlZSB0cmVmZmVuLgpTY2hvZW4gdW5kIGd1dC4gQWJlciB3YXMgaXN0IG1pdCBUb2lsZXR0ZW4/IEZ1ZXIgTWFlbm5lciB3aXJkIGVzIHNpY2hlcmxpY2gKa2VpbiBQcm9ibGVtIHNlaW4sIGFiZXIgd2FzIGlzdCBtaXQgdW5zIEZyYXVlbj8/Pz8/Pz8gV2lyIGhhYmVuIG5ldCBzbyBlaW4KR2VoYWVuZ2UsIGF1c3NlcmRlbSBrb2VubnRlIGVzIGphIHNlaW4sIGRhc3MgamVtYW5kIFZlcmRhdXVuZ3Nwcm9ibGVtZSBoYXQsCndhcyBkYW5uLiBXZWl0ZXJoaW4gbXVzcyBpY2ggc2FnZW4sIGRhc3MgZGFzIFplbHRlbiBhdWYgZ2VzY2h1ZXR6dGVuCkdydWVuZmxhZWNoZW4gdmVyYm90ZW4gaXN0IHVuZCB3ZW5uIG1hbiBkYW5uIG5vY2ggZGF0dCBXYWVsZGNoZW4gbWl0IFVyaW4KZHVlbmd0LCBrYW5uIGRhcyBzY2hvbiBtYSB0ZXVlciB3ZXJkZW4gLi4uIGF1c3NlcmRlbSBmYWVuZ3QgVXJpbiwgYmVzb25kZXJzCndlbm4gZXMgd2FybSBpc3QsIGFuIHp1IHN0aW5rZW4uLi4gYWxzbyB3YWVyZSBzbyBlaW4gbmV0dGVzIEtsb2hhZXVzY2hlbiBkb2NoCmFuZ2VicmFjaHQgb2Rlcj8/Pz8/PwoKQWVoIHdpZSBzaWVodCBlcyBhbGxnZW1laW4gbWl0IHdhc2NocmFldW1lbiBiencga2xvcyBhdXM/Pz8/Pz8/CgpTbyBkYXR0IHdhcnMgbWEgYWJlciBudXIgYml0dGVyIGVybnN0aGFmdGUgYW50d29ydGVuIC4uLgoKSHVlcGZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhdHQgaXMgbWl0IGRlbiBLbG9zIChCZWVsemVidWIsIDIxLiBKdWwgMTk5NywgMTQ6NTU6MjcpOgp+IyEgcm49SHVlcGZlciBydD04Njk0ODk2MDYgcmc9cGFydHkKfiMhIHRpZD04Njk0ODk2MDYKb2VoLi4uCmF1c3NlcmRlbSBmYWVuZ3QgVXJpbiwgYmVzb25kZXJzCndlbm4gZXMgd2FybSBpc3QsIGFuIHp1IHN0aW5rZW4uLi4KCk9wdGltaXN0aW4uLi4KCl06LSkKClAuUy4gTmFndXQsIGRlciB3YXIgbmljaHQgZXJuc3RoYWZ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2F0dCBpcyBtaXQgZGVuIEtsb3MgKFBhbXBlcnMsIDIxLiBKdWwgMTk5NywgMTQ6NTg6MzApOgp+IyEgcm49SHVlcGZlciBydD04Njk0ODk2MDYgcmc9cGFydHkKfiMhIHRpZD04Njk0ODk2MDYKRHUga2FubnN0IGphIGF1Y2ggZXJzdCBTYW1zdGFnIGtvbW1lbiwgZGEgZ2lidHMgS2xvcy4KClBhbXBlcnMuIEdhbnogZWluZmFjaGUgS2lzdGU6IFdlciBuaWh0IGdlbGFlbmRlZ2FlbmdpZyBpc3QsIGRhcmYgbmljaHQgaW5zCkdFbGFlbmRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2F0dCBpcyBtaXQgZGVuIEtsb3MgKEtlbXAsIDIxLiBKdWwgMTk5NywgMTQ6NTk6NDkpOgpIZWhlaGVoZSwKClBhbXBlcnMgZHUgaGFzdCBqYSBkZWluZSBXaW5kZWxuIDtvKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXR0IGlzIG1pdCBkZW4gS2xvcyAoRW5neXd1Y2ssIDIxLiBKdWwgMTk5NywgMTg6NDU6MzUpOgp+IyEgcm49SHVlcGZlciBydD04Njk0ODk2MDYgcmc9cGFydHkKfiMhIHRpZD04Njk0ODk2MDYKV2llLCBkZW4gV2FsZCBkdWVuZ2VuPz8gRGVyIGd1dGUgTmF0dXJzZWt0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhdHQgaXMgbWl0IGRlbiBLbG9zIChMdWcsIDIyLiBKdWwgMTk5NywgMDQ6MDA6MjQpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODY5NTAzNTM1IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NDg5NjA2CgpBZWggd3VlcmchCgpMdWcKClAuUy46IERhcyBBcmd1bWVudCBpc3QgYWJlciBnYXIgbmljaHQgc28gZmFsc2NoLCB1LlUuIHdpcmRzIGphIGF1Y2ggbm9jaApibHV0aWcuIERhcyBpc3QgbmljaHQgc28gbmV0dCBmdWVyIHZpZWxlIEZyYXVlbiB1bmQgbm9jaCB3ZW5pZ2VyIGZ1ZXIgYmxvZWRlCldpdHpjaGVuIGdlZWlnbmV0IChWb3JnYWVuZ2VyIHRyZXQpLiBpY2ggYmluIGphIG51biBkZXMgRmVtaW5pc211cyB2b2VsbGlnCnVudmVyZGFlY2h0aWcsIGFsc28gZ2lidHMgbmUgTG9lc3VuZz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhdHQgaXMgbWl0IGRlbiBLbG9zIChZYW50cm8sIDIyLiBKdWwgMTk5NywgMDc6NDI6NTQpOgp+IyEgcm49THVnIHJ0PTg2OTUzNjgyNCByZz1wYXJ0eQp+IyEgdGlkPTg2OTQ4OTYwNgoKQWxzbyB3ZW5uIGRhcyBhbSBBYXNlZSBkZXIgc2VsYmUgKG9kZXIgZ2xlaWNoZSkgUGxhdHogd2llIHZvciAyIEphaHJlbiBpc3QsZAphbm4gZ2lidCBlcyBpbiBjYSAxMDAgTWV0ZXIgZW50ZmVybnVuZyBzbyBuZW4gb2VmZmVudGxpY2hlbiBLbG8gKyBXYXNjaHJhdW0uLi4KKGtvZW5uZW4gYXVjaCAyMDAgTWV0ZXIgZ2V3ZXNlbiBzZWluKS4uLiAKCllhbnRybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2F0dCBpcyBtaXQgZGVuIEtsb3MgKEJvaW5nLCAyMi4gSnVsIDE5OTcsIDA3OjU2OjQ0KToKfiMhIHJuPVlhbnRybyBydD04Njk1NTAxNzQgcmc9cGFydHkKfiMhIHRpZD04Njk0ODk2MDYKRWhlciA1MDAgLi4uIGFiZXIgZHVyY2hhdXMgenUgRnVzcyBlcnJlaWNoYmFyLiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYXR0IGlzIG1pdCBkZW4gS2xvcyAoWWFudHJvLCAyMi4gSnVsIDE5OTcsIDA4OjAxOjQ4KToKfiMhIHJuPUJvaW5nIHJ0PTg2OTU1MTAwNCByZz1wYXJ0eQp+IyEgdGlkPTg2OTQ4OTYwNgoKSmEsIGljaCBiaW4gZnVlciBTdHVwc2UgenVzdGFlbmRpZywgYWJlciA6CgpORUlOLCBlcyBnaWJ0IGtlaW5lIFB1bmt0ZSBpbSBSYWhtZW4gZWluZXIgTWluaXF1ZXN0LCB3ZXIgaW4gd2VsY2hlbQpBbGt6dXN0YW5kIGRpZXNlIEtsb3MgZmluZGV0LCBvYiBhbGxlaW5lLCBnZXNrcmlwdGV0IG9kZXIgYWxzIFRlYW0sIGltIEhlbGxlbgpvZGVyIG1pdCBGZXVlcnpldWcgb2RlciBnYW56IGltIER1bmtlbG4uLi4gT2IgdWViZXIgUGZhZGUgb2RlciBkaWUgQWJrdWVyenVuZwp1ZWJlcnMgV2Fzc2VyLi4uLiAKClNjaG1hcnJucyBnb2luZyBvbi4KCllhbnRybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2F0dCBpcyBtaXQgZGVuIEtsb3MgKE5hY2h0d2luZCwgMjIuIEp1bCAxOTk3LCAwODowNDoxNyk6Cn4jISBybj1ZYW50cm8gcnQ9ODY5NTUxMzA4IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NDg5NjA2CmhtLCBnaWJ0cyBkZW5uIGVwcyBmdWVyIGRpZSBrYWtlcmxha2VuIHVuZCBhZWhubGljaGVzIGdldGllciBkYT8gOikKCm5ldWdpZXJpZwpOYWNodHdpbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhdHQgaXMgbWl0IGRlbiBLbG9zIChFbmd5d3VjaywgMjIuIEp1bCAxOTk3LCAxMToxNzo1NSk6Cn4jISBybj1ZYW50cm8gcnQ9ODY5NTUwMTc0IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NDg5NjA2Ck1laW5zdCBEdSBkaWVzZXMgUGxhZXR6Y2hlbiBhbSBBYXNlZSwgYW4gZGVtIGFtIG5hZWNoc3RlbiBNb3JnZW4gZGllIGRvcnQKemVsdGVuZGVuIE11ZGRlciBmcmV1bmRsaWNoIHZvbiBncnVlbmJlcm9ja3RlbiBGcmV1bmRlbiBnZXdlY2t0IHd1cmRlbiB1bmQgbnVyCmR1cmNoIFRvZXRlcnMgaGVsZGVuaGFmdGVuIEVpbnNhdHogZWluZXIgVWViZXJuYWNodHVuZyBpbSBqYWlsIGVudGdlaGVuCmtvbm50ZW4/CkhtbW1tLi4uCgpFbmd5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2F0dCBpcyBtaXQgZGVuIEtsb3MgKEJvaW5nLCAyMi4gSnVsIDE5OTcsIDExOjIwOjIyKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg2OTU2MzA3NSByZz1wYXJ0eQp+IyEgdGlkPTg2OTQ4OTYwNgpJbW1lcmhpbiB3YXIgVG9ldGVyIHNjaGxhdSBnZW51Zywgc2VpbiBOYW1lbnNzY2hpbGQgYWJ6dW1hY2hlbiwgYmV2b3IKZXIgc2ljaCBpbiBkaWUgRGlza3Vzc2lvbiBzdHVlcnp0ZS4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHNoaXJ0IChDYXR3ZWF6bGUsIDIyLiBKdWwgMTk5NywgMTQ6MTA6MzQpOgoKCkhpIQoKSWNoIGhhYmUgZXMgbGVpZGVyIGltbWVyIG5vY2ggbmljaHQgZ2VzY2hhZmZ0IGVpbiBvcmRlbnRsaWNoZXMgUGFydHl0c2hpcnQKYXVzenV3YWVobGVuLiBOdW4sIHp1bWluZGVzdCBuaWNodCBkYXMgTW90aXYuIApXZW5uIGlociBlaW4gZ3V0ZXMgTW90aXYgaGFidCwgb2RlciB3aXNzdCwgaW1tZXIgaGVyIGRhbWl0LiBFcyBzb2xsdGUKKHp1bWluZGVzdCBpbSB3ZWl0ZXN0ZW4gU2lubmUpIGV0d2FzIG1pdCBkZW0gTW9yZ2VuR3JhdWVuIHp1IHR1biBoYWJlbi4KCldlciBlaW4gVHNoaXJ0IGhhYmVuIG1vZWNodGUsIGthbm4gZXMgYmVzdGVsbGVuIHVuZCB6d2FyIGJlaW0gU3BpZWxlcgondHNoaXJ0Jy4gQWxzbyBlaW5mYWNoIGVpbmUgbWFpbCBhbiBkZW4gU3BpZWxlciB0c2hpcnQgc2NoaWNrZW4gbWl0IApmb2xnZW5kZW0gSW5oYWx0OgpNdWRuYW1lClJMLU5hbWUKQW56YWhsIGRlciB0c2hpcnRzClRzaGlydGdyb2Vzc2UKCkRhIGRlciBNdWRuYW1lIGF1ZnMgVHNoaXJ0IHNvbGwsIGJlaSBtZWhyZmFjaGVic3RlbGx1bmdlbiBuYXR1ZXJsaWNoCmFsbGUgTmFtZW4gYW5nZWJlbi4gVHNoaXJ0cyBvaG5lIE5hbWUgZ2liYmV0IGF1ZiBXdW5zY2ggYXVjaC4KCkRlciBQcmVpcyBsaWVndCBlcmZhaHJ1bmdzZ2VtYWVzcyB6d2lzY2hlbiAyMCB1bmQgMjUgRE0uCgpBYmVyIG5pY2h0IHZlcmdlc3NlbiwgZXJzdCBiZWltIE1vdGl2IG1pdGhlbGZlbiA6KQoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoyMDAwIFRhZ2UgRmVpZXIgKEtvYmF5YXNoaSwgMjIuIEp1bCAxOTk3LCAxNDozODo0MSk6CkZpbmRldCBlaWdlbnRsaWNoIGFtIDE1LiBTZXB0ZW1iZXIgZWluZSAyMDAwIFRhZ2UgRmVpZXIgc3RhdHQuIEFuIGRpZXNlbSBUYWcKZXhpc3RpZXJ0IGRhcyBNdWQgbmFlbWxpY2ggZ2VuYXUgMjAwMCBUYWdlLgoKS29iYXlhc2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYXR0IGlzIG1pdCBkZW4gS2xvcyAoTWFuZ28sIDIyLiBKdWwgMTk5NywgMTU6NDk6MjcpOgp+IyEgcm49Qm9pbmcgcnQ9ODY5NTUxMDA0IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NDg5NjA2CmRhcyB3YXJlbiBrZWluZSA1MDBtCgpNYW5nbywgaGF0IG5hY2hnZW1lc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdhdHQgaXMgbWl0IGRlbiBLbG9zIChNdXBmZWwsIDIzLiBKdWwgMTk5NywgMDY6MDU6MDEpOgp+IyEgcm49WWFudHJvIHJ0PTg2OTU1MTMwOCByZz1wYXJ0eQp+IyEgdGlkPTg2OTQ4OTYwNgpEYW5hY2ggaGF0IGphIGdhciBrZWluZXIgZ2VmcmFndCBZYW50cm8uLi4uCgotbXVwZmVsLQooYWJlciB2aWVsbGVpY2h0IGVpbmVuIEVyc3RraWxscHVua3RlIGZ1ZXIgWWFudHJvPyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcmJlcmVpdHVuZyAoV2FyZ29uLCAyMy4gSnVsIDE5OTcsIDExOjA3OjU5KToKICBIaSEKRnVlciBhbGxlLCBkaWUgWmVpdCB1bmQgTHVzdCBoYWJlbiwgYmVpIGRlciBWb3JiZXJlaXR1bmcgZGVyIFBhcnR5IG1pdHp1aGVsZmVuCih1bmQgYmVpIGRlciBEdXJjaGZ1ZWhydW5nIG5hdHVlcmxpY2ggYXVjaCk6CkFtIERvbm5lcnN0YWcsIGRlbSAyNC43LiBmaW5kZXQgdW0gMTguMDAgVWhyIGluIGRlciBNYXRoZSAoNi4gU3RvY2spIGVpbmUKVm9yYmVzcHJlY2h1bmcgc3RhdHQuIEVzIHdhZXJlIHNjaG9lbiwgd2VubiBzaWNoIGRhenUgemFobHJlaWNoZSBMZXV0ZQplaW5maW5kZW4gd3VlcmRlbi4gVm9ybmVobWxpY2ggc2luZCBuYXR1ZXJsaWNoIE11ZW5zdGVyYW5lciBnZWZyYWd0LCBhYmVyIGF1Y2gKQXVzd2FlcnRpZ2Ugc2luZCBnZXJuIGdlc2VoZW4gOikKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZhaHJzZXJ2aWNlPyAoV2FyZ29uLCAyNC4gSnVsIDE5OTcsIDE5OjQ5OjA3KToKICBIaSEKRGEgZGllIFBhcnR5b2VydGxpY2hrZWl0ZW4gYW0gU2Ftc3RhZyBlaGVyIGRlemVudHJhbCBsaWVnZW4sIHN0ZWxsdCBzaWNoIGRpZQpGcmFnZSwgb2IgZWluIG9mZml6aWVsbGVyIEZhaHJzZXJ2aWNlIGVpbmdlcmljaHRldCB3ZXJkZW4gc29sbC4KQWx0ZXJuYXRpdiAodW5kIGZ1ZXIgZGllIE9yZ2FuaXNhdG9yZW4gd2VuaWdlciBiZWxhc3RlbmQgOikga29lbm50ZSBkaWUKRmFocmVyZWkgYXVjaCB2b24gUGFydHl0ZWlsbmVobWVybiBtaXQgZGVyZW4gQXV0b3MgZHVyY2hnZWZ1ZWhydCB3ZXJkZW4uIERhCndhaHJzY2hlaW5saWNoIGRlciB1ZWJlcndpZWdlbmRlIFRlaWwgbWl0IGRlbSBBdXRvIGtvbW10LCB3dWVyZGUgc2ljaCBkYXMKYW5iaWV0ZW4uCkRpZSBGYWhyZXJlaSB3dWVyZGUgYW5mYWxsZW4KLSBldnRsLiBGcmVpdGFnIGFiZW5kIGZ1ZXIgZGllIExldXRlLCBkaWUgbmljaHQgYW0gQWFzZWUgemVsdGVuLCBzb25kZXJuIGluCiAgZGVyIEhhbGxlIHNjaGxhZmVuIHdvbGxlbiAoamUgbmFjaGRlbSwgb2IgdW5kIHdvIHdpciBlaW5lIGJla29tbWVuIDopCi0gU2Ftc3RhZyBldnRsLiBmdWVyIGRpZSBIYWxsZW5zY2hsYWVmZXIgenVydWVjaywgYXVzc2VyZGVtIG5hY2ggUXVlc3QgdW5kCiAgU2VtaW5hciB6dW0gUGFydHlyYXVtCi0gU29ubnRhZyB6dW0gQ2hpbmVzZW4KV2llIHNpZWh0cyBhdXM/IFJlaWNoZW4gZGllIEF1dG9zPyBXdWVyZGVuIHNpY2ggZWluaWdlIExldXRlIGJlcmVpdCBlcmtsYWVyZW4sCmV2dGwuIGF1Y2ggb2Z0ZXJzIGhpbiB1bmQgaGVyIHp1IGZhaHJlbj8KVHV0IG1hbCBldXJlIE1laW51bmcga3VuZCEKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClplaXRwbGFuIChDYXR3ZWF6bGUsIDI0LiBKdWwgMTk5NywgMTk6NTA6NDMpOgpIaSEKClNvLCBpY2ggaGFiIGpldHp0IGVuZGxpY2ggVWViZXJibGljayB1ZWJlciBkZW4gZmluYWxlbiBaZWl0cGxhbgpmdWVyIGRhcyBQYXJ0eXdvY2hlbmVuZGUsIDIyLi0yNC4gQXVndXN0OgoKRlJFSVRBRzoKCkVyc3RlcyBUcmVmZmVuIGZ1ZXIgYWxsZSBkaWUgc2Nob24gZGEgc2luZC4gCldpciB3ZXJkZW4gdW5zIGFtIEFhc2VlIHRyZWZmZW4sIHVuZCB6d2FyIGFtIFdlc3RlbmRlLiBEYXMgaXN0IGRlciAKZ2xlaWNoZSBQbGF0eiB3aWUgdm9yIDIgSmFocmVuLCB1bmQgamEsIGRhIGdpYnQgZXMgaW4gY2EuIDIwMG0gCkVudGZlcm51bmcgYmVpbSAnSmFjaHRjbHViJyAoaHVlc3RlbCkgZWluZSBvZWZmZW50bGljaGUgVG9pbGV0dGUgCnNjaG9lbiBzYXViZXIgZ2V0cmVubnQgZnVlciBNYWVubmxlaW4gdW5kIFdlaWJsZWluLgoKRXMgd2lyZCBkaWUgTW9lZ2xpY2hrZWl0IGdlYmVuIHp1IGdyaWxsZW4uIERhcyBoZWlzc3QgTklDSFQsIGRhcyB3aXIKZGEgR3JpbGxmbGVpc2NoIHp1ciBWZXJmdWVndW5nIHN0ZWxsZW4sIGRhcyBnaWJ0cyBlcnN0IFNhbXN0YWcuCkZ1ZXIgRnJlaXRhZyBtdWVzc3QgaWhyIGFsc28gR3JpbGxrcmFtIF9zZWxiZXIgbWl0YnJpbmdlbl8gISEhCkdldHJhZW5rZSB3aXJkcyBnZWJlbi4KQWNoc28sIFplaXQ6IGFiIDE5OjAwIFVoci4KClNBTVNUQUc6CgpWb3JtaXR0YWcgc3RlaHQgenVyIGZyZWllbiBWZXJmdWVndW5nLiBfRXZlbnR1ZWxsXyAoaGFlbmd0IGRhdm9uCmFiLCBvYiB1bmQgd2llIGRpZSBVbnRlcmJyaW5ndW5nIGF1c3NpZWh0LCBnaWJ0IGVzIEZydWVoc3R1ZWNrLAppc3QgYWJlciBuaWNodCBzaWNoZXIuCkluIE11ZW5zdGVyIGlzdCB1ZWJyaWdlbnMgU2t1bHB0dXIgJzk3LCBzZWhyIGVpbmRydWNrc3ZvbGwsIHdhcyBkYSAKenVtIFRlaWwgcnVtc3RlaHQsIGxvaG50IHNpY2ggaW4gamVkZW0gRmFsbCAoYXVjaCBmdWVyIEt1bnN0aGFzc2VyKQpkYXMgbWFsIGFuenVzZWhlbi4KCkFiIDEzOjAwIFVociBSTC1RdWVzdDoKCldpciBtYWNoZW4gZWluZSBSTC1RdWVzdCBkaWUgYWxsZXIgV2FocnNjaGVpbmxpY2hrZWl0IG5hY2ggYXVmIGRlbQpTY2hsb3Nzdm9ycGxhdHogc3RhcnRlbiB1bmQgaW4gZGVyIE5hZWhlIGRlcyBJbnN0aXR1dHMgZnVlciBNYXRoZS0KbWF0aWsgZW5kZW4gd2lyZC4gSWNoIGhhYiBtYWwgMyBTdHVuZGVuIGFuZ2VzZXR6dCwgd2VpbCBpY2ggbmljaHQgCndlaXNzLCB3aWV2aWVsIEdydXBwZW4gZXMgd2VyZGVuLCB3aWUgZHVzc2VsaWcgaWhyIEV1Y2ggYW5zdGVsbHQsIHVuZApvYiBpaHIgRVVjaCB2ZXJsYXVmdC4gCkVzIGlzdCBrZWluZSAxNU1pbnV0ZW4tVG91ciwgYWJlciBhdWNoIGtlaW4gS2lsb21ldGVyLUJyZWNoZXIuIEVzIGdlaHQKZWlubWFsIHVtIGRpZSBTdGFkdCBydW0sIGFsc28gaWNoIHNjaGFldHogbWFsIGNhLiA0LTVrbSBtYXhpbWFsLAplaGVyIHdlbmlnZXIuCgpBYjogMTY6MDAgVWhyIFNlbWluYXIgZGVzIFZlcmVpbnM6CgpEYXMgU2VtaW5hciBmaW5kZXQgaW0gSG9lcnNhYWxnZWJhZXVkZSBkZXIgTWF0aGVtYXRpayBzdGF0dCB1bmQgaXN0CmZ1ZXIgY2EuIDMgU3R1bmRlbiBhbmdlc2V0enQuIFplaXRwbGFuLCBWb3J0cmFnc3RoZW1lbiB1bmQgYWxsZXMgCndlaXRlcmUgd2lyZCBTaWx2YW5hIEV1Y2ggdmVycmF0ZW4sIGRpZSBoYXQgZGllIEtvb3JkaW5hdGlvbiBkYWZ1ZXIKdWViZXJub21tZW4uCgpBYiAyMDowMCBVSFI6IERpZSBQQVJUWQoKRGllIFBhcnR5IHNlbGJzdCBmaW5kZXQgaW4gZWluZW0gS290dGVuIGluIGRlciBOYWVoZSB2b24gS2luZGVyaGF1cyAKc3RhdHQuIEhpZXIgZ2lidHMgZGFubiBHcmlsbGVuLCBUcmlua2VuLCBUcmVmZmVuLCBRdWF0c2NoZW4sIFNwaWVsZW4sCmFsbGVzIHdhcyBpaHIgRXVjaCBzY2hvbiBpbW1lciBtYWwgZ2V3dWVuc2NodCBoYWJ0IDopCkVuZGUgZGVyIEZldGUgaXN0LCB3ZW5uIGljaCBrZWluZSBMdXN0ZSBtZWhyIGhhYmUgKGhlaGVoZSA6LSkuCgpTT05OVEFHOgoKRGEgZWggYWxsZSBMYW5nc2NobGFlZmVyIHNpbmQsIHdpcmQgZXMgd2FocnNjaGVpbmxpY2gga2VpbgpGcnVlaHN0dWVjayBnZWJlbiwgZGEgZWggdW0gCgoxMjowMCBVaHIgQ2hpbmVzZQphbmdlc2FndCBpc3QuIApXaXIgdWViZXJsZWdlbiBub2NoLCBvYiB3aXIgZWluIE1lbnVlIG1hY2hlbiwgd2llIHZvciAyIEphaHJlbiwgCm9kZXIgZnJlaWUgQXVzd2FobC4gVHV0IG1pciBlaW5lbiBHZWZhbGxlbiB1bmQgbWxlZGV0IEV1Y2ggZnVlciAKZGVuIENoaW5lc2VuIGFuLCBkYW1pdCBpY2ggYWJzY2hhZXR6ZW4ga2Fubiwgd2lldmllbGUga29tbWVuIAp3ZXJkZW4uCkRhbmFjaCwgd2VyIG5vY2ggQm9jayBoYXQsIEVpcyBlc3Nlbiwgb2RlciBldnRsZSBSZXN0ZSBlc3NlbiA6KQoKCkRhcyB3YWVyIGVlcnN0IG1hbCBhbGxlcywgRWluZSBXZWdiZXNjaHJlaWJ1bmcgenUgYWxsZW4gCkFubGF1ZnB1bmt0ZW4gZ2lidHMgaW4gS3VlcnplLCBLYXJ0ZW4gbWFjaHQgUm9jaHVzLgoKTm9jaCBuaWNodCB2b2xsc3RhZW5kaWcgZ2VrbGFlcnRlIFB1bmt0ZSwgc2luZCBkaWUgVWViZXJuYWNodHVuZ2VuCnVuZCBkYXMgRnJ1ZWhzdHVlY2suIEVzIHdpcmQgYWJlciBhdWYgamVkZW4gRmFsbCBhbiBiZWlkZW4gQWJlbmRlbgpkaWUgbW9lZ2xpY2hrZWl0ZW4genVtIFplbHRlbiBnZWJlbiwgYWxzbyBaZWx0IG5pY2h0IHZlcmdlc3Nlbi4KCllvdXJzIHRydWx5LAogICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmVpdHBsYW4gKEd1bGR1a2F0LCAyNC4gSnVsIDE5OTcsIDE5OjUyOjIwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04Njk3NjY2NDMgcmc9cGFydHkKfiMhIHRpZD04Njk3NjY2NDMKd2Vpc3N0IGR1LCB3aWUgZGllIHNlZ2xlciByZWFnaWVyZW4sIHdlbm4gZGEgYmlzIHNwYWV0IG5hY2h0cyA1MDAKZHVyY2hnZWtuYWxsdGUgbXVkZGVyIGF1ZnRhdWNoZW4gdW5kIHdhcyBkYWxhc3NlbiB3b2xsZW4/IAo7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmVpdHBsYW4gKEtlbXAsIDI0LiBKdWwgMTk5NywgMTk6NTQ6MDYpOgoqd2FlbHoqCkF1IGphLCBkYXMgd2lyZCBMdXN0aWcuIEJpbiBtYWwgZ2VzcGFubnQgd2llIGRpZSBQZXJzb24gYXVzc2llaHQgd2VubiBzaWUgZGllClRvaWxldHRlIGRhbm4gZ2VzY2hydWJ0IGhhdCA7bykKS2VtcC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoaW5lc2UgYW0gU29ubnRhZyAoV2FyZ29uLCAyNC4gSnVsIDE5OTcsIDE5OjU3OjMyKToKICBIaSEKRGllIFNvbm50YWdzZnJhZ2U6IFNvbGwgYmVpbSBDaGluZXNlbiBqZWRlciBzZWxiZXIgc2VpbiBFc3NlbiB3YWVobGVuIGtvZW5uZW4sCm9kZXIgd2FlcmUgZXVjaCBhdWNoIGVpbiBmZXN0ZXMgTWVudWUgKHdpZSBpbSB2b3JsZXR6dGVuIEphaHIpIHJlY2h0PwpFcyBrYW5uIHNlaW4sIGRhc3MgZGVyIENoaW5lc2UgYW5nZXNpY2h0cyBkZXIgenUgZXJ3YXJ0ZW5kZW4gTWVuc2NoZW4tLApad2VyZ2VuLSwgSG9iYml0LSB1bmQgRWxmZW5tYXNzZW4gZWggbnVyIGVpbiBmZXN0ZXMgTWVudWUgYmlldGV0LCBhYmVyIG1hbgp3ZWlzcyBqYSBuaWUuLi4KV2VubiBpY2ggZGFzIHJpY2h0aWcgaW4gRXJpbm5lcnVuZyBoYWJlLCBnYWIgZXMgZGFtYWxzIGJlaSBkZXIgVm9yc3BlaXNlIGRpZQpBdXN3YWhsIHp3aXNjaGVuIHp3ZWkgU3VwcGVuIHVuZCBGcnVlaGxpbmdzcm9sbGVuLCB1bmQgaW0gSGF1cHRnYW5nIGdhYiBlcwpzZWNocyB2ZXJzY2hpZWRlbmUgR2VyaWNodGUsIHNvIGRhc3MgZWlnZW50bGljaCBmdWVyIGplZGVuIGV0d2FzIGRhYmVpIHdhci4KR2VidCBhbHNvIGJlaSBldXJlciBDaGluZXNlbmFubWVsZHVuZyBiaXR0ZSBtaXQgYW4sIG9iIGlociBsaWViZXIgc2VsYnN0CmJlc3RlbGxlbiB3b2xsdCBvZGVyIGRhcyBNZW51ZSB2b3J6aWVodC4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGluZXNlIGFtIFNvbm50YWcgKFlhbnRybywgMjQuIEp1bCAxOTk3LCAyMDowMTo1Nyk6Cn4jISBybj1XYXJnb24gcnQ9ODY5NzY3MDUyIHJnPXBhcnR5Cn4jISB0aWQ9ODY5NzY3MDUyCgpIbW0gYWxzbyB2aWVsbGVpY2h0IGFscyBBcmd1bWVudDogSWNoIGhhYiBpbiBNdWVuc3RlciBzY2hvbiBiZWlkZQpDaGluZXNlbi1CZXN0ZWxsLVZhcmlhbnRlbiBlcmxlYnQgdW5kIG11c3Mgc2FnZW4sIGRhc3MgZGFzIE1lbnVlIHp1bSBlaW5lbgp2b2xsIG9rIGlzdCAod2VubiBtYW4gbmljaHQgVGFzaGEgaGVpc3N0KSwgZGFubiBiaWxsaWdlciB1bmQgdm9yIGFsbGVtCnNjaG5lbGxlciwgd2VpbCBlYmVuIG5pY2h0IDgwLTEyMCBCZXN0ZWxsdW5nZW4gYXVmZ2Vub21tZW4gd2VyZGVuIG11ZXNzZW4gdW5kCmRhbm4gYWxsZXMgZWluemVsbiB6dWJlcmVpdGV0LiBJY2ggYmluIGFsc28gZnVlciBmZXN0ZXMgTWVudWUuCgpZYW50cm8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmFocnNlcnZpY2U/IChXdXJ6ZWwsIDI0LiBKdWwgMTk5NywgMjA6NDQ6MzcpOgp+IyEgcm49V2FyZ29uIHJ0PTg2OTc2NjU0NyByZz1wYXJ0eQp+IyEgdGlkPTg2OTc2NjU0NwppbiBiZXNjaHJhZW5rdGVtIG1hc3MgKHp3ZWksIG1heGltYWwgZHJlaSBwbGFldHplKSBiaWV0ZSBpY2ggbWl0ZmFoci0KZ2VsZWdlbmhlaXQgdm9tL3p1bSBob3RlbCBkb3JpbnQsIGZ1ZXIgZGllamVuaWdlbiBkaWUga2VpbmUgbHVzdCBhdWYgemVsdGUKb2RlciBtYXNzZW5zY2hsYWZzYWVsZSBoYWJlbiA6KSBpbiBkZXIgZ2VnZW5kIHNpbmQgYXVjaCBub2NoIGFuZGVyZSBob3RlbHMsCmRpZSBnZ2YuIGRlbiBnZWxkYmV1dGVsIGV0d2FzIG1laHIgc2Nob25lbiAoZG9yaW50IDIyMCwtIHBybyBuYWNodCwgYWJlciBndXRlCnF1YWxpdGFldCksIHdpZSB6LmIuIGhvdGVsIHdpbmR0aG9yc3QgKG5pY2h0IGltbWVyIGtha2VybGFrZW5mcmVpLCBhYmVyIGVoZXIKYmlsbGlnKS4KCnd1cnplbCAobWFnIGtlaW5lIHplbHRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ2hpbmVzZSBhbSBTb25udGFnIChQYW1wZXJzLCAyNS4gSnVsIDE5OTcsIDA4OjQ1OjU2KToKfiMhIHJuPUdub21lIHJ0PTg2OTgxMjgyNSByZz1wYXJ0eQp+IyEgdGlkPTg2OTc2NzA1MgpJQ2ggd2lsbCBuZSBQaXp6YS4gOi0pCgpQYW1wZXJzLiBJQ2ggZnJlc3Mga2VpbmUgU29qYWJvaG5lbi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENoaW5lc2UgYW0gU29ubnRhZyAoSGF0ZSwgMjUuIEp1bCAxOTk3LCAxMDoxMTo0OCk6Cn4jISBvbj1IYXRlIG90PTg2OTgxMzIzNiBvZz1zY2htYXJybgp+IyEgb249R25vbWUgb3Q9ODY5ODEyODI1IG9nPXBhcnR5Cn4jISBybj1ZYW50cm8gcnQ9ODY5NzY3MzE3IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NzY3MDUyCkFSR0whCmJpdHRlIGtlaW4gZWluaGVpdHNmcmFzcyEgZnJlaWhlaXQgZnVlciBkaWUgbXVkZGVyISA7LSkKaW0gZXJuc3Q6IHdpZSB3YWVycyBtaXQgbmVtIGF1c3dhaGxtZW51ZSBtaXQgMyw0IG9kZXIgNSB2ZXJzY2guIGhhdXB0Z2FlbmdlbgoxIG9kZXIgMiB2b3JzcGVpc2VuIGV0Yy4KKHVuZCBiaXR0ZSBkZW5rdCBzY2hvbm1hbCBhbiBkaWUgdmVnZXRhcmllciB1bnRlciB1bnMhIGRhbmtlIDotKQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENoaW5lc2UgYW0gU29ubnRhZyAoV2FyZ29uLCAyNS4gSnVsIDE5OTcsIDEwOjE4OjU1KToKfiMhIHJuPUhhdGUgcnQ9ODY5ODE4MzA4IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NzY3MDUyCldlbm4gaWNoIG1pY2ggcmVjaHQgZW50c2lubmUsIHdhcmVuIGRpZSBIYXVwdGdhZW5nZSBkYW1hbHMgamV3ZWlscyBmdWVyCjYtUGVyc29uZW4tR3J1cHBlbiAodGlzY2h3ZWlzZSkgcG9ydGlvbmllcnQsIGRhIGthbm4gbWFuIHNpY2ggYWxzbwp1bnRlcmVpbmFuZGVyIGFic3ByZWNoZW4uIFZvbiBFaW5oZWl0c2ZyYXNzIGthbm4gYWxzbyBrZWluZSBSZWRlIHNlaW4uCk9iIGF1Y2ggd2FzIHZlZ2V0YXJpc2NoZXMgZGFiZWkgd2FyLCB3ZWlzcyBpY2ggamV0enQgbmljaHQgbWVociwgYWJlciB6dXIgTm90CmJlZ251ZWd0IG1hbiBzaWNoIGhhbHQgbWl0IGRlbSBSZWlzIDopCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2hpbmVzZSBhbSBTb25udGFnIChXYXJnb24sIDI1LiBKdWwgMTk5NywgMTA6MzA6MDIpOgp+IyEgcm49V2FyZ29uIHJ0PTg2OTc2NzA1MiByZz1wYXJ0eQp+IyEgdGlkPTg2OTc2NzA1MgpOb2Nod2FzOgpBbm1lbGR1bmdlbiB6dW0gQ2hpbmVzZW4gdW5kIGRpZSBXdWVuc2NoZSAoTWVudWUsIFNlbGJzdGJlc3RlbGxlbikgYml0dGUgcGVyCk1haWwgYW4gZGVuIFNwaWVsZXIgJ0NoaW5lc2UnLgpFcyByZWljaHQgdm9sbGtvbW1lbiwgZGllIFd1ZW5zY2hlIGluIGRlbiBUaXRlbCBkZXIgTWFpbCB6dSBzZXR6ZW4uCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDaGluZXNlIGFtIFNvbm50YWcgKFRlZGR5LCAyNS4gSnVsIDE5OTcsIDE1OjIxOjI2KToKfiMhIHJuPUhhdGUgcnQ9ODY5ODE4MzA4IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NzY3MDUyCldpZSB3YWVycyBlaWdlbnRsaWNoIG1pdCBuZW0gQnVmZmV0IG9kZXIga29tbXQgZGFzIGluc2dlc2FtdCB6dSB0ZXVlcj8KV2FlcmUgamEgbmljaHQgc28gdW5nZXdvZWhubGljaCBiZWkgc28gdmllbGVuIExldXRlbi4KClRlZGR5IChOaW1tdCB1ZWJyaWdlbnMgYXVjaCBMZXV0ZSBtaXQsIHdlbm4ncyBQcm9ibGVtZSBnaWJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYWhyc2VydmljZT8gKENhcmFkaHJhcywgMjUuIEp1bCAxOTk3LCAxOToyMDoxMik6Cn4jISBybj1XdXJ6ZWwgcnQ9ODY5NzY5ODc3IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NzY2NTQ3CkFlaCAqc2NobHVjayogSGFiIGljaCBkYSBncmFkZSB3YXMgdm9uIDIyMCBETSBwcm8gTmFjaHQgZ2VsZXNlbj8KV28gZ2lidHMgZGVubiBzb3dhcz8/IFNlbGJzdCBpbiBlaW5lbSBwcmltYSBIb3RlbCBhbSBLb2VuaWdzZWUga29zdGV0CmRpZSBVZWJlcm5hY2h0dW5nIG1pdCBGcnVlaHN0dWVjayBudXIgc28gNTUgYmlzIDc1IERNLi4uClVuZCBkYXMgaXN0ICduZSBUb3VyaWdlZ2VuZCBkb3J0IGluIEJlcmNoZGVzZ2FkZW4uICpzdGllcioKCiAgICAgUm90aG9ybiBDYXJhZGhyYXMgLSB2ZXJzdGVodCBkaWUgTm9yZGRldXRzY2hlbiBuaWNodCBtZWhyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmVpdHBsYW4gKFBpbGdyaW0sIDI1LiBKdWwgMTk5NywgMjA6MjY6MzcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2OTc2NjY0MyByZz1wYXJ0eQp+IyEgdGlkPTg2OTc2NjY0MwpBdXMgSW50ZXJlc3NlIDstKSwKCiJLb3R0ZW4gaW4gZGVyIE5hZWhlIHZvbiBLaW5kZXJoYXVzIiBoZWlzdDogV28gZ2VuYXU/CgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGYWhyc2VydmljZT8gKFdhcmdvbiwgMjkuIEp1bCAxOTk3LCAxMDoxOTo1Nik6Cn4jISBybj1HdWxkdWthdCBydD04NzAxMTA4NDIgcmc9cGFydHkKfiMhIHRpZD04Njk3NjY1NDcKWnVzYW1tZW5mYXNzZW5kIGxhZXNzdCBzaWNoIGFsc28gc2FnZW4sIGRhc3MgZGllIE9yZ2FuaXN0b3JlbiBrZWluZW4gZXh0cmEKRmFocnNlcnZpY2UgZWlucmljaHRlbiBtdWVzc2VuLgogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRmFocnNlcnZpY2U/IChHYXN0MSwgMjkuIEp1bCAxOTk3LCAxMjozMToyMSk6Cn4jISBybj1XYXJnb24gcnQ9ODcwMTY0Mzk2IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NzY2NTQ3CkRhcyBrYW5uIGljaCBzbyBuaWNodCBzdGVoZW5sYXNzZW4sIHdpZSBlcyBoaWVyIGRhcmdlc3RlbGx0IHdpcmQuIEVzIGlzdApyaWNodGlnLCBkYXNzIHp1bSBaZWl0cHVua3QgZGVyIERpc2t1c3Npb24gc28gZXR3YXMgYW5rbGFuZy4KSWNoIHNjaGFldHplIG1hbDogRGFzIHdpcmQgc2ljaCB6ZWlnZW4sIG9iIGRhIG5vY2ggTGV1dGUgZGVzIFRyYW5zcG9ydGVzCmJlZHVlcmZ0aWcgc2luZC4gVW5kIHdlbm4sIGRhbm4ga2FubiBtYW4gZXMga3VyemZyaXN0aWcgb3JnYW5pc2llcmVuLgpJY2ggd2lsbCBhYmVyIG5pY2h0IG51ciBub2VyZ2VsbiwgaWNoIGZyZXVlIG1pY2gsIGRhcyBkaWUgUGFydHkgc3RhdHRmaW5kZW4Kd2lyZCB1bmQgaG9mZmUsIGRhc3MgZXMgZWluIGJyYXVjaGJhcmVzIFQtU2hpcnQgZ2lidC4KCkd1ZWxsZXdyaXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFplaXRwbGFuIChDYXR3ZWF6bGUsIDI5LiBKdWwgMTk5NywgMjA6MTk6MzQpOgp+IyEgcm49UGlsZ3JpbSBydD04Njk4NTUxOTcgcmc9cGFydHkKfiMhIHRpZD04Njk3NjY2NDMKSXN0IG5lbiBBbHRlciBTcGVpY2hlciBiZWkgbmVtIEJhdWVybiBhbiBkZXIgR2Fzc2Vsc3RpZWdlIF9oaW50ZXJfCktpbmRlcmhhdXMuIERhcyBIYWV1c2NoZW4gaXN0IGVpZ2VudGxpY2ggYWxzIGJlbGllYnRlciBQYXJ0eXJhdW0gYmVrYW5udAp1bmQgaGF0IGF1Y2ggaXJnZW5kZWluZW4gbmFtZW4sIGRlbiBpY2ggYWJlciBuaWNoIG1laHIgd2Vpc3MgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVlYmVyd2Vpc2VuISAoQ2F0d2VhemxlLCAyOS4gSnVsIDE5OTcsIDIwOjI3OjQ5KToKCk1vaW4hCgpBbHNvLCB3ZW5uIGljaCBkYXMgcmljaHRpZyBiZW9iYWNodGUsIGhhYmVuIHNpY2ggei5aLiAxMzkgTGV1dGUgZnVlciBkaWUgCnBhcnR5IGFuZ2VtZWxkZXQsIGFscyBpY2ggbGV0enRlbiBEb25uZXJzdGFnIEtvbnRvYXVzenVlZ2UgYWJnZWhvbHQgaGFiLApoYWJlbiBzYWdlIHVuZCBzY2hyZWliZSAyMiBMZXV0ZSB1ZWJlcndpZXNlbi4KClR1dCBtaXIgTGVpZCBLaW5uZXJzLCBhYmVyIG1pdCBrbmFwcCA1MDAgTWFlcmNrZW4ga2FubiBpY2gga2VpbmUgClBhcnR5IGZ1ZXIgMTUwIExldXRlIGthdWZlbiA7LSgKCk5vY2htYWw6IAoKQml0dGUgdWViZXJ3ZWlzdCBkZW4gUGFydHliZWl0cmFnIHZvbiAyMCwtRE0gYXVmIGZvbGdlbmRlcyBLb250bzoKCk93bmVyOiBDaHJpc3RpYW4gU2NoaWxkCkt0TnIuOiAxODAwNjY2NTYKQmFuazogIFN0YWR0c3Bhcmthc3NlIE11ZW5zdGVyCkJMWjogICA0MDA1MDE1MAoKVW5kIGJpdHRlIEJBTEQuIEFtIGJlc3RlbiBKRVRaVC4gCkRlciBhbiBkZXIgQWJlbmRrYXNzZSB6dSB6YWhsZW5kZSBCZXRyYWcgYmV0cmFlZ3QgMzAsLURNLiAKRmFsbHMgaWNoIG5pY2h0IGJhbGQgZ2VudWcgZ2VsZCB6dXNhbW1lYmVrb21tZSwgc2VoIGljaCBhbHMgQWx0ZXJuYXRpdmUgCmRlbiBQcmVpcyBhdWYgMjUsLSAoMzUsLSkgenUgZXJob2VoZW4uIElzdCB6d2FyIGJsb2VkLCBhYmVyIG9obmUgR2VsZCAKa2FubiBpY2ggbGVpZGVyIG5pY2h0IHZpZWwgbWFjaGVuIQoKWW91cnMgdHJ1bHksCkNhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRmFocnNlcnZpY2U/IChLZXksIDI5LiBKdWwgMTk5NywgMjE6MjM6MzkpOgp+IyEgcm49V2FyZ29uIHJ0PTg3MDE2NDM5NiByZz1wYXJ0eQp+IyEgdGlkPTg2OTc2NjU0NwpIbW0gbmUgV2FyZ29uIC4uLgpNYW4ga2FubiBlcnN0IHdhcyBnZW5hdWVyZXMgenUgZGVtIEZhaHJzZXJ2aWNlIHNhZ2VuIHdlbm4gbWFuIG1hbCBnZW5hdWVyCndlaXNzIHdvIGRhcyBpc3QgLi4uCkljaCBhbHMgTmljaHQtTXVlbnN0ZXJhbmVyIGhhYiBqYSBrZWluZW4gU2NoaW1tZXIgd292b24gaWhyIHJlZGV0IHdlbm4gaWhyCktpbmRlcmhhdXMgb2RlciBzbyBzYWd0LgoKQWxzbyBlcnN0IEthcnRlbiBvZGVyIHNvd2FzIHVuZCBkYW5uIHdlaXRlcmUgUGxhbnVuZyA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYWFkeSBpbiBCZXJsaW4/IChBbHBoYSwgMzAuIEp1bCAxOTk3LCAxMDo1NjoxMCk6CkljaCB3b2xsdGUgbnVyIG1hbCBuYWNoZnJhZ2VuLCBvYiBlcyBuYWVjaHN0ZXMgSmFociB2aWVsbGVpY2h0IG1hbCB3aWVkZXIgbmUKUGFydHkgaW4gQmVybGluIG9kZXIgYW4gbmVtIGFlaG5saWNoIG5haGVuIE9ydCAoSGFubm92ZXIsIFdvbGZzYnVyZywKQnJhdW5zY2h3ZWlnLi4uKSBnaWJ0LiBadW0gQ2FtcGVuIGhhdCBBbHBoYSBuYWVtbGljaCBnYXIga2VpbmUgTHVzdCwKTWFzZW51bnRlcmt1ZW5mdGUgc2luZCBhdWNoIG5pY2h0IG1laW4gQmllciB1bmQgMjAwIEVpZXIgcHJvIE5hY2h0IGFiZHJ1ZWNrZW4KaXN0IG5pY2h0IGRyaW5uIGltIEJ1ZGdldCAtIHRhZWdsaWNoIGZhaHJlbiBrb21tdCBiZWkgTXVlbnN0ZXIgZ2VuYXVzbyB0ZXVlci4KQWxzbywgd2llIHdhZXIgZXMgbWl0IEJlcmxpbj8gWnp6enosIDJoIGF1ZiBkZXIgQXV0b2JhaG4sIHVuZCBpY2ggYmluIGRhLAp6enp6eiAyaCB1bmQgaWNoIGJpbiB3ZWNoLgpBbHBoYSBtb2VjaHRlIGF1Y2ggbWFsIGF1ZiBNRy1QYWFkeSwgYWJlciBuaWNodCBjYW1wZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYWFkeSBpbiBCZXJsaW4/IChSYWZmaSwgMzAuIEp1bCAxOTk3LCAxNTozODoyMCk6Cn4jISBybj1BbHBoYSBydD04NzAyNTI5NzAgcmc9cGFydHkKfiMhIHRpZD04NzAyNTI5NzAKCkFsc28gU3VlZGVuIHdhZXJlIGJlc3NlciAtIHVuZCBiaXNoZXIgYXVjaCB1bnRlcnJlcHJhZXNlbnRpZXJ0LiBXaWUgd2FlcnMgYWxzbwptaXQgTnVlcm5iZXJnL0VybGFuZ2VuID8gKG9id29obCBtdWVuY2hlbiB3YWVocmUgb3B0aW1hbCAqZ3JpbnMqKQoKSnVodSBLcmlnaS9Fc2N1Ly4uLiA6KQoKTnVlcm5iZXJnL0VybGFuZ2VuIGxpZWd0IHNlaHIgWmVudHJhbCwgdW5kIGR1ZXJmdGUgc293b2hsIGZ1ZXIgZGllIFdlc3NpZXMsCmFscyBhdWNoIHVuc2VyZSBPc3NpZXMgKERyZXNkZW4vTGVpYnRzY2gpIGd1dCBlcmVpY2hiYXIgc2VpbiAodW5kIG5hY2ggQmVybGluCnNpbmQgZXMgYXVjaCBrZWluZSA0IFN0dW5kZW4pCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYWFkeSBpbiBCZXJsaW4/IChBY3JpbW9uLCAzMC4gSnVsIDE5OTcsIDE2OjA5OjU0KToKfiMhIHJuPVJhZmZpIHJ0PTg3MDI2OTkwMCByZz1wYXJ0eQp+IyEgdGlkPTg3MDI1Mjk3MApTdGltbXQsIE11ZW5jaGVuIGlzdCBhbSBiZXN0ZW4hCkRhbm4ga2FubiBhdWNoIGljaCBtYWwga29tbWVuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYWFkeSBpbiBCZXJsaW4/IChDYXJhZGhyYXMsIDMwLiBKdWwgMTk5NywgMTg6Mjc6MDcpOgp+IyEgcm49QWNyaW1vbiBydD04NzAyNzE3OTQgcmc9cGFydHkKfiMhIHRpZD04NzAyNTI5NzAKU3RpbW10LCBNdWVuY2hlbiBpc3QgYW0gYmVzdGVuLCBkYW5uIGthbm4gaWNoIGF1Y2ggbWFsIGtvbW1lbi4gOi0pCgogICBCZXJnY2hlbiBDYXJhZGhyYXMgLSB3aWxsIGF1Y2ggaW5zIEFscGVudm9ybGFuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFhZHkgaW4gQmVybGluPyAoR2FzdDIsIDMwLiBKdWwgMTk5NywgMjI6Mjk6MjIpOgp+IyEgcm49Q2FyYWRocmFzIHJ0PTg3MDI4MDAyNyByZz1wYXJ0eQp+IyEgdGlkPTg3MDI1Mjk3MApLYXVtIGlzdCBkaWUgZWluZSBQYXJ0eSBpbSBBbmJydWNoLCBkYSBwbGFuZW4gUmFmZmkgdW5kIEFjcmltb24gc2Nob24KZGllIG5hZWNoc3RlLiBBYmVyIHdlbm4gaWhyIHNvIHZpZWxlIHNlaWQsIGRhbm4gcmljaHRldCBzaWUgZG9jaCBhdXMsCmFuc3RhdHQgZGFuYWNoIHp1IHNjaHJlaWVuIDopCgpHbG9pbiAuLi4gdW5kIGVpbnMgaXN0IGphIHNjaG9uIHNlaXQgMig/KSBKYWhyZW4ga2xhcjogRHJlc2RlbiAyMDAwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYWFkeSBpbiBCZXJsaW4/IChTdW5mbG93ZXIsIDMwLiBKdWwgMTk5NywgMjI6MzA6NDIpOgp+IyEgcm49R2FzdDIgcnQ9ODcwMjk0NTYyIHJnPXBhcnR5Cn4jISB0aWQ9ODcwMjUyOTcwCkp1cCBEcmVzZGVuIDIwMDAgaW4gZWluZW0gU29ubmVuYmx1bWVuZmVsZCBiZWkgbWVpbmVuIEdlc2Nod2lzdGVybiA6LSkKSW0gRXJuc3Q6CkhpZXJtaXQgbWVsZGV0IHNpY2ggRHJlc2RlbiBmdWVyIGRpZSBBdXN0cmFndW5nIGRlciBNRyBQYXJ0eSAyMDAwIGFuLApncnVuZDogbmV1ZXJkaW5ncyBIb2NoYnVyZyB2b24gbGllYmVuIG5ldHRlbiBNdWRkZXJuICggYXVzc2VyIG1laW5lcgpXZW5pZ2tlaXQpCgoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhYWR5IGluIEJlcmxpbj8gKEtleSwgMzAuIEp1bCAxOTk3LCAyMzowNzoxMyk6Cn4jISBybj1TdW5mbG93ZXIgcnQ9ODcwMjk0NjQyIHJnPXBhcnR5Cn4jISB0aWQ9ODcwMjUyOTcwCkpvb3AgcGxhbnQgbWFsIG5lIFBhcnR5IGluIE11ZW5jaGVuIDopIFNvIHp1bSBPa3RvYmVyZmVzdCBoaW4gOyk9CgpBbnNvbnN0ZW4gbWFsIHdhcyB6ZW50cmFsZXMgLi4uLiBGcmFua3RmdXJ0IGFtIE1haW4gOykgTmEgRGFuY2VyIG1hY2ggbWFsIHdhcwo7KSkKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFhZHkgaW4gQmVybGluPyAoQmxvb2R5aGFycnksIDMxLiBKdWwgMTk5NywgMDE6MDI6MjQpOgp+IyEgcm49S2V5IHJ0PTg3MDI5NjgzMyByZz1wYXJ0eQp+IyEgdGlkPTg3MDI1Mjk3MApEYSBkZXIgdWViZXJ3aWVnZW5kZSBUZWlsIGFuIE11ZGRlcm4gYXVzIGRlbSBSdWhyZ2ViaWV0IHN0YW1tdCwgc29sbHRlIGRpZXNlCnJlZ2lvbiBzaWNoZXIgYXVjaCBlaW4gTWl0c3ByYWNoZXJlY2h0IGFuIGRlbSBuYWVjaHN0ZW4gUGFhZHkgQXVzdHJhZ3VuZ3NvcnQKaGFiZW4uIERhcyBzb2xsdGV0IGlociBuaWNodCB2ZXJnZXNzZW4uCk5laW4uIEljaCB3ZXJkZSBrZWluZSBQYXJ0eSBvcmdhbmlzaWVyZW4uIFdvbGx0ZSBudXIgZWluIHdlbmlnIGRpZSBJbnRlcmVzc2VuCndhY2hydWV0dGVsbi4KCmJoIC0gaXMgZnVlciBDYXN0cm9wLVJhdXhlbCAyMDAwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhYWR5IGluIEJlcmxpbj8gKEx1ZywgMzEuIEp1bCAxOTk3LCAwMTo0NTowMSk6Cn4jISBybj1SYWZmaSBydD04NzAyNjk5MDAgcmc9cGFydHkKfiMhIHRpZD04NzAyNTI5NzAKCk5vZSwKCndlaXRlciBOb3JkZW4gaXN0IGJlc3NlcjogSmV2ZXIgb2RlciBBbXJ1bS4KTXVlbmNoZW4/IEFlaCwgc2Nob25tYWwgZGFyYW4gZ2VkYWNodCwgZGFzIG5pY2h0IGFsbGUgYXVzIGRlbSBTdWVkZW4ga29tbWVuPwoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYWFkeSBpbiBCZXJsaW4/IChKYW5pdHplLCAzMS4gSnVsIDE5OTcsIDExOjI4OjQ5KToKfiMhIHJuPUx1ZyBydD04NzAzMDYzMDEgcmc9cGFydHkKfiMhIHRpZD04NzAyNTI5NzAKaWNoIGZ1ZXIgbWVpbmVuIFRlaWwgZmluZGUgTXVlbmNoZW4gYXVjaCBldHdhcyB3ZWl0IHdlZywgaWNoIHdhZXIgYXVjaCBlaGVyCmZ1ZXJzIFJ1aHJnZWJpZXQsIG9kZXIgZGllIEdlZ2VuZCB1bSBOdWVybmJlcmcvRXJsYW5nZW4KCkphbmljZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFhZHkgaW4gQmVybGluPyAoUGFtcGVycywgMzEuIEp1bCAxOTk3LCAxMToyOTozNik6Cn4jISBybj1KYW5pdHplIHJ0PTg3MDM0MTMyOSByZz1wYXJ0eQp+IyEgdGlkPTg3MDI1Mjk3MApVbmQgaWNoIGJpbiBmdWVyIGRpZSBCYWhhbWFzLgpBYmVyIG1pY2ggZnJhZ3QgamEga2VpbmVyLgoKUGFtcGVycy4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFplaXRwbGFuIChSem5lLCAzMS4gSnVsIDE5OTcsIDExOjI5OjU0KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODY5ODU1MTk3IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NzY2NjQzCkRhcyBoZWlzc3QgZWlnZW50bGljaCwgZGFzcyBkaWUgUGFydHkgZWhlciBpbiBPc25hYnJ1ZWNrIGFscyBpbiBNdWVuc3RlcgpzdGF0dGZpbmRldCwgc293ZWl0IGF1c3NlcmhhbGIgbGllZ3QgZGVyIEtvdHRlbi4KCk1lcmtlOiBKZWRlIFBhcnR5IGhhdCBkaWUgIk9yZ2FuaXNhdG9yZW4iLCBkaWUgc2llIHZlcmRpZW50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFhZHkgaW4gQmVybGluPyAoUm9jaHVzLCAzMS4gSnVsIDE5OTcsIDEzOjE3OjU2KToKfiMhIHJuPVN1bmZsb3dlciBydD04NzAyOTQ2NDIgcmc9cGFydHkKfiMhIHRpZD04NzAyNTI5NzAKRGFzIHBhc3N0OiBEcmVzZGVuIGluIGVpbmVtIEJsdW1lbmZlbGQgKHdlbm4gYXVjaCBuaWNodApnZXJhZGUgZ3V0IHJpZWNoZW5kZSBSb3Nlbi4uLikKCiAgUm9jaHVzIChmcmFndCBzaWNoLCB3ZXIgZGllc2VuIEFydGlrZWwgdmVyc3RhbmRlbiBoYXQgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWVkZXJzYWNoc2VubGllZCAoTHVnLCAgMS4gQXVnIDE5OTcsIDE0OjUzOjI5KToKCkFsc28sIE11ZW5zdGVyIGxpZWd0IGphIGluIGRlciBOYWVoZSBkZXIgTmllZGVyc2FlY2hzaXNjaGVuIEdyZW56ZS4gRGFydW0gZnVlcgphbGxlIFN1ZWRkZXV0c2NoZW4gbnVuIGRpZSBFcmtlbm51bmdzbWVsb2RpZS4gCihKZXR6dCBkcmVodCBTdW5ueSBkdXJjaCk6CgpOaWVkZXJzYWNoc2VubGllZAoKVm9uIGRlciBXZXNlciBiaXMgenVyIEVsYmUsIHZvbiBkZW0gSGFyeiBiaXMgYW4gZGFzIE1lZXIsCnN0ZWhlbiBOaWVkZXJzYWNoc2VucyBTb2VobmUsIGVpbmUgZmVzdGUgQnVyZyB1bmQgV2Voci4KRmVzdCB3aWUgdW5zZXJlIEVpY2hlbiBoYWx0ZW4gYWxsZSBaZWl0IHdpciBzdGFuZCwKd2VubiBkaWUgU3R1ZXJtZSBicmF1c2VuIHVlYmVycyBkZXV0c2NoZSBWYXRlcmxhbmQuCgpXaXIgc2luZCBkaWUgTmllZGVyc2FjaHNlbiwgc3R1cm1mZXN0IHVuZCBlcmR2ZXJ3YWNoc2VuLApIZWlsIEhlcnpvZyBXaWR1a2luZHMgU3RhbW0hICgyeCkKCldvIGZpZWxlbiBkaWUgcm9lbWlzY2hlbiBTY2hlcmdlbiwgd28gdmVyc2FuayBkaWUgd2Vsc2NoZSBCcnV0PwpJbiBOaWVkZXJzYWNoc2VucyBCZXJnZW4sIGFuIE5pZWRlcnNhY2hzZW5zIE11dC4KV2VyIHdhcmYgZGVuIHJvZW1pc2NoZW4gQWRsZXIgbmllZGVyIGluIGRlbiBTYW5kPwpXZXIgaGllbHQgZGllIEZyZWloZWl0IGhvY2ggaW0gZGV1dHNjaGVuIFZhdGVybGFuZD8KCkRhcyB3YXJlbiBkaWUgTmllZGVyc2FjaHNlbiwgc3R1cm1mZXN0IHVuZCBlcmR2ZXJ3YWNoc2VuLApIZWlsIEhlcnpvZyBXaWR1a2luZHMgU3RhbW0hICgyeCkKCgpBdXMgZGVyIFZhZXRlciBCbHV0IHVuZCBXdW5kZW4sIHdhZWNoc3QgZGVyIFNvZWhuZSBIZWxkZW5tdXQuCk5pZWRlcnNhY2hzZW4gc29sbHRzIGJla3VuZGVuIGZ1ZXIgZGllIEZyZWloZWl0IEd1dCB1bmQgQmx1dC4KRmVzdCB3aWUgdW5zZXJlIEVpY2hlbiBoYWx0ZW4gYWxsZSBaZWl0IHdpciBzdGFuZCwKd2VubiBkaWUgU3R1ZXJtZSBicmF1c2VuIHVlYmVycyBkZXV0c2NoZSBWYXRlcmxhbmQuCgpXaXIgc2luZCBkaWUgTmllZGVyc2FjaHNlbiwgc3R1cm1mZXN0IHVuZCBlcmR2ZXJ3YWNoc2VuLApIZWlsIEhlcnpvZyBXaWR1a2luZHMgU3RhbW0hCgpBdWYgYmx1ZWhlbmQgcm90ZXIgSGVpZGUgc3RhcmJlbiBlaW5zdCB2aWVsIHRhdXNlbmQgTWFubi4KRnVlciBOaWVkZXJzYWNoc2VucyBUcmV1ZSB0cmFmIHNpZSBkZXMgRlJhbmtlbiBCYW5uLgpWaWVsIHRhdXNlbmQgQnJ1ZWRlciBmaWVsZW4gZHVyY2ggZGVzIEhlbmtlcnMgSGFuZC4KVmllbCB0YXVzZW5kIEJydWVkZXIgZnVlciBpaHIgTmllZGVyc2FjaHNlbmxhbmQuCgpEYXMgd2FyZW4gZGllIE5pZWRlcnNhY2hzZW4sIHN0dXJtZmVzdCB1bmQgZXJkdmVyd2FjaHNlbiwKSGVpbCBIZXJ6byBXaWR1a2luZHMgU3RhbW0hICgyeCkKCgpJaHIgc3VlZGRldXRzY2hlbiBMdXNjaGVuIHppZWh0IEV1Y2ggd2FyIGFuIDspIEFwcm9wb3MsIHZpZWxsZWljaHQga2VubnQgamEKZWluZXIgdm9uIEV1Y2ggZGFzIEFsYW1hbm5lbi1HZWRpY2h0PyBBZWhubGljaC4KCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmllZGVyc2FjaHNlbmxpZWQgMiAoTHVnLCAgMS4gQXVnIDE5OTcsIDE1OjEyOjExKToKClVuZCBoaWVyIG51biBkaWUgRnJpZWRhICYgQW5uZWxpZXNlIFZlcnNpb246CgpWb24gZGVyIEJ1bmtlIGJpcyBuYWNoIEtyb2VsbGUsIHZvbiBNZXJhbiBiaXMgYW4gZGFzIE1lZXIsCmR1cmNoIE5pZWRlcnNhY2hzZW5zIEhvZWxsZSwgdm9uIGdhbnogdW50ZW4gYmlzIG5hY2ggTGVlci4KQWxsIGRpZSBzY2hvZW5lbiBLYWZmZWVmYWhydGVuIHVlYmVycyBwbGF0dGUgTGFuZC4gIkphdWphdSIuCkJpZW5lbnN0aWNoIHVuZCBTY2h3ZWluZWJyYXRlbiBmdWVyIFp3ZWlmdWZmemljaCBhdWYgZGllIEhhbmQuCgpGcmllZGEgdW5kIEFubmVsaWVzZSBrZWluZXIga29tbXQgcnVtIHdpZSBkaWVzZSwKdm9tIEhhcnogYmlzIHp1ciBXYXRlcmthbnQuCiJGcmllZGEhIiBzY2hyaWUgQW5uZWxpZXNlLCAiZ3VjayBtYWwgZGEgaGludGVuISIgc2NocmllIHNpZSwKImRhIG1lbGtlbiBzaWUgbm9jaCBtaXQgZGVyIGhhbmQuIiAiQmFlaCEiCgpXbyB0cmlua3QgbWFuIGx1ZXR0amUgTGFnZW4sIGtvbW10IGluIGRpZSBDb2xhIG5vY2ggZGVyIEtvcm4/CldvIGhhdCBzbyBtYW5jaGVyIE1hZ2VuLCBkZW4gSW5oYWx0IHNjaG5lbGwgdmVybG9yZW4/CldvIHNpbmQgZGllIFNjaHdlaW5laGFlbGZ0ZW4gaGFsYiBzbyBncm9zcyB3aWUnbiBTY2h3ZWluPwpXbyBzaW5kIGRpZSBIdWVobmVyc3RhZWxsZSBmdWVyIGRpZSBIdWVobmVyIHZpZWwgenUga2xlaW4/CgpCZWkgRnJpZWRhIHVuZCBBbm5lbGllc2UgcmVjaHRzIGFuIGRlciBQb2dnZW53aWVzZSwKcmllY2h0IHN0cmVuZyBuYWNoIEd1ZWxsZSBkYXMgTGFuZC4KIkZyaWVkYSEiLCBzY2hyaWUgQU5uZWxpZXNlLCAiZ3VjayBtYWwgZGFzIFNjaHdlaW4gZGEhIiwgc2NocmllIHNpZSwKImRhcyBpc3QgbWl0IHVucyBub2NoIHZlcndhbmR0LiIKClVudGVybSBBY2tlciBsaWVndCBkZXIgT3BhLCBvYmVuIGRyYXVmIGRhIHN0ZWh0IGRlciBNYWlzLgpVbmQgZGFzIGdlbGQga29tbXQgYXVzIEV1cm9wYSwgZGVyIFBvbGl0aWsgc2VpIExvYiB1bmQgUHJlaXMhCkJvaG5lYnJhY2hlLCBFcmJzZW5zdXBwZSBiYXVlbiBhbGxlIFplaXQgd2lyIGFuLCAiaG5obiIKYXVzIFJ1ZWJlbmJsYXR0IHVuZCBRdWVja2UgYnJlbm5lbiB3aXIgU2NobmFlcHNlIGRhbm4gdW5kIHdhbm4uCgpCZWkgdW5zIGhpZXIgaW4gTmllZGVyc2FjaHNlbiwgd28gaGFuZiB1bmQgSG9uaWcgd2FjaHNlbiwKc2Nod2ltbXQgYXVmIGRlciBNaWxjaCBub2NoIGRlciBTY2htYW5kLgpCZWkgdW5zIGhpZXIgaW4gTmllZGVyc2FjaHNlbiBnaWJ0cydzIGF1Y2ggdmllbCBUaWVyYXJ6dHByYXhlbgpmdWVyIFJvc3MgdW5kIFJlaXRlciBpbSBMYW5kLgoKRnJpZWRhIHVuZCBBbm5lbGllc2UsIGdhZWIncyBub2NoIHZpZWwgbWVociB3aWUgZGllc2UsCmRhbm4gZ2luZydzIGJlcmdhdWYgbWl0IGRlbSBMYW5kLgpNaXQgRnJpZWRhIHVuZCBBbm5lbGllc2UgcmF1cyBhdXMgZGVyIFdpcnRzY2hhZnRza3Jpc2UuCiJVbmQgbWl0IGRlbSBMYW5kZnJhdWVudmVyYmFuZCEiICJBY2ggaGFsdCBEdSBkb2NoIGRlbiBSYW5kISIKCgpIbm5obm5ubm4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaZWl0cGxhbiAoU29jcmF0ZSwgIDEuIEF1ZyAxOTk3LCAxNjoyMDoxMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODcwMjAwMzc0IHJnPXBhcnR5Cn4jISB0aWQ9ODY5NzY2NjQzCkVpbiBhbHRlciBTcGVpY2hlciBiZWltIEJhdWVybiBpbiBkZXIgTmFlaGUgdm9uIGRlciBHYXNzZWxzdGllZ2U/IGljaCBnbGF1YmUKZGFzIFRlaWwgaGVpc3N0ICJKb3ZlbCIuClNvY3JhdGUgLCBpbW1lciBoaWxmc2JlcmVpdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFhZHkgaW4gQmVybGluPyAoUGFtcGVycywgIDQuIEF1ZyAxOTk3LCAxMjoyMjowOCk6Cn4jISBybj1BbHBoYSBydD04NzA2ODk5NDQgcmc9cGFydHkKfiMhIHRpZD04NzAyNTI5NzAKTWVpbmUgRnJlc3NlLiAiSWNoIHdpbGwgZ2VybmUgaW4gSGludGVydHVwZmluZ2VuIGZlaWVybiwgd2VpbCBkYSBkZXIgU2Nod2FnZXIKZGVyIENvdXNpbmUgbWVpbmVyIE1hbWEgd29obnQiICJOZWVlLCBkYXMgaXN0IG1pciBhYmVyIHp1IHdlaXQgd2VnLCBkYSB3YXIKZG9jaCBzY2hvbiB2b3IgMyBKYWhyZW4gZXJzdCBuZSBQYXJ0eSBudXIgNzMga20gZW50ZmVybnQiCiJJY2ggZmluZHMgYWJlciBuaWNodCBndXQsIGRhc3MgZGllIFBhcnRpZXMgaW1tZXIgZGEgc2luZCwgd28gaWNoIG5pY2h0IGJpbiIKdXN3LiBldGMuIHBwLgoKKnNldWZ6KiAKCkljaCBiaW4gaW1tZXIgbm9jaCBmdWVyIGRpZSBCYWhhbWFzLgoKUGFtcGVycy4gVGllZWVlZWVmZXIgU2V1ZnplcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBhYWR5IGluIEJlcmxpbj8gKFNpbHZhbmEsICA0LiBBdWcgMTk5NywgMTI6MjQ6NTkpOgp+IyEgcm49UGFtcGVycyBydD04NzA2OTAxMjggcmc9cGFydHkKfiMhIHRpZD04NzAyNTI5NzAKQmFoYW1hcz8gVmllbCB6dSBoZWlzcy4uLiBPYndvaGwuLi4gd2VubiBkZXIgQW5mbHVnIGluIGRlbiB1ZWJsaWNoZW4gMjAuLQpQYXJ0eWdlbGQgZW50aGFsdGVuIGlzdC4uLiA6KSBPcmdhbmlzaWVydHN0IER1IGRhcywgV2luZGVsPwogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZhaHJzZXJ2aWNlPyAoRnl0LCAgNC4gQXVnIDE5OTcsIDE2OjIxOjQ2KToKfiMhIHJuPUNhcmFkaHJhcyBydD04Njk4NTEyMTIgcmc9cGFydHkKfiMhIHRpZD04Njk3NjY1NDcKYW50d29ydGUKCkhtLCBlcyBzY2hlaW50IE1lbnNjaGVuIHp1IGdlYmVuLCBkaWUgc2ljaCAyMjAgRE0gZnVlciBuZSBVZWJlcm5hY2h0dW5nCmxlaXN0ZW4uLi4KCkZ5dCwgbWl0IFNpY2hlcmhlaXQgbmljaHQgZGF6dWdlaG9lcmVuZCwgYWJlciBhdXNtYWhuc3dlaXNlIG1hbCB0b2xlcmFudApzZWllbmQgKG5hamEsIGRpZSBBbHRlcm5hdGl2ZSB3YWVyZSBXdXJ6ZWwgaW0gTmFjaGJhcnplbHQgOy0tKSApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVWViZXJ3ZWlzZW4hIChGeXQsICA0LiBBdWcgMTk5NywgMTY6MjQ6MDApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3MDIwMDg2OSByZz1wYXJ0eQp+IyEgdGlkPTg3MDIwMDg2OQoKRXJob2VoZSBkb2NoIGRlbiBBYmVuZGthc3NlbnByZWlzIHNjaG9uIG1hbCBhdWYgMzUgRE0sIGRhc3Mgc29sbHRlCmFuZmFuZ2VuLCB6dSB1ZWJlcnpldWdlbiwgdW5kIHdlbm4gZGFzIG5pY2h0IGhpbGZ0LCBoYWx0IHdlaXRlci4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmFocnNlcnZpY2U/IChXdXJ6ZWwsICA0LiBBdWcgMTk5NywgMTk6MTk6MDgpOgp+IyEgcm49Rnl0IHJ0PTg3MDcwNDUwNiByZz1wYXJ0eQp+IyEgdGlkPTg2OTc2NjU0NwpuaXggZ2lidHMuIHplbHRlbiBpc3Qgd2FzIGZ1ZXIgbGV1dGUsIGRpZSBnZXJuZSBoYXJ0IGxpZWdlbiB1bmQgc2ljaCB2b24gCmFtZWlzZW4gYW5rbmFiYmVybiBsYXNzZW4gd29sbGVuLCBtb3JnZW5zIGtlaW5lIGR1c2NoZSB3b2xsZW4gZGllIG5hZWhlciBhbHMKMTAga20gZW50ZmVybnQgaXN0IHVuZCBhdWNoIHNvbnN0IG5hY2ggZGVyIGRldmlzZSBsZWJlbiAid2FzIHVucyBuaWNodCAKdW1icmluZ3QgbWFjaHQgdW5zIGhhcnQiLiBuZWluIGRhbmtlLgoKd3VyemVsICh3ZWljaGVpLCB3YXJtZHVzY2hlciBldGMuKQoKcC5zLiBlcyBnaWJ0IGluIG11ZW5zdGVyIGR1cmNoYXVzIGd1ZW5zdGlnZXJlIGhvdGVscyBhbHMgZGFzIGRvcmludC4gYWJlciBudXIKd2VuaWdlIG1pdCBtZWhyIGtvbWZvcnQuLi4gZmFsbHMgamVtYW5kIHRpcHMgYnJhdWNodCwga2FubiBtYW4gbWljaCBhbm1haWxlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJPWUdST1VQQVVGVFJJVFQgKFBhbXBlcnMsICA0LiBBdWcgMTk5NywgMjA6Mjg6MzgpOgpIaWVybWl0IGlzdCBlcyBvZmZpemllbGw6CgpEZXIgU2Nod2FybSBhbGxlciBGcmF1ZW4sIGRlciBUcmF1bSBhbGxlciBEYW1lbjoKCgogICAgIExFIFNDSExVRUNLUwoKdHJldGVuIGluIE11ZW5zdGVyIGF1Zi4KCk1pdCBkYWJlaSB3aWVkZXIsd2llIGF1Y2ggc2Nob24gYXVmIGRlbSBsZWdlbmRhZXJlbiBBdWZ0cml0dCBpbiBLYXJsc3J1aGU6CgpNYWdpYyBQYW1wZXJzLCBLZW5pYWwgS2xvbmsgdW5kIE91bmdsYXVibGlzY2ggT2V0dGkhCgpGZXJuZXIgd3VyZGUgdmVybGF1dGJhcnQsIGRhcyB7XHRpbnkgS2V5cyBrb21pc2NoZSBuZXVlIEJveWdyb3VwIGRlcmVuIE5hbWUKbm9jaCBuaWNodCBmZXN0c3RlaHR9IGF1Y2ggYXVmdHJldGV0biB3aXJkLgoKCkltIE5hbWVuIGRlcyBGZXN0a29taXRlZXM6CgpQYW1wZXJzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2llIGpldHo/IChEdXN0eSwgIDQuIEF1ZyAxOTk3LCAyMDozMToyNik6CmhhbGx1LAoKYWxzbyB3aWUgaXN0IGRhcyBqZXR6IG1pdCB1ZWJlcm5hY2h0dW5nc21vZWdsaWNoa2VpdCBpbiBtdWVuc3Rlcj8gZ2lieiBuZQp0dXJuaGFsbGUsIG9kZXIgZ2lidHMgZWluZW4gT0ZGSVpJRUxMRU4gemVsdHBsYXR6LCBvZGVyIHdhcyBnaWJ0cyBkYQp1ZWJlcmhhdXB0PyB1bmQgd2llIGthbm4gbWFuIHZvbSBiYWhuaG9mIGF1cyB6dSBpcmdlbmRlaW5lbSB0cmVmZnB1bmt0IGtvbW1lbj8KCmZ1dWVyIHVucyBvZXNpcyBpc3QgZGFzIG5hZW1saWNoIG5pY2h0IHNvIGVpbmZhY2ggc28gaW5zIGJsYXVlIGZhaHJlbiwgdW5kCmF1Y2ggZGllIGJhaG4gaXN0IG5pY2h0IGJpbGxpZywgZGVzd2VnZW4gd3VlcmQgaWNoIG1pY2ggZnJldWVuIHdlbm4gaWNoCmlyZ2VuZHdhcyB3aXNzZW4gd3VlcmRlLCB3byB3aXIgc2ljaGVyIHVlYmVybmFjaHRlbiBrb2VubnRlbi4uIChnaWx0IGZ1ZXIKcGVubnksIGZyZWRlcmljaywgc3RhaGwgdW5kIG1pY2ggdW5kIGV2LiB3b29keS4uLi4pCgpkYW5rZSwKCmR1c3R5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGYWhyc2VydmljZT8gKEhhdGUsICA0LiBBdWcgMTk5NywgMjA6NDE6NTUpOgp+IyEgcm49V3VyemVsIHJ0PTg3MDcxNTE0OCByZz1wYXJ0eQp+IyEgdGlkPTg2OTc2NjU0NwpBbHNvIGljaCBsaWVnZSBnZXJuIGhhcnQuIFVuZCBlaW4vendlaSBUYWdlIG1hbCBuaWNodCB3YXNjaGVuLiBXYXMgc29sbHMKV2FzIHVucyBuaWNodCB1bWJyaW5ndCwgbWFjaHQgdW5zIGhhZXJ0ZXIuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdpZSBqZXR6PyAoVGFuZ2FsdXIsICA2LiBBdWcgMTk5NywgMTA6NDE6MDApOgp+IyEgcm49RHVzdHkgcnQ9ODcwNzE5NDg2IHJnPXBhcnR5Cn4jISB0aWQ9ODcwNzE5NDg2CkFsc28gZWluIEhvdGVsIGZ1ZXIgMjAwIHVuZCBtZWhyIERNcyB3ZXJkZSBzaWNoIHdvaGwgZGllIHdlbmlnc3RlbiBsZWlzdGVuCmtvZW5uZW4gISEhIFdhZXJlIGRvY2ggZ2FueiBuZXR0IHdlbm4gc2ljaCBkaWUgT3JnYW5pc2F0b3JlbiBkZXIgUGFydHkKZG9jaCBtYWwgZXR3YXMgZ2VuYXVlciB1ZWJlciBkaWUgVWViZXJuYWNodHVuZ3Ntb2VnbGljaGtlaXRlbiBpbiBNdWVuc3RlcgphdXNsYXNzZW4gd3VlcmRlbi4gV2lsZGVzIENhbXBlbiBpc3QgendhciBnYW56IHNwYXNzaWcgYWJlciBzbyB3aWUgaWNoIGRhcwpnZXNlZW4KaGFiZSBsaWVndCBkZXIgU2VlIG1pdHRlbiBpbiBNdWVuc3RlciB1bmQgZGVyIEFlcmdlciBtaXQgZGVuIEhlcnJlbiBpbiBncnVlbgppc3Qgd29obCB2b3Jwcm9ncmFtbWllcnQuIE1hbCBnYW56IHZvbiBkZW4gZmVobGVuZGVuIHNhbml0YWVyZW4gRWlucmljaHR1bmdlbgphYmdlc2VoZW4sIG9iIGRpZSBMZXV0Y2hlbiB2b24gZGVtIFlhY2h0LUNsdWIgZXMgc28gdG9sbCBmaW5kZW4gd2VubiBldHdhIDE1MApNdWRkZXIgaWhyZSBLbG9zIGluIEJlc2l0eiBuZWhlbSB3ZWlzcyBpY2ggbmljaHQgc28gcmVjaHQsIGF1c3NlcmRlbSB3YWVyZQplaW5lCkR1c2NoZSBkb2NoIGdhbnogYnJhdWNoYmFyIG9kZXIga2FubiBtYW4gZXR3YXMgaW0gQWFzZWUgc2Nod2ltbWVuLgoKTGllYmUgTGV1dGUgaW4gTXVlbnN0ZXIgdmllbGxlaWNodCBnaWJ0cyBqYSBkb2NoIGVpbmVuIENhbXBpbmdwbGF0eiBkb3J0CmlyZ2VuZG8gaW4gTXVlbnN0ZXIgPwpHcmFkZSBmdWVyIGRpZSBPZXNpcyB1bmQgYW5kZXJlIGRpZSBlaW5lIHdlaXRlbiBXZWcgYmlzIHp1ciBQYXJ0eSBoYWJlbiB3YWVyZQpkcwpkb2NoIGdhbnogbmV0dCBtYWwgZGFydWViZXIgZWluIHBhYXIgSW5mb3MgaGVyYXVzIHp1IHJ1ZWNrZW4uCgpUYW5nYWx1ciBGZXVlcnRhdHplCgpQLlMuOiBEaWVzZXIgQXJ0aWtlbCBpc3QgbnVyIGVjaHQgbWl0IG1pbmRlc3RlbnMgMTAwIFRpcHBmZWhsZXJuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3aWUgamV0ej8gKENhdHdlYXpsZSwgIDYuIEF1ZyAxOTk3LCAxMjozMzoyMCk6Cn4jISBybj1UYW5nYWx1ciBydD04NzA4NTY4NjAgcmc9cGFydHkKfiMhIHRpZD04NzA3MTk0ODYKCkFsc28hCgpGcmVpdGFncyBhYmVuZCBpc3Qgd2llIHdvaGwgamVkZXIgd2Vpc3MsIGVyc3RlcyBUcmVmZmVuIGFtIEFhc2VlLgpEb3J0IHN0ZWxsZW4gd2lyIG5lbiBHcmlsbCBhdWYsIGFuIGRlbSBqZWRlciBzZWxic3RtaXRnZWJyYWNodGVzIEdyaWxsZW4Ka2Fubiwgd2VubiBlciBkZW5uIG1vZWNodGUuCgpOYWNoIGxldHp0d29lY2hsaWNoZXIgYmVzaWNodGlndW5nIGRlciBMYWdlLCBoYWJlbiB3aXIgZWluZSBldHdhcyBob2VoZXIKZ2VsZWdlbmUsIGhpbnRlciBCdWVzY2hlbiB2ZXJzdGVja3RlLCBjYS4gMzAwbSBlbnRmZXJudGUgV2llc2UgZ2VmdW5kZW4sCmFuIGRlciBtYW4gb2huZSBnbGVpY2ggYXVmc2VoZW4genUgZXJyZWdlbiBnYW56IHByaW1hIHplbHRlbiBrYW5uLgpFaW56aWdlIEVyZnJpc2NodW5nc21vZWdsaWNoIGFtIEFhc2VlIGlzdCBsZWlkZXIgdGF0c2FlY2hsaWNoIGRhcyBiZXJ1ZWNodGlndGUKU2VnZWxoZWltLUtsby4KCldpciBfaGFiZW5fIGVpbiBUdXJuaGFsbGUgZ2VtaWV0ZXQsIGluIGRlciB1ZWJlcm5hY2h0ZXQgdW5kIHZvciBhbGxlbSAKZ2VkdXNjaHQgd2VyZGVuIGthbm4sIGRpZXNlIGJlZmluZGV0IHNpY2ggYWxsZXJkaW5ncyBpbiBLaW5kZXJoYXVzIHVuZCAKa2FubiBkYWhlciBudXIgYW5nZWZhaHJlbiB3ZXJkZW4sIGRhaGVyIGRpZSAoYmlzaGVyIGxlaWRlciBmcnVjaHRsb3NlKQpEaXNrdXNzaW9uIHVtIGRlbiBGYWhyc2VydmljZS4KCkFtIFNhbXN0YWcgZ2lidCBlcyBlaW5lIF9lcmxhdWJ0ZV8gWmVsdHdpZXNlIGFtIEJhdWVybmhvZiwgZGEgd2lyZCBlcyBtaXQKU2ljaGVyaGVpdCBrZWluZW4gZ3J1ZW5lbiBTdHJlc3MgZ2ViZW4gKGF1c3NlciBpaHIgcGZsdWVndCBkYXMgRmVsZCB1bSwgCm9kZXIgbWFjaHQgaXJnZW5kc29uZW4gTWlzdCwgdW5kIGRlciBCYXVlciBvcmdhbmlzaWVydCBlaW4gcGFhciBncnVlbmUKSmFlZ2VyKS4KCkF1Y2ggYW4gZGllc2VtIEFiZW5kIGthbm4gaW4gZGVyIEhhbGxlIHVlYmVybmFjaHRldC9nZWR1c2NodCB3ZXJkZW4sCmljaCBzYWcgYWJlciBhdWNoIG1hbCBoaWVyLCBkaWUgaW5zdCBudXIgYW5mYWhyYmFyIHVuZCBmYXN0IG5pY2h0IGFuLQpnZWhiYXIgKHNpbmQgYmVzdGltbXQgMy00a20sIEtpbmRlcmhhdXMgaGF0IG5pY2h0IHNvdmllbGUgbmFoZWxpZWdlbmRlIApIYWxsZW4gOi0pLgoKU28gZmFyLCBzbyBnb29kLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjaGluZXNlbmFlbmRlcnVuZyAoQ2F0d2VhemxlLCAgNi4gQXVnIDE5OTcsIDEyOjM1OjIxKToKCkRhIGRlciBrYWlzZXJsaWNoZSBHYXJ0ZW4gbGVpZGVyIG1hbCB3aWVkZXIgUGxlaXRlIGlzdCwgbXVlc3NlbiB3aXIgenVtCmdsZWljaGVuIHdpZSBpbSB2b3JsZXR6dGVuIGdlaGVuIChob25nIGJpYiwgb2RlciBzbyksIGRlciBhbiBkZXIgS2FuYWwtCnN0cmFzc2UuCgpJY2ggbW9lY2h0ZSBkYXJhbiBlcmlubmVybiwgc2ljaCBiZWltIFNQaWVsZXIgJ2NoaW5lc2UnIGFuenVtZWxkZW4sIG1pdCAKTWVudWV3dW5zY2ggb2RlciBuaWNodC4gCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKClBTOiBSb2NodXMsIGFlbmRlciBtYWwgZGllIEthcnRlClBQUzpBY2ggamEsIHVuZCBiaXN0IGR1IG1pdCBkZW0gU3BlaXNlcGxhbiBhYnRpcHBlbiBmZXJ0aWc/IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogd2llIGpldHo/IChCb2luZywgIDYuIEF1ZyAxOTk3LCAxMzoyNDozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODcwODYzNjAwIHJnPXBhcnR5Cn4jISB0aWQ9ODcwNzE5NDg2CldpciBrb2VubmVuIGphIGF1Y2ggd2llZGVyIGlucyBOYWNoYmFyd29obmhlaW0gdm9uIFRvZXRlciBlaW5icmVjaGVuIHVuZApkb3J0IGR1c2NoZW4sIHdpZSB2b3IgMiBKYWhyZW4uIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdpZSBqZXR6PyAoVGFuZ2FsdXIsICA2LiBBdWcgMTk5NywgMTM6Mzg6NDcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3MDg2MzYwMCByZz1wYXJ0eQp+IyEgdGlkPTg3MDcxOTQ4NgpQcmltYSB2aWVsZW4gRGFuayBmdWVyIGRpZQpwcm9tcHRlbiBJbmZvcm1hdGlvbmVuLiBadW0gRmFocnNlcnZpY2U6IGFsc28gaWNoIGJpbiBtaXQKZGVtIEF1dG8gZGEgdW5kIHdlbm4gZGEgamVtYW5kIG1pdCBTZWlmZSB1bmQgQmFkZWxhdHNjaGVuIGFtClN0enJhc3NlbnJhbmQgc3RlaHQsIGRhbm4ga29lbm50ZSBpY2ggZGVuIHNjaG9uIG1pdCBuZWhtZW4uCgpCeSB0aGUgd2F5IHZpZWxsZWljaHQga29lbm50ZSBtYW4gZGllIEluZm9zIG5vY2ggbWl0IGF1ZiBkaWUgV1dXLVNlaXRlIHBhY2tlbi4KVGFuZ2FsdXIgRmV1ZXJ0YXR6ZQoKUC5TLjogRGllc2UgQXJ0aWtlbCBoYXQgbWluZGVzdGVucyAxMDAwMCBUaXBwZmVobGVyLCB3ZWlsIGljaCBoaWVyIGF1ZiBkZW0KU2NoaXJtIG5pY2h0IHNlaGUgd2FzIGljaCBzY2hyZWliZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3aWUgamV0ej8gKEtleSwgIDcuIEF1ZyAxOTk3LCAwOTowNDoyNCk6Cn4jISBybj1Cb2luZyBydD04NzA4NjY2NzMgcmc9cGFydHkKfiMhIHRpZD04NzA3MTk0ODYKRWluYnJlY2hlbj8/IFVuZCBkYXMgdm9uIGVpbmVtIEdvdHQ/CldvdyBjb29sISAKCktleSBiZXRldCBhYiBoZXV0ZSBCb2luZyBhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdpZSBqZXR6PyAoS2V5LCAgNy4gQXVnIDE5OTcsIDA5OjA1OjU2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzA4NjM2MDAgcmc9cGFydHkKfiMhIHRpZD04NzA3MTk0ODYKSG1tIHp1bSBGYWhyc2VydmljZQoKV2llIHNvbGwgbWFuIGRlbm4gb3JkZW50bGljaCBkaWt1dGllcmVuIHdlbm4gbWFuIGtlaW5lbiBzY2hpbW1lciB2b24gZXVjaCBkYQpvYmVuIGhhdCA6KQoKV2llIGdlc2FndCBrZW5uZSBtaWNoIGluIHVuZCB1bSBNdWVudGVyIG51bGwgYXVzLCBhbHNvIG5vY2htYWxzOgpFcnN0IEthcnRlbiBvZGVyIGdlbmF1ZXJlIFdlZ2Jlc2NocmVpYnVuZ2VuLCBkYW5uIERpc2t1c2lvbiB1ZWJlciBlaW5lbgpGYWhyc2VydmljZSAuLi4KCktleSBzY2hyZWlidCBhdWNoIGVybnN0ZSBBcnRpa2VsLiAuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGNoaW5lc2VuYWVuZGVydW5nIChHbm9tZSwgIDcuIEF1ZyAxOTk3LCAxMTozODo0MSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODcwODYzNzIxIHJnPXBhcnR5Cn4jISB0aWQ9ODcwODYzNzIxCmhtbW0uLi4gY2hpbmVzZSBhbiBkZXIgS2FuYWxzdHJhc3NlLi4uIGhvZXJ0IHNpY2ggbGVja2VyIGFuLi4uIDstKQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogY2hpbmVzZW5hZW5kZXJ1bmcgKFJhZmZpLCAgNy4gQXVnIDE5OTcsIDEyOjMwOjMzKToKfiMhIHJuPUdub21lIHJ0PTg3MDk0NjcyMSByZz1wYXJ0eQp+IyEgdGlkPTg3MDg2MzcyMQpIYXQgZGVyIGRhbm4gRnJpc2NoZmlzY2hnZXJpY2h0ZSwgb2RlciBPcmlnaW5hbCBLYW5hbG1vcmNoZWxuID8KCkdyaW5zCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNoaW5lc2VuYWVuZGVydW5nIChab3JybywgIDcuIEF1ZyAxOTk3LCAxNTo1NzowMyk6Cn4jISBybj1Hbm9tZSBydD04NzA5NDY3MjEgcmc9cGFydHkKfiMhIHRpZD04NzA4NjM3MjEKV28gc29sbGVuIGRpZSBSYXR0ZW4gZGVubiBzb25zdCBoZXJrb21tZW4gLi4uIGRhZnVlciBzaW5kIHNlIGRhbm4gYXVjaCBmcmlzY2gKOikKCloqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdiZXNjaHJlaWJ1bmcgU2Ftc3RhZyBhYmVuZCAoV2FyZ29uLCAgNy4gQXVnIDE5OTcsIDE3OjQxOjU0KToKICBIaSEKSGllciBrb21tdCBzY2hvbig/KSBtYWwgZGllIFdlZ2Jlc2NocmVpYnVuZyBmdWVyIGRpZSBQYXJ0eWh1ZXR0ZSBhbSBTYW1zdGFnLApmdWVyIEF1dG9mYWhyZXI6CjEuIChhKSBBbmZhaHJ0IHVlYmVyIGRpZSBBdXRvYmFobjoKICAgICAgQmlzIE11ZW5zdGVyIE5vcmQsIGRhIGF1ZiBkaWUgQjU0IFJpY2h0dW5nIE11ZW5zdGVyLgogICAgICBBbiBkZXIgdW51ZWJlcnNlaGJhcmVuLCBkaWUgZ2VzYW10ZSBGYWhyYmFobiB1ZWJlcnNwYW5uZW5kZW4gQW1wZWwtCiAgICAgIGFubGFnZSBuYWNoIGxpbmtzIFJpY2h0dW5nIEtpbmRlcmhhdXMgYWJiaWVnZW4gKGRhcyBpc3QgZGllIHp3ZWl0ZQogICAgICBBbXBlbDsgYmVpIGRlciBlcnN0ZW4gZ2luZ3MgbmFjaCBOaWVuYmVyZ2UpLgogICAgICBEaWUgU3RyYXNzZSBoZWlzc3QgV2lsa2luZ2hlZ2UuCiAgKGIpIEFuZmFocnQgYXVzIE11ZW5zdGVyOgogICAgICBEaWUgU3RlaW5mdXJ0ZXIgU3RyYXNzZSBSaWNodHVuZyBTdGVpbmZ1cnQsIGJpcyB6dSBkZXIgdW51ZWJlcnNlaGJhcmVuCiAgICAgIGRpZSBnYW56ZSBTdHJhc3NlIHVlYmVyc3Bhbm5lbmRlbiBBbXBlbGFubGFnZS4gRG9ydCByZWNodHMgYWJiaWVnZW4KICAgICAgbmFjaCBLaW5kZXJoYXVzLgogICAgICBEaWUgU3RyYXNzZSBoZWlzc3QgYXVjaCBoaWVyIFdpbGtpbmdoZWdlIDopCjIuIERpZSBXaWxraW5naGVnZSBtYWNodCBpcmdlbmR3YW5uIG5lbiBLbmljayBuYWNoIHJlY2h0cy4gRGVyIFN0cmFzc2UgZm9sZ2VuLgozLiBBbiBkZXIgZXJzdGVuIEtyZXV6dW5nIGxpbmtzIHJlaW4gKGRhcyBpc3Qgc2Nob24gZGllIEdhc3NlbHN0aWVnZSkuCjQuIEltbWVyIGdlcmFkZWF1cy4KNS4gTm9jaCB3ZWl0ZXIgZ2VyYWRlYXVzLiBEaWUgU3RyYXNzZSBpc3Qvd2lyZCB6aWVtbGljaCBzY2htYWwuCjYuIElyZ2VuZHdhbm4gZXJzY2hlaW50IGF1ZiBkZXIgcmVjaHRlbiBTZWl0ZSwgZXR3YSAzMCBNZXRlciB2b24gZGVyIFN0cmFzc2UKICAgZW50ZmVybnQsIGRlciBhbHRlIFNwZWljaGVyLCBpbiBkZW0gZGllIFBhcnR5IHN0YXR0ZmluZGV0LgogICBEYXMgVGVpbCBpc3Qgd2lya2xpY2ggc2VociBtYXJrYW50LCBtaXQga2xlaW5lbiBUdWVybWNoZW4gdW5kIAogICBFcmtlcmNoZW4gdW5kIGVpbmVyIER1cmNoZmFocnQuIFdlbm4gaWhyIGRhcyBUZWlsIHNlaHQsIHdpc3N0IGlocjogSmV0enQKICAgaGFiZW4gd2lyIGVzIGdlc2NoYWZmdCEKICAgUGFya21vZWdsaWNoa2VpdGVuIHdlcmRlbiB3b2hsIGF1c2dlc2NoaWxkZXJ0IHNlaW4sIGRlbmtlIGljaCA6KQpJY2ggaG9mZmUsIGlociB3ZXJkZXQgZXMgZmluZGVuLiA6KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1zaGlydC1CZXN0ZWxsdW5nZW4gKFRzaGlydCwgIDguIEF1ZyAxOTk3LCAxMjowODozMSk6Ck1vaW4hCgpTbywgaWNoIGhhYiBzY2hvbiBuZW4gZ2FuemVuIFNhdHogQmVzdGVsbHVuZ2VuLCBtb2VjaHRlIGFiZXIgZGFyYXVmIApoaW53ZWlzZW4sIGRvY2ggYml0dGUgc28gc2NobmVsbCB3aWUgbW9lZ2xpY2ggenUgYmVzdGVsbGVuLCBhbSBiZXN0ZW4gamV0enQKZ2xlaWNoLCBBTExFUlNQQUVURVNURU5TIGFiZXIgYW0gMTUuQXVndXN0LCBkYSBpY2ggaW4gZGVyIFZvcnBhcnR5LVdvY2hlCk1pY2ggaG9lY2hzdHBlcnNvZW5saWNoIGluIEF1ZnRyYWcgZ2ViZW4gd2VyZGUuIApXZXIgbWljaCBhbHNvIGhhYmVuIHdpbGw6IEpFVFpUIGJlc3RlbGxlbi4KCkRhcyBNb3RpdiBpc3QgaW0gb3Blbi9QYXJ0eSB6dSBmaW5kZW4uIGJ6dyBpbiAvUGFydHkgaW0gYW5vbnltb3VzLWZ0cC4KCldlciBiZXN0ZWxsZW4gbW9lY2h0ZSwgc2NocmVpYnQgZWluZSBtYWlsIGFuIG1pY2ggbWl0IGZvbGdlbmRlbSBJbmhhbHQ6CgpNdWQtTmFtZSAoYnp3LiBOYW1lIGRlciBhdWZzIFQtc2hpcnQgc29sbCkKR3JvZXNzZQpBbnphaGwgClJMLU5hbWUKCkRlciBQcmVpcyB3aXJkIGJlaSBjYS4gMjVETSBsaWVnZW4sIEZhcmJlIHdlaXNzLgoKWW91cnMgdHJ1bHksCiAgICAgVC1TaGlydApQUzogVW5kIHZlcmdlc3N0IG5pY2h0IGRhdWVybmQgZGllIEdyb2Vzc2VuYW5nYWJlISBPaG5lIEdyb2Vzc2VuYW5nYWJlCiAgICBnaWJ0cyBrZWluIFQtU2hpcnQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1zaGlydC1CZXN0ZWxsdW5nZW4gKEFzdGFyLCAgOS4gQXVnIDE5OTcsIDEyOjU0OjMxKToKfiMhIHJuPVRzaGlydCBydD04NzEwMzQ5MTEgcmc9cGFydHkKfiMhIHRpZD04NzEwMzQ5MTEKS2FubiBtYW4gaXJnZW5kd28gbmFjaHNlaGVuLCBvYiBtYW4gc2Nob24gZWluIFRzaGlydCBiZXN0ZWxsdCBoYXQ/CgpBc3RhciAodmVyZ2Vzc2xpY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXR0ZXJiZXN0ZWxsdW5nIChLYXJ0b2ZmZWwsICA5LiBBdWcgMTk5NywgMjE6NTk6NTUpOgpIaSBDYXQqLAoKaWNoIG1vZWNodGUgbm9jaCBzY2hvZW5lcyBXZXR0ZXIgYmVzdGVsbGVuLCBhbiB3ZWxjaGVuIFNwaWVsZXIgc29sbCBpY2ggZGVubgpkYSBtYWlsZW4/CgpLYXJ0b2ZmZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXR0ZXJiZXN0ZWxsdW5nIChZYXJlbiwgIDkuIEF1ZyAxOTk3LCAyMjowMTozNSk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9ODcxMTU2Nzk1IHJnPXBhcnR5Cn4jISB0aWQ9ODcxMTU2Nzk1Ck5hLCBhbiBQZXRydXMhIEFsbGVyZGluZ3MgaXN0IGRlciBzZWl0IDczIFRhZ2VuIG5pY2h0IG1laHIgZGEgZ2V3ZXNlbiA6KAoKWWFyZW4uIFVudGVyc3R1ZXR6dCBkaWUgQmVzdGVsbHVuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXR0ZXJiZXN0ZWxsdW5nIChBbmF0b2wsICA5LiBBdWcgMTk5NywgMjI6MDI6MDkpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTg3MTE1Njc5NSByZz1wYXJ0eQp+IyEgdGlkPTg3MTE1Njc5NQpJY2ggd3VlcmRlIGVzIG1pdCAic29ubmUiIHZlcnN1Y2hlbi4uLiA7LSkgQWJlciBvYiB1bnMgU29ubmUgaW4gS2Fpc2Vyc2xhdXRlcm4KaGlsZnQsIHdlbm4gd2lyIGluIE11ZW5zdGVyIFBhcnR5IGZlaWVybi4uLj8KCkFuYXRvbC4gQXVjaCB1bnRlcnN0dWV0emVuZAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2V0dGVyYmVzdGVsbHVuZyAoQXNtb2RpcywgIDkuIEF1ZyAxOTk3LCAyMzo1NTo0Nyk6Cn4jISBybj1BbmF0b2wgcnQ9ODcxMTU2OTI5IHJnPXBhcnR5Cn4jISB0aWQ9ODcxMTU2Nzk1CkFsc28gaW4gS2Fpc2Vyc2xhdXRlcm4gaGFiZW4gd2lyIHNjaG9lbmVzIFdldHRlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2V0dGVyYmVzdGVsbHVuZyAoS2V5LCAxMC4gQXVnIDE5OTcsIDAxOjQxOjE5KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODcxMTYzNzQ3IHJnPXBhcnR5Cn4jISB0aWQ9ODcxMTU2Nzk1CkVzIGlzdCB6dSB3YXJtIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFhZHkgaW4gQmVybGluPyAoS3JldGVrLCAxMS4gQXVnIDE5OTcsIDExOjQwOjI0KToKfiMhIHJuPVJhZmZpIHJ0PTg3MDI2OTkwMCByZz1wYXJ0eQp+IyEgdGlkPTg3MDI1Mjk3MApFaW5lbiBkZXJhcnRpZ2VuIFZvcnNjaGxhZyBrb2VubnRlIGljaCBudXIgdm9sbCB1bmQgZ2FueiB1bnRlcnN0dWV0emVuIQoqKmxhYmVyIHN1ZWx6KioKTm9lLCBpbSBFcm5zdCwgZnVlciBMZXV0ZSBvaG5lIGVpZ2VuZW4gZmFocmJhcmVuIFVudGVyc2F0eiwgZGllIGF1cyBkZW4Kc3VlZGxpY2hlcmVuIEdlZmlsZGVuIEQtTGFuZHMgKG9kZXIgYXVzIE9lc2lsYW5kKSBrb21tZW4gLSB1bmQgZGFzIHNpbmQKZ2FyIG5pY2h0IG1hbCBzb29vIHdlbmlnZSAtIGlzdCBzb3dvaGwgTXVlbnN0ZXIgYWxzIGF1Y2ggQmVybGluIHppZW1saWNoCndlaXQgYWIgdm9tIFNjaHVzcy4gU293YXMgaW4gZGVyIFJpY2h0dW5nIHZvbiBOIG9kZXIgTSB3YWVyZSBkYSBtaXQgU2ljaGVyaGVpdApnZW5pYWwhCgpNYWNodCBtYWwhIDotKQoKS3JldGVLCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmllZGVyc2FjaHNlbmxpZWQgKEtyZXRlaywgMTEuIEF1ZyAxOTk3LCAxMTo0Njo1MSk6Cn4jISBybj1MdWcgcnQ9ODcwNDQwMDA5IHJnPXBhcnR5Cn4jISB0aWQ9ODcwNDQwMDA5CioqZ3J1bW1lbCoqIEdsZWljaCBwb3N0ZSBpY2ggaGllciBub2NoIGRpZSBCYXllcm4tSHltbmUhCgpLLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yYmVyZWl0dW5nc3RyZWZmZW4gKENhdHdlYXpsZSwgMTEuIEF1ZyAxOTk3LCAxMjo0MjoxMSk6Ck1vaW4hCgpGdWVyIGFsbGUgT3JnYW5pc2F0b3JlbiBtb2VjaHRlIGljaCBmdWVyIG1vcmdlbiwgRGllbnN0YWcga3VyeiB2b3JtClN0YW1tdGlzY2gsIGFsc28gZ2VnZW4gMTk6MDAgVWhyIG5vY2htYWwgZWluIGxldHp0ZXMgVm9yYmVyZWl0dW5nc3RyZWZmZW4KaW0gTWF0aGVtYXRpa2hvY2hoYXVzIGluIGRlciA2LiBFdGFnZSBhbnNldHplbi4KSWNoIGhvZmZlIGRpZXMgaXN0IG5pY2h0IHp1IGt1cnpmcmlzdGlnLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdiZXNjaHJlaWJ1bmcgZGllIDIuIChDYXR3ZWF6bGUsIDExLiBBdWcgMTk5NywgMTM6MzM6MTEpOgoKTW9pbiEKCkhpZXIgYWxzbyBtYWwgbmUgV2VnYmVzY2hyZWlidW5nIGZ1ZXIgZGVuIEZyZWl0YWcgYWJlbmQ6CgpGcmVpdGFnLCBBYXNlZToKIApNdWVuc3RlciBlcnJlaWNodCBtYW4gYW0gYmVzdGVuIHZvbiBkZXIgQXV0b2JhaG4gYXVzLCBkYXJ1bSBiZXNjaHJlaWJlCmljaCBkZW4gV2VnIGFiIEF1dG9iYWhuYWJmYWhydC4gV2VyIG1laW50LCBlciBtdWVzc2UgdW5iZWRpbmd0IHVlYmVyCkxhbmRzdHJhc3NlIGtvbW1lbiwga2FubiBkYW5uIGphIGt1cnogdm9yIE11ZW5zdGVyIGF1ZiBkaWUgQXV0b2JhaG4KYXVmZmFocmVuIDotKQogClZvbiBOb3JkZW4gdWViZXIgZGllIEExOgogCi0gTXVlbnN0ZXItTm9yZCBhYmZhaHJlbiBSaWNodHVuZyBNdWVuc3RlcgotIEVyc3QgbWFsIG5lbiBTdHVlY2sgZ2VyYWRlYXVzZmFocmVuIGJpcyBuYWNoIE11ZW5zdGVyIHJlaW4gKGNhLiAyIAogIEFtcGVsbikKLSBEYXMgbWFya2Fuc3Rlc3RlIGlzdCB3b2hsIGRpZSBFaXNzcG9ydGhhbGxlIGF1ZiBkZXIgcmVjaHRlbiBTZWl0ZSwgCiAgdHJvdHpkZW0gd2VpdGVyIGdlcmFkZWF1cyBmYWhyZW4uCi0gQW4gZGVyIG5hZWNoc3RlbiBncm9zc2VuIEFtcGVsIHF1ZXJ0IGRlciBNdWVuc3RlcmFuZXIgIlJpbmcnLCBkYSAKICBtdWVzc3QgaWhyIGRyYXVmZmFocmVuLCB3aWxsIHNhZ2VuLCByZWNodHMgYWJiaWVnZW4uIFdlbm4gaWNoIG1pY2gKICBuaWNodCB2ZXJ0dWUsIGhlaXNzdCBkZXIgUmluZyBhbiBkaWVzZXIgU3RlbGxlICdPcmxlYW5zcmluZycuCi0gRXJzdCBtYWwgbGFlbmdlciBnZXJhZGVhdXNmYWhyZW4uIElociBrb21tdCBhbSBDb2VzZmVsZGVya3JldXMgdm9yYmVpLAogIGRhIGlzdCBhdWYgZGVyIHJlY2h0ZW4gU2VpdGUgZWluIFBhcmtoYXVzIHVuZCBkYWhpbnRlciBkaWUgTWVuc2EgSUksCiAgYXVmIGRlciBfbGlua2VuXyBTZWl0ZSBhYmVyIGtvZW5udCBpaHIgZGFzIE1hdGhlaG9jaGhhdXMgYmV3dW5kZXJuLAogIGluIGRlbSBzaWNoIGluIGx1ZnRpZ2VyIEhvZWhlIGltIDYuIFN0b2NrLCBkZXIgdm9uIHVucyBhbGxlbiBtaXQKICBTaWNoZXJoZWl0IGhvY2hnZXNjaGFldHp0ZSBNb3JnZW5HcmF1ZW4tUmVjaG5lciBzZWluZW4gc3RhZW5kaWdlbgogIERpZW5zdCB0dXQgCi0gRnVlciBFdWNoIGdlaHRzIGFiZXIgaW1tZXIgbm9jaCBnZXJhZGVhdXMgd2VpdGVyLCBCaXMgaWhyIHp1bSBBYXNlZQogIGtvbW10LCBlaWdlbnRsaWNoIG5pY2h0IHp1IHVlYmVyc2VoZW4sIGRhcyBHZXdhZXNzZXIKLSBJaHIgZmFocnQgdWViZXIgZGllIEFhc2VlYnJ1ZWNrZSBkcnVlYmVyIHVuZCBhbiBkZXJlbiBFbmRlIGFuIGRlciAKICBBbXBlbCByZWNodHMuIElociBiZWhhbHRldCBkZW4gQWFzZWUgYWxzbyBhdWYgRXVyZXIgcmVjaHRlbiBTZWl0ZQogIHVuZCBzZWlkIGpldHp0IGF1ZiBkZXIgTWVja2xlbmJlY2tlciBTdHJhc3NlLgotIFNvLCBqZXR6dCBnZWh0cyB3ZWl0ZXIgZ2VyYWRlIGF1cywgYmlzIGlyZ2VuZHdhbm4gYXVmIGRlciByZWNodGVuCiAgU2VpdGUgKEljaCBnbGF1YiBlaW4gUmVzdGF1cmFudCwgYmluIG5pY2h0IHNpY2hlciwgZGFubikgZWluLCBvZWhvZW0KICAnSmFjaHRjbHViJyBlcnNjaGVpbnQsIGt1cnogZGFoaW50ZXIgaXN0IGVpbiBQYXJrcGxhdHogYXVmIGRlbiBpaHIKICBzb2Rhbm4gYXVmZmFocnQuIAotIElociBzZWlkIGpldHp0IGFtIHN1ZWRsaWNoZW4gRW5kZSB2b20gQWFzZWUuIE1pdCBlaW4gYmlzc2NoZW4gCiAgRm9yc2NoZXJnZWlzdCB3ZXJkZXQgaWhyIHNlaHIgc2NobmVsbCBlaW5lIG5pZWRsaWNoZSBrbGVpbmUgQnJ1ZWNrZQogIGdlZnVuZGVuIGhhYmVuLCBkaWUgdWViZXIgZGFzIGxldHp0ZSBBYXNlZXN0dWVjayBkcnVlYmVyIGZ1ZWhydC4KICBBbSBhbmRlcmVuIEVuZGUgZGVyIEJydWVja2UgaXN0IGRhbm4gZWluIFN0dWVjayBXaWVzZSwgYW4gZGVtIGVpbgogIGhvZWx6ZXJuZXIgUGF2aWxsb24gc3RlaHQsIGRlbiBkYW5uIGhvZmZlbnRsaWNoIGluIGt1ZXJ6ZXN0ZXIgWmVpdAogIGVpbiBIYXVmZW4gd2lsZGdld29yZGVuZXIgTXVkZGVyIG9ra3VwaWVydCBoYWJlbiB3aXJkLgogIApWb24gU3VlZGVuIHVlYmVyIGRpZSBBMToKIAotIElociBmYWhydCBNdWVuc3Rlci1TdWVkIGFiIFJpY2h0dW5nIE11ZW5zdGVyIHVuZCBiZWZpbmRldCBFdWNoIGRhbm4KICBhdWYgZGVtIGxldHp0ZW4gU3R1ZWNrIEE0My4gQXVmIGRlciBnZWh0cyB3ZWl0ZXIuLi4KIApWb24gU1VlZGVuIHVlYmVyIGRpZSBBNDM6CiAKLSBWb24gU3VlZGVuIGlzdCBkZXIgV2VnIG5vY2ggdmllbCBlaW5mYWNoZXIuIEVpbmZhY2ggc3R1bXBmIGluCiAgTXVlbnN0ZXIgcmVpbmZhaHJlbiwgYmlzIGRpZSBBdXRvYmFobiB6dWVuZGUgaXN0LCBzaWUgZW5kZXQgYW4gZWluZXIgCiAgQW1wZWwuCi0gQW4gZGllc2VyIEFtcGVsIGxpbmtzIGFiLCB1bmQgZGFubiBzb2ZvcnQgd2llZGVyIHJlY2h0cy4gSWNoIGdsYXViciAgICAgCiAgZGFzIHdpcmQgbWl0dGxlcndlaWxlIG1pdCBlaW5lciBBbXBlbCBnZXJlZ2VsdCwgYmluIG1pciBhYmVyIG5pY2h0CiAgc2ljaGVyLiBFaW5mYWNoIG5hY2ggZGVtIGxpbmtzIGZhaHJlbiBzb2ZvcnQgd2llZGVyIHJlY2h0cyBhYmJpZWdlbi4KICBEaWUgU3RyYXNzZSBoZWlzc3QgQm9lc2VsYWdlcnN0cmFzc2UuCi0gRGllIEJvZXNlbGFnZXJzdHJhc3NlIGJpcyB6dW0gRW5kZSBkdXJjaGZhaHJlbiwgc2llIGZ1ZWhydCBiaXMgenVyIAogIE1lY2tsZW5iZWNrZXIgU3RyYXNzZS4gSGllciBhbHNvIHJlY2h0cyBhYmJpZWdlbi4KLSBPa29rLCBpaHIgc2VpZCBzY2hvbiBkYSwgbnVuIHNvbGx0ZSBzb2ZvcnQgYXVmIGRlciBsaW5rZW4gU2VpdGUgZWluCiAgUGFya3BsYXR6IGF1ZnRhdWNoZW4sIGF1ZiBkZW0gaWhyIHBhcmtlbiBrb2VubnQsIHJlc3RsaWNoZSBTdWNoLQogIGFud2Vpc3VuZ2VuIHN0ZWhlbiB3ZWl0ZXIgb2Jlbi4KIApXZWxjb21lIDopCiAKRWluZSBXZWdiZXNjaHJlaWJ1bmcgenVyIFBhcnR5IGFtIFNhbXN0YWcgaGF0IGphIHNjaG9uIFdhcmdvbiB2ZXItCm9lZmZlbnRsaWNodC4gV2VpdGVyZnVlaHJlbmRlIFdlZ2Ugdm9tIEFhc2VlIGF1cywgZ2lidHMgYWxzIEluZm8gCnZvciBPcnQsIHdpbGwgc2FnZW4sIHdpciBtYWNoZW4gbmUgS2FydGUuIFdlZ2UgenVyIFBlbm5oYWxsZSBnaWJ0cwphdWNoIGFtIEFiZW5kLiAKIApTbywgZmFsbHMgamVtYW5kIGRhbWl0IHVlYmVyaGF1cHQgbmljaHQgZGFtaXQga2xhcmtvbW10IHVuZC9vZGVyCnNpY2ggdmVyZmFlaHJ0LCBnaWJ0IGVzIGZvbGdlbmRlIEluZm8tSG90bGluZToKICAgICAgICAgICAgCiAgICAgIDAxNzcgLyAzMjEtMjUwMCAKIApJc3QgZG9jaCB3aXJrbGljaCBlaW5mYWNoIHp1IGJlaGFsdGVuLiBEaWVzZSBOdW1tZXIgaXN0IHdpcmtsaWNoIApudXIgZnVlciBOT1RGQUVMTEUgZ2VkYWNodCwgd2VubiBzaWNoIGFsc28gamVtYW5kIHZlcmxhdWZlbiBoYXQgdW5kCm5pY2h0IG1laHIgd2VpdGVyIHdlaXNzLgogCldlbm4gbm9jaCBGcmFnZW4gdW5kL29kZXIgUHJvYmxlbWUgc2luZCwgc2NocmVpYmVuLgogCkJ5ZSBmb3Igbm93LAogCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoaW5lc2VuZnV0dGVyIChDYXR3ZWF6bGUsIDEyLiBBdWcgMTk5NywgMTE6Mzg6MDgpOgpNb2luIQoKVW5zIEJoYW1pciBoYXQgZGVuIENoaW5lc2Vuc3BlaXNlcGxhbiAnYXBnZXRpcHB0Jy4gRGllIHNlaGVuIHp3YXIgZWggaW1tZXIKZ2xlaWNoIGF1cywgYWJlciBpY2ggd2lsbCBpaG4gRXVjaCBuaWNodCB2b3JlbnRoYWx0ZW46Ci0tLS0tLS0tLS0tLS0KU3BlemlhbCBUb3BmLUdlcmljaHRlCkExLiBIYWVobmNoZW5maWx0IG1pdCBjaGluLiBQaWx6ZW4sIENoYW1waWdub25zIHVuZCBCcm9jY29saSAgIDIyLDUwCkEyLiBDdXJyeSBTY2h3ZWluZS0gdW5kIFJpbmRmbGVpc2NoIG1pdCBad2llYmVsbiB1bmQgQmFtYnVzc3Byb3NzZW4gMjIsMDAKQTMuIEhhZWhuY2hlbmZpbGV0LCBLcmFiYmVuIHVuZCBTY2h3ZWluZWZsZWlzY2ggbWl0IGNoaW5lcy4gR2VtdWVzZSAoU2NoYXJmKQoyMywKMDAKQTQuIEdhcm5lbGVuLCBUaW50ZW5maXNjaCwgRmlzY2hmaWxldCwgS3JlYnMtLCBTY2h3ZWluZS0sIFJpbmQsLSBIdWVobmVyLC0KRW50ZW4KZmxlaXNjaCBtaXQgR2VtdWVzZSAoc2NoYXJmKSAyNiw1MAogClBhcnRuZXItUGxhdHRlbiBmdWVyIDIgUGVyc29uZW4KKEtyYWJiZW5jaGlwcyBhbHMgVm9yc3BlaXNlOyBjaGluZXNpc2NoZXMgT2JzdCBhbHMgTmFjaHRpc2NoKQpQMS4gRmFtaWxpZW5nbHVlY2sgKGRyZWkgU29ydGVuIHZvbiBGbGVpc2NoIG1pdCBHZW11ZXNlKSA0NCwwMApQMi4gUmluZGZsZWlzY2ggbWl0IGNoaW5lc2lzY2hlbiBQaWx6ZW4sIGJhbWJ1c3Nwcm9zc2VuIHVuZCBCcm9jY29saSA0MiwwMApQMy4gQ2hpbmVzaXNjaGUgR2FybmVsZW4gbWl0IFRpbnRlbmZpc2NoLCBDaGFtcGlnbm9ucyB1bmQgQmFtYnVzc3Byb3NzZW4gNTAsMDAKUDQuIENoaW5lc2lzY2hlIEdhcm5lbGVuIG1pdCBFbnRlLCBCYW1idXNzcHJvc3NlbiB1bmQgQ2hhbXBpZ25vbnMgNTIsMDAKUDUuICJCcmF1dGVudGUiIChIYWVobmNoZW5maWxldCB1bmQgRW50ZW5mbGVpc2NoIGdlYmFja2VuIG1pdCBHZW11ZXNlIHVuZApwaWthbnQKZXIgU29zc2UpIDQ0LDAwClA2LiBCYUJhLUJhby1FbnRlICggaW4gcGlrYW50ZXIgU29zc2UgbWl0IGRpdmVyc2VtIEdlbXVlc2UpIDQ4LDAwCiAKIlRJRS1CQU4tU0hBTyIgKGhlaXNzIGdla29jaHQpCihBbGxlIEdlcmljaHRlIHdlcmRlbiBhdWYgZWluZXIgaGVpc3NlbiBHdXNzZWlzZXJuZW4gUGxhdHRlIHNlcnZpZXJ0LCBtaXQKS25vYmxhCnVjaCB1bmQgc2NoYXJmKQpUMS4gU2Nod2VpbmVmbGVpc2NoIG1pdCBQYXByaWthLCBDaGFtcGlnbm9ucyB1c3cuIDE4LDUwClQyLiBTY2h3ZWluZWZsZWlzY2ggIkNoaW5hIEFydCIgKG1pdCBHZW11ZXNlKSAxOSw1MApUMy4gU2Nod2VpbmVmbGVpc2NoIG1pdCBjaGluZXNpc2NoZW4gUGlsemVuIHVuZCBCYW1idXNzcHJvc3NlbiAyMCwwMApUNC4gUmluZGZsZWlzY2ggIkNoaW5hIEFydCIgKG1pdCBkaXZlcnNlbSBnZW11ZXNlKSAyMCw1MApUNS4gUmluZGZsZWlzY2ggbWl0IFBhcHJpa2EsIEJhbWJ1c3Nwcm9zc2VuIHVuZCBDaGFtcGlnbm9ucyAxOSw1MApUNi4gUmluZGZsZWlzY2ggbWl0IFNjaHdhcnpib2huZW5lLCBQYXByaWthIHVuZCBad2llYmVsbiAyMCwwMApUNy4gSGFlaG5jaGVuZmlsZXQgbWl0IENhc2hldyAta2VybmVuLCBDaGFtaXBnb25zLCB1bmQgQmFtYnVzc3Byb3NzZW4KVDguIEhhZWhuY2hlbmZpbGV0IG1pdCBQYXByaWthLCBCYW1idXNzcHJvc3NlbiB1bmQgQ2hhbXBpZ25vbnMgMTksMDAKVDkuIEh1ZWhuZXJmbGVpc2NoIHN1ZXNzLXNhdWVyIChvaG5lIEtvYmxhdWNoKSAxOSwwMApUMTAuIEVudGUgbWl0IFBhcHJpa2EsIEJhbWJ1c3Nwcm9zc2VuIHVuZCBNb3JjaGVsbiAyNCwwMApUMTEuIEVudGUgYSdsYSBIb25nIEtvbmcgMjMsNTAKVDEyLiBFbnRlIHN1ZXNzLXNhdWVyIChvaG5lIEtub2JsYXVjaCkgMjMsMDAKVDEzLiBUaW50ZW5maXNjaCBtaXQgZGljZXJzZW0gZ2VtdWVzZSAxOSwwMAp0MTQuIFRpbnRlbmZpc2NoIG1pdCBTY2h3YXJ6Ym9obmVuLCBQYXByaWthIHVuZCBad2llYmVsbiAxOSw1MApUMTUuIEdhcm5lbGVuIHVuZCBUaW50ZW5maXNjaCBtaXQgQ2hhbXBpZ25vbnMsIEJhbWJ1c3Nwcm9zc2VuIHVuZApDYXNoZXctS2VybmVuIAoyNiw1MApUMTYuIEdhcm5lbGVuIG1pdCBkaXZlcnNlbSBHZW11ZXNlIDI5LDUwClQxNy4gR2FybmVsZW4gbWl0IGNoaW5lc2lzY2hlbiBQaWx6ZW4gdW5kIEJhbWJ1c3Nwcm9zc2VuIDMxLDUwClQxOC4gR2FybmVsZW4gIkNoaW5hLUFydCIgKG1pdCBkaXZlcnNlbSBHZW11ZXNlKSAzMCw1MApUMTkuIEVudGVuZmxlaXNjaCBpbiBTY2hlaWJlbiB1bmQgSGFlaG5jaGVuZmlsZXQgbWl0CkJhbWJ1c3Nwcm9zc2VuLENoYW1waWdub25zIAp1bmQgQ2FzaGV3LUtlcm5lbiAyNCwwMApUMjAuIEdhcm5lbGVuIHVuZCBFbnRlIG1pdCBDaGFtcGlnbm9ucyB1bmQgQ2FzaGV3LUtlcm5lbiAyNyw1MApUMjEuIENoYW8tU2FtLVNpbiAoSGFlbmNoZW5maWxldCwgS3JhYmJlbiB1bmQgU2Nod2VpbmVmbGVpc2NoIG1pdCBkaXZlcnNlbQpnZW11ZQpzZSkgMjIsMDAKVDIyLiAiQnJhdXQtRW50ZSIgKEhhZWhuY2hlbmZpbGV0IHVuZCBFbnRlIGluIHBpa2FudGVyIFNvc3NlIG1pdCBkaXZlcnNlbQpHZW11ZXMKZSwgZnVlciAyIFBlcnNvbmVuKQpUMjMuIEJhaS1OaWFvLUd1aS1RaS1TaGVuZyAoZnVlciAyIFBlcnNvbmVuOiBIYWVobmNoZW5maWxldCwgUmluZC0sIEVudGVuLSB1bmQKUwpjaHdlaW5lZmxlaXNjaCBtaXQgZGl2ZXJzZW0gR2VtdWVzZSwgMiBTdHVlY2sgY2hpbmVzaXNjaGUgR2FybmVsZW4gLSBtaXQKU2NoYWxlIApzZXJ2aWVydCkgNTAsMDAKIApTdXBwZW4KMS4gSG9uZy1CaW4gU3VwcGUgKHBpa2FudCwgc2F1ZXIgdW5kIHNjaGFyZikgNCw4MAoyLiBIdWVobmVyZmxlaXNjaHN1cHBlIDQsODAKMkEuIEVudGVuZmxlaXNjaHN1cHBlIChnZXN0cmVpZnQsIHBpa2FudCkgNywwMAozLiBIdWVobmVyZmxlaXNjaHN1cHBlIG1pdCBzcGFyZ2VsIHVuZCBDaGFtcGlnbm9ucyA0LDgwCjNBLiBLcmVic2ZsZWlzY2hzdXBwZSBtaXQgQ2hhbXBpZ25vbnMgdW5kIEJhbWJ1c3Nwcm9zc2VuIDUsNTAKNC4gVG9tYXRlbnN1cHBlIG1pdCBSaW5kZmxlaXNjaCA1LDAwCjUuIEVpZXJibHVtZW5zdXBwZSBtaXQgSHVlaG5lcmZsZWlzY2ggdW5kIEJhbWJ1c3Nwcm9zc2VuIDQsODAKNi4gSGFpZmlzY2hmbG9zc2Vuc3VwcGUgbWl0IFNjaGlua2VuIHVuZCBIdWVobmVyZmxlaXNjaCA1LDgwCjcuIEtyYWJiZW5zdXBwZSA1LDgwCjguIFNhbS1TaW4gU3VwcGUgKG1pdCBIdWVobmVyZmxlaXNjaCwgS3JhYmJlbiB1bmQgU2NoaW5rZW4pIDUsNTAKOS4gV2FuLXRhbiBTdXBwZSAoU2Nod2VpbmVnZWhhY2t0ZXMgaW4gVGVpZ3Rhc2NoZW4pIDUsMDAgCjEwIFZlZ2V0YXJpc2NoZSBTdXBwZQogClZvcnNwZWlzZW4sIFNhbGF0ZQoxMS4gS3JhYmJlbnNjaGlwcyAoS3JvZXBvZWspIDMsNTAgCjEyLiBGcnVlaGxpbmdzcm9sbGUgKExvZW1waWEpIDQsODAKMTJBLiBmcnVlaGxpbmdzcm9sbGUgU3BlemlhbCAobWl0IEtyYWJiZW4gdW5kIFNjaGlua2UgNyw1MAoxMy4gZ2ViYWtlbmUgV2FuLXRhbiBtaXQgc3Vlc3NzYXVyZXIgU29zc2UgNiw1MAoxNC4gQ2hpbmVzaXNjaGUgR2FybmVsZW4gZ2ViYWNrZW4gaW4gcmVpc3NwYXBpZXIgMTIsNTAKMTUuIEhhLUdhdSAoY2hpbmVzaWNoZSBHYXJuZWxlbiBpbiByZWlzdGFzY2hlbiBnZWR1ZW5zdGV0KSA2LDUwCjE2LiBTaXUtTXkgKHNjaHdlaW5lZmxlaXNjaCBpbiBUZWlndGFzY2hlbiBnZWR1ZW5zdGV0KSA1LDUwCjE3LiBCYW5nLUJhbmctSmkgKEhhZWhuY2hlbmZsZWlzY2ggbWl0IHNjaGFyZmVyIFNvc3NlKSA4LDUwIAoxOC4gU2FtLVNpbiBTYWxhdCAoU29qYWtlaW1lLCBTY2hpbmtlbiwgS3JhYmJlbiB1bmQgSHVlaG5lcmZsZWlzY2gpIDEwLDUwCjE5LiBLcmFiYmVuIFNhbGF0IDExLDUwCjIwLiBHZW1pc2NodGVyIFNhbGF0IDYsNTAKIApHZWJyYXRlbmVyIHJlaXMKMjEuIEVpZXJyZWlzIG1pdCBIdWVobmVyZmxlaXNjaCAxMiwwMAoyMi4gRWllcnJlaXMgbWl0IFNjaHdlaW5lZmxlaXNjaCAxMiw1MAoyMy4gTmFzaS1Hb3JlbmcgKEVpZXJyZWlzIG1pdCBIdWVobmVyZmxlaXNjaCwgS3JhYmJlbiwgU2NoaW5rZW4gdW5kIEN1cnJ5KQoxNCw1MAoyNC4gRWllcnJlaXMgbWl0IEtyYWJiZW4gMTUsNTAKMjUuIEVpZXJyZWlzIG1pdCBjaGluZXNpc2NoZW4gR2FybmVsZW4gMjMsMDAKIApHZWJyYXRlbmUgTnVkZWxuIAoyNi4gTnVkZWxuIG1pdCBIdWVobmVyZmxlaXNjaCAxMywwMAoyNy4gTnVkZWxuIG1pdCBTY2h3ZWluZWZsZWlzY2ggMTMsNTAKMjguIE51ZGVsbiBtaXQgUmluZGZsZWlzY2ggMTQsNTAKMjkuIEJhbWktR29yZW5nIChOdWRlbG4gbWl0IEtyYWJiZW4sIFNjaGlua2VuLCBIdWVobmVyZmxlaXNjaCB1bmQgQ3VycnkpIDE1LDUwCjMwLiBOdWRlbG4gbWl0IEtyYWJiZW4gMTYsNTAKMzEuIE51ZGVsbiBtaXQgY2hpbmVzaXNjaGVuIEdhcm5lbGVuIDIzLDUwCjMyLiBSZWlzbnVkZWxuIG1pdCBTY2hpbmtlbiwgSHVlaG5lcmZsZWlzY2gsIEtyYWJiZW4gdW5kIFNvamFrZWltZW4gMTYsMDAKMzMuIFJlaXNudWRlbG4gbWl0IGNoaW5lc2lzY2hlbiBHYXJuZWxlbiAyNCw1MAogClNjaHdlaW5lZmxlaXNjaAozNC4gQ2hvcC1TdWV5IFNjaHdlaW5lZmxlaXNjaCAobWl0IGRpdmVyc2VtIEdlbXVlc2UpIDE0LDAwCjM1LiBTY2h3ZWluZWZsZWlzY2ggbWl0IFNvamFrZWltZW4sIEJhbWJ1c3Nwcm9zc2VuIHVuZCBNb2VocmVuIDEzLDAwCjM2LiBTY2h3ZWluZWZsZWlzY2ggc3Vlc3Mtc2F1ZXIgKHBhbmllcnQgZ2ViYWNrZW4pIDE1LDAwCjM3LiBTY2h3ZWluZWZsZWlzY2ggbWl0IFBhcHJpa2EsIEJhbWJ1c3Nwcm9zc2VuIHVuZCBNb2VocmVuIChzY2hhcmYpIDE2LDUwIAozOC4gU2h1YW5nLURvbmcgU2Nod2VpbmVmbGVpc2NoIG1pdCBjaGluZXNpc2NoZW4gUGlsemVuIHVuZCBCYW1idXNzcHJvc3NlbgoxOCwwMAozOS4gU2Nod2VpbmVmbGVpc2NoIG1pdCBDYXNoZXctS2VybmVuLCBDaGFtcGlnbm9ucywgQmFtYnVzc3Byb3NzZW4gMTcsNTAgCjQwLiBTdWtpLUpha2kgKHNjaHdlaW5lZmxlaXNjaCBtaXQgQmFtYnVzc3Byb3NzZW4sQ2hhbXBpZ25vbnMsIE1vcmNoZWwsCkNoaW5ha29oCmwgdW5kIEdsYXNudWRlbG4pIDE3LDAwCjQxLiBTY2h3ZWluZWZsZWlzY2ggIkNoaW5hLUFydCIgKG1pdCBkaXZlcnNlbSBHZW11ZXNlLCBzY2hhcmYpIDE3LDUwIAo0Mi4gU2Nod2VpbmVmbGVpc2NoIG1pdCBXaWVzc2tvaGwsIEluZ3dlciB1bmQgS25vYmxhdWNoIDlzZWhyIFNjaGFyZikgMTcsMDAKNDJBLiBTY2h3ZWluZWZsZWlzY2ggbWl0IEVybm9zc3Nvc3NlIChwYW5pZXJ0IGdlYmFja2VuKSAxNSwwMAogClJpbmRmbGVpc2NoCjQzLiBDaG9wLVN1ZXkgUmluZGZsZWlzY2ggKG1pdCBkaXZlcnNlbSBHZW11ZXNlKSAxNSwwMAo0NC4gUmluZGZsZWlzY2ggbWl0IFNvamFrZWltZW4sIEJhbWJ1c3Nwcm9zc2VuIHVuZCBNb2VocmVuIDE0LDAwCjQ1LiBSaW5kZmxlaXNjaCBtaXQgWndpZWJlbG4gdW5kIEJhbWJ1c3Nwcm9zc2VuIDE2LDAwCjQ2LiBHYW4tQ2hhbyBSaW5kZmxlaXNjaCAoUmluZGZsZWlzY2ggZ2VzdHJlaWZ0IG1pdCBQYXByaWthLCBDaGFtcGlnbm9ucywKTW9laHJlCm4gdW5kIGJhbWJ1c3Nwcm9zc2VuLCBzY2hhcmYpIAo0Ny4gU2h1YW5nLURvbmcgUmluZGZsZWlzY2ggKG1pdCBjaGluZXNpc2NoZW4gUGlsemVuIHVuZCBCYW1idXNzcHJvc3NlbikgMTksMDAKNDguIFJpbmRmbGVpc2NoIGluIFNjaGVpYmVuIG1pdCBkaXZlcnNlbSBHZW11ZXNlIChzY2hhcmYpIDE3LDUwCjQ5LiBSaW5kZmxlaXNjaCBtaXQgQnJvY2NvbGkgaW4gQXVzdGVybnNvc3NlIDE4LDAwCjUwLiBSaW5kZmxlaXNjaCAiQ2hpbmEtQXJ0IiAobWl0IGRpdmVyc2VtIEdlbXVlc2UsIHNjaGFyZikgMTgsNTAKNTBBLiBDdXJyeSBSaW5kZmxlaXNjaCAxNyw1MAogCkh1ZWhuZXJmbGVpc2NoCjUxLiBDaG9wLVN1ZXkgSHVlaG5lcmZsZWlzY2ggKG1pdCBkaXZlcnNlbSBHZW11ZXNlKSAxMyw1MCAKNTIuIEh1ZWhuZXJmbGVpc2NoIG1pdCBTb2pha2VpbWVuLCBCYW1idXNzcHJvc3NlbiB1bmQgTW9laHJlbiAxMiw1MCAKNTMuIEdvbmctQmFvLUppLURpbmcgKEhhZWhuY2hlbmZpbGV0IGluIFd1ZXJmZWxuIG1pdCBQYXByaWthLCBCYW1idXNzcHJvc3Nlbgp1bmQKIENoYW1waWdub25zLCBzY2hhcmYpIDE3LDAwCjU0LiBTaHVhbmctRG9uZyBIYWVobmNoZW5maWxldCAobWl0IGNoaW5lc2lzY2hlbiBQaWx6ZW4gdW5kIEJhbWJ1c3Nwcm9zc2VuKQoxOCwwCjAKNTUuIEhhZWhuY2hlbmZpbGV0IG1pdCBDYXNoZXctS2VybmVuLCBCYW1idXNzcHJvc3NlbiB1bmQgQ2hhbXBpZ25vbnMgMTcsNTAgCjU2LiBIYWVuY2hlbmZpbGV0IGluIFd1ZXJmZWxuIG1pdCBTcGFyZ2VsIHVuZCBFcmJzZW4gMTYsMDAKNTcuIEN1cnJ5IEhhZWhuY2hlbmZpbGV0IG1pdCBHZW11ZXNlIDE2LDAwCjU4LiBIYWVobmNoZW5maWxldCBhJ2xhIFNoYW5naGFpIChwYW5pZXJ0IGdlYmFja2VuKSAxNyw1MCAKNTkuIEhhZWhuY2hlbmZpbGV0IHN1ZXNzLXNhdWVyIChwYW5pZXIgZ2ViYWNrZW4pIDE3LDAwCjYwLiBIYWVobmNoZW5maWxldCBtaXQgQW5hbmFzLCBNb2VocmVuLCBad2llYmVsbiB1bmQgUGFwcmlrYSAxNywwMAo2MS4gSGFlaG5jaGVuZmlsZXQgIkNoaW5hLUFydCIgKG1pdCBkaXZlcnNlbSBHZW11ZXNlLCBzY2hhcmYpIDE3LDUwIAo2Mi4gSGFlaG5jaGVuZmlsZXQgZ2VncmlsbHQgbWl0IHNjaGFyZmVyIEVyZG51c3Nzb3NzZSAxNywwMAo2MkEuIEhhZWhuY2hlbmZpbGV0IG1pdCBFcmRudXNzc29zc2UgKHBhbmllcnQgZ2ViYWNrZW4pIDE3LDAwCiAKRW50ZW5mbGVpc2NoCihFbnRlIHdpcmQgdm9yZ2VncmlsbHQsIEtub2NoZW4gZW50ZmVybnQsIEZsZWlzY2ggd2lyZCB2ZXJzY2hpZWRlbmFydGlnCnp1YmVyZWl0CmV0KQo2My4gSGFuZy1CaW4gRW50ZSAobWl0IFp3aWViZWxuLCBDaGFtcGlnbm9ucyB1bmQgU2VzYW1zb3NzZSkgMjIsMDAKNjQuIEVudGUgYSdsYSBIb25nIEtvbmcgKG1pdCBNb3JjaGVsbiwgQmFtYnVzc3Byb3NzZW4gdW5kIENoYW1waWdub25zKSAyMiwwMAo2NS4gU2h1YW5nLURvbmcgRW50ZSAobWl0IGNoaW5lc2lzY2hlbiBQaWx6ZW4gdW5kIEJhbWJ1c3Nwcm9zc2VuKSAyMiw1MCAKNjYuIEVudGUgc3Vlc3Mtc2F1ZXIgMjEsNTAKNjcuIEVudGUgbWl0IENhc2hldy1LZXJuZW4sIEJhbWJ1c3Nwcm9zc2VuIHVuZCBDaGFtcGlnbm9ucyAyMiwwMAo2OC4gRW50ZSBhJ2xhIFNoYW5naGFpIChtaXQgc2NoYXJmZXIgU29zc2UgdW5kIEdlbXVlc2UpIDIyLDAwCjY5LiBFbnRlIGluIEF1c3N0ZXJuc29zc2UgKG1pdCBkaXZlcnNlbSBHZW11ZXNlIGFscyBVbnRlcmxhZ2UpIDIzLDAwCjY5QS4gRW50ZSBhJ2xhIENhbnRvbiAoMS8yIEVudGUgZ2VncmlsbHQgbWl0IEtub2JsYXVjaHNvc3NlLCBzZXJ2aWVydCBtaXQKS25vY2hlCm4hKSAyMywwMAo2OUIuIEVudGUgbWl0IEVyZG51c3Nzb3NzZSAyMSw1MAo3MC4gUGVraW5nLUVudGUgKG9yZ2luYWwgenViZXJlaXRldCwgdW0gMjQtc3R1ZW5kaWdlIFZvcmJlc3RlbGx1bmcgd2lyZApnZWJldGVuKQpFbnRlbnN1cHBlIG1pdCBnZXN0cmVpZnRlbiBjaGluZXNpc2NoZW4gUGlsemVuOyBLcmFiYmVuY2hpcHM7IEVudGUgbWl0ClBmYW5ua3VjaAplbiwgUG9ycmVlIHVuZCBQZWtpbmctRW50ZSBTb3NzZTsgRW50ZW5mbGVpc2NoIGluIFNjaGVpYmVuIG1pdCBkaXZlcnNlbQpnZW11ZXNlOwogZ2VtaXNjaHRlcyBjaGluZXNpc2NoZXMgT2JzdDsgZWluZSBUYXNzZSBDaGluYS1UZWUgZnVlciBqZWRlIFBlcnNvbgpwcm8gUGVyc29uIDM2LDAwCiAKRmlzY2gKNzEuIFJvdGJhcnNjaGZpbGV0ICJDaGluYS1BcnQiIChtaXQgZGl2ZXJzZW0gR2VtdWVzZSwgc2NoYXJmKSAxNSw1MAo3Mi4gUm90YmFyc2NoZmlsZXQgbWl0IFBhcHJpa2EsIGJhbWJ1c3Nwcm9zc2VuIHVuZCBDaGFtcGlnbm9ucyBpbiBzY2hhcmZlcgpTb3NzZQogMTUsNTAKNzMuIFJvdGJhcnNjaGZpbGV0IHN1ZXNzLXNhdWVyIDE1LDAwCjczQS4gUm90YmFyc2NoZmlsZXQgbWl0IEVyZG51c3Nzb3NzZSAxNSwwMAo3NC4gVGludGVuZmlzY2ggbWl0IFNjaHdhcnpib2huZW4sIFBhcHJpa2EgdW5kIFp3aWViZWxuIChzY2hhcmYpIDE3LDUwCjc2LiBUaW50ZW5maXNjaCBtaXQgUGFwcmlrYSwgQ2hpbmEtS29obCB1bmQgQmFtYnVzc3Byb3NzZW4gKHNjaGFyZikgMTcsMDAKIApDaGluZXNpc2NoZSBHYXJuZWxlbgo3Ny4gR2FuLUNoYW8gR2FybmVsZW4gKGdlc3RyZWlmdCBtaXQgUGFwcmlrYSwgQ2hhbXBpZ25vbnMgdW5kIGJhbWJ1c3Nwcm9zc2VuLApzYwpoYXJmKSAyOCw1MCAKNzguIEdhcm5lbGVuIG1pdCBiYW1idXNzcHJvc3NlbiwgQ2hhbXBpZ25vbnMgdW5kIENhc2hldy1rZXJuZW4gMjksMDAKNzkuIFNodWFuZy1Eb25nIEdhcm5lbGVuIChtaXQgQmFtYnVzc3Byb3NzZW4gdW5kIGNoaW5lc2lzY2hlbiBQaWx6ZW4pIDI5LDUwCjgwLiBHYXJuZWxlbiBtaXQgUGFwcmlrYSwgTW9laHJlbiB1bmQgQ2hhbXBpZ25vbnMgKHNjaGFyZikgMjgsNTAKODEuIEdhcm5lbGVuIHN1ZXNzLXNhdWVyIChwYW5pZXJ0IGdlYmFja2VuKSAyOCw1MAo4Mi4gU2ljaHVhbiBHYXJuZWxlbiAobWl0IHplcmtsZWluZXJ0ZW0gZ2VtdWVzZSB1bmQga25vYmxhdWNoLCBzY2hhcmYpIDI4LDUwCjgzLiBHYXJuZWxlbiAiQ2hpbmEtQXJ0IiAobWl0IGRpdmVyc2VtIEdlbXVlc2UsIHNjaGFyZikgMjgsNTAgCjg0LiBHYXJuZWxlbi1TcGllc3NlIGdlZ3JpbGx0IG1pdCBzY2hhcmZlciBFcmRudXNzc29zc2UgMjgsMDAKIApET1VGVSAKKFNwZXppYWxpdGFldCBhdXMgZ2VtYWhsZW5lbiBnZWxiZW4gQm9obmVuKQo4NS4gU2FtLVNpbi1CYW8gRG91ZnUgKG1pdCBHYXJuZWxlbiwgSGFlaG5jaGVuZmlsZXQsIFNjaHdlaW5lZmxlaXNjaCB1bmQKZ2VtdWVzZQosIHNjaGFyZikgMjAsNTAgCjg2LiBEb3VmdSBtaXQgU2Nod2VpbmVmbGVpc2NoIHVuZCBHZW11ZXNlIChzY2hhcmYpIDE2LDUwCjg3LiBEb3VmdSBtaXQgSGFlaG5jaGVuZmlsZXQgdW5kIGdlbXVlc2UgKHNjaGFyZikgMTYsNTAgCjg4LiBEb3VmdSBtaXQgUmluZGZsZWlzY2ggdW5kIGdlbXVlc2UgKHNjaGFyZikgMTcsNTAgCiAKVmVnZXRhcmlzY2hlcwo4OS4gR2VicmF0ZW5lIFNvamFrZWltZSwgTW9laHJlbiB1bmQgYmFtYnVzc3Byb3NzZW4gMTAsMDAKOTAuIENob3AtU3VleSAoZGl2ZXJzZSBnZW11ZXNlIGdlYnJhdGVuKSAxMSwwMAo5MS4gQnVkZGhpc3Rlbi10b3BmIChjaGluZXMuIFBpbHplLCBNb3JjaGVsLCBCYW1idXNzcHJvc3NlbiB1bmQgQ2hpbmFrb2hsKQoxNCwwMAo5Mi4gQ2hvcC1TdWV5IERvdWZ1IDEyLDAwCjkzLiBHZWJyYXRlbmUgQnJvY2NvbGksIENoYW1waWdub25zLCBNb2VocmVuIHVuZCBHbGFzbnVkZWxuIDEyLDAwCjk0LiBHZWJyYXRlbmVzIEVpZXJyZWlzIG1pdCBTb2pha2VpbWVuIDksNTAKOTUuIEdlYnJhdGVuZSBOdWRlbG4gbWl0IFNvamFrZWltZW4gMTAsNTAgCiAKUmVpc3RhZmVsbiAKSDEuIFJlaXN0YWZlbCBJICgxIHBlcnNvbikgCkhvbmctQmluIFN1cHBlOyBFbnRlIGEnbGEgSG9uZyBLb25nOyBTY2h3ZWluZWZsZWlzY2ggc3Vlc3Mtc2F1ZXI7IGdlbWlzY2h0ZXMKY2hpCm5lc2ljaGVzIE9ic3QgMjMsMDAKSDIuIFJlaXN0YWZlbCBJSSAoMi0zIFBlcnNvbmVuKSAKSG9uZy1CaW4gU3VwcGU7IEtyYWJiZW5jaGlwczsgU2FsYXQ7IFJpbmRmbGVpc2NoIG1pdCBHZW11ZXNlIChzY2hhcmYpOyBDdXJyeQpIYWUKaG5jaGVuZmlsZXQ7IEVudGUgYSdsYSBIb25nIEtvbmc7IFNjaHdlaW5lZmxlaXNjaCBzdWVzcy1zYXVlcjsgZ2ViYWNrZW5lCkJhbmFuZSAKbWl0IEhvbmlnOyBnZW1pc2NodGVzIGNoaW5lc2lzY2hlcyBPYnN0IApwcm8gUGVyc29uIDIyLDUwIApIMkEuIFJlaXN0YWZlbCBJSUEgKDItMyBQZXJzb25lbikgClNwZXppYWxwbGF0dGUgbWl0IEh1ZWhuZXJmbGVpc2NoZ2VyaWNodGVuIHZlcnNjaGllZGVuZXIgWnViZXJlaXR1bmcKRW50ZW5mbGVpc2Noc3VwcGU7IEtyYWJiZW5jaGlwczsgU2FsYXQ7IEhhZWhuY2hlbmZpbGV0IGEnbGEgU2hhbmdoYWk7CkhhZWhuY2hlbmYKaWxldCBzdWVzcy1zYXVlcjsgQ3VycnkgSHVobjsgSGFlaG5jaGVuZmlsZXQgbWl0IEdlbXVlc2UgKHNjaGFyZik7IGdlYmFja2VuZQpCYW4KYW5lIG1pdCBIb25pZzsgZ2VtaXNjaHRlcyBjaGluZXNpc2NoZXMgb2JzdApwcm8gUGVyc29uIDIyLDAwCkgyQi4gUmVpc3RhZmVsIElJQiAoMi0zIFBlcnNvbmVuKSAKU3BlemlhbHBsYXR0ZSBtaXQgRW50ZW5mbGVpc2NoZ2VyaWNodGVuIHZlcnNjaGllZGVuZXIgWmliZXJlaXR1bmcKRW50ZW5mbGVpc2Noc3VwcGU7IEtyYWJiZW5jaGlwczsgU2FsYXQ7IEVudGUgYSdsYSBIb25nIEtvbmc7IEVudGUgc3Vlc3Mtc2F1ZXI7CkUKbnRlbmZsZWlzY2ggZ2VzdHJlaWZ0IG1pdCBHZW11ZXNlIChzY2hhcmYpOyBnZWJhY2tlbmUgQmFuYW5lIG1pdCBIb25pZzsKZ2VtaXNjaHQKZSBjaGluZXNpc2NoZXMgT2JzdApwcm8gUGVyc29uIDI2LDAwCkgzLiBSZWlzdGFmZWwgSUlJIChhYiAzIFBlcnNvbmVuKSAKSG9uZy1CaW4gU3VwcGUgb2RlciBXYW4tVGFuIFN1cHBlOyBLcmFiYmVuY2hpcHM7IFNsYXQ7IEhhZWhuY2hlbmZpbGV0IG1pdApDYXNoZXcKIEtlcm5lbjsgVGllLUJhbi1TaGFvIFJpbmRmbGVpc2NoICJDaGluYS1BcnQiOyBTY2h3ZWluZWZsZWlzY2ggc3Vlc3Mtc2F1ZXI7CmdlbWkKc2NodGVzIGNoaW5lc2lzY2hlcyBPYnN0CnBybyBwZXJzb24gMjQsNTAKSDQuIFJlaXN0YWZlbCBJViAoYWIgNCBwZXJzb25lbikKSG9uZy1CaW4gU3VwcGUgb2RlciBIYWlmaXNjaGZsb3NzZW5zdXBwZTsgZ2ViYWNrZW5lIGNoaW5lc2lzY2hlIEdhcm5lbGVuIGluClJlaXMKcGFwaWVyOyBTYWxhdDsgVGllLUJhbi1TaGFvIFRpbnRlbmZpc2NoIG1pdCBTY2h3YXJ6Ym9obmVuIHVuZCBHZW11ZXNlOyBFbnRlCmEnbGEKIFNoYW5naGFpOyBHb25nLUJhby1KaS1EaW5nOyBDaG9wLVN1ZXkgUmluZGZsZWlzY2g7IGdlbWlzY2h0ZXMgY2hpbmVzaXNjaGVzCm9ic3QKcHJvIFBlcnNvbiAyNSwwMAotLS0tLS0tLS0tLS0tLQpCdWV0dGUgc2VociwKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaGluZXNlIChMYXJpc3NhLCAxMi4gQXVnIDE5OTcsIDE4OjI3OjU2KToKSG9pLAoKaWNoIG1vZWNodGUgbWFsIHNjaG5lbGwgZGFyYXVmIGhpbndlaXNlbiwgZGFzcyB3aXIgYmlzIG5hZWNoc3RlIFdvY2hlIGJlaSBkZW0KQ2hpbmVzZW4gZGllIFZvcnNjaGxhZWdlIGZ1ZXIgZGFzICdNZW51ZScgbWFjaGVuIG11ZXNzZW4uIFdpciByZWNobmVuIG1pdCBjYS4KODAtMTAwIEZ1dHRlcmVybiwgdm9uIGRlbmVuIDYwLTgwIGRhcyBNZW51ZSB3YWVobGVuIHNvbGx0ZW4uIEljaCBob2ZmZSwgd2lyCmtvZW5uZW4gc28gNC81LzYgdmVyc2NoaWVkZW5lIFNhY2hlbiB2b3JzY2hsYWdlbiwgZGllIGRhbm4gYmVpbSBNZW51ZSB6dXIKQXVzd2FobCBzdGVoZW4uIEVzIGlzdCBnbGF1YmUgaWNoIGtsYXIsIGRhc3MgbmljaHQgODAtMTAwIExldXQgaW5kaXZpZHVlbGwKYmVzdGVsbGVuIGtvZW5uZW4uIGRhIGljaCBzZWxiZXIgbmljaHQgc28gZWluIENoaW5hZmFuIGJpbiwgYml0dGUgaWNoIHVtClZvcnNjaGxhZWdlIGZ1ZXIgZGFzIE1lbnVlLCBkaWUgTWVocmhlaXQgZW50c2NoZWlkZXQuIEFsc28gYml0dGUgbm9jaG1hbApzY2huZWxsIFNwZWlzZWthcnRlIHN0dWRpZXJlbiB1bmQgZGVuIHBlcnNvZW5saWNoZW4gV3Vuc2NoIGFuIG1pY2ggbWFpbGVuLApTdGljaHdvcnQgQ2hpbmVzZS4KCldlciBtZWludCwgZGFzcyBlaW5lciBtaXQgZWluZXIgWndlaXRpYXJtZWUgZGllIEF1c3dhaGwgbWFuaXB1bGllcmVuIG11c3MsCmJpdHRlIHNlaHIsIGljaCBrYW5ucyBhdWNoIHNlbGJlciBlbnRzY2hlaWRlbjotKQoKV2FzIGRpZSBwcmVpc2UgYW5nZWh0LCBkYSB3aXJkIHNpY2ggdmllbGxlaWNodCBub2NoIHdhcyBhZW5kZXJuIGJlaSBkZW4gTWFzc2VuCig/KQoKR3J1ZXNzZSwgTGFyaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hpbmVzZSAoTGFyaXNzYSwgMTIuIEF1ZyAxOTk3LCAxODo0MTowOCk6CgpIb2ksCgp3ZXIgc2Nob24gc2VpbmVuIFd1bnNjaCBhbiAnQ2hpbmVzZScgZ2VtYWlsdCBoYXQsIG11c3MgZGFzIG5hdHVlcmxpY2ggbmljaHQKbm9jaG1hbCB0dW4sIGFiZXIgbnVuIGdpYnRzIGphIGRhbmsgZGllIFNwZWlzZWthcnRlLCB2aWVsbGVpY2h0IGFlbmRlcnQgamEKZWluZXIgc2VpbmUgTWVpbnVuZywgb2RlciBzby4uLgoKTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlZ2V0YXJpZXItRnV0dGVyIChDYXR3ZWF6bGUsIDEyLiBBdWcgMTk5NywgMjA6MDQ6MjYpOgpNb2luIQoKU28sIFNhbXN0YWcgaXN0IGphIGtvbGxla3RpdmVzIEdyaWxsZW4sIGJlaSBkZW0gbWFuIGphIGluIGRlciBSZWdlbCB0b3RlcwpUaWVyIGVyaGl0enQgdW5kIGlzc3QuIFdpZSBpbW1lciBrb21tZW4gYmVpbSBHcmlsbGVuIG1laXNzdCBkaWUgVmVnZXRhcmllcgp6dSBrdXJ6LiBXaXIgd29sbGVuIG51biBhYmVyIGRvY2ggZWluIGJpc3NjaGVuIHdhcyB2ZWdldGFyaXNjaGVzIGFuYmlldGVuLApuZWJlbiBLYXJ0b2ZmZWxuIHVuZCBNYWlzIGZhZWxsdCBtaXIgYWJlciBuaXggdG9sbGVzIGRhenUgZWluLgpNZWluZSBGcmFnZSBhbiBkaWUgdGVnZXZhcmlzY2hlIE11ZGRlcnNjaGFmdDoKV2FzIGthbm4gbWFuIGRhIGF1ZmxlZ2VuPwpLb2VubnQgaWhyIHZpZWxsZWljaHQgc2VsYmVyIHdhcyBtaXRicmluZ2VuPwoKSWNoIGVyaW5uZXIgbWljaCBhbiBkaWUgUGFydHkgdm9yIDIgSmFocmVuLCBkYSBoYXR0ZW4gd2lyIHZlZ2V0YXJpc2NoZXMsCnVuZCB6d2FyIFNwaWVzc2UsIGRpZSBzbyBsZWNrZXIgd2FyZW4sIGRhcyBhbGxlIG1vZWdsaWNoZW4gTGV1dGUgZGllIApnZWdlc3NlbiBoYWJlbiwgbnVyIG5pY2h0IGRpZSBWZWdldGFyaWVyLiBBdXNzZXJkZW0gaGFiZW4gd2lyIG9obmUgRW5kZQpHZWxkIGZ1ZXIgS3JhbXMgYXVzZ2VnZWJlbiwgZGVyIG5pY2h0IGdlZ2Vzc2VuIHd1cmRlLiAKaWNoIGZhZW5kZSBlcyBkYWhlciBiZXNzZXIgdW5kIGVpbmZhY2hlciwgd2VubiBpcmdlbmRqZW1hbmQgd2FzIG9yZGVudGxpY2gKdW5mbGVpc2NoaWdlcyBpbiBncm9lc3NlcmVtIChndWVuc3RpZ2VuKSBTdGlsIG1pdGJyaW5nZW4gd3VlcmRlLiBJc3QgYXVmIApqZWRlbiBGYWxsIGJlc3NlciBhbHMgbWVpbmUgS2FydG9mZmVsbiA6KQoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTYWxhdGUgKENhdHdlYXpsZSwgMTIuIEF1ZyAxOTk3LCAyMDowOToyMyk6Ck5vbWEgTW9pbiEKCkZyZWl0YWcgaXN0IGphIGJla2FubnRsaWNoIEVpZ2VuZ3JpbGxlbiBhbmdlc2FndC4gVW0gZGFzIHp1IGtvbmtyZXRpc2llcmVuLAp3ZW5uIER1IHdhcyBnZWdyaWxsdGVzIGVzc2VuIHdpbGxzdCwgbXVzc3QgRHUgZXMgU0VMQkVSTUlUQlJJTkdFTi4KCkljaCBob2ZmZSBkYXMgaGF0IGplZGVyIHZlcnN0YW5kZW4gdW5kIGthbm4gZXMgc2ljaCBhdWNoIG1lcmtlbi4gTnVyIApncmlsbGVuIGlzdCBiZWthbm50bGljaCBkb29mLCBlcyB3YWVyZSBzY2hvZW4sIHdlbm4gamVtYW5kIFplaXQgdW5kIEx1c3QgCmhhdCBmdWVyIEZyZWl0YWcgQWJlbmQgU2FsYXRlIHp1IG1hY2hlbi4gU2Ftc3RhZyBnaWJiZXQgZGVuIFdvaGwgYXVzIAo1MGwtRmFlc3Nlcm4gdm9tIEdyb3NzbWFya3QsIGFiZXIgZnVlciBGcmVpdGFnIHdhZXJlIGRhcyBpbSBrbGVpbmVuIE1hc3NlCmphIGF1Y2ggc2Nob24gZ2FueiBzY2hvZW4uIAoKV2VubiBEdSBlaW5lbiBTYWxhdCBtYWNoZW4vbWl0YmluZ2VuIHdpbGxzdCwgYXVmIEpFREVOIEZhbGwgdm9yaGVyIGJlc2NoZWlkCnNhZ2VuIHVuZCBCZXN0YWV0aWd1bmcgYWJ3YXJ0ZW4sIHdlaWxzIHNvbnN0IGVpbmUgdW5ub2V0aWdlIHVuZCB1bmF1Zi0KZXNzYmFyZSBOdWRlbHNhbGF0Zmx1dCBnaWJ0IDspIEFuZnJhZ2VuIHBlciBtYWlsIGFuIG1pY2guCgpJY2ggbW9lY2h0ZSBiZXRvbmVuLCBkaWUgU2FsYXRtYWNoZXJlaSBpc3QgZnJlaXdpbGxpZyB1bmQgdW5lbnRsb2hudC4KTmFqYSwgdmllbGxlaWNodCBtYWNodCBqYSBkb2NoIGplbWFuZCBuZW4gU2FsYXQuLi4uCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJ1ZWhzdHVlY2sgKENhdHdlYXpsZSwgMTIuIEF1ZyAxOTk3LCAyMDoxNzozMik6CgpVbiBub21hIE1vaW4hCgpXaXIgc2luZCB1bmVudHNjaGxvc3Nlbiwgb2Igd2lyIEZydWVoc3R1ZWNrIG1haGNlbiB3b2xsZW4gb2RlciBuaWNodC4KRnVlciAnbmljaHQnIHNwcmVjaGVuIHp3ZWkgR3J1ZW5kZS4gWnVtIGVpbmVuIHdpcmQgYW4gdW50ZXJzY2hpZWRsaWNoZW4KUGxhZXR6ZW4gZ2VwZW5udCwgbmFtZWxpY2ggWmVsdGVyIHVuZCBOaWNodC1aZWx0ZXIuIFp3ZWltYWwgRnJ1ZWhzdHVlY2sgYXVmLQpiYXVlbiBpc3QgZWluZmFjaCB1bnNpbm5pZy4gWnVtIGFuZGVyZW4gd2lzc2VuIHdpciBuaWNodCBzaWNoZXIsIG9icyBub2V0aWcgCndpcmQuIEFtIFNhbXN0YWcgaXN0IG5pY2h0IGFic2VoYmFyLCB3aWV2aWVsZSBMZXV0ZSBkYSBzaW5kIHVuZCB3bywgdW5kIAphbSBTb25udGFnICB3aXJkIGRlciBncm9zc3RlaWwgZWggbGFuZ2UgcGVubmVuIHVuZCBkYW5uIGdlaHRzIGFiIDEyOjAwLTEyOjMwCmF1Y2ggc2Nob24gYWIgenVtIENoaW5lc2VuLiBFaGVyIHVubnVldHogYWxzby4KCkltIE1vbWVudCBzdGVodHMgYWxzbyBlaGVyIGdlZ2VuIGVpbiBncm9zc2VzIEZydWVoc3R1ZWNrLiBBbnkgY29tbWVudHM/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcnVlaHN0dWVjayAoRnl0LCAxMy4gQXVnIDE5OTcsIDA4OjU5OjU4KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzE0MDk4NTIgcmc9cGFydHkKfiMhIHRpZD04NzE0MDk4NTIKCk9jaCwgaWNoIHdhZXJlIG5hdHVlcmxpY2ggZnVlciBlaW5tYWwgZ3Jvc3NlcyBGcnVoc3R1ZWNrIGZ1ZXIgZGllIFplbHRlci4KRm9yIG9idmlvdXMgcmVhc29ucyA7LSkKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhcnR5IGZ1ZXIgYWxsZSAoS2xpbmdlLCAxMy4gQXVnIDE5OTcsIDEzOjA2OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjgyODYxMTYgcmc9cGFydHkKfiMhIHRpZD04NjczMzgzMzYKSWNoIGhhYiBtaXIgendhciBzY2hvbiB2b3IgMTUgSmFocmVuIGRhcyBSYXVjaGVuIGFiZ2V3fGhudCwgYWJlciBmfXIgZGllCkNoYW5jZSwgZGFzIG1pY2ggamVtYW5kIGFuZ3JlaWZ0IHVuZCBpY2ggaWhuIGRhbm4gd2luZGVsd2VpY2ggcHJ1ZWdlbG4gZGFyZiwKZ2V3fGhuIGljaHMgbWlyIHNvZm9ydCB3aWVkZXIgYW4uIEhvZmZlbnRsaWNoIGlzc2VyIHdpcmtsaWNoIHNvIGdyb3NzIHVuZApzdGFyaywgZGFtaXQgZXIgbmljaCBzb2ZvcnQgdW1mYWVsbHQuIDspKSkKTXVzcyBtYW4gYXVmIEx1bmdlIHJhdWNoZW4gdW0gYW5nZWdyaWZmZW4genUgd2VyZGVuLCBvZGVyIHJlaWNodCBlcyB3ZW5uIG1hbgpudXIgcGFmZnQgXAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlZ2Jlc2NocmVpYnVuZyBkaWUgMi4gKEhvYm8sIDEzLiBBdWcgMTk5NywgMTY6MTY6MjgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3MTI5OTE5MSByZz1wYXJ0eQp+IyEgdGlkPTg3MTI5OTE5MQpBbHNvLCBDYXR0eSwgZGEgTVVTUyB3YXMgZmFsc2NoIHNlaW4hCgpFcyBnaWJ0IGtlaW5lIE1vZWdsaWNoa2VpdCwgaW4gTXVlbnN0ZXIgaXJnZW5kd29oaW4genUga29tbWVuLCBvaG5lIGlyZ2VuZHdhbm4KZWlubWFsIGFuIGRpZXNlciBibGF1ZW4gU3Bhcmthc3NlIHZvcmJlaXp1ZmFocmVuIQoKS29ycmlnaWVyJyBkYXMgbWFsIGJpdHRlLi4KCgogSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZydWVoc3R1ZWNrIChIb2JvLCAxMy4gQXVnIDE5OTcsIDE2OjIyOjM2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzE0MDk4NTIgcmc9cGFydHkKfiMhIHRpZD04NzE0MDk4NTIKRnJ1ZWhzdHVlY2s/IGJpbiBpY2ggZnVlciEKR3J1bmVkZT8gCi0gd2FyIHNjaG9uIGltbWVyIHNvCi0gc29uc3QgbXVzcyBpY2ggaHVuZ2VybgotIEJvaW5nIGhhdCBzb25zdCBzbyBzY2hsZWNodGUgTGF1bmUKQWx0ZXJuYXRpdmVuPwpIbW0sIGljaCBoYWIga2VpbmVuIEJvY2ssIG1laW4gZ2FueiBwZXJzb2VubGljaGVzIEZydWVoc3R1Y2sgaW5jbC4gQnV0dGVyIG5lbgpUYWcgaW0gQXV0byBtaXR6dW5laG1lbiwgaWNoIHdlaXNzIGphIG5pY2h0LCBvYiBkYXMgc29vbyB0b2xsIGlzdC4gOiggCkF1c3NlcmRlbSBnaWJ0J3MgZG9jaCBzY2hvbiBrZWluIE1pdHRhZ2Vzc2VuLCBvZGVyPyAKVW5kIGlyZ2Vuc3dhcyBtdXNzIE1lbnNjaC9FbGYvWndlcmcvSG9iYml0IHNjaGxpZXNzbGljaCBlc3Nlbi4uCgpGaW5kIGljaC4uLi4KCgogSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaHN0dWVjayAoTXlzdGVyaW91cywgMTMuIEF1ZyAxOTk3LCAxNjoyMzo1OSk6Cn4jISBybj1Ib2JvIHJ0PTg3MTQ4MjE1NiByZz1wYXJ0eQp+IyEgdGlkPTg3MTQwOTg1MgpuaSBoYW8hCgphbHNvIG1laW4gYmVzY2hlaWRlbmVyIGZlcm53ZXN0bGljaGVyIG1hZ2VuIGhhZXR0ZSBhdWNoIG5peCBkYWdlZ2VuLAoKYW0gbW9yZ2VuIHZvciBkZW4gemVsdGVuIHp1IGZydWVoc3R1Y2tlbi4uLi4KCgpzb2RlbGUuLi4uLi4uCipob2VmbGljaCB2ZXJuZWlnZW5kKi4uLmRhIG1Zc1RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2hpbmVzZW5mdXR0ZXIgKENhcmFkaHJhcywgMTMuIEF1ZyAxOTk3LCAxNzowMjoyMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODcxMzc4Njg4IHJnPXBhcnR5Cn4jISB0aWQ9ODcxMzc4Njg4CkJvYWgsIGlzdCBkYXMgYmVpIGV1Y2ggaW0gTm9hYWFkZW4gYWxsZXMgc28gdGV1ZXI/CklzIGphIGZ1cmNodGJhciwgZGEgd3VlcmRlIG1hbiBqYSBhcm0gd2VyZGVuIGJlaW0gZXNzZW4gdW5kIGljaAp3YWVyZSBob2VjaHN0ZW5zIDEvMiBKb2YuCgogICBCZXJnY2hlbiBDYXJhZGhyYXMgLSB3aXJkIGhpZXIgc2Nob24gYXJtIHZvbSBFc3NlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2hpbmVzZW5mdXR0ZXIgKFJvY2h1cywgMTMuIEF1ZyAxOTk3LCAxNzozNzowNCk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODcxNDg0NTQwIHJnPXBhcnR5Cn4jISB0aWQ9ODcxMzc4Njg4CldpZSBrb2VubnRlbiBuYXR1ZXJsaWNoIGF1Y2ggc3RhdHQgenVtIENoaW5lc2VuIHdpZWRlciBpbiBkZW4KQWVnaWRpaWhvZiBnZWhlbi4uLiBrb3N0ZXQgbnVyIGRhcyBkb3BwZWx0ZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpbGZlISAoQmFib29uLCAxNC4gQXVnIDE5OTcsIDA4OjA5OjA0KToKTWl0ZmFocmdlbGVnZW5oZWl0IGZ1ZXIga2xlaW5lbiBXdXJzdG1hZ2llciBuYWNoIE11ZW5zdGVyIGRyaW5nZW5kIGdlc3VjaHQhCkZhbGxzIGlyZ2VuZHdlciBub2NoIGVpbiBFY2tjaGVuIGltIEF1dG8gZnJlaSBoYWV0dGUgd2FlciBuYXR1ZXJsaWNoIGlkZWFsLAphYmVyIGZhbGxzIG5pY2h0LCB3b2xsdGUgbmljaHQgaXJnZW5kIGVpbiBLb2VsbmVyIChZYW50cm8/KSBlaW4gR3J1cHBlbnRpY2tldApmdWVyIGRpZSBEZXV0c2NoZSBiaW1tZWxiYWhuIGhvbGVuPyAKV2VubiBzaWNoIG5peCBlcmdpYnQgd2VyZCBpY2ggd29obCBhdWNoIGRpZXNtYWwgd2llZGVyIGRhaGVpbSBibGVpYmVuIG11ZXNzZW4uCldlbm4gYWJlciBkb2NoIHdhZXJlIGljaCBzb2dhciBiZXJlaXQgamVkZW0gYmV0ZWlsaWd0ZW4gZWluIEJTUyB6dSBjbG9uZW4KKE1hZ2llciBuYXR1ZXJsaWNoIGF1c2dlc2NobG9zc2VuKS4gOi0pCgpJbiBmcmV1ZGlnZXIgRXJ3YXJ0dW5nOiBCYWJvb24oKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhpbGZlISAoR3JpbW1ib3JuLCAxNC4gQXVnIDE5OTcsIDEwOjA3OjE3KToKfiMhIHJuPUJhYm9vbiBydD04NzE1Mzg5NDQgcmc9cGFydHkKfiMhIHRpZD04NzE1Mzg5NDQKSmEsIFlhbnRybyBrdWVtbWVydCBzaWNoIHVtIGVpbmUgR3J1cHBlbnJlaXNlIGRlciBkZXIgQmFobiBmdWVyIGRpZSBLb2VsbmVyCkdlZ2VuZCAoZGllIEJvbm5lciBkdWVyZmVuIGFsc28gbmV0dGVyd2Vpc2UgYXVjaCBtaXQpLCB6dW1pbmRlc3QgZnVlciBkZW4KSGlud2VnLiBXZWlsIGRlciBSdWVja3dlZyBkYW5uIG1pdCBTV1QgZXJmb2xndCAoZnVlciBkaWUgN0RNIGtvbW10IG1hbiBpbQpOYWh2ZXJrZWhyIGphIG5pY2h0bWFsIHZvbiBCb25uIG5hY2ggS29lbG4uLi4pLiBFaW5mYWNoIGVpbmUgbWFpbCBhbiBZYW50cm8Kc2NocmVpYmVuLCBkYXNzIER1IGF1Y2ggbWl0d2lsbHN0LiBEYW5uIHN0aW1tZW4gd2lyIGFiLCBvYiB3aXIgRGljaCB1ZWJlcmhhdXB0CmZ1ZXIgZGllIGdhbnplIEZhaHJ0IGVydHJhZ2VuIHdvbGxlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhpbGZlISAoQmFib29uLCAxNC4gQXVnIDE5OTcsIDEwOjIwOjAwKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NzE1NDYwMzcgcmc9cGFydHkKfiMhIHRpZD04NzE1Mzg5NDQKRW5kbGljaCBtYWwgZWluIExpY2h0YmxpY2suIEJsb3NzLCB3ZXIgb2RlciB3YXMgaXN0IFNXVD8KCkJhYm9vbigpCgpQLnMuOiBJY2gga29tbWUgaW0gYWxsZ2VtZWluZW4gKndlc2VudGxpY2gqIGd1ZW5zdGlnZXIgYWxzIGZ1ZXIgN0RNIG5hY2ggQm9ubi4KOi0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlhbmZhaHJ0IFNhbXN0YWcgYWJlbmQsIGRpZSAyLiAoV2FyZ29uLCAxNC4gQXVnIDE5OTcsIDE1OjE0OjU1KToKICBIaSEKSGllciBpc3QgZWluZSBldHdhcyBha3R1YWxpc2llcnRlIFZlcnNpb24gZGVyIFdlZ2Jlc2NocmVpYnVuZyBmdWVyIGRpZQpBdXRvZmFocmVyIGFtIFNhbXN0YWcgYWJlbmQuIEdlYWVuZGVydC9lcmdhZW56dCB3dXJkZW4gZGllIFB1bmt0ZSAzLCA0IHVuZCA2LgoKMS4gKGEpIEFuZmFocnQgdWViZXIgZGllIEF1dG9iYWhuOgogICAgICBCaXMgTXVlbnN0ZXIgTm9yZCwgZGEgYXVmIGRpZSBCNTQgUmljaHR1bmcgTXVlbnN0ZXIuCiAgICAgIEFuIGRlciB1bnVlYmVyc2VoYmFyZW4sIGRpZSBnZXNhbXRlIEZhaHJiYWhuIHVlYmVyc3Bhbm5lbmRlbiBBbXBlbC0KICAgICAgYW5sYWdlIG5hY2ggbGlua3MgUmljaHR1bmcgS2luZGVyaGF1cyBhYmJpZWdlbiAoZGFzIGlzdCBkaWUgendlaXRlCiAgICAgIEFtcGVsOyBiZWkgZGVyIGVyc3RlbiBnaW5ncyBuYWNoIE5pZW5iZXJnZSkuCiAgICAgIERpZSBTdHJhc3NlIGhlaXNzdCBXaWxraW5naGVnZS4KICAoYikgQW5mYWhydCBhdXMgTXVlbnN0ZXI6CiAgICAgIERpZSBTdGVpbmZ1cnRlciBTdHJhc3NlIFJpY2h0dW5nIFN0ZWluZnVydCwgYmlzIHp1IGRlciB1bnVlYmVyc2VoYmFyZW4KICAgICAgZGllIGdhbnplIFN0cmFzc2UgdWViZXJzcGFubmVuZGVuIEFtcGVsYW5sYWdlLiBEb3J0IHJlY2h0cyBhYmJpZWdlbgogICAgICBuYWNoIEtpbmRlcmhhdXMuCiAgICAgIERpZSBTdHJhc3NlIGhlaXNzdCBhdWNoIGhpZXIgV2lsa2luZ2hlZ2UgOikKMi4gRGllIFdpbGtpbmdoZWdlIG1hY2h0IGlyZ2VuZHdhbm4gbmVuIEtuaWNrIG5hY2ggcmVjaHRzLiBEZXIgU3RyYXNzZSBmb2xnZW4uCjMuIEFuIGRlciBlcnN0ZW4gS3JldXp1bmcgbGlua3MgcmVpbiAoZGFzIGlzdCBzY2hvbiBkaWUgR2Fzc2Vsc3RpZWdlKS4gWnVyCiAgIEVya2VubnVuZzogYXVmIGRlciBsaW5rZW4gU3RyYXNzZW5zZWl0ZSBiZWZpbmRldCBzaWNoIGRpcmVrdCB2b3IgZGVyCiAgIEtyZXV6dW5nIGVpbmUgQnVzaGFsdGVzdGVsbGUuCjQuIEltbWVyIGdlcmFkZWF1cy4gSXJnZW5kd2FubiBrb21tdCBlaW5lIGFia25pY2tlbmRlIFZvcmZhaHJ0c3N0cmFzc2UgbmFjaAogICByZWNodHM7IGdlcmFkZWF1cyBpc3QgZWluZSBTYWNrZ2Fzc2UuIEdlbmF1IGluIGRpZSBmYWhydCBpaHIgcmVpbiAoZGllCiAgIHppZWh0IHNpY2ggbmFlbWxpY2ggemllbWxpY2ggbGFuZyBoaW4pLgo1LiBOb2NoIHdlaXRlciBnZXJhZGVhdXMuIERpZSBTdHJhc3NlIGlzdCB6aWVtbGljaCBzY2htYWwsIGRhcyBtYWNodCBhYmVyIG5peC4KNi4gSXJnZW5kd2FubiBrbmlja3QgZGllIEdhc3NlbHN0aWVnZSBuYWNoIGxpbmtzIGFiLCBtaXQgZWluZW0gU2NoaWxkCiAgICdMYW5kZ2FzdGhhdXMgV2lsaGVsbWVyJyAob2RlciBzbyBhZWhubGljaCkuIAogICBJaHIgZmFocnQgdHJvdHpkZW0gZ2VyYWRlYXVzIHdlaXRlciwgdW5kIG5hY2ggZXR3YSAyMDAgTWV0ZXJuIGxpZWd0IGF1ZgogICBkZXIgcmVjaHRlbiBTZWl0ZSBlaW4gQmF1ZXJuaG9mIG1pdCBkZW0gYWx0ZW4gU3BlaWNoZXIsIGluIGRlbSBkaWUgUGFydHkKICAgc3RhdHRmaW5kZXQuCiAgIE5vY2htYWwgZXR3YSA1MCBNZXRlciB3ZWl0ZXIgbGllZ3QgcmVjaHRzIGVpbmUgV2llc2UgKGV0d2FzIHZlcnN0ZWNrdCksCiAgIGF1ZiBkZXIgZ2V6ZWx0ZXQgd2VyZGVuIGthbm4uCiAgIFBhcmttb2VnbGljaGtlaXRlbiB3ZXJkZW4gd29obCBhdXNnZXNjaGlsZGVydCBzZWluLCBkZW5rZSBpY2ggOikKSWNoIGhvZmZlLCBpaHIgd2VyZGV0IGVzIGZpbmRlbi4gOikKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51IGFiYSEgKFRzaGlydCwgMTQuIEF1ZyAxOTk3LCAyMDoxMDo0MCk6CgpMYXN0IG9yZGVycywgcGxlYXNlIQoKWVRUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTnUgYWJhISAoRXNjdWJhciwgMTUuIEF1ZyAxOTk3LCAwMDoyMTozMik6Cn4jISBybj1Uc2hpcnQgcnQ9ODcxNTgyMjQwIHJnPXBhcnR5Cn4jISB0aWQ9ODcxNTgyMjQwCkhpIFRTaGlydAoKS2FubnN0IER1IHZpZWxsZWljaHQgbmUga3VyemUgTGlzdGUgbWFjaGVuIHdlbiBEdSBhbGxlcyBoYXN0PyBEYW1pdCBrZWluZXIKdmVyZ2Vzc2VuIHdpcmQhCgpFaXNiYWVyIEVzY3ViYXIsCmRlciB1bmdlcm4gYXVmIHNlaW4gVFNoaXJ0IHZlcnppY2h0ZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOdSBhYmEhIChUc2hpcnQsIDE1LiBBdWcgMTk5NywgMTE6MTQ6NTEpOgp+IyEgcm49VHNoaXJ0IHJ0PTg3MTU4MjI0MCByZz1wYXJ0eQp+IyEgdGlkPTg3MTU4MjI0MApPdXIgbGluZXMgYXJlIGNsb3NlZC4uLgpCaXR0ZSBuaWNodCB3ZWl0ZXIgYW5ydWZlbiA6KQoKWVRUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE51IGFiYSEgKFRzaGlydCwgMTUuIEF1ZyAxOTk3LCAxMToxNzozMyk6Cn4jISBybj1Fc2N1YmFyIHJ0PTg3MTU5NzI5MiByZz1wYXJ0eQp+IyEgdGlkPTg3MTU4MjI0MAoKX0tvZW5udGVfIGljaCBtYWNoZW4sIHd1ZXJkZSBhYmVyIGthdW0gbm9jaCB3YXMgbnVldHplbiwgZGEgZWggbWl0dGxlcndlaWxlCkFubWVsZGVzY2hsdXNzIGlzdCB1bmQgaWNoIHdlZGVyIE5ldWJlc3RlbGx1bmcgbm9jaCBBZW5kZXJ1bmdlbiBhdWZuZWhtZW4Ka2Fubi4uLi4KWVRUClBTOiBEZWluZSBiZWlkZW4gWEwgc2luZCBkYWJlaSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTnUgYWJhISAoQ2F0d2VhemxlLCAxNS4gQXVnIDE5OTcsIDExOjI3OjQyKToKfiMhIHJuPVRzaGlydCBydD04NzE2MzY0OTEgcmc9cGFydHkKfiMhIHRpZD04NzE1ODIyNDAKCkFlaG5saWNoZXMgZ2lsdCB1ZWJyaWdlbnMgYXVjaCBmdWVyIFBhcnR5Z2VsZC1VZWJlcndlaXN1bmdlbi4KV2VyIGJpcyBqZXR6dCBub2NoIG5pY2h0IHVlYmVyd2llc2VuIGhhdCwgYnJhdWNodCBkYXMgYXVjaCBuaWNodCBtZWhyIHp1CnR1biwgZWluZGV1dGlnIHp1IHNwYWV0LiBLb21tZW4gaXN0IG5hdHVlcmxpY2ggdHJvdHpkZW0gbW9lZ2xpY2gsIGFsbGVyLQpkaW5ncyBtdXNzIGRhbm4gYW4gZGVyIEFiZW5ka2Fzc2UgMzAsLSBETSBnZWxhdHp0IHdlcmRlbi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTnUgYWJhISAoS2V5LCAxNS4gQXVnIDE5OTcsIDEzOjU4OjEzKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzE2MzcyNjIgcmc9cGFydHkKfiMhIHRpZD04NzE1ODIyNDAKVWkgZGEgaGFiIGljaCBqYSBHbHVlY2sgZGFzIGljaCBlcyBnZXN0ZXJuIG5vY2ggc2NobmVsbCBlcmxlZGlndCBoYWIgOykpCgpLZXkgaW1tZXIgYXVmbiBsZXR6dGVuIERydWVja2VyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOdSBhYmEhIChBbmNhbGFnb24sIDE1LiBBdWcgMTk5NywgMTY6MzM6NTcpOgp+IyEgcm49S2V5IHJ0PTg3MTY0NjI5MyByZz1wYXJ0eQp+IyEgdGlkPTg3MTU4MjI0MApLbnVkZGVscyEKUHVoYSwgZGEgaGFiIGljaCBhYmVyIEdsdWVjayBnZWhhYnQuLi4uLi4gOikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuY2FsYWdvbgo9IC90ZXN0IGluc2VydCA6PSAhaW5zZXJ0CiB6ZWl0Z2xlaWNoIG1pdCBLZXkgYW0gbGV0enRlbiBEcnVlY2tlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hpbmVzZSAoTGFyaXNzYSwgMTUuIEF1ZyAxOTk3LCAxODozMToxNSk6CkhvaSEKR3Jvc3NlIFVlYmVycmFzY2h1bmchCgpOYWNoZGVtIGVzIGdlbHVuZ2VuIGlzdCBlbmRsaWNoIGRlbiBDaGVmIHZvbSBIb25nIEJpbiB6dSBzcHJlY2hlbiBoYXQgc2ljaApoZXJyYXVzZ2VzdGVsbHQsIGRhc3Mgc2VpdCBuZXVlc3RlbSBTb25udGFncyBCdWZmZXQgYW5nZXNhZ3QgaXN0ISEhCgpFcyB3ZXJkZW4gMy00IFZvcnNwZWlzZW4gYW5nZWJvdGVuLCBhdWNoIHdhcyB6dW0gTmFjaHRpc2NoLCB1bmQgZWluaWdlCk1lbnVlcywgZGllIHdpciBtaXRiZXN0aW1tZW4gZHVyZnRlbi4gRXMgd2lyZCBhbHNvIGZ1ZXIgamVkZW4gd2FzIGRhYmVpCnNlaW4gZGVua2UgaWNoLCB3ZW5uIG5pY2h0LCBkYW5uIGthbm4gbWFuIGltbWVybm9jaCBpbmRpdmlkdWVsbCBiZXN0ZWxsZW4uCgpEZXIgZWluemlnZSBOYWNodGVpbCBpc3QgZGVyIFByZWlzOiAyMiwtIERNLCBHZXRyYWVua2UgZXh0cmEsIGRhZnVlciBkdXJmdGUKZXMgYWJlciBzY2huZWxsIGdlaGVuLCB1bmQgYW0gQnVmZXR0IGRhcmYgbWFuIHNpY2ggamEgbm9ybWFsZXJ3ZWlzZQppbW1lciB3aWVkZXIgbmFjaGhvbGVuLi4uICpncmlucyoKCkdydWVzc2UsIExhcmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2hpbmVzZSAoRnl0LCAxNS4gQXVnIDE5OTcsIDE5OjE1OjIxKToKfiMhIHJuPUxhcmlzc2EgcnQ9ODcxNjYyNjc1IHJnPXBhcnR5Cn4jISB0aWQ9ODcxNjYyNjc1CgpBbHNvIHdlbm4gbWFuIE5hY2hob2xlbiBrYW5uIHVuZCBuaWNodCBudXIgUmVpcyBhdWYgZGVtIEJ1ZmZldCBzdGVodCwgaXN0CmVpbiBGZXN0cHJlaXMgZG9jaCBpbiBPcmRudW5nLCBvZGVyPwoKRGVyIE1hZ2VuIHZvbiBGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENoaW5lc2UgKENhdHdlYXpsZSwgMTUuIEF1ZyAxOTk3LCAxOTo1ODoyMyk6Cn4jISBybj1GeXQgcnQ9ODcxNjY1MzIxIHJnPXBhcnR5Cn4jISB0aWQ9ODcxNjYyNjc1CgpXZWlhIHdlaWEhCkVpbiBCdWZmZXQgaXN0IG5lIE1pc3RpZGVlLi4uCkRpZSBhcm1lbiBLZXJsY2hlbiwgZGllIHdlcmRlbiBzaWNoIHd1bmRlcm4uIERlbmVuIEZyZXNzZW4gd2lyIGRvY2ggCmRpZSBIYWFyZSB2b20gS29wcCA6KSBBbHMgc2Nob24gbWFsIGtlaW4gRnJ1ZWhzdHVlY2sgYW0gU29ubnRhZyA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDaGluZXNlIChUcm95LCAxNi4gQXVnIDE5OTcsIDEyOjMzOjU4KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzE2Njc5MDMgcmc9cGFydHkKfiMhIHRpZD04NzE2NjI2NzUKQXVqYSEgQnVlZmZlaCEgSG9mZmVudGxpY2ggR0xBVUJFTiBkaWUgYXVjaCwgd2FzIGRhIGZ1ZXJuIE1hc3NlbmFuc3R1cm0gYXVmCnNpZSBsb3NnZWh0IHVuZCBtZWluZW4gbmljaHQgYmxvc3MsIHdpciB3b2xsdGVuIHNpZSB2ZXJhZXBwZWxuLiBTb256IHNlaG4Kd2lyIGFtIFNvbm50YWcgZ2FueiBzY2hvZW4gaHVuZ3JpZyBhdXMuCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENoaW5lc2UgKE1hbmdvLCAxNi4gQXVnIDE5OTcsIDEzOjI4OjExKToKfiMhIHJuPUZ5dCBydD04NzE2NjUzMjEgcmc9cGFydHkKfiMhIHRpZD04NzE2NjI2NzUKZGllc2VyIGFrdGlvbiBrYW5uIGljaCBudXIgenVzdGltbWVuLgoKTWFuZ28sIGRlciBiZWkgc29sY2hlbiBha3Rpb25lbiBkaWUgYmVzaXR6ZXIgaW1tZXIgaW4gZGVuIHJ1aW4gc3R1ZXJ6dC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDaGluZXNlIChZYW50cm8sIDE2LiBBdWcgMTk5NywgMTQ6MDY6MTcpOgp+IyEgcm49TWFuZ28gcnQ9ODcxNzMwODkxIHJnPXBhcnR5Cn4jISB0aWQ9ODcxNjYyNjc1CmljaCB3ZWlzcyBuaWNodCwgd2llIGRhcyBpbiBNUyBpc3QsIGFiZXIgaWNoIGZpbmRlIGRhcyBleHRyZW0gdWViZXJ0ZXVlcnQuIEluCktvZWxuIGdpYnQgZXMgYXVjaCBDaGluZXNlbmJ1ZmZldCB1bmQgZGEgemFobHQgbWFuLCBvaG5lIGVpbmUgR3J1cHBlIHp1IHNlaW4sCjEwLDUwIERNIHVuZCBrYW5uIGZyZXNzZW4gYmlzIHp1bSB1bWZhbGxlbi4gR2V0cmFlbmtlIGdlaHQgendhciBleHRyYSwgYWJlcgpkYXMgaXN0IGphIGhpZXIgYXVjaC4uLiBhbHNvIDIyIERNIHNpbmQgbWVociBhbHMgV3VjaGVyIHVuZCBpY2ggYmluIGRhZ2VnZW4hISEKCkRhIGthbm4gaWNoIG1pciBsaWViZXIgZnVlciAxMiBETSB3YXMgbm9ybWFsZXMgYXVzIGRlciBLYXJ0ZSByYXVzc3VjaGVuLCBkZW5uCmRhdm9uIHdpcmQgYXVjaCBlaW4gV29sZiB3aWUgaWNoIGluIGRlciBSZWdlbCBtZWhyIGFscyBTYXR0CgpZYW50cm8sIGVudHNldHp0IHVlYmVyIGRhcywgd2FzIExhcmlzc2Egc28gImJpbGxpZyIgbmVubnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDaGluZXNlIChMYXJpc3NhLCAxNi4gQXVnIDE5OTcsIDE1OjM3OjQ5KToKfiMhIHJuPVlhbnRybyBydD04NzE3MzMxNzcgcmc9cGFydHkKfiMhIHRpZD04NzE2NjI2NzUKV28sIFlBTlRSTywgc3RlaHQgZGVubiwgCmRhc3MgRHUgZ2V6d3VuZ2VuIHdpcnN0IGFtIEJ1ZmV0dCB0ZWlsenVuZWhtZW4/IGljaCBnbGF1YmUgaWNoIGhhYmUgCl9hdXNkcnVlY2tsaWNoc3RfIGRhcmF1ZiBoaW5nZXdpZXNlbiBkYXNzIGplZGVyIGRlciBtb2VjaHRlIGF1Y2ggaW5kaXZpZHVlbGwKYmVzdGVsbGVuIGthbm4uClZpZWxsZWljaHQgemVpZ3N0IER1IG1pciBhdWNoLCB3byBzdGVodCwgZGFzcyBpY2ggMjIsLSBiaWxsaWcgZmluZGU/CgpMYXJpLCBzY2h1ZXR0ZWx0IGRlbiBLb3BmIHVlYmVyIHNvdmllbCBZYW50cm8uCgpQUy46IFdpciBoYWJlbiAxMDAgTGV1dGUgYW5nZW1lbGRldC4gRGEgc29sbHRlbiBhbGxlIHNhdHQgd2VyZGVuLCBwZXIgbWFpbApoYWJlbiBzaWNoIG5hZW1saWNoIG51ciA0OCBnZW1lbGRldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQ2hpbmVzZSAoSm9mLCAxNi4gQXVnIDE5OTcsIDE1OjQzOjU2KToKfiMhIHJuPVRyb3kgcnQ9ODcxNzI3NjM4IHJnPXBhcnR5Cn4jISB0aWQ9ODcxNjYyNjc1CgogSmEsIGRpZSBnbGF1YmVuIGRhcyB3aXJrbGljaCA6KSBXaXIgaGFldHRlbiBhdWNoIGVpbiBmZXN0ZXMgTWVudWUgb3JkZXJuCmtvZW5uZW4sIGRhcyBoYWV0dGUgYmVpIH4zMERNL1BlcnNvbiBnZWxlZ2VuLCBhYmVyIHNvIGZpbmRlIGljaCBlcyB2aWVsCmJlc3Nlciwgd2VpbCBtYW4gYWxsZXMgbWFsIHByb2JpZXJlbiBrYW5uLiAKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENoaW5lc2UgKEF1Z3JhLCAxNi4gQXVnIDE5OTcsIDE1OjUzOjU0KToKfiMhIHJuPUpvZiBydD04NzE3MzkwMzYgcmc9cGFydHkKfiMhIHRpZD04NzE2NjI2NzUKV2VubiBpY2ggYW4gZGFzIHd1bmRlcmJhcmUgQ2hpbmEtQnJ1bmNoIGltICJPc3R3aW5kIiBkZW5rZSwga2FubiBpY2ggZGVtCkJ1ZmZldCBudXIgdm9sbCB6dXN0aW1tZW4uIEFuZGVyc2RlbmtlbmRlIGtvY2hlbiBlaCBpaHIgZWlnZW5lcwpCaWh1bi1TdWVwcGNoZW4uCgpBLiBXZWlzc25peAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmVsdG1vZWdsaWNoa2VpdCAoUWl0ZXNzLCAxNi4gQXVnIDE5OTcsIDE4OjQ1OjA1KToKT2tlZWguCgpEYXMgWmVsdGVuIGZpbmRldCBhbHNvLCB3aWUgaWNoIGVzIHZlcnN0YW5kZW4gaGFiZSBhdWYgZGVyIFdpZXNlIHZvbiBzbyBuZW0KQmF1ZXJuIGRhIHVtbWUgRWNrZSBzdGF0dC4KS29zdGV0IGRhcyBkYW5uIHdhcyA/IFVuZCB3aWV2aWVsID8KCkRhbm4gd29sbHQgaWNoIG5vY2ggd2lzc2VuLCBvYiBtYW4gYXVjaCBsYWVuZ2VyIGRvcnQgYmxlaWJlbiBrYW5uLCBhbHNvIG5pY2h0Cm5vY2ggbmUgZ2FuemUgV29jaGUsIHNvbmRlcm4gbnVyIHZvbiBTb25udGFnIGF1ZiBNb250YWcuCgpRSSoqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQ2hpbmVzZSAoTHVwdXMsIDE2LiBBdWcgMTk5NywgMjE6MDg6NDkpOgp+IyEgcm49WWFudHJvIHJ0PTg3MTczMzE3NyByZz1wYXJ0eQp+IyEgdGlkPTg3MTY2MjY3NQpLYW5uc3QgRHUgZW5kbGljaCBtYWwgZGllIEFuc3BpZWx1bmdlbiBhdWYgbWljaCB1bmQgbWVpbmUgTWFnaWVyaW4gaW4KU3BpZWxwYXVzZSBsYXNzZW4sIHlhbnRybz8gOikKCkx1cHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVnZXRhcmllci1GdXR0ZXIgKEFzbW9kaXMsIDE3LiBBdWcgMTk5NywgMDE6Mjk6MDQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3MTQwOTA2NiByZz1wYXJ0eQp+IyEgdGlkPTg3MTQwOTA2NgpTb3dlaXQgaWNoIGdlaG9lcnQgaGFiZSwgc29sbCBQYWRyZWljIHVuZCB2aWVsbGVpY2h0IGF1Y2ggUGF0cnluLAp3ZW5ucyBuaWNodCByZWljaHQsIGF1ZiBkZXIgUGFydHkgZ2VncmlsbHQgd2VyZGVuLgpGbGVpc2NoIGJyYXVjaHQgaWhyIGFsc28gd29obCBuaWNodCBtaXR6dWJyaW5nZW4uLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQ2hpbmVzZSAoRnl0LCAxNy4gQXVnIDE5OTcsIDA5OjQ5OjQzKToKfiMhIHJuPVRyb3kgcnQ9ODcxNzI3NjM4IHJnPXBhcnR5Cn4jISB0aWQ9ODcxNjYyNjc1CgpIbSwgenVtIEJlaXNwaWVsLCB3ZW5uIGRhIGVpbmVyIHN0YXR0ICdhY2h0emlnJyAnYWNodHplaG4nIHZlcnN0YW5kZW4gaGF0CnVuZCBkYW5uaCBzbyBuZSBCb2huZW5zdGFuZ2Ugd2llIFJvY2h1cyBiZXN0ZWxsdCBoYXQuLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENoaW5lc2UgKEZ5dCwgMTcuIEF1ZyAxOTk3LCAxMDoyNDoxNyk6Cn4jISBybj1ZYW50cm8gcnQ9ODcxNzMzMTc3IHJnPXBhcnR5Cn4jISB0aWQ9ODcxNjYyNjc1CgpIbSwgYWxzbyBpY2ggZmluZGUgMjIgRE0gYXVjaCBuaWNodCAqYmlsbGlnKiwgYWJlciAnbiBDaGluZXNlbiwgYmVpIGRlbQptYW4gZnVlciAxMiBETSB3aXJrbGljaCBwcm9wcGV2b2xsIGlzdCwgaGFiIGljaCB6dW0gbGV0enRlbiBNYWwgaW4gUGVraW5nCmdlc2VoZW4uLi4uCgpOYWphLCB2aWVsbGVjaWh0IGhhYmVuIGRpZSBDaGluZXNlbiBqYSBkb2NoIHNjaG9uIEtvZWxuIGJlc2V0enQgOy0pCgpEZXIgTWFnZW4gdm9uIEZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENoaW5lc2UgKEpvZiwgMTcuIEF1ZyAxOTk3LCAxMzowOTo1OSk6Cn4jISBybj1GeXQgcnQ9ODcxODA0MTgzIHJnPXBhcnR5Cn4jISB0aWQ9ODcxNjYyNjc1CgogS2VpbmUgR2VmYWhyLCBpY2ggd2FyIGJlaW0gQmVzdGVsbGVuIGRhYmVpLCBkaWUgd2lzc2VuIGFsc28sIHdhcyBzaWUKZXJ3YXJ0ZXQgOikKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVnZXRhcmllci1GdXR0ZXIgKFBhdHJ5biwgMTcuIEF1ZyAxOTk3LCAyMTowNjowMik6Cn4jISBybj1Bc21vZGlzIHJ0PTg3MTc3NDE0NCByZz1wYXJ0eQp+IyEgdGlkPTg3MTQwOTA2NgpvaCwgcGFkcmVpYyBpc3QgZGllIG51bW1lciBlaW5zIGpldHp0Li4uLmRhIG11c3MgaWNoIHdvaGwgbWFsIHdpZWRlcgpuYWNoemllaGVuIDopCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmVsdG1vZWdsaWNoa2VpdCAoV2FyZ29uLCAxOC4gQXVnIDE5OTcsIDExOjA3OjIyKToKfiMhIHJuPVFpdGVzcyBydD04NzE3NDk5MDUgcmc9cGFydHkKfiMhIHRpZD04NzE3NDk5MDUKRGFzIFplbHRlbiBpc3QgZ3JhdGlzLiBPYiBtYW4gZGEgYXVjaCBsYWVuZ2VyIGJsZWliZW4ga2Fubiwgd2Vpc3MgaWNoIG5pY2h0LgpEaWUgV2llc2UgZ2Vob2VydCBqZWRlbmZhbGxzIHp1IGRlbSBIb2YsIGF1ZiBkZW0gZGllIFBhcnR5IHN0YXR0ZmluZGV0LCB1bmQgZGEKZmluZGV0IFNvbm50YWcgbmFjaG1pdHRhZyB3b2hsIHNjaG9uIGRpZSBuYWVjaHN0ZSBWZXJhbnN0YWx0dW5nIHN0YXR0LgogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFplbHRtb2VnbGljaGtlaXQgKENhdHdlYXpsZSwgMTguIEF1ZyAxOTk3LCAxMTozOTowNik6Cn4jISBybj1RaXRlc3MgcnQ9ODcxNzQ5OTA1IHJnPXBhcnR5Cn4jISB0aWQ9ODcxNzQ5OTA1CgpBcyBtZW50aW9uZWQgYmVmb3JlLCBkYXMgWmVsdGVuIGFtIEFhc2VlIGlzdCwgYWVobSwgc2xpZ2h0bHkgaWxsZWdhbCwgZGEKbWFuIGVpZ2VudGxpY2ggbmljaHQgYW0gQWFzZWUgemVsdGVuIChnZXNjaHdlaWdlIGRlbm4gR3JpbGxlbikgZGFyZi4gS29tbXQKYWJlciBhbGxlIG5hc2VsYW5nIHZvciwgTXVlbnN0ZXJzIE9yZG51bmdzaHVldGVyIGRydWVja2VuIGluIGRlciBSZWVnZWwKYmVpZGUgQXVnZW4genUuIERpZSBNZW5nZSBrb2VubnRlIGFsbGVyZGluZ3MgZWluIFByb2JsZW0gd2VyZGVuLgoKVm9uIFNhbXRhZyBhdWYgU29ubnRhZyBtdWVzc2VuIGRpZSBaZWx0ZXIgdW16aWVoZW4sIHp1ciBXaWVzZSBhbSBQYXJ0eS0KcmF1bSwgWmVsdGVuIGtvc3RldCBkYSBuaXggdW5kIGlzdCBxdWFzaSBpbiBkZXIgUmF1bW1pZXRlIG1pdGVpbmJlZ3JpZmZlbi4KSWNoIGdsYXViZSBhbGxlcmRpbmdzIG5pY2h0LCBkYXMgbWFuIGRhIGxhZW5nZXIgYmxlaWJlbiBrYW5uLCBhbHMgc2FnZW4gd2lyCm1hbCBTb25udGFnIE1pdHRhZy4gRGVyIEJhdWVybmhvZiB3aXJkIGJlcmVpdHMgU29ubnRhZyB1bSAxNzowMCB3aWVkZXIgCmdlYnJhdWNodCwgZGEgaXN0IGRhcyBzY2hsZWNodCwgd2VubiBkYSBub2NoIGplbWFuZCBaZWx0ZSBzdGVoZW4gaGF0LiBJY2gKa2FubiBkZW4gRnJpdHplbiBqYSBub2NobWFsIGZyYWdlbiwgYWxsZXJkaW5ncyBudXIga3VyemZyaXN0aWcsIGljaCBrYW5uIGFscwpmcnVlaGVzdGVucyBhbSBQYXJ0eWFiZW5kIEJlc2NoZWlvZCBnZWJlbiwgb2IgbWFuIGxhZW5nZXIgYmxlaWJlbiBrYW5uL2RhcmYuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuaGFlbmdlcmt1cHBsdW5nIChDYXR3ZWF6bGUsIDE4LiBBdWcgMTk5NywgMTE6NDI6MTYpOgpNb2luIQoKV2lyIGhhYmVuIHp1bSBUcmFuc3BvcnQgZWluZW4gQW5oYWVuZ2VyIGJlc29yZ3QsIGRlciBhYmVyIGdlem9nZW4gd2VyZGVuIAptdXNzLiBXaXIga3JpZWdlbiBkYXMgRGluZyB3b2hsIGFtIEZyZWl0YWcgaGluIHVuZCBhdWNoIGFtIFNvbm50YWcgd2llZGVyCndlZywgZGF6d2lzY2hlbiBoYWJlbiB3aXIgYWJlciBrZWluZW4gcGFzc2VuZGVuIFdhZ2VuIG1laHIuIAoKV2VubiBhbHNvIGplbWFuZCBlaW4gQXV0byBtaXQgQW5oYWVuZ2Vya3VwcGx1bmcgaGF0IHVuZCBiZXJlaXQgaXN0LCBkZW4KSGFlbmdlciAyIG1hbCB6dSBiZXdlZ2VuLCBtb2VnZSBzaWNoIGJpdHRlIGJlaSBtaXIgbWVsZGVuIChtYWlsKS4gCgpBbSBiZXN0ZW4gd2FlcmUgZXMsIHdlbm4gZGVuIGplbWFuZCBhdWNoIG5vY2ggYW0gRnJlaXRhZyBhdXMgUGFkZXJib3JuCmFiaG9sZW4ga29lbm50ZSA6LSkKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWZHIEVybGFuZ2VuIC0+IE11ZW5zdGVyIChNYXJjdXMsIDE4LiBBdWcgMTk5NywgMjI6MTg6MzkpOgpIaSwKCkljaCBzdWNoZSBub2NoIGVpbmUgTWZHIHZvbiBFcmxhbmdlbiBuYWNoIE11ZW5zdGVyIC4uLiAxNzVETSBCYWhuZmFocmVuCmlzdCBtaXIgZG9jaCBpcmdlbmR3aWUgZXR3YXMgWlUgdGV1ZXIgdW5kIGRhcyBBdXRvIGF1cyBFcmxhbmdlbiBpc3QgbGVpZGVyCnNoY29uIHZvbGwgOigKCkZhbGxzIGFsc28gamVtYW5kIGVpbmVuIGtsZWluZW4gVW13ZWcgdWViZXIgRXJsYW5nZW4vTnVlbmJlcmcgZmFlaHJ0IC4uLiAKV2FlcmUgaWNoIHNlaHIgZnJvaCwgd2VubiBlciBtaWNoIG1pdG5laG1lbiBrb2VubnRlIDopCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZkcgRXJsYW5nZW4gLT4gTXVlbnN0ZXIgKFd1cnN0bWFnaWVyLCAxOC4gQXVnIDE5OTcsIDIzOjIyOjI3KToKfiMhIHJuPU1hcmN1cyBydD04NzE5MzU1MTkgcmc9cGFydHkKfiMhIHRpZD04NzE5MzU1MTkKQWVoLi4uIGtvZW5udGUgbm9jaG1hbCBqZW1hbmQgenVzYW1tZW5mYXNzZW4sIHdpZSBzaWNoIGpldHp0IGRhcyBXb2NoZW5lbmRlIHNvCmRhcnN0ZWxsdCwgdm9yYWxsZW0gd2FzIGRpZSBVZWJlcm5hY2h0dW5nc21vZWdsaWNoa2VpdGVuIGFuZ2VodD8gTWFsIFR1cm5oYWxsZQptYWwgWmVsdCwgd29iZWkgWmVsdGVuIG1hbCBsZWdhbCBpc3QgdW5kIG1hbCBuaWNodD8gCgpFaW4gV3Vyc3RtYWdpZXIgKHZvZWxsaWcgdW5nZW5pZXNzYmFyIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZkcgRXJsYW5nZW4gLT4gTXVlbnN0ZXIgKEhvYm8sIDE5LiBBdWcgMTk5NywgMDg6NTU6NTMpOgp+IyEgcm49V3Vyc3RtYWdpZXIgcnQ9ODcxOTM5MzQ3IHJnPXBhcnR5Cn4jISB0aWQ9ODcxOTM1NTE5CkxpZWJlciBXdXJzdG1hZ2llciwKCldpZSB3YWVyJ3MgbWFsIGRhbWl0LCBkaWUgUnVicmlrIGF1Y2ggenUgbGVzZW4sIGluIGRpZSBtYW4gd2FzIHBvc3RldD8KRGEgZ2lidCdzIG5lbiBBcnRpa2VsLCBkZXIga2VpbmUgMTIgU3R1bmRlbiB2b3IgRGVpbmVtIGdlcG9zdGV0IHd1cmRlLCB1bmQKd2VubiBtYW4gZGVuIGxpZXN0IHVuZCBhdWNoIGVpbiBiaXNjaGVuIG5hY2hkZW5rdCwgZGFubiB3ZWlzcyBtYW4gYXVjaCwgd2FzCmxvcyBpc3QsIG9kZXIgbmljaHQ/CgotPiBBcnRpa2VsIDIyNgoKICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcnVwcGVuVGlja2V0IGFiIEtvZWxuIChZYW50cm8sIDE5LiBBdWcgMTk5NywgMTE6NTI6MjIpOgoKSGksIApFcyB3aXJkIHdvaGwgZWluZSBHcnVwcGUgZ2ViZW4sIGRpZSBhYiBLb2VsbiB6dXIgUGFydHkgYW5yZWlzdC4gV2VyIHNpY2ggZGEKYW5zY2hsaWVzc2VuIHdpbGwsIGlzdCB3aWxsa29tbWVuLiBUcmVmZmVuIGlzdCBhbSA6CgogICAgICAgICAgICAgICAgICBGUkVJVEFHLCBkZW4gMjIuOC45NyAgdW0KICAgICAgICAgICAgICAgICAgICAgICAgIDE0MzAgVWhyCiAgICAgICAgICBpbSBLb2VsbmVyIEhhdXB0YmFobmhvZiB2b3IgZGVtIEJsdW1lbmdlc2NoYWVmdCBBdXNnYW5nIERPTQoKQUNIVFVORzogTWFpbGVuIGJyaW5ndCBnYXIgbml4Li4gYW5sYWJlcm4gYXVjaCBuaWNodC4gV2VyIGJpcyB1bSAxNDQ1IFVIUgpuaWNodCBkYSBpc3QsIGRlciBrcmllZ3Qga2VpbiBHcnVwcGVudGlja2V0IG1laHIuIEt1cnpmcmlzdGlnIGVudHNjaGVpZGVuIGRhbm4KZGllIEFud2VzZW5kZW4sIG9iIGRlciBQcmVpc3dlcnRlIHp1ZyB1bSAxNTE0IChvaG5lIFp1c2NobGFnKSBvZGVyIGRlciBldHdhcwp0ZXVyZXJlIHVtIDE1NDggZ2Vub21tZW4gd2lyZCwgd29iZWkgZGVyIGRhbm4gYWJlciBhdWNoIDYwIE1pbnV0ZW4gc2NobmVsbGVyCmlzdC4KCkF1c3JlZGVuIGdpYnQgZXMga2VpbmUuLi4gd2VyIHp1IHNwYWV0IGtvbW10LCBkZXIgZmFlaHJ0IGFsbGVpbmUuCgpZYW50cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhbGxlbnBlbm5lbiBhbSBGcmVpdGFnIChDYXR3ZWF6bGUsIDE5LiBBdWcgMTk5NywgMTM6MDg6NDEpOgoKV2llIHNvZWJlbiBlcmZhaHJlbiwgZ2lidCBlcyBub2NoIGVpbiBrbGVpbmVzIFByb2JsZW0gbWl0IGRlciBVZWJlcm5hY2h0dW5nIAppbiBkZXIgSGFsbGUuIERhIGRpZSBIYWxsZSBhbSBTYW1zdGFnIGZ1ZXIgc2NodWxpc2NoZSBad2Vja2UgZ2VudXR6dCB3aXJkLAprb2VubmVuIGRpZSBMZXV0ZSwgZGllIHZvbiBGcmVpdGFnIGF1ZiBTYW1zdGFnIGRhIHNjaGxhZmVuIHdvbGxlbiwgbnVyIGJpcwpTUEFFVEVTVEVOUyAxMDowMCBVaHIgZGEgZHJpbiBibGVpYmVuLCBkYSB2b24gMTAtMTIgJ1NjaHVsc3BvcnQnIHN0YXR0ZmluZGV0LiAKQmlzIGRhaGluIG11c3MgZGllIEhhbGxlIGFsc28gZ2VyYWV1bXQsIGJ6dy4gZGllIFNjaGxhZnNhY2hlbiB2ZXJzdGF1dCBzZWluLgpPYiBlaW5lIFRlaWxoYWxsZW5iZW51dHp1bmcgbW9lZ2xpY2ggc2l0IHdlaXNzIGljaCBub2NoIG5pY2h0LgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFsbGVucGVubmVuIGFtIEZyZWl0YWcgKEFuYWtpbiwgMTkuIEF1ZyAxOTk3LCAxMzoxMjoyNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODcxOTg4OTIxIHJnPXBhcnR5Cn4jISB0aWQ9ODcxOTg4OTIxCk9oYSBLbGFzc2UuLi51cmdzLgoKQW5ha2luLiBIYXQga2VpbiBaZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm90ZmFsbG51bW1lciAoQ2F0d2VhemxlLCAxOS4gQXVnIDE5OTcsIDEzOjE0OjIxKToKCkhtLCBpY2ggaGFiIGdlc2VoZW4sIGRhcyBpY2ggZGllIE5vdGZhbGxudW1tZXIgYmlzaGVyIG51ciBpbiBlaW5lbQonTmViZW5zYXR6JyBlcndhZWhudCBoYWJlLiAKCkljaCBtb2VjaHRlIGFsc28gbm9jaCBtYWwgYXVzZHJ1ZWNrbGljaCBkYXJhdWYgaGlud2Vpc2VuIGRhcyBlcyBlaW5lIApOT1RGQUxMbnVtbWVyIGdpYnQuIFdlbm4gaWhyIGlyZ2VuZHdlbGNoZSBQcm9ibGVtZSBoYWJ0LCB6LkIgdmVybGF1ZmVuIApvZGVyIHZlcmZhaHJlbiBrb2VubnQgaWhyIG1pY2ggdW50ZXIgZm9sZ2VuZGVyIE51bW1lciAnc3RhZW5kaWcnIGVycmVpY2hlbjoKCiAgIDAxNzcgLyAzMjEtMjUwMCAKSWNoIGJldG9uZSwgZGFzIGVzIGVpbmUgX05vdGZhbGxfbnVtbWVyIGlzdCwgZXMgaGF0IGtlaW5lbiBad2Vjaywgd2VubiBkaWUKTGVpdHVuZyBzdGFlbmRpZyBiZXNldHp0IGlzdCwgd2VpbCBpcmdlbmR3ZWxjaGUgU2VwcGVsIG1pciBHdXRlbmFjaHQtCmxpZWRlciBzaW5nZW4gb2RlciBzaWNoIHVlYmVyIGRhcyB3YXJtZSBCaWVyIGJlc2Nod2VyZW4gd29sbGVuLCBvLiBhZS4hISEKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWZHIEVybGFuZ2VuIC0+IE11ZW5zdGVyIChXdXJzdG1hZ2llciwgMTkuIEF1ZyAxOTk3LCAxMzo0Mjo0NSk6Cn4jISBybj1Ib2JvIHJ0PTg3MTk3Mzc1MyByZz1wYXJ0eQp+IyEgdGlkPTg3MTkzNTUxOQpMaWViZSBIb2JlLAoKd3VlcmQgaWNoIGphIGdlcm5lIG1hY2hlbiwgbnVyIGlzdCBtaXIgZGFzIFNhbW1lbG4gdm9uIEluZm9zY2huaXBzZWxjaGVuIGluCj4yMDAgQXJ0aWtlbG4gaGllciB6dSB0ZXVlciAoa2VpbiBrb3N0ZW5sb3NlciBVTkktWlVnYW5nIG1laHIuLi4pIHVuZCB6dQpsYWdnaWcgb2JlbmRyZWluLiBEYXJ1bSBob2ZmdGUgaWNoIGF1ZiBuZSBndXQgZ2VrZW5uemVpY2huZXRlIFpVc2FtbWVuZmFzc3VuZwoobGVpZGVyIHNhZ2VuIGRpZSBTdWJqZWN0cyBuaWNodCB2aWVsIGF1cy4uLikKCnd1cnN0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWZHIEVybGFuZ2VuIC0+IE11ZW5zdGVyIChDYXR3ZWF6bGUsIDE5LiBBdWcgMTk5NywgMTM6NDQ6NTEpOgp+IyEgcm49V3Vyc3RtYWdpZXIgcnQ9ODcxOTkwOTY1IHJnPXBhcnR5Cn4jISB0aWQ9ODcxOTM1NTE5CkVpbmUgYXVzcmVpY2hlbmRlIFp1c2FtbWVuZmFzc3VuZyBnaWJ0cyB2aWVsbGVpY2h0IGltIFdXVywgZGEgc3RlaHQgbmVuCmhhdWZlbiBnZXBhY2t0ZXIgSW5mb3MgenVyIHBhcnR5Li4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNZkcgRXJsYW5nZW4gLT4gTXVlbnN0ZXIgKEVzY3ViYXIsIDE5LiBBdWcgMTk5NywgMTQ6MTQ6MzIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3MTk5MTA5MSByZz1wYXJ0eQp+IyEgdGlkPTg3MTkzNTUxOQpHcm9zc2VzIExvYiBhbiBkZW5qZW5pZ2VuIGRlciBkYXMgaW0gV1dXIGdlbWFjaHQgaGF0ISBEYSBpc3Qga29tcGxldHQgYWxsZXMKdm9yaGFuZGVuICpmcmV1KgoKRnVlciBhbGxlIGRpZSBkZW4gTGluayBuaWNodCBzZWxiZXIgZmluZGVuOgoKbWcudW5pLW11ZW5zdGVyLmRlL1BhcnR5L1BhcnR5LjgvCgpIYWIgbWlyIGdyYWRlIGFsbGVzIGF1c2dlZHJ1Y2t0LCBkYW1pdCBpY2ggbWljaCBhbSBGcmVpdGFnIG5pY2h0IHZlcmZhaHIgOykKCkVpc2JhZXIgRXNjdWJhciwgZGVyIHNpY2ggc2Nob24gZ2FueiB0b2xsIGZyZXV0IHVuZCBodWVwZnQgdW5kIHNwcmluZ3QgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiaWV0ZSBtZmcgYWIgYm9ubiAoU251Z2dsZSwgMTkuIEF1ZyAxOTk3LCAxNDoyMDozMCk6CkRlciBUaXRlbCBzb2xsdGUgZWlnZW50bGljaCBhbGxlcyBzYWdlbi4KCldpciByZWlzZW4gbmljaHQgbWl0IFlhbnRyb3MgUG9zdGt1dHNjaGUsIHNvbmRlcm4gbWl0IGRlbSBlaWdlbmVuIFRyZXRib290LAppbmRlbSBub2NoIGVpbiBvZGVyIHp3ZWkgUGxhZXR6ZSBmcmVpIHNpbmQuIApGYWxscyBhbHNvIG5vY2ggamVtYW5kIG1pdCBtb2VjaHRlIC0+IG1haWwgYW4gbWljaAoKR3J1c3MKU251Z2dsZQoKUFMgSWNoIGhhYiBzZWxiZXIgbWluZGVzdGVucyBlaW5lbiBUeXBvIGdlZnVuZGVuLCB3ZXIgYmlldGV0IG1laHI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFsbGVucGVubmVuIGFtIEZyZWl0YWcgKEtleSwgMTkuIEF1ZyAxOTk3LCAxNDozMjoyMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODcxOTg4OTIxIHJnPXBhcnR5Cn4jISB0aWQ9ODcxOTg4OTIxCkhtbSBhbHNvIHNvbGFuZ2UgbW5hbiB3ZW5pZ3N0ZW5zIGJpcyAxMCBwZW5uZW4ga2FubiBpc3QgZXMgb2tpIC4pCkhtbSBkYXJmIG1hbiBkZW4gS2luZGVyY2hlbiBhdWNoIGJlaW0gU3BvcnQgenVzY2hhdWVuPyAsKSkpCgpLZXkgbGllYnQgZXMgTGV1dGUgYmVpbSBhcmJlaXRlbiB6dSBiZW9iYWNodGVuIDspKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGFsbGVucGVubmVuIGFtIEZyZWl0YWcgKE9ya3RvZXRlciwgMTkuIEF1ZyAxOTk3LCAxNDozNToxNCk6Cn4jISBybj1LZXkgcnQ9ODcxOTkzOTQzIHJnPXBhcnR5Cn4jISB0aWQ9ODcxOTg4OTIxCkhtbSBkdSB3dWVyZGVzdCBkZW0gTGVocmVyIGRvY2ggYmVzdGltbXQgZW1wZmVobGVuIGNpcmtlbHRyYWluaW5nIHp1IG1hY2hlbiwKd2FzLCBLZXkgPwpPcmtULgoKUFMgYWIgbWl0IGRlbSBUaHJlYWQgbmFjaCBzY2htYXJybi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIYWxsZW5wZW5uZW4gYW0gRnJlaXRhZyAoS2V5LCAxOS4gQXVnIDE5OTcsIDE0OjM2OjU1KToKfiMhIHJuPU9ya3RvZXRlciBydD04NzE5OTQxMTQgcmc9cGFydHkKfiMhIHRpZD04NzE5ODg5MjEKSGFoIGRlciBMZWhyZXIgbXVlc3N0ZSBkYXMgbWVpc3N0ZSB0dW4gLikpIERlciB3aXJkIG1hbCByaWNodGlnIGhhcnQKcmFuZ2Vub21tZW4gLikpIERhIGZyZXVlbiBzaWNoIGF1Y2ggZGllIFNjaHVlbGVyIC4pKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIFp1Z2ZhaHJlciAoV2FyZ29uLCAxOS4gQXVnIDE5OTcsIDE3OjEzOjI3KToKICBIaSEKRnVlciBkaWUgTGV1dGUsIGRpZSBtaXQgZGVtIFp1ZyBrb21tZW4sIHNvbGwgZGllIFdlZ2Jlc2NocmVpYnVuZyBuYXR1ZXJsaWNoCm5pY2h0IHZlcnNjaHdpZWdlbiB3ZXJkZW4uClZvbSBIYXVwdGJhaG5ob2Ygc3RlaWd0IG1hbiBlaW5mYWNoIGluIGRlbiByaWNodGlnZW4gQnVzLiA6KQotIEZyZWl0YWc6IE1hbiBuaW1tdCBkaWUgTGluaWUgMTAgUmljaHR1bmcsIGhtbS4uLiBhZWguLi4gTWVja2xlbmJlY2ssIGdsYXViZQppY2guIEF1c3N0ZWlnZW4gbXVzcyBtYW4gamVkZW5mYWxscyBhbiBkZXIgSGFsdGVzdGVsbGUgQmlzY2hvcGlua3N0cmFzc2UuIERhbm4KZ2VodCBtYW4gbm9jaCBlaW4gU3R1ZWNrIGRpZSBNZWNrbGVuYmVja2VyIFN0cmFzc2UgZW50bGFuZywgdWViZXJxdWVydCBkZW4KQWFzZWUgdW5kIGZvbGd0IGVpbmZhY2ggZGVtIEdlZ3JvZWhsZSBkZXIgTXVkZGVyLU1hc3Nlbi4gOikKRW50d2VkZXIgc2luZCB3aXIgYW4gZGVyIEdyaWxsaHVldHRlIGRpcmVrdCBhbiBkZXIgQnJ1ZWNrZSwgb2RlciBhbiBlaW5lcgphbmRlcmVuIEh1ZXR0ZSBzY2hyYWVnIHJlY2h0cyBkZW4gSGFuZyBoaW5hdWYuCgotIFNhbXN0YWc6IERhIGRlciBCYXVlcm5ob2YgemllbWxpY2ggYWJnZWxlZ2VuIGlzdCwgZ2lidCBlcyBoaWVyIGxlaWRlciBrZWluZQpkaXJla3RlIEJ1c3ZlcmJpbmR1bmcuIEZvbGdlbmRlIE1vZWdsaWNoa2VpdGVuIGJlc3RlaGVuOgphKSBNYW4ga29tbXQgZXR3YXMgZnJ1ZWhlciwgdW5kIGZhZWhydCBtaXQgZGVtIEJ1cyB6dXIgTWF0aGUuIFZvbiBkYSBhdXMga2FubgptYW4gZGFubiBtaXQgZGVuIFNlbWluYXJ0ZWlsbmVobWVybiBydWViZXJmYWhyZW4uIEFscyBMaW5pZW4gYmlldGVuIHNpY2ggZGEKei5CLiBkaWUgNSAoUmljaHR1bmcgTmllbmJlcmdlKSBvZGVyIGRpZSAxMSAoUmljaHR1bmcgR2lldmVuYmVjaykgYW4uIE1hbgpmYWVocnQgYmlzICdDb2VzZmVsZGVyIEtyZXV6JywgdWViZXJxdWVydCBkZW4gUmluZyB1bmQgZmluZGV0IGRpZSBNYXRoZSBnbGVpY2gKYXVmIGRlciBsaW5rZW4gU2VpdGUuCldlbm4gbWFuIGRpZXNlbiBXZWcgd2FlaGx0LCBzb2xsdGUgbWFuIGFsbGVyZGluZ3MgbW9lZ2xpY2hzdCBiaXMgMTguMDAgVWhyCm9kZXIgc3BhZXRlc3RlbnMgMTguMzAgVWhyIGRhIHNlaW4hCmIpIE1hbiBmYWVocnQgbWl0IGRlciBMaW5pZSAxIGJpcyB6dXIgSGFsdGVzdGVsbGUgJ0dhc3NlbHN0aWVnZScuIFZvbiBkb3J0IGF1cwprYW5uIGVpbiBGYWhyc2VydmljZSBlaW5nZXJpY2h0ZXQgd2VyZGVuIChuYWNoIEFic3ByYWNoZSEpCgpGdWVyIGRlbiBXZWcgenVydWVjayB3ZXJkZW4gc2ljaCB3b2hsIGhpbGZzYmVyZWl0ZSBNdWRkZXIgZmluZGVuIDopCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVlciBadWdmYWhyZXIgKFdhcmdvbiwgMjAuIEF1ZyAxOTk3LCAxMzowNjoxMSk6Cn4jISBybj1XYXJnb24gcnQ9ODcyMDAzNjA3IHJnPXBhcnR5Cn4jISB0aWQ9ODcyMDAzNjA3ClVuZCBub2NoIGVpbiBwYWFyIEJ1cy1JbmZvczoKKiBGcmVpdGFnCiAgTGluaWU6ICAgIDEwCiAgUmljaHR1bmc6IFJveGVsCiAgWmVpdGVuOiAgIGJpcyAyMDoyMCBhbGxlIDIwIE1pbnV0ZW4gKGFsc28geHggVWhyIDAwLCAyMCwgNDApCiAgICAgICAgICAgIGFiIDIwOjUwIHN0dWVuZGxpY2gKICBBYmZhaHJ0OiAgSGFsdGVzdGVsbGUgQzMgYW0gSEJGIChkdXJjaCBkaWUgVW50ZXJmdWVocnVuZywgZGFubiBsaW5rcyBydW07CiAgICAgICAgICAgICBlcyBpc3QgZGFubiBkaWUgZHJpdHRlIEhhbHRlc3RlbGxlKQogIFJhdXM6ICAgICBIYWx0ZXN0ZWxsZSBCaXNjaG9waW5rc3RyYXNzZQoKKiBTYW1zdGFnLCB6dXIgTWF0aGUKICBMaW5pZTogICAgMTEKICBSaWNodHVuZzogR2lldmVuYmVjawogIFplaXRlbjogICB4eCBVaHIgMDAsIDIwLCA0MAogIEFiZmFocnQ6ICBIYWx0ZXN0ZWxsZSBEMSBhbSBIQkYgKGR1cmNoIGRpZSBVbnRlcmZ1ZWhydW5nLCByZWNodHMgcnVtOyBkaWUKICAgICAgICAgICAgSGFsdGVzdGVsbGUgaXN0IHZvciBkZW0gS2lubykKICBSYXVzOiAgICAgSGFsdGVzdGVsbGUgQ29lc2ZlbGRlciBLcmV1eiAoZGFubiB6dSBGdXNzIHVlYmVyIGRlbiBSaW5nIGluIGRpZQogICAgICAgICAgICBNYXRoZSkKCiogU2Ftc3RhZywgbmljaHQgenVyIE1hdGhlCiAgTGluaWU6ICAgIDEKICBSaWNodHVuZzogS2Vyc3Rpbmdza2FtcC9TcHJha2VsCiAgWmVpdGVuOiAgIDE4OjIwLCAxOTowMCwgMTk6NTAgICh2b24gZGEgYW4gbnVyIG5vY2ggc3R1ZW5kbGljaCkKICBBYmZhaHJ0OiAgSGFsdGVzdGVsbGUgQTEgYW0gSEJGIChkaXJla3QgbmViZW4gZGVyIFVudGVyZnVlaHJ1bmcsIHdlbm4gaWNoCiAgICAgICAgICAgIGRhcyByaWNodGlnIGdlc2VoZW4gaGFiZSkKICBSYXVzOiAgICAgSGFsdGVzdGVsbGUgR2Fzc2Vsc3RpZWdlCgpEaWUgVW50ZXJmdWVocnVuZyBpc3QgbmljaHQgenUgdWViZXJzZWhlbiwgd2VubiBpaHIgZGVuIEJhaG5ob2YgZHVyY2ggZGVuCkhhdXB0ZWluZ2FuZyB2ZXJsYXNzdC4KRnVlciBkaWUgTGV1dGUsIGRpZSBtaXQgZGVtIFp1ZyBhbSBTYW1zdGFnIGFiZW5kIGtvbW1lbiwgd2FlcmUgZXMgYW0gYmVzdGVuLAp6dXIgTWF0aGUgenUga29tbWVuLgogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaHJpY2h0IHZvbiBPbmtlbCBGcmVkIChEdXN0eSwgMjAuIEF1ZyAxOTk3LCAxNDozMTo0Nyk6CgpMaWViZXIgQ2F0ISBMaWViZSBNaXRsZXNlciEgTGllYmUgTVBBIQoKV2lyIDQgT2VzdGVycmVpY2hlciBQZW5lbG9wZSwgRHVzdHksIFdvb2R5LCBGcmVkZXJpY2sKCnNpbmQgYXVmZ3J1bmQgZGVyIHJlY2VudGx5IHBvc3RlZCBaZWl0dW5nc2FydGlrZWwgenUgZm9sZ2VuZGVuIFdPUlNUCkNBU0UgQmVmdWVyY2h0dW5nZW4gZ2VsYW5ndCwgZGllIHdpciBnZXJuZSB6ZXJzdHJldXQgaGFldHRlbjoKCkkpIFdpciBtdWVzc2VuIHp1c2FldHpsaWNoIHp1IGRlciB0ZXVyZW4gVWViZXJ3ZWlzdW5nIG5vY2ggZWlubWFsIDEwCk1hcmsgemFobGVuLCB3ZWlsIGRpZSBVZWJlcndlaXN1bmcgYXVzIE9lc3RlcnJlaWNoIG5pY2h0IG51ciB0ZXVlciBzaW5kLApzb25kZXJuIGF1Y2ggbGFuZ2UgZGF1ZXJuLCB1bmQgdW5zZXJlIGVyc3QgYW0gMTMuOC4gYXVmZ2VnZWJlbiB3dXJkZSwKd2FlaHJlbmQgRHUgKENBVCopIGFtIDE1LjguIERlYWRsaW5lIGdlbWFjaHQgaGFzdC4uLgoKSUkpIEVzIGdpYnQgYW0gRnJlaXRhZyBuaXggenUgdHJpbmtlbiAoZGllc2UgQmVmdWVyY2h0dW5nIGJpdHRlIGRyaW5nZW5kCnp1IHplcnNjaGxhZ2VuKQoKSUlJKSBFcyBnaWJ0IGFtIFNhbXN0YWcga2VpbiBGcnVlaHN0dWVjawoKSVYpIFdpciBtdWVzc2VuIDMwIEtpbG9tZXRlciBtaXQgR2VwYWVjayBtYXJzY2hpZXJlbiwgdW0genVtIEJhdWVybmhvZgp6dSBrb21tZW4sIGRhIGVzIGtlaW5lbiBPZWZmZW50bGljaGVuIFdlZyBnaWJ0LgoKVikgRXMgZ2lidCBhbSBTb25udGFnIGtlaW4gRnJ1ZWhzdHVlY2sKClZJKSBFcyBnaWJ0IGtlaW5lIE1vZWdsaWNoa2VpdCwgdm9uIFNvbm50YWcgYXVmIE1vbnRhZyB3byB6dSBibGVpYmVuLApvYndvaGwgdW5zZXIgUnVlY2t6dWcgZXJzdCBhbSBNb250YWcgZnJ1ZWggYW5nZXRyZXRlbiB3ZXJkZW4ga2FubgooUnVlY2t6dWcgd2llIGluIERldXRzY2hlQmFobiA6KQoKCldpciB3dWVyZGVuIHVucyBmcmV1ZW4sIHdlbm4gbWFuIGRpZXNlIHVuc2VyZSBQYW5payBkYWVtcGZlbiBrb2VubnRlLAoKbGllYmUgR3J1ZXNzZSBhdXMgZGVyIEZlcm5lLApGcmVkZXJpY2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFjaHJpY2h0IHZvbiBPbmtlbCBGcmVkIChDYXR3ZWF6bGUsIDIwLiBBdWcgMTk5NywgMTY6MjE6MTQpOgp+IyEgcm49RHVzdHkgcnQ9ODcyMDgwMzA3IHJnPXBhcnR5Cn4jISB0aWQ9ODcyMDgwMzA3CgpBbGxlcyBMYWVjaGVybGljaCA6LSkKCkkpICAgRHVzdHksIFBlbmVsb3BlLCBXb29keSB1bmQgRnJlZGVyaWNrIHN0ZWhlbiBhbGxlIDQgYXVmIG1laW5lcgogICAgICdCZXphaGx0Jy1MaXN0ZQpJSSkgICBFcyBfZ2lidF8gRnJlaXRhZyBldHdhcyB6dSB0cmlua2VuIQpJSUkpICBfdmllbGxlaWNodF8gKFZJRUxMRUlDSFQpIGdpYnQgZXMgc2Ftc3RhZyBmdWVyIGRpZSBaZWx0ZXIKICAgICAgRnJ1ZWhzdHVlY2sKSUlJQikgV2VubiBpaHIgbmljaHQgc29mb3J0IGF1ZmhvZXJ0IFNjaCRAI0AgenUgbGFiZXJuLCBzY3JvbGx0IG1pcgogICAgICBEdXN0eSdzIEFydGlrZWwgcmF1cyA6LSkKSVYpICAgRWluIG9kZXIgendlaSBBcnRpa2VsIHZvcmhlciBoYXQgV2FyZ29uIGVpbmVuIEJ1c3dlZyBiZXNjaHJpZWJlbgpWKSAgICBEZW0gd2lyZCB3YWhyc2NoZWlubGljaCBzbyBzZWluIC4uLgpWSSkgICBBdWNoIGJlaSBkZXIgU09ubnRhZ3VlYmVybmFjaHR1bmcga2FubiBpY2ggbmljaHQgaGVsZmVuLiBXZW5uIGRlciAKICAgICAgQmF1ZXIgbGllYiB1bmQgbmV0dCBpc3QgZ2VodCBkYXMgdmllbGxlaWNodCwgYWJlciBkYXMgZXJmYWhyZSBpY2ggCiAgICAgIHdlbm4gdWViZXJoYXVwdCBlcnN0IFNhbXN0YWcuIEFuc29uc3RlbiBrb2VubnQgaWhyIGphIG5vY2htYWwgYW0KICAgICAgQWFzZWUgemVsdGVuLgoKSG9wZSB0aGlzIGhlbHBzLAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHNoaXJ0cyAoQ2F0d2VhemxlLCAyMC4gQXVnIDE5OTcsIDE2OjM2OjQ3KToKClNvLCBkaWUgVHNoaXJ0cyBzaW5kIHNjaG9uIGZlcnRpZywgbGllZ2VuIGJlaSBtaXIgcnVtIHVuZCBzaW5kIHNvZ2FyIHNjaG9uIApzb3J0aWVydC4gSWNoIHdlcmRlIHNpZSBhdXMgdmVya2F1ZnN0ZWNobmlzY2hlbiBHcnVlbmRlbiBhYmVyIGVyc3QgYW0gClNhbXN0YWcgYWJlbmQsIGFsc28genVyIFBhcnR5IGF1ZiBFdWNoIGxvc2xhc3Nlbi4KQXVzIGZpbmFuei0gdW5kIGtsZWluZ2VsZHRlY2huaXNjaGVuIEdydWVuZGVuIHdpcmQgZGFzIFNoaXJ0IDI1LC0gRE0Ka29zdGVuLCBkYXMgaXN0IGV0d2FzIG1laHIsIGFscyBzaWUgcmVhbCBnZWtvc3RldCBoYWJlbiwgYWJlciB3ZW5pZ2VyIApXZWNoc2VsZ2VsZHN0cmVzcy4gSWNoIG1vZWNodGUgYXVjaCBkaWUgVmVybHVzdGUsIGRpZSBpY2ggYXVzIGRlbiBiZWlkZW4KbGV0enRlbiBUc2hpcnR2ZXJrYXVmZW4gZ2VtYWNodCBoYWJlIHdpZWRlciBldHdhcyB3ZXR0bWFjaGVuLiAKU29sbHRlICdlbm9ybScgdmllbCBHZWxkIHp1dmllbCByZWlua29tbWVuLCB3aXJkIGRlciBVZWJlcnNjaHVzcyAKZ2VzcGVuZGV0LgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZW5mIChTdW5mbG93ZXIsIDIxLiBBdWcgMTk5NywgMDQ6NDA6MTApOgpNdWVuc3RlciAobXBhKQoKQXVmZ3J1bmQgS2xvdGVjaG5pc2NoZXIgTWFlbmdlbCB3dXJkZSBiZXNjaGxvc3NlbiBlaW4gRG9ubmVyYmFsa2VuIGZ1ZXIgZGVuCnNlbHRzYW1lbiBIYXVmZW4gc29nZW5hbm50ZXIgU3VlY2h0aWdlciwgZGllIHVlYmVyIGRhcyBXb2NoZW5lbmRlIHVuc2VyZQpzY2hvZW5lIFN0YWR0IG1pdCBJaHJlbiBBbGtvaG9sb3JnaWVuLCBTY2hyZWNrZW5zbWVsZHVuZ2VuIHVlYmVyIGRpZSBIeWRyYQp1bmQgaWhyZW4gQW50aVN1Y2h0cHJvZ3JhbW1lbiB1bnNpY2hlciBtYWNoZW4sIGJlcmVpdHp1c3RlbGxlbi4gRGVuIERvbm5lci0KYmFsa2VuIGthbm4gbWFuIG5pY2h0IHZlcmZlaGxlbiwgZGEgZXIgc2Nob2VuIGluIGRhcyBoaXN0b3Jpc2NoZSBTdGFkdGdlYmlldAplaW5nZWZ1ZWd0IHd1cmRlLiBTbyBoYWJlbiBhdWNoIGRpZXNlIFN1ZWNodGlnZW4sIGVuZGxpY2ggaWhyZSBSTC1RdWVzdCwgd2FzCmVpbmUgQXJ0IEFiZW50ZXVlciBpc3QuIERlciBXZWcgYmV0cmFlZ3QgbnVyIDIgU3R1bmRlbiB6dSBGdXNzIHVuZCBzb2xsdGUgCnNvIGZ1ZXIgamVkZW4sIHdlbm4gYXVjaCBub2NoIHNvIGJldHJ1bmtlbmVuIFN1ZWNodGlnZW4genUgZXJyZWljaGVuIHNlaW4uCkFscyBLb21wYXNzIHN0ZWh0IG5hdHVlcmxpY2ggYXVjaCBkYXMgd29obGJla2FubnRlOiBJbW1lciBkZXIgTmFzZSBuYWNoLAp6dSBWZXJmdWVndW5nLiBEb2NoIG9id29obCBkaWVzZXMgUHJvYmxlbSBnZWxvZXN0IGlzdCwgc2NoZWludCBlaW4gbmV1ZXMKYWIgTW9yZ2VuR3JhdWVuIHp1IGtvbW1lbi4gTmFlbWxpY2ggZGFzIGRlciBVZWJlcm5hY2h0dW5nLCBtYW4gYmVzdGF1bmUKZGllIGFybWVuIExldXRlLCBkaWUgc2ljaCBuYWNoIGVpbmVyIGFuc3RyZW5nZW5kZW4gTmFjaHQgZnJ1ZWhzIHVtIDkgYXVmCmRpZSBoZWlsaWdlbiBQYXJrZXR0ZSB1bnNlcmVyIFR1cm5oYWxsZSBiZWdlYmVuIHVtIGVpbmUgU3R1bmRlIHNwYWV0ZXIgd2llZGVyCnp1IGVyd2FjaGVuLiBTb3ZpZWwgTGVpc3R1bmcgbXVzcyBuYXR1ZXJsaWNoIG1pdCBLRUlORU0gZnJ1ZWhzdHVlY2sgc29uZGVybgptaXQgZWluZXIgV2FuZGVydW5nIHVtIGRpZSBTdGFkdCBiZWxvaG50IHdlcmRlbi4gRGllc2UgV2FuZGVydW5nIHdpcmQgd29obAppbiBkaWUgQW5hbGVuIGFscyBEZXIgYmVydWVobXRiZXJ1ZWNodGlndGUgTXVlbnN0ZXJtYXJhdGhvbiBlaW5nZWhlbiwgaW4KZGVtIGVzIGRhcnVtIGdlaHQsIGRlbiBNdWVja2VuIGF1c3p1d2VpY2hlbi4gRXMgYmxlaWJ0IHp1IGhvZmZlbiwgZGFzIGRpZXNlcgpmYWlyZSwgdWViZXJhdXMgaW50ZXJlc3NhbnRlIFNwb3J0IGF1Y2ggYmVpbSBPbHltcGlzY2hlbiBLT21pdGVlIGFua2xhbmcKZmluZGV0IHVuZCB3aXIgc2Nob24gYmFsZCBkZW4gU3BvcnRsZXJuIGF1cyBhbGxlciBXZWx0LCBpbiBkaWVzZXIgbmV1ZW4KYWxsZXMga3JhZWZ0ZSByYXViZW5kZW4gU3BvcnRhcnQgYmV3dW5kZXJuIGtvZW5uZW4uCkRpZSBCdWVyZ2VyIGRlciBTdGFkdCBNdWVuc3RlciB3ZXJkZW4gZ2ViZXRlbiwgYWxsZSBGZW5zdGVyIHp1IHNjaGxpZXNzZW4KdW5kIHNpY2ggbmljaHQgZGVyIE9lZmZlbnRsaWNoa2VpdCB6dSB6ZWlnZW4uIFdpciB3b2xsZW4gamEgdW5zZXJlbiBHYWVzdGVuCmtlaW5lbiBLdWx0dXJzY2hvY2ssIGJlaSBpaG5lbiBhdWNoIHJsIGdlbmFubnQsIHp1ZnVlZ2VuLiBOYWNoZGVtIGRhbm4gZGllc2VyCldldHRzdHJlaXQgYmVlbmRldCBpc3QsIHdpcmQgZGFubiBkaWUgYWx0ZSBlaHJ3dWVyZGlnZSBTY2hldW5lLCB2b3IgZGVuIFRvcmVuCmRlciBTdGFkdCB1bmQgZWluaWdlIE1laWxlbiB2b24gZGVyIFR1cm5oYWxsZSwgWmV1Z2UgZWluZXIgZ2lnYW50aXNjaGVuIFNhdWYtCnBhcnR5LiBIaWVyIGJla29tbWVuIHNpZSBkYW5uIGF1Y2ggenUgc2VoZW4sIHdhcnVtIHNpZSBTdGV1ZXJuIHphaGxlbiwgZGVubgpkaWUgZ3J1ZW4td2Vpc3NlbiBUYXhpcyB3ZXJkZW4gaW4gZGllc2VyIE5hY2h0IHZpZWxlIEFsa29ob2xsZWljaGVuIGluIGRpZQpsaWViZXZvbGwgZ2VuYW5udGVuIEF1c251ZWNodGVydW5nc3plbGxlbiBicmluZ2VuLiBEb2NoIGF1Y2ggd2FzIHBhc3NpZXJ0LApiZWRlbmtlbiBzaWU6IERpZXNlIE1lbnNjaGVuIHNpbmQgVG91cmlzdGVuLCBhbHNvIHphaGxlbmRlIG5pY2h0c3dpc3NlbmRlCkJ1ZXJnZXIuIEJlaGFuZGVsdCBzaWNoIGd1dCB1bmQgc2llIHdlcmRlbiBldWNoIG51ciB2b2xscG9lYmVsbi4gSW4gZGllc2VtClNpbm5lLCBmcm9oZXMgRmVpZXJuIHVuZCBTYXVmZW4uCgpTdW4qCgogICAgICAgICAgICAgICAgICAgIC0tPT09IGJsdWVtY2hlbiA9PT0tLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29lbG4tPk1TIChZYW50cm8sIDIxLiBBdWcgMTk5NywgMDk6MjA6MDEpOgoKQWxzbyBLaW5uZXJzLCAKCkljaCBtdXNzIGRpZSBHcnVwcGVua2FydGUgbWluZCAzMCBNaW51dGVuIFZPUiBkZXIgRmFocnQgbG9lc2VuLCBhbHNvIHZlcmdlc3N0CmRlbiBaZWl0c3BpZWxyYXVtIGJpcyAxNDQ1IDspIFVtIDE0MzAgc29sbHRldCBpaHIgZGEgc2VpbiB1bmQgd2VubiBlcyBnZWh0LApkYW5uIDIwRE0ga2xlaW4gZGFiZWkgaGFiZW4sIGRlbm4gZGFzIGtvc3RldCBkZXIgU3Bhc3MsIHdlbm4gd2lyIGVzIHNjaGFmZmVuLAo2IFBlcnNvbmVuIHp1c2FtbWVuIHp1IGtyaWVnZW4uCgpBbHNvIGRhbm4gYmlzIG1vcmdlbiBhbSBCbHVtZW5sYWRlbiBpbSBLb2VsbmVyIEJhaG5ob2YuLi4uIAoKWWFudHJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXR0ZXIgKFRhbmdhbHVyLCAyMi4gQXVnIDE5OTcsIDEzOjI2OjM4KToKRGFzIFdldHRlciBydW5kIHVtIGRlbgogICAgIEFhc2VlLiAKCgogICAgIERpZSBwdWJsaWtvbS1TdGFkdG5ldHogZnIgTW5zdGVyIFdldHRlcnZvcmhlcnNhZ2UgZnIgaGV1dGUgdW5kIGRpZQogICAgIG5jaHN0ZW4gVGFnZS4gCiAgICAgQWxzIHp1c3R6bGljaGVuIFNlcnZpY2UgZmluZGVuIFNpZSBoaWVyIGRhcyBCaW93ZXR0ZXIgbWl0IHdlaXRlcmVuCkhpbndlaXNlbgogICAgIGZyIGJlc29uZGVyZSBaaWVsZ3J1cHBlbi4KCiAgICAgICAgICAgICAgICAgICAgIEZyZWl0YWcsIGRlbiAyMi4gQXVndXN0IDE5OTcKICAgICAgICAgICAgICAgICAgICAgICAgVXBkYXRlIHZvbiAxMi4wMCBVaHIKCiAgICAgICBNb3JnZW4gICAgTWl0dGFnICAgICAgIEFiZW5kICAgICAgICAgICBOYWNodAogICAgICAgCiAgICAgICAgICAgIDE1ICAgICAgbWF4LiAyNSAgICAgICAgIDE1ICAgICAgICAgICAgICBtaW4uIDE1ICAgIEdyYWQgQ2Vsc2l1cwoKICAgICAgIEJlaSBtZWlzdCBzdGFya2VyIEJld2xrdW5nIGZsbHQgUmVnZW4gb2RlciBTcHJocmVnZW4uIFZlcmVpbnplbHQgc2luZAogICAgICAgICBhdWNoIEdld2l0dGVyIG1nbGljaC4gTnVyIGdlbGVnZW50bGljaCBzY2hlaW50IG5vY2ggZGllIFNvbm5lIGJlaQogICAgIEhjaHN0d2VydGVuIHVtIDI1IEdyYWQgQy4gQXVjaCBuYWNodHMgYmxlaWJ0IGVzIGJld2xrdCBtaXQgZXR3YXMgUmVnZW4uCiAgICAgICAgICAgICAgICBEYWJlaSBzaW5rZW4gZGllIFdlcnRlIGthdW0gdW50ZXIgMTUgR3JhZCBDLgogICAgICAgICBFcyB3ZWh0IGVpbiBzY2h3YWNoZXIgYmlzIG1pZ2VyIFdpbmQgYXVzIHNkbGljaGVuIFJpY2h0dW5nZW4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICBEaWUgd2VpdGVyZW4gQXVzc2ljaHRlbgoKICAgICAgICBTYW1zdGFnICBTb25udGFnIE1vbnRhZyBEaWVuc3RhZwoKICAgICAgICAgIDMwICAgICAgICAgICAgMzIgICAgICAgICAzMCAgICAgICAgICAgMjggICAgICAgIEdyYWQgQ2Vsc2l1cwoKICAgICBBdWNoIGFtIFdvY2hlbmVuZGUgdW5kIGRhcmJlciBoaW5hdXMgZmluZGV0IGRhcyBob2Noc29tbWVybGljaGUgV2V0dGVyCiAgICAga2VpbiBFbmRlLiBFcyBibGVpYnQgc29ubmlnIHVuZCBoZWkgYmVpIEhjaHN0d2VydGVuIGJpcyAzMCBHcmFkIEMuIEluCmRlbgogICAgICBOY2h0ZW4gc2lua2VuIGRpZSBUZW1wZXJhdHVyZW4gYXVmIDE1IGJpcyAxMyBHcmFkIEMuIERpZSBTY2hhdWVyLSB1bmQKICAgICAgICAgICAgICAgICAgICAgIEdld2l0dGVybmVpZ3VuZyBibGVpYnQgbnVyIGdlcmluZy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgIERhcyBCaW93ZXR0ZXIKCiAgICAgRGFzIGhvY2hzb21tZXJsaWNoZSBXZXR0ZXIgZmhydCB6dSBlaW5lciBzdGFya2VuIFdybWViZWxhc3R1bmcuIERhZHVyY2gKICAgICAgICAgICAgICAga29tbXQgZXMgdmVybWVocnQgenUgSGVyei0gdW5kIEtyZWlzbGF1ZnN0cnVuZ2VuLgogICAgICAgICAgICAgICAgICAgUG9sbGVuZmx1ZzogU3RhcmtlciBGbHVnIHZvbiBCZWlmdXBvbGxlbi8KICAgICAgICAgICAgICAgICAgICBzY2h3YWNoIGJpcyBtaWcgZHVyY2ggR3JzZXJwb2xsZW4hCgogICAgICAgICAgIE5jaHN0ZSBBa3R1YWxpc2llcnVuZyBhbSAyMy4gQXVndXN0IDE5OTcgZ2VnZW4gMDYuMDAgVWhyIQoKfn5+fn4qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdldHRlciAoUm9jaHVzLCAyMi4gQXVnIDE5OTcsIDEzOjMwOjMwKToKfiMhIHJuPVRhbmdhbHVyIHJ0PTg3MjI0OTE5OCByZz1wYXJ0eQp+IyEgdGlkPTg3MjI0OTE5OApHZXN0ZXJuIHdhciBkaWUgVm9yaGVyc2FnZSBhbiBkZXIgZ2xlaWNoZW4gU3RlbGxlOgpGcmVpdGFnIFNhbXN0YWcgU29ubnRhZwpzb25uaWcgIHNvbm5pZyAgR2V3aXR0ZXIKMzAgICAgICAzMiAgICAgIDMyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdldHRlciAoR3VsZHVrYXQsIDIyLiBBdWcgMTk5NywgMTQ6Mzg6NDkpOgp+IyEgcm49Um9jaHVzIHJ0PTg3MjI0OTQzMCByZz1wYXJ0eQp+IyEgdGlkPTg3MjI0OTE5OApzaWUgaGFiZW4gbWl0bGVyd2VpbGUgenVnZWdlYmVuLCBzaWNoIGdlaXJydCB6dSBoYWJlbiEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvdG9zPyAoTHVwdXMsIDI0LiBBdWcgMTk5NywgMTc6MDg6NDkpOgpIaSEKCldhbm4gZ2lidHMgZGVubiBlbmRsaWNoIGRpZSBlcnN0ZW4gRm90b3M/IDopCgpMdXB1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZvdG9zPyAoU2lsdmFuYSwgMjQuIEF1ZyAxOTk3LCAxNzo0MjozNik6Cn4jISBybj1MdXB1cyBydD04NzI0MzUzMjkgcmc9cGFydHkKfiMhIHRpZD04NzI0MzUzMjkKV2FzIHZpZWwgd2ljaHRpZ2VyIGlzdDogV2FubiB1bmQgd28gaXN0IGRpZSBuYWVjaHN0ZSBQYXJ0eT8KCiAgU2lsdmFuYSAtIHdpbGwgbWVociEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRm90b3M/IChUZWRkeSwgMjQuIEF1ZyAxOTk3LCAxODo1ODozMik6Cn4jISBybj1TaWx2YW5hIHJ0PTg3MjQzNzM1NiByZz1wYXJ0eQp+IyEgdGlkPTg3MjQzNTMyOQpXaWUgd2FlcmUgZXMgbWl0IGpldHp0IHNvZm9ydD8gOy0pCgpUZWRkeSwgbm9jaCBzdWVjaHRpZ2VyIGdld29yZGVuLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCld1ZXJzdGNoZW4gKENhdHdlYXpsZSwgMjUuIEF1ZyAxOTk3LCAxMTozMjoxNyk6Ck1vaW4hCgo6QWxzbyBpY2ggaGFiIG5vY2ggc28gY2EuIDEwMCBXdWVyc3RjaGVuIGltIEtlbGxlciBydW1saWVnZW4uIAo6SWNoIG1vZWNodGUgdm9yc2NobGFnZW4sIHN0YXR0IHdvZWNoZW50bGljaGVtIFN0YW1tdGlzY2ggZGllIERpbmdlciB6dSAKOnZlcmdyaWxsZW4sIGVpbiBrbGVpbmVzIE5hY2h0cmVmZmVuIHNvIHRvIHNheS4gCjoKOldlciBhbHNvIGluIFJlaWNod2VpdGUgd29obnQgdW5kIEx1c3QgaGF0IHZvcmJlaXp1a29tbWVuLCBpc3QgaGVyemxpY2gKOnp1bSBXdWVyc3RjaGVuIGZ1dHRlcm4gbW9yZ2VuIGFiZW5kIHVtIDE5OjMwIGltIFBhcmsgYW4gZGVyIAo6V2lsaGVsbXN0cmFzc2UgZWluZ2VsYWRlbi4gRGFzIGlzdCBhbSB2b2lkLVN0ZWluICh3ZXIgZGllIGt1cnplIFF1ZXN0LQo6VG91ciBtaXRnZW1hY2h0IGhhdCwgd2Vpc3Mgd2VyIGRhcyBpc3QpLCBiencuIGFuIGRlciBncm9zc2VuIHJ1bmRlbiAKOlN0ZWluKGNvbnRhaW5lciktU2t1bHRwdHVyIChkaWUgaXN0IGxlaWNodCB6dSBmaW5kZW4pLgo6CjpBY2ggamEsIGRhcyBnYW56ZSBmaW5kZXQgbmF0dWVybGljaCBudXIgYmVpIGd1dGVtIFdldHRlciBzdGF0dCwgZGVyIAo6Z2V3b2VobmxpY2hlIFN0YW1tdGlzY2ggaW4gZGVyIENhdmV0ZSBmYWVsbHQgZGFubiBhbGxlcmRpbmdzIEFVUyEKOkljaCBoYWIgbnVyIG5vY2ggbmUgaGFsYmUgS2lzdGUgYWx0LCBpY2ggd2Vpc3MgbmljaHQgd2llIGxhbmdlIGRpZSByZWljaHQuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vbmV5IG1pc3NpbmchIChDYXR3ZWF6bGUsIDI1LiBBdWcgMTk5NywgMTI6MjE6MjcpOgoKTW9pbiEKCkFscyBpY2ggYW0gRnJlaXRhZyBhYmVuZCBpbSBQYXZpbGxvbiBHZWxkIGthc3NpZXJ0IGhhYmUgYWxzIGVzIHNjaG9uCmR1bmtlbCB3YXIsIGhhdCBLZW1wIGFuc2NoZWluZW5kIGRhcyBHZWxkIGlyZ2VuZGplbWFuZGVtIG5lYmVuIG1pciBpbiAKZGllIEhhbmQgZ2VkcnVlY2t0IGluIGRlciBBbm5haG1lIGVzIGhhZXR0ZSBiZXphaGx0LiBEYSBpY2ggbmljaHQgd2Vpc3MKd2VyIGRhIGVpbmZhY2ggZGllIEhhbmQgb2ZmZW5nZWhhbHRlbiBoYXQgdW5kIG1pY2ggYXVjaCBuaWNodCBtZWhyIGVyaW5uZXJlLAp3ZXIgZGVubiBkYSBuZWJlbiBtaXIgZ2VzZXNzZW4gaGFiZW4ga29lbm50ZSwgZnJhZ2UgaWNoLCBvYiBqYW1hbmQgc2ljaCAKYW4gZGllc2UgU2l0dWF0aW9uIGVyaW5uZXJuIGthbm4sIGRhcyBnYW56ZSBnZXNlaGVuIGhhdCB1bmQgdmllbGxlaWNodCBzb2dhcgp3ZWlzcyB3ZXJzIHdhci4KClRoYW54IGluIGFkdmFuY2UsCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHluYWNocnVmIChCaXJkeSwgMjUuIEF1ZyAxOTk3LCAxMjozOToyMyk6CgpISUhPIEFMTEVNSVRFSU5BTkRFUiAhIDopCgpDYXR3ZWF6bGUgJiBDby4gaGFiZW4gaW4gZWluZXIgdG9sZW4gU3RhZHQgZWluZSBnZWlsZSBQYXJ0eSBoaW5nZWxlZ3QgKHdhcyBiZWkKTXVkZGVybiBuaWNodCBzY2h3ZXIgc2VpbiBrYW5uLCBzbyByZWFsaXRhZXRzZmVybiwgd2llIGRpZSBzaW5kIDspICkuCkljaCBzZWggZ3JhZCwgZXMgaGVpc3N0ICIgdG9sbGVuIFN0YWR0Ii4gOikKQWxzbyB3aWUgZ2VzYWd0LCB0b2xsZSBTdGFkdCwgZ2VpbGUgUGFydHksIGxhbmdlIFF1ZXN0LCBhYmVyIHZpZWxlIG5ldHRlIExldXRlCiEKSWNoIHdhciBlaHJsaWNoIHVlYmVycmFzY2h0LCBpY2ggZGFjaHRlLCBudXIgTGV1dGUgenUgdHJlZmZlbiwgZGllIHRvdGFsCnJlYWxpdGFldHNmZXJuIHNpbmQgKHdpZSBpY2ggbWFuY2htYWwpIHVuZCBzb25zdHdpZSBpcmdlbmR3aWUgZWluZW4gS25hY2tzCmhhYmVuLgpadW0gR2x1ZWNrIGhhdCBzaWNoIGRpZXNlIEFubmFobWUgYWxzIGZhbHNjaCBoZXJhdXNnZXN0ZWxsdCwgb2RlciBmYXN0CmplZGVuZmFsbHMuIDspKSkpCgpPYndvaGwgZGFzIG1laHIgZWluZSBCaWVyc2NodWV0dGxlci1QYXJ0eSB3YXIsIGljaCBlcmlubmVyZSBudXIgYW4gZGllCmlsbHVzdHJlIHVuZCBsYXV0ZSAyLiBFdGFnZSBTb25udGFnIE5BY2h0LCB+cgpBUkdMICh+cikgLS0tIHdvIHdhciBpY2gsIGFjaCBqYSBCaWVyc2NodWV0dGxlci1QYXJ0eSwgZGFua2UgQW5hY3Jpb24sIGRhc3MgRHUKZ2VyYWRlIGpldHp0IGhpZXIgemF1YmVybiB1ZWJlbiBtdXNzdCAtLS0gd28gd2FyIGljaCA/ClBhcnR5IHdhciBUT0xMICEgOikpKSkKKGljaCBnbGF1YiBpcmdlbmR3byBoYWIgaWNoIGRlbiBGYWRlbiB2ZXJsb3Jlbiwgd2VubiB3YXMgdW5rbGFyIGlzdCwgc2NocmVpYnQKZXMuCk9LSSAhCgpOYXN0cm93amUgIQpCaXJkeQoKUFM6IFZpZWxsZWljaHQgc2V0emUgaWNoIG5vY2ggZWluZW4gdWVicmVhcmJlaXRldGVuIE5hY2hydWYgaGluLiBXZW5uIEFuYWNyaW9uCm1hbCBuaWNodCB1ZWJ0LCB1bmQgaWNoIG1pciB2b3JoZXIgdWViZXJsZWd0IGhhYmUsIHdhcyBpY2ggc2NocmVpYmVuIHdpbGwuCjspKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eW5hY2hydWYgKEFuYWtpbiwgMjUuIEF1ZyAxOTk3LCAxMjo0MTozMyk6Cn4jISBybj1CaXJkeSBydD04NzI1MDU1NjMgcmc9cGFydHkKfiMhIHRpZD04NzI1MDU1NjMKSGksCgp3ZW5uIGFsbGUgbnVyIGp1YmVsIHVlYmVyIHNpZSBzdXBlcnRvbGxlIE9yZ2EsIG5hamEKYWxzbyBkaWUgUmF1bW9yZ2Egd2FyIG5pY2h0IHNvb28gc3VwZXIgZ2xhdWIgaWNoLgpBbHNvIGljaCBmYW5kIGVzIHJlaWNobGljaCB1bXN0YWVuZGxpY2gsIGRhcyB3dXJkZQpzY2hvbiBtYWwgYmVzc2VyIGdlbG9lc3QuIEFiZXIgc29uc3Qgd2FyIGVzIGdhbnogbmV0dC4KCkFuYWtpbi4gS2FubnRlIG51ciBub2NoIDIwIExldXRlIHVuZCA3MCUgZGVyIE5hbWVuIG5vY2ggbmljaHRtYWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eW5hY2hsZXNlIChFbmd5d3VjaywgMjUuIEF1ZyAxOTk3LCAxMzowMzo0Mik6CkhhbGxvIExldXRlIQpFaW5pZ2Ugeml0YXR0ZWNobmlzY2hlIEhvZWhlcHVua3RlIGRlciB2ZXJnYW5nZW5lbiBQYXJ0eSBtb2VjaHRlIGljaCBFdWNoCm5pY2h0IHZvcmVudGhhbHRlbi4gTnVyIHNjaGFkZSwgZGFzcyBtZWluZSBPaHJlbiBuaWNodCB1ZWJlcmFsbCBzZWluCmtvbm50ZW4gOykKCiJJY2ggaGFiIEpvZiBqZXR6dCBlcnN0IGdlc2VoZW4gLSBhbHNvIG11c3MgTGFyaXNzYSB6dWdlbm9tbWVuIGhhYmVuLiIKKFlhbnRybykKCllhbnRybyB1ZWJlciBSb2NodXMsIGRlciBlaW5lbiBLYXN0ZW4gQ29sYSBhbnNjaGxlcHB0OiAiVW5kIGRhcyBzY2hsaW1tc3RlCmlzdDogRGVyIGlzdCBTZWxic3R2ZXJzb3JnZXIuIgoKU2VtaXJhIHVuZCBSb25kYSBiZWdydWVzc2VuIHNpY2guIFMuOiIgS251ZGRlbHN0IER1IG1pY2ggamV0enQgbWFsPyEiClIuOiJTY2hlaXNzdGFnLiIKCiJEZXIgZWluemlnZSwgZGVuIG1hbiBpbSBEdW5rZWxuIG5vY2ggZXJrZW5udCwgaXN0IFlhbnRyby4iIChTZW1pcmEpCgoiRW5neSBpc3Qgd2FlaGxlcmlzY2gsIHdhcyBGcmF1ZW4gYW5nZWh0LiBFcyBtdXNzIHNjaG9uIGVpbmUgc2Vpbi4iCihCZW5kZWlnaWQpCgoiSmV0enQgZ2VoZW4gMyBNYWVkZWxzIGR1c2NoZW4gdW5kIGljaCBrYW5uIG5pY2h0IG1pdGtvbW1lbiwgaWNoIGZpbmQgZGFzCnNvIGdlbWVpbi4iIChFbmd5d3VjaykKCkFkc29uIGJlaW0gQmxpY2sgYXVmIGRlbiBGYWxrLVBsYW4gdm9uIE11ZW5zdGVyOiAiRGFzIGlzdCBhbHNvIE11ZW5zdGVyLgpIbSwgc2llaHQgZmFyYmxpY2ggZ2VuYXVzbyBhdXMgd2llIEJlcmxpbi4iCgpXb3J0d2VjaHNlbCB6d2lzY2hlbiBFbmd5d3VjayB1bmQgU2VtaXJhIEFiZW5kcyBiZWltIEdyaWxsZW4uIEUuOiJJY2ggZ2VoCmRhbm4gbWFsIGF1ZnMgS2xvLiIgUy46IkJyaW5nIG1pciBlaW4gV3VlcnN0Y2hlbiBtaXQuIEhhbHQsIG5pY2h0IHNvCmVpbnMuLi4iCgoKRW5neSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2h0cmFnIChTdW5mbG93ZXIsIDI1LiBBdWcgMTk5NywgMTQ6Mjk6MjApOgpJY2gga2FtIHp3YXIgZXJzdCBmcmVpdGFncyBnZWdlbiAyMjozMCBhbiwgYmVpIG1pZXNlbiBXZXR0ZXIuIFVuZCB3ZWlzcwpkYWhlciBuaWNodCB3YXMgdm9yaGVyIHdhciwgYWJlciBoaWVyIGRpZSBEaW5nZSBhdXMgbWVpbmVyIFNpY2h0LgpEZXIgYWxrb2hvbCBmbG9zcyB6aWVtbGljaCwgYWJlciBkYXMgc2luZCB3aXIgamEgZ2V3b2VobnQuIFZvbiBkZXIgUkwKUXVlc3QgaGFiIGljaCBsZWlkZXIgbmljaHQgdmllbCBtaXRiZWtvbW1lbiwgd2FycyBkZW4gZWluZS4gQWxzbyBqZWRlbmZhbGxzCnNpbmQgd2lyIGR1cmNoIGRpZSBTdGFkdCBnZXdhbmRlcnQgdW5kIGhhYmVuIHVucyBhbGxlcyBhbmdlc2NoYXV0LiBXaXJrbGljaCBuZQpzY2hvZW5lIFN0YWR0LgpEaWUgUGFydHkgYXVmIGRlbSBCYXVlcm5ob2Ygd2FyIGVpbmZhY2ggbnVyIGdlaWwgKG51ciBlaW5lciBmYW5kIHNpZSAKbGFuZ3dlaWxpZywgc2x5Zm94IHBlbm50ZSBzdG9ja3p1IGlyZ2VuZHdvIGluIGVpbmVyIFJlZ2lvbiBhbiBkZXIgVHJlcHBlLAp3byB6aWVtbGljaCB2aWVsZSBMZXV0ZSBoaW4gdW5kIGhlciByYW5udGVuICggZGVyIHJ1ZiBkZXMgYmllcmVzICkuCkRhcyBFc3NlbiBiZWltIENoaW5lc2VuIHdhciB6d2FyIHRldWVyIGFiZXIgZ2VpbC4gVW5kIGRpZSBNdWRwYXJ0eSBsaWVzZW4Kd2lyICgzIGRkbGVyIG11ZGRlcikgYmVpIGVpbmVyIGl0YWxpZW5pc2NoZW4gRWlzZGllbGUgYXVza2xpbmdlbiAobWFuIHdhcmVuCmRhcyBFaXNiZWNoZXIuLi4pCkVzIGJsZWlidCBudXIgenUgc2FnZW4sIGRpZSBQYXJ0eSB3YXIgendhciBuaWNodCBnYW56IHNvIHNjaG9lbiB3aWUgZGllIGluCkthcmxzcnVoZSwgYWJlciB0cm90emRlbSB3YXIgc2llIGdlaWwuIEplZGUgUGFydHkgaGF0Cm51biBtYWwgaWhyZW4gZWlnZW5lbiB1bnZlcndlY2hzZWxiYXJlbiBDaGFybWUuCgpaaXRhdGU6CgpIYXRlOiBJc3QgZGEgPGhpY2tzPiBub2NoIEJpZXIgKHVuZCB3YW5rdGUgZGFubiBzY2hvbiB3ZWl0ZXIpCgpDYXR3ZWF6bGU6IERpZSBNdWVsbGVpbWVyIHNpbmQgMTAwIG1ldGVyIHdlaXRlciAobmFjaCAxNSBtaW51dGVuIGthbWVuIGRhbm4KZGllIDIgQWJlbnRldXJlciB6dXJ1ZWNrLCBkaWUKbXVlbGwgd2Vnc2NoYWZmZW4gd2FyZW4gdW5kIGJlcmljaHRldGVuIGV0d2FzIHZvbiA1MDAgbWV0ZXJuKQoKR2FuZG8gKGFtIFNhbXN0YWcgbW9yZ2VuKSBOaWUgd2llZGVyIEJpZXIuCgoKVW5kIGRhIHdhciBkYW5uIG5vY2ggc28gZWluIFNhdHogdm9uIENhdHdlYXpsZSwgYWJlciBkZW4gd2Vpc3MgaWNoIG5pY2h0IG1laHIsCnMgZ2luZyBpcmdlbmR3aWUgZGFydW0gZGFzIFp3ZWl0aXMKZG9jaCBuaWNodCBtYXJraWVydCB3ZXJkZW4gbXVlc3NlbiA6KQotLS0tLS0tLS0tLS0tLS0KQWNoamEgdW5kIGVpbmlnZSB2aWVsZSBtZWludGVuIGljaCBoYWV0dGUgYWJnZW5vbW1lbiwgbWlyIGlzdCBkYXMgYWxsZXJkaW5ncwpub2NoIG5pY2h0IHNvb29vIHNlaHIgYXVmZ2VmYWxsZW4uCgoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhlbWQgdmVybWlzc3QgKFNuaWJyaWwsIDI1LiBBdWcgMTk5NywgMTU6MzU6MDApOgpIYXQgamVtYW5kIG1laW4gSGVtZCAoZGljaywgZHVua2Vscm90LWJ1bnQpCnZvbiBkZXIgcGFydHkgYW0gc2Ftc3RhY2ggbWl0IGdlbm9tbWVuPwpvZGVyIGplbWFuZCBnZXNlaGVuLCBkZXIgZXMgbWl0Z2Vub21tZW4gaGF0PwpvZGVyIGthbm4gc29uc3QgaXJnZW5kd2VsY2hlIHNhY2hkaWVubGljaGVuIGhpbndlaXNlCnp1ciBlcmdyZWlmdW5nIGRlcyBoZW1kZXMgZ2ViZW4/CgptZWluZSBuYWNoZm9yc2NodW5nZW4gaGFiZW4gYmlzaGVyIGVyZ2ViZW4sIApkYXNzIGVzIHdvaGwgZG9ydCBhbSB0b3JoYXVzIGhhZW5nZW5nZWJsaWViZW4gaXN0LgpkYSB3YXJzIGFtIHNvbm50YWcgbmljaHQgbWVoci4KCnNlaW5lbSBoZW1kIGhpbnRlcmhlcnRyYXVlcm5kIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbmlicmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVtZCB2ZXJtaXNzdCAoS2V5LCAyNS4gQXVnIDE5OTcsIDE4OjM2OjM5KToKfiMhIHJuPVNuaWJyaWwgcnQ9ODcyNTE2MTAwIHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTE2MTAwCkhleSBTbmlicmlsIC4uLi4gClNvbGwgZGFzIGhlaXNzZW4gZGFzIER1IE5BQ0tUIGF1ZiBkZXIgUGFydHkgd2Fyc3Q/IEljaCBtZWluIHdlbm4gZGVpbiBoZW1kIGFtCnRvciBoaW5nIC4uLiA6KSkpCgpLZXkgc2NobWFycm5lbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eW5hY2hydWYgKEZ5dCwgMjUuIEF1ZyAxOTk3LCAxOTowOToyNyk6Cn4jISBybj1CaXJkeSBydD04NzI1MDU1NjMgcmc9cGFydHkKfiMhIHRpZD04NzI1MDU1NjMKCkhtLCBiaXMgYXVmIGRpZSBNdWRkZXIsIGRpZSBkYSBydW1sYXVmZW4sIHNpbmQgTXVkcGFydHlzIGVpZ2VudGxpY2ggZ2FuegpuZXR0Li4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkaW5nZW5zIChHdW5kdXIsIDI1LiBBdWcgMTk5NywgMjA6NDI6NTkpOgpIaQpJY2ggaGFiIGZyZWl0YWcgQWJlbmQgYW4gZGVyIEh1ZXR0ZSBuZW4gU2NoaXJtIGxpZWdlbmxhc3Nlbi4uCkF1Y2ggd2VubmVyIGV0d2FzIGthcHV0dCBpc3QgaGFldHQgaWNoIGRlbiBnZXJuZSB3aWVkZXIuLgpFciBpc3QgYnVudCAuLndpbGwgc2FnZW4gZmFyYmlnLi4uLiB1bmQgZXMgc3RlaHQgJ0FycyBMdWRlbmRpJyB1bmQgJ0tvbnN0YW56Cjk1JyBkcmF1Zi4uCkFsc28gZmFsbHMgZGVuIGplbWFuZCBuZXR0ZXJ3ZWlzZSBlaW5nZXN0ZWNrdCBoYXR0IG1vZWdlIGVyIHNpY2ggbWl0IG1pciBpbgpWZXJiaW5kdW5nIHNldHplbi4uCkRhbmtlIGltIFZvcnJhdXMuLgpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eW5hY2hsZXNlIChTaWx2YW5hLCAyNS4gQXVnIDE5OTcsIDIyOjU5OjM1KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg3MjUwNzAyMiByZz1wYXJ0eQp+IyEgdGlkPTg3MjUwNzAyMgpEZXIgZWluemlnZSwgZGVuIG1hbiBpbSBEdW5rZWxuIGVya2VubnQsIGlzdCBZYW50cm8/IFdlciBoYXR0ZSBub2NoCm1hbCBKb2YgbWl0IFlhbnRybyBhbmdlcmVkZXQ/IDopCgogIFNpbHZhbmEgKHdlaXNzIGVzLCBzYWd0cyBhYmVyIG5pY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eW5hY2hsZXNlIChZYW50cm8sIDI2LiBBdWcgMTk5NywgMDk6MTk6MzkpOgp+IyEgcm49U2lsdmFuYSBydD04NzI1NDI3NzUgcmc9cGFydHkKfiMhIHRpZD04NzI1MDcwMjIKYWxzbyBpY2ggd2Vpc3Mgbm9jaCBnZW5hdSwgd2llIE1JQ0ggZWluZXIgenVsYWJlcnRlOiAiTmEgSm9mPyBXaWUgd2FyIGRhcyBzbwphbSBBbmZhbmcsIHdlbm4gbWFuIGVpbiBNdWQgYXVmbWFjaHQ/IiB1bmQgaWNoIG1laW50ZSAiU2llaHN0IER1IGlyZ2VuZHdvCkxhcmlzc2E/PyBEYW5uIGJpbiBpY2ggYXVjaCBuaWNodCBKb2YhIi4uLi4gCgpBYmVyIGljaCBzZWggZGFzIGFscyBLb21wbGltZW50LCBkZW5uIGljaCBtdXNzIGdld2FsdGlnIGFiZ2Vub21tZW4gaGFiZW4sIHdlbm4Kd2lyIHZlcndlY2hzZWx0IHdlcmRlbi4KCllhbnRybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHluYWNobGVzZSAoQmFib29uLCAyNi4gQXVnIDE5OTcsIDA5OjI2OjMzKToKfiMhIHJuPVlhbnRybyBydD04NzI1Nzk5Nzkgcmc9cGFydHkKfiMhIHRpZD04NzI1MDcwMjIKVmllbGxlaWNodCBoYXQgamEgSm9mIHNvIHp1Z2VsZWd0IHVuZCBpc3QgYXVjaCBub2NoIGVpbiBTdHVlY2sgZ2V3YWNoc2VuPwpBbnNvbnN0ZW4gbXVlc3N0ZSBzY2hvbiBlaW5pZ2VzIHp1c2FtbWVua29tbWVuIHVtIGV1Y2ggenUgdmVyd2VjaHNlbG4uCgpCYWJvb24oKSAoc2VuZnQgc2ljaCBzY2hvbiB3aWVkZXIgdW0gS29wZiB1bmQgS3JhZ2VuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFd1ZXJzdGNoZW4gKENhdHdlYXpsZSwgMjYuIEF1ZyAxOTk3LCAxMDowOToxMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODcyNTAxNTM3IHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTAxNTM3CgpNb2luIQoKQXVmZ3J1bmQgZGVzIHNjaGxlY2h0ZW4gV2V0dGVycyBmYWVsbHQgZGFzIFd1ZXN0Y2hlbmdyaWxsZW4gZGFubiB3b2hsCmRvY2ggZWhlciBhdXMuIE5vY2htYWwgaW0gUmVnZW4gc3RlaGVuIG11c3MgamEgbmljaHQgc2Vpbi4KCkRlciBTdGFtbXRpc2NoIGZpbmRldCBhbHNvIHdpZSBnZXdvaG50IGluIGRlciBDYXZldGUgc3RhdHQuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKClBTOiBTY2hhZGUgdW0gZGllIFd1ZXJzdGNoZW4gZWlnZW50bGljaCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV3VlcnN0Y2hlbiAoWWFudHJvLCAyNi4gQXVnIDE5OTcsIDEwOjA5OjU1KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzI1ODI5NTAgcmc9cGFydHkKfiMhIHRpZD04NzI1MDE1MzcKa2FubiBtYW4gbmNpaHQgaW4gZGVyIEtuZWlwZSBncmlsbGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXdWVyc3RjaGVuIChCYWJvb24sIDI2LiBBdWcgMTk5NywgMTA6MTE6MjMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3MjU4Mjk1MCByZz1wYXJ0eQp+IyEgdGlkPTg3MjUwMTUzNwpXYXMgcGFzc2llcnQgZGVubiBqZXR6dCBtaXQgZGVuIFd1ZXJzdGNoZW4/IEthbm4gYmVpIGV1Y2ggamVtYW5kIFRvdGUgYmVsZWJlbgpvZGVyIHNvPwoKQmFib29uKCkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXdWVyc3RjaGVuIChCb2luZywgMjYuIEF1ZyAxOTk3LCAxMDoxMToyNyk6Cn4jISBybj1ZYW50cm8gcnQ9ODcyNTgyOTk1IHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTAxNTM3Ck51ciB3ZW5uIEpvZiBkYWJlaSBpc3QsIGRlciBtYWNodCBnZXJuZSBGZXVlciBpbSBBc2NoZW5iZWNoZXIuIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFd1ZXJzdGNoZW4gKFJvY2h1cywgMjYuIEF1ZyAxOTk3LCAxMDoxODozNCk6Cn4jISBybj1CYWJvb24gcnQ9ODcyNTgzMDgzIHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTAxNTM3CkljaCBnbGF1YmUgZGllIHNlaGVuIGF1Y2ggc28gYmFsZCBhdXMgd2llIGJlbGVidGUgVG90ZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eW5hY2hsZXNlIChLZXksIDI2LiBBdWcgMTk5NywgMTA6MjQ6MTgpOgp+IyEgcm49U2lsdmFuYSBydD04NzI1NDI3NzUgcmc9cGFydHkKfiMhIHRpZD04NzI1MDcwMjIKQXJnbCBTaWx2YW5hIC4uLiBTY2h3ZWlnIDopKQpXZW5uIEpvZiBkYXMgbGllc3QgZXJpbm5lcnQgZGVyIHNpY2ggYmVzdGltbXQgd2llZGVyIDspKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eW5hY2hsZXNlIChCb2luZywgMjYuIEF1ZyAxOTk3LCAxMDoyNToyOSk6Cn4jISBybj1LZXkgcnQ9ODcyNTgzODU4IHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTA3MDIyCkljaCBnbGF1YmUga2F1bSwgZGFzcyBKb2YgZGFzIGxpZXN0LiA6KQpBYmVyIGljaCB3ZXJkZSBlcyBpaG0gc2FnZW4gLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZW1kIHZlcm1pc3N0IChUZWRkeSwgMjYuIEF1ZyAxOTk3LCAxMTozMDoyNSk6Cn4jISBybj1TbmlicmlsIHJ0PTg3MjUxNjEwMCByZz1wYXJ0eQp+IyEgdGlkPTg3MjUxNjEwMApKYXUsIHdvbGx0ZSBpY2ggZWggdmVyb2VmZmVudGxpY2hlbiwgaWNoIGhhYiBlaW4gSGVtZCB1bmQgZWluZSBGbGVlY2UtSmFja2UKKHNjaHdlcmVzIFdvcnQpIG1pdGdlbm9tbWVuKG9kZXIgYXVjaCB3aXIpLiBJbnRlcmVzc2VudGVuIHVuZC9vZGVyIEVpZ2VudHVlbWVyCmVpbmZhY2ggYmVpIG1pciBtZWxkZW4uCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFB1bGxvdmVyIHZlcm1pc3N0IChBbmF0b2wsIDI2LiBBdWcgMTk5NywgMTU6MzA6MDQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTg3MjYwMjAzMSByZz1wYXJ0eQp+IyEgdGlkPTg3MjYwMjAzMQpWZXJtaXNzZSBldHdhIDE0IFN0dW5kZW4gU2NobGFmLiBIYWJlIGFsbGVyZGluZ3MgZ2VzdGVybiAxMiAoYW5kZXJlKSBnZWZ1bmRlbi4KR2lidCBlcyBqZW1hbmRlbiwgZGVyIDEyIFN0dW5kZW4gU2NobGFmIHZlcm1pc3N0LCB1bmQgMTQgU3R1bmRlbiBmYW5kLi4uPwoKQW5hdG9sLiBMYW5nc2NobGFlZmVyLiBFaWdlbnRsaWNoLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5bmFjaGxlc2UgKE11YWRpYiwgMjYuIEF1ZyAxOTk3LCAxODoyMToxNCk6Cn4jISBybj1Cb2luZyBydD04NzI1ODM5Mjkgcmc9cGFydHkKfiMhIHRpZD04NzI1MDcwMjIKdWkgbGFzcyBkYXMgZG9jaCBsaWViZXIsIHNvbnN0IG11c3MgamVtYW5kIG5vY2htYWwKdW50ZXIgYmllcmlnZW0gcmVnZW4gbGVpZGVuCgptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRzaGlydCBnZWZ1bmRlbiAoRGhvamFrdCwgMjcuIEF1ZyAxOTk3LCAwMDo0OTowNSk6CkltIGF1dG8gdm9uIHJpa3VzIGlzdCBlaW4gVHNoaXJ0IHZlcmdlc3NlbiB3b3JkZW4uCkdhbnogZHVua2VsYmxhdWVyIHN0b2ZmLCBmYXN0IHNjaHdhcnosIHZvcm4gZHJhdWYgc28gbmUgYXJ0IGdyaWVjaGlzY2hlcgprcmllZ2VyIG1pdCBzdHJlaXR3YWdlbiBpbiBncnVlbmVuL2JyYXVuZW0vdmlvbGV0dGVtIGF1ZmRydWNrLgpWZXJtaXNzdG1haWwgYW4gbWljaC4KRGhvamFrdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkaW5nZW5zIChSYWZmaSwgMjcuIEF1ZyAxOTk3LCAxMTowNDo0NCk6Cn4jISBybj1HdW5kdXIgcnQ9ODcyNTM0NTc5IHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTM0NTc5ClZvcnNjaGxhZzoKV2llIHdhcnMgbWl0IGVpbmVyICdGdW5kYnVlcm8nIFJ1YnJpayBmdWVyIGRpZSBuYWVjaHN0ZSBQYXJ0eSA/CgpHcmlucwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkaW5nZW5zIChPcmt0b2V0ZXIsIDI3LiBBdWcgMTk5NywgMTE6MTY6NDMpOgp+IyEgcm49UmFmZmkgcnQ9ODcyNjcyNjg0IHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTM0NTc5Cndhbm4gdW5kIHdvIGlzdCBkZW5uIGRpZSBuYWVjaHN0ZSBQYXJ0eSA/CgpVZWJyaWdlbnMgREFOS0UgISBhbiBkaWUgT3JnYW5pc2F0b3JlbiBkZXIgbGV0emVuIFBhcnR5ICEgKGF1Y2ggd2VubiBpY2ggZGFzCnZvciAyIChvZGVyIDM/KSBKYWhyZW4gaW4gZGVtIFNjaHVwcGVuIGJlc3NlciBmYW5kIChrZWluZSBUcmVwcGVuKSA6KQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGRpbmdlbnMgKFl1cmlrbywgMjguIEF1ZyAxOTk3LCAwMTowMzoyMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODcyNjczNDAzIHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTM0NTc5CgpBbHNvLCBpY2ggd2Vpc3MgZ2FyIG5pY2h0IHdhcyBpaHIgaGFidD8gSWNoIGZhbmQgZGFzIEJhdWVybmhhdXMgcmljaHRpZwpyb21hbnRpc2NoLi4udm9uIGhpbnRlbiBzYWhzIGF1cyB3aWUnbiBIZXhlbmhhZXVzY2hlbiBtaXQgZWxla3RyaXNjaCBMaWNodCA6KSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGRpbmdlbnMgKFBhdHJ5biwgMjguIEF1ZyAxOTk3LCAwMTowNjoyNSk6Cn4jISBybj1ZdXJpa28gcnQ9ODcyNzIzMDAyIHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTM0NTc5CmphLi4uZGFzIG1pdCBkZW0gbGljaHQgaGFiZW4gd2lyIGFiZXIgYXVjaCBudXIgZGVtIGhlbGRlbmhhZnRlbiBlaW5zYXR6Cm1laHJlcmVyIGxldXRlIHp1IHZlcmRhbmtlbi4gZWluZmFjaCBsaWNodCBlaW5rbmlwc2VuIHdhciBuaWNodCwgYWJlcgpkYXMgZmFlbGx0IHdvaGwgYXVjaCB1bnRlciBkaWUgcnVicmlrIHJvbWFudGlrIDopCmFuc29uc3RlbiB3YXIgZGllIHBhcnR5IHdpZSBpbW1lciBnYW56IHRvbGwgdW5kIGljaCBmaW5kZSBlcyBpbgphbmJldHJhY2h0IGRpZXNlcyByaWVzaWdlbiBhdWZ3YW5kZXMsIGRpZSBzZWxiaWdlbiB6dSBvcmdhbmlzaWVyZW4sCmltbWVyIHdpZWRlciBlcnN0YXVubGljaCwgZGFzcyBzaWNoIGRhZnVlciBub2NoIGZyZWl3aWxsaWdlIGZpbmRlbi4KZWluIGRhbmtlc2Nob2VuIGFsc28gYW4gZGllIGxldXRlIGhpbnRlciBkZW4ga3VsaXNzZW4gOikKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGRpbmdlbnMgKFNoYXJpYSwgMjguIEF1ZyAxOTk3LCAwMTowODowMyk6Cn4jISBybj1QYXRyeW4gcnQ9ODcyNzIzMTg1IHJnPXBhcnR5Cn4jISB0aWQ9ODcyNTM0NTc5CkljaCBrYW5uIG1pY2ggUGF0cnluIGVpbmZhY2ggbnVyIGFuc2NobGllc3Nlbi4uLiBtYW4ga2FubiB6d2FyIGFuIGRlcgpPcmdhbmlzYXRpb24gd2FzIGF1c3NldHplbiwgYWJlciBpY2ggZGVua2UgZGFzIGthbm4gbWFuIGltbWVyLi4gbWFuIGthbm4gYW4KYWxsZW0gd2FzIGF1c3NldHplbiAuLiBNVVNTIE1BTiBBQkVSIE5JQ0hULi4uLi4KQWxzbyB2b24gbWlyIGF1Y2ggbmVuIGRpY2tlcyBMb2IgbmFjaCBNdWVuc3RlciB1bmQgcmVjaHQgaGVyemxpY2hlbiBEYW5rLgoKTmFpcm9sZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxQQy1TZW1pbmFyIChSb2NodXMsIDI4LiBBdWcgMTk5NywgMTU6MTU6MDcpOgpJY2ggaGFiZSBtZWluZSBTZW1pbmFyLUZvbGllbiBpbiAvb3Blbi9TZW1pbmFyIGFiZ2VsZWd0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmUgZGluZ2VucyAoQmlyZHksIDI4LiBBdWcgMTk5NywgMTU6NTY6MDApOgoKQXVjaCBpY2ggbW9lY2h0ZSBtaWNoIGJlaSBkZW4gT3JnYW5pc2F0b3JlbiBiZWRhbmtlbi4gTmFlY2hzdGVzIE1hbCBjbG9uZW4gd2lyCmZ1ZXIgQ2F0IGFiZXIgbmUgS3JhZWZ0aWdlcmUgU3RpbW1lIC4gOykKCkJpcmR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmUgZGluZ2VucyAoQW5jYWxhZ29uLCAyOC4gQXVnIDE5OTcsIDE4OjQzOjAyKToKfiMhIHJuPUJpcmR5IHJ0PTg3Mjc3NjU2MCByZz1wYXJ0eQp+IyEgdGlkPTg3Mjc3NjU2MApLbnVkZGVscwpJY2ggdHVlIGpldHp0IGF1Y2ggbWFsIHdhcyBmdWVyIGRpZSBVZWJlcmZ1ZWxsdW5nIGRpZXNlciBSdWJyaWsgdW5kIHNjaGxpZXNzZQptaWNoIGRlbiB2b3JoZXJnZWhlbmRlbiBEYW5rZXN3b3J0ZW4gZnVlciBkaWUgT3JnYW5pc2F0b3JlbiB1bmQgTWl0YXJiZWl0ZXIKZGllc2VyIFBhcnR5IHZvbiBnYW56ZW0gaGVyemVuIGFuISA6KQpIZXJ6bGljaGUgRGFua2Vza251ZGRsZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5jYWxhZ29uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcmFjbyBrbnVkZGVsbGVuc2lzIG1ham9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXIgdm9uIGRlciBQYXJ0eSAoSGF0ZSwgMjkuIEF1ZyAxOTk3LCAxNDoyNzoxNCk6CkhpLAoKd2VyIFBhcnR5YmlsZGVyIGhhdCBsZWd0IGRpZSBiaXR0ZSBhbHMgLlpJUCBvZGVyIC5UR1ogZmlsZSBpbiB1bnNlcgppbmNvbWluZyBWZXJ6ZWljaG5pcyAoZnRwIG1nLm11ZC5kZSkgYWIgdW5kIHBhY2t0IGVpbmUgRGF0ZWkgbWl0IGZvbGdlbmRlbQpJbmhhbHQgZGF6dToKCkRhdGVpbmFtZTxUYWJ1bGF0b3I+QmVzY2hyZWlidW5nCgpBbHNvIGltbWVyIHZvcm5lIGRlbiBCaWxkZGF0ZWluYW1lbiBoaW4sIGRhbm4gPFRBQj4gdW5kIGRhbm4gZGllIEJlc2NocmVpYnVuZwp3ZXIgYXVmIGRlbSBCaWxkIGRyYXVmIGlzdC4KCk5hbWUgZGVzIElOREVYIGZpbGVzOiBJTkRFWAoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZ1bmRzYWNoZSAoSmFuaXR6ZSwgMjkuIEF1ZyAxOTk3LCAyMToyNDoyNCk6CkhpICEKSWNoIGhhYiBhbSBTb25udGFnIG1vcmdlbiBhdWYgZGVtIFplbHRwbGF0eiBiZWltIEJhdWVybmhvZiBlaW5lIHJlY2h0Cmdyb3NzZSBBbnphaGwgdm9uIEhlcmluZ2VuIGdlZnVuZGVuLiBXZXIgZGFzIEJ1ZW5kZWwgdmVybWlzc3QgdW5kIAp3aWVkZXJoYWJlbiB3aWxsOiBtYWlsIGFuIG1pY2gKCkphbmljZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZ1bmRzYWNoZSAoV3VyemVsLCAzMC4gQXVnIDE5OTcsIDE1OjUwOjQ2KToKfiMhIHJuPUphbml0emUgcnQ9ODcyODgyNjY0IHJnPXBhcnR5Cn4jISB0aWQ9ODcyODgyNjY0CmhlcmluZ2U/IHN0aW5rZW4gZGllIG5pY2h0IGFsbG1hZWhsaWNoIGV0d2FzPwoKd3VyemVsLCBpbml0aWF0aXZlIGdlZ2VuIGxlZ2FzdGhlbmllIGUudi4KCnAucy4gYXVmIHplbHRwbGFldHplbiBmaW5kZXQgbWFuIHdhaHJzY2hlaW5saWNoIGVoZXIgaGFlcmluZ2UgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkREREFBQUFBQUFBTk5OS0tLS0tFRUVFRUVFRUVFRSEgKEx1ZywgMzEuIEF1ZyAxOTk3LCAwMjo0NjoxMSk6CgpNb2luLAoKCndhciBqYSBsYW5nZSB3ZWNoIHVuZCB3aWxsIGF1Y2ggbm9jaCB3YXMgZGF6dSBzZW5mZW46CgpEYW5rIGFuIGRpZSBPcmdhbmlzYXRvcmVuIHVuZCBIZWxmZXIgZGVyIE11ZHBhcnR5LiBFcyB3YXIgc3VwZXIhIFVuZCBEYW5rIGFuCmRpZSBMZXV0ZSwgZGllIG1pY2ggdW50ZXJnZWJyYWNodCBoYWJlbiA7KSBJaHIgd2lzc3QsIHdlciBJaHIgc2VpZCA7KQoKR3J1c3MKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eSAoS2FsaSwgIDEuIFNlcCAxOTk3LCAyMDo0NjowNCk6CgpBbHNvIGljaCBmYW5kIGRpZSBQYXJ0eSBndXQuIHZpZWxlbiBEYW5rIG5vY2ggZWlubWFsIGFuIGRpZSBPcmdhbmlzYXRvcmVuCihiZXNvbmRlcnMgQmhhbWlyLCBkZXIgdW5zIGZydWVoZXIgaW4gZGllIEhhbGxlIHJlaW5nZWxhc3NlbiBoYXQgOy0pCldhcyBkaWUgUGFydHlodWV0dGUgdm9uIHNhIGJldHJpZmZ0OiBJY2ggd2Vpc3MgbmljaHQsIHdhcyBpaHIgaGFidC4gU28gZWluCkFlaGVtLCBpbnRlcmVzc2FudGVzIDstKSBEYW1lbmtsbyBoYXR0ZW4gd2lyIGluIEthZ2VsIG5pY2h0LiA7LSkKS2FsaSwgaGF0IHp1bSBnbHVlY2sgcmVjaHR6ZWl0aWcgZGVuIExpY2h0c2NobGF0ZXIgZ2VmdW5kZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlOnBhcnR5KGthbGkpIChCaXJkeSwgIDIuIFNlcCAxOTk3LCAxNDoxNDozNyk6CllPLCBLYWxpIGlzIGdhbnogY29vbCBnZWJsaWViZW4gISA7KSkpKSkpCkxlaWRlciBudXIsIHdlaWwgbmViZW4gbWlyIGVpbiBuaWNodCBuYWVoZXIgenUgaWRlbnRpZml6aWVyZW5kZXIgYmVzb2ZmZW5lcgpNdWRkZXIgc3RhbmQsCmRlciBuYXR1ZXJ0bGljaCBnbGVpY2ggbGF1dCBydW1ncm9laGxlbiBtdXNzdGUuIDsoCgpCaXJkeSwgaW4gRXJpbm5lcnVuZ2VuIHZlcnN1bmtlbiAqZ3JpbnMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGF0aXN0aWsgKENhdHdlYXpsZSwgIDQuIFNlcCAxOTk3LCAxODozNjoxOSk6Ck1vaW4hCgpJY2ggaGFiIG1hbCBuZW4gcGFhciBaYWhsZW4genVzYW1tZW5nZXJlY2huZXQ6CgpQYXJ0eWdhZXN0ZToKMTUyIFBlcnNvbmVuIGhhYmVuIEdlbGQgYXVmIGRhcyBQYXJ0eWtvbnRvIHVlYmVyd2llc2VuCjQ0ICBQZXJzb25lbiBoYWJlbiBhbiBkZXIgQWJlbmRrYXNzZSBiZXphaGx0CgpEYXMgbWFjaHQgbWluZGVzdGVucyAxOTYgUGFydHlnYWVzdGUsIGVzIHdhcmVuIGFiZXIgc2ljaGVybGljaCBtZWhyIGRhLiAKWnVtIGVpbmVuIHdhcmVuIGVpbiBwYWFyIG51ciBGcmVpdGFncyBkYSwgenVtIGFuZGVyZW4gZ2FiIGVzIEJlb2JhY2h0dW5nZW4KenVmb2xnZSBjYS4gMTAtMTUgYXNvemlhbGVzIFBhY2ssIGRpZSBtZWludGVuLCBzaWUgbXVlc3N0ZW4gbml4IGJlemFobGVuLiAKR3JhdHVsaWVyZSwgaWhyIGJld3VuZGVyZSBFdWNoLCB3aWUgaWhyIG1pY2ggdW5kIGRhcyBNRyB2ZXJhcnNjaHQgaGFidC4KSW5zZ2VzYW10IGFsc28gc2ljaGVyIHVlYmVyIDIwMCBQZXJzb25lbi4KCk1vbmV5OgpjYS4gMjQwMCBETSBhbiBLbGVpbmtyYW0sIHZvbiBOYW1lbnNzY2hpbGRlciwgVGVsbGVybiwgRmFja2VsbiwgRnJ1ZWhzdHVlY2sKZXRjLiBiaXMgenVtIEdyaWxsZmxlaXNjaC4gRGFzIHdhciBtaXQgMTAzMCBETSBkZXIgZ3JvZXNzdGUgSGF1ZmVuLgpjYS4gMTc3MCBETSBhbiBHZXRyYWVua2VuLiAKZXhha3QgNjYwIERNIGFuIFJhdW1taWV0ZSBpbnNnZXNhbXQuCgpJY2ggaGFiZSB2b24gZGVyIFdpbnRlcnBhcnR5IGVpbmVuIFJlc3RiZXRyYWcgdm9uIDEwMDBETSBiZWtvbW1lbiwgYXVmIG1laW5lbQoodXJsYWx0ZW4pIFBhcnR5a29udG8gd2FyZW4gYXVjaCBub2NoIDExMERNLiBXaXIgaGFiZW4gamV0enQgZWluZW4gUmVzdGJldHJhZwp2b24gY2EuIDYwMCBETSBmdWVyIGRpZSBuYWVjaHN0ZSBQYXJ0eS4gSGFldHRlbiB3aXJrbGljaCBhbGxlIGFud2VzZW5kZW4KYmV6YWhsdCwgaGFldHRlIHNpY2ggZGllIEthc3NlIGZhc3QgZ2VuYXUgZ2VyZWNobmV0Li4uCgpWZXJicmF1Y2ggOikKQWxzbyBpaHIgaGFidCBjYS4gMjMwIFN0dWVja2UgRmxlaXNjaCB1bmQgMjIwIFd1ZXJzY2hlbiBnZWZyZXNzZW4gOikKMjAgdmVyYnJhdGVuZSBTdHVlY2tlIEZsZWlzY2ggbXVzc3RlbiB3aXIgbGVpZGVyIGVudHNvcmdlbiwgdm9uIGRlbiA4MCBSZXN0LQp3dWVyc3RlbiBzaW5kIG5vY2ggVGVpbGUgdm9yaGFuZGVuLiBEZXIgTWFpcyB1bmQgZGllIFp1Y2NoaW5pIHNpbmQga29tcGxldHQKdmVyc2Nod3VuZGVuLgpHZXRyYWVua2UgRnJlaXRhZzoKY2EuIDEwMGwgQ29sYQo1MGwgQWx0CjgwbCBQaWxzCmtuYXBwZSBGdWVocnVuZyBmdWVycyBCaWVyLiBEaWUgV2Fzc2VybWVuZ2Ugd2FyIHVud2VzZW50bGljaApHZXRyYWVua2UgU2Ftc3RhZzoKZXhha3Q6IDE4NmwoISEhISkgQ29sYSwgZGF2b24gaGF0IFJvY2h1cyBtaW5kZXN0ZW5zIGRpZSBIYWVsZnRlIGdldHJ1bmtlbiAKY2EuIDM1bCBBbHQKMjEwbCBQaWxzLCBkaWUgRmFlc3NlciB3YXJlbiBmcmV1bmRsaWNoZXJ3ZWlzZSBhbGxlIGxlZXIKCkFtIFNhbXN0YWcgaGF0IGRhcyBDb2xhL0JpZXItVmVyaGFlbHRuaXMgX2V0d2FzXyBuYWNoZ2VsYXNzZW4sIGlzdCBhYmVyCmltbWVyIG5vY2ggZWluZHJ1Y2tzdm9sbC4gUm9jaHVzLCBuYWVjaHN0ZSBtYWw6IE1laHIgdHJpbmtlbiEgOi0pCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGF0aXN0aWsgKE9ya3RvZXRlciwgIDUuIFNlcCAxOTk3LCAxNDo1NToxMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODczMzkwOTc5IHJnPXBhcnR5Cn4jISB0aWQ9ODczMzkwOTc5CktsYXNzZSwgQ2F0dHkgIQpIbW0gd2VyIG5pY2h0IHphaGx0IGlzdCBlaW4gKnplbnNpZXJ0KiAhCgpXZWl0ZXIgZ2VodHMgOiBuYWVjaHN0ZXMgbWFsIGJpdHRlIHdpZWRlciBlY2h0ZW4gT3JhbmdlbnNhZnQsIG5pY2h0IHNvIGVpbgpadWNrZXJ3YXNzZXIgd2llIGluIE11ZW5zdGVyIChkYXMgd2FyIGF1ZiBkZXIgV2ludGVyZmV0ZSBnZW5pYWwpLgogV2FubiB1bmQgd28gc2luZCBkaWUgbmFlY2hzdGVuIFBhcnR5cyA/CgpPcmtUIG1laW50IHNjaG9uIHdpZWRlciBlaW5lIFBhcnR5IHZlcnRyYWdlbiB6dSBrb2VubmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YXRpc3RpayAoRnl0LCAgNS4gU2VwIDE5OTcsIDE4OjExOjExKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzMzOTA5Nzkgcmc9cGFydHkKfiMhIHRpZD04NzMzOTA5NzkKCjE4NmwgQ29sYT8gRGFzIGlzdCBqYSBmYXN0ICduIExpdGVyIGZ1ZXIgamVkZW4uLi4gKmhtcGYqCgpTbyBzY2hsZWNodCBnaW5nJ3MgbWlyIGRvY2ggZ2FyIG5pY2h0Li4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0YXRpc3RpayAoUmFmZmksICA1LiBTZXAgMTk5NywgMTk6NTk6MDkpOgp+IyEgcm49Rnl0IHJ0PTg3MzQ3NTg3MSByZz1wYXJ0eQp+IyEgdGlkPTg3MzM5MDk3OQpJY2ggaGFiIGZ1ZXIgZGljaCBtaXRnZXRydW5rZW4gRnl0IC4uLi4gVW5kIFJvY2h1cyBmdWVyIGRlbiBSZXN0IDopCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHliaWxkZXIgdm9uIEJlb3JuIHVuZCBUYW5nYWx1ciAoVGFuZ2FsdXIsICA4LiBTZXAgMTk5NywgMTQ6NDY6NTApOgpIYWxsbywKCmRpZSBQYXJ0eWJpbGRlciB2b24gQm9lcm4gdW5kIFRhbmdhbHVyIHdlcmRlbiBsZWlkZXIgZXJzdCBpbiBldHdhIDItMwpXb2NoZSBmZXJ0aWcgc2Vpbi4gQWxzbyBlaW4ga2xlaW4gd2VuaWcgR2VkdWxkIG5vY2ggOi0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YmlsZGVyIHZvbiBCZW9ybiB1bmQgVGFuZ2FsdXIgKFN1bmZsb3dlciwgIDguIFNlcCAxOTk3LCAxNDo0ODozNSk6Cn4jISBybj1UYW5nYWx1ciBydD04NzM3MjI4MTAgcmc9cGFydHkKfiMhIHRpZD04NzM3MjI4MTAKQWxzbyBmYWxscyBkYSB3aWVkZXIgZ2VzdGVsbHRlIHN1bmZsb3dlciBmb3RvcyAoIG1pdCBiaWVyIHVuZCBraXBwZSApCmRyYXVmIHNlaW4gc29sbHRlbiwgZGFubiBsYXNzIGRpciBqYSB2aWVsIHplaXQgbWl0IGRlbSBlbnR3aWNrZWxuIDopCldhcyBzb2xsZW4gZGVuIGRpZSBMZXV0ZSB2b24gbWlyIGRlbmtlbi4gOi1QCgpBY2hqYSwgaWNoIGhhYmUgZ2FuemUgMyBsaXRlciBjb2xhIHZlcm5pY2h0ZXQsIG1laHIgb2RlciB3ZW5pZ2VyCnp1bSBtaXhlbiB6YWhscmVpY2hlciBhbGxqb2hvbGlzaWVydGVyIGdldHJhZW5rZSA6KQoKCiAgICAgICAgICAgICAgICAgICAgLS09PT0gYmx1ZW1jaGVuID09PS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJsYSAoR2xvaW4sICA5LiBTZXAgMTk5NywgMjE6MTI6NDMpOgoxLiBJY2ggYmVrZW5uZSBtaWNoIGF1Y2ggbWVocmVyZXIgTGl0ZXIgQ29sYXNjaHd1bmQgc2NodWxkaWcKMi4gYmVpbSBTY2FubmVuICgqZ2FlaG4qICpyYXR0ZXJyYXR0ZXIqKQoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBob3RvcyAoS2FsaSwgMTEuIFNlcCAxOTk3LCAxNjoxMTo1Nik6ClNpLCBpY2ggaGFiZSBlcyBuYWNoID8gU3R1bmRlbiBpbSBvZXJ0bGljaGVuIFBDLVBvb2wgZ2VzY2hhZmZ0LCBtZWluZQpQYXJ0eXBob3RvcyBhaW56dXNjYW5uZW4gdW5kIGF1Y2ggYXVmIGRpZSBob21lcGFnZSB6dSBidWdzaWVyZW4uIAphbiBkaWVzZXIgU3RlbGxlIG1laW5lbiBIZWxmZXJuIGhlcnpsaWNoZW4gRGFuay4KRGFzIHdhZXJlbjogV29vZHksIGRlciBtaWNoIGluIDFlaW5oYWxiIHN0dWVuZGlnZXIgc2l0enVuZyBkdXJjaCB3ZnRwIHVuZCB1bml4CmdlbG90c3QgKHVuZCBkYWJlaSBiZXN0aW1tdCBqZWRlIE1lbmdlIEhhYXJlIHZlcmxvcmVuKSBoYXQKSGF0ZSwgZGVyIG1pciBlaW5lIHd1bmRlcnNjaG9lbmUgQXJiZWl0c2Fud2Vpc3VuZyB6dW0ga29waWVyZW4gZGVyIFBob3RvcyBhdWYKZGVuIE1HLVNlcnZlciBnZXNjaHJpZWJlbiBoYXQgKGRpZSBkZXIgYmwqIENvbXB1dGVyIG51ciBpcmdlbmR3aWUgbmNpaHQKdmVyc3RhbmRlbiBoYXQgOy0pCkJoYW1pciB1bmQgcm9jaHVzLCBkaWUgZWluZW4gZ2FuemVuIEFiZW5kIHN0YWVuZGlnIGdlZ3Vja3QgaGFiZW4sIG9iIGRpZQpQaG90b3Mgb3JkZW50bGljaCBhbmdla29tbWVuIHNpbmQKQmhhbWlyLCBGeXQgdW5kIFJvY2h1cywgZGllIG1pY2ggbWl0IHdlcnR2b2xsZW4gUmF0c2NobGFlZ2VuIHVuZCBGZXJuZGlhZ25vc2VuCmJlaSBkZXIgZmVobGVyc3VjaGUgbmFjaCBkZW0gRmVobGVyIGJlaW0gS29waWVyZW4gdW50ZXJzdHVldHp0IGhhYmVuCihMaWVibGluZ3NmcmFnZToiIEhhc3QgZHUgImJpbiIgZWluZ2VnZWJlbj8/PyIuLi4gSEFCIElDSCEhISEgOy0pClVuZCBzY2hsaWVzc2xpY2ggQmlyZHksIG1pdCBkZXNzZW4gdGF0a3JhZWZ0aWdlciBVbnRlcnN0dWV0enVuZyBlcwpzY2hsaWVzc2xpY2ggdW5kIGVuZGxpY2ggZG9jaCBub2NoIGdla2xhcHB0IGhhdC4KRWluIGhlcnpsaWNoZXMgIkRhbmtlc2Nob2VuIiBhbGxlbiBIZWxmZXJjaGVuLgpJY2ggd2VyZGUgRXVjaCB3ZWl0ZXJlbXBmZWhsZW4uCldpZSB3YWVyZSBlcywgbnVyIHNvIGZ1ZXIgYWxsZSBGYWVsbGUsIG1hbCBtaXQgZWluZXIga29tcGxldHRlbgpBcmJlaXRzYW53ZWlzdW5nIGZ1ZXIgYWxsZSwgZGllIG5vY2ggbmllIHZvcmhlciBtaXQgc2Nhbm5lciwgdW5peCBldGMgenUgdHVuCmhhdHRlbj8/PwoKS2FsaQoKUFM6IFdpZSB3YWVyZSBlcywgZGEgd2lyIHNjaG9uIGJlaW0gTmV1cmVydm9yc2NobGFlZ2VuIHNpbmQsIG1pdCBkZXIgU2NoYWZmdW5nCmVpbmVzIEthbmFsczogIkRNIj8/PwooRE09RHVtbWVyIE11ZGRlcj8gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJpbGRlciAoVGFuZ2FsdXIsIDIzLiBTZXAgMTk5NywgMTQ6Mzk6MzEpOgpFbmRsaWNoICEhIQoKRGllIFBhcnR5YmlsZGVyIHZvbiBCZW9ybiAmIFRhbmdhbHVyIHNpbmQgZmVydGlnLgoKVmllbCBTcGFzcyBiZWltIGFuc2NoYXVlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVycGFydHkgKFdhcmdvbiwgMjkuIFNlcCAxOTk3LCAxMDo1OToxNyk6CiAgSGkhCldlciByaWNodGV0IGRlbm4gamV0enQgZWlnZW50bGljaCB3YW5uIHVuZCB3byBkaWUgV2ludGVycGFydHkgYXVzPwogIFdhcmdvbiAoLi4uc2ljaGVyIG5pY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51IGFiYSEgKEtleSwgMjkuIFNlcCAxOTk3LCAxOToyODo0OSk6Cn4jISBybj1Uc2hpcnQgcnQ9ODcxNTgyMjQwIHJnPXBhcnR5Cn4jISB0aWQ9ODcxNTgyMjQwCiBHdXRlIEZyYWdlIDspIFdhciBuaWNodCBlcmxhbmdlbiBvZGVyIG51ZXJuYnJnIGltIEdlc3ByYWVjaD8gOikKCktleSBncmluc3QgRXNjdWJhciBmcmVjaCBhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcnBhcnR5IChTaWx2YW5hLCAzMC4gU2VwIDE5OTcsIDAwOjM4OjEyKToKfiMhIHJuPVdhcmdvbiBydD04NzU1MjM1NTcgcmc9cGFydHkKfiMhIHRpZD04NzU1MjM1NTcKV2llIHdhZXJzIG1pdCBLYXJzcnVoZT8gV2FyIGRvY2ggcHJpbWEgbGV0enRlbiBGZWJydWFyLiA6KQogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVycGFydHkgKEhvYm8sIDMwLiBTZXAgMTk5NywgMDg6NTE6MjEpOgp+IyEgcm49U2lsdmFuYSBydD04NzU1NzI2OTIgcmc9cGFydHkKfiMhIHRpZD04NzU1MjM1NTcKS2FybHNydWhlPz8/CgpOZWVlLCBkYXMgZ2VodCBudW4gbmljaHQgbWVociwgc2NobGllc3NsaWNoIGlzdCB1bnNlciBDaGVmb3JnYW5pc2F0b3IKd2VnZ2V6b2dlbi4KKndpbmsgS2xvbmsqCgogIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcnBhcnR5IChPcmt0b2V0ZXIsIDIxLiBPa3QgMTk5NywgMjE6NDU6NTYpOgpXYW5uIGlzdCBzaWUgPwpXbyBpc3Qgc2llID8KCk9ya1QgaGF0IEVudHp1Z3NlcnNjaGVpbnVuZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcnBhcnR5IChNb3Jnb3RoLCAyMi4gT2t0IDE5OTcsIDA3OjIzOjMzKToKfiMhIHJuPU9ya3RvZXRlciBydD04Nzc0NjMxNTYgcmc9cGFydHkKfiMhIHRpZD04Nzc0NjMxNTYKQWxzbyB3aXIgaGFiZW4gaW4gRG9ydG11bmQgc2Nob24gbWFsIGxlaXNlIHVudGVyIHVucyAoUmluZ29yICYgSWNoKSB1ZWJlcmxlZ3QsCndvIHdpciBkaWUgZ2FuemVuIExldXRlIHVudGVyYnJpbmdlbi4gV2VubiBpY2ggaWhuIGhldXRlIG1hbCB6dSBmYXNzZW4ga3JpZWcsCndlcmRlbiB3aXIgZGFzIHdlaXRlciBiZXNwcmVjaGVuLgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJwYXJ0eSAoTGFyaXNzYSwgMjIuIE9rdCAxOTk3LCAwOTo0MDo0NSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg3NzQ5NzgxMyByZz1wYXJ0eQp+IyEgdGlkPTg3NzQ2MzE1NgpKYSwgY29vb2wsIERvcnRtdW5kICpmcmV1KgoKTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbnRlcnBhcnR5IChNYW5nbywgMjIuIE9rdCAxOTk3LCAwOTo0ODo1OCk6Cn4jISBybj1MYXJpc3NhIHJ0PTg3NzUwNjA0NSByZz1wYXJ0eQp+IyEgdGlkPTg3NzQ2MzE1NgpBZWhtLCBpc3QgamEgZmFzdCBkYXMgc2VsYmUgd2llIE11ZW5zdGVyIDooLgoKTWFuZ28sIG5pY2h0IHNjaG9uIHdpZWRlciBzbyB3ZWl0IGZhaHJlbiB3b2xsZW5kLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVycGFydHkgKEJpcmR5LCAxNy4gTm92IDE5OTcsIDE1OjE5OjE3KToKfiMhIHJuPU1vcmdvdGggcnQ9ODc3NDk3ODEzIHJnPXBhcnR5Cn4jISB0aWQ9ODc3NDYzMTU2Cldhbm4gYmVrb21tZW4gd2lyIGRlbm4gbnVuIGRpZSBJbmZvcyA/IDopCgpCaXJkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ludGVycGFydHkgKEd1bGR1a2F0LCAyMC4gTm92IDE5OTcsIDIxOjM2OjUwKToKfiMhIHJuPUJpcmR5IHJ0PTg3OTc3NjM1NyByZz1wYXJ0eQp+IyEgdGlkPTg3NzQ2MzE1NgpEb3J0bXVuZCBpc3QgZ2Vib25ndCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcnBhcnR5PyAoSG9ibywgIDguIERleiAxOTk3LCAwOTo0NToyOCk6Ckt1Y2t1Y2tzLAp1bnRlciBkZW0gVGl0ZWw6IEZyYWdlbiwgZGllIGRpZSBXZWx0IGJld2VnZW4Kc3RlaHQgaGV1dGUgYmVpIG1pcjogV28gdW5kIFdhbm4gZ2lidCdzIGRpZSBuYWVjaHN0ZSBNRy1QYXJ0eT8KCk11bmtlbG4gaG9lcnQoZSkgbWFuIHZvbiBEb3J0bXVuZCwgQnJhdW5zY2h3ZWlnIHVuZCBEcmVzZGVuLCBnbGF1YiBpY2guCldlciBtYWNodCdzIGRlbm4gbnVuPwoKClRzY2h1ZXNzaQoKICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcnBhcnR5PyAoUWl0ZXNzLCAgOC4gRGV6IDE5OTcsIDEzOjU1OjU0KToKfiMhIHJuPUhvYm8gcnQ9ODgxNTcwNzI4IHJnPXBhcnR5Cn4jISB0aWQ9ODgxNTcwNzI4CkJyYXVuc2Nod2VpZyBzaWNoZXIgbmV0LgoKUUkqKiB3aXJkIGRhcyBuaWNodCBvcmdhbmlzaWVyZW4uIFdvIGF1Y2ggPyE/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcnBhcnR5PyAoUWl0ZXNzLCAgOC4gRGV6IDE5OTcsIDEzOjU2OjU5KToKfiMhIHJuPVFpdGVzcyBydD04ODE1ODU3NTQgcmc9cGFydHkKfiMhIHRpZD04ODE1NzA3MjgKU05JQlJJTCBIQVQgU0lDSCBHRVJBREUgRlVFUiBEQVMgT1JHQU5JU0lFUkVOIERFUiBNT1JHRU5HUkFVRU4tV0lOVEVSUEFSVFkgSU4KQlJBVU5TQ0hXRUlHIEJFUkVJVCBFUktMQUVSVC4KClFJKiogRkVJWFQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJwYXJ0eT8gKFNudWdnbGUsIDEwLiBEZXogMTk5NywgMDk6NDM6MjcpOgp+IyEgcm49SG9ibyBydD04ODE1NzA3Mjggcmc9cGFydHkKfiMhIHRpZD04ODE1NzA3MjgKRHJlc2Rlbi4KVW5kIFNvbm50YWdzZXNzZW4gZ2lidHMgYmVpIGRlbiBUc2NoZWNoZW4sIGRhIGtvc3RldHMgbmljaHQgc28gdmllbCAuLSkKCkFiZXIgbiBiZWtlbm5lbmRlcyBXb3J0IHp1IGVpbmVtIGRlciBPcnRlIHdhZXIgc2Nob24gbmV0IHNjaGxlY2h0CgpTbnVnZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVycGFydHk/IChNYW5nbywgMTAuIERleiAxOTk3LCAxMTo1NTowMSk6Cn4jISBybj1TbnVnZ2xlIHJ0PTg4MTc0MzQwNyByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOAoKSWNoIGhhdHRlIHZvciBzZWhyIGxhbmdlciBaZWl0IG1hbCBnZXNjaHJpZW5lbjoKCiAgICAgICAgICAgICAgICAgICBEUkVTREVOIDIwMDAKCmFiZXIgdm9uICduZXIgV2ludGVyZmV0ZSBpbiBEcmVzZGVuIHdlaXNzIGljaCBhYnNvbHV0IG5pY2h0cy4KCk1hbmdvLCBlcnN0YXVudCBkZXIgdmllbGVuIEdlcnVlY2h0ZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJwYXJ0eT8gKFd1cnplbCwgMTAuIERleiAxOTk3LCAxOTo1NzozMyk6Cn4jISBybj1NYW5nbyBydD04ODE3NTEzMDEgcmc9cGFydHkKfiMhIHRpZD04ODE1NzA3MjgKZHJlc2RlbiBmYWVuZCBpY2ggZ3V0LiB6dWxldHp0IHdhciBpY2ggbm9jaCB6dSBob25lY2tlcnMgemVpdGVuIGluIGRlcgpvc3R6b25lLCB1bmQgaW4gZHJlc2RlbiB1ZWJlcmhhdXB0IG5vY2ggbmljaHQgKGJpc2hlciB3YXIgaWNoIGltbWVyIGRlcgptZWludW5nLCBkYXMgZ2FlYmUgZXMgbmljaHQgbWVociB3ZWdlbiBkZXIgdmllbGVuIGJvbWJlbi4uLikKYWJlciB3ZW5ucyBkYSBuZSBwYXJ0eSBnaWJ0LCBrYW5uIGljaCBhdWNoIG1hbCB3YXMgZGF6dWxlcm5lbiA6KQoKd2FubiBzb2xsIGRhcyBnYW56ZSBzdGVpZ2VuPwoKd3VyemVsIChuZXVnaWVyaWcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW50ZXJwYXJ0eT8gKEFjcmltb24sIDEwLiBEZXogMTk5NywgMTk6NTg6MjcpOgp+IyEgcm49V3VyemVsIHJ0PTg4MTc4MDI1MyByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOApVbSA1IG5hY2ggendvZWxmIHp3aXNjaGVuIGRlbiBSdWluZW4/CgooLT4gc2NobWFycm4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW50ZXJwYXJ0eT8gKEdsb2luLCAxMS4gRGV6IDE5OTcsIDAxOjQzOjQ5KToKfiMhIHJuPVd1cnplbCBydD04ODE3ODAyNTMgcmc9cGFydHkKfiMhIHRpZD04ODE1NzA3MjgKV2llIE1hbmdvIHNjaG9uIHNhZ3RlOiBEcmVzZGVuIDIwMDAuIE1laW5ldHdlZ2VuIGNoYXJ0ZXJuIHdpciBkYW5uIGF1Y2gKZGllIHdpZWRlciB6dXNhbW1lbmdlYnJvY2hlbmUgS3VwcGVsIGRlciBGcmF1ZW5raXJjaGUgdW5kIHZlcnNlbmtlbiBzaWUKaW4gZGVyIEVsYmUuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ludGVycGFydHk/IChGeXQsIDExLiBEZXogMTk5NywgMTg6MTg6NDIpOgp+IyEgcm49V3VyemVsIHJ0PTg4MTc4MDI1MyByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOAoKRGllIFN0YWR0LCBkaWUgZXMgbmljaHQgZ2lidCwgaGVpc3N0IGFuZ2VibGljaCAnQmllbGVmZWxkJy4KCkZ5dCwgZW5kbGljaCBtYWwgd2FzIHp1ciBBdWZrbGFlcnVuZyBkZXIgQmVzYXR6ZXIgYmVpdHJhZ2VuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcnBhcnR5PyAoSGFuZ292ZXIsIDExLiBEZXogMTk5NywgMTk6NDU6MDMpOgp+IyEgcm49Rnl0IHJ0PTg4MTg2MDcyMiByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOApIdXBwcz8KClBhcnR5IGluIEJpZWxlZmVsZCBoYWV0dGUgd2FzIC0gZGllIEtJRiB3YXIgc2Nob24ga2xhc3NlIDotKQoKSGFuZ292ZXIsCmRlbiBCaWVsZWZlbGQgaW1tZXIgYW4gQmVyZ2VkaXJmIGVyaW5uZXJudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcnBhcnR5PyAoTW9yZ290aCwgMTIuIERleiAxOTk3LCAxNToxNjowNCk6Cn4jISBybj1Ib2JvIHJ0PTg4MTU3MDcyOCByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOApTbywgYWxzbyBpY2ggbm9jaG1hbCB3YXMgZGF6dS4gCkVpZ2VudGxpY2ggc29sbCBEb3J0bXVuZCBhbHMgT3J0IGZ1ZXIgZGllIFdpbnRlcnBhcnR5IGRpZW5lbi4gV2lyIGhhYmVuIGF1Y2gKc2Nob24gZXR3YXMsIHdvIG1hbiBkaWUgRmV0ZSBzdGVpZ2VuIGxhc3NlbiBrYW5uLiBEYXMgUHJvYmxlbSBpc3QgaW0gTW9tZW50Cm5vY2gsIGRhc3MgaWhyIGFsbGUgdW50ZXIgbmVyIEJydWVja2UgcGVubmVuIG11ZXNzdGV0IDstKCgKV2lyIHNldHplbiB1bnMgbmFlY2hzdGUgV29jaGUgbm9jaCBtYWwgYWxsZSAoUmluZ29yLCBNb3Jnb3RoLCAuLi4pIHp1c2FtbWVuCnVuZCB0cmV0ZW4gZGVtIEFIUyBtYWwgYXVmIGRpZSBGdWVzc2UsIGRhc3Mgd2lyIGRvY2ggbm9jaCBlaW5lIEhhbGxlIGJla29tbWVuCihmdWVycyBaZWx0ZW4gaXN0cyBlaW4gYmlzY2hlbiBrYWx0KS4KQWxzbyBzdGVodCBEb3J0bXVuZCAoc29mZXJuIG5pY2h0IGlyZ2VuZHdlciBzY2hvbiBhbGxlcyBnZXBsYW50IGhhdCkgZmVzdCwgbWl0CmRlbSBWb3JiZWhhbHQsIGRhc3Mgd2lyIGRpZSBIYWxsZSBiZWtvbW1lbihvZGVyIHdhcyBhZWhubGljaGVzKS4KTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJwYXJ0eT8gKFBvc2NvLCAxMi4gRGV6IDE5OTcsIDE3OjA4OjAxKToKfiMhIHJuPU1vcmdvdGggcnQ9ODgxOTM2MTY0IHJnPXBhcnR5Cn4jISB0aWQ9ODgxNTcwNzI4CkFsc28gYmVpIEtudXJ0IGluIERvcnRtdW5kIGtvZW5uZW4gdm9uIG1pciBhdXMgemVobiBMZXV0ZSBwZW5uZW4gdW5kIGVyIHd1ZXJkZQp3b2hsIGF1Y2ggbWl0b3JnYW5pc2llcmVuLgoKSGV1dGUgbWFsIGdyb3NzenVlZ2lnLAp1bmQgZ3V0ZXIgRGluZ2UuLi4KS251cnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbnRlcnBhcnR5PyAoV3VyemVsLCAxMy4gRGV6IDE5OTcsIDAwOjMxOjM1KToKfiMhIHJuPVBvc2NvIHJ0PTg4MTk0Mjg4MSByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOAphbHNvIG1pciByZWljaHQgZXMgdm9lbGxpZywgd2VubiBlcyBpbiBkb3J0bXVuZCBob3RlbHMgZ2lidC4uLgp3ZW5uIHVudGVyIGRlciBicnVlY2tlIHBlbm5lbiBhbmdlc2FndCBpc3QgKHplbHRlbiBpc3Qga2F1bSBiZXNzZXIpLCBkYW5uCmdpbHQgZGFzIHNpY2hlciBudXIgZnVlciBmYXN0IGFsbGUuIHdlaWNoZWllciwgd2FybWR1c2NoZXIgdW5kIHd1cnplbG4KYmV2b3J6dWdlbiBkYSByaWNodGlnZSBiZXR0ZW4gOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ludGVycGFydHk/IChCbG9vZHloYXJyeSwgMTMuIERleiAxOTk3LCAwMDozNzowNSk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODgxOTY5NDk1IHJnPXBhcnR5Cn4jISB0aWQ9ODgxNTcwNzI4CkFjaCwgZGFzIHdhcmVuIGFsc28gZGllIGRyZWkgVy4gOi0pCkFiZXIgdmVyc3VjaGUgZG9jaCBtYWwgaHR0cDovL3d3dy5kb3J0bXVuZC5kZS8uIEFuZ2VibGljaCBrYW5uIG1hbiBkb3J0IHNlaW4KWmltbWVyIHNvZ2FyIG9ubGluZSBidWNoZW4uCgpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2ludGVycGFydHk/IChTaWx2YW5hLCAxMy4gRGV6IDE5OTcsIDAwOjQxOjI0KToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg4MTk2OTgyNSByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOApOYWphLCBRdWlya2VuZG9ycCAoc3ByaWNoOiBCcmFja3dlZGUpIGlzdCBuaWNodCBzbyB3ZWl0IHdlY2gsIGRhIGtvZW5udAppY2ggenVyIE5vdCBhYmVuZHMgbmFjaCBIYXVzZSBmYWhyZW4uLi4gQWxsZXJkaW5ncyB3YWVyZSBlcyBuZXR0LCB3ZW5uIAppaHIgbWFuIGVpbmVuIFRlcm1pbiB2ZXJvZmZlbnRsaWNoIHd1ZXJkZXQuIEljaCBtdXNzIGxhbmdzYW0gbWFsIGRlbgpUZXJtaW4gZnVlciBtZWluZSBHZWJ1cnRzdGFnc2ZlaWVyIGZlc3RsZWdlbiAtIHVuZCBkYXMgc29sbHRlIG5pY2h0IGRlcgpnbGVpY2hlIHNlaW4uLi4KCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2ludGVycGFydHk/IChNYW5nbywgMTUuIERleiAxOTk3LCAwNzo0MTo1NCk6Cn4jISBybj1TaWx2YW5hIHJ0PTg4MTk3MDA4NCByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOApXaWVzbyBuaWNodD8gRGFubiBzY2htZWlzc3QgRHUgZWJlbiAnbmUgcmllc2lnZSBHZWJ1cnRzdGFnc2ZldGUsIHVuZCBsYWVkc3QKdW5zIGFsbGUgZWluLgoKTWFuZ28sIHd1ZXJkZSBzb2dhciAnbmVuIEt1Y2hlbiBtaXRicmluZ2VuLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbnRlcnBhcnR5PyAoTW9yZ290aCwgMTUuIERleiAxOTk3LCAwNzo0MjozNSk6Cn4jISBybj1Qb3NjbyBydD04ODE5NDI4ODEgcmc9cGFydHkKfiMhIHRpZD04ODE1NzA3MjgKQWhoaCwgbmEgZGEgaXN0IGphIHNjaG9ubWFsIGVpbiBBbmZhbmcuIApXaXIgVW5pTGV1dGUgc29sbHRlbiB1bnMgbm9jaCB2b3IgZGVtIFN0YW1tdGlzY2ggbWFsIHRyZWZmZW4gdW5kIHVlYmVybGVnZW4sCndhcyB3aXIgamV0enQgbWFjaGVuLiBBbHMgT3JrIHd1ZXJkZSBpY2ggZGllIG5ldWUgQ2FmZXRlIG9kZXIgZGFzIER1cnN0YmxpY2sKdm9yc2NobGFnZW4uCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaW50ZXJwYXJ0eT8gKFllbmRpLCAxNS4gRGV6IDE5OTcsIDEyOjM4OjUyKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODIxODA0MzUgcmc9cGFydHkKfiMhIHRpZD04ODE1NzA3MjgKCkhhbGxvLCBWZXJsZWdlciEKS2FubiBtYWwgamVtYW5kIEdyaW1tYm9ybnMgQXJ0aWtlbCBuYWNoICJzY2htYXJybiIgYmVmb2VyZGVybj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaW50ZXJwYXJ0eT8gKFRlZGR5LCAxNS4gRGV6IDE5OTcsIDE5OjEwOjQ0KToKfiMhIHJuPVNpbHZhbmEgcnQ9ODgxOTcwMDg0IHJnPXBhcnR5Cn4jISB0aWQ9ODgxNTcwNzI4CkhtLCBlaWdlbnRsaWNoIHd1ZXJkZSBnZXJhZGUgZGFzIGVpbmlnZSBwcm9ibGVtZSBsb2VzZW46IFdpciBmZWllcm4gYTxsbGUgYmVpClNpbHZhbmEgaWhyZW4gR2VidXJ0c3RhZy4KQWJlciBtYWwgaW0gRXJuc3Q6IEluIG1laW5lbSBXb2huemltbWVyIGluIEJvY2JodW0ga29lbm50ZW4gYXVjaCBub2NoIExldXRlCnNjaGxhZmVuLCB3ZW5ucyBlbmcgd2lyZC4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaW50ZXJwYXJ0eT8gKFNpbHZhbmEsIDE1LiBEZXogMTk5NywgMjM6MTI6NDYpOgp+IyEgcm49VGVkZHkgcnQ9ODgyMjA5NDQ0IHJnPXBhcnR5Cn4jISB0aWQ9ODgxNTcwNzI4CkRhcyBtaXQgZGVyIEdlYnVydHN0YWdzZmVpZXIgaGF0dGVuIHdpciB2b3IgMiBKYWhyZW4uIERhIGZpZWwgc2VsYmlnZXIKbmFlbWxpY2ggYXVjaCBlaW5lbiBTb25udGFnLCBzbyBkYXNzIGVzIHBhc3N0ZS4gRGVtIGlzdCBkaWVzbWFsIGFiZXIKbmljaHQgc28gLSBhdXNzZXJkZW0gZnVlcmNodGUgaWNoLCBtdWVzc3RlIGljaCBkaWVzZXMgbWFsIGluIEJJIGFsbGVzCmFsbGVpbmUgbWFjaGVuIC0gdW5kIGRhenUgaGFiIGljaCB3aXJrbGljaCBrZWluZSBMdXN0LgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaW50ZXJwYXJ0eT8gKEZ5dCwgMjMuIERleiAxOTk3LCAxMjo1Mjo0Nyk6Cn4jISBybj1IYW5nb3ZlciBydD04ODE4NjU5MDMgcmc9cGFydHkKfiMhIHRpZD04ODE1NzA3MjgKCkR1IHdhcnN0IGF1ZiBkZXIgZmFsc2NoZW4gUGFydHkuIERpZSByaWNodGlnZSBoaWVzcyAnS29NYScgOy0tLSkKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdpbnRlcnBhcnR5PyAoWWFyZW4sIDIzLiBEZXogMTk5NywgMTM6NDY6MDApOgp+IyEgcm49Rnl0IHJ0PTg4Mjg3Nzk2NyByZz1wYXJ0eQp+IyEgdGlkPTg4MTU3MDcyOApzY2hvbiB3YWhyLCBhYmVyIGRpZSBrb21iaW5hdGlvbiB2b24gS29NYSB1bmQgS0lGIGlzdCBkb2NoIHdpcmtsaWNoIGtsYXNzZSA6LSkKCllhcmVuIGxhZyBhbSBuYWVjaHN0ZW4gdGFnIGF1Y2ggaW4gZGVtc2VsYmVuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJ1ZWhqYWhyZXNwYXJ0eS4uLiAoTGFyaXNzYSwgIDguIEphbiAxOTk4LCAxMzozMToyNik6CkFlaGVtLAoKaXN0IG51biBpbSBGZWJydWFyL01hZXJ6IGlyZ2VuZHdvIFdpbnRlcnBhcnR5Pz8KCkxhcmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhqYWhyZXNwYXJ0eS4uLiAoQ2hlYXN5LCAgOC4gSmFuIDE5OTgsIDE2OjQzOjM1KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODg0MjU5MDg2IHJnPXBhcnR5Cn4jISB0aWQ9ODg0MjU5MDg2CkpvIExhcmlzc2EuIE51ciB3aXJzdCBEdSB2ZXJtdXRsaWNoIG5pY2h0IHp1IGVpbmVyIEFuZGVybGFuZC1wYXJ0eSBrb21tZW4Kd29sbGVuIDstKQotQ2hlYXN5Ci4uLiBpcyBuaWNodCBuYWNodHJhZ2VuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJ1ZWhqYWhyZXNwYXJ0eS4uLiAoUm9uZGEsICA4LiBKYW4gMTk5OCwgMTY6NDQ6NDUpOgp+IyEgcm49Q2hlYXN5IHJ0PTg4NDI3NDIxNSByZz1wYXJ0eQp+IyEgdGlkPTg4NDI1OTA4NgpPY2gsIHdlbm4gYWxsZSBNR2xlciwgZGllIG1hbCBpbSBBbmRlcmxhbmQgd2FyZW4sIGF1Y2gga29tbWVuIGR1ZXJmZW4uLi4gaXN0Cm9rLgooTnVyIHZpZWxsZWljaHQgcGxhdHp0IGRhcyBnYW56ZSBkYW5uIGF1cyBhbGxlbiBOYWVodGVuLCBnZWxsPykKUm9uZGEgKm1hZyBhdWNoIGdlcm4gYXVmIG5lIFBhcnR5IGdlaGVuKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJ1ZWhqYWhyZXNwYXJ0eS4uLiAoQ2hlYXN5LCAgOC4gSmFuIDE5OTgsIDE2OjQ2OjU2KToKfiMhIHJuPVJvbmRhIHJ0PTg4NDI3NDI4NSByZz1wYXJ0eQp+IyEgdGlkPTg4NDI1OTA4NgpUamEgUm9uZGEsIHdlbm4gRHUgd2Vpc3N0LCB3aWUgbWFuIHNpY2ggYW5tZWxkZXQsIGthbm5zdCBEdSBhdWNoIGtvbW1lbiA6LSkKLUNIZWFzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZydWVoamFocmVzcGFydHkuLi4gKEZyZXVuZCwgIDkuIEphbiAxOTk4LCAwMDoxNDo1Myk6Cn4jISBybj1MYXJpc3NhIHJ0PTg4NDI1OTA4NiByZz1wYXJ0eQp+IyEgdGlkPTg4NDI1OTA4NgpIaSwKCmZhbGxzIG5vY2gga2VpbmUgYW5kZXJlbiBMZXV0ZSB3YXMgZ2VwbGFudCBoYWJlbiwgZGFubiBrb2VubnRlIGljaCBpbiBNUyBldHdhcwpvcmdhbmlzaWVyZW4uIE5hdHVlcmxpY2ggbnVyLCBmYWxscyBJbnRlcmVzc2UgYmVzdGVodC4KCkZhbGxzIGlyZ2VuZHdvIGV0d2FzIGdlcGxhbnQgaXN0LCBiZWdudWVnZSBpY2ggbWljaCBnZXJuZSBtaXQgcGFzc2l2ZW0KYmVzdWNoZW4uIDspCgpGcmV1bmQsIGhhdCBpbW1lcmhpbiBkaWUgZXJzdGVuIGJlaWRlbiBNdWRwYXJ0eXMgb3JnYW5pc2llcnQuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGphaHJlc3BhcnR5Li4uIChaYXJuaXlhLCAgOS4gSmFuIDE5OTgsIDA4OjU3OjI3KToKfiMhIHJuPUZyZXVuZCBydD04ODQzMDEyOTMgcmc9cGFydHkKfiMhIHRpZD04ODQyNTkwODYKYWxzbyBpY2ggaGFiIGRhIG1hbCB3YXMgdm9uIERvcnRtdW5kIGZ1ZXIgZGVuIFdpbnRlciBnZWhvZXJ0Li4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGphaHJlc3BhcnR5Li4uIChIYW5nb3ZlciwgIDkuIEphbiAxOTk4LCAxMDoxNzo0OSk6Cn4jISBybj1GcmV1bmQgcnQ9ODg0MzAxMjkzIHJnPXBhcnR5Cn4jISB0aWQ9ODg0MjU5MDg2Ck1vaW4gRnJldW5kIQoKQmV2b3IgZXMgZ2FyIGtlaW5lIFBhcnR5IGdpYnQ6IG9yZ2FuaXNpZXIgYmxvc3MgZWluZSA7LSkKCkhhbmdvdmVyCihkZW0gc2VociBuYWNoIFBhcnR5IHp1bXV0ZSBpc3QuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcnVlaGphaHJlc3BhcnR5Li4uIChCb2luZywgIDkuIEphbiAxOTk4LCAxMTo1NzowOSk6Cn4jISBybj1aYXJuaXlhIHJ0PTg4NDMzMjY0NyByZz1wYXJ0eQp+IyEgdGlkPTg4NDI1OTA4NgpHZWhvZXJ0IGhhYmVuIGRhIHZpZWxlIHZvbiAuLi4gbnVyIG9iIGVzIGRpZSBEb3J0bXVuZGVyIGF1Y2ggZ2Vob2VydCAKaGFiZW4gaXN0IGRpZSBhbmRlcmUgRnJhZ2UgLi4uIDopCkZyZXVuZCEgSGF1IHJlaW4hCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZydWVoamFocmVzcGFydHkuLi4gKEJpcmR5LCAgOS4gSmFuIDE5OTgsIDE1OjMzOjU4KToKfiMhIHJuPUJvaW5nIHJ0PTg4NDM0MzQyOSByZz1wYXJ0eQp+IyEgdGlkPTg4NDI1OTA4NgpKYXUgIQpUdSBkaXIga2VpbmVuIFp3YW5nIGFuIEZyZXVuZCEgOikKCkJpcmR5IHdpbGwgYXVjaCBQYWFhYWFhYWFhYWFhYWFhYWFhYWFydHkgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp3aXNjaGVuZXJnZWJuaXMgKEZyZXVuZCwgMTEuIEphbiAxOTk4LCAwMDoxMjo1MCk6Ck1vbWVudGFuIGVudHNjaGVpZGV0IHNpY2ggbm9jaCwgb2IgZGllIEZldGUgaW4gTXVlbnN0ZXIgb2RlciBpbiBCb25uCm9yZ2FuaXNpZXJ0IHdpcmQuCgpEYXMgRGF0dW0gc3RlaHQgcmVsYXRpdiBmZXN0OiBXaXIgd29sbGVuIGRhcyBNYWktV29jaGVuZW5kZSBhdXNudXR6ZW4uIERlcgoxLjUuIGlzdCBhdWYgZWluZW0gRlJFSVRBRywgYWxzbyBrb2VubnRlbiBkaWUgZXJzdGVuIGFtIERvbm5lcnN0YWcgYW5yZWlzZW4sCnVuZCBkYXMgZ2FuemUga2FubiBiaXMgU29ubnRhZyBNSXR0YWcgZ2VoZW4uIDotKQoKV2lyIHdlcmRlbiBtYWwgc2VoZW4sIHdhcyB3aXIgc28gc2NobGFmdGVjaG5pc2NoIHNjaGFmZmVuLiA6PSkKCkJpcyBiYWxkCmVpbiBGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWndpc2NoZW5lcmdlYm5pcyAoQW5hdG9sLCAxMS4gSmFuIDE5OTgsIDAyOjAyOjMzKToKfiMhIHJuPUZyZXVuZCBydD04ODQ0NzM5NzAgcmc9cGFydHkKfiMhIHRpZD04ODQ0NzM5NzAKQWVobSwgaWNoIHdlcmRlIGRhcyBHZWZ1ZWhsIG5pY2h0IGxvcywgZGFzcyB1bnMgZGFtaXQgZWluZSBQYXJ0eSAKdmVybG9yZW4gZ2VodC4uLi4gaXN0IGRpZSBQYXJ0eSBpbSBNYWkgZGllIFdpbnRlci0gb2RlciBkaWUgU29tbWVyZmV0ZT8gOikKCklzdCBpaG0gZWlnZW50bGljaCBhYmVyIGVoIGVnYWwsCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWndpc2NoZW5lcmdlYm5pcyAoRnJldW5kLCAxMS4gSmFuIDE5OTgsIDIyOjQwOjIxKToKfiMhIHJuPUFuYXRvbCBydD04ODQ0ODA1NTMgcmc9cGFydHkKfiMhIHRpZD04ODQ0NzM5NzAKSG0sCmFsc28sIGVzIGlzdCBqYSBkZXIgZXJzdGUgTWFpLCBhbHNvIGZhc3Qgbm9jaCBBcHJpbC4gVW5kIGRpZSBuYWVjaHN0ZSBrb2VubnRlCmltIFNlcHRlbWJlciBzdGVpZ2VuLiA6KQoKRnJldW5kLCByZXR0ZXQgZGllIFBhcnR5cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp3aXNjaGVuZXJnZWJuaXMgKEtleSwgMTIuIEphbiAxOTk4LCAwNzo1OToxMyk6Cn4jISBybj1GcmV1bmQgcnQ9ODg0NTU0ODIxIHJnPXBhcnR5Cn4jISB0aWQ9ODg0NDczOTcwCipncmlucyogVW5kIGltIG5hZWNoc3RlbiBKYWhyIGlzdCBXaW50ZXIgLi4uIHNhZ2VuIHdpciBpbSBKdWxpLCB1bmQgZGllIFNvbW1lcgppbSBOb3ZlbWJlcj8gOikpKQoKTmVlIEhhdXB0c2FjaGUgUGFydHksIHVuZCB3ZW5uIHNpZSBkaWVzZXMgbWwgZXR3YXMgc3BhZXRlciBpc3QgLi4uIHdhcyBzb2xscz8KOikKCktleSBwcm9iaWVydCBzaWNoIFNvbW1lcmdla2xlaWRldGUgTXVkZGVyIGltIG5vdmVtYmVyIHZvcnp1c3RlbGxlbiA9OykpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBad2lzY2hlbmVyZ2VibmlzIChMYXJpc3NhLCAxMi4gSmFuIDE5OTgsIDA4OjQ2OjI0KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODg0NTkxMDU2IHJnPXBhcnR5Cn4jISB0aWQ9ODg0NDczOTcwCkhtLAoKYWxzbyBuZSBQYXJ0eSBpbSBGZWJydWFyL01hZXJ6IHdhZXJlIHNjaG9uIHNjaG9lbmVyLCB2b3IgYWxsZW0Kc3RpbGVjaHRlci4uLgoKKnNuaWZmKgoKV28gc2luZCBkZW5uIGRpZSBnYW56ZW4gJ3dpciBrb2VubmVuIGVzIGJlc3NlcicgUGFydHlsb2V3ZW4gPz8/CgpMYXJpLCBQYXJ0eVBhcnR5UGFydHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp3aXNjaGVuZXJnZWJuaXMgKFphcm5peWEsIDEyLiBKYW4gMTk5OCwgMTA6MTE6MzEpOgp+IyEgcm49TGFyaXNzYSBydD04ODQ1OTExODQgcmc9cGFydHkKfiMhIHRpZD04ODQ0NzM5NzAKaXJnZW5kd2llIGlzdCBlcyBiZXNzZXIsIHdlbm4gZGllIEZldGUgaW4gZGVuIFNlbWVzdGVyZmVyaWVuIHNlaW4ga29lbm50ZQooYXVjaCwgd2VubiBkYXMgZnVlciBGcmV1bmQgZWluIEZyZW1kd29ydCBpc3QpIHVuZCBkaWUgc2luZCBudW4gbWFsIHp3aXNjaGVuCm1pdHRlIEZlYnJ1YXIgdW5kIE9zdGVybi4gU2ljaGVyIGlzdCBkZXIgMS41LiBlaW4gbmV0dGVyIFRlcm1pbiwgYWJlciBrYW5uIG1hbgpkYSBuY2lodCBlaW5lIFNvbmRlcnBhcnR5IG1hY2hlbiBvZGVyIHNvPyAKClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFp3aXNjaGVuZXJnZWJuaXMgKEtleSwgMTIuIEphbiAxOTk4LCAxMDoxMjozNCk6Cn4jISBybj1aYXJuaXlhIHJ0PTg4NDU5NjI5MSByZz1wYXJ0eQp+IyEgdGlkPTg4NDQ3Mzk3MApJbSBGcnVlaGxpbmcgZWluZSBTb21tZXJwYXJ0eT8/Pz8gU2NoYWVtIERpY2ggLCkKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWndpc2NoZW5lcmdlYm5pcyAoSG9ibywgMTIuIEphbiAxOTk4LCAxMDoyNzozMCk6Cn4jISBybj1aYXJuaXlhIHJ0PTg4NDU5NjI5MSByZz1wYXJ0eQp+IyEgdGlkPTg4NDQ3Mzk3MApTZW1lc3RlcmZlcmllbj8KVmllbGUgTGV1dGUga29lbm5lbiBhYmVyIGdlcmFkZSBkYW5uIG5pY2h0LCBzZWkncyB3ZWdlbiBQcmFrdGlrdW0sIHdlZ2VuIEpvYgpvZGVyIHdlZ2VuIEZlcmllbi4KTmFqYSwgYWJlciBmdWVyIG1pY2ggaXN0IGRhcyBqYSBhdWNoIGVpbiBGcmVtZHdvcnQuIE1pciBpc3QgZWdhbCwgd2FubiwKSGF1cHRzYWNoZSBQQVJUWSEKCkhvYm8KLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWndpc2NoZW5lcmdlYm5pcyAoV3VyemVsLCAxMi4gSmFuIDE5OTgsIDE4OjQxOjM0KToKfiMhIHJuPUhvYm8gcnQ9ODg0NTk3MjUwIHJnPXBhcnR5Cn4jISB0aWQ9ODg0NDczOTcwCmhtLCBzZW1lc3RlcmZlcmllbi4uLiBsYW5nIGxhbmcgaXN0cyBoZXIsIGFiZXIgaWNoIGthbm4gbWljaCBlcmlubmVybiwgZGEgCmltbWVyIG1hbG9jaHQgenUgaGFiZW4gd2llIGVpbiB0aWVyLCBkYW1pdCBpY2ggbWljaCBpbSBuYWVjaHN0ZW4gc2VtZXN0ZXIKd2llZGVyIGF1c3J1aGVuIGtvbm50ZS4uLiBhYmVyIGVnYWwsIGxpZWJlciBuZSBzcGFldGUgd2ludGVycGFydHkgYWxzIGdhcgprZWluZSA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBad2lzY2hlbmVyZ2VibmlzIChLZXksIDEyLiBKYW4gMTk5OCwgMTk6NDU6MTMpOgp+IyEgcm49V3VyemVsIHJ0PTg4NDYyNjg5NCByZz1wYXJ0eQp+IyEgdGlkPTg4NDQ3Mzk3MApIbW0gYWxzbyBtYWwgenUgZGVuIFNlbWVzdGVyZmVyaWVuIC4uLgpXZW5uIGlociBkYSBGZXJpZW4gaGFidCBoYWIgaWNoIG5vY2ggbGFuZ2Uga2VpbmVuIFVybGF1YiAuLi4gQWxzbyB3YXMgc29sbHM/CjopCgpOZSBQYXJ0eSBhbiBuZW0gU2Ftc3RhZyBrYW5uIG1hbiBhdWNoIGxvY2tlciBtYWNoZW4gd2VubiBtYW4gYW4gZGVtIGZvbGdlbmRlbgpNb250YWcgd2llZGVyIGFyYmVpdGVuIG11c3MgLi4uIGljaCBoYWIgZGFtaXQgenVtaW5kZXN0IGtlaW5lIHByb2JzIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBad2lzY2hlbmVyZ2VibmlzIChLYXJ0b2ZmZWwsIDEzLiBKYW4gMTk5OCwgMjE6NTY6NDgpOgp+IyEgcm49S2V5IHJ0PTg4NDYzMDcxMyByZz1wYXJ0eQp+IyEgdGlkPTg4NDQ3Mzk3MAoKSm8sIHJlY2h0IGhhdCBlciwgZGVyIEtleS4KVW5kIHp1IGRlciBUZXJtaW5mcmFnZS4uLgpJY2ggc29sbCBiaXMgTUFJIHdhcnRlbiBhdWYgZGllIG5hZWNoc3RlIEZldGU/Pz8gQXVjaCBtYWwgYW4gc28gdW5hbmdlbmVobWUKRGluZ2Ugd2llIEVudHp1Z3NlcnNjaGVpbnVuZ2VuIGdlZGFjaHQ/CgpLYXJ0b2ZmZWwgLWZhZWxsdCBncmFkIGVpbiwgZGFzcyBzaWUgYW0gZXJzdGVuIE1haSBzb2dhciBub2NoIGltIFVybGF1YiBpc3QsCmRhbmIgZGF1ZXJ0cyBqYSBub2NoLi4uICpmYWxsIHVtKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFpLVRlcm1pbiB1bmJlbGllYnQgKEZyZXVuZCwgMTQuIEphbiAxOTk4LCAxMjoxMDoxNCk6CkhpLAoKbmFjaCBkZW0gU3RhbW10aXNjaCBnZXN0ZXJuIGhhYmUgaWNoIGRlbiBFaW5kcnVjaywgZGFzcyBzZWhyIHZpZWxlIExldXRlIGVpbgplcmhlYmxpY2hlcyBQcm9ibGVtIG1pdCBlaW5lciBNRy1NYWktRmV0ZSBoYWJlbi4gSWNoIGthbm4gZGllcyBpbiBrZWluc3RlcgpXZWlzZSBuYWNodm9sbHppZWhlbiwgbmVobWUgZGFzIGFiZXIgZXJzdGF1bnQgKHVuZCBhdWNoIHVlYmVyaGF1cHQgbmljaHQKc2F1ZXI6LSkgenVyIEtlbm50bmlzLiBEYWhlciB3aXJkIGVzIHdvaGwgZXJzdCBlaW5lIFNvbW1lci1GZXRlIGdlYmVuLCBkYQpuaWNodCBkYW1pdCB6dSByZWNobmVuIGlzdCwgZGFzcyBpcmdlbndlciBpbiBkZXIgTGFnZSBzZWluIHdpcmQsIG5vY2ggZnVlcgpGZWJydWFyIGVpbmVuIEZldGVucmF1bSBzYW10IFVlYmVybmFjaHR1bmdzbW9lZ2xpY2hrZWl0ZW4gZmV1ciAxNTAgTXVkZGVyIHBsdXMKT3JnYW5pc2F0aW9uIGRlcyBFaW5rYXVmcyB1bmQgZmluYXppZWxsZW4gS3JhbSB6dSBlcmxlZGlnZW4uIFNPIGdlaHQgZGFzLgoKVW0gZWluZW4gc29sY2hlbiBVbXN0YW5kIGltIFNvbW1lciBuaWNodCBub2NoIGVpbm1hbCBlcnRyYWdlbiB6dSBtdWVzc2VuLApzY2hsYWdlIGljaCB2b3IsIGRhc3MgZWluaWdlIExldXRlIHNpY2ggbWFsIEdlZGFua2VuIG1hY2hlbiwgb2Igc2llIGVpbmUgRmV0ZQphdXN0cmFnZW4ga29lbm5lbiwgdW5kIGVudHdlZGVyIGhpZXIgcG9zdGVuIG9kZXIgbWlyIG1haWxlbi4KCkRhIGVpbmUgUGFydHkgaW4gTXVlbnN0ZXIgZWggaW1tZXIgZWluZSByZWNodCB1bmdsdWVja2xpY2hlIFdhaGwgZGFyc3RlbGx0LAp3YXMgZGllIGdlb2dyYXBoaXNjaGUgTGFnZSBpbm5lcmhhbGIgRGV1dHNjaGxhbmRzIGJldHJpZmZ0LCBrb2VubmVuIHdpcgp2aWVsbGVpY2h0IGVpbmVuIGFuZGVyZW4gT3J0IGZpbmRlbiwgZGVyIHplbnRyYWxlciBnZWxlZ2VuIGlzdD8KCkZhbGxzIGJpcyBFbmRlIEFwcmlsIG5vY2gga2VpbmVyIGJlcmVpdCBpc3QsIFplaXQgdW5kIEVuZXJnaWUgenUKdmVyKHNjaCl3ZW5kZW4sIGRlbmtlIGljaCBub2NoIGVpbm1hbCB1ZWJlciBlaW5lIG1vZWdsaWNoZSBPcmdhbmlzYXRpb24gaW4gTVMKbmFjaC4KCkZyZXVuZCwgd2llZGVyIGF1ZiBkZW0gQm9kZW4gZGVyIFRhdHNhY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWktVGVybWluIHVuYmVsaWVidCAoSGFuZ292ZXIsIDE0LiBKYW4gMTk5OCwgMTI6NDc6MjcpOgp+IyEgcm49RnJldW5kIHJ0PTg4NDc3NjIxNCByZz1wYXJ0eQp+IyEgdGlkPTg4NDc3NjIxNApNb2luIQoKRGEgbXVzcyBpY2ggamEgZXJzdG1hbCB3YXMgenUgc2FnZW4uLi4KCkVyc3RlbnMgd2lyZCBlcyBpbW1lciBzbyBzZWluLCBkYXNzIExldXRlbiBkZXIgVGVybWluIGZ1ZXIgZWluZSAKTUcgUGFydHkgYXVzIGlyZ2VuZGVpbmVtIEdydW5kIG5pY2h0IGluIGRlbiBLcmFtIHBhc3N0LCBzb3dhcwpwYXNzaWVydCBlaW5mYWNoLiAKWndlaXRlbnM6IGdlZ2VudWViZXIgZGVuIExldXRlbiwgZGllIGpldHp0IGxhbWVudGllcmVuIHN0ZWh0CihtZWluZSBNZWludW5nIG5hY2gpIGF1Y2ggZWluZSBncm9zc2UgWmFobCBhbiBMZXV0ZW4sIGRpZSBhdWYKamVkZW4gRmFsbCBlaW5lIE1HLVBhcnR5IHdvbGxlbiB1bmQgendhciBzbyBzY2huZWxsIHdpZSBtb2VnbGljaCA7KQoKQWxzbyBsYXNzIERpY2ggbmljaHQgZW50bXV0aWdlbiBGcmV1bmQsIHVuZCBhdWNoIHdlbm5zIHN0YXR0CmRlciAxNTAgTGV1dGUgbWFsIG51ciA3MC0xMDAgd2VyZGVuLCBoYWJlbiB6dW1pbmRlc3QgZGllc2UKTGV1dGUgZWluZSBNZW5nZSBTcGFzcy4gV2FzIGRpZSBPcnRzd2FobCBhbmdlaHQ6IHdlbXMgbmljaHQKcGFzc3Qgd2Vyd2Vpc3N3b2hpbiB6dSBmYWhyZW4gbW9lZ2UgZG9jaCBzZWhlbiwgZGFzcyBlciB3YXMKYW4gc2VpbmVtIExpZWJsaW5nc29ydCBhdWYgZGllIEJlaW5lIHN0ZWxsdCAtIG9kZXIgZXIgbW9lZ2UKZGVuIE11bmQgaGFsdGVuIDopCgpIYW5nb3ZlcgooZGVyIGF1ZiBqZWRlbiBGYWxsIGVpbmUgUGFydHkgd2lsbCkgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFpLVRlcm1pbiB1bmJlbGllYnQgKFdhcmdvbiwgMTQuIEphbiAxOTk4LCAxMzo0Nzo1Myk6Cn4jISBybj1IYW5nb3ZlciBydD04ODQ3Nzg0NDcgcmc9cGFydHkKfiMhIHRpZD04ODQ3NzYyMTQKV2VubiBMdXppZSBkaWUgVmVyZWluc3NhdHp1bmcgcmljaHRpZyBpbnRlcnByZXRpZXJ0IGhhdCAoIDopICksIG11c3MgaW0gZXJzdGVuClF1YXJ0YWwgZWggbm9jaCBuZSBWb2xsdmVyc2FtbWx1bmcgc3RhdHRmaW5kZW4uIERhcmFuIGtvZW5udGUgc2ljaCBkYW5uCm5hdHVlcmxpY2ggbm9jaCBlaW4gd2llIGF1Y2ggaW1tZXIgZ2UtICh1bmQgaGludGVyaGVyIGJlc3RpbW10IGVudC0pYXJ0ZXRlcwpnZW11ZXRsaWNoZXMgQmVpc2FtbWVuc2VpbiBhbnNjaGxpZXNzZW4uClNvIHd1ZXJkZW4genVtaW5kZXN0IFZlcmVpbnNtaXRnbGllZGVyIGluIGRlbiBHZW51c3MgZWluZXMgcGFydHlhZWhubGljaGVuClZlcmFuc3RhbHR1bmcga29tbWVuLiA6KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWktVGVybWluIHVuYmVsaWVidCAoUmlrdXMsIDE0LiBKYW4gMTk5OCwgMjM6Mzc6MjEpOgp+IyEgcm49SGFuZ292ZXIgcnQ9ODg0Nzc4NDQ3IHJnPXBhcnR5Cn4jISB0aWQ9ODg0Nzc2MjE0CmVzIGlzdCBzaWNoZXJsaWNoIHNvLCBkYXNzIHNpY2ggZmF0cyBudXIgZGllamVuaWdlbiB6dSBXb3J0IG1lbGRlbiwKZGVuZW4gZGVyIFRlcm1pbiBuaWNodCBwYXNzdCwgZGllLCBkZW5lbiBlciB6dXNhZ3QsIGFiZXIgbml4IHNhZ2VuLgpWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gbWFsIG5lIFJ1bmRmcmFnZSBtYWNoZW4gdW5kIHNlaGVuLCB3aWV2aWVsZQplcyBuYWNoIE11ZW5zdGVyIHppZWhlbiB3dWVyZGUuLi4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYWktVGVybWluIHVuYmVsaWVidCAoT3JrdG9ldGVyLCAxNS4gSmFuIDE5OTgsIDEyOjAxOjIwKToKfiMhIHJuPVJpa3VzIHJ0PTg4NDgxNzQ0MSByZz1wYXJ0eQp+IyEgdGlkPTg4NDc3NjIxNApBbHNvIGljaCBLb2VubnRlIG1vY2ogbWl0IGRlbSBnZXBsYW50ZW4gTWFpdGVybWluIGFuZnJldW5kZW4uIFZvbiBMZWlhIHVuZApCbGVlbHVtcGUgd2Vpc3MgaWNoLCBkYXMgZGVuZW4gZGVyIFRlcm1pbiBhdWNoIHBhc3NlbiB3dWVyZGUsIGRhaGVyIG1laW4gQml0dGUKOiBPcmdhbmlzaWVyIGVzIEZyZXVuZCAhIQoKUFMgd2FzIGlzdCBtaXQgZGVuIERvcnRtdW5kZXJuID8gRGFzIGxldHplIHdhcyBpY2ggZ2Vob2VydCBoYWJlIHdhciwgZGFzIGVzCmVpbmVuIFJhdW0gZ2FlYmUsIGFiZXIgbm9jaCBuYWNoIGVpbmVyIEhhbGxlIHp1bSBVZWJlcm5hY2h0ZW4gZ2VzdWNodCB3aXJkLgpEYXMgc29sbHRlIGRvY2ggenUgbG9lc2VuIHNlaW4gPz8KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1haS1UZXJtaW4gdW5iZWxpZWJ0IChCb2luZywgMTUuIEphbiAxOTk4LCAxODo0Nzo0MSk6Cn4jISBybj1IYW5nb3ZlciBydD04ODQ3Nzg0NDcgcmc9cGFydHkKfiMhIHRpZD04ODQ3NzYyMTQKR2VuYXUhIEljaCBtdXNzIEhhbmdvdmVyIGhpZXIgdm9sbCB6dXN0aW1tZW4hIERhcyBtaXQgZGVyIHdlaXRlbiBGYWhydCAKd2FyIHVlYnJpZ2VucyBhdWNoIGRlciBHcnVuZCwgZGFzcyB3aXIgbGV0enRlcyBKYWhyIGRpZSBGZXRlIGluCkthcmxzcnVoZSBnZW1hY2h0IGhhYmVuLiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYWktVGVybWluIHVuYmVsaWVidCAoQ2F0d2VhemxlLCAxNS4gSmFuIDE5OTgsIDE5OjI2OjQ4KToKfiMhIHJuPUJvaW5nIHJ0PTg4NDg4NjQ2MSByZz1wYXJ0eQp+IyEgdGlkPTg4NDc3NjIxNApOYSwgZGFubiBtYWNoIGRhcyBkb2NoIGRpZXNlcyBKYWhyIG5vY2htYWwgOi0pCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVycGFydHkgMTk5OCBpbiBEb3J0bXVuZD8hPyAoVGVkZHksIDIyLiBKYW4gMTk5OCwgMDA6NDg6MTIpOgpIaWhvIGlociBTdWVjaHRpZ2VuIG1pdCB1bmQgb2huZSBFbnR6dWdzZXJzY2hlaW51bmdlbi4gKEphLCB3aXIga29lbm5lbgpqZWRlcnplaXQgYXVmaG9lcmVuLCB3aXIgd29sbGVuIG51ciBuaWNodCkKCkRhIEZyZXVuZCBkaWUgUGFydHkgYW0gMS4gTWFpIGFiZ2VzYWd0IGhhdCwgdmVyc3VjaGUgaWNoIHp1ciB6ZWl0LCBhbSBsZXR6dGVuCk1hZXJ6d29jaGVuZW5kZSwgYWxzbyB2b20gMjcuIGJpcyAyOS4gZGllIE1HLVdpbnRlcnBhcnR5IHp1IG9yZ2FuaXNpZXJlbi4KT2J3b2hsIGRhcyBQbGFudW5nc2tvbW1pdGVlIGJlc3RlaGVuZCBhdXMgQWxpbmUsIEtudXJ0IHVuZCBtaXIgc2Nob24gYmVpbmFoZQp1ZWJlcmZ1ZWxsdCBpc3QsIHdlcmRlbiBIZWxmZXIgd2VpdGVyaGluIGdlcm5lIGF1Zmdlbm9tbWVuLgpEZXIgZGVyemVpdGlnZSBTdGFuZCBkZXIgRGluZ2UgaXN0LCBkYXMgaWNoIHZlcnN1Y2hlLCBlaW5lClVlYmVybmFjaHR1bmdzbW9lZ2xpY2hrZWl0IHp1IGJla29tbWVuIHVuZCBBbGluZSB2ZXJzdWNodCwgZWluZW4gUGFydHlyYXVtIHp1Cm9yZ2FuaXNpZXJlbi4KU29sbHRlIGljaCBiaXMgbmFlY2hzdGVuIE1vbnRhZyBrZWluZSB0cmlmdGlnZW4gZ2VnZW5hcmd1bWVudGUgZ2Vob2VydCBoYWJlbiwKd2VyZGUgaWNoIGJlaSBkZXIgU3RhZHQgRG9ydG11bmQgZWluZW4gZW50c3ByZWNoZW5kZW4gQW50cmFnIGVpbnJlaWNoZW4uCldlbm4gYWxsZXMga2xhcHB0LCBrb2VubnRlIHNvZ2FyIGRpZSBWViBkZXMgRm9lcmRlcnZlcmVpbnMgbm9jaCBhdWYgZGVyIFBhcnR5CnN0YXR0ZmluZGVuLCBkYSBlcyBub2NoIGltIGVyc3RlbiBRdWFydGFsIGxpZWd0LCBhYmVyIGRhcyBpc3QgbmljaHQgbWVpbmUKU2FjaGUuCgpTbywgZGFzIHdhcidzIGZ1ZXJzIGVyc3RlLCBhbHNvIGtlaW5lIGdhcmFudGllIGFiZXIgZWluIGxldHp0ZXIgVmVyc3VjaCBmdWVyCm5lIFdpbnRlcnBhcnR5LgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChUYW5nYWx1ciwgMjIuIEphbiAxOTk4LCAwOTozNjozNyk6Cn4jISBybj1UZWRkeSBydD04ODU0MjY0OTIgcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKSG1tbSBkYXMgaXN0IGphIGVpZW4gV29jaGUgbmFjaCBGcnVlaGxpbmdzYW5mYW5nLgpEYW5uIG11ZXNzdGUgZXMgZWlnZW5ndGxpY2ggRnJ1ZWhsaW5nc3BhcnR5CmhlaXNzZW4uIFdpZSBkZW0gYXVjaCBzZWkgUGFydHkgaXN0IFBhcnR5IDotKQoKVGFuZ2FsdXIgRmV1ZXJ0YXR6ZQoKUC5TLjogaGFldHRlIGF1Y2ggbml4IGdlZ2VuIGRlbiBNYWkgVGVybWluIGdlaGFidAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChNaW5nbywgMjIuIEphbiAxOTk4LCAxMDowMzo0MCk6Cn4jISBybj1UYW5nYWx1ciBydD04ODU0NTgxOTcgcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKRW5kZSBNYWVyeiBpc3QgcHJpbWEuIFdhbm4vd2llL3dvIHdpcmQgUGFydHlicmV0dCBhdWZnZXN0ZWxsdC9hbmdld29yZmVuPwoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbnRlcnBhcnR5IDE5OTggaW4gRG9ydG11bmQ/IT8gKFRlZGR5LCAyMi4gSmFuIDE5OTgsIDEwOjE5OjMzKToKfiMhIHJuPU1pbmdvIHJ0PTg4NTQ1OTgyMCByZz1wYXJ0eQp+IyEgdGlkPTg4NTQyNjQ5MgpVbSdzIG5vY2htYWwga2xhcnp1c3RlbGxlbjogRGllIFBhcnR5IGlzdCBub2NoIG5pY2h0IHNpY2hlci4KSWNoIGhhYmUgZGVuIFRlcm1pbiB6dXIgRGlza3Vzc2lvbiBnZXN0ZWxsdCB1bmQgd2lyIFZFUlNVQ0hFTiBkaWUgUmFldW1lIHp1CmJla29tbWVuLCBtb2VnbGljaHN0IG5vY2ggenVzYW1tZW5oYWVuZ2VuLgoKVGVkZHksIGhvZmZlbnRsaWNoIGRldXRsaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChGcmV1bmQsIDIyLiBKYW4gMTk5OCwgMTA6MTk6MzUpOgp+IyEgcm49TWluZ28gcnQ9ODg1NDU5ODIwIHJnPXBhcnR5Cn4jISB0aWQ9ODg1NDI2NDkyCkhpLAoKLi4udW5kIGltIFNvbW1lciBtYWNoZW4gd2lyIGRhbm4gaW4gTXVlbnN0ZXIgZWluZSBTb21tZXJwYXJ0eS4KU28gaGFiZW4gd2lyIGRhbm4gd2llZGVyIGFsbGUgVGVybWluZSwgd2llIGVzIGRpZSBUcmFkaXRpb24gdmVybGFuZ3QuCgpGcmV1bmQsIHN0ZWxsdCBpbSBNYWkgZGFubiBlaW5lbiBBbnRyYWcgYXVmIGVpbmUgSGFsbGUgaW4gTVMgZnVlciAKQVVndXN0Li4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVycGFydHkgMTk5OCBpbiBEb3J0bXVuZD8hPyAoR29yb2csIDIyLiBKYW4gMTk5OCwgMTA6MzE6NDQpOgp+IyEgcm49VGVkZHkgcnQ9ODg1NDI2NDkyIHJnPXBhcnR5Cn4jISB0aWQ9ODg1NDI2NDkyCkpvIGd1dGUgSWRlZS4gSWNoIGtvbW0gYmVzdGltdCwgZXMgc2VpIGRlbm4gZXMga29tbXQgd2FzIGJvZXNlcyBkYXp3aXNjaGVuLgoKR29yb2csIGRlciB3aXJrbGljaCBqZWRlcnplaXQgYXVmaG9lcmVuIGthbm4gbWl0IG11ZGRlbiwgbnVyIGdlcmFkZSBoZXV0ZQpuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChIYXJkaWwsIDIzLiBKYW4gMTk5OCwgMTM6NTI6MDEpOgp+IyEgcm49VGVkZHkgcnQ9ODg1NDI2NDkyIHJnPXBhcnR5Cn4jISB0aWQ9ODg1NDI2NDkyCgpKdW5ncywgTWFlZGVscyAtIAp3ZW5uIGlociBuZSBQYXJ0eSBtYWNodCwgZGFubiBzdWNodCBFdWNoIGRvY2ggYml0dGUgZWluIFdvY2hlbmVuZGUgYXVzLCBhbiBkZW0KbmljaHQgYW5kZXJlIE11ZHMgYmVyZWl0cyBNdWRwYXJ0aWVzIG1hY2hlbi4KRGFzIGZ1ZWhydCBuYWVtbGljaCBudXIgZGF6dSwgZGFzcyAgYWxsZSB1bnp1ZnJpZWRlbiBzaW5kLCB3ZWlsIGltbWVyIGdlbmF1CmRpZSBMZXV0ZSwgZGllIG1hbiBnZXJuZSB0cmVmZmVuIHd1ZXJlLCBnZXJhZGUgaW4gZGVyIGFuZGVyZW4gU3RhZHQgYmVpIGRlcgphbmRlcmVuIFBhcnR5IHNpbmQuCgpVbmQgYW0gMjcuLzI4LiBNYWVyeiBpc3QgaGFsdCBiZXJlaXRzIEFuZGVybGFuZC1QYXJ0eSBpbiBLYWlzZXJzbGF1dGVybi4KRnJhZ3QgQ2hlYXN5LgoKLUhhcmRpbC4gTW9lY2h0ZSBhdWNoIGVuZGxpY2ggbWFsIEFzbW9kaXMsIGRhcyBQaGFudG9tLCBzZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVycGFydHkgMTk5OCBpbiBEb3J0bXVuZD8hPyAoSGFuZ292ZXIsIDIzLiBKYW4gMTk5OCwgMTM6NTM6MjApOgp+IyEgcm49SGFyZGlsIHJ0PTg4NTU1OTkyMSByZz1wYXJ0eQp+IyEgdGlkPTg4NTQyNjQ5MgpNb2luIEhhcmRpbCEKClZlcnN0ZWhlIGJpdHRlIGF1Y2ggRFUsIGRhc3MgZXMga2VpbiBwZXJmZWt0ZXMgV29jaGVuZW5kZSBmdWVyIGVpbmUKUGFydHkgZ2lidCwgZXMgd2lyZCBpbW1lciBMZXV0ZSBlZ2JlbiwgZGVuZW4gZGVyIFRlcm1pbiBhdXMgaXJnZW5kZWluZW0KR3J1bmQgbmljaHQgcGFzc3QuIERhcyBpc3QgaGFsdCBQZWNoLiAKCkhhbmdvdmVyLApkZW0gZGllc2VzIFRlcm1pbmdlamFtbWVyIHp1bmVobWVuZCBhdWYgZGllIE5lcnZlbiBnZWh0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChIYXJkaWwsIDIzLiBKYW4gMTk5OCwgMTQ6MDI6MTApOgp+IyEgcm49SGFuZ292ZXIgcnQ9ODg1NTYwMDAwIHJnPXBhcnR5Cn4jISB0aWQ9ODg1NDI2NDkyCgpEYXMgc29sbCBrZWluIFRlcm1pbmdlamFtbWVyIHNlaW4sCmljaCBmaW5kZSBlcyBudXIgc2NoZWlzc2UsIHdlbm4gZWluZSBNdWRwYXJ0eSBkZXIgYW5kZXJlbiBkaWUgTGV1dGUgd2VnbmltbXQuCkRhIGJla2xhZ2UgbnNpY2ggYWxsZSBkYXVlcm5kLCBkYXNzIGVzIHp1IHdlbmlnIFBhcnR5cyBnaWJ0LCBhYmVyIHdlbm4gZXMgZGFubgptYWwgZWluZSBnaWJ0LCBkYW5uIGdsZWljaCB6d2VpIGFtIHNlbGJlbiBXb2NoZW5lbmRlLgpVbmQgREFTIGlzdCBkb2NoIGVjaHQgZGFuZWJlbi4KCi1IYXJkaWwuCkZhZWhydCBsaWViZXIgYXVmICduZSBBTC1QYXJ0eSBpbiBLTCwgYWxzIGluIERvcnRtdW5kIHp1IGJsZWliZW4gdW5kIGRvcnQgJ25lCk1HLVBhcnR5IHp1IGJlc3VjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ludGVycGFydHkgMTk5OCBpbiBEb3J0bXVuZD8hPyAoQm9pbmcsIDIzLiBKYW4gMTk5OCwgMTY6NDM6MzgpOgp+IyEgcm49SGFyZGlsIHJ0PTg4NTU2MDUzMCByZz1wYXJ0eQp+IyEgdGlkPTg4NTQyNjQ5MgpJc3QgZG9jaCBndXQsIHdlbm4gZGllIFBhcnR5IG1hbCBuaWNodCBnYW56IHNvIGdpZ2FudGlzY2hlIEF1c21hc3NlCmFubmltbXQuIFZpZWxlIExldXRlIHNpbmQga2VpbiBHYXJhbnQgZnVlciBlaW5lIGd1dGUgUGFydHkhCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcnBhcnR5IDE5OTggaW4gRG9ydG11bmQ/IT8gKFd1cnplbCwgMjMuIEphbiAxOTk4LCAxOToyNjowMCk6Cn4jISBybj1Cb2luZyBydD04ODU1NzAyMTggcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKYXVzc2VyZGVtOiBoYWJlbiBkaWUgYW5kZXJsYWVuZGVyIHVucyBnZWZyYWd0PyBpY2ggZmFlbmRlIGVzIHp3YXIgYXVjaApiZXNzZXIsIHdlbm4gZGFzIGRpc2p1bmt0IHdhZXJlLCBhYmVyIGFuZGVyZXJzZWl0cyBzb2xsdGVuIHdpciBmcm9oIHNlaW4sCmRhc3Mgc2ljaCBqZW1hbmQgYmVyZWl0ZXJrbGFlcnQgd2FzIHp1IG1hY2hlbi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2ludGVycGFydHkgMTk5OCBpbiBEb3J0bXVuZD8hPyAoSGFyZGlsLCAyNC4gSmFuIDE5OTgsIDE5OjAzOjM5KToKfiMhIHJuPVd1cnplbCBydD04ODU1Nzk5NjAgcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKCld1cnplbDoKRGVyIEFMLVBhcnR5LVRlcm1pbiBzdGVodCBzY2hvbiBzZWl0IDYgb2RlciA4IFdvY2hlbiBmZXN0LgpEZXIgbW9lZ2xpY2hlICoqLVBhcnR5LVRlcm1pbiBlcnN0IHNlaXQgZWluIHBhYXIgVGFnZW4uIFVuZCBzb2xhbmdlIG5vY2ggbml4CmZlc3RnZWJ1Y2h0IGlzdCwgc29sbHRlIG1hbiB2ZXJzdWNoZW4sIFVlYmVyc2NobmVpZHVuZ2VuIHp1IHZlcm1laWRlbi4KRGVubiBzb25zdCBtYWNodCBzaWNoIHdhaHJzY2hlaW5saWNoIGplbWFuZCB6dSB2aWVsIEFyYmVpdC4gLT4gQ2hlYXN5Cm5hZW1saWNoLgoKbXkgNSBjZW50czoKCi1oYXJkaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdpbnRlcnBhcnR5IDE5OTggaW4gRG9ydG11bmQ/IT8gKE1pbmdvLCAyNC4gSmFuIDE5OTgsIDIwOjIzOjM5KToKfiMhIHJuPUhhcmRpbCBydD04ODU2NjUwMTkgcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKQmxvZWRzaW5uLiBWaWVsZSBNRy1QYXJ0eW11ZGRlciBsZWdlbiBzaWNoZXJsaWNoIG5pY2h0IFdlcnQgYXVmIGRpZQpBbmRlcmxhbmQtUGFydHkuIEljaCBzcGllbCBkYSBuaWNodCwgd3Vlc3N0ZSBuaWNodCwgZGFzcyBNYW5nbywKQW5uaWhpbGF0b3Igb2RlciBNYWhhdG1hIGRhIHNwaWVsdGVuLiBIYWJlbiB3aXIgc2Nob24gbWFsIHZpZXIKcG90ZW50aWVsbGUgTUctUGFydHknbG9ld2VuJy4gQWxzbyBzY2htZWlzc3QgZWluZmFjaCBtYWwgZWluClBhcnR5YnJldHQgcmF1cywgd2VubiBpaHIgc293ZWl0IHNlaWQgdW5kIGRhbm4gd2lyZCBzaWNoIHplaWdlbiwKd2VyIHdvaGluIHdpbGwuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2ludGVycGFydHkgMTk5OCBpbiBEb3J0bXVuZD8hPyAoWm9ycm8sIDI2LiBKYW4gMTk5OCwgMTA6NDc6NTgpOgp+IyEgcm49TWluZ28gcnQ9ODg1NjY5ODE5IHJnPXBhcnR5Cn4jISB0aWQ9ODg1NDI2NDkyCnRvbGxlcyBhcmd1bWVudCAuLi4gZmFrdCBpc3QgZG9jaCBkYXMgZGllIG1laXN0ZW4gQUwnZXIgYXVjaCBpbSBtZyBzcGllbGVuIHVuZAphdWNoIHdvaGwgYXVmIGJlaWRlIHBhcnRpZXMgd29sbGVuIC4uLiB3ZW5uIGJlaWRlIHBhcnRpZXMgYW0gZ2xlaWNoZW4gdGVybWluCnN0YXR0IGZpbmRlbiB3aXJkIHdvaGwgZGllIGFsLXBhcnRpZSBzZWhyIGtsZWluIHdlcmRlbiB3YXMgZ2VnZW51ZWJlciBkZW4gZG9jaApha3RpdmVyZW4gZmVzdGtvbWl0ZWUgZGVzIGFsJ3MgbmljaHQgYmVzb25kZXJzIGZhaXIgaXN0IC4uLgoKYWJlciBlZ2FsIC4uLgoKWm9ycm8gc2FndDogTmVobXQgbmVuIGFuZGVyZW4gVGFnIGZ1ZXIgZGllIE1HLUZldGUgLi4uIAouLi4gd2llIHdhZXJlIGVzIGRlbSB3ZSB3byBCb2NodW1zIGFic3RpZWcgYmVzaWVnZWx0IHdpcmQgLi4uIDMuLTUuIEFwcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChNaW5nbywgMjYuIEphbiAxOTk4LCAxMTo1MTowMik6Cn4jISBybj1ab3JybyBydD04ODU4MDgwNzggcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKSWNoIHdpbGwgaGllciBuaWNodCBzcGFsdGVuLCBhYmVyIGFuZGVyZXJzZWl0cyB3aWxsIGljaCBhdWNoICduZSBGZXRlLgoKR2xvaW4gc2FndDogV2VubiB3aXIgbm9jaCBsYW5nZSBydW1zY2hpZWJlbiwgZ2lidHMgd2lya2xpY2gga2VpbmUgV2ludGVyZmV0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChUZWRkeSwgMjYuIEphbiAxOTk4LCAxMjoyMToxMSk6Cn4jISBybj1NaW5nbyBydD04ODU4MTE4NjIgcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKSWNoIG11c3Mgd29obCBtYWwgZWluIGJpc3NjaGVuIHdhcyBrbGFyc3RlbGxlbjoKYS4pIERpZSBwYXJ0eSBzdGVodCBub2NoIG5pY2h0LCBpc3QgbmljaHQgZmVzdCB1bmQgTklDSFQgU0lDSEVSISEhCkljaCBob2ZmZSwgZGFzIGlzdCBqZXR6dCBlbmRsaWNoIG1hbCBydWViZXIgZ2Vrb21tZW4uCkRhcyBlaW56aWdlLCB3YXMgc2ljaGVyIGlzdCwgaXN0IGRlciBUZXJtaW4sIFdFTk4gU0lFIERFTk4gVUVCRVJIQVVQVApTVEFUVEZJTkRFVCAoTm9jaG1hbCBmdWVyIGRpZSwgZGllcyBuaWNodCB2ZXJzdGFuZGVuIGhhYmVuKS4KRGVyIFRlcm1pbiBpc3QgdW5zIHZvbiBkZXIgU3RhZHQgRG9ydG11bmQgYWxzIGVpbnppZyBtb2VnbGljaGVyIHZvcmdlZ2ViZW4Kd29yZGVuLgoKVGVkZHksIGhvZmZlbnRsaWNoIGRldXRsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdpbnRlcnBhcnR5IDE5OTggaW4gRG9ydG11bmQ/IT8gKFpvcnJvLCAyNi4gSmFuIDE5OTgsIDE0OjM5OjQ4KToKfiMhIHJuPVRlZGR5IHJ0PTg4NTgxMzY3MSByZz1wYXJ0eQp+IyEgdGlkPTg4NTQyNjQ5Mgp2b24gZGVyICJTZXVjaGVuc3RhZHQiIG5pY2h0IGFuZGVycyB6dSBlcndhcnRlbiAuLi4KCkljaCBzY2hsYWdlIHZvciB3aXIgYnJhbm5kc2NoYXR6ZW4gZGllIEFMLWZldGUsIGRhcyBpc3QgYmlsbGlnZXIgdW5kIG1hY2h0Cm1laHIgc3Bhc3MgCgpab3JybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChBc21vZGlzLCAyOS4gSmFuIDE5OTgsIDIxOjQ0OjAxKToKfiMhIHJuPUhhcmRpbCBydD04ODU1NTk5MjEgcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKUGZmdCwgd2FzIHNjaGVydCBtaWNoIEFuZGVybGFuZCA/PyAtLS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChBbGluZSwgMzAuIEphbiAxOTk4LCAwODoyMzo1Nik6Cn4jISBybj1Bc21vZGlzIHJ0PTg4NjEwNjY0MSByZz1wYXJ0eQp+IyEgdGlkPTg4NTQyNjQ5MgpIaSBUZXVmZWxjaGVuLAoKbnVuIHNhZyBibG9zcyBub2NoLCBEdSB3dWVyZGVzdCBuYWNoIERvcnRtdW5kIHp1ciBQYXJ0eSBrb21tZW4/CgpBbGluZSAoemllbWxpY2ggZXJzdGF1bnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJwYXJ0eSAxOTk4IGluIERvcnRtdW5kPyE/IChIYXJkaWwsIDMwLiBKYW4gMTk5OCwgMTE6MTI6MjMpOgp+IyEgcm49QXNtb2RpcyBydD04ODYxMDY2NDEgcmc9cGFydHkKfiMhIHRpZD04ODU0MjY0OTIKCkFsc28gQXNtb2RpcywgCmRpZXNlbiBBcnRpa2VsIGhhZXR0ZXN0IER1IGRhbm4gYWJlciBhdWNoIHN0aWx2b2xsIGFscyBHYXN0MSBzY2hyZWliZW4KbXVlc3NlbiwgbmV3YXI/IDopCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVyZmV0ZSAoUmluZ29yLCAxMi4gRmViIDE5OTgsIDEyOjQxOjQ5KToKQmV2b3IgamV0enQgYWxsZSBpbiBkaWUgU2VtZXN0ZXJmZXJpZW4gZW50c2Nod2luZGVuLCBnaWJ0cyBoaWVyIGVyc3RtYWwKWndpc2NoZW5lcmdlYm5pc3NlIHp1ciBXaW50ZXJmZXRlOgoKU28gd2llIGVzIG1vbWVudGFuIGF1c3NpZWh0LCBiZWtvbW1lbiB3aXIgX3dhaHJzY2hlaW5saWNoXyBzb3dvaGwgVHVybmhhbGxlCmFscyBhdWNoIFBhcnR5cmF1bSBpbiBEb3J0bXVuZC4gTWl0IFNpY2hlcmhlaXQga29lbm5lbiB3aXIgZGFzIGFiZXIgZXJzdApuYWVjaHN0ZSBXb2NoZSBzYWdlbiwgd2VubiB3aXIgZGFzIGFsbGVzIHNjaHJpZnRsaWNoIGhhYmVuLgoKRGVyIFRlcm1pbiB3YWVyZSBsZWlkZXIgemVpdGdsZWljaCB6dXIgQUwtRmV0ZS4gRGFzIGxhZXNzdCBzaWNoIGhpZXIgZGFuayBkZXIKVm9yZ2FiZW4gZGVyIFN0YWR0LCB3YXMgZGllIFR1cm5oYWxsZSBhbmdlaHQsIGxlaWRlciBuaWNodCBhbmRlcnMgbG9lc2VuLiBTb2xsCmhlaXNzZW46IGVzIGlzdCBkYXMgV29jaGVuZW5kZSB2b20gMjcuIGJpcyAyOS4gTWFlcnogZ2VwbGFudC4KCkFsc286IFRlcm1pbiBmcmVpaGFsdGVuIHVuZCBuYWVjaHN0ZSBXb2NoZSBpbiBkaWUgTVBBIHNjaGF1ZW4uIERhbm4gZ2lidHMKZ2VuYXVlcmUgSW5mb3JtYXRpb25lbi4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcmZldGUgKExhcmlzc2EsIDEyLiBGZWIgMTk5OCwgMTI6NDY6MTgpOgp+IyEgcm49UmluZ29yIHJ0PTg4NzI4MzcwOSByZz1wYXJ0eQp+IyEgdGlkPTg4NzI4MzcwOQoKKnVtYXJtKiAqd3VzY2hlbCogKmRydWVjayoKCkxhcmksIFBBUlRZIFBBUlRZIFBBUlRZCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcmZldGUgKEtleSwgMTQuIEZlYiAxOTk4LCAxODozMzozMik6Cn4jISBybj1MYXJpc3NhIHJ0PTg4NzI4Mzk3OCByZz1wYXJ0eQp+IyEgdGlkPTg4NzI4MzcwOQpKYWphIGRpZXNlIEp1Z2VuZCB2b24gaGV1dGUgLi4uLgpJbW1lciBudXIgUGFydGllcyBmZWllcm4gd29sbGVuZCA6KQoKS2V5LCBhbHQgZ2VicmVjaGxpY2ggdW5kIG5hdHVlcmxpY2ggbXVlZGUgYmVpIGRlciBPbmxpbmV6ZWl0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJmZXRlIChLZXksIDE0LiBGZWIgMTk5OCwgMTg6MzQ6MDMpOgp+IyEgcm49S2V5IHJ0PTg4NzQ3NzYxMiByZz1wYXJ0eQp+IyEgdGlkPTg4NzI4MzcwOQpBcmdzISBNaXN0IC4uLiBQLlMuIHZlcmdlc3NlbiAsKQpBbHNvOgpQLlMuOiBEYW5rZSBSaW5nb3IhISEhICpodWVwZiogOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVyZmV0ZSA5OCAoRnJldW5kLCAzMC4gTWFyIDE5OTgsIDE3OjUwOjMzKToKS2F1bSBpc3QgZGllIEZydWVobGluZ3MtRmV0ZSAoendpbmtlciBRaXRlc3MpIHZvcmJlaSwgc2Nob24gYmVnaW5udCBmdWVyIG1pY2gKZGllIFBsYW51bmcgZGVyIFNvbW1lcmZldGUuIERhbWl0IGthbm4gbWFuIG5hZW1saWNoIG5pY2h0IGZydWVoIGdlbnVnCmJlZ2lubmVuLiBNaWNoIGludGVyZXNzaWVyZW4gaGllciBlaW4gcGFhciBQdW5rdGU6CjEuIEljaCBzdWNoZSBNVVNJS0VSLiBKYSwgaWhyIHNvbGx0ZXQgRXVlciBJbnN0cnVtZW50IGluIGVpbmVyIE11ZC1CYW5kCnNwaWVsZW4ga29lbm5lbiwgdW5kIGRhenUgbmljaHQgZ2VyYWRlIG51ciBDLUR1ciBncmVpZmVuIGtvZW5uZW4uIDotKSBCaXR0ZQptZWxkZXQgRXVjaCBtYWwuCjIuIFRlcm1pbi4gSWNoIGFyYmVpdGUgc2Nob24gc2VpdCBKYWhyZW4sIGFsc28gd2Vpc3MgaWNoIGdhciBuaWNodCBtZWhyLCBoYWJ0CmlociBlcyBsaWViZXIgaW4gZGVuIFNlbWVzdGVyLUZlcmllbj8gT2RlciBpbSBTZW1lc3Rlcj8gT2RlciB3YWVocmVuZCBkZXIKU2NodWxmZXJpZW4/IE9kZXIgZGFoaW50ZXI/IE9kZXIgZGF2b3I/CjMuIFdlciBtYWcgYmVpIGRlciBPcmdhbmlzYXRpb24gaGVsZmVuPwoKRnJldW5kLCBlcnN0ZSBTY2hyaXR0ZSBnZWhlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb3JyeSAoRnJldW5kLCAgMy4gTWFpIDE5OTgsIDEyOjA0OjM5KToKSGFsbG8uCgppY2ggc2VoZSBtaWNoIGxlaWRlciBnZXp3dW5nZW4sIG1pY2ggYXVzIHBlcnNvZW5saWNoZW4gR3J1ZW5kZW4gdm9tCk1vcmdlbkdyYXVlbiB6dXJ1ZWNrenV6aWVoZW4uIEljaCBob2ZmZSwgZXMgaXN0IGVpbnNlaGJhciwgZGFzcyBpY2ggc29taXQgYXVjaApuaWNodCBkaWUgU29tbWVycGFydHkgMTk5OCBvcmdhbmlzaWVyZW4ga2Fubi4gSWNoIGRlbmtlLCBkYXNzIHNpY2ggamVtYW5kCmFuZGVyZXMgZmluZGVuIHdpcmQsIGRlbm4gZXMgaXN0IGphIG5vY2ggZnJ1ZWgsIHVuZCBpY2ggaGF0dGUgZWggbm9jaCBuaWNodAptaXQgdGllZmdyZWlmZW5kZW4gUGxhbnVuZ2VuIGJlZ29ubmVuLCBkYSBpY2ggbm9jaCBhdWYgZGVuICJlLlYuIiB2b24KQ2F0d2VhemxlIGdld2FydGV0IGhhdHRlLgoKRXMgdHV0IG1pciBwZXJzb2VubGljaCBhdWZyaWNodGlnIGxlaWQsIEV1Y2ggZW50dGFldXNjaGVuIHp1IG11ZXNzZW4sIGFiZXIgZGFzCk11ZCBzb2xsdGUgZWluIEZyZWl6ZWl0dmVyZ251ZWdlbiBzZWluIHVuZCBpY2ggd3VyZGUgaGllciBtaXQgZGV1dGxpY2ggenUKdmllbGVuIFJMLVByb2JsZW1lbiBrb25mcm9udGllcnQuCgpGcmV1bmQsIHZpZWxsZWljaHQgc2VoZW4gd2lyIHVucyBlaW5lcyBUYWdlcyBpbiBlaW5lciBiZXNzZXJlcm4gV2VsdC4KClAuUy46IE1laW5lIExvZXNjaHVuZyB3aXJkIHNpY2ggbm9jaCBlaW4gcGFhciBUYWdlIGhpbnppZWhlbiwgYmlzIGljaCBhbGxlcyBpbgpkaWUgV2VnZSBnZWxlaXRldCBoYWJlbiB3ZXJkZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5ID8gKE9ya3RvZXRlciwgIDguIE1haSAxOTk4LCAxMjo0NDo0Myk6ClNjaGFkZSwgZGFzIEZyZXVuZCBuaWNodCBtZWhyIGlzdC4KQWJlciBqZXR6dCBzdGVsbHQgc2ljaCBkaWUgRnJhZ2UsIHdhbm4gdW5kIHdvIGlzdCBkaWUgU29tbWVycGFydHkgPwpBbHNvLCBldnRsLiBPcmdhbmlzYXRvcmVuIHZvciB1bmQgZGFubiBsb3MgIQoKT3JrVC4KClBTIE9iIGRhcyBhbSBXZXR0ZXIgZHJhdXNzZW4gbGllZ3QgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVyY2FtcDk4IChDYW1waW5nLCAyMC4gTWFpIDE5OTgsIDEyOjQ1OjM0KToKTW9pbiEKClVtIG1hbCBhdWYgZWluaWdlIFphaGxlbiB6dSBrb21tZW4sIHd1ZXJkZSBpY2ggZ2VybmUgd2lzc2VuLCBvYiAKSW50ZXJlc3NlIGFuIGVpbmVtIE1HLVNvbW1lcmNhbXAgaW4gTXVlbnN0ZXIgZ2VzdGVodC4gSW5zYmVzb25kZXJlCm1vZWNodGUgaWNoIGdlcm5lIGZydWVoemVpdGlnIGFic2NoYWV0emVuIGtvZW5uZW4sIHdpZXZpZWwga29tbWVuCnVuZCB3aWVsYW5nZSBzaWUgYmxlaWJlbi4KV2VyIEx1c3QgaGF0IHVuZCBpbiBkZXIgV29jaGUgMTcuLTIzLjguIGF1ZiBkZW0gQ2FtcGluZ3BsYXR6IGluIE11ZW5zdGVyCm1pdCBlaW5lbSBIYXVmZW4gZHVyY2hnZWtuYWxsdGVyIE11ZGRlciB2ZXJsZWJlbiBtb2VjaHRlLG1pdCBlaW5lbSBIYXVmZW4KZHVyY2hnZWtuYWxsdGVyIE11ZGRlciB2ZXJsZWJlbiBtb2VjaHRlLCBkZXIgc2NocmVpYmUKYml0dGUgCmRpZXNlbSBTcGllbGVyIChjYW1waW5nKSBlaW5lIGVudHNwcmVjaGVuZGUgbWFpbDoKV2FubiAoYWxzbyB3ZWxjaGUgVGFnZS4uTW8tU28gbW9lZ2xpY2gpCk1pdCB3YXMgZnVlciBlaW5lbSBaZWx0Li4uCkFsbGVpbj8gTWl0IG1laHJlcmVuIExldXRlbj8KVW5kIHdhcyBzb25zdCBub2NoIHNvIHdpY2h0aWcgc2VpbiBrb2VubnRlLi4uLgoKClBTOiBEZXIgVGVybWluIGlzdCBtaXQgVm9yc2ljaHQgenUgZ2VuaWVzc2VuLCBpY2ggc2FnIGRhcyBsaWViZXIgZ2xlaWNoLgogICAgRmFsbHMgd2lyIHp1IGVpbmVtIGFuZGVyZW4gVGVybWluIGVpbmVuIFBhcnR5cmF1bSBnZWtvbW1lbiwgdmVyc2NoaWVidAogICAgc2ljaCBkYXMgdVUgdW0gZWluZSBXb2NoZSB2b3Igb2RlciB6dXJ1ZWNrLi4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvbW1lcmNhbXA5OCAoQ2F0d2VhemxlLCAyNS4gTWFpIDE5OTgsIDA5OjMyOjE0KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODk2MDIxNDIzIHJnPXBhcnR5Cn4jISB0aWQ9ODk1NjYxMTM0CkRlZmF1bHRwcmVpc2U6CjcsLURNIHBybyBQZXJzb24uCkFiIDYsLURNIHBybyBaZWx0LgpEZXIgTWFubiBzYWd0ZSwgZXIgd3VlcmRlIHNpY2ggYXVmIGVpbmUgUGF1c2NoYWxlIGVpbmxhc3NlbiwgYWxzbyBpY2ggCnNjaGFldHplIG1hbCBkYXMgbGllc3NlIHNpY2ggYXVmIDVETSBwcm8gWmVsdCBvZGVyIFBlcnNvbiBkcnVlY2tlbi4KV2VtIGRhcyBzZWhyIHRldWVyIGVyc2NoZWludCwgZGVtIG11c3MgaWNoIHNhZ2VuLCBkYXMgRGVyIENhbXBpbmdwbGF0egppbiBNdWVuc3RlciBkZXIgbm9iZWxzdGUgaXN0LCBkZW4gaWNoIGJpc2hlciBnZXNlaGVuIGhhYmUuCkRhZnVlciBpc3QgZXIgdm9uIGRlciBMYWdlIF9pZGVhbF8uIEF1c3NlcmhhbGIgendhciwgYWJlciBtaXQgdmllbGVuIAp0b2xsZW4gZmVhdHVyZXMgZHJ1bXJ1bS4gCkRpcmVrdCBuZWJlbiBkZXIgV2llc2UgaXN0IGVpbiAnQm9senBsYXR6JywgZGlyZWt0IGdlZ2VudWViZXIgZGVzIENhbXBpbmctCnBsYXR6ZXMgaXN0IGVpbiBGcmVpYmFkIChjYS4gMzBtIDotKS4gVW0gZGllIEVja2UgaXN0IGVpbiBSZWl0ZXJob2YsIHVuZCBkZXIKQ2FtcGluZ3BsYXR6IGxpZWd0IGRpcmVrdCBhbiBkZXIgV2Vyc2UsIGF1ZiBkZXIgbWFuIEthbnVmYWhyZW4ga2Fubi4gCkJ1cyBpbiBkaWUgU3RhZHQgKDRrbSkgZ2lidHMgbmF0dWVybGljaCBhdWNoIHZvciBkZXIgSGF1c3R1ZXIuIAoKVW5kIHdlbm4gaWNoIHNjaG9uIHNvIHdlcmJlLCBtb2VjaHRlIGljaCBub2NobWFsIGRhcnVtIGJpdHRlbiwgc2ljaCBkb2NoCmJpdHRlIGJlaW0gU3BpZWxlciAnY2FtcGluZycgdmlhIG1haWwgenUgbWVsZGVuLCBvYiBtYW4gSW50ZXJlc3NlIGFtIENhbXBpbmcKaGF0LiBCaXNoZXIgaGFiZW4gc2ljaCBuYWVtbGljaCBsYXVzaWdlIDkgU3BpZWxlciBnZW1lbGRldCwgdW5kIGRhZnVlcgptaWV0ZSBpY2gga2VpbmVuIGdhbnplbiBQbGF0eiBhbi4KQWxzbywgd2VubiBEdSBuZSBXb2NoZSAob2RlciBtZWluZXR3ZWdlbiBuZSBoYWxiZSkga29tbWVuIHdpbGxzdCwgbWFpbGUgYXVmCl9qZWRlbiBGYWxsXyBhbiBDYW1waW5nLCBhdWNoIHdlbm4gRHUgbm9jaCBuaWNodCBzaWNoZXIgYmlzdCwgb2IgRHUgZGEgCmthbm5zdC4gSWNoIG1vZWNodGUgbmFlbWxpY2ggYmVyZWl0cyBBbmZhbmcgSnVuaSAoYWxzbyBuYWVjaHN0ZSBXb2NoZSkgaGluLQpnZWhlbiB1bmQgZGFzIGZydWVoemVpdGlnIGtsYXIgbWFjaGVuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlICh6dXZlcnNpY2h0bGljaCwgZGEgMyBSYXVtbW9lZ2xpY2hrZWl0ZW4gaW4gQXVzc2ljaHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0c2hpcnQgKENhdHdlYXpsZSwgMjUuIE1haSAxOTk4LCAxNDo1ODozMyk6Ck1vaW4hCgpXaWUgd2FlcnMgZGVubiBtaXQgbmVtIFBhcnR5LVRzaGlydD8KV2lsbHN0ZSBlaW5zIGhhYmVuPyBHZW5hdS4uLmljaCBhdWNoIDopCgpXaWUgaW1tZXIgZmVobHQgbmF0dWVybGljaCBlaW4gcGFzc2VuZGVzIE1vdGl2LiBBbHNvIG1hY2hlbiB3aXIgZG9jaCBtYWwKd2llZGVyIGVpbmVuIFdldHRiZXdlcmIuIAoKR2VzdWNodCB3aXJkOiBFaW4gYXVzc2Vyb3JkZW5saWNoIHNjaG9lbmVzIHVuZCB6dW0gTUcgcGFzc2VuZGVzIE1vdGl2IHp1cgogICAgICAgICAgICAgIFBhcnR5IE51bW1lciAxMCEKCldlbm4gRHUgZWlucyBoYXN0LCBvZGVyIGVpbnMgbWFsc3Qgb2RlciBlaW4gbWFsZW4gbGFzc2VuIGthbm5zdCwgb2RlciBhdWNoCm51ciBlaW5lIHNjaG9lbmUgSWRlZSBoYXN0LCBkYW5uIHNjaHJlaWIgYW4gZGVuIFNwaWVsZXIgdHNoaXJ0LiBHdXRlClZvcnNjaGxhZWdlCmhhZW5nIGljaCBkYW5uIGlucyBXZWIgenVtIGF1c3dhZWhsZW4uIApJY2ggZGVua2UgbWFsLCBlcyBnaWJ0IGF1Y2ggZWluZW4gUHJlaXMuIFdhcywgbXVzcyBpY2ggbWlyIG1hbCB1ZWJlcmxlZ2VuLgpFdmVudHVlbGwgc29nYXIgd2FzIGltIE11ZCwgYWJlciBkYSBtdXNzIGljaCB3b2hsIG5vY2ggbWl0IGVpbiBwYWFyIEVNcyByZWRlbgo6KQoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0c2hpcnQgYmVzdGVsbGVuIChDYXR3ZWF6bGUsIDI1LiBNYWkgMTk5OCwgMTU6MDM6MTgpOgpNb2luIQoKV2VubiBEdSBlaW4gdHNoaXJ0IGhhYmVuIG1vZWNodGVzdCwgZGFubiBiZXN0ZWxsIGJpdHRlIG1pdCBlaW5lciBtYWlsIGFuCmRlbiBTcGllbGVyIHRzaGlydDogc3ViamVjdCAnYmVzdGVsbHVuZyB2b24gPGluc2VydHlvdXJtdWRuYW1lPicKSW5oYWx0OiBHcm9lc3NlIChTLE0sTCxYTCxYWEwsWFhYWFhMKSwgQW56YWhsIChFbGVtZW50IG9mIHxOKSB1bmQgTXVkbmFtZSBkZXIKICAgICAgICBkcmF1ZnN0ZWhlbiBzb2xsLgoKRGFzIE1vdGl2IHdpcmQgc2ljaCBob2ZmZW50bGljaCB3b2hsIG5vY2ggZXJnZWJlbiA6KQoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXIgaW0gTmV0eiAoQmllbGVmZWxkLCAyOC4gTWFpIDE5OTgsIDE1OjE2OjA5KToKTW9pbiEKCk1laW5lIEJpbGRlciB2b24gZGVyIFdpbnRlci9GcnVlaGphaHJzcGFydHkgc2luZCBpbSBOZXR6LiBXZXIgc29uc3Qgbml4Cm1pdCBzZWluZXIgWmVpdCBhbmZhbmdlbiBrYW5uLCBzY2hhdSBzaWNoIG1hbCBmb2xnZW5kZSBVUkwgYW46CgpodHRwOi8vd3d3LmFzdGEudW5pLWhhbWJ1cmcuZGUvdXNlcnMvYWZ0ZXJnbG8vYmlsZGVyLwoKSmVtYW5kIGF1cyBCaWVsZWZlbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWxkZXIgaW0gTmV0eiAoTGFyaXNzYSwgMjkuIE1haSAxOTk4LCAwOTozODoyNyk6Cn4jISBybj1CaWVsZWZlbGQgcnQ9ODk2MzYxMzY5IHJnPXBhcnR5Cn4jISB0aWQ9ODk2MzYxMzY5CkhpaGksIApuZXR0ZSBCaWxkZXIsIGFsbGVyZGluZ3Mgc2luZCBkaWUgTmFtZW5zenV3ZWlzdW5nZW4gbmljaHQgaW1tZXIKZ2VsdW5nZW4gKmtpY2hlcioKCkxhcmkgOikKClBTIEhhYnQgaWhyIEV1Y2ggc2Nob24gZnVlcnMgY2FtcGluZyBhbmdlbWVsZGV0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFuZCA/IChHcm9vLCAgNi4gSnVuIDE5OTgsIDIzOjUyOjQ5KToKQWxsc28gU2NobGVpY2hlciAoR2l0dGFyZXJvKQp1bmQgaWNoICh0aGUgV2l6IGFwcmVudGljZSkgaGFiZW4gdW5zIG1hbCB6dXNhbW1lbmdlc2V0enQgdW5kIGVpbmUKU29uZ2xpc3QgenVzYW1tZW5nZXN0ZWxsdC4gU3RlbGx0IHNpY2ggZGllIEZyYWdlIDoKSGFiZW4gd2lyIG5lbiBTY2hsYWd6ZXVnZXIgPwpIYWJlbiB3aXIgbmVuIEJhc3Npc3RlbiA/CmdlZy4gU2FlbmdlciAvcmluID8KR2VidCBtYWwgbGF1dApHcm9vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFuZCA/IChZYXJlbiwgIDcuIEp1biAxOTk4LCAxNjoxODoxMyk6Cn4jISBybj1Hcm9vIHJ0PTg5NzE2OTk2OSByZz1wYXJ0eQp+IyEgdGlkPTg5NzE2OTk2OQpJY2ggd3VlcmRlIFNjaGxhZ3pldWcgc3BpZWxlbiwgYWJlciB6dXNhZ2VuIHR1ZSBpY2ggZXJzdCBuYWNoZGVtIGljaCBkaWUKU29uZ2xpc3RlIGdlc2VoZW4gaGFiZSA7LSkKV2llIGhhYnQgSWhyIEV1Y2ggZGFzIG1pdCBkZW0gUHJvYmVuIHVlYmVyaGF1cHQgdm9yZ2VzdGVsbHQ/IERpZSBGcmFnZSB3YXIKbWVpbmVzIFdpc3NlbnMgbm9jaCBuaWNodCBnZWtsYWVydCB3b3JkZW4gLi4uIAoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJhbmQgPyAoWmFybml5YSwgIDguIEp1biAxOTk4LCAwODo1Mjo0MSk6Cn4jISBybj1ZYXJlbiBydD04OTcyMjkwOTMgcmc9cGFydHkKfiMhIHRpZD04OTcxNjk5NjkKUFJPQkVOPz8/PyBCQUghIDotKQoKQWxzbyBpY2ggd2Vpc3Mgbm9jaCBuaWNodCBzaWNoZXIsIG9iIGljaCBlaW4gc2NobGFnemV1ZyBtaXRicmluZ2VuIGthbm4sIGFiZXIKaWhjIGhhYiBhdWNoIGdlaG9lcnQsIGRhc3MgU2lsdmFuYSBZYXJlbiB6d2luZ2VuIHdpbGwsIEFVQ0ggZWluZSBHaXRhcnJlCm1pdHp1bmVobWVuLCBzbyBkYXMgenVtaW5kZXN0IEVJTiBEcnVta2l0IGRhIHdhZXJlLi4uLiBTaGFrZWRiZWVyIGthbm4gd29obAphdWNoIGd1dCBGZWxsZSB6ZXJkZXBwZXJuLi4uLiAKClphcm5peWEsIGF1Y2ggaW50ZXJlc3NpZXJ0IGFuIGRlciBTb25nbGlzdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJhbmQgPyAoU2lsdmFuYSwgIDguIEp1biAxOTk4LCAxMzo0NToyOCk6Cn4jISBybj1aYXJuaXlhIHJ0PTg5NzI4ODc2MSByZz1wYXJ0eQp+IyEgdGlkPTg5NzE2OTk2OQpTb25nbGlzdGU/IFdvenU/IDopIE1hbiB3aXJkIGRvY2ggd29obCBtYWwgZWJlbiBuZW4gTGVhZHNoZWV0IHNjaHJlaWJlbgprb2VubmVuLCBmYWxscyB3ZXIgZGVuIFNvbmcgbmljaHQga2VubnQuIFdhcyBtaWNoIHZpZWwgbWVociBpbnRlcmVzc2llcnQsCmlzdCwgd2llIGRhcyBtaXQgUEEsIEJ1ZWhuZSB1bmQgdm9yIGFsbGVtIERhY2ggdWViZXJtIEtvcGYgYXVzc2llaHQuCktleXMgbW9lZ2VucyBuaWNodCBzbyBzZWhyLCBpbSBSZWdlbiB6dSBzdGVoZW4uLi4KCiAgU2lsdmFuYSAtIGVoZXIgc2tlcHRpc2NoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFuZCA/IChZZW5kaSwgIDguIEp1biAxOTk4LCAxNToxMDozNCk6Cn4jISBybj1Hcm9vIHJ0PTg5NzE2OTk2OSByZz1wYXJ0eQp+IyEgdGlkPTg5NzE2OTk2OQpJY2ggYmlldGUgbWljaCBhbHMgU2FlbmdlciwgdW5kIHZlcm11dGxpY2gga2FubiBpY2ggYXVzIE11ZW5zdGVyIHVuZCBVbWdlYnVuZwphdWNoIHNhZW10bGljaGUgbm9jaCBiZW5vZXRpZ3RlbiBJbnN0cnVtZW50ZSBhdWZ0cmVpYmVuLi4uCgpBYmVyIHdhcyBzb2xscyBkZW5uIHdlcmRlbj8gUGluay1DYW5keS1NZXRhbD8gQWNpZCBTdHJlaWNoZXJxdWFydGV0dD8KSW5kdXN0cmlhbCBGdW4gSmF6ej8gMTItVG9uLUtyaWVnc2dlcmFldXNjaGU/CgoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhbmQgPyAoQmVlbHplYnViLCAgOS4gSnVuIDE5OTgsIDE2OjQyOjM2KToKfiMhIHJuPUdyb28gcnQ9ODk3MTY5OTY5IHJnPXBhcnR5Cn4jISB0aWQ9ODk3MTY5OTY5Ck1haGx6ZWl0IF06LSkKQmFzc2lzdCBoYWJ0IGlociB3b2hsLi4uIChtaWNoKS4KS29tbXQgYWJlciBhdWYgZXVyZSBTb25nbGlzdCBkcmF1ZiBhbiBdOi0pCgpCZWVsemUqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFuZCA/IChBbmFjcmlvbiwgIDkuIEp1biAxOTk4LCAxOTozOToyMSk6Cn4jISBybj1Hcm9vIHJ0PTg5NzE2OTk2OSByZz1wYXJ0eQp+IyEgdGlkPTg5NzE2OTk2OQpIbW0uIFNhZ3QgbWlyIHdhbm4gdW5kIHdvLiBpY2ggc2luZ2UgZ2dmLiBiYWNrZ3JvdW5kIHVuZCBzcGllbGUga2V5Ym9hcmQgOykKCkFuYWMqIC0gYXVjaCBldHdhcyBtdXNpa2FsaXNjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhbmQgPyAoU3BpcmlsbCwgMTIuIEp1biAxOTk4LCAyMzo0MjozNCk6Cn4jISBybj1Hcm9vIHJ0PTg5NzE2OTk2OSByZz1wYXJ0eQp+IyEgdGlkPTg5NzE2OTk2OQpIaWhvLCBCYXNzaXN0aW4ga29lbm50IGlociBoYWJlbiwgYWxsZXJkaWdzIGtlaW4gUHJvZmkuLi53ZWxjaGUgTXVzaWtyaWNodHVuZz8KTWFpbHQgbWFsIGRpZSBTb25nbGlzdCEgQ2lhbyAKU3BpcmlsbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmFuZCA/IChTdW5mbG93ZXIsIDE0LiBKdW4gMTk5OCwgMDA6MjY6MTYpOgp+IyEgcm49WmFybml5YSBydD04OTc3MzQ0MDAgcmc9cGFydHkKfiMhIHRpZD04OTcxNjk5NjkKZWluZSBTb25nbGlzdCByYXVza3JhbSB2b24gYW5ubyBkYXp1bWFsOgpBdWZsaXN0dW5nIGFsbGVyIFNvbmdzIHVlYmVyIEh1ZXBmZXIgdm9uIE1pbGFtYmVyIDopCgpTb25nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdXNpawoKSHVlcGZlcmxpZWJlICAgICAgICAgICAgICAgICAgICAgICAgIERBRQpTY2hyZWkgbmFjaCBIdWVwZmVyICAgICAgICAgICAgICAgICAgREFFCkhpZXIga29tbXQgSHVlcGZlciAgICAgICAgICAgICAgICAgICBEVEgKWml0cm9uZW5laXMgbWl0IEh1ZXBmZXIgICAgICAgICAgICAgIERBRQpJY2ggd2Vpc3MgbmljaHQgb2IgZXMgTGllYmUgaXN0ICAgICAgREFFCldhcnVtIGtvbW1zdCBkdSBuaWNodCBIdWVwZmVyID8gICAgICBEQUUKMTAwMCBndXRlIEdydWVuZGUgZnVlciBIdWVwZmVyICAgICAgIERUSCAKCgpBbm1lcmt1bmc6IERUSCA9IERpZSBUb3RlbiBIb3NlbjsgREFFID0gRGllIEFlcnp0ZQoKCgogICAgICAgICAgICAgICAgICAgIC0tPT09IGJsdWVtY2hlbiA9PT0tLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW90aXY/IChUc2hpcnQsIDIyLiBKdW4gMTk5OCwgMTk6MjA6MjMpOgpNb2luIQoKVHJvdHogZGFzcyBpY2ggYmVyZWl0cyAxOSBUc2hpcnQtYW5mcmFnZW4gaGFiZSwgaGF0IHNpY2ggYmlzaGVyIGtlaW4gZWluemlnZXMKTW90aXYgYmVpIG1pciBlaW5nZWZ1bmRlbi4gV2FzIGlzdCBsb3MgTWFlZGVscz8gSWNoIGthbm4gZ2FyIG5pY2h0IGdsYXViZW4sCmRhcyBuaWVtYW5kIGVpbiBzY2hvZW5lcyBCaWxkIGluIGRlciBTY2h1YmxhZGUgaGF0LCBvZGVyIGRhcyBpaHIgX2FsbGVfIHNvCnVua3JlYXRpdiBzZWlkLCBkYXMga2VpbmVyIGVpbnMgbWFsZW4ga29lbm50ZSAoc2VsYnN0Z2VtYWNodGUgc2luZCBlaCB2aWVsIApzY2hvZW5lciA6LSkuCmxlZ3QgbWFsIG5lbiBaYWhuIHp1IDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFuZCAoR3JvbywgMjkuIEp1biAxOTk4LCAyMzowNToxNSk6CkhhYmVuIHdpciBub2NoIGplbWFuZGVuLCBkZXIgTXVuZC1hLW1vbmlrYSBibGFzZW4ga2FubiA/Ckdyb28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFuZCAoUm9jaHVzLCAzMC4gSnVuIDE5OTgsIDE0OjE0OjExKToKfiMhIHJuPUdyb28gcnQ9ODk5MTU0MzE1IHJnPXBhcnR5Cn4jISB0aWQ9ODk5MTU0MzE1CkhtbSwgaWNoIGtlbm5lIGRhIGVpbiBuZXR0ZXMgU3R1ZWNrIHZvbiBFbm5pbyBNb3JyaWNvbmUsCm11ZXNzdGUgYWxsZXJkaW5ncyBtYWwgZXR3YXMgdWViZW4uLi4KCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBZ2FpbjogVHNoaXJ0LU1vdGl2IChDYXR3ZWF6bGUsIDMwLiBKdW4gMTk5OCwgMTk6NDQ6MDUpOgoKR3VnZ3VnIQoKSGFiIGdlcmFkZSBlcmZhaHJlbiwgZGFzIGljaCBnbGVpY2ggZWluIGVyc3RlbiBNb3RpdiBpbiBkaWUgSGFuZCBnZWRydWVja3QgCmJla29tbWVuLCBkYXMgaXN0IGphIHNjaG9uIG1hbCB3YXMuIFVtIGRlciByZXN0bGljaGVuIE11ZGRlcnNjaGFmdCBhdWNoIG1hbAplaW5lbiBBbnJlaXogenUgZ2ViZW4sIGhpZXIgZm9sZ2VuZGVzIFByZWlzZ2VsZDoKV2Vzc2VuIE1vdGl2IHNjaGx1c3NlbmRsaWNoIGF1ZiBkZW0gVHNoaXJ0IGxhbmRldCBiZWtvbW10IGVpbnMgZnVlciBsYXUgdW5kIAptdXNzIGF1c3NlcmRlbSBhdWYgZGVyIFBhcnR5IGtlaW5lbiAnRWludHJpdHQiIHphaGxlbiAoaWNoIGRlbmtlIGRhcyBpc3QgYXVzCmRlciBUc2hpcnRrYXNzZSB6YWhsYmFyIDotKS4KCkFsc28gbm9jaG1hbC4gR2VzdWNodCB3aXJkIGVpbiBhdXNzZXJnZXdvZWhubGljaCBzY2hvZW5lcyBNb3RpdiBmdWVyIGRhcyAKZGllc2VqYWVocmlnZSBQYXJ0eS1Uc2hpcnQuIEVzIHNvbGx0ZSBzdGFyayBmYW50YXN5YmVsYXN0ZXQgc2VpbiB1bmQgYW0KYmVzdGVuIGV0d2FzIG1pdCBkZW0gTW9yZ2VuR3JhdWVuIHp1IHR1biBoYWJlbi4gT2IgbnVyIGVpbiBpbSBOZXR6IGdlZnVuZGVuZXMKb2RlciBzb2dhciBzZWxic3RnZW1hbHRlcyBkdWVyZnRlIGRhYmVpIGVnYWwgc2Vpbi4gVm9yIGVpbmlnZW4gSmFocmVuIGhhdHRlbgp3aXIgekIgbWFsIGVpbmUgc2VociBzY2hvZW5lIEthcnRlIHZvbSBNRywgdmllbGxlaWNodCBmYWVsbHQgRXVjaCBqYSB3YXMgCmFlaG5saWNoIGZlaW5lcyBlaW4gLi4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5dm9yYmVyZWl0dW5nIChDYXR3ZWF6bGUsIDMwLiBKdW4gMTk5OCwgMTk6NDk6NDEpOgpOb2NobWFsIGd1Z2d1ZyEKCkljaCBzY2hhZXR6ZSBlcyB3aXJkIGxhbmdzYW0gWmVpdCwgZGFzIHdpciB1bnMgZnVlciBkaWUgUGFydHl2b3JiZXJlaXR1bmdlbgptYWwgdHJlZmZlbi4gRGFmdWVyIG1vZWNodGUgaWNoIGFsbGUgZWlubGFkZW4sIGRpZSBMdXN0IGhhYmVuIG1pdHZvcnp1LQpiZXJlaXRlbi4gSWNoIHNjaGxhZ2Ugdm9yLCBkYXMgd2lyIHVucyBhdWYgZGVtIG5hZWNoc3RlbiBNdWVuc3RlcmFuZXIgClN0YW1tdGlzY2ggKG5laW4sIG5pY2h0IGdsZWljaCwgZGVuIGluIGRlciBuYWVjaHN0ZW4gV29jaGUpIGFtIDcuNy45OCB1bQoxOTozMCBpbSBBbGFiYW1hIHRyZWZmZW4uCkFMc28gZmFsbHMgRHUgTHVzdCBoYXN0IG1pdHZvcnp1YmVyZWl0ZW4sIGtvbW0gdm9yYmVpLgoKSWNoIGJyYXVjaGUgZHJpbmdlbmQgamVtYW5kZW4sIGRlciBtaXQgbWlyIHp1c2FtbWVuIGVpbmVuIFJhdW0gb3JnYW5pc2llcnQsCmFsbGVpbmUga3JpZWcgaWNoIGRhcyBuaWNodCBhdWYgZGllIFJlaWhlLiBJY2ggbW9lY2h0ZSBhbiBkaWVzZXIgU3RlbGxlIApiZXRvbmVuLCBkYXMgaWNoIHp3aW5nZW5kIGFuIGRlciBXb2NoZSAxNy4tMjMuOC4gZmVzdGhhbHRlbiBtb2VjaHRlIHVuZCBudXIKaW4gYm9lc2FydGlnZW4gTm90ZmFlbGxlbiBkZW4gVGVybWluIGFlbmRlcm4gd3VlcmRlLiBJY2ggYmluIGZhc3Qgc2Nob24gdmVyLQpzdWNodCBQYXJ0eWJyZXR0ZXIgYXVmenVzdGVsbGVuLiBEZXIgVGVybWluIGlzdCBhbHNvIDkwJSBzaWNoZXIgKHZvciBhbGxlbQp3ZWlsIGljaCBzY2hvbiB2b24gZWluaWdlbiB3ZWlzcywgZGllIHNpY2ggZGEgZXh0cmEgVXJsYXViIGdlbm9tbWVuIGhhYmVuKS4KWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJhbmQgKFllbmRpLCAgMS4gSnVsIDE5OTgsIDE0OjQ4OjAzKToKfiMhIHJuPUdyb28gcnQ9ODk5MTU0MzE1IHJnPXBhcnR5Cn4jISB0aWQ9ODk5MTU0MzE1CkljaCBoYWJlIGJsb3NzIGVpbmUgcG9wZWxpZ2Uga2xlaW5lIEMtQmx1ZXNtdW5kaGFybW9uaWthLCBhYmVyIG1pdCBldHdhcwpVZWJ1bmcgKCpoYXJtb25pa2EgcmF1c2tyYW0gJiBlbnRzdGF1YiwgaHVzdCopIGtvZW5udGUgaWNoIGRhcmF1ZiBhdWNoCnp3ZWllaW5oYWxiIFRvZW5lIHNwaWVsZW4uIEluIEMuCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZXRsaXN0IChZZW5kaSwgIDEuIEp1bCAxOTk4LCAxNDo1Nzo1NCk6CgpWb3JzY2hsYWVnZSBmdWVyIExpZWRlciBkZXIgTW9yZ2VuZ3JhdWVuIE11c2ljLU1ha2VyczoKCiogSW0gRnJ1ZWh0YXUgZGllIFp3ZXJnZQoqIFdobyB3YW50cyB0byBMaXZlIEZvcmV2ZXI/CiogSHlkcmFoZWFkIGlzIGluIHRoZSBIb3VzZQoqIFdpdGggYSBMaXR0bGUgSGVscCBmcm9tIG15IEZyaWVuZHMKKiBBbHMgaWNoIGVpbiBrbGVpbmVyIFNwaWVsZXIgd2FyIChGcmVpYmVyZyAmIEtvbmRpdG9ycykKKiBPbmUKKiBXZSBBcmUgdGhlIFNlaGVycwogCi4uLgogCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2V0bGlzdCAoVGhlcmluLCAgMS4gSnVsIDE5OTgsIDE1OjE0OjI1KToKfiMhIHJuPVllbmRpIHJ0PTg5OTI5Nzg3NCByZz1wYXJ0eQp+IyEgdGlkPTg5OTI5Nzg3NApEYSBmZWhsdCBub2NoICJ0aGUgU291bmRzIG9mIFZpb2xlbmNlIgpMaWVkdGV4dCBhLkEuCgpULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2UgKFR3aW5zZW4sICA2LiBKdWwgMTk5OCwgMTg6MzU6MTgpOgppY2ggd29sbHRlIG1hbCBmcmFnZW4gd28gbWFuIHNpY2ggYW5tZWxkZW4ga2FubiB1bmQgb2IgbWFsIHZvbQpmbHVnaGFmZW4vQmFobmhvZiBhYmdlaG9sdCB3aXIgPz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtU2hpcnQtTW90aXZlIChSb25kYSwgIDcuIEp1bCAxOTk4LCAyMDo1NToxNCk6CkhpLApDYXQqIGhhdCBnbGF1YmUgaWNoIHZvciBrdXJ6ZW0gbWFsIGF1ZiBkaWUgVC1TaGlydHMgenVyIEZldGUgaGluZ2V3aWVzZW4gLQp2aWVsbGVpY2h0IHdhZXJlIGVzIGVpbmUgSWRlZSwgbWFsIE1vdGl2LUlkZWVuIHp1IHNhbW1lbG4/CldhaHJzY2hlaW5saWNoIGdpYnRzIGphIGhpZXIgZG9jaCBlaW5pZ2UgbGV1dGUgbWl0IGdlbmlhbGVuIElkZWVuIGFiZXIgbGVpZGVyCnp3ZWkgbGlua2VuIEhhZW5kZW4sIHNpZSBhdWNoIHVtenVzZXR6ZW4gLSB3b2dlZ2VuIHZpZWxsZWljaHQgZWluIHBhYXIgbWl0Cmt1ZW5uc3RsZXJpc2NoZW4gQW1iaXRpb25lbiBuaWNodCBnZW5hdSB3aXNzZW4sIHdhcyBzaWUgYXVmJ3MgVC1TaGlydCBicmluZ2VuCnNvbGxlbi4KQWxzbyBuZWhtdCBkYXMgZWluZmFjaCBhbHMgQXVmcnVmLCBtYWwgSWRlZW4genUgc2FtbWVsbiEKCkhtbSwgd2llIHdhZXJlIGVzIHp1bSBCZWlzcGllbCBtYWwgbWl0IExvZ3Mgdm9uIG5ldHRlbiBTemVuZW4gaW0gTXVkPyAoU2Nob2VuZQpUb2Rlc3NlcXVlbnplbiwgZGllIHVlYmxpY2hlbiBGTFcgb2RlciBzbz8pIFZpZWxsZWljaHQgbWl0IGt1cnplbiBTa2l6emVuLCB3aWUKZGFzIGF1c2dlc2VoZW4gaGFiZW4gbWFnIC0gdmllbGxlaWNodCBhdWNoIGFscyBDb21pYz8KCk9kZXIgbmF0dWVybGljaCBkaWUgd3VuZGVyc2Nob2VuZSBrbGVpbmUgSGV4ZSwgZGllIGluIGRlbiBTb25uZW51bnRlcmdhbmcKbGllZ3Q/IChDYXR0eSwgZHVlcmZlbiBkaWUgQmlsZGVyIGVpZ2VudGxpY2ggZmFyYmlnIHNlaW4gb2RlciBudXIKc2Nod2Fyei93ZWlzcz8pCgpEZW5uIG1hbiBsb3MsIGxhc3N0IEV1cmUgUGhhbnRhc2llIGtyZWlzZW4hCgpSb25kYSAqbWl0IHZlcnJ1ZWNrdGVuIElkZWVuLCBhYmVyIG5pY2h0IGJlc29uZGVycyB2aWVsIGt1ZW5zdGxlcmlzY2hlbQpHZXNjaGljay4uLioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0LU1vdGl2ZSAoVGVkZHksICA3LiBKdWwgMTk5OCwgMjE6MDA6MzgpOgp+IyEgcm49Um9uZGEgcnQ9ODk5ODM3NzE0IHJnPXBhcnR5Cn4jISB0aWQ9ODk5ODM3NzE0CkhtLCBzbyBuZSBIZXhlIGxpZWd0IG1pdCBuZW0gQ2hhb3RlbiBhbSBTdHJhbmQsIGRlciBUcnZlcyBnZWh0IGdyYWQgSG9segpoYWNrZW4gdW5kIGRlciBTY2h1ZXR0bGVyIGJlc29yZ3QgR2V0cmFlbmtlLiBJbiBkZXIgTmFlaGUgc3RlaHQgZGVyIEtsZXJpa2VyCnVuZCBzY2hhdXQgYmVzY2hhZW10IGJlaXNlaXRlPwoKVXBzLCB3YXIgaWNoIGpldHp0IHp1IHBoYW50YXNpZXZvbGw/CgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nod2VpemVyIE1HIFBhcnR5IChadWVyaWxldSwgIDguIEp1bCAxOTk4LCAwNTozODowNCk6CkhpLApBbHNvIGhhZXQgamVtYW5kIGludHJlc3NlIGFuIGVpbmVyIFNjaHdlaXplciBNRyBQYXJ0eSBvZGVyIGVpbmVuIFN0YW1tdGlzY2ggPwpOdW4gZXMgZ2lidCBqYSBpbnp3aXNjaGVuemVpdCBlaW5pZ2UgU2Nod2VpemVyIHVuZCBkYWhlciBmYWVuZCBpY2ggZGFzIG1hbAplaW5lIGd1dGUgSWRlZS4gVW5kIGlociBhbmRlcmVuIGRpZSBuaWNodCBpbiBkZXIgU2Nod2VpeiBsZWJlbiwgd3VlcmRldCBpaHIKYXVjaCBtYWwgZnVlciBuZSBQYXJ0eSBpbiBkaWUgc3dlaXogZmFocmVuLCBvZGVyIGlzdCBkYXMgenUgd2VpdCA/CgpUc2NoYXUgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2h3ZWl6ZXIgTUcgUGFydHkgKFNob3JrYW4sICA4LiBKdWwgMTk5OCwgMTA6NTY6MzgpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODk5ODY5MDg0IHJnPXBhcnR5Cn4jISB0aWQ9ODk5ODY5MDg0CkFsc28gaWNoIHdhZXJlIGZ1ZXIgbmVuIFNjaHdlaXplciBTdGFtbS4KVWVicmlnZW5zIGhhYmVuIFRzdW5hbWkgdW5kIGljaCwgdW5zIGZ1ZXIgZGllIFBhcnR5IGluIE11ZW5zdGVyIGFuZ2VtZWxkZXQuClZpZWxsZWljaHQga29tbWVuIG5vY2ggYW5kZXJlIFNjaHdlaXplciBtaXQsIHNvIGFscwprbGVpbmUgRGVsZWdhdGlvbiBhdXMgZGVtICBTQ2h3ZWl6ZXJsYWVuZGxlIDspCgpTaHJva2FuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5ncmF1ZW4gU29tbWVyY2FtcCAnOTggKFJvY2h1cywgIDguIEp1bCAxOTk4LCAxNDo0ODoxNyk6ClNvLCBkZXIgVGVybWluIGZ1ZXIgZGFzIE1vcmdlbmdyYXVlbiBTb21tZXJjYW1wICc5OCBzdGVodCBqZXR6dCBmZXN0LAplcyBpc3Qgdm9tIDE3LiBiaXMgenVtIDIzLiBBdWd1c3QuCldlaXRlcmUgRGV0YWlscyB3aXJkIENhdHdlYXpsZSBub2NoIGJla2FubnRnZWJlbiwgenVtCkNhb21waW5ncGxhdHoga2FubiBpY2ggYWJlciBzY2hvbm1hbCBzYWdlbiBkYXNzIGRlcgpuaWNodCB2aWVsIHRldXJlciBpc3QgYWxzIGRlciBpbiBCZXJsaW4sIHZpZWxsZWljaHQga2FubgpDYXQgZGEgbm9jaCBiaWxsaWdlcmUgUHJlaXNlIGF1c2hhbmRlbG4sIGFiZXIgZGFmdWVyCm11ZXNzdGVuIHdpciB3aXNzZW4sIHdpZXZpZWxlIExldXRlIG1pbmRlc3RlbnMgd2FubiBkYSBzaW5kLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlciB6dXIgSW5zcGlyYXRpb24gKFNob3JrYW4sICA5LiBKdWwgMTk5OCwgMTU6MDY6NTgpOgpIaWVyIGVpbiBwYWFyIExpbmtzIHp1IEJpbGRlcm4sIGRpZSBldXJlIFBoYW50YXNpZSBmdWVyIGRhcwpNRyBQYXJ0eSBULVNoaXJ0IGFua3VyYmVsbiBzb2xsdGVuIDspCkFiZW50ZXVlcmVyIGltIExhYiBkZXIgYWx0ZW4gQWthZGVtaWU6Cmh0dHA6Ly9tZW1iZXJzLmFvbC5jb20vYm1wcm9tb3Mvcm95by9zdW1tb24uanBnCkFiZW50ZXVlcmVyaW5uZW4gaW0gRHVlc3RlcndhbGQgPzoKaHR0cDovL21lbWJlcnMuYW9sLmNvbS9ibXByb21vcy9yb3lvL3JveW9fYTAyLmpwZwpodHRwOi8vbWVtYmVycy5hb2wuY29tL2JtcHJvbW9zL3JveW8vcm95MDEuanBnCkVpbmlnZSBCb3JpcyBWYWxsZWpvIEJpbGRlcjoKaHR0cDovL2xpbnV4LmZzdi5jdW5pLmN6L35ocnVza2EvdmFsbGVqby5odG0KTHVpcyBSb3lvIEJpbGRlcjoKaHR0cDovL2xpbnV4LmZzdi5jdW5pLmN6L35ocnVza2Evcm95by5odG0KU2hvcmthbiAoZGFuIE5hbWVuIGRpZXNlcyBNYWwgcmljaHRpZyB0aXBwZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUkU6IEJhbmQuLiAoR3JvbywgIDkuIEp1bCAxOTk4LCAxNTozMzoyNSk6CkljaCBiaW4gbWlyIG5vY2ggbmljaHQgc2ljaGVyLCBvYiB3aXIgZGFzIGFsbGVzIHVlYmVyIG5lIFBBIEJsYXNlbiBvZGVyCm5pY2h0Li4uCkFiZXIgOgpBZWgsIGhhdCBlaW5lciBzY2hvbm1hbCBlaW5lIE1pc2NocHVsdCBiZWRpZW50ID8/Pz8KV2FlcmUgc2ljaGVyIGdhbnogbnVldHpsaWNoIC4uLiA6KQpHYXN0c2FlbmdlciA/Pz8gSm9qbywgaWNoIHdlaXMgWWVuZGkuLi4gLCBoaW50ZW4gYW5zdGVsbGVuLCwgamVkZXIgbnVyIGVpbgpLcmV1eiA6KQpHcm9vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkU6IEJhbmQuLiAoWmFybml5YSwgIDkuIEp1bCAxOTk4LCAxODozNDowMik6Cn4jISBybj1Hcm9vIHJ0PTg5OTk5MTIwNSByZz1wYXJ0eQp+IyEgdGlkPTg5OTk5MTIwNQpBbHNvIHdlbm4gZGVyIFJhdW0gcmVjaHQgS2xlaW4gaXN0LCBkYW5uIHNvbGx0ZW4genVtaW5kZXN0IGRpZSBuaWNodC1EcnVtbWVyCmd1dGUgdmVyc3RhZXJrZXIgbWl0YnJpbmdlbi4gTmUgZWNodGUgUEEgaXN0IG1laW5zdCBuaWNodCBub2V0aWcsIHdlbm4gZGllClZlcnN0YWVya2VyIGRlciBHaXRhcnJlbiwgZXRjIG9rIHNpbmQuIE9kZXIgd2llIG1laW50ZSBkZXIgbGVnZW5kYWVyZSwgYWJlcgp2ZXJzdG9yYmVuZSBDb3p5IFBvd2VsbCBzY2hvbjogIklociBob2VydCBlaCBhbGxlIGF1ZiBtaWNoIHVuZCBtZWluIFRlbXBvLi4uCmljaCBiaW4gZGVyIExhdXRlc3RlISEhIgoKWmFybml5YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2h3ZWl6ZXIgTUcgUGFydHkgKE11YWRkaWIsICA5LiBKdWwgMTk5OCwgMjE6NTY6MDUpOgp+IyEgcm49U2hvcmthbiBydD04OTk4ODgxOTggcmc9cGFydHkKfiMhIHRpZD04OTk4NjkwODQKRGEgd2FlciBlcyBqYSBhdWNoIGZ1ZXIgdW5zIE9lc3RlcnJlaWNoZXIgbmljaHQgc29vIHdlaXQgOikKCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVyY2FtcDk4ID8/PyAoVmFtcHksIDE5LiBKdWwgMTk5OCwgMTc6MDA6MzQpOgpBZWhtLApIaSBpaHJzLCBhbHNvIGljaCBicmFldWNodGUgZGEgbm9jaCBuIHBhYXIgaW5mb3MsIHZvciBhbGxlbSBkZXIgUHJlaXMgCnN0ZWh0IGphIG5vY2ggaW4gZGVyIEx1ZnQuLi4KYWxzbyBrYW5uIG1pciBiaXR0ZSBlaW5lciBzYWdlbiB3YXMgZGFzIGluIGV0d2Ega29zdGVuIHdpcmQ/Pz8KZGFua2UKICAgICAgICB2YW1weQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFzZWJhbGwvU29mdGJhbGwgKFplcGh5ciwgMjIuIEp1bCAxOTk4LCAxMjo1ODoyNCk6CgpXZXIgQmFzZWJhbGwgb2RlciBTb2Z0YmFsbCBzcGllbHQsIG1vZWdlIHNlaW5lIEF1c3J1ZXN0dW5nIHp1cgpQYXJ0eSBtaXRicmluZ2VuIC0gbWFsIHNlaG4gb2Igd2lyIGVpbiBTcGllbCBvcmdhbmlzaWVydApiZWtvbW1lbiA6KQoKKmtudWRkZWxzKgogICAgICAgICAgICAgICBaZXBoeXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmxhZHVuZyB6dXIgU29tbWVycGFydHkgMTk5OCAoQ2F0d2VhemxlLCAyMi4gSnVsIDE5OTgsIDE1OjEyOjA4KToKSGkgRm9sa3MhCgpPaywgaWNoIHNjaHJlaWJlIGRhbm4gbnVuIGRvY2ggZW5kbGljaCBtYWwgZWluZSBvZmZpemllbGxlIEFua3VlbmRpZ3VuZwpmdWVyIGR1ZSBQYXJ0eS4gSWNoIGhhYmUgbWljaCBiaXNoZXIgZ2VzdHJhZXVidCwgdW5kIGRhcyB2b3IgbWlyIGhlci0KZ2VzY2hvYmVuLCBkYSB3aXIgaW1tZXIgbm9jaCBTY2h3aWVyaWdrZWl0ZW4gbWl0IGRlbSBQYXJ0eXJhdW0gaGFiZW4uIApBbGxlIGd1dGVuIE1vZWdsaWNoa2VpdGVuIHNpbmQgZ2VzY2hlaXRlcnQgdW5kIHNvIGxhbmdzYW0gdmVyendlaWZlbCBpY2guCjMgSWRlZW4gaGFiIGljaCBhYmVyIG5vY2guIFdlbm4gZGFzIG5peCB3aXJkIG11ZXNzZW4gd2lyIHVucyBpbiBlaW4gCjItM01hbm4tWmVsdCB6d2FlbmdlbiwgYXVzc2VyIGplbWFuZCBoYXQgZWluIGdyb2Vzc2VyZXMgOikKCkFsc286CgpEaWUgU29tbWVycGFydHkgaXN0IGRpZXNtYWwgd2llZGVyIGVpbiBTb21tZXJjYW1wLCB3aWxsIGhlaXNzZW4sIAplaW5lIGdhbnplIFdvY2hlIGNhbXBlbiB6dXNhbW1lbiBtaXQgdmllbGVuIE11ZGRlcm4uIFdlciBzaWNoIGRhcyBhbnR1bgp3aWxsIGthbm4gZGllcyBpbiBkZXIgMy4gQXVndXN0d29jaGUgdm9tIDE3Li0yMy4gQXVndXN0IHR1bi4gV2lyIGhhYmVuIAplaW5lIGtvbXBsZXR0ZSBXaWVzZSBhdWYgZGVtIENhbXBpbmdwbGF0eiBpbiBNdWVuc3RlciBnZW1pZXRldCwgYXVmIApkZW0gaWhyIEV1Y2ggdHVtbWVsbiBrb2VubnQuIFNvbGx0ZSBlcyBlbmcgd2VyZGVuLCBrb2VubmVuIHdpciBlaW5lIAp6d2VpdGUgb2trdXBpZXJlbi4KCldhZWhyZW5kIGRpZXNlciBXb2NoZSBzdGVoZW4gbmViZW4gUnVtaGFlbmdlbiBtaXQgYW5kZXJlbiBNdWRkZXJuIGZvbGdlbmRlClNhY2hlbiBhbjoKCkRpZW5zdGFnOiBEaWVuc3RhZ3MgaXN0IGJlaSB1bnMgaW4gTXVlbnN0ZXIgaW1tZXIgU3RhbW10aXNjaC4gSWNoIHNjaGFldHplCiAgICAgICAgICBtYWwsIGRlciBzb2xsdGUgYXVjaCBpbiBkZXIgUGFydHl3b2NoZSBzdGF0dGZpbmRlbi4gSmVkZXIgZGVyIGRhCiAgICAgICAgICBpc3QsIGlzdCBuYXR1ZXJsaWNoIGhlcnpsaWNoIGVpbmdlbGFkZW4genUga29tbWVuLiBEZXIgTGFkZW4gaXN0IAogICAgICAgICAgZ3Jvc3MgdW5kIGhhdCB6dXIgTm90IG5lbiBTYWFsLCBpbiBkZW4gd2lyIG1pdCBTaWNoZXJoZWl0IHJlaW4tCiAgICAgICAgICBwYXNzZW4gOikgU3RhbW10aXNjaHplaXQgaXN0IDIwOjAwIFVociBpbSA0QWxhYmFtYTQgYXVmIGRlciAKICAgICAgICAgIEFlZ2lkaWktc3RyYXNzZS4gCkZyZWl0YWc6ICBEYSBGcmVpdGFnIGJlcmVpdHMgZWluIEdyb3NzdGVpbCBkZXIgTGV1dGUgZGEgc2VpbiB3aXJkLCBnaWJ0cyAKICAgICAgICAgIGRhbm4gc2Nob24gbWFsIGVpbiBrbGVpbmVzIFZvcmdsdWVoZW4sIGljaCB3dWVyZGUgdm9yc2NobGFnZW4KICAgICAgICAgIGdyaWxsZW4sIGVudHdlZGVyIGFtIEFhc2VlIG9kZXIgYW0gS2FuYWwsIGFsbGVyZGluZ3MgYXVmIGVpZ2VuZQogICAgICAgICAgS29zdGVuLgpTYW1zdGFnOiAgU2Ftc3RhZyBpc3QgZGFubiBQYXJ0eWFiZW5kLCBpcmdlbmR3bywgd2VubnMga2xhcHB0LCBpbiBpcmdlbmQtCiAgICAgICAgICBlaW5lbSBkdW5rbGVuIExvY2gsIG1pdCBFc3NlbiB1bmQgRmFzc2JpZXIgKGFsc28genVtaW5kZXN0IF9kYXNfCiAgICAgICAgICB3ZXJkIGljaCBhdWZ0cmVpYmVuIGtvZW5uZW4gOikgCiAgICAgICAgICBBY2hqYSwgYW0gU2Ftc3RhZyB2b3JtaXR0YWcgd2lyZCBlcyBtYWwgd2llZGVyIGVpbiBMUEMtU2VtaW5hcgogICAgICAgICAgZ2ViZW4sIGljaCBzYWcgamV0enQgbWFsIDE0OjAwIFVociBpbiBkZW4gSG9lcnNhZWxlbiBkZXIgTWF0aGUtCiAgICAgICAgICBtYXRpay4gSWNoIHdlaXNzIGFiZXIgbmljaHQgd2llIGVzIGRhcnVtIHN0ZWh0LCBlcyB3ZXJkZW4gYXVmIAogICAgICAgICAgSkVERU4gRkFMTCBub2NoIExldXRlIGdlc3VjaHQsIGRpZSBlaW5lbiBWb3J0cmFnIGhhbHRlbiB3b2xsZW4hCiAgICAgICAgICBTaWx2YW5hIGhhdCBnZXNhZ3QsIHNpZSB3dWVyZGUgc2ljaCBmdWVyIHVtIGRpZSBadXNhbW1lbnN0ZWxsdW5nCiAgICAgICAgICBkZXIgVGhlbWVuIGt1ZW1tZXJuLCBiZWkgQW5nZWJvdGVuIHVuZCBOYWNoZnJhZ2VuIGJpdHRlIFNpbHZhbmEKICAgICAgICAgIGJlbmFjaHJpY2h0aWdlbi4KU29ubnRhZzogIERlciBvYmxpZ2F0b3Jpc2NoZSBCZXN1Y2ggYmVpbSBDaGluZXNlbiAoQWVoLCBoYXQgc2ljaCBkYSB1ZWJlci0KICAgICAgICAgIGhhdXB0IHNjaG9uIGplbWFuZCBkcnVtIGdla3VlbW1lcnQ/IExhcmlzc2E/IEpvb29vb29vZj8pCgpBdXNzZXJkZW0gaXN0IGZ1ZXIgZGllIFdvY2hlIGluIEF1c3NpY2h0IGdlc3RlbGx0OgotIEVpbiBrb2xsZWt0aXZlciBQbGFuZXRhcml1bXNiZXN1Y2ggKGRlciB3YXIgd29obCBpbiBCZXJsaW4gYmVsaWVidCwgdW5kIGphLAogIHNvZ2FyIE11ZW5zdGVyIGhhdCBlaW4gUGxhbmV0YXJpdW0gLi4uKQotIEV2dGwuIGZhbGxzIEludGVyZXNzZSBiZXN0ZWh0IGVpbiBCZXN1Y2ggaW0gWm9vLiBEZXIga2Fubiwgd2VubnMgV2V0dGVyIGd1dAogIGlzdCwgZ2FueiBzY2hvZW4gc2Vpbi4gQXVzc2VyZGVtIGthbm4gbWFuIGRhIHByaW1hIG1ldHplbG4gLi4uLgotIFdhcyBFdWNoIHNvbnN0IG5vY2ggc28gZWluZmFlbGx0CgpXZW5uIER1IGFsc28ga29tbWVuIG1vZWNodGVzdCwgbWVsZGUgRGljaCBiaXR0ZSBtb2VnbGljaHN0IHNjaG5lbGwsIAplcyBzaW5kIGFuIGFsbGVuIG1vZWdsaWNoZW4gU3RhcnRzdGVsbGVuIFBhcnR5YnJldHRlciBhdWZnZXN0ZWxsdCwgYW4gZGVuZW4KRHUgZGFzIHR1biBrYW5uc3QuCgpFbmQgb2YgcGFydCBJCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNhbXBpbmdwbGF0eiBJbmZvIChDYXR3ZWF6bGUsIDIyLiBKdWwgMTk5OCwgMTU6MzY6MDkpOgoKRWluIGJpc3NjaGVuIEluZm8genVtIENhbXBpbmcuCgpXaXIgaGFiZW4gZnVlciBkaWUga29tcGxldHRlIFdvY2hlIHZvbSAxNy4tMjMuIEF1Z3VzdCBlaW5lIFdpZXNlIGF1ZgpkZW0gQ2FtcGluZ3BsYXR6IGluIE11ZW5zdGVyIGdlbWlldGV0ICh3aWVkZXJob2xlIGljaCBtaWNoPykuIEFsc28gCmljaCB3YXIgbm9jaCBuaWNodCBhdWYgdmllbGVuIENhbXBpbmdwbGFldHplbiwgYWJlciBkaWVzZXIgaXN0IGF1ZiBqZWRlbgpGYWxsIGVpbmVyIGRlciBub2JlbHN0ZW4sIGRpZSBpY2ggamUgZ2VzZWhlbiBoYWIuCgpGaXJzdCBvZiBhbGw6IFdlbm4gRHUgenVtIFJ1ZGVsLUNhbXBpbmcga29tbWVuIHdpbGxzdCBpc3QgZXMgYW0gd2ljaHRpZ3N0ZW4sCmRhc3MgRHUgbWlyIEJlc2NoZWlkIGdpYnN0LCBkYW1pdCBpY2ggZGllIENhbXBpbmdwbGF0emxlaXR1bmcgZGFydWViZXIgCmluZm9ybWllcmVuIGthbm4uIERhenUgdHVzdCBEdSBmb2xnZW5kZXM6CgpTY2hyZWliIGVpbiBNdWQtTWFpbCBhbiBkZW4gU3BpZWxlciBDYW1waW5nIG1pdCBmb2xnZW5kZW0gSW5oYWx0OgpUYWcgZGVyIEFucmVpc2UKVGFnIGRlciBBYnJlaXNlClplbHRncm9lc3NlClBlcnNvbmVuemFobCAKCkV0d2FzIHp1bSBQbGF0ejoKUmVnZWxwcmVpc2U6ClVlYmVybmFjaHR1bmcgcHJvIFBlcnNvbjogN0RNCjEtMk1hbm4tWmVsdDogICAgICAgICAgICAgNkRNCkdyb2Vzc2VyZXMgWmVsdCAgICAgICAgICAgOERNICgrIGV2dGwuIFp1c2NobGFlZ2UgZnVlciBleHRyYWdyLiAoRmVzdCl6ZWx0ZSkKCkFsc28gdWViZXJzY2hsYWdzbWFlc3NpZyAxMERNL05hY2h0LgpEYXMgc2luZCBfU3RhbmRhcmRwcmVpc2VfLiBJY2ggaGFiZSBtaXQgaWhtIHZlcmVpbmJhcnQsIGRhcyBtYW4gZGEgbm9jaApydW50ZXJnZWhlbiBrYW5uLCBiencsIG5lIFBhdXNjaGFsZSwgYWJlciBkaWUgTGV1dGNoZW4gZGEgbWVpbnRlbiwgZGFzIAp3dWVyZGUgZGFubiA0dm9yIG9ydDQgYmVzY2hsb3NzZW4uIEljaCBzY2hhZXR6ZSBkaWUgaGFiZW4gbWlyIG5pY2h0IAphYmdlbm9tbWVuLCBkYXMgZGEgdWViZXIgMTAwIExldXRlIGtvbW1lbiBrb2VubmVuIDopClRyb3R6YWxsZWRlbSBmaW5kIGljaCAxMCBETSBmdWVyIGRlbiBQbGF0eiBuaWNodCB6dXZpZWwuIAoKRGVyIENhbXBpbmdwbGF0eiBzZWxiZXIgbGllZ3QgZXR3YXMgYXVzc2VyaGFsYiB2b24gTXVlbnN0ZXIuIEJpcyB6dW0gQmFobmhvZgpzaW5kcyBjYS4gNCBrbSwgenVyIElubmVuc3RhZHQgbm9jaCBlaW5lciBtZWhyLCBhbGxlcmRpbmdzIGdpYmJldCBuYXR1ZXJsaWNoCmVpbmUgQnVzbGluaWUsIGRpZSBkYSB2b3JiZWlmYWVocnQuIFNvZ2FyIDIgOikKVHJvdHpkZW0gaXN0IGRhIGRyYXVzc2VuIHZpZWwgbG9zLiBEaXJla3QgZ2VnZW51ZWJlciB2b20gQ2FtcGluZ3BsYXR6IGlzdCAKZWluIEZyZWliYWQgKGNhLiA1MG0gOi0pLiBEaWUgV2Vyc2UgZmxpZXNzdCB2b3JiZWksIGF1ZiBkZXIgbWFuIHBhZGRlbG4gCmthbm4sIHdlbm4gbWFuIHdpbGwsIHVuZCBpcmdlbmR3byBpbiBkZXIgTmFlaGUgaXN0IGF1Y2ggZWluIFJlaXRlcmhvZi4gR2VudWNoCnp1IHR1biwgYWxzbyA6KQoKSGlua29tbWVuIHR1dCBtYW4gc286ClZvbiBkZXIgQTEgYXVzIGZhZWhydCBtYW4gTXVlbnN0ZXItU3VlZCBhYiwgUmljaHR1bmcgTXVlbnN0ZXIuIERhbm4gbGFuZGV0IAptYW4gYXVmIGRlbSBsZXR6dGVuIFN0dWVjayB2b24gZGVyIEE0My4gCkFuc3RhdHQgZGlyZWt0IG5hY2ggTXVlbnN0ZXIgcmVpbnp1ZmFocmVuLCBmYWVocnQgbWFuIHJlY2h0cyBhYiBhdWYgZGllIApVbWdlaHVuZ3NzdHJhc3NlIChSaWNodHVuZyBTdGFkaW9uP011ZW5zdGVybGFuZGhhbGxlPyBXZWlzc24gbmljaHQgZ2VuYXUsCndhcyBkYSBkcmF1ZiBzdGVodCkuCkF1ZiBkZXIgVW1nZWh1bmcgYmxlaWJ0IG1hbiBuZSBXZWlsZSwgYmlzIG1hbiBiZWltIEZ1bmt0dXJtIGFuZ2Vrb21tZW4gaXN0CihlaWdlbnRsaWNoIG5pY2h0IHp1IHVlYmVyc2VoZW4pLiBOYWNoZGVtIGlociBhbSBGdW5rdHVybSB2b3JiZWkgc2VpZCwKcnVudGVyIHZvbiBkZXIgVW1nZWh1bmdzc3RyYXNzZSB1bmQgZGFubiBhdWYgZGllIEFsYmVyc2xvaGVyIFN0cmFzc2UgKGlzdApkYXMgZGllIEFsYmVyc2xvaGVyPykgUmljaHR1bmcgU3RhcGVsc2tvdHRlbi9GcmVpYmFkICg/KS4gQXVmIGplZGVuIApGYWxsIG5pY2h0IG5hY2ggTXVlbnN0ZXIgcmVpbi4gRGVyIEZ1bmt0dXJtIHNvbGx0ZSBqZXR6dCByZWNodHMgdm9uIEV1Y2gKc2Vpbi4KTGFhYWFuZ2UgZGVyIFN0cmFzc2UgZm9sZ2VuLiBJcmdlbmR3YW5uLCB3ZW5uIGlociBhdXMgZGVyIFN0YWR0IHJhdXMgc2VpZCwKa29tbXQgbGlua3MgZWluIFJlaXRlcmhvZiwgZGllIG5hZWNoc3RlIGxpbmtzIGFiIHNvbGx0ZSBkYW5uIGRpZSBBYmZhaHJ0CkZyZWliYWQvQ2FtcGluZ3BsYXR6IHNlaW4uIApJaHIga29lbm50IGJpcyBhYmVuZHMgdW0gMjE6MDAgYW5yZWlzZW4sIGRhbmFjaCBkYXJmIG1hbiBuaWNodCBtZWhyIGRyYXVmLiAKV2FubiBkaWUgbW9yZ2VucyBhdWZtYWNoZW4gd2Vpc3MgaWNoIG5pY2h0Li4uCkFlaCwgdmllbGxlaWNodCBzY2hyZWliIGljaCBub2NobWFsIG5lIGJlc3NlcmUgV2VnYmVzY2hyZWlidW5nLCBJY2ggd2V0dGUKUm9jaHVzIHdpcmQgaW4gamVkZW0gRmFsbCBub2NobWFsIG5lIEthcnRlIG1hbGVuLiBCdXNsaW5pZW4gc3VjaCBpY2ggbm9jaApyYXVzLgoKTm9jaCBGcmFnZW4/CgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmVpdHJhZy9Lb3N0ZW4gKENhdHdlYXpsZSwgMjIuIEp1bCAxOTk4LCAxNTo0NjozNSk6CgpOb2NobWFsIGd1Z2d1Zy4KCkRpZSBQYXJ0eSBpc3QgbmF0dWVybGljaCBuaWNodCBnYW56IGZ1ZXIgbGF1ZiBmaW5hbnppZXJiYXIuIERlc3dlZ2VuIGlzdCBlcyAKd2ljaHRpZywgZGFzIElociBzbyBzY2huZWxsIHdpZSBtb2VnbGljaCBkaWUgbm90d2VuZGlnZSBLb2hsZSBydWViZXJzY2hpZWJ0LApvaG5lIFZvcmZpbmFuemllcnVuZyBsYWV1ZnQgbmFlbWxpY2ggRXJmYWhydW5nc2dlbWFlc3MgZ2FyIG5pY2h0czoKCkFsc28gdWViZXJ3ZWlzdCBiaXR0ZSBkZW4gUGFydHliZWl0cmFnIHZvbiAyMERNIGF1ZiBmb2xnZW5kZXMgS29udG86Ck5hbWU6IENocmlzdGlhbiBTY2hpbGQKQmFuazogU3RhZHRzcGFya2Fzc2UgTXVlbnN0ZXIKQkxaOiAgNDAwNTAxNTAKS3ROcjogMTgwMDY2NjU2CgpXZXIgZGFzIEdlbGQgbmljaHQgYmlzIHp1bSAxNC4gQXVndXN0IHVlYmVyd2llc2VuIGhhdCwgbXVzcyBhbiBkZXIgQWJlbmRrYXNzZQozMERNIHN0YXR0IDIwRE0gYmV6YWhsZW4uIEljaCBob2ZmZSBkaWVzIGlzdCBBbnJlaXogZ2VudWcgX2pldHp0XyBfZ2xlaWNoXwp6dXIgQmFuayB6dSByZW5uZW4gdW5kIHp1IHVlYmVyd2Vpc2VuLiAKCkljaCBob2ZmZSwgZGFzIGljaCBtaXQgMjBETSBhdXNrb21tZSwgZGEgaWNoICh3aWUgc2Nob24gZXJ3YWVobnQpIG5vY2gga2VpbmVuCkFobnVuZyBoYWJlLCB3YXMgZWluIGV2dGwuIFJhdW0ga29zdGV0LiBJbiBkZXIgUmVnZWwgcmVpY2h0IGRhcyBhYmVyLCB3aXIgCmhhYmVuIGF1Y2ggbm9jaCBlaW4gcGFhciBNYXJrIHVlYmVyIGluIGRlciBQYXJ0eWthc3NlIHZvbiBkZXIgV2ludGVyZmV0ZS4KCk1pdCBkaWVzZW0gR2VsZCB3aXJkIGhhdXB0c2FlY2hsaWNoIGRlciBTYW1zdGFnYWJlbmQgZmluYW56aWVydCwgYWxzbyAKUmF1bSwgRXNzZW4gdW5kIFRyaW5rZW4uIFVuZCwgdW0gbWljaCBub2NobWFsIHp1IHdpZWRlcmhvbGVuLCB1ZWJlcndlaXN0IApfcmVjaHR6ZWl0aWdfLiBXZW5uIGljaCB2b3JoZXIga2VpbiBHZWxkIGhhYmUsIGFrbm4gaWNoIGF1Y2ggbml4IHp1IGVzc2VuCmthdWZlbiBvZGVyIFZvcnNjaHVlc3NlIGJlemFobGVuLiAKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VtaW5hcnZvcnRyYWVnZSAoU2lsdmFuYSwgMjIuIEp1bCAxOTk4LCAxODo0Nzo0MSk6CkhpLgoKRGEgZXMgd2llIGltbWVyIGFuIG1pciBoYWVuZ2VuZ2VibGllYmVuIGlzdCwgZnVlciBTZW1pbmFydm9ydHJhZWdlCnp1IHNvcmdlbiwgbW9lY2h0ZSBpY2ggZG9jaCBtYWwgaW4gZGllIGdyb3NzZSBSdW5kZSBhbmZyYWdlbiwgenUgd2FzCmZ1ZXIgVGhlbWVuIGRlbiB1ZWJlcmhhdXB0IFZvcnRyYWVnZW4gb2RlciBEaXNrdXNzaW9uc3J1bmRlbiBnZXd1ZW5zY2h0CndlcmRlbi4gU28gbGFuZ3NhbSBnZWhlbiBtaXIgbmFlbWxpY2ggZGllIElkZWVuIGF1cy4uLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VtaW5hcnZvcnRyYWVnZSAoQXJrLCAyMi4gSnVsIDE5OTgsIDE5OjEyOjEwKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTAxMTI2MDYxIHJnPXBhcnR5Cn4jISB0aWQ9OTAxMTI2MDYxCkFsc28gaWNoIHd1ZW5zY2hlIG1pciBuZW4gVm9ydHJhZyB1ZWJlciBkZW4gVkMuIEJpbiB6dSBmYXVsLCB1bSBtaWNoIGRhCmR1cmNoenVrYWVtcGZlbiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb290YmFsbCAoR3JvbywgMjIuIEp1bCAxOTk4LCAyMTo1Mjo0Myk6Cldlbm4gaWNoIG1pdHNwaWVsZSB3aWxsIGljaCBoaW50ZXJoZXIga2VpbmUgc2FjaGVuIGhvZXJuIHdpZSA6IEF1YSwgZGEgdHV0J3MKd2VoIApvZGVyOiBEYXMgd2FyIGFiZXIgenUgaGFydC9zY2htZXJ6aGFmdC9nb2IvdW5zcG9ydGxpY2gvbmljaHQgZmFpciAuLiAKT2RlciBpcmdlbmR3ZWxjaGUgYW5kZXJuIHdhcm1kdXNjaGVya29tZW50YXJlIC4uLgpBZWgsIHN0b2VydCBuaWNoLCB3ZW5uIGljaCBtaXQgbWVpbmVtIEJydXN0cGFuemVyIHVuZCBhbGxlbSBhbmtvbW1lbiAsd2EgPyA6KQpTb25zdCBrb2VubmVuIHdpciBqYSBnbGVpY2ggUnVnYnkgc3BpZWxlbiAqZ3JpbnNmaWVzKgoKR3JvbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmFzZWJhbGwvU29mdGJhbGwgKEhhcmRpbCwgMjMuIEp1bCAxOTk4LCAxMjoyOToxOSk6Cn4jISBybj1UZWRkeSBydD05MDExNDc4MTIgcmc9cGFydHkKfiMhIHRpZD05MDExMDUxMDQKCkhtbW0sCmZhbGxzIGljaCBrb21tZSwga2FubiBpY2ggYXVjaCBhbGxlcyBtaXRicmluZ2VuLCB3YXMgbWFuIGZ1ZXIgZWluIGdlcGZsZWd0ZXMKU29mdGJhbGxtYXRjaCBicmF1Y2h0LCBzb2xsIGhlaXNzZW4gQmFzZXMgdW5kIFNjaGxhZWdlci4gRGFubiBtdWVzc3RlIG1pY2ggbnJ1CmplbWFuZCBhbSBCYWhuaG9mIGFiaG9sZW4uCgotSGFyZGlsLgoKUFM6IEFjaHR1bmchIFdlciBlaW5lbiBndXRlbiBUcmlnZ2VyIGJlaW0gU2NobGFnZW4gaGF0LCBoYXQgVm9ydGVpbGUuIEFsc28KbG9zLCBSaW5nb2lyIHVuZCBDby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hZ2ljLVR1cm5pZXIgYXVmIGRlciBQYXJ0eT8gKEhhcmRpbCwgMjMuIEp1bCAxOTk4LCAxMjozNTo1MSk6CgpEYSBtaWNoIGRpdmVyc2VzIEdlZmx1ZWdlbCBpbnp3aXNjaGVuIHVlYmVycmVkZXQgaGF0LCBkYXNzIGljaCBhdWYgUGFydHkKYXV6dXRhdWNoZW4gaGFldHRlOgoKV2FzIGhhbHRldCBpaHIgdm9uIGVpbmVtIE1hZ2ljLVR1cm5pZXI/IElyZ2VuZHdvIHNvbGx0ZW4gc2ljaCBzY2hvbiBlaW4gcGFhcgpUaXNjaGUgYXVmdHJlaWJlbiBsYXNzZW4sIEthcnRlbiBrYW5uIGljaCBiZXNvcmdlbi9taXRicmluZ2VuLgpTYWd0IG1hbCB3YXMsIG9iIGlociBkYW5uIGxpZWJlciBtaXQgc2VsYnN0Z2ViYXV0ZW4gRGVja3MsIG9kZXIgbWl0IFByZUNvbgpkZWNrcyBvZGVyIHBlciBCb29zdGVyZHJhZnQgb2RlciBzb25zdHdpZSBzcGllbGVuIHdvbGx0LgoKLUhhcmRpbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vIFBsYW5ldGFyaXVtIChDYXR3ZWF6bGUsIDIzLiBKdWwgMTk5OCwgMTQ6NDE6MzkpOgpUamEsIHNvIHdpZXMgYXVzc2llaHQga2xhcHB0IGRhcyBtaXQgZGVtIFBsYW5ldGFyaXVtc2Jlc3VjaCBuaWNodC4gTmFjaGRlbSBpbQpGcnVlaGphaHIgZWluIFNjaHdlaW5ldHVyZXIgRGlnaXRhbFByb2pla3RvciBnZWthdWZ0IHd1cmRlLCB3aXJkIGRpZXNlciBudW4KZW5kbGljaCBpbnN0YWxsaWVydC4gRGFzIFBsYW5ldGFyaXVtIG1hY2h0IGVyc3Qgd2llZGVyIGFtIDI2LiBBdWd1c3QgYXVmLiAKU2llaHQgYWxzbyBzbyBhdXMsIGFscyBtdWVzc3RlbiB3aXIgZGllIFBhcnR5d29jaGUgdW0gZWluZSBuYWNoIGhpbnRlbgp2ZXJzY2hpZWJlbiA6KQoKWVRDIChqdXN0IGtpZGRpbmcgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWxwIChUd2luc2VuLCAyMy4gSnVsIDE5OTgsIDIxOjQwOjM0KToKQWxzbyBpY2ggd29sbHRlIG1hbCBmcmFnZW4gb2IgamVtYW5kIGVpbmVuIGFydGlrZWwgc2NocmVpYmVuIGthbm4sRGVyIGFsbGUKdWViZXIgYWxsZXMgaW5mb3JtaWVydC4KQWxzbyB3YXMgZXMgR2VuYXUga29zdGV0LHdvIGVzIGdlbmF1IGlzdCB1bmQgc28gd2FzIDopCgpUd2luc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQZW4gbiBQYXBlcj8gKFBha2UsIDI0LiBKdWwgMTk5OCwgMDc6NTI6NTkpOgpJY2ggd2Vpc3MgendhciBuaWNodCwgb2IgaWNoIGRpZSBaZWl0IGhhYmVuIHdlcmRlIHp1IGtvbW1lbiAoMgpTZW1lc3RlcmFyYmVpdGVuIGxhc3NlbiBncnVlc3NlbiAtIGRhYWFhbmtlIFVuaSksIGFiZXIgbmVuIFZvcnNjaGxhZyBoYWV0dGUKaWNoIHRyb3R6ZGVtOgpXaWUgd2FlcmUgZXMgZGVubiAtIGRhIE11ZC12ZXJ3YW5kdCAtIG1pdCBlaW5lciBuZXR0ZW4gUnVuZGUgU2hhZG93cnVuLApCYXR0bGV0ZWNoLCBNZWNod2FycmlvciwgU3RhcndhcnMgb2RlciBhZWhubGljaGVtPwpJY2ggZGVua2UsIGVzIGdpYnQgZ2VudWVnZW5kIE11ZGRlciwgZGllIGluIGRpZXNlciBSaWNodHVuZyBha3RpdiBzaW5kIHVuZApkYXJhbiBpaHJlbiBTcGFzcyBoYWV0dGVuIDopKQoKanVzdCBteSAuMgpQYWtlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eSBpbiBNUyAoTXlzdGVyaW91cywgMjQuIEp1bCAxOTk4LCAwODo1MzowMCk6Cm5pIGhhbyEKCmJhc2ViYWxsOiBqYWFhLi4gaWNoIHdlcmQgdmVyc3VjaGVuLCBtZWluZSBzYWNoZW4gKGtldWxlLCBoYW5kc2NodWgsIGJhbGwpIGluCmlyZ2VuZGVpbiBhdXRvIHp1IHN0b3BmZW4sIGRhcyBuYWNoIG1zIGZhZWhydC4uCgptYWdpYzoga2xvYXIsIG1laW5lIGJlc2NoZWlkZW5lbiBkZWNrcyB3ZXJkIGljaCBhdWNoIG1pdGJyaW5nZW4gKGFiZXIgbgp0dXJuaWVyIG11c3MgamEgbmljaCBzZWluOyB3ZXIgd2lyZCBzY2hvbiBnZXJuZSBsZXR6dGVyPyA+OikKc3BpZWx0IGplbWFuZCB2b24gZXVjaCBtaWRkbGVlYXJ0aCBvZGVyIG5ldHJ1bm5lcj8gaWNoIGhhZXR0IGRhIG5vY2ggendlaQpzdGFydGVyLXBhY2tzIHp1bSBzcGllbGVuLCBiencuIHZlcnNjaGVyYmVsbiA6KQoKcGVuJnBhcGVyOiBhdWNoIHdlbm4gaWNoIHNoYWRvd3J1biBub2NoIG5pZSBnZXNwaWVsdCBoYWIsIHd1ZXJkIGljaCBnZXJuZQptaXRtYWNoZW4gKGFtIGxpZWJzdGVuIGFscyBkZWNrZXIgKHVuZCB3ZW5uIGRhIGtlaW5lciBib2NrIGRyYXVmIGhhdCwgZGFubgp3dWVyZCBpY2ggbWljaCBhdWNoIGFscyBzY2hhbWFuZSB2ZXJkaW5nZW4pKQoKc29vLi4gd2FzIGZhZWxsdCBtaXIgbm9jaCBlaW4/PyBobW0uLiBmYWVocnQgamVtYW5kIHZvbiBldWNoIHNrOGJvYXJkPyBkYW5uIAp3dWVyZCBpY2ggYXVjaCBtZWluIGJyZXR0Y2hlbiBtaXRicmluZ2VuLi4uCgpzb2RlbGUgIGR1aWlpaQoKZEEgbVlzdEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1hZ2ljLVR1cm5pZXIgYXVmIGRlciBQYXJ0eT8gKFBhZHJlaWMsIDI0LiBKdWwgMTk5OCwgMDk6MTc6MTgpOgp+IyEgcm49QW5hY3Jpb24gcnQ9OTAxMjM4NjU4IHJnPXBhcnR5Cn4jISB0aWQ9OTAxMTkwMTUxCkphIGFsc28gamUgbmFjaGRlbSB3YW5uIGRhcyBUdW5pZXIgc3RhdGZpbmRldCAoYmluIGphIG5pY2h0IGRpZSBnYW56ZSBXb2NoZQpkYSkgd3VlcmRlIGljaCBhdWYgYWxsZSBGYWVsbGUgZ2VybiBtaXRtYWNoZW4uIE11ZXNzdGUgbWFuIHNpY2ggbnVyIGF1ZiBkZW4KTW9kdXMgZWluaWdlbiBUeXAtSUkgZHVlcmZ0ZSBpY2ggYWxsbWFlaGxpY2ggUHJvYmxlbWUga3JpZWdlbiB1ZWJlcmhhdXB0IG5vY2gKZ3VlbHRpZ2UgS2FydGVuIHp1IGJlc2l0emVuIDopLiBXaWUgd2FlciBkZW5uIGVpbiBTZWFsdC1EZWNrLVR1bmllciAoYmVpCmdlbnVlZ2VuZCBaZWl0IGdnZi4gbWl0IHRhdXNjaGVuKT8KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRzaGlydG1vdGl2ZSAoQ2F0d2VhemxlLCAyNC4gSnVsIDE5OTgsIDE0OjQ2OjQyKToKTW9pbiEKCkljaCBoYWIgbWFsIGRpZSBiaXNoZXJpZ2VuIFRzaGlydG1vdGl2ZSwgZGllIGljaCBiZWtvbW1lbiBoYWJlIG5hY2gKb3Blbi9QYXJ0eS9CaWxkZXIvVHNoaXJ0bW90aXZlIGdlbGVndC4gU2VodCBzaWUgRXVjaCBhbiB1bmQgc3VjaHQgRXVjaCBlaW5zIAphdXMuIApJcmdlbmR3ZXIgaGF0IG1hbCBuZW4gd3d3LWxpbmsgYW5nZWdlYmVuLCBhYmVyIGljaCB3ZWlzcyBuaW1tZXIgd29oaW4uCkZhbGxzIGRvcnQgYmlsZGVyIGZlaGxlbiBzb2xsdGVuLCBiaXR0ZSBkYXMgYmlsZCBhbHMgbWFpbCBhbiAKY2F0d2VhemxlQG1hdGgudW5pLW11ZW5zdGVyLmRlIHNjaGlja2VuLCBOSUNIVCBpbnMgbXVkISEhCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0c2hpcnRtb3RpdmUgKFJvY2h1cywgMjQuIEp1bCAxOTk4LCAyMTozMDo1Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTAxMjg0NDAyIHJnPXBhcnR5Cn4jISB0aWQ9OTAxMjg0NDAyCkljaCBzZWhlIGdlcmFkZSwgZGFzcyBhdWYgd3d3LmVsZndvb2QuY29tIGVpbmUgZGVyYXJ0IGdyb3NzZSBNZW5nZQp0ZWlsd2Vpc2UgYnJhdWNoYmFyZXIgTW90aXZlIGlzdCwgZGFzcyBpY2ggZGllIFNpY2h0dW5nIHdvaGwgbmljaHQKYWxsZWluZSBzY2hhZmZlIC0gbWFjaHQgZG9jaCBtYWwgVm9yc2NobGFlZ2UgOikKCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1TaGlydC1Nb3RpdmUgaW0gV2ViIChSb2NodXMsIDI3LiBKdWwgMTk5OCwgMTY6MDU6NDEpOgpEaWUgVm9yc2NobGFlZ2UgZnVlciBkaWUgVC1TaGlydF9tb3RpdmUgc2luZCBqZXR6dCB1bnRlcgogIGh0dHAuLy9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTAvdHNoaXJ0LwphYnJ1ZmJhci4gSWNoIGhvZmZlIGVzIHNpbmQgYW5uZWhtYmFyZSBWb3JzY2hsYWVnZSBkYWJlaSA6KQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhaGwgZGVzIFQtU2hpcnQtTW90aXZlcyAoUm9jaHVzLCAyNy4gSnVsIDE5OTgsIDE4OjMxOjUzKToKSWNoIGhhYmUgbWFsIGRpZSBXYWhsbWFzY2hpbmUgaW4gZGVyIEFiZW50ZXVyZXJnaWxkZSBhdWZnZXN0ZWxsdCwKd2VpbCB3aXIgdW5zIG5pY2h0IGF1ZiBlaW4gTW90aXYgZWluaWdlbiBrb2VubmVuIDotKQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtc2hpcnRzIChMYXJpc3NhLCAyOC4gSnVsIDE5OTgsIDEyOjU3OjEyKToKQWVoYWVtLAoKYXVmIGRpZSBHZWZhaHIgaGluIGRhc3MgQ2F0dHkgbWljaCBlcnd1ZXJndCwgYWJlciB3aWUgd2FlcmUgZXMKZGVubiB3ZW5uIHNpY2ggZGVyIGVpbiBNb3RpdiBhdXNzdWNoZW4ga29lbm50ZSB2b24gZGVuIHZvcmdlc2NobGFnZW5lbj8KCkxhcmksIHd1ZXJkZSBhdWNoIGhlbGZlbiBkYXMgenUgb3JnYW5pc2llcmVuLCB3aWxsIGFiZXIgYXVmIGtlaW5lbgogICAgIEZhbGwgc29uIG5lbiBOdWNrZWwtRHJhY2hlbiBhdWZtIFNoaXJ0ICpiaWJiZXIqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVscCAoQ2F0d2VhemxlLCAyOC4gSnVsIDE5OTgsIDEzOjE1OjAxKToKfiMhIHJuPVR3aW5zZW4gcnQ9OTAxMjIyODM0IHJnPXBhcnR5Cn4jISB0aWQ9OTAxMjIyODM0CktlaW4gUHJvYmxlbSwgYmxhZXR0ZXIgZWluIHBhYXIgQXJ0aWtlbCB6dXJ1ZWNrLgpXaWNodGlnIGZ1ZXIgZGllIFBhcnR5IHNpbmQgZGllIEFydGlrZWwgJ0VpbmFsZHVuZyB6dW0gU29tbWVyY2FtcCAxOTk4JywgCidDYW1waW5ncGxhdHppbmZvJyB1bmQgUGFydHliZWl0cmFnL0tvc3RlbicuCllUQwpQUzogSWNoIHdlcmRlIGRpZSBQYXJ0eXJ1YnJpayBhdWNoIG1hbCBldHdhcyBhdXNkdWVubmVuIHVuZCBldHdhcwpTY2hyb3R0IHJhdXNsb2VzY2hlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9ydHJhZWdlIChHbG9pbnNvbiwgMjguIEp1bCAxOTk4LCAxMzozMToyOSk6CkhtIC4uLiB3aWUgc2llaHQgZXMgbWl0IGVpbmVtIFZvcnRyYWc6IEFuc2FldHplIGZ1ZXIgRU1zIEJhbGFuY2UgYXVzPyBEaWUKSGVyYW5nZWhlbnN3ZWlzZSBkdWVyZnRlIChpbnNiZXNvbmRlcmUgTFAtTVVELU1hZ2llciBhdXNzZXJoYWxiIE1HKSBzaWNoZXItCmxpY2ggcmVjaHQgaW50ZXJlc3NhbnQgc2VpbiwgZGVubiBpY2ggaGFiIGRhIGtlaW5lbiBzbyByZWNodGVuIGJsYXNzZW4KU2NoaW1tZXIgdm9uLgoKR2xvaW4gLi4uIG5laW4sIGRhcyBpc3QgbmljaHQgYWxzIFNhdGlyZSBnZWRhY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFzc2lzdGVuL2luIEdlc3VjaHQuLi4gKEdyb28sIDI4LiBKdWwgMTk5OCwgMjM6NTI6NDApOgpJbW1lciBub2NoIGZ1cmUgZGllIE11ZHBhcnR5IC4uLgpJbnRyZXNzZSA/Ckdyb28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULXNoaXJ0cyAoR2xvaW5zb24sIDI5LiBKdWwgMTk5OCwgMDE6Mzk6MzQpOgp+IyEgcm49TGFyaXNzYSBydD05MDE2MjM0MzIgcmc9cGFydHkKfiMhIHRpZD05MDE2MjM0MzIKSG1tbSAsLCwgZGllIElERUUgaXN0IGd1dCwgZGVubiBpY2ggbWlyIGdlZmFlbGx0IHJvY2h1czMgYXVmICduZW0gc2Nod2FyemVuClNoaXJ0IGdlbmlhbCwgYWJlciBzaWNoZXJsaWNoIG5pY2h0IF9kZXJfIE1laHJoZWl0LCB3ZW5uIGdld2FlaGx0IHdpcmQuCk1hY2hiYXIgb2RlciBuaWNodD8gV2VubiBuaWNodCwgZGFubiBnZWIgaWNoIGpldHp0IG1laW5lbiBUaXAgYWIgOikKCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRkcgYWIgQmVybGluID8gKEJ1enpjdXQsIDMwLiBKdWwgMTk5OCwgMTY6MTc6MTEpOgpIaSBhbiBhbGxlIEJlcmxpbmVyLCBkaWUgbmFjaCBNdWVuc3RlciBwaWxnZXJuIC4uLiBXZXIgZmFlaHJ0IHVuZ2VybiBhbGxlaW4gPwpJY2ggaGFiIGtlaW5lIEx1c3QgYWxsZWluIHp1IGZhaHJlbiwgYWxzbyB3ZXIgaGF0IG5vY2ggTHVzdCAuLi4gWnVnIG9kZXIgQXV0bwplZ2FsIC4uLiA6KSBFaW5mYWNoIHBlciBNdWRNYWlsIG1lbGRlbiAuLi4gb2tpIGJpcyBiYWxkICp3aW5rKiAKRmx1Y2h0endlcmcgQnV6emN1dCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1GRyBNdWVuc3RlciAoUmlrdXMsIDMwLiBKdWwgMTk5OCwgMjE6Mjc6NTkpOgpIaSwKaWNoIGhhZXR0ZSBub2NoIDEtMiBNRkdzIGluIG1laW5lbSBBdXRvIGFiIENoZW1uaXR6IG9kZXIgRHJlc2RlbiBhbnp1LQpiaWV0ZW4uIEVudHdlZGVyIGZhaHJlbiB3aXIgYW0gRE8gb2RlciBGUiBoaW4gdW5kIGFtIFNPIGFiZW5kIHp1cnVlY2suCgpCZWkgSW50ZXJlc3NlIG1haWwgYW4gbWljaCwgUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRkcgYWIgQmVybGluID8gKE15c3RlcmlvdXMsIDMxLiBKdWwgMTk5OCwgMTA6NDc6NDIpOgp+IyEgcm49QnV6emN1dCBydD05MDE4MDgyMzEgcmc9cGFydHkKfiMhIHRpZD05MDE4MDgyMzEKbmkgaGFvLCBidXp6Y3V0Li4KCnRqYSwgZGFubiBrb21tIGRvY2ggZWluZmFjaCBtb3JnZW4genUgZ25vbWVzIGdhcnRlbnBhcnR5Li4Kb2RlciBuYWVjaHN0ZW4gZnJlaXRhZyB6dW0gc3RhdGkKZGEga29lbm5lbiB3aXIgc2ljaGVybGljaCBuYWVoZXJlcyBiZXNwcmVjaGVuLi4KCmR1aWlpaQpkQSBtWXN0QQpwLnMuIE5BSFJEVwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hpbmVzZSAoTGFyaXNzYSwgMzEuIEp1bCAxOTk4LCAyMDozNzoyNCk6CgpBZWhlbSwKCmRhIGxlcyBpY2ggZG9jaCBncmFkIGluIGRlbiBXZWJzZWl0ZW4sIGRhc3MgaWNoIGZ1ZXJzIE9yZ2FuaXNpZXJlbiB2b20Kc29ubnRhZWdsaWNoZW4gQ2hpbmEtRXNzZW4genVzdGFlbmRpZyBiaW4uLi4qc293YXMqCgpOYWd1dCwgQW5tZWxkdW5nZW4gYml0dGUgcGVyIE1haWwgYW4gbWljaCwgaWNoIGRlbmtlIGVzIHdpcmQgd2llZGVyIGVpbgpCdWZmZXQgZ2ViZW4sIGFuZGVycyBrYW5uIG1hbiBrZWluZW0gQ2hpbmVzZW4gZGllc2VyIFdlbHQgdWViZXIgMTAwIE11ZGRlcgphdWZoYWxzZW4uCgpHcnVlc3NlLCBMYXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZW1pbmFyIChTaWx2YW5hLCAgNC4gQXVnIDE5OTgsIDAxOjE4OjI5KToKU28sIGRpZSBUaGVtZW4gZGVzIFNlbWluYXJzIGJpc2hlcjoKCjEpIERpZSBHaWxkZW4gZGVzIE1vcmdlbmdyYXVlbnMgKE1vcmdvdGgpCjIpIEVpbiBBbmZhZW5nZXJ0aGVtYSAoVm9ydHJhZ2VuZGVyIHVuZCBUaGVtYSB3ZXJkZW4gbm9jaCBnZXN1Y2h0KQozKSBWaXJ0dWFsIENvbXBpbGVyIChIYWRyYSwgZmFsbHMgZXIga29tbXQsIEFsdGVybmF0aXZlIGJpdHRlIG1lbGRlbikKNCkgRWZmaXppZW50ZXMgUHJvZ3JhbW1pZXJlbiAoUm9jaHVzKQo1KSBDbG9zdXJlcyAoUGF0cnluKQpEYXMgYWxsZXMgbmljaHQgendpbmdlbmQgaW4gZGVyIFJlaWhlbmZvbGdlLgoKQXVzc2VyZGVtIHd1cmRlIGRhcyBUaGVtYSBHaWxkZW5iYWxhbmNlIChFaW5zY2hhZXR6dW5nc2dydW5kbGFnZW4gZXRjKQpnZXd1ZW5zY2h0LiBEYSBlcyBkYWJlaSB2ZXJtdXRsaWNoIHp1IGhpdHppZ2VuIERpc2t1c3Npb25lbiBrb21tdCwgZGllc2VzIGFsc28KenVtIFNjaGx1c3MgLSBmYWxscyBpY2ggc2VsYnN0IHVlYmVyaGF1cHQga29tbWVuIGthbm4uIERhcyBpc3QgbGVpZGVyCm5vY2ggbmljaHQgc2ljaGVyLgoKICBTaWx2YW5hClBTOiBBY2ggamEsIGRpZSBlaW56ZWxuZW4gVGhlbWVuIHNvbGx0ZW4gbmljaHQgbWVociBhbHMgMTVtaW4gaW4KICAgIEFuc3BydWNoIG5laG1lbi4gRGFzIGxldHp0ZSBUaGVtYSBoaW5nZWdlbi4uLiBOYWphLCBzY2hhdW1lcm1hbC4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFiaG9sZGllbnN0IGdlc3VjaHQgOykgKFNob3JrYW4sICA0LiBBdWcgMTk5OCwgMTY6MDc6MjkpOgpIaWhvCgpGcmFueiB1bmQgaWNoIGtvbW1lbiBhbSBEaWVuc3RhZ2FiZW5kIHp1ciBQYXJ0eS4gRGEgd2lyIG1pdCBkZW0gRmxpZWdlcgpyZWlzZW4sIHN1Y2hlbiB3aXIgbm9jaCBqZW1hbmRlbiwgZGVyIHVucyB2b20gRmx1Z2hhZmVuIGFiaG9sZW4ga29tbXQuCkRhIHdpciBhbiBkZW4gU3RhbW0gbW9lY2h0ZW4sIHdhZXJlIGVzIGFtIGJlc3RlbiBqZW1hbmQsIGRlciBhdWNoCmdlcGxhbnQgaGF0IGRlbiBTdGFtbSB6dSBiZXN1Y2hlbi4KCldlciBpc3Qgc28gZnJldW5kbGljaCB1bmQgaG9sdCB1bnMgYWIgPwoKTWFpbHMgYml0dGUgYW4gRnJhbnogb2RlciBhbiBtaWNoLgoKVmllbGVuIERhbmsKClNob3JrYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYmhvbGRpZW5zdCBnZXN1Y2h0IDspIChTaWx2YW5hLCAgNC4gQXVnIDE5OTgsIDE5OjUzOjQ5KToKfiMhIHJuPVNob3JrYW4gcnQ9OTAyMjM5NjQ5IHJnPXBhcnR5Cn4jISB0aWQ9OTAyMjM5NjQ5CldhZXJlIHZpZWxsZWljaHQgaW50ZXJlc3NhbnQgenUgd2lzc2VuLCB2b24gV0VMQ0hFTSBGbHVnaGFmZW4gaWhyCmFiZ2Vob2x0IHdlcmRlbiB3b2xsdC4uLiBQYWRlcmJvcm4gd2FlcmUga2VpbiBQcm9ibGVtIGZ1ZXIgbWljaC4uLgoKICBTaWx2YW5hIChmcmFndCBzaWNoLCBvYiBNUyBuZW4gRmx1Z2hhZmVuIGhhdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWJob2xkaWVuc3QgZ2VzdWNodCA7KSAoQXVncmEsICA0LiBBdWcgMTk5OCwgMjA6NDE6MDApOgp+IyEgcm49U2lsdmFuYSBydD05MDIyNTMyMjkgcmc9cGFydHkKfiMhIHRpZD05MDIyMzk2NDkKTXVlbnN0ZXItb3NuYWJydWVjayBoYXQgbmVuIGZsdWdoYWZlbiwgYWJlciB2aWVsbGVpY2h0IG1laW5lbiBzaWUgYXVjaApkb3J0bXVuZD8gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFiaG9sZGllbnN0IGdlc3VjaHQgOykgKFNob3JrYW4sICA1LiBBdWcgMTk5OCwgMDk6MDY6MjkpOgp+IyEgcm49U2lsdmFuYSBydD05MDIyNTMyMjkgcmc9cGFydHkKfiMhIHRpZD05MDIyMzk2NDkKSGkKCkFsc28gZXMgaXN0IGRlciBGbHVnaGFmZW4gdm9uIE11ZW5zdGVyIHVuZCBkaWUgZ2VwbGFudGUgQW5rdW5mdHN6ZWl0IGlzdAoxOTowMC4gRGVyIEZsdWcgaGF0IGRpZSBOdW1tZXIgTFg1NTYgKENyb3NzYWlyKS4KCldvbGx0ZSBldWNoIGRpZXNlIERhdGVuIG5pY2h0IHZvcmVudGhhbHRlbiA7KQoKU2hvcmthbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENhbXBpbmdwbGF0eiBJbmZvIChNdXJrZXMsICA1LiBBdWcgMTk5OCwgMTE6MDk6MjkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwMTExNDU2OSByZz1wYXJ0eQp+IyEgdGlkPTkwMTExNDU2OQpadXIgV2VnYmVzY2hyZWlidW5nOgpWb24gZGVyIEE0MyBmYWVocnQgbWFuIGF1ZiBkZXIgVW1nZWh1bmdzc3RyYXNzZSBSaWNodHVuZyBIYWxsZSBNdWVuc3RlcmxhbmQsCmF1Y2ggQmllbGVmZWxkIHNvbGx0ZSBkYSBhdXNnZXNjaGlsZGVydCBzZWluLiBJaHIgbXVlc3N0IGRhbm4gZGllIEFiZmFocnQKV29sYmVjayBuZWhtZW4gdW5kIGxhbmRldCBhdWYgZGVyIFdvbGJlY2tlciBTdHJhc3NlIChuaWNodCBhdWYgZGVtIEFsYmVyc2xvaGVyCldlZyEpLiBEb3J0IGZhaHJ0IGlociBSaWNodHVuZyBXb2xiZWNrIChzdGFkdGF1c3dhZXJ0cykgbmFjaGRlbSBpaHIgZGllIFdlcnNlCihGbHVzcykgdWViZXJxdWVydCBoYWJ0IGdlaHQgZXMgbGlua3MgcmVpbiB6dW0gRnJlaWJhZCBTdGFwZWxza290dGVuIHVuZCB6dW0KQ2FtcGluZ3BsYXR6LiBXZXIgc2ljaCB2ZXJmYWVocnQgc29sbHRlIG5hY2ggZnJlaWJhZCBTdGFwZWxza290dGVuIGZyYWdlbiwgZGFzCmtlbm5lbiBkaWUgbWVpc3RlbiBNdWVuc3RlcmFuZXIuCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hpbmVzZSAoTGFyaXNzYSwgIDUuIEF1ZyAxOTk4LCAxMjowNTo1Myk6CgpBaG9pIQoKSWNoIG1vZWNodGUgbm9jaG1hbCBhbGxlIGJpdHRlbiwgZGllIGFtIHRyYWRpdGlvbmVsbGVuIFBhcnR5LUVuZC1DaGluYS1Fc3NlbgphbSBTb25udGFnIHRlaWxuZWhtZW4gbW9lY2h0ZW4gbWlyIGRpZXMgcGVyIG1haWwga3VyeiBtaXR6dXRlaWxlbiEKCkVzIG1hY2h0IGtlaW5lbiBTaW5uIGZ1ZXIgMTIwIExldXRlIHp1IGJlc3RlbGxlbiwgd2VubiBkYW5uIG51ciAyMCBrb21tZW4gdW5kCndlbm4gd2lyIG51ciAyMCBHYWVzdGUgYW5tZWxkZW4gdW5kIGVzIHdlcmRlbiAxMjAgaXN0cyBhdWNoIG5pY2h0IGJlc3NlciEKCkxhcmkuCgpQUy4gQml0dGUgYXVjaCBkaWUgTXVlbnN0ZXJhbmVyIHVuZCBkaWUsIGRpZSBzb3dpZXNvIGltbWVyIGRhYmVpIHNpbmQuClBQUy4gQmlzaGVyIGhhYmVuIHNpY2ggNCBhbmdlbWVsZGV0LiA0IFZlZ2F0YXJpZXIuIF9NaXJfIGlzdHMgcmVjaHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJhdW0gKENhdHdlYXpsZSwgIDUuIEF1ZyAxOTk4LCAxMjoxOTozOSk6CkhhYiBlaW5lbiA6KQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvY2hrdXJzPyAoWWVuZGksICA1LiBBdWcgMTk5OCwgMTQ6MjM6MjUpOgpXaWUgd2FlcmUgZXMgbWl0IGVpbmVtIEtvY2h0cmVmZmVuIHVudGVyIGRlbSBUaXRlbAoiQ2FyYWRocmFzIGNyZWllcnQgQ29lc3RsaWNoZXMgYXVmIENhbXBpbmdjb2NoZXJuIj8KCkRhcyB3YWVyZSBtaXQgU2ljaGVyaGVpdCBzZWhyIGJlbGllYnQuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPbiB3aXRoIHRoZSBzaG93IChDYXR3ZWF6bGUsICA1LiBBdWcgMTk5OCwgMTU6MjU6MjYpOgoKTW9pbiEKCkRhIGljaCBudW4gdGFzYWVjaGxpY2ggZWluZW4gZ2VlaWduZXRlbiBQYXJ0eXJhdW0gYmVrb21tZW4gaGFiZSwgc3RlaHQgCmVpbmVyIG9yZGVudGxpY2hlbiBGZXRlIG5peCBtZWhyIGltIFdlZ2UuIEljaCBoYWJlIGRpZSBSYWV1bWUgZGVzIApKdWdlbmR6ZW50cnVtcyBCYWhuaG9mIFdvbGJlY2sgYmVrb21tZW4sIG1pdCBDYWZlLCBCYXIsIERpc2tvcmF1bSwgCkJpbGxhcmR0aXNjaCBGbGlwcGVybiwgZWNodGVtIEJhaG5zdGVpZyBVTkQgSW50ZXJuZXRhbnNjaGx1c3MgOikKCkRhcyBnYW56ZSBpc3QgaW4gV29sYmVjaywgYWxzbyBldHdhcyBhdXNzZXJoYWxiIHZvbiBNdWVuc3Rlci4gRnVlciBtaWNoIHBlci0Kc29lbmxpY2ggc29nYXIgaG9jaGdyYWRpZyB1bmdlbGVnZW4sIGRhcyBkdWVyZnRlbiBmYXN0IDEwIGttIHNlaW4sIGFiZXIgZGEtCmZ1ZXIgaXN0IGRlciBDYW1waW5ncGxhdHogZ2FueiBpbiBkZXIgTmFlaGUuIE5hamFndXQsIGNhLiAza20gZW50ZmVybnQsIGFiZXIgCmRhZnVlciBkYXMgZGVyIFBsYXR6IGF1Y2ggZXR3YXMgYXVzc2VyaGFsYiBsaWVndCwgaXN0IGRhcyByZWNodCBuYWggOikKCkljaCBoYWJlIG1pdCBFbnRzZXR6ZW4gZmVzdGdlc3RlbGx0LCBkYXMgc2ljaCBlcnN0IDYwIExldXRlIGFuZ2VtZWxkZXQgCmhhYmVuLCB3YXMgZnVlciBlaW5lIE1HLXBhcnR5IHJlY2h0IHdlbmlnIGlzdC4gSWNoIGJpbiBtaXIgYWJlciBuaWNodCBzaWNoZXIsCm9iIGVpbiBTT21tZXJjYW1wIHNvb28gdW5hdHRyYWt0aXYgaXN0LCBkYXMgd2lya2xpY2ggbnVyIHNvIHdlbmlnIGtvbW1lbiwKZGFoZXIgd2VpZ2VyZSBpY2ggbWljaCBtb21lbnRhbiBtaXQgc293ZW5pZyBsZXV0ZW4genUga2Fsa3VsaWVyZW4uCkljaCBoYWJlIHZlcm1laHJ0IGdlaG9lcnQsIGRhcyBlaW5pZ2UgbmljaHQga29tbWVuLCB3ZWlsIHNpZSBrZWluIEJvY2sgYXVmCkNhbXBpbmcgaGFiZW4uCk51biwgZGFzIGlzdCBuYXR1ZXJsaWNoIGtlaW5lIFZlcnBmbGljaHR1bmchIFdlciBudXIgenVyIHBhcnR5IGFtIFNhbXN0YWcKa29tbWVuIHdpbGwsIGthbm4gZGFzIGdlcm5lIHR1biwgZXMgZ2lidCBpbW1lciBub2NoIGdlbnVnIE11ZW5zdGVyYW5lcgpkaWUgQmVzdWNoZXIgYXVmbmVobWVuLiBJY2ggemFlaGxlIGF1Y2ggbWljaCB1bmQgekIgV2FyZ29uIGRhenUgKGRlciB3b2hudApub2NoIHZpZWwgd2VpdGVyIHdlZyBhbHMgaWNoIHVuZCB3aWxsIGJlc3RpbW10IGplbWFuZGVuIGhhYmVuIGRlciBpaG4genVyClBhcnR5IGZhZWhydCA6LSkuCkRpZSBTYW1zdGFnc3BhcnR5IGxvaG50IHNpY2ggYXVmIGplZGVuIEZhbGwuIAoKRWluIFB1bmt0IGZ1ZXIgdW5zZXJlIE11c2lrZXIuCkRpZSBEaXNrbyBpbSBCYWhuaG9mIFdvbGJlY2sgaXN0IHp3YXIgZHVlc3RlciBhYmVyIHZvbGwgbWl0IE11c2lraGFyZHdhcmUKYXVzZ2VzdGF0dGV0LiBEaWUgaGFiZW4gYmlzIHp1bSBNaWNyb2ZvbiBhbGxlcyBkYS4gV2FzIGF1Y2ggaW1tZXIgdm9uIEV1Y2ggCmluIGRpZXNlciBIaW5zaWNodCBnZXBsYW50IGlzdCwgaWhyIGtvZW5udCBFdXJlIEluc3RydW1lbnRlIHJhbmthcnJlbiA6KQoKVW5kIG5vY2htYWwgZWluZSBXaWVkZXJob2x1bmcsIG1lbGRldCBFdWNoIGFuISBBdWYgZGVtIFBhcnR5YnJldHQgaW4gZGVuIApHaWxkZW4vU3RhcnRwdW5rdGVuLCBiZWltIFNwaWVsZXIgQ2FtcGluZywgd2VubiBpaHIgQ2FtcGVuIHdvbGx0IHVuZCBiZWkKTGFyaXNzYSwgd2VubiBpaHIgenVtIENoaW5lc2VuIGFtIFNvbm50YWcgbWl0a29tbWVuIHdvbGx0LgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFiaG9sZGllbnN0IGdlc3VjaHQgOykgKENhc3NhbmRyYSwgIDYuIEF1ZyAxOTk4LCAxMDowNzoxNyk6Cn4jISBybj1TaWx2YW5hIHJ0PTkwMjI1MzIyOSByZz1wYXJ0eQp+IyEgdGlkPTkwMjIzOTY0OQpNdWVuc3RlciBoYXQgZWluZW4hCkdlbmF1ZXJnZXNhZ3QgbXVlbnN0ZXItb3NuYWJydWVjaywgbGllZ3QgYWJlciBpbiBHcmV2ZW4KQ2Fzc3ksIGtlbm50IHNpY2ggZGEgYXVzLgo6LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaGluZXNlIChMYXJpc3NhLCAgNi4gQXVnIDE5OTgsIDEzOjAwOjE2KToKCgpXZWdlbiBoYWV1ZmlnZXIgTmFjaGZyYWdlOgoKRGFzIHRyYWRpdGlvbmVsbGUgQ2hpbmEtRXNzZW4gZmluZGV0IGdld29laG5saWNoIHNvIHVtIDEyOjAwIHN0YXR0LAp1ZWJyaWdlbmRzIG1pdHRlbiBpbiBNdWVuc3Rlciwgbml4IGF1c3NlcmhhbGIuCgpMYXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjYW1waW5nIChCaXJkeSwgIDYuIEF1ZyAxOTk4LCAxNzozNToxMyk6CkdpYnMgaXJnZW5kd28gbmUgbGlzdGUsIHdlciBjYW1wZW4ga29tbXQgPwpCaXJkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlbWluYXIgKEtleSwgIDYuIEF1ZyAxOTk4LCAxNzozOToxNik6Cn4jISBybj1TaWx2YW5hIHJ0PTkwMjE4NjMwOSByZz1wYXJ0eQp+IyEgdGlkPTkwMjE4NjMwOQpIbW0genVtIFZDIGJlc3RpbW1lIGljaCBQYWRyZWljIDopCgpVbmQgd2llIGR1IHdlaXNzdCBuaWNodCBvYiBEdSBrb21tc3Q/CgpTb3ZpZWwgQW5nc3Qgdm9yIHd1ZXRlbmRlbiBTcGllbGVybj8gLikKCktleSBncmluc3Qgc2VpbmUgRmFrZS1NYW1taSBhbiAsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaGUgWmVsdCAoSmltZGlncml6LCAgNy4gQXVnIDE5OTgsIDA5OjU1OjU1KToKSG9pICosCgpBbHNvIGljaCBoYWJlIG1hbCB2b3IgYXVjaCB6dW0gU29tbWVyY2FtcCB6dSBrb21tZW4sCnZlcm11dGxpY2ggTW9udGFnIG9kZXIgRGllbnN0YWcgYW5rdW5mdC4gRGFzIFByb2JsZW06IGljaCBoYWIga2VpbiBaZWx0LgpGYWxscyBhbHNvIGplbWFuZCBub2NoIGVpbiBQbGFldHpjaGVuIGZyZWkgaGFldHRlLCB3YWVyIGljaCAKcmVjaHQgZGFua2Jhci4gCgpDaWFvLAogSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULXNoaXJ0cyAoS2V0b3MsICA5LiBBdWcgMTk5OCwgMTY6MTg6NTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTAxNjY5MTc0IHJnPXBhcnR5Cn4jISB0aWQ9OTAxNjIzNDMyCkljaCBmaW5kZSBpdm8yLmpwZyByZWNodCBuZXR0LCBuYXR1ZXJsaWNoIG5vdmggbWl0IHNjaG9lbmVuIE1vcmdlbmdyYXVlbgpzY2hyaWZ0enVnLgpMZWlkZXIga2FubiBtYW4gZXMgbmljaHQgd2FlaGxlbi4uLiA6LSgKCi0gS2V0b3MgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVC1zaGlydHMgKEhhdGUsIDEwLiBBdWcgMTk5OCwgMTA6NDI6NTQpOgp+IyEgcm49S2V0b3MgcnQ9OTAyNjcyMzMxIHJnPXBhcnR5Cn4jISB0aWQ9OTAxNjIzNDMyCkRhcyBzaWVodCB3aWVkZXIgbmFjaCBlaW5lbSBLb21tZXJ6aWVsbGVuIEJpbGQgYXVzLgpHZW5hdXNvIHdpZSBkYXMgQmlsZCBkYXZvciBzaW5kIGRhcyBhbGxlcyBCaWxkZXIsIGRpZSBwb3RlbnRpZWxsIEFlcmdlcgplaW5icmluZ2VuIHVuZCBrZWluZXJsZWkgb3JpZ2luZWxsZW4gV2VydCBoYWJlbi4gV2FydW0gbWFsdCBpaHIgbmljaHQgc2VsYmVyCndhcywgd2llIHp1bSBCZWlzcGllbCBkYXMgQmlsZCB2b24gS2FydG9mZmUuIERhYmVpIHNvbGx0ZSBtYW4gYXVjaCBiZWFjaHRlbiwKZGFzcyB6dSBoZWxsZSBvZGVyIHp1IGR1bmtsZSBCaWxkZXIga2F1bSBndXQgYXVzc2VoZW4gKG5hY2ggZGVtIGVyc3RlbgpXYXNjaGVuIHNvd2llc28gbmljaHQgbWVocikuIEdyb3NzZmxhZWNoaWdlIEJpbGRlciBzaW5kIGF1Y2ggYmVzc2VyLApkYSBkaWUgd2luemlnZW4gRGV0YWlscyBzb3dpZXNvIG5pY2h0IG1laHIgenUgZXJrZW5uZW4gc2luZC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBULXNoaXJ0cyAoQm9pbmcsIDEwLiBBdWcgMTk5OCwgMTA6NDY6MTEpOgp+IyEgcm49SGF0ZSBydD05MDI3Mzg1NzQgcmc9cGFydHkKfiMhIHRpZD05MDE2MjM0MzIKSWNoIGhhYmUgdW50ZXIgL29wZW4vR3JhZmlrL01vbnN0ZXIgZ2VuaWFsZSBCaWxkZXIgdm9uIE1hZ2ljb2xsaQpnZWZ1bmRlbiwgd2llc28ga2FubiBtYW4gbmljaHQgZGF2b24gd2FzIGF1c3N1Y2hlbiBvZGVyIGlobiBiaXR0ZW4Kbm9jaCBlaW4gbmV1ZXMgTW90aWYgenUgZW50d2VyZmVuPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBULXNoaXJ0cyAoSGF0ZSwgMTAuIEF1ZyAxOTk4LCAxMDo1MDo0MCk6Cn4jISBybj1Cb2luZyBydD05MDI3Mzg3NzEgcmc9cGFydHkKfiMhIHRpZD05MDE2MjM0MzIKR2VuaWFsIHdhZXJlIGVpbiBCaWxkIG1pdCBhbGxlbiBtb2VnbGljaGVuIE1vbnN0ZXJuIHVuZCBlaW4gcGFhcgp0eXBpc2NoZW4gU3BpZWxlcnR5cGVuIGFscyBHcnVwcGVuYmlsZC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0c2hpcnRtb3RpdiAoQ2F0d2VhemxlLCAxMS4gQXVnIDE5OTgsIDExOjIwOjM2KToKTW9pbiEKCkFsc28gaWNoIG11c3MgbWljaCBsYW5nc2FtIGVudHNjaGVpZGVuLCB3ZWxjaGVzIG1vdGl2IGRlbm4gYXVmIHRzaGlydCBrb21tdC4KQm9pbmcgaGF0IG5ldWxpY2ggaW4gL29wZW4vR3JhZmlrL01vbnN0ZXIgZXR3YXMgYWVsdGVyZSBCaWxkZXIgdm9uIE1hZ2ljb2xsaQpnZWZ1bmRlbiwgZGllIGljaCBtYWwgZWluIGJpc3NjaGVuIDp6dXNhbW1lbmdlc3RlbGx0IGhhYmUuIEVyZ2VibmlzIHNpbmQKbWcubXVkLmRlL1BhcnR5L1BhcnR5LjEwL3RzaGlydC9tYWdpY29sbGkxLmdpZiB1bmQgbWFnaWNvbGxpMi5naWYuCkljaCBmaW5kZSBkaWUgQmlsY2hlbiBlaWdlbnRsaWNoIGdhciBuaWNodCBzY2hsZWNodCwgc2llIHBhc3NlbiBndXQgCnp1bSBNRyB1bmQgc2luZCBpbSBnZWdlbnNhdHogenUgZGVuIG1laXN0ZW4gYW5kZXJlbiB2b3IgYWxsZW0gc2VsYnN0Z2VtYWx0LiAKClZvciBhbGxlbSBmaW5kZSBpY2ggc2llIHBhc3NlbmRlciBhbHMgZGVuIGJpc2hlcmlnZW4gU3BpdHplbnJlaXRlciByb2NodXMyLgoKSWNoIHd1ZXJkZSBnZXJuZSBtYWdpY29sbGkyIGF1ZnMgdHNoaXJ0IGRydWNrZW4gbGFzc2VuIChtYWdpY29sbGkxIGR1ZXJmdGUgenUKa2xlaW4gdW5kIHVuZGV1dGxpY2ggd2VyZGVuKS4gRW50c2NoZWlkZW4gd2lyZCBzaWNoIGRhcyBhYmVyIHdvaGwgZXJzdCBhbSBXRQphbHNvIGhhYnQgaWhyIApoaWVyIGRpZSBNb2VnbGljaGtlaXQgZGFnZWdlbiB6dSBtZWNrZXJuIG9kZXIgZXMgenUgYmVmdWVyd29ydGVuLiAKCkFjaGphLCB3ZXIgZWluIFRzaGlydCBoYWJlbiB3aWxsLCBtb2VnZSBlaW5lIG1haWwgYW4gZGVuIFNwaWVsZXIgdHNoaXJ0IApzY2hyZWliZW4gbWl0IEFuemFobCxHcm9lc3NlIHVuZCBNVUQtTmFtZW4sIGRlciBhdWYgZGFzIHRzaGlydCBzb2xsLgpVbmQgZGFzIGJpdHRlIHJlY2h0IGJhbGQgOikKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm90ZmFsbG51bW1lciAoQ2F0d2VhemxlLCAxMS4gQXVnIDE5OTgsIDExOjIzOjE2KToKTW9pbiEKCgpJY2ggbW9lY2h0ZSBub2NoIGVpbmUgVGVsZWZvbm51bW1lciBiZWthbm50IGdlYmVuLCB1bnRlciBkZXIgaWNoIHp1CmVycmVpY2hlbiBiaW4sIGZhbGxzIG1hbCBkcmluZ2VuZGUgRnJhZ2VuIGFuc3RlaGVuLiBEaWUgTnVtbWVyIGlzdDoKICAgICAwMTc3LzMyMTI1MDAKCmFsc28gZWlnZW50bGljaCBnYW56IGVpbmZhY2ggenUgbWVya2VuLgoKSWNoIG1vZWNodGUgYmV0b25lbiwgZGFzIGVzIHNpY2ggdW0gZWluZSBOT1RGQUxMbnVtbWVyIGhhbmRlbHQuIEVzIGlzdAphbHNvIHVuYWdlYnJhY2h0IG1pY2ggZGEgYW56dXJ1ZmVuLCB1bSBtaXIgbWl0enV0ZWlsZW4sIGRhcyBtYW4gYW5nZWtvbW1lbiBpc3QKb2RlciBhZWhubGljaGUgTmljaHRpZ2tlaXRlbi4gV2VubiBpaHIgRXVjaCB2ZXJmYWhyZW4gaGFidCwgbmljaHQgd2lzc3Qgd28gaWhyCmhpbnNvbGx0LCBvZGVyIHdpY2h0aWdlIE9yZ2FuaXNhdG9yaXNjaGUgRnJhZ2VuIGhhYnQsIGRhbm4gaXN0IGVpbiBBbnJ1ZiBpbgpvcmRudW5nLiAKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlIChDaHJpc3RpYW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdHNoaXJ0bW90aXYgKExhcmlzc2EsIDExLiBBdWcgMTk5OCwgMTg6MjU6MTEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwMjgyNzIzNiByZz1wYXJ0eQp+IyEgdGlkPTkwMjgyNzIzNgoKSGksCmFsc28gaWNoIGZpbmRlIE1hZ2ljb2xsaSAyIHNlaHIgbmV0dCwgYWxsZXJkaW5ncyBzaW5kIGVpbmlnZSBkZXIga2xlaW5lbgpCaWxkY2hlbiBhbiBkZXIgU2VpdGUgYWJnZXNjaG5pdHRlbiwga2FubiBtYW4gZGFzIG5vY2ggdmVyYmVzc2Vybj8KCkxhcmksIGhlaXNzdCBkYXMgbmljaHQgJ2RlcicgV2VnaGllcj8/IFJvY2h1cz8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yYmVyZWl0dW5nIChDYXR3ZWF6bGUsIDEyLiBBdWcgMTk5OCwgMTE6MjQ6MDkpOgpNb2luIQoKV2lyIG11ZXNzZW4gdW5zIG5vY2htYWwgZnVlciBFSW5rYXVmc2xpc3RlbiB1bmQgVHJhbnNwb3J0bG9naXN0aWMKdHJlZmZlbi4gSWNoIHNjaGxhZ2UgRG9ubmVyc3RhZyBpbiBkZXIgTWF0aGUgdW0gMTg6MDAgVWhyIHZvci4KV2VyIGltbWVyIG1pdGhlbGZlbiB3aWxsIG1vZWdlIGRhaGluIGtvbW1lbiBvZGVyIG1pY2ggdm9yaGVyIAprb250YWt0ZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBhcnR5YmVpdHJhZyAoQ2F0d2VhemxlLCAxMy4gQXVnIDE5OTgsIDE2OjU0OjIxKToKTW9pbiEKCkljaCBtb2VjaHRlIGRlemVudCBkYXJhdWYgaGlud2Vpc2VuLCBkYXMgbW9yZ2VuIGRlciBsZXR6dGUgdGFnIGlzdCwgdW0KcmVjaHR6ZWl0aWcgZGFzIFBhcnR5Z2VsZCB2b24gMjAgRE0genUgdWViZXJ3ZWlzZW4uIEljaCBrYW5uIGlyZ2VuZHdpZSAKbmljaHQgZ2xhdWJlbiwgZGFzIG51ciA0MCBMZXV0ZSB6dXIgUGFydHkga29tbWVuIHdvbGxlbi4gCkRhIGljaCBtaXQgdWViZXIgMTAwIHJlY2huZSBmaW5kZSBpY2ggZGFzIGVpZ2VudGxpY2ggZ2FueiBndXQsIGRhcyBzbyB2aWVsZSAKMzAgRE0gYW4gZGVyIEFiZW5ka2Fzc2UgYmV6YWhsZW4gd29sbGVuLCBkYW5uIGhhYiBpY2ggbWVociBidWRnZXQsIGFiZXIgaW0KTW9tZW50IGlzdCBkYXMgemllbWxpY2ggU2NoaXR0ZSwgZGEgaWNoIGRhdm9uIGthdW0gbWVociBhbHMgZGVuIFJhdW0KYmV6YWhsZW4ga2Fubi4gV2VubiBpY2ggZXNzZW4gdW5kIHRyaW5rZW4gYW56YWhsZW4gd2lsbCwgYmluIGljaCBQbGVpdGUgOigKQWxzbzogU3BhcnQgMTBETSB1ZWJlcndlaXN0IG1vcmdlbiBub2NoIGRhcyBHZWxkISEhCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNhbXBpbmc6IExhc3QgSW5mb3MhIChDYXR3ZWF6bGUsIDEzLiBBdWcgMTk5OCwgMTc6MDE6NDcpOgoKTW9pbiEKCkFsc28gZGEgTXVya2VzIGphIHp1bSBHbHVlY2sgZGllIF9yaWNodGlnZV8gV2VnYmVzY2hyZWlidW5nIGdlc2NocmllYmVuCmhhdCwgZGVua2UgaWNoLCBkYXMgamVkZXIgZGVuIFBsYXR6IGZpbmRldC4gVHJvdHpkZW0gaGllciBub2NobWFsIGRpZSAKQWRyZXNzZToKQ2FtcGluZ3BsYXR6IE11ZW5zdGVyIFdvbGJlY2tlcnN0cmFzc2UKQmVzaXR6ZXI6IEZhbS4gS2FtcGVydApMYWVyZXIgV2Vyc2V1ZmVyCjQ4MTU3IE11ZW5zdGVyClRlbGVmb246IDAyNTEvMzExOTgyCgpXZW5uIGlociBhbmtvbW10IG1lbGRldCBFdWNoIGVpbmZhY2ggZ2FueiBub3JtYWwgYW4gdW5kIGdlYnQgYWxzIFN0aWNod29ydAonTW9yZ2VuR3JhdWVuJyBhbiwgZGFyYXVmIGhhYiBpY2ggc2llIGdldHJpZ2dlcnQsIGRhcyB2ZXJzdGVoZW4gZGllIGRhbm4KaG9mZmVudGxpY2ggOikKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHRlcm1pbmUhIChDYXR3ZWF6bGUsIDEzLiBBdWcgMTk5OCwgMTc6MjY6MTMpOgpNb2luIQoKTm9jaCBlaW4gcGFhciBVaHJ6ZWl0ZW4sIGZ1ZXIgYWxsZSwgZGllIGRlbiBVZWJlcmJsaWNrIHZlcmxvcmVuIGhhYmVuIDopCjE3Li0yMy44LiBTb21tZXJjY2FtcCBhdWYgZGVtIENhbXBpbmdwbGF0eiBNdWVuc3RlciAoaWNoIGRlbmtlIGRhcyBoYXQgbnUKSkVERVIgZ2VyYWZmdCA6LSkKCkZyZWl0YWcsIDIxLjguOiBUcmFkaXRpb25lbGxlcyBUcmVmZmVuIGFtIEFhc2VlLCBnbGVpY2hlIFN0ZWxsZSB3aWUgaW1tZXIKICAgICAgICAgICAgICAgIFdlciBuaWNodCB3ZWlzcyB3byBkYXMgaXN0IC4uLiBQZWNoZSBnZWhhYnQgOikKICAgICAgICAgICAgICAgIE5laW5laW4sIGljaCBob2ZmZSwgUm9jaHVzIG1hY2h0IG5vY2ggbWFsIGVpbiBLcmV1eiBhdWYgCiAgICAgICAgICAgICAgICBQbGFuLCBkZXIgaXN0IGRhbm4gaW0gV2ViIHp1IGJld3VuZGVybi4gQWIgMTk6MDAgVWhyIHdpcmQKICAgICAgICAgICAgICAgIGFtIEFhc2VlIGdlZ3JpbGx0LiBHcmlsbHpldWdzIHVuZCBHZXRyYWVua2Ugc2luZCBzZWxic3QtCiAgICAgICAgICAgICAgICBtaXR6dWJyaW5nZW4hISEKClNhbXN0YWcsMjIuOC46IFVtIDE0OjAwIGlzdCBkYXMgU2VtaW5hciBpbiBkZW4gSG9lcnNhZWxlbiBkZXIgTWF0aGVtYXRpaywKICAgICAgICAgICAgICAgZWJlbmZhbGxzIGFuIGRlciBnbGVpY2hlbiBTdGVsbGUgd2llIGltbWVyLiBXZXIgc2ljaCBmdWVyCiAgICAgICAgICAgICAgIExQQy1Qcm9ncmFtbWllcnVuZyBpbnRlcmVzc2llcnQga2FubiBzaWNoIGRhIGJlbGVocmVuIAogICAgICAgICAgICAgICBsYXNzZW4uIFdlbGNoZSBWb3J0cmFlZ2UgZXMgd2FubiBnaWJ0IHN0ZWxsdCBTaWx2YW5hCiAgICAgICAgICAgICAgIHp1c2FtbWVuLCBzaWUgaGF0IGF1Y2ggc2Nob24gbWFsIHdhcyBnZXBvc3RldC4KICAgICAgICAgICAgICAgQXVjaCBkaWVzZXIgUGxhdHoga29tbXQgaG9mZmVudGxpY2ggbm9jaCBpbnMgV2ViLgoKU2Ftc3RhZywyMi44LjogUGFydHlhYmVuZCBpbSBKdWdlbmR6ZW50cnVtIEJhaG5ob2YgV29sYmVjay4gRGFmdWVyIGdpYnRzIAogICAgICAgICAgICAgICBiZXJlaXRzIGVpbmUgS2FydGUgYXVmIGRlbiBXV1ctU2VpdGVuLiBLdXJ6ZSBXZWdiZXNjaHJlaWJ1bmc6CiAgICAgICAgICAgICAgIFZvbSBDYW1waW5ncGxhdHogbGlua3MgYXVmIGRpZSBMYW5kc3RyYXNzZSAoYnp3LiB1ZWJlciBkaWUgCiAgICAgICAgICAgICAgIEFtcGVsIGdlcmFkZWF1cyBkcnVlYmVyIGFuc3RhdHQgbGlua3MgYXVmIGRlbiBQbGF0eiBlaW56dS0KICAgICAgICAgICAgICAgYmllZ2VuLCB3ZW5uIG1hbiBhdXMgUmljaHR1bmcgTXVlbnN0ZXIga29tbXQpLiAKICAgICAgICAgICAgICBEYW5uIGFuIGRlciBuYWVjaHN0ZW4gQW1wZWwgcmVjaHRzIGFiLCBSaWNodHVuZyBXb2xiZWNrLiBCaXMKICAgICAgICAgICAgICB6dW0gT3J0IHNpbmRzIG5vY2ggZXR3YSAya20uIERhbm4gZHVyY2ggZGFzIE9lcnRjaGVuIGR1cmNoLAogICAgICAgICAgICAgIHNlaHIgZW5nZSBTdHJhc3NlIHVlYnJpZ2Vucy4gSW0gT3J0IGdpYnRzIG51ciBlaW5lIGVpbnppZ2UKICAgICAgICAgICAgICBBbXBlbCwgYW4gZGVyIGZhaHJ0IGlociBnZXJhZGUgYXVzIHVuZCBkYW5uIG5hY2ggY2EuIDEwMG0KICAgICAgICAgICAgICBfdm9yXyBlaW5lbSBNaXRzdWJpc2hpLUF1dG9oYWVuZGxlciByZWNodHMgaW4gZWluZSBrdXJ6ZSAKICAgICAgICAgICAgIFN0cmFzc2UsIGRhbm4gc3RlaHQgaWhyIFF1YXNpIGRpcmVrdCB2b3JtIEJhaG5ob2YgV29sYmVjay4KClNvbm50YWcsMjMuOC46IEFtIFNvbm50YWcgZ2VoZW4gYWxsZSBkaWUgZXMga29lbm5lbiB6dW0gQ2hpbmVzZW4gdW5kIHp3YXIKICAgICAgICAgICAgICAgYWIgMTI6MzAgVWhyLiBBdWNoIGRhcyBpc3QgZGVyIGdsZWljaGUgd2llIGltIGxldHp0ZW4gSmFoci4KCldlciBzaWNoIG5pY2h0IGF1c3JlaWNoZW5kIGVybGV1Y2h0ZXQgZnVlaGx0IHVuZCBwYXJ0b3V0IG5pY2h0IHdlaXNzLCB3bwplciBoaW5zb2xsLCBkZW0gc2VpIGdlc2FndCwgZGFzIGljaCBob2ZmZSBkZW4gbWVpc3RlbiBDYW1wZXJuIEthcnRlbiBpbiAKZGllIEhhbmQgZHJ1ZWNrZW4genUga29lbm5lbiwgYnp3LiBkZW4gV2VnIGVya2xhZXJlbi4gV2VyIHRyb3R6YWxsZWRlbQp0cm90eiBLYXJ0ZW4gdW5kIFdlZ2Jlc2NocmVpYnVuZyBpbW1lciBub2NoIEZ1ZWhydW5nIGJlZGFyZiBtYWcgc2ljaCAKYmVpIG1pciBlcmt1bmRpZ2VuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdXMgenVtIFBsYXR6IChDYXR3ZWF6bGUsIDEzLiBBdWcgMTk5OCwgMTc6Mjg6MjgpOgpNb2luIQoKV2VnIG1pdCBkZW0gWnVnIGtvbW10OiBEaWUgTGluaWUgUjIyLzMzMCBmYWVocnQgYWxsZSAyMCBNaW51dGVuIHp1bSAKQ2FtcGluZ3BsYXR6IChIYWx0ZXN0ZWxsZSBTdGFwZWxza290dGVuKSwgZHVlIEZhaHJ0IGRhdWVydCBiZWkgb3B0aW1hbGVtCkJ1c2ZhaHJlciAxNyBNaW51dGVuLiBXZXIgQXVzc3RlaWdlcGFuaWsgaGF0LCBkaWUgSGFsdGVzdGVsbGUgX2Rhdm9yXyAKaXN0IE1vbmRzdHJhc3NlLiBEaWUgTGluaWUgZmFlaHJ0IGFtIEJhaG5ob2YgbG9zLCBpY2ggd2Vpc3MgYWJlciBuaWNodAp2b24gd2VsY2hlbSBCdXNzdGVpZyBhdXMsIGFiZXIgaWNoIHRyYXVlIEV1Y2ggenUgZGFzIHJhdXN6dWZpbmRlbiA6KQoKWW91cnMgdHJ1bHksCiAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0c2hpcnRtb3RpdiAoQ2F0d2VhemxlLCAxMy4gQXVnIDE5OTgsIDE3OjQ1OjAyKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDI4MjcyMzYgcmc9cGFydHkKfiMhIHRpZD05MDI4MjcyMzYKQWxzbyBpY2ggbWFjaCBqZXR6dCBtYWwgbmVuIFB1bmt0LgpUc2hpcnQtTW90aXYgd2lyZCBtYWdpY29sbGkyLiAKSWNoIGxhc3NlIERpZSBUc2hpcnRzIGVyc3QgbmFlY2hzdGVuIE1pdHR3b2NoZSBtYWNoZW4sIGJpcyBkYWhpbiBpc3QgClplaXQsIHNpY2ggZWlucyB6dSBiZXN0ZWxsZW4uIApXZW5uIER1IGVpbnMgaGFiZW4gd2lsbHN0LCBzY2hpY2sgZWluZSBtYWlsIGFuIGRlbiBTcGllbGVyICd0c2hpcnQnIG1pdCAKSW5oYWx0OiBOYW1lIGRlciBhdWZzIHRzaGlydCBzb2xsLCBHcm9lc3NlIHVuZCBBbnphaGwuCkljaCB3ZXJkZSB6dW0gbGV0enRlbiBtYWwgRGllbnN0YWcgYWJlbmQgKDE4LjguKSBkaWUgbWFpbHMgYWJmcmFnZW4sCmJpcyBkYWhpbiBrYW5uIGJlc3RlbGx0IHdlcmRlbi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY2FtcGluZyAoWmFybml5YSwgMTMuIEF1ZyAxOTk4LCAxNzo1NDo1Nyk6CgpIaSwgCgpzdHVlbW10IGRhcyBlaWdlbnRsaWNoLCB3YXMgaWNoIHZvbiBmcnVlaGVyZW4gQmVzdWNoZXJuIGRlcyBQbGF0emVzIGhvZXJlLApkYXNzIGRlciBlY2h0IHNjaGVpc3NlIHNlaW4gc29sbD8gdWViZXJhbGwgZGV1dHNjaGUgU3BpZXNzZXIgbWl0IFphZXVuY2hlbiB1bQpkZW4gV29obndhZ2VuLCBGYWhuZW5tYWVzdGUgbWl0IFJlaWNoc2tyaWVnc2ZsYWdnZSBhdWYgZGVtIERhY2gsIEJpZXJ3YWVuc3RlLApla2xpZ2UgYWx0ZSBPbW1hcyB1bmQgYWJlbmRzIGFiIDIyIFVociBpc3QgYmV0dHJ1aGU/IFd1ZW5zY2ggZXVjaCBhbGxlbiB2aWVsClNwYXNzLgoKWmFybml5YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGNhbXBpbmcgKENhdHdlYXpsZSwgMTMuIEF1ZyAxOTk4LCAxNzo1OTo1OSk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwMzAyMzY5NyByZz1wYXJ0eQp+IyEgdGlkPTkwMzAyMzY5NwpOYXR1ZXJsaWNoIGhhc3QgRHUgcmVjaHQuCk1hbiBkYXJmIGhhbHQgbmljaHQgenUgd2VpdCBpbiBkaWUgVGllZmVuIGRlcyBDYW1waW5ncGxhdHplcyBlaW5kcmluZ2VuLiAKSXJnZW5kd2FubiBsYXRzY2h0IG1hbiBudXIgbm9jaCBkdXJjaCBicmF1bmUgQnJ1ZWhlLgpBYmVyIGVzIG1hY2h0IGlycmUgdmllbCBTcGFzcyBuYWNodHMgWmFldW5jaGVuIHVtenV0cmV0ZW4sIEZhaG5lbm1hc3RlbiAKYW56dXNhZWdlbiB1bmQgRmFobmVuIHp1IGtsYXVlbi4gTmF0dWVybGljaCBtdXNzIG1hbiBkYW5uIGRhbWl0IHJlY2huZW4KYW0gbmFlY2hzdGVuIE1vcmdlbiB2b24gZWluZW0gSGF1ZmVuIHJlY2h0c3JhZGlrYWxlciBiaWVyd2FlbnN0aWdlciAKTmF6aS1PbWFzIGF1ZmdlbWlzY2h0IHp1IHdlcmRlbi4uLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlIAoKUFM6IFdhcnVtIHZlcnN1Y2hzdCBEdSBlaWdlbnRsaWNoIGRhcyBTb21tZXJjYW1wIG1pZXMgenUgbWFjaGVuPwogICAgSXJnZW5kd2VsY2hlIHBlcnNvZW5saWNoZW4gUHJvYmxlbWUgbWl0IGRlbmVuIER1IG5pY2h0IGtsYXIga29tbXN0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGNhbXBpbmcgKFBhdHJ5biwgMTMuIEF1ZyAxOTk4LCAxODowNTowNCk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwMzAyMzY5NyByZz1wYXJ0eQp+IyEgdGlkPTkwMzAyMzY5Nwp3ZW5uIGR1IGlyZ2VuZHdhbm4gbWFsIGVpbmUgdmVybnVlbmZ0aWdlIG1haWwgdm9uIGRpciBnaWJzdCwKZGFubiB3ZXJkZSBpY2ggZGljaCBkaXNrcmV0IGRhcmF1ZiBoaW53ZWlzZW4uIGVpbiBhdXNydXRzY2hlciBrYW5uCnNjaGxpZXNzbGljaCBqZWRlbSBtYWwgcGFzc2llcmVuLi4uCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNhbXBpbmcgKFphcm5peWEsIDEzLiBBdWcgMTk5OCwgMTg6MDY6NDcpOgp+IyEgcm49UGF0cnluIHJ0PTkwMzAyNDMwNCByZz1wYXJ0eQp+IyEgdGlkPTkwMzAyMzY5NwptZWluZSBNYWlscyBzaW5kIGltbWVyIG9rLi4uIGljaCBrYW5uIG51ciBrZWluZSBzYWNobGljaGVuIEFydGlrZWwKc2NocmVpYmVuLi4uIG1hZyBkYXJhbiBsaWVnZW4sIGRhc3MgaWNoIHJlc3Bla3Qgdm9yIGRlciBwb3N0LCBhYmVyIG5pY2h0IHZvcgpkZXIgTVBBIGhhYi4uLiBJY2ggZXJ3YXJ0ZSB2b24gQnJpZWZlbiBhbiBtaWNoIGluIFJMIGphIGF1Y2ggZWluIGFuZGVyZXMKTml2ZWF1IGFscyB2b24gZGVyIEJpbGQKClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGNhbXBpbmcgKFBhdHJ5biwgMTMuIEF1ZyAxOTk4LCAxODowODoxNyk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwMzAyNDQwNyByZz1wYXJ0eQp+IyEgdGlkPTkwMzAyMzY5NwphbHNvIHdlbm4gZHUgZGFtaXQgaXJnZW5kZXR3YXMgZ2VnZW4gZGFzIGJpbGQtbml2ZWF1IGF1c3NhZ2VuIHdpbGxzdCwKZGFubiBtdXNzdCBkdSB1bnRlciB0ZW1wb3JhZXJlciBzY2hpem9waHJhZW5pZSBsZWlkZW4uLi5kdSB3dWVyZGVzdApzdXBlciBpbiBkaWUgcmVkYWt0aW9uIGRvcnQgcGFzc2VuLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogY2FtcGluZyAoWmFybml5YSwgMTMuIEF1ZyAxOTk4LCAxODoxMDo0OCk6Cn4jISBybj1QYXRyeW4gcnQ9OTAzMDI0NDk3IHJnPXBhcnR5Cn4jISB0aWQ9OTAzMDIzNjk3Cm5pY2h0IElDSCBwYXNzZSBpbiBkYXMgTml2ZWF1LCBzb25kZXJuIG1laW5lIEFydGlrZWwuLi4gZXMgZ2lidCBkYSBlaW5lbgpmZWluZW4gVW50ZXJzY2hpZWQgendpc2NoZW4gc3RpbG1pdHRlbG4gdW5kIHdhaHJlbSBDaGFyYWt0ZXIgdW5kIEludGVuc2lvbiwKZGVuIGhpZXIgZWluaWdlIE5JRSBrYXBpZXJlbiB3ZXJkZW4sIHdlaWwgc2llIHp1IGVpbmZhZWx0aWcgc2luZCwgZGllc2UKVW50ZXJzY2hlaWR1bmcgYXVjaCBudXIgYW5uYWVoZXJuZCBiZWkgc2ljaCBzZWxic3QgenUgZmluZGVuLiBFcmlubmVydCBtaWNoCmRhcmFuLCBkYXNzIGFsbGUgTXVkZGVyIGtsYWdlbiwgZGFzcyBTYWNoZW4gZ2FyIG5pY2h0L3NjaGxlY2h0IGJlc2NocmllYmVuCnNpbmQgdW5kIHdlbm4gbWFsIGVpbmVyIERldGFpbHMgc2NocmVpYnQsIGRpZSBlY2h0ZSBFbW90aW9uZW4gd2Vja2VuLCBkYW5uCmlzdHMgYXVjaCBmYWxzY2ghCgpaYXJuaXlhLCBpaHIgdGFlZ2xpY2hlcyBLb25kb20gYXVzbHV0c2NoZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJlaXRhZ2FiZW5kIChDYXR3ZWF6bGUsIDEzLiBBdWcgMTk5OCwgMTg6NDM6NDMpOgpIbSwgYmVoYW5kZWx0IGRlbiBBYXNlZS1HcmlsbC1UZXJtaW4gYW4gQWFzZWUgYW0gRnJlaXRhZyBtYWwgbWl0IHZvci0KQmVoYWx0LiBFdmVudHVlbGwga3JpZWcgaWNoIFBsYXR6IGluIGVpbmVyIEtuZWlwZSBtaXQgZ3Jvc3NlbSBTYWFsLApkYXMgZHVlcmZ0ZSB3ZXNlbnRsaWNoIGFuZ2VuZWhtZXIgdW5kIGVpbmZhY2hlciBzZWluLiBBbHNvIG5pY2h0IHNvCnNjaG5lbGwgbWl0IEdyaWxsZmxlaXNjaCBrYXVmLCBpY2ggZ2ViZSBzcGFldGVzdGVucyBEaWVuc3RhZyBCZXNjaGVpZApvYiBkYXMgZXJzdGUgVHJlZmZlbiBhbSBBYXNlZSBzdGF0dGZpbmRldCBvZGVyIGlubmVyIEtuZWlwZSAuLi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogY2FtcGluZyAoU2lsdmFuYSwgMTMuIEF1ZyAxOTk4LCAyMzozODoxMyk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwMzAyNDQwNyByZz1wYXJ0eQp+IyEgdGlkPTkwMzAyMzY5NwpFaW5lIFplaXR1bmcgaXN0IGhhbHQgZ2VuYXUgc28gZ3V0IHdpZSBpaHJlIEF1dG9yZW4uCgogIFNpbHZhbmEgKnNpZ2gqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnVzIHp1bSBQbGF0eiAoTGFyaXNzYSwgMTQuIEF1ZyAxOTk4LCAxMjozMzo0NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTAzMDIyMTA4IHJnPXBhcnR5Cn4jISB0aWQ9OTAzMDIyMTA4CkFob2khCgpEZW4gQnVzc3RlaWcgd2Vpc3MgaWNoIGF1Y2huaWNodCBhdXN3ZW5kaWcsIGFiZXIgd2VubiBtYW4gYXVzIGRlbSBCYWhuaG9mIGluClJpY2h0dW5nIENpdHkgaGVyYXVzbGFldWZ0LCBkYW5uIGlzdCBlcyBkZXIgZ2FueiByZWNodGUuIE1pdCBkaWVzZW0gQnVzIGthbm4KbWFuIGF1Y2ggZGlyZWt0IHp1ciBQYXJ0eSBmYWhyZW4uIEhhbHRlc3RlbGxlIHdlaXNzIGljaCBuaWNodCwgYWJlciBtYW4ga2FubgpkZW4gRmFocmVyIHNpY2hlciBuYWNoICdCYWhuaG9mIFdvbGJlY2snIGZyYWdlbi4KCkFsdGVybmF0aXYga2FubiBtYW4genVyIFBhcnR5IGF1Y2ggbWl0IGRlciBMaW5pZSA4IGZhaHJlbiwgZWJlbmZhbGxzIFJpY2h1bmcKV29sYmVjay4gRGllc2VyIEJ1cyBmYWVocnQgYWJlciBuaWNodCBhbSBDYW1waW5ncGxhdHogdm9yYmVpISBEaWVzZXIgQnVzCmZhZWhydCB2b20gQmFobmhvZiBhbSBCdXNzdGVpZyBDMiwgZGFzIG11c3MgbWFuIGR1cmNoIGRpZSBVbnRlcmZ1ZWhydW5nIGF1ZgpkaWUgYW5kZXJlIFN0YXNzZW5zZWl0ZSwgZGFubiBsaW5rcy4gRGllIEhhbHRlc3RlbGxlLCBhbiBkZXIgbWFuIHJhdXMgbXVzcyBpc3QKJ1dvbGJlY2sgTWFya3QnLiBVZWJlciBkaWUgU3RyYXNzZSwgYXVmIGRpZSByaWVzaWdlIEJhdXN0ZWxsZSwgbGlua3MgZGFyYW4Kdm9yYmVpIHVtIGRpZSBFY2tlIGxhdWZlbiwgZGFubiB3aWVkZXIgcmVjaHRzIHVuZCBub2NoIGNhLiAxMDAgTWV0ZXIgZGllClN0cmFzc2UgZW50bGFuZyAoQW0gU3RlaW50b3IpLiBGdXNzd2VnIGV0d2FzIDMgTWludXRlbiB6dXIgUGFydHkuCgpMYXJpLCBvaG5lIEdld2FlaHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSRTogRnJlaXRhZ2FiZW5kIChEb2xwaCwgMTQuIEF1ZyAxOTk4LCAxMzowMDoxNik6CldhcyBpc3QgZGVubiBhbiBlaW5lciBLbmVpcGUgc2Nob2VuZXIgYWxzIGVpbiBHcmlsbGFiZW5kIGFtIEFhc2VlID8KSWNoIGZhbmQgZXMgZG9ydCBlaWdlbnRsaWNoIGdhbnogbmV0dC4gTWFubiBtdXNzdGUgendhciBhdWYgc2VpbiAKRmxlaXNjaCBhdWZwYXNzZW4sIGFiZXIgZGFzIG1hY2h0IGphIG5pY2h0cy4KSW4gZGVyIEtuZWlwZSBrYW5uIGljaCBpbW1lciBob2NrZW4sIHNwYWV0ZXN0ZW5zIGJlaW0gS29lbG5lcgpTdGFtbXRpc2NoIGltIEphbnVhciB3aWVkZXIuCgpJc3QgamEgbnVyIERvbHBoJ3MgTWVpbnVuZyAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkU6IEZyZWl0YWdhYmVuZCAoQ2F0d2VhemxlLCAxNC4gQXVnIDE5OTgsIDEzOjI1OjAxKToKfiMhIHJuPURvbHBoIHJ0PTkwMzA5MjQxNiByZz1wYXJ0eQp+IyEgdGlkPTkwMzA5MjQxNgpEdSBtYWdzdCByZWNodCBoYWJlbiwgZGFzIGdyaWxsZW4gYmVzc2VyIGlzdCwgYWJlciBlcyBnaWJ0IGRhIGVpbiBwYWFyIEhha2VuLgphdGVucyB3ZXJkZW4gZGllIENhbXBlciB3YWhyc2NoZWlubGljaCBzb3dpZXNvIHNjaG9uIGRpZSBnYW56ZSBXb2NoZSBncmlsbGVuLApkaWUgaGFiZW4gYXVjaCBpcmdlbmR3YW5uIGdlbnVnIGRhdm9uLgpidGVucyB3aXJkIGltIEdlZ2Vuc2F0eiB6dSBkZW4gVm9yamFocmVuIG5pZW1hbmQgYW0gQWFzZWUgY2FtcGVuLCBkaCB3aXIKbXVlc3NlbiBpbiBkZXIgTmFjaHQgaW0gRHVua2VsbiBhdWZyYWV1bWVuLCB1bmQgZGFzIGR1ZXJmdGUgc2Nod2llcmlnIHdlcmRlbi4KSWNoIGVyaW5uZXIgbWljaCB6dWRlbSBhbiBsZXR6dGVzIEphaHIgd28gd2lyIGF1ZiBlaW5tYWwgbWl0IDYgTXVlbGxzYWVja2VuCmF1ZiBkZW0gUGFya3BsYXR6IHN0YW5kZW4gdW5kIG5pY2h0IHd1c3N0ZW4gd29oaW4gZGFtaXQgOikKY3RlbnMgc3RlaHQgdW5zIGRpZXNlcyBKYWhyIGtlaW4gZ3Jvc3NlciBHcmlsbCB6dXIgVmVyZnVlZ3VuZywgZGVyIGtvbW10IG5pY2h0CjopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtU2hpcnQgKFJpbmdvciwgMTUuIEF1ZyAxOTk4LCAwMjoxODoxOCk6CldlZ2VuIGRlciBncm9zc2VuIE5hY2hmcmFnZSBlaW5lcyBTZWhlcnMgaGllciBlaW4gZXR3YXMgYW5kZXJlciBWb3JzY2hsYWcKZnVlcnMgVC1TaGlydC1Nb3RpdjoKCldpZSB3YWVyIGVzIG1pdCBlaW5lbSBDbHViLVQtU2hpcnQgZnVlciAxMDAlaWcgbmljaHQtc3VlY2h0aWdlIE11ZGRlcj8gTWlyCnNjaHdlYnQgZGEgZWluIGtuYWxsaWdlciBTY2hyaWZ0enVnICJJY2ggYmluIE5JQ0hUIHN1ZWNodGlnISIgYXVmIGRlciBWb3JkZXItCnVuZCBlaW4gZGV6ZW50ZXMgIkljaCBrb2VubnRlIGplZGVyemVpdCBhdWZob2VyZW4sIGhhYmUgYWJlciBnZXJhZGUga2VpbmUgTHVzdApkYXp1ISIgYXVmIGRlciBSdWVja3NlaXRlIHZvci4KCklzdCBzY2hsaWNodCB1bmQgaGF0IGVpbmUgZWluZmFjaGUgdW5kIGtsYXJlIEF1c3NhZ2UsIHp1IGRlciA5OSw5OSUgZGVyIE11ZGRlcgpzdGVoZW4ga29lbm5lbi4gOy0pCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0IChUYW5pcywgMTUuIEF1ZyAxOTk4LCAxNDowMjozOSk6Cn4jISBybj1SaW5nb3IgcnQ9OTAzMTQwMjk4IHJnPXBhcnR5Cn4jISB0aWQ9OTAzMTQwMjk4CipncmlucyBSaW5nb3IqIC4uLiBBbHNvLCBpY2ggZ2ViZSBoaWVybWl0IG1laW5lIFN0aW1tZSBmdWVyIGdlbmF1IGRpZXNlcyB1bmQKbnVyIGRpZXNlcyBULVNoaXJ0LCBkYSBlcyBhbGxlcyBlbnRoYWVsdCwgd296dSBpY2ggaW4gbWVpbmVtIGxlYmVuIHN0ZWhlLiA7KQoKQWxzbywgQ2F0d2VhemxlLCB3YWVyZSBlcyBtb2VnbGljaCwgc3RhdHQgZGVyIGV3aWdlbiBCaWxkY2hlbiBtYWwgc293YXMgenUKbWFjaGVuLCBpY2ggZGVua2Ugc2Nob24sIGRhcyBzaWNoIGVpbmlnZSBtaXQgZGllc2VtIFQtU2NoaXJ0IGlkZW50aWZpemllcmVuCmtvZW5udGVuLgoKVHNjaHVlc3NpIC4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgVGFuaXMsIHNlaW5lcyBaZWljaGVuIEhvaGVwcmllc3RlciBkZXIgU2FwaGluYQooZW5kbGljaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0IChUaGVyaW4sIDE1LiBBdWcgMTk5OCwgMTQ6MjQ6MTIpOgp+IyEgcm49UmluZ29yIHJ0PTkwMzE0MDI5OCByZz1wYXJ0eQp+IyEgdGlkPTkwMzE0MDI5OAoKSWNoIGJpbiBuaWNodCBzdWVjaHRpZywgZGFzIHdlaXNzIGljaC4gRGFmdWVyIGJyYXVjaCBpY2ggYWJlciBrZWluIFRTaGlydCB1bQptaWNoIGRhcmFuIHp1IGVyaW5uZXJuLgpPZGVyIERvY2g/IAoKU3VwZXIgSWRlZSwgZ2VrYXVmdCAKClQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFQtU2hpcnQgKEFuYXRvbCwgMTUuIEF1ZyAxOTk4LCAxNTo0MzoyNCk6Cn4jISBybj1UaGVyaW4gcnQ9OTAzMTgzODUyIHJnPXBhcnR5Cn4jISB0aWQ9OTAzMTQwMjk4CkFsc28gaWNoIGthbm4gamVkZXJ6ZWl0IGF1ZmhvZXJlbi4uLgoKKkhVU1QqIE1laW5lIFN0aW1tZSBoYXQgZGFzIFRzaGlydCEgOikgQ2F0LCBkZW5rJyBkcnVlYmVyIG5hY2ggdW5kIHNldHonCmRhbm4gaXJnZW5kd2VuIGF1ZiBkYXMgR2VzdGFsdGVuIGFuLi4uLiA6KQoKQW5hdG9sLCBpc3QgbmljaHQgc3VlY2h0aWcuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBULVNoaXJ0IChTaGFyaWEsIDE2LiBBdWcgMTk5OCwgMjM6MDM6MDApOgp+IyEgcm49QW5hdG9sIHJ0PTkwMzE4ODYwNCByZz1wYXJ0eQp+IyEgdGlkPTkwMzE0MDI5OApkYXMgdHNoaXJ0IHd1ZXJkIGljaCBhdWNoIG5laG1lbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0IChUZWRkeSwgMTcuIEF1ZyAxOTk4LCAwMDoxNzo1MCk6Cn4jISBybj1SaW5nb3IgcnQ9OTAzMTQwMjk4IHJnPXBhcnR5Cn4jISB0aWQ9OTAzMTQwMjk4CkRhZnVlcgoKVGVkZHksIG5pY2h0IHN1ZWNodGlnIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSB3ZWlsIFNub3R0eSBpc3QgaGllciB1bmQgKG5vY2gpIG5pY2h0IGluIE11ZW5zdGVyIChLbnVydCwgMTcuIEF1ZyAxOTk4LCAwMTo0NjoyMyk6CkpPLAp3ZXIgTHVzdCBoYXQgbW9lZ2UgTW9udGFnIEFiZW5kIGluIERvcnRtdW5kIGF1ZmxhdWZlbi4KV2lyIGhhYmVuIGFiZXIgbnVyIGVpbmUgS2lzdGUgQmllciAob2RlciB6d2VpKSwgYWxzbyBzZWlkIGdld2FybnQgdW5kIHNvcmd0CmZ1ZXIgRXVjaCBzZWxic3QsCmRlbm4gU25vdHR5IHVuZCBLbnVydCBzaW5kIHdpZWRlciB2ZXJlaW50IHVuZCBmZWllcm4gYWxsZWluZSBvZGVyIG1pdCBqZWRlbQpkZXIga29tbXQuCgpPcnQ6CjQ0MTM3IERvcnRtdW5kCk5ldWVyIEdyYWJlbiA5NwpUZWwgMDIzMSAvIDcgMjEgMjEgMTAKCklzdCB2b24gZGVyIEIgRWlucyBSaWNodHVuZyBaVlMuCgpLT21tdCBoYWx0IHdlbm4gSWhyIEx1c3QgaGFidC4KCktudXJ0IHVuZCBTbm90dHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZhbGxzIGlociB3aXJrbGNpaCBrb21tdCAoS251cnQsIDE3LiBBdWcgMTk5OCwgMDE6NTA6NTcpOgp1cHMgZGEgaGFiZSBpY2ggbmV0dWVybGljaCB2ZXJnZXNzZW4gZGFzIElociBiZWkgV2llbmtlL0tydW1tbmFja2VyIGxpbmdlbG4KbXVlc3N0LgpTTyBJaHIgZGFzIG5pY2h0IHZvbiBkZXIgbGV0enRlbiBQYXJ0eSB3aXNzdCA6KQoKS251cnQKKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtU2hpcnQgKFNvbmdva3UsIDE3LiBBdWcgMTk5OCwgMTA6MzE6MTYpOgp+IyEgcm49UmluZ29yIHJ0PTkwMzE0MDI5OCByZz1wYXJ0eQp+IyEgdGlkPTkwMzE0MDI5OApEYW5uIGJpbiBpY2ggZGllIDAsMDEgJT8/PwpJY2gga2FubiB1bmQgd2lsbCBuaWNodCBhdWZob2VyZW4gKGJla2VubmVuZGVyIFN1ZWNodGlnZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJlaXRhZ2FiZW5kIChLZXksIDE3LiBBdWcgMTk5OCwgMTg6NTQ6MDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwMzAyNjYyMyByZz1wYXJ0eQp+IyEgdGlkPTkwMzAyNjYyMwpBbHNvIGljaCBmaW5kZSBncmlsbGVuIGJlc3NlciAuLi4KU2Nob24gYWxsZWluZSB3ZWdlbiBkZXIgS29zdGVuZnJzZ2UgOykKCktlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydCAoS2V5LCAxNy4gQXVnIDE5OTgsIDE4OjU3OjUxKToKfiMhIHJuPVJpbmdvciBydD05MDMxNDAyOTggcmc9cGFydHkKfiMhIHRpZD05MDMxNDAyOTgKRGFmdWVyISAuKQoKS2V5IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFQtU2hpcnQgKFN0aW5nLCAxNy4gQXVnIDE5OTgsIDE4OjU4OjA3KToKfiMhIHJuPUtleSBydD05MDMzNzMwNzEgcmc9cGFydHkKfiMhIHRpZD05MDMxNDAyOTgKRWJlbnNvIDopCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVC1TaGlydCAoRnJhbnosIDE3LiBBdWcgMTk5OCwgMTg6NTg6NTEpOgp+IyEgcm49U3RpbmcgcnQ9OTAzMzczMDg3IHJnPXBhcnR5Cn4jISB0aWQ9OTAzMTQwMjk4CmViZW5zbyBuaWNodCBzdWVjaHRpZyA6LSkKYnl0ZWtpbGxlcmZyYW56CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJlaXRhZ2FiZW5kIChBc21vZGlzLCAxNy4gQXVnIDE5OTgsIDIxOjA4OjMxKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDMwMjY2MjMgcmc9cGFydHkKfiMhIHRpZD05MDMwMjY2MjMKV2VsY2hlciBFcnptYWdpZXIgd2lyZCBnZWdyaWxsdCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyZWl0YWdhYmVuZCAoUmlrdXMsIDE3LiBBdWcgMTk5OCwgMjE6NDg6MDcpOgp+IyEgcm49QXNtb2RpcyBydD05MDMzODA5MTEgcmc9cGFydHkKfiMhIHRpZD05MDMwMjY2MjMKTml4IGRhLCBpY2ggYmluIHVuZ2VuaWVzc2JhciA6KQoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0IChCbG9vZHloYXJyeSwgMTguIEF1ZyAxOTk4LCAwOTo1MjoyNik6Cn4jISBybj1SaW5nb3IgcnQ9OTAzMTQwMjk4IHJnPXBhcnR5Cn4jISB0aWQ9OTAzMTQwMjk4Ck9kZXIgc293YXM6ICJJY2ggYmluIE5JQ0hUIHN1ZWNodGlnIHVuZCBrYW5uIGplZGVyemVpdCBhdWZob2VyZW46IEhhYiBtaWNoCnNjaG9uIDRtYWwgZ2Vsb2VzY2h0IQoKYmgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdXMgenVtIFBsYXR6IChDYXR3ZWF6bGUsIDE4LiBBdWcgMTk5OCwgMTA6NTM6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwMzAyMjEwOCByZz1wYXJ0eQp+IyEgdGlkPTkwMzAyMjEwOApNb2luIQoKQWVobSwgaWNoIGJpbiBnZXN0ZXJuIGRlemVudCBkYXJhdWYgaGluZ2V3aWVzZW4gd29yZGVuLCBkYXNzIGRpZSBfcmljaHRpZ2VfCkhhbHRlc3RlbGwgenVtIEF1c3N0ZWlnZW4gZGllIF9uYWNoXyBTdGFwZWxza290dGVuIGlzdCwgbmFlbWxpY2ggS2lubmVicm9jay4KWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlIChob2ZmdCBkYXMgZGllIFd1ZXJnZW1hbGUgYmFsZCB3ZWdnZWhlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZWl0YWcgYWJlbmQ/IChLYXJ0b2ZmZWwsIDE4LiBBdWcgMTk5OCwgMjA6MDg6MzEpOgpBZWhtLCB3YXMgaXNzbiBudSBtaXQgRnJlaXRhZz8KV2Fubiwgd28sIHdpZT8KCmBUb2ZmZWwgLSBtYWcgbmljaHQgd2llZGVyIGFtIEFhc2VlIGltIEF1dG8gcGVubmVuIChkZXIgQ2lucXVlY2VudG8gaXMgamEgbm9jaAprbGVpbmVyIGFscyBkZXIgUGFuZGEuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJlaXRhZyBhYmVuZD8gKFNoYWtlZGJlZXIsIDE4LiBBdWcgMTk5OCwgMjI6Mzg6MDMpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTkwMzQ2MzcxMSByZz1wYXJ0eQp+IyEgdGlkPTkwMzQ2MzcxMQpIaWhpLgoKSWNoIGhhYmUgenVyIE5vdCBub2NoIGVpbmVuIFBsYXR6IGltIENvbWJvIGZyZWkuIElzdCBudXIgZGllIEZyYWdlLCBvYiBUQSBhdWNoCm5vY2ggZGF6dXBhc3N0LgoKU2hha2VkYmVlciAtIGxhbGx0OiAiSWNoIGJpbiBlaW4ga2xlaW5lciBTaGFreS4uLiIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZyZWl0YWcgYWJlbmQgKENhdHdlYXpsZSwgMTkuIEF1ZyAxOTk4LCAwMDo1NjoxOCk6Ckd1Z2d1ZyEKCkFsc28gaWNoIGhhYiBoZXV0IGFiZW5kIGRlbiBTYWFsIGltIEFsYWJhbWEga2xhcmdlbWFjaHQuCkRhcyBoZWlzc3QsIGRlciBGcmVpdGFnIGFiZW5kIGZpbmRldCBfbmljaHRfIGFtIEFhc2VlIHN0YXR0LCBzb25kZXJuCmltIEFsYWJhbWEsIHdvIGZ1ZXIgZ2V3b2VobmxpY2ggYXVjaCBkZXIgU3RhbW10aXNjaCBzdGF0dGZpbmRldC4KU29ycnksIGRhc3MgZGFzIHNvIGt1cnpmcmlzdGlnIGlzdCwgYWJlciBpY2ggd29sbHRlIFdldHRlciB1bmQgClN0aW1tdW5nIGFid2FydGVuLCB1bmQgbmFjaCBiZWlkZW0gc3ByaWNodCBkYXMgRnJlaXRhZ2FiZW5kdHJlZmZlbgplaGVyIGZ1ZXJzIEFsYWJhbWEgYWxzIGZ1ZXJuIEFhc2VlLgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmcmVpdGFnIGFiZW5kIChCb2luZywgMTkuIEF1ZyAxOTk4LCAwODozMzoyNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTAzNDgwOTc4IHJnPXBhcnR5Cn4jISB0aWQ9OTAzNDgwOTc4CkdpYnQncyBkYWZ1ZXIgYXVjaCBpcmdlbmR3byBuZSBXZWdiZXNjaHJlaWJ1bmc/IAogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbnRlcm5ldHp1Z2FuZyBpbSBQYXJ0eXJhdW0gKE11cmtlcywgMTkuIEF1ZyAxOTk4LCAwOToxNjoyNCk6CkhpIExldXRlLAoKaW0gQmFobmhvZiBXb2xiZWNrLCB3byBkaWUgUGFydHkgc3RhdHRmaW5kZXQsIGdpYnQgZXMgc2VpdCBrdXJ6ZW0gZWluZW4KaW50ZXJuZXR6dWdhbmcuIEVpbnppZ2VzIFByb2JsZW07IElyZ2VuZGVpbiB1bmZhZWhpZ2VyIChuZWluLCBuaWNodCBpY2gpLCBoYXQKTGludXggaW5zdGFsbGllcnQgKFN1U2UgNS4xKSB1bmQgaGF0IGRlbiBOZXR6enVnYW5nIGJpc2hlciBuaWNodCBrb25maWd1cmllcmVuCmtvZW5uZW4uIEhhdCBpcmdlbmR3ZXIgTHVzdCBzaWNoIGFtIFNhbXN0YWcgQWJlbmQgbWl0IGRlbSBQcm9ibGVtIHp1CmJlc2NoYWVmdGlnZW4uIEljaCBnbGF1YmUsIEV1Y2ggd2FlcmUgZGVyIGV3aWdsaWNoZSBEYW5rIGVpbmVzIFNvemFpbGFyYmVpdGVycwpzaWNoZXIgOikKQnJpbmd0IGFiZXIgZWluZSBCb290LURpc2tldHRlIHVuZCByb290LURpc2tldHRlIG1pdCwgZXIgd2Vpc3MgbmFlbWxpY2ggZGFzCnJvb3QtUGFzc3dvcmQgbmljaHQuCkJpcyBkYW5uCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmcmVpdGFnIGFiZW5kIChDYXR3ZWF6bGUsIDE5LiBBdWcgMTk5OCwgMTA6MTE6NTIpOgp+IyEgcm49Qm9pbmcgcnQ9OTAzNTA4NDA0IHJnPXBhcnR5Cn4jISB0aWQ9OTAzNDgwOTc4CldlZ2Jlc2NocmVpYnVuZyB6dW0gQWxhYmFtYToKCkRhcyBBbGFiYW1hIGlzdCBhdWYgZGVyIEFlZ2lkaWlzdHJhc3NlLiBEaWUgQWVnaWRpaXN0cmFzc2UgaXN0IGRpcmVrdCBhbQpBYXNlZS4gCgpXZXIgdWViZXIgZGllIEJhaG4gdm9uIFN1ZWRlbiBrb21tdDoKSW1tZXIgZ2VyYWRlIGF1cyBmYWhyZW4sIGJpcyBpaHIgYW0gQWFzZWUgYW5rb21tdCwgenUgZXJrZW5uZW4gYW4gZ3Jvc3NlbgpLdWdlbG4sIGRpZSBhdWYgZGVyIFdpZXNlIGRhdm9yIGxpZWdlbi4gQW0gQWFzZWUgZ2lidHMgZWluZSBLcmV1enVuZywgYW4KZGVyIG11ZXNzdCBpaHIgcmVjaHRzIGFiLCBpbiBkaWUgQWVnaWRpaXN0cmFzc2UuCgpXZXIgdWViZXIgZGllIEJhaG4gdm9uIE5vcmRlbiBrb21tdDoKVm9uIGRlciBCYWhuIHJ1bnRlciBpbiBSaWNodHVuZyBNdWVuc3RlciwgbGFhbmdlIGdlcmFkZWF1cyBmYWhyZW4gaW4gZGllIFN0YWR0CnVuZCBkdXJjaCBkaWUgU3RhZHQgZHVyY2guIEJpcyBpaHIgYW0gQWFzZWUgYW5rb21tdCwgenUgZXJrZW5uZW4gYW4gZ3Jvc3NlbgpLdWdlbG4sIGRpZSBhdWYgZGVyIFdpZXNlIGRhdm9yIGxpZWdlbi4gQW0gQWFzZWUgZ2lidHMgZWluZSBLcmV1enVuZywgYW4gZGVyCm11ZXNzdCBpaHIgbGlua3MgYWIsIGluIGRpZSBBZWdpZGlpc3RyYXNzZS4KCk5hY2ggY2EuIDEwMCBNZXRlcm4gaXN0IGRhcyBBbGFiYW1hIGF1ZiBkZXIgbGlua2VuIFNlaXRlLiBWaWVsIFNwYXNzIGJlaW0KUGFya3BsYXR6IHN1Y2hlbiA6KQoKV2VyIG1pdCBkZXIgQmFobiBrb21tdDoKQU0gYmVzdGVuIHp1IEZ1c3MgZ2VoZW4uIEFtIGJlc3RlbiB1ZWJlciBkaWUgUHJvbWVuYWRlLiAKV2VubiBpaHIgYXVzIGRlbSBCYWhuaG9mIHJhdXNrb21tdCwgdW50ZXIgZGVyIEJhaG5ob2ZzdHJhc3NlIGR1cmNoZ2VoZW4KKFNjaGF1ZmVsIG5pY2h0IG5vdHdlbmRpZywgZGEgaXN0IG5lIFVudGVyZnVlaHJ1bmcpLCBpbiBkaWUgV2luZHRob3JzdHN0cmFzc2UKKGlzdCBuZSBGdXNzZ2FlbmdlcnN0cmFzc2UpLiBEYSB3byBkaWUgV2luZHRob3JzdHN0cmFzc2UgenVyCkF1dG9zdHJhc3NlIHdpcmQsIHVlYmVyIGRpZSBBbXBlbCB1bmQgbm9jaCA1MG0gZ2VyYWRlIGF1c2dlaGVuLiBEYW5uIGtyZXV6dApkaWUgUHJvbWVuYWRlIChkYXMgaXN0IGVpbmUgRmFocnJhZHN0cmFzc2UgcnVuZCB1bXMgWmVudHJ1bSBkcnVtcnVtLAplaWdlbnRsaWNoIGRldXRsaWNoIHp1IGVya2VubmVuIGFuIGRlbiBGYWhycmFkZmFocmVybiwgZGllIGVpbmVuIHBsYXR0CmZhaHJlbikuIExpbmtzIGF1ZiBkaWUgUHJvbWVuYWRlIGVpbnNjaHdlbmtlbiB1bmQgc29sYW5nZSBmb2xnZW4sIGJpcyBpaHIgYmVpCmRlciBBZWdpZGlpc3RyYXNzZSBhbmtvbW10KGNhLiBuZW4ga20pLiBEYW5uIGRhcyBBdWdlIG5hY2ggcmVjaHRzIHdhbmRlcm4KbGFzc2VuLCBkYSBtdWVzc3RlIGVpZ2VudGxpY2ggc2Nob24gZWluIGdydWVuZXMgQWxhYmFtYXNjaGlsZCBhdWYgZGVyIGxpbmtlbgpTdHJhc3NlbnNlaXRlIHp1IHNlaGVuIHNlaW4uCgpIb3BlIHRoaXMgaGVscHMsCiAgICAgQ2F0d2VhemxlCgpQUzogVGlwIGZ1ZXIgZGllIFN1ZWRrb21tZXIuIERpZSBsZXR6dGUgUmVjaHRzYWJiaWVnZW1vZWdsaWNoa2VpdCBWT1IgZGVyCiAgICBBZWdpZGlpZXN0cmFzc2UgaXN0IGRpZSBNb2x0a2VzdHJhc3NlLCBkaWUgaXN0IGFuIGRlciBBbnRvbml1c2tpcmNoZS4KICAgIERhbmFjaCBrb21tZW4gendhciBub2NoIGVpbiBwYWFyIGtsZWluZSBBbXBlbG4sIGFuIGRlbmVuIG1hbiBhYmVyIG5pY2h0CiAgICByZWNodHMgYWJiaWVnZW4ga2Fubi4KICAgIFRpcCBmdWVyIGRpZSBOb3Jka29tbWVyLiBEaWUgTGV0enRlIEtyZXV6dW5nIFZPUiBkZXIgQWVnaWRpaXN0cmFzc2UgaXN0CiAgICBzdWVkbGljaGUgdm9tIEhpbmRlbmJ1cmdwbGF0eiAoZGFzIGlzdCBuZW4gUmllc2VucGFya3BsYXR6IHZvcm0gU2NobG9zcwogICAgdW5kIGVpZ2VudGxpY2gga2F1bSB6dSB2ZXJrZW5uZW4uIEFuIGRlciBLcmV1enVuZyBpc3QgYXVjaCBkYXMgR2VyaWNodC4KICAgIERhbm4gbm9jaCBlaW4gYmlzc2NoZW4gZGVyIGt1cnZpZ2VuIFN0cmFzc2UgZm9sZ2VuIHVuZCBkaWUgZWluemVsbmUgCiAgICBGdXNzZ2FlbmdlcmFtcGVsIHVlYmVyc2VoZW4sIGRhbm4ga29tbXQgZGllIEFiYmllZ2VyZWxldmFudGUgS3JldXp1bmcuClBQUzpEYXMgQWxhYmFtYSBoaWVzcyBmcnVlaGVyIG1hbCBBZWdpZGlpaG9mLCBhdWYgR0FOWiBmcnVlaGVuIFBhcnRpZXMgaGFiZW4Kd2lyIHVucyBkYSBzY2hvbiBtYWwgZ2V0cm9mZmVuLgogICAgd2lyIHVucyBkYSBzY2hvbiBtYWwgZ2V0cm9mZmVuLiBXZXIgc2ljaCBub2NoIGVyaW5uZXJuIGthbm4gZmluZGV0cwogICAgdmllbGxlaWNodCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZyZWl0YWcgYWJlbmQgKFRlZGR5LCAxOS4gQXVnIDE5OTgsIDEzOjE4OjE5KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDM0ODA5Nzggcmc9cGFydHkKfiMhIHRpZD05MDM0ODA5NzgKQmlzIHdhbm4gZHVlcmZlbiB3aXIgZGVubiBGcmVpdGFnIGRhIGJsZWliZW4/IE5pY2h0IGRhcyBkaWUgdW5zIHVtIDEKcmF1c3dlcmZlbiB1bmQgZGllIGF1Zm0gQ2FtcGluZ3BsYXR6IFRlcnogbWFjaGVuLCB3ZWlsIHdpciBkYSBkYW5uCndlaXRlcnF1YXRzY2hlbi4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZyZWl0YWcgYWJlbmQgKENhdHdlYXpsZSwgMTkuIEF1ZyAxOTk4LCAxNDo0MToyNSk6Cn4jISBybj1UZWRkeSBydD05MDM1MjU0OTkgcmc9cGFydHkKfiMhIHRpZD05MDM0ODA5NzgKQUZBSUsgaGFiZW4gZGllIEZyZWl0YWdzIHVuZCBTYW1zdGFncyBsYWVuZ2VyIGF1ZiwgYWxzIGJpcyB1bSAxLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVyc3RlciBCZXJpY2h0IChIYXJkaWwsIDIxLiBBdWcgMTk5OCwgMTQ6MjE6MzApOgoKSWNoIGhhYmUgZXMgc2Nob24gaGludGVyIG1pci4gRGFzIFplbHRsYWdlci4KTGVpZGVyLCBkZW5uIGVzIHdhciBsdXN0aWcuCkFiZXIgbWFuIHNvbGx0ZSBkb2NoIGVpbmlnZSBIb2VocHVua3RlIHNjaG9uZWlubWFsIGFuc3ByZWNoZW46CgooMSkgWmVsdGJhdXdldHRiZXdlcmIsIGRpZSBlcnN0ZQpFaW4ga2xlaW5lciBXZXR0YmV3ZXJiIHp3aXNjaGVuIEtleSB1bmQgTHdheGFuYS4KU2Nob24gc2VociBzZWhyIHNjaG5lbGwgaGF0dGUgc2ljaCBkaWUgdWVibGljaGUgTWVuZ2UgU2NoYXVsdXN0aWdlcgplaW5nZWZ1bmRlbiwgYWxzIGRpZSBHaWVzc2VuZXIgYXVmdGF1Y2h0ZW4sIHVuZCBkYW5uIGdyb3NzZXMgR2VsYWVjaHRlciwgYWxzCmRyZWkgWmVsdHBhY2tlbiBhYmdlbGFkZW4gd3VyZGVuLgpOdW4sIEtleSB3b2xsdGUgZGFubiB6d2VpIFplbHRlIGF1ZmJhdWVuLCB1bmQgZGFtaXQgc2VpbiBaZWx0IG5vY2ggendpc2NoZW4KZGFzIGRlciBNYWVkZWxzIHBhc3N0ZSwgbXVzc3RlIGVyIGRhcyBzY2hvbiBmYXN0IGZlcnRpZyBhdWZnZWJhdXRlIFplbHQgdm9uCkx3YXhhbmEgbm9jaG1hbCBhYnJlaXNzZW4gKHp1IGRlcmVuIFVud2lsbGVuKSwgdW0gZXMgZWluIHBhYXIgRGV6aW1ldGVyIHp1CnZlcnJ1ZWNrZW4uCkRpZSBRdW90ZW4gYXVmIEx3YXhhbmEgd3VyZGVuIGltbWVyIHNjaGxlY2h0ZXIsIHdlaWwgYXVzc2VyIE9ya1Qga2VpbmVyIGF1ZgpLZXkgZ2VzZXR6dCBoYXR0ZSwgdW5kIHNpZSBnZXdhbm4gaGF1Y2hkdWVubiBtaXQgZXR3YSAxMCBNaW51dGVuIFZvcnNwcnVuZy4KCigyKSBaZWx0YXVmYmF1LCBkaWUgendlaXRlCjUyIFphZWhuZSB1bmQgZGllIER1bmtlbGhlaXQKRXMgd2FyIHNjaG9uIGZhc3QgTmFjaHRydWhlLCBhbHMgTGVpYm5peiBhdWYgZGllIElkZWUga2FtLCBlaW4gWmVsdCBhdWJhdWVuIHp1Cm11ZXNzZW4uIERpdG8gRnJvZ2h1bnRlci4gRGllIE1ldXRlIGF1cyBLYXBpdGVsIDEga2FtIHdpZWRlciBhbiwgbWVuZ2VubWFlc3NpZwphbGxlcmRpbmdzIHZlcnZpZXJmYWNodC4KTGVpYm5peiBsYWVjaGVsdGUgaGlsZmxvcywgdW5kIHNjaG9uIHN0cml0dGVuIHNpY2ggTmViLCBGcmFueiB1bmQgRnJvZ2h1bnRlcgpkYXVtLCB3ZXIgaWhyIGJlaW0gWmVsdGF1ZmJhdSBoZWxmZW4gZHVyZnRlLiBTY2hsaWVzc2xpY2ggdGF0ZW4gc2llIGVzIGFsbGUsCnVuZCBuYWNoIG51ciBldHdhIDMwIE1pbnV0ZW4gQXVmYmF1emVpdCBzdGFuZCBkYXMgRGluZy4KRGF6d2lzY2hlbiBsYWdlbiBldHdhIDIwIEZvdG9zLCB2aWVsIHZpZWwgR2VsYWVjaHRlciB1bmQgU1RvZXJ1bmcgZGVyCk5hY2h0cnVoZS4KCigzKSBaZWx0YWJiYXUsIGRpZSBlcnN0ZQpSb2NodXMgdW5kIGRlciBGcmlzYmVlCk11c3MgbWFuIG1laHIgc2FnZW4/IEdlc3RhbmRlbmUgWmVsdGJlc2l0emVyIGZ1ZXJjaHRldGVuIHdpZWRlcmhvbHQgdW0gaWhyZQpaZWx0ZSwgd2VubiBkaWUgcmFzZW5kZW4gU2NoZWliZW4gYXVmIGlociBJZ2x1IHp1cmFzdGVuIG9kZXIgTXVkZGVyIGF1ZiBkZXIKRmx1Y2h0IHVlYmVyIEhlcmluZ2Ugc3RvbHBlcnRlbi4gV2VyIGRhYmVpIHdhciwgd2Vpc3MsIHdhcyBpY2ggbWVpbmUuCgpHZW51ZyBnZXNjaHJpZWJlbi4gV2VyIG1hY2h0IHdlaXRlcj8KCi1IYXJkaWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6ZWx0YXVmYmF1IChGcmFueiwgMjEuIEF1ZyAxOTk4LCAxNDoyODo1MCk6CjMwIG1pbnV0ZW4gPyBlY2h0IHNvIGxhbmdlID8gZGFubiBmcmFnIGljaCBtaWNoIG9iIGlociBkaWUgemVpdCBhbHMKZGllIGh1ZWJzY2hlIDUyLmVyaW4gdW5kIGljaCBhbGxlaW5lIGltIHplbHQgd2FyZW4gbWl0IGVpbmdlcmVjaG5ldCBoYWJ0IDotKQoqRyoKKHVuZCBudW4gaGFlbHQgbWlyIGJpdHRlIHdlciBNKiB2b20gbGVpYiAuLi4pCgpFbmpveSBGcmFueiAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogemVsdGF1ZmJhdSAoSGFyZGlsLCAyMS4gQXVnIDE5OTgsIDE0OjMwOjI2KToKfiMhIHJuPUZyYW56IHJ0PTkwMzcwMjUzMCByZz1wYXJ0eQp+IyEgdGlkPTkwMzcwMjUzMAoKRnJhbnouIFdpciBzaW5kIGhpZXIgbmljaHQgaW4gQmVsZ2llbi4gRGVzd2VnZW4gZ2xhdWJlIGljaCBuaWNodCwgZGFzcyBkaWUKNTJlcmluIG9kZXIgc29uc3QgamVtYW5kIHZvbGxqYWVocmlnZXMgbWl0IERpciBaZWl0IGltIFplbHQgdmVyYnJpbmdlbiB3dWVyZGUKb2RlciB3ZXJkZW4gd2lyZC4gOikKCi1IYXJkaWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHplbHRhdWZiYXUgKEZyYW56LCAyMS4gQXVnIDE5OTgsIDE0OjMxOjU4KToKfiMhIHJuPUhhcmRpbCBydD05MDM3MDI2MjYgcmc9cGFydHkKfiMhIHRpZD05MDM3MDI1MzAKR2FicyBuaWNodCBnZW51ZyBhdWdlbnpldWdlbiA/IFNpZSBoYXQgbWljaCBzb2dhciBnZWtudWRkZWx0ICEgOi0pIGFjaCBqYSBmcmFnCm1hbCBNKiB3YXMgZXIgbWl0IG5ldmFkYSBhbmdlc3RhbGx0IGhhdCA6XykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHplbHRhdWZiYXUgKFplciwgMjEuIEF1ZyAxOTk4LCAxNDozMzozNSk6Cn4jISBybj1GcmFueiBydD05MDM3MDI3MTggcmc9cGFydHkKfiMhIHRpZD05MDM3MDI1MzAKV2lld293YXMgaGF0IGRlciBLZXJsIHdpZWRlciBhbmdlc3RlbGx0Pz8/CkRhcyBtYW4gc2VpbmUgMXN0aWVzIG5pZSBhbGxlaW5lIGxhc3NlbiBrYW5uLgoKWmVyIHd1bmRlcnQgc2ljaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB6ZWx0YXVmYmF1IChZZW5kaSwgMjEuIEF1ZyAxOTk4LCAxNDo0NToxNik6Cn4jISBybj1IYXJkaWwgcnQ9OTAzNzAyNjI2IHJnPXBhcnR5Cn4jISB0aWQ9OTAzNzAyNTMwCkljaCBrcmllZyBoaWVyIHVudGVuIGphIGdhciBuaWNodHMgbWl0IQpXZXIgenVtIEhlbmtlciBpc3QgZGllIDUyZXJpbj8KCllUWSwgcmF0bG9zCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmcmVpdGFnIGFiZW5kIChWYW1weSwgMjEuIEF1ZyAxOTk4LCAxNTozMDowNyk6Cn4jISBybj1UZWRkeSBydD05MDM1MjU0OTkgcmc9cGFydHkKfiMhIHRpZD05MDM0ODA5NzgKRGllIG1hY2hlbiBrZWluZW4gVGVyeiBtZWhyIDspCnZhbXB5LCBlaW56ZWlsZW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogemVsdGF1ZmJhdSAoRmVsYm8sIDIxLiBBdWcgMTk5OCwgMTg6MTk6MDApOgp+IyEgcm49RnJhbnogcnQ9OTAzNzAyNTMwIHJnPXBhcnR5Cn4jISB0aWQ9OTAzNzAyNTMwCipzdGlybnJ1bnplbCogS2F1bSBsYWVzc3QgbWFuIHNlaW5lIE1pdG11ZGRlciBtYWwgYWxsZWluIHdvaGluIGZhaG4gLi4uIDstKSkpCk5hamEgaWNoIGthbm4gZGFubiBqYSBiZWltIEFiYmF1ZW4gaGVsZmVuLCBkYXNzIGdlaHQgaW1tZXIgc2NobmVsbCBiZWkgbWlyIDspCnJrbnVkZGVsIEtla3MgdW5kIEZyb2cqCgpCeWUgYmlzIE1vcmdlbgoKRmVsYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkh1ZWxmZSAtIEFsdGVyIHZlcmRvb2Z0ZXIgTXVkZGVyIGZyYWd0Li4uIChMdWcsIDIyLiBBdWcgMTk5OCwgMDI6MTY6MTQpOgoKSWNoIGhhYiBqYSBiZWthbm50bGljaCBBbHpoZWltZXIgdW5kIGJpbiBlaCBibG9lZCwgYWxzbyBkYXJmIGljaCBzb2FzIGZyYWdlbjoKCjEpIElzdCBhdWNoIGFtIFdFIG51clplbHRlbiBhbmdlc2FndCwgb2RlciBnaWJiZXQgenVyIFBhcnR5IG5lIFR1cm5oYWxsZT8KKFN0ZWggbmljaHQgc28gYXVmIFplbHRlIGltIERhdWVycmVnZW4pCgoyKSBPZGVyIG5pbW10IG1pY2ggd2VyIGF1Zj8KCjMpIFdlaXNzIGVpbmVyIHdvIE5hY2h0d2luZCBzdGVja3Q/CgpMYXV0ZXIgRnJhZ2VuIHVuZCBhbGxlIEFudHdvcnRlbiBhbiBtaWNoICh1bmQvT2RlciB3aGx3ZWlzZSBkaWUgUnVicmlrIGRhbWl0CnZvbGxtdWVsbGVuKQoKVGF0dGVybmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZXJzdGVyIEJlcmljaHQgKFN0b3BkZW5idXMsIDIzLiBBdWcgMTk5OCwgMjI6Mjg6MTcpOgp+IyEgcm49SGFyZGlsIHJ0PTkwMzcwMjA5MCByZz1wYXJ0eQp+IyEgdGlkPTkwMzcwMjA5MApzdGltbXQgbmljaCBIYXJkaWwgISBpY2ggaGFiIDgwIE11ZW56ZW4gYXVmIEtleSBnZXNldHp0LCBhZWhtLCB3ZXIga3JpZWd0CmRpZSBqZXR6dCA/CgpTdG9wZGVuQnVzIG1hY2h0IHNvbGNoZSBGZWhsZXIgbmllIHdpZWRlciBuaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHplbHRhdWZiYXUgKFRlZGR5LCAyNC4gQXVnIDE5OTgsIDA4OjQxOjU3KToKfiMhIHJuPUhhcmRpbCBydD05MDM3MDI2MjYgcmc9cGFydHkKfiMhIHRpZD05MDM3MDI1MzAKTXVzcyBpY2ggZGljaCBlbnR0YWV1c2NoZW4sIFppdGF0IFJpbmdvcjogSWNoIGhhYiBuZW4gU2Nod2VpemVyIGF1ZidtIFNjaG9zcy4KRGFyYXVmIEtudXJ0LCBJY2ggYXVjaC4gKEdlbWVpbnQgd2FyIEZyYW56KQoKU292aWVsIHp1IEJlbGdpZW4gOykKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5pZ2UgRnJlaXRhZ3NzY2huaXBzZWwgKFdhcmdvbiwgMjQuIEF1ZyAxOTk4LCAxMTowMTo1OSk6CkVzIGdlbGFuZyBtaXIgdGF0c2FlY2hsaWNoLCBkZW4gRnJlaXRhZ2FiZW5kbG9nemV0dGVsIHp1IGVudHppZmZlcm4gKEtleSB1bmQKQXRvejogSGV5LCBkZXIgc2NocmVpYnQgamEgZ2VuYXUgc28gc2NobGltbSB3aWUgaWNoISkKCgpDYXR3ZWF6bGU6IFdhcnN0IER1IHNjaG9uIGFtIENhbXBpbmdwbGF0ej8KS2FydG9mZmVsOiBKYSwgYWJlciBuaWNodCBsYW5nZS4gSWNoIGhhYiBtaXIgbnVyIHNjaG5lbGwgbWVpbiBaZWx0IGF1ZmJhdWVuCgkgICBsYXNzZW4uCgpCZXJ0cmFtOiBBbHNvIHdlbm4gaWNoIG1pciBkaWUgTXVkZGVyIGhpZXIgc28gYW5zZWhlLi4uIDk5JSBkZXIgTGV1dGUga2VubmVuCgkgbWljaCBuaWNodCwgdW5kIGRpZSwgZGllIG1pY2gga2VubmVuLCBzaW5kIGltIE11ZCBuaWNodCBtZWhyIGFrdGl2LgpLZXk6CSBXaWU/CkF0b3o6CSBBbHNvIGJlaSBEZWluZW4gSWRsZXplaXRlbiBpbiBkZXIgVG9kZXNzZXF1ZW56IGdlaG9lcnN0IER1IGF1Y2ggenUgZGVuCgkgSW5ha3RpdmVuIQoKKERhcyBbV2VyYmV0ZWFtOlppZ2FyZXR0ZW5dIGJldHJpdHQgZGVuIFNhYWwsIEpvZiB1bmQgS2V5IGdld2lubmVuIGpld2VpbHMKbmUgU2NoYWNodGVsLikKCktleSB1bmQgQmVydHJhbSB1bmlzb25vOiBNZWluZSBaaWdhcmV0dGUgc2NobWVja3Qgd2lybGljaCBuYWNoIE5pY2h0cyEKQW5hdG9sIGdydW1tZWx0LgoKSm9mIG5pbW10IGVpbiBNZXNzZXIuCkpvZiB6dWVja3QgZWluIE1lc3Nlci4KSm9mIHplcnNhZWd0IHNlaW5lIFBhY2t1bmcgbWl0IGRlbSBNZXNzZXIgaW4gendlaSBIYWVsZnRlbi4KS2V5IChlbnRzZXR6dCk6IERhcyBpc3QgTW9yZCEKSm9mIChlcnN0YXVudCk6IFNvIG1hY2h0IERhdmlkIENvcHBlcmZpZWxkIGRhcyBhdWNoIGltbWVyLi4uCgpCZXJ0cmFtOiBOaWNodHMgaXN0IHN1ZXNzZXIgYWxzIE1vcmdvdGghIChmcmVpIG5hY2ggRXRhaW4pCkFuYXRvbCBncnVtbWVsdC4KSm9mOiBEYSBrYW5uIG1hbiBOaWNodHMgbWFjaGVuLgpBbmF0b2wgc2NocmVpdCBsYXV0LgoKW1RoZW1hOiAiU3ByZWNodCBuaWNodCBtaXQgTGFyaXNzYSEiXQpDYXR3ZWF6bGU6IEljaCBoYWIgTGFyaXNzYSBtYWwgZ2VzYWd0OiBIYXVwdHNhY2hlIGJyYXVuaGFhcmlnLgpFdGFpbjogU29uc3Qga2VpbmUgVm9yZ2FiZW4sIHpCLiA5MC02MC05MD8KQ2F0d2VhemxlOiBBbGxlcyBlZ2FsLgpXYXJnb246IEhleSwgZGEgcGFzc3QgZG9jaCBNb3Jnb3RoIQpDYXR3ZWF6bGU6IEljaCB3ZWlzcyBnYXIgbmljaHQsIHdhcyBpaHIgYWxsZSBoYWJ0Li4uIE1vcmdvdGggaXN0IHZvbGwKCSAgIG5pZWRsaWNoIQoKTnVuLCBkYW1pdCBlcmZhc3N0IENhdCogbmF0dWVybGljaCBudXIgZWluZW4gd2luemlnZW4gVGVpbCB2b24gTSpzIApFaWdlbnNjaGFmdGVuLiBJbSBMYXVmZSBkZXMgQWJlbmRzIGthbSBlaW5lIGV0d2FzIHVtZmFuZ3JlaWNoZXJlIExpc3RlCnp1c3RhbmRlLiBEZW1uYWNoIGlzdCBNb3Jnb3RoOgpzdWVzcywgbmllZGxpY2gsIHVuZmFlaGlnLCB0YXBzaWcsIGtudWZmaWcsIHNjaG51Y2tlbGlnLCBoZXJ6YWxsZXJsaWVic3QsCnNhbmZ0bXVldGlnLCBoaWxmc2JlcmVpdCwgbGllYmVuc3d1ZXJkaWcsIG5ldHQsIG1vbmNoaWNoaW1hZXNzaWcsIGRyb2xsaWcsCnRpZXJsaWViLCBzcGllbGVyZnJldW5kbGljaCwga251ZGRlbGlnLCBoYXJtbG9zLCB1bnNjaHVsZGlnLCB3b2hsd29sbGVuZCwKZHJhZW5nZWxuZCwgbG9ja2lnLCBwZWx6ZnVlc3NpZywga29lc3RsaWNoLCBnb2xkaWcsIHB1enplbGlnLCBibGF1YWV1Z2lnCnVuZCBmcmllZGxpZWJlbmQuCkFiZXIgYXVjaCBkaWVzZSBMaXN0ZSBpc3Qgd2VpdCBkYXZvbiBlbnRmZXJudCwga29tcGxldHQgenUgc2Vpbi4uLiA6KQoKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBHQU5aRSBXYWhyaGVpdCAuLi4gKEdsb2luc29uLCAyNS4gQXVnIDE5OTgsIDE0OjIyOjI4KToKLi4uIHVlYmVyIE1haGF0bWE6IEVyIGlzdCBlaW4gV2FybWR1c2NoZXIsIGVpbiBBbHRzZWhlciwgZWluIHZlcmtub2VjaGVydGVyCmtsZWluZXIgUGllc2VwYW1wZWwuCkF1ZiBqZWRlbiBGYWxsIGhhdCBlciBlcyB2b24gU29ubnRhZyBhdWYgTW9udGFnIGdlc2NoYWZmdCwgbWVocmVyZSBMaXRlcgpSZWdlbiBpbiBtZWluIFplbHQgenUgYmVmb2VyZGVybi4gTmV0dGVyd2Vpc2UgaGF0IGVyIGVzIHdlbmlnc3RlbnMgbWl0ICAKc2VpbmVtIFNjaGxhZnNhY2sgYXVmZ2V3aXNjaHQgKmcqLgpBbmdla29tbWVuIHNpbmQgd2lyIHRyb3R6ZGVtLgoKR2xvaW4KClBTOiBEaWUgUGFydHkgd2FyIGdlaWwuClBQUzogTmFlY2hzdGVzIE1hbCBiaXR0ZSB3aWVkZXIgZWluZW4gUGFydHlyYXVtIG1pdCBEaXNrbyA6KQpQUFBTOiBCaXJkeSBhYmVyIGFibG9lc2VuLCBzb2JhbGQgZXIgZmVya2VsaWdlIExpZWRlciBhdWZsZWd0IC4uLgouICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIEdBTlpFIFdhaHJoZWl0IC4uLiAoUm9jaHVzLCAyNS4gQXVnIDE5OTgsIDE2OjAxOjA1KToKfiMhIHJuPUdsb2luc29uIHJ0PTkwNDA0Nzc0OCByZz1wYXJ0eQp+IyEgdGlkPTkwNDA0Nzc0OAo+IFBQUFM6IEJpcmR5IGFiZXIgYWJsb2VzZW4sIHNvYmFsZCBlciBmZXJrZWxpZ2UgTGllZGVyIGF1ZmxlZ3QgLi4uCldhcmVuIGRpZSBDRHMgbmljaHQgdm9uIExhcmlzc2E/IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgR0FOWkUgV2FocmhlaXQgLi4uIChDYXR3ZWF6bGUsIDI1LiBBdWcgMTk5OCwgMTY6MDE6NDEpOgp+IyEgcm49Um9jaHVzIHJ0PTkwNDA1MzY2NSByZz1wYXJ0eQp+IyEgdGlkPTkwNDA0Nzc0OApadW0gVGVpbC4KQWJlciBzcHJlY2h0IHRyb3R6ZGVtIG5pY2h0IG1pdCBMYXJpc3NhLi4uCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIEdBTlpFIFdhaHJoZWl0IC4uLiAoS2V5LCAyNS4gQXVnIDE5OTgsIDE2OjI5OjU4KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDQwNTM3MDEgcmc9cGFydHkKfiMhIHRpZD05MDQwNDc3NDgKTGFycmlzYSEhISBJY2ggc29sbHRlIG1pdCBEaXIgcmVkZW4gOykKClNvIG1hbCB3YXMgYWxsZ2VtZWluZXMgLi4uCgpEYW5rZSBhbiBDYXR0eSB1bmQgYWxsZSBPcmdhbmlzYXRvcmVuIGRlciBQYXJ0eSB1bmQgZGVzIFNvbW1lcmNhbXBzIQpJY2ggZmFuZCBiZWlkZXMgU3VwZXIgYXVjaCB3ZW5uIHdpciBuaWNodCBzb3ZpZWwgR2x1ZWNrIG1pdCBzb25lbSBrb21pc2NoZW4KTlBDIGhhdHRlbiBkZXIgc2ljaCB1bmJlZGluZ3Qgd2llIG5lIGFsdGUgSGV4ZSBhdWZmdWVocmVuIG11c3N0ZSA6KQpJY2ggZHVyZnRlIGRpZSBub2NoIG5pY2h0bWFsIHRvZXRlbiB3ZWlsIG1laW5lIGtudWRkZWxpZ2UgRWhlZnJhdSBkZXIgTWVpbnVuZwp3YXIgZGFzIGljaCBkYWJlaSBzdGVyYmVuIGtvZW5udGUgOykKTmFqYSBhYmVyIGRhcyBrb25udGUgamEga2VpbmVyIGFobmVuIC4pCgpBbHNvIGFsbGVzIGluIGFsbGVtIHdhciBlcyBTcGl0emUhIERhbmtlISA6KQoKS2V5CgpQLlMuOiBIbW0gbnVyIHNvbGx0ZSBKb2Ygbm9jaCBuZW4gYmlzc2VybCBiZXNzZXIgbGVybmVuIFdldHRlciB6dSBwcm9nZ2VuIDspClVuZCB2b3IgYWxsZW0gYXVmaG9lcmVuIEtpcHBlbnBhZWNrY2hlbiB6dSBFUk1PUkRFTiEhISA7KSkpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIEdBTlpFIFdhaHJoZWl0IC4uLiAoQXRveiwgMjUuIEF1ZyAxOTk4LCAxNjozMzowMyk6Cn4jISBybj1LZXkgcnQ9OTA0MDU1Mzk4IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MDQ3NzQ4CkhleSwgRHUgaGFzdCBkaWUgTlBDcyBpbiBkZXIgSW5uZW5zdGFkdCB2ZXJnZXNzZW4sIGJlaSBkZW5lbiBhbGxlIGRpZSBJbmZvcwonQm93bGluZycsICdLZWdlbG4nIHVuZCAnQmlsbGlhcmQnIGZlaGxlbi4KCkF1c3NlcmRlbSBtb2VjaHRlIGljaCBrbGFyc3RlbGxlbiwgZGFzcyBFdWxhbGllIHdlZGVyIGxpbGEgRm5hbGxlbGFlcHBjaGVuCm5vY2ggZ3J1ZW5lIEtsZWlkZXIgdHJhZWd0LCBiZXZvciBoaWVyIHdlciB3YXMgYW5kZXJlcyBiZWhhdXB0ZXQhISEKCkF0b3ogLSBrbGFyZXIgU2llZ2VyIGltIFplbHRhdWZiYXVlbiA7KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEaWUgR0FOWkUgV2FocmhlaXQgLi4uIChLZXksIDI1LiBBdWcgMTk5OCwgMTc6MzA6MzQpOgp+IyEgcm49QXRveiBydD05MDQwNTU1ODMgcmc9cGFydHkKfiMhIHRpZD05MDQwNDc3NDgKU3RpbW10IGRpZSBpbiBkZXIgU3RhZHQgd2FyZW4gYWxsZSBkb29mIDopCgpIbW0gb2IgZGFzIGFsbGUgTWFncyB3YXJlbj8gOikpCgpLZXkKClAuUy46IERvY2ggRXVsYWxpZSB0cmFlZ3QgbGlsYSBGbGFuZWxsYWVwY2hlbiAuKSBPZGVyIGhhc3N1IHdhcyBnZXRydW5rZW4gdW5kCmthbm5zdCBlcyBudXJuZXQgdGlwcGVuPyAuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RyYWhsZW5kZXIgU296aWFsYXJiZWl0ZXIgKE11cmtlcywgMjYuIEF1ZyAxOTk4LCAxMDowMzoxNSk6CkF1Y2ggZXJzdG1hbCBlaW5lbiBEYW5rIGFuIGRpZSBQYXJ0eW9yZ2FuaXNhdGlvbiwgZGllIFBhcnR5IGhhdCB3aXJrbGljaCBTcGFzcwpnZW1hY2h0IDopCkF1c3NlcmRlbSBiaW4gaWNoIGdlc3Rlcm4gbm9jaG1hbCBpbSBCYWhuaG9mIGdld2VzZW4gdW5kIGVpbiB2b3IgRnJldWRlCnN0cmFobGVuZGVyIEpvaGFubmVzIChkZXIgU296aWFsYXJiZWl0ZXIpIGthbSBtaXIgZW50Z2VnZW4uIFZpZWxlbiBEYW5rIGFuCmFsbGUsIGRpZSBkZW4gTGludXgtUEMgZG9ydCBpbnN0YWxsaWVydCB1bmQgSW50ZXJuZXRmYWVoaWcgZ2VtYWNodCBoYWJlbi4KQXVzc2VyZGVtIG1laW50ZSBKb2hhbm5lcywgZGFzIE11ZGRlciBnYW56IGFuZ2VuZWhtIHNpbmQgdW5kIHdpciBzb2xsZW4gZG9jaAp3aWVkZXJrb21tZW4gOikKCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0cmFobGVuZGVyIFNvemlhbGFyYmVpdGVyIChLZXksIDI2LiBBdWcgMTk5OCwgMTA6MDc6MTcpOgp+IyEgcm49TXVya2VzIHJ0PTkwNDExODU5NSByZz1wYXJ0eQp+IyEgdGlkPTkwNDExODU5NQpIYXQgZXIgYXVjaCBuZW4gVm9yc2NobGFnIHdvIG1hbiBzZWluIFplbHQgYXVmYmF1ZW4ga2Fubj8gLikKCktleSBnbGF1YnQga2F1bSBkYXMgc2llIG5vY2ggZ2VybmUgZ2VzZWhlbiBzaW5kIGF1ZiBkZW0gQ2FtcGluZ3BsYXR6ICwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0cmFobGVuZGVyIFNvemlhbGFyYmVpdGVyIChGcmFueiwgMjYuIEF1ZyAxOTk4LCAxMDowOTo0MSk6Cn4jISBybj1LZXkgcnQ9OTA0MTE4ODM3IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MTE4NTk1CkFjaCB3YXMuIERpZXNlciBIZXh4ZW4gbnBjIHdhciBqYSB3ZWNoIHVuZCBhdXNzZXJkZW0gd2FycyBhdWYgZGVtIFBhcmtscGF0egphdWNoIG5pY2h0IG5vY2ggbGFuZ2UgbmljaHQgYWJzb2x1dCBzdXBlcnVlYmVsIG9kZXIgPwpIYXQgZGEgbmljaHQgd2VyIG1hbCB3YXMgdm9uIG5lbSBCYXVlcm4gZXJ6YWVobHQgPwpVbmQgYXVjaCBpY2ggbW9lY2h0ZSBhbGxlbiBkYW5rZW4uIHdhciBuZSBlY2h0IGdlaWxlIHdvY2hlIG1pdCBldWNoIS4KYmlzIHp1bSBuYWVjaHN0ZW4gbWFsIQoKRW5qb3kgRnJhbnohIC0gc3VlY2h0aWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFydGlrZWwgRGFuayBhbiBDYXQqIHVuZCBkaWUgYW5kZXJlbiBPcmdhbmlzYXRvcmVuIChTaG9ya2FuLCAyNi4gQXVnIDE5OTgsIDEwOjEzOjMzKToKSGllcm1pdCBtb2VjaHRlIGljaCBhdWNoIG1laW5lbiBEYW5rIGZ1ZXIgZGllIHN1cGVyZ2VpbGUgQ2FtcHdvY2hlCnp1bSBBdXNkcnVjayBicmluZ2VuLgpXZXIgd2lsbCBzaWNoIGRlbm4gd2VnZW4gZWluIHBhYXIgTlBDcyBkZW4gU3Bhc3MgdmVyZGVyYmVuIGxhc3NlbiA/CkljaCBoYWJlIHZlcnN1Y2h0IGRlbiBIZXhlbnRvZXRlciB6dSBmaW5kZW4sIGxlaWRlciBvaG5lIEVyZm9sZy4gQWJlciBiZWltCm5lY2hzdGVuIG1hbCBmaW5kZSBpY2ggaWhuIGJlc3RpbW10IDspCgpTaG9ya2FuIC0gbmljaHQgc3VlY2h0aWcgKGljaCBrYW5uIGplZGVyemVpdCBhdWZob2VyZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHplbHRhdWZiYXUgKFNob3JrYW4sIDI2LiBBdWcgMTk5OCwgMTA6MTk6NDgpOgp+IyEgcm49SGFyZGlsIHJ0PTkwMzcwMjYyNiByZz1wYXJ0eQp+IyEgdGlkPTkwMzcwMjUzMApJbiBlaW5lbSBGbHVnemV1ZzoKRGVyIFBpbG90IGtvbW10IHp1IGRlbiBQYXNzYWdpZXJlbiB1bmQgc2FndDogIldlciB3ZXJkZW4gaW4ga3VlcnplCm5vdGxhbmRlbi4iCgpEZXIgRGV1dHNjaGUgc2FndDogIkJlaW0gVmVybGFzc2VuIGRlcyBGbGllZ2VycywgRnJhdWVuIHVuZCBLaW5kZXIgenVlcnN0LiIKRGVyIEFtaSBydWZ0OiAiRnVjayB0aGUgY2hpbGRyZW4uIgpEYSBtZWludCBkZXIgQmVsZ2llcjogIkhhYmVuIHdpciBub2NoIHNvIHZpZWwgWmVpdCA/IgoKU2hvcmthbgoKUFM6IFNvdmllbCB6dSBuaWNodCBpbiBCZWxnaWVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZXN0cG9zdGVuIHZvbiBGcmVpdGFnIGFiZW5kIChDYXR3ZWF6bGUsIDI2LiBBdWcgMTk5OCwgMTA6MjU6NDQpOgpNb2luIQoKSWNoIG11c3N0ZSBnZXN0ZXJuIGFiZW5kIG5lIGdlaG9lcmlnZSBTdW1tZSBiZWltIEFsYWJhbWEgbmFjaGJlemFobGVuLCB3ZWlsCmVpbmlnZSBzaWNoIG5pY2h0IGluIGRlciBMYWdlIGdlc2VoZW4gaGFiZW4sIGFsbGUgenUgYmV6YWhsZW4sIHdhcyBzaWUKdmVyemVocnQgaGFiZW4uIFVlYnJpZyBnZWJsaWViZW4gc2luZDoKNCBQaXRjaGVyIEJpZXIgKDE2RE0pCjEgSG90IENIb2NvbGF0ZSAoMyw2MCkKMSBTa2luIEZyaWVzICg0LDUwKQoxIE5ld1lvcmsgQnVyZ2VyICgxMyw5MCkKMyBXZWl6ZW4gZHVua2VsICg1LDUwKQoKQWxsZXMgU3R1ZWNrcHJlaXNlLgpJY2gga2FubiBpcmdlbmR3aWUgbmljaHQgdmVyc3RlaGVuLCB3aWUgbWFuIHZlcmdlc3NlbiBrYW5uLCBzZWluIEVzc2VuIHp1CmJlemFobGVuLCBhYmVyIGljaCBmaW5kZSBiZXNvbmRlcnMgZGllIHVlYnJpZ2dlYmxpZWJlbmVuIDY0IE1hcmsgZnVlciA0IGdyb3NzZQpCaWVybGFkdW5nZW4gcmVjaHQgaGVmdGlnIHVuZCBkcmVpc3QuCkRhaGVyIG1vZWdlIGRvY2ggamVkZXIsIGRlciBzaWNoIGJlcnVmZW4gdW5kIHNjaHVsZGlnIGZ1ZWhsdCwgZWluZW4KZW50c3ByZWNoZW5kZW4gQmV0cmFnIGF1ZnMgcGFydHlrb250byBuYWNodWViZXJ3ZWlzZW4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3RyYWhsZW5kZXIgU296aWFsYXJiZWl0ZXIgKE11cmtlcywgMjYuIEF1ZyAxOTk4LCAxMDozMjoxNCk6Cn4jISBybj1LZXkgcnQ9OTA0MTE4ODM3IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MTE4NTk1CktsYXIsIGluIFdvbGJlY2sgZ2lidCBlcyBnZW51ZyBXaWVzZW4sIGlyZ2VuZGVpbiBiYXVlciB3dWVyZGUgc2ljaCBkYSBzY2hvbgplcndlaWNoZW4gbGFzc2VuLiBadW1pbmRlc3QgQkVWT1Igc2llIERpY2gga2VubmVuZ2VsZXJudCBoYWJlbiwgS2V5IQoKTXVya2VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdHJhaGxlbmRlciBTb3ppYWxhcmJlaXRlciAoRnJhbnosIDI2LiBBdWcgMTk5OCwgMTA6MzM6NDgpOgp+IyEgcm49TXVya2VzIHJ0PTkwNDEyMDMzNCByZz1wYXJ0eQp+IyEgdGlkPTkwNDExODU5NQpPYiBkYXMgbWl0IGRlbSBCYXVlcm4gbmUgZ3V0ZSBJZGVlIHdhciA/IHdpciBtdWVzc3RlbiBhdWZwYXNzZW4gZmFsbHMgZXIKaXJnZW5kd2VsY2hlIHRpZXJlIGRvcnQgaGF0Li4gdm9yYWxsZW0gd2VubiByb2NodXMgZnJpc2JpZSBzcGllbHQuLiAqZyoKYWNoIGphIHdpcmQgZGVyIHNraWxsIG51biBlaW5nZWZ1ZWhydCA/IDotKQoKRW5qb3kgRnJhbnohIC0gZG9jaCBzdWVjaHRpZyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZXN0cG9zdGVuIHZvbiBGcmVpdGFnIGFiZW5kIChCb2luZywgMjYuIEF1ZyAxOTk4LCAxMjozODowNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTA0MTE5OTQ0IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MTE5OTQ0Ck1hbCBkYXZvbiBhYmdlc2VoZW4sIGRhc3MgaWNoIGVzIGF1Y2ggbmljaHQgdmVyc3RlaGVuIGthbm4sIHdpZSBtYW4gCnZlcmdlc3NlbiBrYW5uIHp1IHphaGxlbiwgaGFsdGUgaWNoIGRhcyBBbGFiYW1hIHRyb3R6ZGVtIGZ1ZXIgZWluZW4KU2FmdGxhZGVuLCB3ZW5uIHNpZSBkYSB3ZWdlbiAxMDAgRE0gYW5mYW5nZW4gTmFjaHphaGx1bmdlbiB6dSB2ZXJsYW5nZW4uCldpciB3YXJlbiBkYSBtaXQgY2EuIDgwIExldXRlbiB1bmQgaGFiZW4gYmVzdGltbXQgZ2VudWcgaW4gZGllIEthc3NlCmdlYnJhY2h0ISBBbHMgVmVyZ2xlaWNoOiBCZWkgZGVyIEZldGUgaW4gS2FybHNydWhlIGhhYmUgaWNoIGRlbSBJdGFsaWVuZXIKYW0gQWJlbmQgYW5nZWJvdGVuIGRpZSBuaWNodCBiZXphaGx0ZW4gU2FjaGVuIHp1IGJlemFobGVuLCBkZXIgd29sbHRlCmRhdm9uIHVlYmVyaGF1cHQgbmljaHRzIHdpc3NlbiwgZGVyIHdhciBzdXBlciBnbHVlY2tsaWNoIHVlYmVyIGRpZQo4MCBMZXV0ZSBkaWUgZGEgZnVlciBlaW5lIHJpZXNpZ2UgUmVjaG51bmcgZ2Vzb3JndCBoYWJlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZXN0cG9zdGVuIHZvbiBGcmVpdGFnIGFiZW5kIChLZXksIDI2LiBBdWcgMTk5OCwgMTI6NDQ6NDgpOgp+IyEgcm49Qm9pbmcgcnQ9OTA0MTI3ODg1IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MTE5OTQ0Ck5hamEga29tbXQgaW1tZXIgZHJhdWYgYW4gd2llIHdhcyBhYmdlcmVjaG5ldCB3aXJkIC4uLgoKR2VodCB6dW0gQmVpc3BpZWwgZGVyIFNjaGFkZW4gZHVyY2ggbmljaHQgYmV6YWhsdGUgU2FjaGVuIGF1ZiBlaW5lIFBlcnNvbiAoZGllCnp1c3RhZW5kaWdlIEJlZGllbnVuZykgSXN0IGVzIHNjaG9uIGhhcHBpZy4KV2lyZHMgYXVmcyBnZXNhbXRlIExva2FsIHZlcnRlaWx0IGdlaHRzIDopCgoKS2V5IGdlaHQgYXVjaCBhdWYgbmVyIFdpZXNlIHplbHRlbiBzb2xhbmdlIGVzIGRhIEt1ZWhlIHp1bSB1bXNjaHVic2VuIGdpYnQgPTspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlc3Rwb3N0ZW4gdm9uIEZyZWl0YWcgYWJlbmQgKENhdHdlYXpsZSwgMjYuIEF1ZyAxOTk4LCAxMjo0NjozNSk6Cn4jISBybj1Cb2luZyBydD05MDQxMjc4ODUgcmc9cGFydHkKfiMhIHRpZD05MDQxMTk5NDQKR2x1ZWNrbGljaCB3YXJlbiBkaWUgYWxsZXJkaW5ncyBhdWNoLiBEaWUgaGFiZW4gd29obCAyIFJpZXNlbiBVbXNhdHogZ2VtYWNodC4KQWxsZXJkaW5ncyBibGVpYmVuIGltIEFsYWJhbWEgdWVicmlnZSBTYWNoZW4gd29obCBhdWYgZGVyIEthcHBlIGRlciBLZWxsbmVyCmhhZW5nZW4sIHdlaWwgZGVyIENoZWYgZGFyYXVmIGJlc3RlaHQgYWxsZXMgd2FzIGVpbmdlYnVjaHQgaXN0IGF1Y2ggaW4gZGVyCkthc3NlIGhhYmVuIHp1IHdvbGxlbi4gVW5kIGRhbm4gc2luZCA5MiBETSBmdWVyZGllIEJlZGllbnVuZyBhdWYgZWlubWFsIGdhbnoKdmllbCBHZWxkLiBJY2ggZmluZGUgZGEga2FubiBtYW4gZGFzIG5hY2h2b2xsemllaGVuLCB3ZW5uIGRpZSBkYXMgaGFiZW4Kd29sbGVuLiBBdXNzZXJkZW0gaGFiIGljaCBkZW5lbiBkYXMgYW0gRnJlaXRhZyBhYmVuZCBhbmdlYm90ZW4uIEljaCBtdXNzCnp1Z2ViZW4sIGljaCBoYWJlIGFsbGVyZGluZ3MgbmljaHQgbWl0IF9zb3ZpZWxfIGdlcmVjaG5ldCA6KApZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFN0cmFobGVuZGVyIFNvemlhbGFyYmVpdGVyIChWYW1weSwgMjYuIEF1ZyAxOTk4LCAxNjoxNToxNyk6Cn4jISBybj1GcmFueiBydD05MDQxMTg5ODEgcmc9cGFydHkKfiMhIHRpZD05MDQxMTg1OTUKamEsIG1pciBoYXQgZGllIHdvY2hlIGF1Y2ggZXh0cmVtIGdlZmFsbGVuLi4uCkVpbiBGZXR0ZXMgREFOS0UgYW4gYWxsZSBkaWUgT3JnYW5pc2llcnQgdW5kIGdlc2NoYWZmdCBoYWJlbi4uLiBXZW5uCmljaCBtaXIgZGFzIGFybWUgQ2F0KiBub2NobWEgaW4gRXJyaW5uZXJ1bmcgcnVmZS4uLgpSZW5udCBkZXIgZWlnZW50bGljaCBpbW1lciBtaXQgSGFuZHkgcnVtPwp2YW1weSwgZmFuZCBkYXMgY2FtcCBlaW5mYWNoIHN1cGVyLi4uIGFiZXIgd28gc2luZCBkaWUgRm90b3M/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RyYWhsZW5kZXIgU296aWFsYXJiZWl0ZXIgKEthcnRvZmZlbCwgMjYuIEF1ZyAxOTk4LCAyMjoyNzo1MSk6Cn4jISBybj1NdXJrZXMgcnQ9OTA0MTE4NTk1IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MTE4NTk1CipncmlucyoKRGFzIHdhciBkZXIgZGVuIGljaCBtaXQgZGVtIEtvbW1lbnRhcjogIkhhbHQsIGJldm9yIER1IHdlaXRlcmdlaHN0LCB3ZXIgYmlzdApEdT8iIGF1ZmdlaGFsdGVuIGhhYmUuLi4KCidUb2ZmZWwgLXdhciBkYXMgZGFubiBkb2NoIGV0d2FzIHBlaW5saWNoLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZXN0cG9zdGVuIHZvbiBGcmVpdGFnIGFiZW5kIChaYXJuaXlhLCAyNy4gQXVnIDE5OTgsIDE2OjQ2OjUzKToKfiMhIHJuPUJvaW5nIHJ0PTkwNDEyNzg4NSByZz1wYXJ0eQp+IyEgdGlkPTkwNDExOTk0NApIaSwgCgphbHNvIGJlaW0gS29lbG5lciBTdGFtbXRpc2NoIGhhYmVuIHdpciBpbSBTY2huaXR0IHNvIDIwMDAgRE0gVW1zYXR6IGRlbiBBYmVuZApnZW1hY2h0IHVuZCBlcyBibGllYiBuaWUgd2FzIHVlYmVyLiBLYW5uIHNlaW4sIGRhc3MgZGFzIGFuIGRlciBPcmdhIGxhZyBvZGVyCmVpbmZhY2ggbnVyIGRhcmFuLCBkYXNzIHdpciBoaWVyIGluIEtvZWxuIG5ldHRlcmUgR2Flc3RlIGhhYmVuIDopPQoKTWVpbmVyIGVpbmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZXN0cG9zdGVuIHZvbiBGcmVpdGFnIGFiZW5kIChUZWRkeSwgMjcuIEF1ZyAxOTk4LCAxNjo0ODoyNSk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwNDIyOTIxMyByZz1wYXJ0eQp+IyEgdGlkPTkwNDExOTk0NApFaWdlbnRvciwgZGVyIFN0YW1tdGlzY2ggaW4gS29lbG4gd2FyIGRpZXNlcyBKYWhyIHZvbSBVbXNhdHogdW5kIGFlaG5saWNoZW0KaGVyIGphIHdvaGwgZWluIGFic29sdXRlciBXaXR6LgoKVGVkZHksIHdpZSB2aWVsZSBhbmRlcmUgYXVjaCBkdXJzdGlnIG5hY2ggSGF1c2UgZ2VmYWhyZW4sIHdlaWwgZGllIEtlbGxuZXIKa2VpbmUgWmVpdCBoYXR0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZXN0cG9zdGVuIHZvbiBGcmVpdGFnIGFiZW5kIChSaW5nb3IsIDI3LiBBdWcgMTk5OCwgMTY6NDg6MzUpOgp+IyEgcm49WmFybml5YSBydD05MDQyMjkyMTMgcmc9cGFydHkKfiMhIHRpZD05MDQxMTk5NDQKV2llIHNvbGwgZXR3YXMgdWVicmlnIGJsZWliZW4sIHdlbm4gZGllIG5peCBhdXNzY2hlbmtlbj8gVW0gZGEgdWViZXJoYXVwdCBhbgplaW4gQmllciB6dSBrb21tZW4sIG11c3N0ZSBtYW4gZGVuIEtlbGxuZXIgc2Nob24gbWVociBvZGVyIHdlbmlnZXIgbWl0CldhZmZlbmdld2FsdCB6d2luZ2VuLCBlaW5lbSB3YXMgenUgYnJpbmdlbi4KClJpbmdvci4gSXN0IHZvcmhlciBub2NoIG5pZSBkdXJzdGlnIGF1cyBlaW5lbSBMb2thbCBnZWtvbW1lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlc3Rwb3N0ZW4gdm9uIEZyZWl0YWcgYWJlbmQgKFphcm5peWEsIDI3LiBBdWcgMTk5OCwgMTc6NDY6MDMpOgp+IyEgcm49UmluZ29yIHJ0PTkwNDIyOTMxNSByZz1wYXJ0eQp+IyEgdGlkPTkwNDExOTk0NAphbHNvIGlociBoYWJ0IGRhIHdvaGwgdW5ndWVuc3RpZyBnZXNlc3Nlbi4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIGFybWVuIEt1ZWhlLi4uIChBdG96LCAyNy4gQXVnIDE5OTgsIDE3OjUxOjE1KToKCi4uLiBvZGVyIHNvLgpOb2UgS2V5IGxhc3MKYSkgTWFsIGRpZSBLdWVoZSBpbiBSdWhlLCBzb25zdCB3aXJzdCBEdSBiZWkgRGVpbmVtIEdlc2NoaWNrIGRpZSBXb2NoZSBlaCBudXIKaW4gZGVyIFRvZGVzc2VxdWVueiB2ZXJicmluZ2VuCgp1bmQgCmIpIFdhcyBzY2hyZWlic3QgRHUgZGVubiBkYXZvbiBEZWluIFplbHQgYXVmenViYXVlbj8gS29tbXN0IGRhcyBuYWVjaHN0ZSBNYWwKZWluZSBXb2NoZSBmcnVlaGVyLCBkYW1pdCBEdSBkYW5uIGJpcyBTb25udGFnIGF1Y2ggZWluZW4gU2NobGFmcGxhdHogaGFzdD8KCnVuZCAKYykgU3RvcGRlbmJ1cywgZGFzIHNvbGx0ZSBEaWNoIGxlaHJlbiBhdWYgZGllIE1pdC1NYXJidXJnZXIgenUgc2V0emVuIDspClNvbGlkYXJpdGFldCBoaW4gb2RlciBoZXIsIGRhIHdhZXIgbWlyIG1laW4gR2VsZCBhYmVyIHdpY2h0aWdlciAqZ3JpbnNmaWVzKgoKVHNjaGF1IEF0b3oKClBTIEhhYnNjaCBnYWhyIG5pY2tzY2ggZ2VkcnVuZ2VuLCBzY2hyZWlidCBtYW4gc2NobyBoZWlzc3QgTGlsYQpGbmFsbGVsYWVwcGNoZW4gamF3b2xsIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmVzdHBvc3RlbiB2b24gRnJlaXRhZyBhYmVuZCAoWmVwaHlyLCAyNy4gQXVnIDE5OTgsIDE5OjA3OjIwKToKfiMhIHJuPVJpbmdvciBydD05MDQyMjkzMTUgcmc9cGFydHkKfiMhIHRpZD05MDQxMTk5NDQKQWxzbyBkYXNzIER1IGR1cnN0aWcgYXVzIGRlbSBMb2thbCBnZWtvbW1lbiBiaXN0IGthbm4gZWlnZW50bGljaApudXIgZGFyYW4gZ2VsZWdlbiBoYWJlbiwgZGFzcyBEZWluIEJpZXIgYXVmIG1laW5lciBIb3NlIGdlbGFuZGV0IGlzdC4KCipkYWVtb25pc2NoIGdyaW5zZW5kKgogICBaZXBoeXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlc3Rwb3N0ZW4gdm9uIEZyZWl0YWcgYWJlbmQgKFRlZGR5LCAyOC4gQXVnIDE5OTgsIDAxOjA5OjU4KToKfiMhIHJuPVphcm5peWEgcnQ9OTA0MjMyNzYzIHJnPXBhcnR5Cn4jISB0aWQ9OTA0MTE5OTQ0CkljaCBoYWIgYW4gYWxsZW4gbW9lZ2xpY2hlbiBlY2tlbiBnZXNlc3NlbiB1bmQgZXMgd2FyIGF1Y2ggYWxsZ2VtZWluZXIKS29uc2VucywgaWNoaGFiIGFsbGVpbmUgYWxzIGljaCBhbHMgZXJzdGVyIGRhIHdhciAxNSBNaW51dGVuIGdld2FydGV0LCBiaXMgaWNoCm1laW5lIGVyc3RlIEJlc3RlbGx1bmcgYXVmZ2ViZW4ga29ubnRlLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlc3Rwb3N0ZW4gdm9uIEZyZWl0YWcgYWJlbmQgKFd1cnplbCwgMjguIEF1ZyAxOTk4LCAwOToxMDoyOSk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwNDIzMjc2MyByZz1wYXJ0eQp+IyEgdGlkPTkwNDExOTk0NAppcmdlbmR3aWUgZ2FiIGVzIGRhIHdvaGwga2VpbmUgZ3VlbnN0aWdlbiBwbGFldHplLiBpY2ggaGFiZSBtaWNoIG1laHJmYWNoCnVtZ2VzZXR6dCB1bmQgYmluIHRyb3R6ZGVtIGR1cnN0aWcgZ2VibGllYmVuLiBhbnNjaGVpbmVuZCBoYXR0ZW4gZGllIGtlbGxuZXIKa2VpbmUgdW1zYXR6YmV0ZWlsaWd1bmcgKGltbWVyIGVpbmUgZ2FueiBzY2hsZWNodGUgZ2VzY2hhZWZ0c2lkZWUpLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb2cgdm9tIENoaW5lc2VuLi4uIChUZWxsLCAyOC4gQXVnIDE5OTgsIDEyOjA0OjUzKToKCkljaCBoYWJlIG1laW5lbiBQZmxhdW1lbnNjaG5hcHMgKHdlaWwgbWFuIHdpbGwgamEgbm9jaCBuYWNoIEhhdXNlCmZhaHJlbi4uIDspKSkgYW4gTWllemUgZ2VnZWJlbi4uLiBEYXJhdWZoaW4gc28gZWluIHBhYXIgTWludWV0Y2hlbgpzcGFldGVyOgoKTWllemUgcGxhZXJydCBkdXJjaHMgTG9rYWw6IEdlYnQgbWlyIGFsbGUgRXVyZW4gU2NobmFwcyEhCgouLi4KCk1pZXplIHJ1ZnQgc2VobnN1ZWNodGlnOiBJY2ggd2lsbCBlaW5lbiBLYXRlciEhIQoKCnNvc28uLi4gOikpKSAKClAuUy46IEhhdCdzIGRlbm4gbm9jaCBnZWtsYXBwdD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG9nIHZvbSBDaGluZXNlbi4uLiAoQXp6dXJvLCAyOC4gQXVnIDE5OTgsIDE3OjI1OjU1KToKfiMhIHJuPVRlbGwgcnQ9OTA0Mjk4NjkzIHJnPXBhcnR5Cn4jISB0aWQ9OTA0Mjk4NjkzClNDSE5BUFM/Pz8/Pz8/PwoKCkVzIGdhYiBTY2huYXBzPz8/CgpXZWxjaGVyICQmJSIhJiQtV3VybSBoYXQgbWVpbmVuIFNjaG5hcHMgZ2V0cnVua2VuPz8/CgpBenp1b3IsIGlzdCBkdXJzdGlnIGdlYmxpZWJlbiA7KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVjaCBEYW5rZSBzYWdlbiB3aWxsIChMdWcsIDMwLiBBdWcgMTk5OCwgMDQ6NDk6MTcpOgoKUmFldXNwZXIsCgppY2ggYmluIGphIGZpZXMgYWxzbyBkYW5rZSBpY2ggZXJzdG1hbCBnYW56IGJlc29uZGVycyBDYXR3ZWF6bGUsIG9obmUgZGVuCmhhZXR0ZSBpY2ggZ2FyIG5pY2h0IGtvbW1lbiBrb2VubmVuLCBuYWNoZGVtIGljaCBUZXJtaW4sIE9yZ2FuaXNhdGlvbiBldGMuCnZvZWxsaWcgdmVyZHVzc2VsdCBoYXR0ZS4gSmV0dXp0IHdlcmRlbiBzaWUgRGljaCBseW5jaGVuIENhdHR5IDspCkRhbmsgYXVjaCBhbiBhbGxlIGFuZGVyZW4gT3JnYW5pc2F0b3JlbiB1bmQgR29ldHRlciwgZGllIG1pY2ggcGVyc29lbmxpY2gKYWJob2xlbiBrYW1lbiA7KQoKV2FyIGZ1ZXIgbWljaCBtYWwgd2llZGVyIGdhbnogbHVzdGlnLCBmdWVyIGVpbmlnZSB6YXJ0ZSBHZW11ZXRlciBpbiBtZWluZXIKTmFlaGUgZWhlciBuaWNodCA7KQpNZWhyIGRhdm9uCgpMdWcKCkFwcm9wb3M6IEFiIGluIGRpZSBLbGVyaWtlcmdpbGRlLCB3ZW4gYXVjaCBpbW1lciBpY2ggZGEgaGluZ2VzY2hpY2t0IGhhdHRlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWUgR0FOWkUgV2FocmhlaXQgLi4uIChMYXJpc3NhLCAzMS4gQXVnIDE5OTgsIDA5OjU2OjI2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDQwNTM3MDEgcmc9cGFydHkKfiMhIHRpZD05MDQwNDc3NDgKCkFob2ksIGJpbiBnZXN0ZXJuIGFiZW5kIGVyc3QgYXVzIGRlbSBVcmxhdWIgenVydWVjayB1bmQgbXVzcyB3b2hsIHdhcwprbGFyc3RlbGxlbjoKMSkgSWNoIHVuZCB2ZXJzYXV0ZSBDRCdzPyBTb3dhcyEgKE9kZXIgbWVpbnQgaWhyIEZyYW5rIFphcHBhPz8/KQoyKSBISWVyIG1hbCBkaWUga29tcGxldHRlIExpc3RlIGRlciBBbmZvcmRlcnVuZ2VuIHZvbiB1bnNlcmVtIGthdW0KICBhYmdlbnV0enRlbiBFeC1TaGVyaWZmOgogIGJyYXVuaGFhcmlnLCBuaWVkbGljaCwgemllcmxpY2gsIG5ldHQsIG1pdHRlbGludGVsbGlnZW50LCBzcG9ydGxpY2gsIHRyZXUKICBrdXNjaGVsaWcsIGxhbmdiZWluaWcoISksIG5pY2h0enVrbGVpbiB1bmQgcmVpY2guCgpTbywgd2VyIGtlbm50IGVpbmU/IERpZSBOdW1tZXIgdm9uIENhdHR5IGlzdDogNTU1LTEyMzQ1CgpMYXJpLCBzY2h3YWVybXQgbm9jaCB2b20gTWVlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIEdBTlpFIFdhaHJoZWl0IC4uLiAoQ2F0d2VhemxlLCAzMS4gQXVnIDE5OTgsIDEwOjQ5OjQ0KToKfiMhIHJuPUxhcmlzc2EgcnQ9OTA0NTUwMTg2IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MDQ3NzQ4CmFyZ2wKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEaWUgR0FOWkUgV2FocmhlaXQgLi4uIChLZXksIDMxLiBBdWcgMTk5OCwgMTI6MzI6MDApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwNDU1MzM4NCByZz1wYXJ0eQp+IyEgdGlkPTkwNDA0Nzc0OApUc3RzIExhcmlzc2EgamVkZXIgZGVyIGF1ZiBkZXIgUGFydHkgd2FyIGhhdCBhdWNoIENhdHR5cyBlY2h0ZSBOdW1tZXIgOikKCkhtbSB1bmQgaWNoIGhhYiBkYSBzb2dhciB3YXMgcGFzc2VuZGVzIC4uLiBzb2xsdGVuIHdpciBub2NobWFsIGRydWViZXIgcmVkZW4KLi4uIC4pCgpLZXksIHNwaWVsdCBkZW4gSGVpcmF0c3Zlcm1pdHRsZXIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZSBHQU5aRSBXYWhyaGVpdCAuLi4gKEFsaW5lLCAzMS4gQXVnIDE5OTgsIDE1OjA0OjU0KToKfiMhIHJuPUxhcmlzc2EgcnQ9OTA0NTUwMTg2IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MDQ3NzQ4CgpicmF1bmhhYXJpZywgbmllZGxpY2guLi4uCgpIbW1tIE1vbmljYSBMLj8gOykKCkRlbiBXaWxseS1CaWxseSB3aXJkIHVuc2VyIENhdCogamEgd29obCBsb2NrZXIgc2NobGFnZW4gOykgCnVuZCByZWljaCBpc3NlIGF1Y2ggbm9jaCA6KQoKQWxpbmUgd2lsbCBhdWNoIGFucyBNZWVyLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZSBHQU5aRSBXYWhyaGVpdCAuLi4gKEhvYm8sIDMxLiBBdWcgMTk5OCwgMTU6MDc6MDcpOgp+IyEgcm49QWxpbmUgcnQ9OTA0NTY4Njk0IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MDQ3NzQ4CkJhaCwgRGVpbmUgVm9yc3RlbGx1bmcgdm9uICJuaWVkbGljaCIgd2lsbCBpY2ggYWJlciBuaWNodCBoYWJlbiEKCiAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIEdBTlpFIFdhaHJoZWl0IC4uLiAoUmFmZmksIDMxLiBBdWcgMTk5OCwgMTU6NDI6NDkpOgp+IyEgcm49TGFyaXNzYSBydD05MDQ1NTAxODYgcmc9cGFydHkKfiMhIHRpZD05MDQwNDc3NDgKbmljaHQgNTU1IDEyMTIgPwoKR3J1ZWJlbApILgouIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIEdBTlpFIFdhaHJoZWl0IC4uLiAoV2FyZ29uLCAzMS4gQXVnIDE5OTgsIDE1OjQzOjM5KToKfiMhIHJuPUxhcmlzc2EgcnQ9OTA0NTUwMTg2IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MDQ3NzQ4CkhtbS4uLgpNdWVzc3RlIFB1bmt0IDIgbmljaHQgbmFjaCBhbnplaWdlbiBvZGVyIHN1Y2hlLWJpZXRlPwogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIEdBTlpFIFdhaHJoZWl0IC4uLiAoUm9jaHVzLCAzMS4gQXVnIDE5OTgsIDE1OjUxOjEzKToKfiMhIHJuPUxhcmlzc2EgcnQ9OTA0NTUwMTg2IHJnPXBhcnR5Cn4jISB0aWQ9OTA0MDQ3NzQ4CkFlaCwgZGllIE51bW1lciB2b24gQ2F0dHkgaXN0IG5pY2h0IDU1NS0xMjM0NQpzb25kZXJuIDAxOTAtODU1NS0xMjM0NS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZSBHQU5aRSBXYWhyaGVpdCAuLi4gKEtleSwgMzEuIEF1ZyAxOTk4LCAxNjo0MDoxNik6Cn4jISBybj1Sb2NodXMgcnQ9OTA0NTcxNDczIHJnPXBhcnR5Cn4jISB0aWQ9OTA0MDQ3NzQ4ClVwcyAuLi4gZGFubiBoYXR0ZXIgMiBOdW1tZXJuIC4pCgpJY2ggaGFiIENhdHR5IHp1bGV0enQgdW5kIDAwNS85OTk2NjYgZXJyZWljaHQgOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGllIEdBTlpFIFdhaHJoZWl0IC4uLiAoVGVkZHksIDMxLiBBdWcgMTk5OCwgMjI6MTc6MzMpOgp+IyEgcm49S2V5IHJ0PTkwNDU1OTUyMCByZz1wYXJ0eQp+IyEgdGlkPTkwNDA0Nzc0OApBbHNvIGZhbGxzIGR1IHdhcyBwYXNzZW5kZXMgaGFzdCB1bmQgQ2F0dHkgbmljaHQgd2lsbCwgaWNoIHNjaGFldHplIHdpcgprb2VubnRlbiBzaWUgYXVjaCB2ZXJzdGVpZ2VybiwgZ2lidCBiZXN0aW1tdCBnZW51ZyBJbnRlcmVzc2VudGVuIGltIE1HIDspCgpUZWRkeTogMSBETSBFaW5zdGllZ3NhbmdlYm90CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVzdHBvc3RlbiB2b24gRnJlaXRhZyBhYmVuZCAoR3JpbW1ib3JuLCAxMC4gU2VwIDE5OTgsIDE3OjQ5OjQwKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDQxMTk5NDQgcmc9cGFydHkKfiMhIHRpZD05MDQxMTk5NDQKQXVjaCB3ZW5uIGRhcyBzY2hvbiBld2lnIHZvcmJlaSBpc3QsIGljaCBrYW5uIGJlaSBkZW4gdWVicmlnZ2VibGllYmVuZW4gU2FjaGVuCmdlbmF1IGRhcyB2ZXJzdGVoZW4sIHdhcyBDYXQqIG5pY2h0IHZlcnN0ZWh0LiBXZW5uIGljaCBmdWVyIDY0RE0gQmllcgpnZXRydW5rZW4gaGFldHRlIHdhZXJlIGljaCBzaWNoZXIgYXVjaCBuaWNodCBtZWhyIGluIGRlciBMYWdlIHp1IGJlemFobGVuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5hY2hzY2hsYWcgKEdub21lLCAxMC4gU2VwIDE5OTgsIDE4OjA5OjMwKToKaGFsbG8genVzYW1tZW4gOikKCmF1Y2ggd2VubiBlcyBldHdhcyBzcGFldCBrb21tdC4uLiBhYmVyIGJlc3NlciBzcGFldCwgYWxzIG5pZSA4KQoKZXJzdG1hbCBlaW4gaGVyemxpY2hlcyB1bmQgZ3Jvc3NlcyBEQU5LRSBhbiBjYXR0eSB1bmQgb3JnYW5pc2F0b3JlbiEKaWNoIHdlaXNzLCB3YXMgZXMgZnVlciBtdWVoZSBtYWNodCwgYXVjaCB3ZW5ucyBoaW50ZXJoZXIgbmljaHQgc28gYXVzc2llaHQuCgp6dW0gY2FtcGluZ3BsYXR6OiBiaXMgYXVmIDIgc2FjaGVuLCBnaW5nIGRlciBwbGF0eiBlaWdlbnRsaWNoIGluIG9yZG51bmcuCjEuIGRlciBoZXhlbi1ucGMgaGF0IGV0d2FzIGdlc3RvZXJ0IDstKQoyLiBkaWUgZXR3YXMgbGFuZ2UgYW5iaW5kdW5nIHp1bSBuYWVjaHN0ZW4gbGFkZW4uCgphYmVyIGVzIHdhciBuZSBzdXBlcmd1dGUgd29jaGUgbWl0IGV1Y2ggYWxsZW4gOikKCmRlciBiYWhuaG9mOiBiZXNzZXJlIHBhcnR5cmFldW1lIGdpYnQgZXMgd29obCBrYXVtIHp1IGZpbmRlbi4uLiBtaXQgZGlzY28KdW5kIGludGVybmV0LWFuc2NobHVzcyA6KSBlY2h0IHN1cGVyLgpkZXIgcGl6emEtbWFubiBrYW0gbWl0IGRlbSBhdXNsYWRlbiBkZXIgcGl6emVuIGthdW0gaGludGVyaGVyIHVuZCBoaW50ZXJoZXIKYmxpZWIgZG9jaCBkaWUgaGFlbGZ0ZSB1ZWJlci4uLiBzY2hhZGUuCmRpZSBib3hlbiBpbiBkZXIgZGlzY28gd2FyZW4gendhciBldHdhcyBsZWlzZSwgYWJlciB6dW0gdGFuemVuIGhhdHMgZGVubm9jaApnZXJlaWNodC4uLiBhcHJvcG9zIHRhbnplbjogaWNoIGhhZXR0ZSBuaWUgZ2VkYWNodCwgZGFzcyBjYXR0eSBzbyBndXQKdGFuemVuIGthbm4uLi4gOikKYXVjaCBoYWJlIGljaCBpbiBtZWluZXIgaG9iYnktZGotbGF1ZmJhaG4gKmh1ZXN0ZWwqIHNlbHRlbiBzbyBlaW5lIGd1dGUKc3RpbW11bmcgZXJsZWJ0LCB3aWUgZG9ydCB6d2lzY2hlbiAxLjAwIHVuZCAyLjAwLiB1bmQgZGEgc29sbCBub2NoIG1hbAplaW5lciBzYWdlbiwgbXVkZGVyIHdhZXJlbiBzYWZ0c2FlY2tlLCBkaWUgbnVyIHZvcm0gcmVjaG5lciBoYWVuZ2VuLi4uIDstKQoKZ25PbWUgc2luZ3Q6ICJpcmdlbmR3aWUsIGlyZ2VuZHdvLCBpcmdlbmR3YW5uLi4uIgoKcC5zLiBkYXMgbmFlY2hzdGUgbWFsIGJpdHRlIHdpZWRlciBtaXQgZGlzY29hcnRpZ2VtIHJhdW0gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBuYWNoc2NobGFnIChLYXJ0b2ZmZWwsIDEwLiBTZXAgMTk5OCwgMjA6MjQ6MzIpOgp+IyEgcm49R25vbWUgcnQ9OTA1NDQzNzcwIHJnPXBhcnR5Cn4jISB0aWQ9OTA1NDQzNzcwClN0aW1tZSBHbm9tZSBoZWZ0aWdzdCB6dS4KCidUb2ZmZWwgLSBoYXQgc2ljaCBlcnN0IG1hbCBuZSBORFctQ0QgZ2VrYXVmdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnJhbmRhbnNjaGxhZyBhdWYgQmFobmhvZiAoTXVya2VzLCAxOC4gU2VwIDE5OTgsIDExOjI0OjI3KToKSGksCm51ciBlaW5lIGtsZWluZSBJbmZvcm1hdGlvbiB6dSBkZW0gQmFobmhvZiwgaW4gd2VsY2hlbSBkaWUgbGV0enRlIFBhcnR5CnN0YXR0ZmFuZC4KQW0gbGV0enRlbiBTYW1zdGFnIGlzdCBhdWYgZGFzIEdlYmFldWRlIGVpbiBCcmFuZGFuc2NobGFnIHZlcnVlYnQgd29yZGVuLiBEZXIKZ2FuemUgRGljby1SYXVtIGlzdCB6ZXJzdG9lcnQsIGRlciBnZXNhbXRlIEJhdSB3aXJkIG1pbmRlc3RlbnMgZnVlciAzIE1vbmF0ZQpnZXNjaGxvc3Nlbi4gRWluIE1vdGl2IGZ1ZXIgZGVuIEFuc2NobGFnIGtvbm50ZSBiaXNoZXIgbmljaHQgYXVzZ2VtYWNodAp3ZXJkZW4uCgpXaXJrbGljaCBzY2hhZGUsIGhvZmZlbnRsaWNoIGlzdCBkZXIgQmF1IGZ1ZXIgZGllIG5hZWNoc3RlIE11ZW5zdGVycGFydHkKd2llZGVyIGZpdC4KVHJhdXJpZwoKTXVya2VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnJhbmRhbnNjaGxhZyBhdWYgQmFobmhvZiAoTXVya2VzLCAxOC4gU2VwIDE5OTgsIDExOjI1OjIxKToKfiMhIHJuPU11cmtlcyBydD05MDYxMTA2Njcgcmc9cGFydHkKfiMhIHRpZD05MDYxMTA2NjcKRXMgbXVzcyBuYXR1ZXJsaWNoIERpc2NvIFJhdW0gaGVpc3NlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCcmFuZGFuc2NobGFnIGF1ZiBCYWhuaG9mIChKaW1kaWdyaXosIDE4LiBTZXAgMTk5OCwgMTI6MDk6NDEpOgp+IyEgcm49TXVya2VzIHJ0PTkwNjExMDY2NyByZz1wYXJ0eQp+IyEgdGlkPTkwNjExMDY2NwpTZXVmeiwKCkxlaWRlciBzY2hlaW50IGVzIGFscyBvYiBkaWUgQW56YWhsIGRlciB3aXJrbGljaGVuIElkaW90ZW4KdW5hdWZoYWx0c2FtIHp1bmltbXQuIDooKCgoKApWaWVsbGVpY2h0IHNpbmQgamEgd2lya2xpY2ggZGllIGJpb2FrdGl2ZW4gTWljcm93ZWxsZW4Kc2NodWxkLCBtaXQgZGVuZW4gUnVzc2xhbmQgc2VpdCBjYSAyMCBKYWhyZW4gCk1pdHRlbGV1cm9wYSBib21iYXJkaWVydCAobmFjaHdlaXNsaWNoISkuCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnJhbmRhbnNjaGxhZyBhdWYgQmFobmhvZiAoWWVuZGksIDE4LiBTZXAgMTk5OCwgMTI6MTU6MjcpOgp+IyEgcm49SmltZGlncml6IHJ0PTkwNjExMzM4MSByZz1wYXJ0eQp+IyEgdGlkPTkwNjExMDY2NwpBdSBqYSwgZXJrbGFlciEgCihBYmVyIHZpZWxsZWljaHQgYmVzc2VyIGluICJzY2htYXJybiIsIHdhcz8pCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJyYW5kYW5zY2hsYWcgYXVmIEJhaG5ob2YgKEx1ZywgMTguIFNlcCAxOTk4LCAyMjo1MTo0Nyk6Cn4jISBybj1KaW1kaWdyaXogcnQ9OTA2MTEzMzgxIHJnPXBhcnR5Cn4jISB0aWQ9OTA2MTEwNjY3CgpQYXJhbm9pYSBoZWlzc3QgamEgYmVrYW5udGxpY2ggbmljaHQsIGRhcyBtYW4gbmljaHQgYXVjaCB3aXJrbGljaCB2ZXJmb2xndAp3aXJkLiAKQWJlciBtYW5jaG1hbCA7KSkpCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyYW5kYW5zY2hsYWcgYXVmIEJhaG5ob2YgKEthcnRvZmZlbCwgMjAuIFNlcCAxOTk4LCAxOTozMzoyOSk6Cn4jISBybj1NdXJrZXMgcnQ9OTA2MTEwNjY3IHJnPXBhcnR5Cn4jISB0aWQ9OTA2MTEwNjY3CkdpYnQncyBuIFNwZW5kZW5rb250bz8/CgonVG9mZmVsIC13aWxsIGF1Y2ggd2llZGVyIGRhIGZlaWVybi0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnJhbmRhbnNjaGxhZyBhdWYgQmFobmhvZiAoTXVya2VzLCAyMS4gU2VwIDE5OTgsIDA2OjU4OjEyKToKfiMhIHJuPUthcnRvZmZlbCBydD05MDYzMjAwMDkgcmc9cGFydHkKfiMhIHRpZD05MDYxMTA2NjcKTmVpbiwgYmlzaGVyIGdpYnQgZXMgbm9jaCBrZWluIFNwZW5kZW5rb250by4gQWJlciBmYWxscyBzb3dhcyBlaW5nZXJpY2h0ZXQKd2lyZCwgd2VyZGUgaWNoIGVzIGhpZXIgcG9zdGVuLiBXYXMgYXVmIGplZGVuIEZhbGwgZ2VicmFjdWh0IHdpcmQgc2luZApVbm1lbmdlbiB2b24gQ0QtSHVlbGxlbiwgZGllIENEJ3Mgc2NoZWluZW4gbm9jaCBpbiBPcmRudW5nLCBhYmVyIGRpZSBIdWVsbGVuCnNpbmQgYWxsZSBkYWhpbi4gQW5zb25zdGVuIGxhdWZlbiBkYSBqZXR6dCBkaWUgQXVmcmFldW1hcmJlaXRlbiB1bmQgY2hlbWlzY2hlClVudGVyc3VjaHVuZ2VuLCB3YXMgZnVlciBHaWZ0ZSBmcmVpZ2VzZXR6dCB3b3JkZW4gc2luZC4gTWFsIGFid2FydGVuLgpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJyYW5kYW5zY2hsYWcgYXVmIEJhaG5ob2YgKEFjcmltb24sIDIxLiBTZXAgMTk5OCwgMTQ6NTg6NDEpOgp+IyEgcm49TXVya2VzIHJ0PTkwNjM2MTA5MiByZz1wYXJ0eQp+IyEgdGlkPTkwNjExMDY2NwpXaWUga29lbm5lbiBiZWkgZWluZW0gQnJhbmRhbnNjaGxhZywgZGVyIGRpZSBDRC1IdWVsbGVuIHZlcm5pY2h0ZXQsIGRpZSBDRHMKc2VsYnN0IG9obmUgU2NjaGFkZW4gZGF2b25rb21tZW4/ClZvciBhbGxlbSwgd2Vlbm4gQ0RzIG5vcm1hbGVyd2Vpc2UgaW4gaWhyZW4gSHVlbGxlbiBhdWZiZXdhaHJ0IHdlcmRlbj8KRXJrbGFlciBkYXMgbWFsIGJpdHRlIGVpbmVyLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb3RvcyB2b24gZGVyIDEwLiBQYXJ0eSAoRmlyZWhhd2ssIDIxLiBTZXAgMTk5OCwgMjA6MDc6NDMpOgpTcGFldCBrb21tZW4gc2llLCBhYmVyIHNpZSBrb21tZW4uIE1laW5lIEZvdG9zIHNpbmQgZGFuayBrcmFlZnRpZ2VyClVudGVyc3R1ZXR6dW5nIHZvbiBTaGFkZSBudW4gbWl0IGVpbmlnZW4gVmVyem9lZ2VydW5nZW4gZG9jaCBub2NoIGF1ZiBpbnMgTmV0egpnZWtvbW1lbi4gQW5zY2hhdWVuIGxvaG50IHNpY2ggKHp1bWluZGVzdCBiZWkgZWluaWdlbiA7KSkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm90ZXN0IChHbG9pbnNvbiwgMjEuIFNlcCAxOTk4LCAyMTowNjo0OSk6CkJpbGQgNTQgdm9uIEZpcmVoYXdrIGlzdCBpbiB2b2VsbGlnIGZhbHNjaGVyIFJlaW5mb2xnZSBlaW5nZW9yZG5ldC4gRXMKemVpZ3QgZWluZW4gWndlcmcgaW0gQWxhYmFtYS4gSWNoIGRlbWVudGllcmUsIG5hY2ggZGVyIGxlY2tlcmVuIFBpenphCmVpbiBzb2xjaGVzIEdlc2ljaHQgZ2VtYWNodCB6dSBoYWJlbi4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm90b3Mgdm9uIGRlciAxMC4gUGFydHkgKEF6enVybywgMjcuIFNlcCAxOTk4LCAxNDozMDozNik6Cn4jISBybj1GaXJlaGF3ayBydD05MDY0MDg0NjMgcmc9cGFydHkKfiMhIHRpZD05MDY0MDg0NjMKTnVyIGVpbmUga3VyemUgQmVrYW5udG1hbmNodW5nICh2b3IgYWxsZW0gYW4gTWV0emVsdGVhbSBHZWZsdWVnZWwgdW5kIEx1ZykuCk1laW5lIEJpbGRlciB3ZXJkZW4gZXJzdCBuYWNoIGRlbSBFbmRlIG1laW5lciBEaXBsb21hcmJlaXQgZ2VzY2FubnQuClNvbGFuZ2UgbXVlc3N0IGlociBldWNoIGdlZHVsZGVuIQpTb3JyeQpBenp1cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2hsZXNlIEkgOiBzdWNoZSBTb25uZW5icmlsbGUgKE9ya3RvZXRlciwgIDUuIE9rdCAxOTk4LCAxNDo1MzozNik6CkhpLCBoYXQgamVtYW5kIG5hY2ggZGVyIFBhcnR5IGVpbmUgU29ubmVuYnJpbGxlLCBkaWUgZXIgdm9yaGVyIG5pY2h0IGhhdHRlID8KV2FlcmUgdWViZXIgcnVlY2tnYWJlIHNlbGJpZ2VyIGRhbmtiYXIuIChzaWVodCBqYSBhdWNoIG5pY2h0IHNvIGF1cywgYWxzIG9iCm1hbiBzaWUgZGVyemVpdCBub2V0aWcgaGFldHRlKQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2hsZXNlIElJIDogYmV0ci4gRnJpc2JlZSAoT3JrdG9ldGVyLCAgNS4gT2t0IDE5OTgsIDE0OjU0OjQ2KToKVmVybWlzc3QgamVtYW5kIHNlaXQgZGVyIFBhcnR5IGVpbmUgU3RvZmYtZnJpc2JlZXNjaGVpYmUgPwpXZW5uIGphLCBiaXR0ZSBtYWlsIGFuIG1pY2guCk9ya1QuCiwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFjaGxlc2UgSUkgOiBiZXRyLiBGcmlzYmVlIChMdWcsICA2LiBPa3QgMTk5OCwgMjM6MDU6MjApOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTkwNzU5OTI4NiByZz1wYXJ0eQp+IyEgdGlkPTkwNzU5OTI4NgoKQWVoLAoKdmVybWlzc3QgamVtYW5kIG5hY2ggZGVyIFBhcnR5IE9ya3RvZXRlcj8KV2VubiBqYTogU2VsYnN0bG9lc2NodW5nIHVuZCBNYWlsIGFuIE9ULgoKRGlkS0cKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hY2hsZXNlIElJIDogYmV0ci4gRnJpc2JlZSAoWmFybml5YSwgIDcuIE9rdCAxOTk4LCAxMzowNjoxNik6Cn4jISBybj1MdWcgcnQ9OTA3NzE1MTIwIHJnPXBhcnR5Cn4jISB0aWQ9OTA3NTk5Mjg2CmZpbmQgZGFzIHNvd2llc28gZHJlaXN0OiBOZW4gRnJpc2JlZSBrbGF1ZW4gdW5kIGRhbm4gYW5kZXJlIHdlZ2VuIG5lciBCcmlsbGUKYmVzY2h1bGRpZ2VuLiBTaWNoZXIgaGF0IGRlciBqZXR6aWdlIEJyaWxsZW5iZXNpdHplciBkaWVzZSBudXIgYWxzIEdlaXNlbCBmdWVyCnNlaW4gZnJpc2JlZSwgd2VyIHdlaXNzLgoKWmFybml5YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYWNobGVzZSBJSSA6IGJldHIuIEZyaXNiZWUgKFNpbHZhbmEsICA3LiBPa3QgMTk5OCwgMTY6NTg6MTkpOgp+IyEgcm49THVnIHJ0PTkwNzcxNTEyMCByZz1wYXJ0eQp+IyEgdGlkPTkwNzU5OTI4NgpXaWNodGlnIGRhYmVpOiBSZWloZW5mb2xnZSBiZWFjaHRlbiEgOikKCiAgU2lsdmFuYSAoc2NobWFycnQgbWl0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVzdGdlbGQgKENhdHdlYXpsZSwgMTAuIE9rdCAxOTk4LCAxMTo1NzoxNyk6Ck1vaW4hCgpGaXJzdCBvZiBhbGwuLi5lcm9lZmZuZXQgbmllIGVpbiBLb250byBiZWkgZGVyIFN0YWR0c3Bhcmthc3NlLiAKRGFzIHNpbmQgZGllIHVuZmxleGliZWxzdGVuLCBzdHVyc3RlbiB1bmQgZ2VsZGdpZXJpZ3N0ZW4gUyUmJCIsIGRpZSBpY2ggCmtlbm5lLiAKCk5hY2hkZW0gaWNoIG51biBlbmRsaWNoIHNvZ2FyIGRpZSBHZXRyYWVua2UgYmV6YWhsdCBoYWJlIChuZWluLCBkYXMgbGFnIG5pY2h0IAphbiBtaXIsIGljaCBoYWJlIGRpZSBSZWNobnVuZyBlcnN0IGxldHp0ZSBXb2NoZSBiZWtvbW1lbiA6LSksIGtvbm50ZSBpY2ggZWluZSAKU2NobHVzc2FicmVjaG51bmcgbWFjaGVuLiBVZWJyaWcgZ2VibGllYmVuIHNpbmQgYXVmIGRlbiBQYXJ0eWdlbGRrb250byBleGFrdAo1NTcsMjkgRE0sIGRpZSBmdWVyIGRpZSBuYWVjaHN0ZSBQYXJ0eSB6dXIgVmVyZnVlZ3VuZyBzdGVoZW4uIERhcyBkZWNrdCBzaWNoIApzZWhyIGd1dCBtaXQgbWVpbmVyIFNjaGF0enVuZyB2b24gNzAwLCB3ZW5uIG1hbiBkaWUgOTQgRE0gQWxhYmFtYS1SZXN0a29zdGVuIAp1bmQgZGllIHp1IGh1bmRlcnQgUHJvemVudCB1bm5vZXRpZ2VuIHVuZCBkcmVpc3RlcndlaXNlIGFiZ2VidWNodGVuIDQzLDIwRE0KS29udG9mdWVocnVuZ3NnZWJ1ZWhyZW4gbWFsIGFiemllaHQuCgpJY2ggd3VlcmRlIGRhcyBLb250byBnZXJuZSBhdWZsb2VzZW4uIApEaWVzIGZ1ZWhydCB6dSBmb2xnZW5kZW4gRnJhZ2VuOiAKU29sbCBpY2ggYmVpIG5lciBhbmRlcmVuIEJhbmsgZGlyZWt0IGVpbiBuZXVlcyBtYWNoZW4sIG1hY2h0IGRhcyBiZXNzZXIgamVtYW5kCmFuZGVyZXMgdW5kIC0gYWxzIHplbnRyYWxlbiBQdW5rdCAtIHdlciBnaWJ0IGRpZSBuYWVjaHN0ZSBQYXJ0eSAhPwoKQWxzbyBNYWVkZWxzLCBpY2ggd2lsbCBqZXR6dCBrZWluIEdlamFtbWVyIGhvZXJlbiwgc29uZGVybiBudXIgJ0hpZXIsIEhpZXIhJwp1bmQgJ0ljaCB3aWxsISctUnVmZSwgaXN0IGRhcyBrbGFyPwoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgpQUzogV2FzIG1hY2h0IGlociBlaWdlbnRsaWNoIFN5bHZlc3Rlcj8gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVzdGdlbGQgKE1haGF0bXUsIDEwLiBPa3QgMTk5OCwgMTI6NTA6MjIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwODAyMDYzNyByZz1wYXJ0eQp+IyEgdGlkPTkwODAyMDYzNwpNdWRkZW4/CgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlc3RnZWxkIChUZWRkeSwgMTEuIE9rdCAxOTk4LCAwNjoyMzozMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTA4MDIwNjM3IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MDIwNjM3CmEuKSBLbGFyCmIuKSBFZ2FsCmMuKSBJY2ggbmljaHQKZC4pIE5vY2ggbml4LCBhYmVyIG5lIE1HLVN5bHZlc3RlcnBhcnR5IHdhZXIgc2Nob24gbmV0dCA7KQoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklkZWU/IChTaWx2YW5hLCAxMS4gT2t0IDE5OTgsIDEyOjE3OjQ5KToKSG0uLi4gTmUgU2lsdmVzdGVyLU11ZC1QYXJ0eSB3YWVyZSBlaWdlbnRsaWNoIHdhcyBmdWVyIGRpZSAKSmFocnRhdXNlbmR3ZW5kZS4gSWNoIHdlaXNzLCBpc3Qgbm9jaCBuZSBXZWlsZSBoaW4sIGFiZXIgd2llc28KbmljaHQgc2Nob24gbWFsIGRydWViZXIgbmFjaGRlbmtlbj8gOikKCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElkZWU/IChTaGFrZWRiZWVyLCAxMS4gT2t0IDE5OTgsIDIyOjE4OjMwKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTA4MTA4MjY5IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MTA4MjY5CkhleSEgCgpHdXRlIElkZWUuIEljaCB3cmUgZGFiZWkhCgpDVSEKRWluIFNjaHVldHRlbGJpZXIgbmFtZW5zIFNoYWtlZGJlZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWRlZT8gKFRlZGR5LCAxMi4gT2t0IDE5OTgsIDAxOjUxOjUyKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTA4MTA4MjY5IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MTA4MjY5CldpciBrb2VubnRlbiBqYSBzY2hvbm1hbCB1ZWJlbiA7KQoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJZGVlPyAoQ2F0d2VhemxlLCAxMi4gT2t0IDE5OTgsIDA4OjI3OjUxKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTA4MTA4MjY5IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MTA4MjY5CkphYWFhYSwgZGFzIGlzdCBnZW5hdSBkZXIgR2VkYW5rZSBkZXIgbWlyIGltIEtvcGYgcnVtc2Nod2VidGUgOikKQmxlaWJ0IGRpZSBGcmFnZSwgd2VyIG1hY2h0cz8gCkljaCBuaWNodCAhIDspCgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVzdGdlbGQgKEtleSwgMTIuIE9rdCAxOTk4LCAxMToyOTo0NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTA4MDIwNjM3IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MDIwNjM3CkhtbSBpY2ggZGFjaHRlIFN0dWRpZXMgYmV6YWhsZW4ga2VpbmUgS29udG9mdWVocnVuZ3NnZWJ1ZWhyZW4gLi4uCk9kZXIgaXN0IGRhcyBmdWVyIGRlbiBWZXJlaW4gYW5nZW1lbGRldD8KCkRhbm4gd3VlcmRlIGljaCBkaWUgU3BhcmRhIHZvcnNjaGxhZ2VuIC4uLi4ga29zdGV0IHp3YXIgZWlubWFsaWcgMTAwRE0gYWJlcgpkYW5uIG5pc2NodCBtZWhyIDopCgoKRGllIG5hZWNoc3RlIFBhcnR5PyA6KSBEdSBEdSBEdSEgLikKClVuZCB6dSBTeWx2ZXN0ZXIgLi4uIG5lbmUgZGFubiBiZXNjaHdlcmVuIHNpY2ggd2llZGVyIHNvbiBwYWFyIFdlaWNoZWllciB3ZW5uCm1hbiBzZWluZSBjaGFvc2JhZWxsZSBpbiBkZW4gSGltbWVsIGJhbGxlcnQgOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJZGVlPyAoSG9ibywgMTIuIE9rdCAxOTk4LCAxMTozOTozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTA4MTgwODcxIHJnPXBhcnR5Cn4jISB0aWQ9OTA4MTA4MjY5Ck5hLCBhbHNvIGRpZSBuYWVjaHN0ZSBNdWRmZXRlIG1hY2hlbiBkaWUgQm9ubmVyLApoYWIgaWNoIGpldHp0IGVpbmZhY2ggbWFsIHNvIGJlc2NobG9zc2VuIDspCgpCaXMgZGFubiA7KQogICAKICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElkZWU/IChKaW1kaWdyaXosIDEyLiBPa3QgMTk5OCwgMTE6NDE6MjApOgp+IyEgcm49U2lsdmFuYSBydD05MDgxMDgyNjkgcmc9cGFydHkKfiMhIHRpZD05MDgxMDgyNjkKSG9pLAoKb2IgU3lsdmVzdGVyIDE5OTkgd2lya2xpY2ggZWluIGd1dGVyIFBhcnR5dGVybWluIGlzdCA/IApOYWphIGFid2FydGVuLCBpY2ggYmluIGphIHZvbiBIYXVzIGF1cyBQZXNzaW1pc3QsIGRhaGVyCnNlaCBpY2ggZGEgc2Nob24gZHVlc3RlcmUgU2FjaGVuIHp1a29tbWVuLCBuYWphIHZlcm11dGxpY2ggCmthbm4gbWFuIHRyb3R6ZGVtIFN5bHZlc3RlciBmZWllcm4sIG1hbiBzb2xsdGUgYWJlcgpkYW5uIGFtIGJlc3RlbiB6dSBGdXNzIG9kZXIgcGVyIEZhaHJyYWQgYW5yZWlzZW4sCndlciB3ZWlzcyBuYWVtbGljaCB3YXMgYW4gQXV0b3MsIEJhaG5lbiwgRmx1Z3pldWdlbiwgCkZhaHJzdHVlaGxlbiwgdXN3IG5pY2h0IG1laHIgZmFlaHJ0IG9kZXIgQW1vayBsYXVlZnQsIHdlbm4KZGFzIEphaHIgJzAwJyBhbmdlYnJvY2hlbiBpc3QuClVuZCB3ZXIgd2Vpc3Mgd2lldmllbCBzZWt0aWVyZW5kZSBGYW5hdGlrZXIgc2ljaCBzbyAKc2VociBkYXMgRW5kZSBkZXIgV2VsdCB6dSBkaWVzZW0gRGF0dW0gZ2VzZWhlbiBoYWJlbiwgZGFzcwpzaWUgZXMgKHNvIGVzIG5pY2h0IHZvbiBhbGxlaW5lIGtvbW10KSBwZXIgCkdld2FsdCBoZXJiZWlmdWVocmVuIHdvbGxlbiwgZGllamVuaWdlbiBkaWUgc2ljaCAKbnVyIGtvbGxla3RpdiBzZWxic3QgdW1icmluZ2VuIHNpbmQgamEgbmljaHQgc28gCmdlZmFlaHJsaWNoICphZWhhZW0qICpyYWV1c3BlcioKClN0cmFuZ2UgRGF5cyB3YXIgc2Nob24gZWluIGd1dGVyIEZpbG0gdWViZXIgZGllCkphaHJ0YXVzZW5kd2VuZGUsIGljaCBnbGF1YiBhYmVyLCBkYXNzIGVzIHZpZWwgc2NobGltbWVyIGtvbW10LiA7KQoKU28gd2VtIGljaCBudW4gZGVuIHVuZCBkaWUgZm9sZ2VuZGVuIDQ0NCBUYWdlIHZlcmRvcmJlbgpoYWInLCBzb3JyeSA7LSkKClNjaG9lbmVuIFRhZyBub2NoLAogSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSWRlZT8gKEtleSwgMTIuIE9rdCAxOTk4LCAxMTo0NDo0MSk6Cn4jISBybj1Ib2JvIHJ0PTkwODE5MjM3MyByZz1wYXJ0eQp+IyEgdGlkPTkwODEwODI2OQpFaW52ZXJzdGFuZGVuICwpCgpXb2JlaSBpY2ggaW1tZXJub2NoIGZ1ZXIgbmUgUHJhdHkgaW4gZmZtIGJpbiA6KSBNYWwgZXR3YXMgemVudHJhbGVyIC4pCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IElkZWU/IChIb2JvLCAxMi4gT2t0IDE5OTgsIDExOjU5OjM0KToKfiMhIHJuPUtleSBydD05MDgxOTI2ODEgcmc9cGFydHkKfiMhIHRpZD05MDgxMDgyNjkKRGFubiBmaW5kIG1hbCBGcmFua2Z1cnRlciwgZGllIG9yZ2FuaXNpZXJlbiA7KQpJY2ggaGFldHQgamEgYXVjaCBuaXggZGFnZWdlbiwgd2FlciBzY2hvZW4gbmFoLi4uIDopCgogIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IElkZWU/IChTY2hva28sIDEyLiBPa3QgMTk5OCwgMTk6MTQ6MjMpOgp+IyEgcm49SG9ibyBydD05MDgxOTM1NzQgcmc9cGFydHkKfiMhIHRpZD05MDgxMDgyNjkKQWxzbyBCb25uIGtsaW5ndCBhbiBzaWNoIG5ldCBzY2hsZWNodCwgZGFzIHdhZXIgamEgbWFsIG5ldCBzbyB3ZWl0ICpncmlucyosCmFsbGVyZGluZ3MgZ2xhdWIgaWNoIG5hY2ggUnVlY2twc3JhY2hlIG1pdCBlaW4gcGFhciBMZXV0ZW4ga2F1bSwgZGFzcyB3aXIgZGEKd2FzIHJhdXNyZWlzc2VuIGtvZW5uZW4uCkdlZ2Vudm9yc2NobGFnIG1laW5lcnNlaXRzIHdhZXJlIG5lIFBhcnR5IGltIHNjaG9lbmVuIFd1ZXJ6YnVyZyBhbSBNYWluLCBkYQprb2VubnQgaWNoIG1pciBlaGVyIHZvcnN0ZWxsZW4sIGRhc3MgaWNoIGRhIHdhcyBvcmdhbmlzaWVyZW4ga29lbm50ZS4gQWxzbwp3ZW5uIGV1Y2ggZGFzIHBhc3N0LCB3dWVyZCBpY2ggbWljaCBtYWwgdW1ob2VyZW4uIERhcyBpc3QgamV0enQgYWxsZXJkaW5ncwprZWluZSBHYXJhbnRpZSwgZGFzcyBkYXMgd2FzIHdpcmQsIGljaCBoYWIgbmFlbWxpY2ggTnVsbCBFcmZhaHJ1bmcgaW0KT3JnYW5pc2llcmVuIHZvbiBzb2xjaGVuIEV2ZW50cy4uLi4KQWNoIGphIHVuZCBCZWRpbmd1bmcgd2FlcmUgbmF0dWVybGljaCBhdWNoLCBkYXNzIGljaCBkYSBuZXQgYWxsZWluZQpvcmdhbmlzaWVyZS4gRWluIG9kZXIgendlaSBhbmRlcmUgTGV1dGUgc29sbHRlbiBkYW5uIHZvbiBkYSBhdWNoIG5vY2ggZGFiZWkKc2Vpbiwgc2Nob24gYWxsZWluZSwgd2VpbCBpY2ggZGFzIGRhbm4genVtIEdyb3NzdGVpbCByZW1vdGUgc3RldWVybiBtdWVzc3RlIDspCgpTY2hva28gKEV4aWwtRnJhbmtlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJZGVlPyAoTWFoYXRtdSwgMTIuIE9rdCAxOTk4LCAyMToxNTozOCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9OTA4MTkyNDgwIHJnPXBhcnR5Cn4jISB0aWQ9OTA4MTA4MjY5CkhtLCBpY2ggcGxhZWRpZXJlIHNvd2llc28gZnVlciBTaWx2ZXN0ZXIgMjAwMC8yMDAxLCBkYW5uIHdlY2hzZWxuIHdpcgp3ZW5pZ3N0ZW5zIHN0aWxlY2h0IGluIGRhcyBuYWVjaHN0ZSBKYWhydGF1c2VuZCA7LSkKV28/IEhtbW1tIC4uLiBhbSBOb3JkcG9sID8gOikKCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJZGVlPyAoQ2Fzc2FuZHJhLCAxMy4gT2t0IDE5OTgsIDEzOjAyOjE1KToKfiMhIHJuPUhvYm8gcnQ9OTA4MTkzNTc0IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MTA4MjY5CkFsc28gTGV1dGUKU2VpdCB3YW5uIGxpZ3QgRnJhbmtmdXJ0L00uIHplbnRyYWwKRGFzIGlzdCBkb2NoIGVpbmRldXRpZyBTdWVkZGV1dHNjaGxhbmQKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IElkZWU/IChEaWVkZXIsIDEzLiBPa3QgMTk5OCwgMTM6MDM6MzEpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTkwODI4MzczNSByZz1wYXJ0eQp+IyEgdGlkPTkwODEwODI2OQpub3BlLCBkYXMgaXN0IHNjaG9uIEZpc2Noa29wZmxhbmQgOi0pCgpEaWVkZXIsIEFuaGFlbmdlciBkZXMgU3BhZXR6bGUtQWVxdWF0b3JzLi4uCgpQUzogKmlyb25pZSBvZmYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBJZGVlPyAoRnJhbnosIDEzLiBPa3QgMTk5OCwgMTM6MDU6MDApOgp+IyEgcm49RGllZGVyIHJ0PTkwODI4MzgxMSByZz1wYXJ0eQp+IyEgdGlkPTkwODEwODI2OQpTdWVkZGV1dHNjaGxhbmQgPyBuYSBqYSBkZW5rc3QgZHUgZGFzIGVzIG51ciBEZXR1c2NoZSBtdWRkZXJzIGdpYnQgPwpXaXIgYWxsZSB3YWVyZW4gc2ljaGVybGljaCBmcm9oIHdlbm5zIG4gd2VuaWcgaW0gU3VlZGVuIHdhZXJlIC4uCklzdCBzaWNoZXJsaWNoIHplbnRyYWxlciBhbHMgTXVlbnN0ZXIgOi0pCi0gZnJhbnogLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSWRlZT8gKENhc3NhbmRyYSwgMTMuIE9rdCAxOTk4LCAxMzowNzowNSk6Cn4jISBybj1GcmFueiBydD05MDgyODM5MDAgcmc9cGFydHkKfiMhIHRpZD05MDgxMDgyNjkKQWJlciBBYmVyCmRhcyBtYWcgdmllbGxlaWNodCBmdWVyIGV1Y2ggb2VzaXMgaGFsYndlZ3MgemVudHJhbCBzZWluLCBhYmVyIHdhcyBpc3QgbWl0IGRlbgpvc3Npcy4KQ2Fzc3ksIGdyYWRlIGVyc3QgcXVlciAgZHVyY2ggZGV1dHNjaGxhbmQgZ2V0cmF2ZWx0IHNlaWVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSWRlZT8gKFRlZGR5LCAxMy4gT2t0IDE5OTgsIDEzOjA3OjQ5KToKfiMhIHJuPUZyYW56IHJ0PTkwODI4MzkwMCByZz1wYXJ0eQp+IyEgdGlkPTkwODEwODI2OQpJbiBNdWVuc3RlciBzdGVodCBkZXIgTUctUmVjaG5lciwgZXJnbyBpc3QgTXVlbnN0ZXIgZGVyIE1pdHRlbHB1bmt0IGRlciBXZWx0LgoKVGVkZHksIHZlcnN1Y2h0IGdyYWQgZGVuIE1pdHRlbHB1bmt0IGVpbmVyIEt1Z2VsIGF1ZiBpaHJlciBPYmVyZmxhZWNoZQphdXN6dXJlY2huZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IElkZWU/IChUYW1lbGksIDEzLiBPa3QgMTk5OCwgMTM6MTE6NTgpOgp+IyEgcm49VGVkZHkgcnQ9OTA4Mjg0MDY5IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MTA4MjY5CgpIYXVwdHNhY2hlIFBhcnR5IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IElkZWU/IChTaGFyaWEsIDEzLiBPa3QgMTk5OCwgMTM6Mzc6NTIpOgp+IyEgcm49VGFtZWxpIHJ0PTkwODI4NDMxOCByZz1wYXJ0eQp+IyEgdGlkPTkwODEwODI2OQpEaWUgTWl0dGUgdm9uIERldXRzY2hsYW5kIGlzdCBHaWVzc2VuLCBkYXMgaXN0IGtsYXIuLi4gYWJlciBoaWVyIHdpcmQgd29obAprZWluIE11ZHRyZWZmZW4gc3RhdHRmaW5kZW4gLi4uLiAoaGllciBmaW5kZW4gaW1tZXIgbnVyIGtsZWluZSBNdWR0cmVmZmVuCnN0YXR0IDopKSkgKQoKU2hhcmlhLCBmdWVyIEZyYW5rZnVydCBvZGVyIE1hcmJ1cmcgLi4uIHdlbm5zIHdlciBvcmdhbmlzaWVydCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNvbGwgaWNoIG1hbD8gKFZpcGVyLCAxMy4gT2t0IDE5OTgsIDE5OjI4OjIyKToKSHVodSwKSWNoIGhhZXR0IEx1c3QgbWFsIGVpbmUgUGFydHkgaW0gUmF1bSBQYWRlcmJvcm4genUgb3JnYW5pc2llcmVuLgp3ZXIgaGFldHRlIGRlbm4gTHVzdCBkb3J0IHRlaWx6dW5laG1lbj8Kd2VyIGhhZXR0ZSBkZW5uIEx1c3QgZG9ydCB0ZWlsenVuZWhtZW4/Ck1lbGRldCBldWNoIG1hbCBiaXR0ZSEKTWVsZGV0IGV1Y2ggbWFsIGJpdHRlIQpNZWxkZXQgZXVjaCBtYWwgYml0dGUhClZpcGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc29sbCBpY2ggbWFsPyAoSmVza28sIDE0LiBPa3QgMTk5OCwgMDA6MDg6MDMpOgp+IyEgcm49VmlwZXIgcnQ9OTA4MzA2OTAyIHJnPXBhcnR5Cn4jISB0aWQ9OTA4MzA2OTAyClBlYWNlLgoKV2FydW0gbmljaHQ/IDspCgpKZXNrbywgYXVjaCB3ZW5uIFBCIGdhbnogc2ljaGVyIE5JQ0hUIGRlciBNaXR0ZWxwdW5rdCBkZXIgV2VsdCBpc3QgLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc29sbCBpY2ggbWFsPyAoU2hhcmlhLCAxNC4gT2t0IDE5OTgsIDAwOjA5OjM0KToKfiMhIHJuPUplc2tvIHJ0PTkwODMyMzY4MyByZz1wYXJ0eQp+IyEgdGlkPTkwODMwNjkwMgpobW1tbSB1bmQgd28gaXMgZGFzIC4uLiAqbGFuZGthcnRlIHJhdXNrcmFtKgoKU2hhcmlhLCBrZW5udCBzaWNoIGRvY2ggaW0gQXVzbGFuZCBuaWNodCBhdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzb2xsIGljaCBtYWw/IChUZWRkeSwgMTQuIE9rdCAxOTk4LCAwMDowOTo1NCk6Cn4jISBybj1TaGFyaWEgcnQ9OTA4MzIzNzc0IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MzA2OTAyCk5hZWhlIG5pY2h0ZXhpc3RpZXJlbmRlcyBCaWVsZWZlbGQgOykKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzb2xsIGljaCBtYWw/IChTaGFyaWEsIDE0LiBPa3QgMTk5OCwgMDA6MTA6MjYpOgp+IyEgcm49VGVkZHkgcnQ9OTA4MzIzNzk0IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MzA2OTAyCmFwcm9wb3MgLi4uIGRlbmsgbWFsIGFuIGRpZSBHZWxzZW5raXJjaGVuLUthcnRlbi1Fc3Nlbi1Ba3Rpb24gLi4uIGlyZ2VuZHdhbm4KbWFsIDotKSkpKSkKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzb2xsIGljaCBtYWw/IChOb25uZSwgMTQuIE9rdCAxOTk4LCAwNzoyNTowNyk6Cn4jISBybj1TaGFyaWEgcnQ9OTA4MzIzODI2IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MzA2OTAyCmtsYXNzZSwgcGFkZXJib3JuIGlzdCBjb29sLCBkYSBrYW5uIGljaCBkaWUga2xlcmlrYWxlbiwgc2Nod2FyemVuIFNhZWNrZSBtYWwKenUgbmVtIHJpY2h0aWdlbiBHbGF1YmVuIGJla2VocmVuICwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJZGVlPyAoUWl0ZXNzLCAxNC4gT2t0IDE5OTgsIDExOjI0OjU5KToKfiMhIHJuPUtleSBydD05MDgxOTI2ODEgcmc9cGFydHkKfiMhIHRpZD05MDgxMDgyNjkKYWxzbyB3ZW5uIGR1cyB6ZW50cmFsIGhhYmVuIHdpbGxzdCwgc2NobGFnZSBpY2gga2Fzc2VsIHZvci4gZGFzIGlzdAp0YXRzYWVjaGxpY2ggc28gZ3V0IHdpZSB2b2xsIGlubmUgbWl0dGUgZHJpbi4KClFJKioKClAuUy46IGdpYnQgZXMgbXVkZGVyIGluIGthc3NlbCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVzdGdlbGQgKE9ya3RvZXRlciwgMTQuIE9rdCAxOTk4LCAxMzozNDozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTA4MDIwNjM3IHJnPXBhcnR5Cn4jISB0aWQ9OTA4MDIwNjM3CkhtbSBhbHNvLCB3ZW5uIGVzIHVtIGVpbiBrb3N0ZW5sb3NlcyBLb250byBnZWh0Li4uIEljaCBqb2JiZSBkb2NoIGRhIGpldHp0IGJlaQpkZXIgQmFuayAyNC4uCkFsc28sIGRhcyBHaXJva29udG8gaXN0IGltIGVyc3RlbiBKYWhyIGtvc3RlbmZyZWkgdW5kIGJsZWl0IGVzIGF1Y2ggd2VpdGVyaGluLAp3ZW5uIG1hbiBlbnR3ZWRlciBlaW4gRHVyY2hzY2huaXR0c2d1dGhhYmVuIHZvbiAyMDAwIERNIGF1ZiBkZW0gS09udG8gaGF0LApvZGVyIGVzIG9ubGluZSBudXR6dCAobWluZGVzdGVucyBlaW5lIHVlYmVyd2Vpc3VuZyBvbmxpbmUgcHJvIE1vbmF0KS4gV2VyClN0dWRlbnQgaXN0LCBiZWtvbW10IGJlaW0gRlVOZ2lybzI0IHNvZ2FyIDIuNSAlIEd1dGhhYmVuemluc2VuLgoqV2VyYnVuZyBvZmYqCk9ya1QKClBTIHdlciBzaWNoIHNvIGVpbiBLb250byBiZXNvcmd0LCBrb2VubnRlIG1pY2ggamEgYWxzIFdlcmJlbmRlbiBhbmdlYmVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlc3RnZWxkIChCdXJuLCAxNC4gT2t0IDE5OTgsIDEzOjM1OjQzKToKfiMhIHJuPU9ya3RvZXRlciBydD05MDgzNzIwNzMgcmc9cGFydHkKfiMhIHRpZD05MDgwMjA2MzcKU29zbywgdW5kIHdhcyBtYWNoZW4gZGllIGZ1ZXIgbmVuIEdlc2ljaHQsIHdlbm4gbWFuIGlobmVuIGJlaSBkZXIgQmFuayBzYWd0LAplaW4gIk9ya3RvZXRlciIgaGFldHRlIGVpbmVuIGdld29yYmVuPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVzdGdlbGQgKE9ya3RvZXRlciwgMTQuIE9rdCAxOTk4LCAxMzozODozNCk6Cn4jISBybj1CdXJuIHJ0PTkwODM3MjE0MyByZz1wYXJ0eQp+IyEgdGlkPTkwODAyMDYzNwpHZXNpY2h0IGlzdCBndXQsIGRhcyBpc3QgZWluZSByZWluZSBUZWxlZm9uYmFuayAodW5kIHdlciBoYXQgc2Nob24gQmlsZHRlbGVmb24KPykgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlc3RnZWxkIChaYXJuaXlhLCAxNC4gT2t0IDE5OTgsIDE0OjM0OjA5KToKfiMhIHJuPU9ya3RvZXRlciBydD05MDgzNzIzMTQgcmc9cGFydHkKfiMhIHRpZD05MDgwMjA2MzcKc29uc3QgaGFldHRlIE9UIGRlbiBKb2IgYXVjaCBuaWNodCBiZWtvbW1lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlc3RnZWxkIChSb25kYSwgMTQuIE9rdCAxOTk4LCAyMTo0MDozNCk6Cn4jISBybj1CdXJuIHJ0PTkwODM3MjE0MyByZz1wYXJ0eQp+IyEgdGlkPTkwODAyMDYzNwpWaWVsIHNjaGxpbW1lciEgU3RlbGwgRGlyIGRlcmVuIEdlc2ljaHQgdm9yLCB3ZW5uIG1hbiBpaG5lbiBzYWd0LCBkYXNzCiJPcmt0b2V0ZXIiIGJlaSBpaG5lbiBhcmJlaXRldCEKT2J3b2hsLi4uIGJlaSBPcmtUJyBpbiBSTCBkdWVyZnRlbiBzaWUgZGFzIGZhc3Qgc2Nob24gd2lzc2VuID06KQpOaXQgaGF1ZW4hCgpSb25kYSAqd28gd2FyIG5vY2htYWwgZGFzIER5bmFtaXQgenVtIFdvbHBpZXNpdHp1bmdlbiAuLi4gYW5mZXVlcm4/KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmVzdGdlbGQgKE9ya3RvZXRlciwgMTYuIE9rdCAxOTk4LCAxNDoyNjo1Nik6Cn4jISBybj1Sb25kYSBydD05MDg0MDEyMzQgcmc9cGFydHkKfiMhIHRpZD05MDgwMjA2MzcKSG1tIGFsc28gbWl0IGRlbSBlbnRzcHJlY2hlbmRlbiBULXNoaXJ0IGJpbiBpY2ggZGEgc2Nob24gcnVtZ2VsYXVmZW4gOikKCk9ya1QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVuZGxpY2ggRm90b3MgKE1vcmdvdGgsIDE5LiBPa3QgMTk5OCwgMTI6NDA6MDUpOgpIZXkgaGV5IGhleS4uLi5pY2ggaGFicyBnZXNjaGFmZnQuLi4uCmh0dHA6Ly90aG9yLmNoZW1pZS51bmktZG9ydG11bmQuZGUvc3Zlbi9taXNjL21nL3BhcnR5WC9pbmRleC5odG1sCgpWaWVscyBTcGFzcwoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVuZGxpY2ggRm90b3MgKEhvYm8sIDE5LiBPa3QgMTk5OCwgMTI6NDQ6MjEpOgp+IyEgcm49TW9yZ290aCBydD05MDg4MDA4MDUgcmc9cGFydHkKfiMhIHRpZD05MDg4MDA4MDUKTWlzdCwgdW5kIGljaCBkYWNodGUsIGRhcyBzZWkgZGllIEFua2V1bmRpZ3VuZyBmdWVyIGRpZSBuYWVjaHN0ZSBGZXRlLi4uCgpXZXIgbWFjaHQgZGllIGRlbm4gamV0enQ/CgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc29sbCBpY2ggbWFsPyAoRGFyaWEsIDE5LiBPa3QgMTk5OCwgMTc6MDE6MDUpOgp+IyEgcm49VmlwZXIgcnQ9OTA4MzA2OTAyIHJnPXBhcnR5Cn4jISB0aWQ9OTA4MzA2OTAyCkhpLAppY2ggZGVuayBpY2ggd3VlcmQgbWFsIHZvcmJlaXNjaGF1ZW4uCkRhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW5kbGljaCBGb3RvcyAoR3JpbW1ib3JuLCAxOS4gT2t0IDE5OTgsIDIyOjQ0OjM2KToKfiMhIHJuPU1vcmdvdGggcnQ9OTA4ODAwODA1IHJnPXBhcnR5Cn4jISB0aWQ9OTA4ODAwODA1ClNwcmljaHQgd2FzIGRhZ2VnZW4gZGllIGF1ZiBkZW4gTUctc2VydmVyIHp1IGxlZ2VuPyBEYXMgbXVzcyBqYSBuaWNodCBzZWluCmRhc3MgbWFuIGRpZSBib29rbWFyayBmaWxlcyBzbyBhdWZibGFlaHQsIGJ6dy4gZmluZGV0IG1hbiBkYXMgbmllIHdpZWRlci4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVuZGxpY2ggRm90b3MgKE1vcmdvdGgsIDE5LiBPa3QgMTk5OCwgMjI6NTE6NTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkwODgzNzA3NiByZz1wYXJ0eQp+IyEgdGlkPTkwODgwMDgwNQpHaWIgbWlyIHNjaHJlaWJyZWNodGUgdW5kIGljaCBtYWNoIGVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRW5kbGljaCBGb3RvcyAoR3JpbW1ib3JuLCAxOS4gT2t0IDE5OTgsIDIzOjAyOjM2KToKfiMhIHJuPU1vcmdvdGggcnQ9OTA4ODM3NTE5IHJnPXBhcnR5Cn4jISB0aWQ9OTA4ODAwODA1CkR1IE1hZ2llci4gRHUgdGlwcGVuOgoibWFpbCBoYXRlIDxyZXR1cm4+IFBhcnR5Zm90b3MgPHJldHVybj4gSG9jaHZlcmVlaHJ0ZXIsIGdvZXR0bGljaGVyIEhhdGUuIERpZQpQYXJ0eWZvdG9zLCBkaWUgbWVpbmUgdW53dWVyZGlnZSBQZXJzb24gYmVpIGRlciBsZXR6dGVuIFBhcnR5IHZlcmJyb2NoZW4gaGF0LApsaWVnZW4gYWxzIC50Z3ogYW4gZm9sZ2VuZGVyIFN0ZWxsZTogPGhpZXIgUGZhZC9VUkwgZWludHJhZ2VuPiA8cmV0dXJuPgpWaWVsbGVpY2h0IGZpbmRlc3QgRHUgYmFsZCBlaW5tYWwgWmVpdCwgc2llIGF1ZiBkaWUgUGFydHlzZWl0ZW4gZGVzIE1HLXNlcnZlcnMKenUgc2V0ZW4sIGV0bGljaGUgZWlnZW50bGljaCBpcnJlbGV2YW50ZW4gU3BpZWxlciB3dWVyZGVuIHNpY2ggc2VociBkYXJ1ZWJlcgpmcmV1ZW4uIDxyZXR1cm4+IEluIGRlciBIb2ZmbnVuZywgZGFzcyBEdSBub2NoIGxhbmdlIGdlc3VuZCB1bmQga3JlYXRpdiB1bnRlcgp1bnMgYmxlaWJzdCwgPHJldHVybj4gTW9yZ290aCA8cmV0dXJuPiAuIDxyZXR1cm4+IDxyZXR1cm4+IgpTaWVoc3RlLCBpc3QgZG9jaCBnYXIgbmljaHQgc28gc2Nod2VyLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRW5kbGljaCBGb3RvcyAoR3JpbW1ib3JuLCAxOS4gT2t0IDE5OTgsIDIzOjAzOjE4KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MDg4MzgxNTYgcmc9cGFydHkKfiMhIHRpZD05MDg4MDA4MDUKQWNoIGphLCBzYWVtdGxpY2hlIFR5cG9zIHNpbmQgbmF0dWVybGljaCBNb3Jnb3RoIGFuenVrcmVpZGVuLiA6LSkKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRW5kbGljaCBGb3RvcyAoSGF0ZSwgMjAuIE9rdCAxOTk4LCAwODoxMDo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTA4ODM4MTk4IHJnPXBhcnR5Cn4jISB0aWQ9OTA4ODAwODA1CkR1IHZlcmdpc3N0IGRhcyB3aWVkZXJob2x0ZSBOYWNoZnJhZ2VuLCB3YW5uIGVycyBkZW5uIG51biBlbmRsaWNoIG1hY2h0LgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2lsdmVzdGVyLVBhcnR5IChIYXJkaWwsIDI5LiBPa3QgMTk5OCwgMDI6NTU6NDMpOgoKSWNoIHBsYW5lIGZ1ZXIgU2lsdmVzdGVyIDk4Lzk5IGVpbmUgQXJ0IFBhcnR5LiBJc3QgaGFsdCBuaWNodCBudXIgZnVlciBNdWRkZXIKZ2VkYWNodCwKc29uZGVybiBhdWNoIGZ1ZXIgKm5vcm1hbGUqIFNwaWVsZXIsIFBvc3RzcGllbGVyIHVuZCBhZWhubGljaGVzLgpEYSBpY2ggaGllciBnZXJhZGUgaW4gZWluZW0gU2NoJCUtRWRpdG9yIGJpbiwgdGlwcGUgaWNoIGhpZXIgamV0enQgbmljaHQgYWxsZXMKYWIsIHNvbmRlcm4gdmVyd2Vpc2UgYXVmIGRpZSBSdWJpayBwYXJ0eSBpbiBkZXIgQW5kZXJMYW5kLVplaXR1bmcgKGFsLm11ZC5kZSksCmluIGRlciBpY2ggZGFzIGFsbGVzIHNjaG9uIGdlcG9zdGV0IGhhYmUuCkVpbm1hbCBrdXJ6IHNpY2ggaW0gQW5kZXJMYW5kIGVpbmxvZ2dlbiAodW5kIHNlaSBlcyBudXIgYWxzIEdhc3QpIHRyYXVlIGljaApFdWNoIGphIGdlcmFkZSBub2NoIHp1Lgo6LSkKCi1IYXJkaWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaWx2ZXN0ZXIgKGVuZGd1ZWx0aWcpIChIYXJkaWwsIDEyLiBOb3YgMTk5OCwgMDQ6MDk6MzcpOgoKT2tlZSwgbnVuIG1hbCBOYWVnZWwgbWl0IEtvcGVmZW4gbWFjaGVuLgpGdWVyIGFsbGUgTXVkZGVyLCBkaWUgbm9jaCBuaWNodCB3aXNzZW4sIHdhcyBzaWUgU2lsdmVzdGVyIGRpZXNlcyBKYWhyIG1hY2hlbgp3b2xsZW4gdW5kIEx1c3QgYXVmIGVpbmUgZ2VtdWV0bGljaGVQYXJ0eSBoYWJlbiwgYmlldGUgaWNoIGZvbGdlbmRlcyBhbjoKU2lsdmVzdGVycGFydHkgaW0gU2NodWxsYW5kaGVpbSBXaW50ZXJidXJnL0h1bnNydWVjawpUZXJtaW46IDI5LjEyLjk4IGJpcyAwMS4wMS45OQpLb3N0ZW46IFVlYmVybmFjaHR1bmcgdW5kIFZvbGxwZW5zaW9uIChGcnVlaHN0dWVjaywgTWl0dGFnZXNzZW4sIEthZmZlZSB1bmQKQWJlbmRlc3NlbikgZnVlciBleGFrdCBudXIgMzggRE0gcHJvIFRhZy4KKC4uLnVuZCBkYXMgRXNzZW4gaXN0IGd1dCB1bmQgcmVpY2hoYWx0aWcsIG5pY2h0IG1pdCBiZWthbm50ZW4gREpIcwp2ZXJnbGVpY2hiYXIpCgpEYXMgU2NodWxsYW5kaGVpbSBsaWVndCBzZWhyIHNjaG9uIGFiZ2VsZWdlbiBpbSBMdWZ0a3Vyb3J0IFdpbnRlcmJ1cmcgYXVmIGRlbQpTY2hsb3NzYmVyZywgbWl0IGV0d2FzIEdsdWVjayBnaWJ0cyBhdWNoIHNjaG9lbiBTY2huZWUuIERhcyBTY2hsb3NzIHNlbGJlciBpc3QKc2VociBzY2hvZW4gbGllYmV2b2xsIHJlc3RhdXJpZXJ0IHVuZCBiaWV0ZXQgZWluIHVudmVyZ2xlaWNoYmFyZXMgQW1iaWVudGUuCldlbm4gSW50ZXJlc3NlIGJzdGVodCwgbW9lZ2UgZWluIGZyZXVuZGxpY2hlciBNYWdpZXIgZWluIFBhcnR5YnJldHQKYXVmc3RlbGxlbi4KTmFlaGVyZSBJbmZvcyBnaWJ0IGVzIHNvbnN0IGF1Y2ggYmVpIG1pciBwZXIgbXVkLW1haWwgb2RlciB1bnRlcgpoYW5ub0BjeWJlcmp1bmtpZS5jb20uCgpWaWVsZSBHcnVlc3NlLAoKLUhhcmRpbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhdCBpc3MgbnVoPyAoSGFyZGlsLCAgNS4gRGV6IDE5OTgsIDE3OjI2OjA1KToKCkhhdCB3aXJrbGljaCBrZWluZXIgTHVzdCBhdWYgJ25lIFNpbHZlc3RlcnBhcnR5PwpEaWUgUnVicmlrIGhpZXIgaXN0IHNvIGxlZXIsIGRhc3MgaWNoIGRhcyBHZWZ1ZWhsIGhhYmUsIGRhcyBNRyBiZXN0ZWh0IG51cgpub2NoIGF1cyBTY3JpcHRlbi4KQWxzbyBMQVNUIENBTEwgRk9SIFBBUlRZLgpJY2ggYnJhdWNoIG1pciBkaWUgQXJiZWl0IGF1Y2ggbmljaHQgenUgbWFjaGVuLi4uIDopCgotSGFyZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXQgaXNzIG51aD8gKEFuYWNyaW9uLCAgNy4gRGV6IDE5OTgsIDExOjIwOjQ2KToKfiMhIHJuPUhhcmRpbCBydD05MTI4Nzg3NjUgcmc9cGFydHkKfiMhIHRpZD05MTI4Nzg3NjUKRG9jaC4gSWNoIG1hY2ggYXVjaCBlaW5lLiBJbiBJc2NoZ2wsIG1pdCBlaW4gcGFhciBndXRlbiBGcmVuZGVuIDopCkFuYWMqIC0gc2NobWFycmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhdCBpc3MgbnVoPyAoUWl0ZXNzLCAgNy4gRGV6IDE5OTgsIDE1OjUwOjE4KToKfiMhIHJuPUhhcmRpbCBydD05MTI4Nzg3NjUgcmc9cGFydHkKfiMhIHRpZD05MTI4Nzg3NjUKR3V0LCBpY2ggaGVsZmUsIGRpZXNlIHJ1YnJpayB6dSBmdWVsbGVuLgoKUUkqKiBrb21tdCBuaWNodCB6dXIgU3lsdmVzdGVycGFydHkgZGVzIE1HLiBVbmQgRmVzdGluIHVuZCBDcml0dGVyIHVuZApqYXNvbnJpZ2lkIHdvaGwgYXVjaCBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNsYXltb3JlaGF0Z2VidXJ0c3RhZyAoQ2xheW1vcmUsICA3LiBEZXogMTk5OCwgMTU6NTc6MTMpOgphbHNvIG1hbCBrbGFyIHRleHQhCgppY2ggaGFiZSBhbSA1LiAxMi4gZ2VidXJ0c3RhZyB1bmQgZmVpZXJlIGFtIDE5LiAxMi4gKGlzdCBlaW4gc2Ftc3RhZyksIHdlciB6dQptZWluZXIgZmV0ZS9wYXJ0eSBrb21tZW4gd2lsbCBpc3QgaGllcm1pdCBoZXJ6bGljaCBlaW5nZWxhZGVuISEKRGFzIGVpbnppZWdlIHdhcyBpY2ggYWxzIGVpbnRyaXNrYXJ0ZSB2ZXJsYW5nZSBpc3QgZGFzIGlociAoYWxzIG5ldHRlIGdlc3RlICkKZXVyZSBnZXRyYWVua2Ugc2VsYmVyIG1pdGJyaW5ndCAoZWluIGJpc2NoZW4gYmVzb3JnIGljaCBzY2hvbiAsIGFiZXIgZG9jaApuaWNodCBpbiByYXVlbiBtZW5nZW4pICEjCgpadXIgc2FjaGU6CgpLb2xsd2l0enN0ci4gMzcKbGlua2VyIFNlaXRlbmZsdWVnZWwgMS4gc3RvY2sgbGlua3MgCmFiIDIxMDAgVWhyCmZ1ZXIgc2ljaCB2ZXJsYXVmZW5kZSBUZWwuOjQ0Mjk1MDEKCgpLb21tdCB6YWhscmVpY2ggdW5kIGJyaW5ndCBzdGltbXVuZyBtaXQgKGphamEgaWNoIHdlaXNzIGlzIG5gIGJsb2VkZXIgc3BydWNoKQpDbGF5bW9yZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGNsYXltb3JlaGF0Z2VidXJ0c3RhZyAoUWl0ZXNzLCAgNy4gRGV6IDE5OTgsIDE1OjU4OjQ0KToKfiMhIHJuPUNsYXltb3JlIHJ0PTkxMzA0NjIzMyByZz1wYXJ0eQp+IyEgdGlkPTkxMzA0NjIzMwp1aSwgZXMgZ2lidCBpbiBkZXV0c2NobGFuZCBlaW5pZ2Uga29sbHdpdHpzdHJhc3Nlbiwgc29sbGVuIHdpciBkaWUgamV0enQgYWxsZQphYmtsYXBwZXJuPyA6KQoKUUkqKgoKSmFqYSwgaWNoIHdlaXNzLCB3ZW5uIG1hbiBjbGF5bW9yZSBmaW5nZXJ0LCB3ZWlzcyBtYW4sIHVtIHdlbGNoZSBzdGFkdCBlcyBzaWNoCmhhbmRlbHQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNsYXltb3JlaGF0Z2VidXRzdGFnIChDbGF5bW9yZSwgIDcuIERleiAxOTk4LCAxNjoxMzo1Mik6Cm9rZSBuIHBhciBuYWNoYWVuZGVydW5nZW46CmEuIGljaCBoYWJlIGVyc3QgYW0gMTUuIGdlYi4gOikKYi4gc3RhZHQtPkJlcmxpbiAvIGJlemlyay0+IFByZW56bGF1ZXIgQmVyZwpjLiBndXQgenUgZXJlaWNoZW4gd2VubiBtYW4gbWl0IGRlciBVMiBiaXMgc2VuZWZlbGRlcnBsYXR6IGZhZWhydCBkYW5uIGNhLiA1LTcKbWluLiBmdXNzd2VnIHdlbm4gbWFuIHJpY2h0dW4gbm9yZGVuIGF1ZiBkZXIgS29sbHdpdHpzdHIuIGdlaHQgZGFubiBhdWYgZGVyCnJlY2h0ZW4gU2VpdGUgLCB3aWNodGlnISBuaWNodCB2ZXJ6YWdlbiBlcyBpc3QgZWluIHZlcmRhbW10IGtsZWluZXIgZWluZ2FuZyAuCmFlaGggaWNoIGhvZmZlIGRhcyByZWljaHQgLCB3ZW5uIG5vY2ggZnJhZ2VuIHNpbmQgZGFuIHJ1aGlnIHVlYmVyIHRlbGVmb24gd2VpbAppY2ggc2VociBzZWx0ZW4gaW0gbXVkIGJpbiBtb21lbnRhbi4gCmJpcyBkZW5uZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGNsYXltb3JlaGF0Z2VidXRzdGFnIChPcmt0b2V0ZXIsICA3LiBEZXogMTk5OCwgMTY6MTU6MjkpOgp+IyEgcm49Q2xheW1vcmUgcnQ9OTEzMDQ3MjMyIHJnPXBhcnR5Cn4jISB0aWQ9OTEzMDQ3MjMyCldlbm4gZGVyIEVpbmdhbmcgc28ga2xlaW4gaXN0LCBoZWlzc3QgZGFzLCBkYXMgbnVyIFp3ZXJnZSBzaWNoIGRpZSBNdWVoZSBzZXMKd2VnZXMgbWFjaGVuIHNvbGx0ZW4sIHdlaWwgYWxsZSwgZGllIGVpbmlnZXJtYXNzZW4gbm9ybWFsZSBHcm9lc3NlIGJlc2l0emVuCm5pY2h0IGhpbmVpbnBhc3NlbiA/CgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY2xheW1vcmVoYXRnZWJ1cnRzdGFnIChDbGF5bW9yZSwgIDcuIERleiAxOTk4LCAxNjozMjowMCk6Cm5laW4gbmVpbiBuZWluIDogaG9laGUgY2EuIDIwMCBjbSAvIGJyZWl0ZSBjYS4gMTEwIGNtCmljaCBob2ZmZSBkYXMgcmVpY2h0IGZ1ZXIgamVkZW4gbm9ybWFsc3RlcmJsaWNoZW4gOy0pCgpDbGF5bW9yZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjbGF5bW9yZWhhdGdlYnVydHN0YWcgKFRhcmluYSwgIDcuIERleiAxOTk4LCAxODoyMDozMCk6Cn4jISBybj1RaXRlc3MgcnQ9OTEzMDQ2MzI0IHJnPXBhcnR5Cn4jISB0aWQ9OTEzMDQ2MjMzCldpZXNvIHNpZWh0IG1hbiBkYXMgZGFubj8KCkJlaSBtaXIgc3RlaHQgZGEgYXVjaCBncnVuZHNhZXR6bGljaCBuZSBmYWxzY2hlIFN0YWR0LiBMZWlkZXIuCgpHcnVzcywKVGFyaW5hIChLb21tdCBOSUNIVCBhdXMgRnJhbmtmdXJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjbGF5bW9yZWhhdGdlYnVydHN0YWcgKEppZGR1LCAgNy4gRGV6IDE5OTgsIDIzOjI2OjM2KToKfiMhIHJuPVFpdGVzcyBydD05MTMwNDYzMjQgcmc9cGFydHkKfiMhIHRpZD05MTMwNDYyMzMKQ2xheW1vcmUgaXN0IG5pY2h0IGFud2VzZW5kLgpadWxldHp0IGVpbmdlbG9nZ3Qgdm9uOiBEZXV0c2NobGFuZAoKaWNoIHdlaXNzIGVzIG5pY2ghIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjbGF5bW9yZWhhdGdlYnVydHN0YWcgKENsYXltb3JlLCAxMC4gRGV6IDE5OTgsIDEzOjI5OjMwKToKb2sgb2sgamV0enQgbm9jaCBtYWwgLCBmdWVyIGRlbiBGYWxsIGRhcyBpY2ggYXVzZ2Vsb2dndCBzZWllbiBzb2xsdGU6CkJ1bmRlc2hhdXB0c3RhZHQgdW5kIFN0YWR0IGRlciBBZXJ6dGU6IEJFUkxJTiEKZGEga29tbWUgaWNoIGhlciB1bmQgZGEgZ2Vob2VyZSBpY2ggaGluIHVzdy4gdXN3LiAuLi4uIDstPgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVyZmV0ZSAoSG9ibywgMTQuIERleiAxOTk4LCAxMDoxMToxMSk6CldlciB1bmQgV2Fubj8KCiAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcmZldGUgKEtleSwgMTUuIERleiAxOTk4LCAxMzowMzoyMyk6Cn4jISBybj1Ib2JvIHJ0PTkxMzYzMDI3MSByZz1wYXJ0eQp+IyEgdGlkPTkxMzYzMDI3MQpEdSB1bmQgbW9yZ2VuPyA6KQoKS2V5IHd1ZXJkcyBhdWNoIGludGVyZXNzaWVyZW4gLCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVyZmV0ZSAoT3JrdG9ldGVyLCAxNS4gRGV6IDE5OTgsIDE0OjQzOjI4KToKfiMhIHJuPUtleSBydD05MTM3MjcwMDMgcmc9cGFydHkKfiMhIHRpZD05MTM2MzAyNzEKQWVoIGJlc3NlciBkb2NoIHdvaGwgV28gdW5kIFdhbm4sIG9kZXIgPwoKT3JrVCBtb2VjaHRlIGVzIGF1Y2ggZ2VybmUgd2lzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ludGVyZmV0ZSAoS2FydG9mZmVsLCAxNS4gRGV6IDE5OTgsIDIxOjUwOjMxKToKfiMhIHJuPU9ya3RvZXRlciBydD05MTM3MzMwMDggcmc9cGFydHkKfiMhIHRpZD05MTM2MzAyNzEKV2FyIGRhIG5pY2ggd2FzIG1pdCBTY2hva28gdW5kIFd1ZXJ6YnVyZyBvZGVyIGhhdCBzaWNoIGRhcyBzY2hvbiB3aWVkZXIKZXJsZWRpZ3Q/CgonVG9mZmVsIC0gaGF0IGF1Y2ggbm9jaCB3YXMgdm9uIFZpcGVyIHVuZCBQYWRlcmJvcm4gaW0gS29wZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUEFSVFkgKFphcm5peWEsIDEzLiBKYW4gMTk5OSwgMDk6Mjg6MTkpOgpIaSBJaHJzLCAKCndlaWxzIGphIHNvbnN0IGtlaW5lIEJld2VndW5nIGdpYnQsIGZpbmRldCBqZXR6dCBuYWVjaHN0ZW4gRnJlaXRhZywgZGVyIDE1LjAxCjE5OTkgZGllIGdyb3NzZSAKCiAgICJXaXIgd2FydGVuIGF1ZiBkaWUgV2ludGVycGFydHkiIC0gUGFydHkgCgpzdGF0dCB1bmQgZGFzIHVtIDE5IFVociBpbSBGb3llciBkZXIgQ2hlbWlzY2hlbiBJbnN0aXR1dGUuIAoKQWRyZXNzZTogR3JlaW5zdHJhc3NlIDQuLi4gaW4gS29lbG4gZ2xlaWNoIG5lYmVuIGRlbSBVbmktQ2VudGVyLiAKCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQQVJUWSAoS2V5LCAxMy4gSmFuIDE5OTksIDEwOjMzOjQxKToKfiMhIHJuPVphcm5peWEgcnQ9OTE2MjE5Njk5IHJnPXBhcnR5Cn4jISB0aWQ9OTE2MjE5Njk5ClVlYmUgZGljaCBpbiBHZWR1bGQKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQQVJUWSAoSGFzaW0sIDIwLiBKYW4gMTk5OSwgMTA6MzQ6MTApOgp+IyEgcm49S2V5IHJ0PTkxNjIyMzYyMSByZz1wYXJ0eQp+IyEgdGlkPTkxNjIxOTY5OQp3ZW5uIGRpZSBwYXJ0eSBub2NoIGxhZW5nZXIgbmljaHQga29tbXQuLi4gb2RlciB3YXIgZGllIHNjaG9uLi4uIGRhbm4gaXNzZXMgbmUKRnJ1ZWhsaW5nc3BhcnR5Ckhhc2ltLCB1bndpc3NlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBBUlRZIChUZWRkeSwgMjAuIEphbiAxOTk5LCAyMDowMzo0OSk6Cn4jISBybj1IYXNpbSBydD05MTY4Mjg0NTAgcmc9cGFydHkKfiMhIHRpZD05MTYyMTk2OTkKSXJnZW5kd2llIHNlaCBpY2ggbmljaHQsIGRhcyBkaWUgbm9jaCBzdGF0dGZpbmRlbiB3aXJkLgoKVGVkZHksIHdhcnRldCBhdWYgZGllIFNvbW1lcnBhcnR5IDsoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQQVJUWSAoQm9pbmcsIDIxLiBKYW4gMTk5OSwgMTE6MTg6MTUpOgp+IyEgcm49VGVkZHkgcnQ9OTE2ODYyNjI5IHJnPXBhcnR5Cn4jISB0aWQ9OTE2MjE5Njk5CkFid2FydGVuIC4uLiA7KQpJY2ggaGFiIHZvbGxzdGVzIFZlcnRyYXVlbiA6KQoKICBCb2luZwoKUFM6IE5laW4sIGluIEthcmxzcnVoZSBsYWV1ZnQgbml4IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQQVJUWSAoVGVkZHksIDIxLiBKYW4gMTk5OSwgMTY6NTM6MjcpOgp+IyEgcm49Qm9pbmcgcnQ9OTE2OTE3NDk1IHJnPXBhcnR5Cn4jISB0aWQ9OTE2MjE5Njk5ClZlcnRyYXVlbiBpbiB3ZW4/CgpUZWRkeSwgbmljaHQgYmxhc3BoZW1pc2NoIGFiZXIgbGVpY2h0IHNrZXB0aXNjaCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yYW5rdWVuZGlndW5nIChLZXksIDI4LiBKYW4gMTk5OSwgMTU6MjM6MjYpOgoKU28gTGV1dGUgLi4uLiB3ZW5uIGFsbGVzIGtsYXBwdCB3aXJkIGRpZSAiV2ludGVyImZldGUgMTk5OSBpbiBNYXJidXJnCnN0YXR0ZmluZGVuIDspCgpXaWVzIGF1c3NpZWh0IGhhYmVuIHdpciBzY2hvbm1hbCBkaWUgUmFldW1saWNoa2VpdGVuIChNZWhyIG9kZXIgV2VuaWdlcikgOykKCkFiZXIgZGFzIGlzdCB3aWUgZGVyIFRpdGVsIHNjaG9uIHNhZ3QgbnVyIGVpbmUgVm9yYW5rdWVuZGlndW5nLiBHZW5hdQpmZXN0bGVnZW4ga2FubiBpY2ggbWljaCBlcnN0IG5hZWNoc3RlIFdvY2hlLgoKU28gamVkZW5mYWxscyBoYWJlbiB3aXIgc2llIHZvbSAxMi0xNC4gTWFlcnogZ2VwbGFudC4KClBhcnR5c2NoaWxkZXIsIGV0YyBmb2xnZW4gd2VubnMgc2ljaGVyIGlzdC4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVrYW5udG1hY2h1bmchIChLZXksICAzLiBGZWIgMTk5OSwgMTM6Mzc6MzkpOgpIaWVybWl0IHdpcmQga3VuZCBnZXRhbiwgZGEgd2lyLCBkaWUgdW5zIGhpZXIgdmVyc2FtbWVsdCBoYWJlbiB1bSBQbGFlbmUgenUKc2NobWllZGVuLCB6dSBlaW5lbSBFcmdlYm5pcyBrYW1lbiEKRGllIFdpbnRlcmZldGUgaW0gSmFocmUgZGVzIEhlcnJuIDE5OTkgd2lyZCBhdXNnZXRyYWdlbiBpbiBkaWVzZXIga2xlaW5lbgpTdGFkdCBkaWUgc2ljaCBNYXJidXJnIG5lbm50LiBadW1pbmRlc3Qgc293ZWl0IGVzIGJpc2hlciBkZW4gQW5zY2hlaW4gaGF0LgoKTnVuIHNlaWQgSWhyIGF1ZmdlZm9yZGVydCBkYXp1IGV1cmUgV3VlbnNjaGUgenUgbmVubmVuLgpJc3QgZ2V3dWVuc2NodCBlaW4gU2VtaW5hciBhYnp1aGFsdGVuIHVtIHp1IGxlaHJlbiB1bmQgenUgbGVybmVuPwpTZWlkIElociBnZXdpbGx0IFRoZW1lbiB6dSBuZW5uZW4/CgpTaW5kIFQtU2hpcnRzIGdld3VlbnNjaHQ/IE9id29obCBkaWVzZSB3b2hsIGVoZXIgYmVpIFNvbW1lcnBhcnR5cyBUcmFkaXRpb24KaGFiZW4/IFVuZCB3ZW5uLCB3ZXIga2FubiBlaW4gcGFzc2VuZGVzIE1vdGl2IHZvcndlaXNlbj8KCklzdCBhbSBoZWlsbGllZ24gU29ubnRhZyBlaW4gQmVzdWNoIGVpbmVzIFJlc3RhdXJhbnRzIGdld3VlbnNjaHQ/IFVuZCB2b24Kd2lldmllbGVuPwoKTnVuIGRlbm4gZ2ViZW4gd2lyIGJla2FubnQgd2FubiB3aXIgZXMgYXVzdHJhZ2VuIHdvbGxlbjoKVm9tIEZyZWl0YWcgZGVtIDEyLjAzLjE5OTkgYmlzIHp1bSBTb25udGFnIGRlbSAxNC4wMy4xOTk5LgoKClVudGVyIGJlZGF1ZXJuIG11ZXNzZW4gd2lyIEV1Y2ggYWxsZXJkaW5ncyBtaXR0ZWlsZW4gZGFzIGVzIG5vY2ggbmljaHQgbWl0CmFic29sdXRlciBTaWNoZXJoZWl0IGdld2FlaHJsZWlzdGV0IGlzdC4gQXVzIGRpZXNlbSBHcnVuZGUgZm9sZ2VuClBhcnR5c2NoaWxkZXIgdW5kIG5hZWhlcmUgSW5mb3JtYXRpb25lbiBpbiBlaW5lbSBzcGFldGVyZW4gQXJ0aWtlbC4KVHJvdHogYWxsZWRlbSBzb2xsdGV0IElociB2b3JiZXJlaXRldCBzZWluLCBkZW5uIGVzIGdsdWVodCBlaW4gTGljaHQgYW0KSG9yaXpvbnQgOikKCktleSBkZXIgenVtIG5pY2h0LWdvZXR0bGljaGVuIE9yZ2FuaXNhdG9yIGVybmFubnQgd3VyZGUhCgpQLlMuOiBVbmQgZnVlciBhbGxlIGRpZSBkaWVzIGhpZXIgZWggbmV0IGFiaGFsdGVuIHdpcmQ6Ckxhc3N0IGRpZSBibG9lZGVuIEFuZnJhZ2VuLCBlcyBuZXJ2dCAuLi4uIFdlbm5zIHdhcyBuZXVlcyBnaWJ0IHdpcmQgZXMKX3NvZm9ydF8gaW4gZGVyIE1QQSBzdGVoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVrYW5udG1hY2h1bmchIChLZXksICAzLiBGZWIgMTk5OSwgMTM6Mzk6NDEpOgp+IyEgcm49S2V5IHJ0PTkxODA0NTQ1OSByZz1wYXJ0eQp+IyEgdGlkPTkxODA0NTQ1OQpFaW4gRGFua2UgYW4gbWVpbmUga2xlaW5lbiBNaXRvcmdhbmlzYXRvcmVuLCB3byB6dSBuZW5uZW4gd2FlcmVuOgpMZXYsIEF0b3osIFNyYWJpLCBQbG90aW4sIExlaWEsIEJsZWVsdW1wZSAoSmEgZGVyIGxlYnQgd2lya2xpY2ggbm9jaCksIFNhcmFtaXIKdW5kIFN5bWJpb250IDopCgpBZWggaGFiYmljaCB3ZW4gdmVyZ2Vzc2VuPwoKCktleSwgZGVyIEdPID07KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZWthbm50bWFjaHVuZyEgKEtleSwgIDMuIEZlYiAxOTk5LCAxMzo0NToxNSk6Cn4jISBybj1LZXkgcnQ9OTE4MDQ1NTgxIHJnPXBhcnR5Cn4jISB0aWQ9OTE4MDQ1NDU5CkljaCBoYWJlIHRhdHNhZWNobGljaCB3ZW4gdmVyZ2Vzc2VuIC4uLi4KCkViZW5mYWxscyBlaW4gRGFua2UgYW4gQ2lzb3UsIGFiZXIgbmF0dWVybGljaCBudXIgd2VubiBkYXMgbWl0IGRlbSBSYXVtIGtsYXBwdAo9OykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJla2FubnRtYWNodW5nISAoWWVuZGksICAzLiBGZWIgMTk5OSwgMTQ6MTU6MTApOgp+IyEgcm49S2V5IHJ0PTkxODA0NTQ1OSByZz1wYXJ0eQp+IyEgdGlkPTkxODA0NTQ1OQpTb2xsdGUgZXMgbmljaHQgbGllYmVyIGVpbmVuIFBhcnR5LVNjaGFsIGdlYmVuPyBULVNoaXJ0cyB3dWVyZGVuIGJpbm5lbiBrdXJ6ZW0KZWluZW4gU2NobnVwZmVuIGR1cmNoIGRpZSBQYXJ0eSBzY2hpY2tlbiwgZGVyIHZvbiBSb2NodXMgc3RhbW1lbiBrb2VubnRlLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZWthbm50bWFjaHVuZyEgKEtleSwgIDMuIEZlYiAxOTk5LCAxNDoxNTo1OSk6Cn4jISBybj1ZZW5kaSBydD05MTgwNDc3MTAgcmc9cGFydHkKfiMhIHRpZD05MTgwNDU0NTkKSG1tIHdhZXJlIG1hbCB3YXMgbmV1ZXMgOykKCktleSBncnVlYmVsdCB3byBlciBzb3dhcyBoZXJiZWtvbW10IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZWthbm50bWFjaHVuZyEgKEJoYW1pciwgIDMuIEZlYiAxOTk5LCAxNjo0MDo0Nik6Cn4jISBybj1LZXkgcnQ9OTE4MDQ3NzU5IHJnPXBhcnR5Cn4jISB0aWQ9OTE4MDQ1NDU5ClN0cmlja2VuIEtleSwgc3RyaWNrZW4uLi4gKFZpZWxsZWljaHQgZnJhZ2UgaWNoIG1hbCBtZWluZSBPbWEuLiBhYmVyIHdvIGtyaWVnZQppY2ggbnVyIGVpbiBnZWVpZ25ldGVzIFN0cmlja211c3RlciBoZXI/IC4uKQoKQmhhbWlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCZWthbm50bWFjaHVuZyEgKEtleSwgIDMuIEZlYiAxOTk5LCAxNzoxMjo0Myk6Cn4jISBybj1CaGFtaXIgcnQ9OTE4MDU2NDQ2IHJnPXBhcnR5Cn4jISB0aWQ9OTE4MDQ1NDU5CkNvb2wsIGRhbm4gaGFtIHdpciBzY2hvbiAyIFN0cmlja2VyIDspIEJ1enpjdXQgdW5kIEJoYW1pcnMgT21pICwpCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZWthbm50bWFjaHVuZyEgKEtleSwgIDQuIEZlYiAxOTk5LCAxOToyNjoxOSk6Cn4jISBybj1LZXkgcnQ9OTE4MDQ1NDU5IHJnPXBhcnR5Cn4jISB0aWQ9OTE4MDQ1NDU5Ck9raSBXYXMgbmV1ZXMsCldpciBoYWJlbiB1bnMgdm9uIDkwJSBhdWYgOTklIGdlc3RlaWdlcnQgOikKClBhcnR5c2NoaWxkZXIgc3RlaGVuLCBhbHNvIG1lbGRldCBldWNoIGFuIDspIFNlaXRlbiBpbSBXZWIgZm9sZ2VuIGRlbW5hZWNoc3QuCgpIbW0gaWNoIGhhYiBiaXNoZXIgbm9jaCBuaXggZ2Vob2VydCB2b24gd2VnZW4gU2VtaW5hcj8gTmEgTHVzdCB2ZXJnYW5nZW4/ClVuZCB3aWUgc2llaHRzIG1pdCBkZXIgSWRlZSB2b24gd2VnZW4gTUctU2NoYWxzIGF1cz8gOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZWthbm50bWFjaHVuZyEgKEtleSwgIDQuIEZlYiAxOTk5LCAxOToyODo0MCk6Cn4jISBybj1LZXkgcnQ9OTE4MTUyNzc5IHJnPXBhcnR5Cn4jISB0aWQ9OTE4MDQ1NDU5CkdlcmFkZSBrYW0gZGVyIFZvcnNjaGxhZyB2b24gUGFkcmVpYyB6dSBlaW5lciBNYXNzZW5zY2hsYWVnZXJlaSA6KQoKTm9jaCB3ZXIgSW50ZXJlc3NlPwoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZWthbm50bWFjaHVuZyEgKFBhZHJlaWMsICA0LiBGZWIgMTk5OSwgMTk6Mjk6NDcpOgp+IyEgcm49S2V5IHJ0PTkxODE1MjkyMCByZz1wYXJ0eQp+IyEgdGlkPTkxODA0NTQ1OQpFaHJlIHdlbSBFaHJlIGdlYnVlaHJ0IEtleSEKRGFzIHdhciBEZWluZSBJZGVlIGFsc28gc3RlbGwgRGVpbiBMaWNodCBuaWNodCBzbyB1bnRlciBkZW4gU2NoZW1lbC4uLgoKUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmUgUGFydHlzY2hhbCAoU2lndXJhLCAgNS4gRmViIDE5OTksIDE2OjA1OjA2KToKSWNoIGhhYiBtaWNoIG1hbCBwcm9iZWhhbGJlciB1bWdldGFuIG1pdCBmb2xnZW5kZW0gRXJnZWJuaXM6ClNjaGFscyBzaW5kIHNjaHdlciB6dSBiZWtvbW1lbiwgYWJlciBtYWNoYmFyLiBMZWlkZXIgbnVyCnp1IGVpbmVtIHppZW1saWNoZW4gUHJlaXMuIApBbHRlcm5hdGl2ZW46CkNhcHMsIFN3ZWF0c2hpcnRzLCBKYWNrZW4gKGF1Y2ggenUgdGV1ZXI6KSwgU3RpY2tlci9CdXR0b25zCnVuZCBkaXZlcnNlIEtsZWludGVpbGUuIApBbGxlIGZyZWkgYmVkcnVja2JhciB1bmQgZXJzY2h3aW5nbGljaC4gWnVzYWV0emxpY2ggYmVzdGVodApldnRsLiBhdWNoIGRpZSBNb2VnbGljaGtlaXQsIGVpbmUgZGV6ZW50ZSBGaXJtZW53ZXJidW5nIG1pdAphdWZ6dW5laG1lbiwgdW0gS29zdGVuIHp1IHNwYXJlbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZ3VyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlIFBhcnR5c2NoYWwgKE1haGF0bXUsICA1LiBGZWIgMTk5OSwgMTY6MTA6MDYpOgp+IyEgcm49U2lndXJhIHJ0PTkxODIyNzEwNiByZz1wYXJ0eQp+IyEgdGlkPTkxODIyNzEwNgpLb25kb21lPyBGdWVyIFlhbnRybyB1bmQgLi4uIE1vcmdvdGg/IE1pdCBBdWZkcnVjaz8gT2RlciBUYXRvb3M/Ck1HLU5hc2VucmluZ2U/CgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmUgUGFydHlzY2hhbCAoV2lsaGVsbSwgIDUuIEZlYiAxOTk5LCAxNzoyNDoyMSk6Cn4jISBybj1TaWd1cmEgcnQ9OTE4MjI3MTA2IHJnPXBhcnR5Cn4jISB0aWQ9OTE4MjI3MTA2CgpBbHNvIFdlcmJlYXVmZHJ1Y2sgd2FlcmUga2xhc3NlLCBpY2ggc3RlbGwgbWlyIHZvciwgZGFzcwptYW4gZGVuIGluIGRpZSBLYXBwZW4gZWluZHJ1Y2tlbiBsYWVzc3QuIERhbm4gc3RvZXJ0IGVyCmF1Y2ggbmljaHQuIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmUgUGFydHlzY2hhbCAoTW9yZ290aCwgIDUuIEZlYiAxOTk5LCAxNzo0NTo0OCk6Cn4jISBybj1NYWhhdG11IHJ0PTkxODIyNzQwNiByZz1wYXJ0eQp+IyEgdGlkPTkxODIyNzEwNgpBbGxlcyBra2xhci4gSWNoIGhhZXR0ZSBnZXJuZSBkZW4gR3Jvc3NmYW1pbGllbnBhY2sgKDIwMCBTdHVlY2spLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlIFBhcnR5c2NoYWwgKEphc3BlciwgIDUuIEZlYiAxOTk5LCAxOTowNTo1OCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkxODIzMzE0OCByZz1wYXJ0eQp+IyEgdGlkPTkxODIyNzEwNgp1bmQgd2FzIHdpbGxzdCBkdSBkYW1pdD8gOikKYXVmYmxhc2VuIHVuZCBpbiBkZXIgd29obnVuZyBydW0gZmxpZWdlbiBsYXNzZW4gPyAqZ3JpbnMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZSBQYXJ0eXNjaGFsIChLYWRhYnJhLCAgNi4gRmViIDE5OTksIDAwOjI5OjE4KToKfiMhIHJuPU1vcmdvdGggcnQ9OTE4MjMzMTQ4IHJnPXBhcnR5Cn4jISB0aWQ9OTE4MjI3MTA2CldBUyBXSUxMU1QgRFUgTUlUIFpXRUlIVU5ERVJUIFNDSEFMUz8/PwprYWRhYnJhIChlbnRzZXR6dCkgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlIFBhcnR5c2NoYWwgKExhbmZlYXIsICA2LiBGZWIgMTk5OSwgMDE6MjQ6MDMpOgp+IyEgcm49S2FkYWJyYSBydD05MTgyNTczNTggcmc9cGFydHkKfiMhIHRpZD05MTgyMjcxMDYKSHlkcmEgTW9yZ290aCA/CgoKCkpldHp0IG1hbCB3YXMgYW5kZXJlcy4gWnUgZGVyIFdlcmJ1bmc6Cldlbm4gaWNoIG1pY2ggbmljaHQgaXJyZSwgaXN0IGRpZSBNdWRMaWIgYnp3IGRlciBEcml2ZXIsIG9kZXIgd2FzIHdlaXNzIGljaAp6dXIgdW5rb21tZXJ6aWVsbGVuIE51dHp1bmcgZnJlaWdlZ2ViZW4uIFdlbm4gbWFuIGluIFZlcmJpbmR1bmcgbWl0IGlyZ2VuZHdhcwphdXMgZGVtIE1HIFdlcmJ1bmcgbWFjaHQgd2lyZCBtYW4gdW5zIHdvaGwgYW5zIEJlaW4gcGlua2VsbiBrb2VubmVuIChzb2Zlcm4KZGFzIGVpbmVyIG1hY2h0LCBhYmVyIHNvbGNoZSBMZXV0ZSBnaWJ0IGVzIGphIGltbWVyKQpTb25zdCB3YWVyIGVzIGphIGF1Y2ggbW9lZ2xpY2ggU3BvbnNvcmVuIGZ1ZXIgZGFzIE1HIHp1IGZpbmRlbiwgdW0gaW1tZXIgbmVuCmZyaXNjaGVuIFJlY2huZXIgenUgaGFiZW4uCgpMYW5mZWFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hhbHdlcmJ1bmcgKFNpZ3VyYSwgIDYuIEZlYiAxOTk5LCAwNDoxNDoxMyk6CkljaCBnbGF1Yiwgc28gZ2FueiBpc3QgZGFzIG5pY2h0IGFuZ2Vrb21tZW4uCgpJY2ggaGFiIG5pY2h0IHZvbiBlaW5lciBXZXJidW5nIGltIE11ZCBnZXJlZGV0LCBzb25kZXJuCnZvbiBGaXJtZW4sIGRpZSBndWVuc3RpZyBkYXMgQmVkcnVja2VuIHZvbiBUZXh0aWxpZW4gYW4tCmJpZXRlbiwgd2VpbCBpaHIgTG9nbyBzY2hvbiBkcmF1ZiBpc3QuIAoKSWNoIGRlbmtlLCBpbiBkaWVzZW0gWnVzYW1tZW5oYW5nIGthbm4gZXMgbmljaHQgc3RvZS0KcmVuZCBzZWluLCB3ZW5uIGVpbiBGaXJtZW5sb2dvIGluIGRlciBHcm9lc3NlIGVpbmVyClN0cmVpY2hob2x6c2NoYWNodGVsIGlyZ2VuZHdvIGF1ZiBkZXIgVGV4dGlsaWUgenUgc2UtCmhlbiBpc3QuIEltbWVyaGluIHNpZWh0IG1hbiBkYXMgamEgYmVpIGRlciBNdWQtTnV0enVuZwpuaWNodCB1bmJlZGluZ3QgOikKCkFiZXIgZXMgd2FyIGphIGF1Y2ggbnVyIGVpbiBWb3JzY2hsYWcgOikgICAKClNpZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmUgUGFydHlzY2hhbCAoSmFzb25yaWdpZCwgIDYuIEZlYiAxOTk5LCAxNDoyMzo1OSk6Cn4jISBybj1NYWhhdG11IHJ0PTkxODIyNzQwNiByZz1wYXJ0eQp+IyEgdGlkPTkxODIyNzEwNgoKQWJlciBiZXN0ZW5mYWxscyBOYXNlbnJpbmdlIGF1cyBOaWhpbGl0ICpncmlucyoKClZpZWxsZWljaHQgc29sbHRlbiB3aXIgZGllIFBhY2h0eSBkb2NoIGluIFRhcmtvIFJldWIgbWFjaGVuIC4uLiA7KQoKSmFzb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVrYW5udG1hY2h1bmchIChBcmlhbmEsICA2LiBGZWIgMTk5OSwgMTg6NDM6MTQpOgp+IyEgcm49S2V5IHJ0PTkxODE1Mjc3OSByZz1wYXJ0eQp+IyEgdGlkPTkxODA0NTQ1OQp3aWUgd2FlcnMgbWl0IFdlaW5mbGFzY2hlbiBtaXQgYmVkcnVja3RlbSBFdGlrZXR0LCBLZXk/IERlciBJbmhhbHQgaXN0CmV4aXN0ZW50aWVsbCB3aWNodGlnIGZ1ZXIgbmUgUGFydHkgdW5kIGRpZSBGbGFzY2hlbiBwYXNzZW4gZ3V0IHp1cgp2ZXJzcHJvY2hlbmVuIE1hc3NlbnBydWVnZWxlaTopCk9kZXIgbWl0IEJsaW5raXMsIGRhbm4gZmluZGVuIHdpciB1bnMgYXVjaCBhbGxlIGltIER1bmtlbG4gd2llZGVyICpHR0cqCmFyaWFuYSBub2NoIGlyZ2Vuc3dvIHNvbmVuIEFiaS1CbGlua2kgcnVtbGllZ2VuIGhhYmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmUgUGFydHlzY2hhbCAoS2V5LCAgOC4gRmViIDE5OTksIDA5OjQxOjI0KToKfiMhIHJuPUxhbmZlYXIgcnQ9OTE4MjYwNjQzIHJnPXBhcnR5Cn4jISB0aWQ9OTE4MjI3MTA2ClNvd2VpdCBpY2ggbWljaCBlcmlubmVyZSB3aXJkIGplZGVyIHNwb25zb3IgZnVlciBSZWNobmVyIGdlcm5lIGdlbm9tbWVuLCB1bmQKV2VyYnVuZyBzb2xsdGUgYXVjaCBnZW1hY2h0IHdlcmRlbiBrb2VubmVuIHdlbm4gaWNoIG5ldCBpcnJlIC4uLgoKQXVzc2VyZGVtIGlzc2VzIGRvY2ggZWggYWxsZXMgYmVrbG9wcHQgaW4gZGVyIFJpY2h0dW5nLCB3ZW5uIG1hbiBhdWYgbmVtIFNjaGFsCndvIGRpY2sgYWRpZGFzIG9kZXIgc29uc3R3YXMgZHJhdWZzdGVodCBuaWNodCBub2NoIENvY2FDb2xhIHdlaWwgd2VnZW4gV2VyYnVuZwpzY2hyZWliZW4gZGFyZiAuLi4gPTspCgpLZXkgbnVyIGRlbmtlbmQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJla2FubnRtYWNodW5nISAoS2V5LCAgOC4gRmViIDE5OTksIDA5OjQzOjAxKToKfiMhIHJuPUFyaWFuYSBydD05MTgzMjI5OTQgcmc9cGFydHkKfiMhIHRpZD05MTgwNDU0NTkKKmtpY2hlciogQXVqYSEKQmllciBkZXIgTW9yZ2VuZ3JhdWVuYnJhdWVyZWksIEJyYXVlcjogS2V5IDspCgpLbGltZ3QgZ3V0LCBpY2ggd3VlcmRlIGRhIHNwb250YW4gdW5zZXJlIEJyYXVlcmVpIGZyYWdlbiwgaGFldHRlIGljaCBuZXQgZGllCkJlZnVlcmNodHVuZyBlcnNjaG9zc2VuIHp1IHdlcmRlbiA7KSBWbiBNdWRkZXJuID07KQoKQWVoIGJsaW5raXM/IEFSR1MgOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmVrYW5udG1hY2h1bmchIChUZWRkeSwgIDguIEZlYiAxOTk5LCAyMzozMjoyNSk6Cn4jISBybj1LZXkgcnQ9OTE4NDYzMzgxIHJnPXBhcnR5Cn4jISB0aWQ9OTE4MDQ1NDU5CkFsc28gc293ZWl0IGljaCBtaWNoIGVyaW5uZXJlIGRhcmYgV2VyYnVuZyBhdWYgZGVuIEhvbWVwYWdlcyBldmVudHVlbGwgZ2VtYWNodAp3ZXJkZW4sIGhhdCB2aWVsbGVpY2h0IGlyZ2VuZHdlciBtYWwgZ2VrbGFlcnQgdW5kIGltIE1HIHNlbGJlciBpc3RzCmF1c2RydWVja2xpY2ggbmljaHQgZXJ3dWVuc2NodC4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppY2ggYmlucyEgOikgKFNjaGFsLCAgOS4gRmViIDE5OTksIDA5OjE4OjA0KToKSHVodSA6KQoKU28gZnVlciBhbGxlIGRpZSBuZW4gVC1TaGlydCBvZGVyIG5lbiBTY2hhbCB3dWVuc2NoZW4gc29sbHRlbiBzaWNoIG1laW5lbgpOYW1lbiBtZXJrZW4gdW5kIG1pciBtYWlsZW4uClVuZCB6d2FyIGJhbGQsIHNvbnN0IGlzc2VzIHp1IHNwYWV0LgpJbiBkaWUgbWFpbCBzY2hyZWlidCBpaHIgYW0gYmVzdGVuIHdhcyBpaHIgaGFiZW4gd29sbHQsIHVuZCBiZWkgVC1TaGlydCBhdWNoCmRpZSBHcm9lc3NlLgoKQWNoamEgdW5kIGRlbmt0IGV1Y2ggbWFsIG5lbiBNb3RpdiBhdXMhCkxldHp0ZXMgSmFociB3YXIgZG9jaCBpcmdlbmR3YXMgdm9uIFN0aW5nIHdhcyB3aXIgbWFsIG5laG1lbiB3b2xsdGVuLCBvZGVyPyA6KQoKU2NoYWwsIGRlciBULVNoaXJ0IEtvbmt1cmVueiBtYWNoZW4gd2lsbCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIGF1Y2ggaWNoIGF1Y2ggOykgKENoaW5lc2UsICA5LiBGZWIgMTk5OSwgMTA6NDQ6MjkpOgpIYWxsbywgCgpTb2xsdGUgc2ljaCBpbnp3aXNjaGVuIHdlciBmdWVyIE1pdHRhZ2Vzc2VuIGFtIFNvbm50YWcgZGVtIDE0LjMgZW50c2NoaWVkZW4KaGFiZW4sIG1haWwgYW4gbWljaCA6KQoKSG1tIG11c3NlcyBpbW1lciBDaGluZXNlIHNlaW4/IDopCgpDaGluZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdiZXNjaHJlaWJ1bmcgZXJzdG1hbCBudXIgenVyIEhhbGxlLiAoS2V5LCAgOS4gRmViIDE5OTksIDEyOjA2OjE0KToKV2VnYmVzY2hyZWlidW5nOgoKRnVlciBBdXRvZmFocmVyOgpJaHIga29tbXQgYW0gYmVzdGVuIHZvbiBTdWVkZW4gaGVyIG5hY2ggTWFyYnVyZyByZWluLAphbHNvIHZvbiBHaWVzc2VuIGF1ZiBkZXIgQjMuCkRhbm4gZmFocnQgaWhyIE1hcmJ1cmcgSGF1cHRiYWhuaG9mIGFiIChOZXVlIEthc3NsZXIgU3RyYXNzZSksCmFuIGRlciBLcmV1enVuZyBuYWNoIHJlY2h0cy4KRGVyIFN0cmFzc2UgZm9sZ3QgaWhyLCBkaWUgbWFjaHQgbmFjaCBjYSA1MDBtIGVpbmUgUmVjaHRza3VydmUuCkRhbm4gZ2VodHMgbmVuIGdhbnplcyBTdHVlY2sgZ2VyYWRlYXVzIChCYWhuaG9mc3RyYXNzZSksIGJpcyB6dQplaW5lciBULUtyZXV6dW5nLiBEYSBuYWNoIGxpbmtzIChXZWhyZGFlciBXZWcpLgpBdWYgZGVyIGxpbmtlbiBTZWl0ZSBzb2xsdGUgZWluZSBncm9zc2UgS2lyY2hlIGF1ZnRhdWNoZW4sIHVuZCBpaHIKc29sbHRldCBldWNoIGFuIGVpbmVyIEtyZXV6dW5nIGJlZmluZGVuLiBEYSBiaWVndCBpaHIgbGlua3MgYWIsCnVuZCBmb2xndCBkZXIgU3RyYXNzZSAoRGV1dHNjaGhhdXNzdHJhc3NlKSBtYWwgd2llZGVyLgpEaWVzZSBtYWNodCBuZSBSZWNodHNrdXJ2ZSBpbiBkaWUgQmllZ2Vuc3RyYXNzZS4KRGllIHp3ZWl0ZSBBYmZhaHJ0IG5hY2ggbGlua3MgZmFocnQgaWhyIHJ1bnRlciwgaW4gZGllIFNhdmlnbnlzdHJhc3NlLgpSZWNodHMgYmVmaW5kZXQgc2ljaCBkaWUgU3RhZHRoYWxsZS4gSWhyIGZhaHJ0IGJpcyB6dW0gRW5kZSBkZXIgU3RyYXNzZSwKRGEgaXN0IGRhbm4gdm9yIGV1Y2ggZWluIGdyb2Vzc2VyIFBhcmtwbGF0eiwgTXVlc3N0IG51ciBuZSBFaW5mYWhydCBmaW5kZW4gOykKCk5hamEgZGEgZGFubiBhdXNzdGVpZ2VuLCBldWNoIGV1ZXIgWmV1ZyBrcmFsbGVuLCB3aWVkZXIgaG9jaCBhdWYgZGllIFN0cmFzc2UuCkRhIHdlbmRldCBpaHIgZXVjaCBuYWNoIHJlY2h0cywgdW5kIGxhdHNjaHQgbmVuIGJpc3NlcmwsIGJpcyBhdWYgZGVyIHJlY2h0ZW4KU2VpdGUgbmUgRnVzc2dhZW5nZXJicnVlY2tlIGF1ZnRhdWNodC4KRGEgZ2VodCBpaHIgbmFjaCBsaW5rcyB1ZWJlciBkaWUgU3RyYXNzZSB1bmQgYXVmIGRlbiBTY2h1bGhvZi4KRGllIFNjaHVsZSBpc3QgZGFubiBsaW5rcyB2b24gZXVjaCwgdW5kIGdlcmFkZWF1cyBzb2xsdGUgZWluIFN0dWVjayB1ZWJlcmRhY2h0CnNlaW4gLi4uLiB1bnRlciBkZW0gZGFjayBuYWNoIHJlY2h0cyBpc3QgZGVyIEVpbmdhbmcgenVyIFR1cm5oYWxsZS4KCklociBrb2VubnQgd2VubiBpaHIgZXVlciBaZXVnIG5ldCBzY2hsZXBwZW4gd29sbHQgYXVjaCBfa3Vyel8gYmVpIGRlciBTY2h1bGUKcGFya2VuIHp1bSBhdXNsYWRlbiwgYWJlciBuaWNodCBhdWYgRGF1ZXIgOikKCgpPa2kgU29sbHRldCBpaHIgZG9jaCB2b24gTm9yZGVuIGF1cyBrb21tZW4gYXVmIGRlciBCM2EgYXVzIEthc3NlbCwgZGFubiBmYWhydAppaHIgYXVjaCBNYXJidXJnIEJhaG5ob2YgYWIsIHVuZCBkYSBnbGVpY2ggbmFjaCByZWNodHMsIERhIHNlaWQgaWhyIGF1ZgpkZXIgQmFobmhvZnN0cmFzc2UsIERlbiBSZXN0IHNpZWhlIG9iZW4gOikKCgoKCkZ1ZXIgZGllIEJhaG5mYWhyZXI6CklociB2ZXJsYXNzdCBkZW4gQmFobmhvZiwgbGF1ZnQgZGllIFN0cmFzc2UgZ2VyYWRlYXVzIGxhbmcgKEJhaG5ob2ZzdHJhc3NlKQpVZWJlciBkaWUgQnJ1ZWNrZSBkcnVlYmVyLCB1bmQgYmlzIHp1ciBuYWVjaHN0ZW4gS3JldXp1bmcuCkRhIGlzdCBhbiBkZXIgRWNrZSBuZSBBcG90aGVrZSwgdW5kIGlociBnZWh0IG5hY2ggbGlua3MuIEluIGRpZSBSb2JlcnQtS29jaApTdHJhc3NlLiBEZXIgZm9sZ3QgaWhyIGJpcyB1ZWJlciBlaW5lIEJydWVja2UsIGRhIG5hY2ggbGlua3MgaW4gZGllClVmZXJzdHJhc3NlLgpEaWUgd2VpdGVyIGJpcyBhdWYgZGVyIGxpbmtlbiBTZWl0ZSBuZSBGdXNzZ2FlbmdlcmJydWVja2UgYXVmdGF1Y2h0LgpEaWUgU2NodWxlIGJlZmluZGV0IHNpY2ggZGFubiBhdWYgZGVyIHJlY2h0ZW4gU2VpdGUuCgoKSW0gTm90ZmFsbCBzb2xsdGV0IGlociBldWNoIGRpZSBLYXJ0ZSBhdXNkcnVja2VuLCBkaWUgYnJhdWNodCBpaHIgd29obCBlaC4KCldpciB3ZXJkZW4gd29obCBmcnVlaHN0ZW5zIHVtIDE4OjAwIFVociB3ZW4gYW4gZGVyIFR1cm5oYWxsZSBwb3N0aWVyZW4uCk9iIHdpciBkYW5uIHNjaG9uIHJlaW5rb21tZW4gLi4uLi4gZnJhZ3QgU3JhYmkgOikKCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWdiZXNjaHJlaWJ1bmcgZXJzdG1hbCBudXIgenVyIEhhbGxlLiAoWm9vaywgIDkuIEZlYiAxOTk5LCAxNDo1Mjo1MSk6Cn4jISBybj1LZXkgcnQ9OTE4NTU4Mzc0IHJnPXBhcnR5Cn4jISB0aWQ9OTE4NTU4Mzc0CkhtbS4uLiBpY2ggZ2xhdWIsIGljaCB3ZXJkZSBkaWVzZSBXZWdiZXNjaHJlaWJ1bmcgbWFsIHRlc3Rlbi4uLgpOaWNodCwgZGFzcyB1bnMgZ2FuemUgSG9yZGVuIHZvbiBNdWRkZXJuIHBsb2V0emxpY2ggYW0gT3J0c3NjaGlsZAp2b24gSGFtYnVyZyBhbmtvbW1lbi4uLiA7KSkpCgoqZ3JpbnMga2V5KgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VnYmVzY2hyZWlidW5nIGVyc3RtYWwgbnVyIHp1ciBIYWxsZS4gKEJvaW5nLCAgOS4gRmViIDE5OTksIDE1OjAwOjUwKToKfiMhIHJuPVpvb2sgcnQ9OTE4NTY4MzcxIHJnPXBhcnR5Cn4jISB0aWQ9OTE4NTU4Mzc0CkljaCBrYW5uIG1pY2ggYW4gZGllIERldXRzY2hsYW5kcmVpc2Ugdm9uIE5vdmFzdG9ybSBlcmlubmVybiwgYWxzIGVyCnZlcnN1Y2h0ZSBtaXQgZWluZXIgdm9uIEtleXMgV2VnYmVzY2hyZWlidW5nZW4gTWFyYnVyZyB6dSBmaW5kZW4uIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlZ2Jlc2NocmVpYnVuZyBlcnN0bWFsIG51ciB6dXIgSGFsbGUuIChLZXksICA5LiBGZWIgMTk5OSwgMTU6MDE6MzIpOgp+IyEgcm49Qm9pbmcgcnQ9OTE4NTY4ODUwIHJnPXBhcnR5Cn4jISB0aWQ9OTE4NTU4Mzc0ClBmZmYhCklociBoYWJ0IGphIG51ciBrZWluZSBBaG51bmcgdm9uIEt1bnN0ISA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZWdiZXNjaHJlaWJ1bmcgZXJzdG1hbCBudXIgenVyIEhhbGxlLiAoU2hhcmlhLCAgOS4gRmViIDE5OTksIDE2OjI4OjE1KToKfiMhIHJuPUtleSBydD05MTg1Njg4OTIgcmc9cGFydHkKfiMhIHRpZD05MTg1NTgzNzQKaWNoIGdsYXViZSBhdWNoIFN0aW5nIHVuZCBTY2hva28gaGF0dGVuIHNjaG9uIHNjaHdpZXJpZ2tlaXRlbiBLZXlzCldlZ2Jlc2NocmVpYnVuZ2VuIHp1IGZvbGdlbiAuLi4gYWxsZXJkaW5ncyBob2VydCBzaWNoIGRpZXNtYWwgZGllIEJlc2NocmVpYnVuZwpzbyBhbiBhbHNvYiBtYW4gaWhyIHdpcmtsaWNoIHRyYXVlbiBrb2VubnRlIC4uLi4gOi0pCgpBY2hqYTogZGVyIGJlc3RlIEhhbW1lciB3YXIgbm9jaCBkaWUgV2VnYmVzY2hyZWlidW5nIHZvbiBTcmFiaSB6dW0gU3RhdGkgLi4uCmRpZSB3YXIgY2Egc286IApGYWhydCBuYWNoIE1SIHN1Y2h0IGV1Y2ggbmVuIFBhcmtwbGF0eiwgZ2VodCBkZW4gYmVyZyBob2NoIHVuZCBzdWNodCBkaWUKS25laXBlIAoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZWdiZXNjaHJlaWJ1bmcgZXJzdG1hbCBudXIgenVyIEhhbGxlLiAoS2V5LCAgOS4gRmViIDE5OTksIDE2OjU2OjMxKToKfiMhIHJuPVNoYXJpYSBydD05MTg1NzQwOTUgcmc9cGFydHkKfiMhIHRpZD05MTg1NTgzNzQKRHUgaGFzdCBkYSB3YXMgdmVyZ2Vzc2VuOgpEYSB3byB2b3IgNSBKYWhyZW4gZGllIEFPSyB3YXIgbmFjaCBsaW5rcyBhYmJpZWdlbiAsKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZSB6dW0gU2NoYWwgKERhcmlhLCAgOS4gRmViIDE5OTksIDE4OjAyOjQ4KToKQWVobS4uLiB3aWUgc29sbG4gZGVyIGF1c3NlaGVuPyBTbyBnZXN0cmlja3Qgd2llIGVpbiBGdXNzYmFsbHNjaGFsIG9kZXIgZWhlcgptaXQgQXBwbGlrYXRpb24gYW0gRW5kZSBkZXMgU2NoYWxzPwpXdWVyZCBpY2ggZ2VybiB3aXNzZW4gYmV2b3IgaWNoIGJlc3RlbGxlLi4uCkRhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZWdiZXNjaHJlaWJ1bmcgZXJzdG1hbCBudXIgenVyIEhhbGxlLiAoUm9jaHVzLCAgOS4gRmViIDE5OTksIDE4OjE5OjIzKToKfiMhIHJuPUJvaW5nIHJ0PTkxODU2ODg1MCByZz1wYXJ0eQp+IyEgdGlkPTkxODU1ODM3NApJY2ggaGFiZSBkaWUgV2VnYmVzY2hyZWlidW5nIGpldHp0IGF1ZiBkZXIgUGFydHlzZWl0ZSBpbSBXZWIKICBodHRwOi8vbWcubXVkLmRlL1BhcnR5L1BhcnR5LjExLwphdWZnZW5vbW1lbiB1bmQgenVyIFNpY2hlcmhlaXQgbm9jaCBlaW5lIEthcnRlIGJlaWdlZnVlZ3QuCldpZSBLZXkgc2Nob24gc2FndGU6ICJEaWUgYnJhdWNodCBpaHIgZWgiIC0gYmVpIGRlciBCZXNjaHJlaWJ1bmcgOi0pCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VnYmVzY2hyZWlidW5nIGVyc3RtYWwgbnVyIHp1ciBIYWxsZS4gKEFzbW9kaXMsIDEwLiBGZWIgMTk5OSwgMDM6MzQ6NDkpOgp+IyEgcm49Qm9pbmcgcnQ9OTE4NTY4ODUwIHJnPXBhcnR5Cn4jISB0aWQ9OTE4NTU4Mzc0Cm1hY2h0IGRvY2ggbml4LCBpbiBoYW1idXJnIGthbm4gbWFuIGF1Y2ggZ2FueiBndXQgZmVpZXJuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlrb3N0ZW4gKEJvaW5nLCAxMC4gRmViIDE5OTksIDEwOjQ3OjUyKToKU29sbGVuIHdpciBkYXMgZ2VsZCBmdWVyIGRpZSBQYXJ0eSB3aXJrbGljaCBhbiBDYXR3ZWF6bGUgdWViZXJ3ZWlzZW4Kb2RlciBpc3QgZGFzIGVpbiBGZWhsZXIgYW0gUGFydHlicmV0dD8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5a29zdGVuIChDYXR3ZWF6bGUsIDEwLiBGZWIgMTk5OSwgMTQ6MTY6NTcpOgp+IyEgcm49Qm9pbmcgcnQ9OTE4NjQwMDcyIHJnPXBhcnR5Cn4jISB0aWQ9OTE4NjQwMDcyCktlaW4gRmVobGVyLgpJY2ggdWViZXJ3ZWlzIGRhcyBkYW5uLCB3ZW5ucyBkYSBpc3QuCkRpZSBNYXJidXJnZXIgd29sbHRlbiB3b2hsIG5pY2h0IGV4dHJhIGVpbiBLb250byBhdWZtYWNoZW4sIHVuZCBkaWVzZXMKZWluZSBNYWwgbGFldWZ0IGRhcyBub2NoIGdlYnVlaHJlbmZyZWkuIERhbmFjaCBtb2VjaHRlIGljaHMgYWJlciB3aXJrbGljaAp6d2luZ2VuZCBkcmluZ2VuIGF1ZmxvZXNlbiA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5a29zdGVuIChLZXksIDEwLiBGZWIgMTk5OSwgMTY6MDM6MzgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxODY1MjYxNyByZz1wYXJ0eQp+IyEgdGlkPTkxODY0MDA3MgoqZ3JpbnMqIApJY2ggaGFiIG1hbCBkYXMgUGFydHlicmV0dCBhZW5kZXJuIGxhc3NlbiA6KQpJc3QgZWluZmFjaGVyZXIgOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2VuIDspIChLZXksIDEwLiBGZWIgMTk5OSwgMTg6NDc6MDMpOgpPa2ksIGxhdXQgSGF0ZXMgdm9yc2NobGFnIHNvbGwgbWFuIG1hbCB3YXMgYW5kZXJlcyBtYWNoZW4gOikKCkFsc286CkhhdCBqZW1hbmQgaW50ZXJlc3NlIGFuIG5lciBTdGFkdGZ1ZWhydW5nPwpBbiBlaW4gYmlzc2VybCBLdWx0dXI/IEltIElyaXNoIFB1Yj8KQW4gbmVyIEZpbG12b3JmdWVocnVuZz8KV2VuIGphIHdlbGNoZSBSaWNodHVuZyB2b24gRmlsbT8KCk9raSBtYWlsdCBtYWwgb2RlciBzY2hyZWlidHMgaW4gZGllIE1wYQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJhZ2VuIDspIChLZXksIDEwLiBGZWIgMTk5OSwgMTg6NDk6MDIpOgp+IyEgcm49S2V5IHJ0PTkxODY2ODgyMyByZz1wYXJ0eQp+IyEgdGlkPTkxODY2ODgyMwpBY2hqYSwgbmUgU2NobG9zc2Z1ZWhydW5nIGlzdCB3b2hsIGF1Y2ggbW9lZ2xpY2ggOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZW4gOykgKE1haGF0bXUsIDEwLiBGZWIgMTk5OSwgMjI6NDM6MjYpOgp+IyEgcm49S2V5IHJ0PTkxODY2ODk0MiByZz1wYXJ0eQp+IyEgdGlkPTkxODY2ODgyMwpLdWx0LVVociBpc3QgaW1tZXIgZ3V0PyBBYmVyIHdpZSB3YWVycywgZGFzIHdpZWRlciBndXQgaW4gZWluZSBSTC1RdWVzdAplaW56dWJhdWVuIChhdWYgZGVyIHZvcmxldHp0ZW4gZ2FicyBqYSBuaXQgdmllbCB6dSBzZWhlbiwgYWxsZXMgUG90dCA6KSApCgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcmFnZW4gOykgKFRlZGR5LCAxMS4gRmViIDE5OTksIDAwOjE0OjMzKToKfiMhIHJuPU1haGF0bXUgcnQ9OTE4NjgzMDA2IHJnPXBhcnR5Cn4jISB0aWQ9OTE4NjY4ODIzCkhhc3QgZHUgaXJnZW5kd2FzIHVlYmVyIGRpZSB2b3JsZXR6dGUgUGFydHkgenUgbWVja2Vybj8KClRlZGR5LCBncnVtbWVsbmQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZW4gOykgKFppbm8sIDExLiBGZWIgMTk5OSwgMTA6MjY6MjYpOgp+IyEgcm49S2V5IHJ0PTkxODY2ODgyMyByZz1wYXJ0eQp+IyEgdGlkPTkxODY2ODgyMwpIbW0sIGFsc28gaWNoIGRlbmtlLCBNYXJidXJnIGlzdCBoaW5yZWljaGVuZCBzZWhlbnN3ZXJ0LCBzbyBkYXNzIG1hbiBzaWNoIGF1ZgpqZWRlbiBGYWxsIGRpZSBaZWl0IG5laG1lbiBzb2xsdGUsIHNpY2ggZGEgZXR3YXMgdW16dXNlaG4uIE9iIGRhcyBudW4gaW0KUmFobWVuIGVpbmVyIHplbnRyYWwgb3JnYW5pc2llcnRlbiBTdGFkdGZ1ZWhydW5nIHBhc3NpZXJ0IG9kZXIgb2JzIGplZGVyIGF1ZgplaWdlbmUgRmF1c3QgbWFjaHQsIGlzdCBtaXIgd3Vyc2NodC4gQXVmIGplZGVuIEZhbGwgd2lsbCBpY2ggbWFsIG5lbiBCbGljayBpbgpkaWUgRWxpc2FiZXRoa2lyY2hlIHdlcmZlbiwgYWxzbyBwYWNrdCBkYXMgUHJvZ3JhbW0gbmljaHQgenUgdm9sbC4uLgoKTWFoYXRtYSAoYWNoLCBpY2ggaGVpc3MgamEgamV0enQgWmlubykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhZ2VuIDspIChLZXksIDExLiBGZWIgMTk5OSwgMTA6NDQ6NDUpOgp+IyEgcm49WmlubyBydD05MTg3MjUxODYgcmc9cGFydHkKfiMhIHRpZD05MTg2Njg4MjMKSG1tIHdpciBoYXR0ZW4gZWggbmUgUkwtUXVlc3QgZ2VwbGFudCBkaWUgYW4gbmUgU3RhZHRmdWVocnVuZyByYW5yZWljaGVuCmR1ZXJmdGUgOikKCldlbm4gbm9jaCBtZWhyIEludGVyZXNzZSBhbiBkZXIgRWxpc2FiZXRoa2lyY2hlIGJlc3RlaHQga29lbm5lbiB3aXIgZGEgYXVjaCBuZQpGdWVocnVuZyBtYWNoZW4uIERpZSBpc3QgbWl0IHNpY2hoZXJoZWl0IG5pY2h0IHVuaW50ZXJlc3NhbnQgOikgCgpJY2ggaG9mZmUgbnVyIGRhcyBpaHIgbGF1ZmZlc3Qgc2VpZCA9OykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2VuIDspIChIb2JvLCAxMS4gRmViIDE5OTksIDEwOjQ1OjQ3KToKfiMhIHJuPUtleSBydD05MTg3MjYyODUgcmc9cGFydHkKfiMhIHRpZD05MTg2Njg4MjMKWnVtIFRoZW1hICJMYXVmZmVzdGlna2VpdCI6CgpIZXksIElociBGaXNjaGtvZXBmJyBhdXMgZGVtIE5vcmRlbjoKCiAgIE1hcmJ1cmcgaGF0IEJFUkdFISAKCkhvYm8gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcmFnZW4gOykgKFphcm5peWEsIDExLiBGZWIgMTk5OSwgMTA6NDk6MjEpOgp+IyEgcm49S2V5IHJ0PTkxODcyNjI4NSByZz1wYXJ0eQp+IyEgdGlkPTkxODY2ODgyMwpIaSwgCgp3ZW5uIGljaCBoaWVyIGRhcyBnZXN0ZWlnZXJ0ZSBJbnRlcmVzc2UgYW4gS2lyY2hlbmZ1ZWhydW5nZW4gc2VoZSwgZGFubiB3ZWlzcwppY2gsIHdpZXNvIHdpciBuaWUgZXJuc3RoYWZ0IGVpbmUgUGFydHkgaW0gemF1YmVyaGFmdGVuIEtvZWxuIGdlbWFjaHQgaGFiZW4uLi4KSGllciBicmF1Y2h0IG1hbiBmdWVyIGVpbmUga3VyemUgRnVlaHJ1bmcgZHVyY2ggZGllIGdhbnogaW50ZXJlc3NhbnRlbiBLaXJjaGVuCnNvIGNhLiAyIE1vbmF0ZS4gOikKCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZW4gOykgKExhcmlzc2EsIDExLiBGZWIgMTk5OSwgMTI6MjQ6MjUpOgp+IyEgcm49S2V5IHJ0PTkxODY2ODgyMyByZz1wYXJ0eQp+IyEgdGlkPTkxODY2ODgyMwpBbHNvLApuZSBSTC1RdWVzdCB3YWVyIG5hdHVlcmxpY2ggcHJpbWEsIHZpZWxsZWljaHQga29lbm50ZSBzaWNoIGF1c25haG1zd2Vpc2UKZGFzIExhdWZwZW5zdW0gZGFiZWkgYXVhbmFobXN3ZWlzZSBhdWYgZWluIGVydHJhZWdsaWNoZXMgTWFzcyByZWR1emllcmVuCmxhc3Nlbj8gOykKCkFsbGVyZGluZ3MgbWFjaHQgZGFzIHZpZWwgQXJiZWl0LCB3YWVyZSBhYmVyIGluIFZlcmJpbmR1bmcgbWl0IG5lcgpCZXNpY2h0aWd1bnN0b3VyIGJlc3RpbW10IHNwYW5uZW5kZXIuIFdlciBrYW5uIHNpY2ggc2Nob24gZGllIGVuZGxvc2VuClphaGxlbmtvbG9ubmVuIGVpbmVyIHByb2Zlc3Npb25lbGxlbiBTdGFlZHRlZnVlaHJ1bmcgbWVya2VuPwpMYXJpLCBmcmV1dCBzaWNoIHNjaG9uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZW4gOykgKFphcmRveiwgMTEuIEZlYiAxOTk5LCAxMjoyNzowOSk6Cn4jISBybj1aaW5vIHJ0PTkxODcyNTE4NiByZz1wYXJ0eQp+IyEgdGlkPTkxODY2ODgyMwpJc3QgZGllIEVsaXNhYmV0aGtpcmNoZSBkZW5uIGpldHp0IGZlcnRpZyByZXN0YXVyaWVydD8gSWNoIHdhciBkYXMgbGV0enRlIG1hbAp2b3IgY2EuIDEsNSBKYWhyZW4gZGEsIGRhIGtvbm50ZSBtYW4gbmljaHQgdmllbCBzZWhlbiA6KQoKQ2lhbyBaYXJkb3oKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZyYWdlbiA7KSAoRGllZGVyLCAxMS4gRmViIDE5OTksIDE0OjMyOjM5KToKfiMhIHJuPUhvYm8gcnQ9OTE4NzI2MzQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTE4NjY4ODIzCmhtLCBNYXJidXJnIGlzdCBmdWVyIHVucyBoaWVyIGF1Y2ggc2Nob24gRmlzY2hrb3BmZ2ViaWV0IDstKQoKRGllZGVyCi0tPiBTY2htYXJybgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhZ2VuIDspIChOb3Zhc3Rvcm0sIDExLiBGZWIgMTk5OSwgMTQ6MzI6NDEpOgp+IyEgcm49S2V5IHJ0PTkxODY2ODk0MiByZz1wYXJ0eQp+IyEgdGlkPTkxODY2ODgyMwoqaHVzdCogU0NITE9TUyA/IE1vbWVudGNoZW4sIGRhcyBHYWVydGNoZW4gbWl0IEJsb2NraHVldHRlIHNvbGwgZG9jaCBuaWUgIGltCkxlYmVuIGVpbiBTY2hsb3NzIHNlaW4uLi4gb2RlciA/IC4pCiAgICAgIE5vdmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyYWdlbiA7KSAoU2hhcmlhLCAxMS4gRmViIDE5OTksIDE1OjE1OjAzKToKfiMhIHJuPUtleSBydD05MTg3MjYyODUgcmc9cGFydHkKfiMhIHRpZD05MTg2Njg4MjMKQUhBICEhISBlaW4gQ0hBT1QgKGF1Y2ggaGlucmVpY2hlbmQgYmVrYW5udCBhbHMgZGllClBsdWVzY2hraXNzZW5rbnVkZGxlcmdpbGRlKSBmaW5kZXQgZWluZSBLaXJjaGUgaW50ZXJlc3NhbnQgLi4uLiBkYXMgZmluZGUgSUNICndpZWRlcnJ1bSBpbnRlcmVzc2FudCAuLi4KClNoYXJpYSAtLT4gS0VZIElOIERJRSBLTEVSVVNHSUxERSAhISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcmFnZW4gOykgKFNoYXJpYSwgMTEuIEZlYiAxOTk5LCAxNToxNjo0Mik6Cn4jISBybj1Ib2JvIHJ0PTkxODcyNjM0NyByZz1wYXJ0eQp+IyEgdGlkPTkxODY2ODgyMwpqYSBIb2JvIC4uIHJpY2h0aWcgLi4gTWFyYnVyZyBoYXQgZWNodGUgQmVyZ2UgLi4gYXVjaCB3ZW5uIEtleSBkYXMgbmljaHQKZ2xhdWJlbiB3aWxsIC4uLiAKClVuZCB6dW0gVGhlbWEgbGF1ZmZlc3RpZ2tlaXQ6IEFDSFRVTkcgS2V5IGhhdCBpbnRlcmVzc2FudGUgbWFzc3N0YWViZSB3YXMKc3RyZWNrZW4gdW5kIGxhdWZnZXNjaHdpbmRpZ2tlaXRlbiBhbmdlaHQgLi46KSBpY2ggc2FjaCBudXIgMTAgTWludXRlbiBiaXMgenVtClNjaGxvc3MgLi4uICpncmlucyBjNCwgc2Nob2tvLCB0cnlmYW4sIHN0aW5nLCBsZWZ0eSwgbmVzaSB1c3cgdXN3IHVzdyAqIDotKQoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcmFnZW4gOykgKEtleSwgMTEuIEZlYiAxOTk5LCAxNjowMzoxMyk6Cn4jISBybj1TaGFyaWEgcnQ9OTE4NzQyNTAzIHJnPXBhcnR5Cn4jISB0aWQ9OTE4NjY4ODIzCktsYXIgaW50ZXJlc3NpZXJlIGljaCBtaWNoIGZ1ZXIgS2lyY2hlbi4KCk11c3MgamEgc2NobGllc3NsaWNoIHdpc3NlbiB3byBpY2ggbWVpbmUgbmV1ZW4gU2tsYXZlbiBoZXJrcmllZ2UgOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eWtvc3RlbiAoQXNtb2RpcywgMTIuIEZlYiAxOTk5LCAwMjowMTozOSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTE4NjUyNjE3IHJnPXBhcnR5Cn4jISB0aWQ9OTE4NjQwMDcyCkFoYSwgQ2F0KiB3aWxsIHdpZWRlciBpbiBVcmxhdWIgZmFocmVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2VuIDspIChIYXNpbSwgMTIuIEZlYiAxOTk5LCAxMTo1Mjo0NSk6Cn4jISBybj1Ob3Zhc3Rvcm0gcnQ9OTE4NzM5OTYxIHJnPXBhcnR5Cn4jISB0aWQ9OTE4NjY4ODIzCldJRSBCSVRURT8/PwpIYXNpbSwgTWFyYnVyZ2VyLCBlbnRydWVzdGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZWdiZXNjaHJlaWJ1bmcgZXJzdG1hbCBudXIgenVyIEhhbGxlLiAoQXJpYW5hLCAxMi4gRmViIDE5OTksIDEyOjExOjE1KToKfiMhIHJuPVJvY2h1cyBydD05MTg1ODA3NjMgcmc9cGFydHkKfiMhIHRpZD05MTg1NTgzNzQKZ3V0IGRhc3MgZHUgZmFlaHJzdCwgcm9jaHVzISEhCgoKYXJpYW5hICpuYWNoIDMgemVpbGVuIGxlc2VuIGF1ZmdlZ2ViZW4gaGFiZW5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZW4gOykgKEFyaWFuYSwgMTIuIEZlYiAxOTk5LCAxMjozMzoxMSk6Cn4jISBybj1LZXkgcnQ9OTE4NjY4OTQyIHJnPXBhcnR5Cn4jISB0aWQ9OTE4NjY4ODIzCmphLCBkYXMgd2FlciB0b2xsISBuIGJpc3NjaGVuIGt1bHR1cmludGVyZXNzZSBoZXVjaGVsbjopCgphcmlhbmEgKmR1cmNoYXVzIHdpcmtsaWNoIGludGVyZXNzZSBoYWJlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYXMgT3JnYW5pc2F0aW9uc2tvbWl0ZWUgaGF0IGdldGFndC4uLiAoTGV2LCAxNy4gRmViIDE5OTksIDE4OjIzOjMyKToKCkhpIGlociBhbGxlLi4uCgppbSBBdWZ0cmFnIHVuc2VyZXMgR08gS2V5IGVyZ3JlaWZlIGljaCBoaWVyIGVpbm1hbCBkYXMKV29ydCwgdW0gdm9uIHVuc2VyZW0gbGV0enRlbiBPcmcuLVRyZWZmZW4genUgYmVyaWNodGVuLAp3ZWxjaGVzIGdlc3Rlcm4gc3RhdHRmYW5kLgoKSWNoIG1vZWNodGUgZGVuIHdlaXNlbiBXb3J0ZW4gdW5zZXJlcyAnR3Jvc3NlbiBPcmdhbmlzYXRvcnMnCktleSBuaWNodCB2b3JncmVpZmVuIHVuZCBiZXNjaHJhZW5rZSBtaWNoIGF1ZiBlaW5lbiBnYWFhbnoKd2ljaHRpZ2VuIFB1bmt0OgoKRGEgc2NoZWluYmFyIGdyb3NzZXMgSW50ZXJlc3NlIGFuIGVpbiB3ZW5pZyBLdWx0dXIgYmVzdGFuZCwKaGFiZW4gd2lyIHVucyBlbnRzY2hpZWRlbiwgZnVlciBTYW1zdGFnLCBkZW4gMTMuIE1hZXJ6LAplaW5lIEZ1ZWhydW5nIGR1cmNoIGRpZSBFbGlzYWJldGgtS2lyY2hlIHp1IG9yZ2FuaXNpZXJlbi4KCkVpbmUgc29sY2hlIEZ1ZWhydW5nIGRhdWVydCBjYS4gZWluZSBTdHVuZGUgdW5kIHdpciBoYWJlbgplaW5tYWwgYWxzIFVocnplaXQgZnVlciBkZW4gQmVnaW5uIDEwLjMwIFVociAoamEgd2lya2xpY2ghKQphdXNnZXdhZWhsdC4gKElociB3b2xsdCBqYSBzaWNoZXIgYWxsZSBhbSBOYWNobWl0dGFnIGFuIGRlciAKUkwtUXVlc3QgdGVpbG5laG1lbiA6KQoKRGFoZXIgZXJnZWh0IGZvbGdlbmRlciBSdWYgYW4gRXVjaDogV2VyIGFuIGRpZXNlciBGdWVocnVuZwp0ZWlsbmVobWUgbW9lY2h0ZSwgZGVyIG1lbGRlIHNpY2ggYml0dGUgYmVpIG1pciBfdmVyYmluZGxpY2hfCmFuLiBEaWUgQW5tZWxkdW5nIF9tdXNzXyBiaXMgenVtIDI1LiBGZWJydWFyIGJlaSBtaXIgZWluZ2VnYW5nZW4Kc2VpbiwgZGEgbWFuIGRpZSBGdWVocnVuZyB6d2VpIFdvY2hlbiBpbSB2b3JhdXMgYnVjaGVuIG11c3MuCgpFcyBncnVlc3N0IGltIE5hbWVuIGRlcyBPcmdhbmlzYXRpb25za29taXR0ZWVzIHVuZApuYXR1ZXJsaWNoIHVuc2VyZXMgR3Jvc3NlbiBPcmdhbmlzYXRvcnMgS2V5CgpMZXYuCgpQLlMuOiBOZWluLCBhbiBkZXIgVWhyemVpdCBrb2VubmVuIHdpciBuaWNodHMgbWVociBkcmVoZW4uLi4KZGVubiBlcyBrYW5uIGd1dCBzZWluLCBkYXNzIGFtIE5hY2htaXR0YWcgVHJhdXVuZ2VuIGluIGRlcgpLaXJjaGUgc3RhdHRmaW5kZW4gdW5kIGRhIHdhZXJlbiBNdWRkZXIgbmljaHQgc28gYW5nZWJyYWNodAoodG9ldGUgcHJpZXN0ZXIsIHphcCBicmFldXRpZ2FtIGV0Yy4uLiB3b2xsZW4gd2lyIGluIE1SIApfbmljaHRfIGhhYmVuICpncmlucyopCgpQLlAuUy46IEJlaSBSZWNodHNjaHJlaWJmZWhsZXJuIGthbm4gZXMgc2ljaCBudXIgdW0gClJ1bmR1bmdzZGlmZmVyZW56ZW4gaGFuZGVsbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpULVNoaXJ0cy4uLiAoTGV2LCAxNy4gRmViIDE5OTksIDE4OjI2OjQwKToKCkhpaG8sCgpuYWNoIEF1c2t1bmZ0IHVuc2VyZXMgR08gd2FlaHJlbmQgZGVyIGdlc3RyaWdlbiBUYWd1bmcKZGVzIE9yZ2FuaXNhdGlvbnNrb21pdHRlZXMgc2luZCBub2NoIG5pY2h0IHNlaHIgdmllbGUgCld1ZW5zY2hlL1ZvcnNjaGxhZWdlIGZ1ZXIgVC1TaGlydHMgZWluZ2VnYW5nZW4uLi4gCgpEYSBlcyB0YXRzYWVjaGxpY2ggZWluIHdlbmlnIGRhdWVydCwgYmlzIHNvIFNhY2hlbiAKKFQtU2hpcnQgb2RlciBTY2hhbCkgYmVkcnVja3Qgc2luZCwgYml0dGUgU0NITkVMTCBlaW5lCk1haWwgYW4gJ3NjaGFsJywgd2VubiBEVSBlaW5lbiBTY2hhbC9ULVNoaXJ0IG1vZWNodGVzdC4uCgpBbnNvbnN0ZW4gZXJzcGFydCBpaHIgdW5zIEFyYmVpdCB1bmQgZGFzIHdvbGx0IGlociBkb2NoIApzaWNoZXIgbmljaHQsIG9kZXI/CgpMZXYuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluIHBhYXIgQm9ubW90cy4uLiAoTGV2LCAxNy4gRmViIDE5OTksIDE4OjI5OjE0KToKCkhpaG8uLi4KCmt1cnplciBBdXNzY2huaXR0IGF1cyBkZXIgKGFuc29uc3RlbiBzdXBlci1nZWhlaW1lbikKVGFndW5nIGRlcyBPcmdhbmlzYXRpb25za29taXR0ZXMuIERhcyBUaGVtYSB3YXJlbgpzYW5pdGFlcmUgRWlucmljaHR1bmdlbjoKClg6IEhtbS4uIFp3ZXJnZSBicmF1Y2hlbiBrZWluZSBEdXNjaGVuLiBXZW5uIG1hbiBkaWUKICAgd2Flc2NodCwgdmVybGllcmVuIGRpZSBkb2NoIDIgUnVlc3R1bmdza2xhc3Nlbi4uLi4KWTogQWNoLCB3aXIga29lbm50ZW4gYXVjaCBub2NoIGVpbiBXYXNjaGJlY2tlbiBhbHMgQmFkL0R1c2NoZQogICBmdWVyIEhvYmJpdHMgYXVzd2Vpc2VuLi4uClo6IE5laW4sIGRpZSB2ZXJzdG9wZmVuIGRvY2ggaW1tZXIgc28gZGVuIEFiZmx1c3MuLi4KCkxldi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW4gcGFhciBCb25tb3RzLi4uIChLZXksIDE3LiBGZWIgMTk5OSwgMjA6MjY6MzkpOgp+IyEgcm49TGV2IHJ0PTkxOTI3MjU1NCByZz1wYXJ0eQp+IyEgdGlkPTkxOTI3MjU1NAoqaHVzdCwgaHVzdCoKCkhleSBkYXMgd2FyIGdlaGVpbSEKCkFuc29uc3RlbiBnaWJiZXQgZ2xhdWJlIGljaCBpbSBtb21lbnQgbml4IG5ldWVzIHp1IHZlcm1lbGRlbiB2b24gZGVyIEZyb250LAphdXNzZXIgZGFzIHZvbiBMZXYgYmVyZWl0cyBlcndhZWhudGUgOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFyYnVyZz8gTHVnIHNhZ3Q6IEFBQUFBUlJSUlJHR0dISEhIISAoR2VzYW5kdGVyLCAxOC4gRmViIDE5OTksIDAyOjM2OjE2KToKTW9pbiwKCgphbHNvIGF1cyBFcmZhaHJ1bmcga2FubiBpY2ggc2FnZW46IEt1bHR1ciB1bmQgTWFyYnVyZyB0cmV0ZW4gbnVyIGluCmtvbXBsZW1lbnRhZXJlciBEaXN0cmlidXRpb24gYXVmLiBNYWNodCBFdWNoIGFsc28ga2VpbmUgSG9mZm51bmdlbi4gRXMgaXN0CmVpbmVyIGRlciBsZXR6dGVuIEFiZ3J1ZW5kZSBkZXIgSG9mZm51bmdzbG9zaWdrZWl0LiBVbmQ6IEVzIGlzdCBkZWZpbml0aXYKc3VlZGRldXRzY2ggKEloZ2l0dCEpLiBEZW4gbmF0aW9uYWxrb25zZXJ2YXRpdmVuIGhpZXIgd2llcmQgZGVyIEJlc2N1aCBpbiBkZXIKRS1LaXJjaGUgYmVzb25kZXJzIGdlZmFsbGVuLCBkdWVyZmVuIHNpZSBkb2NoIFRyYWVuY2hlbiBhbiBIaW5kZWJ1cmdzIEdyYWIKdmVyZ2llc3Nlbi4gV2FlcmUgbmV0dCwgd2VubiBkZW0gRWluZW4gb2RlciBBbmRlcmVtIGRlcnNlbGJlbiBlaW5lIFRhdWJlIGF1ZgpkZW4gS29wZiBhYmRydWVja3QuLi4KCk51bmphLCB2aWVsIFNwYXNzIGFsc28uCgpHZXNhbmR0ZXIgdm9uIEx1ZwoKUC5TLjogRGEgTlcgbmljaHQgZmFlaHJ0LCBoYWJ0IElociBlY2h0IEdsdWVjayBnZWhhYnQsIGRlbm4gaWNoIGdsYWVuemUgZHVyY2gKQWJ3ZXNlbmhlaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFyYnVyZz8gTHVnIHNhZ3Q6IEFBQUFBUlJSUlJHR0dISEhIISAoTGV2LCAxOC4gRmViIDE5OTksIDEyOjQzOjM4KToKfiMhIHJuPUdlc2FuZHRlciBydD05MTkzMDE3NzYgcmc9cGFydHkKfiMhIHRpZD05MTkzMDE3NzYKCndpZT8gZHUga29tbXN0IG5pY2h0PyBnYWFhYW56IHNjaHdhY2guLi4gCgpMZXYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaGluZXNlLi4uIChMZXYsIDE4LiBGZWIgMTk5OSwgMTI6NDY6NDgpOgpadW0gVGhlbWEgJ0NoaW5lc2UnLi4uIHdpciBoYWJlbiBiaXMgamV0enQgQW5tZWxkdW5nZW4KZnVlciBzbyBjYS4gMTYgUGVyc29uZW4uLi4gZGFzIGlzdCBhdWNoIGdhbnogbmV0dCwgd2lyCndlcmRlbiB1bnMgbWFsIG5hY2ggZWluZW0gQ2hpbmVzZW4gdW1zY2hhdWVuLi4uIAoKQWFhYWFiYmJlcnIuLiB3ZXIgYXVjaCBub2NoIG1pdG1vZWNodGUsIGRlciBzb2xsdGUKc2ljaCBiaXMgbmFlY2hzdGUgV29jaGUgRG9ubmVyc3RhZywgYWxzbyAyNi4wMi4xOTk5IAplbnRzY2hpZWRlbiBoYWJlbiB1bmQgZGVtIEJlbnV0emVyICdjaGluZXNlJyBlaW4gRW1haWwKenVrb21tZW4gbGFzc2VuLiAKCkFuc29uc3RlbiBzY2hlaW50IGRhcyBTdGltbXVuZ3NiaWxkIHNvIHp1IHNlaW4sIGRhc3MKZXMgYXVjaCB6dW0gJ0NoaW5lc2VuJyB1bmQgbmljaHQgenUgZWluZW0gQ2hpbmVzZW4tRXJzYXR6CmdlaGVuIHNvbGwuLi4gV2lyIHNjaGF1biB1bnMgbWFsIHVtLi4uIAoKSW0gQXVmdHJhZyBkZXMgZ2VoZWltbmlzdm9sbGVuIE9yZ2FuaXNhdGlvbnNrb21pdHRlZXMgaW4KVmVydHJldHVuZyB1bnNlcmVzIHVlYmVybWFlY2h0aWdlbiBHUk9TU0VOIE9SR0FOSVNBVE9SUwoKTGV2LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtU2hpcnQtTW90aXZlLi4uIChTY2hhbCwgMTguIEZlYiAxOTk5LCAxNjo0NDozMyk6CgpIaWhvLAoKZGEgZGllIGdhbnplIFNhY2hlIHdvaGwgYXVmIGVpbiBULVNoaXJ0IGhpbmF1cyAKbGFldWZ0Li4uICh3YXJ1bSBoZWlzc2UgaWNoIHVlYmVyaGF1cHQgJ3NjaGFsJz8pIApoYWJlbiB3aXIgbWFsIGVpbiBwYWFyIEVudHd1ZXJmZSBhdWYgZGllIFdXVy1TZWl0ZW4KZ2VwYWNrdC4gRGllc2UgZXJzdGVuIEVudHd1ZXJmZSBzaW5kIHZvbiBTaGFuZy4gV2VpdGVyZQp3ZXJkZW4gZ2VybmUgYW5nZW5vbW1lbi4uLiAKCkxldHp0ZXIgVGVybWluIGZ1ZXIgVC1TaGlydC1FbnR3dWVyZmUgaXN0IHdpZSAKc28gdmllbGVzIGFuZGVyZSBkZXIgMjYuMDIuMTk5OS4gQml0dGUgbWVsZGV0IEV1Y2gKYmlzIGRhaGluIGF1Y2ggYmVpIG1pciAoJ3NjaGFsJykgZmFsbHMgSWhyIGVpbgpULVNoaXJ0IG1vZWNodGV0IChHcm9lc3NlIG5ldHQgdmVyZ2Vzc2VuLi4uKS4KCkRpc2t1c3Npb25lbiB1ZWJlciBULVNoaXJ0LUVudHd1ZXJmZSBzaW5kIGluIGRlcgpNUEEgZXJ3dWVuc2NodC4uIDopKSkKCkdydXNzLCBzY2hhbC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydC1Nb3RpdmUuLi4gKERpZWRlciwgMTguIEZlYiAxOTk5LCAxNjo1OTowNSk6Cn4jISBybj1TY2hhbCBydD05MTkzNTI2NzMgcmc9cGFydHkKfiMhIHRpZD05MTkzNTI2NzMKaGloaSwgZGVyIGJhYnlkcmFjaGUgaXN0IGphIG5ldHQuLi4gdW5kIGVpbmZhY2ggenUgZHJ1Y2tlbiwgZGEgc2Nod2FyendlaXNzLgoKRGllZGVyLCBnaWJ0IG1hbCBzZWluZSBNZWludW5nIGFiIG9id29obCBlciBsZWlkZXIgbmljaHQga29tbWVuIGthbm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0LU1vdGl2ZS4uLiAoVGVkZHksIDE4LiBGZWIgMTk5OSwgMjI6NTA6MjEpOgp+IyEgcm49U2NoYWwgcnQ9OTE5MzUyNjczIHJnPXBhcnR5Cn4jISB0aWQ9OTE5MzUyNjczCldpZSB3YXIgZGFzIG1pdCBkZW06IEljaCBiaW4gbmljaHQgc3VlY2h0aWcgaWNoIGthbm4gamVkZXJ6ZWl0IGF1ZmhvZXJlbgpUU2hpcnQ/IFN0YW5kIGRvY2ggbGV0enRlcyBtYWwgZGFubiBhdWNoIHp1ciBEaXNrdXNzaW9uLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVC1TaGlydC1Nb3RpdmUuLi4gKExldiwgMTkuIEZlYiAxOTk5LCAwMDoxMzozOSk6Cn4jISBybj1UZWRkeSBydD05MTkzNzQ2MjEgcmc9cGFydHkKfiMhIHRpZD05MTkzNTI2NzMKR3V1dXR0ZSBJZGVlLCBUZWRkeS4uLiB3YWVyZSBuZW4gZ3V0ZXIgVm9yc2NobGFnLi4uCkdpYnRzIGRhenUgaXJnZW5kZWluZSBncmFwaGlzY2hlIEF1c2FyYmVpdHVuZyBvZGVyIGJpc2hlciBudXIKZGVuIFNwcnVjaD8gV2VubiBlcyBub2NoIG5peCBnaWJ0LCB3YWVyZSBlcyBzY2hvZW4sIHdlbm4gCmplbWFuZCBkYXMgaXJnZW5kd2llIGF1c2FyYmVpdGVuIGtvZW5udGUuLi4gOikpKSkKCkxldi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWluIHBhYXIgQm9ubW90cy4uLiAoTW9udGFudXMsIDE5LiBGZWIgMTk5OSwgMDE6MzQ6MzgpOgp+IyEgcm49S2V5IHJ0PTkxOTI3OTU5OSByZz1wYXJ0eQp+IyEgdGlkPTkxOTI3MjU1NAoKWml0YXQvQmV0cmVmZjoKClg6IEhtbS4uIFp3ZXJnZSBicmF1Y2hlbiBrZWluZSBEdXNjaGVuLiBXZW5uIG1hbiBkaWUKICAgd2Flc2NodCwgdmVybGllcmVuIGRpZSBkb2NoIDIgUnVlc3R1bmdza2xhc3Nlbi4uLi4KWTogQWNoLCB3aXIga29lbm50ZW4gYXVjaCBub2NoIGVpbiBXYXNjaGJlY2tlbiBhbHMgQmFkL0R1c2NoZQogICBmdWVyIEhvYmJpdHMgYXVzd2Vpc2VuLi4uCgpXYXIgZGFzIG5pY2h0ICJlaW4gV2FzY2hiZWNrZW4gYWxzIFNjaGxhZmdlbGVnZW5oZWl0IGZ1ZXIga2xlaW5lIEhvYmJpdHMiLApvZGVyIHdhciBkYXMgZGllIGZhbHNjaGUgRmV0ZT8KSmVkZW5mYWxscyB3YXIgZGFzIGdhYWFhbnogaW4gZGVyIE5hZWhlIHZvbiBNYXJidXJnLCBkYSB3bydzIHplcnRyZXRlbmUKU2NobHVlbXBmZSBnaWJ0Li4uCgpnZXJuIGRhcmFuIHp1cnVlY2tkZW5rZW5kCgpNb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmUgUmUgUmUgVC1TaGlydCAoQ2lzb3UsIDE5LiBGZWIgMTk5OSwgMTE6NDE6MzQpOgpEaWVzZSBJZGVlICJJY2ggYmluIG5pY2h0IHN1ZWNodGlnLCBpY2gga2FubiBqZWRlciBaZWl0IGF1ZmhvZXJlbiIgaGF0dGUsCnNvd2VpdCBpY2ggbWljaCBlcmlubmVyZSwgbm9jaCBlaW5lbiBrbGl0emVrbGVpbmVuLCBhYmVyIGZlaW5lbiBadXNhdHogOi0pCk5hZW1saWNoIGF1ZiBkZXIgUnVlY2tzZWl0ZSBpbiBlaW5lbSBkZXplbnRlbiBTY2hyaWZ0enVnOiAiSWNoIGhhYiBudXIgZ2VyYWRlCmtlaW5lIEx1c3QgZGF6dSIKClNvbGx0ZSBzaWNoIGluIGRpZXNlbSBTcHJ1Y2ggamVtYW5kIHdpZWRlcmZpbmRlbiA/ISA6LSkKCkNpc291IC0gZnJldXQgc2ljaCBhdWYgZGllIHphaGxyZWljaGVuIEVudHd1ZXJmZSB1bmQgZGFzIEdlc2ljaHQgZGVzIERydWNrZXJzCjotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlIFJlIFJlIFQtU2hpcnQgKFNoYXJpYSwgMTkuIEZlYiAxOTk5LCAxMjoyOTowNCk6Cn4jISBybj1DaXNvdSBydD05MTk0MjA4OTQgcmc9cGFydHkKfiMhIHRpZD05MTk0MjA4OTQKZnVlciBkYXMgdC1zaGlydCB3YWVyIGljaCBhdWNoIHp1IGhhYmVuCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZSBSZSBSZSBULVNoaXJ0IChKYW1lc29uLCAxOS4gRmViIDE5OTksIDEyOjQ3OjM1KToKfiMhIHJuPUNpc291IHJ0PTkxOTQyMDg5NCByZz1wYXJ0eQp+IyEgdGlkPTkxOTQyMDg5NAouLi5vZGVyIGF1ZiBkYXMgR2VzaWNodCBkZXIgUG9saXplaXN0cmVpZmUsIGRpZSBuaWNodCBzaWNoZXIgaXN0LCBvYgpzaWUgZGVuIEhhdWZlbiBNdWRkZXIgbnVuIHNpY2hlcmhlaXRzaGFsYmVyIG1hbCBlaW5idWNodGVuIHVuZCBhdWYKRHJvZ2Vua29uc3VtIHRlc3RlbiBzb2xsIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZSBSZSBSZSBULVNoaXJ0IChBbmF0b2wsIDE5LiBGZWIgMTk5OSwgMTU6MTE6MzQpOgp+IyEgcm49SmFtZXNvbiBydD05MTk0MjQ4NTUgcmc9cGFydHkKfiMhIHRpZD05MTk0MjA4OTQKSWNoIHd1ZXJkZSBlaW4gZWluZmFjaGVzICJJY2gga2FubiBqZWRlcnplaXQgYXVmaG9lcmVuISIgZWluZW0gCmxhbmdlbiBsYW5nZW4gU3BydWNoIHZvcnppZWhlbi4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlIFJlIFJlIFQtU2hpcnQgKFpvcnJvLCAxOS4gRmViIDE5OTksIDE1OjE5OjQ0KToKfiMhIHJuPUFuYXRvbCBydD05MTk0MzM0OTQgcmc9cGFydHkKfiMhIHRpZD05MTk0MjA4OTQKSGVpc3N0IGRhc3MgbmljaHQgZWhlciAiIHdlbm4gaWNoIHdvbGx0ZSwga29lbm50ZSBpY2ggamVkZXJ6ZWl0IGF1ZmhvZXJ0Li4uCnVuZCBpaHIgbmljaHQgOi0pIgoKWm9ycm8gaGF0IHNjaG9uIGxhZW5nc3QgYXVmZ2Vob2VydCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGluZXNlLi4uIChFbWFpbCwgMTkuIEZlYiAxOTk5LCAyMjoxNjo1NCk6Cn4jISBybj1MZXYgcnQ9OTE5MzM4NDA4IHJnPXBhcnR5Cn4jISB0aWQ9OTE5MzM4NDA4CldlciBzb2xsIG1pY2ggd2VtIHp1a29tbWVuIGxhc3Nlbj8KKnZlcndpcnQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlIFJlIFJlIFQtU2hpcnQgKFdvb2R5LCAyMC4gRmViIDE5OTksIDEzOjU3OjUwKToKfiMhIHJuPVNoYXJpYSBydD05MTk0MjM3NDQgcmc9cGFydHkKfiMhIHRpZD05MTk0MjA4OTQKV3Vzc3RlIGdhciBuaWNodCwgZGFzcyBEdSBzbyBiaWxsaWcgYmlzdCA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZSBSZSBSZSBULVNoaXJ0IChSaWVnZWwsIDIxLiBGZWIgMTk5OSwgMDA6MDA6MDEpOgp+IyEgcm49V29vZHkgcnQ9OTE5NTE1NDcwIHJnPXBhcnR5Cn4jISB0aWQ9OTE5NDIwODk0CkJpbiBkYWdlZ2VuIC4uLiBpY2ggaGFiIGF1ZmdlaG9lcnQgLi4uIGFlaGggLi4uIG9kZXI/CgppLlYuIFJpZWdlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmUgUmUgUmUgVC1TaGlydCAoR29sYXMsIDIxLiBGZWIgMTk5OSwgMTI6Mjk6MzcpOgp+IyEgcm49UmllZ2VsIHJ0PTkxOTU1MTYwMSByZz1wYXJ0eQp+IyEgdGlkPTkxOTQyMDg5NAphbHNvIGdlbmlhbCBmYWVuZCBpY2ggbmUga29tYmluYXRpb24gYXVzIGRlbSBiYWJ5ZHJhY2hlbiB1bmQgZGVtIHNwcnVjaGUgIkljaApLT0VOTlRFIGF1ZiBob2VyZW4hIgoKZ29sYXMgc2ljaCBhbiBzZWluICJtZWluIG5hbWUgaXN0IGtsZW1lbnMuIHNwcmljaCBtaWNoIGFuLiBpY2ggYmluCnNjaHVlY2h0ZXJuIiAtIHRzY2hpcnQgZXJpbm5uZXJuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmUgUmUgUmUgVC1TaGlydCAoVGVkZHksIDIxLiBGZWIgMTk5OSwgMjA6MDg6NTgpOgp+IyEgcm49R29sYXMgcnQ9OTE5NTk2NTc3IHJnPXBhcnR5Cn4jISB0aWQ9OTE5NDIwODk0ClVuZCwgaGF0IGRhcyBULVNoaXJ0IHdhcyBnZW51ZXR6dD8gCgpUZWRkeSwgZnVlaGx0IHNpY2ggc3BvbnRhbiBhbiBzZWluZSAoZmVybmUpIEp1Z2VuZCBlcmlubmVydCBtaXQgU2hpcnRzIHdpZToKSWNoIGhlaXNzZSBTdGVmYW4gdW5kIHdpZSBnZWh0IGRlaW5lIEhvc2UgYXVmPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmUgUmUgUmUgVC1TaGlydCAoR29sYXMsIDIyLiBGZWIgMTk5OSwgMDE6MDU6MzgpOgp+IyEgcm49VGVkZHkgcnQ9OTE5NjI0MTM4IHJnPXBhcnR5Cn4jISB0aWQ9OTE5NDIwODk0Cm5pY2h0IHdpcmtsaWNoLCBpY2ggYWxzIG1hbm4gZmFuZCBlcyBlaGVyIGVyc2NocmVja2VuZCwgZGFzcyBtaWNoIGxlZGlnbGljaAplaW5tYW5uIGRhcmF1ZiBhbmdlc3Byb2NoZW4gdW5kIG5laW4sIGljaCB3YXIgbmljaHQgaW4gZGVyIGJsdXcgb3lzdGVyLWJhciEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUmUgUmUgUmUgVC1TaGlydCAoVGVkZHksIDIyLiBGZWIgMTk5OSwgMDM6MDA6NDEpOgp+IyEgcm49R29sYXMgcnQ9OTE5NjQxOTM4IHJnPXBhcnR5Cn4jISB0aWQ9OTE5NDIwODk0CkhNLCBpY2ggaGF0dGUgZGEgbm9jaCBuZW4gcGVhY2V6ZWljaGVuIGRyYXVmIHVuZCBkdXJmdGUgbWljaCBkYW5uIGF1Zm0gS2xvCmFuc3ByZWNoZW4gbGFzc2VuIG9iIGljaCBldHdhcyBTaGl0IGhhZXR0ZSwgYXVjaCBuaWNodCBzbyBkaWUgRXJmYWhydW5nIDspCgpUZWRkeSwgYmVpIGRlbSBlcyBhdWNoIG5pY2h0IGZ1bmt0aW9uaWVydCBoYXQuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZSBSZSBSZSBULVNoaXJ0IChBcmlhbmEsIDIyLiBGZWIgMTk5OSwgMDc6MjE6MzApOgp+IyEgcm49R29sYXMgcnQ9OTE5NTk2NTc3IHJnPXBhcnR5Cn4jISB0aWQ9OTE5NDIwODk0CnVuZD8gaGF0cyBnZWtsYXBwdD8KCmFyaWFuYSAqc2ljaCB1ZWJlciBtYW5jaGUgbWV0aG9kZW4gZG9jaCBzZWhyIHd1bmRlcm5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmUgUmUgUmUgVC1TaGlydCAoQXJpYW5hLCAyMi4gRmViIDE5OTksIDA3OjIyOjQ4KToKfiMhIHJuPVRlZGR5IHJ0PTkxOTYyNDEzOCByZz1wYXJ0eQp+IyEgdGlkPTkxOTQyMDg5NAoqd2FlbHoqCmljaCBrYW5udGUgZGEgZWhlciAiemVpZyBtaXIgZGVpbnMgdW5kIGljaCB6ZWlnIGRpciBtZWlucyIgKkdHRyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1pdGZhaHJ0IChSaWt1cywgMjMuIEZlYiAxOTk5LCAxMjo0NzoyOCk6CkhpLAplaW5lciBkZXIgRHJlc2RlbmVyIEx1c3QsIGJlaSBtaXIgenVyIFBhcnR5IG1pdHp1ZmFocmVuICh2aWVsbGVpY2h0IEZSCjEzIFVociBhYiBERCk/IEljaCBzY2hlaW5lIGRpZXNtYWwgZGVyIGVpbnppZ2UgQ2hlbW5pdHplciB6dSBzZWluLi4uCgpSaWt1cwoKUFM6IG9iIGljaCBoaW5mYWhyZSBpc3QgbmljaHQgZ2FueiBzaWNoZXIsIGFiZXIgemllbWxpY2ggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0LU1vdGl2ZS4uLiAoUWl0ZXNzLCAyMy4gRmViIDE5OTksIDE3OjA1OjAxKToKfiMhIHJuPVNjaGFsIHJ0PTkxOTM1MjY3MyByZz1wYXJ0eQp+IyEgdGlkPTkxOTM1MjY3MwpKQUpBSkEuIEJBQllEUkFHT04gISEhISEhISEhISEhISEhISEhISEKZGFzIGlzdCBlaW4ga2xhc3NlIG1vdGl2LiAKYW5zb25zdGVuIHZpZWxsZWljaHQgbm9jaCBndWFyZGlhbiwgZGFzIGFiZXIgbnVyIGF1ZiBuZW0gc2Nod2FyemVuIHRzaGlydC4KZGllIGFuZGVyZW4gYmVpZGVuIHNpbmQgc2F1IGRvb2YsIHdlaWwgc2llIG51ciBiaWxkYXVzc2Nobml0dGUgc2luZC4KUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULVNoaXJ0LU1vdGl2ZS4uLiAoR29yb2csIDI0LiBGZWIgMTk5OSwgMDQ6MDQ6NTcpOgp+IyEgcm49UWl0ZXNzIHJ0PTkxOTc4NTkwMSByZz1wYXJ0eQp+IyEgdGlkPTkxOTM1MjY3MwpXYWVyZSBkYSBtZWhyIGZ1ZXIgZWluZW4gc2NobGljaHRlbiBTY2hyaWZ0enVnIG1pdCBvYmlnZXIgQXVzc2FnZS4gZEF1bnRlcgpkYW5uIHNvd2FzIHdpZSBFWC1Hb3JvZyAqZ3JpbnMqCgpHb3JvZywgUHVyaXN0IChnZWh0IGFsbGVzIG9obmUgRlgpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3Rpdi1Wb3JzY2hsYWcgKEdvbGFzLCAyNC4gRmViIDE5OTksIDA5OjMwOjA4KToKaGkgZm9sa3MsCndpZSBzaWVodCBlcyBtaXQgbmVyIEtvbWJpbmF0aW9uIGF1cyBCYWJ5ZHJhY2hlbiB1bmQgZGVtIFN1Y2h0LXNwcnVjaCBhdXMuCkljaCBkZW5rZSBkYSBhbiBlaW5lbiBiZWlkc2VpdGlnZW4gRHJ1Y2suIEljaCB3ZWlzcyBhYmVyIG5pY2h0LCBvYiBkYXMgdGV1cmVyCndpcmQuCkRvY2ggdW0gbWljaCBtYWwgd2llZGVyIHp1IG91dGVuLCBpY2ggd2FlcmUgZWhlciBmdWVyIG5lbiBiZWlkc2VpdGlnZW4gRHJ1Y2sKdW5kIHd1ZXJkZSBkYWZ1ZXIgYXVjaCBuZSBNYXJrIG1laHIgemFobGVuLgoKR29sYXMgbmljaHQgd2lya2xpY2ggaW4gR2VsZCBzY2h3aW1tZW5kIC4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vdGl2LVZvcnNjaGxhZyAoQW5hdG9sLCAyNC4gRmViIDE5OTksIDExOjIwOjE5KToKfiMhIHJuPUdvbGFzIHJ0PTkxOTg0NTAwOCByZz1wYXJ0eQp+IyEgdGlkPTkxOTg0NTAwOApSb2NodXMgaGF0IGRhcyBULVNoaXJ0LU1vdGl2IGJlcmVpdHMgZGFoaW5nZWhlbmQgYmVhcmJlaXRldC4uLiBvYmVuCmVpbiAiTW9yZ2VuR3JhdWVuIiwgZGFubiBkYXMgdmVyYWVyZ2VydCBzY2hhdWVuZGUgRHJhY2hlbmJhYnksIGRhbm4gZWluCiJJY2gga29lbm50ZSBqZWRlcnplaXQgYXVmaG9lcmVuIi4gRXIgZXJ3YWVobnRlIGF1Y2ggZGllIEFkcmVzc2UgaW0gV2ViLAp1bnRlciBkZXIgZGFzIE1vdGl2IHp1IGZpbmRlbiBpc3QsIGljaCB2ZXJnYXNzIGFiZXIsIHNpZSBtaXIgenUgbm90aWVyZW4uCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmlubmVydW5nLi4uIChMZXYsIDI0LiBGZWIgMTk5OSwgMTY6MjE6NDkpOgpIaWhvLi4uCgppY2ggbW9lY2h0ZSBFdWNoIG5vY2ggZWlubWFsIGt1cnogYW4gZGllIHVuc2VyZSBBbm1lbGRlZnJpc3RlbgplcmlubmVybi4uIDopCiAqIER1IHdpbGxzdCB6dW0gQ2hpbmVzZW4gYW0gU29ubnRhZz8gbWFpbCBhbiAnY2hpbmVzZScKICogRHUgd2lsbHN0IGVpbiBULVNIaXJ0PyBtYWlsIGFuICdzY2hhbCcgbWl0IEFuZ2FiZSBkZXIgCiAgIEdyb2Vzc2UuCiAqIER1IHdpbGxzdCBhbSBTYW1zdGFnIHVtIDEwLjMwIGVpbmUgRnVlaHJ1bmcgZHVyY2ggZGllIAogICBFbGlzYWJldGhraXJjaGUgbWl0bWFjaGVuPyBNYWlsIGFuIG1pY2guCgpVbmQgZGllcyBhbGxlcyBtYWNoc3QgRHUgYmlzIG1vcmdlbiAuLi4gc2FnZW4gd2lyIG1vcmdlbiBtaXR0YWcuCgpOb2NobWFsIHp1bSBULVNoaXJ0LU1vdGl2Li4gU2VoZSBpY2ggZGFzIHNvIGluIGV0d2EgCnJpY2h0aWcsIGRhc3MgZGVyIEVudHd1cmYgbWl0IGRlbSBCYWJ5ZHJhY2hlbiB1bmQgCmRlbSBTcHJ1Y2ggZGFydW50ZXIgaW0gTW9tZW50IGZhdm9yaXNpZXJ0IHdpcmQ/CgpHcnVzcywgTGV2LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWxzbyBiYWJ5ZHJhY2hlIGlzIGd1dCBhYmVyIHNwcnVjaCBpc3QgZG9jaCB3b2hsIGRvb2YuIChRaXRlc3MsIDI0LiBGZWIgMTk5OSwgMTY6Mjc6MDUpOgp+IyEgcm49TGV2IHJ0PTkxOTg2OTcwOSByZz1wYXJ0eQp+IyEgdGlkPTkxOTg2OTcwOQptZWluZSBtZWludW5nLiAKUUkqKiB3aWxsIGxpZWJlciBlaW4gdC1zaGlydCBvaG5lIGJsb2VkZSBzcHJ1ZWNoZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhbHNvIGJhYnlkcmFjaGUgaXMgZ3V0IGFiZXIgc3BydWNoIGlzdCBkb2NoIHdvaGwgZG9vZi4gKFBhdHJ5biwgMjQuIEZlYiAxOTk5LCAxNjo1NDozNCk6Cn4jISBybj1RaXRlc3MgcnQ9OTE5ODcwMDI1IHJnPXBhcnR5Cn4jISB0aWQ9OTE5ODY5NzA5CndlaXNzZSB0LXNoaXJ0cyBnaWJ0cyBiZWkgYWxkaSBndWVuc3RpZyBpbSAxMGVyLXBhY2suCmRhcyBicmF1Y2hzdCBkdSBuaWNodCB1ZWJlcnMgbXVkIHp1IGthdWZlbi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTW90aXYtVm9yc2NobGFnIChPcmt0b2V0ZXIsIDI0LiBGZWIgMTk5OSwgMTc6Mjk6NDApOgp+IyEgcm49QW5hdG9sIHJ0PTkxOTg1MTYxOSByZz1wYXJ0eQp+IyEgdGlkPTkxOTg0NTAwOApIbW0gd2FlcmUgZG9jaCBuZXR0LCB3ZW5uIGF1Y2ggZGllIEFkcmVzc2UgZGVzIE1HIG1hbCB3aWVkZXIgYXVmdGF1Y2hlbgp3dWVyZGUuLi4KCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFsc28gYmFieWRyYWNoZSBpcyBndXQgYWJlciBzcHJ1Y2ggaXN0IGRvY2ggd29obCBkb29mLiAoS2V5LCAyNC4gRmViIDE5OTksIDE5OjI3OjU3KToKfiMhIHJuPVFpdGVzcyBydD05MTk4NzAwMjUgcmc9cGFydHkKfiMhIHRpZD05MTk4Njk3MDkKRGVpbmUgV29ydGUgc2luZCB1bnMgQmVmZWhsLCB3aXIgbWFjaGVuIG5hdHVlcmxpY2ggbnVyIHdhcyB1bnNlcmVyIGdvZXR0bGljaGVuClF1aXRlc3MgMTAwJSB6dXNhZ3QuCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtU2hpcnRtb3RpdmUgKExhcmlzc2EsIDI0LiBGZWIgMTk5OSwgMjA6MjY6NDcpOgpBbHNvLAoKaWNoIGhhZXR0IGdlcm4gZGVuIFNwcnVjaCAyIG1pdCBkZW0gbWdsb2dvMyBkcnVudGVyCnVuZCB6d2FyIGF1ZiBkZW0gUnVlY2tlbnRlaWwgYXVmZ2VkcnVja3QuCgpMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1TaGlydCAoS2V5LCAyNS4gRmViIDE5OTksIDExOjA4OjMzKToKSHVodSA6KQoKSG1tIHdlbm4gaWNoIG1hbCB3YXMgenVtIFQtU2hpcnQgc2FnZW4gZGFyZjoKSWNoIGJpbiBmdWVyIGJhYnlfZHJhZ29uMyAuLi4uIE51ciBsZWlkZXIgZmVobHQgZGEgbm9jaCBkZXIgU2F0eiAiSWNoIHdpbGwgbnVyCm5pY2h0IiBmdWVyIGRpZSBSdWVja3NlaXRlIGRlcyBTaGlydHMuCk11ZXNzdGUgd2lzc2VuIHdlbGNoZSBTY2hyaWZ0YXJ0IGRhcyBpc3QgOikKCktleQoKUC5TLjogSG1tIG1hbiBob2VydCBpbiBsZXR6dGVyIFplaXQgdm9uIEdlcnVlY2h0ZW4sIGRpZSBiZXNhZ2VuIGRhcyBnZXdpc3NlCkxldXRlIGRpZSBQYXJ0eSBkYXp1IG51dHplbiB3b2xsZW4gZnVlciBzY2hsZWNodGUgU3RpbW11bmcgenUgc29yZ2VuIC4uLi4KSXJnZW5kZWluIEdlbXVybWVsIHVlYmVyIGlyZ2VuZHdlbGNoZSBULVNoaXJ0cyBtaXQgc2VsdHNhbW4gYXVmc2NocmlmdGVuIC4uLi4KCk51ciBlaW4gVGlwIC4uLi4gd2VyIHNjaGxlY2h0ZSBTdGltbXVuZyBtYWNoZW4gd2lsbCBkYXJmIGRpZXMgZ2VybmUgdHVuLCBXaXIKaGFiZW4gaGllciBpbiBNYXJidXJnIGdlbnVnIE1vZWdsaWNoa2VpdGVuIHdvIHNpY2ggTGV1dGUgbmFjaCBoZXJ6ZW5zbHVzdAphdXNsZWJlbiBrb2VubmVuLCBhYmVyIHdvaGwga2F1bSBhdWYgZGVyIFBhcnR5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtU2hpcnQgKEtleSwgMjUuIEZlYiAxOTk5LCAxMTozNjozMik6Cn4jISBybj1LZXkgcnQ9OTE5OTM3MzEzIHJnPXBhcnR5Cn4jISB0aWQ9OTE5OTM3MzEzCkFlaCB3aWUgaWNoIGdlcmFkZSBzZWhlIG11c3MgYW0gYmVzdGVuIGhldXRlIG5vY2ggZW50c2NoaWVkZW4gd2VyZGVuIHdlbGNoZXMKTW90aXYsIHVuZCBiaXMgbW9yZ2VuIGRpZSBsZXR6dGVuIEFubWVsZHVuZ2VuLgoKQWxzbyBsb3MgbG9zIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYWxzbyBiYWJ5ZHJhY2hlIGlzIGd1dCBhYmVyIHNwcnVjaCBpc3QgZG9jaCB3b2hsIGRvb2YuIChRaXRlc3MsIDI1LiBGZWIgMTk5OSwgMTQ6MDQ6NDEpOgp+IyEgcm49S2V5IHJ0PTkxOTg4MDg3NyByZz1wYXJ0eQp+IyEgdGlkPTkxOTg2OTcwOQplcyB3dXJkZSBhdXNkcnVlY2tsaWNoIGVpbmUgZGlza3Vzc2lvbiB1ZWJlciB0c2hpcnQtZW50d3VlcmZlIGVyd2FydGV0LiBsZWlkZXIKbGFlc3N0IGRlaW4gYXJ0aWtlbCBrZWluZW4gZGV1dGxpY2hlbiB1bmQgc2FjaGxpY2hlbiBkaXNrdXNzaW9uc2JlenVnIGVyYWhuZW4uCgpRSSoqIGlzdCBuaWNodCBnb2V0dGxpY2ggdW5kIGtvdHp0IGtleSBqZXR6dCBlbmRsaWNoIG1hbCB1ZWJlciBkaWUgc2NodWhlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtU2hpcnQgKFJvY2h1cywgMjUuIEZlYiAxOTk5LCAxNjo0Mzo0MSk6Cn4jISBybj1LZXkgcnQ9OTE5OTM3MzEzIHJnPXBhcnR5Cn4jISB0aWQ9OTE5OTM3MzEzCkNvdXJpZXIoNTAgUGl4ZWwpLCBTcHJlYWQoNCBIb3IsIDcgVmVydCksIEdhdXNzIEJsdXJyIElJUigzKSwgVGhyZXNob2xkKDEyOCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVC1TaGlydCAoQW5hdG9sLCAyNS4gRmViIDE5OTksIDIwOjM1OjEzKToKfiMhIHJuPVJvY2h1cyBydD05MTk5NTc0MjEgcmc9cGFydHkKfiMhIHRpZD05MTk5MzczMTMKRWlnZW50bGljaCBmYW5kIGljaCBkZW4gU3BydWNoIHNvLCB3aWUgZXIgaXN0LCBzY2hvbiBvay4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkthcnRvZmZlbGJpbGQgKEF1Z3JhLCAyNS4gRmViIDE5OTksIDIxOjEzOjI0KToKCldvIGlzdCBlaWdlbnRsaWNoIGRhcyBuZXR0ZSBNb3RpdiB2b24gS2FydG9mZmVsIGFiZ2VibGllYmVuLCBkYXMgZmFuZCBpY2gKbGV0enRlc21hbCBzY2hvbiBrbGFzc2UuIAoKRGVyIEJhYnlkcmFjaGUgaXN0IHp1IG5pZWRsaWNoLCBhdWYgU2NocmlmdHp1ZWdlIGluIFBpbmsgdW5kIExpbGEgc3RlaCBpY2ggbnVuCmFic29sdXQgbmljaHQsIHVuZCBkaWUgRHJhY2hlbmJpbGRlciBzaW5kIGphIGdhbnogbmV0dCwgYWJlciB3b2hsIGRvY2ggd2llZGVyCmdla2xhdXRlIE1vdGl2ZS4KCkF1Z3JhLCBtYWcgc2xlYnN0Z2VtYWx0ZXMgdW5kIHNvbnN0IG5peC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBzc3NzdC4uLi4gKExldiwgMjUuIEZlYiAxOTk5LCAyMzozNzozMCk6CgpXaWUgZ2V3b2VobmxpY2ggd2FjaHRlIGljaCBlaW5tYWwgd2llZGVyIGluIG1laW5lbSBzY2hvZW5lbiBTZWhlcmhhdXMKYXVmIGVpbmVyIGZlcm5lbiBJbnNlbCBhdWYuIERvY2ggZGEgd2FyIGV0d2FzIGFuZGVycy4gRWluIHZlcmdpbGJ0ZXIKWmV0dGVsIGhpbmcgYW4gZGVyIFR1ZXIuIERpZSBTZWVsdWZ0IGhhdHRlIGlobSBkb2NoIHNjaG9uIGV0d2FzIHp1CnNjaGFmZmVuIGdlbWFjaHQuIEF1ZiBqZWRlbiBGYWxsIHdhciBkZXIgVGV4dCBzZWhyIHJhZXRzZWxoYWZ0LiBJY2gKd3VyZGUgenUgZWluZW0gZ2VoZWltZW4ga29uc3BpcmF0aXZlbiBUcmVmZmVuIGluIGVpbmVyIFN0YWR0IG5hbWVucwpNYXJidXJnIGdlcnVmZW4uCgpTbyBtYWNodGUgaWNoIG1pY2ggbnVuIGhldXRlIEFiZW5kIGF1ZiB1bmQgc3VjaHRlIGRpZXNlcyBNYXJidXJnLiAKTmFjaGRlbSBpY2ggbWVpbiBUcmFuc3BvcnRtaXR0ZWwgKGRpZXNlIGJsZWNoZXJuZW4gU2NobGFjaHRyb2Vzc2VyCnZvbiBlaW5lbSBTY2htaWVkIG5hbWVucyBPcGVsIGxlYmVuIGhvY2gpIGluIGVpbmUgU2VpdGVuZ2Fzc2UKZ2VzdGVsbHQgaGF0dGUsIHN1Y2hlIGljaCBudW4gZGFzIGdlaGVpbW5pc3ZvbGxlIEhhdXMsIGluIGRhcyAKaWNoIGtvbW1lbiBzb2xsdGUuIE51ciBtaXQgTXVlaGVuIGtvbm50ZSBpY2ggZXMgZmluZGVuLiBJY2ggCmFjaHRldGUgYXVjaCBzdGFyayBkYXJhdWYsIGRhc3MgbmljaHQgaXJnZW5kd2VsY2hlIFNjaGVyZ2VuIHZlcnN1Y2h0ZW4sCm1pY2ggenUgdmVyZm9sZ2VuLCB1bSBkaWVzZW0gZ2VoZWltbmlzdm9sbGVuIFRyZWZmZW4gYmVpenV3b2huZW4uCgpJY2ggYmV0cmF0IGFsc28gZGFzIEhhdXMgdW5kIHd1cmRlIGRvcnQgdm9uIGVpbmVtIG1pciBiZWthbm50ZW4KR2VzaWNodCBlcndhcnRldC4gR2VtZWluc2FtIGRyYW5nZW4gd2lyIGluIGVpbmVuIGxlaWNodCBhYmdlZHVua2VsdGVuClJhdW0gdm9yLCBpbiBkZW0gc2Nob24gZWluaWdlIG1pciBiZWthbm50ZSBBYmVudGV1cmVyIHp1c2FtbWVnZWthdWVydAp6dXNhbW1lbnNhc3Nlbi4gCgpJY2ggZXJrYW5udGUgZGllIE1pdGdsaWVkZXIgZGVzIE9yZ2FuaXNhdGlvbnNrb21taXRlZXMuIEFiZXIgaXJnZW5kZXR3YXMKZmVobHRlLiBEYW5uLCBwbG9ldHpsaWNoIGR1cmNoZHJhbmcgbWljaCBlaW4gc2NocmlsbGVyIExhdXQuIEdlc3Bhbm50CnNjaGF1dGUgaWNoIGF1ZiBkaWUgVHVlcmUuLi4gUGxvZXR6bGljaCB3dXJkZSBlcyBlaW4gd2VuaWcga2FlbHRlciAKaW4gZGllc2VtIFJhdW0uLi4gZGFzIExpY2h0IHZlcnNjaHdhbmQgZmFzdCB2b2VsbGlnIHVuZCBwbG9ldHpsaWNoIApzdGFuZCBlciB2b3IgdW5zOiB1bnNlciBHUk9TU0VSIE9SR0FOSVNBVE9SLi4uIEtleS4KCkhvY2hlcmZyZXV0IGlobiB3aWVkZXJ6dWhhYmVuLCBtYWNodGVuIHdpciB1bnMgZGFyYW4sIHdlaXRlcmUgRGV0YWlscwpkZXIgTW9yZ2VuR3JhdWVuLVBhcnR5IHp1IHBsYW5lbi4gVWViZXIgZGVuIFZlcmxhdWYgZGVzIEdlc3ByYWVjaGVzCmthbm4gaWNoIEV1Y2ggbGVpZGVyIGtlaW5lbiBCZXJpY2h0IG1hY2hlbiwgZGVubiBkYXMgd2FyZW4gaG9jaGdlaGVpbWUKdW5kIGdhbnogZnVlcmNodGVybGljaCBlcm5zdGUgR2VzcHJhZWNoZS4gTnVyIGVpbmVzLCBkZXIgR1JPU1NFIE9SR0FOSVNBVE9SCnJ1ZWd0ZSBtaWNoIGdhbnogZnVlcmNodGVybGljaCwgZGFzcyBpY2ggR2VoZWltbmlzc2UgZGVzIGxldHp0ZW4gVHJlZmZlbnMKbGVpY2h0ZmVydGlnIGRlciBPZWZmZW50bGljaGtlaXQgcHJlaXNnYWIuIAoKTnVuLCBlcyB3dXJkZW4gZWluaWdlIHdpY2h0aWdlIERpbmdlIGJlc3Byb2NoZW4uIFdpciB3dXJkZW4gdm9yenVlZ2xpY2gKbWl0IEdldHJhZW5rZW4gdW5kIFNwZWlzZW4gdmVyc29yZ3QgKHZpZWxlbiBEYW5rIGFuIGRpZSBHYXN0Z2ViZXIsIGRpZSAKaWNoIGxlaWRlciBuaWNodCBlcndhZWhuZW4gZGFyZiAoZXMga29lbm50ZSBqYSBqZW1hbmQgYXVmIGRlbiBPcnQKc2NobGllc3NlbikpLgoKQXVmIGplZGVuIEZhbGwgZGV1dGV0ZSBwbG9ldHpsaWNoIHVuc2VyIEdST1NTRVIgT1JHQU5JU0FUT1IgYXVmIG1pY2ghIApJY2ggZXJzY2hyYWsgZmFzdCB6dSBUb2RlLi4uIGRhbm4gZW50a2FtIHVuZCBLcmFlY2h6ZW4gdW5kIEh1c3RlbiBlaW4gCkJlZmVobCBhdXMgZGVzIEdPcyBNdW5kOiBTY2hyZWliZSBkaWUgd2ljaHRpZ3N0ZW4gRGluZ2UgZGllc2VzIFRyZWZmZW5zCmF1ZiB1bmQgcGFja2Ugc2llIGluIGVpbmVuIEFydGlrZWwhCgpUaWVmIHZlcmJldWdlbmQgbm90aWVydGUgaWNoIGRpZXNlbiBXdW5zY2ggaW4gbWVpbmVtIE5vdGl6YnVjaCAoSWhyIHdpc3N0IApzY2hvbiwgS2FlbXBmZXIgbWl0IGlocmVuIEludGVsbGlnZW56d2VydGVuIHNvbGx0ZW4gc2ljaCBhbGxlcyBhdWZzY2hyZWliZW4uKQoKTnVuLCBkYSBkYXMgVm9yd29ydCBkb2NoIGV0d2FzIGxhZW5nZSBhbHMgZ2VwbGFudCB3dXJkZS4uLiBmb2xnZW4gCmRpZSB3aWNodGlnZW4gSW5mb3MgaW4gZWluZW0gd2VpdGVyZW4gQXJ0aWtlbC4uLiB1bmQgZG9ydCBzY2hvZW4Ka29tcGFrdCB6dXNhbW1lbmdlZmFzc3QuCgoKR3J1c3MsIExldi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluZm9ybWF0aW9uZW4uLi4gKExldiwgMjYuIEZlYiAxOTk5LCAwMDoxNzoyNSk6CgpIb2VyZXQgSWhyIGFsbGUuLi4uCgpuYWNoIHJlaWZsaWNoZXIgVWViZXJsZWd1bmcgbW9lY2h0ZW4gd2lyLCB2b20KTWFyYnVyZy1Nb3JnZW5HcmF1ZW4tUGFydHktT3JnYW5pc2F0aW9ucy1Lb21taXRlZSAKRXVjaCBhbiBlaW5pZ2VuIHVuc2VyZXIgVWViZXJsZWd1bmdlbiB0ZWlsaGFiZW4gbGFzc2VuLgoKS29tbWVuIHdpciB6dSBlaW5lciBnYWFhbnogd2ljaHRpZ2VuIFNhY2hlOiBEYXMgVC1TaGlydC4KU28sIHdpZSBkaWUgQW5tZWxkdW5nZW4gZ2Vrb21tZW4gc2luZCAoVGFkZWwgYW4gZGllLCBkaWUKc2ljaCBlcnN0IGhldXRlIG5hY2htaXR0YWcgZ2VtZWxkZXQgaGFiZW4gOikpKSkpLCBzY2hlaW50CmRpZSBNZWhyaGVpdCBkYXMgTW90aXYgbWl0IGRlbSBCYWJ5ZHJhY2hlbiB6dXNhbW1lbiBtaXQKZGVtIFNwcnVjaCB6dSBiZXZvcnp1Z2VuLiBEaWUgTWVocmhlaXQgaW50ZXJlc3NpZXJ0IHVucyAKbmF0dWVybGljaCBfdWViZXJoYXVwdF8gbmljaHQgdW5kIGRlc2hhbGIgaGFiZW4gd2lyIAplbnRzY2hpZWRlbjogQXVmIGRhcyBULVNoaXJ0IGtvbW10IGRhcyBEcmFjaGVuYmFieQptaXQgZGVtIFNwcnVjaCAoYmVpZGVzIGluIGIvdykuIFNvLCBkYXMgaGFidCBpaHIgbnVuCmRhdm9uISBXZXIgbnVuIG5vY2ggdW1iZXN0ZWxsZW4gbW9lY2h0ZSwgb2RlciBzaWNoIG5vY2gKZW50c2NoaWVkZW4gaGF0LCBkb2NoIGVpbiBULVNoaXJ0IHp1IGJlc3RlbGxlbiwgZXMgZ2lidCAKbnVuIG5vY2ggZWluZSBOYWNoZnJpc3QgYmlzdCBNb250YWcsIDEuIE1hZXJ6IDE5OTkuIApBYmVyIHdpc3NldCwgZGFzcyBJaHIgdW5zIGRhbWl0IE11ZWhlIG1hY2h0Li4uIHVuZCB3aXNzZXQKYXVjaCwgZGFzcyBLZXkgc2Nob24gbWFsIGVpbiBwYWFyIENoYW9zYmFlbGxlIGZ1ZXIgaXJnZW5kd2VsY2hlClNvbmRlcnd1ZW5zY2hlIGJlcmVpdGxlZ3QuCgpOb2NoIHdhcyB6dW0gVC1TaGlydDogU293ZWl0IGVzIGJlaSBkZW4gQmVzdGVsbHVuZ2VuClVua2xhcmhlaXRlbiBnYWIsIHZlcnN1Y2hlbiB3aXIgZGllIHp1IGtsYWVyZW4gKHdhcyBtYW5jaGUKTGV1dGUgc28gZnVlciBlaW4gRGV1dHNjaCBkcmF1ZiBoYWJlbi4uLiB0c3RzdHMuLiA6KSkpKSkpLgpEYXMgZ2FuemUgS3JlbXBlbCB3aXJkIGFsbGVyIFZvcmF1c3NpY2h0IG5hY2ggMjAsMDAgRE0ga29zdGVuLgoKTmFlY2hzdGVyIFB1bmt0OiBWaWVsZW4gRGFuayBmdWVyIGRpZSB6YWhscmVpY2hlbiBBbm1lbGR1bmdlbgp6dW0gQ2hpbmVzZW4uIFdpciBoYWJlbiBlaW4gbmV0dGVzIExva2FsIGF1c2dlc3VjaHQuIExlaWRlcgp3b2xsZW4va29lbm5lbiBkaWUga2VpbiBCdWZmZXQgbWFjaGVuLi4uIHdpciBtdWVzc2VuIGFsc28gbmFjaApLYXJ0ZSBlc3Nlbi4uLiBpcyBhYmVyIHdvaGwgYXVjaCBrZWluIFByb2JsZW0uLiA6KSBXZXIgbm9jaAprdXJ6ZnJpc3RpZyB0ZWlsbmVobWVuIG1vZWNodGUsIGRlciBkYXJmIHNpY2ggbWl0IGVpbmVyCmJpdHRlbmRlbiAodW5kIGZyZXVuZGxpY2hlbiEpIE1haWwgYW4gdW5zZXIgT0stTWl0Z2xpZWQgJ0Npc291Jwp3ZW5kZW4uIFdpcmQgZGllc2VyIFdlZyBuaWNodCBlaW5nZWhhbHRlbiwgd2VyZGVuIHdpcgpldHdhaWdlIFd1ZW5zY2hlbiBhYnNjaG1ldHRlcm4uIDopKSkKCk51biBrb21tZSBpY2ggbm9jaCB6dSBlaW5lciB1bmFuZ2VuZWhtZW4gUGZsaWNodC4gVW5zZXIKR1JPU1NFUiBPUkdBTklTQVRPUiBLZXkgaGF0IG1pY2ggaW4gS2VubnRuaXMgZ2VzZXR6dCwgZGFzcwplcnN0IHdlbmlnZSBkZW4gV2VnIHp1IGVpbmVyIEJhbmtmaWxpYWxlIGdlZnVuZGVuIGhhYmVuLAp1bSBkZW4gUGFydHliZWl0cmFnIHp1IGJlemFobGVuLiBEYXp1IGlzdCB6dSBzYWdlbjoKU08gR0VIVCdTIE5BVFVFUkxJQ0ggTklDSFQhIEFMU08gUlVDSy1aVUNLIFdJUkQgRElFIApLT0hMRSBVRUJFUldJRVNFTiwgSVNUIERBUyBLTEFSPyBBTHNvLCBzYWdlbiB3aXIgbWFsIApiaXMgRGllbnN0YWcuIApWZXJzYWV1bW5pc3NlIGJlaW0gUGFydHliZWl0cmFnIHdlcmRlbiBnYW56IGFyZyBnZWFobmRldC4uLgooS2V5LCB1ZWJlcm5laG1lbiBTaWUhKQoKU293ZWl0IGdydWVzZSBpY2ggRXVjaCBnYW56IGhlcnpsaWNoCgppbSBOYW1lbiBkZXMgT0sgJ01HLVdpbnRlci1QYXJ0eS1NQVJCVVJHJwp1bmQgbmF0dWVybGljaCBpbSBOYW1lbiB1bnNlcmUgR1JPU1NFTiBPUkdBTklTQVRPUlMgS2V5CgpMZXYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgd2FzIHVud2ljaHRpZ2VzLi4uIDopKSkgKExldiwgMjYuIEZlYiAxOTk5LCAwMDozNDoyOCk6CgpOdXIgc28genVyIEluZm9ybWF0aW9uOiBJY2ggYmluIHZvbSAyNi4wMiBiaXMgMDYuMDMuIAptaXQgZGVyIFVuaSB3ZWcuIEQuaC4gYWxsZSBBbmZyYWdlbi9XdWVuc2NoZS9BbnJlZ3VuZ2VuIGV0Yy4gCmJpdHRlIGFuIEtleS4uLiA6KSkpCgoqbGFlY2hlbCBLZXkqCgpMZXYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVZWJlcm5hY2h0dW5nIChLZXksIDI3LiBGZWIgMTk5OSwgMjM6NDQ6MjUpOgpBZWhtIC4uLi4KV2llIG1pciB6dSBPaHJlbiBrYW0gd29sbGVuIGVpbiBwYWFyIGluIGVpbmVtIGJpbGxpZ2VuIEhvdGVsIHVlYmVybmFjaHRlbiAuLi4KCktvZW5udGVuIGRpZXNlIHNpY2ggYml0dGUgbW9lZ2xpY2hzdCBiYWxkIGJlaSBtaXIgbWVsZGVuPwoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVWViZXJuYWNodHVuZyAoVGVkZHksIDI4LiBGZWIgMTk5OSwgMTM6MDE6NDYpOgp+IyEgcm49S2V5IHJ0PTkyMDE1NTQ2NSByZz1wYXJ0eQp+IyEgdGlkPTkyMDE1NTQ2NQpTdHVuZGVuaG90ZWw/CgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1TaGlydHMgKFNjaGFsLCAgMi4gTWFyIDE5OTksIDEyOjA0OjUwKToKTnVyIHp1ciBFcmlubmVydW5nOgoKSWNoIGthbm4gbGVpZGVyIGtlaW5lIEJlc3RlbGx1bmdlbiBtZWhyIGFubmVobWVuLgoKU2NoYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0cyAoR3JpbW1ib3JuLCAgMi4gTWFyIDE5OTksIDE4OjA1OjUwKToKfiMhIHJuPVNjaGFsIHJ0PTkyMDM3MjY5MCByZz1wYXJ0eQp+IyEgdGlkPTkyMDM3MjY5MApWZXJzYWdlci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSXJnZW5kd2llLCBpcmdlbmR3bywgaXJnZW5kd2Fubi4uLiAoS2FydG9mZmVsLCAgMy4gTWFyIDE5OTksIDAwOjUzOjAyKToKCkhtbW0sIGhhdCBkZXIgUGFydHlyYXVtIHp1ZmFlbGxpZ2Vyd2Vpc2UgYXVjaCB3YXMgd2FzIFJpY2h0dW5nIFRhbnpmbGFlY2hlCmdlaHQ/PwoKJ1RvZmZlbCAtIHNpbmd0ICJ2b2VsbGlnIGxvc2dlbG9lc3QsIHZvbiBkZXIgRXJkZSAuLi4iCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSXJnZW5kd2llLCBpcmdlbmR3bywgaXJnZW5kd2Fubi4uLiAoS2V5LCAgMy4gTWFyIDE5OTksIDEzOjQ5OjIzKToKfiMhIHJuPUthcnRvZmZlbCBydD05MjA0MTg3ODIgcmc9cGFydHkKfiMhIHRpZD05MjA0MTg3ODIKS2xhcmVzIG5laW4uCgpTb3JyeQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMZXR6dGUgV2FybnVuZyB1bmQgZGVyIGdhbnplIFJlc3QgOykgKEtleSwgIDMuIE1hciAxOTk5LCAxNDo0NToxMik6ClNvIExldXRzLCBlcyB3aXJkIFplaXQgZGFzIGlociBldXJlIFNvY2tlbiBhbnppZWh0IHVuZCB6dXIgQmFuayBsYXRzY2h0IDopClNQQUVURVNURU5TIHNvbGx0ZXQgaWhyIGRhcyBiaXMgTW9udGFnIGhpbnRlciBldWNoIGdlYnJhY2h0IGhhYmVuLgpBbGxlIGRpZSBiaXMgTWl0dHdvY2ggbmV0IGF1ZiBkZW0gS29udG8gdmVybWVya3Qgc2luZCwgemFobGVuIEFiZW5ka2Fzc2UuCgpTbyBkYW5uIG5vY2ggd2FzIGFuZGVyZXMgLi4uCkRlciBQYXJrcGxhdHogenUgZGVtIGRpZSBXZWdiZXNjaHJlaWJ1bmcgZnVlaHJ0IGlzdCBsZWlkZXIgZ2VzcGVycnQgd2VnZW4KSG9jaHdhc3NlciA6KApJaHIgbXVlc3N0IGV1Y2ggaW4gZGVyIFVtZ2VidW5nIGRlciBIYWxsZSBkYW5uIG1hbCBuYWNoIG5lbSBnZWVpZ25ldGVuCkFic3RlbGxwbGF0eiB1bXNlaGVuLgpGdWVyIFNhbXN0YWcgYWIgMTI6MzAgZ2VodCBlcyB3ZWlsIHdpciBkYSBkaWUgUGFya3BsYWV0emUgdm9uIDIgU2NodWxlbgptaXRiZW51dHplbiBrb2VubmVuLgpGdWVyIGRpZSBkaWUgRnJlaXRhZyBlaW50cnVkZW4gd2lyZHMgbmVuIGJpc3Nlcmwgc2Nod2VyZXIsIGFiZXIgbmV0IHVubW9lZ2xpY2gKOikKCkFjaGphIC4uLiBub2NoIGVpbnMgLi4uLgpBYiBGcmVpdGFnIDE4OjAwIHNvbGx0ZSBkaWUgSGFsbGUgZ2VvZWZmbmV0IHNlaW4uCkRlbiBnZXNhbXRlbiBTYW1zdGFnIGlzdCBkYSBhdWNoIHdlciBhbnp1dHJlZmZlbiBmdWVyIGRpZSBkaWUgZGFubiBlcnN0CmtvbW1lbi4KQWxsZXJkaW5ncyBudXIgYmlzIGNhIDE4OjAwIG9kZXIgMTk6MDAgLi4uLiBkYW5hY2ggc2luZCB3aXIgYW4gZGVtIFBhcnR5cmF1bS4KWnUgZnV0dGVybiBnaWJiZXQgZGEgYWIgMjA6MDAgLi4uLiB3ZXIgenUgc3BhZXQga29tbXQgZGVuIGJlc3RyYWZ0IGRhcyBMZWJlbgo6KQoKRnJlaXRhZyBhYmVuZCBkYXMgVHJlZmZlbiBmaW5kZXQgaW4gZWluZW0gTG9rYWwgbmFtZW5zIEF1ZmxhdWYgc3RhdHQsIHdlcgpkaXJla3QgZGFoaW4gd2lsbCBvaGVuIFVtd2VnIHVlYmVyIGRpZSBIYWxsZSBtYWlsIGFuIG1pY2guCkFuc29uc3RlbiBzb2xsdGVuIGRpZSBMZXV0ZSBpbiBkZXIgSGFsbGUgQXVza3VuZnQgZ2ViZW4ga29lbm5lbi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJcmdlbmR3aWUsIGlyZ2VuZHdvLCBpcmdlbmR3YW5uLi4uIChUZWRkeSwgIDMuIE1hciAxOTk5LCAxNjozNDowNyk6Cn4jISBybj1LZXkgcnQ9OTIwNDY1MzYzIHJnPXBhcnR5Cn4jISB0aWQ9OTIwNDE4NzgyCktsYXJlIEFienVlZ2UgaW4gZGVyIEItTm90ZS4KClRlZGR5LCBoYXQgc2ljaCBzY2hvbiBzbyBhdWYgZ2V3aXNzZSBNdWRkZXIgYmVpIE5lbmEgZ2VmcmV1dCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSXJnZW5kd2llLCBpcmdlbmR3bywgaXJnZW5kd2Fubi4uLiAoS2V5LCAgMy4gTWFyIDE5OTksIDE2OjM1OjUzKToKfiMhIHJuPVRlZGR5IHJ0PTkyMDQ3NTI0NyByZz1wYXJ0eQp+IyEgdGlkPTkyMDQxODc4MgpFdnRsIGJhdWVuIHdpciBuZSBrbGVpbmUgQW5sYWdlIGF1ZiwgdW5kIGlociBrb2VubnQgdm9uIG1pciBhdXMgcnVtaHVlcHBlbiwKYWJlciBUYW56ZmxhZWNoZSBhbnNpY2ggaGFtd2lyIGtlaW5lIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSXJnZW5kd2llLCBpcmdlbmR3bywgaXJnZW5kd2Fubi4uLiAoS2FydG9mZmVsLCAgMy4gTWFyIDE5OTksIDIyOjU5OjQ1KToKfiMhIHJuPUtleSBydD05MjA0NjUzNjMgcmc9cGFydHkKfiMhIHRpZD05MjA0MTg3ODIKb29vb29vb29jaC4uLi4KCidUb2ZmZWwgLXNldWZ6ZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJcmdlbmR3aWUsIGlyZ2VuZHdvLCBpcmdlbmR3YW5uLi4uIChLYXJ0b2ZmZWwsICAzLiBNYXIgMTk5OSwgMjM6MDE6MTgpOgp+IyEgcm49S2V5IHJ0PTkyMDQ3NTM1MyByZz1wYXJ0eQp+IyEgdGlkPTkyMDQxODc4MgpVaWlpaWlpIDopKQoKJ1RvZmZlbCAtIHdpZWRlciBzdHJhaGxlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSXJnZW5kd2llLCBpcmdlbmR3bywgaXJnZW5kd2Fubi4uLiAoQXJpYW5hLCAgNC4gTWFyIDE5OTksIDAwOjUxOjEyKToKfiMhIHJuPUtleSBydD05MjA0NjUzNjMgcmc9cGFydHkKfiMhIHRpZD05MjA0MTg3ODIKa2xhcmVzIHNjaGVpc3NlLgoKYXJpYW5hICpkYXMgYXVjaCB0cmF1cmlnIGZpbmRlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElyZ2VuZHdpZSwgaXJnZW5kd28sIGlyZ2VuZHdhbm4uLi4gKE1haGF0bXUsICA0LiBNYXIgMTk5OSwgMTg6NDU6NTMpOgp+IyEgcm49S2V5IHJ0PTkyMDQ2NTM2MyByZz1wYXJ0eQp+IyEgdGlkPTkyMDQxODc4MgpEYW5uIG11c3MgS2V5IHNpbmdlbi4gT2RlciBleGlzdGllcnQgdW5zZXJlIE1HIEJveWdyb3VwIHdpZWRlcj8KCk1haGF0bXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IElyZ2VuZHdpZSwgaXJnZW5kd28sIGlyZ2VuZHdhbm4uLi4gKEJpZW5jaGVuLCAgNC4gTWFyIDE5OTksIDIwOjM1OjExKToKfiMhIHJuPU1haGF0bXUgcnQ9OTIwNTY5NTUzIHJnPXBhcnR5Cn4jISB0aWQ9OTIwNDE4NzgyCgpKYWphamEsIHNlaHQgbWFsIHp1IGRhcyBpaHIgaXJnZW5kd2llIGlyZ2VuZHdvIG5lIEFubGFnZSBoaW5zdGVsbHQsIGRpZQp2aWxsZWljaHQgYXVjaCBtYWwgaXJnZW5kd2FubiBzbyBlaW4gc2Nob2VuZXMgTGllZGNoZW4gc3BpZWx0LC4uLiB3YWVyIGVjaHQKc2Nob2VuOy0pKSkKCkJpZW5jaGVuIGthbm4gVG9mZmVsIG51ciB6dXN0aW1tZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJcmdlbmR3aWUsIGlyZ2VuZHdvLCBpcmdlbmR3YW5uLi4uIChUZWRkeSwgIDQuIE1hciAxOTk5LCAyMTozNjowMSk6Cn4jISBybj1CaWVuY2hlbiBydD05MjA1NzYxMTEgcmc9cGFydHkKfiMhIHRpZD05MjA0MTg3ODIKQWgsIGlyZ2VuZHdpZSBoYWIgaWNoIGF1ZiBkaWNoIG51ciBub2NoIGdld2FydGV0LgoKVGVkZHksIHd1c3N0ZSBnZW5hdSBkYXMgZGllc2UgMyBGcmF1ZW4gZGEgbmljaHQgbWl0IGVpbnZlcnN0YW5kZW4gc2VpbiB3ZXJkZW4KOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJcmdlbmR3aWUsIGlyZ2VuZHdvLCBpcmdlbmR3YW5uLi4uIChTdW5mbG93ZXIsICA2LiBNYXIgMTk5OSwgMTY6NTY6NDQpOgp+IyEgcm49VGVkZHkgcnQ9OTIwNDc1MjQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTIwNDE4NzgyCkR1IGRlbmtzdCBkYSBkb2NoIG5pY2h0IGV0d2EgYW4gbWljaD8KClN1bioKKGthbm4gbmljaHQgdGFuemVuIHVuZCB3aWxsIGVzIGF1Y2ggbmljaHQgKGJpbiBzY2hvbiB6dSBvZnQgbWl0IG1laW5lbgpRdWFkcmF0bGF0c2NoZW4gaXJnZW5kd2VsY2hlbiBhdWYgZGVuIEZ1c3MgcnVtZ2VzcHJ1bmdlbiA7KSApCi0tLS0KTWFuY2htYWwga2FubiBpY2ggaW4gZWluZW0gdmVydHJhdXRlbiBHZXNpY2h0IApuaWNodHMgd2VpdGVyIGVya2VubmVuLCBhbHMgZGllIFNwdXJlbgpkaWUgZGVyIFRvZCBkYXJpbiBoaW50ZXJsYXNzZW4gd2lyZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51ciBrdXJ6ZSBJbmZvIC4pIChLZXksICA4LiBNYXIgMTk5OSwgMDk6NTQ6MDkpOgpTbyBMZXV0cywgd2VyIHNpY2ggYWIgaGV1dGUgbmljaCBhbm1lbGRldCBzb2xsdGUgYXVjaCBuZSBtYWlsIGFuIG1pY2gKc2NocmVpYmVuIC4uLgoKV2VyIHNpY2ggYmlzIG1vcmdlbiBub2NoIG5ldCBhbmdlbWVsZGV0IGhhdCBiZWtvbW10IHVudGVyIFVtc3RhZW5kZW4ga2VpbgpQYXJ0eWJ1dHRvbiA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJ1dHRvbiAoS2V5LCAgOC4gTWFyIDE5OTksIDEyOjMzOjM1KToKVW0gbWFsIHdlaXRlcmVuIEJpdHRlbiB2b3J6dWJldWdlbiAuLi4KCldlciBuaWNodCBrb21tdCB1bmQgc29taXQgYXVjaCBuaWNodHMgemFobHQgYmVrb21tdCBhdWNoIGtlaW5lbiBCdXR0b24uClNvcnJ5LCBhYmVyIGRpZSBUZWlsZSBrb3N0ZW4gYXVjaCBHZWxkLCB3ZW5uIGF1Y2ggbmV0IHZpZWwuCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJ1dHRvbiAoUm9hZHJ1bm5lciwgIDguIE1hciAxOTk5LCAxMzo0MzozMik6Cn4jISBybj1LZXkgcnQ9OTIwODkyODE1IHJnPXBhcnR5Cn4jISB0aWQ9OTIwODkyODE1CmtvZW5udGUgbWFuIHZpZWxsZWljaHQgYXVjaCBpcmdlbmR3aWUga2VubnRsaWNoIG1hY2hlbiBvYiBkaWUgemFobHVuZwplaW5nZXRyb2ZmZW4gaXN0PyAoc29uc3QgaGllc3NlIGVzIG5hZW1saWNoIGRlbiBiZWxlZyBtaXR6dWJyaW5nZW4pCgpHClJSCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YnV0dG9uIChLZXksICA4LiBNYXIgMTk5OSwgMTQ6MDc6MjYpOgp+IyEgcm49Um9hZHJ1bm5lciBydD05MjA4OTcwMTIgcmc9cGFydHkKfiMhIHRpZD05MjA4OTI4MTUKTmFqYSB0aGVvcmV0aXNjaCBrbGFyIC4uLiBJY2gga29lbm50ZSBqYSB0YWVnbGljaCBlaW5lIExpc3RlIG1pdCBkZW4KZWluZ2VnYW5nZW4gWmFobHVuZ2VuIHZlcm9lZmZlbnRsaWNoZW4sIGFiZXIgZGFzIGlzdCBuZW4gYmlzc2VybCBaZWl0YXVmd2VuZGlnCi4uLgoKRGEgYnJpbmcgbGllYmVyIGRlbiBCZWxlZyBtaXQgOikgCgpXb2JlaSBEZWlucyBpc3QgZWluZ2V0cm9mZmVuIHdlbm4gaWNoIGRhcyByaWNodGlnIGltIEtvcGYgaGFiIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1mZyAoTHVyY2hpLCAgOC4gTWFyIDE5OTksIDE0OjE0OjA5KToKQmlldGUgbmUgbWZnIGZ1ZXIgYWxsZSAobmFqYSBtYXhpbWFsMyApLCBkaWUgYW4gZGVyIFN0cmVja2UgQmVybGluIC0gTWFyYnVyZwp3b2huZW4uCklzdCBlaW4gYmlzc2NoZW4ga3VyemZyaXN0aWcsIGFiZXIgaWNoIGhhYiBncmFkIGVyc3QgZGFzIGVuZGd1ZWx0aWdlIE9LCmJla29tbWVuLgoKTHVyY2hpL0Jsb29kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTnVyIGt1cnplIEluZm8gLikgKEZldWVyd2VociwgIDguIE1hciAxOTk5LCAyMToxNDo0Myk6Cn4jISBybj1LZXkgcnQ9OTIwODgzMjQ5IHJnPXBhcnR5Cn4jISB0aWQ9OTIwODgzMjQ5CkVzIGdpYnQgQnV0dG9ucz8KCkh1aWlpaWlpIQoKICAgIEZldWVyd2VociAod29sbHRlIGltbWVyIHNjaG9uIG1hbCBuZW4gQnV0dG9uISEhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOdXIga3VyemUgSW5mbyAuKSAoSGFzaW0sICA5LiBNYXIgMTk5OSwgMDk6MzA6MjcpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTkyMDkyNDA4MyByZz1wYXJ0eQp+IyEgdGlkPTkyMDg4MzI0OQpBbnRpLU11ZGRlci1idXR0b25zPz8/IDspClllYWghCkhhc2ltLCBhbiBkZW4gRmVybnNlaGZyaXR6ZW4gZGVua2VuZC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTnVyIGt1cnplIEluZm8gLikgKEtleSwgIDkuIE1hciAxOTk5LCAxMjo1MDowMCk6Cn4jISBybj1GZXVlcndlaHIgcnQ9OTIwOTI0MDgzIHJnPXBhcnR5Cn4jISB0aWQ9OTIwODgzMjQ5CkphYWFhIC4uLiBtaXQgbGFuZ2VuIHNwaXR6ZW4gTmFkZWxuIDopCgpJZGVhbCBnZWVpZ25ldCB1bSBWYW1waXJlIHp1IHBmYWVobGVuIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhtcGYgKEtleSwgIDkuIE1hciAxOTk5LCAxMzoxNDowNSk6CkxldXRlIGRpZSBzaWNoIG5ldCBhbm1lbGRlbiwgYmVrb21tZW4gdW50ZXIgVW1zdGFlbmRlbiBrZWluZW4gQnV0dG9uLgoKQWxzbyBhdWNoIHdlbm4gaWhyIHVlYmVyd2Vpc3QgaXN0IGRhcyBub2NoIGxhbmdlIGtlaW5lIEFubWVsZHVuZy4KRGFzIHZlcnVyc2FjaHQgbWlyIG51ciBtZWhyIEFyYmVpdCBhbHMgbm9ldGlnIGlzdC4KCkFjaGphIC4uLiB1bmQgYW4gZ2V3aXNzZSBMZXV0ZSAuLi4uIEljaCB3ZXJkZSBLRUlORSBNYWlscyBpbiBkaWVzZW0gc2VsdHNhbWVuCk1JTUUgZm9ybWF0IG1laHIgbGVzZW4uIFdlbm4gd2FzIGlzdCBrYW5uIG1hbiBhdWNoIG1pdCBkZW0gQ2hhcmFrdGVyIG1haWxlbi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnV0dG9ucyAoS2V5LCAgOS4gTWFyIDE5OTksIDE2OjE1OjA4KToKU28gaGllciBtYWwga3VyeiBlaW5lIExpc3RlIGRlcmVyIGRpZSBsZWlkZXIga2VpbmVuIEJ1dHRvbiBtZWhyIGJla29tbWVuCmtvZW5uZW4uCkRhIHNpZSBzaWNoIGVudHdkZXIgbm9jaCBnYXIgbmljaHQsIG9kZXIgZXJzdCB6dSBzcGFldCBhbmdlbWVsZGV0IGhhYmVuIC4uLgoKWmllClNwaXJpbGwKUmVhcGVyCk1lbmFjZQpNYXJzCkx1cmNoaQpLbnVydApHdWFyZApHZW9yZGkKQmVvcm4KQWxwaGEKCkdydXNzCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEN5YmVyLUFydC1Qcm9qZWt0IChLZXksICA5LiBNYXIgMTk5OSwgMTY6MTg6MDUpOgp+IyEgcm49UGhpbG91IHJ0PTkyMDk4OTA4OCByZz1rdWx0dXIKfiMhIHRpZD05MjA5ODkwODgKQXJnbCBtZWluIEZlaGxlciAuLi4uIERhcyBaaWUgd2FyIEx1emllLCB1bmQgZGllIHdhciBmcnVlaCBnZW51ZyA7KQpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdXR0b25zIChBbGluZSwgIDkuIE1hciAxOTk5LCAxNzowNTozOSk6Cn4jISBybj1LZXkgcnQ9OTIwOTkyNTA4IHJnPXBhcnR5Cn4jISB0aWQ9OTIwOTkyNTA4CgpIbW1tCgpmaW5nZXIgZ3J1c3MKLT4gSG1tLi4uIGRpZXNlbiBOYW1lbiBnaWJ0IGVzIGluIE1vcmdlbmdyYXVlbiBuaWNodC4KCktlaW4gV3VuZGVyLCBkYXNzIGRlciBrZWluZW4gQnV0dG9uIGJla29tbXQuIDspCgpBYmVyIHdhcnVtIER1IGF1Y2ggbmljaHQsIEtleT8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hhZGUgKFNwaXJpbGwsICA5LiBNYXIgMTk5OSwgMTk6MzQ6MzcpOgpCdXVoLCBpY2ggd2lsbCBhYmVyIGF1Y2ggZWluZW4gIQpOYWphLCB3ZXIgenUgc3BhZXQga29tbXQuLi4uIDooClNwaXJpbGwsIHNlbGJlcnNjaHVsZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGV0enRlIE1lbGR1bmdlbiEgKEtleSwgMTAuIE1hciAxOTk5LCAxMzozMjoyNyk6Ck9oIEhvZXJldCBJaHIgRGllIElociBnZXdpbGx0IHNlaWQgenUgc3R1ZXJtZW4gZGllIHNjaG9lbmUgaGlzdG9yaXNjaGUgU3RhZHQKTWFyYnVyZyEKCkRpZSBsZXR6dGVuIEVudHNjaGVpZHVuZ2VuIHd1cmRlbiBnZXRyb2ZmZW4gdW5kIHdlcmRlbiBldWNoIGhpZXJtaXQga3VuZGdldGFuOgpFbXBmYW5nZW4gd2VyZGV0IElociBhYiAxOCBVaHIgYW0gRnJlaXRhZyBkZW0gMTMuMDMuMTk5OSBhbiBkZXIgVHVybmhhbGxlIGluCmRlciBBa2FkZW1pZSBkZXIgRnJpZWRyaWNoIEViZXJ0IFNjaHVsZSA6KQpEaWVzZSBiZWZpbmRldCBzaWNoIGluIGRlciBTeWJlbHN0cmFzc2UuCgpOYWNoIGRlciBFbXBmYW5nc3plcmVtb25pZSBoZWlzc2VuIHdpciBldWNoIHdpbGxrb21tZW4gaW4gZWluZXIgU2NoZW5rZSBuYW1lbnMKQXVmbGF1ZiwgYW0gU3RlaW53ZWcuCkRvcnQgc29sbHRldCBpaHIgZXVjaCBpbiBkaWUgdW50ZXJlbiBHZW1hZWNoZXIgYmVnZWJlbiwgZGEgc29uc3QgbmljaHQgZGVyClNlZ2VuIGRlcyBHT2BzIG1pdCBldWNoIHNlaW4ga2Fubi4KCldlbm4gZGVyIG5hZWNoc3RlIFRhZyBoZXJlaW5icmljaHQgd2VyZGV0IGlociBiZXdpcnRldCwgdW0gZnJpc2NoIHVuZApnZXN0YWVya3QgYW4gZGVyIFJMLVF1ZXN0IHRlaWxuZWhtZW4genUga29lbm5lbi4KRGllc2UgZXJ3YXJ0ZXQgZXVjaCBhYiAxMjozMCBVaHIuCkRhenUgd3VlbnNjaGUgaWNoIEV1Y2ggdmllbCBHbHVlY2ssIHVuZCBndXRlIEZ1ZXNzZSEKCkFsc2JhbGQgd2lyZCBkaWUgVm9sbHZlcnNhbW1sdW5nIGRlcyBNb3JnZW5ncmF1ZW4gVmVyZWlucyBzdGF0dGZpbmRlbiwgZG9ydAplcndhcnRldCBtYW4gZXVjaCB1bSAxNjozMC4KU3RhdHRmaW5kZW4gd2lyZCBkaWVzZSBpbiBkZW0gUGFydHlyYXVtIGluIGRlciBGcmFua2Z1cnRlcnN0cmFzc2UgMTAuClNvbGx0ZSBkaWVzZXIgUGxhdHogbmljaHQgYXVzcmVpY2hlbiB3ZXJkZW4gd2lyIGV2dGwgQWJoaWxmZSBzY2hhZmZlbiBrb2VubmVuCmluZGVtIHdpciBlaW5lbiBPcnQgenVyIEVydHVlY2h0aWd1bmcgYXVmc3VjaGVuLgoKRGVyIHJhdXNzY2htaXNzIGRyb2h0IHVtIDE3OjMwIQoKRGFuYWNoIHdlcmRldCBJaHIgZWluZ2VsYXNzZW4genVyIEZlaWVyLiAKClVuZCBhYiAyMDowMCB3aXJkIGdlc2NobWF1c3QuCgpTb2Rhbm4gc2VpZCBpaHIgZXJzdG1hbCBhdWYgZXVjaCBhbGxlaW4gZ2VzdGVsbHQgaW4gZGllc2VyIGhhcnRlbiB0cmlzdGVuCldlbHQhIEJpcyBlcyBrbGluZ2VsdCB6dSAxMjozMCBVaHIgYW0gTW9yZ2VuIGRlcyBkYXJhdWZmb2xnZW5kZW4gU29ubnRhZ3MuCkRhIGVyd2FydGV0IGV1Y2ggamUgbmFjaCBMdXN0IGVpbiB3ZWl0ZXJlcyBHZWxhZ2UsIGluIGVpbmVyIEFzaWF0aXNjaGVuClNjaGVua2UhCgpVbmQgZGFubiB3aWxsIGljaCBldWNoIG5pZSB3aWVkZXIgc2VoZW4gPTspKSkpCgpLZXkKClAuUy46IFNvbGx0ZSBzaWNoIGVpbmVyIHZlcmZhaHJlbiBvZGVyIGFuZGVyZSBQcm9ibGVtZSBoYWJlbiwgYmluIGljaCB1bnRlcgpkZXIgMDE3Ny82MTE0MTcxIHp1IGVycmVpY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMZXR6dGUgTWVsZHVuZ2VuISAoTGFyaXNzYSwgMTAuIE1hciAxOTk5LCAyMDoxNTo0Myk6Cn4jISBybj1LZXkgcnQ9OTIxMDY5MTQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTIxMDY5MTQ3CkljaCBoYWIgc2Nob24gamV0enQgZWluIFByb2JsZW06CgpXaXIgZmFocmVuIGJlc3RpbW10IG5pY2h0IHZvciAxODowMCBVaHIgdWViZXJoYXVwdCBsb3MsIHdpZSBrb21tCmljaCBkZW5uIHp1IGRpZXNlbSAnQXVmbGF1Zic/CgpMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVwbHkgQXJ0aWtlbCAxNDQgIChDaXNvdSwgMTAuIE1hciAxOTk5LCAyMTozMDoxNyk6CldpciBoYWJlbiBlcyBzbyBlaW5nZXJpY2h0ZXQsIGRhc3MgYmlzIDIyIFVociBqZW1hbmQgaW4gZGVyIFR1cm5oYWxsZSBhbndlc2VuZApzZWluIHdpcmQsIGRlciBkZW4gV2VnIHp1bSBBdWZsYXVmIGVya2xhZXJlbiB3aXJkLgpGdWVyIGRpZWplbmlnZW4sIGRpZSBlcyBiaXMgZGFoaW4gbmV0IG5hY2ggTWFyYnVyZyBzY2hhZmZlbjoKRW50d2VkZXIgc2VsYnN0IGhpbmdlaGVuLCBwYXJrZW4ga2FubiBtYW4gZGEgc2NobGVjaHQuIERpZSBBZHJlc3NlIGRlcwoiQXVmbGF1ZnMiIGlzdCBTdGVpbndlZyAxLCBUZWwuOiAwNjQyMS82ODEzNDMKb2RlciBtaXIgbmUgTWFpbCBzY2hyZWliZW4sIGRhbm4gd2VyZGV0IElociBhdWNoIG5vY2ggc3BhZXRlciBpbiBkZXIgVHVybmhhbGxlCmVtcGZhbmdlbi4Kb2RlciBTcmFiaSB1ZWJlcnJlZGVuLCBkYW1pdCBlciBub2NoIGxhZW5nZXIgZGllIGhhbGxlIGJld2FjaHQgYWxzIDIyIFVocgo6LSkpKQoKR29vZCBMdWNrIDotKQoKQ2lzKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VzdWNodDogKEtleSwgMTEuIE1hciAxOTk5LCAxNjoyNjoxMyk6CgpXZXIgaXN0OgpKdWVyZ2VuL0F0aGVuPwoKQnJhdWNoZSBkZW4gTmFtZW4sIHdlZ2VuIHdlaWwgdWViZXJ3ZWlzdW5nIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZXN1Y2h0OiAoTWFoYXRtdSwgMTEuIE1hciAxOTk5LCAxNjoyOToyNCk6Cn4jISBybj1LZXkgcnQ9OTIxMTY1OTczIHJnPXBhcnR5Cn4jISB0aWQ9OTIxMTY1OTczCkp1ZXJnZW4gd3Vlcmdlbj8KCk1haGF0bXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VzdWNodDogKFdpbGxpLCAxMS4gTWFyIDE5OTksIDE3OjA4OjAzKToKfiMhIHJuPU1haGF0bXUgcnQ9OTIxMTY2MTY0IHJnPXBhcnR5Cn4jISB0aWQ9OTIxMTY1OTczCkF0aGVuIHJhdGVuICEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRkcgKEdub21lLCAxMS4gTWFyIDE5OTksIDE4OjA3OjQxKToKaGksCgppY2ggd2Vpc3MsIGVzIGlzdCBzZWhyIGt1cnpmcmlzdGlnLi4uIGFiZXI6Cgp3aXIgaGFldHRlbiBkYSBub2NoIGVpbiBNRkcgdm9uIEIgenVyIHBhcnR5IGFtIEZyIG5hY2htaXR0YWcuCgp3ZXIgaW50ZXJlc3NlIGhhdCwgbWFpbCBhbiBtaWNoIGJpcyBzcGFldGVzdGVucyBoZXV0ZSBhYmVuZCB1bSAyMy4wMGguCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExldHp0ZSBNZWxkdW5nZW4hIChIb2JvLCAxMS4gTWFyIDE5OTksIDE4OjM3OjUwKToKfiMhIHJuPUtleSBydD05MjEwNjkxNDcgcmc9cGFydHkKfiMhIHRpZD05MjEwNjkxNDcKSmF1LCBpY2ggaGFiJyBlaW4gUHJvYmxlbS4KSWNoIGRhY2h0ZSwgVm9sbHZlcnNhbW1sdW5nIGlzdCB1bSAxNTozMCBVaHIsIG5pY2h0IHVtIDE2OjMwLiBFaW5lIFN0dW5kZQpyZWljaHQgdW5zIG5hZW1saWNoIHppZW1tbGljaCBzaWNoZXIgbmljaHQsIHdlbm4gaWNoIG1pciB1ZWJlcmxlZ2UsIHdhcyB3aXIKYWxsZXMgdm9yaGFiZW4Kbi4KCiAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMZXR6dGUgTWVsZHVuZ2VuISAoS2V5LCAxMS4gTWFyIDE5OTksIDE4OjUzOjE1KToKfiMhIHJuPUhvYm8gcnQ9OTIxMTczODcwIHJnPXBhcnR5Cn4jISB0aWQ9OTIxMDY5MTQ3CkRhIGFyYmVpdGVuIHdpciBkcmFuIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hcmJ1cmdwYXJ0eSEgKEFuYXRvbCwgMTUuIE1hciAxOTk5LCAxNzoyNzo1MCk6CkljaCBtb2VjaHRlIG1pY2gsIGF1Y2ggaW0gTmFtZW4gZWluaWdlciBNaXRtdWRkZXIsIGJlaSBkZW4gT3JnYW5pc2F0b3JlbgpkZXIgUGFydHkgaW4gTWFyYnVyZyBmdWVyIC4uLiBhZWggLi4uIGlocmUgQmVtdWVodW5nZW4gYmVkYW5rZW4gdW5kIGZyZXVlCm1pY2ggc2Nob24gYXVmIGRpZSBPbmxpbmUtVmVyc2lvbiBkZXMgTGVpdGZhZGVucyAiSG93IHRvIGRvLCB3aG8gdG8gYXNrIi4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBhcnR5IChQaWVyY2UsIDE1LiBNYXIgMTk5OSwgMTc6MzA6NTUpOgpIaWhvIGljaCB3b2xsdGUgbWFsIGZyYWdlbiwgb2IgSW50ZXJlc3NlIGRhcmFuIGJlc3RlaHQsIGRhc3MgaWNoIGRpZQpNZWlzdGVyd2Vya2UgZGVyIExpdGVyYXR1ciwgZGllIGFtIFNhbXN0YWcgdmVyZmFzc3Qgd3VyZGVuIG5vY2ggbWFsIHBvc3RlLiAKKERpZXNtYWwgZGFubiBhdWNoIGluIGxlc2VybGljaGVyIEZvcm0gKmdyaW5zKikKCkFjaCBqYSB1bmQgZXMgd2FlciBnYW56IG5ldHQsIHdlbm4gbWlyIGRpZSBUZWFtcyBtYWwgbWFpbGVuIGtvZW5udGVuLCB3ZXIKYWxsZXMgaW4gZGVtIFRlYW0gd2FyLi4uCgpEYW5rZSBQaWVyY2UgKGkuQS4gQXRveikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJ0eSAoU2hhcmlhLCAxNS4gTWFyIDE5OTksIDE3OjMyOjQ1KToKfiMhIHJuPVBpZXJjZSBydD05MjE1MTU0NTUgcmc9cGFydHkKfiMhIHRpZD05MjE1MTU0NTUKamEgbWFjaCBtYWwgOikKCih1bmQgdWViIHdlaXRlci4uLikgOikKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWml0YXRlLi4uLi4gKFNoYXJpYSwgMTUuIE1hciAxOTk5LCAxNzozNTowMik6Cm51ciAyIGt1cnplIFppdGF0ZToKCi8vIFVudGVyaGFsdHVuZyB1ZWJlciBXdXJmd2FmZmVuIFxcXApCb2luZyBzYWd0OiBOZWVlLCBXdXJmd2FmZmVuIGJlbnV0emUgaWNoIG5pY2guLi4gZGEgbXVlc3N0ZSBpY2ggamEgZGFubiBuZXVlCk1hY3JvcyBmdWVyIHNjaHJlaWJlbiEhIQoKCi8vLyBUZWRkeSBhdWYgZGVtIFdlZyBkZXIgQmVzc2VydW5nIFxcXApUZWRkeSBmcmFndCBTaGFyaWE6IFd1ZXJkZXN0IER1IGZ1ZXIgbWljaCBCSVRURSBGdWVyc3ByZWNoZXIgbWFjaGVuID8gSWNoCndlY2hzZWwgZGllIEdpbGRlICEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWml0YXRlLi4uLi4gKEJvaW5nLCAxNS4gTWFyIDE5OTksIDE3OjM4OjAwKToKfiMhIHJuPVNoYXJpYSBydD05MjE1MTU3MDIgcmc9cGFydHkKfiMhIHRpZD05MjE1MTU3MDIKT2VobSAuLi4gaWNoIHNlaCBncmFkIC4uLiBpY2ggSEFCIGVpbiBNYWtybyBmdWVyIFdhZmZlbnd1cmYgLi4uIDspCiAgQm9pbmcgKGkuQS4gc2VpbmUgWndlaXRpZXMpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFppdGF0ZS4uLi4uIChTaGFyaWEsIDE1LiBNYXIgMTk5OSwgMTc6Mzg6MjcpOgp+IyEgcm49Qm9pbmcgcnQ9OTIxNTE1ODgwIHJnPXBhcnR5Cn4jISB0aWQ9OTIxNTE1NzAyCkhBICEhISBTQ1JJUFRFUiAhISEgSE9CTyAhISEhISEhISAKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHkgKFNwaXJpbGwsIDE1LiBNYXIgMTk5OSwgMjA6MjY6MzQpOgp+IyEgcm49UGllcmNlIHJ0PTkyMTUxNTQ1NSByZz1wYXJ0eQp+IyEgdGlkPTkyMTUxNTQ1NQpBYmVyIHVuYmVkaW5ndCEhCgpTcGlyaWxsLCBMZXNlcmF0dGUgbWl0IHNlbHRzYW1lbSBHZXNjaG1hY2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkx1bWlrbG9zIChCb25lLCAxNS4gTWFyIDE5OTksIDIxOjM2OjA0KToKTGllYmUgTWFyYnVyZ2VyLApWaWVsZW4gRGFuayBmdWVyIGRpZXNlIHd1bmRlcnZvbGxlbiBMdW1pbmlzdGVyLUtsb3MuIFNpZSBicmFjaHRlbiBuaWNodCBudXIKZXR3YXMgRmFyYmUgaW4gZGVuIEFiZW5kLCBuZWluLCBzaWUgc29yZ3RlbiBhdWNoIGRhZnVlciwgZGFzcyBDZWxlc3RlIHVuZAppY2ggZG9jaCBub2NoIGluIGRlbiBHZW51c3Mgdm9uIGRpdmVyc2VuIFN0cmlwcyBnZWxhbmd0ZW4sIHdlbm4gYXVjaCB1bmZyZWktCndpbGxpZyB1bmQgbnVyIGFscyBTY2hhdHRlbnNwaWVsIHNpY2h0YmFyLiBBbHMgQW5yZWd1bmcgZnVlcnMgbmFlY2hzdGUgTWFsOgpEYW5uIG1hbCBhdXNzZW4gZWluIE1hc3NiYW5kIGFuYnJpbmdlbiwgZGFubiBrb2VubmVuIHdpciBhdWNoIGVuZGd1ZWx0aWcgCmJlc3RpbW1lbiwgd2VyIGRlbm4gZGVuIExhZW5nc3RlbiBoYXQuIEhleSBaYXJkb3osIGRhbm4gYWJlciBuaWNodCBzY2h1bW1lbG4sCmRlciBNYW50ZWwgYmxlaWJ0IHp1IEhhdXNlLgoKQm9uZSwgZmluZGV0IEZldWVyZGFlbW9uZW4gdW5kIERyYWNoZW5rb2VuaWdlIGF1Y2ggZnVyY2h0YmFyIHdpY2h0aWcuCgpQLlMuOiBEYXMgTWFyYnVyZy1WaXJ1cyB2ZXJ1cnNhY2h0IGtlaW5lIFd1Y2hlcnVuZ2VuLiBFcyBnZWhvZXJ0LCBlYmVuc28gd2llCmRhcyBFYm9sYS1WaXJ1cyB6dSBkZW5lbiwgZGllIGVpbiBoYWVtb3JyaGFnaXNjaGVzIEZpZWJlciB2ZXJ1cnNhY2hlbiwgZGFzIApoZWlzc3QsIGRhcyBCbHV0IGF1cyBhbGxlbiBtb2VnbGljaGVuIEtvZXJwZXJvZWZmbnVuZ2VuIHdpZSBBdWdlbiwgT2hyZW4gdXN3LgpmbGllc3N0IHVuZCBtYW4gaW5uZXJsaWNoIHZlcmJsdXRldCAtIHNvIHZpZWwgZGF6dS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMdW1pa2xvcyAoSmFtZXNvbiwgMTUuIE1hciAxOTk5LCAyMTozODowMCk6Cn4jISBybj1Cb25lIHJ0PTkyMTUzMDE2NCByZz1wYXJ0eQp+IyEgdGlkPTkyMTUzMDE2NAphcHJvcG9zIEJsdXQsIGlzdCBpbnp3aXNjaGVuIG1hbCBoZXJhdXNnZWtvbW1lbiwgd2llIGRlciBncm9zc2UgQmx1dGZsZWNrCmluIGRlciBIYWxsZSB6dXN0YW5kZWdla29tbWVuIGlzdD8gKHNvZmVybiBTcmFiaSByZWNodCBoYXQgdW5kIGVzIHdhcgplaW5lcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMdW1pa2xvcyAoQXJrLCAxNS4gTWFyIDE5OTksIDIxOjQzOjAzKToKfiMhIHJuPUJvbmUgcnQ9OTIxNTMwMTY0IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNTMwMTY0CkhtLCBnaWJ0IGRhcyBuZSBuZW5uZW5zd2VydGUgS3JhbmtoZWl0IGFiPyBWaWVsbGVpY2h0IGFscyBQb3J0IFZhaW4gVmlydXM/CktsaW5ndCBhYmVyIGFwcGV0aXRsaWNoLiBNYSBndWdnZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMdW1pa2xvcyAoQW5hdG9sLCAxNS4gTWFyIDE5OTksIDIyOjI2OjAzKToKfiMhIHJuPUphbWVzb24gcnQ9OTIxNTMwMjgwIHJnPXBhcnR5Cn4jISB0aWQ9OTIxNTMwMTY0CkVpbiBDaGFvdCB3aXJkIFR1dHN6dCBkYWJlaSBnZWhhYnQgaGFiZW4uCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rIGFuIGRpZSBPcmdhbmlzYXRvcmVuLiAoRmV1ZXJ3ZWhyLCAxNS4gTWFyIDE5OTksIDIyOjQ2OjEwKToKSGkhCgpJY2ggd29sbHRlIGRlbiBPcmdhbmlzYXRvcmVuIGRlciBQYXJ0eSBlcnN0bWFsIGF1ZiBnbG9iYWxlciBFYmVuZSBtZWluZW4gRGFuawphdXNzcHJlY2hlbi4gU2llIGhhYmVuIHNpY2ggcmVkbGljaCBBcmJlaXQgZ2VtYWNodC4KClVuZCBpY2ggbWVpbiwgaGV5LCBiaXMgamV0enQgd2FyIGVzIGRvY2ggaW1tZXIgc28sIGRhc3MgbWFuIHp1IGVpbmVyIFBhcnR5CmdlaHQsIHVuZCBlaW4gaGFsYmVzIEphaHIgc3BhZXRlciB3ZWlzcyBtYW4gbml4IG1laHIgZGFydWViZXIuIEljaCBiaW4gbWlyCmplZG9jaCBzaWNoZXIsIHVlYmVyIGRpZXNlIFBhcnR5IHdpcmQgbWFuIG5vY2ggbGFuZ2Ugc3ByZWNoZW4gOikuCgpCZXNvbmRlcmVyIERhbmsgZ2VodCBhbiBkaWUgT3JnYW5pc2F0b3JlbiBkZXIgUkwtUXVlc3QsIHp1c2FtbWVuIG1pdCBkZW0KY29vbGVuIFdldHRlciB3YXIgc2llIGVpbmUgZGVyIHNjaG9lbnN0ZW4gUkwtUXVlc3RzIGJpc2hlci4gSGV5LCBoaWVyIGVpbgpzY2hpY2tlcyBUTSB2b24gS251cnQ6IEtudXJ0IHRlaWx0IERpciBtaXQ6IHdhcyBiaXR0ZSBzaW5kIFBlcnNpbGFjaGRpbmdlbnM/CjotKSkKCkluIGRlbSBTaW5uZTogQWVobSwgbmljaHQgZGlyZWt0IFdFSVRFUiBTTywgYWJlciwgYWVobSwgZGVyIGd1dGUgV2lsbGUgd2FyIGRhCjotKSkuCgpHcnVlc3NlIQoKICAgIEZldWVyd2VociAoc2NoYW1sb3MgZ3JpbnNlbmQpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEx1bWlrbG9zIChKYXNvbnJpZ2lkLCAxNi4gTWFyIDE5OTksIDEzOjQ4OjM1KToKfiMhIHJuPUJvbmUgcnQ9OTIxNTMwMTY0IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNTMwMTY0CgpNYWcgc2VpbiwgYWJlciAiaGFlbW9ycmhhZ2lzY2hlcyBGaWViZXIiIHN0YW5kIG5pY2h0IGF1ZiBkZXIgTGlzdGUgKmdyaW5zKgoKSmFzb24gc2NobWFycm5kIGhldXRlIGFtbCBuZSBSdW5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RvcmllcyAoUGllcmNlLCAxNi4gTWFyIDE5OTksIDEzOjUzOjEyKToKSGlobywKCkRpZSBHZXNjaGljaHRlbiB2b24gZGVyIFBhcnR5IHN0ZWhlbiBpbiBzY2htYXJybiwgZmFsbHMgc2llIGplbWFuZCBub2NoIG1hbApsZXNlbiB3b2xsdGUuLi4KClRzY2hhdSBBdF5IXkhQaWVyY2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMdW1pa2xvcyAoUm9jaHVzLCAxNi4gTWFyIDE5OTksIDE3OjQ0OjUxKToKfiMhIHJuPUJvbmUgcnQ9OTIxNTMwMTY0IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNTMwMTY0CkhtbSwgaXN0IGVpZ2VudGxpY2ggbm9jaCBqZW1hbmQgZGFyYW4gaW50ZXJlc3NpZXJ0LCBkYXNzIGljaCBkaWUgTGlzdGUKZGVyIExldXRlIHZlcm9lZmZlbnRsaWNoZSwgYmVpIGRlbmVuIEJvbmUgJiBDZWxlc3RlIGdlbGFjaHQgaGFiZW4/CgogIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMdW1pa2xvcyAoVHdlZWcsIDE3LiBNYXIgMTk5OSwgMDk6NTk6MzMpOgp+IyEgcm49Um9jaHVzIHJ0PTkyMTYwMjY5MSByZz1wYXJ0eQp+IyEgdGlkPTkyMTUzMDE2NAoKCkZyYWcgUm9jaHVzIG5hY2ggUGVpdHNjaGUsIEhhbmRzY2hlbGxlbj8KClR3ZWVnLCBpbiBSb2NodXMgZW50c2V0enRlcyBHZXNpY2h0IGJsaWNrZW5kLiB9OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClR1cm5oYWxsZSAoU3JhYmksIDE3LiBNYXIgMTk5OSwgMTk6NDQ6MTQpOgpIaSBTdWNodGllcywKCmVzIHNwcmljaHQgenUgRXVjaCBkZXIgVHVybmhhbGxlbmJld2FjaGVyLCB3aWUgbWljaCBKYXNvbnJpZ2lkIGdlcmFkZSBnZW5hbm50CmhhdC4KCkltIE5hbWVuIGRlcyBFaGVwYWFyZXMgRm9yc3RlciwgZGFzIHNpbmQgZGllIEhhdXNtZWlzdGVyIGRlciBTY2h1bGUsIHNvbGwgaWNoCkV1Y2ggZWluIGdhbnogZGlja2VzIExvYiBhdXNzcHJlY2hlbi4gRnJhdSBGb3JzdGVyIG1laW50ZSwgc2llIGhhZXR0ZSBzY2hvbgp2aWVsZSBMZXV0ZSBkb3J0IHBlbm5lbiBsYXNzZW4sIGFiZXIga2VpbmUgd2FlcmVuIHNvIGFuZ2VuZWhtIHVuZCBsZWlzZQpnZXdlc2VuIHdpZSB3aXIuCgpGcmF1IEZvcnN0ZXIgbWVpbnRlLCB3aXIga29lbm50ZW4gZ2VybmUgd2llZGVya29tbWVuIHVuZCBuYXR1ZXJsaWNoIGRhbm4Kd2llZGVyIGluIGRlciBIYWxsZSBwZW5uZW4uCgpNZWluIGRhbmsgcmljaHRlIGljaCBhYmVyIGF1Y2ggYW4gTGVuYSwgR29sYXMgdW5kIEthcm9sLCBkaWUgbWlyIGluIGVpbmVyIDIKMS8yIHN0dWVuZGlnZW4gUHV0emFrdGlvbiBnZWhvbGZlbiBoYWJlbiwgZGllIEhhbGxlIHdpZWRlciBzYXViZXIgenUga3JpZWdlbi4KQmVpZGUgSGFsbGVuIHdhcmVuIG5pY2h0IHNjaGxpbW0gdmVyZHJlY2t0LCBhYmVyIGluIGRlciBvYmVyZW4gaGF0IGFuc2NoZWluZW5kCmVpbiBDaGFvdCBzZWluZW4gRGFlbW9uZW4gbWl0Z2VicmFjaHQsIGRlciBlaW5lIGtsZWluZSBCbHV0bGFjaGUgaGludGVybGFzc2VuCmhhdCwgc3NvIGRhc3MgS2Fyb2wgZGllIGdlc2FtdGUgb2JlcmUgSGFsbGUgcHV0emVuIG11c3N0ZS4gRWJlbmZhbGxzIHdhciBkb3J0CkNvbGEgYXVzZ2VsYXVmZW4uCgpTcmFiaSwgZGVyIGRhcnVlYmVyIG5hY2hkZW5rdCwgZGllIG5hZWNoc3RlIFdpbnRlcnBhcnR5IGVybmV1dCBuYWNoIE1hcmJ1cmcgenUKaG9sZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUdXJuaGFsbGUgKEFuYXRvbCwgMTcuIE1hciAxOTk5LCAxOTo0NTo0Myk6Cn4jISBybj1TcmFiaSBydD05MjE2OTYyNTQgcmc9cGFydHkKfiMhIHRpZD05MjE2OTYyNTQKRnJhZ3Qgc2ljaCB2b3JlcnN0LCBvYiBkaWUgbmFlY2hzdGUgV2ludGVycGFydHkgbmFjaCBNYXJidXJnIGtvbW1lbiBXSUxMLgoKQW5hdG9sIHp3ZWlmZWx0IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUdXJuaGFsbGUgKFppbm8sIDE3LiBNYXIgMTk5OSwgMjA6MDI6NTUpOgp+IyEgcm49QW5hdG9sIHJ0PTkyMTY5NjM0MyByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NApEaWUgbmFlY2hzdGUgV2ludGVycGFydHkgd2lyZCB3b2hsIG5hY2ggRHJlc2RlbiBrb21tZW4uCgpNYWhhdG1hIHJ1ZnQ6IERyZXNkZW4gMjAwMCEKClAuUy4gTmUgZmV0dGUgRmFudGFwZnVldHplIHdhciBhdWNoIGluIGRlciBvYmVyZW4gSGFsbGUsIG5hY2ggZWluaWdlbgpNdXRhdGlvbmVuIGtvZW5udGUgZGFzIGR1cmNoYXVzIHdpZSBCbHV0IG9kZXIgQ29sYSBhdXNnZXNlaG4gaGFiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUdXJuaGFsbGUgKE1vbnRhbnVzLCAxNy4gTWFyIDE5OTksIDIzOjMwOjA2KToKfiMhIHJuPVppbm8gcnQ9OTIxNjk3Mzc1IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNjk2MjU0CgouLi4gdW5kIHdhcyBpc3QgamV0enQgbWl0IGRlciBTb21tZXJwYXJ0eT8KKFZvcmJlcmVpdHVuZ3N0cmVmZmVuPykKSWNoIGZyYWcgamEgbnVyLiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFR1cm5oYWxsZSAoQW5ha2luLCAxOC4gTWFyIDE5OTksIDIxOjMyOjI2KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkyMTcwOTgwNiByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NAoKTmllIHdpZWRlciBNYXJidXJnISBTaWNoZXIhCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFR1cm5oYWxsZSAoS2FydG9mZmVsLCAxOC4gTWFyIDE5OTksIDIyOjIyOjQ3KToKfiMhIHJuPUFuYXRvbCBydD05MjE2OTYzNDMgcmc9cGFydHkKfiMhIHRpZD05MjE2OTYyNTQKQWJlciBhdWYgamVkZW4gRmFsbCEKCk1pciBoYXRzIHRvdGFsIGd1dCBnZWZhbGxlbiB1bmQgd2FzIGpldHp0IG5vY2ggbmljaHQgc28gZ2VrbGFwcHQgaGF0IHdpZXMKdmllbGxlaWNodCBnZWRhY2h0IHdhci4uLiBXaWUgd2FyIGRhcyBkb2NoIGdsZWljaD8gIiBEdSBsZXJuc3QgYXVzIERlaW5lbQpGZWhsZXIiLgoKVmllbGxlaWNodCBsZXJuZW4gYXVjaCBkaWUgUGFydHlnYWVzdGUgZGFubiBtYWwsIHNpY2ggcmVjaHR6ZWl0aWcgYW56dW1lbGRlbiwKZGFtaXQgS2Fsa3VsYXRpb25lbiBlaW5mYWNoZXIgd2VyZGVuLgoKT2RlciB3aWUgd2FlcnMgbWl0IG5lbSAiRXJmYWhydW5nc2JlcmljaHQiIGRlciBiaXNoZXJpZ2VuIE9yZ2FuaXNhdG9yZW4/Ck5hY2ggZGVtIE1vdHRvOiBJbiBkZXIgUmVnZWwgc2luZCAuLi4gTXVkZGVyIHNvIGJla2xvcHB0IHNpY2ggYXVjaCBub2NoIFJsCnNlaGVuIHp1IHdvbGxlbiB1bmQgdmVydGlsZ2VuIGRhYmVpIC4uLiBUb25uZW4gQnJvZXRjaGVuIHVuZCAuLi4gSGVrdG9saXRlcgpCaWVyIDspCgpUb2ZmZWwgLSBmaW5kZXQgbWllc21hY2hlbiBLYWNrZSB1bmQgaXMgZnJvaCwgZGFzcyBzaWNoIGplbWFuZCBnZWZ1bmRlbiBoYXQsCmRpZSBQYXJ0eSB6dSBvcmdhbmlzaWVyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFR1cm5oYWxsZSAoU3RpbmcsIDE4LiBNYXIgMTk5OSwgMjM6MDM6MzUpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTkyMTc5MjE2NyByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NAoqbmljayoKCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVHVybmhhbGxlIChUYW5nYWx1ciwgMTkuIE1hciAxOTk5LCAwMDowODozMyk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9OTIxNzkyMTY3IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNjk2MjU0CkRhIGthbm4gbWFuIG51ciB2b2xsIHp1c3RpbW1lbi4KU29vb28gZWluZmFjaCBpc3QgZGFzIGJlc3RpbW10IG5pY2h0IGVpZW4gUGFydHkgaW4gZGVyIEdyb2Vzc2UgenUgb3JnYW5pc2llcmVuClNvbGxlbiBkaWUgbWVja2VyZXIgZGFzIGVyc3RtYWwgdmVyc3VjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVHVybmhhbGxlIChOZWIsIDE5LiBNYXIgMTk5OSwgMDk6NDA6MjEpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTkyMTc5MjE2NyByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NAoqbmljayBLYXJ0b2ZmZWwgenUqCgpOZWIgZmFuZHMgYXVjaCBwcmltYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFR1cm5oYWxsZSAoTGFyaXNzYSwgMTkuIE1hciAxOTk5LCAxNzo0MzozNyk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9OTIxNzkyMTY3IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNjk2MjU0CmFsc28sCmljaCB3aWxsIG1pY2ggbmljaHQgYmVzY2h3ZXJlbiwgX2ljaF8gaGF0dGEgamEgd2FzIHp1ZXNzZW4sIHVuZCBtYW4Ka2FubiBrYXVtIHVtaGluIGRlbiBPcmdhbmlzYXRhb3JlbiBlaW4gZ2V3aXNzZXMgTWFzcyBhbiBndXRlbSBXaWxsZW4KenV6dWdlc3RlaGVuLCBhYmVyIGRhenUgZ2Vob2VydCBhdWNoLCBkYXNzIG1hbiBSYXRzY2hsYWVnZSBhbm5pbW10LAp3ZW5uIG1hbiBzaWUgYmVrb21tdCEKCkJpc2hlciB3YXJlbiBhdWYgSkVERVIgUGFydHkgZHV0emVuZGUgbWVociBhbHMgc2ljaAphbmdlbWVsZGV0IGhhdHRlbiwgZ2VuYXVzbyBiZWltIENoaW5lc2VuLCB1bmQgd2VubiBudW4gZWluZXIKYXVzIE1hcmJ1cmcgbWVpbnQsIGVyIGhhZXR0ZSB2b24gbml4IGdld3Vzc3QsIGhlaXNzdHMgZnVlciBtaWNoOgoKS2VpbmUgS2lkZGllcyBtZWhyIGFscyBPcmdhbmlzYXRvcmVuLgoKTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFR1cm5oYWxsZSAoVGFyaW5hLCAxOS4gTWFyIDE5OTksIDE4OjMwOjEwKToKfiMhIHJuPUxhcmlzc2EgcnQ9OTIxODYxODE3IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNjk2MjU0CgpJY2ggZmluZGUgZGVuIFZvcnNjaGxhZyB2b24gS2FydG9mZmVsIGltbWVyIGJlc3NlciwgZGllIEVyZmFocnVuZ2VuIGFscwpPcmdhbmlzYXRvcmVuIG1hbCB6dSBzY2hpbGRlcm4uCgpVbnRlciBhbmRlcmVtIG5hZW1saWNoIGF1Y2gsIHdpZXZpZWxlIGFuZ2VtZWxkZXQgd2FyZW4sIHdpZXZpZWxlIGdla29tbWVuCnNpbmQuClZpZWxsZWljaHQga29lbm5lbiBhbmRlcmUgZGFyYXVzIHdpcmtsaWNoIHdhcyBsZXJuZW4uCgpHcnVzcywKVGFyaW5hICh3YXIgbmljaHQgZGFiZWksIGFiZXIgaXJnZW5kd2FubiBrbGFwcHRzIGphIHZpZWxsZWljaHQgbWFsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVHVybmhhbGxlIChKYW1lc29uLCAxOS4gTWFyIDE5OTksIDE4OjM2OjU3KToKfiMhIHJuPVRhcmluYSBydD05MjE4NjQ2MTAgcmc9cGFydHkKfiMhIHRpZD05MjE2OTYyNTQKSXN0IGRvY2ggZXJzdGF1bmxpY2ggOi0pClBhcnRpZXMgZGllc2VyIEFydCBnaWJ0IGVzIG51biBzY2hvbiBqYWhyZWxhbmcsIGFuZ2VmYW5nZW4gYmVpIGRlbgpSZWxheSBQYXJ0aWVzIHZvbiBJUkMsIHVuZCBkaWUgVGhlbWVuIGRhbmFjaCBzaW5kIGltbWVyIGRpZSBnbGVpY2hlbiA6KQoKSWNoIHdhciBzY2hvbiBhdWYgZXRsaWNoZW4gUGFydGllcyB1bmQgaWNoIG11c3Mgc2FnZW4gZGllc2UgaGllciB3YXIKYmlzIGF1ZiBkYXMgbWl0IGRlbSBBYmVuZGVzc2VuLCBkYXMgZG9jaCBldHdhcyBzdGFyayB1bnRlcmRpbWVuc2lvbmllcnQgCndhciwgc28gZ3V0IG9yZ2FuaXNpZXJ0LCB3aWUgbWFuIGVzIGVyd2FydGVuIGthbm4uIFdhcyB3b2xsdCBpaHIgZWlnZW50bGljaApub2NoIGFsbGVzPwoKakFtZXNvbiwgenVmcmllZGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUdXJuaGFsbGUgKFJpbmdvciwgMTkuIE1hciAxOTk5LCAxODozNzozMCk6Cn4jISBybj1UYXJpbmEgcnQ9OTIxODY0NjEwIHJnPXBhcnR5Cn4jISB0aWQ9OTIxNjk2MjU0CkFsc28gaWNoIGthbm4gYW4gZGVtIFZvcnNjaGxhZyB2b24gS2FydG9mZmVsIG5pY2h0cyByZXZvbHV0aW9uYWVyIE5ldWVzCmZpbmRlbi4gTmF0dWVybGljaCBncmVpZnQgbWFuIGFscyBPcmdhbmlzYXRvciBhdWYgZGllIEVyZmFocnVuZ2VuIHZvbiBkZW5lbgp6dXJ1ZWNrLCBkaWUgc293YXMgc2Nob25tYWwgZ2VtYWNodCBoYWJlbiwgd2VubiBtYW4gc2VsYnN0IG5vY2gga2VpbmUKRXJmYWhydW5nZW4gZGFtaXQgaGF0LgoKR2VuYXUgZGVzaGFsYiBoYWJlbiB3aXIgZGFtYWxzIGFscyBQYXJ0eW9yZ2FuaXNhdG9yZW4gZXJzdG1hbCBiZWkgImFsdGVuCkhhc2VuIiBuYWNoZ2VmcmFndC4gVW5kIG51ciBnZW5hdSBkYXMgd2lyZCBkZW4gTWFyYnVyZ2VybiBqYSB2b3JnZXdvcmZlbjogZGFzcwpzaWUgbmljaHQgbmFjaGdlZnJhZ3QgaGFiZW4uCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkpldHp0IGFiZXIhIChDaXNvdSwgMTkuIE1hciAxOTk5LCAyMTo1NDo0MSk6CgpBdWNoIHdlbm4gc2ljaCBoaWVyIGphIG9mZmVuYmFyIGRpZSBHZWlzdGVyIHVlYmVyIGRpZSBQYXJ0eS1PcmdhbmlzYXRpb24Kc3RyZWl0ZW4sIG1vZWNodGUgaWNoIG1pY2ggbWFsIGJlaSBkZW5lbiBiZWRhbmtlbiwgZGllIGF1Y2ggaW0gSGludGVyZ3J1bmQKdGFldGlnIHdhcmVuIHVuZCB2b24gZGVuZW4gaWNoIG5ldCB3ZWlzcywgb2Igc2llIGdlbmFubnQgd2VyZGVuIG1vZWNodGVuLgoKQmVzb25kZXJzIG5lbm5lbiB3aWxsIGljaCBhbiBkaWVzZXIgU3RlbGxlIGRlbiBCdXR0b24tRGVzaWduZXIsIGRlciBub2NoIGJpcwp6dWxldHp0IEJ1dHRvbnMgZW50d29yZmVuIGhhdC4KClVuZCBkYW5uIGdhbnogaGVpc3NlbiBEYW5rIGFuIGVpbmVuIE1hZ2llciwgZGVyIG1pdCBtaXIgenVzYW1tZW4gYmlzIG1vcmdlbnMKdW0gNiBVaHIgZGVuIGdyb2Vic3RlbiBNdWVsbCBiZXNlaXRpZ3QgaGF0LCB3ZWlsIGVyIGVpbiBIZXJ6IGZ1ZXIgbmUKYmVyYXVzY2h0ZSBaYXViZXJnZXNlbGxpbiBoYXR0ZS4KCkFjaGphLCB1bmQgbWVyY2kgYW4gYWxsZSwgZGllIG5vY2ggbWVociBrb2VubmVuIGFscyBtZWNrZXJuIDopCgpDaXNvdSwgaXN0IGZyb2gsIGRhc3MgZGllIFBhcnR5LU9yZ2FuaXNhdGlvbiB2b3JiZWkgaXN0IChlcyBnYWIgaW4gZGVyIFRhdCBuZQpNZW5nZSB6dSB0dW4pIHVuZCBob2ZmdCwgZGFzcyBhdWNoIGRhcyBHZW5vZXJnZWwgYmFsZCBlaW4gRW5kZSBoYXQuIDopKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVpd2VoISAoSGFzaW0sIDE5LiBNYXIgMTk5OSwgMjI6NDA6MDcpOgpBbHNvIHdpcmtsaWNoLCB3YXMgZ2lidHMgZGVubiBkYSB6dSBtZWNrZXJuLCBtZWluZXIgbWVpbnVuZyBuYWNoIHdhciBkb2NoIG51bgp3aXJrbGljaCBnZWdlbiBkaWUgZmV0ZSBuaWNodHMgenUgc2FnZW4sIHdpciBoYXR0ZW4gZWluIGRhY2ggdWViZXJtIGtvcGYgdW5kCnp1IHRyaW5rZW4gZ2FicyBqYSB3b2hsIGF1Y2guLi4gdm9uIGRlciBsdWZ0IGFsbGVpbiBzaW5kIGRpZSBsZXV0ZSB3b2hsIG5pY2h0Cnp1IGJlc29mZmVuIGdld29yZGVuLgpXYXMgaGFidCBpaHIgZGVubiwgaWNoIGplZGVuZmFsbHMgd2FyIHBvc2l0aXYgZXJzdGF1bnQgdWViZXIgZGllIGZldGUsIHVuZCB3ZXIKdW5iZWRpbmd0IG1lY2tlcm4gd2lsbCwgc29sbHMgYmVzc2VyIG1hY2hlbiBvZGVyIHNpY2ggZWluZmFjaCBtYWwgZnJhZ2VuLAp3YXJ1bSBlci9zaWUvZXMgc2ljaCBuaWNodCBhbXVlc2llcnQgaGF0LgpIYXNpbSwgZXR3YXMgZGVzaWxsdXNpb25pZXJ0IHVlYmVyIGVpbiBwYWFyIGxldXRlLgoKUC5TLiBlcyBoYWV0dGUgc2ljaCBhdWNoZyBnYXJuaWVtYW5kIGhpbnNldHplbiB1bmQgd2FzIG9yZ2FuaXNpZXJlbiBtdWVzc2VuLAphYmVyIGRhbm4gaGFldHRlbiB3b2hsIGF1Y2ggd2VsY2hlIHdhcyB6dSAic2FnZW4iIGdlaGFidCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hcmJ1cmNoIChTdW5mbG93ZXIsIDE5LiBNYXIgMTk5OSwgMjI6NDI6NDEpOgpBbHNvIG1pciBoYXRzIGd1dCBnZWZhbGxlbiwgdm9yIGFsbGVtIGRhcyBXZXR0ZXIgKHdpZSB6dSBqZWRlciBXaW50ZXJwYXJ0eSA6KQopCkRhbm4gZGllIFVudGVyYnJpbmd1bmcgd2FyIHN1cGFhYSB1bmQgZGllIFF1ZXN0IGFlaGggbmFqYSwgYWxzbyBpY2ggaGFiIG1pdApkZXIKR3J1cHBlIGluIGRlciBpY2ggd2FyIG5lIEVpc2RpZWxlLCBNY0RvbmFsZHMgdW5kIGVpbiBTdHJhc3NlbmNhZmUgZ2VmdW5kZW4uCgpBbnNvbnN0ZW4gZ3Jvc3NlcyBMb2IgYW4gZGllIE9yZ2FuaXNhdG9yZW4gKHVuZCB2b3IgYWxsZW0gS2V5IGRlciBtaWNoIG5vY2gKaW4gYW5kZXJlbiBadXN0YWVuZGVuIHp1ciBuYWVjaHN0ZW4gVGFua2UgZ2VmdWVocnQgaGF0IHp3ZWNrcyBLaXBwZW4gOykgKQoKU3VuKgooamV0enQgbWl0IHNjaHdhcnplbSBIYWFyIHVuZCBibGF1ZXIgTG9ja2UgOikgKQotLS0tCk1hbmNobWFsIGthbm4gaWNoIGluIGVpbmVtIHZlcnRyYXV0ZW4gR2VzaWNodCAKbmljaHRzIHdlaXRlciBlcmtlbm5lbiwgYWxzIGRpZSBTcHVyZW4KZGllIGRlciBUb2QgZGFyaW4gaGludGVybGFzc2VuIHdpcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZWl3ZWghIChBbmF0b2wsIDE5LiBNYXIgMTk5OSwgMjI6NTU6MzIpOgp+IyEgcm49SGFzaW0gcnQ9OTIxODc5NjA3IHJnPXBhcnR5Cn4jISB0aWQ9OTIxODc5NjA3Cj4gLi4uIG9kZXIgc2ljaCBlaW5mYWNoIG1hbCBmcmFnZW4sIHdhcnVtIGVyL3NpZS9lcyBzaWNoIG5pY2h0IGFtdWVzaWVydCBoYXQuCgpXZWlsIGVzIHppZW1saWNoIHRvZXRlbmQgaXN0LCB3ZW5uIGRlciBGcmVpdGFnYWJlbmRwYXJ0eXJhdW0gZnVlciA4MCBMZXV0ZQpiZW1lc3NlbiBpc3QsIHdlaWwgYmVpbSBMb2thbCA3MC05MCBQZXJzb25lbiBhbmdlbWVsZGV0IHdhcmVuLCBkZXIgUmF1bSBhYmVyCm1pdCAxMjAgTXVkZGVybiB2b2xsZ2VzdG9wZnQgd2lyZC4gCgpXZWlsIGVzIHppZW1saWNoIGRyZWlzdCBpc3QsIHdlbm4gbWFuIGZ1ZXIgZWluZSBQYXJ0eSBsb2VobmVuIG11c3MsIGFiZXIsCnZvbSAodmVyc3BhZXRldGVuKSBLYWZmZWUgdW5kIEJyb2V0Y2hlbiBhYmdlc2VoZW4sIGRhbm4gZG9jaCBhdWYgZGllIHZpZWxlbgpQaXp6ZXJpZW4gb2RlciBDYWZldGVyaWVuIHZvciBPcnQgenVydWVja3p1Z3JlaWZlbiBoYXR0ZS4gV2FzIGhvZXJ0ZSBpY2gKYW0gUGFydHlzYW1zdGFnPyAiMTIwIGdyb3NzZSBQb3J0aW9uZW4iPyBEYSBrZW5uZSBpY2ggYmVzc2VyZSBXaXR6ZS4KCldlaWwgZXMgemllbWxpY2gga3VyenNpY2h0aWcgaXN0LCB3aXJrbGljaCBnZW5hdSBzbyB2aWVsZSBMZXV0ZSBmdWVyIGRlbgpCZXN1Y2ggYmVpbSBDaGluZXNlbiBhbnp1bWVsZGVuIHdpZSBzaWNoIGJlaW0gU3BpZWxlciBDaGluZXNlIGdlbWVsZGV0IGhhYmVuLgoKLi4uIHVuZCB3ZWlsIG1hbiBBTExFUyBkYXMgaGFldHRlIHZlcm1laWRlbiBrb2VubmVuLCB3ZW5uIG1hbiBzaWNoIG1pdCBlaW5lbQpkZXIgZXJmYWhyZW5lbiBQYXJ0eW9yZ2FuaXNhdG9yZW4genVzYW1tZW5nZXNldHp0IGhhZXR0ZS4gV2VyIGVpbmUgUGFydHkKb3JnYW5pc2llcnQsIGVybnRldCBiZWkgRXJmb2xnIGFuZ2VtZXNzZW5lbiBEYW5rIHVuZCBBbmVya2VubnVuZywgc29sbHRlCmFiZXIgbmljaHQgdmVyZ2Vzc2VuLCBkYXNzIGRpZSB1ZWJlcm5vbW1lbmUgVmVyYW50d29ydHVuZyBiZWkgVmVyc2FnZW4gaW4KZW50dGFldXNjaHRlIEtyaXRpayB1bWdlbXVlbnp0IHVuZCB6dXJ1ZWNrZ2V6YWhsdCB3aXJkLgoKQW5hdG9sIC0ga2FubnMgYXVjaCBkZXV0bGljaGVyIGZvcm11bGllcmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZWl3ZWghIChTdW5mbG93ZXIsIDE5LiBNYXIgMTk5OSwgMjI6NTY6NDApOgp+IyEgcm49QW5hdG9sIHJ0PTkyMTg4MDUzMiByZz1wYXJ0eQp+IyEgdGlkPTkyMTg3OTYwNwpIRVVMIERPQ0ggCkhFVUwgRE9DSApIRVVMIERPQ0gKOykKLS0tLQpNYW5jaG1hbCBrYW5uIGljaCBpbiBlaW5lbSB2ZXJ0cmF1dGVuIEdlc2ljaHQgCm5pY2h0cyB3ZWl0ZXIgZXJrZW5uZW4sIGFscyBkaWUgU3B1cmVuCmRpZSBkZXIgVG9kIGRhcmluIGhpbnRlcmxhc3NlbiB3aXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlaXdlaCEgKEplbmFuZHJhLCAxOS4gTWFyIDE5OTksIDIzOjAxOjQ2KToKfiMhIHJuPUFuYXRvbCBydD05MjE4ODA1MzIgcmc9cGFydHkKfiMhIHRpZD05MjE4Nzk2MDcKYWxzbyBzbyBsYW5nc2FtIHJlaWNodHMuIGRpZSBtZWNrZXJlciBoYWJlbiBvZmZlbnNpY2h0bGljaCBub2NoIGtlaW5lIHNjaGxlY2h0Cm9yZ2FuaXNpZXJ0ZSBwYXJ0eSBlcmxlYnQuIHBhbm5lbiBnaWJ0cyBpbW1lciwgaWNoIG1vZWNodCBlY2h0IG1hbCBkaWUgc2VoZW4sCmRpZSBzaWNoIGpldHp0IGJlc2Nod2VyZW4sIHdpZSBzaWUgc293YXMgcGVyZmVrdCBoaW5rcmllZ2VuLiBtaXIgdHVuIGF1ZiBqZWRlbgpmYWxsIGRpZSBvcmdhbmlzYXRvcmVuLy1pbm5lbiBsZWlkLCBkaWUgc2ljaCB2ZXJkYW1tdCB2aWVsIGFyYmVpdCBnZW1hY2h0CmhhYmVuLCB1bmQgc28gYW5nZWdyaWZmZW4gd2VyZGVuLgoKSmVuYW5kcmEsIGZhbmQgZGllIHBhcnkgc3VwZXJrbGFzc2UgdW5kIHd1ZXJkZSBqZWRlcnplaXQgd2llZGVyIGZ1ZXIgbXIKc3RpbW1lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5ISEhIChNb250YW51cywgMTkuIE1hciAxOTk5LCAyMzoyODo0MCk6CgpJaHIgc2VpZCBhbGxlIG5vY2ggaW4gUGFydHlsYXVuZT8KSWhyIHdvbGx0IGVpbmUgU29tbWVycGFydHk/CgpBYWFhYWFsc286IGhpZXIgaXN0IGRpZSBCZXdlcmJ1bmcgTnVtbWVyIDEuCldhbm46IGlyZ2VuZHdhbm4gaW0gSnVsaQpXbzogaW0gc2Nob2VuZW4gSHVuc3J1ZWNrIChTdWVkd2VzdGRldXRzY2hsYW5kKQpXYXM6IEJpcyB6dSBlaW5lciBXb2NoZSAiQ2FtcCIgbWl0ICpCZXR0KiB1bmQgKlZvbGx2ZXJwZmxlZ3VuZyogKGdhcmFudGllcnQ6CmFsbGUgd2VyZGVuIHNhdHQpLCBhbSBXb2NoZW5lbmRlIGRhbm4gUGFydHkKCls0fk5hY2h0ZWlsZTogaXN0IGVpbiB3ZW5pZyB0ZXVyZXIgYWxzIENhbXBpbmdwbGF0eiwgbmljaHQgaW4gZGVyIE5hZWhlIHZvbgpNdWVuc3RlcgpWb3J0ZWlsZTogd2VpdGFzdSBrb21mb3J0YWJsZXIgYWxzIENhbXBpbmdwbGF0eiwgc2VociBzdGlsdm9sbGUgVW50ZXJicmluZ3VuZwppbiBlaW5lbSBhbHRlbiBTY2hsb3NzLCB2aWVsIEF1c2xhdWYgZnVlciBSTC1RdWVzdHMgZXRjLgoKSW50ZXJlc3NlPyBHZWdlbmthbmRpZGF0ZW4/CkRhIGljaCBiaXMgT3N0ZXJuIGluIFVybGF1YiBiaW4sIG11ZXNzdCBpaHIgZGVuIFJlc3QgZGVzIHZvcmxhZXVmaWdlbgpPcmdhbmlzYXRpb25za29taXRlZXMgKHplcGh5ciwgVHJ5ZmFuKSBhbnNwcmVjaGVuLiA6KQoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUdXJuaGFsbGUgKFRlZGR5LCAxOS4gTWFyIDE5OTksIDIzOjM4OjQ0KToKfiMhIHJuPVJpbmdvciBydD05MjE4NjUwNTAgcmc9cGFydHkKfiMhIHRpZD05MjE2OTYyNTQKSG0sIHNvIHJpY2h0aWcgZXJnaWViaWcgd2FyZW4gZGllIEluZm9zIGRlciBhbHRlbiBIYXNlbiBhYmVyIG5jaWh0IDstKQoKVGVkZHksIHNpZWh0IGRhcyBhYmVyIGltIFByaW56aXAgZ2VuYXVzbyB1bmQgaGF0dGUgbWFsIFphaGxlbiBhdWZnZWhvYmVuIGZ1ZXIKc293YXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkhISEgKFRlZGR5LCAxOS4gTWFyIDE5OTksIDIzOjQ0OjI3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkyMTg4MjUyMCByZz1wYXJ0eQp+IyEgdGlkPTkyMTg4MjUyMApBTHNvIGdhbnogZWhybGljaCwgaWNoIGRlbmtlIG5pY2h0IGRhcyBpaHIgZGllIGVyc3RlbiBzZWlkLCBlaGVyIGRpZSAzdGVuIGRpZQplcyBlcndhZWhuZW4uClZpZWxsZWljaHQgc2NocmVpYmVuIGRpZSBhbmRlcmVuIGRpZSBzaWNoIGJpc2xhbmcgc2Nob24gbmdlbWVsZGV0IGhhYmVuIGF1Y2gKbWFsIHdhcyBkYXp1IHdpZSB3ZWl0IHNpZSBzaW5kIHVuZCB3aXIga2xhZXJlbiBlcnN0bWFsLCB3byBlcyBzdGF0dGZpbmRlbgpzb2xsLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVpd2VoISAoVGVkZHksIDE5LiBNYXIgMTk5OSwgMjM6NTc6MDApOgp+IyEgcm49SmVuYW5kcmEgcnQ9OTIxODgwOTA2IHJnPXBhcnR5Cn4jISB0aWQ9OTIxODc5NjA3CkFsc28gaW0gUHJpbnppcCBnZWh0cyBkb2NoIHVtIGZvbGdlbmRlczogCk1hY2hzdCBkdSBuZSBQYXJ0eSB1bmQgZXMgZ2VodCB3YXMgc2NoaWVmLCB3YXMgbmljaHQgdm9yaGVyc2VoYmFyIHdhciBpc3RzCmtlaW4gUHJvYmxlbS4gSW4gRG9ydG11bmQgd2FyIGJlaXNwaWVsc3dlaXNlIGRpZSBIZWl6dW5nIGltIFBhcnR5cmF1bSBrYXB1dHQKKGxpZXNzIHNpY2ggbmljaHQgcnVudGVyZHJlaGVuKSwgQmllciB3YXIgcmVjaHQgd2FybSwga2VpbmVyIGhhdCBlcm5zdGhhZnQKZ2VtZWNrZXJ0LgpEYXMgc2luZCBzbyBQYW5uZW4sIG1pdCBkZW5lbiBrYW5uIG1hbiBuaWNodCByZWNobmVuLCBkaWUgc2luZCBPSy4KQXVmIGRlciBhbmRlcmVuIFNlaXRlIGdpYnRzIGFiZXIgUGFubmVuLCBkaWUgc2ljaCBoYWV1ZmVuIHdpZSBpbiBkaWVzZW0gRmFsbAp1bmQgbmViZW5iZWkgZWlnZW50bGljaCB1bnRlciBBbmZhZW5nZXJmZWhsZXIgdmVyYnVjaHQgd2VyZGVuIHNvbGx0ZW4sIGRhIG1hbgpzaWUgbnVyIGVpbm1hbCBtYWNodC4KTnVuIGlzdCBhYmVyIGJla2FubnQsIGRhcyBzaWNoIG51ciAzMCBMZXV0ZSBiZWltIENoaW5lc2VuIGFubWVsZGVuIHVuZCBsb2NrZXIKODAga29tbWVuLCBkYXMgaXN0IElNTUVSIHNvLgpEYXMgR2xlaWNoZSBnaWx0IGZ1ZXIgRXNzZW4sIGVzIGdpYnQgRXJmYWhydW5nc3dlcnRlIGF1ZiBkaWUgbWFuCnp1cnVlY2tncmVpZmVuIGthbm4uIERhcyBpbiBkZW0gUmFobWVuIEtsZWluaWdrZWl0ZW4gd2llIG5lIG1pZXNlIEFic3ByYWNoZQpiZWkgZGVyIEhhbGxlIHVuZCBzbyBkaWUgTGV1dGUgbmljaHQgZnJvZWhsaWNoZXIgbWFjaGVuIGlzdCBkYSB3b2hsIG51ciB6dQp2ZXJzdGFlbmRsaWNoLCBzZWxic3Qgd2VubiBkaWUgT3JnYW5pc2F0b3JlbiBkYSBuaXggZnVlciBrb2VubmVuLgpOYWphLCB2aWVsbGVpY2h0IGRlbmtlbiBkaWUgTmFlY2hzdGVuIGRyYW4gdW5kIGZyYWdlbiB3aWVkZXIgbmFjaC4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBlaXdlaCEgKEplbmFuZHJhLCAyMC4gTWFyIDE5OTksIDAwOjAwOjMwKToKfiMhIHJuPVRlZGR5IHJ0PTkyMTg4NDIyMCByZz1wYXJ0eQp+IyEgdGlkPTkyMTg3OTYwNwphbHNvIC0gZGFzIG1pdCBkZW0gY2hpbmVzZW4gd2FyIHNvd2VpdCBpY2ggZGFzIG1pdGdla3JpZWd0IGhhYiBuZQprb21tdW5pa2F0aW9uc3Bhbm5lLCBkaWUgdGF0c2FlY2hsaWNoIGltbWVyIG1hbCBwYXNzaWVyZW4ga2Fubi4gZGFzIG1pdCBkZW0KZXNzZW4gcGFzc2llcnQgdW5zIG1pdCB1bnNlcmVyIGZhY2hzY2hhZnQgYXVjaCBpbW1lciB3aWVkZXIsIHdlaWwKcGFydHlzZXJ2aWNlcyBvZmZlbnNpY2h0bGljaCBuaWNodCB3aXNzZW4sIHdpZXZpZWwgZ2VnZXNzZW4gd2lyZC4gZGEga2FubnN0ZQpmdWVyIG1laHIgbGV1dGUgYmVzdGVsbGVuIGFscyBkYSBzaW5kIHVuZCBlcyByZWljaHQgaW1tZXIgbm9jaCBuZXQuIHVuZCBtaXQKZGVyIHR1cm5oYWxsZSAuLi4gYWxzbyBpY2ggcGVyc29lbmxpY2ggaGFiIGRhIG5peCB2b24gaXJnZW5kd2VsY2hlbgpncm9zc2FydGlnZW4gcHJvYmxlbWVuIG1pdGdla3JpZWd0IC0gdW5kIG1hbiBrYW5uIHNpY2ggYXVjaCBuZSBwYXJ0eSB2ZXJkZXJiZW4KbGFzc2VuLCB3ZW5uIG1hbiBkYXMgbW9lY2h0ZS4KCkplbmFuZHJhLCBzb2xsdGUgc2ljaCBlaWdlbnRsaWNoIG5pY2h0IHNvIGF1ZnJlZ2VuIGluIGlocmVtIGFsdGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5ISEhIChTb3lvLCAyMC4gTWFyIDE5OTksIDAwOjExOjI4KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkyMTg4MjUyMCByZz1wYXJ0eQp+IyEgdGlkPTkyMTg4MjUyMApIaSBJaHJzICEKCkhpZXIga29tbXQgZGllIGVyc3RlIEZ1ZXJzdGltbWUsIGRhIGltIHN1ZWRkZXV0c2NoZW4KUmF1bSBqYSBzb3dpZXNvIHNvIHdlbmlnIE1VRC1QYXJ0eXMgZ2VtYWNodCB3ZXJkZW4sCndhZXJlIGRpZXMgZG9jaCBtYWwgZWluIGtsZWluZXIgQXVzZ2xlaWNoLCBvZGEgPwoKCiBTb3lvIC0gd2lsbCBhdWNoIG1hbCBkaWUgZ2FuemVuIFN1Y2h0aWVzIGtlbm5lbmxlcm5lbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVHVybmhhbGxlIChUYXJpbmEsIDIwLiBNYXIgMTk5OSwgMDA6NDQ6NDgpOgp+IyEgcm49UmluZ29yIHJ0PTkyMTg2NTA1MCByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NAoKQWVobSwgaWNoIHdlcmZlIG5pZW1hbmRlbSB3YXMgdm9yLiBJY2ggd2FyIG5pY2h0IGRhLCB3aWUga29lbm50ZSBpY2ggZGEKamVtYW5kZW0gd2FzIHZvcndlcmRlbiB3b2xsZW4uCkFiZXIgbWljaCB3dWVyZGUgc2Nob24gaW50ZXJlc3NpZXJlbiwgd2FzIG1hbiBhbGxlcyBzbyBiZWRlbmtlbiBtdXNzLCB3ZW5uIG1hbgpzb3dhcyB2ZXJzdWNodCB6dSBvcmdhbmlzaWVyZW4uIFZpZWxsZWljaHQga29tbSBpY2ggamEgYXVjaCBtYWwgaW4gc28gbmUKTGFnZS4uLgoKVGFyaW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkhISEgKEZpcmVoYXdrLCAyMC4gTWFyIDE5OTksIDAxOjQ5OjQxKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkyMTg4MjUyMCByZz1wYXJ0eQp+IyEgdGlkPTkyMTg4MjUyMApUb2xsZSBJZGVlIGRhcy4gSGFiIG5peCBnZWdlbiBTdWVkd2VzdGRldXRzY2hsYW5kLCBmYWhyZW4gbXVzcyBpY2gKd2FocnNjaGVpbmxpY2ggc293aWVzbyA6KQpBYmVyIGRlciBUZXJtaW4sIEp1bGksIGRhIG11ZXNzdGVuIHdvaGwgZGllIG1laXNzdGVuICh6dW1pbmRlc3QgZGllIFN0dWRlbnRlbikKbWFsIGlocmUgVGVybWlua2FsZW5kZXIgY2hlY2tlbi4KSWNoIHdlaXNzIG5ldCBnZW5hdSwgd2FubiBkaWUgUHJ1ZWZ1bmdlbiBzaW5kLCBhYmVyIGljaCBiaW4gbWlyIGlyZ2VuZHdpZQp6aWVtbGljaCBzaWNoZXIsIGRhc3MgSnVsaSBldHdhcyB6dSBmcnVlaCBmdWVyIGRpZSBTdHVkZW50ZW4gdW50ZXIgdW5zIGlzdAoodW5kIGRhcyBzaW5kIGphIG51biBpcmdlbmR3aWUgbmV0IHdlbmlnZSkuCklycmUgaWNoIG1pY2ggZGEsIG9kZXIgd2FyIGRhcyBsZXR6dGVzIEphaHIgc3BhZXRlciAuLi4KCk1hY2h0IHdhcyBpaHIgZGVua3QsIGFiZXIgZGVua3QgYmV2b3IgaWhyIHdhcyBtYWNodCA7KSBGaXJlaGF3ayAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUdXJuaGFsbGUgKEFuYWtpbiwgMjEuIE1hciAxOTk5LCAyMTozOToyOSk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9OTIxNzkyMTY3IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNjk2MjU0CgpOYWphLAoKbmFjaCBlaW4gcGFhciBFcmZhaHJ1bmdzd2VydGUgdm9uIFZvcnBhcnRpZXMga2FubiBtYW4gamEgZnJhZ2VuLApoYWJlbiB3aXIgaW4gQmVybGluIGphIGF1Y2ggZ2VtYWNodCwgZGFubiBiZWtvbW10IG1hbiBuZSB1bmdlZmFlaHJlClZvcnN0ZWxsdW5nIHdhcyBtYW4gcmFuc2NoYWZmZW4gbXVzcy4gClp1bSBGcnVlaHN0dWVjayA4MDBnIEthZXNlIGlzdCBldHdhcyB1bnRlcmRpbWVuc29uaWVydCA6KS4KCkFuYWtpbi4KClAuUy46IGphIGljaCBoYWIgbm9jaCBuaWNodCBhbGxlIEFydGlrZWwgaW0gVGhyZWFkIGdlbGVzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFR1cm5oYWxsZSAoQW5ha2luLCAyMS4gTWFyIDE5OTksIDIxOjQzOjQzKToKfiMhIHJuPUFuYWtpbiBydD05MjIwNDg3Njkgcmc9cGFydHkKfiMhIHRpZD05MjE2OTYyNTQKCkdsZWljaCBub2Nod2FzLCB3ZWlsIHNpY2ggaXJnZW5kd2llIGRvY2ggc28gdmllbGUgcG9zaXRpdmUgU3RpbW1lbgphZXVzc2VybiwgaWNoIGZhbmQgZXMgZGllIHNjaGxlY2h0ZXN0ZSBQYXJ0eSBzZWl0IDE5OTUgb2RlciBzbwp1bmQgbWljaCBhZXJnZXJ0IGVzIGltbWVyIG5vY2ggZGFmdWVyIGV4dHJhIG5lbiBUYWNoIHVybGF1YiBnZW5vbW1lbgp6dSBoYWJlbiwgYWJlciBzbyBpc3NlcyB3b2hsLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVHVybmhhbGxlIChTaGFyaWEsIDIxLiBNYXIgMTk5OSwgMjI6MDQ6MDYpOgp+IyEgcm49QW5ha2luIHJ0PTkyMjA0OTAyMyByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NApJY2ggd2FyIG5lZGQgbGFuZyBkYSwga2FtIHp1bSBFc3NlbiBlaCB6dSBzcGFldCwgaGF0dGUgbmljaCBkYW1pdCBnZXJlY2huZXQKbm9jaCB3YXMgYWJ6dWJla29tbWVuLCBmYW5kIGRpZSBGZXRlIGVpZ2VudGxpY2ggb2sgLi4uLgpEYW5rZSBhdWYgamVkZW4gRmFsbCBhbiBkaWUgT3JnYW5pc2F0b3JlbiBkaWUgc2ljaCB2aWVsIE11ZWhlIGdlZ2ViZW4gaGFiZW4uCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVHVybmhhbGxlIChBcmlhbmEsIDIyLiBNYXIgMTk5OSwgMDE6MTk6MTIpOgp+IyEgcm49QW5hdG9sIHJ0PTkyMTY5NjM0MyByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NApkYW5uIG1hY2hzIGRvY2ggbWFsIGJlc3NlciBpbiBvc25hIGFuYXRvbAorKwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5ISEhIChBcmlhbmEsIDIyLiBNYXIgMTk5OSwgMDE6MjY6MDUpOgp+IyEgcm49TW9udGFudXMgcnQ9OTIxODgyNTIwIHJnPXBhcnR5Cn4jISB0aWQ9OTIxODgyNTIwCmphamFqYWphCgphcmlhbmEgKmRpZSBpZGVlIG1pdCBkZXIgYnVyZyB1bmQgZGVuIHByb3NwZWt0IGtsYXNzZSBmaW5kZW5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlaXdlaCEgKExpYXJhLCAyMi4gTWFyIDE5OTksIDA2OjQyOjI2KToKfiMhIHJuPUFuYXRvbCBydD05MjE4ODA1MzIgcmc9cGFydHkKfiMhIHRpZD05MjE4Nzk2MDcKSG1tbW1tIC4uLgpNZWluIGxpZWJlciBBbmF0b2whCgpTY2hlaW5iYXIgaGFzdCBEdSBuaWNodCB2ZXJzdGFuZGVuLCBkYXNzIHNpY2ggaGllciBMZXV0ZSBmdWVyIExhdSB1bSBkaWUgUGFydHkKZ2VrdWVtbWVydCB1bmQgc2ljaCBNVUVIRSBnZWdlYmVuIGhhYmVuLgpEYXMgaXN0IGVpZ2VudGxpY2ggYWxsZXMgd2FzIHphZWhsdC4KU2ljaGVybGljaCBoYWV0dGUgbWFuIGVpbmlnZXMgdmVybWVpZGVuIGtvZW5uZW4sIGFiZXIgRHUgYXJndW1lbnRpZXJzdCwgYWxzIG9iCmRpZSBMZXV0ZSBmdWVyIGlocmUgQXJiZWl0IEV4dHJhemVpdCB1bmQgRXh0cmFnZWxkIGJla29tbWVuIGhhZXR0ZW4uCkRlciBndXRlIFdpbGxlIHphZWhsdCBiZWkgc293YXMgLi4uIGFiZXIgRHUgc2NoZWluc3QgRGljaCBpbiBkaWVzZW0gQmVyZWljaApuaWNodCBvZnQgc2VsYmVyIHp1IGJldGFldGlnZW4uIDopCgpBbHNvIGF1Y2ggdm9uIG1pciBlaW4gZGlja2VzIERhbmtlc2Nob2VuIGFuIGRpZSBNYXJidXJnZXIhISEgVm9yIGFsbGVtIGRpZQpSTC1RdWVzdCB3YXIgS2xhc3NlLgoKQWNoIGphIHVuZCBlcyBpcyBhdWZmYWVsbGlnLCBkYXNzIGRpZSwgZGllIGFtIHdlbmlnc3RlbiBnZWhvbGZlbiBoYWJlbiwgYW0KbWVpc3RlbiBkaWUgS2xhcHBlIGF1ZnJlaXNzZW4hClJlc3Bla3Qgc29sbHRlbiBkaWUgTGV1dGUsIGRpZSBzaWNoIGdla3VlbW1lcnQgaGFiZW4sIHNjaG9uIGVyd2FydGVuIGtvZW5uZW4uCgpMaWFyYSwgaGF0IHNpY2ggc2Nob24gYmVpIGRlciBGYWNoc2NoYWZ0c2FyYmVpdCBpbW1lciB1ZWJlciBNZWNrZXJlciBhdWZnZXJlZ3QKLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUdXJuaGFsbGUgKEtleSwgMjIuIE1hciAxOTk5LCAxMDoyNDowNik6Cn4jISBybj1UYW5nYWx1ciBydD05MjE3OTg1MTMgcmc9cGFydHkKfiMhIHRpZD05MjE2OTYyNTQKSG1tIG5lIFBhcnR5IGRpZXNlciBHcm9lc3NlIHp1IE9yZ2FuaXNpZXJlbiBpc3Qgbm9ybWFsIG5ldCBzY2h3ZXIuCgpOdXIgZGFyZiBtYW4gbmV0IHZlcmdlc3NlbiBkYXMgZXMgbmUgTVVEcGFydHkgaXN0IC4uLi4gRGFmdWVyIGdlbHRlbiBzY2hlaW5iYXIKYW5kZXJlIEdlc2V0emUKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVHVybmhhbGxlIChLZXksIDIyLiBNYXIgMTk5OSwgMTA6NDE6NDIpOgp+IyEgcm49VGFyaW5hIHJ0PTkyMTg4NzA4OCByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NApXYXMgbWFuIGJlc2Vua2VuIG11c3M/CgpOZXQgdmllbCwgamVkZW5mYWxscyBuZXQgd2VubiBEdSB2b24gRGVpbmVtIEdlbGQgZGllIEtvc3RlbiB0cmFlZ3N0LgoKU29sbCBzb3ZpZWwgaGVpc3NlbiB3aWUsIG1pZXQgbmUgVmlsbGEsIGxhc3MgbmVuIDEyIEdhZW5nZSBtZW51ZSBrb21tZW4sCnVlYmVybmFjaHRlbiBuYXR1ZXJsaWNoIGluIG5lbSA1IFN0ZXJuZSBIb3RlbCwgYW5nYWdpZXIgbmVuIHBhYXIgVW50ZXJoYWx0ZXIsCmRpZSBkaWUgTGV1dGUgYXVmIFRyYWIgaGFsdGVuLCBicmF0IGZ1ZXIgamVkZW4gRGVwcGVuIG5lbiBFeHRyYXd1ZXJzdGNoZW4sIHVuZAp2ZXJsYW5nIGRhZnVlciBob2VjaHN0ZW5zIDUgRE0sIHVuZCBmdWVyIExldXRlIGRpZSBuZXQgZnJ1ZWh6ZWl0aWcgdWViZXJ3ZWlzZW4KZ2FyIG5peCBtZWhyLCB3ZWlsIGRpZSBqYSBuaWNodHMgZGFmdWVyIGtvbm50ZW4sIHNjaGxpZXNzbGljaCBoYXQgbmljaHQgamVkZXIKWmVpdCBpbmVyaGFsYiBlaW5lcyBNb25hdHMgenUgdWViZXJ3ZWlzZW4uCgpLZXkKClAuUy46IEJldm9yIG5vY2ggd2VpdGVyIGR1bW1lIEtvbW1lbnRhcmUga29tbWVuOgpJY2ggaGFiIHNjaG9uIG1laHIgYWxzIGRpZXNlIFBhcnR5IG9yZ2FuaXNpZXJ0LCBhYmVyIGljaCBoYXR0ZSBub2NoIG5pZSBMZXV0ZSwKZGllIGxpZWJlciBydW1tb3R6ZW4gYWxzIHNpY2ggenUgYW11ZXNpZXJlbi4gVW5kIGRpZSBmdWVyIDI1IERNIGdlbmF1IGRhcwplcndhcnRlbiB3YXMgb2JlbiBzdGVodC4KU2luZCBzY2hlaW5iYXIgZWNodCBMZXV0ZSBkaWUgc2ljaCBSTCBndXQgYXVza2VubmVuIC4uLi4gS2xhciBtYW4ga29lbm50ZQpzb3dhcyBhdWNoIGZ1ZXIgMTAgRE0gcHJvIFBlcnNvbiBvcmdhbmlzaWVyZW4sIE9obmUgRXNzZW4sIG1pdCBBZnJpIENvbGEsCk9ldHRpbmdlciBCaWVyLCB1bmQgYXVmIG5lciBXaWVzZSBkaWUgbWFuIG5hY2ggMTAgbWluLiB3ZWdlbiBuZW0gd3VldGVuZGVuCkJhdWVybiB2ZXJsYXNzZW4gbXVzcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJsYWJsYSAoS2V5LCAyMi4gTWFyIDE5OTksIDEwOjQ4OjAwKToKTGFyaSBpY2ggaGFiIG1pY2ggc2VociBvZnQgbWlyIENhdHR5IHdlZ2VuIGRlciBQYXJ0eSB1bnRlcmhhbHRlbiAuLi4uCgpVbXMgZWluIGZ1ZXIgYWxsZW1hbCBrbGFyenVzdGVsbGVuOgpFcyB3YXJlbiB6dSBkZXIgWmVpdCB6dSBkZXIgd2lyIGRhcyBtZWlzc3RlIHJlZ2VsbiBtdXNzdGVuLCB3aWUgei5CLiBFc3NlbgpnZXJhZGVtYWwgODAgYW5nZW1lbGRldC4KV2lyIGhhYmVuIERBIEVzc2VuIGZ1ZXIgMTIwIFBlcnNvbmVuIGJlc3RlbGx0LiBHcm9zc2UgUG9ydGlvbmVuLgoKRGVzd2VpdGVyZW4gd3VyZGUgaWNoIGRhcmF1ZiBhdWZtZXJrc2FtIGdlbWFjaHQgZGFzIG1hbiBiZWkgbmVyIFdpbnRlcmZldGUKbWl0Cm1heCAxMDAgTGV1dGVuIHJlY2huZW4gc29sbHRlLiBBbHNvIHNvIDUwIC0gMTAwIHNlaWVuIG5vcm1hbC4KCkJlaW0gRXNzZW4gaGllc3MgZXMgaW1tZXI6IERhIGJsZWlidCBlaCB3YXMgdWVicmlnLCBiZXN0ZWxsdCBuZXQgc292aWVsLgoKWnUgZGVuIEdldHJhZW5rZW4gaGF0IG1pciBDYXR0eSBuZSBMaXN0ZSBkZXIgbGV0enRlbiBTb21tZXJwYXJ0eSBnZWdlYmVuLAp1bmQKbWlyIG5lIHphaGwgZ2VzYWd0IHdhcyBtYW4gcHJvIGtvcGYgcmVjaG5lbiBtdXNzLgoKVW5kIHp1bSBsZWlkaWdlbiBUaGVtYSBWViAuLi4uLgpXaXIgaGF0dGVuIHNlaHIgZnJ1ZWggZ2VmcmFndCBvYiBpcmdlbmRlaW4gU2VtaW5hcnJhdW0gZ2VicmF1Y2h0IHdpcmQsIG51cgp1bSBkYW5uIGt1cnogYmV2b3IgaWNoIFJMIGtlaW5lIFplaXQgaGF0dGUgdm9uIFZpcGVyIGFuZ2Vtb3R6dCB6dSB3ZXJkZW4gZGFzCmVyCmdlZmFlbGxpZ3N0IGpldHp0IHVuZCBzb2ZvcnQgbmUgTW9lZ2xpY2hrZWl0IGJyYXVjaHQgd28gZGllc2VzClZlcmVpbnN0cmVmZmVuIHN0YXR0ZmluZGVuIGthbm4uCkRhendpc2NoZW4gbGFnZW4gdW0gZGllIDIgV29jaGVuIC4uLi4gVW5kIG5laW4gZXIgaGF0dGUga2VpbmUgWmVpdCB1bSBkYXJhdWYKenUgd2FydGVuIGJpcyBpY2ggUkwgd2llZGVyIGRhIGJpbiB1bSB6dSBmcmFnZW4gb2IgZGVyIFNlbWluYXJyYXVtIG5vY2ggZnJlaQppc3QuCgoKS2V5LCBsZXJudCBhdXMgc2VpbmVuIEZlaGxlcm4gdW5kIHdpcmQgc29uIHNjaGVpc3MgbmV0IG1laHIgbWl0bWFjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUEFSVFlGT1RPUyAoVGFuZ2FsdXIsIDIyLiBNYXIgMTk5OSwgMTE6MDU6MTQpOgoKLS0tLS0tLS0tLS0tLS0gUEFSVFlGT1RPUyB2b24gTUFSQlVSRyAtLS0tLS0tLS0tLS0tLS0tCgpIYWxsbywKCmFiIGhldXRlIGdpYnRzIFBhcnR5Zm90b3MgdW50ZXIgZm9sZ2VuZGVyIFVSTCB6dSBzZWhlbgoKaHR0cDovL2Jlb3JuLmFjLnVuaS1rb2Vsbi5kZS90YW5nYWx1ci90YW5nYWx1ci5odG1sCgp2aWVsIFNwYXNzCgogICAgICAgICAgICAgICBCZW9ybiAmIFRhbmdhbHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJsYWJsYSAoS2V5LCAyMi4gTWFyIDE5OTksIDExOjQ1OjM1KToKfiMhIHJuPUtleSBydD05MjIwOTYwODAgcmc9cGFydHkKfiMhIHRpZD05MjIwOTYwODAKQWNoamEgbm9jaCBlaW5lIEtsZWluaWdrZWl0IC4uLi4KCkdld2lubiBiZWkgZGVyIFBhcnR5OiAxODAsNDdETS4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBibGFibGEgKEthcmlzLCAyMi4gTWFyIDE5OTksIDExOjU4OjU4KToKfiMhIHJuPUtleSBydD05MjIwOTk1MzUgcmc9cGFydHkKfiMhIHRpZD05MjIwOTYwODAKRGFzcyBEdSBEaWNoIG5pY2ggc2NoYWVtc3Qgb2IgZGllc2UgaG9ycmVuZGVuIFVuc3VtbWVuLiBEaWVzZSBBYnpvY2tlIQo7KSkKV2llIHdhZXJzLCB3ZW5uIER1IGRlbiBHZXdpbm4sIGFuc3RhdHQgaWhuIHp1IHZlcnN0ZXVlcm4sIHVudGVyIGRpZSBuaWNodC0KbWVja2VybmRlbiBUZWlsbmVobWVybiBhdWZ0ZWlsc3Q/IERhcyBtYWNodCBmdWVyIGRpZSBwYWFyIGRhbm4gZG9jaCAKZWluIHJ1bmRlcyBTdWVtbWNoZW4sIG1pdCBkZW0gbWFuIHNpY2ggZWluIHdlaXRlcmVzIEFiZW5kZXNzZW4gYmVzdGVsbGVuCmtvZW5udGUgOykpCgpLYXJpcywga2FubnMgbmljaCBhYmhhYmVuLCB3ZW5uIGVocmVuYW10bGljaGUgTGV1dGUgZnVlciBpaHJlIEFyYmVpdAphdWNoIG5vY2ggYW5nZW1lY2tlcnQgd2VyZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VsZCB1ZWJyaWc/Pz8gKEhhc2ltLCAyMi4gTWFyIDE5OTksIDE2OjU5OjM2KToKSmFhYWFhYSwgbm9jaCBuZSBQYXJ0eS4uLi4gZnVlciBkYXMgR2VsZCBtdWVzc3RlIG1hbiBkb2NoIGJlc3RpbW10IGVpbiBwYWFyClR1ZXRlbiBDaGlwcyBrcmllZ2VuLi4udW5kIEdldHJhZW5rZSB1bmQgd2VubiBub2NoIGplZGVyIHdhcyBtaXRicmluZ3QgOykKSGFzaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcnBhcnR5LVJMLXF1ZXN0IChPcmt0b2V0ZXIsIDIyLiBNYXIgMTk5OSwgMTc6MDU6MDMpOgpBbiBkaWVzZXIgU3RlbGxlIGVpbiBnYW56IGdyb3NzZXMgTG9iIGFuIGRpZSBPcmdhbmlzYXRvcmVuIGRlciBSTC1RdWVzdCAhCkRlciBEcmFodCBuYWNoIG9iZW4gaXN0IGFic29sdXQgTG9iZW5zd2VydCAoRXJzdGtsYXNzaWdlcyBXZXR0ZXIgISEpIHVuZCBkaWUKUXVlc3QgZnVlaHJ0ZSBlaW5lbiB6dSBkZW4gd29obCBzY2hvZW5lc3RlbiBPcnRlbiBpbiBkaWVzZXIgZWggbWFsZXJpc2NoZW4KU3RhZHQgIQoKRWluZmFjaCBudXIgRGFua2UgIQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjE5OSAoQWNobHlzLCAyMi4gTWFyIDE5OTksIDE3OjQwOjEzKToKfiMhIHJuPUtleSBydD05MjIwOTYwODAgcmc9cGFydHkKfiMhIHRpZD05MjIwOTYwODAKaG1tLiBhbHNvIG1laW5lIHVuYmVkZXV0ZW5kZSBtZWludW5nIHp1IGRpZXNlciBwYXJ0eToKMS4gaWNoIGRlbmtlIG5pY2h0IGRhc3MgZXMgbG9obnQgenVtIHdpZWRlcmhvbHRlbiBtYWxlIGRpZSBybCBxdWVzdAphbnp1ZnVlaHJlbiwKZGVyIHB1bmt0IGlzdCBqYSB3b2hsIHVuc3RyaXR0aWcuCjIuIGRhcyBlc3NlbiB3YXIgbmljaHQgZnVlciAxMjAgbGV1dGUuIGRhcyB3YXIgZnVlciBhbGxlcmhvZWNoc3RlbnMgNTAuCjMuIGRhcyBmcnVlaHN0dWNrIHdhciBzZWhyIGR1ZXJmdGlnLgo0LiBkaWUgdHVybmhhbGxlIGFscyBzY2hsYWZwbGF0eiB3YXIgb2ssIGF1Y2ggd2VubiBtdWRkZXIgYW5zY2hlaW5lbmQgYmVpCmFsa29ob2wgYXVmIGFsbGVzIGJlbmVobWVuIHZlcnppY2h0ZW4gdW5kIGxhZXJtZW5kIGtyZWlzY2hlbmQgdW5kIG1pdCBsaWNodAppaHIKa2xlaW5lcyBzY2hsYWZwbGFldHpjaGVuIGZpbmRlbiBtdWVzc2VuIChkYXMgd2FyIGF1ZiBSUHMgYmVzc2VyKQo1LiBkZXIgcGFydHlyYXVtIGhhZXR0ZSB3b2hsIGdlcmVpY2h0LCBzbyB3YXIgZGFzIGV0d2FzIHplcmxhdWZlbi4gCjYuIHVuZCB6dW0gdGhlbWE6IHdlbm4gaWhyIGZlaWVydCBkdWVyZnQgaWhyIGtlaW5lIGFuc3BydWVjaGUgaGFiZW4uIGFsc28gd2VubgptYW4gZWluZSBlcmthZWx0dW5nIGluIGthdWYgbmltbXQgKGRpZSBtYW4gb2VmdGVycyBhdWYgc28gZmV0ZW4gYmVrb21tdCkgMTAKc3R1bmRlbiBhdXRvIGZhZWhydCwgdXJsYXViIG5pbW10IHVuZCBldHdhcyBiZXphaGx0IHNvbGx0ZSBtYW4gc2Nob24gc2VpbmUKbWVpbnVuZyB6dW1pbmRlc3Qgc2FnZW4gZHVlcmZlbi4KLWFjaGx5cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDE5OSAoS2V5LCAyMi4gTWFyIDE5OTksIDE3OjQ3OjIzKToKfiMhIHJuPUFjaGx5cyBydD05MjIxMjA4MTMgcmc9cGFydHkKfiMhIHRpZD05MjIwOTYwODAKMi4gV2VubiBldXJlIEhvY2h3b2hsZ2Vib3JlbiBtZWludCwgc28gbXVzcyBlcyBuYXR1ZXJsaWNoIHNvIHNlaW4uCjMuIFdhZXJlIFNla3RmcnVlaHN0dWVjayBnZW5laG0/CjQuIEhFVUwgRE9DSAo1LiBFcyBpc3QgbmF0dWVybGljaCBzY2hsaW1tIHdlbm4gbWFuIGRpZSBMZXV0ZSBuaWNodCBkYXp1IHp3aW5ndCBkaWUgZ2FuemUKWmVpdCBpbiBuZW0ga2xlaW5lbiBSYXVtIHp1IGhvY2tlbiB1bmQgc2ljaCB2b24gTXVzaWsgenVkb2VkZWxuIHp1IGxhc3NlbiwKSGllcnp1IG1laW5lIEVudHNjaHVsZGlndW5nLCBkYXMgd2lyIGVzIExldXRlbiB6dWdlbXV0ZXQgaGFiZW4gc2ljaAplbnRzY2hlaWRlbiB6dSBkdWVyZmVuLgo2LiBVbmQgaWNoIGRhcmYgbWVpbmUgTWVpbnVuZyBuaWNodCBkYXp1IHNhZ2VuIHZvbiBhbGxlbiBEZXBwZW4gYW5nZW1vdHp0IHp1CndlcmRlbj8gT2ggbmF0dWVybGljaCBpY2ggdmVyZ2FzcywgaWNoIGJpbiBuYXR1ZXJsaWNoIGVpbiBNaW5kZXJ3ZXJ0aWdlcwpMZWJld2VzZW4gZGFzIGVyc3QgaG9jaGludGVsbGlnZW50ZSB3aWUgRGVpbmVyZWluZXIgZnJhZ2VuIG11c3Mgb2JzIHNwcmVjaG4KZGFyZi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAxOTkgKFphcmRveiwgMjIuIE1hciAxOTk5LCAxOToxNjowMik6Cn4jISBybj1LZXkgcnQ9OTIyMTIxMjQzIHJnPXBhcnR5Cn4jISB0aWQ9OTIyMDk2MDgwCkFsc28sIGljaCBmYW5kIGRpZSBQYXJ0eSBhdWNoIG5pY2h0IHNvIHRvbGwuIE5hY2h0cmFlZ2xpY2hlIEtyaXRpayBtdXNzCmFsbGVyZGluZ3Mgc2VpbiwgZGEgZGFubiBpbiBadWt1bmZ0IHNvbGNoZSBGZWhsZXIgdmVybWllZGVuIHdlcmRlbiBrb2VubmVuLgpTaWUgc29sbHRlIG51ciBuaWNodCBwZXJzb2VubGljaCB3ZXJkZW4sIGRlbm4gaWNoIGthbm4gbWlyIG5pY2h0IHZvcnN0ZWxsZW4sCmRhc3MgamVtYW5kIG11dHdpbGxpZyBlaW5lIFBhcnR5IHNjaGxlY2h0IG9yZ2FuaXNpZXJ0IHVuZCBuYWNoaGVyIGlzdCBtYW4KaW1tZXIga2x1ZWdlci4KRWluIEtvbW1lbnRhciB6dSBkZW4gZ2FuemVuIExldXRlbiwgZGllIHNpY2ggZGFydWViZXIgYXVmcmVnZW4sIGRhc3Mgc2ljaAp3ZWxjaGUgYXVmcmVnZW46IFdlbm4gbWFuIHNlaXQgU29tbWVyIDk0IHJlZ2VsbWFlc3NpZyBhdWYgTXVkLVBhcnRpZXMgZ2VodCwKZGFubiBoYXQgbWFuIG51bm1hbCBlaW5lIGJlc3RpbW10ZSBFcndhcnR1bmdzaGFsdHVuZyB1bmQgd2VubiBkaWVzZQpFcndhcnR1bmdlbiBuaWNodCBlcmZ1ZWxsdCB3ZXJkZW4sIGRhbm4gaXN0IG1hbiBudW5tYWwgZW50dGFldXNjaHQuIApVZWJyaWdlbnMgaGF0dGUgaWNoIHRyb3R6IGFsbGVtIG5lbiByaWVzZW4gU3Bhc3MsIHNjaGxpZXNzbGljaCBzaWVodCBtYW4gZGllCmdhbnplbiBNdWRkZXIgbmljaHQgc29vb28gaGFldWZpZyB1bmQgYXVzc2VyZGVtIGhhdHRlIGljaCBqYSBnZW51ZyBKb2ludHMgOikKCkNpYW8gWmFyZG96CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IDE5OSAoUGF0cnluLCAyMi4gTWFyIDE5OTksIDE5OjIwOjEwKToKfiMhIHJuPUtleSBydD05MjIxMjEyNDMgcmc9cGFydHkKfiMhIHRpZD05MjIwOTYwODAKaWNoIHdlaXNzIGdhciBuaWNodCwgd2FzIGlociBhbGxlIGhhYnQuIGljaCBnZWhvZXJ0ZSBsZWlkZXIgYXVjaCB6dSBkZW5lbiwKZGllIGFuIGxlZXJlbiBlc3NlbnNzY2h1ZXNzZWxuIHZvcmJlaXNjaHdpcnJ0ZW4sIGRpZSBhbmRhdWVybmQgbmFjaCBkZW4KZ2V0cmFlbmtlbiBzdWNodGVuLCB2b3IgZWluZXIgbWl0IG5hY2t0ZW4gbWFlbm5lcm4gZ2VmdWVsbHRlbiB0dXJuaGFsbGUKdmVyd2VpbHRlLCBtZWluIHNjaGF0dGVuIG1vZWdsaWNoc3Qgdm9ydGVpbGhhZnQgYW4gZGllIHdhZW5kZSBkZXMgbHVtaWtsb3MKcHJvamVrdGllcnRlLCBncm9lc3NlcmUgbGF1ZndlZ2Ugendpc2NoZW4gZWluZW0gdW50ZXItIHVuZCBlaW5lbQp1ZWJlcmRpbWVuc2lvbmllcnRlbiBwYXJ0eXJhdW0gaW4gYW5zcHJ1Y2ggbmFobSwgYW0gbGFlbmdzdGVuIGF1ZiBkYXMKZXNzZW4gYmVpIGVpbmVtIG1pY2ggaWdub3JpZXJlbmRlbiBjaGluZXNlbiB3YXJ0ZXRlLCBpbSBkdW5rbGVuIG1laW5lbgpzY2hsYWZzYWNrIHN1Y2h0ZS4uLnVuZCBzdXBlciB2aWVsIGdlbGFjaHQgaGFiZW4uCm5laG10IGVzIGxvY2tlciwgaWNoIHdhciBmcm9oLCBkYXNzIGVzIGVpbmUgcGFydHkgZ2FiIHVuZCBsdXN0aWdlCndpdHplbGVpZW4gdmllbGVuIGVpbmVtIGdlcmFkZXp1IHZvciBkaWUgZnVlc3NlLCBtYW4gbXVzc3RlIHNpZSBudXIgbm9jaApyaWNodHVuZyBrZXkmY28gbWJIIGFic3BpZWxlbiA6KQppY2ggZmFuZHMgbHVzdGlnLCBkaWUgc3RhZHQgaXN0IHN1cGVyIHVuZCBwYXNzdGUgdG9sbCB6dSBlaW5lciBybC1xdWVzdCxkYXMKd2V0dGVyIHdhciB0b3AsIGRpZSBzdGltbXVuZyBwYXNzdGUuIGJpcyB6dW0gbmFlY2hzdGVuIG1hbCBpbiBtYXJidXJnIQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZWl3ZWghIChGZXVlcndlaHIsIDIyLiBNYXIgMTk5OSwgMjA6NDQ6MjIpOgp+IyEgcm49TGlhcmEgcnQ9OTIyMDgxMzQ2IHJnPXBhcnR5Cn4jISB0aWQ9OTIxODc5NjA3CgpJY2ggbW9lY2h0ZSBtaWNoIGRpZXNlbSBBcnRpa2VsIGFuc2NobGllc3Nlbi4KCkdydWVzc2UuCgogIEZldWVyd2Voci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMTk5IChTb3lvLCAyMi4gTWFyIDE5OTksIDIxOjE4OjIwKToKfiMhIHJuPUtleSBydD05MjIxMjEyNDMgcmc9cGFydHkKfiMhIHRpZD05MjIwOTYwODAKTWVpbmUgRnJlc3NlLCBkYXMgSWhyIGhpZXIgaW0gTUcgYXVzIG5lciBNdWVja2UgaW1tZXIgbmVuIERpbm9zYXVyaWVyCm1hY2hlbiBtdWVzc3QuIERhIHdpcmQgc2ljaCBkb2NoIGplZGVuIFRhZyB3ZWdlbiBuZXIga2xlaW5pZ2tlaXQgZGVyIEtvcGYKZWluZ2VzY2hsYWdlbiwga2FubiBkb2NoIG5pY2h0IHNlaW4gZGFzIG1hbiBpbW1lciBudXIgYXVmIGVpbmFuZGVyIGxvc2dlaHQKCkplZGVyIGhhdCBzZWluZSBlaWdlbmUgTWVpbnVuZyB6dSBpcmdlbmRldHdhcyB1bmQgZGllIGRhcmYgZXIgYXVlc3Nlcm4KKHNvIGlzdCBkYXMgbnVuIG1hbCBtaXQgZGVyIE1laW51bmdzZnJlaWhlaXQpLCBhYmVyIGhpZXIgbXVzcyBkb2NoIG5pY2h0CmdsZWljaApyYW1iYXphbWJhIGdlbWFjaHQgd2VyZGVuLCBvZGVyID8KCk1mRyBTb3lvIC0gd2lsbCBzaWNoIG5pY2h0IGVpbm1pc2NoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAxOTkgKEphc29ucmlnaWQsIDIzLiBNYXIgMTk5OSwgMTI6Mjc6NDcpOgp+IyEgcm49UGF0cnluIHJ0PTkyMjEyNjgxMCByZz1wYXJ0eQp+IyEgdGlkPTkyMjA5NjA4MApKYXNvbiBuaWNrdCBQYXRyeW4genVzdGltbWVuZCB6dS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMTk5IChBY2hseXMsIDIzLiBNYXIgMTk5OSwgMTM6MDY6MTApOgp+IyEgcm49S2V5IHJ0PTkyMjEyMTI0MyByZz1wYXJ0eQp+IyEgdGlkPTkyMjA5NjA4MApobW0Kb2guIGljaCB3dXNzdGUgbmljaHQgZGFzcyBtYW4gaGllciBwZXJzb2VubGljaCB3ZXJkZW4gbXVzcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMTk5IChIYXRlLCAyMy4gTWFyIDE5OTksIDEzOjI1OjU1KToKfiMhIHJuPUtleSBydD05MjIxMjEyNDMgcmc9cGFydHkKfiMhIHRpZD05MjIwOTYwODAKTnVuLAoKd2VubiBEdSBzbyBhdWYgYmVyZWNodGlndGUgS3JpdGlrIGFudHdvcnRlc3QsIGJlZGV1dGV0IGRhcyBlaWdlbnRsaWNoCm51ciwgZGFzcyBEdSBzaWUgbmljaHQgdmVyc3RhbmRlbiBoYXN0LiBXaXIgdmVyc3RlaGVuIGR1cmNoYXVzLCBkYXNzCmlociBldWNoIE11ZWhlIGdlZ2ViZW4gaGFidCwgYWJlciBtZWlzdGVucyByZWljaHQgZGFzIG5pY2h0LiBVbSBlaW5lClBhcnR5IG1pdCBkaWVzZXIgQW56YWhsIHZvbiBMZXV0ZW4gdW5kIGRlciBlbnRzcHJlY2hlbmRlbiBWaWVsZmFsdAphbiBNZW5zY2hlbiBndXQgaGluenViZWtvbW1lbiBtdXNzIGVzIGVpbmZhY2ggcmVpYnVuZ3Nsb3NlcgphYmxhdWZlbi4KCkRhcyBIYXVwdHByb2JsZW0gZGFiZWkgd2FyLCBkYXNzIG9mdCBrZWluZXIgZGVyIE9yZ2FuaXNhdG9yZW4gYW5zcHJlY2gtCmJhciB3YXIgb2RlciBlaW4gYWt1dGVzIFByb2JsZW0gYXVmIGplbWFuZCBhbmRlcnMgZ2VzY2hvYmVuIGhhdC4gRGEgCmRhcmYgbWFuIHNpY2ggZGFubiBuaWNodCB3dW5kZXJuLCB3ZW5uIGRhcyBuZWdhdGl2IGdld2VydGV0IHdpcmQuCgpJbnRlcmVzc2FudCBmdWVyIGRpZSBOYWNod2VsdCB3YWVyZSBiZXN0aW1tdCBlaW5tYWwgZGllIEFicmVjaG51bmdlbgpmdWVyIGRpZSBQYXJ0aWVzIHp1IHNlaGVuLiBJY2ggbWVpbmUgZGFtaXQgamV0enQgbmljaHQgbnVyIGRpZSBkaWVzLQpqYWVocmlnZSBXaW50ZXJwYXJ0eSwgc29uZGVybiBhbGxlIGFuZGVyZW4gdm9yaGVyLiBTZWluZXJ6ZWl0IGhhYmUKaWNoIGZ1ZXIgZGllIEthcmxzcnVoZXIgUGFydHkgZWluZSBnZW5hdWUgQXVmc3RlbGx1bmcgZ2VtYWNodCwgd2FzCndpciBiZWltIFNvbW1lcmNhbXAgd2llIGdlcGxhbnQgaGF0dGVuLgoKSWNoIHdlcmRlIGRpZXNlIEluZm9ybWF0aW9uZW4gd29obCBub2NoZWlubWFsIGhlcmF1c2tyYW1lbiB1bmQgYXVmIGRlcgpNRyBXZWJzZWl0ZSBiZXJlaXRzdGVsbGVuIHVuZCBlcndhcnRlIGRhbm4gImZlZWRiYWNrIiB2b24gZGVuIExldXRlbiwKZGllIGJpc2hlciBQYXJ0aWVzIG9yZ2FuaXNpZXJ0IGhhYmVuLiBEYWR1cmNoIGtvZW5uZW4gd2lyIGZ1ZXIgYWxsZQprb21tZW5kZW4gT3JnYW5pc2F0b3JlbiBlaW5lIGd1dGUgQmFzaXMgenVyIEtvc3Rlbi0gdW5kIE1lbmdlbi0KYmVyZWNobnVuZyBiZXJlaXRzdGVsbGVuLgoKRGVzd2VpdGVyZW4gcGxhZWRpZXJlIGljaCBkYWZ1ZXIgZWluZSBBcnQgWmVydGlmaXppZXJ1bmcgdm9yenVuZWhtZW4sCmJlaSBkZXIgZGllIFBsYW51bmcgZGVyIGFrdHVlbGxlbiBQYXJ0eSBlaW4gcGFhciBMZXV0ZW4gKHouQi4gdm9tClZlcmVpbikgdm9yZ2VsZWd0IHdpcmQgdW5kIGRpZSBkYW5uIFZvcnNjaGxhZWdlIG1hY2hlbi4gV2VubiBzaWNoCmRhbm4gTGV1dGUgZmluZGVuLCBkaWUgc2Nob25tYWwgUGFydGllcyBnZW1hY2h0IGhhYmVuLCBzb2xsdGUgZXMKZWlnZW50bGljaCBpbW1lciBvcHRpbWFsIGxhdWZlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbmZvcm1hdGlvbmVuIGZ1ZXIgUGFydHlvcmdhbmlzYXRvcmVuIChIYXRlLCAyMy4gTWFyIDE5OTksIDE1OjQ4OjU1KToKaHR0cDovL21nLm11ZC5kZS9QYXJ0eS9vcmdhLwoKQWxzbyB3ZXIgc2Nob25tYWwgb3JnYW5pc2llcnQgaGF0IHVuZCBoZWxmZW4gd2lsbCwgbWlyIHNjaHJlaWJlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUdXJuaGFsbGUgKFFpdGVzcywgMjQuIE1hciAxOTk5LCAxOTozOToyMik6Cn4jISBybj1KYW1lc29uIHJ0PTkyMTg2NTAxNyByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NAprbGFyLCBlcyBnYWIgdmllbGxlaWNodCBldHdhcyB3ZW5pZyB6dSBlc3NlbiwgYWJlciBlcyBsaWVndCBhdWNoIHp1IGVpbmVtCmdyb3NzZW4gdGVpbCBhbiBkZW4gbGV1dGVuLCBkaWUgZXMgbmljaHQgZ2ViYWNrZW4gYmVrb21tZW4sIHNpY2ggdm9yaGVyCmFuenVtZWxkZW4uIGljaCBzY2hhZXR6ZSwgZWluICd2aWVsbGVpY2h0JyBpc3QgYXVjaCBlaW5lIGd1dGUKb3JnYW5pc2F0aW9uc2hpbGZlLiBuYWphLgp1bmQgYXVzc2VyZGVtIHdhciBkaWUgUkwtcXVlc3QgaW4gbWFyYnVyZyBkaWUgc2Nob2Vuc3RlIHF1ZXN0LCBkaWUgaWNoIGJpc2hlcgptaXRnZW1hY2h0IGhhYmUuIHVuZCBkYXMgbGFnIHNpY2hlciBuaWNodCBudXIgYW4gZGVyIHNjaG9lbmVuIHN0YWR0IHVuZCBkZW0KdG9sbGVuIHdldHRlci4KClFJKiogbG9idCBLZXkuIEhpaGkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBUdXJuaGFsbGUgKFFpdGVzcywgMjQuIE1hciAxOTk5LCAxOTo0MDozOCk6Cn4jISBybj1RaXRlc3MgcnQ9OTIyMzAwNzYyIHJnPXBhcnR5Cn4jISB0aWQ9OTIxNjk2MjU0CkhlaiwgaWNoIGxvYmUgYXVjaCBhbGxlIGFuZGVyZW4gb3JnYW5pc2F0b3JlbiB1bmQgYmV0ZWlsaWd0ZW4gcGxhbmVybiwgekIKY2lzb3UgdW5kIHNyYWJpLiB3ZXIgc29uc3Qgbm9jaCB3YXIsIHdlaXNzIGljaCBuaWNoLiA6KSBkZW5lbiBhYmVyIGF1Y2ggZGFuawoKUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5ISEhIChRaXRlc3MsIDI0LiBNYXIgMTk5OSwgMTk6NTU6NTgpOgp+IyEgcm49TW9udGFudXMgcnQ9OTIxODgyNTIwIHJnPXBhcnR5Cn4jISB0aWQ9OTIxODgyNTIwCnRldXJlciBpc3Qgc2NoZWlzc2UuClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkhISEgKFFpdGVzcywgMjQuIE1hciAxOTk5LCAyMDowMzowNik6Cn4jISBybj1GaXJlaGF3ayBydD05MjE4OTA5ODEgcmc9cGFydHkKfiMhIHRpZD05MjE4ODI1MjAKZmlyZWhhd2ssIGRlciB0ZXJtaW4gaXN0IHd1bXBlLgplcyBpc3Qgdm9lbGxpZyBzY2hudXJ6LCBhdWYgd2VsY2hlbiB0YWcgZGllIHBhcnR5IGdlbGVndCB3aXJkLCB3ZWlsIGluIGRlbgpncm9zc2VuIHNvbW1lcmZlcmllbiBkaWUgbWVpc3RlbiBzdHVkZW50ZW4gZWluZS9tZWhyZXJlIGtsYXVzdXJlbiBzY2hyZWliZW4KdW5kIG5pY2h0IGtvZW5uZW4uIGVzIGtvbW10IHdvaGwgbmllIHZvciwgZGFzcyBhbGxlLCBkaWUgd29sbGVuIGF1Y2ggYWxsZQprb2VubmVuLiAodGVybWlubGljaCkgd2lyIHpiIHNjaHJlaWJlIGRpZSBrbGF1c3VyZW4gaW0gYXVndXN0L3NlcHRlbWJlci4gdW5kCndlbm4gbWFuIGtlaW5lIGtsYXVzdXIgc2NocmVpYmVuIG11c3MsIG11c3MgbWFuIGdhcmFudGllcnQgYXJiZWl0ZW4gZ2VoZW4uCm5hamEuIHdhcyBpY2ggZGFtaXQgc2FnZW4gd29sbHRlOiBlZ2FsLCBhdWYgd2VsY2hlbiB0ZXJtaW4gZGVyIHRlcm1pbiBnZXNldHp0CndpcmQsIGVzIHdpciBpbW1lciBlaW4gcGFhciBsZXV0ZSBnZWJlbiwgZGllIGRhIG5pY2h0IGtvZW5uZW4gdW5kIGRlc3dlZ2VuCihsZWlzZSltZWNrZXJuLgo6KSB0aGF0J3MgbGlmZSAtIHNoYXJwZW4gdGhlIGtuaWZlLgpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkhISEgKEtleSwgMjQuIE1hciAxOTk5LCAyMTo0NjoxMyk6Cn4jISBybj1Nb250YW51cyBydD05MjE4ODI1MjAgcmc9cGFydHkKfiMhIHRpZD05MjE4ODI1MjAKT2VoIGVpbmUgRnJhZ2UgaGFiIGljaCBkYXp1IG5vY2ggLi4uLiBXYXMgYmVkZXV0ZXQgIkNhbXAiIG1pdCAqQmV0dCogdW5kClZvbGx2ZXJwZmxlZ3VuZz8KSXN0IGRhcyBlaW4gSG90ZWw/Ck9kZXIgbWlldGVzdGUgbmVuIFNjaGxvc3MgbWl0IHJpZXNlbiBTY2hsYWZzYWVsZW4gb2RlciB3aWU/CgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZvdG9zIChGaXJlaGF3aywgMjQuIE1hciAxOTk5LCAyMzoyMTo1OSk6Ck9rYXksIGRhbmsgZGVyIEhpbGZlIHZvbiBTaGFkZSAoaWNoIGhhYiBrZWluZW4gU2Nhbm5lciksIExpYXJhIChtZWluCk5hbWVuc2dlZGFlY2h0bmlzIGlzdCBhdWNoIG5pY2h0IG1laHIgd2FzIGVzIG5pZSB3YXIpIHVuZCBSb2NodXMgKHdlbGNoZXIgZGFzCmdhbnplIGF1ZiBkZXIgV2Vic2VpdGUgdmVyYW5rZXJ0ZSkgc2luZCBtZWluZSBGb3RvcyBqZXR6dCBhdWYgZGVyIE1HLVNlaXRlCmFicnVmYmFyLiBWaWVsIFNwYXNzIQoKRmlyZWhhd2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFR1cm5oYWxsZSAoTWFoYXRtdSwgMjUuIE1hciAxOTk5LCAxOTozNzo1Mik6Cn4jISBybj1RaXRlc3MgcnQ9OTIyMzAwODM4IHJnPXBhcnR5Cn4jISB0aWQ9OTIxNjk2MjU0ClNvLCBhdWNoIG5vY2ggbWVpbmVuIEtvbW1lbnRhci4gClBvc2l0aXY6CiAtIGRpZSBVbnRlcmJyaW5ndW5nIHdhciBwcmltYSAobmljaHQgc2NobGVjaHRlciBvZGVyIGJlc3NlcgogICBhbHMgdm9yaGVyaWdlKSAuLi4gdW5kIHdlZ2VuIG1laW5lcyBhdXNnZWxhdWZlbmVuIEZhbnRhLQogICBEYWVtb25zIHN0aWZ0ZSBpY2ggZGVtIFZlcmVpbiA3LDczIERNIHdlbm4gaWNoIG1hbCB3aWVkZXIKICAgYW4gZGVyIEJhbmsgdm9yYmVpdHJ1ZGxlIAogLSBkaWUgUkwtUXVlc3Qgc2VociBzY2hvZW4gKGF1Y2ggd2VubiBzaWNoIGRlciBUdXJtCiAgIG5hY2ggU3VlZHdlc3RlbiBuZWlndGUgOy0pICkKIC0gZGllIEtuZWlwZSBhbSBBYmVuZCB6d2FyIGVuZyBhYmVyIG5pY2h0IHNjaGxlY2h0ZXIgYWxzIERvcnRtdW5kCiAgIChkaWUgaGF0dGVuIG5hZW1saWNoIG5pY2h0bWFsIEJpZXIgOy0pICkKIC0gQnVtZXJhbmcgdW5kIE1hdXMgYW0gQmFuZCAqZyoKTmVnYXRpdjoKIEhVTkdBISBJY2ggd2FyIHN0aW5rc2F1ZXIsIHdlaWwgaWNoIGF1Y2ggbnVyIHNvIGVpbmVuIERyZWl2aWVydGVsLQogZml0emVsIGFiYmVrYW0sIGFiZXIgbmFjaGRlbSBpcmdlbmR3ZXIgZ2FueiB2ZXJnZXNzbGljaGVzIGlyZ2VuZHdvCiBDaGlwcyBlbnRkZWNrdGUsIGhhdCBzaWNoIGRhcyBnZWxlZ3QuIFVuZCB3ZW5uIExldXRlIGJlc2Nod29lcmVuLCBkYXNzCiBkaWVzIF9kaWUgYW0gc2NobGVjaHRlc3RlbiBvcmdhbmlzaWVydGUgUGFydHlfIHdhciwgZGFubiBtb2VjaHRlIGljaAogZGFyYW4gZXJpbm5lcm4sIGRhcyBpbiBCZXJsaW4gZGllIFN0aW1tdW5nIHp3YXIgc3VwZXIsIGRhcyBXaWxkc2Nod2VpbgogbHQuIEJlcmljaHRlbiBhYmVyIGtuYXBwIHVuZCBkYXMgQmllciBlaW5lbiBUYWcgenUgc3BhZXQgLi4uIHVzdy4gdXNmLgogClVuZCBkZW0gUGFydHluZXVsaW5nIE1hcnRpbmksIGd1dGJ1ZXJnZXJsaWNoIHZlcndvZWhudCwgaGF0IGVzIGF1Y2gKZ2VmYWxsZW4uIFNvZ2FyIGRpZSBzZWx0c2FtZW4gVHlwZW4sIGRpZSBkYSBydW1zcHJhbmdlbi4KCk1haGF0bXUgKHNvbWV0aW1lcyBrbm93biBhcyBHbG9pbikuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBUdXJuaGFsbGUgKFN1bmZsb3dlciwgMjUuIE1hciAxOTk5LCAyMTo0ODo0NSk6Cn4jISBybj1NYWhhdG11IHJ0PTkyMjM4NzA3MiByZz1wYXJ0eQp+IyEgdGlkPTkyMTY5NjI1NApBTHNvIGljaCBzY2hsaWVzcyBtaWNoIGdsb2luIGFuLCBkaWUgdW50ZXJicmluZ3VuZyB3YXIgc3VwZXIgOykKdW5kIGRhcyBhdWYgMiBldGFnZW4gKGF1Y2ggd2VubiBkaWUgZHVzY2hlbiBldHdhcyBnZXdvZWhudW5nc2JlZHVlcmZ0aWcgd2FyZW4KOikgKQpVbmQgaWNoIGhhYiBtaWNoIGJlaW0gZXNzZW4gYW5nZXN0ZWxsdCB1bmQgYXVjaCBub2NoIHdhcyBiZWtvbW1lbiB1bmQgaWNoIGJpbgpkYXZvbiBzYXR0IGdld29yZGVuIHVuZCB3ZW5uIGljaCBzYXR0IHdlcmRlIGRhbm4gbXVlc3N0ZW4gZWlnZW50bGljaCBhdWNoIGFsbGUKYW5kZXJlbiBzYXR0IHdlcmRlbiAoYXVzc2VyIHlhbnRybyB2aWVsbGVpY2h0LCBhYmVyIGRlciB3YXIgamEgbmV0IGRhKQpEaWUgS25laXBlIHdhciBlaWdlbnRsaWNoIGdyb3NzIGdlbnVnLCBkZXIgd2lydCBoYXR0ZSBhdWNoIGFuZ2Vib3RlbiBkaWUKVGlzY2hlIGFuIGRlciBXYW5kL0ZlbnN0ZXIgZW50bGFuZyBzdGVsbGVuIHp1bGFzc2VuIHNvIGRhcyBpbSBpbm5lbnJhdW0gbWVocgpwbGF0eiBibGVpYnQsIGJsb3NzIGRhIHdhcmVuIHdvaGwgcGFhciBsZXV0IHp1IGZhdWwsIHNvIGRhcyBzaWNoIGhhbHQgYWxsZQppbiBkZW4gc2NobWFsZW4gZ2FuZyBnZXN0ZWxsdCBoYWJlbiB1bmQgZGVyIHJhdW0gZGFkdXJjaCBlbmdlciB3aXJrdGUuClVuZCBkYXMgMiBCZWRpZW51bmdlbiBkaWUgZ2VzYW10ZW4gbWFzc2VuIGRvY2ggZWluaWdlcm1hc3NlbiBzY2huZWxsIGJlZGllbnQKaGF0dGVuCihuYWphIG1laW4gRXNzZW4ga2FtIG5hY2ggbmVyIFN0dW5kZSA7KSApLCBkYSB3aXJkIHNpY2ggd29obCBhdWNoIGtlaW5lciAKYmVzY2h3ZXJlbiBrb2VubmVuLgpVbmQgZGVyIFNhbXN0YWcgdmVybGllZiBhdWNoIHNwaXR6ZSAodW5kIGljaCBoYWIgbm9jaCBuaWUgZXJsZWJ0IGRhcyBtaWNoIGVpbgpvcmdhbmlzYXRvciB6dXIgbmFlY2hzdGVuIFRhbmtlIHp3ZWNrcyBLaXBwZW4gYnJpbmd0ICgqZGFua2UgPGhpY2tzPiBrZXkqKQpBdXNzZXJkZW0gd2FyIGRhcyBkYXMgZXJzdGUgVHJlZmZlbiB3byBpY2gga2VpbmVybGVpIHByb2JsZW1lIGhhdHRlIGFscwpTdW5mbG93ZXIgZHVtbSBhbmdlcXVhdHNjaHQgenUgd2VyZGVuLgpTbyBkYXMgd2FycywKdW5kIGljaCBiaW4gZnVlciBNYXJidXJnIFdpbnRlciAyMDAxClN1biogKC0+V2ludGVycGFydHkgMjAwMCBpbiBEcmVzZGVuISEhKQotLS0tCk1hbmNobWFsIGthbm4gaWNoIGluIGVpbmVtIHZlcnRyYXV0ZW4gR2VzaWNodCAKbmljaHRzIHdlaXRlciBlcmtlbm5lbiwgYWxzIGRpZSBTcHVyZW4KZGllIGRlciBUb2QgZGFyaW4gaGludGVybGFzc2VuIHdpcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpvaCBNYW5uISAoQXJpYW5hLCAyNy4gTWFyIDE5OTksIDE4OjIyOjUxKToKaGFidCBpaHIgYWxsZSBuaXggenUgdHVuPwpsYW5nc2FtIHdlcmRlbiBkaWUgQXJ0aWtlbCwgb2IgIGRpZSBQYXJ0eSBndXQgb2RlciBlcnRyYWVnbGljaCBvZGVyIHJpY2h0aWcKc2NoZWlzc2Ugd2FyIGVjaHQgbmVydmlnIQpTbyBzY2hsZWNodCBrYW5ucyBqYSB3b2hsIG5ldCBnZXdlc2VuIHNlaW4sIHdlbm4gbm9jaCBzbyBsYW5nZSBkcnVlYmVyIHJlZGVuCm11ZXNzdDopCkljaCBlcmlubmVyIGRhIG1hbCBhbiBkaWUgZ2FuemVuIEFydGlrZWwgdm9yIGRlciBQYXJ0eSB1bmQgZGllIEhldWxlcmVpLCB3ZWlsCmtlaW5lciBvcmdhbmlzaWVyZW4gd29sbHRlLi4uClNlaWQgZnJvaCwgZGFzcyB1ZWJlcmhhdXB0IG5vY2ggd2VyIHdhcyBhdWYgZGllIEJlaW5lIGdlc3RlbGx0IGhhdCEKVW5kIG1hbCBmdWVyIGFsbGUgTWVja2VyZXI6IFdlbm4gaWhycyBhbGxlIHNvdmllbCBiZXNzZXIgZ2VtYWNodCBoYWV0dGV0LCBkYW5uCmtvZW5udGV0IGlociBkYXMgamEgbWFsIHVudGVyIEJld2VpcyBzdGVsbGVuLCBkYW5uIGJyYXVjaGVuIHdpciB1bnMgZGllCm5hZWNoc3RlbiA1IEphaHJlIGphIGtlaW5lIEdlZGFua2VuIG1laHIgdWViZXJzIG9yZ2FuaXNpZXJlbiBtYWNoZW4uCgpBbHNvLCBqZXR6dCBlcm5zdGhhZnQgbWVpbiBCZWl0cmFnIHp1ciBQYXJ0eTogS2luZGVyLCBob2VydCBhdWYgRXVjaCB6dQpzdHJlaXRlbiB1bmQgYnJpbmd0IGxpZWJlciBkaWUgUGhvdG9zIGlucyBOZXR6OikKCmFyaWFuYSAqZGVuIE9yZ2FuaXNhdG9yZW4gc2VociBkYW5rYmFyIHNlaW5lbmQsIGRhc3Mgc2llIHdhcyBnZW1hY2h0IGhhYmVuLAp1bmQgZnJvaCwgZGllIElkZWUsIHNlbGJzdCB3YXMgenUgb3JnYW5pc2llcmVuLCB2ZXJ3b3JmZW4genUgaGFiZW4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFuayBhbiBkaWUgT3JnYW5pc2F0b3Jlbi4gKFNwaXJpbGwsIDI4LiBNYXIgMTk5OSwgMjM6NTI6MzQpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTkyMTUzNDM3MCByZz1wYXJ0eQp+IyEgdGlkPTkyMTUzNDM3MApGaW5kZSBpY2ggYXVjaCEKSWNoIGZhbmRzIGdlbmlhbCwgaW0gZ3Jvc3NlbiBnYW56ZW4sIGVpbiB2aWVyLXN0ZXJuZS1ob3RlbCBoYWJlIGljaCBuaWUKZXJ3YXJ0ZXQuCk51ciBkZXIgZmV0ZW4tYWJlbmQgaGF0dGUgZWluaWdlIGJ1Z3MgOiksIHouYiBoYWJlbiBkaWUgbmFjaHp1ZWdsZXIgdW0gdmllcnRlbAp2b3IgbmV1biBuaXggbWVociB6dSBlc3NlbiBnZWtyaWVndC4KdHJvdHpkZW0gZGFuZWsgZnVlciBkYXMgc2Nob2VuIFdFIDopKQpTcGlyaWxsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBlaXdlaCEgKEdyaW1tYW4sICAyLiBBcHIgMTk5OSwgMTM6NTY6NTkpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTkyMjEzMTg2MiByZz1wYXJ0eQp+IyEgdGlkPTkyMTg3OTYwNwpNb2luIGVyc3RtYWwhCkFsbGUgc2VuZmVuLGFsc28gd2lsbCBpY2ggYXVjaCEKRGllIFBhcnR5IHdhciBsdXN0aWcsamF3b2hsIQpFcyB3YXIgbWVpbmUgZXJzdGUgTVVELVBhcnR5LHVuZCBpY2gga2FubiBzaWUgc2Nod2VyIHZlcmdsZWljaGVuLGFiZXIgZGVubm9jaApnYWIgCmVzIGtlaW5lIGdyb2Vzc2VyZW4gUHJvYmxlbWUuTmFjaGRlbSBpY2ggZGllIGVyc3RlIE5hY2h0ICg/PylhdWYgZGVtIEZsdXIKZ2VwZW5udCBoYWJlCihIRVksaW1tZXJoaW4gY2EuIHp3ZWllaW5oYWxiIFN0dW5kZW4uLi4pIHVuZCBkYW5uIHZvbiBsYXV0ZW0KS2FmZmVtYXNjaGluZW5nZWtsYXBwZXIgZ2V3ZWNrdCB3dXJkZQooYWJlciBpY2ggdHJpbmsgZG9jaCBnYXJrZWluZW4gS2FmZmVlICpncnVtcGYqKSx2b20gRXNzZW4gYXVmIGRlciBQYXJ0eSBhdWNoCm5lIFNjaHVlc3NlbCBDaGlsaQphYmJla29tbWVuIGhhYmUgLCBnZW51ZyBiaWVyIGdla3JpZWd0IGhhYmUgdW5kIHZpZWwgU3Bhc3MgaGF0dGUgLCBrYW5uIGljaCAsCnRyb3R6IAptZWluZW0gQXVzc3BydWNoICggT3JnYW5pc2F0b3JlbiBhYndlcnRlbiApIG51ciBzYWdlbiA6CktsZWluZSBTY2hvZW5oZWl0c2ZlaGxlciBnZWhvZXJlbiBkYXp1ICwgaWNoIGhhdHRlIG1laW5lbiBTcGFzcyB1bmQgZGl2ZXJzZQphbmRlcmUgYXVjaCB1bmQgYXVzc2VyZGVtIGtyaWVnIGljaCBpbiBkaWUgSG9zZW50YXNjaGVuIGpld2VpbHMgbm9jaCBlaW4KQmllcixpY2ggaGFicyBnZXRlc3RldC4uLgpLbGVpbmUgU2Nob2VuaGVpdHNmZWhsZXIgZ2Vob2VyZW4gZGF6dSAsIGljaCBoYXR0ZSBtZWluZW4gU3Bhc3MgdW5kIGRpdmVyc2UKYW5kZXJlIGF1Y2ggdW5kIGF1c3NlcmRlbSBrcmllZyBpY2ggaW4gZGllIEhvc2VudGFzY2hlbiBqZXdlaWxzIG5vY2ggZWluCkJpZXIsaWNoIGhhYnMgZ2V0ZXN0ZXQuLi4KVVVVUFMKU28gd2lyIHNlaGVuIHVucyBhdWYgZGVyIG5hZWNoc3RlbiBQYXJ0eSx3ZW5uIGRvcnQgbnVyIGRpZSBzZWxiZW4gJ0ZlaGxlcicKZ2VtYWNodCB3ZXJkZW4gZnJldSBpY2ggbWljaCBzY2hvbi4KQWJlciBmcnVlaHN0dWVjayBiaXR0ZSBlcnN0IHVtIDEwLi4uCgoKQWxrdmVybmljaHRlciBHcmltTWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5ISEhIChNb250YW51cywgIDUuIEFwciAxOTk5LCAxOTozMTo1Nyk6Cn4jISBybj1LZXkgcnQ9OTIyMzA4MzczIHJnPXBhcnR5Cn4jISB0aWQ9OTIxODgyNTIwCj5PZWggZWluZSBGcmFnZSBoYWIgaWNoIGRhenUgbm9jaCAuLi4uIFdhcyBiZWRldXRldCAiQ2FtcCIgbWl0ICpCZXR0KiB1bmQKPlZvbGx2ZXJwZmxlZ3VuZz8KPklzdCBkYXMgZWluIEhvdGVsPwo+T2RlciBtaWV0ZXN0ZSBuZW4gU2NobG9zcyBtaXQgcmllc2VuIFNjaGxhZnNhZWxlbiBvZGVyIHdpZT8KCkdhbnogZWluZmFjaC4KSWNoIGFyYmVpdGUgenVyIFplaXQgZnVlciB1bnNlciBnZWxpZWJ0ZXMgVmF0ZXJsYW5kIDEzIE1vbmF0ZS4gSW4gZWluZW0KU2NodWxsYW5kaGVpbS4KRGFzIGlzdCBrZWluIEhvdGVsLiBBYmVyIGJlaW5haGUuIDotKQpVbmQgendhciBlaW4gU2NobG9zcywgbWl0IGtsZWluZXJlbiB1bmQgZ3JvZXNzZXJlbiBTY2hsYWZzYWVsZW4uClppZW1saWNoIHNjaG9lbiBnZWxlZ2VuLCB1em5kIGtlaW5lIE5hY2hiYXJuLCBkaWUgc3RvZXJlbi4KClVuZCBpY2gga2FubiBmdWVyIGVpbmVzIGdhcmFudGllcmVuIC0gaGllciB3aXJkIGplZGVyIHVuZCBqZWRlIHNhdHQuIDopCgpNb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsZGVyPyAoS2FydG9mZmVsLCAgNi4gQXByIDE5OTksIDAxOjUzOjExKToKV28gYmxlaWJlbiBkaWUgQmlsZGVyPz8KCidUb2ZmZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5ISEhIChNYWhhdG11LCAgNi4gQXByIDE5OTksIDEyOjEwOjQ0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkyMzMzMzUxNyByZz1wYXJ0eQp+IyEgdGlkPTkyMTg4MjUyMApXYXIgZGFzIGpldHp0IGRpZSBvZmZpemllbGxlIEVpbmxhZHVuZz8gUFJJTUEgOikKCk1haGF0bXUgLi4uIHNjYW5udCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1hbCB3YXMgZ2FueiBhbmRlcmVzIChLYXJ0b2ZmZWwsICA5LiBBcHIgMTk5OSwgMDM6MDI6MDYpOgpJY2ggZmFuZHMgc2VsdHNhbS4uLgpTZWhyIHNlbHRzYW0uLi4uCgpFcyBpc3Qgc2FtdHNhZyBhYmVuZCwgZGVyIGVpZ2VudGxpY2ggUGFydHlyYXVtIGlzdCB6dXIgRGlzc2UgZ2V3b3JkZW4uLi4gdW5kCmVzIGxhZXVmdCBNZXRhbGxpY2EuCgpHZW5pYWwsIGljaCB0YW56ZSBuYXR1ZXJsaWNoLi4uCkljaCBzY2hhdSBtaWNoIHVtLi4uClVuZCBzZWhlOgoKRXMgc2luZCB2aWVyIEZyYXVlbiBhdWYgZGVyIFRhbnpmbGFlY2hlLi4uCl9OVVJfIEZyYXVlbiwga2VpbmUgS2VybGUsIHVuZCBkYXMgYmVpIE1ldGFsbGljYS4uLi4KCgpXQVMgV0FSIERBIExPUz8/Pz8KJ1RvZmZlbCAtd3VuZGVydCBzaWNoIG5vY2ggaW1tZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYWwgd2FzIGdhbnogYW5kZXJlcyAoSmlkZHUsICA5LiBBcHIgMTk5OSwgMDc6MDA6MjUpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTkyMzYxOTcyNiByZz1wYXJ0eQp+IyEgdGlkPTkyMzYxOTcyNgpEYWJlaSBnaWJ0IGVzIGRvY2ggZ2Fya2VpbmUgRnJhdWVuIGhpZXIhIERBUyBpc3QgZGFzIHdpcmtsaWNoIG1lcmt3dWVyZGlnZS4gOikKSmlkZHUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG1hbCB3YXMgZ2FueiBhbmRlcmVzIChTdW5mbG93ZXIsICA5LiBBcHIgMTk5OSwgMTE6Mzc6MjIpOgp+IyEgcm49SmlkZHUgcnQ9OTIzNjM0MDI1IHJnPXBhcnR5Cn4jISB0aWQ9OTIzNjE5NzI2CkFjaCBNZXRhbGxpY2Egd2FyIGRhcywgbmEgZGFubiBrYW5uc3RlIG5lIEZyYXUgdm9uIGRlciB0YW56ZmxhZWNoZSBhYnppZWhlbgpkYSBoYWIgaWNoIG5hZW1saWNoIG5vY2ggbmljaHQgZ2V0YW56dCwgb2J3b2hsIHNvIG5lIGthcnRvZmZlbGlnZSBzY2hvZW5oZWl0Cm1pY2ggc3RhZW5kaWcgZGF6dSBiZXdlZ2VuIHdvbGx0ZSwgYWJlciBkYSB3YXIgaWNoIG5vY2ggbnVlY2h0ZXJuLCB3YXMgbWFuCmRhbm4gdm9uIGRlbiBmcnVlaGVuIG1vcmdlbnN0dW5kZW4gKG1vcmdlbmdyYXVlbj8pIG5pY2h0IG1laHIgYmVoYXVwdGVuCmtvbm50ZS4KLS0tLQpNYW5jaG1hbCBrYW5uIGljaCBpbiBlaW5lbSB2ZXJ0cmF1dGVuIEdlc2ljaHQgCm5pY2h0cyB3ZWl0ZXIgZXJrZW5uZW4sIGFscyBkaWUgU3B1cmVuCmRpZSBkZXIgVG9kIGRhcmluIGhpbnRlcmxhc3NlbiB3aXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1hbCB3YXMgZ2FueiBhbmRlcmVzIChNYWhhdG11LCAgOS4gQXByIDE5OTksIDExOjQ1OjM3KToKfiMhIHJuPUthcnRvZmZlbCBydD05MjM2MTk3MjYgcmc9cGFydHkKfiMhIHRpZD05MjM2MTk3MjYKRWluZmFjaGVyIEdydW5kOiBNYXJ0aW5pIGhhdHRlIGtlaW5lbiBCb2NrIDstKQpKYWphIC4uLiBtYW4gc29sbCBzaWNoIGphIG5pY2h0IHNvIHBhbnRvZmZlbG4gbGFzc2VuIC4uLiB3YXMgZWluCkdsdWVjaywgZGFzIHNpZSAobm9jaCkga2VpbmUgWmVpdHVuZyBsaWVzdC4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFsIHdhcyBnYW56IGFuZGVyZXMgKE5pZXRlLCAgOS4gQXByIDE5OTksIDExOjU1OjAzKToKfiMhIHJuPUthcnRvZmZlbCBydD05MjM2MTk3MjYgcmc9cGFydHkKfiMhIHRpZD05MjM2MTk3MjYKZ2FueiBlaW5mYWNoLCBtZXRhbGxpY2EgaXN0IGhhbHQgbWFlZGNoZW5tdXNpay4uLgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb21tZXJwYXJ0eSBpbiBXaW50ZXJidXJnIChaZXBoeXIsIDEwLiBBcHIgMTk5OSwgMDA6MTU6NTgpOgoKCiAgIEVpbmUgZ3V0ZSBTb21tZXJwYXJ0eSBicmF1Y2h0IGVpbmUgZ3V0ZSBWb3JiZXJlaXR1bmchCgpEZXN3ZWdlbiBoYXQgZGFzIE9yZ2FuaXNhdGlvbnNrb21pdGVlICJCdXJncGFydHkiIGJlc2NobG9zc2VuLCBhbXIKV29jaGVuZW5kZSA4Li85LiBNYWkgZWluZSBQbGFudW5nc3BhcnR5XldeVyBlaW4gQXJiZWl0c3RyZWZmZW4gYW4KT3J0IHVuZCBTdGVsbGUgZHVyY2h6dWZ1ZWhyZW4uCk9iIGRhcyBHYW56ZSBkYW5uIGluIGVpbmUgQXJ0IHZlcmxhZW5nZXJ0ZW4gU3RhbW10aXNjaCBtaXQgVWViZXItCm5hY2h0dW5nIHVuZCBLYXRlcmZydWVoc3R1ZWNrIG9kZXIgaW4ga29uc3RydWt0aXZlcyBLb3BmemVyYnJlY2hlbiAKYXVzYXJ0ZXQsIGxpZWd0IGdhbnogYW4gRXVjaC4KV2VyIGhhdCBMdXN0PwpBbm1lbGR1bmdlbiB1c3cgYml0dGUgYWxsZXMgYW4gTW9udGFudXMgKHVuc2VyZW4gTWFubiB2b3IgT3J0KSwgZXIKaGF0IGF1Y2ggV2VnYmVzY2hyZWlidW5nZW4uCgoKKGkuQS4pICBaZXBoeXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1HIFBhcnR5IGltIG5ldWVuIEphaHJ0YXVzZW5kIChIYXRlLCAxMi4gQXByIDE5OTksIDE4OjAyOjIxKToKfiMhIHJuPUhhdGUgcnQ9OTIzOTI5MzQ0IHJnPXBhcnR5Cn4jISB0aWQ9OTIzOTI0NTU0CkF1cyBnZWdlYmVuZW0gQW5sYXNzIG1vZWNodGUgaWNoIG5vY2htYWwgYXVmIGZvbGdlbmRlIFdlYnNlaXRlCmF1Zm1lcmtzYW0gbWFjaGVuOiBodHRwOi8vbWcubXVkLmRlL1BhcnR5L29yZ2EvCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGxhbmdlIHdhZWhydC4uLiAoTm92YXN0b3JtLCAyMC4gTWFpIDE5OTksIDEzOjAwOjE1KToKU28sIGVuZGxpY2ggaGFiZSBhdWNoIGljaCBlcyBnZXNjaGFmZnQsIGRpZSBQYXJ0eWJpbGRlciAoV2ludGVyZmV0ZSAnOTkgLikpCmFuc2NoYXViYXIgenUgbWFjaGVuLiBTb2xhbmdlIGVzIG1pdCBkZXIgTW9yZ2VuZ3JhdWVuc2VpdGUgbmljaHQgZ2VodCwga29lbm50CmlociBzaWUgZXVjaCB1bnRlcjoKICAgaHR0cDovL3Jjc3d3dy51cnoudHUtZHJlc2Rlbi5kZS9+dGs4MzU1MzQvbXVkL3BhcnR5L2luZGV4Lmh0bQphbnNjaGF1ZW4uCihBY2hqYSwgZmFsbHMgamVtYW5kIGRpZSBGcmFnZXplaWNoZW4gaWRlbnRpZml6aWVyZW4ga2FubiwgYml0dGUgTWFpbCBhbgptaWNoLikKCiAgICAgTm92YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29tbWVycGFydHkgaW4gV2ludGVyYnVyZyAoTW9udGFudXMsICA3LiBKdW4gMTk5OSwgMjE6NDc6MTcpOgp+IyEgcm49WmVwaHlyIHJ0PTkyODcwNjI4MSByZz1wYXJ0eQp+IyEgdGlkPTkyMzY5NjE1OAoKQWxzbywgdm9uIG1yaSBhdXMgc3RlaHQgZGFzIGltbWVyIG5vY2guCkljaCBrYW5uIGhpZXIgaW0gSGF1cyA3MCBMZXV0ZSBtaXQgZWluZW0gQmV0dCB2ZXJzb3JnZW4gdW5kIHp1ciBOb3Qgbm9jaCBlaW5lClplbHRwbGF0endpZXNlIGRhbmViZW4gZmVpcmFldW1lbi4KRGllIFNhY2hlIGlzdCBmb2xnZW5kZToKWmVwaHlyIG1laW50ICh1bmQgZGFtaXQgc3RlaHQgc2llIHdvaGwgbmNpaHQgYWxsZWluKSwgZGFzcyBWb2xsdmVycGZsZWd1em5nCmZ1ZXIgZGVuICJub3JtYWxlbiIgTXVkZGVyIGV2dGwgenUgdGV1ZXIgc2VpLgpEYXMgc2VoZSBpY2ggendhciBiZWkgZGVuIFByZWlzZW4sIGRpZSBpY2ggaGllciBhbmJpZXRlbiBrYW5uLCBuaWNodCBzby4KQWJlciBpY2ggd2VyZGUgYW0gTWl0dHdvY2ggbm9jaG1hbCBtaXQgbWVpbmVtIENoZWYgcmVkZW4gdW5kIGlobiBmcmFnZW4sIG9iCmF1Y2ggZWluIE1vZGVsbCBhIGxhIFVlYmVybmFjaHR1bmcsIEZydWVoc3R1Y2sgdW5kIEFiZW5kZXNzZW4vR3JpbGxlbiBtb2VnbGljaAppc3QgYnp3IHdpZXZpZWwgZGFzIGtvc3RlbiB3aXJkLgoKV2VnZW4gVGVybWluZW46IEFiIE1pdHRlIEp1bGkgaXN0IGFsbGVzIG1vZWdsaWNoLgpTb2xsIGhlaXNlbiwgZGFzcyBkYXMgZ2FuemUgcnVoaWcgYXVjaCB3aWVkZXIgenUgZWluZW0gQ2FtcCB2ZXJrb21tZW4ga2FubiAtCmRhbm4gaGFldHRlIGljaCBhdWNoIGVpbmUgYmVzc2VyZSBWZXJoYW5kbHVuZ3NiYXNpcyBtaXQgbWVpbmVtIENoZWYuIDotKQoKTnVyIGJyYWV1Y2h0ZSBpY2ggZm9sZ2VuZGVzOiBGZWVkYmFjayB2b24gRXVjaCwgdW5kIGFtIGJlc3RlbiBzbyBldHdhcyB3aWUgZWluClBhcnR5YnJldHQuIDotKQpVbmQgZmFuZ3QgaW4gRHJlaWRldWZlbHNuYW1lbiBlbmRsaWNoIG1pdCBkZXIgVGVybWluZGlza3Vzc2lvbiBhbiEKKHNvbnN0IGlzdCBkaWUgbXBhIHNvIGxlZXIpCgpOYXR1ZXJsaWNoIHNpbmQgYXVjaCB3ZWl0ZXJoaW4gSGVsZmVyIGdlc3VjaHQuIEljaCBtYWNoZW4gaWNodCBoaW50ZXJoZXIKYWxsZWluZSBzYXViZXIuIDotKQoKTWVociBJbmZvcyBkZW1uYWVjaHN0LCBGZWVkYmFjayBnZWh0IGF1Y2ggcGVyIG1haWwgYW4gaGFubm9AY3liZXJqdW5raWUuY29tLgoKYmlzIHNwYWV0ZXIsCgotTW9udGFudQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgaW4gV2ludGVyYnVyZyAoQWNyaW1vbiwgIDcuIEp1biAxOTk5LCAyMjowOToyMik6Cn4jISBybj1Nb250YW51cyBydD05Mjg3ODQ4Mzcgcmc9cGFydHkKfiMhIHRpZD05MjM2OTYxNTgKV2VubiBkaWUgUGFydHkgaW4gV2ludGVyYnVyZyBzdGF0dGZpbmRldCwgd2VyZGUgaWNoIGF1ZiBqZWRlbiBGYWxsIGtvbW1lbi4KRWdhbCBvYiBlcyBkb3J0IFZvbGx2ZXJwZmxlZ3VuZyBvZGVyIEFiZW5kZ3JpbGwgZ2lidCEKVW5kIGJlenVlZ2xpY2ggVGVybWluZW46ClRlcm1pbmRpc2t1c3Npb24/IE5FSU4hIEhhc3QgRHUgZWluZSBBaG51bmcsIHdvIGVpbmUgVGVybWluZGlza3Vzc2lvbiBpbiBkZXIKbXBhIGhpbmZ1ZWhydD8KRGVyIFZlcmFuc3RhbHRlciBzb2xsIGVpbmVuIFRlcm1pbiBiZXN0aW1tZW4gKHVuZCBkYWJlaSBlaW4ga2xlaW4gd2VuaWcgYXVmCnZvcmxlc3VuZ3NmcmVpZSBaZWl0ZW4gYWNodGVuLCBzb2Zlcm4gZGllIFBhcnR5IG5pY2h0IGFuIGVpbmVtIFdvY2hlbmVuZGUgaXN0KQp1bmQgc2ljaCBkYWJlaSBOSUNIVCB2b24gYW5kZXJlbiBkcmVpbnJlZGVuIGxhc3Nlbiwgc29uc3Qgd2lyZCBkYXMgbml4LgoKR2VuYXVzbyBnZWh0cyBhdWNoIGJlaW0gU2F1YmVybWFjaGVuOiBKZWRlciwgZGVyIGtvbW10LCBoYXQgYXVjaCBlaW5lClZlcnBmbGljaHR1bmcgenVtIFNhdWJlcm1hY2hlbi4gKEphamEsIGRhcyBBYi1TcGllbGVuLi4uKQpBdWNoIGRhcyBTYXViZXJtYWNoZW4ga2FubiBtYW4gc2ljaCBkdXJjaGF1cyBsdXN0aWcgZ2VzdGFsdGVuLCBhbHNvIHdhcyBzb2xscz8KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgaW4gV2ludGVyYnVyZyAoVGVkZHksICA4LiBKdW4gMTk5OSwgMDk6MDU6MDEpOgp+IyEgcm49TW9udGFudXMgcnQ9OTI4Nzg0ODM3IHJnPXBhcnR5Cn4jISB0aWQ9OTIzNjk2MTU4Ck5lbm4gZG9jaCBtYWwgUHJlaXNlIGZ1ZXIgZGllIHZlcnNjaGllZGVuZW4gT3B0aW9uZW4gOykKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJwYXJ0eSBpbiBXaW50ZXJidXJnIChRaXRlc3MsICA4LiBKdW4gMTk5OSwgMTU6MzY6MjYpOgp+IyEgcm49TW9udGFudXMgcnQ9OTI4Nzg0ODM3IHJnPXBhcnR5Cn4jISB0aWQ9OTIzNjk2MTU4CkFsc28sIGRlciBUZXJtaW4gc29sbHRlIGluIGRlciBWb3JsZXN1bmdzZnJlaWVuIFplaXQgc2VpbiwgYWJlciBiaXR0ZSBuaWNodAphdXNkaXNrdXRpZXJlbiBpbiBkZXIgTVBBIC4uLgpXbyB6dXIgSG9lbGxlIGxpZWd0IGRlbm4gV2ludGVyYnVyZz8gV2llIGtvbW10IG1hbiBkYSBndWVuc3RpZyBoaW4KKEF1dG9iYWhuYW5zY2hsdXNzLCBCYWhubGluaWVuLCBGYWhycmFkd2VnZS4uLikKVW5kIHp1bSBQcmVpczogbnVyIHdlaWwgbmUgQnVyZyB1bSBtaWNoIGhlcnVtIGlzdCwgaGFiZSBpY2ggbm9jaCBsYW5nZSBrZWluZQpsdXN0LCA1MCBUYWNrZW4gcHJvIFRhZyB6dSB6YWhsZW4uIHVuZCBWb2xscGVuc2lvbiBpc3QgZWggZGFzIHVlYmVsc3RlLCB3YXMgZXMKZ2ViZW4ga2Fubi4gQW0gYmVzdGVuIHdhZXJlIGVoIGdlbWVpbnNhbWUgVm9sbHZlcnBmbGVndW5nLCB3aWUgZXMgc29uc3QKdWVibGljaCB3YXIuCk1laW5lIE1laW51bmcuClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcnBhcnR5IGluIFdpbnRlcmJ1cmcgKFd1cnplbCwgIDguIEp1biAxOTk5LCAyMTo0MDoyNik6Cn4jISBybj1RaXRlc3MgcnQ9OTI4ODQ4OTg2IHJnPXBhcnR5Cn4jISB0aWQ9OTIzNjk2MTU4Cndlbm4gZXMgZ2VodCwgbGVndCBkaWUgcGFydHkgaW4gZGVuIGF1Z3VzdC4gaWNoIGhhYiBzY2hvbiB6dSB2aWVsZSBwYXJ0aWVzCnZlcnNhZXVtdCwgd2VpbCBpY2ggaW4gdXJsYXViIHdhci4uLiB1bmQgdm9ybGVzdW5nc2ZyZWkgZHVlcmZ0ZSBkYSBzZWluLApkZW5rZSBpY2ggOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVycGFydHkgaW4gV2ludGVyYnVyZyAoTW9udGFudXMsICA4LiBKdW4gMTk5OSwgMjI6NDQ6MjQpOgp+IyEgcm49UWl0ZXNzIHJ0PTkyODg0ODk4NiByZz1wYXJ0eQp+IyEgdGlkPTkyMzY5NjE1OAoKV28genVyIEhvZWxsZSBsaWVnIFdpbnRlcmJ1cmc/IDotKQoKQWxzbzogV2ludGVyYnVyZyBsaWVndCBpbSBzY2hvZW5lbiBIdW5zcnVlY2suIERhcyBpc3QgZWluZXMgZGVyCmxpbmtzcmhlaW5pc2NoZW4gTWl0dGVsZ2JpcmdlLCBnYW56IGdyb2IgZ2VzZWhlbiB6d2lzY2hlbiBLb2JsZW56IHVuZCBCaW5nZW4uCldpZSBrb21tdCBtYW4gZGEgZ3VlbnN0aWcgaGluPwpEaWUgbmFlY2hzdGUgZ3JvZXNzZXJlIFN0YWR0IGlzdCBCYWQgS3JldXpuYWNoLiBCYWhuYW5zY2hsdXNzIHd1ZXJkZSBpY2gKZG9ydGhpbiBlbXBmZWhsZW4sIG1pdCBkZW0gRmFocnJhZCBicmF1Y2h0IG1hbiBkYW5uIG5vY2ggZWluIGtuYXBwZXMKU3R1ZW5kY2hlbiAobWl0IGRlbSBCdXMgdWVicmlnZW5zIGViZW5mYWxscyksIGJlaSBHZWdlbndpbmQgZXR3YXMgbWVoci4KQXV0b2JhaG5hbnNjaGx1czogamEga2xhciwgdm9uIGRlciBBNjEgYXVzLiBBYmZhaHJ0IFdhbGRsYXViZXJzaGVpbSB1bmQgZGFubgppbW1lciBSaWNodHVuZyBXZXN0ZW4uCgpURVJNSU46IDIzLi0yNS4gSnVsaSBrbGluZ3Qgc2VociBndXQsIGRhIGlzdCBoaWVyIGFsbGVzIGZyZWkuIE1vcmdlbiBrb2VubnRlCmljaCBkZW4gVGVybWluIGJlc3RhZXRpZ2VuIChtdXNzIG5vY2ggZmluYWwgbWl0IG1laW5lbSBDaGVmIHZlcmhhbmRlbG4pLgoKVmVycGZsZWd1bmc6IERhIHNpbmQgZGl2ZXJzZSBNb2RlbGxlIG1vZWdsaWNoLiBVZWJlcm5hY2h0dW5nK0ZydWVoc3R1ZWNrCnNvbGx0ZSB1bmdlZmFlaHIgaW0gQmVyZWljaCB2b24gMjAgRE0vTmFjaHQgbGllZ2VuLCB3aWUgbWFuIGRpZSBUYWdlcy0gYnp3CkFiZW5kdmVycGZsZWd1bmcgaGFiZW4gd2lsbCwgaXN0IGVpbmUgYW5kZXJlIEdlc2hjaWNodGUuClVuc2VyZSBWb2xsdmVycGZsZWd1bmcgaXN0IHVlYnJpZ2VucyBzZWhyIGd1dCwgaGllciBpc3Qgbm9jaCBqZWRlciBzYXR0Cmdld29yZGVuLiA6LSkgQWJlciB3ZW5uIGRhcyBuaWNodCBnZXd1ZW5zY2h0IHdpcmQuLi4KCk1laHIgQW50d29ydGVuIGF1ZiBtZWhyIEZyYWdlbiBnaWJ0cyBtb3JnZW4uIAoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb21tZXJwYXJ0eSBpbiBXaW50ZXJidXJnIChUZWRkeSwgIDkuIEp1biAxOTk5LCAwOTo1NTo0Mik6Cn4jISBybj1Nb250YW51cyBydD05Mjg4NzQ2NjQgcmc9cGFydHkKfiMhIHRpZD05MjM2OTYxNTgKVWViZXJuYWNodHVuZy9GcnVlaHN0dWVjayAyMERNIHBybyBUYWcgdW5kIFBlcnNvbj8KRGF6dSBub2NoIFBhcnR5a29zdGVuIHVuZCBhZWhubGljaGVzPyBEYXMgd2lyZCBqYSBuZSB6aWVtbGljaCB0ZXVyZSBQYXJ0eS4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb21tZXJwYXJ0eSBpbiBXaW50ZXJidXJnIChOb3Zhc3Rvcm0sICA5LiBKdW4gMTk5OSwgMDk6NTg6NTYpOgp+IyEgcm49TW9udGFudXMgcnQ9OTI4ODc0NjY0IHJnPXBhcnR5Cn4jISB0aWQ9OTIzNjk2MTU4Ck1taCwgaXN0IGRhcyBudXIgYmVpIHVucyBzbywgZGFzcyBFbmRlIEp1bGksIEFuZmFuZyBBdWd1c3QgUHJ1ZWZ1bmdzemVpdCBpc3Q/CkJpbiBzcG9udGFuZXJ3ZWlzZSBmdWVyIGVpbmVuIFplaXRyYXVtIEFuZmFuZyBTZXB0ZW1iZXIuLi4gOi0pCiAgICBOb3ZhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21tZXJwYXJ0eSBpbiBXaW50ZXJidXJnIChDYXNzYW5kcmEsICA5LiBKdW4gMTk5OSwgMTA6MzM6NTApOgp+IyEgcm49Tm92YXN0b3JtIHJ0PTkyODkxNTEzNiByZz1wYXJ0eQp+IyEgdGlkPTkyMzY5NjE1OApJY2ggd3VlcmQgbWFsIHNhZ2VuIGRhcyBkaWUgUHJ1ZWZ1bmdlbiBhbiBqZWRlciBVbmkgenUgZWluZW0gYW5kZXJlbiBaZWl0cHVua3QKc2luZC4gQmVpIHVucyBzaW5kIHNpZSBiZWlzcGllbHN3ZWlzZSBBbmZhbmcgU2VwdGVtYmVyLgpDYXNzYW5kcmEgICAgIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU29tbWVycGFydHkgaW4gV2ludGVyYnVyZyAoWmlubywgIDkuIEp1biAxOTk5LCAxMjo1ODo1Nyk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9OTI4OTE3MjMwIHJnPXBhcnR5Cn4jISB0aWQ9OTIzNjk2MTU4CkFsc28gaWNoIGZpbmRlIGRlbiBUZXJtaW4gYXVjaCByZWljaGxpY2ggZnJ1ZWgsIEF1Z3VzdCB3YWVyZSBhdWYgamVkZW4gRmFsbApiZXNzZXIsIHp1bWFsIGRhIGRhcyBXZXR0ZXIgbWVpc3QgYXVjaCBzdGFiaWxlciBpc3QuCgpNYWhhdG1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTb21tZXJwYXJ0eSBpbiBXaW50ZXJidXJnIChNaWV6ZSwgIDkuIEp1biAxOTk5LCAxNjowMzoxNSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9OTI4OTE3MjMwIHJnPXBhcnR5Cn4jISB0aWQ9OTIzNjk2MTU4CgoKQ2Fzc2ksIGRhbm4gaGFlbmd0cyBub2NoIHZvbiBkZXIgRmFrdWx0YWV0IGJ6dy4gSW5zdGl0dXQgYWIuLi4gaWNoIGhhYiBFbmRlCkp1bGkgUHJ1ZWZ1bmcuCgpHcnVzcyBNaWV6ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV28gdW0gYWxsZXMgaW4gZGVyIFdlbHQgaXN0IFdpbnRlcmJ1cmc/Pz8gKE1vbnRhbnVzLCAgOS4gSnVuIDE5OTksIDE4OjU1OjIxKToKfiMhIHJuPVN0aW5nIHJ0PTkyODk0Njc5NyByZz1wYXJ0eQp+IyEgdGlkPTkyODk0NjA2MgoKTmFjaCBrdXJ6ZXIgdW5kIHNjaG1lcnpsb3NlciBEaXNrdXNpb24gYXVmIGRlbSBBbGxnZW1laW5rYW5hbDoKClVlYmVybmFjaHR1bmcga29zdGV0IDE1IERNLiBXZXIgYW0gbmFlY2hzdGVuIE1vcmdlbiBzaWNoIGFtIEZydWVoc3R1ZWNrc2J1ZmZldApndWV0bGljaCBoYWx0ZW4gd2lsbCwgemFobHQgZGFmdWVyIGVpbmVuIEhlaWVybWFubi4KU2Ftc3RhZyBhYmVuZCB3aXJkIGdlZ3JpbGx0LCB3aWUgZGFzIGRhbm4gbWl0IGRlbiBHZXRyYWVua2VuIHVuZCBkZW0gQmllciB1c3cKdmVycmVjaG5ldCB3aXJkLCBrYW5uIGljaCBub2NoIG5pY2h0IHNhZ2hlbiwgZGEgbXVzcyBpY2ggbWFsIG1pdCBkZW4KVmVyYW50d29ydGxpY2hlbiBkZXIgdmVyZ2FuZ2VuZW4gUGFydGllcyByZWRlbi4gOi0pCgpGdWVyIExldXRlLCBkaWUgbnVyIHplbHRlbiB3b2xsZW4sIGFiZXIgZGllIEtsb3MgdW5kIER1c2NoZW4gdmVyd2VuZGVuIHdvbGxlbiwKd2lyZHMgZXZlbnR1ZWxsIG5vY2ggZXR3YXMgYmlsbGlnZXIuIERhIG11c3MgaWNoIG5vY2ggbmFjaHZlcmhhbmRlbG4uCgpzcGFldGVyIG1laHIuCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlcm1pbiAoTW9udGFudXMsICA5LiBKdW4gMTk5OSwgMTg6NTY6NDkpOgoKVGVybWluIGRlciBTT21tZXJwYXJ0eToKCjIzLkp1bGkgYmlzIDI1LiBKdWxpLgpFbmRlIGRlciBEaXNrdXNzaW9uLiA6LSkKRmFsbHMgZ2VudWVnZW5kIExldXRlIEludGVyZXNzZSBoYWJlbiAoc28gYWIgMzApIGthbm4gZGFzIGdhbnplIHNjaG9uIGFiIGRlbQoxOS4gSnVsaSBhbHMgU29tbWVyLUNhbXAgYmVnb25uZW4gd2VyZGVuLgoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZWxkLi4uIChCb2luZywgMTUuIEp1biAxOTk5LCAxMDowNzo0MSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9OTI5MzcwMjM1IHJnPXBhcnR5Cn4jISB0aWQ9OTI5MDA3Mzk3Ckthbm4gaWNoIG51ciB6dXN0aW1tZW4uIEFuc29uc3RlbiB2ZXJzdGVoIGljaCBkYXMgR2VoZXVsZSBtYW5jaGVyIExldXRlCmVoIG5pY2h0LCBiaXNoZXIgd2FyIGVzIGRvY2ggaW1tZXIgc28gZGFzcyBkaWUgRmV0ZSBjYS4gMzAgRE0gZ2Vrb3N0ZXQKaGF0LCBtYW4gYWJlciBkYWZ1ZXIgbm9jaCAyIG1hbCAobWluaW11bSkgRXNzZW4gd2FyLCBkYSBpc3QgbWFuIGRhbm4KYXVjaCBqZWRlcyBtYWwgdW0gZGllIDMwIERNIHdlZywgbWFjaHQgaW5zZ2VzYW10IHNjaG9uIDkwIERNLiBJY2ggbXVzcwpzYWdlbiwgaWNoIG5laG1lIGRpZSBWb2xscGVuc2lvbiAoNCBNYWhsemVpdGVuICsgQmV0dCkgZnVlciAzOCBETSAoeDIpCm1pdCBLdXNzaGFuZC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VsZC4uLiAoTWFoYXRtdSwgMTUuIEp1biAxOTk5LCAxMDo1MDowMyk6Cn4jISBybj1Cb2luZyBydD05Mjk0MzQwNjEgcmc9cGFydHkKfiMhIHRpZD05MjkwMDczOTcKKmhldWwqIE1lciBoZXVsbiBqYSBudXIgd2VzY2huIGRlaG0gRGFkdW1tLiBCcmVpc2xpc2NoIGdvbW1lIHdlciBtaWRkYQpGYWFkIG9jaCBpbW1hIGRldXJhLCBkYSBtYWNodCBkYXNzIEJlbm5lIG5peC4gSGF1YnRzYWNoZSAncyBnaWJ0IFNjaGluZXNlLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdlbGQuLi4gKFd1cnplbCwgMTUuIEp1biAxOTk5LCAxODoxMjo0MCk6Cn4jISBybj1Cb2luZyBydD05Mjk0MzQwNjEgcmc9cGFydHkKfiMhIHRpZD05MjkwMDczOTcKaWNoIGVyaW5uZXIgbWljaCBkYSBhbiBmZXRlbiBpbiBtdWVuc3Rlciwgd28gYWxsZWluIGRhcyBob3RlbHppbW1lciB0ZXVyZXIKd2FyIGZ1ZXIgZWluZSBuYWNodCBhbHMgZGFzLCB3YXMgaGllciBzbyBhbHMgZ2VzYW10cHJlaXMgZ2VoYW5kZWx0IHdpcmQuCmVpbiBrbGVpbmVyIHRpcCBmdWVyIHVuc2VyZSBzb3ppYWwgc2Nod2FjaGVuOiBtYW5jaGUgbGV1dGUgdmVyZGllbmVuIHNlaHIKZ3V0LCB3ZW5uIHNpZSBzaWNoIGVpbmZhY2ggbWl0IGVpbmVtIGFsdGVuIGh1dCB1bmdld2FzY2hlbiBpbiBkaWUgZnVzc2dhZW5nZXItCnpvbmUgc2V0emVuIHVuZCBuaWNodHMgdHVuLiBuYWNoIGVpbmVtIHRhZyBoYXQgbWFuIGRhIGRhcyBmZXRlbmdlbGQgc2Nob24Kd2llZGVyIGRyaW4uCgp3dXJ6ZWwgaGV1dCBtYWwgYXJyb2dhbnQga29wZnNjaHVldHRlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHZWxkLi4uIChCb3R0b20sIDE1LiBKdW4gMTk5OSwgMTk6NTU6MzYpOgp+IyEgcm49V3VyemVsIHJ0PTkyOTQ2MzE2MCByZz1wYXJ0eQp+IyEgdGlkPTkyOTAwNzM5NwoKVHJhdXJpZywgdW5lbmRsaWNoIHRyYXVyaWchCkRhIGhhdHRlIGljaCBtaWNoIHNvb28gYXVmIGRpZSBTb21tZXJwYXJ0eSBnZWZyZXV0IHVuZCBqZXR6dCB3aXJkIGVzIHdpZWRlcgpuaXghIERpZSBnZW1laW5lbiBPcmdhbmlzYXRvcmVuIGhhYmVuIGVpbmZhY2ggZWluZW4gVGVybWluIGZlc3RnZXNldHp0LCBhbiBkZW0KaWNoIHVuYmVkaW5ndCBpbiBkZXIgTmFzZSBwb3BlbG4gbXVzcywgb2J3b2hsIGljaCBkb2NoIHVuYmVkaW5ndCBiZWkgZGVyIFBhcnR5CmRhYmVpIHNlaW4gd29sbHRlLiBVbmQgZGFubiBhdWNoIG5vY2ggZGFzIHZpZWxlIEdlbGQsIGRhc3MgaWNoIGRhIGJlemFobGVuCnNvbGx0ZS4uLnNlbGJzdCB3ZW5uIGljaCBuaWNodCBpbiBkZXIgTmFzZSB0aWVmZ3J1ZW5kaWcgbmFjaCBkZW4gbGV0enRlbgpSZXN0ZW4gbWVpbmVzIG9obmVoaW4gYmVzY2hlaWRlbmVuIFZlcnN0YW5kZXMgc2NodWVyZmVuIG11ZXNzdGUsIGtvZW5udGUgaWNoCm1pciBlaW5lIFRlaWxuYWhtZSBnYXIgbmljaHQgbGVpc3Rlbi4uLmxlaWRlciBzY2hlaW50IGRhcyB3aWVkZXIgbWFsIGVpbmUKUGFydHkgZnVlciBkaWUgS2luZGVyIHZvbiBSZWNodHNhbndhZWx0ZW4gdW5kIENoZWZhZXJ6dGVuIHp1IHNlaW4uIE51bgpqYS4uLndvaGwga29lbm50ZSBpY2ggbWFsIEJsdXQgc3BlbmRlbiBnZWhlbiwgYWJlciBkZW0gc3RlaHQgbWVpbmUgcmVsaWdpb2VzZQpVZWJlcnpldWd1bmcgZW50Z2VnZW4sIG9kZXIgaWNoIGtvZW5udGUgbWVpbmUgTWFtbWkgYml0dGVuLCBtaXIgbWVpbgpUYXNjaGVuZ2VsZCBlaW5tYWxpZyB6dSBlcmhvZWhlbiwgYWJlciBkYXMgd2FlcmUgamEgZ2VyYWRlenUgdmVybWVzc2VuLAptdWVzc3RlIHNpZSBkb2NoIGRhbm4gd2llZGVyIFB1dHplbiBnZWhlbi4uLmRhYmVpIGhhdCBzaWUncyBkb2NoIHNvIGFuIGRlbgpCYW5kc2NoZWliZW4uCkFsc28gZnVmZnppZyBUYWNrZW4gc2luZCBzY2hvbiBzY2h3ZXIgYXVmenV0cmVpYmVuIHVuZCBkYW5uIG5vY2ggZGllIHdlaXRlCkZhaHJ0Li4ubWl0IGRlciBUcmFuc3NpYiB1ZWJlciBkaWUgQmFpa2FsLUFtdXItTWFnaXN0cmFsZS4uLnZpZWwgenUKdGV1ZXIuLi52aWVsbGVpY2h0IGtvZW5udGUgaWNoIFRyYW1wZW4uLi5ob2ZmZW50bGljaCBmYWxsZSBpY2ggZGEgbmljaHQKaXJnZW5kd2VsY2hlbiBMdXN0bW9sY2hlbiBpbiBkaWUgSGFlbmRlISBBYmVyIGljaCBoYWInIGphIGVoIGtlaW5lIFplaXQuClNjaGFkZSwgc2NoYWRlIQpGZWllcnQgc2Nob2VuLCBpY2ggd3VlbnNjaCBFdWNoIGVpbmUgdG9sbGUgUGFydHkgLSB2aWVsbGVpY2h0IHNjaGlja2UgaWNoCm1laW5lbiAydGllIC0gaWNoIGFiZXIgd2VyZGUgd2FlaHJlbmRkZXNzZW4gaGllciBhbSBSZWNobmVyIGhvY2tlbiB1bmQgdm9yCkt1bW1lciBpbiBkaWUgVGlzY2hwbGF0dGUgYmVpc3NlbiEgKnNjaG51ZWZmKgoKQm90dG9tICp2b3IgS3VtbWVyIHplcmZsaWVzc2VuZCoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZW1pbmFyZSAoSG9vZCwgMTYuIEp1biAxOTk5LCAyMjo0MzozNSk6CkhpIExldXRlLAoKRGEgbnVuIGRlciBQYXJ0eXRlcm1pbiBmZXN0enVzdGVoZW4gc2NoZWludCwgd29sbHRlIGljaCBtYWwgcGZsaWNodGdlbWFlc3MKIChpcmdlbmR3aWUgaGFiIGljaCBtaWNoIHZvbGxlciBMZWljaHRzaW5uIGRhenUgdmVya25hY2tlbiBsYXNzZW4pCmFuZnJhZ2VuLCBvYiBTZW1pbmFyZSBlcnd1ZW5zY2h0IHNpbmQgdW5kIHdlbm4gamEsIG9iIHNpZSBzaWNoIGF1Y2ggemVpdGxpY2gKdW5kIHJhZXVtbGljaCB3YWVocmVuZCBkZXIgUGFydHkgZWlub3JkbmVuIGxhc3Nlbi4KSWNoIHdhZXJlIGR1cmNoYXVzIGJlcmVpdCwgdWViZXIgZWluIGFsbGdlbWVpbmVzIFd1bnNjaHRoZW1hIHp1IGxhYmVybiwKemllaGUgYWxsZXJkaW5ncyBHYXN0ZG96ZW50ZW4gdm9yIDopCkFsc286IEFuIGFsbGUuLi5Xb2xsdCBpaHIgZWluIFNlbWluYXI/CiAgICAgIEFuIGRpZSBPcmdhbmlzYXRvcmVuLi4uaXN0IGVzIG1hY2hiYXI/Cldlbm4gMiBtYWwgamEsIHdlciBpc3QgYmVyZWl0LCBzaWNoIGRlbiBNdW5kIGZ1c3NsaWcgenUgcmVkZW4gdW5kIGluCnVuZ2xhZXViaWdlIGJpcyBnZWxhbmd3ZWlsdGUgQXVnZW4genUgc3RhcnJlbj8gKEVpbmUgdW52ZXJnbGVpY2hsaWNoZQogRXJmYWhydW5nOiBHZW5hdXNvIG11c3Mgc2ljaCBtZWluIFVlYnVuZ3NsZWl0ZXIgaW1tZXIgZnVlaGxlbi4pCkV1cmUgTWVpbnVuZyBzZWkgaGllcm1pdCBlcmZyYWd0Li4uCgotLS0tLS0KUGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VtaW5hcmUgKEphc3BlciwgMTcuIEp1biAxOTk5LCAwNDo1NTozOCk6Cn4jISBybj1Ib29kIHJ0PTkyOTU2NTgxNSByZz1wYXJ0eQp+IyEgdGlkPTkyOTU2NTgxNQpqYXUsIHdpZSB3YWVycyBtaXQgbmVtIHNlbWluYXIgdWViZXIgJ2x1ZWNrZW4gaW4gZGVyIG11ZGxpYicgOikKb2RlciAnd2llIGJla29tbWUgaWNoIGFscyBvdHRvLW5vcm1hbC1tYWdpZXIgZXJ6bWFnaWVycmVjaHRlLCB1bSBkYW5uIGluCmRlciBtcGEgZGllIHJ1YnJpayBlcnptYWdpZXIgbGVzZW4genUga29lbm5lbicgLi4uIDopCgpKZW1hbmQgO1AKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZW1pbmFyZSAoUmlrdXMsIDE3LiBKdW4gMTk5OSwgMTE6NDg6NTgpOgp+IyEgcm49SG9vZCBydD05Mjk1NjU4MTUgcmc9cGFydHkKfiMhIHRpZD05Mjk1NjU4MTUKaG0sIHdhcyB3aXJkIGRlbm4gZGVuIEdhc3Rkb3plbnRlbiBnZXphaGx0PyA6KQoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZW1pbmFyZSAoTWNjYXVscywgMTcuIEp1biAxOTk5LCAxNDo0MTo0Nik6Cn4jISBybj1Ib29kIHJ0PTkyOTU2NTgxNSByZz1wYXJ0eQp+IyEgdGlkPTkyOTU2NTgxNQpTZW1pbmFyIGlzdCBlaW4gbXVzcyEKCltYXSBJY2ggd2lsbCBlaW4gU2VtaW5hciAgIDopCgpUaGVtYTogaG1tbSAuLi4gbWljaCBpbnRlcmVzc2llcnQgZGllIEdpbGRlbnByb2dyYW1taWVydW5nCiAgICAgICBqZWRlcyBhbmRlcmUgVGhlbWEgd3VlcmQgaWNoIGFiZXIgYXVjaCBhbmhvZXJlbgoKTWNDYXVscywgd2lzc2JlZ2llcmlnIHdpZSBrYXVtIGVpbiBad2VyZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZW1pbmFyZSAoSG91c2Vob2xkZXIsIDE3LiBKdW4gMTk5OSwgMTQ6NDg6MDYpOgp+IyEgcm49TWNjYXVscyBydD05Mjk2MjMzMDYgcmc9cGFydHkKfiMhIHRpZD05Mjk1NjU4MTUKamEgZ2VuYXUgZmFsbHMgaWNoIHVlYmVyaGF1cHQga29tbWVuIGthbm4gd3VlcmRlIG1pY2ggYXVjaApnaWxkZW5wcm9ncmFtbWllcnVuZyBpbnRlcmVzc2llcmVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZW1pbmFyZSAoSG9vZCwgMTcuIEp1biAxOTk5LCAxNDo0OToyOCk6Cn4jISBybj1KYXNwZXIgcnQ9OTI5NTg4MTM4IHJnPXBhcnR5Cn4jISB0aWQ9OTI5NTY1ODE1CnNjaGFkZW5mcm9oZXMgcGFjayA6KQplcyBzaW5kIG51ciBiZWl0cmFlZ2UgZXJ3dWVuc2NodCwgZGllIGF1Y2ggZWluZW4gc2lubnZvbGxlbiBiZWl0cmFnCnp1bSB3ZWl0ZXJlbiBhdWZiYXUgZGVzIG11ZHMgbGllZmVybi4gaW5zb2Zlcm4gc2luZCBzZWxic3R2ZXJ3aXJrbGljaGVuZGUKc2ljaGVyaGVpdHNhc3Bla3RlIGRlciBtdWRsaWIgdm9lbGxpZyB1bmludGVyZXNzYW50OiB1bmQgendhciBhdXMgc2ljaHQKZGVzIGFkbWlucywgYWxzIGF1Y2ggYXVzIHNpY2h0IGRlcyBoYWNrZXJzIDopCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbm1lbGRlbiBhYmVyIHdpZSAoTXVhZGliLCAyMC4gSnVuIDE5OTksIDE5OjUxOjQwKToKaGksCgpmdWVyIGRpZSAob2sgZGVuKSBibG9lZGVuIHdpZSBtaWNoLCBsYW5ndCBqZXR6dCBuZSBlaW5mYWNoZSBhbm1lbGR1bmcsIG9kZXIKbXVzcyBpY2ggbm9jaCBpcmdlbmR3aWUga3VuZGdlYmVuLCB3ZWxjaGUgYXJ0IGRlciB1bnRlcmt1bmZ0IGdld3VlbnNjaHQgd2lyZCA/CihiZXR0LCBtYW1wZikKCm11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFubWVsZGVuIGFiZXIgd2llIChQYWRyZWljLCAyMC4gSnVuIDE5OTksIDE5OjUyOjM0KToKfiMhIHJuPU11YWRpYiBydD05Mjk5MDExMDAgcmc9cGFydHkKfiMhIHRpZD05Mjk5MDExMDAKVHJhZyBlcyBkb2NoIGVpbmZhY2ggdW50ZXIgU3VjaGUvYmlldGUgVW50ZXJrdW5mdCBlaW4uCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJyZXR0IChSb2NodXMsIDIyLiBKdW4gMTk5OSwgMTk6MjI6NDQpOgpGdWVyIGRpZWplbmlnZW4sIGRpZSBlcyBub2NoIG5pY2h0IGJlbWVya3QgaGFiZW4gKGR1ZXJmdGVuIHdvaGwKdm9yIGFsbGVtIFNlaGVyIHNlaW4gZGllIGluIGlocmVuIEhhZXVzZXJuIHN0YXR0IGVpbmVyIEdpbGRlCmF1ZndhY2hlbik6IERhcyBQYXJ0eWJyZXR0IGlzdCBzY2hvbiBzZWl0IG5lciBXb2NoZSBhdWZnZXN0ZWxsdCA6KQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFlaC4uLiAoTHVnLCAyMy4gSnVuIDE5OTksIDAzOjE0OjM2KToKCklzdCBkYXMgZWlnZW50bGljaCBlaW4gU2NoZXJ6PyBHaWJ0cyBkaWVzZW4gT3J0PyBVbmQgdm9yIGFsbGVtIHdvIGxpZWd0IGRlcj8KClRzc3NlbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWVoLi4uIChKYXNwZXIsIDIzLiBKdW4gMTk5OSwgMDM6MTU6MTQpOgp+IyEgcm49THVnIHJ0PTkzMDEwMDQ3NiByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3Ngp3ZWxjaGVyIG9ydD8/PwoKamFzcGVyIGRlbmt0Lm9PKGFibSBmdWVyIGdyaW1tYm9ybikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWVoLi4uIChMdWcsIDIzLiBKdW4gMTk5OSwgMDM6MTY6MTApOgp+IyEgcm49SmFzcGVyIHJ0PTkzMDEwMDUxNCByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3NgoKTWVubm8sCgpkZXIgIk9ydCIgYW4gZGVtIGRpZSBhbmdlYmxpY2ggUGFydHkgZGVtIEhvZXJlbnNhZ2VuIG5hY2ggc3RhdHRmaW5kZW4gc29sbC4uLgoKV2FvbnN0ZW5kCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWVoLi4uIChKYXNwZXIsIDIzLiBKdW4gMTk5OSwgMDM6MTc6MTUpOgp+IyEgcm49THVnIHJ0PTkzMDEwMDU3MCByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3NgphY2hzbyBkZXIgbGllZ3QgaXJnZW5kd28gaW4gZGVyIHdhbGFjaGhlaSBzdWVkbGljaCB2b24ga29ibGVuegoKamFzcGVyIGZyYWd0IHNpY2ggb2Igd2lyIHNvIGRpZSBydWJyaWsgcGFydHkgYmlzIG1vcmdlbiBmcnVlaCB2b2xsYmVrb21tZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFlaC4uLiAoTHVnLCAyMy4gSnVuIDE5OTksIDAzOjE4OjIzKToKfiMhIHJuPUphc3BlciBydD05MzAxMDA2MzUgcmc9cGFydHkKfiMhIHRpZD05MzAxMDA0NzYKCkFBQVJSR0dISEhIOjo6CgpLb2JsZW56PyBEYXMgbGllZ3QgamEgbm9jaCB3ZWl0ZXIgc3VlZGxpY2ggYWxzIE11ZW5zdGVyLi4uCgpTbyBlaW4gZXJnb2Jld3Rvamhid2V0b2hqYndlZ2JyZW91ZXJ2YmV2YmVoYnZlZ3ZicWVycmZ2Ckx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWVoLi4uIChKYXNwZXIsIDIzLiBKdW4gMTk5OSwgMDM6MTg6NTEpOgp+IyEgcm49THVnIHJ0PTkzMDEwMDcwMyByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3NgpqYSBzb2dhciBzdWVkbGljaCB2b24gYm9ubiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQWVoLi4uIChMdWcsIDIzLiBKdW4gMTk5OSwgMDM6MTk6MjcpOgp+IyEgcm49SmFzcGVyIHJ0PTkzMDEwMDczMSByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3NgoKQWxzbyBzY2hvbiBhdWYgZGVyIGFuZGVyZW4gU2VpdGUgZGVzIEFlcXVhdG9ycy4uLgoKVW5kIG5hIGtsYXIsIGRpZSBSdWJyaWsgaXN0IGRhbm4gd29obCBiYWxkIHZvbGwuLi4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBZWguLi4gKEphc3BlciwgMjMuIEp1biAxOTk5LCAwMzoyMDoxNyk6Cn4jISBybj1MdWcgcnQ9OTMwMTAwNzY3IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTAwNDc2CmRhcyBpc3QgYWxzbyBxdWFzaSBkYSwgd28gZGVyIGh1bmQgYmVncmFiZW4gaXN0IDopCnVuZCB1ZWJyaWVucyBpc3QgZGFubiBraXJtZXMgZG9ydCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQWVoLi4uIChMdWcsIDIzLiBKdW4gMTk5OSwgMDM6MjA6NDUpOgp+IyEgcm49SmFzcGVyIHJ0PTkzMDEwMDgxNyByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3NgoKT2VoLAoKS2lybWVzPyB3YXMgaXN0IGRlbm4gZGFzPyBTbyBlaW5lIEFydCBLcmFtZXJtYXJrdD8KRnJhZ2VuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFlaC4uLiAoSmFzcGVyLCAyMy4gSnVuIDE5OTksIDAzOjIxOjI5KToKfiMhIHJuPUx1ZyBydD05MzAxMDA4NDUgcmc9cGFydHkKfiMhIHRpZD05MzAxMDA0NzYKaW4gZGVyIGFydCA6KQphbGxlIHRyZWZmZW4gc2ljaCBpbSBmZXN0emVsdCBvZGVyIGltIGRvcmZzYWFsIHVuZCBzYXVmZW4gYmlzIHp1bSB1bWtpcHBlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFlaC4uLiAoTHVnLCAyMy4gSnVuIDE5OTksIDAzOjIyOjA3KToKfiMhIHJuPUphc3BlciBydD05MzAxMDA4ODkgcmc9cGFydHkKfiMhIHRpZD05MzAxMDA0NzYKCldvenU/IERhenUgaXN0IGRvY2ggc2Nob24gZGllIFBhcnR5IGRhLi4uCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBZWguLi4gKEphc3BlciwgMjMuIEp1biAxOTk5LCAwMzoyMzoyOSk6Cn4jISBybj1MdWcgcnQ9OTMwMTAwOTI3IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTAwNDc2Cm5laW4sIGRpZSBraXJtZXMgaXN0IGRhIGltIGRvcmYsIHVuZCBkaWUgZWlud29obmVyIGJlc2F1ZmVuIHNpY2gsIHVuZAp2ZXJtdXRsaWNoIGdpYnRzIGRhbm4gZWluaWdlIGRvcmZtYXRyYXplbiBkaWUgZGFubiBhdWNoIG5vY2ggaW4gZGVyIGJ1cmcKbmFlY2h0aWdlbiB3b2xsZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBBZWguLi4gKEx1ZywgMjMuIEp1biAxOTk5LCAwMzoyNDoyOSk6Cn4jISBybj1KYXNwZXIgcnQ9OTMwMTAxMDA5IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTAwNDc2CgpIbT8KCkhvZXIgaWNoIEJ1cmc/IEFscyBCZWxhZ2VydW5nc2V4cGVydGUgZ2VuYXUgZGFzIFJpY2h0aWdlLi4uIHVuZCBkaWUKRG9yZmhhbnNlbHMgaGFiZW4gZGFubiBlYmVuICJQZWNoIi4uLgoKU2llZGVuZGVzLi4uCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBBZWguLi4gKEphc3BlciwgMjMuIEp1biAxOTk5LCAwMzoyNTo0NSk6Cn4jISBybj1MdWcgcnQ9OTMwMTAxMDY5IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTAwNDc2CmZhbmcgbmljaHQgd2llZGVyIGlyZ2VuZHdhcyB2b24gJ3NpZWRlbmRlcy4uICcgYW4gLCBpY2ggaGF0dGUgZG9jaCBnZXJhZGUgZXJzdAphdWYgdGllZnNpbm5pZ2UgYXJ0IHVuZCB3ZWlzZSBkYXMgdGhlbWEgYXVmIGRpZSBkb3JmbWF0cmF6ZW4gZ2VicmFjaHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBBZWguLi4gKEx1ZywgMjMuIEp1biAxOTk5LCAwMzoyNjo0Nik6Cn4jISBybj1KYXNwZXIgcnQ9OTMwMTAxMTQ1IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTAwNDc2CgpBQ0hTTyEgSGFiIGhldXRlIG5lIGxhZW5nZXJlIExlaXR1bmcgYWxzIHNvbnN0Li4uCk1hdHJhemVuLi4uU2NobGFmZW4uLi5hdWYgZGVuZW4uLi4gYWhhYWFhYWFhLi4uCgpPZWgsIEFlaCwgVWVoLCBpY2ggc2FjaCBkYXp1IG5peC4uLgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBBZWguLi4gKEphc3BlciwgMjMuIEp1biAxOTk5LCAwMzoyODoxMCk6Cn4jISBybj1MdWcgcnQ9OTMwMTAxMjA2IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTAwNDc2CnB1dWggaWNoIGdsYXViIHZpZWwgbWVociBhbHMgMTVhcnRpa2VsIGthbm4gbWFuIGF1Y2ggbmV0IHp1IGRlbSBsYWRlbiBkYQpzY2hyZWliZW4sIGltIG5ldHogZ2FicyBuZSBpbnRlcmVzc2FudGUgc2VpdGUsIGF1ZiBkZXIgbmUgNnRlIGtsYXNzZSBkaWUKa2xhc3NlbmZhaHJ0IGF1ZiBkaWUgYnVyZyBiZXNjaHJpZWJlbiBoYWJlbiwgZGllIHdhcmVuIHJ1bmR1bSBiZWdlaXN0ZXJ0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogQWVoLi4uIChMdWcsIDIzLiBKdW4gMTk5OSwgMDM6Mjk6MDYpOgp+IyEgcm49SmFzcGVyIHJ0PTkzMDEwMTI5MCByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3NgoKTmEgZGFzIHBhc3N0IGphIHZvZWxsaWcgenUgZGVtIE5pdmVhKiBoaWVyLCBrb21tdCBzaWNoZXIgYXVjaCBLb29taS4uLgoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogQWVoLi4uIChKYXNwZXIsIDIzLiBKdW4gMTk5OSwgMDM6Mjk6MjYpOgp+IyEgcm49THVnIHJ0PTkzMDEwMTM0NiByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3Ngp3ZXI/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogQWVoLi4uIChMdWcsIDIzLiBKdW4gMTk5OSwgMDM6MzA6MTgpOgp+IyEgcm49SmFzcGVyIHJ0PTkzMDEwMTM2NiByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3NgoKTnVyIHNvIGVpbiBbWkVOU1VSXS4gTmFqYSwgZ2VuZXJlbGwgZ2VzYWd0IGtsZWluZSBNdWRkZXIgbWl0IElkZW50aXRhZXRza3Jpc2VuCnVuZCBQdWJlcnRhZXRzcHJvYnMuLi4KCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEFlaC4uLiAoTGVuYSwgMjMuIEp1biAxOTk5LCAxMDozOTo0OSk6Cn4jISBybj1KYXNwZXIgcnQ9OTMwMTAxMjkwIHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTAwNDc2CncKZQpMZW5hIGlzdCBlcnN0IDUgdW5kIGhhdCBpbiBkZXIgNi50ZW4gS2xhc3NlIG5peCB2ZXJsb3Jlbi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBmdCwgbmV1ZSBQYXJ0eXMgLi4uIChNYWhhdG11LCAyMy4gSnVuIDE5OTksIDExOjQ2OjQ1KToKVmllbCB6dSB3ZWl0IHdlZy4gV2VubiBzaWNoIGVpbiBXV1ctTWVuc2NoIGRydW0ga3VlbW1lcnQsIGtvZW5udCBJaHIgRXVjaAphYmVyIHdlbmlnc3RlbnMgZGllIEJpbGRlciB6d2VpZXIgYWx0ZXIgUGFydGllcyBhbnNjaGF1ZW4uIFZvbiBkZW0gYWx0ZW4KU2FjayBNYWheSF5IXkhaaW5vIGtvbW1lbnRpZXJ0LgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBBZWguLi4gKE11YWRpYiwgMjMuIEp1biAxOTk5LCAxMjozNjo0Nyk6Cn4jISBybj1MZW5hIHJ0PTkzMDEyNzE4OSByZz1wYXJ0eQp+IyEgdGlkPTkzMDEwMDQ3NgpuaWNodCBudXIgZGEgbmljaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ld3MgKE1vbnRhbnVzLCAyMy4gSnVuIDE5OTksIDIyOjIzOjM2KToKClVtIGRpZSB6dWxldHp0IGF1Zmdla29tbWVuZSBldHdhcyBicm90bG9zZSBBcnRpa2VsaGFzY2hlcmVpIGluIGRpZXNlciBSdWJyaWsKenUgYmVlbmRlbiwgd2VyZmUgaWNoIG1hbCB3aWVkZXIgZXR3YXMgbWVociBhbiBJbmZvcyB1bnRlcnMgVm9say4gOi0pCgpEZXJ6ZWl0aWdlciBaZWl0cGxhbjoKU2Ftc3RhZyBNaXR0YWcgUkwtUXVlc3QgKGhpZXIgd2VyZGVuIG5vY2ggZHJpbmdlbmQgSGVsZmVyIGdlc3VjaHQpClNhbXN0YWcgYWJlbmQ6IFBhcnR5ClNvbm50YWcgTWl0dGFnIChvcHRpb25hbCk6IEJhZCBTb2Jlcm5oZWltLCBCZXN1Y2ggZGVzIEJhcmZ1c3NwZmFkcywKYW5zY2hsaWVzc2VuZCBBYnNjaGx1c3Nlc3NlbiBiZWltIENoaW5hbWFubgoKS29udG9udW1tZXIgdW5kIGFlaG5saWNoZXMgc2luZCBpbnp3aXNjaGVuIGF1Y2ggYmVrYW5udCwgaWNoIGhvZmZlLCBkYXNzClBhcmFjZWxzdXMgZGVtbmFlY2hzdCBlaW4gVXBkYXRlIGRlcyBQYXJ0eWJyZXR0cyBhdWZzdGVsbHQuIDotKQpbZXh0cmVtZSBzY2h3YXJ6ZXBldGVydmVyc2NoaWViaW5nXQoKRXMga2FtZW4gZWluaWdlIEFuZnJhZ2VuIHdlZ2VuIEJldHRlbi9aaW1tZXJuLiBJY2ggdmVyc3VjaGUsIGRhc3MKZWluaWdlcm1hc3NlbiBzbyBoaW56dWJla29tbWVuLCB3aWUgZXMgcGFzc3QuIDotKQp3aXIgaGFiZW4gaGllciB6aW1tZXIgaW4gZm9sZ2VuZGVuIGdyb2Vzc2VuOgo4LDgsOCwxMCwxMCwxMSB1bmQgMTcuIERhcyBlaW5lIDEwZXItWmltbWVyIGlzdCBlaW4gRG9wcGVscmF1bSwga2FubiBhbHNvIGFscwo2KzQtWmltbWVyIGFuZ2VzZWhlbiB3ZXJkZW4uCgpCaXR0ZSBicmluZ3QgKmVudHdlZGVyKiBTY2hsYWZzYWNrIHBsdXMgQmV0dHR1Y2ggKm9kZXIqIGtvbXBsZXR0ZSBiZXR0d2Flc2NoZQptaXQuIEtpc3NlbiB1ZG4gRGVja2Ugc2luZCBuYXR1ZXJsaWNoIHZvcmhhbmRlbiAtIHdpZSBlaWdlbnRsaWNoIGluIGplZGVyCnVnZW5kaGVyYmVyZ2UuCgptZWhyIHNwYWV0ZXIKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdC1zaGlydCAoTW9udGFudXMsIDI0LiBKdW4gMTk5OSwgMDA6MTg6MjApOgoKU29sbCBlcyBtYWwgd2llZGVyIGVpbiBQYXJ0eS1ULVNoaXJ0IGdlYmVuPwoKRnVlaGx0IHNpY2ggamVtYW5kIHp1c3RhZW5kaWc/CgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhbmcgdGhlIERKIChNb250YW51cywgMjQuIEp1biAxOTk5LCAwMDoxOToyOCk6CgpGdWVyIGRlbiBQYXJ0eWFiZW5kIGhhdCBzaWNoIEdub21lIGFscyBESiBhbmdlYm90ZW4uCklzdCBkb2NoIGF1Y2ggbmUgdG9sbGUgTmV1aWdrZWl0LCBvZGVyPyBVbmQgZXIgaGF0IHZlcnNwcm9jaGVuLCBrZWluICJIaXQgbWUKYmFieSBvbmUgbW9yZSB0aW1lIiB6dSBzcGllbGVuLiBFaW4gZ3V0ZXIgQmVnaW5uLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXdzIChSaWt1cywgMjQuIEp1biAxOTk5LCAwODo0Mjo0OCk6Cn4jISBybj1Nb250YW51cyBydD05MzAxNjk0MTYgcmc9cGFydHkKfiMhIHRpZD05MzAxNjk0MTYKSXN0IGF1Y2ggZnVlciBkZW4gRnJlaXRhZyBhYmVuZCB3YXMgZ2VwbGFudD8gUmF1bSBpbiBlaW5lciBLbmVpcGUgbWlldGVuCm9kZXIgc293YXM/CgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm90b3MgKEdyaW1tYW4sIDI0LiBKdW4gMTk5OSwgMjE6NDY6MzIpOgpTbyBpaHJzLCBpY2ggaGFiIGZ1ZXIgaW50ZXJlc3NpZXJ0ZSBub2NobWFsIGRpZSBBZHJlc3NlbiwgZGllIGFscyBMaW5rcyBhdWYKZGVyIE1HLVNlaXRlIGhpbmdlbiwgcmF1c2dlc3VjaHQgLi4uCnd3dy5zdHVkLnVuaS1oYW1idXJnLmRlL3VzZXJzL2FmdGVyZ2xvL211ZC9iaWxkZXJ3OTkvaW5kZXguaHRtbAp3d3cuYmVvcm4uYWMudW5pLWtvZWxuLmRlL3RhbmdhbHVyCnd3dy51cnoudHUtZHJlc2Rlbi5kZS90azgzNTUzNC9tdWQvcGFydHkvaW5kZXguaHRtbAoKVmllbGxlaWNodCBoaWxmdHMgamEgamVtYW5kZW0gOykKCkdyaW1NYW4gLCBoZXV0ZSBtYWwgcHJvZHVrdGl2IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm90b3MgKEdyaW1tYW4sIDI0LiBKdW4gMTk5OSwgMjE6NTE6MjIpOgp+IyEgcm49R3JpbW1hbiBydD05MzAyNTM1OTIgcmc9cGFydHkKfiMhIHRpZD05MzAyNTM1OTIKTmFlY2hzdGVyIFZlcnN1Y2ggOykKVm9yIGRlbSB0azgzNTUzNCBrb21tdCBlaW5lIFRpbGRlIC4uLiBpcmdlbmR3aWUga2FubiBpY2ggZGllIGltIE1vbWVudCBuaWNodAp0aXBwZW4gOykKCk1CSU1HIEdyaW1NYW4gLCBoZXV0ZSBtYWwgdmVycGVpbHQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVzIGdpYnQga2VpbiBTY2h1bGxhbmRoZWltISAoVHJ5ZmFuLCAyNy4gSnVuIDE5OTksIDEzOjQzOjMwKToKU2NodWxsYW5kaGVpbSEgSWNoIGhvZXJlIGltbWVyIFNjaHVsbGFuZGhlaW0uIEFiZXIgd2FzIGlzdApkYXMgZnVlciBlaW4gU2NodWxsYW5kaGVpbT8hIElzdCBkYXMgc28gZWluIGxhbmd3ZWlsaWdlcwpBdWZmYW5nYmVja2VuIGZ1ZXIgYWx0ZSBMZWhyZXIgbWl0IGxhbmd3ZWlsaWdlbiBTY2h1bGtsYXNzZW4sCnVtIHNpZSBhdWYgYXVzc2Nod2VpZmVuZGUgU3BhemllcmdhZW5nZSB1bmQgaW4gc3BpZXNzaWdlCk11c2VlbiB6dSBzY2hldWNoZW4/IE5laW4hICBEYXMgaXN0IGVpbiBhZmZlbmdlaWxlcyBTY2hsb3NzLgpPZGVyIGJlc3NlciBnZXNhZ3QsIHNjaG9uIGZhc3QgZWluZSBtaXR0ZWxhbHRlcmxpY2hlIEJ1cmcKbWl0IHZpZWxlbiB2ZXJib3JnZW5lbiBXaW5rZWxuLCBlaW5lbSBUaHJvbnNhYWwsCnZlcnd1bnNjaGVuZW4gRXJrZXJuIHVuZCBmZXVjaHRlbiBLYXRha29tYmVuLgpTb2xsIG1hbiBzb3dhcyBTY2h1bGxhbmRoZWltIG5lbm5lbiwgbnVyIHdlaWwgZGEgYWIgdW5kIHp1Cm1hbCBTY2h1bGtsYXNzZW4gdm9yYmVpc2NoYXVlbj8gTmVpbiwgd2lyIG5lbm5lbiBkYXMgdW5zZXJlCldpbnRlcmJ1cmcsIHdlbm4gd2lyIGF1cyBkZW0gTW9yZ2VuZ3JhdWVuIGRvcnQgZWluZmFsbGVuLgpCcmluZ3QgRXVyZSBUcmlua2hvZXJuZXIgbWl0IHVuZCB2ZXJnZXNzdCBFdXJlIFNjaHdlcnRlciAKbmljaHQhIEJlcmVpdGV0IEV1cmUgTGFnZXIgaW4gZGVuIE5pc2NoZW4gZGVyIEdlc2luZGVyYWV1bWUuIApLcm9lbnQgV3VyemVsIHp1bSBIZXJyc2NoZXIgZGVyIFVudGVyd2VsdCBvZGVyIHNjaGxpZXNzdApFdWNoIGRlciBSZXZvbHV0aW9uIHZvbiBNb3Jnb3RoIGFuOyBsYXNzdCBFdWNoIHZvbiBCb2luZyBpbQpUaHJvbnNhYWwgenVtIFJpdHRlciBzY2hsYWdlbiEgTGFzc3QgRXVjaCB6dW0gVHJpbmtnZWxhZ2UKYW0gQmVyZ2JydW5uZW4gbmllZGVyIHVuZCBzY2hsZWljaHQgZGVzIE5hY2h0cyB1ZWJlciBkaWUKa25hcnJlbmRlbiBTdHVmZW4gZGVyIGhvZWx6ZXJuZW4gVHJlcHBlbi4KTWFjaHQgRXVjaCBhdWYgenVyIFdpbnRlcmJ1cmchIEVzIGdpYnQga2VpbiBTY2h1bGxhbmRoZWltIQoKVHJ5ZmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXMgZ2lidCBrZWluIFNjaHVsbGFuZGhlaW0hIChNb3Jnb3RoLCAyOC4gSnVuIDE5OTksIDA3OjU4OjQ3KToKfiMhIHJuPVRyeWZhbiBydD05MzA0ODM4MTAgcmc9cGFydHkKfiMhIHRpZD05MzA0ODM4MTAKQWVoPyBXaWUgd28gd2FzIHdlbGNoZSBSZXZvbHV0aW9uPz8KSGFiIGljaCB3YXMgdmVycGFzc3Q/Cldlbm4gRHUgZGVuICdLYW1wZicgZ2VnZW4gZGllIGhvaGVuIEhlcnJlbiBtZWluc3QsIGRlbiBnaWJ0IGVzIHNjaG9uIGV3aWcgdW5kCmlzdCBuaWNodCB3aXJrbGljaCBlaW5lIFJldm9sdXRpb24sIHNvbmRlcm4gbWVociBlaW4ga2xlaW5lcyBGZXVlcmNoZW4sIGRhcwppY2ggaW1tZXIgbWFsIHdpZWRlciBlaW4gd2VuaWcgYW5mYWNoZSA7LSkpCkZhbGxzIER1IGRhcyBuaWNodCBtZWluc3QsIHd1ZXNzdGUgaWNoIGdlcm5lLCB3ZWxjaGUgUmV2b2x1dGlvbiBpY2gKaGVyYXVmYmVzY2h3b3JlbiBoYWJlLgoKTSogZ3J1ZWJlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmdhZW56dW5nIChSb2NodXMsIDI4LiBKdW4gMTk5OSwgMjA6MTY6MTkpOgpbQWxsZ2VtZWluOlJvY2h1c10gYWVobSwgd2llIGtvbW10IGVzIGVpZ2VudGxpY2ggZGFzcyBlcnN0IDU2IGxldXRlIGFuZ2VtZWxkZXQKW0FsbGdlbWVpbjpSb2NodXNdIHNpbmQ/IDopCltBbGxnZW1laW46KEJpZXJjaGVuKV0gd2VpbCBpbiBwYXJ0eSBuaXggdm9uIG5hY2t0ZW4gZnJhdWVuIHVuZCBkcm9nZW4gc3RhbmQKW0FsbGdlbWVpbjooQmllcmNoZW4pXSA6KQpPaywgamV0enQgc3RlaHQgZXR3YXMgdm9uIG5hY2t0ZW4gRnJhdWVuIHVuZCBEcm9nZW4gaW4gZGVyIFJ1YnJpaywKYWxzbyBtZWxkZXQgRXVjaCBhbiwgTGV1dGUgOy0pCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyZ2Flbnp1bmcgKE1vbnRhbnVzLCAyOC4gSnVuIDE5OTksIDIzOjAxOjE5KToKfiMhIHJuPVJvY2h1cyBydD05MzA1OTM3Nzkgcmc9cGFydHkKfiMhIHRpZD05MzA1OTM3NzkKCkJldm9yIG1pY2ggZGFzIGpldHp0IG5vY2ggdGF1c2VuZCB3ZWl0ZXJlIExldXRlIHBlciBNYWlsIGZyYWdlbjoKCiogYml0dGUgdWViZXJ3ZWlzdCBkYXMgR2VsZCBmdWVyIFVlYmVybmFjaHR1bmcvRnJ1ZWhzdHVlY2sgbmF0dWVybGljaCBtaXQgZGVtClBhcnR5YmVpdHJhZyB6dXNhbW1lbiEKCkljaCB3ZXJkZSBtYWwgc2NoYXVlbiwgb2Igc2ljaCBuaWNodCBlaW4gbmV0dGVyIE1hZ2llciBiZXJlaXRlcmtsYWVydCwgZWluCnNjaGxvc3MtZmFrc2ltaWxlIHp1IHByb2dnZW4sIHdvIG1hbiBkYW5uIG9ubGluZSBzZWluIGJldHQgYmVsZWdlbiBrYW5uLCBvZGVyCnNvLiA6LSkKKE1hZ2llciB2b3IhKQoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiZXR0ZW5iZWxlZ3VuZyAoTW9udGFudXMsIDI4LiBKdW4gMTk5OSwgMjM6MTU6NTYpOgoKbmFlY2hzdGVyIFRPUC4KCldlciB3aWxsLCBrYW5uIGluIHNlaW5lIEFubWVsZHVuZyBtaXQgcmVpbm1haWxlbiwgbWl0IHdlbSB1bmQgbWl0IHdlbSBuaWNodAplci9zaWUvZXMgenVzYW1tZW4gYXVmIGVpbiBaaW1tZXIgd2lsbCB1bmQgc28uIEljaCB3ZXJkZSBlcyB3b2hsIGF1Y2ggc28KbWFjaGVuLCBkYXNzIGljaCB2ZXJzdWNoZSwgZGllIExldXRlLCBkaWUgaXJnZW5kd2FubiBhdWNoIHNjaGxhZmVuIHdvbGxlbiwKbmljaHQgYXVmIGRhcyBzZWxiZSBaaW1tZXIgd2llIGRpZSB6dSBsZWdlbiwgZGllIERhdWVycGFydHkgbWFjaGVuIHdvbGxlbgood29mdWVyIGljaCBhdWNoIFZlcnN0YWVuZG5pcyBoYWJlKQoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYmV0dGVuYmVsZWd1bmcgKFBmZWlmZSwgMjguIEp1biAxOTk5LCAyMzozODowNCk6Cn4jISBybj1Nb250YW51cyBydD05MzA2MDQ1NTYgcmc9cGFydHkKfiMhIHRpZD05MzA2MDQ1NTYKSWNoIGdsYXViZSBuaWNodCwgZGFzcyBEdSBEaXIgZGFtaXQgZWluZW4gR2VmYWxsZW4gdHVzdC4gV2VubiBlcyBtb2VnbGljaCBpc3QKc29sbHRlc3QgRHUgZGVuIExldXRlbiB3ZW5uIHNpZSBhbmtvbW1lbiBsaWViZXIgZGllIFdhaGwgbGFzc2VuIG1pdCB3ZW0gc2llCmF1ZiB3ZWxjaGVzIFppbW1lciBnZWhlbi4gU29uc3Qgd2lyc3QgRHUgd2Fyc2NoZWlubGljaCBudXIgYW5nZW1hdWx0IHdlbm4gRHUKbmljaHQgYWxsZXMgV3VlbnNjaGUgZXJmdWVsbGVuIGthbm5zdC4KClBmZWlmZSBnaWJ0IFJhdHNjaGxhZWdlIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhbmcgdGhlIERKIChMdWcsIDI5LiBKdW4gMTk5OSwgMDM6Mjg6NDUpOgp+IyEgcm49TW9udGFudXMgcnQ9OTMwMTc2MzY4IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTc2MzY4CgpTcGllbCBkYXMgR25vbWUsIER1IHdpcnN0IHNjaG9uIHNlaGVuLCB3YXMgRHUgdm9uICJIaXQgTUUgU2FldWdsaW5nIG5vY2gKZWlubWFsIiBoYXN0Li4uCgpIYXIKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhhbmcgdGhlIERKIChUZWRkeSwgMjkuIEp1biAxOTk5LCAxMDoyMDozNSk6Cn4jISBybj1MdWcgcnQ9OTMwNjE5NzI1IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTc2MzY4CkFsc28gaWNoIHdhciBhdWYgZGVyIGxldHp0ZW4gUGFydHkgbWl0IEdub21lIGFscyBESiBlaWdlbnRsaWNoIHp1ZnJpZWRlbiB1bmQKc293ZWl0IGljaCBtaWNoIGVyaW5uZXJlIHdhcnN0IGR1IGF1Y2ggcmVjaHQgdmllbCBhdWYgZGVyIFRhbnpmbGFlY2hlLCBMdWcuCjstKQoKVGVkZHksIG5pY2h0IHNpY2hlciBvYiBkYXMgYW0gQWxrcGVnZWwgbGFnIG9kZXIgYW4gR25vbWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzZW1pbmFyIChIb29kLCAyOS4gSnVuIDE5OTksIDEwOjI3OjUzKToKaGkgbGV1dGUsCgphbHNvIGxhdXQgb3JnYW5pc2F0b3Igd2FlcmUgZWluIHNlbWluYXIga2VpbiBwcm9ibGVtLAphbmdlYmxpY2ggaXN0IGFsbGVzIGRhIHZib24gcmF1bSwgdWViZXIgdGFmZWwgYmlzIHp1bSBwcm9qZWt0b3IuCnNjaGVpYmFyIHNpbmQgYXVjaCBlaW5lIGdhbnplIGFuemFobCB2b24gbGV1dGVuIGZ1ZXIgZWluZSBzb2xjaGUKdmVyYW5zdGFsdHVuZy4Kd2FzIGpldHp0IG5vY2ggZ2VicmF1Y2h0IHdpcmQsIHNpbmQgbGV1dGUsIGRpZSBzaWNoIHZvcm5lCmhpbnN0ZWxsZW4gdW5kIGFsbGVuIGFuZGVyZW4gZ2VwZmxlZ3QgZWluIG9ociBhYmthdWVuLgphbGxlaW5lIGthbm4gaWNoIGRhcyB3b2hsIGthdW0gbWFjaGVuLCBhbHNvIHdhZXJlIGVzIG5ldHQsIHdlbm4Kc2ljaCBtYWwgZWluIHBhYXIgbGV1dGNoZW5zIG1lbGRlbiBtaXQgdGhlbWVudm9yc2NobGFnLgooYWxzbyBuaWNodCBudXIgdm9yc2NobGFnZW4sIGRhbm4gYXVjaCBtYWNoZW4pCmZhdm9yaXRlbiBzaW5kIG1laXN0IGdpbGRlbnByb2dyYW1taWVydW5nIHVuZCB2aXJ0dWFsbCBjb21waWxlciwgbnVyIGhhdCBzaWNoCmRhIGJpc2hlciBrYXVtIHdlciByYW5nZXRyYXV0LgpvYiBudW4ganVuZy0gb2RlciBhbHRtYWdpZXIsIGxpYi12ZXJ0cmF1dGUgc3BpZWxlciBvZGVyIG5pY2h0LApzb2xhbmdlIGlociBlcyBldWNoIHp1dHJhdXQgdW5kIGRhcyB0aGVtYSBmdWVyIGRpZSBtYXNzZSBpbnRlcmVzc2FudCBnZW51ZwplcnNjaGVpbnQsIGtvZW5udCBpaHIgcnVoaWcgbWFsIHNvbGNoIGVpbmVuIHZvcnRyYWcgaGFsdGVuLgpzb2xsdGUgc2ljaCBrZWluZXIgbWVsZGVuLCBtdXNzIGVzIGxlaWRlciBpbnMgd2Fzc2VyIGZhbGxlbiwgYWJlciBhbgptaXIgbGFnIGVzIGRhbm4gbmljaHQgOikKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGFuZyB0aGUgREogKEdub21lLCAyOS4gSnVuIDE5OTksIDE1OjI5OjM2KToKfiMhIHJuPUx1ZyBydD05MzA2MTk3MjUgcmc9cGFydHkKfiMhIHRpZD05MzAxNzYzNjgKb2tvaywgYWxsZXMga2xhciwgd2llIHdhZXJzIGRlbm4gbWl0IGRqIGJvYm8sIGJveXpvbmUgb2RlciBtb2Rlcm4gd3Vlcmc/Cgpnbk9tZSBrYXVmdCBzaWNoIG9ocmVuc3RvZXBzZWwgdW5kIGdlaHQgc2Nob24gbWFsIGluIGRlY2t1bmcgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYW5nIHRoZSBESiAoS2FydG9mZmVsLCAyOS4gSnVuIDE5OTksIDIxOjI3OjM1KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMDE3NjM2OCByZz1wYXJ0eQp+IyEgdGlkPTkzMDE3NjM2OAoKSkFBQUFBQUFBQSEhISEhISEhISEhISEhISEhISEhMQoKJ1RvZmZlbCAtanViZWxuZCB1bmQgc2Nob24gbWFsIGRpZSBLbmllYmFuZGFnZW4gZWlucGFja2VuZC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhhbmcgdGhlIERKIChLYXJ0b2ZmZWwsIDI5LiBKdW4gMTk5OSwgMjE6MzE6NTMpOgp+IyEgcm49R25vbWUgcnQ9OTMwNjYyOTc2IHJnPXBhcnR5Cn4jISB0aWQ9OTMwMTc2MzY4ClNvaG5lbWFubiwgd2VubiBEdSBkYXMgcGxhbnN0IHBhY2sgaWNoIGF1Y2ggbm9jaCBtZWluIE51ZGVsaG9seiBlaW4gOykKCidUb2ZmZWwgLSBkZW5rdCBhbiBkaWUgbGV0enRlbiBGZXRlbiB1bmQgdmVydHJhdXQgYXVmIEdub21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoIG5lIEZyYWdlIChLYXJ0b2ZmZWwsIDI5LiBKdW4gMTk5OSwgMjE6MzY6NTEpOgpJcyBtaXR0bGVyd2VpbGUga2xhciB3YXMgemVsdGVuIGtvc3RldD8KWmVsdGVuIG1pdHVlYmVyd2Vpc2VuIG9kZXIgd2lyZCBkYXMgYmFyIGJlemFobHQ/CgonVG9mZmVsIC0genVlY2t0IEt1bGkgdW5kIFVlYmVyd2Vpc3VuZ3Nmb3JtdWxhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBiZXR0ZW5iZWxlZ3VuZyAoU3BpcmlsbCwgMzAuIEp1biAxOTk5LCAyMDowNDo1NSk6Cn4jISBybj1QZmVpZmUgcnQ9OTMwNjA1ODg0IHJnPXBhcnR5Cn4jISB0aWQ9OTMwNjA0NTU2CkljaCBmaW5kZSBkaWUgZWludGVpbHVuZyBpbiBzY2hsYWYtdW5kIGZlaWVyemltbWVyIHNpbm52b2xsIChpY2ggd2lsbApzY2hsYWFhYWFmZW4hamVkZW5mYWxscyBpcmdlbmR3YW5uLi4uLikuLiBvYndvaGwgZXMgdmVybXV0bGljaCBuaWNodCBnYW56CnJlYWxpc3Rpc2NoIGlzdC4KR2lidHMgbmljaHQgZWggZ2VudWcgUmFldW1lIGZ1ZXIgUXVhc3NlbHN0cmlwcGVuIGV0Yz8KU3BpcmlsbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGFuZyB0aGUgREogKEx1ZywgIDIuIEp1bCAxOTk5LCAwMTozMDo0NSk6Cn4jISBybj1UZWRkeSBydD05MzA2NDQ0MzUgcmc9cGFydHkKfiMhIHRpZD05MzAxNzYzNjgKCk9laCBUZWRkeS4uLgoKRHUgaGFzdCBkYXMgd2FzIGVudHNjaGllZGVuIG1pc3ZlcnN0YW5kZW4sIER1IHdhcnN0IGRvY2gga2VpbmUgRnJhdSAoaWhnaXR0KQp3ZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lLi4uCgpIYWUgaGFlCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGFuZyB0aGUgREogKEx1ZywgIDIuIEp1bCAxOTk5LCAwMTozMTozNSk6Cn4jISBybj1Hbm9tZSBydD05MzA2NjI5NzYgcmc9cGFydHkKfiMhIHRpZD05MzAxNzYzNjgKR25vbWU/CgpEdSB3ZWlzc3QsIGRhcyBpY2ggZ3JvZXNzZXIsIHN0YWVya2VyIHVuZCBnZW1laW5lciBiaW4uLi4KCktvbW1lbnRhcmxvcwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhhbmcgdGhlIERKIChTdG9wZGVuYnVzLCAgMi4gSnVsIDE5OTksIDE0OjQ5OjU0KToKfiMhIHJuPUx1ZyBydD05MzA4NzE4OTUgcmc9cGFydHkKfiMhIHRpZD05MzAxNzYzNjgKZHUgd2FzIHdhcyB2ZXJnZXNzZW4gbHVnLCBuYWVtbGljaCBkYXMgV29ydCAic3Vlc3MiCgpTdG9wcGkgbXVzcyBkYXVlcm50IGlyZ2VuZHdlbGNoZW4gbGV1dGVuIGhlbGZlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSGFuZyB0aGUgREogKEF0b3osICAyLiBKdWwgMTk5OSwgMTc6Mzg6MDgpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05MzA5MTk3OTQgcmc9cGFydHkKfiMhIHRpZD05MzAxNzYzNjgKVHp0enR6CgpEdSBzb2xsdGVzdCBEaXIgbGllYmVyIG1hbCB2ZXJzdWNoZW4sIHNlbGJzdCB6dSBoZWxmZW4gOykpKS4KQWJlciBpcmdlbmR3aWUgaGFiZSBpY2ggZGFzIEdlZnVlaGwsIGRhc3MgRGlyIHNvd2llc28gbmljaHQgbWVociB6dSBoZWxmZW4KaXN0LCBCZXJsaW5lciA7KSkpCgpUc2NoYXUgQXRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSGFuZyB0aGUgREogKFN0b3BkZW5idXMsICAzLiBKdWwgMTk5OSwgMDE6NDc6NTEpOgp+IyEgcm49QXRveiBydD05MzA5Mjk4ODggcmc9cGFydHkKfiMhIHRpZD05MzAxNzYzNjgKaXN0IGphIHVuZ2xhdWJsaWNoLCB3aWUgZHUgZGljaCBkYSBhdWZwbHVzdGVyc3QgISBpY2ggc29sbCBtaXIgc2VsYmVyCmhlbGZlbiAhIFBhYWFoICEgRGEgaXN0IG5peCBtZWhyIHp1IGhlbGZlbiAhIFNwdWNrIGxpZWJhIG5ldCBzbyBncm9zc2UKVG9lbmUsIGJldm9yIER1IG5ldCBhdWYgRGVpbmVtIEZsdWd6ZXVndHJhZWdlciBiaXN0IHVuZCBpcmdlbmR3byBydW0tCmtyZXV6dCAuLi4KClN0b3BwaSBpc3QgZWlnZW50bGljaCBnYXIga2VpbiBCZXJsaW5lciB1bmQgYmV0b250IGRhcyBkYXVlcm50IC0gbnVyIGtlaW5lcgpnbGF1YnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5bGlzdGUgWndpc2NoZW5lcmdlYm5pcyAoTW9udGFudXMsICAzLiBKdWwgMTk5OSwgMjM6MzQ6MjMpOgoKQmlzbGFuZyBoYWJlbiAyOSBMZXV0ZSBzaWNoIGJlaSBtaXIgZ2VtZWxkZXQgKHVuZCBkYW1pdCBpaHIgQmV0dCBlcnN0bWFsCnNpY2hlcikuCkRhdm9uIGhhdCBlaW5lciBiZXJlaXRzIGRhcyBHZWxkIHVlYmVyd2lzZW4gKFN0aW5nIGJla29tbXQgZGllIEdvbGRtZWRhaWxsZSksCnVuZCAxNCBoYWJlbiBzaWNoIHBvaXRpdiB6dW0gVGhlbWEgQ2hpbmFtYW5uIGdlYWV1c3NlcnQuCgpXYXMgaXN0IG1pdCBkZW0gUmVzdCBkZXIgQW5tZWxkdW5nZW4/CgotTW9udGFudXMKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5bGlzdGUgWndpc2NoZW5lcmdlYm5pcyAoTWllemUsICA0LiBKdWwgMTk5OSwgMTI6MTk6MTIpOgp+IyEgcm49TW9udGFudXMgcnQ9OTMxMDM3NjYzIHJnPXBhcnR5Cn4jISB0aWQ9OTMxMDM3NjYzCgpJY2ggd3VlcmQgbWljaCBqYSBhbm1lbGRlbiwgd2VubiBpY2ggWmVpdCBoYWV0dGUgOikKCk1pZXplIC0ga29uemVydGllcmVuZCB1bnRlcndlZ3MuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eWxpc3RlIFp3aXNjaGVuZXJnZWJuaXMgKEZpcmVoYXdrLCAgNC4gSnVsIDE5OTksIDIwOjIxOjExKToKfiMhIHJuPU1pZXplIHJ0PTkzMTA4MzU1MiByZz1wYXJ0eQp+IyEgdGlkPTkzMTAzNzY2MwpkaXRvLCB3aWxsIHNhZ2VuIHd1ZXJkZSBhdWNoIGtvbW1lbiB3ZW5uIGljaCBrb2VubnRlIC4uLgoKRmlyZWhhd2ssIGVpbnplaWxlcm5kIHVuZCBidWVmZmVsbmQgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaZWx0ZW4gKEthcnRvZmZlbCwgIDQuIEp1bCAxOTk5LCAyMjoxMzowOSk6CgoKSWNoIGhhYiBzbyBlYmVuIGVyZmFocmVuLCBkYXNzIGljaCBiaXNoZXIgZGllIGVpbnppZ2UgYmluLCBkaWUgd2VnZW4gWmVsdGVuCmFuZ2VmcmFndCBoYXQuIElzIGRhcyBFdWVyIEVybnN0PyBBbGxlcyBXYXJtZHVzY2hlciBoaWVyPyA7KSkKQWxzbyBtYWNodCBtYWwgTW9udGFudXMgYmVrYW5udCwgb2IgSWhyIHplbHRlbiB3b2xsdC4KCidUb2ZmZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlsaXN0ZSBad2lzY2hlbmVyZ2VibmlzIChHcmltbWJvcm4sICA1LiBKdWwgMTk5OSwgMDA6MDc6MTgpOgp+IyEgcm49TWllemUgcnQ9OTMxMDgzNTUyIHJnPXBhcnR5Cn4jISB0aWQ9OTMxMDM3NjYzCk51biBrb21tIHNjaG9uLCBlaW5lIEFubWVsZHVuZyBkYXVlcnQgZG9jaCB3aXJrbGljaCBuaWNodCBzbyBsYW5nZSwgc292aWVsClplaXQgc29sbHRlIGRvY2ggc2Vpbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXMgZ2lidCBrZWluIFNjaHVsbGFuZGhlaW0hIChDYWlsbGVhbiwgIDUuIEp1bCAxOTk5LCAwMToyODowNSk6Cn4jISBybj1UcnlmYW4gcnQ9OTMwNDgzODEwIHJnPXBhcnR5Cn4jISB0aWQ9OTMwNDgzODEwCmVuZGxpY2ggamVtYW5kIG1pdCBkZXIgcmljaHRpZ2VuIGVpbnN0ZWxsdW5nIHp1IGRpZXNlciBidXJnOikKCmNhaWxsZWFuLCBhdWYgZGVuIGVpbmVuIG9kZXIgYW5kZXJlbiBlY2h0ZW4ga2lsdC10cmFlZ2VyIGhvZmZlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXMgZ2lidCBrZWluIFNjaHVsbGFuZGhlaW0hIChHcmltbWFuLCAgNS4gSnVsIDE5OTksIDAyOjUyOjQyKToKfiMhIHJuPUNhaWxsZWFuIHJ0PTkzMTEzMDg4NSByZz1wYXJ0eQp+IyEgdGlkPTkzMDQ4MzgxMApOYWphLCBtaXIgZmFsbGVuIGRpdmVyc2UgTWFlbm5lciAodW5kIGF1Y2ggRnJhdWVuKSBlaW4gZGllIGljaCBuaWNodCBpbiBLaWx0Cm9kZXIgUm9jayBzZWhlbiB3aWxsIC4uLgoKTUJJTUcgLCBHcmltTWFuICwgaGV1dGUgbWFsIG5hY2hkZW5rbGljaCBvZGVyIHNvIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWxpc3RlIFp3aXNjaGVuZXJnZWJuaXMgKFFpdGVzcywgIDUuIEp1bCAxOTk5LCAxMDoxNDoxMCk6Cn4jISBybj1GaXJlaGF3ayBydD05MzExMTI0NzEgcmc9cGFydHkKfiMhIHRpZD05MzEwMzc2NjMKd3VlcmRlIHZpZWxsZWljaHQgYXVjaCBlcm5zdGhhZnRlciB1ZWJlciBkZW4gZGllc21hbGlnZW4gcHJlaXMgbmFjaGRlbmtlbiwKd2VubiBkZXIgcGFydHktdGVybWluIG5pY2h0IG1pdHRlbiBpbSBzZW1lc3RlciBsaWVnZW4gd3VlcmRlLi4uCgpRSSoqIGp1c3Qgd29ya2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFplbHRlbiAoUmlrdXMsICA1LiBKdWwgMTk5OSwgMTE6MzQ6MjUpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTkzMTExOTE4OSByZz1wYXJ0eQp+IyEgdGlkPTkzMTExOTE4OQpmYWxscyBpY2ggaGlua29tbWUsIHd1ZXJkZSBpY2ggYXVjaCBsaWViZXIgemVsdGVuLCBmYWxscy4uLgoKcmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5LCBtYWwgd2llZGVyIFp3aXNjaGVubWVsZHVuZyAoTW9udGFudXMsICA1LiBKdWwgMTk5OSwgMjA6Mzc6NTYpOgoKU29kZWxlLgpEaWUgQW56YWhsIGFuIEFubWVsZHVuZ2VuIGhhdCBkaWUgQW56YWhsIGRlciB2ZXJmdWVnYmFyZW4gQmV0dGVuIGluendpc2NoZW4KbGVpY2h0IHVlYmVyc3RpZWdlbi4gOi0pCkFhYWFsc286CnNjaGF1dCBldWNoIG5vY2htYWwgZGFzIFBhcnR5YnJldHQgYW4sIHVtIGRhcyBQcm9jZWRlcmUgbWl0enViZWtvbW1lbi4KT2RlciBsZXN0IGhpZXI6CgoxKSBBbm1lbGRlbiBhdWYgZGVtIFBhcnR5YnJldHQgKHVudmVyYmluZGxpY2gsIG5vcm1hbGVyd2Vpc2UpCjIpIE1haWwgYW4gTW9udGFudXMsIEJldHQgcmVzZXJ2aWVyZW4gKG9kZXIgc2FnZW4gIkljaCB3aWxsIHplbHRlbiEiKQozKSBHZWxkIHVlYmVyd2Vpc2VuLCB1bmQgendhciBzb3ZpZWw6Ciogdm9uIEZyZWl0YWcgYmlzIFNvbm50YWcsIGFsc28gendlaSBVZWJlcm5hY2h0dW5nZW4vRnJ1ZWhzdHVlY2sgcGx1cwpQYXJ0eWJlaXRyYWcgPSA1NSBETQoqIHZvbiBTYW1zdGFnIGJpcyBTb25udGFnLCBhbHNvIGVpbm1hbCBVRS9GIHBsdXMgUGFydHliZWl0cmFnOiAzNSBETQpJc3QgZG9jaCBnYW56IGVpbmZhY2guClNlaW4gQmV0dCBoYXQgZ2FueiBzaWNoZXIsIHdlaWxzIDEtMyBkdXJjaGdlZnVlaHJ0OiBTdGluZwpTZWluIEJldHQgaGF0IHppZW1saWNoIGZhc3Qgc2ljaGVyLCB3ZWlsIDEgdW5kIDIgZHVyY2hnZWZ1ZXdocnQgdW5kIDMKYmVoYXVwdGV0OgpMaWFyYSwgbGVuYSwgYmVlbHplYnViLCBMdXJjaGksIEFyYW5jaWEsIFB1aywKR3JhY2UsTVRWLFNob3JrYW4sS2ludGFyYSxDYXNzYW5kcmEsIFNoYWRlLCBHaWxnYW1lc2NoLCBMYXJpc3NhLCBKb2YsIEJsdWVtZWwsClpvb2ssIFJhc3B1dGluLCBIb2JvLCBCb2luZywgTWF0aXMsIEdvbGFzLCBTdGVseiwgTXV0YW50dXMsIERpbGFyYSwgUGFkcmVpYywKU3dpZnQsIFdpbSwgQXJpYW5hLCBHcmltbWFuLCBSb2NodXMsIFBhcmFjZWxzdXMsIEJhcmQsCnVuZCBTd2lmdHVuZCBaZXBoeXIsIFRyeWZhbiwgSXZvLCBSb25kYSwgTXVhZGliLCBNY0NhdWxzIHVuZCBCaXJkeS4KClplbHRlbiB3b2xsZW46IGthcnRvZmZlbCwgTXlzdGVyaW91cywgR3VhcmQgdW5kIEFya2FuYS4KClVuZCB2b20gUmVzdCBoYWJlIGljaCBlaW5mYWNoIG5vY2ggbml4IGdlaG9lcnQuLi4KCkFsc28gbWVsZGV0IEV1Y2guLi4gYW4uClVuZCB3ZW5uIGRpZSA3NyBCZXR0ZW4gdm9sbCBzaW5kLCAqbXVzcyogZGVyIFJlc3QgemVsdGVuIDotKQoKVmllbGUgR3J1ZXNlLAoKQnVyZ2dlaXN0IE1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaZWx0ZW4gKE1vbnRhbnVzLCAgNS4gSnVsIDE5OTksIDIwOjQxOjUzKToKCkZ1ZXIgZGllIFplbHRlciB1bnRlciBkZW4gUGFydHlnYWVuZ2VybjoKCldpciBoYWJlbiBvYmVyaGFsYiBkZXIgQnVyZyBlaW5lIGdyb3NzZSBXaWVzZSwgZGllIHdpciBpbWVtciBhbHMKQXVzaGlsZnN6ZWx0cGxhdHogYmVyZWl0aGFsdGVuLgpXZW5uIG5pY2h0IHRhdHNhZWNobGljaCB0YXVzZW5kZSBNdWRkZXIgemVsdGVuIHdvbGxlbiwgbG9obnQgc2ljaCBkYXMgQW5rYXJyZW4KZWluZXMgRGl4aWVzIG5pY2h0LiBTb2xsIGhlaXNzZW4sIGRhc3MgZXMgaGFsdCBiaXMgenVtIG5hZWNoc3RlbiBLbG8gZXR3YXMKd2VpdGVyIGlzdC4gOi0pCkRlc3dlZ2VuOiBaZWx0IGF1ZnNjaGxhZ2VuIHVuZCBNaXRiZW51dHp1bmcgZGVyIHNhbml0YWVyZW4gQW5sYWdlbiBpbSBIYXVzCmtvc3RldCAxMCBETSwgaXN0IGFsc28gNSBETSBiaWxsaWdlciBhbHMgZWluIEJldHQuIEZydWVoc3R1ZWNrIDUgRE0ga29tbXQKd2llZGVyIGRhenUsIGFsc28gdWViZXJ3ZWlzZW4gWmVsdGVyIGRhbm4gYml0dGU6CgoqIEZyIC0+IFNvOiAxNSsxNSsxNSA9IDQ1IERNCiogU2EgLT4gU286IDE1KzE1PSAzMCBETQoKTWVociBzcGFldGVyLgoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmVsdGVuIChCb3R0b20sICA2LiBKdWwgMTk5OSwgMTk6NDA6MzApOgp+IyEgcm49TW9udGFudXMgcnQ9OTMxMjAwMTEzIHJnPXBhcnR5Cn4jISB0aWQ9OTMxMjAwMTEzCgpXYXMnbiBtaXQgZGVuIExldXRlbiwgZGllIHdlZGVyIGluIGVpbmVyIGRpZXNlciBLZW1lbmF0ZW4gbm9jaCBpbiBkZW0KSGVlcmxhZ2VyIHZvciBkZXIgQnVyZyB1ZWJlcm5hY2h0ZW4gd29sbGVuIHVuZCBhdWYgZGFzIEZydWVoc3R1ZWNrIGViZW5mYWxscwp2ZXJ6aWNodGVuPyBBbHNvIHdhcyBsb2VobmVuIGRpZSBMZXV0ZSwgZGllIGRpZSBOYWNodCBkdXJjaHplY2hlbj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFplbHRlbiAoVGVkZHksICA2LiBKdWwgMTk5OSwgMTk6NTE6MTIpOgp+IyEgcm49Qm90dG9tIHJ0PTkzMTI4MjgzMCByZz1wYXJ0eQp+IyEgdGlkPTkzMTIwMDExMwpEYXMgRG9wcGVsdGUsIHdlaWwgZGllIHdpZWRlciBkaWUgZ2FuemVuIFZvcnJhZXRlIGxlZXJzYXVmZW4gOy0pCgpUZWRkeSwga29uc3RydWt0aXYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaZWx0ZW4gKE1vbnRhbnVzLCAgNi4gSnVsIDE5OTksIDIyOjAxOjMzKToKfiMhIHJuPVRlZGR5IHJ0PTkzMTI4MzQ3MiByZz1wYXJ0eQp+IyEgdGlkPTkzMTIwMDExMwoKRGEgaGFzdGUgcmVjaHQsIFRlZGR5LgpJY2ggc2FncyBtYWwgc28gLSBVZWJlcm5hY2h0dW5nIGltICBlaWdlbmVuIEF1dG8gb2RlciBpbSBSaW5uc3RlaW4gd2VyZGUgaWNoCmVpbmZhY2ggd2llICJ6ZWx0ZW4iIGJld2VydGVuIC0gYWxzIE9ib2x1cyBmdWVyIGRpZSBCZW51ZXR6dW5nIGZ1ZXIgRHVzY2hlbiwKS2xvcyB1bmQgYWxsZXMuClB1bmt0LiBMZXV0ZSwgZGllIHNpY2ggdW0gZGllIHBhciBtYXJrIGRydWVja2VuIHdvbGxlbiwgbWFjaGVuIGRlbiBhbmRlcmVuCm5hZW1saWNoIHp1bWluZGVzdCBMYXVuZSBrYXB1dHQuCkljaCBmaW5kZSBlcyBqYSB1ZWJlcmhhdXB0IHNjaG9uIHNjaGFkZSwgZGFzcyBzaWNoIGJlaSBtaXIgc2Nob24gbWVocmZhY2gKTGV1dGUgZGVzd2VnZW4gZ2VtZWxkZXQgaGFiZW4uIDotKAoKLU1vbnRhbnVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hpbmEgdW0gd2lldmllbCBVaHI/IChNb250YW51cywgIDYuIEp1bCAxOTk5LCAyMjowNzo1MCk6CgpEYW1pdCBpY2ggYmVzc2VyIG1pdCBIZXJybiBWLksuIEh1eW5oIHZvbSBDaGluYS1SZXN0YXVyYW50IExvdHVzIHZlcmhhbmRlbG4Ka2FubiAtIGZ1ZXIgd2lldmllbCBVaHIgc29sbCBpY2ggZGVubiBkZW4gTXVkZXItSGF1ZmVuIGFubWVsZGVuPwpXaWUgd2FyIGRhcyBpbiBkZXIgVmVyZ2FuZ2VuaGVpdD8KCkRlbmt0IGRhcmFuLCBpY2ggc2NobGVwcGUgZXVjaCB2b3JoZXIgbm9jaCB1ZWJlciBkZW4gQmFyZnVzcGZhZCwgZGFtaXQgZGFzCkVzc2VuIG1laHIgUGxhdHogaW0gTWFnZW4gaGF0LiA6LSkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENoaW5hIHVtIHdpZXZpZWwgVWhyPyAoSG9ibywgIDcuIEp1bCAxOTk5LCAxMTowNzoyMyk6Cn4jISBybj1Nb250YW51cyBydD05MzEyOTE2NzAgcmc9cGFydHkKfiMhIHRpZD05MzEyOTE2NzAKSG1tLCBpY2ggd2Vpc3MgbmljaHQsIG9iIER1IFNvbm50YWcgZnJ1ZWggdmllbGUgQW5oYWVuZ2VyIGZ1ZXIgZGVuIEJhcmZ1c3NwZmFkCmZpbmRlc3QuLi4KRXJ6YWVobCBkb2NoIG1hbCwgd2llIHdlaXQgZXMgYmlzIEJhZCBTbyoqKiBpc3QsIHdpZSBsYW5nIG1hbiBiYXJmdXNzIHdhbmRlbHQKZXRjLgoKTm9ybWFsZSBDaGluZXNlbnplaXQgaXN0IGplZGVuZmFsbHMgMTIgVWhyLCBkYW1pdCBkaWUgTGV1dGUgdm9uIHdlaXRlcmhlcgpuaWNodCBlcnN0IDI0IFVociB3aWVkZXIgZGFoZWltIGFua29tbWVuIDopCgogSG9ibwoKUC5TLjogVW5kIHNvcmcgZGFmdWVyLCBkYXNzIGRlciBuZXR0ZSBIZXJyIG5pY2h0IDE1IHN0YXR0IDUwIExldXRlIHZlcnN0ZWh0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENoaW5hIHVtIHdpZXZpZWwgVWhyPyAoTW9udGFudXMsICA3LiBKdWwgMTk5OSwgMTU6MzE6MjEpOgp+IyEgcm49SG9ibyBydD05MzEzMzg0NDMgcmc9cGFydHkKfiMhIHRpZD05MzEyOTE2NzAKQWFhYWxzbzoKCkJhZCBTb2Jlcm5oZWltIGlzdCBldHdhIDEwIGttIGVudGZlcm50LiBuYWVoZXIgZ2lidHMga2VpbmVuIGNoaW5hbWFubi4gOi0pCkRlciBiYXJmdXNzcGZhZCBpc3QgemllbWxpY2gga2xhc3NlOiBtYW4gd2FuZGVsdCBkb3J0IGNhIDMga20gZW50bGFuZyBkZXIgbmFoZQphdWYgZGlldmVyc2VzdGVuIHVudGVyZ3J1ZW5kZW4sIHUuYS4gYXVjaCBkdXJjaCBlaW4gc2NobGFtbWJlY2tlbiwgdW5kIG1hbgpkdXJjaHF1ZXJ0IGRpZSBuYWhlIGluIGVpbmVyIGZ1cnQuIHp1cnVlY2sgZ2VodCBlcyBkYW5uIGF1ZiBkZXIgbGFlbmdzdGVuCmhhbmRnZWtudWVwZnRlbiBzZWlsYnJ1ZWNrZSBkZXIgd2VsdC4KZGFzIG11c3MgbWFuIGdlc2VoZW4vZ2VtYWNodCBoYWJlbiEgYmVnZWlzdGVydCBqdW5nIHVkbiBhbHQuIDotKQoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDaGluYSB1bSB3aWV2aWVsIFVocj8gKFJvbmRhLCAgNy4gSnVsIDE5OTksIDE3OjI0OjEwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMTM1NDI4MSByZz1wYXJ0eQp+IyEgdGlkPTkzMTI5MTY3MApJY2ggdmVyc3RlaGUgZGFzIHJpY2h0aWc6IGRhbm4gd2FuZGVsbiB3aXIgbm9jaCBrbyB2b24gZGVyIE5hY2h0LCBzY2hvbiBldHdhcwphbmdlbWF0c2NodCB1ZWJlciBlaW5lIFNlaWxicnVlY2tlPyAqd2Fuay4uLiBtaXIgaXN0IHNjaGxlY2h0ISogLSBudXIgdW0gZGFubgp2b2xsZ2VmcmVzc2VuIHZvbSBDaGluZXNlbiB3aWVkZXIgZHJ1ZWJlciB6dSBtdWVzc2VuPwpBdSB3ZWgsIGRhcyB3aXJkIG5lIFF1ZXN0IC0gc2NobGltbWVyIGFscyAibWl0LVN0YWViY2hlbi1lc3NlbiIgOykKCkVnYWwgd2llOiBpY2ggZnJldSBtaWNoIHJpZXNpZyBhdWYgZGllIFBhcnR5IQoKUm9uZGEgKnNjaHdlbmt0IGVpbiAiTW9udGFudXMtZm9yLU1hc3Rlcm9yZ2FuaXNhdG9yLUZhZWhuY2hlbioKClBzOiBWaWVsbGVpY2h0IHdhZXJuIGt1cnogU2tpenplbiwgd2llIG1hbiBhbGxlaW4genVtIENoaW5hbWFuIGtvbW10LCBuaWNodApzY2hsZWNodCAtIHNvIG5lbiBIYXVmZW4gdm9uIE11ZGRlcm4gZW50emVycnQgc2ljaCB6aWVtbGljaCwgd2VubiBkaWUgYWxsZQp2ZXJzdWNoZW4sIGFsbGVpbiBkZW4gV2VnIHp1IGZpbmRlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGFnZXNrYXJ0ZSAoTW9udGFudXMsICA4LiBKdWwgMTk5OSwgMTg6Mzg6MjUpOgoKV2llIGJlaSBqZWRlciBQYXJ0eSBnaWx0OgpmdWVyIEhlaW1zY2hsYWVmZXIgdW5kIGFuZGVyZSBUdXJuYmV1dGVsdmVyZ2Vzc2VyIGlzdCBudXIgZGVyIGdhbnogbm9ybWFsZQpQYXJ0eWJlaXRyYWcgaW4gSG9laGUgdm9uIDE1IERNIChBYmVuZGthc3NlOiAyNSBETSkgenUgYmV6YWhsZW4uCgpJY2ggaG9mZmUsIGRhcyBiZWFudHdvcnRldCBlaW5pZ2Ugd2VpdGVyZSBGcmFnZW4uCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnQtc2hpcnQgKE1vbnRhbnVzLCAgOC4gSnVsIDE5OTksIDE4OjQyOjExKToKCkhhdCBzaWNoIGVpZ2VudGxpY2ggaW56d2lzY2hlbiBqZW1hbmQgZ2VmdW5kZW4sIGRlciBQYXJ0eS1ULVNoaXJ0cwpvcmdhbmlzaWVyZW4gd2lsbC9rYW5uPwoqSWNoKiBrb21tZSBkZWZpbml0aXYgbmljaHQgZGF6dS4gVW5kIEludGVyZXNzZSBpc3Qgdm9uIFBhcnR5Z2FlbmdlcnNlaXRlCnNjaG9uIHZvcmhhbmRlbi4KCkZyZWl3aWxsaWdlIHZvciEKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2FtcD8hIChNb250YW51cywgIDguIEp1bCAxOTk5LCAxODo0NjowMyk6CgpCaXNsYW5nIGhhYmVuIHNpY2ggZXJzdCAzIG9kZXIgdmllciBMZXV0ZSBnZW1lbGRldCwgZGllIEludGVyZXNzZSBoYWV0dGVuLApzY2hvbiBmcnVlaGVyIHp1IGtvbW1lbiB1bmQgenUgemVsdGVuLgpWb24gbWlyIGF1cyBzcHJpY2h0IG5peCBkYWdlZ2VuLCBhbGxlcmRpbmdzIHdpcmQgZGFzIHZpZWxsZWljaHQgZXR3YXMgZWluc2FtPwoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2FtcD8hIChCb3R0b20sICA4LiBKdWwgMTk5OSwgMTk6MTM6NDcpOgp+IyEgcm49TW9udGFudXMgcnQ9OTMxNDUyMzYzIHJnPXBhcnR5Cn4jISB0aWQ9OTMxNDUyMzYzCgpXYXMnbiBtaXQgZnJ1ZWhlciBrb21tZW4gdW5kIGluIGRpZXNlbSBTY2h1bGxhbmRoZWltIHVlYmVybmFjaHRlbj8gSXN0IGRhcwpuaWNodCBtb2VnbGljaD8gV2VyIHdpbGwgc2Nob24gJ25lIGdhbnplIFdvY2hlIHplbHRlbj8gRGEgbXVzcyBtYW4gamEgZGFtaXQKcmVjaG5lbiwgc2ljaCBhbnNjaGxpZXNzZW5kIHp1IGRlbiBSaGV1bWF0aWtlcm4genUgemFlaGxlbiEKClBTOiBPYiBtaXQgb2RlciBvaG5lIFR1cm5iZXV0ZWwgaXN0IG1pciBlaGVyIGVnYWwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDYW1wPyEgKFNpbHZhbmEsICA4LiBKdWwgMTk5OSwgMTk6MTg6MzcpOgp+IyEgcm49Qm90dG9tIHJ0PTkzMTQ1NDAyNyByZz1wYXJ0eQp+IyEgdGlkPTkzMTQ1MjM2MwpHZWdlbiBkYXMgUmhldW1hIGVtcGZpZWhsdCBDaGlsYW5hIERpciBlaW5lbiBTcHJ1bmcgaW4gZGllIEJyZW5uZXNzZWxuLApiZXZvcnp1Z3Qgb2huZSBqZWdsaWNoZSBCZWtsZWlkdW5nLiBJY2ggaGFiZSBrZWluZSBBaG51bmcsIHdhcyBEdSBEaXIgREFCRUkKZGFubiBob2xzdCwgYWJlciBSaGV1bWEgYmVzdGltbXQgbmljaHQuCgogIFNpbHZhbmEgKGZyYWd0IHNpY2gsIG9iIGRpZSBSdWJyaWsgbmljaHQgInNjaG1hcnJuIiBoZWlzc2VuIHNvbGx0ZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENhbXA/ISAoSG9vZCwgIDguIEp1bCAxOTk5LCAxOToxOToyNSk6Cn4jISBybj1TaWx2YW5hIHJ0PTkzMTQ1NDMxNyByZz1wYXJ0eQp+IyEgdGlkPTkzMTQ1MjM2MwphbHNvIGJpcyBlYmVuIHdhcnMgbm9jaCB2ZXJkaWVudGVyd2Vpc2UgZGllIHBhcnR5cnVicmlrLi4uIDspCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmVpdGFnIChMYXJpc3NhLCAgOC4gSnVsIDE5OTksIDE5OjIwOjExKToKCm1hbCB3YXMgYW5kZXJlcywKaGF0IHNpY2ggc2Nob25tZWwgZWluZXIgZ2VhZXVzc2VydCB3byBtYW4gc2ljaCBhbSBGcmVpdGFnIEFiZW5kIHRyaWZmdD8KClNvcnJ5LCB3ZW5uIGljaHMgdWViZXJsZXNlbiBoYWIsIApMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhZ2Vza2FydGUgKEx1ZywgIDguIEp1bCAxOTk5LCAyMzoxMzozNyk6Cn4jISBybj1Nb250YW51cyBydD05MzE0NTE5MDUgcmc9cGFydHkKfiMhIHRpZD05MzE0NTE5MDUKCkRBUyBiZWFudHdvcnRldCBpbW1lcmhpbiBNRUlORSBGcmFnZS4gSXN0IGVoIGRhcyBXaWNodGlnc3RlLgoKVWVicmlnZW5kcyBuZWdhdGl2LCBkLmguIGljaCBrb21tZS4gUGVjaCBnZWhhYnQuLi4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENhbXA/ISAoTW9udGFudXMsICA5LiBKdWwgMTk5OSwgMDc6NTk6MzgpOgp+IyEgcm49Qm90dG9tIHJ0PTkzMTQ1NDAyNyByZz1wYXJ0eQp+IyEgdGlkPTkzMTQ1MjM2MwoKSmF1LCBhdWNoIGRhcyBpc3QgbW9lZ2xpY2guIEFsbGVyZGluZ3M6IHNvbGFuZ2UgZXMgbmljaHQgbWluZC4gMjAgTGV1dGUgc2luZCwKZ2lidHMgbnVyIFVlYmVybmFjaHR1bmcvRnJ1ZWhzdHVlY2suIEFiZXIgZGFzIGlzdCBlY2h0ZW4gQ2FtcGVybiBqYSB3b2xoIGVzCnd1cnN0LiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENoaW5hIHVtIHdpZXZpZWwgVWhyPyAoVGVkZHksICA5LiBKdWwgMTk5OSwgMTY6MDk6MDQpOgp+IyEgcm49TW9udGFudXMgcnQ9OTMxMzU0MjgxIHJnPXBhcnR5Cn4jISB0aWQ9OTMxMjkxNjcwClNlaWxicnVlY2tlPz8/CkFlaG0sIGJpc3QgZHUgZ2FueiBzaWNoZXIgZGFzIGRhbmFjaCBub2NoIHdlciBmdWVybiBDaGluYW1hbm4gdWViZXIgaXN0LCB3ZW5uCndpciBkYSBydW50ZXJnZWZhbGxlbiBzaW5kPwoKVGVkZHksIHZvbGxlciBWZXJ0cmF1ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDaGluYSB1bSB3aWV2aWVsIFVocj8gKE5vdmFzdG9ybSwgIDkuIEp1bCAxOTk5LCAxNjowOTo1OCk6Cn4jISBybj1UZWRkeSBydD05MzE1MjkzNDQgcmc9cGFydHkKfiMhIHRpZD05MzEyOTE2NzAKSXN0IGRvY2ggZ2VuYXUgZGVyIFRyaWNrLCBsYWVzc3Qgc2ljaCBnZW5hdSBhdXNyZWNobmVuIChhYnN0b3NzZW4pLCB3aWV2aWVsCmJlaW0gQ2hpbmVzZW4gYW5rb21tZW4gKGJlc3RlbGx0IGhhYmVuKS4KCiAgTm92YSAtPiBTY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ2hpbmEgdW0gd2lldmllbCBVaHI/IChUZWRkeSwgIDkuIEp1bCAxOTk5LCAxNjoxMToyOCk6Cn4jISBybj1Ob3Zhc3Rvcm0gcnQ9OTMxNTI5Mzk4IHJnPXBhcnR5Cn4jISB0aWQ9OTMxMjkxNjcwCldlbm4gaWNoIHZvcmdlaGUsIGtvZW5udGUgZXMgaW0gUmFobWVuIGRlcyBtb2VnbGljaGdlcndlaXNlIGRlbmtiYXJlbiBzZWluLApkYXNzIGlociBuZW4gbmV1ZW4gV2VnIGJyYXVjaHQgYnp3LiBkaWUgbGFlbmdzdGUgaGFuZGdla251ZXBmdGUKU2VpbGhhZW5nZWJydWVja2UgKG9kZXIgc28gYWVobmxpY2gpIGluIFp1a3VuZnQgaW4gYW5kZXJlbiBHZWdlbmRlbiB6dQpiZXd1bmRlcm4gaXN0LgoKVGVkZHkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBDaGluYSB1bSB3aWV2aWVsIFVocj8gKFJvY2h1cywgIDkuIEp1bCAxOTk5LCAxNjoxMjo0OCk6Cn4jISBybj1UZWRkeSBydD05MzE1Mjk0ODggcmc9cGFydHkKfiMhIHRpZD05MzEyOTE2NzAKV2VuaWdzdGVucyB3aXNzZW4gd2lyIGRhbm4sIG9iIGRpZSBCcnVlY2tlIGhhZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQ2hpbmEgdW0gd2lldmllbCBVaHI/IChUZWRkeSwgIDkuIEp1bCAxOTk5LCAxNjoxMzoxOSk6Cn4jISBybj1Sb2NodXMgcnQ9OTMxNTI5NTY4IHJnPXBhcnR5Cn4jISB0aWQ9OTMxMjkxNjcwCkRpZSBBbnR3b3J0IGtvZW5udGUgaWNoIGRpciBqZXR6dCBzY2hvbiBnZWJlbjogTmVpbi4KClRlZGR5LCBuaWNodCB3aXJrbGljaCBiZWdlaXN0ZXJ0IHZvbiBIYWVuZ2VicnVlY2tlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11c2lrIGF1ZiBkZXIgUGFydHk/IChEaWVkZXIsICA5LiBKdWwgMTk5OSwgMjA6MjI6MzUpOgpHaWJzIGF1c3NlciB1bnNlcm0gREogbm9jaCAiaGF1c2dlbWFjaHRlIiBNdXNpayBhdWYgZGVyIFBhcnR5PyBLbGVpbmUgU2Vzc2lvbgpvZGVyIHNvd2FzPwpXZW5uIGRhcyBlaW4gU2NodWxsYW5kaGVpbSBpc3QgbXVlc3N0ZSBkb2NoIGlyZ2VuZHdvIG5lbiBLTGF2aWVyIHJ1bXN0ZWhlbi4uLgp2aWVsbGVpY2h0IGJyaW5ndCBqZW1hbmQgd2FzIHp1IFRyb21tZWxuLCBHaXRhcnJlIGV0YyBtaXQ/CgpEaWVkZXIsIGZpdCBpbiBhbGxlbSwgd2FzIFRhc3RlbiBoYXQgLSBhdWNoIChmYXN0KSBhbGxlIFN0aWxyaWNodHVuZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVzaWsgYXVmIGRlciBQYXJ0eT8gKFJpa3VzLCAgOS4gSnVsIDE5OTksIDIwOjI2OjE5KToKfiMhIHJuPURpZWRlciBydD05MzE1NDQ1NTUgcmc9cGFydHkKfiMhIHRpZD05MzE1NDQ1NTUKYWxzbyBpY2ggbW9lY2h0ZSBsaWViZXIgb3JkZW50bGljaGUgTXVzaWsgYXVzIGRlciBLb25zZXJ2ZSBzdGF0dApoYXVzZ2VtYWNodGUsIGJlaSBkZXIgc2ljaCBlaW5lbSBkaWUgRnVzc25hZWdlbCBrcmluZ2VsbiEgOikKClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11c2lrIGF1ZiBkZXIgUGFydHk/IChTdGluZywgIDkuIEp1bCAxOTk5LCAyMDoyOTozOCk6Cn4jISBybj1SaWt1cyBydD05MzE1NDQ3Nzkgcmc9cGFydHkKfiMhIHRpZD05MzE1NDQ1NTUKVW5kIGljaCBtb2VjaHRlIGxpZWJlciBoYXVzZ2VtYWNodGUgX2d1dGVfIE11c2lrIGFscyBldnRsLiBUZWNobm8tWmV1Z3MgKmJhZWgqCjopCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTXVzaWsgYXVmIGRlciBQYXJ0eT8gKERpZWRlciwgIDkuIEp1bCAxOTk5LCAyMDo0MDo1OSk6Cn4jISBybj1TdGluZyBydD05MzE1NDQ5Nzggcmc9cGFydHkKfiMhIHRpZD05MzE1NDQ1NTUKZ2VuYXUuIHVuZCBkYSBkYXMgd29obCBlaCB2ZXJzY2hpZWRlbmUgcmFldW1saWNoa2VpdGUgc2luZCBrb2VubnRlIGRhbm4gamVkZXIKZGEgaGluZ2Vobiwgd28gZXMgaWhtIGFtIGJlc3RlbiBnZWZhZWxsdCA6KQoKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNdXNpayBhdWYgZGVyIFBhcnR5PyAoTHVnLCAgOS4gSnVsIDE5OTksIDIwOjQ0OjQ3KToKfiMhIHJuPURpZWRlciBydD05MzE1NDU2NTkgcmc9cGFydHkKfiMhIHRpZD05MzE1NDQ1NTUKCkhtLAoKZ2lidHMgbmVuIERhcmt3b29tPwoKVW5zY2h1bGRpZyBmcmFnZW5kCmx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTXVzaWsgYXVmIGRlciBQYXJ0eT8gKEdyaW1tYm9ybiwgMTAuIEp1bCAxOTk5LCAwNjo1NzowMSk6Cn4jISBybj1MdWcgcnQ9OTMxNTQ1ODg3IHJnPXBhcnR5Cn4jISB0aWQ9OTMxNTQ0NTU1CldhcyBpc3QgZWluIHdvb20/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhdXNnZW1hY2h0ZSBNdWtrZSA6KSAoQ2lzb3UsIDEwLiBKdWwgMTk5OSwgMTA6NTY6NTMpOgpLYW5uc3RlIFNjaGlmZmVya2xhdmllciBzcGllbGVuLCBEaWVkZXI/ICBEYW5uIGJyaW5nIGljaCBlaW5zIG1pdC4KCk1hbCBzZWhlbiwgd2FzIGFuIEluc3RydW1lbnRlbiBub2NoIHNvIGlucyBBdXRvIHBhc3N0IDotKSAKCkNpc291IChzdGVodCBuaWNodCBhdWYgZGVyIFBhcnR5bGlzdGUgLSB3b2hsd2Vpc3NsaWNoIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGF1c2dlbWFjaHRlIE11a2tlIDopIChEaWVkZXIsIDEwLiBKdWwgMTk5OSwgMTU6NTk6MjYpOgp+IyEgcm49Q2lzb3UgcnQ9OTMxNTk3MDEzIHJnPXBhcnR5Cn4jISB0aWQ9OTMxNTk3MDEzCnp1ciBub3QgYXVjaCBkYXMuLi4gaGFsYndlZ3MgenVtaW5kZXN0IDopCgpEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGF1c2dlbWFjaHRlIE11a2tlIDopIChHb2xhcywgMTEuIEp1bCAxOTk5LCAwNDo1MDowMSk6Cn4jISBybj1EaWVkZXIgcnQ9OTMxNjE1MTY2IHJnPXBhcnR5Cn4jISB0aWQ9OTMxNTk3MDEzCmljaCB3ZXJkIG1hbCBtZWluZSBrbGFtcGZlIGlucyBhdXRvIHdlcmZlbiAuLi4KZ29sYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhhdXNnZW1hY2h0ZSBNdWtrZSA6KSAoQW5hY3Jpb24sIDExLiBKdWwgMTk5OSwgMTQ6MTQ6NDEpOgp+IyEgcm49R29sYXMgcnQ9OTMxNjYxNDAxIHJnPXBhcnR5Cn4jISB0aWQ9OTMxNTk3MDEzCkhtbS4gSWNoIGthbm4gYXVjaCBudXIgS2xhdmllciB1bmQgc28gLi4gYWxzbyB3ZW5uIGVzIDIgZ2lidCAuLi4gOykKCgpBbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGF1c2dlbWFjaHRlIE11a2tlIDopIChHcmltbWFuLCAxMS4gSnVsIDE5OTksIDE1OjE5OjU0KToKfiMhIHJuPUdvbGFzIHJ0PTkzMTY2MTQwMSByZz1wYXJ0eQp+IyEgdGlkPTkzMTU5NzAxMwpXZW5uIGR1IG5lIEdpdGFycmUgbWl0bmltbXN0IC4uLiBkYW5uIG5vY2ggZGllIEtsYW1vdHRlbiAuLi4gKGRlbmsgZHJhbiwgZXMKZmFocmVuIHp3ZWkgRnJhdWVuIG1pdCEgZGllIGJyYXVjaGVuIG1laHIgYWxzIG5lIFNob3J0IHVuZCBuZSBaYWhuYnVlcnN0ZSEgLi4uCldvIHNvbGwgZGFubiBub2NoIGRhcyBiaWVyIGhpbj8KCkdyaW1NYW4sIGdlc3Bhbm50IGF1ZiBBbnR3b3J0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhhdXNnZW1hY2h0ZSBNdWtrZSA6KSAoQXJhbmNpYSwgMTEuIEp1bCAxOTk5LCAxNToyNDoyNCk6Cn4jISBybj1HcmltbWFuIHJ0PTkzMTY5OTE5NCByZz1wYXJ0eQp+IyEgdGlkPTkzMTU5NzAxMwpobSwgZ3JpbW1pCmljaCBnbGF1YmUuLiBlcyBmYWVocnQgbnVyIGVpbmUgRnJhdSBtaXQsIHdlaWwgaWhyIHdlcmRldCBlaW4gTmljaHRyYXVjaGVyYXV0bwpoYWJlbiB1bmQuLgpBcGZlbHNpbmVuIG9obmUgWmlnYXJldHRlbi4uIGRhcyBpc3Qgc2NobGltbWVyIGFscyBWaXRhbWluLUMtTWFuZ2VsLgp1bmQgc29taXQgbGF1dGV0IGRlaW5lIEFudHdvcnQ6IG5pbW0gYXJhbmNpYSBhdXMgYXV0bywgbGVnZSBiaWVyIGluIGF1dG8KKnNtaWxlKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSGF1c2dlbWFjaHRlIE11a2tlIDopIChHcmltbWFuLCAxMS4gSnVsIDE5OTksIDE1OjI2OjM4KToKfiMhIHJuPUFyYW5jaWEgcnQ9OTMxNjk5NDY0IHJnPXBhcnR5Cn4jISB0aWQ9OTMxNTk3MDEzClNvIGVpbiBEcmVjaywgZGFubiBkYXVlcnQgamEgZGllIEZhaHJ0IHVuaGVpbWxpY2ggbGFlbmdlciwgbWl0IGRlbiB2b24gbWlyCmJlZm9obGVuZW4gUmF1Y2hlcnBhdXNlbiBhbGxlIDMwIE1pbnV0ZW4gLi4uCgpHcmltTWFuLCBicmF1Y2h0IGRlbiBibGF1ZW4gRHVuc3QgZmFzdCBzbyB3aWUgZGFzIE1HLCBpc3QgYWJlciBuaWNodCBzdWVjaHRpZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11c2lrIGF1ZiBkZXIgUGFydHk/IChNb250YW51cywgMTEuIEp1bCAxOTk5LCAxOTowMTozNCk6Cn4jISBybj1EaWVkZXIgcnQ9OTMxNTQ0NTU1IHJnPXBhcnR5Cn4jISB0aWQ9OTMxNTQ0NTU1CgpuYXR6dWVybGljaCBzdGVodCBkYSBhdWNoIGVpbiBLbGF2aWVyIGhlcnVtLi4uCmhhdXNtdXNpayBmYWVuZCcgaWNoIGF1Y2gga2xhc3NlLiA6LSkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdXNpayBhdWYgZGVyIFBhcnR5PyAoQ3ltb25rLCAxMS4gSnVsIDE5OTksIDE5OjAyOjIyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMTcxMjQ5NCByZz1wYXJ0eQp+IyEgdGlkPTkzMTU0NDU1NQpobW1tLi4uIHdpcmQgemVpdCwgZGFzcyAnbWFsIGplbWFuZCBlaW5lIG1nLWh5bW5lIHNjaHJlaWJ0IDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdXNpayBhdWYgZGVyIFBhcnR5PyAoR25vbWUsIDExLiBKdWwgMTk5OSwgMTk6MTQ6NDQpOgp+IyEgcm49TW9udGFudXMgcnQ9OTMxNzEyNDk0IHJnPXBhcnR5Cn4jISB0aWQ9OTMxNTQ0NTU1CmhtbW0uLi4gZGFzIGJlZGV1dGV0IGtvbmt1cnJlbnogaW0gZWlnZW5lbiBoYXVzIHNvenVzYWdlbi4uLgplaW4ga2FwdXR0ZXMga2xhdmllciBzcGllbHQgYmVzdGltbXQgbmljaCBtZWhyIGd1dC4KCmduT21lIHp1ZWNrdCBzY2hvbiBtYWwgZGllIGJlcnNlcmtlcmF4dC4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdXNpayBhdWYgZGVyIFBhcnR5PyAoRGllZGVyLCAxMS4gSnVsIDE5OTksIDIwOjE0OjIwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMTcxMjQ5NCByZz1wYXJ0eQp+IyEgdGlkPTkzMTU0NDU1NQpjb29sLCBkYW5uIGthbm4gbWFuIGphIGxvc2xlZ2VuLi4uCgpEaWVkZXIsIGxlZ3Qgc2Nob24gbWFsIHNlaW5lIEJvb2dpZVdvb2dpZS1QbGF0dGUgZWluIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIYXVzZ2VtYWNodGUgTXVra2UgOikgKEdvbGFzLCAxMS4gSnVsIDE5OTksIDIxOjE5OjU3KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTMxNjk5MTk0IHJnPXBhcnR5Cn4jISB0aWQ9OTMxNTk3MDEzCnp1bmFlY2hzdG1hbCBmYWVocnQgbnVyIG5vY2ggZWluZSBmcmF1IG1pdCB1bmQgendlaXRlbnMgc29sbHRlIGRhcyBhdXRvIGdyb3NzCmdlbnVnIHNlaW4gOykKZ29sYXMgZWluemVpbGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzZW1pbmFyIChIb29kLCAxMy4gSnVsIDE5OTksIDAxOjUzOjU4KToKaGkgbGV1dGUsCgpkYXMgc2VtaW5hciBtdXNzIGxlaWRlciBhdXNmYWxsZW4gbWFuZ2VscyBkb3plbnRlbi4gaXJnZW5kd2llIHRyYXV0IHNpY2gKa2VpbmVyLCBvZGVyIG5pZW1hbmQgaGF0IGx1c3QuLi5rZWluZSBhaG51bmcuCmljaCBzdGVsbCBtaWNoIHp1bWluZGVzdCBuaWNodCBhbGxlaW4gZGFoaW4uIGRpZSBwYXJ0eSB3ZXJkZW4gd2lyIGF1Y2ggc28KdWViZXJsZWJlbiwgc2NoYWV0eiBpY2ggbWFsLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNlbWluYXIgKEx1ZywgMTMuIEp1bCAxOTk5LCAwMTo1NjowMCk6Cn4jISBybj1Ib29kIHJ0PTkzMTgyMzYzOCByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOApBZWgsCgoKd2llIHdhZXJzIG1pdCBkYWVtbGljaCBydW1wcm9sbGVuPyBLb3R6IGRpZSBFYmVuZSBkaWNodD8gT2RlciBhZWhubGljaGVzPyBpY2gKZXJrbGFlciBtaWNoIGJlcmVpdCB6dSBzY2h3YWxsZW4sIG9laCwgZG96aWVyZW4uLi4KCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzZW1pbmFyIChHcmltbWFuLCAxMy4gSnVsIDE5OTksIDAxOjU3OjMwKToKfiMhIHJuPUx1ZyBydD05MzE4MjM3NjAgcmc9cGFydHkKfiMhIHRpZD05MzE4MjM2MzgKV29oZXIgd3Vzc3RlIGljaCBucnUsIGRhcyBzb3dhcyBqZXR6dCBrb21tdD8KQWJlciBkYXMgd3VlcmRlIGljaCBtaXIgYW50dW4gOykgbWVsZGUgbWljaCBhbHMgWnVob2VyZXIgOykKCk1CSU1HICwgR3JpbU1hbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc2VtaW5hciAoTHVnLCAxMy4gSnVsIDE5OTksIDAzOjM3OjA0KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTMxODIzODUwIHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CgpQYXRyeW4hIEVzIGdpYnQgQmVkYXJmIQpMb3MgcnVlaHIgRGljaApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzZW1pbmFyIChaYXJuaXlhLCAxMy4gSnVsIDE5OTksIDA4OjQ4OjQxKToKfiMhIHJuPUhvb2QgcnQ9OTMxODIzNjM4IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CmdhYiBlcyBkYSBuaWNodCBuZSB2ZXJwZmxpY2h0dW5nIGxhdXQgVmVyZWluc3NhdHp1bmc/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmVsdGVuIChSaWt1cywgMTMuIEp1bCAxOTk5LCAwODo1NToyOSk6CkhpLApoYXQgbm9jaCBlaW5lKHIpIGVpbmVuIFBsYXR6IGltIFplbHQgYWJ6dWdlYmVuIG9kZXIgc3VjaHQgZWluZW4/IFdhZXJlIGphClF1YXRzY2gsIHdlbm4gaWNoIGVpbiBaZWx0IGZ1ZXIgbWljaCBhbGxlaW5lIG1pdGJyaW5nZS4gQml0dGUgYmVpIG1pcgptZWxkZW4hCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNlbWluYXIgKFBpbGdyaW0sIDEzLiBKdWwgMTk5OSwgMTU6NDk6NTYpOgp+IyEgcm49SG9vZCBydD05MzE4MjM2Mzggcmc9cGFydHkKfiMhIHRpZD05MzE4MjM2MzgKSG1tbSwKCndhcnVtIGVpZ2VudGxpY2ggaW1tZXIgIlNlbWluYXIiIC4uLiBhbHRlcm5hdGl2ZSBmaWVsZSBtaXIgc293YXMgd2llCkRpc2t1c3Npb25zcnVuZGUobikgZWluIC4uLiBVbmQgRGlza3Vzc2lvbi9JbmZvcm1hdGlvbnNiZWRyYWZ0CmJlc3RlaHQgZG9jaCBzaWNoZXIgenUgZGVtIGVpbiBvZGVyIGFuZGVyZW4gVGhlbWEgLi4uID8KClBpbGdyaW0KUFM6IHdlbm4gbml4IG1laHIgaGlsZnQ6CkdpbGRlIFggYWJ3ZXJ0ZW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNlbWluYXIgKEFuYXRvbCwgMTMuIEp1bCAxOTk5LCAxNTo1MTo1Nyk6Cn4jISBybj1QaWxncmltIHJ0PTkzMTg3Mzc5NiByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOApGdWVyIGdld29laG5saWNoIGJpbGRlbiBzaWNoIERpc2t1c3Npb25zcnVuZGVuIGJlaSBCZWRhcmYgdm9uIGFsbGVpbmUuCkRpZSBSdW5kZSBpbiBCaWVsZWZlbGQsIGF1ZiBkZXJlbiBGdW5kYW1lbnQgZGllIFN0dWZlbnB1bmt0ZSBlaW5nZWZ1ZWhydAp1bmQgZGllIE1ldHplbHNjcmlwdGVyZWkgd2VpdGVzdGdlaGVuZCBlbGltaW5pZXJ0IHd1cmRlLCB3YXIgYXVjaCBuaWNodAp2b24gbGFuZ2VyIEhhbmQgZ2VwbGFudC4uLgoKQW5hdG9sCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNlbWluYXIgKFBpbGdyaW0sIDEzLiBKdWwgMTk5OSwgMTY6MzM6MzcpOgp+IyEgcm49QW5hdG9sIHJ0PTkzMTg3MzkxNyByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOAphKSBEYXMgaXN0IG1pciBzY2hvbiBrbGFyIC4uLgpiKSBTb2xhbmdlIGVzIG5pY2h0IHVtIHRlY2huaXNjaGUgRWluemVsaGVpdGVuIGdlaHQsIHdvbGxlIHZpZWxsZWljaHQgYWxsZSB3YXMKZGF2b24gaGFiZW4KYykga2FubiBkZXIgVmVyZWluICJzcG9udGFuZSBEaXNrdXNzaW9uc3J1bmRlbiIgd29obCBrYXVtIGFscyBBa3Rpdml0YWV0CnZlcmJ1Y2hlbiAod2llIGRhcyBtaXQgYW5nZWt1ZW5kaWd0ZW4gaXN0LCB3ZWlzcyBpY2ggbmljaHQpIC4uLiBhYmVyIHdpcgp3b2xsZW4gZG9jaCBuaWNodCBpcmdlbmR3YW4gbWFsIGRpZSBHZW1laW5udWV0emlnZWl0IHZlcmxpZXJlbiAuLi4gOy0pCmQpIHdhcnMgamEgbnVyIGVpbiBWb3JzY2hsYWcgLi4uIEZ1ZXIgbmUgRGlza3Vzc2lvbnNydW5kZSBicmF1Y2h0IG1hbiBudXIgbmUgNQoobWluLiBFaW5mdWVocnVuZ3NyZWRlIC0gd29ydW1zIGdlaHQgLSB1bmQgbmVuIGtyYWVmdGlnZW4gRGlza3Vzc2lvbnNsZWl0ZXIKbWl0IFBlaXRzY2hlKSAuLi4gYWxzbyBuaXgsIHdhcyBpbiBBcmJlaXQgYXVzdWZlcnQgOy0pCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzZW1pbmFyIChTaWx2YW5hLCAxMy4gSnVsIDE5OTksIDE3OjI1OjE4KToKfiMhIHJuPVBpbGdyaW0gcnQ9OTMxODc2NDE3IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CkhtLi4uIFNvIGVpbmUgWnVzYW1tZW5mYXNzdW5nIGEgbGEgIldhcyBzaWNoIGluIGRlbiBsZXR6dGVuIDEyIE1vbmF0ZW4gYW4gZGVyCkxpYiBnZXRhbiBoYXQiIGhhZXR0IG1pciBzY2hvbiB6dWdlc2FndC4gQWJlciBkYSBpY2ggKHNlbGJzdCB3ZW5uJ3MgZGVubgpzdGF0dGZpbmRldCkgc2ljaGVyIG5pY2h0IHNjaG9uIHp1bSBTZW1pbmFyIGRhIGJpbiwga2FubiBtYW4gZGFzIGpldHp0IGthdW0KYWxzIEJlZGFyZiBzZWhlbi4uLgoKU2lsdmFuYSAod2Vpc3MgbmljaHQsIG9iIHNpZSBfdWViZXJoYXVwdF8ga29tbXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzZW1pbmFyIChNYWhhdG11LCAxMy4gSnVsIDE5OTksIDE4OjEyOjAwKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTMxODc5NTE4IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4Cldlbm4sIGRhbm4gc29sbHRlIGRvY2ggUGFkcmVpYyBlaW4ga2xlaW5lcyBTZW1pbmFyIGhhbHRlbi4gU2NobGllc3NsaWNoCnNpbmQgZ2VudWcgc3BpZWxlciBhdWNoIGlyZ2VuZHdvIExQQ2xlci4KCk1haGF0bXUgaXN0IGVoIG5pY2h0IGRhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogc2VtaW5hciAoSG9vZCwgMTMuIEp1bCAxOTk5LCAxODozMjo1OSk6Cn4jISBybj1NYWhhdG11IHJ0PTkzMTg4MjMyMCByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOAp0c2phIGxldXRlLCB3aWUgZ2VzYWd0OgplcyBzaW5kIGxldXRlIGFtIHNlbWluYXIgaW50ZXJlc3NpZXJ0LCBlcyB3YWVyZSB2b20gcmF1bSBiaXMgenVtIHByb2pla3RvcgphbGxlcyBkYSwgZXMgZ2lidCBnZW51ZWdlbmQgdGhlbWVuLCBmdWVyIHdlbGNoZSBtYW4gc2ljaCBhbHMgYmVnZWlzdGVydGVyCnp1aG9lcmVyIHZlcnBmbGljaHRldCBmdWVobGVuIGtvZW5udGUgdW5kIGVzIHN0ZWh0IGF1Y2ggdGF0c2FlY2hsaWNoIHdhcwppbiBkZXIgcGxhbnVuZyBkZXMgdmVyZWlucyBkYXJ1ZWJlci4KaXJnZW5kd2llIGZlaGxlbiBuYWNoIHdpZSB2b3IgZGllIGxldXRlLCB3ZWxjaGUgZGEgc2FnZW46CiAgaGV5Li4uaWNoIHdpbGwgYXVjaCB3YXMgYmVpdHJhZ2VuLiBpY2ggdHJhZ2UgZ2VybmUgdm9yLCBvYndvaGwgZXMgZXR3YXMKYXJiZWl0IG1pdCBzaWNoIGJyaW5ndC4gaWNoIGthbm4gZGFzIGRydW5kaGVydW0gb3JnYW5pc2llcmVuLCBhYmVyCm5pY2h0IG9obmUgbWl0YXJiZWl0IGVudHNwcmVjaGVuZGVyIGxldXRlLiBkYXMgZHVlcmZ0ZSB3b2hsIGtsYXIgc2Vpbi4uLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogc2VtaW5hciAoUm9jaHVzLCAxMy4gSnVsIDE5OTksIDE4OjM2OjI5KToKfiMhIHJuPUhvb2QgcnQ9OTMxODgzNTc5IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CkFsc28sIGljaCB3dWVyZGUgamEgZ2VybmUgZWluZW4gVm9ydHJhZyBoYWx0ZW4sCmFiZXIgbWlyIGZlaGxyIG1vbWVudGFuIGxlaWRlciBlY2h0IGRpZSBaZWl0IGZ1ZXIgZGllIFZvcmJlcmVpdHVuZy4KCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBzZW1pbmFyIChBbmFjcmlvbiwgMTMuIEp1bCAxOTk5LCAxODo0MjowOSk6Cn4jISBybj1Sb2NodXMgcnQ9OTMxODgzNzg5IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CkFsc28gZWluIFNlbWluYXIgdWViZXIgR2lsZGVucHJvZ3JhbW1pZXJ1bmcgd2FlcmUgYXVjaCBmZWluLgoKQW5hYyogLSBzdHJlYnQgenUgaG9laGVyZW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHNlbWluYXIgKEhvb2QsIDEzLiBKdWwgMTk5OSwgMTg6NDc6MzkpOgp+IyEgcm49Um9jaHVzIHJ0PTkzMTg4Mzc4OSByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOApnZW5hdSwgaW5zYmVzb25kZXJlIGRpZSBlcnoga29lbm50ZW4gdW5zIG1hbCBkaWUgbGliIG5hZWhlcmJyaW5nZW4uLi4Kcm9jaHVzIHNlaSBoaWVybWl0IGVudHNjaHVsZGlndCA6KQpuZWJlbiBkZW0gdGVhbWthbXBmc3lzdGVtIGdhYnMgYXVjaCB6YWhscmVpY2hlIGFuZGVyZSBuZXVpZ2tlaXRlbiBpbQpsZXR6dGVuIGphaHIuIGlzdCBlcyBzbyBzY2h3ZXIsIG1hbCBlaW4gcGFhciBzYWNoZW4genUgZXJrbGFlcmVuLCB3ZW5uIG1hbgpzaWUgc29nYXIgc2VsYnN0IGVpbmdlYmF1dCBoYXQ/IGluc2dlc2FtdCBnZXNlaGVuIGlzdCBkaWUgYXJiZWl0c21vcmFsCmVpbmlnZXIgbGV1dGUgZWNodCBlbnR0YWVzY2hlbmQ6IGJldHJpbmtlbiBrYW5uIG1hbiBzaWNoIHRyb3R6IHZvcnRyYWcgYXVmCmRlciBwYXJ0eSAod2VyIGRlbm4gd2VydCBkYXJhdWYgbGVndCB1bmQgYW5nc3QgdW0gZGFzIHZlcmdudWVnZW4gaGF0IDopCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBzZW1pbmFyIChHcmltbWJvcm4sIDEzLiBKdWwgMTk5OSwgMjE6MzY6MzgpOgp+IyEgcm49Um9jaHVzIHJ0PTkzMTg4Mzc4OSByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOApJY2ggd3VlcmRlIGF1Y2ggd2FobnNpbm5pZyBnZXJuZSB3YXMgdm9ydHJhZ2VuLCBhYmVyIGxlaWRlciBiaW4gaWNoIG5pY2h0IGF1ZgpkZXIgUGFydHkuClNjaGFkZSwgc2NoYWRlLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHNlbWluYXIgKExhcmlzc2EsIDEzLiBKdWwgMTk5OSwgMjE6Mzk6MDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkzMTg5NDU5OCByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOApIbSwKRHUga2FubnN0IGdlcm5lIHdhcyB2b3JiZXJlaXRlbiwgR3JpbW1pLCBpY2ggdHJhZ3MgZGFubiBzY2hvbiB2b3IuLi4KCkxhcmksIGltbWVyIGhpbGZzYmVyZWl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHNlbWluYXIgKEdyaW1tYm9ybiwgMTMuIEp1bCAxOTk5LCAyMTo0MzowNCk6Cn4jISBybj1MYXJpc3NhIHJ0PTkzMTg5NDc0MCByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOApEYXMgc2VoZSBpY2ggZG9jaCBnZXJuZSwgTGV1dGUsIGRpZSBrZWluZSBTY2hldSBkYXZvciBoYWJlbiBzaWNoIG9lZmZlbnRsaWNoCnp1IGJsYW1pZXJlbi4gRXMgZ2lidCBhbHNvIHRhdHNhZWNobGljaCBub2NoIEhvZmZudW5nIGZ1ZXIgZGllIGhldXRpZ2UgSnVnZW5kLgpCbHVlbSBoYXR0ZSBkb2NoIHJlY2h0OiBEaWUgUmVudGVuIHNpbmQgc2ljaGVyIQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaGluYW1hbm4gKE1vbnRhbnVzLCAxMy4gSnVsIDE5OTksIDIzOjEzOjE0KToKCkdkQSBzY2hyZWlidDoKPiBCbHVlbSBoYXR0ZSBkb2NoIHJlY2h0OiBEaWUgUmVudGVuIHNpbmQgc2ljaGVyIQoKaG1tbToKQmx1ZW0gaXN0IG5pY2h0IGFud2VzZW5kLgpadWxldHp0IGVpbmdlbG9nZ3Qgdm9uOiBLYXJsc3J1aGUKWnVsZXR6dCBhdXNnZWxvZ2d0OiBEaWUsIDEzLiBKdWwgMTk5OSwgMTg6MTM6MzIgKDA0OjUzOjUxKQpWb2xsZXIgTmFtZTogQmx1ZW0gZGVyIEthcmF0ZS1LYWVtcGZlciwgMy4gRGFuClJhc3NlOiBad2VyZywgIEdpbGRlOiBLYXJhdGUsICBHZXNjaGxlY2h0OiBtYWVubmxpY2gKU3BpZWxlcmxldmVsOiAyMSwgICBHaWxkZW5sZXZlbDogMTIKRGF0dW0gZGVzIGVyc3RlbiBMb2dpbjogRGllLCAxMi4gRGV6IDE5OTUsIDEzOjI2OjE1CkJpc2hlciBiZXJlaXRzIDUgbWFsIGdlc3RvcmJlbgoKS2xpbmd0IG5hY2ggWndlaXRpZS4gVW5kIG1pdCBzbyBldHdhcyBnaWJzdCBEdSBEaWNoIGFiLCBHcmltbWJvcm4/IERhcyBoYWV0dGUKZXMgZnJ1ZWhlciBuaWNodCBnZWdlYmVuLCBpbiBkZW4gZ3V0ZW4gYWx0ZW4gWmVpdGVuLi4uCgpFbnR0YWV1c2NodDogTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoaW5hbWFubiAoTW9udGFudXMsIDEzLiBKdWwgMTk5OSwgMjM6MTU6MjYpOgoKU29kZWxlLiBFaW4gd2VpdGVyZXIgTmFnZWwgaGF0IGVpbmVuIEtvcGYgYmVrb21tZW4sIHp1bWluZGVzdCBlaW5lbiBoYWxiZW4uCkljaCBoYWJlIHZvcmhpbiBtaXQgZGVyIG5ldHRlbiBDaGluYWZyYXUgdGVsZWZvbmllcnQgdW5kIGVpbmZhY2ggbWFsIGZ1ZXIgNjUKYmlzIDcwIExldXRlIHJlc2VydmllcnQuIEJlaSA0NSBBbm1lbGR1bmdlbiBiaXNoZXIga29lbm50ZSBkYXMgZWluZSBndXRlClNjaGFldHp1bmcgc2Vpbi4KRXMgZ2lidCBpcmdlbmR3ZWxjaGUgR3J1cHBlbm1lbnVlcyAtIHNvIGdlbmF1IGhhYmUgaWNoIGRhcyBuaWNodCB2ZXJzdGFuZGVuLAppY2gga2FubiBrZWluIGNoaW5lc2lzY2guIEFiZXIgZXMgZ2lidCBhdWNoIGVpbmUgS2FydGUsIHVuZCBtYW4ga2FubiBkcmF1c2VuCnNpdHplbiwgb2RlciBzbyBldHdhcy4KRGllIFZlcnN0YWVuZGlndW5nIHdhciBoYWx0IGV0d2FzIHNjaHdpZXJpZy4gQWJlciBqZWRlbmZhbGxzIC0gd2lyIHdlcmRlbgplcndhcnRldC4gOi0pCgpNZWhyIGRlbW5hZWNoc3QKCi1Nb250YW51cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHNlbWluYXIgKEx1ZywgMTQuIEp1bCAxOTk5LCAwMDoyNDoyMik6Cn4jISBybj1Ib29kIHJ0PTkzMTg4MzU3OSByZz1wYXJ0eQp+IyEgdGlkPTkzMTgyMzYzOAoKSG0sIHdpZSB3YWVycyBtaXQgQWx0bm9yZGlzY2hlIE15dGhvbG9naWUgbGVpY2h0Z2VtYWNodD8KCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogc2VtaW5hciAoSG9vZCwgMTQuIEp1bCAxOTk5LCAwMToyOToyNCk6Cn4jISBybj1MdWcgcnQ9OTMxOTA0NjYyIHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4Cndlbm4gZHUgbWVociBhbHMgMyB6dWhvZXJlciBmaW5kZXN0IDopCmFsc28gaWNoIGxhdXNjaGUgZ2VybmUgZGVpbmVuIGF1c2Z1ZWhydW5nZW4gdWViZXIgZGllIG5vcmRpc2NoZSBzYWdlbndlbHQKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENoaW5hIHVtIHdpZXZpZWwgVWhyPyAoQWxpbmUsIDE0LiBKdWwgMTk5OSwgMDM6MzQ6MTEpOgp+IyEgcm49Um9uZGEgcnQ9OTMxMzYxMDUwIHJnPXBhcnR5Cn4jISB0aWQ9OTMxMjkxNjcwCgo+QXUgd2VoLCBkYXMgd2lyZCBuZSBRdWVzdCAtIHNjaGxpbW1lciBhbHMgIm1pdC1TdGFlYmNoZW4tZXNzZW4iIDspCldhcyBpc3QgZGFyYW4gc2NobGltbT8KSW0gTW9tZW50IGVzc2UgaWNoIGZhc3QgbnVyIG1pdCBTdGFlYmNoZW4sIHNvbnN0IHd1ZXJkZSBpY2ggaGllciB2ZXJodW5nZXJuLgo7KQpBdXNzZXJkZW0gc2luZCBkYXMgaGllciBrZWluZSBsZWljaHQgenUgaGFuZGhhYmVuZGVuIEhvbHpzdGFlYmNoZW4gc29uZGVybgpkdWVubmVyZSBhdXMgTWV0YWxsLgoKQWxpbmUgKGhhdCBzY2hvbiBsZWljaHRlIEtyYWVtcGZlIGluIGRlbiBGaW5nZXJuIG5hY2ggZGVtIEVzc2VuLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHNlbWluYXIgKEdub21lLCAxNC4gSnVsIDE5OTksIDEwOjAwOjEyKToKfiMhIHJuPUhvb2QgcnQ9OTMxOTA4NTY0IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CmRhbm4gc2luZCB3aXIgc2Nob24gMi4KCmduT21lIG5pbW10IGJlaSBsdWcgZWluIHNlbWluYXIuLi4gaWNoIGJpbiB3aXJrbGljaCBnZXNwYW5udCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHNlbWluYXIgKEFuYXRvbCwgMTQuIEp1bCAxOTk5LCAxMTowNDozMyk6Cn4jISBybj1Hbm9tZSBydD05MzE5MzkyMTIgcmc9cGFydHkKfiMhIHRpZD05MzE4MjM2MzgKMyAtIEFuZ2VzaWNodHMgbWVpbmVzIEVyc2F0emVyc3RpZXMgbXVzcyBpY2ggbWlyIGRhcyBqYSB3b2hsIGFudHVuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENoaW5hbWFubiAoQ2F0d2VhemxlLCAxNC4gSnVsIDE5OTksIDExOjUwOjQwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMTkwMDUyNiByZz1wYXJ0eQp+IyEgdGlkPTkzMTkwMDUyNgpLdXJ6IHVuZCBrbmFwcDogICB6dXdlbmlnIDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbGQgaGVyISA6LSkgKE1vbnRhbnVzLCAxNC4gSnVsIDE5OTksIDEyOjE4OjQxKToKUGFydHlsaXN0ZSBVcGRhdGU6CkZvbGdlbmRlIExldXRlIGhhYmVuIGJlemFobHQgdW5kIGRhbWl0IGlociBCZXR0Y2hlbiBzaWNoZXI6CgpJdm8KU2hhbmcKdHJpbWJsZQphaXNjaGEKbmV2YWRhClBmZWlmZQpQdWsKU2hhZGUKdmFtcHkKU3RpbmcKUmFzcHV0aW4KTGFyaXNzYQpHaWxnYW1lc2NoCkpvZgpLaW50YXJhCkxlbmEKTWF0aXMKU3dpZnQKV2ltCkJsZWVsdW1wZQpHb2xhcwpHb3JvZwpMZWlhCkxpYXJhCnJpa3VzIC0+IHplbHQKQXJpYW5hCkRpcmlvbgpQYXJhY2Vsc3VzClRyeWZhbgpaZXBoeXIKWm9vawpCYXJkCkd1YXJkIC0+IHplbHQKQWtqYXJhCkFyYW5jaWEKQ2Fzc2FuZHJhCmphbWVzb24KTHVyY2hpCk11YWRpYgpPbWVnYQoKRGF6dSBrb21tZW4gbm9jaCBiaXNoZXIgbmljaHQgaWRlbnRpZml6aWVyYmFyZSBVZWJlcndlaXN1bmdlbiB2b246CkQuIEJheWVybGVpbgpVLiBNZXJzZXdza3kKVC4gS3JhZW1lcgpDLiBTb2xtcwpULiBCZWNrZXIKVC4gV2luaGVsbGVyCgpFcyB3YWVyZSBuZXR0LCB3ZW5uIHNpY2ggZGllc2Ugc2VjaHMgbm9jaG1hbCBrdXJ6IGJlaSBtaXIgbWVsZGVuIHd1ZXJkZW4sCmRhbWl0IGljaCB3ZWlzcywgd2VsY2hlbSBNdWRuYW1lIGljaCBkYXMgR2VsZCB6dW9yZG5lbiBzb2xsLiBJY2gga2FubiB6d2FyCnZpZWxlcywgYWJlciBuaWNodCBoZWxsc2VoZW4uIDotKQoKVm9uIGFsbGVuIGFuZGVyZW4gaXN0IG1pdCBTYWxkbyAxMy43Ljk5IG5vY2gga2VpbiBHZWxkIGF1ZiBkZW0gS29udG8uIERlbmt0CmRyYW4gLSB3ZXIgZXJzdCBhdWYgZGVyIFBhcnR5IGJlemFobHQsIGxobnQgbm9ybWFsZXJ3ZWlzZSAxMCBETSBtZWhyLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHNlbWluYXIgKE1haGF0bXUsIDE0LiBKdWwgMTk5OSwgMTQ6Mjk6NTEpOgp+IyEgcm49SG9vZCBydD05MzE4ODM1Nzkgcmc9cGFydHkKfiMhIHRpZD05MzE4MjM2MzgKSWNoIGhhbHRlIGdlcm4gZWluZW4gVm9ydHJhZyB1ZWJlciBkYXMgU2tpbGxzeXN0ZW0gOikgQWxsZXJkaW5ncyBmaW5kZXQKZGllIFBhcnR5IG1laW5lcyBNVURzIGFtIFN0ZWNobGluc2VlIHVuZCBkYW1pdCB3ZWl0IHdlaXQgd2VnIHN0YXR0IDstKQoKTGVvbmlkYXNAUmVnZW5ib2dlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogc2VtaW5hciAoTXVhZGliLCAxNC4gSnVsIDE5OTksIDE1OjE5OjI3KToKfiMhIHJuPUhvb2QgcnQ9OTMxOTA4NTY0IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CjQKZGFzIHNpbmQgbnVuIG1laHIgYWxzIDMgb2RlciA/CgptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGluYW1hbm4gKExhcmlzc2EsIDE0LiBKdWwgMTk5OSwgMTk6MTQ6MjkpOgp+IyEgcm49TW9udGFudXMgcnQ9OTMxOTAwNTI2IHJnPXBhcnR5Cn4jISB0aWQ9OTMxOTAwNTI2CkhtLApoYXVwdHNhY2hlIGRpZSBoYWJlbiBuaWNodCAxNyBzdGF0dCA3MCB2ZXJzdGFuZGVuIChoYXR0ZW4gd2lyIGF1Y2ggc2Nob24pCgpMYXJpIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBzZW1pbmFyIChTaWx2YW5hLCAxNC4gSnVsIDE5OTksIDIwOjUyOjU5KToKfiMhIHJuPUx1ZyBydD05MzE5MDQ2NjIgcmc9cGFydHkKfiMhIHRpZD05MzE4MjM2MzgKQWxzbyB3ZW5uIERBUyBnZWhhbHRlbiB3aXJkLCBCSVRURSBCSVRURSBzY2huZWlkZXQgZGFzIGZ1ZXIgbWljaCBtaXQhCgogIFNpbHZhbmEgKGthbm4gbGVpZGVyIG5pY2h0IGtvbW1lbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHNlbWluYXIgKFBhcmFjZWxzdXMsIDE0LiBKdWwgMTk5OSwgMjE6MjA6MTApOgp+IyEgcm49U2lsdmFuYSBydD05MzE5NzgzNzkgcmc9cGFydHkKfiMhIHRpZD05MzE4MjM2MzgKSmEsIGljaCBmaW5kZSBhdWNoLCBkYXNzIEx1Z2lsZWluIGRlIGVpbmVuIGd1dGVuIFZvcnNjaGxhZyBnZW1hY2h0IGhhdC4KClBhcmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYW5uIGxlaWRlciBuaWNodDooIChWaXBlciwgMTQuIEp1bCAxOTk5LCAyMjowNjoxNik6CkhhbGxvIGFsbGUsCgpsZWlkZXIga2FubiBpY2ggdW5kIGF1Y2ggTHV6aWUgYW4gZGVyIFNvbW1lci1QYXJ0eSBuaWNodCB0ZWlsbmVobWVuLgoKd2lyIGhhYmVuIHp1IGRpZXNlbSBaZWl0cHVua3Qgc2Nob24gc2VpdCBsYWVuZ2VyZXIgWmVpdCBlaW5lIFBvbGVuLVJlaXNlCmdlYnVjaHQuCgpUdXQgdW5zIGxlaWQsIGFiZXIgdHJvdHpkZW0gdmllbCBTcGFzcyBmdWVyIGV1Y2ggYWxsZS4KCkJpcyBkYW5uCgpWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogc2VtaW5hciAoTHVnLCAxNC4gSnVsIDE5OTksIDIzOjI0OjI2KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTMxOTc4Mzc5IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CgpIbW1tcGYsCgp2ZXJkYW1taWNoLCBzaWVodCBuYWNoIEFyYmVpdCBhdXMuLi4gVW5kIFNpbHZhbmE6IEdpYiBpcmdlbmR3ZW0gMTAgRG0gbWl0IHVuZAppY2ggZ2ViIERpciBlaW4gZ2VidW5kZW5lcyBTY2hyaWZ0c3R1ZWNrIG1pdCBhdXNmdWVocmxpY2hlbSBJbmhhbHQgenVtIHNlbGJlbgpUaGVtYSA7KQoKQmFoIEh1bWJ1ZwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBzZW1pbmFyIChMaWFyYSwgMTQuIEp1bCAxOTk5LCAyMzoyNzoyNik6Cn4jISBybj1MdWcgcnQ9OTMxOTg3NDY2IHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CgpBbHNvIGljaCB3aWxsIGF1Y2ggbWFsIEx1ZyBhbHMgRG96XmheaF5oXmhSdW1zY2h3YWxsZXIgZXJsZWJlbi4KCkxpYXJhLCBoYXQgSW50ZXJlc3NlLCBhdWNoIGFuIGRlbSBUaGVtYSwgd2VubnMgc2VpbiBtdXNzICpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHNlbWluYXIgKEx1ZywgMTQuIEp1bCAxOTk5LCAyMzoyOToxMik6Cn4jISBybj1MaWFyYSBydD05MzE5ODc2NDYgcmc9cGFydHkKfiMhIHRpZD05MzE4MjM2MzgKClNvc28sCgppY2ggbXVzcyBkYXMgd29obCB3ZXNlbnRsaWNoIHRyb2NrZW5lciBnZXN0YWx0ZW4sIGFscyBpY2ggZGFjaHRlLi4uClJhZXVzcGVyOiBEaWUgR2VuZXNlIGRlciBNZW5zY2hoZWl0IHdhciBlaW4gbGFuZ3dpZXJpZ2VyIFByb3plc3MsIGlzdCBhYmVyIGFscwpWb3JhdXNzZXR6dW5nIHp1IHVuc2VyZW0gVGhlbWEgdW5lcmxhZXNzbGljaC4gSWNoIGJlZ2lubmUgYWxzbyBlaW5pZ2UKTWlsbGlvbmVuIEphaHJlIGZydWVoZXIuLi4KCkhtYnJtYmxhYmxhYmxhCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogc2VtaW5hciAoR3JpbW1hbiwgMTUuIEp1bCAxOTk5LCAwMDowNTo1MSk6Cn4jISBybj1MdWcgcnQ9OTMxOTA0NjYyIHJnPXBhcnR5Cn4jISB0aWQ9OTMxODIzNjM4CkR1IGhhdHMgZGVpbiBkcmVpIFp1aG9lcmVyIDspCgpNQklNRyAsIEdyaW1NYW4gLCBuaW1tdCBhbGxlcyBtaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZWxkIGhlciEgOi0pIChHcmltbWFuLCAxNS4gSnVsIDE5OTksIDAwOjA3OjM3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMTk0NzUyMSByZz1wYXJ0eQp+IyEgdGlkPTkzMTk0NzUyMQpJY2ggYnJhdWNoZSBkcmluZ2VuZCBlaW4gQmV0dCAsIGthbm4gYWJlciBlcnN0IHp1ciBQYXJ0eSBkaXJla3QgemFobGVuLCBuaW1tCmRhcyBhbHMgZmVzdGUgQW5tZWxkdW5nIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlbGQgaGVyISA6LSkgKE1vbnRhbnVzLCAxNS4gSnVsIDE5OTksIDA5OjExOjUwKToKfiMhIHJuPUdyaW1tYW4gcnQ9OTMxOTkwMDU3IHJnPXBhcnR5Cn4jISB0aWQ9OTMxOTQ3NTIxCgpUamEsIHdlciBsZWliZXIgQWJlbmRrYXNzZSBiZXphaGx0Li4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbXVja2UgKEdub21lLCAxNS4gSnVsIDE5OTksIDExOjUxOjA5KToKaGksCgp3b2xsdCBtYWwgZnJhZ2VuLCBvYiB1ZWJlcmhhdXB0IGJlZGFyZiBhdWYgdHJhbmNlL3RlY2hubyBiZXN0ZWh0LgpkZW5uIHdlbm4gbmljaHQsIGRhbm4gc2NobGVwcCBpY2ggZGllIENEcyBnYXIgbmljaHQgZXJzdCBtaXQuCgphYmVyIGRlbmt0IGJpdHRlIG5pY2h0LCBpY2ggZHJvZWhuIGV1Y2ggbWl0IDA4LzE1LWJlYXRzIHp1LgppY2ggc3BpZWwgZGEgc2Nob24gYXVzZ2VzdWNodGVyZSAoYmVzc2VyZSkgc2FjaGVuLCB2b3IgYWxsZW4gZGluZ2VuCmluIHNhY2hlbiBoYXJkdHJhbmNlLCBhdWYgcmVpbmVtIHRlY2hubyBzdGVoIGljaCBzZWxiZXIgbmljaHQgc28uCgpnbk9tZSwgaGF0IHZvbiBlaW5lciBsZWVyZW4gdGFuemZsYWVjaGUgcmVpbiBnYXIgbml4Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENoaW5hbWFubiAoSG9ibywgMTUuIEp1bCAxOTk5LCAxMTo1ODo1NSk6Cn4jISBybj1MYXJpc3NhIHJ0PTkzMTk3MjQ2OSByZz1wYXJ0eQp+IyEgdGlkPTkzMTkwMDUyNgpIbW0sIGRhcyB3YXIgMTUgc3RhdHQgNTAgOikgCkFiZXIgZGFmdWVyIGhhYmVuIGRpZSBlcyBkYW5uIGRvY2ggbm9jaCBnYW56IGd1dCBhdWYgZGllIFJlaWhlIGJla29tbWVuLCBmaW5kZQppY2guCgogIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtdWNrZSAoTHVnLCAxNS4gSnVsIDE5OTksIDEzOjExOjUxKToKfiMhIHJuPUdub21lIHJ0PTkzMjAzMjI2OSByZz1wYXJ0eQp+IyEgdGlkPTkzMjAzMjI2OQoKQWxzbyBHbm9tZToKCkJsYWNrIE1ldGFsLCBEZWF0aCBNZXRhbCwgVHJ1ZSBNZXRhbCwgUG93ZXIgTWV0YWwsIFByb2dyZXNzaXZlIE1ldGFsLCBQYWdhbgpNZXRhbCwgVmlraW5nIE1ldGFsLCBTcGVlZCBNZXRhbCwgVGhyYXNoIE1ldGFsLCBTcGVlZCBNZXRhbCwgVGV1dG9uaXNjaGUKU3RhbXBmbWV0YWwuLi4KCkVzIGdpYnQgc292aWVsIHZlcnNjaGllZGVuZSBndXRlIE11c2lrLi4uCgpOYSBndXQsIEFlcnp0ZSBuZWhtIGljaCBhdWNoLi4uCkdyb3NzenVlZ2lnCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG11Y2tlIChSaWt1cywgMTUuIEp1bCAxOTk5LCAxNDowNTozNyk6Cn4jISBybj1Hbm9tZSBydD05MzIwMzIyNjkgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKamEsIDEwMDBtYWwgYmVzc2VyIGFscyBMdWdzIE1ldGFsIDopIEhvdXNlIGV0YyBwcCBiaXR0ZSBhdWNoIG1pdGJyaW5nZW4hCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtdWNrZSAoUGFyYWNlbHN1cywgMTUuIEp1bCAxOTk5LCAxNDoyMDoxMik6Cn4jISBybj1SaWt1cyBydD05MzIwNDAzMzcgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKTmVlZSEKClBhcmFjZWxzdXMgLSBQcm8gTWV0YWwgLSBDb250cmEgKlVNUEYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBtdWNrZSAoQW5hdG9sLCAxNS4gSnVsIDE5OTksIDE0OjIxOjE0KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTMyMDQxMjEyIHJnPXBhcnR5Cn4jISB0aWQ9OTMyMDMyMjY5CkljaCB3aWxsIFNjaGxhZ2VyIGhvZXJuISBXaXJmIG5vY2ggbWFsIG5lIE1hcmsgaW4gZGllIEp1a2Vib3gsIEJhYnkhCgoqZGF2b25sYXVmKiA6KQpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NobWFscy4uLiAoR25vbWUsIDE1LiBKdWwgMTk5OSwgMTQ6MjE6MjApOgphbHNvIHdlbm4gam1kIEdBTlogYXVzZ2VmYWxsZW5lIHd1ZW5zY2hlIGhhdCwgc29sbCBlciBkaWUgQ0RzIG5hdHVlcmxpY2gKbWl0YnJpbmdlbi4gaWNoIGhhYmUgei5iLiBrZWluIE5EVywgcmFtc3RlaW4gZXRjLgoKZ25PbWUgc3BpZWx0IChmYXN0KSBhbGxlcy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG11Y2tlIChSb2NodXMsIDE1LiBKdWwgMTk5OSwgMTQ6MjE6NTYpOgp+IyEgcm49R25vbWUgcnQ9OTMyMDMyMjY5IHJnPXBhcnR5Cn4jISB0aWQ9OTMyMDMyMjY5CkljaCBnbGF1YmUgZGllIENEcyBzb2xsdGVzdCBEdSBiZXNzZXIgZ2FyIG5pY2h0IGVyc3QgbWl0c2NobGVwcGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDaGluYSB1bSB3aWV2aWVsIFVocj8gKFRlZGR5LCAxNS4gSnVsIDE5OTksIDE3OjUzOjI5KToKfiMhIHJuPUFsaW5lIHJ0PTkzMTkxNjA1MSByZz1wYXJ0eQp+IyEgdGlkPTkzMTI5MTY3MApTaW5kIGRhcyB2aWVsbGVpY2h0IGVoZXIgU3Ryb2hoYWxtZT8KClRlZGR5LCBmaW5kZXQgU3VwcGUgbWl0IFN0cm9oaGFsbSBlaWdlbnRsaWNoIHByYWt0aXNjaGVyIGFscyBTdXBwZSBtaXQKU3RhZWJjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG11Y2tlIChNeXN0ZXJpb3VzLCAxNS4gSnVsIDE5OTksIDE5OjMyOjEzKToKfiMhIHJuPUdub21lIHJ0PTkzMjAzMjI2OSByZz1wYXJ0eQp+IyEgdGlkPTkzMjAzMjI2OQprb25uaS1jaGktd2EhCgp3ZWhlLCBpY2ggaG9lcmUgYXVjaCBudXIgZWlubWFsIHNvIGVpbiBhZXR6ZW5kZXMgdHJhbmNlL3RlY2hubyBnZXN0YW1wZmUhCnVuZCBtZXRhbCBpcyBhdWNoIHNjaGVpc3NlIQp1bmQgc2NobGFnZXIgc293aWVzby4uLgoKaWNoIHdpbGwgbnVyIGVpbnM6IAogICAgICAgICAgICAgICAgICAgICBrT3Bmbmlja0VyLWhhcmRjb3JlISAoc3RyYWlnaHQgaW4gbWVpbiBvaHIpCgoqaG9lZmxpY2ggdmVybmVpZyoKbVlzdGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbXVja2UgKFNpbHZhbmEsIDE1LiBKdWwgMTk5OSwgMTk6NTI6MzQpOgp+IyEgcm49TXlzdGVyaW91cyBydD05MzIwNTk5MzMgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKV2VubiBpY2ggbWlyIHNvIGR1cmNobGVzZSwgd2FzIGFuIHNvZ2VuYW5udGVyIE11c2lrIGFsbGVzIGdld3VlbnNjaHQgd2lyZCwKYmVkYXVlciBpY2ggZG9jaCBnbGVpY2ggbnVyIG5vY2ggaGFsYiBzbyBzZWhyLCBkYXNzIGljaCBuaWNodCBrb21tZW4ga2Fubi4uLiAKCiAgU2lsdmFuYSAtIHRyYXVlcnQgZGVuIGd1dGVuIGFsdGVuIFImQiBTdGFuZGFyZHMgaGludGVyaGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbXVja2UgKFJvY2h1cywgMTUuIEp1bCAxOTk5LCAxOTo1NjoxNSk6Cn4jISBybj1TaWx2YW5hIHJ0PTkzMjA2MTE1NCByZz1wYXJ0eQp+IyEgdGlkPTkzMjAzMjI2OQpJY2gga2FubiBqYSBtZWluZSBDRHMgd2llZGVyIG1pdGJyaW5nZW4sIGRpZQp3YXJlbiBhbnNjaGVpbmVuZCB3ZW5pZ3N0ZW5zIG5pY2h0IFZPRUxMSUcgdW5iZWxpZWJ0IGluIE1hcmJ1cmcgOikKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG11Y2tlIChMdWcsIDE1LiBKdWwgMTk5OSwgMTk6NTc6MjMpOgp+IyEgcm49UmlrdXMgcnQ9OTMyMDQwMzM3IHJnPXBhcnR5Cn4jISB0aWQ9OTMyMDMyMjY5CgpSaWt1cwoKTE9FU0NIIERJQ0ghCgoKTWV0YWxsaXNjaApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBub2NobWFscy4uLiAoTHVnLCAxNS4gSnVsIDE5OTksIDE5OjU4OjEzKToKfiMhIHJuPUdub21lIHJ0PTkzMjA0MTI4MCByZz1wYXJ0eQp+IyEgdGlkPTkzMjA0MTI4MAoKSGV5IHRvbGwsCgppY2ggYnJpbmcgRU1QRVJPUiwgRElNTVUgQk9SR0lSLCBEQVJLVEhST05FIHVuZCBJTU1PUlRBbCBtaXQuCgpLaWNoZXJuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG11Y2tlIChIb29kLCAxNS4gSnVsIDE5OTksIDE5OjU4OjQ2KToKfiMhIHJuPVJvY2h1cyBydD05MzIwNjEzNzUgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKZ2licyB6dSwgZHUgaGFzdCBwYXJhbGxlbCB6dXIgZnJhZ2U6ICJuYS4uLndpZSBmaW5kZXQgaWhyIGRpZSBtdXNpayIKaXJnZW5kd2FzIHZvbiBzYXZlZmlsZXMgZ2VtdXJtZWx0IDopCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG11Y2tlIChMdWcsIDE1LiBKdWwgMTk5OSwgMTk6NTk6MjgpOgp+IyEgcm49TXlzdGVyaW91cyBydD05MzIwNTk5MzMgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKCkhhcmRjb3JlPwoKRGFlbWxpY2hlcyBHZXp1cHBlbHpldWcuLi53ZWlsIGRpZSB6dSBzY2hsZWNodCBzaW5kIHVtIE1ldGFsIHp1IHNwaWVsZW4sIGdpYnRzClN0YW1wZmxhZXJtLi4uCgpIb2VobmlzY2gKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBtdWNrZSAoQW5hdG9sLCAxNS4gSnVsIDE5OTksIDIwOjAwOjQ2KToKfiMhIHJuPUx1ZyBydD05MzIwNjE1Njggcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKU28gZ2FueiBzcG9udGFuIHN0ZWxsdCBzaWNoIGRpZSBGcmFnZSwgd2lldmllbGUgYmVzY2hhbGxiYXJlIApSYWV1bWxpY2hrZWl0ZW4genVyIFZlcmZ1ZWd1bmcgc3RlaGVuIC0gdW5kIG9iIGVzIGF1Y2ggZGFzIGVpbmUKb2RlciBhbmRlcmUgVU5CRVNDSEFMTFRFIHVuZCB0cm90emRlbSB1ZWJlcmRhY2h0ZSBGbGVja2NoZW4KZ2lidC4uLgoKcmF1c2NoIC0gcGZlaWYgLSBkcm9laG4KQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbXVja2UgKEthcmljLCAxNS4gSnVsIDE5OTksIDIwOjAyOjEyKToKfiMhIHJuPUFuYXRvbCBydD05MzIwNjE2NDYgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKYW5hdG9sIG5pbW0gd2VuaWdlciBkcm9nZW4gOykKCmthcmljICptYWx3aWVkZXIgb2ZmLXRvcGljKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbXVja2UgKE5vdmFzdG9ybSwgMTUuIEp1bCAxOTk5LCAyMDowMzowMCk6Cn4jISBybj1LYXJpYyBydD05MzIwNjE3MzIgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKRmFsc2NoIEthcmljLCBpbiBkZW0gRmFsbCBzb2xsdGUgQW5hdG9sIF9tZWhyXyBEcm9nZW4gbmVobWVuLCB1bSBlcyB6dSBhZWgKZ2VuaWVzc2VuIDopCgogIE5vdmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG11Y2tlIChMdWcsIDE1LiBKdWwgMTk5OSwgMjA6MDM6NDgpOgp+IyEgcm49Tm92YXN0b3JtIHJ0PTkzMjA2MTc4MCByZz1wYXJ0eQp+IyEgdGlkPTkzMjAzMjI2OQoKSG0sCgp3YXMgZnVlciBEcm9nZW4/CgpKdWdlbmRmcmVpCkx1ZwosLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IEFlaC4uLiAoQXJrLCAxNS4gSnVsIDE5OTksIDIwOjE4OjUxKToKfiMhIHJuPUx1ZyBydD05MzAxMDEzNDYgcmc9cGFydHkKfiMhIHRpZD05MzAxMDA0NzYKSG0sIGhhYiBuZXQgc28gbGFuZ2UgQmFlbmdlcmhhYXJlLCBhbHNvIGJpdHRlIGF1Y2ggd2FzIFRhbnpiYXJlcyA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBtdWNrZSAoR25vbWUsIDE1LiBKdWwgMTk5OSwgMjA6MjE6NDYpOgp+IyEgcm49THVnIHJ0PTkzMjA2MTU2OCByZz1wYXJ0eQp+IyEgdGlkPTkzMjAzMjI2OQphbHNvIHdlbm4gaWNoIG1pciBkZW4gdGhyZWFkIGhpZXIgc28gZHVyY2hsZXNlLCBiZXJldSBpY2ggZGFzIGpldHp0IHNjaG9uLApnZWZyYWd0IHp1IGhhYmVuLi4uIG5hamEsIDEwMCBsZXV0ZSwgMTAwIGdlc2NobWFlY2tlci4uLgoKZ3V0LiBkYW5uIGFuZGVyczogaWNoIGJyYXVjaGUgbm9jaCBORFcsIG1lbGlzc2EsIHJhbXN0ZWluLCBxdWVlbiA6KQoKZGllLCBkaWUgZXMgaGFiZW4sIHdlcmRlbiBzaWNoIHNjaG9uIGFuZ2VzcHJvY2hlbiBmdWVobGVuLi4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbXVja2UgKE15c3RlcmlvdXMsIDE1LiBKdWwgMTk5OSwgMjA6NTA6MzUpOgp+IyEgcm49THVnIHJ0PTkzMjA2MTU2OCByZz1wYXJ0eQp+IyEgdGlkPTkzMjAzMjI2OQprb24tYmFuLXdhIQoKbHVnLCBsdWcsIGx1Zy4uLgoKaWNoIHNhZ3RlIG5peCB2b24gaGFyZGNvcmUuLi4KCmljaCByZWRlIGhpZXIgdm9uIEtPUEZOSUNLRVItaGFyZGNvcmUhCgp1bmQgd2VyIGRhcyBuaWNoIHJhbGx0LCBzb2xsdGUgZW5kbGljaCBtYWwgYXVzIHRhc2gga29tbWVuIHVuZCBjaGVja2VuLCB3YXMKZ2VodCA+OikKCmhhdSEKbXlTdGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG11Y2tlIChTdGluZywgMTUuIEp1bCAxOTk5LCAyMDo1MToyNSk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTkzMjA2NDYzNSByZz1wYXJ0eQp+IyEgdGlkPTkzMjAzMjI2OQpBZWgsICp2b3JzaWNodGlnIGZyYWcqIGthbm4gbWFuIGF1Y2ggZXR3YXMgX25vcm1hbGVfIF9ndXRlXyBNdXNpayBhbGEgYWx0ZQp1Mi1zYWNoZW4gaGFiZW4gPwoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IG11Y2tlIChSaW5nb3IsIDE1LiBKdWwgMTk5OSwgMjA6NTI6NTkpOgp+IyEgcm49U3RpbmcgcnQ9OTMyMDY0Njg1IHJnPXBhcnR5Cn4jISB0aWQ9OTMyMDMyMjY5Cldlbm4gaWNoIGRhcyByaWNodGlnIHNlaGUsIGlzdCBhbGxlIE11c2lrIF9ndXRfLCBkaWUgYmlzaGVyIHZvcmdlc2NobGFnZW4Kd3VyZGUuCgpadW1pbmRlc3QgZnVlciBqZXdlaWxzIGRlbiwgZGVyIHNpZSB2b3JnZXNjaGxhZ2VuIGhhdCA7XikKClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogbXVja2UgKFN0aW5nLCAxNS4gSnVsIDE5OTksIDIwOjUzOjQxKToKfiMhIHJuPVJpbmdvciBydD05MzIwNjQ3Nzkgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKSmEsIGljaCB3ZWlzcywgd2FyIGphIG51ciBuZSBmcmFnZSA6OQoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBhcnR5c2VtaW5hciAoSG9vZCwgMTUuIEp1bCAxOTk5LCAyMjozMDo0MCk6CkhpIGFsbGUgenVzYW1tZW4sCgpFcyBoYWJlbiBzaWNoIGpldHp0IGRvY2ggZ2xlaWNoIG1laHJlcmUgTGV1dGUgZ2VtZWxkZXQsIGRpZSB1bmJlZGluZ3QgZWluZW4KVm9ydHJhZyBoYWx0ZW4gd29sbGVuLiBJY2ggbXVzc3RlIHNvZ2FyIHdlbGNoZSBhYndlaXNlbiEgOykKSWNoIHBsYW5lIG1hbCBtYXhpbWFsIDIgU3R1bmRlbiBmdWVyIDQgTGV1dGUsIHdhcyBtaXQgZWluZW0gZ2VzdW5kZW4gTWFzcwphbiBNYXRoZW1hdGlrIGRpZSBWZXJtdXR1bmcgYXVma29tbWVuIGxhZXNzdCwgZGFzcyBqZWRlciBWb3J0cmFnIG1heGltYWwKZWluZSBoYWxiZSBTdHVuZGUgU3ByZWNoemVpdCBiZWluaGFsdGV0LgpGb2xnZW5kZSBWb3J0cmFlZ2Ugc2luZCBnZXBsYW50OgoxLikgQW5hY3Jpb24gaXN0IHNvIG5ldHQsIGRpZSBQcm9ncmFtbWllcnVuZyB2b24gUmFldW1lbiB2b3J6dXN0ZWxsZW4gdW5kCiAgICBiZWkgZGVyIEdlbGVnZW5oZWl0IG5vY2ggbWFsIGRpZSBBbndlbmR1bmcgdm9uIFByb3BlcnRpZXMgenUgZXJrbGFlcmVuLgoyLikgV2ltIG1vZWNodGUgRXVjaCB1bmJlZGluZ3QgZXJrbGFlcmVuLCB3aWUgbWFuIGJvZXNlIE5QQ3Mgc2NocmVpYnQsIGRpZQogICAgbmljaHQgbWl0IGRlciBOUEMtQmFsYW5jZSBrb2xsaWRpZXJlbi4KMy4pIEF1ZiBtZWhyZmFjaGVuIFd1bnNjaCB3aWRtZSBpY2ggbWljaCBtYWwgZGVyIEdpbGRlbnByb2dyYW1taWVydW5nLAogICAgZXMgaXN0IGtsYXIsIGRhc3MgYmVpIGVpbmVyIGhhbGJlbiBTdHVuZGUgbnVyIEdydW5kenVlZ2UgZXJsYWV1dGVydAogICAgd2VyZGVuLi4uYWxsZXMgc3BlemllbGxlcmUgbXVzcyBiZWkgbmVtIEJpZXIgZXJmcmFndCB3ZXJkZW4gOikKNC4pIEx1ZyBtb2VjaHRlIGVuZGxpY2ggQWx0ZXJuYXRpdmVuIHp1IGRlbiBld2lnZW4gT3JrcyBhbiBkaWUKICAgIE1hZ2llcnNjaGFmdCBoZXJhbnRyYWdlbiB1bmQgZGllIG5vcmRpc2NoZSBTYWdlbndlbHQgdm9yc3RlbGxlbi4KICAgIEljaCBob2ZmZSBlaW5mYWNoIG1hbCBhdWYgU3luZXJnaWVlZmZla3RlIHVuZCBpbnRlcmVzc2FudGUgbmV1ZSBOUENzLAogICAgZGllIG1hbiBuYWNoIFdpbXMgVm9ydHJhZyBzaWNoZXJsaWNoIGF1Y2ggdGVjaG5pc2NoIHVtc2V0emVuIGthbm4uCkFsbGUgVm9ydHJhZWdlIHNpbmQgQW5mYWVuZ2Vyb3JpZW50aWVydCwgZXMgZ2lidCBrZWluZQpadWdhbmdzYmVzY2hyYWVua3VuZ2VuIG9kZXIgc293YXMgdW5kIGVzIGJyYXVjaHQgYXVjaCBuaWNodCBkYXJ1ZWJlcgpkaXNrdXRpZXJ0IHdlcmRlbi4gRGFzIFNlbWluYXIgZW50c3RlaHQgaW0gQXVmdHJhZyBkZXMgVmVyZWlucywgdW5kIGRvcnQKZ2lidCBlcyBrZWluZSBTcGllbGVyLSB1bmQgTWFnaWVydHJlbm51bmcuCkhvZmZlIHdpciBhdWYgZ3V0ZXMgR2VsaW5nZW4gOikKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG11Y2tlIChMdWcsIDE2LiBKdWwgMTk5OSwgMDE6Mzk6MzgpOgp+IyEgcm49TXlzdGVyaW91cyBydD05MzIwNjQ2MzUgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKCkhhaCEKCkJhaCBIdW1idWcuIFdvIG5pY2ggTWV0YWwgZHJhdWZzdGVodCBpc3QgYXVjaCBrZWluIE1ldGFsIGRyaW4uClVuZCBlcyBtdXNzIG1pbmRlc3RlbnMgaW4gamVkZXIgZHJpdHRlbiBUZXh0emVpbGUgdm9ya29tbWVuLgoKU28uCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhcnR5c2VtaW5hciAoTHVnLCAxNi4gSnVsIDE5OTksIDAxOjQxOjIwKToKfiMhIHJuPUhvb2QgcnQ9OTMyMDcwNjQwIHJnPXBhcnR5Cn4jISB0aWQ9OTMyMDcwNjQwCgpadSA0LikKClNvIHdpcmQgZGFzIGFsc28gZ2V0YXJudC4gQmluIGFiZXIgc2Nob24gdm9uIGVpbmVtIE1hZyB6dSBkaWVzZW0gVGhlbWEKZmVzdGdlYnVjaHQuLi4KCk1hY2ggZGFzIG51ciB6dXIgT3JpZW50aWVydW5nCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IEFlaC4uLiAoU2hhcmlhLCAxNi4gSnVsIDE5OTksIDA5OjEwOjE2KToKfiMhIHJuPUFyayBydD05MzIwNjI3MzEgcmc9cGFydHkKfiMhIHRpZD05MzAxMDA0NzYKQVJLID8gaGFzdCBkdSB1ZWJlcmhhdXB0IG5vY2ggSGFhcmUgPyA6LSkKClNoYXJpYSwgaGF0IGdlc2VobiB3aWUgQXJrIGJlaW0gbGV0enRlbiBTdGF0aSBhYmdlZ2FuZ2VuIGlzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWb3JzaWNodCBSYXVjaGVyIChQYW1wZXJzLCAxNi4gSnVsIDE5OTksIDExOjExOjM1KToKQW4gZGllIFJhdWNoZXIsIGRpZSBhdWYgZGVyIFBhcnR5IGVyc2NoZWluZW4gd29sbGVuOgoKRGVyIG5hZWNoc3RlIEtpcHBlbmF1dG9tYXQgaXN0IGVpbmUgaGFsYmUgV2VsdHJlaXNlIGVudGZlcm50LiBBbHNvIFZvcnJhZXRlCm1pdGJyaW5nZW4uCgpQYW1wZXJzLiBMZWlkdm9sbCBlcmZhaHJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JzaWNodCBSYXVjaGVyIChNb250YW51cywgMTYuIEp1bCAxOTk5LCAxMzoxMToxNyk6Cn4jISBybj1QYW1wZXJzIHJ0PTkzMjExNjI5NSByZz1wYXJ0eQp+IyEgdGlkPTkzMjExNjI5NQoKRGF6dSBtdXNzIG1hbiBzYWdlbjogCmhhbGJlIFdlbHRyZWlzZSBhIGxhIFBhbXBlcnMgZW50c3ByaWNodCBldHdhIDMwMCBNZXRlciBGdXNzd2VnLiBHdXQsIGVzIGlzdApGdXNzd2VnIGJlcmdhYi4gVW5kIGhpbnRlcmhlciB3aWVkZXIgcmF1ZiwgZGFzIGlzdCBuaXggZnVlciBkaWUgUmF1Y2hlcmx1bmdlLgpBYmVyIGhhbGJlIFdlbHRyZWlzZSAtIHBhaC4KCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ljaHRpZ2VyIEhpbndlaXMgZnVlciBBdXRvZmFocmVyISAoWmVwaHlyLCAxNi4gSnVsIDE5OTksIDE1OjU3OjExKToKCkhpIElocnMhCgpXaWUgaWNoIGhldXRlIG1vcmdlbiBlcmZhaHJlbiBoYWJlLCBpc3QgZGllIFN0cmVja2Ugendpc2NoZW4KV2FsZGJvZWNrZWxoZWltIHVuZCBCb2NrZW5hdSB3ZWdlbiBTdHJhc3NlbnJlbm92aWVydW5nIGdlc3BlcnJ0LgpXZXIgZGFoZXIgZGllIEJ1bmRlc3N0cmFzc2Ugdm9uIEJhZCBLcmV1em5hY2ggYXVzIGJlbnV0enQ6Ck5pY2h0IHNjaG9uIGJlaSBXYWxkYm9lY2tlbGhlaW0gUmljaHR1bmcgQm9ja2VuYXUsIHNvbmRlcm4Kd2VpdGVyIGJpcyBTdGVpbmhhcmR0LCBkb3J0IGVyc3RlIHJlY2h0cyB3aWVkZXIgUmljaHR1bmcKQm9ja2VuYXUvV2ludGVyYnVyZy4KRXJzdCBtYWwgb2huZSBHZXdhZWhyOyBpY2ggd2VyZCBtaXIgZGFzIGF1Y2ggbm9jaCBtYWwgCmdlbmF1ZXIgYW5zZWhuLi4gCgoqa251ZGRlbHMqCiAgICAgICAgICAgICAgWmVwaHlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWluIGF1ZiBkZXIgUGFydHk/IChQZmVpZmUsIDE2LiBKdWwgMTk5OSwgMTc6MDM6NTcpOgpHaWJ0IGVzIGF1ZiBkZXIgUGFydHkgYXVjaCBXZWluIHp1IHRyaW5rZW4/IFNvdmllbCBpY2ggd2Vpc3MgZ2lidCBlcyBpbQpIdXNydWVjayBkb2NoIGF1Y2ggV2VpbmJlcmdlLgoKUGZlaWZlIGhvZmZ0IGF1ZiB3YXMgbGVja2VycyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWNodGlnZXIgSGlud2VpcyBmdWVyIEF1dG9mYWhyZXIhIChEaWVkZXIsIDE2LiBKdWwgMTk5OSwgMTc6MzA6NTkpOgp+IyEgcm49WmVwaHlyIHJ0PTkzMjEzMzQzMSByZz1wYXJ0eQp+IyEgdGlkPTkzMjEzMzQzMQpJY2ggaGFldHRlIHNjaG9uIGdhbnogZ2VybmUgZWluZSBhdXNmdWVocmxpY2hlIEFuZmFocnRzYmVzY2hyZWlidW5nIGZ1ZXIKQXV0b2ZhaHJlciwgYWJlciBpY2ggbmVobWUgbWFsIGFuLCBkaWUgZm9sZ3QgbmFlY2hzdGUgV29jaGUgbm9jaC4uLiA6KQoKRGllZGVyLCBob2ZmZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpY2h0aWdlciBIaW53ZWlzIGZ1ZXIgQXV0b2ZhaHJlciEgKEphbWVzb24sIDE2LiBKdWwgMTk5OSwgMTc6MzI6NDEpOgp+IyEgcm49RGllZGVyIHJ0PTkzMjEzOTA1OSByZz1wYXJ0eQp+IyEgdGlkPTkzMjEzMzQzMQpKYSwgdW5kIHdvIG11ZXNzdGUgbWFuIGF1cyBkZW0gWnVnIGF1c3N0ZWlnZW4sIHdlbm4gbWFuIHNpY2ggYXVmIGVpbgpzb2xjaGVzIEFiZW50ZXVlciBtaXQgZGVyIEJhaG4gZWlubGFzc2VuIHdvbGx0ZT8KCmpBbWVzb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpY2h0aWdlciBIaW53ZWlzIGZ1ZXIgQXV0b2ZhaHJlciEgKERpZWRlciwgMTYuIEp1bCAxOTk5LCAxNzo1NDoxNik6Cn4jISBybj1KYW1lc29uIHJ0PTkzMjEzOTE2MSByZz1wYXJ0eQp+IyEgdGlkPTkzMjEzMzQzMQp3YWhyc2NoZWlubGljaCBpbiBNYWlueiwgdW5kIGRhbm4gVHJhbXBlbiBvZGVyIFRheGkgOi0pCgpEaWVkZXIgZGVua3QgLiBvIE8gKGFtIEEqKioqIGRlciBXZWx0Li4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ljaHRpZ2VyIEhpbndlaXMgZnVlciBBdXRvZmFocmVyISAoSmFtZXNvbiwgMTYuIEp1bCAxOTk5LCAxNzo1NTo0Mik6Cn4jISBybj1EaWVkZXIgcnQ9OTMyMTQwNDU2IHJnPXBhcnR5Cn4jISB0aWQ9OTMyMTMzNDMxCmRhcyBnaWJ0IGRhbm4gd29obCBzY2hvbiBkYXMgZXJzdGUgS2FwaXRlbCBkZXIgUkwtUXVlc3QgKmcqCgpqQW1lc29uLCBhYmVudGV1ZXJsaWNoZSBBbmZhaHJ0c3dlZ2UgYXVmIE11ZHRyZWZmZW4gZ2V3b2hudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IEFlaC4uLiAoQXJrLCAxNi4gSnVsIDE5OTksIDIwOjIzOjIwKToKfiMhIHJuPVNoYXJpYSBydD05MzIxMDkwMTYgcmc9cGFydHkKfiMhIHRpZD05MzAxMDA0NzYKS2xhLCBkYWVubiBpc2NoIGJpbiBqYSBhaW4gU2hvZW5nYWlzdCwgbmljaCB3YT8gQXVzc2VkZW0gaGFiIGljaCBtZSBIYWEnZSBhbHMKRHUgQmFodCwgamF3b2xsIDopCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG11Y2tlIChDYWlsbGVhbiwgMTYuIEp1bCAxOTk5LCAyMTowNzoxMSk6Cn4jISBybj1Hbm9tZSBydD05MzIwMzIyNjkgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKbGFzcyBkYXMgYmxvc3MgenUgaGF1c2UgIQoKYXJpYW5hIHdpciBiZWkgc293YXMgc2NobmVsbCBhZ3Jlc3NpdgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlaW4gYXVmIGRlciBQYXJ0eT8gKENhaWxsZWFuLCAxNi4gSnVsIDE5OTksIDIxOjExOjU3KToKfiMhIHJuPVBmZWlmZSBydD05MzIxMzc0Mzcgcmc9cGFydHkKfiMhIHRpZD05MzIxMzc0MzcKa2VpbmUgYW5nc3QsIGljaCB3ZXJkIGdlbnVnIHZvcmFldGUgZGFiZWkgaGFiZW4gOikKZGEgc29sbHRlIGVpbiBzY2hsdWVja2NoZW4gb2RlciBhdWNoIGVpbiBmbGFlc2NoY2hlbiBhYmZhbGxlbiA7KQoKYXJpYW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbXVja2UgKEthcnRvZmZlbCwgMTYuIEp1bCAxOTk5LCAyMTozNTo0OSk6Cn4jISBybj1Hbm9tZSBydD05MzIwMzIyNjkgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKTkVFRUVFRUVFRUVFRUVFRUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OISEhISEhISEhISEhCgpfS0VJTl8gQmVkYXJmIQoKJ1RvZmZlbCAtIGlzdCBlbnRzZXR6dCB1ZWJlciBpaHJlIEJydXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBub2NobWFscy4uLiAoS2FydG9mZmVsLCAxNi4gSnVsIDE5OTksIDIxOjM3OjExKToKfiMhIHJuPUdub21lIHJ0PTkzMjA0MTI4MCByZz1wYXJ0eQp+IyEgdGlkPTkzMjA0MTI4MAoKTmEgcmF0ZSBtYWwgd2VyIE5EVyBtaXRicmluZ3QgOikpCgonVG9mZmVsIC0gc2luZ3Q6IElyZ2VuZHdpZSwgaXJnZW5kd28sIGlyZ2VuZHdhbm4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpZXIgKEthcnRvZmZlbCwgMTYuIEp1bCAxOTk5LCAyMzozMDoxNik6CgpHaWJiZXQgYXVjaCBCaWVyPyBJY2ggbWVpbiByaWNodGlnZXM/IEFsdCBlYmVuPwoKJ1RvZmZlbCAtaG9mZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWVyIChEaWVkZXIsIDE2LiBKdWwgMTk5OSwgMjM6MzE6NTIpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTkzMjE2MDYxNiByZz1wYXJ0eQp+IyEgdGlkPTkzMjE2MDYxNgpBbHQ/IFJpY2h0aWdlcz8gYWVoIGlyZ2VuZHdpZSBwYXNzdCBkYXMgbmljaHQuLi4gOy0pCgpEaWVkZXIsIHdlZGVsdCBtaXQgZWluZW0gIkhlZmV3ZWl6ZW4gcnVsZXoiLUZhZWhuY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWVyIChLYXJ0b2ZmZWwsIDE2LiBKdWwgMTk5OSwgMjM6MzM6MDQpOgp+IyEgcm49RGllZGVyIHJ0PTkzMjE2MDcxMiByZz1wYXJ0eQp+IyEgdGlkPTkzMjE2MDYxNgoKSG1tcGYsIHp1ciBOb3QgYXVjaCBkYXMsIGFiZXIgZHVua2xlcyA7KSkKCidUb2ZmZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG11Y2tlIChIaWdobGFuZGVyLCAxNi4gSnVsIDE5OTksIDIzOjQ3OjMxKToKfiMhIHJuPUFuYXRvbCBydD05MzIxMjc5NzYgcmc9cGFydHkKfiMhIHRpZD05MzIwMzIyNjkKTnVyIHdlbm4gbWFuIHp1dmllbCBQcmF0Y2hldHQgbGllc3QuCgogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpbiBhdWYgZGVyIFBhcnR5PyAoUGZlaWZlLCAxNy4gSnVsIDE5OTksIDExOjAzOjI2KToKfiMhIHJuPUNhaWxsZWFuIHJ0PTkzMjE1MjMxNyByZz1wYXJ0eQp+IyEgdGlkPTkzMjEzNzQzNwpTZWxic3QgbWl0YnJpbmdlbiBrYW5uIGljaCBhdWNoIChoYWIgaWNoIHNvd2llIHNvIGF1Y2ggdm9yKSwgZnVlciBkaWUgUGFydHkKc2VoIGljaCBkYXMgbnVyIG5pY2h0IHNvIGdhbnogZWluLiBTY2hsaWVzc2xpY2ggemFobCBpY2ggZGEgamEgbmljaHQgdW5iZWRpbmd0CmRlbiBCZWl0cmFnIHVtIG1pY2ggZGFubiBzZWxic3QgenUgdmVycGZsZWdlbiA6LSkKClBmZWlmZSBtYWcgbnVubWFsIGtlaW4gQmllcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbXVja2UgKEdyaW1tYm9ybiwgMTcuIEp1bCAxOTk5LCAxNTowMzozNik6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTkzMjE2MTY1MSByZz1wYXJ0eQp+IyEgdGlkPTkzMjAzMjI2OQpadXZpZWwgUHJhdGNoZXR0IGxlc2VuPyBXaWUgYml0dGUgc29sbCBkZW5uIGRhcyBnZWhlbj8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VsZCBoZXIhIDotKSAoR3JpbW1hbiwgMTcuIEp1bCAxOTk5LCAyMzowOTowOSk6Cn4jISBybj1Nb250YW51cyBydD05MzIwMjI3MTAgcmc9cGFydHkKfiMhIHRpZD05MzE5NDc1MjEKdm9uIHphaGxlbiB3b2xsZW4ga2FubiBrZWluZSBSZWRlIHNlaW4sIGtvZW5uZW4gaXN0IGRhcyBQcm9ibGVtCgpNQklNRyAsIEdyaW1NYW4gLCBpc3QgZnJvaCwgZGFzIGVyIGRhcyBHZWxkIGJpcyB6dW0gV29jaGVuZW5kZSB6dXNhbW1lbmtyaWVndAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtdWNrZSAoR3JpbW1hbiwgMTcuIEp1bCAxOTk5LCAyMzoxMTozNSk6Cn4jISBybj1MdWcgcnQ9OTMyMDM3MTExIHJnPXBhcnR5Cn4jISB0aWQ9OTMyMDMyMjY5CkljaCBzdGV1ZXIgbm9jaCBTa2F0ZVB1bmssIFNrYSwgdW5kIGF1c2dlc3VjaHRlIENyb3Nzb3ZlciBTYWNoZW4gYmVpIDspCkJyaW5nZSBzaWUgYXVjaCBtaXQgdW5kIGthbm4gYXVjaCBtaXQgbmVtIFBhcnR5LUVxdWlwbWVudCB1bWdlaGVuIC4uLgoKTUJJTUcgLCBHcmltTWFuICwgZnVlciBBYndlY2hzbHVuZyBzb3JnZW5kIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG5vY2htYWxzLi4uIChHcmltbWFuLCAxNy4gSnVsIDE5OTksIDIzOjE2OjQwKToKfiMhIHJuPUx1ZyBydD05MzIwNjE0OTMgcmc9cGFydHkKfiMhIHRpZD05MzIwNDEyODAKSmFhYWEhISEgRGFtaXQgcmVjaG5lIGljaCwgTHVnISEhCgpNQklNRyAsIEdyaW1NYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJ0eXNlbWluYXIgKFBvc3RpdCwgMTguIEp1bCAxOTk5LCAwNDowMzo0OSk6Cn4jISBybj1Ib29kIHJ0PTkzMjA3MDY0MCByZz1wYXJ0eQp+IyEgdGlkPTkzMjA3MDY0MApMdWdzIHZvcnRyYWcgYml0dGUgYXVmIFZpZGVvIGF1Zm5laG1lbiA6KQpXb2JlaSwgd2VubiBkZXIgYW5mYWVuZ3QgenUgcmVkZW4gZGF1ZXJ0cyBTdHVuZGVuIDopCgpLbGViZXpldHRlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0eXNlbWluYXIgKEdyaW1tYm9ybiwgMTguIEp1bCAxOTk5LCAyMzozNjoxMik6Cn4jISBybj1Qb3N0aXQgcnQ9OTMyMjYzNDI5IHJnPXBhcnR5Cn4jISB0aWQ9OTMyMDcwNjQwClZpZGVvPyBJY2ggd2lsbCBlaW4gbXBlZyBoYWJlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0eXNlbWluYXIgKEx1ZywgMTkuIEp1bCAxOTk5LCAwMjoxMzo1Nik6Cn4jISBybj1Qb3N0aXQgcnQ9OTMyMjYzNDI5IHJnPXBhcnR5Cn4jISB0aWQ9OTMyMDcwNjQwCkFVRiBWSURFTz8KCkhhdHMgRGljaCBqZXR6dCBpcmdlbmR3aWUgbWl0IGRlbSBLb3BmIGdlZ2VuIGRpZSBUaXNjaHBsYXR0ZSBnZWhzY2hsYWdlbj8KTmFqYSAtaApQZmZmdC4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXRUdiZXNjaHJlaWJ1bmcgKE1vbnRhbnVzLCAxOS4gSnVsIDE5OTksIDEyOjA1OjM0KToKCldlciB6dXIgUGFydHkga29tbWVuIHdpbGwsIHNjaGF1ZSBzaWNoIGFtIGJlc3RlbiBtYWwgYXVmIGRlciBQYXJ0eXNlaXRlIHVtLgpEb3J0IGhhdCBIYXRlIG5hZW1saWNoIGRhbmtlbnN3ZXJ0ZXJ3ZWlzZSBlaW5lbiBBbmZhaHJ0c3BsYW4gaGluZ2VwYWNrdC4KVW5kIHp3YXIgdW50ZXIgCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTIvU0xILmpwZwoKRGFzIGdhbnplIG5vY2htYWwgYXVzZm9ybXVsaWVydDoKQTYxIEFiZmFocnQgV2FsZGxhdWJlcnNoZWltIGFiZmFocmVuLiBMaW5rcyBhYiB1bmQgZGFubiBmYXN0IGdsZWljaCB3aWVkZXIKcmVjaHRzIG5hY2ggU0NIV0VQUEVOSEFVU0VOLiBEYSBkdXJjaCwgZGFubiBkdXJjaCBTQ0hPRU5FQkVSRyB1bmQgU1BBQlJVRUNLRU4uCldlbm4gaWhyIGVzIHNvd2VpdCBnZXNjaGFmZnQgaGFidCwga29tbXQgaWhyIGFuIGVpbmUgS3JldXp1bmcuIEdlcmFkZWF1cyBnZWh0CmVzIG5hY2ggTVVFTkNIV0FMRCByZWluLCByZWNodHMgYWIgaW4gUmljaHR1bmcgR2VtdWVuZGVuLgpXZW5uIGlociBnZXJhZGVhdXMgZmFocnQsIGtvbW10IGlociB1ZWJlciBNVUVOQ0hXQUxEIHVuZCBTUEFMTCBuYWNoIEdFQlJPVEguCkljaCBlbXBmZWhsZSBhbGxlcmRpbmcsIHJlY2h0cyBkaWUgT3J0c3VtZmFocnVuZyB6dSBuZWhtZW4sIGRpZSBTdHJhZSBtYWNodAplaW5lbiBCb2dlbiB1bSBkYXMgS2FmZi4gTnVyIGR1ZXJmdCBpaHIgZGFubiBpcmdlbmR3YW5uIGJlc3NlciBuaWNodCBkZW4KQWJ6d2VpZ2VyIG5hY2ggR0VCUk9USCB2ZXJwYXNzZW4uCkpldHp0IHNpbmQgd2lyIGphIGFsbGUgd2llZGVyIHp1c2FtbWVuIGluIEdFQlJPVEgsIHVuZCB2b24gZG9ydCBhdXMgZmFocnQgaWhyCmluIFJpY2h0dW5nIFdJTlRFUkJBQ0guIERpcmVrdCBhbSBPcnRzZWluZ2FuZyBpc3QgcmVjaHRzIGRlciBGcmllZGhvZiwgdW5kCmxpbmtzIGdlaHQgZGllIEVpbmZhaHJ0IHp1bSBTY2h1bGxhbmRoZWltIHJlaW4uCkRhIGZhaHJ0IGlociBzb2xhbmdlLCBiaXMgaWhyIHVlYmVyIGRpZSBhdXNnZXNjaGlsZGVydGUgUGFyay0gdW5kIFplbHR3aWVzZQpzdG9scGVydC4gR2FueiBlaW5mYWNoLiA6LSkKCgpXZXIgYXVzIFZlcnNlaGVuIHZvbiBCYWQgS3JldXpuYWNoIGF1cyBrb21tdDogCndpZSBaZXBoeXIgc2Nob24gc2NocmllYiwgaXN0IGRpZSBTdHJhZSB6d2lzY2hlbiBXYWxkYm9lY2tlbGhlaW0gdW5kCldpbnRlcmJ1cmcgZXJzdG1hbCBmdWVyIGVpbiBoYWxiZXMgSmFociBnZXNwZXJydC4gRGEgbXVlc3N0ZXQgaWhyIGRhbm4gYmlzCmt1cnogdm9yIEJhZCBTb2Jlcm5oZWltIChTdGVpbmhhcmR0KSBhdWYgZGVyIEI0MSBibGVpYmVuIHVuZCBkYW5uIHVlYmVyCkJvY2tlbmF1IHVuZCBXaW50ZXJidXJnIGFucmVpc2VuLgoKV2VyIG1pdCBkZXIgQmFobiBrb21tdDoKQmFkIEtyZXV6bmFjaCBIYXVwdGJhaG5ob2YgaXN0IGRpZSBiZXN0ZSBMb2VzdW5nLiBWb24gZG9ydCBhdXMgZmFlaHJ0IGRlcgpPUk4tQnVzIChMaW5pZSA2NDg1KSBzb2dhciBtZWhybWFscyBhbSBUYWcgbmFjaCBXaW50ZXJidXJnLiBXZW5uIGlociBkZW0KRmFocmVyIHNhZ3QsIHdvIGlociBoaW53b2xsdCwgc2FndCBkZXIgZXVjaCBhdWNoLCB3byBpaHIgYW0gYmVzdGVuIGF1c3N0ZWlndC4KRGllIGdlbmF1ZW4gQnVzYWJmYWhydHN6ZWl0ZW4gbXVzcyBpY2ggbm9jaCBuYWNoc2NoYXVlbiwgaWhyIGZpbmRldCBzaWUKYWxsZXJkaW5ncyBzaWNoZXJsaWNoIGF1Y2ggaW0gSW50ZXJuZXQuCktvbW10IGplbWFuZCBtaXQgZGVtIEZhaHJyYWQ/IEVzIGdpYnQgdm9uIEJhZCBLcmV1em5hY2ggYXVzIGVpbmVuIHNlaHIKc2Nob2VuZW4gUmFkd2VnLCBldHdhIDIzIGttIG9obmUgZ3Jvc3NlIFN0ZWlndW5lbi4gSGFsdCBudXIgaGl0bmVyaGVyIGRlcgpCdXJnYmVyZy4gQmVpIEludGVyZXNzZSBtaXIgbWFpbGVuLCBpY2ggcG9zdGUgZGFzIGRhbm4gYXVjaC4KCkt1cnplciBOYWNodHJhZzogZGllIE9STi1CdXNzZSBrYW5uIG1hbiBnYW56IG5vcm1hbCBhdWNoIHVlYmVyIGRpZQpGYWhycGxhbmVybWl0dGx1bmcgZGVyIERCIGhlcmF1c2ZpbmRlbi4gTWFuIG11c3MgaGFsdCBhbHMgWmllbGhhbHRlc3RlbGxlCldpbnRlcmJ1cmcgT3J0bWl0dGUgb2RlciBXaW50ZXJidXJnIEFiendlaWd1bmcgQUxsZW5mZWxkIGVpbmdlYmVuLiA6LSkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpbiBhdWYgZGVyIFBhcnR5PyAoQ2Fzc2FuZHJhLCAxOS4gSnVsIDE5OTksIDEyOjQ0OjM1KToKfiMhIHJuPVBmZWlmZSBydD05MzIyMDIyMDYgcmc9cGFydHkKfiMhIHRpZD05MzIxMzc0MzcKRGEgc3RpbW0gaWNoIHZvbGxrb21tZW4genUuIFdlaW4gaXN0IHdlc2VudGxpY2ggYmVzc2VyIGFscyBOaWVyIHVuZCB2b3JhbGxlbgpzY2htZWNrdHMKQ2Fzc3ksIGZ1ZXIgdHJvY2tlbmVuIHBsYWVkaWVyZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdXBkYXRlIChNb250YW51cywgMTkuIEp1bCAxOTk5LCAxMzozMjo1OSk6CgpkYSBpc3Qgdm9yaGluIGlyZ2VuZGVpbiB6ZWlsZW51bWJydWNoIGthcHV0dGdlZ2FuZ2VuLgpkZXN3ZWdlbiBub2NobWFsPgp3ZXIgc2ljaCB2b24gZGVyIGZhaHJwbGFibmF1c2t1bmZ0IGRlbiB3ZWcgcmF1c3N1Y2hlbiBsYWVzc3QsIHNvbGx0ZSBhbHMKemllbGhhbHRlc3RlbGxlIFdJTlRFUkJBQ0ggS1JFVVpVTkcgYW5nZWJlbi4KRGVyIEJ1c2ZhaHJlciB3aXJkIGV1Y2ggc2Nob25zYWdlbiwgd2FubiBpaHIgcmF1c211ZXNzdC4KCm1hbiBzaWVodCBzaWNoCgovTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpY2h0LWF1cy1QYXJ0eSBpbSBTdWVkZW4/IChBbmF0b2wsIDE5LiBKdWwgMTk5OSwgMTY6MzA6MjkpOgpQbGFuZW4gdW5zZXJlIFN1ZWRzdGFhdGxlciBmdWVyIGRlbiAxMS4wOC4gZWluZSBMaWNodC1hdXMtUGFydHkgaW0Kd2lsZGVuIFN1ZWRlbj8gV2FlciBkb2NoIHdhcyEKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhZGVrbGVpZHVuZy4uLiAoTW9udGFudXMsIDIwLiBKdWwgMTk5OSwgMjI6NTA6MjQpOgoKLi4uIHZpZWxrbGVpY2h0IHNvbGx0ZSBpY2ggbm9jaCBlaW5lIFZvcndhcm51bmcgbG9zbGFzc2VuLiA6LSkKQWxzbzogZGVyIFdlZyBuYWNoIEZlcm53ZXN0IHp1bSBkb3J0aWdlbiBSZXN0YXVyYW50IGZ1ZWhydCwgd2llIGljaCBzY2hvbgpzY2hyaWViLCBsZWlkZXIgbnVyIHVlYmVyIGRlbiBCYXJmdXNzcGZhZCwgdW5kIGRhYmVpIGlzdCBhdWNoIGRhcyBrbGVpbmUKc3Vlc2UsIGdhYWFhYXIgbmljaHQgcmVpc3NlbmRlIEZsdWVzc2NoZW4gIk5haGUiIHp1IGR1cmNocXVlcmVuLgpOdW4gZ3V0LCBhbiBlaW5lciBGdXJ0LiBBYmVyIHRyb3R6ZGVtOiBzZWlkIGdld2FybnQuIDotKQoKLU1vbnRhbnVzLiBGb2x0ZXJrbmNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBhcnR5LVVwZGF0ZSAoTW9udGFudXMsIDIxLiBKdWwgMTk5OSwgMTE6MjM6MTkpOgpQYXJ0eWxpc3RlIFVwZGF0ZToKRm9sZ2VuZGUgTGV1dGUgaGFiZW4gYmV6YWhsdCB1bmQgZGFtaXQgaWhyIEJldHRjaGVuL1plbHQgc2ljaGVyOgoKS2FydG9mZmVsIChaZWx0KQpHcmFjZQpJdm8KU2hhbmcKdHJpbWJsZQpHbm9tZSAoWmVsdCkKYWlzY2hhCm5ldmFkYQpQYWRyZWljClBmZWlmZQpQdWsKU2hhZGUKU3VuZGFuY2UKdmFtcHkKKEguIFdpZWxhbmQpCkFya2FuYSAoWmVsdCkKT3JrdG9ldGVyIChaZWx0KQpSb25kYQpUYW5nYWx1cgpCZW9ybgpEZWwKTWFuZ28KU3BpcmlsbAooWS4gV2Vpbm1hbm4pCkJpcmR5IChaZWx0KQpBbmF0b2wKQVJLCkNpc291CkJvaW5nCkhvYm8KKEEuIEdyb3NzZSkKKFMuIFBhbmtyYXosIHdhaHJzY2hlaW5saWNoICoyKSkKKE4uIE5ldWt0dGVyKQpTdGluZwpSYXNwdXRpbgpMYXJpc3NhCkdpbGdhbWVzY2gKSm9mCktpbnRhcmEKTGVuYQpNYXRpcwpTd2lmdApXaW0KQmxlZWx1bXBlCkdvbGFzCkdvcm9nCkxlaWEKTGlhcmEKcmlrdXMgKFplbHQpCkFyaWFuYQpEaXJpb24KUGFyYWNlbHN1cwpUcnlmYW4KWmVwaHlyClpvb2sKQmFyZApHdWFyZCAoWmVsdCkKQWtqYXJhCkFyYW5jaWEKQ2Fzc2FuZHJhCmphbWVzb24KTHVyY2hpCk11YWRpYgpPbWVnYQpHcmltbWFuCk1jY2F1bHMKTVRWClNob3JrYW4KTWVuYWNlClNlaSAgICAgICApClNreQkJCQkJCSkgbm9jaCBuaWNodCBkYXMgZ2FuemUgR2VsZCBiZXJ3aWVzZW4uLi4KVmVjdG9yICkgKGFsbGUgWmVsdCkKCgpFcyB3YWVyZSBuZXR0LCB3ZW5uIHNpY2ggZGllamVuaWdlbiwgZGllIG9iZW4gbWl0IGlocmVtIFJMLU5hbWVuIGF1ZmdlZnVlaHJ0CnNpbmQsIHNpY2ggbm9jaG1hbCBrdXJ6IGJlaSBtaXIgbWVsZGVuIHd1ZXJkZW4sIGRhbWl0IGljaCB3ZWlzcywgd2VsY2hlbQpNdWRuYW1lIGljaCBkYXMgR2VsZCB6dW9yZG5lbiBzb2xsLiBJY2gga2FubiB6d2FyIHZpZWxlcywgYWJlciBuaWNodApoZWxsc2VoZW4uIDotKQoKVm9uIGFsbGVuIGFuZGVyZW4gaXN0IG1pdCBTYWxkbyAyMS43Ljk5IG5vY2gga2VpbiBHZWxkIGF1ZiBkZW0gS29udG8uIEpldHp0Cm5vY2ggenUgdWViZXJ3ZWlzZW4gbG9obnQgbmljaHQgbWVoci4gSWNoIGhvbGUgYW0gRnJlaXRhZ21vcmdlbiBub2NoIGVpbm1hbApBdXN6dWVnZS4gV2FzIGJpcyBkYW5uIG5pY2h0IGRhIGlzdCwgd2lyZCBhbiBkZXIgQWJlbmRrYXNzZSBpbmNsLiBadXNjaGxhZwpiZXphaGx0LgoKV2VubiBpY2ggcmljaHRpZyBnZXphZWhsdCBoYWJlLCBkYW5uIHNpbmQga25hcHAgNjAgZGVyIEJldHRlbiBiZWxlZ3QgYmlzaGVyLgpEYSBqYSBtYWwgd2llZGVyIHVuYmVrYW5udGUgTmFtZW4gaW4gZGVyIExpc3RlIGF1ZnRhdWNoZW4sIGRpZSBuaWNodCBleGFrdAppZGVudGlmaXppZXJiYXIgc2luZCwgaXN0IGRhcyB3aWUgaW1tZXIgbmljaHQgZ2VuYXUgenUgc2FnZW4uIEFsc28gc2luZCBub2NoCmV0d2EgMTUgQmV0dGVuIHp1IGhhYmVuLgpEYXZvbiBpc3QgZXJzdG1hbCBub2NoIGZ1ZXIgZm9sZ2VuZGUgTGV1dGUgcmVzZXJ2aWVydDoKRGFya3dpbmcsIFRhbmlzLCBBbG1kdWRsZXIsIEFuYWNyaW9uLCBCZWVsemVidWIsIEJsdWVtZWwsIERpbGFyYSwgTXV0YW50dXMsClJvYWRydW5uZXIsIFJvY2h1cywgU3RlbHouClZvbiBkaWVzZW4gMTEgaGFldHRlIGljaCBnZXJuZSBub2NoIGVpbmUgUnVlY2ttZWxkdW5nLCBvYiBHZWxkIHVudGVyd2VncyBpc3QsCm9iIHNpZSB6dSBkZW5lbiBnZWhvZXJlbiwgZGVyZW4gR2VsZCBuaWNodCBpZGVudGlmaXppZXJiYXIgaXN0LCBvZGVyIG9iCkFiZW5ka2FzZSBnZXphaGx0IHdpcmQuClVuZCBkaWUgcmVzdGxpY2hlbiBCZXR0ZW4gd2VyZGVuIGltIGZpcnN0IGNvbWUgZmlyc3Qgc2VydmUtUHJpbnppcCB2ZXJnZWJlbi4KCkJpcyB6dXIgUGFydHkgdW5kIGZyb2VobGljaGUgQW5yZWlzZSwKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpY2h0LWF1cy1QYXJ0eSBpbSBTdWVkZW4/IChTb25nb2t1LCAyMS4gSnVsIDE5OTksIDE1OjE0OjM1KToKfiMhIHJuPUFuYXRvbCBydD05MzIzOTQ2Mjkgcmc9cGFydHkKfiMhIHRpZD05MzIzOTQ2MjkKa29tbXQgYmxvcyBuaWNodCBuYWNoIG11ZW5jaGVuLgpkaWUgd29sbGVuIHdhZXJlbmQgZGVyIHNvbm5lbmZpbnN0ZXJuaXNzIGRpZSBzdHJhc3NlbmxhbXBlbiBhbm1hY2hlbiAoaGFiZW4KZWluIHBhYXIgdmVyc2ljaGVydW5nZW4gZ2Vmb3JkZXJ0KQoKU29uZ29rdSAoZ2VuZXJ2dCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGljaHQtYXVzLVBhcnR5IGltIFN1ZWRlbj8gKE1haGF0bXUsIDIxLiBKdWwgMTk5OSwgMTU6MTY6MzUpOgp+IyEgcm49U29uZ29rdSBydD05MzI1NjI4NzUgcmc9cGFydHkKfiMhIHRpZD05MzIzOTQ2MjkKQW5tYWNoZW4/IEljaCBlcmlubmVyZSBtaWNoLCBkYXNzIGRpZSAobm9ybWFsZXJ3ZWlzZSkgZWluZW4gRGFlbW1lcnVuZ3MtCnNjaGFsdGVyIGhhYmVuLiBFcmdvIGdlaGVuIHNpZSB2b24gYWxsZWluIGFuLgoKTWFoYXRtdQoKUFM6IEphamEsIGRpZSBCYXllcm4gZ2VoZW4gbm9jaCBtaXQgZWluZXIgRnVuemVsIHZvbiBHYXNsYXRlcm5lIHp1CiAgICBHYXNsYXRlcm5lLCBkYXMgaGFiIGljaCB2ZXJnZXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaWNodC1hdXMtUGFydHkgaW0gU3VlZGVuPyAoU29uZ29rdSwgMjEuIEp1bCAxOTk5LCAxNToyNTo0OCk6Cn4jISBybj1NYWhhdG11IHJ0PTkzMjU2Mjk5NSByZz1wYXJ0eQp+IyEgdGlkPTkzMjM5NDYyOQpzb28gYWx0bW9kaXNjaCBzaW5kIHNlIG5pY2h0IChhYmVyIGt1cnogZGF2b3IvYnp3IGRhbmFjaCkKU2F5b3VuYXJhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJlaXRhZyBhYmVuZD8gV2FzIG11c3MgbWFuIGFsbGVzIG1pdGJyaW5nZW4/IChSb25kYSwgMjEuIEp1bCAxOTk5LCAyMToxMTowNSk6CkhpLAppY2ggZnJldScgbWljaCBzY2hvbiByaWVzaWcgYXVmIGRpZSBQYXJ0eSAtIGFiZXIgaXJnZW5kd2llIGhhYiBpY2ggd2FzIG5pY2h0Cm1pdGJla29tbWVuOgoKLSB3YXMgZmluZGV0IG51biB3byBGcmVpdGFnIHN0YXR0PyBBYiB6dXIgIkJ1cmciPyBNdXNzIGljaCBtaXIgZWlnZW5lIFNvcmdlbgp1bSBtZWluZW4gSHVuZ2VyIG1hY2hlbiAoc3ByaWNoIHdhcyBtaXRicmluZ2VuL2Jlc29yZ2VuKSBvZGVyIGdhYnMgZGEgZWluZQpMb2VzdW5nPyAoS25laXBlPykKLSBpY2ggZ2VoZSBtYWwgZGF2b24gYXVzLCBkYXNzIGljaCBmdWVyIFNhbXN0YWcgenVtIEdyaWxsZW4gbml4IHdlaXRlcgptaXRicmluZ2VuIG11c3MsIGZhbGxzIGljaCBuaWNodCBnYW56IGV4b3Rpc2NoZSBXdWVuc2NoZSB3aWUgdmVyZ2V0YXJpc2NoZQpTZWluYmVpc3NlcnNwaWVzc2NoZW4gaGFiZSwgZ2VsbD8KaXJnZW5kd28gc3RhbmQgd2FzIGRhdm9uOiAtIHVlYmxpY2hlIEp1Z2VuZGhlcmJlcmdzcmVnZWw6IGVudHdlZGVyIEJldHR6ZXVnCm9kZXIgREpILVNjaGxhZnR1ZXRlIG1pdGJyaW5nZW4/IChOb3JtYWxlIFNjaGxhZnNhZWNrZSBzaW5kIG9rPz8/KQoKRGFzIHdhcnMgZGVubiBhdWNoIHNjaG9uIDspIEljaCBob2ZmZSwgZXMgZ2lidCB3aXNzZW5kZXJlIGFscyBtaWNoIDspCgpUU2NodWVzcyBiaXMgenVyIFBhcnR5LAoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmVpdGFnIGFiZW5kPyBXYXMgbXVzcyBtYW4gYWxsZXMgbWl0YnJpbmdlbj8gKE1vbnRhbnVzLCAyMS4gSnVsIDE5OTksIDIxOjMzOjM5KToKfiMhIHJuPVJvbmRhIHJ0PTkzMjU4NDI2NSByZz1wYXJ0eQp+IyEgdGlkPTkzMjU4NDI2NQoKQWFhYWFsc286CmRhIGVzIGhpZXIgaW4gZGVyIGdlZ2VuZCBlaW5mYWNoIGtlaW5lIEtuZWlwZSBnaWJ0LCBpbiBkaWUgNTAgb2RlciBtZWhyIE11ZGRlcgpoaW5laW5wYXNzZW4sIHdlcmRlbiBtZWluIEtvbGxlZ2UgdW5kIGljaCBkaWUgQnVyZyBpbiBlaW5lbiBCaWVyZ2FydGVuCnZlcndhbmRlbG4uIERhIHdpcmRzIGRhbm4gd29obCBhdWNoIHdhcyB6dSBlc3NlbiBnZWJlbiwgYWxsZXJkaW5ncyBudXIgImtsZWluZQpLYXJ0ZSIuCldpciBzaW5kIGphIGZsZXhpYmVsLCBtYWwgc2VoZW4uIDstKQpXZXIgcmllc2lnZW4gSHVuZ2VyIGhhdCwgZGVtIHdpcmQgZGVyICJTcGFsbGVyIEhvZiIgZW1wZm9obGVuLCAyIE9ydGUgd2VpdGVyIC0KZGFzIHNpbmQgU2Nobml0emVsIGluIFVlYmVydWViZXJncm9lc3NlLiBVbmQgaW4gQWxsZW5mZWxkIGdpYnRzIG5lIFBpenplcmlhLgoKRnVlciBTYW1zdGFnIGFiZW5kIGlzdCBHcmlsbHpldWcgaW4gcmF1aGVuIE1lbmdlbiB2b3JoYW5kZW4uIEZ1ZXIgZGllIGRyZWkKYW5nZW1lbGRldGVuIFZlZ2V0YXJpZXIgd2VyZGUgaWNoIHdhcyBmZWluZXMgemF1YmVybi4KClVuZCB6dW0gVWViZXJuYWNodGVuOgoqIGVudHdlZGVyIGdhbnogbm9ybWFsIEJldHR6ZXVnLgoqIG9kZXIgREpILVNjaGxhZnNhY2suCiogb2RlciBub3JtYWxlbiBTY2hsYWZzYWNrIF9wbHVzXyBMZWludHVjaCBmdWVyIGRydW50ZXIKCkFsbGUgS2xhcmhlaXRlbiBiZXNlaXRpZ3Q/CgpEYW5uIGhhYiBpY2ggbm9jaCBGcmFnZW46CmJyaW5ndCBqZW1hbmQgc28gU2FjaGVuIHdpZSBGdXNzYmFsbCwgYmFza2V0YmFsbCwgRnJpc2JlZSBtaXQ/CgpCaXMgenVtIFdvY2hlbmVuZGUhCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbWluYXIgKEhvb2QsIDIxLiBKdWwgMTk5OSwgMjM6MDU6NTcpOgpIaSBMZXV0ZSwKCldpciBoYWJlbiBqZXR6dCBlaW4gbmV0dGVzIFNlbWluYXItUHJvZ3JhbW0uLi5hbHNvIHdpZSBnZWhhYnQ6CkVzIGdlaHQgc2VpY2h0IGxvcywgd2lyZCBkYW5uIGltbWVyIHNjaHdlcmVyIHVuZCB6dW0gU2NobHVzcyBrb21tdCBMdWc6CjEpIEFuYWNyaW9uLCBHcnVuZGxhZ2VuIGRlciBQcm9ncmFtbWllcnVuZyB2b24gUmFldW1lbiwKICAgICAgICAgICAgIChGdW5rdGlvbnMtKVByb3BlcnRpZXMKMikgV2ltLCBOUEMtUHJvZ3JhbW1pZXJ1bmcsIEdydW5kbGFnZW4sIEtvbnplcHRlCgpXZW0gZGllIGJlaWRlbiBTYWNoZW4genUgbGVpY2h0IGVyc2NoZWluZW4sIGRlciBrYW5uIGF1Y2ggamV0enQgZWluc3RlaWdlbiwKd2VtIGVzIHp1IHNjaHdlciB3aXJkLCBkZXIga2FubiAyIFZvcnRyYWVnZSBhdXNzdGVpZ2VuLi4uCgozKSBNZWluZSBXZW5pZ2tlaXQgbWl0IGRlbiBHcnVuZGxhZ2VuIGRlciBHaWxkZW5wcm9ncmFtbWllcnVuZywgZGEgbXVzcyBpY2gKICAgd29obCBhdWNoIGt1cnogZGFzIFNraWxsc3lzdGVtIGFuc3ByZWNoZW4sIGFiZXIgYWxsZXMgbWVociBrb256ZXB0aW9uZWxsCjQpIFBhZHJlaWMgd2lyZCBpY2ggbWFsIGRlbiBWaXJ0dWFsIENvbXBpbGVyIG5hZWhlcmJyaW5nZW4sIGRpZSBtZWlzdGVuCiAgIExldXRlIGhhYmVuIGphIHdvaGwgbnVyIG5lIGdld2FndGUgSHlwb3RoZXNlIHp1IGRlbSBUZWlsIHVuZCBwaW5zZWxuCiAgIGluIHNjaG9lbmVyIFJlZ2VsbWFlc3NpZ2tlaXQgZGllIFd1ZXN0ZSBhYgo1KSBMdWcgbWl0IHNlaW5lciBpbnRlcmVzc2FudGVuIEVyemFlaGx1bmcgdWViZXIgZGllIG5vcmRpc2NoZSBTYWdlbndlbHQKCkljaCBob2ZmZSBhdWYgemFobHJlaWNoZXMgRXJzY2hlaW5lbiBhbSBTYW1zdGFnLCBpY2ggc2NoYWV0eiBtYWwKYW0gTmFjaG1pdHRhZyBpcmdlbmR3YW5uLiBHZW5hdWVyZXMgYW0gUGFydHl0cmVmZi4uLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmVpdGFnIGFiZW5kPyBXYXMgbXVzcyBtYW4gYWxsZXMgbWl0YnJpbmdlbj8gKEdvbGFzLCAyMi4gSnVsIDE5OTksIDAwOjUxOjUwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMjU4NTYxOSByZz1wYXJ0eQp+IyEgdGlkPTkzMjU4NDI2NQppY2ggcGFjayBuZW4gYmVhY2h2b2xsZXliYWxsIGVpbi4KZ29sYXMgbmFjaCBlaW5lbSBqYWhyIHBhdXNlIG1hbCB3aWVkZXIgZXR3YXMgc3BvcnRsaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdiZXNjaHJlaWJ1bmcgbGV0enRlciBIaW53ZWlzOiAoTW9udGFudXMsIDIzLiBKdWwgMTk5OSwgMDk6MDQ6NDIpOgoKSWNoIGhhYiB2b24gZGVyIFZvcmh1dCBpbnp3aXNjaGVuIGdlaG9lcnQsIGRhc3MgZXMgenVtaW5kZXN0IGJlaSBEdW5rZWxoZWl0CmV0d2FzIHNjaHdpZXJpZ2VyIGlzdCwgZGllIHJpY2h0aWdlIEVpbmZhaHJ0IHp1IGZpbmRlbi4KQWxzbyBub2NoIGVpbiBUaXA6IHdlbm4gaWhyIEV1Y2ggZGVtIE9ydHNlaW5nYW5nc3NjaGlsZCB2b24gV2ludGVyYmFjaApuYWVoZXJ0LCBlaW5mYWNoIG1hbCBkZW4gRnVzcyB2b20gR2FzLgpBbSBadWZhaHJ0c3dlZyBoYWVuZ3QgZGFubiBhdWNoIG5vY2ggZWluIG5ldHRlcyBTY2hpbGQsIGRhc3MgZGEga2VpbmUgTGFzdGVyCnJlaW5kdWVyZmVuLCB1bmQgKGhhbHQgZXR3YXMga2xlaW4pIGF1Y2ggZGFzIFNjaGlsZCAiU2NodWxsYW5kaGVpbSIuCldlbm4gaWNoIGhldXRlIG5vY2ggaXJnZW5kd28gTHVmdGJhYWxvbnMgYXVmdHJlaWVibiBrYW5uLCBoYWVuZ2UgaWNoIHdlbGNoZQp6dXIgT3JpZW50aWVydW5nIGhpbi4KCkFjaGphLCBVcGRhdGU6CmFud2VzZW5kIHNpbmQgc2Nob246ClJvY2h1cywgUGZlaWZlLCBHb3JvZywgT3JrdG9ldGVyLCBBcmthbmEsIEFyaWFuYSB1bmQgV2ltLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMjAwMCAtLSBXbz8gKEhhdGUsIDIzLiBKdWwgMTk5OSwgMTE6MDY6MzUpOgoKSGksCgppY2ggYmluIGhhbHQgaW1tZXIgbm9jaCBhbSB1ZWJlcmxlZ2VuLCB3byBpY2ggZGllIFNvbW1lcnBhcnR5IDJrCnBsYW5lLiBXaWUgc3RlaHQgaWhyIGRlbm4genUgZGVyIElkZWUgZWluIHp3ZWl0ZXMgU29tbWVyY2FtcCBpbgpLYWdlbCBhbSBLaWVzc2VlIHp1IG1hY2hlbj8gT2RlciBsaWViZXIgd2VpdGVyIHdlZywgb2RlciBuYWVoZXIgYW4KQmVybGluIG9kZXIgaW4gZWluZXIgSkggb2RlciBuZXIgQnVyZyBvZGVyIHdhcz8KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMjAwMCAtLSBXbz8gKEdyaW1tYm9ybiwgMjMuIEp1bCAxOTk5LCAxMToxMzowOSk6Cn4jISBybj1IYXRlIHJ0PTkzMjcyMDc5NSByZz1wYXJ0eQp+IyEgdGlkPTkzMjcyMDc5NQpJY2ggYmluIGRhZnVlci4gQWJlciBkaWVzbWxhIG9obmUgQmFlbmRlcnJpc3MuCgpHcmltbSJtZSAyISJib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMjAwMCAtLSBXbz8gKE1vcmdvdGgsIDIzLiBKdWwgMTk5OSwgMTE6NTI6NTIpOgp+IyEgcm49SGF0ZSBydD05MzI3MjA3OTUgcmc9cGFydHkKfiMhIHRpZD05MzI3MjA3OTUKVm9lbGxpZyBPSyAhIApNb3Jnb3RoICgxKSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMjAwMCAtLSBXbz8gKEVsb3JhLCAyMy4gSnVsIDE5OTksIDIwOjI0OjA0KToKfiMhIHJuPU1vcmdvdGggcnQ9OTMyNzIzNTcyIHJnPXBhcnR5Cn4jISB0aWQ9OTMyNzIwNzk1CgpFcyB3YWVyZSBzY2hvZW4sIHdlbm4gZGVyIEZyZWl0YWcgenVrdWVuZnRpZyBhdWNoIGF1ZiBkZXIgV2Vic2VpdGUgZXJzY2hlaW50LApkYW5uIGthbm4gbWFuIHNpY2ggZGFzIER1cmNobGVzZW4gdm9uIDIzMiBBcnRpa2VsbiBzcGFyZW4uLi4KRGllcyBudXIgYWxzIEFucmVndW5nLgpMb3NmYWhyZW5kCkUuCgpQLlMuOiBEYXMgQm9lc2UgaXN0IGJlaSBtaXIgYXVmZ2V0YXVjaHQgdW5kIGljaCBicmluZyBlcyBtaXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAyMDAwIC0tIFdvPyAoV29vZHksIDI0LiBKdWwgMTk5OSwgMTY6NTI6MTApOgp+IyEgcm49SGF0ZSBydD05MzI3MjA3OTUgcmc9cGFydHkKfiMhIHRpZD05MzI3MjA3OTUKS2FnZWwgd2FyIGdlbmlhbC4gSkgga2xpbmd0IGhpbmdlZ2VuIG9lZC4gQWJlciBCdXJnPyBOYWphLCBpc3QKd29obCBlaGVyIHdhcyBmdWVyIGRpZSBDaGFvdGVuIDopLCBhYmVyIHdlbm5zIHN0aW1tdW5nc3ZvbGwgaXN0LAp3YXJ1bSBuaWNodD8gQWJlciBLYWdlbCBmYW5kIGljaCBzY2hvbiBlaW5lIGRlciBiZXN0ZW4gTUctUGFydGllcwpiaXNoZXIuCgpXb29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsZXR6dGUgUGFydHkgMTk5OS4uLiAoUGl6emFwZXBlLCAyNS4gSnVsIDE5OTksIDE3OjQ0OjA5KToKQWxsbywgaWlpZXIgaXN0ZSBQaXp6YS1QZXBlLCB6d2VpdGJlc3RlcyBLb2NoZSB2b24gV2VsdC4KV2VtIGhhdHRlIGdlZmFsbGUgUGFydHksIHNvbGxlIGZyZWloYWx0ZSBXb2NoZW5lbmRlIGxldHp0ZXMgaW4gTm92ZW1iZXIuClJvY2h1cyB1bmRlIEFyaWFuYSBoYWJlIGdlc2FndCBtYWNoZSBOaWtvbGF1cy1NdWQtUGFydHkgbWl0IEdsdWVod2VpbiBhdWYKQnVyZy4KQWxzbyB3ZXJkZSBQaXp6YS1QZXBlIHVuZCBLb2xsZWdlIEFsbGVzYW5kcm8gbWFjaGUgTmlrb2xhdXMtRmV0ZSBhbm5lIGVyc3RlCkFkdmVudHN3b2NoZW5lbmRlLgpXZXIgbmljaHQgdmVyc3RlaGUgZGllc2UgQXJ0aWtlbCBtdXNlIHdhcnRlIGF1ZiBQYXJ0eWJlcmljaHQuCgpQZXBlLgpJc3NlIHNjaG9uZSB3aWRkZXJlIGFrdGl2CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMjAwMCAtLSBXbz8gKExhcmlzc2EsIDI1LiBKdWwgMTk5OSwgMTg6MDE6MDYpOgp+IyEgcm49SGF0ZSBydD05MzI3MjA3OTUgcmc9cGFydHkKfiMhIHRpZD05MzI3MjA3OTUKCkFsc28gaWNoIHdhZXJlIGZ1ZXIgV2ludGVyYnVyZyEKCkxhcmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rZSBhbiBNb250YW51cy9IYXJkaWwvSGFubm8gOykgKFJvbmRhLCAyNS4gSnVsIDE5OTksIDE4OjE4OjIzKToKSGksCnRvdGFsIGtvIGdyYWQgenVoYXVzZSBlaW5nZXRydWRlbHQgbm9jaG1hbCBnYW56IGxhdXQgZnVlciBhbGxlOgoKSEVSWkxJQ0hFTiBEQU5LIGFuIEhhbm5vIQoKRGllIFBhcnR5IHdhciBrbGFzc2UhCgpSb25kYSAqd29sbHQgbnVyIHNjaG5lbGxlciBzZWluIGFscyBwb3RlbnRpZWxsZSBOb2VyZ2xlciBhIGxhICJtZWluIE51dGVsbGEKd2FyIGFiZXIga2VpbiBOdXRlbGxhIiBvZGVyICJpaCBiYWgsIGljaCBoYXR0ZSBzb29vbyBkcmVja2lnZSBGdWVzc2UhIioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZSBOYWNobGVzZSAoS2FydG9mZmVsLCAyNS4gSnVsIDE5OTksIDIxOjE0OjA1KToKSGFsbG9lbGUsCgplaW5lbiBkaWNrZW4gS251ZGRsZXIgYW4gTW9udGFudXMsIGRhcyB3YXIgZWNodCBzcGl0emVubWFlc3NpZ2UKQXJiZWl0LiBFcyBpc3QgaGFsdCBlaW5mYWNoIG9wdGltYWwsIHdlbm4gYWxsZXMgYW4gZWluZW0gUGxhdHogc3RhdHRmaW5kZW4Ka2Fubi4KCkRhbmsgYXVjaCBhbiBSb25kYSB1bmQgS2FtZWxvdCwgZGllIHNvIGZsZWlzc2lnIGdlZ3JpbGx0IGhhYmVuIGZ1ZXIgZGllCk1ldXRlIChnZWxsLCBLYW1lbG90LCBncmlsbGVuIGlzIGVpbmZhY2hlciBhbHMgWmVsdGUgYXVmYmF1ZW4gOykgKSB1bmQgYW4KR25vbWUsIGRlciBzaWNoIHdpZWRlciBhbHMgRGogZ2VvcGZlcnQgaGF0IChIYXN0IERpY2ggdGFwZmVyIGdlaGFsdGVuLCBhdWNoCndlbm4gd2lyIERpY2ggbWl0IHVuc2VyZW4gTXVzaWt3dWVuc2NoZW4gZmFzdCB6dXIgVmVyendlaWZsdW5nIGdldHJpZWJlbgpoYWJlbikuCgpXZXIgaGF0IGVpZ2VudGxpY2ggZGVtIEJhYnkgZGFzIEdhc3QxLVRhcGUgYW5zIE11ZXR6Y2hlbiBnZWtsZWJ0PwoKCidUb2ZmZWwgLSBob2VydCBpaHJlbiBNdXNrZWxrYXRlciB0cmFwcHNlbgoKCk5vY2ggZWluIHBhYXIgWml0YXRlOgoKU3Ryb2hoYWxtIHdpcmQgZ2VmcmFndDogSGFzdCBEdSBlaW4gQmV0dCByZXNlcnZpZXJ0LCBvZGVyIHplbHRlc3QgRHU/ClN0cm9oaGFsbTogSWNoIHNjaGxhZnNhY2tlLi4uCgooTGVpZGVyIGRlbiBOYW1lbiBuaWNoIG1laHIgcGFyYXQpIHNjaGF1dCAiZGllIFp3aWxsaW5nc3NjaHdlc3RlciIgYW4gdW5kCm1laW50OiBMdWcgaXN0IGVpbmUgRnJhdT8KCkxlbmE6IFdlciBoYXQgZXJ6YWVobHQsIExlbmEgaXMgZWluZSBGcmF1IHVuZCB0b3RhbCBzdWVzcz8KCkFyYW5jaWE6IFdvIHNpbmQgZWlnZW50bGljaCBkaWUgRHVzY2hlbj8KS2FydG9mZmVsOiBBdWYgZGVyIGFuZGVyZW4gU2VpdGUgZGVyIFRyZXBwZS4KQXJhbmNpYTogQmVpIGRlbiBNYWVubmVybj8KRHJlaSBtYWVubmxpY2hlIFNwaWVsZXIgemVpdGdsZWljaDogSmEhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU28gd2FyIGVzIGhhbHQgISEhIChHcmltbWFuLCAyNS4gSnVsIDE5OTksIDIxOjE0OjMwKToKRGFua2UgTW9udGFudXMgISEhIAoKTUJJTUcgLCBHcmltTWFuICAgICBVbmQgZGFzIEtsbyB3YXIgZG9jaCBiZXF1ZW0gISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaaXRhdGUgKEdyaW1tYW4sIDI1LiBKdWwgMTk5OSwgMjE6MjM6MjcpOgpOdXIga3VyeiBlaW4gcGFhciBTY2htYW5rZXJsbiAuLi4KaXJnZW5kd28gdmVyZmFocmVuIGF1ZiBkZXIgQW5mYWhydCwgc2luZCBiZWkgS2Fpc2Vyc2xhdXRlcm4gZ2VsYW5kZXQgLi4uCkdvbGFzIDogSGV5LCBndWNrIG1hLCBLYWlzZXJzbGF1dGVybiwgZGEga29lbm50ZW4gd2lyIGphIGdsYXR0IG5vY2ggTGVpYm5pegptaXRuZWhtZW4sIHNvIGF1ZiBkZXIgQW5oYWVuZ2Vya3VwcGx1bmcgLi4uCkdyaW1NYW4gOiBJSUlJSUggISEhCkdvbGFzIDogTmljaHQgc28gd2llIGR1IGRlbmtzdCwgc29uZGVybiBtaXQgZGVtIE11bmQsIGRhbWl0IHNpZSBub2NoIG1pdGxhdWZlbgprYW5uLi4uCgpTb25udGFnIE1vcmdlbiwgRnJ1ZWhzdHVlY2sKVW5hc2FpIHp1IEdyaW1NYW4gRHUgc2llaHN0IGF1cywgYWxzIGhhZXR0ZXN0IGR1IG1pdCBkZW4gRnVlc3NlbiBpbiBkZXIKU3RlY2tkb3NlIGdlcGVubnQgLi4uCkZ1ZXIgbWVociBiaW4gaWNoIG5pY2h0IG1laHIgenUgaGFiZW4sIGRhIGlzdCBuZSByaWVzZW4gTHVlY2tlIGJlaSBtaXIgaW0KR2VkYWVjaHRuaXMgLi4uIGF1c3NlciB2aWVsbGVpY2h0LCBkYXMgR29yb2cgdWViZXIgTHZsIDM0IFNlaGVyIHNwcmljaHQsIHdlbm4KZXIgTG93LUxldmVscyBtZWludCAuLi4KCk1CSU1HICwgR3JpbU1hbiAsIGZhbmQgZGllIFBhcnR5IHN1cGVydG9sbCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsZXR6dGUgUGFydHkgMTk5OS4uLiAoQ2FpbGxlYW4sIDI1LiBKdWwgMTk5OSwgMjI6MzY6MDApOgp+IyEgcm49UGl6emFwZXBlIHJ0PTkzMjkyNDY0OSByZz1wYXJ0eQp+IyEgdGlkPTkzMjkyNDY0OQptb250YW51cywgZHUgYmlzdCBlY2h0IGVpbiBzY2hhdHohISEKdW5kIHppZW1saWNoIGZpeDopCmFsc286IGF1ZiBkaWVzZW0gd2VnIHZvbiBtaXIgc2Nob24gbWFsIGVpbiBnYWFhYWFueiBncm9zc2VzIGRhbmtlc2Nob2VuIGZ1ZXIKZWluZSBzdXBlcnBhcnR5ISEhCgpjYWlsbGVhbiwgbW9udGFudXMgenVtIG9iZXJncm9zc29yZ2FuaXNhdG9yIGVybmVubmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKeml0YXRlLCB6aXRhdGUsIHppdGF0ZSAoQ2FpbGxlYW4sIDI1LiBKdWwgMTk5OSwgMjI6NDg6MjgpOgpsZWlkZXIgZGllc21hbCBuZXQgdmllbGUKCjEpIHN0cm9oYWxtOiAiV2llIHdhZXJzLCB3ZW5uIHdpciBlaW4gcGFhciB3ZWlibGljaGUgZnJhdWVuIGZyYWdlbi4uLi4KMikgcGZlaWZlIHp1IGJoYW1pciwgZGVyIGlociBhdXMgMjAgY20gYWJzdGFuZCBpbiBkZW4gYXVzc2Nobml0dCBnZWllcnQgInNhZwptYWwsIGthbm4gaWNoIGRpciB3YXMgaGVsZmVuPyIgKGxlaWNodCBnZW5lcnZ0KQpiaGFtaXI6IiBkdSwgaWNoIGJpbiBoYWx0IGt1cnpzaWNodGlnISIKdW5kIGRhbm4gZGllIGdhbnogZ2VuaWFsZSBhdXNyZWRlOiJhdXNzZXJkZW0gd29sbHRlIGljaCBudXIgc2NoYXVlbiwgb2IgZGFzCnRhdHRvbyBlY2h0IGlzLi4uIgpqYWphLCBhbGxlcyBrbGFyIQoKY2FpbGxlYW4sIHNpY2ggZ3V0IGFtdWVzaWVydCBoYWJlbmQsIGFiZXIgbGVpZGVyIG9obmUgemV0dGVsIHVuZCBzdGlmdAp1bnRlcndlZ3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnppdGF0ZSAoQ2FpbGxlYW4sIDI1LiBKdWwgMTk5OSwgMjI6NTI6NDYpOgphY2hqYSwgc2Nob2VuIHdhcmVuIGF1Y2ggZGllIHJlYWt0aW9uZW4sIGFscyBlaW4ga2xhdHNjaG5hc3NlciB0ZWRkeSB2b24KaXJnZW5kamVtYW5kICJhdXN6aWVoZW4hIiB6dWdlcnVmZW4gYmVrYW0KCnZvbiAidW0gZ290dGVzIHdpbGxlbiEiIHVlYmVyICJvaCBnb3R0LCBtaXIgaXMgZG9jaCBub2NoIHNjaGxlY2h0IHZvbgpnZXN0ZXJuISIgYmlzIHp1IHNwcmVjaGNob2VyZW4sIGRpZSBsYXV0ICJuZWluISIgcmllZmVuIHdhciBhbGxlcyB6dSBob2VyZW4uCgpjYWlsbGVhbiwgc2ljaCBnYW56IHN0aWxsIHVuZCBsZWlzZSBlaW5mYWNoIGFiZ2V3ZW5kZXQgaGFiZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3aW50ZXJidXJnIChHbm9tZSwgMjUuIEp1bCAxOTk5LCAyMjo1NDozOSk6CkRBTktFIGFuIG1vbnRhbnVzIHVuZCBhbGxlIGFuZGVyZW4gZGlyZWt0IGJldGVpbGlndGVuIGhlbGZlcm4uLi4Kd2lyIHNpbmQgZGVyIG1laW51bmcsIGRhcyB3YXIgU1BJVFpFIQoKc2VsdGVuIGVpbmVuIHppdmkgZXJsZWJ0LCBkZXIgc28gZW5odXNpYXN0aXNjaCwgbmltbWVybXVlZGUgdW5kIGZyZXVuZGxpY2gKYWxsZXMgaW0gZ3JpZmYgaGF0dGUuLi4gOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogeml0YXRlIChHcmltbWFuLCAyNS4gSnVsIDE5OTksIDIyOjU0OjU5KToKfiMhIHJuPUNhaWxsZWFuIHJ0PTkzMjk0MzE2NiByZz1wYXJ0eQp+IyEgdGlkPTkzMjk0MzE2NgpTaWUgbHVlZ3QgISEhIFNpZSBzdGFuZCBnYWFhYW56IHZvcm5lIHVuZCBoYXQgYW0gbGF1dGVzdGVuIGdlc2NocmllbiwgZmFzdApoYWV0dGUgc2llIGlobSBkYXMgVC1TaGlydCB2b20gTGVpYiBnZXJpc3NlbiAhISEgCkdyb3VwaWVzIGhhbHQgOykKCk1CSU1HICwgR3JpbU1hbiAsIEdlcnVlY2h0ZSBpbiBkaWUgV2VsdCBzZXR6ZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHppdGF0ZSAoQ2FpbGxlYW4sIDI1LiBKdWwgMTk5OSwgMjI6NTc6MjUpOgp+IyEgcm49R3JpbW1hbiBydD05MzI5NDMyOTkgcmc9cGFydHkKfiMhIHRpZD05MzI5NDMxNjYKZGFzIHd1ZXNzdCBpY2ghCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB6aXRhdGUgKEdvbGFzLCAyNS4gSnVsIDE5OTksIDIyOjU4OjQ3KToKfiMhIHJuPUNhaWxsZWFuIHJ0PTkzMjk0MzQ0NSByZz1wYXJ0eQp+IyEgdGlkPTkzMjk0MzE2Ngpkb2NoIGRvY2gsIGljaCBoYWIgZGFzIGF1Y2ggZ2VzZWhlbiAuLi4KZ29sYXMgZ3JpbW1pIGZhc3QgaW1tZXIgdW50ZXJzdHVldHplbmQgLi4uCnBzOiBhYmVyIGljaCBoYWV0dGUgZGFzIGpldHp0IGF1Y2ggZ2VzYWd0LCBjYWlsbGVhbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB6aXRhdGUgKEdyaW1tYW4sIDI1LiBKdWwgMTk5OSwgMjI6NTk6MjEpOgp+IyEgcm49R3JpbW1hbiBydD05MzI5NDMyOTkgcmc9cGFydHkKfiMhIHRpZD05MzI5NDMxNjYKV2VubiBpY2ggbm9jaCBhbGxlcyB3dWVzc3RlLCB3YXMgaWNoIGdlbWFjaHQgb2RlciBnZXNhZ3QgaGFiZSwgd2FlcmUgbWlyCndvaGxlcgoKTUJJTUcgCkdyaW1NYW4gLCB3aWVkZXIgbnVlY2h0ZXJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB6aXRhdGUgKENhaWxsZWFuLCAyNS4gSnVsIDE5OTksIDIzOjExOjQ4KToKfiMhIHJuPUdvbGFzIHJ0PTkzMjk0MzUyNyByZz1wYXJ0eQp+IyEgdGlkPTkzMjk0MzE2NgpzZWkgYmxvc3Mgdm9yc2ljaHRpZywgZ29sYXMsIHNvbnN0IGJyaW5nIGljaCBkZW4gbWl0IGRlciBrYWx0ZW4gZHVzY2hlICpHRyoKCmNhaWxsZWFuLCB3aXJrbGljaCBkYSBub2NoIG5pY2ggaW4gZGVyIGxhZ2UgaGluenVrdWNrZW4sIGFsbGVpbiBzY2hvbiB3ZWdlbgpkZW0gcmVzdGFsa29ob2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB6aXRhdGUsIHppdGF0ZSwgeml0YXRlIChQZmVpZmUsIDI2LiBKdWwgMTk5OSwgMDg6Mzg6MTApOgp+IyEgcm49Q2FpbGxlYW4gcnQ9OTMyOTQyOTA4IHJnPXBhcnR5Cn4jISB0aWQ9OTMyOTQyOTA4CkRhcyB3YXJlbiBrZWluZSAyMCBjbSBzb25kZXJuIDEwIGNtLCB1bmQgaWNoIGhhdHRlIGRlbSBhdWNoIGtlaW5lIEhpbGZlCmFuZ2Vib3RlbiBzb25kZXJuIGdlemllbHRlIFNjaGxhZWdlLiAoU29sbCBhYmVyIGphIGF1Y2ggaGVsZmVuKQoKUGZlaWZlIGdhbnogc2FuZnRtdWV0aWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHppdGF0ZSAoR29sYXMsIDI2LiBKdWwgMTk5OSwgMDk6MTQ6MjUpOgp+IyEgcm49Q2FpbGxlYW4gcnQ9OTMyOTQ0MzA4IHJnPXBhcnR5Cn4jISB0aWQ9OTMyOTQzMTY2CmthbHRlIGR1c2NoZT8hPyE/IT8KZ29sYXMgendlaXplaWxpZyBhbiBhbHpoZWltZXIgZGVua2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2FzIGF1Y2ggbm9jaCBwYXNzaWVydGUuLi4gKEJhbWJpLCAyNi4gSnVsIDE5OTksIDA5OjE3OjEyKToKQm9pbmcgdW5kIFBhbXBlcnMgc3RlaGVuIGFtICJTcG9ydCItUGxhdHouCkJvaW5nIG1hY2h0IFBhbXBlcnMgc2NoYXJmLi4uCkxlbmEgaXN0IGJsb25kLCBoYXQgbGFuZ2VzIEhhYXIsIHNpZWh0IHp1bSB1bXdlcmZlbiBhdXMuLi4KKGdlbmF1ZXIgVGV4dCBpc3QgbGVpZGVyIHVuYmVrYW5udCkKUGFtcGVycyBzY2hpZWx0IGF1ZiBlaW5lIEdydXBwZSBNdWRkZXIgdm9yIGRlbSBIYXVzZWluZ2FuZyB1bmQgbWVpbnQ6CkRpZSBsaW5rcywgaXN0IHNpZSBkYXM/IChzYWJiZXIpCkJvaW5nIHJ1ZnQ6IExFTkEhISEKTGVuYSBydWZ0OiBKQUhBPwpQYW1wZXJzIHJ1ZnQ6IFdBQUFBQUFBQUFBQUFIIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdhcyBhdWNoIG5vY2ggcGFzc2llcnRlLi4uIChHcmltbWFuLCAyNi4gSnVsIDE5OTksIDA5OjI0OjU2KToKfiMhIHJuPUJhbWJpIHJ0PTkzMjk4MDYzMiByZz1wYXJ0eQp+IyEgdGlkPTkzMjk4MDYzMgpXYXMgbWljaCBkYWJlaSBpbnRlcmVzc2llcmVuIHd1ZXJkZSA6CgpXZW4gaGF0dGUgUGFtcGVycyBpbSBCbGlja2ZlbGQ/CgpNQklNRyAsIEdyaW1NYW4gLCBpbW1lciBuZXVnaWVyaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2FzIGF1Y2ggbm9jaCBwYXNzaWVydGUuLi4gKEJhbWJpLCAyNi4gSnVsIDE5OTksIDA5OjI2OjIyKToKfiMhIHJuPUdyaW1tYW4gcnQ9OTMyOTgxMDk2IHJnPXBhcnR5Cn4jISB0aWQ9OTMyOTgwNjMyCmRhcyBrYW5uIGljaCBsZWlkZXIgbmljaHQgKG1laHIpIHJla29uc3RydWllcmVuLiBJY2ggd3VlcmRlIGVpbmZhY2ggbWFsIGF1ZgoiR3JhY2UiIHRpcHBlbi4gKE5laW4sIFNlaSB3YXJzIGRlZmluaXRpdiBuaWNodC4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3YXMgYXVjaCBub2NoIHBhc3NpZXJ0ZS4uLiAoUGFyYWNlbHN1cywgMjYuIEp1bCAxOTk5LCAxMDo0NDoyOCk6Cn4jISBybj1CYW1iaSBydD05MzI5ODExODIgcmc9cGFydHkKfiMhIHRpZD05MzI5ODA2MzIKVW5hc2FpIHdhcnMgZ2xhdWJlIGljaCwgZGllIFN0aW5nIGZyYWd0ZTogSW4gd2VsY2hlciBHaWxkZSBiaXN0IGRlbm4gRHU/ClM6IFJhdGUgZG9jaCBtYWwuIE1laW5lIEtsYW1vdHRlbiBzb2xsdGVuIERpciBlaW5lbiBIaW53ZWlzIGdlYmVuLgpVOiBLbGVyaWtlcj8KClBhcmFjZWxzdXMgKGtlbm50IGxlaWRlciBudXIgZGllIG11ZW5kbGljaGUgVWViZXJsaWVmZXJ1bmcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3YXMgYXVjaCBub2NoIHBhc3NpZXJ0ZS4uLiAoQm9pbmcsIDI2LiBKdWwgMTk5OSwgMTI6Mjk6NDMpOgp+IyEgcm49QmFtYmkgcnQ9OTMyOTgxMTgyIHJnPXBhcnR5Cn4jISB0aWQ9OTMyOTgwNjMyCkljaCB3ZWlzcyBlcywgaWNoIHNhZ3MgYWJlciBuaWNodC4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW5kIG5vY2ggendlaSBaaXRhdGUgKEhvYm8sIDI2LiBKdWwgMTk5OSwgMTI6NDg6MzgpOgpBbmF0b2wgenUgRGVhbm5hOiBTaWVoc3QgRFUsIHdpZSB3ZWl0IG1laW4gRGluZyBkYSByYXVza29tbXQ/CiAoRXMgd2FyIGNhLiAxIGNtKQoKVHJ5ZmFuIHp1IFBhbXBlcnM6IEljaCBoYWV0dGUgRGljaCBqZXR6dCBmYXN0IG1pdCBqZW1hbmRlbiB2ZXJ3ZWNoc2VsdC4gTmltbSdzCm1pciBhYmVyIG5pY2h0IHVlYmVsLiBNaXQgamVtYW5kZW4sIGRlbiBpY2ggaW1tZXIgZ2VybiBpbiBlaW5lbSBTY2hsYWVnZXJ0cnVwcApoYWJlbiB3b2xsdGUgLSBuYWVtbGljaCBtaXQgUGFtcGVycy4KCiAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvc3NhIDopIChVbmFzYWksIDI2LiBKdWwgMTk5OSwgMTQ6MDg6NDIpOgpFcnN0bWFsIGVpbmVuIGdhYWFhYWFueiBsaWViZW4gRGFuayBhbiBNT250YW51cywgZGllIFBhcnR5IHdhciBlY2h0IHN1cGVyIHVuZApkaWUgb3JnYW5pc2F0aW9uIGViZW5zbyA6KSAqZ3JhdHMqCgpBYmVyIGJpdHRlIG5pY2h0IG5vY2htZWhyIFppdGF0ZSB2b24gbWlyIGlubmUgTVBBIHBvc3Rlbiwgc29uc3Qga3JpZWdlbiBkaWUKbGV1dHogZGllIG5pY2h0IGRhIHdhcmVuIGVpbmVuIHZvZWxsaWcgZmFsc2NoZW4gZWluZHJ1Y2sgdm9uIG1pciA6KQpJY2ggd2lsbCBlcyBoaWVybWl0IG9lZmZlbnRsaWNoIG1hY2hlbiA6IElDSCBCSU4gSEFSTUxPUyBVTkQgTkVUVCEKCipVbmEsIGZ1ZXIgZGFzIG5hZWNoc3RlIE1hbCBIZWxsZmxlY2sgYXVmIGRlbSBBcm0gbmVobWVuZCp6d2lua2VyTWFuZ28qIHVuZApzaWNoIG5vY2htYWwgb2VmZmVudGxpY2ggYmVpIFN0aW5nIGVudHNjaHVsZGlnZW5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhvc3NhIDopIChHb2xhcywgMjYuIEp1bCAxOTk5LCAxNDoyNzo0Mik6Cn4jISBybj1VbmFzYWkgcnQ9OTMyOTk4MTIyIHJnPXBhcnR5Cn4jISB0aWQ9OTMyOTk4MTIyCmdvbGFzIGtyaW5nZWx0IHNpY2ggYXVmIGRlbSBib2RlbiB1bmQgd2lyZCBmdWVyIHNlaHIgbGFuZ2UgemVpdCBtaXQgbGFjaGVuCm5pY2h0IG1laHIgYXVmaGllcmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG9zc2EgOikgKFBhcmFjZWxzdXMsIDI2LiBKdWwgMTk5OSwgMTQ6MzQ6MTQpOgp+IyEgcm49VW5hc2FpIHJ0PTkzMjk5ODEyMiByZz1wYXJ0eQp+IyEgdGlkPTkzMjk5ODEyMgo+IEljaCB3aWxsIGVzIGhpZXJtaXQgb2VmZmVudGxpY2ggbWFjaGVuIDogSUNIIEJJTiBIQVJNTE9TIFVORCBORVRUIQoKQmV6aWVoc3QgRHUgRGljaCBkYW1pdCBhdWYgZGllIDUgTWludXRlbiBiZWltIEZydWVoc3R1Y2ssIHdvIER1CnN0aWxsIHdhcnN0PwoKUGFyYWNlbHN1cyBdOi0+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkYW5rZSAoQ2Fzc2FuZHJhLCAyNi4gSnVsIDE5OTksIDE1OjM1OjQ2KToKR3Jvc3NlcyBEYW5rIGFuIE1vbnRhbnVzIGhpZXJtaXQgYXVjaCB2b24gbWlyPgpEaWUgUGFydHkgd2FyIGtsYXNzZSEhISEhISEhISEhISEhClVuZCBkaWVqZW5pZ2VuIGRpZSBzaWNoIGdld2VpZ2VydCBoYWJlbiBkaWUgU2NodWhlIGF1c3p1emllaGVudW5kIGR1cmNoIGRlbgpTY2hsYW1tIHp1IHdhcnRlbiBoYWJlbiBlY2h0IHdhcyB2ZXJwYXNzdC4KQ2Fzc3ksIHNpY2ggc2Nob24gYXVmIGRpZSBuYWVjaHN0ZSBQYXJ0eSBmcmV1ZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB6aXRhdGUgKFRlZGR5LCAyNi4gSnVsIDE5OTksIDE2OjIzOjUwKToKfiMhIHJuPUdyaW1tYW4gcnQ9OTMyOTQzMjk5IHJnPXBhcnR5Cn4jISB0aWQ9OTMyOTQzMTY2Ck5lbmUsIGFiZ2V3ZW5kZXQgaGF0IHNpZSBzaWNoIHNjaG9uOgpJbiBUcmFlbmVuIGRlciBGcmV1ZGUgYXVmZ2Vsb2VzdCBuYWNoIGRlciBLYW1lcmEgc3VjaGVuZCB1bSBhbnNjaGxpZXNzZW5kCnNpdHVhdGlvbnNnZW1hZXNzIGluIE9obm1hY2h0IHp1IGZhbGxlbi4KClRlZGR5LCBvZGVyIHNvIGFlaG5saWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogeml0YXRlIChDYWlsbGVhbiwgMjYuIEp1bCAxOTk5LCAxNjoyOTowMCk6Cn4jISBybj1UZWRkeSBydD05MzMwMDYyMzAgcmc9cGFydHkKfiMhIHRpZD05MzI5NDMxNjYKbmFqYSwgdGVkZHksIHdlbm4gZHVzIGJyYXVjaHN0IGRhbm4gaGFiIGljaCBtaWNoIHZvbiBtaXIgYXVzIGF1Y2ggZ2VmcmV1dCAKCmNhaWxsZWFuLCBlaWdlbnRsaWNoIGtlaW5lIGJsYWNrb3V0cyBnZWhhYnQgaGFiZW5kLCBhYmVyIG5hamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5ZGFuayAoT3JrdG9ldGVyLCAyNi4gSnVsIDE5OTksIDE2OjMwOjI2KToKU28sIGF1Y2ggdm9uIG1pciB1bmQgbWVpbmVyIEZhbWlsaWUsIGRpZSBvaG5lIG1pdCBhbmdlbWVsZGV0IGdld2VzZW4genUgc2VpbiwKc2ljaCByZWljaGxpY2ggZHVyY2hnZWZyZXNzZW4gaGF0Li4uICpzY2hhZW0qLCBlaW5lbiBoZXJ6bGljaGVuIERhbmsKaGF1cHRzYWVjaGxpY2ggYW4gTW9udGFudXMgISEKCkRpZSBQYXJ0eSB3YXIgZWluZmFjaCBudXIgVG9sbCAhIQoKTW9udGFudXMgdmVyc3VjaHRlIGFsbGVzLCB1bSBlcyBhbGxlbiBtb2VnbGljaHN0IHJlY2h0IHVuZCBkaWUgUGFydHkgenUgZWluZW0KRXJmb2xnIHp1IG1hY2hlbiB1bmQgZGFzIGdhbnplIHNlaHIgZmxleGliZWwgdW5kIG1pdCBzbyB2aWVsIEFyYnZlaXQgZnVlciBpaG4KLGRhcyBpY2ggYmVmdWVyY2h0ZSwgZXIgc2VsYnN0IGlzdCBiZWkgZGVyIFBhcnR5IGV0d2FzIHp1IGt1cnogZ2Vrb21tZW4uIEFiZXIKaWNoIGhvZmZlLCBkYXMgZGllc2UgZnVyY2h0IHVuYmVncnVlbmRldCBpc3QgdW5kIGVyIGF1Y2ggc2VpbmVuIFNwYXNzIGhhdHRlLgoobnVyIGFscyBCZWlzcGllbCA6IERpZSBlcnN0ZW4gd2FyZW4gc2Nob24gRG9ubmVyc3RhZ3MgQWJlbmRzIGdla29tbWVuIHVuZCB3aWUKenUgZXJ3YXJ0ZW4gd2FyLCBoYXR0ZSBuYXR1ZXJsaWNoIGtlaW5lciBkYXJhbiBnZWRhY2h0LCBzaWNoIHNlbGJzdCB6dQp2ZXJwZmxlZ2VuLCBkZW5uIGRpZSBQYXJ0eSB3YXIgamEgZXJzdCBhbSBTYW1zdGFnIEFiZW5kLiBBbHNvIHd1cmRlIGZ1ZXIKRnJlaXRhZyBNaXR0YWcgbm9jaCBlYmVuIGVpbiAoc3VwZXJndWVuc3RpZ2VzKSBOdWRlbGdlcmljaHQgZ2V6YXViZXJ0IHVuZCBmdWVyCmRlbiBBYmVuZCBDaGlsaSB2b3JiZXJlaXRldC4gRGFzIGRhbm4gYWJlciBzb29vIHZpZWxlIExldXRlIHNjaG9uIEZyZWl0YWdzCkFiZW5kIGRhIHNlaW4gd3VlcmRlbiB1bmQgc2ljaCBrZWluZXIgZnVlciBTZWxic3R2ZXJzb3JndW5nIHZvcmJlcmVpdGV0IGhhdHRlLAp3YXIgbmljaHQgdm9yaGVyenVzZWhlbi4gQWxzbyBnYWIgZXMgbmFjaCBkZW0gQ2hpbGkgbm9jaCBtYWwgZWJlbiBzbyAxMDAKV3VlcnN0Y2hlbi4uLgoKS3VyeiB1bmQgZ3V0IDogREFOS0UgYW4gZGllIE9yZ2FuaXNhdG9yZW4gIQoKUFMuIDogIFdlbSBkaWUgUGFydHkgc28gZ3V0IGdlZmFsbGVuIGhhdCB3aWUgbWlyIHVuZCB3ZXIgZXR3YXMgZGF6dSBiZWl0cmFnZW4KbW9lY2h0ZSwgZGFzIGRpZXNlcyBHZW1hZXVlciBlcmhhbHRlbiBibGVpYnQsIGthbm4gamEgdmlsZWljaHQgZWluIHBhYXIgTWFyawphbiBNb250YW51cyB1ZWJlcndlaXNlbi4gVmlsZWljaHQgbmVubnQgTW9udGFudXMgamEgYXVjaCBub2NoIGVpbmUKQmFua3ZlcmJpbmR1bmcgZGVzIFRyYWVnZXJ2ZXJlaW5zID8KCgpPcmtULCBub2NoIG11ZWRlIHZvbiBkZXIgUGFydHkgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdhcyBhdWNoIG5vY2ggcGFzc2llcnRlLi4uIChUZWRkeSwgMjYuIEp1bCAxOTk5LCAxNjozMTozNik6Cn4jISBybj1CYW1iaSBydD05MzI5ODExODIgcmc9cGFydHkKfiMhIHRpZD05MzI5ODA2MzIKSG0sIGJsb25kPyBTTyB2aWVsZSB3YXJlbiBkYXMgYXVjaCBuaWNodCA7KQoKVGVkZHksIHplaXR3ZWlzZSBhdWNoIG1hbCBnZWlzdGlnIGFud2VzZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG9zc2EgOikgKFRlZGR5LCAyNi4gSnVsIDE5OTksIDE2OjMzOjQyKToKfiMhIHJuPVVuYXNhaSBydD05MzI5OTgxMjIgcmc9cGFydHkKfiMhIHRpZD05MzI5OTgxMjIKQWxzbyBpY2gga2FubiBtaWNoIG5pY2h0IGJla2xhZ2VuLgpadSBNSVIgd2FyIFVuYSogd2lya2xpY2ggbmV0dC4KClRlZGR5LCBzaWNoIGJlaSBzZWluZXIgU2Nod2FlZ2VyaW4gbm9jaG1hbCBmdWVyIGRpZSBNaWxjaCBiZWRhbmtlbmQgdW5kIEdub21lCmJlbWl0bGVpZGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG9zc2EgOikgKFRlZGR5LCAyNi4gSnVsIDE5OTksIDE2OjM0OjMyKToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTMyOTk5NjU0IHJnPXBhcnR5Cn4jISB0aWQ9OTMyOTk4MTIyCkRhcyB3YXJlbiBkaWUgNSBNaW51dGVuLCB3YWVyZW5kIGRlbmVuIHNpZSB1ZWJlcmxlZ3RlLCB3aWUgbWFuIE9ITkUgV29ydGUKZ2VtZWluIHNlaW4ga2FubiBiencuIGlocmUgU2Nod2VzdGVyIGltIEdlaXN0ZSBhdWZoZXR6dGUsIHNpZSB6dSB2ZXJ0cmV0ZW4uIDspCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvIHdhciBlcyBoYWx0ICEhISAoVmFtcHksIDI2LiBKdWwgMTk5OSwgMjA6MTU6MDkpOgp+IyEgcm49R3JpbW1hbiBydD05MzI5MzcyNzAgcmc9cGFydHkKfiMhIHRpZD05MzI5MzcyNzAKYWxzbyBkYSBrYW5uIGljaCBudXIgenVzdGltbWVuISBpY2ggbWVpbmUgbWl0IGRlbSAKICAgREFOS0UgTU9OVEFOVVMhCm5pY2h0IG1pdCBkZXIgdG9pbGV0dGUsIGFiZXIgYmVzb25kZXJzIGJlcXVlbSBzYWggZXMgZGEgbmljaCBhdXMsCgpiaXMgZGVubmUKICAgICAgICAgICB2YW1weQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2FzIHNvIGFsbGVzIGxpZ2VuZ2VibGllYmVuIGlzdC4uLiAoTW9udGFudXMsIDI4LiBKdWwgMTk5OSwgMjA6NDA6MTkpOgoKSWNoIGhhZXR0ZSBkYSBub2NoIHNvIGVpbmlnZXMgenUgdmVyc3RlaWdlcm4uLi4KCkVpbiBzY2hvZW5lcyBnZXN0cmVpZnRlcyBIYW5kdHVjaCwgZ3Jvc3MgKGV0d2FzIGJsYXNzZSBGYXJiZW4pLCBnZWZ1bmRlbiBpbgpaaW1tZXIgNSAoenVtIEhvZiByYXVzLCByZWNodHMpCgpFaW4ga29tcGxldHRlciBTYXR6IEJldHR3YWVzY2hlLCBsZWljaHQgZ2VibHVlbXQgKGdlZnVuZGVuIGluIFppbW1lciA0KQoKRWluZSBTY2hsYWZicmlsbGUsIE1hcmtlIEx1ZnRoYW5zYSAoZWJlbmZhbGxzIFppbW1lciA0KQoKRWluIFJ1Y2tzYWNrIHNhbXQgSW5oYWx0IChoaWVyIGhhdCBzaWNoIGFsbGVyZGluZ3MgZGVyIEJlc2l0emVyIHNjaG9uCmdlbWVsZGV0Li4uKQoKRWluaWdlIHBhZWNrY2hlbiBaaWdhcmV0dGVuLCBtZWlzdCBtaXQgaW5uZWxpZWdlbmRlbSBGZXVlcnpldWcKClp1bWluZGVzdCBkaWUgZHJlaSBlcnN0ZW4gSXRlbXMgc2luZCBzaWNoZXJsaWNoIGZ1ZXIgZGllIEJlc2l0emVyIGludGVyZXNzYW50LgpXZXIgZXJrZW5udCBkaWUgU2FjaGVuIHdpZWRlcj8gTWFpbCBhbiBtaWNoIG9kZXIgcHVibGljIG91dGluZyBpbiBkZXIgbXBhLiA7LSkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdhcyBzbyBhbGxlcyBsaWdlbmdlYmxpZWJlbiBpc3QuLi4gKE1vbnRhbnVzLCAyOC4gSnVsIDE5OTksIDIwOjQ0OjQ2KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMzE5NDQxOSByZz1wYXJ0eQp+IyEgdGlkPTkzMzE5NDQxOQoKLi4uIGFlaG0sIGRpZSBCZXR0d2Flc2NoZSB3cmEgaW4gWmltbWVyIDYsIG5pY2h0IDQuIFVuZCBkaWUgU2NobGFmYnJpbGxlIGlzdAphdWNoIHNjaG9uIGVya2FubnQgd29yZGVuLgoKQWNoamEsIHVuZCBub2NoIGplbWFuZCBoYXQgd2FzIHZlcmdlc3NlbiwgbmFlbWxpY2ggVGFuaXMgLSBzZWluZSBaZWNoZSB2b20KRnJlaXRhZ2FiZW5kLiA4IERNIHN0ZWhlbiBub2NoIGF1cywgYWJlciB3ZW5uIGRpZSBQYXJ0eWJyZXR0ZXIgbm9jaCBzdGVoZW4sCmZpbmRldCBzaWNoIGRhIGphIGRpZSBLb250b251bW1lci4gOi0pCgpzcGFldGVyIG1laHIsIGF1Y2ggenVtIE5pa29sYXVzaS1UZXJtaW4uCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmF1Y2ggbm9jaCBnZWZ1bmRlbi4uLiAoTW9udGFudXMsIDI4LiBKdWwgMTk5OSwgMjE6MjE6MzApOgouLi4KCmFiZXIgc2ljaGVyIG5pY2h0IGdhbnogc28gd2VydHZvbGwuLi4KClNlbWluYXJ1bnRlcmxhZ2VuLCBzb2xsIGhlaXNzZW4gT3ZlcmhlYWQtRm9saWVuLCBhdWYgZGVuZW4gaW1tZXIgb2VmdGVyIGRlcgpCZWdyaWZmCgovcGxheWVycy9wYWRyZWljL2J1ZwoKdm9ya2FtLgpKZW1hbmQgSW50ZXJlc3NlPwoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eXNlaXRlbi4uLiAoQW5hdG9sLCAyOS4gSnVsIDE5OTksIDEyOjU2OjQ1KToKSWNoIHZlcm1pc3NlIG5vY2ggaW1tZXIgLSBzY2htZXJ6bGljaCAtIGRpZSBCaWxkZXIgZGVyIFBhcnR5IFhJLiBTb3dlaXQKaWNoIHdlaXNzLCBoYXQgenVtaW5kZXN0IEhhdGUgZGllIExpbmtzIHp1IGRlbiBkaXZlcnNlbiBTdGVsbGVuIGltIE5ldHoKaW4gc2VpbmVtIE1haWxmb2xkZXIgcnVtbGllZ2VuLCBhYmVyIHZpZWxsZWljaHQga29lbm50ZSBzaWNoIGF1Y2ggZWluCmFuZGVyZXIgZGFydW0ga3VlbW1lcm4uLi4/CgpXYWVyIG5ldHQgOikKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eXNlaXRlbi4uLiAoWm9vaywgMjkuIEp1bCAxOTk5LCAxNTozMDoyOSk6Cn4jISBybj1BbmF0b2wgcnQ9OTMzMjUzMDA1IHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjUzMDA1Clpvb2sgZ2VodCBkYW5uIGF1Y2ggbWFsIGFuIGRlbiBTY2FubmVyIHVuZCBsaWVmZXJ0IG5vY2ggZWluIHBhYXIgQmlsZGNoZW4gdm9uClBhcnR5IFhJIDopKSkpKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5LCBkaWUgMTN0ZS4uLiAoTW9udGFudXMsIDI5LiBKdWwgMTk5OSwgMjA6Mzk6MTgpOgoKTnVuLCBpaHIgaGFidCBlcyBuaWNodCBhbmRlcnMgZ2V3b2xsdC4gOi0pCldpZSBzY2hvbiBlaW5pZ2UgYXVmIGRlbSBBbGxnZW1laW4tS2FuYWwgbWl0YmVrb21tZW4gaGFiZW4sIGdpYnQgZXMgZGllc2VzCmphaHIgZ2xlaWNoIG5vY2ggZWluZSBGZXRlLiBGdWVyIGFsbGUgZGllLCBkaWUgbmljaHQgZ2VudWcgYmVrb21tZW4ga29lbm5lbiwKb2RlciBmdWVyIGRpZSwgZGllIGJlaSBOdW1tZXIgMTIgbmljaHQga29ubnRlbi4KRGVyIFRlcm1pbiBzdGVodCBmZXN0OgoKMTAuLTEyLiBEZXplbWJlciAxOTk5CgpEZXIgb3J0IHN0ZWh0IGF1Y2ggZmVzdDogYmVpIFBpenphLVBlcGUgdW5kIEdlbm9zc2VuIGF1ZiBkZXIgQnVyZy4KRGVyIFJlc3QgaXN0IG5vY2ggVmVyaGFuZGx1bmdzc2FjaGUuIFp1bWluZGVzdCBkYXMgdmVycGZsZWd1bmdzcGFrZXQgd2lyZApkZWZpbml0aXYgYW5kZXJzIGdlc2NobnVlcnQgd2VyZGVuLgpEZXN3ZWdlbiB3aXJkIGVzIChob2ZmZW50bGljaCkgYXVjaCBub2NoIGVpbiBiaXNzbGUgZGF1ZXJuLCBiaXMgZGllIG5ldWVuClBhcnR5YnJldHRlciBzdGVoZW4uCkFwcm9wb3M6IHdlbGNoZXIgTWFnaWVyIHNjaG5laWRlcnQgZGFzIHBhcnR5YnJldHQgZnVlciBkaWUgbmFlY2hzdGUgUGFydHkKZXR3YXMgdW0sIHVtIGVzIGRlbiBFcmZhaHJuZ2VuIGRpZXNlciBQYXJ0eSBhbnp1cGFzZW4/IDstKSAKClVuZDogaWNoIG11c3MgbmljaHQgbm9jaGVpbm1hbCBhYnNvbHV0ZXIgQWxsZWludW50ZXJoYWx0ZXIgc2Vpbi4gV2VubiBhbHNvCkxLZXV0ZSBJZGVlbiBoYWJlbiAoYXVzc2VyIEdsdWVod2VpbnRyaW5rZW4gdW5kIFBsYWV0emNoZW5iYWNrZW4pLCBpbW1lciBoZXIKZGFtaXQuIEljaCBsb2VzY2hlIGRlbW5hZWNoc3QgYXVjaCBtYWwgZGllIGhhbGJlIFJ1YnJpayBoaWVyLCBkYW1pdCB3aWVkZXIKZXR3YXMgbWVociBQbGF0eiBmdWVyIEFydGlrZWwgZGEgaXN0LgoKYmlzIHNwYWV0ZXIKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKmdyaW5zKiAoQnJhbndlbiwgMjkuIEp1bCAxOTk5LCAyMDo1MToxOSk6CkhleSwga2xhc3NlLi4uIGVpbmUgbXVkLXBhcnR5Li4uIHVuZCBkYW5uIGF1Y2ggbm9jaCB6dSBtZWluZW0gZ2VidXJ6dGFnIDspCgphbHNvLCBJaHIgd2lzc3QgZGFubiwgd2FzIGlociB6dSB0dW4gaGFidC4uLgotPiBmbGVpc3NpZyBnZXNjaGVua2UgYW5zY2hsZXBwZW4hCgoqZ3JpbnMqCgpicmFud2VuLi4uIGhhdCBhbSAxMi4gZ2VidXJ6dGFnIHVuZCBob2ZmdCwgZGFzcyBzaWUgZGFubiBhdWNoIHdpZWRlciBqZWRlCm1lbmdlIGdsdWVod2VpbiB0cmlua2VuIGRhcmYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSwgZGllIDEzdGUuLi4gKEdub21lLCAyOS4gSnVsIDE5OTksIDIxOjM4OjQ3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzMzI4MDc1OCByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OAphZWhtLi4uCgpzbyBlaW5lIHByb21wdGUgcGFydHktYmVrYW5udG1hY2hudW5nIGlzdCB6d2FyIHp1IGxvYmVuIChiZXNzZXIgYWxzIHp1CnNwYWV0KSwgYWJlciB2aWVsbGVpY2h0IHNvbGx0ZW4gd2lyIG5pY2h0IFpVIHNjaG5lbGwgc2Vpbi4Kc293ZWl0IGljaCB3ZWlzcywgd29sbGVuIGRpZSBkcmVzZG5lciBlaW5lIHN5bHZlc3RlcnBhcnR5IDk5IC0+IDIwMDAKdmVyYW5zdGFsdGVuLgpkYXMgd3VlcmRlIHNpY2ggendhciBtaXQgZGVtIGFuZGVybiB0ZXJtaW4gbmljaHQgZGlyZWt0IHVlYmVyc2NobmVpZGVuLAphYmVyIGVocmxpY2ggZ2VzYWd0LCAyeCBtdWQtcGFydHkgaW4gZWluZW0gbW9uYXQgaGFiIGljaCBhdWNoIGtlaW4gbHVzdCB6dS4KdmllbGxlaWNodCBrb2VubmVuIHNpY2ggbWFsIGVpbiBwYWFyIGRyZXNkbmVyLCBkaWUgYmVzY2hlaWQgd2lzc2VuLCAKYXVzc2FnZWtyYWVmdGlnIGRhenUgYWV1c3Nlcm4/IDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eSwgZGllIDEzdGUuLi4gKFplcGh5ciwgMjkuIEp1bCAxOTk5LCAyMTo0MDoyMyk6Cn4jISBybj1Hbm9tZSBydD05MzMyODQzMjcgcmc9cGFydHkKfiMhIHRpZD05MzMyODA3NTgKCldvIGlzdCBkYXMgUHJvYmxlbT8gRXMgZ2lidCBnZW51ZyBMZXV0ZSB2b24gZGVuZW4gaWNoIHdlaXNzLCAKZGFzcyBzaWUgU2lsdmVzdGVyIGxpZWJlciBpbiBrbGVpbmVtIEtyZWlzIGZlaWVybjsgYmVpCmRpZXNlciBFaW5zdGVsbHVuZyB3aXJkIGRpZSBOaWtvbGF1c3BhcnR5IHNpY2hlcmxpY2ggCm5pY2h0IHp1IGt1cnoga29tbWVuLgpDNAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eSwgZGllIDEzdGUuLi4gKFJpa3VzLCAyOS4gSnVsIDE5OTksIDIxOjQxOjU4KToKfiMhIHJuPUdub21lIHJ0PTkzMzI4NDMyNyByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OApFaW4gTW9uYXQgaGF0IG1laXN0IDQgV29jaGVuZW5kZW4sIHdhcyBzcHJpY2h0IGRhIGdlZ2VuIDIgUGFydHlzPyA6KQoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvdG9zIHVuZCBTaWx2ZXN0ZXJwYXJ0eSAoU2hvcmthbiwgMzAuIEp1bCAxOTk5LCAxMDowNjo0MCk6ClNhbGkgemFlbWUKQWxzbyB6dWVyc3RlaW5tYWwgZWluIHJpZXNlbiBEYW5rZXNjaG9lbiBhbiBNb250YW51cyBmdWVyIGRpZSBPcmdhbmlzYXRpb24KZGVyIHdpcmtsaWNoIGdlbHVuZ2VuZW4gQnVyZ3BhcnR5LgoKTWVpbmUgRGlhcyBzaW5kIGVudHdpY2tsZXQsIGJyYXVjaGVuIGFiZXIgbm9jaCBlaW4gYmlzc2NoZW4sIGJpcyBzaWUKZWluZ2VzY2FubnQgc2luZC4gSWNoIGRlbmtlIGljaCBiZWtvbW1lIGRpZSBEYXRlaWVuIEVuZGUgbmFlY2hzdGUgV29jaGUuCgpJY2ggYmVkYXVyZSBhbGxlIEluZm9ybWF0aWtlciwgZGllIHp1bSBKYWhyZXN3ZWNoc2VsIEJlcmVpdHNjaGFmdHNkaWVuc3QKaGFiZSwgdW5kIGRlc2hhbGIgbmljaHQgYW4gZWluZXIgZXZlbnR1ZWxsZW4gU2lsdmVzdGVycGFydHkgdGVpbG5laG1lbgprb2VubmVuLgoKU2hvcmtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eSwgZGllIDEzdGUuLi4gKFppbm8sIDMwLiBKdWwgMTk5OSwgMTE6MjI6NDMpOgp+IyEgcm49SG9ibyBydD05MzMzMjM0OTcgcmc9cGFydHkKfiMhIHRpZD05MzMyODA3NTgKQWxzbyBmYWxscyBpY2ggbWljaCBhbiBkZXIgQXVzcmljaHR1bmcgZGVyIERyZXNkbmVyIFBhcnR5IGJldGVpbGlnZW4gc29sbHRlCih3YXMgcmVjaHQgd2FocnNjaGVpbmxpY2ggaXN0KSwgZGFubiB3aXJkIGRhcyBuZSBnYW56IG5vcm1hbGUgV2ludGVycGFydHksIHVuZAp6d2FyIHZvcmF1c3NpY2h0bGljaCBpbSBNYWVyei4gV2VubiBqZW1hbmQgd2FzIHZvbiBTaWx2ZXN0ZXIgaW4gZGVuIFVtbGF1ZgpnZXNldHp0IGhhYmVuIHNvbGx0ZSwgZGFubiB3YXIgZGFzIGVudHdlZGVyIGtlaW4gRHJlc2RuZXIsIG9kZXIgZXIgd2FyCmJlc29mZmVuIChzb2xsIGJlaSBJdm8gamEgZ2VsZWdlbnRsaWNoIHZvcmtvbW1lbiA7KS4KCk1haGF0bWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5LCBkaWUgMTN0ZS4uLiAoTWFoYXRtdSwgMzAuIEp1bCAxOTk5LCAxMTozODo1Myk6Cn4jISBybj1aaW5vIHJ0PTkzMzMzMzc2MyByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OApJY2ggc2NoYWV0emUsIGRhIGhhYmVuIGVpbmlnZSAnRHJlc2RlbiAyMDAwJyBhbHMgJ0RyZXNkZW4gZmVpZXJ0IGlucwpKYWhyIDIwMDAgaGluZWluJyBtaXNpbnRlcnByZXRpZXJ0LiBTb2xsIHZvcmtvbW1lbi4gVW5kIGVyemFlaGwgRHUgbm9jaC0KbWFsIHVlYmVyIFNhdWZlbiwgTWFoYXRtYSAuLi4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eSwgZGllIDEzdGUuLi4gKEdyaW1tYW4sIDMwLiBKdWwgMTk5OSwgMTI6MDM6MjEpOgp+IyEgcm49WmVwaHlyIHJ0PTkzMzI4NDQyMyByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OApIZXksIGVzIGdpYnQgbmllIGdlbnVnIFBhcnR5cywgaWNoIGJpbiBpbW1lciBkYWJlaSAhISEgU3RlbGx0IGRhcyBCaWVyIGthbHQKdW5kIGRlbiBHbHVlaHdlaW4gYXVmbiBIZXJkICEhIQoKTUJJTUcgLCBHcmltTWFuClVuZCBXb28sIFN1YmxpbWUgdW5kIEdvdHJlayBzY2hsZXBwIGljaCBkaWVzbWFsIGF1Y2ggbWl0LCBvYiBzaWUgd29sbGVuIG9kZXIKbmljaHQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5LCBkaWUgMTN0ZS4uLiAoUm9jaHVzLCAzMC4gSnVsIDE5OTksIDEyOjA3OjQ2KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTMzMzM2MjAxIHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjgwNzU4CkhtbSwgdW5kIGV4dHJhIGZ1ZXIgRGljaCBzb2xsbiB3b2hsCktpc3NlbiBhdWYgZGVuIFRvaWxldHRlbiBhbmdlYnJhY2h0IHdlcmRlbiwKZnVlciBlaW5lbiBlcmhvbHNhbWVuIFNjaGxhZiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5LCBkaWUgMTN0ZS4uLiAoR3JpbW1hbiwgMzAuIEp1bCAxOTk5LCAxMjoxMTo1OCk6Cn4jISBybj1Sb2NodXMgcnQ9OTMzMzM2NDY2IHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjgwNzU4CkhtbW1tIC4uLiB3aWVzbyBlaWdlbnRsaWNoIG5pY2h0LCBhbHRlcm5hdGl2IGtvZW5udGUgYXVjaCBlaW4gS2xvIG5lYmVuIG1laW4KQmV0dCBnZXN0ZWxsdCB3ZXJkZW4sIGRhbm4gaGFiZW4gZXMgZGllIGVudHNwcmVjaGVuZGVuIExldXRlIG5pY2h0IHNvIHdlaXQgbWl0Cm1pciA7KQoKTUJJTUcgLCBHcmltTWFuIGRlciBzaWNoIGpldHp0IHNjaG9uIHdpZWRlciBmcmV1dCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlciEgKEFuYXRvbCwgMzAuIEp1bCAxOTk5LCAxMzo1Njo0MCk6CkVzIHNpbmQgendhciBub2NoIGVpbmlnZSAiPyIgZGFiZWksIGFiZXIgVmVybHVzdGUgbXVlc3NlbiBvZmZlbmJhciBpbgpLYXVmIGdlbm9tbWVuIHdlcmRlbi4gRGllIE1HLVNlaXRlbiB3dXJkZW4gZWJlbiB1bSBlaW4gcGFhciBBdWZuYWhtZW4KYmVyZWljaGVydC4gRGFuayBhbiBqZW5lIERhbWVuLCBkaWUgZGFzIFplbnN1cnJlY2h0IGhhdHRlbiB1bmQgbmljaHQKbnV0enRlbiwgRGFua2UgYW4gQXJhbmNpYSB1bmQgRGFya3dpbmcsIGRpZSBiZWkgZGVyIElkZW50aWZpa2F0aW9uCmRlcyBlaW5lbiBvZGVyIGFuZGVyZW4gR2VzaWNodHMgaGFsZmVuIHVuZCBEYW5rIGFuIGFsbCBqZW5lLCBkaWUgR25hZGUKdm9yIFJlY2h0IHdhbHRlbiBsYXNzZW4gdW5kIG1pciBiZWkgZGVyIG5hZWNoc3RlbiBQYXJ0eSBuaWNodCBhbiBkaWUKS2VobGUgc3ByaW5nZW4gd2VyZGVuLiA6KQoKaHR0cDovL21nLm11ZC5kZS9QYXJ0eS9QYXJ0eS4xMi9mb3Rvcy5hbmF0b2wvaW5kZXguaHRtbAoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJpbGRlciEgKFJvbmRhLCAzMC4gSnVsIDE5OTksIDE0OjE4OjU0KToKfiMhIHJuPUFuYXRvbCBydD05MzMzNDMwMDAgcmc9cGFydHkKfiMhIHRpZD05MzMzNDMwMDAKS2xhc3NlLCBmcmV1IG1pY2ggc2Nob24gYXVmIGRpZSBCaWxkZXIuLi4KQWJlciBlaW5lIGtsZWluZSBJZGVlIGhhZXR0ZSBpY2ggbm9jaDogaWNoIGhhZXR0ZSBnZXJuIGVpbmUgU2VpdGUgbWl0CkFua2xpY2tiYXJlciBVZWJlcnNpY2h0LCBhdWYgZGVyIGRpZSBuZXR0ZW4gVGV4dGUgenUgZGVuIEJpbGRlcm4gYXVjaCBkcmF1ZgpzdGVoZW4uLi4gd2FlcmUgZGFzIGlyZ2VuZHdpZSBtb2VnbGljaD8gKERhZnVlciBrb2VubnRlIG1hbiBqYSBkaWUKbmljaHRhbmtsaWNrYmFyZSBVZWJlcnNpY2h0IHdlZ2xhc3Nlbj8pCgpSb25kYSAqc2Nob24gamV0enQgdmllbGVuIERhbmsgZGFmdWVyIDopKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHksIGRpZSAxM3RlLi4uIChDYWlsbGVhbiwgMzAuIEp1bCAxOTk5LCAxNDo1ODoyNyk6Cn4jISBybj1HcmltbWFuIHJ0PTkzMzMzNjIwMSByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OAp1bmQgZGFubiBtYWNoZW4gd2lyIGF1Y2ggZGlyZWt0IG5lbiBrbG8gZnJlaSBmdWVyIGRpY2ggLCBuaWNoIHdhaHIKCmNhaWxsZWFuLCBpbW1lciBub2NoIHNjaGFkZW5mcm9oIGdyaW5zZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJpbGRlciEgKFJvbmRhLCAzMC4gSnVsIDE5OTksIDE2OjA3OjEyKToKfiMhIHJuPVJvbmRhIHJ0PTkzMzM0NDMzNCByZz1wYXJ0eQp+IyEgdGlkPTkzMzM0MzAwMApSb2NodXMgc2VpIERhbmsgOykKSWNoIGhhYicgamEgZHJhdWYgZ2Vob2ZmdCwgZGFzcyBpY2ggaWhuIHp1IHNvIHdhcyBhbnN0YWNoZWwsIGFiZXIgZGFzcyBlcyBzbwpzY2huZWxsIGdlaHQhIEtsYXNzZSEKClJvbmRhICpiZWltIG5hZWNoc3RlbiBUcmVmZmVuIHR1JyBpY2ggRGlyIG5lIENvbGEgYXVzKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5LCBkaWUgMTN0ZS4uLiAoS251cnQsIDMwLiBKdWwgMTk5OSwgMTc6MDI6NTcpOgp+IyEgcm49TW9udGFudXMgcnQ9OTMzMjgwNzU4IHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjgwNzU4Ck9raSBNb250YW51cywgCmRpZXNtYWwga29tbWUgaWNoLgpNYWwgRGVpbmUgQnVyY2ggYW5zZWhlbiwgd2llIHZlcnNwcm9jaGVuLgpLbnUocil0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eSwgZGllIDEzdGUuLi4gKEl2bywgMzAuIEp1bCAxOTk5LCAxODowMjowMyk6Cn4jISBybj1aaW5vIHJ0PTkzMzMzMzc2MyByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OApoYWxsbyBMZXV0LAoKbWlyIHdhciBlcyAoYWxzIHdvaGwgc2Nob24gZmVzdHN0ZWhlbmRlciBHTyBkZXIgV2ludGVycGFydHkgOykgKSBhdWNoIGV0d2FzCk5ldWVzLCBkYXNzIGRpZSBEcmVzZGVuLTIwMDAtUGFydHkgc2Nob24genVtIEphaHJlc3dlY2hlbCA5OS0wMCBzdGF0dGZpbmRlbgpzb2xsLiBCZWkgdW5zIHdhciBpbW1lciB2b20gMS4gTWFlcnogV29jaGVuZW5kZSBkaWUgUmVkZSwgYWxzbyBHbm9tZSwgd2FzY2gKRGlyIG1hbCBkaWUgT2hyZW4gOikpLgpTaWNoIGF1ZiBkaWUgZWluemlnIHdhaHJlIF8xMy5fIFBhcnR5IGZyZXVlbmQgOykKCkl2bwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHksIGRpZSAxM3RlLi4uIChMaWFyYSwgMzAuIEp1bCAxOTk5LCAxODowNjowMik6Cn4jISBybj1Jdm8gcnQ9OTMzMzU3NzIzIHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjgwNzU4Ck5lbm50IHNpZSBoYWx0IDEyYSwgd2VubiBzaWUgZ2VuYXVzbyBndXQgd2lyZCB3aWUgMTIgaXNzZXMgbWlyIGdhbnogZWdhbC4gOi0pCgpMaWFyYSwgZnJldXQgc2ljaCBzY2hvbiBhdWYgV2ludGVyIGlubmVyIFdpbnRlcmJ1cmcgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXJ0eSwgZGllIDEzdGUuLi4gKEdyaW1tYW4sIDMwLiBKdWwgMTk5OSwgMTk6NDc6MDgpOgp+IyEgcm49TGlhcmEgcnQ9OTMzMzU3OTYyIHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjgwNzU4CkJpbiBqYSBtYWwgZ2VzcGFubnQsIHdlciBhbGxlcyBlaW4gSGFuZHNjaHVoc2NobmVlYmFsbHdlcmZlciBpc3QhCgpNQklNRyAsIEdyaW1NYW4gZWluemVpbGVybmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxvYiAoRGllZGVyLCAgMi4gQXVnIDE5OTksIDEyOjM2OjIwKToKVGphLCBhdWNoIHZvbiBtaXIgZWluIGRpY2tlcyBMb2IgZnVlciBkaWUgZ2VsdW5nZW5lIFBhcnR5LiBTY2hhZGUsIGRhc3MgaWNoCnNjaG9uIGZydWVoZXIgYWJyZWlzZW4gbXVzc3RlLgoKT3BhIERpZWRlciwgbWVociBhbHMgYW5nZW5laG0gdWViZXJyYXNjaHQgdm9uIHNlaW5lciBlcnN0ZW4gUGFydHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWxkZXIhIChBcmssICAyLiBBdWcgMTk5OSwgMTk6MDI6MDMpOgp+IyEgcm49QW5hdG9sIHJ0PTkzMzM0MzAwMCByZz1wYXJ0eQp+IyEgdGlkPTkzMzM0MzAwMApKYSwgYnJhdm8gYW4gRGljaCwgZGluZ2VucywgYWVoIC4uLiBBbmF0b2wsIGZ1ZXIgZGllc2UgbG9lYmxpY2hlIFRhdCwgZGllIHVucwotIHVuZCBpY2ggc3ByZWNoZSBoaWVyIHNpY2hlciBpbSBOYW1lbiB2aWVsZXIgTXVkZGVyIC0gYWxsZSBpbiwgdm9yc2ljaHRpZwpmb3JtdWxpZXJ0LCBnZXJhZGV6dSBoeW1uaXNjaGUgQmVnZWlzdGVydW5nc3N0dWVybWUgYXVzYnJlY2hlbiBsYXNzZW4uCgpHdXQuCgpBbGxlcmRpbmdzIG1vZWNodGUgaWNoIGFuIGRpZXNlciBTdGVsbGUgbmljaHQgdmVyaGVobGVuLCBkYXNzIGljaAptaXNzYmlsbGlnZW5kIGFubWVya2VuIG11c3MsIGRhc3MgZWluIHNjaHJlY2tsaWNoZXIgSXJydHVtIG1pY2ggaW4gbmljaHQKd2llZGVyZ3V0enVtYWNoZW5kZW4gTWlzc2tyZWRpdCBicmluZ2VuIGtvZW5udGUuIERlc2hhbGIgd2lsbCBpY2ggYXVmIGRhcwpTY2hhZXJmc3RlIHByb3Rlc3RpZXJlbiwgZGFzcyBCaWxkIDMwIG9obmUga2xhZXJlbmRlbiBLb21tZW50YXIKdmVyb2VmZmVudGxpY2h0IHd1cmRlLiBFcyBoYW5kZWx0IHNpY2gsIHdpZSBkZW0gZ2VzY2h1bHRlbiBBdWdlIHNvZm9ydCBpbnMKc2VsYmlnZSBzcHJpbmdlbiBzb2xsdGUsIGJlaSBkZXIgZGFyZ2VzdGVsbHRlbiBQZXJzb24ga2VpbmVzd2VncyB1bSBtZWluCmdlcGZsZWd0ZXMgQWV1c3NlcmVzLCBzb25kZXJuIHVtIGRlbiBtaXRoaW4gc2Nob24gYmVydWVjaHRpZ3RlbiBQZXJzb25lbi0gdW5kClN0aW1taW1pdGF0b3IgUCdhcmsuIERpZXNlciBiZW51dHp0IHNlaW5lIFZlcnN0ZWxsdW5nc2t1ZW5zdGUgLSB3ZW5uZ2xlaWNoCmFybXNlbGlnIGFuIFZpZWxmYWx0IC0gdW0gdm9yenVnc3dlaXNlIG1pY2ggZGVyIExhZWNoZXJsaWNoa2VpdCBwcmVpc3p1Z2ViZW4uCkRvY2ggamVkZW0gbWVociBhbHMgbnVyIGZsdWVjaHRpZ2VuIEJldHJhY2h0ZXIgbXVzcyBhdWZmYWxsZW4sIHdpZSBzY2hhZWJpZwp1bmQgYmlsbGlnIHNlaW5lIGhlaW10dWVja2lzY2hlbiBUcmlja3MgaW4gV2lya2xpY2hrZWl0IHNpbmQuIEhpZXIgYmVudXR6dCBlcgplaW5lIHVuc2NodWxkaWdlICg/KSBQZXJzb24gbmFtZW5zIEhvYm8gKEhpbndlaXNlIGF1ZiBkZW4gZHViaW9zZW4gTmFtZW4KdmVybWVpZGUgaWNoIGhpZXIgZ2VzY2hpY2t0KSwgdW0gc2ljaCBpbiBnZXJhZGV6dSB3aWRlcmxpY2hlciBBcnQgaW4gZGFzIExpY2h0CmRlcyBCbGl0emVzIHp1IGRyYWVuZ2VuLgpIaW5mb3J0IG1pdCBpaG0gaW4gZGllIER1bmtlbGhlaXQsIHdvIGVyIG9mZmVuYmFyIGhpbmdlaG9lcnQuIFAnYXJrdmVyYm90IGZ1ZXIKaWhuLCBkYXMgZm9yZGVyZSBpY2ggaGllciBpbSBNdWQuIFdvIGlzdCBtZWluIHVuc2NodWxkaWdlciBCbGljaywgd28gbWVpbgp2ZXJzdGFlbmRuaXN2b2xsZXMgTmlja2VuLCB3byBtZWluZSB2b3JuZWhtZSBadXJ1ZWNraGFsdHVuZyBnZWdlbnVlYmVyIGRlcgphdWZkcmluZ2xpY2hlbiBGb290b21hZmlhPwpXZXIga2FubiBudXIgZGllc2UgZW50c3RlbGx0ZSwgb2ZmZW5zaWNodGxpY2ggYWxrb2hvbGlzaWVydGUsIGRlbSBXYWhuIGFuaGVpbQpnZWZhbGxlbmUgJ1BlcnNvbicgbWl0IG1laW5lbSBndWV0aWdlbiBXZXNlbiB2ZXJ3ZWNoc2Vsbj8gSW0gTmFtZW4gZGVzIE1VRAooTWlzc2lvbiBmdWVyIHVuZXJrYW5udGUgRG9lZGVsKSBmb3JkZXJlIGljaCBEaWNoIGhpZXJtaXQgYXVmLCBkZW0gdW5zZWxpZ2VuClBvc3NlbnNwaWVsIGVpbiBFbmRlIHp1IGJlcmVpdGVuIHVuZCBkYXMgQmlsZCB6dSBlbnRmZXJuZW4gb2RlciB3ZW5pZ3N0ZW5zCndhcm5lbmRlIFdvcnRlIHp1IGZvcm11bGllcmVuLCBzbyBkYXNzIGVpbmUgVmVyd2VjaHNsdW5nIHVubW9lZ2xpY2ggd2lyZC4KSWNoIGhvZmZlLCBkYXNzIER1IG5pY2h0IGluIFZlcnN1Y2h1bmcgZ2VmdWVocnQgd3VyZGVzdCwgYXVzIGRlbSBCaWxkIGVpbmUKZGVyYXJ0aWcgbWllc2UgZGlnaXRhbGUgUmV0dXNjaGUgYW56dWZlcnRpZ2VuLCB1bSBtaWNoIHNvIGluIGRlbiBTY2htdXR6IHp1CnppZWhlbiwgaWNoIGthbm4gbWlyIG5pY2h0IHZvcnN0ZWxsZW4sIGRhc3MgLi4uIG9kZXIgZG9jaD8gTmljaHQsIGJpdHRlIG5pY2h0Ci4uLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAuIChBbmF0b2wsICAzLiBBdWcgMTk5OSwgMDA6Mjg6NDYpOgp+IyEgcm49V2ltIHJ0PTkzMzYzNTY2MSByZz1wYXJ0eQp+IyEgdGlkPTkzMzYzNTY2MQpBdWYgV3Vuc2NoIGVpbmVzIGVpbnplbG5lbiwgbmljaHQgbmFlaGVyIHp1IG5lbm5lbmRlbiBNYWdpZXJzLCBkZXIKaW4gYWx0ZW4gS3JpZWdzd3VuZGVuIHN0b2NoZXJ0ZSB1bmQgVW5oZWlsIGhlcmF1ZmJlc2Nod29yLCBnaWJ0IGVzCmRpZXNlIHp1IGJlbGFlY2hlbG5kZW4gWmVpbGVuIG5vY2htYWxzIHVuZCBpbiBCbG9ja3NhdHouIERlbiB3b2hsCiJhbHRlbiIgQXJ0aWtlbCB2ZXJtYWcgamVkb2NoIG51ciBlaW4gKFNjaCllcnptYWdpZXIsIGRlciBsZWlkZXIgCm5pY2h0IG1laHIgaGluenVnZS16b29rLWVuIHdlcmRlbiBrYW5uLCB6dSBlbnRzb3JnZW4uIDopCgpHdXQgU2Nyb2xsIHd1ZW5zY2h0CkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1nIHhpaSBlbiBibG9jIDopIChBbmF0b2wsICAzLiBBdWcgMTk5OSwgMDA6MzA6MTQpOgoKU28gIHZlcm5laG1ldCAgbnVuIGRlbiAgaW5vZmZpemllbGxlbiBCZXJpY2h0ICBkZXMgendlaXRlbiAgZmVzdGxpY2hlbgpNYWhscyBhbm5vIDE5OTksICB3ZWxjaGVzIGRhIGlzdCBkYXMgR3Jvc3NlIEZlc3RtYWhsIFhJSS4gIExhc3NldCBldWNoCmJlcmljaHRlbiAgdm9uICBTcGVpcycgdW5kIFRyYW5rLCAgdm9uIExhZWNoZWxuIHVuZCBCZWxhZWNoZWx0LXdlcmRlbiwgCmxhdXNjaHQgIG9iIGRlciB3dW5kZXJzYW1lbiBEaW5nZSwgIGRpZSBzY2hvbiBpbW1lciBzbyB3dW5kZXJzYW0gd2FyZW4gCnVuZCBkZW4gRGluZ2VuLCBkaWUgc2ljaCBhdWYgd3VuZGVyc2FtZSBXZWlzZSBoYWJlbiBnZWFlbmRlcnQhCgpXaWUgZ2FyIGdyb3NzIHdhcmQgZGllIEZyZXVkZSB1ZWJlciBkZW4gbGF1dGdld29yZGVuZW4gUnVmLCAgZGFzcyBlaW5lCk9lcnRsaWNoa2VpdCBmdWVyIGRpZSBuZXVlcmxpY2hlIEZlc3Rpdml0YWV0IGdlZnVuZGVuIHdhcmQhIFVuZCBvaCB3aWUgCmZyYWdlbmQgd2FyZW4gZGllIEJsaWNrZSBkZXIgVW5rdW5kaWdlbiwgYWxzIHNpZSB2ZXJnZWJlbnMgdmVyc3VjaHRlbiwgCmRpZSBCdXJnICBkZXMgenVrdWVuZnRpZ2VuICBHZXNjaGVoZW5zIGF1ZiBLYXJ0ZW4gZGVzIExhbmRlcyAgaXJnZW5kd28gCmF1c3p1bWFjaGVuISBEb2NoIHNlbHRlbiBicmluZ3QgZWluZSB3YWhyZSBTdWNoZSBuaWNodHMgYW5zIExpY2h0LCB1bmQKc28gIGZhbmRlbiBhdWNoIGRpZSBsYWVybWVuZGVuICBNYXNzZW4gZGVyIEt1dHNjaGVuIGF1cyBTdGFobCwgIHdlbGNoZSAKb2huZSBQZmVyZGUgZnVocmVuLCAgaW4gZGllIHdhaHJoYWZ0aWdlIEFiZ2VzY2hpZWRlbmhlaXQgZGVyICBCdXJnIGRlcyAKV2ludGVycyAtIGJvZXNlIFp1bmdlbiBiZWhhdXB0ZXRlbiwgIHNpZSBmYW5kZW4gamVuZSwgIGluIGRlbSBzaWUgIGRlbiAKRmxlY2sgYXVmIGlocmVyIEthcnRlIHN1Y2h0ZW4sICB1bSBkZW4gZGllIEFuemVpY2hlbiB2b24gIG1lbnNjaGxpY2hlciAKWml2aWxpc2F0aW9uIGFtIGdlcmluZ3N0ZW4genUgZXJrZW5uZW4gd2FyZW4uIAoKT2ggd2llIHd1c3N0ZW4gc2llIGRhbm4gamVuZSBBYmdlc2NoaWVkZW5oZWl0IHp1IHNjaGFldHplbiEgIEtlaW4gYXVmLQpnZWJyYWNodGVyIE5hY2hiYXIsIGRlciBkZW4gQnVldHRlbCBkZXMgbmFoZWdlbGVnZW5lbiBEb3JmZXMgZ2VnZW4gc2llIAphdWZoZXR6dGUsICBrZWluZSBzdHJldW5lbmRlbiBLYXR6ZW4sICBIdW5kZSBvZGVyIGFuZGVyZXMgR2V0aWVyLCAgZGFzIAppaG5lbiBpaHIgZWRsZXMgTWFobCAgc3RyZWl0aWcgenUgbWFjaGVuIHZlcnN1Y2h0ZSwgIGRhZnVlciB3dXJkZW4gc2llICAKbWl0IGVpbmVyICBoZXJybGljaGVuIEF1c3NpY2h0IGJlZGFjaHQgIHVuZCBtaXQgc29saWRlbiAgdW5kICBiZXF1ZW1lbiAKU2NobGFmc3RhZXR0ZW4gYXVzZ2VzdGF0dGV0LiAgVW5kIGplbmUsICBkaWUgZGVtIFNjaGxhZiBpbiAgZmVzdGVuIEdlLQptYWV1ZXJuIGRlbiB1bnRlciBkZXMgU2Nob2VwZmVycyBrbGFyZW0gSGltbWVsIHZvcnpvZ2VuLCBzY2hsdWdlbiBpaHJlIApidW50ZW4gWmVsdGUgYXVmICBuYWhlbSBzYWZ0aWdlbiAgR3Jhc2xhbmQgIGF1ZiwgIGVyd2Vja3RlbiBlaW4gIG5ldWVzIApCdXJnZG9yZiB6dSBqdW5nZW0gTGViZW4uCgpBbiBqZW5lbSAgZXJzdGlnZW4gQWJlbmQgd2FyZCAgenUgYmVvYmFjaHRlbiBkYXMgIGdld29laG5saWNoZSBHZWJhcmVuCmRlciBQaWxnZXJtZW5nZS4gIFNvIHN0YW5kICBkYXMgVm9sayBpbiAga2xlaW5lbiBHcnVwcGVuICBiZWllaW5hbmRlciwgCmRlbm4gIGRlciBub3JtYWxlICBlaW56ZWxuZSBTdHJlaXRlciBzY2hpZW4gc2ljaCAgZG9ydCBhbSB3b2hsc3RlbiAgenUgCmZ1ZWhsZW4sIGluIGVpbmVyIGtsZWluZW4gR3J1cHBlLCBkZXJlbiBNaXRnbGllZGVyIGVyIG5pY2h0IG51ciBpbiBqZS0KbmVyIGdlZmFocnZvbGxlbiAgV2VsdCBkZXIgRmFudGFzaWVuICBrZW5udCwgIGRlbm4gbWl0IGplbmVuIHZlcm1hZyBlciAKYmVyZWl0cyB1bXp1Z2VoZW4uICBKZW5lIGFuZGVyZW4gYWJlciwgZGllIGVyIG51ciBhdXMgZ3Jvc3NlbiBTY2hsYWNoLQp0ZW4gdW5kIGRlciB6d2VpZmVsaGFmdGVuIFZlcnRyYXV0aGVpdCBkZXIgIEZhbnRhc2llIGtlbm50LCAgamVuZW4gYmUtCmdlZ25ldCBlciBtaXQgZGVyIFVuc2ljaGVyaGVpdCBlaW5lcyBNYW5uZXMsICBkZXIgbmljaHQgbWVociB3ZWlzcywgb2IgCnNlaW4gSGF1c3RpZXIgZWluZSBQdWZmb3R0ZXIgb2RlciBlaW5lIEJsaW5kc2NobGVpY2hlIGlzdC4gIERpZSBzY2hpbC0KbGVybmRlbiBBdXNuYWhtZW4gamVuZXIgUmVnZWwgd2FyZW4gc2VsdGVuLCAgZG9jaCBhdWNoIHNpZSBnYWIgZXM6IE1pdCAKd2lsZGVuICBGcmV1ZGVucnVmZW4gZmllbGVuICBzaWUgTWVuc2NoZW4sICBkaWUgc2llIG5pZSB6dXZvciAgZ2VzZWhlbiAKaGF0dGVuLCB1bSBkZW4gSGFscywgd2VsY2hlIHNpY2ggZGFubiBvZnRtYWxzIGRvY2ggZWhlciB2b24gUHVmZm90dGVybiAKdW1zY2hsdW5nZW4gd2FlaG50ZW4uICBEb2NoIGhpZWx0IHNpY2ggYXVjaCBoZXVlciBkaWVzZSAgZ2VyYWRlenUgZWluLQptYWxpZ2UgU3RpbW11bmcgbmljaHQgYWxsenUgIGxhbmdlICB1bmQgYWxzYmFsZCAgYmVnYW5uICBhdXNnZWxhc3NlbmVzIApGZXN0ZW4sIEZldGVuLCBGZWllcm4hICBEaWUgRnVlcnNvcmdlIHVtIGRhcyBsZWlibGljaGUgV29obCB3YXIgYW4gamUtCm5lbSBBYmVuZCB6d2FyIG5vY2ggbmljaHQgZWluZXMgIGdhciBncm9zc2VuIEh1bmdlcnMgYW5nZW1lc3NlbiwgIGRvY2ggCndhcmQgbWl0IENoaWxpIHVuZCBXdWVyc3RjaGVuIHVuZCBHZXRyYWVuaywgIG9ic2Nob24gbnVyIGdlZ2VuIGJsYW5rZXMgCkdvbGQsIGRlbSBTY2hsaW1tc3RlbiBFaW5oYWx0IGdlYm90ZW4uCgpTY2hvbiAgYW4gamVuZW4gQWJlbmQgIGtyb2NoIGRhcyBCZWdyZWlmZW4gdW0gZGllIE9lcnRsaWNoa2VpdCAgaW4gZGFzCkJld3Vzc3RzZWluIGRlciBGZWllcm5kZW4sIHdpZSBkaWUgZmV1Y2h0ZSBLYWVsdGUgZWluZXMga2xhbW1lbiBGcnVlaC0KbGluZ3Ntb3JnZW4gaW4gZGVuIFNjaGxhZnN0YWV0dGUgZGVzIFBpbGdlcnMga3JpZWNodDogV2VsY2gnIGVybGVzZW5lcyAKR2x1ZWNrIHNpZSBkb2NoIGhhdHRlbiEgIERhcyBHZW1hZXVlciB3YXJkIHp3YXIgYWx0LCBkb2NoIGluIGd1dGVtIFp1LQpzdGFuZC4gIFZpZWxlIFppbW1lciwgTmlzY2hlbiwgIEVja2VuIGtvbm50ZW4gZ2VudXR6dCB3ZXJkZW4gIGZ1ZXIgR2UtCnNwcmFlY2hlIHVudGVyIHNpY2ggbmFlaGVya29tbWVuZGVuIE1lbnNjaGVuIHVuZCBrbGVpbmVuIEdydXBwZW4uICBVbmQgCmZ1ZXJ3YWhyLCBzaWUgd3VyZGVuIGdlbnV0enQhICBTb2dhciBlaW4gbWl0IDg4IHNjaHdhcnplbiAgdW5kIHdlaXNzZW4gClRhc3RlbiBiZXN0dWVja3RlcyBJbnN0cnVtZW50IGRlciBNdXNpayB1bmQgRnJldWRlICB3dXJkZSBpbiBlaW5lbSBkZXIgCmdlbXVldGxpY2hlbiBSYWV1bWUgZW50ZGVja3QuICBXaWUgZ3Jvc3Mgd2FyIGRpZSBGcmV1ZGUsICBhbHMgZGllIHNpY2ggCnZlcmdudWVnZW5kZW4gTWVuc2NoZW4gZmVzdHN0ZWxsdGVuLCBkYXNzIHNpY2ggdW50ZXIgaWhuZW4gZWluZSBncm9zc2UgClphaGwgZGVyZXIgYmVmYW5kLCAgZGllIG1pdCAgZGllc2VuIFRhc3RlbiAgdW16dWdlaGVuIHZlcnN0YW5kZW4hICBEYXMgCkZlc3QgdmVyc3ByYWNoLCBlaW4gRmVzdCBkZXIgTXVzaWssIGRlcyBydWhpZ2VuIEtlbm5lbmxlcm5lbnMgdW5kIGF1Y2ggCmRlciBBdXNnZWxhc3NlbmhlaXQgenUgd2VyZGVuLiBVbmQgYWxzbyBnZXNjaGFoIGVzLgoKV2FlaHJlbmQgZGVubiBudW4gaW4gIGRpZXNlbSBCZXJpY2h0IGRpZSBNZW5nZW4gIHZlcnRlaWx0IHNpbmQgYXVmIGRlbQpQbGF0eiB2b3IgZGVtIEhhdXMsIHdvIHNpY2ggdmllbGUgZGVuIGlyZGlzY2hlbiBHZW51ZXNzZW4gd2llIGRlbSB2ZXItCmRlcmJ0ZW4gQWxrb2hvbCBvZGVyIGRlciBlZGxlbiBDb2NhLUNvbGEgaGluZ2FiZW4sIGluICBkZW4gV2lua2VsbiB1bmQgCk5pc2NoZW4gZGVzIEdlYmFldWRlcyAgdW5kIHNwYXppZXJlbmdlaGVuZCBpbiBkZXIgcnVoaWdlbiBuYWVjaHRsaWNoZW4KVW1nZWJ1bmcsIGxhc3N0IG1pY2ggZWluIFdvcnQgenUgZGVuIE1lbnNjaGVuIHNlbGJzdCB2ZXJsaWVyZW4sIHp1IGplLQpuZW4sIGRpZSBzaWNoICBhdWYgZGVtIEZlc3QgZGVyIFVlYmVycmFzY2h1bmdlbiBlaW5mYW5kZW4uICBPaCwgZXMgd2FyIAp3YWhyaGFmdGlnICB2b2xsZXIgdW52b3JoZXJnZXNlaGVuZW4gRGluZ2VuLCAgc28gZmFuZGVuICBzaWNoIGRvY2ggenVtIApCZWlzcGllbCAgdW5lcndhcnRldGUgR2Flc3RlIGF1cyBCb25uICB1bmQgRHJlc2RlbiAgZWluIHVuZCAgb2J3b2hsIHNvIAp2aWVsZSBNZW5zY2hlbiB2ZXJtaXNzdCB3dXJkZW4gLSBkaWUgaG9oZSBWZXJ0cmV0dW5nIGF1cyBFc3NlbiBmZWhsdGUsIAphdWNoIEdpZXNzZW5zIEFsdGVuIHdhcmVuIG5pY2h0IGdlc2VoZW4sICBzZWxic3QgZGllIHNvIHNlaHIgZXJob2ZmdGVuIApEZWxlZ2F0aW9uZW4gYXVzIE1hcmJ1cmcgdW5kIE9zbmFicnVlY2ssIGphIHNvZ2FyIGRpZSBhdXMgTXVlbnN0ZXIgdW5kIApEb3J0bXVuZCB3YXJlbiB1bnRlcmJlc2V0enQgLSB1bmQgZGllIGdyYXVlbiBIYWFyZSAgaW0gZ3Jvc3NlbiBTY2hvcGZlCmRlciBXZWx0ZW53YW5kZXJlciAgbGFuZ3NhbSBhdXN6dWZhbGxlbiAgYmVnYW5uZW4sICBzY2hpZW5lbiBzaWNoIGF1Y2ggCmRpZXNlcyBtYWwgIG5pY2h0IGFsbHp1dmllbGUgIE1lbnNjaGVuIGVpbnNhbSB6dSBmdWVobGVuLCAgZGVubiBqdW5nZSwKdW52ZXJicmF1Y2h0ZXMgIEhhYXIgc3Byb3NzICBuYWNoICB1bmQgdW13YW5kIGRpZSAga2FobGVuIFN0ZWxsZW4gIG1pdCAKZWlnbmVtIENoYXJtZSwgZWlnbmVyIFNjaG9lbmhlaXQuICBEb2NoIGVpbmVzIGtvbW1lIGljaCBuaWNodCB1bWhpbiB6dQpiZW1lcmtlbiwgZWluIFdvcnQsICBlaW4gS29tcG9zaXR1bSBhdXMgendlaWVuLCAgZWluIEJlZ3JpZmYgc2Nod2lycnRlIApoaW4gdW5kIGhlciBpbiBkZW4gS29lcGZlbiBhbGxlciBHYWVzdGUgLSBudW4sICB6dW1pbmRlc3QgaW4gZGVuIEtvZXAtCmZlbiBkZXIgbWFlbm5saWNoZW4sICBzdWNoZW5kZW4gLSB1bmQgd2FyZCAgZWluZmFjaCBuaWNodCByZWNodCB0b3R6dS0Kc2Nod2VpZ2VuOiBGcmF1ZW5hbnRlaWwuIApXbyBzaW5kIHNpZSBoaW4sIGplbmUgWmVpdGVuLCBpbiBkZW5lbiBzb2xjaGUgRmVzdGUgZ2VzcGlja3Qgd2FyZW4gbWl0IAp6d2VpIG9kZXIgZ2FyIGRyZWkgYXVzZXJsZXNlbmVuIFNjaG9lbmhlaXRlbiBkZXMgYW5kZXJlbiBHZXNjaGxlY2h0ZXMsIAp3byBzaW5kIHNpZSBoaW4sICBqZW5lIEFiZW5kZSwgIGFuIGRlbSBtYW4gZGllc2UgZWluZmFjaCBpbiBkaWUgTmFjaHQtCmxhZ2VyIHNjaGlja3RlIHVuZCB1bnRlciB3YWhyZW4gTWFlbm5lcm4gIChzaWMhKSB6dSBmZWllcm4gd3Vzc3RlPyBTaWUgCnNpbmQgZm9ydCB1bmQgd2FocmhhZnRpZywgZXMgdHJhdWVydCBpaG5lbiBrZWluIE1hbm5lIG5hY2guICBEb2NoIG5vY2ggCnZlcnd1bmRlcmxpY2hlciBhbHMgZGllIFphaGwgZGVyIHdlaWJsaWNoZW4gR2VzY2hvZXBmZSwgIG5vY2ggZXJzdGF1bi0KbGljaGVyIG1hZyAgZGllIEVyc2NoZWludW5nIHZpZWxlciBpaHJlciBBcnQgIGdld2VzZW4gc2VpbiwgIGRpZSBuaWNodCAKZXR3YSAgdW5hbnNlaG5saWNoIG9kZXIgIGdhciAgc2NoYWViaWcgYW56dXNlaGVuIHdhciwgIG5laW4sICB2aWVsbWVociAKd3Vzc3RlbiBqZW5lIEZyYXVlbiBkaWUgdW5zY2h1bGRpZ2VuIEhlcnplbiB1bmdlemFlaGx0ZXIgV2VyYmVyIGluIHNwZSAKYWxsZWluIG1pdCBlaW5lbSBMYWVjaGVsbiB6dSBicmVjaGVuLiAgCgpPaCwgZGllcyBMYWVjaGVsbiEgT2gsIGhvbGRlIFdlaWJsaWNoa2VpdCEgU2FnZXQsIHdpZXZpZWxlIERpY2h0ZXIgdW5kClBvZXRlbiBtb2VnZW4gc2ljaCBhbiBqZW5lbSAgU3RyYWhsZW4gc2Nob24genUgTWVpc3RlcndlcmtlbiBkZXIgV29ydC0Ka3Vuc3QgIGhhYmVuICBpbnNwaXJpZXJlbiBsYXNzZW4/ICBXaWV2aWVsZSB1bnRlciB1bnMgTWFlbm5lcm4gIGZpZWxlbgpzb2xjaGVuIEF1Z2VuYmxpY2tlbiwgaW4gZGVuZW4gd2FocmhhZnQgZ3JlaWZiYXIgd2lyZCBkaWUgQXVzc3RyYWhsdW5nIApqZW5lciBMYWVjaGVsbmRlbiwgYmVyZWl0cyB6dW0gT3BmZXIgdW5kIHZvbGxicmFjaHRlbiBncm9zc2UgVGF0ZW4/IApTZWhldCBoZXIsIGRvcnQhIEplbmVyIHN0cmFobGVuZGUgQmxpY2ssIGplbmUgY2hhcmlzbWF0aXNjaGUgT2ZmZW5oZWl0CnVuZCBqZW5lciBDaGFybWUsIGplbmUgdm9sbGVuLCAgbGVpY2h0IGdlb2VmZm5ldGVuIExpcHBlbiBkZXIgSGluZ2FiZSwgCm1pdCBkZXIgZGVyICBCZWNoZXIgZGVzIEdsdWVja3MgYW4gIGRlbiBsaW5rZW4gTmFjaGJhcm4gIHdlaXRlcmdlZ2ViZW4gCndpcmQsIGhvZXJldCBkaWUgTGllYmxpY2hrZWl0IGRlcyBXb3J0ZXMsICBkYXMgamVuZXMgemF1YmVyaGFmdGUgV2VzZW4gCm1pdCAgZGllc2VtIExhZWNoZWxuIHNwcmljaHQ6ICJNYWV4bGUiLiAgT2RlciBkb3J0LCAgZGllc2VzIEZ1bmtlbG4gaW4gCmRlbiBBdWdlbiBqZW5lcyAgYW5kZXJlbiBHZXNjaG9lcGZlcywgamVuZXMgYmUtIHVuZCB2ZXJ6YXViZXJuZCBicmVpdGUgCkxhZWNoZWxuLCAgZGFzIGRpZSBaYWVobmUsICBiZXJlaXQsICB1bSBpbiBkZXMgR2VnZW51ZWJlcnMgRmxlaXNjaCB1bmQgCkJsdXQgenUgc2NobGFnZW4sICBlbnRibG9lc3N0ISAgRGllc2VyIEJsaWNrLCBkZXIga2VpbmVuIFp3ZWlmZWwgZGFyYW4gCmxhZXNzdCwgIHdlciBkZXIgUmFldWJlciB1bmQgd2VyIGRpZSBCZXV0ZSBpc3QgdW5kIGluIGplZGVtIHZvbGxrb21tZW4gCmhpbGYtIHVuZCB3aWxsZW5sb3MgIGF1c2dlbGllZmVydGVtIE1hbm5lIGRhcyAgc2ljaGVyZSBHZWZ1ZWhsICB3ZWNrdCwgCmRlbiBVbXN0YW5kLCAgYW0gTW9yZ2VuIGRlbiAgRG9sY2hlIGF1cyBTaWxiZXIgbmljaHQgZWluZ2VwYWNrdCB6dSBoYS0KYmVuLCBub2NoIHp1dGllZnN0IGJlZGF1ZXJuIHp1IG11ZXNzZW4uICBVbmQgaGllciwgc2VoZXQgZG9ydCEgT2ggamVuZQpBdWdlbiwgZGllIHNvIGJsYXUgdW50ZXIgZGVtIGR1bmtsZW4gU2Nob3BmZSBzdHJhaGxlbiEgSW4gamVuZXMgTGFlY2gtCmVsbiB2ZXJzaW5rdCAgYXVjaCBkZXIgc3RhZXJrc3RlICBNYW5uLCAgaXN0IGtlaW5lICBGcmF1IHp1Z2VnZW4sICBkaWUKc2VpbmUgU2VlbGUgdW5kIHNlaW4gIEhlcnogYmVyZWl0cyBmdWVyICBzaWNoIGdld2FubiEgIE9oIGhvbGRlIE11c2VuLCAKbmFobWV0IGlociBhbiBkaWUgR2VzdGFsdCBkZXIgTWVuc2NoZW4sIHVtIGRpZSBsZXR6dGVuIGltIEdlaXN0ZSB3aXJrLQpsaWNoIGZyZWllbiBNYWVubmVyIGluIEtldHRlbiB6dSBsZWdlbiB1bmQgenUgZ2Vpc3NlbG4/IApGdWVyd2FociwgIGVzIG1hZyBzZWluLCAgZGFzcyBqZW5lICB3ZWlibGljaGVuIFdlc2VuICB6dSBqZW5lbiAgRGluZ2VuIAphbmRlcnMgYmVyaWNodGVuIHd1ZXJkZW4sIGRvY2gsIHNhZ3Qgc2VsYnN0LCB3YWVyZSBkaWVzIHZvbiBCZWRldXR1bmc/CgpMYXNzZXQgbWljaCB6dSBBdGVtIGtvbW1lbiB1bmQgIGJlcmljaHRlbiB2b20gVGFnZSBJSSAgZGVzIEZlc3Rlcy4gIEFtCk1vcmdlbiAgdW5kIHp1ICBNaXR0YWcgZ2VzY2hhaCBkZXMgIEF1c3Nlcmdld29laG5saWNoZW4gIG5pY2h0cy4gIFp3YXIgCnd1cmRlLCAgd2llIHZvbiAgdmllbGVuIHNjaG9uIHZvciBkZXIgIFplaXQgZ2V3dWVuc2NodCB1bmQgdmVyZWluYmFydCwgCmVpbiBwcmFlY2h0aWcgTW9yZ2VubWFobCBhdWZnZXRyYWdlbiwgZG9jaCAgbmljaHQgYWxsZSB3YWNrJ3JlbiBHZXNlbC0KbGVuIC0gdmVyemVpaHQhIC0gdW5kIEdlc2VsbGlubmVuIHZlcm1vY2h0ZW4genUgamVuZXIgU3R1bmRlIGF1cyBpaHJlbiAKU2NobGFmc3RhZXR0ZW4gIHp1IGtyaWVjaGVuLiAgU28gIHZlcmxpZWYgZGVyICBUYWcgIGJpcyB6dXIgd2lya2xpY2hlbiAKRmVzdGl2aXRhZXQgZGVzIEFiZW5kcyBpbiBSdWhlLCAgaW4gZGVyIHdpZSBzY2hvbiBkZXMgVGFncyB6dXZvciB2aWVsZSAKTWVuc2NoZW4gZGllIFVudGVyaGFsdHVuZyBzdWNodGVuLCBzaWNoIGluIEdydXBwZW4gZGVtIFNwaWVsIChzZWllbiBlcyAKR2x1ZWNrc3NwaWVsZSwgU3BpZWxlIG1pdCBLYXJ0ZW4gb2RlciBnYXIgQmFsbHNwaWVsZSksICBoaW5nYWJlbiwgb2RlciAKenUgZWluZW0gTWl0dGFnc21haGwgaW4gZGllIFVtZ2VidW5nIHJlaXN0ZW4uCgpPaCB3aWUgd3VyZGUgZGEgZ2V6ZWNodCEgIERhcyBCaWVyICB1bmQgc2Nod2FyemUgR29sZCAgKENvY2EtQ29sYSBhdWNoCmdlbmFubnQpICBmbG9zcyBpbiBTdHJvZW1lbiBhdXMgZGVuIEZsYXNjaGVuIHVuZCBhdWYgZGVtIGdyb3NzZW4gR3JpbGwKemVpZ3RlbiBlcmZhaHJlbmUgRmxlaXNjaC0gdW5kIFd1ZXJzdGNoZW53ZW5kZXIgZXJuZXV0LCAgZGFzcyBzaWUgaWhyZQpLdW5zdCBiaXMgaW5zIGxldHp0ZSBEZXRhaWwgYmVoZXJyc2NoZW4uICBXYXMgdmVybWFnIG1hbiBoaWVyenUgIGdyb3NzCnp1IGJlcmljaHRlbj8gIERpZSAgZnJvaGUgQXVzZ2VsYXNzZW5oZWl0ICBzb2xjaGVyIEdlc2VsbHNjaGFmdGVuICBpc3QgCmVpbnNjaGxhZWdpZyBiZWthbm50LCAgZGllIE1vZWdsaWNoa2VpdGVuLCAgbWl0IGVpbnplbG5lbiBNaXRzdHJlaXRlcm4gCmRlciBmcmVtZGVuIFdlbHQgIGluIGVpbiBhYmdlc2NoaWVkZW5lcyBHZXNwcmFlY2ggIHp1IGZpbmRlbiB1bmQgdW50ZXIKZGVzIFNjaG9lcGZlcnMga2xhcmVuIEhpbW1lbCB2b24gU3Rlcm5lbmxpY2h0IGJlaHVldGV0IHVtaGVyenV3YW5kZXJuLAp3dXJkZW4gIG5hdHVlcmxpY2ggYXVjaCBhbiAgamVuZW0gVGFnZSAgd2Focmdlbm9tbWVuLiAgRG9jaCBkYXZvbiAgc2VpIApnZW51ZyBiZXJpY2h0ZXQuCgpBbSAgZHJpdHRlbiBUYWdlIGFiZXIsICBzY2hvbiBpbiBkZW4gZnJ1ZWhlbiAgU3R1bmRlbiBkZXMgIFZvcm1pdHRhZ3MsIApiZWdhbm4gIGJlcmVpdHMgZGllIEFyYmVpdCwgIHVtIGRpZSBTcHVyZW4gZGVyIG5vY2ggIG5pY2h0IGdhbnogenVlbmRlCmdlZ2FuZ2VuZW4gRmVzdGl2aXRhZXRlbiB6dSB2ZXJ3aXNjaGVuLiBIaW50ZXIgdm9yZ2VoYWx0ZW5lciBIYW5kIG11bi0Ka2VsdCBtYW4sICBkYXNzIGhpZXJiZWkgZGVyIGVpbmUgb2RlciBhbmRlcmUgYmVpIHdpcmtsaWNoZXIgQXJiZWl0IGdlLQpzZWhlbiB3YXJkLCAgZGVtIG1hbiBlaW5lICBzb2xjaGUgc29uc3QgbmllIHp1Z2V0cmF1dCBoYWV0dGUuICBXaWUgZGVtIAphdWNoIHNlaSwgIG1pdCBzcGFyc2FtIHZlcmVpbnRlbiAgS3JhZWZ0ZW4ga29ubnRlICBkYW5uICB6dXIgWmVpdCAgZGVzIApNaXR0YWdzIHdpZWRlciAgYXVmZ2Vicm9jaGVuIHdlcmRlbiwgIHVtIG51ciBlaW4gIGxlZXJlcyBIYXVzICB1bmQgZGllIApSZXN0ZSAgZGVzIGJ1bnRlbiBaZWx0ZG9yZmVzLCAgd2VsY2hlcyBmdWVyICBrdXJ6ZSBaZWl0ICBkZW4gV2VnZXNyYW5kIApzYWV1bXRlLCB6dSBoaW50ZXJsYXNzZW4uCgpPaCwgd2llICBzdGF1bnRlIGRhIGRpZSAgZWluZ2Vib3JlbmUgIEJldm9lbGtlcnVuZywgIGFscyBzaWUgIGRpZXNlIHNvIApzdGF0dGxpY2hlICBBbnphaGwgIGFuIFN0YWhsa3V0c2NoZW4gYXVzICBhbGxlbiBFY2tlbiBkZXMgIExhbmRlcyAgZGllIAprbGVpbmVuIFdlZ2UgZW50bGFuZ2ZhaHJlbiBzYWghIE9oLCB3ZWxjaGUgQW5ibGlja2Ugd3VyZGVuIHVucyB6dXRlaWwsCmFscyAgQmF1ZXIgdW5kIEJhZXVyaW4sICBLaW5kIHVuZCBLZWdlbCAgaW0gc29ubnRhZWdsaWNoZW4gIFNjaHdhdHogYW0gClN0cmFzc2VucmFuZGUgaW5uZWhpZWx0LCAgdW0gZGVuIFdhZ2VuICBiZXd1bmRlcm5kZSBCbGlja2UgenV6dXdlcmZlbi4gCkRvY2ggIG5hY2ggZWluZW0gRHV6ZW5kIE1laWxlbiAgRmFocnQgZXJyZWljaHRlIGRlciBUcmVjayBkZXIgU3RyZWl0ZXIgCmVuZGxpY2ggZWluZSBncm9lc3NlcmUgQW5zaWVkbHVuZyBtZW5zY2hsaWNoZXIgWml2aWxpc2F0aW9uLiAgV2FlaHJlbmQgCmhpZXIgZWluZSBIYWVsZnRlIGRlciBLcmllZ2VyIGRpcmVrdCBkZW4gZmVybm9lc3RsaWNoZW4gV2lydCBhdWZzdWNodGUKdW5kIHVtIFNwZWlzZSBiYXQsICBuYWhtIGRpZSBhbmRlcmUgIEhhZWxmdGUgZWluZSBIZXJhdXNmb3JkZXJ1bmcgIGFuLCAKZGVyIGVpZ2VudGxpY2ggbnVyICB3YWhyZSBIb2JiaXRzIGdld2FjaHNlbiAgenUgc2VpbiBzY2hpZW5lbiB1bmQgcGlsLQpnZXJ0ZW4gZGVuIG9lcnRsaWNoZW4gUGZhZCAgZGVzIGJhcmVuIEZ1c3NlcyBlbnRsYW5nLCBnZXRyZXUgZGVyIFdlaXMtCmhlaXQsIGRpZSB3aWUgZWluIGJlbmdhbGlzY2hlcyBGZXVlciBpbiBpaHJlbiBLb2VwZmVuIGJyYW5udGU6IERlciBXZWcgCmlzdCBkYXMgWmllbCEgIE5hY2ggZGVyIHdhdGVuZCB1ZCB3YW5kZXJuZCwgIHN0YXBmZW5kIHVuZCAgc2NobGVuZGVybmQgCnZvbGxicmFjaHRlbiBUYXQgIHRyYWZlbiBkYW5uIGF1Y2ggIGplbmUgaW0gV2lydHNoYXVzIGVpbiwgIHVtIGZyZW1kZXIgCktvc3QgdW5kIGVpbmhlaW1pc2NoZW0gVHJ1bmsgenUgZnJvZWhuZW4uCgpTbyBnaW5nIGRhbm4gIGF1Y2ggenVlbmRlIGRhcyBHcm9zc2UgRmVzdG1haGwgWElJLCAgZ2VzY2hlaGVuIGltIEphaHJlCmRlcyBIZXJybiAxOTk5LiAgTGFzc2V0IHNpZSB1bnMgYmVoYWx0ZW4gIGluIGd1dGVyIEVyaW5uZXJ1bmcsICBsYXNzZXQgCnVucyBhdXNzcHJlY2hlbiBEYW5rIGRlbSB3YWhyaGFmdGlnIGdyb3NzZW4gR3Jvc3NvcmdhbmlzYXRvciB1bmQgZ2ViZW4Kd2lyICBtaXQgYXVmIGRlbiAgV2VnIGRlciB6dWt1ZW5mdGlnZW4gR2FzdGhlcnJlbiB1bnNlcmVyIEZlc3RtYWxlIGRpZQpiZXN0ZW4gV3VlbnNjaGUgdW5kIFJhdHNjaGxhZWdlOiAgU3VjaGV0IEFiZ2VzY2hpZWRlbmhlaXQhICBTdWNoZXQgZWluCkdlbWFldWVyIG1pdCBHZW1hZWNoZXJuIHVuZCBLYW1tZXJuISAgU3VjaGV0IGd1dGUgVmVycGZsZWd1bmchICBTdWNoZXQKZWluZW4gRnVlaHJlciwgZGVyIHp1IHBsYW5lbiBmYWVoaWcgaXN0ISAKClVuZCBiZXRldCB1bSBkZW4gU2VnZW4gZGVzIEhlcnJuLCBhdWYgZGFzcyBkaWUgU29ubmUgc2NoZWluZS4KCkFuYXRvbCAtIGZhbmQgZGllIFBhcnR5IGtsYXNzZSEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC4gKEdyaW1tYm9ybiwgIDMuIEF1ZyAxOTk5LCAwNzoxMToyOSk6Cn4jISBybj1BbmF0b2wgcnQ9OTMzNjQwMTI2IHJnPXBhcnR5Cn4jISB0aWQ9OTMzNjM1NjYxCkljaCBrYW5uIGFsbGVzLgoKR3JpbW1ib3JuIGRlciBaZW5zb3IsIG1pdCBkZXIgTGl6ZW56IHp1IGxvZXNjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHksIGRpZSAxM3RlLi4uIChDYXR3ZWF6bGUsICAzLiBBdWcgMTk5OSwgMTE6Mzk6MjgpOgp+IyEgb249Q2F0d2VhemxlIG90PTkzMzY4MDIzNiBvZz10cmVmZmVuCn4jISBvbj1Hbm9tZSBvdD05MzMyODQ3NDggb2c9cGFydHkKfiMhIHJuPVJpa3VzIHJ0PTkzMzI4NDUxOCByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OAplaW4gamFociBoYXQgNTIgd29jaGVuZW5kZW4uIHdhcyBzcHJpY2h0IGRhIGdlZ2VuIDUyIC4uLgpuZWluLCBsYXNzZW4gd2lyIGRhcywgc28ga29tbWVuIHdpciBuaWNodCB3ZWl0ZXIuCgpiZWkgZ2xlaWNoemVpdGlnZXIgcGFydHlwbGFudW5nIGJlaWRlciBwYXJ0aWVzIGhhYiBpY2ggZGllIGJlZnVlcmNodHVuZywKZGFzcyBiZWlkZSBwYXJ0aWVzIHVudGVyYmVzZXR6dCBzaW5kLi4uIHVuZCBkYXMgd2FlcmUgbmljaHQgaW0gc2lubmUKZGVzIGVyZmluZGVycyA7LSkKYWJlciBsYXNzZW4gd2lyIGRvY2ggYW0gYmVzdGVuIG1hbCBkaWUgZHJlc2RuZXIgenUgd29ydCBrb21tZW4sIHZpZWxsZWljaHQKd2lsbCBqYSB1Y2ggdm9uIGRlbmVuIGtlaW5lciB3YXMgdmVyYW5zdGFsdGVuLi4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHksIGRpZSAxM3RlLi4uIChDYXR3ZWF6bGUsICAzLiBBdWcgMTk5OSwgMTE6Mzk6MzApOgp+IyEgb249Q2F0d2VhemxlIG90PTkzMzY4MDI0NCBvZz10cmVmZmVuCn4jISBvbj1TaWx2YW5hIG90PTkzMzI4NTYxOSBvZz1wYXJ0eQp+IyEgcm49R25vbWUgcnQ9OTMzMjg0NzQ4IHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjgwNzU4CkhtLi4uIHVudGVyYmVzZXR6dD8gQWxzbyBfaWNoXyB6aWVoZSBrbGVpbmUgUGFydGllcyBtaXQgdWViZXJzY2hhdWJhcmVyClRlaWxuZWhtZXJ6YWhsIHZvci4gQXVmIGRlciBlcnN0ZW4gUGFydHkga29ubnQgbWFuIGltbWVyaGluIG5vY2ggamVkZW4KZWluemVsbmVuIGtlbm5lbmxlcm5lbi4uLgoKICAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eSwgZGllIDEzdGUuLi4gKENhdHdlYXpsZSwgIDMuIEF1ZyAxOTk5LCAxMTozOTozMSk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9OTMzNjgwMjU0IG9nPXRyZWZmZW4KfiMhIG9uPVBhdHJ5biBvdD05MzMyOTA5NDMgb2c9cGFydHkKfiMhIHJuPUdub21lIHJ0PTkzMzI4NDMyNyByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OAphbHNvIHNvIHZpZWwgaWNoIHdlaXNzLCB3b2xsZW4gd2lyIGtlaW5lIHN5bHZlc3Rlci1wYXJ0eSBtYWNoZW4sIHNvbmRlcm4KZXJzdCBpbSBtYWVyeiBvZGVyIHNvLi4uYWxzbyBnYW56IG5vcm1hbC4Kc3lsdmVzdGVyIDIwMDAgdmVyYnJpbmdlIGljaCBhdWNoIG5pY2h0IGRhbWl0LCBmdWVyIGFuZGVyZSBsZXV0ZSB6ZXVnIGR1cmNoCmRpZSBnZWdlbmQgenUgc2NobGVwcGVuLCBzb3JyeSA6KQoKLS0tLS0tCnBhdHJ5biwgZGVyIGVzIGFiZXIgbmljaHQgbWl0IGJlc3RpbW10aGVpdCB3ZWlzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHksIGRpZSAxM3RlLi4uIChDYXR3ZWF6bGUsICAzLiBBdWcgMTk5OSwgMTE6Mzk6MzIpOgp+IyEgb249Q2F0d2VhemxlIG90PTkzMzY4MDI2MCBvZz10cmVmZmVuCn4jISBvbj1DYWlsbGVhbiBvdD05MzMyOTg1NTAgb2c9cGFydHkKfiMhIHJuPVplcGh5ciBydD05MzMyODQ0MjMgcmc9cGFydHkKfiMhIHRpZD05MzMyODA3NTgKYmluIGF1Y2ggbWVociBmdWVyIG5lIHZlcnNwYWV0ZXRlIG5pa29sYXVzcGFydHk6KQphdXNzZXJkZW06IHdvbGx0ZW4gZGllIGRyZXNkbmVyIG5pY2ggaW0gbWFlcnogMjAwMD8KCmNhaWxsZWFuLCBkYSBhdWYgZGVyIHBhcnR5IGRvY2ggd2FzIGdlaG9lcnQgaGFiZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eSwgZGllIDEzdGUuLi4gKENhdHdlYXpsZSwgIDMuIEF1ZyAxOTk5LCAxMTozOTozMyk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9OTMzNjgwMjk2IG9nPXRyZWZmZW4KfiMhIG9uPUhvYm8gb3Q9OTMzMzIzNDk3IG9nPXBhcnR5Cn4jISBybj1QYXRyeW4gcnQ9OTMzMjkwOTQzIHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjgwNzU4CkhtbSwgYWxzbyBpY2ggaGF0dGUgZGVmaW5pdGl2IHdhcyB2b24gU3lsdmVyc3RlcnBhcnR5IGdlaG9lcnQuLi4KCiBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eSwgZGllIDEzdGUuLi4gKENhdHdlYXpsZSwgIDMuIEF1ZyAxOTk5LCAxMTo0MDo1Mik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTMzNjgwMzczIHJnPXBhcnR5Cn4jISB0aWQ9OTMzMjgwNzU4CldlZ2VuIGdyb2JlciBVbmZhZWhpZ2tlaXQgdW5kIGdlc3RlaWdlcnRlbSBXaXJyc2lubnMsIGhhYiBpY2gKbGVpZGVyIGVpbmlnZSBBcnRpa2VsIGZhbHNjaCB2ZXJsZWd0LiBJJ20gdHJ1bHkgc29ycnkgLi4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCbG9ja3NhdHogaGluIG9kZXIgaGVyLi4uIChBbG1kdWRsZXIsICAzLiBBdWcgMTk5OSwgMTc6MTY6MTMpOgpNaXQgQmxvY2tzYXR6IHdpcmQgbmljaHRzIGJlc3NlciBzb25kZXJuIG51ciBsYWVuZ2VyLi4uCipBbG1pKiwgaG9mZmVuZCBkYXNzIGRlciBBcnRpa2VsIG5pY2ggYXVjaCBub2NoIGcgZSBzIHAgZSByIHIgdCB2b3JiZWlzY3JvbGx0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJsb2Nrc2F0eiBoaW4gb2RlciBoZXIuLi4gKEJvaW5nLCAgNC4gQXVnIDE5OTksIDA5OjQzOjU0KToKfiMhIHJuPUFsbWR1ZGxlciBydD05MzM3MDA1NzMgcmc9cGFydHkKfiMhIHRpZD05MzM3MDA1NzMKRHUgaGFldHRlc3QgYW5oYW5kIGRlciBlcnN0ZW4gMiB6ZWlsZW4gZXJrZW5uZW4ga29lbm5lbiwgZGFzcyBkdSBkZW4KQXJ0aWtlbCBzY2hvbiBrYW5udGVzdCB1bmQgaWhuIGRhbm4gbmljaHQgbm9jaG1hbCBsZXNlbiBtdWVzc2VuLiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5LCBkaWUgMTN0ZS4uLiAoUm9hZHJ1bm5lciwgIDUuIEF1ZyAxOTk5LCAwOTo1MDo0OSk6Cn4jISBybj1Hbm9tZSBydD05MzMyODQzMjcgcmc9cGFydHkKfiMhIHRpZD05MzMyODA3NTgKaG1tIC0gc3lsdmVzdGVycGFydHkgaXN0IGphIGF1Y2ggbG9iZW5zd2VydCAtIGFiZXIgb2Igc28gdmllbGUgdm9uIHVucyBkaWUKYXVjaCBtaXQgc3lzdGVtYWRtaW5pc3RyYXRpb24genUgdHVuIGhhYmVuIHp1IGRpZXNlbSB0ZXJtaW4gemVpdCBoYWJlbiB3ZXJkZW4/ClJSCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eSwgZGllIDEzdGUuLi4gKEdyaW1tYm9ybiwgIDUuIEF1ZyAxOTk5LCAwOTo1Nzo0NCk6Cn4jISBybj1Sb2FkcnVubmVyIHJ0PTkzMzg0NjY0OSByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OApBTHNvLCBmdWVyIG1pY2ggaG9lcnQgc2ljaCBkZXIgSmFocmVzd2VjaHNlbCBpbiBkZW0gRmFsbCBuYWNoIGRlciBpZGVhbGVuIFplaXQKYW4gdW0gVXJsYXViIHp1IG5laG1lbiAtIHVuZCB3aWVkZXJ6dWtvbW1lbiB3ZW5uIHNpY2ggZGVyIFN0YXViIGdlc2V0enQgaGF0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkZWFkIGxpbmtzIChHdWFyZCwgIDUuIEF1ZyAxOTk5LCAxMToxNzowNCk6CkF1ZiBkZXIgV1dXLVNlaXRlIG1pdCBkZW4gQmlsZGVybiB6dSBlaW56ZWxuZW4gTXVkZGVybiAobXVkZGVyLmh0bWwpIGdpYnQgZXMKZGl2ZXJzZSB0b3RlIExpbmtzIGF1ZiBCaWxkZXIgZGVyIDEyLiBQYXJ0eSB2b24gU2x5Zm94CgpEZXIgb2RlciBkaWUgVmVyYW50d29ydGxpY2hlIHNvbGx0ZSBkYSBtYSB3YXMgdHVuIC4uLgoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkZWFkIGxpbmtzIChSb2NodXMsICA1LiBBdWcgMTk5OSwgMTE6NTE6MzEpOgp+IyEgcm49R3VhcmQgcnQ9OTMzODUxODI0IHJnPXBhcnR5Cn4jISB0aWQ9OTMzODUxODI0CkVybGVkaWd0LiBIYWJlIHdvaGwgZGllIFVtYmVuZW5udW5nIHZlcmdlc3NlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5Zm90b3MgKFJvY2h1cywgIDYuIEF1ZyAxOTk5LCAxMToyNjo0Myk6CkFsc28sIGRpZSB3ZW5pZ3N0ZSBBcmJlaXQgbWl0IGRlbiBQYXJ0eWZvdG9zIGhhYmUgaWNoCihiencuIG1laW4gU2NyaXB0KSwgd2VubiBpaHIgd2llIGZvbGd0IHZvcmdlaHQ6CjEuIERpZSBGb3RvcyBzb2xsdGVuIHNvIGJlbmFubnQgc2VpbiwgZGFzcyBkaWUgbGV4aWtvZ3JhcGhpc2NoCiAgIHNvcnRpZXJ0ZSBSZWloZW5mb2xnZSBkaWUgZ2V3dWVuc2NodGUgaXN0CiAgIChhbHNvIGJlaSB1ZWJlciAxMDAgRm90b3MgTnVtbWVybiAwOSwxMC4uLiBzdGF0dCA5LDEwLi4uIHdlaWwpCiAgIGRhcyAxMCw5IHNvcnRpZXJ0IHd1ZXJkZSkKMi4gRGllIEJlc2NocmVpYnVuZ3NkYXRlaSBzb2xsdGUgZm9sZ2VuZGVzIEZvcm1hdCBoYWJlbjoKICAgZGF0ZWluYW1lPFRBQj5iZXNjaHJlaWJ1bmc8WkVJTEVORU5ERT4KICAgZGFiZWkga2VpbiBaZWlsZW5lbmRlIGlubmVyaGFsYiBkZXIgQmVzY2hyZWlidW5nLCBiZWkgbGFlbmdlcmVuCiAgIEJlc2NocmVpYnVuZ2VuIG11c3MgZGllIFplaWxlIGhhbHQgVWViZXJsYWVuZ2UgaGFiZW4gOi0pCiAgIEhUTUwtQmVmZWhsZSBpbiBkZXIgQmVzY2hyZWlidW5nIHNpbmQgbW9lZ2xpY2guCiAgIEFscyBuZXVlcyBGZWF0dXJlIGlzdCBoaW56dWdla29tbWVuLCBkYXNzIG1hbgogICBUcmVubmVyIGVpbmZ1ZWdlbiBrYW5uLCB3ZW5uIG1hbiB6LkIuIGRpZSBGb3RvcyB2b24gRnJlaXRhZwogICB2b24gZGVuZW4gdm9uIFNhbXN0YWcgYWJ0cmVubmVuIG1vZWNodGUuIERpZSBTeW50YXggZGFmdWVyIGlzdAogICBTRVBfZGF0ZWluYW1lPFRBQj5CZXNjaHJlaWJ1bmc8WkVJTEVORU5ERT4KICAgd29iZWkgZGVyIERhdGVpbmFtZSB2b20gQmlsZCBWT1IgZGVtIFRyZW5uZXIgenUgbmVobWVuIGlzdCB1bmQKICAgZGllIEJlc2NocmVpYnVuZyBkaWUgaXN0LCBkaWUgendpc2NoZW4gZGVuIFNlcmllbiBzdGVoZW4gc29sbC4KICAgQWNoIGphLCB1bmQgd2VubiBpY2ggJzxUQUI+JyBzY2hyZWliZSBkYW5uIG1laW5lIGljaCBnZW5hdSBFSU5TIDotKQpXZW5uIGRpZXMgYmVmb2xndCB3aXJkLCBrYW5uIG1laW4gU2NyaXB0IGRpZSBnYW56ZSBBcmJlaXQgYWxsZWluZQptYWNoZW4gdW5kIGljaCBrYW5uIG1pY2ggZGVyd2VpbCBtZWluZXIgRGlwbG9tYXJiZWl0IHdpZG1lbiA6LSkKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWZvdG9zIChaZXBoeXIsICA2LiBBdWcgMTk5OSwgMTI6MTc6MDIpOgoKRXJzdCBtYWwgZWluZW4gZGlja2VuIERhbmsgYW4gUm9jaHVzLCBkZW4gaWNoIHVtIDUgdm9yIDEwCm5vY2ggbWl0IEZvdG9zIHF1YWVsZW4gZHVyZnRlOyB1bmQgd2VucyBpbnRlcmVzc2llcnQ6IEVzCmdpYnQgbmV1ZSBGb3RvcyB2b20gQmFyZnVzc3BmYWQgOikKCiprbnVkZGVscyoKICAgICAgICAgICAgICBDNAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKE1vbnRhbnVzLCAxMy4gQXVnIDE5OTksIDIyOjU5OjExKToKCkRpZSBsZXR6dGUgUGFydHkgaXN0IHNjaG9uIGZhc3QgdmVyZGF1dCwgZGllIEJpbGRlciBzaW5kIGltIE5ldHogKHZpZWwgenUKd2VuaWdlLCBhYmVyIHZpZWxsZWljaHQga29tbXQgZGEgamEgbm9jaCB3YXMgbmFjaCksIHVuZCBkYSBzdGVsbHQgc2ljaCBkaWUKRnJhZ2U6CgoqIHdhcyBtYWNoZW4gd2lyIGJlaSBkZXIgTmlrb2xhdXMtRmV0ZSBhbmRlcnM/Ciogd2FzIG1hY2hlbiB3aXIgdWViZXJoYXVwdCBhbiBQcm9ncmFtbT8KKiB3YXMga29lbm5lbiB3aXIgbm9jaCBiZXNzZXIgbWFjaGVuPyA7LSkKCnp1bSBlcnN0ZW4gUHVua3QgZmFlbGx0IG1pciBlaW46CkljaCBoYWJlIGtlaW5lIEx1c3QgZGFyYXVmLCB3aWVkZXIgMzcgdmVyc2NoaWVkZW5lIEthdGVnb3JpZW4gZnVlciBkaWUKYmV6YWhsdW5nIHp1IGhhYmVuLiBEYXMgbXVzcyB2ZXJlaW5mYWNodCB3ZXJkZW4uIFVuZCBkYSBpaHIgamEgd29obCBlaCB6dW0KZ3JvZXNzdGVuIFRlaWwgcmVnZWxtYWVzc2lnIEh1bmdlciBoYXN0LCBwbGFlZGllcmUgaWNoIGRpZXNtYWwgZnVlcgpWb2xsdmVycGZsZWd1bmcuIElociB3ZXJkZXQgc2VoZW4sIGRhcyBpc3QgTklDSFQgdGV1cmVyLgpadWRlbSBoYWJlbiB3aXIgZGllc21hbCBqYSBuaWNodCBkaWUgWmVsdHdpZXNlLCBkYWZ1ZXIgYWJlciBkYXMga2xlaW5lIEhhdXMuCkljaCBoYWJlIG1pciBnZWRhY2h0LCBkYXNzIGRhcyBrbGVpbmUgSGF1cyB6dXIgUmF1Y2hlcnpvbmUgd2lyZCB1bmQgZGFzIGdyb3NzZQpyYXVjaGZyZWkgYmxlaWJ0LgpGYXNzYmllciBkcmlubmVuIGdpYnQgd2FocnNjaGVpbmxpY2ggbmUgcmllc2lnZSBjaHdlaW5lcmVpLiBEYSBlaCBsZXR6dGVzbWFsCnZpZWxlIFdlaW50cmlua2VyIGRhYmVpIHdhcmVuLCBwbGFlZGllcmUgaWNoIGZ1ZXIgZWluZSBEcmVpdGVpbHVuZyBkZXIKQWxrb2hvbGlrYTogR2x1ZWh3ZWluLCBub3JtYWxlciBXZWluIHVkbiBGbGFzY2hiaWVyLiBEYW5uIGtvZW5uZW4gYXVjaCBkaWUKTmllZGVycmhlaW5lciBpaHJlIHNjaHdhZXJ6bGljaC1icmF1bmUgQnJ1ZWhlIHRyaW5rZW4uCgp6dW0gendlaXRlbiBQdW5rdCBmYWVsbHQgbWlyIGVpbjoKUGxhZXR6Y2hlbiBiYWNrZW4hClBsYWV0emNoZW4gbWl0YnJpbmdlbiEKUGxhZXR6Y2hlbiBlc3NlbiEKLi4uIHVuZCBhbHMgVm9yc2NobGFnOiBXaWNodGVsbiAob2RlciBKdWxrbGFwcCwgb2RlciB3aWUgZGFzIHNvbnN0IG5vY2ggc28KaGVpc3N0KQpiZWkgZ3V0ZW0gV2V0dGVyOiBTY2huZWViYWxsc2NobGFjaHQKdW5kIGhhdCBqZW1hbmQgc2Nob24gSWRlZW4gZnVlciBlaW5lbiBTZW1pbmFyYmVpdHJhZz8Kb2RlciBzY2hhdWVuIHdpciB1bnMgenVzYW1tZW4gZGllIEZldWVyemFuZ2VuYm93bGUgYWxzIFZpZGVvIG9kZXIgRmlsbSBhbj8Kb2RlciB1ZWJlbiBDaXNvdSB1bmQgQW5hdG9sIHp1c2FtbWVuIGVpbiB2aWVyaG5kaWdlcyBXZWlobmFjaHRzbGllZCBmdWVyIGRhcwprbGF2aWVyIGVpbj8KCnVuZCB6dW0gZHJpdHRlbiBQdW5rdCBtdWVzc3QgaWhyIGV1Y2ggYWV1c3Nlcm4uIDstKQoKSSBub3cgZGVjbGFyZSB0aGlzIGJhemFhciBvcGVuIQoKaS5BLiBmdWVyIFBpenphLVBlcGUKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pa29sYXVzLVBhcnR5IHN0ZWh0IGluIGRlbiBTdGFydGxvZWNoZXJuIChGaXJlaGF3aywgMTMuIEF1ZyAxOTk5LCAyMzo0MjoxOSk6Cn4jISBybj1Nb250YW51cyBydD05MzQ1ODUxNTEgcmc9cGFydHkKfiMhIHRpZD05MzQ1ODUxNTEKSG1tbSwgUGxhZXR6Y2hlbiBzaW5kIG5lIGd1dGUgSWRlZSwgbWFsIHNlaG4gb2IgaWNobiBwYWFyIENoYW9zcGxhZXR6Y2hlbgpiZWlzdGV1ZXJuIGthbm4gOykKCldhcyBkZW4gZHJpdHRlbiBQdW5rdCBhbmdlaHQsIGZ1ZXIgbiBwYWFyIFdlaWhuYWNodHNsaWVkZXIgYmluIGljaCBpbW1lciB6dQpoYWJlbiwgZmFsbHMgaWhyIG1laW4gR2Vncm9laGxlIGF1c2hhbHRldCA7KQoKRmlyZWhhd2sgLi4uIGZyZXV0IHNpY2ggYXVmIGVpbmUgY2hhb3Rpc2NoIGd1dGUgUGFydHkhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5pa29sYXVzLVBhcnR5IHN0ZWh0IGluIGRlbiBTdGFydGxvZWNoZXJuIChTaWx2YW5hLCAxNC4gQXVnIDE5OTksIDEwOjU4OjU3KToKfiMhIHJuPUZpcmVoYXdrIHJ0PTkzNDU4NzczOSByZz1wYXJ0eQp+IyEgdGlkPTkzNDU4NTE1MQpBZWhtLi4uIFRlcm1pbj8KClVuZDogUGxhZXR6Y2hlbiBtaXQuLi4gYWVobS4uLiB1bmdld29laG5saWNoZXIgRnVlbGx1bmcuLi4gYml0dGUgZW50c3ByZWNoZW5kCmtlbm56ZWljaG5lbi4gSWNoIGhhYiBkYSBtYWwgemllbWxpY2guLi4gc2VsdHNhbWUuLi4gRXJmYWhydW5nZW4gbWl0CmdlbWFjaHQuLi4KSG1tLi4uIEthbm4gbWFuIGRlbiBFaW50cml0dCBtaXQgTmF0dXJhbGllbiBiZXphaGxlbi4uLj8gSWNoIGtlbm4gZGEgbmVuIHBhYXIKTGV1dGUsIGRpZSB3aXNzZW4sIHdvdm9uIGljaCByZWRlLi4uIHVuZCB3aXNzZW4sIGRhc3MgZXMgZGFzIHdlcnQgd2FlcmUgKmd1Y2sKc2VsYnN0YmV3dXNzdCoKCkFjaCBqYS4uLiBMb2hudCBlcyBzaWNoLCBkaWUgS2V5cyBtaXR6dWJyaW5nZW4/IFdpbGwgaGVpc3NlbiwgaXN0IG5lIFBBIGRhPwpXZW5uIG5pY2h0LCBpY2ggdmVyc3RlaCBtaWNoIG1pdCBBbmF0b2wgYXVjaCBhbSBLbGF2aWVyLi4uIDopCgogIFNpbHZhbmEgKHdpbGwgbWFsIHdpZWRlciB6dSBuZXIgTVVELVBhcnR5KQoKUFM6IEFjaCBqYSwgU2VtaW5hci4uLiBJY2ggZnVlcmNodGUsIGRhIGhhYiBpY2ggbWlyIHNjaG9uIHdhcyBlaW5nZWJyb2NrdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHliaWxkZXIgKFNob3JrYW4sIDE0LiBBdWcgMTk5OSwgMTc6NTc6NTApOgpIaWhvIGlocnMKSWNoIGhhYmUgbnVuIGRpZSBQYXJ0eWJpbGRlciBhdWYgZWluZXIgQmlsZC1DRC4gS2FubiBpY2ggZGllIEJpbGRlciBhdWYKZWluIFZlcnplaWNobmlzIGF1ZiBkZW0gTUctU2VydmVyIHVwbGFvZGVuID8gV2VyIGhpbGZ0IGJlaW0gQmVhcmJlaXRlbiA/CgpHcnVzcwpTaG9ya2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5pa29sYXVzLVBhcnR5IHN0ZWh0IGluIGRlbiBTdGFydGxvZWNoZXJuIChNb250YW51cywgMTQuIEF1ZyAxOTk5LCAyMDowNTo1Mik6Cn4jISBybj1TaWx2YW5hIHJ0PTkzNDYyODMzNyByZz1wYXJ0eQp+IyEgdGlkPTkzNDU4NTE1MQoKVGVybWluIGlzdCAoc2llaGUgYXVjaCB3ZWl0ZXIgb2JlbiBpbiBkaWVzZXIgUnVicmlrKToKCkRhcyBXb2NoZW5lbmRlIHJ1bmQgdW0gZGVuIGRyaXR0ZW4gQWR2ZW50LiBPaG5lIG1laW5lbiBLYWxlbmRlciB6dSBiZWZyYWdlbiwKdGlwcGUgaWNoIHNvIGF1ZiAxMC4tMTIuIERlemVtYmVyLgoKVW5kIEVpbnRyaXR0IGdpYnRzIG51ciBnZWdlbiBDYXNoLiA7LSkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUm9vb29vb29vb29vZGVsbiB6dSBOaWtvbGF1cyAoYXVjaCB3ZW5ucyBrZWluIFBvcnRhbCBnaWJ0IDotKSAoQ2lzb3UsIDE0LiBBdWcgMTk5OSwgMjA6Mzk6MzQpOgoKSWNoIHdpbCByb2RlbG4sIGF1Y2ggd2VubiBzIGphIGtlaW5lIHJpY2h0aWdlbiBCZXJnZSBkYSBnaWJ0IDspCk9kZXIgdmVyZnVlZ3QgZGllc2Ugc2FuZnRlIEh1ZWdlbHJlZ2lvbiBpbSBXaW50ZXIgbmljaHQgdWJlciBkZW4gZGFmdWVyCm5vdHdlbmRpZ2VuIE5pZWRlcnNjaGxhZz8KCkNpc291IC0gYXVzbGFjaGVuIGdpbHQgdWVicmlnZW5zIG5pY2h0IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKFd1cnplbCwgMTUuIEF1ZyAxOTk5LCAxOToyNDo0Nik6Cn4jISBybj1Nb250YW51cyBydD05MzQ2NjExNTIgcmc9cGFydHkKfiMhIHRpZD05MzQ1ODUxNTEKPiBVbmQgRWludHJpdHQgZ2lidHMgbnVyIGdlZ2VuIENhc2guIDstKSAKZHUgaGFzdCBqYSBrZWluZSBhaG51bmcsIHdhcyBkdSB2ZXJzYWV1bXN0LgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKENhaWxsZWFuLCAxOC4gQXVnIDE5OTksIDIxOjAzOjE5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzNDU4NTE1MSByZz1wYXJ0eQp+IyEgdGlkPTkzNDU4NTE1MQpqYWphamEKYXVmIGplZGVuIGZhbGwgZmV1ZXJ6YW5nZW5ib3dsZSBrdWNrZW46KQphdXJmIGplZGVuIGZhbGwgYXVjaCB3ZWxjaGUgbWFjaGVuOikKCmNhaWxsZWFuLCBoaWVybWl0IGVpbiBiZXR0IGZ1ZXIgaWhyZSBlcnN0aWUgYXJpYW5hIHJlc2VydmllcmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pa29sYXVzLVBhcnR5IHN0ZWh0IGluIGRlbiBTdGFydGxvZWNoZXJuIChHcmltbWFuLCAxOC4gQXVnIDE5OTksIDIxOjA1OjIyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzNDU4NTE1MSByZz1wYXJ0eQp+IyEgdGlkPTkzNDU4NTE1MQpPa2ksIGljaCB3aWxsIGVpbiBCZXR0IGltIFJhdWNoZXJ6aW1tZXIsIGFtIGJlc3RlbiBtaXQgZ2Vwb2xzdGVydGVtIEtsbywgdW5kCmRhbm4gaXN0IG1pciBlaCBhbGxlcyBlZ2FsIC4uLgoKTUJJTUcgLCBHcmltTWFuIApwLnMgQmllciBpc3QgbmF0dWVybGljaCB3aWVkZXIgUGZsaWNodCwgdm9uIEZldWVyemFuZ2VuYm93bGUga3JpZWcgaWNoClNvZGJyZW5uZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKENhaWxsZWFuLCAxOC4gQXVnIDE5OTksIDIxOjE5OjQ2KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTM1MDEwMzIyIHJnPXBhcnR5Cn4jISB0aWQ9OTM0NTg1MTUxCmRhbm4gYWJlciBuZW4ga2xvLCB2b24gZG1lIGVyIGFsbGVpbmUgaW4gc2VpbiBiZXR0IGZpbmRldAoKY2FpbGxlYW4gLCBzaWNoIGZhc3QgbmVuIGJydWNoIGdlaG9iZW4gaGFiZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOaWtvbGF1cy1QYXJ0eSBzdGVodCBpbiBkZW4gU3RhcnRsb2VjaGVybiAoR3JpbW1hbiwgMTguIEF1ZyAxOTk5LCAyMToyMDozNik6Cn4jISBybj1DYWlsbGVhbiBydD05MzUwMTExODYgcmc9cGFydHkKfiMhIHRpZD05MzQ1ODUxNTEKU28gc2NobGltbSB3YXIgZXMgamEgbnUgd2lya2xpY2ggbmljaHQsIG9kZXI/IAoqcGZmZmZmZmZ0KgoKR3JpbU1hbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKEhpZ2h0LCAxOS4gQXVnIDE5OTksIDEzOjM1OjQ5KToKfiMhIHJuPUNhaWxsZWFuIHJ0PTkzNTAxMTE4NiByZz1wYXJ0eQp+IyEgdGlkPTkzNDU4NTE1MQp3aWUgd2FlaHJzIG1pdCBuZW0gYmV0dCBkYXMgdWViZXIgbmVtIGtsbyBzdGhldCB1bmQgbWl0IG5lbSBsb2NoIHZlcnNlaGVuIGlzCixvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKENhaWxsZWFuLCAxOS4gQXVnIDE5OTksIDE1OjE0OjQ5KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTM1MDExMjM2IHJnPXBhcnR5Cn4jISB0aWQ9OTM0NTg1MTUxCm5laW4sIGR1IHdhcnN0IHN1ZXNzIHVuZCBuaWVkbGljaCB1bmQgaG9lZmxpY2ggdW5kIHJ1ZWNrc2ljaHRzdm9sbC4uLi4Kc28gd2llIGplZGVyIHN0dXJ6YmV0cnVua2VuZSBtYW5uICpHR0cqCgpjYWlsbGVhbiwgZ3JpbW1pZSBhdWNoIG5hZWNoc3RlcyBtYWwgd2llZGVyIHZvbSBrbG8gaW5zIGJldHQgYnJpbmdlbmQsIGZlc3QKdmVyc3Byb2NoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5pa29sYXVzLVBhcnR5IHN0ZWh0IGluIGRlbiBTdGFydGxvZWNoZXJuIChUZWRkeSwgMjAuIEF1ZyAxOTk5LCAxNzoxOToyMSk6Cn4jISBybj1TaWx2YW5hIHJ0PTkzNDYyODMzNyByZz1wYXJ0eQp+IyEgdGlkPTkzNDU4NTE1MQpBZWhtLCBTaWx2YW5hIHVuZCBQcmFsaW5lbj8KClRlZGR5LCBzcG9udGFuIGZ1ZXIgbmVuIFNvbGlkYXJiZWl0cmFnIGZ1ZXIgU2lsdmFuYXMgUHJhbGluZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmlrb2xhdXMtUGFydHkhIChQaXp6YXBlcGUsIDIwLiBBdWcgMTk5OSwgMTc6NDc6NTQpOgoKQWxsbyBuZXR0ZSBMZXV0ZSEKUGl6emEtUGVwZSBoYWJiZSBzaWNoIG1pdCBDaGVmZmUgenVzYW1tZW5nZXNldHp0LCB1bmQgaGFiZSBmb2xnZW5kZSBBbmdlYm90CmZ1ZXIgTmlrb2xhdXMtUGFydHk6Ck1hY2hlIEtvbXBsZXR0LVBha2V0OgoqIFV1YmVybmFjaHR1bmcgdm9uIEZyZWl0YWcgYXVmIFNhbXN0YWcKKiBGcnV1dWhzdHVjayBhbm5lIFNhbXN0YWcKKiBNaXR0YWdlc3NlIGFubmUgU2Ftc3RhZwoqIEdlbXV1dGxpY2hlcyBBZHZlbnRza2FmZmVlIG1pdCBQbGFldHpjaGVuCiogQWJlbmRlc3NlIGFubmUgU2Ftc3RhZwoqIFBhcnR5IGFubmUgU2Ftc3RhZ2FiZW5kCiogVXViZXJuYWNodHVuZyB2b24gU2Ftc3RhZyBhdWYgU29ubnRhZwoqIEZydXVzdHVjayBhbm5lIFNvbm50YWcKQWxsZXMgenVzYW1tZSAoYWxzbyBpbmNsdXNpdmUgUGFydHliZWl0cmFnKSBmdXVyIDcwIERNLgpGdXVyIExldXRlLCBkaWUga29tbWUgRnJlaXRhZyBzY2hvbiBmcnV1aCwga29lbm5lIG1hY2hlIG9wdGlvbmFsIEFiZW5kZXNzZSBhbgpGcmVpdGFnLCBrb3N0ZSBkYW5uIDc1IERNIHN0YXR0IDcwIERNLgpXZXIgbnVyIGtvbW1lIHp1IFBhcnR5LCB6YWhsZSB3aWUgaW1tZXIgMTUgRE0gVm9ydmVya2F1ZiwgMjUgRE0gQWJlbmRrYXNzZS4KCk11c3NlIG5vY2ggZXR3YXMgdmVyYWVuZGVyZSBQYXJ0eWJyZXR0LCBkYW5uIGZyb2xsaXNjaGVzIEFubWVsZGUhCgpUYW50aSBkaSBiYWNpLAoKRXVlciBQaXp6YS1QZXBlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmlrb2xhdXMtUGFydHkhIChSb2NodXMsIDI2LiBBdWcgMTk5OSwgMTI6NTc6NTMpOgp+IyEgcm49UGl6emFwZXBlIHJ0PTkzNTE3MTI3NCByZz1wYXJ0eQp+IyEgdGlkPTkzNTE3MTI3NApJY2ggaGFiZSBkYXMgUGFydHlicmV0dCBtYWwgYW4gUGl6emFwZXBlJ3MgV3VlbnNjaGUgYW5nZXBhc3N0CnVuZCBhdWZnZXN0ZWxsdCA6LSkKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eS1Gb3J1bSBpc3Qgc28gbGVlci4uLiAoTW9udGFudXMsIDI5LiBBdWcgMTk5OSwgMDg6MTM6MTYpOgpFcnN0bWFsIGVpbiBncm9zc2VzIERhbmtlc2Nob2VuIGFuIFJvY2h1cyBmdWVyIGRhcyBuZXVlIFBhcnR5YnJldHQhCkRhIHNpY2ggamEgaW5uZXJoYWxiIGt1ZXJ6ZXN0ZXIgWmVpdCBzY2hvbiB3aWVkZXIgdWViZXIgMjAgQW5tZWxkdW5nZW4KZWluZ2VmdW5kZW4gaGFiZW4sIGthbm4gbWFuIGRhdm9uIGF1c2dlaGVuLCBkYXNzIGVzIHdpZWRlciB2b2xsIHdpcmQuClN0YW5kIGRlciBEaW5nZToKCldpciBoYWJlbiBkaWVzbWFsLCB3ZWlsIGphIGRpZSBaZWx0d2llc2Ugd2V0dGVyYmVkaW5ndCB3ZWdmYWVsbHQsIHNvd29obCBkYXMKZ3Jvc2UgYWxzIGF1Y2ggZGFzIGtsZWluZSBIYXVzIHp1ciBWZXJmdWVndW5nLgpEYSB3aWUgYmthbm50IGltIGdyb3NzZW4gSGF1cyBlaWdlbnRsaWNoIFJhdWNodmVyYm90IGhlcnNjaHQsIGluIGtsZWluZW4gYWJlcgpuaWNodCwgaXN0IGRlciBQbGFuLCBkaWUgUmF1Y2hlciBpbSBrbGVpbmVuIEhhdXMgdW50ZXJ6dWJyaW5nZW4uIFdlbm4gZXMKenV2aWVsZSBSYXVjaGVyIHNpbmQsIHdpcmQgd29obCBhdWNoIHdpZWRlciBlaW4gWmltbWVyIGltIGdyb3NzZW4gSGF1cyBtaXQKQXVzbmFobWVyZWdlbHVuZyBiZWxlZ3QuCkljaCB3ZXJkZSBhdWNoIHdpZWRlciwgZGEgZGVyIEJlZGFyZiBiZWkgZGVyIGxldHp0ZW4gUGFydHkgamEgdm9yaGFuZGVuIHdhciwKZWluIGdpcmxzLW9ubHktWmltbWVyIGZyZWloYWx0ZW4uCkRpZSB2b3JoYW5kZW5lbiBFaW56ZWwtIHVuZCBEb3BwZWx6aW1tZXIgc2luZCB2b3JlcnN0IGZ1ZXIgTXVldHRlciBtaXQKS2xlaW5raW5kZXJuIGZyZWlnZWhhbHRlbiAoZmFsbHMgZGFkdXJjaCBkaWVzZSBaaW1tZXIgbmljaHQgYXVzZ2VidWNodCBzaW5kLApnaWJ0IGVzIGluendpc2NoZW4gYWxsZXJkaW5ncyBzY2hvbiBiZWxpZWJpZyB2aWVsZSBJbnRlcmVzZW50ZW4pLgoKRnJhZ2VuIHZvbiBtZWllbnIgU2VpdGUgYXVzOgpXZXIgaGF0IHZvciwgc2ljaCBmdWVyIGRpZSBQYXJ0eSB6dSBlbmdhZ2llcmVuPyBaLkIuOgoKKiBLdWVtbWVydCBzaWNoIGplbWFuZCB1bSBQYXJ0eS1ULVNoaXJ0cz8KKiBVZWJlcm5pbW10IGVpbmUgZGVyIEdpbGRlbiBkaWUgVmVyYW50d29ydHVuZyBmdWVyIGRlbiBLdWVjaGVuZGllbnN0PyBJY2gKbXVzcyBzYWdlbiwgaWNoIHdhciBqYSB2b24gZGVyIFByYWVzZW56IGRlciBLYWVtcGZlciBiZWkgZGVyIGxldHp0ZW4gUGFydHkKc2Nob24gYmVnZWlzdGVydC4gV2VubiBzaWNoIG1hbCBlaW4gR2lsZGVub2JlcmhhdXB0IGhpZXIgYWxzIFJla3J1dGV1cgplbmdhZ2llcmVuIGtvZW5udGUsIHdhZXJlIGRhcyB0b2xsCiogSGF0IGplbWFuZCBkaWUgRmV1ZXJ6YW5nZW5ib3dsZSBhdWYgVmlkZW8gdW5kIGJyaW5ndCBzaWUgbWl0PwoqIFdlciBzcGllbHQgZGVuIE5pa29sYXVzaT8gUm9jaHVzPyBXZXIgaGF0IGVpbiBLb3N0dWVtPwoqIFdlciBiYWNrdCB3ZWxoZSBQbGFldHpjaGVuIHZvciBPcnQsIHdlciBicmluZ3Qgd2VsY2hlIG1pdD8gOi0pCgpNYWlscyBtaXQgRnJhZ2VuIGV0YyBiaXR0ZSBhbiBQaXp6YS1QZXBlLCBpY2ggbXN1cyBlcnN0bWFsIG1laW5lbiBNYWlsb3JkbmVyCnZvbiBkZW4gVWViZXJibGVpYnNlbG4gZGVyIGxldHp0ZW4gRmV0ZSByZWluaWdlbi4gOi0pCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eS1Gb3J1bSBpc3Qgc28gbGVlci4uLiAoU2lsdmFuYSwgMjkuIEF1ZyAxOTk5LCAwOToxMDo1OCk6Cn4jISBybj1Nb250YW51cyBydD05MzU5MTQzOTYgcmc9cGFydHkKfiMhIHRpZD05MzU5MTQzOTYKRWluemVsemltbWVyIGZ1ZXIgTXVldHRlciBtaXQgS2xlaW5raW5kZXJuPyBEYXMgZXJob2VodCBtZWluZSBDaGFuY2VuIHp1CmtvbW1lbiB1bmdlbWVpbi4uLiBKZWRlbmZhbGxzLCB3ZW5uIGRhIGF1Y2ggKFJMLSlWYWV0ZXIgbWl0IEtsZWlua2luZCByZWluCmR1ZXJmZW4uLi4gV2FzIGtvc3RldCBkZXIgU3Bhc3MgZGFubj8gQWxzbyBTYS9TbyBmciBWYXRlciArIEtpbmQ/CgogIFNpbHZhbmEgKGxhbmdzYW0gdGF0c2FlY2hsaWNoIGludGVyZXNzaWVydCkKClBTOiBBZWhtLi4uIEtvbW1lbiBkZW5uIHNvbnN0IG11ZGRlbmRlIEVsdGVybiBtaXQgS2xlaW5raW5kPyBXYWVyIGphIG1hbCB3YXMKZ2FueiBuZXVlcy4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHktRm9ydW0gaXN0IHNvIGxlZXIuLi4gKFJvY2h1cywgMzAuIEF1ZyAxOTk5LCAxMzozNjowNCk6Cn4jISBybj1TaWx2YW5hIHJ0PTkzNTkxNzg1OCByZz1wYXJ0eQp+IyEgdGlkPTkzNTkxNDM5NgpOZWUsIHdhZXJlIG5pY2h0cyBuZXVlcywgbGV0enRlcyBtYWwgd2FyZW4KQnJhbndlbiB1bmQgUmVhcGVyIG1pdCBLaW5kIGRhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eS1Gb3J1bSBpc3Qgc28gbGVlci4uLiAoQnJhbndlbiwgMzAuIEF1ZyAxOTk5LCAxNzoyODowMCk6Cn4jISBybj1TaWx2YW5hIHJ0PTkzNTkxNzg1OCByZz1wYXJ0eQp+IyEgdGlkPTkzNTkxNDM5NgpKbywgTWFtYSB1bmQgUGFwYSBrb21tZW4gbWl0IEtsZWlua2luZChhbGxlcyBSTCkuLi4KCldpZSBzaWVodCBlcyBlaWdlbnRsaWNoIG1pdCBHZXRpZXIgYXVzPyBTcHJpY2g6IEh1bmRldmllaD8KCmJyYW53ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5LUZvcnVtIGlzdCBzbyBsZWVyLi4uIChSb2NodXMsIDMwLiBBdWcgMTk5OSwgMTc6Mjk6MTgpOgp+IyEgcm49QnJhbndlbiBydD05MzYwMzQwODAgcmc9cGFydHkKfiMhIHRpZD05MzU5MTQzOTYKSG1tLCBpY2ggZGVua2UgZWluaWdlIEZlbGluZW4gZHVlcmZ0ZW4gYXVjaCBrb21tZW4sCmRhcyBrb2VubnRlIFByb2JsZW1lIGdlYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eS1Gb3J1bSBpc3Qgc28gbGVlci4uLiAoQnJhbndlbiwgMzAuIEF1ZyAxOTk5LCAxNzozNzo0Nyk6Cn4jISBybj1Sb2NodXMgcnQ9OTM2MDM0MTU4IHJnPXBhcnR5Cn4jISB0aWQ9OTM1OTE0Mzk2Ci4uLmtvZW5udGUgYXVjaCByZWNodCBzcGFzc2lnIHdlcmRlbiwgenVtaW5kZXN0IGZ1ZXIgZGllIG5pY2h0LWZlbGluZW4gdW50ZXIKdW5zIDspCgphYmVyIGltIGVybnN0OiB3aWUgaGFiZW4gc2VpdCBmcmVpdGFnIGF1Y2ggbm9jaCBlaW5lbiBodW5kLi4uIHNvbGxlbiB3aXIgdW5zCmRhIGJlc3NlciBuYWNoIGVpbmVtIGFzeWwtcGxhdHogZnVlciBkZW4gdW1zZWhlbj8KCmJyYW53ZW4sIGtvbW10IG1pdCBncm9zc2ZhbWlsaWUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQYXJ0eS1Gb3J1bSBpc3Qgc28gbGVlci4uLiAoTW9udGFudXMsIDMxLiBBdWcgMTk5OSwgMDA6MjA6MjQpOgp+IyEgcm49R3JpbW1hbiBydD05MzYwNTg3NjYgcmc9cGFydHkKfiMhIHRpZD05MzU5MTQzOTYKS2VpbmUgSHVuZGUhCgotTW9udGFudXMsIG1hbCBnYW56IGt1cnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQYXJ0eS1Gb3J1bSBpc3Qgc28gbGVlci4uLiAoR3JpbW1ib3JuLCAzMS4gQXVnIDE5OTksIDAxOjE1OjQ0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzNjA1ODgyNCByZz1wYXJ0eQp+IyEgdGlkPTkzNTkxNDM5NgpBdWNoIG5pY2h0IHdlbm4gc2llIGd1dCBkdXJjaCBzaW5kPyBEYW5uIHNpbmQgYXVjaCBiZXN0aW1tdCBrZWluZSBTYWxtb25lbGxlbgptZWhyIGRyaW4uLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHksIGRpZSAxM3RlLi4uIChSZWZhcmRvbiwgIDQuIFNlcCAxOTk5LCAxNzozMjoyMik6Cn4jISBybj1HcmltbWFuIHJ0PTkzMzM2NDAyOCByZz1wYXJ0eQp+IyEgdGlkPTkzMzI4MDc1OApEdSBlcndhcnRlc3QgenUgZGVyIFplaXQgU2NobmVlPz8KCgpSZWYgaGF0IGdhciBrZWluZSBIYW5kc2NodWhlIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5LUZvcnVtIGlzdCBzbyBsZWVyLi4uIChDYWlsbGVhbiwgIDcuIFNlcCAxOTk5LCAwMToyODo1NSk6Cn4jISBybj1Nb250YW51cyBydD05MzU5MTQzOTYgcmc9cGFydHkKfiMhIHRpZD05MzU5MTQzOTYKamFqYWphOikpKQpyb2NodXMgZm9yIG5pa29sYXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHktRm9ydW0gaXN0IHNvIGxlZXIuLi4gKENhaWxsZWFuLCAgNy4gU2VwIDE5OTksIDAxOjMwOjMzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkzNTkxNDM5NiByZz1wYXJ0eQp+IyEgdGlkPTkzNTkxNDM5NgphbHNvLCB3ZW5uIG1pY2ggd2VyIHJlY2h0emVpdGlnIGVyaW5uZXJ0LCBkYW5uIGJhY2sgaWNoIHBsYWV0emNoZW4KKmhvZmZlbnRsaWNoIGJlaW0gYmFja2VuIGRhbm4gaW1tZXIgbm9jaCBsYWVjaGVsbmQqCmlociBtdWVzc3QgbWljaCBudXIgcmVjaHR6ZWl0aWcgZHJhbiBlcmlubmVybjopCgpjYWlsbGVhbiwgZGllIGltIGRlemVtYmVyIHdvaGwgZWggZGVyIGFyYmVpdHNsb3NpZ2tlaXQgZnJvZWhudCB1bmQgZGFubiBhdWNoCnBsYWV0emNoZW5iYWVja2VyaW4gd2VyZGVuIGthbm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVyaW5uZXJ1bmcgKENhaWxsZWFuLCAgNy4gU2VwIDE5OTksIDAxOjM0OjMzKToKYWxzbzogcmVjaHR6ZWl0aWcgaGVpc3N0IGFuZmFuZyBkZXplbWJlciwgbmljaCBwZXIgdGVpbGUgbWl0IHVuZCBtYWlsIGFsbGUgMTAKbWluICpHR0dHKgoKY2FpbGxlYW4sIHNpY2ggc2VociB1ZWJlciBkZW4gaHVuZ2VyIGltIHN0cnV2IHd1bmRlcm5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOaWtvbGF1cy1QYXJ0eSBzdGVodCBpbiBkZW4gU3RhcnRsb2VjaGVybiAoUWl0ZXNzLCAgOC4gU2VwIDE5OTksIDE1OjQzOjAxKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTM0NjI4MzM3IHJnPXBhcnR5Cn4jISB0aWQ9OTM0NTg1MTUxClFpdGVzcyB1ZWJlcmxlZ3QgYXVmIGRpZSBXaW50ZXJwYXJ0eSB6dSBmYWhyZW4KUWl0ZXNzIGJhY2t0IGF1Y2ggUGxhZXR6Y2hlbgpRaXRlc3Mgd2lsbCBrZWluZSBQbGFldHpjaGVuIG1pdCB1bmdld29laG5saWNoZXIgRnVlbGx1bmcgdW5kL29kZXIgSGFzY2gKUWl0ZXNzIHdpbGwsIGRhc3MgU2lsdmFuYSBtaXQgTkF0dXJhbGllbiBiZXphaGxlbiBkYXJmICgqc2NobGVjayopCgpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOaWtvbGF1cy1QYXJ0eSBzdGVodCBpbiBkZW4gU3RhcnRsb2VjaGVybiAoU2lsdmFuYSwgIDguIFNlcCAxOTk5LCAxNjo1MTo0NSk6Cn4jISBybj1RaXRlc3MgcnQ9OTM2Nzk4MTgxIHJnPXBhcnR5Cn4jISB0aWQ9OTM0NTg1MTUxCk1pciB3dWVyZGUgZXMgc2Nob24gdm9lbGxpZyByZWljaGVuLCB3ZW5uIG1pciBqZW1hbmQgZWluIHdlbmlnIGJlaSBkZW4KTWF0ZXJpYWxrb3N0ZW4gdW50ZXIgZGllIEFybWUgZ3JlaWZlbiB3dWVyZGUuIERlbiBQYXJ0eWJlaXRyYWcgYmV6YWhsIGljaApzY2hvbiwgYWJlciBkYW5uIG5vY2ggX2RpZXNlXyBOYXR1cmFsaWVuLi4uIERhcyB3aXJkIG1pciBkYW5uIGRvY2ggenUgdGV1ZXIuCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5pa29sYXVzLVBhcnR5IHN0ZWh0IGluIGRlbiBTdGFydGxvZWNoZXJuIChUZWRkeSwgIDguIFNlcCAxOTk5LCAxNjo1NTozMik6Cn4jISBybj1TaWx2YW5hIHJ0PTkzNjgwMjMwNSByZz1wYXJ0eQp+IyEgdGlkPTkzNDU4NTE1MQpXZW5uIHNpY2ggZGllIE5hdHVyYWxpZW4gaW4gZGVuIGxldHp0ZW4gMyBKYWhyZW4gbmljaHQgZ2VhZW5kZXJ0IGhhYmVuLCBzY2hsYWcKaWNoIG5hY2ggd2llIHZvciBuZSBTYW1tbHVuZyB2b3IsIHZpZWxsZWljaHQgYmxlaWJ0IGRhcyBHZWxkIGZ1ZXIgZGllCk5hdHVyYWxpZW4gamEgaW4gZGVyIFBhcnR5a2Fzc2UgdWViZXIuCgpUZWRkeSwgc2Nod2VsZ3QgaW4gRXJpbm5lcnVuZ2VuIGFuIEtvZWxuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKFNpbHZhbmEsICA4LiBTZXAgMTk5OSwgMTc6MDA6NDQpOgp+IyEgcm49VGVkZHkgcnQ9OTM2ODAyNTMyIHJnPXBhcnR5Cn4jISB0aWQ9OTM0NTg1MTUxCkRpZSBRdWFsaXRhZXQgaXN0IHppZW1saWNoIHNpY2hlciBkaWUgZ2xlaWNoZS4gRGllIEFuemFobCBkZXIgU29ydGVuIGlzdAphbGxlcmRpbmdzIGdlc3RpZWdlbi4gOikKCiAgU2lsdmFuYSAoa2VubnQgc2Nob24gNCBmcmVpd2lsbGlnZSBTcGVuZGVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKFRlZGR5LCAgOC4gU2VwIDE5OTksIDE3OjAyOjM2KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTM2ODAyODQ0IHJnPXBhcnR5Cn4jISB0aWQ9OTM0NTg1MTUxClVya3MsIE5PQ0ggbWVocj8gRGFzIHdhciBkYW1hbHMgc2Nob24ga2F0YXN0cm9waGFsLCBzaWNoIHp1IGVudHNjaGVpZGVuLgoKVGVkZHksIG1pdCBCbGljayBhdWYgc2VpbmUgTGluaWUgdW5kIFNlbGJzdGJlaGVycnNjaHVuZyBzY2hvbiBmYXN0IGRhZ2VnZW4gOy0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOaWtvbGF1cy1QYXJ0eSBzdGVodCBpbiBkZW4gU3RhcnRsb2VjaGVybiAoQW5hdG9sLCAgOC4gU2VwIDE5OTksIDE4OjIxOjE1KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTM2ODAyODQ0IHJnPXBhcnR5Cn4jISB0aWQ9OTM0NTg1MTUxCkZ1ZW5mISA6KQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTmlrb2xhdXMtUGFydHkgc3RlaHQgaW4gZGVuIFN0YXJ0bG9lY2hlcm4gKFllbmRpLCAxMC4gU2VwIDE5OTksIDE3OjI1OjA5KToKfiMhIHJuPUFuYXRvbCBydD05MzY4MDc2NzUgcmc9cGFydHkKfiMhIHRpZD05MzQ1ODUxNTEKQWVoIC0tIGljaCB3YXIgamEgaW4gS29lbG4gbmljaHQgZGFiZWk6IFdvdm9uIGlzdCBkaWUgUmVkZT8KCllUWQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOaWtvbGF1cy1QYXJ0eSBzdGVodCBpbiBkZW4gU3RhcnRsb2VjaGVybiAoR3JpbW1ib3JuLCAxMS4gU2VwIDE5OTksIDEyOjA1OjE0KToKfiMhIHJuPVllbmRpIHJ0PTkzNjk3NzEwOSByZz1wYXJ0eQp+IyEgdGlkPTkzNDU4NTE1MQpWb24gS29lbG4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklkZWVuIGZ1ZXIgZGllIFBhcnR5IChNZXNpcmlpLCAxMS4gU2VwIDE5OTksIDIzOjA5OjQ1KToKCkxpZWJlIE1pdHN1Y2h0aWVzIDspCgpmdWVyIGRpZSBXaW50ZXJwYXJ0eSBoYWV0dGUgaWNoIGZvbGdlbmRlIElkZWVuIGFuenViaWV0ZW4KClRzaGlydDoKRmFyYmUgcm90IGJpcyB3ZWlucm90Cndlbm4gc2ljaCBlaW4gYmVnbmFkZXRlciBLdWVuc3RsZXIgZmluZGV0LCBkZW5rZSBpY2ggZGFzIGFscyBNb3RpdiBlaW4gClRvZCAoU2tlbGV0dCBtaXQgTm92YWUgaW4gZGVuIEF1Z2VuaG9laGxlbikgZ2dmLiBtaXQgTmlrb2xhdXNtdWV0emUgdW5kIApzY2h3YXJ6ZW0gVW1oYW5nLCBkYWJlaSB6dSBzZWhlbiBpc3QsIHdpZSBlciBlaW5lIHdlaXRlcmUgS2VyYmUgaW4gZGVuIApTY2hhZnQgZWluZXIgYmxhZXVsaWNoIHNjaGltbWVybmRlbiBBeHQgc2Nobml0enQKbWl0IGVpbmVyIFNwcnVjaGJsYXNlIHdpZTogU1RSSUtFLCBvZGVyIFRPREFZIElTIEEgR09PRCBEQVkgVE8gRElFIApvZGVyIERJRSBTVEVSQkVOIEpBIFdJRSBESUUgRkxJRUdFTiBvZGVyIC4uLgoKdW5kIGZ1ZXIgZGllIFJ1ZWNrc2VpdGUgZGVzIFRTaGlydHMgZmFlbmQgaWNoIGdhbnogd2l0emlnIHNvdmllbGUgClVudGVyc2NocmlmdGVuIChSTCBvZGVyIE11ZG5hbWVuKSB2b24gRXVjaCBhbGxlbiBkcmF1ZiB1bnRlcnp1YnJpbmdlbiwgd2llCiBkcmF1ZnBhc3NlbiAoaGFsdCBuZSBwZXJzb2VubGljaGUgRXJpbm5lcnVuZyBhbiBhbGxlKSB1bmQgaWNoIGRlbmtlIAp2b3JoZXIgc2FtbWVsbiB1bmQgZHJ1Y2tlbiBsYXNzZW4gaXN0IHNjaG1lcnpsb3NlciBhbHMgZWluZSB2ZXJrcmFtcGZ0ZSAKaGFuZCBuYWNoIDEyMCBVbnRlcnNjaHJpZnRlbiBtaXQgd2Vpc3NlbiBFZGRpbmdmbGVja2VuIHVlYmVyYWxsCgp3ZWl0ZXJlIElkZWVuOgoqIGVpbiAoTWluaSlSYWdldG91cm5pZXIKKiBpY2ggaGF0dGUgZHJhbiBnZWRhY2h0IG1hbCBlaW4gUmFnZXNwaWVsIHp1IGJhc3RlbG4gdW5kIHdlbm4gZXMgZ3V0IApsYWV1ZnQga29lbm50ZSBtYW4gZXMgamEgYXVjaCBkcnVja2VuIGxhc3NlbiAoYXVmIGlyZ2VuZHdhcyB3YXMgCmthcnRlbmthcnRvbiBuYWhlIGtvbW10KSBhdXNzY2huZWlkZW4gbXVlc3N0ZSBkYW5uIGplZGVyIHNlbGJlciAoc2luZCBqYSAKbnVyIDgwIEthcnRlbiBvZGVyIHNvKQoqIHdlbm4gSW50ZXJlc3NlIGJlc3RlaHQgYml0dGUgQmVrdW5kdW5nZW4KKiBhbHMgU2VtaW5hciB3dWVyZGUgaWNoIG1hbCB3YXMgZnVlciBkaWUgTmljaHRtYWdpZXIgdW50ZXIgdW5zIAp2b3JzY2hsYWdlbjogZWluZSBURi1GcmFnZXJ1bmRlIChpY2ggd3VlcmRlIG1pY2ggYXVjaCB6dW0gTWF4IG1hY2hlbiwgCnZpZWxsZWljaHQgaGF0IFJpbmdvciBqYSBhdWNoIEx1c3QpCiogU2NobmVlYmFsbHNjaGxhY2h0IGRlciBHaWxkZW4gKG1hbCBzZWhlbiB3YXMgZGllIFphdWJpcyB3aXJrbGljaCAKZHJhdWZoYWJlbiBhbiBFaXNhbmdyaWZmZW4gOykgbWl0IEdpbGRlbmF1ZnN0YWNoZWxlciBBcmsgYWxzIApiZWRhdWVybnN3ZXJ0ZW4gU2NoaWVkc3JpY2h0ZXIKKiBiZWltIFdpY2h0ZWxuIGVudHdlZGVyIHdhcyBBdWZzYWdlbiwgU2luZ2VuLCBUYW56ZW4gb2RlciBzbyAoZGFtaXQgCmFsbGUgd2FzIGRhdm9uIGhhYmVuIDspIG9kZXIgCioga2FubiBtYW4gYXVjaCBhbHMgYWxsZ2VtZWluZXMgUXVpeiBtYWNoZW4gc293YXMgd2llIGRpZSBRdWVzdCBtaXQgZGVyIApNYXVzCiogd2lyIGJhc3RlbG4gZWluZSBLYXJ0ZSB2b20gTUcgKHdlbm4gbWFuIGVpbiBncm9zc2VzIFNjaG5lZWZlbGQgZmluZGV0KSAKLSBkaWUgaXN0IGRhbm4gendhciBudXIgYXVzIGRlciBWb2dlbHBlcnNwZWt0aXZlIHp1IHVlYmVyc2VoZW4gYWJlciBuYWphCgpEYXMgd2FycyBlcnN0bWFsCgpNZXNpLCBnZXNwYW5udAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElkZWVuIGZ1ZXIgZGllIFBhcnR5IChNYWhhdG11LCAxMi4gU2VwIDE5OTksIDAxOjM1OjM2KToKfiMhIHJuPU1lc2lyaWkgcnQ9OTM3MDg0MTg1IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MDg0MTg1Ck5ldHRlIElkZWUsIG5ldHRlIElkZWUsIG5ldHRlIElkZWUuIFByaW1hIDopCihkYXMgd2FyZW4gZGllIGVyc3RlbiBhbnR3b3J0ZW4pCgphKSB3ZXIgYmVzb3JndCBTY2h1aHB1dHp6ZXVnIGZ1ZXIgMTAwIE1hbm4/CmIpIG1hY2h0IFRlZGR5IGRlbiBOaWtvbGF1cz8KYykgSnVodXV1IQoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWRlZW4gZnVlciBkaWUgUGFydHkgKFRlZGR5LCAxMy4gU2VwIDE5OTksIDEyOjI0OjM2KToKfiMhIHJuPU1haGF0bXUgcnQ9OTM3MDkyOTM2IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MDg0MTg1CldhcnVtIHNvbGwgaWNoIGRlbiBOaWtvbGF1cyBtYWNoZW4/IE51ciB3ZWlsIGljaCB1bnRlcmdyb3NzIHVuZCBiYWVydGlnIGJpbj8gCkFuc29uc3RlbiBnaWJ0cyB1ZWJlcmhhdXB0IGtlaW5lIEFlaG5saWNoa2VpdGVuLCBkZXIgaXMgbmFlbWxpY2ggbGllYiB1bmQgbmV0dAp1bmQgaWNoIGJpbiBib2VzYXJ0aWcgdW5kIGdlbWVpbi4KClRlZGR5LCBzY2htb2xsdCBpcmdlbmR3aWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJZGVlbiBmdWVyIGRpZSBQYXJ0eSAoTGV0aWMsIDEzLiBTZXAgMTk5OSwgMTI6MjU6MjApOgp+IyEgcm49VGVkZHkgcnQ9OTM3MjE4Mjc2IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MDg0MTg1CnVudGVyZ3Jvc3MgPz8gZWluIFJMLVp3ZXJnIC4uLi4gaG1tLi5iaXR0ZSBuaWNodCBkZW4gbmlrb2xhdXMgemVydHJldGVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1TaGlydCAoWWVuZGksIDEzLiBTZXAgMTk5OSwgMTM6MjQ6MzQpOgpXaWUgd2FlcidzIGFscyBUZXh0IG1pdCAiTk9XIEkgR09UIEEgU0NZVEhFLCBUT08sIEhPIEhPIEhPISI/CgpZVFkKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtU2hpcnQgKFJvY2h1cywgMTMuIFNlcCAxOTk5LCAxNToxOTozNik6Cn4jISBybj1ZZW5kaSBydD05MzcyMjE4NzQgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKSW0gUHJpbnppcCBndXQsIGFiZXIgZXMgbXVlc3N0ZSBhbSBFbmRlICJITy4gSE8uIEhPLiIgaGVpc3NlbiA7LSkKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFQtU2hpcnQgKENhaWxsZWFuLCAxNy4gU2VwIDE5OTksIDAzOjMzOjA0KToKfiMhIHJuPVJvY2h1cyBydD05MzcyMjg3NzYgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKbmFjaCBkZW0gbGV0enRlbiBtdWVuc3RlcmFuZGVyIHN0YW1tdGlzY2ggZ2lidCBlcyBlcmZyZXVsaWNoZXMgaGluc2ljaHRsaWNoCmRlciBwYXJ0eSB6dSBiZXJpY2h0ZW46Cm5hY2ggZWluZXIgKHdlbm4gYXVjaCB6dWdlZ2ViZW4gc2VociBrdXJ6ZW4pIGRpc2t1c3Npb25zcnVuZGUsIGRpZSBuYXR1ZXJsaWNoCnVudGVyIGF1c3NzY2hsdXNzIGRlcyBiZXRlaWxpZ3RlbiBzdGF0dGZhbmQsIGlzdCBlaW5zdGltbWlnIGJlc2NobG9zc2VuCndvcmRlbjoKClJPQ0hVUyBGT1IgTklLT0xBVVMhISEhCgooenUgd2FlaGxlbmRlIHdhcmVuIGFuIGdlbmFubnRlciBhYnN0aW1tdW5nIHNlbGJzdHZlcnN0YWVuZGxpY2ggbmljaHQKYmV0ZWlsaWd0ICpHR0cqKQoKcm9jaHVzIGhhdCBkaWUgd2FobCB1ZWJyaWdlbnMgbWl0IGVpbmVtIGVyZnJldXRlbiAib2gsIHNjaGVpc3NlISEhIG5hCmRhbm4uLi4uIgoKQU5HRU5PTU1FTiAhISEKCmFsc28sIG1vbnRhbnVzLCBkYW5uIHNjaGFmZiB1bnMgZG9jaCBiaXR0ZSBlaW4gbmlrb2xhdXNrb3N0dWVtIHJhbjopCmFjaGphOiB3aXIgYml0dGVuLCBhdWYga2VpbmVuIGZhbGwgdm9uIGJlZ2Vpc3RlcnVuZ3NhdXNkcnVlY2tlbmRlbiB1bmQKenVzdGltbWVuZGVuIGFydGlrZWxuIGFienVzZWhlbjopKSkKCmNhaWxsZWFuCgpwczogYmVnaW4gb2YgdGhyZWFkICpHR0cqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBULVNoaXJ0IChBcG9sbG9uaWEsIDE3LiBTZXAgMTk5OSwgMTI6NTY6NDcpOgp+IyEgcm49Q2FpbGxlYW4gcnQ9OTM3NTMxOTg0IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0Ckp1Y2hoZSwgd29sbHRlIHNjaG9uIGltbWVyIGVpbmVuIE5pa29sYXVzLVBhcGkgaGFiZW4gOykpKSkpCgpBcG8qIChicmVpdCBncmluc2VuZCB1bmQgc2ljaCBSb2NodXMgaW0gTmlrb2xhdXNrb3N0dWVtIHZvcnN0ZWxsZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ltIGZvciBLbmVjaHQgUnVwcmVjaHQhISEgKEFwb2xsb25pYSwgMTcuIFNlcCAxOTk5LCAxMzowMDowNSk6CkFsc28gd2VubiB3aXIgZGFubiBzY2hvbiBlaW5lbiBOaWtvbGF1c2kgaGFiZW4uLi4gYnJhdWNoZW4gd2lyIGRhbm4gbmljaHQgYXVjaApuZW4gS25lY2h0IFJ1cHJlY2h0Pz8gSWNoIHBsYWVkaWVyIGRhZnVlciwgZGFzcyBlcyBpbiBkZXIgRmFtaWxpZSBibGVpYnQgdW5kCldpbSBTcGllbGVyIHZlcmRyZXNjaGVuIGRhcmYsIGRpZSBuaWNodCBicmF2IHdhcmVuICpiZyouLi4KCkFwbyogKGF1ZiBicnVlZGVybGljaGUgU2NoZWx0ZSB3YXJ0ZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbSBmb3IgS25lY2h0IFJ1cHJlY2h0ISEhIChXaW0sIDE3LiBTZXAgMTk5OSwgMTM6MDM6MDUpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTkzNzU2NjAwNSByZz1wYXJ0eQp+IyEgdGlkPTkzNzU2NjAwNQpOYSBkYW5uIGF1Y2ggc2Nob24gbWVpbmUga2xlaW5lIFNjaHdlc3RlciBlaW5zcGFubmVuLiAKQXBvbGxvbmlhIHdpcmQgaW4gZGVtIGtsZWluZW4gRWxmZW5rb3N0dWVtIHNpY2hlciBuaWVkbGljaCBhdXNzZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ltIGZvciBLbmVjaHQgUnVwcmVjaHQhISEgKE1haGF0bXUsIDE3LiBTZXAgMTk5OSwgMTM6MDc6MjMpOgp+IyEgcm49V2ltIHJ0PTkzNzU2NjE4NSByZz1wYXJ0eQp+IyEgdGlkPTkzNzU2NjAwNQpHZW5hdSA7LSkgRWluIHN0YWtzaWdlciBOaWtvbGF1cywgZWluIHNhZGlzdGlzY2hlciBLbmVjaHQgUnVwcmVjaHQgdW5kCmVpbmUgLi4uIEVsZmluLgoKTWFoYXRtdSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ltIGZvciBLbmVjaHQgUnVwcmVjaHQhISEgKFN0cmVhd2tjZXVyLCAxNy4gU2VwIDE5OTksIDEzOjA3OjMzKToKfiMhIHJuPVdpbSBydD05Mzc1NjYxODUgcmc9cGFydHkKfiMhIHRpZD05Mzc1NjYwMDUKSG0uLi4gc28nbiBncnVlbmVzIG1pdCBGbHVlZ2VsY2hlbiBhdWZtIFJ1ZWNrZW4/IDotKQoKcnIKKG9kZXIgd2FybiBkYXMgRmVlbj8gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydCAoUmFyZGlhbiwgMTcuIFNlcCAxOTk5LCAxMzoyMDowMSk6Cn4jISBybj1ZZW5kaSBydD05MzcyMjE4NzQgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKT2NoIG5lZS4uLgoKbml4IGVuZ2xpc2NoZXMgYml0dGUsIGRlbm4KCmEpIHNpbmQgd2lyIGVpbiBkZXV0c2NoZXMgTXVkCnVuZCBiKSB3ZWlzcyBpY2ggbmljaHRtYWwsIHdhcyBjbG91dCBoZWlzc3QsIGRhcyBoZWlzc3QgamV0enQgc2Nob24gKGJ6dy4KaGVpc3N0IGVzIG5pY2h0KQoKQWVoLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbSBmb3IgS25lY2h0IFJ1cHJlY2h0ISEhIChBcG9sbG9uaWEsIDE3LiBTZXAgMTk5OSwgMTM6NDk6MTcpOgp+IyEgcm49U3RyZWF3a2NldXIgcnQ9OTM3NTY2NDUzIHJnPXBhcnR5Cn4jISB0aWQ9OTM3NTY2MDA1Ck51IGphLCBtLlcuIGhlaXNzdCBkYXQgRGluZyAnQ2hyaXN0bWFzIEZhaXJ5Jywgd2FzIHNvd29obCBFbGZlIGFscyBhdWNoIEZlZQpoZWlzc2VuIGthbm4uLi4gbnUgamEsIGltIEFsdGVyIHZvbiA0IEphaHJlbiwgYWxzIGljaCBzbyB3YXMgZGFzIGxldHp0ZSBNYWwKZ2VtYWNodCBoYWIgKmJnKiBoYXR0ZSBpY2ggRmx1ZWdlbGNoZW4uLi4gOykKCkFwbyogKGRlcidzIGpldHp0IHNjaG9uIHZvciBXZWlobmFjaHRlbiBncmF1dCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbSBmb3IgS25lY2h0IFJ1cHJlY2h0ISEhIChHcmltbWJvcm4sIDE3LiBTZXAgMTk5OSwgMTM6NTE6MzApOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTkzNzU2ODk1NyByZz1wYXJ0eQp+IyEgdGlkPTkzNzU2NjAwNQpXbyBpc3QgZGFzIFByb2JsZW0gbWl0IEZsdWVnZWxjaGVuPyBNaXR0bGVyd2VpbGUgZ2lidHMgZG9jaCBlaCBrYXVtIG5vY2gKQmluZGVuIG9obmUuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbSBmb3IgS25lY2h0IFJ1cHJlY2h0ISEhIChBcG9sbG9uaWEsIDE3LiBTZXAgMTk5OSwgMTM6NTk6NTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkzNzU2OTA5MCByZz1wYXJ0eQp+IyEgdGlkPTkzNzU2NjAwNQpXYXMgZGFzIGJldHJpZmZ0LCB2ZXJ3ZWlzZSBpY2ggYXVmIGRlbiB2b24gTW9yZ290aCBnZXBvc3RldGVuIEFydGlrZWwgbWl0IGRlcgpVUkwgZGllc2VyIGxhbmRvdmVyYmFwdGlzdC5vcmcuLi4gdm9uIHdlZ2VuIEFuZ2VsIFdpbmdzLi4uICp3YWFhYWFhaCoKCkFwbyAoZGllIGdhcmFudGllcnQgTklDSFQgYW4gc29sY2hlIEZsdWVnZWwgZ2VkYWNodCBoYXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW0gZm9yIEtuZWNodCBSdXByZWNodCEhISAoTmV2b2ssIDE3LiBTZXAgMTk5OSwgMTg6MTA6MjYpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTkzNzU2ODk1NyByZz1wYXJ0eQp+IyEgdGlkPTkzNzU2NjAwNQpvZWggYWVoIGhhbHQsIG5peCBjaHJpc3RtYXMgZmFpcnksIGhhdCBuaXggbWl0IGRlciB0b290aCBmYWlyeSB6dSB0dW4KU2FudGEgQ2xhdXMgaGF0IEVsZmVuIChlbGZzKSBkaWUgYW0gTm9yZHBvbCBpbiBzZWluZW0gSGF1cyBkaWUgU3BpZWx6ZXVnZQpiYXN0ZWxuLCBSZW50aWVyZSB2ZXJzb3JnZW4gdW5kIFNjaGxpdHRlbiB3YXJ0ZW4vcGFja2VuLgpBbHNvIEFwb2xsb25pYS4uLkdydWVuZSBUaWdodHMsIGdydWVuZSBTY2huYWJlbHNjaHVoZSwgZ3J1ZW5lcyBXYW1zIHVuZApncnVlbmVzIFJvYmluIEhvb2QgTXVldHpjaGVuLi4uLnZpZWwgVmVyZ251ZWdlbi4KYWNoIGphLCBpY2ggYmluIG1pciBzaWNoZXIsIGRhc3MgZXMgYWx0LnNleC5zYW50YS5jbGF1cy5lbGZzLiBnaWJ0IGZ1ZXIgYWVoCmhtbW1tbSBBbnJlZ3VuZ2VuLi4uLgoKTmV2b2ssIGRlbiBzbyBzY2huZWxsIG5peCBtZWhyIHNjaG9ja2VuIGthbm4gbmFjaCBkZXIgSmFyLUphciBTYWNoZQoKUC5TLjogYXMgcHJvcG9zIGxhbmRvdmVyIHVuZCBKYXItSmFyLi4uZGFzIGlzIGJlc3RpbW10IG51ciBuIGNsZXZlcmVyIFBsb3R0CnZvbiBzbyBuIHBhYXIgJ0RJRSBKQVItSkFSISEnIEhvbWVwYWdlIEJldHJlaWJlcm4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbSBmb3IgS25lY2h0IFJ1cHJlY2h0ISEhIChHbm9tZSwgMTcuIFNlcCAxOTk5LCAyMDo0NDoxMyk6Cn4jISBybj1NYWhhdG11IHJ0PTkzNzU2NjQ0MyByZz1wYXJ0eQp+IyEgdGlkPTkzNzU2NjAwNQpobSwgZGFtaXQgZGFzIGVjaHQgYXVzc2llaHQsIG11ZXNzdGVuIHdpciByb2NodXMgYWJlciBub2NoIGpvZiB2b3IgZGVuCmJhdWNoIGJpbmRlbi4uLiBhbGxlcmRpbmdzIHdpcmQgc2ljaCByb2NodXMgYWthIG5pa29sYXVzIG51ciBub2NoCmtyaWVjaGVuZCBiencuIHJvbGxlbmQgdm9yd2FlcnRzIGJld2VnZW4ga29lbm5lbiwgd2VubiB1ZWJlcmhhdXB0Li4uIDopCgppY2ggaGFldHQgZ2VybmUgYXBvIGFscyBtYWdkIHJ1cHJlY2h0LiBpY2ggbmVobSBkaWUgcnV0ZSBhdWNoIGZyZWl3aWxsaWcuLi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBULVNoaXJ0IChUZWRkeSwgMTguIFNlcCAxOTk5LCAwMjo1MTozNSk6Cn4jISBybj1DYWlsbGVhbiBydD05Mzc1MzE5ODQgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKVWZmLCBkZXIgS2VsY2ggZ2luZyBhbHNvIGRvY2ggYW4gbWlyIHZvcmJlaTogR3JhdHVsaWVyZSBSb2NodXMgOy0pKSkKClRlZGR5LCBjaGFvdGlzY2ggYm9lc2UgdW5kIGdlbWVpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFQtU2hpcnQgKFBhZHJlaWMsIDE4LiBTZXAgMTk5OSwgMTE6MDY6MDcpOgp+IyEgcm49VGVkZHkgcnQ9OTM3NjE1ODk1IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0CkdpYiBlcyBkb2NoIHJ1aGlnIHp1IFRlZGR5LCBEdSB3YXJzdCBnYW56IHNjaGFyZiBhdWYgZGllc2VuIFBvc3RlbiB1bmQgYmlzdApudW4gc2F1ZXIsIGRhcyBEdSBlcyBuaWNodCBnZXdvcmRlbiBiaXN0Li4uCkFiZXIgbWFjaCBEaXIga2VpbmUgU29yZ2UgVGVkZHkgd2VubiBEdSBkYXMgc29vbyBnZXJuZSBtb2VjaHRlc3QsIGZpbmRlbiB3aXIKZnVlciBEaWNoIGJlc3RpbW10IGF1Y2ggbm9jaCBlaW5lbiBhZWhubGljaCBKb2IsIGlyZ2VuZGplbWFuZCBWb3JzY2hsYWVnZSA6KT8KClBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtU2hpcnQgKEFuYXRvbCwgMTguIFNlcCAxOTk5LCAxMTo0NDoxMSk6Cn4jISBybj1QYWRyZWljIHJ0PTkzNzY0NTU2NyByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApFaW5lIFphaG5mZWUhIEVpbmUgWmFobmZlZSEKCkh1c3RlbmQsCkFuYXRvbCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFQtU2hpcnQgKEdyaW1tYW4sIDE4LiBTZXAgMTk5OSwgMTk6MDQ6NDUpOgp+IyEgcm49Q2FpbGxlYW4gcnQ9OTM3NTMxOTg0IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0Ck5hIGVpbiBHbHVlY2sgOykKCkdyaW1NYW4gLCBhdWZhdG1lbmQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtU2hpcnQgKFRlZGR5LCAxOS4gU2VwIDE5OTksIDA5OjEyOjQyKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTM3NjQ1NTY3IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0Ck9jaCBub2UsIHNvb28gbm9ldGlnIGlzdHMgbnVuIG5pY2h0LiBBbGxlcmRpbmdzIGhhZXRlIGljaCBkYW1pdCBpbW1lcm5vY2ggZWluZQpNaXN0LCBpY2ggYmluIGR1cmNoc2NoYXV0IHdvcmRlbi4KSGF1cHRzYWNoZSBpY2ggbmVobSBkaXIgbmljaHQgZGVpbmVuIGpvYiB3aWVkZXIgd2VnLgoKVGVkZHksIGplZGVyIG5hY2ggc2VpbmVyIFF1YWxpZmlrYXRpb24gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0IChLaW50YXJhLCAxOS4gU2VwIDE5OTksIDIyOjM0OjUxKToKfiMhIHJuPVllbmRpIHJ0PTkzNzIyMTg3NCByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApPZGVyIGFiZXIgQ09XRVIsIEJSSUVGIE1PUlRBTFMhIEhPLiBITy4gSE8uCgpLaW50YXJhIChoYXQgSG9nZmF0aGVyIGdlbGVzZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW0gZm9yIEtuZWNodCBSdXByZWNodCEhISAoTG91LCAyMC4gU2VwIDE5OTksIDEwOjA5OjI4KToKfiMhIHJuPUdub21lIHJ0PTkzNzU5Mzg1MyByZz1wYXJ0eQp+IyEgdGlkPTkzNzU2NjAwNQoKRHUgbWVpbnN0LCBEdSBiaW5kZXN0IFJvY2h1cyBhdWYgSm9mcyBSdWVja2VuLi4uLgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW0gZm9yIEtuZWNodCBSdXByZWNodCEhISAoVW5hc2FpLCAyMC4gU2VwIDE5OTksIDEzOjAxOjAyKToKfiMhIHJuPU1haGF0bXUgcnQ9OTM3NTY2NDQzIHJnPXBhcnR5Cn4jISB0aWQ9OTM3NTY2MDA1CkF1dHNjaCA6KQpEYW5uIHdlaXNzIGljaCBqYSwgd2FydW0gaWNoIG5pY2h0IHp1ciBQYXJ0eSBrb21tZS4uLi5tZWluZSB6dWt1ZW5mdGlnZQpGYW1pbGllLCBkaWUgU3BpZWxlciwgU2VoZXIgdW5kIHNvbnN0aWdlcyB2ZXJwcnVlZ2VsdCA6KQpJY2ggc3RlbGwgbWlyIGdyYWRlIEFwbyogYWxzIFdlaWhuYWNodHNlbmdlbGNoZW4gdm9yICpiZyogc2Nod2FyemUKU2F0aW5oYW5kc2NodWhlLCBOYXBwYWxlZGVyc3RpZWZlbCwgTWluaXJvY2ssIFRhbmdhLi4uLndhcyBpc3QgbnVyIGF1cyBkZW0KZ3V0ZW4gYWx0ZW4gV2VpaG5hY2h0ZW4gZ2V3b3JkZW4sIHdvIHdpciBhbGxlIG5vY2ggdW5zZXJlIFNvY2tlbiBhbiBkZW4gS2FtaW4KaGFlbmdlbiBkdXJmdGVuPz8/ICphYmdydW5kdGllZiBzZXVmeiogCk5hamEuLi4ud2FzIHNvbGxzLCB3ZW5uIHNpZSBzaWNoIGVpbiBwYWFyIEZsdWVnZWxjaGVuIGRyYW5mdW1tZWx0IHdpcmRzIHNjaG9uCmdlaGVuLi4uKEFiZXIgUm9jaHVzIGltIFdlaWhuYWNodHNtYW5ua29zdHVlbSBrYW5uIGljaCBtaXIgYmVpbSBiZXN0ZW4gV2lsbGVuCm5pY2h0IHZvcnN0ZWxsZW4gOikgV28gc29sbCBkaWUgdmllbGUgV2F0dGUgaGVya29tbWVuLCBkaWUgc2VpbmVuIEJhdWNoCmF1c3N0b3BmZW4gbXVzcywgZGFtaXQgd2VuaWdzdGVucyBlbnRmZXJudCBuYWNoIFdlaWhuYWNodHNtYW5uIGF1c3NpZWh0Pz8/PykgCgpVbmEqIChhdWYgRmFtaWxpZW5kb25uZXJ3ZXR0ZXIgd2FydGVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtU2hpcnQgKFVuYXNhaSwgMjAuIFNlcCAxOTk5LCAxMzowNjoyNyk6Cn4jISBybj1QYWRyZWljIHJ0PTkzNzY0NTU2NyByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NAogCkhhdHRlIERlciBXZWlobmFjaHRzbWFubiBuaWNodCBzb2xjaGUgbmV0dGVuIGdyYXppbGVuIFZpZXJiZWluZXIgdm9yIHNlaW5lbgpTY2hsaXR0ZW4gZ2VzcGFubnQ/IElyZ2VuZHdlciBtdXNzIGRpZXNlIEFyYmVpdCBqYSBtYWNoZW4gdW5kIGRpZSBnYW56ZW4KR2VzY2hlbmtlIHNjaGxlcHBlbiwgd2FydW0gYWxzbyBuaWNodCBUZWRkeT8/Pz8qYm9lc2UgZ3JpbnMqCldpciBrb2VubmVuIGlobSBqYSBhdWNoIGVpbiBHbG9lY2tjaGVuIHZvciBkZW4gSGFscyBiaW5kZW4sIG1hbCBzZWhuIG9iIGlobgpkYXMgZnJldXQgOikgKmhlaGUqCgpVbmEqICplaW4gIlRlZGR5LWZvci1SdWRvbGYtZGFzLVJlbnRpZXItRmFlaG5jaGVuLXdlZGVsbmQiKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVC1TaGlydCAoT3JrdG9ldGVyLCAyMC4gU2VwIDE5OTksIDEzOjA4OjQ1KToKfiMhIHJuPVVuYXNhaSBydD05Mzc4MjU1ODcgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKSG1tLi4gVGVkZHkgZm9yIFNjaG5lZW1hbm4gIT8KT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFQtU2hpcnQgKFVuYXNhaSwgMjAuIFNlcCAxOTk5LCAxMzoxNTo0Nik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTM3ODI1NzI1IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0CmhtLi4uLlRlZGR5IGZvciBTY2huZWVmbG9lY2tjaGVuIDopIFdlaXNzcm9lY2tjaGVuIDopCgp1bmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBULVNoaXJ0IChXaW0sIDIwLiBTZXAgMTk5OSwgMTM6MTY6NDEpOgp+IyEgcm49VW5hc2FpIHJ0PTkzNzgyNjE0NiByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApFaW5lIFNjaG5lZWZsb2NrZSBzY2h3ZWJ0IGxhbmdzYW0genUgQm9kZW4uLi4KCkhtbS4uLiBoYWJlIGVpZ2VudGxpY2ggbnVyIGljaCBkYXMgUHJvYmxlbSwgbWlyIGRhIFRlZGR5IHZvcnp1c3RlbGxlbj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBULVNoaXJ0IChVbmFzYWksIDIwLiBTZXAgMTk5OSwgMTM6MjI6NTUpOgp+IyEgcm49V2ltIHJ0PTkzNzgyNjIwMSByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NAogVGVkZHkgZm9yIFRhbm5lbmJhdW0/IGRhbm4ga29lbm5lbiB3aXIgaWhuIG1pdCBMYW1ldHRhIGJlaGFlbmdlbjopKSkpKQp1bmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVC1TaGlydCAoQXBvbGxvbmlhLCAyMC4gU2VwIDE5OTksIDEzOjIzOjU3KToKfiMhIHJuPVVuYXNhaSBydD05Mzc4MjY1NzUgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKQXUgamEsIGd1dGUgSWRlZSwgU2Nod2VzdGVyaGVyei4uLiBpY2ggb3JnYW5pc2llciBzY2hvbiBtYWwgenVzYWV0emxpY2hlCkt1Z2VsbiA7KSkpCkFwbyogKG1hbCB3aWVkZXIgZHJlY2tpZyBncmluc2VuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBULVNoaXJ0IChVbmFzYWksIDIwLiBTZXAgMTk5OSwgMTM6MjU6MzkpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTkzNzgyNjYzNyByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApIbS4uLkt1Z2VsbiwgV2VpaG5hY2h0c3N0ZXJuZSwgS2VyemVuIHVuZCBTdWVzc2lna2VpdGVuLCB1bmQgZGFubiBoaW50ZXJoZXIKZGVuICJCYXVtIiBhYnJhZXViZXJuIDopICpraWNoZXIqIG1hbCBzZWhuIHdhcyB2b24gZGVtIGFybWVuIFRlZGR5CnVlYnJpZ2JsZWlidCA6KSBOT3JtYWxlcndlaXNlIHZlcmJyZW5udCBtYW4gZGVuIEJhdW0gamEgbmFjaCBXZWlobmFjaHRlbiBvZGVyPwoKVW5hKiAqaWhyZW0gU2Nod2VzdGVyaGVyeiB6dXp3aW5rZXJuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBULVNoaXJ0IChBcG9sbG9uaWEsIDIwLiBTZXAgMTk5OSwgMTM6Mjk6MzkpOgp+IyEgcm49VW5hc2FpIHJ0PTkzNzgyNjczOSByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NAoqcHJ1c3QqIGlyZ2VuZHdpZSBiZXp3ZWlmZWwgaWNoLCBkYXNzIFRlZGR5IHNpY2ggc28gb2huZSB3ZWl0ZXJlcyBhbnp1ZW5kZW4KbGFlc3N0IDspICAKQXBvKiAoc2ljaCBUZWRkeSdzIFJlYWt0aW9uIHZvcnN0ZWxsZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFQtU2hpcnQgKFVuYXNhaSwgMjAuIFNlcCAxOTk5LCAxMzozMDo0Myk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTM3ODI2OTc5IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0ClNlaXQgd2FubiB3aXJkIGhpZXIgZGVubiBnZWZyYWd0Pz8/PyAqZyoKVW5hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFQtU2hpcnQgKFdpbSwgMjAuIFNlcCAxOTk5LCAxMzo0MzoyOCk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTM3ODI2OTc5IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0CktlaW5lIEFuZ3N0LCBmaW5kZW4gc2ljaCBzaWNoZXIgZ2VudWVnZW5kIHp1bSBoZWxmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogVC1TaGlydCAoQXBvbGxvbmlhLCAyMC4gU2VwIDE5OTksIDEzOjQ0OjQ2KToKfiMhIHJuPVdpbSBydD05Mzc4Mjc4MDggcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKTnUgamEsIGhhdHRlIGlyZ2VuZHdpZSBncmFkZSBkaWUgVm9yc3RlbGx1bmcgZWluZXMgbWl0IGdydWVuZW4gWndlaWdlbiB1bmQKTGFtZXR0YSB1bmQgS3VnZWxuIGJlaGFlbmd0ZW4gVGVkZHlzLCBkZXIgc2NocmVpZW5kIHZvciBkaXZlcnNlbgpGYWNrZWx0cmFlZ2VySU5ORU4gZGF2b25sYWV1ZnQuLi4gKmJnKgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogVC1TaGlydCAoVW5hc2FpLCAyMC4gU2VwIDE5OTksIDEzOjQ3OjM3KToKfiMhIHJuPUFwb2xsb25pYSBydD05Mzc4Mjc4ODYgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKKndhZWx6KiBXaWUgd2FlcmUgZXMgd2VubiB3aXIgVGVkZHkgdm9yaGVyICJlaW50b3BmZW4iPz8gRGFubiBrYW5uIGVyIG5pY2h0Cm1laHIgd2VnbGF1ZmVuIDopCgpVbmEqICpBcG8genV3emlua2VybmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogVC1TaGlydCAoTWFoYXRtdSwgMjAuIFNlcCAxOTk5LCAxMzo0ODowNSk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTM3ODI3ODg2IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0CldhYWFoLiBVbmQgYW0gRW5kZSBrdWxsZXJ0IGRlciBCYXVtIGVpbmVuIEJlcmcgaGVydW50ZXIgdW5kIHplcmRydWVja3QgZGllCmd1dGUgU2Nob2tvbGFkZSwgZGllIG5vY2ggZHJhbi9kcmluIGlzdC4gSG1tbSAuLi4gaGFlbmd0IEFwcG9sb25pYSBlaWdlbnRsaWNoCmlocmUgU2VpZGVuc3RydWVtcGZlIHZvciBkZW4gS2FtaW4/IDopCgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogVC1TaGlydCAoV2ltLCAyMC4gU2VwIDE5OTksIDEzOjQ4OjI1KToKfiMhIHJuPUFwb2xsb25pYSBydD05Mzc4Mjc4ODYgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKR2xlaWNoYmVyZWNodGlndW5nISBzb25zdCBmdWVobGUgaWNoIG1pY2ggYXVzZ2VncmVuenQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBULVNoaXJ0IChVbmFzYWksIDIwLiBTZXAgMTk5OSwgMTM6NDg6NTcpOgp+IyEgcm49TWFoYXRtdSBydD05Mzc4MjgwODUgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKSGV5IE1haGF0bXUgbWl0bGVzZW4gOikgaWNoIHNhZ3RlIHZvcmhpbiBzY2hvbiwgZGVyIEJhdW0gd2lyZCBhYmdlcmFldWJlcnQgdW5kCkRBTk4gYW5nZXp1ZW5kZXQgOikKIFVuYSoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogVC1TaGlydCAoTWFoYXRtdSwgMjAuIFNlcCAxOTk5LCAxMzo0OTowMSk6Cn4jISBybj1XaW0gcnQ9OTM3ODI4MTA1IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0Ck1vZWNodGVzdCBEdSBhdWNoIG1pdCBLdWdlbG4gYmVoYW5nZW4gd2VyZGVuPyA6KSBLZWluZSBQcm9ibGVtIC4uLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFQtU2hpcnQgKE1haGF0bXUsIDIwLiBTZXAgMTk5OSwgMTM6NDk6MTcpOgp+IyEgcm49VW5hc2FpIHJ0PTkzNzgyODEzNyByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApBdWNoIGF1c2dlcmFldWJlcnQgLi4uID8KCk1haGF0bXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBULVNoaXJ0IChXaW0sIDIwLiBTZXAgMTk5OSwgMTM6NDk6NDApOgp+IyEgcm49TWFoYXRtdSBydD05Mzc4MjgxNDEgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKV2ltIHdpbGwgZWlnZW50bGljaCBiZWltIEJhdW1hYmJyZW5uZW4gbWl0aGVsZmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogVC1TaGlydCAoVW5hc2FpLCAyMC4gU2VwIDE5OTksIDEzOjQ5OjU4KToKfiMhIHJuPU1haGF0bXUgcnQ9OTM3ODI4MTU3IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0CkRhcyBibGVpYnQgZ2FueiBEZWluZXIgc2NobXV0emlnZW4gUGhhbnRhc2llIHVlYmVybGFzc2VuIDopKSkKVW5hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFQtU2hpcnQgKEFwb2xsb25pYSwgMjAuIFNlcCAxOTk5LCAxMzo1MTowNik6Cn4jISBybj1NYWhhdG11IHJ0PTkzNzgyODA4NSByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApKYSBrbGFyLi4uIGplIGxhZW5nZXIgZGllIFN0cnVlbXBmZS4uLiA7KQpBcG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBULVNoaXJ0IChBcG9sbG9uaWEsIDIwLiBTZXAgMTk5OSwgMTM6NTI6MjApOgp+IyEgcm49VW5hc2FpIHJ0PTkzNzgyODE5OCByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApVbmQgZGF2b24gaGFtIGRpZSBnYXJhbnRpZXJ0IG5lIE1lbmdlLCBTY2h3ZXN0ZXJoZXJ6IDspCgpBcG8qIChmZWl4ZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVkZHkgZm9yIC4uLiBOZXVlciBUaXRlbCwgZGVyIGFsdGUgcGFzc3QgbmltbWVyIDopIChVbmFzYWksIDIwLiBTZXAgMTk5OSwgMTM6NTI6NTgpOgptdXNzdGUgbWFsIGRlbiB0aXRlbCBhZW5kZXJuIDopIGF1ZiBwZXJzb2VubGljaGVuIFd1bnNjaCBlaW5lcyBlaW56ZWxuZW4KSGVycmVuIDopClVuYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFQtU2hpcnQgKEdyaW1tYW4sIDIwLiBTZXAgMTk5OSwgMTQ6Mjk6NTIpOgp+IyEgcm49V2ltIHJ0PTkzNzgyNjIwMSByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApLbGluZ3QgZGFzIGRhbm4gd2llIGJlaSBuZXIgTGF3aW5lPyAKCkdyaW1NYW4sIHN0cmVuZ3Qgc2VpbmUgZ2FuemUgRmFudGFzaWUgYW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBULVNoaXJ0IChTdHJlYXdrY2V1ciwgMjAuIFNlcCAxOTk5LCAxNTo1NTo0NSk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTM3ODI4MjY2IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0Ck9kZXIgamUgdW1mYW5ncmVpY2hlci4uLiBqZSBuYWNoZGVtIDotKQoKcnIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBULVNoaXJ0IChBcG9sbG9uaWEsIDIwLiBTZXAgMTk5OSwgMTc6MDQ6NDYpOgp+IyEgcm49U3RyZWF3a2NldXIgcnQ9OTM3ODM1NzQ1IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0CipQZmZmZmZmZmZmZmZmdCogU29vb29vb29vb29vIGRpY2sgYmluIGljaCBkb2NoIGdhciBuaWNoIDooICpzY2huaWVmKgoKQXBvKiAoYW4gc2ljaCBoZXJ1bnRlcnNjaGF1ZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVC1TaGlydCAoVGVkZHksIDIwLiBTZXAgMTk5OSwgMTk6MDk6MTIpOgp+IyEgcm49VW5hc2FpIHJ0PTkzNzgyNTU4NyByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApJY2ggZ2xhdWJlIGRlbiBHZWRhbmtlbnNwcnVuZyB2b20gbmV0dGVuIGdyYXppbGVuIFZpZXJiZWluZXIgenUgbWlyIG11c3N0IGVtaXIKaXJnZW5kd2FubiBtYWwgZXJrbGFlcmVuIDstKAoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBULVNoaXJ0IChUZWRkeSwgMjAuIFNlcCAxOTk5LCAxOTo0MTozMyk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTM3ODI2NjM3IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0CkRBIGtvbW1lbiBrZWluZSBLdWdlbG4gZHJhbiwgREEgbmNpaHQuCgpUZWRkeSwgc2Nob2NraWVydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFQtU2hpcnQgKFRlZGR5LCAyMC4gU2VwIDE5OTksIDE5OjQ0OjE5KToKfiMhIHJuPU1haGF0bXUgcnQ9OTM3ODI4MDg1IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0CklocmUgU2VpZGVuc3RydWVtcGZlIHdlcmRlbiBnZWZhZWxsaWdzdCBhbiBkZW4gYmF1bSBnZWhhZW5ndCwgbWl0IEluaGFsdC4KClRlZGR5LCB3aWxsIGF1Y2ggd2FzIGRhdm9uIGhhYmVuIFRhbm5lbmJhdW0genUgc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUZWRkeSBmb3IgLi4uIE5ldWVyIFRpdGVsLCBkZXIgYWx0ZSBwYXNzdCBuaW1tZXIgOikgKFRlZGR5LCAyMC4gU2VwIDE5OTksIDE5OjQ3OjU1KToKfiMhIHJuPVVuYXNhaSBydD05Mzc4MjgzNzggcmc9cGFydHkKfiMhIHRpZD05Mzc4MjgzNzgKSUNIIHdhcnMgbmNpaHQsIGljaCBiaW4gZWhlciBkYWZ1ZXIgZGFzIHdpciB6dW0gYWx0ZW4gVG9waWMgenVydWVja2tlaHJlbgoKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogVC1TaGlydCAoU3RyZWF3a2NldXIsIDIwLiBTZXAgMTk5OSwgMjA6MjU6NTApOgp+IyEgcm49VGVkZHkgcnQ9OTM3ODQ5NDU5IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0Ci4uLnVuZCBkYXMgZ2FuemUgZXJpbm5lcnQgZGFubiBpcmdlbmR3aWUgYW4gZGllIExhb2tvb24tR3J1cHBlPyA6LSkKCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBULVNoaXJ0IChDYWlsbGVhbiwgMjIuIFNlcCAxOTk5LCAxMDo0MToyNik6Cn4jISBybj1XaW0gcnQ9OTM3ODI2MjAxIHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0Cm5vZQoKY2FpbGxlYW4gKmJvZXNlIGdyaW5zKwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFQtU2hpcnQgKFRlZGR5LCAyMi4gU2VwIDE5OTksIDIxOjQzOjIyKToKfiMhIHJuPUNhaWxsZWFuIHJ0PTkzNzk4OTY4NiByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApVZmYsIGRhbmtlCgpUZWRkeSwgd2llZGVyIGVpbiBLZWxjaCBhbiBtaXIgdm9yYmVpZ2VnYW5nZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBULVNoaXJ0IChSYXJkaWFuLCAyMi4gU2VwIDE5OTksIDIyOjE0OjU0KToKfiMhIHJuPVVuYXNhaSBydD05Mzc4MjY3Mzkgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKQWxzbyB3aXIgd2VyZmVuIHVuc2VybiBpbW1lciB2b20gQmFsa29uLi4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogVC1TaGlydCAoUmFyZGlhbiwgMjIuIFNlcCAxOTk5LCAyMjoxNzo1NCk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTM3ODI4MjY2IHJnPXBhcnR5Cn4jISB0aWQ9OTM3MjIxODc0ClNlaWRlbnN0cnVlbXBmZSBzaW5kIGphIGF1Y2ggZXh0cmVtIGRlaG5iYXIuLi4gd2VubiBEdSBzaWUgYWxzbyBkYW5hY2ggbmljaHQKbWVociB6dW0gQW56aWVoZW4gYmVudXR6dCwgZ2VodCBuZSBNZW5nZSByZWluLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVC1TaGlydCAoQmFtYmksIDI4LiBTZXAgMTk5OSwgMTM6MjU6MzIpOgp+IyEgcm49VW5hc2FpIHJ0PTkzNzgyNjczOSByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NAp0YW5uZW5iYWV1bWUgdmVyYnJlbm50IG1hbiwgd2VubiBtYW4gc2llIG5pY2h0IG1laHIgYnJhdWNodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFQtU2hpcnQgKEFwb2xsb25pYSwgMjguIFNlcCAxOTk5LCAxNDoyMTozOCk6Cn4jISBybj1CYW1iaSBydD05Mzg1MTc5MzIgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKQWxzbyBkaWVzZW4gc3BlemllbGxlbiBkYW5uIHdvaGwgZWhlciBuaWNodC4uLiBlaW4gVGFubmVuYmF1bSwgZGVyIG1hc3NpZXJlbgprYW5uLCBkZW4gZ2lidCdzIG5pY2h0IHNvIG9mdCA7KQoKQXBvKiAoZGVyIHdpZWRlciBtYWwgZGVyIE5hY2tlbiB3ZWggdHV0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFQtU2hpcnQgKFRlZGR5LCAgMi4gT2t0IDE5OTksIDE4OjExOjA1KToKfiMhIHJuPUFwb2xsb25pYSBydD05Mzg1MjEyOTggcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKSGF0IGRvY2ggVm9ydGVpbGUsIHdlbm4gbWFuIGdld2lzc2UgRmFlaGlna2VpdGVuIGJlc2l0enQuCgpUZWRkeSwgc2llZGV0IHNjaG9ubWFsIGRhcyBPZWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogVC1TaGlydCAoQXBvbGxvbmlhLCAgMi4gT2t0IDE5OTksIDE4OjE1OjMzKToKfiMhIHJuPVRlZGR5IHJ0PTkzODg4MDY2NSByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApGdWVyIHdhcz8/PyA6KQoKQXBvKiAobWl0IEhpdHplc2NoaWxkKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFQtU2hpcnQgKFRlZGR5LCAgMi4gT2t0IDE5OTksIDE4OjE2OjE5KToKfiMhIHJuPUFwb2xsb25pYSBydD05Mzg4ODA5MzMgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKTmEgZnVlciBlaW5lIG1laW5lciBsaWViZXZvbGxlbiB1bmQgc2FuZnRlbiBNYXNzYWdlbiBuYXR1ZXJsaWNoLgoKVGVkZHksIGRpZSBBc2Jlc3RoYW5kc2NodWhlIHVlYmVyc3RyZWlmZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogVC1TaGlydCAoQXBvbGxvbmlhLCAgMi4gT2t0IDE5OTksIDE4OjE3OjUzKToKfiMhIHJuPVRlZGR5IHJ0PTkzODg4MDk3OSByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NAoqVVJYKiBpY2ggZ2xhdWIsIG1pciB0dXQgZGVyIE5hY2tlbiBzY2hvbiBnYXIgbmljaHQgbWVociB3ZWggOykKCkFwbyogCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogVC1TaGlydCAoUm9jaHVzLCAgNC4gT2t0IDE5OTksIDEzOjMwOjE1KToKfiMhIHJuPUFwb2xsb25pYSBydD05Mzg4ODEwNzMgcmc9cGFydHkKfiMhIHRpZD05MzcyMjE4NzQKcmVnID09Clt+cGFyYWNlbHN1cy9vZmZpY2UgICAgICAgICAgICAgICAgICAgXSBBcG9sbG9uaWEqLCBUZWRkeQp0ZWlsZSBhcG9sbG9uaWEgbWl0IGxhZXNzdCBkdSBkaWNoIGdlcmFkZSBtaXQgc2llZGVuZGVtIG9lbCBtYXNzaWVyZW4/IDopCkFwb2xsb25pYSB0ZWlsdCBEaXIgbWl0OiAqYnJ1ZWxsKiBbMTE6MjhdCgpPZmZlbnNpY2h0bGljaCBqYS4uLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtU2hpcnQgKEFyaywgIDUuIE9rdCAxOTk5LCAxOTowMDozOSk6Cn4jISBybj1QYWRyZWljIHJ0PTkzNzY0NTU2NyByZz1wYXJ0eQp+IyEgdGlkPTkzNzIyMTg3NApTY2hvcm5zdGVpbkZFR0VSCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2lidCBlcyBlaW4gU2VtaW5hcj8gKE1vbnRhbnVzLCAyNi4gT2t0IDE5OTksIDIxOjM0OjIwKToKCk51ciAnbmUga3VyemUgRnJhZ2U6ClNvbGwgZXMgYXVmIGRlciBXaW50ZXIoYnVyZylwYXJ0eSB3aWVkZXIgU2VtaW5hcnZvcnRyYWVnZSBnZWJlbj8KV2VubiBqYSAtIHdlciBoYWVsdCBlaW5lbj8KV2VubiBuZWluIC0gd2FzIGdpYnQgZXMgc29uc3Qgbm9jaCBmdWVyIFZvcnNjaGxhZWdlIGZ1ZXIgQWt0aW9uZW4/CgpEaXNrdXNpb24gZXJvZWZmbmV0LgoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbm1lbGRlbGlzdGUgemllbWxpY2ggdm9sbCEhISAoTW9udGFudXMsIDI2LiBPa3QgMTk5OSwgMjE6NDQ6MTgpOgpJY2ggaGFiZSBnZXJhZGUgZ2VzZWhlbiwgZGFzcyBzaWNoIHNjaG9uIHdlaXQgdWViZXIgODAgUGVyc29uZW4gYW5nZW1lbGRldApoYWJlbi4KTWVociBhbHMgOTAgYmVrb21tZSBpY2ggbmljaHQgZ3V0IHVudGVyLCBzZWxic3Qgd2VubiBzaWNoIGVpbiBwYWFyIGZyZWl3aWxsaWcKZGFzIEJldHQgdGVpbGVuLiA6LSkKQWxzbzogYW5tZWxkZW4gaXN0IG5lIHByaW1hIElkZWUsIEdlbGQgdWViZXJ3ZWlzZW4gaXN0IG5vY2ggYmVzc2VyLgpEZW5uIGRpZSBlcnN0ZW4gOTAsIGRlcmVuIEdlbGQgZGEgaXN0LCBzaW5kIGRhbm4gYXVjaCBkYWJlaS4gCkljaCB3ZXJkZSBkYW5uIGF1Y2ggYmFsZCBtYWwgZGllIGVpbmdlZ2FuZ2VuZW4gVWViZXJ3ZWlzdW5nZW4gYmVzdGFldGlnZW4sCnNvYmFsZCBkYXMgRmVhdHVyZSBkZXMgUGFydHlicmV0dHMgZnVua3Rpb25pZXJ0Li4uCgpsYXRlcgoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSb2JvLVJhbGx5IChNb250YW51cywgMjYuIE9rdCAxOTk5LCAyMTo1MjoxNCk6CgpXZXIgd2FlcmUgZGVubiBkYWJlaSBiZWkgZWluZXIgb2RlciBtZWhyIG5ldHRlbiBQYXJ0aWVuIFJvYm8tUmFsbHkgLQp2aWVsbGVpY2h0IHNvZ2FyIGVpbmVtIFR1cm5pZXI/IERhbm4gc2NobGVwcGUgaWNoIGRhcyBTcGllbCBhdWNoIGdlcm5lIG1pdApob2NoLgpQYXJhY2Vsc3VzIGlzdCB1bmZyZWl3aWxsaWcgdWVicmlnZW5zIHNjaG9uIGRhYmVpLiA6LSkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJvYm8tUmFsbHkgKEthcnRvZmZlbCwgMjYuIE9rdCAxOTk5LCAyMTo1NDoxNCk6Cn4jISBybj1Nb250YW51cyBydD05NDA5Njc1MzQgcmc9cGFydHkKfiMhIHRpZD05NDA5Njc1MzQKSG1tLCB3aXIgaGFiZW4gUm9iby1SYWxsZXkgYW0gU2Ftc3RhZyBhdWNoIGFuZ2VzY2hhZmZ0LCB6d2FyIG5vY2ggYXVzcHJvYmllcnQsCmFiZXIgZGllIERlbW8gYXVmIGRlciBNZXNzZSBzYWggemllbWxpY2ggd2l0emlnIGF1cy4uLiA6KQoKJ1RvZmZlbCAtIG5hZWh0IHNpY2ggZGFzIG5hZWNoc3RlIG1hbCBkYXMgUG9ydGVtb25haWUgenUgd2VubnMgenVyIFNwaWVsZW1lc3NlCmdlaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUm9iby1SYWxseSAoQXJrLCAyNi4gT2t0IDE5OTksIDIxOjU2OjEwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MDk2NzUzNCByZz1wYXJ0eQp+IyEgdGlkPTk0MDk2NzUzNApKbywgaWNoIG1hZWgnIEV1Y2ggYWxsZSBuaWVkZXIgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFubWVsZGVsaXN0ZSB6aWVtbGljaCB2b2xsISEhIChTaWx2YW5hLCAyNi4gT2t0IDE5OTksIDIyOjU4OjM3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MDk2NzA1OCByZz1wYXJ0eQp+IyEgdGlkPTk0MDk2NzA1OApJY2ggaGFiIERpY2ggc2Nob24gdm9yIHVlYmVyIG5lbSBNb25hdCBnZWZyYWd0LCB3aWV2aWVsICh2b24gd2VnZW4gZGVyClNvbmRlcnd1ZW5zY2hlKSBEdSBoYWJlbiB3aWxsc3QuLi4gU29sYW5nIER1IGRhbWl0IG5pY2h0IHJhdXNydWVja3N0LCBrcmllZ3N0CkR1IHZvbiBtaXIga2VpbiBHZWxkLi4uIDopCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSb2JvLVJhbGx5IChPbGxpLCAyNy4gT2t0IDE5OTksIDAwOjUxOjIwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MDk2NzUzNCByZz1wYXJ0eQp+IyEgdGlkPTk0MDk2NzUzNApTb2xsdGUgaWNoIG1pY2ggZGF6dSBkdXJjaHJpbmdlbiBrb2VubmVuIChzb2xsIGhlaXNzZW4sIFplaXQgaGFiZW4sCmtsYWVydCBzaWNoIGRpZXNlIFdvY2hlKSwgZGFubiBrYW5uIGljaCBhdWNoIG5vY2ggZWlucyBtaXRicmluZ2VuIDspCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJvYm8tUmFsbHkgKEN5bW9uaywgMjcuIE9rdCAxOTk5LCAyMToyOTo0NCk6Cn4jISBybj1PbGxpIHJ0PTk0MDk3ODI4MCByZz1wYXJ0eQp+IyEgdGlkPTk0MDk2NzUzNApyb2JvLSByYWxseT8KaXN0IGRhcyBkaWVzZXMgYmVrbG9wcHRlIHNwaWVsLCB3ZWxjaGVzIGF1ZiBkZXIgbWVzc2UgZWluZW4KaGF1ZmVuIHNjaGF1bHVzdGlnZSBhbnpvZywgZGllIGVpbmVuIGhhdWZlbiBzY2hsYWZ0YWJsZXR0ZW4KYmVndXRhY2h0ZXRlLCBkZW5lbiBkaWUgYmVpbmUgZWluc2NobGllZmVuLCB3ZWlsIHNpZSAKc3R1bmRlbmxhbmcgYXVmIGVpbmVtIHNjaGFjaGJyZXR0YXJ0aWdlbiBzcGllbGZlbGQgYW4gZGVyCnNlbGJlbiBzdGVsbGUgcnVtb2VkZW4gbXVzc3Rlbj8/PwoKaG1tbS4uLiBidHc6IGhhdCBpcmdlbmRqZW1hbmQgaXJnZW5kZWluZSBpbnRlcmVzc2FudGUgJ25ldWUnCnNwaWVsaWRlZSBpbiBkZW4gaGFsbGVuIGF1Zmdlc3RvZWJlcnQ/IGljaCB3YXIgZGllc2VzIGphaHIKemllbWxpY2ggZW50dGFldXNjaHQuCgpjeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUm9iby1SYWxseSAoT2xsaSwgMjcuIE9rdCAxOTk5LCAyMTo0MDo1Myk6Cn4jISBybj1DeW1vbmsgcnQ9OTQxMDUyNTg0IHJnPXBhcnR5Cn4jISB0aWQ9OTQwOTY3NTM0CkljaCBnZWJlIGphIHp1LCBkYXMgU3BpZWwgemllaHQgc2ljaC4gQWJlciBpc3QgdW1zbyBpbnRlcmVzc2FudGVyIDspCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJvYm8tUmFsbHkgKEphc3BlciwgMjcuIE9rdCAxOTk5LCAyMjo0NTo0OCk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9OTQwOTY3NjU0IHJnPXBhcnR5Cn4jISB0aWQ9OTQwOTY3NTM0Cm1lc3NlPyBkZW1vPyBkYXMgc3BpZWwgaXN0IGRvY2ggc2Nob24gamFocmUgYWx0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUm9iby1SYWxseSAoS2FtdWhsLCAyOC4gT2t0IDE5OTksIDAyOjI4OjM4KToKfiMhIHJuPUphc3BlciBydD05NDEwNTcxNDggcmc9cGFydHkKfiMhIHRpZD05NDA5Njc1MzQKTmFqYSBuZXUgaXMgZGllIFJhbGx5IG5pY2h0LCBhYmVyIHRyb3R6ZGVtIHppZW1saWNoIHdpdHppZy4gQWxsZXJkaW5ncyB3YXIgaWNoCnZvbiBkZW4gNCBQbGFzdGlrcm9ib3Rlcm4gbWl0IGRlbiBidW50ZW4gUGxhZXR0Y2hlbiBldHdhcyBlbnR0YWV1c2NodC4KTGllZ3Qgd29obCBkYXJhbiwgZGFzcyBpY2ggZGFzIE9yaWdpbmFsIHNjaG9uIGV0d2FzIGxhZW5nZXIgaGFiZS4KCldhcyBOZXVoZWl0ZW4gZGVyIE1lc3NlIGFuZ2VodCwgc28gZmFuZCBpY2ggenVtbWluZGVzdCBGcmlzY2hmbGVpc2NoIHZvbiAyRgpyZWNodCBuZXR0LCBhdWNoIHdlbm5zIGV0d2FzIG1ha2FiZXIgd2FyICg7CgppLmEuIEthbXVobAoKUC5zOiBTcGluYm90IHJ1bHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJvYm8tUmFsbHkgKFllbmRpLCAyOS4gT2t0IDE5OTksIDE1OjU3OjU4KToKfiMhIHJuPUthbXVobCBydD05NDEwNzA1MTggcmc9cGFydHkKfiMhIHRpZD05NDA5Njc1MzQKSGF0dGVuIGRpZSBuaWNodCBhdWYgZGVyIE1lc3NlIFJvYm9yYWxseWUgbGlnaHQgaW0gQW5nZWJvdCwgb2huZSBkaWUKQXVzcnVlc3R1bmdza2FydGVuPyBEYXMgZHVlcmZ0ZSBkYW5uIG51ciBoYWxiIHNvdmllbCBTcGFzcyBtYWNoZW4gd2llIG1pdC4uLgphYmVyIHZpZWxsZWljaHQga29tbXQgamEgaXJnZW5kd2FubiBub2NoIGZ1ZXIgMzAsLSBETSBkaWUgRXJ3ZWl0ZXJ1bmcgcmF1cy4uLgoKSWNoIGhhYmUgZGllc2VzbWFsIHp1d2VuaWcgWmVpdCBnZWhhYnQsIGF1ZiBQcm9iZSB6dSBzcGllbGVuLCBhYmVyIGRpZXNlcwpHZXNjaGlja2xpY2hrZWl0cy1CYXVtLUJhdS1TcGllbCBuYW1lbnMgIkFyYm9zIig/KSB3YXIgc3Bhc3NpZy4KCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlcnVlY2h0ZWt1ZWNoZSAoTW9udGFudXMsIDI5LiBPa3QgMTk5OSwgMTc6MDI6MTQpOgoKV2llIG1pciB1bnRlciBkZXIgSGFuZCBtaXRnZXRlaWx0IHd1cmRlLCBpc3QgZWluIFByb2dyYW1tcHVua3QgZnVlciBkaWUKV2ludGVyKGJ1cmcpcGFydHkgc2Nob24gZmVzdCBnZXBsYW50OgoKQW5hdG9sIHdpcmQgKGV2dGwgdWNoIHZpZXJoYWVuZGlnIG1pdCBDaXNvdSkgdW5zIGF1ZiBkZW0gUGlhbm8gbWl0CldlaWhuYWNodHNsaWVkZXJuIHZlcndvZWhuZW4uCgpOYSwgd2VubiBkYXMgbmljaHRzIGlzdCEKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlcnVlY2h0ZWt1ZWNoZSAoQW5hdG9sLCAyOS4gT2t0IDE5OTksIDE5OjA5OjMyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MTIwOTMzNCByZz1wYXJ0eQp+IyEgdGlkPTk0MTIwOTMzNApBdXMgdW5iZXN0YWV0aWd0ZW4gUXVlbGxlbiB0cm9wZnRlIGRhcyBHZXJ1ZWNodCwgZGFzcyBNb250YW51cyBkYWZ1ZXIKU29yZ2UgenUgdHJhZ2VuIGdld2lsbHQgaXN0LCBkaWVzZXMgS2xhdmllciBiaXMgenVyIE1HLU5pa29sYXVzLVBhcnR5CnN0aW1tZW4genUgbGFzc2VuLgoKQW5hdG9sIE86XikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlcnVlY2h0ZWt1ZWNoZSAoRGllZGVyLCAyOS4gT2t0IDE5OTksIDE5OjI4OjA1KToKfiMhIHJuPUFuYXRvbCBydD05NDEyMTY5NzIgcmc9cGFydHkKfiMhIHRpZD05NDEyMDkzMzQKZGFzIHdhZXIga2VpbiBGZWhsZXIgOi0pCgpEaWVkZXIsIGRlciBlcyBlYmVuZmFsbHMgbWFsdHJhZXRpZXJ0IGhhdCB1bmQgZXZ0bC4gd2llZGVyIG1hbHRyYWV0aWVyZW4gd2lyZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlcnVlY2h0ZWt1ZWNoZSAoU2lsdmFuYSwgMjkuIE9rdCAxOTk5LCAyMDoyOToyMSk6Cn4jISBybj1EaWVkZXIgcnQ9OTQxMjE4MDg1IHJnPXBhcnR5Cn4jISB0aWQ9OTQxMjA5MzM0CkdpYnQncyBzY2hvbiBWb3Jhbm1lbGRlLUxpc3RlbiBmdWVyIGRhcyBLbGF2aWVyLi4uPyA7LSkKCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlcnVlY2h0ZWt1ZWNoZSAoQXJhbmNpYSwgMjkuIE9rdCAxOTk5LCAyMToxMTo0NSk6Cn4jISBybj1Nb250YW51cyBydD05NDEyMDkzMzQgcmc9cGFydHkKfiMhIHRpZD05NDEyMDkzMzQKZ3V0LCBkYXNzIGlzdCBkZXIgZXJzdGUgdmVybnVlbmZ0aWdlIEdydW5kICpzbWlsZSogcmVzZXJ2aWVyIG1pciBlaW4gWmltbWVyLgoKRGllIEFwZmVsc2luZSwgbGFlY2hlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlcnVlY2h0ZWt1ZWNoZSAoRmlyZWhhd2ssIDI5LiBPa3QgMTk5OSwgMjE6MTc6MjEpOgp+IyEgcm49QXJhbmNpYSBydD05NDEyMjQzMDUgcmc9cGFydHkKfiMhIHRpZD05NDEyMDkzMzQKVHJhZ2UgZ2VybmUgbWl0IHN0aW1tbGljaGVyIE1hbHRyYWV0aWVydW5nIGJlaSwgaWNoIGZhbmcgc2Nob24gbWFsIG1laW4KR2VkYWVjaHRuaXMgYXVmenVmcmlzY2hlbiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlcnVlY2h0ZWt1ZWNoZSAoQ2lzb3UsIDI5LiBPa3QgMTk5OSwgMjI6NTg6NTYpOgp+IyEgcm49RGllZGVyIHJ0PTk0MTIxODA4NSByZz1wYXJ0eQp+IyEgdGlkPTk0MTIwOTMzNAoKU2VsYmlnZXMgS2xhdmllciBsYWVzc3Qgc2ljaCBsZWlkZXIgbmljaHQgbWVociBiZXNzZXIgc3RpbW1lbiwgZGEgaXMgc2ljaGVyCmRlciBTdGltbXN0b2NrIG1hcm9kZSA6KC4KQWJlciBiZWkgZGVybGVpIGhvY2hrYXJhZXRpZ2VtIEF1Z2Vib3QgYW4gS3VlbnN0bGVybiAuLi4gKHNpZWhlIGRpZSBsZXR6dGVuCkFydGlrZWwpCgpNdXNzIGhhbHQgc28gZ2VoZW4gOi0pCgpEaWUgZGllYmlzY2hlIEVsc3RlciAoa2xhdXQgZGFubiBhdWNoIFRleHRoZWZ0ZSBmdWVyIG1laHIgb2RlciB3ZW5pZ2VyIGdlb2VsdGUKS2VobGVuOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZXJ1ZWNodGVrdWVjaGUgKERpZWRlciwgMjkuIE9rdCAxOTk5LCAyMjo1OTo1MCk6Cn4jISBybj1DaXNvdSBydD05NDEyMzA3MzYgcmc9cGFydHkKfiMhIHRpZD05NDEyMDkzMzQKZGFzIGdsYXViIGljaCBuaWNodC4uLiBkYXMgZ2VodCBzY2hvbi4KCkRpZWRlcgogOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZXJ1ZWNodGVrdWVjaGUgKFBhZHJlaWMsIDI5LiBPa3QgMTk5OSwgMjM6MDE6MDgpOgp+IyEgcm49Q2lzb3UgcnQ9OTQxMjMwNzM2IHJnPXBhcnR5Cn4jISB0aWQ9OTQxMjA5MzM0CkljaCBoYWIgbWlyIG1hbCBzYWdlbiBsYXNzZW4sIGF1Y2ggZWluIGtsYXZpZXIgZGFzIGV3aWcgbmljaCBnZXN0aW1tdCB3dXJkZQprYW5uIG1hbiB3aWVkZXIgZWluaWdlcm1hc3NlbiBoaW5iZWtvbW1lbiwgbWFuIG11c3MgZXMgZGFubiBudXIgZWluaWdlIHplaXQKbWFsIHJlZ2VsbWFlc3NpZyBzdGltbWVuIGxhc3NlbiwgZGFubiB3aXJkIGVzIGF1Y2ggd2llZGVyIGJlc3Nlci4uLgoKUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR2VydWVjaHRla3VlY2hlIChTaWx2YW5hLCAyOS4gT2t0IDE5OTksIDIzOjAxOjI1KToKfiMhIHJuPURpZWRlciBydD05NDEyMzA3OTAgcmc9cGFydHkKfiMhIHRpZD05NDEyMDkzMzQKTmVuIFN0aW1taGFtbWVyIGhhYiBpY2guLi4gQWJlciBrYW5uIGplbWFuZCBfZ3V0XyBzdGltbWVuPwoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHZXJ1ZWNodGVrdWVjaGUgKERpZWRlciwgMjkuIE9rdCAxOTk5LCAyMzowMTo1Nik6Cn4jISBybj1QYWRyZWljIHJ0PTk0MTIzMDg2OCByZz1wYXJ0eQp+IyEgdGlkPTk0MTIwOTMzNApzbyBhZWhubGljaC4uLiB3ZW5ucyBhbGxlcmRpbmdzIG1hbCBuZSBnZXdpc3NlIGdyZW56ZSB1ZWJlcnNjaHJpdHRlbiBoYXQgaXN0CmF1Y2ggZmVpZXJhYmVuZCwgYWJlciBpY2ggZGVua2UgZGEgbXVlc3N0ZSBub2NoIHdhcyBtYWNoYmFyIHNlaW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdlcnVlY2h0ZWt1ZWNoZSAoQW5hdG9sLCAyOS4gT2t0IDE5OTksIDIzOjA0OjAxKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTQxMjMwODY4IHJnPXBhcnR5Cn4jISB0aWQ9OTQxMjA5MzM0CldhcyBDaXNvdSBtZWludGU6IFdlbm4gZGFzIEhvbHogdW0gZGllIEJvbHplbiBkZXIgRHJhaHRzcGFubnVuZyBuaWNodCBtZWhyCmF1c3JlaWNoZW5kIFdpZGVyc3RhbmQgbGVpc3RldCwgd2lyZCBkZXIgVG9uIGVpbmZhY2ggbmljaHQgbWVociBnZWhhbHRlbi4KRWluZSBHZW5lcmFsdWViZXJob2x1bmcgbG9obnQgYmVpIHZpZWxlbiBkZXIgYWVsdGVyZW4gS2xhdmllcmVuIGVpbmZhY2gKbmljaHQuIAoKRWluZSB6d2VpdGUgTW9lZ2xpY2hrZWl0LCBkaWUgZWluIFN0aW1tZW4gdW5tb2VnbGljaCBtYWNodDogRGVyIEd1c3NyYWhtZW4KemVpZ3QgQWx0ZXJzZXJzY2hlaW51bmdlbiB1bmQgZHJvaHQgZGVyIEJlbGFzdHVuZyBuaWNodCBtZWhyIHN0YW5kenVoYWx0ZW4uCiJJbiBzaWNoIiBrYW5uIG1hbiBlaW4gS2xhdmllciBkYW5uIG5vY2ggc3RpbW1lbiwgYWJlciBhdWYgNDQwSHogdHJhdWVuCnNpY2ggZGFubiB2aWVsZSBTdGltbWVyIG5pY2h0IG1laHIuLi4gOykKCkFuYXRvbCAtIEhhdCBhdWNoIGVpbmVuIFN0aW1taGFtbWVyLCBrYW5uIGF1Y2ggbmljaHQgd2lya2xpY2ggc3RpbW1lbgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdlcnVlY2h0ZWt1ZWNoZSAoQ2lzb3UsIDI5LiBPa3QgMTk5OSwgMjM6MDQ6MjUpOgp+IyEgcm49RGllZGVyIHJ0PTk0MTIzMDkxNiByZz1wYXJ0eQp+IyEgdGlkPTk0MTIwOTMzNAoKR2xhdWJ0cyBvZGVyIGxhc3N0ICdzIHNlaW4sIGFiZXIgd2VubiBkZXIgU3RpbW1zdG9jayBicnVlY2hpZyBpc3QsIGthbm4gbWFuCmVpbmZhY2ggbml4IG1laHIgbWFjaGVuLgoKIEF1c3NlcjogU3RpbW1zdG9jayB3ZWNoc2VsbiAsIGtvc3RldCBhdWNoIG51ciBzY2hsYXBwZSAxLDVrIDotKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdlcnVlY2h0ZWt1ZWNoZSAoRGllZGVyLCAyOS4gT2t0IDE5OTksIDIzOjA1OjExKToKfiMhIHJuPUFuYXRvbCBydD05NDEyMzEwNDEgcmc9cGFydHkKfiMhIHRpZD05NDEyMDkzMzQKMS4gQmlzdCBEdSBzaWNoZXIsIGRhc3MgZGFzIFRlaWwgdWViZXJoYXVwdCBuZW4gR3Vzc3JhaG1lbiBoYXQ/IDopCjIuIFdpcmQgaGV1dGUgbm9jaCBhdWYgNDQwIGdlc3RpbW10PyBpY2ggZGFjaHRlIDQ0Mi4uLgoKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHZXJ1ZWNodGVrdWVjaGUgKEFuYXRvbCwgMjkuIE9rdCAxOTk5LCAyMzoxMzoxNCk6Cn4jISBybj1EaWVkZXIgcnQ9OTQxMjMxMTExIHJnPXBhcnR5Cn4jISB0aWQ9OTQxMjA5MzM0CjEuIG5laW4KMi4gd2Vpc3MgaWNoIG5pY2h0LCB1bnNlcmVzIGhhdHRlIGRldXRsaWNoIHdlbmlnZXIuIEF1cyBvLmcuIEdydW5kIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VtaW5hciAoQ2lzb3UsIDI5LiBPa3QgMTk5OSwgMjM6MzM6NTYpOgoKRGEgaGllciBqYSB3YWhyc2NoZWlubGljaCBuaWVtYW5kIGV0d2FzIHVlYmVyIGRpZSBzb2cuIE5hdHVydm9lbGtlciB1bmQgaWhyZQoiQnJhZXVjaGUiIHp1IFdlaWhuYWNodGVuIGhvZXJlbiB3aWxsLCBrb2VubnRlIGljaCBudXIgYW5iaWV0ZW46CkRlciBVc3BydW5nIGRlcyBXZWlobmFjaHRzYmF1bXMsIC1tYW5ucyBldGMuIDotKQoKKktpY2hlcioKCk5hdHVlcmxpY2ggbnVyIGFscyBDby1SZWZlcmVudGluIHp1IEx1ZyB1bmQgZGVtIG5vcmRpc2NoZW4gQnJhdWNodHVtLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEdlcnVlY2h0ZWt1ZWNoZSAoR29sYXMsIDMwLiBPa3QgMTk5OSwgMDI6NTI6NDApOgp+IyEgcm49RGllZGVyIHJ0PTk0MTIzMTExMSByZz1wYXJ0eQp+IyEgdGlkPTk0MTIwOTMzNAppcyBqZWRlcyBqYWhyIGFuZGVycywga2FtbWVydG9uIGEgd2lyZCBtZWluZXMgd2lzc2VucyBzbyB6aWVtbGljaCBqZWRlcyBqYWhyCm5ldSBmZXN0Z2VsZWd0Cgpnb2xhcyBub2NoIHBsYW5lbmQsIHdpZSBzZWluZSBnaXRhcnJlIGRpZXNtYWwgbWl0a29tbXQgdW5kIHdvbyBhdWNoIG5vY2gKdWViZXJyZWRlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsYXZpZXIgJiBDbyAoTW9udGFudXMsIDMwLiBPa3QgMTk5OSwgMDk6MjM6NTcpOgoKT2Igc2ljaCBkYXMgS2xhdmllciBzdGltbWVuIGxhZXNzdCwgaXN0IHdpcmtsaWNoIGZyYWdsaWNoLgpEZW5uOiBldHdhIGRyZWkgTW9uYXRlIHZvciBkZXIgbGV0enRlbiBGZXRlIHdhciBlcyBnZXN0aW1tdCB3b3JkZW4uIApVbmQgd2llIHVuc2VyZSBmbGVpc3NpZ2VuIHRhc3RlbmFrcm9iYXRlbiBzaWNoZXJsaWNoIGJlc3RhZXRpZ2VuIGtvbm50ZW4gLSBlcwp3YXIga2F1bSB6dSBiZW1lcmtlbi4gU2NoYWRlLCBhYmVyIHdhaHIuCkFiZXIgZGllIEUtT3JnZWwgZHVlcmZ0ZSBlaW5pZ2VybWFzc2VuIGdlc3RpbXRtIHNlaW4uIDotKQoKLU1vbnRhbnVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsYXZpZXIgJiBDbyAoQW5hdG9sLCAzMC4gT2t0IDE5OTksIDE0OjI1OjEyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MTI2ODIzNyByZz1wYXJ0eQp+IyEgdGlkPTk0MTI2ODIzNwo+IEFiZXIgZGllIEUtT3JnZWwgZHVlcmZ0ZSBlaW5pZ2VybWFzc2VuIGdlc3RpbXRtIHNlaW4uIDotKQoKQml0dGVyc3RlIFp5bmlrIGF1cyBEZWluZW0gTXVuZGU/IDopCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGF2aWVyICYgQ28gKFNpbHZhbmEsIDMwLiBPa3QgMTk5OSwgMTQ6NDk6MjQpOgp+IyEgcm49TW9udGFudXMgcnQ9OTQxMjY4MjM3IHJnPXBhcnR5Cn4jISB0aWQ9OTQxMjY4MjM3CkhhdCdzIGRhIGluIEtsYXZpZXJuYWVoZSBzb3dhcyB3aWUgbmUgUEE/IFdpbGwgc2FnZW4sIGxvaG50IGVzIHNpY2gsCkluc3RydW1lbnRlIG1pdHp1YnJpbmdlbiwgZGllIGRlciBlbGVrdHJpc2NoZW4gVmVyc3RhZXJrdW5nIGJlZHVlcmZlbj8KCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGF2aWVyICYgQ28gKE1vbnRhbnVzLCAzMS4gT2t0IDE5OTksIDE5OjQ0OjU1KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTQxMjg3NzY0IHJnPXBhcnR5Cn4jISB0aWQ9OTQxMjY4MjM3CgpOZSBQQSBoYXRzIGRhIG5pY2h0LgpNdWVzc2VuIGRpZSBMZXV0ZSBoYWx0IGdhbnogcnVoaWcgc2VpbiwgZGFtaXQgRHUgdW5wbHVnZ2VkIHNwaWVsZW4ga2FubnN0LiA6LSkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbm9jaCBlaW4gbmV1ZXIgUHJvZ3JhbW1wdW5rdCAoTW9udGFudXMsIDMxLiBPa3QgMTk5OSwgMTk6NTM6MzkpOgoKRGFtaXQgaWhyIGV1Y2ggbmljaHQgbGFuZ3dlaWx0LCBoYWJlIGljaCBkaWUgRWluZ2Vib3JlbmVuIGltIEh1bnNydWVjawp1ZWJlcnpldWdlbiBrb2VubmVuLCBkYXNzIGFtIFBhcnR5d29jaGVuZW5kZSBpbSBOYWNoYmFyaHVldHRlbmRvcmYgKEJvY2tlbmF1KQplaW4gV2VpaG5hY2h0c21hcmt0IGF1ZmdiYXV0IHdpcmQuCkRhcyBiaWV0ZXQgZWluIHNlaHIgc2Nob2VuZXMgV2FuZGVyemllbCBmdWVyIGFsbCBkaWVqZW5pZ2VuLCBkZW5lbiBkaWUKR2VzZWxsc2NoYWZ0IHZvbiA5MCBNdWRkZXJuIGVpbmZhY2ggenV2aWVsIHdpcmQuIChVbmQgZGFtaXQgaXN0IG5pY2h0IGRhcwpCdXJncGVyc29uYWwgZ2VtZWludCkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS3VlY2hlbmRpZW5zdCA6LSkgKE1vbnRhbnVzLCAzMS4gT2t0IDE5OTksIDE5OjU3OjA1KToKCk5hY2hkZW0gYmVpIGRlciBsZXR6dGVuIFBhcnR5IGRpZSBLYWVtcGZlcmdpbGRlIGphIGF1ZiBoZXJ2b3JyYWdlbmRlIFdlaXNlCihhdWYgZGV1dHNjaDogYXVmZ2VzdGFjaGVsdCB2b20gR2lsZGVub2JlcmhhdXB0IHVuZCBHaWxkZW5tYWdpZXIpIGFscwpGcmVpd2lsbGlnZSBkaWVudGVuLCB1bSBiZWltIEFidHJvY2tuZW4genUgaGVsZmVuLCBzdGVsbHQgc2ljaCBkaWUgRnJhZ2UsIG9iCmRhcyBkaWVzbWFsIHdpZWRlciBlaW5lIEdpbGRlIHVlYmVybmltbXQuClphdWRlcmVyPwpBYmVudGV1cmVyPwpLbGVyaWtlcj8KV2lzY2htb3BzLCBhZWggS2F0emVua3JpZWdlcj8KcmVpd2lsbGlnZSB2b3IuCihBbSBiZXN0ZW4gd2llZGVyIGZyZWl3aWxsaWdlIEdpbGRlbmNoZWZzLCBkaWUgaWhyZSBVbnRlcmdlYmVuZW4gZ2VybmUKdmVyaGVpemVuIHVuZCBzaWUgZGFubiBtaXQga2xlaW5lbiBCZWxvaG51bmdlbiAoZGVyIEFidHJvY2tuZS1GUCkKYmVzYWVuZnRpZ2VuKQoKLU1vbnRhbnVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUm9iby1SYWxseSAoS2FydG9mZmVsLCAzMS4gT2t0IDE5OTksIDIxOjUwOjM1KToKfiMhIHJuPUphc3BlciBydD05NDEwNTcxNDggcmc9cGFydHkKfiMhIHRpZD05NDA5Njc1MzQKRGFzIHdlaXNzIGljaCB3b2hsLCB0cm90emRlbSBnYWJzIGRpZXMgSmFociBub2NobWFsIG5lIGdyb3NzZSBEZW1vLCBzb3p1c2FnZW4KTGViZW5zZ3Jvc3MgKHdvZnVlciBrbGVpbmUgUGxhc3Rpa3JvYm90ZXIgYXVmbSBTcGllbGJyZXR0LCB3ZW5uIG1hbmRhcyBhdWNoCm1pdCBNZW5zY2hlbiBzcGllbGVuIGthbm4gLi4gOikpLgoKJ1RvZmZlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsYXZpZXIgJiBDbyAoR3JpbW1ib3JuLCAzMS4gT2t0IDE5OTksIDIzOjE5OjU5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MTI2ODIzNyByZz1wYXJ0eQp+IyEgdGlkPTk0MTI2ODIzNwo+IE9iIHNpY2ggZGFzIEtsYXZpZXIgc3RpbW1lbiBsYWVzc3QsIGlzdCB3aXJrbGljaCBmcmFnbGljaC4KCkRhcyBpc3QgZWluIGFsbGdlbWVpbmVzIFByb2JsZW0uIEljaCBoYWJlIGluIG1laW5lbSBMZWJlbiBub2NoIGtlaW4gd2lya2xpY2gKZ2VzdGltbXRlcyBLbGF2aWVyIGVybGVidC4gVW5kIGljaCBoYWJlIGR1cmNoYXVzIEtvbnplcnRzYWVsZSB1bmQgZ3V0ZQpBdWZuYWhtZW4gZXJsZWJ0LiBXZW5uIG1hbiBzaWNoIGRyYXVmIGtvbnplbnRyaWVydCBzaW5kIGRpZXNlClRhc3Rlbmluc3RydW1lbnRlIGltbWVyIGdyYXVlbmhhZnQgKGF1c3NlciB2aWVsbGVpY2h0IE9yZ2VsbiwgZGEgc2Nod2luZ2VuIHNvCnZpZWxlIEZyZXF1ZW56ZW4gbWl0LCBkYSBrb21tdHMgbmljaHQgc28gZHJhdWYgYW4pLgoKU2NodWxkIGRhcmFuIGlzdCBlaW4gZ2V3aXNzZXIgSGVyciBKLlMuIEJhY2ggbWl0IHNlaW5lbSBUaGVybW9tZXRlciAob2RlciBzbykuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEdlcnVlY2h0ZWt1ZWNoZSAoR3JpbW1ib3JuLCAzMS4gT2t0IDE5OTksIDIzOjIzOjE3KToKfiMhIHJuPUdvbGFzIHJ0PTk0MTI0NDc2MCByZz1wYXJ0eQp+IyEgdGlkPTk0MTIwOTMzNApEYSBzb2xsdGVzdCBEdSBhYmVyIGVpbmVuIEJlbGVnIGZ1ZXIgRGVpbiBXaXNzZW4gYW5nZWJlbi4gU293ZWl0IGljaCBnZWxlcm50CmhhYmUgaXN0IGRlciBLYW1tZXJ0b24gYSBzZWl0IGxhbmdlciBaZWl0IDQ0MCBIei4gSW4gRXJtYW5nZWx1bmcgZWluZXIKU3RpbW1nYWJlbCBrYW5uIG1hbiB1ZWJyaWdlbnMgYXVjaCBlaW4gVGVsZWZvbiBuZWhtZW4sIGRhcyBGcmVpemVpY2hlbiBpc3QKZGllc2VyIFRvbi4gSW0gQmFyb2NrIChvZGVyIHNvKSB3YXIgZGFzIGEgd29obCBhdWNoIG1hbCA0MjAgSHouIFdhciBhYmVyIHZvcgptZWluZXIgWmVpdC4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xhdmllciAmIENvIChBbmF0b2wsICAxLiBOb3YgMTk5OSwgMDA6MzQ6MzEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk0MTQwODM5OSByZz1wYXJ0eQp+IyEgdGlkPTk0MTI2ODIzNwpCcmluZycgRGVpbmUgVmlvbGluZSBtaXQgdW5kIGJld2Vpc2UgdW5zLCBkYXNzIER1IGVzIGJlc3NlciBrYW5uc3QuCgpBbmF0b2wgO28pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLdWVjaGVuZGllbnN0IDotKSAoQXJrLCAgMi4gTm92IDE5OTksIDIxOjQ2OjU2KToKfiMhIHJuPUxlaWJuaXogcnQ9OTQxNTczNTMyIHJnPXBhcnR5Cn4jISB0aWQ9OTQxMzk2MjI1CkhtLCBoZWlzc3QgZWluIFN0dWZlbnJhbmcgbmljaHQgIkdsYXNzcHVlbGVyIiBiZWkgZXVjaD8gTW9udGFudXMsIGlociBaZXVnZSEKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VtaW5hciAoTHVnLCAgMy4gTm92IDE5OTksIDAxOjM5OjE0KToKfiMhIHJuPUNpc291IHJ0PTk0MTIzMjgzNiByZz1wYXJ0eQp+IyEgdGlkPTk0MTIzMjgzNgoKSG0/IFdlbm4gQW5yZWlzZSwgQWJyZWlzZSwgTmFocnVuZywgR2V0cmFlbmtlIHVuZCBBdWZlbnRoYWx0IGZpbmFuemllcnQgd2lyZCwKbGFlc3Qgc2ljaCBkcnVlYmVyIHJlZGVuLi4uCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLdWVjaGVuZGllbnN0IDotKSAoTHVnLCAgMy4gTm92IDE5OTksIDAxOjQxOjAyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MTM5NjIyNSByZz1wYXJ0eQp+IyEgdGlkPTk0MTM5NjIyNQoKSWNoIHd1c3N0ZSBzY2hvbiBpbW1lciwgZGFzIGVpbmUgTWVuZ2UgbWVpbmVyIEdpbGRlbmtvbGxlZ2VuIHZvZWxsaWcKYmVzY2hldWVydCBpc3QuLi4KClRzc3Rzc2VuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZXJ1ZWNodGVrdWVjaGUgKENhaWxsZWFuLCAgNC4gTm92IDE5OTksIDEzOjM5OjU4KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MTIwOTMzNCByZz1wYXJ0eQp+IyEgdGlkPTk0MTIwOTMzNAp3aWUgd2FlcnMgYWxzIHdlaXRlcmVzIFByb2dyYW1tcHVua3QgbWl0ICJGZXVlcnphbmdlbmJvd2xlIiBhbnNlaGVuPwp3YXIgZGFzIG5pY2h0IG1hbCBpbiBkZXIgZGlza3Vzc2lvbj8gaWNoIGtvZW5udGUgZGVuIGZpbG0gbWl0YnJpbmdlbiwgd2VubiBkdQpuZW4gcmVjb3JkZXIgYmVzb3Jnc3QsIG1vbnRhbnVzOikKCmNhaWxsZWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLdWVjaGVuZGllbnN0IDotKSAoQ2FpbGxlYW4sICA0LiBOb3YgMTk5OSwgMTM6NDQ6NTQpOgp+IyEgcm49QXJrIHJ0PTk0MTU3NTYxNiByZz1wYXJ0eQp+IyEgdGlkPTk0MTM5NjIyNQphdXNzZXJkZW06IHdhcnN0IGR1IG5pY2h0IGRpZSwgZGllIGluIGRlciBrdWVjaGUgc2FndGUgIkR1IGdsYXVic3QgbmljaHQsIHdhcwppY2ggYWxsZXMgZnVlcm4gRlAgbWFjaGUiID8/CgpjYWlsbGVhbiwgc2ljaCB6aWVtbGljaCBkZXV0bGljaCBhbiBkaWUgYnJlaXQgZ3JpbnNlbmRlbiBnZXNpY2h0ZXIgZXJpbm5lcm5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLdWVjaGVuZGllbnN0IDotKSAoQXJrLCAgNS4gTm92IDE5OTksIDE5OjU5OjU4KToKfiMhIHJuPUNhaWxsZWFuIHJ0PTk0MTcxOTQ5NCByZz1wYXJ0eQp+IyEgdGlkPTk0MTM5NjIyNQpJY2ggd2VyZGUgZGEgc2ljaGVyIHZlcndlY2hzZWx0LCBzbyBmZW1pbmluIHdpcmtlIGljaCBzaWNoZXIgbmljaHQsIG9kZXI/Pz8KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgbWFjaHQgZGVubiBudW4gZGFzIFQtU0hpcnQ/IChNb250YW51cywgIDYuIE5vdiAxOTk5LCAxNTozNzoxMSk6CgpJY2ggd2VyZGUgZGF1ZXJuZCBuYWNoIGRlbSBULVNoaXJ0IGdlZnJhZ3QuCldlciBtYWNodCBkYXMgZGVubiBudW4/CgpNZWluIHBlcnNvZW5saWNoZXIgYmVpdHJhZyB6dXIgR2VzdGFsdHVuZzoKKFZvcnNjaGxhZyBvbikKCkxpZWJlciBXaW50ZXIoYnVyZylwYXJ0eSBhbHMgU29tbWVybG9jaCEKKGluIGZldHRlciBTY2hyaWZ0IHZvcm5lIGRyYXVmLCBhbSBiZXN0ZW4gbWl0IFNjaG5lZWZsb2NrZW4gZ2FybmllcnQsIG9kZXIKV2ludGVybGFuZHNjaGFmdCwgd2VpZXIgRHJ1Y2sgYXVmIG1pdHRlbGJsYXUpCkhpbnRlbiBkYXMgTG9nbyBkZXIgV2ludGVyYnVyZywgbmljaHQgZ2FueiBzbyBmZXR0ICJYSUlJLiBNb3JnZW5ncmF1ZW5wYXJ0eQoxMC4tMTIuIERlei4gMTk5OSBpbiBXaW50ZXJidXJnKSB1bmQgZGF6dSBub2NoIGlyZ2VuZHdpZSBkZW4gTXVkZGVybmFtZW4uCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXIgbWFjaHQgZGVubiBudW4gZGFzIFQtU0hpcnQ/IChNZXNpcmlpLCAgNi4gTm92IDE5OTksIDE1OjM5OjI0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0MTg5OTAzMSByZz1wYXJ0eQp+IyEgdGlkPTk0MTg5OTAzMQpHZWdlbnZvcnNjaGxhZyAtPiBhcnRpa2VsIDEyIDspCkljaCB3dWVyZCBlcyBtYWNoZW4sIHdlbm4gbWFsIGplbWFuZCB3YXMgYmVpdHJhZWd0LiBNYWxlbiBrYW5uIGljaCBuaWNoIDspCkFsc28gZXMgc2luZCBnZWZyYWd0OgplaW4gc3VwZXIgQmlsZCB2b20gVG9kClNwcnVjaAp2b24gc28gdmllbGVuIHdpZSBtb2VnbGljaCBTY2FucyB2b24gVW50ZXJzY2hyaWZlbiAoUkwgdW5kL29kZXIgTXVkbmFtZW4pCnNlbmRlbiBhbjogbWgxNEBpbmYudHUtZHJlc2Rlbi5kZQpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlciBtYWNodCBkZW5uIG51biBkYXMgVC1TSGlydD8gKExhcmlzc2EsICA3LiBOb3YgMTk5OSwgMTc6MzQ6MDkpOgp+IyEgcm49TWVzaXJpaSBydD05NDE4OTkxNjQgcmc9cGFydHkKfiMhIHRpZD05NDE4OTkwMzEKCkhtLAppbSBBbmJldHJhY2h0IGRlciBGZWllcmxpY2hrZWl0IHd1ZXJkZSBpY2ggZ2VybmUgZWluIFNrZWxldHQgbWl0Ck5pa29sYXVza2xhbW90dGVuIHNlaGVuLi4uCgpMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VyIG1hY2h0IGRlbm4gbnVuIGRhcyBULVNIaXJ0PyAoTGVpYm5peiwgIDcuIE5vdiAxOTk5LCAyMzowMDo0OSk6Cn4jISBybj1MYXJpc3NhIHJ0PTk0MTk5MjQ0OSByZz1wYXJ0eQp+IyEgdGlkPTk0MTg5OTAzMQpoaWhpLCBmaW5kZSBpY2ggbmUgZ3V0ZSBpZGVlCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLdWVjaGVuZGllbnN0IDotKSAoQ2FpbGxlYW4sICA5LiBOb3YgMTk5OSwgMDM6MTI6MjIpOgp+IyEgcm49QXJrIHJ0PTk0MTgyODM5OCByZz1wYXJ0eQp+IyEgdGlkPTk0MTM5NjIyNQpub2UgYXJrLCBnYW56IHNpY2hlciBuaWNoIDopCmVzIGdpbmcgZWluZGV1dGlnIHVtIGxlaWJpLCBkaWUgaXMgZnVlciBkaWUgbWVpc3RlbiBtdWRkZXIgd2VzZW50bGljaAphdHRyYWt0aXZlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlYW1lciBmdWVyIFZvcnRyYWcgKE1lc2lyaWksIDEwLiBOb3YgMTk5OSwgMTE6MTA6MTEpOgpIYWxsbyBJaHJzLApkYSBpY2ggYXVjaCBuIFZvcnRyYWcvU2VtaW5hciBoYWx0ZW4gd2lsbCwgdW5kIGVzIGd1ZW5zdGlnIHdhZXJlIGRhIGVpbmlnZXMKZGlyZWt0IHp1IGRlbW9uc3RyaWVyZW4sIAp3YWVyIGVzIHNjaG9lbiwgZWluZW4gQmVhbWVyIHp1ciBWZXJmdWVndW5nIHp1IGhhYmVuLiBIYXQgamVtYW5kIHZvbiBFdWNoClp1Z3JpZmYgYXVmIHNvIGVpbiBUZWlsIHVuZCBrb2VubnRlIGVzIG5hY2ggV2ludGVyYnVyZyBtaXRicmluZ2VuPwpEZXIgendlaXRlIFRlaWwgbWVpbmVzIFByb2JsZW1zIGdlaG9lcnQgZWlnZW50bGljaCBuYWNoIEhhcmRzb2Z0d2FyZSA7KQpXZWlzcyBqZW1hbmQgd2llIGljaCBkZW4gU1ZHQS1Yc2VydmVyIDMuMy4zLjEgZGF6dSB1ZWJlcnJlZGVuIGthbm4gZGVtCmV4dGVybmVuCkF1c2dhbmcgbWVociBhbHMgbnVyIGRpZSBoYWxiZW4gRnJlcXVlbnplbiB6dSBsaWVmZXJuPwoKRGFua2UKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlYW1lciBmdWVyIFZvcnRyYWcgKFlhcmVuLCAxMC4gTm92IDE5OTksIDEyOjE5OjE2KToKfiMhIHJuPU1lc2lyaWkgcnQ9OTQyMjI4NjExIHJnPXBhcnR5Cn4jISB0aWQ9OTQyMjI4NjExCmNoZWNrIG1hbCBkaWUgZGl2ZXJzZW4gbW9kZWxpbmUtdXRpbHM6CgogIGh0dHA6Ly9mcmVzaG1lYXQubmV0L3NlYXJjaC5waHAzP3F1ZXJ5PW1vZGVsaW5lCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVlYmVyd2Vpc2VuISA6KSAoTW9udGFudXMsIDEwLiBOb3YgMTk5OSwgMjI6NDQ6MzUpOgpJY2ggaGFiZSBnZXJhZGUgbWFsIGVpbiBVcGRhdGUgZ2VtYWNodCwgdm9uIHdlbSBkZW5uIGFsbGVzIHNjaG9uIEdlbGQgZGEgaXN0CihTdGFuZDogMjguMTAuOTkpLgpEYXMgZ2FuemUga2FubiBtYW4gYXVjaCBhbSBQYXJ0eWJyZXR0IG5hY2hsZXNlbiwgYmVpIEJlZGFyZi4gOi0pCgo+IHBhcnR5bGlzdGUgYmVzdGFldGlndAotLS0tLS0tLS0tLS0KQWVuZWFzOiAgICAgICBKYQpBa2phcmE6ICAgICAgIEphCkFuYXRvbDogICAgICAgSmEKQ2FrZXk6ICAgICAgICBKYQpEYXJrd2luZzogICAgIEphCkZldWVyd2VocjogICAgSmEKRmxhc2hnb2Q6ICAgICBKYQpGcmVjYTogICAgICAgIEphCkl2bzogICAgICAgICAgSmEKS2FtZWxvdDogICAgICBKYQpLYXJ0b2ZmZWw6ICAgIEphCkxhcmFuaXM6ICAgICAgSmEKTGFyaW5hOiAgICAgICBKYQpNYXRpczogICAgICAgIEphCk1vbnRhbnVzOiAgICAgSmEKUGZlaWZlOiAgICAgICBKYQpSb2NodXM6ICAgICAgIEphClRpZ2VyYXVnZTogICAgSmEKVnVsdGFzOiAgICAgICBKYQpXdWVobGVyOiAgICAgIEphClpvb2s6ICAgICAgICAgSmEKLS0tLS0tLS0tLS0tCgpKZXR6dCBhYmVyIG1hbCBsYW5nc2FtIGluIGRpZSBQb2V0dGUga29tbWVuLCBkZXIgUmVzdCEKCi1Nb250YW51cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVZWJlcndlaXNlbiEgOikgKEhvYm8sIDExLiBOb3YgMTk5OSwgMTA6MDI6MzYpOgp+IyEgcm49TW9udGFudXMgcnQ9OTQyMjcwMjc1IHJnPXBhcnR5Cn4jISB0aWQ9OTQyMjcwMjc1ClN0YW5kIDI4LjEwLj8gRGFzIGlzdCBqYSBzY2hvbiBlZWVld2lnIGhlciEKCiAgSG9ibyAtIGhvZmZ0LCBkYXNzIGlociBHZWxkIGluendpc2NoZW4gYW5nZWtvbW1lbiBpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFubWVsZGVsaXN0ZSBha3R1YWxpc2llcnQgKFBpenphcGVwZSwgMTMuIE5vdiAxOTk5LCAxMTozMzo0NCk6CgpBdWNoIHdlbm4gSG9ibyBnbGVpY2ggbWVja2VydCwgZGFzcyBkYXMgYXVjaCBub2NoIG5pY2h0IGdhbnogYWt0dWVsbCBzZWkgLSBkaWUKTGlzdGUgZGVyIGJlc3RhZXRpZ3RlbiBBbm1lbGR1bmdlbiBpc3QgamV0enQgYXVmIFN0YW5kIDUuMTEuLCB1bmQgZXMgc2luZApzY2hvbiAzOSBMZXV0ZS4gOikKSmEsIGJlaSBMYW5kYmFua2VuIGRhdWVydCBkYXMgaGFsdCBpbW1lciBlaW4gd2VuaWcuLi4KClZpZWxlIEdydXV1dXNzZSB2b24gendlaXRiZXN0ZXMgS29jaCB2b24gV2VsdAoKUGl6emFQZXBlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVcGRhdGUgKFBpenphcGVwZSwgMjAuIE5vdiAxOTk5LCAxNDozODo1Nyk6CgpBbGxvIFBhcnR5IFBpaXBlbCEKCkhpZXJlIGlzc2UgUGl6YWEtUGVwZSAgdXVuZCBoYWJlIG5ldWUgWmFobGUgZnV1ciBBbm1lbGR1bmcgZnV1ciBQYXJ0eSEKCkFsc286IEJlc3RhZXRpZ3Q6ICAgICAgICAgamE6ICA1NyAgfCAgbmVpbjogIDUyCgpJc3NlIHZvbm5lIFN0YW5kIDEyLjExLiBHZWxkZWluZ2FuZy4KQml0dGUgdXV1YmVyd2Vpc2UgR2VsZCBqZXR6dCwgd2VubiBub2NoIG5pY2h0IHV1YmVyd2llc2UhCkljaGUgbWFjaGUgS3NzZW5zdHVyeiBuYWVjaHN0ZSBTYW1zdGFnICh3ZXJkZSBnZWhlIGF1ZmUgQmFuayBwZXJzb29ubGljaCB1dW5kCndlcmRlIGhvbGUgbGV0enRlIEF1c3p1dWdlLiA6KQoKS3V1cnplIHVuZCBrbmFwcGU6IHdlciBlcnN0IG5hY2ggZGVtIDI2LjExLiB1dWJlcndlaXN0LCBtdXNzZQpBYmVuZGthc3NlYXVmc2NobGFnIHphaGxlLiA6KQoKQmlzc2UgYmFsZCBzYWd0ZSAKClBpenphLVBlcGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVcGRhdGUgKExpYXJhLCAyMC4gTm92IDE5OTksIDE3OjQyOjMwKToKfiMhIHJuPVBpenphcGVwZSBydD05NDMxMDUxMzcgcmc9cGFydHkKfiMhIHRpZD05NDMxMDUxMzcKSWNoIGhhYmUgaGV1dGUgYXVjaCBtZWluZSBCZXN0YWV0aWd1bmcgYmVrb21tZW4uICpodWVwZiogClVuZCBpY2ggYmluIHZvZWxsaWcgYmVnZWlzdGVydCB2b24gUGl6emEtUGVwZXMgYXVzZnVlaHJsaWNoZXIgTWFpbCwgZGllCm5vY2htYWwgYWxsZXMgZXJrbGFlcnQhCgpHYW56IGxpZWJlbiBEYW5rIGRhZnVlciBhbiBkZW4gR3Jvc3NvcmdhbmlzYXRvci4gOi0pCgpad2VyZ2VuemF1YmVyaW5lIExpYXJhLCBmcmV1dCBzaWNoIHNjaG9uIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVwZGF0ZSAoQW5hdG9sLCAyMS4gTm92IDE5OTksIDAwOjMzOjQwKToKfiMhIHJuPVBpenphcGVwZSBydD05NDMxMDUxMzcgcmc9cGFydHkKfiMhIHRpZD05NDMxMDUxMzcKU3RlbGwgaWNoIG1pciBuaWNodCBnYW56IHVudHJpdmlhbCB2b3IsIFBlcGUgLSBEdSBoYXN0IGRvY2gsIGJlZGluZ3QKZHVyY2ggZGllIEdyb2Vzc2UvQW56YWhsIGRlciBaaW1tZXIvQmV0dGVuL0t1ZWNoZS9IYWV1c2VyIExpbWl0cywgd2FzCmRpZSBQZXJzb25lbnphaGwgYW5nZWh0LiBXZW5uIHNjaG9uIGpldHp0IG1laHIgYW5nZW1lbGRldCBzaW5kIGFscwpkaWUgUmFldW1saWNoa2VpdGVuIGF1Zm5laG1lbiBrb2VubmVuIHVuZCBEdSAod2llIGFuZ2VrdWVuZGlndCkgZGllClJlaWhlbmZvbGdlIGRlciBlaW5nZWdhbmdlbmVuIFVlYmVyd2Vpc3VuZ2VuIGFscyBLcml0ZXJpdW0gZnVlciAiaW4iCnVuZCAib3V0IiBuaW1tc3QgLSB3YXMgbWFjaHN0IER1IGRhbm4gbWl0IGRlciBBYmVuZGthc3NlPyBTb2JhbGQgZGVyCmxldHp0ZSBmcmVpZSBQbGF0eiBiZWxlZ3QgaXN0LCBkZW4gU2NobGFnYmF1bSBydW50ZXI/CgpIYXQgdWViZXJ3aWVzZW4gKEludCArMyksCkFuYXRvbCA7bykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVwZGF0ZSAoTW9udGFudXMsIDIxLiBOb3YgMTk5OSwgMjI6MjM6MTUpOgp+IyEgcm49QW5hdG9sIHJ0PTk0MzE0MDgyMCByZz1wYXJ0eQp+IyEgdGlkPTk0MzEwNTEzNwoKTnVuLCB3aWUgaW1tZXIgc2llaHQgZXMgc28gYXVzLCBkYXNzIHNpY2ggbGFuZ2UgbmljaHQgYWxsIGRpZWplbmlnZW4sIGRpZSBzaWNoCmF1ZiBkZW0gUGFydHlicmV0dCBhdWNoICJhcW5nZW1lbGRldCIgaGFiZW4sIHRhdHNhZWNobGljaCBhdWNoIGtvbW1lbi4KRGVzd2VnZW4gZ2lidHMgamEgZGllIFJ1YnJpayAiYmVzdGFldGlndCIuClVuZCB3ZW5uIGljaCBhbSBuYWVjaHN0ZW4gV29jaGVuZW5kZSBmZXN0c3RlbGxlbiBtdXNzLCBkYXNzIGRpZSBCdWRlIHZvbGwgaXN0LApkYW5uIGJyYXVjaHQgZXMgaGFsdCBrZWluZSBBYmVuZGthc3NlIG1laHIuIFdpZSBEdSBzY2hvbiBzYWd0ZXN0LCBkZXIgUmF1bSBoYXQKZWluIGdld2lzc2VzIExpbWl0LgpBYmVyICh1bnRlciB1bnMpIC0gaWNoIGRlbmtlLCBkYXNzIGVzIHNjaG9uIGtsYXBwZW4gd2lyZC4gRGFzIFdpbnRlcndldHRlcgp3aXJkcyBzY2hvbiByaWNodGVuLiA6KQoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb3RvcyAobmV1KSAoTW9udGFudXMsIDI2LiBOb3YgMTk5OSwgMTg6MTI6NDkpOgoKSWNoIGhhYiBpcmdlbmR3b2lucyBmdHAtVmVyemVpY2huaXMgbm9jaCBQYXJ0eWZvdG9zIGhpbmdld29yZmVuLgpGcmFndCBtaWNoIG5pY2h0LCB3aWUgdW5kIHdvLiBWaWVsbGVpY2h0IGZpbmRldCBzaWUgamEgamVtYW5kLCBkYW5uIGdpdGJzCmRlbW5hZWNoc3QgYXVmIGRlbiBQYXJ0eXNlaXRlbiB3aWVkZXIgbWFsIHdhcyBuZXVlcyB6dSBzZWhlbi4KSXN0IG5pY2h0IHZpZWwsIHVuZCBuaWNodHMgYmVzb25kZXJlcywgYWJlciBpbW1lcmhpbi4KCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgKFN0cmVhd2tjZXVyLCAyNy4gTm92IDE5OTksIDAzOjA1OjA0KToKTXVzcyBsZWlkZXIgbWVpbmUgQW5tZWxkdW5nIHp1cnVlY2t6aWVoZW4gOi0oCgpycgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHktVXBkYXRlIChQaXp6YXBlcGUsIDI4LiBOb3YgMTk5OSwgMjE6MDI6MDMpOgoKU2VpZCBnZWdydXVzdCwgbGllYmUgR2Flc3RlIQoKSGllciBpc3NlIFBpemFhUGVwZSBtaXR0ZSBuZXVzdGUgTmFjaHJpY2h0ZSB2b24gTmlrb2xhdXNwYXJ0eS4KU3RhbmQgMjQuMTEuIHNpbmQgamV0enQgODUgTGV1dGUgYW5nZW1lbGRldC4gQnp3IDg0LCB3ZWlsIHNjaG9uIGVpbmUgQWJtZWxkdW5nCndpZWRlciB2b3JsaWVndC4KU29sbCBoZWlzc2VuIC0gZXMgc2luZCBub2NoIGVpbiBwYWFyIFBsYWV0emUgZnJlaSAtIGFiZXIgbmljaHQgdmllbGUuCkF1c3NlcmRlbSBoYWJlIGljaCBkaWUgR2V0cmFlbmtlIGJlc3RlbGx0OgpQaWxzIHZvbSBGYXNzLCBBbHRiaWVyIHVuZCBzb25zdGlnZSBkdW5rZWxlIEdldHJhZW5rZSBhdXMgZGVyIEZsYXNjaGUsIENvbGEKdW5kIENvIGViZW5mYWxscy4gR2x1ZWh3ZWluIC0gb2IgMTIwIExpdGVyIHJlaWNoZW4/CkF1Y2ggbWl0IGRlIG1DaGluZXNlbiBpc3QgYWxsZXMga2xhciAtIHdpciB3ZXJkZW4gZXJ3YXJ0ZXQuCgpNZWhyIGRlbW5hZWNoc3QuCgpFdWVyIFBlcGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFsbGUgYmVzdGFldGlndD8gKE1vbnRhbnVzLCAyOS4gTm92IDE5OTksIDIzOjMwOjQ0KToKCkFuIGFsbGUsIGRpZSBiZXJlaXRzIEdlbGQgdWViZXJ3aWVzZW4gaGFiZW46CkRlciBha3R1ZWxsZSBHZWxkZWluZ2FuZ3NzdGFuZCBpc3QgZGVyIHZvbiBsZXR6dGVtIE1pdHR3b2NoICgyNC4xMS4pCldlciBHZWxkIHVlYmVyd2llc2VuIGhhdCwgYWJlciBub2NoIGtlaW5lIEFubWVsZGViZXN0YWV0aWd1bmcgZXJoYWx0ZW4gaGF0LApzY2hpY2tlIG1pciBiaXR0ZSBzY2huZWxsICduZSBNYWlsLCBkYW1pdCBpY2ggc2VoZW4ga2Fubiwgd2lldmllbGUgUGxhZXR6ZQpub2NoIGZyZWkgc2luZC4KV2VyIGpldHp0IG5vY2ggdWViZXJ3ZWlzdCwgYml0dGUgYXVjaCAnbmUgTWFpbCBzY2hpY2tlbiEhIQoKLU1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eS1IeW1uZT8gKFJhcmRpYW4sIDMwLiBOb3YgMTk5OSwgMDk6NTA6MDApOgoKSGFiZW4gd2lyIGVpZ2VudGxpY2ggc2Nob24gbmUgUGFydHktSHltbmU/IFdlbm4gbmljaHQsCmRhbm4gc2NobGFnZSBpY2ggdm9uICoqKioqZGVsdXhlICJKYWphLCBkZWluZSBNdWRkZXIuLi4iIHZvciA7KQoKUmFyIGZpbmRldCBkYXMgTGllZCBndXQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5LUh5bW5lPyAoTW9udGFudXMsIDMwLiBOb3YgMTk5OSwgMjE6NTI6MzgpOgp+IyEgcm49UmFyZGlhbiBydD05NDM5NTE4MDAgcmc9cGFydHkKfiMhIHRpZD05NDM5NTE4MDAKCkFscyBQYXJ0eWh5bW5lIGJlc3RpbW1lIGljaCBlaW5mYWNoIG1hbCwgd2VnZW4gZGVyIHdlaWhuYWNodGxpY2hlbiBaZWl0LAoiR3V0ZXMgdHVuIi4KV2VubiBpaHIgYmV0dGVsdCwgc2luZ2VuIFBhbXBlcnMgdW5kIGljaCBFdWNoIGRhcyBhdWNoIHZvci4gTWl0CktsYXZpZXJiZWdlbGVpdHVuZy4gOikKCkd1dGVzIHR1biBpc3QgZ2FyIG5pY2h0IHNjaHdlci4gOi0pCgpNb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eS1IeW1uZT8gKEx1ZywgMzAuIE5vdiAxOTk5LCAyMzo1MDozNik6Cn4jISBybj1Nb250YW51cyBydD05NDM5OTUxNTggcmc9cGFydHkKfiMhIHRpZD05NDM5NTE4MDAKSGFoLAoKZWluIGd1dGVyIEdydW5kIGZlcm56dWJsZWliZW4uIEd1dGVzIHR1bj8gQXJnaCAtIE5JRU1BTFMhCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5LUh5bW5lPyAoRGllZGVyLCAzMC4gTm92IDE5OTksIDIzOjUxOjMwKToKfiMhIHJuPUx1ZyBydD05NDQwMDIyMzYgcmc9cGFydHkKfiMhIHRpZD05NDM5NTE4MDAKZ2VuYXUhCldpbGxzdCBkdSBkaWUgQ2hhb3NnaWxkZSByYXVzZWtlbG4gb2RlciB3YXMgc29sbCBkYXM/PwoKRGllZGVyLCBrbnVycnQgc2F0YW5pc2NoIHJ1bS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRGLVNlbWluYXIgKE1lc2lyaWksICAxLiBEZXogMTk5OSwgMDA6Mzk6NTcpOgpXZXIgRnJhZ2VuLCBXdWVuc2NoZSBmdWVyIGRhcyBURi1TZW1pYXIgaGF0IG1vZWdlIG1pciBuZSBtYWlsIHNjaGlja2VuLgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eS1IeW1uZT8gKE1vbnRhbnVzLCAgMS4gRGV6IDE5OTksIDA3OjA4OjU3KToKfiMhIHJuPURpZWRlciBydD05NDQwMDIyOTAgcmc9cGFydHkKfiMhIHRpZD05NDM5NTE4MDAKQ2hhb3NnaWxkZT8KSWhyIHNlaWQgZG9jaCBnZW5hdXNvIHN1ZXNzIHdpZSBNaWV6ZWthZXR6Y2hlbiBNb25jaGljaGkgTW9yZ290aC4gOi0pCmJ1YnVidWJ1YnUuIGF0YXRhdGVpLgoKVW5kIGpldHp0IHp1cnVlY2sgbWl0IGV1Y2ggaW4gZGVuIExhdWZzdGFsbCA6KQoKdGhyZWFkIC0+IHNjaG1hcnJuCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHktSHltbmU/IChQYW1wZXJzLCAgMS4gRGV6IDE5OTksIDIxOjMyOjA0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0Mzk5NTE1OCByZz1wYXJ0eQp+IyEgdGlkPTk0Mzk1MTgwMApHdXRlcyBUdW4sIEd1dGVzIHR1biwgbWFuIGthbm4gc28gdmllbCBHdXRlcyB0dW4uLi4uCgoKUGFtcGVycy4gU2luZ3QgbWl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHktSHltbmU/IChUZWRkeSwgIDIuIERleiAxOTk5LCAyMzo0NjoxNik6Cn4jISBybj1Nb250YW51cyBydD05NDQwMjg1Mzcgcmc9cGFydHkKfiMhIHRpZD05NDM5NTE4MDAKQ2hhb3RlbiBzaW5kIGRlZmluaXRpdiBuaWNodCBzdWVzcyEKClRlZGR5LCBib2VzYXJ0aWdlciBLYW1wZnRlZGR5LCBjaGFvdGlzY2ggZmllcyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhcnR5LUh5bW5lPyAoSGlnaHQsICAyLiBEZXogMTk5OSwgMjM6NTk6MzQpOgp+IyEgcm49VGVkZHkgcnQ9OTQ0MTc0Nzc2IHJnPXBhcnR5Cn4jISB0aWQ9OTQzOTUxODAwCkRhcyBrYW5uIGljaCBkZWZpbml0aXYgYmVzdGFldGlnZW4gLi4uIFRlZGR5IG1hZyB2aWVsIHNlaW4gYWJiYSBuaWNoIFNVRVNTIC4uLgpzdWVzcyBzaW5kIGJhYnlzIG9kZXIgbiBsb2xsaSAuLi4gYWJiYSBuaWNodCB0ZWRkeSAsbykKCi0tPiBzY2hhcm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5LUh5bW5lPyAoVGVkZHksICAzLiBEZXogMTk5OSwgMDA6MDI6MzApOgp+IyEgcm49SGlnaHQgcnQ9OTQ0MTc1NTc0IHJnPXBhcnR5Cn4jISB0aWQ9OTQzOTUxODAwCldlbmlnc3RlbnMgZWluZXIsIGRlciBtaWNoIHZlcnN0ZWh0LgoKVGVkZHksIHdhZXJlIGpldHp0IGdlcnVlaHJ0LCB3ZW5uIGVyIG5pY2h0IHNvIHZvbGxlciBCb2VzYXJ0aWdrZWl0IHdhZXJlLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHktSHltbmU/IChNb250YW51cywgIDMuIERleiAxOTk5LCAwNzowMTowOCk6Cn4jISBybj1UZWRkeSBydD05NDQxNzU3NTAgcmc9cGFydHkKfiMhIHRpZD05NDM5NTE4MDAKClsyOX5OYXR1ZXJsaWNoIHNpbmQgQ2hhb3RlbiBzdWVzcy4KRXMgaXN0IGltbWVyIHdpZWRlciBuZXR0LCB3aWUgc2llIGluIFRyYWVuZW4gYXVzYnJlY2hlbiwgd2VubiBqZW1hbmQgc28gZmllcwppc3QgdW5kIGlobmVuIGlocmUgSGF1c3RpZXJjaGVuLCBhZWggRGFlbW9uZW4sIGFic2NobGFjaHRldC4KRGFubiB2ZXJnZWh0IGRhcyBIZXJ6IGplZGVzIGVjaHRlbiBBYmVudGV1cmVycyB2b3IgTWl0bGVpZC4KTmVlbmVlLCBDaGFvdGVuIHNpbmQgc2Nob24gd2FzIGxpZWJlcy4KCi1Nb250bmF1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHktSHltbmU/IChUZWRkeSwgIDMuIERleiAxOTk5LCAxNzo1Mjo1Nyk6Cn4jISBybj1Nb250YW51cyBydD05NDQyMDA4Njggcmc9cGFydHkKfiMhIHRpZD05NDM5NTE4MDAKKmtudXJyKjogTGFzcyBtZWluZSBEYWVtb25lbiBpbiBSdWhlLgoKVGVkZHksIGJvZXNhcnRpZywgZ2VtZWluLi4uIG5hamFpaHJ3aXNzdHNjaG9uIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VzdWNodDogQy4gV2VuaGFyZCB1bmQgUi4gRnJhbmtlIChQaXp6YXBlcGUsICA0LiBEZXogMTk5OSwgMDg6MzM6MjIpOgoKU2llaGUgVWViZXJzY2hyaWZ0OgpHZXN1Y2h0IHdlcmRlbiBkaWUgSGVycmVuIFdlbmhhcmQgdW5kIEZyYW5rZS4KSWNoIGhhYmUgZ2VyYWRlIHRlbGVmb25pc2NoIGJlaSBkZXIgQmFuayBkZW4gQW5tZWxkZXN0YW5kIGFiZ2VmcmFndCB1bmQgdm9uCmRlbmVuICJudXIiIGRpZSBSTC1OYW1lbiBiZWtvbW1lbi4KV2VyIGFsc28gZ2xhdWJ0LCBzaWNoIHVudGVyIGRpZXNlbSBOYW1lbiB6dSBlcmtlbm5lbiwgb2RlciBqZW1hbmQgYW5kZXJlcwprZW5udCwgZGVyIGRpZXNlbiBOYW1lbiB0cmFlZ3QgLSBiaXR0ZSBtZWxkZW4hCk1haWwgYW4gTW9udGFudXMuCgpWaWVsZSBHcnVlc3NlIHVuZCBiaXMgbmFlY2hzdGUgV29jaGUhCgpQZXBlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHRVNVQ0hUIChNYWhhdG11LCAgNy4gRGV6IDE5OTksIDE2OjMwOjE5KToKSW1tZXIgbm9jaCBlaW5lIFRlbGVmb25udW1tZXIgZGVzIFZlcmFuc3RhbHRlcnMgYmVpIGdyYXZpZXJlbmRlbiBQcm8tCmJsZW1lbiBhbSBGcmVpdGFnLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdFU1VDSFQgKE1vbnRhbnVzLCAgNy4gRGV6IDE5OTksIDIwOjA3OjIzKToKfiMhIHJuPU1haGF0bXUgcnQ9OTQ0NTgwNjE5IHJnPXBhcnR5Cn4jISB0aWQ9OTQ0NTgwNjE5CgpJbW1lciBub2NoIDA2NzU2IC0gMjIzIG9kZXIgLSAyMzMuClN0ZWh0IHp3YXIgc293b2hsIGlyZ2VuZHdvIGF1ZiBkZW4gSW50ZXJuZXRzZWl0ZW4gdW5kIHdlaXRlciB2b3JuZSBpbiBkaWVzZXIKUnVicmlrLCBhYmVyIGRhbm4gaGFsdCBoaWVyIGF1Y2ggbm9jaG1hbC4KCkxhZXNzdCBzaWNoIGR1cmNoIG5peCBhdXMgZGVyIExhdW5lIGJyaW5nZW46ICdUYW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFzc3BhcmtlciAoTGFyaXNzYSwgIDcuIERleiAxOTk5LCAyMToxODo1Nik6CkhpLAoKd2VubiBpY2ggbWljaCByZWNodCBhbiBkZW4gU29tbWVyIGVyaW5uZXJlIGhhYmVuIGFsbGUgYXVmIGRlciBXaWVzZSBnZXBhcmt0LgpJY2ggd2Vpc3MgamEgbmljaHQgd2llIGVzIGluIFdpbnRlcmJ1cmcgYXVzc2llaHQsIGFiZXIgaW4gTXVlbnN0ZXIgcmVnbmV0CmVzIHNlaXQgVGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFnZW4gdW5kIGFsbGVzIGlzdCB2b2VsbGlnIGR1cmNoZ2VwYW1wdC4KSWNoIGhvZmZlIG1hbCBNb250YW51cyBrZW5udCBlaW5lbiBuZXR0ZW4gQmF1ZXJuIGRlciB1bnMgaW0gTm90ZmFsbAphdXMgZGVyIFdpZXNlIHppZWh0PwoKTGFyaSwgZnJldXQgc2ljaCA6KQoKUFM6IFdlbm5zIHNjaG5laWVuIHNvbGx0ZSBob2ZmZSBpY2ggYXVjaCBhdWYgZGVuIFRyZWNrZXIsIHdpciBoYWJlbgpuYWVtbGljaCBudXIgU29tbWVycmVpZmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR0VTVUNIVCAoTWFuZ28sICA3LiBEZXogMTk5OSwgMjI6Mzg6MTgpOgp+IyEgcm49TWFoYXRtdSBydD05NDQ1ODA2MTkgcmc9cGFydHkKfiMhIHRpZD05NDQ1ODA2MTkKRHUgYmxpbmRmaXNjaCwgZGljaCBtdXNzIG1hbiBkb2NoIGVoIGFtIHN0b2NrIHp1ciBwYXJ0eSBmdWVocmVuIHVuZCBhdWYgZGVyCmtyYW5rZW50cmFnZSB3aWVkZXIgd2VnYnJpbmdlbiEKCk1hbmdvLCBIZWxsc2VoZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHRVNVQ0hUIChHcmltbWJvcm4sICA3LiBEZXogMTk5OSwgMjI6NDA6MTMpOgp+IyEgcm49TWFuZ28gcnQ9OTQ0NjAyNjk4IHJnPXBhcnR5Cn4jISB0aWQ9OTQ0NTgwNjE5CkRhcyBlcmlubmVydCBtaWNoIGFuIGVpbmUgbWVpbmVyIEV4cGVkaXRpb25lbiBpbiBkZW4gZHVua2xlbiBTdWVkZW4sIHdvcwoiU3RlY2tlcmxmaXNjaCIgKG9kZXIgc28gYWVobmxpY2gpIGdhYi4KTGFzcyBpaG4gYWxzbyBuaWNodCB2b20gU3RvY2sgZW50d2lzY2hlbiwgZ2VsbGU/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyZWNrZXIgKE1vbnRhbnVzLCAgNy4gRGV6IDE5OTksIDIzOjE5OjMyKToKS2VpbmUgUGFuaWsuLi4KV2VubiBkaWUgV2llc2UgenUgbWF0c2NoaWcgaXN0Li4uIGVzIGdpYnQgamEgZXR3YSAxMCBQYXJrcGxhZXR6ZSBub2NoIGluClJpY2h0dW5nIEJ1cmcsIHVuZCBkZXIgUmVzdCBrYW5uIGRhbm4gdW50ZW4gaW0gRG9yZiBwYXJrZW4gdW5kIGRlbiBCdXJnYmVyZwpob2NobWFyc2NoaWVyZW4gLSBkYSBnaWJ0cyBlaW5lbiBuZXR0ZW4gV2VnLiA6LSkKCi1Nb250YW51cy4KTWVpbiBDaGF1ZmZldXIgZGFyZiBhdWYgZGVuIFBlcnNvbmFscGFya3BsYXR6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHRVNVQ0hUIChNYXJjdXMsICA4LiBEZXogMTk5OSwgMDA6NDE6MzkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk0NDYwMjgxMyByZz1wYXJ0eQp+IyEgdGlkPTk0NDU4MDYxOQpEdW5rZWw/IFZpZWxsZWljaHQuIEFiZXIgbWVociBTY2huZWUgYWxzIGJlaSBldWNoIFN1ZWRzY2h3ZWRlbiAuLi4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR0VTVUNIVCAoR3JpbW1ib3JuLCAgOC4gRGV6IDE5OTksIDAxOjM2OjIzKToKfiMhIHJuPU1hcmN1cyBydD05NDQ2MTAwOTkgcmc9cGFydHkKfiMhIHRpZD05NDQ1ODA2MTkKSG1tPyBXYXMgc3ByaWNodCBkZXIgV2VzdHNpYmllcmU/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYXNzcGFya2VyIChHbm9tZSwgIDguIERleiAxOTk5LCAxMDozNDozOSk6Cn4jISBybj1MYXJpc3NhIHJ0PTk0NDU5NzkzNiByZz1wYXJ0eQp+IyEgdGlkPTk0NDU5NzkzNgphZWhtLi4uCnNvbW1lcnJlaWZlbiBpbSB3aW50ZXIgYXVmbSBodW5zcnVlY2sgYmVpIHNjaG5lZT8KCmduT21lIGVyaW5uZXJ0IHNpY2ggYW4gZGllIHZpZWxlbiBiZXJnZSB1bmQgc2NobGllc3N0IHdldHRlbiBhYiwgb2IgbGFyaQp1ZWJlcmhhdXB0IGFua29tbXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmFzc3BhcmtlciAoUm9jaHVzLCAgOC4gRGV6IDE5OTksIDEwOjM5OjA1KToKfiMhIHJuPUdub21lIHJ0PTk0NDY0NTY3OSByZz1wYXJ0eQp+IyEgdGlkPTk0NDU5NzkzNgp3d3cuZG9ubmVyd2V0dGVyLmRlLCBSZWdpb24gV2VpbnNoZWltICh3byBXaW50ZXJidXJnIGxpZWd0KToKRG9ubmVyc3RhZzogUmVnZW4sIDggR3JhZApGcmVpdGFnOiAgICBCZXdvZWxrdCwgMTAgR3JhZApTYW1zdGFnOiAgICBSZWdlYiwgOSBHcmFkClNvbm50YWc6ICAgIFJlZ2VuLCA5IEdyYWQKTWFsIHNjaGF1ZW4gd2llIHp1dmVybGFlc3NpZyBkaWUgVm9yaGVyc2FnZSBpc3QgOi0pCihTY2huZWUgd2FlcmEgamEgc2Nob2VuLi4uIHdlbm4gbWFuIG5pY2h0IGZhaHJlbiBtdWVzc3RlLi4uKQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR0VTVUNIVCAoR2xvaW4sICA4LiBEZXogMTk5OSwgMTE6NDM6MDMpOgp+IyEgcm49TWFuZ28gcnQ9OTQ0NjAyNjk4IHJnPXBhcnR5Cn4jISB0aWQ9OTQ0NTgwNjE5ClVuZCBEdSBkYW5jZXJmcmlzaWVydGVyIEVnb2lzdCB3dWVyZGVzdCBqYSBuaWNodG1hbCBkYXMgdHVuLiBEaWUgUGFydHkKZGVyIGtpbmRlci0gdW5kIGtla3N2ZXJzY2hsaW5nZW5kZW4gQXR0cmFrdGlvbiBNYWhhdG1hIHp1IGJlcmF1YmVuIQoKR2xvaW4gaXN0IGVtcG9lcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpcmQgTml4IChNZXNpcmlpLCAgOC4gRGV6IDE5OTksIDE3OjM1OjQwKToKTGllYmUgTGV1dGUKZGEgbWVpbmUgRnJldW5kaW4ga3JhbmsgZ2V3b3JkZW4gaXN0LCBrYW5uIGljaCBsZWlkZXIgbmljaCB6dXIgUGFydHkga29tbWVuCjsoLgpEYW1pdCBmYWVsbHQgZGVyIFRGLVZvcnRyYWcgZmxhY2ggdW5kIGF1Y2ggZGllIEZyYWdlc3R1bmRlICh3ZXIgdHJvdHpkZW0KRnJhZ2VuCmhhdCBkZW0ga29lbm5lbiB1LmEuIFN0cm9oYWxtIHVuZCBIb29kIHdhcyBlcnphZWhsZW4pLgpIYWIgdmllbCBTcGFzcywgaWNoIGhvZmZlIHdpciBzZWhlbiB1bnMgaW0gTWFlcnogMjAwMCBpbiBEcmVzZGVuLgoqdHJhdXJpZyB3aW5rZW5kKgpNZXNpcmlpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHJlY2tlciAoVGVkZHksICA4LiBEZXogMTk5OSwgMTc6NDU6NDQpOgp+IyEgcm49TW9udGFudXMgcnQ9OTQ0NjA1MTcyIHJnPXBhcnR5Cn4jISB0aWQ9OTQ0NjA1MTcyCkRFUiBXZWc/CgpUZWRkeSwgaXN0IGRlbiBXZWcgYmVpbSBsZXR6dGVuIE1hbCBzY2hvbiBnZWxhdWZlbi4gOy0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW50ZXJidXJnIChEaWVkZXIsICA5LiBEZXogMTk5OSwgMDA6Mzc6MTIpOgpIaWhvLAoKa2xlaW5lIEZyYWdlIChmYWxscyBzaWUgYmVyZWl0cyBnZXN0ZWxsdCB3dXJkZSBGbGFtZXMgZGlyZWt0IGFuIG1pY2ggdW5kIG5pY2gKaGllciByZWluLi4uIGRhbmtlKToKCkdpYnRzIE5hbWVuc3NjaGlsZGVyIGluIFdCPyBGYWVuZCBpY2ggYWV1c3NlcnN0IGhpbGZyZWljaC4uLgoKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZyAoR25vbWUsICA5LiBEZXogMTk5OSwgMDA6NDU6MzMpOgp+IyEgcm49RGllZGVyIHJ0PTk0NDY5NjIzMiByZz1wYXJ0eQp+IyEgdGlkPTk0NDY5NjIzMgphZWhtLi4uIHdvenUsIGRpZWRlcj8KbWl0IGdyYXVlbSBzdGFyIHVuZCBuZXIgd2VpdHNpY2h0aWdrZWl0IHZvbiBtaW5kZXN0ZW5zICs1LDAgKGluIGRlaW5lbSBhbHRlcgpldHdhIHp1dHJlZmZlbmQpIGthbm4gbWFuIGRvY2ggZWggbmljaHQgbWVociBsZXNlbi4uLiA+OikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcmJ1cmcgKFBpenphcGVwZSwgIDkuIERleiAxOTk5LCAwNzowOToxNSk6Cn4jISBybj1Hbm9tZSBydD05NDQ2OTY3MzMgcmc9cGFydHkKfiMhIHRpZD05NDQ2OTYyMzIKCkljaCBrYW5uIGdlcm5lIHdpZWRlciAnbmUgUm9sbGUgS3JlcHBiYW5kIHVuZCBuZW4gRWRkaW5nIGF1ZnRyZWliZW4uIERhcyBoYXQKQ2F0KiBpbiBzZWluZXIgSnVnZW5kemVpdCBhdWNoIGltbWVyIHNvIG5ldHQgZ2VtYWNodCB1bmQgZGFubiBkaWUgTGV1dGUgZGFtaXQKdmVycGZsYXN0ZXJ0LiBEZW4gYnJhdmVuIGVpbiBOYW1lbnNzY2hpbGQgYXVmIGRpZSBCcnVzdCwgZGVuIGFuZGVyZW4gcXVlcgp1ZWJlciBkZW4gTXVuZC4KV2VpdGVyZSBGcmFnZW4/CgpQaXp6YXBlcGUgbWl0IEZydWVoZGllbnN0LCBoZXV0ZSBtYWwga3JlYXRpdgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWl0ZmFocnQgYWIgRHJlc2RlbiAoUmlrdXMsICA5LiBEZXogMTk5OSwgMTc6NTk6NTApOgpIaSwKaXJnZW5kd2VyIHdvbGx0ZSBiZWkgbWlyIGFiIEREIG1pdGZhaHJlbiAoa2FtIGF1cyBCZXJsaW4gZ2xhdWIgaWNoKS4KSWNoIGhhdHRlIGJpc2hlciBrZWluZXJsZWkgZGllc2JlenVlZ2xpY2hlIFJ1ZWNrbWVsZHVuZy4gV2VubiBpY2ggYmlzCkZSIDEwIFVociBrZWluZSBtYWlsIGhhYmUsIGRhbm4gc2VoZSBpY2ggZXMgYWxzIGdlZ2Vuc3RhbmRzbG9zIGFuIQoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0cmVpayBkZXIgV2VpaG5hY2h0c2VsZmUgKEFwb2xsb25pYSwgMTAuIERleiAxOTk5LCAxMDo1MDowNik6CkRpZSBXZWlobmFjaHRzZWxmZSBpc3Qga3JhbmsuLi4gRGFoZXIgd2VyZCBpY2ggYXVmIGRpZSBGbHVlZ2VsY2hlbiB1bmQgZGFzCmt1cnplIEtsZWlkIGluIGRpZXNlbSBKYWhyIHZlcnppaWNodGVuIDpvKAoKQXBvKiAoZGllIGVpZ2VudGxpY2ggdWViZXJoYXVwdCBuaWNodCBuYWNoIFdCIGtvbW1lbiBzb2xsdGUsIGVzIGFiZXIgbmljaHQKbGFzc2VuIGthbm4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RyZWlrIGRlciBXZWlobmFjaHRzZWxmZSAoTWFoYXRtdSwgMTAuIERleiAxOTk5LCAxMDo1MjoxOCk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTQ0ODE5NDA2IHJnPXBhcnR5Cn4jISB0aWQ9OTQ0ODE5NDA2CkhtbS4gRGFubiBlbmdhZ2llcmVuIHdpciBrdXJ6ZW50c2NobG9zc2VuIFBhZHJlaWMgZnVlciBEZWluZW4gUG9zdGVuLgpCaXR0ZSB1ZWJlcmdpYiBpaG0gS2xlaWQgdW5kIEZsdWVnZWwgaW4gcGFzc2VuZGVuIEdyb2Vzc2VuLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdHJlaWsgZGVyIFdlaWhuYWNodHNlbGZlIChBcG9sbG9uaWEsIDEwLiBEZXogMTk5OSwgMTE6MjE6NDYpOgp+IyEgcm49TWFoYXRtdSBydD05NDQ4MTk1Mzggcmc9cGFydHkKfiMhIHRpZD05NDQ4MTk0MDYKSGFiIG1pciBkYXMgZ3JhZCB3aWUgdW50ZXIgWndhbmcgYmlsZGxpY2ggdm9yc3RlbGxlbiBtdWVzc2VuLCBhbmdlZmFuZ2VuCmxhdXRoYWxzIHp1IGxhY2hlbiwgZGFiZWkgbmVuIEVyc3RpY2t1bmdzYW5mYWxsIGJla29tbWVuLi4uIERhbmtlIE1haGF0bXUgO28pCgpBcG8qIChpbiBpaHIgVGFzY2hlbnR1Y2ggcHJ1c3RlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp1bmdlc2NoaXR0ZW46IChNb250YW51cywgMTIuIERleiAxOTk5LCAyMjoyMzozOSk6CgpbQWxsZ2VtZWluOk1vbnRhbnVzXSB3byBibGVpYmVuIGRlIHBhcnR5YmVyaWNodGU/IDopCj4gRGVyIFBhcGFnZWkgc2FndDogU2V0emVuIFNpZSBzaWNoIGRvY2guCkRlciBQYXBhZ2VpIGZsYXR0ZXJ0IG5hY2ggV2VzdGVuLgpbQWxsZ2VtZWluOkdyaW1tYW5dIGphdSBnZW5hdSA6KQpBbmF0b2wgICBJIFMgVCAgIEogRSBUIFogVCAgIEQgQSAhISEKW0FsbGdlbWVpbjpNdXBmZWxdIGZyYWcgYW5hdG9sCgpXaWUgYXVmIEJlc3RlbGx1bmcgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJhZCBrcmV1em5hY2ggaGF0IDIgYmFobmhvZWZlLCBvZGVyOiB3YXJ1bSBtYW4gaW0gcnVkZWwgYmxlaWJlbiBzb2xsdGUuLi4uIChHbm9tZSwgMTIuIERleiAxOTk5LCAyMzoxMzo1NSk6CmVzIHdhciBzbyBnZWdlbiBTby4gbWl0dGFnLCB2aWVydGVsIG5hY2ggMTIgaW4gd2ludGVyYnVyZy4gZWluZSBzY2hsYW5nZSBhdXRvcwp3YXJ0ZXRlIHVuZ2VkdWxkaWcgYXVmIGRpZSBhYmZhaHJ0IHp1bSBjaGluZXNlbi4gZGllIGZyYXUgaW0gZXJzdGVuIHdhZ2VuCihzb3JyeSwgaGFiIGRlbiBuYW1lbiB2ZXJnZXNzZW4pIGZyYWd0ZSBuYWNoIGRlbSB3ZWcgZG9ydGhpbi4KZ25vbWUgenVlY2t0IGVpbmUga2FydGU6ICdvaCwga2VpbiBwcm9ibGVtLiBzaWVoIGhlcjogaGllciB2b3JuZSByZWNodHMsIApkdXJjaCBkaWUgZHJlaSBkb2VyZmVyIGR1cmNoLCBkYW5uIG11ZXNzdGUgYmFkIGtyZXV6bmFjaCBzY2hvbiBhdXNnZS0Kc2NoaWxkZXJ0IHNlaW4uLi4nCmRpZSBhdXRvc2NobGFuZ2UgZmFlaHJ0IGFsc28gbmFjaCBhbmZhZW5nbGljaGVuIHNjaHdpZXJpZ2tlaXRlbiAoaHVodQpoZXh4ZXIgOikpIGVuZGxpY2ggbG9zLiBhYmVyIHNpZSBiaWVndCBuYWNoIGxpbmtzIGFiLi4uCmdub21lIHNhZ3Q6ICdobW1tLi4uIHdpZXNvIG5hY2ggbGlua3M/IGVnYWwsIHdpciBmYWhyZW4gbmFjaCByZWNodHMuIGdlaHQKdmllbCBzY2huZWxsZXIuJwp4ZW5hZGEgcmVpc3N0IGRhcyBzdGV1ZXIgcmVjaHRzIHJ1bSwgMTUgbWluIHNwYWV0ZXIgc2luZCB4ZW5hZGEsIGdhbmR1ciwKY2FrZXkgdW5kIGdub21lIGluIGJhZCBrcmV1em5hY2ggYXVmIGRlciBzdWNoZSBuYWNoIGRlbSBjaGluZXNlbi4KZ25vbWUgc2FndDogJ2RlciB3YXIgaXJnZW5kd28gYXVzc2VyaGFsYiBkZXIgb3J0c2NoYWZ0LiBtaXN0LCB3aXIgaGFldHRlbgpuaWNodCBhdWYgZGllIGJ1bmRlc3N0ci4gcmF1ZmdlZHVyZnQsIG51IHNpbmQgd2lyIGZhc3Qgc2Nob24gd2llZGVyIGF1c20Kb3J0IHJhdXMuLi4nCmNha2V5IHNjaG5hcmNodCBlaW4gd2VuaWcuCmdhbmR1ciBzYWd0OiAnaG1tLCBkYXMgc2llaHQgbWlyIGFiZXIgZ2FyIG5pY2h0IGJla2FubnQgYXVzLiBhbHNvIHdlbm4gd2lyCnp1bSBiYWhuaG9mIG9kZXIgenVtIGJhcmZ1c3NwZmFkIGtvbW1lbiwgZGFubiB3ZWlzcyBpY2hzIHdpZWRlci4uLicKMTAgbWluIHVuZCB2aWVsZSBhbXBlbG4gc3BhZXRlciBmYWVocnQgZGFzIHF1YXJ0ZXR0IGltbWVyIG5vY2ggaW4gYmFkCmtyZXV6bmFjaCBpbSBrcmVpcyBoZXJ1bS4KZ25vbWVzIG1hZ2VuIGZhZW5ndCBhbiB6dSBncnVtbWVsbi4KY2FrZXkgc2NobmFyY2h0IHdlaXRlci4KZGVyIHdhZ2VuIGZhZWhydCBub2NobWFsIHJhdXMgYXVzIGJhZCBrcmV1em5hY2ggdW0gYW5zY2hsaWVzc2VuZCB3aWVkZXIKcmVpbnp1ZmFocmVuLgp4ZW5hZGEgc2FndDogJ2Fsc28gaWNoIG1vZWNodCBqYSBuaXggc2FnZW4sIGFiZXIgc2VodCBpaHIgZGEgdm9ybmUgZGllCmtpcmNoZT8gZGEgc2luZCB3aXIgdm9yaGluIHNjaG9ubWFsIGRyYW4gdm9yYmVpLi4uJwpnYW5kdXIgc2FndDogJ2phLCB1bmQgamV0enQgZGEgcmVjaHRzLCBkYW5uIHdlaXNzIGljaHMgd2llZGVyLicKZGFzIGF1dG8gZmFlaHJ0IGFtIGJoZiB2b24gYmFkIGtyZXV6bmFjaCB2b3JiZWkuCmdub21lIHNhZ3Q6ICdoYSwgdW5udSBncmFkZWF1cywgZGFubiBzaW1tZXIgZGEhIGFlaG0uLi4gYWJlci4uLiB1ZWJlciBlaW5lCmJydWVja2UgbXVzc3RlIHdpciBsZXR6dGVucyBhYmVyIG5pY2h0Li4uJwpjYWtleSByYWVrZWx0IHNpY2ggZWluIHdlbmlnLgpnYW5kdXIgc2FndDogJ25hIGRhbm4gZHJlaCBoaWVyIG5vY2htYWwgdW0gdW5kIGRhbm4gZGEgdm9ybmUgZGllc21hbCBuYWNoCm5hY2ggbGlua3MuJwp4ZW5hZGEgc2FndDogJ25lZS4uLiB2b24gZG9ydCBzaW5kIHdpciBnZWtvbW1lbiwgYWxzbyB3aWVkZXIgbmFjaCByZWNodHMuJwpkZXIgd2FnZW4gZmFlaHJ0IGFiZXJtYWxzIGFtIGJoZi4gdm9yYmVpLgpnbm9tZSBzYWd0OiAnZGVyIGJoZiBrb21tdCBtaXIgYWJlciBpcmdlbmR3aWUga29taXNjaCB2b3IsIHNvIGhhYiBpY2ggZGVuCmdhciBuaWNodCBpbiBlcmlubmVydW5nLi4uJwpnYW5kdXIgZ3Vja3QgYXVmIGRpZSBrYXJ0ZTogJ25hIGd1Y2sgbWFsIGhpZXI6IGJhZCBrcmV1em5hY2ggaGF0IGphIGF1Y2gKendlaSBiYWhuaG9lZmUsIHZpZWxsZWljaHQgbWVpbmVuIHdpciBkZW4gYW5kZXJuLi4uJwpjYWtleSBncnVtbWVsdDogJ3NpbmQgd2lyIHNjaG9uIGRhPycKZ25vbWUgZHVja3Qgc2ljaDogJ25hamEsIHp1bWluZGVzdCBtdWVzc3RlbiB3aXIgdGhlb3JldGlzY2ggaW4gZGVyIG5hZWhlCnNlaW4uLi4nCmVzIHZlcmdlaGVuIHdlaXRlcmUgMTAgbWluIGlycmZhaHJ0IGR1cmNoIGRpZXNlIHNjaG9lbmUga2xlaW5zdGFkdCwgYWxzCmRhcyBbVGVhbTpQbGFubG9zXSB3aWVkZXIgYW0gYmhmLiBsYW5kZXQuCmdub21lOiAneCwgZmFociBkb2NoIG1hbCBhdWYgZGVuIGJoZiBkcmF1Zi4uLicKeGVuYWRhIGZhZWhydCBhdWYgZGVuIHBhcmtwbGF0eiB2b3IgZGVtIGJoZi4KZ2FuZHVyIHBsb2V0emxpY2ggKG1pdCBlaW5lbSBnZXp1ZWNrdGVuIHBvcnRlbW9uYWllKTogJ2FlaG0uLi4gbGV1dGUuLi4KaWNoIHNlaCBoaWVyIGdyYWQgYXVmIG1laW5lciBlaW50cml0dHNrYXJ0ZSB2b20gbGV0enRlbiBtYWwsIGRhc3MgZGVyCmJhcmZ1c3NwZmFkIGluIGJhZCBzb2Jlcm5oZWltIHVuZCBuaWNodCBpbiBiYWQga3JldXpuYWNoIGxpZWd0Li4uIGRlbXp1Zm9sZ2UKbXVlc3N0ZSBkZXIgY2hpbmVzZS4uLicKc3RpbGxlLgp4ZW5hZGEgZmFlbmd0IGFuIHp1IGtpY2hlcm4uCmdub21lIHZlcmdyYWVidCBkZW4ga29wZiBpbiBzZWluZW4gaGFlbmRlbi4KZGFubjogc2NoYWxsZW5kZXMgZ2VsYWVjaHRlci4KbmFjaGRlbSB3aXIgdW5zIGVpbiB3ZW5pZyBiZXJ1aGlndCB1bmQgdW5zIGRpZSB0cmFlbmVuIGF1cyBkZW4gYXVnZW4KZ2V3aXNjaHQgaGFiZW4gZnJhZ3QgZ2FuZHVyOiAndGphLi4ud2FzIG51PycKZ25vbWU6ICd3ZW5uIHdpciBqZXR6dCBub2NoIHp1bSBjaGluZXNlbiBmYWhyZW4gZ2xhdWJ0IHVucyBkYXMgZWgga2VpbmVyLAp3YXJ1bSB3aXIgenUgc3BhZXQgc2luZC4uLicKCndpciBmaWVsZW4gZGFubiBiZWkgZWluZW0gdW5mcmV1bmRsaWNoZW4gdW5kIGlua29tcGV0ZW50ZW4gaXRhbGllbmVyIGVpbgp1bSB3ZW5pZ3N0ZW5zIHdhcyBpbSBtYWdlbiB6dSBoYWJlbi4gYWJlciBkZXIgcmVzdCBkZXMgdGFnZXMgdmVybGllZgpqb2ZzZWlkYW5rIG9obmUgd2VpdGVyZW4gendpc2NoZW5mYWVsbGUgOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb3RvcyAoUm9jaHVzLCAxMy4gRGV6IDE5OTksIDEzOjA5OjQyKToKU28sIGRpZSBGb3RvcyB2b24gQnJhbmRpciBzaW5kIGpldHp0IGF1Y2ggYXVmIGRlbiBQYXJ0eXNlaXRlbi4uLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBiYWQga3JldXpuYWNoIGhhdCAyIGJhaG5ob2VmZSwgb2Rlcjogd2FydW0gbWFuIGltIHJ1ZGVsIGJsZWliZW4gc29sbHRlLi4uLiAoTWFoYXRtdSwgMTMuIERleiAxOTk5LCAxNTowNTozOSk6Cn4jISBybj1Hbm9tZSBydD05NDUwMzY4MzUgcmc9cGFydHkKfiMhIHRpZD05NDUwMzY4MzUKRGF6dSBtdXNzIG5vY2ggZ2VzYWd0IHdlcmRlbjoKW1RlYW0gT2N0YXZpYWZhaHJlcl0KSXJnZW5kd2VyIHNhZ3Q6IEJhZCBLcmV1em5hY2guCi4uLgpBbGxlIHN0ZWlnZW4gaW4gaWhyZSBBdXRvcyBlaW4uIEd1YXJkIHN0ZWlndCBhdXMsIGdlaHQgenVtIGVyc3RlbiBBdXRvLAprb21tdCBnbHVlY2tsaWNoIHp1cnVlY2sgdW5kIHNhZ3Q6IE1hbmdvIHNpdHp0IGRhZHJpbiwgZXIgd2Vpc3MsIHdpZQptYW4gaGlua29tbXQuCldpciBzY2hsYWVuZ2VsbiBsb3MuIEdsb2luIGNoZWNrdCBkaWUgS2FydGUuIEVpbmUgS3JldXp1bmcgbWl0CnwtPiBCYWQgS3JldXpuYWNoPgprb21tdC4KV2lyIGZhaHJlbiBpbiBlaW5lIGFuZGVyZSBSaWNodHVuZy4gRmFocmVyIEFlbmVhcyBndWNrdCB2ZXJkdXR6dC4gR2xvaW4KbWVpbnQ6IFdpciB1bWZhaHJlbiBiZXN0aW1tdCBkaWUgU3RhZHQsIGRhbWl0IHdpciBuaWNodCBkcmluIGhlcnVta3VydmVuCm11ZXNzZW4uCjxWaWVsZSBVbWZhaHJ1bmdlbiBzcGFldGVyPgpFaW4gQWxkaS1QYXJrcGxhdHouCkFlbmVhcywgR3VhcmQsIE1hcnRpbmksIEdsb2luIHN0ZWlnZW4gYXVzLgpNYW5nbyBrb21tdCB1bnMgZW50Z2VnZW4uIE1hbmdvIGdyaW5zdCBlbnRzY2h1bGRpZ2VuZCBiZXZvciBhdWNoIG51ciBlaW5lcgpldHdhcyBnZXNhZ3QgaGF0LgoKSXJnZW5kd2VyIGZyYWd0OiBXbyBzaW5kIGVpZ2VudGxpY2ggZGllIExldXRlIGF1cyBHYW5kdXJzIEF1dG8/CklyZ2VuZHdlciBzYWd0OiBIbW0gLSBuYWNoIEJhZCBLcmV1em5hY2ggZ2VmYWhyZW4/CklyZ2VuZHdlciBzYWd0IHNwYWV0ZXI6IE9jaCwgZGllIGhhdHRlbiBzaWNoZXIga2VpbmUgTHVzdCBtZWhyLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmlrb2xhdXNwYXJ0eSAoRGllZGVyLCAxMy4gRGV6IDE5OTksIDIzOjA1OjE0KToKSGlobwoKYmV2b3IgaGllciBub2NoIG1laHIgTGV1dGUgZnJhZ2VuLCB3aWVzbyBpY2ggbmljaHQgYmVpbSBDaGluZXNlbiBkYWJlaSB3YXI6CkljaCBoYXR0ZSBhbSBTb25udGFnIEFiZW5kIGVpbiBLb256ZXJ0IHp1IHNwaWVsZW4sIHVuZCBiZWkgZWluZXIgV2Vnc3RyZWNrZQp2b24gdWViZXIgNDAwa20gd2FyIGVzIG1pciBrbGFyLCBkYXNzIGljaCBkYSBnYXJhbnRpZXJ0IG5pY2h0IG1laHIgcHVlbmt0bGljaAphYmVuZHMgaGVpbWtvbW1lLi4uCgpIb2ZmZSwgZGFtaXQgZGllIEFuZnJhZ2VuIGVyc2NobGFnZW4genUgaGFiZW4sIGF1Y2ggd2VubnMgdmllbGUgc2ljaGVyIG5pY2h0CmludGVyZXNzaWVydC4KCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJhZCBrcmV1em5hY2ggaGF0IDIgYmFobmhvZWZlLCBvZGVyOiB3YXJ1bSBtYW4gaW0gcnVkZWwgYmxlaWJlbiBzb2xsdGUuLi4uIChSYXJkaWFuLCAxNS4gRGV6IDE5OTksIDE5OjEwOjAwKToKfiMhIHJuPUdub21lIHJ0PTk0NTAzNjgzNSByZz1wYXJ0eQp+IyEgdGlkPTk0NTAzNjgzNQpBYmVyIGRhIHNlaHQgaWhyIG1hbCwgd2llIHdpY2h0aWcgZGVyIG5ldHVlcmxpY2hlIEhlcmRlbnRyaWViIGRlcyBNZW5zY2hlbiBpc3QKLi4uCkx1cmNoaSBtZWludGUgbmFjaCBldXJlbSBBYmJpZWdlbiB6dW1pbmRlc3QgbnVyOiAiRGllIHd1c3N0ZW4gbm9jaCBuaWNodApnZW5hdSwgb2Igc2llIG1pdCB6dW0gQ2hpbmVzZW4ga29tbWVuLi4uIgpXaWUgcmVjaHQgZXIgZGFtaXQgaGF0dGUuLi4gOykKClJhcmRpYW4gd2FyIHNlaHIgcG9zaXRpdiB1ZWJlcnJhc2NodCB2b20gQ2hpbmVzZW4gKCxiencgdm9tIEVzc2VuIGRvcnQpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHliaWxkZXIgdm9uIEFuYXRvbCAoQW5hdG9sLCAxNi4gRGV6IDE5OTksIDAwOjExOjM4KToKCkphLCBpY2ggd2Vpc3MuICBJaHIgd2FydGV0IGF1ZiBkaWUgUGFydHliaWxkZXIuICBLbGFyLCB0dScgaWNoIGphCmF1Y2guIFNjaGxpZXNzbGljaCBiaW4gYXVjaCBpY2ggbmV1Z2llcmlnLCB3YXMgYW5kZXJlIHNvIGJpbGRsaWNoCmZlc3RnZWhhbHRlbiBoYWJlbi4gIFVuZCBzY2hsaWVzc2xpY2ggZnJldWUgaWNoIG1pY2ggIHVlYmVyIGplZGVzIApzY2hvZW5lIEZvdG8gdm9uIExhcmFuaXMsICBkaWUgaWNoIGF1ZiBkZXIgUGFydHkgbGVpZGVyICBuaWNodCBzbwpyaWNodGlnIGVyd2lzY2h0IGhhYmUuIAoKQWJlci4gQXVmICJ1bnNlcmVuIiBQYXJ0aWVzIHdpcmQgdm9uIG1hbCB6dSBtYWwgbWVociBmb3RvZ3JhZmllcnQKLSB1bmQgZGFzIG5pY2h0IG51ciB3ZWdlbiBkZW4gZmlsbWxvc2VuICBLbGFwcHQtZXMtemVobm1hbC1uaWNodC0Ka2xhcHB0LWVzLXNwYWV0ZXItRGlnaXRhbGthbWVyYXMuIE1pdHRsZXJ3ZWlsZSB3aXJkIG1pdCBzZWhyIHZpZWwKd2VuaWdlciBSdWVja3NpY2h0IGF1ZiBwZWlubGljaGUgYnp3LiAgdW5zY2hvZW5lIFNpdHVhdGlvbmVuIG9kZXIgClByaXZhdHNwaGFlcmUgZ2Vrbmlwc3QgYWxzICJmcnVlaGVyIi4KU2NobGltbWVyIG5vY2g6IERpZXNlICdpbnRlcmVzc2FudGVuJyAgQmlsZGVyIGJsZWliZW4gbmljaHQgIGV0d2EgCmltIChwcml2YXRlbikgQmVzaXR6ICBkZXMgRm90b2dyYWZlbiwgbmVpbiwgIHNpZSB3ZXJkZW4gZ25hZGVubG9zIAp2ZXJvZWZmZW50bGljaHQsIGRpZSBhYmdlbGljaHRldGVuICh1bmQgbW9lZ2xpY2hlcndlaXNlIGRlciB2aWVsLQp6aXRpZXJ0ZW4gIExhZWNoZXJsaWNoa2VpdCBwcmVpc2dlZ2ViZW5lbikgIFBlcnNvbmVuICAgd2VyZGVuIGdhciAKbmljaHQgbWVociAtIGhvZWNoc3RlbnMgdmllbGxlaWNodCBuYWNodHJhZWdsaWNoIC0gZ2VmcmFndC4KCkljaCBoYWJlIGluendpc2NoZW4gbWl0YmVrb21tZW4sICBkYXNzIG1laHIgYWxzIG51ciBlaW4gb2RlciB6d2VpCm1laW5lciAiT3BmZXIiIG5pY2h0IHNvb29vIGdsdWVja2xpY2ggbWl0IGRlciBlaW5lbiAgb2RlciBhbmRlcmVuCkF1Zm5haG1lIHdhcmVuLiAgSWNoIGJlbXVlaGUgbWljaCBpbnp3aXNjaGVuIG1laHIgZGVubiBqZSwgIGV0d2FzCnp1IHNvcnRpZXJlbiB1bmQgbmljaHQgZWluZmFjaCBhbGxlIEJpbGRlciBlaW56dXNjYW5uZW4gdW5kIHVudGVyCmRpZSBMZXV0ZSB6dSBicmluZ2VuLiAgQWJlciBlcyB3YXIgaW1tZXIgX2ljaF8sIGRlciBzb3J0aWVydCBoYXQsIApuaWNodCBkaWUgQmV0cm9mZmVuZW4uCgpJbnp3aXNjaGVuICBmYW5kIGVpbiAgZ2V3aXNzZXIgIE1laW51bmdzYXVzdGF1c2NoIHN0YXR0LCAgdW5kIGljaAp3ZXJkZSBmdWVyIGRpZSBOaWtvbGF1c3BhcnR5IHdvaGwgZGVuIG1laHIgb2RlciB3ZW5pZ2VyIGtvcnJla3RlbiAKV2VnIGdlaGVuLiAgSW0gS2xhcnRleHQ6ICBBbGxlIEJpbGRlciwgIGRpZSBpY2ggIHZlcm9lZmZlbnRsaWNoZW4gCm1vZWNodGUgdW5kIGF1ZiBkZW5lbiB3ZW5pZ2VyIGFscyAqc2VjaHMqIFBlcnNvbmVuIHp1IHNlaGVuIHNpbmQsCmVyc2NoZWluZW4gKm51ciogbWl0IHZvcmhlcmlnZXIgWnVzdGltbXVuZyBkZXIgYXVmIGRlbiBqZXdlaWxpZ2VuCkZvdG9zIGFiZ2VsaWNodGV0ZW4gUGVyc29uZW4uIAoKTWlyIGlzdCBnbGVpY2hndWVsdGlnLCBvYiA1NyBvZGVyIDIxIEJpbGRlciBkaWVzZXMgUHJvemVkZXJlIGhlaWwKdWViZXJzdGVoZW4gLSBfaWNoXyBoYWJlIGRpZXNlIEJpbGRlciBhbGxlIHNjaG9uIGdlc2VoZW4sIHVuZCBpY2gKYnJhdWNoZSBzaWUgYXVjaCBuaWNodCBhbHMgU2VsYnN0ZGFyc3RlbGx1bmcgaW0gTmV0ei4gSmEsIGljaCBiaW4KZ2VybiBzdG9seiBhdWYgZGllIFF1YWxpdGFldCwgIGFiZXIgd2ljaHRpZ2VyIGlzdCBtaXIsICBkYXNzIHNpY2ggCmF1c25haG1zd2Vpc2UgbWFsIGtlaW5lciAoYXVjaCBrZWluZSBGcmF1KSBkdXJjaCBtZWluZSBzdWJqZWt0aXZlIApCaWxkYXVzd2FobCBhdWYgZGVuIFNjaGxpcHMgb2RlciBkaWUgU2NobGVwcGUgZ2V0cmV0ZW4gZnVlaGx0LgoKRGFua2UgZnVlciBldWVyIFZlcnN0YWVuZG5pcy4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHliaWxkZXIgdm9uIEFuYXRvbCAoU3VibGltZSwgMTYuIERleiAxOTk5LCAwMjowMDoyNSk6Cn4jISBybj1MdWcgcnQ9OTQ1MzA0MTM5IHJnPXBhcnR5Cn4jISB0aWQ9OTQ1Mjk5NDk4CkhlaGUgOz0pCgpTY2hhZGUsIGljaCBlcmlubmVyIG1pY2ggbnVyIG5vY2gsIHdpZSBtYW4gbWljaCBpbiBlaW5lbSBzZWhyIHNlaHIKc2NobGVjaHRlbiBadXN0YW5kIGF1ZiBlaW5lbSBjaGF0dGVyLXRyZWZmZW4gZ2Vrbmlwc3QgaGF0Li4uZGEgbGFnCmljaCBxdWVyIGF1ZiBkZW0gdHJlc2VuIGRlciBiYXIsIHZvbGxnZWtvKioqIHZvbiBvYmVuIGJpcyB1bnRlbiwgaW4KZGVyIGxpbmtlbiBIYW5kICduZSBsZWVyZSBUZXF1aWxhLWZsYXNjaGUsIHJlY2h0cyAnbmUgbGVlcmUgV29ka2EtCmZsYXNjaGUgdW5kIGljaCB3YXIgYW0gc2NobGFmZW4uCgpNdXNzIGRhenUgc2FnZW4sIGxlaWRlciAob2RlciBnb3R0IHNlaSBkYW5rKSBoYWIgaWNoIGRpZSB1cmwgdmVyLQpsb3JlbiA7KCAuLi4gZmFuZCBzb3dhcyBhYmVyIG5pY2h0IHNjaGxpbW0uLi5pc3Qgbm9ybWFsLCBhbHNvIHp1LQptaW5kZXN0IGVpbiBiaXMgZHJlaSBtYWwgaW4gZGVyIHdvYy4uYWVoLCBqYWhyIDspCgpzdWJsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWJpbGRlciB2b24gQW5hdG9sIChOZXZvaywgMTYuIERleiAxOTk5LCAwMjowNDowMik6Cn4jISBybj1TdWJsaW1lIHJ0PTk0NTMwNjAyNSByZz1wYXJ0eQp+IyEgdGlkPTk0NTI5OTQ5OApzb3NvLi4uLi4uIG5hIHRoYW5rcyBmb3Igc2hhcmluZy4uLi5kYXMgc2luZCBtb21lbnRlIGRpZSBkZXIgV2VsdCBlcmhhbHRlbgp3ZXJkZW4gbXVlc3Nlbi4gR2xlaWNoIG5hY2ggZGVtIE9lZmZuZSBkZXMgQnJhbmRlbmJ1cmdlciBUb3JlcywgSXdvIEppbWEgdW5kCmFlaG5saWNoZW4gZ2VzY2hpY2h0bGljaGVuIEhvY2hlcmVpZ25pc3Nlbi4uLi4uLi4Kd2FzIGRhcmFuIHRvbGwgb2RlciBrbGFzc2Ugc2VpbiBzb2xsIHdlbm4gc2ljaCBMZXV0ZSBzbyBkYWVtbGljaCB6dXNjaHVldHRlbgpkYXNzIHNpZSBzaWNoIHZvbGxrb3R6ZW4gbXVlc3NlbiB3ZWlzcyBpY2ggbmV0IHVuZCB3ZXJkJ3Mgd29obCBuaWUKdmVyc3RlaGVuLi4uZnJhZ3Qgc2ljaCB3ZXIgYWVybWVyIGlzLi4uLmRlciBkZXIgZGFzIHR1dCBvZGVyIGRlciBkZXIgZGFzIHRvbGwKZmluZGV0Li4uLgoKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YmlsZGVyIHZvbiBBbmF0b2wgKFN1YmxpbWUsIDE2LiBEZXogMTk5OSwgMDI6MDk6MTApOgp+IyEgcm49U3VibGltZSBydD05NDUzMDYwMjUgcmc9cGFydHkKfiMhIHRpZD05NDUyOTk0OTgKSG1tLC4uLgoKRWlnZW50bGljaCBpbnRlcmVzc2llcnQgZGVyIEhpbnRlcmdydW5kIGthdW0sIE5ldm9rLCBhdWNoIHdlbm4gaWNoIERlaW5lCkFyZ3VtZW50YXRpb24gdmVyc3RlaGVuIGthbm4uIEFsa29ob2wgaXN0IHdhcyBsdXN0aWdlcyAobWVpc3RlbnMgYmlzIHp1CmVpbmVtIGdld2lzc2VuIEdyYWQpLCB3ZW5uIG1hbiBzbyBndXQgaXN0LCBkYXNzIG1hbiBkYW5hY2ggbmljaHQgbWVociBmYWVocnQKb2RlciBpcmdlbmR3byByYW5kYWxpZXJlbiBnZWh0LgpBYmVyIGVpZ2VudGxpY2ggZ2luZ3MgdW0gd2FzIGFuZHJlcywgZmluZCBpY2ggc2VociBob2VmbGljaCB2b24gQW5hdG9sLCBhdWNoCndlbm4gaWNoIGRlbmtlLCBkYXNzIGVpbmlnZSBtb21lbnRlIGF1ZiBkZW4gYmlsZGVybiB6aWVtbGljaCBsdXN0aWcgc2Vpbgprb2VubnRlbgp1bmQgc28gbGFuZ2UgZXMga2VpbmUgbmFja3RiaWxkY2hlbiBzaW5kLCBicmF1Y2h0IHNpY2ggZWlnZW50bGljaCBuaWVtYW5kICduZW4KZ3Jvc3NlbiBLb3BwIHp1IG1hY2hlbiwgd2FyIGphIHNjaGxpZXNzbGljaCBuZSBwYXJ0eSwgZ2VsbGUgOykgPwoKc29ycnksIGJpbiBzY2hvbiB2b2xsIG11ZWQnCnN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YmlsZGVyIHZvbiBBbmF0b2wgKEFwb2xsb25pYSwgMTYuIERleiAxOTk5LCAwOTowNzo0NSk6Cn4jISBybj1TdWJsaW1lIHJ0PTk0NTMwNjAyNSByZz1wYXJ0eQp+IyEgdGlkPTk0NTI5OTQ5OApUZXF1aWxhIHVuZCBXb2RrYSB6dXNhbW1lbj8/PyAqQnJlaXQgZ3JpbnMqIFNjaG9uIHN5bXBhdGhpc2NoIDtvKQoKQXBvKiAoc2ljaCBhbiBlaWdlbmUgQWJzdHVlcnplIGVyaW5uZXJuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJpbGRlciB2b24gQW5hdG9sIChBcG9sbG9uaWEsIDE2LiBEZXogMTk5OSwgMDk6MTM6NDQpOgp+IyEgcm49QW5hdG9sIHJ0PTk0NTI5OTQ5OCByZz1wYXJ0eQp+IyEgdGlkPTk0NTI5OTQ5OApTZWhyIGxvZWJsaWNoIHVuZCBlZGVsICh2b3IgYWxsZW0sIHdlbm4gc2ljaCdzIGRhYmVpIHVtIG1laW5lIEZvdG9zIGhhbmRlbHQKO28pICBEYSBpY2ggYWJlciBlaW4gTWlzdHN0dWVjayBiaW4sIHNvcnRpZXJlIGljaCBfbmljaHRfIGF1cy4uLiBhYmdlc2VoZW4KZGF2b24gYmluIGljaCBmdWVyIGRpZSBtZWlzdGVuIEZvdG9zIHNvd2llc28gbmljaHQgdmVyYW50d29ydGxpY2gsIGRhcyB3YXIgbnVyCm1laW5lIEthbWVyYSwgZGVyIEhlcnIgRm90b2dyYWYgd2FyIHdlciBhbmRlcnMuCgpBcG8qIChkaWUgJ2dlZmFlaHJkZXRlJyBQZXJzb25lbiBiZXJlaXRzIHZvcmdld2FybnQgaGF0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eWJpbGRlciB2b24gQW5hdG9sIChHb2xhcywgMTYuIERleiAxOTk5LCAxMDoxMjo0Nyk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTQ1MzMyMDI0IHJnPXBhcnR5Cn4jISB0aWQ9OTQ1Mjk5NDk4Cm9kZXIgZGllIGZyYXUgZm90b2dyYWZpbiA7KQp3YXMgaGFidCBpaHIgZ2VnZW4gbmFja3RiaWxkZXIgOikpKQppY2ggd2FydGUgc2Nob24gYXVmIGRpZSBzY2hsYWZhbnp1Zy1mb3RvLXNlc3Npb24sIGRpZSBpY2ggbWl0IGdsb2luIGhhdHRlIDooCgpnb2xhcyBpbW1lciBnZXJuZSwgaW1tZXIgb2Z0IHVuZCBpbW1lciB3aWVkZXIgcGVpbmxpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJpbGRlciB2b24gQW5hdG9sIChNYWhhdG11LCAxNi4gRGV6IDE5OTksIDE0OjUxOjA2KToKfiMhIHJuPUFuYXRvbCBydD05NDUyOTk0OTggcmc9cGFydHkKfiMhIHRpZD05NDUyOTk0OTgKRWluZSBndXRlIElkZWUuIEljaCBiaW4gendhciBhdWYgZGVyIFBhcnR5IGdlcm4gYWxzIGZvdG9ncmFmaWVyZW5kZXIKS2xhdHNjaHJlcG9ydGVyIHVudGVyd2VncywgYmVtZXJrZSBhYmVyIGF1Y2ggZGllIFVlYmVyaGFuZG5haG1lLgpOb3JtYWxlcndlaXNlIGZyYWdlIGljaCBiZWkgJ3ZlcmZhZW5nbGljaGVuJyBCaWxkZXJuIHVuZCBkcnVlY2tlIHNpZQpkZW4gQmV0cm9mZmVuZW4gaXJnZW5kd2FubiBtYWwgaW4gZGllIEhhbmQsIGVzIHdpcmQgbWlyIGplZG9jaCBuaWNodApzY2h3ZXJmYWxsZW4gZWluIHBhYXIgTWFpbHMgbWVociB6dSBzY2hyZWliZW4uCkF1c3NlcmRlbSBnZXNjaGllaHQgZGFzIGVyc3QgaW4gZWluIGJpcyB6d2VpIE1vbmF0ZW4gOj4gQmluIGphIGVpbgpub3RvcmlzY2hlciBQYXJ0eWJpbGRlcnp1c3BhZXRlbnR3aWNrbGVyIDspCgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWtvbGF1cy1QYXJ0eS1GYW4tcG9zdCEgKENpc291LCAxNi4gRGV6IDE5OTksIDE5OjQwOjE3KToKQWxzbyBiZXZvciBzaWNoIGhpZXIgZGllIEJlZnVlcndvcnRlciB1bmQgR2VnbmVyIHZvbiBQYXJ0eWJpbGRlcm4sCmFsa29ob2xpc2NoZW4gRXh6ZXNzZW4sIChOKWEoYylrdGZvdG9zIG9kZXIgUHlnaWFtYXBhcnRpZXMgYWxsenUgc2VociBpbnMgWmV1ZwpsZWdlbiwgbW9lY2h0ZSBpY2ggbWljaCBhbiBkaWVzZXIgU3RlbGxlIGhlcnpsaWNoIGJlaSBNb250YW51cywgUGl6emFwZXBlIGZ1ZXIKZGllIE9yZ2FuaXNhdGlvbiBkZXIgRmV0ZSBiZWRhbmtlbiEKCkVybGVibmlzYXVmc2FldHplIGtvZW5uZW4gZGllIEthZW1wZmVyIHNpY2hlciBiZXNzZXIgc2NocmVpYmVuIChzb2xsdGVuIGRpZXMKenVtaW5kZXN0IDotKS4KCkljaCBwZXJzb2VubGljaCBiaW4gZnJvaCwgZGFzcyBha3VzdGlzY2hlIEVudGdsZWlzdW5nZW4gbmljaHQgbWl0Z2VzY2huaXR0ZW4Kd3VyZGVuIHVuZCBpbnMgTmV0eiBnZWhhZW5ndCB3ZXJkZW4ga29lbm5lbiwgd2VsY2hlIFNjaG1hY2gsIG1vcmdlbnMgdW0gMyBVaHIKbmljaHQgbWFsIG1laHIgZGllIDEuIFN0cm9waGUgZGVyICJJbnRlcm5hdGlvbmFsZW4iIHp1IHdpc3NlbiA6LSkuCgpEaWUgRWxzdGVyIC0gc2VpdCBTb25udGFnIGF1Y2ggZ2VuYW5udCAiRGVyIFJhYmUiLCB3ZWxjaGVyIGtyYWVjaHp0IGJlc29uZGVycwpsaWVibGljaCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJpbGRlciB2b24gQW5hdG9sIChQYW1wZXJzLCAxNi4gRGV6IDE5OTksIDIxOjEyOjAzKToKfiMhIHJuPUFuYXRvbCBydD05NDUyOTk0OTggcmc9cGFydHkKfiMhIHRpZD05NDUyOTk0OTgKV2FybWR1c2NoZXIuIEhhZXNzbGljaCBzZWlkIGlociBlaCBhbGxlLiBNYWNodCBhbHNvIGtlaW5lbiBVbnRlcnNjaGllZC4KClBhbXBlcnMuIEF1Y2ggbmljaHQgc2Nob2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pa29sYXVzLVBhcnR5LUZhbi1wb3N0ISAoUGFtcGVycywgMTYuIERleiAxOTk5LCAyMToxNDoxMyk6Cn4jISBybj1DaXNvdSBydD05NDUzNjk2MTcgcmc9cGFydHkKfiMhIHRpZD05NDUzNjk2MTcKTmVuZW5lLCBDaXNvdS4gTmFlY2hzdGVzIE1hbCBicmluZyBpY2ggZGVuIFRleHQgbWl0LiAKCkFjaG5lZWUsIGlzIGphIG5pY2ggbm9ldGljaCwgd2lyIGZhaHJlbiBqYSBlaCBpbiBkZW4gT3N0ZW4sIGRhIGtlbm5lbiBkaWUKTGV1dGUgZGVuIFRleHQuCgpQYW1wZXJzLiBXYWNodCBhdWYsIFZlcmRhbW10ZSBkaWVzZXIgRXJkZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmlrb2xhdXMtUGFydHktRmFuLXBvc3QhIChNb250YW51cywgMTYuIERleiAxOTk5LCAyMToyNDo1OSk6Cn4jISBybj1QYW1wZXJzIHJ0PTk0NTM3NTI1MyByZz1wYXJ0eQp+IyEgdGlkPTk0NTM2OTYxNwoKUXVhdHNjaCwgQmF1a25lY2h0IQoKRW50d2VkZXIsIG1hbiBrYW5uIGRlbiBUZXh0LCBvZGVyIG1hbiBrYW5uIGlobiBuaWNodC4gQWJsZXNlbiBpc3Qgd2FzIGZ1ZXIKU2Fsb25zb3VpYWxpc3Rlbi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YmlsZGVyIHZvbiBBbmF0b2wgKExhcmlzc2EsIDE4LiBEZXogMTk5OSwgMjI6MDI6NTMpOgp+IyEgcm49UGFtcGVycyBydD05NDUzNzUxMjMgcmc9cGFydHkKfiMhIHRpZD05NDUyOTk0OTgKCkdlbmF1IQoKRnVzc2ZvZWhuZXIsIE1hdXMtU2NodWJzZXIuCgpMYXJpICgtPkhlaXNlbmJlcmcyLCBQYXJ0eTQgQmlsZDE4KSAgIDotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YmlsZGVyIHZvbiBBbmF0b2wgKEFuYXRvbCwgMTkuIERleiAxOTk5LCAwMDozMjozNSk6Cn4jISBybj1MYXJpc3NhIHJ0PTk0NTU1MDk3MyByZz1wYXJ0eQp+IyEgdGlkPTk0NTI5OTQ5OApFcyBnZWh0IGF1ZiBkZW4gRW5kc3B1cnQgenUuIFdlbm4gamVtYW5kIGVpbmUgZGVyIGZvbGdlbmRlbiB2aWVyClBlcnNvbmVuIGlyZ2VuZHdhbm4gdHJpZmZ0LCBtb2VnZSBlciBzaWUgZGFyYW4gZXJpbm5lcm4gb2RlciBkYXJhdWYKYXVmbWVya3NhbSBtYWNoZW4sIGRhc3Mgc2llIE1haWwgaGF0LCBkaWUgYXVmIEJlYW50d29ydHVuZyB3YXJ0ZXQuCgogICAgICBLYXJ0b2ZmZWwKICAgICAgTWFuZ28KICAgICAgTWFydGluaQogICAgICBPcmt0b2V0ZXIKClZvbiBhbGxlbiBhbmRlcmVuIGhhYmUgaWNoIGluendpc2NoZW4gUnVlY2ttZWxkdW5nZW4uCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eSBXRSAoQXJpYW5hLCAzMC4gRGV6IDE5OTksIDE4OjI0OjMwKToKaGkgaWhyIGxpZWJlbiBtdWRkZXI6KQoKYW0gMy4gZnJlaXRhZyBpbSBqYW51YXIgc29sbCBoaWVyIGltIHd1bmRlcnNjaG9lbmVuIG11ZW5zdGVyIGVpbiBzb25kZXJzdGF0aQppbiBlaW5lciBzZWhyIHNjaG9lbmVuIG1pdHRlbGFsdGVybGljaGVuIGtuZWlwZSBzdGF0dGZpbmRlbi4KaWNoIHdlcmQgZXJzdG1hbCBmdWVyIGNhIDMwIGxldXRlIGltIGZlZ2VmZXVlciByZXNlcnZpZXJlbiwgYWJlciBkaWUgd29sbGVuCnJlY2h0IGJhbGQgZ2VuYXVlcmUgemFobGVuLCBhbHNvIHdhZXJzIGVzIHNjaG9lbiwgd2VubiBpaHIgZXVjaCB6YWhscmVpY2ggdW5kCnplaXRpZyBiZWkgbWlyIGFubWVsZGVuIGtvZW5udGV0LgphZHJlc3NlIGlzIGRhZ21hckBhc2dhcmQtZGF0ZW50ZWNobmlrLmRlCnVuZCBkYW1pdCBzaWNoIGRlciBiZXN1Y2ggaW0gc2Nob2VuZW4gbXVlbnN0ZXIgcmljaHRpZyBsb2hudCwgYXVjaCBmdWVyIGxldXRlCnZvbiB3ZWl0ZXIgd2VnIChvYndvaGwgbGF1dCBhdXNzYWdlIGVpbmlnZXIgbXVkZGVyIG5pY2h0cyB3aXJrbGljaCB6dSB3ZWl0IGlzCipHKiksIHdpcmQgYW0gMy4gc2Ftc3RhZyBpbSBqYW51YXIsIGFsc28gYW0gZ2xlaWNoZW4gV0UsIGF1Y2ggZ2xlaWNoIGphbWVzb25zCnVuZCBtZWluZSBlaW53ZWlodW5nc3BhcnR5IHN0YXR0ZmluZGVuLgpuaWNodGFsa29ob2xpc2NoZXMgd2lyZCB2b3JoYW5kZW4gc2VpbiwgZWJlbnNvIHdpZSBzY2hsYWZwbGFldHplIChiaXMgenUgMzApLAphbGxlcmRpbmdzIHdpZSBhdWYgamVkZXIgcGFydHkgbnVyLCB3ZW5uIGlociBldWNoIHJlY2h0emVpdGlnIGFubWVsZGV0OikKYW5zb25zdGVuIHdhZXJzIHNjaG9uZSwgd2VubiBqZWRlciB3YXMgbWl0YnJpbmdlbiBrb2VubnRlIChpbmNsLiBzY2hsYWZzYWNrKQphbHNvLCBrb21tdCB6YWhscmVpY2ggdW5kIGZlaWVydCBtaXQgdW5zLCBkYW5uIHdpcmRzIGVpbiByaWNodGlnIHNjaG9lbmVzCnBhcnR5V0UKZGllIGxldHp0ZSBwYXJ0eSBpcyBlaCBzY2hvbiB2aWVsIHp1IGxhbmdlIGhlcipHKgoKYmlzIGJhbGQKeHh4b29vCmFyaWFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2NobGFmcGxhZXR6ZSAoQXJpYW5hLCAzMC4gRGV6IDE5OTksIDE4OjI4OjE2KToKdW0gd2VpdGVyZW4gZnJhZ2VuIHZvcnp1YmV1Z2VuOgpkYXMgYW5nZWJvdCBkZXMgc2NobGFmcGxhdHplcyBnaWx0IG5hdHVlcmxpY2ggZnVlciBiZWlkZSBhYmVuZGUsIHVuZCBuZWluLCB3aXIKaGFiZW4gd2lya2xpY2ggbnVyIHBhbHR6IGZ1ZXIgbGV1dGUgbWl0IHNjaGxhZnNhY2ssIGlzb21hdHRlIGV0Yy4gYmV0dGVuIGdpYnQKZXMgbnVyIGVpbnMgdW5kIGRhIHNpbmQgd2lyIHNlaHIgZWdvaXN0aXNjaDopCmRhcyB0ZWlsZW4gd2lyIGF1Y2ggbmljaCBtaXQgbGV1dGVuLCBkaWUgd2lyIGdlcm4gaGFiZW4qRyoKd2lyIGZyZXVlbiB1bnMgYXVmIGV1Y2guCmJpcyBkYW5uCnh4eG9vbwphcmlhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRhdHVtIChBcmlhbmEsIDMwLiBEZXogMTk5OSwgMTg6MzU6MjgpOgpva29rb2ssIGljaCBiaW4gbmVuIHNjaHVzc2VsLCBpY2ggZ2VicyB6dTopCmFsc28sIGVzIGRyZWh0IHNpY2ggbmF0dWVybGljaCB1bSBkZW4gMjEuIHVuZCAyMi4gamFudWFyLCB1bmQgZGFtaXQgdW0gZGVuIDQuCnNhbXN0YWcgaW0gamFudWFyLgpzb3JyeSwgd2VubnMgZGEgbWlzc3ZlcnN0YWVuZG5pc3NlIGdhYiAqc2NoYWVtLCBuYWVjaHN0bWFsIGthbGVuZGVyIGdsZWljaApyYXVza3JhbSoKYXJpYW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWJpbGRlciB2b24gQW5hdG9sIChHZWlzdCwgIDQuIEphbiAyMDAwLCAxMzo1NDoxNCk6Cn4jISBybj1BbmF0b2wgcnQ9OTQ1NTU5OTU1IHJnPXBhcnR5Cn4jISB0aWQ9OTQ1Mjk5NDk4ClZvciBldHdhIDMgVGFnZW4gdHJhZiBkaWUgbGV0enRlIG5vZXRpZ2UgQmVzdGFldGlndW5nCnZpYSBNYWlsIGJlaSBtaXIgZWluLiBEYSBpY2ggYmVyZWl0cyAoZXJzdCEpIG1vcmdlbgpuYWNoIE9zbmFicnVlY2sgImhlaW1rZWhyZSIsIGVyc3BhcmUgaWNoIG1pciBkaWUgTXVlaGUsCnVlYmVyIERhZGR5J3MgVC1PbmxpbmUgQmlsZGVyIGhpbi0gdW5kIGhlcnp1c2NoaWViZW4sCmhlZ2UgYWJlciBiZXJlY2h0aWd0ZSBIb2ZmbnVuZywgZGFzcyBkYXMgYmlzIEVuZGUgZGVyCldvY2hlICJnZWxhdWZlbiIgaXN0LiAKCkRlciBHZWlzdCB2b24KQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHliaWxkZXIgdm9uIEFuYXRvbCAoQW5hdG9sLCAgNi4gSmFuIDIwMDAsIDE3OjE2OjM2KToKfiMhIHJuPUdlaXN0IHJ0PTk0Njk5MDQ1NCByZz1wYXJ0eQp+IyEgdGlkPTk0NTI5OTQ5OAoKRnJpZW5kcywgcm9tYW5zLCBjb3VudHJ5bWVuIQoKRGVyIFd1ZXJmZWwgZGVyIFplaXQgaG9scGVydCB1bmdlc3R1ZW1zdCBkZW4gVHJhbXBlbHBmYWQKZGVyIEdlc2NoaWNrZSBlbnRsYW5nLCAnemlndGF1c2VuZCB2ZXJkcmVja3RlIEt1YmlrbWV0ZXIgCiJXYXNzZXIiIHN0cm9lbWVuIGRpZSBlaW5zdCBibGF1ZSBEb25hdSBoaW5hYi4uLiAKCk9rLCAgaWNoIGhhYmUgZGllc21hbCAoZGllIE5pa29sYXVzcGFydHkgYmV0cmVmZmVuZCkgdm9yIAplaW5lciBWZXJvZWZmZW50bGljaHVuZyBkZXIgUGFydHliaWxkZXIgaW0gTmV0eiBzbyB6aWVtLQpsaWNoIGplZGVuIGFiZ2VsaWNodGV0ZW4gTXVkZGVyIChhdWNoIGZhbGxzIHdlaWJsaWNoKSB1bSAKZWluZSAgU3RlbGx1bmduYWhtZSB6dSAic2VpbmVuIiAgQmlsZGVybiBnZWJldGVuIHVuZCBkYXMgClJlY2h0IHp1ciAgVm9yemVuc3VyIGVpbmdlcmFldW10LiAgRGllIEJld2VnZ3J1ZW5kZSBmdWVyIAptZWluIGZ1ZXIgdmllbGUgdWViZXJyYXNjaGVuZGVzICBIYW5kZWxuIHdlcmRlIGljaCBuaWNodApub2NoIGVpbm1hbCBlcmxhZXV0ZXJuIG11ZXNzZW4sIGhvZmZlIGljaC4KCjQ5IHZvbiA1NyBCaWxkZXJuIGhhYmVuIGRpZXNlIFByb3plZHVyICBkZXMgVm9yYW5mcmFnZW5zCnVuYmVzY2hhZGV0IHVlYmVybGVidCwgd2VyIGdlbmF1ZXJlcyBkYXp1IHdpc3NlbiBtb2VjaHRlCnVuZCBaZWl0IGhhdCwgZWluIHBhYXIgWmVpbGVuIG1laHIgenUgbGVzZW4sIG1vZWdlIGpldHp0CmVpbmZhY2ggX25pY2h0XyAicSIgZHJ1ZWNrZW4uIDopCgpBbmF0b2wKCgpBbGxlIDU3IFBlcnNvbmVuIHdpZGVyZnVociBlaW5lIG1haWxzY2hyaWZ0bGljaGUgQW5mcmFnZQp1bmQgc2FlbXRsaWNoZSBQZXJzb25lbiB3dXJkZW4gZ2ViZXRlbiwgIGViZW5zbyB2aWEgTWFpbAp6dSBhbnR3b3J0ZW4uICBEcmVpIG1vZWdsaWNoZSBBbnR3b3J0ZW4gd3VyZGVuIGluIGRpZXNlciAKQW5mcmFnZSAgdm9yZ2VnZWJlbiwgIGVpbmUgZnJlaWUgQW50d29ydCB3YXIgIHNlbGJzdHZlci0Kc3RhZW5kbGljaCBhdWNoIG1vZWdsaWNoICAoYWJlciBhbGxlICAiZnJlaWVuIEFudHdvcnRlbiIgCmtvbm50ZW4gZWluZXIgZGVyIHZvcmdlZ2ViZW5lbiBBbnR3b3J0ZW4genVnZW9yZG5ldCB3ZXItCmRlbikuCgoKR3J1cHBlIEE6ICJNYWNoIHdhcyBEdSB3aWxsc3QuIgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNaXQgNDYvNTcgbWVpbnRlIGFsc28gZGVyIGdyb2Vzc3RlIFRlaWwgZGVyIEJldHJvZmZlbmVuLCAKZGFzcyBkaWUgQmlsZGVyIG5pY2h0IHZvcmhlciBlaW5nZXNlaGVuIHdlcmRlbiBtdWVzc3Rlbi4gCkRpZSBCZWdydWVuZHVuZ2VuIHdhcmVuIGhlcnplcmZyaXNjaGVuZCB1bnRlcnNjaGllZGxpY2gsIAplcyBmaWVsZW4gc2lubmdlbWFlc3MgZXR3YToKCi0gIkljaCB2ZXJ0cmF1ZSBEaXIuIiAKLSAiSWNoIGhhbHRlIGRpZXNlIE5hY2hmcmFnZXJlaSBmdWVyIGFsYmVybi4iCi0gIkljaCB3aWxsIGF1Y2ggdWViZXIgYW5kZXJlIGxhY2hlbiwgYWxzbyBtYWNoLiIKLSAiTWlyIGlzdCBlZ2FsLCB3ZWxjaGUgQmlsZGVyIHZvbiBtaXIgaW0gTmV0eiBzaW5kLiIKLSAiU2NobGltbWVyZSBCaWxkZXIga29lbm5lbiBrYXVtIG5vY2gga29tbWVuLiIKLSAiSWNoIGthbm4gamEgbm9jaCBuYWNodHJhZWdsaWNoIEJpbGRlciB6ZW5zaWVyZW4uIgoKRGEgZGFzIFZlcnRyYXVlbnNzdGF0ZW1lbnQgZGV1dGxpY2ggYW0gSGFldWZpZ3N0ZW4gZmllbCwKZnVlaGxlIGljaCBtaWNoIGRhIHNlbGJzdHZlcnN0YWVuZGxpY2ggZ2VzY2htZWljaGVsdCB1bmQgCnZvbiBwbG9ldHpsaWNoZXIgU2NoYW1lc3JvZXRlIGJlZmFsbGVuLiAgSWNoIGhvZmZlLCBkYXNzCmRpZSBCZXRyZWZmZW5kZW4gdm9uIG1laW5lciBzdWJqZWt0aXZlbiBBdXN3YWhsIG5pY2h0IHp1CnNlaHIgZW50dGFldXNjaHQgc2VpbiB3ZXJkZW4uCgpVZWJlcmF1cyBzY2hhZGUgZmFuZCBpY2gsIGRhc3MgZXMgZWluaWdlIExldXRlIGdpYnQsIGRpZSAKZGVuIEZvdG9ncmFmaWVydGVuIGplZGVzIFJlY2h0IGFtIEJpbGQgYWJzcHJhY2hlbiAodW50ZXIgCiJhbGJlcm4iIGF1ZmdlZnVlaHJ0KSB1bmQgbnVyIHp1IGdlcm4gQmlsZGVyIHNlaGVuLCAgZGllCl9hdWYgS29zdGVuIGRlcyBGb3RvZ3JhZmllcnRlbiFfIHp1bSBMYWNoZW4gYW5yZWdlbi4gRGFzIApnaW5nIHNvZ2FyIHNvd2VpdCwgZGFzcyBqZW1hbmQgZGFzIEFuZ2Vib3QgbWFjaHRlLCBtZWluZQpCaWxkZXIgYXVmIGVpbmVyIHByaXZhdGVuIFdlYnNlaXRlIHp1ICB2ZXJvZWZmZW50bGljaGVuLCAKZGFtaXQgbWlyIGFscyBGb3RvZ3JhZiByZWNodGxpY2ggbmljaHRzIGdlc2NoZWhlbiBrb2VubmUKKHVuZCBpaG0gc2VpZW4gS2xhZ2VuIGVnYWwpLiAKCkplbmVyIEplbWFuZCBoYXQgZXR3YXMgd2ljaHRpZ2VzIG5pY2h0IHZlcnN0YW5kZW4uCgoKR3J1cHBlIEI6ICJFcnN0IHdpbGwgaWNoIGRhcyBzZWhlbiIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkF1Y2ggaGllciBnYWIgZXMsIHdlbm4gYXVjaCBkZXV0bGljaCBzY2h3YWVjaGVyZSwgQWJzdHUtCmZ1bmdlbi4gSW0gR3JvYmVuIHVuZCBHYW56ZW4gYWJlciBsYWVzc3Qgc2ljaCBhYmVyIHNjaG9uCnNhZ2VuLCBkYXNzIGplbmUgbmV1biBQZXJzb25lbiBkaWUgQmlsZGVyLCBhdWYgZGVuZW4gc2llCk9wZmVyIG9kZXIgenVtaW5kZXN0IE1pdG9wZmVyIHNpbmQsIHZvcmhlciBzZWhlbiB3b2xsdGVuCnVuZCBnZ2YuIGVpbiBWZXRvIGVpbnp1bGVnZW4gZ2VkYWNodGVuLgoKRnVlbmYgZGVyIG5ldW4gUGVyc29uZW4gKGRhcnVudGVyIGV0d2EgZWluIFZpZXJ0ZWwgYWxsZXIKYmVmcmFndGVuIEZyYXVlbikgYWV1c3NlcnRlbiBzaWNoIGRhbm4gYXVjaCB0YXRzYWVjaGxpY2ggCmdlZ2VuIG1pbmRlc3RlbnMgZWluIEJpbGQsIHNvIGRhc3Mgc2llYmVuIEJpbGRlciBoZXJhdXMtCmdlbm9tbWVuIGJ6dy4genVzYW1tZW5nZXNjaG5pdHRlbiB3ZXJkZW4gbXVzc3Rlbi4KCkRhc3MgZGFtaXQgdWViZXIgZGllIEhhZWxmdGUgZGVyIEIgenVnZWhvZXJpZ2VuIE1lbnNjaGVuCnZvbSBaZW5zdXJyZWNodCBHZWJyYXVjaCBtYWNodGVuLCBtYXNzZSBpY2gga2VpbmUgQmVkZXUtCnR1bmcgenUuICBGdWVyIG1pY2ggYmVlaW5kcnVja2VuZGVyIHdhciwgZGFzcyBkZXIgWmVuc3VyCkJpbGRlciB6dW0gT3BmZXIgZmllbGVuLCAgZGllIGljaCBmdWVyICp2b2VsbGlnKiBoYXJtbG9zIAp1bmQgaW4gT3JkbnVuZyBoaWVsdC4gIERhcyBpc3QgaW4gbWVpbmVuIEF1Z2VuIGRpZSBhbGx6dQpkZXV0bGljaGUgQmVzdGFldGlndW5nLCBkYXNzIGRhcyBfX3ZvcmhlciBmcmFnZW5fXyBuaWNodCAKbnVyIGltIFp3ZWlmZWxzZmFsbCAgKGRlbm4gWndlaWZlbCBpc3QgKnNlaHIqIHN1Ympla3RpdikgCmFuZ2VzYWd0IHNlaW4gc29sbHRlLgoKCkdydXBwZSBDOiAiSWNoIHdpbGwga2VpbmUgRm90b3Mgdm9uIG1pciBpbSBOZXR6IGhhYmVuIgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkRpZSB6d2VpZmVsbG9zIHJhZGlrYWxzdGUgR3J1cHBlLi4uIGljaCBob2ZmdGUsIGRhc3MgaWNoCmtlaW5lIHNvbGNoZSBNYWlsIGJla29tbWVuIHd1ZXJkZSwgbGVpZGVyIGFldXNzZXJ0ZSBzaWNoCmRhbm4gZG9jaCBlaW5lciBkZXIgYW5nZWZyYWd0ZW4gTXVkZGVyIChlaW5lIEZyYXUpIGdlZ2VuCmFsbGUgQmlsZGVyIG1pdCBpaHJlbSBLb250ZXJmZWksIG9obmUgZGllc2Ugdm9yaGVyIGFuZ2UtCnNlaGVuIHp1IGhhYmVuLgoKCkdlbWVzc2VuIGFtIHJlY2h0IGhvaGVuIEF1ZndhbmQgKExpc3RlbiBlcnN0ZWxsZW4sIE1haWxzCnNjaHJlaWJlbiwgTWFpbHMgZW1wZmFuZ2VuIHVuZCBzaWNodGVuLCBCaWxkYmVhcmJlaXR1bmcsCm5ldSBzb3J0aWVyZW4gZXRjLikgIG1hZyBkYXMgUmVzdWx0YXQgIG1hZ2VyIHVuZCAgKE8tVG9uIAplaW5lcyBWb3JhbmZyYWdlLUdlZ25lcnMpICJ1bnNwZWt0YWt1bGFlciIgYW5tdXRlbiwgYWJlcgpkaWUgRnJlaWhlaXQgbWVpbmVyIE1pdG11ZGRlciB1bmQgZGllIEhvZmZudW5nLCBkYXNzIGRlcgplaW5lIG9kZXIgYW5kZXJlIGRlbSBGb3RvYXBwYXJhdCBuaWNodCBtZWhyIHNvIGZlaW5kbGljaApnZXNpbm50IGdlZ2VudWViZXJzdGVodCwgIHdlbm4gZXIgc2ljaGVyIHdlaXNzLCAgZGFzcyBlcgplaW5lIFZlcm9lZmZlbnRsaWNodW5nIHZvcmFiICB6dSB2ZXJoaW5kZXJuIHZlcm1hZywgIHdhcgplcyB3ZXJ0OyBpY2ggd2VyZGUgZXMsICBzb2xsdGUgaWNoIHRyb3R6IGRlcyBhbGxnZW1laW5lbgpQYXBhcmF6emktVmVyaGFsdGVuICBhdWYgZGVyIG5hZWNoc3RlbiBQYXJ0eSAgd2llZGVyIHp1bQpGb3RvYXBwYXJhdCBncmVpZmVuLCAgd29obCB3aWVkZXIgc28gaGFsdGVuLiAgRGFzcyBkYW1pdApkaWUgQmlsZGVyIGVpbmVuICB2b3IgYWxsZW0gYXVjaCB0ZW1wb3JhbCAgbGFlbmdlcmVuIFdlZyAKaW5zIE5ldHogaGFiZW4sIGlzdCBzY2hhZGUsIGFiZXIgZWluIGtsZWluZXMgVWViZWwuCgoKRGFua2UgZnVlcidzIExlc2VuLApBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEcmVzZGVuPyAoTGFyaXNzYSwgIDYuIEphbiAyMDAwLCAyMjoyNzo1Mik6CgpPaGplbWlubmUsIHNlaWQgSWhyIHNpY2hlcj8KSWNoIGhhYmUgZ2VyYWRlIERyZXNkZW4gYXVmIGRlciBLYXJ0ZSBnZXN1Y2h0Li4uCi4uLgpEYXMgaXN0IGphIGFtIEVuZGUgZGVyIFdlbHQhIE1laW4gUm91dGVucGxhbmVyIHNhZ3QgNTUwIGttICpzZXVmeiouCkdpYnRzIGJlaSBFdWNoIG5lbiBCYWhuaG9mIHVuZCBuZXR0ZSBIb3RlbHMgb2RlciBiZXNzZXIgbmVuIEZsdWdoYWZlbj8KCgpMYXJpLCBpbW1lciBub2NoIG9obmUgV2ludGVycmVpZmVuIDotKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJlc2Rlbj8gKEdvbGFzLCAgNi4gSmFuIDIwMDAsIDIzOjA3OjIwKToKfiMhIHJuPUxhcmlzc2EgcnQ9OTQ3MTk0MDcyIHJnPXBhcnR5Cn4jISB0aWQ9OTQ3MTk0MDcyCnNjaGF1IG1hbCBuYWNoIHdpZSB3ZWl0IGVzIHZvbiBiZXJsaW4gbmFjaCB3aW50ZXJidXJnIGlzdCA7KQoKZ29sYXMgc2ljaCBhdWYgbmUga3VyemUgZmFocnQgZnJldWVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHJlc2Rlbj8gKFB1aywgIDYuIEphbiAyMDAwLCAyMzozMzoxMSk6Cn4jISBybj1Hb2xhcyBydD05NDcxOTY0NDAgcmc9cGFydHkKfiMhIHRpZD05NDcxOTQwNzIKc2NoYXUgd2llIHdlaXQgZXMgdm9uIHppdHRhdSBuYWNoIHdpbnRlcmJ1cmcgaXN0IHVuZCBkdSBiZWtvbW1zdCBkYXMga290emVuLApkYW5uIHNjaGF1c3RlIHdpZSB3ZWl0IGVzIHZvbiBrcmVmZWxkIG5hY2ggZHJlc2RlbiBpc3QgdW5kIGR1IGZpbmRlc3QgZGFzIGRhbm4KYXVjaCBuaWNodCBtZWhyIGx1c3RpZwoKUHVrLCB3ZWlzcyBuaWNodCBvbiBEcmVzZGVuIGRpZXNlcyBKYWhyIGltIFNwZXNlbnJhdW0gbGllZ3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERyZXNkZW4/IChNb250YW51cywgIDYuIEphbiAyMDAwLCAyMzozNTozMSk6Cn4jISBybj1QdWsgcnQ9OTQ3MTk3OTkxIHJnPXBhcnR5Cn4jISB0aWQ9OTQ3MTk0MDcyCgpXZXIgb2RlciB3YXMgaXN0ICJaaXR0YXUiID8KQWxzbyBtaXQgV2ludGVyYnVyZyBrYW5uIGphIHdvaGwgamVkZXIgTXVkZGVyIHdhcyBhbmZhbmdlbiwgZGllc2UgUGVybGUgZGVzCkh1bnNydWVjayBpc3QgamEgd2VsdGJla2FubnQuIERlc3dlZ2VuIHNpbmQgaXJnZW5kd2VsY2hlIFZlcmdsZWljaGUgbWl0CiJaaXR0YXUiIG9kZXIgIlB1c2VtdWNrZWwiIGphIHdvaGwgdm9lbGxpZyB1bmFuZ2VicmFjaHQuClBmZmZmZmZmZmZmZmZ0LiAoYykgWmVwaHlyCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERyZXNkZW4/IChQdWssICA2LiBKYW4gMjAwMCwgMjM6NDQ6NDcpOgp+IyEgcm49TW9udGFudXMgcnQ9OTQ3MTk4MTMxIHJnPXBhcnR5Cn4jISB0aWQ9OTQ3MTk0MDcyCm5hamEsIHN1Y2ggZGlyIGRyZXNkZW4sIGdlaCBkYXZvbiBhdXMgbmFjaCB1bnRlbiB1bmQgaGFsdCBkaWNoIG5vY2ggbmUgc3R1ZWNrCm9lc3RsaWNoIDopIGRhbm4gZmluZGVzdGUgZXMgCndhZXJlIGRyZXNkZW4gbmUgYmlzc2NoZW4gZnJ1ZWhlciBnZXdlc2VuIHdhZXJlIGRhcyBrbGFzc2UgZ2V3ZXNlbiwgYWJlciBkYXMKaXN0IGdlbmF1IGRlciB6ZWl0cmF1bSB3byBpY2ggaGllciB3ZWdiaW4gdW5kIGRhbm4gZG9jaCB3aWVkZXIgNjAwa20genVyIFBhcnR5CmZhaHJlbiBtdWVzc3RlLCBkYXMgZ2VodCBpbnMgR2VsZCA6KAoKbmFqYSwgbWFsIHNlaGVuIHdhcyBkYXMgS29udG8gc2FndCB6dSBkaWVzZW0gWmVpdHB1bmt0CgpQdWssIGZhZW5ndCBkYW5uIG1hbCBhbiB6dSBzcGFyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERyZXNkZW4/IChNb250YW51cywgIDcuIEphbiAyMDAwLCAwMDowNzowMyk6Cn4jISBybj1QdWsgcnQ9OTQ3MTk4Njg3IHJnPXBhcnR5Cn4jISB0aWQ9OTQ3MTk0MDcyCgpUamEsIFB1aywgd2VyIGZhZWhydCBzY2hvbiBtaXQgZGVtIEF1dG8gbmFjaCBEcmVzZGVuLgpNdXNzdCBoYWx0IGF1Y2ggZWluZW4gUGxhdHogaW0gUGFydHlidXMgbWlldGVuLiBEYXMgd2lyZCBzaWNoZXJsaWNoIHdlaXRhdXMKYmlsbGlnZXIuIE5hamEsIHdvaGwgYXVjaCBldHdhcyBmZXVjaHRlci4gQWJlciBkYW5uIGtvbW1lbiBkaWUgRHJzZG5lciBhdWNoCmJlc3NlciBtaXQgaWhyZXIgS2Fsa3VsYXRpb24gaGluLgoobmljaHQgc2NobGFnZW4sIEl2bywgZGFzIFNoZXQgaXN0IGZhc3QgZmVydGlnIHVuZCBrb21tdCBkZW1uYWVjaHN0KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcmVzZGVuPyAoSG9vZCwgIDcuIEphbiAyMDAwLCAwMzo1MTo1OCk6Cn4jISBybj1MYXJpc3NhIHJ0PTk0NzE5NDA3MiByZz1wYXJ0eQp+IyEgdGlkPTk0NzE5NDA3MgppY2gga2FubiBtaWNoIGdhciBuaWNoIG1laHIgZXJpbm5lcm4sIGRhc3Mgd2lyIG1hbCB3ZW5pZ2VyIGFscyA1MDAga20KZ2VicmF1Y2h0IGhhZXR0ZW4uLi5pY2ggZ2xhdWIsIGRhcyB3YXIgaW4gYmVybGluLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHJlc2Rlbj8gKE1haGF0bXUsICA3LiBKYW4gMjAwMCwgMDg6NTE6MDcpOgp+IyEgcm49SG9vZCBydD05NDcyMTM1MTggcmc9cGFydHkKfiMhIHRpZD05NDcxOTQwNzIKSG1tbS4gWnUgZGVuIFNvbW1lcnBhcnRpZXMgc2luZCB3aXIgaW4gZGVuIGxldHp0ZW4gSmFocmVuIGdlcmFkZWx0IHVuZApuYWNoIGRlbiBXaW50ZXJwYXJ0aWVzIHdhciBpY2ggc28gZXJzY2hvZXBmdCwgZGFzcyBpY2ggbmljaHQgYXVmIGRlbgpUYWNobyBnZXNjaGF1dCBoYWJlIDspCgpNYWhhdG11IGthbm4gZGFzIGFsc28gbmljaHQgdW50ZXJtYXVlcm4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEcmVzZGVuPyAoT3JrdG9ldGVyLCAgNy4gSmFuIDIwMDAsIDExOjQ3OjI1KToKfiMhIHJuPVB1ayBydD05NDcxOTg2ODcgcmc9cGFydHkKfiMhIHRpZD05NDcxOTQwNzIKVm9uIERyZXNkZW4gc3VlZGxpY2ggdW5kIG5vY2ggZWluIFN0dWVjayBvZXN0bGljaCA/ICAqZ3J1ZWJlbCoKCkhhISBQZWtpbmchPyAqc3RhdW4qCgpkZW5rZSAuIG8gTyhEYXMgaXN0IG1pciBkYW5uIGFiZXIgd2lya2xpY2ggenUgd2VpdC4uLikKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJ1cyAoTGFyaXNzYSwgIDcuIEphbiAyMDAwLCAxNzozNDozMyk6CkhtLAoKaWNoIGVyaW5uZXJlIG1pY2ggYW4gZGllIElkZWUgbWl0IGRlbSBQYXJ0eWJ1cy4uLgoKQWxzbywgd2VyIGhhdCBuZSBCdXNmYWhyLUxpemVueiwgd2VyIGRhcmYgbmVuIEJ1cyBsZWloZW4sIHVuZCB3ZW4Kc2FtbWVsbiB3aXIgYWxsZXMgYXVmPwoKTGFyaSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YnVzIChNb250YW51cywgIDguIEphbiAyMDAwLCAyMzoyNjozMSk6Cn4jISBybj1MYXJpc3NhIHJ0PTk0NzI2Mjg3MyByZz1wYXJ0eQp+IyEgdGlkPTk0NzI2Mjg3MwoKUmUgcGFydHlidXMuCkFsc28sIFplbmthIGlzdCBkYSBlcnN0bWFsIEFuc3ByZWNocGFydG5lciBOdW1tZXIgMS4KRXIgbWVpbnRlIG5hZW1saWNoICxlciBrZW5uZSBkYSBlaW5lbiBCdXN1bnRlcm5laG1lciAoYXVzIERvcnN0ZW4gb2RlciBzbyksCmRlciBkYSB3b2hsIGF1Y2ggbmVuIGd1dGVuIFByZWlzIG1hY2hlbiB3dWVyZGUuClJvdXRlOgpNdWVuc3RlciAtIERvcnRtdW5kIC0gRXNzZW4gLSBEdWVzc2VsZG9yZiAtIEtvZWxuIC0gUmhlaW4vTWFpbiAtIE51ZXJuYmVyZyAtCkRyZXNkZW4KCkljaCBtdXNzIG5vY2ggZWluIHBhYXIgYW5kZXJlIFRlcm1pbmUgY2hlY2tlbiwgYWJlciBncnVuZHNhZXR6bGljaCBiaW4gaWNoCmRhYmVpLiA6LSkKCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eWJ1cyAoQmllbGVmZWxkLCAgOC4gSmFuIDIwMDAsIDIzOjUxOjU0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0NzM3MDM5MSByZz1wYXJ0eQp+IyEgdGlkPTk0NzI2Mjg3MwpLb2VubnQgaWhyIG5pY2h0IGF1Y2ggbm9jaCBIYW1idXJnIGluIGRpZSBSb3V0ZSBtaXQgZWluYmF1ZW4uLj8gOikKCi1CaWVsZWZlbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YnVzIChTaWx2YW5hLCAgOS4gSmFuIDIwMDAsIDEyOjM3OjEwKToKfiMhIHJuPUJpZWxlZmVsZCBydD05NDczNzE5MTQgcmc9cGFydHkKfiMhIHRpZD05NDcyNjI4NzMKSG0sIGtvZW5udCBpaHIgdmllbGxlaWNodCBCaWVsZWZlbGQgaW4gZGllIFJvdXRlIGVpbmJhdWVuLi4uPwoKICBTaWx2YW5hIChjb3VsZG4ndCByZXNpc3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YnVzIChGb29iYXIsICA5LiBKYW4gMjAwMCwgMTY6MjQ6MTYpOgp+IyEgcm49TW9udGFudXMgcnQ9OTQ3MzcwMzkxIHJnPXBhcnR5Cn4jISB0aWQ9OTQ3MjYyODczCk1vaW4uCgpIb2VydCBzaWNoIHNjaG9uIG1hbCBzZWhyIGd1dCBhbiwgTW9udGFudXMgOm8pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5YnVzIChHcmltbWJvcm4sICA5LiBKYW4gMjAwMCwgMTY6NDE6MjUpOgp+IyEgcm49U2lsdmFuYSBydD05NDc0MTc4MzAgcmc9cGFydHkKfiMhIHRpZD05NDcyNjI4NzMKSWNoIHd1ZXJkZSBnZXJuZSBhdWNoIG5vY2ggQnJ1ZWhsLUtpZXJiZXJnIGF1ZiBkaWUgV3Vuc2NobGlzdGUgZGVyIFJlaXNlcm91dGUKbmVobWVuLCB3ZW5ucyBrZWluZSBVbXN0YWVuZGUgbWFjaHQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5YnVzIChNb250YW51cywgIDkuIEphbiAyMDAwLCAxODo1Mjo0OCk6Cn4jISBybj1TaWx2YW5hIHJ0PTk0NzQxNzgzMCByZz1wYXJ0eQp+IyEgdGlkPTk0NzI2Mjg3MwoKQWxsZW4gT3N0d2VzdGZhbGVuLCBGaXNjaGtvZXBmZW4gdW5kIGFlaG5pY2hlbSBHZXRpZXIgc2VpIGdlcmF0ZW46Cm1hY2h0IGRvY2ggYXVjaCBlaW5lIFN0ZXJuZmFocnQuIEJpZWxlZmVsZCAtIEhhbWJ1cmcgLSBSb3N0b2NrIC0gQmVybGluIC0KRHJlc2Rlbi4gT2RlciBzby4gV2VyIHp1ZXJzdCBkYSBpc3QgdmVybGllcnQuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHlidXMgKFBhZHJlaWMsIDExLiBKYW4gMjAwMCwgMTM6NTY6NDgpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTk0NzU5NDQ1NSByZz1wYXJ0eQp+IyEgdGlkPTk0NzI2Mjg3MwpJbm5lcmRldXRzY2hlIEZsdWVnZSBnaWJ0IGVzIGluendpc2NoZW4gd2VubiBtYW4gc2ljaCByZWNodHplaXRpZyBkcnVtCmt1ZW1tZXJ0IGZ1ZXIgMTk5LC0gaGluIHVuZCB6dXJ1ZWNrLiBEaWUgU3RyZWNrZSBCb25uPC0+RHJlc2RlbiBpcyBkYW1pdCBuaWNoCm51ciBkZXV0bGljaCBzY2huZWxsZXIgMWggYW5zdGF0dCA3aCBzb25kZXJuIGF1Y2ggbm9jaCBiaWxsaWdlciBhbHMgbWl0IGRlbQpadWcuLi4KClBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5YnVzIChHcmltbWJvcm4sIDExLiBKYW4gMjAwMCwgMTQ6MDE6MzcpOgp+IyEgcm49UGFkcmVpYyBydD05NDc1OTU0MDggcmc9cGFydHkKfiMhIHRpZD05NDcyNjI4NzMKSG1tLiBJbiBlaW5lciBTdHVuZGUgYmlzdCBEdSB2b24gQm9ubiBhdXMgbnVyIGRhbm4gYW0gRmx1Z2hhZmVuLCB3ZW5uClJlZ2llcnVuZ3NwcmFlc2lkZW50IEFudHdlcnBlcyBVcmxhdWIgaGF0LiBPZGVyLCB3aWUgamV0enQsIHBlbnNpb25pZXJ0IGlzdC4KCklud2lld2VpdCBkZXIgRHJlc2RlbmVyIEZsdWdoYWZlbiBpbSBTdGFkdHplbnRydW0gbGllZ3QsIGthbm4gaWNoIG5pY2h0IHNhZ2VuLgpFYmVuc293ZW5pZywgaW53aWV3ZWl0IER1IHdpcmtsaWNoIDE5OSBETSBhbHMgImJpbGxpZ2VyIiBhbHMgMTk1IERNIGZ1ZXIgZGllCkJhaG4gKG1pdCBCYWhuIENhcmQpIGJlemVpY2huZXN0LiBVbmQgb2IgZGEgZGl2ZXJzZSBGbHVnaGFmZW5nZWJ1ZWhyZW4gc2Nob24KbWl0IGRyaW4gc2luZC4KCk5hamEsIGFiZXIgbWFsIGFiZ2VzZWhlbiB2b24gZGVyIHZlcnBhc3N0ZW4gRGlza3Vzc2lvbiB1ZWJlciBkYXMsIHdhcwooYmVzb25kZXJzIEt1cnpzdHJlY2tlbmZsdWVnZSkgbWl0IGRlciBBdG1vc3BoYWVyZSBhbnN0ZWxsZW4sIGlzdCBlaW5lCnNhY2hsaWNoZSBJbmZvcm1hdGlvbiBpbW1lciBkYW5rZW5zd2VydC4gRGllc2VyIEFydGlrZWwgaXN0IGtlaW5lIHNvbGNoZSwgZXIKaXN0IHBvbGVtaXNjaC4gQWJlciBzYWNobGljaCByaWNodGlnLgpTby4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHlidXMgKEFuYXRvbCwgMTEuIEphbiAyMDAwLCAxNDoyMTowNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQ3NTk1ODA3IHJnPXBhcnR5Cn4jISB0aWQ9OTQ3MjYyODczClVuZCBuYXR1ZXJsaWNoIG51ciwgd2VubiBzaWNoIFBhZHJlaWMgYXVzc2NobGllc3NsaWNoIGF1ZiBlaW5lbgpwb3RlbnRpZWxsZW4gQW5yZWlzZXdvY2hlbnRhZyAiRnJlaXRhZyIgZmVzdGxlZ3QuIEFuc29uc3RlbiBvdXRldApzaWNoIFBhZHJlaWMgYmVkYXVlcm5zd2VydGVyd2Vpc2UgYWxzIHJlY2h0IG9iZXJmbGFlY2hsaWNoZXIKUG9zdHVsYXRvciB1bWZhc3NlbmRlciAiV2Vpc2hlaXQiOiBNaXQgZGVtIEd1dGVuLUFiZW5kLVRpY2tldCwgZGFzClNhbXN0YWdzIGJlcmVpdHMgYW0gMTQgVWhyIEd1ZWx0aWdrZWl0IGJlc2l0enQsIHNjaGFmZnQgbWFuIGF1Y2ggZGllCnNpZWJlbiBiaXMgYWNodGVpbmhhbGIgWnVnc3R1bmRlbiAoYWJoYWVuZ2lnIHZvbiBkZXIgVmVyYmluZHVuZykKZnVlciBkZXV0bGljaCB3ZW5pZ2VyIEdlbGQ6IDc0Li0gREVNIChldnRsLiB6emdsLiBJQy1adXNjaGxhZykgYnp3Lgo4NC4tIERFTSAoSUNFKSBtdXNzIG1hbiBiZXJhcHBlbiwgdW0gdm9uIEJvbm4gSGJmIG5hY2ggRGVzZGVuIEhiZgpnZWJyYWNodCB3ZXJkZW4gLSB1bmQgZGFzIGdhbnogb2huZSBCYWhuY2FyZCwgamF3b2hsLgoKV2VubiBlcyBtaXQgZGVtIEZsdWd6ZXVnIHRhdHNhZWNobGljaCBzY2huZWxsZXIgdW5kIGd1ZW5zdGlnZXIgZ2VoZW4Kc29sbHRlLCBkYW5uIG51ciBiZWkgc2VociB3ZWl0IHZvcmF1c2xpZWdlbmRlciBWb3JiZXN0ZWxsdW5nIHVuZApBRkFJSyBhdWNoIG51ciBmdWVyIEx1ZnRoYW5zYS1WaWVsZmxpZWdlciwgZGllIGJlaW0gQ2hlY2staW4vb3V0IAp3ZW5pZ2VyIFplaXQgdmVybGllcmVuLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSXN0IGRlciBUZXJtaW4gZnVlciBEcmVzZGVuIGpldHp0IGVuZGd1ZWx0aWc/IChNb250YW51cywgMjMuIEphbiAyMDAwLCAyMTo1MDoxMCk6CgpXZW5uIHdpciBlaW5lbiBQYXJ0eWJ1cyBvcmdhbmlzaWVyZW4gd29sbGVuLCBtdWVzc3RlbiB3aXIgbnVuIGxhbmdzYW0gbWFsCndpc3Nlbiwgb2IKCihhKSB0YXRzYWVjaGxpY2ggZWluZSBGZXRlIGluIERyZXNkZW4gc3RhdHRmaW5kZXQgdW5kCihiKSB3YW5uIGdlbmF1IGRhcyBkZW5uIG51biB1ZWJlciBkaWUgQnVlaG5lIGdlaGVuIHNvbGwuCgpFcyBpc3QgamEgbmljaHQgc28sIGRhc3MgRHJlc2RlbiBnZXJhZGUgbWFsIHNvIHZvciBkZXIgSGF1c3R1ZXIgd2FlcmUuLi4KQWxzbyBsb3MsIFBhcnR5YnJldHQgYXVmc3RlbGxlbiAodW5kIGFtIGJlc3RlbiBub2NoIGVpbmUgT3B0aW9uIGVpbmJhdWVuCmxhc3Nlbiwgb2IgZWluIFBhcnR5YnVzIGluIEFuc3BydWNoIGdlbm9tbWVuIHdlcmRlbiB3aWxsIC0gUm9jaHVzLCB1ZWJlcm5laG1lbgpTaWUhKQoKLU1vbnRhbnVzLCBQTyBpbiBSdWhlc3RhbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNCWiBvZGVyIG5pY2ggU0JaPyAoUGFtcGVycywgMjUuIEphbiAyMDAwLCAxNzo0NTowOCk6CgpXYXMgaXNuIG51IG1pdCBkZXIgRmV0ZSBpbiBkZXIgWm9uZT8gRmluZGV0IERpZSBzdGF0dCBvZGVyIG5pY2g/IFVuZCB3ZW5uIGphLAp3YW5uPyA6LSkKCkJlc3Nlcndlc3NpIFBhbXBlcnMuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRFJFU0RFTiAyMDAwIFBBUlRZIChNZXNpcmlpLCAzMC4gSmFuIDIwMDAsIDAyOjQxOjM5KToKQW4gYWxsZSBQYXJ0eXN1ZWNodGlnZW4gdW50ZXIgRXVjaCEKCklociBoYWJ0IGxhbmdlIGRhcmF1ZiBnZXdhcnRldCwgamV0enQgaXNzZXMgZW5kbGljaCBzb3dlaXQuIE5hY2ggZXRsaWNoZW4KQW5sYXVmc2Nod2llcmlna2VpdGVuLCB2b3IgYWxsZW0gd2VnZW4gZGVyIG5ldWVyZGluZ3MgZ2VsdGVuZGVuIApXdWNoZXJwcmVpc2UgaW4gdW5zZXJlciBzY2hvZW5lbiBTdGFkdCBnaWJ0IGVzIGpldHp0IGRpZSBvZmZpemllbGxlbgpJbmZvczoKClBhcnR5IGluIERyZXNkZW46Cgp2b20gMTAuMy4gYmlzIDEyLjMuMjAwMAoKS29zdGVuOgpLb3N0ZW46IDI1RE0gVm9ya2Fzc2UsIDM1RE0gQWJlbmRrYXNzZQoKS29udG86IFNTSyBEcmVzZGVuLCBCTFogODUwNTUxNDIsIEt0bzogNDU3NTgxNTQ1LCBJbmhhYmVyOiBGcmFuayBXZW56a2UgCihGYWdndSkKCkJpdHRlIE11ZG5hbWVuIG1pdCBpbiBWZXJ3ZW5kdW5nc3p3ZWNrLiBEYW1pdCB3aXIgbmljaHQgc292aWVsIFJlbm5lcmVpIApoYWJlbiB3aWUgZGllIExldXRlIGRlciBsZXR6dGVuIFBhcnRpZXMsIHdlcmRlbiB1bnp1cmVpY2hlbmQgZGVrbGFyaWVydGUKVWViZXJ3ZWlzdW5nZW4gZGVtIEZvbmQgZnVlciBnZXN0cmVzc3RlIE9yZ2FuaXNhdG9yZW4gZ3V0Z2VzY2hyaWViZW4uCkFsc28gaGFsdGV0IGV1Y2ggcmFuLCBkYW1pdCB3aXIgcmljaHRpZyBVcmxhdWIgbWFjaGVuIGtvZW5uZW4uCkRhcyB3YXIga2VpbiBXaXR6ISBXZXIgcGZ1c2NodCBoYXQgUGVjaCBnZWhhYnQuCgpVZWJlcndlaXN1bmdzc2NobHVzcyBpc3QgMy4zLjIwMDAsIGRlbmt0IGFuIGRpZSAzLTcgVGFnZSBkaWUgZGllIEJhbmtlbiAKbWl0IEV1cmVtIEdlbGQgbWFjaGVuLCB3YXMgc2llIHdvbGxlbi4gV2VyIGJpcyBkYWhpbiBuaWNodCB1ZWJlcndpZXNlbgpoYXQsIHphaGx0IGFuIGRlciBBYmVuZGthc3NlIChnZ2YgbnVyIGRpZSAxMCBNYXJrIEF1ZnNjaGxhZykuCgpEYW1pdCBkaWUgdmllbGVuIGZlcm53ZXN0bGljaGVuIExldXRlIHVudGVyIEV1Y2ggKHdhaHJzY2hlaW5saWNoIGRhcyBlcnN0ZSB1bmQKbGV0enRlIE1hbCkgaW4gZGVuIEdlbnVzcyBlY2h0ZW4gRERSLUZsYWlycyBrb21tZW4sIGdpYnQgZXMgZGllClVudGVyYnJpbmd1bmcgaW4gZGVyIFR1cm5oYWxsZSB1bmQgZGllIFBhcnR5IGluIGRlbiBTcGVpc2VyYWV1bWVuIGVpbmVyIApvcmlnaW5hbGVuIFBsYXR0ZW5iYXVzY2h1bGUsIHdpZSBzaWUgdmllbGUgdm9uIHVucyBnZW5vc3NlbiBoYWJlbiA7KSBpbQpzY2hvZW5lbiBEcmVzZG5lciBOb3JkZW4gaW4gS2xvdHpzY2hlIChkYW1pdCBlcyBXdXJ6ZWwgYXVjaCBuaWNoIHNvd2VpdCAKdm9tIEZsdWdoYWZlbiBoYXQgOykKCkFuYmluZHVuZyB6dW0gQmFobmhvZiBpc3QgZ3V0LiBBdXRvYmFobiBhdWNoLgpEaWUgQW5mYWhydHNpbmZvcyBmb2xnZW4gc3BhZXRlci4KCkthcnRlIHVuZCBJbmZvcyB2b24gRHJlc2RlbiB1bnRlcjoKaHR0cDovL2RyZXNkZW4taW5mby5maGcuZGUvZGQtaW5mby9zdGFydC9zdGR0aW5mb19lLmh0bQoKV2llIElociBkYXMgbWl0IGRlbiBCdXNzZW4gbWFjaHQsIHVlYmVybGFzc2VuIHdpciBFdWNoLiBJaHIgbXVlc3N0IGVzIGhhbHQgc28KYWJrYXNwZXJuLCBkYXNzIGRpZSBCdXNmYWhyZXIgZ2VtZWluc2FtIGtvbW1lbiB1bmQgZ2VtZWluc2FtIGZhaHJlbiAoZGFzIHdpcmQKZWhlciBkYXMgUHJvYmxlbSkuIFdlbm4gZGllIEJ1c3NlIHVlYmVyIGRhcyBXRSBkYSBzaW5kLCBrb2VubnRlIG1hbiBtaXQgaWhuZW4KZGllIE5haHZlcmtlaHJzdGFyaWZlIGRydWVja2VuPwoKdm9ybGFldWZpZ2VyIFplaXRwbGFuIChLcml0aWtlbiB3ZXJkZW4gaWdub3JpZXJ0IDspCgpGcmVpdGFnOgoyMDAwLSB2b3JhdXNzLiBNaXR0ZWxhbHRlciBpbSBBbm5vIERvbWluaQpTYW1zdGFnOgowOTAwLTEwMzAgRnJ1ZWhzdHVlY2sKMTAzMC0xMjAwIFZlcmVpbnN2ZXJzYW1tbHVuZwoxMjAwLTE3MDAgUkwtUXVlc3QgKHNlbGJlciBFc3NlbikKMTczMC0yMDAwIFZvcnRyYWVnZSsgQXVzd2VydHVuZyBSTC1RdWVzdAoyMDAwLSBQYXJ0eQoKU29ubnRhZzoKYXVzc2NobGFmZW4gOykKMTIwMCBDaGluZXNlCgpXaWUgaWhyIGVzIGRlbSBaZWl0cGxhbiBlbnRuZWhtZW4ga29ubnRldCwgd2VyZGUgaWNoIGpldHp0IGVuZGxpY2ggenUKbWVpbmVtIFRGLVZvcnRyYWcga29tbWVuLiBXdWVuc2NoZSBhbiBtaWNoLCBpY2ggcHJ1ZWZlIHdvaGx3b2xsZW5kLgpXZXIgdm9uIGRlbiBNYWdpZXJuIG9kZXIgYW5kZXJlbiBTcGllbGVybiAodmllbGxlaWNodCBlaW4gbmV0dGVyIFRydmVzIApWb3J0cmFnIDspIHdhcyBiZWlzdGV1ZXJuIHdpbGwsIHdlbmRlIHNpY2ggYW4gSG9vZCAoZGllIGVyc3RlcmVuIGJ6Z2wuIApUaGVtZW4pIG9kZXIgYW4gbWljaC4KV2lyIHZlcnN1Y2hlbiBhdWNoIG5lbiBQcm9qZWt0b3IgenUgYmVrb21tZW4sIG1hbCBzZWhlbiB3YXMgc2ljaCBtYWNoZW4KbGFlc3N0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFuc3ByZWNocGFydG5lciAoTWVzaXJpaSwgMzAuIEphbiAyMDAwLCAwMzowMDo0NSk6Cmhvb2QsIGl2bywgbWFuZ28sIHNuaXBlciwgbWVzaXJpaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFuc3ByZWNocGFydG5lciAoU3RpbmcsIDMwLiBKYW4gMjAwMCwgMTE6NDQ6NTUpOgp+IyEgcm49TWVzaXJpaSBydD05NDkxOTc2NDUgcmc9cGFydHkKfiMhIHRpZD05NDkxOTc2NDUKRGFubiBzdGVsbHQgbWFsIGVpbiBQYXJ0eWJyZXR0IGF1ZiA6KQoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYW5zcHJlY2hwYXJ0bmVyIChTdWJsaW1lLCAzMC4gSmFuIDIwMDAsIDE2OjE0OjM0KToKfiMhIHJuPVN0aW5nIHJ0PTk0OTIyOTA5NSByZz1wYXJ0eQp+IyEgdGlkPTk0OTE5NzY0NQpEcmVzZGVuIGlzdCBuaWNodCB3ZWl0LCA7KSBQYXJ0eWJyZXR0IGluIGRpZSBHaWxkZSBzdGVsbGVuIHVuZCBkaWUgQmVybGluZXIsCmFsc28gZGVyIEdyb3NzdGVpbCBkZXJlciwgc2luZCBzaWNoZXIgbWl0IGRhYmVpIC4uLiBvZGVyID8KClN1YmwsIG5vY2ggaW0gRGVsaXJpdW0gdm9tIFNXCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYW5zcHJlY2hwYXJ0bmVyIChBbGNpbmEsIDMwLiBKYW4gMjAwMCwgMTg6NDQ6NDcpOgp+IyEgcm49TWVzaXJpaSBydD05NDkxOTc2NDUgcmc9cGFydHkKfiMhIHRpZD05NDkxOTc2NDUKCmRhIG5laG0gaWNoIEhvb2QgLT4ga2xlaW5lIEdlbWVpbmhlaXRlbiBlcmhhbHRlbiBkaWUgRmVpbmRzY2hhZnQgOykKCkFsY2luYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERSRVNERU4gMjAwMCBQQVJUWSAoQmVlbHplYnViLCAzMS4gSmFuIDIwMDAsIDEzOjQwOjE2KToKfiMhIHJuPU1lc2lyaWkgcnQ9OTQ5MTk2NDk5IHJnPXBhcnR5Cn4jISB0aWQ9OTQ5MTk2NDk5Ck1haGx6ZWl0ICEKCmljaCB6aXRpZXJlOgoKMjAwMC0gUGFydHkKClNvbm50YWc6CmF1c3NjaGxhZmVuIDspCjEyMDAgQ2hpbmVzZQoKYXVzc2NobGFmZW4gPz8/IEdFTEFFQ0hURVIgISEhCgpCZWVsemUgXTotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2llIGlzcyBudW4gbWl0IEJ1cz8gKE1vbnRhbnVzLCAzMS4gSmFuIDIwMDAsIDE4OjQ3OjE0KToKCldpZSBpc3NlcyBudW4sIGJlc3RlaHQgSW50ZXJlc3NlIGRhcmFuLCB0YXRzYWVjaGxpY2ggbWl0IGVpbmVtIFBhcnR5YnVzIG5hY2gKRHJlc2RlbiB6dSBmYWhyZW4/CkRhbm4gc29sbHRlIG1hbiB2aWVsbGVpY2h0IGF1Y2ggbm9jaCBlaW4gQnVzYnJldHQgbmViZW5zIFBhcnR5YnJldHQgc3RlbGxlbgp1bmQgc28uIFZpZWxsZWljaHQgc2NocmVpYnQgamEgYXVjaCBqZWRlciwgZGVyIGltIEJ1cyBtaXRmYWhyZW4gd2lsbCwgaGllciBtYWwKZWluIFJlcGx5Li4uIHVuZCB3ZW5ucyB0YXVzZW5kIHNpbmQsIGdpYnQgRGFuY2VyIG5lIEtpc3RlLiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJ1cy1rb3N0ZW4gKE1vbnRhbnVzLCAzMS4gSmFuIDIwMDAsIDE4OjQ5OjU4KToKCktvcnJpZ2llcmUgbWljaCBqZW1hbmQsIHdlbm4gaWNoIG1pdCBkZW4gUHJlaXNlbiBnYW56IGZhbHNjIGxpZWdlCihaZW5rYSwgdXplYmVybmVobWVuIFNpZSEpCgpEdSB0ZWlsc3QgUm9uZGEgbWl0OiBzbyBlaW4gYnVzIGR1ZXJmdGUgZnVlciBXb2NoZW5lbmRlIHZpZWxsZWljaHQgMTIwMCBETQpEdSB0ZWlsc3QgUm9uZGEgbWl0OiBrb3N0ZW4uIER1cmNoIDQwIExldXRlIGdldGVpbHQgc2luZCBkYXMgbWF4aW1hbCAzMCBETS4KRHUgdGVpbHN0IFJvbmRhIG1pdDogRWhlciB3ZW5pZ2VyLiBEdXJjaCA1MCBnZXRlaWx0IHNpbmQgZGFzIDI0IERNLgoKRGFzIGlzdCBzbyBtZWluZSBLYWxrdWxhdGlvbi4gRGFzIGlzdCBhdWYgamVkZW4gRmFsbCBiaWxsaWdlciBhbHMgamVnbGljaGUKQXV0b2ZhaHJ0LiBEYXMgaXN0IHdhaHJzY2hlaW5saWNoIHNvZ2FyIGJpbGxpZ2VyIGFscyBkaWUgU3RyYXNzZW5iYWhuZmFocnQgaW4KS2FybC1NYXJ4LVN0YWR0IHZvbiBkZXIgVHVybmhhbGxlIHp1bSBQYXJ0eW9ydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBidXMta29zdGVuIChQYW1wZXJzLCAzMS4gSmFuIDIwMDAsIDIwOjAxOjM1KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk0OTM0MDk5OCByZz1wYXJ0eQp+IyEgdGlkPTk0OTM0MDk5OApJY2ggd2lsbCBhdWNoIG5hY2ggS2FybCBNYXJ4IFN0YWR0LiBNaXQgZGVtIEJ1cy4KClBhbXBlcnMuIEF1Zmdld2FjaHRlciBWZXJkYW1tdGVyIGRpZXNlciBFcmRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJ1cy1rb3N0ZW4gKEFsYm9pbiwgMzEuIEphbiAyMDAwLCAyMDo1Njo1NSk6Cn4jISBybj1Nb250YW51cyBydD05NDkzNDA5OTggcmc9cGFydHkKfiMhIHRpZD05NDkzNDA5OTgKV2VubiBEdSBkZW5rc3QsIGRhc3MgRHJlc2RlbiBkYXMgZnJ1ZWhlciBLYXJsLW1hcngtU3RhZHQgaXN0LCBkYW5uIHdpcmRzCndpcmtsaWNoIGRyaW5nZW5kIFplaXQgZGFzIER1IGluIGRpZSBab25lIGtvbW1zdCB1bmQgRGVpbmUKR2VvZ3JhcGhpZWtlbm50bmlzc2UgYXVmYmVzc2Vyc3Q7LSkKCkFsYm9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBidXMta29zdGVuIChHcmltbWJvcm4sIDMxLiBKYW4gMjAwMCwgMjA6NTg6MTUpOgp+IyEgcm49QWxib2luIHJ0PTk0OTM0ODYxNSByZz1wYXJ0eQp+IyEgdGlkPTk0OTM0MDk5OApBY2ggd2FzLiBBbGxlcyByZWNodHNyaGVpbmlzY2guCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgKG5vY2ggbGlua3NyaGVpbmlzY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eS1ULVNoaXJ0ICEgKFRzaGlydCwgMzEuIEphbiAyMDAwLCAyMjozNToxOCk6CkhhbGxvIExldXRlLAoKenUgZGllc2VyIFBhcnR5IGdpYnQgZXMgbWFsIHdpZWRlciBlaW4gVC1TaGlydC4gRGF6dSBzaW5kIGFsbGUga3VlbnN0bGVyaXNjaApCZWdhYnRlbiA7KSBhdWZnZXJ1ZmVuLCBlaW5lIFN6ZW5lIGF1cyBkZW0gTW9yZ2VuZ3JhdWVuIG1pdCBTdGlmdCwgQ29tcHV0ZXIKZXRjLiB1bXp1c2V0emVuLi4gQWxzIFByZWlzIHdpbmt0IGVpbiBHcmF0aXMgVC1TaGlydCBtaXQgZGVtIEdld2lubmVyLU1vdGl2LgpBbHNvLCBzcGl0enQgZGllIEJsZWlzdGlmdCwgYWxzIFRlcm1pbiBoYWJlIGljaCBtYWwgZGVuIDIwLjIuIGZlc3RnZXNldHp0LCBtYW4Ka29lbm50ZSBldnRsIGF1Y2ggbm9jaCAxLCAyIFRhZ2UgbGFlbmdlciBicmF1Y2hlbi4uCkRpZSBaZWljaG51bmcgc2NoaWVidCBpaHIgZGFubiBhbSBiZXN0ZW4gaW4gZGFzIEluY29taW5ndmVyemVpY2huaXMgZGVzCk1HLUZUUC1TZXJ2ZXJzIHVuZCBtYWlsdCBSb2NodXMsIGRhcyBlciBldWVyIEt1bnN0d2VyayBpbiBkYXMgVC1TaGlydApWZXJ6ZWljaG5pcyBsZWd0Li4KCkF1ZiBhdWYsIGRpZSBRdWVzdCBiZWdpbm50Li4KQXVmIGF1ZiwgZGllIFF1ZXN0IGJlZ2lubnQuLgpUc2hpcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2h0cmFnIChUc2hpcnQsIDMxLiBKYW4gMjAwMCwgMjI6Mzg6NDUpOgpIYWxsbywKCkJlc3RlbGx1bmdlbiBuZWhtZSBpY2ggbmF0dWVybGljaCBlbnRnZWdlbiAoYml0dGUgTmFtZW4sIEFuemFobCB1bmQgR3JvZXNzZQphbmdlYmVuKS4uIERlbiBQcmVpcyB3ZXJkZSBpY2ggd29obCBkaWVzZSBvZGVyIG5hZWNoc3RlIFdvY2hlIGJla2FubnQgZ2ViZW4sCmljaCBob2ZmZSwgZGFzIHJlaWNodCBldWNoIDspCgpZVCBUU2hpcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRyZXNkbmVyIChEZWVwYmx1ZSwgIDEuIEZlYiAyMDAwLCAxMzo1ODoxMCk6CldpZSBsYWV1ZnQgZGFzIG1pdCBkZW4gRHJlc2RuZXJuLCBkaWUgd2VkZXIgVW50ZXJrdW5mdCBub2NoIGZydWVoc3R1ZWNrCmJyYXVjaGVuPyBHaWJ0cyBkYSBuZW4gU29uZGVycHJlaXM/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJlc2RuZXIgKE1haGF0bXUsICAxLiBGZWIgMjAwMCwgMTQ6MTE6MjgpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTQ5NDA5ODkwIHJnPXBhcnR5Cn4jISB0aWQ9OTQ5NDA5ODkwCkRpZSBkdWVyZmVuIG1pdHBsYW5lbiBvZGVyIG5pY2h0IGtvbW1lbi4KVWVicmlnZW5zIGlzdCBkZXIgUGFydHlvcnQgZnVlciBXdXJ6ZWwgc2ljaGVyIHNjaGxlY2h0LiBEYXMgS2VtcGluc2tpCnNvd2llIGRhcyBiaWxsaWdlcmUgSG90ZWwgZ2VnZW51ZWJlciBkZXIgRnJhdWVua2lyc2NoZSBsaWVnZW4gbWVocgpNaXR0ZS4gRWluZSBncm9zc2UgUnVlZ2UgYW4gZGllIFZlcmFuc3RhbHRlciA6PgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEcmVzZG5lciAoQWxpbmUsICAxLiBGZWIgMjAwMCwgMTQ6NDM6MTkpOgp+IyEgcm49TWFoYXRtdSBydD05NDk0MTA2ODggcmc9cGFydHkKfiMhIHRpZD05NDk0MDk4OTAKCkRhZnVlciBrYW5uIGljaCBkYXMgVGFzY2hlbmJlcmdwYWxhaXMgbnVyIHdhZXJtc3RlbnMgZW1wZmVobGVuLiA6KQpTY2hvZW5lIFppbW1lciwgZ3V0ZXIgU2VydmljZSEKCkFsaW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERyZXNkbmVyIChEZWVwYmx1ZSwgIDEuIEZlYiAyMDAwLCAxNTo0Nzo1NSk6Cn4jISBybj1NYWhhdG11IHJ0PTk0OTQxMDY4OCByZz1wYXJ0eQp+IyEgdGlkPTk0OTQwOTg5MApEYW5uIGVyemFlaGwgbWFsLCB3YW5uIG1hbiB3byB3aWUgbWl0cGxhbmVuIGthbm4uIEFiZXIgZGVuayBkcmFuLCBpY2ggaGFiCm5pY2h0IGFsbHp1dmllbCBaZWl0IChEaXBsb20pLCBkZXNoYWxiIHdlcmQgaWNoIGVoIG51ciBtYWwgcGFhciBTdHVuZGVuCnZvcmJlaWhvdHRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEcmVzZG5lciAoV3VyemVsLCAgMS4gRmViIDIwMDAsIDE4OjMxOjE3KToKfiMhIHJuPU1haGF0bXUgcnQ9OTQ5NDEwNjg4IHJnPXBhcnR5Cn4jISB0aWQ9OTQ5NDA5ODkwCndpZXNvPyBnaWJ0IGVzIGluIGRlciBvc3R6b25lIGltbWVybm9jaCBrZWluZSB0YXhpcz8gd2FyIGRhcyBsZXR6dGUgbWFsIHZvcgoyMCBqYWhyZW4gZGEsIHdlaXNzIGFsc28gbmljaHQgd2FzIHNpY2ggZ2VhZW5kZXJ0IGhhdC4uLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEcmVzZG5lciAoTWFoYXRtdSwgIDIuIEZlYiAyMDAwLCAxMTozNzoyOSk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTQ5NDI2Mjc3IHJnPXBhcnR5Cn4jISB0aWQ9OTQ5NDA5ODkwCkRlciBWZXJrZWhyIGF1ZiBkZXIgU3RyZWNrZSBpc3Qgb2Z0bWFscyBzZWhyIGRpY2h0IDo+IEFiZXIgRHUgcGFja3N0IGRhcwpzY2hvbi4gS29lbm5lbiB3aXIgZGFubiBpbSBLZW1waW5za2kgYXVjaCBtYWwgdm9yYmVpc2NoYXVlbj8KCk1haGF0bXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERyZXNkbmVyIChXdXJ6ZWwsICAyLiBGZWIgMjAwMCwgMjE6MDU6NDcpOgp+IyEgcm49TWFoYXRtdSBydD05NDk0ODc4NDkgcmc9cGFydHkKfiMhIHRpZD05NDk0MDk4OTAKd2VyIGhpbmRlcnQgZGljaCBkcmFuPyBsYXNzZW4gc2llIGRpY2ggYW0gZWluZ2FuZyBuaWNodCByZWluPyA6KQp3ZW5uIGVzIGFsbGVyZGluZ3MgdmVya2VocnN0ZWNobmlzY2ggdW5ndWVuc3RpZyBsaWVndCwgZ2lidCBlcyBkZW5uIGhvdGVscwppbiBkZXIgbmFlaGU/IHdlbm4gZGVyIGZsdWdoYWZlbiBkYSBpc3QsIG11ZXNzdGUgZXMgZG9jaCBlaWdlbnRsaWNoIGF1Y2ggZWluCmhvdGVsIGdlYmVuLCBvZGVyIGlzdCBkYXMgbWVociBlaW4gbGFlbmRsaWNoZXIgYWNrZXIgOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRHJlc2RuZXIgKE1haGF0bXUsICAyLiBGZWIgMjAwMCwgMjE6NTE6NTIpOgp+IyEgcm49V3VyemVsIHJ0PTk0OTUyMTk0NyByZz1wYXJ0eQp+IyEgdGlkPTk0OTQwOTg5MApJY2ggZ2xhdWJlIG5pY2h0IDo+CkFlaG0uIEZsdWdoYWZlbiBLbG90enNjaGUgaXN0IHdpcmtsaWNoIG51ciBlaW4gYmVzc2VyZXIgS2FydG9mZmVsYWNrZXIgKGdyb3NzZQpCb2luZ3MsIGFlaG0gQm9laW5ncyBrb2VubmVuIGRhIG5pY2h0IGxhbmRlbikgLi4uIGRhIGthbm5zdGUgZ2xlaWNoIHVudGVyIGRlbQpnZW1laW5lbiBWb2xrIHBlbm5lbiwgd2VubiBEdSBuaWNodCB3ZWl0IGZhaHJlbiB3aWxsc3QgOykKCk1haGF0bXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERyZXNkZW4/IChKYXNwZXIsICAzLiBGZWIgMjAwMCwgMDM6MTM6MzEpOgp+IyEgcm49UHVrIHJ0PTk0NzE5ODY4NyByZz1wYXJ0eQp+IyEgdGlkPTk0NzE5NDA3Mgp6aXR0YXUgaXN0IGRhLCB3byBpY2ggaW0gbGViZW4gbmllIGhpbmtvbW1lbiB3ZXJkZSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5YnVzIChKYXNwZXIsICAzLiBGZWIgMjAwMCwgMDM6MjI6MDgpOgp+IyEgcm49U2lsdmFuYSBydD05NDc0MTc4MzAgcmc9cGFydHkKfiMhIHRpZD05NDcyNjI4NzMKaWNoIGhhYiBzY2hvbiBuZSBpZGVlIHdpZSBtYW4gYmllbGVmZWxkIGluIGRpZSByb3V0ZSBlaW5iYXVlbiBrb2VubnRlOgogIGh0dHA6Ly93d3cuYmVzbWFydGVyLmNvbS9+c3RldmVzL25vdF9teV9qb2IuanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHlidXMgKFNpbHZhbmEsICAzLiBGZWIgMjAwMCwgMTI6MDM6NDgpOgp+IyEgcm49SmFzcGVyIHJ0PTk0OTU0NDUyOCByZz1wYXJ0eQp+IyEgdGlkPTk0NzI2Mjg3MwpEYSBpY2ggenVtIFBhcnR5dGVybWluIHdpZWRlciBtYWwga2VpbmUgWmVpdCBoYWJlLCBlaGVyIHVubm9ldGlnLiBPZGVyIHNvbGx0ZQplcyBpbiBCaWVsZWZlbGQgbm9jaCBhbmRlcmUgTXVkZGVyIGdlYmVuLCBkaWUgbWFsIHp1IG5lciBQYXJ0eSB3b2xsZW4uLi4/CgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjIuIENoZW1uaXR6ZXIgTGludXgtVGFnIChWYXJkaW9uLCAgMy4gRmViIDIwMDAsIDE3OjE3OjA2KToKSGkuCgpXZXIgbm9jaCBuaWNodCB3ZWlzcywgd2FzIGVyIGFtIFNvbm50YWcgbmFjaCBkZXIgUGFydHkgc28gYW5zdGVsbGVuIHNvbGwsCmRlciBrYW5uIG1hbCBoaWVyIGluIENoZW1uaXR6IGJlaW0gMi4gQ2hlbW5pdHplciBMaW51eC1UYWcgdm9yYmVpc2NoYXVlbi4KV2VpdGVyZSBJbmZvcyBnaWJ0cyB1bnRlciBodHRwOi8vd3d3LnR1LWNoZW1uaXR6LmRlL2xpbnV4L3RhZy8gKG9kZXIgYmVpCm1pciA7KSkKCiBWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaXBsb21wYXJ0eSBpbiBBYWNoZW4hISEgKEh1bW5pLCAgOS4gRmViIDIwMDAsIDE2OjA5OjEwKToKSGksCgpkYSBFbGJlcmV0IHVuZCBNZWluZXIgRWluZXIgaW0gUkwgbmViZW5iZWkgYXVjaCBub2NoIERpcGxvbWUgaW4KTWF0aGVtYXRpayBnZW1hY2h0IGhhYmVuIHVuZCB3aXIgYXVjaCBub2NoIHp3ZWkgTWl0c3RyZWl0ZXIgZ2VmdW5kZW4KaGFiZW4sIGRpZSBtaXRmZWllcm4gd29sbGVuLCB3ZXJkZW4gd2lyIGFtIEZyZWl0YWcsIGRlbiAxMS4gMDIuIDIwMDAKZWluZSBQYXJ0eSB2ZXJhbnN0YWx0ZW4uCgpEaWVzZSB3aXJkIGdlZ2VuIDIwIFVociBiZWdpbm5lbi4gRGVyIE9ydCBkZXMgR2VzY2hlaGVucyBpc3QgZGllCkJhZXJlbmhvZWhsZSBpbiBkZXIgQmFlcmVuc3RyYXNzZSA1LiAKCkFsc28sIGRpZWplbmlnZW4gdW50ZXIgRXVjaCwgZGllIGVoIGluIEFhY2hlbiBzaW5kLCBzaW5kIG5hdHVlcmxpY2ggCmVpbmdlbGFkZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdpZSBpc3MgbnVuIG1pdCBCdXM/IChTdWdhYW4sIDEwLiBGZWIgMjAwMCwgMTg6MjI6MzkpOgp+IyEgcm49TW9udGFudXMgcnQ9OTQ5MzQwODM0IHJnPXBhcnR5Cn4jISB0aWQ9OTQ5MzQwODM0CmFsc28gaWNoIGZhZW5kIGRlbiBCdXMgZ2FueiBrbGFzc2UuIE1lbGRldCBFdWNoICEhISBNZWxkZXQgRXVjaCEgSWhyIHdvbGx0CmRvY2ggd29obCBuaWNodCBlcm5zdGhhZnQgYWxsZSBlaW56ZWxuIGluIFBLV3MgZGFoaW4gZmFocmVuPyBvZGVyIGV0d2EKZmxpZWdlbj8/PwpJY2ggZGVua2UgQnVzZmFocmVuIGlzdCB2aWVsIGx1c3RpZ2VyIC0gdmllbCBlbnRzcGFubmVuZGVyIC0gdm9yYWxsZW0gbWl0IGRlcgpHcnVuZGJlZGluZ3VuZywgamVkZXIgYnJpbmd0IHdhcyBuZXR0ZXMgenUgdHJpbmtlbiBtaXQuLi4uLi4gaG1tIGxhYmVyIGxhYmVyCmxhYmVyIGljaCBnbGF1YiBpY2ggYmluIGhldXRlIHp1IG1hdHNjaGlnIHVtIHdhcyBzaW5udm9sbGVzIHp1IHNjaHJlaWJlbiAtIGVzCmJsZWlidCBkYWJlaSAtIGljaCBoYWV0dGUgZ2VybmUgZGVuIFBhcnR5YnVzIC0gZ3J1c3MgdW5kIHNjaGx1c3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2llIGlzcyBudW4gbWl0IEJ1cz8gKEZvb2JhciwgMTAuIEZlYiAyMDAwLCAyMTo0MDo0OSk6Cn4jISBybj1TdWdhYW4gcnQ9OTUwMjAzMzU5IHJnPXBhcnR5Cn4jISB0aWQ9OTQ5MzQwODM0Ck1vaW4uCgpJY2ggYmVmdWVyd29ydGUgZWJlbmZhbGxzIGVudHNjaGllZGVuIGRlbiBCdXMuCgpBbHNvIGxvcywgQnVzIG9yZ2FuaXNpZXJlbiwgZGFtaXQgaWNoIGVuZGxpY2ggRmFocmJpZXJ0IGthdWZlbiBrYW5uIDpvKQoKR3J1c3MsCgogICAgRm9vKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogd2llIGlzcyBudW4gbWl0IEJ1cz8gKEZvb2JhciwgMTAuIEZlYiAyMDAwLCAyMTo0MToxNSk6Cn4jISBybj1Gb29iYXIgcnQ9OTUwMjE1MjQ5IHJnPXBhcnR5Cn4jISB0aWQ9OTQ5MzQwODM0ClNvbGx0ZSBuYXR1ZXJsaWNoIEZhaHJiaWVyIGhlaXNzZW4uCgoqZ3J1bW1lbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVzIHZvbiBkZXIgT3JnYW5pc2F0aW9uc2xlaXR1bmcgREQyMDAwIChNZXNpcmlpLCAxMS4gRmViIDIwMDAsIDAxOjE1OjQ3KToKTGllYmUgUGFydHltdWRkZXIsCgp3aWUgZXMgaW1tZXIgc28gaXN0LCBnaWJ0IGVzIEFlbmRlcnVuZ2VuIGluIGRlciBQbGFudW5nOgoKMS4gS2FubiBWaXBlciBTYW1zdGFnIFZvcm1pdHRhZyBuaWNodCB6dXIgVmVyZWluc3ZlcnNhbW1sdW5nLCBkZXNoYWxiIApoYWJlbiB3aXIgZGllc2Uga3VyemVyaGFuZCBhdWYgU29ubnRhZyB2b3IgZGVtIENoaW5lc2VuIHZlcnNjaG9iZW4uCk5pY2h0IGphbW1lcm4gZGFmdWVyIG11ZXNzZW4gRXVyZSBMZWJlbnNnZWlzdGVyIGhhbHQgbm9jaCByZWljaGVuLCAKc2NobGFmZW4ga29lbm50IGlociBpbiBCdXMgdW5kIFp1ZyBhdWYgZGVyIEhlaW1mYWhydCBub2NoLgoKMi4gRGFmdWVyIHVuZCBuYWNoIE5hY2hmcmFnZSB2b24gQ2F0dHkga3VlbW1lcm4gd2lyIHVucyB1bSBlaW5lbiAKQmVzaWNodGlndW5nc3Rlcm1pbiBiZWkgQU1ELiBEYXMgd2FlcmUgZGFubiBhbSBTYW1zdGFnIHZvciBkZXIgUkwtUXVlc3QuCkRhIGZ1ZXIgZGllIEFic3ByYWNoZSBtaXQgZGVuZW4gZ2FueiB3aWNodGlnIGlzdCwgd2lldmllbGUgTGV1dGUga29tbWVuCihkYW1pdCBlcyBzaWNoIGxvaG50KSwgc2NocmVpYnQgYml0dGUgTUlSIChNRVNJUklJKSB3ZXIgSW50ZXJlc3NlIGhhdC4KCjMuIEtVRU1NRVJUIEVVQ0ggVU0gREVNIEJVUyEhCgo0LiBEYW1pdCBkaWUgUGFydHkgZWluIGJpc3NjaGVuIG9la29sb2dpc2NoZXIgd2lyZCwgZ2lidCBlcyBkaWVzbWFsIGtlaW4KRWlud2VnZ2VzY2hpcnIuIEFsc28gYnJpbmd0IGFsbGUgbmUgVGFzc2UgKGhhbHQgc28gbmVuIFBvdHQpIHVuZCBlaW4gTWVzc2VyCm1pdCAoVGlwIGRhcyBNZXNzZXIgZmluZGV0IGVpbmVuIGd1dGVuIFBsYXR6IGltIEt1bHR1cmJldXRlbCkgOykgV2VyIGtlaW5lClRhc3NlIG1pdGJyaW5ndCBtdXNzIG5pY2h0IGF1cyBkZXIgRmxhc2NoZSB0cmlua2VuIChobW0gS2FmZmVlZmxhc2NoZSB3YWVyCmRvY2ggbWFsIHdhcyksIGFiZXIgaGFsdCBmdWVyIGRpZSBUYXNzZSBsb2VobmVuLgoKNS4gTm9jaCBlaW4gQW5yZWl6IGZ1ZXIgZGllIFdlaXRmYWhyZXIuIEljaCB3ZXJkIG1hbCBuZSBEZW1vIGZ1ZXIgZWluIFByb2R1a3QKZnVlciBQcm9maW11ZGRlciBtYWNoZW4gKG5laW4gbmljaHQgVEYgYXVjaCB3ZW5uIGRhcyBhdWNoIGVpbnMgaXN0KS4gTWVociB3aXJkCm5pY2h0IHZlcnJhdGVuLgoKNi4gVm9ydHJhZWdlIGdlc3VjaHQhIFdlciBub2NoIFZvcnRyYWVnZSBoYWx0ZW4gd2lsbCwgd2VuZGV0IHNpY2ggYml0dGUgYW4KSG9vZC4gQW5zb25zdGVuIHF1YXRzY2ggaWNoIGV1Y2ggZGllIDIgMS8yIFN0dW5kZW4gbWl0IFRGLVpldWdzIHp1IChQbG90aW4gaGF0CmhldXQgd2llZGVyIG1hbCBtZWluZW4gUmVkZWZsdXNzIGdldGVzdGV0KS4KCjcuIE5ldWVyIFplaXRwbGFuCgpGcmVpdGFnOgoyMDAwLSB3aXJkIG5peCBkYSB6dSB0ZXVlciwgQWx0ZXJuYXRpdmVuIGluIEFyYmVpdCAodm9yYXVzcy4gTWl0dGVsYWx0ZXIgaW0KQW5ubyBEb21pbmkpClNhbXN0YWc6CjA5MDAtMTAzMCBGcnVlaHN0dWVjawppbSBaZWl0cmF1bSB2b24gMTAzMC0xMzAwIEJlc3VjaCBiZWkgQU1ECjEzMDAtMTcwMCBSTC1RdWVzdCAoc2VsYmVyIEVzc2VuKQoxNzMwLTIwMDAgVm9ydHJhZWdlKyBBdXN3ZXJ0dW5nIFJMLVF1ZXN0CjIwMDAtIFBhcnR5CgpTb25udGFnOgpuaXggYXVzc2NobGFmZW4gOykKMTAzMC0xMjAwIFZlcmVpbnN2ZXNhbW1sdW5nCjEyMDAgQ2hpbmVzZQoKCkZsYW1lcyBuYWNoIC9kZXYvbnVsbCwgd2lyIGhhYmVuIHNvIHNjaG9uIGdlbnVnIHp1IHR1bi4KSmFtbWVybiBrb2VubnQgaWhyIGJlaSBMdWNoLgoKTWVzaXJpaSwgb3JnYW5pc2llcmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWVzIHZvbiBkZXIgT3JnYW5pc2F0aW9uc2xlaXR1bmcgREQyMDAwIChIb2JvLCAxMS4gRmViIDIwMDAsIDA5OjA5OjEwKToKfiMhIHJuPU1lc2lyaWkgcnQ9OTUwMjI4MTQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTUwMjI4MTQ3CkhtbSwgYXByb3BvcyBUYXNzZSBiencuIFQtU2hpcnQuLi4KCldpZSB3ZXIncyBkZW5uIG1hbCwgd2VubiBlcyBhbnN0YXR0IGRlcyBNdWQtVC1TaGlydHMgZWluZSBNdWQtVGFzc2Uga3JlaWVydAp3aXJkPyBULVNoaXJ0cyBtaXQgTW9uc3Rlcm4gZHJhdWYgaGFiIGljaCBqZXR6dCBnZW51ZywgYWJlciBuZQpNb25zdGVyLVRhc3NlLi4uCkF1c3NlcmRlbSBtdWVzc3RlIGljaCBkYW5uIG5pY2h0IGRyYW4gZGVua2VuLCBtZWluZSBUYXNzZSBtaXR6dWJyaW5nZW4sCnNvbmRlcm4ga29lbm50ZSBlaW5mYWNoIGRpZSBuZXVlIChvZWgsIGRhIG11c3MgZGFubiB3b2hsIGVpbiBOYW1lIGRyYXVmKQpuZWhtZW4uCgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWVzIHZvbiBkZXIgT3JnYW5pc2F0aW9uc2xlaXR1bmcgREQyMDAwIChHcmltbWJvcm4sIDExLiBGZWIgMjAwMCwgMDk6NTI6NTEpOgp+IyEgcm49SG9ibyBydD05NTAyNTY1NTAgcmc9cGFydHkKfiMhIHRpZD05NTAyMjgxNDcKU2NoYXUgZWluZXIgZ3Vjaywga2F1bSBpc3QgZGllIEZyYXUgdmVyaGVpcmF0ZXQgd2lyZCBzaWUgc29saWRlLCBNb25zdGVyIGF1ZgpULVNoaXJ0cyBzaW5kIGlociBuaWNodCBtZWhyIGd1dCBnZW51Zy4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IHdpc2NodCBzaWNoIGVpbmUgVHJhZW5lIGF1cyBkZW0gTXVuZF5XQXVnZW53aW5rZWwuIERhc3MKaWNoIGRhcyBub2NoIGVybGViZW4gZGFyZi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlcyB2b24gZGVyIE9yZ2FuaXNhdGlvbnNsZWl0dW5nIEREMjAwMCAoTWVzaXJpaSwgMTEuIEZlYiAyMDAwLCAxMDo1NToyMyk6Cn4jISBybj1Ib2JvIHJ0PTk1MDI1NjU1MCByZz1wYXJ0eQp+IyEgdGlkPTk1MDIyODE0NwpKYSBzbyBuZSBUYXNzZSB3YWVyIGF1Y2ggd2FzLCBpY2ggd29sbHRlIGRhcyBtYWwgZnVlciBuZW4gS3VtcGVsIG1hY2hlbi4KRGllIExldXRlIGRpZSBkYXNzIHouYi4gYmVpIEthcnN0YWR0L0hlcnRpZSBkcmF1Zm1hY2hlbiwgd29sbGVuIGhhbHQKcHJvIFRhc3NlIG1pdCBuZW0gTWluaW1vdGl2IDEweDEwIGNtIGdsYXViaWNoIDI1IE1hcmsgaGFiZW4uCldlbm4gSW50ZXJlc3NlIGJlc3RlaHQuLi4uIG1lbGRlbgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXVlcyB2b24gZGVyIE9yZ2FuaXNhdGlvbnNsZWl0dW5nIEREMjAwMCAoUGFkcmVpYywgMTEuIEZlYiAyMDAwLCAxMzowMjozNSk6Cn4jISBybj1NZXNpcmlpIHJ0PTk1MDI2MjkyMyByZz1wYXJ0eQp+IyEgdGlkPTk1MDIyODE0NwpJY2ggZ2xhdWIgZGFzIGlzdCBhbGxlcyBlaW5lIEZyYWdlIGRlciBNZW5nZS4gV2lyIGhhYmVuIHVucyBpcmdlbmR3YW5uIG1hbApLYWZmZWV0YXNzZW4gYmVkcnVja2VuIGxhc3NlbiBpY2ggZ2xhdWIgMzAwIFN0dWVjayBkaWUga29zdGV0ZW4gZGFubiBpbmNsLgpUYXNzZSBpcmdlbmR3YXMgdW0gZGllIDMsNzAsLSBvZGVyIHNvIChvayBkYXMgd2FyIGRhbWFscyBhdWNoIG51ciBlaW5mYXJiaWcpLgpBYmVyIHdlbm4gbWFuIDgwIHRhc2VlbiBvZGVyIHNvd2FzIGJ1bnQgYmVkcnVja2VuIGxhZXNzdCB3aXJkIGRhcyBzaWNoZXIgYXVjaApuaWNodCB0ZXVyZXIgYWxzIG5lbiBULVNoaXJ0LgoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmV1ZXMgdm9uIGRlciBPcmdhbmlzYXRpb25zbGVpdHVuZyBERDIwMDAgKE1haGF0bWEsIDExLiBGZWIgMjAwMCwgMTQ6NTc6MjYpOgp+IyEgcm49UGFkcmVpYyBydD05NTAyNzA1NTUgcmc9cGFydHkKfiMhIHRpZD05NTAyMjgxNDcKQWJlciB3ZW5uIGRpZSBOYW1lbiBkcmF1ZnN0ZWhuIHNvbGxlbiwgaXN0IGRhcyBrZWluZSBNYXNzZW5wcm9kdWt0aW9uIG1laHIsCnVuZCBkYW1pdCB3aXJkcyBzaWNoZXIgdGV1cmVyIGFscyBiZWkgRGVpbmVtIEJlaXNwaWVsLgoKTWFoYXRtYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZXMgdm9uIGRlciBPcmdhbmlzYXRpb25zbGVpdHVuZyBERDIwMDAgKEJvaW5nLCAxMS4gRmViIDIwMDAsIDE1OjAxOjA4KToKfiMhIHJuPU1haGF0bWEgcnQ9OTUwMjc3NDQ2IHJnPXBhcnR5Cn4jISB0aWQ9OTUwMjI4MTQ3CkFsbGVzIGRpc2t1dGllcmVuIHVlYmVyIHZlcm1laW50bGljaGUgUHJlaXNlIG51ZXR6dCBkb2NoIG5peCAuLi4gbWFuCm11c3MgZWluZmFjaCBtYWwgaGluZ2VoZW4gdW5kIG5hY2ggdmVyYmluZGxpY2hlbiBQcmVpc2VuIGZ1ZXIgPG4+ClRhc3NlbiBmcmFnZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldWVzIHZvbiBkZXIgT3JnYW5pc2F0aW9uc2xlaXR1bmcgREQyMDAwIChMaWFyYSwgMTEuIEZlYiAyMDAwLCAxNToyMDo0Nik6Cn4jISBybj1Cb2luZyBydD05NTAyNzc2Njggcmc9cGFydHkKfiMhIHRpZD05NTAyMjgxNDcKTWFuIGthdWZlIDMwMCBUYXNzZW4gbWl0IGVpbmVtIE1HLU1vdGl2IG9obmUgYmVzdGltbXRlIFBhcnR5YXVmc2NocmlmdCBvZGVyCk5hbWVuIHVuZCB2ZXJrYXVmZSBzZWxiaWdlIGF1ZiBkZW4gbmFlY2hzdGVuIDMgUGFydHlzLgoKTGlhcmEsIFp3ZXJnZW56YXViZXJpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5ldWVzIHZvbiBkZXIgT3JnYW5pc2F0aW9uc2xlaXR1bmcgREQyMDAwIChIb2JvLCAxMS4gRmViIDIwMDAsIDE2OjQyOjU5KToKfiMhIHJuPUxpYXJhIHJ0PTk1MDI3ODg0NiByZz1wYXJ0eQp+IyEgdGlkPTk1MDIyODE0NwpIbW0sIGFsc28gaWNoIGhhYicgbWFsIGVpbiBiaXNzY2hlbiBpbSBOZXR6IGdld3VlaGx0IHVuZCB1bnRlcnNjaGllZGxpY2hlClByZWlzZSBnZWZ1bmRlbi4KWi5CLiBhYiAzIFRhc3NlbiAoYXVjaCB2ZXJzY2hpZWRlbmUgQmlsZGVyKSAyMERNL1Rhc3NlCk9kZXIgYXVjaDogKGVpZ2VudGxpY2ggbnVyIGZ1ZXIgR3Jvc3NrdW5kZW4sIGFiZXIgdmllbGxlaWNodCB3aXIgYWxzIFZlcmVpbj8pCmZ1ZXIgMzAwIFRhc3NlbiBub2NoIDEsMjkgRE0hCk9kZXIgc28uLi4gSWNoIHNjaGF1IG1hbCB3ZWl0ZXIuLgpXZW5uIGplbWFuZCBlaW4gTW90aXYgaGF0LCBzb2xsIGVyIHNpY2ggYml0dGUgbWVsZGVuLi4KCiAgSG9ibyAtIG9yZ2FuaXNpZXJ0IG1hbCBlYmVuIFRhc3NlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHl0YXNzZSAoU2FtbWVsdGFzc2UsIDExLiBGZWIgMjAwMCwgMTc6MjU6NDYpOgpIYWxsbyBMZXV0ZSwKCkRhbWl0IHNpY2ggYmVzc2VyIGFic2NoYWV0emVuIGxhZXNzdCwgb2IgdWViZXJoYXVwdCBQYXJ0eXRhc3NlbmJlZGFyZiBiZXN0ZWh0LApnaWJ0IGVzIGpldHp0IG1pY2guCldlciBhbHNvIGdlcm5lIGVpbmUgTUctVGFzc2Ugc2VpbiBlaWdlbiBuZW5uZW4gbW9lY2h0ZSwgc29sbCBzaWNoIG1vZWdsaWNoc3QKYmFsZCBiZWkgbWlyIHBlciBNYWlsIG1lbGRlbi4gVW5kIGJpdHRlIGRlbiBQcmVpcyBtaXQgYW5nZWJlbiwgZGVuIGVyL3NpZQptYXhpbWFsIGZ1ZXIgc28gZWluZSBUYXNzZSB6YWhsZW4gd3VlcmRlIHVuZCBvYiBzaWUgdW5iZWRpbmd0IHNlaW5lbiBOYW1lbgp0cmFnZW4gc29sbCBvZGVyIG5pY2h0LgoKQmlzaGVyIGdpYnQgZXMgendlaSB2ZXJzY2hpZWRlbmUgVmFyaWFudGVuOgpBOiBCZXN0ZWxsdW5nICh2ZXJtdXRsaWNoIGFscyBWZXJlaW4pIHZvbiAxMDAgVGFzc2VuIHp1IGVpbmVtIEdlc2FtdHByZWlzIHZvbgo2NjUgRE0uIERpZXNlIFRhc3NlbiBrb2VubmVuIG5pY2h0IHBlcnNvbmFsaXNpZXJ0IHdlcmRlbiwgYWxzbyBrZWluIE5hbWUKZHJhdWYhIFVuZCB3aXIgbXVlc3NlbiBlYmVuIG1pbmQuIDEwMCBiZXN0ZWxsZW4uIEV2dGwuIGdlaHQgZGFzIGphLCBkYXNzIGRlcgpWZXJlaW4gZGFzIEdlbGQgdm9yc2NoaWVzc3QgdW5kIGRpZSBUYXNzZW4gZGFubiB1ZWJlciBtZWhyZXIgRmV0ZW4gdmVydGVpbHQKdmVya2F1ZnQgd2VyZGVuIChUZWRkeT8gU2FnIHdhcyBkYXp1KS4gTWl0IGVpbmVtIFByZWlzIHZvbiB1bnRlciA3RE0vVGFzc2UKd2FlcmUgZGFzIHNpY2hlciBhbSBndWVuc3RpZ3N0ZW4uCgpCOiBCZXN0ZWxsdW5nIGRlciBiZW5vZXRpZ3RlbiBBbnphaGwgdm9uIFRhc3Nlbi4gRGFzIHdpcmQgZGFubiBwcm8gVGFzc2UKd2VzZW50bGljaCB0ZXVyZXIsIGRhZnVlciBrb2VubmVuIGRpZSBhYmVyIGV2ZW50dWVsbCBwZXJzb25hbGlzaWVydCB3ZXJkZW4Kb2RlciBzb2dhciBhbHMgVGhlcm1vdGFzc2VuIGdla2F1ZnQgd2VyZGVuLiBEZXIgUHJlaXMgbGllZ3QgZGEgYWxsZXJkaW5ncyBiZWkKMjRETSsgcHJvIFRhc3NlIChhbGxlcmRpbmdzIGhvbGUgaWNoIGdyYWRlIG5vY2ggZWluIGdlbmF1ZXJlcyBBbmdlYm90IGVpbiAtCnZpZWxsZWljaHQgZ2lidCdzIGphIG5vY2ggZWluZW4gTWVuZ2VucmFiYmF0KQoKU29iYWxkIHNpY2ggbWVociBnZWtsYWVydCBoYXQsIG1lbGRlIGljaCBtaWNoIHdpZWRlcgoKICAgIEhvYm8gLSBhZWgsIFNhbW1lbHRhc3NlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVcGRhdGUgKFRzaGlydCwgMTEuIEZlYiAyMDAwLCAxNzoyNjo0Nik6CkhpIExldXRlLAoKaWNoIG1vZWNodGUgZXVjaCBub2NoIG1hbCBhdWZydWZlbiwgZWluIE1vdGl2IGF1cyBkZW0gTUcgaW4gbmVtIG5ldHRlbiAoZnVlcgpMdWcgdGV1Zmxpc2NoZW4pIEJpbGRlcyB1bXp1c2V0emVuLgpBbHMgbmV1ZSBPcHRpb24gYmVzdGVodCBudW4gZGllIE1vZWdsaWNoa2VpdCwgZWluZSBUYXNzZSBtaXQgZGVtIEdld2lubmVybW90aXYKZHJhdWYgenUgYmVzdGVsbGVuLiBEaWVzIGVyZm9sZ3QgZGFubiB1ZWJlciBTYW1tZWx0YXNzZSwgZGllICBzaWNoZXJsaWNoIGF1Y2gKYmFsZCBnZW5hdWVyZXMgYmVrYW5udCBnZWJlbiB3aXJkLi4KCkFsc28gTGV1dGUsIGhhbHRldCBldWNoIHJhbiwgZXMgaXN0IG51ciBub2NoIGVpbmUgcmVpY2hsaWNoZSBXb2NoZSBaZWl0IHp1bQphYmdlYmVuIGRlcyBNb3RpdmVzLi4KClRTaGlydAoKWVQgVHNoaXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHl0YXNzZSAoTWVzaXJpaSwgMTEuIEZlYiAyMDAwLCAyMzozMTowMSk6Cn4jISBybj1TYW1tZWx0YXNzZSBydD05NTAyODYzNDYgcmc9cGFydHkKfiMhIHRpZD05NTAyODYzNDYKWnVtIFBlcnNvbmFsaXNpZXJlbiBrYW5uIG1hbiBqYSBuZW4gRWRkaW5nIG9kZXIgc293YXMgbmVobWVuIDspCkFsc28gaWNoIHdhZXIgZnVlciBWYXJpYW50ZSBBCkthbm5zdCBEdSBub2NoIHdhcyB6dXIgR3JvZXNzZSBkZXMgTW90aXZzIHNhZ2VuPwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5dGFzc2UgKExpYXJhLCAxMS4gRmViIDIwMDAsIDIzOjQ2OjE0KToKfiMhIHJuPU1lc2lyaWkgcnQ9OTUwMzA4MjYxIHJnPXBhcnR5Cn4jISB0aWQ9OTUwMjg2MzQ2CkhtLCB3YXMgc3ByaWNodCBlaWdlbnRsaWNoIGdlZ2VuIGRhcyBUaXRlbGJpbGQgZGVyIFdXVy1TZWl0ZW4/CgpMaWFyYSwgWndlcmdlbnphdWJlcmluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHl0YXNzZSAoQWxpbmUsIDEyLiBGZWIgMjAwMCwgMDg6NTE6MTIpOgp+IyEgcm49TGlhcmEgcnQ9OTUwMzA5MTc0IHJnPXBhcnR5Cn4jISB0aWQ9OTUwMjg2MzQ2CgpIbW0gZGFzIFRpdGVsYmlsZCBkZXIgV1dXLVNlaXRlbj8gRHUgbWVpbnN0IGRpZSBIZXhlIG1pdCBkZXIgS3Jpc3RhbGxrdWdlbD8KRGllIGhhYmUgaWNoIGluendpc2NoZW4gc2Nob24gYXVmIGRlciBXZXJidW5nIGZ1ZXIgZWluZSBEcnVja2VyZWksIGVpbmVuCkVzb3RlcmlrbGFkZW4sIGVpbiAyLUhhbmQtR2VzY2hhZWZ0IHVuZCBhbHMgQnJpZWZwYXBpZXIgZ2VzZWhlbi4KCkFsaW5lIChNRyB1bmQgZWluIEVzb3RlcmlrbGFkZW4uLi4uLi5oYWV0dGUgd2FzKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2FtbWVsdGFzc2UgKE1lc2lyaWksIDEyLiBGZWIgMjAwMCwgMTM6MzI6MTMpOgpMaWViZSBTYW1tZWx0YXNzZW5mcmV1bmRlLApNYW5nbyBoYXQgRXJrdW5kaWd1bmdlbiBlaW5nZXpvZ2VuIHVuZCBpc3QgenUgZm9sZ2VuZGVtIEVyZm9sZyBnZWtvbW1lbjoKCndlbm4gd2lyIGJlaSBkZW0gTGFkZW4gODAgVGFzc2VuIGJlc3RlbGxlbiwga3JpZWdlbiB3aXIgISFpbmRpdmlkdWFsaXNpZXJ0ZQpUYXNzZW4gbWl0IFJ1bmR1bWRydWNrIGZ1ZXIgMTUgTWFyayBkYXMgU3R1ZWNrIQoKVGVjaG5pc2NoZSBEYXRlbjoKQmFuZGVyb2xlOiAxOHg3LDUgY20KQXVmbG9lc3VuZyAyNDAgZHBpIChGYXJibGFzZXJkcnVja3ZlcmZhaHJlbikgYmlzIDRwdCBTY2hyaWZ0Z3JvZXNzZSBrbGFyCmVya2VubmJhcgpkaWUgQmlsZGVyIGtvZW5uZW4gYWxzIFRJRkYgb2RlciBDRFIgKHouQi4gZ2VsaWVmZXJ0IHdlcmRlbikuCgpJY2ggaGFiIG1pY2ggbWFsIHNjaG5lbGwgaGluZ2VzZXR6dCB1bmQgd2FzIGdlYmFzdGVsdCAod2FzIG1pciBuYXR1ZXJsaWNoCmd1dCBnZWZhZWxsdCkuCgpEaWUgRGF0ZWllbiBzaW5kIHVudGVyCmVtdy5pbmYudHUtZHJlc2Rlbi5kZS9+bWgxNC90Zi90YXNzZS5naWYgbWl0IEJpbGRlcm4gdW5kIEluZm9zCmVtdy5pbmYudHUtZHJlc2Rlbi5kZS9+bWgxNC90Zi90YXNzYmxuay50Z3ogbnVyIFJhaG1lbiBtaXQgSW5mb3MgKGNvcmVsCmRhdGVpIGdlcGFja3QpCgp6dSBmaW5kZW4uCgpNZXNpLCBmcmV1dCBzaWNoIGF1ZiBzZWluZW4gcGVyc29lbmxpY2hlbiBQb3R0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgVGFzc2VuIHNpbmQgc3B1ZWxtYXNjaGluZW5mZXN0ISEgKE1lc2lyaWksIDEyLiBGZWIgMjAwMCwgMTQ6MTc6NTYpOgpNZXNpcmlpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHl0YXNzZSAoVGVkZHksIDEyLiBGZWIgMjAwMCwgMTQ6NTI6MTkpOgp+IyEgcm49U2FtbWVsdGFzc2UgcnQ9OTUwMjg2MzQ2IHJnPXBhcnR5Cn4jISB0aWQ9OTUwMjg2MzQ2CkFsc28gdm9uIG1laW5lciBTZWl0ZSBzcHJpY2h0IGRhIG5pY2h0cyBnZWdlbi4KQmVkaW5ndW5nIHdhZXJlIGFiZXIgc2Nob24sIGRhcyBlaW5lIGdld2lzc2UgWmFobCBMZXV0ZSBzaWNoIGRhZnVlcgppbnRlcmVzc2llcnQuIFp1bWluZGVzdCBkaWUgSGFlbGZ0ZSBzb2xsdGUgaW1obyBzY2hvbiBiZWkgZGllc2VyIFBhcnR5CnZlcmthdWZ0IHdlcmRlbi4KClRlZGR5LCB3YXJ0ZXQgYXVmIFJlYWt0aW9uIHZvbSBSZXN0IGRlcyBWZXJlaW5zIHVuZCB3aWxsIGF1Y2ggbmUgVGFzc2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5dGFzc2UgKFZhbmlvbiwgMTIuIEZlYiAyMDAwLCAxNTowNTo0Nik6Cn4jISBybj1UZWRkeSBydD05NTAzNjM1Mzkgcmc9cGFydHkKfiMhIHRpZD05NTAyODYzNDYKSWNoIHdlcmRlIHdvaGwgbmljaCBhdWYgZGVyIFBhcnR5IHNlaW4sIDooCndpbGwgYWJlciBhdWNoIHNvd2FzIGhhYmVuLgoKVmFuaW9uLCBTYW1tZWx0YXNzZW5mYW5hdGlrZXIKClBTOiBhbSBsaWVic3RlbiBzY2hvbiBnZXN0ZXJuIGluIGRlciBIYW5kIGdlaGFidCBoYWJlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgenUgQU1EIHdpbGwgTWFpbCBhbiBtaWNoIChBbWQsIDEyLiBGZWIgMjAwMCwgMTk6NTI6NTIpOgpBTUQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5dGFzc2UgKEthcnRvZmZlbCwgMTIuIEZlYiAyMDAwLCAyMTo0Mzo1Nyk6Cn4jISBybj1MaWFyYSBydD05NTAzMDkxNzQgcmc9cGFydHkKfiMhIHRpZD05NTAyODYzNDYKRmFlbmQgaWNoIGZ1ZXIgbmUgVGFzc2UgYXVjaCBndXQsIGRhcyB3aXJrdCBhdWNoIHJlbGF0aXYga2xlaW4gbm9jaC4KCidUb2ZmZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5dGFzc2UgKE9sbGksIDEzLiBGZWIgMjAwMCwgMDI6MTU6MzYpOgp+IyEgcm49VmFuaW9uIHJ0PTk1MDM2NDM0NiByZz1wYXJ0eQp+IyEgdGlkPTk1MDI4NjM0NgpIaWhvLAoKZGEga2FubiBpY2ggbWljaCBWYW5pb24gbnVyIGFuc2NobGllc3NlbjspCldlcmQgZXMgdmVybXV0bGljaCBhdWNoIG5pY2h0IHp1ciBQYXJ0eSBzY2hhZmZlbiwgd2lsbCBzb24gRGluZwphYmVyIGF1Y2ggaGFiZW4gKmcqCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eXRhc3NlIChNYXJjdXMsIDEzLiBGZWIgMjAwMCwgMjI6NDM6MjEpOgp+IyEgcm49QWxpbmUgcnQ9OTUwMzQxODcyIHJnPXBhcnR5Cn4jISB0aWQ9OTUwMjg2MzQ2CkRpZSBIZXhlIHdpcmQgYmVpIENvcmVsIERyYXcgYWxzIENsaXBhcnQgbWl0Z2VsaWVmZXJ0LgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2FtbWVsdGFzc2UgKFplcGh5ciwgMTMuIEZlYiAyMDAwLCAyMjo1MDozNyk6Cn4jISBybj1NZXNpcmlpIHJ0PTk1MDM1ODczMyByZz1wYXJ0eQp+IyEgdGlkPTk1MDM1ODczMwoKRXZlbnR1ZWxsIHNvbGx0ZSBtYW4gYXVmIGRlbSBCaWxkIGRpZSBBZHJlc3NlIGRlcyBNdWRzIGFiZXIgYXVmCmRhcyBrb3JyZWt0ZSBtZy5tdWQuZGUgYWVuZGVybiA7KQoKQzQsIG1hZyBLb3JpbnRoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCBiaW4gbmljaHQgbWVociBJY2ghIChTYW1tZWx0YXNzZSwgMTQuIEZlYiAyMDAwLCAwOTowMjozNik6CkhpIExldXRlLCAKZGEgU2FtbWVsdGFzc2UgbnUgbmljaHQgbWVociB2b24gSG9ibywgc29uZGVybiB2b24gTWVzaXJpaSBiZXNlc3NlbiB3aXJkCihpc3Q/KSwgYml0dGUga2VpbmUgIkljaC13aWxsLW5lLVRhc3NlIi1NYWlscyBtZWhyIGFuIEhvYm8uCkRpZSBNYWlscyB2b24gTXVkZGVscHVwcyAob2RlciBzbyBhZWhubGljaCkgdW5kIEFyayB3dXJkZW4gYW4gU2FtbWVsdGFzc2UKd2VpdGVyZ2VsZWl0ZXQuCgpBYmVybGFzc3QgRXVjaCBtYWwgbm9jaCBzY2hvZW5lIE1vdGl2ZSBlaW5mYWxsZW4uIERpZSBIZXhlIHNvbGwgZG9jaCBzb3dpZXNvCmF1Y2ggYXVmIGRlciBNRy1TZWl0ZSBhdXNnZXRhdXNjaHQgd2VyZGVuLi4uCgogICAgIFNhbW1lbHRhc3NlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNhbW1lbHRhc3NlIChCYWJvb24sIDE0LiBGZWIgMjAwMCwgMTE6MDU6MzgpOgp+IyEgcm49WmVwaHlyIHJ0PTk1MDQ3ODYzNyByZz1wYXJ0eQp+IyEgdGlkPTk1MDM1ODczMwoiV2VyIGF1cyBkaWVzZXIgVGFzc2UgdHJpbmt0LCBtdXNzIG1pdCBkZW0gU2NobGltbXN0ZW4gcmVjaG5lbi4iCgpVbmQgZGFzIHdhcmU/IFR5cGh1cz8gUGVzdD8gQ2hvbGVyYT8gSGVycGVzPwoKQmFib29uIChNZXNpcmlpIGdlbWVpbiBhbmdyaW5zZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljaCBiaW4gbmljaHQgbWVociBJY2ghIChUYXJpbmEsIDE0LiBGZWIgMjAwMCwgMTQ6MTY6NDcpOgp+IyEgcm49U2FtbWVsdGFzc2UgcnQ9OTUwNTE1MzU2IHJnPXBhcnR5Cn4jISB0aWQ9OTUwNTE1MzU2CkRhcyBNb3RpdiBhdWYgZGVyIE1HLVNlaXRlIHNvbGwgYXVzZ2V0YXVzY2ggd2VyZGVuPwoKREFTIElTVCBBQkVSIFRPVEFMIFNDSEFERSEhIQoKZGFnZWdlbiwgYXVjaCB3ZW5ucyBuaWNodHMgbnVldHp0LgpUYXJpbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWNoIGJpbiBuaWNodCBtZWhyIEljaCEgKFN1Z2FhbiwgMTQuIEZlYiAyMDAwLCAxOTozMDo1Mik6Cn4jISBybj1UYXJpbmEgcnQ9OTUwNTM0MjA3IHJnPXBhcnR5Cn4jISB0aWQ9OTUwNTE1MzU2CkZhZW5kIGljaCBhdWNoIG1laHIgYWxzIFNDSEFERSAhISEgaWNoIG1hZyBkaWUgSGV4ZSAtIHdlbm4gc2llIGF1Y2ggbmljaHQKZWluemlnYXJ0aWcgdW5kIHNjaG9uIGdhciBuaWNodCBNRy0gc3BlemlmaXNjaCBpc3QuIExhc3N0IHVucyBhYmVyIGJpdHRlIHVlYmVyCmRhcyBuZXVlIE1vdGl2IGFic3RpbW1lbiA6LSkpKSkKZ3J1ZXNzaXMgLSBiZWkgdmVybnVlbmZ0aWdlbSBQcmVpcyBhdWNoIGdlcm5lIFRhc3NlbmJlemllaGVyaW5nICAtICBTVUdJCihmdWVyY2h0ZXQgc2ljaCBzY2hvbiBqZXR6dCB2b3IgZGVtIFRhZyBhbiBkZW0gZGllc2UgVGFzc2UgZGFubiBrYXB1dHQgZ2VoZW4Kd2lyZCwgd2FzIG5pY2h0IGxhbmdlIG5hY2ggZXJoYWx0IGRlcnNlbGJlbiBzZWluIHdpcmQgKmdyaW5zKikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5dGFzc2UgKFdpbGxvdywgMTQuIEZlYiAyMDAwLCAyMDoxODoxMCk6Cn4jISBybj1WYW5pb24gcnQ9OTUwMzY0MzQ2IHJnPXBhcnR5Cn4jISB0aWQ9OTUwMjg2MzQ2CmphamFqYSwgYXVjaCBoYWJlbiB3b2xsZW4gLSB3ZW5uIGdlaGVuLCBzb2dhciBwZXJzb25hbGlzaWVydC4uLiBhYmVyIHp1ciBwYXJ0eQp3ZXJkIGljaCBsZWlkZXIgYXVjaCBuaWNodCBrb21tZW4ga29lbm5lbiAtIGFiZXIgaW50ZXJlc3NlIGlzdCBtZWluZXJzZWl0cwpzZWhyIHN0YXJrIChzY2hlaXNzIHNhbW1sZXIpCldlaWRjaGVuIFdpbGxvdyBzdWNodCBub2NoIGh1ZWJzY2hlIHRhc3Nlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlciB6dSBBTUQgd2lsbCBNYWlsIGFuIG1pY2ggKEx1emllLCAxNC4gRmViIDIwMDAsIDIyOjU2OjUyKToKfiMhIHJuPUFtZCBydD05NTAzODE1NzIgcmc9cGFydHkKfiMhIHRpZD05NTAzODE1NzIKV2VubiBpY2ggd3Vlc3N0ZSwgd2FzIEFNRCBpc3QgLi4uLgpkYW5uIGtvZW5udGUgaWNoIGF1Y2ggc2FnZW4sIG9iIGljaCBkYSBoaW4gd2lsbC4KTHV6aWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VyIHp1IEFNRCB3aWxsIE1haWwgYW4gbWljaCAoR3JpbW1ib3JuLCAxNC4gRmViIDIwMDAsIDIzOjMyOjI5KToKfiMhIHJuPUx1emllIHJ0PTk1MDU2NTQxMiByZz1wYXJ0eQp+IyEgdGlkPTk1MDM4MTU3MgphbWQgaXN0IGRlciBhdXRvbW91bnRlciBkYWVtb24uCkljaCB3ZWlzcyBqZXR6dCBuaWNodCwgb2IgRHUgc28gZHJhdWYgc3RlaHN0LCB3ZW5uIER1IHN0YWVuZGlnIHVuZ2VmcmFndCBhdWYKaXJnZW5kd2VsY2hlbiBHZXJhZXRzY2hhZnRlbiBtb250aWVydCB3aXJzdCwgYWJlciB3ZW5uIGRhcyBkZXIgRmFsbCBpc3QKc29sbHRlc3QgRHUgZGEgaGluLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy4gQWNoIHNvLCBBTUQgKEFkdmFuY2VkIE1pY3JvIERldmljZXMpIGlzdCBlaW5lIENoaXAtRmlybWEgKHNvIHdpZSBJbnRlbCksCnVuZCBkaWUgaGFiZW4gaW4gRHJlc2RlbiBzbyBlaW5lIEZhYnJpayBnZWJhdXQuIFNvIGVpbmUgRmFicmlrIGlzdCBob2NoZ3JhZGlnCmF1dG9tYXRpc2llcnQsIGRlc3dlZ2VuIGthbm4gc2llIHNpY2hlciBpbiBOZXVmdWVuZmxhbmQgYmV0cmllYmVuIHdlcmRlbi4uLgooZ2QmcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBBUlRZQlVTPyEgKENyaXR0ZXIsIDE1LiBGZWIgMjAwMCwgMTU6MzM6NTUpOgppcyBudSB3YXMgbWl0IHBhcnR5YnVzIG9kZXIgbmljaD8Kd2VpbCBpcmdlbmR3YW5uIHd1ZXJkZSBpY2ggZGFzIHNjaG9uIHBsYW51bmdzdGVjaG5pc2NoIGZ1ZXIgbWljaCB3aXNzZW4Kd29sbGVuCmdydXNzIGMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUEFSVFlCVVM/ISAoTGlhcmEsIDE1LiBGZWIgMjAwMCwgMTk6Mzc6NTIpOgp+IyEgcm49Q3JpdHRlciBydD05NTA2MjUyMzUgcmc9cGFydHkKfiMhIHRpZD05NTA2MjUyMzUKWWVhaCwgaWNoIHd1ZXNzdGUgZGFzIGF1Y2ggZ2VybmUuIDotKSBNaXQgZGVyIERCIGZhaHJlIGljaCBuaWNodCBuYWNoIERyZXNkZW4sCmRhbm4gYmxlaWJlIGljaCBsaWViZXIgaW0gUmhlaW5sYW5kLiA7LSkKCkxpYXJhLCBad2VyZ2VuemF1YmVyaW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUc2hpcnQvVGFzc2VuLU1vdGl2ZSAoVHNoaXJ0LCAxNS4gRmViIDIwMDAsIDIwOjUyOjEzKToKSGkgTGV1dGUsCgppY2ggbW9lY2h0ZSBldWNoIG5vY2ggZWlubWFsIGF1ZiBkZW4ga2xlaW5lbiBXZXR0YmV3ZXJiIHp1bSBUU2hpcnQtTW90aXYKaGlud2Vpc2VuLgpJbnp3aXNjaGVuIHNpbmQgNSBNb3RpdmUgZWluZ2VnYW5nZW4sIGRpZXNlIGtvZW5uZW4gdWViZXIgZGllIE1HLUhvbWVwYWdlCmFuZ2VzY2hhdXQgd2VyZGVuLiBGdWVyIGRpZSBNb3RpdmUgc2luZCBiaXNoZXIgUGZlaWZlLCBNZXNpcmlpLEthcnRvZmZlbCB1bmQKR3VhcmQgdmVyYW50d29ydGxpY2ggOykuIElDaCBkZW5rZSwgZGEgc3ByaW5nZW4gYmVxdWVtIGVpbiBUU2hpcnQtIHVuZCBlaW4KVGFzc2VubW90aXYgaGVyYXVzLi4gCkFsc28gTGV1dGUsIGluZm9ybWllcnQgZXVjaCwgZGVtbmFlY2hzdGUgd2VyZGVuIGRhbm4gZGllIHdhaGxrYWJpbmVuCmF1Zmdlc3RlbGx0IChmYWxscyBkYXMgbm9jaCBub3R3ZW5kaWcgaXN0KSBpY2ggaG9mZmUgYXVmIGV1ZXIgUnVlY2tlY2hvLi4KClNpY2ggYW4gZGVuIE1vdGl2ZW4gZXJmcmV1ZW5kLAoKVHNoaXJ0CgoKUFM6IGljaCBhcmJlaXRlIGRhcmFuLCBkYXNzIEthcnRvZmZlbHMgQmlsZCBpbiBlaW5lciBhbm5laG1iYXJlbiBHcm9lc3NlIGF1ZgpkZW0gU2VydmVyIGVyc2NoZWludCwgbnVyIGxlaWRlciBoYXQgUm9jaHVzIHNvd2VuaWcgWmVpdC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YnVzIChNb250YW51cywgMTUuIEZlYiAyMDAwLCAyMToyMToxNCk6CgpBbHNvIGljaCBoYWIga2VpbmUgQWhudW5nLCBvYiBQYXJ0eWJ1cyBvZGVyIG5pY2h0LgpJY2ggaGFiIGJpc2hlciBnZW5hdSAzLTQgUnVlY2ttZWxkdW5nZW4gYmVrb21tZW4sIGRhdm9uIGRpZSBNZWhyaGVpdCB2b24KbGV1dGVuLCBkaWUgZWlnZW50bGljaCBuaWNodCBkaXJla3QgYXVmIGRlciBSb3V0ZSBsaWVnZW4gKHouQi4Ka2Fpc2Vyc2xhdXRlcm4pLgpVbmQgZGVyamVuaWdlLCBkZXIgbWVpbnRlLCBkZW4gZ3V0ZW4gRHJhaHQgenVtIEJ1c3VudGVybmVobWVuIHp1IGhhYmVuLCBoYXQKc2ljaCB0cm90eiBkb3BwZWx0ZW0gTWFpbCBuaWNodCBtZWhyIGdlbWVsZGV0LgpXYXMgc29sbCBpY2ggbWFjaGVuPyBGdWVyIDQgTGV1dGUgbG9obnQga2VpbiBCdXMuCkljaCBzZWxiZXIgYmluIG5pY2h0IHVuYmVkaW5ndCBidXNhYmhhZW5naWcsIGljaCB3b2huZSBqYSBpbnp3aXNjaGVuIHNjaG9uCmZhc3QgaW4gZGVyIENTU1IuClZpZWxsZWljaHQgc29sbHRlbiBkYSBkb2NoIG5vY2ggZWluIHBhYXIgTGV1dGUgc2ljaCBtYWwgbWVsZGVuIC0gZXJzdCBhYiAzMApvZGVyIHNvIHRhdWd0IGRlciBQbGFuIHVlYmVyaGF1cHQuCgotTW9udGFudXMuIEV0d2FzIGFuZ2VzYWV1ZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbm9jaG1hbCBCdXMgKE1vbnRhbnVzLCAxNS4gRmViIDIwMDAsIDIxOjI2OjI2KToKCkpldHp0IG1hbCBkZW4gVWViZXJibGljaywgbmFjaCBEdXJjaGZvcnN0ZW4gZGVzIFBhcnR5YnJldHRzOgoKOCBMZXV0ZSB3dWVyZGVuIGJlaXNoZXIgZ2VybmUgZGVuIFBhcnR5YnVzIG51dHplbiwgdW5kIHp3YXI6CgphdXMgQmVybGluOiBTdWJsaW1lCmF1cyBLYWlzZXJzbGF1dGVybjogU3Ryb2hhbG0KYXVzIEthcnNscnVoZTogUGFtcGVycwphdXMgTXVlbnN0ZXI6IEZvb2JhcgphdXMgS29lbG4vQm9ubjogcGFkcmVpYywgTGlhcmEsIFN1Z2FhbgphdXMgTnVlcm5iZXJnOiBNb250YW51cwoKV2VyIG5vY2g/IExhc3QgY2FsbCEgKHVuZCB2ZXJzdWNoIG1hbCBqZW1hbmQsIGRpZXNlIDggTGV1dGUgYXVmIGVpbmUgZ2VzY2hlaXRlClJvdXRlIHp1IGJyaW5nZW4uLi4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2htYWwgQnVzIChMZWlibml6LCAxNS4gRmViIDIwMDAsIDIyOjQxOjQ0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk1MDY0NjM4NiByZz1wYXJ0eQp+IyEgdGlkPTk1MDY0NjM4NgppY2ggd3VlcmRlIGF1Y2ggbWl0IGRlbSBidXMga29tbWVuLgphYiBzdHV0dGdhcnQgdm9uIG1pciBhdXMgYXVjaCBhYiBrYXJsc3J1aGUKCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG5vY2htYWwgQnVzIChSb2FkcnVubmVyLCAxNi4gRmViIDIwMDAsIDA3OjQ1OjM5KToKfiMhIHJuPUxlaWJuaXogcnQ9OTUwNjUwOTA0IHJnPXBhcnR5Cn4jISB0aWQ9OTUwNjQ2Mzg2CnRqYSAtIHdlbm4gd2lyIHNjaG9ubWFsIGJlaSBzdHV0dGdhcnQgc2luZCAtIGljaCBzZWhlIGRhcyBwcm9ibGVtIGFiZXIKd2lya2xpY2ggaW4gZGVyIGV0d2Egc3Rlcm5mb2VybWlnZW4gYXJ0IGFuenVyZWlzZW4gLSB3aWUgc29sbCBtYW4gZGEgZ2VudWVnZW5kCmxldXRlIGRhenUgYnJpbmdlbiBkZW4gZ3Jvc3N0ZWlsIGRlciBzdHJlY2tlIG1pdCBkZW0gQnVzIHp1cnVlY2t6dWxlZ2VuIC0gYXVzc2VyZGVtIC0gZXMKZGF1ZXJ0IGV3aWcgd2VubiBkZXIgYnVzIGplZGVzIG5lc3QgZXh0cmEgYW5mYWhyZW4gbXVzcy4KUlIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG5vY2htYWwgQnVzIChIb2JvLCAxNi4gRmViIDIwMDAsIDA5OjM1OjQ5KToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9OTUwNjgzNTM5IHJnPXBhcnR5Cn4jISB0aWQ9OTUwNjQ2Mzg2CkVpbmUgQWx0ZXJuYXRpdmUgd2FlcmUgei5CLiwgZGFzIGF1ZiBLbGVpbmJ1c3NlIHp1IHZlcnRlaWxlbiAoOCBQZXJzb25lbiBvZGVyCnNvKS4gQWxsZXJkaW5ncyBoYWInIGljaCBrZWluZSBBaG51bmcsIG9iIHNpY2ggZGFzIChmaW5hbnppZWxsKSBsb2hudC4KCiAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm9jaG1hbCBUYXNzZSAoSG9ibywgMTYuIEZlYiAyMDAwLCAwOTozOTozMSk6Ck9id29obCBNZXNpKiBkaWUgZ2FuemUgVGFzc2VuZ2VzY2hpY2h0ZSBqZXR6dCBvcmdhbmlzaWVydCwgbWVsZCcgaWNoIG1pY2ggZG9jaApub2NoIG1hbC4gSWNoIGhhYicgamV0enQgZWluIEFuZ2Vib3QgZnVlciBwZXJzb25hbGlzaWVydGUgVGhlcm1vdGFzc2VuCmJla29tbWVuLiBQcmVpcyBhYiAzMCBTdHVlY2s6IDI3RE0vVGFzc2UuIApTb3ZpZWwgd2lsbCBuaWNodCBtYWwgaWNoIGF1c2dlYmVuIDopCgpBYmVyIGZhbGxzIGplbWFuZCBCZWRhcmYgaGF0OiB3d3cubWVnYXByaW50LmRlCgogIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5vY2htYWwgQnVzIChQYXJkYXV6LCAxNi4gRmViIDIwMDAsIDEyOjIzOjQyKToKfiMhIHJuPUhvYm8gcnQ9OTUwNjkwMTQ5IHJnPXBhcnR5Cn4jISB0aWQ9OTUwNjQ2Mzg2Cldlbm4gbWFuIG51ciBkaWUgU3ByaXRrb3N0ZW4gcHJvIFBlcnNvbiByZWNobmV0IGxvaG50IGVzIG5pY2h0LCAKcmVjaG5ldCBtYW4gYWxsZXJkaW5ncyBldHdhcyByZWFsaXN0aXNjaGVyIGlzIHNvIG5lbiA5LVBlcnMuLUJ1cwpkdXJjaGF1cyByZWl6dm9sbCwgZ2VuYXVlIFByZWlzZSBrZW5uIGljaCBsZWlkZXIgbmljaHQuCgpQYXJkYXV6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBub2NobWFsIEJ1cyAoUGFyZGF1eiwgMTYuIEZlYiAyMDAwLCAxMzozNjo0MCk6Cn4jISBybj1EZWVwYmx1ZSBydD05NTA3MDMyMjAgcmc9cGFydHkKfiMhIHRpZD05NTA2NDYzODYKSWNoIGhhYiBub2NobWEgcmVjaGVyY2hpZXJ0OiB3b2NoZW5lbmRhbmdlYm90IGJlaSBldXJvcGNhcgpmdWVyIG5lbiBWVyBDYXJhdmVsbGUgKDkgU2l0emVyKSBpbmNsLiBhbGxlciBLaWxvbWV0ZXIsIApWb2xsa2Fza28sIEluc2Fzc2VuLVVuZmFsbHZlcnNpY2hlcnVuZywgLi4uIDM5OSwtIERNCnZvbiBGcmVpdGFnIDEyIFVociBiaXMgTW9udGFnIDkgVWhyLgpkYXp1IGtvbW10IG51cm5vY2ggZGVyIFNwcml0IChEaWVzZWwgc2NoYWV0eiBpY2gpCgpHcnVzcwogICBQYXJkYXV6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbm9jaG1hbCBCdXMgKEhpZ2h0LCAxNi4gRmViIDIwMDAsIDE2OjA5OjM2KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk1MDY0NjM4NiByZz1wYXJ0eQp+IyEgdGlkPTk1MDY0NjM4NgpobSBqbyB3YWVociBiZXN0aW1tdCBuZSBuZXR0ZSBzYWNoZSAuLi4gc2NocmVpYiBtaWNoIGhpbnRlciBtb250YW51cyAsbykKIApIaWdodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2FtbWVsdGFzc2VuYmlsZCByb2NodXMvZ3VhcmQgaHR0cDovL2Vtdy5pbmYudHUtZHJlc2Rlbi5kZS9+bWgxNC90Zi90YXNzZWh5ZC5qcGcgKE1lc2lyaWksIDE2LiBGZWIgMjAwMCwgMTY6Mzc6NTApOgpNZXNpLCBrb3JyaWdpZXJlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJ1cyAoVGVkZHksIDE2LiBGZWIgMjAwMCwgMTg6MTU6MjkpOgp+IyEgcm49TW9udGFudXMgcnQ9OTUwNjQ2MDc0IHJnPXBhcnR5Cn4jISB0aWQ9OTUwNjQ2MDc0Ck1lbGQuCgpUZWRkeSwgZnVlciBQYXJ0eWJ1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlidXMgKExhcmlzc2EsIDE2LiBGZWIgMjAwMCwgMTk6MTY6MzgpOgp+IyEgcm49VGVkZHkgcnQ9OTUwNzIxMzI5IHJnPXBhcnR5Cn4jISB0aWQ9OTUwNjQ2MDc0CkhtLAppY2ggd3Vzc3RlIGphIG5pY2h0LCBkYXNzIG1hbiBzaWNoIG1lbGRlbiBtdXNzLAphbHNvIGRhbm4gd3VlcmRlIGljaCBtYWwgbWljaCB1bmQgSm9mIGZ1ZXIgZGVuIEJ1cyBtZWxkZW4uCkFiIE11ZW5zdGVyLgoKTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJ1cyAoQWxjaW5hLCAxNi4gRmViIDIwMDAsIDIwOjQ4OjM5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk1MDY0NjA3NCByZz1wYXJ0eQp+IyEgdGlkPTk1MDY0NjA3NApIaWhvLAoKaWNoIHd1ZXJkIGF1Y2ggZ2VybiBCdXMgZmFocmVuIC0gZGllIEJhaG4gaXN0IHNlaHIgdGV1ZXIsIHRyb3R6IEJhaG5jYXJkLgoKQWxjaW5hIC0gd29obnQgZGFubiBuaWNodCBtZWhyIGluIEhhbGxlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlidXMgKE1vbnRhbnVzLCAxNi4gRmViIDIwMDAsIDIyOjM2OjI5KToKfiMhIHJuPUFsY2luYSBydD05NTA3MzA1MTkgcmc9cGFydHkKfiMhIHRpZD05NTA2NDYwNzQKCk9rZWUsIG5hZWdlbCBtaXQgS29lcGZlbjoKCndlbGNoZXIgTWFnaWVyIHN0ZWxsdCBlaW4gQnVzLUFubWVsZGUtVGVybWluYWwgbmViZW4gZGllIFBhcnR5YnJldHRlciwgd28gbWFuCnNpY2ggZWludHJhZ2VuIGthbm4/ClZhcmlhYmxlbiB6dW0gRWluZ2ViZW4gc29sbHRlbiBzZWluOgpOYW1lIHVuZCBBYmZhaHJ0c29ydC4KQnp3IGVzIHdhZXJlIGdhbnogZ3V0LCB3ZW5uIGRlciBBYmZhaHJ0c29ydCByZWdpb25hbGlzaWVydCB3dWVyZGUsIGFsc28KIk11ZW5zdGVybGFuZCIsICJSdWhycG90dCIsICJLb2Vsbi9Cb25uL0R1ZXNzZWxkcm9mIiwgIlJoZWluLU1haW4iLAoiS2FybHNydWhlIiAoZGEgbXVlc3NlbiB3aXIgdm9yYmVpLCBoYWJlIGljaCBhdXMgZ29ldHRlcm5haGVuIEtyZWlzZW4gZ2Vob2VydCwKIkZyYW5rZW4iCgpBbHNvIGxvcy4gOi0pIERpZSBaZWl0IHdpcmQga25hcHAKCi1Nb250YW51cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YnVzIChQYW1wZXJzLCAxNi4gRmViIDIwMDAsIDIyOjM3OjIxKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk1MDczNjk4OSByZz1wYXJ0eQp+IyEgdGlkPTk1MDY0NjA3NApJY2ggd2lsbCBhYmVyIHZvbiBTdHV0dGdhcnQgYXVzISA6LSkKClBhbXBlcnMuIEZhZWhydCBkb2NoIG5pY2ggZXJzdCBuYWNoIEtBLCB1bSBkYW5uIHdpZWRlciBkdXJjaCBTCmR1cmNoenVrb21tZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5YnVzIChNb250YW51cywgMTYuIEZlYiAyMDAwLCAyMjozNzo1Myk6Cn4jISBybj1QYW1wZXJzIHJ0PTk1MDczNzA0MSByZz1wYXJ0eQp+IyEgdGlkPTk1MDY0NjA3NAoKRGFubiBzY2hyZWliIGhhbHQgYXVjaCBub2NoIFN0dXR0Z2FydCBkcmF1Zi4gT2RlciBTY2h3YWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5YnVzIChIb2JvLCAxNy4gRmViIDIwMDAsIDA4OjUzOjE3KToKfiMhIHJuPVBhbXBlcnMgcnQ9OTUwNzM3MDQxIHJnPXBhcnR5Cn4jISB0aWQ9OTUwNjQ2MDc0ClZvbiB3ZWdlbiwgUGFtcGVycywKRHUga29tbXN0IG5hdHVlcmxpY2ggbmFjaCBLYXJsc3J1aGUuIEFtIGJlc3RlbiBhbSBEb25uZXJzdGFnIHNjaG9uLCBkYW5uIGhhYmVuCndpciBub2NoIGVpbiBiaXNzY2hlbiBTcGFzcywgYmV2b3IgZGllIGRvb2ZlIFBhcnR5IGxvc2dlaHQuCgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2FtbWVsdGFzc2VuYmlsZCByb2NodXMvZ3VhcmQgaHR0cDovL2Vtdy5pbmYudHUtZHJlc2Rlbi5kZS9+bWgxNC90Zi90YXNzZWh5ZC5qcGcgKFJhcmRpYW4sIDE3LiBGZWIgMjAwMCwgMDk6NDE6MTUpOgp+IyEgcm49TWVzaXJpaSBydD05NTA3MTU0NzAgcmc9cGFydHkKfiMhIHRpZD05NTA3MTU0NzAKVG9sbCEgSWNoIHNlaCBnYXIga2VpbmUgRmVsaW5lbiAvIEthdHplbmtyaWVnZXIgb2RlciBzb2xsIGRlciBLbmlsY2ggdm9ybmUsCm1pdCBkZXIgRmV1ZXJrdWdlbCB2aWVsbGVpY2h0IGVpbmUocikgc2Vpbj8/CgpSYXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzYW1tZWx0YXNzZW5iaWxkIHJvY2h1cy9ndWFyZCBodHRwOi8vZW13LmluZi50dS1kcmVzZGVuLmRlL35taDE0L3RmL3Rhc3NlaHlkLmpwZyAoQW5hdG9sLCAxNy4gRmViIDIwMDAsIDEwOjM4OjU1KToKfiMhIHJuPVJhcmRpYW4gcnQ9OTUwNzc2ODc1IHJnPXBhcnR5Cn4jISB0aWQ9OTUwNzE1NDcwCldpZXNvIHNvbGx0ZSBpbSBLYW1wZiBtaXQgZGVyIEh5ZHJhIGVpbiBGZWxpbmUgenUgc2VoZW4gc2Vpbj8gOm8pCgpTQ05SIDopCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNhbW1lbHRhc3NlbmJpbGQgcm9jaHVzL2d1YXJkIGh0dHA6Ly9lbXcuaW5mLnR1LWRyZXNkZW4uZGUvfm1oMTQvdGYvdGFzc2VoeWQuanBnIChHdWFyZCwgMTcuIEZlYiAyMDAwLCAxMTowNDowMSk6Cn4jISBybj1SYXJkaWFuIHJ0PTk1MDc3Njg3NSByZz1wYXJ0eQp+IyEgdGlkPTk1MDcxNTQ3MApUc2NodWRsaWdlLCBSYXJkaWFuLCBhYmVyIHdlbm4gaWNoIGFsbGUgS29tYmluYXRpb25lbiB2b24gUmFzc2VuIHVuZCBHaWxkZW4KdW50ZXJrcmllZ2VuIGhhZXR0ZSB3b2xsZW4sIHdhZXIgdm9uIGRlciBIeWRyYSBuaXggbWVociB6dSBzZWhlbiA6LSkgTmltbXMKbmljaCBwZXJzb2VubGljaCwgaWNoIGhhYiBhdWNoIGtlaW5lIEJpZXJzY2h1ZXR0bGVyLUhvYmJpdHMgcmVpbmdlbWFsdCwgYWxzbwpoYWIgaWNoIG1pY2ggc2VsYmVyIGF1Y2ggbmljaCB2ZXJld2lndCA7LSkKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNhbW1lbHRhc3NlbmJpbGQgcm9jaHVzL2d1YXJkIGh0dHA6Ly9lbXcuaW5mLnR1LWRyZXNkZW4uZGUvfm1oMTQvdGYvdGFzc2VoeWQuanBnIChHdWFyZCwgMTcuIEZlYiAyMDAwLCAxMTowNjo0Myk6Cn4jISBybj1SYXJkaWFuIHJ0PTk1MDc3Njg3NSByZz1wYXJ0eQp+IyEgdGlkPTk1MDcxNTQ3MAphY2ggamEgdW5kIGRlciBLbmlsY2ggbWl0IGRlciBGZXVlcmt1Z2VsIGlzIGVpbmUgQ2hhb3RpbiBtaXQgQ2hhb3NiYWxsIChpY2gKaG9mZmUsIGR1IG1laW50ZXN0IG5pY2h0IGRlbiBTcGl0emh1dCwgZGVyIGdhbnogb2ZmZW5zaWNodGxpY2gga2VpbiBGZWxpbmUgaXMKOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzYW1tZWx0YXNzZW5iaWxkIHJvY2h1cy9ndWFyZCBodHRwOi8vZW13LmluZi50dS1kcmVzZGVuLmRlL35taDE0L3RmL3Rhc3NlaHlkLmpwZyAoWmVwaHlyLCAxNy4gRmViIDIwMDAsIDE1OjIwOjAzKToKfiMhIHJuPUd1YXJkIHJ0PTk1MDc4MjAwMyByZz1wYXJ0eQp+IyEgdGlkPTk1MDcxNTQ3MApIdWNoPyBJY2ggaGF0dGUgZGEgYXVmIEFiZW50ZXVyZXItTWVuc2NoIG1pdCBGZXVlcmJhbGwgZ2V0aXBwdCA6KQpDNAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSHlkcmFiaWxkIChIb2JvLCAxNy4gRmViIDIwMDAsIDE1OjQyOjA0KToKRGEgZGllIE1HLVNjaHJpZnQgc28gc2Nob2VuIGJ1bnQgaXN0IGF1ZiBkZW0gVm9yc2NobGFnLCBoYWJlIGljaCBtaWNoIG1hbApkYXJhbiBnZW1hY2h0IHVuZCBkYXMgSHlkcmFiaWxkIGF1Y2ggYnVudCBnZW1hY2h0LgpadSBmaW5kZW4gdWJlaSBkZW4gdWVicmlnZW4gVm9yc2NobGFlZ2VuIGF1ZiBkZXIgV1dXLVNlaXRlLgoKIEhvYm8gLSBhbiBUaXBwZmVobGVybiBzaW5kIGRpZSBzY3JvbGxlbmRlbiBSYWdlLVNwaWVsZXIgc2NodWxkIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSHlkcmFiaWxkIChHdWFyZCwgMTcuIEZlYiAyMDAwLCAxNzowMjowOSk6Cn4jISBybj1Ib2JvIHJ0PTk1MDc5ODUyNCByZz1wYXJ0eQp+IyEgdGlkPTk1MDc5ODUyNApUb2xsZSBTYWNoZSEKSXN0IGphIGVpbmUgcmljaHRpZ2UgR2VtZWluc2NoYWZ0c3Byb2R1a3Rpb24gZ2V3b3JkZW4hIDotKQoKWmVwaHlyLCBoYXN0IGR1IG5pY2h0IGRhcyBQZW50YWdyYW1tIGF1ZiBkZXIgaW5uZW5zZWl0ZSBkZXMgVW1oYW5nZXMgZ2VzZWhlbj8KU293YXMgdHJhZWd0IGRvY2gga2VpbiBBYmVudGV1cmVyISA7LSkKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eWJ1cyAoUGFtcGVycywgMTcuIEZlYiAyMDAwLCAxNzo1OToxMSk6Cn4jISBybj1Ib2JvIHJ0PTk1MDc3Mzk5NyByZz1wYXJ0eQp+IyEgdGlkPTk1MDY0NjA3NApBYmdlbWFjaHQuCgpQYW1wZXJzLiBLdXJ6ZW50c2NobG9zc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQU1EIEJlc2ljaHRpZ3VuZyAoQW1kLCAxOC4gRmViIDIwMDAsIDEzOjA2OjI2KToKSGFsbG8sCmpldHp0IHdpcmQgZXMgZHJpbmdlbmQhCkRhIGRpZSBkYSByZWNodHplaXRpZyBuZSBMaXN0ZSBkZXIgTmFtZW4gZGVyIEJlc3VjaGVyIGJyYXVjaGUgKHNlY3VyaXR5KQpiaXR0ZSBhbGxlIGRpZSBnYXJhbnRpZXJ0IGFtIEZyZWl0YWcgbWl0a29tbWVuIG5vY2htYWwgbmUgTWFpbCBtaXQgUkxOYW1lbgphbiBtaWNoIHNjaGlja2VuLgoKQU1ECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBub2NobWFsIEJ1cyAoTWFuZ28sIDE4LiBGZWIgMjAwMCwgMjM6MDU6NTYpOgp+IyEgcm49UGFyZGF1eiBydD05NTA3MDQ2MDAgcmc9cGFydHkKfiMhIHRpZD05NTA2NDYzODYKCmFsc28sIGluIGRyZXNkZW4gaGFiIGljaCBkYWZ1ZXIgMjUwLC0gZG0gYmV6YWhsdAoKbWFuZ28sIGJpbGxpZ2ZhaHJlciB1bmQgYmlsbGlnZmFocmVyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5YnVzIChNYW5nbywgMTguIEZlYiAyMDAwLCAyMzowODoxMik6Cn4jISBybj1Ib2JvIHJ0PTk1MDc3Mzk5NyByZz1wYXJ0eQp+IyEgdGlkPTk1MDY0NjA3NAoKd2llIGpldHp0PyBET09GPz8/CgptYW5nbywgdmVyd2lycnQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9ydHJhZyAoSG9vZCwgMjEuIEZlYiAyMDAwLCAwMzoxMDowMyk6CkRpZSBuYWVjaHN0ZSBQYXJ0eSBzdGVodCBqYSBudW4gYWxzYmFsZCB2b3IgZGVyIFR1ZXIgdW5kIGVzIHd1cmRlIGJlcmVpdHMKdm9uIE1lc2lyaWkgZGFyYXVmIHZlcndpZXNlbiwgZGFzcyBhdWNoIFplaXQgZnVlciBWb3J0cmFlZ2UgZWluZ2VwbGFudAp3dXJkZS4KTnVuIHNlaSBoaWVyIGRpZSBGcmFnZSBnZXN0ZWxsdCwgb2IgaWhyIGV1Y2ggd2lya2xpY2ggendlaWVpbmhhbGIgU3R1bmRlbgptaXQgdGYgenVxdWFzc2VsbiBsYXNzZW4gd29sbHQsIHVuZCBnbGF1YnQgbWlyOiBNZXNpcmlpIHNjaGFmZnQgZGFzLgpJY2ggcGVyc29lbmxpY2ggZmluZGUgZGFzIGphIGdhbnogdG9sbCwgd2FzIGVyIGRhIHp1IGVyemFlaGxlbiBoYXQsIGFiZXIKZXZ0bC4gZXhpc3RpZXJlbiBkYW5uIGRvY2ggbm9jaCBhbmRlcndlaXRpZ2UgSW50ZXJlc3NlbiwgdW5kIHNvIGtvZW5udGV0CmlociBkdXJjaGF1cyBkaWUgR2VsZWdlbmhlaXQgd2Focm5laG1lbiwgbmFjaCBXdW5zY2h0aGVtZW4genUgc2NocmVpZW4gb2RlcgpnYXIgc2VsYnN0IGVpbmVuIFZvcnRyYWcgYW56dWJpZXRlbi4KQmVpIFd1bnNjaHRoZW1lbiBtdXNzIHdvaGwgaWNoIHp1ciBUYXQgc2NocmVpdGVuLCBkZXNoYWxiIHdhZXJlIGRhIGVpbmUKYWxzYmFsZGlnZSBSdWVja21lbGR1bmcgd3VlbnNjaGVuc3dlcnQuIE9iIGljaCBBbHRlcm5hdGl2dm9ydHJhZWdlIGFsYQpMdWcgYW5iaWV0ZW4ga2Fubiwgd2Vpc3MgaWNoIG5pY2h0LCBkYSBoaWVyenUgYXVjaCBlbnRzcHJlY2hlbmRlIExldXRlCmRhc2VpbiBtdWVzc3Rlbi4gSWNoIGdsYXViZSwgTWF0aGVtYXRpayB3YWVyZSBkYW5uIGRvY2ggenUgTVVELWZlcm4uLi4gOikKQWxzbyB3ZXIgZ2xhdWJ0LCBldHdhcyBpbnRlcmVzc2FudGVzIHVlYmVyIEdlc2NoaWNodGUgb2RlciBSZWxpZ2lvbiB6dQp3aXNzZW4sIHdhcyBlciBzcHJhY2hsaWNoIGd1dCBydWViZXJicmluZ2VuIGthbm4sIG51ciB6dS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9ydHJhZyAoRGVlcGJsdWUsIDIxLiBGZWIgMjAwMCwgMDk6MjE6MDMpOgp+IyEgcm49SG9vZCBydD05NTEwOTkwMDMgcmc9cGFydHkKfiMhIHRpZD05NTEwOTkwMDMKTmVpbiwgaWNoIHdpbGwga2VpbmVuIFZvcnRyYWcgaGFsdGVuLCBhbGxlcmRpZ3MgTWVzaXJpaSBiaXR0ZW4sIHNlaW5lbiBTdG9mZgpldHdhcyB6dXNhbW1lbnp1ZmFzc2VuIHVuZCBhbHMgaHRtbCBvZGVyIHNvbnN0d2FzIHp1ciBWZXJmdWVndW5nIHp1IHN0ZWxsZW4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvcnRyYWcgKEhvdXNlaG9sZGVyLCAyMS4gRmViIDIwMDAsIDIwOjIyOjMyKToKfiMhIHJuPUhvb2QgcnQ9OTUxMDk5MDAzIHJnPXBhcnR5Cn4jISB0aWQ9OTUxMDk5MDAzCjIgc3R1bmRlbiB0ZiBzaW5kIHZvZWxsaWNoIG9rIGZpbmQgaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdXMgYXVzIE11ZW5zdGVyIChMYXJpc3NhLCAyMS4gRmViIDIwMDAsIDIxOjEyOjM3KToKSGkhCgpJY2ggd2VyZGUgZGVuIEVpbmRydWNrIG5pY2h0IGxvcywgZGFzcyBkYXMgbWl0IGRlbSBCdXMgbml4IHdpcmQuCldpZSB3YWVyZSBlcyBkZW5uLCB3ZW5uIHNpY2ggd2VuaWdzdGVucyBkaWUgTXVlbnN0ZXJhbmVyIHp1c2FtbWVuIHR1bgp3dWVyZGUgdW5kIG5lbiBNaW5pYnVzIG1pZXRlbj8gQWIgd2lldmllbCBQZXJzb25lbiBicmF1Y2h0IG1hbgpuZW4gUGVyc29uZW5iZWZvZXJkZXJ1bmdzLVNjaGVpbj8gTHVzdGlnIHdhZXJzIGFsbGVtYWwsCkFiZmFocnQgYW0gYmVzdGVuIEZyZWl0YWcgTmFjaG1pdHRhZy4uLgoKTGFyaSwKCmhhdHRlIEZyZWl0YWcgZWluICdOZXVlLVJlY2h0c2NocmVpYnVuZy1TZW1pbmFyJyAqd2lycioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdXMgYXVzIE11ZW5zdGVyIChUaWFtYWssIDIxLiBGZWIgMjAwMCwgMjE6Mzg6NTQpOgp+IyEgcm49TGFyaXNzYSBydD05NTExNjM5NTcgcmc9cGFydHkKfiMhIHRpZD05NTExNjM5NTcKT2huZSBQZXJzb25lbmJlZm9lcmRlcnVuZ3NzY2hlaW4gZGFyZiBkZXIgRmFocmVyIHNpY2ggc2VsYnN0IHp1enVlZ2xpY2ggYWNodApQZXJzb25lbiBiZWZvZXJkZXJuLgoKWnVtaW5kZXN0IHdhciBkYXMgbWl0IGRlbiAiYWx0ZW4iIEZ1ZWhyZXJzY2hlaW5lbiBzby4gCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnVzIGF1cyBNdWVuc3RlciAoTGlhcmEsIDIyLiBGZWIgMjAwMCwgMDA6MjE6MDApOgp+IyEgcm49VGlhbWFrIHJ0PTk1MTE2NTUzNCByZz1wYXJ0eQp+IyEgdGlkPTk1MTE2Mzk1NwpBdXMgS29lbG4vQm9ubiBkYW5uIHdvaGwgYXVjaCBrZWluIEJ1KGUpcyhzY2hlbik/CgpXaXJkIGRhbm4gd29obCBkaWUgZXJzdGUgUGFydHksIGJlaSBkZXIgaWNoIG1laW5lIEFubWVsZHVuZyB6dXJ1ZWNrbmVobWVuCm11c3MuICpzY2hudWVmZioKCkxpYXJhLCBad2VyZ2VuemF1YmVyaW5lIG1pdCBEQi1IYXNzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYXNzZSwgZGllIGxldHp0ZSAoTWVzaXJpaSwgMjIuIEZlYiAyMDAwLCAxNjoyMzowMyk6CkhhbGxvLApkYSBzaWNoIGJpcyB6dW0gaGV1dGlnZW4gWmVpdHB1bmt0IG51ciAzMyBvZGVyIHNvIExldXRlIGZ1ZXIgZGllIFNhbW1lbHRhc3NlCmFuZ2VtZWxkZXQgaGFiZW4sIGZvbGdlbmRlIEluZm9zOgpCaXMgRG9ubmVyc3RhZyBmcnVlaCBpc3QgZGVyIGxldHp0ZSBUZXJtaW4gZnVlciBkaWUgQW5tZWxkdW5nIQpEYW5hY2ggZXJoYWx0ZW4gZW50d2VkZXIgYWxsZSB6dXIgUGFydHkgQW5nZW1lbGRldGVuIGVpbmUgcGVyc29uYWxpc2llcnRlClRhc3NlIG1pdCBLYXVmendhbmcsIG9kZXIgd2lyIG11ZXNzZW4gZGllIGZ1ZXIgZGVuIE1lbmdlbnJhYmF0dCBub3R3ZW5kaWdlCk1lbmdlIG1pdCBhbm9ueW1lbiBUYXNzZW4gYXVmZnVlbGxlbi4KTW90aXYgaXN0IHdpZSBzY2hvbiBnZXNhZ3QgUm9jaHVzICYgR3VhcmQgYXVzc2VyIGZ1ZXIgSG9ibywgZGEgc2ljaCBrZWluZXIgd2FzCmFuZGVyZXMgZ2V3dWVuc2NodCBoYXQuCkRpZSBOYW1lbiBlcnNjaGVpbmVuIChhdWNoIGJlaSBkZW4gWndhbmdzdGFzc2VuKSBtaXQgZGVtIGFrdHVlbGxlbiBUaXRlbCBzaWVoZQpuYWNoZm9sZ2VuZGVyIExpc3RlLgpNZXNpLCBpbiBWZXJ0cmV0dW5nIHZvbiBTYW1tZWx0YXNzZQotLSBCZWVsemVidWI6CmFuejogMQpuYW1lOiBCZWVsemVidWIKdGl0ZWw6IF06LSkgICAgKCBUaGUgbXVkZGVyIGZvcm1lcmx5IGtub3duIGFzIEJlZWx6ZWJ1YiApIGlzdCB2b2xsIGV2aWwKLS0gUGFkcmVpYzoKYW56OiAxCm5hbWU6IFBhZHJlaWMKdGl0ZWw6IEZsYXR0eSBQYWRyZWljCi0tIFZhbmlvbjoKYW56OiAxCm5hbWU6IFZhbmlvbgp0aXRlbDogW1RlYW06RVMgTEVCVF0gQ2hhb3NzY2hhdHRlbiBEci4gVmFuaW9uIEZyYW5rZW5zdGVpbgotLSBHb2xhczoKYW56OiAxCm5hbWU6IEdvbGFzCnRpdGVsOiBbVGVhbTpQT0RJLCB0aGUgU2hhdmVkXSBUYWthbCdNb3IgR29sYXMgZGVyIEJsdWVzIEJyb3RoZXIKLS0gWm9vazoKYW56OiAxCm5hbWU6IFpvb2sKdGl0ZWw6IFtUZWFtOkFid2VydHVuZ3NtYWdpZXJdIERyLiBab29rIGlzdCBsaWViIHVuZCBuZXR0Ci0tIEthcmlzOgphbno6IDEKbmFtZTogS2FyaXMKbWl0bmFobWU6IFd1cnplbCwgTXVlbmNobmVyCnRpdGVsOiBLYXJpcyB0cmFldW10IHZvciBzaWNoIGhpbgotLSBUZWRkeToKYW56OiAxCm5hbWU6IFRlZGR5CnRpdGVsOiBUZWRkeSBpc3QgYm9lc2FydGlnIHVuZCBnZW1laW4uCi0tIEthcnRvZmZlbDoKYW56OiAxCm5hbWU6IEthcnRvZmZlbAp0aXRlbDogRmFzdCB3YWVyc3QgRHUgYXVmIGVpbmUgS2FydG9mZmVsIGdldHJldGVuCi0tIEZldWVyd2VocjoKYW56OiAxCm5hbWU6IEZldWVyd2VocgptaXRuYWhtZTogUGFkcmVpYwp0aXRlbDogRmV1ZXJ3ZWhyCi0tIExlaWJuaXo6CmFuejogMwpuYW1lOiBMZWlibml6CnRpdGVsOiBMZWlibml6IHNhZ3Q6ICJFcyBnaWJ0IGFsbGVzIC0gYXVzc2VyIEthZW5ndXJ1aCIKLS0gU3RvcGRlbmJ1czoKYW56OiAxCm5hbWU6IFN0b3BkZW5idXMKdGl0ZWw6IFN0b3BkZW5idXMgZGVyIGFuZ2VoZW5kZSBLYXR6ZW5rcmllZ2VyCi0tIENha2V5Ogphbno6IDEKbmFtZTogQ2FrZXkKdGl0ZWw6IFtUZWFtOiBNYWV4Y2hlbl0gU3VmZmtvcHAgQ2FrZXkgd2FybnQ6IFJ1ZGVsbiBnZWZhZWhyZGV0IElocmUKR2VzdW5kaGVpdCEKLS0gS2FkYWJyYToKYW56OiAxCm5hbWU6IEthZGFicmEKbWl0bmFobWU6IEthcnRvZmZlbAp0aXRlbDogTGl0dGxlIHNpc3RlciBLYWRhYnJhIHNhZ3QgZHUgQklTVCBhbGxlaW4gLi4uIHVuZCB3aWUKLS0gVGlnZXJhdWdlOgphbno6IDEKbmFtZTogVGlnZXJhdWdlCm1pdG5haG1lOiBLYXJ0b2ZmZWwKdGl0ZWw6IFRpZ2VyYXVnZSBkZXIgRGFlbW9uZW4tQmVzY2h3b2VyZXIKLS0gTXVhZGliOgphbno6IDEKbmFtZTogTXVhZGliCnRpdGVsOiBFbCBNdWFkaWIgeml0dGVydCB2b3IgVmluY2VudHMgU2NoYWZmZW5zZHJhbmcKLS0gQXJrOgphbno6IDEKbmFtZTogQXJrCm1pdG5haG1lOiBUcnlmYW4sIFplcGh5cgp0aXRlbDogUmFpZGVycyBvZiB0aGUgbG9zdCBBcmsKLS0gSG9ibzoKYW56OiAxCm5hbWU6IEhvYm8KdGl0ZWw6IEhleGNoZW4gSG9ibyBmbGllZ3QgZHVyY2ggZGllIE5hY2h0Ci0tIEdhc3QxOgphbno6IDEKbmFtZTogR2FzdDEKbWl0bmFobWU6IEhvYm8KdGl0ZWw6IEdhc3QxIGRlciBob2ZmbnVuZ3N2b2xsZSBBbmZhZW5nZXIKLS0gR2FzdDI6CmFuejogMQpuYW1lOiBHYXN0MgptaXRuYWhtZTogSG9ibwp0aXRlbDogR2FzdDIgZGVyIGhvZmZudW5nc3ZvbGxlIEFuZmFlbmdlcgotLSBHYXN0MzoKYW56OiAxCm5hbWU6IEdhc3QzCm1pdG5haG1lOiBIb2JvCnRpdGVsOiBHYXN0MiBkZXIgaG9mZm51bmdzdm9sbGUgQW5mYWVuZ2VyCi0tIFNwZWxsZmlyZToKYW56OiAxCm5hbWU6IFNwZWxsZmlyZQp0aXRlbDogW0JhY2NodXNqdWVuZ2VyXSBTcGVsbGZpcmUgYml0dGV0IHVtIGVpbiBCaXQKLS0gTXlzdGVyaW91czoKYW56OiAxCm5hbWU6IE15c3RlcmlvdXMKdGl0ZWw6IFtUZWFtOiBOQUhdIG1Zc3RFUmlPdXMgcmV0dGV0IGRpZSBtaWxpdGFudGVuIEJodWRkYXoKLS0gR25vbWU6CmFuejogMQpuYW1lOiBHbm9tZQp0aXRlbDogRGVyIGtsZWVuZSBHbm9tZSBzaW5ndDogSSBoYXRlIHlvdSBzbyBtdWNoIHJpZ2h0IG5vdy4uCi0tIFphcGhvYjoKYW56OiAxCm5hbWU6IFphcGhvYgp0aXRlbDogWmFwaG9iIGJlc2l0enQgZGVuIGRhZW1vbmlzY2hlbiBGbHVjaG9yZGVuIGVyc3RlciBLbGFzc2UgKHNhZ3QgQm9pbmcpCi0tIFN0aW5nOgphbno6IDEKbmFtZTogU3RpbmcKdGl0ZWw6IFN0aW5nCi0tIEFyYW5jaWE6CmFuejogMQpuYW1lOiBBcmFuY2lhCnRpdGVsOiBBcmFuY2lhCi0tIFN0cm9oYWxtOgphbno6IDEKbmFtZTogU3Ryb2hhbG0KdGl0ZWw6IFtUZWFtOlRlbGVrb21dIEdhZW5zZWJsdWVtY2hlbmV4cGVydGUgU3Ryb2hhbG0genVlY2h0ZXQgc2VpbmUKR2FlbnNlYmx1ZW1jaGVuIHdpZWRlciBpbSBNRwotLSBDYXR3ZWF6bGU6CmFuejogMQpuYW1lOiBDYXR3ZWF6bGUKdGl0ZWw6IENhdHdlYXpsZSBpc3QgaW1tZXIgbGllYiB1bmQgbmV0dAotLSBSYXJkaWFuOgphbno6IDEKbmFtZTogUmFyZGlhbgp0aXRlbDogS3VzY2hlbGthdGVyIFJhcmRpYW4gaXN0IHNvd2FzIHZvbiBHcnVlbgotLSBDYXNzYW5kcmE6CmFuejogMQpuYW1lOiBDYXNzYW5kcmEKdGl0ZWw6IENhc3NhbmRyYSBkaWUgS2FyYXRlLUthZW1wZmVyaW4sIDIuIEt5dQotLSBGaXJlaGF3azoKYW56OiAxCm5hbWU6IEZpcmVoYXdrCnRpdGVsOiBbVGVhbTpJbGx1bWluYXRpXSBEZXIgU2NoYXR0ZW4gdm9uIEZpcmVoYXdrIHNwaWVsdCBuYWNoIGVpZ2VuZW4gUmVnZWxuCi0tIE1hdGlzOgphbno6IDEKbmFtZTogTWF0aXMKdGl0ZWw6IEdhcnRlbnp3ZXJnIE1hdGlzCi0tIENhc3Rhd2F5Ogphbno6IDEKbmFtZTogQ2FzdGF3YXkKdGl0ZWw6IENhc3Rhd2F5IGxpZWJ0IERpY2guCi0tIEl2bzoKYW56OiAyCm5hbWU6IEl2bwp0aXRlbDogSXZvIHNhZ3Q6IEFjaCBJd28KLS0gS2hvcmFrOgphbno6IDEKbmFtZTogS2hvcmFrCnRpdGVsOiBFcmRiZWJlbm1hY2hlciBLaG9yYWsKLS0gUGF0cnluOgphbno6IDEKbmFtZTogUGF0cnluCnRpdGVsOiBaYXViZXJtYXVzIFBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQU1EIEFubWVsZHVuZyAoTWVzaXJpaSwgMjIuIEZlYiAyMDAwLCAxNjo0MDozMyk6CnNvIGljaCBzY2hyZWliZSBBTUQgZGllIGZvbGdlbmRlbiBOYW1lbiAob2huZSA/KQptYWwgYXVmIGRpZSBMaXN0ZQpGbHVycgpSYXNwdXRpbgpTdG9wZGVuYnVzClJvYWRydW5uZXIKTWFuZ28KSG9vZApCcmFuZGlyCk15c3RlcmlvdXMKU25pcGVyCkJ1ZGRoYQpWYXJkaW9uCkZhZ2d1ClBhZHJlaWM/ClN0cm9oYWxtPwpUZWRkeT8KTWVzaXJpaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCdXMgYXVzIE11ZW5zdGVyIChTdWJsaW1lLCAyMi4gRmViIDIwMDAsIDIxOjE1OjAzKToKfiMhIHJuPVRpYW1hayBydD05NTExNjU1MzQgcmc9cGFydHkKfiMhIHRpZD05NTExNjM5NTcKVW5kIG5hY2ggZGVtIE5ldWVuIGdpbHQgZGFzIG1pdCBkZW4gOCBQZXJzb25lbiBhdWNoIG5vY2guCgpTdWJsLCAwIEZlaGxlciBpbiBkZXIgVGhlb3JpZSBnZWhhYnQgdW5kIEZyZWl0YWcgc2VpbmUKcHJha3Rpc2NoZSBGYWhycHJ1ZWZ1bmcgbWFjaGVuZC4gRHJ1ZWNrdCBtaXIgZGllIERhdW1lbiAhIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCdXMgYXVzIE11ZW5zdGVyIChSYXJkaWFuLCAyMi4gRmViIDIwMDAsIDIyOjAxOjQzKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTUxMjUwNTAzIHJnPXBhcnR5Cn4jISB0aWQ9OTUxMTYzOTU3Cldhcz8gRHUgbWFjaHN0IERlaW5lIFBhcHBlIGpldHp0IGVyc3Q/IEZ1ZXIgc29vb28ganVuZyBoYWV0dCBpY2ggRGljaCBnYXIKbmljaHQgZ2VoYWx0ZW4sIFN1YmJpIDopCgpSYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQU1EIEFubWVsZHVuZyAoS2FkYWJyYSwgMjIuIEZlYiAyMDAwLCAyMzo0OTo1MCk6Cn4jISBybj1NZXNpcmlpIHJ0PTk1MTIzNDAzMyByZz1wYXJ0eQp+IyEgdGlkPTk1MTIzNDAzMwpXbyBpc3QgbWVpbmUgVGFzc2UgPwpJY2ggaGFiIHNvd29obCBhbiBtZXNpcmlpIGFscyBhdWNoIGFuIFNhbW1lbHRhc3NlIGdlbWFpbHQsCmRhc3MgaWNoIG5lIFRhc3NlIHdpbGwgLi4uCkFsc28gbm9jaG1hIDogSUNIIFdJTEwgRUlORSEhISEhClVuZCB3ZW5ucyBnZWh0IGRhcmYgYXVjaCBydWhpZyBrYWRhYnJhIGdyYXR1bGllcnQgZHJhdWZzdGVoZW47KSkKa2FkYWJyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQnVzIGF1cyBNdWVuc3RlciAoQW5hdG9sLCAyMy4gRmViIDIwMDAsIDEyOjIzOjE1KToKfiMhIHJuPVJhcmRpYW4gcnQ9OTUxMjUzMzAzIHJnPXBhcnR5Cn4jISB0aWQ9OTUxMTYzOTU3Ck1pciBmYWVsbHQgZ2VyYWRlIGVpbiwgZGFzcyBkYSB6d2VpIE9zbmFicnVlY2tlciBhdWNoIG5vY2ggaXJnZW5kd2llCm5lIE1pdGZhaHJnZWxlZ2VuaGVpdCBzdWNoZW4uLi4gbmFjaCBNdWVuc3RlciB3dWVyZGVuIHdpciBlcyB3b2hsIG5vY2gKc2NoYWZmZW4gOykKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQU1EIEFubWVsZHVuZyAoQWxib2luLCAyMy4gRmViIDIwMDAsIDE1OjU2OjEzKToKfiMhIHJuPUthZGFicmEgcnQ9OTUxMjU5NzkwIHJnPXBhcnR5Cn4jISB0aWQ9OTUxMjM0MDMzCkhhbGxvIEthZGFicmEhCkxpZXMgbWFsIGdlbmF1ZXIsIGRlbm4gZGEgc3RlaHQgd2lya2xpY2ggZHJpbm5uLCBkYXMgS2FydG9mZmVsIERlaW5lbiBOYXBmCm1pdG5pbW10LgoKR3J1ZXNzZQpBbGJvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdXMgYXVzIE11ZW5zdGVyIChGb29iYXIsIDIzLiBGZWIgMjAwMCwgMTc6MTA6MDApOgp+IyEgcm49TGFyaXNzYSBydD05NTExNjM5NTcgcmc9cGFydHkKfiMhIHRpZD05NTExNjM5NTcKTW9pbi4KCkFsc28sIHNlbGJzdCBoaWVyIGluIE1TIGtvc3RldCBkZXIgS2xlaW5idXMgYmVpIEV1cm9wY2FyIChWVyBDYXJhdmVsbGUgby5hZS4pCjM5OSwtIGZ1ZXJzIFdFIGlua2wuIGFsbGVyIEtpbG9tZXRlci4KCkludGVyZXNzaWVydCB3YWVyZSBMYXJpc3NhLCBKb2YsIEJyYW5kaXIsIFJvY2h1cywgSmFtZXNvbiAod2VubiBpY2ggZGFzIGF1Zm0KU3RhVGkgcmljaHRpZyB2ZXJzdGFuZGVuIGhhYmUpLCBtZWluZSBXZW5pZ2tlaXQgdW5kIGx0LiBBbmF0b2xzIEFydGlrZWwgendlaQpPc25hYnJ1ZWNrZXIsIG1hY2h0IDggTGV1dGUgaW0gOS1TaXR6ZXIsIHdvbmFjaCBtTW4gZGFzIE1heGltdW0gYXVzZ2VzY2hvZXBmdAppc3QgKFBsYXR6IGZ1ZXIgR2VwYWVjaywgR2V0cmFlbmtlLCBCZXF1ZW1saWNoa2VpdCBub2NoIG1hbCBtaXQgZWluZ2VyZWNobmV0KS4KCldlbm4gd2lyIGRpZSBTYWNoZSBrbGFybWFjaGVuIGtvZW5udGVuLCBmYWVuZGUgaWNoIGRhcyBlY2h0IHByaW1hLgoKS29tbWVudGFyZT8KCkdydXNzLAogICAgIEZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCdXMgYXVzIE11ZW5zdGVyIChBbmF0b2wsIDIzLiBGZWIgMjAwMCwgMTc6MjQ6MzUpOgp+IyEgcm49Rm9vYmFyIHJ0PTk1MTMyMjIwMCByZz1wYXJ0eQp+IyEgdGlkPTk1MTE2Mzk1NwpXZW5uIHdpciB6dWVyc3QgbWFsIE1vbnRhbnVzIGZpbmRlbiwgZGVyIGVpbmVuIFVlYmVyYmxpY2sgdWViZXIgZGFzCip1cnNwcnVlbmdsaWNoZSogQnVzLVByb2pla3QgaGFiZW4gc29sbHRlLiBXYWVyIGlyZ2VuZHdpZSBhbGJlcm4sCndlbm4gZXMgd2VnZW4gdW5zIE5vcmRsaWNodGVybiBkYW5lYmVuZ2VodC4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnVzIGF1cyBNdWVuc3RlciAoVGVkZHksIDIzLiBGZWIgMjAwMCwgMTc6MzY6NTMpOgp+IyEgcm49Rm9vYmFyIHJ0PTk1MTMyMjIwMCByZz1wYXJ0eQp+IyEgdGlkPTk1MTE2Mzk1NwpIbXBmLCBpY2ggbXVzcyBqZXR6dCBsYXVmZW4gb2RlciB3aWU/CgpUZWRkeS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YnVzPz8/PyAoU3VnYWFuLCAyMy4gRmViIDIwMDAsIDE4OjI3OjU3KToKR2lidCBlcyBkZW5uIG5vY2ggZWluIHBhYXIgdmVycnVlY2t0ZSBNdWRkZXIgYXVzIGRlciBHcm9zc2dlZ2VuZApEdWVzc2VsZG9yZi1Lb2Vsbi1BYWNoZW4sIGRpZSBub2NoIG5pY2h0IHdpc3NlbiB3aWUgc2llIG5hY2ggRHJlc2RlbiBrb21tZW4Kc29sbGVuIC0gZGllIG51ciB3aXNzZW4sIGRhc3MgaWhuZW4gZGllIERCIG9kZXIgYXVjaCBlaW4gRmx1ZyB6dSB0ZXVlcgpzaW5kPz8/PyBGYWxscyBqYSBkYW5uIG1lbGRldCBFdWNoIGRvY2ggbWFsIGVuZGxpY2ggLSBkZW5uIG1pdCBuZW0gZ2VsaWVoZW5lbgo3IG9kZXIgOSBTaXR6ZXIga29tbXQgbWFuIGV0d2FzIHByZWlzd2VydGVyIHdlZyAtIHZvcmF1c2dlc2V0enQgbWFuIGZpbmRldApqZW1hbmRlbiBkZXIgZmFlaHJ0IDotKSkpICB1bmQgZGVtIG1hbiBzZWluIExlYmVuIGFudmVydHJhdWVuIG1hZyAoU3VnaSBmYWVocnQKZ2VybmUgYXVmIGRlciBBdXRvYmFobiAtIGRhIGthbm4gc2llIGltbWVyIHNvb29vb28gc2Nob2VuIHRyYWV1bWVuKS4gTmFqYSBpY2gKaGFycmUgZGVyIERpbmdlLCBkaWUgbm9jaCBrb21tZW4gb2RlciBhdWNoIG5pY2h0IC0gaGFiIGFuc29uc3RlbiBhdWNoIHNjaG9uCmplZGUgTWVuZ2UgYW5kZXJlIERpbmdlIHZvci4KCmdydWVzc2lzIHZvbiBlaW5lciBjaGFvdGlzY2hlbiB2ZXJ3aXJydGVuIHVuZCB0b3RhbCBoaWJiZWxpZyBtdWVkZW4gICAgU3VnaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQnVzIGF1cyBNdWVuc3RlciAoU3VibGltZSwgMjMuIEZlYiAyMDAwLCAxOTo1NjozOCk6Cn4jISBybj1SYXJkaWFuIHJ0PTk1MTI1MzMwMyByZz1wYXJ0eQp+IyEgdGlkPTk1MTE2Mzk1NwpLYW5uc3RlIG1hbCBzZWhlbiA7KSBBYmVyIGxhc3MgZG9jaCBiaXR0ZSBpbiBadWt1bmZ0IGRpZQpWZXJuaWVkbGljaHVuZ2VuIG1laW5lcyBOYW1lbnMuIFN1YmxpbWUga2xpbmd0IHNjaG9uIHNvbwpkb2xsZSBtYWVubmxpY2ggdW5kIHNvb29vIGp1bmcgYmluIGljaCBqYSBudW4gYXVjaCBuaWNoJwptZWhyIDspCgpTdWJsLCBuaWNoIGdhbnogZXJuc3QuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJ1cyBhdXMgTXVlbnN0ZXIgKFJhcmRpYW4sIDIzLiBGZWIgMjAwMCwgMjI6Mjc6MjApOgp+IyEgcm49U3VibGltZSBydD05NTEzMzIxOTggcmc9cGFydHkKfiMhIHRpZD05NTExNjM5NTcKQWJlciBtaWNoIGluIGFsbGVyIE9lZmZlbnRsaWNoa2VpdCBTY2hhdHogbmVubmVuLiBTdXBlciEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJ1cyAoTW9udGFudXMsIDIzLiBGZWIgMjAwMCwgMjM6MjU6NTgpOgoKRWluZW4gZ3Jvc3NlbiBEYW5rICBlcnN0bWFsIGFuIFBhZCosIGRlciBzaWNoIHRhdHNhZWNobGljaCBnZW5hdWVyIHVtIGVpbmVuCkJ1cyBnZWt1ZW1tZXJ0IGhhdC4KRXIgbWVpbnRlLCBkYXMgc28gZWluIEJ1cyBhdWMgaGVoZXIga3VyemZyaXN0aWcgbm9jaCB6dSBiZWtvbW1lbiBzZWksIGFiZXIgZXIKd2lsbCBiaXMgRW5kZSBkZXIgV29jaGUgR2V3aXNzaGVpdC4KRGFzIGthbm4gaWMgaHZlcnN0ZWhlbi4KVW5kIHdlaWwgdm9uIGlobSBoaWVyIGtlaW4gQXJ0aWtlbCBzdGVodCwgc2NocmVpYmUgaWNoIGpldHp0IG5vY2htYWw6CgpMQVNUIENBTEwgRk9SIFBBUlRZQlVTIQoKV2VyIGRlZmluaXRpdiBiZWltIFBhcnR5YnVzIGRhYmVpc2VpbiB3aWxsIChnZXJuZSBhdWNoIEdydXBwZW4gbWl0IDgtMTAgTGV1dGUKYSBsYSBNdWVuc3RlcikgLSBiaXR0ZSBsYXV0IHNjaHJlaWVuLCBhbSBiZXN0ZW4gYXVjaCBwYWRyZWljIG5lIE1haWwKc2NocmVpYmVuLgpEZXIgc2l0enQgZGVyemVpdCBhbiBkZXIgQnVzLVF1ZWxsZS4KCkFsbGEgZGFubi4KCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJ1cyAoUGFkcmVpYywgMjMuIEZlYiAyMDAwLCAyMzo0NjoxOSk6Cn4jISBybj1Nb250YW51cyBydD05NTEzNDQ3NTggcmc9cGFydHkKfiMhIHRpZD05NTEzNDQ3NTgKVW0gZXMgenUgcHJhZXppc2llcmVuLCBkYXMgZ2FuemUga29zdGV0IGRhbm4gdW0gZGllIDYwLC0gKGplIG5hY2hkZW0gd2lldmllbGUKbWl0ZmFocmVuKS4KClBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhc3Nlbm1vdGl2IChIb2JvLCAyNC4gRmViIDIwMDAsIDE0OjE5OjE5KToKQW4gQWxsZSBUYXNzZW5iZXN0ZWxsZXI6CgpXZXIgZGllIEh5ZHJhIGluIEZhcmJlIGhhYmVuIHdpbGwsIHNvbGwgbm9jaG1hbCBlaW5lIE1haWwgbWl0IGRpZXNlbSBJbmhhbHQgYW4KU2FtbWVsdGFzc2Ugc2NoaWNrZW4sIHNvbnN0IGdpYnQncyBzY2h3YXJ6LXdlaXNzLgoKICAgSG9ibyBpLkEuIFNhbW1lbHRhc3NlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBTUQgQW5tZWxkdW5nIChLYWRhYnJhLCAyNC4gRmViIDIwMDAsIDIzOjMyOjEzKToKfiMhIHJuPUFsYm9pbiBydD05NTEzMTc3NzMgcmc9cGFydHkKfiMhIHRpZD05NTEyMzQwMzMKTWVhIEN1bHBhIQpWZXJ6ZWlodCBtaXIgbm9jaG1hbCAuLi4gaWNoIGdlaCB6dXJ1ZWNrIG5hY2ggQWx6aGVpbSA7KQprYWRhYnJhLCB0YXR0ZXJuZCB1bmQgS2FydG9mZmVsIFNFSFIgZGFua2JhciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWt0dWVsbGUgdGFzc2VubGlzdGUgKFNhbW1lbHRhc3NlLCAyNS4gRmViIDIwMDAsIDIxOjI4OjUyKToKLS0gQmVlbHplYnViOgphbno6IDEsIG5hbWU6IEJlZWx6ZWJ1YiwgdGl0ZWw6IF06LSkgICAgKCBUaGUgbXVkZGVyIGZvcm1lcmx5IGtub3duIGFzCkJlZWx6ZWJ1YiApIGlzdCB2b2xsIGV2aWwKLS0gUGFkcmVpYzoKYW56OiAxLCBuYW1lOiBQYWRyZWljLCB0aXRlbDogRmxhdHR5IFBhZHJlaWMKLS0gVmFuaW9uOgphbno6IDEsIG5hbWU6IFZhbmlvbiwgdGl0ZWw6IFtUZWFtOkVTIExFQlRdIENoYW9zc2NoYXR0ZW4gRHIuIFZhbmlvbgpGcmFua2Vuc3RlaW4KLS0gR29sYXM6CmFuejogMSwgbmFtZTogR29sYXMsIHRpdGVsOiBaYWxraCdCYXRhciBHb2xhcyBkZXIgQmx1ZXMgQnJvdGhlcgotLSBab29rOgphbno6IDEsIG5hbWU6IFpvb2ssIHRpdGVsOiBEci4gWm9vawotLSBLYXJpczoKYW56OiAxLCBuYW1lOiBLYXJpcywgbWl0bmFobWU6IFd1cnplbCwgTXVlbmNobmVyLCB0aXRlbDogS2FyaXMgdHJhZXVtdCB2b3IKc2ljaCBoaW4KLS0gVGVkZHk6CmFuejogMSwgbmFtZTogVGVkZHksIHRpdGVsOiBUZWRkeSBpc3QgYm9lc2FydGlnIHVuZCBnZW1laW4uCi0tIEthcnRvZmZlbDoKYW56OiAxLCBuYW1lOiBLYXJ0b2ZmZWwsIGZhcmJlOiBqYSwgdGl0ZWw6IEZhc3Qgd2FlcnN0IER1IGF1ZiBlaW5lIEthcnRvZmZlbApnZXRyZXRlbgotLSBGZXVlcndlaHI6CmFuejogMSwgbmFtZTogRmV1ZXJ3ZWhyLCBtaXRuYWhtZTogUGFkcmVpYywgdGl0ZWw6IEZldWVyd2VociBzZXVmenQ6IEkgaGF0ZQp5b3UsIEtlbm55Ci0tIExlaWJuaXo6CmFuejogMSwgbmFtZTogTGVpYm5peiwgdGl0ZWw6IExlaWJuaXogc2FndDogIkVzIGdpYnQgYWxsZXMgLSBhdXNzZXIgS2Flbmd1cnVoIgotLSBTdG9wZGVuYnVzOgphbno6IDEsIG5hbWU6IFN0b3BkZW5idXMsIHRpdGVsOiBTdG9wZGVuYnVzIGRlciBhbmdlaGVuZGUgS2F0emVua3JpZWdlcgotLSBDYWtleToKYW56OiAxLCBuYW1lOiBDYWtleSwgdGl0ZWw6IFtUZWFtOiBNYWV4Y2hlbl0gU3VmZmtvcHAgQ2FrZXkgd2FybnQ6IFJ1ZGVsbgpnZWZhZWhyZGV0IElocmUgR2VzdW5kaGVpdCEKLS0gS2FkYWJyYToKYW56OiAxLCBuYW1lOiBLYWRhYnJhLCBtaXRuYWhtZTogS2FydG9mZmVsLCB0aXRlbDogTGl0dGxlIHNpc3RlciBLYWRhYnJhIHNhZ3QKZHUgQklTVCBhbGxlaW4gLi4uIHVuZCB3aWUKLS0gVGlnZXJhdWdlOgphbno6IDEsIG5hbWU6IFRpZ2VyYXVnZSwgbWl0bmFobWU6IEthcnRvZmZlbCwgZmFyYmU6IGphLCB0aXRlbDogVGlnZXJhdWdlIGRlcgpEYWVtb25lbi1CZXNjaHdvZXJlcgotLSBNdWFkaWI6CmFuejogMSwgbmFtZTogTXVhZGliLCB0aXRlbDogRWwgTXVhZGliIHppdHRlcnQgdm9yIFZpbmNlbnRzIFNjaGFmZmVuc2RyYW5nCi0tIEFyazoKYW56OiAxLCBuYW1lOiBBcmssIG1pdG5haG1lOiBUcnlmYW4sIFplcGh5ciwgdGl0ZWw6IFJhaWRlcnMgb2YgdGhlIGxvc3QgQXJrCi0tIEhvYm86CmFuejogMSwgbmFtZTogSG9ibywgZmFyYmU6IGphLCB0aXRlbDogSGV4Y2hlbiBIb2JvIGZsaWVndCBkdXJjaCBkaWUgTmFjaHQKLS0gR2FzdDE6CmFuejogMSwgbmFtZTogR2FzdDEsIHRpdGVsOiBHYXN0MSBkZXIgaG9mZm51bmdzdm9sbGUgQW5mYWVuZ2VyLCBtaXRuYWhtZToKSG9ibywgZmFyYmU6IGphCi0tIEdhc3QyOgphbno6IDEsIG5hbWU6IEdhc3QyLCB0aXRlbDogR2FzdDIgZGVyIGhvZmZudW5nc3ZvbGxlIEFuZmFlbmdlciwgbWl0bmFobWU6CkhvYm8sIGZhcmJlOiBqYQotLSBHYXN0MzoKYW56OiAxLCBuYW1lOiBHYXN0MywgdGl0ZWw6IEdhc3QzIGRlciBob2ZmbnVuZ3N2b2xsZSBBbmZhZW5nZXIsIG1pdG5haG1lOgpIb2JvLCBmYXJiZTogamEKLS0gU3BlbGxmaXJlOgphbno6IDEsIG5hbWU6IFNwZWxsZmlyZSwgdGl0ZWw6IFtCYWNjaHVzanVlbmdlcl0gU3BlbGxmaXJlIGJpdHRldCB1bSBlaW4gQml0Ci0tIE15c3RlcmlvdXM6CmFuejogMSwgbmFtZTogTXlzdGVyaW91cywgdGl0ZWw6IFtUZWFtOiBOQUhdIG1Zc3RFUmlPdXMgcmV0dGV0IGRpZSBtaWxpdGFudGVuCkJodWRkYXosIGZhcmJlOiBqYQotLSBHbm9tZToKYW56OiAxLCBuYW1lOiBHbm9tZSwgdGl0ZWw6IERlciBrbGVlbmUgR25vbWUgc2luZ3Q6IEkgaGF0ZSB5b3Ugc28gbXVjaCByaWdodApub3cuLgotLSBTdGluZzoKYW56OiAxLCBuYW1lOiBTdGluZywgdGl0ZWw6IFN0aW5nCi0tIEFyYW5jaWE6CmFuejogMSwgbmFtZTogQXJhbmNpYSwgdGl0ZWw6IEFyYW5jaWEKLS0gU3Ryb2hhbG06CmFuejogMSwgbmFtZTogU3Ryb2hhbG0sIHRpdGVsOiBbVGVhbTpUZWxla29tXSBHYWVuc2VibHVlbWNoZW5leHBlcnRlIFN0cm9oYWxtLApmYXJiZTogamEKLS0gQ2F0d2VhemxlOgphbno6IDEsIG5hbWU6IENhdHdlYXpsZSwgZmFyYmU6IGphLCB0aXRlbDogQ2F0d2VhemxlIGlzdCBpbW1lciBsaWViIHVuZCBuZXR0Ci0tIFJhcmRpYW46CmFuejogMSwgbmFtZTogUmFyZGlhbiwgZmFyYmU6IGphLCB0aXRlbDogS3VzY2hlbGthdGVyIFJhcmRpYW4gaXN0IHNvd2FzIHZvbgpHcnVlbgotLSBDYXNzYW5kcmE6CmFuejogMSwgbmFtZTogQ2Fzc2FuZHJhLCB0aXRlbDogQ2Fzc2FuZHJhIGRpZSBLYXJhdGUtS2FlbXBmZXJpbiwgMi4gS3l1Ci0tIEZpcmVoYXdrOgphbno6IDEsIG5hbWU6IEZpcmVoYXdrLCB0aXRlbDogW1RlYW06SWxsdW1pbmF0aV0gRGVyIFNjaGF0dGVuIHZvbiBGaXJlaGF3awpzcGllbHQgbmFjaCBlaWdlbmVuIFJlZ2VsbgotLSBNYXRpczoKYW56OiAxLCBuYW1lOiBNYXRpcywgdGl0ZWw6IEdhcnRlbnp3ZXJnIE1hdGlzLCBmYXJiZTogamEKLS0gQ2FzdGF3YXk6CmFuejogMSwgbmFtZTogQ2FzdGF3YXksIHRpdGVsOiBDYXN0YXdheSBsaWVidCBEaWNoLgotLSBJdm86CmFuejogMiwgbmFtZTogSXZvLCB0aXRlbDogSXZvIHNhZ3Q6IEFjaCBJd28KLS0gS2hvcmFrOgphbno6IDEsIG5hbWU6IEtob3JhaywgdGl0ZWw6IEVyZGJlYmVubWFjaGVyIEtob3JhawotLSBQYXRyeW46CmFuejogMSwgbmFtZTogUGF0cnluLCB0aXRlbDogWmF1YmVybWF1cyBQYXRyeW4sIGZhcmJlOiBqYQotLSBwdW1hOgphbno6IDEsIG5hbWU6IHB1bWEsIGZhcmJlOiBqYSwgdGl0ZWw6IFB1bWEhCi0tIGFyaWFuYToKYW56OiAxLCBuYW1lOiBhcmlhbmEsIGZhcmJlOiBqYSwgdGl0ZWw6IEFyaWFuYSBkaWUgQWRlcHRpbgotLSBvcmt0b2V0ZXI6CmFuejogMSwgbmFtZTogb3JrdG9ldGVyLCB0aXRlbDogU2lyIE9ya3RvZXRlciB2b24gRHJhY2hlbmhvcnQsIERhcnRzcGllbGVyIHVuZApXb2xwaWZyZXVuZAotLSByZWFwZXI6CmFuejogMSwgbmFtZTogcmVhcGVyLCB0aXRlbDogUmVhcGVyLCBkZXIgWmF1YmVyZXIgZGVyIHNjaG5lbGxlciBzdGlyYnQgYWxzCnNlaW4gU2NoYXR0ZW4KLS0ga29vbWlrZXI6CmFuejogMSwgbmFtZToga29vbWlrZXIsIHRpdGVsOiBbVGVhbTpDaGFvc2thZXR6Y2hlbl0gS29vbWlrZXIKLS0gdHJpc3RhbjoKYW56OiAxLCBuYW1lOiB0cmlzdGFuLCB0aXRlbDogVHJpc3RhbiAgZGVyIGhvZmZudW5nc3ZvbGxlIE5hY2h3dWNoc211ZGRlcgotLSBhcmthbmE6CmFuejogMSwgbmFtZTogYXJrYW5hLCB0aXRlbDogW1RlYW06VW5tb2VnTGljaF0gQXJrYW5hIHdhcnRldC4uCi0tIGJyYW5kaXI6CmFuejogMSwgbmFtZTogYnJhbmRpciwgdGl0ZWw6IEJyYW5kaXIKLS0gbGFuZmVhcjoKYW56OiAxLCBuYW1lOiBsYW5mZWFyLCB0aXRlbDogW1RlYW06QW50YWdvbmlzdGVuXSBMYW5mZWFyIGRpZSBUb2NodGVyIGRlcgpOYWNodAotLSByb2NodXM6CmFuejogMSwgbmFtZTogcm9jaHVzLCB0aXRlbDogUm9jaHVzLCBmYXJiZTogamEKLS0gZ3VhcmQ6CmFuejogMSwgbmFtZTogZ3VhcmQsIHRpdGVsOiBbVGVhbTpQT0RJLCB0aGUgRnVycmVkXSBEaWUgQmllcnd1cnN0IEd1YXJkCihmcmlzY2gpCi0tIHZhcmRpb246CmFuejogMSwgbmFtZTogdmFyZGlvbiwgdGl0ZWw6IFZhcmRpb24gZGVyIGtsZWluZSBGZXVlcnRldWZlbAotLSBodW1uaToKYW56OiAxLCBuYW1lOiBodW1uaSwgdGl0ZWw6IFtUZWFtOkFhY2hlbl0gSHVtbmkgc3RlaHQgbmViZW4gZWluZW0gQmllcmZhc3MKLS0gTGlhcmE6CmFuejogMSwgbmFtZTogTGlhcmEsIGZhcmJlOiBqYSwgdGl0ZWw6IFp3ZXJnZW56YXViZXJpbmUgTGlhcmEgdmVydGVpbHQKT3JrYmFlcmNoZW4KLS0gT2xsaToKYW56OiAxLCBuYW1lOiBPbGxpLCB0aXRlbDogW1RlYW06TmFjaGJhcm5dIE9sbGkKLS0gRml6YmFuOgphbno6IDEsIG5hbWU6IEZpemJhbiwgbWl0bmFobWU6IEh1bW5pLCB0aXRlbDogRml6YmFuIHNpdHp0IGF1ZiBlaW5lbSBTdGVpbiB1bmQKc2NobGFlZnQKLS0gQW5hdG9sOgphbno6IDEsIG5hbWU6IEFuYXRvbCwgdGl0ZWw6IFtNZXR6ZWx0ZWFtOkdlZmx1ZWdlbF0gSGVyYnN0c3R1cm0gVHVydGxlZ3VhcmQKQW5hdG9sIChIdWVobmVyaGFiaWNodCwgdmVybmFzY2h0KQotLSBHb3JvZzoKYW56OiAxLCBuYW1lOiBHb3JvZywgdGl0ZWw6IEluc3RhbnRad2VyZ2VuS2xlcmlrZXIgR29yb2cgaXN0IG5pY2h0IGRpZSBNYW1hCi0tIHVuYXNhaToKYW56OiAxLCBuYW1lOiB1bmFzYWksIHRpdGVsOiBbVGVhbTpEdW8gSW5mZXJuYWxlXSBVbmFzYWkKLS0gYXBvbGxvbmlhOgphbno6IDEsIG5hbWU6IGFwb2xsb25pYSwgdGl0ZWw6IFtUZWFtOkR1byBJbmZlcm5hbGVdIEFwb2xsb25pYQotLSB4ZW5hZGE6CmFuejogMSwgbmFtZTogeGVuYWRhLCBmYXJiZTogamEsIHRpdGVsOiBYZW5hZGEgKEVsZmUsIHZvcmxhdXQpCi0tIG1hbmdvOgphbno6IDEsIG5hbWU6IG1hbmdvLCBmYXJiZTogamEsIHRpdGVsOiBFaW4gUGFwYWdlaSBuYW1lbnMgTWFuZ28KLS0gemVwaHlyOgphbno6IDEsIG5hbWU6IHplcGh5ciwgdGl0ZWw6IEtpdHplbGhleGUgWmVwaHlyLCBmYXJiZTogamEKLS0gaGFuZ292ZXI6CmFuejogMSwgbmFtZTogaGFuZ292ZXIsIHRpdGVsOiBIYW5nb3ZlciB0ZWlsdCBEaXIgbWl0OiBTdGVpbmJlaXNzZXIgc2luZApTcGVpc2VmaXNjaGUKLS0gZ2xvaW46CmFuejogMSwgbmFtZTogZ2xvaW4sIHRpdGVsOiBCZXQodClzY2h3ZXN0ZXIgR2xvaW4gaXN0IGVpbiBQdWxsZXJwb3R0LCBmYXJiZToKamEKLS0gbWFydGluaToKYW56OiAxLCBuYW1lOiBtYXJ0aW5pLCB0aXRlbDogTWFydGluaSBkaWUgdWViZXJtdWV0aWdlIEthdHplLCBmYXJiZTogamEKLS0gZGFya3dpbmc6CmFuejogMSwgbmFtZTogZGFya3dpbmcsIG1pdG5haG1lOiBodW1uaSwgZmFyYmU6IGphLCB0aXRlbDogW1RlYW06QWFjaGVuXQpEYXJrd2luZyBzYWd0OiBObyBSaXNrIC0gTm8gRnVuCi0tIHJvYWRydW5uZXI6CmFuejogMSwgbmFtZTogcm9hZHJ1bm5lciwgdGl0ZWw6IENoYW9zdm9nZWwgUm9hZHJ1bm5lciB0cmFlZ3QgVHJhdWVyZmxvcgotLSB0cnlmYW46CmFuejogMSwgbmFtZTogdHJ5ZmFuLCB0aXRlbDogVHJ5ZmFuIGF1cyBEdW5jdG9uLCBmYXJiZTogamEKLS0gZm9vYmFyOgphbno6IDEsIG5hbWU6IGZvb2JhciwgdGl0ZWw6IEZvb2JhciwgZmFyYmU6IGphCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0YXNzZW5iZXphaGx1bmcgKFNhbW1lbHRhc3NlLCAyNS4gRmViIDIwMDAsIDIxOjU1OjQ3KToKYW0gYmVzdGVuIGRpZSAxNSBtYXJrIHBybyB0YXNzZSBtaXQgYXVmIGRhcyBwYXJ0eWtvbnRvIG1pdCBtdWRuYW1lCnVlYmVyd2Vpc2VuLgpzY2hsZWNodGVyIGlzdCBiYXIgYmV6YWhsZW4sIHdlaWwgd2lyIGRhbm4gbml4IHp1bSBhdXNsZWdlbiBoYWJlbgptZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZXIgbmljaHQgbWl0IHVlYmVybmFjaHRldC9mcnVlaHRzdHVlY2t0IGJlemFobHQgMTAgbWFyayB3ZW5pZ2VyIChNZXNpcmlpLCAyNS4gRmViIDIwMDAsIDIyOjQ4OjAxKToKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBidXMgKFBhZHJlaWMsIDI2LiBGZWIgMjAwMCwgMDA6MTk6MTMpOgp+IyEgcm49UGFkcmVpYyBydD05NTEzNDU5Nzkgcmc9cGFydHkKfiMhIHRpZD05NTEzNDQ3NTgKQWxzb29vby4uLi4KSWNoIGhhYmUgYmlzaGVyIG5pY2h0IG1hbCB2b24gZWluZW0gZHV0emVuZCBMZXV0ZSB3aXJrbGljaCBmZXN0ZSBadXNhZ2VuICh1bmQKZGFzIHdhcyBtaXQgTW9udGFudXMgc2NocmllYiBob2VydGUgc2ljaCBhdWNoIG5pY2h0IHZpZWwgYmVzc2VyIGFuKS4gV2VubiBzaWNoCmRhIHVlYmVycyBXRSBhbHNvIG5pY2h0IG5vY2ggZXJzdGF1bmxpY2ggdmllbCB0dXQgbWl0IG1haWxzLCBiZXRyYWNodGV0IGRhcwptaXQgZGVtIEdyb3NzYnVzIGVyc3RtYWwgZnVlciBnZXN0b3JiZW4uCldlbm4gc2ljaCBnZW51ZyBmaW5kZW4gZGllIEJ1cyBmYWhyZW4gd29sbGVuLCBzdGVodCBtZWluIEFuZ2Vib3QgZGFzIGljaCBlaW5lbgpiZXNvcmdlIG5hY2ggd2lyIHZvci4gVW50ZXIgMzUtNDAgbWFubiBtYWNodCBkYXMgYWJlciBrZWluZW4gU2lubiwgZGEgZGFubgpLbGVpbmJ1c3NlIG5pY2h0IG51ciBzY2huZWxsZXIgc29uZGVybiBhdWNoIG5vY2ggYmlsbGlnZXIgc2luZC4gSWNoIGVtcGZlaGxlCnNpY2ggYWxzbyBtYWwgYW5kZXJ3ZWl0aWcgdW16dXNlaG4gdW5kIHNpY2ggU3RhZWR0ZXdlaXNlIHp1IDllciBHcnVwcGVuCnp1c2FtbWVuIHp1IHR1biBvZGVyIHNpY2ggYW5kZXJ3ZWl0aWcgdW16dXNlaG4uCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eW1vdGl2ICAoVHNoaXJ0LCAyNy4gRmViIDIwMDAsIDIxOjMzOjA4KToKSGkgUGFydHliZXN1Y2hlciAodW5kIFRzaGlydEZhbnMpCgphbHMgVF9TaGlydC1Nb3RpdiBzaW5kIGZvbGdlbmRlIEJpbGRlciBiZWkgdW5zIGVpbmdldHJvZmZlbjoKCkh5ZHJhIDEgKGthcnRvZmZlbCkKSHlkcmEgMiAoR3VhcmQpIChzY2h3YXJ6L3dlaXNzIG9kZXIgbmFjaGtvbG9yaWVydCkKQ2hhb3MgKEthZGlzKQpIaWxiZXJ0cyBUdXJtIChQZmVpZmUpCldhbmRlcmJ1cnNjaGUgdm9yIERyZXNkZW5lciBTaWxvdWV0dGUgKE1lc2lyaWkpCgpEaWVzZSBCaWxkZXIgc2luZCBhdWYgZGVyIE1HLUhvbWVwYWdlIGluIGRlciBQYXJ0eXJ1YnJpayB6dSBmaW5kZW46CgpodHRwOi8vbWcubXVkLmRlL1BhcnR5L3RzaGlydAoKU2NoYXV0IHNpZSBldWNoIGRvY2ggYml0dGUgbWFsIGFuIHVuZCBnZWh0IGRhbm4gaW4gZGllIEFiZW50ZXVyZXJnaWxkZSwgZXVlcgpMaWViZWxpbmdzbW90aXYgYXVzenV3YWVobGVuLiBFaW5lIEJlc3RlbGxtYWlsIG11ZXNzdGUgZGFubiBtaXQgZGVuCmVyZm9yZGVybGljaGVuIEFuZ2FiZW4gd2llIE5hbWUsIFRzaGlydC1Hcm9lc3NlLCBBbnphaGwgdXN3IGFuIG1pY2ggZ2VzY2hpY2t0CndlcmRlbi4KCkRlciBQcmVpcyBmdWVyIGRhcyBULVNoaXJ0IGJldHJndCAgMjUgTWFyayB6YWhsYmFyIHp1ciBQYXJ0eS4uLgoKRGllIFdhaGxrYWJpbmUgd2lyZCBiaXMgenVtIE1pdHR3b2NoYWJlbmQgc3RlaGVuLCBkZXIgU2NobHVzcyBkZXIKQmVzdGVsbGFubmFobWUgaXN0IGFtIFNvbm50YWdhYmVuZCAoNS4zLiksIGRhbmFjaCBnaWJ0IGVzIGF1ZiBBbmZyYWdlIG5vY2gKVF9zaGlydHMgb2huZSBOYW1lbiwga2FubiBkYSBhYmVyIG5pY2h0cyB2ZXJzcHJlY2hlbi4uCgpTb29vLCBpY2ggaG9mZmUsIGljaCBoYWIgbmljaHRzIHZlcmdlc3NlbiwKCmF1ZiBlaW5lIHJlZ2UgQmV0ZWlsaWd1bmcgaG9mZmVuZCwKClRzaGlydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5bW90aXYgIChUc2hpcnQsIDI3LiBGZWIgMjAwMCwgMjE6NDg6MjApOgp+IyEgcm49VHNoaXJ0IHJ0PTk1MTY4MzU4OCByZz1wYXJ0eQp+IyEgdGlkPTk1MTY4MzU4OApoaSBMZXV0ZSwgCgp3aWUgZXMgc2NoZWludCwgc3RlaHQgZGFzIE1vdGl2IHZvbiBQZmVpZmUgbmljaHQgbWVociB6dXIgdmVyZnVlZ3VuZywgc29ycnkuLgoKVHNoaXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHltb3RpdiAgKFRzaGlydCwgMjkuIEZlYiAyMDAwLCAxNzoyOTo1NCk6Cn4jISBybj1Uc2hpcnQgcnQ9OTUxNjgzNTg4IHJnPXBhcnR5Cn4jISB0aWQ9OTUxNjgzNTg4CkhpIExldXRlLCAKCmdsZWljaCBub2NoIGVpbiBSZXBseSBhdWYgbWVpbmVuIEFydGlrZWwgOykKQWxzb29vLCBpY2ggaGFiIG5vY2htYWwgbWl0IGRlbiBMZXV0ZW4gdm9tIENvcHktU2hvcCBnZXJlZGV0IHVuZCBrYW5uIGV1Y2ggbnVuCmZvbGdlbmRlcyBBbmdlYm90IG1hY2hlbjoKCkRhcyBULVNoaXJ0IGtvc3RldCBudW4gYW4gZGVyIEFiZW5ka2Fzc2UgMjAsIGJlaSB2b3JoZXJpZ2VyIFVlYmVyd2Vpc3VuZyBhdWYKbWVpbiBLb250byAxNyBNYWFrLiBEaWUgTGV1dGUsIGRpZSBiZWkgbWlyIGVpbiBULVNoaXJ0IGJlc3RlbGxlbiBlcmhhbHRlbiBkaWUKbm9ldGlnZW4gQW5nYWJlbiBmdWVyIGRpZSBVZWJlcndlaXN1bmcuLi4KCkF1ZiBub2NoIGVpbiBwYWFyIEJlc3RlbGx1bmdlbiBob2ZmZW5kLAoKVHNoaXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYXJlaW56YWhsdW5nIChGYWdndSwgMjkuIEZlYiAyMDAwLCAyMDozNjoyMCk6CkhpIExldXRlLAoKd2VubiBtaXIgZWluZXIgdm9uIEV1Y2ggU3Bhc3N2b2VnZWxuIG1hbCBlcmtsYWVyZW4ga2Fubiwgd2VyIEJhciBpc3Q/CkRhIGlzdCBqZWRlbmZhbGxzIGtlaW4gVWViZXJ3ZWlzdW5nc2dydW5kIG1pdCBhbmdlZ2ViZW4gd3VyZGVuLiBBbHNvIHdlbm4gc2ljaApoaWVyIGVpbmVyIHdpZWRlcmVya2VubnQgc2NocmVpYnQgZXIgbWlyIGRvY2ggZWluZmFjaCBuZSBNYWlsLiBVbmQgbnVyCmRlcmplbmlnZS4KClRzY2hhdQpGYWdndSAoSW0gQXVmdHJhZyBzZWluZXMgS29udG9pbmhhYmVycykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpZXRlIE1GRyB2b24gUmF1bSBBQy9LL0QvQk4gbmFjaCBERCAoTWVuYWNlLCAgMS4gTWFyIDIwMDAsIDE0OjE0OjI5KToKSGksCmljaCB3ZXJkZW4gYW0gRnJlaXRhZyBtaXQgbmVtIGdlbWlldGV0ZSA5LVNpdHplciB6dXIgUGFydHkgbG9zZmFocmVuLiAKQmlzaGVyIGhhYmVuIHNpY2ggenVyIE1pdGZhaHJ0IERhcmt3aW5nLCBIdW1uaSwgU3VnYWFuIHVuZCBDcml0dGVyIGFuZ2VtZWxkZXQuCkljaCBoYWJlIGFsc28gbm9jaCAzIC0gNCBQbGFldHplIGZyZWkuIEZhbGxzIG5vY2ggSmVtYW5kIGF1cyBkZW0gUmF1bSAKQWFjaGVuL0tvZWxuL0R1ZXNzZWxkb3JmL0Jvbm4gbmUgTWl0ZmFocmdlbGVnZW5oZWl0IHN1Y2gsIGRlciBrYW5uIHNpY2ggYmVpCm1pciBtZWxkZW4uIEVpbmZhY2gga3VyemUgTWFpbCwgd2lyZCB3ZWl0ZXJnZWxlaXRldC4KCkdydXNzCk1lbmFjZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUZHIGFiIFBCID06LSkgKFJvbmRhLCAgMS4gTWFyIDIwMDAsIDE5OjI2OjQxKToKSGksCm5hY2hkZW0gaWNoIG1pY2ggZGFubiBlbmRsaWNoIGRvY2ggZGF6dSBkdXJjaHJpbmdlbiBrb25udCwgbWljaCBhbnp1bWVsZGVuLApoYWIgaWNoIG5vY2ggZWluZW4gUGxhdHogaW0gQXV0byBhYiBQYWRlcmJvcm4gZnJlaSAtIEFiZmFocnQgUEIgYW0gRnJlaXRhZwpnZWdlbiAxNCBVaHIuCkJlaSBJbnRlcmVzc2UgYml0dGUgZWluZmFjaCBlaW5lIE1haWwgYW4gbWljaCA7KQoKVHNjaGVzcywKClJvbmRhICp1cHMsIHdhcm4gZGFzIHZpZWxlIFR5cG9zLi4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbmRlcmdlYm5pcyAoVHNoaXJ0LCAgMS4gTWFyIDIwMDAsIDIxOjU5OjQ3KToKSGkgTGV1dGUsCgppaHIgaGFidCBldWNoIGVudHNjaGllZGVuOgogLS0gIDEuKSAgSHlkcmEgMSAoS2FydG9mZmVsKTogICA1ICgxOC41MiUpCi0tICAyLikgSHlkcmEgMiAoR3VhcmQsIHNjaHdhcnovd2Vpc3MpOiAgIDUgKDE4LjUyJSkKLS0gIDMuKSBIeWRyYSAyYiAoR3VhcmQsIG5hY2hjb2xvcmllcnQgdm9uIEhvYm8pOiAgMTIgKDQ0LjQ0JSkKLS0gIDQuKSAgICAgICAgQ2hhb3MgKEthZGlzKTogICAzICgxMS4xMSUpCi0tICA1LikgV2FuZGVyYnVyc2NoZSB2b3IgRHJlc2RlbmVyIFNpbG91ZXR0ZSAoTWVzaXJpaSk6ICAgMiAoNy40MSUpCgpEYXMgTW90aXYgc3RlaHQgYWxzbyBmZXN0OiBkYXMgbmFjaGtvbG9yaWVydGUgSHlkcmFtb3RpdiB2b24gR3VhcmQsIGhlcnpsaWNoZW4KR2xja3d1bnNjaAoKU28sIG51biBoYWJ0IGlociBub2NoIGJpcyBTb25udGFnYWJlbmQgWmVpdCBldWVyIFVuaXF1ZSBQYXJ0eVQtVHNoaXJ0IHp1CmJlc3RlbGxlbiAoMTdNYXJrIFZvcmthc3NlLCAyMCBNYXJrIEFiZW5ka2Fzc2UpCgphdWYgQmVzdGVsbHVuZ2VuIHdhcnRlbmQsCgpUc2hpcnQKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSU5GT1MgKE1lc2lyaWksICAzLiBNYXIgMjAwMCwgMTI6MDY6NTkpOgppZWJlIFBhcnR5bXVkZGVyLAoKZHVyY2ggZGVuIFRvZCB2b24gTWFoYXRtYSBpc3QgZGllIFBhcnR5b3JnYW5pc2F0aW9uIGluIGRlciBsZXR6dGVuIFplaXQgCm5pY2h0IHZvcmFuZ2Vrb21tZW4uIFdpciBoYXR0ZW4gYXVjaCB1ZWJlcmxlZ3QsIGRpZSBQYXJ0eSBnYW56IGF1c2ZhbGxlbgp6dSBsYXNzZW4sIGFiZXIgZGFzIHdhZXJlIGJlc3RpbW10IG5pY2h0IGluIHNlaW5lbSBJbnRlcmVzc2UgZ2V3ZXNlbi4KCkdlc3Rlcm4gYmluIGljaCBtaXQgTWFuZ28gZGVuIGdhbnplbiBUYWcgaW4gZGVyIEdlZ2VuZCBydW1nZWhpcnNjaHQgdW5kCndpciBoYWJlbiBhdWNoIG5lIE1lbmdlIGdlc2NoYWZmdC4gRWluemVsaGVpdGVuIGJlaW0gQWJsYXVmLgoKVGFzc2VuIHNpbmQgYmVzdGVsbHQgdW5kIGluIEFyYmVpdCwgYWxzbyBrZWluZSBBZW5kZXJ1bmdlbiwgTmFjaGJlc3RlbGx1bmdlbgptZWhyISEKCgpGUkVJVEFHOgoKMTU6NDUgVHJlZmZlbiBiZWkgQU1EIHZvciBkZW0gV2Vya3N0b3IsIGlzdCB2b24gZGVyIEF1dG9iYWhuIGxlaWNodCB6dQplcnJlaWNoZW4sIGFuc29uc3RlbiB2b24gZGVuIEJhaG5ob2VmZW4gbWl0IGRlciAzIHVuZCBkYW5uIG1pdCBkZXIgODEgZGlyZWt0Cnp1IEFNRAoKMTY6MDAtMTg6MDAgQU1EIEJlc2ljaHRpZ3VuZwoKYWIgMTg6MDAgaXN0IHVuc2VyZSBwZXJzb2VubGljaGUgS25laXBlIG9mZmVuICJEZXV0c2NoZSBFaWNoZSIsIHdpciBoYWJlbiBkYXMKVGVpbCBmdWVyIGRlbiBnYW56ZW4gQWJlbmQvTmFjaHQgZnVlciB1bnMsIE1hbmdvIHVuZCBpY2ggaGFiZW4gbGVja2VyIEVzc2VuCnJhdXNnZXN1Y2h0IHVuZCBmdWVyIGRpZXNlcyBzb3dpZSBlaW5pZ2UgR2V0cmFlbmtlIFNvbmRlcnByZWlzZSBhdXNnZWhhbmRlbHQKKExhc3N0IEV1Y2ggdWViZXJyYXNjaGVuKQoKQXVzdGVpbGVuIGRlciBUYXNzZW4KCmRpZSBBdXRvcyBrb2VubmVuIGF1ZiBkZW0gU2NodWxob2YgdW5zZXJlciBTY2hsYWZ0dXJuaGFsbGUgYWJnZXN0ZWxsdCB3ZXJkZW4sCmluIGRpZSBUdXJuaGFsbGUga29tbWVuIHdpciB3YWhyc2NoZWlubGljaCBlcnN0IGFiIDIyOjAwIHdlaWwgc2llIHZvcmhlciB2b24KVm9sbGV5YmFsbGVybiBiZXNldHp0IGlzdCAoaXN0IGFiZXIgamEgZWdhbCkKCmlyZ2VuZHdhbm4gaW4gZGVyIE5hY2h0L2FtIGZydWVoZW4gTW9yZ2VuOiBNYXJzY2ggaW4ga2xlaW5lbiBHcnVlcHBjaGVuIHp1bQpTY2hsYWZlbgoKClNBTVNUQUcKCmlyZ2VuZHdhbm4gdm9ybWl0dGFnczogYXVmc3RlaGVuIHVuZCBmcnVlaHN0dWVja2VuCgpzbyBjYS4gYWIgMTEvMTI6MDAgYmlzIDE3OjAwIFJMLVF1ZXN0IG1pdCBEcmVzZG5lciBTdGFkdGVyZmFocnVuZ2VuIHVuZApzZWxic3RnZXdhZWhsdGVtIE1pdHRhZ2Vzc2VuCldJQ0hUSUc6IGRhIGRpZSBHcnVwcGVuIGZ1ZXIgZGllIFJMLVF1ZXN0IGltaG8gYW0gbHVzdGlnc3RlbiBzaW5kLCB3ZW5uIGlocgpFdWNoIHNlbGJlciBmaW5kZXQsIG1hY2h0IG1hbCBlaW4gcGFhciBUZWFtcyBhdWYsIGRpZSBuaWNodGdldGVhbXRlbiBMZXV0ZQp3ZXJkZW4gZGFubiBwZXIgTG9zIHp1Z2VvcmRuZXQKCjE3OjAwIGJpcyAxOTowMCBkYSBzaWNoIG5pZW1hbmQgYW5kZXJzIGdlZnVuZGVuIGhhdCwgZGVyIHdhcyB6dSBzYWdlbiBoYXQsCndlcmRlIGljaCBFdWNoIGRpZSAobGVpZGVyIG51cikgendlaSBTdHVuZGVuIG1pdCBkZW4gZnVuZGFtZW50YWxlbiA7KQpNb2VnbGljaGtlaXRlbiB2b24gVEYgdmVydHJhdXQgbWFjaGVuLCBhdWYgdmllbGZhY2hlbiBXdW5zY2ggemVpZyBpY2ggYXVjaCB3YXMKYXVzIG1laW5lciBUcmlja2tpc3RlCgphYiAxOTowMCBiaXMgMjA6MDAgKGZhbGxzIGljaCB1ZWJlcnppZWhlKSBQYXJ0eSBiaXMgenVtIGFid2lua2VuLiBMZWlkZXIgaXN0CnVuc2VyIFBhcnR5cmF1bSBkZW0gbmljaHQgYW53ZXNlbmRlbiBTY2h1bHBlcnNvbmFsIHp1bSBPcGZlciBnZWZhbGxlbiwgc28gZGFzcwp3aXIgYXVmIGVpbmUgQWx0ZXJuYXRpdmUgYXVzd2VpY2hlbiBtdWVzc2VuICh2b3JhdXNzaWNodGxpY2ggZWluClN0dWRlbnRlbmNsdWIpLCBkYXJhdXMgZXJnaWJ0IHNpY2ggZWluIGV0d2FzIGxhZW5nZXJlciBIZWltd2VnLCBkZW4gd2lyIGFiZXIKYmVzdGltbXQgaXJnZW5kd2llIHNjaGFmZmVuIHdlcmRlbiAobWFuIGhhdCBqYSBaZWl0KQoKZGEgd2lyIGRpZSBHZXRyYWVua2UgYXVmIEtvbW1pc3Npb24gYmVzdGVsbHQgaGFiZW4sIHNjaG9uIGhpZXIgbWVpbmUgQml0dGUgYW4KRXVjaDogTmljaHQgMTAgRmxhc2NoZW4gQmllciBhdWZtYWNoZW4gdW5kIGFudHJpbmtlbiBkYW1pdCBzaWUgZXVjaCBrZWluZXIKbWVociB3ZWdzYWV1ZnQsIHNvbmRlcm4gaW1tZXIgZXJzdCBhdXN0cmlua2VuIChhdWNoIHdlbm4gZXMgc2NobGltbSBpc3QsIHp1CnNlaGVuIHdpZSBzY2huZWxsIGRhcyBiaWVyIHZlcnNjaHdpbmRldCkgdW5kIGRhbm4gTmFjaHNjaHViIGhvbGVuCgppY2ggaGFiIGtlaW5lIEx1c3QgMTAwIGZhc3Qgdm9sbGUgRmxhc2NoZW4gc2NoYWxlcyBCaWVyIGlucyBLbG8genUga2lwcGVuCgpoaWVyIG1hbCBuZSBrdXJ6ZSBMaXN0ZSBkZXIgQmVzdGVsbHVuZyAoamV3ZWlscyBBbnphaGwgS2Flc3Rlbik6ClNjaG9ybGUgMwpDb2xhIDgKRmFudGEgMwpTcHJpdGUgMgpXYXNzZXIgNgpCaWVyIDIwCgphY2hzbywgd2VyIE11Y2tlIG1pdGJyaW5nZW4gd2lsbCwga2FubiBkYXMgdHVuLCBkaWUgYXVzd2FobCBlcmZvbGd0IGRhbm4gbmFjaApiZWxpZWJlbiA7KQoKU09OTlRBRzoKCnZvcm1pdHRhZyBzbyAKMTA6MzAgYmlzIDEyOjAwIFZlcmVpbnN2ZXJzYW1tbHVuZwoKY2EuIDEyOjMwIENoaW5lc2UgKGRpZSBLYXJ0ZSBrb21tdCBub2NoIGlucyBXZWIgZGEga29lbm50IGlociBFdWNoIHNjaG9uIG1hbApzY2hsYXUgbWFjaGVuKQoKZGFuYWNoIEhlaW1yZWlzZQoKTWVzaSwgd2llZGVyIG1hbCBvcmdhbmlzaWVyZW5kCgoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmlkZW9iZWFtZXIgZnVlciB2b3J0cmFnIChNZXNpcmlpLCAgMy4gTWFyIDIwMDAsIDE0OjEyOjIxKToKSGFsbG8sCmRhIG1laW4gTm90ZWJvb2sgbWl0IDgwMHg2MDBlciBEaXNwbGF5IHp1IGtsZWluIHNlaW4gd2lyZCB1bSBhbGxlIEFud2VzZW5kZW4KYmVpbSBWb3J0cmFnIHp1IHVudGVyaGFsdGVuLCBzdWNoZSBpY2ggbm9jaCBuZW4gVmlkZW9iZWFtZXIuIEZhbGxzIGplbWFuZApzb3dhcyB6dXIgUGFydHkgbWl0YnJpbmdlbiBrYW5uLCB3dWVyZGUgaWNoIG1pY2ggZG9sbGUgZnJldWVuLgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZWFtIE1hcmJ1cmcgc2Nod2FlY2hlbHQgKENpc291LCAgNC4gTWFyIDIwMDAsIDE3OjM0OjUyKToKCkphLCBhbHNvLCB3ZW5uIHVuc2VyIG9ydHNlaWdlbmVyIEVyemllIG1hbCBuaWNoIGluIHRvd24gaXMsIGRhbm4gc2Nod2FlY2hlbHQKVGVhbSBNYXJidXJnIGphIGRpcmVrdCBiZWltIFBhcnR5YmVzdWNoZW4uCkFsbGUgbXVlc3NlbiBzZSBhcmJlaXRlbiBvZGVyIFVybGF1YiBtYWNoZW4uLi4uIG5hamEsIHdvbGx0IGljaCBhbiBzaWNoIGF1Y2gsCmFiZXIgZGllIERpbmdlIGhhYmVuIHNpY2ggYW5kZXJzIGVudHdpY2tlbHQuCkxhbmdlIFJlZGUsIGt1cnplciBTaW5uOiBpY2ggc3VjaCBuZSBNZmcgdm9uIE1hcmJ1cmcgKEthc3NlbCwgRmZtIG8uYWUuIHdhZXJlbgphdWNoIG1hY2hiYXIpIG5hY2ggRHJlc2RlbiB1bmQgcmV0b3VyLgoKRGllIEVsc3RlciwgaG9mZnQgYXVmIG5lIE1haWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2h0cmFnIChJdm8sICA1LiBNYXIgMjAwMCwgMjM6MzQ6NDQpOgpIaSBMZXV0ZSwKCmVzIGthbSBkaWUgRnJhZ2UgYXVmLCB3YXMgTGV1dGUgYmV6YWhsZW4sIHdlbm4gc2llIGVyc3QgYW0gU2Ftc3RhZwpuYWNobWl0dGFnL2FiZW5kIGF1ZnRhdWNoZW46CgpEaWVzIHNpbmQgMjAgTWFyayAoVm9ya2Fzc2UpIGJ6dyAzMCBNYXJrIEFiZW5ka2Fzc2UuCgpIaWVyIGF1Y2ggbm9jaG1hbCBlaW4gQXVmcnVmIGFuIGFsbGUgTGV1dGUsIGlocmVuIFBhcnR5YmVpdHJhZyB6dSB1ZWJlcndlaXNlbjoKR2VodCB6dXIgQmFuayAhICgxMCBNYXJrIHNpbmQgMTAgTWFyayA7KSApLgoKWVQgSXZvCgpQUzogTWFuIHNpZWh0IHNpY2ggaW4gRHJlc2RlbjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSU5GT1MgKEhvb2QsICA2LiBNYXIgMjAwMCwgMDA6MTg6MDcpOgp+IyEgcm49TWVzaXJpaSBydD05NTIwODE2MTkgcmc9cGFydHkKfiMhIHRpZD05NTIwODE2MTkKYWxzbyB3ZWdlbiBkZXIgdm9ydHJhZWdlIGhhdCBzaWNoIHdpcmtsaWNoIG51ciBlaW5lciBnZW1lbGRldCwgZGVyIGV2dGwuCmVpbmVuIHZvcnRyYWcgaGFlbHQsIGRlciB1bnMgYWxsZW4gZW50Z2VnZW5rb21tZW4gd2lyZCA6KQpkYSBkYXMgYWJlciBub2NoIG5pY2h0IGdlc2ljaGVydCBpc3QsIGJsZWlidHMgdm9yZXJzdCBiZWkgMiBzdHVuZGVuIHRmCm1pdCBtZXNpcmlpLiBpbnRlcmVzc2VuIGhhdCBhdWNoIGtlaW5lciBiZWt1bmRldCwgaWNoIHNjaGF1IGF1Y2ggZ2VybiBtYWwKbnVyIHp1Lgp3ZWdlbiBkZXIgbXVzaWs6CnNvZmVybiB3aXIga2VpbmUgYW5sYWdlIGFtIHBhcnR5b3J0IHZvcmZpbmRlbiwgYmVzb3JnZSBpY2ggc2VsYmlnZS4KY2QucyBrYW5uIGljaCBhdWNoIGhhbGJ3ZWdzIGtpc3RlbndlaXNlIHJhbmhvbGVuLCBhYmVyIGxldHp0ZW5kbGljaAprb25udGUgaWNoIHVlYmVyIGRpZSBsZXR6dGVuIGphaHJlIGRlbiBldHdhcyBhbHRlcm5hdGl2ZW4gbXVzaWtnZXNjaG1hY2sKZGVyIGhpZXNpZ2VuIG11ZGRlcnNjaGFmdCBrZW5uZW5sZXJuZW4uCmFsc286IGJpdHRlIGF1Y2ggc2VsYnN0IGNkLnMgcmFuc2NobGVwcGVuLgp3ZXIgbXAzLWZpbGVzIGhhdCwga2FubiBlciBtaXIgc2VsYmlnZSBtaXQgdm9yaGVyaWdlciBhYnNwcmFjaGUKcnVlYmVyc2NoaWViZW4gb2RlciBzZWluZSBwbGF0dGUgKGtlaW4gc2NzaSkgbWl0IHJhbnNjaGxlcHBlbi4KZGFydWViZXIgYnJhdWNoIGljaCBqZWRvY2ggdm9yaW5mbyEgd2VnZW4gMyBmaWxlcyBzY2hsZXBwIGljaCBuaWNoIG1laW5lbgpyZWNobmVyIHJ1bS4KKGJpdHRlIGpldHp0IGtlaW5lIHJlY2h0c2Rpc2t1c2lvbiwgZGFzIHpldWcgZmxpZWd0IGRhbmFjaCBlaCB3aWVkZXIKcnVudGVyLCB1bmQgc29nZXNlaGVuIGR1ZXJmdGUgbWFuIG5pY2h0IG1hbCBjZC5zIG9lZmZlbnRsaWNoIGFic3BpZWxlbiwKb2huZSB6dXNhdHphYmdhYmVuIGFuIGRpZSBhbGxnZWxpZWJ0ZSBnZW1hIGFienVmdWVocmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWl0ZmFocmdlbGVnZW5oZWl0IChBcmlhbmEsICA2LiBNYXIgMjAwMCwgMDU6NTk6NTYpOgppY2ggd2Vpc3MgamEsIGVzIHdpcmQgdW53YWhyc2NoZWlubGljaCBzZWluLCBhYmVyIGZhZWhydCBuaWNodCBpcmdlbmR3ZXIgZXJzdAphbSBzYW1zdGFnIHp1ciBwYXJ0eSB1bmQga29tbXQgZGFiZWkgaW4gbXVlbnN0ZXIgdm9yYmVpPwpzbyBhYiAxNCBVaHIgd2FlciBrbGFzc2U6KQoKYXJpYW5hLCBkaWUgc2ljaCBzY2h3YXJ6YWVyZ2VydCwgZGFzcyBzaWUgYXJiZWl0ZW4gbXVzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWZnIEhhbGxlIChDYXNzYW5kcmEsICA2LiBNYXIgMjAwMCwgMTc6MTM6MjcpOgpGdWVyIGRlbiBGYWxsIGRhcyBub2NoIGplbWFuZCBlaW5lIE1pdGZhaHJnZWxlZ2VuaGVpdCBhdXMgUmljaHR1bmcgSGFsbGUKKFNhYWxlKSBzdWNodCwgYmVpIG1pciB3YWVyIG5vY2ggUGxhdHogaW0gQXV0by4KQWxzbyB3ZXIgbWl0IHdpbGwgTWFpbCBhbiBtaWNoLgoKQ2Fzc2FuZHJhLCBoYXQga2VpbmUgTHVzdCBhbGxlaW4genUgZmFocmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluZ2VnYW5nZW5lIFVlYmVyd2Vpc3VuZ2VuIChGYWdndSwgIDYuIE1hciAyMDAwLCAxODoxNDo0Nik6CldlciBzaWNoZXIgZ2VoZW4gd2lsbCwgZGFzcyBzZWluIEdlbGQgYmVyZWl0cyBlaW5nZXRyb2ZmZW4gaXN0LCBkZXIgc2NoYXUgbWFsCnVudGVyIGh0dHA6Ly93d3cud2VuemtlLmNvbS9wYXJ0eS5odG1sIG5hY2guCkZhZ2d1ClBhcnR5a2Fzc2Vud2FydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElORk9TIChGbHVyciwgIDYuIE1hciAyMDAwLCAxODozNzo0Myk6Cn4jISBybj1NZXNpcmlpIHJ0PTk1MjA4MTYxOSByZz1wYXJ0eQp+IyEgdGlkPTk1MjA4MTYxOQpNb2luLApzZWhlIGljaCBkYXMgcmljaHRpZywgZGFzcyBkaWUgZWluemlnZW4gYWxrb2hvbGZyZWllbiBHZXRyYWVua2UgZW50d2VkZXIKV2Fzc2VyIG9kZXIgc3Vlc3NlIExpbW9uYWRlbiBzaW5kPyBJY2ggd2Vpc3MsIGRhc3MgZGFzIGdlcmFkZXp1IFRyYWRpdGlvbiBoYXQsCmFiZXIgbWFuIG11c3MgZGVuIEZlaGxlciBkb2NoIG5pY2h0IGplZGVzIE1hbCBtYWNoZW4uIFNjaG9uIHZvciBtZWhyZXJlbgpKYWhyZW4gd3VyZGVuIGF1ZiBNRy1QYXJ0aWVzIEthZW1wZmUgdW0gZGllIGxldHp0ZSBQYWNrdW5nIE9yYW5nZW5zYWZ0CmF1c2dlZm9jaHRlbi4uLgoKRmx1cnIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlZ2Jlc2NocmVpYnVuZyAoRG9scGgsICA2LiBNYXIgMjAwMCwgMTk6MjM6NTEpOgpIaSBPcmdhbmlzYXRvcmVuLAplbnR3ZWRlciBoYWJlIGljaCBlcyBpbiBkZW4gdmllbGVuIEFydGlrZWxuIHVlYmVybGVzZW4sIG9kZXIgZXMKd3VyZGUgd2lya2xpY2ggbm9jaCBrZWluZSBnZW5hdWVyZSBXZWdiZXNjaHJlaWJ1bmcgenUgZGVyIApIYWxsZSBpbiBLbG90c2Noa2UgZ2VzY2hyaWViZW4uCkhpbGZyZWljaCB3YWVyZSBOYW1lbiBkZXIgU2NodWxlLCBvZGVyIFN0cmFzc2UgKyBIYXVzbnIuCgpHaWJ0IGVzIGluIGRlciBOYWVoZSBlaW4gSG90ZWwgb2RlciBlaW5lIFBlbnNpb24gPwpXZW5uIGphLCBnZWJ0IGRvY2ggbWFsIGRpZSBBZHJlc3NlIGFuLgpDaWFvIERvbHBoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElORk9TIChEZWVwYmx1ZSwgIDcuIE1hciAyMDAwLCAwOTo1NDo1NCk6Cn4jISBybj1GbHVyciBydD05NTIzNjQyNjMgcmc9cGFydHkKfiMhIHRpZD05NTIwODE2MTkKRGFubiBzYWNrIG5lIEtpc3RlIE9zYWZ0IGFuIHVuZCBicmluZyBzaWUgTWl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXbyBibGVpYmVuIGRpZSBBbmZhaHJ0c2luZm9zPyAoTWVuYWNlLCAgNy4gTWFyIDIwMDAsIDE4OjU3OjU1KToKRGllIFVlYmVyc2NocmlmdCBzYWcgZWlnZW50bGljaCBzY2hvbiBhbGxlcy4gV2lyZCBoYWx0IGxhbmdzYW0gbWFsIFplaXQsIGRhc3MKd2lyIEFkcmVzc2VuIHZvbiBkZXIgS25laXBlIGFtIEZyZWl0YWcgdW5kIHZvbiBkZXIgU2NodWxlL1R1cm5oYWxsZSBiZWtvbW1lbgptaXQgenVnZWhvZXJpZ2VuIEFuZmFocnRzaW5mb3MuCgpNZW5hY2UgKm5pY2ggZHJhZW5nZWxuIHdvbGxlbmQsIGFiZXIgbGFuZ3NhbSB1bmdlZHVsZGlnIHdlcmRlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZWcgKEhvb2QsICA4LiBNYXIgMjAwMCwgMDA6MDI6MDIpOgpJbnp3aXNjaGVuIHZlcmxhbmd0ZW4gZG9jaCBlaW5lIGdhbnplIFJlaWhlIHZvbiBMZXV0ZW4gemllbWxpY2ggdW5ydWhpZyBuYWNoCmVpbmVyIFdlZ2Jlc2NocmVpYnVuZywgdW5kIHNlbGJzdCBlaW46ICdJbW1lciBzY2hvZW4gY29vbCBibGVpYmVuIScgaGFsZiBuaXgKbWVoci4gRGVzaGFsYiBnaWJ0cyBzZWxiaWdlcyBQYW1waGxldCBudW4gaW0gZm9sZ2VuZGVuOgoKWnVnZmFocmVyCiMjIyMjIyMjIwoKenVyIEZyZWl0YWdza25laXBlCi0tLS0tLS0tLS0tLS0tLS0tLQoKRHJlc2RlbiBIYXVwdGJhaG5ob2YgcmF1cyBSaWNodHVuZyBQcmFnZXIgU3RyYXNzZQooQmFobmhvZiBEcmVzZGVuIE5ldXN0YWR0IHVuZCBNaXR0ZSBnaWJ0cyBhdWNoIG5vY2gpCkluIGRpZSBTdHJhc3NlbmJhaG4gbWl0IGRlciBOdW1tZXIgNyByZWluIHVuZCB6d2FyIGluIFJpY2h0dW5nIFdlaXhkb3JmLAphbSBLYWV0aGUtS29sbHdpdHotUGxhdHogd2lyZCBhdXNnZXN0aWVnZW4sIHVtIGRhcmF1ZmhpbiBtaXQgU2FjayB1bmQgUGFjawpkaXJla3QgaW4gZGllIEdhc3RzdGFlZHRlICJEZXV0c2NoZSBFaWNoZSIgcmVpbnp1c3RvbHBlcm4uCiAoZGFzIG5ldWUgR2ViYWV1ZGUgYXVmIGRlciBzZWxiZW4gU3RyYXNzZW5zZWl0ZSBhbiBkZXIgS3JldXp1bmdzZWNrZSkKCkF1dG9mYWhyZXIgdW5kIFdhcm1kdXNjaGVyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgp6dXIgRnJlaXRhZ3NrbmVpcGUKLS0tLS0tLS0tLS0tLS0tLS0tCgpBdXRvYmFobmFiZmFocnQgREQgRmx1Z2hhZmVuIHJ1bnRlciwgYW4gZGVyIEFtcGVsIHJlY2h0cyBhYmJpZWdlbjsKZ2VyYWRlYXVzIGJpcyB6dXIgbmFlY2hzdGVuIEFtcGVsICg0LXNwdXJpZyksIGxpbmtzIGFiYmllZ2VuCihSaWNodHVuZyBSYWRlYmVyZyk7CihQZmxhc3RlcnN0cmFzc2UgZ2VuaWVzc2VuLCBCb2x0ZW5oYWdlbmVyIFN0ci4pIGltbWVyIGdlcmFkZWF1cyBiaXMKSGF1cHRzdHIuIHp1IEVuZGUgdW5kIFZvcmZhaHJ0IGdld2FlaHJlbiAob2RlciBhdWNoIG5pY2h0KSAtPiBsaW5rcwphYmJpZWdlbi4gKHNvbGx0ZSBqZXR6dCBlaW5lIFN0cmFzc2UgbWl0IEJhaG5zY2hpbmUgc2Vpbi4uLnNvbnN0IHp1cnVlY2sgenVtCkFuZmFuZywgS29lbmlnc2JydWVja2VyIFN0ci4pOwp1ZWJlciBkZW4ga2xlaW5lbiBIdWVnZWwgZmFocmVuLCBkYW5uIGlzc2VzIG5hY2ggMjAwbSBhdWYgZGVyIHJlY2h0ZW4gU2VpdGUKZGllIEdhc3RzdGFldHRlICJEZXV0c2NoZSBFaWNoZSIgYXVmIGRlbSBLYWV0aGUtS29sbHdpdHotUGxhdHouCgp6dSBBTUQKLS0tLS0tCgpBdXRvYmFobmFiZmFocnQgREQgRmx1Z2hhZmVuIHJ1bnRlciwgYW4gZGVyIEFtcGVsIGxpbmtzIGFiYmllZ2VuIFJpY2h0dW5nCldpbHNjaGRvcmYsIGltbWVyIGdlcmFkZWF1cyAoYXVjaCB1ZWJlciBBbXBlbCBnZXJhZGVhdXMgcnVlYmVyIHVudGVyIGRlcgp3dW5kZXJzY2hvZW5lbiBXaWxkYnJ1ZWNrZSBoaW5kdXJjaCkgdW5kIG5hY2ggZGVyIEJlc2NoaWxkZXJ1bmcgYmVpCkFNRCBUb3IgMSBkaWUgZXJzdGUgbmFjaCBkZXIgQnJ1ZWNrZSBsaW5rcyBhYmJpZWdlbi4KClNjaGxhZmhhbGxlCi0tLS0tLS0tLS0tCgpBdXRvYmFobmFiZmFocnQgREQgRmx1Z2hhZmVuIHJ1bnRlciBhbiBkZXIgQW1wZWwgcmVjaHRzIGFiYmllZ2VuOwppbW1lciBnZXJhZGVhdXMgYmlzIHp1ciBuYWVjaHN0ZW4gQW1wZWwgKDQtc3B1cmlnKSwgcmVjaHRzIGFiYmllZ2VuOwpnZXJhZGVhdXMgYmlzIHp1ciBuYWVjaHN0ZW4gQW1wZWwsIGxpbmtzIGFiYmllZ2VuIChSaWNodHVuZyBSYWRlYmVyZyk7CihQZmxhc3RlcnN0cmFzc2UsIEJvbHRlbmhhZ2VuZXIgU3RyLik7CmFuIDIgRnVzc2dhZW5nZXJhbXBlbG4gdm9yYmVpLCBkYW5hY2ggbGlua3MgYXVmIGRlbSBncm9zc2VuIFBsYXR6IGVpbmUKS2lyY2hlLCBkaWUgbGlua3MgbGllZ2VubGFzc2VuOwpjYS4gMTAwbSB3ZWl0ZXIga29tbXQgd2llZGVyIGVpbiBncm9zc2VyIFBsYXR6IG1pdCBlaW5lciBrbGVpbmVuClZlcmtlaHJzaW5zZWwgYXVmIGRlciByZWNodGVuIFNlaXRlLCBkb3J0IGxpbmtzIGFiYmllZ2VuIHVuZCB2b24gZGVuIDIKU3RyYXNzZW4gaW4gZGllIHJlY2h0ZXJlIHZvbiBiZWlkZW4gKEFsZXhhbmRlciBIZXJ6ZW4gU3RyLikgYWJiaWVnZW4KKFpvbmUgMzAsIHdlbnMgaW50ZXJlc3NpZXJ0KTsKdm9uIGRhIGF1cyBpbW1lciBnZXJhZGVhdXMgcmVjaHRzIHZvciBsaW5rcyBiZWFjaHRlbgood2llZGVydW0gZnVlciBJbnRlcmVzc2llcnRlKTsKZHVyY2ggZGFzIE5ldWJhdWdlYmlldCAoRERSLU1hc3N0YWViZSBhbmxlZ2VuKSBkdXJjaCAtPiBiaXMgRW5kZTsKRW5kZSBpc3QgZGllIFNjaHVsZSB1bmQgZGFzIGxpbmtlcmUgZGllIFR1cm5oYWxsZS4KClNjaHVsZTogODYuIE1pdHRlbHNjaHVsZQogICAgICAgIEFsZXhhbmRlci1IZXJ6ZW4tU3RyLiA2NAogICAgICAgIDAxMTA5IERECgpOb3RmYWxsd2Vnc2NyaXB0bnVtbWVyOiBNYW5nbyAwMTcyIC8gMzczOTk4OAogICAgICAgICAgICAgICAgICAgICAgICB2b24gMTY6MDAgLSAxODowMCBpc3QgZGFzIEhhbmR5IG5lYnN0IEJlc2l0emVyCiAgICAgICAgICAgICAgICAgICAgICAgIGJlaSBBTUQsIGFsc28gZWhlciBuaWNodCBlcnJlaWNoYmFyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmlldGUvc3VjaGUgTWl0ZmFocmdlbGVnZWhlaXQgUmF1bSBETy9NUy9QQiAoQmhhbWlyLCAgOC4gTWFyIDIwMDAsIDEwOjE1OjU2KToKaWNoIHN1Y2hlIG9kZXIgYmlldGUgbmUgTWl0ZmFocmdlbGVnZW5oZWl0IGltIERyZWllY2sKTXVlbnN0ZXIvRG9ydG11bmQvUGFkZXJib3JuLApoYXVwdHNhY2hlIGljaCBtdXNzIG5pY2h0IGFsbGVpbmUgZGEgcnVudGVyZ29uZGVsbi4gRmFocmVuIHdvbGx0IGljaCB3b2hsIGFtCkZyZWl0YWcgKHVuZCBhdWNoIGFua29tbWVuIDopICkuIApCaGFtaXIKUC5TLiBXZWlzcyBlaW5lciB2b24gKndlbGNoZXIqIEF1dG9iYWhuIG1hbiBkaWUgQWJmYWhydCB6dW0gRmx1Z2hhZmVuIG5laG1lbgptdXNzCm9kZXIgZ2lidHMgaW4gREQgbnVyIGVpbmUgQXV0b2JhaG4/CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBiaWV0ZS9zdWNoZSBNaXRmYWhyZ2VsZWdlaGVpdCBSYXVtIERPL01TL1BCIChEZWVwYmx1ZSwgIDguIE1hciAyMDAwLCAxMTo1Nzo0Myk6Cn4jISBybj1CaGFtaXIgcnQ9OTUyNTA2OTU2IHJnPXBhcnR5Cn4jISB0aWQ9OTUyNTA2OTU2Ck1vbWVudGFuIGdpYnRzIGhpZXIgbnVyIGRpZSBBNAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY2hpbmVzZW5zcGVpc2VrYXJ0ZTogbWcubXVkLmRlL1BhcnR5L25leHQgKE1lc2lyaWksICA4LiBNYXIgMjAwMCwgMTI6MDc6NTUpOgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VnIChXdXJ6ZWwsICA4LiBNYXIgMjAwMCwgMjI6NTI6NDQpOgp+IyEgcm49SG9vZCBydD05NTI0NzAxMjIgcmc9cGFydHkKfiMhIHRpZD05NTI0NzAxMjIKd2llIHNpZWh0IGVzIG1pdCBkZXIgYWRyZXNzZSBmdWVyIHNhbXN0YWcgYXVzPyBmcmVpdGFnIGthbm4gaWNoIG5pY2h0LCBrb21tZQplcnN0IGFtIHNhbXN0YWcuIGJ0dywgd2VnYmVzY2hyZWlidW5nIGlzdCB6d2FyIG5ldHQsIGFiZXIgaGlsZnQgbnVyIGJlZGluZ3QuCnRheGlmYWhyZXIga29lbm5lbiBtZWlzdCBtaXQgZGVyIHJpY2h0aWdlbiBhZHJlc3NlIG1laHIgYW5mYW5nZW4gOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3ZWcgKEhvb2QsICA5LiBNYXIgMjAwMCwgMDE6Mjg6MjEpOgp+IyEgcm49V3VyemVsIHJ0PTk1MjU1MjM2NCByZz1wYXJ0eQp+IyEgdGlkPTk1MjQ3MDEyMgpkaWUgYWRyZXNzZSBmdWVyIGRlbiBwYXJ0eXJhdW0gYW0gc2Ftc3RhZyBhYmVuZCBsYXV0ZXQKCkhhbnMtR3J1bmRpZy1TdHIuIDI1CkRyZXNkZW4gbmF0dWVybGljaCA6KSB3aXIgZmVpZXJuIGltIHNvZ2VuYW5udGVuIENEIC0gQ2x1YiBEdWVyZXJzdHJhc3NlCgpuYWNoIGVpbmUgYXV0b3dlZ2Jlc2NocmVpYnVuZyBicmF1Y2h0IGlociBtaWNoIG5ldCBmcmFnZW4sIGRhcyBpc3QKenUga29tcGxpemllcnQuIGRhIG11c3Mgc2ljaCB3ZXIgYW5kZXJzIG9wZmVybi4KaWNoIHdlaXNzIG51ciwgZGFzcyBkaWUgc3RyYXNzZW5iYWhubGluaWUgMTMgZGEgaXJnZW5kd28gbGFuZ2R1ZXN0IHVuZApidXNsaW5pZSA3NSBnbGF1YiBpY2gsIGhhYiBncmFkIGtlaW5lbiBwbGFuIGhpZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdlZyAoRGVlcGJsdWUsICA5LiBNYXIgMjAwMCwgMDg6MzA6MDYpOgp+IyEgcm49SG9vZCBydD05NTI1NjE3MDEgcmc9cGFydHkKfiMhIHRpZD05NTI0NzAxMjIKc28ga29tcGxpemllcnQgaXNzZXMgZG9jaCBuaWNodC4gV2VubiBJaHIgdm9uIEtsb3R6c2NoZSBrb21tdCBkaWUKS29lbmlnc2JydWVja2VyIGltbWVyIGdlcmFkZSBhdXMgYmlzIHVlYmVyIGRpZSBCcnVlY2tlIChDYXJvbGFicnVlY2tlKSwgZGFuYWNoCmxpbmtzLiBoaWVyIHdpZWRlciBnZXJhZGVhdXMgLCB1ZWJlciBkaWUgbmFlY2hzdGUgQW1wZWxrcmV1enVuZyBtaXQKU3RyYXNzZW5iYWhuIHVuZCBkb3J0IG5lbiBQYXJrcGxhdHogc3VjaGVuLiBBdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYWhycGxhbiB6dSBBTUQgKERlZXBibHVlLCAgOS4gTWFyIDIwMDAsIDEwOjQ1OjU0KToKRnVlciBMZXV0ZSwgaWUgdm9tIEhhdXB0YmFobmhvZiBnZW4gQU1EIGZhaHJlbiB3b2xsZW46CgpTdHJhZW5iYWhuIExpbmllIDMgV2lsZGVyIE1hbm4gYWIgMTQuNTQgVWhyIEhhdXB0YmFobmhvZiBOb3JkCmFuIDE1LjEwIFVociBMaXN0c3RyIApCdXMgTGluaWUgODEgQU1EIGFiIDE1LjE2IFVociBMaXN0c3RyCmFuIDE1LjMzIFVociBBTUQgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmZhaHJ0c3dlZyBQYXJ0eW9ydCBmdWVyIFNhbXN0YWcgKFN0aW5nLCAgOS4gTWFyIDIwMDAsIDIwOjAzOjA5KToKSGFsbG8gTGV1dGUsCgpEYSBpY2ggdmVybXV0bGljaCBuaWNodCBkZXIgZWluemlnZSBiaW4gZGVyIGVyc3QgYW0gU2Ftc3RhZyBhdWZrcmV1enQsIHVuZApiaXNoZXIgbml4IGRhenUgaW4gZGVyIFJ1YnJpayBzdGVodCwgZGFjaHRlIGljaCBtaXIsIGljaCBwb3N0ZSBoaWVyIG1hbCBkaWUKa3VyemUgZ3JvYmUgQmVzY2hyZWlidW5nIGRpZSBtaXIgRGVlcGJsdWUgZ2VnZWJlbiBoYXQ6CgpkaWUgQmVzY2hyZWlidW5nIGdpbHQgd2VubiBpaHIgdm9uIGRlciBBNCBrb21tdCwgQWJmYWhydCBGbHVnaGFmZW4KCnZvbiBkb3J0IHp1bSBQYXJ0eW9ydDogRGllIEthcmwtTWFyeC1TdHJhc3NlIChkYXNzIGlzdApkaWUgU3RyYXNzZSBhbSBGbHVnaGFmZW4gYmlzIHp1ciBLb2VuaWdzYnJ1ZWNrZXIgKGRhcwppc3QgZGllIG1pdCBkZW4gU2NoaWVuZW4pIHVuZCBkYW5uIHJpY2h0aW5nIHplbnRydW0KaW1tZXIgZ2VyYWRlYXVzLCBiaXMgZGllIEVsYmJydWVja2Uga29tbXQsIGRhbmFjaApsaW5rcyBiaXMgZGllIG5hZWNoc3RlIHN0cmFzc2UgbWl0IHNjaGllbmVuIGtvbW10CmRhIG5vY2ggZHJ1ZWJlciB1bmQgZGFubiBkaWUgZXJzdGUgb2RlciBkaWUgendlaXRlCmxpbmtzICh3ZWlzcyBqZXR6dCBuaWNodCBnZW5hdSkgaXN0IGRpZQpILUdydW5kaWctU3RyYXNzZS4gRG9ydCBpc3QgaXJnZW5kd28gZGFzIGNkCmhhbnMtZ3J1bmRpZy1zdHIuIDI1LCBjbHViIGR1ZXJlcnN0cmFzc2UKClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3ZWcgKE5vdmFzdG9ybSwgIDkuIE1hciAyMDAwLCAyMDowNDo1Nyk6Cn4jISBybj1EZWVwYmx1ZSBydD05NTI1ODcwMDYgcmc9cGFydHkKfiMhIHRpZD05NTI0NzAxMjIKQWVobSwgZGllIExldXRlIGRpZSBkaWVzZW4gZWluZmFjaGVuIFdlZyBuZWhtZW4sIApzb2xsdGVuIHRyb3R6ZGVtIGVpbmUgRmFocnR6ZWl0IHZvbiAyMCBNaW51dGVuCmJpcyB6dSBlaW5lciBoYWxiZW4gU3R1bmRlIGVpbmthbGt1bGllcmVuIC4uLgogIE5vdmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYWhya2FydGVuIGZ1ZXIgZGVuIE9lUE5WIGluIEREIChNZXNpcmlpLCAxMC4gTWFyIDIwMDAsIDAwOjM0OjU1KToKSGFsbG8gUGFydHlnYWVzdGUsCmRhIElociBFdWNoIGphIGluIERyZXNkZW4gYXVjaCBiZXdlZ2VuIHdvbGx0LCB1bmQgQXV0b2ZhaHJlbiBoaWVyIG5pY2h0IHNvCmVpbmZhY2ggaXN0LCBoYWJlbiB3aXIgRmFocmthcnRlbiBmdWVyIEJ1cyB1bmQgQmFobiBiZXNvcmd0LCB3aXIgd2VyZGVuIApzaWUgYW0gRnJlaXRhZyB6dXNhbW1lbiBtaXQgZGVuIFRhc3NlbiB2ZXJrYXVmZW4sIHdlciBrZWluZSBoYWJlbiB3aWxsLCAKa2FubiBuYXR1ZXJsaWNoIGF1Y2ggc2Nod2FyeiBmYWhyZW4uCgpXaXIgaGFiZW4gNDAgVGFnZXNrYXJ0ZW4genUgOCBNYXJrCnVuZCAyMCA0ZXIgS2FydGVuIChkaWUgc2ljaCB6d2VpIExldXRlIGZ1ZXIgSGluLSB1bmQgUnVlY2tmYWhydCB0ZWlsZW4gCmtvZW5uZW4pIGZ1ZXIgamUgMTAgTWFyawoKTWVzaSwgaGV1dCB2aWVsIEdlbGQgYmVpIGRlciBEVkIgYmV6YWhsdCBoYWJlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldJQ0hUSUcgVGFzc2UgdW5kIEJlc3RlY2shIChNZXNpcmlpLCAxMC4gTWFyIDIwMDAsIDAwOjM3OjA2KToKCk5vY2htYWwgenVyIEVyaW5uZXJ1bmchIEVzIGdpYnQga2VpbmUgUGFwcGJlY2hlci9UZWxsZXIvUGxhc3RlYmVzdGVjay4gV2VyCmtlaW5lIE1HLVRhc3NlIGthdWZ0LCBtdXNzIGVpbmUgbWl0YnJpbmdlbi4gQmVzdGVjayAodm9yIGFsbGVtIE1lc3NlcikgYXVjaAptaXRicmluZ2VuLiBXZXIgbml4IGhhdCwgaGF0IFBlY2ggZ2VoYWJ0IHVuZCBtdXNzIGF1cyBkZXIgSGFuZCB0cmlua2VuIHVuZCBtaXQKZGVyIEhhbmRrYW50ZSBzY2huZWlkZW4gdW5kIHNjaG1pZXJlbi4KCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXSUNIVElHIFRhc3NlIHVuZCBCZXN0ZWNrISAoWmVwaHlyLCAxMC4gTWFyIDIwMDAsIDAwOjM3OjU4KToKfiMhIHJuPU1lc2lyaWkgcnQ9OTUyNjQ1MDI2IHJnPXBhcnR5Cn4jISB0aWQ9OTUyNjQ1MDI2Ci4gbyBPIChPZGVyIHNpY2ggbmVuIEthcmF0ZXp3ZWl0aWUgZnVlciBkaWUgSGFuZGthbnRlbmFrdGlvbiBhdXNsZWloZW4/KQoKQzQsIGxhZXN0ZXJuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXSUNIVElHIFRhc3NlIHVuZCBCZXN0ZWNrISAoTWVzaXJpaSwgMTAuIE1hciAyMDAwLCAwMDo1MDowNik6Cn4jISBybj1aZXBoeXIgcnQ9OTUyNjQ1MDc4IHJnPXBhcnR5Cn4jISB0aWQ9OTUyNjQ1MDI2CmR1IHRyYXVzdCBkaWNoIGRvY2ggZWggbmljaCBuYWNoIEREIEM0IGFsc28gc2Nod2VpZyBzdGlsbGUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdJQ0hUSUcgVGFzc2UgdW5kIEJlc3RlY2shIChaZXBoeXIsIDEwLiBNYXIgMjAwMCwgMDA6NTE6MTgpOgp+IyEgcm49TWVzaXJpaSBydD05NTI2NDU4MDYgcmc9cGFydHkKfiMhIHRpZD05NTI2NDUwMjYKQWxzbyBiZXZvciBtaXIgaGllciB3ZXIgd2FzIGFuaGFlbmd0IC0gZGFzIExhZXN0ZXJuIGJlemllaHQgc2ljaApuaWNodCAtIGluIFdvcnRlbjogTklDSFQgLSBhdWYgZGllIFBhcnR5IDspCkM0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb2thdGlvbmVuIChNZXNpcmlpLCAxMC4gTWFyIDIwMDAsIDAxOjA0OjE1KToKClBhcnR5IChFY2tlIE1hcnNjaG5lcnN0ci9EdWVyZXJzdHIpCmh0dHA6Ly9kcmVzZGVuLWluZm8uZmhnLmRlL2NnaS1iaW4vZGQtaW5mby9zdGluLXN0cmUtYW56ZWlnZS5wbD9Nc2c9XyZLbGE9XyZOcgo9MCZNPTEmVlQ9MiZBTXNnPV8mQUtsYT1zdHJlJkFOcj01NDEzMzAxLTU2NTgxOTctMSZCTXNnPV8mQktsYT1fJkJOcj1fJkNNc2c9XyYKQ0tsYT1fJkNOcj1fJkRNc2c9XyZES2xhPV8mRE5yPV8mbGFuZz1nZQoKU2NobGFmdHVybmhhbGxlIChBbGV4YW5kZXItSGVyemVuLVN0ci4gNjQKaHR0cDovL2RyZXNkZW4taW5mby5maGcuZGUvY2dpLWJpbi9kZC1pbmZvL3N0aW4tc3RyZS1hbnplaWdlLnBsP01zZz1fJktsYT1fJk5yCj0wJk09MSZWVD0yJkFNc2c9XyZBS2xhPXN0cmUmQU5yPTU0MTUzNTYtNTY2NTg4OS0xJkJNc2c9XyZCS2xhPV8mQk5yPV8mQ01zZz1fJgpDS2xhPV8mQ05yPV8mRE1zZz1fJkRLbGE9XyZETnI9XyZsYW5nPWdlCgpDaGluZXNlIChTdGF1ZmZlbmJlcmdhbGxlZSAxMi0xNCkKaHR0cDovL2RyZXNkZW4taW5mby5maGcuZGUvY2dpLWJpbi9kZC1pbmZvL3N0aW4tc3RyZS1hbnplaWdlLnBsP01zZz1fJktsYT1fJk5yCj0wJk09MSZWVD0yJkFNc2c9XyZBS2xhPXN0cmUmQU5yPTU0MTI4NzktNTY2MDkyNC0xJkJNc2c9XyZCS2xhPV8mQk5yPV8mQ01zZz1fJgpDS2xhPV8mQ05yPV8mRE1zZz1fJkRLbGE9XyZETnI9XyZsYW5nPWdlCgpTdGFkdHplbnRydW0gKEFsdG1hcmt0KQpodHRwOi8vZHJlc2Rlbi1pbmZvLmZoZy5kZS9jZ2ktYmluL2RkLWluZm8vc3Rpbi1zdHJlLWFuemVpZ2UucGw/TXNnPV8mS2xhPV8mTnIKPTAmTT0xJlZUPTImQU1zZz1fJkFLbGE9c3RyZSZBTnI9NTQxMTYyMS01NjU3OTE2LTEmQk1zZz1fJkJLbGE9XyZCTnI9XyZDTXNnPV8mCkNLbGE9XyZDTnI9XyZETXNnPV8mREtsYT1fJkROcj1fJmxhbmc9Z2UKCk1lc2ksIGlpaWhoIGhpbGZzYmVyZWl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPRVBOViBEcmVzZGVuIFNlaXRlIChNZXNpcmlpLCAxMC4gTWFyIDIwMDAsIDAxOjE2OjMxKToKaHR0cDovL3d3dy5kdmJhZy5kZS9pbmhhZi9zZWl0ZTEvc3RhcnQuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG9rYXRpb25lbiAoSGF0ZSwgMTAuIE1hciAyMDAwLCAwNzozOToxNSk6Cn4jISBybj1NZXNpcmlpIHJ0PTk1MjY0NjY1NSByZz1wYXJ0eQp+IyEgdGlkPTk1MjY0NjY1NQpXZXIgc2ljaCBkaWUgbGlua3MgbmljaHQga29waWVyZW4gd2lsbCBzb2xsdGU6IGltIFdXVyBkaWUgWmVpdHVuZyBhbnNlaGVuLCBkYQp3ZXJkZW4gZGllIGxpbmtzIGF1Y2ggYWxzIHNvbGNoZSBkYXJnZXN0ZWxsdC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW5mYWhydHN3ZWcgUGFydHlvcnQgZnVlciBTYW1zdGFnIChEZWVwYmx1ZSwgMTAuIE1hciAyMDAwLCAxMTo1OTo0Nyk6Cn4jISBybj1TdGluZyBydD05NTI2Mjg1ODkgcmc9cGFydHkKfiMhIHRpZD05NTI2Mjg1ODkKV2VyIHVlYmVyIGRpZSBBNCBrb21tdCB1bmQgZGlyZWt0IHp1bSBDRCBmYWhyZW4gd2lsbCwgZGVyIG11c3MgbmF0dWVybGljaApuaWNodCBiaXMgRmx1Z2hhZmVuIGF1ZiBkZXIgQXV0b2JhaG4gYmxlaWJlbi4KRHJlc2RlbiBBbHRzdGFkdCBhYmZhaHJlbiB1bmQgUmljaHR1bmcgWmVudHJ1bSBvcmllbnRpZXJlbiAoZGllIEI2KSB1bmQgZGFubgp3ZWl0ZXIgZ2VyYWRlYXVzLiBQb3N0cGxhdHogbXVzcyB1bWZhaHJlbiB3ZXJkZW4gKGlzdCBmdWVyIEF1dG9zIGdlc3BlcnJ0IC0gCnVtZmFocnVuZyBzb2xsdGUgYWJlciBsZWljaHQgenUgZmluZGVuIHNlaW4pIHVuZCB3ZWl0ZXIgZ2VyYWRlYXVzIHVlYmVyIGRlbgpQaXJuYWlzY2hlbiBQbGF0eiBiaXMgenVtIFN0cmFzc2J1cmdlciBQbGF0eiAodm9yIGRlciBWVy1CYXVzdGVsbGUpIHVuZCBkb3J0CmxpbmtzLiBEaWUgbmFlY2hzdGUgQW1wZWxrcmV1enVuZyByZWNodHMgdW5kIHdpZWRlciBkaWUgZXJzdGUgb2RlciB6d2VpdGUKbGlua3MgKHNhZyBtYWwgZWluIFRVZXIsIHdlbGNoZSBkb3J0IGRpZSBILUdydW5kaWctU3RyYXNzZSBpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5mYWhydHN3ZWcgUGFydHlvcnQgZnVlciBTYW1zdGFnIChNZXNpcmlpLCAxMC4gTWFyIDIwMDAsIDEzOjAzOjA5KToKfiMhIHJuPURlZXBibHVlIHJ0PTk1MjY4NTk4NyByZz1wYXJ0eQp+IyEgdGlkPTk1MjYyODU4OQp2b24gc3RyYXNzYnVyZ2VyIHBsYXR6IGF1cyBpc3QgZXMgZGllIHp3ZWl0ZSBsaW5rcywgZGFubiBpc3QgZGllIG5hZWNoc3RlCmtyZXV6dW5nIGRpZSBtYXJzY2huZXJzdHIuL2R1ZXJlcnN0ci4gKGRpZSBkdWVyZXJzdHIuIGlzdCBkaWUgaW4gZGllIG1hbCBsaW5rcwplaW5iaWVndApNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eXJlcG9ydCBJIChHbG9pbiwgMTEuIE1hciAyMDAwLCAyMDo0MDo1MCk6CkFuYXRvbCwgV3VyemVsIHVuZCBQYXRyeW4gZGlza3V0aWVyZW4gYW5nZXJlZ3QgdWViZXIgQmFsYW5jZSB1bmQgYW5kZXJlCm5ldHRlIFRoZW1lbiAuLi4KTkVVRSBQSVpaQSAgIEkgUyBUICAgSiBFIFQgWiBUICAgRCBBICEhIQpEaWUgRGlza3Vzc2lvbiBlbmRldCBzY2hsYWdhcnRpZy4KCk1hbmNoZSBEaXNrdXNzaW9uZW4gaW4gTVVEIG11ZXNzdGUgbWFuIGViZW5zbyBiZWVuZGVuIGtvZW5uZW4gLi4uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5cmVwb3J0IEkgKERlZXBibHVlLCAxMi4gTWFyIDIwMDAsIDExOjM5OjMwKToKfiMhIHJuPUdsb2luIHJ0PTk1MjgwMzY1MCByZz1wYXJ0eQp+IyEgdGlkPTk1MjgwMzY1MApGdW5rdGlvbmllcnRlIGxlaWRlciBudXIgYmVpIGRlciBlcnN0ZW4gUGl6emEuIFdhcyBoYWxiIDMgbm9jaCBhbiBQaXp6YSBydW1sYWcKLSBoYWV0dGUgbWFuIGdsZWljaCAzIG5ldWUgVGFua2VuIGhpZXIgYXVmbWFjaGVuIGtvZW5uZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlcm1pbiBTb21tZXJwYXJ0eT8gKE1lc2lyaWksIDEzLiBNYXIgMjAwMCwgMDA6NDk6NTUpOgpUZWFtOiBCZXJsaW4sIHdhbm4gaXN0IGRpZSBTb21tZXJwYXJ0eT8KTWVzaSwgZnJvaCBkYXNzIE9yZ2FuaXNpZXJlbiB2b3JiZWkgaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWb3J0cmFnIGltIFdlYiAoTWVzaXJpaSwgMTMuIE1hciAyMDAwLCAwMTozMToxNCk6CkRhcyBUZXh0ZmlsZSBkZXMgVm9ydHJhZ3MsIGRhcyBpY2ggaW1tZXIgaGluLSB1bmQgaGVyZ2VzY3JvbGx0IGhhYiwgaXN0IGpldHp0CmltIFdlYiB1bnRlciBodHRwOi8vZW13LmluZi50dS1kcmVzZGVuLmRlL35taDE0L3RmL3ZvcnRyYWcgenUgZmluZGVuLgpNZXNpClAuUzogRnJhZ3QgcnVoaWchCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXR0ZXIgYmVpIFBhcnR5IChNZXNpcmlpLCAxMy4gTWFyIDIwMDAsIDEyOjMxOjE3KToKRGFtaXQgYWxsZSBub2NobWFsIHdhcyB6dSBsYWNoZW4gaGFiZW4uCldpc3N0IElociwgd2FydW0gSXZvIHVuZCBNYW5nbyBnZW5hdSBkaWVzZXMgV29jaGVuZW5kZSByYXVzZ2VzdWNodCBoYWJlbj8KV2VpbCBkYSB2b3IgZWluZW0gSmFociBzY2hvZW5lcyBXZXR0ZXIgd2FyLCB1bmQgc2llIGFubmFobWVuIGRhc3MgZXMgYXVjaApqZXR6dCB3aWVkZXIgc28gc2VpPyBBYmVyIGRhIGhhYmVuIHNpZSBzaWNoIHdvaGwgZ2VzY2huaXR0ZW4uCk1lc2ksIGltbWVyIG5vY2gga29wZnNjaHVldHRlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZXJ6bGljaGVuIERhbmshIChSb25kYSwgMTMuIE1hciAyMDAwLCAxMzoyNDo1NCk6CkhpLAp2aWVsZW4gaGVyemxpY2hlbiBEYW5rIGFuIGFsbGUsIGRpZSBkaWUgUGFydHkgenUgc28gZWluZW0gRXJmb2xnIGdlbWFjaHQKaGFiZW4hCk9rLCBkYXMgbWl0IGRlbSBXZXR0ZXIgdWViZW4gd2lyIG5vY2htYWwsIGFiZXIgYXVjaCBkYXMgaGF0dGUgc2VpbmUgZ3V0ZW4KU2VpdGVuID06LSkKVW5kIGVzIGlzdCBlbmRsaWNoIGJld2llc2VuLCBkYXNzIE11ZGRlciBrZWluZW4gV2FybWR1c2NoZXIgc2luZDogZW50d2VkZXIKc2luZCBzaWUgZWlza2FsdC1EdXNjaGVyIG9kZXIgWndlcmdlIDstKQoKUm9uZGEgKmZ1ZXIgZGllJ3MgYmlzaGVyIGRpZSBnZW5pYWxzdGUgUGFydHkgdWViZXJoYXVwdCB3YXIuLi4gZ3JpbnMuLi4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVyemxpY2hlbiBEYW5rISAoTGFyaXNzYSwgMTMuIE1hciAyMDAwLCAxODo1NDozNik6Cn4jISBybj1Sb25kYSBydD05NTI5NTAyOTQgcmc9cGFydHkKfiMhIHRpZD05NTI5NTAyOTQKQWhvaSEKCkF1Y2ggdm9uIG1pciBlaW5lbiBzdXBlcnN1cGVyIGhlcnpsaWNoZW4gRGFuayBhbiBkaWUKUGFydHlvcmdhbmlzYXRvcmVuLCBkaWUgYWxsZXMgd2lya2xpY2ggcHJpbWEgdW5kIGxpZWJldm9sbCAKZ2VtYW5hZ2VkIGhhYmVuLiBEcmVzZGVuIGlzdCB6d2FyIHdlaXQgYWJlciBkZXIgV2VnIGhhdCBzaWNoIGdlbG9obnQhISEKCkxhcmksCgooZGllIGJlc3RlIFBhcnR5IHdhciBhYmVyIHVuendlaWZlbGhhZnQgZGllIHZvbSBTb21tZXIgOTUsIFJvbmRhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm90b3Mgdm9uIEJyYW5kaXIgKExpYXJhLCAxNC4gTWFyIDIwMDAsIDIzOjIzOjU2KToKQWxzbyBiZXZvciBtaWNoIGhpZXIgbm9jaCBtZWhyIGZyYWdlbiBiencuIHNpY2ggd3VuZGVybiAuLi4gKmdyaW5zKgpJY2ggd2FyIE5JQ0hUIGF1ZiBkZXIgUGFydHkgaW4gRHJlc2Rlbi4gOy0pCgpEaWUgQmlsZHVudGVyc2NocmlmdGVuIHNpbmQgbGVpZGVyIGZhbHNjaC4gRXMgaGFuZGVsdCBzaWNoIHdvaGwgdW0gWGVuYWRhIC4uLgo7LSkKCkxpYXJhLCBad2VyZ2VuemF1YmVyaW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm90b3Mgdm9uIEJyYW5kaXIgKFhlbmFkYSwgMTQuIE1hciAyMDAwLCAyMzoyNToyOCk6Cn4jISBybj1MaWFyYSBydD05NTMwNzI2MzYgcmc9cGFydHkKfiMhIHRpZD05NTMwNzI2MzYKSmEgaWNoIHdhciBlcyA6KQpLb3JyaWdpZXJ0ZSB1bmQgZXJnYWVuenRlIE5hbWVuIHNpbmQgc2Nob24gYXVmIGRlbSBXZWcgenUgQnJhbmRpciA6KQpYZW5hZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5Zm90b3MgKEJyYW5kaXIsIDE0LiBNYXIgMjAwMCwgMjM6NDI6MzcpOgpPa09rLCBpY2ggaGFiZSBkaWUgRm90b3MgdW5rb21tZW50aWVydCBhYmdlZ2ViZW4uIEFiZXIgYWxsZXMgbnVyLCB3ZWlsIGlociBzbwpnZWRyYWVuZ2VsdCBoYWJ0IDopICpyZWQgcmF1cyogRGllIEtvbW1lbnRhcmUgc2luZCB2b24gUm9jaHVzLCBiaXR0ZSBnZWJ0IGlobQpldXJlIFZlcmJlc3NlcnVuZ3N2b3JzY2hsYWVnZS4gSWNoIHdlaXNzIHNlaHIgd29obCwgZGFzIExpYXJhIG5pY2h0IGF1ZiBkZXIKUGFydHkgd2FyIDopCgpCcmFuZGlyIC0ga29tbWVudGllcnQgZGVtbmFlY2hzdCB3aWVkZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWZvdG9zIChGb29iYXIsIDE0LiBNYXIgMjAwMCwgMjM6NDk6NTUpOgp+IyEgcm49QnJhbmRpciBydD05NTMwNzM3NTcgcmc9cGFydHkKfiMhIHRpZD05NTMwNzM3NTcKV2llPwoKTGlhcmEgd2FyIG5pY2h0IGF1ZiBkZXIgUGFydHk/CgpGb29iYXIgLSBncnVlYmVsbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm90b3Mgdm9uIEJyYW5kaXIgKExpYXJhLCAxNS4gTWFyIDIwMDAsIDAwOjIyOjQzKToKfiMhIHJuPUxpYXJhIHJ0PTk1MzA3MjYzNiByZz1wYXJ0eQp+IyEgdGlkPTk1MzA3MjYzNgpGb3RvIDQ5IHN0ZWxsdCB1ZWJyaWdlbnMgZGFzIExhZ21vbnN0ZXIgZGEuIDstKQoKTGlhcmEsIFp3ZXJnZW56YXViZXJpbmUsIC4uLiBrb25udGUgbmljaHQgYW5kZXJzIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsZGVyIGFiZ2Vob2x0IChMYXJpc3NhLCAyNC4gTWFyIDIwMDAsIDE5OjI4OjM5KToKSGksCgpoZXV0IGhhYiBpY2ggZGllIEJpbGRlciB2b24gZGVyIFBhcnR5IGFiZ2Vob2x0LCBrb21pc2NoIG51ciwKZGFzcyBpY2ggbWFzc2VuaGFmdCBCaWxkZXIgdm9uIGVpbmVtIE11ZGRlciBuYW1lbnMgTXlzdGVyaW91cyBoYWIuCk11c3N0ZSBkZXIgc2ljaCBpbW1lciBhdWZzIEZvdG8gZHJhZW5nZWxuPz8/CgpMYXJpIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJpbGRlciBhYmdlaG9sdCAoTXlzdGVyaW91cywgMjUuIE1hciAyMDAwLCAwMDo1OTowMyk6Cn4jISBybj1MYXJpc3NhIHJ0PTk1MzkyMjUxOSByZz1wYXJ0eQp+IyEgdGlkPTk1MzkyMjUxOQpobXBmIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbm9jaCAnbiBwYWFyIG5ldWUgQmlsZGNoZW4gOikgKFNpc2F5LCAxMi4gQXByIDIwMDAsIDIxOjM2OjI2KToKCkVzIGhhdCB6d2FyIGV0d2FzIGdlZGF1ZXJ0LCBhYmVyIG51biBzaW5kIHNpZSBkb2NoIGVuZGxpY2ggZmVydGlnCmdld29yZGVuOiBTaGFkZSdzIEJpbGRlciB2b24gZGVyIGxldHp0ZW4gUGFydHkhIFdlciBhbHNvIGltbWVyIG5vY2gKbmljaHQgZ2VudWcgZGF2b24gZ2VzZWhlbiBoYXQsIHdlaXNzIGphLCB3byBkaWVzZSB6dSBmaW5kZW4gc2luZC4KClNpc2F5LCBpbSBBdWZ0cmFnIGZhaG5lbmZsdWVjaHRpZ2VyIEdlbmVyYWVsZSBzY2hyZWliZW5kIC4uLi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lciAoTGFyaXNzYSwgMTMuIEFwciAyMDAwLCAxOTo0MToxNik6CkFob2khCgpFcyBpc3Qgc2Nod2VpbmVrYWx0IGRyYXVzc2VuLCBlcyByZWduZXQgZGF1ZXJuZCB1bmQgZGFtaXQgaWNoIG1pY2gKbWFsIHdpZWRhcyBhdWYgd2FzIGZyZXVlbiBrYW5uLCBrb2VubnRlIG1hbCBlaW5lciB2ZXJyYXRlbiwKCndhbm4sIHdvLCB3aWUsCgplcyBuZSBTb21tZXJwYXJ0eSBnaWJ0PwoKTGFyaSwgbmFzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lciAoUm9jaHVzLCAxMy4gQXByIDIwMDAsIDE5OjQzOjA4KToKfiMhIHJuPUxhcmlzc2EgcnQ9OTU1NjQ3Njc2IHJnPXBhcnR5Cn4jISB0aWQ9OTU1NjQ3Njc2CkJlcmxpbiwgd2FocnNjaGVpbmxpY2ggQW5mYW5nIEF1Z3VzdCwgU29tbWVyY2FtcCAoMSBXb2NoZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXIgKEdub21lLCAxNC4gQXByIDIwMDAsIDAxOjI2OjEyKToKfiMhIHJuPUxhcmlzc2EgcnQ9OTU1NjQ3Njc2IHJnPXBhcnR5Cn4jISB0aWQ9OTU1NjQ3Njc2CmlociBwYXJ0eS1zdWVjaHRpZ2VuIQoKamEgbmF0dWVybGljaCBnaWJiZXQgbmUgc29tbWVycGFydHkuIGVpbiByaWNodGlnIGZldHRlcyBkaW5nLCBkYXMga2FubiBpY2gKZXVjaCB2ZXJzcHJlY2hlbiEKdW5kIGRhcyBvcmdhLXRlYW0gaXN0IGF1Y2ggc2Nob24gYW0gc3RhcnQuLi4KbnVyIHNvIHZpZWw6IGJlcmxpbiwgaXJnZW5kd2FubiB6d2lzY2hlbiBqdWxpIHVuZCBzZXB0ZW1iZXIuCgpkZW1uYWVjaHN0IG1laHIuLi4gOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lciAoTHVnLCAxNC4gQXByIDIwMDAsIDE5OjI3OjAxKToKfiMhIHJuPUdub21lIHJ0PTk1NTY2ODM3MiByZz1wYXJ0eQp+IyEgdGlkPTk1NTY0NzY3NgoKQWVoLAoKQXVndXN0PyBFcnN0ZXMgQXVndXN0IFdFIGlzdCB3aWUgamVkZXMgSmFociBXOk86QSBiZWkgZGVtIGVpbmUgZ2FuemUgUmVpaGUgdm9uCk11ZGRlcm4gYWJoYWVuZ2VuLgoKLT4gSGlud2VpcwoKTWlyYWJlcmVoZWdhbApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lciAoR25vbWUsIDE0LiBBcHIgMjAwMCwgMjA6MTY6MzApOgp+IyEgcm49THVnIHJ0PTk1NTczMzIyMSByZz1wYXJ0eQp+IyEgdGlkPTk1NTY0NzY3Ngp3ZW5uIGR1IG1pciBqZXR6dCBub2NoIHNhZ3N0LCBfd2VsY2hlXyBtdWRkZXIgenUgZGllc2VtIHplaXRwdW5rdCBhYmhhZW5nZW4sCmthbm4gaWNoIGRpciBzYWdlbiwgb2IgZGllc2VzIFdFIGluIGRpZSBlbmdlcmUgYXVzd2FobCBrb21tdCwgb2RlciBuaWNodC4uLgoKamFqYS4uLiB3YXJuIHNjaGVyeiA6KT0KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXIgKEx1ZywgMTUuIEFwciAyMDAwLCAwMTo0NDo0OSk6Cn4jISBybj1Hbm9tZSBydD05NTU3MzYxOTAgcmc9cGFydHkKfiMhIHRpZD05NTU2NDc2NzYKClNpZWhlIEt1bHR1ci4KCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGFydHkgMjAwMCBpbiBiZXJsaW4hIChHbm9tZSwgMTYuIE1haSAyMDAwLCAxODo0MDowNyk6CmhpLAoKaWhyIGVyd2FydGV0IHVuZ2VkdWxkaWcgZGllIG5hZWNoc3RlIHBhcnR5PyBpaHIgd29sbHQgZWluZSB0b2xsZSB3b2NoZSBpbi9iZWkKYmVybGluIGVybGViZW4/IGlociB3b2xsdCBhYmVyIGVpZ2VudGxpY2ggYXVjaCBkZW1uYWVjaHN0IGluIHVybGF1YiBmYWhyZW4/CgpkYXMgW1RlYW06T3JnYXRlYW0gQmVybGluXSBoYXQgRElFIGxvZXN1bmcgZnVlciBldWNoOiB2ZXJiaW5kZXQgZWluZmFjaApkaWVzZSBkcmVpIHd1ZW5zY2hlIG1pdGVpbmFuZGVyIHVuZCBrb21tdCB6dXIKCkJlcmxpbiBQYXJ0eSAyMDAwCgppbiBtYWxlcmlzY2hlciB1bWdlYnVuZyBkaWUgc2VlbGUgYmF1bWVsbiBsYXNzZW4sIHNjaHdpbW1lbiBpbSBzZWUgdm9yIGRlcgpoYXVzdHVlciwgZGVuIGJhc2tldGJhbGwgaW0ga29yYiB2ZXJzZW5rZW4sIGJlaW0gYmVhY2h2b2xsZXliYWxsIGdsYWVuemVuLApiZXJsaW4gaW0gc29tbWVyIGVybGViZW4sIGJlaW0gZ3JpbGxlbiBkaWUgdG9sbHN0ZW4gZ2VzY2hpY2h0ZW4gZXJ6YWVobGVuLApvZGVyIHNpY2ggZWluZmFjaCBpbiBkZXIgYXVndXN0c29ubmUgYnJhdGVuIGxhc3Nlbi4gd2llIGVzIGV1Y2ggZ2VmYWVsbHQuLi4KCnplaXQ6CgpjYW1waW5nOiAwNy4gYXVndXN0IC0gMTMuIGF1Z3VzdCAyMDAwCgogIHBhcnR5OiAxMi4gYXVndXN0IDIwMDAsIGFiIDIwLjAwaAoKb3J0OgoKaGVyYmVyZ2UgenVtIGJyaWVzZWxhbmcKYW0gd2FsZCAyNAoxNDY1NiBicmllc2VsYW5nCgplcyBnaWJ0IGRvcnQgaW4gZGVyIGhlcmJlcmdlIHByaW56aXBpZWxsIDIgbW9lZ2xpY2hrZWl0ZW4gZGVyIHVlYmVybmFjaHR1bmc6CmNhbXBpbmcgdW5kIGJ1bmdhbG93LiBkYSBkaWUgc2FuaXRhZXJlbiBlaW5yaWNodHVuZ2VuIGRvcnQgYmVncmVuenQgc2luZCB1bmQKd2lyIGFtIGFuZmFuZyBkZXIgd29jaGUgbmljaHQgZGllIGVpbnppZ2VuIHNpbmQsIGRpZSBkb3J0IGhlcmJlcmdlbiB3ZXJkZW4sCmhhYmVuIHdpciB1bnMgZHJhdWYgZ2VlaW5pZ3QsIGRhc3Mgc293b2hsIGRpZSBjYW1wZXIgYWxzIGF1Y2ggZGllIGJ1bmdhbG93LQpiZXdvaG5lciBkdXJjaCBoYWxicGVuc2lvbiB2ZXJwZmxlZ3Qgd2VyZGVuLgoKcHJlaXNlOgoKIGNhbXBpbmc6IDE1LC0gdWViZXJuYWNodHVuZywgKyAxNCwtIHZlcnBmbGVndW5nID0gMjksLSBwcm8gbmFjaHQgcHJvIG5hc2UKCmJ1bmdhbG93OiAxOS4tIHVlYmVybi4sICsgMTQsLSB2ZXJwZmwuID0gMzMsLSBwbnBuICsgNiwtIGJldHR3YWVzY2hlCihlaW5tYWxpZykKCnBhcnR5YmVpdHJhZyBmdWVyIFNhOiAxNSwtCgprbGVpbmtpbmRlciB6YWhsZW4gbml4LgoKZnVlciBTby4gKDEzLjA4LikgemFobGVuIHdpciB6d2FyIGZydWVoc3R1ZWNrICg3LC0pLCBiZWtvbW1lbiBhYmVyIGtlaW5zLgpkaWVzZXIgYmV0cmFnIHdpcmQgbWl0IGRlbSBlcnN0a2xhc3NpZ2VuIGJ1ZmZldCBhbSBTYS4gYWJlbmQgdmVycmVjaG5ldCwgZGFzCnVucyBkZXIgaGVyYmVyZ3NsZWl0ZXIgdmVycHNyb2NoZW4gaGF0LiBkZXNoYWxiIGtvZW5uZW4gd2lyIGRpZXNtYWwgZGVuCnBhcnR5YmVpdHJhZyByZWxhdGl2IGdlcmluZyBoYWx0ZW4uCmFtIFNvLiB3ZXJkZW4gd2lyIGFsc28gZGlyZWt0IHp1bSBtaXR0YWdlc3NlbiB1ZWJlcmdlaGVuLiB6dW0gbWl0dGFnIGdlaGVuCndpciB6dW0gaXRhbGllbmVyIHVuZCBkYXMgemFobHQgYWJlciBqZWRlciBzZWxiZXIuCgoxLiBic3A6IHdlciBhbHNvIGFtIERpLiBuYWNobWl0dGFnIGtvbW10IHVuZCBiaXMgenVtIFNvLiBjYW1wZW4gbW9lY2h0ZSwgemFobHQKICAgICAgICBpbnNnZXNhbXQgMTYwLC0gKDUqMjksLSArIDE1LC0pCgoyLiBic3A6IHdlciBGci4gbWl0dGFnIGFucmVpc3QgdW5kIGJpcyBTby4gaW0gYnVuZ2Fsb3cgdmVyYnJpbmdlbiBtb2VjaHRlLAogICAgICAgIHphaGx0IGluc2dlc2FtdCA4NywtICgyKjMzLC0gKyAxNSwtICsgNiwtKQoKYWxsZSBkaWVzZSBwcmVpc2Ugc2luZCBhYmVyIG5vY2ggTklDSFQgZW5kZ3VlbHRpZyEKCmRlciBoZXJiZXJnc2xlaXRlciB3dWVyZGUgdW5zIGV2dGwuIG1pdCBkZW4gcHJlaXNlbiBlbnRnZWdlbmtvbW1lbiwgd2VubiBlcgpyZWxhdGl2IGdlbmF1IHVuZCBmcnVlaHplaXRpZyB3dWVzc3RlLCB3aWV2aWVsIHBlcnNvbmVuIGFtIE1vLCBEaSwgZXRjLgphbnJlaXNlbi4KZXMgc3RlaHQgaW4gZGVuIG5hZWNoc3RlbiB0YWdlbiBlaW4gcGFydHlicmV0dCBiZXJlaXQsIGF1ZiB3ZWxjaGVtIGlociBldWNoCmJpdHRlIGJhbGQgYW50cmFnZW4gc29sbHRldC4gYW0gMTMuIGp1bmkgd2VyZGUgaWNoIGRlbSBsZWl0ZXIgZGllIGFuZ2VtZWxkZXRlbgp6YWhsZW4gdWViZXJnZWJlbiwgd29yYXVmaGluIGVyIGVudHNjaGVpZGV0LCB3aWV2aWVsIHByZWlzbmFjaGxhc3MgZXIgdW5zCmdld2FlaHJlbiBrYW5uLiBlcyBsaWVndCBhbHNvIGluIGV1cmVtIGludGVyZXNzZSwgZXVjaCBzY2huZWxsIGFuenVtZWxkZW4uCgpmdWVyIG11dHRlci92YXRlciBtaXQga2luZCBzaW5kIHp3ZWkgYnVuZ2Fsb3dzIG1pdCBrb2NobmlzY2hlIHVuZCBiYWQKcmVzZXJ2aWVydC4gYWxsZSBhbmRlcmVuIGR1ZXJmZW4gbWl0IGJldHQgdW5kIHNjaHJhbmsgdm9ybGllYiBuZWhtZW4gOikKCmljaCB3ZXJkZSBtaWNoIGJlbXVlaGVuLCBkYXNzIGJhbGQgZXJzdGUgaW5mb3MgaW0gbmV0eiBzdGVoZW4uCgp3ZW5uIGludGVyZXNzZSBkYXJhbiBiZXN0ZWh0LCBhbSBTYS4gdm9ydHJhZWdlIHp1IGhhbHRlbiwgYml0dGUgbWlyIG1haWxlbi4KCnZvcmxhZXVmaWdlciB6ZWl0cGxhbjoKCk1vLi1Gci4gYWIgMTAuMDBoIGZydWVoc3R1ZWNrCiAgICAgICAgYWIgMjAuMDBoIGFiZW5kYnJvdAoKICAgIFNhLiBhYiAxMC4wMGggZnJ1ZWhzdHVlY2sKICAgICAgICBhYiAxMi4wMGggdm9ydHJhZWdlICg/KQogICAgICAgIGFiIDE0LjAwaCBSTC1xdWVzdAogICAgICAgIGFiIDIwLjAwaCBwYXJ0eQoKICAgIFNvLiBhYiAxMi4zMGggSXRhbGllbmVyIAoKYXVjaCBoaWVyIGtvZW5uZW4gZ2VyaW5nZnVlZ2lnIG5vY2ggdmVyYWVuZGVydW5nZW4gZWludHJldGVuLgp3aXIgYml0dGVuIHVtIG5hY2hzaWNodC4KCnNvLCBkZW1uYWVjaHN0IG1laHIuCgppLkEuIGRlcyBPVEIKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHkgMjAwMCBpbiBiZXJsaW4hIChYZW5hZGEsIDE2LiBNYWkgMjAwMCwgMTk6MDQ6NDIpOgp+IyEgcm49R25vbWUgcnQ9OTU4NDk1MjA3IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3ClNvLCBuaWNodCBkYXMgaWhyIHdhcyBmYWxzY2ggdmVyc3RlaHQsIHdlbm4gaWhyIG1pdCBNYW1pIHVuZCBwYXBpIGFucmVpc3QKb2RlciBldWNoIHdpZSBLbGVpbmtpbmRlciBiZW5laG10IHphZWhsdCBpaHIgdHJvdHpkZW0gbmljaHQgYWxzIHNvbGNoZSA7KQpYZW5hZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFydHkgMjAwMCBpbiBiZXJsaW4hIChIaWdodCwgMTYuIE1haSAyMDAwLCAxOToxMDoyMCk6Cn4jISBybj1YZW5hZGEgcnQ9OTU4NDk2NjgyIHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3CnNoaXQgdW5kIHdhcyBtYWNoIGljaCBldHogPwoKLT4gc2NobWFybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhcnR5IDIwMDAgaW4gYmVybGluISAoT3JrdG9ldGVyLCAxNi4gTWFpIDIwMDAsIDIwOjQzOjA1KToKfiMhIHJuPUdub21lIHJ0PTk1ODQ5NTIwNyByZz1wYXJ0eQp+IyEgdGlkPTk1ODQ5NTIwNwpJdGFsaWVuZXIgPwoKQiBVIEcgISEhIQoKCkFuc29uc3Rlbi4uIGtsaW5ndCBndXV1dXQhCiAgT3JrVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0eSAyMDAwIGluIGJlcmxpbiEgKFhlbmFkYSwgMTYuIE1haSAyMDAwLCAyMDo1MjozMSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTU4NTAyNTg1IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3Ckl0YWxpZW5lciBpc3QgYmVpIFt0ZWFtOnBsYW5sb3NdIGtlaW4gYnVnIDopClhlbmFkYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcGFydHkgMjAwMCBpbiBiZXJsaW4hIChVbG8sIDE4LiBNYWkgMjAwMCwgMTE6MjE6MzYpOgp+IyEgcm49WGVuYWRhIHJ0PTk1ODUwMzE1MSByZz1wYXJ0eQp+IyEgdGlkPTk1ODQ5NTIwNwoKSXRhbGllbmVyID8KCmRhcyBtYWcgYmVpIFtUZWFtOlBsYW5sb3NdIGtlaW4gYnVnIHNlaW4sIGFiZXIgZXMgaXN0IGVpbiB1bmVyaHJ0ZXIKVHJhZGl0aW9uc2JydWNoISEhIFdpciBrbm5lbiBudXIgaG9mZmVuLCBkYXNzIGRlciBJdGFsaWVuZXIgYXVjaCBlaW5lClBpenphICdQZWtpbmcgRW50ZScgaGF0IC4uLiA7LSkKClVsbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGFydHkgMjAwMCBpbiBiZXJsaW4hIChHYW5kdXIsIDE4LiBNYWkgMjAwMCwgMTE6MzQ6NTQpOgp+IyEgcm49VWxvIHJ0PTk1ODY0MTY5NiByZz1wYXJ0eQp+IyEgdGlkPTk1ODQ5NTIwNwpEYXMgbWFnIHp3YXIgZWluIFRyYWRpdGlvbnNicnVjaCBvaG5lIGdsZWljaGVuIHNlaW4sIG51ciBnaWJ0IGVzIGluCkJyaWVzZWxhbmcga2VpbiBDaGluZXNlbiB1bmQgd2lyIG11ZXNzdGVuIGFtIFNvbm50YWcgZXJzdCBub2NoIG1pbmQuCm5lIGhhbGJlIFN0dW5kZSBtaXQgQXV0byBuYWNoIEJlcmxpbiByZWluZmFocmVuIHVtIGRvcnQgYmVpbSBDaGluZXNlbgp6dSBlc3NlbiAuLi4gZGEgQmVybGluIGZ1ZXIgdmllbGUgb2huZWhpbiBuaWNodCBkZXIgbmFlY2hzdGUgV2VnIGlzdAp1bmQgQnJpZXNlbGFuZyBnZXJhZGUgbWFsIDEwIG1pbiB2b24gZGVyIEF1dG9iYWhuIHdlZyBpc3Qgc3ByYWNoZW4KYXVjaCBlaW4gcGFhciBvYmpla3RpdmUgQXJndW1lbnRlIGZ1ZXIgZGVuIEl0YWxpZW5lci4KCkdydXNzLCBHYW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBhcnR5IDIwMDAgaW4gYmVybGluISAoRGVlcGJsdWUsIDE4LiBNYWkgMjAwMCwgMTE6NDE6MzUpOgp+IyEgcm49R2FuZHVyIHJ0PTk1ODY0MjQ5NCByZz1wYXJ0eQp+IyEgdGlkPTk1ODQ5NTIwNwpEYSBtdXNzIGRlciBDaGluZXNlIGhhbHQgaGlua29tbWVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwYXJ0eSAyMDAwIGluIGJlcmxpbiEgKFphcm5peWEsIDE4LiBNYWkgMjAwMCwgMTE6NDI6MzcpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTU4NjQyODk1IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3CmdlbmF1Li4uIGVpbiBDaGluYVRheGkgZnVlciAxMDAgUG9ydGlvbmVuIHdpbGwgaWNoIHNlaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwYXJ0eSAyMDAwIGluIGJlcmxpbiEgKFdhcmdvbiwgMjAuIE1haSAyMDAwLCAxNjozNDo1NCk6Cn4jISBybj1VbG8gcnQ9OTU4NjQxNjk2IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3ClRyYWRpdGlvbnNicnVjaD8gVmllbGxlaWNodCBzY2hsaWVzc3Qgc2ljaCBqYSBudXIgZWluZmFjaCBkZXIgS3JlaXMgKG9kZXIgZGFzClJhZCBkZXIgWmVpdCBiZWdpbm50IGVpbmUgbmV1ZSBEcmVodW5nLi4uKSBKZWRlbmZhbGxzIHdhcmVuIHdpciBiZWkgZGVyCmFsbGVyZXJzdGVuIE1HLVBhcnR5IGF1Y2ggYmVpbSBJdGFsaWVuZXIgKExhIFRvcnJlLCB3ZW5uIGljaCBtaWNoIHJlY2h0CmVudHNpbm5lOyBkZXIgTGFkZW4gd2FyIGhpbnRlcmhlciBob2ZmbnVuZ3Nsb3MgbWl0IE11ZGRlcm4gdWViZXJiZWxlZ3QpCiAgV2FyZ29uIChub3N0YWxnaXNjaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBhcnR5IDIwMDAgaW4gYmVybGluISAoSG9ibywgMjIuIE1haSAyMDAwLCAwOTo1MDoyOSk6Cn4jISBybj1XYXJnb24gcnQ9OTU4ODMzMjk0IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3CkphdSwgZGFtYWxzIGhpZXNzIGVzIHZvbiBFdWNoIE1uc3RlcmFuZXJuLCBMYSBUb3JyZSBzZWkgZGllIGl0YWxpZW5pc2NoZQpBbnR3b3J0IGF1ZiBNY0RvbmFsZCdzIDspCkFiZXIgd2llIGRhcyBFc3NlbiBnZXNjaG1lY2t0IGhhdCwgd2Vpc3MgaWNoIG5pY2h0IG1laHIgOykKCiAgIEhvYm8gLSBoYXR0ZSBkYSBudXIgU2lubmUgZnIgbmVuIEJsb25kZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJ0eSAyMDAwIGluIGJlcmxpbiEgKENhdHdlYXpsZSwgMjIuIE1haSAyMDAwLCAxMjoyNToyOSk6Cn4jISBybj1Hbm9tZSBydD05NTg0OTUyMDcgcmc9cGFydHkKfiMhIHRpZD05NTg0OTUyMDcKRGVyIFRlcm1pbiBpc3QgTWlzdCwgZGEga2FubiBpY2ggbmljaHQsIGtvZW5udCBpaHIgZGFzIGJpdHRlIApub2NobWFsIHZlcnNjaGllYmVuPwoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBhcnR5IDIwMDAgaW4gYmVybGluISAoUmFyZGlhbiwgMjIuIE1haSAyMDAwLCAxMjoyNzoxMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTU4OTkxMTI5IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3CkhtLi4uIHNlaHIga29uc3RydWt0aXYsIHdpcmtsaWNoLi4uCgpSYXIsIHplaXRoYWJlbmQgdW5kIGRlbiBUZXJtaW4gZ3V0ZmluZGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFubWVsZGVzY2hsdXNzIChWYW5pb24sIDIyLiBNYWkgMjAwMCwgMTU6Mzg6MDQpOgpLYW5uIG1pciBub2NobWFsIGplbWFuZCBzYWdlbiwgd2FubiBBbm1lbGRlc2NobHVzcyBmdWVyIGRpZSBQYXJ0eSBpcz8KRmFscyBlcyBzY2hvbm1hbCBnZXNjaHJpZWJlbiB3dXJkZSwgaGFiIGljaCBlcyB3b2hsIHZlcnRvcmZ0LgoKRGFua2UgaW0gVm9yYXVzLCBWYW5pb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbm1lbGRlc2NobHVzcyAoR25vbWUsIDIyLiBNYWkgMjAwMCwgMTc6MTM6MjQpOgp+IyEgcm49VmFuaW9uIHJ0PTk1OTAwMjY4NCByZz1wYXJ0eQp+IyEgdGlkPTk1OTAwMjY4NApuYWphLCBuZW4gcmljaHRpZ2VuIGFubWVsZGVzY2hsdXNzIHdpcmQgZXMgd29obCBuaWNodCBnZWJlbi4KenVtaW5kZXN0IGxpZWd0IGVyIHNvIHdlaXQgaGludGVuLCBkYXNzIGVzIGFsbGUgc2NoYWZmZW4gc29sbHRlbi4KCmFiZXIgaW4gZGllc2VtIHp1c2FtbWVuaGFuZyBtb2VjaHRlIGljaCBub2NobWFsIGRhcmFuIGVyaW5uZXJuLCBkYXNzIHNpY2gKdHJvdHpkZW0gbW9lZ2xpY2hzdCB2aWVsZSBiaXMgenVtIDEzLiBqdW5pIGFubWVsZGVuIHNvbGx0ZW4uIGRhbm4KZW50c2NoZWlkZXQgZXMgc2ljaCBuYWVtbGljaCwgb2Igd2lyIHByZWlzbmFjaGxhc3MgYmVrb21tZW4gb2RlciBuaWNodC4KCnVuZCBiZXZvciBqbWQgZnJhZ3Q6IHVlYmVyd2Vpc2VuIGRlcyBnZWxkZXMgaXN0IG5hdHVlcmxpY2ggZXJzdCBkYW5uCmFuZ2VzYWd0LCB3ZW5uIGRpZSBwcmVpc2UgZW5kZ3VlbHRpZyBmZXN0c3RlaGVuLCBhbHNvIGZydWVoZXN0ZW5zCmFtIDE0LiBqdW5pLgoKZ25PbWUKCnAucy4gY2F0dHk/IHZlcmdpc3NlcyA6KSBhYmVyIHNjaGFkZSwgZGFzcyBkdSBuaWNodCBrYW5uc3QuLi4gOi0vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwYXJ0eSAyMDAwIGluIGJlcmxpbiEgKEJvaW5nLCAyMy4gTWFpIDIwMDAsIDA4OjMxOjM2KToKfiMhIHJuPUhvYm8gcnQ9OTU4OTgxODI5IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3CkxhIFRvcnJlIHdhciBwcmltYSwgZGllIFBpenplbiB3YXJlbiBib21iYXN0aXNjaCAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcGFydHkgMjAwMCBpbiBiZXJsaW4hIChSb25kYSwgMjMuIE1haSAyMDAwLCAxOTozMzo1OSk6Cn4jISBybj1Cb2luZyBydD05NTkwNjM0OTYgcmc9cGFydHkKfiMhIHRpZD05NTg0OTUyMDcKT2VobS4uLiBhbHNvIEhvYm8gaGF0IG5peCBtaXRiZWtvbW1lbiwgd2VpbCBzaWUgYXVmIEJvaW5nIGdlYWNodGV0IGhhdCAtIGFiZXIKQm9pbmcgaGF0IHNpY2ggbnVyIGZ1ZXIgUGl6emVuIGludGVyZXNzaWVydD8gSGFiIGljaCBkYXMgcmljaHRpZyB2ZXJzdGFuZGVuPwoKUm9uZGEgKi4uLiB1bmQgTWFlbm5lciBkZW5rZW4gd2lya2xpY2ggbnVyIGFuIGRhcyBlaW5lLi4uKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogcGFydHkgMjAwMCBpbiBiZXJsaW4hIChGb29iYXIsIDIzLiBNYWkgMjAwMCwgMTk6Mzg6NDEpOgp+IyEgcm49Um9uZGEgcnQ9OTU5MTAzMjM5IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3CkxpZWJlIGdlaHQgZHVyY2ggZGVuIE1hZ2VuLgoKT2RlciBzbyBhZWhubGljaC4uLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBwYXJ0eSAyMDAwIGluIGJlcmxpbiEgKEdyaW1tYm9ybiwgMjMuIE1haSAyMDAwLCAyMzozMDo1NSk6Cn4jISBybj1Gb29iYXIgcnQ9OTU5MTAzNTIxIHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3CktvbW10IGltbWVyIGRyYXVmIGFuIGFuIHdhcyBfc3BlemllbGxfIGRpZSBNYWVubmVyIGRlbmtlbi4gVW0gZGllCkF1Zm1lcmtzYW1rZWl0IHNlaW5lciBIb2xkZW4genUgZmFuZ2VuIGhhdCBCb2luZyBzaWNoZXIgZWluZSBQaXp6YSBtaXQKU2F1ZXJicmF0ZW4gKGVjaHQgUGZlcmRlZmxlaXNjaCkgZ2VnZXNzZW4uLi4KCmdkJnIsIEdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHBhcnR5IDIwMDAgaW4gYmVybGluISAoSG9ibywgMjQuIE1haSAyMDAwLCAwOTowNToyMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU5MTE3NDU1IHJnPXBhcnR5Cn4jISB0aWQ9OTU4NDk1MjA3CkRhIGhhZXR0ZSBlciBkYW5uIHdvaGwgZWhlciB3YXMgYW5kZXJlcyBhbHMgbWVpbmUgQXVmbWVya3NhbWtlaXQgZ2VmYW5nZW4uCgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogcGFydHkgMjAwMCBpbiBiZXJsaW4hIChHcmltbWJvcm4sIDI0LiBNYWkgMjAwMCwgMTA6NDA6NDIpOgp+IyEgcm49SG9ibyBydD05NTkxNTE5MjAgcmc9cGFydHkKfiMhIHRpZD05NTg0OTUyMDcKSWNoIHd1c3N0ZSBlcy4gRnJhdWVuLiBJbW1lciBudXIgYW5zIGtsb3BwZW4gZGVua2VuLiBHZXdhbHQsIEdld2FsdCwgR2V3YWx0LgpTb25zdCBrZWluZSBBcmd1bWVudGUuIFdhaHJlIExpZWJlIGdpYnRzIGhhbHQgZG9jaCBudXIgdW50ZXIgTWFlbm5lcm4uCkF1c3NlcmRlbSBpc3QgZ3V0ZXIgU2F1ZXJicmF0ZW4gd2lya2xpY2ggbGVja2VyLCB3ZW5uIGF1Y2ggbmljaHQgdW5iZWRpbmd0IGF1ZgpQaXp6YS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcGFydHkgMjAwMCBpbiBiZXJsaW4hIChHcmltbWFuLCAyNS4gTWFpIDIwMDAsIDE4OjI5OjIwKToKfiMhIHJuPUdhbmR1ciBydD05NTg2NDI0OTQgcmc9cGFydHkKfiMhIHRpZD05NTg0OTUyMDcKSG1tbSAuLi4gYWJlciBmdWVyIGRpZSBiZXJsaW5lciBpc3QgZG9jaCBlaWdlbnRsaWNoIGJlcmxpbiBnYW56IGluIGRlciBOYWVoZQouLi4gOikpCgpHcmltTWFuIC4uLiB3aWxsIGF1Y2ggenVtIENoaW5lc2VuIC4uLiBpc3QgYWJlciBuaWNodCBzb29vbyBib2VzZSwgd2VubiBlciB6dW0KSXRhbGllbmVyIG11c3MgCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVicmlrIGV4cGlyZWQgKENhdHdlYXpsZSwgIDYuIEp1biAyMDAwLCAxMzoxNjoyNSk6CkhtLCBpcmdlbmRqZW1hbmQgaGF0IGRpZSBleHBpcmV6ZWl0IGRlciBQYXJ5cnVicmlrIGF1ZiAyIFdvY2hlbiBnZXNldHp0LCBqZXR6dApzaW5kIGRpZSBQYXJ0eWVpbmxhZHVuZ2VuIHZlcnNjaHd1bmRlbiA6KApJY2ggaGFicyBleHBpcmUgamV0enQgd2llZGVyIGF1ZiA0IE1vbmF0ZSBnZXN0ZWxsdCwga2FubiBiaXR0ZSBub2NoIG1hbCBqZW1hbmQKZGllIHJlbGV2YW50ZW4gbWFpbHMgcmVwb3N0ZW4/CllvdXJzIHRydWx5LAogICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSdWJyaWsgZXhwaXJlZCAoR25vbWUsICA2LiBKdW4gMjAwMCwgMTM6MzA6MDQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk2MDI5MDE4NSByZz1wYXJ0eQp+IyEgdGlkPTk2MDI5MDE4NQpoaSwKCmZ1ZXIgamVkZW4sIGRlciBkZW4gcGFydHktYXJ0aWtlbCBudXIgdWViZXJmbG9nZW4gaGF0IHVuZCBzaWNoIG5vY2ggbmljaHQKYW5nZW1lbGRldCBoYXQsIGdpYnRzIGpldHp0IGRpZSByZWxldmFudGVuIGRhdGVuIGltIG5ldHouCmFuIGdld29obnRlciBzdGVsbGUgOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJ1YnJpayBleHBpcmVkIChRaXRlc3MsIDI1LiBKdW4gMjAwMCwgMjA6MDg6MDMpOgp+IyEgcm49R25vbWUgcnQ9OTYwMjkxMDA0IHJnPXBhcnR5Cn4jISB0aWQ9OTYwMjkwMTg1CmhhZT8gZ2V3b2hudGUgc3RlbGxlPwpkaWUgZ2V3b2hudGUgc3RlbGxlIGlzdCBkYXMgcGFydHlicmV0dCB1bmQvb2RlciBkaWUgbXBhLiBzdGVodCBkYXMgc29uc3Qgbm9jaAppcmdlbmR3byA/CnFpKiogJ3dhcyBtZWluc3QgZHUgbWl0IG5ldHo/IGVpbiBzcGlubmVubmV0ej8gdW5kIHdlbm4gamEsIHdlbGNoZXM/IHVuZAp3bz8/PycKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJ1YnJpayBleHBpcmVkIChHbm9tZSwgMjUuIEp1biAyMDAwLCAyMjowNjowNSk6Cn4jISBybj1RaXRlc3MgcnQ9OTYxOTU2NDgzIHJnPXBhcnR5Cn4jISB0aWQ9OTYwMjkwMTg1CmR1IGRhcmZzdCBudXIgZWlubWFsIHJhdGVuLCBpbiB3ZWxjaGVtIG1lZGl1bSBkdSBkaXIgZGllIGZvdG9zL2luZm9zCmRlciBsZXR6dGVuIDEyIE1HLXBhcnR5cyBhbmdlc2NoYXV0IGhhc3QuLi4gOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSdWJyaWsgZXhwaXJlZCAoRGVlcGJsdWUsIDI2LiBKdW4gMjAwMCwgMTA6MzQ6MjgpOgp+IyEgcm49R25vbWUgcnQ9OTYxOTYzNTY1IHJnPXBhcnR5Cn4jISB0aWQ9OTYwMjkwMTg1CkFsc28gaW4gZGVuIEtsaXBwZW50ZW1wbGUgZ2VoZW4gdW5kICJtZWRpdGllcmUgcGFydHkiIGVpbmdlYmVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUnVicmlrIGV4cGlyZWQgKFFpdGVzcywgMjYuIEp1biAyMDAwLCAxODo1OToyNSk6Cn4jISBybj1EZWVwYmx1ZSBydD05NjIwMDg0Njggcmc9cGFydHkKfiMhIHRpZD05NjAyOTAxODUKamEsIGdlbmF1LCB1bmdlZmFlaHIgc29ldHdhcyBoYWIgaWNoIGdlbWFjaHQuIGFiZXIgbnVyIGF1c25haG1zd2Vpc2UgYWIgdW5kCmFuLCBkZW5uIHByaW56aXBpZWxsIGxlaG5lIGljaCBzZWVsZW5mYWVuZ2VyIHNvd2llIGRpZSBwcm9qZWt0aW9uIGFiLgpxaSoqIHp3ZXJnLiBuaXggbmV1ZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eWtvbnRvIChHbm9tZSwgMjYuIEp1biAyMDAwLCAyMjo1MDo1Nyk6CmhpLAoKc28sIGpldHp0IHN0ZWh0IGF1Y2ggbmUgYmFua3ZlcmJpbmR1bmcgYmVyZWl0LCBzbyBkYXNzIGlociBhbGxlIHNjaG9lbgpkYXMgZ29eSF5IZ2VsZCB1ZWJlcndlaXNlbiBkdWVyZnQgOikKCkt0by1Oci46ICAzNDE0NjIwCiAgICBCTFo6ICAxMDA3MDAyNApLb250by1JbmguOiBEYW5pZWwgU3Vja293CgpkYXMgZ2FuemUgZ2VodCB1ZWJlciBkaWUgZGV1dHNjaGUgYmFuayAyNC4KCldJQ0hUSUc6CnZlcmdlc3N0IGJpdHRlIG5pY2h0LCBldWVybiBtdWQtbmFtZW4gaW4gREVVVExJQ0hFTiBEUlVDS0JVQ0hTVEFCRU4KaW4gZGVuIHZlcndlbmR1bmdzendlY2sgZWluenV0cmFnZW4uIGRhbmtlIQoKZ25PbWUKCnAucy4gd2VyIHNpY2ggbmljaHQgZ2FueiBzaWNoZXIgaXN0LCB3aWV2aWVsIGVyIHVlYmVyd2Vpc2VuIG11c3MsIGZyYWd0CiAgICAgYml0dGUgdm9yaGVyIG5vY2htYWwgbmFjaCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBhcnR5a29zdGVuIChHbm9tZSwgMjYuIEp1biAyMDAwLCAyMzozOTowOSk6Cm9rLCBhbHNvIGhpZXIgbm9jaG1hbCBlaW4gcGFhciBwcmVpc2JlaXNwaWVsZSBmdWVyIGRpZSBwYXJ0eToKCmNhbXBpbmcgdm9uIE1vLi1Tby4KLS0tLS0tLS0tLS0tLS0tLS0tLQo2KjE1ICh1ZWJlcm5hY2h0dW5nKSArIDEyKjcgKGhhbGJwZW5zaW9uKSArIDE1IChwYXJ0eWJlaXRyYWcpID0gMTg5LC0KCmJ1bmdhbG93IHZvbiBNby4tU28uCi0tLS0tLS0tLS0tLS0tLS0tLS0tCjYqMTkgKHVlYmVybmFjaHR1bmcpICsgMTIqNyAoaGFsYnBlbnNpb24pICsgMTUgKHBhcnR5YmVpdHJhZykgPSAyMTMsLQoKYnVuZ2Fsb3cgdm9uIEZyLi1Tby4KLS0tLS0tLS0tLS0tLS0tLS0tLS0KMioxOSAodWViZXJuYWNodHVuZykgKyA0KjcgKGhhbGJwZW5zaW9uKSArIDE1IChwYXJ0eWJlaXRyYWcpID0gODEsLQoKTlVSIHBhcnR5OgotLS0tLS0tLS0tCjEqNyAoYnVmZmV0KSArIDE1IChwYXJ0eWJlaXRyYWcpID0gMjIsLQoKZGVuIGdhbnogaW5kaXZpZHVlbGxlbiBiZXRyYWcgcmVjaG5ldCBzaWNoIGJpdHRlIGplZGVyIHNlbGJzdCBhdXMuCmljaCB2ZXJ0cmF1IGVpbmZhY2ggbWFsIGF1ZiBlaW4gcGFhciBtYXRoZW1hdGlrLWtlbm50bmlzc2UgOy0pCgoKZGFubiBub2NoIGV0d2FzIHp1bSBhbnJlaXNldGFnIChNb250YWcpOgplcyB3aXJkIGptZCBhdXMgZGVtIG9yZ2F0ZWFtIGFiIG1pdHRhZyBkb3J0IHNlaW4sIHVtIGV1Y2ggaW4gZW1wZmFuZyB6dQpuZWhtZW4gdW5kIGV1Y2ggZGllIGJ1bmdhbG93cy96ZWx0cGxhZXR6ZSB6dSB6ZWlnZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhcnR5a29zdGVuIChYZW5hZGEsIDI2LiBKdW4gMjAwMCwgMjM6NDM6NTkpOgp+IyEgcm49R25vbWUgcnQ9OTYyMDU1NTQ5IHJnPXBhcnR5Cn4jISB0aWQ9OTYyMDU1NTQ5Cm9rICwgZGVyIHp3ZXJnIGhhdCB3aWVkZXIgd2FzIGR1cmNoZWluYW5kZXIgZ2VicmFjaHQgOikKaGFsYnBlbnNpb24gc2luZCBwcm8gdGFnIDE0LC1ETSBhbHNvIDcgZnVlciBmcnVlaHN0dWVjayB1bmQgNyBmdWVyIGFiZW5kZXNzZW4uCmRlc2hhbGIgYmVpIDYgdWViZXJuYWNodHVuZ2VuIDEyKjcsLURNIAp1bmQgaWhyIGtvZW5udCBldWNoIG5pY2h0IGF1c3N1Y2hlbiBvYiBpaHIgZXNzZW4gaGFiZW4gd29sbHQgb2RlciBuaWNodC4KWGVuYWRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHlrb3N0ZW4gKEFuYXRvbCwgMjYuIEp1biAyMDAwLCAyMzo0NzowMCk6Cn4jISBybj1Hbm9tZSBydD05NjIwNTU1NDkgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKRXJyLiBOb2NobWFsLCB3ZWlsIGVzIHNvIHNwYWV0IGlzdCB1bmQgaWNoIHRvbHBhdHNjaGlnIHdlcmRlLi4uIGVzCmdpYnQgZG9jaCBkYSBzbyBlaW4gdG9sbGVzIDspIFBhcnR5YnJldHQsIGRhcyBlaW5lIE1haWwgbmVic3QgS29zdGVuLQpBdWZzdGVsbHVuZyB2ZXJzY2hpY2t0LiBEYXMga29lbm50ZSBkb2NoIGVpbiBNYWdpZXIgZGVzIFBhcnR5dGVhbXMKKGVzIGhhdCBkb2NoIGRhIGJlc3RpbW10IGVpbmVuICpsaW5zKiBvZGVyPykgZW50c3ByZWNoZW5kIGFucGFzc2VuLgoKQW5hdG9sIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhcnR5a29zdGVuIChHbm9tZSwgMjcuIEp1biAyMDAwLCAwMDowMDoyOSk6Cn4jISBybj1Hbm9tZSBydD05NjIwNTU1NDkgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKaG5nbG1tcnJza3NrbGxseGwuCgpuYXR1ZXJsaWNoIG5vY2ggd2FzIHZlcmdlc3Nlbi4gd2VubiBkZXIga29wZiBuaWNodCBhbmdld2FjaHNlbiB3YWVyLi4uCgphbHNvIGZ1ZXIgZGllIGJ1bmdhbG93LWJlbnV0emVyIGtvbW10IG5vY2htYWwgRUlOTUFMSUcgZWluZQpiZXR0d2Flc2NoZWJlbnV0enVuZ3NnZWJ1ZWhyIChzY2hvZW5lcyB3b3J0KSB2b24gRE0gNiwtIGRhenUuCgp1bmQgd2VyIG1pdCBkZW4gMTIqNyBuaXggYW5mYW5nZW4ga2FubiwgdmVyd2FuZGVsdCBzaWUgaW4gNioxNC4KKDYgdGFnZSwgMTQsLSBwcm8gdGFnIHZlcnBmbGVndW5nKQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFydHlrb3N0ZW4gKEdvbGFzLCAyNy4gSnVuIDIwMDAsIDEzOjM2OjM5KToKfiMhIHJuPUdub21lIHJ0PTk2MjA1NjgyOSByZz1wYXJ0eQp+IyEgdGlkPTk2MjA1NTU0OQp3aWUgc2llaHQgZXMgYXVzIG1pdCBlaWdlbmVyIGJldHR3YWVzY2hlIGJ6dyBzY2hsYWZzYWVja2VuIGF1ZiBiZXR0ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXJ0eWtvc3RlbiAoWGVuYWRhLCAyNy4gSnVuIDIwMDAsIDE0OjM2OjA4KToKfiMhIHJuPUdvbGFzIHJ0PTk2MjEwNTc5OSByZz1wYXJ0eQp+IyEgdGlkPTk2MjA1NTU0OQplaWdlbmUgd2Flc2NoZSBkYXJmIGF1cyBoeWdpZW5pc2NoZW4gZ3J1ZW5kZW4gbmljaHQgZ2VudXR6IHdlcmRlbi4KWGVuYWRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwYXJ0eWtvc3RlbiAoUmlrdXMsIDI3LiBKdW4gMjAwMCwgMTQ6NTI6MDApOgp+IyEgcm49WGVuYWRhIHJ0PTk2MjEwOTM2OCByZz1wYXJ0eQp+IyEgdGlkPTk2MjA1NTU0OQpobSwgZGllIGVpZ2VuZSB3YWVzY2hlIGlzdCBzaWNoZXJsaWNoIG1laXN0IGh5Z2llbmlzY2hlciA6KQoKcmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBhcnR5a29zdGVuIChEZWVwYmx1ZSwgMjcuIEp1biAyMDAwLCAxNDo1NDozNSk6Cn4jISBybj1SaWt1cyBydD05NjIxMTAzMjAgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKRGFzIGlzdCBqYSBkYXMgUHJvYmxlbSwgbWFuIHZlcnNjaG11dHp0IGRpZSBlaWdlbmUgV2Flc2NoZSBtaXQgZnJlbWRlbiBEcmVjawpvZGVyIHZlcm5pY2h0ZXQgZGllIERyZWNrYmFrdGVyaWVuIG1pdCBzZWluZXIgYW50aWJha3RlcmllbGxlbiByZWluZW4gV2Flc2NoZQpubgpOaXggTmV1ZXMgYXVmIGRlciB3ZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcGFydHlrb3N0ZW4gKFhlbmFkYSwgMjcuIEp1biAyMDAwLCAxNTowODo1Mik6Cn4jISBybj1SaWt1cyBydD05NjIxMTAzMjAgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKamEgdW50ZXJ3YWVzY2hlIGlzdCBiaXR0ZSBlaWdlbmUgbWl0enVicmluZ2VuLi4uIDopClhlbmFkYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcGFydHlrb3N0ZW4gKEthcmlzLCAyNy4gSnVuIDIwMDAsIDE1OjA5OjU5KToKfiMhIHJuPVhlbmFkYSBydD05NjIxMTEzMzIgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKdHMgLi4uIHVuZCBkYXMgaXMgamV0enQgd2llZGVyIGh5Z2llbmlzY2g/PwpLYXJpcy4gV3VuZGVydCBzaWNoIG51ci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHBhcnR5a29zdGVuIChHbG9pbnNvbiwgMjcuIEp1biAyMDAwLCAxNToxMjoyNSk6Cn4jISBybj1LYXJpcyBydD05NjIxMTEzOTkgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKS2FubnN0IGphIERlaW5lIFVudGVyd2FlY2hlIGltbWVyIG1pdCBSaWt1cyBvZGVyIEhpZ2h0IHdlY2hzZWxuLiBJbSBLcmVpcy4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHBhcnR5a29zdGVuIChLYXJpcywgMjcuIEp1biAyMDAwLCAxNToxMzoyNSk6Cn4jISBybj1HbG9pbnNvbiBydD05NjIxMTE1NDUgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKTWlyIHdpcmQgaW1tZXIga2xhcmVyLCB3YXJ1bSBpY2ggbmV0IGtvbW0gLi4uCkthcmlzLiBXdW5kZXJ0IHNpY2ggYmFsZCBuaWNodCBtZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcGFydHlrb3N0ZW4gKENhdHdlYXpsZSwgMjcuIEp1biAyMDAwLCAxNToxNDo0Nik6Cn4jISBybj1LYXJpcyBydD05NjIxMTE2MDUgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKTnVuLCBkYXMgdHV0IG1pciBsZWlkLgpBYmVyIG1pdCBlaW4gYmlzc2NoZW4gVWVidW5nIHVuZCBBdXNkYXVlciBrcmllZ3N0ZSBkYXMgYmVzdGltbXQKd2llZGVyIGF1ZiBkaWUgUmVpaGUuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogcGFydHlrb3N0ZW4gKFJpa3VzLCAyNy4gSnVuIDIwMDAsIDE1OjE1OjAyKToKfiMhIHJuPUdsb2luc29uIHJ0PTk2MjExMTU0NSByZz1wYXJ0eQp+IyEgdGlkPTk2MjA1NTU0OQphYmVyIGljaCBiZWdpbm4gZGVuIGtyZWlzIGltbWVyIG1pdCBuZXVlciB3YWVzY2hlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogcGFydHlrb3N0ZW4gKEthcmlzLCAyNy4gSnVuIDIwMDAsIDE1OjE2OjAwKToKfiMhIHJuPUNhdHdlYXpsZSBydD05NjIxMTE2ODYgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKV2lsbHN0ZSBqZXR6dCBuZW4gVW50ZXJ3YWVzY2hlLVdlY2hzZWwtU2tpbGwgZWluYmF1ZW4/Pz8KS2FyaXMuIFd1bmRlcnQgc2ljaCBqZXR6dCBkb2NoIHdpZWRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHBhcnR5a29zdGVuIChIaWdodCwgMjcuIEp1biAyMDAwLCAxNToyNjo0MSk6Cn4jISBybj1HbG9pbnNvbiBydD05NjIxMTE1NDUgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKbm9lIGRhcyBnZWh0IG5ldCAqZyogaWNoIGdsYXViIGRpZSBpcyBuIGJpc3NpIHp1IGdyb3NzIGdlcmF0ZW4gZnVlciBhbmRlcmUKbGV1dGUgLG8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwYXJ0eWtvc3RlbiAoSG9vZCwgMjcuIEp1biAyMDAwLCAxNjoyODozMSk6Cn4jISBybj1YZW5hZGEgcnQ9OTYyMTExMzMyIHJnPXBhcnR5Cn4jISB0aWQ9OTYyMDU1NTQ5CmhtbW0sIGljaCBzY2hsYWZlIGFiZXIgaW1tZXIgbmFja3QuLi4gOikKa29zdGV0IGRhcyB3ZW5pZ2VyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcGFydHlrb3N0ZW4gKEdsb2luc29uLCAyNy4gSnVuIDIwMDAsIDE2OjQ4OjIzKToKfiMhIHJuPUhvb2QgcnQ9OTYyMTE2MTExIHJnPXBhcnR5Cn4jISB0aWQ9OTYyMDU1NTQ5Ck51ciB3ZW5uIHdpciBEaWNoIGRpdmVyc2VuIGFsdGVuIE1hZW5uZXJuIGJlaW0gTkFja3RzY2hsYWZlbiB6ZWlnZW4gZHVlcmZlbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHBhcnR5a29zdGVuIChYZW5hZGEsIDI3LiBKdW4gMjAwMCwgMTY6NTg6MDApOgp+IyEgcm49R2xvaW5zb24gcnQ9OTYyMTE3MzAzIHJnPXBhcnR5Cn4jISB0aWQ9OTYyMDU1NTQ5CmR1IHdpbGxzdCBlaW50cml0dCB2ZXJsYW5nZW4uLi50eXBpc2NoIHp3ZXJnIDopCnhlbmFkYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcGFydHlrb3N0ZW4gKEdsb2luc29uLCAyNy4gSnVuIDIwMDAsIDE3OjIyOjM3KToKfiMhIHJuPVhlbmFkYSBydD05NjIxMTc4ODAgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKTmVpbiwgaWNoIHd1ZXJkZSBkYXMgbnVyIG1hY2hlbiwgZGFtaXQgZGllIGFsdGVuIFNhZWNrZSBhdWNoIG1hbCB3YXMKenVtIEFuZ3Vja2VuIGhhYmVuLiBBdXMgcmVpbmVyIFJlbnRuZXJmcmV1bmRsaWNoa2VpdCA6PgoKR2xvaW4oc29uKSBpc3Qga2VpbmUgWndlcmdpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBwYXJ0eWtvc3RlbiAoR29sYXMsIDI3LiBKdW4gMjAwMCwgMTc6MjM6MDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTYyMTE5MzU3IHJnPXBhcnR5Cn4jISB0aWQ9OTYyMDU1NTQ5Cm9iIGRhcyBmcmV1bmRsaWNoa2VpdCBpc3Q/IT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBwYXJ0eWtvc3RlbiAoSG9vZCwgMjcuIEp1biAyMDAwLCAxNzozMTozNCk6Cn4jISBybj1Hb2xhcyBydD05NjIxMTkzODUgcmc9cGFydHkKfiMhIHRpZD05NjIwNTU1NDkKZ2xhdWIgaWNoIGthdW0uLi5lbnRnZWdlbiB3ZWl0bGFldWZpZ2VyIG1laW51bmdlbiBnZWhvZXJ0IG1laW5lIGZpZ3VyCm51biB3aXJrbGljaCBuaWNodCBpbiBkZW4gYmVyZWljaCBhbnNjaG1hY2h0YmFyZXIgb2JqZWt0ZSA7KQoKLS0tLS0KSG9vZC4uLm1pdCBncnVlbmVuIFVudGVyaG9zZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtvc3RlbiBkaWUgMi4gKEdub21lLCAyNy4gSnVuIDIwMDAsIDE3OjQ2OjEzKToKaGksCgphbHNvIGJldm9yIGljaCBub2NoIDI1IG1haWxzIGJlYW50d29ydGUsIHNjaHJlaWJlIGljaCBhbGxlIHphaGxlbiBub2NobWFsCmluIGRpZSBtcGEuIDopCgphbmt1bmZ0c3RhZzogICAgICAgICAgICAgY2FtcGluZzogICAgICBidW5nYWxvdzoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vbnRhZyAgICAgICAgICAgICAgICAgICAgMTg5LC0gICAgICAgICAyMTksLQpEaWVuc3RhZyAgICAgICAgICAgICAgICAgIDE2MCwtICAgICAgICAgMTg2LC0KTWl0dHdvY2ggICAgICAgICAgICAgICAgICAxMzEsLSAgICAgICAgIDE1MywtCkRvbm5lcnN0YWcgICAgICAgICAgICAgICAgMTAyLC0gICAgICAgICAxMjAsLQpGcmVpdGFnICAgICAgICAgICAgICAgICAgICA3MywtICAgICAgICAgIDg3LC0KU2Ftc3RhZyAgICAgICAgICAgICAgICAgICAgNDQsLSAgICAgICAgICA1NCwtCgoKd2VyIFNhbXN0YWcgTlVSIHp1ciBwYXJ0eSBrb21tZW4gd2lsbCwgT0hORSB1ZWJlcm5hY2h0dW5nOiAyMiwtCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtvc3RlbiBkaWUgMi4gKEdsb2luc29uLCAyNy4gSnVuIDIwMDAsIDE5OjIyOjM4KToKfiMhIHJuPUdub21lIHJ0PTk2MjEyMDc3MyByZz1wYXJ0eQp+IyEgdGlkPTk2MjEyMDc3MwpVbXMgbWFsIHNvIHp1IHNhZ2VuLCBqZXR6dCB3byBpY2ggZGllIFphaGxlbiBzZWhlIHVuZCBkaWUgZXR3YSAyMCUgLSAzMCUKaG9laGVyIGFscyBnZXdvaG50IGxpZWdlbjogV0FBQUFBQUFBQUFBQUFBQUFISEhISEhISEhISEhISEghISEKCkdsb2luKHNvbikgaGF0IGtlaW5lbiBHb2xkZXNlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBrb3N0ZW4gZGllIDIuIChQYWRyZWljLCAyNy4gSnVuIDIwMDAsIDE5OjM0OjQyKToKfiMhIHJuPUdsb2luc29uIHJ0PTk2MjEyNjU1OCByZz1wYXJ0eQp+IyEgdGlkPTk2MjEyMDc3MwphbHNvIDI5LC0gZnVlciBjYW1wZW4gZnVlciBlaW5lIG5hY2h0Li4uIGRhcyBzaW5kIGJlaSBtaXIgbWVociBhbHMgMjAtMzAlCmRydWViZXIgKmcKClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGtvc3RlbiBkaWUgMi4gKENhdHdlYXpsZSwgMjcuIEp1biAyMDAwLCAxOTo0MzoxMSk6Cn4jISBybj1QYWRyZWljIHJ0PTk2MjEyNzI4MiByZz1wYXJ0eQp+IyEgdGlkPTk2MjEyMDc3MwpLaW5uYXMsIGRhcmYgaWNoIG1hbCBiaXR0ZSBtdWVkZSBsYWVjaGVsbj8KMjAwLC0gZnVlciBuZSBXb2NoZSBIYWxicGVuc2lvbiBpc3QgTXVlY2tlbnNjaGlzcy4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBrb3N0ZW4gZGllIDIuIChQYWRyZWljLCAyNy4gSnVuIDIwMDAsIDE5OjQ3OjExKToKfiMhIHJuPUNhdHdlYXpsZSBydD05NjIxMjc3OTEgcmc9cGFydHkKfiMhIHRpZD05NjIxMjA3NzMKT2sgd2VubiBkYXMgaW5jbC4gRXNzZW4gd2FyIG5laG0gaWNocyB6dXJ1ZWNrLCB3b2JlaSBpY2ggZXMgc2VociBrb21pc2NoIGZpbmRlCmRhcyBtYW4gaGFsYnBlbnNpb24gbmVobWVuIG11c3M/ISBEYSBpY2ggZGEgdmVybXV0bGljaCBkYW5uIGVoIG1laXN0IG5peCBlc3NlLAppc3NlcyB0cm90emRlbSB0ZXVlciA6bykKClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGtvc3RlbiBkaWUgMi4gKExpYXJhLCAyNy4gSnVuIDIwMDAsIDE5OjQ5OjQ5KToKfiMhIHJuPUxpYXJhIHJ0PTk2MjEyODA5OSByZz1wYXJ0eQp+IyEgdGlkPTk2MjEyMDc3MwpKYSwgZXMgZ2lidCBpbW1lciBqZW1hbmRlbiwgZGVyIG1lY2tlcnQsIHdlbm4gYW5kZXJlIHNpY2ggTXVlaGUgZ2ViZW4uCgpMaWFyYSwgWndlcmdlbnphdWJlcmluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNToga29zdGVuIGRpZSAyLiAoR25vbWUsIDI4LiBKdW4gMjAwMCwgMDA6MjI6NDQpOgp+IyEgcm49UGFkcmVpYyBydD05NjIxMjgwMzEgcmc9cGFydHkKfiMhIHRpZD05NjIxMjA3NzMKZGllIHByZWlzZSB2ZXJzdGVoZW4gc2ljaCBhbHMgJ2FsbCBpbmNsdXNpdmUnLgoKd2FydW0gbWFuIGF1ZiBIUCBuaWNodCB2ZXJ6aWNodGVuIGthbm4/CmdhbnogZWluZmFjaDogV0VOTiBlaW4gZnJ1ZWhzdHVlY2sgdW5kIGFiZW5kYnJvdCBhbmdlYm90ZW4gd2lyZCwgd2lyZAplcyBnYXJhbnRpZXJ0IGF1Y2ggbGV1dGUgZ2ViZW4sIGRpZSBzaWNoIGhpbiB1bmQgd2llZGVyIGRhcmFuIGJlZGllbmVuLAphdWNoIHdlbm4gc2llIE5JQ0hUIGJlemFobHQgaGFiZW4uIGljaCB3dWVyZGUgbWljaCBkYSBldnRsLiBhdWNoIG5pY2h0CmF1c25laG1lbiwgZXMgaXN0IGphIHJlY2h0IGJlcXVlbSB1bmQgbWVya2VuIHR1dHMgYXVjaCBrZWluZXIuCgp3ZW5uIGR1IGRlbiBnYW56ZW4gdGFnIGF1ZiBhY2hzZSBiaXN0LCBhY3Rpb24gaGFzdCwgc2Nod2ltbWVuIHdhcnN0Cm9kZXIgd2Vpc3MgaWNoIHdhcywgYmlzdCBkdSBhbSBhYmVuZCBmcm9oIHVuZCBkYW5rYmFyLCBkYXNzIGRpciBqbWQKZGVpbiBhYmVuZGJyb3QgZ2VtYWNodCBoYXQuIGdsYXViZSBtaXIuIDopCgp1bmQgdmVyaGFuZGVsdCBoYWJlbiB3aXIgYXVjaCBzY2hvbi4gZGFzIGVpbmUgb2RlciBhbmRlcmUgZmFzcyBiaWVyIGdpYnRzCnp1ciBwYXJ0eSBkZXNoYWxiIHVtc29uc3QuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjoga29zdGVuIGRpZSAyLiAoQm9pbmcsIDI4LiBKdW4gMjAwMCwgMDg6MTA6MDkpOgp+IyEgcm49R25vbWUgcnQ9OTYyMTQ0NTY0IHJnPXBhcnR5Cn4jISB0aWQ9OTYyMTIwNzczCkljaCB0cmluayBrZWluIEJpZXIuIE11c3MgaWNoIG1pY2ggamV0enQgYmVzY2h3ZXJlbj8gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzoga29zdGVuIGRpZSAyLiAoRGVlcGJsdWUsIDI4LiBKdW4gMjAwMCwgMTA6MDM6MTQpOgp+IyEgcm49Qm9pbmcgcnQ9OTYyMTcyNjA5IHJnPXBhcnR5Cn4jISB0aWQ9OTYyMTIwNzczCk5vZSwgRGVpbmUgRWluc3RlbGx1bmcgenUgQmllcmNoZW4gdWViZXJkZW5rZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBrb3N0ZW4gZGllIDIuIChHbG9pbnNvbiwgMjguIEp1biAyMDAwLCAxNDoxMzowOCk6Cn4jISBybj1Hbm9tZSBydD05NjIxNDQ1NjQgcmc9cGFydHkKfiMhIHRpZD05NjIxMjA3NzMKQXNjaGUgYXVmIG1laW4gSGF1cHQuIFNvcnJ5IDpdIEljaCBoYWJlIGRlbiBHZXNldHplc3RleHQgbmljaHQgZ2VuYXUgZ2VudWcKc3R1ZGllcnQuCgpHbG9pbihzb24pIG5vZXJnZWx0IG5pY2h0IG1laHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBrb3N0ZW4gZGllIDIuIChXaWxsb3csIDI4LiBKdW4gMjAwMCwgMTg6Mjg6NDgpOgp+IyEgcm49Qm9pbmcgcnQ9OTYyMTcyNjA5IHJnPXBhcnR5Cn4jISB0aWQ9OTYyMTIwNzczCndpZSBqZXR6dCBib2luZywgYmlzdGUga3Jhbms/Pz8gKnN0YXVuKgpXaWxsb3cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGtvc3RlbiBkaWUgMi4gKFBhcmFjZWxzdXMsIDI4LiBKdW4gMjAwMCwgMjE6MTg6MDApOgp+IyEgcm49V2lsbG93IHJ0PTk2MjIwOTcyOCByZz1wYXJ0eQp+IyEgdGlkPTk2MjEyMDc3MwpOZWluLCBCb2luZyB0cmlua3QgbnVyICJoYXJ0ZSIgU2FjaGVuLgoKUGFyYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGtvc3RlbiBkaWUgMi4gKFdpbGxvdywgMjkuIEp1biAyMDAwLCAyMDozMjowOCk6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTk2MjIxOTg4MCByZz1wYXJ0eQp+IyEgdGlkPTk2MjEyMDc3MwpuYWphLCBCaWVyIGlzdCBmdWVyIGVpbmlnZSBMZXV0ZSBkb2NoIHNjaG9uIGVpbiBhZXVzc2Vyc3QgImhhcnRlcyIgR2V0cmFlbmsuLi4KV2lsbG93IGRlbmt0IGRhIHNvIGFuIEt1bG1iYWNoZXIgRWlzYm9jay4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjoga29zdGVuIGRpZSAyLiAoUmFyZGlhbiwgIDIuIEp1bCAyMDAwLCAyMzoyNzoxMSk6Cn4jISBybj1Hbm9tZSBydD05NjIxNDQ1NjQgcmc9cGFydHkKfiMhIHRpZD05NjIxMjA3NzMKTXVlc3NlbiBIb2JiaXRzIGV4dHJhIHphaGxlbj8gSWNoIGhhYiBrZWluZSBMdXN0LCBmdWVyIGRpZSBhdWNoIG1pdHp1YmV6YWhsZW4gCjspCgpSYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eXNoaXJ0IChHbm9tZSwgIDQuIEp1bCAyMDAwLCAxNjowMDozMyk6CmhpLAoKd2llIHp1IGplZGVyIHBhcnR5IGdpYnQgZXMgbmF0dWVybGljaCBhdWNoIGRpZXNtYWwgZWluIHQtc2hpcnQuCgpkYSB3aXIgYXVmIGRpZXNlciBwYXJ0eSBlaW5pZ2UgdHJhZGl0aW9uZW4gYnJlY2hlbiwgZmFocmVuIHdpciBkYW1pdApiZWltIHQtc2hpcnQgZm9ydC4gZGFzIG1vdGl2IHdpcmQgZGllc21hbCBOSUNIVCBiZWthbm50Z2VnZWJlbiwgZGEgZXMKYWxzIGtsZWluZSB1ZWJlcnJhc2NodW5nIGdlZGFjaHQgaXN0LiBlcyBnaWJ0IGF1Y2gga2VpbmUgZGVtb2tyYXRpc2NoZQphYnN0aW1tdW5nLCB3aWUgaW4gZWluZW0gbXVkIGhhbHQgc28gdWVibGljaCA6KQoKbnVyIHNvdmllbDoKLSBESU4gQTQtbW90aXYgYXVmIGRlbSBydWVja2VuCi0gZWlnZW5lciBuYW1lIHZvcm5lCi0gYWxsZXMgc2Nod2FyeiBhdWYgd2Vpc3MKCmtvc3RlbiBwcm8gc2hpcnQ6IERNIDE1LC0KCmRhbm4gd3VyZGUgZWluIHZvcnNjaGxhZyBhdXMgZGVtIG9yZ2F0ZWFtIGdlbWFjaHQsIGRhc3MgbWFuIF96dXNhZXR6bGljaF8KenUgZGVuIHNoaXJ0cyB2aWVsbGVpY2h0IGF1Y2ggbm9jaCBzaG9ydHMgbWl0IGVpbmVtIG1vdGl2IGJlZHJ1Y2tlbgprb2VubnRlLiBkYSBzbyBlaW4gcGFhciBzaG9ydHMgYWJlciBuaWNodCBnYW56IGJpbGxpZyBzaW5kLCBtb2VjaHRlIGljaApoaWVyIGVyc3RtYWwgZnJhZ2VuLCB3ZXIgc29sY2ggcGFudGFsb25lcyBzZWluIGVpZ2VuIG5lbm5lbiB3aWxsLgoKLSBESU4gQTUtbW90aXYgdm9ybmUgbGlua3MgYXVmIGRlbSBvYmVyc2NoZW5rZWwKLSBidW50IGF1ZiBibGF1CgooZGEgd2lyIGRpZSBzaG9ydHMgZXJzdCBrYXVmZW4gbXVlc3N0ZW4gdW5kIHZvbiBkZW4gYW5nZWJvdGVuIGRhcyBiaWxsaWdzdGUKbmVobWVuLCBrb2VubnRlIGVzIGF1Y2ggYnVudCBhdWYgZ3JhdXxzY2h3YXJ6IHNlaW4pCgprb3N0ZW4gcHJvIGhvc2U6IERNIDMwIC0gNTAsLQoKZGllIGtvc3RlbiBwcm8gaG9zZSBoYWVuZ2VuIHN0YXJrIHZvbiBkZXIgYmVzdGVsbHRlbiBhbnphaGwgYWIhCmZ1ZXIgbnVyIDUgbGV1dGUgbWFjaGVuIHdpciBkZW4gYXVmd2FuZCBuYXR1ZXJsaWNoIG5pY2h0LiBkYW5uCmdpYnQgZXMgbGVpZGVyIG51ciBzaGlydHMgOikKCmFsc28sIHdlciBlaW4gc2hpcnQgT0RFUiBob3NlIGhhYmVuIHdpbGwsIG1haWwgYW4gJ3RzaGlydCcgaW4gZGVyIGZvbGdlbmRlCmZvcm06CgoxIHRzaGlydCwgZ3JvZXNzZSA8Uy1YTD4KMSBzaG9ydHMsIGdyb2Vzc2UgPFMtWFhMPgoKZ2VsZCB3aXJkIGF1ZiBkZXIgcGFydHkgaW4gYmFyIGVpbmthc3NpZXJ0Lgp3ZW5uIG1vZWdsaWNoLCBiaXR0ZSByZWNodCBiYWxkIGVudHNjaGVpZGVuLCBkYW5rZSEKCmduT21lCgpwLnMuIHNlaXQga3VyemVtIGdpYnRzIGFtIHBhcnR5YnJldHQgdW50ZXIgYW5rdW5mdHN0YWcgYXVjaCAnU2Ftc3RhZycKICAgICB1bmQgYmFsZCBhdWNoIHVudGVyIHVudGVya3VuZnQgJ3ByaXZhdCcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHlzaGlydCAoQW5hdG9sLCAgNC4gSnVsIDIwMDAsIDE3OjAyOjI3KToKfiMhIHJuPUdub21lIHJ0PTk2MjcxOTIzMyByZz1wYXJ0eQp+IyEgdGlkPTk2MjcxOTIzMwpJY2ggd3VlcmRlIGphIHNjaG9uIGdlcm4gd2lzc2VuLCB3b2Z1ZXIgaWNoIG1laW4gR2VsZCBhdXNnZWJlIC0gCkJFVk9SIGVzIHp1IHNwYWV0IGlzdC4gRGFzIGhhdCBtaXQgRGVtb2tyYXRpZSBuaWNodHMgenUgdHVuLiA6KQoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBhcnR5c2hpcnQgKEdub21lLCAgNC4gSnVsIDIwMDAsIDE3OjA1OjAzKToKfiMhIHJuPUFuYXRvbCBydD05NjI3MjI5NDcgcmc9cGFydHkKfiMhIHRpZD05NjI3MTkyMzMKd2FzIGthbm5zdCBkdSBmdWVyIDE1IG1hcmsgZmFsc2NoIG1hY2hlbj8KenVyIG5vdCBiZW51dHp0IGR1IGVzIGhhbHQgYWxzIG5hY2h0aGVtZCwgd2VubnMgZGlyIG5pY2h0IGdlZmFlbGx0LgpmdWVyIHphdWJpcyBhbHRlcm5hdGl2IG5hdHVlcmxpY2ggYXVjaCBhbHMgaGV1bHR1Y2ggenUgZ2VicmF1Y2hlbiA6KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBhcnR5c2hpcnQgKEhvb2QsICA0LiBKdWwgMjAwMCwgMTc6NTQ6MjQpOgp+IyEgcm49R25vbWUgcnQ9OTYyNzIzMTAzIHJnPXBhcnR5Cn4jISB0aWQ9OTYyNzE5MjMzCmhtbW0sIGRhcyBrbGluZ3Qgc28sIGFscyBiZXN0dWVuZGUgZHVyY2hhdXMgZGllIG1vZWdsaWNoa2VpdCwgZGFzCmdpbGRlbmRpc2tyaW1pbmllcmVuZGUgbW90aXZlIGRhcyB0c2hpcnQgc2NobXVlY2tlbiBrb2VubnRlbiwgdW5kIGljaAp3aWxsIG5pY2h0IG1pdCBlaW5lbSAiemF1YmVyZXIgc2luZCBkb29mIiBkdXJjaCBkaWUgbGFuZGUgemllaGVuIDspKSkpCjE1IERNIGVyc2NoZWluZW4gbWlyIGZ1ZXIgZWluIGhldWx0dWNoIHVuYW5nZW1lc3NlbiBob2NoLCBvZGVyIGlzdCBlcwpzY2huZWxsdHJvY2tuZW5kIGZ1ZXIgYmVzb25kZXJzIGhhcnRlIHphdWJpdGFnZT8gKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXJ0eXNoaXJ0IChEZXZpbGNoZW4sICA0LiBKdWwgMjAwMCwgMTc6NTU6NTkpOgp+IyEgcm49R25vbWUgcnQ9OTYyNzIzMTAzIHJnPXBhcnR5Cn4jISB0aWQ9OTYyNzE5MjMzCk1laW4gbGllYmVyIE1hbm4uLi4uZGFzIG1pdCBkZW0gTmFjaHRoZW1kIHdhciBfbWVpbmVfIElkZWUhCiphdWZmdXNzYm9kZW5zdGFtcGYqCmdlaCBhYnNwdWVsZW4uLi47KQpEZXYqLCBodW5ncmlnZXIgSG9iYml0LCBleHRyZW0gZ2VyZWl6dDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwYXJ0eXNoaXJ0IChYZW5hZGEsICA0LiBKdWwgMjAwMCwgMTc6NTY6MTYpOgp+IyEgcm49SG9vZCBydD05NjI3MjYwNjQgcmc9cGFydHkKfiMhIHRpZD05NjI3MTkyMzMKZGlza3JpbWluaWVyZW5kIGlzIGVzIG5vY2ggbmljaHQgOykKWGVuYWRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwYXJ0eXNoaXJ0IChBbmF0b2wsICA0LiBKdWwgMjAwMCwgMTg6MzI6MTIpOgp+IyEgcm49RGV2aWxjaGVuIHJ0PTk2MjcyNjE1OSByZz1wYXJ0eQp+IyEgdGlkPTk2MjcxOTIzMwpOYXR1ZXJsaWNoLiBXZXIgYXVzc2VyIGVpbmVtIGxhdWZlbmRlbiBNZXRlciBhIGxhICdvYmJpdCBrb2VubnRlCmVpbiBub3JtYWxlcyBULVNoaXJ0IGVmZml6aWVudCBhbHMgTmFjaHRoZW1kIGJlbnV0emVuLi4uPwoKQWNoLCB1ZWJyaWdlbnMgR25vbWUuIE51ciB3ZWlsIGljaCBXZXNzaWUgYmluLCBzY2hlaXNzdCBtZWluIFZhdGVyCm5pY2h0IGF1dG9tYXRpc2NoIChTY2hlaW58S2wpZWluZ2VsZC4gQWxzbyBtb2VjaHRlIGljaCBkaWUgMTUtMzAKTWFyaywgZGllIGljaCBub3JtYWxlcndlaXNlIGluIGRpZXNlIERldm90aW9uYWxpZW4gaW52ZXN0aWVyZSwgCm5pY2h0IGluIGVpbmUgS2F0emUgc3RlY2tlbiwgZGllIG5vY2ggaW0gU2Fja2VybCBzdGVja3QuCgpBbmF0b2wgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJ0eXNoaXJ0IChIaWdodCwgIDQuIEp1bCAyMDAwLCAyMTo0NDo1OSk6Cn4jISBybj1Hbm9tZSBydD05NjI3MTkyMzMgcmc9cGFydHkKfiMhIHRpZD05NjI3MTkyMzMKYXJnbCBrb2VubnQgaWhyIGRpZSBzaGlydHMgbmV0IGZ1ZXIgbGV1dGUgd2llIG1pY2ggaW4gYnJlaXRlIGwgdW5kIGxhZW5nZSAyKmwKZWlucmljaHRlbiA/IAppY2ggaGFiIGtlaWRlciBkaWUgZXJmYWhudW5nIGdlbWFjaHQgZGFzIEwgc2hpcnRzIHp1IGt1cnogc2luZCB1bmQgWEwgdW5kIFhYTApudXJub2NoIGJyZWl0ZXIgc3RhdCBsYWVuZ2VyIHdlcmRlbiAuLi4uIGVyc3QgcmVjaHQgd2VubiBtYW4gZGVuIGZyZWZlbCBiZWdlaHQKZGllIGRpbmdlciBhdWNoIG5vY2ggenUgd2FzY2hlbgoKCmhpZ2h0IHNpY2ggbWl0IDIgcGFzc2VuZGVuIHQtc2hpcnRzIGJlZ251ZWdlbiBtdWVzc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0eXNoaXJ0IChIb29kLCAgNC4gSnVsIDIwMDAsIDIyOjU0OjM3KToKfiMhIHJuPUhpZ2h0IHJ0PTk2MjczOTg5OSByZz1wYXJ0eQp+IyEgdGlkPTk2MjcxOTIzMwpkYXMgb3JnYXRlYW0ga29lbm50ZSBkaXIgamEgZnVlciBkZW4gYXVmcHJlaXMgdm9uIDIwIERNIHp3ZWkgaGFudGVsbgpkYXp1a2F1ZmVuLiBkYW1pdCB3aXJkIGRhcyB0c2hpcnQgendhciB6aWVtbGljaCB0ZXVlciwgYWJlciBuYWNoIGV0d2FzCnRyYWluaW5nIHNvbGx0ZW4gZGFubiBhdWNoIGFsbGUgYW5kZXJlbiB6dWt1ZWZ0aWdlbiBzaGlydHMKaGlnaHQta29tcGF0aWJlbCBzZWluIDspKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBhcnR5c2hpcnQgKEF0b3osICA1LiBKdWwgMjAwMCwgMDk6MTY6NTcpOgp+IyEgcm49SG9vZCBydD05NjI3NDQwNzcgcmc9cGFydHkKfiMhIHRpZD05NjI3MTkyMzMKQWVoZW0sIHdpZSBzb2xsIHNpY2ggZGVubiBzZWluZSBMYWVuZ2UgZHVyY2ggSGFudGVsdHJhaW5pbmcgdmVyaW5nZXJuPwpJY2ggZGVua2UgbWFsLCBzZWluZSBCcmVpdGUgd2lyZCBkYW5uIHZpZWxsZWljaHQgc28sIGRhc3MgZXIgaW4gZGllClhMLVhYTC1IZW1kZW4gcGFzc3QsIGFiZXIgb2IgZXIgZGFkdXJjaCBrdWVyemVyIHdpcmQ/IEljaCB3ZWlzcyBuaWNodCwgaWNoCndlaXNzIG5pY2h0Li4uCkF1c3NlcmRlbSBnaWJ0IGVzIGFuZ2VuZWhtZXJlIE1vZWdsaWNoa2VpdGVuLCBkaWUgQnJlaXRlIHp1IHZlcmdyb2Vzc2VybiwgYWxzCnp1IHRyYWluaWVyZW4gOykgLSBJY2ggc3ByZWNoZSBkYSBhdXMgRXJmYWhydW5nIDspCgpHcnVzcyBBdG96CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwYXJ0eXNoaXJ0IChEZWVwYmx1ZSwgIDUuIEp1bCAyMDAwLCAxMDoxNjo1OCk6Cn4jISBybj1BdG96IHJ0PTk2Mjc4MTQxNyByZz1wYXJ0eQp+IyEgdGlkPTk2MjcxOTIzMwpCaXN0IER1IFp3ZWl0aWUgdm9uIFNjaG9rbz8gOi0pKSkKRGVlcGJsdWUtPnNjaG1hcnJuKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHBhcnR5c2hpcnQgKEdvbGFzLCAgNS4gSnVsIDIwMDAsIDE0OjA5OjQ3KToKfiMhIHJuPUF0b3ogcnQ9OTYyNzgxNDE3IHJnPXBhcnR5Cn4jISB0aWQ9OTYyNzE5MjMzCkdvbGFzIGVtcGZpZWhsdCBYTFQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZydWVoIHVlYnQgc2ljaC4uLiAoTW9udGFudXMsICA1LiBKdWwgMjAwMCwgMTg6MjA6MjUpOgoKLi4uIHVlYmVybGVndCBldWNoIHNjaG9ubWFsIGpldHp0LCBvYiBlcyB3aWVkZXIgZWluZSBOaWtvbGF1cy1GZXRlIGdlYmVuIHNvbGwKb2RlciBuaWNodC4gV2VubiBpY2ggcmVjaHR6ZWl0aWcgQmVzY2hlaWQgd2Vpc3MsIGlzdCBkYXMgZHVyY2hhdXMgbWFjaGJhci4gOy0pCi4uLiBhdWNoIHdlbm4gaXJnZW5kamVtYW5kIGduYWRlbmxvcyBQaXp6YXBlcGUgZ2Vsb2VzY2h0IGhhdC4gOy0oCgotTW9udGFudXMsIFBhcnR5aGlsZnNvcmdhbmlzYXRvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZydWVoIHVlYnQgc2ljaC4uLiAoUm9jaHVzLCAgNS4gSnVsIDIwMDAsIDE4OjM5OjU4KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk2MjgxNDAyNSByZz1wYXJ0eQp+IyEgdGlkPTk2MjgxNDAyNQpBbHNvLCBpY2ggaGFldHRlIG5hdHVlcmxpY2ggbmljaHRzIGRhZ2VnZW4gOi0pCgogIERlciBOaWtvbGF1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBhcnR5c2hpcnQgKEF0b3osICA2LiBKdWwgMjAwMCwgMTY6MjI6NDApOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTYyNzg1MDE4IHJnPXBhcnR5Cn4jISB0aWQ9OTYyNzE5MjMzCk1vb29vb21lbnQhIGRhcyB3ZXJ0ZSBpY2ggYWxzIHBlcnNvZW5saWNoZSBCZWxlaWRpZ3VuZywgamF3b2xsISA7KQpBdG96IC0gWndlaXRpZSB2b24gTHdheCogamF3b2xsLCB1bmQgc3RvbHogZHJhdWYgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdldHJhZW5rZS1Tb25kZXJ3dW5zY2ggKE9ya3RvZXRlciwgIDcuIEp1bCAyMDAwLCAyMDoyMzo1OSk6CkljaCBoYWV0dGUgZ2VybmUgQm93bGUsIHdlbm4gc2ljaCBkYXMgZWlucmljaHRlbiBsYWVzc3QuIApJc3QgamEgc2NobGllc3NsaWNoIFNvbW1lciB6dSBkZXIgWmVpdC4uLgoKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKEdub21lLCAxMy4gSnVsIDIwMDAsIDE0OjI5OjEyKToKaGksCgphbHNvIGljaCBtb2VjaHRlIG5vY2htYWwgZWluZW4gc2F0eiB6dW0gc2hpcnQgbG9zd2VyZGVuOgoKZGFzIG1vdGl2IGRlcyBzaGlydHMgaXN0IHNlaHIgcGVyc29lbmxpY2gsIGFiZXIga2VpbmVzZmFsbHMgYmVsZWlkaWdlbmQvCmFic3Rvc3NlbmQvZ2lsZGVuLSB1bmQgb2RlciByYXNzZW4tZGlza3JpbWluaWVyZW5kLgoKd3VlcmRlbiB3aXIgZXMgYmVrYW5udGdlYmVuIHVuZCBkYW1pdCB6d2FuZ3NsYWV1ZmlnIGRlciBkaXNrdXNzaW9uCnN0ZWxsZW4sIGdhZWJlIGVzIGVpbmUgZW5kbG9zZSBkZXJzZWxiZW4uIDEwMCBsZXV0ZSA9PSAxMDEgbWVpbnVuZ2VuLgoKZXMgd2FyIHNjaG9uIHNjaHdpZXJpZyBnZW51ZywgZGFzcyB3aXIgdm9tIG9yZ2F0ZWFtIG5hY2ggemFlaGVuCnZlcmhhbmRsdW5nZW4gYXVmIGVpbmVuIG5lbm5lciBrYW1lbi4uLiA6KQpsYXNzdCBldWNoIGRvY2ggZWluZmFjaCBtYWwgdWViZXJyYXNjaGVuLgoKCmFscyBuYWVjaHN0ZXMgbGVnIGljaCBtYWwgbmUgdWViZXJ3ZWlzdW5ncy1kZWFkbGluZSBmZXN0OgoKMDEuIEF1Z3VzdCAyMDAwCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoQm9pbmcsIDEzLiBKdWwgMjAwMCwgMTQ6MzM6MjYpOgp+IyEgcm49R25vbWUgcnQ9OTYzNDkxMzUyIHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCldpZXNvIHNjaHJlaWJ0IGlociBuaWNodCBlaW5mYWNoIGluIGRpZSBNUEEsIGRhc3MgZGFzIE1vdGl2IHNvIHVuZCBzbwppc3QgdW5kIGVzIGtlaW5lIERpc2t1c3Npb24gZ2lidD8gSWNoIGRlbmtlIGljaCBiaW4gbmljaHQgZGVyIGVpbnppZ2UsCmRlciBuaWNodCBkaWUgS2F0emUgaW0gU2FjayBrYXVmZW4gbW9lY2h0ZS4gT2RlciBoYWIgaWNoIGVpbiBSdWVja2dhYmUtCnJlY2h0IHdlbm4gbWlyIGRhcyBNb3RpdiBuaWNodCBnZWZhZWxsdD8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKEdub21lLCAxMy4gSnVsIDIwMDAsIDE0OjM5OjQyKToKfiMhIHJuPUJvaW5nIHJ0PTk2MzQ5MTYwNiByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgpuYXR1ZXJsaWNoIG5pY2h0LgoKYXVjaCBmdWVyIGRpZSBzaGlydHMgZ2lsdCBkaWUgZGVhZGxpbmUgenVtIDEuOC4wMCwgZGllIHdvbGxlbiBqYSBub2NoCmlyZ2VuZHdhbm4gZ2VkcnVja3Qgd2VyZGVuLi4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChBbmF0b2wsIDEzLiBKdWwgMjAwMCwgMTQ6NDM6MzQpOgp+IyEgcm49R25vbWUgcnQ9OTYzNDkxOTgyIHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCkljaCBkZW5rZSwgZGFzIFJpc2lrbyBzb2xsdGUgZGVyamVuaWdlIHRyYWdlbiwgZGVyIGF1ZiBHZWRlaWggdW5kClZlcmRlcmIgZGllIFRyYWRpdGlvbiBhdXNudXR6ZW4gbW9lY2h0ZSB1bmQgZGllIEthZXVmZXIgaW0gVW5rbGFyZW4KbGFlc3N0LCB3b2hsIHdpc3NlbmQsIGRhc3Mgc2llIEludGVyZXNzZSBoYWJlbiB1bmQgbnVyIHNlaHIgdW5nZXJuCmFic3ByaW5nZW4uIE9yZGVyIGphLCBaYWhsdW5nIGVyc3QgYmVpIEVyaGFsdCB1bmQgR2VmYWxsZW4gZGVyIFdhcmUuCgpNdWVzc3RlIGF1Y2ggaW4gRGVpbmVtIFNpbm5lIHNlaW4sIEdub21lLCBEdSBiaXN0IGphIGRhdm9uIHVlYmVyemV1Z3QsCmRhc3MgdW5zIGRpZSBULVNoaXJ0cyBnZWZhbGxlbi4KCkFuYXRvbCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoRmV1ZXJ3ZWhyLCAxMy4gSnVsIDIwMDAsIDE0OjQ2OjIxKToKfiMhIHJuPUFuYXRvbCBydD05NjM0OTIyMTQgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKCktvZW5udGVuIGljaCBtZWluIFQtU2hpcnQgdmllbGxlaWNodCBlaW5lIFdvY2hlIHByb2JldHJhZ2VuIHVuZCBtaWNoIGRhbm4KZW50c2NoZWlkZW4/IEljaCBicmF1Y2hlIGRpZXNlIFplaXQsIGRlbm4gYWxzIEhlcmJzdC1GYXJiZW4tVHlwIHd1ZXJkZSBpY2ggbWl0ClNvbW1lci1GYXJiZW4gZ2FyIHNjaHJlY2tsaWNoIGF1c3NlaGVuLCB1bmQgc28gZXR3YXMga2FubiBtYW4gbnVyIGltIHJlY2h0ZW4KTGljaHQgZW50c2NoZWlkZW4gOi0pLgoKICAgICBGZXVlcndlaHIsIHNjaG1hcnJlbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoR25vbWUsIDEzLiBKdWwgMjAwMCwgMTU6MTE6NTQpOgp+IyEgcm49QW5hdG9sIHJ0PTk2MzQ5MjIxNCByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1Mgp2ZXJnaXNzIGVzLCBhbmF0b2wuCgp3ZW5uIGR1IGtlaW5lIDE1IG1hZXJrZXIgZnVlciBlaW4gc2VociBrbGVpbmVzIHJpc2lrbyB1ZWJlciBoYXN0LCBkYW5uCmxhc3MgZXMgaGFsdCBibGVpYmVuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoQW5hdG9sLCAxMy4gSnVsIDIwMDAsIDE1OjEzOjI3KToKfiMhIHJuPUdub21lIHJ0PTk2MzQ5MzkxNCByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgpEYXMgUmlzaWtvLCBkYXMgX0RVXyB1bnMgYXVmendpbmdzdC4KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChOaWNvbGFpLCAxMy4gSnVsIDIwMDAsIDE1OjEzOjMxKToKfiMhIHJuPUdub21lIHJ0PTk2MzQ5MzkxNCByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgpBbHNvIF93ZW5uXyBpY2ggbWFsIHZvcmdlaGFidCBoYWV0dGUgZWluIFQtc2hpcnQgenUga2F1ZmVuLCB3dWVyZGUKaWNoIGVzIG5hY2ggc28gbmVtIEFydGlrZWwgZ2FueiBzaWNoZXIgYmxpZWJlbiBsYXNzZW4uCgpOaWNvbGFpLnNlbmYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoR2xvaW5zb24sIDEzLiBKdWwgMjAwMCwgMTU6MTc6MTcpOgp+IyEgcm49Qm9pbmcgcnQ9OTYzNDkxNjA2IHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCkRlbSBrYW5uIGljaCBudXIgYmVpcGZsaWNodGVuLiBJY2ggd2Vpc3MgZ2FyIG5pY2h0LCB3YXMgc28gd3VuZGVyc2Nob2VuCmRyYW4gc2VpbiBzb2xsLCBkYXNzIGljaCBkYXMgTW90aXYgZXJzdCBkYW5uIHNlaGUgd2VubiBpY2ggZXMgcnVlYmVyLQpnZXJlaWNodCBiZWtvbW1lLiBFcyBzdGVoZW4gbnVubWFsIG5pY2h0IGFsbGUgTGV1dGUgYXVmIHdlaWhuYWNodGxpY2hlCkJlc2NoZXJ1bmdzc3RpbW11bmcuIEJlaSBkZW4gYmlzaGVyaWdlbiBXYWhsZW4gaGFiZW4gc2ljaCBkaWUgdWViZXItCnN0aW1tdGVuIExldXRlIGltbWVyIG5vY2ggaW4gS2VubnRuaXMgZGVzIE1vdGl2cyBlbnRzY2hlaWRlbiBrb2VubmVuLApzZWxic3QgZGVuZW4gZ2luZyBlcyBkYSBiZXNzZXIuCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKEdub21lLCAxMy4gSnVsIDIwMDAsIDE1OjMxOjIxKToKfiMhIHJuPUdsb2luc29uIHJ0PTk2MzQ5NDIzNyByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgpndXQsIGRpZSB0c2hpcnQtYWt0aW9uIGlzdCBmdWVyIG1pY2ggYmVlbmRldC4KaWNoIGhhYmUga2VpbmUgbHVzdCBtZWhyLCBhdWYgd2VpdGVyZSBkaXNrdXNzaW9uZW47IHZvciBhbGxlbiBkaW5nZW4KaW4gZGVuIG5hZWNoc3RlbiAxMCB0YWdlbiBoYWJlIGljaCBiZXNzZXJlcyB6dSB0dW4vbGVybmVuLCBhbHMgYXVmIGFuYXRvbHMKYXJ0aWtlbCBlaW56dWdlaGVuIHVuZCBqZWRlbSBkcml0dGVuIGVya2xhZXJlbiB6dSBtdWVzc2VuLCB3YXJ1bSB3aXIKZGFzIG1vdGl2IG5pY2h0IGJla2FubnRnZWJlbiB3b2xsdGVuLgpkaWUsIGRpZSBzaWNoIGF1ZiBlaW4gc2hpcnQgZ2VmcmV1dCBoYWJlbjogc29ycnksIGFiZXIgdmllbGxlaWNodAplcmtsYWVydCBzaWNoIGVpbiBhbmRlcmVyIGJlcmVpdCwgc2hpcnRzIHp1IG1hY2hlbi4KCmRhIHNpY2ggYmlzIGpldHp0IGVoIG51ciAxNCBhbmdlbWVsZGV0IGhhYmVuLCBrYW5uIGljaCBkYXJhdXMgc2NobGllc3NlbiwKZGFzcyBlcyBrZWluIGFsbHp1IGdyb3NzZXIgYmVkYXJmIGJlc3RhbmQuCnZpZWxsZWljaHQgd2FyIGVzIGF1Y2ggZmFsc2NoLCBkaWUgdWViZXJyYXNjaHVuZyBtaXRlaW56dWJhdWVuLCBlaW4KdmVyc3VjaCB3YXIgZXMgYWxsZW1hbCB3ZXJ0LgoKd2VyICd0c2hpcnQnIHp3ZWNrcyBtYWlsLXNhbW1lbG4gaGFiZW4gbW9lY2h0ZSwga2FubiBpaG4gZ2xlaWNoIGhhYmVuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoQm9pbmcsIDEzLiBKdWwgMjAwMCwgMTU6MzM6MjkpOgp+IyEgcm49R25vbWUgcnQ9OTYzNDk1MDgxIHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCkV2ZW50dWVsbCBoYWJlbiBzaWNoIGphIG51ciAxNCBmdWVyIGVpbiB0c2hpcnQgYW5nZW1lbGRldCB3ZWlsIGRpZQptZWlzdGVuIGRvY2ggZ2VybmUgdm9yaGVyIHdpc3NlbiBtb2VjaHRlbiB3YXMgc2llIGRhIGthdWZlbj8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChHbG9pbnNvbiwgMTMuIEp1bCAyMDAwLCAxNTozNDowMSk6Cn4jISBybj1Hbm9tZSBydD05NjM0OTUwODEgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKU28sIGRhIER1IGpldHp0IG1hbCBlaW5lIFphaGwgZ2VuYW5udCBoYXN0IHVuZCBhdWNoIFNlbGJzdGtyaXRpayBnZXVlYnQKaGFzdCwgd2FlcnMgZG9jaCBqZXR6dCBnYXIgbmljaHQgYXJnLCBkYXMgTW90aXYgenUgdmVyb2VmZmVudGxpY2hlbiB1bmQKZGllIEF0a2lvbiBhbnNvbnN0ZW4gbWl0IGdsZWljaGVtIEF1ZndhbmQgd2VpdGVyenViZXRyZWliZW4uCk9kZXIgaXN0IGRhcyBTTyBzY2h3ZXI/CgpHbG9pbi9zb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKEdub21lLCAxMy4gSnVsIDIwMDAsIDE1OjM0OjU5KToKfiMhIHJuPUdsb2luc29uIHJ0PTk2MzQ5NTI0MSByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgpuZWluLiB3ZW5uIHdpciBkYSBtb3RpdiBiZWthbm50Z2ViZW4sIGlzdCBkZXIgd2l0eiBhdXMgZGVyIHNhY2hlIHJhdXMuCmdsYXViZSBtaXIuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChHbm9tZSwgMTMuIEp1bCAyMDAwLCAxNTozNjozNyk6Cn4jISBybj1Hbm9tZSBydD05NjM0OTUyOTkgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKc29ycnkuLi4gJ2Jla2FubnRnZWdlYmVuIGhhZXR0ZW4nLCBtdXNzIGVzIGhlaXNzZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChIb29kLCAxMy4gSnVsIDIwMDAsIDE1OjM2OjQ1KToKfiMhIHJuPUdub21lIHJ0PTk2MzQ5NTI5OSByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgphYmVyIGRhIGRlciB3aXR6IGphIGpldHp0IGdlc3RvcmJlbiBpc3QsIGtvZW5udGVzdCBkdSBkb2NoLi4ub2tvaywgYWJicnVjaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChHbG9pbnNvbiwgMTMuIEp1bCAyMDAwLCAxNTo0NjowMCk6Cn4jISBybj1Hbm9tZSBydD05NjM0OTUzOTcgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKTmV0dGUgSWRlZSB3YXIgZXMgdmllbGxlaWNodC4gRWluIHBhYXIgTW9lZ2xpY2hrZWl0ZW46CjEuIGhpZXIgd29sbGVuIGFuc2NoZWluZW5kIGVpbiBwYWFyIExldXRlIGtlaW5lICJLYXR6ZSBpbSBTYWNrIiBrYXVmZW4KICAgLSBkaWVzZSB3dWVyZGVuIGxlaWNodCBhbmdlc2FldWVydCBkb2NoIG5vY2ggZWluIFNoaXJ0IGJlc3RlbGxlbiwKICAgICBkYW1pdCBzaWUgbmljaHQgb2huZSBTb3V2ZW5pciBkYXN0ZWhlbiAtPiBTVElNTVVORyA6KAoyLiBEdSBtYWdzdCBqZXR6dCBuaWNodCBtZWhyIC0gbnVuIGdpYnQgZXMgZ2FyIGtlaW5lIFQtU2hpcnRzLgogICAtPiBTVElNTVVORyA6KAozLiBEdSB2ZXJvZWZmZW50bGljaHN0IGRhcyBNb3RpdiB1bmQgZmFsbHMgZXMgd2lya2xpY2ggc28gdW53aXR6aWcgaXN0LAogICBuaW1tc3QgRHUgZWluZmFjaCBlaW4gcGFhciB6dXIgV2FobCBhdWYgLT4gU3RpbW11bmcgOikpKQoKU28gb2RlciBzbywgYmVpIDEuIGhhc3QgRHUgQXJiZWl0IHVuZCBzY2hsZWNodGUgTGF1bmUsIGJlaSAyLiBrZWluZQpBcmJlaXQgdW5kIHNjaGxlY2h0ZXJlIExhdW5lIHVuZCBiZWkgMy4gKmh1Y2gqIFdhZXJlIGRhcyBuaWNodCBpZGVhbD8KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoT3JrdG9ldGVyLCAxMy4gSnVsIDIwMDAsIDE5OjIyOjUzKToKfiMhIHJuPUdsb2luc29uIHJ0PTk2MzQ5NTk2MCByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgpJY2ggbXVzcyBHbG9pbnNvbiBkYSB6dXN0aW1tZW4uCkJpcyBsYW5nIGhhYmUgaWNoIGF1ZiBqZWRlciBQYXJ0eSBkYXMgZW50c3ByZWNoZW5kZSBTaGlydCBnZW5vbW1lbiB1bmQgd2FyCmF1Y2ggaW1tZXIgc2VociB6dWZyaWVkZW4uCkljaCBrYW5uIGF1Y2ggZWhyIGd1dCB2ZXJzdGVoZW4sIGRhcyBtYW4gYWxzIE9yZ2FuaXNhdG9yIGtlaW5lIEx1c3QgYXVmIGVpbmUKZ3Jvc3NlIERpc2t1c3Npb24gdW5kIFdhaGwgZXRjLiBoYXQsIGFiZXIgZGFubiBpc3QgZGllIE1ldGhvZGUgIiBEYSBpc3QgZGFzCkJpbGQgenUgc2VoZW4sIG5laG10cyBvZGVyIGxhc3N0cyIgc2ljaGVybGljaCBkaWUgTWV0aG9kZSBkZXIgV2FobC4KV2VubiBpaHIgZGFzIE1vdGl2IG51ciBmdWVyIGRlbiBlaW5lbiBQYXJ0eWFiZW5kIGZ1ZXIgd2l0emlnIGhhbHRldCBzaW5kIG1pcgpkaWUgMTUgRE0gZGFubiB3b2hsIGF1Y2ggZWhlciB6dSB2aWVsLCBhbnNvbnN0ZW4gc3RlaHQgZGVyCkJpbGR2ZXJvZWZmZW50bGljaHVuZyBkb2NoIHdvaGwgbmljaHRzIGVudGdlZ2VuLCBkYSBzaWNoIGRvY2ggb2ZmZW5iYXIgc28KdmllbGUgbmljaHQgZ2VybmUgdWViZXJyYXNjaGVuIGxhc3NlbiB3b2xsZW4uCgpPcmtULCBkZXIgZ2VybmUgYXVjaCB2b24gQmVybGluIDIwMDAgZWluIFQtU2hpcnQgaGFldHRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChGZXVlcndlaHIsIDEzLiBKdWwgMjAwMCwgMjA6MzE6MDkpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTk2MzUwODk3MyByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgpIaSEKCkFuIGRpZXNlciBTdGVsbGUgbW9lY2h0ZSBpY2ggc2FnZW46CgogICAgICAgICAgV2VpY2hlaWVyISBXYXJtZHVzY2hlciEgVGVsZXR1YmJpZVp1cnVlY2tXaW5rZXIhCgpTZWlkIGlociBsYW5nd2VpbGlnZSB1bmQgcmlzaWtvc2NoZXVlIFR5cGVuISBXZW5uIEdub21lIHNhZ3QsIGVzIHdpcmQgZWluClJpZXNlbi1HYWcsIGRhbm4gd2lyZCBkYXMgYmVzdGltbXQgZWluZXIuIEdvdHQgd2Vpc3MsIHdpciBoYWJlbiBzY2hvbiBkYXMgZWluZQpvZGVyIGFuZGVyZSB3ZW5pZ2VyIGdlbHVuZ2VuIGdlZHJ1Y2t0ZSBQYXJ0eS1Uc2hpcnQgZ2VoYWJ0LiBJaHIgc2VpZApTY2huYXJjaG5hc2VuISA6KQoKICAgICAgIEZldWVyd2VociwgdG9kZXN2ZXJhY2h0ZW5kLCBhYmVyIGluIFNwYXNzLUxhdW5lLgoKUFM6IERpZXNlIE1haWwgaGF0IG5pY2h0cyBkYW1pdCB6dSB0dW4sIGRhc3MgaWNoIG5pY2h0IG5hY2ggQmVybGluIGZhaHJlIHVuZAogICAgZXVjaCBhbGxlIGlucyBWZXJkZXJiZW4gc3R1ZXJ6ZW4gbW9lY2h0ZS4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChMZWlibml6LCAxMy4gSnVsIDIwMDAsIDIxOjE1OjI0KToKfiMhIHJuPUZldWVyd2VociBydD05NjM1MTMwNjkgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKaWNoIHdpbGwgYWJlciBlaW4gdHNoaXJ0CgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoSGlnaHQsIDEzLiBKdWwgMjAwMCwgMjI6MTA6NTgpOgp+IyEgcm49TGVpYm5peiBydD05NjM1MTU3MjQgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKZGl0bwoKaGlnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiB0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKEFub3JpcywgMTQuIEp1bCAyMDAwLCAwMDo0MzozNSk6Cn4jISBybj1IaWdodCBydD05NjM1MTkwNTggcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKd2Vpc3Mgbm9jaCBuZWQgb2IgaWNoIHp1ciBwYXJ0eSBrb21tIC4uIGFiZXIgYXVzIHByaW56aWcgLi4gYml0dGUgbiB0c2hpcnQKZnVlciBtaWNoIDopICpkYW5rZSogOikgLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiB0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKExlaWJuaXosIDE0LiBKdWwgMjAwMCwgMTU6MDU6NDYpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTYzNTY3NzQ0IHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCmRhbm4gd2lsbCBpY2ggbm9jaCBrZWtzZQpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChBbGJvaW4sIDE2LiBKdWwgMjAwMCwgMTk6MjM6MzQpOgp+IyEgcm49R25vbWUgcnQ9OTYzNDk1Mjk5IHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCmhhbGxpaGFsbG8sIAppY2ggd29sbHRlIG1hbCB2b3JzaWNodGlnIG5hY2hmcmFnZW4gb2IgbWFuIGVzIG5pY2h0IGJlaWRlbiByZWNodG1hY2hlbgprb2VubnRlLiBFaW4gVC1TaGlydCBmdWVyIGRpZSwgZGllIHVlYmVycmFzY2h0IHdlcmRlbiB3b2xsZW4gdW5kIGVpbnMgZnVlcgpkaWUsIGRpZSB3aXNzZW4gd29sbGVuIHdhcyBzaWUgZGEga2F1ZmVuLiBOYXR1ZXJsaWNoIGhhYmVuIGRhbm4gYmVpZGUgVC1TaGlydHMKdW50ZXJzY2hpZWRsaWNoZSBNb3RpdmUgOi0pClp3YXIgd2FlcmUgZGFzIFNwYWx0ZXJlaSB1bmQgYXVjaCBtZWhyIEF1ZndhbmQsIGFiZXIgZGVyIEZyaWVkZW4gd2FlcmUgZGFkdXJjaAp2aWVsbGVpY2h0IG1hbCB3aWVkZXIgaGVyZ2VzdGVsbHQuCgpHcnVlc3NlIEFsYm9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChMZWliaSwgMTcuIEp1bCAyMDAwLCAyMjozNjowNSk6Cn4jISBybj1BbGJvaW4gcnQ9OTYzNzY4MjE0IHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCmdlbmF1LCBkYW5uIGthdWYgaWNoIDIgdHNoaXJ0cyA6KQppc3QgbWlyIGF1Y2ggcmVjaHQKCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKEd1YXJkLCAxOS4gSnVsIDIwMDAsIDE5OjQ2OjMxKToKfiMhIHJuPUFsYm9pbiBydD05NjM3NjgyMTQgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKbmFqYQoKaWNoIHdhciBsYW5nZSBuaWNoIGRhIHVuZCBoYWIgbWlyIGRpZXNlbiB0b2xsZW4gdGhyZWFkIHRhdHNhZWNobGljaCBhbmdldGFuIAp1bmQgaXJnZW5kd2llIGhhYmVuIGFsbGUgZWluIGJpc3NjaGVuIHJlY2h0IHVuZCBkdWVyZmVuIGRhcmF1ZiBhdWNoIGJlaGFycmVuCkRhcyBNb3RpdiwgZGFzIEdub21lIGFuZ2VkYWNodCBoYXR0ZSBpc3Qgd2lya2xpY2ggbnVyIHdpdHppZywgd2VubiBlcyAKdm9yaGVyIGtlaW5lciBrZW5udC4gYWxzbyBzdGVodCBkZXNzZW4gdmVyb2VmZmVudGxpY2h1bmcgZWluZmFjaCBuaWNodCB6dXIKZGViYXR0ZSEgZGVzd2VnZW4gbnVuIGdsZWljaCAyIHRzaGlydC1hbmdlYm90ZSB6dSBtYWNoZW4sIGhhZW5ndCBsZWlkZXIgdm9uCmdub21lIGFiLCBkYSBzaWNoIHdlaXRlciBrZWluZXIgaW4gZGVyIGxhZ2Ugc2llaHQsIGRhIG5vY2ggd2FzIGhpbnp1YmVrb21tZW4uCldhcyBtaWNoIGFiZXIgYW4gZGVyIHNhY2hlIGlyZ2VuZHdpZSBpcml0aWVydDoKTklFTUFORCBoYXQgYmlzaGVyIHdhcyBwcm9kdWt0aXZlcyBkYXp1IGJlaWdldHJhZ2VuIQpOSUVNQU5EIGhhdCBnZXNhZ3Q6ICJJY2ggaGFiIG4gTW90aXYgdW5kIHd1ZXJkIGVzIHp1ciBEaXNrdXNzaW9uIHN0ZWxsZW4KTklFTUFORCBoYXQgc2ljaCBnZWRhY2h0LCBvaywgZGFubiBuZWhtIGljaCBkYXMgaW4gZGllIEhhbmQsIHdlc2hhbGIgbXVzcyBkZW5uCmltbWVyIGRlciBQYXJ0eW9yZ2FuaXNhdG9yIGRpZSB0c2hpcnRzIG1hY2hlbiAuLi4KClZvbiBkYWhlciBzdG9zcyBpY2ggbWFsIGdhbnogZGV6ZW50IGRlbiBUaHJlYWQgYW4sIGRhcyBtYWwgZW5kbGljaCBtb3RpdmUgenVyCkRpc2t1c2lvbiBnZXN0ZWxsdCB3ZXJkZW4gdW5kIG1hbiBkYW5uIGdub21lIG5vY2htYWwgbmV0dCBmcmFndCwgb2IgZXIgZGllCnNoaXJ0cyB0cm90emRlbSBtYWNodAoKQW5kZXJzIGlzIGRpZSBzYWNoZSB3b2hsIG5pY2h0IGluIGRlbiBHcmlmZiB6dSBiZWtvbW1lbi4KCkRhIHNpY2ggYmlzIGpldHp0IGF1Y2ggbmllbWFuZCB6dSBkZW0gVGhlbWEgUGFydHktSG9zZSBnZWFldXNzZXJ0IGhhdCwKYmV0cmFjaHRlIGljaCBkYXMgYWxzIG5pY2h0IHdlaXRlciBpbnRlcmVzc2FudC4KCkRhIHNvd2llc28gbmljaCBtZWhyIHZpZWwgWmVpdCBpcywgc29sbHRlIGRhIGJhbGQgbWFsIHdhcyBwYXNzaWVyZW4KCkp1c3QgbXkgdHdvIGNlbnRzCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChEZWVwYmx1ZSwgMTkuIEp1bCAyMDAwLCAyMDozOTozOSk6Cn4jISBybj1HdWFyZCBydD05NjQwMjg3OTEgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKV2llIHdhZXJlIGVzLCBpcmdlbmRlaW5lbiBuaWNodCByZWFsaXNpZXJ0ZW4gRHJlc2RuZXIgVm9yc2NobGFnIHp1IHJlY3ljbGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChIaWdodCwgMTkuIEp1bCAyMDAwLCAyMToyMDoxNCk6Cn4jISBybj1EZWVwYmx1ZSBydD05NjQwMzE5Nzkgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKd2lsbCB0cm96ZGVtIGRhcyB1ZWJlcnJhc2NodW5ncy1zaGlydAoKaGlnaHQgLT4gbXVlbGwgNyBzY2htYXJuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoSHVtbmksIDE5LiBKdWwgMjAwMCwgMjI6MzE6MjYpOgp+IyEgcm49SGlnaHQgcnQ9OTY0MDM0NDE0IHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCldpbGwgYXVjaC4gU2NoZWludCBqYSBkb2NoIEJlZGFyZiB6dSBnZWJlbiwgb2Rlcj8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiB0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKEdsb2luc29uLCAxOS4gSnVsIDIwMDAsIDIyOjM5OjE1KToKfiMhIHJuPUd1YXJkIHJ0PTk2NDAyODc5MSByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1Mgo+TklFTUFORCBoYXQgYmlzaGVyIHdhcyBwcm9kdWt0aXZlcyBkYXp1IGJlaWdldHJhZ2VuIQo+TklFTUFORCBoYXQgZ2VzYWd0OiAiSWNoIGhhYiBuIE1vdGl2IHVuZCB3dWVyZCBlcyB6dXIgRGlza3Vzc2lvbiBzdGVsbGVuCj5OSUVNQU5EIGhhdCBzaWNoIGdlZGFjaHQsIG9rLCBkYW5uIG5laG0gaWNoIGRhcyBpbiBkaWUgSGFuZCwgd2VzaGFsYiBtdXNzCj4gICAgICAgIGRlbm4gaW1tZXIgZGVyIFBhcnR5b3JnYW5pc2F0b3IgZGllIHRzaGlydHMgbWFjaGVuIC4uLgoKV2FzIGJlemVpY2huZXN0IER1IGFscyBwcm9kdWt0aXY/IFVuZCB3aWV2aWVsIE1vdGl2ZSB3aWxsc3QgRHU/IEVzIGdpYnQKc292aWVsZSBpbiBkZW4gbGV0enRlbiBKYWhyZW4gYWJnZXdhZWhsdGUsIGRhc3MgaWNoIG1pciBkZW5rZSBkYXMKZ2VudWVnZW5kIHp1ciBXYWhsIHN0ZWhlbi4KVW5kIHdhcnVtIGRhcyBrZWluIGFuZGVyZXIgaW4gZGllIEhhbmQgbmVobWVuIHdvbGx0ZT8gU2ljaGVyIGhhYmVuIGdlbmF1c28Kd2llIGljaCBhdWNoIGFuZGVyZSBkYXJ1ZWJlciBuYWNoZ2VkYWNodCwgYWJlciBzb2xhbmdlIHNpY2ggZGllCk9yZ2FuaXNhdG9yZW4gaW4gU2Nod2VpZ2VuIGh1ZWxsdGVuIHd1cmRlIGRpZXNlciBHZWRhbmtlIGF1Y2ggbmljaHQKdW1nZXNldHp0IC0gZGVubiB6dW1pbmRlc3QgaWNoIG5laG1lIG5pY2h0IGFuLCBkYXNzIGFsbGVpbmlnIEdub21lCm9yZ2FuaXNpZXJ0LgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChHbm9tZSwgMjAuIEp1bCAyMDAwLCAwMToyMDo0OCk6Cn4jISBybj1HbG9pbnNvbiBydD05NjQwMzkxNTUgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKd2llc28gaGFiIGljaCBiZWkgZGlyIGltbWVyIGRhcyBnZWZ1ZWhsLCBkYXNzIGR1IG1laW5lIGFydGlrZWwgZmFsc2NoCmludGVycHJldGllcnN0PwphcnRpa2VsIDc4IGluIGRpZXNlciBydWJyaWsgd2FyIGRvY2ggd29obCByZWNodCBhdXNzYWdla3JhZWZ0aWcsIG9kZXI/CnVuZCBkYW1pdCBoYWJlIGljaCBpbSBuYW1lbiBkZXMgb3JnYXRlYW1zIGdlc3Byb2NoZW4sIGRpZSBkaWVzZXMKaGlja2hhY2sgYXVjaCBzYXR0IGhhdHRlLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiB0c2hpcnQgJiB1ZWJlcndlaXN1bmcgKFN3b29wLCAyMC4gSnVsIDIwMDAsIDAxOjI2OjQ1KToKfiMhIHJuPUdub21lIHJ0PTk2NDA0ODg0OCByZz1wYXJ0eQp+IyEgdGlkPTk2MzQ5MTM1MgpXZW5uIER1IGltIE5hbWVuIGRlcyBPcmdhdGVhbXMgZ2VzcHJvY2hlbiBoYXN0LCBoYWV0dGVzdCBEdSBtaXQgZGVtICJpY2giCnNwYXJzYW1lciB1bmQgZGVtICJ3aXIiIGZyZWlnaWViaWdlciBrb2VubmVuLgoKU3dvb3AgaS5BLiBHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogdHNoaXJ0ICYgdWViZXJ3ZWlzdW5nIChMdWcsIDIxLiBKdWwgMjAwMCwgMDE6MjA6MzUpOgp+IyEgcm49U3dvb3AgcnQ9OTY0MDQ5MjA1IHJnPXBhcnR5Cn4jISB0aWQ9OTYzNDkxMzUyCgpBbHNvIHdpcmtsaWNoLCBkaWVzZXIgVC1TaGlydCBUaHJlYWQgaGF0IG1pY2gga29lc3RsaWNoIGFtdWVzaWVydC4gTWFjaHQgYml0dGUKc28gd2VpdGVyLiBXdW5kZXJ2b2xsLCBkaWVzZSBnZXNwaWVsdGUgS2xlaW5tdWV0aWdrZWl0LiBLb2VzdGxpY2gsIGplbmVzCnBlbmV0cmFudGUgR2Vub2VyZ2VsLiBVbmQgaGVycmxpY2ggZGVyIGdyb3NzZSBPcmdhbmlzYXRvciBpbiBzZWluZXIgZ2VzcGllbHRlbgpGcnVzdHJpZXJ0aGVpdC4gRGEgQ2FwbyEgCgpCZWdlaXN0ZXJ0Ckx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHRzaGlydCAmIHVlYmVyd2Vpc3VuZyAoTGVpYm5peiwgMjEuIEp1bCAyMDAwLCAyMDoyNjo1MCk6Cn4jISBybj1IdW1uaSBydD05NjQwMzg2ODYgcmc9cGFydHkKfiMhIHRpZD05NjM0OTEzNTIKaWNoIHdpbGwgYXVjaCA6KQoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRzaGlydCB2b24gZ25vbWUgKEFyaWFuYSwgMjEuIEp1bCAyMDAwLCAyMjoxOTowNCk6CnVmZiwgd2FzIGZ1ZXIgZWluIHRocmVhZAp3aWUga2FubiBtYW4gc2ljaCBudXIgc28gYXVmcmVnZW4/IQp3ZW5uIGRpZSBiZXJsaW5lciBzYWdlbiwgZGFzIG1vdGl2IGlzdCB3aXR6aWcsIGRhbm4gd2lyZHMgd29obCB3aXR6aWcgc2VpbiwKdW5kIHdlbm4gZXVjaCBkYXMgcmlzaWtvIHp1IGdyb3NzIGlzdCwgZGllIHdhaG5zaW5uc3N1bW1lIHZvbiAxNSwtIERNCndvbW9lZ2xpY2ggaW4gZGVuIHdpbmQgenUgc2NoaWVzc2VuLCBqYSBtZWluIGdvdHQsIGRhbm4gYmVzdGVsbHQgaGFsdCBrZWlucyEKaW1tZXIgZGllc2UgaGV1bGVyZWkuLi4KYWxzbywgaWNoIHdhciBncmFkIGViZW4gc2Nob24gemllbWxpY2ggZW50dGFldXNjaHQsamV0enQgZ2FyIGtlaW5zIGJlc3RlbGxlbgp6dSBrb2VubmVuLCB1bmQgZGFzIGdlaHQgYW5zY2hlaW5lbmQgbmljaHQgbnVyIG1pciBzbywgd2llIGRpZSBsZXR6dGVuIGFydGlrZWwKemVpZ2VuLgphbHNvLCBtYWNoIGljaCBtYWwgZGVuIGFuZmFuZzoKZ25vbWUsIGtvZW5udGVzdCBkdSBuaWNodCBkb2NoIGRpZSB1cnNwcnVlbmdsaWNoIGdlcGxhbnRlbiB0c2hpcnRzIGRydWNrZW4KbGFzc2VuLCBkYW5uIGhhbHQgZnVlciBudXIgZnVlciBkaWUgZXR3YXMgcmlzaWtvZnJldWRpZ2VyZW4gbmljaHRzcGFsdGVyIGhpZXI/CgphcmlhbmEsIGdhbnogbGllYiBiaXR0ZSBzYWdlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRzaGlydCBhZ2FpbiAoR25vbWUsIDIzLiBKdWwgMjAwMCwgMTQ6NTU6NTcpOgpoaSwKCm5hY2ggbWVocmVyZW4gYW5mcmFnZW4gdm9uIGF1c3NlbiB1bmQgZWluZXIga2xlaW5lbiBkaXNrdXNzaW9uIGlubmVyaGFsYgpkZXMgb3JnYXRlYW1zLCBoYWJlbiB3aXIgdW5zIGRhenUgZW50c2NobG9zc2VuLCB1bnMgdm9uIGVpbiBwYWFyIG5vZXJnbGVybgpuaWNodCBpbiBkaWUgc3VwcGUgc3B1Y2tlbiB6dSBsYXNzZW4uCmVzIHdpcmQgZGFzIHRzaGlydCBhbHNvIGluIHVyc3BydWVuZ2xpY2hlciBmb3JtIGdlYmVuLgoKZGEgaWNoICd0c2hpcnQnIGdlbG9lc2NodCBoYXR0ZSwgYml0dGUgaWNoIGFsbGUsIGRpZSBqZXR6dCBub2NoIGVpbnMgaGFiZW4Kd29sbGVuLCBlaW5lIG1haWwgbWl0IGRlciBhbmdhYmUgZGVyIGdyb2Vzc2UgYW4gaWhuIHp1IHNjaGlja2VuLgoKdHNoaXJ0LWRlYWRsaW5lIGlzdCBkZXIgMi4gYXVndXN0LgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdHNoaXJ0IGFnYWluIChGbGludG5haWwsIDI1LiBKdWwgMjAwMCwgMDE6MTE6MDkpOgp+IyEgcm49RmxpbnRuYWlsIHJ0PTk2NDQ4MDEyNCByZz1wYXJ0eQp+IyEgdGlkPTk2NDM1Njk1Nwp1bmQgZWlnZW50bGljaCB3b2xsdGUgaWNoIGV1Y2ggbnVyIGJpdHRlbiwgZGllc2VuIFRocmVhZCBuaWNodCBlaW5mYWNoIG1pdAplaW5lbTogJ0VzIGdpYnQgamV0enQgZG9jaCBULVNoaXJ0cycgc3RlcmJlbiB6dSBsYXNzZW46KSBJY2ggaGFiZSBzZWx0ZW4gc28KZ2VsYWNodCwgd2llIGluIGRlciBsZXR6dGVuIGhhbGJlbiBTdHVuZGVuIHVuZCB3aWVkZXIgbWFsIHd1cmRlIG1pciB2b3IgQXVnZW4KZ2VmdWVocnQsIHdhcyBpY2ggaW4gZGVuIGxldHp0ZW4gSmFocmVuIGRvY2ggYWxsZXMgdmVyc2FldW10IGhhYmUgKGluIGRlbmVuCmljaCBuaWNodCBtZWhyIHJlZ2VsbWFlc3NpZyBoaWVyIHdhcikhCgp0aHgKCkZMaW50KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUZHIChCdWRkaGEsIDI4LiBKdWwgMjAwMCwgMTQ6MzU6MzcpOgpGYWVocnQgamVtYW5kIGFtIFNhbXN0YWcgdm9uL3VlYmVyIERyZXNkZW4gbmFjaCBCZXJsaW4gdW5kIGthbm4gbWlyIGV2LiBlaW5lClNjaGxlY2h0d2V0dGVyLU1pdGZhaHJnZWxlZ2VuaGVpdCBiaWV0ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaGlza3kgKENhdHdlYXpsZSwgMzAuIEp1bCAyMDAwLCAyMTo1NDoxMik6Ck9rb2suClVtIGRhcyBzdGFlbmRpZ2UgR2VmYXNlbCwgR2VzY2h3YWVyZW0gdW5kIEdlbGFiZXIgbWFsIGF1ZiBkZW4gUHVua3QgenUKYnJpbmdlbi4uLi4KCkljaCB3ZXJkZSB6dXIgUGFydHkgZWluZW4gTW9ybGFjaCAoR00pIG1pdGJyaW5nZW4uIFdlbm4gamVtYW5kIHdhcyBkYXZvbgphYmhhYmVuIHdpbGwsIHNvIG1vZWdlIGVyIGJpdHRlIGVpbmUgYWVobmxpY2ggcXVhbGl0YXRpdiBob2Nod2VydGlnZSBGbGFzY2hlCnp1ciBnZW1laW5zYW1lbiBWZXJrb2VzdGlndW5nIG1pdGJyaW5nZW4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKClBTOiBXZW5uIER1IGtlaW5lIEFobnVuZyBoYXN0IHdvdm9uIGljaCByZWRlLCB3aXJzdCBkdSB3YWhyc2NoZWlubGljaCBhdWNoCiAgICBrZWluZSBtaXRicmluZ2VuIGJyYXVjaGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2hpc2t5IChCaXJkeSwgMzAuIEp1bCAyMDAwLCAyMTo1NToyNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTY0OTg2ODUyIHJnPXBhcnR5Cn4jISB0aWQ9OTY0OTg2ODUyCkVzIGdlaHQgaGllciB1bSBlaW5lIGluIEtlbm5lcmtyZWlzZW4gYmVrYW5udCB1bmQgZ2VsaWVidGUgVG9yZnNvcnRlLiAqaGVoZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaGlza3kgKE11YWRpYiwgMzAuIEp1bCAyMDAwLCAyMzowNzo1MCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTY0OTg2ODUyIHJnPXBhcnR5Cn4jISB0aWQ9OTY0OTg2ODUyCmhpLAoKaXN0IGVpbiBnbGVuZHJvbmFjaCBnZW5laG0gPwoKbXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdoaXNreSAoR2xvaW5zb24sIDMxLiBKdWwgMjAwMCwgMDU6MDE6MTMpOgp+IyEgcm49TXVhZGliIHJ0PTk2NDk5MTI3MCByZz1wYXJ0eQp+IyEgdGlkPTk2NDk4Njg1MgpVbmQgd2VubiBpaHIgZGFubiBiZXNvZmZlbiBzZWlkIGtvbW1lbiB3aXIgbWl0IGVpbmVyIEJyZWNoc3RhbmdlLCBiaWVnZW4gRXVyZQpGaW5nZXJjaGVuIGF1ZiB1bmQgdmVyd3Vyc3RlbiBkYXMgR2FuemUgenUgV2hpc2t5LUNvbGEgb2RlciBhZWhubGljaGVtIEVrZWwuCgpHbG9pbnNvbiAuLi4gZmllcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYW5rdW5mdCAoQ2F0d2VhemxlLCAgMS4gQXVnIDIwMDAsIDE0OjAxOjAwKToKTW9pbiEKCkFlaG0sIGVzIGlzdCBiYWxkIHNvd2VpdCB1bmQgbnVyIDY4IEFubWVsZHVuZ2VuLgpNb2VjaHRlIG5pY2h0IG5vY2htYWwgamVtYW5kIGRpZSBXZXJiZXRyb21tZWwgcnVlaHJlbiB1bmQgZXJ6YWVobGVuLCBkYXMgbWFuCm5pY2h0IHp1bSBDYW1wIGtvbW1lbiBfbXVzc18gc29uZGVybiBhdWNoIGRhcyBwYXJ0eXdvY2hlbmVuZGUKenVyIFBhcnR5IHp1IGtvbW1lbiByZWljaHQ/IEljaCBzZWggYXVmIGRlciBMaXN0ZSBiaXNoZXIga2F1bSBuZXVlIEdlc2ljaHRlciwKZGVuZW4gc29sbHRlIG1hbiB2aWVsbGVpY2h0IG1hbCBpcmdlbmR3aWUgZXR3YXMgYWdncmVzc2l2ZXIgYmVpYnJpbmdlbiwgZGFzIGRhCm5lIE1HIFBhcnR5IGxhZXVmdCEhCgpBY2hqYSwgYWIgd2FubiBrYW5uIG1hbiBkZW5uIGRhIE1vbnRhZ3MgYW50YW56ZW4sIGJ6dy4gYWIgd2FubiBpc3QgZGEgamVtYW5kCmRhLCBiencuIHdhbm4ga29tbWVuIGRpZSBlcnN0ZW4gYW4/IEljaCBtdWVzc3RlIG1hbCBuZW4gWnVnIHJhdXNzdWNoZW4gdW5kIG1pdApkaXZlcnNlbiBMZXV0ZW4gYWJ0aW1lbi4uLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYW5rdW5mdCAoSGlnaHQsICAxLiBBdWcgMjAwMCwgMTQ6MjI6MjUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk2NTEzMTI2MCByZz1wYXJ0eQp+IyEgdGlkPTk2NTEzMTI2MAoxMjozMyBhYmZhaHJldCBpbiBudWVybmJlcmcgLi4uIGxhdXQgd2FocnNjaGVpbmxpY2hrZWl0c3JlY2hudW5nZW4gKGFiIHNjaG5pdHQKYmFobiB1bmQgYW5kZXJlIG9lZmZlbnRsaWNoZSB2ZXJrZWhyc21pdHRlbCkga2Fuc3RlIHZvbiBhdXNnZWhlbiBkYXMKc3BhZXRlc3RlbnMgYWIgMjE6MDAgMiBsZXV0ZSBtZWhyIGRhIHNpbmQgLG8pCgpoaWdodCAtPiBzY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFua3VuZnQgKEdsb2luc29uLCAgMS4gQXVnIDIwMDAsIDE4OjA0OjMxKToKfiMhIHJuPUNhdHdlYXpsZSBydD05NjUxMzEyNjAgcmc9cGFydHkKfiMhIHRpZD05NjUxMzEyNjAKTWFsIHNjaGF1biwgd2FzIGVzIGZ1ZXIgRW50c2NodWxkaWd1bmdlbiBnaWJ0OgoKVGVpbGUgYWxsZW4gU3BpZWxlcm4gdW5kIGFsbGVuIE1hZ2llcm4gPCBMZXZlbCA2MCBtaXQ6CgpHbG9pbnNvbiB0ZWlsdCBEaXIgbWl0OiBVbmQgd2VsY2hlIGxhaG1lIEVudHNjaHVsZGlndW5nIGhhc3QgRHUgZGFmdWVyCkdsb2luc29uIHRlaWx0IERpciBtaXQ6IG5pY2h0IHp1ciBQYXJ0eSB6dSBrb21tZW4/ISBHZXN0ZWhlIQoKU291bGh1bnRlciB0ZWlsdCBEaXIgbWl0OiBpY2gga29tbWUgZG9jaApCYW1iaSB0ZWlsdCBEaXIgbWl0OiB6dSB3ZWl0IHdlZwpNYWdpY29sbGkgdGVpbHQgRGlyIG1pdDogV2FzIGZ1ZXIgbmUgUGFydHk/Ckh1bW5pIHRlaWx0IERpciBtaXQ6ID8/PwpFbGJlcmV0IHRlaWx0IERpciBtaXQ6IGljaCBnZWggZG9jaCBoaW4sIGJpbiBhbmdlbWVsZGV0ClluZyBmaW5nZXJ0IGFuIERpciBoZXJ1bSEKUmFzeWEgZmluZ2VydCBhbiBEaXIgaGVydW0hCkR1IHRlaWxzdCBTb3VsaHVudGVyIG1pdDogKmcqCkdub21lIGdyaW5zdCBEaWNoIGF1cyBkZXIgRmVybmUgYW4uCkh1bW5pIHRlaWx0IERpciBtaXQ6IG1vbQpLaWVzZWxzdGVpbiB0ZWlsdCBEaXIgbWl0OiB3ZWxjaGUgcGFydHkgPwpCYW1iaSB0ZWlsdCBEaXIgbWl0OiBhdXNzZXJkZW0gbWFnIG1pY2gga2VpbmVyLgpQaHVuIHRlaWx0IERpciBtaXQ6IGFlaD8hClNvdWxodW50ZXIgdGVpbHQgRGlyIG1pdDogZW50c2NodWxkaWd1bmcgZ2VudWc/IDspCkhvbmV5IHRlaWx0IERpciBtaXQ6IHBhcnR5Pz8/Pz8/Pz8/CkNyb2Z0IHRlaWx0IERpciBtaXQ6IGFyYmVpdCA6LSkKQW5hdG9sIHRlaWx0IERpciBtaXQ6IEVjaG9hbGxzIGtvbW1lbiB6aWVtbGljaCBkdW1tLCB3ZW5uIG1hbiBtZWhyZXJlCkFuYXRvbCB0ZWlsdCBEaXIgbWl0OiBNdWRmZW5zdGVyIG9mZmVuIGhhdCA7KQpTYW5nbyB0ZWlsdCBEaXIgbWl0OiBXZWxjaGUgUGFydHkgPwpWYXJsYXJpb24gdGVpbHQgRGlyIG1pdDogZHUgbWVpbnN0IGJlcmxpbj8KW0FsbGdlbWVpbjpHbG9pbnNvbiBraWNoZXJ0Ll0KSXNpIGZpbmdlcnQgYW4gRGlyIGhlcnVtIQpBbXlyaXMgdGVpbHQgRGlyIG1pdDogcGZ0ISBiaXN0IGR1IG1hZyBvZGVyIG5pY2h0PyBrYW5uc3QgZHUgbmljaHQgc2VoZW4gd2VyCkFteXJpcyB0ZWlsdCBEaXIgbWl0OiB2b24gbWVpbmVyIGZhbWlsaWUgYW5nZW1lbGRldCBpc3Q/IHRzdHN0cy4uLgpCYW1iaSB0ZWlsdCBEaXIgbWl0OiB1bmQgYWxsZSBoYWNrZW4gYXVmIG1pciBydW0gdW5kIHRyZXRlbiBtaWNoIHVuZCBzcHVja2VuCkJhbWJpIHRlaWx0IERpciBtaXQ6IG1pY2ggYW4uCk5vbm5lIHRlaWx0IERpciBtaXQ6IHdlciBzYWd0LCBkYXNzIGljaCBuaWNodCB6dXIgcGFydHkga29tbWU/ClZhcmxhcmlvbiBncmluc3QgRGljaCBhdXMgZGVyIEZlcm5lIGFuLgpDcm9mdCBmaW5nZXJ0IGFuIERpciBoZXJ1bSEKRHUgdGVpbHN0IEFuYXRvbCBtaXQ6IERhcyB3YXIga2VpbiBlY2hvYWxsIDspCkFramFyYSB0ZWlsdCBEaXIgbWl0OiBpY2ggYmluIGFuZ2VtZWxkZXQgdW5kIGtvbW1lIHNvZ2FyIHNjaG9uIGFtIG1vbnRhZyEhIQpBa2phcmEgdGVpbHQgRGlyIG1pdDogQmVzY2h1ZGlnZSBiaXR0ZSBkaWUgcmljaHRpZ2VuISA6KQpQaHVuIGZpbmdlcnQgYW4gRGlyIGhlcnVtIQpFYmVuZXp1bSBmaW5nZXJ0IGFuIERpciBoZXJ1bSEKSHVtbmkgdGVpbHQgRGlyIG1pdDogU2NoYXUgZGlyIGRhcyBCcmV0dCBub2NobWFsIGdlbmF1IGFuLi4uCkRmZW5kZXIgZ2VzdGVodCBhdXMgZGVyIEZlcm5lOiBpc21pcnp1d2VpdCAuLgpBa2phcmEgZmluZ2VydCBhbiBEaXIgaGVydW0hCkt5cmlhIHRlaWx0IERpciBtaXQ6IGhleSwgaWNoIGhhYiBkb2NoIHNjaG9uIGdlc2FndCwgaWNoIG1lbGRlIG1pY2ggZ2xlaWNoIGFuCkt5cmlhIHRlaWx0IERpciBtaXQ6IDspCkphbW1pZSBncmluc3QgRGljaCBhdXMgZGVyIEZlcm5lIGFuLgpCYW1iaSB0ZWlsdCBEaXIgbWl0OiB1bmQgbmFjaHRzIHdlcmQgaWNoIGVudGZ1ZWhydCB1bmQgaW4gZWluZW4ga2FsdGVuIHNlZQpCYW1iaSB0ZWlsdCBEaXIgbWl0OiBnZXdvcmZlbi4gTmFja3QuCk5vbm5lIGZpbmdlcnQgYW4gRGlyIGhlcnVtIQpDaGV3aWUgdGVpbHQgRGlyIG1pdDogNzAwIGttPwpCYW1iaSB0ZWlsdCBEaXIgbWl0OiB1bmQgaWNoIGtyaWVnIG51ciBncmFzIHp1IGZyZXNzZW4uCkt5cmlhIHRlaWx0IERpciBtaXQ6IGljaCBrb21tIGdlcmFkZSBhdXMgYmVybGluLCBhYmVyIHdpciB3ZXJkZW4gd29obCBmci1zbwpLeXJpYSB0ZWlsdCBEaXIgbWl0OiBrb21tZW4sIGRlbmsgaWNoIG1hbCA6KQpbQWxsZ2VtZWluOk1hcmN1c10gaWNoIGtvbW0gYWJlciB6dXIgcGFydHksIGdsb2luc29uIDspCkViZW5lenVtIHRlaWx0IERpciBtaXQ6IHdlciBiaXN0IGR1ID8KSXNpIHRlaWx0IERpciBtaXQ6IGVpbm1hbCBlY2hvIHVlYmVycyBtdWQ/IDspCkJ1ZGRoYSB0ZWlsdCBEaXIgbWl0OiBEZWluIHNjaGllZmVzIEdlc2ljaHQ/Ckh1bW5pIHRlaWx0IERpciBtaXQ6IFdhciBkYXMgZWluIEVjaG9hbGw/PwpTbGlhIHRlaWx0IERpciBtaXQ6ICpnYWVobiogc28gd2lyZCBkaWUgcGFydHkgYXVjaCBuZXQgdm9sbGVyLi4uLgpZb3JyZWwgZmluZ2VydCBhbiBEaXIgaGVydW0hCkJhbWJpIHRlaWx0IERpciBtaXQ6IHVuZCBhbiBkZXIgcGFydHkgd29sbGVuIHNpZSBtaWNoIHNjaGxhY2h0ZW4gdW5kIGdyaWxsZW4uCkR1IHNjaGxhZWdzdCBkaWUgVWhyIDE4IG1hbC4gU2Nob24gd2llZGVyIHNvIHNwYWV0LgpEb2xnb3JpbSB0ZWlsdCBEaXIgbWl0OiAoKnN0YW1tZWwqKSBhZWgsIC4uLiBpY2ggbXVzcyBSYXNlbiBtYWVoZW4gdW5kIGRpZQpEb2xnb3JpbSB0ZWlsdCBEaXIgbWl0OiBBdXRvYmFobiBrZWhyZW4gLi4uCkh1bW5pIGdydW1tZWx0IGF1cyBkZXIgRmVybmUgKGhhdCBnZXJhZGUgc2VpbmVuIEVpbnRyYWcgdWViZXJwcnVlZnQpLi4uLgpCYW1iaSB0ZWlsdCBEaXIgbWl0OiB1bmQgZGllc2VyIHRpYW1hayBpc3QgZGVyIHNjaGxpbW1zdGUhCkR1IHRlaWxzdCBCYW1iaSBtaXQ6IE5hamEuIFdpbGRzY2h3ZWluIGlzdCBqYSBkaWVzbWFsIG5pY2h0LiBBYmVyIHdpciBsYXNzZW4KRHUgdGVpbHN0IEJhbWJpIG1pdDogZWluIFN0dWVjayB2b24gRGlyIGRyYW4uCkRyb2dvIGZpbmdlcnQgYW4gRGlyIGhlcnVtIQpCYW1iaSB0ZWlsdCBEaXIgbWl0OiBkZXIgc2FndCBuaWNodCBlaW5tYWwgZ3V0ZW4gQWJlbmQgb2RlciBzby4KQmFtYmkgdGVpbHQgRGlyIG1pdDogaXN0IGRhcyBlbnRzY2h1bGRpZ3VuZyBnZW51Zz8KRHUgdGVpbHN0IEJhbWJpIG1pdDogTm9wZS4KQmFtYmkgdGVpbHQgRGlyIG1pdDogdW5kIHdlaGUsIGR1IHBvc3Rlc3QgZGFzIQpEdSB0ZWlsc3QgQmFtYmkgbWl0OiBIaWhpIDspCkJhbWJpIHRlaWx0IERpciBtaXQ6IGljaCBrYW5uIGRpY2ggbmljaHQgbWVociBsZWlkZW4hIEljaCBiaW4gZGFubiBuaWNodCBtZWhyCkJhbWJpIHRlaWx0IERpciBtaXQ6IGRlaW4gRnJldW5kIQpCdWRkaGEgdGVpbHQgRGlyIG1pdDogaW0gRXJuc3QsIGljaCB3ZWlzcyBub2NoIG5pY2h0LCBvYi93YW5uIGljaCBrb21tZS4KQnVkZGhhIHRlaWx0IERpciBtaXQ6IElyZ2VuZHdpZSBtdXNzIGljaCBtaXQgbWVpbmVyIERpcGxvbWFyYmVpdCBtYWwKQnVkZGhhIHRlaWx0IERpciBtaXQ6IHZvcmFua29tbWVuCkJhbWJpIGdyaW5zdCBEaWNoIGF1cyBkZXIgRmVybmUgYW4uCklzaSB0ZWlsdCBEaXIgbWl0OiAxLiBpY2ggaGFiIGRhIGdlYnVydHN0YWcgMi4gZGFzIGlzdCB6dSB3ZWl0IDMuIGljaCBoYWIKSXNpIHRlaWx0IERpciBtaXQ6IG5vY2h0IHNvdmllbCB1cmxhdWIgNC4gaWNoIGtlbm4gZGEga2VpbmVuICh2bCB1bmQgcmwpIDUuCklzaSB0ZWlsdCBEaXIgbWl0OiBtZWluIG1hbm4gbWFncyBuaWNodCB3ZW5uIGljaCBhdWYgbXVzZHRyZWZmZW4gYWZqciAtIHN1Y2gKSXNpIHRlaWx0IERpciBtaXQ6IGRpciBlaWVuIGF1cyA7KQoKSWNoIG11c3MgbWFsIGVocmxpY2ggc2FnZW4gLSBkaWUgbWVpc3RlbiBzaW5kIHdpcmtsaWNoIGxhaG0gOykKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdWViZXJ3ZWlzdW5nc3NjaGx1c3MgKEdub21lLCAgMS4gQXVnIDIwMDAsIDE5OjAyOjI0KToKaGksCgphYiBzb2ZvcnQgZ2lsdCB1ZWJlcndlaXN1bmdzc2NobHVzcyBmdWVyIGRpZSBwYXJ0eWtvc3RlbiEKCndlciBiaXMgamV0enQgbm9jaCBuaWNodCB1ZWJlcndpZXNlbiBoYXQsIGJyaW5ndCBiaXR0ZSBkYXMgZ2VsZCBtaXQuCmRhbmtlLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYW5rdW5mdCAoSGlnaHQsICAyLiBBdWcgMjAwMCwgMDE6MTk6MTUpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTY1MTQ1ODcxIHJnPXBhcnR5Cn4jISB0aWQ9OTY1MTMxMjYwCm11aGFoYWhhIHNjaGVpc3NlIHdhcnVtIG1hY2hzdGUgc293YXMgd2VubiBpY2ggb2ZmbGluZSBiaW4gLG8pCgpoaWdodCB1ZWJlciBkaWUgdmllbGVuIGFudHdvcnRlbiBlcnN0YXVudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjoga29zdGVuIGRpZSAyLiAoUWl0ZXNzLCAgMi4gQXVnIDIwMDAsIDE3OjU3OjUxKToKfiMhIHJuPUdub21lIHJ0PTk2MjE0NDU2NCByZz1wYXJ0eQp+IyEgdGlkPTk2MjEyMDc3MwphbHNvLCBmcnVlaGVyLCBhbHMgZGllIHdlbHQgbm9jaCBiZXNzZXIgd2FyLi4uCmRhIGhhYmVuIHdpciBpbW1lciBtaXQgc29uZXIgaGFsYmVuIHNlbGJzdHZlcnBmbGVndW5nIGluIG5lciB0dXJuaGFsbGUKdWViZXJuYWVjaHRpZ3QuCnVuZCBiZWltIGNhbXBlbiB3YXJzIGlyZ2VuZHdpZSBhdWNoIG5pY2h0IDMwIHRhY2tlbiBwcm8gbmFjaHQuCmltIHVlYnJpZ2VuIGhhYmUgaWNoIGdlcmFkZSBlaW5lbiBtb25hdCBsYW5nIHRhZWdsaWNoIGlyZ2VuZHdlbGNoZQpzZWhlbnN3dWVyZGlna2VpdGVuIGJlc3VjaHQsIGFiZW5kcyBnZXJuZSBzZWxiZXIgZ2Vrb2NodCB1bmQgdm9yIGFsbGVuIGRpbmdlbgpmdWVyIGVpbmUgbmFjaHQgY2FtcGVuIGZ1ZXIgXzJfICghKSBwZXJzb25lbiBtZWlzdCBudXIgMjUsLSBiZXphaGx0LgpobW0uClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGtvc3RlbiBkaWUgMi4gKEJvaW5nLCAgMi4gQXVnIDIwMDAsIDE4OjAzOjU0KToKfiMhIHJuPVFpdGVzcyBydD05NjUyMzE4NzEgcmc9cGFydHkKfiMhIHRpZD05NjIxMjA3NzMKRHUgbXVzc3QgamEgbmljaHQga29tbWVuLgpBdXNzZXJkZW06IFdhciBkYSBIYWxicGVuc2lvbiBkYWJlaT8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzoga29zdGVuIGRpZSAyLiAoQ2F0d2VhemxlLCAgMi4gQXVnIDIwMDAsIDE5OjQwOjE4KToKfiMhIHJuPVFpdGVzcyBydD05NjUyMzE4NzEgcmc9cGFydHkKfiMhIHRpZD05NjIxMjA3NzMKTmEgdW5kPwpIYXVwdHNhY2hlIER1IGtvbW1zdCB6dXIgUGFydHkuIERpZSBsaWVndCBhdWNoIGltIHVlYmxpY2hlbiBLb3N0ZW5iZXJlaWNoLgpad2luZ3QgRGljaCBqYSBrZWluZXIgZGllIGdhbnplciBXb2NoZSAzMCBUYWNrZW4genUgYmV6YWhsZW4uCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbXlzZWxmIChUc2hpcnQsICAyLiBBdWcgMjAwMCwgMjM6MDM6MzcpOgp3ZXIgbWljaCBqZXR6dCBub2NoIGluIGFsbGVybGV0enRlciBzZWt1bmRlIGJlc3RlbGxlbiB3aWxsLCBkYXJmIGRhcyBub2NoCmJpcyBzcGFldGVzdGVucyBtaXR0ZXJuYWNodCB0dW4uIGRhbmFjaCBpc3QgYW5uYWhtZXNjaGx1c3MgOikKCnRzaGlydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWZnIChJbWRhLCAgMi4gQXVnIDIwMDAsIDIzOjIwOjQ2KToKTW9pbiwKCmljaCBmYWhyIGFtIERvbm5lcnN0YWcgYWIgU3R1dHRnYXJ0IHp1ciBQYXJ0eSB1bmQgaGFiIG5vY2huIHBhYXIgUGxhZXR6ZSBmcmVpLgpXRXIgbWl0d2lsbCBkZXIgc2NocmVpZSBtb2VnbGljaHN0IGxhdXQuCgpJbWRhLiBPYmVyc3R1cm1mZWxkaWRsZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwbGFuZXRhcml1bS1iZXN1Y2ggKEdub21lLCAgMi4gQXVnIDIwMDAsIDIzOjM1OjM5KToKaW4gZGVyIHBhcnR5d29jaGUga29lbm5lbiB3aXIgZWluZSBlaW5tYWxpZ2UgY2hhbmNlIHdhaHJuZWhtZW4gdW5kIGRhcwpwbGFuZXRhcml1bSBhbSBpbnN1bGFuZXIgaW4gYmVybGluIGJlc3VjaGVuLiBkb3J0IGdhZWJlIGVzIGZ1ZXIgdW5zCmVpbmUgZXh0cmEtdm9yc3RlbGx1bmcgZnVlciBldHdhIDFoLgoKZGFzIGdhbnplIHNvbGwgYW0KRGllbnN0YWcsIDguOC4wMCB1bSAyMC4wMGgKc3RhdHRmaW5kZW4uCgpkYXMgZ2FuemUgc29sbCBtYXhpbWFsIDQgRE0ga29zdGVuOyBqZSBtZWhyIGFiZXIgdm9uIHZvcm5oZXJlaW4gZmVzdHN0ZWhlbiwKdW0gc28gd2VuaWdlciB3aXJkIGRhbm4gZGVyIGVuZGd1ZWx0aWdlIGVpbnRyaXR0IGtvc3Rlbi4KCmRhbWl0IGljaCBlaW5lbiB1bmdlZmFlaHJlbiB1ZWJlcmJsaWNrIHVlYmVyIGRpZSBhbnphaGwgZGVyIHRlaWxuZWhtZXIKaGFiZSwgbW9lY2h0ZSBpY2ggZGllamVuaWdlbiBiaXR0ZW4sIGVpbmUgbWFpbCBvaG5lIGluaGFsdCBhbgoncGxhbmV0YXJpdW0nIHp1IHNjaGlja2VuLCBkaWUgYXVmIGplZGVuIGZhbGwgbWl0a29tbWVuIG1vZWNodGVuLgoKaWNoIHdlaXNzLCBkYXNzIGRhcyBzZWhyIGt1cnpmcmlzdGlnIGlzdCwgYWJlciBpY2ggaG9mZmUgdHJvdHpkZW0sIGRhc3MKc2ljaCBnZW51ZyBmdWVyIGRlbiBiZXN1Y2ggZmluZGVuIHdlcmRlbi4KZGFua2UuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmVzdGFldGlndW5nIChHbm9tZSwgIDMuIEF1ZyAyMDAwLCAwMDoxOToxMyk6CmljaCBoYWJlIGpldHp0IG5vY2htYWwgLSB1bmFiaGFlbmdpZyB2b24gZWluZXIgZXZ0bC4gMS4gbWFpbCAtIGFsbGUKYmV0cmFlZ2UgYmVzdGFldGlndCwgZGllIGJpcyBoZXV0ZSBhbmdla29tbWVuIHNpbmQuCgpkYSBkaWUgYXV0b21hdGlzY2hlIGJlc3RhZXRpZ3VuZyBhbSBwYXJ0eWJyZXR0IGVpbmVuIGtsZWluZW4gYnVnIGhhdHRlLAp3YXJlbiB3aXIgZ2V6d3VuZ2VuLCBlaW5lIDEuIG1haWwgcGVyIGhhbmQgenUgc2NocmVpYmVuLgoKc29mZXJuIHNpY2ggamV0enQgbmljaHQgbm9jaCBwbG9ldHpsaWNoIDUwIGxldXRlIG1laHIgYW5tZWxkZW4sIHdpcmQgZXMKKGJ1bmdhbG93LSlwbGF0eiBnZW51ZWdlbmQgZ2ViZW4sIGF1Y2ggd2VubiBzaWNoIGptZCBlbnRzY2hsaWVzc3QsIGVyc3QKa3VyemZyaXN0aWcgYW0gRnIuIGVpbnp1Y2hlY2tlbi4gYmVkZW5rZTogemVsdHBsYXR6IGlzdCBhdWYgamVkZW4gZmFsbApnZW51ZyBkYSEKCmRpZSBpbmZvc2VpdGVuIGltIHd3dyBmdWVyIGRpZSBwYXJ0eSBlbnRoYWx0ZW4gYXVjaCBpbmZvcyBmdWVyIGRlbiBiZXJsaW5lcgpuYWh2ZXJrZWhyLCBmYWxscyBqbWQgbmljaHQgd2Vpc3MsIHdpZSBlciB2b20gYmhmLiB6b28gbmFjaCBicmllc2VsYW5nCmtvbW10LgoKYW5zb25zdGVuIGhvZmZlIGljaCBhdWYgZWluZSB0b2xsZSBwYXJ0eSh3b2NoZSkgdW5kIHZpaWllbCBndXRlIGxhdW5lIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVmbG9uYXVza3VlbmZ0ZSAoQmlyZHksICAzLiBBdWcgMjAwMCwgMTI6NTY6MDUpOgpoaWhvIDopCgpmdWVyIGRpZWplbmlnZW4sIGRpZSBzaWNoIHZlcmxhdWZlbiBzb2xsdGVuIG9kZXIgc29uc3RpZ2UgaGlsZmUgaW4gYmVybGluCmJlbm9ldGlnZW46Cmdub21lIGhhdSBtYWwgZGVpbmUgaGFuZHludW1tZXIgaGllciByZWluLAp1bmQgZXZ0bC4gbm9jaCBlaW4gcGFhciBtZWhyLCBmYWxscyBtYWwgZWluZXIgbmljaHQgZXJyZWljaGJhciBpc3QuCgppbiBlaWdlbmVyIHNhY2hlOiBldnRsLiBrYW5uIGljaCBmdWVyIGRpZSB3b2NoZSBtZWluZSBrbGVpbmUgNDJtXjItd29obnVuZyB6dXIKdmVyZnVlZ3VuZyBzdGVsbGVuIDopCgpieWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vdC1udW1tZXIgKEdub21lLCAgMy4gQXVnIDIwMDAsIDEzOjE2OjQwKToKaGllciBub2NoIGVpbmUgKm5vdC1udW1tZXIqIGZhbGxzIGdhciBuaXggbWVociBnZWh0OgoKMDMwLzI1IDU0IDMzIDQxCgpkb3J0IHdlcmRldCBpaHIgZ2Vob2xmZW4gOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eWZyZWl0YWcgKFhlbmFkYSwgIDQuIEF1ZyAyMDAwLCAxMzo0Njo1MSk6CnNvLi4uZGEgbWljaCBpbnp3aXNjaGVuIGVpbiBwYWFyIHZvbiBldWNoIGRhcmFuIGVyaW5uZXJ0IGhhYmVuIAptYWdpYy1rYXJ0ZW4gbWl0IHp1ciBwYXJ0eSB6dSBicmluZ2VuLCBoYXR0ZSBpY2ggZGEgZWluZSBpZGVlLiAKbWVpbiB2b3JzY2hsYWcgOiB0dXJuaWVyIGFtIGZyIHNvIGdlZ2VuIG1pdHRhZywgZWluc2F0eiBwcm8gCnBlcnNvbiBlaW5lIG1hcmssIHByZWlzZSBmdWVyIGRlbiBlcnN0ZW4gZWluIHN0YXJ0ZXIgdW5kIGplIG5hY2ggCmJldGVpbGlndW5nIG5vY2ggcHJlaXNlIGZ1ZXIgZGllIHBsYXppZXJ0ZW4gKGJvb3N0ZXIpIGRpZSAKaW50ZXJlc3NpZXJ0ZW4gYml0dGUgYmVpIG1pciBwZXIgbWFpbCBtZWxkZW4sIGRhbWl0IGljaCBpbiAKZXR3YSB3ZWlzcyB3aWV2aWVsIGdlbGQgaWNoIGZ1ZXIgcHJlaXNlIGhhYmUgdW5kIG9iIHVlYmVyaGF1cHQgCmludGVyZXNzZSBiZXN0ZWh0IDopCmFjaHNvLi4uZGFzIHdpY2h0aWdzdGUgaXN0Li4uLmRhcyBnYW56ZSB3aXJkIGtlaW5lIGVybnN0ZSAKYW5nZWxlZ2VuaGVpdC4gZXMgc3BpZWx0IGplZGVyIG1pdCBkZW0gZGVjayBkYXMgZXIgaGF0LCBhdWNoIAp3ZW5uIGVzIHNjaG9uIGV0d2FzIGFlbHRlciBpc3QuIHppZWwgZGVzIGdhbnplbiBpc3QgCnNjaGxpZXNzbGljaDogU1BBU1MgOikKClRzY2h1ZXNzIFhlbmFkYSAgKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHlmcmVpdGFnIChQYWRyZWljLCAgNC4gQXVnIDIwMDAsIDEzOjU4OjA2KToKfiMhIHJuPVhlbmFkYSBydD05NjUzODk2MTEgcmc9cGFydHkKfiMhIHRpZD05NjUzODk2MTEKSG1tLi4gaG9lcnQgc2ljaCBlaWdlbnRsaWNoIG5hY2ggbmVyIGludGVyZXNzYW50ZW4gSWRlZSBhbiwgYWJlciBkaWUgRnJhZ2UKd2FlciB0cm90emRlbSBuYWNoIHdhcyBmdWVyIFJlZ2VsbiBnZXNwaWVsdCB3ZXJkZW4gc29sbCwgYW5zb25zdGVuIGdpYnQgZGFzCnVudGVyIFVtc3RhZW5kZW4gbWVociBGcnVzdCBhbHMgU3Bhc3Mgd2VubiBkYXMgbmVuIFR5cGUgSSBUdW5pZXIgb2huZQpyZXN0cmljdGVkIExpc3Qgd2lyZCwgb2J3b2hsIG1hbiBkYW5uIGVuZGxpY2ggbWFsIGVpbiBSYXR0ZW5kZWNrIHNwaWVsZW4Ka29lbm50ZSA6bykKClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFydHlmcmVpdGFnIChHYW5kdXIsICA0LiBBdWcgMjAwMCwgMTQ6MTc6NTQpOgp+IyEgcm49UGFkcmVpYyBydD05NjUzOTAyODYgcmc9cGFydHkKfiMhIHRpZD05NjUzODk2MTEKaG0sIGVzIGdlaHQgZGFydW0gc3Bhc3MgenUgaGFiZW4gdW5kIHp1IHNwaWVsZW4uIHdlciBzZWluZW4gc3Bhc3MgZGFyYXVzCmdld2lubnQgc2VpbmVuIGdlZ25lciBpbiBkZXIgZXJzdGVuIHJ1bmRlIHp1IHphcHBlbiwgZ3V0IG1pciBlZ2FsLCBpY2gga2FubgpkYW1pdCBsZWJlbiB1bmQgZGFuYWNoIGdlbXVldGxpY2ggbWl0IGRlbiBsZXV0ZW4gd2VpdGVyc3BpZWxlbiBkaWUgbWVpbmUKYW5zaWNodCB2b24gc3BpZWxzcGFzcyB0ZWlsZW4uCmdydXNzLCBnYW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBhcnR5ZnJlaXRhZyAoWGVuYWRhLCAgNC4gQXVnIDIwMDAsIDE0OjE5OjU3KToKfiMhIHJuPUdhbmR1ciBydD05NjUzOTE0NzQgcmc9cGFydHkKfiMhIHRpZD05NjUzODk2MTEKZ2VuYXUgZGFzIHdhciBkaWUgaWRlZSBoaW50ZXIgZGVtIGdhbnplbiA6KQpUc2NodWVzcyB4ZW5hZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJ0eWZyZWl0YWcgKERhcmt3aW5nLCAgNC4gQXVnIDIwMDAsIDE1OjQxOjMyKToKfiMhIHJuPVhlbmFkYSBydD05NjUzODk2MTEgcmc9cGFydHkKfiMhIHRpZD05NjUzODk2MTEKaG9lcnQgc2ljaCBndXQgYW4uLi4gYWJlciBzY2hvbiBGcmVpdGFnIG1pdHRhZyA/IFNjaGFkZSBzY2hhZGUuLi4gbmFqYSBmdWVyCnVucyBkYW5uIHdvaGwgYW0gU2Ftc3RhZyBudXIgenVtIFNwYXNzIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0eWZyZWl0YWcgKFhlbmFkYSwgIDQuIEF1ZyAyMDAwLCAxNTo0MzozOCk6Cn4jISBybj1EYXJrd2luZyBydD05NjUzOTY0OTIgcmc9cGFydHkKfiMhIHRpZD05NjUzODk2MTEKYW4gc2ljaCB3YWVyIHNhIGF1Y2ggb2sgZ2V3ZXNlbi4uLmFiZXIgd2lyIGhhYmVuIHNjaG9uIG5lIHRvbGxlIHJsLXF1ZXN0CmdlcGxhbnQgOikKWGVuYWRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eWtvbnRvIChHYW5kdXIsICA0LiBBdWcgMjAwMCwgMTY6MTk6MzApOgpzbyBuYWNoIG1laHJtYWxpZ2VyIG5hY2hmcmFnZSB2b24gdmVyc2NoaWVkZW5kZW4gc2VpdGVuOiBpY2ggaG9sZSBoZXV0ZQpub2NobWFsIGtvbnRvYXVzenVlZ2UgdW5kIGJlc3RhZXRpZ2UgZGllIGJ1Y2h1bmdlbiwgd2VyIGJpcyAxLiBvZGVyIDIuCnVlYmVyd2llc2VuIGhhdCBzb2xsdGUgZGF2b24gYXVzZ2VoZW4gZGFzIGRhcyBnZWxkIG5vY2ggcmVjaHR6ZWl0aWcgZGEgaXN0CnVuZCBlciBoZXV0ZSAoYnp3LiBtb3JnZW4gZnJ1ZWgpIG5lIGJlc3RhZXRpZ3VuZyBoYXQsIGRpZSBsZXV0ZSBkaWUgbmljaHQKdWViZXJ3aWVzZW4gaGFiZW4gemFobGVuIGJlaSBhbnJlaXNlIGJlaSBndWFyZCAoZGVyIGlzdCBkaWUgZ2FuemUgd29jaGUKZGEpLgpncnVzcywgZ2FuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdoaXNreSAoUGFyZGF1eiwgIDUuIEF1ZyAyMDAwLCAxODowNDoyNSk6Cn4jISBybj1NdWFkaWIgcnQ9OTY0OTkxMjcwIHJnPXBhcnR5Cn4jISB0aWQ9OTY0OTg2ODUyCk1pc3QsIGhhZXR0IGRvY2ggZXJzdCBub2NobWFsIGluIGRpZSBNUEEgZ3Vja2VuIHNvbGxlbiB2b3IgZGVtIGVpbmthdWZlbi4KTnUgd2VyZGVuIHdvaGwgMiBmbGFzY2hlbiBHbGVuZHJvbmFjaCBhbndlc2VuZCBzZWluIC4uLgoKQmlzIGRhbm4KICBQYXJkYXV6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaGlza3kgKEdsb2luc29uLCAgNS4gQXVnIDIwMDAsIDIxOjE3OjQwKToKfiMhIHJuPVBhcmRhdXogcnQ9OTY1NDkxNDY1IHJnPXBhcnR5Cn4jISB0aWQ9OTY0OTg2ODUyCkVnYWwsIGVpbmUgbmVobWVuIHdpciB6dW0gUGFuc2NoZW4gZnVlciBpcmdlbmR3ZWxjaGUgTWl4Z2V0cmFlbmtlLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2hpc2t5IChQYXJkYXV6LCAgNi4gQXVnIDIwMDAsIDE1OjQyOjMyKToKfiMhIHJuPUdsb2luc29uIHJ0PTk2NTUwMzA2MCByZz1wYXJ0eQp+IyEgdGlkPTk2NDk4Njg1MgpOdXIgdWViZXIgbWVpbmUgTGVpY2hlIQoKUGFyZGF1eiwgYW4gV2hpc2t5IHVuZCBMZWJlbiBmZXN0a2xhbW1lcm5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaGlza3kgKE11YWRpYiwgIDYuIEF1ZyAyMDAwLCAxOTo1OToyOCk6Cn4jISBybj1QYXJkYXV6IHJ0PTk2NTQ5MTQ2NSByZz1wYXJ0eQp+IyEgdGlkPTk2NDk4Njg1Mgpva29rIGljaCBuZWhtIGhhbHQgZ2xlbm1vcmFuZ2llIHBvcnQgd29vZCBmaW5pc2ggbWl0ICpzZXVmeioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdoaXNreSAoR2xvaW5zb24sICA2LiBBdWcgMjAwMCwgMjE6NTE6NDYpOgp+IyEgcm49UGFyZGF1eiBydD05NjU1NjkzNTIgcmc9cGFydHkKfiMhIHRpZD05NjQ5ODY4NTIKQWx0ZXJuYXRpdiBkYXp1IGthbm4gcmVpbiB6dWZhZWxsaWcgZWluZSBXYXNzZXJzY2hsYWNodCAob2huZSBRdWVsbHdhc3NlcikgaW4KZGVyIE5hZWhlIHN0YXR0ZmluZGVuIDpdCgpHbG9pbihzb24pLCBmaWVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkaWUgZXJzdGVuIHBhcnR5LWthbGF1ZXIuLi4gKEdub21lLCAgOC4gQXVnIDIwMDAsIDAwOjQ5OjU5KToKYWxsZXMgbmF0dWVybGljaCByZWNodCB6dXNhbW1lbmhhbmdzbG9zLCBhYmVyIHRyb3R6ZGVtIG5ldHQ6Cgpyb2NodXMgc3RlaHQgbWl0IG5lciBmbGFzY2hlIGNvbGEgdm9yIGhvYm8sIGNhdHR5IHVuZCBnbm9tZSwgZGllIGFsbGUgZHJlaSAKYXVmIG5lciBiYW5rIHNpdHplbi4KaG9ibyAoZ3V0IGFuZ2VoZWl0ZXJ0KTogZGEgc3RlaHQgcm9jaHVzLCBkZXIgaGF0IG5lIGNvbGFmbGFzY2hlIGluIGRlciBoYW5kLgogICAgIGRpZSBpc3QgaGFsYi4uLiBhZWguLi4gendlaWZ1ZW5mLi4uIGVpbmZ1ZW5mLi4uIG5lZSwgZWludmllcnRlbC4uLgogICAgIGFjaCwgZWluYWNodGVsLi4uIHF1YXRzY2gsIHNpZWJlbmFjaHRlbCBsZWVyLgpjYXR0eSAodHJvY2tlbik6IHdvbGxuIHdpcnMgbm9jaG1hbCBuYWNobWVzc2VuLCBob2JvPwpnbm9tZSBsaWVndCB1bnRlciBkZXIgYmFuayB1bmQgaGFlbHQgc2ljaCBkZW4gYmF1Y2guCgotLS0tLS0tCgpjYXR0eSBzYWd0OiBpY2ggaGFiZSBlaW5lIGdyb3NzZSB1bmQgZWluZSBrbGVpbmUgc29yZ2UuLi4gZGllIGtsZWluZToKICAgICAgICAgICAgcGFkcmVpYyBpc3QgbWl0IDIgZnJhdWVuIGVzc2VuIGdlZ2FuZ2VuLiBkaWUgZ3Jvc3NlOiBkYXMKICAgICAgICAgICAgZGF1ZXJ0IGpldHp0IHNjaG9uIDMgc3R1bmRlbi4uLgptdWFkaWI6IG5hamEuLi4gZWluZSBzdHVuZGUgYnJhdWNodCBlciwgdW0gbWl0IGRlciBnYWJlbCB1bWdlaGVuIHp1IGxlcm5lbiwKICAgICAgICBkaWUgMi4gc3R1bmRlIG1pdCBkZW0gbWVzc2VyLCB1bmQgZGFuYWNoIGVyemFlaGx0IGVyIGVpbmUgc3R1bmRlCiAgICAgICAgbGFuZywgd2VsY2hlIGVyZmFocnVuZyBlciBtaXQgZ2FiZWwgdW5kIG1lc3NlciBnZW1hY2h0IGhhdC4uLgplaW5lIGhvcmRlIG11ZGRlciB3YWVsenQgc2ljaC4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNSVRGQUhSR0VMRUdFTkhFSVQgKFFpdGVzcywgMTAuIEF1ZyAyMDAwLCAxNjozMTo0MSk6CkhBTExPIFdJQ0hUSUcKc3VjaGUgb2RlciBiaWV0ZSBub2NoIG5lIE1pdGZhaHJnZWxlZ2VuaGVpdCBmdWVyIHp1ciBQYXJ0eSB6dSBrb21tZW4gYWIKQnJhdW5zY2h3ZWlnIHVuZC9vZGVyIFVtZ2VidW5nCgpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUlURkFIUkdFTEVHRU5IRUlUIChRaXRlc3MsIDEwLiBBdWcgMjAwMCwgMTg6MDY6MDcpOgp+IyEgcm49UWl0ZXNzIHJ0PTk2NTkxNzkwMSByZz1wYXJ0eQp+IyEgdGlkPTk2NTkxNzkwMQpoZWosIHdlbm4gZWluZXIgdm9uIGdhbnogd29hbmRlcnMgaGVya29tbXQgdW5kIGRpZSBtb2VnbGljaGtlaXQgdW5kIGRlbiB3aWxsZW4KaGF0LCB1ZWJlciBicmF1bnNjaHdlaWcgenUgZmFocmVuLCBkZXIga2FubiBzaWNoIGJpdHRlIGF1Y2ggYmVpIG1pciBtZWxkZW4uLi4KClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFiZ2VzYW5nIC4uLiAoR2xvaW5zb24sIDEzLiBBdWcgMjAwMCwgMTY6NDc6MzQpOgpKbywgd2FyZW4gZWluIHBhYXIgdG9sbGUgVGFnZToKUmVzdWVtZWU6Ci0gR25vbWUgaXN0IGltbWVyIHNjaG11dHppZwogIC0genVtaW5kZXN0IGhhdCBlciBzY2htdXR6aWdlIEdlZGFua2VuCi0gdmVyZ2lmdGV0ZSBDb2xhcyBzaW5kIGhhZXVmaWdlciBhbHMKICB2ZXJnaWZ0ZXRlIEJydW5uZW4KLSBPcmt0cm9ldGUgaXN0IHNpY2hlciB2b2xsIFdhc3NlciBnZWxhdWZlbgotIE5vbm5lIG11c3Mgc2ljaCBkYXMgQnJ1c3RoYWFyIHJhc2llcmVuCi0gTXVkZGVyIGtvZW5uZW4gbmljaHQgc2luZ2VuCiAgLSBCYXR0ZXJpZW4gaGFsdGVuIHp1IGxhbmdlCi0gSG9iYml0cyBzaW5kIG1hbmNobWFsIHdpcmtsaWNoIGdhcnN0aWcKLSBkZXIgU2F1ZnNraWxsIHNjaGVpbnQgYXVzZ2VwcmFlZ3QKLSBJdGFsaWVuZXIgYnJhdWNoZW4gZWluZSBLTCBvZGVyIFNjaGxhZWdlCi0gQm9pbmdzIFp1c2NoYXVlciBrb2VubmVuIHNjaGxlY2h0IFNjaGFjaAotIFNjaHdhZW5lIHNpbmQgdmllbCB6dSBiZXNpdHplcmdyZWlmZW5kCi0gUm9jaHVzIHBhc3N0IG5pY2h0IG1laHIgc28gZ3V0IGF1ZiBzZWluZQogIENvbGEgYXVmIHdpZSBmcnVlaGVyCgouLi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYmdlc2FuZyAuLi4gKEJpcmR5LCAxMy4gQXVnIDIwMDAsIDE2OjUzOjE0KToKfiMhIHJuPUdsb2luc29uIHJ0PTk2NjE3ODA1NCByZz1wYXJ0eQp+IyEgdGlkPTk2NjE3ODA1NApoaWhvIDopCgpiaW4gZ3JhZCB6dSBoYXVzZSByZWluZ2V3ZWh0IHdvcmRlbi4KanVwcCwgZGllIHBhcnR5IHdhciBrbGFzc2UsIGltIG5hY2hoaW5laW4gYmVyZXVlIGljaCwgZGFzcyBpY2ggbmljaHQgc2Nob24KZnJ1ZWhlciBnZWtvbW1lbiBiaW4gKGZ1ZXIgZGljaCBhcmlhbmEgOykpLgpkaWUgcXVlc3QgaGF0IG1pciBiZXNvbmRlcnMgdmllbCBzcGFzcyBnZW1hY2h0ICEhICpoZWhlKgppbiBkZW4gbmFlY2hzdGVuIHdvY2hlbiB3ZXJkZSBpY2ggbWlyIGRhbm4gYXVmIGRlbiBmb3RvcyBhdWNoIGFuc2NoYXVuLCB3YXMKaWhyIGFsbGVzIGdlbWFjaHQgaGFidC4gOikKCnp1bSBpdGFsaWVuZXI6IGljaCBmcmV1IG1pY2ggc2Nob24gbmFlY2hzdGVzIGphaHIgYXVmIGRlbiBjaGluZXNlbiAhCmRhcyBzaW5kIGVyc3RtYWwgbWVpbmUgZXJzdGVuIGdlZGFua2VuLCBuYWNoZGVtIGljaCBpbiBtZWluZW0gc2Vzc2VsIHBsYXR6Cmdlbm9tbWVuIGhhYiwgZXZ0bC4ga29tbXQgZGEgbm9jaCBtZWhyIC4KCmJpcmR5CnBzOiBzY2hvZW5lIGdydWVzc2Ugdm9uIG1laW5lbSBrYW1wZmVsY2ggOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWJnZXNhbmcgLi4uIChHbG9pbnNvbiwgMTMuIEF1ZyAyMDAwLCAxNzowODowMCk6Cn4jISBybj1CaXJkeSBydD05NjYxNzgzOTQgcmc9cGFydHkKfiMhIHRpZD05NjYxNzgwNTQKS2FtcGZlbGNoPyBBbHNvLiBBZWhtLiBOZWVlLgoKR2xvaW5zb24gc2FndDogQmlyZHkgaGF0IGVpbiBpcnJpdGllcmVuZGVzIFZlcmhhZWx0bmlzIHp1IEVsY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWJnZXNhbmcgLi4uIChBcmlhbmEsIDEzLiBBdWcgMjAwMCwgMjE6MDI6MTcpOgp+IyEgcm49QmlyZHkgcnQ9OTY2MTc4Mzk0IHJnPXBhcnR5Cn4jISB0aWQ9OTY2MTc4MDU0CnNlbGJzciB3ZW5uIGR1IGZydWVoZXIgZ2Vrb21tZW4gd2FlcnN0LCBkYSBoYWV0dGUgZG9jaCBudXIgZGVyIGVsY2ggd2FzIGRhdm9uCmdlaGFidCA6KSkKCmFyaWFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWJnZXNhbmcgLi4uIChBcmlhbmEsIDEzLiBBdWcgMjAwMCwgMjE6MDc6NTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTY2MTc5MjgwIHJnPXBhcnR5Cn4jISB0aWQ9OTY2MTc4MDU0Cmlycml0aWVyZW5kIG5lbm5zdCBkdSBkYXM/IGljaCBoYWV0dGUgZGEgYW5kZXJlIGF1c2RydWVja2UgZGFmdWVyOikpKSkKYWJlciBkYW1pdCBhbGxlIHdhcyBkYXZvbiBoYWJlbiwgaGllciBkYXMgeml0YXQ6Cm1hbiBzdGVsbGxlIHNpY2ggYmlyZHkgdm9yLCBtaXQgZGVtIGVsY2ggYXVmIGRlbSB6ZWlnZWZpbmdlciBhdWZnZXNwaWVzc3QuCmJpcmR5OiBpY2ggaGFiIGlobiBzY2hvbiB2b3JnZXdlaXRldCwgZ2xlaWNoIGdlaGVuIFdJUiBzY2hsYWZlbi4Kb2RlcjogYmlyZHkgKHNlaHIgamFtbWVybmQpOiBjYWtleSBoYXQgbWVpbmVuIGVsY2ggZW50anVuZ2ZlcnQsIHVuZCBkYXMgbmFjaApkZXIgZ2FuemVuIG11ZWhlLCBpY2ggaGFiIGltbWVyaGluIGRyZWkgc3R1bmRlbiBkcmFuIGdlYXJiZWl0ZXQuCgphcmlhbmEsIGZpbmRldCBkYXMgbWVociBhbHMgaXJyaXRpZXJlbmQgdW5kIHNjaGxhZWd0IGJpcmR5IG5hY2ggd2llIHZvciBkZW4Ka2FsdGVuIGVudHp1ZyB2b3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFiZ2VzYW5nIC4uLiAoTGlhcmEsIDEzLiBBdWcgMjAwMCwgMjI6MDE6MTQpOgp+IyEgcm49QXJpYW5hIHJ0PTk2NjE5MzY3MSByZz1wYXJ0eQp+IyEgdGlkPTk2NjE3ODA1NApNZWhyIEhvYmJpdHMgaW0gV2FsZCEgOi0pCgpNZWhyIE5vbm5lbiBpbSBLbGVpZCEgOi0pCgpNRUhSIFBBUlRZISEhIDotKQoKRGFua2UuCgpMaWFyYSwgWndlcmdlbnphdWJlcmluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWJnZXNhbmcgLi4uIChFbGJlcmV0LCAxMy4gQXVnIDIwMDAsIDIyOjAzOjQ5KToKfiMhIHJuPUxpYXJhIHJ0PTk2NjE5Njg3NCByZz1wYXJ0eQp+IyEgdGlkPTk2NjE3ODA1NApVbmQgdm9yIGFsbGVtOiBNZWhyIFp3ZXJnZSB6dW0gd2FzY2hlbiA6LSkKCk1FSFIgUEFSVFkgISEhIQoKRGFua2Ugbm9jaCBtYWwgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBYmdlc2FuZyAuLi4gKExpYXJhLCAxMy4gQXVnIDIwMDAsIDIyOjA5OjQ3KToKfiMhIHJuPUVsYmVyZXQgcnQ9OTY2MTk3MDI5IHJnPXBhcnR5Cn4jISB0aWQ9OTY2MTc4MDU0CkhtLCBub2Nod2FzIHZlcmdlc3NlbiAqZyogLi4uCgpNZWhyIENoaW5lc2VuIGluIEJyaWVzZWxhbmchIDstKSkKCk9id29obCBkZXIgQ2FwcHVjY2lubyBnYW56IGd1dCB3YXIuIDstKSBTb2dhciBtaXQgTWlsY2guCgpMaWFyYSwgWndlcmdlbnphdWJlcmluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgd2FyIHRvbGwgKENpbmRlcmVsbGEsIDEzLiBBdWcgMjAwMCwgMjM6MDY6MDIpOgpZdXBzLCBkaWUgUGFydHkgd2FyIHRvbGwuCkRpZSBFcmVpZ25pc3NlIGRlciBXb2NoZSBrYXVtIHp1IGJlc2NocmVpYmVuLgoKR2FueiBsaWViZW4gRGFuayBhbiBkYXMgQmVybGluZXIgT3JnYXRlYW0gZnVlciBkaWUgZ2VsdW5nZW5lIFBhcnR5d29jaGUgdW5kCmRpZSB0b3RhbCBzdWVzc2UgUXVlc3QgKG1pdCBkaWVzZW0gc3Vlc3NlbiBrbGVpbmVuIEhvYmJpdCAqZnJlY2hncmlucyopCgpTb3dhcyBzb2xsdGUgbWFuIHZpZWVlbCBvZWZ0ZXIgbWFjaGVuIDspCgpDaW5kZXJlbGxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgd2FyIHRvbGwgKEZpcmVoYXdrLCAxMy4gQXVnIDIwMDAsIDIzOjE5OjI1KToKfiMhIHJuPUNpbmRlcmVsbGEgcnQ9OTY2MjAwNzYyIHJnPXBhcnR5Cn4jISB0aWQ9OTY2MjAwNzYyCkRlbSBzY2hsaWVzc2UgaWNoIG1pY2ggYW4uIFdlbm4gZGllIHVucyBkYSBub2NobWFsIGhhYmVuIHdvbGxlbiwgamVkZXJ6ZWl0CndpZWRlci4gSWNoIHZlcm1pc3NlIGRlbiBTZWUgamV0enQgc2Nob24gdW5kIGRpZSBhbGxhYmVuZGxpY2hlbiBSYWdlc3BpZWxlIDopCgpGaXJlaGF3aywgc2ljaCBkYXMgRWluemVpbGVybiB0dW5saWNoc3QgdmVya25laWZlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgd2FyIHRvbGwgKEFsY2luYSwgMTQuIEF1ZyAyMDAwLCAxMTozOTo1Mik6Cn4jISBybj1DaW5kZXJlbGxhIHJ0PTk2NjIwMDc2MiByZz1wYXJ0eQp+IyEgdGlkPTk2NjIwMDc2MgoKSGkgT3JnYVRlYW0sCgppY2gga2FubiBtaWNoIENpbmRlcmVsbGEgbnVyIGFuc2NobGllc3Nlbi4gVmllbGVuIERhbmsgZnVlciBhbGxlcyEKCkFsY2luYSAtIHdpbGwgd2llZGVyIHp1cnVlY2sgbmFjaCBCcmllc2VsYW5nIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHkgd2FyIHRvbGwgKEhpZ2h0LCAxNC4gQXVnIDIwMDAsIDE1OjQ2OjM1KToKfiMhIHJuPUFsY2luYSBydD05NjYyNDU5OTIgcmc9cGFydHkKfiMhIHRpZD05NjYyMDA3NjIKSGkgaWhyIG9yZ2FuaXN0ZW4gb2RlciBvcmdhbmlzaWVyZXIgb2RlciB3aWUgYXVjaCBpbW1lciAubykKCmRhbmtlIGZ1ZXIgZGllIHRvbGx3b2NoZSAhISEgaGF0IHNlaHJ2aWVsIHNwYXNzIGdlbWFjaHQgLi4uIHVuZCBkaWUgMiBidWdzIGRpZQptaXIgYXVmZ2VmYWxsZW4gc2luZCB3ZXJkZW4gdmVyemllaGVuLCBkYSBpaHIgd2VkZXIgd2FzIGZ1ZXIgdW5mYWVoaWdlCml0YWxpZW5lciBrb2VubnQgbm9jaCBmdWVyIGRpZSB6dSBnZXJpbmdlIGxhZW5nZSBkZXIgYmV0dGUgCgpoaWdodCBkYW5rZW5kCgpQLlMuIGljaCBob2ZmZSBtYWwgZGFzIG1hbiBkYXMgbWl0IHBoYW50YXNpZSBub2NoIGxlc2VuIGthbm4gLi4uIHRlbG5ldCBzdXh4Ci5vKAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRllJIChBbmF0b2wsIDE0LiBBdWcgMjAwMCwgMTY6MDE6MjgpOgoKYSkgRGFzIG1pdCBkZW4gQmlsZGVybiB3aXJkIGRhdWVybi4KCmIpIEJlcmxpbiBpc3Qga2VpbiBGU01FLUVuZGVtaWVnZWJpZXQsIGQuaC4gZGllIFdhaHJzY2hlaW5saWNoa2VpdCwgZGFzcwogICBlaW4gWmVja2VuYmlzcyBkaWUgVmlydXNlcmtyYW5rdW5nIHp1ciBGb2xnZSBoYXQsIGlzdCByZWxhdGl2IGdlcmluZy4KICAgTmljaHRzZGVzdG90cm90eiBpc3QgZGVyIEJyaWVzZWxhbmctV2FsZCBuaWNodCB6ZWNrZW5mcmVpIHVuZCB2b3IgYWxsZW0KICAgZGllIGtsZWluZXJlbiBaZWNrZW4gKCJOeW1waGVuIi4gQWVoLiBXaWUgaGllc3Mgbm9jaCBtYWwgZGVyIFNlZT8hIDpvKSkKICAga29lbm5lbiBCb3JyZWxpb3NlIChCYWt0ZXJpZW5lcmtyYW5rdW5nKSB2ZXJ1cnNhY2hlbi4gQW4gbWlyIGZhbmRlbgogICBzaWNoIHp3ZWkgZGVyIGtsZWluZW4gQmllc3RlciB1bmQgYXVjaCB3ZW5uIG5pY2h0IGplZGVyIFVOVEVSIGRlbSBOZXR6CiAgIGRlciBMdXJjaGlzcGlubmUgZHVyY2hnZXJvYmJ0IGlzdCwga29lbm50ZW4gYXVjaCBub2NoIGFuZGVyZSBibGluZGUKICAgUGFzc2FnaWVyZSBtaXQgZWluZXIgS29lcnBlcmdyb2Vzc2Ugdm9uIDwgMC41bW0gbWl0IG5hY2ggSGF1c2UgZ2Vub21tZW4KICAgaGFiZW4uCiAgIFNvbGx0ZW4gdW0gZGVuIFplY2tlbmJpc3MgaGVydW0gSGF1dHJvZXR1bmdlbiBlbnRzdGVoZW4gLSBkYXMga2FubiBhdWNoCiAgIG1hbCAxNCBUYWdlIGRhdWVybiAtIHdpcmQgZW1wZm9obGVuLCBzb2ZvcnQgZWluZW4gQXJ6dCBhdWZ6dXN1Y2hlbi4gWzFdCgpBbmF0b2wKClsxXSBJbiBFbnplcGhhbGl0aXMtRW5kZW1pZWdlYmlldCBzb2xsdGUgbWFuIGluIGplZGVtIEZhbGwgc29mb3J0IG5hY2ggCiAgICBkZW0gQmlzcyB6dW0gQXJ6dCBnZWhlbiwgZGEgZGFzIEZTTUUtSW1tdW5nbG9idWxpbiBpbm5lcmhhbGIgdm9uIHZpZXIKICAgIFRhZ2VuIGdlZ2ViZW4gd2VyZGVuIG11c3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuYWNobGVzZSAoR25vbWUsIDE1LiBBdWcgMjAwMCwgMTg6MjI6NDgpOgpoaSwKCmRhIGZyZXVlbiB3aXIgdW5zIG5hdHVlcmxpY2gsIGRhc3MgZXVjaCBkaWUgcGFydHkod29jaGUpIHNvIGd1dCBnZWZhbGxlbiBoYXQuCnp1bWluZGVzdCBoYXQga2VpbmVyIHdpcmtsaWNoIGdlbWVja2VydCwgd2VkZXIgdWViZXIgdW5zIG5vY2ggdWViZXIgZGllCnRzaGlydHMuLi4gOy0pCgptZWluZW4gYmVzb25kZXJlbiBkYW5rIGFuIGd1YXJkIGZ1ZXIgZGllIHdlYi1zaXRlLCBhbiB4ZW5hZGEgdW5kIHJhcmRpYW4gZnVlcgpkaWUgcXVlc3QgdW5kIGFuIGdhbmR1ciBmdWVyIGRhcyBrb250by4KCndhcyBtaXIgcGVyc29lbmxpY2ggbmljaHQgc28gZ3V0IGdlZmFsbGVuIGhhdCwgd2FyIGRpZSB0YXRzYWNoZSwgZGFzcyBndWFyZAp1bmQgaWNoIGFtIFNvLiBtaXR0YWcgbm9jaCBoaW50ZXIgZXVjaCBoZXIgcmFldW1lbiBkdXJmdGVuIHVuZCBkaWUKcmVzdGxpY2hlbiBzYWNoZW4gYXVzIGRlbiBidW5nYWxvd3MgYXVmIGRpZSBzdHJhc3NlIHN0ZWxsdGVuLgplcyBrYW5uIGRvY2ggbmljaHQgc28gc2Nod2VyIHNlaW4sIGVpbiBidW5nYWxvdyBsZWVyIHp1IG1hY2hlbiwgb2Rlcj8KCmFueXdheSwgdW5zIGhhdCBlcyBuYXR1ZXJsaWNoIGF1Y2ggc3VwZXIgZ2VmYWxsZW4gdW5kIGZyZXVlbiB1bnMgYXVmIGRpZQpuYWVjaHN0ZSBwYXJ0eSBpbiAuLi4gPyA6KQoKZ25PbWUKCnAucy4gZXMgYmxpZWIgZWluIGdydWVuLWJyYXVuZXIgcnVja3NhY2sgZGVyIG1hcmtlICdkZXV0ZXInIHVlYmVyLCBkZW4gaWNoCiAgICAgZGFubiBkb2NoIG5pY2h0IHNvIGVpbmZhY2ggd2Vnc2NobWVpc3NlbiB3b2xsdGUuLi4gbWFpbCBhbiBtaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5hY2hsZXNlIChPcmt0b2V0ZXIsIDE1LiBBdWcgMjAwMCwgMjE6MzI6MTcpOgp+IyEgcm49R25vbWUgcnQ9OTY2MzU2NTY4IHJnPXBhcnR5Cn4jISB0aWQ9OTY2MzU2NTY4ClNwYWV0IGFiZXIgYmVzc2VyIHNwYWV0IGFscyBuaWUuLi4KCkRhbmtlICEKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlcyB2b20gUmFnZS1UaXNjaCAoWmVwaHlyLCAxNS4gQXVnIDIwMDAsIDIyOjUzOjE4KToKSGlobyBpaHJzIQoKV2VuIGVzIGludGVyZXNzaWVydDogRGllIEF1c3dlcnR1bmcgZGVyIExpc3RlbiBpc3QgYWIgc29mb3J0IGluIAptZWluZW0gU2VoZXJoYXVzLCBiZWZpbmRsaWNoIGJlaSBkZXIgS3VoIHZvbiBJbWtlciBLYXJsLCB6dSBmaW5kZW4uCgoqa251ZGRlbHMqCkM0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG5hY2hsZXNlIChOaWNrdGFyLCAxNS4gQXVnIDIwMDAsIDIyOjU1OjUzKToKfiMhIHJuPU9ya3RvZXRlciBydD05NjYzNjc5Mzcgcmc9cGFydHkKfiMhIHRpZD05NjYzNTY1NjgKSGksCgo+IFNwYWV0IGFiZXIgYmVzc2VyIHNwYWV0IGFscyBuaWUuLi4KPiBEYW5rZSAhCgpHZW5hdS4uLi4gRGFua2UKCk5pY2t0YXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGWUkgKFJhcmRpYW4sIDE2LiBBdWcgMjAwMCwgMDE6MDQ6NDUpOgp+IyEgcm49QW5hdG9sIHJ0PTk2NjI2MTY4OCByZz1wYXJ0eQp+IyEgdGlkPTk2NjI2MTY4OApIdWkhClZpZWxlbiBEYW5rIGZ1ZXIgZGllIHdlcnR2b2xsZW4gVGlwcy4gSGFiIGdyYWQgZnVlciBlaW4gYmlzc2NoZW4gQXVmcmVndW5nCmRhaGVpbSBnZXNvcmd0LCBhbHMgaWNoIGVpbmVzIGRpZXNlciBWaWVjaGVyIGFuIG1pciBlbnRkZWNrdGUuIFdpciBoYWJlbnMgbWl0CkFsa29ob2wgdW5kIEtsZWJzdG9mZiBiZWthZW1wZnQgKERpZSBaZWNrZSBkZW4gS2xlYnN0b2ZmLCBpY2ggZGVuIFJlc3QgOykKLi4uKS4gCgpSYXIsIGRhbmtlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZZSSAoQXRveiwgMTYuIEF1ZyAyMDAwLCAxMTozNjozOSk6Cn4jISBybj1SYXJkaWFuIHJ0PTk2NjM4MDY4NSByZz1wYXJ0eQp+IyEgdGlkPTk2NjI2MTY4OApEYXMgbWl0IGRlbSBLbGVic3RvZmYgaXN0IGFuZ2VibGljaCBrZWluZSBzbyBndXRlIElkZWUuIFplY2tlbnphbmdlIG9kZXIKUGluemV0dGUgc29sbGVuIGJlc3NlciBzZWluLi4uCkhhYmUgaWNoIG1hbCBnZWxlc2VuLCBpY2ggYmluIHp1bSBHbHVlY2sgZGllIGxldHp0ZW4gSmFocmUgdmVyc2Nob250CmdlYmxpZWJlbi4uLgpHcnVzcywgQXRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRllJIChUaWFtYWssIDE2LiBBdWcgMjAwMCwgMTE6NDE6MDYpOgp+IyEgcm49QXRveiBydD05NjY0MTg1OTkgcmc9cGFydHkKfiMhIHRpZD05NjYyNjE2ODgKRGllc2UgZ2FuemVuICJIYXVzbWl0dGVsY2hlbiIgd2llIEtsZWJzdG9mZiwgT2VsLCBOaXZlYSBldGMuIHNvcmdlbiBkYWZ1ZXIsCmRhc3MgZGllIFplY2tlIGF1ZndlaWNodCB1bmQgZGllIEdlZmFociBncm9lc3NlciB3aXJkLCBkYXNzIGRlciBLb3BmIGluIGRlcgpXdW5kZSB2ZXJibGVpYnQgYmVpbSBIZXJhdXNkcmVoZW4gZGVyIFplY2tlLgoKVW5kIGdlbmF1IGRhcyBzb2xsdGUgbmljaHQgcGFzc2llcmVuLgoKTWl0IG5lciBvcmRlbnRsaWNoZW4gWmVja2VuemFuZ2UgKGZ1ZXIgZWluIHBhYXIgTWFyayBpbiBqZWRlciBBcG90aGVrZQplcmhhZWx0bGljaCkgbGFzc2VuIHNpY2ggZGllIEJpZXN0ZXIgYmVxdWVtIG9obmUgVmVybHVzdGUgaGVyYXVzZHJlaGVuLgpadW1pbmRlc3QgZGllICJub3JtYWwiIGdyb3NzZW4sIGRpZSBtZWluIEh1bmQgaW1tZXIgc28gYW5zY2hsZXBwdC4gTWl0IHNvCndpbnppZ2VuIFZpZWNoZXJuIHdpZSB2b24gQW5hdG9sIGJlc2NocmllYmVuIGhhdHRlIGljaCBiaXNoZXIgbm9jaCBuaWNodCBkYXMKVmVyZ251ZWdlbi4KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZZSSAoQW5hdG9sLCAxNi4gQXVnIDIwMDAsIDEyOjMwOjQwKToKfiMhIHJuPVRpYW1hayBydD05NjY0MTg4NjYgcmc9cGFydHkKfiMhIHRpZD05NjYyNjE2ODgKQXVjaCBkaWUgTnltcGhlbiBsYXNzZW4gc2ljaCBtaXQgUGluemV0dGUgb2RlciBaZWNrZW56YW5nZSBzYW10IEtvcGYKZW50ZmVybmVuLiBEYXMgSGF1c21pdHRlbCAiT2VsIiBzb2xsIGRpZSBTYXVlcnN0b2ZmenVmdWhyIHp1bSBrbGVpbmVuCkJvZXNld2ljaHQgdW50ZXJicmVjaGVuIHVuZCBkYXp1IHdpcmQgc29nYXIgYXVmIGRlciBlaW5lbiBvZGVyIGFuZGVyZW4KWmVja2VuemFuZ2VucGFja3VuZyBnZXJhdGVuLCB3YXMgYWJlciwgd2llIFRpYW1hayBzYWd0ZSwgKmdhbnoqIHVuLQpzY2hvZW5lIEVmZmVrdGUgaGFiZW4ga2Fubi4gSWNoIG5laG1lIGFuLCBkYXNzIG1hbiBhdXMgZGVtIHNlbGJlbiAKR3J1bmQgZGFzIERlc2luZmVrdGlvbnNtaXR0ZWwgKGZhbGxzIHVlYmVyaGF1cHQgdmVyZnVlZ2JhcikgZXJzdApOQUNIIEVudGZlcm5lbiBkZXIgWmVja2UgenVyIEFud2VuZHVuZyBicmluZ2VuIHNvbGwuIE5lZWVpbiwgbmljaHQKYW4gZGVyIFplY2tlLCBhdWYgZGVyIEhhdXQuCgpJbiBkZXIgUmVnZWwgd2lzc2VuIEFwb3RoZWtlcihpbm5lbikgZGllc2JlenVlZ2xpY2ggZ3V0IEJlc2NoZWlkLCAKYXVjaCB1ZWJlciBFbmRlbWlla2FydGVuIGV0Yy4gdmVyZnVlZ2VuIHNpZSA6KS4gV2FzIEFlcnp0ZSBhbmdlaHQsCmlzdCBkZXJlbiBWb3JnZWhlbiBnZWdlbiBaZWNrZW4gdm9uIEFyenQgenUgQXJ6dCB1bmQgWmVja2UgenUgWmVja2UKdmVyc2NoaWVkZW4uIERlciBlaW5lIGhvbHQgc2llIG1pdCBkZXIgUGluemV0dGUsIGRlciBhbmRlcmUgbWl0IAooQUNLISkgU2thbHBlbGwsIGRlciBuYWVjaHN0ZSBzcHJpdHp0IHVudGVyIGRpZSBIYXV0IHVuZCBiZXRhZXVidApkZW4gUGFyYXNpdC4uLgoKQW5hdG9sIC0gYWx0Z2VkaWVudGVyIFplbHRsYWdlci1NaXRhcmJlaXRlciBpbSBPZGVud2FsZCAoKmFjayopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZZSSAoUGFyZGF1eiwgMTcuIEF1ZyAyMDAwLCAwMTowNTo1Nyk6Cn4jISBybj1SYXJkaWFuIHJ0PTk2NjM4MDY4NSByZz1wYXJ0eQp+IyEgdGlkPTk2NjI2MTY4OApoYXR0ZSA0IHZvbiBkZW4gYmllc3Rlcm4sIGRhdm9uIDEgbWl0IGhlaW0gZ2Vub21tZW4KaGFiIHNjaG9uIHVlYmVybGVndCBvYiBpY2ggZGFzIG1hbCBwcm9nZ2VuIHNvbGwgOikKClBhcmRhdXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZZSSAoRm9vYmFyLCAxNy4gQXVnIDIwMDAsIDAxOjU1OjM5KToKfiMhIHJuPVBhcmRhdXogcnQ9OTY2NDY3MTU3IHJnPXBhcnR5Cn4jISB0aWQ9OTY2MjYxNjg4CkdpYnRzIGxlaWRlciBzY2hvbiA6bykKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICAgIC0tLT4+Pj4+KlMqVCpBKlQqSSo8PDw8PC0tLSAgICAoTXVwZmVsLCAxNy4gQXVnIDIwMDAsIDE5OjQxOjA3KToKfiMhIHJuPVFpdGVzcyBydD05NjY1MzI5OTYgcmc9cGFydHkKfiMhIHRpZD05NjY1MzI5OTYKSmEgZ2VuYXUsIGlzdCBlaCBuZSBLb25rdXJyZW56dmVyYW5zdGFsdHVuZyBpbiBPUyB6dSBkZXIgWmVpdC4uLgoKLW11cGZlbC0gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXN0IChBcmssIDE5LiBBdWcgMjAwMCwgMTQ6NTM6MDkpOgpTbyBlaW4gQm9ja21pc3QsIGRpZSBQYXJ0eSB3dXJkZSBmdWVyIG1pY2ggZ2VyYWRlIHVtIGV4b3JiaXRhbnRlIERNIDExOS45OQp0ZXVyZXIuIEZ1ZXIgRE0gMzAgemVpY2huZW4gZ2V3aXNzZSBncnVlbmUgRnJvZXNjaGUgZGVzIE9yYW5pZW5idXJnZXIgUFAKdmVyYW50d29ydGxpY2gsIGRpZSBzaWNoIG5pY2h0IGVudGJsb2VkZXRlbiwgZWluZW0gQW5ydWYgZWluZXMgaW4gZGVyCk5hY2hiYXJzY2hhZnQgZGVyIEhlcmJlcmdlIHdvaG5lbmRlbiBCZWthbm50ZW4gKGljaCBuZW5uZSBpaG4gIkZpbHpsYXVzIikgenUKZm9sZ2VuIHVuZCBzaWNoIHdhaGxsb3MgWmFobGVuLSB1bmQgQnVjaHN0YWJlbmZvbGdlbiB6dSBub3RpZXJlbiwgZGllIGdld2lzc2UKQWVobmxpY2hrZWl0IG1pdCBlaW5lbSBtaXIgYmVrYW5udGVuIFBLVyBoYWJlbi4gRGllIEZvbGdlaW52ZXN0aXRpb24gdm9uIERNCjg5Ljk5IGZ1ZXIgSWNld2luZCBEYWxlIG11c3MgYWxzIEZydXN0LSBvZGVyIEVtb3Rpb25za2F1ZiBnZXdlcnRldCB3ZXJkZW4sCnN0ZWh0IGFiZXIgaW4gdW5taXR0ZWxiYXJlbSBadXNhbW1lbmhhbmcgbWl0IGVyc3RlcmVyIEJlZ2ViZW5oZWl0LgpXZW4ga2FubiBpY2ggamV0enQgdmVya2xhZ2VuLCB3YWVlZWVlaD8KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWlzdCAoTGFyaXNzYSwgMjAuIEF1ZyAyMDAwLCAyMTozNjozMyk6Cn4jISBybj1BcmsgcnQ9OTY2Njg5NTg5IHJnPXBhcnR5Cn4jISB0aWQ9OTY2Njg5NTg5CgpIaWhpLAoKZWluIEtvbGxlZ2UgaXN0IGxldHp0ZW4gTW9uYXQgaW4gZGVyIE5hZWhlIHZvbiBCZXJsaW4gZ2VibGl0enQgd29yZGVuOgpNaXQgODZrbS9oIGltIEJhdXN0ZWxsZW5iZXJlaWNoIHdvIDgwIGVybGF1YnQgd2FyLCBhbHNvIHNhdHRlIDZrbS9oIHp1CnNjaG5lbGwgYXVmIGRlciBBdXRvYmFobi4gSGF0IElobiBhdWNoIDMwIE1hcmsgZ2Vrb3N0ZXQsIHNjaGVpbnQsIGFscwpicmFldWNodGUgbWFuIGRyaW5nZW5kIEdlbGQgaW4gZGVyIEhhdXB0c3RhZHQgOikKCkxhcmksIG11c3MgbW9yZ2VuIHdpZWRlciBhcmJlaXRlbiAqU2V1ZnoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1pc3QgKEJlcm5oYXJkLCAyMS4gQXVnIDIwMDAsIDEzOjQ3OjE1KToKfiMhIHJuPUxhcmlzc2EgcnQ9OTY2ODAwMTkzIHJnPXBhcnR5Cn4jISB0aWQ9OTY2Njg5NTg5CkhpaG8sCgpJbiBkZXIgTmFlaGUgdm9uIEJlcmxpbiBsaWVndCBkYXMgTGFuZCBCcmFuZGVuYnVyZyB1bmQgZGFzIGlzdCBuaWNodApkaWUgSGF1cHRzdGFkdCwgZGllIGRlc3NlbiBHZWxkIGF1cyBzb2xjaGVuIEFrdGlvbmVuIGVyaGFlbHQuLi4KCkdydXMgUGVybi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1pc3QgKExhcmlzc2EsIDIxLiBBdWcgMjAwMCwgMTk6NDQ6MjQpOgp+IyEgcm49QmVybmhhcmQgcnQ9OTY2ODU4NDM1IHJnPXBhcnR5Cn4jISB0aWQ9OTY2Njg5NTg5CgpOYWphLAplcyB3YXIgZ2xhdWIgaWNoIG5lIEFydCBTdGFkdGF1dG9iYWhuIChTb3JyeSwga2VubiBtaWNoIG5pY2h0IGF1cyksCmlzdCBqYSBhYmVyIGF1Y2ggZWdhbCwgaWNoIGZhbmRzIG51ciBsdXN0aWcsIDMwIERNIGZ1ZXIgNiBrbS9oLgoKTGFyaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ0QtSHVlbGxlIGdlZnVuZGVuIChSYXJkaWFuLCAyNi4gQXVnIDIwMDAsIDAwOjEwOjAxKToKVmVybWlzc3QgZWlnZW50bGljaCBqZW1hbmQgZGllIENELUh1ZWxsZSB2b24gZGVyIEJsb29kaG91bmQgR2FuZywgSG9vcmF5IGZvcgpCb29iaWVzPyBEaWUgaGF0IHNpY2ggYmVpIG1pciBhbmdlZnVuZGVuIHVuZCBpc3QgZGVmaW5pdGl2IG5pY2h0IG1laW5lLgoKQW0gYmVzdGVuIGJlaSBtaXIgbWVsZGVuLCBmYWxscyBkYSAid2llZGVya3JpZWciLUJlZGFyZiBiZXN0ZWh0LgoKR3J1c3MsCiAgUmFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENELUh1ZWxsZSBnZWZ1bmRlbiAoSGlnaHQsIDI2LiBBdWcgMjAwMCwgMTU6NDk6MTApOgp+IyEgcm49UmFyZGlhbiBydD05NjcyNDE0MDEgcmc9cGFydHkKfiMhIHRpZD05NjcyNDE0MDEKbWVpbmUgCgpncnVzcyBoaWdodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWlzdCAoTHVwdXMsIDI3LiBBdWcgMjAwMCwgMTc6MjM6MzMpOgp+IyEgcm49QmVybmhhcmQgcnQ9OTY2ODU4NDM1IHJnPXBhcnR5Cn4jISB0aWQ9OTY2Njg5NTg5ClVuZCBhdXNzZXJkZW06IEF1ZiBBdXRvYmFobmVuIHdpcmQgaW0gTGFuZCBCcmFuZGVuYnVyZyBlcnN0IGltCiJCdXNzZ2VsZGJlcmVpY2giICg9IDIwIGttL2ggenUgc2NobmVsbCkgZ2VibGl0enQuIERhenUga29tbXQgZWluZQpNZXNzdW5nZW5hdWlna2VpdCB2b24gNCBrbS9oIChiZWkgR2VzY2h3aW5kaWdrZWl0ZW4gdW50ZXIgMTAwIGttL2gpIGJ6dy4gNwprbS9oIChiZWkgR2VzY2h3aW5kaWdrZWl0ZW4gdWViZXIgMTAwIGttL2gpLiBHaWx0IGFiZXIgd2llIGdlc2FndCBudXIgZnVlcgpBdXRvYmFobmVuLiBBYmVyIGltbWVyaGluIGthbm4gbWFuIHNpY2ggc28gZWluaWdlcm1hc3NlbiBkcmF1ZiBlaW5zdGVsbGVuLAp3YW5uIG1hbiBGb3RvcyBwZXIgUG9zdCBrcmllZ3QuIDo5CgpMdXB1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWlzdCAoRnJlaWJpZXIsIDI4LiBBdWcgMjAwMCwgMTA6MDU6MjIpOgp+IyEgcm49THVwdXMgcnQ9OTY3Mzg5ODEzIHJnPXBhcnR5Cn4jISB0aWQ9OTY2Njg5NTg5CkR1IGthbm5zdCBhYmVyIG5pY2h0IGRhcmF1ZiB2ZXJ0cmF1ZW4uIEhvZWNoc3RnZXNjaHdpbmRpZ2tlaXQgMTAwIGhlaXNzdCBlYmVuCkhPRUNIU1RnZXNjaHdpbmRpZ2tlaXQgMTAwIHVuZCBuaWNodCBNaW5kZXN0Z2VzY2h3aW5kaWdrZWl0LApEdXJjaHNjaG5pdHRzZ2VzY2h3aW5kaWdrZWl0IG9kZXIgc29uc3R3YXMuIApXZW5uIER1IGRhIGRydWViZXIgYmlzdCwgbXVzc3QgRHUgaGFsdCBkYW1pdCByZWNobmVuLCBuZW4gVGlja2V0IHp1IGthc3NpZXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1pc3QgKEx1cHVzLCAyOC4gQXVnIDIwMDAsIDEwOjA3OjAwKToKfiMhIHJuPUZyZWliaWVyIHJ0PTk2NzQ0OTkyMiByZz1wYXJ0eQp+IyEgdGlkPTk2NjY4OTU4OQpEYSBkYXMgZGllIEF1c2t1bmZ0IGVpbmVzIFBvbGl6aXN0ZW4gdm9yIGRlbSBBbXRzZ2VyaWNodCBPcmFuaWVuYnVyZyB3YXIsCnZlcnRyYXVlIElDSCB6aWVtbGljaCBkcmF1Zi4gQWJlciBlcyBrYW5uIHNpY2ggbmF0dWVybGljaCBhbGxlcyBhZW5kZXJuLi4uCgpMdXB1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsZGVyLi4uIChBbmF0b2wsIDI5LiBBdWcgMjAwMCwgMDA6MDc6MjEpOgoKWmlwcGlkaWRvZGFhYWEuLi4gZm9sZ2VuZGVzIGlzdCBkZXIgR2VtZWluZGUgYmVrYW5udHp1Z2ViZW46IEVzIGZlaGxlbgpub2NoIGVpbmlnZSAod2VuaWdlKSBSdWVja21lbGR1bmdlbiB6dSBkZW4gUGFydHliaWxkZXJuIGF1cyBCZXJsaW4gdW5kCkRyZXNkZW4uIEZhbGxzIGplbWFuZCBlaW5lIGRlciB1bnRlbnN0ZWhlbmRlbiBQZXJzb25lbiBSTCBvZGVyIGhpZXIgLQphdWNoIGFscyBad2VpdGllIC0gdHJpZmZ0LCBtb2VnZSBlciBzaWUgZG9jaCBiaXR0ZSBmcmV1bmRsaWNoIGRhcmF1ZgphbnNwcmVjaGVuLCBkYXNzIGljaCBub2NoIGF1ZiBhdWYgZWluZSBNYWlsIGhvZmZlLi4uCgotIEFramFyYQotIEFyaWFuYQotIEdyaW1tYW4KLSBKb2YKLSBNYXRpcwotIFNwZWxsZmlyZQotIFRodWZoaXIKLSBUcnlmYW4KLSBXYXJsb3JkCgpBbmF0b2wKClBTOiBKYS4gTWF0aXMgaXN0IGluIGRlbiBTdGFhdGVuLiBJY2ggd2Vpc3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNaXN0IChBcHN1LCAgMy4gU2VwIDIwMDAsIDAxOjQwOjI2KToKfiMhIHJuPUx1cHVzIHJ0PTk2NzM4OTgxMyByZz1wYXJ0eQp+IyEgdGlkPTk2NjY4OTU4OQpXb2JlaSBkaXZlcnNlIFRhY2hvbWV0ZXIgYXVjaCBhbGxlcyBhbmRlcmUgYWxzIGRpZSByaWNodGlnZSBnZXNjaHdpbmRpZ2tlaXQKYW56ZWlnZW4gdWViZXIgMTAwIGttaCAuLi4gOikKCkFwc3UgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXIuLi4gKEFuYXRvbCwgMTUuIFNlcCAyMDAwLCAyMzoxNjozMik6Ci4uLiBzaW5kIGphIGluendpc2NoZW4gaW0gTmV0ei4gV2VyIHZvbiBkZW4gbWVpbmVuIHVuYmVkaW5ndCAKTmFjaGJlc3RlbGx1bmdlbiBicmF1Y2h0LCBtb2VnZSBzaWNoIGJlaSBtaXIgbWl0IGRlbiBlbnRzcHJlY2hlbmRlbgpCaWxkZGF0ZWluYW1lbiAoISBOaWNodCBkZW4gQmlsZG51bW1lcm4hKSB2aWEgTWFpbCBtZWxkZW4uIFp1ZWdpZy4KCmEpIERlciBQcmVpcyB3aXJkIGhvY2ggc2Vpbi4KYikgRGVyIEJpbGRhdXNzY2huaXR0IGlzdCBhdWYgUGFwaWVyIG5pY2h0IGRlcnNlbGJlIHdpZSBpbSBOZXR6LgpjKSBJY2gga2FubiBvaG5lIEFuZ2FiZSB2b24gR3J1ZW5kZW4gZGllIE5hY2hiZXN0ZWxsdW5nIF92ZXJ3ZWlnZXJuXy4KCkljaCB3ZXJkZSB3aWxsa3VlcmxpY2ggaXJnZW5kd2FubiAiRWluc2VuZGVzY2hsdXNzIiB2ZXJrdWVuZGVuLgpTbyBiaW4gaWNoLgoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1HZWJ1cnRzdGFnc3BhcnR5IChDYXR3ZWF6bGUsIDE5LiBPa3QgMjAwMCwgMTM6MjY6MzQpOgp+IyEgb249TGFuZmVhciBvdD05NzE5MTA0NTIgb2c9dHJlZmZlbgpTbywgZXMgc3RlaHQgZWluZSBuZXVlIFBhcnR5IGFuLgpPYiBlcyBkaWUgbmFlY2hzdGUgUGFydHkgc2VpbiB3aXJkLCB3ZWlzcyBpY2ggbmljaHQsIGljaCBob2ZmZSBkb2NoLCBkYXNzIGVzCnZvcmhlciBub2NobWFsIGVpbmUgZ2ViZW4gd2lyZCA6LSkKCkFiZXIgcGFzc2VuZCB6dW0gMzMzMyBUYWcgZGVzIE1HcyB3aXJkIGVzIHZvbSAxMS4tMTMuMDUuMjAwMSBlaW5lIFBhcnR5IGltCnNjaG9lbmVuIChnYXIgbmljaHQgc28gdmVycmVnbmV0ZW4gd2llIG1hbmNoZWluZXIgc2FndCkgTXVlbnN0ZXIgZ2ViZW4uCk5hZWhlciBJbmZvcm1hdGlvbmVuIGZvbGdlbiBuYXR1ZXJsaWNoIG5vY2gsIGRpZXMgbnVyIHNjaG9uIG1hbCBhbHMKQW5rdWVuZGlndW5nIDotKQoKTGFuZmVhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLUdlYnVydHN0YWdzcGFydHkgKFBpbGdyaW0sIDE5LiBPa3QgMjAwMCwgMTY6NTE6MjYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk3MTk1NDc5NCByZz1wYXJ0eQp+IyEgdGlkPTk3MTk1NDc5NApCZXN0ZWh0IGRlbm4gRWluaWdrZWl0IGRhcnVlYmVyLCB3YW5uIFRhZyAxIGRlcyBNRyB3YXIgLi4uIG51ciBkYXMgd2lyCmFtIGZsYXNjaGVuIFRhZyBmZWllcm4gLi4uIDstKQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNRy1HZWJ1cnRzdGFnc3BhcnR5IChHbG9pbnNvbiwgMTkuIE9rdCAyMDAwLCAxNzowMDo1Nik6Cn4jISBybj1QaWxncmltIHJ0PTk3MTk2NzA4NiByZz1wYXJ0eQp+IyEgdGlkPTk3MTk1NDc5NApEZXIgV2lsbGUgemFlaGx0IDspCgpHbG9pbihzb24pIHdlaXNzIGF1Y2ggbmljaHQgbWVociwgd2FubiBFcnN0ZWlubG9nZGF0dW0gd2FyIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTUctR2VidXJ0c3RhZ3NwYXJ0eSAoTGFuZmVhciwgMTkuIE9rdCAyMDAwLCAxOTowNzoxNSk6Cn4jISBybj1HbG9pbnNvbiBydD05NzE5Njc2NTYgcmc9cGFydHkKfiMhIHRpZD05NzE5NTQ3OTQKTmFqYSwgZXMgZ2FiIHNjaG9uIGVpbiBvZmZpemllbGxlcyBEYXR1bSwgdW5kIGRlbWVudHNwcmVjaGVuZCB3YWVyZSBkZXIgMzMzMy4KVGFnIERvbm5lcnN0YWcgZGVyIDEwLjUuLCBhbGxlcmRpbmdzIGtvZW5uZW4gZGllIHdlbmlnc3RlbiBzY2hvbiBhbQpEb25uZXJzdGFnLiBBYmVyIHZpZWxsZWljaHQgd2lyZCBkYXMgUHJvZ3JhbW0gamEgbm9jaCBldHdhcyBmdWVyIGRpZWplbmlnZW4sCmRpZSBrb2VubmVuLCBlcndlaXRlcnQgOi0pCgpMYW5mZWFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNRy1HZWJ1cnRzdGFnc3BhcnR5IChMaWFyYSwgMTkuIE9rdCAyMDAwLCAxOToyNToxMSk6Cn4jISBybj1MYW5mZWFyIHJ0PTk3MTk3NTIzNSByZz1wYXJ0eQp+IyEgdGlkPTk3MTk1NDc5NApXZXIgcmVjaG5ldCBkZW5uIHNvd2FzIGF1cz8gOy0pKSkKCkxaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1HLUdlYnVydHN0YWdzcGFydHkgKENhdHdlYXpsZSwgMTkuIE9rdCAyMDAwLCAyMzozNzo0MCk6Cn4jISBybj1QaWxncmltIHJ0PTk3MTk2NzA4NiByZz1wYXJ0eQp+IyEgdGlkPTk3MTk1NDc5NApqYSwgZGEgYmVzdGVodCBkZWZpbml0aXZlIEVpbmlna2VpdC4gRGFzIE11ZCBsb2dndCB0YXRzYWVjaGxpY2ggbWl0LCB3YW5uIGVzCnp1bSBlcnN0ZW4gbWFsIGdlc3RhcnRldCB3dXJkZS4gCkpldHp0IGZyYWcgbWljaCBiaXR0ZSBuaWNodCwgd28sIGFiZXIgaGlsZnJlaWNoIGlzdCBiZXN0aW1tdCAnaW4gL3Jvb20vbWt6CnVudCB0YWZlbCcuIEdhYWFhYW56IGFsdGVyIFRyaWNrLiBRdWFzaSBhdXMgZGVtIE5hZWhrYWVzdGNoZW4uIEVpZ2VudGxpY2ggCmVpbiBGcmV2ZWwgc293YXMgenUgZXJ6YWVobGVuLi4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNRy1HZWJ1cnRzdGFnc3BhcnR5IChSaWt1cywgMjAuIE9rdCAyMDAwLCAwODo0MDo0Nyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTcxOTkxNDYwIHJnPXBhcnR5Cn4jISB0aWQ9OTcxOTU0Nzk0CkhpLAoKRGFzIGVyc3RlIG1hbCB3dXJkZSBkYXMgTUcgZ2Vib290ZXQ6ICJXZWQgTWFyIDI1IDExOjAwOjAwIDE5OTIiLgoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1HLUdlYnVydHN0YWdzcGFydHkgKFJpa3VzLCAyMC4gT2t0IDIwMDAsIDA4OjQxOjM3KToKfiMhIHJuPVJpa3VzIHJ0PTk3MjAyNDA0NyByZz1wYXJ0eQp+IyEgdGlkPTk3MTk1NDc5NApEYXMgTUcgbWVsZGV0IGF1Y2ggenVydWVjaywgZGFzcyBlcyBoZXV0ZSAzMTMxIFRhZ2UgYWx0IGlzdC4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNRy1HZWJ1cnRzdGFnc3BhcnR5IChBcmssIDIxLiBPa3QgMjAwMCwgMTM6NTU6NDkpOgp+IyEgcm49TGFuZmVhciBydD05NzE5NzUyMzUgcmc9cGFydHkKfiMhIHRpZD05NzE5NTQ3OTQKQ29vbCwgbWVpbiBHZWJ1cnRzdGFnLiBXZW5uIGRhcyBuaWNodCB3ZWd3ZWlzZW5kIGlzdCA7bykKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZGVyLi4uIChBbmF0b2wsIDIxLiBPa3QgMjAwMCwgMTM6NTY6MTMpOgp+IyEgcm49QW5hdG9sIHJ0PTk2OTA1MjU5MiByZz1wYXJ0eQp+IyEgdGlkPTk2OTA1MjU5MgpFaW5zZW5kZXNjaGx1c3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNRy1HZWJ1cnRzdGFnc3BhcnR5IChBcmssIDIxLiBPa3QgMjAwMCwgMTM6NTY6MjMpOgp+IyEgcm49UmlrdXMgcnQ9OTcyMDI0MDQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTcxOTU0Nzk0ClNoaXQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTUctR2VidXJ0c3RhZ3NwYXJ0eSAoTXVwZmVsLCAyMS4gT2t0IDIwMDAsIDE0OjM4OjE1KToKfiMhIHJuPUFyayBydD05NzIxMjkzNDkgcmc9cGFydHkKfiMhIHRpZD05NzE5NTQ3OTQKVmllbGxlaWNodCBwYXNzZW5kZXJ3ZWlzZSBkZXIgMzNzdGU/IDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTUctR2VidXJ0c3RhZ3NwYXJ0eSAoQXJrLCAyMS4gT2t0IDIwMDAsIDE0OjM5OjE3KToKfiMhIHJuPU11cGZlbCBydD05NzIxMzE4OTUgcmc9cGFydHkKfiMhIHRpZD05NzE5NTQ3OTQKWW91IGdvdCBpdCwgZGFzIHN0aW1tdCA6LSkgSWNoIGdlYmUgYWJlciBrZWluZXNmYWxscyBmdWVyIDMzIE11ZGRlciAzMyBCaWVyCmF1cy4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWtvbGF1cz8/PyAoUGl6emFwZXBlLCAzMC4gTm92IDIwMDAsIDEzOjAzOjI0KToKClNlaWQgaWhyIHNwb250YW4/CgpEYSBzaWNoIG1laW4gQWJmbHVnIHVlYmVyIGRlbiBUZWljaCBub2NoIHdlaXRlciBuYWNoIGhpbnRlbiB2ZXJzY2hpZWJ0LCBoYWV0dGUKaWNoIGphIHNwb250YW4gd2llZGVyIEx1c3QgdW4gYXVjaCB2aWVsbGVpY2h0IFplaXQsIGt1cnpmcmlzdGlnIGVpbmUKTmlrb2xhdXNmZXRlIGF1ZiBkZXIgQnVyZyBzdGVpZ2VuIHp1IGxhc3Nlbi4KSWNoIG11ZXNzdGUgZGFubiBnbGVpY2ggbWwgbmFjaGZyYWdlbiwgb2IgdW5kIHdhbm4gZGllIEJ1cmcgbm9jaCBmcmVpIGlzdCAtCmFiZXIgZXJzdG1hbCBiaXR0ZSBGZWVkYmFjayB2b24gZXVjaCwgb2IgaWhyIGFtIDIuIG9kZXIgMy4gQWR2ZW50c3dvY2hlbmVuZGUKKGFsc28gZW50d2VkZXIgaW4gendlaSBvZGVyIGluIGRyZWkgV09jaGVuKSBMc3V0IGF1ZiBNdWQtUGFydHkgaGFldHRldD8hCgpCaXR0ZSBoaWVyIHBvc3RlbiB1bmQgcGVyIE1haWwgYW4gbWljaCEKCi1QaXp6YXBlcGUgKG51ciBlY2h0IG1pdCBLb2NobXVldHplKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pa29sYXVzPz8/IChSb2NodXMsIDMwLiBOb3YgMjAwMCwgMTg6NTk6MDEpOgp+IyEgcm49UGl6emFwZXBlIHJ0PTk3NTU4NTgwNCByZz1wYXJ0eQp+IyEgdGlkPTk3NTU4NTgwNApIbW0sIGljaCBiZXp3ZWlmZWwgZGFzcyBtaXIgYmlzIGRhaGluIG5vY2gKcmVjaHR6ZWl0aWcgZGVyIEJhcnQgd2llZGVyIHdhZWNoc3QgOi0pCgogIERlciBOaWtvbGF1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOaWtvbGF1cz8/PyAoWWVuZGksICAxLiBEZXogMjAwMCwgMTA6MzY6MTgpOgp+IyEgcm49Um9jaHVzIHJ0PTk3NTYwNzE0MSByZz1wYXJ0eQp+IyEgdGlkPTk3NTU4NTgwNApBcHJvcG9zIEJhcnQ6Ckhhc3QgRHUgbWl0dGxlcndlaWxlIGlyZ25kd28gZWluIHBhYXIgUGhvdG9zIHZvbiBEaXIgaGluZ2VzdGVsbHQ/CgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmlrb2xhdXM/Pz8gKEFyaWFuYSwgIDEuIERleiAyMDAwLCAxNzo0NTowMik6Cn4jISBybj1QaXp6YXBlcGUgcnQ9OTc1NTg1ODA0IHJnPXBhcnR5Cn4jISB0aWQ9OTc1NTg1ODA0CnBhcnR5PwppbW1lciEKbGllYmVyIDIuIGFkdmVudHNXRTopCmZyYWdlOiB3aWUgdGV1ZXIgZGllc21hbD8KCmFyaWFuYSwgaW1tZXIgcGFydHlsdXN0aWc6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTklLT0xBVVNJLVBhcnR5IDIwMDAgKFBpenphcGVwZSwgIDEuIERleiAyMDAwLCAyMDoyNjowNSk6CgonYWxsbyBQYXJ0eSBQZW9wbGUhCgpQaXp6YVBlcGUgaGF0IGZ1dXIgZXVjaCBkb2NoIG5vY2gga3V1cnpmcmlzdGlnIGVpbmUgUGFydHkgb3JnYW5pc2llcnQuCldlbm4gaWhyIHdvbGx0LiBBbGxlcyBpc3QgYmVyZWl0LCBlcyBmZWh0bCBudXIgbm9jaCBkYXMgUGFydHlicmV0dC4KKEVNIHZvciEpCkFsc286CgpUZXJtaW46CgpGcmVpdGFnLCAxNS4xMi4gYmlzIFNvbm50YWcgMTcuMTIuCgpPcnQ6ClBhcnR5YnVyZyBpbiBXaW50ZXJidXJnICh3aWUgZ2VoYWJ0KQoKS29zdGVuOgpJY2ggaGFiIG1hbCB3aWVkZXIgZWluIGJpc2VsIGdlZmVpbHNjaHQuIERpZXNtYWwgIm51ciIgSGFsYnBlbnNpb24sIHNvbGwKaGVpc3NlbjoKMSBVZWJlcm5hY2h0dW5nIG1pdCBGcnVlaHN0dWVjayB1bmQgQWJlbmRlc3NlbiBmdWVyIDMwIERNLCB6d2VpClVlYmVybmFjaHR1bmdlbiBtaXQgRiB1bmQgQSB6dXNhbW1lbiA2MCBETS4KRGF6dSBrb21tdCBkZXIgUGFydHliZXRyYWcgdm9uIDE1IERNIGZ1ZXIgR2V0cmFlbmtlLgpMZXV0ZSwgZGllIG51ciB6dXIgUGFydHkga29tbWVuIHVuZCBuaWNodCB1ZWJlcm5hY2h0ZW4sIHphaGxlbiAyNS4KCldlZ2VuIGRlciBrdXJ6ZW4gWmVpdCBiaXMgenVyIFBhcnR5IGxvaG50IHNpY2ggVm9ya2Fzc2UgbmljaHQhIEFsc28KQWJlbmRrYXNzZSEKVWRuIGJpdHRlIG5pY2h0IGFsbGUgbWl0IDEwMDAtRE0tU2NoZWluZW4ga29tbWVuLiA7LSkKCldlbm5zIGdlaHQsIGJpdHRlIGFtIFBhcnR5YnJldHQgYW5tZWxkZW4sIGRhbWl0IGljaCBkaWUgRXNzZW4tIHVkbgpHZXRyYWVua2VtZW5nZW4gYmVzc2VyIGVpbnNjaGFldHplbiBrYW5uLgoKVW5kIGljaCBrYW5uIGVpbnMgdmVyc3ByZWNoZW4gLSBlcyB3aXJkIGtlaW4gUGZlbm5pZyBHZXdpbm4gZ2VtYWNodC4gRGllIEJ1cmcKYmVrb21tdCBpbSBuYWVjaHN0ZW4gU29tbWVyIGVpbiBuZXVlcyAoU2NoaWVmZXItKURhY2gsIHVuZCBkYXMga29zdGV0IGVpbiBwYWFyCk1hcmsgZnVlbmZ6aWcuIElzdCBhbHNvIGFsbGVzIGZ1ZXIgZWluZW4gZ3V0ZW4gWndlY2suCgotUFAgKG51ciBlY2h0IG1pdCBLb2NobXVldHplISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOSUtPTEFVU0ktUGFydHkgMjAwMCAoWm9vaywgIDMuIERleiAyMDAwLCAxOTozMzoyNik6Cn4jISBybj1QaXp6YXBlcGUgcnQ9OTc1Njk4NzY1IHJnPXBhcnR5Cn4jISB0aWQ9OTc1Njk4NzY1ClBpenphUGVwZSBuaW1tdCBudW4gYXVjaCBBbm1lbGR1bmdlbiB1ZWJlciBkaWUgYmVrYW5udGVuClBhcnR5YnJldHRlciBlbnRnZWdlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWUga29tbXQgbWFuIHp1ciBCdXJnPyAoTW9udGFudXMsIDEzLiBEZXogMjAwMCwgMjI6MDQ6NTApOgpHYW56IGt1cno6IEE2MSB6d2lzY2hlbiBCaW5nZW4gdW5kIEtvYmxlbnogbmFjaCBkZXIgQWJmYWhydCAiV2FsZGxhdWJlcnNoZWltIgphYnN1Y2hlbi4gRG9ydCBhYmZhaHJlbi4gWkllbWxpY2ggc29mb3J0IGRhbm4gbGlua3MgYXVmIGRpZSBMYW5kc3RyYXNzZSB1bmQKZmFzdCBnZW5hdXNvIHNvZm9ydCB3aWVkZXIgcmVjaHRzIGFiYmllZ2VuOiBuYWNoIFNjaHdlcHBlbmhhdXNlbi4KRG9ydCBnZXJhZGVhdXMgZHVyY2gsIGltbWVyIGRlciBTdHJhc3NlIGZvbGdlbiwgZHVyY2ggU2Nob2VuZWJlcmcgdW5kClNwYWJydWVja2VuIGR1cmNoLCB1bmQgZGFubiBhbiBlaW5lciBLcmV1enVuZywgd28gZXMgZ2VyYWRlYXVzIHJpY2h0dW5nClNwYWxsL011ZW5jaHdhbGQgZ2VodCwgcmVjaHRzIGFiYmllZ2VuIFJpY2h0dW5nIEdlbXVlbmRlbi4KRGFzIGlzdCBkaWUgT3J0c3VtZmFocnVuZyBNdWVuY2h3YWxkLCBkZXIgaW1tZXIgZm9sZ2VuLCBiaXMgZXMgbGlua3MgYWIgbmFjaApHZWJyb3RoIGdlaHQuCkluIEdlYnJvdGggZGFubiByZWNodHMgUmljaHR1bmcgV2ludGVyYmFjaC4gVW5kIGt1cnogdm9yIFdpbnRlcmJhY2ggaXN0IHJlY2h0cwpkZXIgRnJpZWRoZiB1bmQgbGlua3MgZGVyIEZlbGR3ZWcsIGRlciB6dXIgQnVyZyBmdWVocnQuIElzdCBuaWNodCBiZXNvbmRlcnMKZG9sbCBhdXNnZXNjaGlsZGVydCwgbnVyIHNvIGVpbiBrbGVpbmVzIFNjaGlsZC4KRGVtIEZlbGR3ZWcgZGFubiBlaW5mYWNoIGZvbGdlbiwgYmlzIGlociBhdWYgZGVtIEJ1cmdob2YgbGFuZGV0LiA6LSkKCldlciBkYXMgZ2FuemUgYWxzIC5qcGctS2FyNnRlIGhhYmVuIHdpbGwsIGJpdHRlIE1haWwgYW4gbWljaCAobWl0IGVpbmVyCk1haWxhZHJlc3NlLCBhbiBkaWUgaWNoIGRhcyBGaWVsIHNjaGlja2VuIHNvbGwpLgoKR3J1c3MsCgpNb250YW51cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWUga29tbXQgbWFuIHp1ciBCdXJnPyAoR2xvaW5zb24sIDEzLiBEZXogMjAwMCwgMjI6MTk6NTApOgp+IyEgcm49TW9udGFudXMgcnQ9OTc2NzQxNDkwIHJnPXBhcnR5Cn4jISB0aWQ9OTc2NzQxNDkwClNvbGx0ZXN0IER1IGVyd2FlaG5lbiwgZGFzcyBkZXIgIkZlbGR3ZWciIHppZW1saWNoIGJlZmVzdGlndCBpc3QsIG9kZXIgc2luZApsZXR6dGphaHIgbnVyIGRpZSBCZXJsaW5lciBlcnN0bWFsIGRlbiBlY2h0ZW4gRmVsZHdlZyBlbnRsYW5nZ2VmYWhyZW4/CgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiZXR0d2Flc2NoZSAoQmFtYmksIDE0LiBEZXogMjAwMCwgMTQ6MzU6MDMpOgpJcnJlIGljaCBtaWNoIG9kZXIgbXVzc3RlIG1hbiBuaWNodCBCZXR0d2Flc2NoZSBuYWNoIFdCIG1pdGJyaW5nZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYmV0dHdhZXNjaGUgKE1vbnRhbnVzLCAxNC4gRGV6IDIwMDAsIDE3OjAxOjU4KToKfiMhIHJuPUJhbWJpIHJ0PTk3NjgwMDkwMyByZz1wYXJ0eQp+IyEgdGlkPTk3NjgwMDkwMwpQZW5udHVldGUgZ2VodCBhdWNoLgpXaWUgRHUgd2lsbHN0LiA6KQoKRXMgZ2lidCBhdWNoIExldXRlLCBkaWUgYXVmIGRlbSBLbG8gZWluc2NobGFmZW4sIHdlbGNoZSwgZGllIG1pdCBHcmltbSoKYW5mYW5nZW4uIERpZSBicmF1Y2VuIGRhbm4gZ2FyIG5peC4gOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnVlciBWZXJpcnJ0ZSAoTW9udGFudXMsIDE0LiBEZXogMjAwMCwgMTc6MTY6MjUpOgoKV2VyIGRlbiBXZWcgbmljaHQgZmluZGV0LCBrYW5uIHVlYnJpZ2VucyBnYW56IHByb2JsZW1sb3MgYXVjaCB1bnRlciAwNjc1Ni0yMjMKbmFjaCBkZW0gV2VnIGZyYWdlbi4KCi1Nb250YW51cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVFQtU2NobGFlZ2ZlciA/IChNb250YW51cywgMTQuIERleiAyMDAwLCAyMjoyMTo1OSk6Ck51ciBkYW1pdCBuaWVtYW5kIHNhZ3QsIGVyIGhhYmUgZXMgbmljaHQgZ2V3dXNzdC4uLiBhdWYgZGVyIFdpbnRlcmJ1cmcgc2luZApvZnQgZGllIFRpc2NodGVubmlzcGxhdHRlbiB2b2xsIGRlciBIaXQsIGF1Y2ggYmVpIGdyb3NlbiBLaW5kZXJuIHdpZSB1bnMuIFdlcgphbHNvIEx1c3QgdW5kIFBsYXR6IGltIEF1dG8gaGF0LCBQbGVja2UgbmljaHQgdmVyZ2Vzc2VuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eSAoQmFtYmksIDE3LiBEZXogMjAwMCwgMTk6NTU6MDEpOgpGdWVyIGFsbGUsIGRpZSBuaWNodCBkYWJlaSB3YXJlbjogVGphLi4uLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmVyaWNodCBJIChNb250YW51cywgMTcuIERleiAyMDAwLCAyMjowNDoxOCk6CkRpZSBUT1AtMTAtTGlzdGUgZGVyIERpbmdlLCBhbiBkZW5lbiBtYW4gZXJrZW5udCwgZGFzcyBPZXR0aSBhbHQgZ2V3b3JkZW4gaXN0LgoKMTAuIEVyIHdhciBwdWVua3RsaWNoLgo5LiBFciBrb25udGUgbmFjaHRzIG5pY2h0IGVpbnNjaGxhZmVuLCB3aWVsIGRpZSBhbmRlcmVuIG5vY2ggc28gbGF1dCB3YXJlbi4KOC4gRXIgaXN0IGFsbGVpbmUgaW5zIEJldHQgZ2VnYW5nZW4uCjcuIEF1ZiBkaWUgRnJhZ2UgbmFjaHRzIHVtIHZpZXIgIlNvbGxlbiB3aXIgbm9jaCBlaW5lbiBLYXN0ZW4gQmllciBob2xlbj8iIGthbQplaW4gZW50c2NoaWVkZW5lcyBORUlOLgo2LiBOaWNodCBqZWRlciB6d2VpdGUgU2F0eiBlbmRldGUgbWl0IGRlbSBXb3J0ICJmaWNrZW4iLgo1LiBBbndlc2VuZGUgRnJhdWVuIGthbm50ZW4gT2V0dGkgbmljaHQgLSB1bmQgdW1nZWtlaHJ0Lgo0LiBFciBmcnVlaHN0dWNrdGUga2VpbmUgS29wZnNjaG1lcnp0YWJsZXR0ZW4uCjMuIEVyIGhhdHRlIG5vY2ggbmljaHQgZWlubWFsIHdlbGNoZSBkYWJlaS4KMi4gRXIgaGF0IFdpbnRlcnJlaWZlbiBhbSBBdXRvLgoKVW5kIHNjaGxpZXNzbGljaCwgYWxzIGRldXRsaWNoc3RlbiB6ZWljaGVuIGRhZnVlciwgZGFzcyBPZXR0aSBhbHQgZ2V3b3JkZW4KaXN0OgoxLiBPYndvbCBlciBhbHMgYW5nZW1lbGRldCBhdWYgZGVyIFBhcnR5bGlzdGUgc3RhbmQsIGhhdCBrZWluZSBGcmF1ClJlaXp3YWVzY2hlIG1pdGdlYnJhY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YmVyaWNodCBJIChXdXJ6ZWwsIDE3LiBEZXogMjAwMCwgMjI6MDc6MjApOgp+IyEgcm49TW9udGFudXMgcnQ9OTc3MDg3MDU4IHJnPXBhcnR5Cn4jISB0aWQ9OTc3MDg3MDU4CmRhcyBoZWlzc3QgbmljaHQgYWx0LiBtYW4gbmVubnQgc293YXMgImVyd2FjaHNlbiIuCgp3dXJ6ZWwgKHVyYWx0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YmVyaWNodCBJIChSaWt1cywgMTcuIERleiAyMDAwLCAyMjoyNjo1OCk6Cn4jISBybj1Nb250YW51cyBydD05NzcwODcwNTggcmc9cGFydHkKfiMhIHRpZD05NzcwODcwNTgKSG0sIGljaCBiaW4gendhciBrZWluZSBGcmF1LCBoYXR0ZSBhYmVyIFJlaXR6d2Flc2NoZSBtaXQsIE1JVCB0IDopCgpSaWt1cywgUmVpdHogaGVpc3NlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHliZXJpY2h0IEkgKFJhbnRhbnBsYW4sIDIyLiBEZXogMjAwMCwgMTk6NDM6MDYpOgp+IyEgcm49UmlrdXMgcnQ9OTc3MDg4NDE4IHJnPXBhcnR5Cn4jISB0aWQ9OTc3MDg3MDU4ClJpaWlpaWlpaWt1dXV1dXV1dXV1dXMsIAp3aWVzbyBoYXN0IER1IG1pciBkaWUgbmljaHQgZ2V6ZWlndC4uLipzYWJiZXIqIAoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHliZXJpY2h0IEkgKFJhbnRhbnBsYW4sIDIzLiBEZXogMjAwMCwgMTU6NTY6NDApOgp+IyEgcm49TW9udGFudXMgcnQ9OTc3MDg3MDU4IHJnPXBhcnR5Cn4jISB0aWQ9OTc3MDg3MDU4CllvLAoKbWlyIGlzdCBkYSBub2NoIGRlciB1bHRpbWF0aXZlIFB1bmt0IGVpbmdlZmFsbGVuLgoKRGFzIHdpcmtsaWNoIGVyc2NocmVja2VuZGUsIGVybnN0enVuZWhtZW5kZSBaZWljaGVuLCBkYXNzIGljaCBhbHQgZ2V3b3JkZSBiaW4KaXN0IHVud2VpZ2VybGljaDoKCkVyIGhhdCBkZW4gUGFydHliZWl0cmFnIGJlemFobHQgISEhCgpHcnVzcwoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSTC1RdWVzdCA/Pz8gKEZhbnRhZ2hpcm8sIDI1LiBEZXogMjAwMCwgMDQ6NTE6MjQpOgpUYWdjaGVuICg9IAoKQWxzbywgZGEgZXMgamEgYW5zY2hlaW5lbmQga2VpbmUgb2ZmaXppZWxsZSBSTC1RdWVzdCBnYWIsIHd1cmRlIGFuc2NoZWluZW5kIApkb2NoIGhpbnRlcmhhZWx0aWdlciBXZWlzZSBlaW5lIGtsZWluZSAob2RlciBkb2NoIGdyb3NzZT8pIFF1ZXN0IHZvcmJlcmVpdGV0LiAKTnVuamEsIGVzIGdpbmcgYWxzbyBhbSBTb25udGFnIE5hY2htaXR0YWcgbG9zIGFscyBzaWNoIGFsbGUgc28gbGFuZ3NhbSBhYmVyIApzaWNoZXIgdW5kIHZpZWxsZWljaHQgYXVjaCBtYW5jaGUgc2Nod2VyZW4gSGVyemVucyBhdWYgZGVuIEhlaW13ZWcgbWFjaHRlbi4gCk51biwgTXlzdGl4byB1bmQgaWNoIGxpZWZlbiBnZXJhZGUgenUgbWVpbmVtIEF1dG8sIGFscyBkZXIgbGV0emUgbm9jaAphbndlc2VuZGUKUGFydHlnYXN0IGFuIHVucyB2b3JiZWkgZnVoci4gCk9rZXksIGVzIHNvbGx0ZSBhbHNvIGxvc2dlaGVuLiAKU293ZWl0IHNvIGd1dCwgZGFzIEF1dG8gc3ByYW5nIGF1c25haG1zd2Vpc2UgbWFsIGF1ZiBhbmhpZWIgYW4gKmZyZXUqLiBFaW4gCmVyc3RlcyBFcmZvbGdzZXJsZWJuaXMgYmVpIGRlciBRdWVzdC4gR2FuZyBlaW5sZWdlbiBrbGFwcHRlIGF1Y2ggZ2FueiBndXQsIApkb2NoIGRhbm4sIGVpbmUgYm9lc2UgVWViZXJyYXNjaHVuZy4gCkRpZSBSZWlmZW4gZHJlaHRlbiBkdXJjaC4gCkFsc28sIGVyc3RlciB2ZXJzdWNoIGRpZSBRdWVzdDogJ1dpZSBrb21tZW4gd2lyIHZvbiBkaWVzZW0gUGFya3BsYXR6IHdlZz8nIAp6dSBsb2VzZW4gYmVzdGFuZCBhbHNvIGRhcmluOiBNeXN0aXhvIG11c3N0ZSBhdXNzdGVpZ2VuIHVuZCB2ZXJzdWNoZW4genUKc2NoaWViZW4uIEVpbiBwYWFyIFplbnRpbWV0ZXIgZ2luZyBkYXMgZ2FuemUgc29nYXIgZ3V0LiAKTmFjaCBlaW4gcGFhciBlcmZvbGdsb3NlbiBWZXJzdWNoZW4gZGFzIEF1dG8gdm9tIFBhcmtwbGF0eiBydW50ZXIgenUKZmFocmVuL3NjaGllYmVuIGdlbGFuZyBlcyB1bnMgZGFubiB3ZW5pZ3N0ZW5zIGRhcyBhdXRvIElOIEZhaHJ0cmljaHR1bmcgenUgCmJla29tbWVuLiAKRG9jaCBkYW5uIGRhcyBib2VzZSBFcndhY2hlbjogSmV0enQgc3RlY2tlbiB3aXIgdG90YWwgZmVzdCwgYWxsZSA0IFJlaWZlbiBpbSAKTWF0c2NoIGVpbmdlc3Vua2VuLCBrZWluIFplbnRpbWV0ZXIgdm9yd2FlcnRzIG5vY2ggUnVlY2t3YWVydHMgd2FyIG1vZWdsaWNoLiAKRGllIGdyb3NzZSBQcmVpc2ZyYWdlOiBXYXMgbnVuID8/PyAKR3V0IGRlciBncm9zc2UgSGlsZmVydWYgYXVmIGRlbiBFYmVuZW4gKHdvenUgZWluIEZ1bmtnZXJhZXQgZG9jaCBndXQgaXN0KS4gCkRvY2ggZGEga29ubnRlIHVucyBuaWVtYW5kIGhlbGZlbi4gCldpZWRlciBncm9zc2UgUmF0bG9zaWdrZWl0IHp3aXNjaGVuIHVucyBiZWlkZW4uIApJbnp3aXNjaGVuIHdhcmVuIHVuZ2VmYWVociAxLDUgU3R1bmRlbiB2ZXJnYW5nZW4sIHVucyBmcm9yZW4gZGllIFplaGVuIGFiIHVuZCAKZXMgd2FyIFNVUEVSS0FMVC4gCk1pdGxlcndlaWxlIHZlcm11dGV0ZW4gd2lyIHNvZ2FyIGVpbmVuIGtsZWluZW4gQnVnIGluIGRlciBRdWVzdC4gCkFsc286IEhhbmR5IHp1ZWNrZW4gdW5kICdtcnVmZSBoaWxmZSwgd2lyIHN0ZWNrZW4gaW0gU2NobGFtbSBmZXN0IScgCkp1YmVsLCBGcmV1IGVzIGthbSBlaW5lIEFudHdvcnQhIApFaW4gZ2VsYmVyIEVuZ2VsIHRlaWx0IERpciBtaXQ6IFdvIHNpbmQgU2llIGRlbm4sIHdhcyBnZW5hdSBpc3QgcGFzc2llcnQuIApEdSB0ZWlsc3QgZWluZW0gZ2VsYmVtIEVuZ2VsIG1pdDogV2lyIHNpbmQgYXVmIGVpbmVtIFBhcmtwbGF0eiBuYWVoZSBkZW0gClNjaHVsbGFuZGhlaW0gaW4gV2ludGVyYnVyZy4gCkVpbiBnZWxiZXIgRW5nZWwgdGVpbHQgRGlyIG1pdDogVW5kIHdhcyBnZW5hdSBpc3QgcGFzc2llcnQgPyAKRHUgdGVpbHN0IGVpbmVtIGdlbGJlbSBFbmdlbCBtaXQ6IERhcyBBdXRvIHN0ZWNrdCBpbSBTY2hsYW1tIGZlc3QsIHdpciBrb21tZW4Kd2VkZXIgdm9yIG5vY2ggenVydWVjaywgd2lyIGJyYXVjaGVuIHdlbiwgZGVyIHVucyB6dXJ1ZWNrIGF1ZiBkaWUgU3RyYXNzZQp6aWVoZW4ga2Fubi4gCkVpbiBnZWxiZXIgRW5nZWwgdGVpbHQgRGlyIG1pdDogT0ssIGluIGNhLiAzMCBNaW51dGVuIGlzdCBkYW5uIGplbWFuZCBiZWkKSWhuZW4uIApHdXQsIG51biBoaWVzcyBlcyBhbHNvIGFid2FydGVuIHVuZCBUZWUgdHJpbmtlbi4gQWNoIHdpZSBzY2hvZW4gd2FlcmUgc28gZWluIApoZWlzc2VyIFRlZSBpbiBkaWVzZW0gTW9tZW50IGdld2VzZW4gKnNldWZ6Ki4gCk5hY2ggZWluZXIga25hcHBlbiBTdHVuZGUgc2FoZW4gd2lyIGRhbm4gdW5zZXJlIFJldHR1bmcuIEVpbiBncm9zc2VyCkFic2NobGVwcHdhZ2VuIGthbSBkZW4gc2NobWFsZW4gRmVsZHdlZyBsYW5nZ2VmYWhyZW4uIAoqKiogTHVmdHNwcnVlbmdlLCBGcmV1ZGVudGFlbnplICoqKiAKRGVyIEZhaHJlciBkZXMgQWJzY2hsZXBwd2FnZW5zIHNhaCBzaWNoIGFsc28gZGVuIFNjaGxhbW1hc3NlbCBhbiB1bmQgbWVpbnRlOgpPa2V5LCBrZWluIFByb2JsZW0sIGljaCBtdXNzIG51ciBlYmVuIHNjaG5lbGwgd2VuZGVuLiAKR2VzYWd0IGdldGFuLCBkZXIgQWJzY2hsZXBwd2FnZW4gaGF0IGdld2VuZGV0LCBNZWluIEF1dG8gd3VyZGUgYW4gZGFzClN0YWhsc2VpbCAiYW5nZWJ1bmRlbiIgdW5kIGxhbmdzYW0gYWJlciBzZWhyIHNpY2hlciwgWmVudGltZXRlciBmdWVyClplbnRpbWV0ZXIgYXVmIGZlc3RlbiBCb2RlbiBnZXpvZ2VuLiAKTmFjaCBlaW4gYmlzc2NoZW4gUXVhdHNjaGVuIG1pdCB1bnNlcmVtIEdlbGJlbSBFbmdlbCBrb25udGVuIHdpciB1bnMgZGFubiBhdWNoCmVuZGxpY2ggYXVmIGRlbiBIZWltd2VnIG1hY2hlbi4gCgpCZWkgZGVyIGRhbm4gRXJmb2xncmVpY2hlbiBBYmZhaHJ0IHNhc3MgZGFubiBlaW4gTXlzdGl4byBkZW0gc2VpbiBsZXR6dGVyCkdsdWVod2VpbiBpaG0gaGV1dGUgbm9jaCBuYWNoaGFlbmd0IG5lYmVuIG1pciBhdWYgZGVtIEJlaWZhaHJlciBTaXR6LiBFciBzYWgKZGEgbGVpZGVyIG5pY2h0IG1laHIgZ2FueiBmcmlzY2ggYXVzLiBFciB3dXJkZSBudW5tYWwgdm9uIGVpbiBwYWFyClNjaGxhbW1zcHJpdHplcm4gbWl0IGRlbSBrcmFjaGVuIGJyZWNoZW5kZXIgS25vY2hlbiBnZXRyb2ZmZW4uIApOdW4sIHdpZSBkYXMgbnVubWFsIGJlaSBlaW5lbSBvcmRlbnRsaWNoZW4gS2FtcGYgc28gaXN0IGhhdHRlIE15c3RpeG8gYXVjaCBlaW4KcGFhciBMZWJlbnNwdW5rdGUgdmVybG9yZW4uIApHbHVlY2tsaWNoZXJ3ZWlzZSBmYW5kZW4gd2lyIHNjaG9uIHdlbmlnZSBLaWxvbWV0ZXIgZGllIHdpciBhdWYgZGVyIEF1dG9iYWhuCndhcmVuIGVpbmUgIlRhbmtlIiBhbiBkZXIgd2lyIHVucyBlcnN0bWFsIHN0YWVya2VuIGtvbm50ZW4uIAoKRmFudGFnaGlybyAtIGJlc3NlciBzcGFldCBhbHMgbmllIHVuZCBudW4gZG9jaCBhbGxlaW5lIGdlc2NocmllYmVuLiAKCnAucy4gTXlzdGl4bywgd2VubiBkdSBub2NoIHdhcyB6dSBzYWdlbiBoYXN0OiBUdXMgaGllciAqRyogCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkwtUXVlc3QgPz8/IChJbWRhLCAyNy4gRGV6IDIwMDAsIDE2OjEzOjA2KToKfiMhIHJuPUZhbnRhZ2hpcm8gcnQ9OTc3NzE2Mjg0IHJnPXBhcnR5Cn4jISB0aWQ9OTc3NzE2Mjg0Ck51LCBkYXp1IGZhZWxsdCBtaXIgbnVyIGRpZSBHZXNjaGljaHRlIG1pdCBtZWluZW0gU3ByaXR0YW5rIGVpbiwgZGVyIG5hY2gKemFoZW4gQXVzZWluYW5kZXJzZXR6dW5nZW4gbWl0IGRlbSBGZWxkd2VnIGRlbiBrdWVyemVyZW4gZ2V6b2dlbiBoYXQuIE5hY2hkZW0Kc2ljaCBkaWUgZ2VsYmVuIEVuZ2VsIGFscyB1bmZhZWhpZyBlcndpZXNlbiBoYXR0ZSBiaW5uIGljaCBkaWUgNDAwa20gZGFubiBtaXQKMiBwYWtldGVuIFdyaWdsZXlzIFNwZWFybWludCAoc2VsYnN0Z2VrYXV0KSBpbSBUYW5nZWZhaHJlbi4gSHViYmFCdWJiYSBpcwpnYWVuemxpY2ggdW5nZWVpZ25ldCwgd2VpbCBuaWNodCBrcmFmdHN0b2ZmZXN0LgpKYWEsIHdlbm5pY2ggZ2V3dXNzdCBoYWV0dCwgZGFzIGRhcyBuZSBRdWVzdCBpcyA7KQpJbWRhLiBtaXQgaW1tZXJub2NoIE11c2tlbGthdGVyIGltIEtpZWZlciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHk/IChLYXJ0b2ZmZWwsIDIzLiBKYW4gMjAwMSwgMjI6NTU6MDkpOgoKV2Fubj8KV28/CgonVG9mZmVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcnVlaGphaHJzcGFydHk/IChWaXBlciwgMzAuIEphbiAyMDAxLCAxNTo0ODoyMik6Ckh1aHUsCgpoYXQgamVtYW5kIGVpbmUgQWhudW5nIG9iIGJlcmVpdHMgZnVlciBkaWVzZXMgRnJ1ZWhqYXIgaXJnZW5kd28gZWluZSBQYXJ0eSBpbgpQbGFudW5nIG9kZXIgc29nYXIgc2Nob24gaW4gQXJiZWl0IGlzdD8KCkljaCBkZW5rZSBkYSBhbiBkaWUgVmVyc2FtbWx1bmcgZGVzIE1HLVZlcmVpbnMsIGRpZSBqYSBiZWkgZGllc2VyIFBhcnR5CnN0YXR0ZmluZGVuIHNvbGx0ZSwgdW5kIGRhIGJyYXVjaGVuIHdpciBldHdhcyBWb3JiZXJlaXR1bmdzemVpdC4KClRzY2hhdQoKVmlwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcnVlaGphaHJzcGFydHk/IChHb3JvZywgMzAuIEphbiAyMDAxLCAxODozMzozNik6Cn4jISBybj1WaXBlciBydD05ODA4NjYxMDIgcmc9cGFydHkKfiMhIHRpZD05ODA4NjYxMDIKV2VubiBpY2ggcmVjaHQgaW5mb3JtaWVydCBiaW4sIGthbm5zdCBEdSBEaWNoIGJlaSBCcmFuZGlyIG1lbGRlbi4gT2VydGxpY2hrZWl0CmZ1ZXIgZGllIFBhcnR5IHNvd2llIFRlcm1pbiAoYml0dGUgbmNpaHQgZnJhZ2VuIGhhYiBpY2ggbWlyIG5pY2h0IGdlbWVya3QpCnN0ZWhlbiBmZXN0LiBVbmQgd2VuIHd1bmRlcnRzIGVzIHdpcmQgTXVlbnN0ZXIgKFJlZ2VuIGdpYmJldCBxdWFzaSB1bXNvbnN0KS4gCkdvcm9nIGt1cnoga25hcHAgdW5kIGdhbnogc2ljaGVyIGtlaW4gR08gT2RlciBhdWNoIG51ciBPIChob2ZmZW50bGljaCkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZydWVoamFocnNwYXJ0eT8gKE9iaSwgIDMuIEZlYiAyMDAxLCAxNDowMjo1NCk6Cn4jISBybj1Hb3JvZyBydD05ODA4NzYwMTYgcmc9cGFydHkKfiMhIHRpZD05ODA4NjYxMDIKV2llIG1pciBCcmFuZGlyIGViZW4gbWl0dGVpbHRlLCBzdGVodCBkYXMgUGFydHlicmV0dCBqZXR6dCBzY2hvbm1hbCwgZGFtaXQKc2ljaCBuaWNodCBhbGxlIGZyYWdlbiBPQiB1bmQgV0FOTiBlcyBlaW5lIFBhcnR5IGdpYnQuCkVzIGZlaGxlbiB6d2FyIG5vY2ggdmllbGUgSW5mb3JtYXRpb25lbiAod2lyIHNhbW1lbG4gbm9jaCkgYWJlciBkb3J0IGthbm4gbWFuCmphIHNjaG9ubWFsIGdlbmVyZWxsZXMgSW50ZXJlc3NlIGJla3VuZGVuLCBkYW1pdCB1bnNlcmUgUGxhbnVuZyBlaW5mYWNoZXIKd2lyZC4KCgpOdXIgenVyIEluZm8sIE9iaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJ1ZWhqYWhyc3BhcnR5PyAoV2FyZ29uLCAxNy4gRmViIDIwMDEsIDE1OjE5OjU1KToKfiMhIHJuPU9iaSBydD05ODEyMDUzNzQgcmc9cGFydHkKfiMhIHRpZD05ODA4NjYxMDIKTGF1dCBQYXJ0eWJyZXR0Ogo+IEZlc3Rpdml0YWV0ICA6IEZydWVoamFocnMtUGFydHkgMjAwMQo+IFplaXRyYXVtICAgICA6IDExLiBiaXMgMTMuIE1haWwKClN0ZWh0IHNjaG9uIGZlc3QsIHdlciBkaWVzZSBNYWlscyB2ZXJzY2hpY2t0PyBVbmQgd2Fubj8gVW5kIHdhcyBwYXNzaWVydCwgd2VubgpkaWUgMTMuIE1haWwgbmllIGFua29tbXQ/IERhdWVycGFydHk/CgogIEZyYWdlbiB1ZWJlciBGcmFnZW4uLi4KICAgIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJ1ZWhqYWhyc3BhcnR5PyAoV3VyemVsLCAyMC4gTWFyIDIwMDEsIDIzOjI3OjM2KToKfiMhIHJuPVdhcmdvbiBydD05ODI0MTk1OTUgcmc9cGFydHkKfiMhIHRpZD05ODA4NjYxMDIKZ2lidHMgZWlnZW50bGljaCB3aWVkZXIgZWluIHQtc2hpcnQ/IG1pdCB3ZWxjaGVtIG1vdGl2PwoKd3VyemVsCgpwLnMuIGJpc2hlciBoYWJlbiBzaWNoIG5pY2h0IHdpcmtsaWNoIHZpZWxlIGxldXRlIGFuZ2VtZWxkZXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5LUluZm9zIGRpZSAxLiAoQnJhbmRpciwgMjIuIE1hciAyMDAxLCAwMDo1NDo1MCk6ClNvLCBudW4gd2lyZCBlcyBaZWl0LCBkYXNzIGVzIG5ldWUgUGFydHktSW5mb3MgZ2lidCA6KQoKQWxzbywgZGllIFBhcnR5IGZpbmRldCwgd2llIHNjaG9uIGVyd2FlaG50IHZvbSAxMS41LgpiaXMgenVtIDEzLjUuIGluIE11ZW5zdGVyIHN0YXR0IHVuZCB6d2FyIGltIFN0YWR0dGVpbApHaWV2ZW5iZWNrLgoKRGVyIEFibGF1ZiBpc3QgZGVyIFVlYmxpY2hlOgoKRnJlaXRhZzogQWJlbmRsaWNoZXMgU2FtbWVsbiBpbiBlaW5lciBub2NoIHp1IGJlc3RpbW1lbmRlbgogICAgICAgICBLbmVpcGUgaW4gTXVlbnN0ZXIuCiAgICAgICAgIEVpbmUgU3BydGhhbGxlIHN0ZWh0IGFtIDIyOjAwIFVociB6dXIgVmVyZnVlZ3VuZy4KClNhbXN0YWc6IFRhZ2VzcHJvZ3JhbW0gKHdpcmQgbm9jaCBhdXNnZWFyYmVpdGV0KQogICAgICAgICBldnRsLiBSTC1RdWVzdCwgU2VtaW5hciAod2VubiBJbnRlcmVzc2UpLAogICAgICAgICBQbGFuZXRhcml1bXMvWm9vYmVzdWNoCgpTb25udGFnOiBUcmFkaXRpb25lbGxlcyBCcnVuY2hlbiBiZWltIENoaW5lc2VuLgoKCgpEZXIgUGFydHlyYXVtIHdpcmQgaW4gdW5taXR0ZWxiYXJlciBOYWVoZSB6dXIgU2NobGFmaGFsbGUKbGllZ2VuLCB1bSBkaWUgcGxhdHRmdWVzc2lnZW4gWndlcmdlIHp1IHNjaG9uZW4uIERpcmVrdCBhbgpkZXIgSGFsbGUgYmVmaW5kZW4gc2ljaCBhdWNoIFBvc3QsIFNwYXJrYXNzZSwgRWlzZGllbGUsCkJhZWNrZXIsIHVuZCBkaXZlcnNlIFN1cGVybWFlcmt0ZSwgc28gZGFzcyBkaWUgVmVyc29yZ3VuZwprZWluIFByb2JsZW0gc2VpbiBzb2xsdGUuIERpZSBTdHVkZW50ZW4gdW50ZXIgZXVjaCBzb2xsdGVuCnVuYmVkaW5ndCBpaHJlIFN0dWRpLUF1c3dlaXNlIG1pdGJyaW5nZW4sIGRhIE1TIGVpbmUgClN0dWRlbnRlbnN0YWR0IGlzdCB1bmQgZXMgaGllciBmdWVyIGZhc3QgYWxsZXMgRXJtYWVzc2lndW5nCmdpYnQuCgpLb3N0ZW46CgogIFRlaWxuYW1lIGFuIGRlciBQYXJ0eToKICAyNURNIFZLCiAgMzVETSBBSwogIFVudGVyYnJpbmd1bmcgaW4gZGVyIEhhbGxlIC8gRnJ1ZWhzdHVlY2sgKFNhbXN0YWcpOgogIDEwRE0gKGVnYWwgb2IgMSBvZGVyIDIgTmFlY2h0ZSkKCkVpbnphaGx1bmdlbiBhbjoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSmFuIER1ZWJiZXJzCktvbnRvbnVtbWVyOiAgMTEwIDE2OCA1OTgKQmFua2xlaXR6YWhsOiA0MDAgNTAxIDUwClNwYXJrYXNzZSBNdWVuc3RlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpVTkJFRElOR1QgREVOIE1VRC1OQU1FTiBNSVQgQU5HRUJFTiEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCldlaXRlcmVzIGZvbGd0IG5vY2gsIHNvYmFsZCBlcyBmZXN0c3RlaHQgOi0pCgpTb2xsdGUgSW50ZXJlc3NlIGFuIFQtU2hpcnRzLCBUYXNzZW4sIFNsaXBzIGV0Yy4gYmVzdGVoZW4sCmJpbiBpY2ggZ2VybmUgYmVyZWl0IG1pY2ggbWFsIHp1IGVya3VuZGlnZW4sIHdhcyBkaWUgRmVydGlndW5nCnNvIGtvc3RlbiB3dWVyZGUsIGFiZXIgYXVzIGRlciBQbGFudW5nL01vdGl2d2FobCB3ZXJkZQppY2ggbWljaCByYXVzaGFsdGVuLgoKU28sIGljaCBob2ZmZSBtYWwsIGRhc3MgQ2F0dHkgZGFzIFBhcnR5YnJldHQgenVtaW5kZXN0IG1pdApkaWVzZW4gbmV1ZW4gRGF0ZW4gZXJ3ZWl0ZXJ0ICptaXQgWmF1bnBmYWhsIHdpbmsqIHVuZCBkYXMgCnNpY2ggbm9jaCBmbGVpc3NpZyBMZXV0ZSBhbm1lbGRlbi4gRGVubiBzb2xsdGVuIGVzIHp1IHdlbmlnCndlcmRlbiwgaGFiIGljaCBlaW4gZWNodGVzIFByb2JsZW0sIGFsc28gc2Nob2VuIFdlcmJ1bmcgbWFjaGVuIDopCgpCaXMgRGVubmUsIApCcmFuZGlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHktSW5mb3MgZGllIDEuIChXdXJ6ZWwsIDIyLiBNYXIgMjAwMSwgMDA6NTk6NDcpOgp+IyEgcm49QnJhbmRpciBydD05ODUyMTg4OTAgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKbmljaHQgenUgdmVyZ2Vzc2VuOgplcyB3aXJkIHdpZWRlciBkaWUgamFlaHJsaWNoZSBtaXRnbGllZGVydmVyc2FtbWx1bmcgZGVzIG1nLXZlcmVpbnMKc3RhdHRmaW5kZW4uIGRldGFpbHMgZGF6dSBzcGFldGVyLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHktSW5mb3MgZGllIDEuIChGb29iYXIsIDIyLiBNYXIgMjAwMSwgMTM6MzA6MDIpOgp+IyEgcm49QnJhbmRpciBydD05ODUyMTg4OTAgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKVGhlbWEgWm9vYmVzdWNoICh3aWxsIGRhIHVlYmVyaGF1cHQgZWluZXIgaGluPyk6IERlciBpc3QgaGV1dGUgZnVlciBkaWUKT2VmZmVudGxpY2hrZWl0IHdlZ2VuIG1vZWdsaWNoZXIgTUtTLUdlZmFlaHJkdW5nIGdlc2NobG9zc2VuIHdvcmRlbi4gRGEgd29obAprZWluZXIgQWJzZWhlbiBrYW5uIHdpZSBlcyBkaWVzYmV6dWVnbGljaCBpbiBlaW4gcGFhciBXb2NoZW4gYXVzc2llaHQgZmluZGV0CmRlciB3b2hsICJ1bnRlciBWb3JiZWhhbHQiIHN0YXR0LgoKR3J1c3MsCgogICAgIEZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKFpvb2ssIDIyLiBNYXIgMjAwMSwgMTc6Mzk6NDUpOgp+IyEgcm49Rm9vYmFyIHJ0PTk4NTI2NDIwMiByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApXb2JlaSBqYSBub2NoIGRpZSBGcmFnZSBtaXQgZGVtIFNlbWluYXIgb2ZmZW4gd2FlcmUuLi4gSmVtYW5kIEx1c3QsCm5lbiBWb3J0cmFnIHp1IGhhbHRlbj8gQnp3LiBnaWJ0IGVzIFNlbWluYXJ0aGVtZW4sIGRpZSBpcmdlbmR3aWUKbWFsIGJlYXJiZWl0ZXQgd2VyZGVuIHNvbGxlbj8/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHktSW5mb3MgZGllIDEuIChab29rLCAyMi4gTWFyIDIwMDEsIDE3OjQxOjU3KToKfiMhIHJuPVpvb2sgcnQ9OTg1Mjc5MTg1IHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCkVpbiBlcnN0ZXIgVm9yc2NobGFnIHdhZXJlOiAiRGFzIFNraWxsLVN5c3RlbSBpbSBNRyIuIEplbWFuZCBMdXN0LApkZW4gVm9ydHJhZyB6dSB1ZWJlcm5laG1lbj8gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHktSW5mb3MgZGllIDEuIChBbWFyeWxsaXMsIDIyLiBNYXIgMjAwMSwgMTc6NDQ6MTQpOgp+IyEgcm49Wm9vayBydD05ODUyNzkzMTcgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKaW1tZXIgZGVyLCBkZXIgZnJhZ3Q/IDopCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eS1JbmZvcyBkaWUgMS4gKFpvb2ssIDIyLiBNYXIgMjAwMSwgMTc6NTU6NTkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTk4NTI3OTQ1NCByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApIbW0uLi4gZGFzIHdhZXJlIGVoZXIgdW5ndWVuc3RpZy4gSWNoIGtvbW1lIGVyc3QgYW0gU2Ftc3RhZyB1bmQgZGllIFVocnplaXQKd2Vpc3MgaWNoIG5vY2ggbmljaHQgc28gZ2VuYXUuIDopCgpab29rIGhhdCBhdXNzZXJkZW0gbm9jaCB3YXMgYW5kZXJlcyB2b3J6dWJlcmVpdGVuIGFscyBuZW4gVm9ydHJhZy4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhcnR5LUluZm9zIGRpZSAxLiAoU3Ryb2hhbG0sIDIyLiBNYXIgMjAwMSwgMTk6NTg6MTUpOgp+IyEgcm49Wm9vayBydD05ODUyODAxNTkgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKVWksIG1hY2hzdGUgQm93bGUsIFpvb2s/IDspCgpIYWVsbWNoZW4sIGxlY2h6ZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEJhbWJpLCAyMi4gTWFyIDIwMDEsIDIwOjE4OjI5KToKfiMhIHJuPVpvb2sgcnQ9OTg1Mjc5MTg1IHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCkljaCB3YWVyIGFuIGVpbmVyIERpc2t1c3Npb24genVtIFRoZW1hICJxdWVzdGVuIGZ1ZXIgYW5kZXJlIiBpbnRlcmVzc2llcnQsCmFiZXIgdm9ydHJhZ2VuIGthbm4gaWNoIGRhIG5lZCB2aWVsLCBhdXNzZXIsIGRhc3MgZXMgZGllIEFyYmVpdHNtb3JhbCBlaW5pZ2VyCk1hZ2llciB1bnRlcmdyYWVidCwgd2VubiBpaHJlIFF1ZXN0cyBnZXNrcmlwdGV0IHdlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5LUluZm9zIGRpZSAxLiAoRm9vYmFyLCAyMi4gTWFyIDIwMDEsIDIzOjI4OjA2KToKfiMhIHJuPVpvb2sgcnQ9OTg1Mjc5MzE3IHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCk1vaW4uCgpJY2ggcGVyc29lbmxpY2ggd3VlcmRlIG1pY2ggYXVjaCBmdWVyIEdpbGRlbnByb2dyYW1taWVydW5nIGludGVyZXNzaWVyZW4sCnZpZWxsZWljaHQgd3VlcmRlIGRhcyBqYSBqZW1hbmQgdWViZXJuZWhtZW4uCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5LUluZm9zIGRpZSAxLiAoQW5hY3Jpb24sIDIyLiBNYXIgMjAwMSwgMjM6MzM6MDcpOgp+IyEgcm49Rm9vYmFyIHJ0PTk4NTMwMDA4NiByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApVbmQgbmUgWnVzYW1tZW5mYXNzdW5nIGRlcyBWb3J0cmFncyBtaXQgYWxsZW4gRm9saWVuIGJpdHRlIGFuIG1pY2ggbWFpbGVuLgoKQW5hYyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhcnR5LUluZm9zIGRpZSAxLiAoTm9ubmUsIDIzLiBNYXIgMjAwMSwgMDk6MDI6MDkpOgp+IyEgcm49QW5hY3Jpb24gcnQ9OTg1MzAwMzg3IHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCldpZSB3YWVyZSBlcyBtaXQgZWluZW0gVm9ydHJhZyB1ZWJlciB2aXJ0dWFsIGNvbXBpbGVyPyBCZWlzcGllbGUgZ2lidHMgamEsCnNpbmQgbnVyIG1laXN0IHNjaGxlY2h0IGRva3VtZW50aWVydC4gQWJlciBtYWwgZGFzIEdydW5ka29uemVwdCBlcmtsYWVydApiZWtvbW1lbiwgd2FlcmUgbmljaHQgc2NobGVjaHQgKGM6CgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5LUluZm9zIGRpZSAxLiAoRm9vYmFyLCAyMy4gTWFyIDIwMDEsIDExOjUyOjUzKToKfiMhIHJuPU5vbm5lIHJ0PTk4NTMzNDUyOSByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApNb2luLgoKU2luZCBkaWVzZSBWaXJ0dWFsQ29tcGlsZXItUmFldW1lIG5pY2h0IGRpZSwgZGllIGFsbGUgZ2xlaWNoIGF1c3NlaGVuIHVuZApoYXVwdHNhZWNobGljaCBkYXp1IGRpZW5lbiwgaXJnZW5kd2VsY2hlIExhYnMgYW56dXNjaGxpZXNzZW4/CgpEYW5uIGJpbiBpY2ggZGFnZWdlbi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHktSW5mb3MgZGllIDEuIChPcmt0b2V0ZXIsIDIzLiBNYXIgMjAwMSwgMTI6MTI6MjEpOgp+IyEgcm49Rm9vYmFyIHJ0PTk4NTM0NDc3MyByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApTZWggaWNoIGdlbmF1c28gd2llIEZvb2Jhci4gQ29weSZQYXN0ZSB1bmQgYXVjaCBWaXJ0dWFsQ29tcGlsZXItUmFldW1lIHNpbmQKb3V0LgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBhcnR5LUluZm9zIGRpZSAxLiAoWm9vaywgMjMuIE1hciAyMDAxLCAxMjoxNTowMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTg1MzQ1OTQxIHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCk51ciBhbHMgRXJnYWVuenVuZzogRGVuIFZpcnR1YWwgQ29tcGlsZXIga2FubiBtYW4gZnVlciBlaW5lIFZpZWx6YWhsCm5ldHRlciBEaW5nZXIgdmVyd2VuZGVuIHVuZCBkYXMgRXJzdGVsbGVuIGltbWVyIGdsZWljaGVyIFJhZXVtZSBpc3QKbnVyIGVpbmUgQW53ZW5kdW5nIGRhdm9uLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEFtYXJ5bGxpcywgMjMuIE1hciAyMDAxLCAxMjoxNjowMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTg1MzQ1OTQxIHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCmFlaCwgaWhyIHdpc3N0IHNjaG9uLCBkYXNzIG1hbiBuZW4gVkMgYXVjaCBub2NoIGZ1ZXIgYW5kZXJlIFNhY2hlbiB2ZXJ3ZW5kZW4Ka2FubiwgYWxzIG51ciBkYXMgRXJzdGVsbGVyIGR1bW1lciwgc3R1cGlkZSBnbGVpY2ggYmVzY2hyaWViZW5lcgpMYWJ5cmludGhyYWV1bWU/CgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFydHktSW5mb3MgZGllIDEuIChGb29iYXIsIDIzLiBNYXIgMjAwMSwgMTI6MTY6MTYpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTk4NTM0NjE2MiByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApKZXR6dCBqYS4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFBhcnR5LUluZm9zIGRpZSAxLiAoTm9ubmUsIDIzLiBNYXIgMjAwMSwgMTI6Mzk6NTcpOgp+IyEgcm49Rm9vYmFyIHJ0PTk4NTM0NjE3NiByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApadW0gQmVpc3BpZWwsIHVtIHdpY2h0aWdlIFF1ZXN0cmFldW1lIGZ1ZXIgamVkZW4gU3BpZWxlciBlaW56ZWxuIHp1IGNsb25lbi4KU2NoYXUgRGlyIG1hbCBkYXMgV2Vpc2VuaGF1cyBhbi4gQWxsZXMgVkMsIG9kZXIgc28gU2FjaGVuIHdpZSBkZXIgV3VlcmZlbCBpbgpkZXIgS3Jpc3RhbGxrdWdlbHF1ZXN0LiBBYmVyIGdsZWljaGUgUmFldW1lIGNsb25lbiBpc3Qgb3V0LCBkYSBnZWJlIGljaCBEaXIKcmVjaHQuIEFsbGVyZGluZ3MgemVpZ3QgRGVpbiByZXBseSBhdWNoLCB3aWUgbm9ldGlnIGRhIG1hbCBlaW4gU2VtaW5hciB3YWVyZQooYzsKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBhcnR5LUluZm9zIGRpZSAxLiAoRm9vYmFyLCAyMy4gTWFyIDIwMDEsIDEyOjUzOjUzKToKfiMhIHJuPU5vbm5lIHJ0PTk4NTM0NzU5NyByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApIdWh1LgoKTWlyIHd1cmRlbiBqZXR6dCB0YXRzYWVjaGxpY2ggc2Nob24gbWVocmVyZSBzaW5udm9sbGUgQW53ZW5kdW5nc21vZWdsaWNoa2VpdGVuCmZ1ZXIgZGVuIFZDIGdlbmFubnQsIG1pdHRsZXJ3ZWlsZSBnbGF1YmUgaWNoIGFsc28gZGFzcyBlciBzaW5udm9sbCBlaW5nZXNldHp0CndlcmRlbiBrYW5uLgoKQWJlciBnZXJhZGUgZGVyIFd1ZXJmZWwgaW4gZGVyIEtyaXN0YWxsa3VnZWwtUXVlc3QgaXN0IGZ1ZXIgbWljaCBkYXMgYWJzb2x1dGUKTmVnYXRpdi1CZWlzcGllbC4uLgoKSWNoIHNjaGFldHplIEVpc3d1ZXN0ZSwgVHVuZHJhLCBkYXMgRWlzbGFiIGluICJUaG9ycyBIYW1tZXIiIHVzdy4gc2luZCBhdWNoClZDLVJhZXVtZSB1bmQgdm9uIGRpZXNlbSBNdWVsbCBicmF1Y2hlbiB3aXIgbmljaHQgbWVoci4KCldlbm4gZGllc2UgU2FjaGVuIG51ciBnZXNjaHJpZWJlbiB3dXJkZW4sIHdlaWwga2VpbmVyIGthcGllcnQgaGF0LCB3aWUgbWFuCnNpbm52b2xsZSBEaW5nZSBkYW1pdCBiYXV0LCBkYW5uIGthbm4gaWNoIHNvIGVpbiBTZW1pbmFyIGFsbGVyZGluZ3MgbnVyCmJlZ3J1ZXNzZW4uLi4KCkdydXNzLAoKICAgICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEh1bW5pLCAyMy4gTWFyIDIwMDEsIDEzOjQ1OjExKToKfiMhIHJuPUZvb2JhciBydD05ODUzNDg0MzMgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKSWNoIGJpbiBhdWNoIGRhZnVlci4gSWNoIGhhYiBtaXQgZGVtIFZDIGJpc2hlciBuaXggZ2VtYWNodCB1bmQgd3VlcmRlIG1pY2gKZnJldWVuLCBzaW5udm9sbGUgQW53ZW5kdW5nZW4gZGFmdWVyIHp1IHNlaGVuLgoKQ1UgSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEhpZ2h0LCAyMy4gTWFyIDIwMDEsIDEzOjUyOjA1KToKfiMhIHJuPU5vbm5lIHJ0PTk4NTM0NzU5NyByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MAppbnRlcmVzc2UgaGFldHQgaWNoIGRhIGF1Y2ggZHJhbiAubykgYWxsZXJkaW5ncyBkZW5rZSBpY2ggZGFzIGZvb2JhcnMgcmVwbGF5Cm5pY2h0IGRpZSBkcmluZ2xpY2hrZWl0IGVpbmVzIHNlbWluYXJzIHplaWd0IGRhIGVyIGphIGtlaW4gbWFnIGlzIChvZGVyIGRvY2gKKmtyYXR6KSB1bmQgZnVlciBzcGllbGVyIGlzIGVzIHdpY2h0aWcgZGFzIGVzIGxhZXVmdCB1bmQgc3R1cHNlIGRyaW4genUgaG9sZW4KZ2lidCBmdWVyIGRpZSBtYW4gbmV0IGZvcnNjaGVuIG11c3MgKmVnKgoKaGlnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEZvb2JhciwgMjMuIE1hciAyMDAxLCAxMzo1OToyOSk6Cn4jISBybj1IaWdodCBydD05ODUzNTE5MjUgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKTWFsIGt1cnogenVzYW1tZW5mYXNzZW46CgpXaXIgaGFiZW4gZGFubiBqZXR6dCBkaWUgVm9yc2NobGFlZ2U6Ci0gRGFzIFNraWxsc3lzdGVtIGltIE1HCi0gVmlydHVhbCBDb21waWxlcgooLSBHaWxkZW5wcm9ncmFtbWllcnVuZyB3YXIgaW0gU29tbWVyICc5OSBzY2hvbiBkcmFuIHd1cmRlIG1pciBnZWZsdWVzdGVydC4pCgpOdW4gbXVzcyBzaWNoICJudXIiIG5vY2ggSmVtYW5kIGZpbmRlbiwgZGVyIAphKSB6dXIgUGFydHkga29tbXQsIHVuZApiKSBkYXMgbm9ldGlnZSBXaXNzZW4gYmVzaXR6dC4KCk1lbGRldCBFdWNoISBNZWxkZXQgRXVjaCEKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHktSW5mb3MgZGllIDEuIChQYXRyeW4sIDIzLiBNYXIgMjAwMSwgMTQ6NDc6MDcpOgp+IyEgcm49Rm9vYmFyIHJ0PTk4NTM0NDc3MyByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MAphbHNvIGRpZXNlciBrb21tZW50YXIgc3ByaWNodCBlaW5kZXV0aWcgZnVlciBzb2xjaCBlaW5lbiB2b3J0cmFnLAphdWZrbGFlcnVuZyB0dXQgbm90Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEd1YXJkLCAyMy4gTWFyIDIwMDEsIDIxOjM5OjA3KToKfiMhIHJuPVBhdHJ5biBydD05ODUzNTUyMjcgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKQWVoLCBpcyBqYSB0b2xsLCBkYXNzIHNpY2ggc28gdmllbGUgZnVlciBkZW4gVkMgaW50ZXJlc3NpZXJlbiwgYWJlciBqZWRlcyBKYWhyCnVlYmVyIGRhcyBnbGVpY2hlIFRoZW1hIHp1IHJlZmVyaWVyZW4gaXMgaXJnZW5kd2llIG5pY2ggc28gZG9sbGUsIGluCldpbnRlcmJ1cmcgd3VyZGUgdm9uIFBhZHJlaWMgZGF6dSBuYWVtbGljaCBzY2hvbiBzZWhyIHZpZWwgZ2VzYWd0CihiZWlzcGllbHN3ZWlzZSB3dXJkZSBkYXMgVlMgaW4gc2VpbmVyIFByb2dyYW1taWVydW5nIGVya2xhZXJ0IHVuZCBkaWUgV3Vlc3RlCmV0Yy4KRGFzcyBqZXR6dCBkYXMgSW50ZXJlc3NlIHdpZWRlciBnZXdlY2t0IHdpcmQsIGxhZXNzdCBlaWdlbnRsaWNoIG51ciA0IEdydWVuZGUKaW4gRnJhZ2Uga29tbWVuOgoxLiBWZXJnZXNzbGljaGtlaXQgKGRlbiBzY2hsaWVzcyBpY2ggbWFsIGF1cyA6LSkpCjIuIGRpZSBMZXV0LCBkaWUgamV0enQgSW50ZXJlc3NlIGhhYmVuLCB3YXJlbiBuaWNoIGRhIChkZW4gbmVobWVuIHdpciBtYWwgYWxzCkdydW5kbGFnZSkKMy4gRXMgaGF0IHNpY2ggc292aWVsIEdydW5kbGVnZW5kZXMgZ2VhZW5kZXJ0LCBkYXMgbmUgTmV1YXVmbGFnZSBsb2hudCAoa2FubgppY2ggbWlyIG5pY2ggdm9yc3RlbGxlbikKNC4gRGVyIFZvcnRyYWcgd2FyIG5pY2ggZ3V0IChkYXMgc3RpbW10IGdld2lzcyBuaWNodCkKCmFsc28gdm9tIDIuIFB1bmt0IGF1c2dlaGVuZCwgc3RlbGx0IHNpY2ggbmF0dWVybGljaCBkaWUgRnJhZ2UsIHdhcnVtIG5pZW1hbmQKZGVyIG5pY2h0YW53ZXNlbmRlbiBldHdhcyB2b24gZGVtIFZvcnRyYWcgbWl0YmVrb21tZW4gaGF0PyBXZWl0ZXJmdWVocmVuZCAtCndhcnVtIGthbm4gbWFuIGRlbiBWb3J0cmFnIG5pY2h0IGlyZ2VuZHdvIG5hY2hzY2hsYWdlbi9sZXNlbj8gV2FlcmUgZXMgbmljaHQKYXVjaCBpbSBTaW5uZSBkZXMgVm9ydHJhZ2VuZGVuIG9kZXIgZGVzIFZlcmVpbnMsIHdlbm4gc29sY2hlIFNhbW1sdW5nZW4gdm9uCldpc3NlbnN3ZXJ0ZW0gdmVyZnVlZ2JhciBibGVpYnQ/IEtvZW5udGUgbWFuIG5pY2h0IGltIE5ldHogZGF6dSBtYWwgd2FzCm1hY2hlbj8gZGllIFVudGVybGFnZW4genUgZGVuIFZvcnRyYWVnZW4gbGllZ2VuIGRvY2ggbWVpc3Qgc293aWVzbyBpbgpkaWdpdGFsZXIgRm9ybSB2b3IgLi4uCgpOYWphIG51ciBlaW4gcGFhciBHZWRhbmtlbiAuLi4gCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBhcnR5LUluZm9zIGRpZSAxLiAoWm9vaywgMjMuIE1hciAyMDAxLCAyMjoyMjoxNSk6Cn4jISBybj1HdWFyZCBydD05ODUzNzk5NDcgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKTWFsIGVpbiBWb3JzY2hsYWc6IEljaCBmYWVuZGUgZXMgZWluZSBnYW56IGdlbHVuZ2VuZSBTYWNoZSwgd2VubiBWb3J0cmFnZW5kZQppaHJlbiBWb3J0cmFnIGF1Y2ggbWl0IEZvbGllbiBvZGVyIFRleHQgZXJnYWVuemVuLCBzbyBkYXNzIHdpciBkaWUgU2FjaGVuCmRhbm4gYXVmIHVuc2VyZW4gUmVjaG5lciBwYWNrZW4ga29lbm5lbiwgc28gZGFzcyBtYW4gc3BhZXRlciBub2NoIGVpbm1hbApuYWNobGVzZW4ga2Fubiwgd2llIGVzIGRlbm4gbnVuIGdlbmF1IGdpbmcgbWl0IGRlbSBWQyBvZGVyIHdhcyBhdWNoIAppbW1lciBUaGVtYSBkZXMgVm9ydHJhZ2VzIHdhci4KCkRpZSBTYWNoZW4gbGFzc2VuIHNpY2ggZGFubiB1ZWJlciBXV1cgYXVjaCBmdWVyIEF1c3NlbnN0ZWhlbmRlIGJlcmVpdApzdGVsbGVuLgoKWm9vayBydWZ0IHp1IFZvcnRyYWVnZW4gdW5kIHp1IGd1dGVuIEJlZ2xlaXRtYXRlcmlhbGllbiBhdWYuIE9iIGRhcyBuaWNodAp6dXZpZWwgZGVzIEd1dGVuIGlzdD8gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEFuYWNyaW9uLCAyMy4gTWFyIDIwMDEsIDIyOjI0OjMzKToKfiMhIHJuPVpvb2sgcnQ9OTg1MzgyNTM1IHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCkljaCBoYWV0dGUgZGEgbm9jaCBkaWUgCkZvaWxpZW4genUgbWVpbmVtIFZvcnRyYWcgdWViZXIgUHJvcGVydGllcywgd2VubnMgd2VuIGludGVyZXNzaWVydCAuLi4KCkFuYWMqIC0gaGV1dGUgaGlsZnNiZXJlaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEFuYWNyaW9uLCAyMy4gTWFyIDIwMDEsIDIyOjMzOjM0KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTk4NTM4MjY3MyByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApIbW1qYS4gS29tbXQgZGVtbmFlY2hzdCBhbHMgcGRmIC4uCgpEaWUgRmx1dCBkZXIgQW5mcmFnZW4gaGF0IGRhbWl0IGVpbiBFbmRlIGhvZmZlIGljaCA7LSkKCkFuYWMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUGFydHktSW5mb3MgZGllIDEuIChCYW1iaSwgMjUuIE1hciAyMDAxLCAyMzo1MjowMik6Cn4jISBybj1Gb29iYXIgcnQ9OTg1MzUyMzY5IHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCkljaCB3dWVyZCBnZXJuZSBub2NoIGVpbmUgRGlza3Vzc2lvbiB6dW0gVGhlbWEgIldpZSBrYWVtcGZ0ICh1bmQgdGFua3QpIG1hbiBpbQpUZWFtIiBhbnJlZ2VuLiBGYWxscyBkYXMgenUgdW5pbnRlcmVzc2FudCBpc3Qgd3VlcmQgaWNocyBhbHRlcm5hdGl2IGFscwpCZXJpY2h0c3RoZW1hIGZ1ZXIgS2FlbXBmZXIgdm9yc2NobGFnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogUGFydHktSW5mb3MgZGllIDEuIChHb3JvZywgMjYuIE1hciAyMDAxLCAwMDowOTo0NCk6Cn4jISBybj1Hb3JvZyBydD05ODU1NTc3NDQgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKSG1wZiBoYWIgaWNoIG1pY2ggZG9jaCBnbGF0dCB2ZXJ0aXBwdC4KCldhcyBpY2ggc2FnZW4gd29sbHRlIHdhciwgZGEgamVkZXIgc2VpbmUgZWlnZW5lbiBXZWdlIGdlaHQgdW5kIGVpbgpUZWFtYXV0b2ZvbGdlIHp1ciBmYXZvcmlzaWVydGVuIFRhbmtlIG5pY2h0IGltbWVyIGdhbnogdW5nZWZhZWhybGljaCBpc3QgKHouQi4KV2Fyb2spIGlzdCBhdXMgZGVtIFRoZW1hIHdvaGwgbmljaHQgdmllbCByYXVzIHp1aG9sZW4uIAoKR29yb2csIHd1ZXJkZSBnZXJuZSBtYWwgd2FzIGZ1ZXIgU3BpZWxlciBob2VocmVuIHVuZCBuaWNodCBudXIgbWl0IENvZGVzCnZvbGxnZXB1bXQgd2VyZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFBhcnR5LUluZm9zIGRpZSAxLiAoUGF0cnluLCAyNi4gTWFyIDIwMDEsIDAwOjE0OjAyKToKfiMhIHJuPUdvcm9nIHJ0PTk4NTU1ODE4NCByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MAp3YXMgaGVpc3N0IG1pdCBjb2RlIHZvbGxnZXB1bXB0Li4ubGV0enRsaWNoIHdhcmVuIGNvZGUtYmV6b2dlbmUgdm9ydHJhZWdlCm5pZSBmdWVyIHNwaWVsZXIgZ2VkYWNodCB1bmQgbWFuIGJyYXVjaHQgamEgbmljaHQgaGluZ2VoZW4uCmF1c3NjaGxpZXNzZW4ga29ubnRlIG1hbiBhbGxlcmRpbmdzIGF1Y2gga2VpbmVuLCBhbHNvIG11c3MgZGFzIHNjaG9uIGplZGVyCmZ1ZXIgc2ljaCBzZWxic3QgZW50c2NoZWlkZW4uCnNwaWVsZXIgaGFldHRlbiBzaWNoIGplZGVyemVpdCBmdWVyIHZvcnRyYWVnZSBtZWxkZW4ga29lbm5lbiwgc2NoZWluYmFyCm5pY2h0IHBhc3NpZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFBhcnR5LUluZm9zIGRpZSAxLiAoWm9vaywgMjYuIE1hciAyMDAxLCAwMDoxNjoyNSk6Cn4jISBybj1QYXRyeW4gcnQ9OTg1NTU4NDQyIHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCldvYmVpIEx1Z3MgVm9ydHJhZyBuYXR1ZXJsaWNoIGVpbmUga2xhc3NlIFNhY2hlIHdhci4KClpvb2sgcnVmdDogRGEgY2FwbyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBQYXJ0eS1JbmZvcyBkaWUgMS4gKFBhdHJ5biwgMjYuIE1hciAyMDAxLCAwMDoxODoxMSk6Cn4jISBybj1ab29rIHJ0PTk4NTU1ODU4NSByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApvaC4uLmV0d2FzIHNjaGxlY2h0IGF1c2dlZHJ1ZWNrdCwgaWNoIGtvbm50ZSBkYW1hbHMgc293b2hsIGx1ZyBhbHMgYXVjaAphbmFjcmlvbiBmdWVyIHZvcnRyYWVnZSAiYmVnZWlzdGVybiIsIGxldHp0bGljaCB3YXIgZGVyIGVpbmUgZXR3YXMKb2ZmIHRvcGljIHVuZCBkZXIgYW5kZXJlIGZ1ZXIgbWFnaWVyLCBvYndvaGwgYmVpZGVzIHZvbiBzcGllbGVybiBnZWhhbHRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEFuYWNyaW9uLCAyNi4gTWFyIDIwMDEsIDAzOjQxOjA4KToKfiMhIHJuPVBhdHJ5biBydD05ODU1NTg2OTEgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKClZpZWxsZWljaHQgd2FlcmUgZWluIFZvcnRyYWcgdm9uIEx1ZyB6dW0gVGhlbWEgJzEwMDEgUEsgVHJpY2tzJyAoZGllIG5vZXRpZ2VuClRpcHBzIGtyaWVndCBlciBiZXN0aW1tdCB2b24gS2V5IDspIG1laHIgYXVmIFRoZW1lbi1LdXJzIC4uCgphdXNzZXJkZW0gaXN0cyBmdWVyIGdlbmVydnRlIFNwaWVsZXIgb2huZSB6YXB0b29sIGludGVyZXNzYW50ICA7LSkKCkFuYWMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogUGFydHktSW5mb3MgZGllIDEuIChQYW5pYywgMjYuIE1hciAyMDAxLCAxMToyNzozMSk6Cn4jISBybj1CYW1iaSBydD05ODU1NTcxMjIgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKLi4udW0gZGFubiB3ZWdlbiBLTC1DaGFyYWt0ZXIgZWluZSBCaWVyLVNwZXJyZSBmdWVyIGRlbiBSZXN0IGRlcyBUYWdlcyB6dQprYXNzaWVyZW4gPyA6LSkKCkltIEVybnN0LCBkaWVzZSBnYW56ZW4gVGlwcyB1bmQgVHJpY2tzIHdhcyBkYXMgU3BpZWxlbiBhbmdlaHQgZ2lidHMgd29obCBlaGVyCmluIGtsZWluZXJlbiBSdW5kZW4sIG9mZml6aWVsbCBrZW5udCBzb3dhcyBkb2NoIGVoIGtlaW5lciA6LT4KCkRhcmt3aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogUGFydHktSW5mb3MgZGllIDEuIChIaWdodCwgMjYuIE1hciAyMDAxLCAxNzo1OTowMyk6Cn4jISBybj1QYW5pYyBydD05ODU1OTg4NTEgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKZHUgc3ByaWNoc3QgZWluIHdhaHJlcyB3b3J0IGdlbGFzc2VuIGF1cyAKZHUgc3ByaWNoc3QgZWluIHdhaHJlcyB3b3J0IGdlbGFzc2VuIGF1cyAKaGlnaHQgZ3JpbnNlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBQYXJ0eS1JbmZvcyBkaWUgMS4gKEZldWVyd2VociwgMjYuIE1hciAyMDAxLCAyMzoyNDoyNik6Cn4jISBybj1IaWdodCBydD05ODU2MjIzNDMgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKCk9oISBPaCEgSGV5ISAKCkljaCBoYWV0dGUgZ2VybmVuIGVpbmVuIFZvcnRyYWchICJHdXQgd2FydGJhcmVyLCBRdWFsaXRhdGl2IGhvY2h3ZXJ0aWdlciwKc2VsYnN0ZXJrbGFlcmVuZGVyIENvZGUgaW4gNjAgTWludXRlbiEiCgpJY2ggZ2xhdWIgZGFzIHd1ZXJkZSB3YXMgYnJpbmdlbiA6KS4gV2VyIGltbWVyIGRlbiBoYWVsdCwgYmV3YWhyIGRpZSBGb2xpZW4KYXVmIHVuZCBzY2hpY2sgc2llIG1pciEgOikKCiAgICAgMTEyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFBhcnR5LUluZm9zIGRpZSAxLiAoR2xvaW5zb24sIDI3LiBNYXIgMjAwMSwgMTA6NDc6NTcpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTk4NTY0MTg2NiByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApEYWZ1ZXIgbXVlc3N0ZSBtYW4gZGVuIFZlcmVpbiBkYW5uIHNjaG9uIGdsYXR0IHphaGxlbiBsYXNzZW4gLi4uIHdlbm4gZGVyClZvcnRyYWcgZ3V0IGlzdCA7KQoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFBhcnR5LUluZm9zIGRpZSAxLiAoR29sYXMsIDI3LiBNYXIgMjAwMSwgMTI6MzA6MTYpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTk4NTY0MTg2NiByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MApkYXMga2xpbmd0IGd1dAp6dW1pbmRlc3QgZWluaWdlIHJpY2h0bGluaWVuIHNvbGx0ZW4gYWxsZSBiZWFjaHRlbi4Kc2NobGVjaHRlIGJlaXNwaWVsZSBnaWJ0IGVzIGJlc3RpbW10IGdlbnVnLCBudW4gbXVzcyBudXIgbm9jaCBlaW5lciBndXRlCmJlaXNwaWVsZSBmaW5kZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogUGFydHktSW5mb3MgZGllIDEuIChXdXJ6ZWwsIDI3LiBNYXIgMjAwMSwgMTk6MTE6MzkpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTg1NjgyODc3IHJnPXBhcnR5Cn4jISB0aWQ9OTg1MjE4ODkwCmRhcnVlYmVyIGthbm4gbWFuIHJlZGVuLiB6dXIgbm90IHphaGwgaWNoIGRhcyBhdWNoIGF1cyBlaWdlbmVyIHRhc2NoZQoodW5kIHZlcmRpZW4gbWljaCBoaW50ZXJoZXIgZGFtaXQgYmxvZWQpLiBhYmVyIG51ciB3ZW5uIGVzIHdpcmtsaWNoIGd1dAppc3QgOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFBhcnR5LUluZm9zIGRpZSAxLiAoQXJrLCAyNy4gTWFyIDIwMDEsIDIyOjU1OjEwKToKfiMhIHJuPUZldWVyd2VociBydD05ODU2NDE4NjYgcmc9cGFydHkKfiMhIHRpZD05ODUyMTg4OTAKQmVzZWl0aWdlIGxpZWJlciBkaWUgVHlwb3MgaW4gRGVpbmVyIFF1ZXN0ICh6dWdlZ2ViZW4gbmljaHQgc28gdmllbGUsIHdlbm4gbWFuCmRlbiBUZXh0dW1mYW5nIGFscyBWZXJnbGVpY2ggbmltbXQpIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQYXJ0eS1JbmZvcyBkaWUgMS4gKFRzdW5hbWksIDI4LiBNYXIgMjAwMSwgMDM6NTY6MDgpOgp+IyEgcm49Rm9vYmFyIHJ0PTk4NTM0ODQzMyByZz1wYXJ0eQp+IyEgdGlkPTk4NTIxODg5MAo+SWNoIHNjaGFldHplIEVpc3d1ZXN0ZSwgVHVuZHJhLCBkYXMgRWlzbGFiIGluICJUaG9ycyBIYW1tZXIiIHVzdy4gc2luZCBhdWNoCj5WQy1SYWV1bWUgdW5kIHZvbiBkaWVzZW0gTXVlbGwgYnJhdWNoZW4gd2lyIG5pY2h0IG1laHIuCgpmYWxzY2gsIFR1bmRyYSBpc3Qga2VpbiBWQyBzb25kZXJuIHdhcyBnYW56IHNlbGJzdGdlYnJhdXRlcy4KSWNoIHNhZyBqZXR6dCBuaWNodCwgZGFzcyBtaXIgZGllIEhhYXJlIHZvbiBkZW0gQ29kZSB6dSBCZXJnZSBzdGVoZW4sIGRhcwp3YWVyZSBuaWNodCBuZXR0IGRlbSBnZWdlbnVlYmVyLCBkZXIgZGFzIHZlcmJyb2NoZW4gaGF0LgoKVHN1bmFtaS4gUmljaHRpZ3N0ZWxsZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVybWlubGljaGtlaXQgKEdsb2luc29uLCAyOC4gTWFyIDIwMDEsIDA3OjEzOjU1KToKCkdlcm5lLCBoaWVybWl0IGVybWRjaHRpZ2UgaWNoIERpY2ggYWxzIE1hZ2llciBkYXp1ISA6LSkKCkljaCBiaW4gaW0gbW9tIGltIFVybGF1YiwgdW5kIGljaCBrYW5uIGRhcyBqYSBlaCBuaWNodCBzZWxic3QgbWFjaGVuLCBzb25zdApnZXJuZS4KCkphbi9CcmFuZGlyCgo+IERhcyBQYXJ0eWJyZXR0IGJpZXRldCBkZXJ6ZWl0IGFscyBhbmt1bmZ0c21vZWdsaWNoa2VpdCBudXIgU2Ftc3RhZyAtIHdlZGVyCj4gJ0ZyZWl0YWcnIG5vY2ggJzEwJyBmdW56dCAtIGxhc3MgbWFsIGtvcnJpZ2llcmVuLgoKSGllcm1pdCBnZWJlIGljaCBkZW4gQXVmdHJhZyBhbiBqZW1hbmQgY29kZWxlc2ViZXJlY2h0aWd0ZW4gd2VpdGVyLgpOZWUsIExpYiBydW50ZXJsYWRlbiB6YWVobHQgamV0enQgbmljaHQuCgpHbG9pbihzb24pLCBhdXMgUHJpbnppcCBmYXVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiZXN0YWV0aWd1bmdlbiwgZGllIDEuIChPYmksIDMxLiBNYXIgMjAwMSwgMjE6NDE6MjApOgpIaWhvbyEKSW0gQXVmdHJhZyB2b24gQnJhbmRpciBnZWJlIGljaCBkaWUgZXJzdGUgTGlzdGUgYWxsZXIgQmVzdGFldGlndGVuIGZ1ZXIgZGllClBhcnR5IGJla2FubnQuCkJpc2hlciBiZXN0YWV0aWd0IHNpbmQ6CgpKb2YgICAgIFAKTGFyaXNzYSAgICAgUApMaWFyYSAgICAgUCtVZQpDYWtleSAgICAgUCtVZQpDb3JhbHluICAgICBQK1VlCgoKQWxsZSBhbmRlcmVuIG1vZWNodGVuIGJpdHRlIHNvIHNjaG5lbGwgd2llIG1vZWdsaWNoIFVlYmVyd2Vpc2VuLCBNYWNodCBtYWwKYml0dGUgbm9jaCBvcmRlbnRsaWNoIFdlcmJ1bmcsIGRhbWl0eiBzaWNoIG1laHIgYW5tZWxkZW4uLi4gaW0gTW9tZW50IHJlY2huZXQKc2ljaCBkaWUgUGFydHkgbm9jaCBuaWNodC4uLiAKCm5vY2ggMSw1IE1vbmF0ZSBiaXMgenVyIFBhcnR5IDotKQoKT0JJCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXJsaW4gLT4gTXVlbnN0ZXIgKEdsb2luc29uLCAgNy4gQXByIDIwMDEsIDE3OjEwOjUyKToKSGFiIGphIGVpbmlnZSBCZXJsaW5lciBpbiBsZXR6dGVyIFplaXQgc2Nob24gcGVyIE1haWwgZ2VuZXJ2dCB2b24gd2VnZW4KQmVybGluIC0+IE11ZW5zdGVyIC0+IEJlcmxpbi4gRGFzIHNjaGVpbnQgYWJlciBzZWhyIHVuZWZmaXppZW50LgoKS29zdGVuOgpJY2ggd3VlcmRlIGdlcm4gbWl0IGRlciBCYWhuIG5hY2ggTXVlbnN0ZXIgZmFocmVuLiBNaXQgZGVtIEdydXBwZW50aWNrZXQKYmVrb21tZW4gd2lyIGFiIDYgUGVyc29uZW4gZWluZSBFcm1hZXNzaWd1bmcgdm9uIGJpcyB6dSA3NSUuIEFsbGVyZGluZ3MKc2luZCBkaWUgZXJtYWVzc2lndGVuIFBsYWV0emUgYmVncmVuenQgdW5kIG11ZXNzZW4gZXJnbyBzbyBmcnVlaCB3aWUKbW9lZ2xpY2ggYmVzdGVsbHQgd2VyZGVuLiBNaXQgZGVyIDc1JWlnZW4gRXJtYWVzc2lndW5nIGxhZXVmdCBkZXIgUHJlaXMKZnVlciBIaW4tIHVuZCBSdWVja2ZhaHJ0IGF1ZiBpbnNnZXNhbXQgODAsLSBpbSBSRS9JUiBoaW5hdXMuCgpOYXR1ZXJsaWNoIHNpbmQgd2lyIGluIE11ZW5zdGVyIGV0d2FzIHVuZmxleGlibGVyIC0gYWJlciBpY2ggaG9mZmUgZGEgYXVmCmVpbmlnZSBPRVBOVi1JbmZvcm1hdGlvbmVuIHNlaXRlbnMgQnJhbmRpciAoaGllcm1pdCBhdWZnZWZvcmRlcnQgOj4pLgoKWmVpdGVuOgpEaWUgRmFocnQgZGF1ZXJ0IGV0d2EgNDozMCBtaXQgSVIvUkUuIFdlbm4gd2lyIEZyZWl0YWcgc2Nob24gZ2VnZW4gMTM6MDAKVWhyIHN0YXJ0ZW4ga29lbm5lbiB3aXIgc29nYXIgZHVyY2hmYWhyZW4sIGFuc29uc3RlbiBtdWVzc2VuIHdpciBlaW5tYWwKdW1zdGVpZ2VuLiBSdWVja2ZhaHJ0IGFlaG5saWNoIChudXIgZGFzIGRhIHdvaGwga2F1bSBlaW5lciB6ZWl0Z2VidW5kZW4KaXN0LCBvZGVyPykuCgpad2VjayBkaWVzZXMgQXJ0aWtlbHM6IFdpciBzaW5kIGRlcnplaXQgc2Nob24gNiBQZXJzb25lbiAoUm9jaHVzLCBLeXJpYT8sClNvbG15ciwgR3JpbW1hbiwgTWFydGluaSwgbWVpbmVyZWluZXIpLiBKZWRlciBtZWhyIG1hY2h0IGRpZSBSZWlzZSB2b3IKYWxsZW0gbHVzdGlnZXIgKGhvZmYgaWNoIGRvY2ggOj4pLgpXZXIgbWl0d2lsbDogQmVpIG1pciBBU0FQIHBlciBNYWlsIG1lbGRlbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvdGVscyBpbiBNdWVuc3RlciAoRm9vYmFyLCAgNy4gQXByIDIwMDEsIDE3OjQwOjAwKToKCk1vaW4KCldlciBpbSBIb3RlbCBzdGF0dCBpbiBkZXIgSGFsbGUgcGVubmVuIG1vZWNodGUga2FubiBtYWwgdW50ZXIgZGVyIE51bW1lciAKMDgwMCAxIDk0IDE0IDA4IGFucnVmZW4sIGx0LiBUZWxlZm9uYnVjaCBoYW5kZWx0IGVzIHNpY2ggaGllcmJlaSB1bSBkaWUgCm11ZW5zdGVyc2NoZSBIb3RlbGF1c2t1bmZ0LgoKRmVybmVyIGV4aXN0aWVydCB1bnRlciBkZXIgTnVtbWVyIDAyNTEgMTQgMjYgODYgbm9jaCBkaWUgIkJlZCBhbmQgQnJlYWtmYXN0ClByaXZhdHppbW1lcnZlcm1pdHRsdW5nIiwgZGllIChlYmVuZmFsbHMgbHQuIFRlbGVmb25idWNoKSBQcml2YXR6aW1tZXIgenVyClVlYmVybmFjaHR1bmcgaW4gTXVlbnN0ZXIgKHVuZCBVbWdlYnVuZy4uLikgdmVybWl0dGVsdC4KCkRpZSBQYXJ0eSBmaW5kZXQgaW0gU3RhZGR0ZWlsIEdpZXZlbmJlY2sgc3RhdHQsIGRhcyBrb2VubnRlIHNpY2ggYWxzIHdpY2h0aWcKZnVlciBkaWUgSG90ZWxzdWNoZSBlcndlaXNlbi4KCkZhbGxzIG8uYS4gTnVtbWVybiBuaWNodCBmcnVjaHRlbiBzb2xsdGVuLCBpc3QgbWlyIGxlaWRlciBpbiBHaWV2ZW5iZWNrIGRpcmVrdAprZWluIEhvdGVsIGJla2FubnQ7IGRhIE11ZW5zdGVyIG5pY2h0IHNvIGdyb3NzIGthbm4gaWNoIGFiZXIgZWluaWdlIEhvdGVscwpuZW5uZW4gZGllIHNpY2ggaW4gcmVsYXRpdmVyIE5hZWhlICg1LTEwIEF1dG9taW51dGVuKSB6dXIgUGFydHktTG9jYXRpb24KYmVmaW5kZW4uCgotIEhvdGVsIGFtIFJpbmcsIFN0ZWluZnVydGVyIFN0ci4gNjgsIDAyIDUxIC0gMiAwNSA1NQotIEhvdGVsIGFtIFNjaGxvc3NwYXJrLCBTY2htYWxlIFN0ci4gMi00LCAwMiA1MSAtIDIgMDUgNDEKLSBIb3RlbCBIYXVzIE5pZW1hbiwgSG9yc3RtYXJlciBMYW5kd2VnIDEyNiwgMDIgNTEgLSA5OCAxNiA0MAotIEhvdGVsIEplbGxlbnRydXAgSHVlZmZlcnN0ci4gNTIsIDAyIDUxIC0gIDk4IDEwIDUwCgpVZWJlciBkaWUgUXVhbGl0YWV0IGJ6dy4gUHJlaXMga2FubiBpY2ggbml4IHNhZ2VuLCBkYSBpY2ggbm9jaCBuaWUgaW4gZWluZW0KZGVyIG8uYS4gSG90ZWxzIHp1IEdhc3Qgd2FyLCBhbHNvIHNjaGxhZ3QgbWljaCBiaXR0ZSBoaW50ZXJoZXIgbmljaHQuCgpHcnVzcywKCiAgICAgRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWxsZS0tPiBNdWVuc3RlciAoQ2Fzc2FuZHJhLCAgNy4gQXByIDIwMDEsIDE5OjM2OjUwKToKSWNoIHN1Y2hlIGZ1ZXIgZGllIEZhaHJ0IG5hY2ggTXVlbnN0ZXIgbmUgTWl0ZmFocmdlbGVnZW5oZWl0LiBFbnR3ZWRlciBkaXJla3QKYWIgSGFsbGUgb2RlciBhYmVyIGF1Y2ggYWIgTWFnZGVidXJnLiBadWcgaXN0IGV0d2FzIHRldWVyLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb3RlbHMgaW4gTXVlbnN0ZXIgKFd1cnplbCwgIDguIEFwciAyMDAxLCAxNDozODoyMik6Cn4jISBybj1Gb29iYXIgcnQ9OTg2NjU4MDAwIHJnPXBhcnR5Cn4jISB0aWQ9OTg2NjU4MDAwCmJpbiBiZWkgZGVuIGxldHp0ZW4gcGFydGllcyBpbiBtdWVuc3RlciBpbW1lciBpbSBkb3JpbnQgKG5hZWhlIGJhaG5ob2YpCmFiZ2VzdGllZ2VuLiBvcmRlbnRsaWNoZSBxdWFsaXRhZXQgdW5kIGd1dGVzIGZydWVoc3R1ZWNrLCB3aWUgYmVpIGZhc3QgYWxsZW4KZG9yaW50LWhvdGVscy4ga2FubiBpY2ggZW1wZmVobGVuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVybGluIC0+IE11ZW5zdGVyIChHbG9pbnNvbiwgIDkuIEFwciAyMDAxLCAyMDoyMDo1Nik6Cn4jISBybj1HbG9pbnNvbiBydD05ODY2NTYyNTIgcmc9cGFydHkKfiMhIHRpZD05ODY2NTYyNTIKTUlTVCBNSVNUIE1JU1QgTUlTVCBNSVNUIQoKT2RlciB1bSBlcyBhbmRlcnMgenUgc2FnZW46IFR1dCBtaXIgbGVpZCwgYWJlciBhdWZncnVuZCBwcml2YXRlcgpWZXJwZmxpY2h0dW5nZW4gaXN0IGVzIG1pciB3ZWRlciBtb2VnbGljaCBkaWUgRmFocnQgenUgb3JnYW5pc2llcmVuICh3aWUgaWNoCmphIGltIEJlZ3JpZmYgd2FyKSBub2NoIHp1ciBQYXJ0eSB6dSBlcnNjaGVpbmVuLgpEYW1pdCBkdWVyZnRlIFByb2pla3QgIkJlcmxpbiBmYWVocnQgWnVnIiBkZW0gV2Fzc2VyIGFuaGVpbSBmYWxsZW4sIGVzIHNlaQpqZW1hbmQgYW5kZXJlcyBuaW1tdCBzaWNoIGRlc3NlbiBhbi4gU2Nod2llcmlnIHdhZXJzIG5pY2h0LCBoaWVyIHNpbmQgZGllCk5hbWVuIGRlciBJbnRlcmVzc2llcnRlbjogUm9jaHVzLCBTb2xteXIsIEdyaW1tYW4sIENha2V5LCBBZW5lYXMsIFBpdGZhbGwsCkt5cmlhKD8pCklociBtdWVzc3QgZWluZmFjaCB1bnRlcmVpbmFuZGVyIGF1c21hY2hlbiB3YW5uIGlociBmYWhyZW4gd29sbHQgdW5kCm1vZWdsaWNoc3Qgc2NobmVsbCBIaW4tIHVuZCBSdWVja2ZhaHJ0IGJ1Y2hlbi4KCnR1dCBtaXIgc2VociBsZWlkLCBhYmVyIGRhcyBoYXQgc2ljaCBlcnN0IGhldXRlIGhlcmF1c2tyaXN0YWxsaXNpZXJ0IHVuZApmYW1pbGlhZXJlbiBWZXJwZmxpY2h0dW5nZW4ga2FubiBtYW4ga2F1bSBhYnNhZ2VuLiBWb20gbW9lY2h0ZW4gZ2FueiB6dQpzY2h3ZWlnZW4uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlcmxpbiAtPiBNdWVuc3RlciAoR3JpbW1hbiwgIDkuIEFwciAyMDAxLCAyMDozOTozMCk6Cn4jISBybj1HbG9pbnNvbiBydD05ODY4NDA0NTYgcmc9cGFydHkKfiMhIHRpZD05ODY2NTYyNTIKQWFhYWxzbyAuLi4gaWNoIGdsYXViLCBkYXMgd2VyZCBpY2ggbWFsIGluIEtvb3BlcmF0aW9uIG1pdCBTb2xteXIgdWViZXJuZWhtZW4sCmRlbmtlIGRhcyBrcmllZ2VuIHdpciBoaW4gOikKQnJhZXVjaHRlIGFsc28gbmFjaCBNb2VnbGljaGtlaXQgdm9uIGFsbGVuIEJldGVpbGlndGVuIG5lIFp1c2FnZSB1bmQgbmFjaApNb2VnbGljaGtlaXQgbmVuIGZydWVoZXN0bW9lZ2xpY2hlbiBBYmZhaHJ0emVpdHB1bmt0LgpEYW1pdCBzb2xsdGUgZGFubiBqYSBuZSBLb29yZGluYXRpb24gbW9lZ2xpY2ggc2Vpbi4KRGFzIEdlbGQga2FubiBpY2ggYWxsZXJkaW5ncyBuaWNodCB2b3JzdHJlY2tlbiwgd2FlcmUgZ3V0IHdlbm4gamVtYW5kIElkZWVuCmhhdCwgd2llIHdpciBkYXMgcmVnZWxuCgpHcmltTWFuLCBwbGVpdGUgYXVzIFVlYmVyemV1Z3VuZyB1bmQgc3BvbnRhbiBhdXMgRHVtbWhlaXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJlcmxpbiAtPiBNdWVuc3RlciAoU29sbXlyLCAgOS4gQXByIDIwMDEsIDIxOjI5OjM0KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTg2ODQxNTcwIHJnPXBhcnR5Cn4jISB0aWQ9OTg2NjU2MjUyClNwb250YW4gYXVzIER1bW1oZWl0IHBhc3N0IGdhbnogZ3V0IDo9KSkpIFVuZCBkYXMgenUgc2NocmVpYmVuLCBvYndvaGwKaWNoIHBoeXNpc2NoIGdhciBuaWNodCBhbndlc2VuZCB3YXIgKkcqLiBOYWphLCBlZ2FsLiBPZ2VlZWUsIGRhbm4gd2VyZAppY2ggb2RlciBHcmltbWFuIG1hbCBtaXQgR2xvaW5zb24gcmVkZW4gdW5kIGRhcyBpbiBkaWUgR3JpZmZlbCBuZWhtZW4uCgpTb2wqLCB1bSBNYWlsIGJpdHRlbmQsIGFiZXIgYXVjaCBnbGVpY2ggbWFsIHdlbGNoZSBzY2hyZWliZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVzdGFldGlndW5nZW4sIGRpZSAyLiAoQnJhbmRpciwgMTcuIEFwciAyMDAxLCAwMDoyNDoyOSk6ClNvLCBudW4gbWFsIGRpZSB6d2VpdGUgQmVzdGFldGlndW5nc3dlbGxlIDopCgpBZW5lYXM6ICAgICAgIFBVZSAKQWxjaW5hOiAgICAgICBQVWUgK1NwZW5kZSAodmllbGVuIERhbmspIApCaWVsZWZlbGQ6ICAgIFBVZQpDYWtleTogICAgICAgIFBVZSAKQ2Fzc2FuZHJhOiAgICBQVWUgCkNvcmFseW46ICAgICAgUFVlIApEYXJpYTogICAgICAgIFBVZSAKRGVlcGJsdWU6ICAgICBQVWUgCkZhbnRhZ2hpcm86ICAgUCAKR25vbWU6ICAgICAgICBQVWUgCkdvbGFzOiAgICAgICAgUFVlIApHdWFyZDogICAgICAgIFAgCkluZXNoYTogICAgICAgUCAKSXZvOiAgICAgICAgICBQVWUgCkpvZjogICAgICAgICAgUCAKS3lyaWE6ICAgICAgICBQVWUgCkxhcmluYTogICAgICAgUFVlIApMYXJpc3NhOiAgICAgIFAgCkxpYXJhOiAgICAgICAgUFVlIApMaXJhbmE6ICAgICAgIFBVZSAKUm9uZGE6ICAgICAgICBQVWUgClRodWZoaXI6ICAgICAgUFVlIApUaWxseTogICAgICAgIFAKVmFyZGlvbjogICAgICBQVWUgCld1ZWhsZXI6ICAgICAgUFVlClpvb2s6ICAgICAgICAgUAoKCgpBbiBhbGxlIGRpZSwgZGllIG5vY2ggbmljaHQgdWViZXJ3aWVzZW4gaGFiZW4sIHR1dCBlcyBydWhpZy4KUGFydHlyYXVtIHVuZCBUdXJuaGFsbGUgc2luZCBiZXphaGx0LCBhYiBqZXR6dCB1ZWJlcndlaXN0IElociAKZnVlciBkaWUgVmVycGZsZWd1bmcgOi0pCgpTY2hvZW4gd2VpdGVyIGFubWVsZGVuL3VlYmVyd2Vpc2VuICEgOi0pCgpCcmFuZGlyIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKFNvbmRlcilTdGFUaSBCZXJsaW4gKEdyaW1tYW4sIDE5LiBBcHIgMjAwMSwgMjM6NDc6NDQpOgpBYWFhbHNvIC4uLiBBdXMgZ2VnZWJlbmVtIEFubGFzcywgaWNoIGhhYiBtaXIgZmx1ZXN0ZXJuIGxhc3NlbiwgenVtCmVpZ2VudGxpY2hlbiBNYWlzdGF0aXRhZyBzaW5kIGVpbmlnZSBuaWNodCBhbndlc2VuZCwgc2NobGFnZSBpY2ggbWFsIHZvciwgZGVuClN0YW1tdGlzY2ggZWluZSBXb2NoZSB2b3J6dXZlcmxlZ2VuLiBCZWkgZ3V0ZW0gV2V0dGVyIHZpZWxsZWljaHQgZ3JpbGxlbiwgT3J0Cm11ZXNzdGUgbm9jaCBnZXBsYW50IHdlcmRlbiAuLi4gYmVpIG5vcm1hbGVtIFdldHRlciB2aWVsbGVpY2h0IFNlZWJsaWNrLgpVbmQgaWNoIGthbm4gbm9jaCBtaXQgZWluZW0gR2FzdCBhdXMgU3R1dHRnYXJ0IHdlcmJlbiwgZGVyIG1vZWdsaWNoZXJ3ZWlzZSBkaWUKWmVpdCBmaW5kZXQsIHVucyB6dSBiZXN1Y2hlbi4KCkFsc28sIGJlaSBhdXNyZWljaGVuZGVyIFJlc29uYW56IGFuIGRpZXNlciBTdGVsbGUgLi4uCgpHcmltTWFuIC0gc2NobGFlZ3Qgdm9yIHVuZCB3YXJ0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogKFNvbmRlcilTdGFUaSBCZXJsaW4gKEdvbGFzLCAyMC4gQXByIDIwMDEsIDAzOjUzOjM3KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTg3NzE2ODY0IHJnPXBhcnR5Cn4jISB0aWQ9OTg3NzE2ODY0CmljaCByZWljaGUgZnVlciBkaWVzZW4gc3RhdGksIGRhcyBhbXQgZGVzIGF1c3J1ZmVycyBhbiBncmltbWFuIHdlaXRlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAoU29uZGVyKVN0YVRpIEJlcmxpbiAoR3JpbW1hbiwgMjAuIEFwciAyMDAxLCAwMzo1NDoxMyk6Cn4jISBybj1Hb2xhcyBydD05ODc3MzE2MTcgcmc9cGFydHkKfiMhIHRpZD05ODc3MTY4NjQKQXVzcnVmZXIgZ2VybmUgLi4uIGFiZXIgb3JnYW5pc2F0b3IgbmljaCA6KQoKR3JpbU1hbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogKFNvbmRlcilTdGFUaSBCZXJsaW4gKFJhcmRpYW4sIDIwLiBBcHIgMjAwMSwgMTc6NDg6MTIpOgp+IyEgcm49R3JpbW1hbiBydD05ODc3MzE2NTMgcmc9cGFydHkKfiMhIHRpZD05ODc3MTY4NjQKS2xpbmd0IGFsbGVzIGluIGFsbGVtIGphIG5pY2h0IHNjaGxlY2h0LCBiaW4gZnVlciBlaW5lIFZlcmxlZ3VuZyBkZXMgU3RhdGkgdW5kCkFlbmRlcnVuZyBkZXIgUnVicmlrIC4uLiA7KQoKR3J1c3MsCiAgUmFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogKFNvbmRlcilTdGFUaSBCZXJsaW4gKEdyaW1tYW4sIDIxLiBBcHIgMjAwMSwgMDI6MTA6MTkpOgp+IyEgcm49UmFyZGlhbiBydD05ODc3ODE2OTIgcmc9cGFydHkKfiMhIHRpZD05ODc3MTY4NjQKU1RBTU1USVNDSFVQREFURSBCRVJMSU4KS3VyeiB1bmQga25hcHA6CkFtIDI3LjQgU29uZGVyc3RhbW10aXNjaCB3ZWdlbiBiZXN1Y2ggYXVzIFN0dXR0Z2FydApXaWUgaW1tZXIgaW0gU2VlYmxpY2sKWmVpdCAyMC4wMCBVaHIgPz8KCkRhcyBoZWlzc3QsIGRlciBTdGFtbXRpc2NoIHdpcmQgbmljaHQgdmVybGVndCwgd2lyIGhhYmVuIGRpZXNtYWwgbHV4dXJpb2VzCnp3ZWkgZGF2b24uCgpBbHNvIGFtIDUuNSByZWd1bGFlcmVyIFN0YW1tdGlzY2gKQXVjaCBpbSBTZWVibGljawpaZWl0IHdpZSBpbW1lci4KCkdydW5kIGRpZXNlciBpbnRlcmVzc2FudGVuIFBsYW51bmc6CkF1Y2ggYW4gZGllc2VtIFRlcm1pbiBoYWJlIGljaCBuZW4gc3RyZW5nIGdlaGVpbWVuIEdhdHMgaW4gUmVzZXJ2ZSwgZGVyIEdydW5kCmdlbnVnIGlzdCwgZGllc2UgUGxhbnVuZyB6dSByZWNodGZlcnRpZ2VuLgoKTWZHIEdyaW1NYW4gLSBTdGFUaS1BdXNydWZlciBpbiBQbGFudW5nc25vZXRlbgoKSGFzcy9GcmV1ZGUvTHVzdC9Vbmx1c3RiZWt1bmR1bmdlIGhpZXIsIGFuIG1pY2ggb2RlciBhbiAvZGV2L251bGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IChTb25kZXIpU3RhVGkgQmVybGluIChHcmltbWFuLCAyMS4gQXByIDIwMDEsIDAyOjExOjM5KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTg3ODExODE5IHJnPXBhcnR5Cn4jISB0aWQ9OTg3NzE2ODY0CkhhYiBkYXMgaW4gZGllc2VyIFJ1YnJpayBnZWxhc3Nlbiwgd2VpbCBlcyBuaWNoIHZlcmxlZ3Qgd3VyZGUsIGZ1ZXIgVGlwZmVobGVyCnNpbmQgYW5kZXJlIHp1c3RhZW5kaWcuCgpHcmltTWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAoU29uZGVyKVN0YVRpIEJlcmxpbiAoTGluZmxhcywgMjIuIEFwciAyMDAxLCAwNDoxNDoxMCk6Cn4jISBybj1HcmltbWFuIHJ0PTk4NzgxMTgxOSByZz1wYXJ0eQp+IyEgdGlkPTk4NzcxNjg2NApHaWJ0cyBmdWVyIE5ldS1CZXJsaW5lciBhdWNoIG1hbCBuZSBJbmZvLCB3byAiU2VlYmxpY2siIGVpZ2VudGxpY2ggenUgZmluZGVuCmlzdD8KCkxpbmZsYXMsIGhhdCBhdWNoIGdhciBrZWluZSBBaG51bmcsIG51ciBLdWhlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogKFNvbmRlcilTdGFUaSBCZXJsaW4gKEdvbGFzLCAyMi4gQXByIDIwMDEsIDA2OjExOjU4KToKfiMhIHJuPUxpbmZsYXMgcnQ9OTg3OTA1NjUwIHJnPXBhcnR5Cn4jISB0aWQ9OTg3NzE2ODY0CmtsYXIgZ2lidCBlcyBkaWUsIHNlZWJsaWNrIHN0ZWh0IGF1ZiBkZXIgTUctSFAgZHJhdWYgaW4gZGVyIHJ1YnJpayB0cmVmZmVuCm9kZXIgc28gYWVobmxpY2gKYWJlciB3aXIgc2luZCBhYiB1bmQgYW4gbWFsIHdvYW5kZXJzLiB6dSBha3R1ZWxsZW4gdXBkYXRlcyBlbnR3ZWRlciBtcGEgbGVzZW4Kb2RlciBiZWkgbWlyIG1lbGRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IChTb25kZXIpU3RhVGkgQmVybGluIChHcmltbWFuLCAyMi4gQXByIDIwMDEsIDE5OjAwOjM2KToKfiMhIHJuPUdvbGFzIHJ0PTk4NzkxMjcxOCByZz1wYXJ0eQp+IyEgdGlkPTk4NzcxNjg2NApVbmQgZGEgZXMgdW0gZGllIEJFSURFTiBha3R1ZWxsZW4gU3RhdGlzIGdlaGVuIHdpcmQuLi4gd2VpbCBoaWVyIGluIGRpZXNlcgpSdWJyaWsgLi4uIGRpZSBzaW5kIGltIFNlZWJsaWNrIGdlcGxhbnQsIHVuZCB3ZXIgbWVpbmUgQXJ0aWtsZSBndXQgZ2VsZXNlbgpoYXQsIHdpcmQgc2ljaGVyIG1laW5lbiBIaW53ZWlzIGF1ZiBkaWUgTUctU2VpdGUgZ2VsZXNlbiBoYWJlbiA6KQoKR3JpbU1hbiAuLi4gd2Vpc3Mgc2VsYmVyIG5pY2ggbWVociBnZW5hdSwgd2llIGVyIGhpbmtvbW10LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NobGFmbW9lZ2wuIGluIE11ZW5zdGVyIChSaWt1cywgMjMuIEFwciAyMDAxLCAxNToyODo0Myk6CkhpLAp3ZXIga29lbm50ZSBtaWNoIGJlaSBzaWNoIHdhZWhyZW5kIGRlciBQYXJ0eXplaXQgdW50ZXJicmluZ2VuPyBNZWluZQpLbm9jaGVuIG1vZWdlbiBrZWluZSBUdXJuaGFsbGUgdW5kIGljaCBrZWluIEhvdGVsIDopCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGxhZm1vZWdsLiBpbiBNdWVuc3RlciAoV3VyemVsLCAyMy4gQXByIDIwMDEsIDE2OjA1OjEzKToKfiMhIHJuPVJpa3VzIHJ0PTk4ODAzMjUyMyByZz1wYXJ0eQp+IyEgdGlkPTk4ODAzMjUyMwp3YXMgaGFzdCBkdSBnZWdlbiBob3RlbHM/CmRhcyBkb3JpbnQgaXN0IHJlY2h0IGVtcGZlaGxlbnN3ZXJ0ICh3YXIgZXMgamVkZW5mYWxscyBiZWltIGxldHp0ZW4gbWFsLCBzb28Kb2Z0IGJpbiBpY2ggZGFubiBhdWNoIG5pY2h0IGluIG11ZW5zdGVyKS4gamVkZW5mYWxscyBiZXNzZXIgYWxzIGlyZ2VuZCBlaW4Kc2NobGFmc2FjayBvZGVyIG5lIGNvdWNoIDopCgp3dXJ6ZWwsIGRla2FkZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaGxhZm1vZWdsLiBpbiBNdWVuc3RlciAoU3Ryb2hhbG0sIDIzLiBBcHIgMjAwMSwgMTc6NTI6NDkpOgp+IyEgcm49V3VyemVsIHJ0PTk4ODAzNDcxMyByZz1wYXJ0eQp+IyEgdGlkPTk4ODAzMjUyMwpBbG8gaWNoIGZpbmQgU2NobGFmc2Fja2VuIGt1bHRpdmllcnRlciA7KQoKSGFlbG1jaGVuLCBhdWYgc2Nob2VuZXMgV2V0dGVyIGhvZmZlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGxhZm1vZWdsLiBpbiBNdWVuc3RlciAoTW9udGFudXMsIDIzLiBBcHIgMjAwMSwgMTg6MDk6MjMpOgp+IyEgcm49U3Ryb2hhbG0gcnQ9OTg4MDQxMTY5IHJnPXBhcnR5Cn4jISB0aWQ9OTg4MDMyNTIzCgpIYSwgaWNoIHNlaCBzY2hvbiwgZGllIExldXRlIHNpbmQgaW56d2lzY2hlbiBCdXJnLXZlcndvZWhudC4gOy0pCgotTW9udGFudXMsIFBhcnR5b3JnYW5pc2F0b3IgaW0gUlVoZXN0YW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaGxhZm1vZWdsLiBpbiBNdWVuc3RlciAoUmlrdXMsIDI0LiBBcHIgMjAwMSwgMDg6Mzg6MjEpOgp+IyEgcm49V3VyemVsIHJ0PTk4ODAzNDcxMyByZz1wYXJ0eQp+IyEgdGlkPTk4ODAzMjUyMwpva2ksIGRhbm4gbmltbSBlaW4gemltbWVyIGZ1ZXIgdW5zIDopCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NobGFmbW9lZ2wuIGluIE11ZW5zdGVyIChXdXJ6ZWwsIDI0LiBBcHIgMjAwMSwgMTM6NTU6MjcpOgp+IyEgcm49UmlrdXMgcnQ9OTg4MDk0MzAxIHJnPXBhcnR5Cn4jISB0aWQ9OTg4MDMyNTIzCmdlaHQgbmljaHQsIGRhIGdpYnRzIGhvZWNoc3RlbnMgendlaWJldHR6aW1tZXIuIGRpZSB0ZWxlZm9ubnVtbWVyIGdpYnRzCnVlYnJpZ2VucyBpbSBpbnRlcm5ldCA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXN0YWV0aWd1bmdlbiB1bmQgRnJpc3QgKEJyYW5kaXIsIDI4LiBBcHIgMjAwMSwgMTE6MTM6MjcpOgpIdWh1dSBJaHIgUGFydHktU2NobnVmZmllcyEKCkhpZXIgbnVuIGRpZSBMaXN0ZSBkZXIgbW9tZW50YW4KYmVzdGFldGlndGVuIFRlaWxuZWhtZXIuCkFubWVsZGVzY2hsdXNzIHdpcmQgZGVyIDcuNS4gc2Vpbi4KV2Vzc2VuIEdlbGQgYmlzIGRhaGluIG5pY2h0IGF1ZiBkZW0KS29udG8gaXN0LCBkZXIgbXVzcyBkZW4gQWJlbmRrYXNzZW5wcmVpcwpiZXphaGxlbi4gQWxzbyB1ZWJlcndlaXN0IHNjaG9lbiA6KQoKQ2lhbywgQnJhbmRpcgoKCi0tLS0tLS0tLS0tLQpBZW5lYXM6ICAgICAgIFBVZSAKQWtqYXJhOiAgICAgICBQVWUgCkFsY2luYTogICAgICAgUFVlIApCaWVsZWZlbGQ6ICAgIFBVZSAKQm9pbmc6ICAgICAgICBQIApDYWtleTogICAgICAgIFBVZSAKQ2Fzc2FuZHJhOiAgICBQVWUgCkNpbmRlcmVsbGE6ICAgUCAKQ29yYWx5bjogICAgICBQVWUgCkRhcmlhOiAgICAgICAgUFVlIApEZWVwYmx1ZTogICAgIFBVZSAKRmFudGFnaGlybzogICBQIApGaXpiYW46ICAgICAgIFBVZSAKR25vbWU6ICAgICAgICBQVWUgCkdvbGFzOiAgICAgICAgUFVlIApHb3JvZzogICAgICAgIFAgCkd1YXJkOiAgICAgICAgUFVlIApIb2JvOiAgICAgICAgIFAgCkhvd2llOiAgICAgICAgUFVlIApIdW1uaTogICAgICAgIFBVZSAKSW5lc2hhOiAgICAgICBQIApJdm86ICAgICAgICAgIFBVZSAKSm9mOiAgICAgICAgICBQIApLeXJpYTogICAgICAgIFBVZSAKTGFyaW5hOiAgICAgICBQVWUgCkxhcmlzc2E6ICAgICAgUCAKTGlhcmE6ICAgICAgICBQVWUgCkxpcmFuYTogICAgICAgUFVlIApNYW5nbzogICAgICAgIFBVZSAKTWVzaXJpaTogICAgICBQIApNaWthZ2U6ICAgICAgIFBVZSAKTXVwZmVsOiAgICAgICBQIApNeXN0ZXJpb3VzOiAgIFBVZSAKUGVyZGl0YTogICAgICBQVWUgClJheXplZWw6ICAgICAgUFVlIApSb25kYTogICAgICAgIFBVZSAKU29sbXlyOiAgICAgICBQVWUKVGh1ZmhpcjogICAgICBQVWUgClRpbGx5OiAgICAgICAgUApWYXJkaW9uOiAgICAgIFBVZSAKV2FyZ29uOiAgICAgICBQIApXaWxsb3c6ICAgICAgIFAgCld1ZWhsZXI6ICAgICAgUFVlIApab29rOiAgICAgICAgIFAgCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHJlc2Rlbi0+UGFydHk/IChGaXJlaGF3aywgMzAuIEFwciAyMDAxLCAxNjoxNjowMSk6CkljaCB3b2xsdGUgbnVyIG1hbCB2b3JzaWNodGlnICh3ZW5uIGF1Y2ggcmVpY2hsaWNoIHNwYWV0IHdpZSBpY2ggenVnZWJlKQpuYWNoZnJhZ2VuLCB3ZXIgZGVubiBhbGxlcyBhdXMgRHJlc2RlbiB6dXIgcGFydHkgd2lsbC9mYWVocnQgdW5kIG9iIHNpY2ggc2Nob24KaXJnZW5kd2VsY2hlIEZhaHJnZW1laW5zY2hhZnRlbiBnZWdydWVuZGV0IGhhYmVuLgoKRmlyZWhhd2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcmVzZGVuLT5QYXJ0eT8gKFZhcmRpb24sICAyLiBNYWkgMjAwMSwgMDk6NDk6NDEpOgp+IyEgcm49RmlyZWhhd2sgcnQ9OTg4NjQwMTYxIHJnPXBhcnR5Cn4jISB0aWQ9OTg4NjQwMTYxCkhpLgoKRGEgc2ljaCB2b24gZGVuIERyZXNkbmVybiBvZmZlbmJhciBpbW1lciBub2NoIGtlaW5lciB6dW0gYW50d29ydGVuIGdlbm9ldGlndApzaWVodCwgbWFjaCBpY2ggZGFzIG1hbCA7LSkgQWxzbyBpY2ggd2VyZGUgenUgZGVyIFplaXQgaW4gQ2hlbW5pdHogc2VpbiB1bmQKd3VlcmRlIGF1Y2ggc2VsYmVyIGZhaHJlbi4gRGEgQ2hlbW5pdHogYXVmIGRlciBTdHJlY2tlIERyZXNkZW4tPk11ZW5zdGVyCmxpZWd0LCB3dWVyZGUgaWNoIGVzIGJldm9yenVnZW4sIGhpZXIgYXVmZ2VsZXNlbiB6dSB3ZXJkZW4uIEZhbGxzIGljaCBkZmFocmUsCm5laG0gaWNoIGhhbHQgZGllIG1pdCwgZGllIGVzIGlyZ2VuZHdpZSBoaWVyaGVyIG5hY2ggQ2hlbW5pdHogc2NoYWZmZW4gLSBhdWYKbmVuIHZvcmhlcmlnZW4gQWJzdGVjaGVyIG5hY2ggRHJlc2RlbiBoYWJlIGljaCBuaWNodCBkaXJla3QgTHVzdC4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHJlc2Rlbi0+UGFydHk/IChSaWt1cywgIDIuIE1haSAyMDAxLCAwOTo1MToxNyk6Cn4jISBybj1WYXJkaW9uIHJ0PTk4ODc4OTc4MSByZz1wYXJ0eQp+IyEgdGlkPTk4ODY0MDE2MQpXaWVzbyBzb2xsdGVuIHdpciB1bnMgYXVjaCB2b24gRGlyIGFic3RlY2hlbiBsYXNzZW4/IDspIEFiZXIgaWNoIGtvZW5udGUKamEgbWVpbiBLYXRlcmNoZW4gd2VnYnJpbmdlbiB1bmQgZGFubiBiZWkgRGlyIGluIEMgZWluc3RlaWdlbi4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzLm8uIChIaWdodCwgIDIuIE1haSAyMDAxLCAxNTowODowMCk6Cmd1dCBuYWNoZGVtIGRhcyBuaXRtYWwgbWVociB6d2VpIHdvY2hlbiBzaW5kICh1bmQgaWNoIGltbWVybm9jaG5ldCBhdWYgZGVyCmJhbmtlIHdhcikga2FubiBpY2ggYXVjaCBtYWwgZnJhZ2VuICxvKQphbGxlcmRpbmdzIGxhdXRldCBkaWUgZnJhZ2VzdGVsbHVuZyBhbmRlcnMgLG8pCgpmYWVociBlaW5lciBoaWVyIGF1cyBkZXIgZ2VnZW5kICh1bSBudWVybmJlcmcgYmluIGljaCB3b2hsIGRlciBlaXppZ2UpIGFsc28KbXVlbmNoZXIgb2RlciBsZXV0ZSB2b24gd2FzIHdlaXNzIGljaCB3byBoaWVyIGR1cmNoIG51ZXJuYmVyZyBkdXJjaCA/CmljaCBoYWIgbmV0IGdyb3NzIGx1c3QgWFkgc3R1bmRlbiB6dWdmYWhyIGFsZWluIGFienVzaXR6ZW4gLG8pIAoKZmFscyBlcyB2b3JzY2hsYWVnZSBnaWJ0IHJ1ZWhydCBldWNoIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRHJlc2Rlbi0+UGFydHk/IChLYWZmLCAgMi4gTWFpIDIwMDEsIDIyOjA1OjAyKToKfiMhIHJuPVJpa3VzIHJ0PTk4ODc4OTg3NyByZz1wYXJ0eQp+IyEgdGlkPTk4ODY0MDE2MQpCZWkgZGVyIEdlbGVnZW5oZWl0IHdhZXJlIGphIGF1Y2ggZWluIEFic3RlY2hlciBuYWNoIExlaXB6aWcgdW5kIEhhbGxlIG5pY2h0Cm1laHIgc29vb28gZ3Jvc3MuLi4KCkthZmYgLSB3aWxsIHNpY2ggZGEgbmljaHQgYXVmZHJhZW5nZWxuLCBkYSBlciBlaCBzaWNoIGVoIGF1ZnMgWnVnIGZhaHJuCmVpbmdlc3RlbGx0IGhhdC4uLiBhYmVyIGZhbGxzIGVzIGRhIG5vY2ggZWluZSBNb2VnbGljaGtlaXQgZ2lidCwgd2FlcnMgYmVzc2VyCnp1c2FtbWVuLCBkYSBpY2ggbWljaCBpbiBNdWVuc3RlciBlaCBuaWNodCBhdXNrZW5uLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRHJlc2Rlbi0+UGFydHk/IChDYXNzYW5kcmEsICAzLiBNYWkgMjAwMSwgMTc6MjQ6MDYpOgp+IyEgcm49S2FmZiBydD05ODg4MzM5MDIgcmc9cGFydHkKfiMhIHRpZD05ODg2NDAxNjEKSWNoIGZpbmRlIGRhcyBpc3QgbmUgZ3V0ZSBJZGVlIHZvbiBkaXIgS2FmZi4KSWNoIGRlbmtlIG5pY2h0IGRhcyBkZXIgVW13ZWcgb2JlbnJ1bSB2aWVsIGF1c21hY2hlbiB3dWVyZGUuOi0pCkNhc3NhbmRyYSwgaGF0IGtlaW5lIEx1c3QgWnVnIHp1IGZhaHJlbiAKLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptZWhyIGluZm9zPyAoV3VyemVsLCAgMy4gTWFpIDIwMDEsIDIwOjEwOjM1KToKaXJnZW5kd2llIGZlaGxlbiBtaXIgbm9jaCBlaW4gcGFhciBpbmZvcyB6dXIgcGFydHkuCnNvIHouYi4gYW5mYWhydHNwbGFlbmUsIGRpZSBmcmVpdGFnYWJlbmRrbmVpcGUgZXRjLiBrb21tdCBkYSBub2NoIHdhcyBvZGVyCmhhYiBpY2ggZGFzIG51ciB1ZWJlcnNlaGVuPwoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWVociBpbmZvcz8gKEFuYWNyaW9uLCAgMy4gTWFpIDIwMDEsIDIwOjQ2OjE1KToKfiMhIHJuPVd1cnplbCBydD05ODg5MTM0MzUgcmc9cGFydHkKfiMhIHRpZD05ODg5MTM0MzUKRGFubiB3ZWlzc3QgRHUgamEsIHdpZSBtYW4gc2ljaCBpbiBkZXIgVW50ZXJ3ZWx0IHNvIGZ1ZWhsdCwgd2VubiBtYW4gbWVocgp3aXNzZW4gd2lsbCA7LSkKCkFuYWMqIC0gaGV1dGUgZGVzdHJ1a3RpdiB1bmQgc2NobWFycmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtZWhyIGluZm9zPyAoV3VyemVsLCAgMy4gTWFpIDIwMDEsIDIwOjQ4OjM2KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTk4ODkxNTU3NSByZz1wYXJ0eQp+IyEgdGlkPTk4ODkxMzQzNQpudXIgaGV1dGU/IHNlbHRzYW0sIGRhcyBoYXR0ZSBpY2ggYW5kZXJzIGluIGVyaW5uZXJ1bmcgOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGFuLXBhcnR5IGluIGthcmxzcnVoZSAoTWFuaWFjLCAgMy4gTWFpIDIwMDEsIDIxOjU2OjUzKToKZ2VuYXVlciBnZXNhZ3QgaW4gYnJldHRlbgpnZWh0IG1hbCBhdWYgbGFuLW9obmUtbmFtZW4uZGUudnUKdm9tIDE4LiBiaXMgenVtIDIwLiBtYWkgaXN0IGVpbmUgbGFuLXBhcnR5ICg4MCBsZXV0ZSkgZnVlciBkZW4gcmF1bSBrYXJsc3J1aGUKCm1hbmlhYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmVlOiBtZWhyIGluZm9zPyAoSGlnaHQsICAzLiBNYWkgMjAwMSwgMjI6MTA6MDUpOgpndXRlIGlkZWUgLG8pIGtsYWVydCBtYWwgYXVmICxvKQoKZnVlciBtaWNoIHdhZWhyZSBpbnRlcmVzYW50IHdpZSBtYW4gdm9uIGJoZiBuYWNoIHBlbm5oYWxsZSBrb21tdCAoZXJzdG1hbCkgZGEKaWNoIGVzIGZ1ZXIgZXR3YXMgc2lubmZyZWkgaGFsdGUgZGFzIGdhbnplIHpldWdzIG1pdCBpbmUga25laXBlIHp1IHNjaGxlaWZlbgosbykKCnVuZCB3ZW5uIGVyc3RtYWwga25laXBlIGRhbm4gYml0dGUgbmUgd2VnYmVzY2hyZWlidW5nIHp1IGRlciAuLi4gYXVzZXIgZGllc2VtCnJpdHRlcmRpbmdlbnMgaGFiIHZvbiBtdWVuc3RlciBub2NoIG5pY2h0cyBnZXNlaGVuIC5vKQoKZ3J1c3MgaGlnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtZWhyIGluZm9zPyAoRm9vYmFyLCAgMy4gTWFpIDIwMDEsIDIzOjQ0OjI3KToKfiMhIHJuPVd1cnplbCBydD05ODg5MTM0MzUgcmc9cGFydHkKfiMhIHRpZD05ODg5MTM0MzUKSWNoIGJlaGF1cHRlIG1hbCBlaW5mYWNoIC0gb2huZSBCcmFuZGlycyBQbGFudW5nIGdlbmF1IHp1IGtlbm5lbiAtIGRhcyBkYSBub2NoCndhcyBrb21tdC4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlZTogbWVociBpbmZvcz8gKEZvb2JhciwgIDMuIE1haSAyMDAxLCAyMzo0NTo0Mik6Cn4jISBybj1IaWdodCBydD05ODg5MjA2MDUgcmc9cGFydHkKfiMhIHRpZD05ODg5MjA2MDUKRGFzIGlzdCBzb2dhciBzZWhyIHNpbm52b2xsLCBkYSBzaWNoIGRpZSBLbmVpcGUgYW0gQmFobmhvZiBiZWZpbmRldCA6bykKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByZWU6IG1laHIgaW5mb3M/IChDYXR3ZWF6bGUsICA0LiBNYWkgMjAwMSwgMDg6MTQ6NTEpOgp+IyEgcm49Rm9vYmFyIHJ0PTk4ODkyNjM0MiByZz1wYXJ0eQp+IyEgdGlkPTk4ODkyMDYwNQpVbmQgZGllIGhhbGxlIGFmYWlrIGF1Y2ggZXJzdCBhYiAyMi4wMCBiZXRyZXRiYXIgaXN0IC4uLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlZTogbWVociBpbmZvcz8gKEJyYW5kaXIsICA0LiBNYWkgMjAwMSwgMTY6MTU6NDgpOgp+IyEgcm49SGlnaHQgcnQ9OTg4OTIwNjA1IHJnPXBhcnR5Cn4jISB0aWQ9OTg4OTIwNjA1CkJlaWRlcyBpc3QgcmljaHRpZy4gRGllIEtuZWlwZSAoZGFzICJDVUJBIikgYmVmaW5kZXQgc2ljaCBpbiB1bm1pdHRlbGJhcmVyCk5hZWhlIHp1bSBCYWhuaG9mLiBJY2ggd3VlcmRlIGRpZSBLbGFtb3R0ZW4gYWxsZSBtaXQgaW4gZGllIEtuZWlwZSBuZWhtZW4sCmRlbm4gd2llIENhdHR5IHNjaG9uIGVyd2FlaG50ZSwga29tbWVuIHdpciBlcnN0IGFiIDIyOjAwIFVociBpbiBkaWUgSGFsbGUuCkdlbmF1ZSBBbmZhaHJ0c3BsYWVuZSB1LmFlLiB3ZXJkZW4gbm9jaCBhbmdlZmVydGlndCB1bmQgc29sbHRlbiBzcGFldGVzdGVucwpEaWVuc3RhZyB6dSBiZWtvbW1lbiBzZWluLi4uIChmdWVyIG5ldWUgSW5mb3MgZGFubiBub2NobWFsIGhpZXIgaW4gZGllIE1QQQpzZWhlbikKCldpZSBzY2hvbiBiZWkgZWluaWdlbiBQYXJ0aWVzIHp1dm9yIG11ZXNzZW4gQmVzdGVja2UsIFRhc3NlbiB1bmQgZXZ0bC4gVGVsbGVyCihmdWVycyBGcnVlaHN0dWVjaykgc2VsYnN0IG1pdGdlYnJhY2h0IHdlcmRlbi4KCkFtIFNhbXN0YWcgYWJlbmQgYmVrb21tZW4gd2lyIGVpbmUgQW5sYWdlIG1pdCBkZW0gUmF1bSB6dXNhbW1lbiBnZXN0ZWxsdCwKYWxsZXJkaW5ncyBtdWVzc2VuIHdpciBub2NoIGZ1ZXIgTXVzaWsgc29yZ2VuLiBXZW5uIG1vZWdsaWNoIGJyaW5ndCBhbHNvIENEcwptaXQsIGluc2Jlc29uZGVyZSB3ZW5uIElociB3YXMgVmVybnVlbmZ0aWdlcyBob2VyZW4gd29sbHQsIHVuZCBuaWNodCBudXIKdW5zZXJlbiBNaXN0IDopIChTb2Zlcm4gZGllIENEcyB2ZXJudWVuZnRpZyBiZXNjaHJpZnRldCBzaW5kLCBnZWh0IGJlc3RpbW10CmF1Y2ggbmljaHRzIHZlcmxvcmVuKQoKSGFiIGljaCBqZXR6dCBub2NoIHdhYXMgdmVyZ2Vzc2VuPz8/Li4uIGJlc3RpbW10LCBhYmVyIGljaCBrYW5uIGphIGJlaQpHZWxlZ2VuaGVpdCBub2NoIG5lbiBBcnRpa2VsIHNjaHJlaWJlbi4uLgoKV2VpdGVyZWUgSW5mb3MgZm9sZ2VuLi4uIEJyYW5kaXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5aW5mb3MgKEJyYW5kaXIsICA0LiBNYWkgMjAwMSwgMTY6MTc6MzApOgppY2ggdmVyd2Vpc2UgaGllcm1pdCBhdWYgZGVuIEFydGlrZWwgODggZGllc2VyIFJ1YnJpayA6LSkKCihkaWVzZW4gQXJ0aWtlbCBzY2hyZWliZSBpY2ggbnVyLCBkYSBBcnRpa2VsIDg4IGVpbiBSZXBseSBpc3QgdW5kIGRhbWl0IGlobgpuaWVtYW5kIHVlYmVyc2llaHQpCgpCcmFuZGlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlZTogbWVociBpbmZvcz8gKE11cGZlbCwgIDQuIE1haSAyMDAxLCAxODo0NTowOCk6Cn4jISBybj1CcmFuZGlyIHJ0PTk4ODk4NTc0OCByZz1wYXJ0eQp+IyEgdGlkPTk4ODkyMDYwNQpEYXMgQ1VCQT8/PyBJc3QgZGFzIG5pY2huIGJpc3NrZW4ga2xlaW4gZnVlciBhbGwgZGllIExldXRlPwoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHJlZTogbWVociBpbmZvcz8gKEphbWVzb24sICA0LiBNYWkgMjAwMSwgMTg6NDc6MzQpOgp+IyEgcm49TXVwZmVsIHJ0PTk4ODk5NDcwOCByZz1wYXJ0eQp+IyEgdGlkPTk4ODkyMDYwNQpuaWNodCB3ZW5uIEJyYW5kaXIgZXMga29tcGxldHQgcmVzZXJ2aWVydCAqZyoKbG9obmVuIHd1ZXJkZSBlcyBzaWNoIGFic29sdXQsIHdlbm4gaWNoIGRhIG1hbCBhbiBNYXJidXJnIGRlbmtlLgpEaWUgbXVlc3N0ZW4gbnVyIGV0d2FzIG1laHIgUGVyc29uYWwgYWxzIHNvbnN0IGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcmVlOiBtZWhyIGluZm9zPyAoR3JpbW1hbiwgIDUuIE1haSAyMDAxLCAxNzo0Nzo0OSk6Cn4jISBybj1KYW1lc29uIHJ0PTk4ODk5NDg1NCByZz1wYXJ0eQp+IyEgdGlkPTk4ODkyMDYwNQpVbmQgZGEgZGVua2UgaWNoIG5vY2ggYW4gZGFzIHVuZ2VyZWNodGUgenUgZnJ1ZWhlIFJhdXN3ZXJmZW4gYXVzIGRlciBlcnN0ZW4KS25laXBlIC4uLgpOYWphLCBhYmVyIHZpZWxsZWljaHQgaXMgZGFzIENVQkEgamEgbGFlbmdlciBvZmZlbiA6KQoKR3JpbU1hbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VnZXNjcmlwdCAoQnJhbmRpciwgIDYuIE1haSAyMDAxLCAyMDozNTowMCk6CkRhbmsgUm9jaHVzJyBtaXRoaWxmZSBzaW5kIG51biBhdWNoIGRpZSBXZWdlc2NyaXB0ZSBpbSBXV1cgenUgZmluZGVuLgpBbiBkZXIgU3RlbGxlIHdvIGVzIGF1Y2ggZGllIEluZm9ybWF0aW9uZW4genUgZGVuIGdhbnplbiBhbmRlcmVuIFBhcnRpZXMgZ2FiLgoKQnJhbmRpcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGxhbmV0YXJpb24gKENhdHdlYXpsZSwgIDguIE1haSAyMDAxLCAxNDoyNjo0Nik6CkhpZXJtaXQgYmVzdGltbWUgaWNoLCBkYXMgd2lyIGFtIFNhbXN0YWcgbmFjaG1pdHRhZyB1bSAxNTowMCBVaHIgaW5zClBsYW5ldGFyaXVtIE11ZW5zdGVyIGdlaGVuLiBBbGxlIHNvbnN0aWdlbiBBa3Rpdml0YWV0ZW4gaGFiZW4gc2ljaCBnZWZhZWxsaWdzdAp1bSBkaWVzZW4gVGVybWluIGRydW1ydW0genUgZ2VzdGFsdGVuLgoKTmVpbiwgaW0gRXJuc3QsIGRlciBCZXN1Y2ggZGVzIFBsYW5ldGFyaXVtcyBpbiBNdWVuc3RlciBpc3QgbWl0IFNpY2hlcmhlaXQKZWluZSBmZWluZSBTYWNoZSwgdW5kIGRpZSBWb3JzdGVsbHVuZyB1bSAxNTowMCBVaHIgaXN0IHdhaHJzY2hlaW5saWNoIGFtCmludGVyZXNzYW50ZXN0ZW4uCgpEYXMgc2Nob2VuZSBhbSBNdWVuc3RlcmFuZXIgUGxhbmV0YXJpdW0gaXN0LCBkYXMgd2lyIHNlaXQgZWluIHBhYXIgSmFocmVuCmVpbmVuIHVsdHJhbW9kZXJuZW4gTGFzZXJwcm9qZWt0b3IgaGFiZW4sIGRlciAtIHp1bSBCZWlzcGllbCBpbSBWZXJnbGVpY2ggenVtCkJlcmxpbmVyIFBsYW5ldGFyaXVtIGxldHp0ZXMgSmFociAtIGVpbmZhY2ggd3VuZGVydm9sbCBTdGVybmUgc2ltdWxpZXJlbiBrYW5uLgoKRGFzIHVuc2Nob2VuZSBpc3QgZGVyIFByZWlzLCBhdWNoIG1pdCBHcnVwcGVuZXJtYWVzc2lndW5nIGtvc3RldCBkZXIgRWludHJpdHQKOS41MCBETSwgd2VubiB3aXIgbmljaHQgZ2VudWcgenVzYW1tZW5rcmllZ2VuIHNvZ2FyIDExLDAwIERNLiBEaWVzIGxpZWd0CmRhcmFuLCBkYXMgc2ljaCBkYXMgUGxhbmV0YXJpdW0gbWl0dGVuIGltIE11c2V1bSBmdWVyIE5hdHVya3VuZGUgYmVmaW5kZXQsIGRhcwphbGxlaW5lIHNjaG9uIDZETSBrb3N0ZXQuIERhcyBpc3QgYWxsZXJkaW5ncyBuaWNodCBiZXNvbmRlcnMgZG9sbGUsIG1hbiBrYW5uCnNpY2hzIGF1ZiBqZWRlbiBGYWxsIG1pdCBhbnNlaGVuLgoKQW55d2F5LiBpY2ggdmVyc3VjaCBqZXR6dCBtYWwgZnVlciAyMCsgTGV1dGUgenUgcmVzZXJ2aWVyZW4sIHdlciBMdXN0IGhhdAptaXR6dWtvbW1lbiBtb2VnZSBtaXIgYml0dGUgX0pFVFpUXyBlaW5lIE5hY2hyaWNodCBzY2hpY2tlbiwgZGFtaXQgaWNoIGRhcwpzYW1tZWxuIHVuZCBvcmdhbmlzaWVyZW4ga2Fubi4gV2VpdGVyZSBEZXRhaWxzIChBbmZhaHJ0IGV0Yy4pIG1hY2ggaWNoIGltCkxhdWZlIGRlciBXb2NoZSBvZGVyIGFtIEZyZWl0YWcgYWJlbmQuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQbGFuZXRhcmlvbiAoQ2F0d2VhemxlLCAgOC4gTWFpIDIwMDEsIDE2OjA1OjU2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05ODkzMjQ4MDYgcmc9cGFydHkKfiMhIHRpZD05ODkzMjQ4MDYKSGFiIGljaCB2ZXJnZXNzZW4sIGVzIGdpYnQgYXVjaCBuZSAoa2xlaW5lKSBXZWJzZWl0ZSwgZGllIGljaCB2b2VsbGlnIGludHVpdGl2CmdlZnVuZGVuIGhhYmU6IGh0dHA6Ly93d3cucGxhbmV0YXJpdW0tbXVlbnN0ZXIuZGUKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBsYW5ldGFyaW9uIChSb25kYSwgIDkuIE1haSAyMDAxLCAxNzowMToxOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTg5MzI0ODA2IHJnPXBhcnR5Cn4jISB0aWQ9OTg5MzI0ODA2Cj4gRGFzIHNjaG9lbmUgYW0gTXVlbnN0ZXJhbmVyIFBsYW5ldGFyaXVtIGlzdCwgZGFzIHdpciBzZWl0IGVpbiBwYWFyCj4gSmFocmVuIGVpbmVuIHVsdHJhbW9kZXJuZW4gTGFzZXJwcm9qZWt0b3IgaGFiZW4sIC4uLgoKQ29vbC4gS29lbm5lbiB3aXIgZGEgbmljaHQgYmVzc2VyIE1BVFJJWCBkcmF1ZiBzY2hhdWVuPwoKUm9uZGEgKmJhbmF1c2lnIC0gdW5kIHN0ZWh0IGRhenUqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXN0YWV0aWd1bmdlbiAobWFsIHdpZWRlcikgOi0pIChCcmFuZGlyLCAgOS4gTWFpIDIwMDEsIDIwOjMzOjUzKToKSHVodXV1ISA7LSkKCkhpZXIgbnVuIG1hbCB3aWVkZXIgZGllIGFsbHNlaXRzIGJlbGllYnRlCkJlc3RhZXRpZ3VuZ3NsaXN0ZS4gRGllIExldXRlIG1pdCBkZXIKZW50c3ByZWNoZW5kZW4gQmVtZXJrdW5nIGhhYmVuIGxlaWRlciBuaWNodApyZWNodHplaXRpZyB1ZWJlcndpZXNlbi4gRXMgdHV0IG1pciBsZWlkLCBhYmVyCmlyZ2VuZHdvIG11c3MgZGllIEdyZW56ZSBzZWluLiA6KAoKWnVkZW0gaGF0IG5vY2ggZWluIGdld2lzc2VyICJOaWNrIE5pZ2h0IiB1ZWJlcndpZXNlbi4KV2VubiBtYW4gbWlyIGV2ZW50dWVsbCBub2NoIG1pdHRlaWxlbiBrb2VubnRlLCB3ZXIgZGFzCmlzdCwgd2FlcmUgaWNoIHNlaHIgZGFua2JhciA6LSkKClNvLCBkaWVzIHdpcmQgd29obCBkaWUgdm9ybGV0emUgQmVzdGFldGlndW5nc2xpc3RlCmdld2VzZW4gc2VpbiwgZXMgaXN0IGphIG51biBhdWNoIHVud2FocnNjaGVpbmxpY2gsIApkYXNzIG5vY2ggdmllbGUgdWViZXJ3ZWlzZW4gKG9id29obCBpY2ggZGEga2VpbmUKRWlud2FlbmRlIGhhYikKCkRydWVja3QgbWFsIGRpZSBEYXVtZW4sIGRhc3MgaWNoIG1pdCBkZXIgUGFydHkKa2VpbmVuIFZlcmx1c3QgbWFjaGUuIDotKQoKCkJyYW5kaXIKCgpOYW1lICAgICAgICAgIFBhcnR5ICAgVWViZXJuLiAgIEJlbWVya3VuZwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFlbmVhcyAgICAgICAgICAjICAgICAgICMgICAgICAgCkFramFyYSAgICAgICAgICAjICAgICAgICMgICAgICAgCkFsY2luYSAgICAgICAgICAjICAgICAgICMgICAgICAgCkFsbWR1ZGxlciAgICAgICAgICAgICAgICAgICAgICAgCkFuYXRvbCAgICAgICAgICAgICAgICAgICAgICAgICAgCkFyYW5jaWEgICAgICAgICAgICAgICAgICAgICAgICAgCkFyaWFuYSAgICAgICAgICAjICAgICAgICAgICAgICAgCkFya2FuYSAgICAgICAgICAgICAgICAgICAgICAgICAgCkJhbWJpICAgICAgICAgICAjICAgICAgICMgICAgICAgCkJpZWxlZmVsZCAgICAgICAjICAgICAgICMgICAgICAgCkJsYWVpbnMgICAgICAgICAgICAgICAgICAgICAgICAgCkJsdWVnb2JsaW4gICAgICAgICAgICAgICAgICAgICAgCkJvaW5nICAgICAgICAgICAjICAgICAgICAgICAgICAgCkNha2V5ICAgICAgICAgICAjICAgICAgICMgICAgICAgCkNhc3NhbmRyYSAgICAgICAjICAgICAgICMgICAgICAgCkNpbmRlcmVsbGEgICAgICAjICAgICAgICAgICAgICAgCkNvbnkgICAgICAgICAgICAjICAgICAgICMgICAgICAgCkNvcmFseW4gICAgICAgICAjICAgICAgICMgICAgICAgCkRhcmlhICAgICAgICAgICAjICAgICAgICMgICAgICAgCkRhcmt3aW5nICAgICAgICAjICAgICAgICMgICAgICAgKzEwRE0gQUsKRGVlcGJsdWUgICAgICAgICMgICAgICAgIyAgICAgICAKRG9jZGV2aWwgICAgICAgICAgICAgICAgICAgICAgICAKRHJhY2hubyAgICAgICAgICMgICAgICAgICAgICAgICAKRWxlbmRpbCAgICAgICAgICMgICAgICAgICAgICAgICAKRmFudGFnaGlybyAgICAgICMgICAgICAgICAgICAgICAKRmlyZWhhd2sgICAgICAgICMgICAgICAgIyAgICAgICArMTBETSBBSwpGaXpiYW4gICAgICAgICAgIyAgICAgICAjICAgICAgIApGb29iYXIgICAgICAgICAgIyAgICAgICAgICAgICAgIApHYWxicmFpdGggICAgICAgIyAgICAgICAjICAgICAgIApHbm9tZSAgICAgICAgICAgIyAgICAgICAjICAgICAgIApHb2xhcyAgICAgICAgICAgIyAgICAgICAjICAgICAgIApHb3JvZyAgICAgICAgICAgIyAgICAgICAgICAgICAgIApHdWFyZCAgICAgICAgICAgIyAgICAgICAjICAgICAgIApIaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgIApIb2JvICAgICAgICAgICAgIyAgICAgICAgICAgICAgIApIb3dpZSAgICAgICAgICAgIyAgICAgICAjICAgICAgIApIdW1uaSAgICAgICAgICAgIyAgICAgICAjICAgICAgIApJbGVzc2EgICAgICAgICAgICAgICAgICAgICAgICAgIApJbWRhICAgICAgICAgICAgICAgICAgICAKSW5lc2hhICAgICAgICAgICMgICAgICAgICAgICAgICAKSXZvICAgICAgICAgICAgICMgICAgICAgIyAgICAgICAKSmFzb25yaWdpZCAgICAgICMgICAgICAgIyAgICAgICAKSm9mICAgICAgICAgICAgICMgICAgICAgICAgICAgICAKS2FkaXMgICAgICAgICAgICMgICAgICAgIyAgICAgICArMTBETSBBSwpLYWZmICAgICAgICAgICAgIyAgICAgICAjICAgICAgIApLYXJpYyAgICAgICAgICAgIyAgICAgICAjICAgICAgIApLeXJpYSAgICAgICAgICAgIyAgICAgICAjICAgICAgIApMYWdvcyAgICAgICAgICAgIyAgICAgICAjICAgICAgIApMYW1lbnRhICAgICAgICAgICAgICAgICAgICAgICAgIApMYXJhbmlzICAgICAgICAgIyAgICAgICAjICAgICAgIApMYXJpbmEgICAgICAgICAgIyAgICAgICAjICAgICAgIApMYXJpc3NhICAgICAgICAgIyAgICAgICAgICAgICAgIApMaWFyYSAgICAgICAgICAgIyAgICAgICAjICAgICAgIApMaXJhbmEgICAgICAgICAgIyAgICAgICAjICAgICAgIApMdXJjaGkgICAgICAgICAgICAgICAgICAgICAgICAgIApMdXppZSAgICAgICAgICAgIyAgICAgICAgICAgICAgICsxMERNIEFLCk1hbmdvICAgICAgICAgICAjICAgICAgICMgICAgICAgCk1hc3EgICAgICAgICAgICAgICAgICAgIApNZW5hY2UgICAgICAgICAgIyAgICAgICAgICAgICAgIApNZXNpcmlpICAgICAgICAgIyAgICAgICAjICAgICAgIApNaWthZ2UgICAgICAgICAgIyAgICAgICAjICAgICAgIApNb3Jnb3RoICAgICAgICAgICAgICAgICAgICAgICAgIApNdWVja2UgICAgICAgICAgIyAgICAgICAjICAgICAgIApNdXBmZWwgICAgICAgICAgIyAgICAgICAgICAgICAgIApNeXN0ZXJpb3VzICAgICAgIyAgICAgICAjICAgICAgIApOYW1ha2FyaSAgICAgICAgICAgICAgICAgICAgICAgIApPbGxpICAgICAgICAgICAgIyAgICAgICAjICAgICAgICsxMERNIEFLCk9ya3RvZXRlciAgICAgICAgICAgICAgICAgICAgICAgClBhZHJlaWMgICAgICAgICAjICAgICAgICMgICAgICAgClBlcmRpdGEgICAgICAgICAjICAgICAgICMgICAgICAgClBmZWlmZSAgICAgICAgICAjICAgICAgICMgICAgICAgClBpdGZhbGwgICAgICAgICAgICAgICAgICAgICAgICAgClB1ayAgICAgICAgICAgICAjICAgICAgICAgICAgICAgClFpdGVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgClJhcmRpYW4gICAgICAgICAjICAgICAgICMgICAgICAgClJheXplZWwgICAgICAgICAjICAgICAgICMgICAgICAgClJpa3VzICAgICAgICAgICAgICAgICAgICAgICAgICAgClJpbmdvciAgICAgICAgICAgICAgICAgICAgICAgICAgClJvY2h1cyAgICAgICAgICAjICAgICAgICAgICAgICAgClJvbmRhICAgICAgICAgICAjICAgICAgICMgICAgICAgClJ1bGV6ICAgICAgICAgICAgICAgICAgICAgICAgICAgClJ1cGVydCAgICAgICAgICAgICAgICAgICAgICAgICAgClNoYWtlZGJlZXIgICAgICAgICAgICAgICAgICAgICAgClNsYWlmb3ggICAgICAgICAgICAgICAgICAgICAgICAgClNsYXllciAgICAgICAgICAjICAgICAgICMgICAgICAgKzEwRE0gQUsKU29sbXlyICAgICAgICAgICMgICAgICAgIyAgICAgICAKU3Ryb2hhbG0gICAgICAgICMgICAgICAgICAgICAgICAKU3VnYWFuICAgICAgICAgICAgICAgICAgICAgICAgICAKVGFjayAgICAgICAgICAgICMgICAgICAgICAgICAgICAKVGVkZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAKVGVsa2EgICAgICAgICAgICMgICAgICAgICAgICAgICAKVGhhbmRpdXMgICAgICAgICAgICAgICAgICAgICAgICAKVGh1ZmhpciAgICAgICAgICMgICAgICAgIyAgICAgICAKVGlsbHkgICAgICAgICAgICAgICAgICAgICAgICAgICAKVHJpZmFuICAgICAgICAgICAgICAgICAgICAgICAgICAKVHJ5ZmFuICAgICAgICAgICMgICAgICAgICAgICAgICAKVHdyeCAgICAgICAgICAgICAgICAgICAgClVuYXNhaSAgICAgICAgICAjICAgICAgICAgICAgICAgClZhcmRpb24gICAgICAgICAjICAgICAgICMgICAgICAgClZhcmxhcmlvbiAgICAgICAjICAgICAgICAgICAgICAgClZlcmVuYSAgICAgICAgICAgICAgICAgICAgICAgICAgClZpbmNlbnQgICAgICAgICAgICAgICAgICAgICAgICAgClZpcGVyICAgICAgICAgICAjICAgICAgICAgICAgICAgKzEwRE0gQUsKV2FsZGkgICAgICAgICAgICAgICAgICAgICAgICAgICAKV2FyZ29uICAgICAgICAgICMgICAgICAgICAgICAgICAKV2lsbG93ICAgICAgICAgICMgICAgICAgICAgICAgICAKV3VlaGxlciAgICAgICAgICMgICAgICAgIyAgICAgICAKV3VyemVsICAgICAgICAgICAgICAgICAgICAgICAgICAKWmVwaHlyICAgICAgICAgICMgICAgICAgICAgICAgICAKWm9vayAgICAgICAgICAgICMgICAgICAgICAgICAgICAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVzdGFldGlndW5nZW4gKG1hbCB3aWVkZXIpIDotKSAoSGlnaHQsICA5LiBNYWkgMjAwMSwgMjA6NTM6MjYpOgp+IyEgcm49QnJhbmRpciBydD05ODk0MzMyMzMgcmc9cGFydHkKfiMhIHRpZD05ODk0MzMyMzMKKndhZWx6KiAKCmljaCBoYWIgZGFzIHNvZ2FyIG1hbCBpbiBncm9zc2VuIGRydWNrYnVjaHN0YWJlbiBhdXNnZWZ1ZWxsdAoKd2VubiBkZXIgc2Nhbm5lciBrZWluIDoga2FubiBpcyBkYXMgZG9vZiBhYmJhIEggdW5kIE4genUgdmVyd2VjaHNlbG4gaXNzIGFyZwoKYWxzbyBpY2ggYmluIGRhcyAob3JnbmFsdGV4dCAgTklDSzogSElHSFQpCgpZVCBIaWdodCBtaXQgSCBuZXQgbWl0IE4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVzdGFldGlndW5nZW4gKG1hbCB3aWVkZXIpIDotKSAoR25vbWUsIDEwLiBNYWkgMjAwMSwgMDE6MjI6MDApOgp+IyEgcm49SGlnaHQgcnQ9OTg5NDM0NDA2IHJnPXBhcnR5Cn4jISB0aWQ9OTg5NDMzMjMzCmluIGV0d2Egc28sIHdpZSBtZWluIHRmIGpldHp0IGRhcyBrb21wbGV0dGUgImkiIGF1cyAib3JnbmFsdGV4dCIKcmF1c3NjYW5udD8gOy0pCgpnbk9tZSByYWV0OiBsYW5nc2FtIHNjaHJlaWJlbiB0dXQga2VpbmVtIHdlaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVzdGFldGlndW5nZW4gKG1hbCB3aWVkZXIpIDotKSAoQ2F0d2VhemxlLCAxMC4gTWFpIDIwMDEsIDA3OjQ1OjQ5KToKfiMhIHJuPUhpZ2h0IHJ0PTk4OTQzNDQwNiByZz1wYXJ0eQp+IyEgdGlkPTk4OTQzMzIzMwpOZXVsaWNoIGF1ZiBkZW0gTUctU3RhbW10aXNjaC4uLgoKQnJhbmRpciBiZXNjaHdlcnQgc2ljaCB1ZWJlciBmZWhsZW5kZS9mYWxzY2hlL3VuYmVrYW5udGUgTmFtZW4gYmVpIGRlbgpVZWJlcndlaXN1bmdlbi4KQnJhbmRpciBibGFldHRlcnQgaW4gc2VpbmVuIEtvbnRvYXVzenVlZ2VuLgpCcmFuZGlyIHNhZ3Q6IFp1bSBCZWlzcGllbCB3ZXIgenVtIFRldWZlbCBpc3QgTmljayBOaWdodD8KPz8gc2FndDogRGFzIGlzdCBkZXIgQnJ1ZGVyIHZvbiBNaWNoZWFsLgpDYXR3ZWF6bGUgc2FndDogSG9sIG1pY2ggaGllciByYXVzIEtpdHQhCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGxhbmV0YXJpb24gKENhdHdlYXpsZSwgMTAuIE1haSAyMDAxLCAxMzo0MDozOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTg5MzMwNzU2IHJnPXBhcnR5Cn4jISB0aWQ9OTg5MzI0ODA2ClNvLCBpY2ggaGFiIHp3YXIgbnVyIDE1IEFubWVsZHVuZ2VuLCBhYmVyIGljaCBob2ZmZSBkYXMgZGEgbm9jaCBlaW4gcGFhcgprb21tZW4uIEljaCBiZXN0YWV0aWdlIGFsc28gZGVuIFRlcm1pbiAxNTowMCBpbSBQbGFuZXRhcml1bS4KCkZ1cnRoZXIgaW5mb3M6CgpEYXMgUGxhbmV0YXJpdW0gYmVmaW5kZXQgc2ljaCBpbSBNdXNldW0gZnVlciBMYW5kZXNrdW5kZSwgRGFzIE11c2V1bSBmdWVyCkxhbmRlc2t1bmRlIGJlZmluZGV0IHNpY2ggYXVmIGRlciBTZW50cnVwZXIgU3RyYXNzZSAyODUsIGRpcmVrdCBuZWJlbiBkZW0gWm9vLgpadSBmaW5kZW4gaXN0IGRhcyByZWNodCBlaW5mYWNoLiBNaXQgZGVtIEF1dG8gZm9sZ3QgbWFuIGVpbmZhY2ggZGVyCkF1c3NjaGlsZGVydW5nIHp1bSBab28vUGxhbmV0YXJpdW0uIFdlciBzaWNoIGRhIHVlYmVyc2ljaHQgdmVyc2NoYWZmZW4gd2lsbCwKa2FubiBqYSBtYWwgYXVmIHN0YWR0cGxhbi5tdWVuc3Rlci5kZSBuYWNoc2VoZW4uIFdlciBtaXQgZGVtIEJ1cyBmYWhyZW4gd2lsbAptb2VnZSBMaW5pZSAxNCBiZW51dHplbi4gVm9uIEdpZXZlbmJlY2svU2NobGFmaGFsbGUgYXVzIHN0ZWlndCBtYW4gaW4gZGllIDExCnVuZCBhbSBKdW5nZWJsb2R0cGxhdHogdW0gaW4gZGllIDE0LiAKCkFsdGVybmF0aXYga29lbm50ZSBpY2ggYW5iaWV0ZW4sIGRhcyB3aXIgZGFoaW4gbGF1ZmVuLiBNaXR0YWdzIGlzdCB3b2hsIGVoCmtlaW5lciBtZWhyIGluIEdpZXZlbmJlY2ssIHNvbmRlcm4gdHVtbWVsdCBzaWNoIHZpZWxsZWljaHQgaW4gZGVyIFN0YWR0IHJ1bS4KVm9yc2NobGFnOiB3aXIgdHJlZmZlbiB1bnMgdW0gMTQ6MDAgVWhyIHZvcm0gKFZPUk0pIFNjaGxvc3MgdW5kIGxhdWZlbiBkYWhpbiwKZGFzIGR1ZXJmdGUgZXR3YSAzMC00NSBNaW51dGVuIGRhdWVybi4gSXN0IG5lbiBnYW56IHNjaG9lbmVyIFNwYXppZXJnYW5nIHVuZAphbSBXRSBzb2xscyBiZXN0ZXMgV2V0dGVyIGdlYmVuIChKYSwgYXVjaCBpbiBNdWVuc3RlcikuIAoKV2llIGF1Y2ggaW1tZXIgaWhyIGRhaGlua29tbXQsIGlociBzb2xsdGV0IHNwYWV0ZXN0ZW5zIHVtIDE0OjQ1IGFtIFBsYW5ldGFyaXVtCnNlaW4sIGRhbWl0IHdpciBub2NoIEdlbGQgdW5kIExldXRlIHNhbW1lbG4ga29lbm5lbiBmdWVyIGRpZQpHcnVwcGVuZXJtYWVzc2lndW5nIHVuZCBndXRlIFBsYWV0emUga3JpZWdlbi4KCkZhbGxzIEludGVyZXNzZSBhbiBkZXIgTGF1ZmVyZWkgYmVzdGVodCAoVHJlZmZlbiB2b3IgU2NobG9zcyEpLCBiaXR0ZSBtaXIKQmVzY2hlaWQgZ2ViZW4sIGRhbWl0IGljaCBkYSBuaWNodCB1bXNvbnN0IHJ1bXN0ZWhlLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaGluZXNlIChDYXR3ZWF6bGUsIDEwLiBNYWkgMjAwMSwgMTQ6MDY6MDIpOgoKU28sIG5vY2ggZWluIHBhYXIgSW5mb3MgenVtIENoaW5lc2VuLgpFcyBnaWJ0IGRhIGVpbiB6d2VpIFNjaHdpZXJpZ2tlaXRlbiwgZGllIHN0ZWxsZW4gc2ljaCBldHdhcyBwaXNzaWcgYW4gZGllc21hbCwKYWJlciBiaXNoZXIgc2VoIGljaCBrZWluZSBlbnRzY2hlaWRlbmRlbiBQcm9ibGVtZS4gCkFtIFNvbm50YWcgZ2VodHMgd2llIGltbWVyIHp1bSBDaGluZXNlbiB1bmQgendhciB1bSAxMjowMCBVaHIsIHNwYWV0ZXN0ZW5zCjEyOjMwLgpEZXIgQ2hpbmVzZSwgenUgZGVtIHdpciBnZWhlbiwgaXN0IGF1Y2ggd2llIGltbWVyICdIb25nIEJpbicgYW4gZGVyCkthbmFsc3RyYXNzZSA0OS4gSWNoIHNjaGFmZnMgZ2FyYW50aWVydCBuaWNodCBtZWhyIGVpbmUgS2FydGUgenUgemVpY2huZW4sIHdlcgpzaWNoIGRhenUgYmVydWVmZW4gZnVlaGx0IG1vZWdlIGRpZXMgdHVuLCBhbnNvbnN0ZW4gZW1wZmVobGUgaWNoIGF1Y2ggaGllcgpzdGFkdHBsYW4ubXVlbnN0ZXIuZGUuCgpFcyBnaWJ0IGVpbmUga2xlaW5lIEVpbnNjaHJhZW5rdW5nIGJlaW0gRXNzZW4sIGRhIHdpciBzb3ZpZWwgc2luZCB1bmQgZXIKYXVzc2VyZGVtIGF1Y2ggbm9jaCBhdWZncnVuZCBkZXMgTXV0dGVydGFnZXMgZGllIEJ1ZGUgdm9sbCBoYXQsIHNvbGxlbiB3aXIgdW5zCmF1ZiBkYXMgQnVmZmV0IGJlc2NocmFlbmtlbi4gRGFzIGtvc3RldCAyMiwtRE0gdW5kIGRhIGlzdCBhbGxlcyBkYWJlaSB3YXMgbWFuCnNvIHZvbSBDaGluZXNlbiBlcndhcnRlbiBrYW5uLCBpbiBiZWxpZWJpZ2VuIE1lbmdlbiBkaWUgaWhyIHZlcmtyYWZ0ZW4ga29lbm50LgpGdWVyIExldXRlIG1pdCBrbGVpbmVyZW4gTWFlZ2VuIHVuZCBrbGVpbmVyZW4gQnJpZWZ0YXNjaGVuIGJlc3RlaHQgYWJlcgpiZXN0aW1tdCBhdWNoIGRpZSBNb2VnbGljaGtlaXQgYXVzbmFobXN3ZWlzZSB2b24gZGVyIEthcnRlIHp1IGJlc3RlbGxlbi4KRGllIDIyRE0gc2luZCBhYmVyIHZvbGwgaW4gT3JkdW5nLCBkZXIgQ2hpbmVzZSBpc3QgZWggbmljaHQgZGVyIGJpbGxpZ3N0ZSwKZGFmdWVyIGdpYnQgZXMgZGEgZXJmYWhydW5nc2dlbWFlc3Mgc2VociBzZWhyIGd1dGVzIEVzc2VuLgoKRXMgd2FlcmUgZ3V0IHZvcmhlciB6dSB3aXNzZW4sIHdlciBhbGxlcyBtaXQgenVtIGNoaW5lc2VuIGtvbW10LCBpY2ggaGFiIGpldHp0CjYwLTgwIGFuZ2VtZWxkZXQsIHdlbm4gd2lyIGRhcyB1bnRlci0gb2RlciB1ZWJlcnNjaHJlaXRlbiBtb2VjaHRlIGljaCBkZW0KQ2hpbmFtYW5uIGRhcyB3b2hsIGRvY2ggbm9jaCBnZXJuZSB2b3JoZXIgc2FnZW4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGluZXNlIChCcmFuZGlyLCAxMC4gTWFpIDIwMDEsIDE1OjE0OjI2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05ODk0OTYzNjIgcmc9cGFydHkKfiMhIHRpZD05ODk0OTYzNjIKRHUgQ2F0dHksIHdlbm4gaWNoIG1pY2ggcmVjaHQgZXJpbm5lcmUsIGhhdHRlbiB3aXIgZG9ydCBkYXMgbGV0enRlIE1hbCBhdWNoCmFsbGUgQnVmZmV0LgoKRXVyZW4gQ2hpbmVzZW5zdGF0dXMga29lbm50IGlociBhYmdlYmVuLCB3ZW5uIGlociBiZXphaGx0L2V1ZXIgTmFtZW5zY2hpbGQKaG9sdC4KCkJyYW5kaXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2hpbmVzZSAoSGlnaHQsIDEwLiBNYWkgMjAwMSwgMTY6Mjc6MzUpOgp+IyEgcm49QnJhbmRpciBydD05ODk1MDA0NjYgcmc9cGFydHkKfiMhIHRpZD05ODk0OTYzNjIKbmFtZXNzY2hpbGQgPyAKCmR1cyBwaW5uc3R6IHdvaGwgbXVzcyBkb2NoIGtlaW5lciB3aXNzZW4gd2VyIGljaCBiaW4gLG8pCgpZVCBIaWdodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhbm4gZ2VodHMgbG9zPyEgKFNvbG15ciwgMTEuIE1haSAyMDAxLCAxMDozNDoxOCk6Cn4jISBybj1Sb25kYSBydD05ODk1Njk5OTggcmc9cGFydHkKfiMhIHRpZD05ODk1Njk5OTgKU29sKiwgZ3JhdHVsaWVyZW5kIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYW5uIGdlaHRzIGxvcz8hIChSb25kYSwgMTEuIE1haSAyMDAxLCAxMDozNDozMik6Cn4jISBvbj1Sb25kYSBvdD05ODk1NzAwNDYgb2c9bWVnYXNjaG1hcnJuCn4jISBvbj1Sb25kYSBvdD05ODk1Njk5OTggb2c9cGFydHkKfiMhIG9uPVJvbmRhIG90PTk4OTU2OTkxNiBvZz1zY2htYXJybgp+IyEgb249Um9uZGEgb3Q9OTg5NTY5ODIyIG9nPXNjaG1hcnJuCkhpLAoKaWNoIGdsYXViZSwgZGFzIGhhdCBCcmFuZGlyIG51ciBpcmdlbmR3byB2ZXJzdGVja3QgdW50ZXJnZWJyYWNodDogRGllIFBhcnR5CnN0YXJ0ZXQgZG9jaCAnb2ZmaXppZWxsJyB1bSAyMCBVaHIgaW0gQ3ViYSwgZ2VsbD8KRmFsbHMgZGllIFplaXQgbmljaHQgcGFzc3Q6IEJpdHRlIGtvcnJpZ2llcmVuLgoKUm9uZGEgKnBsYW5lbmQqCihXYXIgZGFzIGpldHp0IEdlcnVuZGl1bSBvZGVyIEdlcnVuZGl2dW0/IDstKSApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQbGFudHNjaGVuISAoQ2F0d2VhemxlLCAxMS4gTWFpIDIwMDEsIDExOjE3OjA5KToKCkt1Y2t1Y2ssCgpJY2ggaGFiIGdlcmFkZSBlcmZhaHJlbiwgZGFzIGluIE11ZW5zdGVyIHNvZWJlbiAoaGV1dGUpIGRpZSBGcmVpYmFlZGVyCmF1ZmdlbWFjaHQgaGFiZW4uIFdlciBhbSBTYW1zdGFnIGFsc28gZG9ydCBydW1ydWRlbG4gbW9lY2h0ZSwgbW9lZ2Ugc2VpbgpTY2h3aW1temV1ZyBuaWNodCB2ZXJnZXNzZW4uIEViZW5mYWxscyBpc3QgbmljaHQgenUgdmVyZ2Vzc2VuLCBkYXMgZXMgdW0gMyBpbnMKUGxhbmV0YXJpdW0gZ2VodCA6LSkKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBsYW50c2NoZW4hIChHb3JvZywgMTEuIE1haSAyMDAxLCAxNDo1NjoyMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTg5NTcyNjI5IHJnPXBhcnR5Cn4jISB0aWQ9OTg5NTcyNjI5CkhtbW0sIGJhZGVuIGluIE11ZW5zdGVyPyEgRGEgYnJhdWNoIG1hbiBrZWluIEZyZWliYWQsIGRhIGthbm4gbWFuIHNpY2ggYXVjaApnZW5hdXNndXQgYW4gbmVtIFgtYmVsaWViaWdlbiBUYWcgYXVmIGRpZSBTdHJhc3NlIHN0ZWxsZW4gdW5kIHNpY2ggdm9uIGt1ZWhsZW0KTmFzcyBmcmVpIEhpbW1lbCBhYmt1ZWhsZW4gbGFzc2VuLiAKQWJlciB3aWUgaWNoIGdlcmFkZSBzZWhlLCBzY2hlaW50IGhpZXJuIEZlaGxlciBpbSBSYXVtemVpdGdlZnVlZ2UgYXVmZ2V0cmV0ZW4KenUgc2VpbiBkZXIgdW5zZXJlIGdlb2dyYXBoaXNjaGUgUG9zaXRpb24gaXJnZW5kd28gbmFjaCBTdWVkaXRhbGllbgp0cmFuc2Zvcm1pZXJ0IGhhdC4gQWxzbyBMZXV0ZSB3ZXIgc2Nob24gaW1tZXIgbWFsIGd1ZW5zdGlnIG4gV29jaGVuZW5kZSBhbQpNaXR0ZWxtZWVyIG9obmUgTWVlciBlcmxlYmVuIHdvbGx0ZSwgZGVyIGtvbW1lIG5hY2ggTXVlbnN0ZXIgdW5kIG5laG1lIGFuIGRlcgpTb21tZXIgYWVoIEZydWVoamFocnNwYXJ0eSB0ZWlsLgoKbWZHb3JvZyBrb21tdCB6d2FyIHNwYWV0ZXIgaW5zIEMuVS5CLkEuLCBhYmVyIEl0YWxpZW4gaXMgamEgYXVjaCB3ZWl0IHdlZyAoOwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UhIChUaHVmaGlyLCAxMy4gTWFpIDIwMDEsIDE3OjA4OjQzKToKSWNoIHdvbGx0IG51ciBub2NobWFsIGF1ZiBkaWVzZW0gV2VnIHNhZ2VuOiBEYW5rZSEKRGFua2UgZnVlciBkaWUgYWJzb2x1dCBnZWx1bmdlbmUgUGFydHksIGd1dGUgT3JnYW5pc2F0aW9uLCBiZXN0ZXMgV2V0dGVyLgpEYW5rZSBNdWVuc3RlciwgRGFua2UgQnJhbmRpci4KClRodWZoaXIgZGVua3QgLm9PKCBydW5kdW0gZ2VsdW5nZW5lIFBhcnR5ICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic3Bhbm4uLi4gKEJyYW5kaXIsIDEzLiBNYWkgMjAwMSwgMTc6MTQ6MjUpOgpJY2ggd29sbHRlIG51ciBrdXJ6IGVyd2FlaG5lbiwgZGFzcyAxMTYgTXVkZGVyIGRlciBQYXJ0eSBiZWlnZXdvaG50IGhhYmVuLgoKQXVzc2VyZGVtIGhhYmUgaWNoIGhldXRlIGltIEtvbnRyb2xscmF1bSBkZXIgVHVybmhhbGxlIGVpbmVuIGdydWVuZW4KTGVkZXJydWNrc2FjayBnZWZ1bmRlbiwgaW4gZGVtIHNpY2ggZWluZSAiU29kYS1NYXh4Ii1GbGFzY2hlIGJlZmFuZC4KRGVyIEJlc2l0emVyIG1vZWdlIHNpY2ggYmVpIG1pciBtZWxkZW4uCgpCcmFuZGlyIC0gaGF0IGRpZSBGZXRlIFNwYXNzIGdlbWFjaHQgdW5kIG1vZWNodGUgYWxsZW4gR2Flc3RlbiBkYW5rZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2UhIChSb25kYSwgMTMuIE1haSAyMDAxLCAyMjo0Mjo0Myk6Cn4jISBybj1UaHVmaGlyIHJ0PTk4OTc2NjUyMyByZz1wYXJ0eQp+IyEgdGlkPTk4OTc2NjUyMwpJY2ggc2NobGllc3MgbWljaCBlaW5mYWNoIFRodWZpciBhbjogVmllbGVuIERhbmsgYW4gQnJhbmRpciBmdWVyIGRpZSBhYnNvbHV0CmdlbmlhbGUgT3JnYW5pc2F0aW9uISBIb2ZmZW50bGljaCBoYXN0IER1IGF1Y2ggZWluIGJpc3NjaGVuIHdhcyB2b24gZGVyIFBhcnR5CmdlaGFidCAtIGlyZ2VuZHdpZSBoYWInIGljaCBEaWNoIG51ciBnZXNlaGVuLCB3ZW5uIER1IGZ1ZXIgdW5zICdtYWwgZWJlbicKQnJvZXRjaGVuIG9kZXIgUGl6emFuYWNoc2NodWIgb3JnYW5pc2llcnQgaGFzdCAtIGRhbmtlIQoKUm9uZGEgKm1pdCAnbmVtIHNjaGxlY2h0ZW4gR2V3aXNzZW4sIHdlaWwgQnJhbmRpciB2ZXJtdXRsaWNoIHNvZ2FyIGRhcwpIYWxsZS1BdWZyYWV1bWVuIGFsbGVpbiBnZW1hY2h0IGhhdCwgb2Rlcj8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXdlaXNmb3RvcyAuLi4gKEZhbnRhZ2hpcm8sIDE0LiBNYWkgMjAwMSwgMDk6NDM6NTIpOgpoaSwgCgphbHNvIGRpZSBCZXdlaXNmb3RvcyBkaWUgaWNoIGdlbWFjaHQgaGFiIGxpZWdlbiB1bnRlcjogCmh0dHA6Ly9sYWNyaS5tYWludGVjaC5kZS9wYXJ0eS5odG1sCkZ1ZXIgaXJnZW5kd2VsY2hlIFZlcnJlbmt1bmdlbiBsZWhuZSBpY2ggamVnbGljaGUgSGFmdHVuZyBhYi4gCgpGYW50YWdoaXJvKiAKCnAucy4gc29sbHRlIHNpY2ggd2VyIGF1ZiBkZW4gRm90b3MgZXJrZW5uZW4gdW5kIHNpY2ggYmVuYWNodGVpbGlndCBmdWVobGVuCndlaWwgZXIvc2llIG5pY2h0IGdlbmFubnQgd3VyZGUsIGJpdHRlIG5lIGtsZWluZSBtYWlsIGFuIG1pY2gsIGRhbWl0IGljaHMKYWVuZGVybiBrYW5uLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmlsZGVyLi4uIChBbmF0b2wsIDE0LiBNYWkgMjAwMSwgMDk6NTU6MjIpOgpBYnNlbmRlcjogKioqKioqKioqCkFuOiBBbmF0b2wKRGF0dW06IE1vbiwgMTQuIE1haSAyMDAxLCAwNzozNTowMQpUaXRlbDogUmU6IFBhcnR5Zm90b3MKCk1hY2ggZG9jaCB3YXMgRHUgd2lsbHN0LgoqKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBZWhtLiBEZXIgRWlmZXIgdW5kIGRhcyBWZXJ0cmF1ZW4gaW4gRWhyZW4sIGFiZXIgaWNoIGhhYmUgZ2VyYWRlbWFsCjMwIEF1Zm5haG1lbiBnZW1hY2h0LCBkYXZvbiB3ZXJkZW4gaG9lY2hzdGVuZSAxNS0yMCB2ZXJvZWZmZW50bGljaHVuZ3MtCnd1ZXJkaWcgc2Vpbi4uLiBkZW1uYWNoIHdpcmQncyBkaWVzZSBCaWxkZXIgZXJzdCBnZW1laW5zYW0gbWl0IGRlbiAKQmlsZGVybiBkZXIgbmFlY2hzdGVuIFBhcnR5IGdlYmVuLgoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHliaWxkZXIuLi4gKE1lc2lyaWksIDE0LiBNYWkgMjAwMSwgMDk6NTY6MTIpOgp+IyEgcm49QW5hdG9sIHJ0PTk4OTgyNjkyMiByZz1wYXJ0eQp+IyEgdGlkPTk4OTgyNjkyMgpGYXVsZXIgS2VybCwgc29uc3QgaGF0IGRhcyBiZXNzZXIgZ2VrbGFwcHQgOikKTWVzaSwgaGF0IGF1Y2ggMyB2b24gQW5hdG9scyBGb3RvcyB2ZXJicm9jaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVsaWNoIGF1ZiBkZXIgTUctUGFydHkgKENhdHdlYXpsZSwgMTQuIE1haSAyMDAxLCAxMzo1MTo0Myk6CkhhYiBpY2hzIHVlYmVybGVzZW4/OgoKQW4gZGVyIFRoZWtlLgpIdW1uaSBzYWd0OiBHaWIgbWlyIG1hbCBuZSBDb2xhLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1bGljaCBhdWYgZGVyIE1HLVBhcnR5IChNdXBmZWwsIDE0LiBNYWkgMjAwMSwgMTM6NTM6NDQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk4OTg0MTEwMyByZz1wYXJ0eQp+IyEgdGlkPTk4OTg0MTEwMwpCZWltIEVpc2Vzc2VuOgoKTXVwZmVsIHNhZ3Q6IEVyem1hZ2llciBzaW5kIGF1Y2ggbnVyIE1lbnNjaGVuIHdpZSBEdSB1bmQgaWNoLgpHb3JvZyBzYWd0OiBBY2hqYT8gVW5kIGljaCBkYWNodGUgbWFuIGtvZW5udGUgZGVuZW4gdmVydHJhdWVuLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1bGljaCBhdWYgZGVyIE1HLVBhcnR5IChNdXBmZWwsIDE0LiBNYWkgMjAwMSwgMTM6NTc6MzIpOgp+IyEgcm49TXVwZmVsIHJ0PTk4OTg0MTIyNCByZz1wYXJ0eQp+IyEgdGlkPTk4OTg0MTEwMwpCZWltIEZydWVoc3R1ZWNrOgoKTXVwZmVsIG5pbW10IGRpZSBGbGllZ2Vua2xhdHNjaGUuCk11cGZlbCB6dWVja3QgZGllIEZsaWVnZW5rbGF0c2NoZS4KVmFybGFyaW9uIHNhZ3Q6IFNjaGF0eiwgdmVybGV0eiBEaWNoIG5pY2h0LgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlaW0gQXVmcmFldW1lbiBnZWZ1bmRlbi4uLiAoQmllbGVmZWxkLCAxNC4gTWFpIDIwMDEsIDIwOjQxOjIxKToKTW9pbiEKCkJlaSBlaW5lciBsZWlkZXIgbm9ldGlnZW4gQXVmcmFldW1ha3Rpb24gZmFuZCBpY2ggZWluZSBIYW5kdm9sbCBhbHRlCkZvdG9zLCBnZW5hdWVyIGdlc2FndCBQYXJ0eWJpbGRlciB2b24gZGVyIERyZXNkbmVyIFBhcnR5LiBTY2Fucwpmb2xnZW4gaW4gZGVuIG5hZWNoc3RlbiBUYWdlbi4uLiAKCi1CaWVsZWZlbGQgKGhhdHRlIGdhbnogdmVyZ2Vzc2VuLCBkb3J0IHVlYmVyaGF1cHQgZm90b2dyYXBoaWVydCB6dSBoYWJlbi4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWxpY2ggYXVmIGRlciBNRy1QYXJ0eSAoU29sbXlyLCAxNS4gTWFpIDIwMDEsIDA4OjAzOjE5KToKfiMhIHJuPU11cGZlbCBydD05ODk4NDE0NTIgcmc9cGFydHkKfiMhIHRpZD05ODk4NDExMDMKVW5kIGRhIGdhYnMgZGFubiBub2NoIGRlbiBsaWViZW4gQWxtZHVkbGVyLCBkZXIgbmV1ZSBLbGVpZHVuZyB1bmQnbiBSdWNrLQpzYWNrIGJyYXVjaHRlIDopIE51ciBvYiBkYSBHcmltbWFucyBTYWNoZW4gZGllIGJlc3RlbiB3YXJlbj8KClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVsaWNoIGF1ZiBkZXIgTUctUGFydHkgKEh1bW5pLCAxNS4gTWFpIDIwMDEsIDE1OjAwOjM0KToKfiMhIHJuPUNhdHdlYXpsZSBydD05ODk4NDExMDMgcmc9cGFydHkKfiMhIHRpZD05ODk4NDExMDMKRGllIHdhciBuYXR1ZXJsaWNoIG5pY2h0IGZ1ZXIgbWljaC4KCkFiZXIgd2VubiBpY2ggZXJ6YWVobGUsIGRhc3MgZGllIGZ1ZXIgZWluZW4gZGVyIHdlbmlnZW4gTWFnaWVyIHdhciwgZGVyIHBlcgpEZWZpbml0aW9uIHVuZCBOYW1lbiBlaWdlbnRsaWNoIHdpcmtsaWNoIG51ciBCaWVyIHRyaW5rZW4gc29sbHRlbiwgd2lyZHMgZnVlcgpkZW4gbm9jaCBwZWlubGljaGVyLi4uLgoKQWxzbyBzYWdlIGljaCBuaXggb2huZSBtZWluZW4gQW53YWx0LiBBdXNzZXIgZGFzcyBpY2ggc3BhZXRlciBhbSBBYmVuZCBub2NoClJvY2h1cyBpbSBDb2xhdHJpbmtlbiBiZXNpZWd0IGhhYmUgdW5kIGVyIGRhZnVlciBkaWUgS2FyYXRlZ2lsZGUgd2llZGVyCnNwaWVsYmFyIG1hY2hlbiBtdXNzLgogIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1bGljaCBhdWYgZGVyIE1HLVBhcnR5IChDYXR3ZWF6bGUsIDE1LiBNYWkgMjAwMSwgMTU6MzU6NDQpOgp+IyEgcm49SHVtbmkgcnQ9OTg5OTMxNjM0IHJnPXBhcnR5Cn4jISB0aWQ9OTg5ODQxMTAzClZlcnN1Y2ggZ2FyIG5pY2h0IGVyc3QgRGljaCByYXVzIHp1cmVkZW4sIGRlbm4ga3VyemUgWmVpdCBzcGFldGVyOgoKQW4gZGVyIFRoZWtlLgpIdW1uaSBzYWd0OiBHaWIgbWlyIG5vY2ggbmUgQ29sYS4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT2VobSAoQW5vcmlzLCAxOC4gTWFpIDIwMDEsIDE2OjMwOjI2KToKQXVjaCB2b24gbWlyIHVuZCBHYXN0MSB2aWVsZW4gbGllYmVuIERhbmsgZnVlciBkaWUgc3BvbnRhbmUgT3JnYW5pc2F0aW9uLgpIYXQgbWljaCBzZWhyIGdlZnJldXQgZXVjaCB3aWVkZXJtYWwgenUgc2VoZW4gOykKCkFiZXIsIHdvIGJsZWliZW4gZGllIEJJTERFUj8gOykKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmlsZGVyIChCYW1iaSwgMTkuIE1haSAyMDAxLCAxODoyMzo0MSk6ClVudGVyIGh0dHA6Ly93d3cuZW1hbnVlbC13YXJnYS5kZS9tZ2JpbGRlciBzaW5kIHZvcmxhZXVmaWcgbWFsIGRpZSBCaWxkZXIsIGRpZQppY2ggaW4gTXVlbnN0ZXIgZ2VzY2hvc3NlbiBoYWJlLgpVbnRlciAidm9ybGFldWZpZyIgaXN0IGRpZSBaZWl0ZGF1ZXIgenUgdmVyc3RlaGVuIGFiIGpldHp0IGJpcyB6dSBkZW0KWmVpdHB1bmt0LCB3byBpY2ggZGVuIFBsYXR6IHdpZWRlciBicmF1Y2hlLiBEYXMgc29sbHRlbiBhbHNvIE1vbmF0ZSBzZWluLiA7KQpNZkcsIEJhbWJpLgpQUzogVHlwb3MsIElkZWVuLCBCdWdzIGJpdHRlIGFuIG1laW5lIE1HLUFkcmVzc2UgbWFpbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YmlsZGVyIChCaWVsZWZlbGQsIDE5LiBNYWkgMjAwMSwgMTg6NTU6MzYpOgp+IyEgcm49QmFtYmkgcnQ9OTkwMjg5NDIxIHJnPXBhcnR5Cn4jISB0aWQ9OTkwMjg5NDIxCk1vaW4hCgpBdWNoIGJlaSBtaXIgZ2lidHMgInZvcmxhZXVmaWciIFBhcnR5YmlsZGVyLiBWb3JsYWV1ZmlnIHdhcyBkaWUgVVJMCmJldHJpZmZ0LiBOZWJlbiAyMDAxLWVyIE11ZW5zdGVyYW5lciBCaWxkY2hlbiBnaWJ0IGVzIGRvcnQgYXVjaCAKbm9jaCBlaW4gcGFhciBGb3RvcyB2b24gZGVyIERyZXNkbmVyIFBhcnR5LiBBY2hqYSwgZGVyIExpbms6Cmh0dHA6Ly93d3cuYXd3LnVuaS1oYW1idXJnLmRlL35tYm9jay8KCi1CaWVsZWZlbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHliaWxkZXIgKFNvbG15ciwgMTkuIE1haSAyMDAxLCAxOToxNzoxMik6Cn4jISBybj1CaWVsZWZlbGQgcnQ9OTkwMjkxMzM2IHJnPXBhcnR5Cn4jISB0aWQ9OTkwMjg5NDIxClZpaWllbGVuIERhbmsgYW4gQmllbGVmZWxkIDopIERhcyBoaWVyIGlzdCBtaXQgQWJzdGFuZCBkYXMgc2Nob2Vuc3RlIFBhcnR5LQpiaWxkLCBkYXNzIGljaCBiaXMgamV0enQgZ2VzZWhlbiBoYWIuIElzdCAnbmUgc2Nob2VuZSBHZXNhbXR1ZWJlcnNpY2h0CmFsbGVyIE11ZGRlciBpbiBNdWVuc3RlciA6IGh0dHA6Ly93d3cuYXd3LnVuaS1oYW1idXJnLmRlL21ib2NrL2YyOC5qcGcKClNvbCosIGh1ZXBmZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWJpbGRlciAoQWhhYiwgMTkuIE1haSAyMDAxLCAxOToxOTo1Myk6Cn4jISBybj1Tb2xteXIgcnQ9OTkwMjkyNjMyIHJnPXBhcnR5Cn4jISB0aWQ9OTkwMjg5NDIxCkFlaG0uLi4gbnVyIG1hbCBzbyBhbSBSYW5kZTogYmVzdGVodCBuaWNodCBpcmdlbmR3aWUgZGllIE1vZWdsaWNoa2VpdCwgZGllClBhcnR5YmlsZGVyIGdlc2FtbWVsdCBhdWYgZGVtIE1HLVNlcnZlciBhYnp1bGVnZW4/IERhbm4gYnJhZXVjaHRlIG1hbiBuaWNoCmluIGFsbGVyIFdlbHQgcnVtenVzdXJmZW4sIHVtIGFsbGVzIHNlaGVuIHp1IGtvZW5uZW4uLi4KCkFob2khCiAgIEFoYWIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWJpbGRlciAoQmllbGVmZWxkLCAxOS4gTWFpIDIwMDEsIDE5OjIxOjA5KToKfiMhIHJuPUFoYWIgcnQ9OTkwMjkyNzkzIHJnPXBhcnR5Cn4jISB0aWQ9OTkwMjg5NDIxClJhdGUgbWFsLCB3YXJ1bSBpY2ggenVyIFVSTCAidm9ybGFldWZpZyIgZ2VzY2hyaWViZW4gaGFiZS4uLgoKR3V0IERpbmcgd2lsbCBXZWlsZSBoYWJlbiwgYWJlciBkaWUgTWFzc2VuIHNpbmQgamEgbmV1Z2llcmlnIDopCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWJpbGRlciAoRmlyZWhhd2ssIDE5LiBNYWkgMjAwMSwgMTk6MjE6MTkpOgp+IyEgcm49QWhhYiBydD05OTAyOTI3OTMgcmc9cGFydHkKfiMhIHRpZD05OTAyODk0MjEKRGllIE1vZWdsaWNoa2VpdCBnaWJzIGF1ZiBqZWRlbiBGYWxsLCBkaWUgYmlzaGVyaWdlbiBwYXJ0aWVzIGJld2Vpc2VuIGVzIDspCgpGaXJlaGF3aywga3VyegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHliaWxkZXIgKEFoYWIsIDE5LiBNYWkgMjAwMSwgMTk6MjM6NTEpOgp+IyEgcm49QmllbGVmZWxkIHJ0PTk5MDI5Mjg2OSByZz1wYXJ0eQp+IyEgdGlkPTk5MDI4OTQyMQpOdWphLCBiZWkgYW5kZXJlbiBoYWIgaWNoIHNjaG9uIGRpZSBEZWZpbml0aW9uIGdlc2VoZW4gJ3ZvcmxhZXVmaWcgPSBzb2xhbmdlCmRlciBQbGF0eiBuaWNodCBhbmRlcndlaXRpZyBnZWJyYXVjaHQgd2lyZCcuIEFiZ2VzZWhlbiBkYXZvbiBiaXN0IER1IGphIG5pY2h0CmRlciBlaW56aWdlLCBkZXIgc2VpbmUgQmlsZGVyIG5pY2h0IGF1ZiBkZXIgTUctTWFzY2hpbmUgbGllZ2VuIGhhdC4uLgpVbmQgZGllc2UgZ2FuemVuIFVSTHMgbWFnIGljaCBtaXIgbmljaHQgZWluemVsbiB6dXNhbW1lbnNhbW1lbG4uIDspCgpBaG9pIQogICBBaGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHliaWxkZXIgKE1vYnlkaWNrLCAxOS4gTWFpIDIwMDEsIDE5OjI1OjM5KToKfiMhIHJuPUFoYWIgcnQ9OTkwMjkzMDMxIHJnPXBhcnR5Cn4jISB0aWQ9OTkwMjg5NDIxCgpNb2J5IERpY2sgYmxhZXN0IGt1cnosIGJlaXNzdCBBaGFiIGlucyBCZWluIHVuZCBlcmtsYWVydCBkZW4gVGhyZWFkIGZ1ZXIKYmVlbmRldCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJldHIuIFBhcnR5YmlsZGVyIChPcmt0b2V0ZXIsIDE5LiBNYWkgMjAwMSwgMTk6Mjg6NTYpOgpFcnN0IG1hbCBkYW5rZSBhbiBhbGxlLCBkaWUgc28gZmxlaXNzaWcgZ2Vrbmlwc3QgaGFiZW4gdW5kIGRpZSBCaWxkZXIgc2Nob24gc28Kd2VpdCBoYWJlbiwgZGFzIHNpZSBpbnMgTmV0eiBrb2VubmVuLgoKRnVlciBkaWVqZW5pZ2VuLCBkaWUgaWhyZSBQaG90b3MgZnVlciBkaWUgTUctSG9tZXBhZ2UgenVyIFZlcmZ1ZWd1bmcgc3RlbGxlbgp3b2xsZW4gc2VpIGhpZXIgZGVyIEhpbndlaXMgYXVmIGRhcyBlbnRzcHJlY2hlbmRlIHByb3plZGVyZSBnZWdlYmVuOiAKCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvIHVuZCBkb3J0IGRlbiBQdW5rdDogSGlud2Vpc2UgenVyIEVyc3RlbGx1bmcgdm9uCkJpbGRpbmRpemVzIAoKRGFuayBpbSBWb3JyYXVzLCBPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHliaWxkZXIgKERlZXBibHVlLCAxOS4gTWFpIDIwMDEsIDIyOjIxOjExKToKfiMhIHJuPUFoYWIgcnQ9OTkwMjkzMDMxIHJnPXBhcnR5Cn4jISB0aWQ9OTkwMjg5NDIxCmtvZW5udGUgbmljaHQgamVtYW5kIFZPUkxBRVVGSUcgZGllIFVSTHMgYWxzIExpbmtzIGF1ZiBkaWUgUGFydHlzZWl0ZSBzdGVsbGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHliaWxkZXIgKE11cGZlbCwgMjAuIE1haSAyMDAxLCAwMDo1MDoxOCk6Cn4jISBybj1EZWVwYmx1ZSBydD05OTAzMDM2NzEgcmc9cGFydHkKfiMhIHRpZD05OTAyODk0MjEKQWxsZSBiaXNoZXJpZ2VuIFBhcnR5YmlsZGVyIGthbm4gbWFuIHNpY2ggYmVpIFZhcmxhcmlvbiAod3d3LnZhcmxhcmlvbi5kZS52dSkKYW5zY2hhdW4gKFNpbmQgTGlua3MgenUgZGVuIEJpbGRlcm4gdm9uIEZhbnRhZ2hpcm8sIEJhbWJpIHVuZCBCaWVsZWZha2UgZHJhdWYpCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVycGFydHkgKEthZGlzLCAyMS4gTWFpIDIwMDEsIDE3OjUyOjA2KToKCkhpaG8sCgpqYSwgbmFjaGRlbSBpY2ggbnVuIHZpZWxlIHNjaG9uIHdlZ2VucyBlaW5lciBTb21tZXJwYXJ0eSBnZWZyYWd0IGhhYmUgdW5kIG1pcgprZWluZXIgc28gcmljaHRpZyB3YXMgc2FnZW4ga29ubnRlLCBuZWhtIGljaCBlcyBudW4gc2VsYmVyIGluIGRpZSBIYW5kIHVuZAp3ZXJkIG1hbCB3YXMgdmVyc3VjaGVuIGF1ZiBkaWUgQmVpbmUgenUgc3RlbGxlbi4gTnVuIGphLCBiZXZvciBpY2ggYWJlcgppcmdlbmR3YXMgYW5sZWllcmUsIHd1ZXJkIGljaCBzY2hvbiBnZXJuIHdpc3Nlbiwgb2IgdWViZXJoYXVwdCBJbnRlcmVzc2UKYmVzdGVodC4gRGllIFBhcnR5IHd1ZXJkZSBoYWx0IGluIEJvbm4gc3RhdHRmaW5kZW4gdW5kIGljaCBzY2hsYWcgbWFsIGRhcwpXb2NoZW5lbmRlIHZvbSAxMC4wOC4gLSAxMi4wOC4yMDAxIHZvciwgYWJlciBtYW4gaXN0IGphIHZhcmlhYmVsLGZhbGxzIHp1dmllbGUKaW0gVXJsYXViIHNpbmQuCkFsc28gZGFubiwgd2FlciBzY2hvZW4gd2VubnMga2xhcHB0IC4uLi4gTWFpbHMgYW4gS2FkaXMgb2RlcgpLcmlzdGFsbGRyYWNoZUB3ZWIuZGUKCkJpcyBiYWxkZQoKS2FkaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAoU3Ryb2hhbG0sIDIxLiBNYWkgMjAwMSwgMTc6NTU6MTEpOgp+IyEgcm49S2FkaXMgcnQ9OTkwNDYwMzI2IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CkJpbiBkYS4KCkhhZWxtY2hlbiwgc2VpbiBBdXRvIHN0cmVpY2hlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IChXdXJ6ZWwsIDIxLiBNYWkgMjAwMSwgMTc6NTg6MTQpOgp+IyEgcm49U3Ryb2hhbG0gcnQ9OTkwNDYwNTExIHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CmpvLiBrYW5uIGljaCBtaXIgZ3V0IHZvcnN0ZWxsZW4sIHVybGF1YiBpc3QgZWggZXJzdCBpbSBzZXB0ZW1iZXIuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5IChBbWFyeWxsaXMsIDIxLiBNYWkgMjAwMSwgMTc6NTk6MTQpOgp+IyEgcm49V3VyemVsIHJ0PTk5MDQ2MDY5NCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpVcmxhdWI/IFdhcyBpc3QgZGFzPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgKFd1cnplbCwgMjEuIE1haSAyMDAxLCAxNzo1OTo0OCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9OTkwNDYwNzU0IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2Cndlbm4gbWFuIG51ciBhY2h0IHN0dW5kZW4gYW0gdGFnIGFyYmVpdGV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVycGFydHkgKEdyaW1tYm9ybiwgMjEuIE1haSAyMDAxLCAxODowMjoxOCk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTkwNDYwNzg4IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2ClVuZCBhbiBkZW4gV29jaGVuZW5kZW4gbm9jaCB3ZW5pZ2VyLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGtlbm50IGF1Y2ggVXJsYXViCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb21tZXJwYXJ0eSAoU29sbXlyLCAyMS4gTWFpIDIwMDEsIDE4OjAzOjU4KToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTA0NjA5Mzggcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKQmluIGF1Y2ggZGEuIFVuZCBob2ZmZW50bGljaCBkaWVzbWFsIGF1Y2ggZ2Vpc3RpZyB2b2xsIGFud2VzZWRuZC4KClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvbW1lcnBhcnR5IChHdWFyZCwgMjEuIE1haSAyMDAxLCAxODowNTowNSk6Cn4jISBybj1Tb2xteXIgcnQ9OTkwNDYxMDM4IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CmRhcyB3YWVyIGphIHdhcyBuZXVlcywgYWJlciBpY2gga29udHJvbGxpZXIgZGFzLCBiaW4gbmFlbWxpY2ggYXVjaCBkYSA6LSkKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTb21tZXJwYXJ0eSAoQW5hY3Jpb24sIDIxLiBNYWkgMjAwMSwgMTg6MzM6MzApOgp+IyEgcm49R3VhcmQgcnQ9OTkwNDYxMTA1IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CkJpbiBhdWNoIGRhLgoKQW5hYyogLSBhdWYgVVNBVXJsYXViCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTb21tZXJwYXJ0eSAoQ2luZGVyZWxsYSwgMjEuIE1haSAyMDAxLCAxODo0MjowNSk6Cn4jISBybj1BbmFjcmlvbiBydD05OTA0NjI4MTAgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKUGFydHkgaW4gQm9ubj8KCkRhIGJpbiBpY2ggZ2FyYW50aWVydCBkYS4gSXN0IGphIGF1Y2ggbmljaHQgd2lya2xpY2ggd2VpdCA7KQoKQ2luZGVyZWxsYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNvbW1lcnBhcnR5IChMaWFyYSwgMjEuIE1haSAyMDAxLCAxOToyNjoxNCk6Cn4jISBybj1DaW5kZXJlbGxhIHJ0PTk5MDQ2MzMyNSByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpBdWNoIGRhLCBmYWxscyBLbGF1c3VyIGJ6dy4gSm9iL05vdGRpZW5zdCBlcyB6dWxhc3Nlbi4gOi0pCgpMWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFNvbW1lcnBhcnR5IChQaXRmYWxsLCAyMS4gTWFpIDIwMDEsIDE5OjMxOjA0KToKfiMhIHJuPUxpYXJhIHJ0PTk5MDQ2NTk3NCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpzb21tZXJwYXJ0eSBrbGluZ3QgZ3V0CmJvbm4ga2xpbmd0IGlyZ2VuZHdpZSBtYWNoYmFyICpuYWNoIG1pdGZhaHJnZWxlZ2VuaGVpdGVuc2NoaWVsKgoKYW5zb25zdGVuIGJpbiBpY2ggZ2VybiBkYWJlaQoKcGl0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU29tbWVycGFydHkgKEhpZ2h0LCAyMS4gTWFpIDIwMDEsIDIwOjE1OjM4KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTk5MDQ2MjgxMCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgplYmVuZmFsbHMgYW53ZXNlbmQgLm8pIHdlbm4gdW5zIGRlciBoaW1tZWwgbmV0IGF1ZiBkZW4ga29wZiBmYWVsbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTb21tZXJwYXJ0eSAoQmllbGVmZWxkLCAyMS4gTWFpIDIwMDEsIDIwOjI4OjM1KToKfiMhIHJuPUhpZ2h0IHJ0PTk5MDQ2ODkzOCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpLb21tZSBhdWNoLCBhdWNoIHdlbm4gQm9ubiBlaW4gc2NobGltbWVyZXMgS2FmZiBpc3QKYWxzIG1laW5lcmVpbmVyLi4uIDopCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgKEthcnRvZmZlbCwgMjEuIE1haSAyMDAxLCAyMDoyODo0NSk6Cn4jISBybj1LYWRpcyBydD05OTA0NjAzMjYgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKSGV5LCBnZW5pYWwsIG5peCBhZW5kZXJuISEhCgonVG9mZmVsIC0gUGFydHktRW50enVnIGhhYmVuZCwgd2VpbCBzaWUgbmljaHQgaW4gTVMgZGFiZWkgc2VpbiBrb25udGUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgKEVsYmVyZXQsIDIxLiBNYWkgMjAwMSwgMjM6MDk6MDMpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTk5MDQ2OTcyNSByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpBbHNvIGljaCBiaW4gZGVmaW5pdGl2IGRhIDopCgpFbGJpICpodWVwZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IChHbm9tZSwgMjIuIE1haSAyMDAxLCAwMDo1MToxMyk6Cn4jISBybj1LYWRpcyBydD05OTA0NjAzMjYgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKam8sIHBhc3N0IGd1dC4uLgphYmVyIGljaCBob2ZmZSwgZHUgZGVua3N0IGFuIGRhcyBjYW1wIGluIGRlciB3b2NoZSBkYXZvcj8gOikKYml0dGUgbWl0IHNlZSB1bmQgdm9sbGV5YmFsbGZlbGQgdm9yIGRlciBoYXVzdHVlci4uLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvbW1lcnBhcnR5IChTcGVsbGZpcmUsIDIyLiBNYWkgMjAwMSwgMTM6MjQ6NDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk5MDQ2MDkzOCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpobW0gbGllYmVyIHZvciBBdWd1c3QsIGJpbiB2b20gMS44Li0xLjExIGluIEJyYXNpbGllbiA7PgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU29tbWVycGFydHkgKExpYXJhLCAyMi4gTWFpIDIwMDEsIDEzOjI5OjMyKToKfiMhIHJuPVNwZWxsZmlyZSBydD05OTA1MzA2ODYgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKV2lyIGhhYmVuIGRhbWFscyBtYWwgZnVlciBlaW5lIEJ1bmRlc3ZlcmJhbmRzdGFndW5nIHZvbiBlaW5lcgpQaGFybWF6ZXV0ZW5vcmdhbmlzYXRpb24gdmVyc3VjaHQsIGluIEJvbm4gZWluZSBUdXJuaGFsbGUgenVtIFVlYmVybmFjaHRlbiB6dQptaWV0ZW4uIERpZSBCZW11ZWh1bmdlbiBkZXIgRmFjaHNjaGFmdCB2ZXJsaWVmZW4gYWxsZXJkaW5ncyBsZWlkZXIKZXJnZWJuaXNsb3MuIFZpZWxsZWljaHQgc29sbHRlIG1hbiBkYXMgbWFsIHp1IEFuZmFuZyBrbGFlcmVuLgoKTFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAoQmlyZHksIDIyLiBNYWkgMjAwMSwgMTQ6MjQ6MTMpOgp+IyEgcm49S2FkaXMgcnQ9OTkwNDYwMzI2IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CldpciB3YWVyIGVzIHdpZWRlciwgZGllIFdvY2hlIGRhdm9yIHp1IHplbHRlbiA/OikKQW0gV2Fzc2VyIHVuZCBuYXR1ZXJsaWNoICgqaW4gUmljaHR1bmcgR25vbWUgZ3Vja2VuZCogbWl0IFZvbGxleWJhbGxmZWxkLiAKCkJpcmR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IChBbmNhbGFnb24sIDIyLiBNYWkgMjAwMSwgMjE6NDQ6MTYpOgp+IyEgcm49R25vbWUgcnQ9OTkwNDg1NDczIHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CmhhbGxvZWNoZW5rbnVkZGVscyEKVmllbGxlaWNodCBzY2hhZmYgaWNocyBqYSBzb2dhciBhdWNoIG1hbCB3aWVkZXIuLi4uLi4uCkFuY2FsYWdvbiAqc2ljaCBzY2hvbiBqZXR6dCBhdWYgS251ZGRlbHVlYmVyZmFlbGxlIGZyZXVlbmQqCiA6PV0KKysKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IChLYXJ0b2ZmZWwsIDIyLiBNYWkgMjAwMSwgMjI6NDQ6NDkpOgp+IyEgcm49QmlyZHkgcnQ9OTkwNTM0MjUzIHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CgpFYmVuLCBuIENhbXBpbmdwbGF0eiB3aXJkcyBpbi91bSBCb25uIGRvY2ggd29obCBnZWJlbi4uLgoKJ1RvZmZlbCAtIGZyYWd0IHNpY2gsIHNlaXQgd2FubiBpbSBTb21tZXIgaW4gVHVybmhhbGxlbiBnZW5hZWNodGlndCB3aXJkPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29tbWVycGFydHkgKFNvbG15ciwgMjIuIE1haSAyMDAxLCAyMzoxODoxMik6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9OTkwNTY0Mjg5IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CkRhbm4gZ2VodHMgYWJlciBhdWNoIGlucyBQaGFudGlsYW5kIDopCgpTb2wqIGh1ZXBmdCwgaXMgQWNodGVyYmFobmZyZWFrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJwYXJ0eSAoWmVwaHlyLCAyMi4gTWFpIDIwMDEsIDIzOjI1OjA3KToKfiMhIHJuPVNvbG15ciBydD05OTA1NjYyOTIgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKRHUgd2Vpc3N0IGFiZXIgc2Nob24sIGRhc3MgZGllIEFjaHRlcmJhaG4gdm9yIDIgV29jaGVuIAphYmdlYnJhbm50IGlzdCwgamE/IDopCkM0LCBzdGVodCBuaWNodCBnZXJuIEtvcGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgKEdub21lLCAyMi4gTWFpIDIwMDEsIDIzOjMzOjA0KToKfiMhIHJuPUdub21lIHJ0PTk5MDQ4NTQ3MyByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgphbHNvIGljaCBoYWIgZ3JhZCBub2NobWFsIGluIG1laW5lbiB0ZXJtaW5rYWxlbmRlciBnZXNjaGF1dC4uLiAqaHVlc3RlbCoKd3VlcmRlIGVybnN0aGFmdCB3YXMgZ2VnZW4gZGFzIFdFIDE3LjguLTE5LjguMDEgc3ByZWNoZW4/CnVuZCBkYXZvciBoYWx0IG5lIGNhbXBpbmctd29jaGU/Cgpnbk9tZSBkdWNrdCBzaWNoIHNjaG9ubWFsLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb21tZXJwYXJ0eSAoU29sbXlyLCAyMy4gTWFpIDIwMDEsIDAyOjU3OjU2KToKfiMhIHJuPVplcGh5ciBydD05OTA1NjY3MDcgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKRWluZSAoZGllIGFlbHRlc3RlKSwgbmFqYSAyIDopIHZvbiBkZW4gNCBCYWhuZW4gaW0gUGFyay4gTmFqYSwgdW5kIG1pdHRlIGRlcgpTYWlzb24ga29tbXQgbm9jaCBlaW5lIHdlaXRlcmUgaGluenUuIEFiZXIgaGFzdCByZWNodCwgaWNoIGhhYiBnYW56IHNjaG9lbgpnZXRyYXVlcnQuIFZpZWxsZWljaHQgcmVpY2h0cyBqYSBhdWNoIGZ1ZXIgQm90dHJvcCBpbnMgV2FybmVyIEJyb3RoZXJzIDopCktlbm4nIG1pY2ggZGEgcmVjaHQgZ3V0IGF1cywgd3VlcmQgc293YXMgYXVjaCBvcmdhbmlzaWVyZW4uCgpTb2wqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAoQ2Fzc2FuZHJhLCAyMy4gTWFpIDIwMDEsIDA4OjM0OjE1KToKfiMhIHJuPUdub21lIHJ0PTk5MDU2NzE4NCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpNaXIgd2FlciBkYXMgV0UgMTcvMTguOCBtaXQgdm9yaGVyaWdlciBDYW1waW5nd29jaGUgYXVjaCBsaWViZXIuCkNhc3N5LCBQYXJ0eXN1ZWNodGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJwYXJ0eSAoQ2luZGVyZWxsYSwgMjMuIE1haSAyMDAxLCAxMDoxMDoyMCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9OTkwNTk5NjU1IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2ClNvIHVtIGRhcyBqZXR6dCBtYWwga2xhciB6dXN0ZWxsZW4uCkluIGRlciBuYWVoZXJlbiBVbWdlYnVuZyB2b24gQm9ubiBnaWJ0IGVzIGtlaW5lbiBDYW1waW5ncGxhdHosIHp1bWluZGVzdAprZWluZW4gZGVyIGZ1ZXIgdW5zZXJlIFp3ZWNrZSBhdXNyZWljaHQuIEhpZXIgZ2lidCBlcyBudXIgRGF1ZXJjYW1wZXIgbWl0CkdhcnRlbnp3ZXJnZW4gdm9ybSBXb2hud2FnZW4uCgpBbHNvIHdpcmQgZXMgZWluZSBXb2NoZW5lbmRwYXJ0eSBnZWJlbiwgb2huZSEhIHZvcmhlcmlnZSBDYW1waW5nd29jaGUuCgpDaW5kZXJlbGxhICpiZWVuZGV0IGhpZXJtaXQgZGllIERpc2t1c3Npb24gdWViZXIgZGllIENhbXBpbmd3b2NoZSB2b3IgZGVyClBhcnR5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVycGFydHkgKFd1cnplbCwgMjMuIE1haSAyMDAxLCAxMDoyNzo1Nik6Cn4jISBybj1DaW5kZXJlbGxhIHJ0PTk5MDYwNTQyMCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgp3YXMgaGFzdCBkdSBnZWdlbiBnYXJ0ZW56d2VyZ2U/IHBhc3N0IGRvY2ggaW5zIGFtYmllbnRlIDopCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcnBhcnR5IChTdHJvaGFsbSwgMjMuIE1haSAyMDAxLCAxMDoyODo1Nik6Cn4jISBybj1DaW5kZXJlbGxhIHJ0PTk5MDYwNTQyMCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpDYW1waW5ncGxhZXR6ZSBzaW5kIHdhcyBmdWVyIEhvbGxhZW5kZXIsIGlyZ2VuZHdvIHdpcmRzIGRvY2ggZG9ydCBiZXN0aW1tdCBuZQpmcmVpZSBXaWVzZSBnZWJlbj8KCkhhZWxtY2hlbiwgZ2VybmUgc2NobGFmc2Fja2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29tbWVycGFydHkgKFRodWZoaXIsIDIzLiBNYWkgMjAwMSwgMTA6Mjk6MjgpOgp+IyEgcm49V3VyemVsIHJ0PTk5MDYwNjQ3NiByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpXYWhyc2NoZWlubGljaCBoYXQga2VpbmVyIHZvbiB1bnMgd2FzIGdlZ2VuIGRpZSBHYXJ0ZW56d2VyZ2UgdW5kIGRlcmVuCkJlc2l0emVyLi4uIDspIGFiZXIgZnVlciBkaWUgQmF0cmNodHVuZ3N3ZWlzZSBkZXIgYW5kZXJlbiBTZWl0ZSB3dWVyZCBpY2gKa2VpbmUgR29sZG11ZW56ZSBzZXR6ZW4uIDspCgpzJ1phdWJlcnp3ZXJjaCBNdWhmaGlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2h3ZWl6IChBbm9yaXMsIDIzLiBNYWkgMjAwMSwgMTA6MzA6MjYpOgpEYSBpY2ggZWJlbmZhbGxzIGdlcm5lIHdpZWRlciBkYWJlaSB3YWVyZSwgc3VjaGUgZnVlciBkaWUgUGFydHkgWmVpdCBuZQpNaXRmYWhyZ2VsZWdlbmhlaXQgdm9uIEtvZWxuIChBaXJwb3J0KSBuYWNoIEJvbm4gdW5kIHp1cnVlY2suCgpPZGVyIGljaCBiaWV0ZSAxIC0gMyBNaXRmYWhyZ2VsZWdlbmhlaXRlbiBwZXIgQXV0byBhbiBzb2Zlcm4KSW50ZXJlc3NlLiBNdXNzIG5pY2h0IGF1cyBkZXIgU2Nod2VpeiBhYmVyIGF1ZiBtIFdlZyBuYWNoIEJvbm4Kc2Vpbi4gWnVtIFZXIHZvbSBWYXRlciBzY2hpZWwgOikKCi0gQW5vcmlzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21tZXJwYXJ0eSAoU3Ryb2hhbG0sIDIzLiBNYWkgMjAwMSwgMTA6MzA6MzYpOgp+IyEgcm49VGh1ZmhpciBydD05OTA2MDY1Njggcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKSG1tbS4uIHVuZCBuZW4gQ2FtcGluZ3BsYXR6IGxlZXJ6dXJhZXVtZW4gaXMgYXVjaCBrZWluIFByb2JsZW0sIG1hbiBicmF1Y2ggbnVyCmdlbnVnIFNhYXJsYWVuZGVyIGRhZnVlciA7KQoKSGFlbG1jaGVuLCBzY2hvbiBnZW51ZyBFcmZhaHJ1bmcgZGFtaXQgZ2VzYW1tZWx0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2Nod2VpeiAoR3JpbW1ib3JuLCAyMy4gTWFpIDIwMDEsIDEwOjU1OjA3KToKfiMhIHJuPUFub3JpcyBydD05OTA2MDY2MjYgcmc9cGFydHkKfiMhIHRpZD05OTA2MDY2MjYKRXMgZ2lidCB2b20gRmx1Z2hhZmVuIEtvZWxuL0Jvbm4gZWluZW4gQnVzLCBkZXIgc293b2hsIG5hY2ggS29lbG4gYWxzIGF1Y2gKbmFjaCBCb25uIGZhZWhydC4gSXN0IGZ1ZXIgZWluZW4gRmx1Z2hhZmVuYnVzIHNvZ2FyIHJlbGF0aXYgYmlsbGlnLCBpaXJjLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb21tZXJwYXJ0eSAoTWF0aXMsIDIzLiBNYWkgMjAwMSwgMTE6NDg6NTMpOgp+IyEgcm49Q2luZGVyZWxsYSBydD05OTA2MDU0MjAgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKSGV5LCBHYXJ0bmV6d2VyZ2Ugc2luZCBjb29sIQoKTWF0aXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTb21tZXJwYXJ0eSAoQXJhbmNpYSwgMjMuIE1haSAyMDAxLCAxMzoyMjo1OCk6Cn4jISBybj1QaXRmYWxsIHJ0PTk5MDQ2NjI2NCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpIYWV0dGUgbmljaHRzIGdlZ2VuIGVpbiBUZWFtIFBlc3QgZmFsbHMgbWVpbmUgbGllYmUgUGVzdCBzb2xhbmdlIG5vY2gKbWl0c3BpZWx0IDpvKQoKRGllIEFwZmVsc2luZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29tbWVycGFydHkgKEdsb2luc29uLCAyMy4gTWFpIDIwMDEsIDE4OjQzOjA0KToKfiMhIHJuPVN0cm9oYWxtIHJ0PTk5MDYwNjUzNiByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpFcyBnaWJ0IGRhIGplZGUgTWVuZ2UgV2llc2VuLiBCb25uIGlzdCBhcnNjaGxhbmcuIFVuZCBnZXJhZGUgaW4gZGVuCnVuYmVsZWJ0ZXJlbiBUZWlsZW4gc3RlaHQgbnVyIGFsbGUgMTUwbSBlaW4gSGF1cy4KCkdsb2luKHNvbiksIGF1ZiBlaW5lciBXaWVzZSBpbiBCb25uIGdlcGVubnQgaGFiZW5kCgpQUzogTWFoYXRtYSBoYXQgZGFtYWxzIHNvZ2FyIG5vY2ggZWluZSB6d290ZSBnZWZ1bmRlbi4gVW5kIGRvcnQgZ2VwZW5udC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvbW1lcnBhcnR5IChTdHJvaGFsbSwgMjMuIE1haSAyMDAxLCAxODo0NDo0MCk6Cn4jISBybj1HbG9pbnNvbiBydD05OTA2MzYxODQgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKTmEgZGFubiBzdGVodCBkb2NoIGVpbmVyIFdvY2hlIFNjaGxhZnNhY2tlbiBuaXggaW0gV2VnLCBvZGVyPyA7KQoKSGFlbG1jaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgKEJhYm9vbiwgMjUuIE1haSAyMDAxLCAxNTo0Mzo1Mik6Cn4jISBybj1LYWRpcyBydD05OTA0NjAzMjYgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKQm9ubiB3YWVyIHByaW1hLiBCbG9zcyBzb2xsdGUgZGVyIFBhcnR5IE9ydCAKbmFodmVya2VocnNndWVuc3RpZyBnZWxlZ2VuIHNlaW4uIE5pY2h0IGlyZ2VuZHdvIGRhLAp3byBkZXIga290dGVuZm9yc3QgYW0gdGllZnN0ZW4gaXN0LiA6LSkKCkJhYm9vbiAoUGFydHlwYXZpYW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IChXdXJ6ZWwsIDI1LiBNYWkgMjAwMSwgMTU6NDU6MTgpOgp+IyEgcm49QmFib29uIHJ0PTk5MDc5ODIzMiByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpqZWRlciBvcnQgaXN0IG5haHZlcmtlaHJzZ3VlbnN0aWcuCgp3dXJ6ZWwgemFlaGx0IGF1Y2ggdGF4aSB6dW0gb2VwbnYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5IChLYXJpcywgMjUuIE1haSAyMDAxLCAxNTo0NzoxNyk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTkwNzk4MzE4IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CkR1IGZhZWhyc3QgbWl0IGRlbSBUYXhpIG5hY2ggQm9ubj8KCkthcmlzLCB3dWVyZGUgZWhlciBub2NoIFJhZCBmYWhyZW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJwYXJ0eSAoV3VyemVsLCAyNS4gTWFpIDIwMDEsIDE1OjQ4OjE0KToKfiMhIHJuPUthcmlzIHJ0PTk5MDc5ODQzNyByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpuZWluLiB3b3p1IGdpYnQgZXMgYXV0b3M/CnJhZGZhaHJlbiBnZWhvZXJ0IGVoIHZlcmJvdGVuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAoQmFib29uLCAyNS4gTWFpIDIwMDEsIDE1OjQ4OjUyKToKfiMhIHJuPVd1cnplbCBydD05OTA3OTgzMTggcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKa2xhciBrb2VubnRlIGljaCBhdWNoIHRheGkgZmFocm4uIFNjaGVua3N0IGR1IG1pcgpkYXMgRmFocmdlbGQ/CkJhYm9vbiBzYWd0OiAiSGFzc2UgbWFsIG5lIE1hYWs/IgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgKFd1cnplbCwgMjUuIE1haSAyMDAxLCAxNTo1MDoxNik6Cn4jISBybj1CYWJvb24gcnQ9OTkwNzk4NTMyIHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CnVtIG1hbCBlaW5lbiBiZWxpZWJ0ZW4gc3BydWNoIHp1IHppdGllcmVuOgp3b2Z1ZXIgc3RlaHQgZWlnZW50bGljaCBkYXMgIm0iIGluIG11ZD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvbW1lcnBhcnR5IChXdXJ6ZWwsIDI1LiBNYWkgMjAwMSwgMTU6NTE6NDMpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTkwNzk4NjgyIHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2Cmh1bmRlcnQgcHVua3RlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21tZXJwYXJ0eSAoS2FyaXMsIDI1LiBNYWkgMjAwMSwgMTU6NTI6MTkpOgp+IyEgcm49V3VyemVsIHJ0PTk5MDc5ODcwMyByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpTb3NvLiBVbmQgd2lldmllbCB3YXJlbiBpbnNnZXNhbXQgenUgdmVyZ2ViZW4/IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTb21tZXJwYXJ0eSAoV3VyemVsLCAyNS4gTWFpIDIwMDEsIDE1OjUyOjQ5KToKfiMhIHJuPUthcmlzIHJ0PTk5MDc5ODczOSByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgp6d29lbGYsIHdpZSBpbW1lci4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU29tbWVycGFydHkgKEthcmlzLCAyNS4gTWFpIDIwMDEsIDE1OjUzOjI5KToKfiMhIHJuPVd1cnplbCBydD05OTA3OTg3Njkgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKSWNoIHd1c3N0ZSBqYSwgZGFzcyBkYSBqZW1hbmQgdWViZXJzIFppZWwgaGluYXVzZ2VzY2hvc3NlbiBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eXBpY3MhIChSb25kYSwgMjguIE1haSAyMDAxLCAyMzo0NTo0Nyk6CkhpLAoKUm9jaHVzIHNlaSBkYW5rIC0gZGllIGVyc3RlbiBQYXJ0eWJpbGRlciBsaWVnZW4gYXVmIGRlbSBNRy1XZWJzZXJ2ZXI6CgpodHRwOi8vbWcubXVkLmRlL1BhcnR5L1BhcnR5LjE2LwoKRmFudGEsIE11cGZlbCB1bmQgQ28sIHdvbGx0IElociBFdXJlIG5pY2h0IGF1Y2ggZGFoaW4gbGVnZW4sIGRhbWl0IGRpZSBhbGxlIGFuCmVpbmVtIE9ydCBsaWVnZW4/CgpSb25kYSAqbWl0IGVyc3RhdW5saWNoIHVuc2NoYXJmZW4gRm90b3MsIGFiZXIgaW1tZXJoaW4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlwaWNzISAoTXVwZmVsLCAyOS4gTWFpIDIwMDEsIDE5OjEyOjQzKToKfiMhIHJuPVJvbmRhIHJ0PTk5MTA4NjM0NyByZz1wYXJ0eQp+IyEgdGlkPTk5MTA4NjM0NwpLbGFyIHdvbGxud2lyLi4uIGFiZXIgYmlzaGVyIGJsaWViIGVzIGltbWVyIGJlaW0gd29sbGVuLCBkZW5uICJkYSB3YXMKaGlubGVnZW4iIGthbm4gaWNoIG5pY2h0LCB1bmQgZGVyamVuaWdlIGRlcnMga2FubiBoYXRzIChiaXNoZXIpIGxhbmdlIHplaXQKbmljaHQgZ2VtYWNodC4gCi1tdXBmZWwtIChiYXN0ZWx0IGVpbiBCZXNjaHJlaWJ1bmdzZmlsZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlciAoQ2F0d2VhemxlLCAgNi4gSnVuIDIwMDEsIDEwOjM3OjU0KToKX1dvXyBfc2luZF8gX2RpZV8gX1BhcnR5YmlsZGVyXyA/Pz8KCkJpc2hlciBzaW5kIG51ciBSb25kYXMgYXVmZmluZGJhci4gQXVjaCBzY2hvZW4sIGFiZXIgenUgd2VuaWcgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IChHcmltbWFuLCAgOC4gSnVuIDIwMDEsIDE2OjI4OjUxKToKfiMhIHJuPUthZGlzIHJ0PTk5MDQ2MDMyNiByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpKdXBwaWUgLi4uIHN0ZWxsdCBkYXMgQmllciBrYWx0LCBkZW4gV29ka2EgaW5zIEVpc2ZhY2ggdW5kIG1hY2h0IG5lIFBhbGV0dGUKUmVkQnVsbCBrbGFyIC4uLiBiaW4gKG5hdHVlcmxpY2gpIHZvcnJhdXNzaWNodGxpY2ggYXVjaCBhbSBTdGFydCAuLi4gd2llIHNpY2gKZGFzIGZ1ZXIgbWljaCBnZWhvZXJ0IDopCgpHcmltTWFuIC4uLiBmZWllcnQgaW1tZXIgb2huZSBSdWVja3NpY2h0IGF1ZiBWZXJsdXN0ZSB1bmQgU29sbXlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogU29tbWVycGFydHkgKEdyaW1tYW4sICA4LiBKdW4gMjAwMSwgMTY6MzA6MTMpOgp+IyEgcm49UGl0ZmFsbCBydD05OTA0NjYyNjQgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKSWNoIGRhY2h0ZSBkdSBmYWVocnN0LCBQaXQgOikKCkdyaW1taWUgLi4uIHNjaGllbHQgYXVjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU29tbWVycGFydHkgKEdyaW1tYW4sICA4LiBKdW4gMjAwMSwgMTY6MzQ6MDUpOgp+IyEgcm49U3Ryb2hhbG0gcnQ9OTkwNjM2MjgwIHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CkhleSBuZXR0ZSBJZGVlIC4uLiBzY2h3YXJ6Y2FtcGVuIGluIEJvbm4gLi4uIGplZGUgTmFjaHQgbmUgYW5kZXJlIFdpZXNlIC4uLgp3YXMgc2ljaCBncmFkIHNvIGFuYmlldGV0IC4uLiBkYSB3byBkZXIgZXJzdGUgdW1mYWVsbHQgd2lyZCBnZXBlbm50IC4uLgpBYmVyIHdvIGtyaWVnIGljaCBkYW5uIG5lbiBnZXBvbHN0ZXJ0ZXMgS2xvIGhlcj8gOikKCkdyaW1taWUgLi4uIHdpcmQgZGFzIG5pZSB2ZXJnZXNzZW4gKGxhc3NlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTb21tZXJwYXJ0eSAoUGl0ZmFsbCwgIDguIEp1biAyMDAxLCAxODoyOTozNyk6Cn4jISBybj1HcmltbWFuIHJ0PTk5MjAxMDYxMyByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgphbHNvIGljaCBmYWhyIHdvaGwgZGVmaW5pdGl2IG5pY2h0IHNlbGJlciB3ZW5uIGljaCBlcyB2ZXJtZWlkZW4ga2FubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmlrb2xhdXNmZXRlbmZvdG9zIChQaXp6YXBlcGUsICA4LiBKdW4gMjAwMSwgMjE6MTI6MjYpOgpIYSEgRXJzdGVyIQpJY2ggaGFiIGVuZGxpY2ggWmVpdCB1bmQgU2Nhbm5lciBnZWZ1bmRlbiB1bmQgMTQgRm90b3MgZGVyIE5pa29sYXVzZmV0ZQplaW5nZXNjYW5udC4KTWFsIGd1Y2tlbiwgd2FubiBpY2ggZGF6dSBrb21tZSwgc2llIGlucyBOZXR6IHp1IHN0ZWxsZW4uIDstKQoKUFAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBTb21tZXJwYXJ0eSAoR3JpbW1hbiwgIDkuIEp1biAyMDAxLCAxNjozOTo1NCk6Cn4jISBybj1QaXRmYWxsIHJ0PTk5MjAxNzc3NyByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpTY2hhZGUgZGFubiBtdXNzIGljaCBqZW1hbmQgYW5kZXJlbiBmaW5kZW4uCgpHcmltTWFuIC0gZmFlaHJ0IGFiZXIgYXVjaCB3aWVkZXIgWnVnIHdlbm4gZXMgc2VpbiBtdXNzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgKFFpdGVzcywgIDkuIEp1biAyMDAxLCAxOTo1MDowMSk6Cn4jISBybj1LYWRpcyBydD05OTA0NjAzMjYgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKYWxzbywgaWNoIHN0ZWggc2VociBwb3NpdGl2IGRpZXNlbSB0ZXJtaW4gZ2VnZW51ZWJlcgpiaW4gZGFubiB3b2hsIG1hbCB3aWVkZXIgYW53ZXNlbmQgYXVmIGRlciBwYXJ0eS4KQlJBVU5TQ0hXRUlHIFJVTEVaISBST1RURVQgRVVDSCBaVVNBTU1FTiwgSUhSIEJSQVVOU0NIV0VJR0VSISEhCgpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZGVyIChDYXR3ZWF6bGUsIDEyLiBKdW4gMjAwMSwgMDg6NTY6MDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk5MTgxNjY3NCByZz1wYXJ0eQp+IyEgdGlkPTk5MTgxNjY3NApJY2ggX2xpZWJlXyBlcyBhdWYgbWVpbmUgZWlnZW5lbiBBcnRpa2VsIHp1IGFudHdvcnRlbi4gTm9jaCB2aWVsIG1laHIgbGllYmUKaWNoIGVzIG1pY2ggenUgd2llZGVyaG9sZW4uIFdvc2luZGRpZVBhcnR5YmlsZGVyPz8/CgpJY2ggZXJpbm5lcmUgbWljaCBhbiBtaW5kZXN0ZW5zIHZpZXIgKFZJRVIpIHZlcnNjaGllZGVuZSBMZXV0ZSwgZGllIGJlcmVpdHMKRm90b3MgZ2VzY2FubnQgdW5kIGF1ZiBXZWJzZWl0ZW4gZ2VzdGVsbHQgaGFiZW4uIApCaXR0ZSBiaXR0ZSBiaXR0ZSBzZWlkIHNvIGd1dCB1bmQgc3RlbGx0IHNpZSBhdWYgZGllIE1HLVdlYnNlaXRlbiwgZGVubiBkYQpnZWhvZXJlbiBzaWUgaGluLCBqYXdvbGwuIApLb250YWt0cGVyc29uIGRhZnVlciBpc3QgaW1tZXIgbm9jaCBSb2NodXMsIGZhbGxzIG5vY2ggbmljaHQgenV2aWVsZSBtZWluZXIKU3BlaWNoZXJ6ZWxsZW4gZ2VzY2h3dW5kZW4gc2VpbiBzb2xsdGVuLiAKQWxzbyBsb3MgamV0enQuLi4uCgpZVEMKClBTOiBXZXIgbmljaHQgd2Vpc3MsIHdpZSBtYW4gZWluZSBtYWlsIGFuIFJvY2h1cyBzY2hyZWlidCwgCiAgICBkZW0gaGVsZiBpY2ggZGFiZWkgZ2Vybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgKFNvbG15ciwgMTMuIEp1biAyMDAxLCAwMDoxNTowOCk6Cn4jISBybj1HcmltbWFuIHJ0PTk5MjAxMDUzMSByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpEYXp1IGthbm4gaWNoIG51ciBub2NoIGVpbnMgaGluenVmdWVnZW46IExlY2t0IG1pY2ggZG9jaCBhbGxlIG1hbCBrcmFlZnRpZwphbSBBKiEKCkhvY2hhY2h0dW5nc3ZvbGwgU29sbXlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAoR2xvaW5zb24sIDEzLiBKdW4gMjAwMSwgMDI6MDA6MjApOgp+IyEgcm49U29sbXlyIHJ0PTk5MjM4NDEwOCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpXZW5uIERlaW4gS29wcCBzY2hvbiBzbyB2aWVsZSBIYWFyZSBoYXQsIHdpZSB2aWVsZSB3ZXJkZW4gZGFubiBlcnN0IGFuIERlaW5lbQpBcm0gc2Vpbj8gTmVlLCBkYW5rZSwgc2NocnViYiBEaWNoIHNlbGJlci4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvbW1lcnBhcnR5IChTb2xteXIsIDEzLiBKdW4gMjAwMSwgMDI6MzA6MTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTkyMzkwNDIwIHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CldhciBhdWNoIG5pY2h0IGdhbnogYXVmIERpY2ggYmV6b2dlbiwgd2VyZCBkYXMgYWJlciBhdWNoIG5pY2h0CndlaXRlciBicmVpdHRyZXRlbiwgenVtaW5kZXN0IG5pY2h0IGhpZXIuIERpZWplbmlnZW4sIGRpZSBkcmFuCmJldGVpbGlndCBzaW5kIGtyaWVnZW4gdm9uIG1pciBub2NoIGVpbnMgcmVpbmdld3Vlcmd0LiBBbHNvCmRlbmt0IHNjaG9uIG1hbCBrcmFlZnRpZyBuYWNoLCB3ZXIgd2FzIHZlcmJyb2NoZW4gaGFiZW4ga29lbm50ZS4KCkdydXNzIFNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcnBhcnR5IChHcmltbWJvcm4sIDEzLiBKdW4gMjAwMSwgMDY6NDk6MjMpOgp+IyEgcm49U29sbXlyIHJ0PTk5MjM5MjIxNCByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpJY2ggeml0dGVyZS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29tbWVycGFydHkgKEFuYWNyaW9uLCAxMy4gSnVuIDIwMDEsIDA2OjUwOjA5KToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTI0MDc3NjMgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKV3VlcmRlIGljaCBhYmVyIGF1Y2ggLi4uLgoKQW5hYyogLSB2ZXJiYXJyaWthZGllcnQgc2ljaCBzY2hvbiBtYWwgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb21tZXJwYXJ0eSAoR2xvaW5zb24sIDEzLiBKdW4gMjAwMSwgMDc6Mzc6MzYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk5MjQwNzc2MyByZz1wYXJ0eQp+IyEgdGlkPTk5MDQ2MDMyNgpJY2ggaGFsdCBtaWNoIG1hbCBiZXNzZXIgdm9uIERpciBmZXJuLiBOaWNodCBkYXMgZGVyIFd1ZXJncmFkaXVzIHp1IGdyb3NzIGlzdC4KCkdsb2luKHNvbikgZ3JpbnN0ICh1bmQgaGFlbHQgc2ljaCBlaCBpbW1lciBmZXJuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5cGljcyEgKFJhcmRpYW4sIDEzLiBKdW4gMjAwMSwgMTg6MDg6NTUpOgp+IyEgcm49Um9uZGEgcnQ9OTkxMDg2MzQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTkxMDg2MzQ3CkFoLCBzdXBlciEgRW5kbGljaCB3aWVkZXIgZWluIHBhYXIgbmV1ZSBGb3RvcyEKQW5tZXJrdW5nIGZ1ZXIgZGVuIEF1dG9yIGRlciBCaWxkdGV4dGNoZW4sIHVuZCB6d2FyIHp1IEJpbGQgMTE6IERhcyBQZWRpZ3JlZQp3YXIgbmljaHQgenVtIEFibmVobWVuLCBzb25kZXJuIHp1bSBSYXVjaGVuYXVmaG9lcmVuIGdlZGFjaHQuIEhhdCBhYmVyIGxlaWRlcgpuaWNodCBnZWtsYXBwdC4gU3RpbW10cywgR29sYXM/IDopCgpSYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAoR3JpbW1hbiwgMTUuIEp1biAyMDAxLCAyMTo1MDowMSk6Cn4jISBybj1Tb2xteXIgcnQ9OTkyMzg0MTA4IHJnPXBhcnR5Cn4jISB0aWQ9OTkwNDYwMzI2CkhvaSBBbGRlciwgbmljaCBhdWZyZWdlbiAuLi4KSWNoIGZlaWVyIG5hdHVlcmxpY2ggYXVjaCBtaXQgZGlyLCBhYmVyIGFtIEFyc2NoIGxlY2sgaWNoIGRpY2ggbmljaCwgZGFmdWVyCmVyd2FydGUgaWNoIHNlbGJpZ2VzIGF1Y2ggbmljaHQgdm9uIGRpciA6KSkpCgpHcmltTWFuLCBpbW1lciBndXQgZnVlciBLb250cm92ZXJzZW4gLi4uIG9kZXIgd2llIGRhcyBoZWlzc3QgLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGFydHliaWxkZXIgKFBlcmRpdGEsIDI1LiBKdW4gMjAwMSwgMTY6MTk6MzcpOgpIYWxsbyBGYW5zIQpJY2ggaGFiJ3MgZW5kbGljaCBnZXNjaGFmZnQhClVuZCBSb2NodXMgYXVjaCwgdW5kIGRhaGVyIHNpbmQgbWVpbmUgUGFydHliaWxkZXIgZW5kbGljaCBhdWYgZGVtIE11ZHJlY2huZXIKenUgZmluZGVuIQpTY2hhdXQgbWFsIHJlaW4hCkFjaCB1ZWJyaWdlbnMsIGFsbCBJaHIgYW5kZXJlbjogd28gYmxlaWJlbiBFdXJlIEJpbGRlcj8KQWIgYW4gUm9jaHVzIGRhbWl0IQpQZXJkaXRhIC0gamEgbnVuIHRyb3R6IGFsbGVtIGRvY2ggbmljaHQgZGllIExldHp0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQm9ubiAoUG9pbmcsICAyLiBKdWwgMjAwMSwgMTk6MjM6MDMpOgpPZWhtIHN0ZWlndCBqZXR6dCBlaWdlbnRsaWNoIG5lIFBhcnR5IGluIEJvbm4sIHVuZCB3YW5uPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6Qm9ubiAoS2FkaXMsICAyLiBKdWwgMjAwMSwgMTk6MzU6MTMpOgpKYSwgZGllIFBhcnR5IHdpcmQgZXMgZ2ViZW4sIHVuZCB6d2FyIHZvbSAxMC4tMTIuOC4sIHdpciBzaW5kIGhpZXIgYWxsZQpmbGVpc3NpZyBhbSBSdWRlcm4sIGRhc3Mgd2lyIGRhcyBoaW5iZWtvbW1lbiB1bmQgc29iYWxkIGRlciBQYXJ0eXJhdW0ga2xhcgppc3QsIHN0ZWh0IGF1Y2ggZGFzIEJyZXR0LCBkYW5uIGtvZW5udCBpaHIgZXVjaCBhbm1lbGRlbi4KCkJpcyBiYWxkZQpLYWRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHluZXdzIDopIChLYWRpcywgIDguIEp1bCAyMDAxLCAyMjo0NjoyOSk6Ckh1aHUsCgphbHNvLCBqZXR6dCB3aXJkcyBlcm5zdC4gV2lyIGhhYmVuIGVpbmVuIFplbHRwbGF0eiB1bmQgd2lyIGhhYmVuIGVpbmVuClBhcnR5cmF1bSwgZC5oLiBlcyBrYW5uIGxvc2dlaGVuLiBQYXJ0eWJyZXR0IHdpcmQgaG9mZmVudGxpY2ggbW9yZ2VuIHN0ZWhlbgp6dW0gQW5tZWxkZW4uIFZvcmFiIGthbm4gaWNoIHNjaG9uIG1hbCBzYWdlbiwgZGFzcyBkZXIgWmVsdHBsYXR6IHBybyBOYXNlIDVETQp1bmQgWmVsdCA4RE0gcHJvIE5hY2h0IGtvc3RlbiB3aXJkIHBsdXMgMURNIE11ZWxsZ2VidWVocmVuIChuZWluLCBkYXMgaGFiZQpuaWNodCBpY2ggbWlyIGF1c2dlZGFjaHQpLiBIb3RlbGxpc3RlIHdlcmQgaWNoIGF1Y2ggbm9jaCBpbnMgTmV0eiBzdGVsbGVuCnNvd2llIGRpZSBBbmZhaHJ0c3dlZ2UuIEdlbmF1IERldGFpbHMgZXJzY2hlaW5lbiBkYW5uIGF1ZiBkZW0gUGFydHlicmV0dC4KRXMgd2lyZCBhdWNoIGVpbiBULVNoaXJ0IGdlYmVuIC4uLiBNb3RpdjogRHJhY2hlIDotKSAuLiBpY2ggd2VyZCBtYWwgc2VoZW4sCmRhc3Mgd2lyIGRhcyBpcmdlbmR3aWUgZWluZ2VzY2FubnQgYmVrb21tZW4uIE1haWxzIGJpdHRlIGFuIFQtU2hpcnRmcmF1LApLb3N0ZW4gMjNETSBwcm8gU2hpcnQuIEZ1ZXIgYWxsZSBkaWUgbWl0IHp1bSBDaGluZXNlbiBhbSBTb25udGFnIHdvbGxlbiwgZWluZQpNYWlsIGFuIENoaW5hZnJhdSwgS29zdGVuIGZ1ZXIgQnVmZmV0IDE4RE0gcHJvIE5hc2UuCgpIbSwgLi4uIG5lIGRldGFpbGllcnRlIEJlc2NocmVpYnVuZyB3aXJkcyBhdWNoIG5vY2ggZ2ViZW4gLi4uIGFiZXIgZGFzIGVyc3RtYWwKdm9yYWIuCgpVbmQgZnVlciBhbGxlLCBkaWUgZGFzIERhdHVtIHNjaG9uIHdpZWRlciB2ZXJnZXNzZW4gaGFiZW46IDEwLi0xMi4wOC4yMDAxOi0pCgpCaXMgZGFubmUKS2FkaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2h0cmFnIDotKSAoS2FkaXMsICA4LiBKdWwgMjAwMSwgMjM6MDE6MjApOgpBZWhtLCBoYWIgd2FzIHZlcmdlc3NlbiAqcmFldXBlciogLi4gZGVyIFBhcnR5YmVpdHJhZyB3aXJkIHNpY2ggYXVmIDM1RE4gcHJvClBlcnNvbiBiZWxhdWZlbiwgYWJlciBkYXMgc3RlaHQgamEgZGFubiBhdWNoIGF1ZiBkZW0gQnJldHQuCgpOYSBndXQsIGJpcyBkYW5uZQpLYWRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHluZXdzIDIgOikgKEthZGlzLCAxMC4gSnVsIDIwMDEsIDAwOjA4OjE5KToKSHVodSwKCmFsc28gUGFydHlicmV0dCBzdGVodCBqZXR6dCB1bmQgaWNoIGJpdHRlIHVtIHphaGxyZWljaGUgQW5tZWxkdW5nZW4uIApBbmZhaHJ0c3dlZ2UgdW5kIEhvdGVsbGlzdGVuIHdlcmRlbiBpbiBkZW4gbmFlY2hzdGVuIFRhZ2VuIGF1Y2ggbm9jaCBpbnMgTmV0egpnZXN0ZWxsdC4gCldlZ2VuIGRlciBUcmVmZnB1bmt0a25laXBlIHdlcmRlbiB3aXIgZXVjaCBhdWNoIG5vY2ggcmVjaHR6ZWl0aWcgaW5mb3JtaWVyZW4uCgpCaXMgZGFubmUKS2FkaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eW5ld3MgMiA6KSAoT3JrdG9ldGVyLCAxMC4gSnVsIDIwMDEsIDAwOjExOjE3KToKfiMhIHJuPUthZGlzIHJ0PTk5NDcxNjQ5OSByZz1wYXJ0eQp+IyEgdGlkPTk5NDcxNjQ5OQpJc3QgZGVubiBkZXIgWmVsdHBsYXR6IGluIGRlciBXb2NoZSB2b3IgZGVyIFBhcnR5IHNjaG9uIGF1c2dlYnVjaHQ/IE9kZXIKbGllc3NlIHNpY2ggZGEgbm9jaCBlaW5lIENhbXB3b2NoZSBkcmF1cyBtYWNoZW4/CgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6UmU6UGFydHluZXdzIDIgKEthZGlzLCAxMC4gSnVsIDIwMDEsIDAwOjIwOjE0KToKTmVlLCB3YXIgc2Nob24gc2Nod2llcmlnIGRhcyBmdWVyIGRhcyBXRSB6dSBiZWtvbW1lbiwgZGEgZGllIG51ciBmdWVyIGVpbiBwYWFyClRhZ2UgWmVsdGUgYW5uZWhtZW4uIFdlciB3aXJrbGljaCBzY2hvbiBpbiBkZXIgV29jaGUgQ2FtcGVuIG1vZWNodGUsIGRlbQprb2VubnRlIGljaCB6d2VpIFplbHRwbGFldHplIGluIGRlciBOYWVoZSB2b24gQm9ubiBlbXBmZWhsZW4uIFdlciBJbnRlcmVzc2UKaGF0LCBiaXR0ZSBNYWlsIGFuIG1pY2guCgpLYWRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOlJlOlBhcnR5bmV3cyAyIChQYXRyeW4sIDEwLiBKdWwgMjAwMSwgMDA6MjM6MTEpOgp+IyEgcm49S2FkaXMgcnQ9OTk0NzE3MjE0IHJnPXBhcnR5Cn4jISB0aWQ9OTk0NzE3MjE0Cm9oIGplLi4uYWxzbyB3aWVkZXIgc29uIGRhdWVyY2FtcGVycGxhdHosIGJlaSBkZW0gbWFuIG1pc3N0cmF1aXNjaCB2b24gZWluZXIKZWlnZW5hcnRpZ2VuIHVuZCB1ZWJlcmVtcGZpbmRsaWNoZW4gdGllcmFydCBuYW1lbnMgImRhdWVyY2FtcGVyIiBiZWxhdWVydAp3aXJkLiBvYmVuZHJlaW4gYmVpc3NlbiBkaWUhIGhtcGYgOikKCi0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29lbG4gPC0+IEJvbm4gKEFub3JpcywgMTAuIEp1bCAyMDAxLCAxOTo0MTowNik6ClNlcnZ1cyA7KQoKd2VyZGUgRnJlaXRhZyBtaXQgZGVtIEZsaWVnZXIga29tbWVuLCB3aWUga29tbXQgbWFuIHZvbiBLb2VsbiBGbHVnaGFmZW4gbmFjaApCb25uIFBhcnR5a25laXBlPwoKRGFua2UgaW0gVm9yYXVzIC0gQW5vcmlzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29lbG4gPC0+IEJvbm4gKEdyaW1tYm9ybiwgMTAuIEp1bCAyMDAxLCAyMTo1NDo1NSk6Cn4jISBybj1Bbm9yaXMgcnQ9OTk0Nzg2ODY2IHJnPXBhcnR5Cn4jISB0aWQ9OTk0Nzg2ODY2CkVpbiBUYXhpZmFocmVyIHNvbGx0ZSBkaWUgcmVsZXZhbnRlbiBLbmVpcGVuIGVpZ2VudGxpY2ggZmluZGVuIGtvZW5uZW4uLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLb2VsbiA8LT4gQm9ubiAoTGluZmxhcywgMTEuIEp1bCAyMDAxLCAwOToyNjo1Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTk0Nzk0ODk1IHJnPXBhcnR5Cn4jISB0aWQ9OTk0Nzg2ODY2Ckthbm5zdCBhdWNoIGRlbiBGbHVnaS1CdXMgbmVobWVuIHVuZCBkYW5uIHZvbSBCYWhuaG9lZmNoZW4gaW4gQm9ubiBhdXMgbmUKVGF4ZS4gRGEga29zdGV0IGVzIGVnYWwgd28gaGluIGVoIG5pZSBtZWhyIGFscyBETSAxMCA7LSkKCkxpbmZsYXMsIGV4LUJvbm5lci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBoYW50YXNpYWxhbmQgKFNvbG15ciwgMTEuIEp1bCAyMDAxLCAxMTowODoxMSk6CkhpLAoKaWNoIHd1ZXJkZSBiZWkgZ2VudWVnZW5kIFRlaWxuZWhtZXJuIGdhbnogZ2VybmUgZWluZW4gQWJzdGVjaGVyCmlucyBQaGFudGFzaWFsYW5kIGJlaSBCb25uIChCcnVlaGwpIG9kZXIgaW4gZGllIFdhcm5lciBCcm90aGVycwpNb3ZpZSBXb3JsZCAoQm90dHJvcCkgbWFjaGVuLiBEYXMgUGhhbnRhc2lhbGFuZCBpc3QgamEgbGVpZGVyIGR1cmNoCmRlbiB2ZXJoZWVyZW5kZW4gQnJhbmQgbmljaHQgbWVociBnYW56IHNvIGF0dHJha3RpdiwgYWJlciBhbGxlaW4KYXVzIFNvbGlkYXJpdGFldCAoaWNoIHdhciBkYSBzaWNoZXIgc2Nob24gNTAgbWFsKSwgd3VlcmRlIGljaCBkb3J0Cm1hbCB2b3JiZWlzY2hhdWVuIHdvbGxlbi4KSWNoIGdsYXViIGFiIGNhLiAxNSBvZGVyIDIwIFBlcnNvbmVuIGdpYnRzIGF1Y2ggcmVjaHQgYXR0cmFrdGl2ZQpHcnVwcGVuZXJtYWVzc2lndW5nZW4sIGRhcyB3dWVyZGUgc2ljaCBhbHNvIGF1Y2ggaW0gUmFobWVuIGhhbHRlbi4KCkdydXNzClNvbG15cgoKUkwgUXVlc3Qgd3VlcmRlIHNpY2ggYmVpc3BpZWxzd2Vpc2UgYXVjaCBhdWYgZGVtICdEcmFjaGVuZmVscycgYW4tCmJpZXRlbiwgZGEgaGFldHRlIGljaCB2aWVsbGVpY2h0IGVpbiBwYWFyIEtvbnRha3RlLCBkYW1pdCBkYXMKcmVpYnVuZ3Nsb3MgYWJsYXVmZW4ga2Fubi4gKFBzIHZlcmdlc3NlbikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGhhbnRhc2lhbGFuZCAoQ2luZGVyZWxsYSwgMTEuIEp1bCAyMDAxLCAxNToyNToyNyk6Cn4jISBybj1Tb2xteXIgcnQ9OTk0ODQyNDkxIHJnPXBhcnR5Cn4jISB0aWQ9OTk0ODQyNDkxCkhpaGkgUkwtUXVlc3QgYXVmIGRlbSBEcmFjaGVuZmVscyBkYXMgd2lsbCBpY2ggc2VoZW4uCkljaCBsZWcgZGFubiBzY2hvbm1hbCBGZWRlcm4gdW5kIFRlZXIgdW5kIGFuZGVyZSBuZXR0ZSBGb2x0ZXJ3ZXJremV1Z2UgYmVyZWl0LApkZW5uIG5hY2ggZGVyIEFrdGlvbiBrb21tc3RlIGdhcmFudGllcnQgYmVpIERlaW5lbiBNaXRtdWRkZXJuIG5pY2h0CnVuZ2VzY2hvcmVuIGRhdm9uIDstKQoKc2Nod2FyemVzIEhleGNoZW4gQ2luZGVyZWxsYSBhbXVlc2llcnQgc2ljaCBqZXR6dCBzY2hvbiBrb2VuaWdsaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBoYW50YXNpYWxhbmQgKFNvbG15ciwgMTEuIEp1bCAyMDAxLCAxNTo0Mjo1Myk6Cn4jISBybj1DaW5kZXJlbGxhIHJ0PTk5NDg1NzkyNyByZz1wYXJ0eQp+IyEgdGlkPTk5NDg0MjQ5MQpEYSBmdWVocnQgYXVjaCBuZSBaYWhucmFkYmFobiBob2NoLCBmYWxscyBEdSBkYXMgbm9jaCBuaWNodAp3dXNzdGVzdCA6KSBPZGVyIEVzZWwsIGRpZSBlaW5lbiBob2NoYnVja2VsbiBnaWJ0cywgZ2xhdWIgaWNoLAphdWNoIC4uLiB2aWVsbGVpY2h0IHdvbGxlbiBkaWUgWmF1YmlzIGphIGFiZXIgYXVjaCBtYWwgSWhyZSBLcmFmdApiZXdlaXNlbiB1bmQgbWVpbmUgU3VsdGFuZSBmdWVyIERpY2ggdW5kIG1pY2ggbmFjaCBvYmVuIGJlZm9lcmRlcm4uCgpTb2xteXIsIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQaGFudGFzaWFsYW5kIChMaW5mbGFzLCAxMS4gSnVsIDIwMDEsIDIxOjEwOjAzKToKfiMhIHJuPVNvbG15ciBydD05OTQ4NTg5NzMgcmc9cGFydHkKfiMhIHRpZD05OTQ4NDI0OTEKUkwtUXVlc3QgYXVmIGRlbSBEcmFjaGVuZmVscywgYW0gYmVzdGVuIFNhbXN0YWdzIG9kZXIgU29ubnRhZ3MgYmVpIGd1dGVtCldldHRlciB1bmQgZGFubiBkaWUgZ2FuemVuIFRvdXJpLVNjaGFyZW4gbWl0IGdyYXVlbiBIYWFyZW4gdW5kIEt1bnN0emFlaG5lbgplaW5iaW5kZW4gOy0pCgpMaW5mbGFzIHN0ZWxsdCBzaWNoIHNvd2FzIHdpdHppZyB2b3IuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaZWx0ZW4gKFFpdGVzcywgMTIuIEp1bCAyMDAxLCAyMToyNzo1Nyk6CkdpYnQgZXMgZWluZSBCZXNjaHJhZW5rdW5nIGZ1ZXIgZGllIFplbHRlPwpXYXMgaXN0LCB3ZW5uIG1hbiBlaW4gZXR3YXMgZ3JvZXNzZXJlcyB6ZWx0IGhhdD8KUUkqKgogICAgICAgTHV4dXMtQ2FtcGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmVsdGVuIChQaXRmYWxsLCAxMi4gSnVsIDIwMDEsIDIxOjI4OjE1KToKfiMhIHJuPVFpdGVzcyBydD05OTQ5NjYwNzcgcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKZWluIHplbHQgbWl0IHdoaXJscG9vbD8gOj0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmVsdGVuIChHcmltbWJvcm4sIDEyLiBKdWwgMjAwMSwgMjE6Mjg6MzcpOgp+IyEgcm49UWl0ZXNzIHJ0PTk5NDk2NjA3NyByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3NwpEYW5uIGhhdCBtYW4gbWVociBQbGF0ej8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSAoU2NobGVpY2hlciwgMTIuIEp1bCAyMDAxLCAyMTozMDo0NSk6Cn4jISBybj1CaXJkeSBydD05OTA1MzQyNTMgcmc9cGFydHkKfiMhIHRpZD05OTA0NjAzMjYKTHV4dXMgdW5kIENhbXBpbmcgc2NobGllc3NlbiBzaWNoIGF1cyEgTHV4dXMgYmVnaW5udCBpbiBlaW5lbSBIb3RlbCBtaXQgV2FubmUKdW5kIEZydWVoc3R1ZWNrc2J1ZmZldCEKU2NobGVpY2hlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFplbHRlbiAoUWl0ZXNzLCAxMi4gSnVsIDIwMDEsIDIxOjMxOjE5KToKfiMhIHJuPVFpdGVzcyBydD05OTQ5NjYwNzcgcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKLi4uaWNoIHd1c3N0ZSBlcyA7LSkKTmVpbiwga2VpbiBXaGlybHBvb2wsIGphLCBtZWhyIFBsYXR6LCBuZWluLCBrZWluIFppcmt1cyAoYWJnZXNlaGVuIHZvbgpIZW5yeU1hc2tlLCBtZWluZW0gc3Vlc3NlbiBrbGVpbmVuIFNjaGltcGFuc2VuLi4uKSwgZWluZmFjaCBudXIgZWluIGV0d2FzCmdyb2Vzc2VyZXMgWmVsdCwgd2Vpc3MsIEJhdW13b2xsZSwgTWl0dGVsc3RhbmdlIC0gU2FoYXJhIChmdWVyIEVpbmdld2VpaHRlKQpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFplbHRlbiAoU2NobGVpY2hlciwgMTIuIEp1bCAyMDAxLCAyMTozMjo0Mik6Cn4jISBybj1RaXRlc3MgcnQ9OTk0OTY2Mjc5IHJnPXBhcnR5Cn4jISB0aWQ9OTk0OTY2MDc3ClNhaGFyYT8gS0xpbmd0IHRyb2NrZW4hClNjaGxlaWNoZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFplbHRlbiAoUWl0ZXNzLCAxMi4gSnVsIDIwMDEsIDIxOjM1OjA0KToKfiMhIHJuPVNjaGxlaWNoZXIgcnQ9OTk0OTY2MzYyIHJnPXBhcnR5Cn4jISB0aWQ9OTk0OTY2MDc3Cmphd29sbCwgaXNzZXMgLSBiZWkgZGVtIG5pZWRsaWNoZW4gdW53ZXR0ZXIgbGV0enRlbnMgZXJmb2xncmVpY2gKYXVzZ2V0ZXN0ZXQuLi4KUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWmVsdGVuIChTY2hsZWljaGVyLCAxMi4gSnVsIDIwMDEsIDIxOjM2OjM2KToKfiMhIHJuPVFpdGVzcyBydD05OTQ5NjY1MDQgcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKSmEsIGljaCBoYXR0ZSBtYWwgc29uIGFlaG5saWNoZXMgWmVsdCAxMDAlIFdhc3NlcmRpY2h0IHdlbm5zIGVyc3RtYWwgZHJpbiB3YXIKYmVrYW0gbWFucyBuaWNodG1laHIgcmF1cy4uLgpTY2hsZWljaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBaZWx0ZW4gKFFpdGVzcywgMTIuIEp1bCAyMDAxLCAyMTozNzo0MCk6Cn4jISBybj1TY2hsZWljaGVyIHJ0PTk5NDk2NjU5NiByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3Nwp3aWVzbyAtIHdlbm4gd2FzIGRyaW4gaXMsIGxhZXVmdHMgZG9jaCB1bnRlbiB3aWVkZXIgcmF1cy4uLj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBaZWx0ZW4gKFNjaGxlaWNoZXIsIDEyLiBKdWwgMjAwMSwgMjE6Mzk6MTgpOgp+IyEgcm49UWl0ZXNzIHJ0PTk5NDk2NjY2MCByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3NwpFaW4gWmVsdCBvaG5lIEJvZGVuPz8/CkRhdHQgZ2VodCBqYSBnYXIgbmljaHQuLi4KU2NobGVpY2hlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWmVsdGVuIChHcmltbWJvcm4sIDEyLiBKdWwgMjAwMSwgMjE6NDE6NTIpOgp+IyEgcm49U2NobGVpY2hlciBydD05OTQ5NjY3NTggcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKQWVoLCB3YXJzdCBEdSBtYWwgYmVpbSBCdW5kPyBPZGVyIGRlbiBQZmFkZmluZGVyPyBPZGVyIGhhc3QgRGljaCB3ZW5pZ3N0ZW5zCm1hbCBpcmdlbmR3byBkb3J0IGluIGRlciBHZWdlbmQgdW1nZXNlaGVuPyAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWmVsdGVuIChTY2hsZWljaGVyLCAxMi4gSnVsIDIwMDEsIDIxOjQzOjM1KToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTQ5NjY5MTIgcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKTm9lIGljaCBoYWIgaW1tZXIgdmVyc3VjaHQgZ3VyIHp1IGxlYmVuLi4uCk5hdHVyIGlzdCBkb2NoIGRhcyBkYSBkcmF1c3NlbiB2b3JtIEZlbnN0ZXIgb2Rlcj8KU2NobGVpY2hlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWmVsdGVuIChBbmF0b2wsIDEyLiBKdWwgMjAwMSwgMjE6NDQ6MDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk5NDk2NjkxMiByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3NwpCdW5kZXN3ZWhyIlplbHRlIiBiZXNpdHplbiBrZWluZW4gQm9kZW4uIERhIGlzdCBtYW4gc2Nob24gZnJvaCwgd2VubiBzaWUKaGFsYndlZ3MgbGFuZyBnZW51ZyBzaW5kLiBEYXNzIHRyb3R6ZGVtIGtlaW4gV2Fzc2VyIHJlaW5saWVmIGxhZyBhbiBkZW4KR3JhZWJlbiwgZGllIG1hbiBhdXNzZW5ydW0gem9nLiBBYmVyIGRhcyBtYWNoIGF1ZiBlaW5lbSBDYW1waW5ncGxhdHogdW5kCkR1IGJpc3QgZGVtIEhlcnJuIG5haGUgOykKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogWmVsdGVuIChHcmltbWJvcm4sIDEyLiBKdWwgMjAwMSwgMjE6NDY6MTApOgp+IyEgcm49QW5hdG9sIHJ0PTk5NDk2NzA0MyByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3NwpUamEsIGRhcyBLcmFua2VuaGF1cywgd28gaWNoIFppdmlsZGllbnN0IGdlbWFjaHQgaGFiZSwgaGF0dGUgaW1tZXJoaW4gZWluCkRhY2guIFVuZCBkYXMgd2FyIHNvZ2FyIHJlZ2VuZGljaHQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmhvcmNodGF1ZiBzY2hhdXRoZXIgKEhpZ2h0LCAxMi4gSnVsIDIwMDEsIDIxOjUxOjQ3KToKZGllIGlzdCBlaW5lIHByb2ZpbGFrdGlzY2hlIGFua3VlbmRpZ3VuZyAhCgp1bSBkdW1tZW4gZnJhZ2VuIG5hY2ggRGV2aWxjaGVuIHp1IHVtZ2VoZW4gZ2ViIGljaCBlaW5mYWNoIG1hbCBwYXVzY2hhbApiZWthbm50Ogp1bSBkdW1tZW4gZnJhZ2VuIG5hY2ggRGV2aWxjaGVuIHp1IHVtZ2VoZW4gZ2ViIGljaCBlaW5mYWNoIG1hbCBwYXVzY2hhbApiZWthbm50OgoKc2llIHdpcmQgYXVjaCBhdWZzY2hsYWdlbiAhIGhhdCBzaWUgenVtaW5kZXN0IGZlc3Qgdm9yICxvKSAKCmdydXNzIGhpZ2h0CgpwLnMuIHptdWQgbmFyZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFplbHRlbiAoRm9vYmFyLCAxMy4gSnVsIDIwMDEsIDAxOjQwOjMyKToKfiMhIHJuPUFuYXRvbCBydD05OTQ5NjcwNDMgcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKSmFqYSwgZGllIEJ1bmRlc3dlaHJ6ZWx0ZS4uLgoKV2l0emlnZXJ3ZWlzZSBoYXQgaW1tZXIgamVkZXIgbnVyIGVpbiBoYWxiZXMgWmVsdCBkYWJlaS4gTWFuIG11c3MgYWxzbyBpbW1lcgp6dSB6d2VpdCBpbiBlaW5lbSBaZWx0IHBlbm5lbiwgaW4gZGFzcyBpY2ggYWxsZWluZSBrYXVtIHJlaW5wYXNzZS4gV2FzIGFiZXIKYXVjaCBlZ2FsIHdhci4gU2NobGllc3NsaWNoIHdhcmVuIHdpciBlaW5lIHVuZ2VyYWRlIEFuemFobCB2b24gTGV1dGVuIGluIGRlcgpHcnVwcGUsIHVuZCBkZXIgR3J1cHBlbmFlbHRlc3RlIC0gbmFlbWxpY2ggaWNoIC0gZHVyZnRlIGRhbm4gaW1tZXIgaW0gaGFsYmVuClplbHQgcGVubmVuLgoKSmVkZW5mYWxscyBoYXR0ZSBpY2ggZGFubiBnZW51ZyBQbGF0ei4KCkdydXNzLAoKICAgICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBaZWx0ZW4gKEVsYmVyZXQsIDEzLiBKdWwgMjAwMSwgMDE6NDQ6MzApOgp+IyEgcm49Rm9vYmFyIHJ0PTk5NDk4MTIzMiByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3Nwp3ZW5uIGljaCBtaWNoIHJlY2h0IGVyaW5uZXIgc3RhbmQgaW4gZGVyIFpkViBzb2dhciwgd2llIG1hbiBkYXMgaGFsYmUgWmVsdAphdWZiYXV5ZW4gbXVzc3RlLCBvZGVyPyAKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBaZWx0ZW4gKEZvb2JhciwgMTMuIEp1bCAyMDAxLCAwMTo0NTo1MCk6Cn4jISBybj1FbGJlcmV0IHJ0PTk5NDk4MTQ3MCByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3NwpLbGFyLgoKQWJlciB2b24gZGVuZW4sIGRpZSBkYXMgRGluZyB2ZXJmYXNzdCBoYWJlbiwgaGF0IHdhaHJzY2hlaW5saWNoIG5pZSBlaW5lcgppbi91bnRlci9uZWJlbiBzbyBlaW5lbSBaZWx0IGdlc2NobGFmZW4sIGJ6dy4gZXMgdmVyc3VjaHQuCgpGb29iYXIgLSBoYXR0ZSB0cm90emRlbSBlaW5lIE1lbmdlIFNwYXNzIGJlaW0gQnVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFplbHRlbiAoRWxiZXJldCwgMTMuIEp1bCAyMDAxLCAwMTo0NzowNik6Cn4jISBybj1Gb29iYXIgcnQ9OTk0OTgxNTUwIHJnPXBhcnR5Cn4jISB0aWQ9OTk0OTY2MDc3CmpvLCBzcGFzcyBoYXR0ZW4gbWVyIGF1Y2guIGF1c3NlcmRlbSBoYXR0ZW4gd2lyIHVuc2VyZSBlaWdlbmVuICBGYWhyemV1Z2UgbWl0CkhlaXp1bmcuIEluIGRlbSBBcmJlaXRzc2Vzc2VsIGtvbm50ZSBtYW4gaGVydm9ycmFnZW5kIHBlbm5lbiA7KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFplbHRlbiAoRm9vYmFyLCAxMy4gSnVsIDIwMDEsIDAxOjQ3OjQ0KToKfiMhIHJuPUVsYmVyZXQgcnQ9OTk0OTgxNjI2IHJnPXBhcnR5Cn4jISB0aWQ9OTk0OTY2MDc3Ck5hamEsIGRpZSBnYWIgZXMgZXJzdCBuYWNoIGRlciBHcnVuZGF1c2JpbGR1bmcuIERhIGhhdHRlIGljaCBtZWluZW4gZWlnZW5lbgpQYW56ZXIgOm8pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBaZWx0ZW4gKEVsYmVyZXQsIDEzLiBKdWwgMjAwMSwgMDE6NDg6MDQpOgp+IyEgcm49Rm9vYmFyIHJ0PTk5NDk4MTY2NCByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3NwppcyBkZXIgYmVxdWVtPwpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogWmVsdGVuIChGb29iYXIsIDEzLiBKdWwgMjAwMSwgMDE6NDg6NTYpOgp+IyEgcm49RWxiZXJldCBydD05OTQ5ODE2ODQgcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKSmEsIGVzIHdhciBkZXIgVHJhbnNwb3J0cGFuemVyIEZ1Y2hzLCBtb2xsaWcgd2FybSwgYmVxdWVtZXMgRmFocmVyaGF1cyB1bnMKc2Nod2ltbWVuIGthbm4gZXIgYXVjaC4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFplbHRlbiAoV2lsbG93LCAxMy4gSnVsIDIwMDEsIDA3OjUwOjAxKToKfiMhIHJuPUZvb2JhciBydD05OTQ5ODE3MzYgcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKZGVyIGthbXBmaGFtc3RlciBsZW9wb2xkIElJIHdhciBhdWNoIHNjaG9lbiB3YXJtLCBnZXJhZXVtaWcgKGZ1ZXIgZGVuIGZhaHJlcikKdW5kIHRyb2NrZW4gYmVpIHJlZ2VuIC0genVtaW5kZXN0IHNvbGFuZ2UgbWFuIG5pY2h0IGF1ZiBkZXIgc3RyYXNzZSB1bnRlcndlZ3MKd2FyLiAKV2VpZGNoZW4gV2lsbG93IGxpZWJ0IHN0YW5kaGVpenVuZ2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogWmVsdGVuIChHcmltbWJvcm4sIDEzLiBKdWwgMjAwMSwgMDc6NTQ6MzcpOgp+IyEgcm49V2lsbG93IHJ0PTk5NTAwMzQwMSByZz1wYXJ0eQp+IyEgdGlkPTk5NDk2NjA3NwpJY2ggaGFiIGpldHp0IG5lIFdlaWxlIGdlcmFldHNlbHQuIFdhcyBoYXQgZWluZSBTdHJhc3NlLCBkYXNzIHNpZSBkZW4gTGVvIGJlaQpSZWdlbiBuYXNzIG1hY2h0LCB3YXMgZGFzIEdlbGFlbmRlIG5pY2h0IGhhdD8KCkdyaW1tYm9ybiBkZXIgUGF6aV5XQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFplbHRlbiAoV2lsbG93LCAxMy4gSnVsIDIwMDEsIDA4OjA2OjE3KToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTUwMDM2Nzcgcmc9cGFydHkKfiMhIHRpZD05OTQ5NjYwNzcKbmFqYSwgZ2FueiBlaW5mYWNoIC0gYXVmIGRlciBzdHJhc3NlIG11c3MgaWNoIG1pdCBnZW9lZmZuZXRlciBmYWhyZXJsdWtlCmZhaHJlbiAtIHVuZCBkYW5uIHJlZ25ldHMgaGFsdCByZWluLiB1bmQga2FsdCB3aXJkcyBkYW5uIG5hdHVlcmxpY2ggYXVjaC4uLgpXZWlkY2hlbiBXaWxsb3cgaGF0IHNvIGVpbiB0ZWlsIGdlZmFocmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVZWJlcndlaXN1bmc/Pz8gKEthcnRvZmZlbCwgMTQuIEp1bCAyMDAxLCAyMzo0ODoxMSk6CgpTY2hvZW5lciBBdWZydWYgZnJ1ZWggenUgdWViZXJ3ZWlzZW4sIGFiZXIgd29oaW4/PwoKS2FydG9mZmVsIC0gZmluZGV0IGtlaW5lIEtvbnRvbnVtbWVyLi4uIHp1IGJsb2VkPz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVZWJlcndlaXN1bmc/Pz8gKEthcnRvZmZlbCwgMTQuIEp1bCAyMDAxLCAyMzo1NTowNyk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9OTk1MTQ3MjkxIHJnPXBhcnR5Cn4jISB0aWQ9OTk1MTQ3MjkxCgpBaGEsIGRlciBIaW53ZWlzIGF1ZiBkaWUgS29udG9udW1tZXIgZmVobHQgYW5zY2hlaW5lbmQgbnVyIGF1ZiBkZW0KQmllcnNjaHVldHRlbC1HaWxkZW4tQnJldHQsIGJlaSBkZW4gQWJlbnRldXJlcm4gaGFiIGljaHMgZGFubiBnZWZ1bmRlbgoKJ1RvZmZlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1TaGlydCAoS2FkaXMsIDE2LiBKdWwgMjAwMSwgMTE6NTY6NTcpOgpIdWh1LAoKd2VyIHNpY2ggdm9yaGVyIGRhcyBNb3RpdiBkZXMgZGllc2phZWhyaWdlbiBULVNoaXJ0cyBhbnNjaGF1ZW4gbW9lY2h0ZSwgc29sbHRlCmJpdHRlIGVpbmUgTWFpbCBhbiBDaW5kZXJlbGxhIHNjaGlja2VuLiBTaWUgc2NoaWNrdCBldWNoIGRhbm4gZWluZSBqcGcsIGRhaGVyCmJpdHRlIG5pY2h0IGRpZSBldXJlIGVpZ2VuZSBNYWlsYWRyZXNzZSB2ZXJnZXNzZW4sIGFuIGRpZSBlcyBnZWhlbiBzb2xsLiBPZGVyCnNwcmVjaHQgc2llIGVpbmZhY2ggaW0gTXVkIGFuLCB3ZW5uIHNpZSBkYSBpc3QuCgpCaXMgYmFsZGUKS2FkaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0IChHb3JvZywgMTYuIEp1bCAyMDAxLCAxODowNzozNik6Cn4jISBybj1LYWRpcyBydD05OTUyNzc0MTcgcmc9cGFydHkKfiMhIHRpZD05OTUyNzc0MTcKSG1tbSwgbnVyIG1hbCBzbyBuZWJlbiBiZWksIHdhcnVtIHBhY2t0IGlociBkYXMgQmlsZCBuaWNodCBlaW5mYWNoIGF1ZiBkZW4KTUctU2VydmVyIHNvIHdpZSBkaWUgUGFydHliaWxkZXIgdW5kIGFlaG5saWNoZSBEYXRlaWVuLCB3dWVyZGUgQ2luZGVyZWxsYQptYWVjaHRpZyBhcmJlaXQgZXJzcGFyZW4sIGRlbmsgaWNoLgoKSnVzdCBteSB0d28gY29uc2VjcmF0ZWQgd2FmZXJzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1TaGlydC1Nb3RpdiAoS2FkaXMsIDE3LiBKdWwgMjAwMSwgMjI6MDg6NDEpOgpTbywgZnVlciBkaWUgTWFlbm5saWNoa2VpdCBkZXMgTUcncywgZGllIHp1IGZhdWwgaXN0IG5lIE1haWwgenUgbGVzZW4gYnp3LiB6dQpvZWZmbmVuLCBzdGVodCBkYXMgTW90aXYgbnVuIHp1ciBBbnNpY2h0IGJlcmVpdCB1bnRlcjogd3d3LiBnbGV0c2NoZXJmZWUuZGUuCkljaCBkZW5rZSBtYWwsIGRhcyBpaHIgZGFzIGFiZXIgc2NoYWZmZW4gd2VyZGV0LgoKTWZnIEthZGlzIAoKUFM6IHVuZCB2ZXJnZXNzdCBkYW5uIGFiZXIgYml0dGUgbmljaHQgZGllIE1haWwgYW4gVC1TaGlydGZyYXUsIHNvbnN0IGthbm4gaWNoCmRpZSBCZXN0ZWxsdW5nIG5pY2h0IGJlcnVlY2tzaWNodGlnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTpULVNoaXJ0LU1vdGl2IChLYWRpcywgMTcuIEp1bCAyMDAxLCAyMjoxMzoxMCk6CgpFbnRzY2h1bGRpZ3QsIGRhc3MgaWNoIGF1Y2ggbWFsIEZlaGxlciBtYWNoZSAoYmluIHp1ZmFlbGxpZyBhdWNoIHZvbiBkZXIKZ2F0dHVuZyBNZW5zY2ghISk6CgpNYWlscyBhbiB0c2hpcnRmcmF1CgpLLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOlQtU2hpcnQtTW90aXYgKEdvcm9nLCAxNy4gSnVsIDIwMDEsIDIyOjIwOjMyKToKfiMhIHJuPUthZGlzIHJ0PTk5NTQwMDc5MCByZz1wYXJ0eQp+IyEgdGlkPTk5NTQwMDc5MApEYW5rZQoKR29yb2cgZmF1bCB1bmQgaHVuZ3JpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTpULVNoaXJ0LU1vdGl2IChCaWVsZWZlbGQsIDE4LiBKdWwgMjAwMSwgMDE6MTM6NDIpOgp+IyEgcm49S2FkaXMgcnQ9OTk1NDAwNzkwIHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDAwNzkwCi4uLnZvbiBkZXIgR2F0dHVuZyBNZW5zY2g/IEljaCBrZW5uIGJpc2hlciBudXIgZGllIERyYWNoZW50YW50ZS4uLiA7KQoKLUJpZWxlZmVsZCAoY291bGQgbm90IHJlc2lzdC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWwgYW4gTmFjaHRoZW1kZnJhdSAoSmFtZXNvbiwgMTguIEp1bCAyMDAxLCAxNzoyNjoxNCk6CkhpLAoKaXN0IHNpY2hlciBuaWNodCBudXIgbWlyIGF1ZmdlZmFsbGVuLCBkYXNzIGRpZSBULVNoaXJ0LUdyb2Vzc2VuIGVyc3QgYmVpIEwKYW5mYW5nZW4gdW5kIGJlaSBYWEwgYXVmaG9lcmVuLiBFaW4gTUctTmFjaHRoZW1kIHdhZXIgamEgbnVuIGF1Y2ggbWFsIHdhcwpOZXVlcywgYWJlciBzZWlkIGlociBzaWNoZXIsIGRhc3MgaWhyIGRhcyB3b2xsdGV0PyAqZyogV2llIGZhbGxlbiBkaWUgZGVubiBzbwphdXMsIHdhcyBzb2xsdGUgbWFuIHouQi4gYWxzIHNjaGxhbmtlciBNZW5zY2ggZnVlciBlaW5lIEdyb2Vzc2UgbmVobWVuPwoKakFtZXNvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1haWwgYW4gTmFjaHRoZW1kZnJhdSAoRm9vYmFyLCAxOC4gSnVsIDIwMDEsIDE3OjMwOjQ3KToKfiMhIHJuPUphbWVzb24gcnQ9OTk1NDY5OTc0IHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDY5OTc0Ck1laHIgQmllciB0cmlua2VuLCBKYW1lc29uLCBtZWhyIEJpZXIgdHJpbmtlbiA7bykKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWlsIGFuIE5hY2h0aGVtZGZyYXUgKE9ya3RvZXRlciwgMTguIEp1bCAyMDAxLCAxNzozMTo1Myk6Cn4jISBybj1Gb29iYXIgcnQ9OTk1NDcwMjQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDY5OTc0CmdpYnMgenUgRm9vLCBkdSBoYXN0IEFudGVpbGUgYW4gZWluZW0gRm9uZHMsIGRlciBpbiBCcmF1ZXJlaWFrdGllbiBpbnZlc3RpZXJ0IQogCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYWlsIGFuIE5hY2h0aGVtZGZyYXUgKEZvb2JhciwgMTguIEp1bCAyMDAxLCAxNzozMjoxNyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTk1NDcwMzEzIHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDY5OTc0ClNjaG9lbiB3YWVyJ3MgOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpULVNoaXJ0cyAoUGFkcmVpYywgMTguIEp1bCAyMDAxLCAyMzozNToyMCk6CktsZWluZSBBZW5kZXJ1bmcgYmVpIGRlbiBULVNoaXJ0czoKRGllIFQtU2hpcnRzIHdlcmRlbiAxOCwtIERNIGtvc3RlbiAoenVtaW5kZXN0IGZ1ZXIgZGllIGdhZW5naWdlbiBHcm9lc3Nlbikgb2IKZXMgZnVlciBYWEwgZWluZW4gQXVmcHJlaXMgZ2ViZW4gd2lyZCBzdGVodCBub2NoIG5pY2h0IGZlc3QuIEFiZXIgYXVjaCBYWEwKd2lyZCBuaWNodCB1ZWJlciAyMywtIGtvc3Rlbi4KQW5zb25zdGVuIGJsZWlidCBhbGxlcyBiZWltIGFsdGVuLCB6dXIgQmVzdGVsbHVuZyBlaW5lIG1haWwgYW4gVHNoaXJ0ZGluZ3NidW1zCnVuZCBpbnNiZXNvbmRlcmUgdWViZXJ3ZWlzZW4gZGVzIEdlbGRlcy4gV2Vzc2VuIEdlbGQgYmlzIHp1bSA2LjggbmljaHQKYW5nZWtvbW1lbiBpc3QsIGRlciB3aXJkIGtlaW4gVFNoaXJ0IGJla29tbWVuIC0gYXVzc2VyIGVyIGxlZ3Qgbm9jaCBuZW4gS2FzdGVuCkJpZXIgZHJhdWYuIEplZGVyIFRTaGlydHNiZXN0ZWxsZXIgZGFyZiBzaWNoIGFsc28gdWViZXIgZWluZSBSdWVja2Vyc3RhdHR1bmcKaW4gSG9laGUgdm9uIDUsLSBETSBlcmZyZXVlbi4KClBhZCoKClAuUy46IFdlciBlaW4gWFhMIFRTaGlydHMgYmVzdGVsbHQgdWViZXJ3ZWlzc3QgYml0dGUgYXVmIGplZGVuIEZhbGwgMjMsLSBETQp1bmQga2FubiBzaWNoIGRhbm4gZ2dmLiBhdWYgZWluZSBSdWVja2Vyc3RhdHR1bmcgZnJldWVuLgpQLlAuUy46IEFsbGUgVFNoaXJ0YmVzdGVsbGVyIGJla29tbWVuIHp1bSBUU2hpcnQgbm9jaCBlaW4gd2VpdGVyZXMgbmV0dGVzCkdlc2NoZW5rIG1pdCBFcmlubmVydW5nc3dlcnQgZGF6dS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTpULVNoaXJ0LU1vdGl2IChHbG9pbnNvbiwgMTkuIEp1bCAyMDAxLCAxNTowMDo0OCk6Cn4jISBybj1LYWRpcyBydD05OTU0MDA3OTAgcmc9cGFydHkKfiMhIHRpZD05OTU0MDA3OTAKV2llIHNpZWh0IGRhcyBlaWdlbnRsaWNoIGRhbm4gYXVzPyBEaWVzZSBkcmVpIERyYWNoZW4gYXVmIGVpbiB3ZWlzc2VzIFQtU2hpcnQKZ2VidWVnZWx0LCBvZGVyIHBhc3N0IGRhcyBTaGlydCBmYXJibGljaD8gVW5kIGhhdHMgZWluZSBBdWZzY2hyaWZ0PyBXZWlsIHNvCnNpZWh0cyBuaWNodCBzbyBzb25kZXJsaWNoIGF1cyAtIGRhIGxvY2t0IGRhbm4gZGllIEV4dHJhYmFuYW5lIG5pY2h0IHdpcmtsaWNoCjspCgpHbG9pbihzb24pLCBtYWcgbWFsIHdpZWRlciBlaW4gc2Nob2VuZXMgU2hpcnQgbWl0bmVobWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1haWwgYW4gTmFjaHRoZW1kZnJhdSAoSmFtZXNvbiwgMjAuIEp1bCAyMDAxLCAxNTozMzo0Nik6Cn4jISBybj1Gb29iYXIgcnQ9OTk1NDcwMjQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDY5OTc0CmljaCBhcmJlaXRlIGRvY2ggZHJhbiA6LSkgd2VubiBhdWNoIG5pY2h0IG1pdCBCaWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydHMgKFBhZHJlaWMsIDIwLiBKdWwgMjAwMSwgMjE6MjQ6MjIpOgp+IyEgcm49UGFkcmVpYyBydD05OTU0OTIxMjAgcmc9cGFydHkKfiMhIHRpZD05OTU0OTIxMjAKVC1TaGlydHMgZ2lidCBlcyBpbiBhbGxlbiBHcm9lc3NlbiB2b24gUy1YWEwgZnVlciAxOCwtIERNCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOlQtU2hpcnQtTW90aXYgKEdsb2luc29uLCAyMS4gSnVsIDIwMDEsIDIzOjEzOjIyKToKfiMhIHJuPUdsb2luc29uIHJ0PTk5NTU0NzY0OCByZz1wYXJ0eQp+IyEgdGlkPTk5NTQwMDc5MApIbSwgZGFzIHdhciB1ZWJyaWdlbnMgX2tlaW5lXyByaGV0b3Jpc2NoZSBGcmFnZS4KCkdsb2luKHNvbiksIGtvbW10IHNpY2ggaWdub3JpZXJ0IHZvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG90ZWxsaXN0ZSAoS2FkaXMsIDIxLiBKdWwgMjAwMSwgMjM6MTY6MDkpOgoKRnVlciBkaWUgSG90ZWxnYWVuZ2VyIG51biBkaWUgaGVpc3NiZWdlaHJ0ZSBMaXN0ZToKCkFtYmFzc2Fkb3IKQm9ubmVyIFN0ci4gMjktMzEKCkVaIGFiIDE0MCBETSAgIERaIGFiIDE5MCBETQoKMDIyOCAtIDM4OTAwCmhvdGFtYmFAYW9sLmNvbQoKCkluc2VsIEhvdGVsClRoZWF0ZXJwbGF0eiA1LTcKCkVaIGFiIDE0OSBETSAgIERaIGFiIDE5OSBETQoKMDIyOCAtIDM1MDAwCmluc2VsaG90ZWxAYW9sLmNvbQoKCkthaXNlcmhvdGVsLCBCZXN0IFdlc3Rlcm4KTW9sdGtlc3RyLiA2NAoKRVogYWIgMTUwIERNICAgRFogYWIgMTk5IERNCgpXb2NoZW5lbmRwcmVpc2U6IEVaIDEyMCBETSAgIERaIDE3MCBETQoKMDIyOCAtIDk1NzA1MAppbmZvQGthaXNlcmhvZi5iZXN0d2VzdGVybi5kZQoKCk1hcml0aW0gSG90ZWwgQm9ubgpHb2Rlc2JlcmdlciBBbGxlZQoKRVogYWIgMjQ1IERNICAgRFogYWIgMjkxIERNCgpXb2NoZW5lbmRwcmVpc2U6IEVaIDE5OSBETSAgIERaIDI3MiBETQoKMDIyOCAtIDgxMDgwCmluZm8uYm9uQG1hcml0aW0uZGUKCgpadW0gQWRsZXIKS29ibGVuemVyIFN0ci4gNjAKCkVaIGFiIDEwNSBETSAgIERaIGFiIDE0NSBETQoKMDIyOCAtIDM2NDA3MQoKClNvLCBkYXMgd2FyZW4gc2llIGVyc3RtYWwgLi4uCgpLYWRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhvdGVsbGlzdGUgKEhpZ2h0LCAyMi4gSnVsIDIwMDEsIDAxOjM5OjQzKToKfiMhIHJuPUthZGlzIHJ0PTk5NTc1MDE2OSByZz1wYXJ0eQp+IyEgdGlkPTk5NTc1MDE2OQpmZWluIGthbm4gaWNoIGRpZSBwZXIgbWFpbCBoYWJlbiBpbmNsLiBlbnRmZXJudW5nc3NjaGFldHp1bmcgenVtIHplbHRwbGF0egpiencuIGFsbGVuIGFuZGVyZW4gd2lzc2Vuc3dlcnRlbiBsb2NhdGlvbnMgPwoKaGlnaHQgemVsdGVuIGhhc3NlbmQgdW5kIGtyb25pc2NocGxlaXRlc2VpZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhvdGVsbGlzdGUgKFRpYW1haywgMjIuIEp1bCAyMDAxLCAwMTo0MDo1OCk6Cn4jISBybj1IaWdodCBydD05OTU3NTg3ODMgcmc9cGFydHkKfiMhIHRpZD05OTU3NTAxNjkKUGVyIE1haWwgaXN0IGVpbmZhY2g6ICJ2ZXJzZW5kZSBhcnRpa2VsIGFuIC4uLiIuCgoKVGlhbWFrLiBIaWxmdCBnZXJuZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG90ZWxsaXN0ZSAoUGFkcmVpYywgMjIuIEp1bCAyMDAxLCAxMDoxODo0Nyk6Cn4jISBybj1IaWdodCBydD05OTU3NTg3ODMgcmc9cGFydHkKfiMhIHRpZD05OTU3NTAxNjkKSW0gWndlaWZlbCBhdWNoIG1hbCBiZWkgd3d3Lmhycy5kZSBzY2hhdWVuLiBFcnN0ZW5zIHNpbmQgZGllIEhvdGVscyBkb3J0IG1laXN0CmJpbGxpZ2VyIHVuZCB6d2VpdGVucyBrYW5uIG1hbiBkaXJla3Qgb25saW5lIGtvc3RlbmxvcyByZXNlcnZpZXJlbi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlOlQtU2hpcnQtTW90aXYgKFBhZHJlaWMsIDIyLiBKdWwgMjAwMSwgMTA6MTk6MjEpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTk1NzUwMDAyIHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDAwNzkwCldpZSBrb21tdCBkYXMgYmxvc3MgZGFzIG1hbiBEZWluZSBBcnRpa2VsIGVyc3RtYWwgaWdub3JpZXJ0IEdsb2luc29uPwpJbnNiZXNvbmRlcmUgZGFubiB3ZW5uIHNpZSBpbiBzb2xjaCBlaW5lbSBUb25mYWxsIGdlc2NocmllYmVuIHNpbmQuLi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlOlQtU2hpcnQtTW90aXYgKEdsb2luc29uLCAyMi4gSnVsIDIwMDEsIDE3OjQ0OjExKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTk1Nzg5OTYxIHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDAwNzkwCkljaCBoYWIgZGVuIFZlcmRhY2h0IGRhc3MgZXMgZWhlciBhbiBGcmFnZXIgdW5kIEJlZnJhZ3RlbSBsaWVndC4gV2VubiBlcyBEaXIKaGlsZnQ6IERlbmsgRGlyIGVpbmZhY2gsIE1hcnRpbmkgaGFldHRlIGRpZSBGcmFnZW4gZGlrdGllcnQgdW5kIGljaCBoYWIgZGVuClNhdHogbWl0IGRlciBCYW5hbmUgYW5nZWhhZW5ndCAtIGxldHp0bGljaCBzbyBnZXNjaGVoZW4uCgpHbG9pbihzb24pLCBzY2h1ZXR0ZWx0IGRlbiBLb3BmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZTpULVNoaXJ0LU1vdGl2IChQYWRyZWljLCAyMi4gSnVsIDIwMDEsIDE4OjAzOjIzKToKfiMhIHJuPUdsb2luc29uIHJ0PTk5NTgxNjY1MSByZz1wYXJ0eQp+IyEgdGlkPTk5NTQwMDc5MApFcyBoYXQgYXVzc2NobGllc3NsaWNoIGV0d2FzIG1pdCBkZXIgQXJ0IGRlciBGcmFnZXN0ZWxsdW5nIHp1IHR1biwgZGllCm5hZW1saWNoIG5pY2h0IHNhY2hsaWNoIG9kZXIga29uc3RydWt0aXYsIHNvbmRlcm4gbnVyIGFid2VydGVuZCB3YXIuCkVzIGhhbmRlbHQgc2ljaCB1bSBlaW4gd2Vpc3NlcyBULVNoaXJ0LCBzZWxic3R2ZXJzdGFlbmxpY2ggX21pdF8gTmFtZW4uIEVpbgpEcnVjayBhdWYgc2Nod2FyemUgVC1TaGlydHMgaXN0IHByaW56aXBpZWxsIG5hdHVlcmxpY2ggYXVjaCBtb2VnbGljaCBhYmVyCl9kZXV0bGljaF8gdGV1cmVyIHdlbm4gaWNoIG1pY2ggcmVjaHQgZW50c2lubmUuIEJlaSBlaW5lciBvcmRlbnRsaWNoZW4KZmFyYmxpY2hlbiBCZWxpY2h0dW5nIGRlcyBnYW56ZW4sIHNpZWh0IGRhcyBCaWxkIGFiZXIgYXVjaCBhdWYgd2Vpc3Mgc2VociBndXQKYXVzLiBCZWkgZGVtIEJpbGQgaW0gTmV0eiBoYW5kZWx0IGVzIHNpY2ggdW0gZGllIFJvaGZhc3N1bmcgZGVzIEJpbGRlcywgZGllCkZhcmJlbiBrb21tZW4gYXVmIGRlbSBULVNoaXJ0IGFuZGVycyByYXVzIHVuZCBkZXIgTmFtZSBpc3QgX2ltXyBCaWxkCmVudGhhbHRlbi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJlOlQtU2hpcnQtTW90aXYgKEJhbWJpLCAyMi4gSnVsIDIwMDEsIDE4OjQ0OjU1KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTk1ODE3ODAzIHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDAwNzkwCkdlaG9lcnQgbmljaHQgenUgZXVyZW0gUHJpdmF0a3JpZWcgYWJlciB6dW0gVGhlbWEuLi4KU293YXMsIHdpZSAiaWNoIHdpbGwgZWluIGFuZGVyZXMgKHZvbGxzdGFlbmRpZ2VyZXMpIE1vdGl2IiB3aXJkIG5pY2h0IChtZWhyKQpiZXJ1ZWNrc2ljaHRpZ3QsIG9kZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSZTpULVNoaXJ0LU1vdGl2IChPcmt0b2V0ZXIsIDIyLiBKdWwgMjAwMSwgMTk6MDg6MTIpOgp+IyEgcm49QmFtYmkgcnQ9OTk1ODIwMjk1IHJnPXBhcnR5Cn4jISB0aWQ9OTk1NDAwNzkwCkhpIEJhbWJpIQoKRGFzIGlzdCBlaW4gUGFydHktVC1zaGlydCEgCkVpbiBiZWxpZWJpZ2VzIFQtc2hpcnQga2FubnN0IGR1IGRpciBqZWRlciBaZWl0IHZvbiAoZmFzdCkgamVkZW0gQ29weXNjaG9wCmFuZmVydGlnZW4gbGFzc2VuIQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvdGVsbGlzdGUgMiAoS2FkaXMsIDIzLiBKdWwgMjAwMSwgMTQ6MzA6MDgpOgpIaWhvLAoKc28sIGRpZXMgaXN0IGpldHp0IGRlciBOYWNodHJhZyB6dSBkZXIgZXJzdGVuIExpc3RlLCBpbiBkZXIgYXVjaCBkaWUgZXR3YXMKYmlsbGlnZXJlbiBIb3RlbHMgbWl0IGJlcnVlY2tzaWNodGlndCBzaW5kOgoKRHJhY2hlbmJ1cmcgKHNlaHIgenUgZW1wZmVobGVuOikpICkKTWFpbnplciBTdHIuCgpFWiA3MCBETSAgIERaIDEzMCBETQoKMDIyOCAtIDM0OTE1OSAoaXN0IGluIE1laGxlbSBuYWVoZSBQYXJ0eW9ydCkKCgpBbSBIb2hlbnpvbGxlcm5wbGF0egpQbGl0dGVyc2RvcmZlciBTdHIuIDU2CgpFWiBhYiAxMTAgRE0gICBEWiBhYiAxNTAgRE0KCjAyMjggLSA5NTc1OTAKCgpIb3RlbCBCZXJsaW4gClJoZWluYWxsZWUgNDAKCkVaIGFiIDExMCBETSAgIERaIGFiIDE0NSBETQoKMDIyOCAtIDM1MzE3NQoKClp1bSBMb2V3ZW4KVm9uIC0gR3Jvb3RlIC0gUGxhdHogMQoKRVogYWIgMTEwIERNICAgRFogYWIgMTQ5IERNCgowMjI4IC0gMzU0OTUxCjAyMjggLSAzNTM5NTEKCgpIb2Ygdm9uIEhvbGxhbmQKVHVybXN0ci4gNQoKRVogOTkgRE0gICBEWiAxNDUgRE0KCjAyMjggLSAzNTkwMTQKKGJpdHRlIHJlY2h0emVpdGlnIGJ1Y2hlbiwgZGEgZWluIGtsZWluZXMgSG90ZWwpCgoKUHJlaXNndWVuc3RpZyBpc3QgYXVjaCBkYXMgSnVnZW5kZ2Flc3RlaGF1cyxsaWVndCBhYmVyIGhhbHQgaW4gQm9ubiBzZWxiZXJ1bmQKZGFtaXQgaXN0IGRhbm4gZWluIGxhZW5nZXJlciBBbmZhaHJ0c3dlZyB6dXIgUGFydHkgZWluenVwbGFuZW46CgpDSkQKSW50ZXJuYXRpb25hbGVzIEp1Z2VuZGZvcnVtIHVuZCBHYWVzdGVoYXVzCkdyYXVyaGVpbmRvcmZlciBTdHIuIDE0OQoKRVogYWIgNjggICBEWiBhYiAxMzYgRE0KCjAyMjggLSA5ODk2MAoKdW5kIGRhbm4gbm9jaCBkYXMgSnVnZW5kZ2FzdGVoYXVzIEJvbm4tVmVudXNiZXJnLCBoYWx0IGRhc3NlbGJlIHdpZSBvYmVuCihsYWVuZ2VyZXIgQW5mYWhydHN3ZWcpOgoKSnVnZW5kZ2Flc3RlaGF1cyBCb25uLVZlbnVzYmVyZwpESkgtTGFuZGVzdmVyYmFuZCBSaGVpbmxhbmQKCkVaIDY1IERNICAgWndlaWJldHR6aW1tZXIgMzkgRE0KCjAyMjggLSAyODk5NzAKCklociBrb2VubnQgYXVjaCBnZXJuZSBub2NobWFsIHNlbGJzdCBzY2hhdWVuIHVudGVyIHd3dy5ocnMuZGUsIGJlZGVua3QgYWJlcgpiaXR0ZSwgZGFzcyBpaHIgZXVjaCBtb2VnbGljaHN0IGluIEJhZCBHb2Rlc2JlcmcgZXR3YXMgc3VjaGVuIHNvbGx0ZXQsIHdlZ2VuCmRlciBOYWVoZSB6dW0gUGFydHlvcnQsIHNjaGxpZXNzbGljaCBtdWVzc3QgaWhyIGFiZW5kcy9uYWNodCB3aWVkZXIgaXJnZW5kd2llCmRhaGluIHp1cnVlY2trb21tZW4uCgpLYWRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXJ3ZWlzdW5nZW4gZXRjLiAoS2FkaXMsICAxLiBBdWcgMjAwMSwgMTA6MjI6MTQpOgoKSGlobywKCnNvLCBkYSBpY2ggamV0enQgc2Nob24gbmUgTWVuZ2UgenVydWVja3VlYmVyd2Vpc2VuIG11c3MgdW5kIGRhcyBhbnNjaGVpbmVuZApuaWNodCByaWNodGlnIGFuZ2Vrb21tZW4gaXN0LCB3ZWlzZSBpY2ggZGFyYXVmIGhpbiwgZGFzcyBkZXIgQ2hpbmVzZSB3aWUgamVkZXMKSmFociB2b24gamVkZW0gc2VsYnN0IGFuIE9ydCB1bmQgU3RlbGxlIGJlemFobHQgd2lyZC4gRGVzd2VpdGVyZW4gaXN0IGF1Y2ggZGVyCkNhbXBpbmdwbGF0eiBzZWxiZXIgenUgYmV6YWhsZW4uIERpZWplbmlnZW4sIGRpZSBiaXMgamV0enQgZGFzIHNjaG9uIGFuIG1pY2gKdWViZXJ3aWVzZW4gaGFiZW4sIGJla29tbWVuIGlociBHZWxkIG5hdHVlcmxpY2ggdW1nZWhlbmQgenVydWVjay4KSWNoIG1vZWNodGUgYWxzbyBudXIgZGVuIFBhcnR5YmVpdHJhZyB1bmQgZ2dmLiBkYXMgVC1TaGlydGdlbGQgaGFiZW4sIGRhc3MgYmlzCnp1bSA2LjguIG1vZWdsaWNoc3QgZGFzZWluIHNvbGx0ZS4KCk1mRwpLYWRpcwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmVpdHJhZyB1bmQgVC1TaGlydCAoS2FkaXMsICAxLiBBdWcgMjAwMSwgMTQ6NDU6MzYpOgpIdWh1dSwKCmFsc28sIGljaCBtb2VjaHRlIG5vY2htYWwgZGFyYXVmIGhpbndlaXNlbiwgZGFzcyBhbSBNb250YWcsIGRlbSA2LjguIGRlcgphYnNvbHV0ZSBFaW56YWhsdW5nc3NjaGx1c3MgZnVlciBULVNoaXJ0IHVuZCBQYXJ0eWJlaXRyYWcgaXN0LiBBbGxlcyB3YXMKZGFuYWNoIGFuIFQtU2hpcnRlaW56YWhsdW5nZW4ga29tbXQsIGthbm4gbmljaHQgbWVociBiZXJ1ZWNrc2ljaHRpZ3Qgd2VyZGVuLgpFYmVuc28gd2VyZCBpY2ggYXVmIGRpZSBQYXJ0eWJlaXRyYWVnZSwgZGllIG5hY2ggZGVtIDYuOC4gZWluZ2VoZW4sIGFuIGRlcgpBYmVuZGthc3NlIGVpbmVuIE1laHJiZXRyYWcgdmVybGFuZ2VuLiBTbywgaWNoIGhvZmZlLCBpaHIgYmVtdWVodCBldWNoIGFsbGVzCm5vY2ggcmVjaHR6ZWl0aWcgenUgdWViZXJ3ZWlzZW4uCgpNZkcgCkthZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdiZXNjaHJlaWJ1bmdlbiAgKEthZGlzLCAgMi4gQXVnIDIwMDEsIDE5OjM4OjM5KToKV2VnYmVzY2hyZWlidW5nZW4genUgQ2FtcGluZ3BsYXR6L0tuZWlwZS9QYXJ0eXJhdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCgpLbmVpcGUgRnJlaXRhZwo9PT09PT09PT09PT09PQoKRmlkZGxlcnMgSXJpc2ggUHViCkZyb25nYXNzZSA5CkJvbm4gRW5kZW5pY2gKRnJlaXRhZyBhYiAxOWgKCkF1dG86CgpBNTY1IEFiZmFocnQgQm9ubi1FbmRlbmljaApyZWNodHMgYXVmIGRlbiBIZXJtYW5uLVdhbmRlcnNsZWItUmluZwpuYWVjaHN0ZSBncm9zc2UgS3JldXp1bmcgbGlua3MgaW4gZGllIEZyb25nYXNzZQoKRGllIEtuZWlwZSBzdGVsbHQgdW5zIDIwIFBhcmtwbGFldHplIHp1ciBWZXJmdWVndW5nLCB3ZW5uIGRpZSBzY2hvbiB2b2xsCnNpbmQgc3VjaGVuIDopCgpodHRwOi8vd3d3LnN0YWR0cGxhbmRpZW5zdC5kZS9xdWVyeTtPUlQ9Ym47UExaPTUzMTIxO1NUUj1Gcm9uZ2Fzc2U7SE5SPTk7R1I9NAoKCkJhaG46CgpCb25uIEhiRjogenVtIEhhdXB0ZWluZ2FuZyByYXVzLCBuYWNoIHJlY2h0cyB6dW0gQnVzYmFobmhvZgogIExpbmllIDYzNCBSaWNodHVuZyBFbmRlbmljaC9IYXJkdGJlcmcKICBiaXMgenVyIEhhbHRlc3RlbGxlIEZyb25nYXNzZS4KClBhcnR5cmF1bQo9PT09PT09PT0KClZpbGxhIEZyaWVkZQpFY2tlIE1haW56ZXIgU3RyYXNzZSAvIFNjaGxvc3NhbGxlCkJvbm4gTWVobGVtClNhbXN0YWcgYWIgMjBoCgpBdXRvOgoKQTU2NSBBYmZhaHJ0IEJvbm4gUG9wcGVsc2RvcmYKCm1hbiBsYW5kZXQgYXVmIGRlciBSZXV0ZXJzdHJhc3NlLiAKRGllc2VyIGltbWVyIHdlaXRlciBmb2xnZW4sIGJpcyBlcyByZWNodHMgYXVmIGRpZSBCOSBnZWh0IChBZGVuYXVlci1BbGxlZSkKRGVyIEI5IG5vY2ggZWluZSBnYW56ZSBXZWlsZSBmb2xnZW46IApkdXJjaCBCYWQgR29kZXNiZXJnIGR1cmNoLCBkdXJjaCBQZW5uZW5mZWxkIGR1cmNoCmRlbiBCYWhuaG9mIE1laGxlbSBub2NoIHJlY2h0cyBsaWVnZW4gbGFzc2VuLCAKYW4gZGVyIG5hZWNoc3RlbiBncm9zc2VuIEtyZXV6dW5nIGRpZSBCOSB2ZXJsYXNzZW4gdW5kIGhhbGJsaW5rcyBhdWYgZGllCk1haW56ZXIgU3RyYXNzZS4gCkRlciBNYWluemVyIFN0cmFzc2UgZm9sZ2VuLCBiaXMgbGlua3MgZGllIFZpbGxhIEZyaWVkZSBhdWZ0YXVjaHQKLS0+IFBhcnR5IDopCgpodHRwOi8vd3d3LnN0YWR0cGxhbmRpZW5zdC5kZS9xdWVyeTtPUlQ9Ym47TEw9JTJCNTAuNjY0MDA4JTJCNy4xOTE5NzE7R1I9NAoKCkJhaG46CgpCb25uIEhiRjogTGluaWUgNjMvMTMgUmljaHR1bmcgQmFkIEdvZGVzYmVyZyAoVS1CYWhuKQpiaXMgQmFkIEdvZGVzYmVyZyBCYWhuaG9mIGZhaHJlbi4Kd2VpdGVyIG1pdCBkZW0gQnVzIDYxMyBSaWNodHVuZyBHaXNlbGhlcnN0cmFzc2UKICAgICAgICAgICAgICBvZGVyIDYxNCBSaWNodHVuZyBNZWhsZW0gRmFlaHJlCmJpcyB6dXIgSGFsdGVzdGVsbGUgRHJlaGhvbHpzdHJhc3NlLgoKICAKWmVsdHBsYXR6Cj09PT09PT09PQoKQ2FtcGluZ3BsYXR6IFNpZWJlbmdlYmlyZ3NibGljawpSZW1hZ2VuLVJvbGFuZHN3ZXJ0aApQYXJrc3RyYXNzZQoKQXV0bzoKCkE1NjUgQWJmYWhydCBCb25uIFBvcHBlbHNkb3JmCgptYW4gbGFuZGV0IGF1ZiBkZXIgUmV1dGVyc3RyYXNzZS4KRGllc2VyIGltbWVyIHdlaXRlciBmb2xnZW4sIGJpcyBlcyByZWNodHMgYXVmIGRpZSBCOSBnZWh0IChBZGVuYXVlci1BbGxlZSkKRGVyIEI5IHdlaXRlciBSaWNodHVuZyBLb2JsZW56IGZvbGdlbiwgZHVyY2ggQmFkIEdvZGVzYmVyZyB1bmQgTWVobGVtIGR1cmNoCmltIE9ydCBSZW1hZ2VuLVJvbGFuZHN3ZXJ0IGRlciBCZXNjaGlsZGVydW5nIGZvbGdlbgoKTWVociBJbmZvcyB1bnRlcjogaHR0cDovL3d3dy5zaWViZW5nZWJpcmdzYmxpY2suZGUKCkJhaG46CgpCb25uIEhiRjogVS1CYWhuLUxpbmllIDYzLzE2IGJpcyBCYWQgR29kZXNiZXJnIEhiRgp3ZWl0ZXIgbWl0IEJ1c2xpbmllIDYxMiBSaWNodHVuZyBJbSBSb3NlbmJlcmcKYmlzIEVuZHN0YXRpb24gZmFocmVuLgp2b24gZGVyIEhhbHRlc3RlbGxlIGF1cyBoYWxibGlua3MgenVtIEJhaG51ZWJlcmdhbmcgbGF1ZmVuLgpMaW5rcyB1ZWJlciBkZW4gQmFobnVlYmVyZ2FuZywgZGllIEI5IHVlYmVycXVlcmVuIHVuZCBkZW4gCkZlbGR3ZWcgbmFjaCB1bnRlbiBsYXVmZW4uIApuYWNoIGNhLiAzMDBtIGxpbmtzIGluIGRlbiBSYWR3ZWcgZWluYmllZ2VuLCBhdWYgZGVyIGxpbmtlbiAKU2VpdGUga29tbXQgZGFubiBkZXIgWmVsdHBsYXR6LgoKCldlbm4gZXMgaGFlbmd0OiAwMTcyIC0gMzU3Njc2MQoKCkthZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSBvZGVyIHNvd2FzIChLYWRpcywgIDIuIEF1ZyAyMDAxLCAyMDoxMjo0Nyk6CkhpLAoKYWxzbywgd2llIGlociBzY2hvbiBzaWNoZXIgYmVtZXJrdCBoYWJ0LCBnaWJ0IGVzIGpldHp0IFdlZ2Jlc2NocmVpYnVuZ2VuLiBJY2gKbW9lY2h0ZSBudXIgbm9jaG1hbCBhdWYgZGllIEZlc3Rpdml0YWV0ZW4gaGlud2Vpc2VuLiAKRGllIEZyZWl0YWdza25laXBlIGlzdCBkZXIgSXJpc2ggUHViICdGaWRkbGVycycgaW4gRW5kZW5pY2ggdW5kIHdpciB3ZXJkZW4gYWIKMTkgVWhyIGRhIGF1ZiBldWNoIHdhcnRlbiAoV2VnYmVzY2hyZWlidW5nIHZvcmhlcmdlaGVuZGVyIEFydGlrZWwgb2RlciBzbykgLi4uCm5hdHVlcmxpY2ggbWl0IE9wZW4gZW5kOikuCkRpZSBQYXJ0eSBzZWxiZXIgZmluZGV0IGFtIFNhbXN0YWcgaW4gTWVobGVtIHN0YXR0LCB1bmQgendhciBpbSBWZXJlaW5zaGF1cwpWaWxsYSBGcmllZGUgYXVmIGRlciBNYWluemVyIFN0cmFzc2UvRWNrZSBTY2hsb3NzYWxsZWUgYWIgMjAgVWhyLgpEZXIgQ2hpbmVzZSBhbSBTb25udGFnIGlzdCBkYW5uIGluIEJvbm4tUG9wcGVsc2RvcmYsIGRhcyAnQ2hpbmEgQ2l0eScgYXVmIGRlcgpNZWNrZW5oZWltZXIgQWxsZWUuIERlciBCYWhuaG9mIGlzdCB2b24gZGEgYXVzIG5pY2h0IHdlaXQgd2VnIHVuZCBkaWUgQXV0b2JhaG4KYXVjaCBuaWNodC4KU28sIGRhcyB3b2xsdCBpY2ggbm9jaCBnZXNhZ3QgYnp3LiBnZXNjaHJpZWJlbiBoYWJlbi4KCk1mRwpLYWRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVlciBkaWUgVW13ZWx0IDotKSAoQXJrLCAgNC4gQXVnIDIwMDEsIDE1OjU1OjMyKToKSGksIGljaCBzdWNoZSBmdWVyIGRpZSBQYXJ0eSBub2NoIGVpbmUgUnVlY2tmYWhybW9lZ2xpY2hrZWl0IG5hY2ggRnJhbmtmdXJ0LgpXZXIgYWxzbyBlaW5lbiB2b24gZGVyICJ1bnNhZWdsaWNoZW4iIFp1bmZ0IGF1cyBCb25uIG1pdG5laG1lbiB3aWxsIHVuZCBzaWNoCm1laW5lciBlcmJhcm10IGlzdCBlaW5lcyBmZXVjaHR3YXJtZW4gSGFlbmRlZHJ1Y2tzIHVuZCBlaW4gYmlzc2NoZW4gQmVuemluZ2VsZApzaWNoZXIuIFVuemllbWxpY2hlIFZMIEdlZmFlbGxpZ2tlaXRlbiBsZWhuZSBpY2ggZGFnZWdlbiBiZXJlaXRzIGltIFZvcmZlbGQKYWIuIEpvLiBHZW5hdXNvIHdpZSBkZW4gUGxhdHogaW0gS29mZmVycmF1bSBvZGVyIGF1ZiBkZW0gRGFjaCA7XikKWnVzY2hyaWZ0ZW4gKG51ciBwb3NpdGl2ZXIgTmF0dXIpIGJpdHRlIGFuIG1pY2guIFN1cGkuCgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdWVyIGRpZSBVbXdlbHQgOi0pIChBcmssICA0LiBBdWcgMjAwMSwgMTU6NTY6MDUpOgp+IyEgcm49QXJrIHJ0PTk5NjkzMzMzMiByZz1wYXJ0eQp+IyEgdGlkPTk5NjkzMzMzMgpBZWgsIGljaCB2ZXJnYXNzLCBSdWVja2ZhaHJ0IG5hdHVlcmxpY2ggYW0gU29ubnRhZyA6KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpZXRlL1N1Y2hlIE1pdGZhaHJnZWxlZ2VuaGVpdCAoVmFuaW9uLCAgNy4gQXVnIDIwMDEsIDE3OjI0OjAxKToKSGksCgp3aWUgc2Nob24gaW0gVGl0ZWwgZXJmd2FlaG50IGJpZXRlL3N1Y2hlIGljaCBNaXRmYWhyZ2VsZWdlbmhlaXQgenVyIFBhcnR5IG5hY2gKQm9ubi4gCgpJY2ggaGF0dGUgZ2VwbGFudCwgYW0gRnJlaXRhZyBnZy4gMTAuMDAgVWhyIGhpZXIgKFdpbGhlbG1zaGF2ZW4pIGxvc3p1ZmFocmVuLgpGYWxscyBqZW1hbmQgYXVmIChiencuIGluIGRlciBOYWVoZSkgZGVyIFN0cmVja2Ugc2VpbiBIZWltIGhhdCwgdW5kIGF1Y2ggbmljaAp1bmJlZGluZ3QgYWxsZWluIGZhaHJlbiB3aWxsLCBtZWxkZSBzaWNoIGJpdHRlIGJlaSBtaXIuIFZpZWxsZWljaHQgcGFzc3RzIGphLgoKClYqLCBmcmV1dCBzaWNoIGF1ZiBkaWUgUGFydHksIGhhc3N0IGFiZXIgYWxsZWluIGF1dG96dWZhaHJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWV0ZS9TdWNoZSBNaXRmYWhyZ2VsZWdlbmhlaXQgKE11YWRkaWIsICA3LiBBdWcgMjAwMSwgMTg6MjA6MDEpOgp+IyEgcm49VmFuaW9uIHJ0PTk5NzE5Nzg0MSByZz1wYXJ0eQp+IyEgdGlkPTk5NzE5Nzg0MQpTYWx6YnVyZyBpc3QgemllbWxpY2ggaW4gZGVyIE5hZWhlLCBrb21tc3Qgdm9yYmVpPyA6KQoKTXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJpZXRlL1N1Y2hlIE1pdGZhaHJnZWxlZ2VuaGVpdCAoVmFuaW9uLCAgNy4gQXVnIDIwMDEsIDIzOjE3OjIwKToKfiMhIHJuPU11YWRkaWIgcnQ9OTk3MjAxMjAxIHJnPXBhcnR5Cn4jISB0aWQ9OTk3MTk3ODQxCkFsc28gbmFjaGRlbSBpY2gsIHVtIHNpY2hlcnp1Z2VoZW4sIG1hcCBiZWkgd3d3LnJlaXNlcGxhbnVuZy5kZSBnZWNoZWNrdCBoYWIsCndlaSBkaWUgc3RyZWNrZSBhdXNzaWVodCwga29tbWUgaWNoIHp1IGRlbSBTY2hsdXNzLCBudXIgYXVmZ3J1bmQgYWV1c3NlcnN0CnRyaWZ0aWdlciBHcnVlbmRlIGFuIEQ1NjQ3OSBTYWx6YnVyZyB2b3JiZWlmYWhyZSB1bmQgdW50ZXIga2VpbmVuIFVtc3RhZW5kZW4KYW4gRDg0MDg4IFNhbHpidXJnLgoKSWNoIGRhY2h0ZSBlaWdlbnRsaWNoIGVoZXIgYW4gZGVuIFJhdW0gT3N0ZnJpZXNsYW5kIChpY2ggd2Vpc3MsIGRhc3MgaWNoIGRhcwpiZXJldWhlbiB3ZXJkZSksIE9sZGVuYnVyZywgT3NhYnJ1ZWNrIC0gb2RlciBzby4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCaWV0ZS9TdWNoZSBNaXRmYWhyZ2VsZWdlbmhlaXQgKE11YWRkaWIsICA4LiBBdWcgMjAwMSwgMTA6MDA6MjQpOgp+IyEgcm49VmFuaW9uIHJ0PTk5NzIxOTA0MCByZz1wYXJ0eQp+IyEgdGlkPTk5NzE5Nzg0MQpOdW5qYSwgaWNoIGRhY2h0ZSBhdWNoIG1laHIgYW4gQTUwMjAgU2FsemJ1cmcgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCaWV0ZS9TdWNoZSBNaXRmYWhyZ2VsZWdlbmhlaXQgKFZhbmlvbiwgIDguIEF1ZyAyMDAxLCAxMzozOTo0Mik6Cn4jISBybj1NdWFkZGliIHJ0PTk5NzI1NzYyNCByZz1wYXJ0eQp+IyEgdGlkPTk5NzE5Nzg0MQpCZWkgMTIwMCBrbSBVbXdlZyBrb21tZW4gd2lyIHdvaGwgbmljaCBpbnMgR2VzY2hhZWZ0IDopCgpWKiBob2ZmdCB0cm90emRlbSBub2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmlldGUvU3VjaGUgTWl0ZmFocmdlbGVnZW5oZWl0IChPcmt0b2V0ZXIsICA4LiBBdWcgMjAwMSwgMTM6NDg6NTgpOgp+IyEgcm49VmFuaW9uIHJ0PTk5NzI3MDc4MiByZz1wYXJ0eQp+IyEgdGlkPTk5NzE5Nzg0MQpPY2gsIHdlbm4gZHUgZGVubiBkYW5uIHNjaG9uIGJpcyBBNTAyMCBTYWx6YnVyZyBmYWVocnQsIGthbm5zdGUgZ2xlaWNoIG5vY2gKYmlzIEExMjEwIFdpZW4gZmFocmVuIHVuZCBub2NoIDIgTGV1dGUgYXVmc2FtbWVsbiwgZGFubiBsb2huZW4gYXVjaCBkaWUgMTIwMAprbSBVbXdlZy4KCk9ya1QKClBTIHVwcy4uIFdpZW4gaXN0IGdhbnogd2VpdCBpbSBPc3RlbiBPZXN0ZXJyZWljaHM/ICpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmVsdHBsYXR6IChWYW5pb24sICA5LiBBdWcgMjAwMSwgMjA6NDU6NTgpOgpWaWVsbGVpY2h0IGVpbiBiaXNjaGVuIHNwYWV0LCBhYmVyIHRyb3R6ZGVtIEludGVyZXNzYW50OgoKSGFidCBpaHIgaXJnZW5kd2FzIHJlc2VydmllcnQsIGVpbmVuIGdlbWVpbnNhbWVuIFBsYXR6LCBvZGVyIHNvPwoKQmlzIHdhbm4gbXVzcyBtYW4gZGVubiBzcGFldGVzdGVucyBhbSBaZWx0cGxhdHogc2Vpbj8gCgpGYWxscyB3YXMgUmVzZXJ2aWVydCBpcywgd2lzc2VuIGRpZSwgd2FzIGdlbWVpbnQgaXMsIHdlbm4gaWNoIGRhcyBnZWhlaW1lCkxvc3VuZ3N3b3J0ICdNb3JnZW5ncmF1ZW4tUGFydHknIHNhZ2U/CgpWKiwgaGF0IGtlaW5lIEx1c3QgYW0gYW5kZXJlbiBFbmRlIGRlcyBaZWx0cGxhdHplcyB6dSB3b2huZW4gKG9kZXIgZ2FyIGRhdm9yKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaZWx0cGxhdHogKEdsb2luc29uLCAgOS4gQXVnIDIwMDEsIDIyOjA2OjE5KToKfiMhIHJuPVZhbmlvbiBydD05OTczODI3NTggcmc9cGFydHkKfiMhIHRpZD05OTczODI3NTgKRGEgS2FkaXMgaXJnZW5kd2FubiBoYXQgbWFsIGF1ZmJsaXR6ZW4gbGFzc2VuIGRhc3Mgd2lyIGRvcnQgbnVyIGdlZHVsZGV0IHNpbmQKbXVlc3N0ZSBlcyB3b2hsIGF1c3JlaWNoZW4gd2VubiBEdSB3YXMgdm9uICJibG9lZGVuIE5pY2h0ZGF1ZXJjYW1wZXJuIiBvZGVyCiJsYXV0ZXMgSnVuZ3ZvbGsiIG9kZXIgImltcGVydGluZW50ZW4gSnVnZW5kbGljaGVuIiBlcndhZWhuc3QuCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXR0ZXIgQm9ubiAoTGlhcmEsICA5LiBBdWcgMjAwMSwgMjM6NDA6MDApOgpGcmVpdGFnOgpUYWc6IFNvbm5lL1dvbGtlbi9TY2hhdWVyIDIwIC0gMjIgR3JhZDsgTmFjaHQ6IDEyIC0gMTUgR3JhZAoKU2Ftc3RhZy9Tb25udGFnOgp6dW5laG1lbmQgaGVpdGVyLCBsYW5nc2FtIHdhZXJtZXIgKFRhZzogMjUgR3JhZCwgTmFjaHQ6IDEyIC0gMTQgR3JhZCkKCkxaWiwgd3VyZGUgZ3JhZGUgdm9uIGVpbmlnZW4gTGV1dGVuIGRyYXVmIGFuZ2VzcHJvY2hlbiB1bmQgZW1wZmllaGx0IGFuc29uc3Rlbgpkb25uZXJ3ZXR0ZXIuZGUgb2RlciBhZWhubGljaGVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdlbnMgWmVsdHBsYXR6IChLYWRpcywgMTAuIEF1ZyAyMDAxLCAwMTo0ODo1Nyk6CkhpLAoKYWxzbywgZGlyZWt0IGVpbmUgUmVzZXJ2aWVydW5nIGdpYnQgZXMgbmljaHQgLCBhYmVyIGRpZSB3aXNzZW4sIGRhc3MgaWhyCmtvbW10LiBJY2ggaGFiIGRhIHVudGVyIG1laW5lbSBOYW1lbiAtQmVyZ2VyLSBkaWVzIGt1bmRnZXRhbi4gS2VpbmUgQWhudW5nIG9iCmlociBldWNoIGRhIGluIGVpbmUgRWNrZSBzdGVsbGVuIGtvZW5udCB1bmQgZXVjaCBlaW5mYWNoIHNlbGJlciBzdWNodCwgYWJlcgppY2ggZGVua2UgbWFsLCBkYXNzIHdpciBkYXMgaXJnZW5kd2llIGhpbmJla29tbWVuIGJ6dy4gZGFzcyBzaWNoIGRpZSBNdWRkZXIgZGEKaXJnZW5kd2llIGZpbmRlbiB3ZXJkZW4sIGRhIGRpZSBDYW1wZXJlY2tlIG5pY2h0IHNvIGdyb3NzIGlzdC4KCkJpcyBkYW5uZQpLYWRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2QncyAoS2FkaXMsIDEwLiBBdWcgMjAwMSwgMDI6MDk6NDMpOgpXYXMgaWNoIG5vY2ggc2FnZW4gd29sbHRlLCBicmluZ3QgbWFsIGV1cmUgTGllYmxpbmdzX2NkJ3MgbWl0LCBkYXNzIHdpciBhdWNoCm9yZGVudGxpY2hlIE11c2lrIGhhYmVuIC4uLiB3YWVyIHNjaG9lbiB3ZW5uIGlociBkaWUgdm9yaGVyIG1hcmtpZXJ0IG1pdCBldXJlbQpOYW1lbi4KCk1mRyBLYWRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VnYmVzY2hyZWlidW5nIFp1c2F0eiAoRGFya3dpbmcsIDEwLiBBdWcgMjAwMSwgMDk6Mjc6MjgpOgpIb2ZmZW50bGljaCBuaWNodCB6dSBzcGFldCAuLi4gZGEgZmVobHRlIGV0d2FzOgoKQmV0cmVmZmVuIHR1dHMgZGVuIFRlaWwgenVyIEtuZWlwZSBGcmVpdGFnIEFiZW5kLiBEaWUgQWJmYWhydCBCb25uIEVuZGVuaWNoCmdpYnQgZXMgYXVmIGRlciBBIDU2NSBudXIgaW4gZWluZSBSaWNodHVuZywgd2VyIHZvbiBTdWVkZW4gKGF1cyBSaWNodHVuZyBBIDYxKQprb21tdCwgZmFlaHJ0IGRpZSBBYmZhaHJ0IEJvbm4gVGFubmVuYnVzY2ggcmF1cywgZG9ydCB3ZW5kZW4gKGxpbmtzIGFiYmllZ2VuCnVuZCBkYW5uIHdpZWRlciBkcmF1ZiBhdWYgZGllIEEgNTY1KSAtPiBuYWVjaHN0ZSBBYmZhaHJ0IGlzdCBFbmRlbmljaC4KCkJpcyBoZXV0ZSBBYmVuZCwKRGFya3dpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDZCdzIChEZWVwYmx1ZSwgMTAuIEF1ZyAyMDAxLCAwOTo1MzoxOCk6Cn4jISBybj1LYWRpcyBydD05OTc0MDIxODMgcmc9cGFydHkKfiMhIHRpZD05OTc0MDIxODMKVW5kIHZlcmdlc3N0IG5pY2h0IGRhcyBDRC1SZWluaWd1bmdzc2V0LCB1bSBkYXMga2xlYnJpZ2UgQ29rZS1aZXVnIGRhIHdpZWRlcgpydW50ZXJ6dWJla29tbWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlZ2Jlc2NocmVpYnVuZyBadXNhdHogKEdsb2luc29uLCAxMC4gQXVnIDIwMDEsIDEwOjM2OjA4KToKfiMhIHJuPURhcmt3aW5nIHJ0PTk5NzQyODQ0OCByZz1wYXJ0eQp+IyEgdGlkPTk5NzQyODQ0OApPaW9pIDopCgpHbG9pbihzb24pLCB0dWZmdHVmZmJlbnV0emVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VnYmVzY2hyZWlidW5nIFp1c2F0eiAoQmFtYmksIDEwLiBBdWcgMjAwMSwgMTA6NTE6MzIpOgp+IyEgcm49RGFya3dpbmcgcnQ9OTk3NDI4NDQ4IHJnPXBhcnR5Cn4jISB0aWQ9OTk3NDI4NDQ4CklzdCBkYXMgRGVpbiBFcm5zdD8KU2VpIGZyb2gsIGRhc3MgaWNoIG5pY2h0IHNlbGJzdCBmYWhyZS4gOykKQmFtYmksIChhbGxnZW1laW4gYmVrYW5udGU/KSBJbnNpZGVyIHZlcndlbmRlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb3RlbHppbW1lciAoQW5vcmlzLCAxMC4gQXVnIDIwMDEsIDE5OjA2OjE3KToKV2VyZGUgZXYuIFNhbXN0YWdzIHp1ciBQYXJ0eSBlcnNjaGVpbmVuLgpKZW1hbmQgSW50ZXJlc3NlIGJlaW0gSG90ZWx6aW1tZXJ0ZWlsZW4/CgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWlzdC4gKFZhbmlvbiwgMTIuIEF1ZyAyMDAxLCAyMDoxMjowMyk6Ckhvb3BzLCBpY2ggaGFiIGRlbiBaZXR0ZWwgbWl0IGRlbiBaYXB3dWVuc2NoZW4gZ2xhdHQgaXJnZW5kd28gbGllZ2VuIGdlbGFzc2VuLgpBbHNvIGVpbmZhY2ggbm9jaG1hbCBtZWxkZW4gOikKClYqLCBncmluc3QgZmllcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNaXN0LiAoUGl0ZmFsbCwgMTIuIEF1ZyAyMDAxLCAyMzo0Mjo0MSk6Cn4jISBybj1WYW5pb24gcnQ9OTk3NjM5OTIzIHJnPXBhcnR5Cn4jISB0aWQ9OTk3NjM5OTIzCmhpZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5hY2h0cmFnIChHbm9tZSwgMTMuIEF1ZyAyMDAxLCAxMDoyMTozMyk6CmVpbmVuIGhlcnpsaWNoZW4gZGFuayBhbiBkYXMgb3JnYXRlYW0gYm9ubiEKZGllIFJMLXF1ZXN0IHdhciBrbGFzc2UuIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlyYWV0c2VsIChBcmssIDEzLiBBdWcgMjAwMSwgMTQ6MDg6MDQpOgpXZXIga2VubnQgZGllIGZvbGdlbmRlbiBQZXJzb25lbiwgZGVyZW4gdm9lbGxpZyBqdWdlbmRmcmVpZXMgR2VzcHJhZWNoIGhpZXIKd2llZGVyZ2VnZWJlbiB3aXJkOgoKWDogRXIgc3RlaHQgc2Nob24gd2llZGVyLgpZOiBJY2ggbWFjaHMgRGlyLgpaOiBZIG1hY2h0cyBhbSBiZXN0ZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5cmFldHNlbCAoR2xvaW5zb24sIDEzLiBBdWcgMjAwMSwgMTQ6NTM6NTIpOgp+IyEgcm49QXJrIHJ0PTk5NzcwNDQ4NCByZz1wYXJ0eQp+IyEgdGlkPTk5NzcwNDQ4NApEYXMgUmFldHNlbCBoYXQgZ2V3aXNzIG1laHJlcmUgTG9lc3VuZ2VuLiBJY2ggYmlldGUgQ2FrZXksIFBpdGZhbGwgdW5kCkJyb3RuYWVsLiBBYndlY2hzZWxuZCBzb2xjaGUgQWV1c3NlcnVuZ2VuLCBHZXNwcmFlY2hlIHVlYmVyIHdhc3NlcmZlc3RlLAplaXNrYWx0ZSBHZWdlbnN0YWVuZGUgdW5kIEFuZ2VNT1dlIGhhcm1sb3NlciBNaXRmYWhyZXIgb2RlciBQYXNzYW50ZW4uCgpHbG9pbihzb24pLCBtb3dlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlyYWV0c2VsIChBcmssIDEzLiBBdWcgMjAwMSwgMTg6MTk6MTkpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTk3NzA3MjMyIHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzA0NDg0CkZhbHNjaCwgZmFsc2NoIHVuZCBmYWxzY2guIEhtLCBudWVjaHRlcm4gd2FyIGljaCBkYSBzY2hvbiwgYWJlciBkYXMsIHdhcyBEdQp2b3JzY2hsYWVnc3QsIGlzdCBqYSAuLi4gaG0sIGdld29laG51bmdzYmVkdWVyZnRpZyA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eXJhZXRzZWwgKEVsYmVyZXQsIDEzLiBBdWcgMjAwMSwgMTg6MjE6MDApOgp+IyEgcm49QXJrIHJ0PTk5NzcxOTU1OSByZz1wYXJ0eQp+IyEgdGlkPTk5NzcwNDQ4NApFbGJlcmV0LCBJbWRhLCBIdW1uaT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5cmFldHNlbCAoQW5hdG9sLCAxMy4gQXVnIDIwMDEsIDE4OjIyOjQ4KToKfiMhIHJuPUVsYmVyZXQgcnQ9OTk3NzE5NjYwIHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzA0NDg0CiosIEhvYm8sICouIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eXJhZXRzZWwgKEFyaywgMTMuIEF1ZyAyMDAxLCAxODoyNjowOCk6Cn4jISBybj1BbmF0b2wgcnQ9OTk3NzE5NzY4IHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzA0NDg0CldpciBuYWVoZXJuIHVucyAuLi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlyYWV0c2VsIChMaWFyYSwgMTMuIEF1ZyAyMDAxLCAxOTozNjozOCk6Cn4jISBybj1BcmsgcnQ9OTk3NzA0NDg0IHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzA0NDg0CkVzIG11c3MgbmF0dWVybGljaCBsYXV0ZW46CgpZOiBJY2ggbWFjaCdzIERpciwgWC4gICAgIDotKQoKVW5kIFggaXN0IHdvaGwgQ2F0dHkuIDstKQpaIGhhYmUgaWNoIHdvaGwgdmVyZ2Vzc2VuLgoKTFpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYWNodGllISAoT3JrdG9ldGVyLCAxMy4gQXVnIDIwMDEsIDIwOjIyOjQwKToKVmllbGVuIERhbmsgYW4gZGllIEJvbm5lciBmdWVyIGRpZSBzY2hvZW5lIFBhcnR5IQpMZWNrZXJlIFNhbGF0ZSEhIFRvbGxlcyBXZXR0ZXIgZnVlciBlaW5lIHNjaG9lbmUgUkwtcXVlc3QgbWl0IGVpbmVtIGdlbmlhbGVtCkFic2NobHVzcyEKClRvbGxlIFQtc2hpcnRzIAoKdW5kCgp1bmQgCgp1bmQuLi4KCgplaW5mYWNoIGRhbmtlISBPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UgKExpYXJhLCAxMy4gQXVnIDIwMDEsIDIyOjIxOjI5KToKSWNoIG1vZWNodGUgbWljaCBoaWVybWl0IGF1Y2ggbWFsIGV4cGxpeml0IGJlaSBDaW5kZXJlbGxhIHVuZCBQYWRyZWljIGZ1ZXIgZGllCk9yZ2FuaXNhdGlvbiBkZXIgUGFydHkgYmVkYW5rZW4hIDotKQoKTFpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2UgKE11cGZlbCwgMTMuIEF1ZyAyMDAxLCAyMjoyODozNCk6Cn4jISBybj1MaWFyYSBydD05OTc3MzQwODkgcmc9cGFydHkKfiMhIHRpZD05OTc3MzQwODkKZm90b3MsIHdvIGJsZWliZW4gZGllIGZvdG9zPyA7KQoKLW11cGZlbC0gKHdpbGwgZW50aHVlbGx1bmdlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW5rZSAoTW9udGFudXMsIDEzLiBBdWcgMjAwMSwgMjI6Mjk6NTkpOgp+IyEgcm49TXVwZmVsIHJ0PTk5NzczNDUxNCByZz1wYXJ0eQp+IyEgdGlkPTk5NzczNDA4OQpEdSB3aWxsc3QgRW50aHVlbGx1bmdlbj8KRmFuZyBkb2NoIG1hbCBtaXQgZ3V0ZW0gQmVpc3BpZWwgYW4uCgotTW9udGFudXMgcnVmdDogQXVzemllaGVuLCBhdXN6aWVoZW4hIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGFua2UgKFZhcmxhcmlvbiwgMTMuIEF1ZyAyMDAxLCAyMjozMDozMSk6Cn4jISBybj1Nb250YW51cyBydD05OTc3MzQ1OTkgcmc9cGFydHkKfiMhIHRpZD05OTc3MzQwODkKZGFzIHdpbGxzdCBkdSBuaWNodCB3aXJrbGljaCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGFua2UgKFdpbGxvdywgMTMuIEF1ZyAyMDAxLCAyMjozMTowNSk6Cn4jISBybj1WYXJsYXJpb24gcnQ9OTk3NzM0NjMxIHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzM0MDg5CmhtbW0uLi4gbWVpbnN0IGR1LCBkYSB3aXJkIGplbWFuZCBuZWlkaXNjaD8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGFua2UgKE11cGZlbCwgMTMuIEF1ZyAyMDAxLCAyMjozMToyMSk6Cn4jISBybj1Nb250YW51cyBydD05OTc3MzQ1OTkgcmc9cGFydHkKfiMhIHRpZD05OTc3MzQwODkKZGFzIHdpbGxzdCBEdSBuaWNodCB3aXJrbGljaCA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmtlIChNb250YW51cywgMTMuIEF1ZyAyMDAxLCAyMjozMTo0OSk6Cn4jISBybj1NdXBmZWwgcnQ9OTk3NzM0NjgxIHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzM0MDg5CkRhcyB3aWxsIGljaCBuaWNodCB3aXJrbGljaC4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERhbmtlIChWYXJsYXJpb24sIDEzLiBBdWcgMjAwMSwgMjI6MzI6MTEpOgp+IyEgcm49TW9udGFudXMgcnQ9OTk3NzM0NzA5IHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzM0MDg5CnNpZWhzdGUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERhbmtlIChNb250YW51cywgMTMuIEF1ZyAyMDAxLCAyMjozMjo0MSk6Cn4jISBybj1WYXJsYXJpb24gcnQ9OTk3NzM0NzMxIHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzM0MDg5Cm5vZSwgc2VoIGljaCBqZXR6dCBqYSBuaWNodC4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEYW5rZSAoTXVwZmVsLCAxMy4gQXVnIDIwMDEsIDIyOjMyOjQ3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk5NzczNDcwOSByZz1wYXJ0eQp+IyEgdGlkPTk5NzczNDA4OQpzaWVoc3RlPyA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERhbmtlIChWYXJsYXJpb24sIDEzLiBBdWcgMjAwMSwgMjI6MzM6MjEpOgp+IyEgcm49TGlhcmEgcnQ9OTk3NzM0NzgzIHJnPXBhcnR5Cn4jISB0aWQ9OTk3NzM0MDg5CndpbGxlIGFuenVtYWNoZW4gaXN0IGplZGVuZmFsbHMgc2Nob25tYWwgZWluIGd1dGVyIGFuc2F0eiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWVyY2kgKEZpcmVoYXdrLCAxNC4gQXVnIDIwMDEsIDAxOjI1OjE4KToKQXVjaCB2b24gbWlyIG5vY2ggbWFsIGVpbiBEYW5rZXNjaG9lbiBmdWVyIGVpbmUgdG9sbGUgUGFydHkgdW5kIGVpbmUgd2lya2xpY2gKaGVycmxpY2hlIFJMLVF1ZXN0IDopCgpGaXJlaGF3awoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRGFua2UgKEVsYmVyZXQsIDE2LiBBdWcgMjAwMSwgMTE6Mzc6MjIpOgp+IyEgcm49VmFybGFyaW9uIHJ0PTk5NzczNDgwMSByZz1wYXJ0eQp+IyEgdGlkPTk5NzczNDA4OQpFaWdlbnRsaWNoIGlzdCBqYSBzY2hvbiBhbGxlcyBnZXNhZ3Qgd29yZGVuLCBudXIgZWlucyBmZWhsdCBtaXIgbm9jaC4gQXVjaCBkYXMKaGFiZW4gSHVtbmkgdW5kIEltZGEgZWlnZW50bGljaCBzY2hvbiBnZXNhZ3QsIGFiZXIgZGllIHdhcmVuIGRhIG5pY2h0Cm51ZWNodGVybiA6KSBJY2ggd29sbHQgbWljaCBoaWVyIGF1Y2ggbm9jaCBtYWwgZ2FueiBleHBsaXppdCBiZWkgS2FkaXMgZnVlcgpkaWUgT3JnYW5pc2F0aW9uIGRlciBQYXJ0eSBiZWRhbmtlbi4gSWNoIGZpbmRlLCBkYXNzIGlociBOYW1lIGhpZXIgYmlzaGVyIGVpbgp3ZW5pZyB2ZXJnZXNzZW4gd3VyZGUuIAoKTm9jaCBtYWwgZWluIGdyb3NzZXMgTG9iIGFuIGRhcyBnYW56ZSBPcmdhLVRlYW0sIGRpZSBSTC1RdWVzdCB3YXIgemllbWxpY2gKa2xhc3NlLgoKRGllIFBhcnR5IGF1Y2ggOikKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IERhbmtlIChHcnVtcGYsIDE2LiBBdWcgMjAwMSwgMTE6Mzk6MDkpOgp+IyEgcm49RWxiZXJldCBydD05OTc5NTQ2NDIgcmc9cGFydHkKfiMhIHRpZD05OTc3MzQwODkKV2llIGRhIGhhYmVuIG5vY2ggYW5kZXJlIG1pdG9yZ2FuaXNpZXJ0Pz8/IE51IHZlcndpcnIgbWljaCBuaWNodD8/PwpBY2hqYSBLYWRpcywgd2FyIGtsYXNzZSBBcmJlaXQhCgpHcnVtcGYgZGVyIGxlaWRlciBuaWNodCBrb21tZW4gZHVyZnRlIHdlaWwgc2VpbiBncm9zc2VyIEJydWRlciBkYSB3YXIgOi0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eXJhZXRzZWwgKEhvYm8sIDE3LiBBdWcgMjAwMSwgMTY6MzI6MjgpOgp+IyEgcm49QW5hdG9sIHJ0PTk5NzcxOTc2OCByZz1wYXJ0eQp+IyEgdGlkPTk5NzcwNDQ4NApEYW5rZSwgQW5hdG9sLCBkYW5rZSEgKmdydW1tZWwqCgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoxMC1KYWhyZXNmZWllciAoQ2F0d2VhemxlLCAzMC4gQXVnIDIwMDEsIDExOjEyOjE4KToKTW9pbi4KCldpZSBpaHIgRXVjaCBtaXR0bGVyd2VpbGUgYmVzdGltbXQgc2VsYmVyIGF1c2dlcmVjaG5ldCBoYWJ0LCBsZWlndCBuYWVjaHN0ZXMKSmFociBkZXIgMTAtamFlaHJpZ2UgR2VidXJ0c3RhZyB2b20gTW9yZ2VuR3JhdWVuIGFuLiBEYXMgd29sbGVuIHdpciBuYXR1ZXJsaWNoCmdlYnVlaHJlbmQgZmVpZXJuLiBTdGFuZGVzZ2VtYWVzcyBzb2xsdGUgZGllIEZlaWVyIGViZW5zbyBzZWxic3R2ZXJzdGFlbmRsaWNoCmluIE11ZW5zdGVyIHN0YXR0ZmluZGVuIDotKQoKTnUgZ2lidHMgYWJlciBlaW4ga2xpdHpla2xlaW5lcyB0ZXJtaW5saWNoZXMgUHJvYmxlbWNoZW4uIERlciAxMC1KYWhyZXN0YWcgaXN0CmRlciAyNS4gTWFlcnogKDI2LiBNYWVyej8pLiBEYXMgaXN0IGVpbiBNb250YWcuIERhIGtvbW10IG5hdHVlcmxpY2ggZXJzdG1hbAprZWluZXIgenVtIEZlaWVybi4gVWViZXJsaWNoZXJ3ZWlzZSBmZWllcnQgbWFuIGphIGFtIFdvY2hlbmRlIGRhbmFjaCwgZGFzCndhZXJlIGRhbm4gMjguLTMwLiBNYWVyei4gRW50c2NoZWlkZW5kZXMgUHJvYmxlbTogRGFzIGlzdCBPc3Rlcm4uIAoKV2lyIG11ZXNzdGVuIHVucyBudSBlbnRzY2hlaWRlbiB3YW5uIHdpciBmZWllcm4gd29sbGVuLiBFcyBnaWJ0IG1laHJlcmUKTW9lZ2xpY2hrZWl0ZW46CkFtIFdvY2hlbmVuZGUgdm9yaGVyICgyMy4gTWFlcnopLiAKR2VmYWVsbHQgbWlyIG5pY2h0IHNvIGd1dCwgdm9yaGVyIGZlaWVybiBicmluZ3QgaW1tZXIgVW5nbHVlY2suIApNaXR0d29jaCB2b3IgR3J1ZW5kb25uZXJzdGFnOgpHcnVlbmRvbm5lcnN0YWcgaXN0IGZyZWksIGQuIGguIG1hbiBrb2VubnRlIE1pdHR3b2NoIHZvcmhlciBwcmltYSBmZWllcm4uIGhhdApkZW4gVm9ydGVpbCBkYXMgbm9jaCBuaWNodCBhbGxlIE9zdGVyYmVkaW5ndCB3ZWdnZWZhaHJlbiBzaW5kLiAKT3N0ZXJzYW1zdGFnOgpXYXMgc3ByaWNodCBlaWdlbnRsaWNoIGRhZ2VnZW4sIGRpcmVrdCBhbiBPc3Rlcm4genUgZmVpZXJuLiBIYWV0dGUgZGVuCk5hY2h0ZWlsLCBkYXMgdmllbGUgdmllbGxlaWNodCBGYW1pbGllbnRlY2huaXNjaCBlaW5nZXNwYW5udCBzaW5kLCBhYmVyIGRlbgpWb3J0ZWlsLCBkYXMgZGFzIGVpbiBzY2hvZW5lcyBsYW5nZXMgV29jaGVuZW5kZSBpc3QuIApBbSBXRSBuYWNoIE9zdGVybiAoNi5BcHJpbCk6ClNwYWV0LCBhYmVyIGJlc3NlciBzcGFldCBhbHMgbmllLiBBdXNzZXJkZW0gaGFiZW4gd2lyIGVpbmUgd2VpdGVyZSBXb2NoZQpXaW50ZXJrYWVsdGUgdWViZXJ3dW5kZW4gdW5kIGVzIGlzdCB2aWVsbGVpY2h0ICh6dW1pbmRlc3QgdGhlb3JldGlzY2gKZHVyY2hzY2huaXR0bGljaCkgd2Flcm1lci4KCkRlY2lkZSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAxMC1KYWhyZXNmZWllciAoV3VyemVsLCAzMC4gQXVnIDIwMDEsIDExOjE5OjE4KToKfiMhIHJuPUNhdHdlYXpsZSBydD05OTkxNjI3Mzggcmc9cGFydHkKfiMhIHRpZD05OTkxNjI3MzgKb3N0ZXJuIGlzdCBkb29mLiB3ZW5uLCBkYW5uIHNvbGxlbiB2aWVsZSBsZXV0ZSBrb21tZW4uCm1pdCB2b3JoZXIgZmVpZXJuIGhhYmUgaWNoIGtlaW4gcHJvYmxlbSwgaW1tZXJoaW4gaGFiZW4gd2lyIGphCnNjaG9uIHZvcmhlciBkcnVlYmVyIGdlc3Byb2NoZW4gOikgYXVzc2VyZGVtIGJpbgppY2ggbmljaHQgd2lya2xpY2ggYWJlcmdsYWV1YmlzY2guCndlbm4gZXMgZXR3YXMgd2Flcm1lciB3YWVyZSwgaGFldHRlIGRhcyBuYXR1ZXJsaWNoIGF1Y2ggZWluZW4gdm9ydGVpbC4KaW0gZW5kZWZmZWt0IHNvbGx0ZSBhYmVyIGRlciBvcmdhbmlzYXRvciAoZHU/KSBlbnRzY2hlaWRlbi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAxMC1KYWhyZXNmZWllciAoQ2F0d2VhemxlLCAzMC4gQXVnIDIwMDEsIDExOjIwOjUzKToKfiMhIHJuPVd1cnplbCBydD05OTkxNjMxNTggcmc9cGFydHkKfiMhIHRpZD05OTkxNjI3MzgKVmVyZ2Vzc3QgZGllIE9wdGlvbiBtaXQgR3J1ZW5kb25uZXJzdGFnLCBpY2ggd2Vpc3MgbmljaHQgd2VyIG1pY2ggZGEgZ2VyaXR0ZW4KaGF0LCBkYXMgZGEgZnJlaSB3YWVyZS4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAxMC1KYWhyZXNmZWllciAoQWxib2luLCAzMC4gQXVnIDIwMDEsIDEyOjAxOjE0KToKfiMhIHJuPUNhdHdlYXpsZSBydD05OTkxNjMyNTMgcmc9cGFydHkKfiMhIHRpZD05OTkxNjI3MzgKaWNoIHdhZXJlIGZ1ZXJzIFdFIG5hY2ggb3N0ZXJuCgphbAooZGVyIGRhbm4gd29obCBuYWNoIGxhbmdlciBsYW5nZXIgWmVpdCBtYWwgd2llZGVyIHp1IG5lciBQYXJ0eSBrb21tdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAxMC1KYWhyZXNmZWllciAoR2FuZHVyLCAzMC4gQXVnIDIwMDEsIDEyOjI0OjA2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05OTkxNjI3Mzggcmc9cGFydHkKfiMhIHRpZD05OTkxNjI3MzgKRWdhbCB3YW5uIGdlZmVpZXJ0IHdpcmQsIGljaCB3dWVyZGUgbWljaCBzZWhyIGZyZXVlbiB3ZW5uIGRpZSBQYXJ0eSBhbgplaW5lbSBLbGVpbmtpbmRlcmZyZXVuZGxpY2hlbiBPcnQgc3RhdHRmaW5kZW4gd3VlcmRlLiBTb3dhcyB3aWUgV2ludGVyYnVyZwpvZGVyIEJyaWVzZWxhbmcgd2FlcmUgaWRlYWwuCgpHcnVzcywgR2FuZHVyIChkZXIgYXVjaCBtYWwgd2llZGVyIHp1IGVpbmVyIFBhcnR5IGZhaHJlbiBtb2VjaHRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAxMC1KYWhyZXNmZWllciAoVHJveSwgMzAuIEF1ZyAyMDAxLCAxNDozOTo1Nyk6Cn4jISBybj1HYW5kdXIgcnQ9OTk5MTY3MDQ2IHJnPXBhcnR5Cn4jISB0aWQ9OTk5MTYyNzM4CkRhcyBrYW5uc3RlIHZlcmdlc3NlbiwgZGEgZGVyIE9ydCAoTXVlbnN0ZXIpIGZlc3RzdGVodC4gTWFsIGFiZ2VzZWhlbgpkYXZvbiwgZGFzcyBXaW50ZXJiZXJnIHZpZWxsZWljaHQga2luZGVyLSBhYmVyIG5pY2h0IGJhaG5mYWhyZXJmcmV1bmRsaWNoCmlzdC4KCkljaCBwbGFlZGllcmUgZnVlciBkYXMgV0UgbmFjaCBPc3Rlcm4uIEltIFp3ZWlmZWxzZmFsbCBhdWNoIG5vY2ggc3BhZXRlci4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IDEwLUphaHJlc2ZlaWVyIChPcmt0b2V0ZXIsIDMwLiBBdWcgMjAwMSwgMTQ6NDE6MDUpOgp+IyEgcm49VHJveSBydD05OTkxNzUxOTcgcmc9cGFydHkKfiMhIHRpZD05OTkxNjI3MzgKSWNoIGJpbiBmdWVyIE9zdGVybi4gR2VyYWRlIGZ1ZXIgZGllIHdlaXQgYW5yZWlzZW5kZW4gaXN0IGVpbiBUYWcgbWVociBlY2h0CmxvaG5lbmQuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogMTAtSmFocmVzZmVpZXIgKEdhbmR1ciwgMzAuIEF1ZyAyMDAxLCAxNToyNTo0Nyk6Cn4jISBybj1Ucm95IHJ0PTk5OTE3NTE5NyByZz1wYXJ0eQp+IyEgdGlkPTk5OTE2MjczOApJY2ggc2NocmllYiBfd2llXyAuLi4gZGFzIE11ZW5zdGVyIGZlc3RzdGVodCBpc3Qgc2Nob24ga2xhciwgbnVyIGVzCndhZXJlIGhhbHQgc2Nob24gd2VubiBQYXJ0eS0gdW5kIFNjaGxhZm9ydCByZWNodCBuYWggYmVpZWluYW5kZXIgCmxpZWdlbiB3dWVyZGVuLgoKR3J1c3MsIEdhbmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMTAtSmFocmVzZmVpZXIgKEdyaW1tYm9ybiwgMzAuIEF1ZyAyMDAxLCAxNToyNzoxNSk6Cn4jISBybj1HYW5kdXIgcnQ9OTk5MTc3OTQ3IHJnPXBhcnR5Cn4jISB0aWQ9OTk5MTYyNzM4ClNvbGx0ZSBrZWluIFByb2JsZW0gc2Vpbiwgc2ljaCBmdWVyIGRpZSBQYXJ0eSBpbiBlaW5lbSBncm9lc3NlcmVuIEhvdGVsIGluCk11ZW5zdGVyIGVpbnp1bmlzdGVuLgpTaW5kIDUwMCBETS9QZXJzb24gb2sgYWxzIFBhcnR5YmVpdHJhZz8gUGx1cyBVZWJlcm5hY2h0dW5nc2tvc3RlbiwgbmF0dWVybGljaC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogMTAtSmFocmVzZmVpZXIgKEh1bW5pLCAzMC4gQXVnIDIwMDEsIDE1OjI5OjA1KToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTkxNzgwMzUgcmc9cGFydHkKfiMhIHRpZD05OTkxNjI3MzgKQWxzbyBsZXR6dGVzbWFsIGxhZ2VuIFVlYmVybmFjaHR1bmdzb3J0IHVuZCBQYXJ0eWxvY2F0aW9uIChBbmdsaXppc211cyBydWxleikKcmVjaHQgbmFoIGJlaWVpbmFuZGVyLCB1bmQgZGVyIEJldHJhZyB3YXIgZXJzY2h3aW5nbGljaC4gVmllbGxlaWNodCBrbGFwcHQgZGFzCmphIHdpZWRlcj8gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogMTAtSmFocmVzZmVpZXIgKEthcnRvZmZlbCwgIDIuIFNlcCAyMDAxLCAxMTo0MDowNCk6Cn4jISBybj1IdW1uaSBydD05OTkxNzgxNDUgcmc9cGFydHkKfiMhIHRpZD05OTkxNjI3MzgKCk9zdGVybiBmaW5kIGljaCBuaWNoIHNvIHByaWNrZWxuZC4uLiBEYXMgV0UgZGFuYWNoIHdhZXIgZG9jaCBwcmltYS4KCidUb2ZmZWwgLSBob2ZmdCwgZGFzcyBiaXMgZGFoaW4gVW16dWdzLSB1bmQgRWlucmljaHR1bmdzdGVjaG5pc2NoIGFsbGVzCmdlbGF1ZmVuIGlzdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogMTAtSmFocmVzZmVpZXIgKEFwb2xsb25pYSwgIDIuIFNlcCAyMDAxLCAxMjoyOToyMyk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9OTk5NDIzNjA0IHJnPXBhcnR5Cn4jISB0aWQ9OTk5MTYyNzM4CkFsc28gT3N0ZXJuIGZhZW5kIGljaCBwZXJzb2VubGljaCBhdWNoIG5pY2h0IHdpcmtsaWNoIGd1dCwgZGEgaXN0IGltbWVyCkZhbWlsaWVubWVpZXJlaSBhbmdlc2FndC4gRGFzIFdFIG5hY2ggT3N0ZXJuIHd1ZXJkZSBtaXIgZ3V0IHBhc3NlbiwgZGEgaGFiIGljaApHZWJ1cnRzdGFnLi4uIChhdWNoIHdlbm4gaWNoIGZ1ZXIgZGllIGdhbnplIEJhbmRlIGRhbm4gd2llZGVyIE11ZmZpbnMgYmFja2VuCm11c3MgO28pKQoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDEwLUphaHJlc2ZlaWVyIChEZWVwYmx1ZSwgIDQuIFNlcCAyMDAxLCAxNDo0MDo1OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTk5MTYyNzM4IHJnPXBhcnR5Cn4jISB0aWQ9OTk5MTYyNzM4CkdpYnRzIGV2ZW50dWVsbCBkYXZvciAoYnp3LiBub2NoIGRpZXNlcyBKYWhyKSBub2NoIG5lIFBhcnR5PyBFdmVudHVlbGwgenUgbmVtCnRlcm1pbiwgd28gbWljaCBtZWluIENoZWYgbmljaHQgZ3JhZCB3aWVkZXIgbmFjaCBzb25zdHdvIHNjaGlja3Q/CgpEZWVwKiwgd2lsbCBhdWNoIG1hbCB3aWVkZXIgbmUgUGFydHkga2FwdXR0bWFjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAxMC1KYWhyZXNmZWllciAoRm9vYmFyLCAgNC4gU2VwIDIwMDEsIDE0OjU1OjUzKToKfiMhIHJuPURlZXBibHVlIHJ0PTk5OTYwNzI1OSByZz1wYXJ0eQp+IyEgdGlkPTk5OTE2MjczOApGYWxscyBqYSwgZGFubiB3b2hsIG5pY2h0IGluIE11ZW5zdGVyLCBiZWhhdXB0IGljaCBtYWwgZ2FueiBrZXNzLi4uCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZnJhZ2UgendlY2tzIE5pa29sYXVzcGFydHkgKExhcmluYSwgIDQuIFNlcCAyMDAxLCAyMDoxMjoyNSk6CkhtIGljaCBoYWV0dGUgZGEgbWFsIGVpbmUga2xlaW5lIEZyYWdlIHNvIGFtIFJhbmRlIHdlbm4gaGllciBzY2hvbiB2b24gUGFydHlzCmdlcmVkZXQgd2lyZCAuLi4uIApiZXN0ZWh0IGVpZ2VudGxpY2ggSW50ZXJlc3NlIGFuIGVpbmVyIE5pa29sYXVzZmV0ZSBpbiBXaW50ZXJidXJnID8hPyAKU2FndCBtYWwgd2FzIGRhenUgOi0pIAoKbGllYmUgR3J1ZXNzZSAKTGFyaW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoRmlyZWhhd2ssICA0LiBTZXAgMjAwMSwgMjA6MTM6MzgpOgp+IyEgcm49TGFyaW5hIHJ0PTk5OTYyNzE0NSByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQpKYSwgSW50ZXJlc3NlIGJlc3RlaHQgOikKCkZpcmVoYXdrLCBrdXJ6IHVuZCBidWVuZGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChBaGFiLCAgNC4gU2VwIDIwMDEsIDIwOjE0OjU4KToKfiMhIHJuPUZpcmVoYXdrIHJ0PTk5OTYyNzIxOCByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQpLbGFyIGRvY2guCgpBaGFiLCBzaWNoIGFuc2NobGllc3NlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoQ2Fzc2FuZHJhLCAgNC4gU2VwIDIwMDEsIDIxOjA4OjM4KToKfiMhIHJuPUxhcmluYSBydD05OTk2MjcxNDUgcmc9cGFydHkKfiMhIHRpZD05OTk2MjcxNDUKSmEsIGludGVyZXNzZSBpbW1lcgpUZXJtaW52b3JzY2hsYWcgZXJzdGVzIERlemVtYmVyd29jaGVuZW5kZQpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChWYXJkaW9uLCAgNC4gU2VwIDIwMDEsIDIzOjEzOjUyKToKfiMhIHJuPUZpcmVoYXdrIHJ0PTk5OTYyNzIxOCByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQpKYS4KClZhcmRpb24sIGRpZSBEcmVzZG5lciBGcmFrdGlvbiB1bSBlaW5lIFN0aW1tZSB2ZXJzdGFlcmtlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFuZnJhZ2UgendlY2tzIE5pa29sYXVzcGFydHkgKFJpa3VzLCAgNS4gU2VwIDIwMDEsIDA3OjU5OjE2KToKfiMhIHJuPVZhcmRpb24gcnQ9OTk5NjM4MDMyIHJnPXBhcnR5Cn4jISB0aWQ9OTk5NjI3MTQ1Cm5vY2ggZWluZSBTdGltbWUgZnVlciBERC4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChHbG9pbnNvbiwgIDUuIFNlcCAyMDAxLCAwODozMToxMSk6Cn4jISBybj1SaWt1cyBydD05OTk2Njk1NTYgcmc9cGFydHkKfiMhIHRpZD05OTk2MjcxNDUKTWluZGVzdGVucyB6d2VpIFN0aW1tZW4gYXVzIEJlcmxpbi4KCkdsb2luKHNvbikvTWFydGluaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoRGVlcGJsdWUsICA1LiBTZXAgMjAwMSwgMDk6NTI6NTYpOgp+IyEgcm49VmFyZGlvbiBydD05OTk2MzgwMzIgcmc9cGFydHkKfiMhIHRpZD05OTk2MjcxNDUKQXVjaCBpY2ggdmVyc3RhZXJrIG1hbCBkaWUgRnJha3Rpb24sIHdpZSBpbW1lciB1bnRlciBkZW0gdWVibGljaGVuIFZvcmJlaGFsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFuZnJhZ2UgendlY2tzIE5pa29sYXVzcGFydHkgKEh1bW5pLCAgNS4gU2VwIDIwMDEsIDEwOjAxOjIyKToKfiMhIHJuPURlZXBibHVlIHJ0PTk5OTY3NjM3NiByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQpFYmVuZmFsbHM6IEludGVyZXNzZS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChQaXRmYWxsLCAgNS4gU2VwIDIwMDEsIDExOjI2OjQ0KToKfiMhIHJuPUh1bW5pIHJ0PTk5OTY3Njg4MiByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQppbW1lciBkb2NoCgpwaXRmYWxsIC0+IEJlcmxpbiArMQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoQmllbGVmZWxkLCAgNS4gU2VwIDIwMDEsIDEyOjA4OjQxKToKfiMhIHJuPVBpdGZhbGwgcnQ9OTk5NjgyMDA0IHJnPXBhcnR5Cn4jISB0aWQ9OTk5NjI3MTQ1Ck5hLCB3YXJ1bSBuaWNodC4uLgoKLUJpZWxlZmVsZCAtPiBIYW1idXJnICsxIChzdWNoZSBtZmcgKmcqKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoUGl0ZmFsbCwgIDUuIFNlcCAyMDAxLCAxMjowODo1Nyk6Cn4jISBybj1CaWVsZWZlbGQgcnQ9OTk5Njg0NTIxIHJnPXBhcnR5Cn4jISB0aWQ9OTk5NjI3MTQ1CndvIGlzIGVpZ2VudGxpY2ggd2ludGVyYnVyZz8gOj0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChCaWVsZWZlbGQsICA1LiBTZXAgMjAwMSwgMTI6MDk6NDcpOgp+IyEgcm49UGl0ZmFsbCBydD05OTk2ODQ1Mzcgcmc9cGFydHkKfiMhIHRpZD05OTk2MjcxNDUKSW4gZGVyIFBhbXBhLi4uIEh1bnNydWVjayBvZGVyIHNvd2FzCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChIaWdodCwgIDUuIFNlcCAyMDAxLCAxMjoyMzozOCk6Cn4jISBybj1IdW1uaSBydD05OTk2NzY4ODIgcmc9cGFydHkKfiMhIHRpZD05OTk2MjcxNDUKaW50ZXJlc3NlIGphIC4uLiBuYXR1ZXJsaWNoIHVudGVyIHRlcm1pbmxpY2hlbiB1bmQgZmluYW56aWVsbGVuIHZvcmJlaGFsdGVuCmludGVyZXNzZSBqYSAuLi4gbmF0dWVybGljaCB1bnRlciB0ZXJtaW5saWNoZW4gdW5kIGZpbmFuemllbGxlbiB2b3JiZWhhbHRlbgpoaWdodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoSGlnaHQsICA1LiBTZXAgMjAwMSwgMTI6MjU6MTYpOgp+IyEgcm49QmllbGVmZWxkIHJ0PTk5OTY4NDU4NyByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQphbSBhcnNjaCBkZXIgd2VsdCAyIC4uLi4gbWFsIGd1Y2tlbiB3aWUgbWFuIGRhbm4gdm9tIGFyc2NoIGRlciB3ZWx0IHp1bSBhcnNjaApkZXIgd2VsdCAyIGtvbW10CmFtIGFyc2NoIGRlciB3ZWx0IDIgLi4uLiBtYWwgZ3Vja2VuIHdpZSBtYW4gZGFubiB2b20gYXJzY2ggZGVyIHdlbHQgenVtIGFyc2NoCmRlciB3ZWx0IDIga29tbXQKCm9oIG1hbiBrYXVtIGJlbnV0enQgbWFuIG4gcGFhcnIgd29jaGVuIHRmIHNjaG9uIGZ1bmt0aW9uaWVydCBkYXMgbWl0IHptdWQKbmltbWVyIHJpY2h0aWcgKmdydW1tZWwqCm9oIG1hbiBrYXVtIGJlbnV0enQgbWFuIG4gcGFhcnIgd29jaGVuIHRmIHNjaG9uIGZ1bmt0aW9uaWVydCBkYXMgbWl0IHptdWQKbmltbWVyIHJpY2h0aWcgKmdydW1tZWwqCmhpZ2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoQ2F0d2VhemxlLCAgNS4gU2VwIDIwMDEsIDEyOjI1OjQ4KToKfiMhIHJuPUhpZ2h0IHJ0PTk5OTY4NTUxNiByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQo6ZW1wZmllaGx0IH5yIHVuZCB+ZC4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEFuZnJhZ2UgendlY2tzIE5pa29sYXVzcGFydHkgKFhlbmFkYSwgIDUuIFNlcCAyMDAxLCAxMjo0NzowMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTk5Njg1NTQ4IHJnPXBhcnR5Cn4jISB0aWQ9OTk5NjI3MTQ1CmF1IGphLi4uaW50ZXJlc3NlIGJlc3RlaHQuLi5HYW5kdXIgKyBYZW5hZGEgdW5kIG5lIGhhbGJlIFBvcnRpb24gZGllIGFtCjE1IERlemVtYmVyIGVpbiBKYWhyIGFsdCB3aXJkIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChHbG9pbnNvbiwgIDUuIFNlcCAyMDAxLCAxMjo1NDo0OCk6Cn4jISBybj1QaXRmYWxsIHJ0PTk5OTY4NDUzNyByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQpFZ2FsIHdvIGVzIGxpZWd0IC0gbWFuIGtvbW10IGVudHdlZGVyIG1pdCBHcnVwcGVudGlja2V0IGRlciBCYWhuIG9kZXIgbWl0CmVpbmVyIHZlcmthY2t0ZW4gRnVyemt1Z2VsICgoYykgQnJvZXNlbCkgZG9ydGhpbi4KCkdsb2luKHNvbikgcGxhbnQgc2Nob24gbWFsIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChEZWVwYmx1ZSwgIDUuIFNlcCAyMDAxLCAxNDoyNjo0MCk6Cn4jISBybj1CaWVsZWZlbGQgcnQ9OTk5Njg0NTg3IHJnPXBhcnR5Cn4jISB0aWQ9OTk5NjI3MTQ1CkZhZWhydCBkYSBlaW4gWm9vayBoaW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoR25vbWUsICA1LiBTZXAgMjAwMSwgMTU6MzM6MTgpOgp+IyEgcm49WGVuYWRhIHJ0PTk5OTY4NjgyMCByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQp6dW1pbmRlc3Qga2FubiBkaWVzZSBoYWxiZSBwb3J0aW9uIG1pciBzY2hvbiBtZWluIHRmIGFic2NoaWVzc2VuIHVuZCBzaWNoCmZhc3QgYWxzIHJvb3QgZWlubG9nZ2VuLi4uICpicnVtbWVsKgoKZ25PbWUgZGVua3QgLiBvIDAgKGZydWVoZXIgd2FyIGljaCBuaWNodCBzbyA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChYZW5hZGEsICA1LiBTZXAgMjAwMSwgMTY6MTg6NDMpOgp+IyEgcm49R25vbWUgcnQ9OTk5Njk2Nzk4IHJnPXBhcnR5Cn4jISB0aWQ9OTk5NjI3MTQ1Cj5nbk9tZSBkZW5rdCAuIG8gMCAoZnJ1ZWhlciB3YXIgaWNoIG5pY2h0IHNvIDopKQoKWndlcmdlIHNpbmQgaGFsdCBuaWNoIHNvIHNjaG5lbGwgOykKWGVuYWRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQW5mcmFnZSB6d2Vja3MgTmlrb2xhdXNwYXJ0eSAoWm9vaywgIDUuIFNlcCAyMDAxLCAxODo0MToyNyk6Cn4jISBybj1EZWVwYmx1ZSBydD05OTk2OTI4MDAgcmc9cGFydHkKfiMhIHRpZD05OTk2MjcxNDUKWm9vayBrb21tdCBtb2VnbGljaGVyd2Vpc2UgYXVjaCwgaGF0IGFiZXIgYXVmIGplZGVuIEZhbGwgSW50ZXJlc3NlLiBVbmQgCndlbm4sIGRhbm4gbmltbXQgWm9vayBudXIgZGllIHVlYmxpY2hlbiBWZXJkYWVjaHRpZ2VuIG1pdC4KClpvb2sgcnVmdDogIjcgenUgNyEgU2llZyEiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEFuZnJhZ2UgendlY2tzIE5pa29sYXVzcGFydHkgKEdsb2luc29uLCAgNS4gU2VwIDIwMDEsIDE5OjE1OjM5KToKfiMhIHJuPUdub21lIHJ0PTk5OTY5Njc5OCByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQpSb290cGFzc3dvcnQgaXN0IGJlaSBEaXIgYWxzbyAiZ3VndSI/IEd1dCB6dSB3aXNzZW4gOikgTmVpbiwgZGVyIE5hY2h0aXNjaApiZWtvbW10IG1laW5lbiBQc2lvbiBuaWNodCBpbiBkaWUgRmluZ2VyIChhdWNoIHdlbm4gaWNoIG1pciBlaW4gSGFuZHkgaG9sZSB1bmQKZW5kbGljaCwgdW0gYWxsIHp1IGJlc3RhZXRpZ2VuIG1hbCB2b24gZWluZXIgUGFydHkgYXVzIG11ZGRlKS4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChBcG9sbG9uaWEsICA2LiBTZXAgMjAwMSwgMDk6MTA6MDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTk5NzEwMTM5IHJnPXBhcnR5Cn4jISB0aWQ9OTk5NjI3MTQ1CkFsc28gd2lyIHd1ZXJkZW4gd29obCBhdWNoIGtvbW1lbiwgd2VubiB1bnMgamVtYW5kIG1pdG5pbW10LiBCaXMgZGFoaW4gaXN0IGRpZQpLbGVpbmUgZWluIGhhbGJlcyBKYWhyIGFsdCB1bmQgaWNoIGRhcmYgbWljaCBkYW5uIGF1Y2ggZW5kbGljaCBtYWwgd2llZGVyCmJldHJpbmtlbi4uLiBhYmdlc2VoZW4gZGF2b24gbGllZ2VuIGhpZXIgZG9jaCBub2NoIGlyZ2VuZHdvIGVpbiBwYWFyIHNpbGJlcm5lCkZsdWVnZWwgcnVtLi4uCgpBcG8qCldpZSB3YXIgZGFzIG1pdCBkZXIgV2VpaG5hY2h0c2VsZmU/IFVuZCBnaWJ0J3Mgd2llZGVyIGVpbmVuIFJvY2h1bGF1cz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChKYW1lc29uLCAgNi4gU2VwIDIwMDEsIDEwOjQzOjQ4KToKfiMhIHJuPUFwb2xsb25pYSBydD05OTk3NjAyMDQgcmc9cGFydHkKfiMhIHRpZD05OTk2MjcxNDUKKmZyZXUqIFdpbnRlcm5pa29sYXVzYnVyZyBpc3QgaW1tZXIgZ3V0IQoKakFtZXNvbiAoKyBtaW5kLiAxLCB3ZW5uIGlyZ2VuZHdpZSBtb2VnbGljaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBBbmZyYWdlIHp3ZWNrcyBOaWtvbGF1c3BhcnR5IChEZWVwYmx1ZSwgIDYuIFNlcCAyMDAxLCAxMDo0NjowNyk6Cn4jISBybj1KYW1lc29uIHJ0PTk5OTc2NTgyOCByZz1wYXJ0eQp+IyEgdGlkPTk5OTYyNzE0NQpTdGVsbHQgbWFsIG5lbiBQYXJ0eWJyZXR0IGF1Zi4gMTAwIHdlaXRlcmUgIkljaCBhdWNoIi1BcnRpa2VsIGJyaW5nZW5zIHdvaGwKbmVkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IEFuZnJhZ2UgendlY2tzIE5pa29sYXVzcGFydHkgKFBlcmRpdGEsICA5LiBTZXAgMjAwMSwgMTk6MDQ6MzkpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTk5NzY1OTY3IHJnPXBhcnR5Cn4jISB0aWQ9OTk5NjI3MTQ1CmFjaCBzY2hhZGUsIGljaCB3b2xsdCBhdWNoIGdyYWQgZWluZW4gImljaCBhdWNoIiBBcnRpa2VsIHNjaHJlaWJlbi4uCih3ZW5uIGljaCBkZW5uIFplaXQgaGFiZSwgVm9yd2VpaG5hY2h0c3plaXQgaXN0IGltbWVyIHNvIHN0cmVzc2lnLi4uKQpuYSBndXQsIGRhbm4gc2NoYXUgaWNoIGViZW4gbWFsIGF1ZnMgcGFydHlicmV0dCwgd2VubnMgZGVubiBzY2hvbiBzdGVodC4uLgpQZXJkaXRhICh0dXQgc2ljaCBtaXQgQmllbGUqICB1bmQgYW5kZXJlbiBIYW1idXJnZXJuIHp3ZWNrcyBmYWhyZW4genVzYW1tZW4sCm9kZXI/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbmlrb2xhdXNmZXRlICAoTGFyaW5hLCAgOS4gU2VwIDIwMDEsIDIzOjE2OjA5KToKQWVobSBiZXZvciBpaHIgYW5zIEJyZXR0IGF1ZnN0ZWxsZW4gdW5kIHNvIGdlaHQgbGFzc3QgbWljaCBlcnN0IG1hbCBuYWNoZnJhZ2VuCm9iIGRpZSB1ZWJlcmhhdXB0IFBsYXR6IGZ1ZXIgdW5zIGhhYmVuIDotKSAKSWNoIHZlcnNwcmVjaGUgYXVjaCwgZGFzIG5hZWNoc3RlIFdvY2hlIG1hbCBhbnp1Z2VoZW4gLi4gbnVyIG5pY2h0IHVuZ2VkdWxkaWcKd2VyZGVuIDotKSAKCkxhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsZGVyIHZvbiBkZXIgQm9ubi1QYXJ0eSAoUGVyZGl0YSwgMTEuIFNlcCAyMDAxLCAxOTo1MTozMik6CkhhbGxvIExldXRlIQpKYSwgaWNoIHdlaXNzLCBtZWluZSBzaW5kIGF1Y2ggbm9jaCBuaWNodCBmZXJ0aWcsIGFiZXIgdHJvdHpkZW06ClZvbiB3ZW0gc2luZCBkZW5uIG5vY2ggQmlsZGVyIHZvbiBkZXIgUGFydHkgaW4gQm9ubiB6dSBlcndhcnRlbj8KTWVpbmUga29tbWVuIGF1ZiBqZWRlbiBGYWxsIG5vY2gsIGFiZXIgaWNoIGhhYiBpbSBNb21lbnQgbnVyIGFldXNzZXJzdCBzZWx0ZW4KWnVncmlmZiBhdWYgZWluZW4gU2Nhbm5lciwgYWxzbyB3aXJkIGVzIG5vY2ggZWluZSBXZWlsZSBkYXVlcm4sIHNvcnJ5LgpQZXJkaXRhIC0gd2lsbCBCaWxkZXIgc2VoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5pa29sYXVzZmV0ZSBhdWZzIE5ldWUgIChMYXJpbmEsIDE0LiBTZXAgMjAwMSwgMjI6NDI6MjMpOgpBbHNvb29vIGVyc3QgbWFsIGhhbGxpaGFsbG8gOi0pIApJY2ggaGFiZSBudW4gZG9jaCBnbGF0dCBlaW5tYWwgZGVuIFZlcmFudHdvcnRsaWNoZW4gZnVlciBXaW50ZXJidXJnIGFucwp0ZWxlZm9uIGJla29tbWVuIHVuZCBkYXMgR2FuemUgZ2VzdGFsdGV0IHNpY2ggbmljaHQgc28gZWluZmFjaCwgZGEKbW9lZ2xpY2hlcndlaXNlIGRlciBCb2RlbiBlcm5ldWVydCB3ZXJkZW4gc29sbC4gCkVyIGhhdCBtaXIgYWxsZXJkaW5ncyBkYXMgV29jaGVuZW5kZSB2b20gMTQtMTYuMTIuIHZvcmdlc2NobGFnZW4sIHVuZCBtZWludGUKZGEga29lbm5lIGVyIGVzIHdvaGxvIGF1Y2ggbW9lZ2xpY2ggbWFjaGVuLiBNb21lbnRhbiBzdGVoZW4gd2lyIGRhIHZvcmdlbWVya3QKZHJpbm5lbiB1bmQgaWNoIGJyYXVjaGUgbWFsIHdpZWRlciBGZWVkYWNrIHdhciBpaHIgc28gZGF2b24gaGFsdGV0LiAKSW4gendlaSBiaXMgc3BhZXRlc3RlbnMgZHJlaSBXb2NoZW4gd2Vpc3MgaWNoIG1pdCBTaWNoZXJoZWl0IG9icyBrbGFwcHQsIGFiZXIKaWNoIGJpbiBndXRlciBEaW5nZSBhbHNvIHBsYW50IGRhcyBtYWwgbWl0IGVpbi4gCgo6LSkgCkxhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pa29sYXVzZmV0ZSBhdWZzIE5ldWUgIChIdW1uaSwgMTUuIFNlcCAyMDAxLCAxNDoxMDo0OSk6Cn4jISBybj1MYXJpbmEgcnQ9MTAwMDUwMDE0MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDA1MDAxNDMKSWNoIGJpbiBiZWdlaXN0ZXJ0LgoKSHVtbmksIHdhZXJtdCBNb3JkaWxsYXIgc2Nob24gbWFsIGFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5pa29sYXVzZmV0ZSBhdWZzIE5ldWUgIChWYW5pb24sIDE1LiBTZXAgMjAwMSwgMTQ6MTI6NTMpOgp+IyEgcm49SHVtbmkgcnQ9MTAwMDU1NTg0OSByZz1wYXJ0eQp+IyEgdGlkPTEwMDA1MDAxNDMKQml0dGUgbmljaHQsIGRlciBtYWNodCBkYXMgaW4gZGVyIEFHIGlkbGVuIHp1ciBIb2VsbGUgOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmlrb2xhdXNmZXRlIGF1ZnMgTmV1ZSAgKEdhbmR1ciwgMTUuIFNlcCAyMDAxLCAxODozNzo0OSk6Cn4jISBybj1MYXJpbmEgcnQ9MTAwMDUwMDE0MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDA1MDAxNDMKZGFzIHdvY2hlbmVuZGUgbGVpZGVyIG9obmUgdW5zLgoKZ2FuZHVyICgtMykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOaWtvbGF1c2ZldGUgYXVmcyBOZXVlICAoQ2Fzc2FuZHJhLCAxNi4gU2VwIDIwMDEsIDE1OjQzOjU0KToKfiMhIHJuPUxhcmluYSBydD0xMDAwNTAwMTQzIHJnPXBhcnR5Cn4jISB0aWQ9MTAwMDUwMDE0MwpCaW4gZGFmdWVyISEhISEhISEhCmF1Y2ggZnVlciBkZW4gVGVybWluCkNhc3NhbmRyYSwgUGFydHlzdWVjaHRpZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOaWtvbGF1c2ZldGUgYXVmcyBOZXVlICAoUGl6emFwZXBlLCAyNi4gU2VwIDIwMDEsIDE4OjI1OjA0KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDAwNjQ3ODM0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMDUwMDE0MwonQWxsbywgUGl6emFwZXBlICdpZXIhCklzY2ggYmluIGphIGxlaWRlciBnZXJhZGUgYW5uZSBQYXppZmlrIHVuZCBrYW4gbmlzY2h0IGJhY2tlIGxlY2tlciBQaXp6YSBmdWVyCmV1Y2gsIGFiZXIgaXNjaCB3b2xsZSBudXIga3VyeiBzYWdlLCBkYXNzIExhcmluYSBqZXR6dCBlaW4gUGFydHlicmV0dAphdWZnZXN0ZWxsdCBoYXQuCkZyb2VobGljaGVzIEFubWVsZGVuIQoKLVBlcGUgKHBhcnR5b3JnYW5pc2F0b3IgaW0gUnVoZXN0YW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmlrb2xhdXNmZXRlIGF1ZnMgTmV1ZSAgKE1vbnRhbnVzLCAyNi4gU2VwIDIwMDEsIDE4OjI2OjUwKToKfiMhIHJuPVpvb2sgcnQ9MTAwMTUyMTU2NCByZz1wYXJ0eQp+IyEgdGlkPTEwMDA1MDAxNDMKSWNoIGdsYXViZSwgc2llIHdpcmQgc2ljaCBzY2hvbiBub2NoIGtyYWVmdGlnIGJlaSBkaXIgYmVkYW5rZW4sIFpvb2suIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmlrb2xhdXNmZXRlIChMYXJpbmEsIDI2LiBTZXAgMjAwMSwgMTg6Mjk6MjEpOgpUamEsIHdpZSBQaXp6YXBlcGUgc2Nob24gc2FndGUsIGZpbmRldCB3aWVkZXIgZWluZSBGZXRlIGluIFdJbnRlcmJ1cmcgc3RhdHQsCmRpZSBQYXJ0eWJyZXR0ZXIgc3RlaGVuIHNjaG9uLCBhbHNvIG1lbGRldCBldWNoIGZsZWlzc2lnIGFuIDotKSAKSmVkZXIsIGRlciBQbGFldHpjaGVuIG1pdGJyaW5nZW4gd2lsbCBpc3QgaGVyemxpY2ggZGF6dSBlaW5nZWxhZGVuLCB1bmQgYXVjaApiYWNrZW4ga29lbm5lbiB3aXIgd2llZGVyIHdlbGNoZSwgZmFsbHMgc2ljaCBtZWhyIGFscyA1IExldXRjaGVucyBmaW5kZW4gZGllCmZ1ZXIgZGVuIFJlc3QgYmFja2VuIDotKSAKQW5zb25zdGVuIHN0ZWh0IHdvaGwgZGFzIG1laXN0ZSBhdWYgZGVtIEJyZXR0LCB3ZW5uIG5pY2h0IEZyYWdlbiBhbiBtaWNoLiBVbmQKdWViZXJyZWRldCBtYWwgUm9jaHVzLCBkYXNzIGVyIGtvbW10IHVuZCB3aWVkZXIgTmlrb2xhdXMgc3BpZWx0LiAKbGllYmUgR3J1ZXNzZSAKTGFyaW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmlrb2xhdXNmZXRlIChCYW1iaSwgMjYuIFNlcCAyMDAxLCAxODozMDoxMyk6Cn4jISBybj1MYXJpbmEgcnQ9MTAwMTUyMTc2MSByZz1wYXJ0eQp+IyEgdGlkPTEwMDE1MjE3NjEKRmFsbHMgSW50ZXJlc3NlIGFuIFdlaW4gYmVzdGVodCAtTW9udGFudXMgaXN0IGphIG5pY2h0IGRhLSBkYW5uIGthbm4gbWFuIHNpY2gKKHouQi4gcGVyIE1haWwpIGJlaSBtaXIgbWVsZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOaWtvbGF1c2ZldGUgKE1vbnRhbnVzLCAyNi4gU2VwIDIwMDEsIDE4OjMyOjEyKToKfiMhIHJuPUJhbWJpIHJ0PTEwMDE1MjE4MTMgcmc9cGFydHkKfiMhIHRpZD0xMDAxNTIxNzYxClNvbGwgZGFzIGhlaXNzZW4sIGRhc3MgaWNoIGRlaW4gSGF1cHRhYm5laG1lciB3YXI/CkRhcyBtdXNzIGljaCBkb2NoIGdhbnogaGVmdGlnIGRlbWVudGllcmVuLi4uIG1pciBnaW5nIGVzIGFuIGRlbiBuYWVjaHN0ZW4KYmVpZGVuIE1vcmdlbiBkb2NoIHNlaHIgcHJpbWEuCihydWZlIE15c3RpeG8gbmFjaCBSb3R3ZWluKQoocnVmZSBnYWxicmFpdGggbmFjaCBSb3R3ZWluKQoocnVmZSBkaWVkZXIgbmFjaCByb3R3ZWluKQoKLU1PbnRhbnVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VtaW5hcnZvcnNjaGxhZWdlIDEwLUphaHJlcy1QYXJ0eSAyMDAyIChGb29iYXIsIDI5LiBTZXAgMjAwMSwgMDA6MjA6NDApOgpIYWxsbyB6dXNhbW1lbi4KCkltIG5hZWNoc3RlbiBKYWhyIHN0ZWh0IGphIGRlciBydW5kZSBHZWJ1cnRzdGFnIGFuLCB1bmQgZGVyIHZvcnJhdXNzaWNodGxpY2hlClBhcnR5cmF1bSBiaWV0ZXQgbmFoZXp1IGFsbGVzLCB3YXMgbWFuIGZ1ZXIgZWluZW4gVm9ydHJhZy9TZW1pbmFyIGJyYXVjaGVuCmthbm4sIGFsc28gQmVhbWVyLCBQcm9qZWt0b3IsIHNvZ2FyIGVpbmVuIENvbXB1dGVyIHVzdy4KCkRlbXp1Zm9sZ2Ugd2FlcmUgZXMgd2lya2xpY2ggc2NoYWRlLCB3ZW5uIGRhIG5peCBzdGF0dGZpbmRlbiB3dWVyZGUgOm8pCgpIaWVybWl0IGJpdHRlIGljaCBhbHNvIHVtIFZvcnNjaGxhZWdlIGZ1ZXIgcG90ZW50aWVsbGUgVGhlbWVuLCBmYWxscyBzaWNoCmRpcmVrdCBWb3J0cmFnc3dpbGxpZ2UgbWVsZGVuIGlzdCBkYXMgbmF0dWVybGljaCB1bSBzbyBiZXNzZXIuCgoiV2FzLCBqZXR6dCBzY2hvbiEgSXN0IGRvY2ggdmllbCB6dSBmcnVlaCEhISIgbWFnIGRlciBlaW4gb2RlciBhbmRlcmUgamV0enQKZGVua2VuLCBhYmVyIGxpZWJlciBoYWJlbiB3aXIgZGVmaW5pdGl2ZSBUaGVtZW4sIGRpZSBlaW4gcGFhciBXb2NoZW4vTW9uYXRlCnZvcmhlciBmZXN0c3RlaGVuLCBhbHMgZ2FyIG5peC4KCmkuQS4gRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VtaW5hcnZvcnNjaGxhZWdlIDEwLUphaHJlcy1QYXJ0eSAyMDAyIChCYW1iaSwgMjkuIFNlcCAyMDAxLCAwOTowMjoyOCk6Cn4jISBybj1Gb29iYXIgcnQ9MTAwMTcxNTY0MCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE3MTU2NDAKSWNoIHd1ZXJkIG5pY2h0IHVuYmVkaW5ndCBlaW5lbiByaWNodGlnZW4gVm9ydHJhZyBtYWNoZW4sIGFiZXIgc293YXMgd2llIGVpbmUKKGR1cmNoIEZvbGllbiB1bnRlcnN0dWV0enRlKSBGcmFnZXN0dW5kZSBmdWVyIE1hZ2llcmxlaHJsaW5nZSwgYWxzbyBzb3dhcyB3aWUKIlRpcHMgdW5kIFRyaWNrcyIsIGJlaXNwaWVsc3dlaXNlIHp1bSBMYXlvdXQgdm9uIFF1ZWxsY29kZSBldGMuIGtvZW5udCBpY2ggbWlyCnZvcnN0ZWxsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbWluYXJ2b3JzY2hsYWVnZSAxMC1KYWhyZXMtUGFydHkgMjAwMiAoTm9ubmUsIDI5LiBTZXAgMjAwMSwgMDk6NTM6NDEpOgp+IyEgcm49QmFtYmkgcnQ9MTAwMTc0Njk0OCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE3MTU2NDAKTGF5b3V0IHZvbiBRdWVsbGNvZGU/IE5hamEsIGljaCBkZW5rZSwgc28gYWxsZ2VtZWluZSBTYWNoZW4gbXVzcyBtYW4gbmljaHQKdW5iZWRpbmd0IGluIGVpbmVtIFZvcnRyYWcgYXVmIGVpbmVyIE11ZHBhcnR5IG1hY2hlbi4gRnVlciBkaWVzZSBhbGxnZW1laW5lbgpUaGVtZW4gZ2lidCBlcyBtYXNzaWcgQnVlY2hlciwgZGllIG1hbiBhdWNoIGluIEJpYmxpb3RoZWtlbiBiZWtvbW10LCB3ZW5uIG1hbgpzaWUgbmljaHQga2F1ZmVuIG1vZWNodGUuIEljaCBkZW5rZSwgbWFuIHNvbGx0ZSBzY2hvbiB3YXMgTXVkL01nLVNwZXppZmlzY2hlcwpuZWhtZW4sIHdhcyBtYW4gbmljaHQgZWluZmFjaCBpbiAnbmVtIEJ1Y2ggbmFjaGxlc2VuIGthbm4uIAoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VtaW5hcnZvcnNjaGxhZWdlIDEwLUphaHJlcy1QYXJ0eSAyMDAyIChBcmssIDI5LiBTZXAgMjAwMSwgMTQ6MTE6MTgpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMDE3MTU2NDAgcmc9cGFydHkKfiMhIHRpZD0xMDAxNzE1NjQwCldlbm4gZXMgbmljaHQgenUgdmVybWVzc2VuIGtsaW5ndCwgd3VlcmRlIGljaCBtYWwgd2FzIHp1ICJRdWVzdGtvbnplcHRpb24gLQpEbydzIGFuZCBEb24ndCdzIiBzYWdlbiA7XikKNDUgbWluLCBtaXQgbGViYnRvYmIuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZW1pbmFydm9yc2NobGFlZ2UgMTAtSmFocmVzLVBhcnR5IDIwMDIgKFpvb2ssIDI5LiBTZXAgMjAwMSwgMTc6Mzk6NDQpOgp+IyEgcm49QXJrIHJ0PTEwMDE3NjU0Nzggcmc9cGFydHkKfiMhIHRpZD0xMDAxNzE1NjQwClNvbGwgaWNoIG5lbiBLb3JyZWZlcmF0IHVlYmVybmVobWVuPyA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNlbWluYXJ2b3JzY2hsYWVnZSAxMC1KYWhyZXMtUGFydHkgMjAwMiAoQXJrLCAyOS4gU2VwIDIwMDEsIDE3OjUyOjQ4KToKfiMhIHJuPVpvb2sgcnQ9MTAwMTc3Nzk4NCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE3MTU2NDAKQWxzbyBkaWUgS2FiZWwgYmV0YWV0aWdlbiB1bmQgTGljaHRlciBiZWRpZW5lbj8gRnJlaWxpY2gsIHNvd2FzIGJyYXVjaGUgaWNoCmltbWVyIDteKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNlbWluYXJ2b3JzY2hsYWVnZSAxMC1KYWhyZXMtUGFydHkgMjAwMiAoQW5hY3Jpb24sIDI5LiBTZXAgMjAwMSwgMTc6NTQ6MTEpOgp+IyEgcm49QXJrIHJ0PTEwMDE3Nzg3Njggcmc9cGFydHkKfiMhIHRpZD0xMDAxNzE1NjQwCkhhZWx0IG1hbCB3ZXIgbmVuIFZvcnRyYWcgenVtIFNraWxsc3lzdGVtID8gOm8pCgphbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2VtaW5hcnZvcnNjaGxhZWdlIDEwLUphaHJlcy1QYXJ0eSAyMDAyIChHcmltbWJvcm4sIDI5LiBTZXAgMjAwMSwgMTc6NTY6NDEpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAwMTc3ODg1MSByZz1wYXJ0eQp+IyEgdGlkPTEwMDE3MTU2NDAKV2FydW0gc29sbGVuIGltbWVyIG51ciBNYWdpZXIgVm9ydHJhZWdlIGhhbHRlbj8gV2llIHdhZXJlIGVzIG1pdCBlaW5lbSBWb3J0cmFnCmF1cyBTcGllbGVyZWloZW4gIlVuZW50ZGVja3RlIEV4cGxvaXRzIG9kZXIgd2FzIG1hbiBhbGxlcyBlZmZla3RpdmVyIG51dHplbgprYW5uIGFscyBlcyBkZXIgTWFnaWVyIHZvcmdlc2VoZW4gaGF0IiwgZGFzIHdhZXJlIGRvY2ggbWFsIGludGVyZXNzYW50LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTZW1pbmFydm9yc2NobGFlZ2UgMTAtSmFocmVzLVBhcnR5IDIwMDIgKEFuYWNyaW9uLCAyOS4gU2VwIDIwMDEsIDE3OjU4OjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAxNzc5MDAxIHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTcxNTY0MAppY2ggaGFiIHNjaG9uIG1hbCBuZW4gdm9ydHJhZyBnZWhhbHRlbiAuLi4KCmFuYWMqIC0gZmluZGV0IGFiZXIsIGRhc3MgZWluZSBtZW5nZSBzcGllbGVydm9ydHJhZWdlIHdvaGwga2wtY2hhcmFrdGVyCmhhZXR0ZW4KClAuUzogZGllIHNwaWVsZXJ2b3J0cmFlZ2UgZXJmb2xnZW4gbWVpc3RpbSBrbGVpbmVuIGtyZWlzIHp3aXNjaGVuZHVyY2ggO28pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTZW1pbmFydm9yc2NobGFlZ2UgMTAtSmFocmVzLVBhcnR5IDIwMDIgKEFyaywgMjkuIFNlcCAyMDAxLCAxODoxMDozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMTc3OTAwMSByZz1wYXJ0eQp+IyEgdGlkPTEwMDE3MTU2NDAKS0wgS0wgenUgSHVlbGZlISEhCgpXYXJ1bSBlaWdlbnRsaWNoIG5pY2h0PyBXZW5uIGVpbmVyIG9iaWdlcyB2ZXJicmljaHQsIHdpcmQgZXIgdm9uIG11c2t1bG9lc2VuCk1hZ2llcmdlaGlsZmVuIGF1cyBkZW0gUmF1bSBnZXdvcmZlbi4gRnJhdWVuIHdlcmRlbiBnZXRyYWdlbiA7XikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdXM/IChEZWVwYmx1ZSwgMjkuIFNlcCAyMDAxLCAxODo0NTo0Nyk6CldhZXJlIGVzIGRlbmtiYXIsIGZ1ZXIgZGllIFJ1ZWNrZmFocnQgdm9uIGRlciBXaW50ZXJwYXJ0eSBhYiBDaGluZXNlIG5hY2ggQmFkCktyZXV6bmFjaCAob2RlciBNYWlueikgbmVuIEJ1cyB6dSBjYXJ0ZXJuPyBXZXIgaGFldHRlIGFuIHNvd2FzIEludGVyZXNzZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdXM/IChNb250YW51cywgMjkuIFNlcCAyMDAxLCAxODo0ODo0OSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDAxNzgxOTQ3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTc4MTk0NwpBYiBDaGluZXNlIGZhZWhydCBlaW4gWnVnIGV0d2EgZWlubWFsIGRpZSBTVHVuZGUgbmFjaCBNYWlueiB1bmQgQmFkIEtyZXV6bmFjaC4KVW5kIEJhaG5idXNzZSBpbiBhbGxlIHVtbGllZ2VuZGVuIEthZWZmZXIuIE9id29obCwgZGllIGhlaXNzZW4gbmljaHQgbWVocgpCYWhuYnVzc2UsIGRpZSBoZWlzc2VuIGpldHp0IE9STi4gKE9tbm5pYnVzdmVya2VociBSaGVpbi1OYWhlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCdXM/IChEZWVwYmx1ZSwgMjkuIFNlcCAyMDAxLCAxODo1NTo0OSk6Cn4jISBybj1Nb250YW51cyBydD0xMDAxNzgyMTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTc4MTk0NwpPaywgaWNoIHd1c3N0ZSBuaWNodCwgZGFzIGRlciBDaGluZXNlIHdlc2VudGxpY2ggYmVzc2VyIGVycmVpY2hiYXIgaXN0LiBEYQplcnVlYnJpZ3Qgc2ljaCBkYXMgbmF0dWVybGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNlbWluYXJ2b3JzY2hsYWVnZSAxMC1KYWhyZXMtUGFydHkgMjAwMiAoR25vbWUsIDI5LiBTZXAgMjAwMSwgMTk6MjA6NDYpOgp+IyEgcm49Tm9ubmUgcnQ9MTAwMTc1MDAyMSByZz1wYXJ0eQp+IyEgdGlkPTEwMDE3MTU2NDAKZ2VuYXUuCnZpZWxsZWljaHQgZWluZW4gdm9ydHJhZyBhIGxhICJNZXR6ZWxnYW5nIGxlaWNodCBnZW1uYWNodCIuCmRhdWVyOiB6d2lzY2hlbiAyIHVuZCAzIG1pbi4KClNDTlIgOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTZW1pbmFydm9yc2NobGFlZ2UgMTAtSmFocmVzLVBhcnR5IDIwMDIgKE1hdGlzLCAyOS4gU2VwIDIwMDEsIDE5OjIxOjUyKToKfiMhIHJuPUdub21lIHJ0PTEwMDE3ODQwNDYgcmc9cGFydHkKfiMhIHRpZD0xMDAxNzE1NjQwClNlbGJzdGJld2VpaHJhZXVjaGVydW5nLgoKTWF0aXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNlbWluYXJ2b3JzY2hsYWVnZSAxMC1KYWhyZXMtUGFydHkgMjAwMiAoSGlnaHQsIDI5LiBTZXAgMjAwMSwgMjE6MTc6MjYpOgp+IyEgcm49R25vbWUgcnQ9MTAwMTc4NDA0NiByZz1wYXJ0eQp+IyEgdGlkPTEwMDE3MTU2NDAKd2llIHZlcnBhc3N0IGR1IGRlbiBmb2xnZW5kZW4gdm9yZ2FuZyBpbiAyIC0gMyBtaW51dGVuID8gCgoxLiBmcnVmZSBpY2ggd2lsbCB0b2V0ZW4gd2VyIHNjaGxhZWd0IHdhcyB2b3IgCjIuIGF1ZnMgdGVhbSB3YXJ0ZSBiencuIHNlbGJpZ3MgYXVzIGRlbiB3aWxsaWdlbiB6dXNhbW1lbnN0ZWxsZW4gCjMuIGxvc3ppZWhlbiB1bmQgdG9ldGVuIAoKaGlnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNlbWluYXJ2b3JzY2hsYWVnZSAxMC1KYWhyZXMtUGFydHkgMjAwMiAoUGF0cnluLCAyOS4gU2VwIDIwMDEsIDIyOjM5OjQ4KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTEwMDE3Nzg4NTEgcmc9cGFydHkKfiMhIHRpZD0xMDAxNzE1NjQwCmhhYiBpY2ggc2Nob24gbWFsLi4uZnVlciB2aWVsZSB3YXJzIHp1IGtvbXBsZXgsIGRpZSBkaWUgZXMgZ3V0IGZhbmRlbgp1bmQgbWVpbnRlbiwgc2llIGhhZXR0ZW4gbm9jaCBtZWwgbmVuIGd1dGVuIGJsaXZrIGF1ZiBhbGxlcyBiZWtvbW1lbiwKd2FyZW4gbWVpc3QgYXVjaCBkaWUsIGRpZSBlcyBlaCBzY2hvbiB6dW0gZ3V0ZW4gdGVpbCBpbiBicnVjaHN0dWVja2VuCmthbm50ZW4uCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTZW1pbmFydm9yc2NobGFlZ2UgMTAtSmFocmVzLVBhcnR5IDIwMDIgKEFuYWNyaW9uLCAyOS4gU2VwIDIwMDEsIDIzOjU3OjEyKToKfiMhIHJuPVBhdHJ5biBydD0xMDAxNzk1OTg4IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTcxNTY0MApJc3Qgd29obCBpbiBNb2RlIGdla29tbWVuLCBkYXNzIGF1Y2ggYWxsZSBTcGllbGVyIGJlaSBkZW4gVm9ydHJhZWdlbgpkYWJlaXNpdHplbi4KClZpZWxsZWljaHQga2FubiBtYW4gamEgc28gZWluIFRoZW1hIG1hbCBhbmJpZXRlbiBmdWVyIGRpZWplbmlnZW4sIGRpZSBlcwppbnRlcmVzc2llcnQgLi4gZGllIGtlbm5lbiBuYWVtbGljaCBtZWlzdGVucyBhdWNoIGRpZSBHcnVuZHp1ZWdlIHNjaG9uIDpvKQoKYW5hYyogLSBpbnRlcmVzc2llcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKExhcmlzc2EsICAxLiBPa3QgMjAwMSwgMTk6MzY6MTMpOgouLi53ZW5uIHdpciBmdWVyIGRpZSAxMCBKYWhyZXMtUGFydHkgZWluZSBFcnphaGxzdHVuZGUgZWlucmljaHRlbiB3dWVyZGVuLCB3bwpkaWUgZ2FhYWFhYWFhYWFhYWFhYWFhYWFueiBhbHRlbiBTcGllbGVyIGVpbiBiaXNzY2hlbiB2b24gZnJ1aGVyIGVyemFlaGxlbiwKdW5kIGRpZSBtaXR0bGVyZW4gZXR3YXMgYXVzIGRlciBNaXR0ZSB1bmQgZGllIG5ldWVyZW4gZXR3YXMgbmV1ZXM/IEVzCnBhc3NpZXJlbiBkb2NoIGltbWVyIG1hbCB3aWVkZXIgdmVycnVlY2t0ZSBTYWNoZW4sIGRpZSBtYW4gbmljaHQgdmVyZ2lzc3QuCkljaCBwZXJzb2VubGljaCBlcmlubmVyZSBtaWNoIGFuIDgtYXJtaWdlIFByaWVzdGVyIGluIGRlciBHaWxkZSAoZ2VsbCwgRGFuY2VyKQp1bmQgZGllIEhvY2h6ZWl0IHZvbiBTZW1pcmEuLi4KCld1ZXJkZSBkYXMgamVtYW5kZW4gaW50ZXJlc3NpZXJlbj8KCkxHLApMYXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoUGF0cnluLCAgMS4gT2t0IDIwMDEsIDE5OjM5OjI1KToKfiMhIHJuPUxhcmlzc2EgcnQ9MTAwMTk1Nzc3MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKb2ggZ290dC4uLmRhcyBoYWxic2VuaWxlIGJsYWJsYSB2b24gdXJhbHRzcGllbGVybiBnaWJ0cyBkb2NoIGF1ZiBkZW4KcGFydGllcyBpbW1lciBncmF0aXMgdW5kIHVuZ2VmcmFndCwgZGEgYnJhdWNodCBtYW4gZG9jaCBrZWluZSBnZXBsYW50ZQp2b3J0cmFnc3J1bmRlIDspKSkpCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKFZhcmxhcmlvbiwgIDEuIE9rdCAyMDAxLCAxOTo0MDowMyk6Cn4jISBybj1QYXRyeW4gcnQ9MTAwMTk1Nzk2NSByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKZ2VuYXUsIGVyemFlaGwgZG9jaCBkYSBtYWwgd2FzLCBtdXBmZWwgXTopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKExhcmlzc2EsICAxLiBPa3QgMjAwMSwgMTk6NDU6MDUpOgp+IyEgcm49UGF0cnluIHJ0PTEwMDE5NTc5NjUgcmc9cGFydHkKfiMhIHRpZD0xMDAxOTU3NzczCkhtLAoKaWNoIGRhY2h0ZSBoYWx0LCBlcyB3YWVyZSBzY2hvZW4gbWFsIGFsbGUgdW52ZXJnZXNzZW5lbiBTdG9yaWVzIHp1IHNhbW1lbG4gdW5kCmF1Y2ggbmV1ZXJlIEdlc2NoaWNodGVuIGRhIG5pY2h0IGF1c3p1bmVobWVuLiBFaW4gZ2VtZWluc2FtZXIgWmVpdC0vVHJlZmZwdW5rdAp3YWVyZSBkYSBlaWdlbnRsaWNoIG5pY2h0IHZlcmtlaHJ0LgpNdXNzIGphIGFiZXIgYXVjaCBuaWNodCBzZWluLgoKR3J1ZXNzZSwKTGFyaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoRmlyZWhhd2ssICAxLiBPa3QgMjAwMSwgMTk6NDc6MzApOgp+IyEgcm49TGFyaXNzYSBydD0xMDAxOTU4MzA1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTk1Nzc3MwpBdWphLCBnZW1laW5zYW1lciBaZWl0LS9UcmVmZnB1bmt0IGlzdCBndXQsIGRhbm4ga29lbm5lbiBhbGxlIGRpZSBzaWNoIGRhcyBhdWYKZGVuIGFuZGVyZW4gUGFydGllcyBzY2hvbiBnZWhvZXJ0IGhhYmVuIHJlY2h0emVpdGlnIHZlcnN0ZWNrZW4gOykKCkZpcmVoYXdrIC0+IFNjaG1hcnJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChIaWdodCwgIDEuIE9rdCAyMDAxLCAxOTo0ODowMyk6Cn4jISBybj1MYXJpc3NhIHJ0PTEwMDE5NTgzMDUgcmc9cGFydHkKfiMhIHRpZD0xMDAxOTU3NzczCipsYWNoKiB3ZW5uIHJvY2h1cyB3YXMgYXVzIHNlaW5lciBzcGllbGVyemVpdCBlcnphZWhsdCBnZWggaWNoICxvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoRm9vYmFyLCAgMi4gT2t0IDIwMDEsIDAxOjMwOjE4KToKfiMhIHJuPUhpZ2h0IHJ0PTEwMDE5NTg0ODMgcmc9cGFydHkKfiMhIHRpZD0xMDAxOTU3NzczCkljaCBmaW5kZSBkaWUgSWRlZSBnYXIgbmljaHQgc2NobGVjaHQsIGF1Y2ggd2VubiBpY2ggLSB3aWUgaWNoIGdsYXViZSAtIHNjaG9uCmVpbmUgTWVuZ2UgR2VzY2hpY2h0ZW4gZ2Vob2VydCBoYWJlLgoKVW5kIHdlbm4gbWFuIENhdHdlYXpsZSBhYiB1bmQgenUgbWFsIGJlaW0gU3RhVGkgaG9lcnQgZmFlbGx0IGVpbmVtIGVjaHQgbml4Cm1laHIgZWluIDpvKQoKQ2F0d2VhemxlIHNhZ3Q6IEdpbGRlbj8KQ2F0d2VhemxlIHNhZ3Q6IFBvcnRhbGU/CkNhdHdlYXpsZSBzYWd0OiBXaWUsIGRpZSBTdGVpbmJlaXNzZXIga2FubiBtYW4gYWxsZWluZSBtZXR6ZWxuPwoKRm9vYmFyIC0gbWVociBkYXZvbiA6bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKEdyaW1tYm9ybiwgIDIuIE9rdCAyMDAxLCAwMTozNTo1OCk6Cn4jISBybj1Gb29iYXIgcnQ9MTAwMTk3OTAxOCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKSG1tLCBkaWUgZXJzdGUgTmljaHRhYmVudGV1cmVyZ2lsZGUga2FtIGltIEZydWVoamFociAxOTk1IChLYXJhdGVrYSkuIERpZQpQb3J0YWxlIGthbWVuIGV0d2FzIChhYmVyIG5pY2h0IHNvbmRlcmxpY2ggdmllbCkgZnJ1ZWhlci4gVW5kIGFiIGV0d2EKU29tbWVyL0hlcmJzdCAxOTk0IGdpYnQgZXMgU3BpZWxlciBkaWUgZGllIFN0ZWluYmVpc3NlciBhbGxlaW5lIG1ldHplbG4Ka29lbm5lbi4gV2llc28gZmFlbGx0IERpciBkYXp1IG5pY2h0cyBtZWhyIGVpbj8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoRm9vYmFyLCAgMi4gT2t0IDIwMDEsIDAxOjM2OjM0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAxOTc5MzU4IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTk1Nzc3MwpXZW0/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChHcmltbWJvcm4sICAyLiBPa3QgMjAwMSwgMDE6NDI6MDApOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMDE5NzkzOTQgcmc9cGFydHkKfiMhIHRpZD0xMDAxOTU3NzczCkRpcjogIlVuZCB3ZW5uIG1hbiBDYXR3ZWF6bGUgYWIgdW5kIHp1IG1hbCBiZWltIFN0YVRpIGhvZXJ0IGZhZWxsdCBlaW5lbSBlY2h0Cm5peCBtZWhyIGVpbiIuIE1laW4gQXJndW1lbnQgd2FyOiBXYXMgaXN0IGRhcmFuIHNvIGVyc3RhdW5saWNoPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChCb2luZywgIDIuIE9rdCAyMDAxLCAwOTowNjoxNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMTk3OTcyMCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKVm9yIGFsbGVtIGhhdCBDYXR0eSBkaWUgc2VsYmVuIFNwcnVlY2hlIHNjaG9uIHZvciA1IEphaHJlbiBnZWJyYWNodCAuLi4gOykKICAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKEZvb2JhciwgIDIuIE9rdCAyMDAxLCAxNjo0NTo1Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMTk3OTcyMCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKV29yYW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChNb250YW51cywgIDIuIE9rdCAyMDAxLCAxNzoxMDo1OSk6Cn4jISBybj1Gb29iYXIgcnQ9MTAwMjAzMzk1NiByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKSG1tbSwgTGFyaXNzYSwgZHUgaGFldHRlc3QgbGV0enRlcyBqYWhyIGF1ZiBkZXIgbmlrb2xhdXNmZXRlIHNlaW4gc29sbGVuLCBhbHMgCmRpZSBiZWlkZW4gIk9sZGllcyIgSnVlbnRoZXIgdW5kIEdhdWNoLCBhZWggT2V0dGkgdW5kIE1vbnRhbnVzIGRpZSBhbndlc2VuZGVuCkp1bmdzcHVuZGUgbWl0IGRlciBiZWxpZWJ0ZW4gUXVpenNlbmR1bmcgIldlciB3aXJkIE11ZC1NaWxsaW9uYWVyPyIKYmVnbHVlY2t0ZW4gdW5kIGRhYmVpIGVpZ2VudGxpY2ggbnVyIEZyYWdlbiBhdXMgZGVyIGd1dGVuIGFsdGVuIFplaXQgYnJhY2h0ZW4uCjotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoQ2F0d2VhemxlLCAgMy4gT2t0IDIwMDEsIDAzOjE5OjEwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAxOTc5NzIwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTk1Nzc3MwpBbHNvIGFzdGVucyBiaW4gaWNoIHZvbiBOYXR1ciBhdXMgZXJzdGF1bmxpY2guIFVuZCBidGVucyBrYW1lbiBkaWUgUG9ydGFsZQp3ZXNlbnRsaWNoIGZydWVoZXIsIHNvIGV0d2EgOTMuIERpZSBoYWIgaWNoIHNvZ2FyIHNlbGJlciBtYWwgZ2Vwcm9nZ3QuIEFiZXIKYXVmZ3J1bmQgbWVpbmVyIHByb2dyYW1tYXRpc2NoZW4gTWluZGVyYmVtaXR0ZWx0aGVpdCB3dXJkZW4gZGllIGluIGRlciBMdWZ0CnplcnJpc3Nlbiwgd29yYXVmaGluIGljaCBzaWUgd3V0ZW50YnJhbm50IGdlbG9lc2NodCBoYWJlIHVuZCBSb2NodXMgKEhhdGU/KQpkYXMgS29uemVwdCBpbm5lcmhhbGIga3VlemVzdGVyIFplaXQgc2VsYmVyIGltcGxlbWVudGllcnQgaGF0dGUuCkR1IGhhZXR0ZXN0IGVybGViZW4gc29sbGVuIHdpZSB2ZWhlbWVudCBCb2luZyBkYW1hbHMgZ2VnZW4gUG9ydGFsZSBnZXdlc2VuIGlzdAo6LSkgR2lidHMgZWlnZW50bGljaCBtaXR0bGVyd2VpbGUgZWlucyBOYWVoZSBGcmllZGhvZj8gOikKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChHcmltbWJvcm4sICAzLiBPa3QgMjAwMSwgMDY6MDY6NDkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDIwNzE5NTAgcmc9cGFydHkKfiMhIHRpZD0xMDAxOTU3NzczCkFsc28sIGFscyBpY2ggYWxzIFNwaWVsZXIgQW5mYW5nIDk0IGFuZmluZyBnYWJzIHppZW1saWNoIHNpY2hlciBub2NoIGtlaW5lClBvcnRhbGUuIFVuZCBhbHMgU2VoZXIgaGFiZSBpY2ggZGllIGlyZ2VuZHdhbm4gbnV0emVuIGtvZW5uZW4sIGRhaGVyIGRlbmtlIGljaApkYXNzIGVzIGRpZSBQb3J0YWxlIGZ1ZXIgU3BpZWxlciBpcmdlbmR3YW5uIDE5OTQgZ2FiLiBBbHMgZGllIGVyc3RlIEdpbGRlIGltCkZydWVoamFociA5NSBrYW0gd2FyZW4gc2llIGplZGVuZmFsbHMgZWluIGFsdGVyIEh1dC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoSGF0ZSwgIDMuIE9rdCAyMDAxLCAwODo0NToxMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAwMjA3MTk1MCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKSWNoIGhhYmUgbWljaCBuaWUgYW4gUG9ydGFsZW4gdmVyZ3JpZmZlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoQW5hdG9sLCAgMy4gT2t0IDIwMDEsIDEwOjM5OjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAyMDgyMDA5IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTk1Nzc3MwpFaW4gYWx0ZXIgSHV0LCBkZXIgNTAgTWFnaWVwdW5rdGUga29zdGV0ZS4gTWl0IFZlcmxhdWIsIGRhIGlzdCBtYW4KZG9jaCBiZXNzZXIgZ2VsYXVmZW4uIEVyc3QgbWl0IGRlciBSZWNoZW5wb3dlcnNwYXJtYXNzbmFobWVuZGlza3Vzc2lvbgpkYW5uIHd1cmRlIGRlciBNUC1WZXJicmF1Y2ggZHJhc3Rpc2NoIGdlc2Vua3QgLSB1bmQgaXJnZW5kd2FubiBhdWNoCmRpZSBGZWhsdGVsZXBvcnRlIHJhdXNnZW5vbW1lbi4gSkEsIEZlaGx0ZWxlcG9ydGUuIFdpZXNvIG1hY2hlbiB3b2hsCmRpZSBhbHRlbiBXZWdlc2NyaXB0c3lzdGVtZSBuYWNoIGRlbSBUZWxlcG9ydGllcmVuIGltbWVyIHNvIGVpbmUgUGF1c2U/IDspCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChNb250YW51cywgIDMuIE9rdCAyMDAxLCAxNzoyNzozOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwMjA5ODM0OCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKV2FzLCBrZWluZSBGZWhsdGVsZXBvcnRlIG1laHI/IE5pY2h0IG1laHIgYXVzIFZlcnNlaGVuIGluIGRlciBwYXJhd2VsdCBsYW5kZW4KdW5kIGt1cnogaGludGVyIFBvcnQgVmFpbiBlaW5lbSBTY2htZXR0ZXJsaW5nIHp1bSBPcGZlciBmYWxsZW4/CldpZSBsdXNjaGlnLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbnJlaXNlIG5hY2ggV2ludGVyYnVyZyAtIFVwZGF0ZSA6LSkgKE1vbnRhbnVzLCAgMy4gT2t0IDIwMDEsIDE4OjUyOjI1KToKS3VyemVzIFVwZGF0ZSAtIHdlciBzaWNoIGFuZ2VtZWxkZXQgaGF0IHVuZCBkaWUgQmVzdGFldGlndW5nc21haWwgaGF0LCBoYXQKbm9jaCBlaW5lIGluendpc2NoZW4gbGVpY2h0IHZlcmFsdGV0dGUgV2VnYmVzY2hyZWlidWduIGJla29tbWVuLgpGb2xnZW5kZXIgQWJzY2huaXR0IGRhcmYgaWdub3JpZXJ0IHdlcmRlbjoKCldlciBhdXMgVmVyc2VoZW4gdm9uIEJhZCBLcmV1em5hY2ggYXVzIGtvbW10Ogp3aWUgWmVwaHlyIHNjaG9uIHNjaHJpZWIsIGlzdCBkaWUgU3RyYWUgendpc2NoZW4gV2FsZGJvZWNrZWxoZWltIHVuZApXaW50ZXJidXJnIGVyc3RtYWwgZnVlciBlaW4gaGFsYmVzIEphaHIgZ2VzcGVycnQuIERhIG11ZXNzdGV0IGlociBkYW5uIGJpcwprdXJ6IHZvciBCYWQgU29iZXJuaGVpbSAoU3RlaW5oYXJkdCkgYXVmIGRlciBCNDEgYmxlaWJlbiB1bmQgZGFubiB1ZWJlcgpCb2NrZW5hdSB1bmQgV2ludGVyYnVyZyBhbnJlaXNlbi4KCkRpZSBTdHJhc3NlIHp3aXNjaGVuIFdhbGRib2Vja2xlaGVpbSB1bmQgV2ludGVyYmFjaCBpc3Qgc2Nob24gbGFlbmdlciB3aWVkZXIKb2ZmZW4uIERpZSBVbWxlaXR1bmcgdWViZXIgQi5TLiBpc3Qgc29taXQgbmljaHQgbWVociBub2V0aWcuIDotKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChOb25uZSwgIDQuIE9rdCAyMDAxLCAwOTo1MjoxNyk6Cn4jISBybj1Nb250YW51cyBydD0xMDAyMTIyODU5IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTk1Nzc3MwpPaCwgYW4gZGllIERpc2t1c3Npb24gdW0gZGllIEZlaGx0ZWxlcG9ydGUga2FubiBpY2ggbWljaCBhdWNoIGVyaW5uZXJuLiAiSW1tZXIKaGVmdGlnZXJlIE1vbnN0ZXIgaW4gUGFyYSwgaWNoIHN0ZXJiZSBkYSBpbW1lciEgKnF1YWVuZ2VsKiIgIkRhbm4gZ2VoIGRvY2gKbmljaHQgaGluISIgIkphLCBhYmVyIGJlaSBGZWhsdGVsZXBvcnRzIG11c3MgaWNoIGphLi4uIiBOdXIgd2VnZW4gZGVyIEx1c2NoZW4KdW5kIEJsdWVtY2hlbnBmbHVlY2tlciB3dXJkZW4gc29sY2hlIEZlYXR1cmVzIGF1c2dlYmF1dCAqc2NobW9sbCoKCk5vbm5lLCBpbiBhbHRlbiBaZWl0ZW4gc2Nod2VsZ2VuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKEFyaywgIDQuIE9rdCAyMDAxLCAxMDo1NzowMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAwMjA3MTk1MCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKSGEsIEJvaW5nIGlzdCBnZWdlbiBhbGxlcywgYWJlciBudW4gaGFiZW4gd2lyIGphIGVpbiB3aWxsZmFlaHJpZ2VzIFdlcmt6ZXVnIGluCnVuc2VyZW4gc2NobXV0emlnZW4gTWFnaWVyaGFlbmRlbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoU2VtaXJhLCAgNC4gT2t0IDIwMDEsIDE0OjA3OjA0KToKfiMhIHJuPUxhcmlzc2EgcnQ9MTAwMTk1Nzc3MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKKmluIEVyaW5uZXJ1bmdlbiBzY2h3ZWxnKgojCk1pciBmYWVsbHQgZGEgZ2FueiBzcG9udGFuIGRpZSBTYWNoZSBtaXQgUnVkaXJhdHRlcnMgMiBrYXB1dHRlbiBLbmllbiBlaW4KKCJLZW5udCB3ZXIgc2NobWVyemZyZWllIFN0ZWxsdW5nZW4/IikgZWluIHVuZCBhZWhubGljaGUgbGFlbmdzdCB2ZXJnZXNzZW5lbgpadWVja2VyY2hlbiBhdXMgZmVybmVyIFZvcnplaXQgb2RlciBkaWUgd3VuZGVyYmFyZSBGYWNoc2ltcGVsZWkgKCJTZXgsIEd1cmtlbgomIFZpZGVvIikgdm9uIEVuZ3l3dWNrLCBHcmltbWJvcm4sIEFsaW5lLCBMYXJpc3NhIHVuZCBzb25zdCBub2NoIHZpZWxlbiAuLi4KCldpZSBzY2hhZGUsIGRhc3MgaWNoIGFsbCBkYXMgbnVyIGFscyBBdXNkcnVjayBoYWIsIHNvbnN0IHdhZXJlbiBlcyB3dW5kZXJiYXJlCkJlaXRyYWVnZSB6dXIgYWx0ZW4gemVpdCAob2RlciBlaGVyIHp1IGRlbiBhbHRlbiBMZXV0ZW4pLi4uQWJlciBkZXIgZWluIG9kZXIKYW5kZXJlIFJlbnRuZXIgZXJpbm5lcnN0IHNpY2ggamV0enQgc2ljaGVyIGRyYW4gdW5kIGdyaW5zdC4KClNlbWlyYSAtIEtudWRkZWxtYXVzIGluIFJlbnRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKENhdHdlYXpsZSwgIDQuIE9rdCAyMDAxLCAxNDoxMDoxMyk6Cn4jISBybj1TZW1pcmEgcnQ9MTAwMjE5NzIyNCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKU2VtaXJhIGR1IGhpZXI/CktvbW1zdSB6dXIgSnViZWxwYXJ0eT8gOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKFNlbWlyYSwgIDQuIE9rdCAyMDAxLCAxNDoxMTozNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAwMjE5NzQxMyByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKYWh3YXMsIGljaCBkb2NoIG5pY2guLi4gYmluIGRvY2ggc2Nob24gbGFlbmdzdCBhdXNnZXdhbmRlcnQuLi4gYWJlciB3ZW5uIGRpZQpuZXVlIHdlbHQgcGxhdHQgaXN0LCBzY2hhdWUgaWNoIGRvY2ggZ2VybmUgbWFsIHdpZWRlciBpbiBkZXIgYWx0ZW4gdm9yYmVpLi4uCgpTZW1pcmEgLSBCZXJnZSBhbHRlciBBdXNkcnVja2UgbGVzZW5kIHVuZCBudXIgbm9jaCBncmluc2VuZCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FlcmUgZXMgbmljaHQgbmV0dC4uLiAoUm9jaHVzLCAgNC4gT2t0IDIwMDEsIDIyOjIwOjIwKToKfiMhIHJuPVNlbWlyYSBydD0xMDAyMTk3MjI0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwMTk1Nzc3MwpOYSwgenVyIEF1ZmZyaXNjaHVuZyBhbHRlciBFcmlubmVydW5nZW46CiJSdWRpIHN1Y2h0IFN0ZWxsdW5nZW4iCgpSVVVVVVVVVVVESUlJSUlJSUlJSSEgKFJvY2h1cywgMTAuIEF1ZyAxOTk1LCAxMzo1MTo0Myk6CltBbGxnZW1laW46UnVkaXJhdHRlcl0gd2VyIGtlbm50IHNjaG1lcnpmcmVpZSBzdGVsbHVuZ2VuPz8KW0FsbGdlbWVpbjpSeHRlY2hdIGRhbm4ga29tbSBpY2ggZG9jaCBuaWNoIHZvcmJlaWkgOikKW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBqYWphLCBkdSBhbHRlIHNhdSwgaW1tZXIgZGFzc2VsYmUgbWl0IGRpcgpbQWxsZ2VtZWluOkJpZ2Zvb3QgZ2lidCBlcyBkYXMgdWViZXJoYXVwdD8/XQpbQWxsZ2VtZWluOkFsYm9pbl0gYmVpIHdhcyBSdWRpPzspCltBbGxnZW1laW46UnVkaXJhdHRlcl0gYmVpIHdhcyB3b2hsPyBiZWltIHNwdWVsZW4/Pz8/CltBbGxnZW1laW46UnVkaXJhdHRlciBwYWNrdCBzaWNoIGFuIGRlbiBLb3BwLl0KW0FsbGdlbWVpbjpSeHRlY2ggbGFjaHQgc2ljaCBlaW5zXQpbQWxsZ2VtZWluOkFsYm9pbl0gd2FzIGRlbm4gUnVkaSxiaXN0ZSBIYXVzZnJhdT8KW0FsbGdlbWVpbjpCaWdmb290IGZyZXV0IHNpY2gsIGRhc3MgUnVkaSBJaHJlbiBIdW1vcgpiZWhhbHRlbiBoYXQgOikpXQpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGtsYXIsIGRldm90ZSBnb2VyZSwgd3Vzc3RlZXN0IGR1IGRhcwpuY2lodD8KW0FsbGdlbWVpbjpGYW50YWJveV0gaGkgZ3VsZGkgb2xsZXQ/YXNjaGVsb2NoISEhISEKW0FsbGdlbWVpbjpHdWxkdWthdF0gaGUgcnVkaSwgYmVpbmUgd2llZGVyIGRyYW4/IDspCltBbGxnZW1laW46RW5neXd1Y2tdIFJ1ZGksIHdpbGxzdCBEdSBldHdhIFNleD8KW0FsbGdlbWVpbjpHdWxkdWthdF0gbmVuZSwgZGVyIHpvcnJvIGlzdCBkYXMgbG9jaCBtaXQgYXNjaGUgZHJpbgpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGh1aHUgZ3VsZHVrYXQKW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBqYSwgYmVpbmUgZHJhbiwgdW5kIHNjaG9lbiBzdGVpZgpbQWxsZ2VtZWluOkJpZ2Zvb3Qgd2FzP10KW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBoZSwgaGFyLCB3ZWxjaGUgc3RlbGx1bmdlbiBoYWJlbiBzaWUKZGlyIHZlcnNjaHJpZWJlbgpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGltIGtya2g/CltBbGxnZW1laW46RmFudGFib3ldIGVuZ3kgZGVua3Qgd2llZGVyIG51ciBhbiBTRVgsIGlzdCBkYXMKbmljaHQga3JhbmsKW0FsbGdlbWVpbjpIYXJdIFdhc3J1bT8gYnJhY3Voc3QgRHUgYWN1aCB3ZWxjaGU/CltBbGxnZW1laW46QWxib2luXSBkaWUgbWlzc2lvbmFyc3N0ZWxsdW5nPwpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGVuZ3ksIGtsYXIgd2lsbCBpY2gsIGFiZXIgbmljaHQgbWl0IGRpcgpbQWxsZ2VtZWluOlJ4dGVjaF0gYWxzbyBtaXNzaW9uYXIgd2lyZCBuaWNoIGdlaG4KW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBqdXBwCltBbGxnZW1laW46RW5neXd1Y2tdIEhhYiBpY2ggYXVjaCBuaWNodCBhbmdlbm9tbWVuLCBSdWRpIDspCkFiZXIuLi5EdSBiaXN0CltBbGxnZW1laW46RW5neXd1Y2tdIGRvY2ggZ2FybmljaHQgdmVyaGVpcmF0ZXQgb2Rlcj8KW0FsbGdlbWVpbjpSeHRlY2hdIHdpZSBpc3NldCBkZW5uIGVpbmZhY2ggc28gYWxzIGRhdWVybHV0c2NoZXI/CltBbGxnZW1laW46UnVkaXJhdHRlcl0gYmVpZGUgYmVpbmUga2FwdXR0LCByZWNodGUgc2NodWx0ZXIsCmxpbmtlZXIKW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBvYmVyc2NoZW5rZWwsIGFsc286IGxhc3N0IGV1Y2ggd2FzCmVpbmZhbGxlbgpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBDdW5uaWxpbmd1cz8KW0FsbGdlbWVpbjpHdWxkdWthdF0gd2FzIGhhc3QgZHUgZGVubiBhbmdlc3RlbGx0LCBydWRpCltBbGxnZW1laW46R3VsZHVrYXRdIG9kZXIgaXN0IGRhcyBiZWltIHNleCBwYXNzaWVydD8KW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBub2UsIHVuZCBkZXIgYXpydCBtZWludGUsIG1pdCBkZW4KYmVpbmVuIHd1ZXJkIGljaApbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGpldHp0IGF1Y2gga2VpbmVuIG1laHIgYWJrcmllZ2VuCltBbGxnZW1laW46Unh0ZWNoXSBzaWUgaGF0cyBtaXQgZW5neSBnZXRyaWViZW4KW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSByeCwgaWNoIGhhYiBkb2NoIGtldWluZSBwaWNrZWwKW0FsbGdlbWVpbjpab3Jyb10gSHVodQpbQWxsZ2VtZWluOkJpZ2Zvb3QgaGF0IGVycyBtYWwgcHJvYmllcnQ/XQpbQWxsZ2VtZWluOkd1bGR1a2F0XSBoZXlhIGJsYXV3ZWlzc2VyIFJlaXRlcgpbQWxsZ2VtZWluOkZhbnRhYm95XSBodWh1IHpvcnJvLCBhbHRlciBwb255cmVpdGVyCltBbGxnZW1laW46R29MdU1dIGhpIFpvcnJvCltBbGxnZW1laW46SHVlcGZlcl0gaHVodSB6b3JybwpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBBbHNvIGljaCB3dWVyZCBDdW5uaWxpbmd1cyBlbXBmZWhsZW4uLi4KW0FsbGdlbWVpbjpBbGluZV0gTWFobHplaXQKW0FsbGdlbWVpbjpHb0x1TV0gaGkgQWxpbmUKQWxpbmUgcnVmdDogUlVVVVVVVURERERERERESUlJSUlJSQpbQWxsZ2VtZWluOlpvcnJvXSBmYW50YSBiZXJlaXQgenVtIHF1ZXN0ZW4KW0FsbGdlbWVpbjpSeHRlY2hdIGRpZSBudSB3aWVkZXIgOigoCltBbGxnZW1laW46RmFudGFib3ldIGphIGJlaSBkZWluZXIgbGFuZ2VuIHp1bmdlIGVuZ3kKW0FsbGdlbWVpbjpSdWRpcmF0dGVyIGdyaW5zdC5dCltBbGxnZW1laW46QWxpbmVdIEloaGhoaCBkZXIgbWl0IGRlciBCbGFzZW5zY2h3YWVjaGUKW0FsbGdlbWVpbjpGYW50YWJveV0gbm9lCltBbGxnZW1laW46RW5neXd1Y2tdIERvY2ggbmljaHQgSUNIIG1pdCBSdWRpISAqc2NodWV0dGVsKgpbQWxsZ2VtZWluOkhhcl0gSWNoIHd1ZXJkZSBzYWdlbiBlaW5lIEhhZW1nZW1hdHRlLCBxdWVyCnJlaW5sZWdlbiB1bmQgZGllCltBbGxnZW1laW46SGFyXSBiZWluZSBtaXQgendlaSBzZWlsZW4gYW5nZXdpbmtlbHQgYW4gZGVyCkRlY2tlIGhvY2hiaW5kZW4sCltBbGxnZW1laW46SGFyXSBkYW5uIG11ZXNzdGUgbWFuIHJhbmtvbW1lbiBrb2VubmVuLCBSdWRpIDopCltBbGxnZW1laW46QWxpbmUgZ3JpbnN0IFJ4dGVjaCBhbl0KW0FsbGdlbWVpbjpSeHRlY2hdIHdpZXNvIHNjaHdhZWNoZSwgd2FyIGRpciB6dSB3ZW5pZyBkcnVjawpkYWhnaW50ZXI/CltBbGxnZW1laW46UGFyYWNlbHN1c10gSXMgamEgcmljaHRpZyB2b2xsIGluIEJvY2h1bQpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXIgc2NocmVpdCB2b3J0IExhY2hlbi5dCltBbGxnZW1laW46UnVkaXJhdHRlcl0gaGFyLCBpc3QgZG9jIG5peCBtaXQgYW53aW5rZWxuIGJlaSBtaXIKW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBnZWh0IGRvY2ggbmNpaHQKW0FsbGdlbWVpbjpIYXJdIGdlc3RyZWNrZSBob2NoYmluZGVuPwpbQWxsZ2VtZWluOlJ4dGVjaF0gZGFubiByb2xsIGRpY2ggYXVmIGRpZSBzZWl0ZSB1bmQKW0FsbGdlbWVpbjpIYXJdIG9kZXIgU2VpdGVubGFnZSEKW0FsbGdlbWVpbjpSeHRlY2hdIGJyYXVjaCBkZXIgc2l6IGF1Y2ggbmljaCBiZWkgenUgbGFlY2hlbG4KW0FsbGdlbWVpbjpFbmd5d3Vja10gQW5nZWJsaWNoIGtvZW5uZW4gYXVjaCBkaWUgT2hybGFlcHBjaGVuCnNvIHN0aW11bGllcnQKW0FsbGdlbWVpbjpFbmd5d3Vja10gd2VyZGVuLCBkYXNzIGVzIHp1IGVpbmVtIE9yZ2FzbXVzIHJlaWNodC4uLgpbQWxsZ2VtZWluOkJvQm9dIG1vaW4gbW9pbgpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGhtLCBkYW5uIGthbm5zdGUgZGlyIGdsZWljaCBuZSBwdXBwZQpuZWhtZW4sIGRpZSBzaWNoCltBbGxnZW1laW46UnVkaXJhdHRlcl0gbmNpaHQgYmV3ZWd0CltBbGxnZW1laW46R29MdU1dIGhtIHRob3Jzb24gdW5kIEFiYmEgc2luZCBqZXR6dCBzY2hvbiBmYXN0CjE0IEggTmV0enRvdCBpbgpbQWxsZ2VtZWluOkdvTHVNXSBkZXIgR2lsZGUgIT8/PwpbQWxsZ2VtZWluOkhhcl0gQmFjdWxhZ2UgbWl0IGVpbmVtIEtpc3NlbiBkcnVudGVyIHNvIGRhc3MKbWFuIHNpY2ggYmVzc2VyIGRlbQpbQWxsZ2VtZWluOkhhcl0gUGFydG5lciBkYXJiaWV0ZW4ga2Fubj8KUnVkaXJhdHRlciBydWZ0OiBCT09PT09PT09CT09PT09PTwpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGljaCBrYW5uIG5pY2h0IGF1ZiBkZXIgc2VpdGUgbGllZ2VuCltBbGxnZW1laW46R29MdU1dIGhtIHRob3Jzb24gdW5kIEFiYmEgc2luZCBqZXR6dCBzY2hvbiBmYXN0CjE0IEggTmV0enRvdCBpbgpbQWxsZ2VtZWluOkdvTHVNXSBkZXIgR2lsZGUgIT8/PwpbQWxsZ2VtZWluOkhhcl0gSWNoIG1laW50ZSBCYWN1aGxhZ2UKW0FsbGdlbWVpbjpCb0JvXSBodWNoPyB3ZXIga2l0emVsdCBtaWNoIGRhPwpbQWxsZ2VtZWluOkFsaW5lXSBTYWcgbWFsIEVuZ3kgZGFyZiBtYW4gc293YXMgdWViZXJoYXVwdApub2NoIHdlbm4gbWFuCltBbGxnZW1laW46QWxpbmVdIHNjaHdhbmdlciBpc3Q/CltBbGxnZW1laW46UnVkaXJhdHRlciBrbnV0c2NodCBCb0JvIGFiLl0KW0FsbGdlbWVpbjpFbmd5d3Vja10gSG0uLi5NYXN0dXJiYXRpb24/IE9kZXIgc2luZCBkaWUgRmluZ2VyCmF1Y2ggZWluZ2VnaWJzdD8KQm9ibyBydWZ0OiBSUlJSUlJSUlVVVVVVVURESUlJSUlJSUkhCltBbGxnZW1laW46QWxib2luIGxhY2h0IHVlYmVyIEVuZ3ldCltBbGxnZW1laW46UnVkaXJhdHRlcl0gZXMgZ2luZyB1bSBzdGVsbHVuZ2VuLCBuaWNodCB1bXMKYXVzd2VpY2hlbgpbQWxsZ2VtZWluOlJvYWRydW5uZXJdIHdlciBoYXQgZGFzIGxhZyBiZXN0ZWxsdApbQWxsZ2VtZWluOkFsaW5lXSBTYWcgbWFsIFJ4LCBrcmllZyBpY2ggd2llZGVyIHNvIGVpbmUKc2Nob2VuZW4gS251ZGRsZXI/CltBbGxnZW1laW46Qm9CbyBodWVwZnQgbWl0IEhlaWxnZXNhZW5nZW4gd2llIGVpbiBNZWRpemlubWFubgpiZXRvZXJlbmQgdW0KUnVkaSBoZXJ1bV0KW0FsbGdlbWVpbjpJbmVsdWtpXSB3ZWxjaGVzIGxhZz8KW0FsbGdlbWVpbjpDYXR3ZWF6bGVdIEFlaCwgaWNoIGZpbmRlLCBkYXMgZGllc2UgaG9jaGdlaXN0aWdlCktudmVyc2F0aW9uCltBbGxnZW1laW46Q2F0d2VhemxlXSBtaXRnZWxvZ2d0IHdlcmRlbiBzb2xsdGUgOikKW0FsbGdlbWVpbjpFbmd5d3Vja10gV2llIGJyZWl0IGtyaWVnc3QgRHUgZGllIEJlaW5lIGRlbm4/CltBbGxnZW1laW46UnVkaXJhdHRlciBncmluc3QuXQpbQWxsZ2VtZWluOkdvTHVNIGdyaW5zdCBDYXR3ZWF6bGUgYW5dCi1hJ2ljaCBMT0dHRSBkaWVzZSBob2NoZ2Vpc3RpZ2Uga29udmVyc2F0aW9uIGJlcmVpdHMgbWl0LgpbQWxsZ2VtZWluOlJvY2h1c10gaWNoIExPR0dFIGRpZXNlIGhvY2hnZWlzdGlnZSBrb252ZXJzYXRpb24KYmVyZWl0cyBtaXQuCltBbGxnZW1laW46Q2FyYW1vbl0gd2Vpc3MgamVtYW5kIHZvbiBldWNoLCB3byBtYW4gcGl0c2NoCmZpbmRldCAoYXVmIHRpdGl3dSk/CltBbGxnZW1laW46UnVkaXJhdHRlciBlcnJvZXRldC5dCltBbGxnZW1laW46UnVkaXJhdHRlciB3ZWlzcyBnYXIgbmljaHQsIHdpZSBzbyB3YXMgZHJlZGtpZ2VzCmdlaHQuXQpbQWxsZ2VtZWluOlNpbHZhbmEgZW1wZmllbHQgZWluZSBHaXBzc2FlZ2UuXQpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXIgemllaHQgaWhyIEJ1ZXNzZXJoZW1kIGFuLl0KW0FsbGdlbWVpbjpSeHRlY2hdIGhhYiBpY2ggd2FzIHZlcnBhc3N0PyB3YXIgZ3JhZCB3ZWcKW0FsbGdlbWVpbjpFbmd5d3Vja10gU08gZWluZXIgaXMgUm9jaHVzIGFsc28uLi4KW0FsbGdlbWVpbjpSdWRpcmF0dGVyIGJldGV0IGVpbiBBdmUgTWFyaWEuXQpbQWxsZ2VtZWluOkFsaW5lXSBTY2hsaW1tZXIgYWxzIGRpZSBVbnRlcmhhbHR1bmcgdWViZXIKU2Nod2FuZ2Vyc2NoYWZ0ZW4ga2FubgpbQWxsZ2VtZWluOkFsaW5lXSBlcyBuaWNodCB3ZXJkZW4KW0FsbGdlbWVpbjpHdWxkdWthdF0gdmllbGxlaWNodCBzb2xsdGUgcnVkaSBqZXR6dCB3aXJrbGljaAppbnMga2xvc3RlciBnZWhlbgpbQWxsZ2VtZWluOkdvTHVNXSBtZWluc3QgRHUgLi4gPwpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIElDSCBVTkQgS0xPU1RFUgpbQWxsZ2VtZWluOkJvQm8gd2lyZCBSdWRpIG9obmUgZWluZSBlaW56aWdlIEJlcnVlaHJ1bmcgaW4KZWluZW4gYW5nZW5laG1lbgpUcmFuY2V6dXN0YW5kIHZlcnNldHplbi4uLl0KW0FsbGdlbWVpbjpSdWRpcmF0dGVyIHNjaHJlaXQgbGF1dC5dCkdvdk1hcmxleSBydWZ0OiBydXV1dXV1dXV1dXV1dXV1dXV1dXV1dXVkaQpbQWxsZ2VtZWluOkJpZ2Zvb3QgZGFzIGthbm4gbWFuIGtlaW5lbSBLbG9zdGVyIGFudHVuXQpbQWxsZ2VtZWluOkd1bGR1a2F0XSBuaWNrZSBydWRpcmF0dGVyIHp1LCBkYSB3aXJzdCBkdQp3ZW5pZ3N0ZW5zIGVyem9nZW4gOykKW0FsbGdlbWVpbjpSeHRlY2hdIHdlbm4gZHUgZGEgYmllciBicmF1c3QgcnVkaSwgYmVzdWNoIGljaCBkaWNoClJ1ZGlyYXR0ZXIgcnVmdDogR1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWQpbQWxsZ2VtZWluOkFsaW5lXSBXaWVzbyBLbG9zdGVyIGljaCBkZW5rZSBkaWUga29tbXQgZXJzdApnZXJhZGUgYXVzIGRlbQpbQWxsZ2VtZWluOkFsaW5lXSBLcmFua2VuaGF1cz8KW0FsbGdlbWVpbjpGYW50YWJveV0gbmEgZGFubiByZWljaHQgdmllbGxlaWNodCBuZSBrYWx0ZSBkdXNjaGUKW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBqYSwgbmFodGxvcyB2b20ga3JraCBpbnMga2xvc3RlcgpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGRhIGxpZWZlbiBqYSBlaCBudXIgc2Nod2VzdGVybiBydW0KW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSB1bmQgZWluIGdlaWxlciBhcnp0CltBbGxnZW1laW46Qm9Cb10ga2xhciBydWRpLCB3YWVyIGRhcyBuaXggZnVlciBEaWNoPyBJbQpLbG9zdGVyIE1vZW5jaGUgYmFkZW4KW0FsbGdlbWVpbjpCb0JvXSBnZWhlbj8KW0FsbGdlbWVpbjpHb3ZNYXJsZXldIGljaCBnZWggbWl0Li46KQpbQWxsZ2VtZWluOkFsaW5lXSBVaWlpIGRlbiBoYWIgaWNoIHZlcnBhc3N0CltBbGxnZW1laW46UnVkaXJhdHRlcl0gb2hqYQpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIG1pdCBnZWlsZW4ga3V0dGVuCltBbGxnZW1laW46QWxib2luXSB3YXMgaXN0IG51biB1ZWJlcmhhdXB0IHBhc3NpZXJ0ClJ1ZGk/d2Fyc3QgZHUgaW0ga2xvc3RlcgpbQWxsZ2VtZWluOkFsYm9pbl0gdW5kIGhhc3QgZGljaCBtaXQgZGVtIGFidCBnZWJhbGd0PwpbQWxsZ2VtZWluOkdvdk1hcmxleSB3aXJkIE5vbm5lLl0KW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBicnVlZGVyLCBtYW4gcnVmdCB1bnMKW0FsbGdlbWVpbjpSeHRlY2hdIGRlciBhcnp0IHdhciBzbyBnZWlsLCBkZXIgaGF0IHNvZ2FyIG1pY2gKYW5nZWdyYWJlbiA6KSkKW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBkdSBsdWVnc3QKR3V5YnJ1c2ggcnVmdDoKUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSdWRpISEhISEhISEhMQpSdWRpcmF0dGVyIHJ1ZnQ6IEdVVVVVVVVVVVVVWUdVVVVVVVVVVVVVVVkKW0FsbGdlbWVpbjpBbGluZV0gSWhoaCBkYW5uIHdhciBkZXIgTm90Z2VpbCwgd2VubiBkZXIgc2ljaApzb2dhciBhbiBSeApbQWxsZ2VtZWluOkFsaW5lXSByYW5nZXRyYXV0IGhhdApbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIGRlciBhcnp0IGhhdHRlIGllbmVuIGdlaWxlbiBncm9zc2VuCnRhbm5lbnphcGZlbgpbQWxsZ2VtZWluOlJ4dGVjaF0gdW5kIHdhciBlaWdlbnRsaWNoIGVpbiB3YWxkbWVpc3RlcgpbQWxsZ2VtZWluOkd1eWJydXNoXSBpY2ggc2l0emUgaGllciBhbGxlaW4sIG1pdCBtZWluZW0KZ3Jvc3NlbiBnZWlsZW4KW0FsbGdlbWVpbjpHdXlicnVzaF0gVGFubmVuemFwZmVuLi4uLgpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBSdWRpLCBSb2NodXMgbG9nZ3QgbWl0Li4uCltBbGxnZW1laW46UnVkaXJhdHRlcl0gZWJlbgpbQWxsZ2VtZWluOkFsaW5lIGhhdXQgR3V5YnJ1c2ggZWluZSBydW50ZXJdCltBbGxnZW1laW46UnVkaXJhdHRlcl0gaWNoIHNpdHplIGhpZXIgbWl0IGVpbmVtIGdlaWxlbgpncm9zc2VuIHRhbm5lbnphcGZlbiwKW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSB1bmQgd2Vpc3N0IGR1LCB3YXMgaWNoIGdsZWljaCBkYW1pdCBtYWNoZQpbQWxsZ2VtZWluOkFsaW5lIGhhdXQgR3V5YnJ1c2ggZWluZSBydW50ZXJdCltBbGxnZW1laW46UnVkaXJhdHRlcl0gaWNoIHNpdHplIGhpZXIgbWl0IGVpbmVtIGdlaWxlbgpncm9zc2VuIHRhbm5lbnphcGZlbiwKW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSB1bmQgd2Vpc3N0IGR1LCB3YXMgaWNoIGdsZWljaCBkYW1pdCBtYWNoZQpbQWxsZ2VtZWluOkd1eWJydXNoXSBnbGVpY2ggbmltbSBpY2ggbWVpbmVuIGdyb3NzZW4gZ2VsaWVuClRhbm5lbnphcGZlbgpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBJY2ggaGFiIGdlaG9lcnQsIGRhc3MgTWFpc2tvbGJlbiBkYQpzZWhyIGVmZmVrdGl2IHNlaW4KW0FsbGdlbWVpbjpFbmd5d3Vja10gc29sbGVuLi4uCltBbGxnZW1laW46Unh0ZWNoXSBzY2hpY2sgaWhuIGFsaW5lIG1pdCBkZXIgcG9zdCwgZ3V5CltBbGxnZW1laW46U2lsdmFuYV0gSWhuIGF1ZnMgRmVuc3RlcmJyZXR0IHN0ZWxsZW4sIFJ1ZGk/IDspCltBbGxnZW1laW46UnVkaXJhdHRlcl0gdW5kIHNwcnVkZWxmbGFzY2hlbiBtaXQgbm9wcGVuCltBbGxnZW1laW46RW5neXd1Y2tdIE9oLCBkYXNzIG11c3MgaXhjaCBtYWwgYXVzcHJvYmllcmVuLi4uCltBbGxnZW1laW46QWxpbmVdIFdpZXNvIFJ4LCBtZWluc3RlIEd1eSB3ZWlzcyBlaCBuaXggbWl0CmFuenVmYW5nZT8KW0FsbGdlbWVpbjpSdWRpcmF0dGVyXSBkYSBtdXNzIG1hbiBzaWNoIG51ciB2b3IgZGVtIHZha3V1bQpodWV0ZW4KW0FsbGdlbWVpbjpHb3ZNYXJsZXldIHVuZCB3ZXJmIGlobiBpbnMgS2FtaW5mZXVlcgpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXJdIG9kZXIgZGVuIGtyYXR6aWdlbiB2ZXJzY2hsdXNzIGRyYXVmbGFzc2VuCltBbGxnZW1laW46R3V5YnJ1c2hdIGFyZ2wKW0FsbGdlbWVpbjpSeHRlY2hdIG5vZSwgYWJlciBkdSBzY2hlaW5zdCBqYSBzY2hhcmYgZHJhdWYgenUgc2VpbgpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBPZGVyIGFtIGFuZGVybiBlbmRlIGVpbiBMb2NoIHJlaW5zY2hsYWdlbj8KW0FsbGdlbWVpbjpEd2lnaHRdIEhvbGxhIDopCltBbGxnZW1laW46QWxpbmVdIE51ciB3ZWlsIER1IGVpbmVuIEtyb2Igdm9uIG1pciBrcmllZ3N0LApicmF1Y2hzdGUgbmljaHQKW0FsbGdlbWVpbjpBbGluZV0gbmVpZGlzY2ggenUgc2VpbiwgUnghCltBbGxnZW1laW46UnVkaXJhdHRlcl0gUlggTklNTSBNSUNICltBbGxnZW1laW46Unh0ZWNoIHdpbGwgYXVjaCBuZW4gS3JvYl0KW0FsbGdlbWVpbjpTaWx2YW5hXSBTZWt0Zmxhc2NoZW4gc29sbGVuIGF1Y2ggYmVsaWVidCBzZWluIC0KbW9lZ2xpY2hzdCBPSE5FCltBbGxnZW1laW46U2lsdmFuYV0gSW5oYWx0Li4uCltBbGxnZW1laW46Qm9Cb10gZWluZW4gS29yYj8gVm9sbCBCbHVldGVuPyBBdWZndXNzPwpbQWxsZ2VtZWluOlJ4dGVjaF0gYWVoIHJ1ZGkgYWxzbyBkYXMgaXMgc28sIGR1IHdlaXNzdCBkb2NoCmFlaCwgZGllCltBbGxnZW1laW46Unh0ZWNoXSBhdXNzY2hhZWx1bmcKW0FsbGdlbWVpbjpBbGluZV0gSG1tbSBtYW5jaG1hbCBoYWIgaWNoIGJlaSBSeCBkZW4gRWluZHJ1Y2sKYWxzIGhhZXR0ZW4gc2llCltBbGxnZW1laW46QWxpbmVdIGRlbiBLb3BmIGF1c2dlc2NoYWVsdDspCltBbGxnZW1laW46QWxib2luXSBhbHNvIHVucyBoYXQgbWFsIGRpZSBCaW9sZWhyZXJpbiBlcnphZWhsdApkYXMgbmUgRnJhdSB6dW0KW0FsbGdlbWVpbjpBbGJvaW5dIEZyYXVlbmFyenQga2FtIG1pdCBuZXIgR2x1ZWhiaXJuZQpkcmlubi1uaWNodCBuZSBrbGVpbmUKW0FsbGdlbWVpbjpBbGJvaW5dIHNvbmRlcm4gbmUgcmljaHRpZ2UgZ3Jvc3NlICgxMDAgVykKW0FsbGdlbWVpbjpSeHRlY2hdIGhleSwgbWVpbiBrb3BmIGlzdCBtZWluIHp3ZWl0bGllYnN0ZXMKa29lcnBlcnRlaWwKW0FsbGdlbWVpbjpFbmd5d3Vja10gTGV1Y2h0ZW5kPwpbQWxsZ2VtZWluOlJ1ZGlyYXR0ZXIgc3VlaG50IGFsbGUgU3VlbmRlbiB1bmQgbWFnIGpldHp0CmtlaW5lbiBTY2h3ZWluZWtyYW0KbWVoci5dCltBbGxnZW1laW46R29MdU1dIG5hamEgc2NobGltbWVyIGlzdCBuZSBTZWt0Zmxhc2NoZSBkaWUgZWluClZha3V1bSBnZWJpbGRldApbQWxsZ2VtZWluOkdvTHVNXSBoYXQgOykpCltBbGxnZW1laW46Unh0ZWNoXSBydWRpIGlzcyBrcmFuaywgcnggbWFjaHQgc2ljaCBzb3JnZW4KW0FsbGdlbWVpbjpFbmd5d3Vja10gS2VpbmUgU3BydWRlbGZsYXNjaGVuIG1laHI/CltBbGxnZW1laW46U2lsdmFuYSBnbGF1YnQgUnVkaSBrZWluIFdvcnQuXQpbQWxsZ2VtZWluOkdvdk1hcmxleV0gU2lsdmFuYSwgd2FzIGlzIGRlbm4gZGFzIGZ1ZXIgZWluCmJsb2VkZXMgUmFldHNlbCBoaWVyPwpbQWxsZ2VtZWluOkdvTHVNXSBkaWUgbXVzc3RlIG1hbiBkYW5uIG5hZW1saWNoIHplcnNjaGxhZ2VuCi4uLiB1bmQgZGFzIGlzdApbQWxsZ2VtZWluOkdvTHVNXSBzZWhyIHNlaHIgZ2VmYWVocmxpY2gKW0FsbGdlbWVpbjpSdWRpcmF0dGVyIGdlaHQgamV0enQgd2llZGU0ciBpbnMgQmV0dC5dCltBbGxnZW1laW46UnVkaXJhdHRlcl0gdHNjaHVlc3MKW0FsbGdlbWVpbjpIYXJdIFR1ZXNzIQpbQWxsZ2VtZWluOlJ4dGVjaF0gamFqYSBydWRpLCBpY2gga29tbSBqYSBzY2hvbgpbQWxsZ2VtZWluOkd1eWJydXNoXSBzY2hsYWYgaHV0IDopCltBbGxnZW1laW46RWxCeXRlXSBieWUgUnVkaQpbQWxsZ2VtZWluOkd1eWJydXNoXSBhZWggZ3V0CltBbGxnZW1laW46UGFyYWNlbHN1c10gVHNjaG9lIFJ1ZGkKW0FsbGdlbWVpbjpHb0x1TV0gdHNjaHVlc3NsaWUgcnVkaQpya251ZGRlbCBydWRpcmF0dGVyCkR1IGtudWRkZWxzdCBSdWRpcmF0dGVyIGF1cyBkZXIgRmVybmUuClJ1ZGlyYXR0ZXIgd2lua3QgRGlyIHp1bSBBYnNjaGllZCBhdXMgZGVyIEZlcm5lIHp1LgpbQWxsZ2VtZWluOkFsYm9pbl0gdW5kIGtvbW10IGpldHp0IGFsbGVzIGF1ZiBzY2htYXJybiAsUm9jaHVzPwp0ZWlsZSBydWRpcmF0dGVyIG1pdCB3YXMgZGFnZWdlbiB3ZW5uIGRhcyBhbHMgYXJ0aWtlbCBpbgpzY2htYXJybiBlcnNjaGVpbnQ/CkR1IHRlaWxzdCBSdWRpcmF0dGVyIG1pdDogd2FzIGRhZ2VnZW4gd2VubiBkYXMgYWxzIGFydGlrZWwKaW4gc2NobWFycm4KRHUgdGVpbHN0IFJ1ZGlyYXR0ZXIgbWl0OiBlcnNjaGVpbnQ/ClJ1ZGlyYXR0ZXIgdGVpbHQgRGlyIG1pdDogbm9lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChSb2NodXMsICA0LiBPa3QgMjAwMSwgMjI6MjE6MDQpOgp+IyEgcm49U2VtaXJhIHJ0PTEwMDIxOTcyMjQgcmc9cGFydHkKfiMhIHRpZD0xMDAxOTU3NzczClVuZCBhdWNoIG5vY2ggIlNleCwgR3Vya2VuIHVuZCBWaWRlbyI6CgpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBIYWIgbml4IHp1IHR1bi4uLiBXZWlzcyBqZW1hbmQgZWluIHBhYXIgc2V4aXN0aXNjaGUgdW5kDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBGcmF1ZW5mZWluZGxpY2hlIFNlaXRlbiBpbSBXV1cgPw0KW0FsbGdlbWVpbjpFc2N1YmFyXSBQbGF5Ym95LmNvbQ0KPiBbQWxsZ2VtZWluOlphcmRveiBncmluc3QgRW5neXd1Y2sgYW5dDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBQbGF5Ym95LmNvbSBpc3QgaGFybWxvcyB1bmQgdG9lZGxpY2ggbGFuZ3NhbS4NCltBbGxnZW1laW46QWxpbmVdIERpZSBVcmwgdm9tIFBsYXlib3kgbXVlc3N0ZXN0IER1IGRvY2ggYXVzd2VuZGlnIHdpc3NlbiwNCltBbGxnZW1laW46QWxpbmVdIEVuZ3khIQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEljaCBoYWIgbWVpbmVuIEJlYXRoZS1VaHNlLUthdGFsb2cgYmVrb21tZW4hDQpbQWxsZ2VtZWluOkFsaW5lXSBVbmQgZGllIHZvbiBQZW50aG91c2UgYXVjaCENCltBbGxnZW1laW46R3JpbW1ib3JuXSBTb3dhcyB2b24gdHJhdXJpZy4uLiA6LSgNCltBbGxnZW1laW46RW5neXd1Y2tdIEFsaW5lLCBzZWkgbmljaHQgdnJlY2gsIHNvbnN0IHBvc3RlIGljaCBkYXMgQmlsZCB2b24NCltBbGxnZW1laW46RW5neXd1Y2tdIERpciENCj4gW0FiZW50ZXVlcjpFc2N1YmFyXSBEYW5uIGdpYnRzIGRpZSBVZWJlcnNpY2h0IHVlYmVyIGRpZSBTTSBsYWVkZW4uLi4gaXMgYWJlcg0KW0FiZW50ZXVlcjpFc2N1YmFyXSBhdWNoIGxhbmd3ZWlsaWcNCltBbGxnZW1laW46QWxpbmVdIEljaCB3YXIgbGV0enRlbnMgaW4gZWluZW0gTGFkZW4gdm9uIFVucyBCZWF0ZSBkcmluLCBzZWx0ZW4NCltBbGxnZW1laW46QWxpbmVdIHNvIGdlbGFjaHQgKmdyaW5zKg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gQWVoLi4uIGZyZWNoIHNjaHJlaWJ0IG1hbiBuaWNodCBtaXQgdiwgb2Rlcj8gKnNjaGFlbSoNCj4gW0FsbGdlbWVpbjpUeWNvb25dIHVuZCBlaW5nZWthdWZ0IQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEphamEsIG1hbiBrb2VubnRlIGRydWViZXIgbGFjaGVuLCB3ZW5uIGVzIG5pY2h0IHNvDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gdHJhdXJpZyB3YWVyZSwgZGFzIHNvd2FzIHNpY2ggdGF0c2FlY2hsaWNoIHNvIGd1dA0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIHZlcmthdWZ0Lg0KW0FsbGdlbWVpbjpBbGluZV0gTm9lIG5pY2h0cyBnZWthdWZ0LCBkaWUgaGF0dGVuIG51ciBiaWxsaWdlcyBTY2hyb3R0emV1ZyB6dQ0KW0FsbGdlbWVpbjpBbGluZV0gdWViZXJob2VodGVuIFByZWlzZW4NCltBbGxnZW1laW46R3JpbW1ib3JuXSB2cmVjaCBzY2hyZWlidCBtYW4gbWl0IHYsIGZyZWNoIG1pdCBmLiBMb2dpc2NoLg0KW0FsbGdlbWVpbjpBbGluZV0gRGEgZ2lidCBlcyBhbmRlcmUgTGFlZGVuIGRpZSBiZXNzZXIgc29ydGllcnQgc2luZA0KW0FsbGdlbWVpbjpFbmd5d3Vja10gRWluIERpbGRvIGF1cyBQbGFzdGlrIGlzdCBhYmVyIGh5Z2llbmlzY2hlciBhbHMgbmUNCltBbGxnZW1laW46RW5neXd1Y2tdIEd1cmtlLCBBbGluZS4uLg0KPiBbQWxsZ2VtZWluOkxhcmlzc2EgZ3JpbnN0IEdyaW1tYm9ybiBhbiAqcHJ1c3QqXQ0KW0FsbGdlbWVpbjpXYXJnb25dIERhZnVlciBsYWVzc3QgZXIgc2ljaCBuaWNodCBzbyBndXQgcmVjeWNsZW4NCltBbGxnZW1laW46VHljb29uXSBBbGRpIHp1bSBiZWlzcGllbA0KPiBbQWxsZ2VtZWluOkdyaW1tYm9ybl0gSGFiIGphIG5peCBnZWdlbiBzb24gU2Nod2VpbmtyYW0sIGFiZXIgZG9jaCBuaWNodCB1bQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIGplZGVzIHRpZWZlIE5pdmVhdS4NCltBbGxnZW1laW46QWxpbmVdIEphIGFiZXIgd2VubiBkYW5uIHNvbGx0ZSBlciBhdWNoIG5pY2h0IGF1cyBzbyBiaWxsaWdlbg0KW0FsbGdlbWVpbjpBbGluZV0gUGxhc3RpayBzZWluIQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIC4uLnVuZCBhdXMgZGVtIFBsYXN0aWsga2FubiBtYW4gaGludGVyaGVyIGtlaW5lbg0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEd1cmtlbnNhbGF0IG1laHIgbWFjaGVuLg0KW0FsbGdlbWVpbjpBbGluZV0gVW5kIGVyc3QgcmVjaHQgbmljaHQgaW4gTmVvbnBpbms6KA0KW0FsbGdlbWVpbjpHcmltbWJvcm5dICpwcnVzdCogbmEsIGlzdCBkb2NoIG1hbCB3YXMgYW5kZXJlcy4uLg0KW0FsbGdlbWVpbjpKb2ZdIFdpZXNvIG5pY2h0IE5lb25waW5rPyBEdSBzb2xsc3QgaWhuIGphIG5pY2h0IGFuc2NoYXVlbg0KW0FsbGdlbWVpbjpUeWNvb25dIGxlY2tlciENCltBbGxnZW1laW46RW5neXd1Y2tdIFdhcyBoYXN0IER1IGdlZ2VuIE5lb25waW5rZSBEaWxkb3M/IEtvbW10IGVzIG5pY2h0IG1laHINCltBbGxnZW1laW46RW5neXd1Y2tdIGF1ZiBkYXMgZnVlaGxlbiBhbj8NCltBbGxnZW1laW46R3JpbW1ib3JuXSBEYXMgQXVnZSBpc3N0IGF1Y2ggbWl0LiBRdWFzaS4uLg0KW0FsbGdlbWVpbjpHdXlicnVzaF0gTmFiZW5kDQpbQWxsZ2VtZWluOkxhcmlzc2FdIEhtbW0uLi5BbGluZSwgbWFjaHN0ZSB6dXIgbmFlc3RlbiBQYXJ0eSBuZW4gU2FsYXQgPyAqbnVyDQpbQWxsZ2VtZWluOkxhcmlzc2FdIGFscyBXYXJudW5nLi4uKg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gRnJhZ3Qgc2ljaCwgd28gQWxpbmUgaWhyIEF1Z2UgaGF0Li4uDQo+IFtBbGxnZW1laW46U2VtaXJhIGZyYWd0IHNpY2gsIG9iIEdyaW1tIERpbGRvcyB3aWUgR3Vya2VuIHZlcndlbmRldC4uLl0NCltBbGxnZW1laW46QWxpbmVdIE5hamEgSm9mIGljaCBzY2hhdSBpaG4gbWlyIGFiZXIgZG9jaCBhbiENCltBbGxnZW1laW46R3JpbW1ib3JuXSBXZWRlciBkYXMgbm9jaCB1bWdla2VocnQsIFNlbWlyYS4gOy0pDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBLYW5uc3QgaWhuIGphIGdhbnogc2NobmVsbCByZWluc2NoaWViZW4sIGRhbm4gc2llaHN0ZQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gaWhuIG5pY2h0Li4uDQo+IFtBbGxnZW1laW46R3JpbW1ib3JuXSBBdXNzZXIgd2VubiBpY2ggc2VociBncm9zc2VuIEh1bmdlciBoYWJlLCBuYXR1ZXJsaWNoLg0KW0FsbGdlbWVpbjpEdXN0eV0gcmVoaQ0KW0FsbGdlbWVpbjpBbGluZV0gV2FzIHNvbGwgZGFzIERpbmcgZHJpbj8NCltBbGxnZW1laW46R3V5YnJ1c2hdIG1pciBzY2hlaW50LCBkaWUgZGlza3Vzc2lvbiBoYXQgd2llZGVyIG1hbCBlaW4NCltBbGxnZW1laW46R3V5YnJ1c2hdIGJlc3RpbW10ZXMgbml2ZWF1IGVycmVpY2h0DQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gU2NobmVsbD8gU293YXMgZ2Vob2VydCBkb2NoIHNvd2llc28gaW5zIGR1bmtsZSBaaW1tZXIuDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBzbywgZGFzcyBkaWUgZW1hbnplIGF1Y2ggbWl0cmVkZW4ga2FubiA6KQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gTWlyIHNjaGVpbnQsIGljaCBtdXNzIG1hbCB3aWVkZXIgbWl0bG9nZ2VuIDspDQo+IFtBbGxnZW1laW46QWxpbmVdIEljaCBkYWNodGUgZGFzIGJlbnV0enQgbWFuIGVoZXIgbWl0IHJlaW4scmF1cyB1bmQgc28hISENCltBbGxnZW1laW46R3JpbW1ib3JuXSBKYSwgYWJlciBsZWlkZXIgZmVobHQgWnVlcmksIEd1eS4NCltBbGxnZW1laW46R3JpbW1ib3JuXSBLZWluZSBBaG51bmcsIEFsaW5lLCBoYWIgc293YXMgbm9jaCBuaWUgYmVudXR6dC4NCltBbGxnZW1laW46RW5neXd1Y2tdIFVudGVyIGRlciBEZWNrZSBzaWVoc3RlIGRpZSBGYXJiZSBhdWNoIG5pY2h0Li4uDQo+IFtBbGxnZW1laW46U2VtaXJhXSBobS4uLndpZSB3YWVycyBtaXQgZmx1b3Jlc3ppZXJlbmQ/IGRhbm4gbGV1Y2h0ZXRzIHVudGVyDQpbQWxsZ2VtZWluOlNlbWlyYV0gZGVyIGRlY2tlLi4uDQpbQWxsZ2VtZWluOkFsaW5lXSBXZXIgbWFjaHQgc2Nob24gU2V4IHVudGVyIGRlciBEZWNrZSEhISBEb2NoIG51ciBWZXJrbGVtbXRlDQpbQWxsZ2VtZWluOkFsaW5lXSB1bmQgd2VubiBlcyB6dSBrYWx0IGlzdCEhDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSB3ZW5uIGVzIGthbHQgaXN0Li4uIGtsYXINCltBbGxnZW1laW46RW5neXd1Y2tdIGljaCBrZW5uIGRhIEZyYXVlbiwgZGVubmUgaXN0IGVzIF9ncnVuZHNhZXR6bGljaF8genUNCltBbGxnZW1laW46RW5neXd1Y2tdIGthbHQgOykNCj4gW0FsbGdlbWVpbjpTZW1pcmEga2FubiBkYXMgbWl0IGRlbSBrYWx0IGR1cmNoYXVzIG5hY2h2b2xsemllaGVuXQ0KW0FsbGdlbWVpbjpBbGluZV0gSGV5IGRlciBNZW5zY2ggaXN0IGVpbiBBdWdlbmZpeGllcnRlcyBUaWVyLCB3YXJ1bSBzb2xsIG1hbg0KW0FsbGdlbWVpbjpBbGluZV0gU2V4IG5pY2h0IGF1Y2ggdmlzdWVsbCBnZW5pZXNzZW4/DQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gS2xhciwgZGllIEFyYmVpdCBoYWJlbiBqYSBpbSBFbmRlZmZla3QgYXVjaCBkaWUNCltBbGxnZW1laW46R3JpbW1ib3JuXSBNYWVubmVyLg0KW0FsbGdlbWVpbjpUb3JlbmVdIERpZXNlcyBhbHRlIEdlcnVlY2h0IHNjaG9uIHdpZWRlciENCltBbGxnZW1laW46RHVzdHkgZGVua3QgLiBvIE8gKG1hZW5uZXJzLi4uLildDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gV2FlaHJlbmQgZGllIEZyYXVlbiBzaWNoIG5vY2ggZGF6dSBlaWdlbnRsaWNoIHZvbiBvYmVuDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gd2Flcm1lbiBsYXNzZW4uDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBGcmF1ZW4sIGRpZSBiZWkgMjQgR3JhZCBSYXVtdGVtcGVyYXR1ciB1bnRlciAyIGRpY2tlbg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gRGVja2VuIGxpZWdlbmQgbmFjaCBlaW5lciBXYWVybWZsYXNjaGUgcnVmZW4uLi4NCj4gW0FsbGdlbWVpbjpXb29keSAuIG8gTyAoa2luZGVycyldDQpbQWxsZ2VtZWluOlNlbWlyYV0gc29sbGVuIGRpZSBtYWVubmVyIGRvY2ggYXVjaCBtYWwgYXJiZWl0ZW4uLi4NCltBbGxnZW1laW46VG9yZW5lXSBVbmQgd2FzIGlzdCBtaXQgZGVtIE1vcmRzZ2V3aWNodCwgZGFzIG1hbiBhdWYgc2ljaA0KW0FsbGdlbWVpbjpUb3JlbmVdIGF1c2hhbHRlbiBtdXNzPw0KW0FsbGdlbWVpbjpBbGluZV0gRGVzd2VnZW4gbXVzcyBtYW4gTWFlbm5lciBpbW1lciBlcnN0IGxhbmdlIHp1IFNleA0KW0FsbGdlbWVpbjpBbGluZV0gdWViZXJyZWRlbiwgd2VpbCBlcyBzb3ZpZWwgQXJiZWl0IGlzdD8gOykNCltBbGxnZW1laW46U2VtaXJhIHVlYmVybGVndDogYW0gYmVzdGVuIHNpbmQgenVtIHdhZXJtZW4gMiBtYWVubmVyXQ0KW0FsbGdlbWVpbjpDcmVhdGl2ZSBpc3RuZXQgYWxsenUgc2Nod2VyIDopXQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gTW9yZHNnZXdpY2h0PyBNZWluZSBwYWFyIEtpbG8/Pz8/Pw0KPiBbQWxsZ2VtZWluOkp1cnJ5XSBtaWNoIGJyYXVjaHQgbWFuIG5pZSBsYW5nZSB1ZWJlcmVkZW4gOikNCltBbGxnZW1laW46R3JpbW1ib3JuXSBVZWJlcnJlZGVuPyBUc3RzdHMuLi4NCltBbGxnZW1laW46RW5neXd1Y2tdIG9kZXIgbWVpbnN0IER1IGRlbiBZYW50cm8tRWZmZWt0PyA7KQ0KPiBbQWxsZ2VtZWluOk5lc2FqYSBoYXQgaGllciB3b2hsIGV0d2FzIGVudHNjaGVpZGVuZXMgbmljaHQgbWl0YmVrb21tZW5dDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gRGFzIEtsaXNjaGVlIGlzdCBhYmVyIGFuZGVyc3J1bSwgQWxpbmUuDQpbQWxsZ2VtZWluOlRvcmVuZV0gV2Vpc3MgamEgbmV0ISBXYXMgbWFjaHR6IG1hbiwgd2VuIG1hbiBuZW4gVm9sbHNjaGxhbmtlbg0KW0FsbGdlbWVpbjpUb3JlbmVdIGVyd2lzY2h0IGhhdD8NCltBbGxnZW1laW46RHVzdHkgbXVzdGVydCBFbmd5d3Vjay5dDQpbQWxsZ2VtZWluOkFsaW5lXSBBbHMgRW1hbnplIGlzdCBtYWwgZWggaW1tZXIgb2JlbiEhDQpbQWxsZ2VtZWluOkR1c3R5XSBkZWVlZWVlZWVlZXIgaGF0IG5lbiB5YW50cm8tZWZmZWt0PyA6KQ0KW0FsbGdlbWVpbjpXb29keSByb3RmbGVkIG9obiBzY2hpZSB3dWVjayBhbi5dDQpbQWxsZ2VtZWluOlNlbWlyYSBpc3QgZnJvaCBkYXNzIHNpZSBuaWNodCBlbWFuemUgaXN0XQ0KW0FsbGdlbWVpbjpKdXJyeSBsYWNodCBzaWNoIHNjaGxhcHBdDQpbQWxsZ2VtZWluOkZyb3NjaCBUd2lnZ3kgc3RhdW50IHVlYmVyIGRhcyBHZXNwcmFlY2hzdGhlbWFdDQpbQWxsZ2VtZWluOlRvcmVuZV0gU28sIHdpZSBEYW4gdW5kIFJvc2Vhbm5lIGF1cyBkZXIgZ2xlaWNobmFtaWdlbiBTZXJpZQ0KW0FsbGdlbWVpbjpUb3JlbmVdIChQUk83KS0+U2NobGVpY2h3ZXJidW5nKS4NCltBbGxnZW1laW46SnVycnkgbWFnIGVtYW56ZW5dDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBBZWguLndhcyBoYWJ0IGlociBPZXN0ZXJyZWljaGVyIGpldHp0IHdpZWRlcg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gZmFsc2NodmVyc3RhbmRlbj8NCj4gW0FsbGdlbWVpbjpHcmltbWJvcm5dIEljaCBzYWNoIGltbWVyOiBBbGxlcyB6dSBzZWluZXIgWWVpdC4NCltBbGxnZW1laW46R3JpbW1ib3JuXSAqZmx1Y2gqDQpbQWxsZ2VtZWluOldvb2R5XSB3aXIgdmVyc3RlaGVuIGphIG9obmVoaW4gbmllIHdhcywgb25zY2hpZSA7KQ0KW0FsbGdlbWVpbjpTZW1pcmEgZ2lidCBHcmltbSBlaW4geV0NCltBbGxnZW1laW46RHVzdHldIHllaXQ/DQpbQWxsZ2VtZWluOkR1c3R5XSB3YXMgaXNuIGplIHllaXQ/DQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gVmVyZGFtbXQsIHdpbGwgZWluIGFuZ2Vsc2FlY2hzaXNjaGVzIEtleWJvYXJkLiA6LSgNCltBbGxnZW1laW46QWxpbmUgcm90Zmx0XQ0KW0FsbGdlbWVpbjpUb3JlbmVdIEFsc28uLi4gTmEgamEuDQpbQWxsZ2VtZWluOldvb2R5XSBkYW5uIHd1ZXJkZXN0IGRvY2ggYXVjaCB5ZWl0IHRpcHBlbiA7KQ0KW0FsbGdlbWVpbjpBbGluZV0gQWxzbyB1bnRlciBlaW5lbSBTdGVpbmJlaXNzZXIgdm9uIEJvaW5nIG1vZWNodGUgaWNoIG5pY2h0DQpbQWxsZ2VtZWluOkFsaW5lXSBsaWVnZW4hIQ0KW0FsbGdlbWVpbjpTZW1pcmFdIHdlciB0dXRzIGF1Y2ggbWl0IG5lbSBzdGVpbmJlaXNzZXIuLi4NCltBbGxnZW1laW46RW5neXd1Y2tdIERlciB3YWhyc2NoZWlubGljaCBhdWNoIG5pY2h0IGF1ZiBEaXIgOykNCj4gW0FsbGdlbWVpbjpHcmltbWJvcm5dIE5vZSwgYmVpbSBkZXV0c2NoZW4gbXVzcyBpY2ggYWt0aXYgZHJhbiBkZW5rZW4sIGRhc3MNCltBbGxnZW1laW46R3JpbW1ib3JuXSBpY2ggeSB1bmQgeiBuaWNodCB2ZXJ0YXVzY2hlLCBzb25zdCBnZWh0cyBhdXRvbWF0aXNjaC4NCltBbGxnZW1laW46R3JpbW1ib3JuIGRlciBBdGhlaXN0IG51dHp0IGRpZSBiYWNrc3BhY2UtVGFzdGUgYWIuXQ0KW0FsbGdlbWVpbjpBbGluZV0gQWNoIGJlaSBHcmltbWJvcm4gZ2VodCB3YXMgYXV0b21hdGlzY2g/IDspDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBtYW4gbXVzcyBqYSBuZXQgaW1tZXIgZGllIGZyYXUgdW50ZW4gbWFubiBvYmVuIHN0ZWxsdW5nDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSB0ZXN0ZW4uLi4gZGFubiBmYWVsbHQgZGFzIG1pdCBkZW0gR2V3aWNodCBhdWNoIHdlZyA6KQ0KW0FsbGdlbWVpbjpTZW1pcmEgbmlja3QgQ3JlYXRpdiB6dS4gQ3JlYXRpdmUgaWRlZW4gOildDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gRGFzIG1pdCBkZW0geSB1bmQgZGVtIHosIEFsaW5lLiBPZGVyIHdvcmFuIGRhY2h0ZXN0IER1Pw0KW0FsbGdlbWVpbjpUb3JlbmVdIEphLCBsaWViZXIgYXVmIGRlciBTZWl0ZSwgYXVmcmVjaHQsIHZlcmtlaHJ0IHJ1bT8NCltBbGxnZW1laW46RW5neXd1Y2tdIEViZW4uIEFtIGJlc3RlbiBTZWl0ZSBhbiBTZWl0ZS4NCj4gW0FsbGdlbWVpbjpUb3JlbmVdIEthcm1hc3R1dHJhPz8/DQpbQWxsZ2VtZWluOlRvcmVuZV0gQVJHTCEgS3JhbWFzdXRyYS4NCltBbGxnZW1laW46QWxpbmVdIEFuc2NoZWluZW5kIGtlbm50IEdyaW1tYm9ybiBhYmVyIGtlaW5lIGFuZGVyZSwgQ3JlYXRpdmUhDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBTZWl0ZSBpc3QgbmV0IHNjaGxlY2h0Li4uIHZlcmtlaHJ0IGlzIGF1Y2ggbmV0Li4uIG9kZXINCltBbGxnZW1laW46Q3JlYXRpdmVdIHN0ZWhlbi4NCltBbGxnZW1laW46VG9yZW5lXSBLQVJNQVNVVFJBISEhDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSA6KQ0KW0FsbGdlbWVpbjpTZW1pcmEgZGVua3QgbyBPIEF1dG8uLi4uXQ0KW0FsbGdlbWVpbjpDcmVhdGl2ZSBncmluc3Qgc2VpbmUgRnJhdSBhbl0NCltBbGxnZW1laW46R3JpbW1ib3JuXSBLIGEgbSBhIHMgdSB0IHIgYSBoZWlzc3QgZGFzLg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gTmVlLCBzdGVoZW5kIGlzIHp1IGFuc3RyZW5nZW5kLi4uDQo+IFtBbGxnZW1laW46R3JpbW1ib3JuXSAuLi5hYmVyIG1hY2hlbiBrYW5uIGljaCBkYXMgbWVpc3RlIGRhIGF1Y2ggbmljaHQuIDotKQ0KW0FsbGdlbWVpbjpXb29keSBpc3QgZnVlciBkaWUgRWluZnVlaHJ1bmcgZWluZXMgS2FuYWxzIC10KGllZildDQpbQWxsZ2VtZWluOlRvcmVuZV0gTWVya2U6IE5pZSBhdWYgZWluZW0gU2NoaWZmIGluIExhZW5zcG9zaXRpb24sIHdlbm4gZGVyDQpbQWxsZ2VtZWluOlRvcmVuZV0gS2FobiBlaW5lIExhZW5nZSB2b24gNSBNZXRlcm4gdW50ZXJzY2hyZWl0ZXQuLi4NCltBbGxnZW1laW46UmFmZmldIENyZWF0aXZlIC0gc3RlaGVuIGlzdCBkb2NoIHZvcmF1c3NldHp1bmcNCltBbGxnZW1laW46QWxpbmVdIFN0ZWhlbiBpc3QgbmljaHQgenUgYW5zdHJlbmdlbiEhDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBFbmd5LCB3YXMgaXMgZGVubiBmdWVyIERpY2ggbmV0IGFuc3RyZW5nZW5kICpzbWlsZSoNCltBbGxnZW1laW46RW5neXd1Y2tdIEljaCBiaW4gaGFsdCBzYWZ0LSB1bmQga3JhZnRsb3MgOykNCj4gW0FsbGdlbWVpbjpUb3JlbmVdIFVuZCBuaWUgaW4gZGVyIEJhZGV3YW5lIQ0KW0FsbGdlbWVpbjpTZW1pcmEgZXJpbm5lcnQgc2ljaCBoZWRvbmlzdGlzY2ggbGFlY2hlbG5kIGFuIGlocmUNCkhvY2h6ZWl0c25hY2h0XQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEhtbSwgc3RlaGVuZCBoYXQgd2llZGVyIHdhcyBtaXQgR3JvZXNzZW51bnRlcnNjaGllZGVuDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0genUgdHVuLCBkYSBoYWIgaWNoIG1pdCAxODMgY20gbmUgTmlldGUgZ2V6b2dlbi4uLg0KW0FsbGdlbWVpbjpBbGluZV0gV2FydW0gbmljaHQgaW4gZGVyIFdhbm5lPw0KW0FsbGdlbWVpbjpDcmVhdGl2ZV0gbmllIGluIGRlciBCYWRld2FubmU/IEtlbm5zdCBEdSBtZWluZSBCYWRld2FubmU/IDopDQpbQWxsZ2VtZWluOlNlbWlyYV0ga29tbXQgYXVmIGRpZSBncm9lc3NlIGRlciB3YW5uZSBhbg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gSGFzdCBEdSBub2NoIGVpbiBwYWFyIFRpcHMsIEFsaW5lPw0KPiBbQWxsZ2VtZWluOldvb2R5IGxlZ3QgZWluIFN0dWVjayBTZWlmZSBpbiBDcmVhJ3MgQmFkZXdhbm5lXQ0KW0FsbGdlbWVpbjpUb3JlbmVdIFdpbHN0ZSBuZSBVZWJlcnNjaHdlbXVuZyBpbSBCYWRlemltbWVyPyBBdXNzZXJkZW0gcnV0c2NodA0KW0FsbGdlbWVpbjpUb3JlbmVdIG1hbiBkYSBzbyBsZWljaHQgYWIhDQpbQWxsZ2VtZWluOkFsaW5lXSBNZWluZSBGcmV1bmRpbiBpc3QgMTg2IGNtIGdyb3NzLCBHcmltbWJvcm46KQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIERvZXNiYWNrZTogSW4gZGVyIFdhbm5lIGxpZWdlbmQgbmF0dWVybGljaC4NCltBbGxnZW1laW46VG9yZW5lXSBJY2ggZ2xhdWJlLCB1bnNlciBOaXZlYXUgc3BvdHRldCBqZWdsaWNoZXIgQmVzY2hyZWlidW5nLg0KW0FsbGdlbWVpbjpUb3JlbmVdIDopDQpbQWxsZ2VtZWluOkx3YXhhbmFdIG5hIGhvZmZlbnRsaWNoIGxvZ3QgZWluZXIgbWl0IDopDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gR2lic3QgRHUgbWlyIGlocmUgVGVsZWZvbm51bW1lciwgQWxpbmU/DQpbQWxsZ2VtZWluOk5lc2FqYV0gbmVlIHdpcmtsaWNoIHRvcmVuZSA6KQ0KW0FsbGdlbWVpbjpDcmVhdGl2ZV0gZmluZGVzdCBEdT8gOikNCltBbGxnZW1laW46RW5neXd1Y2tdIFNvbnN0IHd1ZXJkIGljaCBhdWNoIG5pY2h0IG1pdGxvZ2dlbiA7KQ0KPiBbQWxsZ2VtZWluOlRvcmVuZSByb3RmbF0NCltBbGxnZW1laW46Q3JlYXRpdmUgZ3JpbnN0IEVuZ3kgYW5dDQpbQWxsZ2VtZWluOkFsaW5lXSBPaCBGcmF1ISEgRHUgZGVua3N0IGJlaW0gU2V4IGFuIGRhcyBCYWRlemltbWVyIGhpbnRlcmhlciEhDQpbQWxsZ2VtZWluOkFsaW5lXSBsYXNzIGVzISENCltBbGxnZW1laW46U2VtaXJhIGZpbmRldHMgaW50ZXJlc3NhbnRdDQpbQWxsZ2VtZWluOk5lc2FqYSBhdWNoLi5zZWhyIHNvZ2FyIDopXQ0KW0FsbGdlbWVpbjpDcmVhdGl2ZSBkZW5rdCBhbiBlaW5lIEJldHRrYW50ZS5dDQpbQWxsZ2VtZWluOlRvcmVuZV0gVW5kIHdlciBtYWNodCBkaWUgU2Nod2VpbmVyZWkgc2F1YmVyPyBkZXIgTWFubiB3b2hsIGthdW0sDQpbQWxsZ2VtZWluOlRvcmVuZV0gdW5kIHNlaSBlciBub2NoIHNvIGZ1ZXIgR2xlaWNoYmVyZWNodGlndW5nIQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gbmEgYmVzc2VyIGFscyBkYXJhbiB6dSBkZW5rZW4sIG9iIGRpZSBEZWNrZSBnZXN0cmljaGVuDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSB3ZXJkZW4gbXVlc3N0ZS4uLg0KPiBbQWxsZ2VtZWluOlNlbWlyYV0gd2llIHdhZXJzIG1pdCBuZW0gc2Nob2VuZW4gZ3Jvc3NlbiB3aGlybHBvb2wNCltBbGxnZW1laW46R3JpbW1ib3JuXSBLbGFyLCBkaWUgRnJhdSBtdXNzIGVzIG5hdHVlcmxpY2ggaGludGVyaGVyIGF1Y2ggd2llZGVyDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gc2F1YmVybWFjaGVuLCB3YXMgZGVua3N0IGRlbm4gRHU/DQpbQWxsZ2VtZWluOk5lc2FqYV0gd2hpcmxwb29sIGlzdCBndXQgKnRyYWV1bSoNCltBbGxnZW1laW46VG9yZW5lXSBXaWUgZ2VzYWd0LCBuaWUgYXVmIGVpbmVtIEJvdHQsIGRhIHdlcmRlbiBkaWUgTWl0ZmFocmVyDQpbQWxsZ2VtZWluOlRvcmVuZV0gc2Vla3JhbmshDQpbQWxsZ2VtZWluOkFsaW5lXSBGdWVyIGd1dGVuIFNleCBpbiBkZXIgV2FubmUgbmVobSBpY2ggZGFzIHNhdWJlcm1hY2hlbg0KW0FsbGdlbWVpbjpBbGluZV0gaGludGVyaGVyIGdlcm5lIGluIGthdWYuLi4uLi5hdXNzZXJkZW0gaGF0IG1hbiBhbHMgRG9taW5hDQpbQWxsZ2VtZWluOkFsaW5lXSBkb2NoIHNvIHNlaW5lIFNrbGF2ZW47KQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gRXJmYWhydW5nZW4sIE5lc2FqYT8NCj4gW0FsbGdlbWVpbjpMYXJpc3NhXSBhZWhubGljaCB3aWUgV2Fzc2VyYmV0dC4uLg0KW0FsbGdlbWVpbjpDcmVhdGl2ZV0gVG9yZW5lLCB3YXMgaGFlbHRzdCB2b24gbmVyIEJldHRrYW50ZT8NCltBbGxnZW1laW46R3JpbW1ib3JuXSBQaGgsIENoYXV2aXMgc2luZCBlaCBkaWUgYmVzc2VyZW4gTGllYmhhYmVyIQ0KW0FsbGdlbWVpbjpOZXNhamEgZ3JpbnN0IEVuZ3l3dWNrIHp3ZWlkZXV0aWcgYW4uXQ0KW0FsbGdlbWVpbjpUb3JlbmVdIEF1ZiB1bmQgbmllZGVyIGluIHp3ZWlmYWNoZXIgSGluc2ljaHQuIFVudGVyc3R1ZXR6dCBkYXMNCltBbGxnZW1laW46VG9yZW5lXSBkZW4uLi4gYWVoLCBCZXdlZ3VuZ3NhYmxhdWY/DQpbQWxsZ2VtZWluOkNyZWF0aXZlXSB1bmQgd2llDQpbQWxsZ2VtZWluOlRvcmVuZV0gQmV0a2FudGUgaXN0IGd1dC4gRXR3YXMgaGFydCB1bmQgc2NobWFsLg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gTW9tZW50IEFsaW5lLi4uRGllIERvbWluYSBoaWVyIGJpbiBpY2ggOykNCj4gW0FsbGdlbWVpbjpDcmVhdGl2ZV0gdm9yIGFsbGVtLi4uIGdlbmlhbGVzIGZ1ZWhsZW4gYmVpZGVyc2VpdHMNCltBbGxnZW1laW46VG9yZW5lXSBXaWUgd2FlcnMgYXVmIGVpbmVtIFBmZXJkPw0KW0FsbGdlbWVpbjpBbGluZV0gV29oZXIgd2Vpc3N0IER1IGRhcyBkZXIgQ2hhdXZpZSBlaW4gYmVzc2VyZXIgTGllYmhhYmVyIGlzdCwNCltBbGxnZW1laW46QWxpbmVdIEdyaW1tYm9ybj8NCltBbGxnZW1laW46R3JpbW1ib3JuXSBNYXggUGxhbmsgSW5zdGl0dXQuDQpbQWxsZ2VtZWluOldvb2R5XSBiZXRrYW50ZT8ga2xpbmd0IG5hY2gga2lyY2hlLg0KW0FsbGdlbWVpbjpTZW1pcmEgbGF1c2NodCBDcmVhIGludGVyZXNzaWVydC4uLm5ldHRlIElkZWVuIGhhdCBpaHIgTWFubl0NCltBbGxnZW1laW46Q3JlYXRpdmUgd2FlbHp0IFdvb2R5IGFuLl0NCltBbGxnZW1laW46R3JpbW1ib3JuXSBJY2ggaGF0dGUgZGEgbWFsIG5lbiBTb2Z0aWUgaW0gQmV0dC4NCltBbGxnZW1laW46RW5neXd1Y2tdIEF1IGphLi4uSW0gQmVpY2h0c3R1aGwuLi4NCj4gW0FsbGdlbWVpbjpDcmVhdGl2ZV0gYWxzIG9iIER1IGRpZSBuaWNodCB3dWVzc3Rlc3QsIG1laW4gU2NoYXR6IDspDQpbQWxsZ2VtZWluOldvb2R5IGVudHdhZWx6dCBzaWNoXQ0KW0FsbGdlbWVpbjpUb3JlbmVdIElyZ2VuZHdpZS4uLiB2aWVsZWljaHQgc29sdGVuIHdpciB3aWVkZXIgUG9seWdhbWllDQpbQWxsZ2VtZWluOlRvcmVuZV0gZWluZnVlaHJlbi4NCltBbGxnZW1laW46RW5neXd1Y2tdIEluIGRlbiBLaXJjaGVuIGhhZW5nZW4gZGllIGphIGF1Y2ggaW1tZXIgZGllc2UNCltBbGxnZW1laW46RW5neXd1Y2tdIFdhc2NoYmVja2VuIGF1cy4uLg0KPiBbQWxsZ2VtZWluOlNlbWlyYSBlcmlubmVydCBzaWNoIGRhIGFuIGVpbmUgdW1rbGVpZGVrYWJpbmUuLi5kZXIgYmVpY2h0c3R1aGwNCmlzdCBzaWNoZXIgYWVobmxpY2ggZW5nXQ0KW0FsbGdlbWVpbjpBbGluZV0gRGVyIENoYXV2aWUgaXN0IGVoIGVyc3RhdW5saWNoIHJ1aGlnISAqc3RhdW4qDQpbQWxsZ2VtZWluOldvb2R5XSBub2UsIHdlciBzdWhsdCBzaWNoIHNjaG9uIGdlcm4gaW0gc3R1aGwsIGVuZ3kuLi4NCltBbGxnZW1laW46VG9yZW5lXSBJbiBkZXIgS2lyY2hlIGltIFRhdWZiZWNrZW4hDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBQb2x5Z2FtaWU/IGlzdCBkaWUgbmljaHQgZWggc2Nob24gbGVnYWw9Pw0KW0FsbGdlbWVpbjpFbmd5d3Vja10gT2RlciBhdWYgZGVtIEFsdGFyPw0KPiBbQWxsZ2VtZWluOkFsaW5lXSBJbSBUYXVmYmVja2VuPz8gV2lyZCBtYW4gZGEgYXVjaCBzZWVrcm5haz8NCltBbGxnZW1laW46U2VtaXJhXSBkYXMgd2FzIGR1IG1laW5zdCBpc3Qgd2FzIGFuZGVyZXMsIGNyZWEuLi5kYXMgZ2VodCBvaG5lDQpbQWxsZ2VtZWluOlNlbWlyYV0gdHJhdXNjaGVpbiA6KQ0KW0FsbGdlbWVpbjpUb3JlbmVdIEphLCBkZXIgaXN0IHNjaG9lbiBmbGFjaC4gQXVmIGRlciBPcmdlbHRhc3RhdHVyIQ0KW0FsbGdlbWVpbjpOZXNhamFdIGdhbHViIGljaCBuaWNodCBsYWluZTopDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBhZWhtLg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gQXUgamEsIE9yZ2VsdGFzdGF0dXIuLi5EYSBmYWVsbHRzIG5pY2h0IHNvIGF1Ziwgd2VubiBkaWUNCltBbGxnZW1laW46RW5neXd1Y2tdIEZyYXUgbGF1dCBpc3QuLi4gKmdyaXVucyB6dSBTY2hydW1wZmkqDQo+IFtBbGxnZW1laW46UmFmZmldIGFjaCB3YXMgYWxsZXMgdmllbCB6dSBrb21wbGl6aWVyIGVpbmZhY2ggYXVmIGRlbiBib2Rlbg0KW0FsbGdlbWVpbjpSYWZmaV0gc2NodWJzZW4sIGtsZWlkZXIgdm9tIGxlaWIgcmVpc3NlbiB1bmQgcnVtd2FlbHplbi4uLi4uLg0KW0FsbGdlbWVpbjpBbGluZV0gTXVzc3Rlc3QgRHUgaWhuIHZvciBkZW0gU2V4IGVyc3QgYWJmdWVsbGVuLCBHcmltbWJvcm4/DQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gU2NocnVtcGZpIHdhciBuaWNodCBsYXV0Li4uYWVoLi4uKmVycm9ldCoNCltBbGxnZW1laW46U2VtaXJhXSBzb3NvDQpbQWxsZ2VtZWluOlVsdWxhXSBPaCwgUmFmZmksIHdpZSBlaW5mYWxsc2xvcw0KW0FsbGdlbWVpbjpFbmd5d3Vja10gV2Fyc3QgRFUgZGFzIEdyaW1tPz8/Pw0KPiBbQWxsZ2VtZWluOlNlbWlyYV0gd2FzIGhhYmVuIHdpciBkZW5uIGRhIGdlaG9lcnQsIGdyaW1tPw0KW0FsbGdlbWVpbjpDcmVhdGl2ZV0gUlVNV0FFTFpFTj8gcGZmZi4uLiBTZXggbWl0IE5pdmVhdSB3YWVyIGFiZXIgYXVjaCBuZXQuDQpbQWxsZ2VtZWluOkFsaW5lXSBSYWZmaSBzY2hlaW50IGphIGVpbiB0b2xsZXIgTGllYmhhYmVyIHp1IHNlaW46KA0KW0FsbGdlbWVpbjpDcmVhdGl2ZV0gbmV0dCBuYXR1ZXJsaWNoDQpbQWxsZ2VtZWluOlRvcmVuZV0gVW5kIHdlciBiZWRpZW50IGluIGRlciBad2lzY2hlbnplaXQgZGVuIEJsYXNiZWxnPyBvZGVyIGlzdA0KW0FsbGdlbWVpbjpUb3JlbmVdIGRhIGF1Y2ggamVtYW5kIG1pdCBqZW1hbmRlbSB6dWdhbmdlPw0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEFsc28gSUNIIHdhciBkYXMgbmNpaHQhDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBXYXJ1bSBpc3QgcnVtd2FlbHplbiBuaWNodCBuaXZlYXV2b2xsPw0KPiBbQWxsZ2VtZWluOkNyZWF0aXZlXSBrb21tdCBhdWYgZGVuIFJ1bSBhbiA6KQ0KW0FsbGdlbWVpbjpTZW1pcmEgd2FyIGluIG5lbSBhbmRlcmVuIHppbW1lci4uLndhciBkYXMgYXVjaCBuZXRdDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBHdXRlIElkZWUsIFRvcmVuZSA7KQ0KPiBbQWxsZ2VtZWluOkdyaW1tYm9ybl0gTWFuIG11c3MgamEgaXJnZW5kd2FzIHR1biwgd2VubiBtYW4gbmljaHQgaW5zIGFuZGVyZQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIFppbW1lciBnZWhlbiBrYW5uIG9obmUgZ2xpY2ggdWViZXIgbmFja3RlIEtvZXJwZXIgenUNCltBbGxnZW1laW46R3JpbW1ib3JuXSBzdG9scGVybi4uLg0KW0FsbGdlbWVpbjpTZW1pcmEgd2lyZCB6aWVtbGljaCByb3RdDQpbQWxsZ2VtZWluOlJhZmZpXSB3YXMgaGFzdCBkdSBnZWJnZW4gcnVtd2FlbHplbiAtIGlzdCBhdWYgamVkZW5mYWxsDQpbQWxsZ2VtZWluOlJhZmZpXSBhYndlY2hzbHVuZ3NyZWljaGVyIGFscyBhdWYgZGVyIGJldHRrYW50ZSwgb3JnZWwsIHN0dWhsIG9kZXINCltBbGxnZW1laW46UmFmZmldIHdhcyBzb25zdG5vY3ZoIHNpY2ggbmUgc3R1bmRlIGFienVtdWVoZW4gOikNCltBbGxnZW1laW46Q3JlYXRpdmVdIHdpZSB3YXIgZGFzPyAnb2gsIHdhciBkYXMgamV0enQgZWluIGNvaXR1cyBpbnRlcnJ1cHR1cz8nDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSAqc21pbGUgenUgZ3JpbW1pKg0KW0FsbGdlbWVpbjpUb3JlbmVdIFdpZSB3YWVycyBtaXQgbmUgTXVkb3JnaWU/DQpbQWxsZ2VtZWluOlNlbWlyYSBzYWNodCBqZXR6dCBuaWNodHMgbWVocl0NCltBbGxnZW1laW46U2VtaXJhIHNjaGxhZWd0IGVpbmVuIHRoZW1hd2VjaHNlbCB2b3JdDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gTm9lLCBpY2ggZnVlaGx0ZSBtaWNoIG51ciBhbiBuZW4gYWx0ZW4gU2tldGNoIG1pdA0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIERpZXRlciBLcmVicyBlcmlubmVydC4NCltBbGxnZW1laW46RW5neXd1Y2tdIEhhYmVuIHdpciBuaWNodCB1ZWJlciBkaWUgRmFyYmUgdm9uIEFsaW5lcyBEaWxkbw0KW0FsbGdlbWVpbjpFbmd5d3Vja10gZGlza3V0aWVydD8NCj4gW0FsbGdlbWVpbjpDcmVhdGl2ZV0gZGVyIGhhZXR0ZSBhdWNoIG5vY2ggZ3V0IGRhenVnZXBhc3N0IDopDQpbQWxsZ2VtZWluOlJhZmZpXSBobW1tbW0gbm9jaCBoYWIgaWNoIGtlaW5lIG1vZWJlbCBpbiBtZWluZW0gU3BpZWx6aW1tZXIgLSBkYQ0KW0FsbGdlbWVpbjpSYWZmaV0gd2FlcmVuIDQwIHFtIHp1bSBydW1zcGllbGVuIGZyZWkgOikNCltBbGxnZW1laW46VG9yZW5lXSBDb2l0dXMgaW50ZXJydXB0dXM6IERpZSBrYXRob2xpc2NoZSBGcnVlaC1BYnNwcnVuZ21ldGhvZGUuDQpbQWxsZ2VtZWluOkFsaW5lXSBEb2NoIGVyemFlaGwgbWFsIFNlbWlyYSwgd2FzIHdhciBkYXMgZnVlciBlaW5lIE9yZ2llPw0KW0FsbGdlbWVpbjpTZW1pcmEgc2FjaHQgbml4LCBhbGluZV0NCltBbGxnZW1laW46VWx1bGFdIDpncmluc3QNCltBbGxnZW1laW46R3JpbW1ib3JuXSBEaWUga2xlaW5lIFRvY2h0ZXIga2xvcGZ0IGFuIGRpZSB2ZXJzY2hsb3NzZW5lDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gU2NobGFmemltbWVydHVlciwgZGVyIFZhdGVyIG9lZmZuZXQgbmFjaCBsYWVuZ2VyZXIgWmVpdA0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIHVuZCBkYXMgS2luZCBmcmFndDogIldhcyBpc3QgZWluIGNvaXR1cyBpbnRlcnJ1cHR1cz8iLg0KW0FsbGdlbWVpbjpTZW1pcmEgIGF1c3NlcmRlbSB3YXJzIG51ciBuZSBrbGVpbmUgb3JnaWUuLi5dDQpbQWxsZ2VtZWluOlJhZmZpIHdhZWx0ei5dDQpbQWxsZ2VtZWluOkNyZWF0aXZlIHRyb21tZWx0IG1pdCBkZW4gRmFldXN0ZW4gYXVmIGRlbiBCb2Rlbi5dDQpbQWxsZ2VtZWluOkFsaW5lXSBNaXQgR3JpbW1ib3JuPz8/IFNlbWlyYSEhISENCltBbGxnZW1laW46Q3JlYXRpdmVdIE9yZ2VsPw0KW0FsbGdlbWVpbjpXb29keSBST1RGTGVkIGF1Y2ggOyldDQpbQWxsZ2VtZWluOlNlbWlyYV0gRE9DSCBOSUNIVCBNSVQgR1JJTU1CT1JODQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBlaW5lIGtsZWluZSBPcmdlbD8gOikNCltBbGxnZW1laW46RHVzdHkga2FubiBzaWNoIGVpbiAoa2xlaW5lcykgZ3JpbnNlbiBuaWNodCB2ZXJrbmVpZmVuLl0NCltBbGxnZW1laW46R3JpbW1ib3JuXSBVZWNoPyBJY2ggd2FyIHVuc2NodWxkaWchIERhcyBsaWVmIGFsbGVzIGluIG1laW5lbQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIFJ1ZWNrZW4gYWIuDQpbQWxsZ2VtZWluOldvb2R5IGZpbmRldCBkYXNzIGR1c3R5IGdhbnogc2Nob2VuIGxvc2dlcHJ1aHN0ZXQgaGF0IGhpZXIgZWJlbl0NCltBbGxnZW1laW46QWxpbmVdIFB1aCEgSWNoIGRhY2h0ZSBzY2hvbiENCltBbGxnZW1laW46RW5neXd1Y2tdIE9oLCBEdXN0ZXJsIHdhY2h0IGF1ZiA7KQ0KPiBbQWxsZ2VtZWluOkNyZWF0aXZlIHNtaWxldCBuYWNoIFdpZW4gcnVlYmVyXQ0KW0FsbGdlbWVpbjpEdXN0eSBsZXVnbmV0IGFsbGVzLl0NCltBbGxnZW1laW46V29vZHkgaGF0IGVpbiB3YXYgZmlsZSBkYXZvbiA6Pl0NCltBbGxnZW1laW46QWVsbF0gV2llIGltbWVyIGhhbHQNCltBbGxnZW1laW46QWxpbmVdIER1c3R5IER1IHdhcnN0IGF1Y2ggZGFiZWk/DQpbQWxsZ2VtZWluOkR1c3R5XSBiZWkgZGVyIG9yZ2llPw0KW0FsbGdlbWVpbjpDcmVhdGl2ZV0gb2gsIGh1aHUgYWVsbCA6KQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gRHVzdHkgaXN0IGhhcm1sb3MuIFNvIHdpZSBpY2guDQo+IFtBbGxnZW1laW46RHVzdHldIG5hIHdpZSBtYW5ucyBuaW1tdCA6KQ0KW0FsbGdlbWVpbjpBbGluZSBuaWNrdCBEdXN0eSB6dV0NCltBbGxnZW1laW46V29vZHldIG9yZ2llPyB3bz8NCltBbGxnZW1laW46V29vZHldIHRzdHMgZHVzdHkNCltBbGxnZW1laW46Q3JlYXRpdmVdIHdhciBkdXN0eSBkYWJlaSwgc2VtaXJhYDopDQpbQWxsZ2VtZWluOldvb2R5XSB3byBlaWdlbnRsaWNoIDopDQpbQWxsZ2VtZWluOkFsaW5lXSBIYWV0dGV0IGlociBHcmltbWJvcm4gbmljaHQgaW5zIEtpbm8gc2NoaWNrZW4ga29lbm5lbj8NCltBbGxnZW1laW46U2VtaXJhICBmcmFndCBDcmVhOiBEdSwgd2VsY2hlIE9yZ2llIG1laW5lbiBkaWUgZGVubiBqZXR6dD9dDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBzby4uaGFiIGljaCB3YXMgdmVycGFzc3Q/DQpbQWxsZ2VtZWluOkR1c3R5IHdhciBuaXJnZW5kcyBkYWJlaS5dDQpbQWxsZ2VtZWluOkR1c3R5IGlzdCBoYXJtbG9zXQ0KW0FsbGdlbWVpbjpXb29keV0gbmVpbiBuZWluIGd1eSwgbml4Li4uIDspDQpbQWxsZ2VtZWluOkNyZWF0aXZlIGthbm4gZGllIE9yZ2llbiBuaW1tZXIgemFlaGxlbi5dDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBKYSwgR3V5LiBTb2xsIGljaCBEaXIgbmFjaGhlciBkYXMgTG9nIHp1c2NoaWNrZW4/DQo+IFtBbGxnZW1laW46R3JpbW1ib3JuXSBBbHNvLCBpY2ggd2VyZCBkb2NoIFNjaHJ1bXBmaSBuaWNodCB1bnRyZXUgd2VyZGVuIQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIFp1bWluZGVzdCBuaWNodCwgd2VubiBuaWNodCBSdWRpIGRhIGlzdC4uLg0KW0FsbGdlbWVpbjpBZWxsXSBOaWNodD8gU2NoYWVtIGRpY2ghDQpbQWxsZ2VtZWluOkFsaW5lXSBOb2UgQ2hhdXZpZQ0KW0FsbGdlbWVpbjpHdXlicnVzaF0gb2ssIGRhbm4gaWRsZSBpY2ggd2lldGVyDQpbQWxsZ2VtZWluOldvb2R5XSBlbmd5IGR1IGFsdGVyIGxvZ2dlciA6KQ0KW0FsbGdlbWVpbjpHdXlicnVzaF0gd2FzIGlzIG1pdCBzY2hydW1wZmk/DQpbQWxsZ2VtZWluOkFsaW5lXSBXaXIgd2lzc2VuIG51ciBkYXMgR3JpbW1ib3JuIERpY2ggbWl0IEFsa29ob2wgYWJnZWZ1ZWxsdA0KW0FsbGdlbWVpbjpBbGluZV0gaGF0LCB2b3IgZGVtIFNleCEgQ2hhdXZpZQ0KW0FsbGdlbWVpbjpTZW1pcmFdIG11c3N0IGR1IGdyaW1tIGZyYWdlbiA6KQ0KW0FsbGdlbWVpbjpXb29keV0gd2FzIGlzIG5pY2h0IG1pdCBzY2hydW1wZmk/IDopDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBvaywgRU5neS4uLmFiZXIgZXJzdCB3ZW5ucyBmZXJ0aWcgaXMNCltBbGxnZW1laW46Q3JlYXRpdmVdIG9rLCBkYW5uIGlkbGUgaWNoIHdlaXRlciAtIHdhcyBpc3QgbWl0IHNjaHJ1bXBmaQ0KW0FsbGdlbWVpbjpDcmVhdGl2ZV0gKnBydXV1dXN0Kg0KW0FsbGdlbWVpbjpaYXJkb3pdIFdhcyBpc3QgbWl0IFNjaHJ1bXBmaT8NCltBbGxnZW1laW46RW5neXd1Y2tdIEFsbGVzIEtsYXIuDQo+IFtBbGxnZW1laW46U2VtaXJhXSBzb2xsdGVzdCBiZXNzZXIgYXVmIGRlaW5lIGZyYXUgYWhjdGVuLCB6YQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIFdhcyBtaXQgZGVyIGlzdD8gSWNoIHdlcmQgaWhyIGhhbHQgbmljaHQgdW50cmV1Lg0KW0FsbGdlbWVpbjpTZW1pcmFdIGRpZSBtYWNodCBzYWNoZW4sIHNhZyBpY2ggZGlyLi4uDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBzdGltbXQsIGFsaW5lLi4uZXIgd29sbHQgbm1pY2ggdWViZXJyZWRlbiB3YXMgbWl0IGRpcg0KW0FsbGdlbWVpbjpHdXlicnVzaF0gYW56dWZhbmdlbi4uLmFiZXIgZGEgaGF0IHNlaW4gYWxrb2hvbHZvcnJhdCBuaWNoDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBhdXNnZXJlaWNodA0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIC4uLm5pY2h0IG9obmUgUnVkaXJhdHRlci4NCltBbGxnZW1laW46U2VtaXJhXSBvZGVyIHNhZyBpY2ggZGlyIGxpZWJlciBuZXQNCltBbGxnZW1laW46QWxpbmVdIFdpZXNvPyBEZXN3ZWdlbiBoYXQgWmFyZG96IFNjaHJ1bXBmaSBkb2NoIGdlbm9tbWVuLCBTZW1pcmEhDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBpY2ggd2VyZHMgcnVkaSBhdXNyaWNodGVuLiBPaywgR3JpbW0/DQpbQWxsZ2VtZWluOlNlbWlyYV0ga29taXNjaGUgZ3J1ZW5kZSBoYWJlbiBkaWUgbGV1dGUgenVtIGhlaXJhdGVuLi4uDQpbQWxsZ2VtZWluOkFsaW5lXSBOb2UgZXIgaGF0IHNpY2ggdWViZXIgRGVpbmUgUXVhbGl0YWV0ZW4gYWxzIExpZWJoYWJlcg0KW0FsbGdlbWVpbjpBbGluZV0gZ2VhZXVzc2VydCwgR3V5IDspDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSB3aXIgMj8NCltBbGxnZW1laW46R3JpbW1ib3JuXSBTY2hlaW5iYXIgaXN0IFNjaHJ1bXBmaSBhYmVyIG5pY2h0IHNvIGd1dCwgd2llIFphcmRveg0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIHNpY2ggZ2VkYWNodCBoYXR0ZS4gRGVuIFB1dHp0ZXVmZWwgZ2lidHMgaW1tZXIgbm9jaC4NCltBbGxnZW1laW46WmFyZG96XSBDaWFvLg0KW0FsbGdlbWVpbjpHdXlicnVzaF0gc28sIGhhdCBlcj8gZGVyIGFsdGUgdmVycmFldGVyDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBNYXJpdGEsIG1hY2ggYXVjaCBtaXQuLi4NCltBbGxnZW1laW46U2VtaXJhXSBiZWkgZGVyIG9yZ2llPw0KW0FsbGdlbWVpbjpNYXJpdGFdIHdvYmVpPyBoYWxsbyBhbGxlcnNlaXRzDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBnZXJuIDopDQpbQWxsZ2VtZWluOkFsaW5lXSBNYW4gaGVpcmF0ZXQgZG9jaCBuaWNodCB1bSBuZSBQdXR6ZnJhdSB6dSBoYWJlbiwNCltBbGxnZW1laW46QWxpbmVdIEdyaW1tYm9ybiEhIQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gV2FzIGZ1ZXIgbmUgT3JnaWU/IFVuZCB3YXJ1bSB3YXJlbiBkYSBzbyB3ZW5pZyBGcmF1ZW4NCltBbGxnZW1laW46RW5neXd1Y2tdIGRhPz8NCj4gW0FsbGdlbWVpbjpHdXlicnVzaF0gd2llc28gc29uc3QsIEFsaW5lPw0KW0FsbGdlbWVpbjpSYWZmaV0gTmljaCBOVVIhDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gQWxzbywgaWNoIHdlaXNzIG5pY2h0cyB2b24gZWluZXIgT3JnaWUuIFp1bWluZGVzdA0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIG5pY2h0cyB2b24gZWluZXIsIGFuIGRlciBpY2ggdGVpbGdlbm9tbWVuIGhhYmVuIHNvbGwuDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSB3b2JlaT8gYmVpIHdpbGRlbSwgbGVpZGVuc2NoYWZ0bGljaGVtIFNleCwgenVtaW5kZXN0DQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBzcHJlY2hlbiB3aXIgZGFydWViZXIgOikNCltBbGxnZW1laW46WmFyZG96XSBOaWNodCBudXIsIEFsaW5lLiBTaWUgc29sbHRlIGF1Y2ggbm9jaCBLb2NoZW4ga29lbm5lbg0KW0FsbGdlbWVpbjpTZW1pcmFdIHp1IHdlbmlnIGZyYXVlbj8NCltBbGxnZW1laW46RHVzdHldIHdvPw0KW0FsbGdlbWVpbjpBbGluZV0gRGFzIER1IG5pY2h0cyBtaXQgRnJhdWVuIGFuenVmYW5nZW4gd2Vpc3N0LCB3YXIgbWlyIGtsYXIsDQpbQWxsZ2VtZWluOkFsaW5lXSBDaGF1dmllISENCltBbGxnZW1laW46U2VtaXJhIGZhbmQgc2ljaCBhdXNyZWljaGVuZCA6KV0NCltBbGxnZW1laW46RW5neXd1Y2tdIFVuZCBCdWVnZWxuLiAqZ3JpbnMgenUgU2VtaXJhKg0KPiBbQWxsZ2VtZWluOk1hcml0YV0gdWViZXIgc29sY2hlIGJhbmFsZW4gU2FjaGVuPyBtYWNodCBkb2NoIG1hbCB3YXMNCltBbGxnZW1laW46TWFyaXRhXSBpb250ZXJlc3NhbnRlcnMgOikNCltBbGxnZW1laW46R3JpbW1ib3JuXSBTY2hydW1wZmkgS0FOTiBrb2NoZW4uDQpbQWxsZ2VtZWluOlJhZmZpXSB1bmQgYXJiZWl0ZW4uDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBTY2hydW1wZmkga2FubiBzb2dhciBndXQga29jaGVuLi4uIDspDQo+IFtBbGxnZW1laW46R3JpbW1ib3JuXSBTZW1pcmEgd2FyIGFydGlnIGluIExpbnouIEVzIGdpYnQgU3RpbW1lbiwgZGllIG1laW5lbiwNCltBbGxnZW1laW46R3JpbW1ib3JuXSBzaWUgd2FyIHNvZ2FyIGdyb3NzYXJ0aWcuLi4NCltBbGxnZW1laW46RW5neXd1Y2tdIFVuZCBkZW4gUmVzdCBhdWNoIDspDQo+IFtBbGxnZW1laW46QWxpbmVdIE5hIHVuZCBrb2NoZW4ga2FubiBpY2ggYXVjaCENCltBbGxnZW1laW46Q3JlYXRpdmVdIGhtLiBiYW5hbD8gYmFuYWwgZ2VudWcsIHVtIGRhcyBsb2cgYXVmIDIwMGsgenUgZXJ3ZWl0ZXJuDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSA6KQ0KW0FsbGdlbWVpbjpNYXJpdGFdIGRhcyBzdGltbXQgZGFzIGthbm4gYWxpbmUNCltBbGxnZW1laW46U2VtaXJhIHNjaGF1dCBHcmltbSB2ZXJkdXR6dCBhbi4gU28/XQ0KW0FsbGdlbWVpbjpDcmVhdGl2ZSBuaWNrdCBHcmltbWJvcm4genUuXQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIFdhbm4ga29jaHN0IER1IGRlbm4gZnVlciBtaWNoLCBBbGluZT8NCltBbGxnZW1laW46Q3JlYXRpdmUga2FubiBhdWNoIGtvY2hlbi5dDQpbQWxsZ2VtZWluOkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBuaWNrdCBDcmVhdGl2ZSBhdWNoIHp1Ll0NCltBbGxnZW1laW46RW5neXd1Y2tdIFdhbm4gYnVlZ2Vsc3QgRHUgZnVlciBtaWNoLCBBbGluZT8NCj4gW0FsbGdlbWVpbjpBbGluZV0gR2lmdCwgR3JpbW1ib3JuPw0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIFVuZCBEdSB3b2xsdGVzdCBtaXIgbm9jaCBkaWUgVGVsZWZvbm51bW1lciBEZWluZXINCltBbGxnZW1laW46R3JpbW1ib3JuXSAxODZjbS1GcmV1bmRpbiBnZWJlbi4NCltBbGxnZW1laW46QWxpbmUgbGFlY2hlbHQgR3JpbW1ib3JuIHp1Y2tlcnN1ZXNzIGFuXQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEljaCBiaW4gQ2hlbWlrZXIuIEljaCBiaW4gaW1tdW4uDQpbQWxsZ2VtZWluOkFsaW5lXSBTb2xsIGljaCBEaWNoIGJ1ZWdlbG4sIEVuZ3k/DQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBpY2gga29lbm50ZSBEaWNoIGJ1ZWdlbG4sIEFsaW5lIDspDQo+IFtBbGxnZW1laW46Q3JlYXRpdmVdIGVuZ3ksIHNjaGxhZyBlaW4gOikNCltBbGxnZW1laW46THdheGFuYV0gY2htZWlrZXIgc2luZCBpbXVuPyBXYXJ1bSBoYWJlIGljaCBkYW5uIFByb2JsZW1lIG1pdA0KW0FsbGdlbWVpbjpMd2F4YW5hXSBtZWluZXIgTHVuZ2U/DQpbQWxsZ2VtZWluOkR1c3R5IGJ1ZWdlbHQgd2lsZCBhdWYgPGNlbnNvcmVkPiBoZXJ1bS5dDQpbQWxsZ2VtZWluOkFsaW5lXSBEdSBiaXN0IGphIGF1Y2ggbmUgQ2hlbWlrZXJpbiwgTHdheGFuYSEhDQpbQWxsZ2VtZWluOldvb2R5IGtyZWlzY2h0IGF1Zi5dDQpbQWxsZ2VtZWluOlNlbWlyYSBoYXQgQmV3ZWlzZm90b3MgaW4gU2FjaGVuIER1c3R5ICYgKioqXQ0KW0FsbGdlbWVpbjpEdXN0eV0gaHVjaA0KW0FsbGdlbWVpbjpBbGluZV0gV2VyIGhhdCBkaWUgbmljaHQ/DQpbQWxsZ2VtZWluOkd1eWJydXNoXSBpY2gga3JpZWcgaGllciBudXIgZGllIGhhZWxmdGUgbWl0IDooDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBhY2ggZHVzdHkuLi4gd2Vpc3MgZG9jaCBlaCBqZWRlciwgZGFzcyBEdSA8Y2Vuc29yZWQ+DQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBidWVnZWxzdA0KW0FsbGdlbWVpbjpMd2F4YW5hXSBpY2ggV0FSIGVpbmUgY2hlbWlrZXJpbiEgV29sbGVuIHdpciBkYXMgbWFsIGdsZWljaA0KW0FsbGdlbWVpbjpMd2F4YW5hXSByaWNodGlnIHN0ZWxsZW4gOikNCltBbGxnZW1laW46QWxpbmVdIERhcyBpc3QgZG9jaCBpbW1lciBzbyBDaGF1dmllIQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIERhcyBlcmtsYWVydCBhdWNoLCB3ZWlzbyBEdSBuaWNodCBpbW11biBiaXN0Lg0KW0FsbGdlbWVpbjpTZW1pcmFdIGZyYWd0IHNpY2ggd2VyIG51biB3ZW4gYnVlZ2VsdCB1bmQgYml0dGV0IHVtIGVpbmUNCltBbGxnZW1laW46U2VtaXJhXSB6dXNhbW1lbmZhc3N1bmcuLi5oaWVyIHNjcm9sbHRzIHNvDQpbQWxsZ2VtZWluOkx3YXhhbmEgZ3JpbnN0XQ0KW0FsbGdlbWVpbjpOYWlyb2xmXSByZQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gSGlsZmUhIFVudGVyIHdlbGNoZW0gVGl0ZWwgc29sbCBpY2ggbnVyIERJRVNFUyBMb2cNCltBbGxnZW1laW46RW5neXd1Y2tdIGFic3BlaWNoZXJuPz8/DQo+IFtBbGxnZW1laW46TGFyaXNzYV0gYnVlZ2VsbiA/DQpbQWxsZ2VtZWluOlNlbWlyYSBzdHJlaWNodCBkaWUgaWRlZSBtaXQgZGVyIHp1c2FtbWVuZmFzc3VuZyBsaWViZXIgbWFsDQp3aWVkZXJdDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBTZXg/IE9kZXIgbG9lc2NoZW4gZGllIHZvbSBSWiBkYXM/IDopDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gSWNoIGJ1ZWdlbCBuaWNodC4gU2VpdCBtZWluZSBNdXR0ZXIgaW4gZ3JhdWVyIFZvcnplaXQNCltBbGxnZW1laW46R3JpbW1ib3JuXSBiZXNjaGxvc3MsIGplZGVyIHNvbGxlIGZ1ZXIgc2ljaCBzZWxiZXIgYnVlZ2VsbiBoYWIgaWNoDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gZW50ZGVja3QsIGRhc3MgbWFuIGF1Y2ggdW5nZWJ1ZWdlbHRlIEhlbWRlbiB0cmFnZW4ga2Fubi4NCltBbGxnZW1laW46R3V5YnJ1c2hdIG5vZSwgQWxpbmUuLmR1IGRlbmtzdCBpY2ggd3VlcmQgZGllIEhhZWxmdGUgbWl0YmVrb21tZW4sDQpbQWxsZ2VtZWluOkd1eWJydXNoXSB3ZWlsIGRpZSBhbmRlcmUgSEFlbGZ0ZSB2b24gZGlyIGlzdCwgdW5kIGRhbWl0IGF1ZiBlaW5lbQ0KW0FsbGdlbWVpbjpHdXlicnVzaF0gc29sY2hlbiBlbWFuemVubml2ZWF1LCBkYXNzIHNpY2ggZWluZSByZWdpc3RyaWVydW5nIG5pY2h0DQpbQWxsZ2VtZWluOkd1eWJydXNoXSBsb2hudA0KW0FsbGdlbWVpbjpBbGluZV0gV2VubiBhbGxlIGFsbGUgYnVlZ2VsbiB1bmQgdm9uIGFsbGVuIGdlYnVlZ2VsdCB3ZXJkZW4sIGRhbm4NCltBbGxnZW1laW46QWxpbmVdIG5lbm50IG1hbiBkYXMgZG9jaCBPcmdpZT8NCltBbGxnZW1laW46R3V5YnJ1c2hdIGFyZ2wuLjQgemVpbGVuDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBub2UgYnVlZ2xlbg0KW0FsbGdlbWVpbjpUb3JlbmVdIFNvPw0KW0FsbGdlbWVpbjpGcm9zY2ggRHVyaW5dIEJ1ZWdlbG4gPz8NCltBbGxnZW1laW46U2VtaXJhIG11c3Mgc2ljaCBkaWVzZSBEZWZpbml0aW9uIG1lcmtlbl0NCltBbGxnZW1laW46V2FyZ29uXSAiV2FzIGFsbGVzIHBhc3NpZXJlbiBrYW5uLCB3ZW5uIG1hbiBoYXJtbG9zIG5hY2gNCltBbGxnZW1laW46V2FyZ29uXSBXV1ctQWRyZXNzZW4gZnJhZ3QiPw0KW0FsbGdlbWVpbjpSYWZmaSBsZWd0IG5lIGV4dHJhcnVuZGUgUm90ZmwgZWluLl0NCltBbGxnZW1laW46RW5neXd1Y2tdIFp1bSBUaGVtYSBTZXggaGFiIGljaCBzY2hvbiBldGxpY2hlIExvZ3MuIEF1c3NlcmRlbQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gZ2VodHMgamEgamV0enQgdW0gYnVlZ2Vsbi4NCj4gW0FsbGdlbWVpbjpMYXJpc3NhXSBkYXMgd2FyIG5pY2h0IGhhcm1sb3MgOikNCltBbGxnZW1laW46U2VtaXJhXSBuZW5ucyBidWVnZWxuDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gRGFtaXQgZGFzIGtsYXQgaXN0OiBEZXIgZXJzdGUsIGRlciBtaXQgZWluZW0gaGVpc3Nlbg0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEJ1ZWdlbGVpc2VuIGF1ZiBtaWNoIGxvc2dlaHQsIHdpcmQgZ2V6YXBwdCENCltBbGxnZW1laW46V2FyZ29uXSBMb3MgZ2luZ3MgZG9jaCBtaXQgR3Vya2VuLCBvZGVyPw0KW0FsbGdlbWVpbjpGcm9zY2ggRHVyaW5dIG1pdCBvZGVyIG9obmUgRGFtcGYgPz8NCltBbGxnZW1laW46QWxpbmVdIFdhcyBpc3QgYW4gZGVyIEZyYWdlIG5hY2ggZnJhdWVuZmVpbmRsaWNoZW4gV1dXLVNlaXRlbg0KW0FsbGdlbWVpbjpBbGluZV0gaGFybWxvcz8NCltBbGxnZW1laW46R3V5YnJ1c2hdIGhtLi51ZWJlciBzZXggcmVkIGljaCBuaWNoLi5oYWIgaWNoIGtlaW5lIGFobnVuZyB2b24NCltBbGxnZW1laW46TGFyaXNzYV0gbmVlLCBXYXJnb24sIHNjaG9uIGV0d2FzIGVociA6KQ0KW0FsbGdlbWVpbjpEdXN0eSBicmljaHQgdm9yIGxhY2hlbiB6dXNhbW1lbi5dDQpbQWxsZ2VtZWluOkFsaW5lIG5pY2t0IEd1eWJydXNoIHp1XQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEphLCBhYmVyIGljaCBiaW4gamEgZGFiZWksIERpciBkYXMgYmVpenVicmluZ2VuLCBHdXkuDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBDaGF1dmluaXNtdXMgaXN0IGhhcm1sb3MgdW5kIHVuZ2VmYWVocmxpY2ggdW5kIHNvbGx0ZQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gc3RhYXRsaWNoIGdlZm9lcmRlcnQgd2VyZGVuLg0KPiBbQWxsZ2VtZWluOkd1eWJydXNoXSBhY2hqYSwgR3JpbW0sIHdpZSB3YXIgbm9jaCBkaWUgbGV0enRlIGxla3Rpb24/DQpbQWxsZ2VtZWluOldhcmdvbl0gRGllIEZyYWdlIHdhciBoYXJtbG9zIGdlc3RlbGx0LiBFcyB3dXJkZSBuaWNoIHVuYmVkaW5ndA0KW0FsbGdlbWVpbjpXYXJnb25dIGVpbmUgaGFybWxvc2UgRnJhZ2UgZ2VzdGVsbHQuIDspDQpbQWxsZ2VtZWluOk1hcml0YV0gbmEga2xhciBtYWNoIGljaCBtaXQgOikNCltBbGxnZW1laW46QWxpbmVdIFNlaXQgd2FubiBpc3QgRW5neSBrZWluZSBGcmF1IG1laHI/DQpbQWxsZ2VtZWluOlNlbWlyYV0gZ3V0IGdlc2FndCwgd2FyZ29uDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gSWNoIGJpbiBrZWluIENoYXV2aSwgaWNoIGJpbiBhbGxlbiBnZWdlbnVlYmVyIGFycm9nYW50Lg0KW0FsbGdlbWVpbjpMYXJpc3NhIGdyaW5zdCBXYXJnb24gYW5dDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBCaW4gaWNoIG5pY2h0PyBBcmdsIQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gQmluIGljaCBkb2NoLi4uDQo+IFtBbGxnZW1laW46R3JpbW1ib3JuXSBCaXN0IER1IGRvY2gsIG5hdHVlcmxpY2gtLg0KW0FsbGdlbWVpbjpTZW1pcmFdIGVpbmUgY2hhdXZpbmlzdGlzY2hlIGZyYXU/DQpbQWxsZ2VtZWluOldhcmdvbl0gQWx0ZXJuYXRpdiBrYW5uc3QgRHVzIGphIGF1Y2ggdW50ZXIgIk9obmUgKHdlaXRlcmUpIFdvcnRlIg0KW0FsbGdlbWVpbjpXYXJnb25dIHNwZWljaGVybg0KW0FsbGdlbWVpbjpDcmVhdGl2ZSBtdXNzIGRpZSBuZXR0ZSBVbnRlcmhhbHR1bmcgbGVpZGVyIHZlcmxhc3Nlbi5dDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBFaW5lIGNoYXV2aW5pc3Rpc2NoZSBGcmF1LiBKYXdvbGwhDQo+IFtBbGxnZW1laW46U2VtaXJhIHdpbmt0IGlocmVtIG1hbm4genUgLSBiaXMgZ2xlaWNoICAtIHdpciBsb2dnZW4gbWl0XQ0KW0FsbGdlbWVpbjpBbGluZV0gRWhlciBlaW5lIHp1IGJsb2VkZSBGcmF1LCBTZW1pcmEgKGljaCBtZWluZSBtaXQgZGVyIHp1DQpbQWxsZ2VtZWluOkFsaW5lXSBibG9lZGVuIEZyYXUgRW5neXd1Y2spIQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEFsbGVzX2lzdF9nZXNhZ3QNCltBbGxnZW1laW46TWFyaXRhIHZlcnN0ZWh0IG5pY2h0LCB3YXMgd2lyIENyZWF0aXZlIGFuZ2V0YW4gaGFiZW4uXQ0KW0FsbGdlbWVpbjpBZWxsXSBOYXR1ZXJsaWNoIC0tIGluIG1laW5lciBCZWthbm50c2NoYWZ0IGtvZW5uZW4gZGllIEZyYXVlbiBkaWUNCltBbGxnZW1laW46QWVsbF0gYmVzdGVuIENoYXV2aS13aXR6ZSA6KQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gVmllbGxlaWNodCB1bnRlciAiRGlsZG9zJkd1cmtlbiZTZXgmQnVlZ2VsbiIgPw0KW0FsbGdlbWVpbjpHdXlicnVzaF0gaG0uLmljaCBrb2VubnQgamEgbWFsIG1pdCBhbGluZSB1ZWJlcm4sIGRpZSByYWZmdCBhdWNoDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBub2NoIG5pY2ggc28gZ2FueiwgZ2xhdWIgaWNoDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBobS4uLiBpY2ggZGVuayBub2NoIG1hbCB1ZWJlciBkaWUgQmV0dGthbnRlIG5hY2ggOikgYmlzDQpbQWxsZ2VtZWluOkNyZWF0aXZlXSBzcGFldGVyIDopDQpbQWxsZ2VtZWluOlNlbWlyYV0gbmEgd2FydCBhYiwgd2FzIHZpZWxsZWljaHQgbm9jaCBkYXp1a29tbXQNCltBbGxnZW1laW46THVnXSBXYXMgaGllciB3aWVkZXIgbG9zIGlzdC4uLiA6KQ0KW0FsbGdlbWVpbjpTZW1pcmEgaGF0IGR1bW1lcndlaXNlIGh1bmdlcl0NCltBbGxnZW1laW46R3JpbW1ib3JuXSBEYSB3aWxsIGljaCBGb3RvcyB2b24gc2VoZW4sIEd1eSENCltBbGxnZW1laW46QWxpbmVdIEljaCB1ZWIgbmljaHQgbWl0IGRlbSBDaGF1dmllISBJY2ggYmluIHp1ZnJpZWRlbiBtaXQgbWVpbmVtDQpbQWxsZ2VtZWluOkFsaW5lXSBLb2VubmVuISEhIQ0KW0FsbGdlbWVpbjpNYXJpdGFdIGljaCBsaWViZSBzY2hvd2ktd2l0emUNCltBbGxnZW1laW46R3JpbW1ib3JuIGRlciBBdGhlaXN0IGtudXJydCBhdWNoIGdhbnogbmV0dCBkZXIgTWFnZW4uIDotKF0NCltBbGxnZW1laW46RW5neXd1Y2tdIEF1ZiB3ZW4sIFNlbWlyYT8gQWxpbmVzIERpbGRvPw0KPiBbQWxsZ2VtZWluOlNlbWlyYV0gbmljaHQgZ2FueiwgZW5neQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIE5hLCBBbGluZSwgbWFuIHNvbGx0ZSBuaWNodCBkZXIgTWVpbnVuZyBzZWluLCBkYXNzIG1hbg0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIG5pY2h0IG5vY2ggZGF6dWxlcm5lbiBrb2VubnRlLi4uDQpbQWxsZ2VtZWluOkFsaW5lXSBBbHMgRW1hbnplIGJpbiBpY2ggdm9uIG1pciB1ZWJlcnpldWd0IQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEhhc3QgRHUgd2FzIGdlZ2VuIEd1cmtlbiwgU2VtaXJhPyA7LSkNCltBbGxnZW1laW46R3V5YnJ1c2hdIHNvIHdpZSBpY2ggZGFzIGFuZmFuZywgaGFzdCBkdSBlcyBzaWNoZXIgbm9jaCBuaWNoDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBlcmxlYnQsIEFsaW5lLiAuLi5pY2ggd2Vpc3MgZXMgc2VsYnN0IG1ub2NoIG5pY2ggZ2VuYXUNCltBbGxnZW1laW46RW5neXd1Y2tdIFdhcyBrYW5uIEFsaW5lIGlocmVtIE5lb25waW5rZW4gRGlsZG8gZGVubiBub2NoDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBiZWlicmluZ2VuPw0KPiBbQWxsZ2VtZWluOkFsaW5lXSBOaW1tIE1vZWhyZW4gZnVlciBkZW4gQW5mYW5nIQ0KW0FsbGdlbWVpbjpHdXlicnVzaF0gYWJlciB3aXJkIHNpY2hlciBndXQgOikNCltBbGxnZW1laW46Q3JlYXRpdmVdIE1haXNrb2xiZW4hDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gQmluIGljaCB2b24gbWlyIGF1Y2gsIGFiZXIgZGFzIGhlaXNzdCBuaWNodCwgZGFzcyBpY2gNCltBbGxnZW1laW46R3JpbW1ib3JuXSBtaWNoIGFscyBhdXNnZWxlcm50IGJldHJhY2h0ZW4gd3VlcmRlLg0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEljaCB1ZWJlIGZsZWlzc2lnIHdlaXRlci4gOi0pDQpbQWxsZ2VtZWluOlNlbWlyYSBncmlsbHQgZGllIG1haXNrb2xiZW4gbGllYmVyIHVuZCBpc3N0IHNpZSBhdWZdDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBNYWlza29sYmVuIHNpbmQgbmUgZ3V0ZSBJZGVlLCBqYS4uLg0KPiBbQWxsZ2VtZWluOkFsaW5lXSBOb2UgZGFua2UgQ2hhdmllISBVZWIgRHUgYmVzc2VyIG1pdCBHcmltbWJvcm4gd2VpdGVyIQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gRGVyIGVpbnppZ2UgV2VnLCBNYWlza29sYmVuIHp1IGVzc2VuLi4uDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBub2UsIGF1ZiBkaWUgZGF1ZXIgd2lyZCBkYXMgb2VkLi4uYWJlciBkYSBkdSBkb2NoIHNvIGd1dA0KW0FsbGdlbWVpbjpHdXlicnVzaF0gYmlzdCwga2FubnN0ZSB1bnMgdmllbGxlaWNodCB3YXMgYmVpYnJpbmdlbj8NCltBbGxnZW1laW46QWxpbmVdIEloaGggaGVpc3NlIGdlZ3JpbGx0ZSBNYWlza29sYmVuLCB0dXQgZGFzIG5pY2h0IHdlaCBTZW1pcmE/DQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBBbGluZSBtYWNodCBuZW4gV29ya3Nob3AgYXVmIGRlciBuYWVjaHN0ZW4gUGFydHkuLi4NCj4gW0FsbGdlbWVpbjpTZW1pcmFdIGVzc3NlbiwgYWxpbmUuLi5lc3NlbiwgbWFtcGVuICxuaWNodCB2ZXJuYXNjaGVuIQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIE9LLCBBbGluZSwgZGFubiB0ZWlsZSBtYWwgdm9uIERlaW5lbSByZWljaGVuDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gRXJmYWhydW5nc3NjaGF0ei4NCltBbGxnZW1laW46QWVsbF0gTmFzY2hlbj8gU2Nob2tvbWFpc2tvbGJlbj8NCltBbGxnZW1laW46R3JpbW1ib3JuXSBJY2ggbGVybmUgaW1tZXIgZ2VybmUgZGF6dS4NCltBbGxnZW1laW46RW5neXd1Y2tdIERlciBlaW56aWdlIFdlZywgU2Nob2tvbWFpc2tvbGJlbiB6dSBlc3Nlbi4uLiBtamFtDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSA7KSkpKSkNCj4gW0FsbGdlbWVpbjpTZW1pcmFdIGlnaXR0DQpbQWxsZ2VtZWluOkR1c3R5IHdpbGwgc2Nob2tvZm9uZHVlLl0NCltBbGxnZW1laW46Q3JlYXRpdmVdIGtvZXN0bGljaC4uLiBkZXIgZWluemlnZSBXZWcsIE1vemFydGt1Z2VsbiB6dSBlc3Nlbg0KW0FsbGdlbWVpbjpDcmVhdGl2ZV0gaGFtamFtDQpbQWxsZ2VtZWluOlNlbWlyYSBiZXZvcnp1Z3QgYXVjaCBzY2hva29mb25kdWVdDQpbQWxsZ2VtZWluOkd1eWJydXNoIGJyYXV0IHNpY2ggbWFsIHdpZWRlciBlaW4gV2hpc2t5Zm9uZHVlIDopXQ0KW0FsbGdlbWVpbjpBZWxsXSBKbywgbXVlc3N0IHNjaG9uIFNjaG9rb2xhZGUgbWl0IGhvaGVtIFNjaG1lbHpwdW5rdCBzZWluLi4uDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBGdWVyIGRhcyBTY2hva29mb25kdWUgaXN0IFNlbWlyYXMgSGludGVybiB6dSAuLi4NCltBbGxnZW1laW46RW5neXd1Y2tdIGFlaC4uLmF1c2xhZGVuZCA7KQ0KPiBbQWxsZ2VtZWluOkdyaW1tYm9ybl0gTW96YXJ0a3VnZWxuIHNpbmQgc3VwZXIhICpzY2htYWNodCoNCltBbGxnZW1laW46QWxpbmVdIFdhciBkYSBuaWNodCBlaW4gZnJhbnpvZXNpc2NoZXIgS29lbmlnLCBkZXIgZGFyYW4gZ2VzdG9yYmVuDQpbQWxsZ2VtZWluOkFsaW5lXSBpc3QgZGFzcyBlciBzaWNoIGVpbmVuIGdsdWVoZW5kZW4gU3RhYiBpbiBkZW4gRGFybQ0KW0FsbGdlbWVpbjpBbGluZV0gZWluZnVlaHJlbiBsaWVzcyAodm9uIHNlaW5lbSBMaWViaGFiZXIpPw0KW0FsbGdlbWVpbjpTZW1pcmFdIGJpdHRlIHdhcyBoYXQgZGVyIGdldGFuIHVuZCB2b3IgYWxsZW0gd2FydW0/DQpbQWxsZ2VtZWluOlRvcmVuZV0gTmEsIHdpZSBsZWNrZXIhIFdpZSB3YXIgZGFzIG1pdCBLYXRoYXJpbmUgZGVyIEdyb3NzZW4sIGRpZQ0KW0FsbGdlbWVpbjpUb3JlbmVdIHNvZ2FyIG1pdCBQZmVyZGVuLi4uIG5hamE/DQpbQWxsZ2VtZWluOlVsdWxhXSBOZWUsIEFsaW5lLCBlaW4gZW5nbGlzY2hlciB3YXIgZGFzDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gU293YXMgcHJha3RpemllcnN0IER1LCBBbGluZT8gTmEsIGljaCB3ZWlzcyBuaWNodC4uLg0KW0FsbGdlbWVpbjpNYXJpdGFdIGVpbiBlbmdsaXNoY2UgZ2xhdWIgaWNoDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBTaW5kIERBUyBEZWluZSBGYW50YXNpZW4sIEFsaW5lPz8/Pw0KPiBbQWxsZ2VtZWluOkNyZWF0aXZlXSBodWNoDQpbQWxsZ2VtZWluOkFsaW5lXSBXaWxsc3RlIGpldHp0IG5pY2h0IG1laHIgbWl0IG1pciB1ZWJlbiwgR3JpbW1ib3JuPw0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIER1IHdvbGx0ZXN0IHVucyBkb2NoIHdhcyBiZWlicmluZ2VuLCBBbGluZSENCltBbGxnZW1laW46QWxpbmVdIEViZW4hDQpbQWxsZ2VtZWluOlNlbWlyYV0gYWxzbywgaWNoIHd1ZXJkIG1pciBkYXMgdWViZXJsZWdlbiwgZ3JpbW0NCltBbGxnZW1laW46UmFmZmkgd3VuZGVydCBzaWNoIGZ1ZXIgd2FzcyBkaWUgYW53ZXNlbmRlIFdlaWJsaWNoa2VpdCBzaWNoIHNvDQppbnRlcmVzc2llcnQuXQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEljaCBkYWNodGUgbWVociBhbiBlaW5lIEJlc2NocmVpYnVuZyBoaWVyLiBXaXIgc2luZCBqYQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIG5pY2h0IGFsbGUgc28gcGVyZmVrdCBpbSBCZXR0IHdpZSBEdS4gOy0pDQpbQWxsZ2VtZWluOkFsaW5lXSBBY2ggdW5kIHZvbSBsZXNlbiB3b2xsdCBpaHIgZXMgZGFubiBrb2VubmVuPw0KW0FsbGdlbWVpbjpFbmd5d3Vja10gQmlzbGFuZyBoYXQgZGFzIExvZyAzNyBLIDspDQo+IFtBbGxnZW1laW46R3JpbW1ib3JuXSBOYWphLCBpY2ggYmluIG5haCBkcmFuLCBhYmVyIGltbWVyIG5vY2ggbmljaHQgYXVmDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gRGVpbmVyIEViZW5lLg0KW0FsbGdlbWVpbjpTZW1pcmFdIGlzIGphIG1pa3JpZywgbWVpbiBob2NoemVpdHNsb2cgaGF0IDEwMi4uLm5hamEsIGpldHp0IG51cg0KW0FsbGdlbWVpbjpTZW1pcmFdIG5vY2ggOTAuLi4NCltBbGxnZW1laW46RW5neXd1Y2tdIEVzIGdpYnQgdmllbGUgRGluZ2UsIGRpZSBtYW4gc2ljaCBkdXJjaCBsZXNlbg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gYmVpYnJpbmd0Li4uDQo+IFtBbGxnZW1laW46QWxpbmVdIERhbm4gcHJvYmllciBkYXMgbWl0IGRlciBnbHVlaGVuZGVuIFN0YW5nZSwgR3JpbW1ib3JuIQ0KW0FsbGdlbWVpbjpBbGluZV0gVmllbGxlaWNodCBiaXN0ZSBkYW5uIGF1ZiBtZWluZXIgRWJlbmU7KQ0KW0FsbGdlbWVpbjpHcmltbWJvcm4gZGVyIEF0aGVpc3Qgbmlja3QgRW5neSB6dS4gUEMgSVYuLi4gOi0oXQ0KW0FsbGdlbWVpbjpBbGluZSBncmluc3Qgc2F0YW5pc2NoXQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gRGFzIFNjaHdhbmdlcnNjaGFmdHNsb2cgaGF0IDQ1IEsgOykNCj4gW0FsbGdlbWVpbjpHcmltbWJvcm5dIE9jaCwgbm9lLCBnbGF1YiBuaWNodCwgZGFzcyBtaXIgZGFzIHp1c2FndC4gSXN0IG5pY2h0DQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gZ2FueiBtZWluIFN0aWwuLi4NCltBbGxnZW1laW46TWFyaXRhXSBhbGluZSBnbGF1YnQgZGFzcyBiZWkgaWhyIGplZGVyIGVpbmUgZ2x1ZWhlbmRlIHN0YW5nZQ0KW0FsbGdlbWVpbjpNYXJpdGFdIGtyaWVndCA6KSkNCltBbGxnZW1laW46R3JpbW1ib3JuXSBTY2hpZWIgbWFsIHJ1ZWJlciwgZGllIGxvZ3MuDQpbQWxsZ2VtZWluOldvb2R5XSBlbmd5LCBkdSBsb2dnc3Qgd29obCBhbGxlcyBtaXQgOikNCltBbGxnZW1laW46U2VtaXJhXSBzb3NvDQpbQWxsZ2VtZWluOkVuZ3l3dWNrIHBydXN0ZXQgTWFyaXRhIGFuLi4uXQ0KW0FsbGdlbWVpbjpEdXN0eSBoYXQgbmV1bGljaCBkYXMgbG9nIHNjaHdlaW5lcmVpLmxvZyBnZWxvZXNjaHRdDQpbQWxsZ2VtZWluOldvb2R5IHNpZWh0IG9uIHNjaGllIHd1ZWNrIHVudGVyIGh1bmRlcnRlbiB2b24gdGFwZXMgbWl0IGxvZ2ZpbGVzDQpoZXJ2b3JsdWdlbl0NCltBbGxnZW1laW46QWxpbmVdIER1IG11c3N0IG5pY2h0IHZvbiBEaXIgYXVmIGFuZGVyZSBzY2hsaWVzc2VuLCBNYXJpdGEhDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBIYWV0dGVzdGUgYmVzc2VyIG1pciBnZW1haWx0IDspDQpbQWxsZ2VtZWluOlNlbWlyYSBoYXQgamV0enQgaHVuZ2VyIGF1ZiB3YXMgenUgZXNzZW4gKHVtIHNwZWt1bGF0aW9uZW4NCnZvcnp1YmV1Z2VuKSB1bmQgc2NobGFndCB2b3IsIGRpZSBkaXNrdXNzaW9uIGZ1ZXIgMSBzdHVuZGUgenUgdW50ZXJicmVjaGVuXQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gaWNoIGhhYiBiaXNoZXIgZXJzdCAxMSBMb2dzLi4uDQo+IFtBbGxnZW1laW46R3JpbW1ib3JuXSBKbywgdm9uIEFsaW5lIGtvbW1lbiBzY2hlaW5iYXIgZG9jaCBrZWluZSBUcmlja3MgbWVoci4NCltBbGxnZW1laW46R3JpbW1ib3JuXSA6LSgNCltBbGxnZW1laW46V29vZHldIGVuZ3ksIDExID8NCltBbGxnZW1laW46QWxpbmVdIFNvIGljaCBkZW5rZSBkYXMgd2FyIGVzIGpldHp0IQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gQWxpbmUgaXN0IGhhbHQgZG9jaCBsYW5nd2VpbGlnIGltIEJldHQuLi4NCltBbGxnZW1laW46RW5neXd1Y2tdIDExLCBXb29keSA7KQ0KPiBbQWxsZ2VtZWluOldvb2R5IGVyaW5uZXJ0IHNpY2ggZGEgYW4gemFobGVucHJvYmxlbWUgYmVpIGVuZ3kuLi4gdm9uIHdlZ2VuDQoxMTAwMSB1bmQgc28gOyldDQpbQWxsZ2VtZWluOkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBoYWV0dGUgZ2VybmUgZWluZW4gS3VyczogIkplZGUgRnJhdSB2b24NCidORUlOISEnenVtIE9yZ2FzbXVzIGluIDEwIE1pbnV0ZW4uIl0NCltBbGxnZW1laW46U2VtaXJhIGtpY2hlcnRdDQpbQWxsZ2VtZWluOk1hcml0YV0gYWxpbmUgZXJ6YWVobCBoaWVyIGRvY2ggZGllIFRyaWNrcywgZGllIGR1IE1JUiBlcnphZWhsdA0KW0FsbGdlbWVpbjpNYXJpdGFdIGhhc3QgOikNCltBbGxnZW1laW46Q3JlYXRpdmVdIHRyaWNrcz8NCltBbGxnZW1laW46RW5neXd1Y2tdIE1hcml0YSwgcGxhdWRlciBEVSBkb2NoIG1hbCBhdXMgZGVyIFRyaWNra2lzdGUuLi4NCj4gW0FsbGdlbWVpbjpTZW1pcmEgbGF1c2NodCBuZXVnaWVyaWcgdW5kIGltbWVyIGxlcm53aWxsaWddDQpbQWxsZ2VtZWluOkFsaW5lXSBHZWh0IG1hbCBhbGxlIHNjaG9lbiB6dSBNYXJpdGEsIGRhbm4gYmVrb21tdCBpaHIgYXVjaCBFdXJlDQpbQWxsZ2VtZWluOkFsaW5lXSBnbHVlaGVuZGUgU3RhbmdlOygNCltBbGxnZW1laW46UmFmZmldIFRyaWNrIC0gd2FzIGlzdCBkYXMgPw0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIExhc3MgbWFsLCBpc3QgZG9jaCB3aWVkZXIgenUgYW5zdHJlbmdlbmQuLi4NCltBbGxnZW1laW46TWFyaXRhXSBhbGluZSBoYXQgZGllIGtvcHBpcmFpdHMNCltBbGxnZW1laW46R3JpbW1ib3JuXSBXaXIgdmVycmF0ZW4gRGljaCBuaWNodCwgTWFyaXRhLg0KW0FsbGdlbWVpbjpFbmd5d3Vja10gVGphLi4udm9uIEFsaW5lIGtvbW10IHdvaGwgbml4IG1laHIuDQo+IFtBbGxnZW1laW46QWxpbmVdIEFjaCBqYSBHcmltbWJvcm4sIHdlbm4gRHUgZGFzIEJ1Y2ggZmVydGlnIGhhc3QgZGFyZiBpY2ggZXMNCltBbGxnZW1laW46QWxpbmVdIGRhbm4gbWFsIGxlc2VuPw0KW0FsbGdlbWVpbjpNYXJpdGFdIGFsc28gYWxpbmUsIElDSCB3YXJzIG5pY2h0IQ0KW0FsbGdlbWVpbjpBbGluZSBsYWNodCBnZXJuZV0NCltBbGxnZW1laW46R3JpbW1ib3JuXSBXZWxjaGVzIEJ1Y2g/IEVTTz8NCltBbGxnZW1laW46U2VtaXJhXSBzY2hsYWVmdCBkaWUgZGlza3Vzc2lvbiBqZXR6dCBlaW4/IGRhbm4ga2FubiBpY2ggamEgZXNzZW4NCltBbGxnZW1laW46U2VtaXJhXSBnZWhlbg0KW0FsbGdlbWVpbjpBbGluZV0gRGFzIEJ1Y2ggbWl0IGRlbSBUaXRlbCAiSmVkZSBGcmF1IGluIDEwIE1pbiB2b20gTmVpbiB6dW0NCltBbGxnZW1laW46QWxpbmVdIE9yZ2FzbXVzIg0KW0FsbGdlbWVpbjpHcmltbWJvcm4gZGVyIEF0aGVpc3Qgd2FydGV0IG5vY2ggYXVmIGRpZSBUZWxlZm9ubnVtbWVyIHZvbg0KQWxpbmUuLi5dDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBhbGluZSA6IG1hbiBzb2xsdGUgbmljaCB2b24gc2FjaGVuIHJlZGVuLCBkaWUgbWFuIG5vY2gNCltBbGxnZW1laW46R3V5YnJ1c2hdIG5pY2h0IGVybGVidCBoYXQNCltBbGxnZW1laW46R3JpbW1ib3JuXSBOb2UsIHNvIGVpbmVuIEt1cnN1cyBoYXR0ZSBpY2ggbWlyIGphIHZvbiBEaXIgZXJob2ZmdC4NCltBbGxnZW1laW46R3JpbW1ib3JuXSBXYXMgd2Vpc3MgZGVubiBpY2ggc2Nob24gdm9uIEZyYXVlbj8NCltBbGxnZW1laW46QWxib2luXSBoYWJlIGljaCBtYWwgd2lkZXIgd2FzIHZlcnBhc3N0Pz86KQ0KW0FsbGdlbWVpbjpGeXRdIHdvenUgc29sbHRlIG1hbiB3YXMgdm9uIGZyYXVlbiB3aXNzZW4/DQpbQWxsZ2VtZWluOkFsaW5lXSBBYiBlciBtaXQgZGVuIHVuZ2V3YXNjaGVuZW4gU29ja2VuIG9obm1hZWNodGlnIG1hY2hlbiwNCltBbGxnZW1laW46QWxpbmVdIHphZWhsdCBuaWNodCENCltBbGxnZW1laW46R3JpbW1ib3JuXSBLbGFwcGUsIEd1eSwgRHUgd2Vpc3N0IGphIG5pY2h0LCB3b3J1bXMgZ2VodCEgOy0pDQpbQWxsZ2VtZWluOk5lc2FqYV0gamEgZGFzIGhhZXR0ZSBkaWNoIHNpY2hlciBpbnRlcmVzc2llcnQgQUxiIDopDQpbQWxsZ2VtZWluOlNlbWlyYV0gdW5kIHZvciBhbGxlbSwgd2FydW0gbnVyIDEwIG1pbnV0ZW4/IHVsdHJha3Vyem1vZHVzIG9kZXINCltBbGxnZW1laW46U2VtaXJhXSB3YXM/DQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gSWNoIGxlaWggRGlyIG1hbCBkYXMgRVNPLUJ1Y2guDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBpY2ggd2Vpc3MgbnVyLCBkYXNzIGVzIGJlaSBhbGluZSBuaWNodCB2b20gbmVpbiB6dW0gby4NCltBbGxnZW1laW46R3V5YnJ1c2hdIGluIDEwIG1pbiBoZWlzc3QsIHNvbmRlcm4gdm9tIGJpdHRlLGJpdHRlIHp1bSBvLiBpbQ0KW0FsbGdlbWVpbjpHdXlicnVzaF0gbnVsbGtvbW1hbml4DQpbQWxsZ2VtZWluOkFsYm9pbl0gYWxzbyAxMCAsaW51dGVuIGlzdCBkb2NoIGtlaW5lIEt1bnN0IDopDQpbQWxsZ2VtZWluOkVuZ3l3dWNrIHBydXN0ZXQgbG9zIHdpZSBTY2hydW1wZmkuXQ0KPiBbQWxsZ2VtZWluOkFlbGxdIER1IGJpc3QgamV0enQgaW0gVWx0cmFrdXJ6bW9kdXMgPiA+ID4gPiA+ID4gPiA+ID4gPiBEdSBiaXN0DQpbQWxsZ2VtZWluOkFlbGxdIGpldHp0IGltIExhbmdtb2R1cy4gPw0KW0FsbGdlbWVpbjpBbGluZV0gTm9lIG1pdCBkZW0gU2NobmVsbC1TcHJ1Y2gsIFNlbWlyYSENCltBbGxnZW1laW46R3JpbW1ib3JuXSBEYSBrb21tdCBkZXIgU3Bhc3MgZXJzdCBuYWNoIEVpbnNldHplbiBkZXMgT3JnYXNtdXMsDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gdWViZXIgMzAgTWludXRlbi4gU2VsdGVuIHNvIGFtdWVzaWVydC4uLg0KW0FsbGdlbWVpbjpTZW1pcmFdIHVuZCB3YXMgd2FyIGRhendpc2NoZW4sIGFlbGw/DQpbQWxsZ2VtZWluOkFsaW5lXSBOaWNodCBuZW5uZW5zd2VydGVzLCBTZW1pcmEhDQpbQWxsZ2VtZWluOkFlbGxdIERhendpc2NoZW4/IFdlaXNzIG5pY2h0LCBkYXMgd2FyIHNvIHVsdHJha3Vyei4uLg0KW0FsbGdlbWVpbjpTZW1pcmEgc2NodWV0dGVsdCBlbnRzZXR6dCBkZW4gS29wZi4uLnRzdHN0cywgMTAgbWludXRlbi4uLmRpZXNlDQpmYXVsZW4gY2hhdXZpbmlzdGVuLi4uXQ0KW0FsbGdlbWVpbjpBbGluZV0gQWxzbyBTZXggd28gbWFuIGhpbnRlcmhlciBuaWNodCB3ZWlzcyB3aWUgZXMgd2FyLCBob2VydA0KW0FsbGdlbWVpbjpBbGluZV0gc2ljaCBuaWNodCBndXQgYW4hDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gQWxzbywgZGFzIG1pdCBkZW0gS3Vyem1vZHVzIGlzdCBNYWVubmVyZG9tYWVuZSwgZGENCltBbGxnZW1laW46R3JpbW1ib3JuXSBoYWJlbiBkaWUgRnJhdWVuIG5pY2h0IG1pdHp1cmVkZW4uDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBMYWVuZ2VyIGFscyAxMCBtaW4gYnJhdWNoIGljaCBuaWUuLi4NCj4gW0FsbGdlbWVpbjpHdXlicnVzaF0ga2VubnN0IGR1IHdhcyBhbmRlcmVzLCBhbGluZT8NCltBbGxnZW1laW46U2VtaXJhXSBrbGluZ3QgZWdvaXN0aXNjaCwgZW5neQ0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEtvbW10IGRyYXVmIGFuLCB2b24gd28gYXVzIER1IHphZWhsc3QsIEVuZ3kuDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBWb20gYW5zcHJlY2hlbiBkZXIgRnJhdT8NCj4gW0FsbGdlbWVpbjpHdXlicnVzaF0gd2llc28sIGVuZ3kga2FubiBudXIgZWlubWFsIDopDQpbQWxsZ2VtZWluOlRvcmVuZV0gTWFjaG8hDQpbQWxsZ2VtZWluOkFsaW5lXSBKYSBHdXkhIEljaCBtYWNoIGphIG5pY2h0IG51ciBiZXNvZmZlbiBTZXgsIHNvIHdpZSBEdSENCltBbGxnZW1laW46R3JpbW1ib3JuXSBPSywgaWNoIGRhY2h0ZSwgYWIgR2VidXJ0Li4uDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBiZXNvZmZlbiBtYWNoIGljaCBlcyBudXIsIHdlbm4gbWVpbiBnZWdlbnVlYmVyIHNpbw0KW0FsbGdlbWVpbjpHdXlicnVzaF0gYXVzc2llaHQgd2llIGR1DQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gSGVoZWhlISBJbW1lciBsYW5nc2FtIQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gR3V5LCBkYSB3dWVyZCBpY2ggbmljaHQgQWxrb2hvbCBzb25kZXJuIG5lIFBhcGllcnR1ZXRlDQpbQWxsZ2VtZWluOkVuZ3l3dWNrXSBlbXBmZWhsZW4uLi4NCltBbGxnZW1laW46VG9yZW5lXSAiRGEgbXVlaHQgbWFuIHNpY2ggZWlubWFsLCBydWFzenVrb21lbiwgdW0gZGFubiBzZWluDQpbQWxsZ2VtZWluOlRvcmVuZV0gZ2FuemVzIExlYmVuIGxhbmcgenUgdmVyc3VjaGVuLCB3aWVkZXIgcmVpbnp1a29tbWVuIiBvZGVyDQpbQWxsZ2VtZWluOlRvcmVuZV0gd2llIHdhciBkYXMgaW4gIkd1Y2sgbWFsLCB3ZXIgZGEgc3ByaWNodCI/DQpbQWxsZ2VtZWluOkd1eWJydXNoXSB6dSBkdWVubiwgZW5neQ0KW0FsbGdlbWVpbjpHdXlicnVzaF0gbWFuIGtvZW5udCBub2NoIHdhcyBlcmtlbm5lbg0KW0FsbGdlbWVpbjpBbGluZV0gQWNoIGRlc3dlZ2VuIHdhcnN0ZSBiZWkgR3JpbW1ib3JuIGJsYXUsIENoYXV2aWUhDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gQWxrb2hvbCBzdGVpZ2VydCBkYXMgVmVybGFuZ2VuIHVuZCBtaW5kZXJ0IGRhcyBLb2VubmVuLg0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIFVlYmVyIGRpZXNlbiBNeXRob3MgaXN0IFNjaG5hcmNoIGF1Y2ggZ2VzdG9scGVydC4uLiA7LSkNCltBbGxnZW1laW46TXVwZmVsXSBoZWhlaGUNCltBbGxnZW1laW46RW5neXd1Y2sga2ljaGVydCBHcmltbWJvcm4gYW4uXQ0KPiBbQWxsZ2VtZWluOkd1eWJydXNoXSBuYWphLCBHcmltbSBpcyB6d2FyIGtlaW4gc2Nob2VuaGVpdHNpZG9sLi5hYmVyIGVyDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBzY2hsYWVndCBkaWNoIG5vY2ggdW0gbGFlbmdlbiBiZWkgZGVyIHdhaGwgenVyIG1pc3MNCltBbGxnZW1laW46R3V5YnJ1c2hdIHdvcmxkLi4uLnVuZCBkYXMgYWxzIG1hbm4NCltBbGxnZW1laW46U2VtaXJhICBkZW5rdCBvIE8ga2xhbmcgYWJlciBuZXQgc28gaW4gTGluei4uLm9kZXIgZXJob2V0cyBhdWNoDQpkaWUgTGF1dHN0YWVya2UgKmdydWViZWwqXQ0KW0FsbGdlbWVpbjpBbGluZV0gV2FzIHdhciBkZW5uIGxhdXQsIFNlbWlyYT8gKmZyYWcgdW5zY2h1bGRpZyoNCltBbGxnZW1laW46R3JpbW1ib3JuXSBNaXIga2FubnN0ZSBuaXggbmFjaHdlaXNlbiwgU2VtaXJhLCB3aXIgd2FyZW4gbGVpc2UuDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gQXVzc2VyZGVtIGhhYnQgaWhyIGdlc2NobGFmZW4hDQpbQWxsZ2VtZWluOlNlbWlyYV0gc29zbw0KW0FsbGdlbWVpbjpFbmd5d3VjayBST1RGTFQuIE1pdCBOYWNoZHJ1Y2shXQ0KPiBbQWxsZ2VtZWluOlNlbWlyYSB6dWVja3QgZWluIFRvbmJhbmRdDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gTmVuZSwgZGVyIEJsdWZmIGdlaHQgbmljaHQhDQpbQWxsZ2VtZWluOk1hcml0YSBsYXVzY2h0IGdlc3Bhbm50Ll0NCltBbGxnZW1laW46QmVuZGVpZ2lkXSBpbSBhckdlbi4uIHRzdHMNCltBbGxnZW1laW46QWxpbmUgbW9lY2h0ZSBkYXMgVG9uYmFuZCBoYWJlbl0NCltBbGxnZW1laW46U2VtaXJhIGxhZXNzdCBHcmltbSBtYWwgaG9lcmVuXQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gRXJzdCBEZWluIEt1cnMsIEFsaW5lLi4uDQo+IFtBbGxnZW1laW46R3JpbW1ib3JuXSBPY2gsIGRhcyB3YXIgbnVyIGRlciBGZXJuc2VoZXIsIFNlbWlyYS4NCltBbGxnZW1laW46U2VtaXJhXSBXQVMgaGFidCBpaHIgZXVjaCBkZW5uIGJsb3NzIGFuZ2VzZWhlbj8/Pz8NCltBbGxnZW1laW46QWxpbmVdIFdhcyBzY2h3ZWluaXNjaGUgRmlsbWUgaGFidCBpaHIgYXVjaCBnZWd1Y2t0Pw0KW0FsbGdlbWVpbjpFbmd5d3Vja10gTWl0IHBpbmtmYXJiZW5lbiBEaWxkb3MuLi4NCj4gW0FsbGdlbWVpbjpHcmltbWJvcm5dIE5pY2h0cywgZGFzIFRlc3RiaWxkLi4uDQpbQWxsZ2VtZWluOkFsaW5lIGZ1ZWhsdCBzaWNoIGV0d2FzIGF1c2dlc2NobG9zc2VuXQ0KW0FsbGdlbWVpbjpTZW1pcmEgaGFldHQgZGFzIGphIG5pY2h0IHZvbiBzY2hydW1wZmkgdW5kIGdyaW1tIGdlZGFjaHQuLi5dDQpbQWxsZ2VtZWluOkd1eWJydXNoXSBhbGluZSBzY2hlaW50IGludGVyZXNzaWVydCBhbiBzbyBmaWxtZW4sIHNpZSB3aWxsIG5vY2gNCltBbGxnZW1laW46R3V5YnJ1c2hdIGxlcm5lbg0KW0FsbGdlbWVpbjpTZW1pcmFdIHRlc3RiaWxkPyBpbnRlcmVzc2FudGVzIHRlc3RiaWxkIGhhYmVuIGRpZSBvZXNpcyA6KQ0KW0FsbGdlbWVpbjpEdXN0eSBoYXQgZWlnZW50bGljaCBodW5nZXIuXQ0KW0FsbGdlbWVpbjpTZW1pcmEgaGF0IGF1Y2ggaHVuZ2VyXQ0KW0FsbGdlbWVpbjpGeXQgYXVjaF0NCltBbGxnZW1laW46R3JpbW1ib3JuXSBXZWlzcyBuaWNodCB3YXMgRHUgd2lsbHN0LCB3aXIgaGFiZW4gdW5zIGphIGJlbm9tbWVuLg0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEltIEdlZ2Vuc2F0eiB6dSBnZXdpc3NlbiBhbmRlcmVuIExldXRlbi4uLg0KW0FsbGdlbWVpbjpCYW1idWxrb10gaG1tIEh1bmdlcj8/DQpbQWxsZ2VtZWluOk11cGZlbF0gYWJlciB3b3JhdWY/IDotKQ0KW0FsbGdlbWVpbjpKb2YgbmljaHRdDQpbQWxsZ2VtZWluOkFsaW5lIGhhdCBzY2hvbiBkZW4gMi4gWnVnIHZlcnBhc3N0XQ0KW0FsbGdlbWVpbjpGeXQgZ3Vja3QgRHVzdHkgZ2FueiBsaWllYiBhbi4uLl0NCltBbGxnZW1laW46RHVzdHldIGF1ZiB3YXMgenVtIGVzc24NCltBbGxnZW1laW46Rnl0XSBhcmcuLi4gZGllIGhhdCBqYSBhdWNoIG5peCB6dSBmdXR0ZXJuIDp8fHwNCltBbGxnZW1laW46U2VtaXJhXSBlcnphZWhsLiBFaW4gZ2VydWVjaHQhIEVpbiBnZXJ1ZWNodCENCltBbGxnZW1laW46RW5neXd1Y2sgaGF0IHNvdmllbCBIdW5nZXIgd2llIEpvZi5dDQo+IFtBbGxnZW1laW46QWxpbmVdIEljaCBiZW5laG0gbWljaCBhdWNoIGltbWVyIQ0KW0FsbGdlbWVpbjpGeXRdIGJyaW5nIGxpZWJlciB3YXdzIHZvaXJiZWkgOikNCltBbGxnZW1laW46Sm9mXSBBbHNvIGtlaW5lbiwgRW5neT8NCltBbGxnZW1laW46QWxpbmVdIEZyYWd0IHNpY2ggbnVyIHdpZSA6KQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gR2VuYXUsIEpvZi4NCltBbGxnZW1laW46U2VtaXJhXSBpY2ggaGFiIGRvY2ggZ2VzY2hsYWZlbiwgZ3JpbW0sIGhhc3RlIHNlbGJlciBnZXNhZ3QNCltBbGxnZW1laW46R3JpbW1ib3JuXSBLbGFyLCB3ZXIgbmljaHQgZXhpc3RpZXJ0IGthbm4gYXVjaCBrZWluZW4gSHVuZ2VyDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gaGFiZW4uIFNpYy4NCltBbGxnZW1laW46TWFyaXRhXSBhYmVyIGRlaW4gdG9uYmFuZCBuaWNodA0KW0FsbGdlbWVpbjpBbGluZV0gSXN0IGRhcyBuaWNodCBibG9lZCBTZW1pcmEsIHdlbm4gbWFuIGRhYmVpIHNjaGxhZWZ0Pw0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEljaCBtZWluZSBkYXMgbWl0IGRlbiBhbmRlcmVuIExldXRlbi4NCltBbGxnZW1laW46RW5neXd1Y2tdIEhlaXNzdCBlcyBuaWNodCAibWl0ZWluYW5kZXIgc2NobGFmZW4iID8/Pw0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIEdlaHQgc28sIEFsaW5lLiBIYWIgbmllIGthcGllcnQsIHdpZXNvIGRpZSBGcmF1IGRhYmVpDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gdW5iZWRpbmd0IHdhY2ggc2VpbiBzb2xsdGUuLi4NCltBbGxnZW1laW46U2VtaXJhXSBwc3Nzc3Nzc3Nzc3QsIGVuZ3kNCltBbGxnZW1laW46QmVuZGVpZ2lkIGdyaW5zdF0NCltBbGxnZW1laW46QWxpbmVdIEphIEVuZ3kgYWJlciBtYW4gc29sbHRlIGRhYmVpIHdhY2ggYmxlaWJlbjspDQpbQWxsZ2VtZWluOk1hcml0YSBkZW5rdCAuIG8gTyAoTGllYmxpbmcsIGljaCBzY2hsYWYgc2Nob24gbWFsLCBEdSB3ZWlzc3QgamEsDQp3byBhbGxlcyBpc3QpXQ0KW0FsbGdlbWVpbjpFbmd5d3Vja10gaWNoIGtlbm4gbWljaCBoYWx0IG5pY2h0IHNvIGd1dCBhdXMgd2llIER1LCBBbGluZS4uLg0KPiBbQWxsZ2VtZWluOkFsaW5lIHJvdGZsdF0NCltBbGxnZW1laW46TXVwZmVsIGdyaW5zdCBNYXJpdGEgYW5dDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gUnggc2FndDogTWFjaCBEaXJuIHNjaG9lbmVuIEFiZW5kLCBEdSB3ZWlzc3QgamEsIHdvIGVyDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gaGFlbmd0Lg0KW0FsbGdlbWVpbjpKb2ZdIEhtIE1hcml0YSBpc3QgYWJlciBlaW4gWndlaXRpZSB2b24gQWxpbmUsIG9kZXI/DQpbQWxsZ2VtZWluOkFsaW5lIGtudWRkZWx0IE1hcml0YV0NCltBbGxnZW1laW46QXNtb2Rpc10gbm9lLCBhbGluZSBpc3QgZWluIHp3ZWl0aWUgdm9uIG1hcml0YSA6KQ0KW0FsbGdlbWVpbjpNYXJpdGEgP1tDMTdrbnVkZGVsbHQgenVydWVja10NCltBbGxnZW1laW46R3JpbW1ib3JuXSBBY2ggbmVlLi4uDQpbQWxsZ2VtZWluOkpvZl0gb2RlciBzb3J1bQ0KW0FsbGdlbWVpbjpNYXJpdGFdIHNjaC4uLg0KW0FsbGdlbWVpbjpBbGluZV0gTm9lIEpvZiEgVm9uIG1laW5lciBad2VpdGllIEthbWlsbGUgZGllIFp3ZWl0aWUhDQo+IFtBbGxnZW1laW46TWFyaXRhXSBrYW1pbGxlIGlzdCBNRUlOIDJ0aSEhDQpbQWxsZ2VtZWluOkFsaW5lXSBOZWluIQ0KW0FsbGdlbWVpbjpTZW1pcmEgZ2VodCBqZXR6dCBlcnN0bWFsIHdhcyBlc3NlbiB1bmQgd3VlbnNjaHQgRXVjaCBub2NoDQpoZWRvbmlzdGlzY2hlIEdlZGFua2VuLiBCaXMgZ2xlaWNoIV0NCltBbGxnZW1laW46TWFyaXRhXSBncnJyDQpbQWxsZ2VtZWluOkFsaW5lXSBEaWUgcHJ1ZWRlIGR1bW1lIEdhbnMgZ2Vob2VydCB6dSBtaXIhDQpbQWxsZ2VtZWluOkFzbW9kaXNdIGhtbSwgZHVlcmZlbiBlcyBhdWNoIGFuZGVyZSBnZWRhbmtlbiBzZWluID8gOikNCltBbGxnZW1laW46R3JpbW1ib3JuXSBIbW0sIHdhcyBoZWlzc3QgZWlnZW50bGljaCAiaGVkb25pc3Rpc2NoIj8NCltBbGxnZW1laW46QXNtb2Rpc10gRnJhZyBTZW1pcmEgOikNCltBbGxnZW1laW46RW5neXd1Y2tdIEhlZG9uaXN0aXNjaCBoZWlzc3Q6IEZ1ZXIgamVkZSBTY2h3ZWluZXJlaSB6dSBoYWJlbi4NCj4gW0FsbGdlbWVpbjpTZW1pcmFdIGtvZW5udCBpaHIgamEgcmF1c2ZpbmRlbi4uLmRpZSBhdWZsb2VzdW5nIGdpYnRzIGFuY2hoZXINCltBbGxnZW1laW46U2VtaXJhXSB3ZW5uIGNpaCBnZWdlc3NlbiBoYWINCltBbGxnZW1laW46R3JpbW1ib3JuXSBQcnVlZGU/IEtlbm5pY2ggbmljaHQuDQpbQWxsZ2VtZWluOkFsaW5lXSBPaCENCltBbGxnZW1laW46TXVwZmVsXSBoZWRvbmlzdGlzY2ggPSBmcmVzc2VuIHNhdWZlbiBtb2ViZWxuIG9obmUgZW5kZQ0KW0FsbGdlbWVpbjpTZW1pcmEgc29ydGllcnQgZWluIHBhYXIgYnVjaHN0YWJlbiB1bmQgZ2VodF0NCltBbGxnZW1laW46THVnXSBBbHNvIHdlciBuYWdlbHQgamV0enQgd2VuPw0KW0FsbGdlbWVpbjpGeXRdIGVyd2FlaG50IG5pY2h0IHN0YWVuZGlnICdlc3NlbicNCltBbGxnZW1laW46QWxpbmVdIERhbm4gYmluIGljaCBqYSBoZWRvbmlzdGlzY2g7KQ0KW0FsbGdlbWVpbjpTZW1pcmFdIG1vZWJlbG4/IGJ1ZWdlbG4/DQpbQWxsZ2VtZWluOlNlbWlyYSB3aW5rdCBoZWRvbmlzdGlzY2ggdW5kIHZlcmtudWRkZWx0IHNpY2hdDQpbQWxsZ2VtZWluOkFsaW5lXSAiTW9lYmVsbiIga2FubnRlIGljaCBhdWNoIG5vY2ggbmljaHQhIE11c3MgaWNoIG1pciBtZXJrZW4hDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gU28sIGljaCBtdXNzIGhpZXIgd29obCByYXVzLg0KW0FsbGdlbWVpbjpHcmltbWJvcm5dIFdlbm4gU2VtaXJhIHVuZCBFbmd5IGdlaGVuLCBpc3QgaGllciB3aWVkZXIgenUuLi4NCltBbGxnZW1laW46R3JpbW1ib3JuXSAqc2V1ZnoqDQpbQWxsZ2VtZWluOkFjcmltb25dIEljaCBrZW5uZSBudXIgIk1vZWJlbCINCltBbGxnZW1laW46QWxpbmVdIEFiZXIgVmVybW9lYmVsbiBob2VydCBzaWNoIGRhbm4gZXR3YXMgc2VsdHNhbSBhbjspDQpbQWxsZ2VtZWluOkJlbmRlaWdpZF0gR3JpbW0sIGhpZXIgaW0gUlogZ2lidHMgbm9jaCBmcmVpZSBSZWNobmVyLi4NCltBbGxnZW1laW46TXVwZmVsXSBvb29vY2ggZHUgYXJtZXIgYXJtZXIgZ3JpbW1ib3JuDQpbQWxsZ2VtZWluOkdyaW1tYm9ybl0gTm9lbm9lLCBpY2ggZ2VoIGlucyBXRS4NCltBbGxnZW1laW46RW5neXd1Y2tdIFNvLCBkYW5uIGdlaHRzIG1hbC4uLg0KW0FsbGdlbWVpbjpBc21vZGlzXSB3YXMgd29sbHQgaWhyIGRlbm4/IFNjaHdlaW5lYnJhdGVuLCBTY2h3ZWluZWZpbGV0LA0KW0FsbGdlbWVpbjpBc21vZGlzXSBTY2h3ZWluZWd1bGFzY2gsIFNjaHdlaW5lbGVuZGNoZW4sIFNjaHdlaW5lcmlwcGNoZW4sDQpbQWxsZ2VtZWluOkFzbW9kaXNdIFNjaHdlaW5lcnVlY2tlbiwgU2Nod2VpbmVzdGVha3MgPw0KW0FsbGdlbWVpbjpFbmd5d3Vja10gQ2lhby4uLiBCaXMgbmFjaGhlciBldnRsLg0KW0FsbGdlbWVpbjpXb29keV0gdHNjaG9lIG9obiBzY2hpZSB3dWVja2wgOikNCltBbGxnZW1laW46RW5neXd1Y2tdIEhhc3RlIG5pY2h0IGVpbiB2ZWdldGFyaXNjaGVzIFNjaHdlaW5lZ2VyaWNodD8NCj4gW0FsbGdlbWVpbjpBc21vZGlzXSBhaCBLbm9ibGF1Y2hzdGVhayBrbGluZ3QgZ3V0IDopDQpbQWxsZ2VtZWluOkFjcmltb25dIFNjaHdlaW5lcmVpZW4/DQoNCk5lZSwgZ2VudWcgZnVlciBoZXV0ZSA7KQ0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKEdyaW1tYm9ybiwgIDUuIE9rdCAyMDAxLCAwMjoyNDozNyk6Cn4jISBybj1Sb2NodXMgcnQ9MTAwMjIyNjg2NCByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKV2VubiBpY2ggZGVyIFNhdWh1bmQgZXJ3aXNjaCBkZXIgbWljaCBkYW1hbHMgZGFzIFBhc3N3b3J0IGdla2xhdXQgaGF0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgdmVyZGFlY2h0aWd0IG1hbCBHcmltbWRlYXRoIHVuZCBzdHJlaXRldCBzZWluZQpCZXRlaWxpZ3VuZyBhYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhZXJlIGVzIG5pY2h0IG5ldHQuLi4gKEFsYm9pbiwgIDUuIE9rdCAyMDAxLCAwOToxNzo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMjI0MTQ3NyByZz1wYXJ0eQp+IyEgdGlkPTEwMDE5NTc3NzMKYWggR3JpbW1pLCBpY2ggd2VyZGUgbWFsIEF6enVybyBmcmFnZW4gb2IgZXIgbm9jaCBkYXMgTG9nIGhhdCwgd28gRHUgbGlmZSBhdXMKU2Nod2VkZW4gZGVuIEJlYXRlIFVoc2UgS2F0YWxvZyBrb21tZW50aWVydCBoYXN0LiBVbmQgaWNoIGJpbiBtaXIgc2ljaGVyLCBkYXMKd2FyIGtlaW4gUGFzc3dvcnRrbGF1IDstKQoKQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXYWVyZSBlcyBuaWNodCBuZXR0Li4uIChNdWFkaWIsICA1LiBPa3QgMjAwMSwgMTg6MDY6MDEpOgp+IyEgcm49QXJrIHJ0PTEwMDIxODU4MjEgcmc9cGFydHkKfiMhIHRpZD0xMDAxOTU3NzczCm9oIGRpZSBzY2h1cHBlbiBzaW5kIG5vY2ggbmljaHQgZ2VmYWxsZW4/IGFybWVyIGFyayAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZldGUgOi0pICAoTGFyaW5hLCAyMi4gT2t0IDIwMDEsIDE5OjQ1OjQyKToKSGFsbG8gYWxsZXJzZWl0cyEKQWxzb29vLi4uIGVzIHdhZXJlIG1pciBzZWhyIGxpZWIsIHdlbm4gaWhyIGFsbGUgZGFzIEdlbGQgYmlzIHNwYWV0ZXN0ZW5zIHp1bQo0LjEyLjAxIHVlYmVyd2llc2VuIGhhYnQuIEljaCB3ZXJkZSBzbyB1bSBkZW4gNy4xMiBkYXMgbGV0enRlIG1hbCBtZWluZQpLb250b2F1c3p1ZWdlIGhvbGVuLCB1bmQgd2FzIGJpcyBkYWhpbiBuaWNodCBkcmF1ZiBpc3Qgd2lyZCBhbHMgbmljaHQKdWViZXJ3aWVzZW4gYW5nZXNlaGVuIDotKS4gQWxzbyBiaXR0ZSwgZGVua3QgZGFyYW4uIApadWRlbSB3YWVyZSBlcyBhdWNoIGdlc2NoaWNrdCwgd2VubiBpaHIgZXVjaCAoc28gZXMgYW5kZXJzIGdlaHQpIG5pY2h0IGF1ZiBkZW4KbGV0enRlbiBEcnVlY2tlciBhbm1lbGRldCwgZGFtaXQgaWNoIGRlbiBMZXV0ZW4gaW4gZGVyIEJ1cmcgZXJ6YWVobGVuIGthbm4gd2llCnZpZWwgd2lyIGRlbm4gbnVuIHNpbmQgdW5kIHNvLiBVbmQgZGllIHdvbGxlbiBkYXMgcmVjaHQgZnJ1ZWggd2lzc2VuLgpadW1pbmRlc3QgZWluZSBhbm5hZWhlcm5kZSBBbnphaGwuClppbW1lciAtLS0gaWhyIGtvZW5udCBtaXIgZ2VybmUgc2FnZW4sIHdlbm4gaWNoIGJldm9yenVndCBtaXQgYmVzdGltbXRlbgpMZXV0ZW4gaW4gZWluZW0gWmltbWVyIHNjaGxhZmVuIHdvbGx0LCBpY2ggd2VyZGUgYXVjaCBnZXJuZSB2ZXJzdWNoZW4gZGFzIHp1CmJlcnVlY2tzaWNodGlnZW4sIGthbm4gYWJlciBsZWlkZXIgbmljaHQgdmVyc3ByZWNoZW4sIGRhc3MgZGFzIGF1Y2ggaW1tZXIKa2xhcHBlbiB3aXJkLiAKU29vb29vby4uLiBkYSBSb2NodXMgamEgd2llZGVyIE5pa29sYXVzIHNwaWVsdCwgc29sbHRlIG1hbiBhbiBlaW4ga2xlaW5lcwpHZXNjaGVuayBkZW5rZW4gZnVlciBkZW4gS3JhYmJlbHNhY2sgLi4uIHNvIG1hbiBtaXRtYWNoZW4gbW9lY2h0ZSA6LSkuCldhcyB3YXIgbm9jaCAuLi4gYWNoIGphOiB3ZXIgSW50ZXJlc3NlIGFtIFBsYWV0emNoZW4tYmFja2VuIGhhdCwgYml0dGUgYmVpIG1pcgptZWxkZW4gOi0pLgpTbywgZGFzIHdhcnMgZXJzdCBtYWwgd2llZGVyLCBpY2ggZnJldWUgbWljaCBzY2hvbiBhdWYgZGllIEZldGUgOi0pIApsaWViZSBHcnVlc3NlIApTYXNraWEgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJpbGRlciEgKFBlcmRpdGEsIDIyLiBPa3QgMjAwMSwgMjM6MjU6MjMpOgpIdXJyYSEKRGllIGVyc3RlbiBQYXJ0eWJpbGRlciB2b24gZGVyIEJvbm5lciBTb21tZXJwYXJ0eSBzaW5kIGVuZGxpY2ggb25saW5lIQpFaW4gZ3Jvc3NlcyBMb2Igbm9jaG1hbCBhbiBSb2NodXMsIGRhc3MgZGFzIG51biBzbyBzY2huZWxsIHVuZCB1bmtvbXBsaXppZXJ0Cmdla2xhcHB0IGhhdC4KQWJlciBlaW5zIGZyYWcgaWNoIG1pY2ggamEgZG9jaDogd28gYmxlaWJlbiBhbGwgZGllIGFuZGVyZW4gQmlsZGVyPwpQZXJkaXRhIHdhciBkb2NoIHNpY2hlciBuaWNodCBkaWUgZWluemlnZSwgZGllIGdlZm90b2tuaXBzdCBoYXQsIG9kZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQaG90b3M/IChPcmt0b2V0ZXIsIDI4LiBPa3QgMjAwMSwgMjA6MDk6MDQpOgpBbHNvLCBkaWUgdm9uIFBlcmRpdGEgc2luZCBkYSwgYWJlciB3byBibGVpYnQgZGVyIFJlc3Q/IEFsc286IG5pY2h0cyB3aWUKZWluc2Nhbm5lbiwgVGV4dGUgc2NocmVpYmVuIHVuZCBkYW5uIGFiIGFuIFJvY2h1cyEgCgpPcmtULgoKUFMgZGllIGVudHByZWNoZW5kZW4gRm9ybWF0YW5nYWJlbiBmaW5kZW4gc2ljaCBhdWYgZGVyIFBhcnR5c2VpdGUgZGVyCk1HLUhvbWVwYWdlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGhvdG9zPyAoVHJveSwgMjkuIE9rdCAyMDAxLCAxMTowODowOSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAwNDI5NjE0NCByZz1wYXJ0eQp+IyEgdGlkPTEwMDQyOTYxNDQKR2VuYXUhIFNwZXppZWxsIHNvIG5vdG9yaXNjaCBsYW5nc2FtZSBCaWxkZXJlaW5zY2FubmVyIHdpZSBHbG9pbihzb24pIHNlaWVuCmhpZXIgbm9jaCBtYWwgc3BvbnRhbiBhdWZnZWZvcmRlcnQuCgp0cm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBob3Rvcz8gKE1vbnRhbnVzLCAyOS4gT2t0IDIwMDEsIDE5OjU1OjQ3KToKfiMhIHJuPVRyb3kgcnQ9MTAwNDM1MDA4OSByZz1wYXJ0eQp+IyEgdGlkPTEwMDQyOTYxNDQKb2gsIHNvbGFuZ2UgZGllIEJpbGRlciB2b24gZGVyIGxldHp0ZW4gTmlrb2xhdXNmZXRlIG5vY2ggbmljaHQgZGEgc2luZCAoZGllCnNjaG9uIHNlaXQgbmVtIERyZWl2aWVydGVsamFociBhdWZtIE1HLVNlcnZlciBsaWVnZW4sIGZlcnRpZyBlaW5nZXNjYW5udCB1bmQKbWl0IEtPbW1lbnRhcmVuYiB2ZXJzZWhlbiksIHNvbGx0ZW4gd2lyIGVzIG1pdCBkZW5lbiB2b24gZGVyIFNvbW1lcmZldGUgbmljaHQKc28gZWlsaWcgaGFiZW4uCgpqdXN0IG15IDJwCgotTW9udGFudXMgKG1pdHRlbHNjaG5lbGwtRWluc2Nhbm5lcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBob3Rvcz8gKFpvb2ssIDI5LiBPa3QgMjAwMSwgMjA6MTQ6MTgpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAwNDM4MTc0NyByZz1wYXJ0eQp+IyEgdGlkPTEwMDQyOTYxNDQKR25hYWFhLi4uLiEKClpvb2sgaGF0IGF1ZmZlIEFyYmVpdCBrZWluIEludGVybmV0YW5zY2hsdXNzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGhvdG9zPyAoTmFkZGwsICAxLiBOb3YgMjAwMSwgMDE6NDA6MjQpOgp+IyEgcm49Wm9vayBydD0xMDA0MzgyODU4IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNDI5NjE0NApFZ2FsLiBXZW5uIER1IERpY2ggc2NodWxkaWcgYmVrZW5uc3QgaGFzdCBEdSBoaWVybWl0IG5vY2ggJ25lbiBKb2IgbWVoci4gU2llaGUKaW5jb21pbmctVmVyemVpY2huaXMuIE1oaC4gTmVubiBlcyBlaW5lbiBKb2ItQmFsbC4KCk5hZGRsIG5hZGRlbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmlsZGVyLi4uIChab29rLCAgMy4gTm92IDIwMDEsIDE2OjE3OjI1KToKRXMgc2luZCBub2NoIGVpbiBwYWFyIFBhcnR5YmlsZGUgZWluZ2V0cnVkZWx0LCB1bmQgendhcjoKCiBQYXJ0eSBYVmEgKGRhIGdhYiBlcyBub2NoIG5lIFdpbnRlcnBhcnR5IGluIFdpbnRlcmJ1cmcpOiBCaWxkZXIKIHZvbiBNb250YW51cwoKIFBhcnR5IFhJSUksIG5ldWUgQmlsZGVyIHZvbiBHbG9pbgogUGFydHkgWElWLCBuZXVlIEJpbGRlciB2b24gR2xvaW4KIFBhcnR5IFhWLCBuZXVlIEJpbGRlciB2b24gR2xvaW4gdW5kIE1hcnRpbmkKCldlciBzaWNoIGRvcnQgaXJnZW5kd2llIGZhbHNjaCBhYmdlbGljaHRldCBzaWVodCB1bmQgc2VpbiBCaWxkCmdlcm5lIGVudGZlcm50IGhhYmVuIG1vZWNodGUsIG9kZXIgd2VubiBkaWUgQmVzY2hyZWlidW5nIHNlaHIKZmFsc2NoIGlzdCwgYml0dGUgZWluZSBrdXJ6ZSBNaXR0ZWlsdW5nIGFuIGRlbiBFcnN0ZWxsZXIgZGVyCkJpbGRlciwgZWluZW4gRXJ6bWFnaWVyIElocmVzIFZlcnRyYXVlbnMuLi4uIG9kZXIgZ3V0LCBpY2ggbmVobWUgZXMKYXVjaCBhbiB1bmQgYmVhcmJlaXRlIGVzLiA6LSkKCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJpbGRlci4uLiAoVmFyZGlvbiwgIDQuIE5vdiAyMDAxLCAyMjowNTozNCk6Cn4jISBybj1ab29rIHJ0PTEwMDQ4MDA2NDUgcmc9cGFydHkKfiMhIHRpZD0xMDA0ODAwNjQ1Ckthbm4gZXMgc2VpbiwgIGRhc3MgYmVpIE1vbnRhbnVzJyAgQmlsZGVybiBkaWUgVGV4dGUgIGlyZ2VuZHdpZSB1bnZvbGxzdGFlbmRpZwpzaW5kPyBCZXRyaWZmdCBkaWUgIEJpbGRlciAyLCAzLCAgNiwgOCAoZmFsbHMgZGFzICBLb21tYSBhbSBFbmRlICBhdWYgd2VpdGVyZW4KVGV4dCBoaW53ZWlzZW4gc29sbCksIDksIDExLCAxMywgMTQuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YmlsZGVyLi4uIChNb250YW51cywgIDUuIE5vdiAyMDAxLCAyMjowMzo1MCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwMDQ5MDc5MzQgcmc9cGFydHkKfiMhIHRpZD0xMDA0ODAwNjQ1CkljaCBzY2hhdSBtYWwsIG9iIGljaCBkaWUgQmVzY2hyZWlidW5nZW4gbm9jaG1hbCBpcmdlbmR3byBmaW5kZSwgdW5kIHdpbGwKaGllcm1pdCBhYmVyIHNjaG9ubWFsIExvYmVzaHltbmVuIGF1ZiBab29rIGF1c3NjaHVldHRlbiEgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHliaWxkZXIuLi4gKFpvb2ssICA2LiBOb3YgMjAwMSwgMTY6NDc6MjgpOgp+IyEgcm49Wm9vayBydD0xMDA0ODAwNjQ1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNDgwMDY0NQpBaCwgZGVyIEVpbmZhY2hoZWl0IGhhbGJlcjogS29ycmVrdHVyZW4gYml0dGUgYW4gbWljaCwgZGFubiBnaWJ0IGVzIGtlaW5lCkRvcHBlbGFyYmVpdC4gOi0pCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1mZz8gKEVsaXphYmV0aCwgMTEuIE5vdiAyMDAxLCAxNTowMzo0Nik6CkFsbGxzc28sIGRhIGljaCBub2NoIG5pY2h0IHdlaXNzIG9iIGljaCB6dXIgcGFydHkga29tbWVuIGthbm4gd29sbHQgaWNoCmVpbmZhY2ggbWFsIHNvIGR1cmNoaG9yY2hlbiBvYiBqZW1hbmQgdm9uIGJlcmxpbiBub2NoIGVpbiBwbGF0eiBmcmVpIGhhZXR0ZSBhbQpmcmVpdGFnPyAuLi4ga29lbm50ZSBzaWNoIGFiZXIgYXVjaCB2b24gc2VsYnN0IGVybGVkaWdlbi4uIGFsc28gZWluZmFjaCBtYWwgc28KbWFpbCBhbiBtaWNoLi4uc2NoYW5rZWRvZW4gdW5kIG1vZWdlIGRhcyBtdWggZXVjaCBld2lnIGduYWVkaWcgYmxlaWJlbi4gCmVsbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaHdlcndpZWdlbmRlIEZyYWdlLi4uIChaZXBoeXIsIDExLiBOb3YgMjAwMSwgMjM6MTI6NDMpOgpEYXJmIFJvY2h1cyBlaWdlbnRsaWNoIHVlYmVyaGF1cHQgUm9jaHVzbGF1c2VuLCB3byBlciBkb2NoIGdhciBrZWluZW4KQmFydCBtZWhyIGhhdD8KCkM0LCBuYWNoZGVua2xpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnRyYWcgKEFyaywgMTQuIE5vdiAyMDAxLCAxMDo0NzoyOSk6CkhtLCB3aWUgd2FyIGRhcyBudW4gZWlnZW50bGljaCwgd2FyIEludGVyZXNzZSBhbiBuZW0gVm9ydHJhZyB6dW0gVGhlbWEgUXVlc3RzCm9kZXIgbmljaHQ/IEdpYnQgZXMgbmVuIEJpZW1hPyA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9ydHJhZyAoRm9vYmFyLCAxNC4gTm92IDIwMDEsIDIwOjA3OjI4KToKfiMhIHJuPUFyayBydD0xMDA1NzMxMjQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTczMTI0OQpBdWYgamVkZW4gRmFsbCEKClVuZCB3ZW5uIGljaCBtaWNoIHJpY2h0aWcgZXJpbm5lcmUsIGhhdHRlIFpvb2sgamEgc29nYXIgYW5nZWRyb2h0LCBoaWVyIHVuZCBkYQplaW5lbiBLb21tZW50YXIgYWJ6dWdlYmVuIDtvKQoKRmFsbHMgaWNoIENhdHdlYXpsZXMgQXVzc2FnZW4gcmljaHRpZyBpbiBFcmlubmVydW5nIGhhYmUgZ2lidCBlcyBkYSBlaW5lCmtvbXBsZXR0ZSBNdWx0aW1lZGlhLUFubGFnZSwgZXR3YXMgc28gb3JkaW5hZXJlcyB3aWUgZWluIEJlYW1lciB3aXJkIHNpY2hlcgpkYXJ1bnRlciBzZWluLCBhYmVyIGljaCBtZWluZSBkYXMgQ2F0d2VhemxlIHNvZ2FyIHZvbiBlaW5lbSBWaWRlb3Byb2pla3RvcgpzcHJhY2gsIGFuIGRlbSBtYW4gYXVjaCBSZWNobmVyIGFuc2NobGllc3NlbiBrYW5uLgoKQWJlciBkYXp1IHdpcmQgZXIgc2ljaGVyIG5vY2ggd2FzIGdlbmF1ZXJlcyBzYWdlbi4KCkdydXNzLAoKICAgICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YWt0aW9uIChFbGl6YWJldGgsIDE3LiBOb3YgMjAwMSwgMTc6NTk6NDYpOgpFbGJlcmV0cyBCZWl0cmFnIGRpZXNtYWwgd2lyZCB3b2hsIGVpbiBIZXhlbnRhbnogb2RlciBSZWdlbnRhbnosIG5hdHVlcmxpY2gKZ2FueiBwcm9mZXNzaW9uZWxsIHZvcmdlZnVlaHJ0LCBzZWluLiBEYXMgbnVyIG1hbCBhbHMgUHJvZ3JhbW1pbmZvIDopCgotPiBlbGl6YWJldGggPC0gKmJsaW5rKmJsaW5rKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yc2NobGFnIChFbGl6YWJldGgsIDIxLiBOb3YgMjAwMSwgMjA6MjA6MTQpOgpXaWUgd2FlcnMgYXVmIGRlciBQYXJ0eSBuZW4gTWFzc2FnZXdvcmtzaG9wIHp1IG1hY2hlbj8gLi4uCiphZWNoeiogdGFldGUgc2ljaGVyIG5pY2h0IG51ciBtaXIgbmljaHQgc2NobGVjaHQgOykgCgplbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9yc2NobGFnIChHbm9tZSwgMjEuIE5vdiAyMDAxLCAyMDoyMjoxMCk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAwNjM3MDQxNCByZz1wYXJ0eQp+IyEgdGlkPTEwMDYzNzA0MTQKaWNoIG1lbGRlIG1pY2ggZnJlaXdpbGxpZyBhbHMuLi4gYWVoLi4gb3BmZXIgPjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNjaGxhZyAoRWxiZXJldCwgMjEuIE5vdiAyMDAxLCAyMDoyMjo1Nik6Cn4jISBybj1Hbm9tZSBydD0xMDA2MzcwNTMwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwNjM3MDQxNApvaywgaWNoIG1hc3NpZXIgRGljaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbWFsIHdpZWRlciBwdWl6Li4uLiAoRWxpemFiZXRoLCAyMS4gTm92IDIwMDEsIDIwOjMwOjM1KToKfiMhIHJuPUh1bW5pIHJ0PTEwMDU1NTkwMTEgcmc9cHVpegp+IyEgdGlkPTEwMDU1NTc1OTIKSWNoIGhvZmZlIGVzIGdpYnQgYmFsZCBSZWZlcmVudGVuIHVuZCBhdWNoIFNjaHVlbGVyIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbWFsIHdpZWRlciBwdWl6Li4uLiAoR3JpbW1ib3JuLCAyMS4gTm92IDIwMDEsIDIwOjMzOjQyKToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDA2MzcxMTY0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTU1NzU5MgpBbHNvLCBkaWVzZSBwZXJtYW5lbnQgZmFsc2NoZW4gQmV6dWVnZSBzaW5kIHNjaG9uLi4uIHBlcm1hbmVudCBmYWxzY2guIEdlbmF1LApkYXMgc2luZCBzaWUuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG1hbCB3aWVkZXIgcHVpei4uLi4gKEVsYmVyZXQsIDIxLiBOb3YgMjAwMSwgMjA6MzQ6MTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDYzNzEyMjIgcmc9cGFydHkKfiMhIHRpZD0xMDA1NTU3NTkyCnVuZCBkdSBrYXVzdCB3aWVkZXIsIGphIHdpZWRlcmthZXVlbiB0dXN0IGR1LCBvZGVyIG1laW4gaWNoIHdpZWRlcmhvbGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbWFsIHdpZWRlciBwdWl6Li4uLiAoR3JpbW1ib3JuLCAyMS4gTm92IDIwMDEsIDIwOjM0OjU0KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAwNjM3MTI1NCByZz1wYXJ0eQp+IyEgdGlkPTEwMDU1NTc1OTIKRGFzIG1hZyBzZWluIHdpZSBlcyB3aWxsLCBzb2dhciB6aWVtbGljaCBlZ2FsIGlzdCBkYXMsIHNlaSBlcyB3aWUgZXMgd29sbGUuCkRlbm5vY2ggc2luZCBkaWUgQmV6dWVnZSBmYWxzY2guCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG1hbCB3aWVkZXIgcHVpei4uLi4gKElzaSwgMjEuIE5vdiAyMDAxLCAyMDozNToyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNjM3MTI5NCByZz1wYXJ0eQp+IyEgdGlkPTEwMDU1NTc1OTIKd2VubnMgZ2VsZCBpc3QgaGFiIGljaCBuaXggZ2VnZW4gZmxhc2NoZSBiZXp1ZWdlLgppc2kgKG1vdXNzZXdlcmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBtYWwgd2llZGVyIHB1aXouLi4uIChFbGJlcmV0LCAyMS4gTm92IDIwMDEsIDIwOjM1OjM0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA2MzcxMjk0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTU1NzU5MgpkYXMgbWFnIHNlaW4sIG1laW5lIEJlenVlZ2Ugc2luZCBhdWNoIGZhbHNjaCwgYWJlciBkaWUgSG9jaHNjaHVsa2Fzc2UKYmVoYXVwdGV0IHNpZSBzZWllbiByaWNodGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBtYWwgd2llZGVyIHB1aXouLi4uIChHcmltbWJvcm4sIDIxLiBOb3YgMjAwMSwgMjA6MzY6MzYpOgp+IyEgcm49RWxiZXJldCBydD0xMDA2MzcxMzM0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTU1NzU5MgpVbmQgbmVpbiwgZXMgc2luZCBrZWluZSBHdW1taXB1bmt0ZSBhdXNnZXNldHp0IGZ1ZXIgZGVuamVuaWdlbiBkZXIgZXJyYWV0IHdlcgphbSBsYWVuZ2VyZW4gSGViZWwgc2l0enQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBtYWwgd2llZGVyIHB1aXouLi4uIChFbGJlcmV0LCAyMS4gTm92IDIwMDEsIDIwOjM2OjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA2MzcxMzk2IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTU1NzU5MgpkdSBldHdhcz8gCgpFbGJlcmV0IGxhY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IG1hbCB3aWVkZXIgcHVpei4uLi4gKEdyaW1tYm9ybiwgMjEuIE5vdiAyMDAxLCAyMDozNzozMCk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMDYzNzE0MTAgcmc9cGFydHkKfiMhIHRpZD0xMDA1NTU3NTkyCkJpbiBpY2ggZGllIEhvY2hzY2h1bGthc3NlPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogbWFsIHdpZWRlciBwdWl6Li4uLiAoRWxiZXJldCwgMjEuIE5vdiAyMDAxLCAyMDozNzo1NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNjM3MTQ1MCByZz1wYXJ0eQp+IyEgdGlkPTEwMDU1NTc1OTIKbmVlLCB6dW0gR2x1ZWNrIG5pY2h0LCBkYSB3dWVyZCBpY2ggYXJtIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogbWFsIHdpZWRlciBwdWl6Li4uLiAoRWxpemFiZXRoLCAyMS4gTm92IDIwMDEsIDIwOjM4OjIwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA2MzcxNDUwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTU1NzU5MgpncmltbWJvcm4sIGJpdHRlIGJlZ251ZWdlIGRpY2ggZG9jaCBkYW1pdCBsZXV0ZSBhdWYgbWVnYXNjaG1hcnJuIGluIGRlbiBib2Rlbgp6dSBzdGFtcGZlbiB1bmQgdmVicmVpdGUgbmljaHQgYXVmIHBhcnR5IHNjaGxlY2h0ZSBsYXVuZSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBtYWwgd2llZGVyIHB1aXouLi4uIChJc2ksIDIxLiBOb3YgMjAwMSwgMjA6NDI6MTEpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwMDYzNzE1MDAgcmc9cGFydHkKfiMhIHRpZD0xMDA1NTU3NTkyCnNhaCBtaXIgbmljaHQgbmFjaCBzY2hsZWNodGVyIExhdW5lIGF1cy4Kb2RlciBoYXQgZGEgd2VyIEFuZ3N0IGluIGRlbiBCb2RlbiBnZXN0YW1wZnQgenUgd2VyZGVuPwppc2kgKGJvZGVud2VyZmVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBtYWwgd2llZGVyIHB1aXouLi4uIChHcmltbWJvcm4sIDIxLiBOb3YgMjAwMSwgMjA6NDI6MjcpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwMDYzNzE1MDAgcmc9cGFydHkKfiMhIHRpZD0xMDA1NTU3NTkyCk9jaCwgYXVmIERlcHBlbiBwcnVlZ2VsIGljaCBlaW4gd28gaW1tZXIgc2llIGRhZW1saWNoIGdlbnVnIHNpbmQgbWVpbmVuIFdlZyB6dQprcmV1emVuLiBJY2ggd2Vpc3MsIGRhcyBpc3QgbmljaHQgbmV0dCwgZGllIGtvZW5uZW4gamEgbmljaHRzIGRhZnVlci4gQWJlciBpY2gKa2FubiBkYSBuaWNodHMgZnVlciwgZGFzIGlzdCBlaW4gR2VidXJ0c2ZlaGxlci4gRGllIEFlcnp0ZSBoYWJlbiBkYXMgYWxzCnVudGhlcmFwaWVyYmFyIGRpYWdub3N0aXppZXJ0LCBkYSBpc3Qgd29obCBlY2h0IG5pY2h0cyB6dSBtYWNoZW4uIFR1dCBtaXIgYXVjaApsZWlkLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogbWFsIHdpZWRlciBwdWl6Li4uLiAoRWxiZXJldCwgMjEuIE5vdiAyMDAxLCAyMDo0MzoyNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNjM3MTc0NyByZz1wYXJ0eQp+IyEgdGlkPTEwMDU1NTc1OTIKZ2VnZW4gYXVmIGRlcHBlbiBlaW5wcnVlZ2VsbmRlIHdlc2VuOgoKV2FzIGtyYXR6dCBlcyBlaW5lIGFsdGUgRWljaGUsIHdlbm4gc2ljaCBlaW4gcGFhciBXaWxkc2FldWUgYW4gaWhyIHNjaGV1ZXJuLgoKRGFtaXQgZXJ0cmFnZSBpY2ggamVkZW4sIGRlciBhdWYgbWljaCBlaW5wcnVlZ2VsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBtYWwgd2llZGVyIHB1aXouLi4uIChHcmltbWJvcm4sIDIxLiBOb3YgMjAwMSwgMjA6NDM6NTMpOgp+IyEgcm49RWxiZXJldCBydD0xMDA2MzcxODA3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTU1NzU5MgpEdSBoYXN0ICJpY2ggYmluIGVpbiBIb2x6a29wZiIgc2VociBpbm5vdmF0aXYgZm9ybXVsaWVydC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IG1hbCB3aWVkZXIgcHVpei4uLi4gKE1vbnRhbnVzLCAyMS4gTm92IDIwMDEsIDIwOjQ0OjA5KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAwNjM3MTgwNyByZz1wYXJ0eQp+IyEgdGlkPTEwMDU1NTc1OTIKVW5kIGljaCB3dWVyZGUgbmllIGJlaGF1cHRlbiwgZGFzcyBHZEEgaXJnZW5kd28gc2NobGVjaHRlIExhdW5lIHZlcmJyZWl0ZXQuClNvbmRlcm4gZWhlciBndXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IG1hbCB3aWVkZXIgcHVpei4uLi4gKEdyaW1tYm9ybiwgMjEuIE5vdiAyMDAxLCAyMDo0NToxMyk6Cn4jISBybj1Nb250YW51cyBydD0xMDA2MzcxODQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTU1NzU5MgopUHNzdC4gTmljaHQgc28gbGF1dC4gU29uc3QgZ2xhdWJ0IERpciBhbSBFbmRlIG5vY2ggamVtYW5kLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogbWFsIHdpZWRlciBwdWl6Li4uLiAoUGF0cnluLCAyMi4gTm92IDIwMDEsIDA4OjAwOjQ1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA2MzcxNzQ3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNTU1NzU5MgpkYXMga2xhcHB0IHdvaGwgbnVyIHNvIGxhbmdlIHdpZSBzaWUgbmljaHQga29lcnBlcmxpY2ggc3RhZXJrZXIgc2luZCBhbHMgZHUsCndhcyBzZWx0ZW4gZ2VudWcgdm9ya29tbWVuIHNvbGx0ZS4gaWNoIGdsYXViIGRpZSBtZXJrZW4gZXMgbmljaHQgbWFsIHdlbm4KZHUgaWhuZW4gbWl0IGRlaW5lbSB2aXJ0dWVsbGVuIHNjaHdlcnQgYXVzIHJlZGVrdW5zdCB2b3IgZGVyIG5hc2UKcnVtZnVjaHRlbHN0IHVuZCBiZXRldWVybiBkYW5uIGF1Y2ggaWhyZW4gZ2VidXJ0c2ZlaGxlciB2b3JtIHJpY2h0ZXIsIHdlbm4KZHUgc2llIGRhbmsgZ2Vicm9jaGVuZW0ga2llZmVyIHZlcmtsYWdzdCA6KQoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVhbWVyIChBcmssIDIyLiBOb3YgMjAwMSwgMTg6NTk6NTIpOgpLYW5uIG1pciBlaW5lciBkZXIgT3JnYW5pc2F0b3JlbiBrdXJ6IG1pdHRlaWxlbiwgb2Igd2lyIGluIFdpbnRlcmJ1cmcgZWluZW4KQmVhbWVyIHp1ciBWZXJmdWVndW5nIGhhYmVuIHdlcmRlbj8gSWNoIGhhYiBudXIgbWVpbmVuIFNjaGxlcHB0b2IsIGtlaW5lCkZvbGllbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsZXR6dGUgd2ljaHRpZ2UgSW5mb3MgOi0pICAoTGFyaW5hLCAyNi4gTm92IDIwMDEsIDIxOjM0OjAxKToKSGFsbGloYWxsbyAhCgpEaWUgUGFydHkgcnVlY2t0IGltbWVyIG5hZWhlciwgdW5kIGRhaGVyIHZlcnN1Y2hlIGljaCB3aWVkZXIgZWlubWFsLCBhbGxlcyAKUmVsZXZhbnRlIHp1c2FtbWVuenV0cmFnZW4gdW5kIGhvZmZlLCBuaWNodHMgenUgdmVyZ2Vzc2VuLiAKClBhcnR5YmVpdHJhZzogdm9uIEZSLVNPOiA3NSBETSwgdm9uIFNBLVNPIDQ1IERNIChkYW1pdCB3YWVyZW4gc2Nob24gZWlubWFsIAogICAgZWluaWdlIEVtYWlscyBiZWFudHdvcnRldCA6LSkpIAoKV0lDSFRJRyEgRGVua3QgZGFyYW4sIEJldHRiZXp1ZWdlIG1pdHp1YnJpbmdlbiBvZGVyIGViZW4gZWluZW4gU2NobGFmc2FjayB3ZW0KZGFzIGxpZWJlciBpc3QhIQoKV2FzIGRpZSBVZWJlcndlaXN1bmdlbiBiZXRyaWZmdCwgYml0dGUgaWNoIGRhcnVtIGRhcyBHZWxkIGJpcyBzcGFldGVzdGVucyB6dW0KNS4xMi4genUgdWViZXJ3ZWlzZW4sIGRhIGljaCBjYS4gYW0gNy4xMiBkYXMgbGV0enRlIE1hbCB2b3IgZGVyIEZldGUgYXVmIG1laW5lCktvbnRvYXVzenVlZ2Ugc2NoYXVlLiBBbHNvIGhvcGhvcCwgc2Nob2VuIHVlYmVyd2Vpc2VuIChhdXNzZXIgYW5kZXJzCmF1c2dlbWFjaHQpLgpVbmQgYml0dGUsIHdlbm4gaWhyIGV1Y2ggYW5nZW1lbGRldCBoYWJ0IHVuZCBudW4gZG9jaCBuaWNodCBnZWRlbmt0IHp1IGtvbW1lbiwKZGFubiBtZWxkZXQgZXVjaCAgd2llZGVyIGFiLCBkZW5uIGljaCBtdXNzIGRpZXNlIFdvY2hlIG5vY2ggZGVyIEJ1cmdiZXNhdHp1bmcKemllbWxpY2ggZ2VuYXUgc2FnZW4ga29lbm5lbiBtaXQgd2llIHZpZWxlbiBMZXV0ZW4gc2llIHJlY2huZW4gbXVzcy4gCgpJbiBkZW4gWmltbWVybiB3aXJkIHVlYnJpZ2VucyB3aWVkZXIgUmF1Y2h2ZXJib3Qgc2VpbiwgYWxzbyBzdGVsbHQgZXVjaCBzY2hvbgptYWwgZGFyYXVmIGVpbiA6LSkuIERpZWplbmlnZW4sIHdlbGNoZSBtaXIgZ2VtYWlsdCBoYXR0ZW4gbWl0IHdlbSBzaWUgZ2VybmUKaWhyIFppbW1lciB0ZWlsZW4gbW9lY2h0ZW4gaGFiZSBpY2ggc28gZ3V0IGVzIGdpbmcgenVzYW1tZW5nZXN0ZWNrdCwgZGVyIFJlc3QKbXVzcyBzaWNoIGViZW4gZWluZmFjaCBhcnJhbmdpZXJlbiwgaGllciBnaW5nIGVzIG5hY2ggZGVtIFByb256aXAgd2VyIHNpY2gKenVlcnN0IG1lbGRldCwgbWFobHQgenVlcnN0LiBadWRlbSBoYXR0ZSBpY2ggZGFzIGphIGF1Y2ggc2Nob24gZWlubWFsCmFuZ2VrdWVuZGlndC4gCgpEZXIgQ2hpbmVzZSBmdWVyIFNvbm50YWcgTmFjaG1pdHRhZyBiZWZpbmRldCBzaWNoIGluIEJhZCBTb2Jlcm5oZWltLCB1bmQgZXIKd2lyZCB3b2hsIGdlbnVnIFBsYXR6IGZ1ZXIgdW5zIGFsbGUgaGFiZW4uIFp1bWluZGVzdCBiZWhhdXB0ZXRlIGVyIGRhcyBhbQpUZWxlZm9uLgpSZXNlcnZpZXJlbiB3ZXJkZSBpY2ggd29obCBmdWVyICBoYWxiIGVpbnMuIAoKV2ljaHRpZyBmdWVyIGplbmUgd2VsY2hlIGFtIEZyZWl0YWcgc2Nob24gYW5yZWlzZW4gaXN0LCBkYXNzIGVzIEZyZWl0YWcgQWJlbmQKa2VpbiBFc3NlbiBpbiBkZXIgSnVnZW5kaGVyYmVyZ2UgZ2ViZW4gd2lyZCwgYWxzbyBrb21tdCBtaXQgYml0dGUgbmljaHQKdmVyaHVuZ2VydCBhbiBvZGVyIGJyaW5ndCBldWNoIHdhcyBtaXQuIERhIGljaCBuaWNodCBnZW5hdSB3dXNzdGUgd2FubiB3ZXIKZXJzY2hlaW50LCBoaWVsdCBpY2ggZGFzIGZ1ZXIgYW0gZ2VzY2hpY2t0ZXN0ZW4uIE51biBtdWVzc3QgaWhyIHdvaGwgZGFtaXQKbGViZW4uIERhIGZhZWxsdCBtaXIgZWluOiBBbnJlaXNlIGlzdCBhYiAxNy4wMCBVaHIsIGRhIGljaCBzZWxic3Qgd29obCBhdWNoCm5pY2h0IGZydWVoZXIgZGEgc2VpbiB3ZXJkZS4gKGRpZSBVbmkgLi4uLiApIAoKQW0gU2Ftc3RhZyBkYXJmIHVuc2VyIGxpZWJlciBSb2NodWxhdXMgd2llZGVyIGVpbm1hbCBzZWluZXMgQW10ZXMgd2FsdGVuLApqZWRlciBkZXIgbWl0bWFjaGVuIHdpbGwgaXN0IGdlcm5lIGVpbmdlbGFkZW4sIG1pdHp1YnJpbmdlbiBpc3QgaGllcmZ1ZXIgbnVyCmVpbiBrbGVpbmVzIEdlc2NoZW5rIChzbyB1bSBkaWUgNSBETSBXZXJ0KS4gV2VyIGluIGRlbiBWb3JqYWhyZW4gc2Nob24gaW4KV2ludGVyYnVyZyB3YXIga2VubnQgZGFzIGphIDotKQoKRWJlbmZhbGxzIGFtIFNhbXN0YWcgd29sbGVuIHdpciBhdWNoIFBsYWV0emNoZW4gYmFja2VuLCBpY2ggYml0dGUgZGllCmZsZWlzc2lnZW4gTGV1dGUgKHVuZCBJbnRlcmVzc2llcnRlbiksIG1pdCB6dSBtYWlsZW4gd2FzIGZ1ZXIgU2FjaGVuIHNpZSBnZXJuZQpiYWNrZW4gd29sbGVuIHVuZCB3ZWxjaGUgWnV0YXRlbiBkYWZ1ZXIgYmVub2V0aWd0IHdlcmRlbi4gRGVuIFJlc3QgcmVnZWxuIHdpcgpkYW5uIHBlciBFbWFpbCBkZW5uIHdlciB3aWxsIGRlbm4gc2Nob24gZGllIE1QQSBtaXQgQXJ0aWtlbG4genVwZmxhc3Rlcm4uIERhcwp1ZWJlcmxhc3NlbiB3aXIgc2Nob2VuIGRlbiBNZWdhc2NobWFycm4tTGV1dGNoZW5zICpkdWNrKi4gCgpCZWkgRnJhZ2VuIGJpdHRlIGFuIGxhcmluY2hlbkBnbXguZGUgc2NocmVpYmVuIGRhIGljaCBkYW5rIFVuaS1TdHJlc3MgZGllCm5hZWNoc3RlIFplaXQgZWhlciB3ZW5pZ2VyIGltIE1HIGFuenV0cmVmZmVuIHNlaW4gd2VyZGUuIAoKKmtudWRkZWxzKiAKTGFyaW5hCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsZXR6dGUgd2ljaHRpZ2UgSW5mb3MgOi0pICAoR2xvaW5zb24sIDI2LiBOb3YgMjAwMSwgMjI6MDE6MzUpOgp+IyEgcm49TGFyaW5hIHJ0PTEwMDY4MDY4NDEgcmc9cGFydHkKfiMhIHRpZD0xMDA2ODA2ODQxClVuZCBnbGVpY2ggZWluZSBCaXR0ZSB6dW0gZHJhdWYgRWluc3RlbGxlbiBpbSBBbmhhbmc6CkVpbiBUZWlsIGRlciBCZXJsaW5lciwgZ2VuYXVlcjogQ2FrZXksIEVsaXphYmV0aCwgTWFydGluaSwgR25vbWUsIE15c3RlcmlvdXMKdW5kIGljaCB3ZXJkZW4gbWl0IGRlbSBadWcgYW5yZWlzZW4uIERhIGRlciBCdXMgZG9ydCBpbiBkZXIgR2VnZW5kIG5pY2h0IGFsbHp1CmhhZWZ1Z2kgZmFlaHJ0IHdhZXJzIG5ldHQgd2VubiB1bnMgamVtYW5kL2VpbmlnZSBhbSBTb25udGFnIHZvbiBXaW50ZXJidXJnCm5hY2ggQmFkIFNvYmVybmhlaW0gbWl0bmFlaG1lLCB2aWVsbGVpY2h0IGRvcnQgbm9jaCBuYWNoIGRlbSBDaGluZXNlIGFtCkJhaG5ob2YgcmF1c3dlcmZlbiBrb2VubnRlLgoKRGFua2UsCiBHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGxldHp0ZSB3aWNodGlnZSBJbmZvcyA6LSkgIChNb250YW51cywgMjYuIE5vdiAyMDAxLCAyMjoyODoxMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDA2ODA4NDk1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNjgwNjg0MQpWb20gQ2hpbmVzZW4genVtIEJhaG5ob2YgaXN0IGVzIG5pY2h0IHdlaXQuCkJhZCBTb2Jlcm5oZWltIGlzdCBoYWx0IG5pY2h0IHdpcmtsaWNoIGdyb3NzLiBBYmVyIGRhZnVlciBLdXJzdGFkdC4gOi0pCihkaWUgRWluZ2Vib3JlbmVuIHNwcmVjaGVuIGF1Y2ggdm9uIEJhZCBTb2Jlcm5kb3JmKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmFwZm1laXN0ZXIgZ2VzdWNodCEgKE1vbnRhbnVzLCAyNi4gTm92IDIwMDEsIDIzOjQ2OjAzKToKRmFsbHMgZXMgSW50ZXJlc3NlIGRhcmFuIGdpYnQsIGRhc3MgYXVmIGRlciBQYXJ0eSBGYXNzLUJpZXIgKHN0YXR0IEZsYXNjaGVuKQphdWYgZGVuIFRpc2NoIGtvbW10LCBtb2VnZW4gc2ljaCBaYXBmbWVpc3RlciBmcmVpd2lsbGlnIG1lbGRlbi4KTW9lZ2xpY2hzdCBzb2ZvcnQsIHVuZCBiZWkgTGFyaW5hLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFubWVsZHVuZ2VuICAoTGFyaW5hLCAyNi4gTm92IDIwMDEsIDIzOjUzOjUyKToKR3VnZ3VnZ3MgOi0pIApTb29vLCBudW4gc2luZCA3NSBMZXV0ZSBhbmdlbWVsZGV0LCBzcHJpY2ggYWIgc29mb3J0IGthbm4gaWNoIG5pY2h0IG1laHIgZnVlcgpTY2hsYWZwbGFldHplIGdhcmFudGllcmVuLiBBbHNvIHdlbm4gbm9jaCB3ZWxjaGUgYW5nZW1lbGRldCBzaW5kIGRpZSBuaWNodAp2b3JoYWJlbiBhdWZ6dXRhdWNoZW4sIHdhZXJlIGVzIG51ciBmYWlyIHdlbm4gZGllc2Ugc2ljaCBub2NoIGFibWVsZGVuCnd1ZXJkZW4uIAoKQ2lhbyAKTGFyaW5hIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFubWVsZHVuZ2VuICAoSW1kYSwgMjYuIE5vdiAyMDAxLCAyMzo1NToyMik6Cn4jISBybj1MYXJpbmEgcnQ9MTAwNjgxNTIzMiByZz1wYXJ0eQp+IyEgdGlkPTEwMDY4MTUyMzIKV2llID8gaWNoIGhhYiBkYXMgbGV0enRlIGZyZWllIEJldHQgYWJnZXN0YXVidCA/CgpOb2NobWEgR2x1ZWNrIGdlaGFidCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFphcGZtZWlzdGVyIGdlc3VjaHQhIChIdW1uaSwgMjcuIE5vdiAyMDAxLCAwMzo0MTowNyk6Cn4jISBybj1Nb250YW51cyBydD0xMDA2ODE0NzYzIHJnPXBhcnR5Cn4jISB0aWQ9MTAwNjgxNDc2MwpaYXBmbWVpc3RlciBpc3QgendhciBzY2hvbiBuZSBXZWlsZSBoZXIuLi4KCihMZXZlbCAxNSwgd2FyZW4gZGFzIG5vY2ggWmVpdGVuKQoKLi4uLiBpY2ggbWVsZGUgbWljaCBoaWVybWl0IGFiZXIgdHJvdHpkZW0gbWFsLiBJY2ggd2VyZGUgYWxsZXJkaW5ncyBkaWUgQmllcmUKc2NodWV0dGVsbiwgYmV2b3IgaWNoIHNpZSB2ZXJ0ZWlsZSwgd2VubiBpY2ggYW0gRmFzcyBzdGVoZS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFphcGZtZWlzdGVyIGdlc3VjaHQhIChHbm9tZSwgMjcuIE5vdiAyMDAxLCAwMzo0NDoxNyk6Cn4jISBybj1IdW1uaSBydD0xMDA2ODI4ODY3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNjgxNDc2MwpkdSwgaWNoIGdsYXViZSBkaWUgbGV1dGUgd29sbGVuIGZ1ZXIgaWhyIGdlbGQga2VpbmUgaGFsYmxlZXJlbgpiaWVyZ2xhZXNlci4uLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFphcGZtZWlzdGVyIGdlc3VjaHQhIChIdW1uaSwgMjcuIE5vdiAyMDAxLCAwMzo0NjoxMyk6Cn4jISBybj1Hbm9tZSBydD0xMDA2ODI5MDU3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNjgxNDc2MwpXZWlzc3QgRHUsIHdlbm4gbWFuIHNvIGVpbmVuIFRydmVzIGRyYW5sYWVzc3QsIGRlciBpbW1lciBudXIgZGVua3QgLiBvIE8KKGthcHV0dG1hY2hlbiEgWmVyc3RvZXJlbiEgTW9lZ2xpY2hzdCB2aWVsIFNjaGFkZW4hIFZlcm5pY2h0ZW4hKSBkYW5uIGRlbmt0CmRlciBzb2ZvcnQgZGFyYW4sIGRhc3MgZ3V0ZSBCaWVyIHp1IHZlcm5pY2h0ZW4gKEhhaGEhIFNjaG9uIHdpZWRlciBtYWwgZWluZW4KaGFsYmVuIExpdGVyIEJpZXIgdmVybmljaHRldCEgRGVyIHN0dXBzdCBiZXN0aW1tdCEpCgpJbSBHZWdlbnNhdHogZGF6dSB2ZXJzdGVoZW4gd2lyIHVuc2VyIEdlc2NoYWVmdC4gRGFzIEJpZXIgd2lyZCBuaWNodAp2ZXJuaWNodGV0IHNvbmRlcm4gYmVzc2VyIHRyaW5rYmFyIGdlbWFjaHQsIHVuZCBkYXMgZHVyY2ggc2NodWV0dGVsbi4gR3V0IHdhcz8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBaYXBmbWVpc3RlciBnZXN1Y2h0ISAoR2xvaW5zb24sIDI3LiBOb3YgMjAwMSwgMTE6Mjg6MzUpOgp+IyEgcm49SHVtbmkgcnQ9MTAwNjgyOTE3MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDY4MTQ3NjMKV2FlcmtzLiBTY2h1ZXR0ZWxiaWVyLiBEYWJlaSB3ZWlzcyBpY2ggZ2VuYXUgZGFzcyBuaWNodCBtYWwgU2hha2VkYmVlciBzZWluCkZhc3NiaWVyIGdlc2NodWV0dGVsdCBtYWcuIEluIE11ZW5zdGVyICg5Nz8pIGhhdCBlciBlcyBhdWNoIGltbWVyIG51ciBoaW50ZXIKc2ljaCBnZXN0ZWxsdCA6XSBOZWluZWluLCBGYXNzYmllciBkYXJmIG51ciBpbiBkZW4gTWFnZW4gcm9sbGVuIHVuZCBzb25zdAprZWluZSBCZXdlZ3VuZ2VuIGF1c2Z1ZWhyZW4uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3aWxsIHdlciBtaXRmYWhyZW4/IChQZXJkaXRhLCAyNy4gTm92IDIwMDEsIDE5OjI2OjM5KToKSGFsbG8gTGV1dGUhCkljaCB1ZWJlcmxlZ2Ugbm9jaCwgb2IgaWNoIHp1ciBQYXJ0eSBtaXQgZGVtIEF1dG8gZmFocmUuCkljaCBoYWJlIGFiZXIga2VpbmUgTHVzdCwgZGllIGdhbnplIFN0cmVja2UgYWxsZWluIHp1IGZhaHJlbi4KQWxzbyBmcmFnIGljaCBtaWNoLCBvYidzIHZpZWxsZWljaHQgamVtYW5kZW4gYW4gZGVyIFN0cmVja2UgSGFtYnVyZy1XaW50ZXJidXJnCmdpYnQgKG1vZWdsaWNoc3Qgd2VpdCBub2VyZGxpY2ggbmF0dWVybGljaCwgd2VubnMgZ2VodCksIGRlciBnZXJuIG1pdGdlbm9tbWVuCndlcmRlbiBtb2VjaHRlPwpBbSBiZXN0ZW4gc29nYXIgd2VuLCBkZXIgbWljaCBkYW5uIG1hbCBiZWltIEZhaHJlbiBhYmxvZXN0Li4uCkVpbnppZ2VyIEhha2VuIGFuIGRlciBTYWNoZTogaWNoIGZhaHJlIG51ciBISU4sIG5pY2h0IHp1cnVlY2suIChXb2JlaSBmdWVyIGRlbgpSdWVja3dlZyBqYSBldnRsLiBXaWxsb3cgYmVyZWl0IHdhZXJlLCBqZW1hbmRlbiBtaXR6dW5laG1lbj8gRGVyIGZhZWhydApSaWNodHVuZyBIYW5ub3Zlci4gTXVlc3N0ZXQgaWhyIGRhbm4gbWFsIGZyYWdlbikKCmJlaSBJbnRlcmVzc2UgbWVsZGV0IEV1Y2ggYml0dGUgYmVpIG1pcgpHcnVzcwpQZXJkaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW50ZXJidXJnICAoTGFyaW5hLCAyOS4gTm92IDIwMDEsIDExOjExOjA4KToKQWxzb29vIGljaCBoYWJlIHNvZWJlbiBtaXQgZGVyIGxpZWJlbiBCdXJnYmVzYXR6dW5nIGdlc3Byb2NoZW4sIHVuZCBkYWJlaSBrYW0KZm9sZ2VuZGVzIHJhdXMgOiAKU2llIHdvbGxlbiB1bnMgd29obCBpbW1lciBub2NoIFVudGVyc2NobHVwZiBnZXdhZWhyZW4gOi0pIApLRUlORSBTQ0hMQUZTQUVDS0UsIG51ciBCZXR0d2Flc2NoZSBtb2VnbGljaCAoYWxzbyBCZXp1ZWdlIG1pdGJyaW5nZW4pICEhCkFtIEJlc3RlbiBhdWNoIG5vY2ggbmUgVGFzc2Ugb2RlciBzb25zdGlnZSBCZWhhZWx0ZXIgenVtIFRyaW5rZW4gYW5zY2hsZXBwZW4sCmRhIGRpZSBpaHIgR2VzY2hpcnIgYWJlbmRzIC9uYWNodHMgd29obCB6dSBzcHVlbGVuIGdlZGVua2VuLiAKRGllIE11c2lrYW5sYWdlIGRlciBCdXJnIGlzdCBtb21lbnRhbiBsZWlkZXIga2FwdXR0LCBtb2VnbGljaGVyd2Vpc2Uga2xhcHB0CmRpZSBSZXBhcmF0dXIgYmlzIHp1ciBGZXRlLCBtdXNzIGFiZXIgbmljaHQuIE1vbWVudGFuIGdpYnQgZXMgZGEgYWxzbyBudXIgbmVuCkdoZXR0b2JsYXN0ZXIgenVtIEtyYWNoIG1hY2hlbi4gCkZydWVoc3R1ZWNrIGdpYnRzIHNhbXN0YWdzIGFiIDkgVWhyIGJpcyBjYS4gMTAgVWhyIHVuZCBzb25udGFncyBkYW5uIGFiIDkuMzAKOi0pIFN0ZWxsdCBldWNoIHNjaG9uIG1hbCBkcmF1ZiBlaW4uIAoKV2VubiBtaXIgbm9jaCB3YXMgZWluZmFlbGx0LCBtZWxkIGljaCBtaWNoIHdpZWRlci4KCmxpZWJlIEdydWVzc2UgCkxhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcmJ1cmcgIChWYXJkaW9uLCAyOS4gTm92IDIwMDEsIDEyOjIzOjQwKToKfiMhIHJuPUxhcmluYSBydD0xMDA3MDI4NjY4IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzAyODY2OApIYXQgZGllIEJ1cmdiZXNhdHp1bmcgZGEgaXJnZW5kd2VsY2hlIHNjaGxlY2h0ZW4gRXJmYWhydW5nZW4gZ2VtYWNodD8gQWxzbwpsZXR6dGVzIHVuZCB2b3JsZXR6dGVzIEphaHIgd2FyIHNjaGxhZnNhY2sgZG9jaCBub2NoIHByb2JsZW1sb3MgbW9lZ2xpY2guLi4KClZhcmRpb24sIFNjaGxhZnNhY2tmYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVyYnVyZyAgKE1vbnRhbnVzLCAyOS4gTm92IDIwMDEsIDE4OjI5OjU1KToKfiMhIHJuPVZhcmRpb24gcnQ9MTAwNzAzMzAyMCByZz1wYXJ0eQp+IyEgdGlkPTEwMDcwMjg2NjgKV2VubiBkdSAqdW50ZXIqIGRlbiBTY2hsYWZzYWNrIG5vY2ggZWluIExlaW50dWNoIG9kZXIgZWluZmFjaCBlaW5lbiBTcGFubmJlenVnCnBhY2tzdCwgc29sdGxlIGRhcyBlaWdlbnRsaWNoIGF1Y2gga2VpbiBQcm9ibGVtIHNlaW4uCldlbm4gTGV1dGUgKm51ciogaWhyZW4gU2NobGFmc2FjayBtaXRicmluZ2VuLCBkYW5uIG11ZXNzZW4gZGllIEJ1cmdiZXNhdHplcgpoaW50ZXJoZXIgZGVyIEh5Z2llbmUgd2VnZW4gU3Bhbm5iZXp1ZyBhdXN3ZWNoc2Vsbi4gRHUgd2lsbHN0IGphIGF1Y2ggbmljaHQKYXVmIGV0d2FzIHNjaGxhZmVuLCB3YXMgdmllbGxlaWNodCBzY2hvbiBIb3JkZW4gdm9uIEtpbmRlcmJha3RlcmllbiBvZGVyCkNoaXBza3J1ZW1lbCBoaW50ZXIgc2ljaCBoYXQ/CkJldHR3YWVzY2hlIGthbm4gd29obCBzaWNoZXIgYXVjaCBnZWdlbiBlaW4gcGFhciBFdXJvIGF1Y2ggYXVzZ2VsaWVoZW4gd2VyZGVuLAp3ZXIgbmljaHQgc2NobGVwcGVuIHdpbGwuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmVzdGFldGlndW5nZW4gKExhcmluYSwgIDEuIERleiAyMDAxLCAxMzoyNzo1Nik6ClNvLCBpY2ggaGFiZSBudW4gZGllIGplbmlnZW4gYmVzdGFldGlndCB2b24gZGVuZW4gaWNoIGJpcyBoZXV0ZSBkYXMgR2VsZAp1ZWJlcndpZXNlbiBiZWtvbWVuIGhhYmUuIApXYWhyc2NoZWlubGljaCB3aXJkIG5vY2ggamVtYW5kIGZlaGxlbiwgd2FzIGRhcmFuIGxpZWd0LCBkYXNzIGRlcmplbmlnZSBuaWNodAp6dWdlc2NocmllYmVuIGhhdCB3aWUgZXIgZGVubiBudSBpbSBNRyBoZWlzc3QgdW5kIGljaCBsZWlkZXIgbmljaHQgYWxsZSBSTCAtCk5hbWVuIGtlbm5lLiBBbHNvIGJpdHRlIC4uLiBiZWkgbWlyIG1lbGRlbiA6LSkgCgpDaWFvIApMYXJpbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJidXJnICAoUm9jaHVzLCAgMi4gRGV6IDIwMDEsIDE4OjI4OjUxKToKfiMhIHJuPUxhcmluYSBydD0xMDA3MDI4NjY4IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzAyODY2OApIbW0sIHdlbm4gZGllIE11c2lrYW5sYWdlIGthcHV0dCBpc3Q6CldhcyBHRU5BVSBkYXZvbiBpc3Qga2FwdXR0PwpJY2gga2FubiBtaXIgbmljaHQgdm9yc3RlbGxlbiwgZGFzcyBzYWVtdGxpY2hlIFRlaWxlIGhpbnVlYmVyIHNpbmQsIG9kZXI/IDopCldlbm4gZXMgbnVyIGVpbiBWZXJzdGFlcmtlciBvZGVyIENELVBsYXllciBpc3QsIGthbm4gZG9jaCBzaWNoZXIKamVtYW5kIHNvd2FzIG1pdGJyaW5nZW4uLi4gYmVpIGRlbiAoZXR3YXMpIGdyb2Vzc2VyZW4gQm94ZW4KZHVlcmZ0ZSBkYXMgc2Nod2llcmlnZXIgd2VyZGVuIDopCkFjaCwgdW5kIGZhbGxzIGVzIGRlciBWZXJzdGFlcmtlciBpc3Q6IEFuZ2FiZW4gdWViZXIgZGllIExlaXN0dW5nCmRlciBCb3hlbiBrb2VubnRlbiBnYW56IGhpbGZyZWljaCBzZWluLCB1bSBmZXN0enVzdGVsbGVuLCB3b21pdAptYW4gZXMgYmVzc2VyIGdhciBuaWNodCBlcnN0IHZlcnN1Y2hlbiBzb2xsdGUgOikKSmVkZW5mYWxscyBzb2xsdGUgZXMgZG9jaCBpcmdlbmR3aWUgenUgc2NoYWZmZW4gc2VpbiwKZGEgYmVpIGRlciBQYXJ0eSB3YXMgdmVybnVlbmZ0aWdlcyBoaW56dXN0ZWxsZW4uLi4KCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQbGFldHpjaGVuICAoTGFyaW5hLCAgMi4gRGV6IDIwMDEsIDIwOjQwOjQ5KToKSGFsbG8gYWxsZXJzZWl0cyEgCgpBdWZncnVuZCBhYnNvbHV0ZW4gWmVpdG1hbmdlbHMgbWVpbmVyc2VpdHMgc3VjaGUgaWNoIGplbW5kZW4sIGRlcgp6dXNhbW1lbnN0ZWxsdCB3YXMgZ2ViYWNrZW4gd2lyZCB1bmQgZWluZSBadXRhdGVubGlzdGUgbWFjaHQuIApEYWhlciBJbnRlcmVzc2llcnRlIGJpdHRlIG1lbGRlbiwgdW5kIGRlciBSZXN0IGRlciBCYWNrd3VldGlnZW4gZGFyZiBzaWNoIGRhbm4KbWl0IGRlbWplbmlnZW4gb2RlciBkZXJqZW5pZ2VuIGF1c2VpbmFuZGVyc2V0emVuLiAoYXVzc2VyIGVzIGlzdCBzY2hvbiBhbGxlcwpnZWtsYWVydCA6LSkpLiAKCmxpZWJlIEdydWVzc2UgCkxhcmluYSAoMTAwJSBSTC1nZXN0cmVzc3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLZWtzZSEhIChLZWtzLCAgMy4gRGV6IDIwMDEsIDIwOjMwOjA5KToKSWNoIGJpbiBzZWl0IGhldXRlIGRpZSBWZXJhbnR3b3J0bGljaGUgZnVlciBkYXMgS2Vrc2UtQmFja2VuIGF1ZiBkZXIgUGFydHkuLi4KRGEgaWNoIHZvbiBLZWtzZW4ga2VpbmUgQWhudW5nIGhhYmUsIGJpdHRlIGljaCBldWNoIGdhYWFhYWFhYWFhbnogbGllYiB1bSBldXJlCk1pdGhpbGZlISEhCkZyZWl3aWxsaWdlIChkaWUgS2Vrc2UgYmFja2VuIHdvbGxlbikgbWVsZGVuIHNpY2ggYml0dGUgdW50ZXIKRnJlaXdpbGxpZ2UgKGRpZSBLZWtzZSBiYWNrZW4gd29sbGVuKSBtZWxkZW4gc2ljaCBiaXR0ZSB1bnRlcgptYWcuaGFzaUBhb24uYXQKbWFnLmhhc2lAYW9uLmF0CkRpZXNlbGJlIEFkcmVzc2UgZ2lsdCBmdWVyIFJlemVwdGUgdW5kIHdhcyBldWNoIHNvbnN0IG5vY2ggc28gZWluZmFlbGx0Li4uCkRpZXNlbGJlIEFkcmVzc2UgZ2lsdCBmdWVyIFJlemVwdGUgdW5kIHdhcyBldWNoIHNvbnN0IG5vY2ggc28gZWluZmFlbGx0Li4uCkRhbmtlc2Nob2VuLi4uICprbnVkZGVscyogS0VLUyAqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtla3NlISEgKEFyaywgIDMuIERleiAyMDAxLCAyMDo1MjozMyk6Cn4jISBybj1LZWtzIHJ0PTEwMDc0MDc4MDkgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5Ck9LLCBuYWNoIGRlciBBbmt1ZW5kaWd1bmcgZ2lidCBlcyBhYmVyIGhvZmZlbnRsaWNoIGF1Y2ggZG9wcGVsdCBzb3ZpZWxlIEtla3NlLApqYT8gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLZWtzZSEhIChXaWxsb3csICAzLiBEZXogMjAwMSwgMjE6MDg6NTQpOgp+IyEgcm49QXJrIHJ0PTEwMDc0MDkxNTMgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5Ck9oLCBwcmltYSAtIGVpbiB3ZWl0ZXJlciBGcmVpd2lsbGlnZXIgenVtIEtla3NlIGJhY2tlbi4gQnJhdiBBUksgOy0pCkVzIHdpcmQgbm9jaCB1bSB3ZWl0ZXJlIEZyZWl3aWxsaWdlIGdlYmV0ZW4uLi4KV2VpZGNoZW4gV2lsbG93ICdkYXJmJyBhdWNoIEtla3NlIGJhY2tlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2Vrc2UhISAoR3JpbW1ib3JuLCAgMy4gRGV6IDIwMDEsIDIxOjEwOjIyKToKfiMhIHJuPVdpbGxvdyBydD0xMDA3NDEwMTM0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzQwNzgwOQpIbW0sIHNvIGVpbiBBZXJnZXIgZGFzcyBpY2ggbmljaHQgYXVmIGRlciBQYXJ0eSBiaW4sIGFuc29uc3RlbiBoYWV0dGUgaWNoIGRhCnNjaG9uIGRhcyBlaW5lIG9kZXIgYW5kZXJlIGl0ZW0gZnVlciBkaWUgS2Vrc2JhY2t6dXRhdGVubGlzdGUuLi4KCkdkQSwgdW5zY2h1bGRpZyBwZmVpZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2Vrc2UhISAoUGVyZGl0YSwgIDMuIERleiAyMDAxLCAyMToxMToxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNzQxMDIyMiByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKV2lsbG93IHdvbGx0IGF1Y2ggc2Nob24gZWluZW4gVW13ZWcgdWViZXIgSG9sbGFuZCBmYWhyZW4sIHNhZ3RlIGVyIHZvcmhpbi4uLgpQZXJkaXRhIHNvbGwgYXVjaCBtaXRiYWNrZW4sIHdlaXNzIGFiZXIgbm9jaCBuaWNodCBzbyBnZW5hdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2Vrc2UhISAoV2lsbG93LCAgMy4gRGV6IDIwMDEsIDIxOjExOjI5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA3NDEwMjIyIHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzQwNzgwOQpobW1tLi4uIEdyaW1taSAtIGhlaXNzdCBkYXMgZnVlciB1bnMsIGRhc3Mgd2lyIGdsdWVjayBoYWJlbj8gb2RlciB3YXMgd2lsbHN0CmR1IHVucyBkYW1pdCBzYWdlbj8gOy0pCldlaWRjaGVuIFdpbGxvdyB2ZXJ6aWNodGV0IGF1ZiBadXRhdGVuIHdpZSBBcnNlbiB1bmQgQ28uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtla3NlISEgKEVsYmVyZXQsICAzLiBEZXogMjAwMSwgMjE6MTE6MzkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDc0MTAyMjIgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5CnNjaGljayB0cm90emRlbSwgaWNoIGJhY2sgZGllIGRhbm4gZ2VybmUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtla3NlISEgKFdpbGxvdywgIDMuIERleiAyMDAxLCAyMToxMjozOSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMDc0MTAyOTkgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5CmtlaW4gdGhlbWEsIHdlbm4gZHUgZGllIGF1Y2ggaXNzdC4uLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS2Vrc2UhISAoR3JpbW1ib3JuLCAgMy4gRGV6IDIwMDEsIDIxOjEzOjMxKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAwNzQxMDI5OSByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKSWNoIGhhdHRlIGRhcyBzbyB2ZXJzdGFuZGVuIGRhc3MgZGllIFp1dGF0ZW4gdWViZXIgZGllIFBhcnR5IHp1ciBWZXJmdWVndW5nCmdlc3RlbGx0IHd1ZXJkZW4sIGFsc28gd2llc28gc29sbHRlIGljaCBpcmdlbmR3YXMgc2NoaWNrZW4/IAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLZWtzZSEhIChFbGJlcmV0LCAgMy4gRGV6IDIwMDEsIDIxOjE0OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA3NDEwNDExIHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzQwNzgwOQpvY2ggaWNoIG1laW50ZSBQZXJkaXRhLCBpY2ggbWFjaCBkYXMgbnVyIGluIGFsdGVyIE1lZ2FzY2htYXJybm1hbmllciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2Vrc2UhISAoQXJrLCAgMy4gRGV6IDIwMDEsIDIxOjIyOjEwKToKfiMhIHJuPVdpbGxvdyBydD0xMDA3NDEwMTM0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzQwNzgwOQpHYW56IGJlc29uZGVycyBndXQgbWFjaGUgaWNoIGRpZSBrbGVpbmVuIHNjaHdhcnplbiBEaW5nZXIsIGRpZSAuLi4gYWVoLCB3ZWlzcwpkZW4gTmFtZW4gbmljaHQgbWVociwgZWdhbC4gUmV6ZXB0IGF1Y2guIE1hY2ggaWNoIGVpZ2VudGxpY2ggaW1tZXIsIHdlaWwgbWlyCmFuZGVyZSBSZXplcHRlIG5pY2h0IHp1c2FnZW4uIE9rLCB1bmQgbWFuIGJyYXVjaHQgZWluIHdlbmlnIEZhaWJsZSBmdWVyIEtva3MKc293aWUgaGFydGUgWmFlaG5lLCBhYmVyIHdpciBzaW5kIGRvY2ggaXJnZW5kd2llIGFsbGUgU3R1ZGVudGVuIGdlYmxpZWJlbiwKb2Rlcj8gU28sIHdvIGlzdCBoaWVyIGVpZ2VudGxpY2ggZGVyIEZldWVybG9lc2NoZXIgLi4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2Vrc2UhISAoRWxiZXJldCwgIDMuIERleiAyMDAxLCAyMToyMzowNik6Cn4jISBybj1BcmsgcnQ9MTAwNzQxMDkzMCByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKb2sgQXJrIG1hY2h0IGRpZSBTcGVrdWxhdGl1cywgaWNoIG1hY2ggZGVuIFRlaWcgdW5kIGJyaW5nIGRpZSBGb3JtIG1pdC4gU28gMQpLZyBUZWlnIHNvbGx0ZSBnZW51ZWdlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS2Vrc2UhISAoQXJrLCAgMy4gRGV6IDIwMDEsIDIxOjI0OjEwKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAwNzQxMDk4NiByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKSGVpc3NlbiBkaWUgc28/IFNwZWt1bGF0aXVzPyBPZGVyIGlzdCBkYXMgZGFzLCB3YXMgZGllIExldXRlIGltbWVyIGhpbnRlcmhlcgptYWNoZW4gLi4uIHNwZWt1bGllcmVuOiB3YXNuIGRldHRlPyBJaWlpaGhoLCBidWVhcmdzLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtla3NlISEgKFdpbGxvdywgIDMuIERleiAyMDAxLCAyMToyNDoxNCk6Cn4jISBybj1BcmsgcnQ9MTAwNzQxMDkzMCByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKaG1tbS4uLiBtZWluc3QgZHUgamV0enQgZGllIHNwZXppYWxrZWtzZSBuYWNoIGtvZWhsZXJhcnQsIG9kZXIgd2VsY2hlIGdhdHR1bmcKbWVpbnN0IGR1PwpXZWlkY2hlbiBXaWxsb3cgbmFndCBuaWNodCBnZXJuZSBhbiBIb2x6a29obGUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtla3NlISEgKEVsYmVyZXQsICAzLiBEZXogMjAwMSwgMjE6MjU6MDEpOgp+IyEgcm49V2lsbG93IHJ0PTEwMDc0MTEwNTQgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5CmFsc28gc3Bla3VsYXRpdXMgc2luZCBzZWVlZWVlZWVlaHIgbGVja2VyIHVuZCBhdXMgMSBrZyBUZWljaCBrYW4gbWFuCnNlZWVlZWVlZWVlZWhyIHZpZWxlIG1hY2hlbiB1bmQgZGFzIGRhYWFhYWFhYWFhYWFhYXVlcnQgbGFuZ2UgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtla3NlISEgKElzaSwgIDMuIERleiAyMDAxLCAyMToyNToyNSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMDc0MTExMDEgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5Cm1pdCBvZGVyIGhuZSBtYW5kZWxuPwppc2kgKG1vdXNzZXdlcmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBLZWtzZSEhIChFbGJlcmV0LCAgMy4gRGV6IDIwMDEsIDIxOjI1OjQxKToKfiMhIHJuPUlzaSBydD0xMDA3NDExMTI1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzQwNzgwOQpvaG5lIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLZWtzZSEhIChBcmssICAzLiBEZXogMjAwMSwgMjE6MjU6NDcpOgp+IyEgcm49V2lsbG93IHJ0PTEwMDc0MTEwNTQgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5CkRhcyBSZXplcHQgZ2lidHMgYXVjaCBpbSBIYW5kZWwsIGFiZXIgZGllIExldXRlIHJhZmZlbiBlcyBlYmVuIG5pY2h0IHVuZAp2ZXJ3ZW5kZW4gZGllIGxlY2tlciBEaW5nZWxjaGVuIGFscyBIZWl6bWl0dGVsLiBWZXJzdGVoZSB3ZXIgZGllIFdlbHQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS2Vrc2UhISAoRWxiZXJldCwgIDMuIERleiAyMDAxLCAyMToyNjozMik6Cn4jISBybj1BcmsgcnQ9MTAwNzQxMTE0NyByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKb2ssIGljaCBicmluZyBkaWUgRm9ybSBtYWwgbWl0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLZWtzZSEhIChNdWFkZGliLCAgMy4gRGV6IDIwMDEsIDIyOjQ2OjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA3NDEwMjIyIHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzQwNzgwOQpQdXJwbGUgSGF6ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtla3NlISEgKFd1cnplbCwgIDMuIERleiAyMDAxLCAyMjo0ODowMCk6Cn4jISBybj1NdWFkZGliIHJ0PTEwMDc0MTYwMTAgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5CmRhY2h0ZSBkaWUgemVpdGVuIHdhZXJlbiB2b3JiZWkuLi4gd2llIG1hbiBzaWNoIGRvY2ggaXJyZW4ga2FubiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS2Vrc2UhISAoR3JpbW1ib3JuLCAgMy4gRGV6IDIwMDEsIDIyOjUzOjQ4KToKfiMhIHJuPVd1cnplbCBydD0xMDA3NDE2MDgwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzQwNzgwOQpBZWgsIGljaCBrYW5uIG1pY2ggdGFldXNjaGVuLCBuYXR1ZXJsaWNoLiBBYmVyIGVzIGlzdCBtb2VnbGljaCBkYXNzIE11YWRkaWIKbmljaHQgdm9uIGRlciBNdXNpayBnZXNwcm9jaGVuIGhhdC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogS2Vrc2UhISAoTXVhZGRpYiwgIDMuIERleiAyMDAxLCAyMjo1NToxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNzQxNjQyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKVm9yIGFsbGVtIGxhZXNzdCBzaWNoIE11c2lrIHNjaGxlY2h0IGluIEtla3NlIGJhY2tlbi4gQWJlciBuYWphIC0gdmllbGxlaWNodApkb2NoLi4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogS2Vrc2UhISAoTXVwZmVsLCAgMy4gRGV6IDIwMDEsIDIzOjAzOjU2KToKfiMhIHJuPU11YWRkaWIgcnQ9MTAwNzQxNjUxMyByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKWWVhaCEgRGFzIGlzdCBNdXNpayBtaXQgS2Vrc2VuIGRyaW4hCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogS2Vrc2UhISAoR3JpbW1ib3JuLCAgMy4gRGV6IDIwMDEsIDIzOjA0OjU4KToKfiMhIHJuPU11cGZlbCBydD0xMDA3NDE3MDM2IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzQwNzgwOQoiSGllciBmbGllZ2VuIGdsZWljaCwgZGllIEtydWVtZWwgYXVzIGRlbiBDb29raWVzLi4uIgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBLZWtzZSEhIChWYXJsYXJpb24sICAzLiBEZXogMjAwMSwgMjM6MDk6MDYpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMDc0MTcwMzYgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5ClZpZWxsZWljaHQga2FubiBtYW4ga2VpbmUgTXVzaWsgaW4gS2Vrc2UgYmFja2VuLCBhYmVyIGRvY2ggU3Vic3RhbnplbiwgZGllCmRhZnVlciBzb3JnZW4sIGRhc3MgbWFuIE11c2lrIGhvZXJ0PyA6KQoKVmFybCosIGZyYWd0IHNpY2ggc2Nob24gbGFuZ2UsIHdpZSBNdXNpayBzY2htZWNrdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEtla3NlISEgKE11YWRkaWIsICAzLiBEZXogMjAwMSwgMjM6MDk6NTYpOgp+IyEgcm49VmFybGFyaW9uIHJ0PTEwMDc0MTczNDYgcmc9cGFydHkKfiMhIHRpZD0xMDA3NDA3ODA5CmJ1bnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBLZWtzZSEhIChQZXJkaXRhLCAgNC4gRGV6IDIwMDEsIDE3OjQyOjM4KToKfiMhIHJuPU11YWRkaWIgcnQ9MTAwNzQxNzM5NiByZz1wYXJ0eQp+IyEgdGlkPTEwMDc0MDc4MDkKaGV5LCBMZXV0ZSwgd2lyIHNvbGx0ZW4gbWFsIHdpZWRlciBpbiBkZW4gInJpY2h0aWdlbiIgdGhyZWFkIHp1cnVlY2trZWhyZW4hIC0+Cm1lZ2FzY2htYXJybgpQZXJkaXRhIG11c3Mgc2ljaCBkYSBqZXR6dCBhYmVyIGVyc3RtYWwgZHVyY2hsZXNlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGltZSBpcyB0aWNraW5nIGF3YXkuLi4gKEFuYXRvbCwgIDUuIERleiAyMDAxLCAyMDo1MDoxNCk6CgpBbG9oYSBQYXJ0eS1QZW9wbGUhCgpOdXIgenVyIEVyaW5uZXJ1bmc6CgphKSBEaWUgUGFydHkgaXN0IF92b2xsXyB1bmQgZXMgZ2lidCBiZXJlaXRzIGVpbmUgV2FydGVsaXN0ZS4KCiAgIERhcyBoZWlzc3QgenVtIGVpbmVuLCBkYXNzIGVpbiBBbm1lbGRlbiB1ZWJlciBkYXMgUGFydHlicmV0dAogICAqTklDSFQqIG1laHIgc2lubnZvbGwgaXN0LCBzb25kZXJuIHZpZWxtZWhyIGVpbmUgTWFpbCBhbgogICBMYXJpbmEgcmV0dGV0LCB3YXMgenUgcmV0dGVuIGlzdC4gVW5kIHp1bSBhbmRlcmVuIGhlaXNzdCBlcywKICAgZGFzcyAodW0gZXR3YXMgcmV0dGVuIHp1IGtvZW5uZW4gOykpIGRpZWplbmlnZW4sIGRpZSBkb2NoIAogICBuaWNodCB6dXIgUGFydHkgZXJzY2hlaW5lbiB3b2xsZW4va29lbm5lbiwgYWJlciBub2NoIGFuZ2VtZWxkZXQKICAgc2luZCwgenVtIFdvaGxlIGVpbmVzIFBhcnR5d2lsbGlnZW4gaWhyZW4gUGxhdHogZnJlaW1hY2hlbgogICBzb2xsdGVuLiBXYWVyZSBzY2hhZGUsIHdlbm4gamVtYW5kIG5pY2h0IGtvbW1lbiBkYXJmIHVuZCBtYW4KICAgZGFuYWNoIG1lcmt0LCBkYXNzIG5vY2ggUGxhZXR6ZSBmcmVpZ2V3ZXNlbiB3YWVyZW4uLi4gOi1cCiAgIAoKCmIpIEVzIGhhYmVuIG5vY2ggbmljaHRtYWwgZGllIEhhZWxmdGUgZGVyIEFuZ2VtZWxkZXRlbiB1ZWJlcndpZXNlbi4KCiAgIERpZSwgZGllIGVzIG5vY2ggdHVuIHdvbGxlbjogVHV0IGVzIF9iYWxkXy4gV2VubiBkYXMgR2VsZCBuaWNodAogICBiaXMgbmFlY2hzdGVuIEZyZWl0YWcgKHVlYmVybW9yZ2VuKSBhdWYgZGVtIHJpY2h0aWdlbiBLb250byBpc3QsCiAgIGlzdCBlbnR3ZWRlciBBYmVuZGthc3NlIChkLmguIHBsdXMgRE0gMTAsLSkgb2RlciBWb3JsYWdlIGRlcwogICBVZWJlcndlaXN1bmdzdHJhZWdlcnMgZmFlbGxpZy4gOikKCgpjKSBBbm9ueW1lIEFsa29eSF5IXkheSCBVZWJlcndlaXN1bmdlbiBzaW5kIHVuY29vbCA6KQoKICAgRGVyamVuaWdlLCBkZXIgYmVyZWl0cyB1ZWJlcndpZXNlbiBoYXQsIGRlc3NlbiBSTC1Jbml0aWFsZW4gCiAgICJBLiBSLiIgbGF1dGVuIHVuZCBkZXIgc2VpbmVuIE11ZC1OYW1lbiBuaWNodCBkYXp1Z2VzY2hyaWViZW4gCiAgIGhhdCwgbW9lZ2UgbWlyIC0gdW50ZXIgQW5nYWJlIHNlaW5lcyB2b2xsZW4gTmFtZW5zIDopIC0gbWl0IAogICBNdWQtSWRlbnRpdGFldCBCZXNjaGVpZCBnZWJlbi4gSW1tZXIgd2llZGVyIGRhc3NlbGJlIFNwaWVsLi4uIDopCiAgIApNaXQgZnJldW5kbGljaGVuIEdydWVzc2VuLApBbmF0b2wKKFBhcnR5YXVzaGlsZnNuZWJlbmFzc2lzdGVudCkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGltZSBpcyB0aWNraW5nIGF3YXkuLi4gKEJvaW5nLCAgNS4gRGV6IDIwMDEsIDIyOjUyOjExKToKfiMhIHJuPUFuYXRvbCBydD0xMDA3NTgxODE0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzU4MTgxNApJY2gga29tbSBqYSBuaWNodCwgYmV0cmlmZnQgbWljaCBhbHNvIG5pY2h0IGRpcmVrdCwgYWJlciBrb2VubmVuIG5pY2h0CnVlYmVyemFlaGxpZ2UgJ3p1ciBOb3QnIGlyZ2VuZHdvIGluIGVpbmVyIEVja2UgYXVmIElzb21hdHRlK1NjaGxhZnNhY2sKc2NobGFmZW4/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGltZSBpcyB0aWNraW5nIGF3YXkuLi4gKFZhcmRpb24sICA1LiBEZXogMjAwMSwgMjI6NTQ6MjEpOgp+IyEgcm49Qm9pbmcgcnQ9MTAwNzU4OTEzMSByZz1wYXJ0eQp+IyEgdGlkPTEwMDc1ODE4MTQKT2NoLCBkYSBzdGVoZW4gZGFubiBiZXN0aW1tdCBhdWNoIGdhbnogdmllbGUgQXV0b3MsIGluIGRlbmVuIG1hbiB1ZWJlcm5hY2h0ZW4Ka2FubiA7LSkKClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRpbWUgaXMgdGlja2luZyBhd2F5Li4uIChab29rLCAgNS4gRGV6IDIwMDEsIDIzOjE5OjQ2KToKfiMhIHJuPVZhcmRpb24gcnQ9MTAwNzU4OTI2MSByZz1wYXJ0eQp+IyEgdGlkPTEwMDc1ODE4MTQKWm9vayBlcmlubmVydCBzaWNoIGFuIGVpbiBzY2hvZW5lcyBHZXNwcmFlY2g6CgpYOiAiVW5kIHdpZSB1ZWJlcm5hY2h0ZXN0IER1PyIKWTogIk9oLCBpY2ggc2NobGFmc2Fja2UuIgoKV2VyIHdlaXNzLCB3ZXIgWCB1bmQgWSB3YXJlbiB1bmQgYmVpIHdlbGNoZXIgUGFydHkgZGFzIHdhcj8gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUaW1lIGlzIHRpY2tpbmcgYXdheS4uLiAoUHVrLCAgNi4gRGV6IDIwMDEsIDA4OjQ0OjE0KToKfiMhIHJuPVpvb2sgcnQ9MTAwNzU5MDc4NiByZz1wYXJ0eQp+IyEgdGlkPTEwMDc1ODE4MTQKWTogU3Ryb2hhbG0gPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGltZSBpcyB0aWNraW5nIGF3YXkuLi4gKE1vbnRhbnVzLCAgNi4gRGV6IDIwMDEsIDE5OjE0OjE4KToKfiMhIHJuPVB1ayBydD0xMDA3NjI0NjU0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNzU4MTgxNAphbHNvIHZvbiBtaXIgYXVjaCBub2NobWFsIGVpbiBVcGRhdGUgenVyIFBhcnR5LgoKKDEpIGljaCB3aWRlcnJ1ZmUgbWVpbmUgQVVzc2FnZSB2b24gbGV0enRlciBXT2NoZSwgZGFzcyBTY2hsYWZzYWNrIHBsdXMKTGVpbnR1Y2ggb2tlZSBzZWkuIERhcyBoYXQgc2ljaCBhbnNjaGVpbmVuZCBpbSBsZXR6dGUgbkphaHIgZ2VhZW5kZXJ0LCBkYXMKd3Vzc3RlIGljaCAobm9jaCkgbmljaHQuIERhaGVyIGJpdHQsZSB3aWUgTGFyaW5hIGdlc2NocmllYmVuIGhhdDoKQmV0dHdhZXNjaGUgbWl0YnJpbmdlbiAob2RlciBsZWloZW4sIDQgRXVybyBiencgOCBETSBwcm8gS29tcGxldHRzYXR6KSEKCigyKSBEaWUgQW5sYWdlIGZ1bmt0aW9uaWVydCB3aWVkZXIgYmVzdGVucy4gU2VpdCBTYW1zdGFnLgoKVW5kIGRhIGlociBkaWUgbmFlY2hzdGUgR3J1cHBlIHNlaWQsIGRpZSBhdWYgZGllIEJ1cmcga29tbXQsIHdpcmQgZXMgYmlzIHp1cgpQYXJ0eSBhdWNoIGtlaW5lIEdlbGVnZW5oZWl0IGZ1ZXIgS2lkZGllcyBnZWJlbiwgZGllIHdpZWRlciBrYXB1dHR6dW1hY2hlbi4KOy0pCgpWaWVsIFNwYXNzIGF1cyBkZXIgRmVybmUKCmkuQS4gUGl6emFwZXBlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUaW1lIGlzIHRpY2tpbmcgYXdheS4uLiAoR25vbWUsICA2LiBEZXogMjAwMSwgMjM6MzU6NTIpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAwNzY2MjQ1OCByZz1wYXJ0eQp+IyEgdGlkPTEwMDc1ODE4MTQKaG1tbS4Kd2llc28gYnJhdWNodCBtYW4gZnVlciBzdWJ3YXkyc2FsbHkgbmUgdm9sbCBmdW5rdGlvbmllcmVuZGUgYW5sYWdlPwpkYSByZWljaGVuIGRvY2ggbmVuIG5ldHp0ZWlsLCAyIGxlaXN0dW5nc3RyYW5zaXN0b3JlbiBtaXQgbGluZS1pbgp1bmQgbmVuIGJydWVsbHd1ZXJmZWwsIG9kZXI/IDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2Vrc2UgYmFja2VuIGluIHdpbnRlcmJ1cmcgKEtla3MsICA5LiBEZXogMjAwMSwgMDk6MzY6MzkpOgp3aXIgYnJhdWNoZW4genVtIGJhY2tlbiBub2NoIGVpbiBwYWFyIHp1dGF0ZW4uLi4gd2VyIG1laGwgKHdlaXplbm1laGwKdW5pdmVyc2FsKSwgcHVkZXJ6dWNrZXIsIGJ1dHRlciBvZGVyIG1hcmdhcmluZSBtaXRicmluZ2VuIGthbm4vbW9lY2h0ZSwgbWVsZGUKc2ljaCBiaXR0ZSBiaXMgc3BhZXRlc3RlbnMgZGllbnN0YWcgKDIwIHVocikgYmVpIG1pciEhISBtYWcuaGFzaUBhb24uYXQKZGFua2UhISAqa2VrcyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IGFnYWluIChBbmF0b2wsICA5LiBEZXogMjAwMSwgMTk6NTE6MjUpOgoKU28sIFVlYmVyd2Vpc3VuZ3NlbmRzdGFuZCBuYWNoIFN0aWNodGFnIHNpZWh0IHNvb28gc2NobGVjaHQgbmljaHQgYXVzLAphbGxlcmRpbmdzIGdpYnQgZXMgbm9jaCBlaW5lIC0ga3VyemUgLSBMaXN0ZSBkZXJlciwgZGllIHdlZGVyIHVlYmVyd2llc2VuCmhhYmVuIG5vY2ggbWl0IExhcmluYSBldHdhcyBhbmRlcmVzIHZlcmVpbmJhcnQgaGFiZW4uIERpZWplbmlnZW4ga29lbm5lbgpub2NoIHVlYmVyd2Vpc2VuLCBtdWVzc2VuIGFiZXIgYSkgZGVuIGVudHNwcmVjaGVuZGVuIEtvbnRvYXVzenVnIHp1ciBQYXJ0eQptaXRicmluZ2VuIHVuZCBiKSBMYXJpbmEgYmlzIHNwYWV0ZXN0ZW5zIE1JVFRXT0NIIE1JVFRBRyB2aWEgTWFpbCBCZXNjaGVpZApnZWdlYmVuIGhhYmVuLCBkYXNzIHNpZSB1ZWJlcndpZXNlbiBoYWJlbi4gQW5zb25zdGVuIEJhcnphaGx1bmcgYW4gZGVyClBhcnR5ICs9IERNIDEwLC0gLSBHZWZhbmdlbmUgd2VyZGVuIGtlaW5lIGdlbWFjaHQuIDtvKQoKRWJlbiBqZW5lIExpc3RlOgpBc3JhaQpDaGFvc2xvcmQKRGV2aWxjaGVuCkVwcGkKR2FiaQpJbWRhCk1hbGNhbHlwc28KTWVyY3V0aW8KT3Jkb3MKUGF0cnluClN0cm9oYWxtClRyeWZhbgpXb28KCkVpbmUgUGhhbnRvbS1VZWJlcndlaXN1bmcgaXN0IG5vY2ggaW0gQW5nZWJvdCwgc29sbHRlIHNpY2ggYWxzbyBqZW1hbmQKYXVmIGRlciBMaXN0ZSB3aWVkZXJmaW5kZW4sIGFiZXIgc2ljaGVyIHNlaW4sIGRhc3MgZXIgc2Nob24gdWViZXJ3aWVzZW4KSEFULCBtb2VnZSBlciBzaWNoIGJlaSBMYXJpbmEgb2RlciBtaXIgbWVsZGVuLgoKRXVlciBQYXJ0eW5lYmVuYXVzaGlsZnN1bnRlcmFzc2lzdGVudCwKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgYWdhaW4gKEFuYXRvbCwgIDkuIERleiAyMDAxLCAxOTo1NToyNik6Cn4jISBybj1BbmF0b2wgcnQ9MTAwNzkyMzg4NSByZz1wYXJ0eQp+IyEgdGlkPTEwMDc5MjM4ODUKT2ssIG9rLCBNYWxhY2x5cHNvIGhlaXNzdCBlciwgbmljaHQgTWFsY2FseXBzby4gOikgTWVhIGN1bHBhLCA6KQoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoQXJrLCAxMC4gRGV6IDIwMDEsIDIwOjEzOjA1KToKSm8sIGFlaCwgaWNoIGhhYmUga2VpbmUgQWhudW5nLCB3YW5uIGVyIGRlbm4gZ2VuZWhtIGlzdCwgYXVjaCBkaWUgVm9yYmVyZWl0dW5nCmlzdCwgd2VubiBtYW4gdm9uIG1laW5lbSBOb3RlYm9vayBhYnNpZWh0LCBub2NoIGV0d2FzIHNwb250YW4sIGFiZXIgaWNoIHd1ZXJkZQptYWwgc2FnZW4sIGRhc3MgaWNoIG1pY2ggZWluZmFjaCBtYWwgdW0gMTE6MDAgVWhyIGFtIFNhbXN0YWcgaW4gZGFzCkhpbnRlcnppbW1lciBob2NrZSB1bmQgYW5mYW5nZSB6dSBlcnphZWhsZW4gLi4uIEVpbnNwcnVlY2hlIGVybnN0aGFmdGVyIEFydD8KVW0gSXJydHVlbWVybiB2b3J6dWJldWdlbiwgZGVyIEluaGFsdCBpc3Qga2xhciwgbnVyIGRhcyBXYW5uIHVuZCBXaWUgZ2lsdCBlcwp6dSBrbGFlcmVuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoQXJrLCAxMC4gRGV6IDIwMDEsIDIwOjE4OjU3KToKfiMhIHJuPUFyayBydD0xMDA4MDExNTg1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpFcyBnZWh0IHVtIGRhcyBTY2hyZWliZW4gdm9uIFF1ZXN0cywga2VpbmUgVGVjaG5paywgc29uZGVybiB3aWUgbWFuIHNvd2FzCmVyZm9sZ3JlaWNoIGFuZ2VodC4gRGFzIGlzdCBtZWhyIGFuIE1hZ2llciB1bmQgZGVtZW50c3ByZWNoZW5kIEludGVyZXNzaWVydGUKZ2VyaWNodGV0IHVuZCBzZWhyIGludGVyYWt0aXYuIERhdWVyIGV0d2EgMWggbWl0IEZvcnRzZXR6dW5nIHZpYQpFaW56ZWxnZXNwcmFlY2hlbiAoUGFydHlkYXVlcikgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoWm9vaywgMTAuIERleiAyMDAxLCAyMDoyMzo0MSk6Cn4jISBybj1BcmsgcnQ9MTAwODAxMTkzNyByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTE1ODUKMWg/Cgpab29rIGlzdCBiZWdlaXN0ZXJ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvIGVpbiBWb3J0cmFnLCBkZXIgaXN0IGx1c3RpZyAoPyksIHNvIGVpbiBWb3J0cmFnLCBkZXIgaXN0IHNjaG9lbiAoPykgLi4uIChNYW5kcmFnb24sIDEwLiBEZXogMjAwMSwgMjA6NDY6MDApOgp+IyEgcm49Wm9vayBydD0xMDA4MDEyMjIxIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpIQWVsdCBQYXRyeW4gd2llZGVyIG5lbiBWb3J0cmFnIHp1IGxhbWJkYS1jbG9zdXJlcyA/CgpTbyBtYWwgZWluZW4sIGRlciBpbnMgZGV0YWlsIGdlaHQgPwoKTWEqIGhvZmZ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoSXNpLCAxMC4gRGV6IDIwMDEsIDIwOjQ2OjQ0KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDA4MDEzNTYwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpVbSBnb3R0ZXMgd2lsbGVuLgppc2kgKG1vdXNzZXdlcmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoWm9vaywgMTAuIERleiAyMDAxLCAyMDo0NzozNik6Cn4jISBybj1Jc2kgcnQ9MTAwODAxMzYwNCByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTE1ODUKSXNpPyBIYXN0IER1IFBhdHJ5bnMgVm9ydHJhZyBkZW5uIGdlaG9lcnQ/IDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU28gZWluIFZvcnRyYWcsIGRlciBpc3QgbHVzdGlnICg/KSwgc28gZWluIFZvcnRyYWcsIGRlciBpc3Qgc2Nob2VuICg/KSAuLi4gKE1hbmRyYWdvbiwgMTAuIERleiAyMDAxLCAyMDo1MDozNyk6Cn4jISBybj1ab29rIHJ0PTEwMDgwMTM2NTYgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDExNTg1CkljaCBlcmlubmVyZSBtaWNoIGFuIGRlbiBpbiBNdWVuc3RlciwgZGVyIGRhbm4gYXVmZ3J1bmQgZGVyIFRhdHNhY2hlLCBkYXNzIGRlcgpSYXVtIHp1IDIvMyBtaXQgU3BpZWxlcm4gZ2VmdWVsbHQgd2FyLCByZWNodCBvZWJlcmZsYWVjaGxpY2ggZ2VoYWx0ZW4gd3VyZGUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU28gZWluIFZvcnRyYWcsIGRlciBpc3QgbHVzdGlnICg/KSwgc28gZWluIFZvcnRyYWcsIGRlciBpc3Qgc2Nob2VuICg/KSAuLi4gKEdsb2luc29uLCAxMC4gRGV6IDIwMDEsIDIwOjUzOjQyKToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDA4MDEzODM3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpQYXJhbGxlbCBsYXNzZW4gd2lyIGVpbmVuIGhlaW1saWNoIGF1ZmdlemVpY2huZXRlbiBWb3J0cmFnIGZ1ZXIgU3BpZWxlciB2b24KU3BpZWxlcm4gdWViZXIgRm9yc2NoZXJwdW5rdGUgdW5kIFNjcmlwdGUgaGFsdGVuIDo9KQoKR2xvaW4oc29uKSB2ZXJkb25uZXJ0IHJhbmRvbShTcGllbGVyPkxldmVsIDkwKSBkYXp1LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU28gZWluIFZvcnRyYWcsIGRlciBpc3QgbHVzdGlnICg/KSwgc28gZWluIFZvcnRyYWcsIGRlciBpc3Qgc2Nob2VuICg/KSAuLi4gKFBpdGZhbGwsIDEwLiBEZXogMjAwMSwgMjA6NTc6MDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwODAxNDAyMiByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTE1ODUKd2FzIHNpbmQgZm9yc2NoZXJwdW5rdGU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoRWxiZXJldCwgMTAuIERleiAyMDAxLCAyMDo1NzozNSk6Cn4jISBybj1QaXRmYWxsIHJ0PTEwMDgwMTQyMjcgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDExNTg1CmR1IGtlbm5zdCBkYXMgdW50ZXIgTXVocHVua3RlIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogU28gZWluIFZvcnRyYWcsIGRlciBpc3QgbHVzdGlnICg/KSwgc28gZWluIFZvcnRyYWcsIGRlciBpc3Qgc2Nob2VuICg/KSAuLi4gKFpvb2ssIDEwLiBEZXogMjAwMSwgMjA6NTc6NTMpOgp+IyEgcm49RWxiZXJldCBydD0xMDA4MDE0MjU1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpXYXMgZ2lidCdzIGZ1ZXIgUmVeMTAwPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoUGl0ZmFsbCwgMTAuIERleiAyMDAxLCAyMDo1ODowNSk6Cn4jISBybj1ab29rIHJ0PTEwMDgwMTQyNzMgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDExNTg1Cm5lbiBNdWhwdW5rdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoWm9vaywgMTAuIERleiAyMDAxLCAyMDo1ODoxNSk6Cn4jISBybj1QaXRmYWxsIHJ0PTEwMDgwMTQyODUgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDExNTg1CldhcyB3aWxsIGljaCBkYW1pdD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogU28gZWluIFZvcnRyYWcsIGRlciBpc3QgbHVzdGlnICg/KSwgc28gZWluIFZvcnRyYWcsIGRlciBpc3Qgc2Nob2VuICg/KSAuLi4gKElzaSwgMTAuIERleiAyMDAxLCAyMDo1ODo0NSk6Cn4jISBybj1ab29rIHJ0PTEwMDgwMTQyOTUgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDExNTg1CmljaCBoYWIgbmUgdW5nZWZyYWhlcmUgYWhudW5nIHdhcyBuZSBsYW1iZGEgY2xvc3VyZSBpc3QgdW5kIHdpbGwKZGFzIHpldWcgbmllIGJlbnV0emVuLi4uCmlzaSAoIyd3ZXJmZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFNvIGVpbiBWb3J0cmFnLCBkZXIgaXN0IGx1c3RpZyAoPyksIHNvIGVpbiBWb3J0cmFnLCBkZXIgaXN0IHNjaG9lbiAoPykgLi4uIChab29rLCAxMC4gRGV6IDIwMDEsIDIwOjU4OjU5KToKfiMhIHJuPUlzaSBydD0xMDA4MDE0MzI1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpMaXNwIHJ1bGV6ISAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogU28gZWluIFZvcnRyYWcsIGRlciBpc3QgbHVzdGlnICg/KSwgc28gZWluIFZvcnRyYWcsIGRlciBpc3Qgc2Nob2VuICg/KSAuLi4gKEdsb2luc29uLCAxMC4gRGV6IDIwMDEsIDIxOjAyOjUxKToKfiMhIHJuPUlzaSBydD0xMDA4MDE0MzI1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpEYXMgaXN0IGV0d2FzIHdvbWl0IG1hbiBkaWUgbWVpc3RlbiBHZWdlbnN0YWVuZGUgdm9yIGVpbmVyIGVybmV1dGVuIEJhbGFuY2UKc2NodWV0emVuIGthbm4sIHdhcyBhYmVyIGV0d2FzIGxhaG1lciBpc3QgYWxzIGFuZGVyZSBEaW5nZS4KCkdsb2luKHNvbikgdGlwcHQgbnVyIG1pdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU28gZWluIFZvcnRyYWcsIGRlciBpc3QgbHVzdGlnICg/KSwgc28gZWluIFZvcnRyYWcsIGRlciBpc3Qgc2Nob2VuICg/KSAuLi4gKFBhdHJ5biwgMTAuIERleiAyMDAxLCAyMToxMDo1MCk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAwODAxMzU2MCByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTE1ODUKYWxzbyBkYSBhcmsgMTE6MDAgYW5mYWVuZ3QgdW5kIG5lIHN0dW5kZSBsYWJlcnQsIGRhbm4gaXN0IDEyOjAwLCB2b3JoZXIKaGF0IGRhIGtlaW5lIHNhdSBib2NrIGRyYXVmLCBkYW5hY2ggd2VyZGVuIHdpciBuaWNoIG1laHIgZGF6dSBrb21tZW4uCm9iZW5kcmVpbiBoYWJlbiB3aXIgZGVyemVpdCBrYXVtIGdlbnVnIHdpcmtsaWNoIGludGVyZXNzaWVydGUsIHVuZCB2aWVsZQp2b24gZGVuamVuaWdlbiwgZGllIG1laW5lbiwgc2llIHd1ZXJkZSBlcyBpbnRlcmVzc2llcmVuLCB3YWVyZW4gbmFjaApzcGFldGVzdGVucyAxMCBtaW51dGVuIGVpbmdlcGVubnQuCmRlciBob2hlIHNwaWVsZXJhbnRlaWwgZGVyIGJlc3VjaGVyIHRhZXRlIHNlaW4gdWVicmlnZXMuCnN1bW1hIHN1bW1hcnVtOiBkaWVzbWFsIHdpcmQgZXMgZWluZW4gc29sY2hlbiB2b3J0cmFnIG5pY2h0IGdlYmVuLgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU28gZWluIFZvcnRyYWcsIGRlciBpc3QgbHVzdGlnICg/KSwgc28gZWluIFZvcnRyYWcsIGRlciBpc3Qgc2Nob2VuICg/KSAuLi4gKE1vbnRhbnVzLCAxMC4gRGV6IDIwMDEsIDIxOjEyOjA5KToKfiMhIHJuPVBhdHJ5biBydD0xMDA4MDE1MDUwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpWZXJnaXNzIGRhcy4KMTIgVWhyIGlzdCBNaXR0YWdlc3Nlbi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoQXJrLCAxMC4gRGV6IDIwMDEsIDIxOjM5OjQ2KToKfiMhIHJuPVBhdHJ5biBydD0xMDA4MDE1MDUwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQoiVm9ydHJhZyIgZXR3YSAxMCBtaW4sIG1pdCBEaXNrdXNzaW9uIGVpbmUgU3R1bmRlLiBOdXIgdW0gZGllIFZlcmhhZWx0bmlzc2UKenVyZWNodHp1cnVlY2tlbiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBsdXN0aWcgKD8pLCBzbyBlaW4gVm9ydHJhZywgZGVyIGlzdCBzY2hvZW4gKD8pIC4uLiAoTWFuZHJhZ29uLCAxMC4gRGV6IDIwMDEsIDIxOjQxOjA5KToKfiMhIHJuPUFyayBydD0xMDA4MDE2Nzg2IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxMTU4NQpEdSBtZWluc3QsIERpciBmYWVsbHQgc2Nob24gbmFjaCAxMCBtaW4gbml4IG1laHIgZWluID8KCk1hKiAtIGVudHRhZXVzY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSBzY2hvbiB3aWVkZXIhIChBbmF0b2wsIDEwLiBEZXogMjAwMSwgMjE6NDI6MjYpOgpXaWUgTW9udGFudXMgc2Nob24gaGF0IGFua2xpbmdlbiBsYXNzZW4sIGlzdCBkaWUgIk11c2kiIGltIFdpbnRlcmJ1cmdnZWJhZXVkZQp3aWVkZXIgaW0gZnVua3Rpb25zZmFlaGlnZW4gWnVzdGFuZC4gTnVyIGRpZSBDRHMuLi4gZGllIG11ZXNzZW4gd2lyIHNlbGJzdAptaXRicmluZ2VuLiBGdWVobHQgZXVjaCBhbHNvIGFsbGdlbWVpbiBkYXp1IGF1ZmdlcnVmZW4sIGVpbiBwYWFyIGRlciBTY2hlaWJlbgphbnp1c2NobGVpZmVuLgoKV2FzIG5pY2h0IGhlaXNzdCwgZGFzcyB3YWhsbG9zIGFsbGVzIGF1ZiBkZW4gUGxhdHRlbnRlbGxlciBrb21tdCwgbmVlaXNrbGFyIDopCgpFdWVyIE5lYmVuYXVzaGlsZnNwYXJ0eXVudGVyYXNzaXN0ZW50LApBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvIGVpbiBWb3J0cmFnLCBkZXIgaXN0IGx1c3RpZyAoPyksIHNvIGVpbiBWb3J0cmFnLCBkZXIgaXN0IHNjaG9lbiAoPykgLi4uIChBcmssIDEwLiBEZXogMjAwMSwgMjE6NDU6MTcpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMDgwMTY4Njkgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDExNTg1CkljaCBzdHJ1a3R1cmllcmUgZWZmaXppZW50PyAqb2VoZW0qIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChEZWVwYmx1ZSwgMTAuIERleiAyMDAxLCAyMjoyNTowNik6Cn4jISBybj1BbmF0b2wgcnQ9MTAwODAxNjk0NiByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKV2lyZCBkZW5uIHdhcyBhbmRlcmVzIGJlbm9ldGlndCBhbHMgU3Vid2F5IHVuZCBmdWVyIFNvbm50YWcgZnJ1ZWggTWl0dGVybWV5ZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5IHNjaG9uIHdpZWRlciEgKEhpZ2h0LCAxMC4gRGV6IDIwMDEsIDIyOjI3OjE4KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMDgwMTk1MDYgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CnNvd2FzIGluIGRlciBhcnQgd29sbHRlIGljaCBhdWNoIGZyYWdlbiB3b2JlaSBpY2ggYXVmIGRlbiBtaXR0ZXJtYXllciBuaWNoCmdla29tbWVuIGJpbiBkYSBzb25udGFnIG1vcmdlbiBlaW4gemVpdHJhdW0gaXN0IGRlciBmdWVyIG1pY2ggcGVyc29lbmxpY2gKZWlnZW50bGljaCBuaXQgZXhpc3RpZXJ0IC4uLiBzb25udGFnIGZpbmcgYmVpIG1pciBiaXNoZXIgZnJ1ZWhlc3RlbnMgdW0gMTQ6MDAKYW4KCmhpZ2h0IGVoIG5pY2gga29tbWVuIHRyb3pkZW0gc2VuZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHkgc2Nob24gd2llZGVyISAoRGVlcGJsdWUsIDEwLiBEZXogMjAwMSwgMjI6Mjg6NTApOgp+IyEgcm49SGlnaHQgcnQ9MTAwODAxOTYzOCByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKV2FzLCBEdSBrb21tc3QgbmljaHQ/IERhIG11c3MgaWNoIGRvY2ggc2NobmVsbCBub2NoIG1hbCBNaXR0ZXJtYXllciByb2VzdGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChBbmF0b2wsIDEwLiBEZXogMjAwMSwgMjI6Mzg6NTApOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAwODAxOTczMCByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKTWl0dGVybWV5ZXIgc2Nob2VuIHVuZCBndXQsIHNhZ3QgZnVlciBTb25udGFnIG1vcmdlbiBrZWluZXIgd2FzCihDaGluZXNlIDEzIFVocikuIDopIEFiZXIuLi4gS2lubmVycy4uLiBpaHIgd2VyZGV0IGRvY2ggbmljaHQgbnVyIFN1YndheQp0byBTYWxseSBob2VyZW4gd29sbGVuPwoKRXJnbywgYWxzbyBtb2VnZSBkb2NoIGJpdHRlIGlyZ2VuZHdlciBlaW4gcGFhciBha3R1ZWxsZSBTY2hlaWJlbiB6dXNhbW1lbi0Ka2xhdWJlbiwgQnJhdm8tSGl0cyB0dW5zIGF1Y2guIFVuZCBpcmdlbmR3ZXIga2FubiBqYSBtYWwgc2NoYXVlbiwgb2IKZXIgZWluIHBhYXIgU2NoaW5rZW4gYSBsYSAiRXIgaGF0IGVpbiBLTkFMTCAoUGVuZykgcm90ZXMgR3VtbWlib290IiBvZGVyCnNvIGRhIGhhdC4gT2RlciBORFcuIE9kZXIgd2Vpc3MgZGVyIEhpbW1lbC4KClBhcnR5bmViZW5hdXNoaWxmc3VudGVyYXNzaXN0ZW50IHVuZCBpbnRlcmltIE11c2lrcmVkYWt0ZXVyICh6dW1pbmRlc3QKc29sYW5nZSwgYmlzIGVyIHdlaXNzLCBkYXNzIFJvY2h1cyBldCBhbC4gZGFzIGthbm4gOykpLApBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5IHNjaG9uIHdpZWRlciEgKEdyaW1tYm9ybiwgMTAuIERleiAyMDAxLCAyMjo0MTozMCk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwODAyMDMzMCByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKUGFzc2VuZCB6dXIgSmFocmVzemVpdCBrb2VubnRlIGljaCBCYWNocyBXZWlobmFjaHRzb3JhdG9yaXVtIGFuYmlldGVuIChiYW1tCmJhbW0gYmFtbSBiYW1tIGJ1bW0uIEJhbW0gYmFtbWJhbW0gYnVtbSBiYW1tIGJ1bW0gYmFtbSBidW1tKSwgYWJlciB6dSBldXJlbQpHbHVlY2sgYmluIGljaCBqYSBuaWNodCBkYS4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChWYXJkaW9uLCAxMC4gRGV6IDIwMDEsIDIyOjUwOjE3KToKfiMhIHJuPUFuYXRvbCBydD0xMDA4MDIwMzMwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0Ngo6cGFja3QgKHdpZSBpbW1lcikgc2VpbmUgT3JvcGF4IGVpbi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhcnR5IHNjaG9uIHdpZWRlciEgKE1vbnRhbnVzLCAxMC4gRGV6IDIwMDEsIDIyOjU1OjU1KToKfiMhIHJuPVZhcmRpb24gcnQ9MTAwODAyMTAxNyByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKSWNoIGJlendlaWZlbGUsIGRhc3MgZXMgaW4gV0ludGVyYnVyZyBuZSBVLUJhaG4gZ2lidCwgdW5kIHdlciBiaXR0ZXNjaG9lbiBpc3QKU2FsbHk/IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHkgc2Nob24gd2llZGVyISAoR2xvaW5zb24sIDEwLiBEZXogMjAwMSwgMjM6MzI6MDUpOgp+IyEgcm49QW5hdG9sIHJ0PTEwMDgwMjAzMzAgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CkljaCBoYWV0dGUgendlaSBPc3RhbGdpZS1TY2hlaWJlbiB2b24gTWNEb29mIHp1IGJpZXRlbi4gIkFsdCB3aWUgZWluIEJhdW0iCnBhc3N0IGVpZ2VudGxpY2ggcHJpbWEgenUgZGVuIG1laXN0ZW4gTWFnaWVybi4gIldlbm4gZWluIE1lbnNjaCBsZWJ0IiB6dQp2aWVsZW4gU3BpZWxlcm4uIFVuZCAia2xpbmcgS2xhbmciIHp1IGRlbiBUcnZlcy4gRXRjLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHkgc2Nob24gd2llZGVyISAoSGlnaHQsIDExLiBEZXogMjAwMSwgMDA6NDQ6NTUpOgp+IyEgcm49QW5hdG9sIHJ0PTEwMDgwMjAzMzAgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CmFsbGVzIHZvbiBkaXIgdm9yZ2VzY2hsYWdlbmUgaGFiIGljaCB6dSBoYXVmIGRhIC4uLiB3ZXIga29tbXQgYmlzIGRvbm5lcnN0YWcKbWl0dGFnIHZvcmJlaSB1bmQgaG9sdCBkaWUgc2NoZWliZW4gYWIgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHkgc2Nob24gd2llZGVyISAoTXVwZmVsLCAxMS4gRGV6IDIwMDEsIDEyOjI3OjU2KToKfiMhIHJuPUFuYXRvbCBydD0xMDA4MDIwMzMwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpIbS4uLiBWYXJsYXJpb24ga29lbm50ZSBlaW4gcGFhciBrcmFjaGVuZGUgU2Nod2VybWV0YWxsc2NoZWliZW4gbWl0YnJpbmdlbiB1bmQKaWNoIHZpZWxsZWljaHQuLi4gaG0uLiBuYSBkaWVzIHVuZCBkYXMgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChFbGl6YWJldGgsIDExLiBEZXogMjAwMSwgMTk6MTk6MjYpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMDgwNzAwNzYgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CkljaCBiaW4gamEgYXVjaCBmdWVyIHNvbGNoZSBkaW5nZSB3byBtYW4gbWl0Z3JvZWhsZW4ga2FubiAtPiBFaW4gQmV0dCBpbQpLb3JuZmVsZCAtPiBFciBnZWhvZXJ0IHp1IG1pciBvZGVyIG9ibGlnYXRvcmlzY2ggLT4gSSB3aWxsIHN1cnZpdmUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5IHNjaG9uIHdpZWRlciEgKEltZGEsIDExLiBEZXogMjAwMSwgMTk6NDc6MTkpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwMDgwOTQ3NjYgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2Cldlbm4gc2Nob24gZ3JvZWxlbiwgZGFubiB3ZW5pZ3N0ZW5zIGRpZSBJbnRlcm5hdGlvbmFsZS4uLgpPaywgdm10bC4gZXJzdCBnZWdlbiBzcGFldGVyIDspCgpJbWRhLiBIYXQgZGEgc2NobGVjaHRlIEVyZmFocnVuZ2VuIG1pdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHkgc2Nob24gd2llZGVyISAoSGlnaHQsIDExLiBEZXogMjAwMSwgMTk6NTk6MzQpOgp+IyEgcm49SW1kYSBydD0xMDA4MDk2NDM5IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgppbnRlcm5hdGlvbmFsZSA/IHNoaXQgZGFzIGhhYmVuIHdpciBuaWNoIGdlaGJhdCAKCmFiYmEga29lbm50IGlociBkaWUgZGlza3VzaW9uIGJpdHRlIGVpbnN0ZWxsZW4gPyBiZWtvbW0gbGFuZ3NhbSBkb2NoIGx1c3QgenUKZXJzY2hlaW5lbgoKaGlnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhcnR5IHNjaG9uIHdpZWRlciEgKERlZXBibHVlLCAxMS4gRGV6IDIwMDEsIDIwOjAxOjA3KToKfiMhIHJuPUltZGEgcnQ9MTAwODA5NjQzOSByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKSW1kYSwgYml0dGUgVGV4dCA3NXgga29waWVyZW4gdW5kIGF1ZiBkZXIgUGFydHkgdmVydGVpbGVuLCBkaWUgbWVpc3RlbiBzaW5kIGRhCmJlc3RpbW10IHdlbmlnIFRleHRmZXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChHcmltbWJvcm4sIDExLiBEZXogMjAwMSwgMjA6MDU6NTUpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAwODA5NzI2NyByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKSmFqYSwgZGllIHBvbGl0aXNjaGUgQmlsZHVuZyBkZXIgaGV1dGlnZW4gSnVnZW5kIGlzdCBvZnQgZXJzY2hyZWNrZW5kLgoKR2RBLCBoYXQgc2Nob24gYW0gMjAuNC4gZGFzIEhvcnN0IFdlc3NlbHMgTGllZCBnZXN1bmdlbiwgZ2Vmb2xndCB2b24gZGVyCkludGVybmF0aW9uYWxlbi4gQmVpZGVzIHRleHRzaWNoZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFydHkgc2Nob24gd2llZGVyISAoTW9udGFudXMsIDExLiBEZXogMjAwMSwgMjA6MDY6MzEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDgwOTc1MjEgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CmphamEsIHVuc2VyZSBrbGVpbmVuIFJldm9sdXp6ZXIuCkhlaiwgZGllIEludGVybmF0aW9uYWxlIGtlbm50IG1hbiBlbnR3ZWRlciBhdXN3ZW5kaWcsIG9kZXIgZ2FyIG5pY2h0LiBTbwpTYW9sbnNvemlhbGlzdGVuIHdpZSBQYW1wZXJzLCBkaWUgaW4gZGVyIHp3ZWl0ZW4gU3Ryb3BoZSBudXIgbm9jaCAibGFsYWxhIgptaXRzaW5nZW4ga29lbm5lbiwgd2VyZGVuIGJlaSBkZXIgbmFlY2hzdGVuIFJldm9sdXRpb24gc293aWVzbyBhbiBkaWUgV2FuZApnZXN0ZWxsdC4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFydHkgc2Nob24gd2llZGVyISAoUGF0cnluLCAxMS4gRGV6IDIwMDEsIDIwOjA3OjQ1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA4MDk3NTIxIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpqYSBqYSwgZGllIGhldXRpZ2UganVnZW5kLgoKLS0gCnBhdHJ5biwga2FubiBzaWNoIG51biBkb2NoIHNvIGxhbmdzYW0gdm9yc3RlbGxlbiwgd29oZXIgZGllIHJ1bW5vZXJnZWxuZGVuCiAgICAgICAgZmVuc3RlcmdhZmZlbmRlbiByZW50ZXIgc3RhbW1lbi4gYmlzaGVyIGhhdHRlIGljaCBkaWUgdGhlb3JpZSwgZGllCiAgICAgICAgd2FyZW4gbmllIGp1bmcgdW5kIHN0YW1tZW4gYXVzIGRlbSBhbGwgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChNb250YW51cywgMTEuIERleiAyMDAxLCAyMDowOTozMyk6Cn4jISBybj1QYXRyeW4gcnQ9MTAwODA5NzY2NSByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKTnVuLCBtaXIgc2luZCBSZW50bmVyIG1pdCBwb2xpdGlzY2hlciBCaWxkdW5nIGxpZWJlciBhbHMgYWJnZXdyYWNrdGUgVGVlbmFnZXIsCmRpZSBudXIgbm9jaCBNYXJpYW5uZSBSb3NlbmJlcmcgdW5kIFJvc2Vuc3RvbHogdW5kIENvdHphIENvcmRhbGlzIGtlbm5lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChEZWVwYmx1ZSwgMTEuIERleiAyMDAxLCAyMDoyOToxMyk6Cn4jISBybj1Nb250YW51cyBydD0xMDA4MDk3NzczIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpDb3N0YSBDb3JkYWxpcz8gV2FyIGRhcyBuaWNodCBlaW4gR3JpZWNoaXNjaGVyIFNraWxhbmdsYWV1ZmVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBhcnR5IHNjaG9uIHdpZWRlciEgKEltZGEsIDExLiBEZXogMjAwMSwgMjA6MzI6MDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDgwOTc1NTUgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CkJlaWRlcyB0ZXh0c2ljaGVyID8gQmVpIEhvcnN0IFdlc3NlbCBnbGF1YiBpY2ggZGlyIGRhcywgZGFzIHNpbmQgamEgYmxvc3MgZHJlaQpTdHJvcGhlbi4uLiBBYmVyIGRhc3MgaWNoIGFsbGUgMTk2IFN0cm9waGVuIGRlciBJbnRlcm5hdGlvbmFsZSBrYW5uIG1vZWNodGlpY2gKZG9jaCBiZXp3ZWlmZWxuLi4uCgpJbWRhLiBJbSB3ZXNlbnRsaWNoZW4gdGV4dHNpY2hlci4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBhcnR5IHNjaG9uIHdpZWRlciEgKFJvY2h1cywgMTEuIERleiAyMDAxLCAyMzo1Mjo1NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwODA5NzU1NSByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKRGFzIGhlaXNzdCAiSG9yc3QgV2Vzc2VsIExpZWQiLCBuaWNodCBXZXNzZWxzLCBkYSBiZXN0ZWggaWNoIGRyYXVmLgpJbSB1ZWJyaWdlbiBzaW5kIG1pciBMZXV0ZSBkaWUgZGFzIHNpbmdlbiBob2VjaHN0IHN1c3Bla3QuCgogIFJvY2h1cyBXZXNzZWxzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGFydHkgc2Nob24gd2llZGVyISAoR3JpbW1ib3JuLCAxMi4gRGV6IDIwMDEsIDAwOjA4OjExKToKfiMhIHJuPVJvY2h1cyBydD0xMDA4MTExMTc1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpEdSBiZWZpbmRlc3QgRGljaCBpbiBiZXN0ZXIgR2VzZWxsc2NoYWZ0LiBJY2ggYmluIHZpZWxlbiBMZXV0ZW4gc3VzcGVrdC4gQWJlcgp2b20gSFdMIGthbm4gaWNoIHp3ZWkgU3Ryb3BoZW4gKG1pdCBrbGVpbmVyIEx1ZWNrZSwgaGFiIGljaCBlYmVuCmZlc3RnZXN0ZWxsdCksIHZvbiBkZXIgSW50ZXJuYXRpb25hbGVuIGRyZWkgKG9obmUgTHVlY2tlbikuIApBbnNvbnN0ZW4gZ2lidHMgZWlnZW50bGljaCBuaWNodHMgcGFzc2VuZGVyZXMgZnVlciBkZW4gMjAuNC4gYWxzIGRpZXNlIGJlaWRlbgpMaWVkZXIgaGludGVyZWluYW5kZXIuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChJbWRhLCAxMi4gRGV6IDIwMDEsIDAwOjQyOjE2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA4MTEyMDkxIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpOdWphLCBtaXR0ZW4gaW4gZGVyIEZ1c3NnYWVuZ2Vyem9uZSB3dWVyZGljaCBkYXMgdmllbGVpY2h0IGF1Y2ggbmljaCBhbmZhbmdlbgp6dSBzaW5nZW4sIGFiZXIgenVtIHRvdHNjaHdlaWdlbiBpc3NlcyBmYXN0IHp1IHNjaGFkZS4gV2llIGF1Y2ggZGl2ZXJzZSBhbmRlcmUKS2FtcGYtIFByb3BhZ2FuZGEtIEFyYmVpdGVyLSB1bmQgd2Vpc25pY2h3YXNzb25zdGZ1ZXIgTGllZGVyLiBEZXIgVGV4dCBpcwpzb3dpZXNvIHJlaWNobGljaCBoYXJtbG9zLCB1bmQgZGllIE1lbG9kaWUgdm9uIGlyZ2VuZHdvIGdla2xhdXQgKE1pciBmYWVsbHQKZGFzIE9yZ2luYWwgZ3JhZCBuZWQgZWluKS4KWmllaG1saWNoIGd1dCBpcyBhdWNoIGRpZSBQYXJvZGllIHZvbiBCcmVjaHQgKERlciBNZXR6Z2VyIHJ1ZnQuLi4pLiBJcmdlbmR3bwpoYWJiaWNoIGF1Y2ggbWFsIG5lIG5ldWVyZSBQYXJvZGllIGdlaG9lcnQgKGdsYXViIDkwZXIgSmFocmUpLCBkaWUgYWJlciBpbWhvCnJlaWNobGljaCBmbGFjaCB3YXIuCk51amEsIHVuZCBkaWUgZXJzdGVuIGRyZWkgU3Ryb3BoZW4gSW50ZXJuYXRpb25hbGUgc2luZCBqYSBzY2hvbiBmYXN0CkFsbGdlbWVpbmJpbGR1bmcgOykgVW5kIGRpZSBkYXJmIG1hIHNvZ2FyIHNpbmdlbiwgYWxzbyBicmF2IHVlYmVuIGJpcyB6dXIKUGFydHkgOykKCkltZGEuIGltbWVybm9jaCBtaXQgTHVlY2tlbiBiZWkgIlN0YWxpbiwgRnJldW5kLCBHZW5vc3NlIi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFBhcnR5IHNjaG9uIHdpZWRlciEgKEdsb2luc29uLCAxMi4gRGV6IDIwMDEsIDAwOjQ1OjMxKToKfiMhIHJuPVJvY2h1cyBydD0xMDA4MTExMTc1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpEYSBpY2ggbmljaHQgc2luZ2VuIGthbm4gc2luZCBtaXIgYSBwcmlvcmkgc2luZ2VuZGUgTWVuc2NoZW4gc3VzcGVrdC4gTmljaHQKZGFzIGljaCBtaXIgc2llIG5pY2h0IHRyb3R6ZGVtIGdlcm4gYW5zY2hhdWUgd2VubiBzaWUgYXVjaCBub2NoIGd1dCBzaW5nZW4Ka29lbm50ZW4uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUGFydHkgc2Nob24gd2llZGVyISAoR2xvaW5zb24sIDEyLiBEZXogMjAwMSwgMDA6NDc6MTkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwODExNDMzMSByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKOmVudG5pbW10IGVpbmVuIEtvbmp1bmt0aXYgdW5kIHNjaGVua3QgaWhuIEdyaW1tYm9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChJbWRhLCAxMi4gRGV6IDIwMDEsIDAwOjQ4OjE1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMDgxMTQzMzEgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2Ck51amEsIGJlaSBiZXNhZ3RlbiBMaWVkZXJuIGhhbmRlbHQgZXMgc2ljaCBtaWVzdCBhdWNoIGVoZXIgdW0gImdyb2VobGVuIi4KQnJhdWNodCBkaXIgYWxzbyBuaWNoIHN1c3Bla3Qgc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChHbG9pbnNvbiwgMTIuIERleiAyMDAxLCAwMDo1MTowMyk6Cn4jISBybj1JbWRhIHJ0PTEwMDgxMTQ0OTUgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CkRhIGJpbiBpY2ggamEgYmVydWhpZ3QuIEdyb2VobGVuZGUgTWVuc2NoZW4gd2Vpc2VuIGVudHdlZGVyIGF1ZiBpaHJlCkFsa29ob2xpc2llcnVuZyBvZGVyIGlociBVbndpc3NlbiBoaW4gdW5kIGRhcyBtdXNzIG1hbiBuaWNodCBlcm5zdCBuZWhtZW4uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUGFydHkgc2Nob24gd2llZGVyISAoR3JpbW1ib3JuLCAxMi4gRGV6IDIwMDEsIDAwOjUyOjM5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMDgxMTQ2NjMgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CkludGVyZXNzYW50ZSBUaGVzZS4gV2llZGVyaG9sZSBkaWUgZG9jaCBiaXR0ZSBtYWwgd2VubiBEdSB2b24gZWluZXIgSG9yZGUKYmVzb2ZmZW5lciBEZXBwZW4gdW1yaW5ndCBiaXN0LiBEZXIgZnJldW5kbGljaGUgSG9vbGlnYW5jbHViIERlaW5lcwpMaWVibGluZ3NmdXNzYmFsbHZlcmVpbnMgaXN0IERpciBkYSBzaWNoZXIgZ2VybmUgYmVoaWxmbGljaC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFBhcnR5IHNjaG9uIHdpZWRlciEgKEltZGEsIDEyLiBEZXogMjAwMSwgMDA6NTI6NTUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwODExNDY2MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKT2RlciBlYmVuIGRhcmF1ZiwgZGFzcyBzaWUgbmljaHQgc2luZ2VuIGtvZW5uZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChHbm9tZSwgMTIuIERleiAyMDAxLCAwMDo1NTo1Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwODExNDc1OSByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKbWl0IGJlc29mZmVuZW4gbGV1dGVuIHNvbGx0ZSBtYW4gbmljaHQgZGlza3V0aWVyZW4sIGRhIGhhdCBtYW4KcGVyIGRlZmF1bHQgdmVybG9yZW4uIHVuZCBtaXQgYmVzb2ZmZW5lbiBkZXBwZW4sIGRpZSBmYW4tc2NoYWxiZXJpbmd0CnVuZCBiaWVyYmFldWNoaWcgdW0gZGljaCBoZXJ1bXN0ZWhlbiwgZXJzdCByZWNodCBuaWNodC4KCmduT21lIGRlbmt0IC4gbyAwIChtYWwgZWluZSBuZXVlcyBkaXNrdXNzaW9uc3RoZW1hPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChHcmltbWJvcm4sIDEyLiBEZXogMjAwMSwgMDA6NTc6MDkpOgp+IyEgcm49R25vbWUgcnQ9MTAwODExNDk1MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKTnVuIGxhc3MgR2xvaW4oc29uKSBkb2NoIGRlbiBTcGFzcyBkaWVzZW4gTGV1dGVuIHp1IHNhZ2VuICJJaHIgc2VpZCBiZXNvZmZlbgp1bmQgZHVtbSwgaWNoIG5laG1lIGV1Y2ggbmljaHQgZXJuc3QiLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogUGFydHkgc2Nob24gd2llZGVyISAoSW1kYSwgMTIuIERleiAyMDAxLCAwMDo1OTo0Nyk6Cn4jISBybj1Hbm9tZSBydD0xMDA4MTE0OTUzIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpXZW5uIGRpZSBiaWVyYmFldWNoaWcgdW0gZGljaCBydW1zdGVoZW4sIGJlc29mZmVuIHNpbmQgdW5kIGdyb2VsZW4sIHVuZCBkdQpkYWJlaSBudWVjaHRlcm4gYmlzdCB1bmQgZGlza3V0aWVyc3QsIGRhbm4ga2FubnN0IGR1IGRhcmF1cyBzY2hsaWVzc2VuLCBkYXNzCmR1IGluIGRlciBuYWVoZXJlbiBWZXJnYW5nZW5oZWl0IG1pbmRlc3RlbnMgZWluZW4gc2Nod2VyZW4gRmVobGVyIGdlbWFjaHQKaGFzdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFBhcnR5IHNjaG9uIHdpZWRlciEgKEdsb2luc29uLCAxMi4gRGV6IDIwMDEsIDAxOjM4OjMzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA4MTE1MDI5IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpEYSBpY2ggc2llIG5pY2h0IGVybnN0IG5laG1lIG11c3MgaWNoIGRhcyBpaG5lbiBuaWNodCB1bmJlZGluZ3Qgc2FnZW4uIEVzIHNlaQpqZW1hbmQgd3VlcmRlIG1pY2ggaW4gZWluZSBlcm5zdGhhZnRlIERpc2t1c3Npb24gdmVyd2lja2VsbiB3b2xsZW4sIHdhcyBpY2ggaW4KZGVtIEZhbGwgbmljaHQgYW5uZWhtZS4gQW5zb25zdGVuIC0gc2llaGUgSW1kYS4gRGVyIFRyaWNrIGlzdCAoYSkgc2NobmVsbGVyCmxhdWZlbiB6dSBrb2VubmVuIG9kZXIgKGIpIGdhciBuaWNodCBlcnN0IGRhIHp1IHNlaW4uIE9kZXIgZWluZW4gZWhybGljaAplcndvcmJlbmVuIHNjaHdhcnplbiBHdWVydGVsIGluIDxpbnNlcnQgS2FtcGZzcG9ydD4genUgaGFiZW4uIEFiZXIgbWl0IHNvCmVpbmVtIEd1ZXJ0ZWwgbGFldWZ0IGVzIHRyb3R6ZGVtIHByaW56aXBpZWxsIGF1ZiBhIG9kZXIgYiBoaW5hdXMuCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogUGFydHkgc2Nob24gd2llZGVyISAoQW5hdG9sLCAxMi4gRGV6IDIwMDEsIDAxOjQwOjIzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMDgxMTc1MTMgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2CkVzIGlzdCB2ZXJkYW1tdCBzY2hlaXNzZSwgd2VubiBhdXNnZXJlY2huZXQgRElFIFJ1YnJpaywgZGllIG1hbiBhdWNoCmFscyBuaWNodC1ub3RvcmlzY2hlci1aZWl0dW5nc2xlc2VyIGxlc2VuIG11c3MsIHdlbm4gbWFuIGF1ZiBkaWUgUGFydHkKZ2VoZW4gbW9lY2h0ZSAod2VpbCBudXIgSElFUiBkaWUgbm90d2VuZGlnZW4gSW5mb3Mgc3RlaGVuKSwgdm9tIEdlc3VlbHplCmF1c2dld2FuZGVydGVyIE1lZ2FzY2htYXJybmVyIHVuZCB2ZXJnbGVpY2hiYXJlbiBhbmRlcmVuIEluZGl2aWR1ZW4gCmdlcmFkZXp1IHVlYmVycXVpbGx0LgoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogUGFydHkgc2Nob24gd2llZGVyISAoSW1kYSwgMTIuIERleiAyMDAxLCAwMTo0MToyNSk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwODExNzYyMyByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKd2FzIGdpYmJlZCBmdWVyIHJlXjEwMCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogUGFydHkgc2Nob24gd2llZGVyISAoR2xvaW5zb24sIDEyLiBEZXogMjAwMSwgMDE6NDQ6NDMpOgp+IyEgcm49QW5hdG9sIHJ0PTEwMDgxMTc2MjMgcmc9cGFydHkKfiMhIHRpZD0xMDA4MDE2OTQ2ClN0ZWxsZW4gd2lyIGhhbHQgd2llZGVyIFBhcnR5YmV6dWcgaGVyOiBJY2ggYmluIGdlZ2VuIEdyb2VobGVuIGF1ZiBkZXIgUGFydHkuCkFiZXIgdmllbGxlaWNodCBmaW5kZXQgZWluZXIgZGVyIE11c2lrZXIgZWluZW4gS29waWVyZXIgZnVlciBUZXh0ZSBkZXIKV2VpaG5hY2h0c2xpZWRlciBkaWUgenUgc3BpZWxlbiBlciBiZXJlaXQgd2FlcmUuIE9kZXIgc28uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogUGFydHkgc2Nob24gd2llZGVyISAoTW9udGFudXMsIDEyLiBEZXogMjAwMSwgMDM6Mzk6NTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwODExNzg4MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDgwMTY5NDYKUXVlZW4gRWxpemFiZXRoIGhhdCBoaWVyIGFuZ2VmYW5nZW4sIHVlYmVyIEdyb2VobGVuIHp1IHNjaHJlaWJlbi4gOi0pCldlbGwsIGFiZXIgZGFzIGdlcmFkZSBBbmF0b2wgYW5mYWVuZ3QsIHNpY2ggdWViZXIgTWVnYXNjaG1hcnJuIGluIGFsbGVuClJ1YnJpa2VuIGF1Znp1cmVnZW4uLi4gZ2VoIE9ya3MgdG9ldGVuISA7LSkKUGFydHliZXp1ZzoKaWNoIHd1ZW5zY2ggZXVjaCBhbGxlbiB2aWVsIFNwYXNzLCB1bmQgbGFzc3QgbWlyIGRpZSBCdXJnIHN0ZWhlbiB1bmQgZGFzCktsYXZpZXIgdWViZXJsZWJlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBQYXJ0eSBzY2hvbiB3aWVkZXIhIChMaWFyYSwgMTIuIERleiAyMDAxLCAyMzowNjoyMyk6Cn4jISBybj1Nb250YW51cyBydD0xMDA4MTI0NzkxIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODAxNjk0NgpEYXMgaGVpc3N0IEZyYWV1bGVpbiBSb3R0ZW5tZXllciAob2RlciB3aWUgbWFuIGRpZSBzY2hyZWlidCkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eXdldHRlciAoQW5hdG9sLCAxMy4gRGV6IDIwMDEsIDE3OjU1OjI4KToKV2VubiBtYW4gd2V0dGVyLltjb218ZGVdIEdsYXViZW4gc2NoZW5rZW4gZGFyZiwgYnJpbmd0IGhhbGJ3ZWdzIHdhcm1lCktsZWlkdW5nIG1pdCAoZHVyY2h3ZWcgTWludXNncmFkZSksIFNjaG5lZWtldHRlbiBzaW5kIHZvcmF1c3NpY2h0bGljaApub2NoIG5pY2h0IG5vdHdlbmRpZywgTmllZGVyc2NobGFnc3dhaHJzY2hlaW5saWNoa2VpdCA8PSAxMCAlLgoKQW5hdG9sIGZyaWVydCBqZXR6dCBzY2hvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5d2V0dGVyIChNb250YW51cywgMTMuIERleiAyMDAxLCAxOTo1NzoyOCk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwODI2MjUyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMDgyNjI1MjgKbm9jaCBlaW4ga2xlaW5lciBUaXAocCk6IFBhcnR5b3JnYW5pc2F0b3JlbiBzb2xsdGVuIHNpY2ggaW1tZXIgTG9lc2NocmVjaHRlIGluCmRlciBlbnRzcHJlY2hlbmRlbiBSdWJyaWsgZWlucmljaHRlbiBsYXNzZW4uCjstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5d2V0dGVyIChBbWFyeWxsaXMsIDEzLiBEZXogMjAwMSwgMjA6MDY6MDApOgp+IyEgcm49QW5hdG9sIHJ0PTEwMDgyNjI1Mjggcmc9cGFydHkKfiMhIHRpZD0xMDA4MjYyNTI4ClNjaG5lZWtldHRlbj8gV2ludGVyYnVyZyBsaWVndCBzY2hsaWVzc2xpY2ggbmljaHQgaW0gU2Nod2FyendhbGQgOi0pCgpBbWEqLCBpbnMgUmF0dGVubG9jaCBGdWNodHdhbmduIHNjaGllbGVuZC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eXdldHRlciAoTW9udGFudXMsIDEzLiBEZXogMjAwMSwgMjA6MDk6MTkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMDgyNzAzNjAgcmc9cGFydHkKfiMhIHRpZD0xMDA4MjYyNTI4CmFiZXIgaW0gSHVuc3J1ZWNrLiBXZW5uIFNjaG5lZSBsaWVndCwgZW1wZmVobGUgaWNoIHVudGVuIGltIERvcmYgenUgcGFya2VuIHVuZApkZW4gQnVyZ2JlcmcgaG9jaHp1c3RlaWZlbG4gLSBzY2hyYWVnIGdlZ2VudWViZXIgZGVyIEtpcmNoZSBpc3QgZGVyIEF1ZmdhbmcsCmlzdCBhdWNoIGF1c2dlc2NoaWxkZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5d2V0dGVyIChHbG9pbnNvbiwgMTMuIERleiAyMDAxLCAyMDoxNzowOCk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwODI2MjUyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMDgyNjI1MjgKTEVnc3QgRHUgYml0dGUgc2Nob24gZWluIHBhYXIgQnVjaGVua2xvZXR6ZSBpbnMgV2FybWUvVHJvY2tlbmU/IERhbm4gbWFjaHQgZGFzCkFuZmV1ZXJuIHVuZCBLb2tlbG4gbm9jaCBtZWhyIFNwYXNzIC4uLgoKR2xvaW4oc29uKSwgcHlyb21hbmlzY2ggdmVyYW5sYWd0LCB3YXNzZXJkaWNodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eXdldHRlciAoTW9udGFudXMsIDEzLiBEZXogMjAwMSwgMjA6MTg6NTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwODI3MTAyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMDgyNjI1MjgKT2gsIGdsZWljaCBub2NoIGVpbmUgV2FybnVuZyB6dW0gS2FtaW4gLSBuaWNodCB6dSBzdGFyayBhbmZldWVybi4gRGVyIG11c3MKZXJzdCByaWNodGlnIHppZWhlbiwgYmV2b3IgZXIgYXVmIHZvbGxlIExlaXN0dW5nIGdlZmV1ZXJ0IHdlcmRlbiBzb2xsdGUuCkFuZGVyZXJzZWl0cyBnaWJ0cyBSYXVjaC4gUmF1Y2guIFVuZCBSYXVjaC4KQWJlciBkYSBoZWxmZW4gZXVjaCBkaWUgWml2aWx1bmtlbiBhdWNoIHNpY2hlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5d2V0dGVyIChHbG9pbnNvbiwgMTMuIERleiAyMDAxLCAyMDoyNTowOSk6Cn4jISBybj1Nb250YW51cyBydD0xMDA4MjcxMTM4IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODI2MjUyOApEYXMgaGFiZW4gd2lyIGxldHp0ZXMgSmFociBhdWNoIGd1dCBpbiBkZW4gR3JpZmYgYmVrb21tZW4uIE1vbWVudC4gV2lyIHNjaG9uLApkaWUgTGV1dGUgYXVzIGRlbSBSYXVjaGVyaGF1cyBuaWNodCA6KSBCZWkgZGVuZW4gd2FyIGFuZ2VibGljaCBkZXIgS2FtaW4Kc2NodWxkL2thcHV0dCA6KQoKR2xvaW4oc29uKSwgenVlY2t0IGRpZSBadWVuZGVsZmluZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eXdldHRlciAoQW5hdG9sLCAxMy4gRGV6IDIwMDEsIDIwOjI2OjE3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMDgyNzE1MDkgcmc9cGFydHkKfiMhIHRpZD0xMDA4MjYyNTI4CkljaCBiaW4gZHVyY2hhdXMgaW4gZGVyIExhZ2UsIG1pdCBGZXVlciB1bXp1Z2VoZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHl3ZXR0ZXIgKEFub3JpcywgMTMuIERleiAyMDAxLCAyMDoyNzo0NSk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwODI3MTU3NyByZz1wYXJ0eQp+IyEgdGlkPTEwMDgyNjI1MjgKQmVydWVobXRlIGxldHp0ZSBXb3J0ZT8KLSBBbm9yaXMgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhcnR5d2V0dGVyIChBbmF0b2wsIDEzLiBEZXogMjAwMSwgMjA6Mjg6MzYpOgp+IyEgcm49QW5vcmlzIHJ0PTEwMDgyNzE2NjUgcmc9cGFydHkKfiMhIHRpZD0xMDA4MjYyNTI4Ck5laW4sIGJpc2hlciBpbW1lciBHbHVlY2sgaW0gVW5nbHVlY2sgZ2VoYWJ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5d2V0dGVyIChHbG9pbnNvbiwgMTMuIERleiAyMDAxLCAyMDozMTo1NSk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwODI3MTcxNiByZz1wYXJ0eQp+IyEgdGlkPTEwMDgyNjI1MjgKRGFubiBkYXJmc3QgRHUgdW5zIG5hdHVlcmxpY2ggZ2VybiBhdWNoIGhlaXNzbWFjaGVuLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHl3ZXR0ZXIgKE1vbnRhbnVzLCAxMy4gRGV6IDIwMDEsIDIwOjQyOjM2KToKfiMhIHJuPUFuYXRvbCBydD0xMDA4MjcyNTIyIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODI2MjUyOApVbmQgd2VyIGJlc2Nod2VydCBzaWNoIGRydWViZXIsIGRhc3MgZGllIFJ1YnJpayBnZXJhZGUgd2llZGVyIG5hY2ggU2NobWFycm4KdmVyc2FuZGV0PyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQYXJ0eXdldHRlciAoTXVwZmVsLCAxMy4gRGV6IDIwMDEsIDIyOjQxOjAyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMDgyNzI1NTYgcmc9cGFydHkKfiMhIHRpZD0xMDA4MjYyNTI4CkthbHQgaXMgb2suIFdpciBzaW5kIGphIHNjaGxpZXNzbGljaCBkcmlubmVuIChvZGVyIG5pY2h0KSwgdW5kIGtvZW5uZW4gdW5zIGRhCmVpbmVuIGdsdWVoZW4gb2RlciB6d2VpIDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxldHp0ZSB3aWNodGlnZSBJbmZvcyA6LSkgIChHbG9pbnNvbiwgMTQuIERleiAyMDAxLCAwMTo1NDoyNyk6Cn4jISBybj1MYXJpbmEgcnQ9MTAwNjgwNjg0MSByZz1wYXJ0eQp+IyEgdGlkPTEwMDY4MDY4NDEKTUVFUCEgRWluaWdlIHNjaGVpbmVuIGVzIHVlYmVyc2VoZW4genUgaGFiZW4gZGVzaGFsYiBxdW90ZSBpY2ggaGllcgpzaWNoZXJoZWl0c2hhbGJlcjoKPiBXaWNodGlnIGZ1ZXIgamVuZSB3ZWxjaGUgYW0gRnJlaXRhZyBzY2hvbiBhbnJlaXNlbiBpc3QsIGRhc3MgZXMgRnJlaXRhZwo+IEFiZW5kIGtlaW4gRXNzZW4gaW4gZGVyIEp1Z2VuZGhlcmJlcmdlIGdlYmVuIHdpcmQKICAgICAgICBeXl5eXl5eXl5eCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGxldHp0ZSB3aWNodGlnZSBJbmZvcyA6LSkgIChGaXJlaGF3aywgMTQuIERleiAyMDAxLCAxMDo0MzozMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDA4MjkxMjY3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwNjgwNjg0MQpOYWphLCBkaWUgZnJldWVuIHNpY2ggZGFubiBhbGxlIGF1ZiBlaW4gcmVpY2hsaWNoZXMgRnJ1ZWhzdHVlY2sgYW0gU2Ftc3RhZyA7KQoKRmlyZSosIGVpbnplaWxlcm5kIChvZGVyIHdpZSBkYXMgaGVpc3N0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbGV0enRlIHdpY2h0aWdlIEluZm9zIDotKSAgKEh1bW5pLCAxNC4gRGV6IDIwMDEsIDExOjE3OjEyKToKfiMhIHJuPUZpcmVoYXdrIHJ0PTEwMDgzMjMwMTIgcmc9cGFydHkKfiMhIHRpZD0xMDA2ODA2ODQxCk9oIGRhbmtlIEdsb2luc29uLCBoYWV0dGUgaWNoIHdpcmtsaWNoIGJlaW5haGUgdWViZXJzZWhlbi4uLgoKSHVtbmksIG1vZWNodGUgbmljaHQgbmFjaCAzIEJpZXIgdW1mYWxsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBsZXR6dGUgd2ljaHRpZ2UgSW5mb3MgOi0pICAoTW9udGFudXMsIDE0LiBEZXogMjAwMSwgMjE6MTk6NDQpOgp+IyEgcm49SHVtbmkgcnQ9MTAwODMyNTAzMiByZz1wYXJ0eQp+IyEgdGlkPTEwMDY4MDY4NDEKV2llIGJpdHRlLCBkaWUgUGFydHkgbGFldWZ0IHNjaG9uIGRyZWkgU1R1bmRlbiwgdW5kIG5vY2gga2VpbiBQYXJ0eWJlcmljaHQgaW0KTmV0ej8gOy0pCklociBsYXNzdCBuYWNoIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9iaHVkZWxlaSA7bykgKEFwb2xsb25pYSwgMTYuIERleiAyMDAxLCAxNzoxODo0NCk6ClZpZWxlbiBsaWViZW4gRGFuayBhbiBMYXJpbmEgdW5kIEFuYXRvbCBmdWVyIGlocmVuIHVuZXJtdWVkbGljaGVuIEVpbnNhdHosIHVucwpNdWRkZXJuIGVpbmUgd3VuZGVyYmFyZSBXZWlobmFjaHRzZmV0ZSB6dSBiZXNjaGVyZW4uCgpBdXNzZXJkZW0gRGFuayBhbiBhbGxlLCBkaWUgbWlyIGRpZSBLbGVpbmUgYWJnZW5vbW1lbiBoYWJlbi4gRGFzIHdhciBqYSBmYXN0ClVybGF1YiAqZyoKCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb2JodWRlbGVpIDtvKSAoTW9udGFudXMsIDE2LiBEZXogMjAwMSwgMTc6MjE6MTApOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMDg1MTk1MjQgcmc9cGFydHkKfiMhIHRpZD0xMDA4NTE5NTI0Ck1laHIgUGFydHliZXJpY2h0IGZ1ZXIgZGllIERhaGVpbWdlYmxpZWJlbmVuISA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTG9iaHVkZWxlaSA7bykgKEFwb2xsb25pYSwgMTYuIERleiAyMDAxLCAxNzoyMzozMyk6Cn4jISBybj1Nb250YW51cyBydD0xMDA4NTE5NjcwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODUxOTUyNApBbHNvIGRhcyBlaW56aWdlLCBkYXMgaWNoIHNvIGF1ZiBkaWUgU2NobmVsbGUgZGF6dSBiZWlzdGV1ZXJuIGthbm4sIGlzdCwgZGFzcwpVbmFzYWkgZWluZSBTdHVuZGUgdm9yIGRlbSBGcnVlaHN0dWVjayBzY2hvbiB3YWNoIHdhciAqZyogSWNoIGR1cmZ0ZSBzaWUKd2Vja2VuLCBkYW1pdCBzaWUgaWhyIFBhdGVua2luZCBkdXJjaCBkaWUgR2VnZW5kIHNjaGxlcHBlbiBrb25udGUgOm8pCgpBcG8qCmhhdCBhbnNvbnN0ZW4gbmljaHQgd2lya2xpY2ggdmllbCBtaXRnZWtyaWVndAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluIEJhdW0uIChDYWRyYWNoLCAxNi4gRGV6IDIwMDEsIDE5OjM1OjIxKToKRWluIEJhdW0gaXN0IHVtZ2VmYWxsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSAoTXVwZmVsLCAxNi4gRGV6IDIwMDEsIDIwOjEzOjUzKToKSWNoIGZhbmQsIGVzIHdhciBuZSBzdXVwZXIgUGFydHksIHN1cGVyIGF1Y2ggb3JnYW5pc2llcnQsIG1laW5lbiB3YWVybXN0ZW4KRGFuayBhbiBMYXJpbmEgdW5kIEFuYXRvbCEKCi1tdXBmZWwtCihudXIgZWluIGJpc3NjaGVuIGthbHQgd2FycyB6dXdlaWxlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5IChWYXJsYXJpb24sIDE2LiBEZXogMjAwMSwgMjA6MTQ6MzUpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMDg1MzAwMzMgcmc9cGFydHkKfiMhIHRpZD0xMDA4NTMwMDMzCkRlbSBrYW5uIGljaCBtaWNoIG51ciBhbnNjaGxpZXNzZW4gOikKClZhcmwqLCB3YWVybXQgc2ljaCBnZXJhZGUgd2llZGVyIGF1ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eSAoTm9ubmUsIDE2LiBEZXogMjAwMSwgMjA6MjE6MzQpOgp+IyEgcm49VmFybGFyaW9uIHJ0PTEwMDg1MzAwNzUgcmc9cGFydHkKfiMhIHRpZD0xMDA4NTMwMDMzCkpvLCBhdWNoIG1laW5lbiBEYW5rLCBoYXQgU3Bhc3MgZ2VtYWNodCwgbnVyIFNvbm50YWcgbW9yZ2VuIHdhciBlcyBlbnRzY2hpZWRlbgp6dSBoZWt0aXNjaCBvZGVyIGxhZ3MgYW4gbWVpbmVtIFp1c3RhbmQ/ICpnKgoKTm9ubmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSAoQWhhYiwgMTYuIERleiAyMDAxLCAyMToxODozOSk6Cn4jISBybj1NdXBmZWwgcnQ9MTAwODUzMDAzMyByZz1wYXJ0eQp+IyEgdGlkPTEwMDg1MzAwMzMKS2FubiBtaWNoIGRhIG51ciBhbnNjaGxpZXNzZW4uCgpEYW5rZSBzY2hvZW4gYW4gTGFyaW5hICYgQW5hdG9sISA6LSkKCkFob2ksCkFoYWIuIGt1cnogdW5kIGJ1ZW5kaWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5IChHbG9pbnNvbiwgMTYuIERleiAyMDAxLCAyMzozMDo1NSk6Cn4jISBybj1BaGFiIHJ0PTEwMDg1MzM5MTkgcmc9cGFydHkKfiMhIHRpZD0xMDA4NTMwMDMzCldhciBrbGFzc2UuIEFiZXIgaWNoIG1vZWNodGUgbWljaCB1ZWJlciBkaWUgS2Vrc2UgdW5kIGRhcyBzb25zdGlnZSBFc3NlbgpiZXNjaHdlcmVuOiBNaXIgd3VyZGUgZ2FyIGtlaW5lIENoYW5jZSBhdWYgSHVuZ2VyIGF1ZiBTaWx2YXJhIGdlZ2ViZW4uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eSAoUmFyZGlhbiwgMTYuIERleiAyMDAxLCAyMzo0ODowNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDA4NTQxODU1IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODUzMDAzMwo+V2FyIGtsYXNzZS4gQWJlciBpY2ggbW9lY2h0ZSBtaWNoIHVlYmVyIGRpZSBLZWtzZSB1bmQgZGFzIHNvbnN0aWdlIEVzc2VuCldhcyBoYXR0ZXN0IGR1IGRlbm4gYW4gS2VrcyBhdXN6dXNldHplbj8gSXN0IGRvY2ggZWluIGxpZWJlcyBQZXJzb2VuY2hlbiB1bmQKdHV0IGtlaW5lbSB3YXMuLi4KCkFuc29uc3RlbiwgZW50c3ByZWNoZW5kIG1laW5lbiBWb3JyZWRuZXJJbm5lbjogRGFua2UgTGFyaW5hIHVuZCBBbmF0b2wgZnVlcgpTdHJlc3NhdWZldWNobmFobWUgYmVpIE9yZ2FuaXNhdGlvbiBkZXIgUGFydHkhCgpSYXIsIHRyb3R6IFN0YXUgamV0enQgc2Nob24gd2llZGVyIHp1IEhhdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eSAoQW5hdG9sLCAxNy4gRGV6IDIwMDEsIDAxOjUwOjQ1KToKfiMhIHJuPVJhcmRpYW4gcnQ9MTAwODU0Mjg4NCByZz1wYXJ0eQp+IyEgdGlkPTEwMDg1MzAwMzMKV2lyIGhhYmVuIGRpZSBTY2h3YWVyenVuZyBhdWYgZGVtIFByb3NwZWt0IHp1ciBXaW50ZXJidXJnLUJ1cmcgaW56d2lzY2hlbgpoZXJ1bnRlcmJla29tbWVuOgoKICAiaW5jbHVzaXZlIHNwZWNpYWwgY29vbGVkIGV4dHJlbWUgcmVmcmVzaGluZyB3YXRlciBkaXNwZW5zZXIgc2V0IgoKUHJvYmllcicgd2FzIG5ldWVzIGRpZXNlbiBXaW50ZXIuIFVuZCBaYWVobmVwdXR6ZW4gYmVpIDMgR3JhZC4gOykKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eSAoTWVzaXJpaSwgMTcuIERleiAyMDAxLCAxMDo0MTo0Nik6Cn4jISBybj1SYXJkaWFuIHJ0PTEwMDg1NDI4ODQgcmc9cGFydHkKfiMhIHRpZD0xMDA4NTMwMDMzCkF1Y2ggdm9uIG1pciB2aWVsZW4gRGFuayBhbiBkaWUgZmxlaXNzaWdlbiBPcmdhbmlzYXRvcmVuLCBkaWUgamEgbWl0IGRlcgprb21pc2NoZW4gRnJhdSBpbiBXaW50ZXJidXJnIG5vY2ggbmUgTWVuZ2UgU3RyZXNzIGhhdHRlbiA6KApWaWVsZW4gRGFuayBhbiBBcmsgZnVlciBkZW4gbHVzdGlnZW4gVm9ydHJhZyBtaXQgZGVuIGh1ZWJzY2hlbiBCaWxkY2hlbi4gSmV0enQKd2Vpc3MgaWNoIGdlbmF1IHdvcnVlYmVyIGljaCBiZWkgZGVuIFF1ZXN0cyBtZWNrZXJuIGthbm4gOikuCkFtIHNjaG9lbnN0ZW4vd2Flcm1zdGVuIHdhcnMgaW0gS2FtaW56aW1tZXIgbWl0IGhlaXNzZXIgVW5hKiA6KQpNaXIgaXN0IG51ciBhdWZnZWZhbGxlbiwgZGFzcyBkaWUgTXVkZGVyIGZydWVoZXIgbmljaCBzbyB6ZWl0aWcgdmVyc2Nod3VuZGVuCnNpbmQsIHdhaHJzY2hlaW5saWNoIHdlcmRlbiBhbGxlIGFsdC4KTWVzaSwgc2ljaCBhdWYgTXVlbnN0ZXIgZnJldWVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIGF1Y2ggdm9uIGRpZXNlciBTZWl0ZSAoQW5hdG9sLCAxNy4gRGV6IDIwMDEsIDE5OjAwOjI5KToKRXMgaXN0IHZpZWxsZWljaHQgdW5nZXdvZWhubGljaCwgZGFzcyBzaWNoIGRpZSBPcmdhbmlzYXRvcmVuIGJlaSBkZW4KVGVpbG5laG1lcm4gYmVkYW5rZW4sIGFiZXIgbmljaHQgbWluZGVyIHVuYW5nZWJyYWNodC4gSWNoIGZhbmQncyB0b2xsLApkYXNzIHNpY2ggZWluZmFjaCBpbW1lciBMZXV0ZSBmYW5kZW4sIGRpZSBiZXJlaXQgd2FyZW4sIGlyZ2VuZHdvIG1pdAphbnp1cGFja2VuLCB3ZW5uIGVzIHdhcyBhbnp1cGFja2VuIGdhYi4gQWxzbyBlaW4gZ3Jvc3NlcyBkaWNrZXMgREFOS0UKYW4gZGllIHphaGxyZWljaGVuIEhlbGZlciwgdW5kIGVpbiBub2NoIHZpZWwgZGlja2VyZXMgdm9yIGFsbGVtIGFuCmRpZSwgZGllIGVpbmZhY2ggZXR3YXMgdGF0ZW4sIHdlbm4gc2llIHNhaGVuLCBkYXMgZXR3YXMgZ2V0YW4gd2VyZGVuCm11c3N0ZS4gOikKCkF1Y2ggYW4gZGllIFBsYWV0emxlc2JhY2tlciBzb2xsZW4gVGVpbCBhbiBkZXIgTG9iZXNoeW1uZSBoYWJlbi4gSWNoCmhhYmUgbmljaHQgdmllbCBwcm9iaWVydCwgYWJlciBlcyB3YXJlbiBsZWNrZXJlIFNhY2hlbiBkYWJlaS4gRGllCnN0aWxsZW4gIk1hZXplbiIgZGVyIFBsYWV0emNoZW5iYWNrb3JnaWUgd2FyZW4gdWVicmlnZW5zIHUuYS4gYXVjaCAKRWxiZXJldCB1bmQgQXJrLCBkaWUgdmVyc2VoZW50bGljaCAyMC4tIERNIHp1dmllbCB1ZWJlcndpZXNlbiBoYWJlbiAKKEdsb2luLCBEZWluZSBkcmVpIFBmZW5uaWcgZ2luZ2VuIGlyZ2VuZHdvIGJlaW0gUnVuZGVuIHZlcmxvcmVuIDspKSwgCmRhcyBHZWxkIHd1cmRlIGZyZWl6dWVnaWcgenVyIEFuc2NoYWZmdW5nIGRlciBLb21wb25lbnRlbiAoU2Nod2VmZWwsIApSdWJpbmUsIFBlbmRlbC4uLiBlcnIuLi4gQnV0dGVyLCBFaWVyLCBSdW0gWzJdLCBLYWthby4uLikgZ2VzcGVuZGV0Ci0gRGFua2VzY2hvZW4gYXVjaCBkYWZ1ZXIuIDopCgpBbmF0b2wKW0RpbmdlbnNraXJjaGVucyxoYWJzdmVyZ2Vzc2VuXQoKWzJdIFJvY2h1cycgU3Ryb2g4MC1SdW1rdWdlbG4gaGFiZW4gZGFtaXQgbmljaHRzIHp1IHR1bi4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaWNodCB1bmQgU2NoYXR0ZW4gKEFuYXRvbCwgMTcuIERleiAyMDAxLCAxOTowMjoyMik6CgpXb28gdW5kIENoYW9zbG9yZCB3YXJlbiBhbmdlbWVsZGV0IHVuZCBoYWJlbiB3ZWRlciBnZXphaGx0IG5vY2ggc2luZApzaWUgZXJzY2hpZW5lbi4gVW5kIEdhYmkgZW50c2NobG9zcyBzaWNoIG9mZmVuYmFyIHNjaG9uIFRhZ2Ugdm9yIGRlciAKUGFydHksIGVyc3QgU2Ftc3RhZ3MgenUga29tbWVuIHVuZCBudXIgZnVlciBTYW1zdGFnIGJpcyBTb25udGFnIHp1IAp6YWhsZW4pLCB2ZXJzYWV1bXRlIGFiZXIsIGVzIGF1Y2ggZGVtIFBhcnR5LVRlYW0gbWl0enV0ZWlsZW4gLSB3aXIgIAp3dXNzdGVuIHZvbiBuaWNodHMuIEJpdHRlIG1hbHQgZXVjaCBzZWxic3QgYXVzLCB3aWUgdW5zY2hvZW4gZGFzIGZ1ZXIgCmRpZSBCZXR0ZW4tIHVuZCBGaW5hbnpwbGFudW5nIGlzdCwgd2VubiBtYW4gYW0gTWF4aW11bSAoZGVyIEJldHRlbikgCnVuZCBNaW5pbXVtIChkZXMgUGFydHlwcmVpc2VzKSBoZXJ1bXJlY2huZXQuCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSBhdWNoIHZvbiBkaWVzZXIgU2VpdGUgKEFyaywgMTcuIERleiAyMDAxLCAxOTowNTo1Myk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwODYxMjAyOSByZz1wYXJ0eQp+IyEgdGlkPTEwMDg2MTIwMjkKSG0sIGd1dCwgZGFzcyBEdSBbMl0gZXJ3YWVobnQgaGFzdCwgaWNoIGhhdHRlIHNjaG9uIEJlZnVlcmNodHVuZ2VuIGFuZ2VzaWNodHMKZGVyIGtudWZmZWxkdWRlbGlnZW4gUm9sbGVkb2xsZXJ1bWt1Z2Vsbiwgb2IgaWNoIGRhIG5pY2h0IGRhcyBGYWxzY2hlIHNwb25zb3JlCjteKQpLYW1wZiBkZW0gdmVyc3RlY2t0ZW4gQWxnb2xvbGlzc211aHMuCgpIb3NzYSEKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbmtlIGF1Y2ggdm9uIGRpZXNlciBTZWl0ZSAoWm9vaywgMTcuIERleiAyMDAxLCAyMToxMToxNyk6Cn4jISBybj1BcmsgcnQ9MTAwODYxMjM1MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDg2MTIwMjkKIkFsa29ob2wgc2V0enQgS3JhZWZ0ZSBmcmVpLCBvaCB3ZWksIG9oIHdlaSwgb2ggd2VpLi4uIgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhbmtlIGF1Y2ggdm9uIGRpZXNlciBTZWl0ZSAoRWxiZXJldCwgMTcuIERleiAyMDAxLCAyMzo1OTo0NSk6Cn4jISBybj1ab29rIHJ0PTEwMDg2MTk4Nzcgcmc9cGFydHkKfiMhIHRpZD0xMDA4NjEyMDI5CmFsc28gaWNoIGZhbmQgZGllIFJ1bWt1Z2VsbiBsZWNrZXIgaW4gaW5zcGlyYXRpdiA7KQpFbGJpIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEYW5rZSBhdWNoIHZvbiBkaWVzZXIgU2VpdGUgKE11cGZlbCwgMTguIERleiAyMDAxLCAwMDowOToxNSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMDg2Mjk5ODUgcmc9cGFydHkKfiMhIHRpZD0xMDA4NjEyMDI5CmluIHdhcz8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEYW5rZSBhdWNoIHZvbiBkaWVzZXIgU2VpdGUgKEdyaW1tYm9ybiwgMTguIERleiAyMDAxLCAwMDoyNzo1OCk6Cn4jISBybj1NdXBmZWwgcnQ9MTAwODYzMDU1NSByZz1wYXJ0eQp+IyEgdGlkPTEwMDg2MTIwMjkKSW4gSW5zcGlyYXRpdi4gV2Vpc3MgYXVjaCBuaWNodCB3byBkYXMgbGllZ3QsIEdlb2dyYXBoaWUgaXN0IG5pY2h0IG1laW5lClN0YWVya2UuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVyb2VmZm51bmcgZGVzIEJpbGRlcnJlaWdlbnMuLi4gKFpvb2ssIDE5LiBEZXogMjAwMSwgMDk6NTM6MjYpOgpTaGFkZSBrYW0genVlcnN0IHVuZCBzZWluZSBCaWxkZXIga29lbm50IElociBudW4gaW0gTmV0eiBiZXRyYWNodGVuLiA6LSkKCkdydXNzLCBab29rLgoKUC5TLjogVW5kIGphLCBsYW5nc2FtIGZpbmRlIGljaCBkYXMgSW5kZXgtQmFzdGVsLVNrcmlwdCBiZXJlaXRzIG5hY2gKZnVlbmYgTWludXRlbiB1bmQgYmVkaWVuZW4ga2FubiBpY2ggZXMgYXVjaCBsYW5nc2FtLi4uLiA6LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyb2VmZm51bmcgZGVzIEJpbGRlcnJlaWdlbnMuLi4gKENhdHdlYXpsZSwgMTkuIERleiAyMDAxLCAxMDoyNTo1MCk6Cn4jISBybj1ab29rIHJ0PTEwMDg3NTIwMDYgcmc9cGFydHkKfiMhIHRpZD0xMDA4NzUyMDA2CkhtLCB3ZW5uIGR1IG1pciB2ZXJyYWV0c3Qgd28gZGFzIEluZGV4LUJhc3RlbC1Ta3JpcHQgaXN0LCBnZWIgaWNoIGRpciBtZWluCm1lZ2FzY2htYXJybnphaGxza3JpcHQgOikKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyb2VmZm51bmcgZGVzIEJpbGRlcnJlaWdlbnMuLi4gKFpvb2ssIDE5LiBEZXogMjAwMSwgMTE6MDk6MTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDg3NTM5NTAgcmc9cGFydHkKfiMhIHRpZD0xMDA4NzUyMDA2Ck1pdHRsZXJ3ZWlsZSBoYWJlIGljaCBlcyBhbiB2ZXJzY2hpZWRlbmVuIFN0ZWxsZW4gdmVyc3RyZXV0LCBzbyBkYXNzIHNpY2gKZGllIFdhaHJzY2hlaW5saWNoa2VpdCwgZGFzcyBpY2ggZXMgZmluZGUsIGVyaG9laHQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRXJvZWZmbnVuZyBkZXMgQmlsZGVycmVpZ2Vucy4uLiAoQW5hdG9sLCAxOS4gRGV6IDIwMDEsIDExOjU5OjIyKToKfiMhIHJuPVpvb2sgcnQ9MTAwODc1NjU1MiByZz1wYXJ0eQp+IyEgdGlkPTEwMDg3NTIwMDYKRGFyZiBpY2ggZXMgRGlyIG1hbCB1ZWJlcmFyYmVpdGVuPyAqc2V1ZnoqIERlciAiaHRtbCItQ29kZSwgZGVyIGRhIApyYXVza29tbXQsIGlzdCBldHdhcy4uLi4gbmFqYS4gIDopCgpBbmF0b2wgO28pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFcm9lZmZudW5nIGRlcyBCaWxkZXJyZWlnZW5zLi4uIChab29rLCAxOS4gRGV6IDIwMDEsIDEyOjAyOjM0KToKfiMhIHJuPUFuYXRvbCBydD0xMDA4NzU5NTYyIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODc1MjAwNgpNaXI/IEFiZXIgaWNoIHNjaGlja2UgZXMgRGlyIGdlcm5lIHp1bSBVZWJlcmFyYmVpdGVuIHp1LiA6LSkKCkdydXNzLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRXJvZWZmbnVuZyBkZXMgQmlsZGVycmVpZ2Vucy4uLiAoQ2F0d2VhemxlLCAxOS4gRGV6IDIwMDEsIDEyOjI4OjEzKToKfiMhIHJuPUFuYXRvbCBydD0xMDA4NzU5NTYyIHJnPXBhcnR5Cn4jISB0aWQ9MTAwODc1MjAwNgpPaCwgbmVpbiwgbm9jaCBlaW5lciB2b24gZGllc2VuICdEZXNpZ25lcm4nLiBXYXMgZ2VmYWVsbHQgZGlyIGRlbm4gZGllc21hbApuaWNodD8KRGVyIFplaWxlbnVtYnJ1Y2g/IFNpbmQgZGllIHRhYmVsbGVuc3RhdGVtZW50cyBuaWNodCBvcmRlbnRsaWNoIGVpbmdlcnVlY2t0PwpPZGVyIGdlaHQgZGFzIG1pdCBqYXZhc2NyaXB0IG5pY2h0IGFsbGVzIHZpZWwgdmllbCBiZXNzZXI/IApGdW5rdGlvbmllcnQgZG9jaCwgb2Rlcj8KCllUQwoKUFM6IERpZXNlciBBcnRpa2VsIGlzdCBuaWNodCBwYW1waWcsIHNvbmRlcm4gZGllbnQgbGVkaWdsaWNoIGRhenUgZWluZQogICAgZ2VlaWduZXRlIFZvcmxhZ2UgenUgZ2ViZW4gZnVlciBqZWRlbiBkZXIgc2ljaCBhbHMgZnVlaHJlbmRlcgogICAgSFRNTC1FeHBlcnRlIHZvcnN0ZWxsZW4gbW9lY2h0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVyb2VmZm51bmcgZGVzIEJpbGRlcnJlaWdlbnMuLi4gKEFuYXRvbCwgMTkuIERleiAyMDAxLCAxMjoyOTozNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAwODc2MTI5MyByZz1wYXJ0eQp+IyEgdGlkPTEwMDg3NTIwMDYKUXVhcmsuIFZvcm5laG1saWNoIGVyd2VpdGVyZSBpY2ggKGltIE1vbWVudCkgZGVuIERhdGVpaGVhZGVyLCBpbiBkZXIKSG9mZm51bmcsIGRhc3MgZGVyIENvZGUgZGFubiBkdXJjaCBkZW4gVmFsaWRpZXJlciBsYWV1ZnQgdW5kIGRpZQpCaWxkYXV0b3JlbiAoZHVyY2hzIEFuZ2FiZSBkZXMgQ2hhcnNldC1UeXBlcykgYXVjaCBVbWxhdXRlIHZlcndlbmRlbiBkdWVyZmVuLgoKQW5hdG9sIC0gd2VkZXIgaHRtbC1EZXNpZ25lciBub2NoIC1GYWNobWFubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRXJvZWZmbnVuZyBkZXMgQmlsZGVycmVpZ2Vucy4uLiAoR2xvaW5zb24sIDE5LiBEZXogMjAwMSwgMTM6NDc6MDkpOgp+IyEgcm49QW5hdG9sIHJ0PTEwMDg3NjEzNzQgcmc9cGFydHkKfiMhIHRpZD0xMDA4NzUyMDA2ClNjaG9lbiB3YWVyZSBub2NoIHdlbm4gZGFzIFRlaWwgZGllIFJlaWhlbmZvbGdlIGlubmVyaGFsYiBkZXIgRGF0ZWkKYmVydWVja3NpY2h0aWd0ZS4gSWNoIGhhYiBiZWkgZGVuIGxldHp0ZW4gQmlsZGVyIHRlaWxzIG5hY2ggRGF0ZWliZW5lbm51bmcKKGJpbGQxLCBiaWxkMTcpIGRpZXNlIG5vY2ggdW1nZW9yZG5ldCB1bmQgd2FyIGRhbm4gZXJzdGF1bnQgZGFzcyBkYXMKZWlnZW50bGljaCBudW4gc3BhZXRlciBlaW5nZW9yZG5ldGUgQmlsZCBhbiBkZXIgdXJzcHJ1ZW5nbGljaGVuIFN0ZWxsZQplcnNjaGllbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcm9lZmZudW5nIGRlcyBCaWxkZXJyZWlnZW5zLi4uIChQZXJkaXRhLCAxOS4gRGV6IDIwMDEsIDE1OjI5OjE0KToKfiMhIHJuPVpvb2sgcnQ9MTAwODc1MjAwNiByZz1wYXJ0eQp+IyEgdGlkPTEwMDg3NTIwMDYKbWVpbmUgQmlsZGVyIHNpbmQgbm9jaCBuaWNodCBmZXJ0aWcsIGFiZXIgaWNoIHdlcmQgbWFsIHNlaGVuLCBkYXNzIGljaCBkaWUKZW50d2lja2VsLXNjYW5uLXVuZC1pbnMtbmV0ei1zdGVsbC1hcmllIG5vY2ggaXJnZW5kd2llIGluIGRpZXNlbSBKYWhyCmJld2Vya3N0ZWxsaWd0IGJla29tbWUhIEhhZW5ndCB3b2hsIGVpbiBiaXNzY2hlbiB2b20gRm90b2xhYm9yIGFiLCB3aWUgc2NobmVsbApkaWUgZGFzIGhpbmtyaWVnZW4uLi4KUGVyZGl0YSBmcmV1dCBzaWNoLCBkYXNzIGVzIHNjaG9uIEZvdG9zIGdpYnQgdW5kIGlzdCBuZXVnaWVyaWcgYXVmIGlocmUKZWlnZW5lbiB1bmQgYWxsZSB3ZWl0ZXJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcm9lZmZudW5nIGRlcyBCaWxkZXJyZWlnZW5zLi4uIChBcG9sbG9uaWEsIDE5LiBEZXogMjAwMSwgMTU6MzQ6MjcpOgp+IyEgcm49UGVyZGl0YSBydD0xMDA4NzcyMTU0IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODc1MjAwNgpJY2ggaGFiIGR1bW1lcndlaXNlIG1laW5lbiBGaWxtIHZlcmJ1bW1lbHQsIGlzdCBuaWNodCBhdWZmaW5kYmFyIDpvKCgoKCBVbmQgZGEKd2FyZW4gc29vb29vb29vbyBzY2hvZW5lIEZvdG9zIHZvbiBHbm9tZSBtaXQgQmFieSBkcmF1ZiAqc2V1ZnoqCgpBcG8qCnRyYXVyaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVyb2VmZm51bmcgZGVzIEJpbGRlcnJlaWdlbnMuLi4gKFBlcmRpdGEsIDE5LiBEZXogMjAwMSwgMTU6MzU6MTkpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMDg3NzI0Njcgcmc9cGFydHkKfiMhIHRpZD0xMDA4NzUyMDA2Cm1laW5zdGUgbmljaHQsIGRhc3MgZHUgaWhuIGRvY2ggbm9jaCB3aWVkZXJmaW5kZXN0PwpwZXJkaXRhIHJ1ZnQgaGllcm1pdCBhbGxlIE11ZGRlciBkYXp1IGF1ZiwgYmVpbSBTdWNoZW4genUgaGVsZmVuICpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRXJvZWZmbnVuZyBkZXMgQmlsZGVycmVpZ2Vucy4uLiAoTWFyY3VzLCAxOS4gRGV6IDIwMDEsIDE2OjMyOjU4KToKfiMhIHJuPVBlcmRpdGEgcnQ9MTAwODc3MjUxOSByZz1wYXJ0eQp+IyEgdGlkPTEwMDg3NTIwMDYKQUxzbyBtZWluIEZvdG9sYWRlbiBoYXQgamV0enQgc28gZWluIG5ldHRlcyBLYWVzdGNoZW4gYXVmIGRlbSBCZXN0ZWxsZm9ybXVsYXIKWyBdIE1pdCBGb3RvIENECgpJY2ggbXVzcyBkYXMgZWNodCBtYWwgYXVzcHJvYmllcmVuLCBzY2hlaW50IG51ciAxMERNIG1laHIgenUga29zdGVuLgoKQ3VpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXJvZWZmbnVuZyBkZXMgQmlsZGVycmVpZ2Vucy4uLiAoQW50aGVhLCAxOS4gRGV6IDIwMDEsIDE2OjQxOjUyKToKfiMhIHJuPU1hcmN1cyBydD0xMDA4Nzc1OTc4IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODc1MjAwNgpKYSwga2VubiBpY2ggYXVjaCwga29zdGV0IG1laXN0IDEwRE0uIE1laXN0IHNvZ2FyIGVpbmUgZ2FueiBvcmRlbnRsaWNoZQpRdWFsaXRhZXQgZGVyIEJpbGRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyb2VmZm51bmcgZGVzIEJpbGRlcnJlaWdlbnMuLi4gKFBlcmRpdGEsIDE5LiBEZXogMjAwMSwgMTY6NDI6MjQpOgp+IyEgcm49QW50aGVhIHJ0PTEwMDg3NzY1MTIgcmc9cGFydHkKfiMhIHRpZD0xMDA4NzUyMDA2CnVuZCBkYXMgZ2FuemUgYXVjaCBmdWVyIHN0aW5rbm9ybWFsZSBOZWdhdGl2ZmlsbWU/IT8KUGVyZGl0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRXJvZWZmbnVuZyBkZXMgQmlsZGVycmVpZ2Vucy4uLiAoQW50aGVhLCAxOS4gRGV6IDIwMDEsIDE2OjQyOjU3KToKfiMhIHJuPVBlcmRpdGEgcnQ9MTAwODc3NjU0NCByZz1wYXJ0eQp+IyEgdGlkPTEwMDg3NTIwMDYKSmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBFcm9lZmZudW5nIGRlcyBCaWxkZXJyZWlnZW5zLi4uIChNYXJjdXMsIDE5LiBEZXogMjAwMSwgMTY6NDg6MDUpOgp+IyEgcm49QW50aGVhIHJ0PTEwMDg3NzY1Nzcgcmc9cGFydHkKfiMhIHRpZD0xMDA4NzUyMDA2CkFsbGVyZGluZ3MgbnVyIGJlaSBFcnN0YmVzdGVsbHVuZy4gSWNoIG5laG1lIG1hbCBhbiBkZXJlbiAKTmVnYXRpdiAtPiBCaWxkZXIgQXV0b21hdCBoYXQgZWluZmFjaCBuZSBPcHRpb24gIk1hY2hlIENEIiB6dW0gYW5jbGlja2VuIG1pdApkYWJldS4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRXJvZWZmbnVuZyBkZXMgQmlsZGVycmVpZ2Vucy4uLiAoWm9vaywgMTkuIERleiAyMDAxLCAyMToxODo0OSk6Cn4jISBybj1NYXJjdXMgcnQ9MTAwODc3Njg4NSByZz1wYXJ0eQp+IyEgdGlkPTEwMDg3NTIwMDYKSXZvIGtvbm50ZSBuaWNodCB6dXJ1ZWNrc3RlY2tlbiB1bmQgaGF0IGF1Y2ggc2VpbmUgQmlsZGVyIGVpbmdlc3BlaXN0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBFcm9lZmZudW5nIGRlcyBCaWxkZXJyZWlnZW5zLi4uIChOb25uZSwgMTkuIERleiAyMDAxLCAyMTo1MDo0OCk6Cn4jISBybj1ab29rIHJ0PTEwMDg3OTMxMjkgcmc9cGFydHkKfiMhIHRpZD0xMDA4NzUyMDA2CkRhIGZlaGx0IGRpZSBVbnRlcnNjaHJpZnQgenUgQmlsZCAxMzogVGh1ZmhpciwgRmlyZWhhd2sgdW5kIFNoYWRlLgoKTm9ubmUsIGhpbGZyZWljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBFcm9lZmZudW5nIGRlcyBCaWxkZXJyZWlnZW5zLi4uIChGaXJlaGF3aywgMTkuIERleiAyMDAxLCAyMTo1Mzo1NCk6Cn4jISBybj1Ob25uZSBydD0xMDA4Nzk1MDQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTAwODc1MjAwNgpBbHNvIGljaCBrcmllZyBkYSBnYXIga2VpbiBCaWxkIDspCgpGaXJlaGF3aywgZWluemVpbGVybmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvb290b29vcyAoRWxpemFiZXRoLCAyMi4gRGV6IDIwMDEsIDE4OjU5OjA0KToKQWxzbyBtZWluZSBCaWxkZXIgKDM2KSBzaW5kIGluendpc2NoZW4gYXVjaCBhdXMgZGVyIEVudHdpY2tsdW5nIHp1cnVlY2suCkljaCBicmF1Y2ggYWxsZXJkaW5ncyBlaW5lbiBCZXJsaW5lciBtaXQgU2Nhbm5lciwgc29uc3Qgd2lyZCBkYXMgbmljaHQgc28Kc2NobmVsbCB3YXMuLi4gYWxzbyB3ZW5uIHNpY2ggZGEgamVtYW5kIG1lbGRlbiBrYW5uIGRhbm4gbWFpbCBvZGVyIHRtIGFuIG1pY2guCkFiZXIgZWlucyBrYW5uIGljaCBzYWdlbiwgc2luZCByaWNodGlnIG5pZWRsaWNoZSBkYWJlaSA7KSB6LmIuIHZvbiBSb2NodXMKdW5kIEZpcmVoYXdrIC4uLiB1bmQgbmF0dWVybGljaCBFbGJpCgpFbGxpLCBGb3RvcyBhbmd1Y2tlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFya3MgVm9ydHJhZyAoWm9vaywgMjcuIERleiAyMDAxLCAxNjozMDowNyk6CkhvaSwgbmFjaGRlbSBBcmtzIFZvcnRyYWcgc2Nob24gZWluIHBhYXIgVGFnZSBpbiBtZWluZW0gTWFpbGZvbGRlciBoZXJ1bS0KZ2FtbWVsdGUsIGlzdCBlciBudW4gaW0gTmV0ei4KCkVyIGZpbmRldCBzaWNoIHVudGVyIGZvbGdlbmRlciBVUkwuCgogIGh0dHA6Ly9tZy5tdWQuZGUvaGVscC9pbmZvL3F1ZXN0LnBkZiAoY2EuIDYwMEtCKQoKWnUgZmluZGVuIGlzdCBlciBhdWNoIGF1ZiBkZXIgSGlsZmUtU2VpdGUgKEhpbGZlL0ZBUSBpbiBkZXIgTmF2aWdhdGlvbnMtCmxlaXN0ZSkgdW50ZXIKCiAgaHR0cDovL21nLm11ZC5kZS9oZWxwLwoKb2RlciBpbiBkZXIgUGFydHlydWJyaWsgKFBhcnRpZXMgdW5kIGRhbm4gUGFydHkgWFZJSUkpIHVudGVyCgogIGh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTgvCgoKVmllbCBTcGFzcyBkYW1pdCB1bmQgbm9jaG1hbHMgdmllbGVuIERhbmsgYW4gQXJrIGZ1ZXIgZGFzIEF1c2FyYmVpdGVuCnVuZCBWb3J0cmFnZW4sIGF1ZiBkYXNzIHdpciBub2NoIHZpZWxlIHNjaG9lbmUgUXVlc3RzIGltIE1HIGJla29tbWVuLi4uIDotKQoKR3J1c3MsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJrcyBWb3J0cmFnIChDdWNodWxsaW4sIDI3LiBEZXogMjAwMSwgMTg6MTk6MzIpOgp+IyEgcm49Wm9vayBydD0xMDA5NDY3MDA3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwOTQ2NzAwNwo2MDAga0I/ICpodWVzdGVsKiBCaWxkYmFuZCBvZGVyIFdvcmQtRG9rdW1lbnQ/IDopCgpDdWNoLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFya3MgVm9ydHJhZyAoWm9vaywgMjcuIERleiAyMDAxLCAxODo1MzowMyk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAwOTQ3MzU3MiByZz1wYXJ0eQp+IyEgdGlkPTEwMDk0NjcwMDcKUERGIGluY2wuIGRlciBzY2hpY2tlbiBCaWxkY2hlbiEgOi0pKSkKClpvb2sKClAuUy46IERlciBFbnR3dXJmIGhhdHRlIGRhbWFscyBtZWluIFBvc3RmYWNoIGdlc3ByZW50ICg+IDlNQikuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcmtzIFZvcnRyYWcgKFNoYXJpYSwgMjcuIERleiAyMDAxLCAxODo1NjoyMyk6Cn4jISBybj1ab29rIHJ0PTEwMDk0NzU1ODMgcmc9cGFydHkKfiMhIHRpZD0xMDA5NDY3MDA3CndhaGhoIGJlaSBkZW4gU2NoYXR0aWVydW5nZW4gd2lyZCBlaW5lbSBqYSBnYW56IHNjaHVtbWVyaWcgOikKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXJrcyBWb3J0cmFnIChab29rLCAyNy4gRGV6IDIwMDEsIDE4OjU2OjUwKToKfiMhIHJuPVNoYXJpYSBydD0xMDA5NDc1NzgzIHJnPXBhcnR5Cn4jISB0aWQ9MTAwOTQ2NzAwNwpLZWluZSBTb3JnZSwgQ3VjaCogc3RyaWNrdCBtaXIgZ3JhZCBuZSBIVE1MLUZhc3N1bmcsIGRpZSBpY2ggZGF6dQpwYWNrZS4gOi0pCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXJrcyBWb3J0cmFnIChDdWNodWxsaW4sIDI3LiBEZXogMjAwMSwgMTk6MDA6MTYpOgp+IyEgcm49Wm9vayBydD0xMDA5NDc1ODEwIHJnPXBhcnR5Cn4jISB0aWQ9MTAwOTQ2NzAwNwpFcnN0IER1LiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQXJrcyBWb3J0cmFnIChab29rLCAyNy4gRGV6IDIwMDEsIDE5OjAxOjE4KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDA5NDc2MDE2IHJnPXBhcnR5Cn4jISB0aWQ9MTAwOTQ2NzAwNwpXaWUgZXJzdCBpY2g/Cgpab29rLiBIZXV0ZSB6dSBkb29mIGZ1ZXIgZGllIE1QQS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFya3MgVm9ydHJhZyAoQ3VjaHVsbGluLCAyNy4gRGV6IDIwMDEsIDE5OjAxOjQ2KToKfiMhIHJuPVpvb2sgcnQ9MTAwOTQ3NjA3OCByZz1wYXJ0eQp+IyEgdGlkPTEwMDk0NjcwMDcKRHUgZG9vZiBzdGVsbGVuLiBVbmQgRHUgUmVwbGllcyB2ZXJzY2h3ZW5kZW4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBcmtzIFZvcnRyYWcgKFpvb2ssIDI3LiBEZXogMjAwMSwgMTk6MDI6MjkpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMDk0NzYxMDYgcmc9cGFydHkKfiMhIHRpZD0xMDA5NDY3MDA3CkljaC1uaWNodC12ZXJzdGVoZW4td2FzLUR1LW1laW5lbi1hYmVyLWljaC1nZXJuZS13b2xsZW4tYmFsZC1uZWluLWVpZ2VudGxpY2gtCnNvZm9ydC1zdGVsbGVuLUhUTUwtRmFzc3VuZy12b24tVm9ydHJhZy1pbnMtTmV0ei1zb25zdC1pY2gtbmljaHQta29lbm5lbi0Kb3JkZW50bGljaC1TY2hhY2gtc3BpZWxlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBBcmtzIFZvcnRyYWcgKEN1Y2h1bGxpbiwgMjcuIERleiAyMDAxLCAxOTowMzoxNSk6Cn4jISBybj1ab29rIHJ0PTEwMDk0NzYxNDkgcmc9cGFydHkKfiMhIHRpZD0xMDA5NDY3MDA3CkJlaSBSZV4xNTAgZ2lidHMgZWluIFBsYWV0dGNoZW4gQWZ0ZXIgRWlnaHQuIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBBcmtzIFZvcnRyYWcgKFpvb2ssIDI3LiBEZXogMjAwMSwgMTk6MDM6NDcpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMDk0NzYxOTUgcmc9cGFydHkKfiMhIHRpZD0xMDA5NDY3MDA3ClRocmVhZC1LaWxsZXIuCgpHZWggaWNoIGViZW4gd2llZGVyLi4uLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBcmtzIFZvcnRyYWcgKFpvb2ssIDI4LiBEZXogMjAwMSwgMTM6MDA6MTUpOgp+IyEgcm49Wm9vayBydD0xMDA5NDc2MjI3IHJnPXBhcnR5Cn4jISB0aWQ9MTAwOTQ2NzAwNwpEYW5rIEFuYXRvbCBoYWJlbiB3aXIgbnVuIGVpbmUgSFRNTC1WZXJzaW9uIGRlcyBWb3J0cmFncyBmdWVyIGRpZWplbmlnZW4sCmRpZSBrbGVpbmUgRmlsZXMgYmV2b3J6dWdlbiB1bmQgYXVmIGRpZSBCaWxkZXIgdmVyemljaHRlbiBrb2VubmVuLgoKVVJMOiBodHRwOi8vbWcubXVkLmRlL2hlbHAvaW5mby9xdWVzdC5odG1sCgpMaW5rcyBnaWJ0J3Mgdm9uIGRlbiBzY2hvbiBlcndhZWhudGVuIFNlaXRlbiBudW4gYXVjaCB6dXIgSFRNTC1WZXJzaW9uLgoKVmllbGVuIERhbmsgYW4gQW5hdG9sIGZ1ZXJzIFp1c2FtbWVuc3RlbGxlbiwgYWJlciB3aWVzbyBlaWdlbnRsaWNoIGdydWVuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IGluIFN0dXR0Z2FydCBhbSBGcmVpdGFnIDQuMSB1bSAxOWgzMCAoS2V0b3MsIDI5LiBEZXogMjAwMSwgMTg6MTc6MDcpOgpIaSBMZXV0ZSBpbiB1bmQgdW0gU3R1dHRnYXJ0IQoKRGllIGVyc3RlICJLZWtzcGFydHkiIGluIFN0dXR0Z2FydCBmaW5kZXQgYW0gRnJlaXRhZyBkZW4gNC4xIHVtIDE5aDMwCmltICJFbmNoaWxhZGEiLCBFYmVyaGFyZHN0ci42OS03MSBnZWdlbnVlYmVyIGRlciBHYWxlcmlhIEthdWZob2YgaW4gZGVyCkZ1c3NnYWVuZ2Vyem9uZSBzdGF0dC4gKGNhLiAxMCBNaW4uIHZvbSBIYXVwdGJhaG5ob2YpLiBUZWw6IDA3MTEvMjM2NTk3NAoKQmlzIDIwIFVociBpc3QgSGFwcHkgSG91ciBhbHNvIGxlY2tlcmUgQ29ja3RhaWxzIHNpbmQgenVtIGhhbGJlbiBQcmVpcwp6dSBoYWJlbiB1bmQgZGFuYWNoIGVzc2VuIHdpciBNZXhpa2FuaXNjaCAoQnVycml0b3MsIENoaWxpLCBOYWNob3MuLi4gKS4KCkthcnRlOiB3d3cubWFwMjQuZGUKQXV0bzogUGFya2VuIGltIFBhcmtoYXVzIG5lYmVuIGFuIGlzdCAyIFN0dW5kZW4gZ3JhdGlzIGZ1ZXIgUmVzdGF1cmFudGdhZXN0ZS4KWnVnOiBDYS4gMTAgTWludXRlbiB2b20gU3R1dHRnYXJ0ZXIgSGF1cHRiYWhuaG9mLgpNZWhyIEluZm9zIHVudGVyOiBodHRwOi8vd3d3LmVuY2hpbGFkYS5kZS9pb19lbmNoaWxhZGEvNjkxLmh0bWwKCk1lbGRldCBldWNoIGJpdHRlIGJpcyBNaXR0d29jaCAzLjEgYWJlbmRzIGJlaSBtaXIgcGVyIGVtYWlsIGFuIApkYW1pdCB3aXIgZWluZW4gZ2VudWVnZW5kIGdyb3NzZW4gVGlzY2ggcmVzZXJ2aWVyZW4ga29lbm5lbi4KCi0gS2Vrc2RvcywgTGVpYm5pegoKUC5TLjogQW0gQWJlbmQgZGF2b3IgKDMuMSkgaXN0IGRlciBTdGFtbXRpc2NoIGluIEthcmxzcnVoZSAoY2EuIDEgU3R1bmRlIHZvbgpTdHV0dGdhcnQpLAogICAgICBpbSBrbGVpbmVuIE1laWVyaG9mIHVtIDIwIFVoci4KCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlobmFjaHRzdXJsYXViIChFbGl6YWJldGgsIDI5LiBEZXogMjAwMSwgMjE6MDQ6MTgpOgp+IyEgcm49TWF0aXMgcnQ9MTAwODYwNDI3OCByZz1zZWhlci51cmxhdWIKfiMhIHRpZD0xMDA4NjA0Mjc4CmhhdCBlaWdlbnRsaWNoIHNjaG9uIGplbWFuZCBmb3RvcyB2ZXJvZWZmZW50bGljaHQgYXVzc2VyIGRpZSBiZWlkZW4gCihsb2hudCBlcyBzaWNoIGRpZW4gZ3JhcGhpIGJyb3dzZXIgbnp1c2NobWVpc3NlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlaXRlcmUgQmlsZGVyLi4uLiAoWm9vaywgIDguIEphbiAyMDAyLCAxOTo0NDowMSk6CnZpZWxlbiBEYW5rIGFuIEFwb2xsb25pYSB1bmQgZXZlbnR1ZWxsZSBHZWhpbGZlbiBmdWVyIGVpbmUgd2VpdGVyZSAKU2FtbWx1bmcgdm9uIFBhcnR5YmlsZGVybi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoxMC1KYWhyZXMtUGFydHkgKENhdHdlYXpsZSwgMTEuIEphbiAyMDAyLCAxMTozOToyNyk6CgpNb2luIQoKV2VpbCBpY2ggbWl0dGxlcndlaWxlIHdpZWRlcmhvbHQgZHJhdWYgYW5nZXNwcm9jaGVuIHdlcmRlLCBhYmVyIGltbWVyIG5vY2gKRGV0YWlsZnJhZ2VuIGtsYWVyZW4gbXVzcywgaGllciBlaW5lIFVsdHJha3VyemluZm86CgpUZXJtaW4gZnVlciBkaWUgUGFydHkgaXN0IGRlciA2LiBBcHJpbC4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDEwLUphaHJlcy1QYXJ0eSAoSG9ibywgMTEuIEphbiAyMDAyLCAxMjo1MDo1Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMDc0NTU2NyByZz1wYXJ0eQp+IyEgdGlkPTEwMTA3NDU1NjcKV2llPwpOdXIgZWluZW4gVGFnIFBhcnR5PwoKICBIb2JvIC0gc2Nod2VyIGVudHRhZXVzY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IDEwLUphaHJlcy1QYXJ0eSAoU2FtdGtyYWxsZSwgMTEuIEphbiAyMDAyLCAxMzoxMzoyNCk6Cn4jISBybj1Ib2JvIHJ0PTEwMTA3NDk4NTMgcmc9cGFydHkKfiMhIHRpZD0xMDEwNzQ1NTY3Ck9LLCBkZW4gVGVybWluIGhhYiBpY2ggamV0enQuIEFiZXIgd28gd2lyZCBkaWUgUGFydHkgc3RhdHRmaW5kZW4gPyBEaWUgQW5nYWJlCmRlciBTdGFkdCByZWljaHQgbWlyIGZ1ZXIgZGVuIEFuZmFuZywgdW0gbmljaHQgenUgdmllbCBhdWYgZGVuIERldGFpbHMKcnVtenVyZWl0ZW4gOi0pCldlbm4gZGllc2UgSW5mbyBzY2hvbiBtYWwgaW4gZGVuIFBhcnR5bmV3cyBnZXN0YW5kZW4gaGFiZW4gc29sbHRlLAplbnRzY2h1bGRpZ2UgaWNoIG1pY2ggbmF0dWVybGljaCBmdWVyIGRpZSBkdW1tZSBGcmFnZSwgYWJlciBpbiBkZW0gRmFsbCB3YXIKZGFzIEV4cGlyZSB3b2hsIHNjaG5lbGxlciBhbHMgaWNoLgoKU2FtdGtyYWxsZSAoc2VpbmVuIFVybGF1YnNzY2hlaW4gYXVzZnVlbGxlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IDEwLUphaHJlcy1QYXJ0eSAoQ3JvZnQsIDExLiBKYW4gMjAwMiwgMTM6MTc6MTApOgp+IyEgcm49U2FtdGtyYWxsZSBydD0xMDEwNzUxMjA0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxMDc0NTU2NwpJbiBNdWVuc3RlciBsb2dpc2NoZXJ3ZWlzZSA7LSkKVW5kIGZhbGxzIGR1IG1hbCBhbHRlIE1QQS1BcnRpa2VsIG5hY2hsZXNlbiB3aWxsc3Q6Cmh0dHA6Ly93d3cubWcubXVkLmRlL2NnaS1iaW4vbXBhLnBsCkdydXNzIENyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAxMC1KYWhyZXMtUGFydHkgKEFudGhlYSwgMTEuIEphbiAyMDAyLCAxMzoyNDo0MCk6Cn4jISBybj1Dcm9mdCBydD0xMDEwNzUxNDMwIHJnPXBhcnR5Cn4jISB0aWQ9MTAxMDc0NTU2NwpIbS4uLiB1bmQgd2FydW0ga2VubnQgZGFzIEFyY2hpdiBkaWUgUnVicmlrICJNZWdhc2NobWFycm4iIG5pY2h0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogMTAtSmFocmVzLVBhcnR5IChBbnRoZWEsIDExLiBKYW4gMjAwMiwgMTU6NDA6MzcpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTA3NTE4ODAgcmc9cGFydHkKfiMhIHRpZD0xMDEwNzQ1NTY3ClVuZCB3ZW5uIGljaCBzY2hvbiBtYWwgZGFiZWkgYmluLi4uLiBpY2ggaGFiIG5vY2ggc28gZXRsaWNoZXMgYW4gQmlsZGVybiB2b24KZGVyIDIuIE1HLVBhcnR5IGRhaGVpbSBydW1saWVnZW4uIFNvbGx0ZSBpY2ggbWFsIGF1ZnJhZmZlbiwgZGllIGVpbnNjYW5uZW4gdW5kCmplbWFuZGVtIHNjaGlja2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogMTAtSmFocmVzLVBhcnR5IChNYXJjdXMsIDExLiBKYW4gMjAwMiwgMTY6MDE6NTMpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTA3NjAwMzcgcmc9cGFydHkKfiMhIHRpZD0xMDEwNzQ1NTY3CkljaCBnbGF1YiBkYSBoYWIgaWNoIGF1Y2ggbm9jaCB3ZWxjaGUgOykKCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogMTAtSmFocmVzLVBhcnR5IChPcmt0b2V0ZXIsIDExLiBKYW4gMjAwMiwgMTY6MjY6NDgpOgp+IyEgcm49TWFyY3VzIHJ0PTEwMTA3NjEzMTMgcmc9cGFydHkKfiMhIHRpZD0xMDEwNzQ1NTY3CktsYXIgZmVydGlnIG1hY2hlbiB1bmQgYW5zIE1HIHNjaGlja2VuLCB3aWVzIGdlaHQgc2VodCBpaHIgYXVmIGRlciBNRy1Ib21lcGFnZQp1bnRlciBQYXJ0eXMgZ2VuYXVlc3RlbnMgYmVzY2hyaWViZW4hCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogMTAtSmFocmVzLVBhcnR5IChOYWRkbCwgMTEuIEphbiAyMDAyLCAxOToxMTowNSk6Cn4jISBybj1NYXJjdXMgcnQ9MTAxMDc2MTMxMyByZz1wYXJ0eQp+IyEgdGlkPTEwMTA3NDU1NjcKRW5kbGljaCBzY2hsYWdlbiBtaWNoIG1hbCB3ZWxjaGUgaW4gcHVuY3RvIFplaXRkYXVlciBkZXMgRWlucmVpY2hlbnMgdm9uClBBcnR5YmlsZGVybi4gSGFoLiBEYSB3ZXJkZW4gbmV1IE1hc3N0YWViZSBnZXNldHp0IDopCgppLkEuIEdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgQmlsZGVyISAoUGVyZGl0YSwgMTIuIEphbiAyMDAyLCAyMDo0NjoyNyk6CkhhbGxvIGFsbGUhCk1laW5lIEJpbGRlciBzaW5kIGF1Y2ggZmVydGlnLCB1bmQgYXVjaCBzY2hvbiBhdWZtIE11ZHNlcnZlciwgZXMgbXVlc3N0ZSBzaWUKbnVyIG5vY2ggamVtYW5kIGFuIGRpZSByaWNodGlnZSBzdGVsbGUgdmVyZnJhY2h0ZW4uCkFsc28gbW9lZ2VuIHNpY2ggZGllIGVudHNwcmVjaGVuZGVuIE1hZ2llciB1bmQvb2RlciBHb2V0dGVyIGFuZ2VzcHJvY2hlbgpmdWVobGVuIQpQZXJkaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZSBCaWxkZXIhIChBbnRoZWEsIDEzLiBKYW4gMjAwMiwgMDA6NTk6MDApOgp+IyEgcm49UGVyZGl0YSBydD0xMDEwODY0Nzg3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxMDg2NDc4NwpEaXRvLiBXZXIgYWxzbyB1cmFsdGUgQmlsZGVyIGJyYXVjaHQsIGJlaSBkZW5lbiBtaXIgenUgODAlIGRpZSBOYW1lbiBkZXIKZGFyZ2VzdGVsbHRlbiBQZXJzb25lbiBuaWNodCBtZWhyIGVpbmZhbGxlbiwgdm9yIGFsbGVtLCB3ZWlsIGRlcgpOYW1lbnNhdWZrbGViZXIgdmVyZGVja3Qgb2RlciB1bmxlc2VybGljaCBpc3QsIGRlciBtb2VnZSBkYXJhdWYgd2FydGVuLCBkYXNzCmRpZSA4TUIgc2ljaHRiYXIgd2VyZGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWUgQmlsZGVyISAoTWFyY3VzLCAxMy4gSmFuIDIwMDIsIDAxOjU1OjM0KToKfiMhIHJuPUFudGhlYSBydD0xMDEwODc5OTQwIHJnPXBhcnR5Cn4jISB0aWQ9MTAxMDg2NDc4NwpLYW5uIG1hbiBlaWdlbnRsaWNoIG5hY2h0cmFlZ2xpY2ggbm9jaCBkaWUgSW5kaXplcyAvIE5hbWVucyBHZWJ1bmcgZGVyIGFsdGVuClNlaXRlbiBhZW5kZXJuID8gOykgCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWUgQmlsZGVyISAoQ3VjaHVsbGluLCAxMy4gSmFuIDIwMDIsIDAzOjAxOjQ3KToKfiMhIHJuPU1hcmN1cyBydD0xMDEwODgzMzM0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxMDg2NDc4NwpLYW5uIG1hbiwgbXVzcyBzaWNoIG51ciBqZW1hbmQgZGllIE11ZWhlIG1hY2hlbiwgZW50c3ByZWNoZW5kIGVpbmVuIEluZGV4IAp6dSBzY2hyZWliZW4uIEVudHNwcmVjaGVuZGUgSGlud2Vpc2UgZmluZGVzdCBEdSB1ZWJlciBkaWUgUGFydHlzZWl0ZW4sCmFsc28gbnVyIGtlaW5lIGZhbHNjaGUgTXVlZGlna2VpdCB2b3J0YWV1c2NoZW4uIAoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgQmlsZGVyISAoWm9vaywgMTMuIEphbiAyMDAyLCAwNToxNjoyOSk6Cn4jISBybj1QZXJkaXRhIHJ0PTEwMTA4NjQ3ODcgcmc9cGFydHkKfiMhIHRpZD0xMDEwODY0Nzg3CmRvbmUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2VpbmUgS3J1ZW1lbC4uLiAoWm9vaywgMTMuIEphbiAyMDAyLCAyMTozNTowMik6Ci4uLiBhYmVyIGVpbiBwYWFyIEJpbGRlciB2b24gS2VrcyBzaW5kIG51biBpbSBOZXR6LgoKR3J1c3MsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2VpbmUgS3J1ZW1lbC4uLiAoUGVyZGl0YSwgMTMuIEphbiAyMDAyLCAyMjowNToxOSk6Cn4jISBybj1ab29rIHJ0PTEwMTA5NTQxMDIgcmc9cGFydHkKfiMhIHRpZD0xMDEwOTU0MTAyCmphLCBmZWhsZW4gbnVyIG5vY2ggZGllIHZvbiBCb25uLi4uIERhIGhhdCBLZWtzIGRvY2ggYXVjaCBlaW4gcGFhciBGb3RvcwpnZW1hY2h0Li4uCk5lcnZ0IHNpZSBkb2NoIGFsbGUgbWFsIGVpbiBiaXNjaGVuLCB2aWVsbGVpY2h0IGZvbGdlbiBkaWUgZGFubiBqYSBub2NoLi4uICpnKgpQZXJkaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoIHNjaG5lbGwgZWluIHBhYXIgQmlsZGVyIHZvbiBBbnRoZWEuLi4gKFpvb2ssIDE0LiBKYW4gMjAwMiwgMTY6MTY6NDIpOgouLi4genUgZmluZGVuIGJlaSBQYXJ0eSBJSSAoYWxzbyBub2NoIHJlY2h0IHplaXRuYWgpLiA6LSkKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb21tZXJwYXJ0eT8gKE9ya3RvZXRlciwgMTYuIEphbiAyMDAyLCAxNjo0NjowNSk6CkVzIG1hZyBlaW5pZ2VuIGV0d2FzIHZlcmZydWVodCBlcnNjaGVpbmVuLCBhYmVyIGRhIFNvbW1lcnVybGF1YmUgZnJ1ZWggZ2VidWNodApzZWluIHdvbGxlbiBzY2hvbiBqZXR6dCBkaWUgRnJhZ2U6CgpHaWJ0IGVzIHNjaG9uIEJld2VyYmVyIGZ1ZXIgZGllIFNvbW1lcnBhcnR5PyBVbmQgd2VubiBqYSwga29lbm50ZW4gZGllamVuaWdlbgpzY2hvbiBtYWwgZWluZW4gVGVybWluIGJla2FubnRnZWJlbj8KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlnYWVzdGUgZ2VzdWNodCEgKEFsYm9pbiwgMjIuIEphbiAyMDAyLCAxNzoyODowNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMTYxNTY2NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTE2MTU2NjQKaGV5YSwKbWlyIGZhbGxlbiBzcG9udGFuIGVpbjoKT2V0dGksIEd1eWJydXNoLCBTY2hydW1wZmksIFlvZ3NvdG90aCBhZWggVG9ldGVyLCBHdWxkdWthdCwgU2NobmFyY2goYWJlciBudXIKd2VubiBlciBlcyBibGVpYmVuIGxhZXNzdCBkaWUgU3RlcmVvYW5sYWdlIHVtIDRVaHIgbW9yZ2VucyB3ZW5uIGFsbGUgaW4gZGVyCkhlaWEgc2luZCBhdWZ6dWRyZWhlbiksIFJ1ZGlyYXR0ZXIsIFJ5bmUsIFNjaHVya2ksIHVuZCB2aWVsbGVpY2h0IHNjaGFmZnQgZXMKamEgbWFsIGplbWFuZCBBc21vZGlzIHp1IG5lciBQYXJ0eSB6dSBzY2hsZXBwZW4uCgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eWdhZXN0ZSBnZXN1Y2h0ISAoTXVwZmVsLCAyNS4gSmFuIDIwMDIsIDAwOjE1OjIwKToKfiMhIHJuPUFsYm9pbiBydD0xMDExNzE2ODg2IHJnPXBhcnR5Cn4jISB0aWQ9MTAxMTYxNTY2NApCZXJnY2hlbiBDYXJhZGhyYXMKCi1tdXBmZWwtClAuUy46IHVuZCBNdWR0aWdlciAoYWJlciBkZW4ga29lbm50ZSBBbGJvaW4gYXVjaCBhbnNjaGxlcHBlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHlnYWVzdGUgZ2VzdWNodCEgKEN1Y2h1bGxpbiwgMjUuIEphbiAyMDAyLCAwNDozMjozMCk6Cn4jISBybj1NdXBmZWwgcnQ9MTAxMTkxNDEyMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTE2MTU2NjQKSm9zZS4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWdhZXN0ZSBnZXN1Y2h0ISAoUmlrdXMsIDI1LiBKYW4gMjAwMiwgMDc6MzY6MTIpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMTE5Mjk1NTAgcmc9cGFydHkKfiMhIHRpZD0xMDExNjE1NjY0CkZ5dCwgQXJkYW5hLCBmYWxscyBkaWUgbmljaHQgc2Nob24gZ2VuYW5udCB3dXJkZW4uCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHlnYWVzdGUgZ2VzdWNodCEgKENhdHdlYXpsZSwgMjUuIEphbiAyMDAyLCAwODozMzoyOSk6Cn4jISBybj1SaWt1cyBydD0xMDExOTQwNTcyIHJnPXBhcnR5Cn4jISB0aWQ9MTAxMTYxNTY2NApCaXR0ZSBzYW1tZWx0IG5pY2h0IGhpZXIsIHNjaHJlaWJ0IGVpbmUgbWFpbCBhbiBwYXJ0eWJ1dGxlciBvZGVyIG1pY2guIERpZXNlCmV0bGljaGVuIEVpbnplaWxlciBzaW5kIHp3YXIgZ3V0IGdlbWVpbnQgYWJlciBzaWUgbWFjaGVuIGRpZSBwYXJ0eS1ydWJyaWsKdW51ZWJlcnNpY2h0bGljaC4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSnViaWxhZXVtcy1QYXJ0eSAoRm9vYmFyLCAgMy4gRmViIDIwMDIsIDAzOjE3OjAzKToKSGFsbG8uCgpGYWxscyBlcyBqZW1hbmQgbm9jaCBuaWNodCBiZW1lcmt0IGhhYmVuIHNvbGx0ZToKCkRhcyBuZXVlIFBhcnR5YnJldHQgc3RlaHQgdW5kIG1hbiBrYW5uIHNpY2ggbnVuIGZ1ZXIgZGllIGFic29sdXQgZWlubWFsaWdlIHVuZApzdXBlcmdlbmlhbGUgMTAtSmFocmVzLVBhcnR5IGFubWVsZGVuLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSnViaWxhZXVtcy1QYXJ0eSAoV2FyZ29uLCAgMy4gRmViIDIwMDIsIDE5OjQzOjM2KToKfiMhIHJuPUZvb2JhciBydD0xMDEyNzAyNjIzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxMjcwMjYyMwpMYXV0IFBhcnR5YnJldHQgZmluZGV0IGRpZSBQYXJ0eSB2b20gMDUuLTA3LiBfTUFJXyBzdGF0dC4gR2VtZWludCBpc3Qgc2ljaGVyCl9BUFJJTF8sIG9kZXIgc29sbCB3aXJrbGljaCB2b24gU29ubnRhZ3MgYmlzIERpZW5zdGFncyBnZWZlaWVydCB3ZXJkZW4/CiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEp1YmlsYWV1bXMtUGFydHkgKENhdHdlYXpsZSwgIDMuIEZlYiAyMDAyLCAyMjo1MDozNCk6Cn4jISBybj1XYXJnb24gcnQ9MTAxMjc2MTgxNiByZz1wYXJ0eQp+IyEgdGlkPTEwMTI3MDI2MjMKTmFqYSBpc3QgbmljaHQgZ2FueiByaWNodGlnLgpJY2ggaGFiIGRhcyBhdWNoIGdlbWVya3QgbWl0IGRlbSBBcHJpbCwgZXMgZ2VhZW5kZXJ0dCB1bmQgZWlnZW50bGljaCBhdWNoIGFsbGUKQnJldHRlciBhdXNnZXRhdXNjaHQuIApUYXRzYWVjaGxpY2gga29tbXQgZXMgZHJhdWYgYW4gYXVmIHdlbGNoZXMgQnJldHQgbWFuIHNjaGF1dCB6dSB3ZWxjaGVtIFRlcm1pbgptYW4gZGFubiBrb21tdCA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBKdWJpbGFldW1zLVBhcnR5IChLZXksICA1LiBGZWIgMjAwMiwgMjI6NDQ6MzUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTI3NzMwMzQgcmc9cGFydHkKfiMhIHRpZD0xMDEyNzAyNjIzCkFsc28gaWNoIGJpbiBqYSBlaWdlbnRsaWNoIGZ1ZXIgZWluZSB2b2xsZSBXb2NoZSBQYXJ0eSA9OykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlbWluYXJ0aGVtZW4gKE1vbnRhbnVzLCAgNi4gRmViIDIwMDIsIDAwOjM3OjQxKToKfiMhIHJuPUZvb2JhciBydD0xMDEyOTUxOTgxIHJnPXBhcnR5Cn4jISB0aWQ9MTAxMjk1MTk4MQpJY2ggd2lsbCBtaW5kZXN0ZW5zIDMgVm9ydHJhZWdlIHVlYmVyIGRpZSAqZ3V0ZSBhbHRlIFplaXQqIGhvZXJlbi4KTGFzcyBkb2NoIHpCIEpvZiBlcnphZWhsZW4sIHdpZSBhbGxlcyBhbmZpbmcuCkxhc3MgR3JpbW1ib3JuIGVyemFlaGxlbiwgd2llIGRhcyBtaXQgZGVtIFVtenVnIHVuZCBTYW50YW5hIHdhci4KVW5kIHNldHp0IGlyZ2VuZGVpbmVuIGhpbiwgZGVyIGRlbiBnYW56ZW4gS2lubmVycyBtYWwga2xhcm1hY2h0LCB3YXJ1bQpTY2hydW1wZmkgc3Vlc3MgaXN0LCB3YXMgQm9zY2hhbnRlIGlzdCB1bmQgd28gZGFzIGFsdGUgRWxmZW5kb3JmIHdhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VtaW5hcnRoZW1lbiAoR3JpbW1ib3JuLCAgNi4gRmViIDIwMDIsIDAwOjQ1OjIyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTI5NTIyNjEgcmc9cGFydHkKfiMhIHRpZD0xMDEyOTUxOTgxCkljaCBzb2xsIHdhcyBlcnphZWhsZW4/IFBlciBUZWxlZm9ua29uZmVyZW56PwpVbmQgU2NocnVtcGZpIGlzdCBuYXR1ZXJsaWNoIHN1ZXNzLCBkYXMgaXN0IGRvY2ggdW5taXR0ZWxiYXIgZWluc2ljaHRpZy4KQm9zY2hhbnRlIHNhZ3QgbWlyIG5hdHVlcmxpY2ggYXVjaCB3YXMsIHVuZCB3YXMgZGFzIEVsZmVuZG9yZiBhbmdlaHQgLSBkYQpnaWJ0cyBlaW4gbmV1ZXM/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VtaW5hcnRoZW1lbiAoWm9vaywgIDYuIEZlYiAyMDAyLCAyMTozMzo1NSk6Cn4jISBybj1Nb250YW51cyBydD0xMDEyOTUyMjYxIHJnPXBhcnR5Cn4jISB0aWQ9MTAxMjk1MTk4MQpNb250YW51cywgaGFzdCBEdSBkYXMgbmljaHQgc2Nob24gbWFsIGJlaSBpcmdlbmRuZXIgVGhlbWVucnVuZGUgdm9yZ2VzY2hsYWdlbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VtaW5hcnRoZW1lbiAoWm9vaywgIDYuIEZlYiAyMDAyLCAyMTozNDozOCk6Cn4jISBybj1Gb29iYXIgcnQ9MTAxMjk1MTk4MSByZz1wYXJ0eQp+IyEgdGlkPTEwMTI5NTE5ODEKQWFhYWFhYWxzbywgZmFsbHMgQmVkYXJmIHp1IGVpbiBwYWFyIFdvcnRlbiB6dSBOYWNod3VjaHNtYWdpZXJuIGV0Yy4gCmJlc3RlaHQsIG1hY2ggaWNoIGRhcyBuYXR1ZXJsaWNoIGdlcm5lLiA6LSkgCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZW1pbmFydGhlbWVuIChNdXBmZWwsICA2LiBGZWIgMjAwMiwgMjE6MzY6MTUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAxMjk1MjI2MSByZz1wYXJ0eQp+IyEgdGlkPTEwMTI5NTE5ODEKVW5kIHZvbSBTZWhlcndldHRsYXVmIGF1ZiBkaWUgMTAwIE1FUCB6d2lzY2hlbiBUb2V0ZXIsIFJ5bmUgdW5kIChhYmdlc2NobGFnZW4pCkJsb29kZ29yZSAoYWxzbyBkZW4gTGV1dGVuIGRpZSAtIHdlaWwgZGlyZWt0IGF1cyBNdWVuc3RlciAtIGtlaW4gTGFnIGhhdHRlbiA7KQoKLW11cGZlbC0KcC5zLjogamEgbW9udGkgaWNoIHdlaXNzIGRhcyB3YXIgYWxsZXMgZXJzdCBnZXN0ZXJuIHVuZCBpc3QgbmljaHQgd2lya2xpY2ggYWx0CjspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHktRWlubGFkdW5nIChNb250YW51cywgMTIuIEZlYiAyMDAyLCAxODo0MToyNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMzQ3MjA4MCByZz1wYXJ0eQp+IyEgdGlkPTEwMTM0NzIwODAKQ2F0d2VhemxlIHNjaHJlaWJ0Ogo+UGFydHlicmV0dCwgZGFzIGR1IGFuIGFsbGVtIFN0YXJ0cHVua3RlbiBpbSBNb3JnZW5HcmF1ZW4gZmluZGVuIGthbm5zdAoKTnVuLCBpbSBFbGZlbmhhaW4gc3RlaHQga2VpbnMuIE51ciBzbyB6dXIgSW5mby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5LUVpbmxhZHVuZyAoR29yb2csIDEyLiBGZWIgMjAwMiwgMjM6MzM6NTUpOgp+IyEgcm49VmFybGFyaW9uIHJ0PTEwMTM1MzY3NDIgcmc9cGFydHkKfiMhIHRpZD0xMDEzNDcyMDgwClJMLVF1ZXN0PyBJY2ggZGFjaHRlIGR1IHdvbGx0ZXN0IERpciBuaXggYXVzZGVua2VuPwoKR29yb2cgb2huZSBJZGVlbiBmdWVyIEFiZW50ZXVlciBpbiBNdWVuc3Rlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5LUVpbmxhZHVuZyAoQ2F0d2VhemxlLCAxMy4gRmViIDIwMDIsIDA4OjEyOjUwKToKfiMhIHJuPUdvcm9nIHJ0PTEwMTM1NTMyMzUgcmc9cGFydHkKfiMhIHRpZD0xMDEzNDcyMDgwCkljaCBkZW5rZSBtaXIgYXVjaCBuaXggYXVzLiBCaW4gaWNoIGRlciBlaW56aWdlIE11ZW5zdGVyYW5lciBNdWRkZXI/IERhcwpKdW5ndm9sayBpc3QgZG9jaCBhdWNoIHZpZWwga3JlYXRpdmVyIDopCkljaCBiaW4gZGlwbG9taWVydCwgZGEgYnJhdWNoIGljaCBuaWNodCBtZWhyIGtyZXRhaXYgenUgc2Vpbi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5Z2Flc3RlIGdlc3VjaHQhIChDYXR3ZWF6bGUsIDE0LiBGZWIgMjAwMiwgMTQ6NDI6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTE2MTU2NjQgcmc9cGFydHkKfiMhIHRpZD0xMDExNjE1NjY0Ck1vaW4hCgpTbywgd2llIGljaCBzY2hvbiBtYWwgaW4gZGVyIEVpbmxhZHVuZyBzY2hyaWViLCBoYWIgaWNoIGFsbGUgQWx0LU11ZGRlciwgZGllCmdlc3VjaHQgd2VyZGVuLCBhdWYgZGVyIFdlYnNlaXRlCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvZ2VzdWNodGVfZ2Flc3RlLmh0bWwgYW5nZXNhbW1lbHQuCkljaCBoYWJlIGdlcmFkZSBkZW4gZXJzdGVuIFNjaHd1bmcgZW1haWxzIHJhdXMuIFNlaXQgZGVyIGVyc3RlbiBBbmt1ZW5kaWd1bmcKc2luZCBldGxpY2hlIG5ldWUgTmFtZW4gaGluenVnZWtvbW1lbiB1bmQgZWluaWdlIFN0YXR1c3NlIChTdGF0YW50ZW4/ClN0YXR1ZW4/KSBoYWJlbiBzaWNoIGdlYWVuZGVydC4gQml0dGUgc2NoYXV0IG5vY2htYWxzIGF1ZiBkaWUgU2VpdGUgdW5kIHNlaHQKb2IgaWhyIGlyZ2VuZHdpZSBiZWkgZGVyIFN1Y2hlIGhlbGZlbiBrb2VubnQuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKUFM6IFp1dmllbGUgVHlwb3MgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5Z2Flc3RlIGdlc3VjaHQhIChUcm95LCAxNS4gRmViIDIwMDIsIDA4OjE5OjIyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDEzNjk0MTMzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxMTYxNTY2NApTdGF0aT8gRGFzIGtsaW5ndCBzbyBzZWhyIG5hY2ggU3RhW21tXXRpW3NjaF0uLi4KClRyb3kuCgpXZWlzcyBqZW1hbmQgd28gQmluZyBvZGVyIEdpbmFsaXNhIHN0ZWNrZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWdhZXN0ZSBnZXN1Y2h0ISAoQmllbGVmZWxkLCAxNS4gRmViIDIwMDIsIDA4OjU4OjE5KToKfiMhIHJuPVRyb3kgcnQ9MTAxMzc1NzU2MiByZz1wYXJ0eQp+IyEgdGlkPTEwMTE2MTU2NjQKdm9uIEJpbmcgaGFiIGljaCBldnRsLiBub2NoIG5lIGUtTWFpbC1BZHJlc3NlLi4uCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG90ZWxzIChUb3AsIDE4LiBGZWIgMjAwMiwgMjI6MDU6MTUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTQwNTI2Mzcgcmc9cGFydHkKfiMhIHRpZD0xMDE0MDUyNjM3CkRhbm4ga2FubiBpY2ggbm9jaCBkYXMgTW9ldmVucGljayBlbXBmZWhsZW4sIHNlaHIgdGV1ZXIsIGFiZXIgc2VociBndXQsIHZvcgphbGxlbSBkYXMgRnJ1ZWhzdHVlY2tzLUJ1ZmZldHQhIDotRAoKVW5kIHNjaGxpZXNzbGljaCwgc2Nob2VuIGF1c3NlcmhhbGIgKEhpbHRydXApLCBhYmVyIHJ1aGlnIHVuZCBndWVuc3RpZyBkYXMKTGFuZGhhdXMgS2Vzc2xlci4gRGEgaG9lcnQgbWFuIG5hY2h0cyBnYXJhbnRpZXJ0IGtlaW5lbiBWZXJrZWhyLCBhYmVyIG1hbCBlaW4KUGZlcmQgc2NobmF1YmVuLiBJc3Qgc2VociBuZXR0IHVuZCBnYXIgbmljaHQgdGV1ZXIuCgpGcmV1bmQsIGFsaWFzIFRvcC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG90ZWxzIChDYXR3ZWF6bGUsIDE5LiBGZWIgMjAwMiwgMDg6MzI6NTMpOgp+IyEgcm49VG9wIHJ0PTEwMTQwNjYzMTUgcmc9cGFydHkKfiMhIHRpZD0xMDE0MDUyNjM3CkljaCBoYWJlIGRhcyBQYXJ0eWJyZXR0IHVlYnJpZ2VucyBkYWhpbmdlaGVuZCBlcndlaXRlcnQsIGRhcyBtYW4gYWxzClVlYmVybmFjaHR1bmdzbW9lZ2xpY2hrZWl0IGF1Y2ggJ0hvdGVsJyBhbmdlYmVuIGthbm4uIFdlciBkYSBiaXNoZXIgJ3ByaXZhdCcKZWluZ2V0cmFnZW4gaGF0dGUsIGFiZXIgZGFtaXQgSG90ZWwgbWVpbnRlLCBtb2VnZSBzaWNoIGJpdHRlIHVtbWVsZGVuLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZW1pbmFydm9ydHJhZyAoSHVtbmksIDI3LiBGZWIgMjAwMiwgMTU6NDA6MTEpOgpIdWh1IFNlbWluYXJ0ZWlsbmVobWVySW5uZW4sCgppY2ggd3VlcmRlIHNlbGJzdCBhdWNoIGVpbmVuIFZvcnRyYWcgaGFsdGVuLiBBbGxlcmRpbmdzIG11ZXNzdGUgaWNoIGRhenUKd2lzc2VuLCB3b3p1LiBJY2ggd2Vpc3MgYWJlciBuaWNodCwgb2IgRXVjaCBpcmdlbmR3ZWxjaGUgVGhlbWVuIGludGVyZXNzaWVyZW4sCmljaCB3dWVyZGUgZWluZmFjaCBtYWwgZm9sZ2VuZGVzIGFuYmlldGVuOgoKYSkgRWluc2F0em1vZWdsaWNoa2VpdGVuIHZvbiBNVURzIGluIGRlciBMZWhyZSAoZGFzIG1hY2ggaWNoIG5hZW1saWNoCmJlcnVmbGljaCBkZXJ6ZWl0KQoKYikgU2VsYnN0IHdlaXRlcmVudHdpY2tlbG5kZSBOUENzIChkaWUgc2luZCB6d2FyIG5vY2ggbmljaHQgYW5nZXNjaGxvc3NlbiBhYmVyCmljaCBob2ZmZSBpbiBLdWVyemUgd2VyZGVuIGVpbiBwYWFyIHZvbiBFdWNoIGFuIGRlbmVuIHN0ZXJiZW4uKQoKV2VsY2hlcyBUaGVtYSBmaW5kZXQgSWhyIGJlc3Nlcj8gWnUgYSkgaGFiIGljaCBtZWhyIEJhY2tncm91bmQsIGRhIGIpCm5hdHVlcmxpY2ggZWluIHJlaW5lcyBIb2JieSBpc3QgdW5kIGVoZXIgbnVyIGVpbmUgU3BpZWxlcmVpLCBhYmVyIHZpZWxsZWljaHQKd29sbHQgaWhyIGphIHRyb3R6ZGVtIHdhcyBkYXp1Li4uCgpNZWludW5nZW4gdW5kIERpc2t1c3Npb24gZXJiZXRlbi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp2b3J0cmFnIChBbGJvaW4sIDI3LiBGZWIgMjAwMiwgMTU6NTA6MjEpOgpNaXIgZmFlbGx0IG5vY2ggd2FzIGVpbjoga29lbm50ZSBuaWNodCBlaW5lciB2b24gZGVuIEdvZXR0ZXJuIHVucyBlaW5lbgpsdXN0aWdlbiBWb3J0cmFnIHp1ciBHZXNjaGljaHRlIGRlcyBNb3JnZW5ncmF1ZW5zIGdlYmVuLiBNaXIgZmFsbGVuIGRhIHNwb250YW4Kc29sY2hlIFNhY2hlbiBlaW4sIHdpZSBHdWxkaXMgU3ByZW5ndW5nIGRlcyBXb2xwaS1DbHVicywgb2RlciBGeXRzIEFubGFldWZlCmJlaSBUYW50ZSBIeWRyYSwgb2RlciBhbHMgbWFuIEJlZ2FubiBkaWUgWmFobCBkZXIgVG9kZSB6dSByZWdpc3RyaWVyZW46Ckd1eWJydXNocyB1bmQgT2V0dGlzIFdldHRzcHJpbmdlbiB2b24gZGVyIE1lZXJlc2tsaXBwZSAuLi4KQWxzbyBpY2ggbmVobWUgbWFsIGFuIHdpciBrb2VubnRlbiBkaWUgU2FjaGVuIGhpZXIgYXVjaCBhbGxlIHp1c2FtbWVudHJhZ2VuCnVuZCBlaW5lciBlcnphZWhsdCBlcyBkYW5uLgpJc3QgamEgbnVyIGVpbiBWb3JzY2hsYWNoLi4uCgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZvcnRyYWcgKEh1bW5pLCAyNy4gRmViIDIwMDIsIDE1OjUxOjQ1KToKfiMhIHJuPUFsYm9pbiBydD0xMDE0ODIxNDIxIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNDgyMTQyMQpBbHRlcm5hdGl2IGtvZW5udGUgZGFubiBhYmVyIGF1Y2ggZWluIG5ldWVyZXIgTXVkZGVyIGVpbmVuIFZvcnRyYWcgZHJ1ZWJlcgpoYWx0ZW4sIHdpZSBkYXMgTUcgaGV1dGUgaXN0LiBJY2ggaGFiIGtlaW5lIEx1c3QgZGVuIGdhbnplbiBBYmVuZCAsLGVzIGdpYnQKbnVyIGVpbmUgR2lsZGUnJyB6dSBob2VyZW4uLi4gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlbWluYXJ2b3J0cmFnIChGb29iYXIsIDI3LiBGZWIgMjAwMiwgMTY6MDg6NTMpOgp+IyEgcm49SHVtbmkgcnQ9MTAxNDgyMDgxMSByZz1wYXJ0eQp+IyEgdGlkPTEwMTQ4MjA4MTEKTW9pbi4KCkFscyBWb3J0cmFnc2tvb3JkaW5hdG9yIGZyZXUgaWNoIG1pY2ggbmF0dWVybGljaCBzZWhyIGRhcnVlYmVyLCBkYXNzIEh1bW5pCnNpY2ggYmVyZWl0IGVya2xhZXJ0LCBlaW5lbiBWb3J0cmFnIHp1IGhhbHRlbi4KCkRhcyBoZWlzc3QsIGRhc3Mgd2lyIHNjaG9uIG1pbmRlc3RlbnMgendlaSBzdXBlcmludGVyZXNzYW50ZSBTZW1pbmFydGhlbWVuCmhhYmVuIQoKSWNoIHBlcnNvZW5saWNoIGJldm9yenVnZSBUaGVtYSBCLgoKRnVlaGx0IEV1Y2ggenUgZWluZXIgQWJzdGltbXVuZyBhdWZnZXJ1ZmVuLgoKR3J1c3MsCgogICAgRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbWluYXJ2b3J0cmFnIChBcmssIDI3LiBGZWIgMjAwMiwgMTg6NTc6MTIpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMTQ4MjI1MzMgcmc9cGFydHkKfiMhIHRpZD0xMDE0ODIwODExCldvYmVpIG1pciBhdWZnZWZhbGxlbiBpc3QsIGRhc3MgZXIgInNlbGJzdCB3ZWl0ZXJlbnR3aWNrZWxuZGUgTlBDcyIKYW5rdWVuZGlndC4gV2llIGpldHp0LCBkaWUgc2luZCBlY2h0IGxlcm5mYWVoaWc/IE9kZXIgZWhlciAic2VsYnN0CndlaXRlcmVudHdpY2tlbHRlIE5QQ3MiPyA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZW1pbmFydm9ydHJhZyAoSHVtbmksIDI3LiBGZWIgMjAwMiwgMTk6NDk6MjYpOgp+IyEgcm49QXJrIHJ0PTEwMTQ4MzI2MzIgcmc9cGFydHkKfiMhIHRpZD0xMDE0ODIwODExCk51biBqYSwgZGEgc2llIG5vY2ggbmljaHQgYW5nZXNjaGxvc3NlbiBzaW5kIGhhYmVuIHNpZSBub2NoIG5pY2h0cyBnZWxlcm50LgpBYmVyIHNpZSBzb2xsZW4gYXVmIERhdWVyIHNlbGJzdCB3YXMgbGVybmVuLiBTaWUgc2luZCBqZWRvY2ggKG5vY2gpCmVyc3RhdW5saWNoIHByaW1pdGl2IGFuZ2VsZWd0LCB2aWVsbGVpY2h0IGtvbW1lbiBkYXp1IGphIG5vY2ggbWVociBJZGVlbi4gQWJlcgp3ZW5uIER1IGRhenUgd2FzIGhvZXJlbiB3aWxsc3QgbXVzc3QgRHUgc2Nob24gbWl0IGIpIHN0aW1tZW4gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2VtaW5hcnZvcnRyYWcgKEthZGFicmEsIDI4LiBGZWIgMjAwMiwgMDE6NTk6MTUpOgp+IyEgcm49SHVtbmkgcnQ9MTAxNDgzNTc2NiByZz1wYXJ0eQp+IyEgdGlkPTEwMTQ4MjA4MTEKU2VtaW5hcnZvcnRyYWcKQiEhISEhIDotKSAKZ3J1ZXp6bGlzLCBrYWRhYnJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTZW1pbmFydm9ydHJhZyAoUnVtYXRhLCAyOC4gRmViIDIwMDIsIDA5OjU5OjE5KToKfiMhIHJuPUthZGFicmEgcnQ9MTAxNDg1Nzk1NSByZz1wYXJ0eQp+IyEgdGlkPTEwMTQ4MjA4MTEKTWFsIG5lIHRlY2huaXNjaGUgRnJhZ2UsIHdpZSBvZnQgcHJvIHdvY2hlIG11ZXNzZW4gZGllIHZvbiBkZXIgQmFsYW5jZQphYmdlbm9tbWVuIHdlcmRlbj8KOi0pClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTZW1pbmFydm9ydHJhZyAoU2hha2VkYmVlciwgMjguIEZlYiAyMDAyLCAxMjoxMjozNik6Cn4jISBybj1SdW1hdGEgcnQ9MTAxNDg4Njc1OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTQ4MjA4MTEKKkdSSU5TKgpJY2ggc3RpbW1lIGZ1ZXIgQiEKClNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2VtaW5hcnZvcnRyYWcgKEtlbHJpcywgMjguIEZlYiAyMDAyLCAxOTo0NjoyMik6Cn4jISBybj1LYWRhYnJhIHJ0PTEwMTQ4NTc5NTUgcmc9cGFydHkKfiMhIHRpZD0xMDE0ODIwODExClRoZW1hIGIgaXMgbXkgZmF2b3VyaXRlISA6bykgYmVzdCByZWdhcmRzLCBLZWxyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjEwIEphaHJlPyBXaXJrbGljaCAxMCBKYWhyZT8gKE11cGZlbCwgIDYuIE1hciAyMDAyLCAxODo1NToxMCk6CkhhbGxvCgpXZW5uIG1hbiBhdWYgZGllIE1HIFdlYnNlaXRlIGdlaHQsIHNwcmluZ3QgZWluZW0gZWluICJFeGlzdGVuejogOSBKYWhyZSB1bmQKMzE3IFRhZ2UiIGVudGdlZ2VuLiBXaXIgaGFiZW4gamV0enQgZGVuIDYuMy4gLSBiaXMgenVtIDI0LjMuIHdlcmRlbiBkYXMgbmllCnVuZCBuaW1tZXIgMTAgSmFocmUgOykgSXJnZW5kd2FzIHN0aW1tdCBuaWNodCBiZWkgZGVyIEJlcmVjaG51bmcuLi4gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMTAgSmFocmU/IFdpcmtsaWNoIDEwIEphaHJlPyAoQ2F0d2VhemxlLCAgNy4gTWFyIDIwMDIsIDA4OjI5OjU0KToKfiMhIHJuPU11cGZlbCBydD0xMDE1NDM3MzEwIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTQzNzMxMApXZW5uIGR1IGlucyBNYWdpZXJrb250cm9sbHplbnRydW0gZ2Voc3QgdW5kIGRpciBkYSBkaWUgS29udHJvbGx0YWZlbCBhbnNpZWhzdCwKZGFubiBmaW5kZXN0IGR1OiAnTW9yZ2VuZ3JhdWVuIGV4aXN0aWVydCBzZWl0IGNhLiAzNjM0IFRhZ2VuLiAnLiBBbmRlcmUgV2VydGUKbGFzcyBpY2ggbmljaHQgZ2VsdGVuLiAKSWNoIGJpbiBtaXIgaW1tZXIgbm9jaCBuaWNodCBzaWNoZXIgb2JzIGRlbm4gZGVyIDI0LiBvZGVyIDI1LiBNYWVyeiB3aXJkLiBEYQprb21tdCBlbnR3ZWRlciBub2NoIGVpbiBUYWdlc3dlY2hzZWwgb2RlciBlaW5lIFNjaGFsdGphaHJ2ZXJ3aXJydW5nIGhpbnp1LgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTZW1pbmFydm9ydHJhZyAoSHVtbmksICA3LiBNYXIgMjAwMiwgMjE6MzQ6MDgpOgp+IyEgcm49S2VscmlzIHJ0PTEwMTQ5MjE5ODIgcmc9cGFydHkKfiMhIHRpZD0xMDE0ODIwODExCk9LLCBkYXMgVm90dW0gd2FyIGJpc2hlciBlaW5kZXV0aWcuIERhIGljaCBuaWNodCB3ZWlzcyB3aWV2aWVsIFplaXQgaWNoIGRpZQpuYWVjaHN0ZW4gV29jaGVuIGhhYmUgd2VyZGUgaWNoIGFsc28gbWFsIGFuZmFuZ2VuIFRoZW1hIEIgdm9yenViZXJlaXRlbiwgZGFtaXQKaWNoIG5vY2ggd2FzIFNwaWVscmF1bSBoYWJlLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMTAgSmFocmU/IFdpcmtsaWNoIDEwIEphaHJlPyAoV29vZHksICA4LiBNYXIgMjAwMiwgMTM6NTg6MjQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTU0ODYxOTQgcmc9cGFydHkKfiMhIHRpZD0xMDE1NDM3MzEwCnhldmFsIGR0aW1lKGZpcnN0X2Jvb3RfdGltZSgpKSA/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1zaGlydC1Nb3RpdiAoQ2F0d2VhemxlLCAgOC4gTWFyIDIwMDIsIDE1OjExOjEyKToKCk1vaW4hCgpNaXIgd3VyZGUgc29lYmVuIGh0dHA6Ly93d3cuc2hvd3R2bmV0LmNvbS9ob2JieS93YWxscGFwZXIvaW1nL2x1aXM5LzAzLmpwZyBhbHMKVC1zaGlydC1Nb3RpdiBlbXBmb2hsZW4uIEZpbmRldCBkYXMgYWxsZ2VtZWluZW4gR2VmYWxsZW4/CkZhbGxzIGphLCBtb2VjaHRlIGRhIGplbWFuZCBlaW5lbiBmYW5jeSBTY2hyaWZ0enVnIGRydW50ZXJiYXN0ZXJsbj8gRmFsbHMKbmVpbiwgYmluIGljaCBmdWVyIGplZGUgQWx0ZXJuYXRpdmUgZW1wZmFlbmdsaWNoLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1zaGlydC1Nb3RpdiAoSW1kYSwgIDguIE1hciAyMDAyLCAxNToxMzowNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNTU5NjY3MiByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKYWxsYSwgaWNoIGZpbmQsIGRhcyBpcyBkb29mIHVuZCBzdGlua3QuCgpJbWRhLiBLb25zdHJ1a3Rpdiwgd2llIGltbWVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFQtc2hpcnQtTW90aXYgKEdyaW1tYm9ybiwgIDguIE1hciAyMDAyLCAxNToxMzo0OCk6Cn4jISBybj1JbWRhIHJ0PTEwMTU1OTY3ODYgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCldpZXNvLCBzb2xsIGRpZSBkb3J0IGFiZ2ViaWxkZXRlIEZpZ3VyIGV0d2EgZWluZW4gRXJ6bWFnaWVyIGRhcnN0ZWxsZW4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFQtc2hpcnQtTW90aXYgKE1vcmdvdGgsICA4LiBNYXIgMjAwMiwgMTU6MTg6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTU1OTY4Mjggcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyClNvbGxlbiB3aXIgbmljaHQgZWluIE1vdGl2IHZvbiBSb3lvIG5laG1lbiwgZGEgc2luZCB3ZW5pZ3N0ZW5zIHNjaG51Y2tlbGlnZQpNYWVkZWx6IGRyYXVmIDopCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVC1zaGlydC1Nb3RpdiAoSW1kYSwgIDguIE1hciAyMDAyLCAxNToxOTo1OSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMTU1OTcxMDkgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyClNjaG9uIHBlciBkZWZpbml0aW9uIGJlc3NlciBhbHMgc29uIGtvbWlzY2hlciBNb2VjaHRlZ2VybmJveWJhbmRzYWVuZ2VyIG1pdAp6ZXJyaXNzZW5lciBOZXR6c3RydW1wZmhvc2UgaW4gSGVsZGVucG9zZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVC1zaGlydC1Nb3RpdiAoQmFib29uLCAgOC4gTWFyIDIwMDIsIDE1OjI2OjQzKToKfiMhIHJuPU1vcmdvdGggcnQ9MTAxNTU5NzEwOSByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKRGFzIEJpbGQgZ2VmYWVsbHQgbWlyIG5pY2h0IHNvIGRvbGwuIElzdCBkYXMgbmljaHQgYXVjaCAKZGFzIENvdmVybW90aXYgdm9uIHNvIGVpbmVtIFBDLSJSb2xsZW5zcGllbCI/IFZvbiB3ZWdlbiAKQ29weXJpZ2h0IHVuZCBzby4KVW5kIFJveW8gbWFnIGljaCBhdWNoIG5pY2h0IGFscyBULVNoaXJ0bW90aXYuCkRhIGthbm4gbWFuIGphIGdsZWljaCBlaW5lbiBCYXR0bGVtZWNoIG5laG1lbi4gSXN0IGphIHNjaGxpZXNzbGljaCBhdWNoIApGYW50YXN5LgoKQmFib29uIGhhZXR0ZSBsaWViZXIgd2FzIGNhcnRvb25pZ2VzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVC1zaGlydC1Nb3RpdiAoQ2F0d2VhemxlLCAgOC4gTWFyIDIwMDIsIDE1OjM0OjQ5KToKfiMhIHJuPUJhYm9vbiBydD0xMDE1NTk3NjAzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpHcnJycnJycnIuCgpEYXMgbGF1ZWZ0IG5pY2h0IHNvIHdpZSBpY2ggbWlyIGRhcyB2b3JnZXN0ZWxsdCBoYWJlIDooCgpJY2ggd2FyIGJpc2hlciBkYXZvbiBhdXNnZWdhbmdlbiBpY2ggYmVrb21tZSBlaW4gQmlsZCwgZGVtIGlzdCBhbnNjaGVpbmVuZApuaWNodCBzby4gCk1hY2hlbiB3aXIgaGFsdCBkb2NoIHdpZWRlciBlaW4gTW90aXZiZXdlcmIuIElociBoYWJ0IGFsc28gYmlzIE1vbnRhZyBaZWl0IG1pcgp3YXMgZ2VmYWVsbGlnZXJlcyB1bnRlciBkaWUgTmFzZSB6dSBoYWx0ZW4uIERhbm4gYmluIGljaCBuYWVtbGljaCBuZSBXb2NoZQplbnRmbGV1Y2h0IHVuZCB3ZWlzcyBuaWNodCwgb2IgaWNoIG5vY2ggaXJnZW5kd2VsY2hlIE5vdGZhbGxsb2VzdW5nZW4gYW5sZWllcm4Ka2Fubi4KCkFsc28sIGR1cmNoZm9yc3RldCBldXJlIEFyY2hpdmUsIHN0cmVuZ3QgRXVyZSBaZWljaGVuLSB1bmQgRW50d3VyZnNrdWVuc3RlIGFuLAppY2ggYmluIHNpY2hlciBpaHIga3JpZWd0IHdhcyB3dW5kZXJ2b2xsZXMgenVzYW1tZW4gOikKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBULXNoaXJ0LU1vdGl2IChWYXJsYXJpb24sICA4LiBNYXIgMjAwMiwgMTU6NDE6MzApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTU1OTgwODkgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCkhtbSwgZGFzIHZvcmdlc2NobGFnZW5lIE1vdGl2IGlzdCB2b20gU3BpZWwgIlRoZSBTdW1tb25pbmciLCBpcmdlbmRzbyBlaW4KUHNldWRvLTNELVJvbGxlbnNwaWVsIGF1cyBkZW0gSmFocmUgMTk5NCBvZGVyIHNvLCB3ZW5uIGljaCBtaWNoIHJlY2h0CmVudHNpbm5lLgoKVmFybCosIG1hY2h0IHNpY2ggbWFsIGF1ZiBkaWUgU3VjaGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFQtc2hpcnQtTW90aXYgKE1vcmdvdGgsICA4LiBNYXIgMjAwMiwgMTY6MDU6MTEpOgp+IyEgcm49TW9yZ290aCBydD0xMDE1NTk3MTA5IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpIaWVyIG1hbCBlaW4gcGFhciBNb3RpdmU6Cmh0dHA6Ly9ob21lLmMyaS5uZXQvYWxiZWRvL1JveW8vUm95bzI0LmpwZwpodHRwOi8vcml2ZW5kZWxsLmZvcnR1bmVjaXR5LmNvbS9yZWRndWFyZC82MzYvcm95by5odG1sCmh0dHA6Ly93d3cuc3R1ZC5pZmkudWlvLm5vL35wZWRlcnN0L2htX2NhcmRzL2htMTEuanBnCmh0dHA6Ly9tZW1icmVzLmx5Y29zLmZyL3NrYW5sb24vcGljdHVyZXMvTHVpc19ST1lPL1JveW9NZW1vcnlpbldoaXRlLmpwZwpodHRwOi8vbWVtYnJlcy5seWNvcy5mci9za2FubG9uL3BpY3R1cmVzL0x1aXNfUk9ZTy9Sb3lvRHJhZ29uc2xheWVyLmpwZwpodHRwOi8vaG9tZTcuaW5ldC50ZWxlLmRrL2pvbHNlbi9MUl9SZWRTd2F0aC5qcGcKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBULXNoaXJ0LU1vdGl2IChBaGFiLCAgOC4gTWFyIDIwMDIsIDE2OjM1OjQ4KToKfiMhIHJuPU1vcmdvdGggcnQ9MTAxNTU5OTkxMSByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKPHNlbmY+CkRhcyBQcm9ibGVtLCBkYXMgaWNoIGJlaSBhbGxlbiBiaXNoZXJpZ2VuIFZvcnNjaGxhZWdlbiBzZWhlLCBpc3Qgdm9yIGFsbGVtLApkYXNzIGVzIHNpY2ggdW0gQmlsZGVyIG1pdCBfc2Nod2FyemVtXyBIaW50ZXJncnVuZCBoYW5kZWx0LiBCZWkgZGVyIFQtU2hpcnQtCkRydWNrZXJlaSBnaWJ0cyBqZXR6dCAyIE1vZWdsaWNoa2VpdGVuLiBFbnR3ZWRlciBtYW4gZHJ1Y2t0IGF1ZiB3ZWlzc2UgU2hpcnRzLApkYW5uIHNpZWh0IGRhcyBJTU8gYmxvZWQgYXVzIG1pdCBzb25lbSBzY2h3YXJ6ZW4gS2FzdGVuIGF1ZiB3ZWlzc2VtIFVudGVyLQpncnVuZC4gRHJ1Y2t0IG1hbiBoaW5nZWdlbiBpbiBGYXJiZSBhdWYgc2Nod2FyemUgVC1TaGlydHMsIGtvc3RlbiBkaWUgZWluClZlcm1vZWdlbi4KPC9zZW5mPgoKQWhvaSwKQWhhYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtc2hpcnQtTW90aXYgKEFyaywgIDguIE1hciAyMDAyLCAxNzoyMTozMyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMTU1OTk5MTEgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCldvYmVpIG1pciBhdWNoOgpodHRwOi8vbWVtYnJlcy5seWNvcy5mci9za2FubG9uL3BpY3R1cmVzL0tlaXRoX1BBUktJTlNPTi9QYXJraW5zb25JY2VEcmFnb24uanAKZwpodHRwOi8vbWVtYnJlcy5seWNvcy5mci9za2FubG9uL3BpY3R1cmVzL0tlaXRoX1BBUktJTlNPTi9QYXJraW5zb25GaXJlU2VhLmpwZwpodHRwOi8vbWVtYnJlcy5seWNvcy5mci9za2FubG9uL3BpY3R1cmVzL0tlaXRoX1BBUktJTlNPTi9QYXJraW5zb25Ob3J0aFdhdGNoLmoKcGcKZ2VmYWxsZW4uIE9LLCBiaW4gZWJlbiBQYXJraW5zb24gRmFuLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFQtc2hpcnQtTW90aXYgKE1vbnRhbnVzLCAgOC4gTWFyIDIwMDIsIDE3OjQ5OjM2KToKfiMhIHJuPUFyayBydD0xMDE1NjA0NDkzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpndWNrdCBhdWNoIG1hbCB1bnRlciB3d3cudG9kZGxvY2t3b29kLmNvbS4KRWluZXJzZWl0cyBzaW5kIGRhcyB6aWVtbGljaCBnZWlsZSBCaWxkZXIsIGFuZGVyZXJzZWl0cyBpc3QgVG9kZCBhdWNoIGVpbiBlY2h0Cm5ldHRlciBLZXJsLgoKQWVobSwgdW5kIENhdHR5LCBoYXN0IER1IExvY28gYXVmIERlaW5lciBMaXN0ZSBkZXIgZ2VzdWNodGVuIE9sZHRpbWVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVC1zaGlydC1Nb3RpdiAoSWRsZWZpeCwgIDguIE1hciAyMDAyLCAxOTo0MzowNyk6Cn4jISBybj1CYWJvb24gcnQ9MTAxNTU5NzYwMyByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKTmUgbml4IENhcnRvb25pZ2VzLgoKSWRsZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFQtc2hpcnQtTW90aXYgKFZhcmxhcmlvbiwgIDguIE1hciAyMDAyLCAyMTowNToyMyk6Cn4jISBybj1JZGxlZml4IHJ0PTEwMTU2MTI5ODcgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCldpZSB3YWVycyBkZW5uIG1pdCBmb2xnZW5kZW0gQmlsZDoKaHR0cDovL21lbWJyZXMubHljb3MuZnIvc2thbmxvbi9waWN0dXJlcy9HcmFlbWVfQkFTRS9CQVNFRHJhZ29uYXRjb21wdXRlci5qcGcKClZhcmwqLCBub2NoIGF1ZiBkZXIgU3VjaGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFQtc2hpcnQtTW90aXYgKEthcnRvZmZlbCwgMTAuIE1hciAyMDAyLCAxOTo0ODo1Nik6Cn4jISBybj1WYXJsYXJpb24gcnQ9MTAxNTYxNzkyMyByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKRGFzIHNpZWh0IGRvY2ggd2l0emlnIGF1cywgbmljaCBzbyB3YXMgZHVlc3RlcmVzIG9kZXIgc3BsYWRkZXJpZ2VzLgoKYFRvZmZlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVC1zaGlydC1Nb3RpdiAoQ2F0d2VhemxlLCAxMC4gTWFyIDIwMDIsIDE5OjQ5OjU0KToKfiMhIHJuPVZhcmxhcmlvbiBydD0xMDE1NjE3OTIzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpIbSwgCgppc3QgZGVubiBrZWluZXIgbWVociBrcmVhdGl2PwoKTmViZW5iZWk6IFNjaHdhcnotVC1zaGlydGRydWNrIGlzdCBrZWluIFByb2JsZW0sIGljaCBoYWIgZGEgZWluZW4gc2VocgpndWVuc3RpZ2VuIERydWNrZXIgYXVmZ3RyaWViZW4uIEljaCBoYWIgbm9jaCBrZWluZSBvZmZpemllbGxlbiBQcmVpc2UKYWJnZW1hY2h0LCBhYmVyIHNvIHdpZXMgYXVzc2llaHQsIGR1ZXJmdGUgZWluIGJlZmxvY2t0ZXMgc2Nod2FyemVzIFNoaXJ0IGV0d2EKMTItMTMgRXVybyBrb3N0ZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFQtc2hpcnQtTW90aXYgKEthcnRvZmZlbCwgMTAuIE1hciAyMDAyLCAyMDowNjo0NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNTc4NjE5NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKCgpIbW0sIGJlZmxvY2t0PyBEYXMga2VubiBpY2ggZWlnZW50bGljaCBudXIgIGluIFNpZWJkcnVja3RlY2huaWsgKHouQi4gYmVpClRyaWtvdHMpIHVuZCBkYXMgd2lyZCBtaXQgamVkZXIgRmFyYmUgdGV1cmVyLCB3ZWlsIGZ1ZXIgamVkZSBGYXJiZSBlaW4gZWlnZW5lcgpSYWhtZW4gaGVyZ2VzdGVsbHQgd2VyZGVuIG11c3MgdW5kIGplZGUgRmFyYmUgZWluemVsbiBnZWZsb2NrdCB3aXJkLCBkYXMKZ2xlaWNoIGdpbHQgZnVlciBkaWUgTmFtZW5zenVlZ2UsIGVpbiBOYW1lLT4gZWluIFJhaG1lbi4KCkFiZXIgdmllbGxlaWNodCBpc3QgZGFzIGphIHdhcyBhbmRlcmVzCgpgVG9mZmVsIC0gaGF0IHZvciBKYWhyZW4gbWFsIGluIG5lciBGbG9ja2RydWNrZXJlaSBnZWpvYmJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBULXNoaXJ0LU1vdGl2IChBbm9yaXMsIDEwLiBNYXIgMjAwMiwgMjM6NDI6MDMpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTEwMTU3ODcyMDUgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCkRhcyBpc3QgamVkZW0gc2VsYnN0IHVlYmVybGFzc2VuLCB3aWUgbWFuIHNpY2ggZGFzIE1HIHZvcnN0ZWxsdC4gRHJhY2hlbgpzZWhlbiBmdWVyIG1pY2ggbmljaHQgc28gYXVzIHdpZSBhdWYgZGVuIGxldHp0ZW4gaGllciBnZXBvc3RldGVuIExpbmtzCmVoZXIgd2llIGRhcyBEcmFjaGVuYmFieSBhdWYgZGVtIE11ZW5zdGVyIDk4IFBhcnR5IFQtU2hpcnQuCgpodHRwOi8vd3d3LmNvbW11bml0YXMtc2F0dXJuaS5kZS9TYXR1cm5rdW5zdC9JbWFnZV9MaXN0XzMvR25vbS9nbm9tLmpwZwpodHRwOi8vd3d3LmNvbW11bml0YXMtc2F0dXJuaS5kZS9TYXR1cm5rdW5zdC9JbWFnZV9MaXN0XzgvU3RvbmVoZW5nZS5qcGcKClN0b25laGVuZ2UgaXN0IGV2LiBuIGJpc3NjaGVuIGR1bmtlbCB1bmQgZGVyIEdub20gaXN0IG5pY2h0IGdhbnogbmFjaApkZW0gR2VzY2htYWNrIG1laW5lciBUb2NodGVyLCBhYmVyIGlyZ2VuZHdpZSB3aXR6aXQgbmljaHQ/IDopCgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFQtc2hpcnQtTW90aXYgKFZhcmxhcmlvbiwgMTAuIE1hciAyMDAyLCAyMzo1MDowMCk6Cn4jISBybj1Bbm9yaXMgcnQ9MTAxNTgwMDEyMyByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKTWVpbiBHZXNjaG1hY2sgaXN0IGRlciBHbm9tIGF1Y2ggbmljaHQgd2lya2xpY2guLi4gRGFzIFN0b25laGVuZ2UtTW90aXYgc2llaHQKc2NoaWNrIGF1cywgYWJlciBpY2ggZnJhZ2UgbWljaCwgb2IgZGFzIGF1ZiBlaW5lbSBULVNoaXJ0IHJpY2h0aWcgenVyIEdlbHR1bmcKa29tbXQgKHdlbm4gbmF0dWVybGljaCBhdWYgbmVtIHNjaHdhcnplbi4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbm50YWdzZnV0dGVyIChDYXR3ZWF6bGUsIDEwLiBNYXIgMjAwMiwgMjM6NTM6NDgpOgpMaWViZSBMZXV0ZSwKCmljaCBoYWJlIG51ciBnZXJpbmdmdWVnaWdlIFByb2JsZW1lIGJlaSBkZW0gU29ubnRhZ3NhYnNjaGllZHNlc3Nlbi4KClRyb3R6ZGVtIGZvbGdlbmRlIGtsZWluZSBVbWZyYWdlLCBhdWYgZGllIGljaCBlaW5lIGJpdHRlIGt1cnplIEFudHdvcnQgaGFldHRlLgoKV2lyIGdlaGVuIGphIGlucyBSdXN0aWN1cywgZGEgZ2lidCBlcyBndXQgYnVlcmdlcmxpY2hlcy93ZXN0ZmFlbGlzY2hlcyBFc3Nlbi4KRXMgZ2lidCB6d2VpIE1vZWdsaWNoa2VpdGVuLiAgRGllIGVpbmUgaXN0LCBlcyBnaWJ0IGVpbiBCdWZmZXQgbWl0IApHcmF0aW4vS3Jva2V0dGVuL0VyYnNlbi9Nb2VocmVuL0Jyb2Njb2xpL0JsdW1lbmtvaGwvSG9sbGFuZGFpc2UvUHV0ZW5icnVzdC9TY2gKd2VpbmVicmF0ZW4gZnVlciAxMEV1cm8vUGVyc29uLiAKRGllIEFsdGVybmF0aXZlIGlzdCBlaW4gcmVkdXppZXJ0ZSBLYXJ0ZSBtaXQgNC01IEdlcmljaHRlbiwgd29iZWkgZGFiZWkgZGFubiAKOm1pdCBtZWhyIFdhcnRlemVpdCB6dSByZWNobmVuIHdhZXJlLgoKV2FzIHZvbiBiZWlkZW0gaXN0IGV1Y2ggbGllYmVyPyBEaWUgJ3NvbnN0aWdlbicgQWx0ZXJuYXRpdmVuIHNpbmQgZWNodCBzY2h3YWNoCmdlc2FlaHQsIGRhIGVzIHF1YXNpIHVubW9lZ2xpY2ggaXN0IGZ1ZXIgMTIwKyBQZXJzb25lbiBlaW5lbiBGdXR0ZXJyYXVtIHp1CmJlc29yZ2VuLiAKCkJpdHRlIGFudHdvcnRldCAna3VyeicgdW5kIGhhbHRldCBtaXIgdm9yIGFsbGVtIGRpZSBQYXJ0eXJ1YnJpayBzYXViZXIuClZpZWxsZWljaHQgZnVwdCBpaHIgamEgbmFjaCBEaXNrdXNzaW9uIG9kZXIgc28uLi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFQtc2hpcnQtTW90aXYgKENhdHdlYXpsZSwgMTAuIE1hciAyMDAyLCAyMzo1NDozNCk6Cn4jISBybj1WYXJsYXJpb24gcnQ9MTAxNTgwMDYwMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKRGVyIEhvcml6b250IGlzdCBnZWlsLiBLYW5uIGRhIGplbWFuZCB3YXMgTUctdHlwaXNjaGVzIGRydW50ZXJwYWNrZW4/IE1pdApzY2h3YXJ6ZW0gVWViZXJnYW5nIGxhZXNzdCBzaWNoIGRhIGphIGJlc3RpbW10IHdhcyBtYWNoZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb25udGFnc2Z1dHRlciAoRm9vYmFyLCAxMS4gTWFyIDIwMDIsIDAwOjE2OjA0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDE1ODAwODI4IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTgwMDgyOApUYWNoLgoKRmFsbHMgYmVpbSBCdWZmZXQgQVlDRSBnaWx0IG9kZXIgZGllIFRlbGxlciBncm9zcyBnZW51ZyBzaW5kLCBkYW5uIEJ1ZmZldCwKc29uc3QgcmVkdXppZXJ0ZSBLYXJ0ZS4KCkdydXNzLAoKICAgICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVtIGdvdHRlcyB3aWxsZW4gLi4uIChRaXRlc3MsIDExLiBNYXIgMjAwMiwgMDA6MjM6MTApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTU1OTY2NzIgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCnVtIGdvdHRlcyB3aWxsZW4sIHdhcyBpc3QgZGFzIGRlbm4gZnVlciBlaW4gbWVya3d1ZXJkaWdlcyBiaWxkPyAKClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtc2hpcnQtTW90aXYgKFFpdGVzcywgMTEuIE1hciAyMDAyLCAwMDoyOTowOSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMTU1OTk5MTEgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCldVQUghCkphLCBJY2ggd2lsbCBuZSBoYWxibmFja3RlIFR1c3NpIG1pdCBTY2h3ZXJ0LCBkaWUgc2ljaCB2b24gZWluZW0gbWl0CnVlYmVyZGltZW5zaW9uYWxlbiBNdXNrZWxuIGJlcGFja3RlbiBEYWVtb24gZmkqKipuIGxhZXNzdCAhISEKREFTIHNpbmQgZ2VpbGUgTW90aXZlICEKUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbm50YWdzZnV0dGVyIChWYW5pb24sIDExLiBNYXIgMjAwMiwgMDg6MDg6MjEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTU4MDA4Mjggcmc9cGFydHkKfiMhIHRpZD0xMDE1ODAwODI4CkljaCBiaW4gZnVlciBCdWZmZXQuCgpWKiwga3VyeiB1bmQga25hcHAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBULXNoaXJ0LU1vdGl2IChEZWVwYmx1ZSwgMTEuIE1hciAyMDAyLCAxMDoyNTo1OCk6Cn4jISBybj1RaXRlc3MgcnQ9MTAxNTgwMjk0OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKVW5kIHdpZSB3aWxsc3QgRHUgZGFyc3RlbGxlbiwgZGFzcyBkZXIgRGFlbW9uIHNpZSBnZXJhZGUgZmluc3RlcnQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZWdlIChQaXRmYWxsLCAxMS4gTWFyIDIwMDIsIDEzOjE1OjE2KToKbW9pbiwKCndhbm4ga29tbWVuIGluZm9zIHp1IGRlbiBwYXJ0eXJlbGV2YW50ZW4gd2VnZW4/Cm9kZXIgYW5kZXJzIGdlZnJhZ3QsIGZpbmRldCBzaWNoIHNwb250YW4gd2VyIGJlcmVpdCBuZSA5ZXIgZ3J1cHBlIGFtIGZyZWl0YWcKc28gZ2VnZW4gIDE3LjMwIHZvbSBoYmYgYWJ6dWhvbGVuPwoKbWZnCnBpdCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3ZWdlIChDYXR3ZWF6bGUsIDExLiBNYXIgMjAwMiwgMTM6MTg6MjgpOgp+IyEgcm49UGl0ZmFsbCBydD0xMDE1ODQ4OTE2IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTg0ODkxNgpEaWUgV2VnZSBkYXVlcm4gbm9jaCwgZGEgaWNoIGRhcyBhbSBXRSBuaWNodCBtZWhyIGdlc2NoYWZmdCBoYWJlIHVuZCBkZW4gUmVzdApkZXIgV29jaGUgd2VnIGJpbi4gSWNoIHdhciBhdWNoIHNlbGJlciBuaWNodCBtYWwgYW4gZGVyIEhhbGxlLCBrYW5uIGFsc28Kc2NobGVjaHQgZGVuIFdlZyBkYWhpbiBiZXNjaHJlaWJlbiA6KQoKVHJ1bHkgc29ycnksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBULXNoaXJ0LU1vdGl2IChDYXR3ZWF6bGUsIDEyLiBNYXIgMjAwMiwgMDg6MTU6MTcpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAxNTgzODc1OCByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKTW9pbiEKCkljaCBoYWIgdGF0c2FlY2hsaWNoIGVpbiBwYWFyIGtyZWF0aXZlIE1vdGl2ZSB6dWdlc2NoaWNrdCBiZWtvbW1lbjoKCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvRy5NRzAyLjEuZ2lmCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvRy5NRzAyLjIuZ2lmCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvR3JlZW50aGluZ01HLmdpZgoKV2VyIG1nLm11ZC5kZSBpbW1lciBub2NoIG5pY2h0IGF1ZmxvZXNlbiBrYW5uLCBtb2VnZSBiaXR0ZSBkaWUgSVAKMTk0Ljk1LjE3MC4yMDUgYmVudXR6ZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFQtc2hpcnQtTW90aXYgKEVsaXphYmV0aCwgMTIuIE1hciAyMDAyLCAxNzo1MToyMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNTkxNzMxNyByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKVmllbGxlaWNodCBmaW5kZXQgbWFuIHVudGVyIGZvbGdlbmRlciBVcmwgYXVjaCBuZXR0ZSBNb3RpdmUuLi4gZXMgc2luZCAKdGVpbHdlaXNlIEVDSFQgc2Nob2VuZSBzYWNoZW4gZGFiZWkgOikgb2IgZGllIHNvIGdlZWlnbmV0IGZ1ZXIgZWluIHRzaGlydCBzaW5kCndlaXNzIGljaCBuaWNodCA6Cmh0dHA6Ly93d3cuZWxmd29vZC5jb20KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFQtc2hpcnQtTW90aXYgKEl2bywgMTIuIE1hciAyMDAyLCAxNzo1MTo0Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNTkxNzMxNyByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKbWlyIHd1ZXJkZSBkYXMgbGV0enRlIE1vdGl2IGF1Y2ggaW4gaW52ZXJzZXIgRGFyc3RlbGx1bmcgYXVmIG5lbSB3ZWlzc2VuClQtU2hpcnQgZ2VmYWxsZW4sIHZpZWxsZWljaHQga29lbm50ZSBtYW4gZGEgamEgMiBWYXJpYW50ZW4gYW5iaWV0ZW4KCkdydXNzLCBJdm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFQtc2hpcnQtTW90aXYgKE1vbnRhbnVzLCAxMi4gTWFyIDIwMDIsIDE3OjU5OjA4KToKfiMhIHJuPUl2byBydD0xMDE1OTUxOTAzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpTb3dvaGwgc2Nod2FyemUgYWxzIGF1Y2ggd2Vpc3NlIFQtU2hpcnRzIHNvbGx0ZSBkb2NoIGplZGVyIGluendpc2NoZW4gaW0KRHV0emVuZHBhY2sgaW0gU2NoYW5rIGhhYmVuLiBTaW5kIGRvY2ggemllbWxpY2ggZWluZmFsbHNsb3MuCldpZXNvIG5pY2h0IG1hbCByaWNodGlnIGNvb2xlIEZhcmJlbiwgZGllIG1hbiBzb25zdCBuaXJnZW5kd28gYmVrb21tdD8gSWNoIGhhYgpuZXVsaWNoIHouQi4gZWluIHppZW1saWNoIHRvbGxlcyBULVNoaXJ0IHZvbiBkZXIgTmV3IEJlbGdpdW0gQnJld2VyeSBiZWtvbW1lbiwKZGllIEZhcmJlIHdpcmQgdm9uIFpldWdlbiBhbHMgZW50d2VkZXIgInNlbmZnZWxiIiBvZGVyICJob25pZ2dlbGIiCmJlc2NocmllYmVuLgpKZWRlbmZhbGxzIGhhdHRlIGljaCBub2NoIG5pZSBlaW4gU2hpcnQgaW5kIGllc2VyIEZhcmJlLCB1bmQgc29uc3QgaGF0IGRhcwphdWNoIGZhc3QgbmllbWFuZC4gVW5kIGVzIHNpZWh0IHNvZ2FyIG5vY2ggZ3V0IGF1cy4KRXMgZ2lidCBpbnp3aXNjaGVuIHNvIHZpZWxlIHNjaG9lbmUgVC1TaGlydC1GYXJiZW4uIFNhbGJlaSB6dW0gQmVpc3BpZWwuIE1hY2h0CmRvY2ggbWFsIHdhcyBrcmVhdGl2ZXMsIG5pY2h0IGltbWVyIG51ciBkYXMgc2VsYmUgd2Vpc3MtZ3JhdS1zY2h3YXJ6ZQpFaW5lcmxlaSEKCi1Nb250YW51cyBmdWVyIG1laHIgRmFyYmUgaW0gTW9yZ2VuZ3JhdWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVC1zaGlydC1Nb3RpdiAoSXZvLCAxMi4gTWFyIDIwMDIsIDE4OjAxOjMwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTU5NTIzNDggcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCm9rIG9rLCBtdXNzIGphIGtlaW4gd2Vpc3NlcyB0LXNoaXJ0IHNlaW4sIGFiZXIgZGVyIGdub20ga29lbm50ZSBzY2hvbiBhdWZzCnQtc2hpcnQgcmF1Zi4uCgpJdm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJsUXVlc3QgKEVsaXphYmV0aCwgMTIuIE1hciAyMDAyLCAyMjo0ODoyMCk6ClNhZ3QgbWFsLCB3YXMgaXN0IGVpZ2VudGxpY2ggbWl0IGRlciBSbHF1ZXN0Li4gd2VyIHdpcmQgZGllIHBsYW5lbi9zaWNoCmF1c2RlbmtlbiA/IG11c3MgbWFuIGJlc2NoZWlkIHNhZ2VuIHdlbm4gbWFuIG1pdG1hY2hlbiB3aWxsLi4gZXJ6YWVobHQgZG9jaAptYWwgCmVpbmVuIHNwcnVuZy4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogVC1zaGlydC1Nb3RpdiAoVHJveSwgMTMuIE1hciAyMDAyLCAwODoyNTo1Nyk6Cn4jISBybj1Jdm8gcnQ9MTAxNTk1MjQ5MCByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKVG9ubmVud2Vpc2UgTW90aXZlIGdpYnRzIGltbWVybm9jaCB1bnRlcgpmdHA6Ly9mdHAuc3VuZXQuc2UvcHViL3BpY3R1cmVzL2ZhbnRhc3kvCih1bmQgVW50ZXJ2ZXJ6ZWljaG5pc3NlKQoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFQtc2hpcnQtTW90aXYgKEVsYmVyZXQsIDEzLiBNYXIgMjAwMiwgMDg6NDA6MTMpOgp+IyEgcm49VHJveSBydD0xMDE2MDA0MzU3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3Mgp3aWUgc3RlaHRzIGRlbm4gbWl0IGRlbSBDb3B5cmlnaHQ/IGFsc28gYmVpIG1hbmNoZW4gc3RlaHQgYXVzZHJ1ZWNrbGljaCBkYWJlaSwKZGFzcyBzaWUgbmljaHQgb2huZSBzY2hyaWZ0bGljaGVzIGVpbnZlcnN0YWVuZG5pcyB3ZWl0ZXJnZW51dHp0IHdlcmRlbgpkdWVyZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFQtc2hpcnQtTW90aXYgKEFudGhlYSwgMTMuIE1hciAyMDAyLCAxMDowNDoyMyk6Cn4jISBybj1Ucm95IHJ0PTEwMTYwMDQzNTcgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCkljaCBoYWIgYXVjaCBub2NoIGVpbiBwYWFyIG5ldHRlIEJpbGRlciBnZWZ1bmRlbiA6KQpodHRwOi8vd3d3LnVsdGltYXRlc3BvcnRzbWVuLmNvbS9vbGllZy9waWNzL21lcm1haWQuanBnCmh0dHA6Ly9nZW9jaXRpZXMuY29tL0FyZWE1MS8xNDU5L21lcm1haWQuanBnCmh0dHA6Ly93d3cuYWdoLmVkdS5wbC9odGRvY3MvZ2lmcy9jYXJ0b29ucy9hbmltZS9tYWRva2EubWVybWFpZC5naWYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBULXNoaXJ0LU1vdGl2IChNYXJjdXMsIDEzLiBNYXIgMjAwMiwgMTA6MDg6NTUpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTYwMTAyNjMgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCkhtbSwgCgpJcmdlbmR3aWUgZmluZGUgaWNoLCBkYXMgc28gZ2VtYWx0ZSBCaWxkZXIgZWhlciBzY2hsZWNodCBhdWYgZWluIFQtU2hpcnQKcGFzc2VuLgoKVW5kIGljaCB3aWxsIGRhcyBNRyBIZXhlbnNoaXJ0IHdpZWRlciA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogVC1zaGlydC1Nb3RpdiAoQW50aGVhLCAxMy4gTWFyIDIwMDIsIDEwOjMyOjE2KToKfiMhIHJuPU1hcmN1cyBydD0xMDE2MDEwNTM1IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpHZW1hbHRlIEJpbGRlciBzaW5kIG5pY2h0IGltbWVyIHNjaGxlY2h0LiBBYmVyIGF1ZiBULVNoaXJ0cyBpc3QgaW1tZXIgZGllCkZyYWdlLCB3aWUgZ3V0IGRpZSByYXVza29tbWVuLiBVbmQgbWFuY2htYWwgaXN0IGVzIGJlc3Nlciwgd2VubiB3ZW5pZ2VyIEZhcmJlbgpkcmluIHNpbmQsIHVuZCBkYXMgaXN0IG1pdCBnZW1hbHRlbiBCaWxkZXJuIG1hbmNobWFsIGJlc3NlciB6dSBlcnJlaWNoZW4uCgpodHRwOi8vd3d3Lmdlb2NpdGllcy5jb20vbGFkeV9hbnRoZWEvc3R1ZmYvbWVybWFpZF8xLmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFQtc2hpcnQtTW90aXYgKExpYXJhLCAxNC4gTWFyIDIwMDIsIDAwOjA0OjE1KToKfiMhIHJuPUFudGhlYSBydD0xMDE2MDExOTM2IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpSZXBseSByZWluIHp1ZmFlbGxpY2ggLi4uCgpXYXMgaXN0IGRlbm4gbWl0IGRlbSBCaWxkLCB3YXMgTWVzaXJpaSBkYW1hbHMgYXVmIGRpZSBUYXNzZW4gZHJ1Y2tlbiBsaWVzcz8KCkdydWVzc2UsIExpYXJha2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmdlbWVsZGV0ZSBHYWVzdGU/Pz8gKEFudGhlYSwgMTQuIE1hciAyMDAyLCAxNjoxNjo1OSk6CldpZXNvIGdpYnQgZXMgaW4gZGVyIFBhcnR5bGlzdGUgZWlnZW50bGljaCBHYXN0MSB1bmQgR2FzdDIgYWxzIGFuZ2VtZWxkZXRlClRlaWxuZWhtZXI/IEljaCBiaW4gbnVyIGV0d2FzIHZlcndpcnJ0IHp3ZWNrcyBkZXIgIk5hY2h2ZXJmb2xndW5nIiBkdXJjaApDYXR0eS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmdlbWVsZGV0ZSBHYWVzdGU/Pz8gKENhZHJhY2gsIDE0LiBNYXIgMjAwMiwgMTg6NDY6MDUpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTYxMTkwMTkgcmc9cGFydHkKfiMhIHRpZD0xMDE2MTE5MDE5CkljaCBnbGF1YmUgc29sYW5nZSBzaWUgZGFzIEdlbGQgYXVjaCB1bnRlciBkaWVzZW0gTmFtZW4gYmV6YWhsZW4gdW5kIGF1ZiBkZXIKUGFydHkgZ2dmLiBpbiBkZXIgTGFnZSBzaW5kIHNpY2ggZHVyY2ggZWluZW4gVWViZXJ3ZWlzdW5nc3RyYWVnZXIgYXVzenV3ZWlzZW4sCndpcmQgQ2F0dHkgZGFzIHppZW1saWNoIGVnYWwgc2VpbiA6KQoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFuZ2VtZWxkZXRlIEdhZXN0ZT8/PyAoRGVlcGJsdWUsIDE0LiBNYXIgMjAwMiwgMjE6NDI6NDkpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTYxMTkwMTkgcmc9cGFydHkKfiMhIHRpZD0xMDE2MTE5MDE5CnNwaW5uZXIgaGFsdCAtIHJtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFuZ2VtZWxkZXRlIEdhZXN0ZT8/PyAoQmFtYmksIDE1LiBNYXIgMjAwMiwgMDk6NTc6NTQpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAxNjEzODU2OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTYxMTkwMTkKV2VyPwpDYXR0eSwgZGllIEdhZXN0ZSBvZGVyIGRpZSBSTT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFQtc2hpcnQtTW90aXYgKE1hcnRpbmksIDE2LiBNYXIgMjAwMiwgMTk6MjM6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTU5MTczMTcgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCkljaCBmaW5kZSBkYXMgTGV0emVyZSBnYW56IGd1dC4gVW5kIGVzIHd1ZXJkZSBhdWNoIHd1bmRlcmJhciBhdWYgZWluIHNjaHdhcnplcwpTaGlydCBwYXNzZW4uClZpZWxsZWljaHQgd2FlcmUgZXMgYWJlciBiZXNzZXIgIk1HIiBhdXN6dXNjaHJlaWJlbiwgZGEgZGllc2UgQWJrdWVyenVuZyBkb2NoCmVpbmlnZSBhbmRlcmUgQmVkZXV0dW5nZW4gaGF0LiA6KQoKTWFydGluaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFQtc2hpcnQtTW90aXYgKE1hcnRpbmksIDE2LiBNYXIgMjAwMiwgMTk6MjQ6NDkpOgp+IyEgcm49TWFydGluaSBydD0xMDE2MzAyOTkzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpJY2ggbWVpbmUgbmF0dWVybGljaCBkYXMgIjEwIEphaHJlIE1HIi1UU2hpcnQgbWl0IGRlbSBHbm9tIGRyYXVmLgoKTWFydGluaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBULXNoaXJ0LU1vdGl2IChXdXJ6ZWwsIDE2LiBNYXIgMjAwMiwgMTk6MjY6NTkpOgp+IyEgcm49TWFydGluaSBydD0xMDE2MzAzMDg5IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgpqbywgaXN0IHZvbiBkZW4gZHJlaWVuIGRhcyBiZXN0ZS4gZGllIGFuZGVyZW4gYmVpZGVuIHNpbmQgbWlyIHp1IGNocmlzdGxpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBULXNoaXJ0LU1vdGl2IChRaXRlc3MsIDE2LiBNYXIgMjAwMiwgMTk6Mjc6MzYpOgp+IyEgcm49TWFydGluaSBydD0xMDE2MzAyOTkzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3Mgp3aWUgd2FlcmUgZXMsIHdlbm4gbWFuIG5pY2h0IHdlaXNzIGF1ZiBzY2h3YXJ6LCBzb25kZXJuIGdpZnRncnVlbiBhdWYgc2Nod2FyegpkcnVja3Q/CnNvIGdpZnRncnVlbiB3aWUgYmVpIG1zLXBhaW50IDstKQpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogVC1zaGlydC1Nb3RpdiAoUWl0ZXNzLCAxNi4gTWFyIDIwMDIsIDE5OjI5OjEwKToKfiMhIHJuPVd1cnplbCBydD0xMDE2MzAzMjE5IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3Mgp3YXNuIGRhcmFuIGNocmlzdGxpY2g/Pz8KUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFQtc2hpcnQtTW90aXYgKFd1cnplbCwgMTYuIE1hciAyMDAyLCAxOToyOTozNCk6Cn4jISBybj1RaXRlc3MgcnQ9MTAxNjMwMzM1MCByZz1wYXJ0eQp+IyEgdGlkPTEwMTU1OTY2NzIKZGVyIGxhbmdoYWFyaWdlIGJvbWJlbmxlZ2VyIHRyYWVndCBlaW4ga3JldXogdW0gZGVuIGhhbHMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogVC1zaGlydC1Nb3RpdiAoUWl0ZXNzLCAxNi4gTWFyIDIwMDIsIDE5OjMyOjQwKToKfiMhIHJuPVd1cnplbCBydD0xMDE2MzAzMzc0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNTU5NjY3MgphbHNvLCBtYW4ga29lbm50ZSBqYSBtYWwgZWluIHBhYXIgZmFyYnZhcmlhbnRlbiBhdXNwcm9iaWVyZW4gLi4uClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBULXNoaXJ0LU1vdGl2IChSYWduYXJvZWssIDE2LiBNYXIgMjAwMiwgMjE6MTM6MzApOgp+IyEgcm49UWl0ZXNzIHJ0PTEwMTYzMDM1NjAgcmc9cGFydHkKfiMhIHRpZD0xMDE1NTk2NjcyCgpIaWhvIQoKSWNoIHdhciBpbiBsZXR6dGVyIFplaXQga2F1bSBkYSB1bmQga2FtIGRlc2hhbGIgYXVjaCBlcnN0Cmdlc3Rlcm4gZGF6dSwgZGllc2VuIFRocmVhZCB1ZWJlcmhhdXB0IHp1IGxlc2VuLiBUcm90emRlbQpoYWIgaWNoIGF1Y2ggbm9jaCBuZW4gTW90aXZ2b3JzY2hsYWcgenUgbWFjaGVuOgoKaHR0cDovL3d3dy5hbmd1cmJvZGEuZGUvaHlkcmFfa2wuanBnCgpPaywgaXMgenVnZWdlYmVuZXJtYXNzZW4gZGFzIHdvaGwgYWJnZWRyb3NjaGVuc3RlIE1vdGl2IHVlYmVyaGF1cHQsCmlzIGRhZnVlciBhYmVyIG5pY2h0IGlyZ2VuZHdvIGdla2xhdXQgdW5kIGVpZ25ldCBzaWNoIGZ1ZXIKc2Nod2FyemUgU2hpcnRzLgoKOnJhZ25hcm9lazoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtU2hpcnQtTW90aXZlIChRaXRlc3MsIDE2LiBNYXIgMjAwMiwgMjI6MDE6NDEpOgpoYWxsb2VsZQoKaHR0cDovL2ZldWRhbHdnLnplcm9wYWluLmNvbS8KYml0dGVzZWhyLi4uClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtU2hpcnQyIChRaXRlc3MsIDE2LiBNYXIgMjAwMiwgMjM6MTI6MDYpOgpoZWosIGF1ZgoKaHR0cDovL2ZldWRhbHdnLnplcm9wYWluLmNvbS8KCmlzdCBub2NoIHdhcyBmdWVyIGZlaW5nZWlzdGlnZXJlIGhpbnp1Z2Vrb21tZW4gOy0pCgpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydDIgKExhcmlzc2EsIDE5LiBNYXIgMjAwMiwgMTY6NDc6MDcpOgp+IyEgcm49UWl0ZXNzIHJ0PTEwMTYzMTY3MjYgcmc9cGFydHkKfiMhIHRpZD0xMDE2MzE2NzI2CkhtLAoKdmllbGxlaWNodCBoYWJlIGljaCBkZW4gVWViZXJibGljayB2ZXJsb3JlbiwgdmllbGxlaWNodCBiaW4gaWNoIGFiZXIgYXVjaApuaWNodCBkaWUgZWluemlnZSBkaWUgaW56d2lzY2hlbiBldHdhcyBkdXJjaGVpbmFuZGVyIGlzdDogR2lidCBlcyBqZXR6dCBzY2hvbgplaW4gTW90aXY/IEdpYnQgZXMgaXJnZW5kd28gbmUgU2VpdGUgd28gZGllIGdhbnplbiBMaW5rcyBnZXNhbW1lbHQgc2luZD8gV2lyZApzY2hvbiBpcmdlbmR3by9pcmdlbmR3aWUgYWJnZXN0aW1tdD8KCkRhbmtlLCBMYXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpULVNoaXJ0LU1hZW5ubGVpbj8gKFFpdGVzcywgMTkuIE1hciAyMDAyLCAyMTo0MDowMCk6CldpZSB3YWVyZSBlcyBkZW5uLCB3ZW5uIG1hbCB3aWVkZXIgZWluIFNwaWVsZXIgZ2VuZXJpZXJ0IHd1ZXJkZSBuYW1lbnMKJ1RTaGlydCcgPyBBbiBkZW4ga29lbm50ZSBtYW4gZGFubiBzZWluZW4gVC1TaGlydC1XdW5zY2gtQXVmZHJ1Y2sgc2NoaWtjZW4KKG1pdCBBbmdhYmUgZGVyIFVSTCwgZGllIG5hdHVlcmxpY2ggdm9yaGVyIGluIGRlciBNUEEgenUgbGVzZW4gZ2V3ZXNlbiBzZWluCnNvbGx0ZSk/CkVpbiBmcmV1bmRsaWNoZXIgTWFnaWVyL0VpbiBhcm1lcyBkYWZ1ZXIgYWJiZXN0ZWxsdGVzIE9yZ2FuaXNhdG9yZW4tV3VlcnN0Y2hlbgpkYXJmIGRhbm4gZWluZSBBdXN3ZXJ0dW5nIGRlciBXdWVuc2NoZSB2b3JuZWhtZW4uClNlbGJzdHZlcnN0YWVuZGxpY2ggcG9zdGV0IFRTaGlydCBkYW5uIGVpbmVuIEFydGlrZWwgaW4gZGVyIE1QQSwgYXVmIGRlciBtYW4KZGllIFVSTCBmdWVyIGRpZSBCaWxkZWluc2ljaHQgKGRhcyBCaWxkLCB3ZWxjaGVzIHdvIGRlbm5lIG51IGdlbm9tbWVuIHdlcmRlbgpzb2xsKSBzZWhlbiBrYW5uLiBEYXJhdWZoaW4gZHVlcmZlbiBkYW5uIGFsbGUgSW50ZXJlc3NpZXJ0ZW4gZWluZSBtYWlsIGFuClRzaGlydCBzY2hpY2tlbiwgaW4gZGVyIHNpZSBhbmdlYmVuLCBkYXNzIHNpZSBlaW4gVC1TaGlydCB1bmQgaW4gd2VsY2hlcgpHcm9lc3NlIHNpZSBzZWxiaWdlcyBlcndlcmJlbiB3b2xsZW4uClZlcmJpbmRsaWNoIG5hdHVlcmxpY2guClVuZCBtaXQgZGVtIEhpbndlaXMgTmFtZSBqYS9OYW1lIG5laW4uCgpRSSoqIGhldXRlIG1hbCBrb25zdHJ1a3RpZWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydC1NYWVubmxlaW4/IChDYXR3ZWF6bGUsIDE5LiBNYXIgMjAwMiwgMjM6MzM6MDIpOgp+IyEgcm49UWl0ZXNzIHJ0PTEwMTY1NzA0MDAgcmc9cGFydHkKfiMhIHRpZD0xMDE2NTcwNDAwCkxvY2tlciBibGVpYmVuLiBEZXIgZ3J1ZW5lIEJlcmVpY2ggaXN0IGxhbmdlIHZlcmdpbGJ0LCBhYmVyIGRpZSBBbWJpdGlvbmVuCnNpbmQgaW1tZXIgbm9jaCBkYSA6KQoKQWJ3YXJ0ZW4gOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULVNoaXJ0MiAoTmliZWwsIDIwLiBNYXIgMjAwMiwgMTQ6MTc6MzIpOgp+IyEgcm49TGFyaXNzYSBydD0xMDE2NTUyODI3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNjMxNjcyNgpTbywgaWNoIGhhYiBtYWwgZGllIGJpc2hlciBnZXBvc3RldGVuIFZvcnNjaGxhZWdlIHp1c2FtbWVuZ2V0cmFnZW4uCmh0dHA6Ly93d3cuc2hvd3R2bmV0LmNvbS9ob2JieS93YWxscGFwZXIvaW1nL2x1aXM5LzAzLmpwZwpodHRwOi8vaG9tZS5jMmkubmV0L2FsYmVkby9Sb3lvL1JveW8yNC5qcGcKaHR0cDovL3d3dy5zdHVkLmlmaS51aW8ubm8vfnBlZGVyc3QvaG1fY2FyZHMvaG0xMS5qcGcKaHR0cDovL21lbWJyZXMubHljb3MuZnIvc2thbmxvbi9waWN0dXJlcy9MdWlzX1JPWU8vUm95b01lbW9yeWluV2hpdGUuanBnCmh0dHA6Ly9tZW1icmVzLmx5Y29zLmZyL3NrYW5sb24vcGljdHVyZXMvTHVpc19ST1lPL1JveW9EcmFnb25zbGF5ZXIuanBnCmh0dHA6Ly9ob21lNy5pbmV0LnRlbGUuZGsvam9sc2VuL0xSX1JlZFN3YXRoLmpwZwpodHRwOi8vbWVtYnJlcy5seWNvcy5mci9za2FubG9uL3BpY3R1cmVzL0tlaXRoX1BBUktJTlNPTi9QYXJraW5zb25JY2VEcmFnb24uanAKZwpodHRwOi8vbWVtYnJlcy5seWNvcy5mci9za2FubG9uL3BpY3R1cmVzL0tlaXRoX1BBUktJTlNPTi9QYXJraW5zb25GaXJlU2VhLmpwZwpodHRwOi8vbWVtYnJlcy5seWNvcy5mci9za2FubG9uL3BpY3R1cmVzL0tlaXRoX1BBUktJTlNPTi9QYXJraW5zb25Ob3J0aFdhdGNoLmoKcGcKaHR0cDovL21lbWJyZXMubHljb3MuZnIvc2thbmxvbi9waWN0dXJlcy9HcmFlbWVfQkFTRS9CQVNFRHJhZ29uYXRjb21wdXRlci5qcGcKaHR0cDovL3d3dy5jb21tdW5pdGFzLXNhdHVybmkuZGUvU2F0dXJua3Vuc3QvSW1hZ2VfTGlzdF8zL0dub20vZ25vbS5qcGcKaHR0cDovL3d3dy5jb21tdW5pdGFzLXNhdHVybmkuZGUvU2F0dXJua3Vuc3QvSW1hZ2VfTGlzdF84L1N0b25laGVuZ2UuanBnCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvRy5NRzAyLjEuZ2lmCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvRy5NRzAyLjIuZ2lmCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvR3JlZW50aGluZ01HLmdpZgpodHRwOi8vd3d3LnVsdGltYXRlc3BvcnRzbWVuLmNvbS9vbGllZy9waWNzL21lcm1haWQuanBnCmh0dHA6Ly9nZW9jaXRpZXMuY29tL0FyZWE1MS8xNDU5L21lcm1haWQuanBnCmh0dHA6Ly93d3cuYWdoLmVkdS5wbC9odGRvY3MvZ2lmcy9jYXJ0b29ucy9hbmltZS9tYWRva2EubWVybWFpZC5naWYKaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL2xhZHlfYW50aGVhL3N0dWZmL21lcm1haWRfMS5qcGcKaHR0cDovL3d3dy5hbmd1cmJvZGEuZGUvaHlkcmFfa2wuanBnCgpXZW5uIG5vY2ggbWVociBrb21tZW4gd2VyZCBpY2ggZGllIGViZW5mYWxscyBhdWZuZWhtZW4sIHVuZCBhbnNjaGxpZXNzZW5kCmVpbmVuIE5QQyBsYWRlbiwgYmVpIGRlbSBtYW4gZGFubiBTdGltbWVuIGFiZ2ViZW4ga2Fubi4uLgogIC0gTmliZWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVC1TaGlydDIgKEdyaW1tYm9ybiwgMjAuIE1hciAyMDAyLCAxNDozNzozMSk6Cn4jISBybj1OaWJlbCBydD0xMDE2NjMwMjUyIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNjMxNjcyNgpXYXMgaGFlbHN0IER1IHZvbiBkZXIgSWRlZSBkaWVzZSBnYW56ZW4gQmlsZGVyIGFscyBsaW5rcyBhdWYgZWluZSBXZWJzZWl0ZSB6dQpwYWNrZW4gZGFtaXQgbWFuIHNpY2ggZGllIHZvbiBkYSBhdXMgYW5ndWNrZW4ga2Fubj8gVmllbGxlaWNodCBiaW4gaWNoIGRhIGluCmRlciBNaW5kZXJoZWl0LCBhYmVyIGRpZXNlIGdhbnplbiBaZWlsZW4gZWluemVsbiBpbiBpcmdlbmR3ZWxjaGUgQnJvd3NlciB6dQpwYXN0ZW4gZmluZGUgaWNoIG5pY2h0IHNvIHByaWNrZWxuZC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVC1TaGlydDIgKEFudGhlYSwgMjAuIE1hciAyMDAyLCAxNToxMDozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxNjYzMTQ1MSByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKTWVpbnN0IER1IGV0d2Egc28gaW4gZGVyIEFydD8KaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL2xhZHlfYW50aGVhL21nL21nX3BhcnR5YmlsZGVyLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtU2hpcnQyIChHcmltbWJvcm4sIDIwLiBNYXIgMjAwMiwgMTU6MTI6NDcpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTY2MzM0MzUgcmc9cGFydHkKfiMhIHRpZD0xMDE2MzE2NzI2ClBlcmZla3QsIHNvZ2FyIG1pdCB0aHVtYm5haWxzLiBVbmQgamV0enQgbm9jaCBodWVic2NoIG5lYmVuZWluYW5kZXIsIG5pY2h0CnVudGVyZWluYW5kZXIuIDstKQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBULVNoaXJ0MiAoQW50aGVhLCAyMC4gTWFyIDIwMDIsIDE1OjE3OjU1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE2NjMzNTY3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNjMxNjcyNgpJc3QgZXMgZGVtIEhlcnJuIEdyaW1tYm9ybiBzbyBiZXNzZXIgZ2VmYWVsbGlnPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVC1TaGlydDIgKEdyaW1tYm9ybiwgMjAuIE1hciAyMDAyLCAxNTo1NDowNyk6Cn4jISBybj1BbnRoZWEgcnQ9MTAxNjYzMzg3NSByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKSmVwcC4gUHJpbWEuIEpldHp0IG5vY2ggdXAgdG8gZGF0ZSBoYWx0ZW4sIHVuZCB2aWVsbGVpY2h0IG5vY2gga29uc2lzdGVudApiZW5hbXNlbiBmdWVyIGVpbmUgQWJzdGltbXVuZy4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBULVNoaXJ0MiAoQW50aGVhLCAyMC4gTWFyIDIwMDIsIDE1OjU2OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE2NjM2MDQ3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNjMxNjcyNgpXYW5uIGhhc3QgRHUgenVtIGxldHp0ZW4gTWFsIGF1ZiBkaWUgU2VpdGUgZ2VzY2hhdXQgdW5kIGV2dGwgZGllIGpld2VpbGlnZQpCaWxkdWViZXJzY2hyaWZ0IGJlYWNodGV0PyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVC1TaGlydDIgKEdyaW1tYm9ybiwgMjAuIE1hciAyMDAyLCAxNjo0MzowNik6Cn4jISBybj1BbnRoZWEgcnQ9MTAxNjYzNjE2NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKSWNoIGRhY2h0ZSBlaGVyIGFuICJWb3JzY2hsYWcgMSIsICJWb3JzY2hsYWcgMiIuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFQtU2hpcnQyIChOaWJlbCwgMjAuIE1hciAyMDAyLCAxNjo0NDo1Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxNjYzODk4NiByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKRGFzIGlzdCBzY2hvbiBndXQgc28uIE1hY2h0IGRvY2gga2VpbmVuIFVudGVyc2NoaWVkIG9iIGRhcyBCdWNoc3RhYmVuIG9kZXIKWmFobGVuIHNpbmQuLi4KICAtIE5pYmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBULVNoaXJ0MiAoUGl0ZmFsbCwgMjAuIE1hciAyMDAyLCAxNjo0NToyMCk6Cn4jISBybj1OaWJlbCBydD0xMDE2NjM5MDk2IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNjMxNjcyNgppY2ggYmluIGZ1ZXIgYnVjaHN0YWJlbiwgbWl0IGRlbmVuIGthbm4gbWFuIHdlbmlnc3RlbnMgcmVjaG5lbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVC1TaGlydDIgKFFpdGVzcywgMjAuIE1hciAyMDAyLCAxNzoxMDo0OCk6Cn4jISBybj1OaWJlbCBydD0xMDE2NjMwMjUyIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNjMxNjcyNgphdXNzZXJkZW0gZmVobHQ6Cmh0dHA6Ly9mZXVkYWx3Zy56ZXJvcGFpbi5jb20KUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFQtU2hpcnQyIChDYWRyYWNoLCAyMC4gTWFyIDIwMDIsIDE3OjI0OjEyKToKfiMhIHJuPVBpdGZhbGwgcnQ9MTAxNjYzOTEyMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKS2xhc3NlIFNlaXRlLCBkYSBzY2hhdXQgbWFuIHNpY2ggZGllIE1vdGl2ZSBkb2NoIGdlcm5lIG1hbCBhbi4KVW5kIGdhbnoga2xhcmUgRmF2b3JpdGVuIFJlaWhlbmZvbGdlOiBKIEEgRCBNCgpDYWRyYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogVC1TaGlydDIgKEdyaW1tYm9ybiwgMjAuIE1hciAyMDAyLCAxNzozNDozNCk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMTY2NDE0NTIgcmc9cGFydHkKfiMhIHRpZD0xMDE2MzE2NzI2Ckx1c3RpZywgaWNoIGZpbmRlIGRhc3MgVCBhbGxlcyBhbmRlcmUgc2NobGFlZ3QuIEFiZXIgc29sbHRlIGRpZSBBYnN0aW1tdW5nCm5pY2h0IGF1c3NlcmhhbGIgZGVyIG1wYSBzdGF0dGZpbmRlbj8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVC1TaGlydDIgKEFudGhlYSwgMjAuIE1hciAyMDAyLCAxODowNjoyOCk6Cn4jISBybj1RaXRlc3MgcnQ9MTAxNjY0MDY0OCByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKUWl0ZXNzOiBEaWUgQmlsZGVyIHZvbiBEZWluZXIgU2VpdGUgc2luZCBtaXQgZHJpbi4KRGFkdXJjaCBoYXQgc2ljaCBhYiAobykgZWluZSBsZWljaHRlIEJ1Y2hzdGFiZW52ZXJzY2hpZWJ1bmcgZXJnZWJlbiwgYWJlciBkYQpqYSBub2NoIGtlaW5lIEFic3RpbW11bmcgbGFldWZ0LCBpc3QgZGFzIGphIG5vY2ggZWdhbCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVC1TaGlydDIgKFFpdGVzcywgMjAuIE1hciAyMDAyLCAxODo0NDozMyk6Cn4jISBybj1BbnRoZWEgcnQ9MTAxNjY0Mzk4OCByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKTGllYnN0ZSBBbnRoZWEuCgpJQ0ggU0NIUkVJQkUgTUlDSCBPSE5FIFUhCgoqc2NobHVjaHoqClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFQtU2hpcnQyIChBbnRoZWEsIDIwLiBNYXIgMjAwMiwgMTg6NTI6MjEpOgp+IyEgcm49UWl0ZXNzIHJ0PTEwMTY2NDYyNzMgcmc9cGFydHkKfiMhIHRpZD0xMDE2MzE2NzI2CklzdCBqYSBzY2hvbiBrb3JyaWdpZXJ0LiBUdXQgbWlyIGxlaWQsIGJpbiBoYWx0IGF1Y2ggc2Nob24gZXR3YXMgbXVlZGUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFQtU2hpcnQyIChNb250YW51cywgMjAuIE1hciAyMDAyLCAxOTozODowOSk6Cn4jISBybj1BbnRoZWEgcnQ9MTAxNjY0Njc0MSByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKSWNoIGhhZXR0ZSBhdWNoIG5vY2ggZWluIHBhYXIgKE5pYmVsIGhhdCBkaWUgaW4gZGVyIEhhdXB0cnVicmlrCnZvcmdlc2NobGFnZW5lbiBNT3RpdmUgdmVyZ2Vzc2VuOgoKaHR0cDovL3d3dy5kaXRlcmxpenppLmNvbS93b3JrL29kZHNlbmRzL3dvcnN0L2ltYWdlcy93b3JzdC1wcm94eS5qcGcKaHR0cDovL3d3dy5kaXRlcmxpenppLmNvbS93b3JrL29kZHNlbmRzL3dvcnN0L2ltYWdlcy93b3JzdC1nb2JsaW4uanBnCmh0dHA6Ly93d3cuZGl0ZXJsaXp6aS5jb20vd29yay9vZGRzZW5kcy9lYXJseS9pbWFnZXMvZWFybHktYnJhc3NkcmFnb24uanBnCmh0dHA6Ly9tZW1iZXJzLmFvbC5jb20vUXVpbnRBcnQyL2FsYXRhcjIuanBnCmh0dHA6Ly9tZW1iZXJzLmFvbC5jb20vUXVpbnRBcnQyL2xhbmRyYWtlMi5qcGcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFQtU2hpcnQyIChRaXRlc3MsIDIxLiBNYXIgMjAwMiwgMDE6Mjk6MjUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAxNjY0OTQ4OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTYzMTY3MjYKQWNoIHVlYnJpZ2Vucywgc28gc2Nob2VuIGFsbGUgQmlsZGVyIGF1Y2ggc2luZCwgd2lyIHNvbGx0ZW4gdW5zIHZvciBBdWdlbgpoYWx0ZW4sIGRhc3MgICBkYXMgZWluIFQtU2hpcnQtTW90aXYgZnVlciBlaW4gTUctVC1TaGlydCBzZWluIHNvbGwuIEVpbmlnZQpCaWxkZXIgZWlnbmVuIHNpY2ggc2ljaGVybGljaCBhbHMgUG9zdGVyLCBhYmVyIGF1ZiBlaW5lbSBULVNoaXJ0PwpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBULVNoaXJ0MiAoTW9udGFudXMsIDIxLiBNYXIgMjAwMiwgMDk6MzQ6MDcpOgp+IyEgcm49UWl0ZXNzIHJ0PTEwMTY2NzA1NjUgcmc9cGFydHkKfiMhIHRpZD0xMDE2MzE2NzI2Ck5hamEsIGFiZXIgZWluIFQtU2hpcnQgc29sbHRlIGF1Y2ggbmFjaCB3YXMgYXVzc2VoZW4gdW5kIG5pY2h0IGFuIGRpZQpXYWNoc21hbHN0aWZ0LVZlcnN1Y2hlIGVpbmVyIEtpbmRlcmdhcnRlbmdydXBwZSBlcmlubmVybi4gSGV1dHp1dGFnZSBpc3QgRFRQCnNvIHdlaXQgZW50d2lja2VsdCwgZGFzcyBnbGF1YiBpY2ggbmllbWFuZCBtZWhyIHZvbiBIYW5kIFNjaHJpZnR6dWVnZSB3aWUgIjEwCkphaHJlIE1HIiBkYXp1a3Jha2VsbiBtdXNzLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3RpdnZvcnNjaGxhZWdlIChOaWJlbCwgMjEuIE1hciAyMDAyLCAxMjozODo1Nik6Ck1vdGl2dm9yc2NobGFlZ2UgZnVlciBkaWUgUGFydHkgVC1TaGlydHMgd2VyZGVuIG5vY2ggYmlzIFNhbXN0YWcgTWl0dGFnCmFuZ2Vub21tZW4sIGRhbmFjaCBzdGFydGV0IGRpZSBVbWZyYWdlLiBEZW5uIGRpZSBTaGlydHMgd29sbGVuIGphIHNwYWV0ZXIKYXVjaCBub2NoIGdlZHJ1Y2t0IHdlcmRlbi4uLgpEaWUgYmlzaGVyaWdlbiBCaWxkZXIgZmluZGV0IGlociB1bnRlcjoKaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL2xhZHlfYW50aGVhL21nL21nX3BhcnR5YmlsZGVyLmh0bWwKICAtIE5pYmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnQtc2hpcnQzIChRaXRlc3MsIDIxLiBNYXIgMjAwMiwgMjA6NTM6MzYpOgphbHNvLCBkZXIgdGV4dCB1ZWJlciBkZW0gZ25vbSB3YXIgbnVyIGVpbiBwcm92aXNvcml1bS4uLmRlbiBrYW5uIG1hbgpuYXR1ZXJsaWNoIGFlbmRlcm4uCmhhaGEuCnVuZCBhbnNvbnN0ZW4gZ2luZyBlcyB1bSBkaWUgYmVmbG9ja3VuZyB2b3IgYWxsZW0uIHdlbm4gbWFuIGVpbiB0LXNoaXJ0Cm1laHJmYXJiaWcgYmVmbG9ja3Qga2FubiBkYXMgZ2FueiBzY2hvZW4gdGV1ZXIgd2VyZGVuLiB3ZW5uIG1hbiBlaW4gdC1zaGlydApiZWRydWNrdCBtaXQgZWluZW0gYmlsZCwgZ2lidCBlcyBtZWlzdGVucyBwcm9icyBtaXQgZHVua2xlbiBzdG9mZmVuLi4uIHVuZAphdXNzZXJkZW0gLSBpY2ggcGVyc29lbmxpb2NoIGZpbmRlIHJlY2h0ZWNraWdlIGJpbGRlciBtaXQgZWluZW0gc2ljaHRiYXJlbgpyYW5kLCBhbHNvIG1pdCBhYmdlc2Nobml0dGVuZW4gZmx1ZWdlbG4gemIgKG9id29obCBpY2ggZGFzIG1vdGl2IG1pdCBkZW0KZHJhY2hlbiB1bmQgZGVuIHp3ZXJnZW4ga2xhc3NlIGZpbmRlKS4uLiBhbHNvIGFiZ2VzY2huaXR0ZW5lIHNlaXRlbiBzaW5kCmRvb2YuLi4KKGhpbW1lbCwgZGFzIGJsb2VkZSBsb2NhbCBlY2hvIGlzIHNjaG9uIHdpZWRlciBhdXMsIGVudHNjaHVsZGlndCBiaXR0ZQpldmVudHVlbGxlIHRpcHBmZWhsZXIpCnNvLgpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29ubnRhZ3Nlc3NlbiAoUm9hZHJ1bm5lciwgMjIuIE1hciAyMDAyLCAxODoxMzo0Nyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNjc5MzQyNiByZz1wYXJ0eQp+IyEgdGlkPTEwMTY3OTM0MjYKdGphIC0gd2VubiBkYXMgQnVmZmV0IG5pY2h0IEJyaWVzZWxhbmdtYWVzc2lnIGF1c2ZhZWxsdCBzcHJpY2h0IG5pY2h0cyBkYWdlZ2VuCi4uLgpSUgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHktV1dXLVNlaXRlbiAoWm9vaywgMjQuIE1hciAyMDAyLCAxNjoyMDowOCk6CkRpZSBQYXJ0eS1TZWl0ZW4gc2luZCBudW4gd2llZGVyIGFuZ2VzY2hsb3NzZW47IHZpZWxlbiBEYW5rIGZ1ZXIgRXVlcgpWZXJzdGFlbmRuaXMgZnVlciBkYXMgdGVtcG9yYWVyZSBBYmhhZW5nZW4uIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3RpdmFic3RpbW11bmcgKE5pYmVsLCAyNS4gTWFyIDIwMDIsIDEwOjUzOjE0KToKU28sIG51biBpc3QgZXMgZW5kbGljaCBzb3dlaXQuIEljaCBlbnRzY2h1bGRpZ2UgZGllIFZlcnNwYWV0dW5nLCBhYmVyCmJlc3NlciBzcGFldCBhbHMgbmllLiBFaW46ICJ0ZWlsZSB0c2hpcnQgbWl0IGhpbGZlIiBzb2xsdGUgd2VpdGVzdCBnZWhlbmQKQXVmc2NobHVzcyBkYXJ1ZWJlciBnZWJlbiwgd2llIG51biBmdWVyIGRpZSBlaW56ZWxuZW4gVC1TaGlydCBNb3RpdmUKYWJnZXN0aW1tdCB3ZXJkZW4ga2Fubi4gSWRlZW4vQnVnbWVsZHVuZ2VuIHVuZCBkZXJnbGVpY2hlbiBiaXR0ZSBwZXIKTWFpbCBhbiBtaWNoLiAKClZpZWwgU3Bhc3MuCiAgLSBOaWJlbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW90aXZhYnN0aW1tdW5nIChCYW1iaSwgMjUuIE1hciAyMDAyLCAxMToxMDowNCk6Cn4jISBybj1OaWJlbCBydD0xMDE3MDQ5OTk0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzA0OTk5NApJY2ggYmluIHN0b2x6IGF1ZiBEaWNoLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3RpdmFic3RpbW11bmcgKFpvb2ssIDI1LiBNYXIgMjAwMiwgMTE6MTA6NDkpOgp+IyEgcm49QmFtYmkgcnQ9MTAxNzA1MTAwNCByZz1wYXJ0eQp+IyEgdGlkPTEwMTcwNDk5OTQKV2VpbCBOaWJlbCBzY2huZWxsZXIgZmVydGlnIHdhciBhbHMgRHU/IDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vdGl2YWJzdGltbXVuZyAoQ2F0d2VhemxlLCAyNS4gTWFyIDIwMDIsIDExOjQzOjQ2KToKfiMhIHJuPU5pYmVsIHJ0PTEwMTcwNDk5OTQgcmc9cGFydHkKfiMhIHRpZD0xMDE3MDQ5OTk0CkFlaC4KQWVoamEuIAoKSWNoIGRlbmtlIG5pY2h0LCBkYXMgZXMgU2lubiBtYWNodCBhdXMgZGVyYXJ0IHZpZWxlbiBCaWxkZXJuIGVpbiBnZXNjaGVpdGVzCnJhdXN6dXN1Y2hlbi4gRGllIElkZWUgbWl0IGRlciBnZXNjaGlja3QgYWJnZXdpY2tlbHRlbiBXYWhsIGVpbmVzClRzaGlydG1vdGl2ZXMgKGhpZXIgZXJzdCBtYWwgaGVyemxpY2hlbiBEYW5rIGFuIE5pYmVsIGZ1ZXIgZGVuIEVpc2F0eiksIGlzdAplcmZhaHJ1bmdzZ2VtYWVzcyBsYW5nd2llcmlnIHVuZCBmdWVyIGZhc3QgYWxsZSB1bnp1ZnJpZWRlbnN0ZWxsZW5kLgoKSWNoIGtvbm50ZSBldWNoIGxlaWRlciBuaWNodCByZWNodHplaXRpZyBhdWZoYWx0ZW4sIGRhIGljaCBlcnN0IEZyZWl0YWcgJ21laW4nCkJpbGQgYmVrb21tZW4gaGFiZSwgYWJlciBqZXR6dCBoYWJlIGljaCBlcyB1bmQgZGFydW0gYmxhc2UgaWNoIGRpZSBXYWhsCmhpZXJtaXQgbWFsIGFiLgoKQW5kZXJ3ZWl0aWcgJ2Jlc3RpbW1lJyBpY2ggamV0enQgbWFsIGRhcyBNb3RpdiB2b3IsIGVzIHdpcmQgCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvZHJhY2hlbi5naWYKd2VyZGVuLiBPYiBpY2ggZGFzIGF1ZiBzY2h3YXJ6IG9kZXIgYmVmbG9ja3QgaGlua3JpZWdlIHdlaXNzIGljaCBub2NoIG5pY2h0LgpCZXN0ZWxsdW5nc2Fua3VlbmRpZ3VuZyBtYWNoIGljaCBpbiBLdWVyemUuCgpTb3JyeSBmdWVyIGRpZSBWZXJ3aXJydW5nLApZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTW90aXZhYnN0aW1tdW5nIChBaGFiLCAyNS4gTWFyIDIwMDIsIDExOjQ1OjMyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDE3MDUzMDI2IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzA0OTk5NApuaWVkbGljaCAqZyoKCkFob2kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydCBCZXN0ZWxsdW5nIChDYWRyYWNoLCAyNS4gTWFyIDIwMDIsIDE2OjEyOjA4KToKfiMhIHJuPVRzaGlydCBydD0xMDE3MDUzNzE5IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzA1MzcxOQpFcyBrYW0gbWFsIGRlciBWb3JzY2hsYWcgYXVmLCBlaW5lIGFuZGVyZSBGYXJiZSBhbHMgd2Vpc3MgenUgbmVobWVuLiBNaXQKZGVyc2VsYmVuIERydWNrdGVjaG5payB3aWUgYXVmIHdlaXNzZSBULVNoaXJ0cyBrYW5uIG1hbiBhdWNoIGF1ZiBnZWxiZSwKb3JhbmdlLCBncmF1ZSBvZGVyIHNvbnN0d2llIGdlZmFlcmJ0ZSB0c2hpcnRzIGRydWNrZW4gZGllIG5pY2h0IHp1IGR1bmtlbCBzaW5kCnVuZCBnZXJhZGUgZGllcyBNb3RpdiBoYWx0ZSBpY2ggZGFmdWVyIGRvY2ggZnVlciBzZWhyIGd1dCBnZWVpZ25ldC4gQmVzdGVodCBkYQpnZ2YuIGRpZSBNb2VnbGljaGtlaXQgYXVmIGFuZGVlIEZhcmJlbj8KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVC1TaGlydCBCZXN0ZWxsdW5nIChEZWVwYmx1ZSwgMjUuIE1hciAyMDAyLCAxNjoxMzozOCk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMTcwNjkxMjggcmc9cGFydHkKfiMhIHRpZD0xMDE3MDUzNzE5CkljaCBiaW4gZnVlciBEdW5rZWxibGF1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBULVNoaXJ0IEJlc3RlbGx1bmcgKEJpcmR5LCAyNS4gTWFyIDIwMDIsIDE2OjE2OjA4KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMTcwNjkyMTggcmc9cGFydHkKfiMhIHRpZD0xMDE3MDUzNzE5CkljaCBiaW4gZnVlciBwaW5rLW5lb25ncnVlbi1nZXB1bmt0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBULVNoaXJ0IEJlc3RlbGx1bmcgKEdyaW1tYm9ybiwgMjUuIE1hciAyMDAyLCAxNjoxNzo1Nik6Cn4jISBybj1CaXJkeSBydD0xMDE3MDY5MzY4IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzA1MzcxOQpBbSBiZXN0ZW4gZ2lidCBqZWRlciB6dSBzZWluZW4gVC1TaGlydGFuZ2FiZW4gc2VpbmUgZ2V3dWVuc2NodGUgRmFyYmUgYW4sIENhdCoKd2lyZCBzaWNoZXIgZ2VybmUgZGl2ZXJzZSBOYW1lbiwgR3JvZXNzZW4gdW5kIEZhcmJlbiBhdXNlaW5hbmRlcnNvcnRpZXJlbiwKa2VpbiBQcm9ibGVtLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFQtU2hpcnQgQmVzdGVsbHVuZyAoQ2F0d2VhemxlLCAyNS4gTWFyIDIwMDIsIDE2OjIyOjQ3KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAxNzA2OTEyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMTcwNTM3MTkKTnVzY2hlbCBpY2g/CgpJY2ggaGFldHQgamEgZ2VybiBlaW4gc2Nod2FyemVzIFQtU2hpcnQsIGthbm4gYWJlciBuaWNodCBnYXJhbnRpZXJlbiwgZGFzIGljaApkaWVzZXMgTW90aXYgKGJlZmxvY2t0LCBhbGxlcyBhbmRlcmUgaXN0IEthY2tlKSBhdWYgc2Nod2FyeiBkcmF1ZmtyaWVnZS4gV2VubgpkYXMgbmljaHQga2xhcHB0LCB3aXJkcyBlaW4gd2Vpc3Nlcy4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVC1TaGlydCBCZXN0ZWxsdW5nIChCYWJvb24sIDI1LiBNYXIgMjAwMiwgMjI6MDQ6MTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTcwNzI4NjIgcmc9cGFydHkKfiMhIHRpZD0xMDE3MDUzNzE5CkRhIGtvbW10IGFiZXIgbm9jaCBlaW4gU3BydWNoIGRhYmVpLCBvZGVyPwpTb3dhcyB3aWUgIjEwIEphaHJlIE1HLCBlaW5lIGhlaXNzZSBTYWNoZSIKb2RlciBlaW4gd2VuaWdlciBhYmdlZHJzY2hlbmVyIFNwcnVjaC4KSWNoIGZpbmRlIGplZGVuZmFsbHMsIGRhcyBzaWNoIHNvd2FzIGRhYmVpZ2Vob2VydC4KCkJhYm9vbiAoU3BydWVjaGVrbG9wZmVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULVNoaXJ0IEJlc3RlbGx1bmcgKFNoYXJpYSwgMjYuIE1hciAyMDAyLCAwOTowNTo0Mik6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMTcwNjkxMjggcmc9cGFydHkKfiMhIHRpZD0xMDE3MDUzNzE5CkFsc28gaWNoIGhhYiBtaXIgZGFzIFQtU2hpcnQgd2FzIGVzIGRhbWFscyBpbiBNYXJidXJnIGF1ZiBkZXIgRmV0ZSBnYWIgYXVzCnZlcnNlaGVuIHJvc2EgdmVyZmFlcmJ0IC4uLmhhdCBhdWNoIHdhcyAuLi4uIGhhZXNzbGljaGVzIC4uLiA6KQoKU2hhcmlhLCBsYWV1ZnQgTklDSFQgaW4gbmVtIHJvc2EgTUctU2hpcnQgcnVtIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBULVNoaXJ0IEJlc3RlbGx1bmcgKEJhbWJpLCAyNi4gTWFyIDIwMDIsIDA5OjE1OjM3KToKfiMhIHJuPUJhYm9vbiBydD0xMDE3MDkwMjUyIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzA1MzcxOQoiMTAgSmFocmUgTUcgdW5kIHRyb3R6ZGVtIG5vY2ggbmljaHQgZ2VudWciIG9kZXIgc293YXM/ClZpZWxsZWljaHQga2FubiBtYW4gTmliZWxzIFVtZnJhZ2UtTlBDIGphIGRvY2ggbm9jaCB6dSB3YXMgdmVyd2VuZGVuLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVC1TaGlydCBCZXN0ZWxsdW5nIChDYXR3ZWF6bGUsIDI2LiBNYXIgMjAwMiwgMDk6MTY6MTkpOgp+IyEgcm49QmFtYmkgcnQ9MTAxNzEzMDUzNyByZz1wYXJ0eQp+IyEgdGlkPTEwMTcwNTM3MTkKQml0dGUgbmljaHQsIHdpciBoYWJlbiBhdWNoIHNjaG9uIG5lbiBTcHJ1Y2ggOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW5kIHdhcyBpc3QgbnUgd2ljaHRpZz8gKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjowOTowNSk6Ck1vaW4uCgpEYSB3aWUgenUgRXJ3YXJ0ZW4gZGllIFBhcnR5cnVicmlrIGRvY2ggdW51ZWJlcnNpY2h0bGljaCB2b2xsIGdld29yZGVuIGlzdCwKdmVyc3VjaGUgaWNoIGpldHp0IG1hbCBhbGxlcyByZWxldmFudGUgbmFjaCBoaW50ZW4genUgc29ydGllcmVuLiBBbHNvLCBhbGxlcwp3YXMgd2ljaHRpZyBpc3QsIHNvbGx0ZSBpbiBkZW4gZm9sZ2VuZGVuIEFydGlrZWxuIHN0ZWhlbiwgbmljaHQgd3VuZGVybiwgd2VubgppaHIgaWhyIGRhcyBhbGxlcyBzY2hvbiBrZW5udCwgZGFzIHNpbmQgaGFsdCBlY2h0ZSBEVVBzLiAKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlnYWVzdGUgZ2VzdWNodCEgKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjoxMDozMCk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9MTAxMTYxNTY2NCBvZz1wYXJ0eQoKSGFsbG8gbGllYmUgUGFydHlnYWVuZ2VyLgoKSWNoIHdlaXNzIGljaCBoYWV0dGUgZGllcyBzY2hvbiB2b3IgZXRsaWNoZXIgWmVpdCBzdGFydGVuIHNvbGxlbiwgYWJlciBiZXNzZXIKc3BhZXQgYWxzIG5pZS4gCgpXaWUgaWNoIGphIHNjaG9uIGFuZ2VrdWVuZGlndCBoYWJlLCBnaWJ0IGVzIGFtIFdvY2hlbmVuZGUgbmFjaCBPc3Rlcm4gaW4KTXVlbnN0ZXIgZGllIDEwLUphaHJlcy1QYXJ0eSAoNS4tNy4gQXByaWwpLiBBbHNvIGFscyBlcnN0ZXMgbXVzc3QgZHUKc2FlbXRsaWNoZSBUZXJtaW5lIHp1IGRpZXNlbSBaZWl0cHVua3QgYXVzIGRlbSBLYWxlbmRlciBzdHJlaWNoZW4gdW5kIGR1cmNoCk1HLVBhcnR5IGVyc2V0emVuIDotKQoKV2VpdGVyZSBEZXRhaWxzIHp1ciBQYXJ0eSBnaWJ0IGVzIHdvaGwgZXJzdCBuYWVjaHN0ZSBXb2NoZSwgaWNoIHZlcnN1Y2hlIG1pY2gKZGVuIFJlc3QgZGllc2VyIFdvY2hlIHVtIHJlc3RsaWNoZW4gS2xlaW5rcmFtIHp1IGt1ZW1tZXJuLgoKV29ydW0gZXMgbWlyIGpldHp0IHVuZCBoaWVyIGluIGVyc3RlciBMaW5pZSBnZWh0LCBpc3QgZWluZSBHYWVzdGVsaXN0ZS4gSWNoCndpbGwgbmF0dWVybGljaCBkaWUgMTAtSmFocmVzLVBhcnR5IHp1bSBBbmxhc3MgbmVobWVuLCBtb2VnbGljaHN0IHZpZWxlIGFsdGUKR2VzaWNodGVyIGVpbnp1bGFkZW4uIFp1IHNvIGVpbmVtIEFubGFzcyBzaW5kIGhvZmZudW5nc3ZvbGxlcndlaXNlIHZpZWxlCmJlcmVpdCBzaWNoIG1hbCB3aWVkZXIgYmxpY2tlbiB6dSBsYXNzZW4uIApJY2ggaGF0dGUgZ2Vob2ZmdCwgZXMgd2FlcmUgZXR3YXMgZWluZmFjaGVyIGVpbmUgZ2Flc3RlbGlzdGUgenUgZXJzdGVsbGVuLAphYmVyIGFsbGVpbmUga29tbSBpY2ggZGEgbmljaHQgYmVzb25kZXJzIHdlaXQuIERhcnVtIGJyYXVjaGUgaWNoIGRyaW5nZW5kCkRlaW5lIEhpbGZlIQoKRGllc2VyIEF1ZnJ1ZiBnZWh0IGFsc28gaGF1b3B0c2FlY2hsaWNoIGFuIHZpZWxlIEFsdHNwaWVsZXIsIGFiZXIgYXVjaCBkaWUKanVlbmdlcmVuIHdpc3NlbiBoYWV1ZmlnIG5vY2ggTmFtZW4gdm9uIFNwaWVsZXJuLCBkaWUgc2llIGxhbmdlIG5pY2h0IGdlc2VoZW4KaGFiZW4gdW5kIGRpZSBtYWwgd2llZGVyIGF1ZiBlaW5lciBQYXJ0eSBhdWZ0YXVjaGVuIHNvbGx0ZW4uCgpXZW5uIERVIGFsc28gamVtYW5kZW4ga2VubnN0LCBlaW5lbiBDaGFyYWt0ZXIsIGRlciBkaXIgYXVzIGRlciBWZXJnYW5nZW5oZWl0CmQKV2VubiBEVSBhbHNvIGplbWFuZGVuIGtlbm5zdCwgZWluZW4gQ2hhcmFrdGVyLCBkZXIgZGlyIGF1cyBkZXIgVmVyZ2FuZ2VuaGVpdAplaW5mYWVsbHQsIG9kZXIgYXVjaCBqZW1hbmQsIGRlciBzZWl0IGVpbmlnZXIgWmVpdCBlaW5mYWNoIG5pY2h0IG1laHIgaW0gTXVkCmlzdCwgZGFubiB0ZWlsZSBpaG4gbWlyIG1pdCwgaWNoIHZlcnN1Y2hlIGlobiBkYW5uIHp1IGVycmVpY2hlbiB1bmQKZWluenVsYWRlbi4KClVtIGRpZSBTYWNoZW4genUgdmVyZWluZmFjaGVuLCB1bmQgdW0gbWljaCBuaWNodCBhdWYgJ2FsdGUnIFNwaWVsZXIKYmVzY2hyYWVua2VuIHp1IG11ZXNzZW4sIHNjaGljayBtaXIgZWluZmFjaCBlaW5lIExpc3RlIGFsbGVyIEdhZXN0ZSwgZGllIGR1CmF1ZiBkaWUgMTAtSmFocmVzLVBhcnR5IGVpbmFsZGVuIHdvbGx0ZXN0LiBCaXR0ZSBiZW51dHp0IG5hY2ggTW9lZ2xpY2hrZWl0IG51cgpFcnN0Y2hhcmFrdGVyLU5hbWVuIHVuZCB2ZXJzdWNodCBEdXBsaWthdGUgenUgdmVybWVpZGVuLgoKSWNoIHdlcmRlIGRhcyB3YXMgaWNoIGdlc2FtbWVsdCBoYWJlIGRhbm4gKHdhaHJzY2hlaW5saWNoIEVuZGUpIG5hZWNoc3RlKHIpCldvY2hlIGF1ZiBlaW5lciBXZWJzZWl0ZSB6dXNhbW1lbmZhc3Nlbiwgc28gZGFzIGplZGVyIHNlaGVuIGthbm4sIHdlciBnZWxhZGVuCmlzdCB1bmQgZ2dmLiBkaWUgTGlzdGUgYmVpIHdlaXRlcmVuIE5hY2hsYWR1bmdlbiBlcndlaXRlcm4uIAoKX1dlbm5fIER1IG1pciBlaW5lIEdhZXN0ZWxpc3RlIHNjaGlja3N0LCB1bmQgZHUgZWluZW4gZW1haWwtIG9kZXIgUkwtS29udGFrdAp3ZWlzc3QsIHNvIHRlaWxlIG1pciBkZW4gYml0dGUgYXVjaCBtaXQsIGZhbGxzIGRhcyBFcnJlaWNoZW4gZGVyIFBlcnNvbgpzY2h3aWVyaWcgc2NoZWludCwgaWNoIGt1ZW1tZXIgbWljaCBkYW5uIHNjaG9uIGRhcnVtLiBBdWYgaXJnZW5kZWluZSBBcnQgdW5kCldlaXNlLCB3ZW5ucyBkZW5uIG5pY2h0IGluIE11ZCBpc3QsIHdlcmRlbiB3aXIgc2Nob24gamVkZW4gZmluZGVuLiBGYWxscyBuaWNodApmcmV1IGljaCBtaWNoIHNjaG9uIGF1ZiBkaWUgJ1dhbnRlZCctTGlzdGUgOi0pCgpBbHNvLCBzY2hpY2sgZGVpbmUgR2Flc3RlLUxpc3RlIC0gbW9lZ2xpY2hzdCAtIG1pdCBLb250YWt0aW5mb3JtYXRpb25lbiBwZXIKbWFpbCBhbiBtaWNoIG9kZXIgYmVzc2VyIGFuIGRlbiBTcGllbGVyIFBhcnR5YnV0bGVyLiBJY2ggaGFiIHRhdHNhZWNobGljaCAod2llCmVpZ2VudGxpY2ggaW1tZXIgenUgUGFydHl6ZWl0ZW4gOi0pIG1hbCB3aWVkZXIgZWluZW4gWndlaXRpZSwgZGVyIGRhcyBmdWVyCm1pY2gga29vcmRpbmllcnQgOi0pCgpJbiBkZXIgSG9mZm51bmcsIGRhcyBlcyB2b2xsIHdpcmQsCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbWluYXJ0aGVtZW4gKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjoxMTowNCk6Cn4jISBvbj1Gb29iYXIgb3Q9MTAxMjk1MTk4MSBvZz1wYXJ0eQogTGllYmUgR2VtZWluZGUsCgogZGllIFBhcnR5IHJ1ZWNrdCBpbW1lciBuYWVoZXIsIHVuZCBuYXR1ZXJsaWNoIHNvbGxlbiBhdWNoIGRpZXNlcyBNYWwgd2llZGVyCiBWb3J0cmFlZ2UgYnp3LiBTZW1pbmFyZSBzdGF0dGZpbmRlbi4KCiBJbiBkZW4gUmFldW1saWNoa2VpdGVuIHNpbmQgQ29tcHV0ZXIvQmVhbWVyL1Byb2pla3RvcmVuIHZvcmhhbmRlbiwgc28gZGFzcwogZXMgc2Nob24gbWFsIGtlaW5lIFByb2JsZW1lIG1pdCBkZXIgUHJhZXNlbnRhdGlvbiBnZWJlbiBzb2xsdGUuCgogRXMgc3RlbGx0IHNpY2ggbnVyIHdpZWRlciBlaW5tYWwgZGFzIFByb2JsZW06IFdlbGNoZSBwb3RlbnRpZWxsZW4gVGhlbWVuCiBnaWJ0IGVzLCB1bmQgd2VyIGVya2xhZXJ0IHNpY2ggYmVyZWl0LCBlaW5lbiBob2NoaW50ZXJlc3NhbnRlbiBWb3J0cmFnIHp1CiBoYWx0ZW4/CgogRGEgbWlyIGltIGhvY2hvZmZpemllbGxlbiBQYXJ0eS1PcmdhbmlzYXRpb25za29tbWl0dGVlIG5ldWVyZGluZ3MgZGllCiBTZW1pbmFyLU9yZ2FuaXNhdGlvbiBvYmxpZWd0LCBydWZlIGljaCBoaWVybWl0IGF1ZiwgbW9lZ2xpY2hlIFRoZW1lbiBpbiAKIGRpZXNlbSBGb3J1bSBlaW56dXJlaWNoZW4gdW5kIGRhcnVlYmVyIHp1IGRpc2t1dGllcmVuIHVuZCBhdWNoIG1vZWdsaWNoZQogRG96ZW50ZW4gdm9yenVzY2hsYWdlbi4KCiBVbmQgZGFzIGJlc3RlIGlzdDogSWNoIGZhbmdlIGdsZWljaCBzZWxiZXIgbWl0IGRlbiBWb3JzY2hsYWVnZW4gYW4hCgogRGEgamEgaW4gZWluZW0gZ3Jvc3NlbiBNdWQgaW1tZXIgTWFuZ2VsIGFuIGd1dGVuIE5hY2h3dWNoc21hZ2llcm4gaGVycnNjaHQKIGtvZW5udGUgaWNoIG1pciBndXQgdm9yc3RlbGxlbiwgZGFzcyBqZW1hbmQgbWFsIG9yZGVudGxpY2ggZGllIFdlcmJldHJvbW1lbAogcnVlaHJ0IHVuZCBkYXJsZWd0LCB3aWUgZGllIE1hZ2llcndlcmR1bmcgYWJsYWV1ZnQsIHdlbGNoZSBIaW5kZXJuaXNzZSBlcyBkYQogenUgdW1zY2hpZmZlbiBnaWx0IHVuZCB3YXMgbWFuIGFscyBKdW5nbWFnaWVyIGRhcmYvbmljaHQKIGRhcmYvdHVuIG11c3MvbGFzc2VuIHNvbGwuIEFscyBEb3plbnQga2FlbWUgaGllciBzaWNoZXIgdW5zZXIgYmVsaWVidGVyCiBNdWRnb3R0IFpvb2sgaW4gRnJhZ2UuCgogRmVybmVyIGZhZW5kZSBpY2ggZXMgcmVjaHQgaW50ZXJlc3NhbnQsIHdlbm4gZWluZXIgZGVyIGhpZXIgaW0gTXVkCiB2ZXJ0cmV0ZW5lbiBmYWVoaWdlcmVuIE1ldHpsZXIgZWluZW4gVm9ydHJhZyB1ZWJlciBUZWFta2FtcGZ0YWt0aWtlbiBoYWVsdCwKIGJ6dy4gZGFydWViZXIsIHdpZSB2ZXJzY2hpZWRlbmVuIGdyb2Vzc2VyZW4gTlBDIGFtIGJlc3RlbiBiZWl6dWtvbW1lbiBpc3QuCiBad2FyIGZhZWxsdCBtaXIgbmljaHQgdmllbCBlaW4sIHdhcyBlaW5pZ2VybWFzc2VuIGFuc3BydWNoc3ZvbGwgd2FlcmUsIGFiZXIKIGVzIHdhZXJlIGVpbiBtb2VnbGljaGVyIFNjaHdlcnB1bmt0LiBFaW4gYW5kZXJlciBrb2VubnRlIGRpZSBBbmFseXNlCiB2ZXJzY2hpZWRlbmVyIFRha3Rpa2VuIGJlaSB1bnRlcnNjaGllZGxpY2hlbiBHaWxkZW5rb25zdGVsbGF0aW9uZW4gaW0gVGVhbQogc2Vpbiwgc29mZXJuIGRpZXNlIHVlYmVyIGRhcyBzdHVwaWRlIFZlcnRlaWxlbiB2b24gU2NodXR6aHVlbGxlLy1oYW5kIHVuZAogUnVlY2tlbmRlY2t1bmcgaGluYXVzZ2VoZW4uCgogSWNoIGJpdHRlIHVtIEFucmVndW5nZW4sIEtyaXRpaywgd2VpdGVyIFZvcnNjaGxhZWdlIHVzdywgdW0gRGlza3Vzc2lvbiBoYWx0LgoKIEZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHktRWlubGFkdW5nIChDYXR3ZWF6bGUsIDI2LiBNYXIgMjAwMiwgMTI6MTE6MjYpOgp+IyEgb249Q2F0d2VhemxlIG90PTEwMTM0NzIwODAgb2c9cGFydHkKS3Vja3VjayEKCk1pciBmYWVsbHQgdm9sbGVyIEVudHNldHplbiBhdWYsIGRhcyBpY2ggaW1tZXIgbm9jaCBrZWluZSB3aXJrbGljaCwgcmljaHRpZ2UKZWNodGUgRWlubGFkdW5nIHp1ciAxMC1KYWhyZXMtUGFydHkgZ2VtYWNodCBoYWJlLiBBbHNvLCBoaWVyIGlzdCBzaWUuCgpFcyBpc3QgdGF0c2FlY2hsaWNoIHdhaHIsIGRhcyBNb3JnZW5HcmF1ZW4gd2lyZCAxMCBKYWhyZSBhbHQuIFVuZCB6d2FyIGV4YWt0CmFtIDI0LiBNYWVyeiAyMDAyLiBEaWVzZXMgRXJlaWduaXMgd29sbGVuIHdpciBuYXR1ZXJsaWNoIGdlYnVlaHJlbmQgZmVpZXJuLiAKTGVpZGVyIGlzdCBkZXIgR2VidXJ0c3RhZyBpbiBlaW5lbSBXb2NoZW50YWcgdW5kIGRhbm4gYXVjaCBub2NoIHZvciBPc3Rlcm4sIAphbHNvIGZlaWVybiB3aXIgZGFzIFdvY2hlbmVuZGUgZGFuYWNoLiBOYXR1ZXJsaWNoIHdpZWRlciBtYWwgYW4gTW9yZ2VuR3JhdWVucwpHZWJ1cnRzb3J0LCBpbiBNdWVuc3Rlci4gCgpTbyBsYWRlbiB3aXIgZGVubiBvZmZpemllbGwgenVyCgogICAgICAgICAgICAgICAgICAgMTAgSmFocmVzLUdlYnVydHN0YWdzLVBhcnR5IGRlcyBNb3JnZW5HcmF1ZW4KCQkgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbSAwNi4gQXByaWwgMjAwMiwgMjA6MDAgVWhyCgkJCSAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbSBCYWhuaG9mIFdvbGJlY2sgIGluIE38bnN0ZXIKCkFtIDYuIEFwcmlsIHNlbGJzdCBmaW5kZXQgbmF0dWVybGljaCBudXIgZGVyIFBhcnR5YWJlbmQgc2VsYnN0IHN0YXR0LiBXaWUgCmltbWVyIGlzdCBkZXIgUGFydHl6ZWl0cmF1bSB2b24gRnJlaXRhZyBiaXMgU29ubnRhZywgYWxzbyB2b20gMDUuLTA3LiBBcHJpbC4KClVtIGRlbiBQYXJ0eWFiZW5kIGhlcnVtIGZpbmRlbiB3ZWl0ZXJlIHVlYmxpY2hlIERpbmdlIHN0YXR0LiBHZXBsYW50IHNpbmQgCmVpbiBlcnN0ZXMgVHJlZmZlbiBmdWVyIGFsbGUgRmVybnJlaXNlbmRlbiBhbSBGcmVpdGFnYWJlbmQuIFNhbXN0YWcgZ2lidCBlcyAKZWluZSBSTC1RdWVzdCwgU2VtaW5hcnZvcnRy5GdlIHJ1bmQgdW1zIFRoZW1hIE1vcmdlbkdyYXVlbiwgZWluIFZlcmVpbnMtCnRyZWZmZW4gdm9uIE1vcmdlbkdyYXVlbnMgRm9lcmRlcnZlcmVpbiB1bmQgYWJlbmRzIGRpZSBQYXJ0eS4gU29ubnRhZyAKZ2lidCBlcyB3aWUgaW1tZXIgZWluIGdlbWVpbnNhbWVzIEFic2NoaWVkc2Vzc2VuLiAKCkFsbGUgd2VpdGVyZW4gSW5mb3JtYXRpb25lbiB1bmQgRGV0YWlscyB6dXIgUGFydHkgZ2lidCBlcyBpbiBkZXIgUGFydHktClJ1YnJpayBkZXIgTVBBIGltIE1vcmdlbkdyYXVlbiB1bmQgYXVmIGRlciBQYXJ0eXdlYnNlaXRlCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvaW5kZXguaHRtbC4gSWNoIG1vZWNodGUgYmVzb25kZXJzIGF1ZiAKZGllIFdlYnNlaXRlIGh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvZ2VzdWNodGVfZ2Flc3RlLmh0bWwgCmhpbndlaXNlbi4gV2lyIHN1Y2hlbiB6dW0gemVobmphZWhyaWdlbiBKdWJpbGFldW0gbW9lZ2xpY2hzdCB2aWVsZSBBbHRtdWRkZXIsCmRpZSB2aWVsbGVpY2h0IHNjaG9uIHNlaXQgbGFuZ2VyIFplaXQgbmljaHQgbWVociBpbSBNdWQgd2FyZW4uIEJpdHRlIHNjaGF1IAphdWYgZGllc2VyIFNlaXRlIG5hY2gsIG9iIGR1IGplbWFuZGVuIGtlbm5zdCBkZXIgZG9ydCBnZXN1Y2h0IHdpcmQsIG9iIGR1CnNlbGJlciBub2NoIGplbWFuZGVuIGhpbnp1ZnVlZ2VuIHdpbGxzdCwgb2RlciBvYiBkdSB2aWVsbGVpY2h0IHNvZ2FyIGdlc3VjaHQKd2lyc3QgOikuCgpXZW5uIGR1IHp1ciBQYXJ0eSBrb21tZW4gd2lsbHN0LCBtZWxkZSBkaWNoIGJpdHRlIG1vZWdsaWNoc3Qgc29mb3J0IGF1ZiBkZW0gClBhcnR5YnJldHQsIGRhcyBkdSBhbiBhbGxlbSBTdGFydHB1bmt0ZW4gaW0gTW9yZ2VuR3JhdWVuIGZpbmRlbiBrYW5uc3QsIGFuLgpEb3J0IGZpbmRlc3QgZHUgYXVjaCB3ZWl0ZXJlIEluZm9zIHp1bSBQYXJ0eWJlaXRyYWcsIGRlciB1ZWJyaWdlbnMgYXVjaCAKbW9lZ2xpY2hzdCBzY2huZWxsIGVudHJpY2h0ZXQgd2VyZGVuIHNvbGx0ZS4gCgpJY2ggaG9mZmUgd2lyIHNlaGVuIHVucyBpbSBBcHJpbCBhdWYgZGVyIFBhcnR5LCAKCnlvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKClBTOiBXZW5uIGpldHp0IG5vY2ggd2FzIGZhbHNjaCBpc3QsIGlzc2VzIG1pciBlZ2FsLCBpY2ggZ2VoIHNjaGxhZmVuIDotKQpQU1M6IEphLCBpY2gga3VlbW1lciBtaWNoIG1vcmdlbiB1bSB3ZWl0ZXJlIERldGFpbHMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb3RlbHMgKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjoxMjowMCk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9MTAxNDA1MjYzNyBvZz1wYXJ0eQpNb2luIQoKSGllciBkaWUgdmVyc3Byb2NoZW5lIEhvdGVsbGlzdGU6CgpIb3RlbC1MaXN0ZQoKSG90ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmFzc2UgICAgICAgICAgICAgIFRlbGVmb24KSG90ZWwgVGhpZXItSHVlbHNtYW5uICgqKiopICAgICAgICBNdWVuc3RlcnN0cmFzc2UgMzMgICAgMDI1MDYtODMxMDAKSG90ZWwtR2FybmkgKD8pIEtsb3N0ZXJtYW5uICAgICAgIE11ZW5zdGVyc3RyYXNzZSAyNSAgICAwMjUwNi0yMjM0CkRvcmludCAoKioqKikgICAgICAgICAgICAgICAgICAgICBFbmdlbHN0ci4gMzkgICAgICAgICAwMjUxLTQxNzEwCkliaXMgSG90ZWwgKCoqKSAgICAgICAgICAgICAgICAgICBFbmdlbHN0ci4gNTMgICAgICAgICAwMjUxLTQ4MTMwCktvbHBpbmctVGFndW5nc2hvdGVsICgqKiopICAgICAgICBBZWdpZGlpc3RyYXNzZSAgICAgICAwMjUxLTQ4MTIwCkhvdGVsIE11ZW5uaWNoICgqKiopICAgICAgICAgICAgICAgSGVlcmVtYW5zd2VnIDEzICAgICAgMDI1MS02MTg3MAoKCkRpZSBlcnN0ZW4gYmVpZGVuIEhvdGVscyBzaW5kIGluIFdvbGJlY2sgaW4gZGlyZWt0ZXIgTmFlaGUgZGVzIFBhcnR5cmF1bXMgYWJlcgphdXNzZXJoYWxiIE11ZW5zdGVycy4gVGhpZXItSHVlbHNtYW5uIGhhdCBhdWNoIEFwcGFydG1lbnRzLCBkaWUgdmllbGxlaWNodCBmdWVyIApFbHRlcm4gaW50ZXJlc3NhbnQgc2luZCAod2VubiBtYW4gc2ljaCB6dXNhbW1lbnR1dCkgdW5kIGVpbmVuIHJlbGF0aXYgCmd1ZW5zdGlnZW4gUGFydG5lci1Xb2NoZW5lbmR0YXJpZiBpbmtsdXNpdmUgZWluZW0gd2VzdGZhZWxpc2NoZW4gRXNzZW4uIApLbG9zdGVybWFubiBzb2xsIGd1ZW5zdGlnZXIsIGFiZXIgZ3V0IHNlaW4uCgpEb3JpbnQgdW5kIEliaXMgc2luZCBkaXJla3QgYW0gQmFobmhvZiwgd29iZWkgSWJpcyByZWNodCBuZXUgdW5kIGZ1bmt0aW9uZWxsIAppc3QsIERvcmludCBkYWZ1ZXIgdGV1ZXIuCgpEYXMgS29scGluZy1UYWd1bmdzaG90ZWwgaXN0IGF1Y2ggaW0gWmVudHJ1bSwgZGFzIGhhYiBpY2ggZXh0cmEgbWl0IGF1ZmdlZnVlaHJ0IAppc3QsIGRhIGVzIGluIGRlciBOYWVoZSBkZXMgRnJlaXRhZWdsaWNoZW4gVHJlZmZwdW5rdGVzIGlzdCAoQWFzZWUpIHVuZCB3ZWlsIG1hbiAKaW4gZGVtIEhvdGVsIHVlYmVyIHd3dy5ocnMuZGUgZnVlciBkZW4gWmVpdHJhdW0gZ3VlbnN0aWcgYnVjaGVuIGthbm4uCgpIb3RlbCBNdWVubmljaCBsaWVndCBpbiBHcmVtbWVuZG9yZiwgZWluZW0gTmFjaGJhcm9ydCB2b24gV29sYmVjaywgdW5kIGlzdCAKbmljaHQgd2lya2xpY2ggZWluZSBBbHRlcm5hdGl2ZSwgR3JlbW1lbmRvcmYgbGllZ3QgaW1tZXIgbm9jaCBhdXNzZXJoYWxiIHZvbiAKTXVlbnN0ZXIuIEFsbGVyZGluZ3Mga2FubiBtYW4gaW4gZGVtIEhvdGVsIEZhaHJyYWVkZXIgbWlldGVuIHVuZCBkYW1pdCAKdmllbGxlaWNodCBmbG90dCB6dXIgUGFydHkgb2RlciB6dXIgSW5uZW5zdGFkdCBmYWhyZW4uIAoKSW5zZ2VzYW1tdCBrYW5uIHVuZCBtb2VjaHRlIGljaCBrZWluZSBHYXJhbnRpZW4gZ2ViZW4sIGZ1ZXIgZGFzIHdhcyBpY2ggaGllciAKc2NocmVpYmUuIERpZSBnbGVpY2hlbiBJbmZvcm1hdGlvbmVuIHN0ZWhlbiBhdWNoIHdpZWRlciBhdWYgZGVyIFdlYnNlaXRlCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvaW5kZXguaHRtbCAuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKUFM6IEJpc3NjaGVuIHZlcnJ1dHNjaHQsIGFiZXIgZWdhbCAuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FudGVkISAoQ2F0d2VhemxlLCAyNi4gTWFyIDIwMDIsIDEyOjE0OjE3KToKfiMhIG9uPUNhdHdlYXpsZSBvdD0xMDE1ODAxMjQxIG9nPXBhcnR5CgpBY2hqYSwgaGFiIGljaCBldWNoIGVpZ2VudGxpY2ggc2Nob24gYXVmIGRpZSBPbGRpZXMtV2FudGVkLUxpc3RlIGhpbmdld2llc2VuPwpodHRwOi8vbWcubXVkLmRlL1BhcnR5L1BhcnR5LjE5L2dlc3VjaHRlX2dhZXN0ZS5odG1sIGlzdCBkaWUgV2Vic2VpdGUuCkRhcmF1ZiBiZWZpbmRlbiBzaWNoIG1pdHRsZXJ3ZWlsZSAxNTAgTGV1dGUgdm9uIGRlbmVuIDE0TGV1dGUgc2ljaGVyIGtvbW1lbgp1bmQgaW1tZXJoaW4gMjQgc2ljaCBnZW1lbGRldCBoYWJlbiwgYWJlciBub2NoIG5pY2h0IHNpY2hlciBzaW5kLCBvYiBzaWUKa29tbWVuLiAKTnVyIDkgaGFiZW4gc2ljaGVyIGFiZ2VzYWd0LiBEYSBibGVpYnQgdmllbCBSYXVtIGZ1ZXIgZGllIHJlc3RsaWNoZW4uCgpBbHNvIGJpdHRlLCBzZWh0IEV1Y2ggZGllIFNlaXRlIGFuLCB1bmQgc2NoYXV0IG9iIGlociBub2NoIGlyZ2VuZHdpZSBLb250YWt0Cnp1IGVpbmVtIGRlciBnZXN1Y2h0ZW4gaGFidC4gRGllIExpc3RlIHdpcmQgcXVhc2kgc3RhZW5kaWcgZXJ3ZWl0ZXJ0IHVuZAp2ZXJsYWVnZXJ0LCBzbyBkYXMgZXMgc2ljaCBsb2hudCBqZWRlcnplaXQgYXVjaCBlaW4gendlaXRlcyBvZGVyIGRyaXR0ZXMgbWFsCmRyYXVmenVzZWhlbi4KCk5vY2ggYmxlaWJ0IFplaXQsIGFsc28gZ2VidCBFdWNoIG1hbCBlaW4gYmlzc2NoZW4gTXVlaGUgOi0pCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFiZW5ka2Fzc2UgKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjoxNzozNyk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9MTAxNjc5MzA0NCBvZz1wYXJ0eQpNb2luIQoKSWNoIHdhciBpbiBkZXIgTGFnZSBlaW5lIGF1c3JlaWNoZW5kIGR5bmFtaXNjaGUgQmVzdGVsbHVuZyBmdWVyIGRhcyBQYXJ0eWVzc2VuCnp1IG9yZ2FuaWVyZW4uIERhbWl0IGthbm4gaWNoIG51biBndXRlbiBIZXJ6ZW5zIHp1Z2ViZW4sIGRhc3MgaWNoIG5hdHVlcmxpY2gKYXVjaCBlaW5lIEFiZW5ka2Fzc2UgbWFjaGVuIHdlcmRlLgoKRGVyIFByZWlzIGZ1ZXIgZGllIEFiZW5ka2Fzc2UgYmV0cmFlZ3QgdHJvdHpkZW0gMTggRXVyby4gRGFzIHNvbGwgZXVjaCBiaXR0ZQpuaWNodCBkYXJhbiBoaW5kZXJuIGV1Y2ggYXVmIGRlbSBQYXJ0eWJyZXR0IGFuenVtZWxkZW4gdW5kIGF1Y2ggamV0enQgc2Nob24genUKdWViZXJ3ZWlzZW4uIExldHp0ZXIgVWViZXJ3ZWlzdW5nc3Rlcm1pbiBzb2xsdGUgZGFmdWVyIGV0d2EgZWluZSBXb2NoZSB2b3JoZXIKc2VpbiwgYWxzbyAtIG1vZHVsbyBPc3Rlcm4gLSBkZXIgMjguIE1hZXJ6LgoKQWJlbmRrYXNzZW5iZXphaGxlciBtb2VnZW4gZGllcyBfYml0dGVfIF9iaXR0ZV8gZ2FueiBkcmluZ2VuZCBhdWYgZGVtIGVyc3RlbgpUcmVmZmVuIEZyZWl0YWcgYWJlbmQgdHVuLiBJY2ggZXJ3YXJ0ZSB2b24gRXVjaCwgZGFzIGlociBtaWNoIG1pdCBHZWxkCnp1d2VyZnQuIEluc3RhbnRhbiwgc29iYWxkIGlociBhdWZ0YXVjaHQuIE51ciBzbyBrYW5uIGljaCBhbSBuYWVjaHN0ZW4gVGFnCmVpbmUgZXhha3RlIFphaGwgYW4gZGVuIExpZWZlcmFudGVuIHdlaXRlcmdlYmVuIHVuZCBudXIgc28gYmVrb21tc3QgRHUgc292aWVsCnp1IGVzc2VuLCBkYXMgZHUgYXVjaCBzYXR0IHdpcnN0IDopCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbm50YWdzZXNzZW4gKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjoxNzo0NSk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9MTAxNjc5MzQyNiBvZz1wYXJ0eQpOb2NobWFsIE1vaW4hCgpTbyB3aWUgZXMgYXVzc2llaHQsIGhhYmVuIHNpY2ggZGllIG1laXN0ZW4gU3RpbW1lbiBmdWVyIGVpbiAxMC1FdXJvLUJ1ZmZldApmdWVyIGRhcyBTb25udGFnc2Vzc2VuIGVudHNjaGllZGVuLiBEYXMgcGFzc3QgYXVjaCBkZW0gUnVzdGljdXMtQ2hlZiBiZXNzZXIsCnVuZCBmdWVyIGVpbiB3ZXN0ZmFlbGlzY2hlcyBFc3NlbiBpc3QgZXMgc293aWVzbyBuaWNodCBkaWUgWmVpdC4KCgpJY2ggaG9mZmUgZGFzIHN0ZWxsdCBkZW4gR3Jvc3N0ZWlsIHZvbiBldWNoIHp1ZnJpZWRlbi4gRmFsbHMgZHUgdW50ZXIgZGllc2VuClVtc3RhZW5kZW4gYXVmIGdhciBrZWluZW4gRmFsbCB6dW0gU29ubnRhZ3NidWZmZXQga29tbWVuIHdpbGxzdCwgYWVuZGVyIGJpdHRlCmRlaW5lIEFubWVsZHVuZyBhdWYgZGVtIFBhcnR5YnJldHQgZGVtZW50c3ByZWNoZW5kLCBkYSBpY2ggZGllIGRvcnQKYW5nZW1lbGRldGUgWmFobCBiZWltIFJ1c3RpY3VzIGFuZ2ViZW4gd2VyZGUuIAoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdiZXNjaHJlaWJ1bmdlbiAoQ2F0d2VhemxlLCAyNi4gTWFyIDIwMDIsIDEyOjE3OjU1KToKfiMhIG9uPUNhdHdlYXpsZSBvdD0xMDE2OTIxNDc4IG9nPXBhcnR5Ck1vaW4hCgpBZWgsIG5hYmVuZCEKSWNoIGhhYiBtaWNoIGVuZGxpY2ggYXVmZ2VyYWZmdCB1bmQgZGllIFdlZ2Jlc2NocmVpYnVuZ2VuIGZlcnRpZyBnZW1hY2h0LiAKRGEgZGllc2UgemFobHJlaWNoIHVuZCBsYW5nIHNpbmQsIHdpbGwgaWNoIHNpZSBuaWNodCBoaWVyIHZlcm9lZmZlbnRsaWNoZW4sCnNvbmRlcm4gaGFiZSBzaWUgYXVmIGVpbmUgZWlnZW5lbiBXZWJzZWl0ZSAKaHR0cDovL21nLm11ZC5kZS9QYXJ0eS9QYXJ0eS4xOS93ZWdiZXNjaHJlaWJ1bmcuaHRtbApnZXNldHp0LiAKCkljaCBob2ZmZSBzaWUgc2luZCB2ZXJzdGFlbmRsaWNoLCBhYmVyIGlyZ2VuZHdlIHZlcmZhZWhydCBzaWNoIHNvd2llc28gaW1tZXIKOikgV2V0dGVuIGR1ZXJmZW4gZ2VybmUgYW5nZW5vbW1lbiB3ZXJkZW4gOikKRmFsbHMgamVtYW5kIHBhcnRvdXQgbWl0IGRlbiBCZXNjaHJlaWJ1bmdlbiBuaWNodCBrbGFya29tbXQsIG1vZWdlIGVyIHNpY2gKZWluZmFjaCBub2NobWFsIGJlaSBtaXIgbWVsZGVuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpULVNoaXJ0IEJlc3RlbGx1bmcgKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjoxODoyMyk6Cn4jISBvbj1Uc2hpcnQgb3Q9MTAxNzA1MzcxOSBvZz1wYXJ0eQpNb2luLgoKSmEsIGlzdCByaWNodGlnLCBpY2ggd2Vpc3MsIGVzIGlzdCBpcnJlIGtuYXBwIGZ1ZXIgZWluZSBULVNoaXJ0LUJlc3RlbGx1bmcsCm5pY2h0c2Rlc3RvdHJvdHogZ2VodHMgamV0enQgZGFtaXQgbG9zLiAKCk1vdGl2IGZ1ZXIgZGFzIFRzaGlydCB3aXJkIHNlaW46Cmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMTkvZHJhY2hlbi5naWYKb2RlciBpbiBldHdhcyBhYmdld2FuZGVsdGVyIEZvcm0uIAoKSWNoIF9tb2VjaHRlXyBkYXMgTW90aXYgZ2VybmUgYXVmIHNjaHdhcnogZHJ1Y2tlbiwgYmluIGFiZXIgbm9jaCBuaWNodCBzaWNoZXIKb2IgZGFzIGtsYXBwdC4gTW9tZW50YW4gd2lyZHMgd2FocnNjaGVpbmxpY2hlciB3ZWlzcy4gVW0gZGFzIGRlZmluaXRpdiBzYWdlbgp6dSBrb2VubmVuLCBmZWhsZW4gbWlyIGFiZXIgbm9jaCBlaW4gcGFhciBJbmZvcy4gCgpXZW5uIGR1IGVpbiBUc2hpcnQgaGFiZW4gbW9lY2h0ZXN0IGRhbm4gc2NoaWNrIGFsc28gYml0dGUgZWluZSBtYWlsIGFuIGRlbgpTcGllbGVyICdUc2hpcnQnIG1pdCBmb2xnZW5kZW0gSW5oYWx0OgoKTmFtZSAoV2VubiBkdSBlaW5lbiBOYW1lbiBhbmdpYnN0LCBlcnNjaGVpbnQgZGVyIGF1Y2ggYXVmIGRlbSBTaGlydCkKR3JvZXNzZSAoRGVpbmUgV3Vuc2NoZ3JvZXNzZSB2b24gUyBiaXMgWFhMKQpULXNoaXJ0IEZhcmJlIChzY2h3YXJ6ICx3ZWlzcywgZWdhbCkKCkRlciBQcmVpcyBmdWVycyBTaGlydCB3aXJkIGJlaSBldHdhIDEyIEV1cm8gbGllZ2VuLiBBdWNoIGRhIGhhYiBpY2ggbm9jaCBrZWluZQpmZXN0ZSBadXNhZ2UsIGthbm4gc2VpbiwgZGFzIGVzIGF1ZiB3ZWlzcyBiaWxsaWdlciB3aXJkLiBSZWNobmV0IGhhbHQgbWFsIG1pdAoxMiBFdXJvLgoKSWNoIG5laG1lIEJlc3RlbGx1bmdlbiBhbiwgYmlzIGVpbnNjaGxpZXNzbGljaCBEaWVuc3RhZywgZGVuIDIuIEFwcmlsLiBEYW5hY2gKaXN0IGRlZmluaXRpdiBTY2hsdXNzLgoKWW91cnMgdHJ1bHksCiAgICBDYXR3ZWF6bGUsIEFlaCwgVHNoaXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBULVNoaXJ0IEJlc3RlbGx1bmcgKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjoxODo1MCk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9MTAxNzA3Mjg2MiBvZz1wYXJ0eQp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTcwNjk3Njcgcmc9cGFydHkKfiMhIHRpZD0xMDE3MDUzNzE5CkFjaHNvIG5vY2ggZWlucy4KCldlbm4gaWhyIGluIGRpZSBiZXN0ZWxsdW5nc21haWwgYW4gVHNoaXJ0IGFscyBGYXJiZSAnc2Nod2FyeicgYW5nZWJ0LCBkYW5uIGdlaAppY2ggZGF2b24gYXVzLCBkYXMgaWhyIF9udXJfIHNjaHdhcnogaGFiZW4gd29sbHQsIHVuZCBmYWxscyBpY2ggd2Vpc3NlIG1hY2hlbgptdXNzLCBpaHIga2VpbnMgaGFiZW4gd29sbHQuIERlc2dsZWljaGVuIHVtZ2VrZWhydC4KCldlbm4gZXMgZXVjaCBlZ2FsIGlzdCwgd2VsY2hlIGZhcmJlIGRhcyB0c2hpcnQgaGF0LCBkYW5uIHNvbGx0ZXQgaWhyIGF1Y2gKJ2VnYWwnIGFuZ2ViZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5bXVzaWsgKENhdHdlYXpsZSwgMjYuIE1hciAyMDAyLCAxMjoyNDo1MSk6CgpNb2luIQoKV2llIGljaCBiZXN0aW1tdCBzY2hvbiBtYWwgZXJ3YWVobnQgaGFiZSwgZ2lidHMgYW0gUGFydHlhYmVuZCBhdWNoIGVpbgpzY2hudWNrZWxpZ2VzIHVuZCBuaWNodCBtZWhyIGJlc29uZGVycyBrbGVpbmVzIE11c2lremltbWVyIG1pdCBNdXNpay1IaWdodGVjaAppbSBXZXJ0IHZvbiBtZWhyZXJlbiBaZWhudGF1c2VuZCBFdXJvLiBEYXMgd29sbGVuIHdpciBuYXR1ZXJsaWNoIGdlaGFldWZ0CnZlcndlbmRlbi4KCldlbm4gaWhyIGFsc28gYXVmIGRlciBQYXJ0eSBNdWNrZSBtYWNoZW4gd29sbHQsIGRhbm4gbXVlc3N0IGlociBldXJlCk11c2lrd3VlbnNjaGUgbWl0YnJpbmdlbi4gRGllIGhhYmVuIGRhIHp3YXIgZXRsaWNoZXMgYW4gTXVzaWsgYXVmIGlocmVyClBsYXR0ZSwgYWJlciBkYXMgaXN0IG1laXN0IG5ldW1vZGlzY2hlciBQb3BzY2huaWNrc2NobmFjaywgdW5kIHVuc2VyIHRlaWx3ZWlzZQpkb2NoIGdlc2V0enRlcmVzIEFsdGVyIGZvcmRlcnQgbmFjaCBhbmRlcmVyIEJlc2NoYWxsdW5nLiAKCkljaCB3ZXJkZSBtZWluZW4gV2VjaHNsZXIgd29obCBhdWNoIHdpZWRlciBsZWVycmFldW1lbiB1bmQgZWluaWdlcyBtaXRicmluZ2VuLApqZWRlIHdlaXRlcmUgQ0QgaXN0IGFiZXIgaW1tZXIgd3VlbnNjaGVuc3dlcnQuIEljaCBrb2VubnRlIG1pciB2b3JzdGVsbGVuLCBkYXMKc2ljaCBzb3dpZXNvIHdpZWRlciBqZW1hbmQgZGVuIERKLVBvc3RlbiBhbiBkZW4gTmFnZWwgcmVpc3NlbiB3aWxsICgqbmFjaCBCCnNjaGllbGVuZCo/CgpBY2hzbywgZmFsbHMgc2ljaCBqZW1hbmQgZXJpbm5lcm4gc29sbHRlLCBkYXMgaWNoIGVyd2FlaG50IGhhYmUsIGRhcyBtYW4gYXVjaApNUDMtQ0RzIG1pdGJyaW5nZW4ga29lbm5lLCBudW4gZGllIEluZm8gaXN0IGZhbHNjaC4gRGllIG11ZXNzdGUgbWFuIHZvcmhlciBhdWYKZGllIFBsYXR0ZSBrb3BpZXJlbiB1bmQgZGFzIGdlaHQgd2FlaHJlbmQgZGVzIEFiZW5kcyBuaWNodCBtZWhyLiBadXIgQmVudXR6dW5nCnNpbmQgZGEgYWxzbyBudXIgZGllIHZvcmhhbmRlbmVuIE1QMy1TdHVlY2tlIHVuZCB6d2VpIENELVBsYXllciB6dW0Kc2VsYmVyYXVmbGVnZW4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbWluYXItVGVpbG5haG1lIChDYXR3ZWF6bGUsIDI2LiBNYXIgMjAwMiwgMTI6MzA6MzEpOgpNb2luLgoKSWNoIGJpbiBtb21lbnRhbiB1ZWJlcndhZWx0aWd0IHZvbiBkZXIgZ3Jvc3NlbiBBbnphaGwgYW4gU2VtaW5hcnRlaWxuZWhtZXJuLAplcyBoYWJlbiBzaWNoIGJlcmVpdHMgODcgZGFmdWVyIGFuZ2VtZWxkZXQuIERhcyBzcHJlbmd0IG1laW5lbiBSYXVtLgoKSWNoIHdpbGwgZXVjaCBuaWNodCBhdXNsYWRlbiwgaWNoIGVya2xhZXJlIEV1Y2ggbnVyIG1hbCBkZW4gU3RhdHVzLiBJY2ggaGFiCm1pciBkZW4gUmF1bSB1bmQgZGllIEFuemFobCBkZXIgdm9yaGFuZGVuZW4gU3R1ZWhsZSBhbSBXRSBub2NobWFsIGFuZ2VzZWhlbgp1bmQgc2FnZSBFdWNoLCBkYXMgZGEgYmVzdHVobHQgbmljaHQgbWVociBhbHMgNjAgTGV1dGUgcmVpbnBhc3Nlbi4gRGllCkJldHJlaWJlciBkYSBoYWJlbiB6d2FyIGJlaGF1cHRldCwgZGFzIG1pdCBTaXR6ZW4gYXVmIGRlbiBFY2tiYW5rZW4gZXRjZXRjIGRhCmF1Y2ggODAgb2RlciBtZWhyIHJlaW5wYXNzZW4gd3VlcmRlbiwgYWJlciBkZW0gZ2xhdWJlIGljaCBuaWNodCBzbyBnYW56LgoKQWxzbywgaWhyIHNlaWQgaW1tZXIgbm9jaCBhbGxlIHNlaHIgaGVyemxpY2ggenVtIFNlbWluYXIgZWluZ2VsYWRlbiwgYWJlcgpiaXR0ZSByZWNobmV0IGRhbWl0LCBkYXNzIGVzIGJlaSB6dSBob2hlciBCZXRlaWxpZ3VuZyBuaWNodCBiZXNvbmRlcnMKZ2VtdWV0bGljaCB3ZXJkZW4ga29lbm50ZS4gCgpJY2ggZ2xhdWJlIGRhcyBpY2ggaW4gZGVyIGt1cnplbiBaZWl0IGF1Y2gga2VpbmUgQWx0ZXJuYXRpdmUgbWVociBhdWZ0dW4ga2Fubgp1bmQgZWlnZW50bGljaCBhdWNoIGdhciBuaWNodCB3aWxsLgoKTm9jaCBlaW4gS3VyemtvbW1lbnRhciB6dSBkZW4gVm9ydHJhZ2VuZGVuLiBKYSwgZXMgZ2lidCBkb3J0IGVpbmVuCkNvbXB1dGVyYW5zY2hsdXNzIGZ1ZXIgZGVuIEJlYW1lciwgYWJlciBkZXIgaGFlbmd0IGFuIG5lbSAxNW0gbGFuZ2VuIEthYmVsLgpGYWxscyBpaHIgbmUgUFBQIG1hY2hlbiB3b2xsdCwgcmVjaG5ldCBkYW1pdCwgZGFzIGVzIHNjaGllZmdlaGVuIGtvZW5udGUgdW5kCmJlcmVpdGV0IGV1Y2ggZGFyYXVmIHZvci4gWnVtaW5kZXN0IHNvbGx0ZXQgaWhyIG51ciBuZW4gRmV0dC1Gb250IGJlbnV0emVuIDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZmcgTXVlbnN0ZXItIEhhbGxlIChDYXNzYW5kcmEsIDI2LiBNYXIgMjAwMiwgMTI6MzQ6NTEpOgpXaWUgZGVyIFRpdGVsIHNjaG9uIHNhZ3QsIHN1Y2hlIGljaCBlaW5lIE1pdGZhaHJnZWxlZ2VuaGVpdCB2b24gZGVyIFBhcnR5IGF1cwp6dXJ1ZWNrIGluIHJpY2h0cnVuZyBIYWxsZSAoU2FhbGUgKS4gTGVpcHppZyB1bmQgZGllIEdlZ2VuZCB3YWVyIGF1Y2ggc2Nob24KbWFsIG5lbiBhbmZhbmcuIApXZW5uIG1pY2ggamVtYW5kIG1pdG5laG1lbiBrb2VubnRlIHd1ZXJkIGljaCBtaWNoIHVlYmVyIG5lIG1haWwgZnJldWVuLgpDYXNzYW5kcmEsIGtlaW5lIGx1c3QgYXVmIGJhaG5mYWhyZW4gaGFiZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FudGVkISAoTXVwZmVsLCAyNy4gTWFyIDIwMDIsIDAwOjQ3OjExKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDE3MTQxMjU3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzE0MTI1NwpIYWJlIGljaC4gVW5kIG1pdCBTY2hyZWNrZW4gZmVzdGdlc3RlbGx0LCBkYXNzIFB1bWEgZGEgZmVobHQuIFNvd2FzLi4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYW50ZWQhIChNb250YW51cywgMjcuIE1hciAyMDAyLCAxODoyMDoyNyk6Cn4jISBybj1NdXBmZWwgcnQ9MTAxNzE4NjQzMSByZz1wYXJ0eQp+IyEgdGlkPTEwMTcxNDEyNTcKUHVtYSBpc3QgenUgZGVtIFplaXRwdW5rdCB3YWhyc2NoZWlubGljaCBncmFkIGJlaW0gVW16aWVoZW4uIFVuZCB3ZW5uIGljaCBpaG4KcmljaHRpZyB2ZXJzdGFuZGVuIGhhYiwgaGF0IGVyIGVoIGtlaW5lIEx1c3QuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWlzc2luZyAuLi4gKEtvYmF5YXNoaSwgMjcuIE1hciAyMDAyLCAxODozMDowNyk6CkhpLAoKd3VlcmRlIGF1ZiBnZXJuZSBkYWJlaSBzZWluLCB3YXIgamEgYXVjaCBzY2hvbiBiZWkgZGVyIGVyc3RlbiBkYWJlaSwgYWJlcgpsZWlkZXIga2FubiBpY2ggbmljaHQsIGlzdCBoYWx0IHdlaXNzZXIgU29ubnRhZyB1bmQgbWVpbiBOZWZmZSBmZWllcnQKRXJzdGtvbW11bmlvbiAuLi4gdGphIGR1bW0gZ2VsYXVmZW4gZGFzIDotKAoKS29iYXlhc2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbnVkZGVsZHJhY2hlbiBpbSBBbGx3ZXR0ZXJ6b28uLi4gKEFuY2FsYWdvbiwgIDEuIEFwciAyMDAyLCAyMToxNzo0OSk6ClRhZ2NoZW5rbnVkZGVscyEKRmFsbHMgamVtYW5kIEludGVyZXNzZSBoYXQ6CkljaCBiaW4gYW0gc2Ftc3RhZyBiZXZvciBpY2ggbmFjaCBXb2xiZWNrIGtvbW1lIG1pdHNhbXQgZmFtaWxpZSBpbSBab28gaW4gTVMuCnNvbGx0ZSBqZW1hbmQgaW50ZXJlc3NlIGhhYmVuIGtvZW5udGUgbWFuIHNpY2ggamEgZGEgdHJlZmZlbi4uLi4KTnVyIG1hbCBzby4uLgoKVHNjaHVlc3NjaGVua251ZGRlbHMsCgpBbmNhbGFnb24KKysKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1bmtpZXMgKEZyZWRlcmljaywgIDIuIEFwciAyMDAyLCAxMDo0NToyMik6ClNwaWVsa2luZGVyIHdpZSB3aXIgbXVlc3NlbiBpbW1lciBhbGxlcyBoYWJlbiwgc28gYXVjaCBGdW5rZ2VyYWV0ZS4gRmFsbHMKd2VyIHNvIGVpbmVuIFJhbXNjaCB6dWhhdXMgaGF0IHVuZCBybCBydWZlIG5pY2h0IGJlaGVycnNjaHQsIGRlciBrYW5uCmRpZSBtYWwgYWJzdGF1YmVuLCBtaXQgQmF0dGVyaWVuIGF1c3N0YXR0ZW4gdW5kIG1pdGJyaW5nZW4sIHdpciBuZWhtZW4KdW5zZXJlIDQzMyBNSHotRGluZ2VyIGF1ZiBqZWRlbiBGYWxsIG1pdCwgZGEgd2lyIG1pdCAyIEF1dG9zIHVudGVyd2VncwpzaW5kLgoKbGllYmUgZ3J1ZXNzZSwKRnJlZGVyaWNrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVzdGVsbC0gdW5kIFVlYmVyd2Vpc3VuZ3NlbmRlIChDYXR3ZWF6bGUsICAyLiBBcHIgMjAwMiwgMTQ6NTU6NDgpOgpNb2luIQoKSWNoIGhhYiBPc3Rlcm4gZW5kbGljaCB1ZWJlcmxlYnQgdW5kIGJpbiB3aWVkZXIgZGEuCgpJY2ggaGFiIGdlcmFkZSBkaWUgbGV0enRlIFQtU2hpcnQtQmVzdGVsbHVuZyBhdWZnZW5vbW1lbiwgbnUgaXNzCkJlc3RlbGxzY2hsdXNzLCB3ZWl0ZXJlIGthbm4gaWNoIG5pY2h0IGFubmVobWVuLiBFdnRsLiBtYWNoIGljaCBlaW4gcGFhcgpibGluZGUgbmFja3RlLgoKQml0dGUgdWViZXJ3ZWlzdCBhdWNoIGFiIGpldHp0IGtlaW4gR2VsZCBtZWhyLCBkYXMga2FlbWUgbmljaHQgbWVocgpyZWNodHplaXRpZyBhbi4gRXZ0bC4gbWFjaCBpY2ggaGV1dGUgbm9jaCBtYWwgZWluZSBVZWJlcndlaXN1bmdzYmVzdGFldGlndW5nLgpXZXIgYmlzIGpldHp0IG5vY2ggbmljaHQgYmV6YWhsdCBoYXQsIG1vZWdlIGRhcyBiaXR0ZSBhbiBkZXIgQWJlbmRrYXNzZQpfRnJlaXRhZ18gYWJlbmQgYmV6YWhsZW4sIFNhbXN0YWcgbnVyIE5vdGZhZWxsZW4uIFdlciBzaWNoZXIgaXN0LCBkYXMgZXIgZXJzdApTYW1zdGFnIGJlemFobGVuIGthbm4sIG1vZWdlIG1pciBkYXMgdm9yaGVyIG1pdHRlaWxlbiwgZGEgaWNoIHNvbnN0IGZ1ZXIgaWhuCmtlaW4gRXNzZW4gYmVzdGVsbGUuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdW5raWVzIChHbm9tZSwgIDIuIEFwciAyMDAyLCAxNjoxODoyNik6Cn4jISBybj1GcmVkZXJpY2sgcnQ9MTAxNzczNzEyMiByZz1wYXJ0eQp+IyEgdGlkPTEwMTc3MzcxMjIKdW5kIHdhcyBtYWNodCBtYW4gZGFtaXQ/CnNjaG5pdHplbGphZ2QgdW0gZGVuIGFhc2VlPyBvZGVyIGxpZWJlciByYWV1YmVyIHVuZCBnZW5kYXJtIGluIGRlcgpmdXNzZ2FlbmdlcnpvbmU/Cgpnbk9tZSwgZ2VzcGFubnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvIFNvcnJ5LiAoQ2F0d2VhemxlLCAgMi4gQXByIDIwMDIsIDE3OjI1OjQ5KToKTW9pbiEKClRqYSwgZXMgaXN0IHRhdHNhZWNobGljaCBwYXNzaWVydCwgYWJlciBpY2ggaGFiIG1pY2ggaXJnZW5kd28gYm9lc2UKdmVya2Fsa3VsaWVydCA6KAoKV2FzIGljaCBiaXNoZXIgZ2VyZWNobmV0IGhhYmUsIGhhdCBpbW1lciBhbGxlcyBzZWhyIGd1dCBhdXNnZXNlaGVuIHVuZCBoYXQKZ2VwYXNzdCwgYWJlciBiZWltIGhldXRpZ2VuIER1cmNocmVjaG5lbiBkZXIgdGF0c2FlY2hsaWNoZW4gS29zdGVuIGtvbW0gaWNoCmF1ZiB6dSBob2hlIEJldHJhZWdlLgoKQW5zY2hlaW5lbmQgaGFiIGljaCBtaWNoIGlyZ2VuZHdhbm4gaW0gTWl0dGVsdGVpbCBtYWwgdmVydGFuLCB3aWV2aWVsIEdlbGQgaWNoCmZ1ZXIgZGFzIEVzc2VuIHp1ciBWZXJmdWVndW5nIGhhYmUuIERhcyBFc3NlbiBkYXMgaWNoIG51biBiZXN0ZWxsdCBoYWJlIGlzdAphbHNvIHp1IHRldWVyIGZ1ZXIgbWVpbmUgdXJzcHJ1ZW5nbGljaGUgS2Fsa3VsYXRpb24gdW5kIG1pciBmZWhsZW4gZXR3YSA0MDAKRXVyby4KCkljaCB3YWVyZSBmZWluIHJhdXMsIHdlbm4gPjIxMCBHYWVzdGUga2FlbWVuLCBhYmVyIGRhcyBpc3Qgd29obCB1dG9waXNjaC4gSWNoCm1vZWNodGUgKHVuZCBrYW5uKSBhYmVyIGRpZSBFc3NlbmJlc3RlbGx1bmcgbmljaHQgbWVociBhZW5kZXJuIHVuZCBtYWNoZQpkZXN3ZWdlbiBlaW5lbiBrbGVpbmVuIE5vdGZhbGxwbGFuLiBTbyBsZWlkIGVzIG1pciB0dXQsIGFiZXIgaWNoIG11c3MgZWluIHBhYXIKZmluYW56aWVsbGUgQWVuZGVydW5nZW4gbWFjaGVuLiBFcmdvOgoKSWNoIG1hY2hlIG5vY2ggZWluZSBBYmVuZGthc3NlLCBkaWVzZSBiZXRyYWVndCBhYmVyIDIwIEV1cm8gKHN0YXR0IHdpZSBiaXNoZXIKZ2VwbGFudCAxOCkuIERpZXNlciBCZXRyYWcgIGdlZmFlbGx0IG1pciBnYXIgbmljaHQgdW5kIGtsaW5ndCBtaXIgZWNodCB6dQpob2NoLCBsYWVzc3Qgc2ljaCBhYmVyIHdvaGwgbmljaHQgYWVuZGVybi4gSWNoIGhvZmZlIGRlc3dlZ2VuIHNwcmluZ3QgbmllbWFuZAphYiwgaWNoIHZlcnNwcmVjaGUgZGFmdWVyIGF1Y2ggbGVja2VyZXMsIHJlaWNobGljaGVzIEVzc2VuLiAKClp3ZWl0ZW5zIGthbm4gaWNoIGRhcyBGcnVlaHN0dWVjayBpbiBkZXIgSGFsbGUgbmljaHQgbWVociBiZXphaGxlbi4gCkljaCBtb2VjaHRlIGRhcyBhYmVyIHRyb3R6ZGVtIGltbWVyIG5vY2ggbGllZmVybiwgZGFydW0gbWVpbiBBbmdlYm90IGFuIGRpZQpIYWxsZW56YWhsZXI6IHdlbm4gaWhyIHdvbGx0IGJlc29yZyBpY2ggU2Ftc3RhZ3MgRnJ1ZWhzdHVlY2ssIG1vZWNodGUgZGFmdWVyCmFiZXIgamVkZW0gSGFsbGVuc2NobGFlZmVyIDIgRXVybyBmdWVyIGRpZSBVbnRlcmt1bmZ0IGRvcnQgYWJrbm9lcGZlbi4gClNvbGx0ZSBkYSBqZW1hbmQgbWFzc2l2ZSBFaW53YWVuZGUgaGFiZW4sIGxhc3MgaWNoIGRhcywgZGFubiBnaWJ0cyBhYmVyIGF1Y2gKa2VpbiBGcnVlaHN0dWVjay4KClRydWx5IHNvcnJ5LAogICAgIENhdHdlYXpsZSA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvIFNvcnJ5LiAoQW50aGVhLCAgMi4gQXByIDIwMDIsIDE3OjMxOjM0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDE3NzYxMTQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzc2MTE0OQpCZWkgY2EuIDkwIEVVUiwgZGllIGRpZSBCYWhuIGZ1ZXIgZGllIGVpbmZhY2hlIFN0cmVja2Ugd2lsbCwgaXN0IGRhcyBkYW5uIGF1Y2gKa2VpbiBQcm9ibGVtIG1laHIuLi4KSXJnZW5kd2llIHdlaXNzIGljaCBub2NoIG5pY2h0LCBvYiBpY2ggbWlyIGRpZSBCYWhuZmFocnQgbGVpc3RlbiBrYW5uIG9kZXIKZG9jaCBtaXQgZGVtIEF1dG8gZmFocmVuIG11c3MuIFVuZCBtaXQgZGVtIEd1dGVuLUFiZW5kLVRpY2tldCBrb21tZSBpY2ggZXJzdApuYWNoIDAyMDAgVWhyIGFtIFNhbXN0YWcgZnJ1ZWggYW4sIGlzdCBhbHNvIGF1Y2gga2VpbmUgQWx0ZXJuYXRpdmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU28gU29ycnkuIChCb2luZywgIDIuIEFwciAyMDAyLCAxNzozMjoxMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNzc2MTE0OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTc3NjExNDkKSWNoIHphaGwgZ2VybiBhbiBkZXIgQWJlbmRrYXNzZSAyLTQgRXVybyB6dXNhZXR6bGljaCAoYXVjaCB3ZW5uIGljaCBzY2hvbgp1ZWJlcndpZXNlbiBoYWJlKS4gRGFzIG11c3MgamEgZWNodCBuaWNodCBzZWluIGRhc3MgRHUgenVzYWV0emxpY2ggenVyCkFyYmVpdCBkYW5uIGF1Y2ggbm9jaCBkcmF1ZnphaGxlbiBtdXNzdC4gVmllbGxlaWNodCBiZXRlaWxpZ2VuIHNpY2ggZGEKamEgbm9jaCBtZWhyIExldXRlIGRyYW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU28gU29ycnkuIChFbGJlcmV0LCAgMi4gQXByIDIwMDIsIDE3OjMzOjQ5KToKfiMhIHJuPUJvaW5nIHJ0PTEwMTc3NjE1MzAgcmc9cGFydHkKfiMhIHRpZD0xMDE3NzYxMTQ5CmFsc28gaWNoIHphaGwgZGllIGF1Y2ggZ2VybiBtZWhyCgpFbGJpIChzaWNoYXVmcGFydHlmcmV1ZW5kd2VyZmVuZCAoYykgSXNpICkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvIFNvcnJ5LiAoSHVtbmksICAyLiBBcHIgMjAwMiwgMTc6MzM6NTEpOgp+IyEgcm49Qm9pbmcgcnQ9MTAxNzc2MTUzMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTc3NjExNDkKSmVwcC4gQmlzdCBEdSBuaWNodCBkZXIgZWluemlnZS4gRWluZSBQYXJ0eSBmdWVyIDE1MCBMZXV0ZSB6dSBvcmdhbmlzaWVyZW4gaXN0CndhaHJsaWNoIEFyYmVpdCBnZW51Zy4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZW1pbmFydGhlbWVuIChGeXQsICAyLiBBcHIgMjAwMiwgMTc6Mzg6NDMpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMTMwMjc3NzUgcmc9cGFydHkKfiMhIHRpZD0xMDEyOTUxOTgxCkFlaG0uLi4gCgpXYXIgZGFzIGRpZSBaZWl0LCBhbHMgZGllIEZlaWdsaW5nZSBzaWNoIG5pY2h0IGlucyBMdXBpbmVudGFsIGdldHJhdXQgaGFiZW4KYXVzIEFuZ3N0IHVtIGlocmUgbWlja3JpZ2VuIEVQPwoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU28gU29ycnkuIChBcmssICAyLiBBcHIgMjAwMiwgMTc6NDM6MzApOgp+IyEgcm49SHVtbmkgcnQ9MTAxNzc2MTYzMSByZz1wYXJ0eQp+IyEgdGlkPTEwMTc3NjExNDkKS2VpbiBUaGVtYS4gU28gc2NobmVsbCBoYXQgbmllbWFuZCAxMCBFdXJvIHp1Z2VzYWd0LCBzb2xsZW4gd2lyIGVpbmVuIHZvbgpkaWVzZW4gVFYgUHJpZXN0ZXJuIGVuZ2FnaWVyZW4gdW5kIGRlbiBnZXNhbW1lbHRlbiBHZWxkYmV0cmFnIGF1ZiBuZXIgV2VicGFnZQphbnplaWdlbj8gO14pCkljaCBiaW4gZ2dmLiBhdWNoIGdlcm5lIGJlcmVpdCwgYWxsZW4gTmljaHRzcGVuZGVybiBtaXQgZGVyIEhvZWxsZSB6dSBkcm9oZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTbyBTb3JyeS4gKFNvcmNlcmVyLCAgMi4gQXByIDIwMDIsIDIxOjQ4OjQ0KToKfiMhIHJuPUJvaW5nIHJ0PTEwMTc3NjE1MzAgcmc9cGFydHkKfiMhIHRpZD0xMDE3NzYxMTQ5CkphLCAyLTRFdXJvIHp1c2FldHpsaWNoIGZ1ZXIgZWluZSBQYXJ0eSBtaXQgRnJ1ZWhzdHVlY2sgOy0pIHNpbmQga2VpbiBQcm9ibGVtCi0gaWNoIGJpbiBtaXIgc2ljaGVyLCBkYXNzIGVzIG5hY2ggYWxsIGRlciBNdWVoZSBmdWVyIGRpZSBPcmdhbmlzYXRpb24gdm9uCkNhdHdlYXpsZSBkYXJhbiBqZXR6dCBzaWNoZXJsaWNoIG5pY2h0IHNjaGVpdGVybiB3aXJkIDotKQoKU29yY2VyZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvIFNvcnJ5LiAoR29yb2csICAyLiBBcHIgMjAwMiwgMjE6NTQ6MDUpOgp+IyEgcm49U29yY2VyZXIgcnQ9MTAxNzc3NjkyNCByZz1wYXJ0eQp+IyEgdGlkPTEwMTc3NjExNDkKSG1wZi4uLiBtdXNzIGljaCBqZXR6dCBTYW1zdGFnbW9yZ2VuIGJpcyBuYWNoIFdvbGxiZWNrIGZhaHJlbj8gT2RlciBkYXJmIG1hbgpkZW4gWnVzYXR6cHJlaXMgYXVjaCBvaG5lIGluIEFuc3BydWNobmFobWUgZGVyIEhhbGxlIGJ6dy4gZGVzIEZydWVoc3R1ZWNrcwphdWZicmluZ2VuIG9obmUgZ2xlaWNoIGFscyBsaWViIG5ldHQgb2RlciBzb2dhciB2ZXJydWVja3QgenUgZ2VsdGVuPwoKbWZHb3JvZyBydWZ0OiBQQUFBQUFBQUFBQUFBQUFBQUFBUlJSUlJSUlJSUlJSUlJUVFRUVFRUVFRUVFRUVFRZWVlZWVlZWVlZWVlZIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU28gU29ycnkuIChBaGFiLCAgMi4gQXByIDIwMDIsIDIzOjM0OjQwKToKfiMhIHJuPUdvcm9nIHJ0PTEwMTc3NzcyNDUgcmc9cGFydHkKfiMhIHRpZD0xMDE3NzYxMTQ5CkljaCBzY2hsaWVzc2UgbWljaCBnZXJuZSBkZW4gVm9yLXBvc3Rlcm4gYW4uIFdhcyBiaXNoZXIgaW4gZGVyIE1QQSBzdGFuZCwKaXN0IHZpZWx2ZXJzcHJlY2hlbmQgZ2VudWcsIHVtIGVpbiBwYWFyIFRhbGVyIG1laHIgYXVzenVnZWJlbi4gOi0pCgpBaG9pLApBaGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTbyBTb3JyeS4gKE1vcmdvdGgsICAyLiBBcHIgMjAwMiwgMjM6NTY6NDApOgp+IyEgcm49Qm9pbmcgcnQ9MTAxNzc2MTUzMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTc3NjExNDkKS2xhciwgcmVjaG5lIDVFIHZvbiBtaXIgIQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRzaGlydC1mYXJiZTogR3JhdSAoQ2F0d2VhemxlLCAgMy4gQXByIDIwMDIsIDA4OjE1OjMxKToKTW9pbi4gCgpJY2ggc29sbHRlIHRhdHNhZWNobGljaCBHZWxkZWludHJlaWJlciB3ZXJkZW4sIGljaCBoYWV0dGUgbmljaHQgZ2VkYWNodCBkYXMKaWhyIHNvIGJlcmVpdHdpbGxpZyBuYWNobGVnZW4gd3VlcmRldC4gSmV0enQgaGFiIGljaCBBbmdzdCwgZGFzIGljaCBoaW50ZXJoZXIKVGF1c2VuZGUgaW0gUGx1cyBiaW4gOikKCkljaCBoYWJlIG5vY2ggZWluZSBzY2hsZWNodGUgTmFjaHJpY2h0IGJ6Z2wuIGRlciBUc2hpcnRmYXJiZS4KRGFzIG1pdCBzY2h3YXJ6IHdpcmQgbmljaHR6IGtsYXBwZW4sIGRhcyBNb3RpdiBoYXQgenV2aWVsZSBGYXJiZW4gdW5kIGJlaSBkZXIKQmVmbG9ja3VuZ3MtVGVjaG5payBtdXNzIGplZGUgRmFyYmUgZWluemVsbiBhdWZnZWRydWNrdCB3ZXJkZW4uIAoKSWNoIGhhYmUgdmVyc3VjaHQgZGllIEZhcmJ6YWhsIHp1IHJlZHV6aWVyZW4sIGFiZXIgZGFubiBzaWVodCBkYXMgQmlsZCBLYWNrZQphdXMuIERpZSB6d2VpdGUgQWx0ZXJuYXRpdmUgJ0RydWNrIGF1ZiBXZWlzc2ZvbGllJyBlcmdpYnQgZXJmYWhydW5nc2dlbWFlc3MKZWJlbmZhbGxzIEthY2tlIGF1c3NlaGVuZGUgVHNoaXJ0cy4KCk5pY2h0IGRhcyBkYXMgYWxsZXMgd2FlcmUsIG1laW4gRmF2b3JpdGUgVHNoaXJ0ZHJ1Y2tlciBoYXQgYSkgVXJsYXViIHVuZCBiKQpldnRsLiBuaWNodCBnZW51ZWdlbmQgVHNoaXJ0cy4gCgpUc2hpcnRmYXJiZSBkZXIgV29jaGUgaXN0IGRhaGVyIEdyYXUsIHdlbm4gZGFzIGdhciBuaWNodCBtZWhyIHJlY2h0emVpdGlnCmtsYXBwdCBtdXNzIGljaCBhdWNoIG5vY2ggZGVuIERydWNrZXIgd2VjaHNlbG4sIGRhbm4gd2FlcmUgYXVjaCB3ZWlzcwptb2VnbGljaC4gCgpCaW4gaWNoIGZyb2gsIGRhcyBpY2ggZGllc2UgV29jaGUgVXJsYXViIGhhYiwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVua2llcyAoRnJlZGVyaWNrLCAgMy4gQXByIDIwMDIsIDEyOjM4OjE0KToKfiMhIHJuPUdub21lIHJ0PTEwMTc3NTcxMDYgcmc9cGFydHkKfiMhIHRpZD0xMDE3NzM3MTIyCkphLCBkaWUgYmVpZGVuIE1vZWdsaWNoa2VpdGVuIHNpbmQgc2Nob24gbWFsIG5pY2h0IHNjaGxlY2h0LCB3ZWl0ZXJzCmthbm4gbWFuIGRlbiBkZXV0c2NoZW4gSGFuZHluZXR6YmV0cmVpYmVybiBlaW5lbiBIYXVmZW4gR2VsZCAKYWJ0cm90emVuIGluZGVtIG1hbiBkaWUgIkhpLCB3byBiaXN0IER1IGpldHp0IGdyYWRlIiBBbnJ1ZmUgCnZlcm1pbmRlcnQuIFZlcnp3ZWlmZWx0ZSBhbmtvbW1lbmRlIGthbm4gbWFuIG1pdCBkZW0gU3BpZWwtCnpldWcgZWJlbnNvIHd1bmRlcmJhciBsb3RzZW4sIHNvIHNpZSBzY2hvbiBpbSBOYWhiZXJlaWNoIHNpbmQuCgpBbSBiZXN0ZW4gZWlnbmVuIHNpY2ggZGllIERpbmdlciB1bSBGYWhyemV1Z2tvbG9ubmVuIHp1IGtvb3JkaW5pZXJlbiwKd2llIHNpZSBiZWkgc29tYW5jaGVyIE11ZHBhcnR5IGhpbiB1bmQgd2llZGVyIHZvcmtvbW1lbiBzb2xsZW4uCgpXYXIgYWJlciBudXIgZWluZSBJZGVlLCBhbHNvIHdlbm4gRHUgd2VsY2hlIGhhc3QgYnJpbmcgc2llIG1pdC4KCkZydW5rZXJpY2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHNoaXJ0LWZhcmJlOiBHcmF1IChDYXR3ZWF6bGUsICAzLiBBcHIgMjAwMiwgMTY6MDA6NTgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTc4MTQ1MzEgcmc9cGFydHkKfiMhIHRpZD0xMDE3ODE0NTMxCgpTTywgd2FyIGpldHp0IGJlaW4gVHNoaXJ0YmF1ZXIuCgpBbGxlIEtvbW1hbmRvcyB6dXJ1ZWNrLCBUc2hpcnQtRmFyYmUgd2lyZCBkb2NoIHNjaHdhcnouIAoKRGVyIERydWNrZXJtYW5uIHdhciBzdXBlcm5ldHQsIHdpciBoYXR0ZW4gZGl2ZXJzZSB0ZWNobmlzY2hlIFNjaHdpZXJpZ2tlaXRlbiwKYWJlciBlciBoYXQgZGl2ZXJzZSBLb21iaW5hdGlvbmVuIHZvbiBGb2xpZW4gdW5kIERydWNrdGVjaG5pa2VuIGF1c3Byb2JpZXJ0LApiaXMgd2lycyBndXQgZ2VudWcgaGluZ2VrcmllZ3QgaGFiZW4uIApIYXQgYmVzdGltbXQgNTBFdXJvIGFuIFZvcmtvc3RlbiB2ZXJiYWxsZXJ0IDopCgpLb25zZXF1ZW56IGlzdCwgZGFzcyBkYXMgQmlsZCBudW4gZWluZW4gd2Vpc3NlbiBSYWhtZW4gaGF0IChzaWVodCBiZXNzZXIgYXVzCmFscyBvaG5lKSB1bmQgZGFzIGRpZSBRdWFsaXRhZXQgZWluIF93ZW5pZ18gZ2VsaXR0ZW4gaGF0LiBXYXMgd2llIGljaCB6dWdlYmVuCm11c3MsIGFiZXIgZWlnZW50bGljaCBnYW56IGd1dCBhdXNzaWVodCwgaGF0IGVpbmVuIGV0d2FzIHZlcndpdHRlcnRlbiBFZmZla3QKOi0pCgpBbHNvLCBUc2hpcnQgc2Nod2FyeiwgQmVzc2VyZSBRdWFsaXRhZXQgKDE1MGcpLCBBdWYtd2Vpc3Mtc3RvZmYtRHJ1Y2stQmlsZAp2b3JuZSwgZ2VmbG9ja3RlciBOYW1lIGhpbnRlbi4gCgpLb3N0ZW4gc2luZCBudSBkb2NoIDEzIEV1cm8gZ2V3b3JkZW4sIGJpdHRlIG51ciBhYmdlemFlaGx0ZXMgR2VsZApiZXJlaXRoYWx0ZW4uIAoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGVpbmlna2VpdGVuIChDYXR3ZWF6bGUsICAzLiBBcHIgMjAwMiwgMTg6MDE6MTQpOgpNb2luIQoKU28gbm9jaCBlaW4gcGFhciBLbGVpbmlna2VpdGVuLCBkaWUgbWlyIHNvIGVpbmZhbGxlbi4gCgpIYWxsZToKWnVyIEVyaW5uZXJ1bmcsIHdlbm4gaWhyIGZydWVoIGtvbW10LCB1bSBQdW5rdCAxOTowMCBVaHIgYW0gRnJlaXRhZyBzdGVodApNdXJrZXMgZGFzIGVyc3RlIG1hbCBhbiBkZXIgU2NobGFmaGFsbGUuIEljaCB3ZWlzcyBuaWNodCB3aWUgbGFuZ2UgZXIgZGEKYmxlaWJ0LCBzY2hsaWVzc2xpY2ggaXN0IGFiIDIwIFVociBUcmVmZmVuIGltIFVmZXJsb3MuCkljaCBob2ZmZSBkYW5uIGZ1ZXIgZGllIEhhbGxlIGVpbmVuIFNjaGx1ZXNzZWx3YXJ0IHp1IGZpbmRlbi4gV2lyIGhhYmVuIG51cgplaW5lbiBTY2hsdWVzc2VsLCBkZW4gc29sbHRlIGplbWFuZCBsZWljaHQgZXJyZWljaGJhcmVzLCBkZXIgYXVjaCBpbiBkZXIgSGFsbGUKc2NobGFlZnQsIGJla29tbWVuLiBJY2ggYmluIHp1dmVyc2ljaHRsaWNoLCBkYXMgZGllIEhhbGxlbnNjaGxhZWZlciBkYXMKdW50ZXJlaW5hbmRlciBnZXJlZ2VsdCBiZWtvbW1lbiwgZGFzIGplZGVyemVpdCBlbnR3ZWRlciBqZW1hbmQgaW4gZGVyIEhhbGxlCmlzdCwgb2RlciBzY2huZWxsIGRlbiBTY2hsdWVzc2VsIHp1YnJpbmdlbiBrYW5uLiAKCkZydWVoc3R1ZWNrOgpGcnVlaHN0dWVjayBmdWVyIEhhbGxlbnNjaGxhZWZlciBnaWJ0cyBfbnVyXyBhbSBTYW1zdGFnIG1vcmdlbiwgU29ubnRhZyBpc3QKRWJiZSwgZGEgTWl0dGFnZXNzZW4gZ2VwbGFudC4gCkljaCBob2ZmZSBkYXMgb3JnYW5pc2llcmVuIHp1IGtvZW5uZW4sIGRhcyBGcnVlaHN0dWVjayBpbSBCYWhuaG9mIHN0YXR0ZmluZGVuCndpcmQuIERhIGdpYnRzIEJlc3RlY2sgdW5kIHZpZWwgd2ljaHRpZ2VyLCBlaW5lIEthZmZlZW1hc2NoaW5lLiBNaXIgaXN0Cm5hZW1saWNoIGF1ZmdlZmFsbGVuIGRhcyB6dW0gRnJ1ZWhzdHVlY2sgdmllbCBtZWhyIGFscyBCcm9ldGNoZW4gdW5kIE1hcm1lbGFkZQpnZWhvZXJlbi4KSWNoIHN0ZWxsIHdhZWhyZW5kIGRlcyBGcnVlaHN0dWVja3MgZWluZSAnU3BlbmRlbidkb3NlIGF1ZiwgZGEga2FubiBkYW5uIGplZGVyCmRpZSAyIEV1cm8gZnVlcnMgRnJ1ZWhzdHVlY2sgZWlud2VyZmVuLCBpY2ggaGFiIGtlaW5lIEx1c3QgbWlyIGRlbiBTdHJlc3MgenUKbWFjaGVuLCBkYXMgYmVpIGplZGVtIGVpbnplbG4gZWluenVrbGFnZW4uCgpOb3RmYWxsbnVtbWVyOgpJY2ggZ2ViZSBldWNoIChva29rLCBtYWwgd2llZGVyKSBtZWluZSBIYW5keW51bW1lciBmdWVyIF9Ob3RmYWVsbGVfLiAKSWNoIG1vZWNodGUgZGFzIFdvcnQgTm90ZmFlbGxlIGluIGRpZXNlbSBTYXR6IHdlaXRlciBlcmxhZXV0ZXJuLiBJY2ggaGFiIGtlaW5lCkx1c3Qgc3RhZW5kaWcgYW0gSGFuZHkgenUgaGFlbmdlbiwgdW5kIGlyZ2VuZGVpbmVtIFBhcHBrb3BwIHp1IGVya2xhZXJlbiwgd28KZGllIENvbGFmbGFzY2hlbiBnZWxhZ2VydCB3ZXJkZW4sIG9kZXIgZHVtbSBnZWdydWVzc3QgenUgd2VyZGVuLiBEaWUgTnVtbWVyCmlzdCBmdWVyIE5vdGZhZWxsZSBiZXN0aW1tdCwgd2llIHpCIGlociBoYWJ0IGV1Y2ggdmVybGF1ZmVuLCB2ZXJmYWhyZW4sIHdpc3N0Cm5pY2h0IHdlaXRlciwgb2RlciBzdGVja3QgaW4gZGVyIEtsZW1tZS4gX0Rhbm5fIGR1ZXJmdCBpaHIgbWljaCBhbnJ1ZmVuLCBhYmVyCmJpdHRlIGF1Y2ggbnVyIGRhbm4uIERpZSBOdW1tZXIgaXN0ICs0OSAxNzcgMzIxMjUwMC4KCk1laHIgZmFlbGx0IG1pciBiZXN0aW1tdCBtb3JnZW4gbm9jaCBlaW4gOikKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKUFM6IFp1ZnJpZWRlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmlna2VpdGVuIChGcmVkZXJpY2ssICAzLiBBcHIgMjAwMiwgMTg6MDg6MTUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTc4NDk2NzQgcmc9cGFydHkKfiMhIHRpZD0xMDE3ODQ5Njc0Cm1laHIgYWxzIHp1ZnJpZWRlbi4KRnJlZGVyaWNrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU28gU29ycnkuIChJZGxlZml4LCAgMy4gQXByIDIwMDIsIDE4OjI3OjE2KToKfiMhIHJuPVNvcmNlcmVyIHJ0PTEwMTc3NzY5MjQgcmc9cGFydHkKfiMhIHRpZD0xMDE3NzYxMTQ5CkFsc28gYXVmIGRpZSA0IEV1cm8gdm9uIEtlbHJpcyBrYW5uIENhdHdlYXpsZSB6YWVobGVuLgoKR3J1c3MgSWRsZWZpeCBpLkEuIEtlbHJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG93IEZvb2QgV2FybmluZyAoQ2F0d2VhemxlLCAgMy4gQXByIDIwMDIsIDIwOjUwOjQ0KToKTW9pbiEKCk5hLCBkYXMgTSBnZXNlaGVuPyBOYT8gTmE/IElzcyBkYSwgbmU/IEhlaGUhIQoKU28sIGljaCBoYWIgamV0enQgZGFzIFVmZXJsb3MgYmVzdGFldGlndCwgdW5kIG11c3N0ZSBmZXN0c3RlbGxlbiwgZGFzIGljaApkYW1hbHMgbnVyIDgwIFBlcnNvbmVuIGFuZ2VnZWJlbiBoYWJlLiBUamEsIG11c3Mgc2llIGhhbHQgamFtbWVybiB1bmQgZGVuCmFuZGVyZW4gUmF1bSBtaXRhdWZtYWNoZW4uIAoKQWJlciwgZGFzIEdyYW5kZSBQcm9ibGVtYSBpc3QgbnVuLCBkYXMgVWZlcmxvcyBpc3QgJ2VpZ2VudGxpY2gnIG51ciBlaW4gQ2FmZQp1bmQgc2llaHQgc2ljaCB2b2VsbGlnIGF1c3NlcnN0YW5kZSwgZnVlciAxMjQgTGV1dGUgRXNzZW4genUgbWFjaGVuLiBJY2ggaGFiZQpkYWhlciBtaXQgZGVtIFVmZXJsb3MgZm9sZ2VuZGVzIEFia29tbWVuIGdlc2NobG9zc2VuLiAKClVzZXIgVHJlZmZlbiBmaW5kZXQgaW4gZWluZW0gUmF1bSAnb2Jlbicgc3RhdHQuICd1bnRlbicgaXN0IGRlcndlaWwgbm9ybWFsZXIKQ2FmZS1CZXRyaWViLiBJY2ggaGFiZSBhYmdlbWFjaHQsIGRhcyBlcyBvYmVuIG5peCB6dSBlc3NlbiBnaWJ0LCB1bmQgd2VubgpqZW1hbmQgd2FzIGZ1dHRlcm4gd2lsbCwgZGFubiBtb2VnZSBlciBzaWNoIHVudGVuIGVpbmVuIFBsYXR6IHN1Y2hlbiB1bmQgZG9ydAptYW1wZmVuLiBIYXQgYXVjaCBkZW4gVm9ydGVpbCBkYXMgZGllIEJlZGllbnVuZyBkYXMgWmV1ZyBuaWNodCByYXVmc2NobGVwcGVuCnVuZCBkZW4gR2FzdCBpbiB1bnNlcmVtIENoYW9zIHN1Y2hlbiBtdXNzLiBLYWVtZSBlaCBudXIgbGF1d2FybSBhbi4KCk5hY2h0ZWlsIGRhcmFuIGlzdCwgZGFzIGVzIGRhIEZyZWl0YWdzIGFiZW5kcyBkdXJjaGF1cyB2b2xsIHdlcmRlbiBrYW5uIHVuZAp3ZW5uIGlociB1bnRlbiBrZWluZW4gUGxhdHogbWVociBrcmllZ3Qgc2llaHRzIG1pdCBkZW0gRXNzZW4gbWF1IGF1cy4KCkRpZSBFbXBmZWhsdW5nIGRlcyBUYWdlcyBpc3QgYWxzbywgbW9lZ2xpY2hzdCBtaXQgZ2VmdWVsbHRlbiBNYWVnZW4gaW0gVWZlcmxvcwp6dSBlcnNjaGVpbmVuLiBFcyBnaWJ0IGRhIGVpbmlnZSBBbHRlcm5hdGl2ZW4gJ25lYmVuYW4nIGluIGRlciBBZWdpZGlpc3RyYXNzZQpvZGVyIGRlciBTY2hhcm5ob3JzdHN0cmFzc2UuIAoKVHJvdHogQmVkZW5rZW4gbW9lY2h0ZSBpY2ggYXVjaCBub2NobWFsIGRlbiBNY0QgaW4gZGVyIFdlZ2Jlc2NocmVpYnVuZwplcndhZWhuZW4uIFdlbm4gaWhyIEZhc3RGb29kLXdpbGxpZyBzZWl0LCBmYWhydCBpaHIgYWJlciBkYW5uIGJlc3NlciB2b24KTXVlbnN0ZXItTm9yZCBhdXMgaW4gZGllIFN0YWR0LCBhdWYgZGVtIFdlZyBnaWJ0IGVzIG5hZW1saWNoIGt1cnogbmFjaCBkZW0KT3J0c2VpbmdhbmcgTXVlbnN0ZXIgKGFuIGRlciBFaXNoYWxsZSwgdm9yc2ljaHQgaXN0IGVpbiBiaXNzY2hlbiBoaW50ZXIgbmVyCkJhdW1yZWloZSB2ZXJzdGVja3QpIGVpbmVuIGxlY2tlcmVuIEJ1cmdlciBLaW5nLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG93IEZvb2QgV2FybmluZyAoQXJrLCAgMy4gQXByIDIwMDIsIDIxOjI0OjA0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDE3ODU5ODQ0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzg1OTg0NApHdXQgZGFzcyBpY2ggZGEgdmllbCBaZWl0IGhhYmUsIHdlaWwgaWNoIGJlcnVmbGljaCBhdXMgQm9ubiBhbnR1Y2tlci4gVHJpZmZ0CnNpY2ggamVtYW5kIG1pdCBlaW5lbSBhcm1lbiBGcmVpdGFnc2FyYmVpdGVyIHp3ZWNrcyBBYmVuZGVzc2VuLCAxNjowMCBVaHIgb2RlcgpzcGFldGVyPyA7XikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExvdyBGb29kIFdhcm5pbmcgKFpvb2ssICAzLiBBcHIgMjAwMiwgMjE6NDA6MDcpOgp+IyEgcm49QXJrIHJ0PTEwMTc4NjE4NDQgcmc9cGFydHkKfiMhIHRpZD0xMDE3ODU5ODQ0CjE2LjAwIFVociBoYXN0IER1IHNjaG9uIEZlaWVyYWJlbmQgYW0gRnJlaXRhZz8gRmF1bGVzIFBhY2shCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMb3cgRm9vZCBXYXJuaW5nIChMaWFyYSwgIDMuIEFwciAyMDAyLCAyMTo0MTo0NSk6Cn4jISBybj1BcmsgcnQ9MTAxNzg2MTg0NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTc4NTk4NDQKS2xhciwgaW4gQm9ubi4gOy0pIERhbm4ga2FubnN0IGR1IGdsZWljaCBkZW4gR2FsYXh5LVNjaGFsIGFiaG9sZW4uCgpaWkwgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG93IEZvb2QgV2FybmluZyAoTWFhcmcsICA0LiBBcHIgMjAwMiwgMDA6NTY6MjgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTc4NTk4NDQgcmc9cGFydHkKfiMhIHRpZD0xMDE3ODU5ODQ0Ck1vaW4uCgpWb20gJ1VmZXJsb3MnIGlzdCBhdWNoIG51ciBlaW4ga3VyemVyIEZ1c3N3ZWcgenUgTXVlbnN0ZXJzIE1pdHRlbGFsdGVya25laXBlCiJGZWdlZmV1ZXIiLiBEYXMgRXNzZW4gZGEgaXN0IHJlY2h0IGxlY2tlciB1bmQgZGFzIEJpZXIga29tbXQgYXVzIGt1bHRpZ2VuClRvbmtydWVnZW4sIHp3YXIgaXN0IGRlciBMYWRlbiBuaWNodCBnYW56IGJpbGxpZyB1bmQgZGllIEJlZGllbnVuZyBiaXN3ZWlsZW4KcmVjaHQgemlja2lnLCBhYmVyIHp1ciBGZWllciBkZXMgVGFnZXMga2FubiBtYW4gZGEgc2ljaGVyIG1hbCBoaW5nZWhlbi4KCkRlciBMYWRlbiBpc3QgYWJlciBhdWNoIG5pY2h0IGdyb3NzIHVuZCBhbSBXRSB3b2hsIGF1Y2ggcmVjaHQgdm9sbCwgYWxzbyBzZWl0CmZydWVoIGRhLiA7bykKCldlcmRlIG1vcmdlbiBtYWwgJ25lIEZ1c3N3ZWdiZXNjaHJlaWJ1bmcgenVtIEZlZ2VmZXVlciBwb3N0ZW4sIGhhYicgamV0enQKa2VpbmVuIEJvY2sgbWVoci4KCkdydXNzLAoKICAgTWFhcmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTG93IEZvb2QgV2FybmluZyAoUmlrdXMsICA0LiBBcHIgMjAwMiwgMDg6MTY6MjYpOgp+IyEgcm49QXJrIHJ0PTEwMTc4NjE4NDQgcmc9cGFydHkKfiMhIHRpZD0xMDE3ODU5ODQ0CmtsYXIsIGlyZ2VuZHdhbm4gbmFjaCAyMCB1aHIgZ2VybiA6KQoKcmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVlYmVybmFjaHRlbiB1bmQgRnJ1ZWhzdHVlY2sgKE11cmtlcywgIDQuIEFwciAyMDAyLCAxNjowNzo0Nyk6CkhpIExldXRlLAphbHNvIHdpZSBDYXQgamEgc2Nob24gZ2VzY2hyaWViZW4gaGF0IHdlcmRlIGljaCBGcmVpdGFnIEFibmVkIHVtIDE5OjAwIGFuIGRlcgpUdXJuaGFsbGUgdW5kIHp1bWluZGVzdCBzb2xhbmdlIHdhcnRlbiwgYmlzIGRlciBuYWVjaHN0ZSBCdXMgYW5nZWtvbW1lbiBpc3QuCkljaCB3ZWlzcyBqZXR6dCBuaWNodCwgd2FubiBpaHIgdm9yaGFidCBzcGFldGVyIGFtIEFiZW5kIHp1ciBoYWxsZSB6dSBQaWxnZXJuLgpFcyBnaWJ0IHp3ZWkgTW9lZ2xpY2hrZWl0ZW46IEVudHdlZGVyIGljaCB2ZXJ6aWNodGUgYXVmJ3MgVWZlcmxvcyAqc25pZWYqIHVuZApibGVpYmUgZGVuIEFiZW5kIGluIFdvbGJlY2sgKGljaCB3b2huJyBkYSkgdW5kIGlociBrb2VudCBtaWNoIGFucnVmZW4sIHdlbm4KaWhyIHJlaW53b2xsdCwgb2RlciBpY2ggZmFocmUgbWl0IGlucyBVZmVybG9zIHVuZCBmYWhyZSBtaXQgZGVtIGVyc3RlbiBTY2h3dW5nCmxldXRlLCBkaWUgaW4gZGllIEhhbGxlIHdvbGxlbiB6dXJ1ZWNrLiBHZWJ0JyBtYWwgZXVyZW4gS29tbWVudGFyIGRhenUgYWIuCkRhcyBGcnVlaHN0dWVjayBmaW5kZXQgaW0gQmFobmhvZiBXb2xiZWNrIHN0YXR0IHVuZCBOSUNIVCBpbiBkZXIgVHVybmhhbGxlLgpEZXIgQmFobmhvZiB3aXJkIHZvbiA5LTExIFVociB6dW0gZnJ1ZWhzdHVlY2tlbiBvZmZlbiBzZWluLiBEaWUgSW5mcmFzdHJ1a3R1cgppc3QgZGEgZGV1dGxpY2ggYmVzc2VyIHVuZCBkYW5uIGtydWVtbWVsdCBlcyBhdWNoIG5pY2h0IHNvIGluIGRlciBIYWxsZS4gSWNoCndlcmQnIGFiIDkgVWhyIGRhIHNlaW4gdW5kIGVpbiBwYWFyIExldXRlIHdlcmRlbiBqYSBzaWNoZXJsaWNoIGF1Y2ggZXR3YXMKbWl0aGVsZmVuIChpbnNiZXNvbmRlcmUgYmVpbSBhbnNjaGxpZXNzZW5kZW4gQXVmcmFldW1lbikuIEFjaCBqYSwga29tbXQgYml0dGUKbmljaHQgYWxsZSBhdWYgZWlubWFsLCBtaXQgMTAwIExldXRlbiB3YWVyZSBkYXMgQ2FmZSBkb2NoIGRldXRsaWNoCnVlYmVyZnVlbGx0LiBCcm9ldGNoZW4gdW5kIHNvbnN0aWdlIEZyZXNzYWxpZW4gc2luZCBnZW51ZyBkYSwgYWxzbyBhdWNoIGRpZQpMZXR6dGVuIHdlcmRlbiBub2NoIHdhcyBrcmllZ2VuIDotKSAKRGllIEhhbGxlIG11c3MgYW0gU29ubnRhZyBNb3JnZW4gbm9jaCBnZWZlZ3Qgd2VyZGVuLiBQdXR6a3JhbSBpc3QgaW4gZGVyIEhhbGxlCi0gd2FlcmUgZ2FueiBzY2hvZW4sIHdlbm4gZWluIHBhYXIgdm9uIGV1Y2ggc2ljaCBkYXJ1bSBrdWVtbWVybiB3dWVyZGVuLiBNaWNoCnd1ZXJkZSBub2NoIGludGVyZXNzaWVyZW4gdW0gd2lldmllbCBVaHIgZGllIGxldHp0ZW4gdm9yaGFiZW4sIGRpZSBIYWxsZSB6dQp2ZXJsYXNzZW4uIFdpciBoYWJlbiBkYSBrZWluZW4gWmVpdGRydWNrLCBpY2ggbXVzcyBoYWx0IG51ciB3aXNzZW4sIHdhbm4gaWNoCmFtIFNvbm50YWcgdm9yYmVpa29tbWVuIG11c3MgdW0gZGVuIFNjaGx1ZXNzZWwgd2llZGVyIGVpbnp1c2Fja2VuLgpzdwplClp1ciBOb3QgYXVjaCBub2NoIG1laW5lIEhhbmR5LU5yOiAwMTYwIDc1IDE2IDA0NSAoYWJlciBiaXR0ZSBuaWNodCBmcmFnZW4sCndpZXZpZWxlIEJyb2V0Y2hlbiBub2NoIGRhIHNpbmQgLi4uKQogQmlzIE1vcmdlbgpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVZWJlcm5hY2h0ZW4gdW5kIEZydWVoc3R1ZWNrIChNdXJrZXMsICA0LiBBcHIgMjAwMiwgMTY6MTE6NDEpOgp+IyEgcm49TXVya2VzIHJ0PTEwMTc5MjkyNjcgcmc9cGFydHkKfiMhIHRpZD0xMDE3OTI5MjY3Ck91cHMsIGltbWVyIG5vY2ggVHlwb3MgZHJpbiB1bmQgc2NobGltbWVyZXMuIApUc2NodWxkaWd1bmcsIGhhYiBzY2hvbiBsYW5nZSBuaWNodHMgbWVociBpbiBkaWUgWmVpdHVuZyBnZXNjaHJpZWJlbi4uLgpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVWViZXJuYWNodGVuIHVuZCBGcnVlaHN0dWVjayAoQW50aGVhLCAgNC4gQXByIDIwMDIsIDE2OjIwOjQ2KToKfiMhIHJuPU11cmtlcyBydD0xMDE3OTI5NTAxIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzkyOTI2NwpXaWUgbGFuZ2UgYnJhdWNodCBtYW4gZGVubiB2b20gSEJGIE11ZW5zdGVyIHp1bSBCYWhuaG9mIFdvbGJlY2s/IE9kZXIgc2NoYWZmZQppY2ggZXMsIHdlbm4gZGVyIFp1ZyBwdWVua3RsaWNoIHVtIDE4OjQ3IGFua29tbXQsIERpY2ggbm9jaCB6dSBlcndpc2NoZW4/IFVuZAp3aWUgdmllbCBQbGF0eiBpc3QgaW0gVWZlcmxvcywgd2VubiBkYSBwbG9ldHpsaWNoIGV0bGljaGUgTGV1dGUgbWl0IEdlcGFlY2sKYW5rb21tZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVZWJlcm5hY2h0ZW4gdW5kIEZydWVoc3R1ZWNrIChUYXosICA0LiBBcHIgMjAwMiwgMTY6MjM6MjApOgp+IyEgcm49QW50aGVhIHJ0PTEwMTc5MzAwNDYgcmc9cGFydHkKfiMhIHRpZD0xMDE3OTI5MjY3Ckthbm4gbWFsIGplbWFuZCBhbGxlIEluZm9zIGRpZSBqZXR6dCBoaWVyIG5vY2ggZ2Vwb3N0ZXQgd3VyZGVuCmF1ZiBkZXIgV2Vic2VpdGUgenVzYW1tZW5mYXNzZW4/IEVzIGhhdCBzaWNoIGphIGFuc2NoZWluZW5kIG5vY2gKZWluaWdlcyBnZWFlbmRlcnQuCgpEYW5rZS4KCkEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVZWJlcm5hY2h0ZW4gdW5kIEZydWVoc3R1ZWNrIChNdXJrZXMsICA0LiBBcHIgMjAwMiwgMTY6MjU6MTkpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTc5MzAwNDYgcmc9cGFydHkKfiMhIHRpZD0xMDE3OTI5MjY3ClZvbSBCYWhuaG9mIGF1cyBicmF1Y2hzdCBEdSBlaW5lIGhhbGJlIFN0dW5kZSBtaXQgZGVtIEJ1cyBiaXMgbmFjaCBXb2xiZWNrLAp0amEgdW5kIGRhbm4gd2llZGVyIGVpbmUgaGFsYmUgU3R1bmRlIHp1cnVlY2suIEFsc28gd2VubiBpY2ggd2Vpc3MsIGRhc3MgRHUKa29tbXN0LCBkYW5uIHdhcnRlIGljaCBuYXR1ZXJsaWNoLCBiaXMgRHUgZGEgYmlzdCA6LSkgV2llIGRhcyBtaXQgZGVtIFBsYXR6IGltClVmZXJsb3MgYXVzc2llaHQga2FubiBpY2ggbmljaHQgc2FnZW4uIEFiZXIgZXZ0LiBrYW5uIG1hbiBqYSBHZXBhZWNrIGJlaQphbmRlcmVuIEhhbGxlbnNjaGxhZmVybiBpbSBBdXQgdW50ZXJicmluZ2VuPwpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlZ2Jlc2NocmVpYnVuZyAnRmVnZWZldWVyJyAoTWFhcmcsICA0LiBBcHIgMjAwMiwgMTk6MjU6MzApOgpNb2luLgoKSGllciB3aWUgdmVyc3Byb2NoZW5lbiBkaWUgV2VnYmVzY2hyZWlidW5nIHp1bSAnRmVnZWZldWVyJyAoRWluZSBkZXIgdmllbGVuCk1vZWdsaWNoa2VpdGVuIHp1ciBOYWhydW5nc2F1Zm5haG1lIGFtIGZydWVoZW4gRnJlaXRhZyBBYmVuZCwgZGEgJ1VmZXJsb3MnIGphCndhaHJzY2hlaW5saWNoIHByb3BwZW52b2xsKToKCkRhcyAnRmVnZWZldWVyJyBiZWZpbmRldCBzaWNoIGluIGRlciBWb24tS2x1Y2stU3RyLiwgY2EuIDUgTWludXRlbiB6dSBGdXNzIHZvbQonVWZlcmxvcycgZW50ZmVybnQ6CgpXZW5uIElociB2b3JtIFVmZXJsb3Mgc3RlaHQgdW5kIHZvciBFdWNoIGRlbiBBYXNlZSBzZWh0LCBnZWh0IElociBuYWNoIHJlY2h0cwp6dXIgV2VzZWxlciBTdHIuICh2b24gd28gYXVzIElociB3YWhyc2NoZWlubGljaCBhdWNoIGdla29tbWVuIHNlaWQpLiBEb3J0CndpZWRlcnJ1bSByZWNodHMgaGFsdGVuIHVuZCBhbiBkZXIgQW1wZWxrcmV1enVuZyAoaGllciBzb2xsdGUgc2ljaCBhdWNoIGVpbmUKS2lyY2hlIGJlZmluZGVuLCB3ZW5uIGljaCBtaWNoIG5pY2ggaXJyZSkgbGlua3MgYXVmIGRpZSBNb2x0a2VzdHIuIHdlY2hzZWxuLgpOYWNoIDEwMCBtIGdlaHQgZXMgYXVmIGRlciBNb2x0a2VzdHIuIHJlY2h0cyBhYiBpbiBkaWUgVm9uLUtsdWNrLVN0ci4gKGVzIGlzdApkaWUgX3p3ZWl0ZV8gQWJ6d2VpZ3VuZykgd28gc2ljaCBuYWNoIDUwIG0gbGlua3MgZGFzICdGZWdlZmV1ZXInIGJlZmluZGV0LgoKVW5kIHdvIGljaCBzY2hvbiBtYWwgZGFiZWkgYmluOiBadW0gTWNEb25hbGRzIGF1ZiBkZXIgV2VzZWxlciBTdHIuIGlzdCBlcyBhdWNoCm5pY2h0IHZpZWwgd2VpdGVyLCBhbnN0YXR0IGFuIGRlciBBbXBlbCBpbiBkaWUgTW9sdGtlc3RyLiBhYnp1YmllZ2VuIGdlaHQgaWhyCmVpbmZhY2ggd2VpdGVyIGdlcmFkZWF1cywgZGVyIE1jRC4gbGllZ3QgZGFubiByZWNodHMuCgpadXIgQWVnaWRpaXN0ci4gKHdvIHNpY2ggZWluIHBhYXIgS25laXBlbi9DYWZlcy9HYXN0c3RhZXR0ZW4gYmVmaW5kZW4gdW5kCnVlYmVyIGRpZSBtYW4gYXVjaCBhbSBrdWVyemVzdGVuIGluIGRpZSBtdWVuc3RlcnNjaGUgSW5uZW5zdGFkdCBrb21tdCkgZ2VodApJaHIgdm9tIFVmZXJsb3MgYXVzIFJpY2h0dW5nIFdlc2VsZXIgU3RyLiwgZGFubiBsaW5rcyB1bmQgYW4gZGVyIEFtcGVsa3JldXp1bmcKcmVjaHRzLgoKWnVyIFNjaGFybmhvcnN0c3RyLjogV2VubiBJaHIgdm9ybSBVZmVybG9zIHN0ZWh0IF9saW5rc18sIGRhbm4gd2llZGVyIGxpbmtzCmF1ZiBkaWUgS29lcm5lcnN0ci4sIGRpZSBkYW5uIG5hY2ggZWluIHBhYXIgTWV0ZXJuIGF1ZiBkaWUgU2NoYXJuaG9yc3RzdHIuCm11ZW5kZXQuCgpTbywgUmVzdCBtdWVzc3QgSWhyIHNlbGJlciBmaW5kZW4gb2RlciBoYWx0IENhdHR5IGFucnVmZW4uIEFjaCBuZWUsIGRhcyB3YXIgamEKbnVyIGZ1ZXIgTm90ZmFlbGxlLCBkdW1kaWR1bS4uLiA7bykKCkdydXNzLAoKICAgTWFhcmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG9nZ2kgKEFub3JpcywgIDQuIEFwciAyMDAyLCAxOTo1ODoxMik6CkVzIGdhYiBlaW4gcGFhciwgbmljaHQgc2VociB2aWVsZSwgYWJlciBkb2NoIGVpbmlnZSBBbmZyYWdlbiB3ZWdlbgoiU2Nod2lpemVyIFNjaG9nZ2kiLiBPYndvaGwgZXMgbWljaCBuaWNodCBpbW1lciBnZWR1ZW5rdCBoYXQsIGRhcwp2aWVsZSBpbnRlcnNzaWVydCBzaW5kLCBoYWJlIGljaCBtaWNoIGRvY2ggZW50c2NobG9zc2VuIGhldXRlIG5vY2gKZWlua2F1ZmVuIHp1IGZhaHJlbi4gV2VubiB3aXIgamV0enQgbWl0IGRlbiAxMGtnJ3MgZHVyY2ggZGVuIFpvbGwKZHVyY2hrb21tZW4gdW5kIG5pY2h0IGFscyBEcm9nZW4tIHVuZCBXYWZmZW5oYWVuZGxlciBhbmdlc2VoZW4gd2VyZGVuLApzb2xsdGUgZGllcywgbmljaHQgZnVlciBhbGxlIH4xNTAsIGFiZXIgZnVlciBkaWUgZGllIG1vZWNodGVuLCByZWljaGVuLgoKQmlzIG1vcmdlbiA7KQotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaG9nZ2kgKE1vbnRhbnVzLCAgNC4gQXByIDIwMDIsIDIxOjIwOjI3KToKfiMhIHJuPUFub3JpcyBydD0xMDE3OTQzMDkyIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzk0MzA5MgpOdXIgc28gbmUgQmVtZXJrdW5nIGdhbnogYW0gUmFuZGU6IHdhcmVuIGRhcyBub2NoIFplaXRlbiwgYWxzIGVzIE1HLVBhcnRpZXMgYW4KT2VydGxpY2hrZWl0ZW4gZ2FiLHdvIGRlciBuYWVjaHN0ZSBNY0RvbmFsZHMgbWluZGVzdGVucyAyMCBrbSBlbnRmZXJudCB3YXIuLi4KOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHNoaXJ0LWZhcmJlOiBHcmF1IChBbGluZSwgIDQuIEFwciAyMDAyLCAyMTo0OTozMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNzgxNDUzMSByZz1wYXJ0eQp+IyEgdGlkPTEwMTc4MTQ1MzEKCktsYXNzZSBDYXQhIQoKQWxpbmUgZnJldXQgc2ljaCBzZWhyIHVlYmVyIEdyYXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVHNoaXJ0LWZhcmJlOiBHcmF1IChBbGluZSwgIDQuIEFwciAyMDAyLCAyMTo1MToxNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNzg0MjQ1OCByZz1wYXJ0eQp+IyEgdGlkPTEwMTc4MTQ1MzEKCk9rIG1pdCBzY2h3YXJ6IGthbm4gaWNoIGF1Y2ggbGViZW4uLi4KCkFsaW5lIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBVZWJlcm5hY2h0ZW4gdW5kIEZydWVoc3R1ZWNrIChDYXR3ZWF6bGUsICA1LiBBcHIgMjAwMiwgMDA6MjI6MjYpOgp+IyEgcm49VGF6IHJ0PTEwMTc5MzAyMDAgcmc9cGFydHkKfiMhIHRpZD0xMDE3OTI5MjY3CkhtcGguIApIYWIgaWNoIGpldHp0IGRpZXNlIFdvY2hlIHdlZ2VuIG1hbmdlbGRlciBPbmxpZW56ZWl0IHVuZCBtYXhpbWFsZXIKVW50ZXJ3ZWdzemVpdCBuaWNodCBtZWhyIGdlbWFjaHQgOiggTWVpbnN0IGR1IGRhIHNpZWh0IG1vcmdlbiBub2NoIGplbWFuZApkcmF1ZiA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVWViZXJuYWNodGVuIHVuZCBGcnVlaHN0dWVjayAoTXVya2VzLCAgNS4gQXByIDIwMDIsIDExOjMzOjUyKToKfiMhIHJuPU11cmtlcyBydD0xMDE3OTI5MjY3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzkyOTI2NwpFcnN0ZWlubGFzcyBIYWxsZSBmcmVpdGFnIEFiZW5kClNvLCBuYWNoZGVtIGljaCBkaWUgZWluZSB1bmQgZGllIGFuZGVyZSBSdWVja21lbGR1bmcgYmVrb21tZW4gaGFiZSwgd2VyZGUgaWNoCmhldXRlIEFiZW5kIHZvbiAxOTowMCBiaXMgMTk6NDAgYW4gZGVyIEhhbGxlIHNlaW4uIFdlciBmcnVlaGVyIGRhIGlzdCwga2Fubgp2ZXJzdWNoZW4gbWljaCBhdWYgZGVtIEhhbmR5ICgwMTYwIDc1IDE2MCA0NSkgenUgZXJ3aXNjaGVuLCB2ZXJtdXRsaWNoIGJpbiBpY2gKYWIgMTg6MDAgaW4gV29sYmVjaywgd2VyIG51ciBrdXJ6IHNwYWV0ZXIga29tbXQgc29sbCBzaWNoIGF1Y2ggbWVsZGVuLgpBbnNjaGxpZXNzZW5kIGJpbiBpY2ggZGFubiBhdWNoIGltIFVmZXJsb3MgdW5kIHdlcmRlIG1pdCBkZXIgZXJzdGVuIG11ZWRlbgpNZXV0ZSBkZW4gUnVlY2t3ZWcgbmFjaCBXb2xiZWNrIGFudHJldGVuLiBMb2dpc3Rpc2NoZSBJbmZvcywgd2llIGlociB6LkIuIHZvbQpVZmVybG9zIGFtIGJlc3RlbiBtaXQgZGVtIEJ1cyB6dXIgSGFsbGUga29tbXQsIGtvZW5udCBpaHIgaGV1dGUgQWJlbmQgZGlyZWt0CmJlaSBtaXIgYWJmcmFnZW4uCkRhbm4gbWFuIGJpcyBuYWNoaGVyIDotKQpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVWViZXJuYWNodGVuIHVuZCBGcnVlaHN0dWVjayAoTXVya2VzLCAgNS4gQXByIDIwMDIsIDExOjM5OjA2KToKfiMhIHJuPU11cmtlcyBydD0xMDE3OTk5MjMyIHJnPXBhcnR5Cn4jISB0aWQ9MTAxNzkyOTI2NwpOb2NoIGVpbmVuIE5hY2h0cmFnOiBFcyBnaWJ0IHp3ZWkgVHVybmhhbGxlbiBhbSBTY2h1bHplbnRydW0uIEVpbmUgc2Nobm9lZGUKYnJhdW5lIHVuZCBlaW5lIHR5cGlzY2ggNzAtaWdlciBKYWhyZSBidW50IGFuZ2VtYWx0ZSBpbiBibGF1LiBJaHIgbXVlc3N0IHp1cgpidW50ZW4uIFZvbiBkZXIgQnVzaGFsdGVzdGVsbGUgU2NodWx6ZW50cnVtIG11ZXNzdCBpaHIgZGVuIEZ1c3N3ZWcgbmVobWVuLAp1ZWJlciBkaWUgQmFobnNjaGllbmVuIHVuZCBkYW5uIGF1ZiBkYXMgR2VsYWVuZGUgdm9tIFNjaHVsemVudHJ1bS4gRGEgc2VodCBpaHIKZGllIEhhbGxlIGRhbm4gc2Nob24uIEZ1ZXIgZGllIEF1dG9mYWhyZXI6IFdlbm4gaWhyIGF1ZiBkZW0gUGFya3BsYXR6IHZvbQpTY2h1bHplbnRydW0gc3RlaHQsIG11ZXNzdCBpaHIgbGlua3MgdW0gZGllIFNjaHVsZSBydW1nZWhlbiwgYmlzIGRpZSBIYWxsZQpkYW5uIGltIFdlZyBzdGVodCA6LSkKQWJlciBpaHIgc2NoYWZmdCBkYXMgc2Nob24gLi4uCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgc2Nob24gdm9yYmVpICpzY2hudWVmZiogKEFoYWIsICA3LiBBcHIgMjAwMiwgMTU6NDk6MjEpOgpIaWhvIDotKQoKaWNoIG1vZWNodGUgYW4gZGllc2VyIFN0ZWxsZSBlaW4gZGlja2VzIERhbmtlc2Nob2VuIGFuIENhdHR5IGxvc3dlcmRlbi4KCkRpZSBQYXJ0eSBoYXQgd2lya2xpY2ggc2VociB2aWVsIFNwYXNzIGdlbWFjaHQhCgpWb3IgYWxsZW0sIGRhc3MgYXVjaCB2aWVsZSBhZWx0ZXJlIFNwaWVsZXIgYXVzZmluZGlnIGdlbWFjaHQgd2VyZGVuIGtvbm50ZW4sCmZhbmQgaWNoIGVpbiBob2NoaW50ZXJlc3NhbnRlcyAnRmVhdHVyZScgZGllc2VyIFBhcnR5IDotKQoKVmllbGVuIERhbmssIGRhc3MgSWhyIEV1Y2ggZGVuIFN0cmVzcyBtaXQgdW5zIHZlcnJ1ZWNrdGVuIE11ZGRlcm4gbWFsIHdpZWRlcgphbmdldGFuIGhhYnQgLSBhdWNoIGFuIGRpZSBmbGVpc3NpZ2VuIEhlbGZlcmxlaW4gOy0pCgpBaG9pLApBaGFiLgoKUC5TLjogc28sIG51IGlzIGRlciBsZXR6dGUgVHlwbyBhdWNoIG5vY2ggcmF1cyAqenVtZHJpdHRlbW1hbHBvc3QqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hvZW4gd2FyICdzIChTdWdhYW4sICA3LiBBcHIgMjAwMiwgMTg6MDY6MzApOgpTbyBhdXNzbmFobXdlaXNlIHNjaHJlaWJlIGljaCBhdWNoIG1hbCB3YXMgaW4gZGllc2VyIFJ1YnJpay0gdW5kIGRhIG1pciB3aWUKbWVpc3RlbnMgaW4gZGVyIE1QQSBkaWUgcmVjaHRlbiBXb3J0ZSBmZWhsZW4gLSBzYWdlIGljaCBudXIgIFNDSE9FTiBXQVIgRVMgVU5ECkhBQlQgVklFTEVOIERBTksgIC0gIGRhIHNlbGJzdCBkYXMgV2V0dGVyIG1pdGdlc3BpZWx0IGhhdCBnaWJ0IGVzIHdpcmtsaWNoCm5pY2h0cyB6dSBtZWNrZXJuIChzZWxic3Qgd2VubiBtYW4gWmF1YmVyZXIgaXN0KS4gCmdydWVzc2llcyBTdWdpIC0gZGllIG5hY2ggZGllc2VyIFBhcnR5IGVyc3RtYWwga2VpbmVuIER1cnN0IG1laHIgaGF0IDotKQoKKgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rZSBhbiBkaWUgT3JnYW5pc2F0b3JlbiAoVmlwZXIsICA3LiBBcHIgMjAwMiwgMTg6NDE6NDQpOgpOYWNoZGVtIGRpZXNlIHNjaG9lbmUgUGFydHkgdm9yYmVpIGlzdCwgbW9lY2h0ZSBpY2ggc2ljaGVybGljaCBhdWNoIGltIE5hbWVuCmRlcyB1ZWJyaWdlbiBNR2VWIFZvcnN0YW5kZXMgZGVtIE9yZ2FuaXNhdG9yZW50ZWFtLCBpbnNiZXNvbmRlcmUgQ2F0d2FlemxlCmdyb3NzZW4gRGFuayBzYWdlbi4KCkVzIGhhdCBzaWNoZXJsaWNoIHZpZWwgQXJiZWl0IGdlbWFjaHQsIGFiZXIgZXMgd2FyIGVpbmUgZ2VsdW5nZW5lIHVuZCBlaW5lIGRlcgpzY2hvZW5zdGVuIFBhcnRpZXMsIGFuIGRlbmVuIGljaCB0ZWlsZ2Vub21tZW4gaGFiZS4KClZvciBhbGxlbSB3YXIgZXMgc2Nob2VuLCBzbyB2aWVsZSAiYWx0ZSIgR2VzaWNodGVyIHdpZWRlcnp1c2VoZW4uCgpOb2NoZWlubWFsIERhbmtlISEhIQoKClZpcGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rZSAoRGVlcGJsdWUsICA3LiBBcHIgMjAwMiwgMTk6NTI6MTkpOgpIaSBDYXR0eSwgSGkgQW5kZXJlIE9yZ2FuaXNhdG9yZW4hCgpEYW5rZSBmdWVyIERpZSBzY2hvZW5lIFBhcnR5LiBXYXIgd2llZGVyIG1hbCBnYW56IHNjaG9lbi4uLgoKQ2lhbwoKRGVlcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSAoQm9pbmcsICA3LiBBcHIgMjAwMiwgMTk6NTc6MjYpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAxODIwMTkzOSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyMDE5MzkKSWNoIGZhbmRzIGF1Y2ggc3VwZXIsIERhbmtlIGFuIGRhcyBQYXJ0eS1UZWFtLiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSTC1RdWVzdHMgKEJhbWJpLCAgNy4gQXByIDIwMDIsIDIwOjA1OjA2KToKVmllbGVuIERhbmsgZnVlciBkaWUgdmllbGVuIFJMLVF1ZXN0cywgd2llIHouQi4uLgotIEZpbmRlICJkaWUgZWluemlnZSBBbXBlbCIuCi0gSG9sIERpciBlaW4gUGxvcHAuCi0gT2VmZm5lIGRpZSBFaW5nYW5nc3R1ZXIuCgouLi4uLgoKQW5zb25zdGVuIG5hdHVlcmxpY2ggdmllbGVuIERhbmsgYW4gQ2F0dHkgdW5kIGFsbGUgYW5kZXJlbiBPcmdhbmlzYXRvcmVuLApSZWZlcmVudGVuLCBTY2hva29sYWRlbmxpZWZlcmFudGVuLCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSTC1RdWVzdHMgKFRlZGR5LCAgNy4gQXByIDIwMDIsIDIwOjA4OjE5KToKfiMhIHJuPUJhbWJpIHJ0PTEwMTgyMDI3MDYgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjAyNzA2CkljaCBzY2hsaWVzc2UgbWljaCBkZW0gbWFsIGFuLgpWb3IgYWxsZW0gYXVjaCBkaWUgUkwtUXVlc3QgRnJ1ZWhzdHVlY2sgYW0gU29ubnRhZyB3YXIga2xhc3NlLiA6LSkKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb21tZXJwYXJ0eT8gKE11aGRwYXJ0eSwgIDcuIEFwciAyMDAyLCAyMDowODo1Myk6Ck5hY2hkZW0gd2lyIG51biBhbGxlIE11ZW5zdGVyIHVlYmVybGVidCBoYWJlbiB1bmQgZXMgenUga2VpbmVyIGdyb3NzZW4KTWV0emVsZWkga2FtIHN0ZWh0IG51biBkaWUgZ3Jvc3NlIEZyYWdlOgpXYW5uIHVuZCB3byBpc3QgZGllIFNvbW1lcnBhcnR5PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSTC1RdWVzdHMgKE9sbGksICA3LiBBcHIgMjAwMiwgMjA6MDk6NTkpOgp+IyEgcm49VGVkZHkgcnQ9MTAxODIwMjg5OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyMDI3MDYKSWNoIGVyaW5uZXIgbWljaCwgZGFzcyBUZWRkeSBkYSBpbSBSdXN0aWt1cyBqZWRlbSBaYXViZXJlcgpLb25rdXJyZW56IGdlbWFjaHQgaGF0LiBMYXV0ZXIgYWxzIGVyIGhhdCBrZWluZXIgZ2VqYW1tZXJ0LApkYXNzIGVyIHNjaG9uIHdhcyBnZWdlc3NlbiBoYWV0dGUgOikKCk9sbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUkwtUXVlc3RzIChEZWVwYmx1ZSwgIDcuIEFwciAyMDAyLCAyMDoxMDoxNyk6Cn4jISBybj1UZWRkeSBydD0xMDE4MjAyODk5IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODIwMjcwNgpJY2gga2FubiBtaWNoIGFuIGtlaW5lIFBhcnR5IGVyaW5uZXJuLCB3byBlcyBzb25udGFncyBmcnVlaHN0dWVjayBnYWIuRGEgZ2FicwpzY2hvbiBpbW1lciBCcnVuY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSTC1RdWVzdHMgKFRlZGR5LCAgNy4gQXByIDIwMDIsIDIwOjEwOjU1KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMTgyMDMwMTcgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjAyNzA2ClRqYSwgd2VubiBkdSBsYWVuZ2VyIGRhYmVpIHdhZXJzdCwgS2xlaW5lci4uLiAKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSTC1RdWVzdHMgKEh1bW5pLCAgNy4gQXByIDIwMDIsIDIxOjA2OjQ3KToKfiMhIHJuPVRlZGR5IHJ0PTEwMTgyMDMwNTUgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjAyNzA2Ck5hamEsIFZPUiBkZW0gUnVzdGlrdXMgaGF0IFRlZGR5IHVucyBhbGxlbiBub2NoIHdhcyB2b3JnZXNjaHdhZXJtdCB2b20KRnJ1ZWhzdHVlY2suLiBhYmVyIGRhbm4uLi4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtlIGFuIGRpZSBPcmdhbmlzYXRvcmVuIChHbG9pbnNvbiwgIDcuIEFwciAyMDAyLCAyMTo1MDo1Nik6Cn4jISBybj1WaXBlciBydD0xMDE4MTk3NzA0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODE5NzcwNApJY2ggc2NobGllc3NlIG1pY2ggZGVtIERhbmsgYW4uIE1hbCBlaW4gcmVjaHRsaWNoZSBGcmFnZSAuLi4ga2FubiBpY2gKKGFlaG5saWNoIGRlbSBSaWNodGVyIGRlciBkaWUgU3Vlc3NpZ2tlaXRlbmhlcnN0ZWxsZXIgdmVya2xhZ3QpIGRlbgpQYXJ0eWF1c3JpY2h0ZXIgd2VnZW4gZXh6ZXNzaXZlciBMZWJlcnNjaGFlZGVuIHZlcmtsYWdlbj8gOikKCkdsb2luKHNvbiksIGxhdGVudGVyIFBhcnR5YWxrb2hvbGlrZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSBhbiBkaWUgT3JnYW5pc2F0b3JlbiAoVmFuaW9uLCAgNy4gQXByIDIwMDIsIDIxOjU0OjIxKToKfiMhIHJuPVZpcGVyIHJ0PTEwMTgxOTc3MDQgcmc9cGFydHkKfiMhIHRpZD0xMDE4MTk3NzA0CkVpZ2VudGxpY2ggdmVyc3VjaGUgaWNoICdJY2ggYXVjaC4nLU1haWxzIHp1IHZlcm1laWRlbiwgYWJlciB3YXMgc29sbHM6CgpJY2ggaGFiIG1pY2ggZGllIGxldHp0ZW4gYmVpZGVuIFRhZ2Ugc2VociBndXQgYW11ZXNpZXJ0LiBEYW5rZS4gKEF1Y2ggYW4gZGllIDQKZGllIGdlc3Rlcm4gZGVuIGdhbnplbiBBYmVuZCBoaW50ZXIgZGVyIFRoZWtlIHN0YW5kZW4gdW5kIHVucyBtaXQgZGl2ZXJzZW4KRmx1ZXNzaWctIHVuZCBTdWVzc2lna2VpdGVuIHZlcnNvcmd0ZW4uKQoKViogKFNhZyBqZXR6dCBuaXgsIEJvaW5nKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJMLVF1ZXN0cyAoU2hha2VkYmVlciwgIDcuIEFwciAyMDAyLCAyMjowMDozNik6Cn4jISBybj1CYW1iaSBydD0xMDE4MjAyNzA2IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODIwMjcwNgpIaSEKCkljaCBmYW5kIGRpZSBNaW5pcXVlc3QgIkZpbmRlIGRlbiBOYW1lbiBkZXMgRnJlbWRsaW5ncyBoZXJhdXMiIGJlaSBkZXIKVmVyc2FtbWx1bmcgYXVjaCBnYW56IG5ldHQuCgpTaGFreSAtIGdyaW5zdCBUZWRkeSBhbiB1bmQgYmVkYW5rdCBzaWNoIGViZW5mYWxscyBiZWkgZGVuIE9yZ2FuaXNhdG9yZW4gZnVlcgpkdWUgZ2VsdW5nZW5lIFBhcnR5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW5rZSBhbiBkaWUgT3JnYW5pc2F0b3JlbiAoT2xsaSwgIDcuIEFwciAyMDAyLCAyMjowMTowMCk6Cn4jISBybj1WYW5pb24gcnQ9MTAxODIwOTI2MSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgxOTc3MDQKSWNoIGF1Y2guCgpPbGxpIGdyaW5zdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUkwtUXVlc3RzIChUZWRkeSwgIDcuIEFwciAyMDAyLCAyMjowMToxMCk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTEwMTgyMDk2MzYgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjAyNzA2CkljaCB3ZWlzcyBpaG4sIGljaCB3ZWlzcyBpaG4uLi4gOi0pCgpUZWRkeSwgZ2VnZW4gbmV1ZSBNdWRnb2V0dGVyIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSTC1RdWVzdHMgKEZyZWRlcmljaywgIDcuIEFwciAyMDAyLCAyMjoxODoxMSk6Cn4jISBybj1UZWRkeSBydD0xMDE4MjAyODk5IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODIwMjcwNgpFcyBnYWIgZG9jaCBGcnVlaHN0dWVjay4gSW0gUnVzdGlrdXMuCkZyZWRlcmljay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1lIHRvbyAoS2FkYWJyYSwgIDcuIEFwciAyMDAyLCAyMjo1MzozOSk6ClZpZWxlbiBoZXJ6bGljaGVuIERhbmsgYW4gQ2F0d2VhemxlIHVuZCBhbGxlIE9yZ2FuaXNhdG9yZW4gdW5kIGFuIFN1Z2Fhbgp1bmQgQ3JpdHRlciB1bmQgZGllIGhlcnppZ2VuIFNjaHd5emVyIHVuZCBhbiBkaWUgZGllIE11Y2tlIGF1ZmdlbGVndAp1bmQgYXVzZ2VzdWNodCBoYWJlbiB1bmQgbGFzdCBidXQgbm90IGxlYXN0IGFuIGRpZSBNdWVsbHNhY2txdWVzdGVyLiBJaHIKd2FydCB0b2xsIDotKSBJY2ggaGF0dGUgdmllbCBTcGFzcyA6LSkhISEKS251ZGRlbHMsCmthZGFicmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZSB0b28gKEFwb2xsb25pYSwgIDguIEFwciAyMDAyLCAwODoxNTowNyk6Cn4jISBybj1LYWRhYnJhIHJ0PTEwMTgyMTI4MTkgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjEyODE5ClRqYSwgaWNoIHNjaGxpZXNzIG1pY2ggYW4uIFZvbiBkZW4gNSBNdWRmZXRlbiwgYmVpIGRlbmVuIGljaCBiaXNoZXIgbWl0IGRhYmVpCndhciwgd2FyIGRhcyBkaWUgQmVzdGUuIFVlYmVydHJhZiBzZWxic3QgV2ludGVyYnVyZyBpbSBTb21tZXIgMTk5OS4gQXVzc2VyZGVtCndhcidzIGVpbmVyIGRlciBzY2hvZW5zdGVuIEdlYnVydHN0YWdlLCBhbiBkaWUgaWNoIG1pY2ggZXJpbm5lcm4ga2FubiA6bykKClZpZWxlbiBsaWViZW4gRGFuayEKClVuZCwgQ2F0dHksIGljaCBob2ZmZSwgZGVyIFRlcXVpbGEgaGF0IGdlc2NobWVja3QgO28pCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWUgdG9vIChIdW1uaSwgIDguIEFwciAyMDAyLCAwODoxNTo1Nik6Cn4jISBybj1LYWRhYnJhIHJ0PTEwMTgyMTI4MTkgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjEyODE5Ckthbm4gbWljaCBudXIgYW5zY2hsaWVzc2VuLCBicmF1Y2ggYXVjaCBnYXIgbmljaHQgdmllbCB6dSBzYWdlbiwgYXVzc2VyIGVpbmVtCmRpY2tlbiBEYW5rZSBub2NobWFsIGFuIE11cmtlcyB1bmQgZGFzIEJhaG5ob2YtVGVhbSBmdWVyIGRpZSB0b2xsZQpVbnRlcnN0dWV0enVuZyBiZWkgZGVuIFZvcnRyYWVnZW4uIEFuIENhdHR5IG5hdHVlcmxpY2ggYXVjaCwgZWJlbnNvIFN1Z2kgdW5kCkNyaXR0ZXIgdW5kIGFsbGUgZGllIGljaCBnZXJhZGUgdmVyZ2Vzc2VuIGhhYmUuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSTC1RdWVzdHMgKFpvb2ssICA4LiBBcHIgMjAwMiwgMDk6Mjk6MzQpOgp+IyEgcm49VGVkZHkgcnQ9MTAxODIwMjg5OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyMDI3MDYKSWNoIGdsYXViLCBEZWluZSBzY2h3aWVyaWdzdGUgUkwtUXVlc3Qgd2FyICJGaW5kZSBkZW4gbmV1ZW4gTXVkZ290dCIgOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSTC1RdWVzdHMgKFpvb2ssICA4LiBBcHIgMjAwMiwgMDk6MzE6MDMpOgp+IyEgcm49Wm9vayBydD0xMDE4MjUwOTc0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODIwMjcwNgpBaGguLi4gbWFuIHNvbGx0ZSBkZW4gVGhyZWFkIGtvbXBsZXR0IGxlc2VuIDspIE5hamEsIGVnYWwuIDotKQoKWm9vayBncmluc3QgVGVkZHkgYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1lIHRvbyAoUnVtYXRhLCAgOC4gQXByIDIwMDIsIDEwOjMyOjE0KToKfiMhIHJuPUh1bW5pIHJ0PTEwMTgyNDY1NTYgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjEyODE5CkphLCBkaWUgUGFydHkgd2FyIHdpcmtsaWNoIHRvbGwsIGFjaCB3ZW5uIG1laW5lIGxldmVyIG5peCBkYXZvbiBoYXR0ZSEKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1lIHRvbyAoQW50aGVhLCAgOC4gQXByIDIwMDIsIDExOjE3OjI0KToKfiMhIHJuPVJ1bWF0YSBydD0xMDE4MjU0NzM0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODIxMjgxOQpKYWphLCBlcyB3YXIgZWNodCBmYXN6aW5pZXJlbmQuLi4gZGEga29tbXQgbWFuIG5hY2ggc29vb29vIHZpZWxlbiBKYWhyZW4Kd2llZGVyIGlucyBNdWQsIGdlaHQgYXVmIG5lIFBhcnR5Li4uIHVuZCBrZW5udCBpbW1lciBub2NoIHZpZWxlIExldXRlIDspCkhhdCB3aXJrbGljaCB3aWVkZXIgU3Bhc3MgZ2VtYWNodC4gV2lyIHNlaGVuIHVucyBkYW5uIGphIGFsbGUgaW4gMTAgSmFocmVuCndpZWRlciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS3VsdHVyYmV1dGVsIGdlZnVuZGVuLiAoTXVya2VzLCAgOC4gQXByIDIwMDIsIDExOjQ5OjE4KToKTW9pbiBtb2luLApNb2luIG1vaW4sCmlyZ2VuZHdlciBoYXQgc2VpbiBsZXR6dGVzIGJpc3NjaGVuIEt1bHR1ciBpbiBkZXIgSGFsbGUgdmVyZ2Vzc2VuLiBBbHNvIHdlcgpTZWhuc3VjaHQgbmFjaCBzZWluZW4gQmFzaWNzIGhhdCwgbWFnIHNpY2ggYmVpIG1pciBtZWxkZW4uCgpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnRyYWdzZm9saWVuLi4uIChab29rLCAgOC4gQXByIDIwMDIsIDEyOjAyOjA3KToKSWNoIGhhYiBkaWUgRm9saWVuIG1laW5lcyBrbGVpbmVuIFZvcnRyYWdzIG1hbCBpbnMgTmV0eiBnZXN0ZWxsdC4gSXMgbmVuClBERi1GaWxlICgxNEspLiBadSBmaW5kZW4gdWViZXIgZGllIFBhcnR5LVNlaXRlbi4gOi0pCgpodHRwOi8vbWcubXVkLmRlL1BhcnR5L1BhcnR5LjE5LwoKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rZSBhbiBnYWFhYWFhbm5ubm56IHZpZWxlIChNdXJrZXMsICA4LiBBcHIgMjAwMiwgMTI6MDc6MDMpOgpNb2luIG1vaW4sCk1vaW4gbW9pbiwKYWxzbyBuYWNoZGVtIGljaCBqZXR6dCB3aWVkZXIgd2FjaCBiaW4sIG5pY2h0IG1laHIgbmViZW4gbWlyIHN0ZWhlLCBkaWUgUmVzdGUKYXVzIGRlbSBCYWhuaG9mIGFiZ2Vob2x0IGhhYmUgdW5kIGpldHp0IHp1ZnJlaWVkZW4gZGllIHBhcnR5cnVicmlrIGxlc2UsCm1vZWNodGUgaWNoIG1pY2ggYmVpIGRlbiBnYW56IHZpZWxlbiBIZWxmZXJuIGJlZGFua2VuIQoKWnVtIEJlaXNwaWVsIGJlaSBBbmF0b2wsIG9obmUgZGVzc2VuIGhhbmR3ZXJrbGljaGVuIEdlc2NoaWNrcyB3aXIgZGFzIExpY2h0IGluCmRlciBIYWxsZSBuaWNodCBhdXNnZWtyaWVndCBoYWV0dGVuCmJlaSBNaWV6ZSwgZGllIGRhZnVlciBnZXNvcmd0IGhhdCwgZGFzcyBkaWUgSGFsbGUgaGludGVyaGVyIHNvIHNhdWJlciB3YXIsCmRhc3Mgc29nYXIgZGVyIGVrbGlnc3RlIHBlbmliZWxzdGUgYWxsZXIgdW5zZXIgSGFsbGVud2FydGUgaW4gV29sYmVjayBuaWNodHMKenUgbWVja2VybiBoYXR0ZQpiZWkgQ3JpdHRlciwgU3VnYWFuLCBGcmFueiB1bmQgLi4uIGZ1ZXIgZGllIHN1cGVyIFRoZWtlbmFyYmVpdApiZWkgTGFyaW5hLCBkaWUgaW1lciB1bmQgdWViZXJhbGwgbWl0aGFsZgphbHNvIHZpZWxlbiBEYW5rIHVuZCBuaWNodCBib2VzZSBzZWluLCB3ZW5uIGljaCBuaWNodCBhbGxlIG5hbWVudGxpY2gKZXJ3YWVobmUuIEljaCBrYW5uIGphIG5pY2h0IGRpZSBnYW56ZSBQYXJ0eWxpc3RlIGFic2NocmVpYmVuIC4uLiAuIApNaXIgaGF0J3MgdHJvdHogZGVyIEFyYmVpdCB2aWVsIFNwYXNzIGdlbWFjaHQuIApBY2ggamEsIGRhcyBCYWhuaG9mc3RlYW0gIG1laW50ZSBudXI6IEtvbW10IG1hbCB3aWVkZXIsIHdhciBuZSBnZWlsZSBQYXJ0eSwKa2VpbiBTdHJlc3MsIHZlcm51ZW5mdGlnZSBMZXV0ZSAobmFqYSwgc2llIGtlbm5lbiB1bnMgbmljaHQgd2lya2xpY2gpIGhhdCB1bnMKU3Bhc3MgZ2VtYWNodC4KCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVyd29jaGUgaW4gT2VzdGVycmVpY2ggKEtla3MsICA4LiBBcHIgMjAwMiwgMTM6NDI6MTcpOgpOSUNIVCBsYWNoZW4gLSBkYXMgaXN0IG1laW4gZHJpdHRlciB2ZXJzdWNoLi4uIGFsc286IGljaCBoYWIgbWljaCB3ZWdlbiBlaW5lcgpzb21tZXItcGFydHktd29jaGUgaW4gb2VzdGVycmVpY2ggbWFsIHVudmVyYmluZGxpY2ggZXJrdW5kaWd0IC0gd2lyIGhhZXR0ZW4KaGllciAodGVybml0eiA9IDcwIGttIHZvbiB3aWVuIC0gNjAga20genVtIG5ldXNpZWRsZXIgc2VlID0gdW5nYXJuIC0gMzAga20genVtCnNjaG5lZWJlcmcgLSA0MDAga20gYmlzIHp1ciBkZXV0c2NoZW4gZ3JlbnplKSBlaW5lIGhlcmJlcmdlIG1pdCAzMiBiZXR0ZW4gLQpkaWUgdWViZXJuYWNodHVuZyBrb3N0ZXQgNyw1MCBldXJvIHBybyBuYWNodCAoc2luZCA1MiBldXJvIGZ1ZXIgMSB3b2NoZSkgLQpzZWxic3R2ZXJzb3JnZXIgKGljaCB0cmF1IG1pY2ggZ3JhZCBrZWluZW4gcHVua3Qgc2NocmVpYmVuISAqbGFjaCopIC0gdW5kCnBhcnR5IHdhZXIgYXVjaCBtb2VnbGljaCAtIGRpZSBoYWV0dGVuIGhhbHQgSkVUWlQgaW0gbW9tZW50IG5vY2ggZGllIGxldHp0ZQpqdWxpLXdvY2hlIGZyZWkgLSBrb2VubnRlIGFiZXIga25hcHAgd2VyZGVuISEgbWlyIGZlaGx0IGFsbGVyZGluZ3MgZ3JhZCBlaW5lCnN0cmF0ZWdpZSBXSUUgaWNoIGRpZSBwbGFudW5nIGFuZ2VoZW4ga29lbm50ZSEgd2VyIGFsc28gRVJOU1RIQUZUICg9Cm1pbmRlc3RlbnMgOTAlIGtvbW0td2FocnNjaGVpbmxpY2hrZWl0KSBmdWVyIGRpZSBsZXR6dGUganVsaS13b2NoZSBpbnRlcmVzc2UKaGF0LCBkZXIgbW9lZ2UgbWlyIGJpdHRlIG1haWxlbiEgbWFnLmhhc2lAYW9uLmF0IChpc3QgYWJlciBhbGxlcyBub2NoIGluIGRlcgpkYXJ1ZWJlci1uYWNoZGVuay1waGFzZSwgamEhISEhKSAqa2VrcyAtIGluIGRlciBob2ZmbnVuZywgZGllIHNhZXR6ZSBtb2VnZW4KamV0enQgbmljaHQgd2llZGVyIGFsbGUgZG9wcGVsdCBkYXN0ZWhlbiBvZGVyIHNvKiAodW5kIG5vY2ggZWluZSB1bWFybXVuZyBhbgphbGxlIHN1cGVyc3Vlc3NlbiBsZXV0ZSwgZGllIGljaCBpbiBkZXV0c2NobGFuZCBnZXRyb2ZmZW4gaGFiISkqKgotYSB0ZXN0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJMLVF1ZXN0cyAoQWxjaW5hLCAgOC4gQXByIDIwMDIsIDE1OjAxOjIyKToKfiMhIHJuPVRlZGR5IHJ0PTEwMTgyMDI4OTkgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjAyNzA2CgpTdGltbXQsIGhhdCBTcGFzcyBnZW1hY2h0LiBBdWNoIGRpZSBRdWVzdGJlbG9obnVuZyB3YXIgcHJpbWEgO28pIERhbmtlIGFuIGRhcwpQYXJ0eS1PcmdhLVRlYW0hCgpBbGNpbmEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2UgYW4gZ2FhYWFhYW5ubm5ueiB2aWVsZSAoQWxjaW5hLCAgOC4gQXByIDIwMDIsIDE1OjA0OjA4KToKfiMhIHJuPU11cmtlcyBydD0xMDE4MjYwNDIzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODI2MDQyMwoKLi4uIGRlbiBEYW5rIHdpbGwgaWNoIGdsZWljaCBhbiBkaWUgdmllbGVuIEhlbGZlcmxlaW4gYmVpbSBIYWxsZXJlaW5pZ2VuCndlaXRlcnJlaWNoZW4uIERhbmtlIEV1Y2ggO28pCgpBbGNpbmEgYWxpYXMgTWllemUgCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTlBDcyB1bmQgc28uLi4gKEh1bW5pLCAgOC4gQXByIDIwMDIsIDE1OjA3OjI1KToKSHVodSBhbGxlLAoKenUgbWVpbmVtIFZvcnRyYWcgaGFiIGljaCBtYWwgd2FzIHp1c2FtbWVuZ2VzY2hyZWlic2VsdCwgZGFyYW4gc29sbHRldCBJaHIKdWViZXIgYW5vbnltb3VzLWZ0cCBrb21tZW4sIHVudGVyIC9vcGVuL1RleHRlL1NlbWluYXIvIGxpZWdlbiB6d2VpIEZpbGVzCm5hbWVucyBOUENzVGV4dCBlaW5tYWwgYWxzIC5kdmkgdW5kIGVpbm1hbCBhbHMgLnBkZiAtIHdhcyBFdWNoIGxpZWJlciBpc3QuLi4KCkljaCBoYWIgaGFsdCBuaWNodCBkaWUgRm9saWVuIGdlbm9tbWVuIHNvbmRlcm4gZGVua2UgZGFzcyBtYW4gbWl0IGRlbSBUZXh0IHNvCmJlc3NlciBrbGFya29tbXQuCgpIdW1uaQpQUzogZnRwIG5hdHVlcmxpY2ggYXVmIG1nLm11ZC5kZSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvcnJla3R1ci4uLiAoSHVtbmksICA4LiBBcHIgMjAwMiwgMTU6MTI6MDkpOgpkYXMgL29wZW4gbXVlc3N0IGlociBiZWkgYW5vbnltZW4gZnRwIHdlZ2xhc3Nlbi4gRGFua2UgYW4gUmlrdXMgZnVlciBkZW4KSGlud2VpcywgZXMgZ2VodCBkaXJla3QgbWl0IC9UZXh0ZSBsb3MsIGFsc28gL1RleHRlL1NlbWluYXIvTlBDc1RleHQuPGVuZHVuZz4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppY2ggYXVjaCBub2NobWFsIChQZXJkaXRhLCAgOC4gQXByIDIwMDIsIDE2OjMyOjQzKToKamEsIGFsc28sIG1pciBoYXQgZGllIHBhcnR5IGF1Y2ggZ3V0IGdlZmFsbGVuLCB1bmQgYXVjaCBpY2ggZGFua2UgZGVuCm9yZ2FuaXNhdG9yZW4gdW5kIGhlbGZlcm4gdW5kIHVuZCB1bmQuLi4KYW5zb25zdGVuIGlzdCBnbGF1YiBpY2ggc293aWVzbyBzY2hvbiBzbyBndXQgd2llIGFsbGVzIGdlc2FndCB3b3JkZW4sIHdhcwpnZXNhZ3Qgd2VyZGVuIGthbm4uClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG9lbiB3YXJzLiAoQ2F0d2VhemxlLCAgOC4gQXByIDIwMDIsIDE3OjIyOjQ2KToKS3Vja3VjayEKCk1lbm5vLCBpc3MgYmFsZCBndXQgOikKCldhcyBpaHIga29lbm50IGthbm4gaWNoIHNjaG9uIGxhbmdlLi4uCgpJY2gga29lbm50IHVucyBzb3ZpZWwgZGFua2VuIHdpZSBpaHIgbHVzdGlnIHNlaXQsIGVpbmUgUGFydHkgaXN0IGltbWVyIG51ciBzbwp3aWUgZGllIEdhZXN0ZSBkaWUga29tbWVuLiBEYWhlciBnYW56IGtsYXIgdm9uIG1pciBlaW4gZ3Jvc3NlcyBEYW5rZXNjaG9lbiwKZGFzIGlociBnZWtvbW1lbiBzZWlkIHVuZCB2b3IgYWxsZW0sIGRhcyBpaHIgc292aWVsIFNwYXNzIGdlaGFidCBoYWJ0LgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaYWhsZW5zcGllbGUgKENhdHdlYXpsZSwgIDguIEFwciAyMDAyLCAxNzozOTowNCk6Ck1vaW4uCgpXZWlscyBldWNoIGphIHNvd2llc28gaW50ZXJlc3NpZXJ0LCBlaW4gcGFhciBaYWhsZW4uCgpNaXQgYWxsZW4gTmFjaHphaGxlcm4sIGRpZSBtaXIgbm9jaCBlaW5nZWZhbGxlbiBzaW5kLCB3YXJlbiBleGFrdCAoc28gZXhha3QKd2llcyBoYWx0IGdlaHQgOi0pIDE2MSBMZXV0ZSBhdWYgZGVyIFBhcnR5LgoKRGFzIHdpY2h0aWdzdGUsIGljaCBoYWIgamV0enQgaG9mZmVudGxpY2ggYWxsZSBSZWNobnVuZyBiZWlzYW1tZW4gdW5kIGthbm4Kc2FnZW4sIGRhcyBpY2ggZG9jaCBQbHVzIGdlbWFjaHQgaGFiZS4gVW50ZXJtIFN0cmljaCBzaW5kIDE2NywxNCBFdXJvCnVlYnJpZ2dlYmxpZWJlbi4gSGFldHRlIGljaCBGcnVlaHN0dWVja2tvc3RlbiAofjEwMCBFdXJvKSwKQWJlbmRrYXNzZW5lcmhvZWh1bmcgKH43MCBFdXJvKSB1bmQgU3BlbmRlbiAofjgwIEV1cm8pIHdlZ2dlbGFzc2VuIGhhZXR0cwpuaWNodCBnZXJlaWNodC4gRGEgZXMga2VpbmUgUGFydHlrYXNzZSBtZWhyIGdpYnQsIGdlaHQgZGFzIFBsdXNnZWxkIGFscyBTcGVuZGUKYW4gZGVuIFZlcmVpbi4KCkljaCBoYWIgZGllIEZldGUgYmlzIGF1ZiB3ZW5pZ2UgV2luemJldHJhZWdlIGtvbXBsZXR0IGFsbGVpbmUgZHVyY2hmaW5hbnppZXJ0LgpJY2ggZW1wZmVobGUgZXVjaCBmdWVyIGRpZSBadWt1bmZ0IGRhcyBuaWNodCB6dSB0dW4gOikKT2huZSBhdWYgYWxsZSBCZXRyYWdlIGVpbmdlaGVuIHp1IHdvbGxlbiwgaWNoIGhhYmUgaW5jbC4gYWxsZXIgS29zdGVuIChhdWNoClRzaGlydHMpIGV0d2EgMzk1MCBFdXJvIHVtZ2VzZXR6dC4gRGFzIGlzdCBlaW4gaGVmdGlnZXIgQmF0emVuIHVuZCBiaXNoZXIgZGllCnRldWVyc3RlIFBhcnR5LCBkaWUgaWNoIGplIGdlbWFjaHQgaGFiZS4gV2FzIHR1dCBtYW4gbmljaHQgYWxsZXMgZnVlcnMKMTAtSmFlaHJpZ2UgOikKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFphaGxlbnNwaWVsZSAoQ2F0d2VhemxlLCAgOC4gQXByIDIwMDIsIDE3OjM5OjUyKToKfiMhIG9uPUFudGhlYSBvdD0xMDE4MjgwMjg2IG9nPW1lZ2FzY2htYXJybgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTgyODAxNjIgcmc9bWVnYXNjaG1hcnJuCn4jISB0aWQ9MTAxODI4MDE2MgpIYXN0ZWFiZXJlY2h0Z3V0Z2VtYWNodCAqY2F0dHlhdWZkaWVzY2h1bHRlcmtsb3BmKgogOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLb3JyZWt0dXIuLi4gKFpvb2ssICA4LiBBcHIgMjAwMiwgMTk6NDA6NTQpOgp+IyEgcm49SHVtbmkgcnQ9MTAxODI3MTUyOSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyNzE1MjkKU29sbCBkYXMgYXVjaCBhdWYgZGllIFdXVy1TZWl0ZW4/IDspCgpab29rIHdpcmQgaW4gQmFlbGRlIG1hbCBkaWUgZ2FuemVuIFZvcnRyYWdzLUdlc2NoaWNodGVuIHp1c2FtbWVuIHBhY2tlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnRyYWVnZSBhdWYgUGFydHlzIChab29rLCAgOC4gQXByIDIwMDIsIDE5OjU4OjUyKToKWnUgIlZvcnRyYWVnZW4gYXVmIFBhcnR5cyIgaGFiIGljaCBuZW4gQXJ0aWtlbCBpbiBkZXIgUnVicmlrIAoibW9yZ2VuZ3JhdWVuLnZlcmVpbiIgZ2VzY2hyaWViZW4uIEljaCB3ZWlzcyBuaWNodCwgb2IgZGllIFJ1YnJpayBzbwpvZnQgZ2VsZXNlbiB3aXJkLCBkZXNoYWxiIGhpZXIgZWluIGtsZWluZXIgSGlud2VpcyBkYXJhdWYuCgpab29rLCBkZXIgeHBvc3RlbiBzb25zdCBhdWNoIG5pY2h0IG1hZy4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOUENzIHVuZCBzby4uLiAoWm9vaywgIDguIEFwciAyMDAyLCAyMDowMjo1NSk6Cn4jISBybj1IdW1uaSBydD0xMDE4MjcxMjQ1IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODI3MTI0NQpPZWguLiBrYW5uIGVzIHNlaW4sIGRhc3MgZGFzIG5pY2h0IGxlc2JhciBpc3Q/Cgpab29rIGJla29tbXQgbmljaHQgd2lya2xpY2ggdmllbCB6dSBzZWhlbiBvZGVyIG11c3Mgc2ljaCBkYXMgZXJzdCBpbiAKZWluZW0gZXZvbHV0aW9uYWVyZW4gUHJvemVzcyBlbnR3aWNrZWxuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLi4uLnVuZCBub2NoIGVpbmVyIChBbmNhbGFnb24sICA5LiBBcHIgMjAwMiwgMDA6MTc6NDcpOgpIYWxsb2VjaGVua251ZGRlbHMhCkF1Y2ggd2VubiBDYXR0eSwgZGllIGdhbnplbiBEYW5rZXNzcHJ1ZWNoZSBzY2hvbiBiaXMgenVtIEhhbHMgc3RlaGVubGVnLCBpY2gKbm9jaCBlaW5lbiBkYXp1OgoKQWxsZW4sIGRpZSBpcmdlbmRldHdhcyB6dXIgZmV0ZSBiZWlnZXRyYWdlbiBoYWJlbiAodW5kIHNlaXMgYXVjaCBudXIgZ3V0ZQpMYXVuZSkgZWluZW4gaGVyemxpY2hlbiBEYW5rIGRhZnVlci4KSWNoIGZhbmRzIHRvbGwsIGRhc3Mgc292aWVsZSBsZXV0ZSBkZGEgd2FyZW4gZGllIGljaCBrYW5udGUsIHVuZC9vZGVyIGRpZSBtaWNoCmthbm50ZW4gdW5kIGljaCB3dWVuc2NoZSBhbGxlbiBkZW5lbiB2aWVsIFNwYXNzLCBkaWUgbWljaCBkZW1uYWVjaHN0Cmtlbm5lbmxlcm5tZW4gd2VyZGVuICpncmluc2VrbnVkZGVscyoKCkhlcnpsaWNoc3QgQW5jYWxhZ29uCkRyYWNvIGtudWRkZWxsZW5zaXMgbWFqb3IKClAuUy46IGFsbGVyc3BhZXRlc3RlbnMgenVtIDE1LWphZWhydWdlbiBiaW4gaWNoIHdpZWRlciBkYWJlaSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUkwtUXVlc3RzIChUZWRkeSwgIDkuIEFwciAyMDAyLCAwMToxOTozOCk6Cn4jISBybj1ab29rIHJ0PTEwMTgyNTA5NzQgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjAyNzA2Ck9oLCBoYWJlbiB3aXIgbmVuIG5ldWVuPyA7KQoKVGVkZHksIHdpcmQgdmVyc3VjaGVuIHNpY2ggZGFzIEdlc2ljaHQgenUgbWVya2VuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmFobGVuc3BpZWxlIChUZWRkeSwgIDkuIEFwciAyMDAyLCAwMToyNDozOSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxODI4MDM0NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKRGFubiBkYW5rZSBpY2ggZGlyIGltIE5hbWVuIGRlcyBWZXJlaW5zIGdhbnogaGVyemxpY2ggZnVlciBkaWUgU3BlbmRlIHVuZCBkaWUKT3JnYW5pc2F0aW9uIGRlcyBTaXR6dW5ncy0gdW5kIFNlbWluYXJyYXVtcy4gCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOUENzIHVuZCBzby4uLiAoSHVtbmksICA5LiBBcHIgMjAwMiwgMDg6MjU6MjYpOgp+IyEgcm49Wm9vayBydD0xMDE4Mjg4OTc1IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODI3MTI0NQpIbXBmLCBkYSBpc3Qgd29obCB3YXMgc2NoaWVmZ2VsYXVmZW4uIEVpbiBkdmktRmlsZSBtaXQgOCBCeXRlcyBtYWNodCBuaWNodAp3aXJrbGljaCBTaW5uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWUgdG9vIChXb29keSwgIDkuIEFwciAyMDAyLCAxMToxMjozNik6Cn4jISBybj1BcG9sbG9uaWEgcnQ9MTAxODI0NjUwNyByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyMTI4MTkKSWNoIHNjaGxpZXNzIG1pY2ggKG5pY2h0IGdhbnogenVmYWVsbGlnKSBnZW5hdSBkaWVzZW0gQXJ0aWtlbCBhbi4gOykKCldvb2R5Li0gKG1pdCBlaW5lbSBKYWhyIFZvcnNwcnVuZykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbmQgbm9jaG4gVHNoaXJ0IChDYXR3ZWF6bGUsICA5LiBBcHIgMjAwMiwgMTE6NDE6NTYpOgpNb2luIQoKSWNoIGhhYiB3YWVocmVuZCBkZXIgUGFydHkgbWFsIHdpZWRlciBlbm9ybSB2aWVsZSBOYWNoZnJhZ2VuIG5hY2gKVHNoaXJ0LU5hY2hiZXN0ZWxsdW5nZW4gYmVrb21tZW4uIEFsc28gZ2lidHMgbmUgTmFjaGJlc3RlbGx1bmcuLi4KCldlbm4gRHUgbm9jaCBlaW4gVHNoaXJ0IG5hY2hiZXN0ZWxsZW4gbW9lY2h0ZXN0LCBkYW5uIHNjaHJlaWIgbmFjaCBkZW4KYmVrYW5udGVuIFJlZ2VsbiBlaW5lIE1haWwgYW4gZGVuIFNwaWVsZXIgJ3RzaGlydCcgbWl0IGRlbSBJbmhhbHQ6CgpOYW1lIGRlciBhdWZzIFRzaGlydCBzb2xsCmdld3VlbnNjaHRlIFRzaGlydC1Hcm9lc3NlIAoKV2llIGRpZSBUc2hpcnRzIGF1c3NlaGVuIHNvbGx0ZSBqYSBudSBiZWthbm50IHNlaW4uCgpJY2ggc2FtbWVsIEJlc3RlbGx1bmdlbiBiaXMgRW5kZSBBcHJpbC4gQXVzbGllZmVybiB3ZXJkZSBpY2ggZGllIFRzaGlydHMKZW50d2VkZXIgcGVyIFBvc3Qgb2RlciBwZXIgU3RhbW10aXNjaHRyYW5zcG9ydC4gQWNoc29qYSwgaWhyIHNvbGx0ZXQgaW4gRXVyZXIKQmVzdGVsbHVuZ3NtYWlsIGF1Y2ggYW5mdWVnZW4sIHdpZSBpaHIgZGFzIFRzaGlydCBiZWtvbW1lbiB3b2xsdCB1bmQKbm9ldGlnZW5mYWxscyBlaW5lIEFkcmVzc2UgbWl0IGFuZ2ViZW4uIAoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXIgKEFudGhlYSwgIDkuIEFwciAyMDAyLCAxMjoxMDo0Nik6ClNvLCBpY2ggaGFiZSBlcyBnZXNjaGFmZnQ6IEVyc3RlciBSb2hpbmRleCB6dSBkZW4gNjAgQmlsZGVybiBpc3QgZXJzdGVsbHQuIEVzCnNpbmQgZWlnZW50bGljaCBrZWluZSBib2VzZW4gQmlsZGVyIGRhYmVpLCB1bmQgbWVpbiBOYW1lbnNnZWRhZWNodG5pcyBpc3QKZWluZmFjaCBncmF1c2FtLCBpbnNvZmVybiB3aXJkIGRlciBJbmRleCB3b2hsIG5vY2ggbWFsIG5hY2hnZWJlc3NlcnQgd2VyZGVuIDspClNvYmFsZCBab29rIG9kZXIgd2VyIGF1Y2ggaW1tZXIgc2ljaCBkYXp1IGJlcnVmZW4gZnVlaGx0IHNpY2ggaW4gZGVyIExhZ2UKc2llaHQsIGRpZSBCaWxkZXIgYXVmIGRlbiBTZXJ2ZXIgenUgc2NobWVpc3Nlbiwgc29sbHRlbiBzaWUgdmVyZnVlZ2JhciBzZWluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFphaGxlbnNwaWVsZSAoTHV6aWUsICA5LiBBcHIgMjAwMiwgMTU6NDA6NDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTgyODAzNDQgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0CmRhIGthbm4gaWNoIG1pY2ggdGVkZHkgbnVyIGFuc2NobGllc3NlbiA6LSkKCmxpZWJlIGdydWVzc2UsCmx1emllCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtvcnJla3R1ci4uLiAoTHV6aWUsICA5LiBBcHIgMjAwMiwgMTU6NDY6NTApOgp+IyEgcm49Wm9vayBydD0xMDE4Mjg3NjU0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODI3MTUyOQp3YWVyIGphIGF1Y2ggc2lubnZvbGwsIGRhcyBhdWNoIGRhIHJlaW56dWtsZWJlbiwgaG0/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZGVyIChBbnRoZWEsICA5LiBBcHIgMjAwMiwgMjE6MTg6NDgpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTgzNDcwNDYgcmc9cGFydHkKfiMhIHRpZD0xMDE4MzQ3MDQ2ClNvLCBab29rIHNlaSBEYW5rLCBkaWUgQmlsZGVyIHNpbmQgdmVyZnVlZ2JhciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHliaWxkZXIuIChXb29keSwgMTAuIEFwciAyMDAyLCAxNjowNzoxMSk6CkhpLAoKYmlzIFpvb2sgKG9kZXIgUm9jaHVzIG9kZXIgc29uc3R3ZXIpIGRpZSBCaWxkZXIgYXVzIGRlbSBGVFAgaW5jb21pbmcKaW5zIE1HLVdlYiBnZXN0ZWxsdCBoYWJlbiwgc2luZCB1bnNlcmUgQmlsZGVyIGVpbnN0d2VpbGVuIGhpZXIKYWJydWZiYXIgW2luY2wuIEFubWVya3VuZ2VuXToKCiAgICAgICAgaHR0cDovL3d3dy5zaWxiZXJsYW5kLmF0L01HLwoKU29ycnkgZnVlciBkaWUga2V0emVyaXNjaGUgQWRyZXNzZS4gV2lsbCBqYSBhdWNoIG1laW5lbiBTcGFzcyBoYWJlbiA7KQoKCldvb2R5Li0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmFobGVuc3BpZWxlIChDdWNodWxsaW4sIDExLiBBcHIgMjAwMiwgMTc6NDM6NTUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTgyODAzNDQgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0Cj4gRGEgZXMga2VpbmUgUGFydHlrYXNzZSBtZWhyIGdpYnQsIGdlaHQgZGFzIFBsdXNnZWxkIGFscyBTcGVuZGUKPiBhbiBkZW4gVmVyZWluLgoKU2Nob2VuIGZ1ZXIgZGVuIFZlcmVpbi4gTWljaCB3dWVyZGUgdHJvdHpkZW0gaW50ZXJlc3NpZXJlbiwgd28gZGllClBhcnR5a2Fzc2UgZ2VibGllYmVuIGlzdC4gQmlzIHdvaGluIGdhYiBlcyBkZW5uIGVpbmU/IFdlciBoYXQgZGEKenVsZXR6dCBhYmdlcmVjaG5ldD8KClVuZCB1ZWJlcmhhdXB0IGZhZW5kZSBpY2ggZWluZSBtb2VnbGljaHN0IGdlbmF1ZSBBYnJlY2hudW5nIHNlaHIKaW50ZXJlc3NhbnQsIHNjaG9uIGFsbGVpbiB1bSBPcmdhbmlzYXRvcmVuLWluLXNwZSBBbmhhbHRlIHp1IGdlYmVuLgoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaG9lbiB3YXJzLiAoQmlyZHksIDExLiBBcHIgMjAwMiwgMTc6NDY6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTgyNzkzNjYgcmc9cGFydHkKfiMhIHRpZD0xMDE4Mjc5MzY2Cldlbm4gbWFuIGRpZSBHYWVzdGUgc28gaW0gR3JpZmYgaGF0OgooRnJ1ZWggdWVidCBzaWNoOikpIG1nLm11ZC5kZS9QYXJ0eS9QYXJ0eS40L2ZvdG9zLm5pY2h0cy9iaWxkMDIuanBnCgpCaXJkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBaYWhsZW5zcGllbGUgKENhdHdlYXpsZSwgMTEuIEFwciAyMDAyLCAyMDowNDo0Myk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAxODUzOTgzNSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKRGFzIGVzIGVpbmUgZ2FiIGlzdCBlY2h0IHNjaG9uIHdhcyBoZXIuIEljaCBoYWIgdm9yIEphaHJlbiBtYWwgZWluIEtvbnRvCmdlaGFidCwgdm9uIGRlbSBhdXMgaWNoIHVuZCBkaWUgendpc2NoZW56ZWl0bGljaGVuIFBhcnR5b3JnYW5pc2F0b3JlbgpnZXNjaG9lcGZ0IGhhYmVuLgpBbHMgZGFubiBkaWUgWmVpdCBrYW0gd28gbWljaCBkaWUgQmFuayBnZWFlcmdlcnQgaGF0IHVuZCBpY2ggc2FndGUsIGRhcyBpY2gKJ25pZSB3aWVkZXIgZWluZSBQYXJ0eScgb3JnYW5pc2llcmVuIHdvbGx0ZSwgaGFiIGljaCBkYXMgS29udG8gYXVmZ2Vsb2VzdC4gSWNoCmhhYiB2ZXJzdWNodCBkYXMgbWl0IGVpbmVtIE9ubGluZS1Lb250byB6dSB6ZW50cmFsaXNpZXJlbiwgYWJlciBiZWkgYWxsZW4KbmFjaGZvbGdlbmRlbiBPcmdhbmlzYXRvcmVuIGJlc3RhbmQgZGEgbmllIEludGVyZXNzZS4gCgpNZWluZSBiZXN0ZSBJZGVlIGRlbSBhYnp1aGVsZmVuLCBpc3QgRWluYmV6aWVodW5nIGRlcyBWZXJlaW5zLiBBYmVyIGF1Y2ggYmVpCmRpZXNlciBQYXJ0eSBoYWJlIGljaCBiZXJlaXRzIHdlaXQgaW0gVm9yZmVsZCBkaWUgdWVibGljaGUgQWJzYWdlICdkZXIgVmVyZWluCmlzdCBuaWNodCBWZXJhbnN0YWx0ZXIgZGVyIFBhcnRpZXMgdW5kIGthbm4gZGFoZXIgYXVjaCBuaWNodCBmdWVyIGV2ZW50dWVsbGUKVmVybHVzdGUgYXVma29tbWVuJyBiZWtvbW1lbiwgb2J3b2hsIGljaCBiZXJlaXRzIGRhbWFscyBhbmdlYm90ZW4gaGFiZQpldmVudHVlbGxlIEdld2lubmUgYW4gZGVuIFZlcmVpbiBhYnp1dHJldGVuLiAKCkljaCBoYWx0ZSBkaWVzZSBFaW5zdGVsbHVuZyBkZXMgVmVyZWlucyBiZXN0ZW5zZmFsbHMgZnVlciAnYm9ybmllcnQnLCBpY2gKZGVua2UgZGEgbGllc3NlbiBzaWNoIGJlc3RpbW10IExvZXN1bmdlbiBmaW5kZW4uIEFiZXIgYXVjaCBoaWVyIGdpbHQsCmFuc2NoZWluZW5kIGJlc3RlaHQgZGEga2VpbiBhbGxnZW1laW5lciBCZWRhcmYgOi0oCgpFaW5lIGdlbmF1ZSBBYnJlY2hudW5nIGhhYiBpY2ggZGllc21hbC4gCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFphaGxlbnNwaWVsZSAoTGlhcmEsIDExLiBBcHIgMjAwMiwgMjA6MTE6MDApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTg1NDgyODMgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0ClNvcnJ5LCBDYXR0eSwgYWJlciB3ZW5uIGR1IGRpY2ggbWFsIG1pdCBkZW0gVm9yc3RhbmQgZGVzIFZlcmVpbnMgdW50ZXJoYWx0ZW4Kd3VlcmRlc3QsIGZhZW5kZW4gc2ljaCBzaWNoZXIgZWluZSBNZW5nZSBHcnVlbmRlIGZ1ZXIgZGllc2UgVHJlbm51bmcgdW5kCmtlaW5lciBkYXZvbiB3YWVyZSBib3JuaWVydC4KClpaTAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWmFobGVuc3BpZWxlIChDdWNodWxsaW4sIDExLiBBcHIgMjAwMiwgMjA6NTI6NDApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTg1NDgyODMgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0Cj4gRWluZSBnZW5hdWUgQWJyZWNobnVuZyBoYWIgaWNoIGRpZXNtYWwuIAoKV2VyIGhhdCBEZWluIFBhc3N3b3J0LCBDYXR3ZWF6bGU/IDtvKQoKSWNoIGRlbmtlLCBkYXNzIGRhcyBQcm9ibGVtIG1pdCBkZW0gVmVyZWluIG5pY2h0IHVuYmVkaW5ndCBtYW5nZWxuZGVzIApJbnRlcmVzc2UgaXN0LCBzb25kZXJuIGlyZ2VuZHdlbGNoZSB2ZXJzaWNoZXJ1bmdzdGVjaG5pc2NoZSBvZGVyCnJlY2h0bGljaGUgUHJvYmxlbWUgenUgYmVydWVja3NpY2h0aWdlbiBzaW5kLiBFaW5lIFBhcnR5IGRpZSBHZXdpbm4gCm1hY2h0IGRhcmYgZXMgei5CLiBpbiB1bnNlcmVyIFVuaSBuaWNodCBnZWJlbiAoZGFzcyBoaW4gdW5kIHdpZWRlcgplaW4gUmVjaG5lciBkYXZvbiBnZWthdWZ0IHdpcmQsIGlzdCB3YXMgYW5kZXJlcywgYXVmIGRlbSBQYXBpZXIgc2luZApkaWUgUGFydGllcyBudXIgc2VsYnN0dHJhZ2VuZCkuCgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaYWhsZW5zcGllbGUgKEdub21lLCAxMS4gQXByIDIwMDIsIDIwOjU1OjQzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDE4NTQ4MjgzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODI4MDM0NApzdGVjayBkaXIgZGllIHBhYXIga3JvZXRlbiBsaWViZXIgaW4gZGllIHRhc2NoZSBvZGVyIGdlaCBtaXQgZGVpbmVuCm1pdGhlbGZlcm4gZmVpbiBkYXZvbiBlc3NlbjsgYXJiZWl0IGhhdHRldCBpaHIgd2FocmxpY2ggZ2VudWcuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9zIFBob3RvcyAoRnJlZGVyaWNrLCAxMS4gQXByIDIwMDIsIDIxOjEwOjEzKToKSGkhIFZvcmVyc3QgYmlzIHp1ciBlbmRndWVsdGlnZW4gQXVzcmVpZnVuZyBkZXMgSW5kZXggZ2lidHMgbWVpbmUKRm90b3MgZXJzdG1hbCBpbSBBc3lsIHp1IGJlc3RhdW5lbjoKCnd3dy5zaWxiZXJsYW5kLmF0L01HCgpFaW5pZ2UgRm90b3MgbXVzcyBpY2ggbm9jaCBuYWNobGllZmVybiwgZGEgZGllIFVlYmVydHJhZ3VuZyB2aWEKU3RlaW56ZWl0bmV0endlcmsgKERpc2tldHRlbikgbmljaHQgc28gZ3V0IGZ1bmt0aW9uaWVydCBoYXQsIGRhbmFjaApmaW5kZXQgZGVyIFVwbG9hZCBhdWYgZGllIE1HIFNlaXRlbiBzdGF0dC4gRGllIEZyYWdlemVpY2hlbiBiZWkKZGVuIEJpbGRlcm4gc2luZCBzY2hvbiBnZWtsYWVydCwgdXBkYXRlIGdpYnRzIGJlaSBHZWxlZ2VuaGVpdC4KCldhciBlaW5lIHNjaG9lbmUgUGFydHksIHVuZCB3YXMgaWNoIHVudGVyIFVtc3RhZW5kZW4gdWViZXJ6YWhsdCBoYWIsIApzdGlmdGUgaWNoIGdlcm5lIGZ1ZXIgZWluZSBPcmdhbmlzYXRvcmVuYWJzY2hsdXNzZmVpZXIuCgpsZwpGcmVkZXJpY2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFphaGxlbnNwaWVsZSAoQ2FkcmFjaCwgMTIuIEFwciAyMDAyLCAwOToyMjo0OSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAxODU1MTE2MCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKV2FzIHZpZWxsZWljaHQgZnVlciBkaWUgRmFjaHNjaGFmdCBlaW5lciBVbmkgZ2lsdCwgZGllIGltIEdlZ2VuenVnIGRpZQpVbmlnZWJhZXVkZSBmdWVyIGRpZSBQYXJ0eSBrb3N0ZW5mcmVpIG51dHplbiBkYXJmLCB3ZWlzcyBpY2ggbmljaHQuIFZlcmVpbmUKZHVlcmZlbiBqZWRvY2ggVmVyYW5zdGFsdHVuZ2VuIGJpcyB6dSBlaW5lbSBfVW1zYXR6XyB2b24gNTAwMDAsLSBETSAod2Vpc3MKbmljaHQgd2lldmllbGUgZXVybykga29zdGVuZnJlaSB1bmQgb2huZSBNYWVyY2hlbnN0ZXVlciB1bmQgYWVobmxpY2hlcyB6YWhsZW4KenUgbXVlc3NlbiwgYWJoYWx0ZW4uIEluc2Jlc29uZGVycyBGZXN0ZSB1bmQgVG9tYm9sYXMsIGFiZXIgc2VsYnN0IGVpbmUKX2VocmVuYW10bGljaF8gZ2VmdWVocnRlIEltYmlzc2J1ZGUgZmFsbGVuIGhpZXJ1bnRlci4KRGVyIFZlcmVpbiBkdWVyZnRlIF9yZWNodGxpY2hfIHNvZ2FyIFBhcnR5cyBtaXQgZGVtIFppZWwgR2VsZCBmdWVyIGRpZQpWZXJlaW5zYXJiZWl0IHp1IHZlcmRpZW5lbiwgdmVyYW5zdGFsdGVuLiBEYXMgbWFuIChkZXIgV2lsbGUgdm9ycmF1c2dlc2V0enQpCmRhcyBuaWNodCBoaW5nZWJvZ2VuIGJla29tbWVuIGtvZW5udGUsIGthbm4gaWNoIG1pciBhbHNvIG5pY2h0IHZvcnN0ZWxsZW4uCldlbm4gZGVyIFZlcmVpbiBzb2V0d2FzIG5pY2h0IG1vZWNodGUgb2sgKGRhbm4gaGFsdCBpY2ggbWljaCBkYSBhbHMKTmljaHRtaXRnbGllZCByYXVzKS4gQWJlciBtYW4gc29sbHRlIG5pY2h0IHJlY2h0bGljaGUgb2RlciBhZWhubGljaGUgUHJvYmxlbWUKdm9yc2NoaWViZW4uCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBaYWhsZW5zcGllbGUgKEdsb2luc29uLCAxMi4gQXByIDIwMDIsIDA5OjQ0OjQ0KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAxODU5NjE2OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKV2llIHNpZWh0IGVzIGRlbm4gaW4gUmljaHR1bmdlIFZlcnNpY2hlcnVuZ2VuIHVuZCBIYWZ0dW5nZW4gYXVzICh3ZW5uIHdpcgpzY2hvbiBqZW1hbmRlbiBiZWkgZGVyIEhhbmQgaGFiZW4sIGRlciBkYXMgd2Vpc3MpPyBFaW5lIEhhZnRwZmxpY2h0IGhhdCBqYQpmYXN0IGplZGVyIC0gc2ljaGVybGljaCBhdWNoIGRpZSBQYXJ0eXZlcmFuc3RhbHRlciAtIGFiZXIgd2lldmllbCB3dWVyZGUgZGFzCmRlbiBWZXJlaW4gZnVlciBzbyBlaW4gRXJlaWduaXMga29zdGVuPyBBbiB1bmQgZnVlciBzaWNoIGhhZXR0ZSBpY2ggbmljaHRzCmRhZ2VnZW4sIHdlbm4gZXMgZmluYW56aWVsbCBiZWhlcnJzY2hiYXIgaXN0IGRpZSBSaXNpa2VuIGVpbmVyIHNvbGNoZW4gUGFydHkKYXVmIGRlbiBoZWltbGljaGVuIFZlcmFuc3RhbHRlciBWZXJlaW4genUgdWViZXJ0cmFnZW4sIGRlciBpbSBTY2hhZGVuc2ZhbGwKc2ljaGVyIGF1Y2ggYmVzc2VyZSBSdWVja2xhZ2VuIGhhdCBhbHMgUHJpdmF0bWVuc2NoIHdlbm4gZ2FyIGtlaW5lClZlcnNpY2hlcnVuZyBtZWhyIHppZWh0LgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWmFobGVuc3BpZWxlIChDdWNodWxsaW4sIDEyLiBBcHIgMjAwMiwgMTA6MzY6NTcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAxODU5NzQ4NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKRWluZSBIYWZ0cGZsaWNodCBmdWVyIGRlbiBNRy1SZWNobmVyIHVuZCB3ZW5uIHdhcyBwYXNzaWVydCwgemVpZ2VuIHdpcgptaXQgZGVtIEZpbmdlciBhdWYgZGVuIEthc3RlbiB1bmQgc2FnZW46IEVyIHdhcidzIQoKQ3VjaCwgd2VuaWcgaW5ub3ZhdGl2IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBaYWhsZW5zcGllbGUgKEVsYmVyZXQsIDEyLiBBcHIgMjAwMiwgMTA6NDI6NDUpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMTg2MDA2MTcgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0CndpZSBzaWVodHMgZWlnZW50bGljaCBtaXQgSGFmdHVuZyBiZWkgTWluZGVyamFlaHJpZ2VuIGF1cywgZGllIGphIGR1cmNoYXVzIGJlaQpQYXJ0aWVzIGFud2VzZW5kIHNpbmQuIE11ZXNzdGUgZGEgZGVyIFZlcmVpbiBuaWNodCBzb3dhcyB3aWUgQXVmc2ljaHRzcGZsaWNodAp1ZWJlcm5laG1lbiwgd2VubiBlciBkaWUgUGFydHkgb2ZmaXppZWxsIHZlcmFuc3RhbHRldD8KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFphaGxlbnNwaWVsZSAoS2FyaXMsIDEyLiBBcHIgMjAwMiwgMTA6NDQ6MjIpOgp+IyEgcm49RWxiZXJldCBydD0xMDE4NjAwOTY1IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODI4MDM0NApEZXIgVmVyZWluIG11c3MgZGFyYXVmIGhpbndlaXNlbiwgZGFzcyBhYiBiZXN0aW1tdGVuIFplaXRlbgpNaW5kZXJqYWVocmlnZSBuaWNodCBtZWhyIHp1Z2VsYXNzZW4gd2VyZGVuIHVuZCBuYWNoIEhBdXNlIGdlaGVuCm11ZXNzZW4uIFNpZWhlIEp1Z2VuZHNjaHV0emdlc2V0ei4KVHV0IGVyIGRpZXMsIGhhdCBlciBzZWluZSBQZmxpY2h0ZW4gZXJmdWVsbHQuCgpLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogWmFobGVuc3BpZWxlIChFbGJlcmV0LCAxMi4gQXByIDIwMDIsIDEwOjQ2OjAzKToKfiMhIHJuPUthcmlzIHJ0PTEwMTg2MDEwNjIgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0CmF1Y2ggZGFubiB3ZW5uIGVzIGVpbmUgcGFydHkgbWl0IHVlYmVybmFjaHRlbiBpc3Q/CgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBaYWhsZW5zcGllbGUgKEthcmlzLCAxMi4gQXByIDIwMDIsIDEwOjQ2OjUzKToKfiMhIHJuPUthcmlzIHJ0PTEwMTg2MDEwNjIgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0CktsZWluZXIgTmFjaHRyYWc6IERhcyBnaWx0IHNlbGJzdHZlcnN0YWVuZGxpY2ggbnVyIGZ1ZXIgb2VmZmVudGxpY2hlClZlcmFuc3RhbHR1bmdlbi4gTmljaHQgamVkb2NoIGZ1ZXIgcHJpdmF0ZSBWZXJhbnN0YWx0dW5nZW4uCldvYmVpIGljaCBlaW5lIE11ZFBhcnR5IGFscyBnZXNjaGxvc3NlbmUgVmVyYW5zdGFsdHVuZyBuaWNodC1vZWZmZW50bGljaGVuCkNoYXJha3RlcnMgc2VoZW4gd3VlcmRlLiBBYmVyIGRhcyBtb2VnZSBiaXR0ZSBlaW4gSnVyaXN0IGVudHNjaGVpZGVuIDopCgpLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFphaGxlbnNwaWVsZSAoQW5hY3Jpb24sIDEyLiBBcHIgMjAwMiwgMTA6NDg6MjEpOgp+IyEgcm49RWxiZXJldCBydD0xMDE4NjAxMTYzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODI4MDM0NApXaXIgaGF0dGVuIGRhcyBUaGVtYSBqYSBrdXJ6IGF1ZiBkZXIgVmVyZWluc3NpdHp1bmcuCgpEYSBkZXIgVmVyZWluIE5JQ0hUIFRyYWVnZXIgZGVyIFBhcnR5IHdhciwgbXVzcyBlcyBpcmdlbmR3ZXIgc2Vpbi4gSW0gWndlaWZlbApkZXJqZW5pZ2UsIGRlciB1bnRlcnNjaHJpZWJlbiBoYXQgZnVlciBkaWUgSGFsbGUgYnp3LiBkZXIgQmFobmhvZiAuLi4uCmRlcmplbmlnZSB3dWVyZGUgZGFubiBnZXNldHpsaWNoIGhhZnRiYXIgc2Vpbi4KClZvciBkaWVzZW0gSGludGVyZ3J1bmQgaGFsdGUgaWNoIGVzIGZ1ZXIgTm90d2VuZGlnLCBkYXNzIGRlciBWZXJlaW4gZGllClBhcnRpZXMgYWxzIFNjaGlybWhlcnIgdmVyYW5zdGFsdGV0IHVuZCBzaWNoIHZlcnNpY2hlcnQgLi4uIHVuZCBzZWkgZXMgbnVyLCB1bQpwcml2YXRlIFNjaGVyZXJlaWVuIHZvbiBkZW5lbiBmZXJuenVoYWx0ZW4sIGRpZSBzaWNoIGRpZSBNdWVoZSBtYWNoZW4sIGRpZQpQYXJ0eSB6dSBvcmdhbmlzaWVyZW4uCgpBbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFphaGxlbnNwaWVsZSAoTWFhcmcsIDEyLiBBcHIgMjAwMiwgMTI6MjU6NDYpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAxODYwMTMwMSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKTW9pbi4KCkFsc28sIHdlbm4gbWFuIGFsbGUgZGllIHNjaHJlY2tsaWNoZW4gQXJ0aWtlbCBzbyBsaWVzdCBpc3QgZXMgZWNodCBlaW4gV3VuZGVyLApkYXNzIGluIGRlbiBsZXR6dGVuIDEwIEphaHJlbiB1ZWJlcmhhdXB0IFBhcnRpZXMgdmVyYW5zdGFsdGV0IHd1cmRlbiA6bykKCkdydXNzLAoKICAgTWFhcmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBaYWhsZW5zcGllbGUgKEFuYWNyaW9uLCAxMi4gQXByIDIwMDIsIDEyOjI4OjA0KToKfiMhIHJuPU1hYXJnIHJ0PTEwMTg2MDcxNDYgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0CgpOb3JtYWwgZ2VodCBhbGxlcyBndXQuIE1hbiB2ZXJzaWNoZXJ0IHNpY2ggaW1tZXIgZnVlciBkZW4gRmFsbCwgZGFzcyBlcyBkYXMKbmljaHQgdHV0LgoKVW5kIG5laW4uIEljaCB3dWVyZGUga2VpbmUgUGFydHkgb3JnYW5pc2llcmVuLCB3ZWlsIGRpZSBLb3N0ZW4gaW0gRmFsbGUgZWluZXMKRmFsbGVzIHp1IGhvY2ggc2luZCAuLi4gQXVzc2NoYW5rIHZvbiBBbGtvaG9sIGFuIE1pbmRlcmphZWhyaWdlLCBWZXJsZXR6dW5nCmRlciBBdWZzaWNodHNwZmxpY2h0LCAuLi4uIGF1Y2ggd2VubiBpY2ggZGllIENoYW5jZSwgZGFzcyBlcyBwYXNzaWVydCwgYWxzCnJlY2h0IGdlcmluZyBhbnNldHplLgoKR2x1ZWNrbGljaGVyd2Vpc2UgZ2lidC9nYWIgZXMgd2VuaWdlciB6YXJ0IGJlc2VpdGV0ZSBNdWRkZXIgOi0pCgpBbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFphaGxlbnNwaWVsZSAoTW9udGFudXMsIDEyLiBBcHIgMjAwMiwgMTU6Mzg6NDIpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAxODYwNzI4NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKTnVuLCBpY2ggaGFiZSBudW4gZWluZSBnZXdpc3NlIFphaGwgUGFydGllcyBvcmdhbmlzaWVydCwgdW5kIGVzIGdhYiBrZWluZQpQcm9ibGVtZS4gQWJlciB2aWVsbGVpY2h0IHdhZXJlIGVzIHRyb3R6ZGVtIGJlc3NlciwgZnVlciBkZW4gRmFsbCBkZXIgRmFlbGxlCnZvbiBqZWRlbSBQYXJ0eWdhc3QgZWluZW4gRGlzY2xhaW1lciB1bnRlcnNjaHJlaWJlbiB6dSBsYXNzZW4uCkZ1ZXIgSGFmdHVuZ3NhdXNzY2hsdXNzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFphaGxlbnNwaWVsZSAoR3JpbW1ib3JuLCAxMi4gQXByIDIwMDIsIDE1OjM5OjEyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTg2MTg3MjIgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0CkR1IG1laW5zdDogVm9tIEVyemllaHVuZ3NiZXJlY2h0aWd0ZW4gdW50ZXJzY2hyZWliZW4gbGFzc2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBaYWhsZW5zcGllbGUgKENhZHJhY2gsIDEyLiBBcHIgMjAwMiwgMTU6NDk6NTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAxODU5NzQ4NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKT2huZSBqZXR6dCBub2NoIFphaGxlbiBpbSBLb3BmIHp1IHdpc3Nlbi4gRWluZSBWZXJhbnN0YWx0ZXJoYXBmdHBmbGljaHQgaXN0Cl96dV8gdGV1ZXIuIEljaCBoYWJlIG1pY2ggZGEgdm9yIDggSmFocmVuIG1hbCBlcmt1bmRpZ3Qgd2FzIGRhcyBmdWVyIFBhcnRpZXMKbWl0IDEwMDAgQmVzdWNoZXJuIGtvc3RldCB1bmQgaWNoIGthbm4gbWljaCBub2NoIGd1dCBlbnRzaW5uZW4gZGFzIGljaCBkaWVzZQpJZGVlIGRhbWFscyBnYWFhYW56IHNjaG5lbGwgYmVncmFiZW4gaGFiZSA6KQpCZWkgTUctUGFydGllcyB3byBpbSBad2VpZmVsIGplZGVyIEJlc3VjaGVyIG5hbWVudGxpY2ggYmVrYW5udC9oZXJhdXNmaW5kYmFyCmlzdCwgc29sbHRlIHNvZXR3YXMgaW0gbm9ybWFsZmFsbCBhYmVyIGF1Y2ggbmljaHQgbm90d2VuZGlnIHNlaW4gZGVua2UgaWNoLiBEYQppbSBad2VpZmVsIGRlciBWZXJ1cnNhY2hlIGZ1ZXIgZXZ0bC4gU2NoYWVkZW4gYXVmenVrb21tZW4gaGF0IHVuZCBkaWVzZXIgYXVjaAphdWZmaW5kYmFyIHNlaW4gc29sbHRlLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWmFobGVuc3BpZWxlIChBbmFjcmlvbiwgMTIuIEFwciAyMDAyLCAxNjozNDowMSk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMTg2MTkzOTMgcmc9cGFydHkKfiMhIHRpZD0xMDE4MjgwMzQ0ClNjaGVyemtla3MuCgpEYSBtdXNzIGVpbihlKSBNaW5kZXJqYWVocmlnZShyKSBudXIgbWFsIGlyZ2VuZHdhcyB1bmdlc2NoaWNrdGVzIG1hY2hlbiB3aWUKYXVmIGRpZSBTdHJhc3NlIHJlbm5lbiwgYXVmIGRlciB6dWZhZWxsaWcgZ2VyYWRlIGVpbiBBdXRvIGZhZWhydCBvZGVyIGFiZXIgYXVzCmRlbSBEYWNoIGtsZXR0ZXJuIG8uYWUuIFZpZWxsZWljaHQgdW50ZXIgQWxrb2hvbGVpbmZsdXNzLgoKRGEgZ2lidHMgZGFubiBrZWluZW4gU2NodWxkaWdlbiBhdXNzZXIgZGVtIFZlcmFuc3RhbHRlciwgZGVyIEFsa29ob2wgYW4KTWluZGVyamFlaHJpZ2UgYXVzZ2VzY2hlbmt0IGhhdCB1bmQgZGllIEF1ZnNpY2h0c3BmbGljaHQgdmVybmFjaGxhZXNzaWd0IC4uLi4uCnVuZCBlaW5zIGlzdCBzaWNoZXI6IERpZSBtZWlzdGVuIEVsdGVybiBzaW5kIGluIHNvbGNoZW4gRmFlbGxlbiB1bmVyYml0dGxpY2guCgpJY2ggYmV6aWVoZSBtaWNoIGdlcmFkZSBudXIgYXVmIE1pbmRlcmphZWhyaWdlLCB3b2JlaSBpY2ggbWlyIG5pY2h0IHNpY2hlcgpiaW4sIG9iIGRhcyBuY2lodCBhdWNoIGJlaSBFcndhY2hzZW5lbiBncmVpZnQsIHdlbm4gei5CLiBhbSBQYXJ0eW9ydCBuZW4KU2NocmFuayB1bWtpcHB0IGF1ZiBuZW4gbmljaHRzYWhuZW5kZW4gTWF0cmF0emVuc2NobGFlZmVyIC4uLi4gc28gbGVpZCBlcyBtaXIKdHV0IC4uIGljaCBoYWV0dGUgc29sbHRlIGljaCBkZXJqZW5pZ2Ugc2VpbiwgZGVyIHF1YXNpIGVyc2NobGFnZW4gd2lyZCwgZ2VybmUKbmVuIFNjaHVsZGlnZW4sIGRlc3NlbiBIYWZ0cGZsaWNodCBhbGxmYWVsbGlnZSBLb3N0ZW4gdS5hZS4gemFobHQgLi4uIHVuZCBpY2gKZ2xhdWJlLCBkYSB3YWVyZSBpY2ggbmljaHQgZGVyIGVpbnppZ2UgLi4uLgoKTWlyIGdlaHQgZXMgZWlnZW50bGljaCBuaWNodCB1bSBTY2h3YXJ6bWFsZXJlaSwgc29uZGVybiBkYXJ1bSwgZWluIHBhYXIKUmlzaWtlbiBhdWZ6dXplaWdlbi4gTkFUVUVSTElDSCBpc3QgZGllIENoYW5jZSwgZGFzIHNvIGV0d2FzIHBhc3NpZXJ0LCBTRUhSCmdlcmluZyAuLi4uIGFiZXIgd2VubiBlcyBwYXNzaWVydCwgc3RpcmJ0IGRlciBCZXRyb2ZmZW5lIGRlbiAnQnVlcmdlcmxpY2hlbgpUb2QnICh3aWUgZXMgbWVpbiBSZWNodHNwcm9mIHp1IHNhZ2VuIHBmbGVndGUpIC4uLiBkaWUgS29zdGVuIGZ1ZXIgKHdvcnN0CmNhc2UpIGxlYmVuc2xhbmdlcyBTY2htZXJ6ZW5zZ2VsZCBvZGVyIDEwIEhla3RhciBXYWxkIHNpbmQgZGV1dGxpY2ggbWVociwgYWxzCm1hbiBzbyBpbSBOb3JtYWxmYWxsZSBpbiAyMCBKYWhyZW4gdmVyZGllbnQgLi4uLgoKVW5kIHdlciBoYXQgc2Nob24gbmUgUHJpdmF0aGFmdHBmbGljaHQgbWl0IG5lciBkZXJhcnRpZ2VuIERlY2t1bmdzc3VtbWU/CgpEYXJ1ZWJlciBoaW5hdXMgYmxlaWJ0IHp1IGtsYWVyZW4sIG9iIGRpZSB1ZWJlcmhhdXB0IGdyZWlmZW4gd3VlcmRlLgpWZXJhbnN0YWx0ZXIgZGVyIFBhcnR5IGlzdCBkZXJqZW5pZ2UsIGRlciBIYXVzcmVjaHQgaGF0LiBXZW5uIGVyIGVzIGFsc28gYXVmCmVpZ2VuZSBLYXBwZSB0dXQsIGdyZWlmdCBkaWUgUHJpdmF0aGFmdHBmbGljaHQgKHNvIHZvcmhhbmRlbikuIEplZG9jaCAtIHVuZApkYXMgd3VlcmRlIGljaCBhbHMgZWJlbiBkaWVzZSBIYWZ0cGZsaWNodCB0dW4gLSBrYW5uIGV2dGwuIHN1YnN1bWllcnQgd2VyZGVuLApkYXNzIGVyIGRpZSBQYXJ0eSBzdGVsbHZlcnRyZXRlbmQgZnVlciBkZW4gTUcgZS5WLiBvcmdhbmlzaWVydCBoYXQuIERlc2hhbGIKaXN0IGluIFdhaHJoZWl0IGRlciBWZXJlaW4gVmVyYW5zdGFsdGVyIHVuZCBtdWVzc3RlIGhhZnRlbi4gCgpXZW5uIGRpZSBWZXJzaWNoZXJ1bmcgcmVjaHQgaGF0LCBkYW5uIG11c3MgZGVyIE9yZ2FuaXNhdG9yIHdpZWRlcnVtIHByaXZhdApoYWZ0ZW4uIE9obmUgVmVyc2ljaGVydW5nLiBEYXMgbWFjaHQgc3Bhc3MgOm8pIEljaCBoYWJlIGRpZSBnYW56ZSBQcm9ibGVtYXRpawptYWwgZnVlciBuZW4gYW5kZXJlbiBWZXJlaW4gbWl0IFByb2YuIERyLiBqdXIuIFNjaG5laWRlciAodW5zZXJlbQpSZWNodHNiZWlzdGFuZCBhbHMgdW5pdmVyc2l0YWVyZXIgVmVyZWluKSBkdXJjaGRpc2t1dGllcnQgdW5kIHdpciBoYWJlbiBpbiBkZW4Kc2F1cmVuIEFwZmVsIGdlYmlzc2VuLCB1bnMgYWxzIFZlcmVpbiB6dSB2ZXJzaWNoZXJuLgoKQW5hYyoKClAuUy4gVW5hYmhhZW5naWcgdm9uIGRlciBIYWZ0dW5nOiBJY2ggd3VlcmRlIHVuZ2VybiBkaWUgR2VyaWNodHNrb3N0ZW4gemFobGVuCm11ZXNzZW4sIHVtIGhlcmF1c3p1ZmluZGVuLCB3ZWxjaGUgTWVpbnVuZyBkaWUgcmljaHRpZ2UgaXN0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWmFobGVuc3BpZWxlIChHcmltbWJvcm4sIDEyLiBBcHIgMjAwMiwgMTY6Mzc6MjMpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAxODYyMjA0MSByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKPiBVbmQgd2VyIGhhdCBzY2hvbiBuZSBQcml2YXRoYWZ0cGZsaWNodCBtaXQgbmVyIGRlcmFydGlnZW4gRGVja3VuZ3NzdW1tZT8KCkdhZW5naWdlIFByaXZhdGhhZnRwZmxpY2h0ZW4gaGFiZW4gdW5iZWdyZW56dGUgRGVja3VuZ3NzdW1tZW4sIHdvYmVpIGRhcyBpbQpFaW56ZWxmYWxsIChuaWNodCBpbSBFaW56ZWxlcmVpZ25pcykgYXVmIH41IE1pbyBFVVIgYmVncmVuenQgaXN0LiBEYXMgaXN0IGluCi5kZSBpLmEuIHppZW1saWNoIGF1c3JlaWNoZW5kLCB3aXIgc2luZCBqYSBuaWNodCBpbiBBbWVyaWthLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBaYWhsZW5zcGllbGUgKEFuYWNyaW9uLCAxMi4gQXByIDIwMDIsIDE2OjM4OjQ0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE4NjIyMjQzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODI4MDM0NApHYWVuZ2lnZSBQcml2YXRoYWZ0cGZsaWNodGVuIEtBTk4gTUFOIFVFQkVSIFVOQkVHUkVOWlRFIERFQ0tVTkdTU1VNTUUKQUJTQ0hMSUVTU0VOLiBEYXJ1bSBnaW5nIGVzIG5pY2h0LiBFcyBnaW5nIGRhcnVtLCB3aWV2aWVsZSBkYXMgZWZmZWt0aXYKZ2VtYWNodCBoYWJlbi4KCmFuYWMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogWmFobGVuc3BpZWxlIChHcmltbWJvcm4sIDEyLiBBcHIgMjAwMiwgMTY6NDE6NTApOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAxODYyMjMyNCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKTWl0ICJnYWVuZ2lnIiBtZWluZSBpY2ggInVlYmxpY2hlcndlaXNlIi4gRC5oLiB3ZXIgZWluZSBQcml2YXRoYWZ0cGxpY2h0CmFiZ2VzY2hsb3NzZW4gaGF0IGhhdCB1ZWJsaWNoZXJ3ZWlzZSBlaW5lIHVuYmVncmVuenRlIERlY2t1bmdzc3VtbWUuClVuZCB3ZXIga2VpbmUgSGFmdHBmbGljaHR2ZXJzaWNoZXJ1bmcgaGF0IC0gc29ycnksIHNlbGJlciBzY2h1bGQsIGRhcyBpc3QKemllbWxpY2ggZGFlbWxpY2guCgpVbnRlcnN1Y2ggbWFsIERlaW5lIFRhc3RhdHVyLCBkaWUgQnVjaHN0YWJlbmdyb3NzbWFjaHRhc3RlIHNjaGVpbnQgbmljaHQgaW4KT3JkbnVuZyB6dSBzZWluLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogWmFobGVuc3BpZWxlIChBbmFjcmlvbiwgMTIuIEFwciAyMDAyLCAxNjo0NDo1MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxODYyMjUxMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKTmUsIGRpZSBmdW56dC4gaWNoIHdvbGx0ZSBkZW4gdW50ZXJzY2hpZWQgenUgZGVpbmVtIG51ciBkb2t1bWVudGllcmVuIC4uLgoKVW5kIG5laW4uIERhcyBzdGltbXQgc28gbmljaHQgZ2Fuei4gSWNoIGhhYmUgZXMgYmVpIGVpbmlnZW4gVmVyc2ljaGVydW5nZW4KZXJsZWJ0LCBkYXNzIHNpZSB6d2FyIG5lbiB1bmRlbmRsaWNoZW4gVGFyaWYgaGF0dGVuLCBhYmVyIHN0YW5kYXJkbWFlc3NpZyAyTWlvCkRNIGFiZ2VzY2hsb3NzZW4gaGFiZW4uLi4uIG11c3N0ZSBkYSB6aWVtbGljaCBuYWNoaGFrZW4uCgpMYW5ndCBqYSBhdWNoIG1laXN0ZW5zIG1pdCAyIE1pbyAuLi4uIHdlbm4gbWFuIG5pY2h0IGdlcmFkZSBkZW4gV2FsZGFiZmFja2VsdApvZGVyIG5lbiBUYW5rbGFzdHp1ZyBpbSBOYXR1cnNjaHV0emdlYmlldCBsZWVydCAuLi4uCgphbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWmFobGVuc3BpZWxlIChDYXR3ZWF6bGUsIDEyLiBBcHIgMjAwMiwgMTk6NDE6NTcpOgp+IyEgcm49TGlhcmEgcnQ9MTAxODU0ODY2MCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKQXJncy4KCk9rb2ssIGRhcyBXb3J0ICdib3JuaWVydGBpc3QgaGllciBiZXN0aW1tdCBmYWxzY2ggZ2V3YWVobHQgdW5kIGljaCB6aWVoZSBlcwpzZWhyIGdlcm5lIHp1cnVlY2suIApXYWhyc2NoZWlubGljaCBoYWJlIGljaCBkaWVzZW4gU2F0eiBudXIgZWlubWFsIHp1IG9mdCBnZWhvZXJ0IChhdWYgZGVyIFZWKSB1bmQKd29tb2VnbGljaCBoYWJlIGljaCBkaWUgR3J1ZW5kZSB2ZXJnZXNzZW4sIHdhcnVtIGRhcyB2b24gVmVyZWluc3NlaXRlIGF1cwpuaWNodCBnZWhlbiBzb2xsLgpVbmQgamEsIHRhdHNhZWNobGljaCBrb21tdCBlcyB2b3IsIGRhcyBpY2ggbWljaCBtaXQgZGVtIFZlcmVpbnN2b3JzdGFuZAp1bnRlcmhhbHRlLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBaYWhsZW5zcGllbGUgKENhdHdlYXpsZSwgMTIuIEFwciAyMDAyLCAxOTo0ODozMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxODYyMjUxMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTgyODAzNDQKTmEgd29oaW4gc29sbCBpY2ggZGVubiBkZW4gVGhyZWFkIGpldHp0IHZlcmxlZ2VuLCBobT8gOi0pCgpEYXMgaWhyIGV1Y2ggZ2xlaWNoIGltbWVyIGluIFJlY2h0c3N0cmVpdGlna2VpdGVuIHZlcnpldHRlbG4gbXVlc3N0LiBJY2gKZW1wZmVobGUgZWluaWdlbiBTY2hyZWliZXJsaW5nZW4gbWFsIGRpZSBXb2VydGVyICd3ZW5uJyB1bmQgJ2FiZXInIFNwYXJzYW1lcgp6dSBkZW5rZW4uIAoKTWlyIGdpbmcgZXMgenUga2VpbmVtIFplaXRwdW5rdCBkYXJ1bSwgZGFzIGRlciBWZXJlaW4gYWxzIFBhcnR5dmVyYW5zdGFsdGVyCmF1ZnRyZXRlbiBzb2xsLiBNaXIgZ2luZyBlcyBsZWRpZ2xpY2ggZGFydW0sIGVpbmVuIFBhcnR5b3JnYW5pc2F0b3IgZmluYW56aWVsbAphYnp1c2ljaGVybiB1bmQgZXZlbnR1ZWxsZSBEZWZpeml0ZSB6dSBkZWNrZW4uIApJY2ggZ2xhdWJlIGltbWVyIG5vY2gsIGRhcyBlcyBkYSBMb2VzdW5nZW4gZ2ViZW4gbXVlc3N0ZS4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZSAoaGFmdHBmbGljaHR2ZXJzaWNoZXJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChFbGl6YWJldGgsIDE1LiBBcHIgMjAwMiwgMTg6NTA6MDgpOgpBbHNvIHdhcyBLZWtzIEFydGlrZWwgYmV0cmlmZnQgLT4gTXVkcGFydHkgaW4gT2VzdGVyZWljaCBmaW5kZSBpY2ggZG9jaCBuaWNoCnNlaHIgJ2F0dHJha3RpdicgZGFzIGFuZ2Vib3QuLiAxLiBzaW5kIGRpZSBtZWlzdGVuIE11ZGRlciBhdXMgRGV1dHNjaGxhbmQKKG1nLm11ZC5ERSkgdW5kIDIuIGlzdCBkYXMgZWNodCB3ZWl0IHdlY2guLmhhYiBtaWNoIG1hbCB1bWdlaG9lcnQgZGllIG1laXN0ZW4KbXVkZGVyIGRpZSBhdXMgbm9yZGRldXRzY2hsYW5kIGtvbW1lbiBtZWludGVuIHdhcyBpbiBkZXIgcmljaHR1bmcgJ29lc3RlcmVpY2gKaXN0IHp1IHdlaXQnIHVuZCB3ZW5uIGljaCBkYXMgcmljaHRpZyBnZWxlc2VuIGhhYiBnaWJ0cyBhdWNoIG51ciAzMiBiZXR0ZW4uLgpmdWVyIGVpbmUgc29tbWVycGFydHkgZG9jaCBzZWhyIHVucGFzc2VuZCBtZWluZXIgbWVpbnVuZyBuYWNoLgpXYXMgbWVpbnQgaWhyIj8KCkVsaXphYmV0aCwgdmVyc3VjaGVuZCBkaWUgTXVkcGFydHkgbmFjaCBCZXJsaW4genUga3JpZWdlbiAqZ3JpblMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChQaXRmYWxsLCAxNS4gQXByIDIwMDIsIDE4OjUwOjMwKToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDE4ODg5NDA4IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApoZXVsIGRvY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChFbGl6YWJldGgsIDE1LiBBcHIgMjAwMiwgMTg6NTI6MDgpOgp+IyEgcm49UGl0ZmFsbCBydD0xMDE4ODg5NDMwIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApCaW4gc2Nob24gRGFiZWkgUGl0KiAuLi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoTW9udGFudXMsIDE1LiBBcHIgMjAwMiwgMTg6NTI6MTQpOgp+IyEgcm49UGl0ZmFsbCBydD0xMDE4ODg5NDMwIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApEYW5rZSwgUGl0ZmFsbC4gU2Nob2VuZXIgaGFldHRlIGljaCBkYXMgYXVjaCBuY2lodCBzYWdlbiBrb2VubmVuLgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKEVsYmVyZXQsIDE1LiBBcHIgMjAwMiwgMTg6NTI6NTkpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAxODg4OTUzNCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKbXVoIGRvY2gsIE1vbnRhbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKE1vbnRhbnVzLCAxNS4gQXByIDIwMDIsIDE4OjUzOjEzKToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDE4ODg5NTI4IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApPZXN0ZXJyZWljaCBpc3QgenUgd2VpdCB3ZWcgZnVlciBCZXJsaW5lci4KV2ludGVyYnVyZyBpc3QgenUgd2VpdCB3ZWcgZnVlciBCZXJsaW5lci4KS2FybHNydWhlIGlzdCB6dSB3ZWl0IHdlZyBmdWVyIEJlcmxpbmVyLgoKVmllbGxlaWNodCBzb2xsdGV0IGlociBlaW5mYWNoIG1hbCB1ZWJlcmxlZ2VuLCBkYXNzIGRhcyB1bWdla2VocnQgYXVjaCBnZWx0ZW4Ka29lbm50ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoRWxiZXJldCwgMTUuIEFwciAyMDAyLCAxODo1Mzo1NSk6Cn4jISBybj1Nb250YW51cyBydD0xMDE4ODg5NTkzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOAozMiBiZXR0ZW4gaXMgYWJlciBzY2hvbiB3YXMgd2VuaWcKCkVsYmkgKGFiZXIgaWNoIGhhbHQgbWljaCBkYSByYXVzLCBzb25zdCB2ZXJzY2hlbmsgaWNoIG5vY2ggcmVoZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoRWxpemFiZXRoLCAxNS4gQXByIDIwMDIsIDE4OjUzOjU3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTg4ODk1OTMgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CnN0aW1tdCBuaWNodCA6KSB3aW50ZXJidXJnIHdhciBndXQuLiBrYWxzcnVoZSBpcyBhdWNoIG5pY2h0IHp1IHdlaXQuLgphYmVyIG9lc3RlcmVpY2ggSVNUIHp1IHdlaXQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKE1vbnRhbnVzLCAxNS4gQXByIDIwMDIsIDE4OjU1OjA3KToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDE4ODg5NjM3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOAp3aWVzbyBzb2xsIE9lc3RlcnJlaWNoIHdlaXRlciBlbnRmZXJudCBzZWluPyBJaHIgc2VpZCBzY2hvbiBpbSBPc3RlbiwgaWhyCm11ZXNzdCBudXIgbm9jaCBuYWNoIFN1ZWRlbi4KVW5kIDMyIEJldHRlbiAtIHdlbm4gWmVsdG1vZWdsaWNoa2VpdGVuIGRhIHNpbmQsIHNvbGx0ZSBkYXMgZG9jaCBrZWluIFByb2JsZW0Kc2Vpbi4KCi1Nb250YW51cyAoZGllIEdhc3RmcmV1bmRzY2hhZnQgb2VzdGVycmVpY2hpc2NoZXIgTXVkZGVyIG5pY2h0IG1pc3NlbiB3b2xsZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChXb29keSwgMTUuIEFwciAyMDAyLCAxODo1NTozMSk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxODg4OTYzNyByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKSWNoIGdsYXViZSwgZGFzcyBlcyBoaWVyIG5pY2h0IHVtIGVpbmUgb2ZmaXppZWxsZSBNdWRwYXJ0eSBnZWh0LApzb25kZXJuIGVpbmZhY2ggbnVyIHVtIGVpbiBBbmdlYm90IGZ1ZXIgZWluZSBBcnQgRmVyaWVud29jaGUuClNvIHdpZSBpY2ggZGFzIHNlaGUsIGlzdCBlcyBzY2hvbiBvaywgZGFzcyBlcyBudXIgMzIgQmV0dGVuIGdpYnQsCmRlbiBhbmRlcmVuIGlzdCBlcyBvaG5laGluIHp1IHdlaXQuIDstKQoKV29vZHkuLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoRWxiZXJldCwgMTUuIEFwciAyMDAyLCAxODo1NTo1OSk6Cn4jISBybj1Nb250YW51cyBydD0xMDE4ODg5NzA3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOAppY2ggbWFnIGphIGFsemhlaW1lciBoYWJlbiwgYWJlciBrZWtzIHNhZ3RlIHdhcyB2b24gS0VJTiBaZWx0cGxhdHosIHdlbm4gaWNoCm1pY2ggcmVjaHQgZXJpbm5lcmUuIApMaWVzIGVyc3QgYmV2b3IgZHUgc2NocmVpYnN0LgoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChFbGl6YWJldGgsIDE1LiBBcHIgMjAwMiwgMTg6NTY6NTEpOgp+IyEgcm49RWxiZXJldCBydD0xMDE4ODg5NzU5IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOAplaW5lIEZlcmllbndvY2hlPyA6KSBNZWludGUgc2llIG5pY2h0IHdhcyB2b24gc29tbWVycGFydHk/CkZlcmllbndvY2hlIGlzIGphIHdhdCBqYW56IGFuZGVyZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKFdvb2R5LCAxNS4gQXByIDIwMDIsIDE4OjU3OjU4KToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDE4ODg5ODExIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApMaWVzIGRvY2ggc2VsYmVyIG5hY2guIERhcyBXb3J0ICJQYXJ0eSIgaXN0IHNvIG9kZXIgc28gbmljaHQgYXVmCm9mZml6aWVsbGUgTUctUGFydGllcyBiZXNjaHJhZW5rdC4gT2Rlcj8gRWJlbi4KCldvb2R5Li0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKEVsaXphYmV0aCwgMTUuIEFwciAyMDAyLCAxODo1ODo0NCk6Cn4jISBybj1Xb29keSBydD0xMDE4ODg5ODc4IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApuZWluLCBiZXNjaHJhZW5rdCBuaWNodC4uLkFiZXIgZXMgbGFlc3N0IGRvY2ggc2VociBkYXJhdWYgc2NobGllc3NlbiBvZGVyIGlycmUKaWNoIG1pY2ggPwpFbGl6YWJldGggKHVlYmVycmFzY2h0IHdpZSBmcmV1bmRsaWNoIGhldXQgYWxsZSBzaW5kKSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoRWxiZXJldCwgMTUuIEFwciAyMDAyLCAxODo1OTowOCk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxODg4OTkyNCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKOmlzdCBuaWUgZnJldW5kbGljaCB1bmQgdmVyc2Nod2VuZGV0IFJlaGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChNb250YW51cywgMTUuIEFwciAyMDAyLCAxODo1OTo1Nik6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMTg4ODk5NDggcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4ClVuZCBFbGJpOiBpbiBLZWtzZW5zIEFydGlrZWwgc3RhbmQgbml4IGRhdm9uLCBkYXNzIGVzIGtlaW5lIFplbHRwbGFldHplIGdpYnQuCkFsc28gbmljaHQgbWl0IGZhbHNjaGVuIEJlc2NodWxkaWd1bmdlbiB1bSBkaWNoIHdlcmZlbiwgc29uZGVybiBlcnN0bWFsIHdpZWRlcgpnYWFhYWFhYWFhYWFhYW56IHJ1aGlnIHdlcmRlbi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChFbGJlcmV0LCAxNS4gQXByIDIwMDIsIDE5OjAwOjI0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTg4ODk5OTYgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CmhtbSAsZGFubiBoYXQgc2llcyBhdWYgLWFsbGcgb2RlciBzbyBnZXNhZ3QsIGFiZXIgaWNoIHdlaXNzIG5pbW1lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoQ3VjaHVsbGluLCAxNS4gQXByIDIwMDIsIDE5OjAxOjA2KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAxODg5MDAyNCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKV2FzIGdpYnQgZXMgYmVpIFJlXjUwPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKEJvaW5nLCAxNS4gQXByIDIwMDIsIDE5OjAxOjEyKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAxODg5MDAyNCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKRmFsbHMgZXMgbm9jaCBuaWVtYW5kIGVyd2FlaG50IGhhdDogRWxpemFiZXRoLCBlaW5lIFBhcnR5IG5hY2ggQmVybGluCnp1IGJla29tbWVuIGlzdCB1ZWJyaWdlbnMgZ2FueiBlaW5mYWNoOiBPcmdhbmlzaWVyIHNpZSEgOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoV29vZHksIDE1LiBBcHIgMjAwMiwgMTk6MDE6NTUpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwMTg4ODk5MjQgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CiJhbHNvOiBpY2ggaGFiIG1pY2ggd2VnZW4gZWluZXIgc29tbWVyLXBhcnR5LXdvY2hlIGluIG9lc3RlcnJlaWNoIG1hbAp1bnZlcmJpbmRsaWNoIGVya3VuZGlndCAgWy4uLl0iIC0genVzYW1tZW4gbWl0IGRlbiAzMiBCZXR0ZW4gd3VlcmRlCmljaCBwZXJzb2VubGljaCBuaWNodCBhdWYgZWluZSBCZXdlcmJ1bmcgZnVlciBlaW5lIG9mZml6aWVsbGUgTUctClBhcnR5IHNjaGxpZXNzZW4sIGFiZXIgd2VubiBEdSBkYXNzIHR1c3QsIHNlaSBlcyBEaXIgdW5iZW5vbW1lbiA6KS4KCnVuZCBpY2ggZGFjaHRlIGltbWVyLCBkaWUgRGV1dHNjaGVuIHNlaWVuIHJlaXNld3VldF5IXkheSF5IbHVzdGlnLApXb29keS4tIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoRWxpemFiZXRoLCAxNS4gQXByIDIwMDIsIDE5OjAyOjEwKToKfiMhIHJuPUJvaW5nIHJ0PTEwMTg4OTAwNzIgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CmtlaW4gcHJvYmxlbS4uCmhhdHRlIGljaCBhdWNoIHNjaG9uIGRyYW4gZ2VkYWNodC4uIG51ciB3aWxsIGljaCBlcnN0IG1pY2ggZGEgcmVpbmhhZW5nZW4gd2VubgpmZXN0c3RlaHQgZGFzcyBzaWNoIGRlciBhdWZ3YW5kIGxvaG50IHVuZCBzaWUgYXVjaCBXSVJLTElDSCBpbiBiZXJsaW4gc3RhdHQKZmluZGV0Li4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKEVsYmVyZXQsIDE1LiBBcHIgMjAwMiwgMTk6MDI6NDIpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwMTg4OTAxMzAgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CmFsc28gaWNoIGZhbmQgYnJpZXNlbGFuZyB0b2xsIDspCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFFVSVoyIChFbGl6YWJldGgsIDE1LiBBcHIgMjAwMiwgMTk6MDM6NDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTcxMjkwODYgcmc9cHVpegp+IyEgdGlkPTEwMTcxMjcwODAKbmEgZGFubiBtdWVzc3RlIG1hbCBnZWFldXNzZXJ0IHdlcmRlbiB3YXMgZ2V3b2xsdCBpc3QgLT4gZWhlciBiZXR0ZW4gb2RlciBlaGVyCnplbHRlbiA6KSBtaXQgb2RlciBtaXQgb2huZSBzZWUgPyAuLiA6KQouLi4gZGFzIHVlYmxpY2hlIGViZW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChEZWVwYmx1ZSwgMTUuIEFwciAyMDAyLCAxOTowNDo1NCk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxODg5MDEzMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKV2VubiB6dSBuZXIgemVpdCwgd28gbWFuIGthbm4sIGluIEJlcmxpbiBuZSBNRy1QYXJ0eSBvcmdhbmlzaWVydCB3aXJkIHdlcmRlbgpiZXN0aW1tdCB2aWVsZSBMZXV0ZSBrb21tZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChFbGl6YWJldGgsIDE1LiBBcHIgMjAwMiwgMTk6MDY6MzIpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAxODg5MDI5NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKd2FzIGlzdCBkZW5uIGVpbmUgemVpdCB3byBtYW4ga2FubiA/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChHbG9pbnNvbiwgMTUuIEFwciAyMDAyLCAxOTowODowOCk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxODg5MDM5MiByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKSWRlbnRpc2NoIG1pdCBkZXIgWmVpdCB6dSBkZXIgbWFuIFBhcnR5IGZlaWVybiBtb2VjaHRlLiBVbmQgZGFubiBpc3QgYXVjaCBrZWluCldlZyB6dSB3ZWl0LgpGYWxscyBlcyBub2NoIG5pZW1hbmQgZXJ3YWVobnQgaGF0IC0gd2VubiBlaW5lIFBhcnR5IG9obmUgZWluZW4gKGF1cyBHcnVlbmRlbgphdWNoIGltbWVyKSBzdGF0dGZpbmRldCBrb2VubmUgZGllIEFud2VzZW5kZW4gdHJvdHpkZW0gU3Bhc3MgaGFiZW4gdW5kIG1hbgpzZWxic3QgZmFlaHJ0IGViZW4genVyIG5hZWNoc3RlbiB3aWVkZXIuIFByb3Rlc3QgZ2VnZW4gUGFydHlvcnRlIGZpbmQgaWNoCmhvZWNoc3Qga2luZGlzY2guCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChFbGl6YWJldGgsIDE1LiBBcHIgMjAwMiwgMTk6MDg6NDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAxODg5MDQ4OCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKa2FubnN0IGphIGtpbmRpc2NoIGZpbmRlbiBnbG9pbnNvbiA6KSB0dSBkaXIga2VpbiB6d2FuZyBhbi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChEZWVwYmx1ZSwgMTUuIEFwciAyMDAyLCAxOTowODo0OCk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxODg5MDM5MiByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKU2NoYXUgaW0gTVBBLUFyY2hpdiwgd2FubiBkaWUgU29tbWVycGFydHkgbWVpc3Qgc28gd2FyZW4uIApEYSBkaWUgTWVocmhlaXQgaGllciBTdHVkZW50ZW5wYWNrIGlzdCBzb2xsdGUgZGFzIHNvIG5hY2ggZGVuIFNvbW1lcnBydWVmdW5nZW4Kc2VpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoR2xvaW5zb24sIDE1LiBBcHIgMjAwMiwgMTk6MTA6MDApOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAxODg5MDUyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKTGFuZ3NhbSB3ZW5kZXQgc2ljaCBkYXMgQmxhdHQgZ2VnZW4gZGllIFN0dWRlbnRlbi4gU2Nob24gc2VsdHNhbSBkYXNzIGRhcwplaW5lbSBMYW5nemVpdHN0dWRlbnRlbiB3aWUgbWlyIGVoZXIgYXVmZmFlbGx0IGFscyBEaXIgOikKCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKFRpYW1haywgMTUuIEFwciAyMDAyLCAxOToxMTo0OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDE4ODkwNjAwIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOAouLi4gYWJlciBiaXMgZGVyIEdyb3NzdGVpbCBoaWVyIGF1ZiBTY2h1bGZlcmllbiBhY2h0ZW4gbXVzcywgZGF1ZXJ0IGVzIG5vY2gKZWluIHBhYXIgSmFocmUuIEFsc28ga2FubiBtYW4gcnVoaWcgYXVmIGRhcyBTdHVkZW50ZW5wYWNrIGFjaHRlbiAtIGRpZQphcmJlaXRlbmRlIEJldm9lbGtlcnVuZyBpc3QgamEgcmVjaHQgd2FobGZyZWkgbWl0IGRlbSBVcmxhdWIuIDstKQoKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoRWxiZXJldCwgMTUuIEFwciAyMDAyLCAxOToxMjoyNik6Cn4jISBybj1UaWFtYWsgcnQ9MTAxODg5MDcwOSByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKYXJiZWl0ZW5kZSBiZXZvZWxrZXJ1bmcgbXVzcyBlcyBudXIgZnJ1ZWh6ZWl0aWcgd2lzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChFbGl6YWJldGgsIDE1LiBBcHIgMjAwMiwgMTk6MTI6MjgpOgp+IyEgcm49VGlhbWFrIHJ0PTEwMTg4OTA3MDkgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CndlaXNzIGplbWFuZCBkZW5uIHp1ZmFlbGxpZyB3YW5uIGRpZSBzZW1lc3RlcmZlcmllbiBzaW5kID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKFRpYW1haywgMTUuIEFwciAyMDAyLCAxOToxMzowMCk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxODg5MDc0OCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKSWNoIHd1ZXJkZSBzYWdlbjogd2llIGltbWVyIDotKQoKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoR2xvaW5zb24sIDE1LiBBcHIgMjAwMiwgMTk6MTM6NTIpOgp+IyEgcm49VGlhbWFrIHJ0PTEwMTg4OTA3ODAgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4ClVtIG1heGltYWwgendlaSBXb2NoZW4gdm9uZWluYW5kZXIgZGlmZmVyaWVyZW5kIGF1ZiBkZW4gU2VpdGVuIGplZGVyCkhvY2hzY2h1bGUgenUgZmluZGVuIC4uLiAKCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNvbW1lciBpbiBvZXNpbGFuZCAoS2VrcywgMTUuIEFwciAyMDAyLCAxOToxNzo0Mik6CkRhIHNpY2ggZGllIEFuemFobCBkZXIgYW4gZWluZW0gT2VzdGVycmVpY2gtQXVmZW50aGFsdCBpbnRlcmVzc2llcnRlbiBQZXJzb25lbgppbiBlaW5lciB1ZWJlcnNjaGF1YmFyZW4gR3JvZXNzZW5vcmRudW5nIHZvbiA1IChGVWVORikgbGV1dGVuIGJld2VndCAodW5kIGRpZQpIZXJiZXJnZSB3b2hsIG1pdHRsZXJ3ZWlsZSBvaG5laGluIGF1c2dlYnVjaHQgaXN0KSwga29lbm50ZSBtYW4gamEgZWhlciB3YXMKInByaXZhdGVzIiBzdGFydGVuLi4uIC0gSWNoIGRlbmtlIGhpZXJiZWkgYW4gZWluZSBVZWJlcm5hY2h0dW5nIGJlaSBtaXIgKG9kZXIKc28pIC0gdW5kIGJpdHRlIHVtIHZlcnN0YWVuZG5pcywgZGFzcyBpY2ggbWljaCBoaWVyYmVpIGF1ZiBkaWUgc2ljaCBhdWYgbWVpbmVtCmZiYW5kIGJlZmluZGVuZGVuIE5hbWVuIGJlemllaGUhISEgKGljaCBoYWIgbmUga2xlaW5lIHdvaG51bmcgKmdyaW5zKikgLi4uCktFS1MgKGRpZSBpbW1lciBub2NoIG5pY2h0IGdlbGVybnQgaGF0LCBlaW5lbiByaWNodGlnIHNjaG9lbmVuIGFydGlrZWwgenUKc2NocmVpYmVuLi4uKSBQUzogc29ycnksIGphbWVzb24uLi4gaWNoIEtBTk5TIG5pY2h0IHZlcnN0YWVuZGxpY2hlciA7LSkpIGFiZXIKdmllbGxlaWNodCBrYW5uIGphIGplbWFuZCBtZWluIG1hbmdlbGhhZnRlcyBEZXV0c2NoIGRvbG1ldHNjaGVuPyAqZ3JpbnMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb21tZXJNVURwYXJ0eSBpbiBCZXJsaW4gPz8gKEVsaXphYmV0aCwgMTUuIEFwciAyMDAyLCAxOToxOTowNik6CkFsc28gd2VyIGRpZSBEYXRlbiBkZXIgU2VtZXN0ZXJmZXJpZW4ga2VubnQgbW9lZ2Ugc2ljaCBkb2NoIG1hbCBiZWkgbWlyIG1lbGRlbgphdWNoIHBlciBtYWlsLi5zY2hhbmtlZG9lbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoQXJrLCAxNS4gQXByIDIwMDIsIDIwOjA4OjQwKToKfiMhIHJuPVdvb2R5IHJ0PTEwMTg4OTAxMTUgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CkljaCBoYWV0dGUgbml4IGdlZ2VuIGVpbmUgQWxwZW5wYXJ0eSwgYXUgY29udHJhaXJlLiBBYmVyIGRhbm4gbWl0IGFsbGVuIDIwMEsKTXVkdXNlcm4sIG9kZXI/IFNvbGwgamEgbmljaHQgaW4gVXJsYXViIGF1c2FydGVuLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKEdyaW1tYm9ybiwgMTUuIEFwciAyMDAyLCAyMDoxMDo0Mik6Cn4jISBybj1BcmsgcnQ9MTAxODg5NDEyMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKTWlyIGVnYWwsIEhhdXB0c2FjaGUgaWNoIGthbm4gbWFsIGhvcm51c3Nlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoWm9vaywgMTUuIEFwciAyMDAyLCAyMDoxNjo0NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxODg5NDI0MiByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKV2FyIGRhcyBuaWNodCBhdWYgZGVyIE1lZ2FzY2htYXJybi1QYXJ0eSBpbiBkZXIgU2Nod2VpeiBnZXBsYW50PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKEtla3MsIDE1LiBBcHIgMjAwMiwgMjE6NDI6MzIpOgp+IyEgcm49Wm9vayBydD0xMDE4ODk0NjA1IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOAp3ZXJkZXQgaWhyIHdvaGwgenUgc3RyZWl0ZW4gYXVmaG9lcmVuISEhPyBhbHNvIERBUyB3b2xsdCBpY2ggamEgZWNodCBuaWNodC4uLgp6dW0gZWluZW4gd2FyIGRhcyBpbnRlcmVzc2Ugb2huZWhpbiB6dSBnZXJpbmcgLSB1bmQgenVtIGFuZGVyZW46IGRhcyBtaXQgZGVyCmVudGZlcm51bmcgaXN0IGlyZ2VuZHdpZSB1bnNpbm4hISEgKHdhcyBIQUJUIGlociBibG9zcyBhbGxlIGFuZ3N0IHZvciBkZXIKZ3JlbnplPz8/KSAtIHZvbiBoaWVyIGJpcyBtdWVuY2hlbiBzaW5kcyA0NTAga20gdW5kIHZvbiBtdWVuY2hlbiBiaXMgYmVybGluCnNpbmRzIDU5MCBrbS4uLiAoa2xhciwgaWhyIGtvbW10IG5pY2h0IGFsbGUgYXVzIG11ZW5jaGVuIC0gaWNoIHdvbGx0IGRhbWl0IG51cgpzYWdlbiwgZGFzcyBlcyBTTyBuYWggYXVjaCBpbm5lcmhhbGIgZGV1dHNjaGxhbmRzIG5pY2h0IGlzdCAqZ3JpbnMqIC0gYWNoLAptaWNoIHZlcnN0ZWh0IGphIG9obmVoaW4gd2llZGVyIGtlaW5lci4uLikgKmtla3MgLSBkaWVzZSBlbnRmZXJudW5nc2Rpc2t1c3Npb24KamV0enQgZWNodCBzY2hvbiB6dSBvZnQgZ2Vob2VydCBoYWJlbmQqICpsYWVjaGVsKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lck1VRHBhcnR5IGluIEJlcmxpbiA/PyAoUGl0ZmFsbCwgMTUuIEFwciAyMDAyLCAyMjowMzoyNCk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxODg5MTE0NiByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4OTExNDYKaGVpc3N0IGRhc3MgX2R1XyBvcmdhbmlzaWVyc3QgZWluZSBtdWRwYXJ0eSBpbiBiZXJsaW4/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoUGl0ZmFsbCwgMTUuIEFwciAyMDAyLCAyMjowNDozMSk6Cn4jISBybj1LZWtzIHJ0PTEwMTg4OTk3NTIgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4Cm5vY2htYWwga3VyeiB6dW0gdm9yZ2VnYW5nZW5lbSB0aHJlYWQ6CgptZWluZXIgaW5mb3JtYXRpb24gbmFjaCBzb2xsIGVoIHNvbW1lciAyMDAzIHBhcnR5b3J0IGJlcmxpbiBzZWluLCB3b3p1IGFsc28KZGFzIGdlc2NocmVpPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoS2VrcywgMTUuIEFwciAyMDAyLCAyMjowNzowNCk6Cn4jISBybj1LZWtzIHJ0PTEwMTg4OTk3NTIgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CmtsZWluZSBlcmdhZW56dW5nOiB2b24gYmVybGluIG5hY2ggaGllciBzaW5kcyBhdWNoIG51ciA2NDAga20uLi4gOy0pKSkKb2VzaWxhbmQgaXN0IEtMRUlOISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoTXVhZGliLCAxNS4gQXByIDIwMDIsIDIyOjU5OjExKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTg4ODk1OTMgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CmthcmxzcnVoZSBpc3QgZG9jaCBnZW5hdSBzbyBuYWhlIGZ1ZXIgYmVybGluZXIgd2llIGJlcmxpbiBmdWVyIGthcmxzcnVoZXIsCm9kZXIgaXJyZSBpY2ggZGEgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChHcmltbWJvcm4sIDE1LiBBcHIgMjAwMiwgMjM6MTk6MTcpOgp+IyEgcm49TXVhZGliIHJ0PTEwMTg5MDQzNTEgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CkRhcyBpc3Qgc28gbmUgU2FjaGUsIGF1ZiBlaW5lciBLdWdlbC4gRGFzIGtvbW10IGFsc28gaW1tZXIgZHJhdWYgYW4gd2VsY2hlbgpXZWcgbWFuIG5pbW10LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKE1vbnRhbnVzLCAxNi4gQXByIDIwMDIsIDAwOjIwOjMyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE4OTA1NTU3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApATXVhZGliOiBoYWIgaWNoIGlyZ2VuZHdhcyBhbmRlcmVzIGJlaGF1cHRldD8KSWNoIHdvbGx0ZSBkYW1pdCBlaWdlbnRsaWNoIG51ciBzYWdlbjogd2VubiBtYW4gYW0gQXJzY2ggZGVyIFdlbHQgd29obnQKKHNlbGJzdCB3ZW5uIGRpZXNlciBBKiB6dWZhZWxsaWcgZ2VyYWRlIG1hbCBCdW5kZXNoYXVwdHN0YWR0IGlzdCwgYWJlciBkYXMgd2FyCkJvbm4gamEgYXVjaCBtYWwsIHVuZCwgYml0dGVzY2hvZW4sIHdhcyBpc3Qgc2Nob24gQm9ubiwgdW5kIHdlbiBpbnRlcmVzc2llcnQKZXM/KSwgc29sbCBtYW4gc2ljaCBuaWNodApiZXNjaHdlcmVuLCB3ZW5uIGVzIHVtIEVudGZlcm51bmdlbiBnZWh0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChQaXRmYWxsLCAxNi4gQXByIDIwMDIsIDAwOjU0OjU3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTg5MDkyMzIgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CmJpdHRlIHNjaGxpZXNzZSBuaWNodCB2b24gZWluZXIgInBlcnNvbiIgCmRpZSBzaWNoIGJlc2Nod2VydCBhdWYgZGllIGdlc2FtdGUKYmVybGluZXIgYmV2b2Vsa2VydW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChUcm95LCAxNi4gQXByIDIwMDIsIDA4OjI0OjE0KToKfiMhIHJuPVBpdGZhbGwgcnQ9MTAxODkxMTI5NyByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKQWxzbyBpbiBCb25uIGlzdCBkYXMgQW5nZWJvdCBlaW5lciBTb21tZXJwYXJ0eSBhbiBkZXIgT3N0c2VlIGF1Y2ggYXVmIHppZW1saWNoCnZlcmhhbHRlbmVzIEludGVyZXNzZSBnZXN0b3NzZW4uIEJlbGllYnRlc3RlcyBHZWdlbmFyZ3VtZW50OiAiWnUgd2VpdCIuCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKEFwb2xsb25pYSwgMTYuIEFwciAyMDAyLCAwODo1OTo0OSk6Cn4jISBybj1Ucm95IHJ0PTEwMTg5MzgyNTQgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4Ck5hLCB3aWUgd2FlcidzIGRlbm4gbWl0IERvcnRtdW5kLiBXZW5uJ3Mgc28gdmllbGUgTGV1dGUgbmFjaCBNdWVuc3RlcgpnZXNjaGFmZnQgaGFiZW4sIGR1ZXJmdGUgZGVuZW4gRG9ydG11bmQgamEgbnUgYXVjaCBuaWNodCB6dSB3ZWl0IHNlaW4/IE9kZXIKaXJnZW5kd28gaW0gU2F1ZXJsYW5kPyAKCkljaCB3YWVyZSBhdWNoIGdlcm5lIGJlcmVpdCwgZGFzIHp1IG9yZ2FuaXNpZXJlbiwgYWxsZXJkaW5ncyBicmF1Y2hlIGljaCBkYWJlaQpkZWZpbml0aXYgdGF0a3JhZWZ0aWdlIFVudGVyc3R1ZXR6dW5nLCBkZW5uIHNvIG1pdCBLaW5kIGlzdCBkYXMgbmljaHQgZ2Fuegp0cml2aWFsLgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoSG9ibywgMTYuIEFwciAyMDAyLCAwOTowNzoyMCk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxODg5MDEzMCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKS3VyemVyIEFicmlzcyBlaW5lciBQYXJ0eW9yZ2FuaXNhdGlvbjoKIDEuIE1hbiBlcmtsYWVydCBzaWNoIGJlcmVpdCwgZWluZSBQYXJ0eSB6dSB2ZXJhbnN0YWx0ZW4gaW0gT3J0IHNlaW5lciBXYWhsCiAyLiBXZW5uIGVzIGtlaW5lIGFuZGVyZW4gT3JnYS1XdWV0aWdlbiBnaWJ0LCBoYXQgbWFuIGRhbWl0IGRpZSBQYXJ0eSBhbSBIYWxzCnVuZCBkZXIgT3J0IHN0ZWh0IGZlc3QgKHdlbmlnc3RlbnMgZ3JvYikuIC0gQmVpICJLb25rdXJyZW50ZW4iIHNwcmljaHQgbWFuCnNpY2ggaW50ZXJuIGFiLgogMy4gTWFuIGZhZW5ndCBhbiB6dSBvcmdhbmlzaWVyZW46IFBhcnR5aGFsbGUsIGZ1ZXIgU29tbWVycGFydHkgZ3Jvc3NlciBQbGF0egpkcmF1c3NlbiwgYWJlciBiaXR0ZSBhdWNoIGVpbiBOb3RmYWxscGxhdHogZnVlciBSZWdlbndldHRlciwKU29ubnRhZ3MiY2hpbmVzZSIsIEZyZWl0YWdza25laXBlLi4uCiA0LiBQYXJ0eSBmaW5kZXQgc3RhdHQuCiA1LiBOQUNIIGRlciBQYXJ0eSBlcnphZWhsZW4gYWxsZSwgd2FzIGJlc3NlciBoYWV0dGUgc2VpbiBrb2VubmVuLgoKV2VnZ2VsYXNzZW4gaGFiZSBpY2ggamV0enQgZGllIGdhbnplbiBLbGVpbmlna2VpdGVuIHdpZSBHZWxkZWluc2FtbWVsbiwKRnJ1ZWhzdHVlY2sgb3JnYW5pc2llcmVuLCBkaWUgZWlnZW5lIFdvaG51bmcgenVyIE1hc3NlbmhlcmJlcmdlCnVtZnVua3Rpb25pZXJlbiBldGMuCgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChEZWVwYmx1ZSwgMTYuIEFwciAyMDAyLCAwOTo1ODowNSk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9MTAxODk0MDM4OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKV2llIHdhZXJzIG1pdCBIYXJ6PyA6LSkgSXN0IHVuZ2VmYWVociBkaWUgTWl0dGUgdm9uIGRldXRzY2hsYW5kLgpEZWVwYmx1ZSwgU2NobWFycmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoQXJrLCAxNi4gQXByIDIwMDIsIDEwOjQ5OjMwKToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMTg5NDM4ODUgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4Ckxhc3MgZG9jaCBPZXN0ZXJyZWljaCwgZGFubiB3ZXJkZW4gd2lyIG9obmUgZGllIE1lY2tlcmVyIGZlaWVybiA7LSkKSmV0enQgZXJzdCByZWNodCwgbG9zbG9zLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJNVURwYXJ0eSBpbiBCZXJsaW4gPz8gKEdub21lLCAxNi4gQXByIDIwMDIsIDEyOjE4OjQ4KToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDE4ODkxMTQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg5MTE0NgphZWhlbS4uLgphbHNvIHdlciBzaWNoIGRpZSBzZW1lc3RlcmZlcmllbmRhdGVuIHNjaGlja2VuIGxhc3NlbiBtdXNzLCB3ZWlsIGVyL3NpZQp6dSBmYXVsIHVuZC9vZGVyIHp1IHVuZXJmYWhyZW4gaXN0LCB1bSBzaWUgc2VsYnN0IGhlcmF1c3p1YmVrb21tZW4sCnNvbGx0ZSBzaWNoIGRhcyBtaXQgZGVyIHBhcnR5b3JnYW5pc2F0aW9uIG5vY2htYWwgZ3J1ZW5kbGljaCB1ZWJlcmxlZ2VuLgpzY2hsaWVzc2xpY2ggc29sbCBkaWUgcGFydHkgZG9jaCBuaWNodCBpbSBjaGFvcyBlbmRlbiwgb2Rlcj8KCmduT21lCgpwLnMuIGphLCBicmllc2VsYW5nIDIwMDMgaXN0IGVpbiBoZWlzc2VyIGFud2FlcnRlciBhdWYgZGllIHNvbW1lcnBhcnR5LgogICAgIGEpIGlzdCAwMiBmdWVyIHBsYW51bmcgenUgc3BhZXQgdW5kIGIpIGthbm4gbWFuIGRhIGVpbiBwYWFyIHNjaG9lbmUKICAgICBydW5kZSBnZWJ1cnRzdGFnZSBmZWllcm4uLi4gaHVodSBjaW5keSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJNVURwYXJ0eSBpbiBCZXJsaW4gPz8gKEJvaW5nLCAxNi4gQXByIDIwMDIsIDEyOjMxOjM0KToKfiMhIHJuPUdub21lIHJ0PTEwMTg5NTIzMjggcmc9cGFydHkKfiMhIHRpZD0xMDE4ODkxMTQ2CkJyaWVzZWxhbmcgMjAwMyB3YWVyZSB0b2xsIC4uLiBhYmVyIHN1Y2h0IGV1Y2ggYml0dGUgZWluZW4gYW5kZXJlbgpJdGFsaWVuZXIgZnVlciBTb25udGFnIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJNVURwYXJ0eSBpbiBCZXJsaW4gPz8gKEVsYmVyZXQsIDE2LiBBcHIgMjAwMiwgMTI6MzI6MDApOgp+IyEgcm49Qm9pbmcgcnQ9MTAxODk1MzA5NCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4OTExNDYKd2VubnMgd2llZGVyIG5lIHdvY2hlIGlzLCBiaW4gaWNoIGRhYmVpLCBzYWcgaWNoIG1hbCA7KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29tbWVyTVVEcGFydHkgaW4gQmVybGluID8/IChHbm9tZSwgMTYuIEFwciAyMDAyLCAxMjozMzo0Nyk6Cn4jISBybj1Cb2luZyBydD0xMDE4OTUzMDk0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg5MTE0NgppY2ggaG9mZmUgbWFsLCBpaHIgYm95a290dGllcnQgZGllc2VuICJpdGFsaWVuZXIiIGRhbm4gZ2VmbGlzc2VudGxpY2ggOikKdW5kIGphLCB3aXIgc3VjaGVuIHVucyBkYW5uIGVpbmVuIGl0YWxpZW5pc2NoZW4gY2hpbmVzZW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lck1VRHBhcnR5IGluIEJlcmxpbiA/PyAoRGVlcGJsdWUsIDE2LiBBcHIgMjAwMiwgMTI6NDQ6MzUpOgp+IyEgcm49R25vbWUgcnQ9MTAxODk1MjMyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4OTExNDYKTmFqYSwgZXMgZ2lidCBkb2NoIGdlbnVnIENoYW90ZW4gaGllciwgZGllIHNpY2hlciBzbyBuZSBQYXJ0eSBtb2VnZW4gd3VlcmRlbgpEZWVwKiAtIGluIGRlciBmYWxzY2hlbiBSdWJyaWsuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lck1VRHBhcnR5IGluIEJlcmxpbiA/PyAoUGl0ZmFsbCwgMTYuIEFwciAyMDAyLCAxMzoxNDoxNik6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDE4OTUzODc1IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg5MTE0NgptYWwgYWJ3YXJ0ZW4sIGVzIGdpYnQgaW4gYmVybGluIHVuZCB1bSBiZXJsaW4gdW5kIHVtIGJlcmxpbiBoZXJ1bSBub2NoIG1laHIKc2Nob2VuZSBwbGFldHplIGFscyBicmllc2VsYW5nIDopCjp3aXJkIHNpY2ggaW4gc2VociBuYWhlciB6dWt1bmZ0IG1hbCBrdW5kaWcgbWFjaGVuIHdhcyBkYSBub2NoIGluIGZyYWdlIGtvbW10CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJNVURwYXJ0eSBpbiBCZXJsaW4gPz8gKEhpcnVkbywgMTYuIEFwciAyMDAyLCAxNDozOToxNCk6Cn4jISBybj1QaXRmYWxsIHJ0PTEwMTg5NTU2NTYgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODkxMTQ2Cm1hbCBwcmFldmVudGl2IGdlZnJhZ3Q6CndpZSBsYW5nIHNvbGx0ZSBkZW5uIG1heGltYWwgZGllIGFuZmFocnQgenVtIHNvbm50YWdzY2hpbmVzZW4gc2Vpbj8KaWNoIGhhZXR0ZSBkYSBuZSByZWwgZ3V0ZSBjb25uZWN0aW9uIHp1IGVpbmVtIGJvZWhtaXNjaGVuIHJlc3RhdXJhbnQgbWl0CmhvY2gtYXR0cmFrdGl2ZXIgYmVkaWVudW5nIDstKQppc3Qgdm9uIGJyaWVzZWxhbmcgc2NoYWV0enVuZ3N3ZWlzZSBuZSBndXRlIHN0dW5kZSBlbnRmZXJudCBnZWh0IGFiZXIgcmljaHR1bmcKc3VlZGVuLCBhbHNvIGZ1ZXIgZGllIG1laXN0ZW4gc2Nob25tYWwgaW4gZGllIHJpY2h0aWdlIHJpY2h0dW5nLgoKaGlydSBtYWwgZnJhZ2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVyTVVEcGFydHkgaW4gQmVybGluID8/IChBbmFraW4sIDE2LiBBcHIgMjAwMiwgMTQ6NDI6MDIpOgp+IyEgcm49SGlydWRvIHJ0PTEwMTg5NjA3NTQgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODkxMTQ2CgpEdSBtZWluc3QgJ09iZW4tb2huZS1CZWRpZW51bmcnPyAKCkEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb21tZXJNVURwYXJ0eSBpbiBCZXJsaW4gPz8gKFpvb2ssIDE2LiBBcHIgMjAwMiwgMTQ6NTQ6NTApOgp+IyEgcm49QW5ha2luIHJ0PTEwMTg5NjA5MjIgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODkxMTQ2CklyZ2VuZHNvd2FzIGluIGRlciBBcnQgbGFnIG1pciBhdWNoIGdyYWQgYXVmIGRlciBadW5nZS4uLiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvbW1lck1VRHBhcnR5IGluIEJlcmxpbiA/PyAoWm9vaywgMTYuIEFwciAyMDAyLCAxNDo1Njo1Myk6Cn4jISBybj1ab29rIHJ0PTEwMTg5NjE2OTAgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODkxMTQ2ClNjaGljaywgd2FzIGRlciBBcnRpa2VsIGZ1ZXIgc29mb3J0aWdlIFJlYWt0aW9uZW4gYXVzZ2Vsb2VzdCBoYXQgOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKExlaWJuaXosIDE2LiBBcHIgMjAwMiwgMTc6NDU6MTMpOgp+IyEgcm49VHJveSBydD0xMDE4OTM4MjU0IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOAphbHNvIGljaCBmaW5kZSBvc3RzZWUgdG9sbCA6KQoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKE1vbnRhbnVzLCAxNi4gQXByIDIwMDIsIDE4OjQ0OjEzKToKfiMhIHJuPUxlaWJuaXogcnQ9MTAxODk3MTkxMyByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKQWxzbyBpY2ggZmFlbmRlIFdlc3RzZWUgYmVzc2VyLiBLb2VubmVuIHdpciBuaWNodCBkaWUgU09tbWVycGFydHkgYW0gUGF6aWZpawptYWNoZW4/IEljaCByaWNodGUgYXVjaCBhdXMuClVuZCBzb2xsIGtlaW5lciBzYWdlbiwgZGFzIHdhZXJlIHp1IHdlaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChDcm9mdCwgMTYuIEFwciAyMDAyLCAxODo1MzoyNyk6Cn4jISBybj1Nb250YW51cyBydD0xMDE4OTc1NDUzIHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApaYWhsc3QgZHUgZGllIEZsdWd0aWNrZXRzPyAgRGFubiBtZWNrZXIgaWNoIGF1Y2ggbmljaHQgdWViZXIgenUgdGV1ZXIgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChNb250YW51cywgMTYuIEFwciAyMDAyLCAxODo1NTo1MSk6Cn4jISBybj1Dcm9mdCBydD0xMDE4OTc2MDA3IHJnPXBhcnR5Cn4jISB0aWQ9MTAxODg4OTQwOApXZW5uIGRpciBmbGllZ2VuIHp1IHRldWVyIGlzdCwga2FubnN0IGR1IGF1Y2ggc2Nod2ltbWVuLiBJY2ggZ2xhdWIsIGRpZQpHZWJ1ZWhyIGZ1ZXIgZGVuIFBhbmFtYWthbmFsIGhhYmVuIHNpZSBhYmdlc2NoYWZmdC4gSGFuZHR1Y2ggenVtIGhpbnRlcmhlcgphYnRyb2NrbmVuIHN0ZWxsIGljaCBhdWNoIHp1ciBWZXJmdWVndW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE11ZHBhcnR5IGluIE9lc3RlcmVpY2g/PyAoQ3JvZnQsIDE2LiBBcHIgMjAwMiwgMTk6MDk6NDcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAxODk3NjE1MSByZz1wYXJ0eQp+IyEgdGlkPTEwMTg4ODk0MDgKTmUuICBEYXMgd2FlciBtaXIgenUgd2VpdCA6bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKFJvbmRhLCAxNy4gQXByIDIwMDIsIDAwOjIxOjM5KToKfiMhIHJuPUNyb2Z0IHJ0PTEwMTg5NzYwMDcgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CkNyb2Z0LCBoYXQgc2Nob24gbWFsIHdlciBkaWUgRmx1Zy0gb2RlciBCYWhudGlja2V0cyBmdWVyIGRpZSBiZXphaGx0LCBkaWUgdm9uCndlaXRlciBoZXIga2FtZW4/CgpSb25kYSAqZXJzdGF1bmxpY2ggdW5zY2htYXJybiwgZGVyIEFydGlrZWwuIEh1Y2gsIHdpciBzaW5kIGphIGluIFBhcnR5IDstKSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNdWRwYXJ0eSBpbiBPZXN0ZXJlaWNoPz8gKENyb2Z0LCAxNy4gQXByIDIwMDIsIDA5OjIzOjU5KToKfiMhIHJuPVJvbmRhIHJ0PTEwMTg5OTU2OTkgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CldhcyBub2NoIG5pY2h0IGlzdCwga2FubiBqYSBub2NoIHdlcmRlbi4gIEljaCB3b2xsdGUgaWhtIHp1ciB6ZWlnZW4gd2llCm1hbiBkaWVzZXMgJ0lzdCB6dSB3ZWl0L0lzdCB6dSB0ZXVlcictR2VqYW1tZXIgd2lya3VuZ3N2b2xsIHVudGVyYmluZGVuCmthbm4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTXVkcGFydHkgaW4gT2VzdGVyZWljaD8/IChMZWlibml6LCAxNy4gQXByIDIwMDIsIDE5OjAxOjU4KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTg5NzU0NTMgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODg5NDA4CmZpbmRlIGljaCBuZSBnYW56IHRvbGxlIGlkZWUuIGRhIGlzdCBlcyBhdWNoIGJlc3RpbW10IHdhcm0uCnVuZCB3aXIgdHJpbmtlbiBkZW4gZ2FuemVuIHRhZyBjb2NrdGFpbHMKCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIFBhcnR5YmlsZGVyLi4uLiAoWm9vaywgMTguIEFwciAyMDAyLCAxMzozNDoyOSk6Ci4uLi4gc2luZCBnZXJhZGUgdm9uIG1pciBlaW5nZXNwaWVsdCB3b3JkZW4uIFpvb2suLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgUGFydHliaWxkZXIuLi4uIChab29rLCAxOC4gQXByIDIwMDIsIDEzOjM2OjQzKToKfiMhIHJuPVpvb2sgcnQ9MTAxOTEyOTY2OSByZz1wYXJ0eQp+IyEgdGlkPTEwMTkxMjk2NjkKSHVpaS4uLiB1bmQgZWluIEluZGV4IGlzIGVpbiB3ZW5pZyBkdXJjaGVpbmFuZGVyLiBEYSBtdXNzIGljaCBuYWNoaGVyIG1hbApzY2hhdWVuLCB3YXMgZGEgbmljaHQgc3RpbW10ZS4gOi0pCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSXZvLi4uIChab29rLCAgNi4gTWFpIDIwMDIsIDE5OjEwOjA0KToKLi4uIGhhdCBlaW4gcGFhciBCaWxkZXIgZWluZ2VyZWljaHQsIGRpZSBudW4gaW0gWndpc2NoZW5uZXR6IGJldHJhY2h0YmFyCnNpbmQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEl2by4uLiAoWm9vaywgIDYuIE1haSAyMDAyLCAxOToxMzoyMik6Cn4jISBybj1ab29rIHJ0PTEwMjA3MDUwMDQgcmc9cGFydHkKfiMhIHRpZD0xMDIwNzA1MDA0CkFjaGphLCB3ZXIgQmVpdHJhZWdlIHp1IGRlbiAiPyIgaW0gSW5kZXggaGF0LCBtYWlsIERpciBiaXR0ZSBlaW5mYWNoCmFuIEl2byA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNvbW1lcnBhcnR5PyAoTGVpYm5peiwgMTkuIE1haSAyMDAyLCAxNjozNjowNik6CmdpYnRzIGVpZ2VudGxpY2ggc2Nob24gamVtYW5kZW4sIGRlciB3YXMgZnVlciBkaWUgc29tbWVycGFydHkgcGxhbnQ/Cm9ydCwgdGVybWluLi4uPwoKbGVpYmkgLSBkZW5rdCBzY2hvbiBhbiBkaWUgcGFydHkgYXVmIGRlciBhbGIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktyaWVnc3RhZ2VidWNoIChJbWRhLCAyMi4gTWFpIDIwMDIsIDE3OjI3OjIwKToKQXVmIHdpZWRlcmhvbHRlbiBXdW5zY2ggZWluZXIgbmFtZW50bGljaCBuaWNodCBuYWVoZXIgZ2VuYW5udGVuIE11ZGRlcmluIHdlcmRlCmljaCBudW4gZGllIGltIExhdWZlIGRlcyBsZXR6dGVuIFN0dWdhc3RhdGlzIGdlc2FtbWVsdGVuIE5vdGl6ZW4gLSBzb3dlaXQgaWNoCnNpZSBlbnR6aWZmZXJuIGthbm4gLSB2ZXJvZWZmZW50bGljaGVuLiBGdWVyIGRpZSBuaWNodCBBbndlc2VuZGVuIGxhZXNzdCBzaWNoCmRhcmF1cyB6dW1pbmRlc3QgZWluIFJpY2h0d2VydCBmdWVyIGRlbiBkYW1hbGlnZW4gYWxsZ2VtZWluZW4gYWxrb2hvcGxnZW51c3MKZXhyYXBvbGllcmVuLgoKWzIyOjA2XSA8TGVpYm5pej4gSWNoID8gSWNoIGJpbiBub2NoIGdhcm5lZCBtdWVkZS4ga29taXNjaCwgd2FzID8KWzIyOjM1XSA8TGVpYm5pej4gSWNoIGJpbiBlY2h0IG11ZWRlLiBXYW5uIGdlaG1hIGVuZGxpY2ggaGVpbSA/ClsyMjo0NV0gPExlaWJuaXo+IEljaCB0cmluayBsZWliZXIgbmVuIGdyb3NzZW4gU3BydWRlbC4gR2VobWEgYmFsZCB3b2FuZGVycwpoaW4gPwpbMDA6MjFdIDxMZWlibml6PiAoenUgSW1kYSkgV2lsbHN0ZSBtaXQgbWVpbmVyIE11dHRlciB1ZWJlciBQYW56ZXIgcmVkZW4gPwpbMDA6MjFdIDxJbWRhPiBJY2gga2FubiBuZWQgbWl0IE11ZXR0ZXJuLiBNdWV0dGVyIG1vZWdlbiBrZWluZSBQYW56ZXIuClswMDoyOV0gPExlaWJuaXo+IElzY2ggYmluIGVzY2h0IG5lZC4KWzAwOjU1XSA8TGVpYm5pej4gKHp1IEZyYXVyb3MpIFdvbGxtYSBoZWlyYXRlbiA/ClswMDo1NV0gPEZsYXVyb3M+IEhhZWFlYWVoaGggPwpbMDE6MTBdIDxMZWlibml6PiAoYXVmICJXb2xsbiBtaXIgZ2VoZW4/IikgQmluIGRvY2ggZ2VyYWRlIGVyc3QgZ2Vrb21tZW4uClswMjowMF0gPExlaWJuaXo+IEljaCBiaW4gbXVlZGUuCgpIaWVyIGVuZGVuIGRpZSBFaW50cmFndW5nZW4uIEdld29laG5saWNoIGd1dCBpbmZvcm1pZXJ0ZSBLcmVpc2VuIGJlcmljaHRlbgppbmRlc3NlbiB2b24gZWluZXIgRm9ydHNldHp1bmcgZGVzIFN0YXRpcyBiaXMgZXR3YSAwNjowMC4KV2VtIGRhcyBHYW56ZSBqZXR6dCBuaXggc2FndCwgZGVyIGZyYWdlIG5lZCwgc29uZGVyIGtvbW1lIG5hZWNoc2NodGVzIE1hbAphdWNoLi4uCgpJbWRhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtyaWVnc3RhZ2VidWNoIChMZWlibml6LCAyMi4gTWFpIDIwMDIsIDE5OjM2OjU0KToKfiMhIHJuPUltZGEgcnQ9MTAyMjA4MTI0MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjIwODEyNDAKZGFzIGdhbnplIGVyc2NoZWludCBtaXIgaXJnZW5kd2llIHNlaHIgZWluc2VpdGlnLi4uLgp3byBpc3QgZGVyIHJlc3Q/CgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLcmllZ3N0YWdlYnVjaCAoRWxiZXJldCwgMjIuIE1haSAyMDAyLCAxOTozNzo0MCk6Cn4jISBybj1MZWlibml6IHJ0PTEwMjIwODkwMTQgcmc9cGFydHkKfiMhIHRpZD0xMDIyMDgxMjQwCmljaCBoYWIgbm9jaCBzbyBuZW4gemV0dGVsIHdvIGljaCBiencgSHVtbmkgd2FzIGRyYXVmIG5vdGllcnQgaGFiZW4uIGljaCBrYW5uCmJlaWRlcyBuaWNodCBtZWhyIGxlc2VuIC4uLgoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS3JpZWdzdGFnZWJ1Y2ggKEh1bW5pLCAyMi4gTWFpIDIwMDIsIDE5OjM4OjIyKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyMjA4OTA2MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjIwODEyNDAKSWNoIGJlendlaWZsZSwgZGFzcyBpY2ggbm9jaCBpbiBkZXIgTGFnZSB3YXIgZWluZW4gU3RpZnQgenUgaGFsdGVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtyaWVnc3RhZ2VidWNoIChFbGJlcmV0LCAyMi4gTWFpIDIwMDIsIDE5OjM4OjQwKToKfiMhIHJuPUh1bW5pIHJ0PTEwMjIwODkxMDIgcmc9cGFydHkKfiMhIHRpZD0xMDIyMDgxMjQwCmRvY2gsIGFiZXIgbmljaHQgbWVociwgZGFtaXQgbGVzZXJsaWNoIHp1IHNjaHJlaWJlbgoKRWxiZXJldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLcmllZ3N0YWdlYnVjaCAoSW1kYSwgMjIuIE1haSAyMDAyLCAyMTo1MzowMCk6Cn4jISBybj1MZWlibml6IHJ0PTEwMjIwODkwMTQgcmc9cGFydHkKfiMhIHRpZD0xMDIyMDgxMjQwCkhtbSwgZGFzIHdhcmVuIGRpZSBiZWlkZW4gIlJlc2VydmllcnQiIFNjaGlsZGVyLCBkaWUgaWNoIG1pdGdlbm9tbWVuIGhhdHRlLgpXZXIgZGllIGJlc2NocmllYmVuIGhhdCwgaXMgbWlyIG5pY2h0IHZvZWxsaWcga2xhci4gRGVyIGVyc3RlIEVpbnRyYWcgaXN0Cnp3ZWlmZWxzZnJlaSBtaXIgenV6dW9yZG5lbiwgZWluIHdlaXRlcmVyIC0gc28gaWNoIG1pY2ggcmljaHRpZyBhbiBkaWUgU2NocmlmdAplcmlubmVyZSAtIERpci4gRGVyIFJlc3QgYmxlaWJ0IGltIER1bmtlbG4uClZpZWxlaWNodCBzb2xsdGUgRWxiaSBtYWwgc2VpbmUgTm90aXplbiBlaW5zY2FubmVuLCB1bmQgaGllciBlaW4gbHVzdGlnZXMKUmF0ZXNwaWVsIHZlcmFuc3RhbHRlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS3JpZWdzdGFnZWJ1Y2ggKEVsYmVyZXQsIDIyLiBNYWkgMjAwMiwgMjE6NTM6NTIpOgp+IyEgcm49SW1kYSBydD0xMDIyMDk3MTgwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyMjA4MTI0MApkYXMgZ2lidCBiZXN0aW1tdCBsdXN0aWdlIGFzY2lpLWdyYWZpa2VuIDspCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLcmllZ3N0YWdlYnVjaCAoSW1kYSwgMjIuIE1haSAyMDAyLCAyMTo1NToxMyk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjIwOTcyMzIgcmc9cGFydHkKfiMhIHRpZD0xMDIyMDgxMjQwCkR1IGhhc3QgbmVuIEFTQ0lJLVNjYW5uZXIgPyBTb3dhcyB3aWxsaWNoIGF1Y2ggbWFsLgpBYmVyIHNjYW4gZGFzIG1hbC4gRGFzIHdpcmQgZ2FyYW50aWVydCBsdXNjaHRpY2guLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtyaWVnc3RhZ2VidWNoIChFbGJlcmV0LCAyMi4gTWFpIDIwMDIsIDIxOjU1OjQ1KToKfiMhIHJuPUltZGEgcnQ9MTAyMjA5NzMxMyByZz1wYXJ0eQp+IyEgdGlkPTEwMjIwODEyNDAKbmFqYSwgd2llIHNvbGwgaWNoIGRhcyBzb25zdCBoaWVyIHBvc3Rlbj8KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtyaWVnc3RhZ2VidWNoIChNYW5kcmFnb24sIDIyLiBNYWkgMjAwMiwgMjE6NTc6MTMpOgp+IyEgcm49RWxiZXJldCBydD0xMDIyMDk3MzQ1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMjA4MTI0MApOZW4gbGluayA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBLcmllZ3N0YWdlYnVjaCAoSW1kYSwgMjIuIE1haSAyMDAyLCAyMjowNTozNCk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAyMjA5NzQzMyByZz1wYXJ0eQp+IyEgdGlkPTEwMjIwODEyNDAKSGEgISBUZWNobmlrLCBkaWUgYmVnZWlzdGVybiB0dXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBLcmllZ3N0YWdlYnVjaCAoRWxiZXJldCwgMjIuIE1haSAyMDAyLCAyMjowNzowMSk6Cn4jISBybj1JbWRhIHJ0PTEwMjIwOTc5MzQgcmc9cGFydHkKfiMhIHRpZD0xMDIyMDgxMjQwCmhtbSwgYWxzIGFzY2lpIHNhZWggZGFzIGJlc3RpbW10IG5vY2ggYmVzc2VyIGF1cyA7KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogS3JpZWdzdGFnZWJ1Y2ggKEltZGEsIDIyLiBNYWkgMjAwMiwgMjI6MDc6NTkpOgp+IyEgcm49RWxiZXJldCBydD0xMDIyMDk4MDIxIHJnPXBhcnR5Cn4jISB0aWQ9MTAyMjA4MTI0MApXZW5uIGR1cyBoaW5yZWljaGVuIHZlcmdyb2Vzc2Vyc3QsIGRhbm4gZ2VodHMgYXVjaCBhbHMgYXNjaWkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLcmllZ3N0YWdlYnVjaCAoSGlnaHQsIDMxLiBNYWkgMjAwMiwgMDE6MDU6MDQpOgp+IyEgcm49SW1kYSBydD0xMDIyMDgxMjQwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyMjA4MTI0MAptYWlsIGxpZWJlciBzY2hvbGxpIHVuZCBtaWNoIG1vcmdlcyB1bSAzIGJlaW0gZ3JpbGxlbiBzdG9lcmVuIGJlc29mZmVuIHdpZSBpaHIKd2FydCAuLi4ga29lbm50IGlociBkZW4gbmFlY2hzdGUgdGVybWluIG1hbCBzbyBsZWdlbiBkYXMgaWNoIHplaXQgaGFiID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc29tbWVycGFydHk/IChHbm9tZSwgIDIuIEp1biAyMDAyLCAxNzo1MjowOCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMjA1NzcxMiByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKZGFtaXQgd2lyIGRhcyB0aGVtYSBtYWwgbmljaHQgYXVzIGRlbiBhdWdlbiB2ZXJsaWVyZW4uLi4Kd2VyIG1hY2h0IGRlbm4gbnU/IDopCndpciBrb2VubmVuIGphIGF1Y2ggZ2FueiBkZW1va3JhdGlzY2ggYWJzdGltbWVuOgp3ZXIgaXN0IGZ1ZXIgY2F0dHkgKyBNUyArIHdvaGxiZWNrPyA6KQoKZ25PbWUgaGVidCBkaWUgaGFuZC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc29tbWVycGFydHk/IChMZWlibml6LCAgMi4gSnVuIDIwMDIsIDIxOjQ5OjQwKToKfiMhIHJuPUdub21lIHJ0PTEwMjMwMzMxMjggcmc9cGFydHkKfiMhIHRpZD0xMDIxODE4OTY2CmxlaWJpIGhlYnQgZGllIGhhbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHNvbW1lcnBhcnR5PyAoRWxiZXJldCwgIDIuIEp1biAyMDAyLCAyMjoyMzoxMyk6Cn4jISBybj1MZWlibml6IHJ0PTEwMjMwNDczODAgcmc9cGFydHkKfiMhIHRpZD0xMDIxODE4OTY2CkVsYmkgaGVidCBkYXMgQmVpbiBhZWggZGllIEhhbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzb21tZXJwYXJ0eT8gKFZlY3RvciwgIDMuIEp1biAyMDAyLCAwMjo0OTozMSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjMwNDkzOTMgcmc9cGFydHkKfiMhIHRpZD0xMDIxODE4OTY2CiptYWwtZWluZmFjaC1zby1rYXJsc3J1aGUtaW4tcmF1bS13ZXJmKiA6PgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogc29tbWVycGFydHk/IChCb2luZywgIDMuIEp1biAyMDAyLCAwOTo1NzowMSk6Cn4jISBybj1WZWN0b3IgcnQ9MTAyMzA2NTM3MSByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKRHUga2FubnN0IGdlcm4gZGllIFBhcnR5IGluIEthcmxzcnVoZSBvcmdhbmlzaWVyZW4sIFZlY3RvciAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc29tbWVycGFydHk/IChDYXR3ZWF6bGUsICA0LiBKdW4gMjAwMiwgMDg6Mzc6MDcpOgp+IyEgcm49R25vbWUgcnQ9MTAyMzAzMzEyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKQWVobS4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzb21tZXJwYXJ0eT8gKFpvb2ssICA0LiBKdW4gMjAwMiwgMDk6NTA6NDApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMjMxNzI2Mjcgcmc9cGFydHkKfiMhIHRpZD0xMDIxODE4OTY2CktvZW5uZW4gd2lyIGRhcyBhbHMgIkphIiBkZXV0ZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogc29tbWVycGFydHk/IChSYWlubWFuLCAgNC4gSnVuIDIwMDIsIDA5OjUwOjUyKToKfiMhIHJuPVpvb2sgcnQ9MTAyMzE3NzA0MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHNvbW1lcnBhcnR5PyAoQ2F0d2VhemxlLCAgNC4gSnVuIDIwMDIsIDExOjIyOjIzKToKfiMhIHJuPVpvb2sgcnQ9MTAyMzE3NzA0MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKTmVpbiwgZGFzIHdhciBlaW4gJ2RlZmluaXRpdiBuaWNodCcuIEZyYWcgbWljaCBkb2NoIGluIG5lbiBwYWFyIE1vbmF0ZW4Kbm9jaG1hbCA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogc29tbWVycGFydHk/IChDYXNzYW5kcmEsICA0LiBKdW4gMjAwMiwgMTI6NTk6MjcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMjMxODI1NDMgcmc9cGFydHkKfiMhIHRpZD0xMDIxODE4OTY2CkFsc28gaWNoIGJpbiBmdWVyIG5lIHBhcnR5Ck11ZW5zdGVyIHdhciBjb29sIGFiZXIgaWNoIGRlbmtlIGNhdHR5IGhhdCBlcnN0IG1hbCBkaWUgbmFzZSB2b2xsLgpBbHNvIFBhcnR5IGVnYWwgd28gKHdlbm4gYXVjaCBtb2VnbGljaHN0IGlyZ2VuZHdvIGluIHJlaWNod2VpdGUgdm9uCmRldXRzY2hsYW5kKSB1bmQgbW9lZ2xpY2hzdCBuaWNodCBudXIgbmVuIHdvY2hlbmVuZGUgc29uZGVybiBuZSB3b2NoZS4KCkNhc3N5CgpQLlMuIG1vZWdsaWNoZSByZWNodHNjaHJlaWJmZWhsZXIgYml0dGUgaWNoIHp1IGVudHNjaHVsZGlnZW4sIGRhIGljaCBoaWVyCmJsaW5kIHNjaHJlaWJlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBzb21tZXJwYXJ0eT8gKE1vbnRhbnVzLCAgNC4gSnVuIDIwMDIsIDE0OjU4OjQ4KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDIzMTg4MzY3IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMTgxODk2NgpJY2ggd3VlcmRlIGphIGVpbmUgaW4gV2ludGVyYnVyZyBtYWNoZW4sIGFiZXIgaWNoIGJpbiBlaW5mYWNoIG5pY2h0IGRhLgpXZW5uIHNpY2ggamVtYW5kIGZpbmRldCwgZGVyIGRpZSBPcmdhbmlzYXRpb24gdWViZXJuaW1tdC4uLiBkaWUgQnVyZyBpc3QKc2ljaGVyIHp1IG9yZ2FuaXNpZXJlbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBzb21tZXJwYXJ0eT8gKEN1Y2h1bGxpbiwgIDQuIEp1biAyMDAyLCAxNToxMToyNSk6Cn4jISBybj1Nb250YW51cyBydD0xMDIzMTk1NTI4IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMTgxODk2NgoqaHVlc3RlbCogCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBzb21tZXJwYXJ0eT8gKFpvb2ssICA0LiBKdW4gMjAwMiwgMTU6Mzk6MDcpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjMxOTYyODUgcmc9cGFydHkKfiMhIHRpZD0xMDIxODE4OTY2CkhpZXNzIGRhcyAiSmEiPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBzb21tZXJwYXJ0eT8gKE1vbnRhbnVzLCAgNC4gSnVuIDIwMDIsIDE4OjA0OjI4KToKfiMhIHJuPVpvb2sgcnQ9MTAyMzE5Nzk0NyByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKRGFzIGhpZXNzIHNvdmllbCAiamEiIHdpZSBiZWkgQ2F0dHkgdW5kIE11ZW5zdGVyLiA7LSkKQWJlciBlcyBnaWJ0IGplIGdlbnVlZ2VuZCBhbmRlcmVuIFJoZWluLU1haW4tTXVkZGVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBzb21tZXJwYXJ0eT8gKEltZGEsICA0LiBKdW4gMjAwMiwgMTg6NTQ6MDgpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMzE5NTUyOCByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKQWJlciB3b2hlciBrcmllZ2VuIHdpciBkYW5uIGRlbiBCaWVya2FzdGVuIHVuZCBkaWUgU2NodWJrYXJyZSA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBzb21tZXJwYXJ0eT8gKE1vbnRhbnVzLCAgNC4gSnVuIDIwMDIsIDE4OjU4OjE5KToKfiMhIHJuPUltZGEgcnQ9MTAyMzIwOTY0OCByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKRGFzIGthbm4gaWNoIGF1Y2ggdm9uIGhpZXIgYXVzIG9yZ2FuaXNpZXJlbi4gTWFjaCBkaXIgbWFsIGtlaW5lIFNvcmdlbi4gOy0pCkltIFp3ZWlmZWxzZmFsbCBtdXNzIGRhcyBnYW56ZSBkYW5uIGhhbHQgYXVmIGRlbiBTT21tZXIgMjAwMyB2ZXJzY2hvYmVuCndlcmRlbiwgZGEga29lbm50ZSBpY2ggd2llZGVyIGluIERFIHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogc29tbWVycGFydHk/IChDYXR3ZWF6bGUsICA1LiBKdW4gMjAwMiwgMDc6NDE6MjYpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMzIwOTg5OSByZz1wYXJ0eQp+IyEgdGlkPTEwMjE4MTg5NjYKU293ZWl0IGljaCB3ZWlzcyBpc3QgU09tbWVyIDIwMDMgZnVlciBkaWUgQmVybGluZXIgdmVyYnVjaHQ/IEljaCBoYWIgZGEKZGllc2JlenVlZ2xpY2hlIHNvbiBrbGVpbmVuIGdlbGJlbiBaZXR0ZWwgYW0gSGlybiBrbGViZW4uLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGFydHkgPz8/IChDYXNzYW5kcmEsICA1LiBKdW4gMjAwMiwgMTQ6NDA6MTQpOgpPcmdhbmlzaWVydCBqZXR6dCBqZW1hbmQgZWluZSBQYXJ0eSwgaW4gV2ludGVyYnVyZyBNdWVuc3RlciBvZGVyIHdvIGF1Y2ggaW1tZXIKPz8/Pz8/Pz8KV2VubiBuaWNodCBiZXN0ZWh0IGludGVyZXNzZSBhbiBlaW5lciBQYXJ0eSBpbiBIYWxsZT8/PwpOZW4gWmVsdHBsYXR6IGhhZXR0ZSBpY2ggYWxsZXMgYW5kZXJlIG11ZXNzdGUgbm9jaCBvcmdhbmlzaWVydCB3ZXJkZW4uCgpNZWludW5nZW4gS29tZW50YXJlPz8KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHkgPz8/IChEZWVwYmx1ZSwgIDUuIEp1biAyMDAyLCAxNzowODoxNCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzI4MDgxNCByZz1wYXJ0eQp+IyEgdGlkPTEwMjMyODA4MTQKSW50ZXJlc3NlISBHcm9zc2VzIEludGVyZXNzZSEKRGVlcCwgWndlaXplaWxlcm5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydHkgPz8/IChBaGFiLCAgNS4gSnVuIDIwMDIsIDE3OjM3OjI1KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDIzMjgwODE0IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNApLbGFyIEludGVyZXNzZSwgYW4gUGFydGllcyBpbW1lci4gOi0pCgpBaG9pLApBaGFiLgoKUC5TLjogZXMgaXN0IGRvY2ggSGFsbGUgYS5kLiBTYWFsZSBnZW1laW50PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0eSA/Pz8gKEVsYmVyZXQsICA1LiBKdW4gMjAwMiwgMTg6MDI6NTYpOgp+IyEgcm49QWhhYiBydD0xMDIzMjkxNDQ1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNApqbyBpc3QgSGFsbGUgYW4gZGVyIFNhYWxlIGdlbWVpbnQuCgppY2ggYmluIGF1Y2ggaW1tZXIgZnVlciBwYXJ0aWVzLCBhdWNoIHdlbm4gaWNoIG5vY2ggbmNpaHQgd2Vpc3MsIG9iIGljaCBkaWVzZW4KU29tbWVyIGthbm4sIHdhaHJzY2hlaW5saWNoIG11c3MgaWNoIGFyYmVpdGVuIHVuZCBoYWIgc3RyZXNzIDooCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXJ0eSA/Pz8gKE11cGZlbCwgIDUuIEp1biAyMDAyLCAxOTo0MjoyMSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjMyOTI5NzYgcmc9cGFydHkKfiMhIHRpZD0xMDIzMjgwODE0CldpZXNvLCB3YWVyIGRpZSBIYWxsZS9XZXN0ZmFsZW4gbGllYmVyPyA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJ0eSA/Pz8gKFJvY2h1cywgIDUuIEp1biAyMDAyLCAyMTozMDoyMyk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzI4MDgxNCByZz1wYXJ0eQp+IyEgdGlkPTEwMjMyODA4MTQKSWNoIGdsYXViZSBpY2ggc3ByZWNoZSBmdWVyIGFsbGUgQmVybGluZXIgdW5kIGVpbmUgTGVpcHppZ2VyaW4sCndlbm4gaWNoIHNhZ2UsIEhhbGxlIGlzdCBvayA6LSkKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBhcnR5ID8/PyAoUGVyZGl0YSwgIDUuIEp1biAyMDAyLCAyMTozMTozNCk6Cn4jISBybj1Sb2NodXMgcnQ9MTAyMzMwNTQyMyByZz1wYXJ0eQp+IyEgdGlkPTEwMjMyODA4MTQKd2llIHdlaXQgbGllZ3QgSGFsbGUgZWlnZW50bGljaCB2b24gTGVpcHppZyBlbnRmZXJudD8KUGVyZGl0YSBvZmZlbmJhcnQgbWFuZ2VsbmRlIEdlb2dyYXBoaWVrZW5udG5pc3NlLCB3dWVyZCBkYXMgYWJlciBzY2hvbiBnZXJuCm1hbCB3aXNzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFydHkgPz8/IChFbGJlcmV0LCAgNS4gSnVuIDIwMDIsIDIxOjMxOjUwKToKfiMhIHJuPVJvY2h1cyBydD0xMDIzMzA1NDIzIHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNApub2UgSGFsbGUgYS5kLiBTYWFsZSBpc3Qgc2VociBvayA6KQppY2ggZGVuayBudXIgZGFzcyBtaWNoIG1laW4gQ2hlZiBrb2VwZnQsIHdlbm4gaWNoIHp1ciBQYXJ0eSBmYWhyZSA7KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcGFydHkgPz8/IChSb2NodXMsICA1LiBKdW4gMjAwMiwgMjE6Mzg6MDUpOgp+IyEgcm49UGVyZGl0YSBydD0xMDIzMzA1NDk0IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNApMYXNzIGVzIG1pY2ggc28gYXVzZHJ1ZWNrZW46CkRlciBSZWdpb25hbCJleHByZXNzIiAoZGVyIGFuIGplZGVtIEJhdW0gaGFlbHQpCmJyYXVjaHQgZnVlciBkaWUgU3RyZWNrZSBldHdhIDEvMiBTdHVuZGUuLi4KCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGFydHkgPz8/IChQZXJkaXRhLCAgNS4gSnVuIDIwMDIsIDIxOjM5OjQxKToKfiMhIHJuPVJvY2h1cyBydD0xMDIzMzA1ODg1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNApobSwgZGFzIGtsaW5ndCBqYSBnYXIgbmljaHQgc2NobGVjaHQuIERhbm4ga29lbm50ZSBpY2ggamEgZGllIFBhcnR5IG1pdCBlaW5lbQpCZXN1Y2ggYmVpIEZyZXVuZGVuIHZlcmJpbmRlbi4uLgpQZXJkaXRhIG11ZXNzdGUgZGF6dSBhbGxlcmRpbmdzIGVyc3RtYWwgenVtIHBhcnR5dGVybWluIFplaXQgaGFiZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBhcnR5ID8/PyAoTGVpYm5peiwgIDUuIEp1biAyMDAyLCAyMTo0MDoyMSk6Cn4jISBybj1QZXJkaXRhIHJ0PTEwMjMzMDU5ODEgcmc9cGFydHkKfiMhIHRpZD0xMDIzMjgwODE0CmdlbmF1LCB3YW5uIGlzdCBqZXR6dCBkaWUgcGFydHk/CmFsc28gaWNoIGJpbiBmdWVyIGVuZGUganVsaSBvZGVyIGFuZmFuZyBhdWd1c3QgOikKCmxlaWJpIGtvbW10IGdhbnogc2ljaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwYXJ0eSA/Pz8gKFZhcmxhcmlvbiwgIDUuIEp1biAyMDAyLCAyMTo0MToyOSk6Cn4jISBybj1MZWlibml6IHJ0PTEwMjMzMDYwMjEgcmc9cGFydHkKfiMhIHRpZD0xMDIzMjgwODE0CmljaCBiaW4gZnVlciBlbmRlIGp1bGkuIGFiIGF1Z3VzdCBoYWIgaWNoIGtlaW5lIHplaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHBhcnR5ID8/PyAoUGVyZGl0YSwgIDUuIEp1biAyMDAyLCAyMTo0MTo0Myk6Cn4jISBybj1MZWlibml6IHJ0PTEwMjMzMDYwMjEgcmc9cGFydHkKfiMhIHRpZD0xMDIzMjgwODE0CmhtLCB3ZW5uIGRhbm4gYWJlciBlcnN0IG5hY2ggZGVtIGVyc3RlbiBBdWd1c3R3b2NoZW5lbmRlLi4uClBlcmRpdGEgaGF0IGpldHp0IGFsbGVyZGluZ3MgZWggbmljaHQgc28gZ2FueiBkZW4gVWViZXJibGljayB1ZWJlciBpaHJlClRlcm1pbmUgaW0gU29tbWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXJ0eSA/Pz8gKE11cGZlbCwgIDYuIEp1biAyMDAyLCAwMDozMjoxNyk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjMzMDU1MTAgcmc9cGFydHkKfiMhIHRpZD0xMDIzMjgwODE0CldpZXNvIEVsYmk/IAoKLW11cGZlbC0KSGFsbGUuLi4gSGFsbGUuLi4gSGFsbGUuLi4/IEVyaW5uZXJ0IG1pY2ggYW4gbGViZW5kZSBTYWxhdGUgb2RlciBzby4uLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHBhcnR5ID8/PyAoR3JhbGtvciwgIDYuIEp1biAyMDAyLCAwOToyMDo0NCk6Cn4jISBybj1NdXBmZWwgcnQ9MTAyMzMxNjMzNyByZz1wYXJ0eQp+IyEgdGlkPTEwMjMyODA4MTQKaG1tLCBpY2ggYmluIGdlZ2VuIGVpbmUgUGFydHkgaW4gSEFMLgpXZWlzcyBub2NoLCB3aWUgZGllIGxldHp0ZSBQYXJ0eSBnZWVuZGV0IGhhdC4uLgpVbmQgZGllc21hbCBnaWJ0IGVzIFRPVEUsIGRhIGVzIG1laHIgQmVzdWNoZXIgc2VpbiB3ZXJkZW4gKmZnKgoKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBhcnR5ID8/PyAoRWxiZXJldCwgIDYuIEp1biAyMDAyLCAwOToyMzowMSk6Cn4jISBybj1HcmFsa29yIHJ0PTEwMjMzNDgwNDQgcmc9cGFydHkKfiMhIHRpZD0xMDIzMjgwODE0CndhciBzY2hvbiBtYWwgcGFydHkgaW4gaGFsbGU/CgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwYXJ0eSA/Pz8gKEdyYWxrb3IsICA2LiBKdW4gMjAwMiwgMDk6MjQ6MjQpOgp+IyEgcm49RWxiZXJldCBydD0xMDIzMzQ4MTgxIHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNApqYS4gd2VubiBhdWNoIGZ1ZXIgZWluIGFuZGVyZXMgTVVELCB1bmQgZG9ydCB3YXIgKGF1ZmdydW5kIGRlciBIaXR6ZSkgZWluCmtsZWluZXMgUHJvYmxlbSBtaXQgZGVtIEVzc2VuIGdld2VzZW4uLi4KRGllIE1ham9yaXRhZXQgd2FyIGRhbWFscyBzZWhyIHNjaG5lbGwgYWJnZWhhdWVuLi4uCkZyYWd0IG1hbCBCZWVsemVidWIgOykKCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBwYXJ0eSA/Pz8gKEVsYmVyZXQsICA2LiBKdW4gMjAwMiwgMDk6MjY6MjIpOgp+IyEgcm49R3JhbGtvciBydD0xMDIzMzQ4MjY0IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNAp3YXIgZGFzIGRlbm4gSGFsbGUtc3BlemlmaXNjaCwgb2RlciB3YWVyIGRhcyBpbiBqZWRlciBhbmRlcmVuIHN0YWR0IGF1Y2gKcGFzc2llcnQ/CgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBwYXJ0eSA/Pz8gKEdyYWxrb3IsICA2LiBKdW4gMjAwMiwgMDk6Mjg6MjgpOgp+IyEgcm49RWxiZXJldCBydD0xMDIzMzQ4MzgyIHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNApobW0sIHdlbm4gZGllc2VsYmVuIFVtc3RhZW5kZSwgZGllIG5pY2h0IHVlYmVyYWxsIHNvIHp1c2FtbWVua29tbWVuIHd1ZXJkZW4sCmVpbnRyZXRlbiB3dWVyZGVuLCB3YWVyZSBlcyBhdWNoIHdvYW5kZXJzIG1vZWdsaWNoLgpBYmVyIGRhcyBpc3Qgc2VpdCAxOTk3IGVpbiBncm9lc3NlcmVzIEdlc3ByYWVjaHN0aGVtYSwgd2VubiBtYW4gYW5kZXJlClBhcnR5dGVpbG5laG1lciBzaWVodC4uLgoKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHBhcnR5ID8/PyAoRWxiZXJldCwgIDYuIEp1biAyMDAyLCAwOToyOTowOCk6Cn4jISBybj1HcmFsa29yIHJ0PTEwMjMzNDg1MDggcmc9cGFydHkKfiMhIHRpZD0xMDIzMjgwODE0Cm11c3MgYW4gbWlyIHZvcmJlaWdlZ2FuZ2VuIHNlaW4gaXJnZW5kd2llLiB1bmQgd2VsY2hlIFVtc3RhZW5kZT8KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBhcnR5ID8/PyAoRGVlcGJsdWUsICA2LiBKdW4gMjAwMiwgMTA6MDE6MTcpOgp+IyEgcm49R3JhbGtvciBydD0xMDIzMzQ4MDQ0IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzI4MDgxNApEdSB3ZWlzc3QgZG9jaCwgd2VyIGdlZ2VuIG5lIGJlc3RpbW10ZSBQYXJ0eSBpc3QgbXVhbnR3b3J0ZSBzZWxiZXIgZWluZQptYWNoZW4uIEFsc28gd2FubiB1bmQgV28/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBwYXJ0eSA/Pz8gKENhc3NhbmRyYSwgIDYuIEp1biAyMDAyLCAxMjowNDo0OSk6Cn4jISBybj1HcmFsa29yIHJ0PTEwMjMzNDgyNjQgcmc9cGFydHkKfiMhIHRpZD0xMDIzMjgwODE0CkhpIEdyYWxrb3IKCkxhc3MgZGFzIG1hbCBtZWluZSBzb3JnZSBzZWluLCB6dW1hbCBpY2ggbmljaHQgdm9yIGhhYmUgZnVlciBzb3ZpZWwgbGV1dGUKc2VsYnN0IHp1IGtvY2hlbi4Kd2VubiBkdSB6d2VpZmVsIGhhc3QgZGFzIGljaCBkYXp1IGluIGRlciBsYWdlIGJpbiwgZGFyZnN0ZSBnZXJuZSBoZWxmZW4gOi0pKQoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IC0gSGFsbGUgKFNhYWxlKSAoQ2Fzc2FuZHJhLCAgNi4gSnVuIDIwMDIsIDEyOjIyOjUwKToKU28sIGRhIGRpZSBBbnR3b3J0ZW4gamEgbWVocmhlaXRsaWNoIHBvc2l0aXYgd2FyZW4gdW5kIHNpY2ggYXVjaCBuaWVtYW5kCmdlbWVsZGV0IGhhdCB1bmQgc2FndCBlciB3aWxscyBsaWViZXIgc2VsYmVyIG1hY2hlbiwKVGVybWluIHdhZXJlIHZvbiBtaXIgYXVzICB2b3J6dWdzd2Vpc2UgZGllIFdvY2hlIHZvbSAxMiAtIDE4IEF1Z3VzdApJbSBKdWxpIGthbm4gaWNoIG5pY2h0IGF1c3NlcmRlbSBzaW5kIGRhYmVpIHZpZWxlbiBub2NoIHBydWVmdW5nZW4gdW5kIGhpZXIKRmVyaWVuLgpBdXNzZXJkZW0gaGF0IGRpZSBXb2NoZSBhdWNoIGRlbiBWb3J0ZWlsLCBkYXMgZGEgZnVlciBlaW5pZ2UgTWFyaWFlCkhpbW1lbGZhaHJ0IHJlaW5mYWVsbHQgKG5lIGRlciBpc3QgaGllciBuaWNodCBmcmVpKQpXZW5ucyBkZXIgTWVocmhlaXQgbGllYmVyIGlzdCBnZWh0cyBhdWNoIG5lIHdvY2hlIGZydWVoZXIsIHNwYWV0ZXIgaXN0CnNjaGxlY2h0LgoKV2llIHNjaG9uIGdlc2NocmllYmVuIHd1ZXJkZSBkYXMgZ2FuemUgZGllICBXb2NoZSB1ZWJlciBhdWYgZWluZW0gemVsdHBsYXR6CnN0YXR0ZmluZGVuICggb2huZSBEYXVlcmNhbXBlcikgCgpNZWludW5nZW4gL0tvbWVudGFyZSB6dW0gVGVybWluCgpDYXNzeQoKUC5TLiBKYSBmdWVyIGVpbmlnZSBpc3QgSGFsbGUgd2VpdCBhYmVyIGRhcyBnZWh0IGltbWVyIGVpbmlnZW4gc28gdW5kIGVpbmlnZQprb2VubmVuIGxlaWRlciBhdWNoIG5pZSB6dSBkZW0gamV3ZWlsaWdlbiBUZXJtaW4gZWdhbCB3ZWxjaGVuIG1hbiBuaW1tdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSAtIEhhbGxlIChTYWFsZSkgKEFwb2xsb25pYSwgIDYuIEp1biAyMDAyLCAxMjoyNjo1NSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzM1ODk3MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjMzNTg5NzAKVGphLCBmdWVyIG1pY2ggaXN0IGRhcyBuZSB6aWVtbGljaCB3ZWl0ZSBTdHJlY2tlLiBWb3IgYWxsZW0gbWl0IEtpbmQuIEdpYnQncwpkYSBlaWdlbnRsaWNoIGF1Y2ggc28gd2FzIHdpZSBuZSBIZXJiZXJnZSBvZGVyIGthbm4gbWFuIGRhIG51ciBaZWx0ZW4/IFdlaWwKYXVjaCB6ZWx0ZW4gbWl0IGRlbSBLaW5kIG5pY2h0IGdlcmFkZSBkYXMgSWRlYWxlIGlzdCB1bmQgSG90ZWwgZnVlciBuZSBXb2NoZQppc3QgZ2FueiBzY2hvZW4gdGV1ZXIuLi4KCkFwbyoKd29obCBlaGVyIG5pY2h0IGtvbW1lbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHkgLSBIYWxsZSAoU2FhbGUpIChDYXNzYW5kcmEsICA2LiBKdW4gMjAwMiwgMTI6NTM6MTcpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMjMzNTkyMTUgcmc9cGFydHkKfiMhIHRpZD0xMDIzMzU4OTcwCkF1ZiBkZW0gWmVsdHBsYXR6IGdpYnQgZXMgendlaSBidW5nYWxvd3MgbWl0IGplIDYgYmV0dGVuIGRpZSBmdWVyIGRpZQphbmdlZ2ViZW5lbiBaZWl0ZW4genVtaW5kZXN0ZW5zIGdlc3Rlcm4gbm9jaCBmcmVpIHdhcmVuLiBEaWUgc2luZCBhdWNoCmJlemFobGJhciB1bmQgZGllIHd1ZXJkZSBpY2ggZGFubiBhdWNoIHJlc2VydmllcmVuIHVuZCBkYW5uIGRhcmYgc2ljaCBkcnVtCmdlcHJ1ZWdlbHQgd2VyZGVuLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5IC0gSGFsbGUgKFNhYWxlKSAoTWVzaXJpaSwgIDYuIEp1biAyMDAyLCAxMjo1ODo0MSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzM2MDc5NyByZz1wYXJ0eQp+IyEgdGlkPTEwMjMzNTg5NzAKV2VubiBlcyB6ZWl0bGljaCBkcmluIGlzdCwgd3VlcmRlIGljaCBnZXJuIG1pdCBkZXIgRmFtaWx5IGtvbW1lbi4gRGEgZGllc2UKbmF0dWVybGljaCBuaWNodCBhbiBNVUQtR2VzcHJhZWNoZW4gdWViZXIgZGVuIFplaXRyYXVtIHZvbiA3IFRhZ2VuCmludGVyZXNzaWVydAppc3QsIGhpZXIgZGllIEZyYWdlIG5hY2ggYWx0ZXJuYXRpdmVuIEJlc2NoYWVmdGlndW5nc21vZWdsaWNoa2VpdGVuPyBHaWJ0cyBkYQppbiBkZXIgTmFlaGUgd2FzIHp1bTogQmFkZW4sIEFuc2NoYXVlbiwgU3BpZWxlbiwgU3BvcnQsIFJlaXRlcmhvZi4uLiA/Cldlbm4gamEgd2FlciBzdXBlciwgZGFua2UKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHkgLSBIYWxsZSAoU2FhbGUpIChDYXNzYW5kcmEsICA2LiBKdW4gMjAwMiwgMTM6MDE6MzQpOgp+IyEgcm49TWVzaXJpaSBydD0xMDIzMzYxMTIxIHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzM1ODk3MApIaQpHaWJ0IGVzLApEZXIgWmVsdHBsYXR6IGdlaG9lcnQgenUgZGVtIGZyZWliYWQgKGF1c3NhZ2UgZGVyIGxldXRlIGRvcnQgemVsdGdlYnVlaHJlbgpiZWluaGFsdGVuIGRpZSBzY2h3aW1tZ2VidWVocmVuCkF1c3NlcmRlbSBsaWVndCBkZXIgZGlyZWt0IGFuIGRlciBzYWFsZSwgYWxzIHZpZWwgcGxhdHogenVtIHNwYXppZXJlbiwKdHJldGJvb3RmYWhyZW4gZXRjIGluIGxhdWZyZWljaHdlaXRlIHZvcmhhbmRlbi4KQXVzc2VyZGVtIGZpbmRldCB3ZW5uIG1laW5lIGluZm9zIHJpY2h0aWcgc2luZCA4c2luZCBuaWNodCBtZWhyIHNvIG5ldSkgaW4gZGVyCndvY2hlIHZvbSAxMi4gbmVuIFJ1bW1lbCBzdGF0dCBhdWNoIHdlbm4gZGVyIGtsZWluIGlzdC4KCkNhc3N5ClAuUy4gSW4gZGVyIHNhYWxlIHNvbGx0ZSBtYW4gZWhlciBuaWNodCBiYWRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHkgLSBIYWxsZSAoU2FhbGUpIChDYXNzYW5kcmEsICA2LiBKdW4gMjAwMiwgMTM6MDM6NDgpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwMjMzNjEyOTQgcmc9cGFydHkKfiMhIHRpZD0xMDIzMzU4OTcwCkF1c3NlcmRlbSBiZXN0ZWh0IG5hdHVlcmxpY2ggYXVjaCBkaWUgbW9lZ2xpY2hrZWl0IGZ1ZXIgbmVuIHRhZyBuYWNoIGxlaXB6aWcKenUgZmFocmVuIG9kZXIgc28gKGRlciB6dWcgYnJhdWNodCBuZSBoYWxiZSBzdHVuZGUpLCBSZWl0ZXJob2Ygd2VpcyBpY2ggbmljaHQKa2FubiBtaWNoIGFiZXIgZXJrdW5kaWdlbgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHBhcnR5ID8/PyAoR3JhbGtvciwgIDYuIEp1biAyMDAyLCAxMzoxODo0NCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzM1Nzg4OSByZz1wYXJ0eQp+IyEgdGlkPTEwMjMyODA4MTQKd3VlcmRlIHdlZGVyIERlaW5lIEtvY2hrdWVuc3RlIG5vY2ggRGVpbmUgRWluc2NoYWV0enVuZyBpbiBGcmFnZSBzdGVsbGVuLi4uClNvbGx0ZXN0IERVIGVpZ2VudGxpY2ggd2lzc2VuLi4uCgpVbmQgRGVlcCwgSGFsbGUgaXN0IG5pY2h0IGdyb3NzIGdlbnVnLCB1bSBaV0VJIFBhcnRpZXMgenUgbWFjaGVuLi4uCgooYWxzbyB6d2VpIE1VRC1QYXJ0aWVzKQoKRywKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5IC0gSGFsbGUgKFNhYWxlKSAoR3JhbGtvciwgIDYuIEp1biAyMDAyLCAxMzoyMDoyNik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzM2MTI5NCByZz1wYXJ0eQp+IyEgdGlkPTEwMjMzNTg5NzAKaG1tLCBuaWNodCBpbiBkZXIgU2FhbGUgYmFkZW4/CkRhcyB3YXIgZG9jaCBkYXMgZ2VicmFubnRlIEtpbmQgb2RlciBzby4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhcnR5IC0gSGFsbGUgKFNhYWxlKSAoVmFybGFyaW9uLCAgNi4gSnVuIDIwMDIsIDE0OjE1OjA2KToKfiMhIHJuPUdyYWxrb3IgcnQ9MTAyMzM2MjQyNiByZz1wYXJ0eQp+IyEgdGlkPTEwMjMzNTg5NzAKKmdyeWJlbCoKCjEuIFRlcm1pbgoyLiBTdHJlY2tlCjMuIFplbHRlbgo0LiBHcmFsa29yCgpOZWluLCBhdWYgbWljaCB3ZXJkZXQgaWhyIHZlcnppY2h0ZW4gbXVlc3NlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHkgLSBIYWxsZSAoU2FhbGUpIChDYWRyYWNoLCAgNi4gSnVuIDIwMDIsIDE0OjQwOjQ0KToKfiMhIHJuPVZhcmxhcmlvbiBydD0xMDIzMzY1NzA2IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzM1ODk3MApEZXIgS29tbWVudGFyIG1pdCBkZXIgRWluc2ljaHQsIGRhcyBuaWUgYWxsZSBrb2VubmVuIHVuZCBpbW1lciB3ZWxjaGUgbWVja2VybiwKbWFjaHQgbWlyIE11dC4gSWNoIGhvZmZlIER1IGxhZXNzdCBEaWNoIG5pY2h0IGZydXN0cmllcmVuIHVuZCBuaWNodCBkYXZvbgphYmJyaW5nZW4uIEljaCBmcmV1IG1pY2ggZGFzIHNpY2ggamVtYW5kIGdlZnVuZGVuIGhhdCBkZXIgZXMgaW4gZGllIEhhbmQKbmltbXQuLi4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5IC0gSGFsbGUgKFNhYWxlKSAoTXVwZmVsLCAgNi4gSnVuIDIwMDIsIDIwOjEzOjM4KToKfiMhIHJuPVZhcmxhcmlvbiBydD0xMDIzMzY1NzA2IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzM1ODk3MApPY2guICpEaWUqIEdlbGVnZW5oZWl0LCBHcmFsbGkgenUgYWVyZ2VybiwgbGFlc3N0IER1IHNvIHZlcnN0cmVpY2hlbi4uLgoKLW11cGZlbC0KKHVlYmVybGVndCBub2NoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHkgLSBIYWxsZSAoU2FhbGUpIChDdWNodWxsaW4sICA2LiBKdW4gMjAwMiwgMjA6MTg6MjApOgp+IyEgcm49TXVwZmVsIHJ0PTEwMjMzODcyMTggcmc9cGFydHkKfiMhIHRpZD0xMDIzMzU4OTcwCkdyYWxrb3IgaXN0IGRlciBlaW56aWdlIFNwaWVsZXIsIGRlbiBpY2ggbWl0ICJAIiBpZ25vcmllcmUuIEljaCB3ZWlzcwpuaWNodCBtZWhyLCB3YXJ1bSwgYWJlciBlcyBtdXNzIEdydWVuZGUgaGFiZW4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQYXJ0eSAtIEhhbGxlIChTYWFsZSkgKFZhcmxhcmlvbiwgIDYuIEp1biAyMDAyLCAyMDoxOToxOCk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyMzM4NzUwMCByZz1wYXJ0eQp+IyEgdGlkPTEwMjMzNTg5NzAKWyBdIER1IHdhcnN0IG1hbCBTaGVyaWZmIGltIEFuZGVyTGFuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQYXJ0eSAtIEhhbGxlIChTYWFsZSkgKEN1Y2h1bGxpbiwgIDYuIEp1biAyMDAyLCAyMDoyMjoyMyk6Cn4jISBybj1WYXJsYXJpb24gcnQ9MTAyMzM4NzU1OCByZz1wYXJ0eQp+IyEgdGlkPTEwMjMzNTg5NzAKWAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHkgLSBIYWxsZSAoU2FhbGUpIChHcmFsa29yLCAgNy4gSnVuIDIwMDIsIDA5OjQ0OjU1KToKfiMhIHJuPU11cGZlbCBydD0xMDIzMzg3MjE4IHJnPXBhcnR5Cn4jISB0aWQ9MTAyMzM1ODk3MApobW0sIGtvZW5udCBpaHIgcnVoaWcgbWFjaGVuLCBhYmVyIGRhIGljaCBzb3dpZXNvIGFuIGRlbiBpbnRlcmVzc2FudGVuCldvY2hlbmVuZGVuIG5pY2h0IHp1IEhhdXNlIGJpbi4uLgphdXNzZXJkZW0gbGFzc2UgaWNoIG1pY2ggbnVyIHZvbiBzeW1wYXRoaXNjaGVuIExldXRlbiBhZXJnZXJuLCB1bmQgUmh5YW4KZ2Vob2VydCBuaWNodCBpbiBkaWVzZSBLYXRlZ29yaWUuLi4KCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSBIYWxsZS9TYWFsZSAoQ2Fzc2FuZHJhLCAgNy4gSnVuIDIwMDIsIDExOjUxOjM4KToKSGFsbG8gUGFydHl3dWV0aWdlCgpEYW1pdCBkaWVqZW5pZ2VuIHVudGVyIHVucyBkaWUgVXJsYXViIGFubWVsZGVuIG11ZXNzZW4gc28gc2llIHp1IGVpbmVyIFBhcnR5CndvbGxlbiBwbGFuZW4ga29lbm5lbiwgaGllciBkZXIgZW5kZ3VlbHRpZ2UgVGVybWluLgoKTW9udGFnIDEyLjguMDIgYmlzIFNvbnRhZyAxOC44LjAyCgpEYXMgZ2FuemUgZmluZGV0IGF1ZiBlaW5lbSBaZWx0cGxhdHogc3RhdHQKRGEgZGVyIG5pY2h0IHNvIGdyb3NzIGlzdCBoYWIgaWNoIGRlbiBzY2hvbm1hbCByZXNlcnZpZXJ0IHVuZCBhdWNoIGRpZSBiZWlkZW4KQnVuZ2Fsb3dzLgoKUHJlaXNlIChOdXIgZnVlciBkaWUgVWViZXJuYWNodHVuZ2VuKQpCaXR0ZSBuaWNodCBsYWNoZW4sIGljaCBnbGF1YiBkaWUgbWVpbmVuIGRhcyBlcm5zdCA6LSkpClByZWlzIHBybyBQZXJzb24gdW5kIE5hY2h0OgpFcndhY2hzZW5lIDQsMTAgRXVybwpFcm1hZXNzaWd0IChTdHVkZW50ZW4gZXRjLikgMSwwMCBFdXJvCktpbmRlciB1bnRlciAzIHNpbmQgZnJlaQoKWmVsdCAoZGFtaXQgc2luZCAyIG1hbm4gWmVsdGUgZ2VtZWludCBrZWluZSBIYXVzemVsdGUpIDEgRXVybwpCdW5nYWxvdyAyMCw1MCBFdXJvIChiZWkgc2VjaHMgenUgYmVsZWdlbmRlbiBCZXR0ZW4pCkF1dG8gKHdlbm5zIGF1ZiBkZW0gUGxhdHogc3RlaGVuIG11c3Mgd2VpbCBqZW1hbmQgYW5nc3QgZHJ1bSBoYXQpIDQsMTAKCkRhenUga29tbXQgbm9jaCBkZXIgU3Ryb20gYWJlciBkYXMgaXN0IHZlcm5hY2hsYWVzc2lnZW5iYXIuCgpadXIgcGFydHkgc2VsYnN0IGthbm4gaWNoIG5vY2gga2VpbmUgQXVzc2FnZW4gbWFjaGVuIGRhIGRlciByYXVtIG5vY2ggbmljaHQKZmVzdHN0ZWh0LgoKQ2Fzc3ksIFBhcnR5d3VldGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgSGFsbGUvU2FhbGUgKENhc3NhbmRyYSwgIDcuIEp1biAyMDAyLCAxMjoxMzoyNSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzQ0MzQ5OCByZz1wYXJ0eQp+IyEgdGlkPTEwMjM0NDM0OTgKTmFjaHRyYWcKRGVyIFByZWlzIGRlcyBCdW5nYWxvd3MgYmV6aWVodCBzaWNoIG5hdHVlcmxpY2ggbmljaHQgcHJvIFBlcnNvbiBzb25kZXJuIHBybwpCdW5nYWxvdyB1bmQgbmFjaHQgaXN0IGFsc28gZHVyY2ggZGllIHphaGwgZGVyIFNjaGxhZWZlciB6dSBUZWlsZW4uIERhenUga29tbXQKZGFubiBkaWUgUGVyc29uZW5wYXVzY2hhbGUKCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgSGFsbGUvU2FhbGUgKE11YWRpYiwgIDcuIEp1biAyMDAyLCAxMzoyNzozOSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzQ0MzQ5OCByZz1wYXJ0eQp+IyEgdGlkPTEwMjM0NDM0OTgKR2lidCBlcyBpbiBkaXJla3RlciBOYWVoZSBlaW4gSG90ZWwgPwoKR3J1c3MKCk11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eSBIYWxsZS9TYWFsZSAoR3JhbGtvciwgIDcuIEp1biAyMDAyLCAxMzoyODozMyk6Cn4jISBybj1NdWFkaWIgcnQ9MTAyMzQ0OTI1OSByZz1wYXJ0eQp+IyEgdGlkPTEwMjM0NDM0OTgKd3d3LmhhbGxlLmRlCkthbm5zdCBEdSBzZWxic3QgaW4gUnVoZSAodm9yIGFsbGVtLCB3ZWlsIGRhIGF1Y2ggQmlsZGVyIGRyYXVmIHNpbmQpLCBzY2hhdWVuCgpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHkgSGFsbGUvU2FhbGUgKE11YWRpYiwgIDcuIEp1biAyMDAyLCAxMzozMTo0OCk6Cn4jISBybj1HcmFsa29yIHJ0PTEwMjM0NDkzMTMgcmc9cGFydHkKfiMhIHRpZD0xMDIzNDQzNDk4CkRhcyBBdWdlbm1lcmsgbGFnIGF1ZiBOYWVoZSwgYWxzbyBicmFldWNodHMgenVtaW5kZXN0IG5vY2ggbmUgZ2VuYXVlCk9ydHNiZXplaWNobnVuZyBkZXMgWmVsdHBsYXR6ZXMuIFZpZWxsZWljaHQgaGFiIGljaCBzaWUgYWJlciBhdWNoIHVlYmVybGVzZW4uCgpNdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5IEhhbGxlL1NhYWxlIChDYXNzYW5kcmEsICA3LiBKdW4gMjAwMiwgMTM6NDI6MzUpOgp+IyEgcm49TXVhZGliIHJ0PTEwMjM0NDk1MDggcmc9cGFydHkKfiMhIHRpZD0xMDIzNDQzNDk4CkhhbGxvCkhvdGVsbGlzdGUga29tbXQgbm9jaC4KV2VyIHNjaG9uIG1hbCBzZWxiZXIga3Vja2VuIG1vZWNodGUsCmRlciBaZWx0cGxhdHogbGllZ3QgaW4gSGFsbGUtVHJvdGhhLCBkaXJla3QgaGludGVybSBOb3JkYmFkIGFuIGRlciBTYWFsZQppc3QgZ2xhdWIgaWNoIGRpZSBQZmFycnNyYXNzZSAoU2VpdGVuc3RyYXNzZSBkZXIgVHJvdGhhZXIgU3RyYXNzZSkKCkNhc3N5CgpQLlMuIERpZSBzZWl0ZSB3d3cuaGFsbGUuZGUgZW50aGFlbHQgYXVjaCBhbnNvbnN0ZW4gd2VpdGVyZSBpbmZvcyB6dXIgc3RhZHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IChDYXNzYW5kcmEsIDIyLiBKdW4gMjAwMiwgMTE6MzU6NDgpOgpIYWxsbyBQYXJ0eXd1ZXRpZ2VzIFZvbGsKCkRhcyBQYXJ0eWJyZXR0IGlzdCBudW4gYXVmZ2VzdGVsbHQuCkljaCBob2ZmZSBhdWYgemFobHJlaWNoZSwgYW5tZWxkdW5nZW4sIG1vZWdsaWNoc3QgbmljaHQgZXJzdCBhbSBsZXR6dGVuIFRhZy4KClBhcnR5b3JnYXRlYW0gSGFsbGUgQ2Fzc2FuZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaGlydHMgZnVlciBkaWUgUGFydHkgaW4gSGFsbGUgKFNoaXJ0aW5lLCAzMC4gSnVuIDIwMDIsIDEwOjI2OjIwKToKCkhhbGxvLCBsaWViZSBNdWRnZW1laW5kZSwKCmF1Y2ggenVyIFBhcnR5IGluIEhhbGxlIHNvbGwgZXMgZWluIFQtU2hpcnQgZ2ViZW4uIERpZSBNb3RpdnN1Y2hlIGlzdCBoaWVybWl0CmVyb2VmZm5ldC4gVm9yc2NobGFlZ2UgaW4gZGllIFplaXR1bmcgb2RlciBkaXJla3QgYW4gbWljaC4KClNoaXJ0aW5lIC0ga3VlbW1lcnQgc2ljaCBhYiBzb2ZvcnQgdW0gZGllIFRzaGlydHMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2hpcnRzIGZ1ZXIgZGllIFBhcnR5IGluIEhhbGxlIChDdWNodWxsaW4sIDMwLiBKdW4gMjAwMiwgMTA6NTM6MDUpOgp+IyEgcm49U2hpcnRpbmUgcnQ9MTAyNTQyNTU4MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjU0MjU1ODAKKnNldWZ6KiBXaWUgd2FlciBlcywgd2VubiBkaWUgQmVzaXR6ZXIgZGVyIENoYXJha3RlcmUgJ3RzaGlydCcsICdwYXJ0eScKdW5kICdjaGluZXNlJyBkaWVzZWxiZW4gbG9lc2NoZW4gd3VlcmRlbiB1bmQgaXJnZW5kZWluIEVyem1hZ2llciB2b3IgCmplZGVyIFBhcnR5IHBhc3NlbmQgTWFpbC1BbGlhc2UgZWlucmljaHRldD8gRmFlbmQgaWNoIHRvbGwgdW5kIHByYWt0aXNjaC4KCkN1Y2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2hpcnRzIGZ1ZXIgZGllIFBhcnR5IGluIEhhbGxlIChKYW1lc29uLCAzMC4gSnVuIDIwMDIsIDEwOjUzOjM5KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDI1NDI3MTg1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyNTQyNTU4MApadXN0aW1tdW5nIC0gaWNoIGRhY2h0ZSwgc293YXMgd2FlciBzY2hvbiBsYWVuZ3N0IGRlciBGYWxsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2hpcnRzIGZ1ZXIgZGllIFBhcnR5IGluIEhhbGxlIChWYXJsYXJpb24sIDMwLiBKdW4gMjAwMiwgMTI6NDc6MjEpOgp+IyEgcm49SmFtZXNvbiBydD0xMDI1NDI3MjE5IHJnPXBhcnR5Cn4jISB0aWQ9MTAyNTQyNTU4MApMb2VzY2hlbiwgYmFuaXNoZW4sIE5QQ3MgbWl0IGRlbiBlbnRzcHJlY2hlbmRlbiBGdW5rdGlvbmVuIGRyYXVzIGJhc3RlbG4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNoaXJ0cyBmdWVyIGRpZSBQYXJ0eSBpbiBIYWxsZSAoQmFtYmksIDMwLiBKdW4gMjAwMiwgMTg6NDQ6MDYpOgp+IyEgcm49VmFybGFyaW9uIHJ0PTEwMjU0MzQwNDEgcmc9cGFydHkKfiMhIHRpZD0xMDI1NDI1NTgwCnRzaGlydCB3YXIgc2Nob24gZnVlciBkaWUgbGV0enRlIHBhcnR5IGdlYmFuaXNodC4gQ2F0d2VhemxlIGhhdCB3b2hsCnZlcmdlc3NlbiwgZGVuIFNwaWVsZXIgd2llZGVyIHp1IGxvZXNjaGVuLgpCZWkgInBhcnR5IiBzZWxic3Qgd2FlciBpY2ggamEgbm90ZmFsbHMgZnVlciBad2FuZ3NlbnR3aWdudW5nIHVuZCBiZWkKImNoaW5lc2UiIGhhYiBpY2ggbmljaHQgbmFjaGdlc2VoZW4uLi4KQWJlciBkYXMgaXN0IGphIGFsbGVzIG5pY2h0IG1laW5lICJBdWZnYWJlIi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSBIYWxsZS9TYWFsZSAoUGVyZGl0YSwgMzAuIEp1biAyMDAyLCAxOTo0NTozMSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyMzQ0MzQ5OCByZz1wYXJ0eQp+IyEgdGlkPTEwMjM0NDM0OTgKSm8sIGljaCBoYWV0dCBkYSBqYSBnbGVpY2ggbWFsIG5lIEZyYWdlOiBpc3QgZXMgYXVjaCBtb2VnbGljaCwgYXVmIGRpZXNlbQpDYW1waW5ncGxhdHogbWl0IG5lbSBXb2hubW9iaWwgenUgc3RlaGVuPyBVbmQgd2VubiBqYSwgd2FzIGtvc3RldCBkYXM/IChvaG5lClN0cm9tIHVuZCBzbyduIFNjaG5pY2tzY2huYWNrKSBXYWVyIG1hbCBpbnRlcmVzc2FudCB6dSB3aXNzZW4uClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHkgSGFsbGUvU2FhbGUgKENhc3NhbmRyYSwgIDEuIEp1bCAyMDAyLCAxMDo0NzozMik6Cn4jISBybj1QZXJkaXRhIHJ0PTEwMjU0NTkxMzEgcmc9cGFydHkKfiMhIHRpZD0xMDIzNDQzNDk4CkljaCB3ZXJkIG1pY2ggbWFsIGVya3VuZGlnZW4gb2IgZGFzIGdlaHQsIG1hbiBzb2xsdGUgYWJlciBkZW5rIGljaCBhdWYgamVkZW4KZmFsbCBnZW51ZWdlbmQgYm9kZW5mcmVpaGVpdCBoYWJlbiB1bSBkYSBlcnN0IHJ1bnRlcnp1a29tbWVuLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IEhhbGxlIChDYXNzYW5kcmEsICAyLiBKdWwgMjAwMiwgMTQ6NDM6MjMpOgpIYWxsbywKaGllciBlaW5pZ2UgQW50d29ydGVuIGF1ZiBGcmFnZW4gZGllIGdlc3RlbGx0IHd1cmRlbiwgZGFtaXQgaWNoIHNpZSBuaWNodCBhbGxlCmVpbnplbG50IGJlYW50d29ydGVuIG11c3MuIDotKQoKMS4gQW5yZWlzZSAKRWluZSBBbnJlaXNlIGJlcmVpdHMgYW0gU29ubnRhZyBkZW0gMTEuIHNvbGx0ZSBwcmluemlwaWVsbCBtb2VnbGljaCBzZWluCih3dXJkZSB2b24gZWluaWdlbiBhbmdlZnJhZ3QpIFdlbm4gaWhyIGJlcmVpdHMgU29ubnRhZyBrb21tdCBzYWd0IGJpdHRlIHZvcmhlcgpwZXIgbWFpbCBiZXNjaGVpZCBkYXMgaWNoIGRlbSBaZWx0cGxhdHogYmVzY2hlaWRzYWdlbiBrYW5uIHVuZCBkaWUgd2lzc2VuIHdhcwpsb3MgaXN0LgoKMi4gV2VnIHZvbSB6ZWx0cGxhdHogenVyIFBhcnR5CkplIG5hY2hkZW0gd2llIGlociB1bnRlcndlZ3Mgc2VpdCwKTWl0IGRlciBTdHJhc3NlbmJhaG4gb2RlciBkZW0gZmFocnJhZCBjYSAxMCAtIDE1IE1pbnV0ZW4gKGRpZSBiYWhuIGZhZWhydCBkaWUKZ2FuemUgbmFjaHQpCk1pdCBkZW0gYXV0byBjYSA1IE1pbnV0ZW4gcGx1cyBwYXJrcGxhdHpzdWNoZSAoIGthbm4gdW50ZXIgdW1zdGFlbmRlbiBldHdhcwpsYWVuZ2VyIGRhdWVybikKWnUgRnVzcyBjYSAzMCBNaW51dGVuCgozLiBCdW5nYWxvd2F1c3N0YXR0dW5nCkZ1ZXIgZGllIGRpZSBzaWNoIGRhZnVlciBpbnRlcmVzc2llcmVuIGluIG5lbSBCdW5nYWxvdyBzdGF0dCBpbiBuZW0gemVsdCB6dQpzY2hsYWZlbgozIFppbW1lcgphKSBFaW5nYW5nc2JlcmVpY2ggbWl0IERvcHBlbGNvdWNoLCBUaXNjaCB1bmQgS3VlY2hlbmVja2UgKEhlcmRwbGF0dGUsIGtlaW4KS3VlaGxzY2hyYW5rKQpiKSBTY2hsYWZmemltbWVyIG1pdCBlaW5lbiBEb3BwZWxzdG9ja2JldHQKYykgU2NobGFmZnppbW1lciBtaXQgendlaSBzY2hyYW5rYmV0dGVuCmQpIFRvaWxldHRlLCB3YXNjaGJlY2tlbgpXZXIgc2ljaCBkYWZ1ZXIgaW50ZXJlc3NpZXJ0IG1haWwgYW4gbWljaAoKNC5XZWdiZXNjaHJlaWJ1bmcKSXN0IG5vY2ggaW4gYXJiZWl0IHVuZCB3aXJkIGRhbm4gYXVmIGRlciBXZWJzZWl0ZSBnZXBvc3RldC4KClNvIGRhcyB3YXJzIGZ1ZXJzIGVyc3RlLCB3ZWl0ZXJlIEluZm9zIHNwYWV0ZXIuCgpDYXNzYW5kcmEKLSBQYXJ0eW9yZ2F0ZWFtIEhhbGxlLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VtaW5hcj8gKENhc3NhbmRyYSwgIDIuIEp1bCAyMDAyLCAxNToyNDowMSk6CldpcmQgZnVlciBkaWUgcGFydHkgZWlnZW5kbGljaCBlaW4gU2VtaW5hciBnZXd1ZW5zY2h0Pwp1bmQgd2VubiBqYSwgd2VyIGhhZWxsdCBuZW4gdm9ydHJhZyB1bmQgd29ydWViZXIuCndlbm4gZGFzIHdlciBtYWNoZW4gd2lsbCBtZWxkZXQgZXIgc2ljaCBtb2VnbGljaHN0IGJhbGQsIGRhbWl0IHdpciBuZW4gUmF1bQpvcmdhbmlzaWVyZW4ga29lbm5lbi4KCkpldHp0IGJpdHRlIG5pY2h0IGhhdWZlbndlaXNlIGFuZHdvcnRlbiBhIGxhIEphIGljaCB3aWxsIG5lbiB2b3J0cmFnIGhvZXJlbgphYmVyIGhhbHRlbiB0dSBpY2gga2VpbmVuLgoKQ2Fzc2FuZHJhCi0gcGFydHlvcmdhdGVhbSBIYWxsZS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZW1pbmFyPyAoWm9vaywgIDIuIEp1bCAyMDAyLCAxNTo0ODoyMCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyNTYxNjI0MSByZz1wYXJ0eQp+IyEgdGlkPTEwMjU2MTYyNDEKUmlrdXMgdW5kIGljaCBrb2VubmVuICh2b3JhdXNnZXNldHp0IHdpciBrb21tZW4gKGljaCBmdWVyIG1laW5lbiBUZWlsIGJpbgpub2NoIG5pY2h0IGdhbnogc2ljaGVyKSkgbmVuIFZvcnRyYWcgdWViZXIgIkVycmljaHR1bmcgZWluZXMgSG9tZW11ZHMiCmhhbHRlbi4gWnVtaW5kZXN0IHdhciBkYXMgbWFsICJhbmdlZGFjaHQiIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZW1pbmFyPyAoSHVtbmksICAyLiBKdWwgMjAwMiwgMTY6MTA6MzQpOgp+IyEgcm49Wm9vayBydD0xMDI1NjE3NzAwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyNTYxNjI0MQpUamEuIEZ1ZXIgLCxTZWxic3Qgd2VpdGVyZW50d2lja2VsbmRlIE5QQ3MsIFBhcnQgSUknJyBicmF1Y2ggaWNoIG5vY2ggd2FzLCB1bmQKaGFiIGtlaW5lIFplaXQgZGF6dSAoamEsIGVzIGdpYnQgSWRlZW4sIGRpZSBub2NoIGtyYW5rZXIgc2luZCBhbHMgZGllIGJlaW0KbGV0enRlbiBNYWwsIG5vY2ggdmllbCBrcmFua2VyKS4gQWJlciBpY2gga29lbm50ZSwgd2VubiBkYXMgd2lya2xpY2gKZ2V3dWVuc2NodCB3aXJkIHVuZCBpY2ggbmljaHQgbWl0IDMgbGV1dGVuIGRhIHNpdHplLCBkaWUgbWlyIHp1aG9lcmVuLCB3ZWlsCnNpZSBNaXRsZWlkIGhhYmVuLCB1ZWJlciAsLEVpbnNhdHptb2VnbGljaGtlaXRlbiB2b24gTVVEcyBpbiBkZXIgQmlsZHVuZycnCnJlZmVyaWVyZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2VtaW5hcj8gKFpvb2ssICAyLiBKdWwgMjAwMiwgMTY6MTE6MjgpOgp+IyEgcm49SHVtbmkgcnQ9MTAyNTYxOTAzNCByZz1wYXJ0eQp+IyEgdGlkPTEwMjU2MTYyNDEKSm8sIG1hY2ggbWFsLiBTdGVsbCBtYWwgRGVpbiBQcm9qZWt0IHZvci4gOi0pCgpOdXIgYmFzdGVsIG5pY2h0IHdpZWRlciBkaWUga2xhdHNjaGVuZGVuIEhhZW5kZSBpbiBEZWluZW4gRk9saWVuc2F0eiBlaW4uCgpab29rIG1hZyBrZWluZSB1bnRlcnNjaHdlbGxpZ2UgQmVlaW5sdXNzdW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW50ZWxsaWdlbnRlIEthbXBmIE5QQ3MgKEFyaywgIDIuIEp1bCAyMDAyLCAxNjozODowMyk6ClRqYSwgd2VubiBkYXp1IGplbWFuZCB3YXMgU3Bhbm5lbmRlcyB2b3J0cmFnZW4ga29lbm50ZSwgaWNoIHdhZXJlCmludGVyZXNzaWVydC4gVW5kIHp3YXIgbmljaHQgaW4gZGVyIEZvcm0sIE5QQyB5IGthbm4gZGllc2UgcmFmZmluaWVydGUKVmVybmljaHR1bmdzbWV0aG9kZSBhbndlbmRlbiwgc29uZGVybiBlaGVyLCB3aWUgbWFjaGUgaWNoIEthZW1wZmUgdGFrdGlzY2gKaW50ZXJlc3NhbnRlciwgdmllbGxlaWNodCBhdWNoIHdlbmlnZXIgc2Nyb2xsaW50ZW5zaXYuIEljaCB2ZXJzdWNoZSB6d2FyCmdlcmFkZSB3YXMgaW4gZGVyIFJpY2h0dW5nLCBhYmVyIGljaCB3ZWlzcyBhdWNoLCBkYXNzIGRhcyBuaWNodCBkZXIgV2Vpc2hlaXQKbGV0enRlciBTY2hsdXNzIGlzdCAqaHVlc3RlbCogO14pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVsbGlnZW50ZSBLYW1wZiBOUENzIChCb2luZywgIDIuIEp1bCAyMDAyLCAxNjo1Mzo0NSk6Cn4jISBybj1BcmsgcnQ9MTAyNTYyMDY4MyByZz1wYXJ0eQp+IyEgdGlkPTEwMjU2MjA2ODMKRnJhZyBkb2NoIG1hbCBCYW1iaSBuYWNoIGRlbSBUaGVtYSAuLi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlbGxpZ2VudGUgS2FtcGYgTlBDcyAoQXJrLCAgMi4gSnVsIDIwMDIsIDE3OjAyOjExKToKfiMhIHJuPUJvaW5nIHJ0PTEwMjU2MjE2MjUgcmc9cGFydHkKfiMhIHRpZD0xMDI1NjIwNjgzCkFsc28gd28gaWNoIG1pY2ggZ2dmLiBuYWNoc2NoYXVtYWVzc2lnIGJlZGllbmVuIGthbm4sIHdlaXNzIGljaCBzZWxic3QsIGRhY2h0ZQpudXIsIGVzIHdhZXJlIGZ1ZXIgbWVociBpbnRlcmVzc2FudCA6KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSBIYWxsZSAoSmFtZXNvbiwgIDIuIEp1bCAyMDAyLCAxNzowNjo0Mik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyNTYxMzgwMyByZz1wYXJ0eQp+IyEgdGlkPTEwMjU2MTM4MDMKU2NobGFmZnppbW1lcj8gKmcqIGZ1ZXIgZGllLCBiZWkgZGVuZW4gc2Nob24gdG90ZSBIb3NlIGlzdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2hpcnRzIGZ1ZXIgZGllIFBhcnR5IGluIEhhbGxlIChDYXR3ZWF6bGUsICAzLiBKdWwgMjAwMiwgMDk6MDA6NTApOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjU0MjcxODUgcmc9cGFydHkKfiMhIHRpZD0xMDI1NDI1NTgwCkFjaCBLYWNrZSwgZGllIFRzaGlydHMuLi4KCkRhIHNpbmQgZG9jaCBub2NoIE5hY2hiZXN0ZWxsdW5nZW4genUgbWFjaGVuLiBKYSwgZGFzIGhhYiBpY2ggdmVycGVubnQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlbGxpZ2VudGUgS2FtcGYgTlBDcyAoQmFtYmksICAzLiBKdWwgMjAwMiwgMTE6NTQ6NDIpOgp+IyEgcm49Qm9pbmcgcnQ9MTAyNTYyMTYyNSByZz1wYXJ0eQp+IyEgdGlkPTEwMjU2MjA2ODMKRHUgd2lyc3QgbGFjaGVuLCBhYmVyIGljaCBoYXR0ZSBzY2hvbiB1ZWJlcmxlZ3QsIEFyayBtYWwgenUgYW50d29ydGVuLiBBYmVyCndhcyBpY2ggZGEgKGJpc2hlcikgZmFicml6aWVydCBoYWJlLCB3aWxsIGljaCBrZWluZW0gd2VpdGVydmVya2F1ZmVuLiA7KQoKSWNoIHdlaXNzIGphLCBkYXNzIG1hbiBkYXp1IGJlc3RpbW10IGtlaW5lbiAoZmFlaGlnZW4pIERvemVudGVuIGZpbmRlbiB3aXJkLAphYmVyIHdpbGwgc2ljaCB2aWVsbGVpY2h0IGplbWFuZCB6dW0gTGljaHRjaGFvcyAqaHVlc3RlbCogYWV1c3Nlcm4/CgpXYXMgZGllICJpbnRlbGxpZ2VudGVuIiBOUENzIGFuYmVsYW5ndC4uLiBpY2gga29lbm50ZSBtaWNoIGV2ZW50dWVsbCBkYXp1CmhpbnJlaXNzZW4gbGFzc2VuLCB3YXMgZGFydWViZXIgenUgZXJ6YWVobGVuLCBhYmVyIGljaCB3ZWlzcyBuaWNodCwgb2IgZGFzIGRhcwppc3QsIHdhcyBhcmsgc3VjaHQuIFVudGVyIHRha3Rpc2NoIGthZW1wZmVuIHZlcnN0ZWggaWNoIGVoZXIsIGRhc3Mgc2ljaCBkaWUKTlBDcyBzaXR1YXRpb25zYmVkaW5ndCB2ZXJzY2hpZWRlbiAoc2lubnZvbGwpIHVudGVyc3R1ZXR6ZW4gdW5kIGVyZ2FlbnplbiB1bmQKZGFzIGhhYiBpY2ggKHp1bWluZGVzdCBpbiBkZXIgdHJvbGxob2VobGUgdW5kIG1pdCBkZW0gZGVyemVpdCB2ZXJ3ZW5kZXRlbgpUYWt0aWstTlBDKSBub2NoIG5pY2h0IHByb2JpZXJ0LgoKSWNoIHNjaGF1IG1hbCBuYWNoIGRlbiBLbGF1c3VyZW4sIHdlbm4gZGEgSW50ZXJlc3NlIGJlc3RlaHQuCgpNZkcsIEJhbWJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW50ZWxsaWdlbnRlIEthbXBmIE5QQ3MgKEh1bW5pLCAgMy4gSnVsIDIwMDIsIDEyOjE0OjAwKToKfiMhIHJuPUJhbWJpIHJ0PTEwMjU2OTAwODIgcmc9cGFydHkKfiMhIHRpZD0xMDI1NjIwNjgzCk51biBqYS4gSWNoIGZhZW5kZSBzb3dhcyBkdXJjaGF1cyBoaWxmcmVpY2guIFdlbm4gaWNoIHNlaGUsIHdpZSBkaWUgWmF1YmlzCnNpY2ggdWViZXIgbWVpbmUgbGFuZyBnZXBsYW50ZW4gdW5kIHdpZSBpY2ggZHVyY2hhdXMgYmVoYXVwdGUgbWl0IGVpbmlnZW4KWnVzYXR6ZnVua3Rpb25lbiBiZWxlZ3RlbiBOUENzIGthcHV0dGxhY2hlbiB1bmQgb2ZmZW5iYXIgbm9jaCBuaWVtYW5kIGF1Y2ggbnVyCmFuc2F0endlaXNlIGJlbWVya3QgaGF0LCB3YXMgZGllIGVpZ2VudGxpY2ggbWFjaGVuLCB3YWVyZSBtaXIgZWluIFZvcnRyYWcKLCx3b3JhdWYgbWFuIGJlaSBoYXJ0IHdlcmRlbiBzb2xsZW5kZW4gTlBDcyBhY2h0ZW4gc29sbHRlJycgYXVjaCBzZWhyIGxpZWIuCkVpbiBGZWF0dXJlIGtlbm4gaWNoIGpldHp0IC0gYWJlciB3ZW5uIGljaCBkYXMgYmVpbSBuYWVjaHN0ZW4gTlBDIGJlYWNodGUKZ2lidCdzIHdpZWRlciB3YXMsIGRhcyBpY2ggdWViZXJzZWhlLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEludGVsbGlnZW50ZSBLYW1wZiBOUENzIChKb3NodWEsICAzLiBKdWwgMjAwMiwgMTI6MjQ6MzUpOgp+IyEgcm49SHVtbmkgcnQ9MTAyNTY5MTI0MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjU2MjA2ODMKQWxzbywgb2Jvd29obCBpY2ggdm9uIHNvd2FzIGphIGtlaW5lIEFobnVuZyBoYWJlIDspIHd1ZXJkZSBtaWNoIHNvd2FzIHNlaHIKaW50ZXJlc2llcmVuLiBBbGxlcmRpbmdzIHdlcmRlIGljaCB3b2hsIG5pY2h0IGF1ZiBkZXIgUGFydHkgc2VpbiA6LSggQWJlcgpmYWxscyBzb3dhcyBnZWhhbHRlbiB3aXJkLCBkYW5uIGRlbmt0IGRvY2ggdmllbGxlaWNodCBhbiBtaWNoICh1bmQgZGllCmFuZGVyZW4sIG5pY2h0IGFud2VzZW5kZW4sIEludGVyZXNzaWVydGVuKSB1bmQgbWFjaHQgaXJnZW5kZWluIGhhbGJ3ZWdzCmF1c3NhZ2VmYWVoaWdlcyBNYXRlcmlhbCBkYXp1LiBBdXMgc29sY2ggc2FjaGVuIGtvZW5udGUgbWFuIGRvY2ggc2ljaGVyIHVlYmVyCmRpZSBaZWl0IGVpbmUgbmV0dGUga2xlaW5lIEJpYmxpb3RoZWsgKHouQi4gZnVlciBKdW5nbWFnaWVyKSBhdWZiYXVuLiAKCkFjaCBqYSwgdW5kIHNvIHNlaHIgbWljaCAiaW50ZWxsaWdlbnRlIiBOUENzIGludGVyZXNzaWVyZW4sIGdlZ2VuIGRpZSBtYW4gc2ljaAp3YXMgZWluZmFsbGVuIGxhc3NlbiBtdXNzIC0gaWNoIGZpbmRlIGRhc3MgbXVzcyBuaWNodCBhdWYgZWluZSBzdHVwaWRlCk5ldXRyYWxpc2F0aW9uIGFsbGVyIEdpbGRlbmZhZWhpZ2tlaXRlbiBoaW5hdXNsYXVmZW4uIEFsc28gYml0dGUgbmljaHQgbm9jaAptZWhyIE5QQ3MgZGllIG1pciBtZWluZW4gRGFlbW9uIGVpbmZhY2ggdG90YmVpc3NlbiB1bmQgOTksOSUgU3BlbGwtZGVmZW5kCmhhYmVuIDspCgpKb3NoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcG9sbG9uaWEuLi4gKFpvb2ssICA0LiBKdWwgMjAwMiwgMTA6NDQ6NTEpOgouLi4gaGF0IG5vY2ggZWluIHBhYXIgQmlsZGRva3VtZW50ZSB6dXIgbGV0enRlbiBQYXJ0eSBuYWNoZ2VsaWVmZXJ0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMjAvIChab29rLCAxOS4gSnVsIDIwMDIsIDE0OjA5OjI0KToKRG9ydCBmaW5kZW4gc2ljaCBkaWUgbmV1ZXN0ZW4gUGFydHktTmV3cy4gVW50ZXIgYW5kZXJlbSBhdWNoIGVpbmUKV2VnYmVzY2hyZWlidW5nLiA6LSkgCgpHcnVzcywgWm9vay4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eXVlYmVyc2NodXNzIChPcmt0b2V0ZXIsIDE5LiBKdWwgMjAwMiwgMTQ6MTQ6MDkpOgpXaWVzbyB3aXJkIGVpZ2VudGxpY2ggZGVyIFBhcnR5dWViZXJzY2h1c3MgKHNvIGVzIGVpbmVuIGdpYnQpIG5pY2h0IG1laHIgZnVlcgpkZW4gbmFlY2hzdGVuIE9yZ2FuaXNhdG9yIGF1ZmdlaG9iZW4/CkljaCBkZW5rZSBlcyBpc3QgZG9jaCBldHdhcyBnYW56IGFuZGVyZXMsIHdlbm4gbWFuIGZ1ZXIgZGllCnp1X3NwYWV0X3VlYmVyd2Vpc2VyIHVuZCBuaWNodF9hbm1lbGRlciBuaWNodCBkYXMgZWlnZW5lIEdlbGQgdm9yc3RyZWNrZW4gbXVzcwoodW5kIGltIGV4dHJlbWZhbGwgYXVmIGRlbiBrb3N0ZW4gc2l0emVuIGJsZWlidCksIHNvbmRlcm4gZGEgc2Nob24gYXVmIGVpbmVuCmdld2lzc2VuIEJldHJhZyB2ZXJ0cmF1ZW4ga2Fubi4KCk9ya1QsIGVpbiBIZXJ6IGZ1ZXIgUGFydHlvcmdhbmlzYXRvcmVuIGhhYmVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eXVlYmVyc2NodXNzIChab29rLCAxOS4gSnVsIDIwMDIsIDE0OjIzOjAxKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDI3MDgwODQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTAyNzA4MDg0OQo+PiBXaWVzbyB3aXJkIGVpZ2VudGxpY2ggZGVyIFBhcnR5dWViZXJzY2h1c3MgKHNvIGVzIGVpbmVuIGdpYnQpIG5pY2h0IG1laHIKPj4gZnVlciBkZW4gbmFlY2hzdGVuIE9yZ2FuaXNhdG9yIGF1ZmdlaG9iZW4/CgpXZXIgZ2VuYXUgaGF0IGRhcyBiZWhhdXB0ZXQ/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eXVlYmVyc2NodXNzIChHbG9pbnNvbiwgMTkuIEp1bCAyMDAyLCAxNDozMDo1OSk6Cn4jISBybj1ab29rIHJ0PTEwMjcwODEzODEgcmc9cGFydHkKfiMhIHRpZD0xMDI3MDgwODQ5CklNSE8gaGF0IGlyZ2VuZHdlciBkYXJhdWYgaGluZ2V3aWVzZW4sIGRhc3MgZGFzIGVoZW1hbGlnZSBQYXJ0eWtvbnRvIG5hY2ggZGVtClVlYmVyemllaGVuIGluIElyZ2VuZHdvIG5pY2h0IG1laHIgZXhpc3RpZXJ0IG9kZXIgdmVyd2VuZGV0IHdpcmQuIERhcyBkdWVyZnRlCmRlbSBVZWJlcnNjaHVzcy13ZWl0ZXJnZWJlbiBpbSBXZWdlIHN0ZWhlbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5dWViZXJzY2h1c3MgKE1vbnRhbnVzLCAxOS4gSnVsIDIwMDIsIDE3OjM1OjEzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjcwODE4NTkgcmc9cGFydHkKfiMhIHRpZD0xMDI3MDgwODQ5CkljaCBnbGF1YmUsIGRhcyB3YXIgZWhlciBkaWUgVHJlbm51bmcgendpc2NoZW4gUGFydHkgdW5kIFZlcmVpbi4KSWNoIHdlaXNzIG51ciwgZGFzcyBkaWUgdm9uIG1pciBvcmdhbmlzaWVydGVuIFBhcnRpZXMgb2huZSBVZWJlcnNjaHVzcwphYmxpZWZlbiwgZGEgZGllIEthbGt1bGF0aW9uIGltbWVyIHBlcmZla3QgYXVmZ2luZyB1bmQgUmVzdGUgZGVyU3RpZnR1bmcgZGVzCkF1c3RyYWd1bmdzb3J0ZXMgenVmbG9zc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHl1ZWJlcnNjaHVzcyAoWm9vaywgMTkuIEp1bCAyMDAyLCAxODowNzoxNik6Cn4jISBybj1Nb250YW51cyBydD0xMDI3MDkyOTEzIHJnPXBhcnR5Cn4jISB0aWQ9MTAyNzA4MDg0OQpXZWxjaGUgUmVzdGUgYmxpZWJlbiB1ZWJyaWcsIHdlbm4gZGllIEthbGt1bGF0aW9uIGltbWVyIHBlcmZla3Qgb2huZQpVZWJlcnNjaHVlc3NlIGF1Zmdpbmc/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHl1ZWJlcnNjaHVzcyAoTW9udGFudXMsIDE5LiBKdWwgMjAwMiwgMTg6MjA6NTUpOgp+IyEgcm49Wm9vayBydD0xMDI3MDk0ODM2IHJnPXBhcnR5Cn4jISB0aWQ9MTAyNzA4MDg0OQpLYWxrdWxhdGlvbiBwZXJmZWt0IGJlZGV1dGV0IGtlaW5lIE1pZXNlbi4KUmVzdGUgd2FyZW4gbWVpc3RlbnMgbmljaHQgZ2FueiBsZWVyZ2V0cnVua2VuZSBHZXRyYWVua2V2b3JyYWV0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5dWViZXJzY2h1c3MgKE1vbnRhbnVzLCAxOS4gSnVsIDIwMDIsIDE4OjI0OjA1KToKfiMhIHJuPVpvb2sgcnQ9MTAyNzA5NTY4MSByZz1wYXJ0eQp+IyEgdGlkPTEwMjcwODA4NDkKQWxzbywgdW0gZGFzIGZ1ZXIgS3Jva29kaWxlIG1hbCBhdXNlaW5hbmRlcnp1a2xhbXVlc2VybjoKRGllIEtPc3RlbiB3dXJkZW4gc28ga2Fsa3VsaWVydCwgZGFzcyBuYWNoIEFienVnIGRlciBVZWJlcm5hY2h0dW5nc2ZpeGtvc3Rlbgpub2NoIGVpbmUgU3VtbWUgWCBmdWVyIEdldHJhZW5rZSB1ZWJyaWcgYmxlaWJ0LgpEaWVzZSB3dXJkZSBrb21wbGV0dCBiZWltIEdldHJhZW5rZWhhZW5kbGVyIGF1ZiBLT21taXNzaW9uIGF1c2dlZ2ViZW4uCldlbm4gYW0gRW5kZSBkZXIgUGFydHkgR2V0cmFlbmtlIHVlYnJpZyB3YXJlbiwgaGFiZW4gc2ljaCBub3JtYWxlcndlaXNlIGRpZQpaaXZpcyBkZXIgYW5nZWZhbmdlbmVuIEtpc3RlbiBiZW1hZWNodGlndCwgdW5kIGRhcywgd2FzIGRlciBIYWVuZGxlcgp6dXJ1ZWNrbmVobWVuIGtvbm50ZSwgZ2luZyBhbHMgU3BlbmRlIGFuIGRpZSBTdGlmdHVuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBhcnR5dWViZXJzY2h1c3MgKE1vbnRhbnVzLCAxOS4gSnVsIDIwMDIsIDE4OjMxOjAwKToKfiMhIHJuPVpvb2sgcnQ9MTAyNzA5NTkzNyByZz1wYXJ0eQp+IyEgdGlkPTEwMjcwODA4NDkKamF1LCBkaWUgVWViZXJuYWNodHVuZ3Nrb3N0ZW4gc2luZCBmaXguIFZvcmhlciBmZXN0Z2VsZWd0LiBTVGVodCBhYmVyIGF1Y2gKaW1tZXIsIHdlbm4gaWNoIG5lIFBhcnR5IGF1c3JpY2h0ZSwgdm9yaGVyIGluIGRlciBBdXNzY2hyZWlidW5nLCB3ZWlsIGljaCBkYQpkaWUgS2Fsa3VsYXRpb24gbWl0IGFuZ2ViZS4KRGEgc3RlaHQgZGFubiBhdWNoIGRyaW4gKHdlaWwgaWNoIGRhcyB2b3JoZXIgc2FnZSksIGRhc3Mgc2FlbXRsaWNoZSBSZXN0ZSBhbgpkYXMgU2NodWxsYW5kaGVpbSBnZWhlbiwgd2VpbCBlcyBoYWx0IG5pY2h0IHNlbGJzdHZlcnN0YWVuZGxpY2ggaXN0LCBkYXNzIGRpZQpzaWNoIGRpZSBNdWVoZSBtYWNoZW4sIGJpcyB1ZWJlciAxMDAgTXVkZGVyIGZ1ZXIgZWluIFdPY2hlbmVuZGUgYXVmenVuZWhtZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFydHl1ZWJlcnNjaHVzcyAoQ2FkcmFjaCwgMTkuIEp1bCAyMDAyLCAyMDowNjo1Nik6Cn4jISBybj1Nb250YW51cyBydD0xMDI3MDk2MjYwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyNzA4MDg0OQpEYXMgZXJrbGFlcnQgdmllbGxlaWNodCwgd2VzaGFsYiBGcmVpdGFncyBpcmdlbmR3aWUgYW0gRW5kZSBfaW1tZXJfIEJpZXIKZmVobHQsIHdlaWwgaXJnZW5kd2VsY2hlIFppdmlzIHdpZWRlciBtYWwgdmVyZ2Vzc2VuIGhhYmVuIGdlbnVnIEJpZXIKcmF1c3p1c3RlbGxlbiAsbykKCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQYXJ0eXVlYmVyc2NodXNzIChIdW1uaSwgMTkuIEp1bCAyMDAyLCAyMDowODowOCk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMjcxMDIwMTYgcmc9cGFydHkKfiMhIHRpZD0xMDI3MDgwODQ5Ck5hamEsIGJlaSBkZXIgbGV0enRlbiBQYXJ0eSwgZGllIE1vbnRhbnVzIG9yZ2FuaXNpZXJ0IGhhdCAoYW4gZGllIGljaCBtaWNoCmVyaW5uZXJuIGthbm4pLCBmZWhsdGUgZGFzIEJpZXIgYW0gX1NhbXN0YWdfLCBuaWNodCBhbSBfRnJlaXRhZ18uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBhcnR5dWViZXJzY2h1c3MgKEVsYmVyZXQsIDE5LiBKdWwgMjAwMiwgMjA6MDg6NTApOgp+IyEgcm49SHVtbmkgcnQ9MTAyNzEwMjA4OCByZz1wYXJ0eQp+IyEgdGlkPTEwMjcwODA4NDkKc29uc3Qga29lbm50ZXN0IGR1IGRpY2ggYXVjaCBuaW1tZXIgZXJpbm5lcm4gOm8pKQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFBhcnR5dWViZXJzY2h1c3MgKEh1bW5pLCAxOS4gSnVsIDIwMDIsIDIwOjA5OjQ2KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyNzEwMjEzMCByZz1wYXJ0eQp+IyEgdGlkPTEwMjcwODA4NDkKSWNoIHdlaXNzIG5vY2gsIHdpZSBJbWRhIHVuZCBpY2ggZGVuIFppdmkgcmF1c2dlLCxrbG9wZnQnJyBoYWJlbi4uIEltZGEgd2FyCm5pY2h0IGdlcmFkZSB6YWVydGxpY2ggbWl0IGRlciBUdWVyLi4uIGFiZXIgZGVyIFppdmkgaXN0IHJhdXNnZWtvbW1lbi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSBIYWxsZSAoQ2Fzc2FuZHJhLCAyMC4gSnVsIDIwMDIsIDE0OjQxOjI4KToKSGFsbG8KCkVpbmlnZSBFcmdhZW56dW5nZW4gZXRjLgpEYXMgYWJzdGVsbGVuIHZvbiBXb2hubW9iaWxlbiBldGMgYXVmIGRlbSBjYW1waW5ncGxhdHogaXN0IG1vZWdsaWNoLCBrb3N0ZW4KNyw3MCBFdXJvIHBybyBOYWNodCBwbHVzIFBlcnNvbmVuLiBXZXIgZGllcyB0dW4gd2lsbCBzb2xsdGUgYWJlciBhdWYgZGllCm5vZXRpZ2UgQm9kZW5mcmVpaGVpdCBhY2h0ZW4uLgpDYXNzYW5kcmEKLSBQYXJ0eW9yZ2EgVGVhbSBIYWxsZS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndlZ2Jlc2NocmVpYnVuZyAoQ2Fzc2FuZHJhLCAyMC4gSnVsIDIwMDIsIDE0OjQzOjIwKToKRGFua2UgZnVlciBkYXMgZWluc3RlbGxlbiBkZXIgV2VnYmVzY2hyZWlidW5nIDotKSkKCkxlaWRlciBoYXQgc2ljaCBlaW4ga2xlaW5lciBGZWhsZXIgZWluZ2VzY2hsaWNoZW46IGJlaSAxLjIgdm9tIGJhaG5ob2YgenVyCktuZWlwZSBtdWVzc3QgaWhyIGluIGRpZSA5NSBVbXN0ZWlnZW4gbmljaHQgaW4gZGllIDcgYWxzbyB3aWUgenVtIFplbHRwbGF0ei4KQ2Fzc2FuZHJhCi1qYWdkIGRlbiBrbGVpbmVuIEZlaGxlcnRldWZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmdldHJhZW5rZXZlcmJyYXVjaCBhdWYgUGFydHlzIChDYXNzYW5kcmEsIDIwLiBKdWwgMjAwMiwgMTQ6NTE6NTcpOgoKSGF0IGVpbmVyIHZvbiBldWNoLCB2b3IgYWxsZW4gdm9uIGRlbmVuIGRpZSBoaWVyIHNjaG9uIFBhcnR5cyBvcmdhbmlzaWVydApoYWJlbiwgbm9jaCBkaWUgWmFobGVuIGRlciBqZXdlaWxpZ2VuIFZlcmJyYXVjaGUgYW4gQmllciBDb2xhIGV0Yy4/IERpZSBaYWhsZW4Kdm9uIGRlciBIb21lcGFnZSB2b24gOTYgaGFiIGljaCwgYWJlciBkaWUgc2luZCBqYSBuaWNodCBtZWhyIHdpcmtsaWNoIGFrdHVlbGwuCgpXZW5uIGplbWFuZCBub2NoIHphaGxlbiBoYWV0dGUgd3VlcmQgaWNoIG1pY2ggdWViZXIgbmUgbWFpbCBmcmV1ZW4uCgpDYXNzYW5kcmEKLVBhcnR5b3JnYXRlYW0gaGFsbGUtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZW1pbmFyIGRpZSB6d2VpdGUgKENhc3NhbmRyYSwgMjAuIEp1bCAyMDAyLCAxNTo1NDo1Mik6CkphIGljaCB3ZWlzIGljaCBoYWIgZGllIEZyYWdlIHNjaG9uIGVpbm1hbCBnZXN0ZWxsdC4KCldlciB3aWxsIGVpbiBzZW1pbmFyIGhhbHRlbiB1bmQgd2FzIHdpcmQgZGFmdWVyIGFuIHRlY2huaWNrIGdlYnJhdWNodD8KSWNoIHd1ZXJkZSBtaWNoIGZyZXVlbiB3ZW5uIGljaCBhdWYgZGllIEZyYWdlIG1vZWdsaWNoc3QgYmFsZCBkZWZpbml0aXZlCmFuZHdvcnRlbiBiZWtvbW1lbiB3dWVyZGUsIGRhIGljaCBuaWNodCBkZW5rZSBkYXMgZGVyamVuaWdlIGRhcyBhdWNoIGRlbQp6ZWx0cGxhdHogbWFjaGVuIG1vZWNodGUuCldlbm4gYWxzbyB3ZXIgZWluZW4gdm9ydHJhZyBoYWx0ZW4gbW9lY2h0ZSB1bmQgd2lyIGRhZnVlciBlaW5lbiByYXVtCm9yZ2FuaXNpZXJlbiBzb2xsZW4gbW9lY2h0ZSBkZXJqZW5pZ2Ugc2ljaCBzY2huZWxsc3Rtb2VnbGljaHN0IG1lbGRlbi4KCkNhc3NhbmRyYQotUGFydHlvcmdhdGVhbSBoYWxsZV8KCi0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFubWVsZHVuZ2VuIHp1ciBwYXJ0eSAoQ2Fzc2FuZHJhLCAyMC4gSnVsIDIwMDIsIDE2OjIxOjM5KToKSGFsbG8gYWxsZSBwYXJ0eXd1ZXRpZ2VuIG1pdGVpbmFuZGVyCgpFcyB3YWVyZSBuZXR0IHdlbm4gc2ljaCBkaWVqZW5pZ2VuIGRpZSB6dXIgcGFydHkgenUga29tbWVuIGdlZGVua2VuIDotKSkKbW9lZ2xpY2hzdCBiYWxkIGFubWVsZGVuIHd1ZXJkZW4uCkRpZXMgc29sbCB6d2FyIGtlaW4gYW5tZWxkZXNjaGx1c3MgZXRjIHNlaW4gYWJlciBlaW5lIEJpdHRlIGRhbWl0IHdpciBiZXNzZXIKcGxhbmVuIGtvZW5uZW4uCk1hY2h0IGhhbHQgc2Nob24gd2FzIGF1cyBvYiB1bmdlZmFlaHIgNDAgKGRlcnplaXRpZ2VyIGFubWVsZGVzdGFuZCkgb2RlciBjYQoxMDAga29tbWVuICh3aXIgaG9mZmVuIG5hdHVlcmxpY2ggYXVmIGxldHp0ZXJlcykKCkFsc286IEF1ZiBkaWUgcGxhZXR6dGUgZmVydGlnIGxvcyB1bmQgYW5tZWxkZW4gOi0pKQoKQ2Fzc2FuZHJhCl9QYXJ0eW9yZ2F0ZWFtIGhhbGxlLSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBnZXRyYWVua2V2ZXJicmF1Y2ggYXVmIFBhcnR5cyAoQ2FkcmFjaCwgMjAuIEp1bCAyMDAyLCAxODozNjoyMik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyNzE2OTUxNyByZz1wYXJ0eQp+IyEgdGlkPTEwMjcxNjk1MTcKSW4gNyBKYWhyZW4gYWVuZGVydCBzaWNoIHp3YXIgdmllbCwgYWJlciBhbSBCaWVyL0NvbGFrb25zdW0gbmljaHQgc29vbyB2aWVsLgpBbnNvbnN0ZW4gcGxhbiB3aWUgZnVlciBuZSBub3JtYWxlIFBhcnR5LCBhYmVyIGhhbGJpZXIgZGFzIEJpZXIgdW5kIHZlcmRvcHBlbApkaWUgQ29sYSAtIHNpbmQgaGFsdCBNdWRkZXIuCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGdldHJhZW5rZXZlcmJyYXVjaCBhdWYgUGFydHlzIChDYXNzYW5kcmEsIDIyLiBKdWwgMjAwMiwgMTA6NDA6NDQpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDI3MTgyOTgyIHJnPXBhcnR5Cn4jISB0aWQ9MTAyNzE2OTUxNwpXZW5uIGljaCBhbmhhbHRzcHVua3RlIHZvbiBhbmRlcmVuIHNlbGJzdGdlcGxhbnRlbiBQYXJ0eXMgaGFldHRlIGdpbmdlIGRhcwouLSkpCgpBYmVyIHdhcyBhY2ggaWNoIHdlbm4gaWNoIG51ciBwYXJ0eXMgb2huZSBCaWVyIHp1bSBWb3JiaWxkIGhhYiBpY2ggZGVua2UgZGEKd2Flcm4gdmllbGUgbmljaHQgZWludmVyc3RhbmRlbiA6LSkpCgpDYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZ2V0cmFlbmtldmVyYnJhdWNoIGF1ZiBQYXJ0eXMgKENhdHdlYXpsZSwgMjYuIEp1bCAyMDAyLCAxMDo0MjowOCk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMjcxODI5ODIgcmc9cGFydHkKfiMhIHRpZD0xMDI3MTY5NTE3CkFtIEdldHJhZW5rZWtvbnN1bSBhZW5kZXJ0IHNpY2ggc2VociB3b2hsIHZpZWwuIEF1ZiBkZXIgbGV0enRlbiBQYXJ0eSBoYWJlbgp3aXIgZm9sZ2VuZGVzIHZlcmJyYXVjaHQgKHNvcnJ5IGZ1ZXJzIGRlbGF5IENhc3MqKToKCjc1ICogMC4zIEtyb21iYWNoZXIKNDY5ICogMC4zIFBvdHQncyBMYW5kCjExMiAqIDAuMyBEaW1peAo2Niw1ICogMWwgQ29sYQoxMDYgKiAwLjIgV2Fzc2VyIAoKT2ssIFBvdHQncyBhbHMgQWx0YmllciBpbSBBbmdlYm90IHp1IGhhYmVuIGlzdCB1bmdld29laG5saWNoLiBEaW1peCBlcnN0CnJlY2h0LiBBbHRiaWVyIGlzdCBub3JtYWxlcndlaXNlIG9wdGlvbmFsIHVuZCBrb21tdCB3ZW5uIGRhbm4gaW4ga2xlaW5lcmVuCk1lbmdlIGRhenUuCgpXYXMgZWluc2NobmVpZGVuZGVyIGlzdCwgaXN0IGRhcyBWZXJoYWVsdG5pcyBCaWVyL0NvbGEuIEZydWVoZXIgaGFiIGljaCBkYQppbW1lciAxOjEgZ2VyZWNobmV0LCBkYXMgaXN0IGhldXRlIHdvaGwgbmljaHQgbWVociBkZXIgRmFsbC4gSGV1dGUgaXNzZXMgd29obAplaGVyIDM6MSwgb2RlciB1bSBzaWNoZXIgenUgZ2VoZW4gMjoxLiB+MyBLaXN0ZW4gV2Fzc2VyIGlzdCB3b2hsIG5vcm1hbC4KClJlc3RsaWNoZSBHZXRyYWVua2Ugc2luZCBpbW1lciBHbHVlY2tzYWNoZS4gTWVpbiBEZWZhdWx0ZWlua2F1ZiBpc3QgamUKYW5kZXJ0aGFsYiBQYWxldHRlbiBBLSB1bmQgTy1TYWZ0LCB1bmQgamUgZWluIFNpeHBhY2sgUm90LSB1bmQgV2Vpc3N3ZWluLiBXZWluCmthbm4gbWFuIHUuVS4gTWVociBrYXVmZW4sIHdlbm4gdm9yaGVyIHZpZWwgQmVkYXJmIGxhdXQgd2lyZCwgU2FmdCBpc3QgZGFubiBpbgpqZWRlbSBGYWxsIGdlbnVnLiAKCkVpbmUgR3J1bmRyZWdlbCBmdWVyIEJpZXIgaXN0IHVlYnJpZ2VucyAxLjRsIHBybyBQZXJzb24sIGRhbWl0IGthbm4gbWFuIG1laXN0CnNlaHIgZ3V0IHJlY2huZW4uCgpOb2NobWFsIHp1bSBzaWNoZXJlbiBWZXJzdGFlbmRuaXMsIGRhcyB3YXMgYXVmIGRlciBsZXR6dGVuIFBhcnR5IHZlcmJyYXVjaHQKd3VyZGUgaXN0IGF1ZmdydW5kIGRlcyB1bmdld29laG5saWNoZW4gQW5nZWJvdHMgd2FocnNjaGVpbmxpY2ggbmljaHQgZGVyCk1hc3NzdGFiLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBnZXRyYWVua2V2ZXJicmF1Y2ggYXVmIFBhcnR5cyAoR2xvaW5zb24sIDI2LiBKdWwgMjAwMiwgMTI6MTg6NDMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMjc2NzI5Mjggcmc9cGFydHkKfiMhIHRpZD0xMDI3MTY5NTE3CidzIERpbWlrc2NoIHdhciBsZWdnb3IhIE1vZXNjaHRzY2ggd2llZG9yIHVmZiBkb3IgQm9yZHkgc2Vobi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGdldHJhZW5rZXZlcmJyYXVjaCBhdWYgUGFydHlzIChDYXNzYW5kcmEsIDI2LiBKdWwgMjAwMiwgMTM6MjU6MzYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMjc2NzI5Mjggcmc9cGFydHkKfiMhIHRpZD0xMDI3MTY5NTE3CkRhbmtlIGZ1ZXIgZGllIEF1ZnN0ZWxsdW5nOi0pKQpEYSB3ZWlzIGljaCBqZXR6dCBpbiBldHdhIHdhcyBpY2ggYmVzb3JnZW4gbXVzcyx2b3IgYWxsZW4gd2lldmllbCBCaWVyIGljaAplaW5wbGFuZW4gbXVzcy4KCkNhc3NhbmRyYQotIHZvbiBCaWVyIGtlaW5lIEFobnVuZyBoYWJlbmQtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUc2hpcnRzIGtvZW5uZW4gYWIgc29mb3J0IGJlc3RlbGx0IHdlcmRlbiAoU2hpcnRpbmUsIDI5LiBKdWwgMjAwMiwgMTY6MTk6MzApOgpIYWxsbyBNdWRnZW1laW5kZSwKCm5hY2hkZW0gZGllIE1vdGl2c3VjaGUgZnVlciBkYXMgVFNoaXJ0IGVpbmUgLSBmdWVyIG1pY2ggLSB1bmVyd2FydGV0ZQpEaXNrdXNzaW9uIGF1c2dlbG9lc3QgaGF0dGUgdW5kIGRhZHVyY2ggZGVuIHVyc3BydWVuZ2xpY2hlbiBad2VjayB2ZXJmZWhsdApoYXR0ZSwgaGFiZW4gd2lyIChkYXMgT3JnYS1UZWFtKSB1bnMgc2VsYnN0IGF1ZiBkaWUgU3VjaGUgYmVnZWJlbi4KCldlciBhbHNvIGVpbiBUc2hpcnQgaGFiZW4gbW9lY2h0ZSwgc2NoaWNrdCBiaXR0ZSBiaXMgOS5BdWd1c3QgZWluZSBNYWlsIGFtCm1pY2ggbWl0IEFuemFobCwgR3JvZXNzZSB1bmQgTmFtZW4gKGRlciBhdWZzIFRTaGlydCBzb2xsKS4gTWFpbHMgbmFjaCBkZW0gOS44Lgprb2VubmVuIGxlaWRlciBuaWNodCBtZWhyIGJlcnVlY2tzaWNodGlndCB3ZXJkZW4uCgpHcnVzcyBTaGlydGluZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUc2hpcnRzIGtvZW5uZW4gYWIgc29mb3J0IGJlc3RlbGx0IHdlcmRlbiAoQm9pbmcsIDI5LiBKdWwgMjAwMiwgMTY6MjU6NTEpOgp+IyEgcm49U2hpcnRpbmUgcnQ9MTAyNzk1MjM3MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjc5NTIzNzAKV28ga2FubiBtYW4gZGVubiBkYXMgTW90aXYgc2VoZW4/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluZm9ybWF0aW9uIGJlbm9ldGlndCA6KSAoR2xvaW5zb24sIDMwLiBKdWwgMjAwMiwgMjA6NTE6MzIpOgoxLiBXbyBrYW5uIGljaCBkYXMgU2hpcnQtTW90aXYgYmV3dW5kZXJuPwoyLiBXYW5uIGlzdCBVZWJlcndlaXN1bmdzZGVhZGxpbmU/CjMuIEhhYmVuIGRpZSBkYSBLb2Noc3RlbGxlbiAoZmFsbHMgaWNoIGVzIHVlYmVybGVzZW4gaGFiZSksIG9kZXIgc29sbHRlCiAgIGljaCBtZWluZSBCZW56aW5mdW56ZWxuIG1pdG5laG1lbj8KNC4gV28gd2FyIG5vY2htYWwgZGFzIFQtU2hpcnQtTW90aXY/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW5mb3JtYXRpb24gYmVub2V0aWd0IDopIChDYXNzYW5kcmEsIDMwLiBKdWwgMjAwMiwgMjI6NDM6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyODA1NTA5MiByZz1wYXJ0eQp+IyEgdGlkPTEwMjgwNTUwOTIKSGFsbG8gaGllciB6dW1pbmRlc3QgZWluIHRlaWwgZGVyIEluZm9zCgoyLiBVZWJlcndlaXN1bmdzZGVhZGxpbmUgaXN0IGRlciA4LjguMDIgZGFzIGlzdCBkZXIgRG9ubmVyc3RhZyB2b3IgZGVyClBhcnR5d29jaGUsIGljaCB3ZXJkIGRhbm4gYW0gRnJlaXRhZyBmcnVlaCBub2NobWFsIG5hY2hzZWhlbiB3ZXNzZW4gZ2VsZAphbmdla29tbWVuIGlzdC4KCjMuIERhcyBpc3QgZWluIGNhbXBpbmdwbGF0eiwgaWNoIHdlaXMgbmljaHQgd2llIGVzIGV1Y2ggZ2VodCBhYmVyIGljaCBrZW5uZQpudXIgQ2FtcGluZ3BsYWV0enRlIHdvcyBkYXMgbmljaHQgZ2lidC4gQWxzbyBLb2NoZXIgZXRjIGJpdHRlIG1pdGJyaW5nZW4gd2VubgppaHIgZXVjaCB3YXMga29jaGVuIHdvbGx0IChHaWx0IG5pY2h0IGZ1ZXIgZGllIGluIGRlbiBCdW5nYWxvd3MpLgpEYXMgZ2lsdCBuYXR1ZXJsaWNoIGF1Y2ggZnVlciBUYXNzZSwgVGVsbGVyIHVuZCBCZXN0ZWNrIHVuZCB3YXMgbWFuIHNvbnN0IG5vY2gKc28gYXVmIGVpbmVtIENhbXBpbmdwbGF0eiBicmF1Y2h0LgoKdW5kIHdvIGljaCBzY2hvbiBtYWwgZGFiZWkgYmluCgo1LiBRdWVzdApFcyB3aXJkIHdvaGwgd2VubiBuaWNodCBub2NoIGFsbGVzIHNjaGllZiBnZWh0IGVpbmUgUXVlc3QgZ2ViZW4uCldlciBkYXJhbiB0ZWlsbmVobWVuIHdpbGwgc29sbHRlIGJpdHRlICBmZXN0ZSBzY2h1aGUgdW5kIG5lIGxhbmdlIEhvc2UKbWl0YnJpbmdlbiwgZGEgZXMgaW4gU2FuZGFsZW4gdW5kIGt1cnplciBIb3NlN1JvY2sgdW5hbmdlbmVobSB3ZXJkZW4ga29lbm50ZS4KRGllIFF1ZXN0IGZpbmRldCBkYW5uIGFtIHNhbXN0YWcgc3RhdHQuCgo2LiBNdXNpawpGdWVyIGRlbiBTYW1zdGFnIEFiZW5kIHN0ZWh0IHVucyBlaW5lIEFubGFnZSB6dXIgVmVyZnVlZ3VuZywgZXMgd2FlcmUgc2Nob2VuCndlbm4gZWluaWdlIENkcyBtaXRicmluZ2VuIGRhbWl0IHdpciBkaWUgYXVjaCBudXR6ZW4ga29lbm5lbi4KCkNhc3NhbmRyYQotUGFydHlvcmdhdGVhbW0gSGFsbGUtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPa3RvYmVyZmVzdCAoTW9udGFudXMsICAyLiBBdWcgMjAwMiwgMTg6MDM6MDApOgpJY2ggbWFjaCBhbSA3LiBTZXB0ZW1iZXIgbWVpbiBlaWdlbmVzICJrbGVpbmVzIiBPa3RvYmVyZmVzdC4KV2VyIEx1c3QgaGF0IHVuZCBncmFkIGluIGRlciBHZWdlbmQgaXN0LCBpc3QgaGVyemxpY2ggZWluZ2VsYWRlbgp2b3JiZWl6dWtvbW1lbi4KKHVuZCB3ZXIgc2ljaCB2b24gWm9vayB2b3JoZXIgbm9jaCBlaW4gRGlybmRsIGF1c2xlaWhlbiB3aWxsLCB1bXNvIGJlc3NlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPa3RvYmVyZmVzdCAoVmFuaW9uLCAgMi4gQXVnIDIwMDIsIDE4OjI4OjEwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMjgzMDQxODAgcmc9cGFydHkKfiMhIHRpZD0xMDI4MzA0MTgwCklzdCBkaWUgRnJhZ2UgZXJsYXVidCwgd28gJ2luIGRlciBHZWdlbmQnIGlzdD8KClYqLCB2ZXJtdXRldCBtYWwsIGRhc3MgbWFuIGVpbiBlaWdlbmVzIE9GIG51ciBhdXNzZXJoYWxiIHZvbiBNIG1hY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG90ZWxsaXN0ZSAoU2hpcnRpbmUsICAyLiBBdWcgMjAwMiwgMTg6NDQ6NDApOgoKSGFsbG8genVzYW1tZW4sCgoKaGllciBkaWUgSG90ZWxsaXN0ZSBmdWVyIGRpZSBBbnRpLUNhbXBpbmctRnJvbnQ6CgpIT1RFTExJU1RFCgpFVEFQLUhvdGVsCkRpcmVrdCBhbiBkZXIgQjEwMAowMzQ1LyA1NyAwMSA5MjAKWmltbWVyIGFiIDQ5LDkwIERNICghKQoKClBlbnNpb24gYW0gS3JhZWhlbmJlcmcKQW0gS3JhZWhlbmJlcmcgMQowMzQ1LyA1MjIgNTUgMDYKRVogNDMgRXVybyAob2huZSBGcnVlaHN0dWVjaykKRFogNTYgRXVybyAob2huZSBGcnVlaHN0dWVjaykKCgpIb3RlbCBBcGFydApLb2hsc2NodWV0dGVyc3RyLiAwNSwgMDYxMTQgCjAzNDUvIDUyIDU5MApFWiB1bnRlciBkZXIgV29jaGUgNjEgRXVybyAvIGFtIFdvY2hlbmVuZGUgNTYgRXVybyAoYmVpZGVzIG9obmUgRnJ1ZWhzdHVlY2spCkRaIHVudGVyIGRlciBXb2NoZSA3NyBFdXJvIC8gYW0gV29jaGVuZW5kZSA2OSBFdXJvIChiZWlkZXMgb2huZSBGcnVlaHN0dWVjaykKCgpQZW5zaW9uIERlc3NhdWVyIEhvZgpQYXJhY2Vsc3Vzc3RyLiAwOSwgMDYxMTQKMDM0NS8gMjkwIDkwIDI4CkVaIGFiIDYwIERNICghKSAobWl0IEZydWVoc3R1ZWNrKQpEWiBhYiA5NSBETSAoISkgKG1pdCBGcnVlaHN0dWVjaykKCgpQZW5zaW9uIEthcmluCkJvZWNrc3RyLiAwOAowMzQ1LyA1MjIgNDUgMTkKRVogMzAgRXVybyAob2huZSBGcnVlaHN0dWVjaykKRFogNjAgRXVybyAob2huZSBGcnVlaHN0dWVjaykKCkVpbmVuIHJpZXNlbiBEYW5rIGFuIENhcmVuISAoU2llIGhhdCBkaWUgTGlzdGUgenVzYW1tZW5nZXN1Y2h0KS4KClZpZWxlIEdydWVzc2UKClNoaXJ0aW5lIC0gaGV1dCBtYWwgaW0gTmViZW5qb2IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb3RlbGxpc3RlIChNdXBmZWwsICAyLiBBdWcgMjAwMiwgMjA6NTg6MTIpOgp+IyEgcm49U2hpcnRpbmUgcnQ9MTAyODMwNjY4MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjgzMDY2ODAKV29iZWkgZGFzIEVUQVAgZWluIHJlaW5lcyAiVWVicm5hY2h0ZW4sIEZydWVoc3R1ZWNrZW4sIHVuZCB3ZWciLUhvdGVsIGlzdC4gTWl0ClZvcmthc3NlLiBHdXQsIHdlbm4gbWFuIG1hbCBhdWYgbmVyIFJlaXNlIG5lIE5hY2h0IHVlYmVyYnJ1ZWNrZW4gbXVzcywgYWJlcgpmdWVyIG5lIFBhcnR5Li4uLj8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhvdGVsbGlzdGUgKFNjaG9rbywgIDIuIEF1ZyAyMDAyLCAyMjo0MToxMyk6Cn4jISBybj1NdXBmZWwgcnQ9MTAyODMxNDY5MiByZz1wYXJ0eQp+IyEgdGlkPTEwMjgzMDY2ODAKRnVlciBMZXV0ZSwgZGllIGF1ZiBQbGFzdGlrIEtsb3Mgc3RlaG4sIGlzIEVUQVAgbnVyIHp1IGVtcGZlaGxlbiA6KSkKCiAuLi4gYWJlciBkaWUgd3VlcmRlbiBkYW5uIHdvaGwgZWhlciBkb2NoIGNhbXBlbiwgb2Rlcj8gKmdydWViZWwqCgpTY2hva28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2t0b2JlcmZlc3QgKE1vbnRhbnVzLCAgMy4gQXVnIDIwMDIsIDAwOjExOjA4KToKfiMhIHJuPVZhbmlvbiBydD0xMDI4MzA1NjkwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyODMwNDE4MApJbiBkZXIgR2VnZW5kIGJlZGV1dGV0IFBhemlmaXNjaGVyIE5vcmR3ZXN0ZW4uCkFsc28gc2ljaGVyIDYwMDAgTWVpbGVuIHZvbiBNdWVuY2hlbiBlbnRmZXJudC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkV0YXAgLi4uLiAoUm9sYW5kLCAgMy4gQXVnIDIwMDIsIDAxOjUzOjM2KToKTXVwZmUgLCwsLApkdSBoYXN0IHZlcmdlc3NlbiB6dSBzYWdlbiAuLiBrbG8gPSBkdXNjaGUgLi4uICsgYWJ6aWVoZXIgenVtIHNhZXViZXJubm5uIDopCgoKdWhhIC4uIGVyaW5uZXJ0IG1pY2ggYW4gYWx0ZSBtb250YWdlIHplaXRlbiAuLi4gCgo6KSBSb2xhbmQgLi4gc2Nod2VyYXJiZWl0ZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXJ3ZWlzdW5nc2RlYWRsaW5lIChDYXNzYW5kcmEsICAzLiBBdWcgMjAwMiwgMjA6MTM6NDUpOgpFcyBoYXQgendhciBzY2hvbm1hbCBkcmluIGdlc3RhbmRlbiwgYWJlciBoaWVyIG5vY2htYWwgYWxzIGVpbnplbG5lciBBcnRpa2VsLgpEaWUgRGVhZGxpbmUgZnVlciBkaWUgdWViZXJ3ZWlzdW5nIGRlcyBQYXJ0eWdlbGRlcyBpc3QgZGVyIDguOC4wMiAoIGRlcgpEb25uZXJzdGFnIHZvciBkZXIgUGFydHl3b2NoZSkKSWNoIHdlcmRlIGRhbm4gRnJlaXRhZyBmcnVlaCBub2NoIGVpbm1hbCBuYWNoc2NoYXVlbiBvYiBHZWxkIGFuZ2Vrb21tZW4gaXN0CnVuZCBkaWUgZW50c3ByZWNoZW5kZW4gbGV1dGUgYmVzdGFldGlnZW4uClNwYWV0ZXIgZ2VodCBsZWlkZXIgbmljaHQsIGRhIGljaCBpbiBkZXIgWmVsdHdvY2hlIG5pY2h0IG5vY2ggc3RhZW5kaWcgenVyCmJhbmsgcmVubmVuIGthbm4uCgpEYSBlaW5pZ2UgZ2VmcmFndCBoYWJlbiwgZGVyIFBhcnR5YmV0cmFnIGJlaW5oYWx0ZXQsIHdpZSBpbW1lcj8sIGRhcwpGcnVlc3R1ZWNrIGFtIFNhbW1zdGFnIHVuZCBkaWUgUGFydHkgYW0gc2Ftc3RhZ2FiZW5kIGluY2wgRXNzZW4gdW5kIFRyaW5rZW4sCndhZXJlbmQgZGVyIFdvY2hlIGlzdCBhdWYgZGVtIFplbHRwbGF0eiBzZWxic3R2ZXJzb3JndW5nIGFuZ2VzYWd0LgoKQ2Fzc2FuZHJhCi1QYXJ0eW9yZ2F0ZWFtIEhhbGxlLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVlYmVyd2Vpc3VuZ3NkZWFkbGluZSAoQ2Fzc2FuZHJhLCAgNy4gQXVnIDIwMDIsIDE0OjEzOjA2KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDI4Mzk4NDI1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyODM5ODQyNQpTbyBMZXV0ZSwKRGEgaWNoIGluendpc2NoZW4gaGFsYndlZ3MgZGllIEtvc3RlbiBkZXIgcGFydHkgYWJzZWhlbiBrYW5uICxpY2ggaGFiIHNvd2FzCm5vY2ggbmllIGdlbWFjaHQgdW5kIGRhaGVyIGtlaW5lIEVyZmFocnVuZ3N3ZXJ0ZSwgaXN0IGFic2NoYWV0enRiYXIgZGFzIGRhcwphbGxlcyBnYW56IGd1dCBoaW5rb21tdC4gRGFoZXIgc2V0enRlIGljaCBoaWVybWl0IGRlbiBhYmVuZGJldHJhZyB2b24gMzAgRXVybwpydW50ZXIgYXVmIDI1RXVybyBkYSBhdWNoIHNvIG5vY2ggZWluZSB0cmFnZmFlaGlna2VpdCBkZXIgUGFydHkgZ2V3YWVocmxlaXN0ZXQKc2VpbiBzb2xsdGUuCldlciBzaWNoIG5vY2ggaW5uZXJoYWxiIGRlciBuYWVjaHN0ZW4gd29jaGUgZW50c2NoZWlkZW4gc29sbHRlIHp1ciBwYXJ0eSB6dQprb21tZW4sIG1lbGRldCBzaWNoIGJpdHRlIHRyb3R6ZGVtIGF1ZiBkZW0gQnJldHQgYW4gb2RlciBhYmVyIHBlciBUZWxlcGhvbgp3ZW5ucyB6dSBrdXJ6ZnJpc3RpZyBpc3QsIGRhIGljaCBkYXMgZXNzZW4gc2NobGllc3NsaWNoIGJlc3RlbGxlbiBtdXNzIHVuZCBqYQprZWluZXIgaHVuZ2VybiBvZGVyIGR1ZXJzdGVuIHNvbGwuCgpGdWVyIHNvbGNoZSB1bmQgYW5kZXJlIE5vdGZhZWxsZSBoaWVyIGRpZSBUZWxlcGhvbm51bW1lcjoKCjAxNzkvNDg0NTM3NiAoSmFuaW5lIERvaGxlKQoKQ2Fzc2FuZHJhCi1QYXJ0eW9yZ2F0ZWFtIEhhbGxlLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFsbGUgKFJpa3VzLCAgOC4gQXVnIDIwMDIsIDExOjI1OjU2KToKSGksCmljaCBmYWhyZSB6aWVtbGljaCBzaWNoZXIgU0Egdm9ybWl0dGFnIG5hY2ggSGFsbGUgdW5kIGluIGRlciBOYWNodCB6dXJ1ZWNrLgpXZXIgYXVzIERyZXNkZW4gc3VjaHQgbmUgTWZHPwoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVuYmVrYW5udGVyIHBhcnR5emFobGVyIChDYXNzYW5kcmEsICA4LiBBdWcgMjAwMiwgMTg6MDg6NDEpOgpIYWxsbwpJY2ggaGFiIGhpZXIgZWluZSBVZWJlcndlaXN1bmcgZnVlciBkaWUgUGFydHkgZGllIGxlaWRlciBtYW5nZWxzIE11ZG5hbWUgbmljaHQKenVvcmRuZW5iYXIgaXN0LiBEZXIgZW50c3ByZWNoZW5kZSBIZXJyIEZlbGl4Li4uIG1vZWNodGUgc2ljaCBiaXR0ZSBtZWxkZW4gdW5kCnp1IGVya2VubmVuIGdlYmVuLgoKQ2Fzc2FuZHJhCi1QYXJ0eW9yZ2F0ZWFtIGhhbGxlLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbmJla2FubnRlciBwYXJ0eXphaGxlciAoU2Fya29uLCAgOC4gQXVnIDIwMDIsIDE4OjIzOjM2KToKfiMhIHJuPVNhcmtvbiBydD0xMDI4ODIzNzIyIHJnPXBhcnR5Cn4jISB0aWQ9MTAyODgyMjkyMQpTYXJrb24gc2luZ3Q6ICJBY2ggd2llIGd1dCwgZGFzcyBuaWVtYW5kIHdlaXNzLCBkYXNzIGljaCBGZWxpeC4uLmhlaXNzJyIKClNhcmtvbiwgdW0gZWluIGtsZWluZXMgRmV1ZXJjaGVuIGh1ZXBmZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVW5iZWthbm50ZXIgcGFydHl6YWhsZXIgKExlaWJuaXosICA4LiBBdWcgMjAwMiwgMjM6MTI6MzYpOgp+IyEgcm49U2Fya29uIHJ0PTEwMjg4MjM4MTYgcmc9cGFydHkKfiMhIHRpZD0xMDI4ODIyOTIxCmR1PyBkdSBoZWlzc3QgZG9jaCBwdXR6aSA7KQoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUc2hpcnRzIGtvZW5uZW4gYWIgc29mb3J0IGJlc3RlbGx0IHdlcmRlbiAoU2hpcnRpbmUsICA5LiBBdWcgMjAwMiwgMTI6MjI6MzMpOgp+IyEgcm49U2hpcnRpbmUgcnQ9MTAyNzk1MjM3MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjc5NTIzNzAKSGFsbG8gcG90ZW50aWVsbGUgVFNoaXJ0LWJlc3RlbGxlciwKCnp1ciBFcmlubmVydW5nOiBIZXV0ZSBBYmVuZCAyNDowMCBVaHIgZW5kZXQgZGllIEFubmFobWUgZGVyClRTaGlydGJlc3RlbGx1bmdlbi4KClZpZWxlIEdydWVzc2UKClNoaXJ0aW5lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUc2hpcnRzIGtvZW5uZW4gYWIgc29mb3J0IGJlc3RlbGx0IHdlcmRlbiAoWm9vaywgIDkuIEF1ZyAyMDAyLCAxMzoxNTowNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDI4ODg5NDM4IHJnPXBhcnR5Cn4jISB0aWQ9MTAyNzk1MjM3MApWaWVsbGVpY2h0IGhhYmUgaWNoIGVzIGF1Y2ggdWViZXJsZXNlbiwgYWJlciB3YXMgc29sbCBlcyBkZW5uIGtvc3Rlbj8gU28KaW4gZXR3YT8KCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUc2hpcnRzIGtvZW5uZW4gYWIgc29mb3J0IGJlc3RlbGx0IHdlcmRlbiAoU29sbXlyLCAgOS4gQXVnIDIwMDIsIDE0OjUzOjA1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjg4ODk0Mzggcmc9cGFydHkKfiMhIHRpZD0xMDI3OTUyMzcwCk1hZyBhdWNoIHdpc3Nlbiwgd2llIGRhcyBhdXNzaWVodCA6KSBTY2hsaWVzc2xpY2ggYnJhdWNoIGljaCBpcmdlbmQtCndhbm4gYXVjaCBtYWwgZWluIE1HIFNoaXJ0IGltIFNjaHJhbmsuLgoKRmFyZSB3ZWxsLApTb2wqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUc2hpcnRzIGtvZW5uZW4gYWIgc29mb3J0IGJlc3RlbGx0IHdlcmRlbiAoQmlyZHksICA5LiBBdWcgMjAwMiwgMTY6NTE6NTgpOgp+IyEgcm49U29sbXlyIHJ0PTEwMjg4OTc1ODUgcmc9cGFydHkKfiMhIHRpZD0xMDI3OTUyMzcwCkVzIHdhZXIgc2Nob24gc2Nob2VuLCB6dSB3aXNzZW4sIHdpZSBkYXMgVC1TaGlydC1Nb3RpdiBhdXNzaWVodCB1bmQgd2lldmllbApkYXMgZGFubiBrb3N0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW5iZWthbm50ZXIgcGFydHl6YWhsZXIgKENhc3NhbmRyYSwgIDkuIEF1ZyAyMDAyLCAxNzoxMzo1Myk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAyODgyMjkyMSByZz1wYXJ0eQp+IyEgdGlkPTEwMjg4MjI5MjEKbmFjaGRlbSBzaWNoIGRlciBlcnN0ZSBhbmdlZnVuZGVuIGhhdCwgaGFiIGljaCBub2NoIG5lIHp3ZWl0ZSBhbm9ueW1lIHphaGx1bmcKYmVrb21tZW4uCgpEZXIgSGVyciBtb2VjaHRlIHNpY2ggZGFubiBiaXR0ZSBlYmVuZmFsbHMgbWVsZGVuICggQWxleGFuZGVyIFIuKQoKQW5zb25zdGVuIGhhYiBpY2ggamV0enQgYWxsZSBkZXJlbiBnZWxkIGFuZ2Vrb21tZW4gaXN0IGJlc3RhZXRpZ3QsIGZhbGxzIG5vY2gKamVtYW5kIHVlYmVyd2llc2VuIGhhdCB1bmQgbmljaHQgYmVzYWV0aWd0IGlzdCxtZWxkZXQgc2ljaCBkZXJqZW5pZ2UgYml0dGUKZWJlbmZhbGxzIG9kZXIgYnJpbmd0IG5lIEJlbGVnIGV0YyBtaXQuCgpDYXNzYW5kcmEKLVBhcnR5b3JnYXRlYW0gSGFsbGUtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRzaGlydHMga29lbm5lbiBhYiBzb2ZvcnQgYmVzdGVsbHQgd2VyZGVuIChDYXNzYW5kcmEsICA5LiBBdWcgMjAwMiwgMTc6MTU6MzUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyODg4OTQzOCByZz1wYXJ0eQp+IyEgdGlkPTEwMjc5NTIzNzAKaGFsbG8KCmRhcyBNb3RpdiB3aXJkIHZvcmhlciBuaWNodCB2ZXJyYXRlbiB1bmQgbmVpbiBpaHIgYnJhdWNodCBtaWNoIGF1Y2ggbmljaHQKZnJhZ2VuIGRlbiBpY2gga2VubiBlcyBzZWxiZXIgbmljaHQuQWxsZSBhbmRlcmVuIEZyYWdlbiBkYXp1IGthbm4gZXVjaCBudXIKU2hpcnRpbmUgYmVhbmR3b3J0ZW4uCgpDYXNzYW5kcmEKLVBhcnR5b3JnYXRlYW0gSGFsbGVfCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdW5nYWxvd3MgKFBlcmRpdGEsIDExLiBBdWcgMjAwMiwgMTA6MzA6MzApOgpIYWxsbyBMZXV0ZSwKZ2lidCBlcyBub2NoIEludGVyZXNzZW50ZW4sIGRpZSBhdWYgZGVtIFplbHRwbGF0eiBpbiBlaW5zIGRpZXNlciBCdW5nYWxvd3MKbW9lY2h0ZW4/CkphbWVzb24gdW5kIGljaCB3dWVyZGVuIGdlcm4gdm9uIEZyZWl0YWctU29ubnRhZyBpbiBzbyduZW0gRGluZyBwZW5uZW4sIGFiZXIKbW9lZ2xpY2hzdCBudXIsIHdlbm4gZGFzIFRlaWwgYXVjaCB2b2xsIHdpcmQuIChkdXJjaCBzZWNocyB6dSB0ZWlsZW4gaXN0CmVpbmZhY2ggYmlsbGlnZXIgYWxzIG51ciBkdXJjaCB6d2VpISkKV2VyIHNpY2ggc28gbmUgSHVldHRlIG1pdCB1bnMgdGVpbGVuIG1vZWNodGUsIG1vZWdlIHNpY2ggZG9jaCBiaXR0ZSBiZWkgdW5zCm1lbGRlbi4gRGFua2UhClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IChDYWRyYWNoLCAxMy4gQXVnIDIwMDIsIDExOjIzOjA3KToKSWNoIGhhZXR0ZSBkYSBtYWwgbmUgRnJhZ2UuLi4KCldpZSB3ZWl0IGlzdCBkZXIgWmVsdHBsYXR6IGRlbm4gdm9tIG5hZWNoc3RlbiBncm9lc3NlcmVuIEZsdXNzIGVudGZlcm50PwpCZXN0ZWh0IGRpZSBHZWZhaHIgZGFzIGRlciBaZWx0cGxhdHogZGEgYW0gV0UgdW50ZXIgV2Fzc2VyIHN0ZWhlbiBrb2VubnRlPwoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXJmbHV0dW5nIC1OZWluIChDYXNzYW5kcmEsIDEzLiBBdWcgMjAwMiwgMTY6MDQ6NDUpOgpIYWxsbwoKRGVyIFplbHRwbGF0eiBpc3QgendhciBpbiBob2VocndlaXRlIGRlcyBGbHVzc2VzLCBhYmVyIHVudGVyIHdhc3NlciBzdGVodCBkZXIKbmljaHQgdW5kIHdpcmQgZXMgd29obCBhdWNoIG5pY2h0IHdlcmRlbi4KSW5zZ2VzYW1tdCBpc3QgSGFsbGUgcmVjaHQgR2xpbXBzbGljaCBkYXZvbmdla29tbWVuIHVuZCBqZXR6dCBzaWVodHMgamEgYXVjaApzY2hvbiB3aWVkZXIgYmVzc2VyIGF1cy4KRXMgYnJhdWNodCBhbHNvIGtlaW5lciBiZWZ1ZXJjaHRlbiBrZWluZW4gUGxhdHogZnVlcnMgWmVsdCB6dSBmaW5kZW4gYXVmIGRlbQprZWluIFdhc3NlciBzdGVodCwgYWxzbyBudXIgbXV0IHVuZCBrb21tdCB6dWhhdWYuCgpDYXNzYW5kcmEgCi1QYXJ0eW9yZ2EgVGVhbSBIYWxsZS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVZWJlcmZsdXR1bmcgLU5laW4gKEdsb2luc29uLCAxNC4gQXVnIDIwMDIsIDA1OjEwOjQzKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDI5MjQ3NDg1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTI0NzQ4NQpad2lzY2hlbnN0YW5kOgogWmVsdGUgYXVzc2VuIG5hc3MsIGlubmVuIHRyb2NrZW4sIEJ1bmdhbG93cyBhdXNzZW4gbmFzcywgaW5uZW4gdHJvY2tlbi4KIE11ZGRlciBhdXNzZW4gZmV1Y2h0LCBpbm5lbiBhbGtvaG9saXNpZXJ0LgogWmVobm1ldGVydHVybSBjb29sLCA1MG0tQmFobiBsYW5nLCBIdW1uaSBhdWYgMmttIHNjaG5lbGxlciBhbHMgRXBwaS4KCkdsb2luKHNvbiksIGF1ZiBLdXJ6dXJsYXViIHZvbiBkZXIgUEFydHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldldHRlcmJlcmljaHQgKENhc3NhbmRyYSwgMTYuIEF1ZyAyMDAyLCAxNTozMDoyMik6CkhhbGxvCkxlaWRldCB2b24gZXVjaCBub2NoIHdlciB1bnRlciByZWdlbj8KRGFubiBzb2xsdGUgZXIgc2ljaCBuYWNoIGhhbGxlIGF1Zm1hY2hlbiwgaGllciBsZWlkZXQgbWFuIGhvZWNoc3RlcyB1bnRlciBkZXIKU29ubmUgdW5kIGRhZ2VnZW4gZ2lidHMgamEgZWluIEZyZWliYWQgbWl0IGthbHRlbSB3YXNzZXIsIHNwcnVuZ3R1cm0gdXN3LgpBbHNvIGtvbW1ldCB6dSBoYXVmIHdlbm4gaWhyIGd1dGVzIHdldHRlciB3b2xsdC4KRGVyemVpdCBjYSAzMCBHcmFkIQoKQ2Fzc2FuZHJhCi1QYXJ0eW9yZ2F0ZWFtIEhhbGxlLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGFydGV5IC4uLiAoSGlydWRvLCAxOC4gQXVnIDIwMDIsIDIyOjEzOjQ2KToKd2FyIGRpZSBwYXJ0eSBnYXIgbmljaHQgdG9sbCwgb2RlciB3aWVzbyBzaW5kIG5vY2gga2VpbmUgZGFua2VzLWFydGlrZWwgZGE/CgpoaXJ1ZGUgendpbmtlcm5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFydGV5IC4uLiAoU2Fya29uLCAxOC4gQXVnIDIwMDIsIDIyOjE0OjI1KToKfiMhIHJuPUhpcnVkbyBydD0xMDI5NzAxNjI2IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpEaWUgUGFydHkgd2FyIHdpcmtsaWNoIHNwaXR6ZSB1bmQgZGVzaGFsYiBoaWVybWl0IGVpbiByaWVzZW4gRGFua2UgYW4KQ2Fzc2FuZHJhLi4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBhcnRleSAuLi4gKExlaWJuaXosIDE4LiBBdWcgMjAwMiwgMjI6MjA6MDIpOgp+IyEgcm49U2Fya29uIHJ0PTEwMjk3MDE2NjUgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CmRlbSBrYW5uIGljaCBtaWNoIG51ciBhbnNjaGxpZXNzZW4uLi4KZGFzIHNjaHdpbW1iYWQgYmVpbSBjYW1waW5ncGxhdHogd2FyIGVjaHQgc3VwZXIsIHZvciBhbGxlbSBiZWkgZGVtIHdldHRlciA6KQoKaWNoIGZyZXUgbWljaCBzY2hvbiBhdWYgZGllIGJpbGRlcgoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFydGV5IC4uLiAoUGl0ZmFsbCwgMTguIEF1ZyAyMDAyLCAyMjoyMDoxNik6Cn4jISBybj1TYXJrb24gcnQ9MTAyOTcwMTY2NSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKcGFydHkgdG9sbAoxMCBtZXRlciB3ZWl0ZXIgd2VnIHdlbm4gbWFuIG11aCBkYWJlaSBydWZ0Cm5wY3MgbGVybmZhZWhpZwoKY2Fzc3ksIGhhc3QgZHUgZ3V0IGdlbWFjaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBhcnRleSAuLi4gKEthcmltYSwgMTguIEF1ZyAyMDAyLCAyMjoyMToxMCk6Cn4jISBybj1MZWlibml6IHJ0PTEwMjk3MDIwMDIgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CkF1Y2ggdm9uIG1pciBlaW4gUmllc2VuLURhbmsgYW4gQ2Fzc2FuZHJhLCBkaWUgYWxsZXMgc28gZ3V0IG9yZ2FuaXNpZXJ0IGhhdC4KRGVyIENhbXBpbmdwbGF0eiB1bmQgYWxsZXMgZHJ1bSB1bmQgZHJhbi4uLiBkYSB3YXIgZWNodCBuaXggenUgbWVja2VybiEKCk1hbiBzaWVodCBzaWNoIGF1ZiBkZXIgbmFlY2hzdGVuIFBhcnR5IDspCgpLYXJpbWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHBhcnRleSAuLi4gKEFwb2xsb25pYSwgMTguIEF1ZyAyMDAyLCAyMjoyNDo0MCk6Cn4jISBybj1LYXJpbWEgcnQ9MTAyOTcwMjA3MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKSWNoIHdpbGwgYmxvc3Mgd2VuaWdlciBNdWVja2VuIGJlaW0gbmFlY2hzdGVuIE1hbC4gV2lyIHNlaGVuIGF1cywgYWxzIGhhZXR0ZW4Kd2lyIGRpZSBNYXNlcm4gO28oCgpBcG8qCmFuc29uc3RlbiB6dWZyaWVkZW4gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBwYXJ0ZXkgLi4uIChTb2xteXIsIDE4LiBBdWcgMjAwMiwgMjM6Mjc6MDIpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMjk3MDIyODAgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2ClNvLAoKUGFydHkgd2FyIGx1c3RpZywgZW50c3Bhbm5lbmQsIGljaCBiaW4gc28gYnJhdW4gZ2V3b3JkZW4sIHdpZSBtZWluZSBFbHRlcm4sCmRpZSAyIFdvY2hlbiBhdWYgS3JldGEgdmVyYnJhY2h0ZW4sIGRpZSBHZWdlbmQgaXN0IHNjaG9lbmVyIGFscyBpY2gKZ2VkYWNodCBoYWV0dGUgdW5kIEJpZXIgdW5kIERva3UgZ2FicyBhdWNoIGluIE1hc3NlbiA6KSAuLi4gbmljaHQgenUKdmVyZ2Vzc2VuIG1laW5lICdFaGVmcmF1JyB1bmQgZGllLCBhZWgsIG5ldHRlbiBTdHVuZGVuIGltIFplbHQgOikpCgpGYXJlIHdlbGwsClNvbG15cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcGFydGV5IC4uLiAoR25vbWUsIDE4LiBBdWcgMjAwMiwgMjM6Mzc6MjgpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMjk3MDIyODAgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CmVpbiBncm9zc2VzIGRhbmtlc2Nob2VuIGdlaHQgYW4gY2Fzc2FuZHJhIGZ1ZXIgZGllIG9yZ2EsCmFuIG1pZXplIHVuZCBjYXJlbiBmdWVyIGRpZSB0b2xsZSBxdWVzdCB1bmQgZGllIG5ldHRlbiBrb3N0dWVtZSwKdW5kIGFuIGRpZSB0YW56d3VldGlnZW4gbWV1dGUsIGRpZSBkZXIgcGFydHkgZGFtaXQgZGFzCnNhaG5laGFldWJjaGVuIGF1Zmdlc2V0enQgaGFiZW4gOm8pCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcGFydGV5IC4uLiAoRWxiZXJldCwgMTguIEF1ZyAyMDAyLCAyMzozOToyMSk6Cn4jISBybj1Hbm9tZSBydD0xMDI5NzA2NjQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgp3YXMgc29sbCBpY2ggZGVtIG5vY2ggaGluenVmdWVnZW4/IDotKQoKRWxiaSBnZXJhZGUgYW5nZWtvbW1lbnVuZCBzb25uZW5icmFuZCBoYWJlbmQgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJpbGRlci4uLiAoWm9vaywgMTkuIEF1ZyAyMDAyLCAwOToxMjozNyk6ClZvcmVyc3QgZWluIHJpZXNlbmdyb3NzZXMgRGFua2Ugc2Nob2VuIGFuIENhc3NhbmRyYSwgTWllemUsIENhcmVuIHVuZCBkZW4Kd2VpdGVyZW4gSGVsZmVybiEKCldlbm4gamVtYW5kIEJpbGRlciB2b24gZGVyIFBhcnR5IGFuZ2VmZXJ0aWd0IGhhdCB1bmQgc2llIGdlcm5lIAp2ZXJvZWZmZW50bGljaGVuIG1vZWNodGUsIHNvIGthbm4gZXIgc2ljaCBhbiBtaWNoIHdlbmRlbi4gWnVyIEVyc3RlbGx1bmcKZGVyIEJpbGRpbmRpemVzIGdpYnQgZXMgZWluZSBIaWxmZXNlaXRlIHVudGVyCgogIGh0dHA6Ly93d3cuaG9sendhcnRoLm5ldC9NRy9QYXJ0aWVzL2hpbndlaXNlX3p1cl9pbmRleGVyc3RlbGx1bmcuaHRtCgoKR3J1c3MsIFpvb2suCgpQUzogR3VhcmQsIGF1Y2ggd2VubiBkYXMgbWl0IGRlbSBFbnRoYWFyZW4gbmljaHQgZ2VrbGFwcHQgaGF0LCBkYXMgS2xlaWQKd2FyIHNlaHIgYmV6YXViZXJuZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBwYXJ0ZXkgLi4uIChBaGFiLCAxOS4gQXVnIDIwMDIsIDA5OjIyOjMwKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyOTcwNjc2MSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKQWxzbyBhYmdlc2VoZW4gdm9uIGVpbmVtIFJpZXNlbi1EYW5rZXNjaG9lbiBhbiBDYXNzYW5kcmEgdW5kIGRhcyBRdWVzdC1UZWFtLApkYXMgaWNoIG1pciBkYW5uIGRvY2ggbmljaHQgbmVobWVuIGxhc3NlbiB3aWxsLCBtb2VjaHRlIGljaCBhdWNoIGltIE1HIG1hbCAKc28gZWluZW4gdG9sbGVuIEFiZW50ZXVlcnB1bmt0IGZ1ZXIgZWluZSBRdWVzdCBoYWJlbiEgRXMgZ2FiIHp3YXIgbnVyIGVpbmVuCmVpbnppZ2VuIHRyb3R6IGRlcyBRdWVzdGF1ZndhbmRlcyAoIkhpZXIgd2lyZCBpZ25vcmllcnQsIHdlciBuaWNodCBpbiBSZWltZW4KZm9ybXVsaWVydC4iICpHKiksIGFiZXIgZGVuIGthbm4gbWFuIGRhZnVlciBrbnVkZGVsbiwgbWl0IFdhc3NlciB2b2xsc2F1Z2VuCnVuZCBhbmRlcm4gTGV1dGVuIGFuIGRpZSBSdWViZSBzY2htZWlzc2VuIC0gc293YXMgZmluZCBpY2ggbmVuIGVjaHRlbiBNZWhyLQp3ZXJ0IGZ1ZXIgZWluZW4gQWJlbnRldWVycHVua3QgOi0pCgpVbmQgR3VhcmRpbmUsIERlaW4gS2xlaWQgd2FyIGVjaHQgb2JlcnNjaGljayEgKmcqCgpOb2NobWFsOiBEYW5rZSBzY2hvZW4gZnVlciBkaWUgc2Nob2VuZSBQYXJ0eSwKQWhvaSwKQWhhYi4KClAuUy46IFdlciBhdWNoIGltbWVyIGRhcyBiZW51dHp0ZSByb3RlIEtvbmRvbSB2b3Igc2VpbmVtIFplbHQgZGVwb25pZXJ0IGhhdCAtCiAgICAgaGFiZW4gZGllamVuaWdlbiBkYXMgdm9yIGRlciBBYnJlaXNlIG5vY2ggZW50c29yZ3Qgb2RlciBsaWVndCBkYXMgamV0enQKICAgICBpbW1lciBub2NoIGF1ZiBkZW0gWmVsdHBsYXR6PyAqRyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHBhcnRleSAuLi4gKFNvbG15ciwgMTkuIEF1ZyAyMDAyLCAxMDozMzoxOCk6Cn4jISBybj1BaGFiIHJ0PTEwMjk3NDE3NTAgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2Clp1IGRlciBTYWNoZSBtaXQgZGVtIHJvdGVuIEtvbmRvbTogRmFsbHMgamVtYW5kIGRlbmt0LCBkYXMgd2lyIGRhcwp3YXJlbiwgbGllZ3QgZXIgZmFsc2NoLiBXaXIgYnJhdWNoZW4gc293YXMgbmljaHQgKkcqIDopCgpGYXJlIHdlbGwsClNvbG15cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcGFydGV5IC4uLiAoQm9pbmcsIDE5LiBBdWcgMjAwMiwgMTA6MzQ6NTApOgp+IyEgcm49U29sbXlyIHJ0PTEwMjk3NDU5OTggcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2ClNvIGdlbmF1IHdvbGx0ZSBpY2ggZWlnZW50bGljaCBnYXIgbmljaHQgdWViZXIgRGVpbiBMaWViZXNsZWJlbiBpbmZvcm1pZXJ0CndlcmRlbiAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHBhcnRleSAuLi4gKFNvbG15ciwgMTkuIEF1ZyAyMDAyLCAxMDozNjoyMyk6Cn4jISBybj1Cb2luZyBydD0xMDI5NzQ2MDkwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpPb3BzLCB6dSBzcGFldCA6KQoKU29sKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHBhcnRleSAuLi4gKFNvdSwgMTkuIEF1ZyAyMDAyLCAxMzozNDoxNCk6Cn4jISBybj1Tb2xteXIgcnQ9MTAyOTc0NjE4MyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKQWJzb2x1dCBnZW5pYWxlcyBGZXN0ISA6KQpEYW5rZSBDYXNzYW5kcmEgdW5kIGFsbGUgZGllIGRhIG5vY2ggZGllIGZpbmdlciBtaXQgaW0gc3BpZWwgaGF0dGVuIDopCgpTb3UgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBwYXJ0ZXkgLi4uIChCb2luZywgMTkuIEF1ZyAyMDAyLCAxMzo0MToyMik6Cn4jISBybj1Tb3UgcnQ9MTAyOTc1Njg1NCByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKV2FzIHdhciBqZXR6dCBlaWdlbnRsaWNoIGRhcyBULVNoaXJ0LU1vdGl2PyA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogcGFydGV5IC4uLiAoU2Fya29uLCAxOS4gQXVnIDIwMDIsIDEzOjQyOjE0KToKfiMhIHJuPUJvaW5nIHJ0PTEwMjk3NTcyODIgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CmRhcyBoYWIgaWNoIG1pY2ggaXJnZW5kd2llIGF1Y2ggZ2VmcmFndCwgYWxzIGljaCBkYXMgdC1zaGlydCBnZXNlaGVuIGhhYmUgKkcqCnNhcmtvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IHBhcnRleSAuLi4gKEJvaW5nLCAxOS4gQXVnIDIwMDIsIDEzOjQyOjM4KToKfiMhIHJuPVNhcmtvbiBydD0xMDI5NzU3MzM0IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpJY2ggaGFiJ3MgamEgbm9jaCBuaWNodCBnZXNlaGVuIC4uLiBpY2ggd29sbHRlIGVzIHdpcmtsaWNoIHdpc3Nlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IHBhcnRleSAuLi4gKEFwb2xsb25pYSwgMTkuIEF1ZyAyMDAyLCAxMzo0Mjo1OCk6Cn4jISBybj1TYXJrb24gcnQ9MTAyOTc1NzMzNCByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKRGFzIHNvbGx0ZSB3b2hsIGVpbmUgSGFsbG9yZW5rdWdlbCB2b3JtIFBDIHNlaW4sIHdlbm4gaWNoIGRhcyByaWNodGlnCnZlcnN0YW5kZW4gaGFiLgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IHBhcnRleSAuLi4gKEJvaW5nLCAxOS4gQXVnIDIwMDIsIDEzOjQ0OjA4KToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDI5NzU3Mzc4IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpBY2ggZGVzd2VnZW4gaGFiZW4gZGllIHZvcmhpbiBhdWYgZGVtIEthbmFsIHN0YWVuZGlnIHZvbiBTdWVzc2lna2VpdGVuCmdlcmVkZXQsIGFscyBpY2ggZGllIEZyYWdlIGdlc3RlbGx0IGhhYi4gVW5kIGljaCBkYWNodGUgc2Nob24gYWxsZQppZ25vcmllcmVuIG1pY2ggLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJpbGRlci4uLiAoR25vbWUsIDE5LiBBdWcgMjAwMiwgMTQ6MTQ6MzUpOgp+IyEgcm49Wm9vayBydD0xMDI5NzQxMTU3IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpuaWNodCBudXIgZGFzIGtsZWlkLi4uIDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YmlsZGVyLi4uIChFbGJlcmV0LCAxOS4gQXVnIDIwMDIsIDE0OjQwOjA5KToKfiMhIHJuPVpvb2sgcnQ9MTAyOTc0MTE1NyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3NDExNTcKYWJlciB6aWNraWcgd2FyIGRpZSBndXRlIFRydWRlIDopCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogcGFydGV5IC4uLiAoRWxpemFiZXRoLCAxOS4gQXVnIDIwMDIsIDE1OjAzOjQzKToKfiMhIHJuPUJvaW5nIHJ0PTEwMjk3NTc0NDggcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CkphcHAsIGVpbmRldXRpZyBlaW5lIHNlaHIgdG9sbGUgUGFydHkgd2VubiBhdWNoIHZvbiBlaW5lbSBleHRyZW0gaW5zIGFuZGVyZQooa2FsdC9uYXNzIC0gd2FybS90cm9ja2VuKSBEYW5rZSBhbiBhbGxlIERpZSBtaXRnZWhvbGZlbiBoYWJlbiB1bmQgZGllCmdla29tbWVuIHNpbmQgOikgd2FyIHNjaG9lbiBtYWwgbmV1ZSBnZXNpY2h0ZXIgenUgc2VoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogcGFydGV5IC4uLiAoUGVyZGl0YSwgMTkuIEF1ZyAyMDAyLCAxNjozNjozNyk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAyOTc2MjIyMyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKd2lsbCBhdWNoIG5vY2htYWwgZGFua2Ugc2FnZW4gdW5kIGFsbGVzIGxvYmVuIQpXZXR0ZXIgd2FyIGdlbmlhbCwgU2Nod2ltbWJhZCBpbiBkZW0gWnVzYW1tZW5oYW5nIHd1bmRlcnZvbGwsIGRpZSBRdWVzdCBoYXQKU3Bhc3MgZ2VtYWNodCwgZGllIFBhcnR5IGF1Y2ggLSB3b2xsdCBnYXIgbmljaHQgd2llZGVyIG5hY2ggSGF1c2UKUGVyZGl0YSBicmluZ3QgZGVuIGVpbmVuIEZpbG0gaGV1dCBub2NoIHp1bSBFbnR3aWNrZWxuLCBkZXIgYW5kZXJlIG11c3MgZXJzdApub2NoIHZvbGwgd2VyZGVuLgpQLlMuIERpZSBLb3N0dWVtZSBkZXIgUXVlc3Qgd2FyZW4gX3dpcmtsaWNoXyBvYmVyZ2VuaWFsIQpQLlAuUy4gYXVjaCBpY2ggaGFiIG5lbiBTb25uZW5icmFuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IHBhcnRleSAuLi4gKEFwb2xsb25pYSwgMTkuIEF1ZyAyMDAyLCAxODoyMjozMik6Cn4jISBybj1QZXJkaXRhIHJ0PTEwMjk3Njc3OTcgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2ClAuUy4gYXVjaCB2b24gbWlyLi4uIERhbmtlIG5vY2htYWwgYW4gYWxsZSBmcmVpd2lsbGlnZW4gdW5kIHVuZnJlaXdpbGxpZ2VuCkJhYnlzaXR0ZXIgOm8pIFZvciBhbGxlbSBhbiBBc3RhcnRlLCBkaWUgYXVzIG1laW5lbSBLaW5kIGVpbmUKQmx1ZW1jaGVucGZsdWVja2VyaW4gZ2VtYWNodCBoYXQgKmcqCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogcGFydGV5IC4uLiAoR2xvaW5zb24sIDE5LiBBdWcgMjAwMiwgMTg6MzU6NDApOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMjk3NzQxNTIgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CkJlZGluZ3VuZyBmdWVyIGRpZSBuYWVjaHN0ZW4gUEFydGllcyBpc3QgdWVicmlnZW5zIGViZW5mYWxscyBTY2h3aW1tYmFkIHVuZAptaW5kZXN0ZW5zIDUgbSBUdXJtIDopCgpHbG9pbihzb24pIG11cm1lbHQgd2FzIHZvbjogSW1tZXIgc2Nob2VuIGZ1ZXR0ZXJuLCBkaWUgS2xlaW5lIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IHBhcnRleSAuLi4gKEZsYXVyb3MsIDE5LiBBdWcgMjAwMiwgMTg6Mzk6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyOTc3NDk0MCByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKQXVjaCBpY2ggd29sbHRlIG1pY2ggbnVyIGVpbm1hbCBmdWVyIGRpZXNlIG5ldHRlIFBhcnR5IApiZWRhbmtlbi4gRGFzIFNjaHdpbW1iYWQgd2FyIGVjaHQgc2VociBuZXR0IGJlaSBkaWVzZW0gCldldHRlciAoZmFzdCBzY2hvbiBub2V0aWcgOykpIHVuZCBhdWNoIGRlciBSZXN0IGhhdCBtaXIgCnNlaHIgZ3V0IGdlZmFsbGVuLCBndXRlIE9yZ2FuaXNhdGlvbiwgdXN3Li4uIAoKUnVuZGhlcnVtIGVpbmUgZ2VsdW5nZW5lIFBhcnR5IAooU293ZWl0IGljaCBkYXMgYmV1cnRlaWxlbiBrYW5uKS4KCkZsYXVzY2hpIGZyZXV0IHNpY2ggYXVmIGRpZSBuYWVjaHN0ZSBGZWllciA6KSAgICAgICAgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogcGFydGV5IC4uLiAoTGV2LCAxOS4gQXVnIDIwMDIsIDE4OjQ3OjUwKToKfiMhIHJuPUZsYXVyb3MgcnQ9MTAyOTc3NTE1MiByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKTnVyIGJlaW0gRHVzY2hlbiBtdXNzdGUgbWFuIGxhbmdlIHdhcnRlbiwgaGFiIGljaCBtaXIgc2FnZW4gbGFzc2VuLgoKTGV2LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IHBhcnRleSAuLi4gKEZsYXVyb3MsIDE5LiBBdWcgMjAwMiwgMTg6NDk6MzApOgp+IyEgcm49TGV2IHJ0PTEwMjk3NzU2NzAgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CkRhcyBrYW5uIGdhciBuaWNodCBzZWluIDspKQoKRmxhdXJvcyBwZmVpZnQgdW5zY2h1bGRpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBwYXJ0ZXkgLi4uIChMaWFyYSwgMTkuIEF1ZyAyMDAyLCAxODo1MDoyMCk6Cn4jISBybj1GbGF1cm9zIHJ0PTEwMjk3NzU3NzAgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2ClJ1ZGVsZHVzY2hlbiBvZGVyIHdhcz8gOy0pCgpaWkwsIGltbWVyIHVtIExvZXN1bmdlbiBiZW11ZWh0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IHBhcnRleSAuLi4gKFNvbG15ciwgMTkuIEF1ZyAyMDAyLCAxODo1MDo1NCk6Cn4jISBybj1MaWFyYSBydD0xMDI5Nzc1ODIwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpTaWUgbWVpbmVuIGRhbWl0IHdvaGwsIGRhcyBpY2ggZGllIER1c2NoZSBpbW1lciBpbiBlaW4gdHVlcmtpc2NoZXMKRGFtcGZiYWQgdmVyd2FuZGVsdCBoYWJlIHVuZCBkZW1lbnRzcHJlY2hlbmQgbGFuZ2UgZ2VkdXNjaHQgaGFiLi4uCgpTb2wqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogcGFydGV5IC4uLiAoRmxhdXJvcywgMTkuIEF1ZyAyMDAyLCAxODo1MTowNik6Cn4jISBybj1MaWFyYSBydD0xMDI5Nzc1ODIwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpBdXMgd2lldmllbCBQZXJzb25lbiBiZXN0ZWh0IGVpbiBSdWRlbD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBwYXJ0ZXkgLi4uIChMZXYsIDE5LiBBdWcgMjAwMiwgMTg6NTI6NDcpOgp+IyEgcm49RmxhdXJvcyBydD0xMDI5Nzc1ODY2IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpBbHNvLCBkYXMgUnVkZWwgdm9uIGRlbSBpY2ggS2VubnRuaXMgZXJsYW5ndCBoYWJlLCBiZXN0YW5kIGF1cyB6d2VpClBlcnNvbmVuLiBEYXMgUnVkZWwsIGRhcyBzdHVuZGVubGFuZyB2b3IgZGVyIER1c2NoZSB3YXJ0ZW4gbXVzc3RlLCB3YXIKZGV1dGxpY2ggZ3JvZXNzZXIgOykKCkxldi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBwYXJ0ZXkgLi4uIChGbGF1cm9zLCAxOS4gQXVnIDIwMDIsIDE4OjUzOjQ5KToKfiMhIHJuPUxldiBydD0xMDI5Nzc1OTY3IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpUenR6dHosIHdlciBlcnphZWhsdCBoaWVyIGRlbm4gc29sY2hlIFNhY2hlbiA7KQoKU3R1bmRlbmxhbmcgaXN0IGVpbmRldXRpZyB1ZWJlcnRyaWViZW4gOm8pCgpGbGF1cm9zIGR1Y2t0IHNpY2ggaW1tZXJub2NoIHZvciBkZW4gU2NobGFlZ2VuIGRlciBkcmF1c3NlbiBXYXJ0ZW5kZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogcGFydGV5IC4uLiAoTGV2LCAxOS4gQXVnIDIwMDIsIDE4OjU0OjU3KToKfiMhIHJuPUZsYXVyb3MgcnQ9MTAyOTc3NjAyOSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKU28gd2llIER1IGdlZ3JpbnN0IGhhc3QsIGhhdHRlc3QgRHUgd2VkZXIgdm9yIFNjaGxhZWdlbiBBbmdzdCBub2NoIHZvciAKZGVuIGJvZXNlbiBCbGlja2VuLi4uCgpMZXYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogcGFydGV5IC4uLiAoRmxhdXJvcywgMTkuIEF1ZyAyMDAyLCAxODo1NToyMSk6Cn4jISBybj1MZXYgcnQ9MTAyOTc3NjA5NyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKSWNoIGhhYmUgX25pY2h0XyBnZWdyaW5zdCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBwYXJ0ZXkgLi4uIChFbGJlcmV0LCAxOS4gQXVnIDIwMDIsIDE4OjU3OjMzKToKfiMhIHJuPUZsYXVyb3MgcnQ9MTAyOTc3NjEyMSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKYWJlciBpY2ggaGFiIGdld2FydGV0IC4uLi4oZmFzdCBzdHVuZGVubGFuZykgOikKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBwYXJ0ZXkgLi4uIChGbGF1cm9zLCAxOS4gQXVnIDIwMDIsIDE4OjU3OjU5KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyOTc3NjI1MyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKRHUgc3RhbmRlc3QgbmljaHQgZGF2b3IsIEVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBwYXJ0ZXkgLi4uIChFbGJlcmV0LCAxOS4gQXVnIDIwMDIsIDE5OjAxOjE5KToKfiMhIHJuPUZsYXVyb3MgcnQ9MTAyOTc3NjI3OSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKb2ggZG9jaCBpY2ggc3RhbmQgZGF2b3IsIGZyYWcgWm9vaywgZGVyIHN0YW5kIGF1Y2ggZGF2b3IKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMyOiBwYXJ0ZXkgLi4uIChTb2xteXIsIDE5LiBBdWcgMjAwMiwgMTk6MDE6NDcpOgp+IyEgcm49RWxiZXJldCBydD0xMDI5Nzc2NDc5IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpNZWNrZXJuIHR1biBlaWdlbnRsaWNoIG51ciBkaWUgJ1NwYWV0ZHVzY2hlcicgOikgV2lyIEZydWVoZHVzY2hlciBoYXR0ZW4KbmllIFByb2JsZW1lIDspCgpTb2wqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogcGFydGV5IC4uLiAoRWxiZXJldCwgMTkuIEF1ZyAyMDAyLCAxOTowMzoxMyk6Cn4jISBybj1Tb2xteXIgcnQ9MTAyOTc3NjUwNyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKZGFzIHdhciBlaW4gcHJlLWR1c2NoZW4ga2VpbiBzcGFldGR1c2NoZW4KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBwYXJ0ZXkgLi4uIChMZWlibml6LCAxOS4gQXVnIDIwMDIsIDE5OjA3OjE0KToKfiMhIHJuPUxldiBydD0xMDI5Nzc1NjcwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpzb29vIGxhbmdlIG51biBhdWNoIHdpZWRlciBuaWNodC4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogcGFydGV5IC4uLiAoRWxiZXJldCwgMTkuIEF1ZyAyMDAyLCAxOTowNzozNCk6Cn4jISBybj1MZWlibml6IHJ0PTEwMjk3NzY4MzQgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CmFiZXIgc29vIGxhbmdlIGJlc3RpbW10IDopCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogcGFydGV5IC4uLiAoRmxhdXJvcywgMTkuIEF1ZyAyMDAyLCAxOTowODoyNik6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjk3NzY4NTQgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CkljaCBoYWJlIHp3YXIga2VpbmUgVWhyLCBhYmVyIGVzIHdhciBuaWNodHMgd2VpdGVyIGFscyBlaW4gZ2VtdWV0bGljaGVzCkR1c2NoZW4gdm9uIGRlciBaZWl0IGhlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IHBhcnRleSAuLi4gKEVsYmVyZXQsIDE5LiBBdWcgMjAwMiwgMTk6MDg6NTgpOgp+IyEgcm49RmxhdXJvcyBydD0xMDI5Nzc2OTA2IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgplcyBnaWJ0IHNpdHVhdGlvbiBkYSB2ZXJnaXNzdCBtYW4gZGllIHplaXQsb2Rlcj8gKmdnCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogcGFydGV5IC4uLiAoTGVpYm5peiwgMTkuIEF1ZyAyMDAyLCAxOTowOTowMik6Cn4jISBybj1GbGF1cm9zIHJ0PTEwMjk3NzY5MDYgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CmZsYXVzY2hpIGJyYXVjaHQgaGFsdCBpbW1lciBzbyBsYW5nZSAtIHp1bSBkdXNjaGVuIG1laW4gaWNoIG5hdHVlcmxpY2ggOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogcGFydGV5IC4uLiAoSGlzYXN1bCwgMTkuIEF1ZyAyMDAyLCAxOToxMjoxNSk6Cn4jISBybj1MZWlibml6IHJ0PTEwMjk3NzY5NDIgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2Ck9laG0sIHNjaG9ubWFsIHdlciBuZW4gTGVpYm5pei1LZWtzIG1pdCB1bnRlciBkaWUgRHVzY2hlIGdlbm9tbWVuPyAoYWxzbyBhbGxlCmF1c3NlciBGbGF1c2NoaSBzaW5kIGdlZnJhZ3QgOy0pICApPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IHBhcnRleSAuLi4gKExlaWJuaXosIDE5LiBBdWcgMjAwMiwgMTk6MTI6NDUpOgp+IyEgcm49SGlzYXN1bCBydD0xMDI5Nzc3MTM1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpkYXMgZ2lidCBlaW5lbiB3ZWljaGtla3MuLi4gaXN0IGRvY2ggbG9naXNjaAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBwYXJ0ZXkgLi4uIChHbG9pbnNvbiwgMTkuIEF1ZyAyMDAyLCAxOToxMzozNSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjk3NzYyNTMgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CkRhcyBtaXQgZGVuIER1c2NoZW4gbGFnIHdvaGwgZWhlciBkYXJhbiwgZGFzcyBkaXZlcnNlIGp1bmdlIE1hZW5uZXIgZnVlbmYKRHVzY2hlbiBmdWVyIHNpY2ggYWxsZWluIGJyYXVjaHRlbiB1bmQgZGVzaGFsYiBhYnNjaGxvc3NlbiByZXNwZWt0aXZlIG5pY2h0Cm1pdCBoaW5laW5rYW1lbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzE6IHBhcnRleSAuLi4gKEhpc2FzdWwsIDE5LiBBdWcgMjAwMiwgMTk6MTQ6NDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyOTc3NzIxNSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKCk5hIGxlY2tlciEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBwYXJ0ZXkgLi4uIChHdWFyZCwgMTkuIEF1ZyAyMDAyLCAyMjo0Nzo0MSk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAyOTc2MjIyMyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKCmF1Y2ggdm9uIG1pciBuZW4gZ3Jvc3NlcyBsb2IgYW4gZGllIG9yZ2EhIHdhciBlaW5lIHRvbGxlIHdvY2hlLiB1bmQgYW4gZGllCnF1ZXN0bWFzdGVyIC4uLiBpY2ggZmFuZCBkYXMga2xlaWQgYXVjaCBzdXBlciAuLSkpKSkpKSkpCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IHBhcnRleSAuLi4gKEdyYWxrb3IsIDIwLiBBdWcgMjAwMiwgMTA6MTE6MzcpOgp+IyEgcm49TGV2IHJ0PTEwMjk3NzU2NzAgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CmhlYmUgYmVpbmUKbm9lLiBrYW5uIGljaCBuaWNodCBzYWdlbi4uLgpoZWJlIGJlaW5lCmhlYmUgYmVpbmUKaGViZSBiZWluZQpXYXIgbmllIG5lIFNjaGxhbmdlIHVuZCBoYXQgc2ljaCBhdWNoIGtlaW5lciBiZXNjaHdlcnQsIHdlbm4gaWNoIGxhZW5nZXIKZ2VkdXNjaHQgaGFiZSA6KQoKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBwYXJ0ZXkgLi4uIChFbGJlcmV0LCAyMC4gQXVnIDIwMDIsIDEwOjEzOjMzKToKfiMhIHJuPUdyYWxrb3IgcnQ9MTAyOTgzMTA5NyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKaGVic3QgZHUgZGFzIEJlaW4gYXVjaCB1bnRlciBkZXIgRHVzY2hlPyA6KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IHBhcnRleSAuLi4gKEdyYWxrb3IsIDIwLiBBdWcgMjAwMiwgMTA6MTU6MjYpOgp+IyEgcm49RWxiZXJldCBydD0xMDI5ODMxMjEzIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpqYS4gaW1tZXIuIHNvbGwgamEgdW50ZW4gYXVjaCBzYXViZXIgd2VyZGVuLiBhYmVyIGljaCBtdXNzIG1laW5lIEtleWJpbmRpbmdzCm1hbCB1ZWJlcmFyYmVpdGVuLiBzZWhlIGljaCBnZXJhZGUgOi8KCkcuClBTOiBKYS4gVk9MTFNDUklQVCEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBwYXJ0ZXkgLi4uIChFbGJlcmV0LCAyMC4gQXVnIDIwMDIsIDEwOjE2OjEwKToKfiMhIHJuPUdyYWxrb3IgcnQ9MTAyOTgzMTMyNiByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKYWJlciBlcnphZWhsZSB1bnMgd29mdWVyIGRhcyBrZXliaW5kaW5nIGhlYmUgYmVpbmUgZGVubiBndXQgaXN0IDopCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogcGFydGV5IC4uLiAoR3JhbGtvciwgMjAuIEF1ZyAyMDAyLCAxMDoyMDozOSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjk4MzEzNzAgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CndlaWwgZGFzIHZvbiBIYW5kIGVpbmdlYmVuIHp1IGF1ZndhZW5kaWcgaXN0IHVuZCBwZXIgV2llZGVyaG9sdW5nCndhaHJzY2hlaW5saWNoIHZlcmJvdGVuIDopClVuZCBkYSBpY2ggenUgc2VsdGVuIGRpZSBvYmVuIGhhYmUsIGhhYmUgaWNoIGRpdmVyc2UgS2V5YmluZGluZ3MgaW56d2lzY2hlbgp3aWVkZXIgdmVyZ2Vzc2VuIDovCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IHBhcnRleSAuLi4gKENyb2Z0LCAyMC4gQXVnIDIwMDIsIDEwOjIxOjQ1KToKfiMhIHJuPUdyYWxrb3IgcnQ9MTAyOTgzMTYzOSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3MDE2MjYKRGFzIGhhdCBFbGJpIG5pY2h0IGdlZnJhZ3QgOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogcGFydGV5IC4uLiAoWm9vaywgMjAuIEF1ZyAyMDAyLCAxMDo0NDoxNSk6Cn4jISBybj1Dcm9mdCBydD0xMDI5ODMxNzA1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTcwMTYyNgpXYXMgbWFjaGVuIGVpZ2VudGxpY2ggSHlhZW5lbiBpbiBHZWxkYm9lcnNlbj8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogcGFydGV5IC4uLiAoRWxiZXJldCwgMjAuIEF1ZyAyMDAyLCAxMDo0Nzo0MCk6Cn4jISBybj1ab29rIHJ0PTEwMjk4MzMwNTUgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzAxNjI2CkVsYmkgc3RyZWNrdCBab29rIGRpZSBadW5nZSBoZXJhdXMgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rc2FndW5nIChPcmt0b2V0ZXIsIDIwLiBBdWcgMjAwMiwgMTE6MDQ6MDUpOgpTbywgYmluIG51biBhdWNoIHdpZWRlciBkYWhlaW0gdW5kIGFuIGVpbmVtIENvbXBpIHVuZCBtb2VjaHRlIG1pY2ggYmVpCkNhc3NhbmRyYSB1bmQgZGVuIGFuZGVyZW4sIGRpZSBkaWUgUGFydHkgb3JnbmlzaWVydCBoYWJlbiBoZXJ6bGljaCBiZWRhbmtlbiEKRWluIENhbXBpbmdwbGF0eiAoc2VociBQcmVpc2d1ZW5zdGlnKSBtaXQgZWluZW0gU2Nod2ltYmFkIHF1YXNpIGluY2x1c2l2ZSBpc3QKZWluZmFjaCBudXIgZ2VuaWFsLCB2b3IgYWxsZW0sIHdlbm4gbWFuIGVzIGRhbm4gYXVjaCBub2NoIE5hY2h0cyB1bmQgb2huZQpBdWZzaWNodCBiZW51dHplbiBrYW5uLgpCdW5nYWxvd3MgZnVlciBGYW1pbGllbiB1bmQgYmVxdWVtZXJlIExldXRlIGdhYnMgYXVjaCAodW5kIGljaCBnZXN0ZWhlLCBkYXMKaWNoIGRpZSBiZXF1ZW1lIEFic3B1ZWxtb2VnbGljaGtlaXQgZG9ydCBhdWNoIHJlaWNobGljaCBnZW51dHp0IGhhYmUuIERhaGVyCmF1Y2ggZWluIERhbmsgYW4gZGllIEJ1bmdhbG93YmV3b2huZXIpLgoKT3JrdG9ldGVyLCBndXQgZXJob2hsdCBuYWNoIGVpbmVyIFdvY2hlIFVybGF1Yi4KClBTIEljaCBmYW5kIGVzIG51ciBldHdhcyBzY2hhZGUsIGRhcyBzbyByZWxhdGl2IHdlbmlnIGdla29tbWVuIHNpbmQsIGlociB3YXJ0CnNlbGJzdCBTY2h1bGQgdW5kIGhhYnQgZXR3YXMgdmVycGFzc3QhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua3NhZ3VuZyAoT3JrdG9ldGVyLCAyMC4gQXVnIDIwMDIsIDExOjA2OjI5KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDI5ODM0MjQ1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTgzNDI0NQpTb3JyeSBmdWVyIGRlbiBTZWxic3RyZXBseSwgYWJlciBpY2ggc3RlbGxlIGdlcmFkZSBmZXN0LCBkYXMgaWNoIGRpZSBRdWVzdApuaWNodCBlcndhZWhudCBoYWJlLiBEaWUgd2FyIGFiZXIgc28gdG9sbCAodW5kIGRpZSBzY2hvbiB2b24gYW5kZXJlbiBnZWxvYnRlbgpLb3N0dWVtZSBzbyBLbGFzc2UpLCBkYXMgaWNoIGRpZXNlbiBBcnRpa2VsIG5hY2hzY2hpZWJlIHVtIG1pY2ggYXVjaCBmdWVyIGRpZQpRdWVzdCB6dSBiZWRhbmtlbiwKCk9ya3RvZXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFua3NhZ3VuZyAoU291LCAyMC4gQXVnIDIwMDIsIDExOjA3OjA0KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDI5ODM0Mzg5IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTgzNDI0NQpKbyBkaWUgZmFuZCBpY2ggYXVjaCBLbGFzc2UgOikKClNvdSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YmlsZGVyLi4uIChab29rLCAyMC4gQXVnIDIwMDIsIDExOjE3OjQ5KToKfiMhIHJuPVpvb2sgcnQ9MTAyOTc0MTE1NyByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3NDExNTcKQWxzIGtsZWluZSBSYW5kbm90aXosIGRhbWl0IGVzIG5pY2h0IHp1ICJVbmZhZWxsZW4iIGtvbW10OiBXZXIgbmljaHQgbW9lY2h0ZSwKZGFzcyB2b24gaWhtIFBhcnR5YmlsZGUgaW5zIE5ldHogZ2VzdGVsbHQgd2VyZGVuLCBtb2VnZSBzaWNoIHZpZWxsZWljaHQgCmVpbmZhY2ggYmVpIG1pciBtZWxkZW4uCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHliaWxkZXIuLi4gKEFwb2xsb25pYSwgMjAuIEF1ZyAyMDAyLCAxMTo0NDoyNCk6Cn4jISBybj1ab29rIHJ0PTEwMjk4MzUwNjkgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3CkRhIEZvdG9zIHZvbiBtaXIgZ3J1bmRzYWV0emxpY2ggJ1VuZmFlbGxlJyBzaW5kLCBpc3NlcyBtaXIgZWdhbCwgYWJlciBpY2ggbXVzcwpkYSBzY2hvbiBtYWwgaW4gZGllIGdsZWljaGUgS2VyYmUgaGF1ZW4sIGljaCBoYWIgZGEgMiAxLzIgRmlsbWUsIGRpZSBub2NoCmVudHdpY2tlbHQgd2VyZGVuIG11ZXNzZW4uLi4gdW5kIGljaCB3ZWlzcyBiZWkgZGVuIG1laXN0ZW4gRm90b3MgbmljaHQgbWFsLAp3ZXIgZGEgZHJhdWYgaXN0LgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHliaWxkZXIuLi4gKEd1YXJkLCAyMC4gQXVnIDIwMDIsIDExOjQ1OjQ0KToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDI5ODM2NjY0IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpkYXMgaXMgYXVjaCBndXQgc28gYXBvLCBzY2hhdSBkaXIgZGllIGJpbGRlciBibG9zcyBuaWNoIGFsbGUgYW4hCihrYW5uIG1hbiBlaWdlbnRsaWNoIGJlc3RpbW10ZSBiaWxkZXIgdm9uIHNpY2ggdm9yIHZlcm9lZmZlbnRsaWNoIHVuZwpzY2h1ZXR6ZW4gPyA6LSkKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWJpbGRlci4uLiAoQXBvbGxvbmlhLCAyMC4gQXVnIDIwMDIsIDExOjQ2OjE2KToKfiMhIHJuPUd1YXJkIHJ0PTEwMjk4MzY3NDQgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3CkRpZSwgYXVmIGRpZSBEdSBkYSBnZXJhZGUgYW5zcGllbHN0LCBHQVJBTlRJRVJUIE5JQ0hUISA6bykKCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5YmlsZGVyLi4uIChHbG9pbnNvbiwgMjAuIEF1ZyAyMDAyLCAxMTo0NjozNCk6Cn4jISBybj1HdWFyZCBydD0xMDI5ODM2NzQ0IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpEdSBtZWluc3QgZG9jaCBlaGVyIHZvciBFbnR3aWNrbHVuZz8gTmVpbiwgYmlzIGF1ZiBzY2h3ZXJlbiBFaW5icnVjaHNkaWVic3RhaGwKaGlsZnQgZGEgd29obCBuaWNodHMgZ2VnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YmlsZGVyLi4uIChab29rLCAyMC4gQXVnIDIwMDIsIDEyOjA1OjQwKToKfiMhIHJuPVpvb2sgcnQ9MTAyOTgzNTA2OSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3NDExNTcKRGllIGVyc3RlbiBCaWxkIGhhdCBEYXlsaWdodCBlaW5nZXJlaWNodC4uLiA6LSkKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua3NhZ3VuZyAoUm9jaHVzLCAyMC4gQXVnIDIwMDIsIDE2OjUzOjM1KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDI5ODM0MjQ1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTgzNDI0NQpIbW0sIHZpZWxsZWljaHQga29tbWVuIGphIGF1Y2ggZW5kbGljaCBtYWwgbWVociBNdWRkZXJJTk5FTgp6dSBlaW5lciBQYXJ0eSwgd2VubiBzaWUgdm9uIGRlbiBWb3J6dWVnZW4gZWluZXMgbmFjaHRzCmJlbnV0emJhcmVuIFNjaHdpbW1iYWRzIGVyZmFocmVuLCBhYmVyIGRhcyBrYW5uIHdvaGwKamVtYW5kIGFuZGVyZXMgYmVzc2VyIGVya2xhZXJlbiA7LSkKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbmtzYWd1bmcgKEdsb2luc29uLCAyMC4gQXVnIDIwMDIsIDE2OjU1OjU1KToKfiMhIHJuPVJvY2h1cyBydD0xMDI5ODU1MjE1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTgzNDI0NQpPaG5lIGF1ZiBkYXMgRXJrbGFlcmVuIGVpbnp1Z2VoZW4gLSBkYSB3YXJlbiByZWdlbG1hZXNzaWcgendlaSBvYmlzIGRyZWkKTXVkZGVySU5ORU4gbmFjaHRzIG1pdCBpbSBTY2h3aW1tYmFkLiBXZW5uIER1IHNvIHNwYWV0IG1pdGZlaWVyc3QgdW5kIHNvIGZydWVoCnNjaHdhZWNoZWxzdCBrb2VubmVuIHdpciBuaWNodHMgZGFmdWVyLiBEdSBoYWV0dGVzdCBlYmVuIGRvY2ggVml0YS1Db2xhCnRyaW5rZW4gc29sbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHluYWNobGVzZTogU3VjaGUgVWhyIChPcmt0b2V0ZXIsIDIwLiBBdWcgMjAwMiwgMTY6NTY6MDkpOgoKRmFsbHMgamVtYW5kIGVpbmUgZWluZmFjaGUgQ2FzaW9hcm1iYW5kdWhyIGdlZnVuZGVuIGhhYmVuIHNvbGx0ZSwgYml0dGUgZWluZQpNYWlsIGFuIG1pY2ggc2NocmVpYmVuLCBkYW5rZS4KCk9ya3RvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGFua3NhZ3VuZyAoUm9jaHVzLCAyMC4gQXVnIDIwMDIsIDE2OjU4OjI5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjk4NTUzNTUgcmc9cGFydHkKfiMhIHRpZD0xMDI5ODM0MjQ1CkljaCBtZWludGUgZWlnZW50bGljaCBWb3J6dWVnZSBGVUVSIE11ZGRlcmlubmVuLApuaWNodCBWb3J6dWVnZSBERVIgTXVkZGVyaW5uZW4gOi0pCgpSb2NodXMuIEJyaW5ndCBuYWVjaHN0ZXMgbWFsIFRhZmVsbiB6dXIgQmV3ZXJ0dW5nIG1pdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmtzYWd1bmcgKE9ya3RvZXRlciwgMjAuIEF1ZyAyMDAyLCAxNzowMzo1Nik6Cn4jISBybj1Sb2NodXMgcnQ9MTAyOTg1NTUwOSByZz1wYXJ0eQp+IyEgdGlkPTEwMjk4MzQyNDUKRFUgYnJpbmdzdCBXZXJ0dW5nc3RhZmVsbiBtaXQ/CgpTbyB3aWUgZHUgbmFjaCBkZWluZW0gU3BydW5nIGF1c3NhaHN0IHVuZCBkaWNoIHZlcmhhbHRlbiBoYXN0IHNwcmVjaGUgaWNoIGRpcgptYWwgZGllIEJlZmFlaGlndW5nIHp1ciBXZXJ0dW5nIGFiIDopCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua3NhZ3VuZyAoU29sbXlyLCAyMC4gQXVnIDIwMDIsIDE3OjA1OjI0KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDI5ODU1ODM2IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTgzNDI0NQpSb2NodXMgaXN0IGVjaHQgZ2VzcHJ1bmdlbj8gLi4gTWlzdCwgc2Nob24gd2llZGVyIHdhcyB2ZXJwYXNzdCA6KQoKU29sKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua3NhZ3VuZyAoQm9pbmcsIDIwLiBBdWcgMjAwMiwgMTc6MDU6MzApOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMjk4NTU4MzYgcmc9cGFydHkKfiMhIHRpZD0xMDI5ODM0MjQ1CkRVIHNwcmljaHN0IGFuZGVyZW4gZGllIEJlZmFlaGlndW5nIHp1ciBXZXJ0dW5nIGFiPyA6KQpIaWhpIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEYW5rc2FndW5nIChDYXNzYW5kcmEsIDIwLiBBdWcgMjAwMiwgMTc6NTE6NDApOgp+IyEgcm49Um9jaHVzIHJ0PTEwMjk4NTU1MDkgcmc9cGFydHkKfiMhIHRpZD0xMDI5ODM0MjQ1CmZhbGxzIGR1IGRpZSBrbmFja2lnZW4sIHVuYmVrbGVpZGV0ZW4gSGVycmVuIG1laW5zdCwgc29sbHRlc3QgZHUgZGllIEJld2VydHVuZwp1bnMgRnJhdWVuIHVlYmVybGFzc2VuLCB3aXIga29lbm5lbiBkYXMgYmVzc2VyLgoKQ2Fzc3ksIGJlZGFua3Qgc2ljaCBmdWVyIGRhcyBsb2IgdW5kIHdlaXMgZ2FybmljaHQgd2FzIHNpZSBnZXRhbiBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdW5kc2FjaGVuIChDYXNzYW5kcmEsIDIwLiBBdWcgMjAwMiwgMTg6MTQ6NDkpOgpBbHNvIHp1ZXJzdCBtb2VjaHRlIGljaCBtaWNoIGZ1ZXIgZGFzIExvYiBiZWRhbmtlbi4KendlaXRlbnMgaG9mZmUgaWNoIGRhcyBhbGxlIGd1dCBoZWltZ2Vrb21tZW4gc2luZCwgaW5zYmVzb25kZXJlIGRpZSBkaWUgdWViZXIKZGllIEVsYmUgbXVzc3RlbiBiencgZGlyZWt0IG5hY2ggRHJlc2RlbgoKRHJpdHRlbnMgaGFiZW4gc2ljaCBlaW5pZ2UgRnVuZHNhY2hlbiBhbmdlZnVuZGVuLCBkaWUgbm9jaCBuaWNodCB6dWdlb3JkbmV0CndlcmRlbiBrb25udGVuOgoxLiBFaW5lIHNjaHdhcnplIEhlcnJlbiBCYWRlc2hvcnRzCjIuIEVpbiBTY2h3YXJ6ZXIgUmVnZW5zY2hpcm0KMy4gRGVyIERlY2tlbCBlaW5lciBUZXJtb3NrYW5uZQo0LiBFaW5pZ2UgcGxhc3Rpa2JlY2hlcgoKRGFzIGdlc2NoaXJyLCBiZXN0ZWNrIGV0YyB3YXMgaW4gZGVuIEJ1bmdhbG93cyBsaWVnZW5nZWJsaWViZW4gaXN0IGhhYmVuIHdpcgpkb3J0IGdlbGFzc2VuLCBkYSBzaWNoIG5pY2h0IGZlc3RzdGVsbGVuIGxpZXMgd2FzIGRvcnQgc2Nob24gZHJpbiB3YXIgdW5kIHdhcwpuaWNodC4KV2VyIGV0d2FzIHZvbiAxLTQgdmVybWllc3N0IG1lbGRldCBzaWNoIGJpdHRlIGJlaSBtaXIsIGRhbWl0IHdpciBzZWhlbiBrb2VubmVuCndpZXMgenVnZXN0ZWxsdCB3ZXJkZW4ga2Fubi4KCkNhc3N5CmxhbmdzYW0gd2llZGVyIGF1c2dlc2NobGFmZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmtzYWd1bmcgKFJvbmRhLCAyMC4gQXVnIDIwMDIsIDIzOjA2OjE5KToKfiMhIHJuPVJvY2h1cyBydD0xMDI5ODU1NTA5IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTgzNDI0NQpSb2NodXM/IER1IGJld2VydGVzdCBNdWRkZXJJbm5lbiBtaXQgVGFmZWxuPyBJY2ggaGFldHRlIGdlcm4gTm91Z2F0LVRhZmVsbiwKa2FubnN0IER1IGRhcyBlaW5yaWNodGVuPwoKUm9uZGEgKm9obmUgVm9yenVlZ2UuIHVuZCBzY2hvbiBnYXIgb2huZSBOb3VnYXQtVGFmZWxuKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UgRmVpbiAoUm9sYW5kLCAyMC4gQXVnIDIwMDIsIDIzOjUzOjMwKToKSGlIbyAKCkFuIGRpZXNlciBzdGVsbGUgbW9lY2h0ZSBhdWNoIGljaCBub2NobWFsIGJlbWVya2VuIGRhcyBkaWUgUGFydHkgZWluZmFjaApnZW5pYWwgd2FyLgpMZXV0ZSwgVW1nZWJ1bmcgc293aWUgZGFzIFdldHRlciB1bmQgZGllIFN1cGVyIE9yZ2FuaXNhdGlvbiB2b24gQ2FzLgpzb2xsdGVuZGFiZWkgYmVzb25kZXIgZXJ3YWVobnQgd2VyZGVuIQoKQWpvIDEsIDIgc2FjaGVuIG5vY2ggOikKCkRpZSB3ZWdlIGRhIGltIFdhbGQgc2luZCBlY2h0IHZlcndpcnJlbmQgZGllIGhvZXJuIGVpbmZhY2ggYXVmIC4uLiB1bmQgb2JlbgphdWZtIEJlcmcgZGEgd2FyZW4gc292aWVsIGRhIHNvbGx0ZSBtYW4gbWFsIG4gV2Vnd2Vpc2VyIGF1c3RlbGxlbi4gRWNjaHQKdmVyd2lycmVuZC4gVmFuaXIgd2lyZCBkYXMgYmVzdGFldGlnZW4uIDopCgpPZWhtIHVuZCAuLiBqbyBpY2ggd2VpcyBpbW1lcm5vY2ggbmNpaHQgd2VyIGFtIFNhLiBtZWluZW4gRm90b2FwcGFyYXQKbHVzdGlnZXJ3ZWlzZSBtaXQgMTkgYmlsZGVyIHZlcnNlaGVuIGhhdCB3byBpY2ggbnVuIG5pY2h0IHdlaXMgd2FzIGRyYXVmIGlzIDopCmhlaGUgemVpZ3Qgc2ljaCBGcmVpdGFnIQoKVW5kIGJldm9yIGljaHMgdmVyZ2Vzc2UgLi4uIERhbmtlIGF1Y2ggYW4gR25vbWUgLi4uIGRlciBkYSBkYXMgTXVzaWtkaW5nCmJlZGllbnQgaGF0IDopCgpBbHMgZGFubiAuLi4gUm9sYW5kCgpQLlMuOiBGcmV1ZSBtaWNoIHNjaG9uIGF1ZiBkaWUgbmFlY2hzdGUgUGFydHkKUC5TLjI6IEJyb3RuZWFsIGthbm4gZ2FueiB0b2xsIGt1c2NoZWxuIC4uICpmZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSBGZWluIChHcmFsa29yLCAyMS4gQXVnIDIwMDIsIDA4OjQ0OjI2KToKfiMhIHJuPVJvbGFuZCBydD0xMDI5ODgwNDEwIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTg4MDQxMAphbHNvIHdlbm4gaWNoIFdlZ2Jlc2NocmVpYnVuZ2VuIGluIEhhbGxlIG1pdCBkZW4gWnVzYWV0emVuOidPYmVuIGF1ZiBkZW0gQmVyZwphYmJpZWdlbicgYmVrb21tZSBpY2ggaW1tZXIgZWluZSBJbmZvcm1hdGlvbiwgZGFzcyB0cm90eiBkZXMgZmVobGVuZGVuIEJlcmdlcwpkZXIgV2VnIGZpbmRiYXIgd2FyLi4uCk5hamEsIHNlbGJzdCBiZWkgSHVlZ2VsIGtsYXBwdCBkYXMgbmljaHQuLi4KSVJHRU5EV0FTIG1hY2hlIGljaCBmYWxzY2ggOikKCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEYW5rc2FndW5nIChaYXJuaXlhLCAyMS4gQXVnIDIwMDIsIDA4OjU0OjMzKToKfiMhIHJuPUJvaW5nIHJ0PTEwMjk4NTU5MzAgcmc9cGFydHkKfiMhIHRpZD0xMDI5ODM0MjQ1CkRhcyBmaW5kIGljaCBhdWNoIGRlbiBCcnVlbGxlci4uLiBlaHJsaWNoLi4uIHdlbm4gZGFzIHNvIGlzdCwgZGFubiBkYXJmIGljaAphdWNoIGFic3ByZWNoZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWJpbGRlci4uLiAoR3JhbGtvciwgMjEuIEF1ZyAyMDAyLCAxMTo1NjozMyk6Cn4jISBybj1ab29rIHJ0PTEwMjk4Mzc5NDAgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3Ci4uLiBkaWUgZWlnZW50bGljaCBzZWhyIHNjaG9lbiBzaW5kLgpEZXIgZ3JvZXNzdGUgVm9ydGVpbDoKSUNIIGJpbiBuaWNodCBkcmF1ZiA6KQpTb2xjaGUgUGFydHlmb3RvcyBtYWcgaWNoLi4uCgpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVzc2VyIHNwYWV0IGFscyBuaWUgOm8pIChBbGNpbmEsIDIxLiBBdWcgMjAwMiwgMTI6MDE6MzApOgoKRGFua2UgQ2Fzc3kgdW5kIENhcmVuIGZ1ZXIgZGllIHRvbGxlIE9yZ2EsIGRhbmtlIGF1Y2ggYW4gdW5zZXJlbiBDaGF1ZmZldXIKUG93ZXJtYW5uLiBPaG5lIGlobiBoYWV0dGVuIHdpciBkaWUgR2V0cmFlbmtlIGthdW0gaW4gZGVuIEJhdWVybmNsdWIgYmVrb21tZW4KOm8pCgpEYW5rZSBhdWNoIGFuIGRpZSB0b2xsZW4gZnJlaXdpbGxpZ2VuIE5QQ3MuCgpBbGNpbmEgLSBoYXQgZGVuIE5hZWhtYXNjaGluZW5za2lsbCBlcmhvZWh0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXVjaCB2b24gbWlyIGRhbmtlIDopIChDYXJlbiwgMjEuIEF1ZyAyMDAyLCAxNTo0ODo0MCk6CmZ1ZXIgbWljaCB3YXIgZGFzIGVpbiBnZWx1bmdlbmVyIGVpbnN0aWVnIGluIGRhcyBtZy1wYXJ0eWxlYmVuLiB2aWVsZW4gZGFuayBhbgpjYXNzYW5kcmEgKHdlaXNzdCBkdSBpbnp3aXNjaGVuIHdhcyBkdSBnZW1hY2h0IGhhc3Q/IG5pY2h0PyBtZWxkIGRpY2ggYmVpIG1pciwKaWNoIGxpc3RlIGRhcyBnZXJuIG5vY2ggbWFsIGVpbnplbG4gYXVmKSBmdWVyIGRpZSB2aWVsZSBtdWVoZSBkaWUgc28gZWluZSBvcmdhCm1hY2h0LCBhbiBhbGNpbmEgZnVlciBpaHJlIGdlZHVsZGlnZW4gZ2VzcHJhZWNoZSBtaXQgZGVyIG5hZWhtYXNjaGluZSwgYW4gZGllCmhvY2htb3RpdmllcnRlbiB1bmQga3JlYXRpdmVuIG5wY3MgKGRpZSBhbGxlc2FtdCBlaW5mYWNoIG51ciBlbnR6dWVja2VuZAphdXNzYWhlbikgdW5kIGRpZSB3aWxsaWdlbiB0ZWFtcywgZGllIGRpZSBoaXR6ZSBuaWNodCBnZXNjaGV1dCBoYWJlbiA6KQppY2ggZnJldSBtaWNoIHNlaHIgYXVmcyBuYWVjaHN0ZSBtYWwgd2VubnMgd2llZGVyIGhlaXNzdCAnZXggb2RlciBuYXppJyBuaWNodAp3YWhyIGVsYmk/IGFoYWI/CmNhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHliaWxkZXIuLi4gKE11cGZlbCwgMjIuIEF1ZyAyMDAyLCAyMzowMzozMSk6Cn4jISBybj1HcmFsa29yIHJ0PTEwMjk5MjM3OTMgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3ClNlaXQgd2FubiBkZW5uIGRhcz8gOykKCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHliaWxkZXIuLi4gKEdyYWxrb3IsIDIzLiBBdWcgMjAwMiwgMDk6Mjc6MTMpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMzAwNTAyMTEgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3CndlaWwgaWNoIGt1cnpmcmlzdGlnIHp1IEhhdXNlIHp1IHR1biBoYXR0ZS4KQWxzbyBiaW4gaWNoIGVpbiBwYWFyIG1hbCBuYWNoIEFyYmVpdCBkYSBnZXdlc2VuLi4uCkhhdCBzaWNoIGlyZ2VuZHdpZSBhbmdlYm90ZW4uLi4KCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eWJpbGRlci4uLiAoWm9vaywgMjUuIEF1ZyAyMDAyLCAxOToyNTozMyk6Cn4jISBybj1HcmFsa29yIHJ0PTEwMzAwODc2MzMgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3ClVuZCB3aWVkZXIgaGF0IGVzIG5ldWUgQmlsZGVyIGdlZ2ViZW4uLi4gZGllc21hbCB2b24gVHdpbmdpIHVuZCBSb2xhbmQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHliaWxkZXIuLi4gKEVsaXphYmV0aCwgMjUuIEF1ZyAyMDAyLCAxOTozNzoxOCk6Cn4jISBybj1ab29rIHJ0PTEwMzAyOTYzMzMgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3CndlciBpc3QgZGVubiBkYXMgYXVmIGJpbGQwMDEyLkpQRyA/ICprcmF0eioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhcnR5YmlsZGVyLi4uIChab29rLCAyOC4gQXVnIDIwMDIsIDE5OjM2OjM3KToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDMwMjk3MDM4IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpVbmQgc2Nob24gd2llZGVyIGdpYnQgZXMgZWluZSBTYW1tbHVuZyBuZXVlciBCaWxkZXIuIERpZXNtYWwgdm9uIApHbG9pbnNvbi4KCkdydXNzLCBab29rLgoKUFM6IFVuZCBlciBoYXQgbWljaCB0YXRzYWVjaGxpY2ggbWFsIG9obmUgU3RhbmRhcmQtR3JpbnNlbiBlcndpc2NodCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHliaWxkZXIuLi4gKENhZHJhY2gsIDI4LiBBdWcgMjAwMiwgMTk6NDI6NDYpOgp+IyEgcm49Wm9vayBydD0xMDMwNTU2MTk3IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpLb2VubnRlc3QgRHUgbmljaHQgZWluYmF1ZW4sIGRhcyBhdWNoIGF1dG9tYXRpc2llcnQgZGVyIEluZGV4IG1pdApFaW56ZWxiaWxkZXJuIGJlc3RpbW10ZXIgTXVkZGVyIGVyZ2FlbnR6dCB3aXJkPyBRdWFzaSBiZWkgamVkZW0gQmlsZCBkYXMgaW4KZGVyIEJlc2NocmVpYnVuZyBudXIgZWluZW4gU3BpZWxlcm5hbWVuIGVudGhhZWx0PwoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBhcnR5YmlsZGVyLi4uIChab29rLCAyOC4gQXVnIDIwMDIsIDE5OjQzOjE2KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMDU1NjU2NiByZz1wYXJ0eQp+IyEgdGlkPTEwMjk3NDExNTcKT2gsIHNvd2FzIGluIGRlciBBcnQgaXN0IHNjaG9uIGFuZ2VkYWNodCAtIGhhYiBzb2dhciBuZW4gRnJlaXdpbGxpZ2VuLCBkZXIKZGFzIHVlYmVyYXJiZWl0ZW4gbW9lY2h0ZS4gOi0pKSkKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGFydHliaWxkZXIuLi4gKFJvY2h1cywgMjguIEF1ZyAyMDAyLCAxOTo0NTowMSk6Cn4jISBybj1ab29rIHJ0PTEwMzA1NTY1OTYgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3ClNvd2FzIGhhYmUgaWNoIHNjaG9uIGZhc3QgZmVydGlnIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBhcnR5YmlsZGVyLi4uIChQZXJkaXRhLCAyOC4gQXVnIDIwMDIsIDE5OjQ1OjQ1KToKfiMhIHJuPVJvY2h1cyBydD0xMDMwNTU2NzAxIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1Nwp1bmQgd2FubiBrb21tZW4gZW5kbGljaCBtZWluZSBTdGF0aS1CaWxkZXIgZHJhbj8KUGVyZGl0YSBoYXQgaGV1dCBTcGFzcyBhbSBOZXJ2ZW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUGFydHliaWxkZXIuLi4gKFBlcmRpdGEsIDI4LiBBdWcgMjAwMiwgMTk6NDY6NDEpOgp+IyEgcm49Wm9vayBydD0xMDMwNTU2Nzc3IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpQZXJkaXRhIHdhYWFhYWFhYWFhYWFhYWFhaHQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUGFydHliaWxkZXIuLi4gKEVsaXphYmV0aCwgMjguIEF1ZyAyMDAyLCAyMDozODowMyk6Cn4jISBybj1ab29rIHJ0PTEwMzA1NTY3ODMgcmc9c2NobWFycm4KfiMhIHRpZD0xMDI5NzQxMTU3CnNjaG9lbiB1bmQgZ3V0LCBkYXNzIGRpZSBiaWxkZXIgZGEgc2luZCA6KS4uLmFiZXIgdGVpbHdlaXNlIHNpbmQgYmlsZGVyIGZhbHNjaApiZXNjaHJpZnRldCAuLmthbm4gbWFuIGRhcyBub2NobWFsIGJlaGViZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogUGFydHliaWxkZXIuLi4gKEdsb2luc29uLCAyOS4gQXVnIDIwMDIsIDEyOjAzOjE1KToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDMwNTU5ODgzIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpBbHNvLCBub2NobWFsOiBCaXR0ZSBsYXNzIG1pY2gvdW5zIGFuIERlaW5lciBXZWlzaGVpdCB0ZWlsaGFiZW4gdW5kIG1haWxlIG1pcgpfd2VuXyBpY2ggZmFsc2NoIGVya2FubnQgaGFiZS4gRGFzIGljaCBMZXV0ZSB2ZXJ3ZWNoc2xlIHBhc3NpZXJ0IHdhaHJsaWNoIG9mdCwKYWJlciBkZXIgYWxsZWluaWdlIEhpbndlaXMgZGFyYXVmIGRhc3MgaWNoIGVzIGdldGFuIGhhYmUgaGlsZnQgYWxsZW5mYWxscwpEZWluZW0gRWdvIHdlaXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBQYXJ0eWJpbGRlci4uLiAoWm9vaywgMzAuIEF1ZyAyMDAyLCAxMDo1NzozOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMwNjE1Mzk1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpOdW4gc2luZCBhdWNoIGRpZSBCaWxkZXIsIGRpZSBTaGFkZSBhbmdlZmVydGlnIGhhdCwgenUgYmV0cmFjaHRlbi4gVmllbCBTcGFzcyEKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogUGFydHliaWxkZXIuLi4gKEVsaXphYmV0aCwgMzAuIEF1ZyAyMDAyLCAxMzoyMzowMyk6Cn4jISBybj1ab29rIHJ0PTEwMzA2OTc4NTkgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3CnVuZCBhdWNoIGRpZXNlIGJpbGRlciBzaW5kIHRlaWx3ZWlzZSBmYWxzY2ggYmVzY2hyaWViZW4uLndhbiB3ZW4ga2FubiBtYW4gZGEKbWFpbGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFBhcnR5YmlsZGVyLi4uIChFbGJlcmV0LCAzMC4gQXVnIDIwMDIsIDEzOjI2OjUxKToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDMwNzA2NTgzIHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1Nwp2aWVsbGVpY2h0IGVpbmZhY2ggYW4gZGVuIGF1dG9yIGRlciBiaWxkZXI/CgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogUGFydHliaWxkZXIuLi4gKEFtYXJ5bGxpcywgMzAuIEF1ZyAyMDAyLCAxMzoyODowNSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzA3MDY4MTEgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3Ck5vZSwgZGFzIHdhZXJlIHZpZWwgenUgZWluZmFjaCA6LSkKCnNjbnIsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBQYXJ0eWJpbGRlci4uLiAoQXBvbGxvbmlhLCAzMS4gQXVnIDIwMDIsIDE1OjE3OjMyKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDMwNzA2ODg1IHJnPXBhcnR5Cn4jISB0aWQ9MTAyOTc0MTE1NwpEaWUgbWl0IG1laW5lciBLYW1lcmEgZ2VtYWNodGVuIEZvdG9zIGdpYnQncyBqZXR6dCBhdWNoIHp1IHNlaGVuLiAKClVuZCB3ZWhlLCBpY2gga3JpZWcgR3VhcmQgaW4gZGllIEZpbmdlciAqZyoKCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBQYXJ0eWJpbGRlci4uLiAoR3VhcmQsICAxLiBTZXAgMjAwMiwgMTc6NTA6NDYpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMzA3OTk4NTIgcmc9cGFydHkKfiMhIHRpZD0xMDI5NzQxMTU3CmljaCBiaW4gZGFubiB3ZWcgLi4uIFRzY2h1ZXNzaQoKR3VhcmQgKnNjaG9uIG1hbCBkaWUgU2FjaGVuIHBhY2tlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXJuYWNodHJhZy4uLi4gKFpvb2ssIDE4LiBTZXAgMjAwMiwgMjM6MDg6NDIpOgouLi4gdm9uIFBlcmRpdGEuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVyYnVyZyAoQmFtYmksIDIxLiBTZXAgMjAwMiwgMTg6MzI6MDUpOgpIaS4KRGFzIGlzdCBlaW5lIFZvcmFuZnJhZ2UuLi4KV2llIHNpZWh0cyBnZW5lcmVsbCBtaXQgIk5pa29sYXVzLVdvY2hlbmVuZGUiIGluIFdpbnRlcmJ1cmcgYXVzPyBEaXNrdXRpZXJ0CmRhcyB2aWVsbGVpY2h0IG1hbC4KVmllbGxlaWNodCB3dWVyZGUgc2ljaCBkYSB3YXMgb3JnYW5pc2llcmVuIGxhc3Nlbi4gTmVpbiwgaWNoIGhhYmUgbWljaCAobm9jaCkKbmljaHQgYWxzIFBhcnR5b3JnYW5pc2F0b3IgZ2VtZWxkZXQuCkljaCBzY2hsaWVzc2UgZGVmaW5pdGl2IGRhcyBXb2NoZW5lbmRlIDEzLiBiaXMgMTUuIERlemVtYmVyIGF1cy4gKEZhbGxzIG1pY2gKd2VyIG5pY2h0IGRhYmVpaGFiZW4gd2lsbCB1bmQgZ2V3aWxsdCBpc3QsIGRpZSBQYXJ0eSBzZWxic3QgenUgb3JnYW5pc2llcmVuOgpkYXMgd2FlciBkYW5uIGRhcyBpZGVhbGUgRGF0dW0uKQpNZkcsIEJhbWJpLgoKUFMuCkFjaCBuaXguIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZyAoQ2FkcmFjaCwgMjEuIFNlcCAyMDAyLCAxOTowNjo1NSk6Cn4jISBybj1CYW1iaSBydD0xMDMyNjI1OTI1IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpWaWVsbGVpY2h0IGVudHNjaGVpZGVzdCBEdSBEaWNoIGVyc3RtYWwgb2IgRHUgZGFzIG51IG9yZ2FuaXNpZXJlbiB3aWxsc3Qgb2RlcgpuaWNodCB1bmQgd2VubiBEdSBkYXMgd2Vpc3N0LCBrb21tc3RlIGRhbm4gbWl0IG5lbSBnZW5hdWVuIFZvcnNjaGxhZy4KRGllIExldXRlIGF1Znp1Zm9yZGVybiB3dWVzdCBUZXJtaW53dWVuc2NoZSBhYnp1Z2ViZW4gYnJpbmd0IGVoIG5peCwgYW0gRW5kZQptdXNzIGVzIGVoIGRlciBlbnRzY2hlaWRlbiBkZXIgZXMgbWFjaHQuCkVnYWwgd2VyIGVzIG1hY2h0OiBFcyB3YWVyZSBtYWwgZWluZSBlY2h0ZSBVZWJlcnJhc2NodW5nIHdlbm4gRnJlaXRhZ3MgZWlubWFsCm1hbCBuaWNodCBkYXMgQmllciBhdXNnZWhlbiB3dWVyZGUgKGF1cyB3ZWxjaGVtIEdydW5kIGF1Y2ggaW1tZXIpLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcmJ1cmcgKE11cGZlbCwgMjEuIFNlcCAyMDAyLCAxOTowNzozOSk6Cn4jISBybj1CYW1iaSBydD0xMDMyNjI1OTI1IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpOYSBob2VybWFsLiBXZXIgc29sbHRlIERpY2ggbmljaHQgZGFiZWloYWJlbiB3b2xsZW4sIGhtPyAKClRzCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJidXJnIChFbGJlcmV0LCAyMS4gU2VwIDIwMDIsIDE5OjA3OjU5KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMjYyODAxNSByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKd2VubiBIdW1uaSB1bmQgQ2FrZXkgZGFzIG9yZ2FuaXNpZXJlbiwgZGFubiBnYXJhbnRpZXJlIGljaCBkYWZ1ZXIgZGFzcyBkYXMKQmllciBuY2lodCBhdXNnZWh0IDspCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJidXJnIChDYWRyYWNoLCAyMS4gU2VwIDIwMDIsIDE5OjA4OjI1KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzMjYyODA3OSByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKT2sgYW5nZW5vbW1lbi4gSHVtbmkgdW5kIENha2V5IGZvciBQYXJ0eW9yZ2FuaXNhdG9yIQoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ludGVyYnVyZyAoSW1kYSwgMjEuIFNlcCAyMDAyLCAxOToxNDo0OCk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzI2MjgxMDUgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjI1OTI1Ckh1bW5pIHVuZCBDYWtleS4uLiBEYXMgd2lyZCBBYnN0dXJ6IDIwMDIuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2ludGVyYnVyZyAoTXVwZmVsLCAyMS4gU2VwIDIwMDIsIDE5OjE1OjUwKToKfiMhIHJuPUltZGEgcnQ9MTAzMjYyODQ4OCByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKQWJzdHVyei0yMDAyLCBkaWUgR2x1ZWh3ZWluLS9CaWVycGFydHk/IE1pdCBtaW5kLiAyIFByb21pbGxlIChpbSBTY2huaXR0IDspCmZ1ZXIgamVkZW4/IEtsaW5ndCAuLi4gaW50ZXJlc3NhbnQgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaW50ZXJidXJnIChCYW1iaSwgMjEuIFNlcCAyMDAyLCAxOToxODoyOSk6Cn4jISBybj1NdXBmZWwgcnQ9MTAzMjYyODU1MCByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKTmEgc2Nob2VuLCB3ZW5uIGF1c3NlciBDYWRyYWNoIG5pZW1hbmQgd2FzIGdlZ2VuIG1laW5lIEJldGVpbGlndW5nIGhhdCB1bmQKZmFsbHMgaWNoIGFtIE1vbnRhZyBub2NoIEx1c3QgaGFiLCB3YXMgenUgbWFjaGVuLCBkYW5uIHJ1ZiBpY2ggZG9ydCBtYWwgYW4sCndpZXMgbWl0IGRlbSBXRSBkYXZvciBhdXNzaWVodCwgYWxzbyBkZW0gV29jaGVuZW5kZSB2b20gNi4gYmlzIDguIERlemVtYmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2ludGVyYnVyZyAoQ2FkcmFjaCwgMjEuIFNlcCAyMDAyLCAxOToxOTowMik6Cn4jISBybj1CYW1iaSBydD0xMDMyNjI4NzA5IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpJY2ggYmluIGFiZXIgZnVlciBIdW1uaSB1bmQgQ2FrZXkgYWxzIFBhcnR5b3JnYW5pc2F0b3IhIDpvKQoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2ludGVyYnVyZyAoQmFtYmksIDIxLiBTZXAgMjAwMiwgMTk6MTk6NTMpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyNjI4NzQyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpTb2Zlcm4gZGllIGRlbiBWZXJhbnN0YWx0dW5nc29ydCBmaW5kZW4sIGhhYiBpY2gga2VpbiBQcm9ibGVtIGRhbWl0LiBJY2gga2xvcHAKbWljaCBuaWNodCBkcnVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJidXJnIChGcmVpYmllciwgMjEuIFNlcCAyMDAyLCAxOToyODo0MSk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzI2MjgwMTUgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjI1OTI1CnZvciBhbGxlbW4gd2FlcmUgZXMgbWFsIGd1dCwgd2VubiB3aXJrbGljaCBCaWVyIGRhIHdhZXJlIHVuZCBuaWNodCBudXIgTGltbwp3aWUgQml0YnVyZ2VyJkNvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ludGVyYnVyZyAoRWxiZXJldCwgMjEuIFNlcCAyMDAyLCAxOToyOToyOSk6Cn4jISBybj1GcmVpYmllciBydD0xMDMyNjI5MzIxIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQp3YXMgaXN0IGRlbm4gQmllciBmdWVyIERpY2g/CgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXYWhsIDIwMDIgKEZyZWliaWVyLCAyMS4gU2VwIDIwMDIsIDE5OjMxOjE5KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMjYyNzc1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRWluIFJhZGViZXJnZXIhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2FobCAyMDAyIChFbGJlcmV0LCAyMS4gU2VwIDIwMDIsIDE5OjMxOjQ1KToKfiMhIHJuPUZyZWliaWVyIHJ0PTEwMzI2Mjk0Nzkgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjA3Mzg3Cm9oIGdvdHQgZGFzIG5laG0gaWNoIG5jaWh0IG1hbCBmcmVpCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2FobCAyMDAyIChGcmVpYmllciwgMjEuIFNlcCAyMDAyLCAxOTozMzoyMyk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzI2Mjk1MDUgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjA3Mzg3CkR1IGJpc3QgamEgYXVjaCBMaW1vLUZhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFdhaGwgMjAwMiAoR2xvaW5zb24sIDIxLiBTZXAgMjAwMiwgMjA6Mjc6NTYpOgp+IyEgcm49RnJlaWJpZXIgcnQ9MTAzMjYyOTYwMyByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MDczODcKRnJlaWJlcmdlcj8KTmFqYSwgaWNoIG1hY2ggZGFubiBlaCB3aWVkZXIgZGVuIEdsdWVod2VpbiBmdWVyIG1pY2ggaGVpc3MgOikgSGF1cHRzYWNoZQpFdGhhbm9sLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFdhaGwgMjAwMiAoT3JrdG9ldGVyLCAyMS4gU2VwIDIwMDIsIDIwOjQzOjM1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzI2MzI4NzYgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjA3Mzg3Ck5pbW0gZG9jaCBNZXRoYW5vbCwgR2xvaW4qLCBkaWUgZWluZSBDSDItR3J1cHBlIHdpcmQgZGljaCBkb2NoIG5pY2h0IHN0b2VyZW4sCm9kZXI/CgpPcmtULCBmZXJ1bmRsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFdhaGwgMjAwMiAoQ3VjaHVsbGluLCAyMS4gU2VwIDIwMDIsIDIyOjA4OjMyKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDMyNjMzODE1IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYwNzM4NwpTY2hhdSBkb2NoIGVyc3RtYWwsIEJhbWJpLCBvYiBkaWUgbGllYmUgRnJhdSBMaXN0IChWb3JzaWNodCwgbm9tZW4gZXN0IG9tZW4pCnVlYmVyaGF1cHQgbm9jaCBlaW4gRGV6ZW1iZXJ3b2NoZW5lbmRlIGZyZWkgaGF0LiBVbmQgZGFubiBtYWNoIGRpZSBLb3N0ZW4KbWl0IGlociB2b3JoZXIgU0NIUklGVExJQ0ggYXVzIC0gZWluICJ3aWUgaW1tZXIiIGJyaW5ndCBEaWNoIGluIGRpZSBNaWVzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFdhaGwgMjAwMiAoQmFtYmksIDIyLiBTZXAgMjAwMiwgMTI6MzI6MDkpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzI2Mzg5MTIgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjA3Mzg3Ck1pciBpc3QgZGFzIFByb2JsZW0gYmVrYW5udC4gLi4uIEFiZXIgd2VubiBzaWUgc2ljaCBuaWNodCB2b3IgZWluZW0gIkljaCBiaW4KTXVkZGVyIiBlaW5zY2h1ZWNodGVybiBsYWVzc3QsIGthbm4gaWNoIGltbWVyIG5vY2ggZWluICJJY2ggYmluCkdld2FsdHZlcmhlcnJsaWNoZXIiIG5hY2hzY2hpZWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJidXJnIChHbm9tZSwgMjIuIFNlcCAyMDAyLCAxNjo1NDoyMik6Cn4jISBybj1CYW1iaSBydD0xMDMyNjI1OTI1IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQphZWguLi4gZHUgd2lsbHN0IG5pY2h0IGRlbiBvcmdhbmlzYXRvciBtYWNoZW4sIGFiZXIgc2NobGllc3N0IG1hbApnbGVpY2h6ZWl0aWcgZWluIFdFIGF1cy4gaGFiZSBudXIgaWNoIGRhIGpldHp0IHdhcyBuaWNodCByaWNodGlnCnZlcnN0YW5kZW4/CmVudHdlZGVyIG9yZ2FuaXNpZXJlbiB1bmQgYmVzdGltbWVuLCBvZGVyIGhhbHQgbmljaHQuCgp1bmQgYmllci4uLiBqYSwgZGFzIHdhZXJlIG1hbCB0b2xsLiBwaWxzbmVyIHVycXVlbGwgb2RlciBzby4gKnNjaGxlY2sqCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJidXJnIChCYW1iaSwgMjIuIFNlcCAyMDAyLCAyMDoxOToxMik6Cn4jISBybj1Hbm9tZSBydD0xMDMyNzA2NDYyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpOZWluLCBkYXMgaGFzdCBEdSBuaWNodCByaWNodGlnIHZlcnN0YW5kZW4uCkljaCB3ZXJkZSB6dXNhbW1lbiBtaXQgTGFyaW5hIE9yZ2FuaXNhdG9yIG1hY2hlbiwgZmFsbHMgZ2V3aXNzZSBoaWVyIG5pY2h0Cm5hZWhlciB6dSBlcmxhZXV0ZXJuZGUgRnJhZ2VuIHNvIGdla2xhZXJ0IHNpbmQsIHdpZSBpY2ggZGFzIHdpbGwuClRoZW1hIEJpZXI6IEljaCB0cmlua2Uga2VpbiBCaWVyLCBhbHNvIHNvbGx0ZW4genVtIEJlaXNwaWVsIHNvbGNoZSBTYWNoZW4gaGllcgphdXNkaXNrdXRpZXJ0IHdlcmRlbi4gV2VubiBpY2ggQmllciBiZXN0ZWxsZSwgZGFubiBoYXQgZGFzIHNvbnN0IG5pY2h0cyBtaXQKR2VzY2htYWNrIHp1IHR1biwgc29uZGVybiBhbGxlbmZhbGxzIG5vY2ggbWl0IGRlbSBQcmVpcyBwcm8gTGl0ZXIuCldhcnRlbiB3aXIgbWFsIGFiLCBvYiB3aXIgZGFzIHZvcmdlc2VoZW5lIFdvY2hlbmVuZGUgaW0gSGF1cyBiZWtvbW1lbi4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJidXJnIChDdWNodWxsaW4sIDIyLiBTZXAgMjAwMiwgMjA6MjA6MTkpOgp+IyEgcm49QmFtYmkgcnQ9MTAzMjcxODc1MiByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKTmEgZGFua2UuIEhhbHRlIExhcmluYSBCSVRURSByYXVzLCBqYT8gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJidXJnIChDYWRyYWNoLCAyMi4gU2VwIDIwMDIsIDIwOjQxOjUwKToKfiMhIHJuPUJhbWJpIHJ0PTEwMzI3MTg3NTIgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjI1OTI1CkFtIGJlc3RlbiBuaW1tdCBtYW4gQml0YnVyZ2VyLCBkYSBrYW5uIG5hZW1saWNoIGlyZ2VuZHdpZSBuYWhlenUgamVkZXIgbWl0CkxlYmVuLiBBbnNvbnN0ZW4gZmFlbmd0IG1hbiBhbiBtaW5kLiAyLTMgQmllcnNvcnRlbiB2b3JyYWV0aWcgaGFsdGVuIHp1Cm11ZXNzZW4gd2VubiBtYW4gbmV0IGdlbWF1bGUgaG9lcmVuIHdpbGwuCgpDYWQqLCBoZXV0ZSBtYWwga29uc3RydWt0aXYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW50ZXJidXJnIChMYXJpbmEsIDIyLiBTZXAgMjAwMiwgMjE6NDE6MDIpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyNzIwMTEwIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpoYWxsaWhhbGxvIAoKTnVyIGVpbiB6d2VpIFdvcnRlIHZvbiBtaXIuLi4uLi4uLiAKMS4gQ3VjaHVsbGluIDogbmljaHQgYXVmcmVnZW4sIGFiIHVuZCB6dSB3ZWlzcyBpY2ggd2FzIGljaCBtYWNoZSA6LSkgCjIuIENhZHJhY2g6IGFuc3RhdHQgdm9uIEFuZmFuZyBhbiBhdWYgQmFtYmkgcnVtenVoYXVlbiBzb2xsdGVzdCBEdSBmcm9oIHNlaW4sCmRhc3MgZXIgc2ljaCBiZXJlaXQgZXJrbGFlcnQgc2ljaCBuYWNoIFdpbnRlcmJ1cmcgenUgZXJrdW5kaWdlbi4gSWNoIHd1cmRlCnNjaG9uIHZvbiBlaW5pZ2VuIExldXRlbiBhbmdlc3Byb2NoZW4gb2IgaWNoIHdpZWRlciBGZXRlIG1hY2hlLCBhYmVyIHVtIGRhcwphbGxlaW5lIGR1cmNoenV6aWVoZW4gaGFiZSBpY2ggYSkga2VpbmUgTmVydmVuIHVuZCBiKSBrZWluZSBaZWl0IHVuZCBjKSBrZWluZQpMdXN0LiAKQWxzbyBnaWJ0cyBudXIgbmUgRmV0ZSBpbiBXaW50ZXJidXJnIHdlbm4gZGllIHVlYmVyaGF1cHQgWmVpdCBoYWJlbiB1bmQgc2ljaApqZW1hbmQgZmluZGV0IGRlciBlcyBvcmdhbmlzaWVydC4gVW5kIHNvIHdlaXQgaWNoIG1pY2ggZXJpbm5lcm4ga2FubiwgaGF0IHNpY2gKZGEgbm9jaCBuaWUgd2lya2xpY2ggamVtYW5kIGRydW0gZ2VzY2hsYWdlbi4gCgpsaWViZSBHcnVlc3NlCkxhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2ludGVyYnVyZyAoS2FyaW1hLCAyMi4gU2VwIDIwMDIsIDIxOjQzOjA4KToKfiMhIHJuPUxhcmluYSBydD0xMDMyNzIzNjYyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpIdWh1IGlocnMgOykKCkFsc28gaWNoIG1vZWNodCBoaWVyIGVpbmZhY2ggbnVyIG1hbCBzYWdlbiwgZGFzcyBpY2hzIGVpbmZhY2ggbnVyIHRvbGwsIGZpbmRlLApkYXNzIHNpY2ggamVtYW5kIGdlZnVuZGVuIGhhdCwgZGVyIGRhcyBtYWNodCEKCkRhbmtlIHNjaG9ubWFsIGltIFZvcmF1cyBhbiBldWNoICpnKgoKa29rb3JvCkthcmltYSAtIGZyZXV0IHNpY2ggc2Nob24gZHJhdWYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcmJ1cmcgKENhZHJhY2gsIDIzLiBTZXAgMjAwMiwgMTA6MzM6MzQpOgp+IyEgcm49TGFyaW5hIHJ0PTEwMzI3MjM2NjIgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjI1OTI1CkFsc28gbGllYmVzIExhcmluY2hlbiwgbmljaCBnbGVpY2ggc28gYXVmcmVnZW4uIFdlbm4gaWNoIGF1ZiBqZW1hbmQgcnVtaGF1ZW4Kd29sbHRlIHNhZWhlIGRhcyBhbmRlcnMgYXVzLCBpcyBhYmVyIGVpZ2VudGxpY2ggbmljaCBtZWluIHN0aWwuIEljaCBoYWIKaXJnZW5kd2llIGRhcyBHZWZ1ZWhsIGRhcyBEdSBtaXQgZGVtIGZhbHNjaGVuIEZ1c3MgYXVmZ2VzdGFuZGVuIGJpc3QuIEhhYiBkb2NoCmVpZ2VudGxpY2ggbmljaHRzIHdlaXRlciBnZXNhZ3QgYWxzIGRhcyBlciBzaWNoIGVudHNjaGVpZGVuIHNvbGwgb2IgZXIgZXMgbnUKbWFjaHQgdW5kIHdlbm4gamEgZXIgYml0dGUgaW0gQXVnZSBiZWhhbHRlbiBzb2xsIGRhcyBlcyBGcmVpdGFncyBtYWwgZ2VudWcKQmllciBnaWJ0LiBIYWV0dGUgbmljaCBqZWRlc21hbCBlaW5lciBkZXIgQmFjY2h1c2p1ZW5nZXIgbm9jaCAxLTIgS2Flc3RlbiBiaWVyCmRhYmVpIGdlaGFidCwgd2FlciBkYXMgbmFlbWxpY2ggbmljaCBpbW1lciBzbyBnbGltcGZsaWNoIHZlcmxhdWZlbi4KV2VyIG5lIFBhcnR5IHZlcmFuc3RhbHRldCBpcyBtaXIgZWlnZW50bGljaCB6aWVtbGljaCB3dXJzY2h0LCBoYXVwdHNhY2hlIFBhcnR5CnVuZCBuYWNoIE1vZWdsaWNoa2VpdCBub2NoIGdlbnVnIEJpZXIgOm8pCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaW50ZXJidXJnIChDdWNodWxsaW4sIDIzLiBTZXAgMjAwMiwgMTE6MDY6MjUpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyNzcwMDE0IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQphKSBXaW50ZXJidXJnIDIwMDEgPSBEYXMgQmllciBoYWV0dGUgZnVlciBGcmVpdGFnIHVuZCBTYW1zdGFnIGdlcmVpY2h0LiBEYXNzCiAgIHNpY2ggZGVyIHZlcmFudHdvcnRsaWNoZSBaaXZpIGVpbmdlbWF1ZXJ0IGhhdHRlLCB3YXIgdW5zY2hvZW4sIGFiZXIgdm9uCiAgIHVucyBuaWNodCB6dSBhZW5kZXJuLiBIdW1uaSBoYXR0ZSBlcyBqYSB2ZXJzdWNodCwgdW5kIGRhcyBuaWNodCBvaG5lCiAgIFZlaGVtZW56LCBnZWxsPyA6KQoKYikgRXMgd2FyIFNFSFIgV09ITCBnZW51ZyBCaWVyIGRhLCB6dW1pbmRlc3QgYXVzIGRlciAiQmllciBpc3QgQmllciItU2ljaHQKICAgZGVyIE5pY2h0LUJlcnVmc3BhcnR5YmV3dXNzdGxvc3VudGVyZGVudGlzY2gtQWxrb2hvbGlrZXIuIERhc3MgZXMgRGlyCiAgIHVuZCBIdW1uaSB1bmQgSGF1LW1pY2gtYmxhdSBuaWNodCBnZXNjaG1lY2t0IGhhdCwgamEgbWVpbiBKb2YsIGRhcyBpc3QKICAgaW4gZXJzdGVyIExpbmllIGVpbiBQcm9ibGVtIGV1cmVyIEdlc2NobWFja3NuZXJ2ZW4uCgpJY2ggd3VlcmRlIGphIGdlcm4gRElDSCBmcmFnZW4sIG9iIER1IG1pdCBkZW0gZmFsc2NoZW4gRnVzcyBhdWZnZXN0YW5kZW4KYmlzdC4gQWJlciBkYXNzIER1IGVpbiB1ZWJlcmRpbWVuc2lvbmllcnRlcyBpY2gtYmV6b2dlbmVzIFdlbHRiaWxkIGhhc3QKKFphcGhvZCwgYmlzdCBEdSdzPyksIGlzdCBqYSBudW4gd2lya2xpY2gga2VpbmUgTmV1aWdrZWl0LiBXaWUgbW9lY2h0ZXN0CkR1IGluIFp1a3VuZnQgYW5nZXNwcm9jaGVuIHdlcmRlbj8gR3Jvc3NlciBNZWlzdGVyPyBFaHJ3dWVyZGlnZXIgVmF0ZXI/Ck1lc3NpYXM/IEdvdHQ/CgoqbmFyZioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpbnRlcmJ1cmcgKENhc3NhbmRyYSwgMjMuIFNlcCAyMDAyLCAxNTowMToxMyk6Cn4jISBybj1LYXJpbWEgcnQ9MTAzMjcyMzc4OCByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKRGEgc2NobGllc3MgaWNoIG1pY2ggYW4uClBhcnR5IGluIFdpbnRlcmJ1cmcga2xpbmd0IGd1dCwgYWxzbyByYW4gYW4gZGVuIFNwZWNrLCBUZXJtaW4gZmVzdG1hY2hlbiB1bmQKQnJldHQgYXVmc3RlbGxlbgoKQ2Fzc2FuZHJhLCBzaWNoIGF1ZiBkaWUgbmFlY2hzdGUgUGFydHkgZnJldWVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2ludGVyYnVyZyAoU291LCAyMy4gU2VwIDIwMDIsIDE1OjAyOjU2KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDMyNzg2MDczIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpXaW50ZXJidXJnIHdhZXIgZ2VuZWhtLCBpY2ggd2FlciBkYWJlaSEKClNvdSBrYW5uIHNpY2ggZGFubiBkb2NoIGF1ZiBkZW4gV2ludGVyIGZyZXVlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdpbnRlcmJ1cmcgKENhZHJhY2gsIDIzLiBTZXAgMjAwMiwgMTg6MDQ6MTQpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzI3NzE5ODUgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjI1OTI1CkF1Y2ggd2VubiBpY2ggd2Vpc3MgZGFzIHdpciBkaWUgRGlza3Vzc2lvbiBzY2hvbiBtZWhyZmFjaCBoYXR0ZW46CjEuIGRlciBHcnVuZCBfd2VzaGFsYl8gRnJlaXRhZ3MgbmllIGdlbnVnIEJpZXIgZGEgd2FyLCBkZXIgaW50ZXJlc3NpZXJ0IG1pY2gKZWlnZW50bGljaCBnYXIgbmljaHQuIERhIGhhbHRlIGljaCBlcyBtaXQgdW5zZXJtIGFsdGVuIGRpY2tlbjogIkVzIHphZWhsdCBudXIKZGFzIHdhcyBoaW50ZW4gcmF1cyBrb21tdCIgdW5kIGVzIHdhciBkZWZpbml0aXYga2VpbiBCaWVyIGRhIGRhcyBlcnJlaWNoYmFyCndhci4KMi4gSW4gMS4gc3RlY2t0IGJlcmVpdHMgZGllIEF1c3NhZ2UgZGFzIGtlaW4gQmllciBtZWhyIGRhIHdhci4gRGFzIERVIGtlaW5lCkFobnVuZyB2b24gQmllciBoYXN0IHVuZCBkYSBhdWNoIG5vY2ggc3RvbHogZHJhdWYgYmlzdCBkYXMgd2lzc2VuIHdpci4gQWJlcgpBbHQgKHdhciBlcyBnbGF1YiBpY2gpIGlzIG51IHdpcmtsaWNoIGtlaW4gQmllci4KCkVpZ2VudGxpY2ggYmV0cmFjaHRlIGljaCBkYXMgZ2FuemUgZG9jaCBhbHMgcmVjaHQga29uc3RydWt0aXYuCjEsIF92b3JfIGRlciBQYXJ0eSBub2NobWFsIGRhcmF1ZiBoaW56dXdlaXNlbiBkYXMgYml0dGUgYXVmIGplZGVuIEZhbGwgZGFmdWVyCmdlc29yZ3Qgd2lyZCBkYXMgbmljaHQgd2llZGVyIGVpbiBaaXZpIHNpY2ggZWluIG1hdWVydCwgZWluCk1ldGVvcml0ZW5laW5zY2hsYWcgZGFzIEJpZXIgenVtIHZlcmR1bnN0ZW4gYnJpbmd0IG9kZXIgZWluZSBMZWdpb24gZGVyCkZyZW1kZW5sZWdpb24gZGFzIGdhbnplIEJpZXIgYXVzc2FldWZ0LgoyLiBIYWJlIGljaCBtaXQgQml0YnVyZ2VyIGFsbGVuIEJpZXJsYWllbiBkaWUga2VpbmUgQWhudW5nIHZvbiBCaWVyIGhhYmVuCihzb3dhcyB2ZXJ1cnRlaWxlIGljaCBtb3JhbGlzY2ggYXVjaCBnYXIgbmljaHQgLSBpc3QgYWxzbyBuaWNodCB3ZXJ0ZW5kCmdlbWVpbnQpLCBnbGVpY2ggbm9jaCBuZW4gZ3V0ZW4gVGlwIGdlZ2ViZW4gZnVlciBlaW4gQmllciBtaXQgZGVtIHNpY2ggaW4KYWxsZXIgUmVnZWwgZGllIGJyZWl0ZSBNZWhyaGVpdCBhbmZyZXVuZGVuIGthbm4gdW5kIGRhcyBhdWNoIG5vY2ggcmVsYXRpdgpwcmVpc2d1ZW5zdGlnIHp1IGhhYmVuIGlzdC4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdpbnRlcmJ1cmcgKEdsb2luc29uLCAyMy4gU2VwIDIwMDIsIDE4OjE4OjEzKToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMjc5NzA1NCByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKRGVpbmUgTWVpbnVuZyBpbiBhbGxlbiBFaHJlbiwgYWJlciBpbiBkZW4gendlaSBDbHVicyBpbiBkZW5lbiBpY2ggYmlzaGVyCkRpZW5zdCBtYWNodGUgdW5kIG1hY2hlIGlzdCBCaXRidXJnZXIgYWxsZW5mYWxscyB6dW0gQm9kZW53aXNjaGVuIHZlcmthdWZiYXIuClVlYmVyIEJpZXIgbGFlc3N0IHNpY2ggbmljaHQgZ3V0IHN0cmVpdGVuLCBCYW1iaXMgRWluc3RlbGx1bmcgYmlsbGlnICh1bmQKZGFtaXQgc2ljaGVyIGF1cyBkZXIgTmFlaGUpIHp1IGJlemllaGVuIGlzdCBnb2xkcmljaHRpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdpbnRlcmJ1cmcgKEN1Y2h1bGxpbiwgMjMuIFNlcCAyMDAyLCAxODoyMjo1OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMyNzk3ODkzIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpCaXRidXJnZXIgaXN0IGluIEtvbW1pc3Npb24gYmVzdGVsbGJhciB1bmQgd3VyZGUgYXVmIGRlciBsZXR6dGVuIFBhcnR5IGF1Y2gKZ2V0cnVua2VuLiBadW1pbmRlc3Qgdm9uIGRlbiB1ZWJsaWNoZW4gU2NobHVja3NwZWNodGVuLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXaW50ZXJidXJnIChDcm9mdCwgMjMuIFNlcCAyMDAyLCAxODoyNTo1OSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAzMjc5ODE3OSByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKSW4gZGVyIE5vdCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcmJ1cmcgKEJhbWJpLCAyMy4gU2VwIDIwMDIsIDE4OjQ3OjI4KToKQWt0dWVsbGVyIFN0YW5kLi4uCldpciBrb2VubmVuIGRlbiBUZXJtaW4gMjkuIE5vdmVtYmVyIGJpcyAxLiBEZXplbWJlciBoYWJlbi4gRGFzIFdvY2hlbmVuZGUKZGFuYWNoIGlzdCBhdXNnZWJ1Y2h0LiBUaGVvcmV0aXNjaCB3YWVyZSBhdWNoIGRhcyBXb2NoZW5lbmRlIDEzLiBEZXplbWJlcisrCmZyZWksIGFiZXIgZnVlciBkaWVzZXMgV0UgZ2lidCBlcyBrZWluZW4gT3JnYW5pc2F0b3IuCkRpZSByZWluZW4gIlVlYmVybmFjaHR1bmdza29zdGVuIiAoVm9sbHBlbnNpb24pIGxpZWdlbiBiZWkgMzkgRXVybyBmdWVyCkZyZWl0YWcgYmlzIFNvbm50YWcgdW5kIGJlaSAyMiBFdXJvIFNhbXN0YWcrU29ubnRhZy4KRnJlaXRhZ3MgaXN0IGVpbiBBYmVuZGVzc2VuIHZvcmdlc2VoZW4gdW5kIGZvbGdlbmRlIEtvc3RlbiBzaW5kIGhpZXJiZWkgbm9jaApuaWNodCB1bWdlbGVndDoKLSBEaWUga29tcGxldHRlbiBHZXRyYWVua2Vrb3N0ZW4uIChIb2VoZSBiaXNoZXIgdW5iZWthbm50LikKLSBEaWUgS29zdGVuIGZ1ZXIgZGFzIEJyZW5uaG9sejogfjIyLjUwIEV1cm8uCkljaCBzY2hhdSBtYWwsIHdvIGRhcyBQYXJ0eWJyZXR0IHJ1bWxpZWd0IHVuZCB3aWUgZXMgenUgYmVkaWVuZW4gaXN0LiBTb2JhbGQKaWNoIGVpbmVuIGhhbGJ3ZWdzIGZlc3RlbiBHZXNhbXRrb3N0ZW5iZXRyYWcgaGFiZSwgbGFzcyBpY2hzIGF1ZnN0ZWxsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZyAoQ3VjaHVsbGluLCAyMy4gU2VwIDIwMDIsIDE5OjI1OjQwKToKfiMhIHJuPUJhbWJpIHJ0PTEwMzI3OTk2NDggcmc9cGFydHkKfiMhIHRpZD0xMDMyNzk5NjQ4Ck5hdHVlcmxpY2ggdmVybGFuZ3N0IER1IFByZWlzbmFjaGxhc3MsIHNvbGx0ZSBzaWUgdW5zIHdpZWRlciBnZXBmZWZmZXJ0ZXMKV2Fzc2VyIGFscyBUb21hdGVuc3VwcGUgdmVya2F1ZmVuIHdvbGxlbiwgamE/IDspCgpTQ05SLApDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2ludGVyYnVyZyAoQ2FrZXksIDIzLiBTZXAgMjAwMiwgMjA6MTk6MDQpOgp+IyEgcm49Q3JvZnQgcnQ9MTAzMjc5ODM1OSByZz1wYXJ0eQp+IyEgdGlkPTEwMzI2MjU5MjUKTW9pbiwKCnVtIENyb2Z0cyBTYXR6IHp1IHZvbGxlbmRlbjoKLi4uIHRyaW5rdCBkZXIgQ2FrZXkgYXVjaCBCaXRidXJnZXIuCkFiZXIgQ2FkcmFjaCBoYXQgc2Nob24gdm9sbGtvbW1lbiBSZWNodCwgQml0YnVyZ2VyIGRhIHp1IGhhYmVuIGlzdCBrZWluZQpzY2hsZWNodGUgSWRlZSwgQWx0ZXJuYXRpdmVuIGplZG9jaCBzb2xsdGVuIHNjaG9uIHZvcmhhbmRlbiBzZWluLiBXZW5ucyBsb2thbAplaW4gZ3V0ZXMgUGlscyBnaWJ0LCBkYW5uIGJpZXRldCBzaWNoIGRhcyBhbiwgYW5zb25zdGVuIGViZW4gbm9jaCBlaW4gYW5kZXJlcwpkZXIgU3RhbmRhcmRiaWVyZSAoV2VyIHN0ZWxsdCBkZW4gQmllcnNvcnRlbi1XYWhsb21hdCBhdWY/KSB3aWUgS3JvbWJhY2hlciwKUmFkZWJlcmdlciBvZGVyIG1laW5ldHdlZ2VuIGF1Y2ggV2Fyc3RlaW5lci4gRnVlciBkaWUgVW52ZXJiZXNzZXJsaWNoZW4ga2FubgptYW4gZGFubiBqYSBzb2dhciBub2NoIGVpbmVuIEthc3RlbiBBbHQgb2RlciBzbyBoaW5zdGVsbGVuLgpEYXNzIGZ1ZXIgTmljaHRiaWVydHJpbmtlciBlaW4gQmllciB3aWUgZGFzIGFuZGVyZSBzY2htZWNrdCwgaXN0IG1pciBrbGFyIHVuZAp2b2xsa29tbWVuIGVnYWwsIGFiZXIgZGllIExldXRlIHNvbGxlbiBzaWNoIGRhbm4gYml0dGUgbmljaHQgaGluc3RlbGxlbiB1bmQKbWVpbmVuLCBkYXNzIGZ1ZXIgZGllICJCZXJ1ZnNwYXJ0eWJld3Vzc3Rsb3N1bnRlcmRlbnRpc2NoLUFsa29ob2xpa2VyIiBlaW5lCkxhZHVuZyBBbHQgd29obCBFcnNhdHogZ2VudWcgZnVlciBmZWhsZW5kZXMgUGlscyBpc3QuCkljaCBzdGVsbCBtaWNoIGphIGF1Y2ggbmljaHQgaGluIHVuZCBzYWdlOiBIaWVyIHRyaW5rIGRlbiBTYW5ncmlhLCBkZXIKV2Vpc3N3ZWluIGlzdCBncmFkIGFsbGUuCgpDYWtleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFdpbnRlcmJ1cmcgKEdyaW1tYm9ybiwgMjMuIFNlcCAyMDAyLCAyMDoyNDoxNyk6Cn4jISBybj1DYWtleSBydD0xMDMyODA1MTQ0IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpEYW5uIGFiZXIgYml0dGUgYXVjaCBlaW5lIEF1c3dhaGwgdm9uIENvY2EgQ29sYSwgUGVwc2kgdW5kIEFmcmksIGdlbGw/IEthbm4gamEKc2NobGllc3NsaWNoIGtlaW5lbSBQZXBzaS1GYW4genVnZW11dGV0IHdlcmRlbiBtYWwgZWluZW4gQWJlbmQgbGFuZyBBZnJpIHp1CnRyaW5rZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBXaW50ZXJidXJnIChMZWlibml6LCAyMy4gU2VwIDIwMDIsIDIwOjUyOjA5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMyODA1NDU3IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQphbHNvIGljaCBrb21tZSBnYW56IHNpY2hlciB6dXIgcGFydHkgdW5kIG1pciBpc3QgZXMgc29vbyBlZ2FsLCBvYiBmcmVpdGFncwppcmdlbmR3ZWxjaGVzIGJpZXIgZGEgaXN0IDopCgpsZWliaSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBXaW50ZXJidXJnIChXaWxsb3csIDIzLiBTZXAgMjAwMiwgMjA6NTI6NTEpOgp+IyEgcm49TGVpYm5peiBydD0xMDMyODA3MTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpBY2gsIHRyaW5rc3Qgd29obCBlaCBudXIgR2x1ZWh3ZWluLCBvZGVyPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFdpbnRlcmJ1cmcgKExlaWJuaXosIDIzLiBTZXAgMjAwMiwgMjA6NTM6MjcpOgp+IyEgcm49V2lsbG93IHJ0PTEwMzI4MDcxNzEgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjI1OTI1CnpiCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFdpbnRlcmJ1cmcgKEltZGEsIDI0LiBTZXAgMjAwMiwgMDA6NTM6MzIpOgp+IyEgcm49TGVpYm5peiBydD0xMDMyODA3MjA3IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpIbW1tLCBpY2ggd3VlcmQgamEgZmFzdCBzYWdlbiwgaWNoIGJpbiBhdWNoIG1hbCB3aWVkZXIgZGFiZWkuCldpZSBzaWVodHMgZGVubiBhdXMgbWl0IGRlbSBCaWVyIHVuZCBkZXIgU2NodWJrYXJyZSA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogV2ludGVyYnVyZyAoSHVtbmksIDI0LiBTZXAgMjAwMiwgMDk6MTc6MjEpOgp+IyEgcm49SW1kYSBydD0xMDMyODIxNjEyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjYyNTkyNQpQU1NTVCEgRGFzIHdvbGx0ZSBpY2ggdmVyaGluZGVybiwgZGFzcyBzaWNoIGRhcmFuIGplbWFuZCBlcmlubmVydC4uCk1pc3QgTWlzdCBNaXN0Li4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFdpbnRlcmJ1cmcgKEJvaW5nLCAyNC4gU2VwIDIwMDIsIDA5OjM4OjQ2KToKfiMhIHJuPUh1bW5pIHJ0PTEwMzI4NTE4NDEgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjI1OTI1Ck9oLCBpY2ggaGFldHRlIG1pY2ggZGEgd2VubiBlcyBFcm5zdCB3aXJkIGF1Y2ggbm9jaCBkcmFuIGVyaW5uZXJ0LCBIdW1uaS4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFdpbnRlcmJ1cmcgKEh1bW5pLCAyNC4gU2VwIDIwMDIsIDA5OjM5OjI2KToKfiMhIHJuPUJvaW5nIHJ0PTEwMzI4NTMxMjYgcmc9cGFydHkKfiMhIHRpZD0xMDMyNjI1OTI1Ck5hZ3V0LCBpY2ggaGFiJ3MgZ2VzYWd0IHVuZCBzdGVoIGRhenUuIFNpbmQgZGFzIHdpcmtsaWNoIDUwIEtpbG9tZXRlcj8KKnN0b2VobioKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZyAoQWhhYiwgMjQuIFNlcCAyMDAyLCAxMTozNzowNSk6Cn4jISBybj1CYW1iaSBydD0xMDMyNzk5NjQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OApZaWtlcyEgQWxzbyB3ZW5uIGVzIF9pcmdlbmR3aWVfIG1hY2hiYXIgd2FlcmUsIGRhcyBfbmljaHRfIGFuIGdyYWRlIF9kaWVzZW1fCldvY2hlbmVuZGUgenUgb3JnYW5pc2llcmVuLCB3dWVyZGVuIHdpciBzb2dhciBuZSBLaXN0ZSBCaWVyIHZvbiBoaWVyIGF1cwptaXRicmluZ2VuICh3ZW5uIGRhcyBuZSBNb3RpdmF0aW9uIGlzdCAqZyopLiBBbmRlcmVyc2VpdHMgZ2lsdCBkYXNzZWxiZSB3aWUKZnVlciBCYW1iaTogd2VubiBJaHIgdW5zIChhbHNvIGF1Y2ggRHVuc3QpIG5pY2h0IGRhYmVpaGFiZW4gd29sbHQsIGlzdCBfZGFzXwpkYXMgaWRlYWxlIFdvY2hlbmVuZGUgZnVlciBXaW50ZXJidXJnLVBhcnR5Li4uIFdpciBoYWJlbiBuYWVtbGljaCBzY2hvbiBmdWVyCmVpbmUgYW5kZXJlIFZlcmFuc3RhbHR1bmcgZmVzdCB6dWdlc2FndC4gKmJydW1tZWwqCldpciB3dWVyZGVuIGFiZXIgZ2VybmUga29tbWVuLi4uCgpBaG9pLApBaGFiLCBob2ZmZW5kLCBkYXNzIHNpY2ggZGFzIG5vY2ggaXJnZW5kd2llIHVtYmllZ2VuIGxhZXNzdC4uLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVyYnVyZyAoQmFtYmksIDI0LiBTZXAgMjAwMiwgMTE6NTA6MjIpOgp+IyEgcm49QWhhYiBydD0xMDMyODYwMjI1IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OApUZXJtaW5wbGFuIHNpZWh0IHdpZSBmb2xndCBhdXM6CjI5LjA5LSAxLjEyLiBXb2NoZW5lbmRlIHdhZXIgZnJlaSB1bmQgaWNoIGhhYiBkYSBiaXNoZXIgc29uc3QgbmljaHRzIGFuZGVycwp2b3IuCjYuMTItOC4xMjogV2ludGVyYnVyZyBpc3QgYmVsZWd0LgoxMy4xMi0xNS4xMjogSWNoIGhhYiBuZW4gRUgtS3VycyAoenUgaGFsdGVuKSB1bmQgc2FnIHNvd2FzIG5pY2h0IGFiLCB3ZW5uIGljaApyZWNodHplaXRpZyBhbmRlcnMgb3JnYW5pc2llcmVuIGthbm4uIERhcyBXRSB3YWVyIGZyZWkuCjIwLjEyLTIyLjEyOiBEYSBoYWJlIGljaCBtaWNoIG5pY2h0IHNjaGxhdSBnZW1hY2h0LCBvYiBkYSBmcmVpIGlzdCwgYWJlciBpY2gKZ2VoIGRhdm9uIGF1cywgZGFzIGlzdCBkZW4gbWVpc3RlbiBzY2hvbiB6dSBuYWggYW4gV2VpaG5hY2h0ZW4gdW5kIFVybGF1Yi4KCldlaXRlcmUgSW5mb3MuLi4KQWxzbyBtYWwgenVuYWVjaHN0IHp1IGRlbSBQcmVpcy4KSWNoIG11c3MgYWxsZWluZSBmdWVyIFVlYmVybmFjaHR1bmcgdW5kIEVzc2VuIGZ1ZXIgZGFzIGdlc2FtdGUgV0UgMzkgRXVybwp2ZXJsYW5nZW4uIERhYmVpIGlzdCBuaWNodCBlbnRoYWx0ZW4gZGVyIEdldHJhZW5rZWtvbnN1bSBzb3dpZSBkYXMgQnJlbm5ob2x6LgpJY2ggd2FydGUgbm9jaCBhdWYgZGl2ZXJzZSBSdWVja21lbGR1bmdlbiwgd2FzIGRlbiBWZXJicmF1Y2ggbGV0enRlcyBKYWhyCmFuYmVsYW5ndC4gRnJhdSBMaXN0IG1laW50ZSwgd2lyIHNvbGx0ZW4gbWFsIGRlbiBQcmVpcyB2b24gbGV0enRlbSBKYWhyIG5laG1lbgp1bmQgMjAlIGF1ZnNjaGxhZ2VuIC0ibnVyIHp1ciBTaWNoZXJoZWl0Ii4gV2ludGVyYnVyZyBoYXQgYXVjaCBhdWZnZXNjaGxhZ2VuCmdlZ2VudWViZXIgbGV0enRlbSBKYWhyIF91bmRfIGxldHp0ZXMgSmFociBoYWJlbiBkaWUgT3JnYW5pc2F0b3JlbiBWZXJsdXN0CmdlbWFjaHQuIERlbW5hY2ggd2lyZCBlaW4gUGFydHliZWl0cmFnIHVtIDQ1IEV1cm8gd29obCBpbiByZWFsaXN0aXNjaGVuCkJlcmVpY2hlbiBsaWVnZW4uCkZ1ZXIgZGVuIFBhcnR5YmVpdHJhZy4uLgprYW5uIGljaCBuYXR1ZXJsaWNoIG5vY2ggQ2hpcHMgdW5kIHNvIFpldWcga2F1ZmVuLiBEYXMgc2VsYnN0IG1pdHp1YnJpbmdlbgooYWxzbyBhdWYgZWlnZW5lIEtvc3Rlbikgc2VoIGljaCBudXIgYmVkaW5ndCBlaW4uIEljaCBoYWx0ZSBzb3dhcyB3aWUgQmllciB1bmQKR2x1ZWh3ZWluIGZ1ZXIgbm90d2VuZGlnLi4uCldhcyB3aXIgYWxsZXJkaW5ncyBtYWNoZW4ga29lbm5lbiAtIHNvbGx0ZSBldHdhcyB2b20gQmV0cmFnIHVlYnJpZyBibGVpYmVuLQp3YWVyZSBlaW5lICh0ZWlsd2Vpc2U/KSBSdWVja2ZpbmFuemllcnVuZyB2b24gImZ1ZXIgYWxsZSIgbWl0Z2VicmFjaHRlCiJWZXJicmF1Y2hzZ2VnZW5zdGFlbmRlIi4gSWNoIHNjaGF1IG1hbCwgZGFzcyBpY2ggc293YXMgd2llIG5lIExpc3RlIGF1ZmhhZW5nLAppbiBkZW0gc2VsYnN0Z2VicmF0XmheaF5oYWNrZW5lIFJlaHJ1ZWNrZW4sIFJ1bWJvbWJlbiAoUnVta3VnZWxuKSB1c3cuCmVpbmdldHJhZ2VuIHdlcmRlbi4KQmllcjoKSWNoIHdlcmRlIHZpZWxsZWljaHQgMiBTb3J0ZW4gb3JkZXJuLCB2aWVsbGVpY2h0IGF1Y2ggbnVyIGVpbmUuIERhcyB3ZXJkIGljaAptaXIgdmVybXV0bGljaCBtZWhyIG9kZXIgd2VuaWdlciBzcG9udGFuIHVlYmVybGVnZW4uIERhcyBnbGVpY2hlIGdpbHQgZnVlcgpDb2xhLiBFcyB3aXJkIG1pdCBncm9zc2VyIFdhaHJzY2hlaW5saWNoa2VpdCBDb2NhIENvbGEgZ2ViZW4sIGF1Y2ggd2VubiBQZXBzaQpwcmVpc3dlcnRlciBpc3QgKHZvbSBNZW5nZS9QcmVpcy1TdGFuZHB1bmt0IGF1cyBiZXRyYWNodGV0KS4gV2VubiBqZW1hbmQgc28KYWJhcnRpZ2UgU2FjaGVuLCB3aWUgIkJpZXIga2FzdHJpZXJ0IiwgIkJpZXIgZXh0cmEgZHVua2VsIiBvZGVyICJXZWluIHZvbQpGYXNzIiBoYWJlbiB3aWxsLCBzb2xsIGRlcmplbmlnZSBkYXMgdmllbGxlaWNodCBtaXRicmluZ2VuLgpUaGVvcmV0aXNjaCBrb2VubnRlIG1hbiBUYW5uZW56YWVwZmxlIChkYXMgaXN0IGVpbmUgQmllcnNvcnRlKSAiZWluZmxpZWdlbiIsCnNwcmljaCwgaWNoIGJyaW5nIHNpZSBtaXQgZGVtIFZpdG8gbWl0LCBhbGxlcmRpbmdzIGVyaG9laHQgc2ljaCBkZXIKUGFydHliZWl0cmFnIGRhbm4gbm9jaG1hbCwgd2VpbCBpY2ggZGFzIHVubW9lZ2xpY2ggZnJlaSBIYXVzIGxpZWZlcm4ga2Fubi4KT2IgdW5kIHdpZXdlaXQgZGFzIFBhcnR5YnJldHQgc2ljaCBmdWVyIEJhY2t6ZXR0ZWwtRWludHJhZWdlIGVyd2VpdGVybiBsYWVzc3QsCndlaXNzIGljaCBub2NoIG5pY2h0LiBOb3RmYWxscyB3ZXJkZSBpY2ggZWluZXMgbWVpbmVyIFJlaGUgYmVhdWZ0cmFnZW4sIGVpbmUKc29sY2hlIExpc3RlIHp1IGZ1ZWhyZW4uCgpNZkcsIEJhbWJpIC0gUmVocnVlY2tlbm9yZ2FuaXNhdG9yLgpQUzogSWNoIHdlaXNzLCBpY2ggbGVpZXIgaW1tZXIgd2lkZXIgZGFzIGdsZWljaGUgcnVudGVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJidXJnIChHbm9tZSwgMjQuIFNlcCAyMDAyLCAxMjoyNjozMik6Cn4jISBybj1CYW1iaSBydD0xMDMyODYxMDIyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OAppY2ggZmFzc2UgenVzYW1tZW46CmRlciBwYXJ0eWJlaXRyYWcgYmV0cmFlZ3QgbWluZGVzdGVucyA0NSBldXJvLCB3b2JlaSBnZXRyYWVua2UgdW5kCmJyZW5uaG9seiAoZGFzIHNvd2FzIGdlbGQga29zdGV0LCB3dXNzdGUgaWNoIGF1Y2ggbm9jaCBuaWNodC4uLikKbm9jaCBuaWNodCBlbnRoYWx0ZW4gc2luZC4gZnVlciB3YXMgemFobGUgaWNoIGpldHp0IGtuYXBwIDEwMCBtYXJrPwpmdWVyIHp1IGtsZWluZSBiZXR0ZW4sIGZ1ZXIgdW5iZWZyaWVkaWdlbmRlcyBlc3NlbiBvZGVyIGRvY2ggZWhlcgpmdWVyICJ0YW5uZW56YWVwZmxlIi1iaWVyLCB3ZWxjaGVzIGphIG5vY2ggZ2FyIG5pY2h0IGRyaW4KZW50aGFsdGVuIGlzdD8gdW5kIGR1bnN0IHVuZCBhaGFiIGtvZW5uZW4gYXVjaCBuaWNodD8Kb2hqZSwgZGFzIHVlYmVybGVnIGljaCBtaXIgbm9jaG1hbC4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW50ZXJidXJnIChCYW1iaSwgMjQuIFNlcCAyMDAyLCAxMjoyNzo1MCk6Cn4jISBybj1Hbm9tZSBydD0xMDMyODYzMTkyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OApTY2h3YWNoZnVnLgpJbiBkZW4gNDUgRXVybyBpc3QgZGFzIGRhbm4gaG9mZmVudGxpY2ggYWxsZXMgZW50aGFsdGVuIHVuZCBzb2xsdGUKSG9lY2hzdG1hcmtlIHNlaW4uIEFuc29uc3RlbiB3ZXJkIGljaCBuYWVtbGljaCBiZWkgZGVuZW4gYW5ydWZlbiB1bmQgYWJzYWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcmJ1cmcgKENhZHJhY2gsIDI0LiBTZXAgMjAwMiwgMTI6NDM6NTgpOgp+IyEgcm49QmFtYmkgcnQ9MTAzMjg2MzI3MCByZz1wYXJ0eQp+IyEgdGlkPTEwMzI3OTk2NDgKVmllbGxlaWNodCBrYW5uIG1hbiB1ZWJlciBkYXMgRXNzZW4gamEgbWFsIHZlcmhhbmRlbG4uIEZyZWl0YWcgdmVyemljaHRlbiBkaWUKbWVpc3RlbiBmcmVpd2lsbGlnIHVuZCBrb21tZW4gZXJzdCBzcGFldGVyLCBTYW1zdGFnIGdpYnRzIEZydWVoc3R1ZWNrIChvaywgZGFzCmJyYXVjaGVuIHZpZWxlKS4gWnVtIE1pdHRhZ2Vzc2VuIGZhaHJlbiBkZXNvZWZ0ZXJlbiBtZWhyZXJlIGlucyBEb3JmIHdlaWxzCkVzc2VuIGVoIHVuYnJhdWNoYmFyIGlzdCB1bmQgQWJlbmRzIGlzdCBQYXJ0eSBhbmdlc2FndC4gU29ubnRhZ3Mgd2lyZApub3JtYWxlcndlaXNlIGVoIG5pY2ggZ2VmcnVlaHN0dWVja3QgZGEgd2lyIE1pdHRhZ3MgenVtIENoaW5lc2VuIGdlaG4uCkljaCBrb21tZSBhbHNvIGlyZ2VuZHdpZSBhdWYgX2Vpbl8gRnJ1ZWhzdHVlY2sgZGFzIHdpciB3aXJrbGljaCBicmF1Y2hlbiB1bmQKbmljaCBhdWYgZWluIFdvY2hlbmVuZGUgVm9sbHBlbnNpb24sIGRpZSBzY2hsZWNodCB1bmQgdHJvdHpkZW0gbm9jaCB6dSB3ZW5pZwppc3QuIFdlbm4gbWFuIHNpZSBkYXp1IHVlYmVycmVkZXQgYmVrb21tdCwgZHVlcmZ0ZSBkZXIgUHJlaXMgcmVjaHQgX2RldXRsaWNoXwphYmZhbGxlbiAtIGRpZSBiZXJlY2huZW4gZnVlciBzb3dhcyBuYWVtbGljaCBub3JtYWxlcndlaXNlIHJpY2h0aWcgU2Nob3R0ZXIuCgpDYWQqIGhhdCBiaXNoZXIgaW1tZXIgZWlmcmlnIGJlemFobHQsIGFiZXIgc28gZ3V0IHdpZSBuaWUgd2FzIGdlZ2Vzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2ludGVyYnVyZyAoQmFtYmksIDI0LiBTZXAgMjAwMiwgMTc6MzQ6MTgpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyODY0MjM4IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OAoxLiBEYXMgRXNzZW4gd2FyIG5hY2ggQW5zaWNodCBhbmRlcmVyIFBlcnNvbmVuLCBtaXQgZGVuZW4gaWNoIGdlcmVkZXQgaGFiZSwKZ3V0LgoyLiBEaWUgRXJzcGFybmlzIGR1cmNoIEhhbGJwZW5zaW9uIGlzdCBuaWNodCBhbGx6dXZpZWwgaW0gVmVyZ2xlaWNoIHp1ClZvbGxwZW5zaW9uLgozLiBJY2gga2FubiBtaXQgRnJhdSBMaXN0IChpbiBiZWdyZW56dGVtIE1hc3NlKSB2ZXJoYW5kZWxuLCB3YXMgZXMgenUgRXNzZW4KZ2lidC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdpbnRlcmJ1cmcgKENhc3NhbmRyYSwgMjQuIFNlcCAyMDAyLCAxNzo0OTo0NSk6Cn4jISBybj1CYW1iaSBydD0xMDMyODgxNjU4IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OAphbHNvIGljaCBnZWIgY2FkcmFjaCB6d2FyIHVuZ2VybiByZWNodCwgYWJlciBpY2ggZmFuZCBkYXMgZXNzZW4gYXVjaCByZWNodApiZXNjaGVpZGVuLiBXYXMgZGVuIFVtZmFuZyBkZXMgZXNzZW5zIGJldHJpZnQgd3VlcmQgaWNoIGF1Y2ggc2FnZW4gZGFzIEZyZWl0YWcKd2VnZW4gZGVyIHNwYWV0ZW4gYW5yZWlzZSBkZXIgbWVpc3RlbiB1bm5vZXRpZyBpc3Qsc2FtbXN0YWcgZnJ1ZWgga2xhciBhYmVuZHMgCmtvbW10IGRyYXVmIGFuIG9iIGRhcyBkYW5uZGFzIHBhcnR5ZXNzZW4gc2VpbiBzb2xsIG9kZXIgb2JzIGRhcyBleHRyYSBnaWJ0IHdhcwpkaXIgYXJiZWl0IG1hY2hlbiB3dWVyZGUuIFNvbm50YWcgZnJ1ZWhzdHVlY2sgYnJhdWNoZW4gdmVybXV0bGljaCBhdWNoIGRpZQp3ZW5pZ3N0ZW4gd2FlciBhYmVyIG5ldHQuCkRhcyBFcmdlYm5pc3Mgd2FlcmUgendlaW1hbCBmcnVlaHN0dWVjayBlaW5tYWwgYWJlbmRzIGFsc28gaGFsYnBhbnNpb24uCgpDYXNzYW5kcmEKClAuUy5pY2gga29tbSBhdWNoIHdlbm5zIFZvbGxwZW5zaW9uIGlzdCBhdWNoIHdlbm4gaWNoIGRpZSBuaWNodCBhdWZlc3NlIHVuZApkZW4gQWxrb2hvbCBuaWNodCB0cmlua2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdpbnRlcmJ1cmcgKE1vbnRhbnVzLCAyNC4gU2VwIDIwMDIsIDE5OjEzOjQxKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDMyODgyNTg1IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OApVbSBudXIgbWFsIGt1cnogbWVpbmUgMiBHcm9zY2hlbiBkYXp3aXNjaGVuenV3ZXJmZW46CkRhcyBTdGFuZGFyZC1CaWVyIGluIFdpbnRlcmJ1cmcgKmlzdCogQml0YnVyZ2VyLiBEaWUgU3RhbmRhcmQtQ29sYSBpbgpXaW50ZXJidXJnICppc3QqIENvY2EgQ29sYS4KV2VubiBlcyBGcmVpdGFncyBrZWluIEFiZW5kZXNzZW4gZ2FiLCBoYWJlbiBzaWNoIGRpZSBMZXV0ZSBiZXNjaHdlcnQsIHdlaWwgc2llCkh1bmdlciBoYXR0ZW4uIFVuZCBzaW5kIGluIE1hc3NlbiBpbSBTcGFsbGVyIEhvZiBlaW5nZWZhbGxlbi4KVW5kIGljaCBmaW5kZSBlcyB6aWVtbGljaCB1bmVydHJhZWdsaWNoLCBkYXNzIGRpZSBzZWxiZW4gTWllc21hY2hlciB3aWUgaW1tZXIKZ3JhZCB2ZXJzdWNoZW4sIGFuZGVyZW4gZGllIFBhcnR5IGthcHV0dHp1cmVkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQb3J0YWxlIGdlYWVuZGVydD8gKFN0aW5nLCAyNC4gU2VwIDIwMDIsIDIzOjA1OjE5KToKfiMhIHJuPU5penpsIHJ0PTEwMzI4OTYyMjEgcmc9c2VoZXIuZW50d2lja2x1bmcKfiMhIHRpZD0xMDMyNTE3NDQzCkhpCgppY2ggd3VlcmRlIGF1Y2ggZ2VybmUgenVyIFBhcnR5IGtvbW1lbiwgYWJlciBhbiBkZW0gV0Ugdm9tIDI5LjExIGJpcyAxLjEyIGJpbgppY2ggbGVpZGVyIHNjaG9uIGF1ZiBkZXIgU3RhcldhcnMtQ29uIGluIEhhbWJ1cmcuIEJlaSBkZW4gc3BhZXRlcmVuIFRlcm1pbmVuCndhZXJlIGljaCBlZ2FsIHdhbm4gZGFiZWkgOikgVWVicmlnZW5zIGZpbmRlIGljaCBkZW4gUHJlaXMgZWlnZW50bGljaCBvaywKd29iZWkgZGFzIGVpZ2VudGxpY2ggc3Rhcmsgdm9uIGRlciBNZW5nZSBkZXIgTGV1dGUgZGllIGtvbW10IGFiaGFlbmd0Li4uCgpHcnVzcwpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBvcnRhbGUgZ2VhZW5kZXJ0PyAoT3JrdG9ldGVyLCAyNS4gU2VwIDIwMDIsIDE2OjM5OjAyKToKfiMhIHJuPVN0aW5nIHJ0PTEwMzI5MDE1MTkgcmc9cGFydHkKfiMhIHRpZD0xMDMyNTE3NDQzClp1bSBFc3NlbiBhbSBGcmVpdGFnIEFiZW5kOgpXZW5uIG1hbiBlcyB2b3JoZXIgd2VpcywgZGFzIGVzIG5pY2h0cyBnaWJ0LCBrYW5uIG1hbiBzaWNoIGphIGVudHNwcmVjaGVuZApkYXJhdWYgZWluc3RlbGxlbiwgaWNoIGVyaW5uZXJlIG1pY2ggYWxsZXJkaW5ncyBhbiBkYXMgZXJzdGUgbWFsIGluIFdpbnRlcmJ1cmcKdW5kIGRhcyBlcyBkb2NoIHNlaHIgYW5nZW5laG0gd2FyLCBkb3J0IGFtIEZyZWl0YWcgQWJlbmQgbm9jaCBldHdhcyB6dSBFc3NlbgpiZWtvbW1lbiB6dSBoYWJlbiAoZGFtYWxzIHJlY2h0IFNwb250YW4sIFBpenphcGVwZSBtYWNodGUgZXMgbW9lZ2xpY2gpCgpPcmtULCB3b2hsIG5pY2h0IGRhYmVpIHNlaWVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdpbnRlcmJ1cmcgKFN0cm9oYWxtLCAyNS4gU2VwIDIwMDIsIDE2OjQ4OjE5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMzI4ODc2MjEgcmc9cGFydHkKfiMhIHRpZD0xMDMyNzk5NjQ4CkhtbmphLCBhbHNvIDcgQmllciBzaW5kIGJla2FubnRsaWNoIG5lIE1haGx6ZWl0LCB1bmQgaGFiZW4gYW11ZXNhbnRlcmUKTmViZW5lZmZla3RlIGFscyBlaW4gc2NobGljaHRlcyBBYmVuZGVzc2VuLi4uIGZvbGdsaWNoIHNvbGx0ZSBlcyBkb2NoIHZvZWxsaWcKYXVzcmVpY2hlbiwgRnJlaXRhZ3MgYWJlbmRzIDcgRmxhZXNjaGNoZW4gQnJhdXNlIHBybyBodW5ncmlnZXIgUGVyc29uCmFuenViaWV0ZW4gYW5zdGF0dCBlaW5lcyBzY2hub2VkZW4gQWJlbmRlc3NlbnMsIGRhcyBkZW0gR3Jvc3N0ZWlsIGRlcgpWaWVsdHJpbmtlciBzb3dpZXNvIG51ciB1bmVyd3VlbnNjaHRlIEJyb2Vja2NoZW4gYmVpbSBtYWdlbmVudGxlZXJlbmRlbgpQbGF0enNjaGFmZmVuIGZ1ZXIgbmV1ZSBHZXRyYWVua2UgZW50bG9ja3QgOikKCkhhZWxtY2hlbiwgZWJlbmZhbGxzIHBhcnR5aW50ZXJlc3NpZXJ0IHVuZCBuaWNodCB1bmJlZGluZ3QgYXVmIE1haGx6ZWl0ZW4KYW5nZXdpZXNlbiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXaW50ZXJidXJnIChNb250YW51cywgMjUuIFNlcCAyMDAyLCAxNjo1Nzo1MSk6Cn4jISBybj1TdHJvaGFsbSBydD0xMDMyOTY1Mjk5IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OApbIF0gRHUga2VubnN0IGRlbiBVbnRlcnNjaGllZCB6d2lzY2hlbiBWZXJ0cmFlZ2xpY2hrZWl0IHZvbiBBbGtvaG9sIG1pdCB2b2xsZW0KYnp3LiBsZWVyZW0gTWFnZW4uCgotTW9udGFudXMuIFBybyBBYmVuZGVzc2VuLiBQdXR6dCBzZWl0IHNlaW5lciBTdHVkZW50ZW4tIHVuZCBaaXZpemVpdCB1bmdlcm4KZGllIEtvdHplIGFuZGVyZXIgYXVmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdpbnRlcmJ1cmcgKFN0cm9oYWxtLCAyNS4gU2VwIDIwMDIsIDE3OjAyOjExKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMzI5NjU4NzEgcmc9cGFydHkKfiMhIHRpZD0xMDMyNzk5NjQ4Ckdyb3NzZSBVbnRlcnNjaGllZGUgZ2lidHMgZGEgbmV0LCBhdXNzZXIgZGFzcyBtYW4gb2huZSB2b3JhdXNnZWdhbmdlbmVuCkVzc2Vuc2tvbnN1bSBkaWUgQnJvZWNrY2hlbiBiZWltIFB1dHplbiBnZXNwYXJ0IGhhdCA7KQoKSGFlbG1jaGVuLCBoYXQgYmVyZWl0cyBhdXNnaWViaWcgZ2V0ZXN0ZXQgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2ludGVyYnVyZyAoR25vbWUsIDI1LiBTZXAgMjAwMiwgMjI6MDU6NDEpOgp+IyEgcm49U3Ryb2hhbG0gcnQ9MTAzMjk2NTI5OSByZz1wYXJ0eQp+IyEgdGlkPTEwMzI3OTk2NDgKb2hoaC4uLiBzY2hsaWVzc2UgYml0dGUgbmljaHQgdm9uIGRpciBhdWYgYW5kZXJlLiBpY2ggYnJhdWNoZSAyNTAwIGtjYWwvZCwKdW0genUgdWViZXJsZWJlbiB1bmQgNTAwIG1laHIsIHVtIGd1dGUgbGF1bmUgenUgaGFiZW4uIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdpbnRlcmJ1cmcgKEN1Y2h1bGxpbiwgMjUuIFNlcCAyMDAyLCAyMjoyNDozMSk6Cn4jISBybj1Hbm9tZSBydD0xMDMyOTg0MzQxIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMjc5OTY0OApEaWUgcGFzc2lvbmllcnRlbiBCaWVydHJpbmtlciBrb2VubnRlbiBkaWUgZXJuc3RnZW1laW50ZW4gUmF0c2NobGFlZ2UKaGluc2ljaHRsaWNoIEFiZW5kZXNzZW4gcnVoaWcgZXJuc3QgbmVobWVuLiBOaWNodCBudXIgd2VpbCBzaWUgdm9lbGxpZwprb3JyZWt0IHNpbmQsIHNvbmRlcm4gd2VpbCBlYmVuIGRpZSBwYXNzaW9uaWVydGVuIEJpZXJ0cmlua2VyIGluIGFsbGVyClJlZ2VsIGRpZSBzaW5kLCBkaWUgYW0gbmFlY2hzdGVuIE1vcmdlbiAqbmljaHQqIGF1ZnJhZXVtZW4uCgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2ludGVyYnVyZyAoSHVtbmksIDI1LiBTZXAgMjAwMiwgMjI6MjY6NTIpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzI5ODU0NzEgcmc9cGFydHkKfiMhIHRpZD0xMDMyNzk5NjQ4Ck5pY2h0IGltbWVyIDstKQoKQWJlciBpY2ggYmluIHdpcmtsaWNoIGRhZnVlciwgZGFzcyBlcyB3YXMgenUgZXNzZW4gdW5kIHp1IHRyaW5rZW4gZ2lidC4gVW5kCklNSE8gZmFuZCBpY2ggZGllIFNhY2hlbiBpbiBXaW50ZXJidXJnIGdhciBuaWNodCBzY2hsZWNodC4gVW5kIHdlbm5zIHdpcmtsaWNoCnp1IHdlbmlnIHdhciBrYW5ucyBzbyBzY2hsZWNodCBuaWNodCBnZXdlc2VuIHNlaW4sIG9kZXI/CgpIdW1uaSAoZGVyIGJlaSBIdW5nZXIgYWxsZXMgbW9lZ2xpY2hlIGVzc2VuIGthbm4sIHdhcyBrZWluIEZpc2NoIGlzdCkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaGFsZSBzdGF0dCBXaW50ZXJidXJnPyAoR2xvaW5zb24sIDI2LiBTZXAgMjAwMiwgMTc6MTY6MzkpOgpIaSwKIG5hY2hkZW0gaWNoIGxldHp0ZW5zIHZvcmxhdXQgZGF2b24gZXJ6YWVobHQgaGFiZSwgZGFzcyBpbiBUaGFsZSAoSGFyeikKIGVpbmUgZ3Jvc3NlIHVuZCBndXRlIEp1Z2VuZGhlcmJlcmdlIGV4aXN0aWVydCwgaW4gZGVyIGljaCBzY2hvbiBtYWwgZWluCiA4LU1hbm4gV2luemVsdHJlZmZlbiBnZW1hY2h0IGhhYmUsIHd1cmRlIGljaCBhcmcgYmVkcmFlbmd0IGRvY2ggbWFsIGRvcnQKIG5hY2ggS29uZGl0aW9uZW4genUgZnJhZ2VuOgoKIC0gcHJpbnppcGllbGwgc2luZCBkaWUgTGV1dGUgc2VociBhdWZnZXNjaGxvc3NlbiBiaXMgenUgMTAwIExldXRlIHp1CiAgIGVtcGZhbmdlbiAoZWluZW4gREpILUdydXBwZW5hdXN3ZWlzIGthbm4gaWNoIGJlc29yZ2VuKQogLSBUZXJtaW5lIG51cjogMjkuMTEuLTEuMTIuIG9kZXIgZnJ1ZWhlcgogICAobGVpZGVyIGhhYmVuIHNpZSBzY2hvbiBBZHZlbnRzcHJvZ3JhbW1lKQogLSBGcmVpdGFnIGVpbiBrYWx0ZXMgQnVlZmZldCBiaXMgWCBVaHIgaGluenVzdGVsbGVuIGlzdCBtb2VnbGljaAogLSBzaWUgaGFiZW4gZ3Jvc3NlIFJhZXVtbGljaGtlaXRlbiBkaWUgYXVjaCBmcmVpbWFjaGJhciB3YWVyZW4KIC0gYWIgTW9udGFnIGtvZW5udGUgaWNoIG5hY2ggQ2F0ZXJpbmcvR2V0cmFlbmtlIGF1ZiBLb21taXNzaW9uIGFuZnJhZ2VuLAogICBkYW5uIGlzdCBkaWUgQ2hlZmluIGRhIChzaWUgaGFiZW4gZWluZSBlaWdlbmUgQ2FmZXRlcmlhKQogLSBQcmVpc2UgZGlyZWt0IHZvbiBkZXIgV2Vic2VpdGU6CiAgIC0gVm9sbHBlbnNpb24gPSAyMCw0MyBFVVIgKDIgTmFlY2h0ZSBhbHNvIDQxIEVVUikKICAgLSBVZWJlcm5hY2h0dW5nIHVuZCBGcnVlaHN0dWVjayA9IDEzLDUwIEVVUgogLSB6d2VpIENoaW5lc2VuIGV4aXN0aWVyZW4gaW4gRnVzc21hcnNjaHJlaWNod2VpdGUsIEdyb2Vzc2VuIG11ZXNzdGVuIGJlaQogICBkZW4gZ2VrbGFlcnQgd2VyZGVuCgogSXN0IG51ciBzbyBlaW4gQW5nZWJvdCwgZGFzIGlzdCBhdWYgamVkZW4gRmFsbCBlaW4gT3J0LCB3byBtYW4gU2Ftc3RhZ3MKIG5pY2h0IGRyaW4gYmxlaWJ0LiBTZWkgZXMgcGVyIFNlaWxiYWhuIHp1ciBSb3NzdHJhcHBlIG9kZXIgcGVyIHBlZGVzIHp1bQogSGV4ZW50YW56cGxhdHouIFdlbm4gbWFuIFBlY2ggaGF0LCBlcndpc2NodCBlaW5lbiBkZXIgbG9rYWxlIFRldWZlbCA7KQoKIEthbm4gc2VpbiwgaWNoIHJ1ZmUgTW9udGFnIGFuIHVuZCBzaWUgc2FndDogTmVuZSwgYmlzIDUgVWhyIEZlaWVybiB1bmQKIFNhdWZlbiB3b2xsZW4gd2lyIG5pY2h0LiBEYSBmdWVyIGJlbmFubnRlcyBXRSBiaXNoZXIgbnVyIDE1IExldXRlIGdlYnVjaHQKIGhhYmVuIGhhbHRlIGljaCBkYXMgYWJlciBmdWVyIG5pY2h0IHdhaHJzY2hlaW5saWNoLgoKIFdlciBzaWNoIGRpZSB6aWVtbGljaCBhdXNmdWVocmxpY2hlIFNlaXRlIGRlciBKSEIgYW5zY2hhdWVuIHdpbGw6CiBodHRwOi8vd2ViMDEuanVnZW5kaGVyYmVyZ2UuZGUvanVnZW5kaGVyYmVyZ2VuL3RoYWxlLwogCiBWaWVsIFNwYXNzIGJlaW0gRGlza3V0aWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGhhbGUgc3RhdHQgV2ludGVyYnVyZz8gKFZhbmlvbiwgMjYuIFNlcCAyMDAyLCAxNzo1Mjo0NCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMzMDUzMzk5IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQoqSmFtbWVyKiBSYWV1bWxpY2ggdmllbCBiZXNzZXIgZ2VsZWdlbi4gTnVyIGlzdCBkaWVzZXMgV29jaGVuZW5kZSBmdWVyIG1pY2gKYWJlciBsZWlkZXIgc2Nob24gYXVzZ2VidWNodC4gTWlzdHBydWVmdW5nZW4gOigKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChDYXNzYW5kcmEsIDI3LiBTZXAgMjAwMiwgMjA6NTY6NDUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzMwNTU1NjQgcmc9cGFydHkKfiMhIHRpZD0xMDMzMDUzMzk5CkRpZSBwYWdlIGhhYiBpY2ggbWlyIHp3YXIgbm9jaCBuaWNodCBhbmdlc2VoZW4sIGFiZXIgcmFldW1saWNoIHdhZXJzIG1pciBhdWNoCmxpZWJlci4gWmVpdHB1bmt0IHVuZCBQcmVpcyBuZWhtZW4gc2ljaCBuYWNoIGRlbSB3YXMgaWNoIGdlbGVzZW4gaGFiIGphIG5pY2h0CndpcmtsaWNoIHdhcy4KQWxzbyBlaW5pZ3QgZXVjaCB1bmQgZGFubiBuaXggd2llIHBhcnR5LgoKQ2Fzc2FuZHJhCgpQLlMuIGljaCB3ZXJkIHdvaGwga29tbWVuLCBlZ2FsIHdvIG51biBhYmVyIGhleGVucGxhdHoga2xpbmd0IGNvb2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyYWdlIChIYXNpbSwgMjkuIFNlcCAyMDAyLCAxOTo0MTo1Myk6CkF1Y2ggd2VubiBvY2ggZ2xlaWNoIGdlc3RlaW5pZ3Qgd2VyZGUgKmR1Y2sqLCB2aWVsbGVpY2h0IGhhYmUgaWNoIGphIGVpbmZhY2gKZGVuIEFuZmFuZyBkZXIgRGlza3Vzc2lvbiBuaWNodCBtaXRiZWtvbW1lbi4uLgpXTyB6dXIgSG9lbGxlIGlzdCBXaW50ZXJidXJnPz8/Ckhhc2ltLCBoZXV0ZSBnZW9ncmFwaGlzY2ggc2Nod2FjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyYWdlIChBbHBoYSwgMjkuIFNlcCAyMDAyLCAxOTo1NDoyOCk6Cn4jISBybj1IYXNpbSBydD0xMDMzMzIxMzEzIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzMyMTMxMwoKV2ludGVyYnVyZzogLT4gaHR0cDovL3d3dy5tZWluZXN0YWR0LmRlL3dpbnRlcmJ1cmcvaG9tZSA8LQpUaGFsZSAgICAgOiAtPiBodHRwOi8vd3d3Lm1laW5lc3RhZHQuZGUvdGhhbGUvaG9tZSAgICAgIDwtCgpEYW1pdCBhbGxlIHdpc3NlbiB3byBlcyBpcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZSAoRGVlcGJsdWUsIDI5LiBTZXAgMjAwMiwgMTk6NTU6NDIpOgp+IyEgcm49SGFzaW0gcnQ9MTAzMzMyMTMxMyByZz1wYXJ0eQp+IyEgdGlkPTEwMzMzMjEzMTMKSXJnZW5kd28gaW4gZGVyIE5hZWhlIHZvbiBQb3J0YWwgMjQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWhsIHVlYmVyIFBhcnR5b3J0IChNb250YW51cywgMzAuIFNlcCAyMDAyLCAxNjo0NToxOCk6Cn4jISBybj1UaWxseSBydD0xMDMzMjQ1ODAwIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzI0NTgwMApBa3Rpb25pc211cyBpc3QgcHJpbWEsIGFiZXIgdm9lbGxpZyB1bm51ZXR6LgpXZW5uIGVpbiBJbmRpdmlkdXVtLCBuZW5uZW4gd2lyIHNpZS9paG4gUGFydHlvcmdhbmlzYXRvci9pbiAoa3VyejogUE8pLApiZXNjaGxpZXNzdCwgZWluZSBQYXJ0eSBhbnp1YmlldGVuLCBkYW5uIHR1dCBQTyBkYXMuCkRhIGthbm5zdCBkdSBzb3ZpZWwgZHJ1ZWJlciBhYnN0aW1tZW4sIHdpZSBkdSB3aWxsc3QuCkJlc2NobGllc3NlbiAyIFBPcywgZWluZSBQYXJ0eSBhbnp1YmlldGVuLCBkYW5uIGJlc3RlaHQgZGllIE1vZWdsaWNoa2VpdCwgZGFzcwplcyAyIFBhcnRpZXMgZ2lidC4gRGFzIGtvZW5udGUgc29nYXIgenVyIEZvbGdlIGhhYmVuLCBkYXNzIGVzIGVpbmUgQXJ0CiJuYXR1ZXJsaWNoZSBBdXNsZXNlIiBnaWJ0LiBEaWUgZ3V0ZW4gaW5zIEtyb2VwZmNlaG4gKFBhcnR5IDEpLCBkaWUgc2NobGVjaHRlbgppbnMgVG9lcGZjaGVuIChQYXJ0eSAyKS4KV2FzIGphIGdhciBuY2lodCBzY2hsZWNodCB3YWVyZS4KCi1Nb250YW51cyAoZmFuZCBQYXJ0eSAxNWEgbWl0IDI1IExldXRlbiB3ZWl0YXVzIGFuZ2VuZWhtZXIgYWxzIGRpdmVyc2UKR3Jvc3N2ZXJhbnN0YWx0dW5nZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhaGwgdWViZXIgUGFydHlvcnQgKEFscGhhLCAzMC4gU2VwIDIwMDIsIDE2OjQ4OjEzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMzMzOTcxMTggcmc9cGFydHkKfiMhIHRpZD0xMDMzMjQ1ODAwCkR1IHVudGVyc2NoZWlkZXN0IE11ZGRlciBpbiBkaWUgZ3V0ZW4vc2NobGVjaHRlbiwgdW5kIG1laW5zdCwgZGFzcyBudXIgZGllIGRpZQp6dSBkZWluZXIgUGFydGV5IGtvbW1lbiBkaWUgZ3V0ZW4gc2luZD8gU2VociB2ZXJtZXNzZW4uIFNjaG9uIG1hbCBuYWNoZ2VkYWNodCwKZGFzcyBlaW5mYWNoIGF1Y2ggZGllIEZhaHJ0ZGlzdGFueiBuZW4gR3J1bmQgc2VpbiBrb2VubnRlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FobCB1ZWJlciBQYXJ0eW9ydCAoTW9udGFudXMsIDMwLiBTZXAgMjAwMiwgMTY6NTA6NDcpOgp+IyEgcm49QWxwaGEgcnQ9MTAzMzM5NzI5MyByZz1wYXJ0eQp+IyEgdGlkPTEwMzMyNDU4MDAKaWNoIG9yZ2FuaXNpZXJlIGtlaW5lIGRlciBiZWlkZW4gUGFydGllcy4gSW5zb2Zlcm4gYmluIGljaCBkYSBnYW56IG5ldXRyYWwuClZlcm1lc3NlbiBmaW5kZSBpY2ggZXMgaW0gR2VnZW56dWcsIHdlbm4gamVtYW5kLCBkZXIgZGllIFBhcnRpZXMgbmljaHQKb3JnYW5pc2llcnQsIHNpY2ggZGEgZWlubWlzY2h0IHVuZCBhYnN0aW1tZW4gbGFlc3N0LiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhaGwgdWViZXIgUGFydHlvcnQgKEFscGhhLCAzMC4gU2VwIDIwMDIsIDE2OjUyOjM1KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMzMzOTc0NDcgcmc9cGFydHkKfiMhIHRpZD0xMDMzMjQ1ODAwCjIgUGFydGV5IGluIGVpbmVtIE1vbmF0LCBhYmVyIGJlaWRlIG5pY2h0IGFtIGdsZWljaGVuIFRhZyBzaW5kIGRvY2ggc3VwZXIuIFdlcgpudXIgZWluZSBiZXN1Y2hlbiAoa2FubiwgekIgYXVzIGZpbmFuemllbGxlbiBHcnVlbmRlbikgZmFlaHJ0IGhhbHQgenVyCm5hZWNoc3RnZWxlZ2VuZW4sIHVuZCB3ZXIgTHVzdCBoYXQgYmVpZGUgUGFydGV5cyB6dSBiZXN1Y2hlbiwgYmVzdWNodCBiZWlkZS4KV28gZWlnZW50bGljaCBpc3QgZGFzIFByb2JsZW0gZGFiZWk/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYWhsIHVlYmVyIFBhcnR5b3J0IChNYW5kcmFnb24sIDMwLiBTZXAgMjAwMiwgMTY6NTQ6MDkpOgp+IyEgcm49QWxwaGEgcnQ9MTAzMzM5NzU1NSByZz1wYXJ0eQp+IyEgdGlkPTEwMzMyNDU4MDAKRGlza3V0aWVydCBkYXMgZG9jaCBpbiBtZWdhc2NobWFycm4uIERhIGdpYnRzIGF1Y2ggdG9sbGUgUHJlaXNlIHZvbiBDdWNoaXRvbC4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FobCB1ZWJlciBQYXJ0eW9ydCAoRmxhdXJvcywgMzAuIFNlcCAyMDAyLCAxNjo1NDoyOSk6Cn4jISBybj1BbHBoYSBydD0xMDMzMzk3NTU1IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzI0NTgwMApEYXMgUHJvYmxlbSB3aXJkIGRhYmVpIHNlaW4sIGRhc3MgZGllIGVpbmUgUGFydHkgYmVzdWNodCBzZWluIHdpcmQsIHVuZCBkaWUKYW5kZXJlIGVoZXIgbmljaHQuClVuZCB6d2FyIGdhbnogZWluZmFjaCBkZXN3ZWdlbiwgZGEgc2ljaCBkaWUgTXVkZGVyIGFic3ByZWNoZW4gd2VyZGVuIHVuZApoYXVwdHNhZWNobGljaCBlaW5lIGJlc3VjaGVuIHdlcmRlbi4KCkZsYXVyb3MgLSB3aWxsIGRpZSBBa3Rpb24gJ2ZsYXVzY2hlbicgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdhaGwgdWViZXIgUGFydHlvcnQgKENhc3NhbmRyYSwgMzAuIFNlcCAyMDAyLCAxNjo1NTowMyk6Cn4jISBybj1BbHBoYSBydD0xMDMzMzk3NTU1IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzI0NTgwMApXYXMgc2FnZW4gZWlnZW5kbGljaCBkaWUgcG90ZW50aWVsbGVuIE9yZ2FuaXNhdG9yZW4gZGF6dSwgd29sbGVuIGRpZSBhdWYKdGV1ZmVsIGtvbW0gcmF1cyBlaW5lIFBhcnR5IG9yZ2FuaXNpZXJlbiwgb2RlciB3b2xsZW4gZGllIG51ciBlaW5lIGhhYmVuIHVuZApvcmdhbmlzaWVyZW4gaGFsdCBkYW1pdHMgZWluZSBnaWJ0LiBXZW5ucyB6d2VpdGVucyBpc3QgaGFsdGUgaWNoIGRpZQphYnN0aW1tdW5nIHNjaG9uIGZ1ZXIgc2lubnZvbGwuCgpDYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdhaGwgdWViZXIgUGFydHlvcnQgKEdsb2luc29uLCAzMC4gU2VwIDIwMDIsIDE2OjU4OjIyKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDMzMzk3NzAzIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzI0NTgwMApJY2ggaGF0dGUgVGlsbHkgdW0gZGllIFdhaGxtYXNjaGluZSBnZWJldGVuIHVuZCBtaWNoIG1pdCBCYW1iaSB2b3JoZXIKc3luY2hyb25pc2llcnQuIERpZSBNYXNjaGluZSBoZWlzc3QgbmF0dWVybGljaCBuaWNodCBhdXRvbWF0aXNjaCwgZGFzcyBUaGFsZQpYT1IgV0Igc3RhdHRmaW5kZXQsIGFiZXIgZXMgbWFjaHQgZXMgZnVlciB1bnMgYmVpZGUgbGVpY2h0ZXIgbWl0IGRlbiBaYWhsZW4genUKaGFudGllcmVuIHVuZCBnZ2YuICghKSBlaW4gQW5nZWJvdCB3ZWdlbiBEZXNpbnRlcmVzc2UgZGVyIE11ZGRlcnNjaGFmdCBuaWNodApzdGF0dGZpbmRlbiB6dSBsYXNzZW4uIFp1bWluZGVzdCBpY2ggd3VlcmRlIGJlaSBEZXNpbnRlcmVzc2UgVGhhbGUgd29obAphYmJsYXNlbiwgd2VpbCBpY2ggYXVzZHJ1ZWNrbGljaCB3ZWdlbiBlaW5lciBBbHRlcm5hdGl2ZSB6dSBXaW50ZXJidXJnIGdlYmV0ZW4Kd3VyZGUgbWljaCB6dSBrdWVtbWVybiAodW5kIHdlbm4gZGllIEFsdGVybmF0aXZlIGtlaW5lciB3aWxsLCBkYW5uIGxvaG50IGVzCm5pY2h0KS4KU28sIHVuZCBudW4gdmVyc3VjaCBpY2ggbWFsIGRpZSByZXN0bGljaGVuIERhdGVuIHp1IGtsYWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYWhsIHVlYmVyIFBhcnR5b3J0IChNb250YW51cywgMzAuIFNlcCAyMDAyLCAxNjo1OTowMCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAzMzM5NzcwMyByZz1wYXJ0eQp+IyEgdGlkPTEwMzMyNDU4MDAKSWNoIGhhYiBncmFkIGxlaWRlciBhdXMgVmVyc2VoZW4gZGVuIE9yaWdpbmFsYXJ0aWtlbCBnZWxvZXNjaHQuIChtYW4gc29sbHRlCmRhcyBBTGlhcyBmdWVyIGxpZXMgYXJ0aWtlbCBuaWNodCBtaXQgZGVtIGZ1ZXIgbG9lc2NoZSBBcnRpa2VsIHZlcndlY2hzZWxuKQpEYWhlciBoaWVyIG5vY2htYWwgVGlsbHlzIEF1c3NjaHJlaWJ1bmcsIHN0ZWhlIG1hbiBkYXp1LCB3aWUgbWFuIHdvbGxlOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkh1aHUgbGllYmUgTWl0bXVkZGVyIQoKVW0gZGllIERpc2t1c3Npb24gdWViZXIgZGllIE9lcnRsaWNoa2VpdCBkZXIgbmFlY2hzdGVuIFdpbnRlcnBhcnR5IHp1IGVpbmVtCmZydWNodGJhcmVuIEVyZ2VibmlzIGtvbW1lbiB6dSBsYXNzZW4sIHd1cmRlIGluIGRlciBBYmVudGV1cmVyLUdpbGRlIGRpZQpXYWhsbWFzY2hpbmUgenUgZGllc2VtIFRoZW1hIGF1Zmdlc3RlbGx0LgoKRG9ydCBrb2VubmVuIChmYXN0KSBhbGxlIGlocmUgU3RpbW1lIGFiZ2ViZW4sIG1pdGhpbiBlaW5lIHNlaHIgZGVtb2tyYXRpc2NoZQpNb2VnbGljaGtlaXQsIHVtIGhpZXIgenUgZWluZW0gRXJnZWJuaXMgenUga29tbWVuLCB3ZWxjaGVzIHdpcmtsaWNoIGVpbmUKTWVocmhlaXQgcmVwcmFlc2VudGllcnQuCgpCaXR0ZSBudXR6dCBkaWVzZSBHZWxlZ2VuaGVpdC4KCiAtIFRpbGx5IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdhaGwgdWViZXIgUGFydHlvcnQgKEJhbWJpLCAzMC4gU2VwIDIwMDIsIDE3OjI0OjUzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzMzOTc5MDIgcmc9cGFydHkKfiMhIHRpZD0xMDMzMjQ1ODAwCkljaCBzdGltbWUgZGVtIG1hbCB6dSB1bmQgd2VyZGUgZGFzICh6dW1pbmRlc3QgZnVlciBtZWluZW4gUGFydCkKa29ua3JldGlzaWVyZW4uCjEuIEVzIHdpcmQgbnVyIGVpbmUgZGVyIFBhcnRpZXMgZ2ViZW4sIGZhbGxzIGVpbiBlaW5kZXV0aWdlcyBWb3R1bSBmdWVyIFRoYWxlCnNwcmljaHQgb2RlciBHbG9pbnNvbiB0cm90eiBlaW5lcyBlaW5kZXV0aWdlbiBWb3R1bXMgZnVlciBUaGFsZSBvcmdhbmlzaWVydC4KMi4gR2xvaW5zb24gdW5kIGljaCBiaWV0ZW4gamUgZWluZW4gUGFydHlvcnQgYW4sIHdlaWwgZGllIGdlb2dyYXBoaXNjaGUgTGFnZQpzdGFyayBkaWZmZXJpZXJ0LiBPYiB1bmQgd28gZGllIFBhcnR5IHN0YXR0ZmluZGVuIHNvbGwsIHNvbGx0ZSAocmVjaHR6ZWl0aWcpCnVlYmVyIGRpZSBXYWhsbWFzY2hpbmUgZ2VrbGFlcnQgd2VyZGVuLgozLiBEaWUgV2FobG1hc2NoaW5lIGhhdCBuaWNodHMgbWl0IFN5bXBhdGhpZS0gb2RlciBBbnRpcGF0aGllYmVrdW5kdW5nZW4KZ2VnZW51ZWJlciBkZW4gT3JnYW5pc2F0b3JlbiB6dSB0dW4sIHNvbmRlcm4gZGFtaXQsIHdlbGNoZXMgZGVyIGVyd3VlbnNjaHRlcmUKUGFydHlvcnQgaXN0LiBJY2gga2FubiBuaWNodCBnZXdpbm5lbiBvZGVyIHZlcmxpZXJlbiwgZWdhbCB3aWUgZGllICJXYWhsIgphdXNnZWh0LiBadW1pbmRlc3Qgd3VlcmRlIGljaCBkYXMgbmljaHQgc28gYmV6ZWljaG5lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdhaGwgdWViZXIgUGFydHlvcnQgKEJhbWJpLCAzMC4gU2VwIDIwMDIsIDE3OjI3OjQ4KToKfiMhIHJuPUJhbWJpIHJ0PTEwMzMzOTk0OTMgcmc9cGFydHkKfiMhIHRpZD0xMDMzMjQ1ODAwCkljaCBrb3JyaWdpZXJlIG1hbCBlaW5pZ2UgbG9naXNjaGUgRmVobGVyLi4uLgpBbHNvIHp1IDEuIEljaCB3ZXJkZSBrZWluZSBQYXJ0eSBvcmdhbmlzaWVyZW4sIHdlbm4gZGllIE1laHJoZWl0IFRoYWxlCnZvcnppZWh0IF9vZGVyXyBpY2ggd2Vpc3MsIGRhc3MgR2xvaW5zb24gbWl0IGVpbmVyICJHZWdlbnBhcnR5IiBlaW4gbm9jaCBuaWNodApzcGV6aWZpemllcnRlcyBNaW5kZXN0bWFzcyBhbiBJbnRlcmVzc2UgZnVlciBkaWUgUGFydHkgaW4gV2ludGVyYnVyZwpnZWZhZWhyZGV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChHbG9pbnNvbiwgMzAuIFNlcCAyMDAyLCAxODowOTowOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMzMDUzMzk5IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQpOYWVoZXJlIERhdGVuIHp1IFRoYWxlLCBpY2ggaGFiIG1hbCBiZWZyYWd0L2dlZnJhZ3Q6CgpLb3N0ZW46CiAyKjEzLDUwIEV1bGVuIChVZWJlcm5hY2h0dW5nICsgRnJ1ZWhzdHVlY2spKQogMSogNCwtICBFdWxlbiAoQWJlbmRicm90IEZyZWl0YWcpCiAxKjEwLC0gIEV1bGVuIChIb2NobGVpc3R1bmdzYnVlZmZldCBtaXQgTGFjaHMsIEh1aG4sIC4uLiBhbSBTYW1zdGFnKQotLS0tLS0tLQogICA0MSwtICBFdWxlbiByZWluZSBVZWJlcm5hY2h0dW5nIHVuZCBHcnVuZHZlcnNvcmd1bmcgRXNzZW4gcC5QLgoKTWl0dGFnZXNzZW4gU2Ftc3RhZyBpc3QgbmljaHQgZHJpbjoKLSBMdW5jaGJldXRlbCB3YWVyZSAzLDUwCi0gaWNoIGdlaGUgZGF2b24gYXVzLCBkYXNzIGVpbmlnZSB3YW5kZXJuIHdvbGxlbiwgZGVzaGFsYgogIHd1ZXJkZSBpY2ggZGFzIG5pY2h0IGZlc3QgYnVjaGVuIHNvbmRlcm4gamVkZW0gdWViZXJsYXNzZW4KCkJpZXI6CiBWZXJrYXVmIGltIEhhdXM6IAogLSBCaWVyIDEsNTA6IEtvZXN0cml0emVyLCBDbGF1c3RoYWxlciwgS3Jvc3RpdHplciwgSGFzc2Vyb2VkZXIsIEVyZGluZ2VyCiAtIE5pY2h0YWxrb2hvbGlrYSwgLi4uCiBWZXJrYXVmIGluIEtvbW1pc3Npb24gaXN0IG1vZWdsaWNoOgogLSB3aXIgbXVlc3NlbiB1bnMgKG5hdHVlcmxpY2gpIHNlbGJzdCBrdWVtbWVybgogLSBkaWUgQ2hlZmluIHd1ZXJkZSBlcyAidWViZXJsZWJlbiIgKE8tVG9uKQogClBhcnR5dWhyemVpdGVuOgogLSBkYSB3aXIgdW5zIG51ciBzZWxiZXIgInN0b2VyZW4iIGhhdCBzaWUga2VpbiBQcm9ibGVtIG1pdCBsYWVuZ2VyZW0KICAgV2FjaGJsZWliZW4gKEVyZGdlc2Nob3NzOiBQYXJ0eSwgMS4gRXRhZ2U6IHZvbiB1bnMgYXVzZ2VidWNodCkKCkNoaW5lc2U6CiAtIGVzIGdpYnQgZWluZW4gbWl0IDE1MCBQbGFldHplbiBpbSBPcnQsIDEwLC0gRXVsZW4gcC5QLiBCdWVmZmV0CiAtIGNhLiBNaXR0ZSBkZXIgU3RhZHQgKGhhbGJlIFN0dW5kZSB6dSBGdXNzKQoKQnVjaHVuZ3NtYWVzc2lnIGlzdCBkYXMgYWxsZXMga2VpbiBQcm9ibGVtLCBkYXMgaXN0IGRhcyBXb2NoZW5lbmRlIHZvciBkZXIKV2ludGVyc2Fpc29uIHVuZCBhdWZncnVuZCBpcmdlbmR3ZWxjaGVyIEJhdW1hc3NuYWhtZW4ga29lbm5lbiBzaWUgbmljaHQgZGVuCmRhZnVlciBpbnRlcmVzc2FudGVuIEJlcmVpY2ggdmVybWlldGVuLiBBdWYgQW5mcmFnZSBiZXRyZWZmZW4gZGllIEJhdW1hc3MtCm5haG1lbiBuaWNodCBkZW4gZnVlciB1bnMgbnVldHpsaWNoZW4gQmVyZWljaC4KClZvbiBkZW4gS29zdGVuIGZ1ZXIgQmllciBoYWIgaWNoIGVocmxpY2ggTlVMTCBBaG51bmcsIGRhIHdlcmRlIGljaCBlaW5lbiBkZXIKYmlzaGVyaWdlbiBQYXJ0eXJlZ2VubWFjaGVyZ3VydXMgenUgYmVmcmFnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChEZWVwYmx1ZSwgMzAuIFNlcCAyMDAyLCAxOTozMTo1MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMzNDAyMTQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQpIbSwgZ3V0ZXMgQmllciBoYWJlbiBkaWUgamEsIGFiZXIgMSw1IEV1bGVuIHBybyBGbGFzY2hlIGlzdCBkZXIgZHJlaWZhY2hlCkxhZGVucHJlaXMuIERhIHNvbGx0ZW4gd2lyIGRvY2ggYW5kZXJ3ZWl0aWcgYmVzY2hhZmZlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChNb250YW51cywgIDEuIE9rdCAyMDAyLCAwMTozNjo1OSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDMzNDA3MTEwIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQpEYXMgUHJvYmxlbSBtaXQgZGVuIG1laXN0ZW4gREpIcyB1bmQgTkZIcyBpc3QsIGRhc3MgaW4gZGVyZW4gUHJlaXNnZXN0YWx0dW5nCmJlcmVpdHMgZWluZ2VyZWNobmV0IGlzdCwgZGFzcyBHZXRyYWVua2Ugdm9tIEhhdXMgenVtIEZlc3RwcmVpcyBiZXpvZ2VuIHdlcmRlbgptdWVzc2VuLgpGcmFnIG1pY2ggbmljaHQsIGF1ZiB3aWV2aWVsZW4gRmFjaHNjaGFmdHNmcmVpemVpdGVuIHdpciBzY2hvbiBCaWVyIHNjaG11Z2dlbG4KbXVzc2V0bi9BZXJnZXIgbWl0IEhlcmJlcmdzZWx0ZXJuIGJla29tbWVuIGhhYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUaGFsZSBzdGF0dCBXaW50ZXJidXJnPyAoRGVlcGJsdWUsICAxLiBPa3QgMjAwMiwgMDg6Mzc6NTgpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAzMzQyOTAxOSByZz1wYXJ0eQp+IyEgdGlkPTEwMzMwNTMzOTkKQmVpIGtsZWluZXJlbiBWZXJhbnN0YWx0dW5nZW4gYnp3LiBub3JtYWxlbiBCZXN1Y2hlcm4gaXN0IGRhcyBhdWNoIGdhbnoKbm9ybWFsLiBBYmVyIHdlbm4gbWFuIGRlbiBnYW56ZW4gTGFkZW4gYXVzYnVjaHQgdW5kIGRhenUgMTAtMjAgS2Flc3RlbiBCaWVyCnNjaG9uIG1hbCBwYXVzY2hhbCBhYm5pbW10IHNvbGx0ZW4gZGllIG5lbiBlbnRzcHJlY2hlbmRlbiBTcGllbHJhdW0gaGFiZW4sIHVtCmRlbiBMZXV0ZW4gZW50Z2VnZW56dWtvbW1lbi4KRGFzIHNpZSBlcyBrb21wbGV0dCB6dW0gRWlua2F1ZnNwcmVpcyB3ZWl0ZXJ2ZXJrYXVmZW4gdmVybGFuZ3QgamEga2VpbmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGhhbGUgc3RhdHQgV2ludGVyYnVyZz8gKFN0cm9oYWxtLCAgMS4gT2t0IDIwMDIsIDEwOjIyOjM4KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMzM0NTQyNzggcmc9cGFydHkKfiMhIHRpZD0xMDMzMDUzMzk5CkxpZWJlciBiaWxsaWdlcyBCaWVyIGFscyBiaWxsaWdlcyBFc3Nlbi4uLiBNYW1wZmtyYW1zIGxhZXNzdCBzaWNoIGxlaWNodGVyIGluCm5lIEhlcmJlcmdlIGltcG9ydGllcmVuIGFscyAzIEthZXN0ZW4gQmllci4uIHVuZCBzZWxic3QgZWluIGVudGdlZ2Vua29tbWVuZGVzCkFuZ2Vib3Qgd2lyZCB3b2hsIG5lYnN0IEFuZmFocnRza29zdGVuIGJlaSBTdGFuZGFyZGJpZXJrb25zdW1lbnRlbiBzY2h3ZXIgYXVmCmRlbiBHZWxkYmV1dGVsIGRydWVja2VuLCBkYSBiZWkgZWluZW4gRWluemVscHJlaXMgdm9uIDEsNTAgcHJvIEZsYWVzY2hjaGVuCnNlbGJzdCBtaXQgZ3Jvc3N6dWVnaWdlbSBSYWJhdHQgaG9ycmVuZGUgS29zdGVuIGFuZmFsbGVuIGtvZW5udGVuLgoKSGFlbG1jaGVuLCB0cmlua3QgZWggbGllYmVyIFdvZGthIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYWhsIHVlYmVyIFBhcnR5b3J0IChUaWxseSwgIDEuIE9rdCAyMDAyLCAxODo0MTowMik6Cn4jISBybj1Nb250YW51cyBydD0xMDMzMzk3OTQwIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzI0NTgwMApIYWxsbyBNaXRtdWRkZXIsCgptaXR0bGVyd2VpbGUgaGFiZW4gc2ljaCA1NSBMZXV0ZSBhbiBkZXIgV2FobCBiZXRlaWxpZ3QuCgpJY2ggd2VyZGUgZGllIFdhaGwgbm9jaCBiaXMgbW9yZ2VuIEFiZW5kIFB1bmt0IE1pdHRlci0KbmFjaHQgbGF1ZmVuIGxhc3Nlbi4gV2VyIGJpcyBkYWhpbiBzZWluZSBTdGltbWUgYWVuZGVybgptb2VjaHRlIG9kZXIgdWViZXJoYXVwdCBhYnN0aW1tZW4gd2lsbCwgYmVnZWJlIHNpY2gKYml0dGUgaW4gZGllIEFiZW50ZXVyZXItR2lsZGUuCgogLSBUaWxseSAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChHbG9pbnNvbiwgIDEuIE9rdCAyMDAyLCAxOToxNzoxOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMzNDAyMTQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQogTGV0enRlIE5hY2hyaWNodGVuIGF1cyBIYXJ6aXN0YW4uIEljaCBoYWIgbWljaCBpbnRlbnNpdiB1bSBkaWUgR2V0cmFlbmtlLQogZnJhZ2UgYmVtdWVodCwgbGVpZGVyIG9obmUgcmVjaHRlbiBFcmZvbGcgKHdhcyBtZWluZSBFcndhcnR1bmdlbiBiZXRyaWZmdCkuCiBFcyBnaWJ0IGtlaW5lbiBMYWRlbiwgZGVyIHVucyBhbmxpZWZlcm4gd3VlcmRlIHVuZCBkaWUgTGV1dGUgZGVyIEpIIAogbW9lY2h0ZW4gZGllIEVudHNvcmd1bmcgZGVyIE1laHJ3ZWdmbGFzY2hlbiBuaWNodCB1ZWJlcm5laG1lbi4KIAogTWVpbiBBbnNhdHogd2FlcmU6CiAtIFJlcXVpcmllcmVuIGVpbmVzIEF1dG9zIG5lYnN0IEF1dG9mYWhyZXJzIFNhbXN0YWcgVm9ybWl0dGFnCiAtIFNvZnRkcmlua3MvR2x1ZWh3ZWluIChLdWVjaGUgaXN0IGtlaW4gUHJvYmxlbSk6CiAgIC0gcGF1c2NoYWxlciBBbmthdWYgaW4gRWlud2VncGFja3VuZ2VuIHZvbiBFZGVrYS9HZXRyYWVua2VxdWVsbGUKICAtIEJpZXIgWE9SOgogICAtIDEuIFNlbGJzdHZlcnNvcmd1bmcgKHVuc296aWFsLCBrZWluZSBLb3N0ZW52ZXJ0ZWlsdW5nKQogICAtIDIuIHBhdXNjaGFsZXIgQW5rYXVmLCBfTWl0bmFobWUgZGVyIEthZXN0ZW4gZHVyY2ggbWVocmVyZSBMZXV0ZV8KCiBJY2ggd3VlcmRlIFZhcmlhbnRlIDIgZnVlciBkYXMgQmllciBiZXZvcnp1Z2VuLCBkYXMgbWFjaHQgZGFubiB6d2FyIGFsbGVzIAogZXR3YXMgbWVociBNdWVoZSBtaXQgZGVtIEdlbGQgd2VnZW4gZGVzIFBmYW5kZXMsIGlzdCBhYmVyIGhhbHQgZGllIHVlYmxpY2hlIAogc296aWFsLWZpbmFuemllcnRlIEFsa29ob2xpa2VyLVZhcmlhbnRlLiBJbSBGYWxsIGRlcyBGYWxsZXMgd3VlcmRlIGljaAogQmllcmthc3Rlbm1pdG5laG13aWxsaWdlIHZvcmhlciBzYW1tZWxuLgoKIFdhcyBpY2ggYXVmIGplZGVuIEZhbGwgYnJhdWNoZW4gd3VlcmRlIHdhZXJlIFphaGxlbiB1ZWJlciBkZW4gaW0tU2Nobml0dC0KIFZlcmJyYXVjaCB2b24gYmlzaGVyaWdlbiBQYXJ0aWVzLiBCZXJsaW4gJzk2IHNhZ3QgZXR3YXMgdm9uIDFsIEJpZXIgZGllCiBOYXNlIHVuZCAybCBTb2Z0ZHJpbmtzIGRpZSBOYXNlLgoKIERpZSBGcmFnZSBkZXIgUmVzdGF1cmF0aW9uZW4gaW4gVGhhbGUgd3VyZGUgYW5nZXNwcm9jaGVuIC0gZGllIFRvdXJpc3QtSW5mbwogZ2lidCBmdWVyIGRhcyBNaXR0YWdlc3NlbiBkaXJla3QgaW4gVGhhbGUgNysxIE1vZWdsaWNoa2VpdGVuIGhlciwgc2llaGUKIGF1Y2ggaHR0cDovL3d3dy50aGFsZS5kZS4KCiBJbnp3aXNjaGVuIGhhYmUgaWNoIGF1Y2ggZWluZSBuZXR0ZSBLYXJ0ZSBlbnRkZWNrdDoKIGh0dHA6Ly93d3cudGhhbGUuZGUvaW1hZ2VzL1RoYWxlLUthcnRlX2dpdHRlci5zd2YKIC0gSnVnZW5kaGVyYmVyZ2U6IDZFLCBkaXJla3QgYW0gUGZlaWwKIC0gQ2hpbmVzZTogQzIsIGV0d2EgcmVjaHRzIG9iZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdhaGwgdWViZXIgUGFydHlvcnQgKEdsb2luc29uLCAgMS4gT2t0IDIwMDIsIDE5OjE4OjEyKToKfiMhIHJuPVRpbGx5IHJ0PTEwMzM0OTA0NjIgcmc9cGFydHkKfiMhIHRpZD0xMDMzMjQ1ODAwCkJpcyBTYW1zdGFnIHdhZXIgbWlyIGF1ZmdydW5kIGRlciBqZXR6dCBlcnN0IGtvbXBsZXR0ZW4gRmFrdGVuIGxpZWJlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnQtc2hpcnQgKEtla3MsICAzLiBPa3QgMjAwMiwgMTY6MDE6MjIpOgpBbHNvIC0gbmFjaGRlbSBCYW1iaSBqZW1hbmRlbiBnZXN1Y2h0IGhhdHRlLCBkZXIgbWFsZW4ga2FubiAtIHVuZCBpY2gKenVmYWVsbGlnIHVlYmVyIGVpbmUgZ2FuemUgTWVuZ2Ugc29sY2hlciBMZXV0ZSB2ZXJmdWVnZSwgaGFiZSBpY2ggbWFsIGRlbgpBdWZ0cmFnIGVydGVpbHQsIGVpbiBNb3RpdiB6dSBlbnR3ZXJmZW4uLi4gRGFzIEVyZ2VibmlzIChpc3QgbGVpZGVyIGF1ZiBBMyB1bmQKbWVpbiBTY2FubmVyIGlzdCB6dSBrbGVpbiAtIHVuZCB1ZWJlcmhhdXB0Li4uIGRpZSBRdWFsaXRhZXQgaXMgaGFsdApTY2hlaXNzZS4uLikga2FubiBtYW4gc2ljaCBrdXJ6ZSBaZWl0IHVudGVyCmh0dHA6Ly93d3cubWFsZXJzY2h1bGUtYmFkZW4uYWMuYXQvTGVocmVyL0tla3MvS2Vrcy5odG1sCmFuc2VoZW4uLi4gKCpsYWNoKiBzbywgamV0enQgaGFiIGljaCBFTlRFUiBnZWRydWVja3QgdW5kIGthbm4gdmVybXV0bGljaCBkZW4KYmxvZWRlbiBhcnRpa2VsIG5vY2htYWwgbG9lc2NoZW4gdW5kIG5ldSBtYWNoZW4uLi4pICprZWtzIC0gdW5mYWVoaWcgd2llCmltbWVyKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHQtc2hpcnQgKEtla3MsICAzLiBPa3QgMjAwMiwgMTY6MDU6MzEpOgp+IyEgcm49S2VrcyBydD0xMDMzNjUzNjgyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzY1MzY4MgpPaCAtIHZlcmdlc3NlbiAoZXJzdGVucyBpc3QgZGVyIGVyc3RlIEFydGlrZWwgZnVlciBtZWluZSBWZXJoYWVsdG5pc3NlIGdhbnoKZ3V0IGdld29yZGVuICp6d2lua2VyKikgdW5kIHp3ZWl0ZW5zIGhhbmRlbHQgZXMgc2ljaCBibG9zcyB1bSBlaW5lbiBFTlRXVVJGISEhCiprZWtzIC0gaGFldHRlIGdlcm4gbmVuIEtvbW1lbnRhciB1bmQgZWluZSBBbndlaXN1bmcsIG9iIGRhcyBNYWVkY2hlbiBkZW4KRW50d3VyZiBhdXNhcmJlaXRlbiBzb2xsISEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUaGFsZSBzdGF0dCBXaW50ZXJidXJnPyAoR2xvaW5zb24sICA1LiBPa3QgMjAwMiwgMTE6Mjg6MDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzMzQ5MjYzOSByZz1wYXJ0eQp+IyEgdGlkPTEwMzMwNTMzOTkKIERhcyBleGFrdGUgV2FobGVyZ2VibmlzIGthbm4gd29obCBlcnN0IGVpbiBFTSBiZWthbm50Z2ViZW4sIGFiZXIgQmFtYmkKIGhhdCBtaWNoIGRhcnVlYmVyIGluZm9ybWFpZXJ0LCBkYXNzIGRhcyBFcmdlYm5pcyBiZWkgZXR3YSAyOjEgZnVlciBUaGFsZQogbGllZ3QgdW5kIGVyIGRlc2hhbGIgV2ludGVyYnVyZyBpbiBkaWVzZW0gSmFociBzdG9ybmllcnQuCgogSWNoIHdlcmRlIGluIGRlbiBuYWVjaHN0ZW4gcGFhciBUYWdlbiBlaW4gUGFydHlicmV0dCBhdWZzdGVsbGVuIGxhc3NlbiwKIGRhbWl0IGlociBldWNoIGZ1ZXIgZGFzIFdFIHZvbSAyOS4gTm92IGJpcyAxLiBEZXogaW4gVGhhbGUgYW5tZWxkZW4KIGtvZW5udC4KCiBadSBkZW4gNDEgRXVsZW4gZml4ZW4gS29zdGVuIHdlcmRlbiBub2NoIGVpbiBwYWFyIGZ1ZXIgR2V0cmFlbmtlIGhpbnp1LQoga29tbWVuIHVuZCBpY2ggbXVzcyBub2NoIG1hbCBuYWNoZnJhZ2VuIHdpZSBkYXMgbWl0IGRlciBCZXR0d2Flc2NoZSBnZW5hdQogYXVzc2llaHQuIE1pdCBldHdhcyBHbHVlY2sgaGFiZW4gd2lyIGVpbmUgcHJpdmF0ZSBMb2VzdW5nIHVtIGRpZSBCaWVyLQoga29zdGVuIG5pZWRyaWcgenUgaGFsdGVuLgoKIEVpbiBULVNoaXJ0IHdpcmQgZXMgd29obCBhdWNoIGdlYmVuIC0gZGFydW0ga3VlbW1lcm4gc2ljaCBhYmVyIE1lc2lyaWkgCiBhdXNmdWVocmVuZCB1bmQgS2VrcyBhbHMgTW90aXZpZGVlbmdlYmVyaW4gKHdpZSBtYW4gc2Nob24gbGVzZW4ga29ubnRlKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChBbWFyeWxsaXMsICA1LiBPa3QgMjAwMiwgMTE6MzM6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzMzgxMDA4NyByZz1wYXJ0eQp+IyEgdGlkPTEwMzMwNTMzOTkKT2huZSBqZXR6dCBkaWUgRGlza3Vzc2lvbiB3aWVkZXIgYW5oZWl6ZW4genUgd29sbGVuIChpY2gga29tbWUgZWggbmljaHQpOiBJc3QKamV0enQgZGVyIFZvcnRlaWwgdm9uIFRoYWxlIG51ciBkZXIsIGRhc3MgZXMgbm9jaCBtZWhyIGFtIEEqKioqIGRlciBXZWx0CmxpZWd0PyA6LSkgRGllIEtvc3RlbiBzaW5kIGphIGF1Y2gga2F1bSB3ZW5pZ2VyLi4uCgpBbWEqLCBkdWNrIHVuZCB3ZWcgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChFbGJlcmV0LCAgNS4gT2t0IDIwMDIsIDExOjM0OjA0KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDMzODEwMzkyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQpkYXMgbWl0IGRlbSBhKiBkZXIgd2VsdCBoYWVuZ3QgZGF2b24gYWIgYXVmIHdlbGNoZXIgYSpiYWNrZSBtYW4gd29obnQgOykKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChEZWVwYmx1ZSwgIDUuIE9rdCAyMDAyLCAxMTo1OToxOCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTAzMzgxMDM5MiByZz1wYXJ0eQp+IyEgdGlkPTEwMzMwNTMzOTkKRGVyIFZvcnRlaWwgaXN0IGRlciwgZGFzcyBlcyBkb3J0IG5lbiBIZXhlbnRhbnhwbGF0eiBnaWJ0LiBJc3QgamEgd29obCBrbGFyLAp3aWUgZGFubiBsZXV0ZSB3aWUgUm9uZGEsIEhvYm8gdW5kIFR3aW5naSBzaWNoIGVudHNjaGVpZGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUaGFsZSBzdGF0dCBXaW50ZXJidXJnPyAoQ2FkcmFjaCwgIDUuIE9rdCAyMDAyLCAxMjoxNzo1NSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDMzODExOTU4IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQpIbW0uLi4gYWxzbyBpY2ggYmV6d2VpZmxlIHN0YXJrLCBkYXMgSG9ibyBzaWNoIGRhIGluIGlyZ2VuZGVpbmVyIEZvcm0KZW50c2NoaWVkZW4gaGF0LCBhYmVyIHZpZWxsZWljaHQgaXJyIGljaCBtaWNoIGRhIGphIGF1Y2ggOm8pCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUaGFsZSBzdGF0dCBXaW50ZXJidXJnPyAoR2xvaW5zb24sICA1LiBPa3QgMjAwMiwgMTM6NTU6MzkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMzM4MTAzOTIgcmc9cGFydHkKfiMhIHRpZD0xMDMzMDUzMzk5CkljaCBnbGF1YiBkZXIgSGF1cHR2b3J0ZWlsIHZvbiBUaGFsZSBpc3QgaW4gZGllc2VtIEphaHIsIG5pY2h0IFdpbnRlcmJ1cmcgenUKc2Vpbi4gRnVlciBCZWhhdXB0dW5nZW4genUgbXVkb2dyYXBoaXNjaGVuIE1pdHRlbHB1bmt0ZW4gbXVlc3N0ZW4gd2lyIG1hbApMYW5ka2FydGVuIG1pdCBQYXJ0eWJlc3VjaGVyd29obnJhdW12ZXJ0ZWlsdW5nZW4gZXJzdGVsbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGhhbGUgc3RhdHQgV2ludGVyYnVyZz8gKEFtYXJ5bGxpcywgIDUuIE9rdCAyMDAyLCAxNDowNjo1MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMzODE4OTM5IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQpJbWhvIGF1Y2ggc28gemllbWxpY2ggZGFzIGVpbnppZ2UgQXJndW1lbnQsIGRhcyBnZWdlbiBXaW50ZXJidXJnIHNwcmljaHQuIEljaApmaW5kZSBlcyBlaCBzY2hhZGUsIGRhc3MgZXMgc293ZWl0IGtvbW1lbiBtdXNzLCBtaXQgbHRlcm5hdGl2ZW4gdW5kIEFic3RpbW11bmcKenUgYXJiZWl0ZW4gLSBCYW1iaSBoYXQgc2ljaGVyIG5pY2h0IHdlbmlnIFZvcmFyYmVpdCBiZXp1ZWdsaWNoIFdpbnRlcmJ1cmcKdmVycmljaHRldCwgZGllIG51biB1bXNvbnN0IHNpbmQuIEFsc28gaWNoIHd1ZXJkZSBuYWNoIHNvIGVpbmVtICJFcmxlYm5pcyIgZGFzCm5pY2h0IG5vY2htYWwgbWFjaGVuLgoKQW1hKgoKUFM6IE5pY2h0IGZhbHNjaCB2ZXJzdGVoZW4sIGljaCB3aWxsIGtlaW5lbiBrcml0aXNpZXJlbiB1bmQgaGFiZSBhdWNoIHdpcmtsaWNoCmtlaW5lbiBiZXNzZXJlcmVuIFZvcnNjaGxhZywgd2FzIGRhcyBQcm9ibGVtICJpc3QgdmllbCB6dSB0ZXVlciwgZ2lidHMgUGFydHkKbmljaHQgd28gYmlsbGlnZXI/IiBhbmdlaHQgLSBpY2ggZmluZGUgZXMgbnVyIGV0d2FzIHVuZ2x1ZWNrbGljaCwgd2llIGRhcyBudW4KZ2VsYXVmZW4gaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGhhbGUgc3RhdHQgV2ludGVyYnVyZz8gKE11cGZlbCwgIDUuIE9rdCAyMDAyLCAxNDozNToyNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMzODE4OTM5IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQouLi51bmQgZGVyIEhhdXB0bmFjaHRlaWwsIGRhc3MgSHVtbmkgdW5kIEltZGEgZGFzIEJpZXJmYXNzIHdlc2VudGxpY2ggd2VpdGVyCnJvbGxlbiBtdWVzc2VuPyAob2RlciB3YXJzIG5lIFNjaHVia2FycmU/KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRoYWxlIHN0YXR0IFdpbnRlcmJ1cmc/IChFbGJlcmV0LCAgNS4gT2t0IDIwMDIsIDE0OjQ0OjU0KToKfiMhIHJuPU11cGZlbCBydD0xMDMzODIxMzI2IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQpkYXMgd2FyIGVpbiBrYXN0ZW4gYmllciBpbiBlaW5lciBzY2h1YmthcnJlCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBUaGFsZSBzdGF0dCBXaW50ZXJidXJnPyAoQm9pbmcsICA2LiBPa3QgMjAwMiwgMDA6MjI6NDQpOgp+IyEgcm49RWxiZXJldCBydD0xMDMzODIxODk0IHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzA1MzM5OQpBbGxlcmRpbmdzIGdpbmcgZXMgamEgbmljaHQgZGFydW0gZGVuIFNjaHVia2FycmVuIHZvbiBNYWlueiB6dW0gUGFydHlvcnQKenUgc2NoaWViZW4gc29uZGVybiB2b24gTWFpbnogbmFjaCBXaW50ZXJidXJnLiBJbnNvZmVybiBoYXQgc2ljaCBmdWVyIEh1bW5pCnVuZCBJbWRhIG5peCBnZWFlbmRlcnQgLi4uIDspIChhdXNzZXIgZGVtIFplaXRwdW5rdCBkZXMgU2NoaWViZW5zKQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYWhsIHVlYmVyIFBhcnR5b3J0IChUaWxseSwgIDYuIE9rdCAyMDAyLCAxMjowNToyMCk6Cn4jISBybj1UaWxseSBydD0xMDMzNDkwNDYyIHJnPXBhcnR5Cn4jISB0aWQ9MTAzMzI0NTgwMApNb2luIG1vaW4hCgpEYXMgYW10bGljaGUgRW5kZXJnZWJuaXMgZGVyIFdhaGwgenVtIFRoZW1hICdXbyBzb2xsIGRlbm4gbnVuIGRpZQpuYWVjaHN0ZSBOaWtvbGF1cy0vV2ludGVycGFydHkgc3RhdHRmaW5kZW4/JyBzaWVodCBmb2xnZW5kZXJtYXMtCnNlbiBhdXMuCgo3MSBhYmdlZ2ViZW5lIFN0aW1tZW4gdmVydGVpbGVuIHNpY2ggd2llIGZvbGd0OgoKMS4pIFBhcnR5b3J0OiBUaGFsZSAoMjktMTEtMDIpICAgICAgICAgICAgICAgICAgIDogIDQ1ICg2My4zOCUpCjIuKSBQYXJ0eW9ydDogV2ludGVyYnVyZyAoMjktMTEtMDIgb2RlciAxMy0xMi0wMik6ICAyNiAoMzYuNjIlKQoKClZpZWwgU3Bhc3MgbnVuIGRlbiBPcmdhbmlzYXRvcmVuIHVuZCBkYW5rIGFuIGFsbGUsIGRpZSBzaWNoIGJlaQpkZXIgV2FobCBiZXRlaWxpZ3QgaGFiZW4uCgpTY2hvZW5lbiBTb25udGFnIG5vY2guCgogLSBUaWxseSAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGFuZCAoR2xvaW5zb24sIDEwLiBPa3QgMjAwMiwgMTk6NTM6NDApOgogSWNoIGxhc3MgbWlyIGdlcmFkZSBkZW4gVmVydHJhZyBzY2hpY2tlbi4gTGVpZGVyIGlzdCBkaWUgQ2hlZmluIHp3ZWkKIFdvY2hlbiBuaWNodCBkYSwgbWl0IGRlciBtYW4gZXR3YXMgc2lubnZvbGxlciByZWRlbiBrb25udGU6CiAKIC0gZGFzIEJyZXR0IHdpcmQgYWIgZGVtbmFlY2hzdCAoaG9mZmVudGxpY2ggTW9udGFnKSBiaXMgNC4xMS4gc3RlaGVuLAogICBlcyBzZWkgaWNoIGthbm4gbWl0IGRlciBDaGVmaW4gZGEgbWVociBTcGllbHJhdW0gZnVlciBkaWUgQW5tZWxkZS0KICAgemFobGVuIGF1c2hhbmRlbG4KIC0gRGllIEtvc3RlbiB3ZXJkZW4gNDEsLSArIDYsLSA9IDQ3LC0gc2Vpbi4gSWNoIGhvZmZlIGRhcyA2IEV1bGVuIHJlaWNoZW4sCiAgIG5hY2ggZGVuIEVyZmFocnVuZ2VuIGRlciBhbmRlcmVuIFBhcnR5bWFjaGVyIHNvbGx0ZSBkYXMgc28gc2Vpbi4KIC0gQmV0dHdhZXNjaGUgaXN0IG1pdHp1YnJpbmdlbiBvZGVyIGthbm4gZnVlciAzLC0gZ2VsaWVoZW4gd2VyZGVuLgogLSBJY2ggYnJhdWNoZSBqZW1hbmRlbiBtaXQgQXV0byBhbSBGcmVpdGFnIHp1bSBFaW5rYXVmLiBTYW1zdGFnIG5hdHVlcmxpY2gKICAgZWJlbnNvLiBCaXR0ZSBtZWxkZW4uCiAtIExldXRlIGRpZSBsZWVyZSBCaWVya2Flc3RlbiB3aWVkZXIgbWl0bmVobWVuIG1vZWNodGVuIC0gYml0dGUgbWVsZGVuLgogLSAhIEljaCBiZWtvbW1lIGtlaW5lbiBESkgtQXVzd2VpcyAhIExlaWRlciBpc3QgTWVzaXJpaSwgZGVyIGRpZSBuYWVjaHN0ZQogICBRdWVsbGUgd2FlcmUgdmVycmVpc3QuIEZhbGxzIGVpbmVyIHZvbiBldWNoIGFuIGVpbmVuIERKSC1HcnVwcGVuYXVzd2VpcwogICBrb21tdCwgYml0dGUgbWVsZGVuLiBBbnNvbnN0ZW4gbXVzcyBpY2ggZGFzIEJsYXVlIHZvbSBIaW1tZWwgbHVlZ2VuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEh1bW5pLCAxNS4gT2t0IDIwMDIsIDE5OjQ3OjExKToKSHVodSwKCmRpZSBCcmV0dGVyIGRpZSBkaWUgV2VsdCBiZWRldXRlbiB3dXJkZW4gZ2V1cGRhdGV0LiBBYiBzb2ZvcnQgc3RlaHQgYW4gZGVuCmJla2FubnRlbiBPcnRlbiB3aWVkZXIgZWluIHNvbGNoZXMsIG5hZW1saWNoIGVpbiBQYXJ0eWJyZXR0LiBJY2ggYmluIHNjaG9uCmFuZ2VtZWxkZXQgLSBJaHIgYXVjaD8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYWhsIHVlYmVyIFBhcnR5b3J0IChBcmssIDE2LiBPa3QgMjAwMiwgMTQ6NTg6NDMpOgp+IyEgcm49QWxwaGEgcnQ9MTAzMzM5NzU1NSByZz1wYXJ0eQp+IyEgdGlkPTEwMzMyNDU4MDAKVGphLCBlcyBnaWJ0IGF1Y2gga2VpbmUgendlaSBIYXVwdHN0YWVkdGUgb2RlciB6d2VpIEtvZXBmZSBvZGVyIHp3ZWkgcmljaHRpZ2UKTXVzdGVybG9lc3VuZ2VuIG9kZXIgLi4uIC5eKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdhaGwgdWViZXIgUGFydHlvcnQgKENhZHJhY2gsIDE2LiBPa3QgMjAwMiwgMjA6NDE6MjEpOgp+IyEgcm49QXJrIHJ0PTEwMzQ3NzMxMjMgcmc9cGFydHkKfiMhIHRpZD0xMDMzMjQ1ODAwCk9jaCwgYWxzbyBkYXMgbWl0IHp3ZWkgcmljaHRpZ2VuIE11c3RlcmxvZXN1bmdlbiB3dWVyZCBpY2ggc28gbmljaHQgYmVoYXVwdGVuLApkYSBrZW5uIGljaCBnZW51ZyBHZWdlbmJlaXNwaWVsZS4uLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaGdldHJhZ2VuZSBCaWxkZXIuLi4gKFpvb2ssIDIwLiBPa3QgMjAwMiwgMTg6MTM6NDEpOgpWb24gRWxpemFiZXRoIGdpYnQgZXMgenUgZGVuIFBhcnR5IDE4LCAxOSB1bmQgMjAgZWluIHBhYXIgQmlsZGVyIGltCk5ldHouIFZpZWwgU3Bhc3MhCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyZXR0ZXIsIGRpZSBkaWUgV2VsdCBiZWRldXRlbiAoR2xvaW5zb24sIDIxLiBPa3QgMjAwMiwgMTQ6MzQ6MDYpOgp+IyEgcm49SHVtbmkgcnQ9MTAzNDcwNDAzMSByZz1wYXJ0eQp+IyEgdGlkPTEwMzQ3MDQwMzEKRGllIGJpc2hlciBub2NoIHJlbGF0aXYga3VyemUgQW5tZWxkdW5nc2ZyaXN0IGJpcyB6dW0gNi4gTm92ZW1iZXIgaXN0IGRlcgpUYXRzYWNoZSBnZXNjaHVsZGV0IGRhc3MgZGllIExldXRlIGRvcnQgZ2VuYXVlIEFubWVsZGV6YWhsZW4gd2lzc2VuIHdvbGxlbiB1bmQKYmVpIGVpbmVyIFNjaHdhbmt1bmcgPiAxMCUgd2VuaWdzdGVzbiA1MCUgZGVyIEdlbGRlciBmdWVyIGRpZSAiRmVobGJ1Y2h1bmdlbiIKaGFiZW4gd29sbGVuLiBEYSBkaWUgQ2hlZmluIGVyc3Qgd2llZGVyIGtvbW1lbmRlcyBXb2NoZW5lbmRlIGF1ZnRhdWNodCBrYW5uCmljaCBkYXMgYmlzIGRhaGluIG5pY2h0IGFuZGVycyByZWdlbG4gYWxzIG1pciBnZW51ZWdlbmQgU3BpZWxyYXVtIHZvbgpBbm1lbGRlc2NobHVzcyBiaXMgUGFydHliZWdpbm4genUgbGFzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEdsb2luc29uLCAyNy4gT2t0IDIwMDIsIDIwOjMxOjEzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzUyMDM2NDYgcmc9cGFydHkKfiMhIHRpZD0xMDM0NzA0MDMxCkRhIGljaCBkaWVzZSBXRSBpbiBUaGFsZSB3YXI6IFdlbm4gd2lyIHVudGVyIDQwIGJsZWliZW4gYmVrb21tZW4gd2lyIGVpbmVuCmFuZGVyZW4gUmF1bSBhbHMgZGllIENhZmV0ZXJpYSAobWl0IEZsaXBwZXIvQmlsbGFyZCkuIFNpbmQgYWxsZXJkaW5ncyBhdWNoCm5ldHRlIFJhZXVtZS4KR3J1bmQ6IEtvbmt1cnJlbnphbmdlYm90LiBEaWVzZSBKSCBpc3QgZ2VybiB1bmQgZ3V0IGJlc3VjaHQuIEljaCBrYW5uIGRhcwpBbm1lbGRlbiBub2NoIGF1ZiAxMC4xMS4gdmVybGFlbmdlcm4sIG11c3MgZGVuIFZlcnRyYWcgYWJlciB6dW0gMTEuMTEuCmFic2NoaWNrZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZkcgZ2VzdWNodCA7KSAoS2FyaW1hLCAyNy4gT2t0IDIwMDIsIDIxOjMwOjEwKToKVGhhbnRhbGFzIHVuZCBtZWluZSBXZW5pZ2tlaXQgc3VjaGVuIG5vY2ggZWluZSBNaXRmYWhyZ2VsZWdlbmhlaXQgbmFjaCBUaGFsZS4KV2FlcmUgZWNodCBmZWluLCB3ZW5uIHNpY2ggZGEgamVtYW5kIGF1cyBkZW0gUmhlaW4gendpc2NoZW4gUnVociB1bmQgS29ibGVuegpmaW5kZW4gd3VlcmRlLgoKRGFua2UgOykKCkthcmltYSAtIGhvZmZ0IGF1ZiBuZSBwb3NpdGl2ZSBhbnR3b3J0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRkcgTWFpbnogLSBUaGFsZSAoU3Ryb2hhbG0sICAxLiBOb3YgMjAwMiwgMjI6NTA6MDIpOgpIYW5zd3Vyc3QgdW5kIGljaCBoYWV0dGVuIG5vY2ggMiBQbGFldHplIGFiIE1haW56IGZyZWkuLiBiZWkgSW50ZXJlc3NlIGJpdHRlCm1lbGRlbiA7KQoKSGFlbG1jaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEdsb2luc29uLCAgNS4gTm92IDIwMDIsIDAyOjMwOjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzU3NDcwNzMgcmc9cGFydHkKfiMhIHRpZD0xMDM0NzA0MDMxClN0aWNocHVua3QgR2VsZDoKSWhyIG11ZXNzdCBtaXIgZGFzIGpldHp0IG5vY2ggbmljaHQgdWViZXJ3ZWlzZW4sIGJpcyAyMi4gcmVpY2h0IHZvbGxrb21tZW4uCgpJY2ggYml0dGUgYWJlciBkYXJ1bSwgZGFzcyBkaWUgQW5tZWxkdW5nZW4gYW0gQnJldHQgYWxzIGhvZWNoc3QgdmVyYmluZGxpY2ggenUKc2VoZW4gc2luZCwgd2VpbCB3aXIgbnVyIGVpbmUgVG9sZXJhbnogdm4gKy0xMCUgaGFiZW4uIEF1c21hY2hlbiBrYW5uIGljaAptdWVuZGxpY2ggdmllbGVzLCBhYmVyIGluIGRlbiBCdWNoc3RhYmVuIGlocmVyIFJlZ2VsbiBzdGVoZW4gbnVubWFsIGRpZXNlIDEwJS4KCldhcyBQYXJ0eWZlaWVyZXIgYmV0cmlmZnQsIGRpZSBkb3J0IG5pY2h0IHNjaGxhZmVuIHdvbGxlbiBtdXNzIGljaCBub2NoCmFucnVmZW4uIERhcyBkdWVyZnRlIGJlenVlZ2xpY2ggZGVyIFNjaGxpZXNzemVpdCBldHdhcyBzY2h3aWVyaWcgd2VyZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUctUlBHIChIdW1uaSwgIDUuIE5vdiAyMDAyLCAxODoxNjoyOSk6Ckh1aHUsCgppbiBIYWxsZSBoYXR0ZW4gd2lyIG1hbCBzb3dhcyBhbmdlZmFuZ2VuLiBJaHIgZXJpbm5lcnQgRXVjaCAod2VubiBpaHIgZGFiZWkKd2FydCkgYW4gZWluZSBnZXdpc3NlIFB1dHppLCBkaWUgZW50Z2VnZW4gamVnbGljaGVtIFF1ZXN0ZGVua2VuIGF1ZiBkaWUKSG9jaGViZW5lIHdvbGx0ZSB1bSBXb2VsZmUgenUgbWV0emVsbiBvZGVyIGFuIGVpbmVuIGdld2lzc2VuIC4uLiBLYWVtcGZlciAuLi4KZGVyIGltbWVyIHdpZWRlciBicnVlbGx0ZSAsLGljaCBnZWhlIG5hY2ggU3VlZGVuIHVuZCBiZXNhdWYgbWljaCBkYSEnJyBvYnNjaG9uCmVyIHNjaG9uIGxhZW5nc3QgaW4gZGVyIEtuZWlwZSB3YXIgdW5kIGZvbGdsaWNoIGltbWVyIG1pdCBkZW0gS29wZiB2b3IgZGllCldhbmQgcmFubnRlLi4uCgpBbHNvLCB3ZXIgTHVzdCBhdWYgZWluIFBlbiZQYXBlci1Sb2xsZW5zcGllbCBoYXQsIG1pdCBzZWxic3RlcmZ1bmRlbmRlbiAodW5kCm1pdHRsZXJ3ZWlsZSBqYSBhdWNoIHNjaG9uIGdldGVzdGV0ZW4gKmcqKSBNRy1SZWdlbG4gYW0gRnJlaXRhZyBhYmVuZCAoaWNoCmRlbmtlIGVoZXIsIGRhc3MgU2Ftc3RhZyBhbGxlIGZlaWVybiB3b2xsZW4sIG9kZXI/KSBtb2VnZSBzaWNoIGJpdHRlIG1lbGRlbi4KSWNoIGRlbmtlLCB3aXIgd2VyZGVuIGVpbmVuIFJhdW0gZmluZGVuLiBOZWluLCBkYXMgd2lyZCBuaWNodCBlcm5zdGdlbm9tbWVuLgpVbmQgd2lyIGJyYXVjaGVuIGRyaW5nZW5kIGVpbiBncm9zc2VzIFNvZmEgZGFmdWVyLCBkZW5rIGljaCBtYWwgOy0pCgpXdWVyZmVsIHNvbGx0ZW4gZGllc21hbCBrZWluIFRoZW1hIHNlaW4sIGljaCBicmluZyBtYWwgd2FzIG1pdC4KCkFudHdvcnRlbiBlbnR3ZWRlciBoaWVyIGRyYXVmIG9kZXIgcGVyIE1haWwuIE1hbCBzY2hhdWVuIHdpZSBncm9zcyBkaWUgUnVuZGUKd2lyZCAtIGxldHp0ZXMgTWFsIGdpbmdzIG1pdCA5IExldXRlbiwgaWNoIGhvZmZlIG1hbCBkYXMgYmxlaWJ0IHVlYmVyc2NoYXViYXIKb2huZSBkYXNzIG1hbiB3ZW4gYXVzc2NobGllc3NlbiBtdXNzLCBhYmVyIGVzIGdpYnQgamEgYmVzdGltbXQgYXVjaCB2aWVsZQpMZXV0ZSBkaWUga2VpbmUgTHVzdCBkcmF1ZiBoYWJlbi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZkcgVGhhbGUtQmVybGluIChDYXNzYW5kcmEsICA3LiBOb3YgMjAwMiwgMTU6MDc6MzApOgpoYWxsbyBCZXJsaW5lciBQYXJ0eWdhZW5nZXIKCkRhIGljaCB2b24gdGhhbGUgYXVzIGF1Y2ggbmFjaCBCZXJsaW4gZmFocmVuIHdlcmRlIHd1ZXNzdGUgaWNoIGdlcm4sIG9icyBkYQp1ZWJlcmxlZ3VuZ2VuIGdpYnQgZnVlciBkZW4gUnVlY2t3ZWcgYW0gc29ubnRhZyBlaW4gV29jaGVuZW5kdGlja2V0IHp1IG5laG1lbgoob2RlciB6d2VpKSB3ZW5uIGphIHd1ZXJkIGljaCBtaWNoIGRhIGdlcm4gZWlua2xpbmtlbi4KCkNhc3NhbmRyYSwgc2ljaCBhdWYgZGllIFBhcnR5IGZyZXVlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZkcgVGhhbGUtQmVybGluIChHbG9pbnNvbiwgIDcuIE5vdiAyMDAyLCAxNToyMDowOSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAzNjY3ODA1MCByZz1wYXJ0eQp+IyEgdGlkPTEwMzY2NzgwNTAKRHUgZXJpbm5lcnN0IG1pY2ggZGFyYW4sIGRhc3MgaWNoIGRpZSBUcnVwcGUgbm9jaCBmdWVyIEdydXBwZW50aWNrZXQgaGluIHVuZApXRS1UaWNrZXQgenVydWVjayB6dXNhbW1lbnRyb21tZWxuIHdvbGx0ZSAoQiA8LT4gVGhhbGUgZmFocmVuIHNvd2llc28gbnVyClJlZ2lvbmFsZXhwcmVzc2UpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVjaGZhaHJ0IC0+IFRoYWxlIChHbG9pbnNvbiwgIDguIE5vdiAyMDAyLCAxNzowODoyNSk6CkFsbGUgQmVybGluZXI6IFJ1ZWNrZW4gZ3JhZGUsIEZpbmdlciBhdXMgZGVyIE5hc2UsIE1haWwgbGVzZW4hCgpXZXIgZWJlbmZhbGxzIGF1cyBCZXJsaW4gbmFjaCBUaGFsZSB3aWxsIHVuZCBuaWNodHMgYmVrb21tZW4gaGF0IC0gbWVsZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQnJldHRlciwgZGllIGRpZSBXZWx0IGJlZGV1dGVuIChHbG9pbnNvbiwgIDguIE5vdiAyMDAyLCAyMDo0OTowMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDM2NDU5ODE4IHJnPXBhcnR5Cn4jISB0aWQ9MTAzNDcwNDAzMQpMZXR6dGUgTmFjaHJpY2h0ZW4gYXVzIEhhcnppc3RhbjoKIC0gX251cl8gUGFydHkgb2huZSBVZWJlcm5hY2h0dW5nIGdlaHQgYXVjaCwgbXVzcyBrZW5udGxpY2ggZ2VtYWNodAogICB3ZXJkZW4sIGRhbWl0IGljaCBkYXMgdmVybWVsZGVuIGthbm4KICAgLSBQcmVpcyBmdWVyIG51ciBQYXJ0eWFiZW5kIGR1ZXJmdGUgdW0gMTUsLSBFdWxlbiBsaWVnZW4KIC0gc2VociBzcGFldGVzIEtvbW1lbiBhbSBGcmVpdGFnIGlzdCBhdWNoIGRyaW4sIG11c3MgbWFuIG1pY2ggZGFubgogICBoYWx0IHVlYmVyIEhhbmR5IGFua2xpbmdlbG4sIGRhbWl0IGljaCBoZXJlaW5sYXNzZQoKSWNoIHN1Y2hlIG5vY2ggZWluZW4gZnJ1ZWggYW0gRnJlaXRhZyBpbiBUaGFsZSBFaW50cnVkZWxuZGVuIG1pdCBBdXRvLAptaXQgZGVtIHdpciBkYW5uIGVyc3RlIEFsa29ob2xjaGFyZ2VuIGJlc29yZ2VuIGtvZW5uZW4uIEJpdHRlIG1lbGRlbiwKc29uc3QgbXVlc3NlbiB3aXIgZGEgbWl0IEVpbmthdWZza29lcmJlbiBkdXJjaCBkaWUgR2VnZW5kIGZhaHJlbi4KClRlcm1pbmU6CiAtIDExLjExLiBmcnVlaHMgaXN0IG9mZml6aWVsbGVyIEJyZXR0YWJiYXUsIGRpZSBBbnphaGwgbWVsZGUgaWNoOgogICAtIHdpciBzaW5kIGRlcnplaXQgMjksIGRhcyBiZWRldXRldCBkYXNzIHdpciBfbmljaHRfIGRlbiBncm9zc2VuIFJhdW0KICAgICBmdWVyIFNhbXN0YWcgQWJlbmQgYmVrb21tZW4KICAgLSB3ZWl0ZXJlIEFubWVsZHVuZ2VuIHNpbmQgbW9lZ2xpY2ggLSBtaWNoIHBlcnNvZW5saWNoCiAgICAgYW5tYWlsZW4sIHdlaWw6CiAgICAgLSBkYXMgTGltaXQgd2VnZW4gZGVtIGtsZWluZXJlbiBSYXVtIHVtIDQwIExldXRlIGxpZWd0CiAgICAgLSBpY2ggZGllIGFrdHVlbGxlbiBaYWhsZW4gaW1tZXIgcnVlY2ttZWxkZW4gbW9lY2h0ZQogLSAyMi4xMS4gaXN0IFVlYmVyd2Vpc3VuZ3MtU3RpY2h0YWcgLSBOYW1lbiBuaWNodCB2ZXJnZXNzZW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCcmV0dCBmb3J0IChHbG9pbnNvbiwgMTQuIE5vdiAyMDAyLCAxMToyMzowMSk6CkljaCBoYWIgZGFzIEJyZXR0IGFiYmF1ZW4gbGFzc2VuLCBkYW1pdCBzaWNoIG5pZW1hbmQgbWVociBhbm1lbGRldCB1bmQgZGFtaXQKc2VpbmUgUEZsaWNodCBlcmZ1ZWxsdCBzaWVodCA7KSBXZXIgZGVubm9jaCBtaXRrb21tZW4gd2lsbCwgbW9lZ2Ugc2ljaApwb3N0YWxpc2NoIGJlaSBtaXIgbWVsZGVuLiBIaWVyIG5vY2htYWwgZGllIERhdGVuIGZ1ZXIgYWxsZSBlYmVuc28KdmVyZ2Vzc2xpY2hlbiB3aWUgbWljaDoKCiAgWmVpdHJhdW0gICAgIDogMjkuIE5vdmVtYmVyIC0gMS4gRGV6ZW1iZXIKICBPcnQgICAgICAgICAgOiBUaGFsZSBhbiBkZXIgQm9kZSBpbSBIYXJ6CgpaZWl0cGxhbjoKLS0tLS0tLS0tCkZyZWl0YWc6ICBUcmVmZmVuIGluIFRoYWxlLCBBbnJlaXNlIHNpZWhlCiAgICAgICAgICBodHRwOi8vd2ViMDEuanVnZW5kaGVyYmVyZ2UuZGUvanVnZW5kaGVyYmVyZ2VuL3RoYWxlLwogICAgICAgICAgaHR0cDovL3d3dy50aGFsZS5kZS9pbWFnZXMvVGhhbGUtS2FydGVfZ2l0dGVyLnN3ZgogICAgICAgICAgaHR0cDovL2JhaG4uaGFmYXMuZGUKICAgICAgICAgIEFiZW5kZXNzZW4KU2Ftc3RhZzogIDc6MzAgYmlzIGNhLiA5OjMwIFVociBGcnVlaHN0dWVjayBpbiBkZXIgSkgKICAgICAgICAgIEFuZ2Vib3Q6IFdhbmRlcnVuZyB1ZWJlciBIZXhlbnRhbnpwbGF0eiBuYWNoIFRyZXNlYnVyZywKICAgICAgICAgICAgICAgICAgIFJ1ZWNrd2FuZGVydW5nIGR1cmNoIEJvZGV0YWwgKGxhbmdlIFN0cmVja2UhKQogICAgICAgICAgTWl0dGFnZXNzZW4gaW4gZWlnZW5lciBWZXJhbnR3b3J0dW5nCiAgICAgICAgICBhYiAxOTowMCBVaHIgKD8pIEFiZW5kZXNzZW4gdW5kIFBhcnR5ClNvbm50YWc6ICA3OjMwIGJpcyBjYS4gOTozMCBVaHIgRnJ1ZWhzdHVlY2sgaW4gZGVyIEpICiAgICAgICAgICAxMzowMCBVaHIgQ2hpbmVzZSBpbiBUaGFsZQogICAgICAgICAgSGVpbWZhaHJ0CgpVbmtvc3RlbgotLS0tLS0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKUGFydHliZWl0cmFnOiAgNDcsLSBFVVIgVm9ya2Fzc2UsIDQ3LC0gKyA/PyBFVVIgQWJlbmRrYXNzZQoKTmFtZTogQ2hyaXN0aWFuIEJlY2tlcgpLbnIuOiA0MDEwMTA2NDQ3CkJMWiA6IDgxMCA1MCA1NTUKQmFuazogS3JlaXNzcGFya2Fzc2UgU3RlbmRhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKVU5CRURJTkdUIERFTiBNVUQtTkFNRU4gTUlUIEFOR0VCRU4KClp1IGJlYWNodGVuCi0tLS0tLS0tLS0tCk1pdCBkZXIgQW5tZWxkdW5nIGJlc3RhZXRpZ3QgamVkZXIgUGFydHlnYXN0LCBkYXNzIGVyIGF1ZiBlaWdlbmUgClZlcmFudHdvcnR1bmcgdW5kIGF1ZiBlaWdlbmVzIFJpc2lrbyB0ZWlsbmltbXQuCk1pbmRlcmphZWhyaWdlIGJyaW5nZW4gYml0dGUgZWluZSBlbnRzcHJlY2hlbmRlIEVya2xhZXJ1bmcgZGVzL2RlciAKRXJ6aWVodW5nc2JlcmVjaHRpZ3RlbiBtaXQgKGlzdCByZWNodGxpY2ggbm90d2VuZGlnKS4KT2huZSBWb3JsYWdlIGRpZXNlciBFcmxhdWJuaXMgYmVoYWx0ZW4gc2ljaCBkaWUgVmVyYW5zdGFsdGVyIGVpbmVuCkF1c3NjaGx1c3Mgdm9uIGRlciBQYXJ0eSB2b3IuCgpXZXIgZWluZW4gbGVlcmVuIEJpZXJrYXN0ZW4gbWl0bmVobWVuIGthbm4sIGJpdHRlIGJlaSBHbG9pbnNvbiBtZWxkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnJldHQgZm9ydCAoR2xvaW5zb24sIDE0LiBOb3YgMjAwMiwgMTY6MzE6NDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzNzI2OTM4MSByZz1wYXJ0eQp+IyEgdGlkPTEwMzcyNjkzODEKS29tbWFuZG8genVydWVjay4gV2VpbCBzaWNoIHVlYmVyIGRhcyBCcmV0dCBqYSBhdWNoIE1pdGZhaHJlciBhYnNwcmVjaGVuIHN0ZWh0CmVzIHdpZWRlciBkYSwgbnVyIG9obmUgImFubWVsZGUiLUZ1bmt0aW9uYWxpdGFldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJyZXR0ZXIsIGRpZSBkaWUgV2VsdCBiZWRldXRlbiAoR2xvaW5zb24sIDE1LiBOb3YgMjAwMiwgMTE6NTM6NDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzNjc4NDk0MiByZz1wYXJ0eQp+IyEgdGlkPTEwMzQ3MDQwMzEKQWJlbmRrYXNzZToKIFVuYW5nZW1lbGRldCBhbSBBYmVuZCBFaW50cnVkZWxuIGlzdCBrb21wbGl6aWVydCwgdm9yaGVyaWdlIEFubWVsZHVuZyBiaXMKIERvbm5lcnN0YWcgZGF2b3Igd2FlciBtaXIgYWxzbyBsaWViLiBVbmFiZ2VtZWxkZXRlcyBGZXJuYmxlaWJlbiBpc3QKIG5hdHVlcmxpY2ggYXVjaCBuaWNodCBzY2hvZW4gOikKIFdlbm4gZXJzdCBqZW1hbmQgdm9yIE9ydCBHZWxkIGJhciBhdWYgZGllIEtyYWxsZSBnZWJlbiBtb2VjaHRlIG5laG1lIGljaAogJ25lbiBFdXJvIFVtc3RhbmRza29zdGVuLiBBYmVuZGthc3NlID09IDQ4LC0KCkVycmVpY2hiYXJrZWl0OgogQWIgMjQwMCBpc3Qgc3BhZXRlc3RlbnMgZGllIFR1ZXIgenUuIEljaCBoYWJlIGRhbm4gZWluZW4gU2NobHVlc3NlbCB1bmQgYmluCiBkYWZ1ZXIgdW5kIHNvd2llc28gaW0gTm90ZmFsbCB1bnRlciAwMTcyLzE3NTUyMzcgZXJyZWljaGJhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlIE1GRy4uLiAoQmllbGVmZWxkLCAxNS4gTm92IDIwMDIsIDE0OjA4OjA4KToKTW9pbiEKCkRhIG1laW4gdXJzcHJ1ZW5nbGljaGVyIEZhaHJlciBzb2ViZW4gYWJzYWdlbiBtdXNzdGUsIGhhYmUgaWNoIGpldHp0CmVpbiBrbGVpbmVzIFByb2JsZW0gLSB1bmQgc3VjaGUgamVtYW5kZW4sIGRlciBlaW4gb2RlciBiZXNzZXIgbm9jaAp6d2VpIFBlcnNvbmVuIGF1cyBkZW0gUmF1bSBIYW1idXJnIG5hY2ggVGhhbGUgZmFocmVuIGthbm4uLi4KZnVlaGx0IHNpY2ggZ2FueiB6dWZhZWxsaWcgamVtYW5kIGFuZ2VzcHJvY2hlbiAobWFuIGdpYnQgZGllCkhvZmZudW5nIGphIG5pY2h0IGF1Zi4uLik/CgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3aWNodGVsbj8gKENhc3NhbmRyYSwgMTUuIE5vdiAyMDAyLCAxNTozMjo0MSk6CkVpbmUga2xlaW5lIEZyYWdlOgpXb2xsZW4gd2lyIGF1ZiBkZXIgUGFydHkgZWlnZW5kbGljaCB3aWVkZXIgd2ljaHRlbG4gb2RlciBuaWNodD8KV2llIHNpZWh0cyBhdXMgbWl0IGRlbSByb2Nob2xhdXM/CgpDYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRoYWxlLS0gPyAoR25vbWUsIDE3LiBOb3YgMjAwMiwgMjE6MzA6MTMpOgp3ZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lLCB3YXJlbiBiZWkgZGVyIGFic3RpbW11bmcgJ3RoYWxlIHZzIHdpbnRlcmJ1cmcnCjUyIGxldXRlIGZ1ZXIgdGhhbGUuIGF1ZiBkZW0gcGFydHlicmV0dCBzdGVoZW4gMjcuCndvaGVyIGRpZXNlIGRpc2tyZXBhbno/Cgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRoYWxlLS0gPyAoQ3JvZnQsIDE3LiBOb3YgMjAwMiwgMjE6MzI6NTEpOgp+IyEgcm49R25vbWUgcnQ9MTAzNzU2NTAxMyByZz1wYXJ0eQp+IyEgdGlkPTEwMzc1NjUwMTMKSGFiIGljaCBtaWNoIGF1Y2ggc2Nob24gZ2VmcmFndC4gIFVuZCBkYW5uIG5vY2ggYW4gZGllIHVubW9lZ2xpY2hlIEZyYWdlCmdlZGFjaHQsIHdpZXZpZWxlIHdvaGwgbmFjaCBXaW50ZXJidXJnIGdla29tbWVuIHdhZXJlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRoYWxlLS0gPyAoR2xvaW5zb24sIDE3LiBOb3YgMjAwMiwgMjI6MjE6MDQpOgp+IyEgcm49Q3JvZnQgcnQ9MTAzNzU2NTE3MSByZz1wYXJ0eQp+IyEgdGlkPTEwMzc1NjUwMTMKTmFqYSwgdXJzcHJ1ZW5nbGljaCBoYXR0ZSBpY2ggc2Nob24gbWl0IHVtIDQwIGdlcmVjaG5ldC4gQWJlciBvYiBkZXIKV2FobGJldGVpbGlndW5nICg2Nz8pIHVuZCBkZXIgVGF0c2FjaGUsIGRhc3MgTWVuc2NoZW4gZ2VybmUgZWluZmFjaCBudXIgaWhyZQpNZWludW5nIHNhZ2VuIGhhYmUgaWNoIGRhcyBkYW5uIHNjaG9uIHp1cnVlY2tnZXNjaHJhdWJ0LiBIYXVwdHNhY2hlIGRpZSAyNwprb21tZW4gYXVjaCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdGhhbGUtLSA/IChIdW1uaSwgMTguIE5vdiAyMDAyLCAwOTo0NjowNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDM3NTY4MDY0IHJnPXBhcnR5Cn4jISB0aWQ9MTAzNzU2NTAxMwpJY2ggYmluIGFiZXIgYXVjaCBlaW4gd2VuaWcgdmVyd3VuZGVydC4gSWNoIGhhdHRlIHNvZ2FyIGRhbWl0IGdlcmVjaG5ldCwgZGFzcwpMZXV0ZSwgZGllIGFic3RpbW1lbiBoYWx0IGdydW5kc2FldHpsaWNoIGVoIGtvbW1lbiB3b2xsZW4sIG51ciBoYWx0IGluIGRlbQpGYWxsICwsbGllYmVyJycgZGEgdW5kIGRhIGhpbi4uLgoKSHVtbmkgd2FlcmUgbmF0dWVybGljaCBhdWNoIG5hY2ggV2ludGVyYnVyZyBnZWZhaHJlbiAoaGF0IGFiZXIgd2VnZW4gZWluZXIKZ2V3aXNzZW4gU2NodWJrYXJyZSBmdWVyIFRoYWxlIGdlc3RpbW10KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRoYWxlLS0gPyAoVmFuaW9uLCAxOC4gTm92IDIwMDIsIDIwOjU0OjA3KToKfiMhIHJuPUdub21lIHJ0PTEwMzc1NjUwMTMgcmc9cGFydHkKfiMhIHRpZD0xMDM3NTY1MDEzCkljaCBiaW4gZWluZSBkaWVzZXIgZmVobGVuZGVuIFN0aW1tZW4uIEljaCBoYXR0ZSBmdWVyIFRoYWxlIGdlc3RpbW10LCBhYmVyCmxlaWRlciBhbiBkaWVzZW0gV29jaGVuZW5kZSBrZWluZSBaZWl0LiBNZWluZSBTdGltbWUgd2FyIGFiZXIgbmljaHQgbWVocgp6dXJ1ZWNrenVuZWhtZW4uIFVuZCBzdGF0dCBkZXNzZW4gZnVlciBXaW50ZXJidXJnIHp1IHN0aW1tZW4sIHdhZXIgaXJnZW5kd2llCm5pY2ggc2lubmlnZXIgZ2V3ZXNlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRoYWxlLS0gPyAoR25vbWUsIDE5LiBOb3YgMjAwMiwgMTg6NTI6MTApOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzc2NDkyNDcgcmc9cGFydHkKfiMhIHRpZD0xMDM3NTY1MDEzCmhtbSwgbmFndXQsIGRhcyBpc3QgRUlORSBwZXJzb24uIHVuZCBkaWUgYW5kZXJlbiAyMiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB0aGFsZS0tID8gKEVsaXphYmV0aCwgMTkuIE5vdiAyMDAyLCAxODo1NjowNCk6Cn4jISBybj1Hbm9tZSBydD0xMDM3NzI4MzMwIHJnPXBhcnR5Cn4jISB0aWQ9MTAzNzU2NTAxMwoqbWVsZCogaWNoIGRhY2h0ZSBpY2gga29lbm50ZSBrb21tZW4sIGhhYiBhYmVyIGRhbm4gYW4gZGllc2VtIHdlIGtlaW5lIHplaXQsCndhcyBzaWNoZXJsaWNoIGluIGdub21lcyBpbnRlcmVzc2UgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQnJldHRlciwgZGllIGRpZSBXZWx0IGJlZGV1dGVuIChHbG9pbnNvbiwgMTkuIE5vdiAyMDAyLCAyMjo1Mjo1Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDM3MzU3NjI3IHJnPXBhcnR5Cn4jISB0aWQ9MTAzNDcwNDAzMQpTdGFuZDoKIE1pdHRsZXJ3ZWlsZSBoYWJlbiBzaWNoIHZpZXIgTGV1dGUgd2llZGVyIG9mZml6aWVsbCBvZGVyIGhhbGIgYWJnZW1lbGRldCwKIGVpbmVyIGhhdCBzaWNoIHp1c2FldHpsaWNoIGFuZ2VtZWxkZXQuIERhbWl0IHNpbmQgd2lyIGJlaSAyNi4KCiBHZW1lbGRldCBoYXR0ZSBpY2ggMjkuIEljaCBoYWJlIGVpbmUgS3VsYW56IHZvbiAxMCUuIERhcyBzaW5kIGJlaSBtaW5pbWFsCiAyNiBMZXV0ZSwgYmVpIHBvc2l0aXZlciBBdXNsZWd1bmcuIEZ1ZXIgamVkZW4gd2VuaWdlciB6YWhsZSBpY2ggbHQuIEFHQgogVmVydHJhZ3NzdHJhZmUgPSBIYWVsZnRlIGRlciBLb3N0ZW4gPT0gbWluZGVzdGVucyAxNSwtIHAuUC4KCiBXYXMgZGFzIE5vdnVtIFBhcmFsbGVsLVN0YVRpIGJldHJpZmZ0LCBnZWZpZWwgbWlyIGZvbGdlbmRlcywKIHVuYXV0aG9yaXNpZXJ0ZXMgWml0YXQgZGVzIGxldHp0ZW4gInZpZWxsZWljaHQga2FubiBpY2ggZXJzdCBTYW1zdGFnIi0KIFdhcm5lcnM6ICJkYW5uIHd1ZXJkIHNpY2ggdm9uIGRvcnQgYXVzIGFscyBlcnNhdHogZGFzIGZsYW1ta3VjaGVuZXNzZW4KIGFuYmlldGVuIi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJyZXR0ZXIsIGRpZSBkaWUgV2VsdCBiZWRldXRlbiAoR2xvaW5zb24sIDE5LiBOb3YgMjAwMiwgMjM6Mjc6MzgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzNzc0Mjc3NyByZz1wYXJ0eQp+IyEgdGlkPTEwMzQ3MDQwMzEKU3RhbmQ6CiAyNQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQnJldHRlciwgZGllIGRpZSBXZWx0IGJlZGV1dGVuIChCb2luZywgMjAuIE5vdiAyMDAyLCAxMDozMDoyMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDM3NzQyNzc3IHJnPXBhcnR5Cn4jISB0aWQ9MTAzNDcwNDAzMQpJY2ggd3VlcmRlIGFuIERlaW5lciBTdGVsbGUgamV0enQgZWluZmFjaCBtYWwgbWl0IGRlbSBOYWNodHJldGVuIGF1ZmhvZXJlbiwKR2xvaW5zb24uIER1IHdhcnN0IHNjaGxpZXNzbGljaCBkZXIsIGRlciBkaWUgc2Nob24gaW4gUGxhbnVuZyBiZWZpbmRsaWNoZQpXaW50ZXJidXJnLVBhcnR5IGFiZ2VzY2hvc3NlbiBoYXQuIEljaCBiaW4gc2VociBmcm9oLCBkYXNzIEJhbWJpIG5hY2ggZGllc2VyCkVyZmFocnVuZyBuaWNodCBzYWd0ICdPaywgaWNoIG1hY2ggbmllIHdpZWRlciB3YXMgaW4gZGllc2VyIFJpY2h0dW5nJywgCnNvbmRlcm4gaGllciBlaW4gRmxhbW1rdWNoZW5lc3NlbiBmdWVyIGRpZSBLYXJsc3J1aGVyICh1bmQgVW1nZWJ1bmcpCm9yZ2FuaXNpZXJ0IChhbiBkZW0gaWNoIGxlaWRlciBuaWNodCB0ZWlsbmVobWVuIGthbm4gKnNuaWZmKikuCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKFBpdGZhbGwsIDIwLiBOb3YgMjAwMiwgMTI6MTg6NTUpOgp+IyEgcm49Qm9pbmcgcnQ9MTAzNzc4NDYyMiByZz1wYXJ0eQp+IyEgdGlkPTEwMzQ3MDQwMzEKYWxzbyBpc3QgZ2xvaW5zb24gamV0enQgZGVyIHN1ZW5kZW5ib2NrIGZ1ZXIgYWxsZCBpZSBhcm1lbiBrbGVpbmVuIG11ZGRlciBkaWUKc2ljaCBqYSBzY2hvbiBzbyBzZWhyIGF1ZiBkaWUgd2ludGVyYnVyZ3BhcnR5IGdlZnJldXQgaGFiZW4gd2VsY2hlIGJhbWJpCmJlcmVpdCB3YXIgenUgb3JnYW5pc2llcmVuPwoKc3RvcCB3aGluaW5nLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEdub21lLCAyMC4gTm92IDIwMDIsIDEyOjM3OjM2KToKfiMhIHJuPVBpdGZhbGwgcnQ9MTAzNzc5MTEzNSByZz1wYXJ0eQp+IyEgdGlkPTEwMzQ3MDQwMzEKYXJnbCwgZGEgaGFiIGljaCBqYSB3aWVkZXIgd2FzIGxvc2dldHJldGVuLgpoYWJlIG1pY2ggZG9jaCBudXIgZGFydWViZXIgZ2V3dW5kZXJ0LCB3YXJ1bSBlcyBwbG9ldHpsaWNoIHNvIHdlbmlnIHNpbmQuCmJlcnVoaWd0IGV1Y2ggYml0dGUsIHZvbiBNSVIgYXVzIHdpcmQgZGllIHBhcnR5IGhhbHQgbWFsIGVpbiBldHdhcwpncm9lc3NlcmVyIHN0YXRpLiBpc3QgbWFsIHdhcyBhbmRlcmVzLiA6KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRoYWxlLS0gPyAoS2VrcywgMjEuIE5vdiAyMDAyLCAwNToyODozNyk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAzNzcyODU2NCByZz1wYXJ0eQp+IyEgdGlkPTEwMzc1NjUwMTMKbWVpbiBmYmFuZCB3ZWlzcyBqYSBtZWhyIG9kZXIgd2VuaWdlciBiZXNjaGVpZC4uLiBkYXNzIG1laW4ga29udG8gZ2VzcGVycnQKd3VyZGUgLSB1bmQgaWNoIGRlc3dlZ2VuIGtlaW5lIDE1MCBldXJvIGhhYmUsIHVtIGRpZSBmYWhydCB6dSBiZXphaGxlbi4uLiB3YWVyCmdlcm4gZ2Vrb21tZW4hISEgYWJlciB2aWVsbGVpY2h0IHNjaGlja3Qgcm9jaHVzIGphIGVpbiBwYWFyIGtpcnNjaHJ1bS1rdWdlbG4/CjotKSBvaCAtIHp1ZGVtIHd1cmRlIGZ1ZXIgbmFlY2hzdGVuIGZyZWl0YWcgYXVjaCBub2NoIGVpbmUga29uZmVyZW56CmFuZ2VzZXR6dCwgc29kYXNzIGljaCBvaG5laGluIG5pY2h0IHNvb29vb29vIGxhbmcgaGFldHRlIGJsZWliZW4ga29lbm5lbi4uLgp0cm90emRlbSBzY2hhZGUhICpzZXVmeioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHRoYWxlLS0gPyAoVHJhamFuLCAyMi4gTm92IDIwMDIsIDExOjMxOjU0KToKfiMhIHJuPUdub21lIHJ0PTEwMzc3MjgzMzAgcmc9cGFydHkKfiMhIHRpZD0xMDM3NTY1MDEzCgpIaWVyIHp1bSBCZWlzcGllbC4gQmluIGF1Y2gga3VyemZyaXN0aWcgdmVyaGluZGVydCwgaGFiZSBhYmVyIGZ1ZXIgVGhhbGUKZ2VzdGltbXQuCgpBbGNpbmEgLSBoZXV0ZSBpbmNvZ25pdG8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEdsb2luc29uLCAyMi4gTm92IDIwMDIsIDE1OjUzOjIwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzc3NDI3Nzcgcmc9cGFydHkKfiMhIHRpZD0xMDM0NzA0MDMxCldpY2h0dWxhdXM6CiBIaWVybWl0IGlzdCBvZWZmZW50bGljaGVzIFdpY2h0ZWxuIGF1c2dlcnVmZW4uIEdlc3VjaHQgc2luZCBlaW5lIE11ZXR6ZQogdW5kIGRpdmVyc2UgV2ljaHRlbGVpZW4gaW0gUmFobWVuIGJpcyB6dSA1IEV1bGVuLiBCaXR0ZSBNYWV1c2UgbWl0bGllZmVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRy1SUEcgKEh1bW5pLCAyNS4gTm92IDIwMDIsIDEzOjEyOjAxKToKfiMhIHJuPUh1bW5pIHJ0PTEwMzY1MTY1ODkgcmc9cGFydHkKfiMhIHRpZD0xMDM2NTE2NTg5Ckh1aHUsCgppY2ggbm9jaG1hbC4gSWNoIGhhYiBiaXNoZXIgbnVyIHdlbmlnIExldXRlLCB2b24gZGVuZW4gaWNoIGRlZmluaXRpdiB3ZWlzcwpkYXNzIHNpZSBtaXRzcGllbGVuIHdvbGxlbiAoQ2Fzc2FuZHJhLCB1bmQgZWluIGdld2lzc2VyLi4uIEthZW1wZmVyIHdvbGx0ZQp3aWVkZXIgdm9yIGRpZSBXYW5kIGxhdWZlbiwgZGVzIHdlaXRlcmVuIGdsYXViIGljaCBhdWNoIEdsb2luc29uLCBvZGVyIHRhZXVzY2gKaWNoIG1pY2ggZ2VyYWRlPykgLSBhbHNvIHNpbmQgYmlzaGVyIDMuCgpEYSBpY2ggZ2VyYWRlIHRvbGxlLCBzZWxic3RlbnR3b3JmZW5lIENoYXJha3RlcmJvZWdlbiBhdXNkcnVja2UgYml0dGUgaWNoCm5vY2htYWwgdW0gTWVsZHVuZywgamEsIGljaCBicmluZyB3YXMgbWVociBtaXQsIGFiZXIgdHJvdHpkZW0gd2FlcmUgYXVjaCB3ZWdlbgpTdG9yeWxpbmUgbmUgZ3JvYmUgRWluc2NoYWV0enVuZyBlY2h0IGd1dC4gQml0dGUgYXVjaCBkaWUgbWVsZGVuIGRpZSBzY2hvbgpiZWltIGxldHp0ZW4gTWFsIGRhYmVpd2FyZW4sIGJlaSBJbnRlcmVzc2UuIAoKRGFua2UgZnVlciBkaWUgQXVmbWVya3NhbWtlaXQuCgooU29sbHRlIHNpY2ggamVtYW5kIHNvbnN0IG5vY2ggZ2VtZWxkZXQgaGFiZW4gdW5kIGljaCBkYXMgdWViZXJzZWhlbiBvZGVyCnZlcmdlc3NlbiBoYWJlbiBiaXR0ZSBpY2ggdW0gRW50c2NodWxkaWd1bmcgdW5kIG5vY2htYWwgbWVsZGVuIDstKSApCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWZnIHZvbiBGRk0gKE11YWRkaWIsIDI1LiBOb3YgMjAwMiwgMTQ6MTk6MzIpOgpIaSwKCmJlaSBtaXIga2FubiBub2NoIGVpbmUgUGVyc29uIChtaXQgd2VuaWcgZ2VwYWVjaykgdm9uIEZGTSBuYWNoIFRoYWxlCm1pdGZhaHJlbi4gQWJmYWhydCBGcmVpdGFnLCB2b3JhdXNzaWNodGxpY2ggZ2VnZW4gMjAuMDAgVWhyLiBSdWVja2ZhaHJ0ClNvbm50YWcgbmFjaCBkZW0gTWl0dGFnZXNzZW4uIEJlaSBJbnRlcmVzc2UgLT4gbXVkbWFpbAoKTXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEdsb2luc29uLCAyNy4gTm92IDIwMDIsIDE5OjE1OjI4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzc5NzY4MDAgcmc9cGFydHkKfiMhIHRpZD0xMDM0NzA0MDMxCkluZm9ybWF0aW9uZW4gZ2VzdWNodDoKIEFsbGUgZGllIHNpY2ggaW4gVGhhbGUgZWluZmluZGVuIHdvbGxlbiB1bmQgd2VyZGVuIG1vZWdlbiBtaXIgYml0dGUgZG9jaAogaXJnZW5kd2VsY2hlIEFid2VpY2h1bmdlbiB2b20gbm9ybWFsZW4gVm9yZ2VoZW4sIHdpZToKIC0gYmlzaGVyIGtlaW5lIEFubWVsZHVuZyBhdWYgZGVtIEJyZXR0CiAtIEtvbW1lbiBlcnN0IGFtIFNhbXN0YWcvQWJmYWhydCBmcnVlaGVyCiBzcGFldGVzdGVucyBGcmVpdGFnIG1pdHRlaWxlbi4gQmlzIDEyOjAwIFVociBub2NoIHBlciBlLW1haWwsIGRhbmFjaAogdGVsZWZvbmlzY2ggb2RlciBwZXIgU01TICgwMTcyLzE3NTUyMzcpLgogR3J1bmQ6IFdlbm4gaWhyIG5pY2h0IGdlbWVsZGV0IHNlaWQsIHNvIGJyYXVjaHQgaWhyIGRvY2ggZWluIEJldHQgdW5kIGRhcwogbXVzcyBpY2ggYmVpIG1laW5lciBBbmt1bmZ0IGdlZ2VuIDE3OjAwIFVociBhbm1lbGRlbi4gQWVobmxpY2ggbWl0IHNwYWV0ZXJlbQogS29tbWVuIGFtIFNhbXN0YWcuCgpCZXR0aW5mb3JtYXRpb246CiBXZWdlbiBOYWNoZnJhZ2VuOiBiaXMgYXVmIG9mZml6aWVsbGUgREpILVNjaGxhZnNhZWNrZSBzaW5kIHNvbnN0aWdlIFNjaGxhZi0KIHNhZWNrZSBkb3J0IHZlcmJvdGVuLiBFbnR3ZWRlciBhbHNvIEJldHR3YWVzY2hlIG9kZXIgZHJlaSBFdXJvIG1pdGJyaW5nZW4uCiBEaWVqZW5pZ2VuIHdlbGNoZW4gZGllIHNlaHIgc3BhZXQgZWludHJ1ZGVsbiAoYWIgMjA6MDApLCBzb2xsdGVuIGlocmVuCiBCZWRhcmYgYW4gQmV0dHdhZXNjaGUgbWVsZGVuLCBkYW1pdCB3aXIgZGllIGF1c2xlZ2VuIGtvZW5uZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEdsb2luc29uLCAyOS4gTm92IDIwMDIsIDEwOjUzOjU4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzg0MjA5Mjggcmc9cGFydHkKfiMhIHRpZD0xMDM0NzA0MDMxCkJpbiB3ZWc6CiBOb3RmYWxsbnVtbWVyOiAwMTcyLzE3NTUyMzcKIFN0cmFzc2VucGxhbnVuZzogaHR0cDovL3dlYjAxLmp1Z2VuZGhlcmJlcmdlLmRlL2p1Z2VuZGhlcmJlcmdlbi90aGFsZS8KICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy50aGFsZS5kZS9pbWFnZXMvVGhhbGUtS2FydGVfZ2l0dGVyLnN3ZgogICAgICAgICAgICAgICAgICAtIFRpcHA6IGltbWVyIHN1ZWRsaWNoIGRlciBCb2RlIGVudGdlZ2VuIGRlbSBTdHJvbSwKICAgICAgICAgICAgICAgICAgICBpcmdlbmR3YW5uIGlzdCBkYW5uIGRhIGRpZSBKSCAoenUgRnVzcyB2b20gQmFobmhvZjoKICAgICAgICAgICAgICAgICAgICBuYWNoIGRlciByb21hbmlzY2hlbiBLaXJjaGUgdm9yYmVpIHVlYmVyIGRlbiBncm9zc2VuCiAgICAgICAgICAgICAgICAgICAgUGxhdHosIGRhbm4gcmVjaHRzIGFiYmllZ2VuIHp1ciBCb2RlKQoKIFdlciBub2NoIEJldHR3YWVzY2hlIGhhYmVuIG1vZWNodGUgYWJlciBzcGFldCBrb21tdCAtIEJlc2NoZWlkIHNhZ2VuLAogc29uc3QgbXVlc3NlbiB3aXIgZGEgc3BhZXQgamVtYW5kZW4gaG9jaHNjaGV1Y2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEdsb2luc29uLCAgMS4gRGV6IDIwMDIsIDIwOjE5OjE2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzg1NjM2Mzggcmc9cGFydHkKfiMhIHRpZD0xMDM0NzA0MDMxClRzY2hhIC0gRGFuayBhbiBkaWUgR2Flc3RlIHVuZCBmbGVpc3NpZ2VuIEhlbGZlci4gTmFlY2hzdGVzIE1hbCwgd2VubiBNZXNpcmlpCmRhcyBHYW56ZSBvcmdhbmlzaWVydCBkYW5uIGdpYnQgZXMgYXVjaCBiZXNzZXJlcyBXZXR0ZXIgdW5kIG5pY2h0IHNvIHZpZWxlCiJtaXNzaW5nIGRldGFpbHMiIGF1ZiBkZXIgUm9zc3RyYXBwZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4gKEdub21lLCAgMS4gRGV6IDIwMDIsIDIzOjM3OjE3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzg3NzAzNTYgcmc9cGFydHkKfiMhIHRpZD0xMDM0NzA0MDMxCnRzY2hhLCBkYW5rIGFucyAybWFubi9mcmF1LW9yZ2F0ZWFtLiBzZWhyIHNjaG9lbiBwcm9ibGVtbG9zIGFsbGVzLgpudXIgZGFzIHdldHRlciB3YXIgenVtLi4uIGFlaC4uLiAidGFsaXNtYW4iLXNwaWVsZW4uIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWml0YXRlIChIdW1uaSwgIDIuIERleiAyMDAyLCAxMzoyMDoxOSk6ClppdGF0ZSB2b24gZGVyIFBhcnR5OgoKV2FzIHNwaWVsdCBFbGJpIGJlaW0gUm9sbGVuc3BpZWw/Cldlbm4gRHUgbmVuIFp3ZXJnIHNwaWVsc3Qgc3RlaHQgZGFzIGtvbnRyYWVyIHp1IERlaW5lciBHcm9lc3NlLicnCi0tICwsV2VubiBpY2ggbmVuIEVsZiBzcGllbGUsIHN0ZWh0IGRhcyBrb250cmFlciB6dSBtZWluZXIgQnJlaXRlLicnCgpIdW1uaSB1bmQgQWtqYXJhIGVyZmluZGVuIG5ldWUgU3BpZWxlLgogLCxTYWcgbWFsIG5lIFphaGwuJycgLSAsLDMnJyAtICwsNC4gR2V3b25uZW4uJycKCkVzIGdpbmcgZGFydW0sIGRhc3MgRWxiaSBub2NoIG5pY2h0IGJldHJ1bmtlbiBnZW51ZyB3YXI6CkVsYmVyZXQ6ICwsSWNoIGthbm4gbm9jaCB0cmlua2VuLicnICh1bmQgZ3JlaWZ0IG5hY2ggZWluZW0gQmllcikKR25vbWU6ICwsSGUsIGRhcyBpc3QgbWVpbnMhJycKCihEZXIgaXN0IGpldHp0IGFsdCwgYWJlciBlaW5pZ2Uga2FubnRlbiBkZW4gbm9jaCBuaWNodCkKU3BlbGxmaXJlOiAsLEdlaCBtYWwgZnVlciBtaWNoIHBpc3NlbicnCkh1bW5pOiAsLE9LJycKU3BlbGxmaXJlOiAsLER1IHdhcnN0IG5pY2h0IGZ1ZXIgbWljaCBwaXNzZW4uJycKSHVtbmk6ICwsRHUgbXVzc3Rlc3QgamEgYXVjaCBnYXIgbmljaHQuJycKU3BlbGxmaXJlOiAsLER1IGthbm5zdCBudXIgbmljaHQgbWl0IHNvIG5lbSBLYWxpYmVyIHVtZ2VoZW4uLi4nJwoKU3BlbGxmaXJlIHVlYmVyIEVsYmkncyBFcnNjaGVpbnVuZyBiZWltIFJvbGxlbnNwaWVsOgogLCxJY2ggYmluIGdhciBuaWNodCBzbyBkaWNrLiBJY2ggaGFiIG51ciAnbiBkaWNrZW4gU2NobmVpZGVyLicnCgpTcGVsbGZpcmUgYmVpbSBIZFItU3BpZWw6CiAsLEljaCBoYWIgZGFzIFNwaWVsIG5vY2ggbmljaHQgbWFsIGd1dCBnZW51ZyBnZWJsaWNrdCwgdW0genUga2FwaWVyZW4sIHdpZQptYW4gYmVzY2hlaXNzdC4nJwoKU2VsYmlnZXIgdWViZXIgc2VpbmUgQ0Q6ICwsRGEgc2luZCBmYXN0IG5pY2h0IG51ciBLYXJuZXZhbHNsaWVkZXIgZHJhdWYhJycKCiAsLFdlbGNoZXIgTWVuc2NoZW5hZmZlIGxlYnQgaW4gZGVyIGZyZWllbiBXaWxkYmFobiBudXIgYXVmIFN1bWF0cmEgdW5kCkJvcm5lbz8nJyAtICwsR2xvaW4nJwooV2VyIHdhciBkYXMgbm9jaG1hbD8gQXVjaCBTcGVsbGk/KQoKSG1wZi4gU2luZCBkaWUgdWViZXJoYXVwdCBvaG5lIFp1c2FtbWVuaGFuZyBndXQ/IE5hamEsIHdlbm4gbmljaHQgd2VuaWdzdGVucwpmdWVyIGRpZSBMZXV0ZSBkaWUgZGFiZWl3YXJlbi4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChLYXJpbWEsICA4LiBKYW4gMjAwMywgMTU6NDg6MTIpOgpIdWh1IGlociBQYXJ0eW11ZGRlcnMhClRoYW50YWxhcyB1bmQgaWNoIGhhYmVuIHVucyB1ZWJlcmxlZ3QsIGRhc3MgZXMgZ2FueiBmZWluIHdhZXJlLCBuZSBQYXJ0eSB6dQpoYWJlbiBpbSBGcnVlaGxpbmcuCkRhcnVtIHVuc2VyIFZvcnNjaGxhZzoKCk9ydDogV2ludGVyYnVyZwoKWmVpdDogNy4gYmlzIDkuIE1hZXJ6CgpDaGluZXNlIGdpYnRzIGphIGJla2FubnRlcndlaXNlIGRhLiBBdWNoIGFuc29uc3RlbiBpc3QgV0IgamEgYmVrYW5udC4uLgoKV2FzIGhhbHRldCBpaHIgZGF2b24/CkdlYnQgbWFuIHBvc2l0aXZlIC8gbmVnYXRpdmUgLyBhdXNnZWdsaWNoZW5lICghISEhKSBydWVja21lbGR1bmcKCkJpcyBkZW5uZQoKS2FyaW1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKFBpdGZhbGwsICA4LiBKYW4gMjAwMywgMTU6NDk6MDgpOgp+IyEgcm49S2FyaW1hIHJ0PTEwNDIwMzcyOTIgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCnRyZWlic3QgZHUgbm9jaCBuZW4gc3BydW5ndHVybSB6dW0gbWVkaXRpZXJlbiBhdWY/CmRhbm4gYXVzZ2VnbGljaGVuLCBhbnNvbnN0ZW4gZGFmdWVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEZsYXVyb3MsICA4LiBKYW4gMjAwMywgMTU6NDk6NDApOgp+IyEgcm49S2FyaW1hIHJ0PTEwNDIwMzcyOTIgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCkphLCBpY2ggYmluIGRhYmVpICh1bmQgd2llIGljaCBkZW5rZSwgbm9jaCB2aWVsZSBhbmRlcmUpLiA6KQoKRmxhdXNjaGkgLSBmcmV1dCBzaWNoIHNjaG9uIGRyYXVmLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEthcmltYSwgIDguIEphbiAyMDAzLCAxNTo0OTo0NCk6Cn4jISBybj1QaXRmYWxsIHJ0PTEwNDIwMzczNDggcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCk5hamEuLi4gCkljaCB3ZWlzcyBqYSBuaWNodCwgd2llIGhvY2ggZGllIEJ1cmdtYXVlciBkYSBpc3QuLi4gIG9kZXIgc28gKmZnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKE9ya3RvZXRlciwgIDguIEphbiAyMDAzLCAxNTo1MjoxMyk6Cn4jISBybj1LYXJpbWEgcnQ9MTA0MjAzNzM4NCByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKSWNoIGJpbiBnZWdlbiBXaW50ZXJidXJnOgoxLiBadSBlaW5zYW0gKHNjaGxlY2h0IHp1IGVycmVpY2hlbikKMi4gWnUgdGV1ZXIKCk9ya1QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEZsYXVyb3MsICA4LiBKYW4gMjAwMywgMTU6NTM6MDcpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDIwMzc1MzMgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCkRhbm4gYnJpbmdlIG5lbiBHZWdlbnZvcnNjaGxhZyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChHbm9tZSwgIDguIEphbiAyMDAzLCAxNTo1NDo1NSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA0MjAzNzUzMyByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKZWluc2FtIHVuZCB0ZXVlciB3YXIgdGhhbGUgYXVjaC4gYWJlciBlcyBnYWIgd2VuaWdzdGVucyBiaWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEltZGEsICA4LiBKYW4gMjAwMywgMTU6NTU6NDMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDIwMzc1MzMgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCjEuIEVpbnNhbSBpcyB3b2hsIGZ1ZXIgbmUgX011ZF9wYXJ0eSBhbSBiZXN0ZW4gZ2VlaWduZXQsIHVuZCB3YXMgZGllCmVycmVpY2hiYXJrZWl0IGFuZ2VodDogd2VyIHNpY2ggZGllIEJhaG4gbGVpc3RlbiBrYW5uLCBkZXIga2FubiBzaWNoIGF1Y2ggbgpUYXhpIGxlaXN0ZW4uCjIuIFdpbnRlcmJ1cmcgd2FyIGRvY2ggc29uc3QgaW1tZXIgcmVsYXRpdiBwcmVpc3dlcnQuIEhhbSBkaWUgYWxsZ2VtZWluCmF1Zmdlc2NobGFnZW4sIG9kZXIgd2FzIHdhciBsZXR6dGVzIG1hbD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoU291LCAgOC4gSmFuIDIwMDMsIDE1OjU2OjI0KToKfiMhIHJuPUthcmltYSBydD0xMDQyMDM3MjkyIHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjAzNzI5MgoqZnJldSogKmp1YmVsKiAqaHVlcGYqCgpTb3UgZ2lidCBSdWVja21lbGR1bmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChCb2luZywgIDguIEphbiAyMDAzLCAxNTo1NzozOCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA0MjAzNzUzMyByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKRHUgbXVzc3QgbmljaHQga29tbWVuIE9ya3RvZXRlciAuLi4ga2VpbmVyIHp3aW5ndCBEaWNoIC4uLiB3aXJrbGljaCEgOikKICBCb2luZyAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChPcmt0b2V0ZXIsICA4LiBKYW4gMjAwMywgMTY6MDE6NTgpOgp+IyEgcm49Qm9pbmcgcnQ9MTA0MjAzNzg1OCByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKQm9pbmcsIGljaCBzZWggamEgZWluIGRhcyB2aWVsZSAiYWx0ZSBIYXNlbiIgaW56d2lzY2hlbiBrZWluZSBTdHVkaWVzIG1laHIKc2luZCB1bmQgbWVociBHZWxkIHp1ciBWZXJmdWVndW5nIGhhYmVuIGFscyBlaW5zdCwgYWJlciBkYXMgTUcgd2lyZCBkb2NoIGltbWVyCndpZWRlciB0ZWlsd2Vpc2UgZ3J1bmRsZWdlbmQgZ2VhZW5kZXJ0IG1pdCBkZW0gQXJndW1lbnQgZGFzIGRvY2ggYXVjaCBpbW1lcgpuZXVlIFNwaWVsZXIga29tbWVuLCBzZWxic3Qgd2VubiBzb2xjaGUgYWVuZGVydW5nZW4gYWx0ZSBTcGllbGVyIHZlcmdyYXVsZW4uCk51biwgdm9uIGRlbiBqdW5nZW4gc2luZCB2aWVsZSB3aWVkZXIgU3R1ZGllcyB1bmQgaGFiZW4gbmljaHQgc28gdmllbCBHZWxkCnVlYmVyLgoKWnUgSW1kYTogV2ludGVyYnVyZyAoenVtaW5kZXN0IHdlbm4gZHUgbmljaHQgZG9ydCBaZWx0ZXN0KSB3YXIgc2Nob24gaW1tZXIKd2VzZW50bGljaCB0ZXVyZXIgYWxzIGVpbmUgVHVybmhhbGxlIHp1bSBwZW5uZW4gdW5kIGVpbmUgSGFsbGUgZnVlciBkaWUgUGFydHkuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEhpc2FzdWwsICA4LiBKYW4gMjAwMywgMTY6MTQ6MzIpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDIwMzgxMTggcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCkljaCBmaW5kIGRpZSBJZGVlIGtsYXNzZSwgdW5kIGJpbiBhdWYgamVkZW4gRmFsbCBmdWVyIGVpbmUgUGFydHkgaW4gV0IhCgpIb2ZmZW5kIGRhc3MgZXMga2xhcHB0LApIaXMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKFZhbmlvbiwgIDguIEphbiAyMDAzLCAxNzozNjoxNCk6Cn4jISBybj1LYXJpbWEgcnQ9MTA0MjAzNzI5MiByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKV2ludGVyYnVyZyBpcyBtaXIgYXVjaCBkaWVzZXMgSmFociB3aWVkZXIgenUgd2VpdCB3ZWcuIDooCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoSHVtbmksICA4LiBKYW4gMjAwMywgMTc6NTM6MTQpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNDIwNDM3NzQgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCk1pciBuaWNodC4gSWNoIGZpbmRlLCBkYXMga2xpbmd0IGd1dC4KCkh1bW5pIHdhZXJtdCBzY2hvbm1hbCBNb3JkaWxsYXIgYXVmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoQ2FkcmFjaCwgIDguIEphbiAyMDAzLCAxNzo1MzozMCk6Cn4jISBybj1WYW5pb24gcnQ9MTA0MjA0Mzc3NCByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKQWJnZWxlZ2VuIG9kZXIgdGV1ZXIgaXN0IGFuc2ljaHRzc2FjaGUsIGFiZXIgZnVlciBuZSBNRyBGcnVlaGphaHJzcGFydHkgaXN0CldpbnRlcmJ1cmcgZWlnZW50bGljaCB6dSBrbGVpbi4gWmVsdGVuIGdlaHQgenUgZGVyIEphaHJlc3plaXQgbm9jaCBuaWNodCB1bmQKd2VubiBpY2ggbWljaCByZWNodCBlbnRzaW5uZSBnYWJzIGthdW0gbWVociBhbHMgNTAtNjAgQmV0dGVuLgpJY2ggZGVua2UgV2ludGVyYnVyZyBlaWduZXQgc2ljaCBlaWdlbnRsaWNoIG51ciBmdWVyIFNvbW1lcnBhcnR5cyAobWl0IFplbHRlbikKb2RlciBXaW50ZXJwYXJ0eXMgKHdlaWwgZGllIHRyYWRpdGlvbmVsbCBkZXV0bGljaGVyIGtsZWluZXIgc2luZCkuCkRlciBUZXJtaW4ga29tbXQgbWlyIGZ1ZXIgbmUgUGFydHkgYXVjaCBhdXNzZXJnZXdvZWhubGljaCBmcnVlaCB2b3IsIGFiZXIgZGFzCmlzdCBtZWluIHN1Ympla3RpdmVzIGVtcGZpbmRlbiAtIGthbm4gZ3V0IHNlaW4gZGFzIGljaCBtaWNoIGRhIGlycmUuCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoR3JpbW1ib3JuLCAgOC4gSmFuIDIwMDMsIDE3OjU5OjE5KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTA0MjA0NDgxMCByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKVW5kIHdhcyBnZW5hdSBoaW5kZXJ0IERpY2ggbW9tZW50YW4gYW0gWmVsdGVuPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoQ2FkcmFjaCwgIDguIEphbiAyMDAzLCAxODowMDozOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0MjA0NTE1OSByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKQmlzdCBkb2NoIHNvbnN0IHNvIGZsb3R0IG1pdCBkZW0gdmVybGVnZW4sIHdpZXNvIGhhc3RlIGRhcyBub2NoIG5pY2ggbmFjaApzY2htYXJybiB2ZXJsZWd0PyA6KQoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEltZGEsICA4LiBKYW4gMjAwMywgMTg6MDU6MjIpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQyMDQ1MjM5IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjAzNzI5MgpBbHNvIGljaCBoYWIgc2Nob24gbWVocmZhY2ggdW0gZGllIEphaHJlc3plaXQgZ2V6ZWx0ZXQuIFdpZSBkYXMgZGllIEp1Z2VuZAp2aW9uIGhldXRlIHNpZWh0IHdlaXNzIGljaCBuYXR1ZXJsaWNoIG5lZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChIdW1uaSwgIDguIEphbiAyMDAzLCAxODowNjozMSk6Cn4jISBybj1JbWRhIHJ0PTEwNDIwNDU1MjIgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCmpldHp0IHdvIGljaCBkZWluZW4gTmFtZW4gc2VoZSBmYWVsbHQgbWlyIGVpbiBlbnRzY2hlaWRlbmRlciBOYWNodGVpbCB2b24KV2ludGVyYnVyZyBlaW4uIEVnYWwuIEZyZWl0YWdzIG9kZXIgU2Ftc3RhZ3M/CgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEltZGEsICA4LiBKYW4gMjAwMywgMTg6MDg6MDUpOgp+IyEgcm49SHVtbmkgcnQ9MTA0MjA0NTU5MSByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKaWNoIHdhZXIgamEgZnVlciBmcmVpdGFnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoSHVtbmksICA4LiBKYW4gMjAwMywgMTg6MDg6MTcpOgp+IyEgcm49SW1kYSBydD0xMDQyMDQ1Njg1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjAzNzI5MgpJY2ggYXVjaC4gT0suCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEltZGEsICA4LiBKYW4gMjAwMywgMTg6MDk6MDcpOgp+IyEgcm49SHVtbmkgcnQ9MTA0MjA0NTY5NyByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKQWxzbywgZGFzcyB3aXIgdW5zIG5pY2h0IGZhbHNjaCB2ZXJzdGVobjogZnJlaXRhZyBhYmVuZCBwYXJ0eSwgZGFuYWNoLCBzbwpnZWdlbiA0IHVociBhbmZhbmdlbiB1bmQgZGVuIHBlZ2VsIGhhbHRlbiwgc28gZGFzcyB3aXIgc2EgYWJlbmQgenUgcGFydHkKd2llZGVyIGRhIHNpbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChGbGF1cm9zLCAgOC4gSmFuIDIwMDMsIDE4OjA5OjEzKToKfiMhIHJuPUh1bW5pIHJ0PTEwNDIwNDU1OTEgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCkFsc28gaWNoIHNlaGUgZGFzIGFscyBWb3J0ZWlsLCBIdW1uaS4gOikKCkZsYXVyb3MgZmFlaHJ0IG1pdCBkZW0gQXV0byBuZWJlbmhlciB1bmQgZmV1ZXJ0IGF1Y2ggYWIgdW5kIHp1IGFuLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEh1bW5pLCAgOC4gSmFuIDIwMDMsIDE4OjExOjU5KToKfiMhIHJuPUZsYXVyb3MgcnQ9MTA0MjA0NTc1MyByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKSGUsIGljaCBiaW4gZWluIGFsdGVyIE1hbm4sIGljaCBiaW4ga2VpbmUgMjAgbWVoci4uLiBhbHNvIG5hY2h0cy4uLiBobW0uLiBkYXMKd2FyIG1hbC4uLiAKCkh1bW5pLCBmbGllZ3QgZGFubiBoYWx0IGFscyBEcmFjaGUgZWluZmFjaCBtaXQgZGVtIEJpZXIgaW0gTWF1bC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChJbWRhLCAgOC4gSmFuIDIwMDMsIDE4OjEyOjQ5KToKfiMhIHJuPUh1bW5pIHJ0PTEwNDIwNDU5MTkgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCkR1IGthbm5zdCBuYWNodHMgbmljaHQgbWVociB0cmlua25lPyB1bmQgbmljaHQgbWVociBzaW5nZW4/IE9obWVpbmdvdHQsIHdhcwpzb2xsZW4gd2lyIHR1bj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoQ3VjaHVsbGluLCAgOC4gSmFuIDIwMDMsIDIwOjIzOjUwKToKfiMhIHJuPUltZGEgcnQ9MTA0MjA0NTk2OSByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmc/IEVpZ2VudGxpY2ggYmluIGljaCBoaW5zaWNodGxpY2ggTXVkcGFydGllcwp6dW0gU2NobHVzcyAiV2VuaWdlciBpc3QgbWVociIgZ2Vrb21tZW4sIGJlaSBkaWVzZW4gNC1QYXJ0eS1KYWhyZW4gc3VjaHQKc2ljaCBqZWRlciBkaWUgbmFlY2hzdGdlbGVnZW5lIFBhcnR5IGF1cyB1bmQga29tbXQgenUgZGVuIGFuZGVyZW4gbmljaHQgLQp1bmQgYXVzZ2VyZWNobmV0IGRpZSBMZXV0ZSwgZGllIG1hbiBzb25zdCBOSUUgdHJpZmZ0LCB0cmlmZnQgbWFuIGRhbm4gYXVjaAp3ZWl0ZXJoaW4gbmljaHQuIE5pY2h0LCBkYXNzIGljaCB3YXMgZ2VnZW4gZWluZSBQYXJ0eSBvaG5lIE9ocmVuc2F1c2VuCihPUktUT0VURU5PUktUT0VURU5PUktUT0VURU4pIGhhZXR0ZSwgd2lya2xpY2guIDopCgpBYmdlc2VoZW4gZGF2b24gaXN0IGRlciBNYWVyeiBiZWkgbWlyIG5vY2ggU2NobmVlZmFsbG1vbmF0LCBmdWVyIFdpbnRlcmJ1cmcKa2FubiBkYXMgbG9ja2VyIGhlaXNzZW46IEVpbmdlc2NobmVpdC4gS2VpbmVyIGhpbiwga2VpbmVyIHdlZy4gRGFzIHRhZXRlCm1pciBkb3J0IG5pY2h0IGRhcyBlcnN0ZSBtYWwgcGFzc2llcmVuLi4uCgpLbGFyZXMgIkRhZ2VnZW4iLgoKWVRDdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChBbWFyeWxsaXMsICA4LiBKYW4gMjAwMywgMjE6NTU6MDYpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwNDIwNTM4MzAgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCiBHYW56ZSBtZWluZSBNZWludW5nLgpNaXQgZWluZXIgZGVyIEdydWVuZGUsIHdpZXNvIGljaCB6dSBrZWluZXIgUGFydHkgbWVociBrb21tZTogU2luZCBlaW5mYWNoIHp1CnZpZWxlLgoKRnJ1ZWhlciBnYWJzIGVpbmUgU29tbWVycGFydHksIGJlaSBkZXIgbWFuIGplZGVuIHNhaCwgZGFzIHdhcnMgZGFubi4gSGV1dGUKc2luZHMgZGVyZXIgbWluZC4gMyBiaXMgNCwgdW5kIGRhcyBQdWJsaWt1bSB6ZXJwZmx1ZWNrdCBzaWNoLCB3ZWlsIGthdW0gamVtYW5kCnNvIGlycl5IXkheSHNjaGFyZiBkcmF1ZiBpc3QsIDRtYWwgZHVyY2ggZ2FueiBEZXV0c2NobGFuZCB6dSBob3BwZWxuLCB1bmQgZGFubgpkb2NoIG51ciBlaW5lbiBCcnVjaHRlaWwgZGVyIEVyd2FydGV0ZW4gdm9yenVmaW5kZW4gKGRlbmVuIGVzIGViZW5zbyBnZWh0KS4KCkljaCB3aWxsIGRhbWl0IGtlaW5lIFBhcnR5IGthcHV0dHJlZGVuLCBzb2xsIGplZGVyIFNwYXNzIGhhYmVuIHdpZSBlciB3aWxsLAp3ZW5uIGVpbmUgc29sY2hlIHp1c3RhbmRlIGtvbW10IC0gdW5kIGRpZSBBcmJlaXQgZGVyIE9yZ2FuaXNhdG9yZW4gaXN0IGVyc3QKcmVjaHQgZWluZXIgV3VlcmRpZ3VuZyB3ZXJ0LiBJY2ggZnVlciBtZWluZW4gVGVpbCBmaW5kZSBqZWRvY2gsIGRhc3MKRnJ1ZWhsaW5ncy9Tb21tZXIvV2ludGVyL05pa29sYXVzcGFydHkgZGFzIEdhbnplIGVoZXIgImFid2VydGV0Ii4KCkFtYSoKClBTOiBEYXNzIGRhIGJlaSBEaXIgbm9jaCBTY2huZWUgaGVycnNjaHQsIGJlendlaWZlbCBpY2ggbWFsLCBDdWNoKiA6LSkKWnVtaW5kZXN0IHd1ZXJkIG1pY2ggZGFzIG5pY2h0IHN0b2VyZW4sIHdlaWwgaWNoIGVzIGdld29obnQgd2FyLCBlaW5nZXNjaG5laXQKenUgc2VpbiA6LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKENhZHJhY2gsICA4LiBKYW4gMjAwMywgMjI6MDc6MTIpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwNDIwNTkzMDYgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCkljaCBnbGF1YiBpY2ggbXVzcyBEaXIgZGEgbWFsIGVpbiB3ZW5pZyB3aWRlcnNwcmVjaGVuIEFtYXJ5bGxpcy4gSWNoIGJpbiB6d2FyCmJlaSB3ZWl0ZW0gbm9jaCBuaWNoIHNvIGFzYmFjaHVyYWx0IHdpZSBEdSwgYWJlciBhdWNoIHNjaG9uIGVpbiBwYWFyIEphaHJlCmRhYmVpLgpTZWl0IGljaCBkYWJlaSBiaW4gKHVuZCBsYXV0IHdlYnNlaXRlIGJlcmVpdHMgc2VpdCA5NCkgaGF0IGVzIF9pbW1lcl8gendlaSBnci4KUGFydHlzIGdlZ2ViZW4gKGltbWVyIGpld2VpbHMgenVtIEVuZGUgZGVyIFNlbWVzdGVyZmVyaWVuKS4gRGllCkZydWVoamFocnNwYXJ0eSB3YXIgendhciBuaWNoIGdhbnogc28gZ3Jvc3Mgd2llIGRpZSBpbSBTb21tZXIsIGFiZXIgd2VubiBpY2gKYW4gTWFyYnVyZyB1bmQgc28genVydWVja2RlbmtlIHdhcmVuIGRhcyBpbW1lciB3ZWl0IHVlYmVyIDEwMC4KRGllIE5pa29sYXVzcGFydHkgd2FyIGRvY2ggZ2xhdWIgaWNoIG5pZSBhbHMgZ3IuIFBhcnR5IHp1IHZlcnN0ZWhuIHVuZCBpc3QgaW4KbWVpbmVuIEF1Z2VuIGtlaW5lIEtvbmt1cnJlbnogKHdlciBkYSBrb21tdCwgZGVyIHdlaXNzIGRhcyBlcyBlaW4gZ2VzZWxsaWdlcwpHZXNlbGxzY2hhZnRzc3BpZWx3b2NoZW5lbmRlIGlzdCwgd28gc2VsYnN0IFNwZWxsaSAiWm9mZiBpbSBab28iIHNwaWVsdCAqZykuCkRhcyBQaGFlbm9tZW4gZGFzIER1IGJlc2NocmVpYnN0IGhhdCBpbiBtZWluZW4gQXVnZW4gbWVociB3YXMgZGFtaXQgenUgdHVuLApkYXMgdmllbGUgdm9uIGRlbmVuIG1pdCBkZW5lbiB3aXIgbWFsIGFuZ2VmYW5nZW4gaGFiZW4sIGJlcmVpdHMgYXVzIGRlbQpSb2xsc3R1aGwgZ2VraXBwdCBzaW5kIHVuZCBuaWNoIG1laHIga29tbWVuIGtvZW5uZW4vd29sbGVuLiBXZW5uIGVpbmUgUGFydHkKZ3V0IG9yZ2FuaXNpZXJ0IHdpcmQsIFByZWlzLCBPcnQgdW5kIFplaXQgc3RpbW10LCBkYW5uIHdlcmRlbiBhdWNoIHdlaXRlcmhpbgp6d2VpIGdyb3NzZSBQYXJ0eXMgaW0gSmFociBndXQgYmVzdGVoZW4ga29lbm5lbiAodW5kIGRhenUgYXVjaCBub2NoIGVpbmUKa2xlaW5lIE5pY2tvbGF1c3BhcnR5KS4KSW4gbWVpbmVuIEF1Z2VuIGlzdCBXaW50ZXJidXJnIChhdXMgdmVyc2NoaWVkZW5lbiBHcnVlbmRlbikgbmljaCBkZXIgcmljaHRpZ2UKT3J0LCBkaWUgWmVpdCBzdGltbXQgbmljaHQgc28gZ2FueiB1bmQgZnVlciBlaW5lIGdyb3NzZSBQYXJ0eSBhdWNoIGRlciBQcmVpcwpuaWNodC4KCkNhZCoKClAuUy46IE5pY2h0cyBnZWdlbiBXaW50ZXJidXJnLCBhYmVyIGRhcyBpc3QgbWVociBldHdhcyBmdWVyIGtsZWluZQp1ZWJlcnNjaGF1YmFyZSBnZXNlbGxpZ2UgTmlja29sYXVzcGFydHlzLiBBbGxlaW4gc2Nob24gd2VpbCBQYXJ0eW9ydCB1bmQKU2NobGFmcGxhZXR6ZSBkaXJla3QgbmViZW5laW5hbmRlciBsaWVnZW4hIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChQYXRyeW4sICA4LiBKYW4gMjAwMywgMjI6MTA6MjEpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQyMDYwMDMyIHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjAzNzI5MgpBY2gsIGRpZSBSZWdlbG4gc2luZCBkb2NoIGtsYXIsIHdlciBrZWluZSBLYXJ0ZW4tIHVuZCBCcmV0dHNwaWVsYWJlbmRlIG1hZywKZGVyIHNjaHJhZW5rdCBzZWluZSBQYXJ0eWFtYml0aW9uZW4gdW1nZWtlaHJ0IHByb3BvcnRpb25hbCB6dSB6dW5laG1lbmRlbQpFcnN0ZXJlbiBlaW4sIHdvYmVpIG1hbiBkYXMgVWViZXJtYXNzIGRpZXNlciBBYmVuZGJlc2NoYWVmdGlndW5nIHVudGVyIGRlbQpEZWNrbWFudGVsIFBhcnR5IGluIFdpbnRlcmJ1cmcgbm9jaG1hbHMgcXVhZHJpZXJlbiBkYXJmIDspCgotLSAKcGF0cnluLCBuaWNodCBtZWhyIHJlZ2VsbWFlc3NpZyBkYWJlaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChDdWNodWxsaW4sICA4LiBKYW4gMjAwMywgMjI6MjM6MDIpOgp+IyEgcm49UGF0cnluIHJ0PTEwNDIwNjAyMjEgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyClBhcnR5ICE9IFBhcnR5LiBXZW5uIFBhZHJlaWMgdm9uIFBhcnR5IHNwcmljaHQsIHNvIHNjaGVpbnQgZXIgaW4gZXJzdGVyCkxpbmllIGxhdXRlcyBTYXVmZW4tYmlzLWRlci1Bcnp0LWtvbW10IGRhcnVudGVyIHp1IHZlcnN0ZWhlbi4gVW50ZXIgZGVyCkFubmFobWUsIGRhc3MgUGFkcmVpYyBlaW5lbiBHcnVuZCBoYWJlbiBtdXNzLCB0ZXVyZSBGbHVnLS9adWdyZWlzZW4gby5hZS4KYXVmIHNpY2ggenUgbmVobWVuIHVuZCBkZW1uYWNoICJtaXQgU3BlbGxpIGlubmUgS25laXBlIGdlaGVuIiBrZWluIApTdWJzdGl0dXQgZnVlciBlaW5lIE1HLVBhcnR5IGlzdCwgd2lyZCBkYXMgZ2VtZWluc2FtZSBOZXVyb25lbi1Ub3RzYXVmZW4Kc2VpbmUgQXJ0IHNlaW4sIGRpZSB2aWVsZW4gQmV6aWVodW5nZW4gImF1Znp1ZnJpc2NoZW4iLiBJY2ggbWFjaCBkYXMgCmxpZWJlciB2ZXJoYWVsdG5pc21hZXNzaWcgbnVlY2h0ZXJuIGluIGVpbmVyIHJ1aGlnZXJlbiBFY2tlLCBiZWkgZWluZW0KU3BhemllcmdhbmcgLSBvZGVyIGViZW4gYmVpIGVpbmVyIFBhcnRpZSBTa2F0L1JvYm9SYWxseS9TY2hsYWdtaWNodG90LgoKVW5kIHVudGVyIERJRVNFUiBWb3JhdXNzZXR6dW5nIGlzdCBXaW50ZXJidXJnIGFscyBQYXJ0eW9ydCBpZGVhbDogTWFuCmhhdCAxMDkzIGJldGlzY2h0ZSBTaXR6ZWNrZW4sIGVpbmVuIGt1cnplbiBXZWcgenVtIEJldHQsIGVpbmUgcnVoaWdlCkxhbmRzY2hhZnQgdW5kIHp1bSBBdXNnbGVpY2ggZWluZSBsYXV0ZSBTdGVyZW9hbmxhZ2UuIEFiZXIgaWNoIGJpbiwgCkpvZmxvYiwgbmljaHQgUGFkcmVpYy4KCkljaCBzdGltbWUgUGFkcmVpYyBpbiBlaW5lbSBQdW5rdCBhYmVyIHp1OiAiVmllbGUgTGV1dGUiIHVuZCAiV2ludGVyYnVyZyIKdmVydHJhZ2VuIHNpY2ggbnVyIGJlZGluZ3QuIFdlbm4gZXMgenVyIFBhcnR5IHp1ZW5mdGlnIHJlZ25ldCwgcmFlY2h0CnNpY2ggZGllIGdlcmluZ2UgQmV0dGVuemFobCBzb2ZvcnQ7IFdpbnRlcmJ1cmcgaXN0IGFsc28gZW50d2VkZXIgZWluClNjaG9lbndldHRlci0gb2RlciBlaW4gV2ludGVycGFydHlvcnQuCgpZVEN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKFBhdHJ5biwgIDguIEphbiAyMDAzLCAyMjoyNzoxMCk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTA0MjA2MDk4MiByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKSWNoIGhhYiBhdWNoIG1laHIgZXJsYWV1dGVydCwgd2FydW0gZXMgZnVlciBtaWNoIGxhbmdzYW0gaW4gUmljaHR1bmcKIlVuZXJ0cmFlZ2xpY2giIGxpZWYsIGljaCB3b2xsdGUgZGFtaXQgbmljaHQgd2lya2xpY2ggYW5kZXJlbiB2b3JzY2hyZWliZW4sCndhcyBzaWUgdW50ZXIgZWluZXIgUGFydHkgdmVyc3RlaGVuLCB6dW1hbCBzaWNoIGtlaW5lciB3aXJrbGljaCBlaW5lbgpEcmVjayB1bSBkaWVzYmV6dWVnbGljaGUgTWVpbnVuZ2VuIGFuZGVyZXIgc2NoZXJlbiBtdXNzLCBzb2xhbmdlIGVyIFNwYXNzCmRyYW4gaGF0LiBEaWUgTWVocmhlaXQgYmVzdGltbXQgaW4gZGllc2VtIEZhbGwgZGllIFJpY2h0dW5nLCB3ZWxjaGUKenVmYWVsbGlnIG5pY2h0IG1pdCBtZWluZW4gVm9yc3RlbGx1bmdlbiBlaW5oZXJnZWh0LgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChBbWFyeWxsaXMsICA4LiBKYW4gMjAwMywgMjI6MzI6NTgpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQyMDYwMDMyIHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjAzNzI5MgpNb2luLAoKZGFzcyBkaWUgTmlrb2xhdXNwYXJ0eSBuaWUgYWxzIGdyLiBQYXJ0eSB6dSB2ZXJzdGVoZW4gd2FyLCBoYWIgaWNoIG5pZQptaXRnZWtyaWVndCB1bmQgYXVjaCBkYW1hbHMgaW4gV2ludGVyYnVyZyBuaWNodCBzbyBlcmxlYnQuClp1bWluZGVzdCBoYWIgaWNoIGVpbmVuIFZvcnRlaWw6IGljaCBiaW4gendhciBzY2hvbiBpbSBSb2xsc3R1aGwsIGFiZXIgbm9jaApuaWNodCBhdXMgc2VsYmlnZW0gZ2VraXBwdC4gOikKCkRhcyBtaXQgZGVuICJhbHRlbiBTYWVja2VuIiAsd2FzIER1IGJlc2NocmVpYnN0LCBrYW5uIGljaCBmdWVyIG1pY2ggbmljaHQKbmFjaHZvbGx6aWVoZW4sIHdlaWwgaWNoIGRlbm5vY2gga29tbWVuIHd1ZXJkZSAoYXVjaCB3ZW5ucyB0ZXVlciBpc3QpLCBzb2Zlcm4KaWNoIHdlaXNzLCBkYXNzIFJhaG1lbiB1bmQgUHVibGlrdW0gc3RpbW10LgpSYWhtZW4gaGF0IGltaG8gc29nYXIgaW4gV2ludGVyYnVyZyBnZXBhc3N0IChpY2ggYmluIFNjaG5lZXRyZWliZW4gYW0gQXJzY2gKZGVyIFdlbHQgZ2V3b2hudCAqZyosIGVzIGhhdCBNdWRmbGFpciksIGFiZXIgbWlyIHdhcnMgZGFubiBoYWx0IGlyZ2VuZHdhbm4genUKdmllbApadW0gWnVydWVja3ppZWhlbiwgd2FzIEFuYXRvbCBhbnNwcmFjaCwgZ2lidCBlcyBpbiBXaW50ZXJidXJnIHdvaGwgbmljaHQgZ2VudWcKKGhvZWNoc3RlbnMgZGFubiwgd2VubiBudXIgZWluZSBIYW5kdm9sbCBHYWVzdGUga29tbXQpLgoKSWNoIHdvbGx0ZSBkYXMgYWJlciwgd2llIGdlc2FndCwgbnVyIG1hbCBhbHMgTWVpbnVuZyBlaW5lcyBkZXNqZW5pZ2VuCmVpbndlcmZlbiwgZGVyIGRpZSBuYWVjaHN0ZSBaZWl0IHdvaGwga2VpbmUgUGFydHkgYmVzdWNoZW4gd2lyZCA6KSBTcHJpY2g6ClZpZWwgU3Bhc3MsIGVnYWwgd29iZWkgOikKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoSHVtbmksICA5LiBKYW4gMjAwMywgMDE6NDY6MzYpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwNDIwNjE1Nzggcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCldhcyBpY2ggbnVyIHNhZ2VuIHdvbGx0ZToKCkxldHp0ZXMgSmFociBoYXR0ZW4gd2lyIDMgUGFydGllcy4gRWluZSAxMC1KYWhyZXMtUGFydHkgbWl0IHN1cGVyLXZpZWxlbgpMZXV0ZW4uIEVpbmUgU29tbWVycGFydHkgZGllIGF1Y2ggZ3V0IGJlc3VjaHQgd2FyIG1pdCBTY2h3aW1tYmFkIHVuZCBlaW5lCldpbnRlcnBhcnR5LCBkaWUgYXVzIG1pciB1bmJla2FubnRlbiBHcnVlbmRlbiBtaXQga25hcHAgdWViZXIgMjAgTGV1dGVuCmJlc3VjaHQgd2FyLCBvYnNjaG9uIHVlYmVyIDQwIGZ1ZXIgZGVuIE9ydCBnZXN0aW1tdCBoYWJlbiwgbGFzc2VuIHdpcnMKZGFoaW5nZXN0ZWxsdCAod2VyIG5pY2h0IGRhYmVpd2FyIGlzdCBqYSBzY2hsaWVzc2xpY2ggc2VsYnN0IHNjaHVsZCkuCgpJY2ggc2VoZSBkZXJ6ZWl0IDIgUGFydGllcyBkaWUgZnVlciBkaWVzZXMgSmFociBnZXBsYW50IHNpbmQ6IEVpbmUgaW0gTWFlcnoKdW5kIGVpbmUgaW0gU29tbWVyLiBEYXp1IGthbm4gaWNoIG1pciBndXQgdm9yc3RlbGxlbiBkYXNzIGVzIG5lIFdpbnRlcnBhcnR5CmdlYmVuIHdpcmQuCgpTZWh0IGlociBlaW5lIHZpZXJ0ZT8gSGFiIGljaCB3YXMgdWViZXJzZWhlbj8gSWNoIGhhYiBuaXggZGFnZWdlbiwgYWJlciBzZWgKZGllIGRlcnplaXQgbmljaHQuIFdCIG1hZyBmdWVyIHNvIHZpZWxlIExldXRlIGluIGRlciBUYXQgenUga2xlaW4gc2VpbiwgZGFzCmthbm4gaWNoIHNjaHdlciBzYWdlbiBkYSBpY2ggbmljaHQgZ2VuYXUgd2Vpc3Mgd2llIHZpZWxlIEJldHRlbiBkYSBzaW5kIC0gYWJlcgpQbGF0eiB6dW0genVydWVja3ppZWhlbi4uLiBhbHNvIGljaCBlcmlubmVyIG1pY2ggYW4gZWluIEthbWluemltbWVyLCBlaW4KRXNzemltbWVyLCBlaW5lbiBQYXJ0eXJhdW0sIGVpbmVuIFJhdW0gbWl0IEtsYXZpZXIuLi4gaXN0IHNjaG9uIGVpbmlnZXMuLi4gd2FzCnVlYmVyc2VoIGljaCBnZXJhZGU/CgpHaWJ0IGphIGF1Y2ggbm9jaCBTY2hsYWZ6aW1tZXIuIFp1bSB3aXJrbGljaGVuIHp1cnVlY2t6aWVoZW4sIGtsYXIsIG5pY2h0IGluCmRlciBHcnVwcGUsIGFiZXIgZGFzIHNvbGx0ZSBJTUhPIGRvY2ggZ2VoZW4uIFZpZWxsZWljaHQgZGVuayBpY2ggZGEgYWJlciBhdWNoCmZhbHNjaC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSBVcGRhdGUgKFRoYW50YWxhcywgIDkuIEphbiAyMDAzLCAxMTowNToyMyk6Ck1vaW4sIG9id29obCBlcyB2aWVsZSBCZWRlbmtlbiBnYWIsIGRhc3MgV2ludGVyYnVyZyB2aWVsbGVpY2h0IHp1IGtsZWluIHdhZXJlLApuYWphIHdpciBtaWV0ZW4gZXJzdG1hbCBhbSBCZXN0ZW4gZGFzIGdyb3NzZSBIYXVzLCB3ZW5uIHNpY2ggbWVociBhbHMgNzAgTGV1dHMKZmluZGVuLCBzb2xsZW4gc2llIGF1ZiBkZW0gQm9kZW4gc2NobGFmZW4sIG9kZXIgZXMgZmluZGVuIHNpY2ggbm9jaCBzY2huZWxsCmdlbnVnIHdlbGNoZSwgZGFtaXQgd2lyIG5vY2ggZGFzIGtsZWluZSBIYXVzIG1pZXRlbiBrb2VubmVuLgoKVW0gZGFzIFBhcnR5YnJldHQgYXVmc3RlbGxlbiB6dSBrb2VubmVuLCBicmFldWNodGVuIHdpciBlcnN0bWFsIGVpbmVuCktvc3RlbnZvcmFuc2NobGFnLCBkZW4gd2lyIHZvciBPcnQgYXVzaGFuZGVsbiB3ZXJkZW4sIHNvYmFsZCBkYXMgV2V0dGVyIGVzCmVybGF1YnQsIGhpbnp1ZmFocmVuIDopCgpUaGFudGFsYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBGcnVlaGphaHJzcGFydHkgaW4gV2ludGVyYnVyZyAoU3Ryb2hhbG0sICA5LiBKYW4gMjAwMywgMTM6NDQ6MDEpOgp+IyEgcm49SHVtbmkgcnQ9MTA0MjA3MzE5NiByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKRWluZGV1dGlnIGZ1ZXIgV2ludGV3cmJ1cmcuLiBpY2ggYmluIGRlZmluaXRpdiBhbndlc2VuZCA7KQoKLi4uIHVuZCBmYWxscyBha3V0ZXIgQmV0dGVubWFuZ2VsIGhlcnJzY2hlbiBzb2xsZSwgZ2ViIGljaCBtaWNoIGF1Y2ggbWl0IGVpbmVtCmJlcXVlbWVuIFNjaGxhZnBsYXR6IGluIGVpbmVyIHJ1aGlnZW4gUmF1bWVja2UgenVmcmllZGVuLgoKCkhhZWxtY2hlbgoKUC5TLjogTWFuIGthbm4gYXVjaCBiZXNvZmZlbiBTa2F0L1JvYm9SYWxseS9XYXNXZWlzc0ljaFdhcyBzcGllbGVuLCBlcnN0IGRhbm4KbWFjaHQgc293YXMgcmljaGdpZyBTcGFzcyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJ1ZWhqYWhyc3BhcnR5IGluIFdpbnRlcmJ1cmcgKEJhbWJpLCAgOS4gSmFuIDIwMDMsIDEzOjUwOjE0KToKfiMhIHJuPUZsYXVyb3MgcnQ9MTA0MjAzNzU4NyByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKV2VoZSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSBVcGRhdGUgKEJhbWJpLCAgOS4gSmFuIDIwMDMsIDE0OjEzOjE3KToKfiMhIHJuPVRoYW50YWxhcyBydD0xMDQyMTA2NzIzIHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwpEZXIgS29zdGVudm9yYW5zY2hsYWcgZnVlciBsZXR6dGVuIERlemVtYmVyIHNvbGx0ZSBuaWNodCBncm9zcyBzY2h3YW5rZW4uIEFsc28KNDUgYmlzIDUwIEV1cm8gc29sbHRlIE9iZXJncmVuemUgYmxlaWJlbi4gV2VubiBpaHIga25hcHAga2Fsa3VsaWVydCwga29tbXQgaWhyCndvaGwgbm9jaCB1bnRlciBtZWluZW4gRmluYW56aWVydW5ncyJwbGFuIiwgYWJlciBpY2ggYmluIGRhIG5pY2h0IHNvCnJpc2lrb2ZyZXVkaWcsIGFscyBkYXNzIGljaCBkYW5hY2ggZmVobGVuZGVtIEdlbGQgbmFjaHJlbm5lbiBvZGVyIGRhcyBzZWxic3QKZmluYW56aWVyZW4gd2lsbC4KCkRpZSBCZXR0ZW56YWhsIHNvbGx0ZSwgd2llIHNjaG9uIGVyd2FlaG50IG1pdCA3MCBCZXR0ZW4gaW0gSGF1cHRoYXVzCnJlYWxpc3Rpc2NoIHNlaW4gdW5kIGthbm4gdW0gZGFzICJSYXVjaGVyaGF1cyIgZXJ3ZWl0ZXJ0IHdlcmRlbi4gRGllCkJldHRlbnphaGwgZG9ydCBrZW5uIGljaCBuaWNodC4KCldhcyBhbGxnZW1laW4gZGllIEdyb2Vzc2Ugdm9uIFBhcnRpZXMgYW5iZWxhbmd0LCB2ZXJzdGVoIGljaCBkaWUgRGlza3Vzc2lvbgp2b24gd2VnZW4gInp1IGtsZWluIiBuaWNodCBnYW56LiA3MCBMZXV0ZSBzaW5kIG0uRS4gZHVyY2hhdXMgdmllbGUgTGV1dGUuCldpZXZpZWxlIHdhcmVuIGVzIGRlbm4gYmVpIGRlciAxMC1KYWhyZXMtUGFydHk/IERvcnQgaGFiZSBpY2ggbnVyIG1pdCBlaW5lbQpCcnVjaHRlaWwgZGVyIExldXRlIEtvbnRha3QgZ2VoYWJ0LCBkaWUgYW53ZXNlbmQgd2FocmVuLgoKQXVzc2VyZGVtIGhhbHRlIGljaCBkYXMgQXJndW1lbnQsIFdCIGhhYmUgenUgd2VuaWcgIlJ1ZWNrenVnc21vZWdsaWNoa2VpdGVuIgpmdWVyIGVpbiB6aWVtbGljaCBkYWVtbGljaGVzLiBJbiBXaW50ZXJidXJnIGhhdCBtYW4gKG1pdCBkZW4gU2NobGFmemltbWVybikKd2VzZW50bGljaCBtZWhyIGJldGlzY2h0ZSBSYWV1bWxpY2hrZWl0ZW4gKCEpIHp1ciBWZXJmdWVndW5nLCBkaWUKYmVzY2hhbGx1bmdzdGVjaG5pc2NoIHNvIHNpbmQsIGRhc3MgbWFuIHNpY2ggdW50ZXJoYWx0ZW4ga2FubiwgYWxzIGFsbGUKYW5kZXJlbiBQYXJ0eW9ydGUsIGRpZSBpY2gga2VubmUuIERpZSAxMC1KYWhyZXNwYXJ0eSB6LkIuIGhhdHRlIHVudGVuIG5lCiJEaXNrbyIsIG9iZW4gbmUgZXR3YXMgbGVpc2VyIGJlc2NoYWxsdGUsIGFiZXIgaW1tZXJoaW4gYmVzY2hhbGx0ZQpSYWV1bWxpY2hrZWl0IHVuZCBhbnNvbnN0ZW4gbnVyIG5vY2ggZGllIFRvaWxldHRlbiwgMiBHYWVuZ2UgdW5kIGRhcyAiRnJlaWUiLgoKTWFnIHNlaW4sIGRhc3MgaW4gZGVyIFR1cm5oYWxsZSBub2NoIGlyZ2VuZHdvIFBsYXR6IHdhciwgYWJlciBlcnN0ZW5zIHBlbm5lbgpuaWNodCBhbGxlIGluIFR1cm5oYWxsZW4gKGluIFdpbnRlcmJ1cmcgcGVubmVuIGR1cmNoYXVzIGFsbGUgaW0gZ2xlaWNoZW4gSGF1cwovIGluIGRlbiBnbGVpY2hlbiBiZWlkZW4sIG5lYmVuZWluYW5kZXJsaWVnZW5kZW4gSGFldXNlcm4pIHVuZCB6d2VpdGVucyB3YWVyZW4KZGllc2UgUmFldW1saWNoa2VpdGVuIHZvbiBQYXJ0eW9ydCB6dW1pbmRlc3QgZnVlciBMZXV0ZSwgZGllIG1hbCBzY2hhdWVuCndvbGxlbiwgd2VyIHdvIHNpdHp0LCBuaWNodCBlcnJlaWNoYmFyIGdld2VzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChBcmVlbGFuaXIsICA5LiBKYW4gMjAwMywgMTU6MTk6MTApOgp+IyEgcm49U3Ryb2hhbG0gcnQ9MTA0MjExNjI0MSByZz1wYXJ0eQp+IyEgdGlkPTEwNDIwMzcyOTIKS29lbm50IGlociBkaWUgUGFydHkgdW0gZWluIFdvY2hlbmVuZGUgdmVyc2NoaWViZW4/IERhcyB3YWVyZSBkYW5uIE5BQ0ggbWVpbmVyClp3aXNjaGVucHJ1ZWZ1bmcgdW5kIGljaCBrb2VubnRlIGF1Y2gga29tbWVuLi4uCkFyZWVsYW5pcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IEZydWVoamFocnNwYXJ0eSBpbiBXaW50ZXJidXJnIChMYXJpbmEsICA5LiBKYW4gMjAwMywgMTU6MjU6MzIpOgp+IyEgcm49QXJlZWxhbmlyIHJ0PTEwNDIxMjE5NTAgcmc9cGFydHkKfiMhIHRpZD0xMDQyMDM3MjkyCkRhcyBtaXQgZGVtIFZlcnNjaGllYmVuIGdlaHQgd29obCB2b24gZGFoZXIgZWhlciBuaWNodCwgZGEgZGllIEJ1cmcgaW4gZGVtClplaXRyYXVtIG51ciBhbiBkZW0gV29jaGVuZW5kZSBmcmVpIGlzdC4gCgpMYXJpbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHkgVXBkYXRlIChDYWRyYWNoLCAgOS4gSmFuIDIwMDMsIDE3OjM4OjU1KToKfiMhIHJuPUJhbWJpIHJ0PTEwNDIxMTc5OTcgcmc9cGFydHkKfiMhIHRpZD0xMDQyMTA2NzIzCiJrZWluZSBSdWVja3p1Z3Ntb2VnbGljaGtlaXRlbiIgd3VlcmRlIGljaCBzbyBpbnRlcnByZXRpZXJlbiwgZGFzIGluCldpbnRlcmJ1cmcgMjRoIFBhcnR5IGhlcnJzY2h0LCB3ZWlsIHp1IGplZGVzIFRhZ2VzIHVuZCBOYWNodHplaXQgaXJnZW5kd2VyClBhcnR5IGZlaWVydCB1bmQgaXJnZW5kd2VyIHNjaGxhZmVuIHdpbGwuIEljaCBzZWggZGVuIEFlcmdlciB2b3Jwcm9ncmFtbWllcnQsCndlbm4gdW0gMjI6MDAgZGllIGVyc3RlbiBpbnMgQmV0dCBnZWhuIHVuZCBuaWNodCBzY2hsYWZlbiBrb2VubmVuLCB3ZWlsIGVpbmlnZQpiaXMgODowMCBQYXJ0eSBtYWNoZW4uLi4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5IFVwZGF0ZSAoSHVtbmksICA5LiBKYW4gMjAwMywgMTc6NDA6NDkpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQyMTMwMzM1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwpJbiBBbmJldHJhY2h0IGRlciBUYXRzYWNoZSwgZGFzcyBzY2hvbiBFbHRlcm4gbWl0IEJhYnlzIGluIFdpbnRlcmJ1cmcgZGllClBhcnRpZXMgdWViZXJzdGFuZGVuIGhhYmVuIGJpbiBpY2ggbWlyIHNpY2hlciwgZGFzcyBtYW4gZGEgaXJnZW5kd2llIFNjaGxhZgpmaW5kZXQuIEljaCBoYWIgZGFzIGF1Y2ggaW1tZXIgZ2VzY2hhZmZ0LiAKCkF1cyBkaWVzZW0gR3J1bmRlIGhhYiBpY2ggZGEgbm9jaCBuaWUgQWVyZ2VyIGVybGVidC4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5IFVwZGF0ZSAoQmFtYmksICA5LiBKYW4gMjAwMywgMTg6NDk6MzEpOgp+IyEgcm49SHVtbmkgcnQ9MTA0MjEzMDQ0OSByZz1wYXJ0eQp+IyEgdGlkPTEwNDIxMDY3MjMKSWNoIGthbm4gQ2FkcmFjaHMgRWlud2FuZCBkdXJjaGF1cyB2ZXJzdGVoZW4uIEljaCBrYW5uIG1pY2ggYWJlciBhdWNoIGFuClBhcnRpZXMgZXJpbm5lcm4sIGJlaSBkZW5lbiBpbiBkZW4gIlNjaGFmc2FlbGVuIiwgc3ByaWNoIGRlciBUdXJuaGFsbGUsIHp1CmplZGVyIFNjaGxhZmVuc3plaXQgQmFsbCAob2RlciBTY2hsaW1tZXJlcykgZ2VzcGllbHQgd3VyZGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eSBVcGRhdGUgKEN1Y2h1bGxpbiwgIDkuIEphbiAyMDAzLCAxOToyMjowNSk6Cn4jISBybj1CYW1iaSBydD0xMDQyMTM0NTcxIHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwpJY2gga2FubiBDYWRyYWNocyBFaW53YW5kIE5JQ0hUIHZlcnN0ZWhlbi4gRXMgZ2FiIHNjaG9uIFBhcnRpZXMsIHdvCnVudGVuIGtvbWlzY2hlIFNwaWVsZSBtaXQgU3BlbGxmaXJlIGdldHJpZWJlbiB3dXJkZW4gdW5kIG9iZW4gZGllCkxldXRlIC0gYXVjaCBkaWUgbnVlY2h0ZXJuZW4gLSBzZWxpZyBnZXNjaGxhZmVuIGhhYmVuLiBEaWUgVHVybmhhbGxlCmhpbmdlZ2VuIGlzdCBmdWVyIEZydWVoc2NobGFmZXIgKGFsbGVzIHZvciAzOjAwIFVocikgdW5nZWVpZ25ldCwgd2VpbAphbGxlIHBhYXIgTWludXRlbiBkZXIgbmFlY2hzdGUgcmVpbmtvbW10LiBEaWUgQmllcnNlbGlnZW4gc3RvZXJ0IGRhcyAKZnJlaWxpY2ggbmljaHQgLSBzaWUga29tbWVuIHNvIHppZW1saWNoIGFscyBsZXR6dGUsIHdlcmRlbiBkdXJjaCBkZW4gCmVpZ2VuZW4gS3JhY2ggc2ljaGVyIG5pY2h0IGdld2Vja3QgdW5kIGtvZW5uZW4gc2ljaCBub2NoIGxhbmcgaW4gZGVyCkhhbGxlIHVudGVyaGFsdGVuLCBCaWVyIGlzdCBqYSB0cmFnYmFyLi4uCgpZVEN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eSBVcGRhdGUgKEdub21lLCAgOS4gSmFuIDIwMDMsIDE5OjI0OjU1KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDQyMTM2NTI1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwo6bmlja3QuCmhhbGxlIGlzdCB1bSBlaW4gdmllbGZhY2hlcyB1bmd1ZW5zdGlnZXIsIGFscyBXQi4gdm9yIGFsbGVuIGRpbmdlbiwgd2VpbApzbyB2aWVsZSBsZXV0ZSBkYSBydW1saWVnZW4sIHdlbm4gbWFuIHZvbGxleWJhbGwgc3BpZWxlbiB3aWxsIDstKQoKb2ssIHNwYXNzIGJlaXNlaXRlOiBpbiBXQiBnaWJ0IGVzIGFiZXIgaW1tZXIgbm9jaCBrZWluIGJpZXIuIG9kZXIKd2lyZCBkYSB3YXMgdmVyYmVzc2VydCBpbiBkZXIgaGluc2ljaHQ/Cgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHkgVXBkYXRlIChDdWNodWxsaW4sICA5LiBKYW4gMjAwMywgMTk6MjU6NDkpOgp+IyEgcm49R25vbWUgcnQ9MTA0MjEzNjY5NSByZz1wYXJ0eQp+IyEgdGlkPTEwNDIxMDY3MjMKQml0YnVyZ2VyIGlzdCBpbmFremVwdGFiZWw/IEluIGRpZXNlbSBGYWxsIHNvbGx0ZSBoYWx0IHdlciBiZWltIApvZXJ0bGljaGVuIExpZWZlcmFudGVuIG5hY2hmcmFnZW4sIHdhcyBkZXIgc28gYXVzc2VyIEJpdCB1bmQgQWx0IChkYXMKaXN0IGtlaW4gQmllciwgaWNoIHdlaXNzLCBpY2ggaGFiJ3MgYmVncmlmZmVuIDspKSBub2NoIHNvIGhhdC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhcnR5IFVwZGF0ZSAoQmFtYmksICA5LiBKYW4gMjAwMywgMTk6Mjc6MjkpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwNDIxMzY3NDkgcmc9cGFydHkKfiMhIHRpZD0xMDQyMTA2NzIzCkRpZSBEaXNrdXNzaW9uIGhhdHRlbWVyIHNjaG9ubWFsIHVuZCB3ZW5uIGljaCBtaWNoIHJlY2h0IGVyaW5uZXJlLCB3YXIgc29nYXIKZ2VwbGFudCwgZWluZSBBYnN0aW1tdW5nIHp1bSBUaGVtYSBCaWVyLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHkgVXBkYXRlIChDdWNodWxsaW4sICA5LiBKYW4gMjAwMywgMTk6MzQ6NDYpOgp+IyEgcm49QmFtYmkgcnQ9MTA0MjEzNjg0OSByZz1wYXJ0eQp+IyEgdGlkPTEwNDIxMDY3MjMKVW5kIDEwOTMgTmljaHQtQmllcnRyaW5rZXIgdmVyemVycmVuIGRhcyBCaWxkLCBlYmVuc28gd2llIDIwIE5pY2h0LQpQYXJ0eWdhZW5nZXIgZnVlciBUaGFsZSBnZXN0aW1tdCBoYWJlbj8gTmEsIGljaCB3ZWlzcyBqYSBuaWNodCwgdm9uCmRlciBXYWhsbWFzY2hpbmUgaGllciBoYWx0ZSBpY2ggbmljaHQgd2lya2xpY2ggdmllbC4uLgoKWVRDdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBhcnR5IFVwZGF0ZSAoSHVtbmksICA5LiBKYW4gMjAwMywgMjA6MzY6MDcpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwNDIxMzcyODYgcmc9cGFydHkKfiMhIHRpZD0xMDQyMTA2NzIzCk5laW4sIGRhcyBQcm9ibGVtIHdhciB3b2hsIGVoZXIsIGRhc3MgYmVpIGVpbmVyIFBhcnR5IG1hbCBrZWluIEJpZXIgbWVociBkYQp3YXIgKGdhciBrZWlucywgd2VkZXIgQWx0IG5vY2ggQmllciA7LSkgKS4gRGEgZGFzIFByb2JsZW0gYWJlciBiZWthbm50IGlzdCB1bmQKZGllIFBhcnR5b3JncyB3b2hsIGRyYXVmIGFjaHRlbiB3ZXJkZW4sIGRlbiBaaXZpcyBmcnVlaHplaXRpZyB6dSBzYWdlbiBkYXNzCndpciBCaWVyIGJyYXVjaGVuIHNlaCBpY2ggZGFzIGF1Y2ggbmljaHQgYWxzIFRoZW1hIGFuLgoKRGFzIG1hY2h0IGlociBkb2NoIGRpZXNtYWwgZGFubiwgUGFydHlvcmdzLCBvZGVyPyA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGFydHkgVXBkYXRlIChHdWFyZCwgIDkuIEphbiAyMDAzLCAyMjo0MDowMCk6Cn4jISBybj1IdW1uaSBydD0xMDQyMTQwOTY3IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwptaXIgaXMgZGllIGJpZXJzb3J0ZSBmYXN0IHd1cnNjaHQgdW5kIHdpbnRlcmJ1cmcgd2FyIGJpc2hlciBpbW1lciBrbGFzc2UKZ2V3ZXNlbiwgZGFzcyBkYSBtYWwgZWluZXIgcnVudGVyZ2Vrb21tZW4gaXMsIGRhcyBlciBvZGVyIHNpZSBuZXQgc2NobGFmZW4Ka2FubiwgaXMgamEgYXVjaCBuaWNodCBwYXNzaWVydCAuLi4gYWxzbyBvYiBtaXQgb2RlciBvaG5lIHplbHQsIGljaCB3ZXJkIGRhYmVpCnNlaW4gLi4uIHByb3N0IQoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5IFVwZGF0ZSAoU3Ryb2hhbG0sIDEwLiBKYW4gMjAwMywgMTY6NTY6MTUpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQyMTMwMzM1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwptdXNzIG51ciBnZW51ZyBzYXVmZW4sIGRhbm4ga2xhcHB0IGRhcyBhdWNoIG1pdCBmcnVlaHplaXRpZ2VtIHNjaGxhZiB0cm90egpuZWJlbmdlcmFldXNjaGVuIDspCgpIYWVsbWNoZW4sIHNjaG5hcmNodCB1bmQga2FubiB0cm90emRlbSBzY2hsYWZlbiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5IFVwZGF0ZSAoWm9vaywgMTAuIEphbiAyMDAzLCAxNjo1NzoxMSk6Cn4jISBybj1TdHJvaGFsbSBydD0xMDQyMjE0MTc1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwpXZW5uJ3MgamVtYW5kIG1pdGJla29tbXQuIEljaCB6aXRpZXJlIGt1cnogdm9uIGVpbmVyIFdCLVBhcnR5OgoKS2FydG9mZmVsIHp1IEhhZWxtY2hlbjogVW5kPyBXbyBzY2hsYWVmc3QgRHU/CkhhZWxtY2hlbjogSWNoIHNjaGxhZnNhY2tlLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5IFVwZGF0ZSAoU3Ryb2hhbG0sIDEwLiBKYW4gMjAwMywgMTY6NTk6NDApOgp+IyEgcm49Wm9vayBydD0xMDQyMjE0MjMxIHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwpXaWNodGlnIGlzdCBkb2NoIG51ciwgREFTUyBtYW4gc2NobGFlZnQsIGRhcyB3aWUgdW5kIHdvIGVyZ2lidCBzaWNoCnp3YW5nc2xhZXVmaWcgOikKCkhhZWxtY2hlbiwgZmxleGlibGVyIEdld2Flcm10ZXItU3Bhcmthc3Nlbi1Wb3JyYXVtLVNjaGxhZWZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHkgVXBkYXRlIChab29rLCAxMC4gSmFuIDIwMDMsIDE3OjAwOjE2KToKfiMhIHJuPVN0cm9oYWxtIHJ0PTEwNDIyMTQzODAgcmc9cGFydHkKfiMhIHRpZD0xMDQyMTA2NzIzCk9oLCB3aWUgaGllc3MgZGFzIFRyaW5rLUV2ZW50IGRhenU/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHkgVXBkYXRlIChTdHJvaGFsbSwgMTAuIEphbiAyMDAzLCAxNzowMTo0OSk6Cn4jISBybj1ab29rIHJ0PTEwNDIyMTQ0MTYgcmc9cGFydHkKfiMhIHRpZD0xMDQyMTA2NzIzCkR1IGZyYWdzdCBTYWNoZW4uLi4gCgpIYWVsbWNoZW0sIEZpbG1yaXNzLUthbmRpZGF0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQYXJ0eSBVcGRhdGUgKE11YWRpYiwgMTEuIEphbiAyMDAzLCAxNDoyMDoxMSk6Cn4jISBybj1TdHJvaGFsbSBydD0xMDQyMjE0NTA5IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwpkaWUgYXVzd2FobCBkZXIgdm9yaGFuZGVuZW4gYmllcnNvcnRlbiBpc3QgbmF0dWVybGljaCBlaW4gYWJzb2x1dGVzCmtpbGxlcmFyZ3VtZW50IGdlZ2VuIGVpbmUgcGFydHkuIGFiZXIgbmFqYSwgd3VlcmRlIG1pciBtYWwgamVtYW5kIG5vY2htYWwga3VyegplcmtsYWVyZW4gd2FydW0gZGllamVuaWdlbiBkaWUgZGVuIHBhcnR5b3J0IG5pY2h0IG1vZWdlbiBuaWNodCBlaW5mYWNoCndlZ2JsZWliZW4gdW5kIGRlbiBhbmRlcmVuIGlocmVuIHNwYXNzIGRvcnQgbGFzc2VuPyB2b24gZGVuZW4gc2NoZWludCBlcyBqYQpnZW51ZyB6dSBnZWJlbi4KaXJnZW5kd2llIGVyaW5uZXJlIGljaCBtaWNoIGFuIHplaXRlbiB6dSBkZW5lbiBkZXIgcGFydHlvcnQsIGRhcyB2b3JoYW5kZW5lCmJpZXIgb2RlciBkaWUgZXZlbnR1ZWxsZSBzY2hsYWZiZWVpbnRyYWVjaHRpZ3VuZyBrZWluZSBwb2xpdGlrYSB3YXJlbiwgdW5kIGljaAptdXNzIG5vY2ggbmljaHQgbWFsIHdlaXQgenVydWVja2RlbmtlbiBkYXp1LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHkgVXBkYXRlIChTcGVsbGZpcmUsIDExLiBKYW4gMjAwMywgMTQ6NDI6MDIpOgp+IyEgcm49TXVhZGliIHJ0PTEwNDIyOTEyMTEgcmc9cGFydHkKfiMhIHRpZD0xMDQyMTA2NzIzClNvbGFuZ2UgZGllc21hbCBGcmFlaXRhZ3NhYmVuZHMgYXVjaCBCaWVyIGRhIGlzdCBpc3RzIHNjaG9ubWFsIG5lbiBndXRlcgpBbmZhbmcuLi5idHcgcmljaHRpZ2UgUHJvZmlzYWV1ZmVyIGhhYmVuIGVoIGltbWVyIEJpZXIgaW0gQXV0by4uLi4uClp1d2VuaWcgU2NobGFmcGxhZXR6ZSBvZGVyIGFlaG5saWNoZXMgaXN0IGF1Y2ggZWluIHNjaGxlY2h0ZXMgQXJndW1lbnQsIHVudGVyCmRlciBCdXJnIGdpYnRzIGVpbiBzZWhyIG5ldHRlcyBIb3RlbCAoaG1tIGRpZXIgaGF0dGUgd29obCBhYmVyIFdhcnN0ZWluZXIpIGRhcwphdWNoIG5pY2h0IHZpZWwgdGV1cmVyIHdhciBhbHMgZGFzIFBlbm5lbiBhdWYgZGVyIFBhcnR5ISBBbHNvIHdhZXIgd2lya2xpdWNoCnNlaW5lIFJ1aGUgYnJhdWNodCBrYW5uIGZ1ZXIgZWluIGtsZWluZXMgQXVmZ2VsZCBkZW4gTHV4dXMgYXVjaCBmaW5hbnppZXJlbi4KClAuUy46IEhvY2h2ZXJ6aW5zdGUgS3JlZGl0ZSBzaW5kIGJlaSBtaXIgenUgYmVrb21tZW4gOz4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFydHkgVXBkYXRlIChTdHJvaGFsbSwgMTEuIEphbiAyMDAzLCAxNToyNzo1OSk6Cn4jISBybj1TcGVsbGZpcmUgcnQ9MTA0MjI5MjUyMiByZz1wYXJ0eQp+IyEgdGlkPTEwNDIxMDY3MjMKcmljaHRpZ2UgUHJvZmlzYWV1ZmVyIHRyaW5rZW4ga2VpbiBCaWVyIDspCi4uLiBhdXNzZXIgenVtIE51ZWNodHJuIHdlcmRlbiAqZyoKCkhhZWxtY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFBhcnR5IFVwZGF0ZSAoQ2FkcmFjaCwgMTEuIEphbiAyMDAzLCAxODo1Mzo1OSk6Cn4jISBybj1TdHJvaGFsbSBydD0xMDQyMjk1Mjc5IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MjEwNjcyMwpXZXIgYXVmIFBhcnR5cyA1eCBrb3R6ZW4gZ2VodCwgemFlaGx0IGFiZXIgZ2FueiBzaWNoZXIgYXVjaCBuaWNodCBkYXp1Li4uCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUGFydHkgVXBkYXRlIChNb250YW51cywgMTMuIEphbiAyMDAzLCAyMzozMTozNik6Cn4jISBybj1DYWRyYWNoIHJ0PTEwNDIzMDc2Mzkgcmc9cGFydHkKfiMhIHRpZD0xMDQyMTA2NzIzCkZha3RlbiwgRmFrdGVuLCBGYWt0ZW46CkRpZSBCdXJnIGthbm4gZGVyemVpdCBpbSBncm9zc2VuIEhhdXMgNzcgTGV1dGUgYXVmbmVobWVuLgpXZW5uIG1hbiBkaWUgWmltbWVyZWludGVpbHVuZyBnZXNjaGlja3QgbWFjaHQsIGRhbm4gbGFnZXJ0IG1hbiBkaWUgUGFydHlnYWVzdGUKaW4gZXR3YSBuYWNoIEJldHRnZWh6ZWl0OiBkYXMgZnVua3Rpb25pZXJ0IGhlcnZvcnJhZ2VuZCwgZGFzIHd1cmRlIGJlbGllYmlnCm9mdCBnZXRlc3RldC4KVW5kIHp1IGRlbiBqZXR6aWdlbiBaaXZpcyAtIGRpZSBzaW5kIGJpZXJ0YXVnbGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcmJ1cmcgKENhc3NhbmRyYSwgMTkuIEphbiAyMDAzLCAxNzowMjoyNSk6CkhhbGxvIFBhcnR5b3JrcwpXaWUgd2VpdCBzZWlkIGlociBkZW4gbnVuLCBzdGVodCBkZXIgVGVybWluPwoKR3J1bmQgZGVyIEZyYWdlIGlzdCwgZGFzIG1hbiBkYW5uIHZlcnN1Y2hlbiAga2FubiwgZ3J1cHBlbmthcnRlbiBkZXIgQmFobiB6dQpidWNoZW4gdW5kIGZyZWkgbmVobWVuIGthbm4uCgpDYXNzYW5kcmEsIGVuZGxpY2ggd2llZGVyIGltIG11ZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgKGpldHp0IGFiZXIpIChUaGFudGFsYXMsIDIyLiBKYW4gMjAwMywgMTE6NTY6NDkpOgpIYWxsbyBQYXJ0eW1vbnN0ZXIsCmRhcyBQYXJ0eWJyZXR0IHN0ZWh0IGltbWVyIG5vY2ggbmljaHQsIGFiZXIgZXMgd2lyZCBpbW1lciBkZWZpbml0aXZlci4uLgpXaXIgd2FyZW4gaW4gV0IsIGhhYmVuIG1pdCBVZWJlcm5hY2h0dW5nZW4sIEVzc2VuIHVuZCBBbGsgYWxsZXMgYWJnZXNwcm9jaGVuLAp1bnMgd2lyZCBub2NoIG1pdGdldGVpbHQsIHdpZXZpZWwgZGVyIEFsa29ob2wgKEJpdGJ1cmdlcikgc293aWUgZGllIGFuZGVyZW4KR2V0cmFlbmtlKENvbGEsIEZhbnRhKSBrb3N0ZW4uCkluc2dlc2FtdCBnZWhlbiB3aXIgenVyIFplaXQgdm9uIGVpbmVtIFByZWlzIHZvbiA0NSBFdXJvIGF1cywgZW50aGFsdGVuIHNpbmQKMnggQWJlbmRlc3NlbiwgMnggRnJ1ZWhzdHVlY2sgdW5kIGVpbiBNaXR0YWdlc3NlbiBhbSBTYW1zdGFnLCBVZWJlcm5hY2h0dW5nZW4KbmF0dWVybGljaCB1bmQgZGllIEdldHJhZW5rZS4KRGllIEJldHRlbiBzaW5kIGJlZ3Jlbnp0IGF1ZiA3NSwgYmVlaWx0IGV1Y2ggYWxzbywgb2RlciBpaHIgbXVlc3N0IGRyYXVzc2VuCm9kZXIgaW0gSG90ZWwgc2NobGFmZW4gOikKRGFzIG1pdCBkZW0gQ2hpbmVzZW4gYW0gU29ubnRhZyByZWdlbG4gd2lyIG5vY2gsIG5laG10IGFsc28gYmVzc2VyIG5vY2ggZWluCnBhYXIgRXVybyBtaXQuCkFjaGphOiBXZXIgYXVzZ2VmYWxsZW5lIEdldHJhZW5rZS0gb2RlciBFc3NlbnN3dWVuc2NoZSBoYXQsIGJlaXNwaWVsc3dlaXNlCkhvY2hwcm96ZW50aWdlcmVzLCBkZXIgYnJpbmdlIGVzIHNlbGJlciBtaXQuIEJpZXIgdW5kIENvbGEgc2luZCBhYmVyIGluCmF1c3JlaWNoZW5kZXIgTWVuZ2Ugdm9yaGFuZGVuLgpCcmluZ3QgYml0dGUgQmVjaGVyL0dsYWVzZXIgdW5kIEJldHR3YWVzY2hlIG1pdCwgb2RlciBsZWlodCBlcyB2b3IgT3J0IGF1cy4KRGFzIFBhcnR5YnJldHQgd2lyZCBhdWZnZXN0ZWxsdCwgc29iYWxkIHdpciBkZW4gUHJlaXMgZGVmaW5pdGl2IGZlc3RuYWdlbG4Ka29lbm5lbiAoRW5kZSBkZXIgV29jaGUpLgpUaGFudGFsYXMgJiBLYXJpbWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSAoamV0enQgYWJlcikgKE1vbnRhbnVzLCAyMi4gSmFuIDIwMDMsIDE4OjE3OjAxKToKfiMhIHJuPVRoYW50YWxhcyBydD0xMDQzMjMzMDA5IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MzIzMzAwOQpFaW4gVGlwcDogd2VubiBpaHIgQmllciBoYWJlbiB3b2xsdCwgZGFzIG5pY2h0IEJpdGJ1cmdlciBoZWlzc3QgLSBkYXMga2FubgpzZWhyIGd1dCBhdWYga29tbWlzc2lvbiBiZWltIEdldHJhZW5rZW1hcmt0IGluIGJhZCBTb2Jlcm5oZWltIChkaXJla3QgbmViZW5kZW0KQ2hpbmVzZW4pIGJlc3RlbGx0IHdlcmVuLCBzb2dhciBhdWYgS29tbWlzc2lvbi4KTnVyIHNvbGx0ZSBtYW4gZGFzIGltIFZvcmZlbGQgbWFjaGVuLiBEaWUgYmVsaWVmZXJuIGRpZSBCdXJnIGVoIGVpbm1hbCBwcm8KV29jaGUsIGRhcyBpc3QgZnVlciBkaWUga2VpbiBQcm9ibGVtLCBkYSBtYWwgMTAwIGthZXN0ZW4gQmllciBtaXQgaGNvaHp1ZmFocmVuCnVuZGRuZSBSZXN0IHdpZWRlciBhYnp1aG9sZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5IChqZXR6dCBhYmVyKSAoVGhhbnRhbGFzLCAyMi4gSmFuIDIwMDMsIDE4OjE5OjE1KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNDMyNTU4MjEgcmc9cGFydHkKfiMhIHRpZD0xMDQzMjMzMDA5Ck5hamEsIHdpciBoYWJlbiBzY2hvbiAyMCBLYWVzdGVuIEJpdCBhdWYgS29tbWlzaW9uIGJlc3RlbGx0LCBkaWUgaGFiZW4gZGEgbm9jaAppcmdlbmR3YXMgQW5kZXJlcy4uLiBhYmVyIGRhcyB0cmlua3QgZG9jaCBzb3dpZXNvIGtlaW5lciwgb2RlciA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eSAoamV0enQgYWJlcikgKE1vbnRhbnVzLCAyMi4gSmFuIDIwMDMsIDE4OjIwOjI3KToKfiMhIHJuPVRoYW50YWxhcyBydD0xMDQzMjU1OTU1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MzIzMzAwOQpJY2ggaGFiIGRpZSBFcmZhaHJ1bmcgZ2VtYWNodCwgZGFzcyBEb25uZXJzYmVyZ2VyIER1bmtlbGJpZXIgKGRhcyBEdW5rbGUgdm9uCmRlciBCcmF1ZXJlaSBCaXNjaG9mZikgYmVpIGRlbiBnYW56ZW4gTmllZGVycmhlaW5lcm4gc2VociBndXQgYW5nZWtvbW1lbiBpc3QuCkRhcyB3YXIgc2VociBzY2huZWxsIHdlZywgdW5kIGVzIHdhciBuaWNodCBhbGxlaW4gU3VnYWFucyBTY2h1bGQuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHkgKGpldHp0IGFiZXIpIChUaGFudGFsYXMsIDIyLiBKYW4gMjAwMywgMTg6MjE6MTMpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA0MzI1NjAyNyByZz1wYXJ0eQp+IyEgdGlkPTEwNDMyMzMwMDkKT2theSwgdmVybWVya3QgOiopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eSAoamV0enQgYWJlcikgKEdub21lLCAyNC4gSmFuIDIwMDMsIDE3OjA2OjU0KToKfiMhIHJuPVRoYW50YWxhcyBydD0xMDQzMjU1OTU1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MzIzMzAwOQoyMCBrYWVzdGVuIGJpdGJ1cmdlcj8gd2VuIHdvbGx0IGlociBkYSBkZW5uIG1pdCB2ZXJnaWZ0ZW4/CmlociBoYWJ0IHZvbiBiaWVyIGdlc3Byb2NoZW4uLi4gZGFubiBiZXN0ZWxsdCBhdWNoIGJpdHRlIHdlbGNoZXMuCmljaCBnbGF1YmUga2F1bSwgZGFzcyBlaW4gZ2V0cmFlbmtlbWFya3QgbnVyIGJpdCB1bmQgZHVua2xlcyBoYXQuLi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eSAoamV0enQgYWJlcikgKFBpdGZhbGwsIDI0LiBKYW4gMjAwMywgMTc6MDc6MjApOgp+IyEgcm49R25vbWUgcnQ9MTA0MzQyNDQxNCByZz1wYXJ0eQp+IyEgdGlkPTEwNDMyMzMwMDkKamFtbWVyIG5pY2h0LApkdSBzY2hsZXBwc3QgenVtIHJ1ZGVsbXVkZGVuIHdlbm4gZGFubiBhdWNoIG1laXN0ZW5zIGJpdCBtaXQgOj4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5IChqZXR6dCBhYmVyKSAoR25vbWUsIDI0LiBKYW4gMjAwMywgMTc6MDg6MTQpOgp+IyEgcm49UGl0ZmFsbCBydD0xMDQzNDI0NDQwIHJnPXBhcnR5Cn4jISB0aWQ9MTA0MzIzMzAwOQpJQ0g/CmRhIG11c3N0IGR1IGRpY2ggdmVyZ3Vja3QgaGFiZW4uIHNvd2FzIGlnbm9yaWVyIGljaCBzY2hvbiBpbSBsYWRlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHkgKGpldHp0IGFiZXIpIChUaGFudGFsYXMsIDI0LiBKYW4gMjAwMywgMTc6MDk6MjIpOgp+IyEgcm49R25vbWUgcnQ9MTA0MzQyNDQ5NCByZz1wYXJ0eQp+IyEgdGlkPTEwNDMyMzMwMDkKTmFqYSwgU29uZGVyd3VlbnNjaGUga2FubiBzaWNoIGphIGplZGVyIHNlbGJzdCBtaXRicmluZ2VuLi4uCldlbm4gZHUgZGljaCBhbHNvIHouQi4gbWl0IEtvZWxzY2ggdmVyZ2lmdGVuIHdpbGxzdC4uLiBiaXR0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5IChqZXR6dCBhYmVyKSAoR25vbWUsIDI0LiBKYW4gMjAwMywgMTc6MTU6MzMpOgp+IyEgcm49VGhhbnRhbGFzIHJ0PTEwNDM0MjQ1NjIgcmc9cGFydHkKfiMhIHRpZD0xMDQzMjMzMDA5CmVpbiB2ZXJudWVuZnRpZ2VzIGJpZXIgYmV0cmFjaHRlc3QgZHUgYWxzIHNvbmRlcnd1bnNjaD8KYWxzbyBGUlVFSEVSIHdhciBzb3dhcyB2b3JhdXNzZXR6dW5nIGZ1ZXIgZWluZSBwYXJ0eS4uLiBuYWphLCBmcnVlaGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHkgKGpldHp0IGFiZXIpIChDdWNodWxsaW4sIDI0LiBKYW4gMjAwMywgMTc6MTY6MTEpOgp+IyEgcm49R25vbWUgcnQ9MTA0MzQyNDkzMyByZz1wYXJ0eQp+IyEgdGlkPTEwNDMyMzMwMDkKUHJvbGxrb3BwZSBuaWNodCBydW0uIEZyYWcgbmFjaCBkZXIgVGVsZWZvbm51bW1lciBkZXMgR2V0cmFlbmtlaGFuZGVscywKbGFzcyBkaXIgZWluZSBMaXN0ZSBnZWJlbiB1bmQgREFOTiB2ZXJoYW5kbGUgbWl0IFRoYW50YWxhcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQYXJ0eSAoamV0enQgYWJlcikgKE1vbnRhbnVzLCAyNC4gSmFuIDIwMDMsIDE5OjQ3OjU0KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDQzNDI0OTcxIHJnPXBhcnR5Cn4jISB0aWQ9MTA0MzIzMzAwOQpkaWUgTnVtbWVyIGthbm4gZXIgZ2FueiBlaW5mYWNoIGhlcmF1c2ZpbmRlbjogd3d3LmdlbGJlLVNlaXRlbi5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBhcnR5IChqZXR6dCBhYmVyKSAoQm9pbmcsIDI0LiBKYW4gMjAwMywgMjE6NTI6MTcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA0MzQzNDA3NCByZz1wYXJ0eQp+IyEgdGlkPTEwNDMyMzMwMDkKR2VodCBkaWUgQmllci1EaXNrdXNzaW9uIHNjaG9uIHdpZWRlciBsb3M/IE9oIE1hbm4gLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQYXJ0eSAoamV0enQgYWJlcikgKFRoYW50YWxhcywgMjQuIEphbiAyMDAzLCAyMTo1Mjo0OSk6Cn4jISBybj1Cb2luZyBydD0xMDQzNDQxNTM3IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MzIzMzAwOQpLZWluZSBTb3JnZSwgQklFUiBoYWJlbiB3aXIuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUGFydHkgKGpldHp0IGFiZXIpIChIdW1uaSwgMjQuIEphbiAyMDAzLCAyMzo1MjowOCk6Cn4jISBybj1UaGFudGFsYXMgcnQ9MTA0MzQ0MTU2OSByZz1wYXJ0eQp+IyEgdGlkPTEwNDMyMzMwMDkKSWhyIGhhYnQgUHJvYmxlbWUuIE5laW4sIGltIEVybnN0LgoKSWNoIGJpbiAodWViZXJ6ZXVndGVyKSBCaWVyc2NodWV0dGxlciB1bmQgc2NodWV0dGxlIG1laW4gQmllciBiZXZvciBpY2hzCnRyaW5rZS4gV2VubiBpY2ggenVoYXVzZSBiaW4gbWFjaCBpY2ggZGEgZWluIFJpdHVhbCBkcmF1cywgaWNoIHByb2JpZXJlCnZlcnNjaGllZGVuZSBTb3J0ZW4gZHVyY2ggYWIgdW5kIGFuLCBkYXMgbWFjaHQgbWlyIGF1Y2ggU3Bhc3MuIFVuZCBpY2ggdHJhdWUKbWlyIHp1LCBhdWNoIG5hY2ggNCBCaWVyIG5vY2ggZWluIFdlaXplbiB2b24gZWluZW0gUGlscyB6dSB1bnRlcnNjaGVpZGVuLiBKYSwKaWNoIHRyYXVlIG1pciBhdWNoIHp1IGFtIG5hZWNoc3RlbiBNb3JnZW4gKCEpIGJlc3RpbW10IEJpZXJzb3J0ZW4genUKdW50ZXJzY2hlaWRlbiwgaWNoIHdlaXNzIGRhc3MgaWNoIHZvbiBlaW5pZ2VuIEtvcGZzY2htZXJ6ZW4ga3JpZWdlIHVuZCB2b24KYW5kZXJlbiBuaWNodC4KCkFiZXIgYW0gQWJlbmQsIG5hY2hkZW0gaWNoIDQgQmllciBnZXRydW5rZW4gaGFiZSwgbWVya2UgaWNoIG51ciBub2NoIGFtCkV0aWtldHQsIHZpZWxsZWljaHQgbm9jaCBlaW4gd2VuaWcgZ3JvYiBhbSBIZXJiaGVpdHNncmFkIChKZXZlciB2b24gS29lbHNjaApnZWh0IGRhbm4gbm9jaCwgYWJlciBzb25zdCkgd2FzIGljaCBkYSB0cmlua2UuLi4gdW5kIGVzIGlzdCBtaXIgbmFjaCA0IEJpZXIKZGFubiBhdWNoIGVnYWwuIEljaCB0cmlua2UgYXVjaCBBZG1pcmFsLVBpbHMgYXVzIGRlciBEb3NlIGFuIGRlciBUYW5rc3RlbGxlLAp3ZWlsIEJpbGxpZyAoamV0enQgd2VuaWdlciwgd2VpbCBQZmFuZCBkcmF1ZiBpc3QsIGFiZXIgZGFydWViZXIgd2lsbCBpY2gKZ2VyYWRlIG5pY2h0IHNjaGltcGZlbikuIFNjaGxpY2h0d2VnOiBJY2ggYmVoYXVwdGUgbmFjaCA0IEJpZXIgbWVya3N0IER1IG5pY2h0Cm1laHIsIHdhcyBEdSB0cmlua3N0LiAKCkljaCBoYWIgbWFsIGVpbmVuIEFiZW5kIGxhbmcgQmllciB1bmQgS29lbHNjaCBhdWYgZWluZXIgUGFydHkgdmVyd2VjaHNlbHQgKGF1cwpaYXBmaGFlaG5lbikgdW5kIGVzIGhhdCBuaWVtYW5kIGdlbWVya3QuCgpMYW5nZXIgUmVkZSBrdXJ6ZXIgU2lubjogSGF1cHRzYWNoZSBlcyBpc3QgQmllciBkYS4gSWNoIHBlcnNvZW5saWNoIG1hZyBhdWNoCkJpdC4gQWJlciB3ZW5uIGplbWFuZCBkYXMgcGFydG91dCBuaWNodCB3aWxsIHN0ZWh0IGRpZSBPcHRpb24gc2VsYnN0IG9yZGVybgpuYXR1ZXJsaWNoIG9mZmVuLiBXaWNodGlnZXIgaXN0OiBIQUxURVQgRElFIFpJVklTIEFVRiBCRVZPUiBESUUgTUlUIERFTQpTQ0hMVUVTU0VMIFZFUlNDSFdJTkRFTiEgU29uc3QgaXN0IEtFSU4gQmllciBkYSwgdW5kIERBUyBpc3QgZGFubiB3aXJrbGljaApzY2hsZWNodC4gQWJlciBkYXMga3JpZWd0IGlociBoaW4sIGRhIGJpbiBpY2ggc2ljaGVyIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQYXJ0eSAoamV0enQgYWJlcikgKEFtYXJ5bGxpcywgMjQuIEphbiAyMDAzLCAyMzo1NzoxOCk6Cn4jISBybj1IdW1uaSBydD0xMDQzNDQ4NzI4IHJnPXBhcnR5Cn4jISB0aWQ9MTA0MzIzMzAwOQo+ICJVbmQgaWNoIHRyYXVlIG1pciB6dSwgYXVjaCBuYWNoIDQgQmllciBub2NoIGVpbiBXZWl6ZW4gdm9uIGVpbmVtIFBpbHMgenUKdW50ZXJzY2hlaWRlbi4iCgpKYSBnbGF1YiBpY2hzIG5vY2g/CldpZXNvIG11c3MgZGFzIHNvIGhlcnZvcmdlaG9iZW4gd2VyZGVuPwoKRGFzIGlzdCBqYSBzb2dhciBmdWVyIG5lbiBBbWF0ZXVyIGtlaW4gUHJvYmxlbS4gQW5zb25zdGVuIGhhZXR0ZW4gd2lyIGF1Y2ggZGllCmdhbnplbiBEaXNrdXNzaW9uZW4gaGllciBuaWNodCA6KQoKPiBTY2hsaWNodHdlZzogSWNoIGJlaGF1cHRlIG5hY2ggNCBCaWVyIG1lcmtzdCBEdSBuaWNodCBtZWhyLCB3YXMgRHUgdHJpbmtzdC4KClZvbiBtZWluZXIgU2ljaHQgYXVzOiBGYWxzY2guCkljaCBkYWNodGUsIGRhc3MgZGFzIGJlaSBEaXIgbmljaHQgc28gc2VpLCBhbHMgIkJpZXJrZW5uZXIiLgpWaWVsbGVpY2h0IGdlaHN0ZSBub2NobWFsIGJlaSBtaXIgaW4gZGllIFNjaHVsZSA6LSkKCnNjbnIsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhcnR5IChqZXR6dCBhYmVyKSAoV2lsbG93LCAyNS4gSmFuIDIwMDMsIDAxOjA2OjE0KToKfiMhIHJuPUdub21lIHJ0PTEwNDM0MjQ5MzMgcmc9cGFydHkKfiMhIHRpZD0xMDQzMjMzMDA5CkFsc28gamV0enQgbXVzcyBpY2ggaGllciBhdWNoIG1hbCBtZWluZW4gU2VuZiB6dSBnZWJlbiAtIHdhcyAndmVybnVlbmZ0aWdlcycKQmllciBhbmJlbGFuZ3QsIHNvIGxpZWd0IHNvbGNoZXMgZG9jaCBpbW1lciBpbSBBdWdlIGRlcyBCZXRyYWNodGVycyAtIGVzIHNvbGwKamEgc29nYXIgUGVyc29uZW4gZ2ViZW4sIGRpZSBkZXIgZmVzdGVuIFVlYmVyemV1Z3VuZyBzaW5kLCBLb2Vsc2NoIHdhZXJlIGVpbgpCaWVyLi4uICpncmlucyoKZGFzIFdlaWRlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBhcnR5IChqZXR6dCBhYmVyKSAoTW9udGFudXMsIDI1LiBKYW4gMjAwMywgMDM6MTc6MzYpOgp+IyEgcm49V2lsbG93IHJ0PTEwNDM0NTMxNzQgcmc9cGFydHkKfiMhIHRpZD0xMDQzMjMzMDA5Cldpc3N0IGlociwgd2FzIGRhcyBlaW5mYWNoc3RlIGlzdD8KS2VpbiBGbGFzY2hlbmJpZXIsIHNvbmRlcm4gRmFzc2JpZXIuIEtvc3RldCB2aWVsbGVpY2h0IGVpbiBFY2tjaGVuIG1laHIsIGFiZXIKZXMgbWVja2VydCBrZWluZXIsIHdlaWwgYXVmIGRlbSBCZWNoZXIgbmljaHQgZHJhdWZzdGVodCwgd2FzIGRyaW4gaXN0LiBVbmQgZXMKd2lyZCBmcm9laGxpY2ggZ2V0cnVua2VuLCB1bmQgZ2V0cnVua2VuLCB1bmQgZ2V0cnVua2VuLgpCZWkgZGVyIGVyc3RlbiBXaW50ZXJidXJnLUZldGUgaGFiZW4gd2lyIDQgb2RlciA1IEZhZXNzZXIgQmllciB1bWdlc2V0enQsIHVuZAplcyBoYXQgc2ljaCBuaWVtYW5kIGJlc2Nod2VydC4gSWNoIGtlbm4gbmllbWFuZCwgZGVyIHNpY2ggYW4gZGVtIEFiZW5kIG51cgpkZXNoYWxiIG5pY2h0IGJlc29mZmVuIGhhdCwgd2VpbCBkYXMgQmllciBpaG0gbmljaHQgc2NobWVja2VuIHd1ZXJkZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBQYXJ0eSAoamV0enQgYWJlcikgKE11YWRpYiwgMjUuIEphbiAyMDAzLCAxODo0Mjo0NSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTA0MzQ0OTAzOCByZz1wYXJ0eQp+IyEgdGlkPTEwNDMyMzMwMDkKaWNoIGJlaGFsdGUgbWlyIHZvciBkYXMgenUgdGVzdGVuLCBkdSBtYWNoc3QgYmVzdGltbXQgbWl0LiBuZW5uIG1pciBlaW5mYWNoNQpwaWx6c29ydGVuLiBlaW5lIGRhdm9uIGdlYiBpY2ggZGlyIGFscyA1LiBiaWVyLiBkdSBtdXNzdCBtaXIgZGFubiBudXIgc2FnZW4Kd2VsY2hlcyBlcyB3YXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJpZXIgKENhc3NhbmRyYSwgMjcuIEphbiAyMDAzLCAxMjoxMzo1Nyk6CkhhYnQgaWhycyBiYWxkPwpHdXQgaWNoIGhhYmUga2VpbmUgQWhudW5nIHZvbiBCaWVyLCBhYmVyIHdpciBmYW5nZW4gZG9jaCBoaWVyIGF1Y2gga2VpbmUKRGlza3Vzc2lvbiBhbiB3ZWxjaGUgQ29sYSwgV2Fzc2VyIGV0YyB3aXIgd29sbGVuLgpDYXNzYW5kcmEsIGRpZSBEaXNrdXNzaW9uIGxhbmdzYW0gbmljaHQgbWVociBsdXN0aWcgZmluZGVudAoKTmVpbiwgaWNoIHdpbGwga2VpbmUgRGlza3Vzc2lvbiB1ZWJlciBkaWUgQ29sYXNvcnRlLCBoYXVwdHNhY2hlIGZsdWVzc2lnIHVuZApuaWNodCBhbGtvaG9saXNjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnJldHRlciwgZGllIGRpZSBXZWx0IGJlZGV1dGVuIChIdW1uaSwgMjguIEphbiAyMDAzLCAxNDoxNDowNSk6CkVpbmVzIGRlciBCcmV0dGVyLCBkaWUgZGllIFdlbHQgYmVkZXV0ZW4sIHNvbGx0ZSBhbiBhbGxlbiBtb2VnbGljaGVuIE9ydGVuIGltCk1HIGhlcnVtc3RlaGVuLiBGZWhsZXIgdW5kIGFlaG5saWNoZXMgYml0dGUgYW4gbWljaC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW50ZXJidXJnOiBaaW1tZXJ3dWVuc2NoZS4gKEthcmltYSwgMjguIEphbiAyMDAzLCAxNDoyNTozNSk6Ckh1aHUgUGFydHltdWRkZXJzIQoKS3VyemUgU2FjaGUgenUgZGVuIFppbW1lcnd1ZW5zY2hlbiA7KQoKTHVyY2hpIGhhdCBzaWNoIGZyZXVuZGxpY2hlcndlaXNlIGJlcmVpdCBlcmtsYWVydCwgc2VsYmlnZSB6dSBiZWhhbmRlbG4uCkljaCB3ZXJkZSBob2ZmZW50bGljaCBlcyBoZXV0ZSBBYmVuZCBtYWwgaGluYmVrb21tZW4sIGRlbiBaaW1tZXJwbGFuIGRlciBCdXJnCmVpbnp1c2Nhbm5lbiB1bmQgaWhtIHp1enVzY2hpY2tlbiwgc29kYXNzIGVyIGRhcyBkYW5uIHJlZ2VsbiBrYW5uCgpCaXMgZGVubmUKCkthcmltYQoKUC5TLiBIaWVyIHNjaG9ubWFsIGdyb3NzZW4gRGFuayBhbiBMdXJjaGksIGRhc3MgZXIgZGFzIG1hY2h0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcmJ1cmc6IFppbW1lcnd1ZW5zY2hlLiAoTHVyY2hpLCAyOC4gSmFuIDIwMDMsIDE0OjM0OjU5KToKfiMhIHJuPUthcmltYSBydD0xMDQzNzYwMzM1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0Mzc2MDMzNQoqc2V1ZnoqCgphbHNvIGJldm9yIG1pY2ggamVkZXIgZWluemVsbiBtaXQgaXJnZW5kd2VsY2hlbiB3dWVuc2NoZW4gYm9tYmFyZGllcnQuLi4gaWNoCndlcmRlIHNvIHNjaG5lbGwgd2llIG1vZWdsaWNoZSBlaW5lbiBhcnRpa2VsIG1pdCBlaW5lciBsaXN0ZSBkZXIgdmVyZnVlZ2JhcmVuCnppbW1lciAoaW5rbCBiZXR0ZW4gYW56YWhsKSBwb3N0ZW4gdW5kIHdlbm4gc2ljaCBkYW5uIGxldXRlIGZpbmRlbiwgZGllIGdlcm4KenVzYW1tZW4gaW4gZWluIHppbW1lciBtb2VjaHRlbiB3YWVycyBuZXR0LCB3ZW5uIG1pciBkYW5uIF9laW5lcl8gdm9uIGRlbmVuCmVpbmUgbWFpbCBzY2hyZWlidC4KCmx1cmNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJidXJnOiBaaW1tZXJ3dWVuc2NoZS4gKEx1cmNoaSwgMjkuIEphbiAyMDAzLCAxMTo1MDo1Mik6Cn4jISBybj1MdXJjaGkgcnQ9MTA0Mzc2MDg5OSByZz1wYXJ0eQp+IyEgdGlkPTEwNDM3NjAzMzUKU28sIGljaCBoYWIgYWxsZSBub3R3ZW5kaWdlbiBEYXRlbiBkYS4gV2llIHNjaG9uIGF1ZiBkZW0gUGFydHlicmV0dCBzdGVodCwKZ2lidCBlcyA3NiBCZXR0ZW4gdW5kIDQgTWF0cmF0emVuIGZ1ZXIgZGVuIE5vdGZhbGwuIERpZSBCZXR0ZW4gdmVydGVpbGVuIHNpY2gKYXVmIFppbW1lciBtaXQgNCBiaXMgMTcgQmV0dGVuIHNvd2llIEJldHJldWVyemltbWVyLCBkaWUgZXJzdG1hbCBmdWVyIEZhbWlsaWVuCmJlcmVpdGdlaGFsdGVuIHdlcmRlbi4KV2llIHNjaG9uIGltIHZvcmhlcmlnZW4gQXJ0aWtlbCBlcndhZWhudCB3YWVyZSBlcyBuZXR0LCB3ZW5uIG1pciBudXIgamV3ZWlscwplaW5lKHIpIGF1cyBkZW4gR3J1ZXBwY2hlbiBlaW5lIE1haWwgbWl0IFN1YmplY3QgJ1ppbW1lcicgc2NocmVpYnQuIE1vZWdsaWNoc3QKYmlzIHp1bSBBbm1lbGRlc2NobHVzcyBkZXIgUGFydHksIGRhbmFjaCB2ZXJ0ZWlsZSBpY2ggaGFsdCBzbyBndXQgZXMgZ2VodC4KV2VubnMgZW5nIHdpcmQgd2VyZGVuIGRpZWplbmlnZW4gYmV2b3J6dWd0LCBkaWUgc2Nob24gR2VsZCB1ZWJlcndpZXNlbiBoYWJlbi4KIApCZXR0ZW52ZXJ0ZWlsZXIgTHVyY2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXb2NoZW5lbmQtU3RhdGkgaW4gTXVlbnN0ZXIhIChab29rLCAzMC4gSmFuIDIwMDMsIDEzOjQ0OjExKToKfiMhIHJuPUZvb2JhciBydD0xMDQzOTMwMjcwIHJnPXNjaG1hcnJuCn4jISB0aWQ9MTA0Mzg2MzQ1NgpBbHNvIGRpZXNlIEdlc3RhbHR1bmdzbW9lZ2xpY2hrZWl0IHd1ZXJkZSBpY2ggbWlyIGFuIFN0ZWxsZSBkZXIKQmllcnNvcnRlbm5vZXJnbGVyIGphIG5pY2h0IGVudGdlaGVuIGxhc3Nlbi4KClpvb2suIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJidXJnOiBaaW1tZXJ3dWVuc2NoZS4gKEFsY2luYSwgIDEuIEZlYiAyMDAzLCAwOTowNTowMyk6Cn4jISBybj1MdXJjaGkgcnQ9MTA0MzgzNzQ1MiByZz1wYXJ0eQp+IyEgdGlkPTEwNDM3NjAzMzUKClNlaHIgZWhyZW5oYWZ0LCBkYXNzIEx1cmNoaSBkaWVzZSBBdWZnYWJlIHVlYmVybmltbXQuIEFiZXIgZGFzIGVyaW5uZXJ0IG1pY2gKZG9jaCBhbiBaZWl0ZW4gYWxzIGljaCBub2NoIGltIEtpbmRlcmdhcnRlbiB3YXIuCgpBbGNpbmEgLSB3aXJkIHdvaGwgbGFuZ3NhbSBhbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldXVy1TZWl0ZW4gKENhc3NhbmRyYSwgIDguIEZlYiAyMDAzLCAxNToyMTo1Nyk6CktvZW5udGUgc2ljaCBtYWwgZWluZXIgZGVyIGRpZSBTY2hyZWlicmVjaHRlIGhhdCwgZGVyIEludGVybmV0c2VpdGVuIGFubmVobWVuPwpEYSBzdGVodCBhbHMgYWt0dWVsbGUgcGFydHkgbm9jaCBpbW1lciBIYWxsZS4gWnVtaW5kZXN0IG5lbiBIaW53ZWlzIGF1ZgpXaW50ZXJidXJnIHVuZCBkaWUgV2VnYmVzY2hyZWlidW5nZW4gd2FlaHJlbiBnYW56IG5ldHQuCgpBdXNzZXJkZW0gd2FlcnMgc2Nob2VuIHdlbm4gbWFuIHZvbSBOZXR6IGF1cyBkaWUgUGFydHlsaXN0ZSBsZXNlbiBrb2VubnRlLgoKQ2Fzc2FuZHJhLCBpaHJlIGZpcmV3YWxsIHZlcmZsdWNoZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphcnRpa2VsIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoTHV6aWUsIDE2LiBGZWIgMjAwMywgMTM6MDM6NDIpOgpIYWxsbyB6dXNhbW1lbiwKCmdhbnogenVmYWVsbGlnIGhhYiBpY2ggZ2VyYWRlIGlucyBNVUQgZ2VzY2hhdXQgdW5kIGZlc3RnZXN0ZWxsdCwKZGFzcyBkaWUgRnJ1ZWhqYWhyc3BhcnR5IGluIHdlbmlnZXIgYWxzIGRyZWkgV29jaGVuIHN0YXR0ZmluZGV0LgoKSWNoIG1vZWNodGUgZGFyYW4gZXJpbm5lcm4sIGRhc3MgZGllIFZlcmVpbnMtTWl0Z2xpZWRlci0KVmVyc2FtbWx1bmcgaW1tZXIgenUgZGVuIEZydWVoamFocnNwYXJ0aWVzIHN0YXR0Z2VmdW5kZW4gaGFiZW4uCihBbnNvbnN0ZW4gaXN0IGVzIGthdW0gbW9lZ2xpY2gsIGVpbmUgZWluaWdlcm1hc3NlbiBndXQKYmVzdWNodGUgVmVyc2FtbWx1bmcgYWJ6dWhhbHRlbi4pCgpFaW5lIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyB2b20gTUdlViBpc3QgenUgZGllc2VtIFBhcnR5dGVybWluCm5pY2h0IG1laHIgbW9lZ2xpY2gsIHNjaG9uIGFsbGVpbiwgd2VpbCB3aXIgZGllICh2b24gZGVyIFNhdHp1bmcKdm9yZ2VzY2hyaWViZW5lKSBkcmVpd29lY2hpZ2UgRnJpc3QgZnVlciBkaWUgRWlubGFkdW5nZW4gbmljaHQKbWVociBlaW5oYWx0ZW4ga29lbm5lbi4KClZvbiBWaXBlciBoYWIgaWNoIGdlcmFkZSBlcmZhaHJlbiwgZGFzcyBlciBhbiBkaWVzZW0gV29jaGVuZW5kZQprZWluZSBaZWl0IGhhYmVuIHdpcmQuIEljaCBzZWxic3QgaGFiIG5pY2h0IGVpbmZhY2ggc28gbmViZW5iZWkKbWFsIDUwLC0gRVVSTyB6emdsLiBBbnJlaXNla29zdGVuIHVlYnJpZy4KCkRpZXNlcyBKYWhyIHN0ZWhlbiB3aWVkZXIga29tcGxldHRlIFZvcnN0YW5kc3dhaGxlbiBhbiB1bmQgaWNoCmhvZmZlIGVocmxpY2ggZ2VzYWd0LCBkYXNzIHNpY2ggZnVlciBkaWUgS2Fzc2VuZnVlaHJ1bmcgamVtYW5kCmFuZGVyZXIgZmluZGV0LCBkZXIgbWVociBaZWl0IGZ1ZXJzIE1HIGhhdCwgc2ljaCByZWdlbG1hZXNzaWcgaW5zCk1VRCBlaW5sb2dndCB1bmQgc29taXQgbWVociBkYXZvbiBtaXRrcmllZ3QsIHdhcyBkYSBzbyBhbGxlcyB2b3IKc2ljaCBnZWh0LiBEaWUgVmVyZWluc2FyYmVpdCBhbiBzaWNoIGlzdCBuaWNodCBzbyB6ZWl0YXVmd2VuZGlnCmFiZXIgYmVpIG1pciBwZXJzb2VubGljaCBzdGVoZW4genVyIFplaXQgd2ljaHRpZ2VyZSBEaW5nZSBhbi4KClNjaG9lbmUgR3J1ZXNzZSwKTHV6aWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbGQhIChUaGFudGFsYXMsIDI0LiBGZWIgMjAwMywgMTQ6MjU6MjApOgpIYWxsbyBQYXJ0eW11ZGRlcnMhClNvLCBsYXV0IGRlbSBsZXR6dGVuIFN0YW5kIGJldHJhZWd0IGRpZSBBbnphaGwgZGVyIGluIFdCIGZlaWVybmRlbiBNdWRkZXIgNTQuCkRhIGRlcmdhbnplIEtyYW0gc2Nob24gaW4gY2EuIDIgV29jaGVuIHN0YXR0ZmluZGV0LCB3dWVyZGUgaWNoIGVpZ2VudGxpY2ggbWFsCmdlcm5lIGRpZSBBbnphaGx1bmcgbGVpc3RlbiAodm9uIGNhLiA1MCAlKQpadXIgWmVpdCBoYWJlbiBjYS4gMjEgTGV1dGUgR2VsZCB1ZWJlcndpZXNlbiwgd2FlcmUgc2Nob2VuLCB3ZW5uIGRpZSBBbmRlcmVuCmJhbGQgZm9sZ2VuIHd1ZXJkZW4gOikKCmhhbnRhbGFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VsZCEgKEltZGEsIDI2LiBGZWIgMjAwMywgMDA6NTQ6MjApOgp+IyEgcm49VGhhbnRhbGFzIHJ0PTEwNDYwOTMxMjAgcmc9cGFydHkKfiMhIHRpZD0xMDQ2MDkzMTIwCkF1ZiAxMTEgbXVzc2ljaCBqYSB3b2ggYW50d290ZW4KVW5kIGljaCB3b2xsdCBzYWdlbjoKYSkgaWNoIGtvbW0gYXVjaApiKSBpdmggYnJpbmcgdmllbGUgbGV1dGUgbWl0KQpjKSBpY2ggbW9lY3RlIG5lIGx1ZnRnZWZlZGVydGUgU2NodWJrYXJyZSAKCmdydXMgYW4gaHVtbmksIGRpZSBhcm1lIHNhdW4KCkltZGEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlbGQhIChLYXJpbWEsIDI2LiBGZWIgMjAwMywgMTE6NDg6NTIpOgp+IyEgcm49SW1kYSBydD0xMDQ2MjE3MjYwIHJnPXBhcnR5Cn4jISB0aWQ9MTA0NjA5MzEyMApPZWhybQoKS29lbm50ZXN0IGR1IHZsbHQgZXR3YXMgZ2VuYXVlciBzYWdlbiwgd2FzICd2aWVsZSBMZXV0ZScgc2luZD8gV2VpbCBlcyB3dXJkZW4KamV0enQgNTUgTGV1dGUgaW4gV0IgYW5nZW1lbGRldCB1bmQgU2Nod2Fua3VuZ2VuIGJlaSBkZXIgWmFobCBzb2xsdGUgbGF1dCBkZXIKVmVyYW50d29ydGxpY2hlbiBkYSBiaXR0ZSBpbSBSYWhtZW4gdm9uICsvLSA1IExldXRlbiBsaWVnZW4uCgpHcnVzcwoKS2FyaW1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZWdiZXNjaHJlaWJ1bmcgKENhc3NhbmRyYSwgMjYuIEZlYiAyMDAzLCAxNDo0NzowOCk6CkhhbGxvIFBhcnR5b3JncwpLb2VubnRldCBpaHIgb2RlciBlaW4gZGF6dSBiZWZ1Z3RlciBkaWUgd2VnYmVzY2hyZWlidW5nIG5hY2ggV2ludGVyYnVyZyB3aWVkZXIKYW5rbGVtbWVuLgpJY2ggZGVua2UgbmljaHQsIGRhcyBpY2ggZGllIGVpbnppZ2UgYmluLCBkaWUgZGllIG5pY2h0IG1laHIgaGF0IHVuZCBzaWNoIG51cgp1bmdlcm4gdmVyZmFocmVuIG1vZWNodGUuCgpDYXNzYW5kcmEsIFBhcnR5ZnJldWRpZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VsZCEgKExlaWJpLCAyNi4gRmViIDIwMDMsIDE5OjMxOjU3KToKfiMhIHJuPUthcmltYSBydD0xMDQ2MjU2NTMyIHJnPXBhcnR5Cn4jISB0aWQ9MTA0NjA5MzEyMAprZWluZSBzb3JnZSwgZGllIGxldXRlLCBkaWUgbWl0IGltZGEga29tbWVuLCBzaW5kIG1laW5lcyB3aXNzZW5zIGFsbGUKYW5nZW1lbGRldCAoYXVzc2VyIGltZGEgc2VsYnN0KQoKbGVpYmkgLSBwbGFudCBmdWVyIGltZGEgdW5kIGJla29tbXQgZGFmdWVyIGJhaWxleXMgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3ZWdiZXNjaHJlaWJ1bmcgKFJvY2h1cywgMjcuIEZlYiAyMDAzLCAyMzowOToyOSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA0NjI2NzIyOCByZz1wYXJ0eQp+IyEgdGlkPTEwNDYyNjcyMjgKQW5mYWhydHNiZXNjaHJlaWJ1bmcgaXN0IGF1Y2ggYXVmCnd3dy5zY2h1bGxhbmRoZWltLXdpbnRlcmJ1cmcuZGUKClVuZDogSWNoIGtlbm5lIGRlbiBXZWcgOi0pCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNPTU1FUlBBUlRZIDIwMDMgKENhdHdlYXpsZSwgMjguIEZlYiAyMDAzLCAxMTowNDoyMik6Cn4jISBybj1Hbm9tZSBydD0xMDQ2Mzg5MjQ3IHJnPXBhcnR5Cn4jISB0aWQ9MTA0NjM4OTI0NwpQcmltYSwgVXJsYXViIGlzdCBnZWJ1Y2h0IDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNPTU1FUlBBUlRZIDIwMDMgKEFyZWVsYW5pciwgMjguIEZlYiAyMDAzLCAxNToxNDoyMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA0NjQyNjY2MiByZz1wYXJ0eQp+IyEgdGlkPTEwNDYzODkyNDcKKzEKKmcqCkFyZWVsYW5pcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU09NTUVSUEFSVFkgMjAwMyAoR3VhcmQsIDI4LiBGZWIgMjAwMywgMTU6NDQ6MjIpOgp+IyEgcm49QXJlZWxhbmlyIHJ0PTEwNDY0NDE2NjEgcmc9cGFydHkKfiMhIHRpZD0xMDQ2Mzg5MjQ3CmFsc28sIHdlbm4gamV0enQgMTAwIGFydGlrZWwgbWl0IGRlbSBpbmhhbHQgIit4IiBlcnNjaGVpbmVuLCBrb2VubmVuIHdpciBnbGF0dApzY2hvbiBidWNoZW4gdW5kIHVucyBkYXMgcGFydHlicmV0dCBzcGFyZW4gOi0pIApGYWxscyBlaW5lciBub2NoIG5pY2ggc2ljaGVyIGlzdCwgb2IgZXIga2FubiB1bmQgd2llIGVyIGhpbmtvbW10LCBpbiBrdWVyemUKd2VyZGVuIGRpZSBzZWl0ZW4gZGF6dSBlcnJlaWNoYmFyIHNlaW4sIHNvIGVpbmUgd29jaGUsIHdpbGwgamEgc2NobGllc3NsaWNoCmd1dCB1bmQgcmVjaHplaXRpZyBnZXBsYW50IHNlaW4gLi4uCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVyYnVyZy4gKEJhbWJpLCAgNy4gTWFyIDIwMDMsIDExOjQzOjUzKToKQWxzIFJhbmRub3Rpeiwgd2VpbHMgb2Z0IHZlcmdlc3NlbiB3aXJkLgpJbiBXaW50ZXJidXJnIGJyYXVjaHQgbWFuIHp3aW5nZW5kIEJldHR3YWVzY2hlLiBTY2hsYWZzYWVja2Ugc2luZCBuaWNodAp6dWdlbGFzc2VuLCBtYW4ga2FubiBzaWNoIG5vdGZhbGxzIEJldHR3YWVzY2hlIGF1c2xlaWhlbiBoYWIgaWNoIG1hbCBnZWhvZXJ0LgpJY2ggcGVyc29lbmxpY2ggd3VlcmRlIGRhenUgcmF0ZW4sIGVpZ2VuZSBCZXR0d2Flc2NoZSBtaXR6dWJyaW5nZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZy4gKEFuYXRvbCwgIDcuIE1hciAyMDAzLCAxMTo1NDoyMSk6Cn4jISBybj1CYW1iaSBydD0xMDQ3MDMzODMzIHJnPXBhcnR5Cn4jISB0aWQ9MTA0NzAzMzgzMwpXZW5uIFJhbmRub3RpeiwgZGFubiBiaXR0ZSB2b2xsc3RhZW5kaWc6IFZlcmdlc3N0IGV1cmUgcHJpdmF0ZW4gVHJpbmtnZWZhZXNzZQpuaWNodC4gS2xhciwgSHVtbmkgZXRjLiBlcm5hZWhydCBzaWNoIHZvbiBCaWVyIGF1cyBGbGFzY2hlbiwgYWJlciBhbGwgZGllCmFuZGVyZW4gdHVuIGd1dCBkYXJhbiwgZWluIEdsYXMgb2RlciBlaW5lbiAoZ3Jvc3NlbikgQmVjaGVyIG1pdHp1YnJpbmdlbiAtIApkYXMgSGF1cyBoYXQgendhciBHbGFlc2VyIHVuZCBUYXNzZW4sIGFiZXIgZGllIHNpbmQgYWJlbmRzIG5hY2ggZGVtIGxldHp0ZW4KU3B1ZWxlbiBuaWNodCBtZWhyIGdyZWlmYmFyLgoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZy4gKFN0cm9oYWxtLCAgNy4gTWFyIDIwMDMsIDIwOjIwOjAxKToKfiMhIHJuPUJhbWJpIHJ0PTEwNDcwMzM4MzMgcmc9cGFydHkKfiMhIHRpZD0xMDQ3MDMzODMzCkRhcmYgbWFuIHdlbmlnc3RlbnMgbWl0IFNjaGxhZnNhY2sgbmViZW4gZGVtIEJldHQgcGVubmVuPwoKSGFlbG1jaGVuLCBTY2hsYWZzYWNrZmV0aXNjaGlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaGJldHJhY2h0dW5nLi4uIChCYW1iaSwgIDkuIE1hciAyMDAzLCAxNzozOToyNyk6CkRpZSBXaW50ZXJidXJncGFydHkgd2FyIHRvbGwsIG5pY2h0IGdhbnogc28gdG9sbCwgd2llIGJlaW0gZXJzdGVuIG1hbCwgYWJlcgp0b2xsZXIsIGFscyBvaG5lIG1pY2guIDspCkRpZSBXaW50ZXJidXJncGFydHkgd2FyIGtsZWluLCBzaWUgd2FlcmUgb2huZSBtaWNoIGtsZWluZXIgZ2V3ZXNlbi4gOykKRGllIFBhcnR5b3JnYW5pc2F0aW9uZW4gd2FyZW4gc3VwZXIuIEF1Y2ggZ2FueiBvaG5lIG1pY2guCgpIdW1uaSB1bmQgSW1kYSBoYWJlbiBlaW5lIGhpc3RvcmlzY2hlIFdldHRlIGdld29ubmVuLiBEYXp1IGdpYnQgZXMgRm90b3MuIERpZQprb21tZW4gYWJlciBlcnN0IG5hY2ggRW50d2lja2x1bmcgZGVzIEZpbG1zLgoKV2FzIGpldHp0IHNjaG9uIGtvbW10LCBzaW5kIGVpbmlnZSBBdWYtIHVuZCBNaXRzY2hyaWViZS4KCkNyb2Z0IGJlaW0gRnJ1ZWhzdHVlY2sgKHp3aXNjaGVuIHp3ZWkgTG9lZmZlbG4gTXVlc2xpKTogIldhbm4gZ2lidHMgd2FzIHp1CkVzc2VuPyIKCkVyaWE6ICJEZXIgWndlcmcgaGF0IG1pciAzLzQgdm9uIGRlbSBEaW5nIHJlaW5nZXNjaG9iZW4uIgoKSW5lc2hhIHp1IFZpbmNlbnQ6ICJIYXN0IER1IHZvcm5lIGF1Y2ggd2FzPyIKVmluY2VudDogIkphLiBBYmVyIGtlaU4gS2FydGVuc3BpZWwuIgoKSW5lc2hhIHp1bSBUaGVtYSBBYm1lbGRlZ3J1bmQgdm9uIFN0YW1tdGlzY2hlbjogIkljaCBrb21tIG5pY2h0LCB3ZWlsLCBpY2gKd2lsbCBoZXV0ZSBhYmVuZCB3aWxkZW4gU2V4IGhhYmVuLiIKCihGcmVtZHppdGF0KSBCZWxkYXJhbiB6dSBMYXJpc2llbGxlIChiZWltIE1hZXhjaGVuc3BpZWwpOiAiV2lldmllbCBQcm9taWxsZQpoYXN0IER1IGltIEJsdXQ/IgpMYXJpc2llbGxlOiA1Mi4KCihGcmVtZHppdGF0KSBMYXJpc2llbGxlOiBXZXIgaXN0IGRyYW4/IERlciBMb2didWNoc2NocmVpYmVyPwpCZWxkYXJhbjogUGFyZGF1eiBpc3QgZHJhbi4gUGEtU3Rlcm4uClBhcmRhdXo6IERhcyBpc3QgdWVicmlnZW5zIFBhbXBpcyBMb2didWNoLgoKTGFyaXNpZWxsZTogV2VubiBtYW4gZGVuIEZpbmdlciBoaW50ZW4gcmVpbnN0ZWNrdCwgZHJlaHQgZXMgc2ljaCBiZXNzZXIuCgpVbmQgbm9jaCBlaW5lIE5vdGl6IGZ1ZXIgS2FyaW1hLi4uCkFuIGRlciBuYWVjaHN0ZW4gUGFydHkgd2FzIHp1IEVzc2VuIG1pdGJyaW5nZW4uCgpEYXMgd2FycyB6dW5hZWNoc3Qgdm9uIGRlciBNdWRmZXRlIGluIFdpbnRlcmJ1cmcuIE1vZWdlbiBub2NoIHZpZWxlCmludGVyZXNzYW50ZSBFaW5ibGlja2UgdW5kIGVpbmUgSGlnaGxpZ2h0YmVzY2hyZWlidW5nIGRlciBXZXR0ZWlubG9lc3VuZwpmb2xnZW4uCk1mRywgQmFtYmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFjaGJldHJhY2h0dW5nLi4uIChUd2luZ2ksICA5LiBNYXIgMjAwMywgMTk6MDU6MzEpOgp+IyEgcm49QmFtYmkgcnQ9MTA0NzIyNzk2NyByZz1wYXJ0eQp+IyEgdGlkPTEwNDcyMjc5NjcKQXVjaCB2b24gbWlyIGVpbiBnYW56IGRpY2tlcyBEYW5rZXNjaG9lbiBhbiBLYXJpbWEgdW5kIFRoYW50YWxhcyBmdWVyIGVpbgp0b2xsZXMgUGFydHl3b2NoZW5lbmRlLgoKVW5kIGVpbiBncm9zc2VyIEFwcGxhdXMgYW4gSHVtbmkgdW5kIEltZGEgZnVlciBpaHJlIGhlbGRlbmhhZnRlIExlaXN0dW5nLgoKWml0YXRlIGZhbGxlbiBtaXIgc3BvbnRhbiBrZWluZSBlaW4sIGtsZWluZSBMYWVzdGVyZWllbiBqZWRlIE1lbmdlLCBhYmVyCmdld2lzc2UgTGV1dGUgd2lzc2VuIHNlbGJlciB2aWVsIGJlc3Nlciwgd2llIGlocmUgYmxhdWVuIEZsZWNrZW4genVzdGFuZGUKa2FtZW4gOy0pCgpGcmVjaGUgSGV4ZSBUd2luZ2kgLSBmcmV1dCBzaWNoIGF1ZiBlaW4gbmFlY2hzdGVzIE1hbCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmFjaGJldHJhY2h0dW5nLi4uIChIaXNhc3VsLCAgOS4gTWFyIDIwMDMsIDE5OjMxOjE5KToKfiMhIHJuPVR3aW5naSBydD0xMDQ3MjMzMTMxIHJnPXBhcnR5Cn4jISB0aWQ9MTA0NzIyNzk2NwpWb24gbWlyIGF1Y2ggZWluIGdyb3NzZXMgTG9iIGZ1ZXIgZGllIHN1cGVyIE9yZ2FuaXNhdGlvbiB1bmQgdmllbGVuIERhbmsgZnVlcgpkaWUgd2llIGljaCBmaW5kZSBzZWhyIGdlbHVuZ2VuZSBQYXJ0eSEKV2FubiB3YXIgZG9jaCBnbGVpY2ggZGllIG5hZWNoc3RlPyA6KQoKWml0YXRlIGhhYiBpY2ggYWxsZSB2ZXJnZXNzZW4sIG1laW5lIFdldHRlIG5pY2h0IGdlc2NoYWZmdCBhYmVyIGRhZnVlciB3ZWlzcwppY2ggd2llIGRpZSBibGF1ZW4gRmxlY2tlbiB6dXN0YW5kZSBnZWtvbW1lbiBzaW5kICpqYW1tZXIqIDspCgpIaXMqLCBpbW1lciBub2NoIGxlaWNodCAiYW5nZXNjaGxhZ2VuIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmFjaGJldHJhY2h0dW5nLi4uIChBbm9yaXMsICA5LiBNYXIgMjAwMywgMTk6NDY6MjIpOgp+IyEgcm49SGlzYXN1bCBydD0xMDQ3MjM0Njc5IHJnPXBhcnR5Cn4jISB0aWQ9MTA0NzIyNzk2NwpEYSBzY2hsaWVzcyBpY2ggbWljaCBkb2NoIGdlcm5lIGFuISBHcmF0cywgaGF0IGVjaHQgU3Bhc3MgZ2VtYWNodCA7KQoKWml0YXQoZSk6CgpXZXIgaXN0IGRhcz8gLSBIYW5zd3Vyc3QgLSBTaWVodCBtYW4gZGFzIG5pY2h0PwoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5hY2hiZXRyYWNodHVuZy4uLiAoSHVtbmksICA5LiBNYXIgMjAwMywgMTk6NDk6MjUpOgp+IyEgcm49SGlzYXN1bCBydD0xMDQ3MjM0Njc5IHJnPXBhcnR5Cn4jISB0aWQ9MTA0NzIyNzk2NwooaW4gYmVzdGVyIE1lZ2FzY2htYXJybi1UcmFkaXRpb246IEFudHdvcnQgYXVmIGRlbiBsZXR6dGVuIEFydGlrZWwpCgpPSywgaGllciBkYW5uIGVpbmZhY2ggbWFsIGVpbiBrbGVpbmVyIEJlcmljaHQ6CgpFcyBiZWdhbm4gZGFtaXQsIGRhc3MgTW9udGFudXMgaW4gbWVnYXNjaG1hcnJuIGVyd2FlaG50ZSwgZGFzcyBhdXMgc2VpbmVyClppdml6ZWl0IG5vY2ggZWluZSBBcnQgZWluc2VpdGlnZXIgV2V0dGUgYmVzdGFuZCwgZGllIGRlbWplbmlnZW4sIGRlciBhbHMKZXJzdGVyIGVpbmUgS2lzdGUgQmllciBtaXQgZWluZXIgU2NodWJrYXJyZSB2b24gTWFpbnogbmFjaCBXaW50ZXJidXJnIGZhZWhydAplaW5lbiBnZXdpc3NlbiBCZXRyYWcgdmVyc3ByaWNodC4gTmViZW5iZWRpbmd1bmc6IERpZSBLaXN0ZSBpc3QgenUgQmVnaW5uCnZvbGwgdW5kIGluIFdCIGxlZXIuCgpOYWphLCB1bmQgYWxzIGljaCBkYW5uIGZyYWd0ZSwgd2llIHdlaXQgZGFzIHNlaSwgbWVpbnRlIGVyLCBlcyBzZWllbiBjYS4gNTAKa20uIFVuZCBpY2ggc2FndGUgZGFyYXVmaGluLCBndXQsIGF1ZiBkZXIgU3RyZWNrZSBzY2hhZmZ0IG1hbiBuZSBLaXN0ZS4gSW1kYQp3YXIgZGVyc2VsYmVuIE1laW51bmcuIElyZ2VuZHdpZSBoYWJlbiB3aXIgZGFiZWkgdWViZXJzZWhlbiwgZGFzcyBlcyBuaWNodApudXIgdW0gZGFzIEJpZXIgZ2VodC4gQWJlciBndXQsIHdpciBoYXR0ZW4gdW5zZXJlIFNjaG5hdXplbiB3ZWl0IGF1Zmdlcmlzc2VuLgoKRm9sZ2xpY2ggbXVzc3RlbiB3aXIuIEltIFZvcmZlbGQgaGF0dGVuIHdpciBndXRlIEF1c3JlZGVuOiBXaXIgd29sbHRlbiBlaW5lCmFuZ2VtZXNzZW5lIFNjaHVia2FycmUgKGx1ZnRiZXJlaWZ0LCBndXRlIEdyaWZmZSkgc293aWUga2VpbmVuIFJlZ2VudGFnLgoKRG9ubmVyc3RhZyBzYWggYWxsZXMgbm9jaCBndXQgYXVzOiBSZWdlbiwgTWF0c2NoLCBndXRlIEF1c3JlZGUsIEthcmltYSB1bmQKVGhhbnRhbGFzIGhhYmVuIGJlc3RpbW10IGFuIGtlaW5lIFNjaHVia2FycmUgZ2VkYWNodC4gSGFiZW4gd2lyIGphIG51ciBpbgpNZWdhc2NobWFycm4gdW5kIGluIGtlaW5lciAsLGFuc3RhZW5kaWdlbicnIFJ1YnJpayBnZXBvc3RldC4gR3V0LgoKRnJlaXRhZyBrYW1lbiBkYW5uIGRpZSBGYWt0ZW46IEVpbmUgaGVydm9ycmFnZW5kZSBTY2h1YmthcnJlIHVuZCBrYXVtIFJlZ2VuLQp3YWhyc2NoZWlubGljaGtlaXQuIEhtcGYuIEZvbGdsaWNoIG11c3N0ZW4gd2lyLiBVbmQgZGEgd2lyIGFtIFNhbXN0YWcgYWJlbmQKdm9uIGRlciBQYXJ0eSB3YXMgbWl0a3JpZWdlbiB3b2xsdGVuIHVuZCBtaXQgZWluZXIgWmVpdCB2b24gY2EuIDEyLTE2IFN0dW5kZW4KcmVjaG5ldGVuIHdvbGx0ZW4gd2lyIHNlaHIgZnJ1ZWggbG9zLiBCYW1iaSBmdWhyIHVtIDI6MDAgbWl0IHVucyBsb3MsIHVtIDM6MjUKaGF0dGVuIHdpciBkZW4gT3J0IGRlcyBBbmZhbmdzIGdlZnVuZGVuIDogRGFzIE9ydHNhdXNnYW5nc3NjaGlsZCBNYWluei0KR29uc2VuaGVpbSwgUmljaHR1bmcgSGVpbXNoZWltLiBCZXdlaXNmb3RvIGhhdCBkYXMgUmVoIGF1Y2ggZ2VtYWNodC4KCkF1c2dhbmdzZGVhbCB3YXI6IEVpbmVyIHNjaGllYnQsIGRlciBhbmRlcmUgdHJpbmt0IEJpZXIuIE11c3N0ZSBqYSBiaXMgenVyCkJ1cmcgd2Vnc2Vpbi4KCkFuZ2VibGljaCB3YXJlbiBlcyA4a20gYmlzIEhlaW1zaGVpbS4gTmFjaCBlaW5lciBTdHVuZGUgd2FyZW4gd2lyIHNjaG9uIGRhLAppY2ggZ2xhdWJlIGZvbGdsaWNoLCBkYXMgd2FyZW4gZWhlciA2a20gKGRhIHdhcmVuIHdpciBub2NoIGVjaHQgZ3V0CnVudGVyd2VncykuIE5hamEsIGVnYWwsIHZvbiBkYSBhdXMgZ2luZyBlcyB3ZWl0ZXIgbmFjaCBJbmdlbGhlaW0sIHdvIHdpcgplcnN0bWFsIGVpbmUgS2FydGUgaW4gZWluZXIgVGFua2Uga2F1ZnRlbiAoZGVyIFR5cCBpbiBkZXIgVGFua2Ugd2FyIHRvdGFsCmJldHJ1bmtlbiwgc2FndCBJbWRhLCBpY2ggaGFiIGRyYXVzc2VuIGF1ZnMgQmllciBhdWZnZXBhc3N0KS4KCk5hZWNzdGVyIE9ydCB3YXIgR2F1LUFsZ2VoZWltLCBkYW5uIGthbSBPY2tlcm5oZWltLiBWaWVsIGdpYnRzIG5pY2h0IHp1CmJlcmljaHRlbiwgbnVyIGRhc3Mgd2lyIGluIE9ja2VybmhlaW0gV3Vyc3QgZ2VrYXVmdCBoYWJlbiB1bmQgZGFzcyB3aXIgZWluZW4Kc2lubmxvc2VuIEJlcmdhdWZzdGllZyBtYWNodGVuLCBkYSBkYSBlaW5lIEJydWVja2UgZWluZ2V6ZWljaG5ldCB3YXIsIGRpZQplcyBpbiBkZXIgUmVhbGl0YWV0IG5pY2h0IGdhYi4gR2Vmb2xndCB3dXJkZSBkYXMgZ2FuemUgdm9uIEJ1ZGVzaGVpbS4KCk5hZWNoc3RlcyBQcm9ibGVtIHdhciBkaWUgTmFoZS4gRWluZW4gc2NobmVsbGVuIEZlbGR3ZWcgZmluZGVuIGdpbmcgbmljaHQKc28gZWluZmFjaCAtIHdpciBtdXNzdGVuIGVyc3RtYWwgdWViZXIgZGVuIEZsdXNzLiBNaXQgZWluZXIgU2NodWJrYXJyZSBpc3QKbWFuIGxlaWRlciBuaWNodCBnYW56IHNvIGJld2VnbGljaCB3aWUgb2huZSAtIEplIG5hY2ggU3RyYXNzZSBzdGVsbGVuIExlaXQtCnBsYW5rZW4gZWluIFByb2JsZW0gZGFyLCBkYXMgbWFuIHNvbnN0IG5pY2h0IGhhdCAoaGFldHRlIGljaCB2b3JoZXIgYXVjaApuaWNodCBzbyBnZXNlaGVuLCBpc3QgYWJlciBzbykuIFNvbWl0IGZyYWd0ZW4gd2lyIGVpbmVuIFBhc3NhbnRlbiwgb2Igd2lyCmF1Y2ggdWViZXIgZGllIEJydWVja2UsIGRpZSBhdWYgdW5zZXJlciBLYXJ0ZSBlaW5nZXplaWNobmV0IHdhciwgenUgRnVzcwpkcnVlYmVya29tbWVuIGtvZW5uZW4uIEFudHdvcnQ6ICwsSmEsIGRhcyBpc3QgYWJlciBub2NoIHdlaXQuJycgLSBlciBoYXR0ZQplaW5lIG5haXZlIFZvcnN0ZWxsdW5nIHZvbiAsLHdlaXQnJywgZGFzIHdhciBuaWNodG1hbCBlaW4gS2lsb21ldGVyLi4uCgpVZWJlciBkaWUgQnJ1ZWNrZSBrYW1lbiB3aXIgdGF0c2FlY2hsaWNoLCB1bmQgdm9uIE11ZW5zdGVyLVNhcm1zaGVpbSBnaW5nCmVzIGRlbiBUcm9sbGJhY2ggZW50bGFuZyBuYWNoIFJ1ZW1tZWxzaGVpbS4gSGllciB3YXIgZGllIGVyc3RlIGdyb2Vzc2VyZQpQYXVzZSBhbmdlc2FndCAtIGhpbmxlZ2VuLCBlbnRzcGFubmVuLiBadSBlcndhZWhuZW4gYmxlaWJ0LCBkYXNzIEltZGEgYWIKaGllciBkaWUgbWVpc3RlIFplaXQgZ2VzY2hvYmVuIHVuZCBpY2ggZWhlciBkZW4gQmllcnRyaW5rcGFydCB1ZWJlcm5vbW1lbgpoYWJlLgoKVWVicmlnZW5zIHdhciBkYXMgQmllciBCaXRidXJnZXIuIEJpZXIgaXN0IG1hbmNobWFsIHNlaHIgbGVja2VyLCBkYXMgZ2lsdAphdWNoIGZ1ZXIgZGllc2VzLgoKVm9uIFJ1ZW1tZWxzaGVpbSBnaW5nIGVzIG5hY2ggV2FsZGxhdWJlcnNoZWltLCBhbiBkZXIgQXV0b2JhaG5hYmZhaHJ0IGRhIGlzdAplaW4gTWNEb25hbGRzLCBkZXIgdm9uIHVucyBwcm9tcHQgendlY2tzIE5haHJ1bmdzYmVzY2hhZmZ1bmcgYmVudXR6dCB3dXJkZS4KCkRlciBuYWVjaHN0ZSBTY2hyaXR0IHdhciBXaW5kZXNoZWltLCB3byB3aXIgdW5zIC0gaW4gdHlwaXNjaGVyIE1hbmllciAtIGVpbgp3ZW5pZyB2ZXJsaWVmZW4gdW5kIGVpbiBTY2hpbGQgc2FoZW4sIGRhcyBkaWUgQXVmc2NocmlmdCBIZXJnZXNoZWltIDVrLApXYWxsaGF1c2VuIDhrbSB0cnVnLiBEYSB3aXIgbmFjaCBXYWxsaGF1c2VuIHdvbGx0ZW4gZm9sZ3RlbiB3aXIgaWhtLgoKTmFjaCBjYS4gNCBLaWxvbWV0ZXJuIC0gYWIgaGllciBmaW5nIGFsbGVzIGltIEJlaW5iZXJlaWNoIGFuIHdpcmtsaWNoIHdlaAp6dSB0dW4gKHdhciBiZWkgbWlyIHNvLCBiZWkgSW1kYSBhYmVyIHdvaGwgYXVjaCkgLSBrYW0gZGFubiBlaW4gd2VpdGVyZXMKU2NoaWxkOiBSZWNodHMgSGVyZ2VzaGVpbSwgTGlua3MgV2FsbGhhdXNlbiAtIGJlaWRlcyAyIGttLiBJcmdlbmR3aWUgc2NoZWludAptYW4gZXMgaW4gZGllc2VtIExhbmRzdHJpY2ggbmljaHQgc28gbWl0IEVudGZlcm51bmdlbiB6dSBoYWJlbi4KClNjaGxpZXNzbGljaCB0cmFmZW4gd2lyIGluIFdhbGxoYXVzZW4gZWluLiBIaWVyIHd1cmRlIHNpY2ggYXVmIGVpbmUgTWF1ZXIKZ2VzZXR6dC4gRWluIE1hZWRjaGVuIGdpbmcgZXJzdCByZWNodCBzY2huZWxsIGFuIHVucyB2b3JiZWkgdW5kIGZpbmcgZGFubgphbiBlaW4gU3R1ZWNrIHNjaG5lbGxlciB6dSBsYXVmZW4uCgpJbWRhIGJyYWNodGUgZGFzIHNjaG9lbnN0ZSBaaXRhdCB6dSBkaWVzZW0gWmVpdHB1bmt0OiAsLERhcyB3aWxsIGljaCBhdWNoCmtvZW5uZW4uJycKCk51biBnaW5nIGVzIGFuIGRlbSBrbGVpbmVuIEJhY2ggZW50bGFuZywgZGVzc2VuIE5hbWVuIGljaCB2ZXJnZXNzZW4gaGFiZSwgYXVmCmVpbmVtIFJhZHdlZyAtIHdpciBEZXBwZW4sIGRlbm4gZGllIFN0cmFzc2UgKE5lZSwgYmVzc2VyIG5pY2h0LCBkYSBmYWhyZW4gamEKQXV0b3MpIHdhciByZWNodCBmbGFjaCwgZGVyIEZhaHJyYWR3ZWcgZ2luZyBtdW50ZXIgaG9jaCB1bmQgcnVudGVyLiBXaXIga2FtZW4KbmFjaCBEYWxiZXJnIHVuZCBkYW5uIG5hY2ggU3BhbGwsIHNjaGxpZXNzbGljaCBuYWNoIEdlYnJvdGgsIHVuZCB3aWUgd29obApqZWRlciB3ZWlzcywgZGVyIHNjaG9ubWFsIGluIFdCIHdhciwgZ2VodCBkZXIgV2VnIHZvbiBXaW50ZXJiYWNoIG5hY2ggR2Vicm90aApkaXJla3QgYW4gZGVyIEF1ZmZhaHJ0IHp1ciBCdXJnIHZvcmJlaS4gRG9ydCB1bnRlbiBzdGFuZGVuIHNjaG9uIGxhdXRlcgpNdWRkZXIgdW5kIGhhYmVuIHVucyBlaW5lbiB3aXJrbGljaCBuZXR0ZW4gRW1wZmFuZyBiZXJlaXRldC4gTm9jaG1hbCBkYW5rZQpkYWZ1ZXIuCgpTb3ZpZWwgenUgZWluZXIgdm9lbGxpZyBzaW5ubG9zZW4sIG5pY2h0IHdlaXRlcnp1ZW1wZmVobGVuZGVuIChkaWUgbGV0enRlbgoyMCBrbSB3YXJlbiBpbiBldHdhIHNvIGxhbmcgd2llIGRpZSBlcnN0ZW4gNDApIFRhdCwgdW5kIERhbmtlIGFuIGRhcwpPcmdhdGVhbSBmdWVyIGRpZSBQYXJ0eSB1bmQgbmF0dWVybGljaCBkaWUgU2NodWJrYXJyZW5iZXNvcmd1bmcgKGRpZQpTY2h1YmthcnJlIHdhciBlY2h0IHZlcmRhbW10IGd1dCkgc293aWUgZnVlciBkZW4gbmV0dGVuIEVtcGZhbmcuIEltbWVyaGluCmhhYmVuIHdpciBqZXR6dCBlaW5lbiBWb3J0ZWlsOiBXaXIgbXVlc3NlbiB1bnMgbmljaHQgbWVociBkcnVtIGt1ZW1tZXJuLApuZXVlIEF1c3JlZGVuIHp1IGVyZmluZGVuLiBVbmQgdmllbGVuIERhbmsgYW4gQmFtYmkgZnVlciBkaWUgS3V0c2NoZmFocnQuCgpIdW1uaSwgbXVlZGUgdW5kIG1pdCBrYXB1dHRlbiBCZWluZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmFjaGJldHJhY2h0dW5nLi4uIChCYW1iaSwgIDkuIE1hciAyMDAzLCAyMTo0MTo1NCk6Cn4jISBybj1IdW1uaSBydD0xMDQ3MjM1NzY1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0NzIyNzk2NwpLYW5uc3QgRHUgZGVuIFRlaWwgZ2VuYXVlciBzY2hpbGRlcm4sIGFscyBpaHIgbWl0IGRlciBTY2h1YmthcnJlIGFtIE1jLURyaXZlCnN0YW5kZXQ/Cn06KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmFjaGJldHJhY2h0dW5nLi4uIChab29rLCAgOS4gTWFyIDIwMDMsIDIxOjUxOjUyKToKfiMhIHJuPUJhbWJpIHJ0PTEwNDcyNDI1MTQgcmc9cGFydHkKfiMhIHRpZD0xMDQ3MjI3OTY3ClZpZWxlbiBEYW5rIGFuIGRpZSBQYXJ0eS1PcmdhbmlzYXRvcmVuIGZ1ZXIgZGllIHdpZWRlciBlaW5tYWwgZ2VsdW5nZW5lCldpbnRlcmJ1cmctUGFydHkKClZpZWxlbiBEYW5rIGFuIGRpZSBuZXR0ZW4gUGFydHliZXN1Y2hlciwgZGllIGRhZnVlciBnZXNvcmd0IGhhYmVuLCBkYXNzIGljaAptaWNoIHdpZWRlciBlaW5tYWwga29lc3RsaWNoIGFtdWVzaWVydCBoYWJlLgoKVmllbGVuIERhbmsgYW4gVHdpbmdpIGZ1ZXIgZGllIFVudGVyc3R1ZXR6dW5nIGJlaW0gZ3V0ZW4gV2V0dGVyIAooW1RlYW06RnVyY2h0ZXJyZWdlbmRdKSwgc28gZGFzcyBTYXJrb24gdW5kIGljaCBhbiBkZW4gIktpcm5lcgpEb2xvbWl0ZW4iIGFtIFJMLVdhcm9rLVNraWxsIGZlaWxlbiBrb25udGVuLgoKR3J1c3MsIFpvb2suCgpQUzogSWNoIGhhYmUgaGllciBub2NoIGVpbiAiR2VzY2hlbmsgQmFkZXR1Y2giICJlcnN0ZWlnZXJ0Ii4gRXMgaXN0IGluIGVpbmVtCnNjaG9lbmVuIGJsYXUgZ2VoYWx0ZW4gdW5kIGFuIGVpbmVtIEVuZGUgZmluZGVuIHNpY2ggYWxzIE11c3RlciBhdWZnZW5hZWh0ZQpTZWVzdGVybmUgdW5kIEZpc2NoZS4gR2Vob2VydCBlcyBqZW1hbmRlbT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlci4uLiAoWm9vaywgIDkuIE1hciAyMDAzLCAyMjo1Mzo0Nyk6ClJpY2h0aWcgc2NobmVsbCB3YXIgTGFjcmkgbWl0IGlocmVuIEJpbGRlcm4uIDotKSkKCkdydXNzLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJpbGRlci4uLiAoWm9vaywgIDkuIE1hciAyMDAzLCAyMjo1NzoxNyk6Cn4jISBybj1ab29rIHJ0PTEwNDcyNDY4Mjcgcmc9cGFydHkKfiMhIHRpZD0xMDQ3MjQ2ODI3CkZhbGxzIEJpbGR1bnRlcnNjaHJpZnRlbiBmYWxzY2ggb2RlciB1bnZvbGxzdGFlbmRpZyBzaW5kLCBiaXR0ZSBpY2ggdW0KUnVlY2ttZWxkdW5nIGFuIGRlbiBGb3RvZ3JhZmVuICh3YXMgbWlyIGFtIGxpZWJzdGVuIHdhZXIpIG9kZXIgbm90ZmFsbHMKYW4gbWljaCBwZXIgTWFpbC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOYWNoYmV0cmFjaHR1bmcuLi4gKEFuYXRvbCwgIDkuIE1hciAyMDAzLCAyMzozNjozOCk6Cn4jISBybj1ab29rIHJ0PTEwNDcyNDMxMTIgcmc9cGFydHkKfiMhIHRpZD0xMDQ3MjI3OTY3CgpGcmVpdGFnIEFiZW5kLCBJcmdlbmR3ZXIgd2lyZnQgZGVtIEJyb3RhdWZzdHJpY2ggLSBzYXR0ZXMgYnJhdW4sIEt1Z2VsZm9ybSwKd2Vja3QgdW53ZWlnZXJsaWNoIEFzc296aWF0aW9uZW4gLSBlaW5lbiBzZWhyIGtyaXRpc2NoZW4gQmxpY2sgenUuIAoKQm9pbmc6ICJEYXMgaGFiZSBpY2ggaGllciBzY2hvbm1hbCBnZWdlc3Nlbi4iCgouLi4gc28gZ2VuYXUgd29sbHRlbiB3aXIgZGFzIGFiZXIgZWlnZW50bGljaCBhbGxlIG5pY2h0IHdpc3Nlbi4uLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIE9yZ2EtVGVhbSEgKEtlbHJpcywgIDkuIE1hciAyMDAzLCAyMzo1MjowMSk6CkRhbmtlIGZ1ZXIgZGllIHd1bmRlcmJhcmUgT3JnYW5pc2F0aW9uIGRlciBNRy1QYXJ0eS4gRnVlciB3ZWl0ZXJnZWhlbmRlcyBMb2IKc2luZCBhbmRlcmUgenVzdGFlbmRpZy4gRWluIERhbmsgYXVjaCBhbiBQaG9ib3MgdW5kIFBlcmRpdGEgZGllIG1pciBkZW4gQmVzdWNoCmVyc3QgZXJtb2VnbGljaHRlbi4gCgpHcnVzcywgS2VscmlzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmFjaGJldHJhY2h0dW5nLi4uIChHbm9tZSwgMTAuIE1hciAyMDAzLCAwMDo0MjozNik6Cn4jISBybj1BbmF0b2wgcnQ9MTA0NzI0OTM5OCByZz1wYXJ0eQp+IyEgdGlkPTEwNDcyMjc5NjcKU2EuIG1vcmdlbiwgZ2VnZW4ga3VyeiB2b3IgNi4gY2FrZXksIG1haGFyZXQsIGxlaWJuaXogdW5kIGljaCBzaXR6ZW4gYmVpCmJpZXIgdW5kIGJhY2FyZGkvY29sYSAoZGFua2Ugbm9jaG1hbHMsIHRoYW50YWxhcyA6KSksIGFtIHRpc2NoLgpoaXNhc3VsIGhhZW5ndCBpcmdlbmR3byBpbiBkZXIgZWNrZSBhbiBzZWluZW0gMTQuIGJpZXIgZmVzdC4KY2FrZXkga2FubiBvYiBzZWluZSBtdWVkaWdrZWl0IHNpY2ggbmljaHQgc28gcmVjaHQgZW50c2NoZWlkZW4sIG9iCmVyIG51biBiZXNvZmZlbiBzZWluIHdpbGwgb2RlciBlaW5mYWNoIG51ciBpbnMgYmV0dCBnZWhvZXJ0LgpkYW5uIGlyZ2VuZHdhbm4gdHJpZmZ0IHNlaW4gc3RhbW1oaXJuIGRpZSBlbnRzY2hlaWR1bmcgdW5kIGVyIGJyaW5ndApmb2xnZW5kZW4gc3BydWNoIHp1c3RhbmRlOgoiaWNoIGdlaCBnbGVpY2ggU09XQVMgdm9uIGlucyBiZXR0LCBkYSBrcmFjaHQgc2llIHNjaHdhcnRlISIKCnVuZCBlaW4gcGFhciBtdWRkZXIgbGFnZW4gdm9yIGxhY2hlbiBhbSBib2Rlbi4Kb2ssIGhpc2FzdWwgbGFnIHNjaG9uIGRhIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTmFjaGJldHJhY2h0dW5nLi4uIChDYXNzYW5kcmEsIDEwLiBNYXIgMjAwMywgMTU6MTY6NTUpOgp+IyEgcm49R25vbWUgcnQ9MTA0NzI1MzM1NiByZz1wYXJ0eQp+IyEgdGlkPTEwNDcyMjc5NjcKRGFua2UgYW4gZGllIG9yZ2FuaXNhdG9yZW4sIGhhdCBzcGFzcyBnZW1hY2h0LgoKamV0enQgYmVnaW5udCB3aWVkZXIgZGFzIGxhbmdlIHdhcnRlbiBhdWYgZGllIG5hZWNoc3RlLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFuZ2Vrb21tZW4hIChQZXJkaXRhLCAxMC4gTWFyIDIwMDMsIDE1OjU4OjU1KToKSWNoIHdvbGx0ZSBudXIgbWFsIGt1cnogbWVsZGVuLCBkYXNzIHdpciBhbGxlIGd1dCBhbmdla29tbWVuIHNpbmQhCkRpZSBkcmVpIE1hZWRlbHMgc2luZCBzaWNoZXIgaW4gTXVlbnN0ZXIgYW5nZWtvbW1lbiwgSWRsZWZpeCBoZWlsIGluIEhhbWJ1cmcKdW5kIGljaCBtdWVkZSwgYWJlciBtaXQgaGVpbGVtIEF1dG8gKHZvciBhbGxlbSBoZWlsZW4gUmVpZmVuKSBpbiBMdWViZWNrLgpEYW5rZSBub2NobWFsIGFuIGFsbGUsIGRpZSBTb25udGFnbW9yZ2VuIHNvIGhpbGZzYmVyZWl0IHdhcmVuIQoKVW5kIG5hdHVlcmxpY2ggYXVjaCBkYW5rZSBhbiBkaWUgUGFydHlvcmdhbmlzYXR0b3JlbiwgYWJlciBkYXMgaGFiZW4gYmVzdGltbXQKYXVlciBtaXIgc2Nob24gMTAwMCBhbmRlcmUgZ2VzYWd0IQpQZXJkaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOYWNoYmV0cmFjaHR1bmcuLi4gKEtlbGx5YnVuZHksIDE1LiBNYXIgMjAwMywgMTk6MTc6NDIpOgp+IyEgcm49QmFtYmkgcnQ9MTA0NzI0MjUxNCByZz1wYXJ0eQp+IyEgdGlkPTEwNDcyMjc5NjcKQWJnZXNlaGVuLCBkYXZvbiwgZGFzcyBkYXMgS2FmZiBPY2tlbmhlaW0gaGVpc3N0IHVuZCBTdGFkdHRlaWwgdm9uIEJpbmdlbiBpc3QsCnVuZCBuaWNodCBPY2tlcm5oZWltLCB3byB6dW0gR2VpZXIgc29sbCBIZWltc2hlaW0gbGllZ2VuPyA6KQpCbG9lXm5kY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmFjaGJldHJhY2h0dW5nLi4uIChIb2JvLCAxNi4gTWFyIDIwMDMsIDE0OjM2OjQzKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA0Nzc1MjI2MiByZz1wYXJ0eQp+IyEgdGlkPTEwNDcyMjc5NjcKSGVpbXNoZWltID0gSGVpZGVzaGVpbT8KCklzIGpldHp0IG51ciBzbyBnZXJhdGVuLi4uLgoKCiAgICBIb2JvIC0gZGVua3Qgc2ljaCwgZGFzcyBIdW1uaSB1bmQgSW1kYSBiZXNzZXJlcyB6dSB0dW4gaGF0dGVuIGFscwpPcnRzc2NoaWxkY2hlbiBhYnp1bWFsZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5hY2hiZXRyYWNodHVuZy4uLiAoR3JpbW1ib3JuLCAxNi4gTWFyIDIwMDMsIDE1OjE2OjM2KToKfiMhIHJuPUhvYm8gcnQ9MTA0NzgyMTgwMyByZz1wYXJ0eQp+IyEgdGlkPTEwNDcyMjc5NjcKOmthbm4gbm9jaCBIZWltZXJ6aGVpbSBpbSBzY2hvZW5lbiBSaGVpbmxhbmQgYW5iaWV0ZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE5hY2hiZXRyYWNodHVuZy4uLiAoTW9udGFudXMsIDE2LiBNYXIgMjAwMywgMTY6MTQ6NDQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDc4MjQxOTYgcmc9cGFydHkKfiMhIHRpZD0xMDQ3MjI3OTY3Ck5hamEgSHVtbmkgbXVlc3N0ZSBkb2NoIG5vY2ggZGllIExhbmRrYXJ0ZSBoYWJlbiwgbmFjaCBkZXIgc2llIGlocmUgVW13ZWdlCmF1c2dlc3VjaHQgaGFiZW4uIFVuZCBkYSBzdGVodCBub3JtYWxlcndlaXNlIGRlciBOYW1lIGRlcyBEb3JmcyBzY2hvbiBzbwpkcmF1Ziwgd2llIGVzIGF1Y2ggaGVpc3N0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOYWNoYmV0cmFjaHR1bmcuLi4gKEh1bW5pLCAxNi4gTWFyIDIwMDMsIDE2OjQ0OjMxKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNDc4Mjc2ODQgcmc9cGFydHkKfiMhIHRpZD0xMDQ3MjI3OTY3CkFsc28sIGRhcyBLYWZmIHdhciBudXIgYXVmIGRlciBLYXJ0ZSB1bmQgYXVmIGRlbiBTdHJhc3NlbnNjaGlsZGVybiwgd2lyIHNpbmQKZGEgbmljaHQgZHVyY2gsIHdpciBzaW5kIHZvbiBXaW5kZXNoYXVzZW4gZGlyZWt0IG5hY2ggV2FsbGhhdXNlbi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOYWNoYmV0cmFjaHR1bmcuLi4gKExpYXJhLCAxNi4gTWFyIDIwMDMsIDE2OjQ1OjExKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQ3ODI0MTk2IHJnPXBhcnR5Cn4jISB0aWQ9MTA0NzIyNzk2NwpXb2hlciBrZW5uc3QgRFUgSGVpbWVyemhlaW0/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE5hY2hiZXRyYWNodHVuZy4uLiAoTW9udGFudXMsIDE2LiBNYXIgMjAwMywgMTc6MDQ6MDApOgp+IyEgcm49SHVtbmkgcnQ9MTA0NzgyOTQ3MSByZz1wYXJ0eQp+IyEgdGlkPTEwNDcyMjc5NjcKSWNoIGhhYiBtaXIgZ3JhZCBtYWwgZGllIEthcnRlIGdlc2NobmFwcHQgdW5kIGthbm4gamV0enQgYXVjaCBkaWUgT3J0c25hbWVuCnZhbGlkaWVyZW46CgpIZWltc2hlaW0gaXN0IGluIFdpcmtsaWNoa2VpdCBIZWlkZXNoZWltLgpPY2tlcm5oZWltIGlzdCBpbiBXaXJrbGljaGtlaXQgT2NrZW5oZWltCkJ1ZGVuaGVpbSBpc3QgaW4gV2lya2xpY2hrZWl0IEJ1ZWRlc2hlaW0uCkhlcmdlc2hlaW0gaXN0IEhlcmdlbmZlbGQuCgpVbmQgYW0gc2Nob2VuZW4gT3J0IFNvbW1lcmxvY2ggc2luZCBzaWUgbnVyIGtuYXBwIHZvcmJlaWdld2FuZGVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE5hY2hiZXRyYWNodHVuZy4uLiAoR3JpbW1ib3JuLCAxNi4gTWFyIDIwMDMsIDE4OjM2OjUxKToKfiMhIHJuPUxpYXJhIHJ0PTEwNDc4Mjk1MTEgcmc9cGFydHkKfiMhIHRpZD0xMDQ3MjI3OTY3CkF1cyBlaWdlbmVyIEFuc2NoYXV1bmcuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2h0cmFnIGRlciBaaXRhdGUgKEFub3JpcywgMTYuIE1hciAyMDAzLCAxODo0MTozMCk6CkluIEJlenVnIGF1ZiBkaWUgZmVobGVuZGUgQnJ1ZWNrZSBiZWltIEJpZXJtYXJzY2gKCldpZSBhbHQgaXN0IGRpZSBLYXJ0ZT8KCkRpZSBpc3QgbmV1LCBoYWJlbiB3aXIgZWluZSBoYWxiZSBTdHVuZGUgenUgdm9yIGdla2F1ZnQhCgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkZXIuLi4gKFpvb2ssIDE2LiBNYXIgMjAwMywgMjE6MjU6MTMpOgp+IyEgcm49Wm9vayBydD0xMDQ3MjQ3MDM3IHJnPXBhcnR5Cn4jISB0aWQ9MTA0NzI0NjgyNwpOZXVlIEJpbGRlci4gVm9uIEpvc2h1YS4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcnN0ZS4uLi4gKFpvb2ssIDE2LiBNYXIgMjAwMywgMjE6MzY6MjMpOgpCaWxkZG9rdW1lbnRlIGF1cyBUaGFsZSEKCkdydXNzLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgMTQuLi4uIChab29rLCAxNi4gTWFyIDIwMDMsIDIxOjQzOjA1KToKLi4uIHdhciBpbiBEcmVzZGVuIHVuZCB6d2FyIGltIEphaHIgMjAwMCB1bmQgR3VhcmQgaGF0IG5vY2ggQmlsZGVyIHZvbgpNYW5nbyBkaWdpdGFsaXNpZXJ0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlcm1pbj8gKEFuY2FsYWdvbiwgMjMuIE1hciAyMDAzLCAxNzoyNDowMCk6ClRhZ2NoZW5rbnVkZGVscyEKV2FyIG5pY2h0IHNjaG9uIGVpbiBUZXJtaW4gZnVlcnMgc29tbWVyY2FtcCBhbmdlc2V0enQ/IGthbm4gZGVuIG5vY2htYWwgamVtYW5kCmJla2FubnQgbWFjaGVuPyBJY2ggd29sbHRlIG5hZW1saWNoIGV2ZW50dWVsbCBzYW10IG5hY2h3dWNocyBkYSBhdWZ0YXVjaGVuLi4uLgoKCktudWRkZWxzLAoKQW5jYWxhZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVybWluPyAoQ3JvZnQsIDIzLiBNYXIgMjAwMywgMTc6MjU6MzgpOgp+IyEgcm49QW5jYWxhZ29uIHJ0PTEwNDg0MzY2NDAgcmc9cGFydHkKfiMhIHRpZD0xMDQ4NDM2NjQwCidydWJyaWsgcGFydHknLCAnaW5oYWx0JywgbGVzZW4gdW5kIHVlYmVyICI5NS4gU09NTUVSUEFSVFkgMjAwMyAyMSAoR25vbWUpCjI4LiBGZWIiIHN0b2xwZXJuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJpbGRlci4uLiAoWm9vaywgMjQuIE1hciAyMDAzLCAxNTo0MDozNik6Cn4jISBybj1ab29rIHJ0PTEwNDc4NDYzMTMgcmc9cGFydHkKfiMhIHRpZD0xMDQ3MjQ2ODI3ClZvbiBCYW1iaSBnaWJ0cyBudW4gYXVjaCBCaWxkZXIgaW0gWndpc2NoZW5uZXR6LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJpbGRlci4uLiAoTXVwZmVsLCAyNC4gTWFyIDIwMDMsIDIwOjUyOjMwKToKfiMhIHJuPVpvb2sgcnQ9MTA0ODUxNjgzNiByZz1wYXJ0eQp+IyEgdGlkPTEwNDcyNDY4MjcKTWVpLCB3YXMgaGF0IEJhbWJpIG5lIHN1ZXNzZSBLYXR6ZSA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNPTU1FUlBBUlRZIDIwMDMgKENhdHdlYXpsZSwgMjguIE1hciAyMDAzLCAxMDo0NDo0NCk6Cn4jISBvbj1Hbm9tZSBvdD0xMDQ2Mzg5MjQ3IG9nPXBhcnR5CmhpIGlocnMhCgpkYSBlcyBlaW5pZ2UgamEgbWFsIHdpZWRlciB1ZWJlcmhhdXB0IG5pY2h0IGFid2FydGVuIGtvZW5uZW4gdW5kIGljaCBzY2hvbgplaW5lIG1lbmdlIGFuZnJhZ2VuIGJla29tbWVuIGhhYmUsIGhhYmUgaWNoIG1pY2ggbWFsIGRhenUgZHVyY2hnZXJ1bmdlbiwKZWluZW4gdGVybWluIGZ1ZXIgZGllIHNvbW1lcnBhcnR5ICcwMyBpbiBicmllc2VsYW5nIChiZWkgYmVybGluKSBtaXQKZGVuIGhlcmJlcmdzZWx0ZXJuIGRvcnQgYWJ6dXN0aW1tZW4uIGVzIGdpYnQgbmF0dWVybGljaCB3aWVkZXIgZWluZQpjYW1waW5nL2J1bmdhbG93LXdvY2hlIG1pdCBhbnNjaGxpZXNzZW5kZW0gcGFydHktV0UuIHVuZCB3aXIgc3VjaGVuIHVucwpkaWVzbWFsIGVpbmVuIENISU5FU0VOIGZ1ZXIgU28uIGF1cy4gdmVycHNyb2NoZW4uIDopCgpkaWUgcGFydHl3b2NoZSBoYXQgYWxzbyBkZW4gZm9sZ2VuZGVuIHRlcm1pbjoKCiAgICAgICAgICAgICAgICAgIE1vbnRhZywgMjguMDcgLSBTb25udGFnLCAwMy4wOC4wMwoKZGVyIHNvbW1lcnBhcnR5dGVybWluIHN0ZWh0IHNjaG9uIHZvciBkZXIgZnJ1ZWhqYWhyc3BhcnR5IGZlc3QuIGRhcyBnYWIKZXMgbm9jaCBuaWUuIGRhcyBpc3QgbmV1LiA6KQoKYWxsZSB3ZWl0ZXJlbiBpbmZvcywgc293aWUgcGFydHlicmV0dCB1bmQgYW5tZWxkdW5nIHp1IGdlZ2ViZW5lciB6ZWl0LgptYWwgZGllIGtpcmNoZSBpbSBkb3JmIGxhc3Nlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU09NTUVSUEFSVFkgMjAwMyAoQ3JpdHRlciwgMjguIE1hciAyMDAzLCAxMTowMTozNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA0ODg0NDY4NCByZz1wYXJ0eQp+IyEgdGlkPTEwNDg4NDQ2ODQKCmFyZ2guLi4uIGRhIGlzdCBnbGVpY2h6ZWl0aWcgZGFzIFdhY2tlbiBPcGVuIEFpci4uLiBEYXMga29lbm50IGlociBkb2NoIG5pY2h0Cm1hY2hlbiA7KAoKKnpldGVyKiBoZXVsKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTT01NRVJQQVJUWSAyMDAzIChDcm9mdCwgMjguIE1hciAyMDAzLCAxMTowNDoyNyk6Cn4jISBybj1Dcml0dGVyIHJ0PTEwNDg4NDU2OTcgcmc9cGFydHkKfiMhIHRpZD0xMDQ4ODQ0Njg0CkhleS4gIE51ciB3ZWlsIGVpbiBQYXJ0eS1BcnRpa2VsIG5hY2ggZWluZW0gTW9uYXQgd2llZGVyIGV0d2FzIGluIGRlbgpWb3JkZXJncnVuZCBnZXN0ZWxsdCB3aXJkLCBtdXNzdCBkdSBkb2NoIG5pY2h0IHNvIHJ1bWhldWxlbiAsLSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTT01NRVJQQVJUWSAyMDAzIChNb250YW51cywgMjguIE1hciAyMDAzLCAyMzoyMTozMik6Cn4jISBybj1Dcm9mdCBydD0xMDQ4ODQ1ODY3IHJnPXBhcnR5Cn4jISB0aWQ9MTA0ODg0NDY4NApXZXIgb2RlciB3YXMgaXN0IEJyaWVzZWxhbmc/IEtsaW5ndCB3aWUgZWluIEdpbGRlbi1OUEMuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTT01NRVJQQVJUWSAyMDAzIChTdHJvaGFsbSwgMzEuIE1hciAyMDAzLCAxMjowNjoyNSk6Cn4jISBybj1Dcml0dGVyIHJ0PTEwNDg4NDU2OTcgcmc9cGFydHkKfiMhIHRpZD0xMDQ4ODQ0Njg0ClVyZ3MsIGpvLCBhbHNvIFdhY2tlbiB3aWxsIGljaCBuZXQgdmVycGFzc2VuLCB2ZXJzY2hpZWIgZGVuIHBhcnR5dGVybWluIGJpdHRlCjspCgpIYWVsbWNoZW4sIGViZW5mYWxscyBtaXRqYW1tZXJuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsZGVyIFdpbnRlcmJ1cmctUGFydHkgKFpvb2ssIDMxLiBNYXIgMjAwMywgMTg6Mjk6MjApOgpEaWUgQmlsZGVyIHZvbiBNYWhhcmV0IHNpbmQgbnVuIGVpbmdlc3RlbGx0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWxkZXIgV2ludGVyYnVyZy1QYXJ0eSAoTWFoYXJldCwgMzEuIE1hciAyMDAzLCAyMjowODoyMCk6Cn4jISBybj1ab29rIHJ0PTEwNDkxMjgxNjAgcmc9cGFydHkKfiMhIHRpZD0xMDQ5MTI4MTYwCk51ciwgdW0gbmljaHQgaW4gVmVycnVmIHp1IGdlcmF0ZW46IERlciBncm9lc3N0ZSBUZWlsIGRlciBCaWxkdW50ZXJzY2hyaWZ0ZW4KaXN0IG5pY2h0IHZvbiBtaXIuIERlciBhbGxlcmdyb2Vzc3RlIQoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkZXIgV2ludGVyYnVyZy1QYXJ0eSAoTXVwZmVsLCAzMS4gTWFyIDIwMDMsIDIyOjA4OjUyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA0OTE0MTMwMCByZz1wYXJ0eQp+IyEgdGlkPTEwNDkxMjgxNjAKVk9tIHdlbSBkYW5uPwoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJpbGRlciBXaW50ZXJidXJnLVBhcnR5IChIdW1uaSwgMzEuIE1hciAyMDAzLCAyMjoyMzozMik6Cn4jISBybj1NdXBmZWwgcnQ9MTA0OTE0MTMzMiByZz1wYXJ0eQp+IyEgdGlkPTEwNDkxMjgxNjAKSWNoIGhhYiBtaWNoIGphIG51ciBnZWZyYWd0LCB3ZXIgYXVmIGRlbSBCaWxkICwsSEFQUycnIChkYXMgaXN0IGVpbiBBdXNkcnVjaywKZGVuIGljaCBhbHMgZWluZW4gc2VociBlbmRndWVsdGlnZW4gc29sY2hlbiBrZW5uZSwgZGVyIG1pdCBFc3NlbiB6dSB0dW4gaGF0KQp3ZW4gYXVmZnJpc3N0IChnbGVpY2ggZGFuYWNoKS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCaWxkZXIgV2ludGVyYnVyZy1QYXJ0eSAoQW5hdG9sLCAzMS4gTWFyIDIwMDMsIDIyOjI1OjU4KToKfiMhIHJuPUh1bW5pIHJ0PTEwNDkxNDIyMTIgcmc9cGFydHkKfiMhIHRpZD0xMDQ5MTI4MTYwClNvbGwgdmVybXV0bGljaCBoZWlzc2VuICJadW0gVmVybmFzY2hlbiBzdWVzcyIuIFdvdm9uIHNpY2ggTWFoYXJldCAKbmF0dXJnZW1hZXNzIGRpc3RhbnppZXJlbiBtdXNzLiBFcmdvOiBEaWUgQmlsZHVudGVyc2NocmlmdGVuIHN0YW1tZW4Kdm9uIGVpbmVtIE1hbm4uIERhIGlyZ2VuZHdvIGVpbiBCaWxkIG1pdCAiVGhyZWVzb21lIiBiZXRpdGVsdCBpc3QsIGlzdAplcyBpcmdlbmRlaW4gdmVyZG9yYmVuZXIgU2Nod2VpbmVodW5kLiBHbm9tZT8gR3VhcmQ/IDopIElyZ2VuZGVpbiBUcnZlcwp3YXIgZXMgc2ljaGVyLi4uIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmlsZGVyIFdpbnRlcmJ1cmctUGFydHkgKE1haGFyZXQsIDMxLiBNYXIgMjAwMywgMjI6Mjg6MjIpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNDkxNDIzNTggcmc9cGFydHkKfiMhIHRpZD0xMDQ5MTI4MTYwCldvYmVpIEd1YXJkIGtlaW4gVHJ2ZXMgaXN0LgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmlsZGVyIFdpbnRlcmJ1cmctUGFydHkgKENyb2Z0LCAzMS4gTWFyIDIwMDMsIDIyOjI4OjQyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA0OTE0MjUwMiByZz1wYXJ0eQp+IyEgdGlkPTEwNDkxMjgxNjAKQWJlciBUcnZlcyBlaHJlbmhhbGJlci4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBCaWxkZXIgV2ludGVyYnVyZy1QYXJ0eSAoQW5hdG9sLCAzMS4gTWFyIDIwMDMsIDIyOjI4OjU4KToKfiMhIHJuPUNyb2Z0IHJ0PTEwNDkxNDI1MjIgcmc9cGFydHkKfiMhIHRpZD0xMDQ5MTI4MTYwClZlcmRvcmJlbmVyIFNjaHdlaW5laHVuZCBhdWYgamVkZW4gRmFsbC4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEJpbGRlciBXaW50ZXJidXJnLVBhcnR5IChHdWFyZCwgIDEuIEFwciAyMDAzLCAwOToyNDo0Myk6Cn4jISBybj1BbmF0b2wgcnQ9MTA0OTE0MjUzOCByZz1wYXJ0eQp+IyEgdGlkPTEwNDkxMjgxNjAKTmEga2xhc3NlIGRhcyBpaHIgZXVjaCBhbGxlIGVpbmlnIHNlaWQgLi4uIG1hbCB6dW0gVmVyc3RhbmRuaXM6Ci0gZGFzIG1pdCBkZW0gU2Nod2VpbmVodW5kIGthbm4gaWNoIG5pY2ggYmV1cnRlaWxlbiAuLi4gKHZpZWxsZWljaHQgaGlsZnQgamEKZGVyIEZha3QsIGRhc3MgaWNoIE5JQ0hUIGRpZSBCaWxkdW50ZXJzY2hyaWZ0ZW4gYmVpZ2VzdGV1ZXJ0IGhhYmUpCi0gaWNoIGJpbiB2b24gZWluZW0gZ2FhYW56IGJlc3RpbW10ZW4gVHJ2ZXMgdm9yIEphaHJlbiB2ZXJkb25uZXJ0IHdvcmRlbiAoa3VyegpuYWNoZGVtIEJpcmR5IGRpZSBaYXViZXJlcnNlaXRlbiBnZW1hY2h0IGhhdCksIGRpZSBLYWVtcGZlcnNlaXRlbiB6dSBtYWNoZW4KdW5kIHNlaXRkZW0gaGFlbmcgaWNoIGRhIGlyZ2VuZHdpZSBkcmFuLiBEYXMgbWFjaHQgbWljaCBhYmVyIG5vY2ggbGFuZ2UgbmljaHQKenUgZWluZW0gQW5nZWhvZXJpZ2VuIGRpZXNlciBhZWggamEgU2lwcGUgLi4uIChpY2ggaG9mZmUgZGFzIHdhciBkaXBsb21hdGlzY2gKOi0pKSB1bmQgbWl0IGVocmVuaGFsYmVyIGhhdCBDcm9mdCBqYSB3b2hsIG5lbiBBdXNkcnVjayBiZW51dHp0LCBkZXIgaXJnZW5kd2llCmdhciBuaWNodCB6dSBkaWVzZW0gVGhlbWEgcGFzc3QgLi4uIFRydmVzIHVuZCBFaHJlIC4uLiBpY2ggaG9lciBqZXR6dCBiZXNzZXIKYXVmIC4uLgoKR3VhcmQKCkhvYmJpdCB1bmQgQmllcnNjaHVldHRsZXIgbWl0IGdhbnplciBTZWVsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU09NTUVSUEFSVFkgMjAwMyAoWmFybml5YSwgIDEuIEFwciAyMDAzLCAwOToyNjozNyk6Cn4jISBybj1TdHJvaGFsbSBydD0xMDQ5MTA1MTg1IHJnPXBhcnR5Cn4jISB0aWQ9MTA0ODg0NDY4NAp1bmZsZXhpYmxlcyBQYWNrISBMYXNzdCBkZW4gVGVybWluLiBWZXJzY2hpZWIgZGVuIFBhcnR5b3J0IG5hY2ggV2Fja2VuLiBEYW5uCmdpYnQgZXMgYXVjaCBrZWluZW4gU3RyZWl0IHdlZ2VuIGRlciBNdXNpay4KCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNoaXJ0PyAoUm9sYW5kLCAyMy4gQXByIDIwMDMsIDIxOjI5OjI1KToKSGlobyBNdWRlcnMKCldvbGx0IG1hIGFuZnJhZ2VuIG9iIGVzIHp1ciBTb21tZXJQYXJ0eSBhdWNoIHdpZWRlciBULVNoaXJ0cyBnaWJ0PwpVbmQvb2RlciBvYiBzb3dhcyBpbiBwbGFudW5nIGlzdCB1bmQgZXZ0bC4gYXVjaCBzY2hvbiBNb3RpdmUgenUgc2VoZW4gZ2lidCAuLi4KZ2dmIGF1Y2ggbmUgaW5mbyB3ZXIgZGVuIHdlbm4gbWFjaGVuIHdpcmQsIHdvIG1hbiBkYW5uIG1vdGl2dm9yc2NobGFlZ2UKaGluc2NoaWNrZW4ga2Fubi4uLgoKTWZHIFJvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNoaXJ0PyAoR3VhcmQsIDI0LiBBcHIgMjAwMywgMTM6MTM6MDkpOgp+IyEgcm49Um9sYW5kIHJ0PTEwNTExMjYxNjUgcmc9cGFydHkKfiMhIHRpZD0xMDUxMTI2MTY1CmphLCBlcyB3aXJkIGVpbiB0c2hpcnQgZ2ViZW4sIGljaCBuZWhtIGRhcyBpbiBkaWUgaGFuZCwgd2VyIG1vdGl2dm9yc2NobGFlZ2UKaGF0LCBrYW5uIHNpZSBhbiBndWFyZEB0cnZlcy5kZSBtYWlsZW4sIGljaCBzZWxiZXIgd2VyZGUgYXVjaCBlaW5lbiB2b3JzY2hsYWcKbWFjaGVuLCBkYXVlcnQgYWJlciBub2NoLCBkZXN3ZWdlbiBnaWJiZXQgbm9jaCBuaXggenUgc2VoZW4uIGdlc2FtbWVsdCB3ZXJkZW4KZGllIHZvcnNjaGxhZWdlIGF1ZiBkZXIgcGFydHlzZWl0ZSBpbSB3ZWIsIHNvYmFsZCBkYXMgcGFydHlicmV0dCBzdGVodCwgaXN0CmRpZXNlIHNlaXRlIHZlcmxpbmt0LgoKc28gbWVociBpbmZvcyBoYWIgaWNoIG5pY2gKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNoaXJ0PyAoUm9sYW5kLCAyNy4gQXByIDIwMDMsIDAyOjI0OjMzKToKfiMhIHJuPUd1YXJkIHJ0PTEwNTExODI3ODkgcmc9cGFydHkKfiMhIHRpZD0xMDUxMTI2MTY1ClNjaG9lbiAuLi4gaXMgZG9jaCBuZSBUb2xsZSBpbmZvIC4uLiBhbGxlcyB3ZWl0ZXJlIHp1ciBaZWl0CgpSbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbmlhbCEgKERlbW9uYXosIDMwLiBBcHIgMjAwMywgMDM6NTQ6NDcpOgoKVHNzcywKZGEgd3VyZGUgbWFuIGRvY2ggZ2xhdHQgYmVkcmFlbmd0IGFscyBnZXN0ZWlnZXJ0ZXIgbmVydmZha3RvciBpbiBCZXJsaW4KYXVmenVrcmV1emVuLCB1bmQgd2FzIHNlaCBpY2ggZGE6IExpZWd0IHplaXRnbGljaCBtaXQgV2Fja2VuISBIYXIgaGFyIGhhci4uLgp3YXMgaGFidCBJaHIgZWluIEdsdWVjayEKRW50d2FybnVuZyBnZWIKRC4gaS5BLiBMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlbmlhbCEgKFpvb2ssIDMwLiBBcHIgMjAwMywgMTA6NTI6MzMpOgp+IyEgcm49RGVtb25heiBydD0xMDUxNjY3Njg3IHJnPXBhcnR5Cn4jISB0aWQ9MTA1MTY2NzY4NwpUcmVmZiBpY2ggRGljaCBkYW5uIHdpZWRlciBpbiBLYXNzZWwgYW0gQmFobmhvZj8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlbmlhbCEgKERlbW9uYXosICA2LiBNYWkgMjAwMywgMjA6NDA6NTEpOgp+IyEgcm49Wm9vayBydD0xMDUxNjkyNzUzIHJnPXBhcnR5Cn4jISB0aWQ9MTA1MTY2NzY4NwoKTmVpbiwKCmRhcyB3YXIgZWluIGFuZGVyZXMgRmVzdGl2YWw6IFN1bW1lciBCcmVlemUuLi4KClBmZmZ0LgpJLkEuTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBhcnR5IDAzIChHbm9tZSwgIDguIE1haSAyMDAzLCAyMjoyMTo1Nik6Cmh1aHUhCgpuaWNodCBkYXNzIGlociBkZW5rdCwgd2lyIHRhZXRlbiBuaWNodHMuLi4gd2lyIHNpbmQgdm9sbCBkYWJlaSBhbQpwbGFuZW4gdW5kIG1hY2hlbiB1bmQgdHVuLiB3YXJlbiBoZXV0IHNjaG9uIGluIGJyaWVzZWxhbmcgdm9yIG9ydCwKbWFoYXJldCB3YWVyZSBmYXN0IHNvZ2FyIGJhZGVuIGdlZ2FuZ2VuLi4uIDopCgphbHNvIGVzIHdpcmQgZGFubiBzcGFldGVzdGVucyBuYWVjaHN0ZSB3b2NoZSBuZW4gcGFydHlicmV0dCBnZWJlbgoobXVlc3NlbiBiaXMgZGFoaW4gbm9jaCBlaW5pZ2UgaW5mb3MgenVzYW1tZW5rcmF0emVuIHVuZCBndWFyZCBtdXNzCmRhcyBtb3RpdiBub2NoIGZlcnRpZ2tyaWVnZW4uLi4gKnN0dXBzKiksIGF1ZiB3ZWxjaGVtIGlociBldWNoIGRhbm4KYW5tZWxkZW4ga29lbm50LgoKbWVociBpbmZvcyBhbHNvIGJhbGQuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNoaXJ0PyAoSG9ibywgMTQuIE1haSAyMDAzLCAxNzoyODoxMik6Cn4jISBybj1Sb2xhbmQgcnQ9MTA1MTEyNjE2NSByZz1wYXJ0eQp+IyEgdGlkPTEwNTExMjYxNjUKLi4uIApPZGVyIGdpYnQncyBtYWwgd2llZGVyIFRhc3NlbiAoenVzdHpsaWNoKT8KVm9uIG1laW5lbiBIeWRyYXMgcGxhdHp0IGxhbmdzYW0gZGVyIExhY2sgYWIgLSBhYmVyIGRpZSBzaW5kIGF1Y2ggaGVmdGlnc3QgaW4KR2VicmF1Y2ghCgogICAgSG9ibyAtIGhhdCBtZWhyIFRhc3NlbiBhbHMgVC1TaGlydHMKLAogSGV5LCBpZ25vcmllcnQgZGFzIEtvbW1hIG1hbCBiaXR0ZSBzY2hvZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2hpcnQ/IChHdWFyZCwgMTUuIE1haSAyMDAzLCAxNDozMDowNCk6Cn4jISBybj1Ib2JvIHJ0PTEwNTI5MjYwOTIgcmc9cGFydHkKfiMhIHRpZD0xMDUxMTI2MTY1CmFsc28gdGFzc2VuIHNpbmQgZGllc21hbCBuaWNodCBnZXBsYW50LCBkYXMgaGF0IGRhbWFscyBnbG9pbiBpbiBkcmVzZGVuCmdlbWFjaHQgdW5kIGRlciBoYXQgc2ljaCBuaWNoIGxhdXRoYWxzIGRhZnVlciBnZW1lbGRldCA6LSkgdW5kIG5lIEh5ZHJhIGlzCmRpZXNtYWwgbmljaCBkYWJlaSA6LSkpCgpncnVzcyBHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2hpcnQ/IChWYW5pb24sIDE1LiBNYWkgMjAwMywgMTc6MDY6NTMpOgp+IyEgcm49R3VhcmQgcnQ9MTA1MzAwMTgwNCByZz1wYXJ0eQp+IyEgdGlkPTEwNTExMjYxNjUKU2NoYWRlLCBtZWluZXIgSHlkcmF0YXNzZSBzaWVodCBtYW4gYXVjaCBkZW4gbWFzc2l2ZW4gR2VicmF1Y2ggYW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2hpcnQ/IChIdW1uaSwgMTUuIE1haSAyMDAzLCAxNzowNzo0Myk6Cn4jISBybj1WYW5pb24gcnQ9MTA1MzAxMTIxMyByZz1wYXJ0eQp+IyEgdGlkPTEwNTExMjYxNjUKTWVpbmVyIGF1Y2guIE9ic2Nob24gaW4gbWVpbmVyIGVoZW1hbGlnZW4gRmlybWEgLCxIaWhpLCBhdWYgRGVpbmVyIFRhc3NlIHN0ZWh0CmphIE1vcmdlbkdyYXVlbicnIHNlaHIgZ3V0IGFua2FtLCBhbHMgaWNoIGRpZSB6dW0gZXJzdGVuIE1hbCBtaXRnZWJyYWNodCBoYWJlLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNoaXJ0PyAoR3VhcmQsIDE1LiBNYWkgMjAwMywgMTc6MTc6MTEpOgp+IyEgcm49SHVtbmkgcnQ9MTA1MzAxMTI2MyByZz1wYXJ0eQp+IyEgdGlkPTEwNTExMjYxNjUKaWNoIGhvZmZlIG51ciwgZGFzIGRpZSBhcnRpa2VsIGFsbGUgdm9uIGdsb2luIGdlbGVzZW4gd2VyZGVuLCBzbyBlaW5lCm5ldWF1ZmxhZ2Ugd2FlciBzY2hvbiB3YXMgZmVpbmVzIDotKSkpKQppY2ggaG9mZmUgbnVyLCBkYXMgZGllIGFydGlrZWwgYWxsZSB2b24gZ2xvaW4gZ2VsZXNlbiB3ZXJkZW4sIHNvIGVpbmUKbmV1YXVmbGFnZSB3YWVyIHNjaG9uIHdhcyBmZWluZXMgOi0pKSkpCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTaGlydD8gKEJvaW5nLCAxNS4gTWFpIDIwMDMsIDE3OjE3OjU5KToKfiMhIHJuPUd1YXJkIHJ0PTEwNTMwMTE4MzEgcmc9cGFydHkKfiMhIHRpZD0xMDUxMTI2MTY1Ckhhc3QgRHUgaWhuIGluIGxldHp0ZXIgWmVpdCBtYWwgZ2VmaW5nZXJ0Li4uPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTaGlydD8gKEd1YXJkLCAxNS4gTWFpIDIwMDMsIDE3OjE4OjM1KToKfiMhIHJuPUJvaW5nIHJ0PTEwNTMwMTE4Nzkgcmc9cGFydHkKfiMhIHRpZD0xMDUxMTI2MTY1Cm11c3MgaWNoIG5pY2gsIGljaCBzZWggZGVuIGZhc3QgamVkZW4gdGFnIC4uLiBmYXN0IDotKQoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNoaXJ0PyAoRGVlcGJsdWUsIDE1LiBNYWkgMjAwMywgMTc6MTg6NTUpOgp+IyEgcm49Qm9pbmcgcnQ9MTA1MzAxMTg3OSByZz1wYXJ0eQp+IyEgdGlkPTEwNTExMjYxNjUKS2FubiBtYW4gbmljaHQgYXVjaCBJbnZpcyBNUEEgbGVzZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTaGlydD8gKEd1YXJkLCAxNS4gTWFpIDIwMDMsIDE3OjE5OjM3KToKfiMhIHJuPUJvaW5nIHJ0PTEwNTMwMTE4Nzkgcmc9cGFydHkKfiMhIHRpZD0xMDUxMTI2MTY1CnVuZCBlcyByZWljaHQgamEgYXVjaCwgd2VubiBnZW51ZyBsZXV0ZSBkZW4gYXJ0aWtlbCBsZXNlbiwgZGllIGltIGRhbm4gYXVmcwpkYWNoIHN0ZWlnZW4sIHdlbm4gZXIgc2ljaCB3ZWlnZXJ0IDotKQoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNoaXJ0PyAoTGVpYmksIDE1LiBNYWkgMjAwMywgMTg6MjY6MjgpOgp+IyEgcm49R3VhcmQgcnQ9MTA1MzAxMTk3NyByZz1wYXJ0eQp+IyEgdGlkPTEwNTExMjYxNjUKYWxzbyBpY2ggaGFldHRlIGF1Y2ggbGllYmVyIGVpbmUgbmV1ZSB0YXNzZSBhbHMgbmV1ZSB0c2hpcnRzIDopCgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2hpcnQ/IChMaWFyYSwgMTUuIE1haSAyMDAzLCAyMjo0MjozNyk6Cn4jISBybj1WYW5pb24gcnQ9MTA1MzAxMTIxMyByZz1wYXJ0eQp+IyEgdGlkPTEwNTExMjYxNjUKS29taXNjaC4gRGFzIERpbmcgc2llaHQgYXVzIHdpZSBuZXUuIEluIGdld2lzc2VyIEhpbnNpY2h0IGxlaWRlciwgZGVubiBpY2gKaGF0dGUgZ2Vob2ZmdCwgZGFzcyBkZXIgZmFsc2NoZSBUZWlsIG1laW5lcyBOYW1lbnMgbWFsIGlyZ2VuZHdhbm4gYWJmYWVsbHQuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTaGlydD8gKExlaWJpLCAxNS4gTWFpIDIwMDMsIDIyOjQzOjI3KToKfiMhIHJuPUxpYXJhIHJ0PTEwNTMwMzEzNTcgcmc9cGFydHkKfiMhIHRpZD0xMDUxMTI2MTY1Cm11c3N0IHNpZSBudXIgb2Z0IGdlbnVnIGluIGRpZSBzcHVlbG1hc2NoaW5lIHN0ZWNrZW4gOikKCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTaGlydD8gKExpYXJhLCAxNS4gTWFpIDIwMDMsIDIyOjUxOjE2KToKfiMhIHJuPUxpYXJhIHJ0PTEwNTMwMzEzNTcgcmc9cGFydHkKfiMhIHRpZD0xMDUxMTI2MTY1Ck5hY2h0cmFnOgpJY2ggaGFiZSBkaWUgVGFzc2UgZ3JhZGUgYXVzIGRlciBTcHVlbG1hc2NoaW5lIGdlZmlzY2h0IHVuZCBoYXR0ZSBzaWUgYXVjaCBkaWUKZ2FuemUgWmVpdCBpbiBHZWJyYXVjaC4gU2llIHNpZWh0IHdpcmtsaWNoIGF1cyB3aWUgbmV1IC4uLiAKT2VoLCBvaywgaWNoIGdsYXViZSBzaWUgd2FyIGdyYWRlIHp1bSBlcnN0ZW4gTWFsIGluIGRlciBTcHVlbG1hc2NoaW5lIC4uLiB1bmQKc2llIHNpZWh0IGF1ZiBlaW5tYWwgbmljaHQgbWVociBhdXMgd2llIG5ldSAuLi4gYmluIGF1Y2ggZnVlciBlaW5lIG5ldWUgVGFzc2UKLi4uICpncmlucyoKCkplZGVuZmFsbHMgbWVpbnRlIGljaCBtaXQgZGVtIGZhbHNjaGVuIFRlaWwsIGRhc3MgaWNoIGRhbWFscyBnZW1haWx0IGhhdHRlLApkb2NoIGJpdHRlOiBad2VyZ2VuWmF1YmVyaW5lIExpYXJhIHZlcnRlaWx0IE9ya2JhZXJjaGVuJyBhdWYgZGllIFRhc3NlIHp1CmRydWNrZW4uCkVzIHN0YW5kIGRhbm4gbmFjaGhlciBkcmF1ZjogWndlcmdlbnphdWJlcmluZSBMaWFyYSBzYWd0IGxlaXNlOiBZb3Uga25vdyBJCndvbid0IGZvcmdldCB5b3UuCkRhcyBzdGltbXQgbWljaCBpbW1lciB0cmF1cmlnLCB3ZW5uIGljaCBlcyBsZXNlLCB1bmQgZGVzaGFsYiBzb2xsdGUgZXMgaGFsdApiZXNzZXIgYWJmYWxsZW4uIDopCkFsc28gaGFldHRlIGljaCBiZXNzZXIgc2NocmVpYmVuIHNvbGxlbjogZGVyIGZhbHNjaGUgVGl0ZWwgLi4uIC4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNoaXJ0PyAoWm9vaywgMTYuIE1haSAyMDAzLCAxMDowMTozOCk6Cn4jISBybj1MaWFyYSBydD0xMDUzMDMxODc2IHJnPXBhcnR5Cn4jISB0aWQ9MTA1MTEyNjE2NQpEaWUgVGFzc2Ugd2FyIG5lIFN1cGVyLUlkZWUuIEJlbnV0eiBpY2ggYXVjaCBvZWZ0ZXIgYWxzIGRhc3MgaWNoIG5lbiAKTUctVC1TaGlydCBhbmhhYmUuLi4gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU2hpcnQ/IChNYXJjdXMsIDE2LiBNYWkgMjAwMywgMTA6MzM6MTApOgp+IyEgcm49Wm9vayBydD0xMDUzMDcyMDk4IHJnPXBhcnR5Cn4jISB0aWQ9MTA1MTEyNjE2NQpJY2ggaGFiIGdsYXViZSBpY2ggbm9jaCAzIE1HIFRzaGlydHMsIGdyb2Vzc3RlbnRlaWxzIHVuZ2V0cmFnZW4gLi4uIDspCgpjaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNPTU1FUlBBUlRZIDIwMDMgKEdub21lLCAxOC4gTWFpIDIwMDMsIDIyOjMxOjQ0KToKbW9pbiBtb2luLCBoYWxsbywgc2VydnVzLCBncnVlemllIQoKZXMgaXN0IHNvd2VpdDogZGllIFNPTU1FUlBBUlRZIDIwMDMgaXN0IGZlcnRpZ2dlcGxhbnQgdW5kIGRhcwpwYXJ0eWJyZXR0IHdhcnRldCBkYXJhdWYsIHZvbiBldWNoIGluIGFuc3BydWNoIGdlbm9tbWVuIHp1IHdlcmRlbi4KCmFsbGUgd2ljaHRpZ2VuIGZhY3RzIGZpbmRldCBtYW4gdW50ZXI6CgogICAgICAgICAtLS0+ICAgIHd3dy50cnZlcy5kZS9wYXJ0eTIwMDMuaHRtbCAgICA8LS0tCgoKZ2xlaWNoIGVpbmVzIHZvcndlZzoKZGllIHByZWlzZSBzaW5kIG5pY2h0IGRpZSBiaWxsaWdzdGVuLCB6dWdlZ2ViZW4uIGFiZXIgZXJzdGVucyBoYWJlbiB3aXIKc2llIG5pY2h0IGdlbWFjaHQgdW5kIHp3ZWl0ZW5zIHNvbGx0ZSBtYW4gc2ljaCBhdWNoIGZyYWdlbiwgd2FzIG1hbgpzb25zdCBzbyBmdWVyIGVpbmUgd29jaGUgdXJsYXViIGluIGRlciBoYXVwdHNhaXNvbiB6YWhsZW4gd3VlcmRlLi4uCgpzb2Rhbm4gaG9mZmUgaWNoIGF1ZiB6YWhscmVpY2hlcyBhbm1lbGRlbi4gYXVmIGRhc3MgZXMgZWluZSBzY2hvZW5lCndvY2hlIHVuZCB0b2xsZSBwYXJ0eSBnZWJlbiB3aXJkIQoKZ25PbWUKCmkuQS5kLiBbT3JnYXRlYW06QmVybGluXQoKcC5zLiBicmV0dCBrb21tdCBoZXV0ZSBhYmVuZCBub2NoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU09NTUVSUEFSVFkgMjAwMyAoSHVtbmksIDE4LiBNYWkgMjAwMywgMjM6MTU6NDIpOgp+IyEgcm49R25vbWUgcnQ9MTA1MzI4OTkwNCByZz1wYXJ0eQp+IyEgdGlkPTEwNTMyODk5MDQKQnJldHQgaXN0IGRhLiBNb3JkaWxsYXIgYXVjaC4KCkh1bW5pLCBIVE1MIHRvIEFTQ0lJLUtvdmVydGllcmVyIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNPTU1FUlBBUlRZIDIwMDMgKE1vcmdvdGgsIDE5LiBNYWkgMjAwMywgMDg6MDk6MjApOgp+IyEgcm49R25vbWUgcnQ9MTA1MzI4OTkwNCByZz1wYXJ0eQp+IyEgdGlkPTEwNTMyODk5MDQKSGFzdCBEdSBhdWNoIGVpbmUgVGV4dC1Pbmx5IFNlaXRlIGRhdm9uLCBkYW1pdCBtYW4gZGFzIHJpY2h0aWcgZHJ1Y2tlbiBrYW5uPwpEaWVzZXMgYmxvZWRlIExvZ28gbGlua3Mgc3RvZXJ0LgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBsYXR6IGZyZWkgaW0gWmVsdD8gKFJpa3VzLCAxOS4gTWFpIDIwMDMsIDA5OjIyOjE1KToKSGksCndlciBoYWV0dGUgZnVlciBtaWNoIG5vY2ggZWluIFBsYWV0emNoZW4gYXVmIGRlciBQYXJ0eSBpbiBCZXJsaW4gaW0KWmVsdCBmcmVpPyBGcmVpdGFnIGJpcyBTb25udGFnIHdhZXJlIGljaCBhbndlc2VuZC4uLiAgICAgICAgICAgIAoKR3J1c3MsIFJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNPTU1FUlBBUlRZIDIwMDMgKEdub21lLCAxOS4gTWFpIDIwMDMsIDE0OjQyOjI2KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA1MzMyNDU2MCByZz1wYXJ0eQp+IyEgdGlkPTEwNTMyODk5MDQKemVpbGVuIDAlOy9sb2cgcGFydHkudHh0JTt1bnQgcGFydHlicmV0dAoKZGFubiBoYXN0IGR1IHd1bmRlcmJhcmVzIGFzY2lpIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTT01NRVJQQVJUWSAyMDAzIChIdW1uaSwgMTkuIE1haSAyMDAzLCAxNDo0NjoyMCk6Cn4jISBybj1Hbm9tZSBydD0xMDUzMzQ4MTQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTA1MzI4OTkwNApFYmVuLiBEYXMgd2FyIG5lIEhlaWRlbmFyYmVpdC4gOy0pCgpBbGxlcmRpbmdzIGZlaGx0IGxlaWRlciBkaWUgV2VnYmVzY2hyZWlidW5nLiBTb2xsIGljaCBkaWUgYXVjaCBub2NoIHJlaW5iYXVlbj8KU2FndHMgc2NobmVsbCA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGxhdHogZnJlaSBpbSBaZWx0PyAoVHJveSwgMjcuIE1haSAyMDAzLCAxMTo1NDozNCk6Cn4jISBybj1SaWt1cyBydD0xMDUzMzI4OTM1IHJnPXBhcnR5Cn4jISB0aWQ9MTA1MzMyODkzNQpIaSwKCm5vY2ggaXN0IGVpbiBQbGF0eiBmcmVpLi4uIChTYWhhcmEtUnVuZHplbHQsIGFsc28ga2VpbmUgZHJhbmd2b2xsZSBFbmdlKS4KCkVpbmUgYWxsZ2VtZWluZSBGcmFnZSBoYWV0dCcgaWNoIG5vY2g6ClNpbmQgZGllIFBhcnR5cHJlaXNlIEJhc2lzcHJlaXNlIG9kZXIgYWxsLWluY2x1c2l2ZT8gTGF1dCBXZWJzZWl0ZSBkZXIKSGVyYmVyZ2UgbXVzcyBtYW4gZnVlcnMgQmFkZW4sIEdyaWxsZW4sIExhZ2VyZmV1ZXJuLCBldGMuIHVlYmVyYWxsIGV4dHJhCmFibGF0emVuLCB3YXMgendhciBkaWUgRnJldWRlIGRlcyBIZXJiZXJnc3ZhdGVycyBzdGVpZ2VydCwgbWVpbmUgaGluZ2VnZW4KamVkb2NoIGRldXRsaWNoIHNjaG1hZWxlcnQuIEd1YXJkPyBHbm9tZT8gSXJnZW5kamVtYW5kPwoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQbGF0eiBmcmVpIGltIFplbHQ/IChHbm9tZSwgMjcuIE1haSAyMDAzLCAxNjoyMToyNCk6Cn4jISBybj1Ucm95IHJ0PTEwNTQwMjkyNzQgcmc9cGFydHkKfiMhIHRpZD0xMDUzMzI4OTM1CnNpZSBzaW5kIGVpZ2VudGxpY2ggYWxsLWluY2x1c2l2ZS4KZGFzICdlaWdlbnRsaWNoJyBoZWlzc3QsIGRhc3Mgd2lyIChiencuIGRpZSBoZXJiZXJnc2xlaXRlcikgbm9jaCBpbgp2ZXJoYW5kbHVuZyBtaXQgZGVuIGJhZGVtZWlzdGVybiBkZXMgc2VlcyBzdGVoZW4sIHVtIGVpbmUgKGJpbGxpZ2UpCmxvZXN1bmcgZnVlciBkYXMgc2VlLWVpbnRyaXR0LXByb2JsZW0genUgZmluZGVuLgoKZGFzICdlaWdlbnRsaWNoJyBiZXppZWh0IHNpY2ggYXVjaCBhdWYgYWxrb2hvbCwgbmF0dWVybGljaC4gJS0pCgp1bmQgd2VubiBpaHIgZWlnZW5lcyBob2x6IGFuc2NobGVwcHQsIGRhbm4gc29sbHRlIGRhcyBsYWdlcmZldWVybiBhdWNoCmtlaW4gcHJvYmxlbSBzZWluLiBhbnNvbnN0ZW4gemFobCBpY2ggZGFzIGhpbnRlcmhlciwgZGllIDEwIGV1cm8gc29sbHRlbgppbSBwYXJ0eXByZWlzIG1pdCBkcmluIHNlaW4gKGRhcyBncmlsbGVuICsgZmV1ZXIgYW0gU2EuIGlzdCBlaCBtaXQKZHJpbiwgaWNoIG1laW50ZSBqZXR6dCBkYXMgZXZ0bC4gZmV1ZXIgdW50ZXIgZGVyIHdvY2hlKS4KCmduT21lCgpwLnMuIGFtIHBhcnR5c2Ftc3RhZyBpc3QgbmF0dWVybGljaCBhdWNoIGRlciBhbGMgaW5rbHVzaXZlLCBuaWNodCBkYXNzCiAgICAgamV0enQgam1kIGRlbmt0LCBlciBtdWVzc2UgZnVlciBqZWRlcyBiaWVyIGV4dHJhIHphaGxlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVuZ2Fsb3dwbGFldHplLi4uIChHbm9tZSwgIDEuIEp1biAyMDAzLCAxODowODoxOCk6Ci4uLnNpbmQgZ2VudWVnZW5kIHZvcmhhbmRlbiwgU0VMQlNUIFdFTk4gaWhyIGV1Y2ggYWxsZSBlbnRzY2hlaWRlbiBzb2xsdGV0LAppbiBkaWUgYnVuZ2Fsb3dzIHp1IHppZWhlbiB1bmQgZGVuIHplbHRwbGF0eiBsaW5rcyBsaWVnZW4genUgbGFzc2VuLgoKZGFzIG51ciBhbHMgaGlud2Vpcywgd2VpbCBkaWUgZnJhZ2UgaW1tZXIgd2llZGVyIG1hbCBhdWZ0YXVjaHQuIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJ1bmdhbG93cGxhZXR6ZS4uLiAoTGVpYmksICAxLiBKdW4gMjAwMywgMTg6MDk6MTQpOgp+IyEgcm49R25vbWUgcnQ9MTA1NDQ4MzY5OCByZz1wYXJ0eQp+IyEgdGlkPTEwNTQ0ODM2OTgKbmEsIG1hbiBtdXNzIGRvY2ggbWFsIG5hY2hmcmFnZW4gOykKCmxlaWJpIC0gd2lsbCBuaWNoIGJlaSByZWdlbiBpbSB6ZWx0IHNjaGxhZmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJ1bmdhbG93cGxhZXR6ZS4uLiAoVmFuaW9uLCAgMS4gSnVuIDIwMDMsIDE4OjEwOjEzKToKfiMhIHJuPUxlaWJpIHJ0PTEwNTQ0ODM3NTQgcmc9cGFydHkKfiMhIHRpZD0xMDU0NDgzNjk4ClJlZ2VuIGltIFplbHQgaXMgZG9jaCBvay4gT2huZSBaZWx0IGlzIGRhcyBzY2hvbiBkb29mZXIuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGF1Y2hlbiBpbSBOeW1waGVuc2VlIChNZXNpcmlpLCAgNC4gSnVuIDIwMDMsIDEzOjAwOjUwKToKCk5lYmVuIFNwaWVsZW4sIEJhZGVuLCBRdWF0c2NoZSwgU3BvcnQgdW5kIEFiaGFlbmdlbiwga2FubiBtYW4gamEgYXVjaCBub2NoCmFuZGVyZSBTYWNoZW4gbWFjaGVuLiAgSWNoIGhhdHRlIGRpZSBJZGVlLCBkYXNzIGVzIGphIHZpZWxsZWljaHQgbW9lZ2xpY2gKd2FlcmUgaW0gTnltcGhlbnNlZSBvZGVyIGRlciBVbWdlYnVuZyB2b24gQnJpZXNlbGFuZyB0YXVjaGVuIHp1IGdlaGVuLgoKVW5kIHNpZWhlIGRhLCBlcyBnaWJ0IHNvZ2FyIG5lbiBUYXVjaGNsdWIgZGEgKHd3dy50Y2JzLmRlKSwgRWluc3RpZWcgbXVzcwptYW4gbWl0IGRlbSBCZXRyZWliZXIgZGVzIFNlZXMgYWJzcHJlY2hlbiB1bmQga29zdGV0KGUpIDEwIERNLCBsYXV0IGRlcmVuClNhdHp1bmcuCgpEZXIgU2VlIHNvbGwgbmljaHQgc2NobGVjaHQgc2VpbiwgendhciBuaWNodCBiZXNvbmRlcnMgdGllZiAoNi03bSkgYWJlcgpkYWZ1ZXIgdmllbCBGbG9yYSB1bmQgRmF1bmEuCgpXZW5uIG5lYmVuIFZhcmRpb24gbm9jaCB3ZXIgdm9uIEV1Y2ggSW50ZXJlc3NlIGhhdCAodmllbGxlaWNodCBpc3NlcyBqYQphdWNoIG5lbiBBbnJlaXogenVyIFBhcnR5IHp1IGtvbW1lbiksIHNjaGlja3QgbWlyIGVpbmZhY2ggbmUgTWFpbDoKCnRhdWNoZW5AbWVzaXJpaS5kZQoKSW5mb3M6IEdvb2dsZTogdGF1Y2hlbiBueW1waGVuc2VlCgpHcnVzcwoKTWVzaSwgamEgbWljaCBnaWJ0cyBub2NoIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0LXNoaXJ0cyAoR25vbWUsIDI3LiBKdW4gMjAwMywgMjI6MjA6MDUpOgpoaSwKCmZ1ZXIgYWxsZSwgZGllIGVzIG5vY2ggbmljaHQgc28gcmljaHRpZyBtaXRiZWtvbW1lbiBoYWJlbiBvZGVyIGdld2lzc2UKemVpbGVuIGF1ZiBkZW4gd2ViLXNlaXRlbiBpZ25vcmllcmVuIG9kZXIgZ2FyIG5pY2h0IGVyc3QgbGVzZW4sIGhpZXIKbm9jaG1hbCB6dW0gbWl0bWVpc3NlbG46CgpkaWUgdC1zaGlydC1iZXN0ZWxsdW5ncy1tYWlscyBiaXR0ZSBhbiBkZW4gc3BpZWxlciAidHNoaXJ0IiwgaGllciBpbSBNRy4KCmljaCBoYWJlIGRhbWl0IHJlaW4gZ2FyIG5pY2h0cyB6dSB0dW4uIGljaCB3dWVyZGUgYXVjaCBudXIKd2VpdGVybGVpdGVuLgoKZ25PbWUKCnAucy4gamVkZSB3ZWl0ZXJlIG1haWwgYW4gX21pY2hfIHp3ZWNrcyB0c2hpcnQtYmVzdGVsbHVuZyB3aXJkIGdlbG9lc2NodC4KICAgICB2aWVsbGVpY2h0IGxlcm50IGlociBkYW5uIGxlc2VuLiA6KQoKcC5wLnMuIFVORCBHRUJUIERJRSBHUk9FU1NFIE1JVCBBTiEKICAgICAgIG1pdCBlaW5lbSAiaWNoIHdpbGwgYXVjaCBlaW5zIiBrYW5uIGljaCBuaXggYW5mYW5nZW4hCiAgICAgICBoZXJyam9mbm9jaG1hbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRhdWNoZW4gaW0gbnltcGhlbnNlZSAoTXVhZGliLCAgNC4gSnVsIDIwMDMsIDE0OjE0OjIwKToKaGksCgp3aWUgc2llaHQgZXMgZGVubiBudW4ga29ua3JldCBtaXQgZGVyIFBsYW51bmcgZnVlciBkYXMgVGF1Y2hlbiBpbSBOeW1waGVuc2VlCmF1cz8gSWNoIG11c3MgbGFuZ3NhbSBzY2hhdWVuIHdpZSBpY2ggZGllIDMyS2lsbyBHZXBhZWNrIGRpZSBtaXIgZXJsYXVidCBzaW5kCnp1c2FtbWVuc3R1ZWNrZWwgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0YXVjaGVuIGltIG55bXBoZW5zZWUgKEdub21lLCAgNS4gSnVsIDIwMDMsIDIwOjE0OjE3KToKfiMhIHJuPU11YWRpYiBydD0xMDU3MzIwODYwIHJnPXBhcnR5Cn4jISB0aWQ9MTA1NzMyMDg2MAphbHNvIGljaCB3dWVyZGUgZ2VybmUgbWl0bWFjaGVuLCBoYWJlIGFiZXIgbnVyIEFCQy4KZC5oLiwgZW50d2VkZXIgbWFjaGVuIHdpciB3ZWNoc2VsYXRtdW5nIG9kZXIgdmFyZGlvbiB1bmQgbWVzaXJpaSBsZWloZW4KbWlyIGlociB6ZXVncyBmdWVyIGVpbmVuIHRhdWNoZ2FuZy4gOikKCmRpZSBoYWJlbiBzaWNoIG1FIGF1Y2ggc2Nob24gZXJrdW5kaWd0LCBkYXNzIG1hbiBkb3J0IHRhdWNoZW4gZGFyZi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRhdWNoZW4gaW0gbnltcGhlbnNlZSAoTXVhZGliLCAgNi4gSnVsIDIwMDMsIDAwOjE5OjAxKToKfiMhIHJuPUdub21lIHJ0PTEwNTc0Mjg4NTcgcmc9cGFydHkKfiMhIHRpZD0xMDU3MzIwODYwCmRhIGdpYnRzIGRvY2ggbmUgYmFzaXMsIGthbm4gbWFuIG5pY2h0IGF1dG9tYXRlbiB1bmQgamFja2V0IGF1c2xlaWhlbj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiZXN0ZWxsdW5nZW4gKFRzaGlydCwgIDYuIEp1bCAyMDAzLCAxMTo1MzoxNSk6CmJhbGQgaXN0IHRzaGlydC1hbm5haG1lc2NobHVzcyB1bmQgaWNoIGhhYmUgbnVyIDE1IGJlc3RlbGx1bmdlbiB2b3JsaWVnZW4/Cgppc3QgZGFzIGV0d2EgYWxsZXM/IGVpbiBiaXNzY2hlbiBkdWVyZnRpZyBmdWVyIGVpbmUgcGFydHkuLi4KCnRzaGlydCwgZW50dGFldXNjaHQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHRhdWNoZW4gaW0gbnltcGhlbnNlZSAoVmFyZGlvbiwgIDkuIEp1bCAyMDAzLCAxMjowMDoxMSk6Cn4jISBybj1NdWFkaWIgcnQ9MTA1NzQ0MzU0MSByZz1wYXJ0eQp+IyEgdGlkPTEwNTczMjA4NjAKSmEgZXMgZ2lidCBlaW5lLiBVbmQgZGllIHdlcmRlbiB3aXIgd29obCBhdWNoIGluIEFuc3BydWNoIG5laG1lbiwgZGEgaWNoIGdhbnoKc2ljaGVyIGtlaW5lIEZsYXNjaGUgbWl0c2NobGVwcGVuIHdlcmRlLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdGF1Y2hlbiBpbSBueW1waGVuc2VlIChNdWFkaWIsICA5LiBKdWwgMjAwMywgMTg6MDM6MjQpOgp+IyEgcm49VmFyZGlvbiBydD0xMDU3NzQ0ODExIHJnPXBhcnR5Cn4jISB0aWQ9MTA1NzMyMDg2MApndXRndXQsIGZlaW4gZmxhc2NoZSBuZWhtIGljaCBtaXQgc2ljaGVyaGVpdCBhdWNoIGtlaW5lIG1pdCwgdW5kIGtlaW4gYmxlaS4Kd2llIHNpZWh0IGRlbm4gZGllIHplaXRsaWNoZSBwbGFudW5nIGF1cz8gaWNoIGtvbW0gZG9ubmVyc3RhZyBuYWNobWl0YWcgYW4gdW5kCnd1ZXJkZSBlaWdlbnRsaWNoIGdlcm4gbWl0IGluIGRlbiBzZWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZ1ZXIgV2Fja2Vsa2FuZGlkYXRlbiAoR3VhcmQsIDEwLiBKdWwgMjAwMywgMTY6MzA6NDkpOgpoYWxsbywKCmZ1ZXIgYWxsZSAsIGRpZSBuaWNodCBnZW5hdSB3aXNzZW4sIG9iIHNpZSBlcyB6dXIgcGFydHkgc2NoYWZmZW4gdW5kIHNpY2gKZGVzaGFsYiBuaWNodCBhbm1lbGRlbjoKc2NocmVpYnQgYml0dGUgdHJvdHpkZW0gZWluZSBtYWlsIGFuIG1pY2ggb2RlciBnbm9tZSwgZGFzIGlociBldmVudHVlbGwgZGFiZWkKc2VpZCwgc28ga29lbm5lbiB3aXIgaW4gYnJpZXNlbGFuZyBiZXNzZXIgbWl0IGRlbiBwbGFldHplbiB1bmQKdmVycGZsZWd1bmdza29udGluZ2VudGVuIHBsYW5lbi4KZnVlciBkaWUsIGRpZSBldmVudHVlbGwgdmllbGxlaWNodCBzb2dhciB1ZWJlcm5hY2h0ZW4gd29sbGVuLCBrYW5uCndhaHJzY2hlaW5saWNoIHp3YXIgZWluIGJ1bmdhbG93cGxhdHogenVyIHZlcmZ1ZWd1bmcgZ2VzdGVsbHQgd2VyZGVuLCBhYmVyCmZ1ZXIgZWluZSB3dW5zY2h6aW1tZXJiZWxlZ3VuZyBrYW5uIG5hdHVlcmxpY2ggbmljaHQgZ2FyYW50aWVydCB3ZXJkZW4uCgpiaXMgZGVubmUKCmkuQS4gR3VhcmQgZnVlciBkYXMgT3JnYS1UZWFtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLb3N0ZW5yZWNobnVuZyAoVmFyZGlvbiwgMTQuIEp1bCAyMDAzLCAyMjo1NDozOSk6CkhpLgoKU2luZCBkaWUgUmVjaGVuZXJnZWJuaXNzZSBkZXMgSmF2YXNjcmlwdGVzIGF1ZgpodHRwOi8vd3d3LnRydmVzLmRlL3BhcnR5MjAwMy5odG1sIGtvcnJla3Q/CgpCZWlzcGllbDogQnVuZ2Fsb3csIEFucmVpc2UgYW0gRG9ubmVyc3RhZy4KCk1hY2h0IDMgVWViZXJuYWNodHVuZ2VuLiBJY2gga29tbWUgYWxzbyBhdWYgKDExLjUwICsgOCkgKiAzICsgMyArIDEwID0gNzEuNTAKMTEuNTAgKyA4IHNpbmQgZGllIEtvc3RlbiBmdWVyIEJ1bmdhbG93ICsgVmVycGZsZWd1bmcsIG1hbCAzIGZ1ZXIgMyBUYWdlCkRhenUga29tbWVuIDMgRXVyIEJldHR3YWVzY2hlIHVuZCAxMCBFdXIgUGFydHliZWl0cmFnCgpEYXMgU2NyaXB0IHNhZ3QgZnVlciBBbnJlaXNlIGFtIERvbm5lcnN0YWcgdW5kIEJ1bmdhbG93IHdhcyB2b24gNjMuNTAgRXVyLgpXYXMgaXN0IGRlbm4gbnVuIHJpY2h0aWc/CgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29zdGVucmVjaG51bmcgKFplcGh5ciwgMTQuIEp1bCAyMDAzLCAyMzowMjo0Nyk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNTgyMTYwNzkgcmc9cGFydHkKfiMhIHRpZD0xMDU4MjE2MDc5CkFoaC4uIG5vY2ggamVtYW5kIGRlciBzaWNoIGRpZSBNdWVoZSBnZW1hY2h0IGhhdCBzZWxiZXIgenUgcmVjaG5lbiA7KQpJc3QgYWxsZXMgImdhbnogZWluZmFjaCI6IFNhbXN0YWNoIGFiZW5kIGdpYmJldCBrZWluIEFiZW5kZXNzZW4sIGRhClBhcnR5LCB1bmQgU29ubnRhZyBtb3JnZW4gZ2liYmV0IGtlaW4gRnJ1ZWhzdHVlY2ssIGRhIENoaW5lc2UuIE1hY2h0CjggRVVSIHdlbmlnZXIuCkdydXNzLCBDNAogUFM6IE8tVG9uIEcqOiAiV2VubiBkYXMgU2NyaXB0IG5pY2h0IHJpY2h0aWcgcmVjaG5lbiB3dWVyZGUsIGhhZXR0ZW4Kd2lyIGVzIG5pY2h0IHZlcm9lZmZlbnRsaWNodCIgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS29zdGVucmVjaG51bmcgKEd1YXJkLCAxNC4gSnVsIDIwMDMsIDIzOjI3OjA2KToKfiMhIHJuPVplcGh5ciBydD0xMDU4MjE2NTY3IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODIxNjA3OQpkYW5rZSBaZXBoeXIgOi0pCgpCZXJlY2hudW5nIHVuZCBFcmtsYWVydW5nIHZvbiBaZXBoeXIgc2luZCBrb3JyZWt0IDstKQoKR3VhcmQgKnNwcmFjaGxvcyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRlciBOYW1uZSBpc3QgUHJvZ3JhbW0gKFRzaGlydCwgMTQuIEp1bCAyMDAzLCAyMzozMTo0Nik6ClRqYSBkYSBkaWUgT3JnYSBkZXIgU29tbWVycGFydHkgZXR3YXMgemVpdCBiZW5vZXRpZ3QgbWljaCBpbiBncm9lc3NlcmVyCmF1ZmxhZ2UgaGVyenVzdGVsbGVuLCBpc3QgZGllbnN0YWcgYWJlbmQgYmVzdGVsbHNjaGx1c3MsIHdlciBtaWNoIGRhbm4gbmljaApnZWJ1Y2h0IGhhdCwgYmVrb21tdCBuaXggdm9uIG1pciA6LSkKCmRhcyBUc2hpcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyYXZlbHNlcnZpY2UgQnJpZXNlbGFuZyAoR3VhcmQsIDE1LiBKdWwgMjAwMywgMDA6MTE6MDApOgpIaSwKCmZ1ZXIgYWxsZSwgZGllIHVlYmVybmFjaHQgdm9tIDI3LjA3LiB6dW0gMjguMDcuIG5hY2ggYmVybGluIGZhaHJlbiB1bmQgZGVzaGFsYgpzY2hvbiB6dSB1bmNocmlzdGxpY2hlbiB6ZWl0ZW4gaW4gYmVybGluIHNpbmQgaGllciBkYXMgZWlubWFsaWdlIGFuZ2Vib3Q6CmlociBoYWJ0IGRpZSBlaW5tYWxpZ2UgZ2VsZWdlbmhlaXQsIG1pdCB1bnNlcmVyIGNoYXJtYW50ZW4gUmVpc2ViZWdsZWl0ZXJpbgpNYWhhcmV0IGVpbmUgRmFocnQgdm9tIEJlcmxpbi1ab29sb2cuIEdhcnRlbiBuYWNoIEJyaWVzZWxhbmcgenUgbWFjaGVuIQpUZWlsbmFobWViZWRpbmd1bmdlbjoKVHJlZmZlbiBpc3QgMTA6MTUgYW0gWm9vbG9naXNjaGVuIEdhcnRlbiB2b3IgZGVuIEJhaG5ob2YgYW0gTUMgRG9uYWxkcywgaXN0CmFlaWdlbnRsaWNoIG5pY2h0IHp1IHVlYmVyc2VoZW4uCklociB3ZXJkZXQgZGFubiBzaWNoZXIgYmlzIHp1bSBPcnQgZGVzIFZlcmJyZWNoZW5zIGdlbGVpdGV0IHVuZCB0cmVmZnQgZG9ydApkYW5uIGF1ZiBtZWluZSBXZW5pZ2tlaXQsIGRpZSBFdWNoIGluIEVtcGZhbmcgbmVobWVuIHdpcmQuCgpCZWkgRnJhZ2VuIGJpdHRlIGFuIE1haGFyZXQgb2RlciBtaWNoIHdlbmRlbiA6LSkKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHJhdmVsc2VydmljZSBCcmllc2VsYW5nIChNYWhhcmV0LCAxNS4gSnVsIDIwMDMsIDAwOjE2OjI4KToKfiMhIHJuPUd1YXJkIHJ0PTEwNTgyMjA2NjAgcmc9cGFydHkKfiMhIHRpZD0xMDU4MjIwNjYwCkF1Y2ggdm9uIG1pciBoaSwKCldlciBkYSB0YXRzYWVjaGxpY2ggbWl0IG1pciBtaXR3YW5kZXJuIHdpbGwsIHNvbGx0ZSBlcyBtaWNoIHdpc3NlbiBsYXNzZW4uIApGYWxscyBqZW1hbmQgVmVyc3BhZXR1bmcgaGF0LCBrb2VubmVuIHdpciBkYW5uIGVudHNwcmVjaGVuZCB3YXJ0ZW4uICBEYXMKa2xhcHB0IGFiZXIgbnVyLCB3ZW5uIGljaCB3ZWlzcywgZGFzIGplbWFuZCBmZWhsdCA7KQoKR3J1c3MsIApNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRyYXZlbHNlcnZpY2UgQnJpZXNlbGFuZyAoR29yb2csIDE1LiBKdWwgMjAwMywgMTI6NDE6MDMpOgp+IyEgcm49TWFoYXJldCBydD0xMDU4MjIwOTg4IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODIyMDY2MApIbW1tLCBNQyBEb25hbGRzIGFtIFpvb2xvZ2lzY2hlbiBHYXJ0ZW4uLi4gQmluIG1pciBuaWNodCBzaWNoZXIgaXN0IHNjaG9uCmxhbmdlIGhlciBkYXMgaWNoIGRhIHdhciwgYWJlciBzaW5kIGRhIG5pY2h0IHp3ZWkgdm9uIGRlciBTb3J0ZSBpbgpTaWNodHJlaWNod2VpdGUsIG9kZXIgd2FyIGRhcyBhbiBlaW5lciBhbmRlcmVuIFN0ZWxsZSBpbiBCZXJsaW4/CgptZkcgR29yb2cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRyYXZlbHNlcnZpY2UgQnJpZXNlbGFuZyAoTWFoYXJldCwgMTUuIEp1bCAyMDAzLCAxNDo0MDo0OSk6Cn4jISBybj1Hb3JvZyBydD0xMDU4MjY1NjYzIHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODIyMDY2MApJY2gga2VubiBkYSBudXIgZWluZW4uIFNvbGx0ZSBlcyBad2VpZmVsIGdlYmVuOiBkZXIgYW4gZGllc2VtClF1YXNpLUJ1c2JhaG5ob2YsIGFsc28gZ2VuYXUgZ2VnZW51ZWJlciB2b20gQmFobmhvZiBab28uICBEYSBpc3QgamV0enQgYXVjaAplaW4gRHVua2luJyBEb251dHMgZGljaHRlIGJlaS4KCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRyYXZlbHNlcnZpY2UgQnJpZXNlbGFuZyAoR3VhcmQsIDE1LiBKdWwgMjAwMywgMTQ6NTU6MzMpOgp+IyEgcm49TWFoYXJldCBydD0xMDU4MjcyODQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODIyMDY2MApkZXIgTUMgRG9uYWxkcywgZGVuIEdvcm9nIG1laW50IGlzdCBlaW4gQnVyZ2VyIEtpbmcgdW5kIGluIFJpY2h0dW5nIGRlcgpHZWRhZWNodG5pc2tpcmNoZSwgYWJlciBkZW4gbmVobWVuIHdpciBuaWNodCA6LSkKCmdydXNzCmdydXNzCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUcmF2ZWxzZXJ2aWNlIEJyaWVzZWxhbmcgKE1vb25zaGluZSwgMTUuIEp1bCAyMDAzLCAxNDo1Nzo0NCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwNTgyNzI4NDkgcmc9cGFydHkKfiMhIHRpZD0xMDU4MjIwNjYwCkRhIGhhYiBpY2ggbWFsIGdlZ2Vzc2VuISA6LSkKCk1vb25zaGluZSAtIHNjaHdlbGd0IGluIEVyaW5uZXJ1bmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVHJhdmVsc2VydmljZSBCcmllc2VsYW5nIChIb2JvLCAxNS4gSnVsIDIwMDMsIDE1OjA2OjQ3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA1ODIyMDk4OCByZz1wYXJ0eQp+IyEgdGlkPTEwNTgyMjA2NjAKTmljaHQsIGRhc3MgZXMgbWljaCBiZXRyZWZmZW4gd3VlcmRlLi4uLiBhYmVyIGtvZW5udGV0IElociBtaXIgbm9jaG1hbAplcmtsYWVyZW4sIG9iIG51biBnZWZhaHJlbiBvZGVyIGdld2FuZGVydCB3aXJkPwoKIEhvYm8gLSBzdGVsbHQgc2ljaCBlaW5lIFdhbmRlcnVuZyB2b20gWm9vIG5hY2ggQnJpc2VsYW5nIG1pdCB2b2xsZW0KZWluZS1Xb2NoZS1DYW1wZW4tR2VwYWVjayBudXIgYmVkaW5ndCBhbXVlc2FudCB2b3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRyYXZlbHNlcnZpY2UgQnJpZXNlbGFuZyAoTWFoYXJldCwgMTUuIEp1bCAyMDAzLCAxNToxNzo0Myk6Cn4jISBybj1Ib2JvIHJ0PTEwNTgyNzQ0MDcgcmc9cGFydHkKfiMhIHRpZD0xMDU4MjIwNjYwCldpciBmYWhyZW4gbWl0IGRpdmVyc2VuIFp1ZWdlbiBvZGVyIG1pdCBCdXMgdW5kIFp1ZyB2b24gWm9vIG5hY2ggQnJpZXNlbGFuZy4gCk51ciBkaWUgbGV0enRlbiBNZXRlciB6dW0gQ2FtcCBtdWVzc2VuIHdpciBkYW5uIHp1IEZ1c3Mgc2NoYWZmZW4uCktlaW5lIEFuZ3N0LCBpY2ggZmFuZyBuaWNodCBfc29fIGZydWVoIGFuLCB1bmVydHJhZWdsaWNoIHp1IHdlcmRlbiA6KQoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVHJhdmVsc2VydmljZSBCcmllc2VsYW5nIChNYWhhcmV0LCAxNS4gSnVsIDIwMDMsIDE1OjIxOjMxKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA1ODI3NTA2MyByZz1wYXJ0eQp+IyEgdGlkPTEwNTgyMjA2NjAKQWVoIC4uLiBvay4KR3VhcmQgaGF0IHZlcnNwcm9jaGVuLCBkYXNzIGljaCBjaGFybWFudCBzZWkuClVtIGlobiBuaWNodCBpbiBTY2h3aWVyaWdrZWl0ZW4genUgYnJpbmdlbjogSWNoIHdlcmRlIHVlYmVyaGF1cHQgbmljaHQKdW5lcnRyYWVnbGljaCwgc29sYW5nZSBpY2ggdHJhdmVsc2VydmljZXRhZXRpZyBiaW4uCgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUcmF2ZWxzZXJ2aWNlIEJyaWVzZWxhbmcgKEhvYm8sIDE1LiBKdWwgMjAwMywgMTU6MzA6MDIpOgp+IyEgcm49TWFoYXJldCBydD0xMDU4Mjc1MjkxIHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODIyMDY2MAp3aWUgbGFuZ3dlaWxpZy4uLgoKICAgSG9ibyAtIGhhdCBzaWNoIHNjaG9uIGF1ZiB2b2VsbGlnIGF1ZmdlbG9lc3RlLCBnZXN0cmVzc3RlLCBzYXVyZQpNYWhhcmV0LUJlZ2xlaXRlciBnZWZyZXV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUcmF2ZWxzZXJ2aWNlIEJyaWVzZWxhbmcgKE1haGFyZXQsIDE1LiBKdWwgMjAwMywgMTU6MzE6MzApOgp+IyEgcm49SG9ibyBydD0xMDU4Mjc1ODAyIHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODIyMDY2MApJY2ggYmluIGdlbGVybnRlIGdyb3NzZSBTY2h3ZXN0ZXIuCk1pY2ggbWFjaHQgbWFuIHNvIGxlaWNodCBuaWNodCBmZXJ0aWcgOykKCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRyYXZlbHNlcnZpY2UgQnJpZXNlbGFuZyAoSG9ibywgMTUuIEp1bCAyMDAzLCAxNTozMjoyOCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwNTgyNzU4OTAgcmc9cGFydHkKfiMhIHRpZD0xMDU4MjIwNjYwCkRpZSBhbmRlcmVuLCBuaWNodCBEdS4uLiBIYWInIGljaCBkYXMgbWlzc3ZlcnN0YWVuZGxpY2ggZ2VzY2hyaWViZW4/CgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBUcmF2ZWxzZXJ2aWNlIEJyaWVzZWxhbmcgKE1haGFyZXQsIDE1LiBKdWwgMjAwMywgMTU6MzM6MDApOgp+IyEgcm49SG9ibyBydD0xMDU4Mjc1OTQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODIyMDY2MApOdXIsIHdlbm4gbWFuIG1pY2ggZmVydGlnIG1hY2h0LCB3ZXJkZSBpY2ggdW5lcnRyYWVnbGljaCA6KQoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVHJhdmVsc2VydmljZSBCcmllc2VsYW5nIChHdWFyZCwgMTUuIEp1bCAyMDAzLCAxNTozNjowNyk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwNTgyNzU5ODAgcmc9cGFydHkKfiMhIHRpZD0xMDU4MjIwNjYwCndlciBoaWVyIHVuc2VyZW4gVHJhdmVsc2VydmljZSBzYWJvdGllcnQsIGJla29tbXQgZXMgbWl0IGRlciBnZWJhbGx0ZW4gTGFkdW5nCmJlcmxpbmVyIE9yZ2F0ZWFtIHp1IHR1biwgdWViZXJsZWd0IEV1Y2ggZGFzIGd1dCA6LSkKZXMgaGF0IHVucyB2aWVsIGdla29zdGV0LCBNYWhhIGRhZnVlciB6dSBnZXdpbm5lbiEKCk9yZ2F0ZWFtCmkuQS4gR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFRyYXZlbHNlcnZpY2UgQnJpZXNlbGFuZyAoTW9vbnNoaW5lLCAxNS4gSnVsIDIwMDMsIDE1OjM3OjE3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA1ODI3NTk4MCByZz1wYXJ0eQp+IyEgdGlkPTEwNTgyMjA2NjAKV2FzIHVuZCB3aWV2aWVsIGRhdm9uIGRlbm4gZ2VuYXU/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVHJhdmVsc2VydmljZSBCcmllc2VsYW5nIChUb2UsIDE1LiBKdWwgMjAwMywgMTg6NTQ6MzEpOgp+IyEgcm49SG9ibyBydD0xMDU4Mjc0NDA3IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODIyMDY2MAppcmdlbmR3ZXIgd2lyZCBzY2hvbiBlaW5lIHNjaHVia2FycmUgaGFiZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRyZXNkZW4tPkJlcmxpbiAoUmlrdXMsIDE2LiBKdWwgMjAwMywgMTE6NTU6NDkpOgpoaSwKd2VyIHdpbGwgYW0gMS44LiBtaXQgbmFjaCBiZXJsaW4gZmFocmVuIHVuZCBhbSAzLiB6dXJ1ZWNrPyBoYWV0dGUgbm9jaApwbGFldHplIGltIGF1dG8gZnJlaS4uLiBhYmZhaHJ0IHdhZXJlIHNwYWV0ZXN0ZW5zIDE1LjMwIHVoci4KCnJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0c2hpcnRzIC0+IGZvbGllbmRydWNrIChHbm9tZSwgMTcuIEp1bCAyMDAzLCAxMzo0NDozNCk6CmhpIQoKYXVmZ3J1bmQgZGVyIHJlbGF0aXYgZ2VyaW5nZW4gYW56YWhsIGFuIGJlc3RlbGx1bmdlbiwgbXVzcyBkYXMgdHNoaXJ0Cm51biBpbSBmb2xpZW5kcnVjayBnZWZlcnRpZ3Qgd2VyZGVuLCBkYSBzb25zdCBqZWRlcyAxNSwtIGtvc3RlbiB3dWVyZGUuCmljaCBoYXR0ZSBtaXQgZGV1dGxpY2ggbWVociBzaGlydHMgZ2VyZWNobmV0LCBkYSBoYWV0dGVuIHdpciBhdWNoIGRlbgpiaWxpZ2VucmVuIHByZWlzIHBybyBzdHVlY2sgYmVrb21tZW4uCm51biB3aXJkcyBoYWx0IG5pY2h0IGRlciBzdXBlcmJlIHNpZWJkcnVjay4gZGFmdWVyIHZlcnN1Y2hlIGljaCwKcXVhbGl0YXRpdiBob2Nod2VydGlnZSBzaGlydHMgenUgYmVrb21tZW4uIHdlbm4gdHJvdHpkZW0gbm9jaApnZWxkIHVlYmVyYmxlaWJ0LCB3aXJkIGRhcyBuYXR1ZXJsaWNoIGplZGVtIGF1ZiBkZXIgcGFydHkgYXVzZ2V6YWhsdC4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdHNoaXJ0cyAtPiBmb2xpZW5kcnVjayAoUGFyZGF1eiwgMTcuIEp1bCAyMDAzLCAxODozMTo1NSk6Cn4jISBybj1Hbm9tZSBydD0xMDU4NDQyMjc0IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODQ0MjI3NApIZWlzc3QgRm9saWVuZHJ1Y2sgZGFzcyBkYXMgd2llZGVyIHNvIG5lbiBzdGVpZmVzIEJyZXR0IHdpcmQgd2llIGRpZQpzY2h3YXJ6ZW4gVC1TaGlydHMgYXVzIE11ZW5zdGVyPyBEYSBiaW4gaWNoIGZyb2ggZGFzcyBzaWNoIGRpZSBGb2xpZQpuYWNoIHdlbmlnZW4gV2Flc2NoZW4gcmVzdGxvcyBhYmdlbG9lc3QgaGF0IC4uLiAKClVuZCB3YXMgaGF0IGVzIG1pdCBkZW4gR2VydWVjaHRlbiB1bSB2ZXJzY2hpZWRlbmUgU2Nobml0dGUgYXVmIHNpY2g/CklzdCBkYSB3YXMgZHJhbj8gSWNoIGtlbm4gTGV1dGUgZGllIGRhIE1haWxzIHp1IGJla29tbWVuIGhhYmVuLgoKUGFyZGF1eiwgYXVmIHNjaG9lbmUgVC1TaGlydHMgaG9mZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRzaGlydHMgLT4gZm9saWVuZHJ1Y2sgKEtlbHJpcywgMTcuIEp1bCAyMDAzLCAxOToxNTozMSk6Cn4jISBybj1Hbm9tZSBydD0xMDU4NDQyMjc0IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODQ0MjI3NAoKSWNoIHd1ZXJkZSBkaWUgNSAtIDEwIEV1cm8gbWVociBiZXphaGxlbiBmdWVyIGRlbiBzY2hvZW5lbiBTaWViZHJ1Y2suClZpZWxsZWljaHQgZmluZGVuIHNpY2ggamEgZ2VudWcgZGllIGRhcyBhdWNoIHdvbGxlbi4KCkthbXBmIGRlbSBGb2xpZW5kcnVjay4KCkdydXNzLCBLZWxyaXMgaW0gQXVmdHJhZyB2b24gSWRsZWZpeC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdHNoaXJ0cyAtPiBmb2xpZW5kcnVjayAoVG9lLCAxNy4gSnVsIDIwMDMsIDE5OjM0OjI3KToKfiMhIHJuPUtlbHJpcyBydD0xMDU4NDYyMTMxIHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODQ0MjI3NAp3aWV2aWVsIHN0dWVjayBmZWhsZW4gZGVubiBmdWVyIGVpbmUgYmVzc2VyZSBhdWZsYWdlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGF1ZmVuIGluIEJyaWVzZWxhbmcgKEdpdGFycmUsIDE3LiBKdWwgMjAwMywgMjI6NDY6MDgpOgpIYWxsbyBNdWRnZW1laW5kZSwKCmdpYnRzIHVudGVyIGRlbiBQYXJ0eS1CZXN1Y2hlcm4gRmFucyB2b24gV2Fsa2luZy9Ob3JkaWMgV2Fsa2luZz8gV3VlcmQgbWljaAptYWwgaW50ZXJlc3NpZXJlbiB6d2Vja3MgZ2VtZWluc2FtZXIgTGF1ZmFrdGlvbmVuLgoKR2l0YXJyZSAtIHBvc3RldCBhdWNoIG1hbCB3YXMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhdWZlbiBpbiBCcmllc2VsYW5nIChCaXJkeSwgMTcuIEp1bCAyMDAzLCAyMjo0NzoxMSk6Cn4jISBybj1HaXRhcnJlIHJ0PTEwNTg0NzQ3Njggcmc9cGFydHkKfiMhIHRpZD0xMDU4NDc0NzY4Cm5lZSEgd2lyIHNpbmQgYWxsZSBudXIgd2VnZW4gZGVtIHNhdWZlbiBkYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGF1ZmVuIGluIEJyaWVzZWxhbmcgKEdpdGFycmUsIDE3LiBKdWwgMjAwMywgMjI6NDk6NDcpOgp+IyEgcm49QmlyZHkgcnQ9MTA1ODQ3NDgzMSByZz1wYXJ0eQp+IyEgdGlkPTEwNTg0NzQ3NjgKCnNvIGVpbiBNaXN0IDtvKSBJY2ggZGFjaHRlLCBpY2ggZmFociBkYSB6dW0gbGF1ZmVtL3NjaHdpbW1lbi9zY2hsYWZlbiBoaW4gOm8pCgpHaXRhcnJlIC0gZGVzaWxsb3Npb25pZXJ0IChobW1tIGdlYnQgbWFsIG5lbiBUaXAgZnVlciBkaWUgT3J0aG9ncmFwaGllKS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGF1ZmVuIGluIEJyaWVzZWxhbmcgKFRvZSwgMTcuIEp1bCAyMDAzLCAyMjo1Nzo1Nik6Cn4jISBybj1HaXRhcnJlIHJ0PTEwNTg0NzQ3Njggcmc9cGFydHkKfiMhIHRpZD0xMDU4NDc0NzY4CnNwcmljaCBtaWNoIG1hbCBuYWNobSB3YWNod2VyZGVuICsgMWggKyAxIGthZmZlZSBhbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0c2hpcnRzIC0+IGZvbGllbmRydWNrIChSb25kYSwgMTcuIEp1bCAyMDAzLCAyMzoxODoyNik6Cn4jISBybj1LZWxyaXMgcnQ9MTA1ODQ2MjEzMSByZz1wYXJ0eQp+IyEgdGlkPTEwNTg0NDIyNzQKRWJlbnNvLiBFaW4gYmlzc2NoZW4gbWVociB3YWVyZSBvayAtIGRhIGljaCBlcyBzb25zdCBnYXJhbnRpZXJ0IG1pdCAxNDAwClRvdXJlbiBzY2hhZmZlLCBkYXMgQmlsZCB0b3R6dXNjaGxldWRlcm4gOy0pCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdHNoaXJ0cyAtPiBmb2xpZW5kcnVjayAoTW9udGFudXMsIDE4LiBKdWwgMjAwMywgMDg6MjU6NDgpOgp+IyEgcm49Um9uZGEgcnQ9MTA1ODQ3NjcwNiByZz1wYXJ0eQp+IyEgdGlkPTEwNTg0NDIyNzQKTGllYmVzIEhleGNoZW4sCnZvciBkZW0gdmVyd2VuZGVuIHZvbiBUcm9ja2Vuc2NobGV1ZGVybiBzb2xsdGUgbWFuIGRhcyBULVNoaXJ0IGVoIGF1ZiBkaWUKbGlua2UgU2VpdGUgemllaGVuLCBzbyBtYW4gZGFzIG5pY2h0IGVoIHNjaG9uIGZ1ZXJzIFdhZXNjaGVuIGdlbWFjaHQgaGF0LgpIaWxmdCBnYW56IHVuZ2VtZWluLgpNZkcKQ2xlbWVudGluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXJ3ZWlzdW5nZW4gKEd1YXJkLCAxOC4gSnVsIDIwMDMsIDExOjAzOjQ1KToKTW9pbiBhbGxlcnNlaXRzIDotKQoKaWNoIG1vZWNodGUgamV0enQgc2Nob24gbWFsIGFsbGVuIE5hY2h6dWVnbGVybiB1bmQgVmVydW5zaWNoZXJ0ZW4gbWl0dGVpbGVuOgpCSVRURSBQQVJUWUJFSVRSQUcgWkFITEVOISEhCkJpcyBNb250YWcgZGVuIDIxLjA3LiBrYW5uIG5vY2ggZ2FueiBub3JtYWwgdWViZXJ3aWVzZW4gd2VyZGVuLCBkYW5hY2ggYml0dGUKYmVpIHVlYmVyd2Vpc3VuZyBlaW5lIGJlc3RhZXRpZ3VuZyBtYWNoZW4gdW5kIG1pdGJyaW5nZW4gb2RlciBkYXMgZ2VsZCB2b3IgT3J0CmJlemFobGVuCmRhcyB3YXJzIHNjaG9uCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVHJhdmVsc2VydmljZSBCcmllc2VsYW5nIChFbGl6YWJldGgsIDE4LiBKdWwgMjAwMywgMTc6MDM6NTEpOgp+IyEgcm49TW9vbnNoaW5lIHJ0PTEwNTgyNzM4NjQgcmc9cGFydHkKfiMhIHRpZD0xMDU4MjIwNjYwCmVjaHQgPyA6KSB3YW5uIGRlbm4/CmVyemFlaGwhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRzaGlydHMgLT4gZm9saWVuZHJ1Y2sgKEdub21lLCAxOC4gSnVsIDIwMDMsIDE5OjI0OjAwKToKfiMhIHJuPUtlbHJpcyBydD0xMDU4NDYyMTMxIHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODQ0MjI3NAppY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIGplZGVyIHZvbiBkZW5lbiwgZGllIGVpbiB0c2hpcnQgYmVzdGVsbHQgaGFiZW4sCmJlcmVpdCBzaW5kLCA1IGV1cm8gbWVociB6dSB6YWhsZW4uCnVuZCBmdWVyIGVpbmVuIHByZWlzIHZvbiBldHdhIDEwIGV1cm8gYnJhZXVjaHRlbiB3aXIgZWluZSBhdWZsYWdlCnZvbiBtaW5kZXN0ZW5zIDUwIHN0dWVjaywgYWxzbyBrbmFwcCAyMCB6dSB3ZW5pZy4KCmVpbiBmb2xpZW5kcnVjayBpc3Qgb2suIGVzIGlzdCBuaWNodCBkaWUgYmVzdGUgbG9lc3VuZywgdW0gZXR3YXMgYXVmCmVpbiB0c2hpcnQgenUgYnJpbmdlbiBhYmVyIGVzIHRhdWd0IChkaWUgbGV0enRlbiBzaGlydHMgYXVzIGJyaWVzZWxhbmcKd2FyZW4gYXVjaCBmb2xpZW5kcnVjay4uLikuCgp1bmQgamEsIGVzIGdpYnQgdmVyc2NoaWVkZW5lIHNjaG5pdHRlIHVuZCBlaW5pZ2UgaGFiZW4gbWFpbHMgYmVrb21tZW4uCmFiZXIgZXMgYmVzdHJpZmZ0IG51ciBkaWUgZnJhdWVuLCBkaWUgZWluZW4gdC1zaGlydCBtaXQgZnJhdWVuc2Nobml0dAoodi1hdXNzY2huaXR0LCBzZWl0ZW4gZW5nZXIpIGhhYmVuIG1vZWNodGVuLgphYmVyIHdlbm4gZHUgbW9lY2h0ZXN0LCBrYW5uIGljaCBkaXIgZ2VybmUgYXVjaCBlaW4gZnJhdWVuc2hpcnQKYmVzdGVsbGVuLi4uIDstKQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHRzaGlydHMgLT4gZm9saWVuZHJ1Y2sgKEtlbHJpcywgMTguIEp1bCAyMDAzLCAyMDo1NjoyOSk6Cn4jISBybj1Hbm9tZSBydD0xMDU4NTQ5MDQwIHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODQ0MjI3NApIdWh1LApuYWphIHdlbm4gc2ljaCBhbnNvbnN0ZW4gbmllbWFuZCBtZWxkZXQgd2VnZW4gZGVuIE1laHJrb3N0ZW4gc2luZApTcGVrdWxhdGlvbmVuIGxlaWNodC4gV2VyIGJlcmVpdCB3YWVyZSBldHdhcyBtZWhyIHp1IHphaGxlbiB1bmQgdmllbGxlaWNodApub2NoIGplbWFuZGVuICJ1ZWJlcnJlZGV0IiBhdWNoIGVpbiBULXNoaXJ0IHp1IGJlc3RlbGxlbiBtdWVzc3RlbiB3aXIgZXMgZG9jaAp2aWVsbGVpY2h0IGhpbmtyaWVnZW4ga29lbm5lbi4gQWxzbyBtZWxkZXQgZXVjaCBkb2NoIGVpbmZhY2ggenUgV29ydC4gV2VubnMKbmljaHQgaW4gZGVyIE1QQSBzZWluIHNvbGwgcmVpY2h0IGphIGF1Y2ggZWluZSBFbWFpbCBhbiBUc2hpcnQgZGVua2UgaWNoLgoKR3J1c3MsIEtlbHJpcyBpbSBBdWZ0cmFnIHZvbiBJZGxlZml4IGRlciBTaWViZHJ1Y2sgbW9lY2h0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRzaGlydHMgLT4gZm9saWVuZHJ1Y2sgKEdub21lLCAxOC4gSnVsIDIwMDMsIDIxOjEwOjI1KToKfiMhIHJuPUtlbHJpcyBydD0xMDU4NTU0NTg5IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODQ0MjI3NApkdSBoYXN0IGRhIHdhcyBuaWNodCBnYW56IHZlcnN0YW5kZW4uCgprbGFyIHdhZXJlIHNpZWJkcnVjayBlaW5pZ2VuIGxpZWJlciAobWlyIGF1Y2gpLCBhYmVyIGRhcnVtIGdlaHQgZXMgbmljaHQuCmVzIGdlaHQgZGFydW0sIGRhc3MgaWNoIGV1Y2ggZWluIHNoaXJ0IGZ1ZXIgMTAgZXVybyBhbmdlYm90ZW4vdmVycHNyb2NoZW4KaGFiZS4gdW5kIGRhcyBhbmdlYm90IG11c3MgaWNoIGhhbHRlbi4Kc29uc3QgZnVlaGxlbiBzaWNoIGVpbmlnZSB1ZWJlcnMgb2hyIGdlaGF1ZW4sIHdlbm4gaWNoIGlobmVuIGpldHp0CmFuYmlldGU6IDE1IGV1cm8gb2RlciBnYXIgbml4LiBkYXMgZ2VodCBuaWNodC4KCmVzIHNlaSBkZW5uLCBkdSBrcmllZ3N0IEFMTEUgZGF6dSB1ZWJlcnJlZGV0LCAxNSBldXJvIHp1IHphaGxlbi4KdW5kIHp3YXIgemllbWxpY2ggc2NobmVsbCwgZGEgc2llYmRydWNrIGVpbiBwYWFyIHRhZ2UgbGFlbmdlciBkYXVlcnQKYWxzIGRlciBmb2xpZW5kcnVjay4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB0c2hpcnRzIC0+IGZvbGllbmRydWNrIChLZWxyaXMsIDE4LiBKdWwgMjAwMywgMjE6Mzk6NTEpOgp+IyEgcm49R25vbWUgcnQ9MTA1ODU1NTQyNSByZz1wYXJ0eQp+IyEgdGlkPTEwNTg0NDIyNzQKSHVodSwKZGFubiBmcmFnIGRvY2ggZWluZmFjaCBhbGxlIGRhbm4gc2VoZW4gd2lyIGVzIGphLiBTb2xsdGVuIGVpbmlnZW4gNSBFdXJvIG1laHIKdGF0c2FlY2hsaWNoIHp1dmllbCBzZWluIGdpYnRzIGhhbHQgRm9saWVuZHJ1Y2suCgpJY2ggemFobGUgZ2VybmUgNSBFdXJvIG1laHIgdW5kIGZ1ZWhsZSBtaWNoIG5pY2h0IHVlYmVycyBPaHIgZ2VoYXVlbi4KCkdydXNzLCBLZWxyaXMgaW0gQXVmdHJhZyB2b24gSWRsZWZpeC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRzaGlydHMgLT4gZm9saWVuZHJ1Y2sgKFRvZSwgMTkuIEp1bCAyMDAzLCAwMDo1OToxMSk6Cn4jISBybj1LZWxyaXMgcnQ9MTA1ODU1NDU4OSByZz1wYXJ0eQp+IyEgdGlkPTEwNTg0NDIyNzQKYWxzbyBpY2ggbmVobWUgbm9jaCB6d2VpIGRhenUsIHdlbm4gZGFzIGhpbmtvbW10IGZhZW5kZSBpY2ggZGFzIHRvbGwhCnRvZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogdHNoaXJ0cyAtPiBmb2xpZW5kcnVjayAoVG9lLCAxOS4gSnVsIDIwMDMsIDAxOjA1OjQ5KToKfiMhIHJuPUtlbHJpcyBydD0xMDU4NTU3MTkxIHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODQ0MjI3NAplcyB3ZXJkZW4gZG9jaCAyMCB6dXNhZXR6bGljaGUgVC1zaGlydHMgYmVzdGVsbGJhciBzZWluIT8Kd2VyIDUgZXVybyBtZWhyIGZ1ZXIgZWluZXMgYXVzenVnZWJlbiBiZXJlaXQgd2FlcmUsIGRlciBrYW5uIGF1Y2ggcXVhc2kgZGFzCnp3ZWl0ZSBzaGlydAppbiBiZXNzZXJlciBxdWFsaXRhZXQgZnVlciB3ZWl0ZXJlIDUgZXVybyBpbiBrYXVmIG5laG1lbi4uLgoxIHRzaGlydCBnZWlsIDE1IGV1cm8KMiB0c2hpcnQgZ2VpbCAzMCBldXJvIChndXRlIHF1YWxpdGFldCkKCjEgdC1zaGlydCBpbiBndXRlciBxdWFsaXRhZXQgZnVlciAxMCBldXJvIChlbnRzcHJlY2hlbmRlIGF1ZmxhZ2UpCjIgZnVlciBudXIgNSBldXJvIG1laHIgKDIgeCAxMCkKMyBzb2dhciBmdWVyIGRlbiBwcmVpcyB2b24gendlaWVuLi4uCnRvZQpQLlMuOiBzb2xsdGVuIGRhbm4gbnVyIDQ5IHp1c2FtbWVua29tbWVuLCBmdWVyIDEwIHdlaXRlcmUga29taXNjaGUKZXVyb3BhbXVlbnplbiBuZWhtbmUgaWNoIGRhcyBkYW5uIGF1Y2ggbm9jaCwgZ2VybmUgbWl0IHVudGVyc2NocmlmdGVuLi4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogdHNoaXJ0cyAtPiBmb2xpZW5kcnVjayAoS2VscmlzLCAxOS4gSnVsIDIwMDMsIDAxOjA5OjIyKToKfiMhIHJuPVRvZSBydD0xMDU4NTY5NTQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODQ0MjI3NApIdWh1LAppY2ggd3VlcmRlIGRhbm4gYXVjaCAyIG5laG1lbiBlaW5tYWwgZnVlciBLZWxyaXMgZWlubWFsIGZ1ZXIgSWRsZWZpeCBHZWxkIHphaGwKaWNoIEJhciBvZGVyIHBlciBVZWJlcndlaXN1bmcgd2llcyBnZXJhZGUgZ2V3dWVuc2NodCB3aXJkLgoKR3J1c3MsIEtlbHJpcyAoU2llYmRydWNrLVJFVFRFUikuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiB0c2hpcnRzIC0+IGZvbGllbmRydWNrIChHbm9tZSwgMTkuIEp1bCAyMDAzLCAxMDozMjowMSk6Cn4jISBybj1LZWxyaXMgcnQ9MTA1ODU2OTc2MiByZz1wYXJ0eQp+IyEgdGlkPTEwNTg0NDIyNzQKaWNoIGthbm4gZ2VybmUgcnVtZnJhZ2VuLgpkYXMgcHJvYmxlbSB3aXJkIGFiZXIgc2VpbiwgZGFzcyBlaW5pZ2UgYmlzIHp1ciBwYXJ0eSBnYXIgbmljaHQgbWVocgplaW5nZWxvZ2d0IHNlaW4gd2VyZGVuLi4uCgphYmVyIG1hbCBzY2hhdWVuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHRzaGlydHMgLT4gZm9saWVuZHJ1Y2sgKEdub21lLCAxOS4gSnVsIDIwMDMsIDEwOjQzOjAyKToKfiMhIHJuPUdub21lIHJ0PTEwNTg2MDM1MjEgcmc9cGFydHkKfiMhIHRpZD0xMDU4NDQyMjc0CmFiZ2VzZWhlbiBkYXZvbjogbWlyIGZhZWxsdCBncmFkZSBhdWYsIGRhc3MgZGllIHplaXQgZGFmdWVyIGVoIG5pY2h0Cm1laHIgcmVpY2h0Lgp3ZW5uIGljaCBkaWUgYmVzdGVsbHVuZyBhbSBkaWVuc3RhZyBtYWNoZSAod2FzIGd1dCBnZXJlY2huZXQgaXN0LCBkZW5uCmJpcyBkaWVuc3RhZyB3YXJlbiBiZXN0aW1tdCBuaWNodCBhbGxlIGltIG11ZCksIHVuZCBkZXIgc2llYmRydWNrIGFiZXIKZXR3YSAxNCB0YWdlIGJyYXVjaHQsIHVtIGhlcmdlc3RlbGx0IHp1IHdlcmRlbiwgaGVpc3N0IGRhcywgaWNoIGtvZW5udGUKZXVyZSBzaGlydHMgZGFubiBtaXQgZGVyIHBvc3QgbmFjaCBoYXVzZSBzY2hpY2tlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUQVVDSEVOIElNIE5ZTVBIRU5TRUUgKE11YWRpYiwgMjEuIEp1bCAyMDAzLCAyMDowOToyNik6CkhpLAoKZGEgaWNoIGJpc2hlciBrZWluZSBJbmZvcyBoYWJlIHN0ZWxsZSBpY2ggaGllciBkaWUgRnJhZ2Ugbm9jaG1hbDoKV2FubiB0YXVjaGVuIHdpciBpbSBOeW1waGVuc2VlPyBXbyBrYW5uIG1hbiB3YXMgbGVpaGVuPyBXYXMga29zdGV0IGRhcz8gTXVzcwptYW4gR2VuZWhtaWd1bmdlbiBiZWFudHJhZ2VuPyBXZXIgbWFjaHQgZGFzPyAKQmV2b3IgaWNoIGFtIERvbm5lcnN0YWcgbWVpbiBHZXJvZWRlbCBmdWVyIHVtbWUgcnVtc2NobGVwcGUsIGRhIGtvbW0gaWNoIGFuLAp3dWVzc3RlIGljaCBkYXMgc2Nob24gZ2VybmUuCldlciBoYXQgZGVubiBkYSBkaWUgRmFlZGVuIGluIGRlciBIYW5kPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRBVUNIRU4gSU0gTllNUEhFTlNFRSAoVmFyZGlvbiwgMjMuIEp1bCAyMDAzLCAxMDoxNDo0Mik6Cn4jISBybj1NdWFkaWIgcnQ9MTA1ODgxMDk2NiByZz1wYXJ0eQp+IyEgdGlkPTEwNTg4MTA5NjYKVm9yZ2VzZWhlbmVyIFRlcm1pbiBpc3QgbW9tZW50YW4gRnJlaXRhZyBWb3JtaXR0YWcuIEV2dGwuIHRhdWNoZW4gd2lyIGF1Y2gKbm9jaCBhbSBTYW1zdGFnLgpEaWUgR2VuZWhtaWd1bmcgaXN0IGdlZ2VuIDUgRVVSL05hc2Ugdm9uIGRlbSBvZXJ0bGljaGVuIFRhdWNodmVyZWluIHp1CmVyaGFsdGVuLiBMZWloZW4ga2FubiBtYW4gZGEgYWxsZXJkaW5ncyBuaXguClp1bSBMZWloZW4gZ2lidHMgZWluZSAxNGttIGVudGZlcm50ZSBUYXVjaHNjaHVsZSwgZGllIHdpciBiaXNoZXIgYWxsZXJkaW5ncwpub2NoIG5pY2h0IGVycmVpY2h0IGhhYmVuIChnZWh0IGtlaW5lciBhbnMgVGVsZWZvbikuCkhhdXB0b3JnYW5pc2F0b3IgZGVyIFNhY2hlICgiRmFlZGVuIGluIGRlciBIYW5kIikgaXN0IE1lc2lyaWkuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRBVUNIRU4gSU0gTllNUEhFTlNFRSAoWm9vaywgMjMuIEp1bCAyMDAzLCAxMDozNDo1NCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNTg5NDgwODIgcmc9cGFydHkKfiMhIHRpZD0xMDU4ODEwOTY2CkdpYnRzIGRhIGVpZ2VudGxpY2ggd2FzIHp1bSBLbGV0dGVybiBpbiBkZXIgTmFlaGU/IDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUQVVDSEVOIElNIE5ZTVBIRU5TRUUgKE11YWRpYiwgMjMuIEp1bCAyMDAzLCAxMDo1NToxOSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNTg5NDgwODIgcmc9cGFydHkKfiMhIHRpZD0xMDU4ODEwOTY2CmRpZSBnZW5laG1pZ3VuZyBtdXNzIG1hbiBiaXMgd2FubiBiZWFudHJhZ2VuID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRBVUNIRU4gSU0gTllNUEhFTlNFRSAoWm9vaywgMjMuIEp1bCAyMDAzLCAxMDo1NTozMSk6Cn4jISBvbj1ab29rIG90PTEwNTg5NTA0Njggb2c9c2NobWFycm4KfiMhIHJuPVZhcmRpb24gcnQ9MTA1ODk1MDM3OSByZz1zY2htYXJybgp+IyEgdGlkPTEwNTg4MTA5NjYKCk9oLCBpY2ggd3VlcmRlIHNjaG9uIG1laW4gS2xldHRlcmtyYW0gZWlucGFja2VuLi4uIAoKQWJlciBkYXMgbmFlY2hzdGUsIHdhcyBpY2gga2VubmUsIGlzdCBkZXIgVHVybSBhdWYgZGVtIFRldWZlbHNiZXJnIHVuZCBkZXIKaXN0IG51ciBmdWVyIERBVi1NaXRnbGllZGVyIG9mZmVuLi4uCgpOYWphLCB0YXVjaHQgSWhyIG1hbCBzY2hvZW4gdW5kIGljaCBsYXNzIG1laW4gR2VsdW1wIHp1IEhhdXNlLi4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVEFVQ0hFTiBJTSBOWU1QSEVOU0VFIChWYXJkaW9uLCAyMy4gSnVsIDIwMDMsIDExOjIyOjIyKToKfiMhIHJuPU11YWRpYiBydD0xMDU4OTUwNTE5IHJnPXBhcnR5Cn4jISB0aWQ9MTA1ODgxMDk2NgpHdXRlIEZyYWdlLi4uIGRpZSBpY2ggbmljaHQgYmVhbnR3b3J0ZW4ga2Fubi4gTWFsIHNlaGVuLCB3YW5uIE1lc2lyaWkgd2llZGVyCmF1ZndhY2h0LgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVEFVQ0hFTiBJTSBOWU1QSEVOU0VFIChCYW1iaSwgMjMuIEp1bCAyMDAzLCAxMjoyNjoxNSk6Cn4jISBvbj1CYW1iaSBvdD0xMDU4OTU1OTU3IG9nPXNjaG1hcnJuCn4jISBybj1WYXJkaW9uIHJ0PTEwNTg5NTAzNzkgcmc9c2NobWFycm4KfiMhIHRpZD0xMDU4ODEwOTY2Ckthbm4gbWFuIGRvcnQgbGVnYWwgYXVmIExldXRlIHNjaGllc3Nlbj8gRXJyLi4uIGthbm4gbWFuIGRhIFBhaW50YmFsbCBzcGllbGVuCmluIEJlcmxpbiAob2RlciB3byBhdWNoIGltbWVyIHdpciBnZW5hdSBzZWluIHdlcmRlbik/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYXVjaGVuIGltIE55bXBoZW5zZWUgKE1lc2lyaWksIDIzLiBKdWwgMjAwMywgMTI6Mjk6MzQpOgoKSGFsbG8sCgpzb3JyeSwgZGFzcyBlcyBuaWNodCBzY2huZWxsZXIgZ2VnYW5nZW4gaXN0LCBhYmVyIGljaCBoYXR0ZSBldHdhcyB6dXZpZWwKenUgdHVuLCB1bmQgZGFzIGdhbnplIHdhciBhdWNoIGV0d2FzIHphZWguIEFsc28gZGVyIFRhdWNoY2x1YiBkb3J0IGhhdCBudXIKMyBGbGFzY2hlbiBvZGVyIHNvIHVuZCB2ZXJsZWlodCBkaWUgYXVjaCBudXIgYW4gSWhyZSBNaXRnbGllZGVyIChhdWNoIHdlbm4Kc2llIHNvbnN0IGdhbnogbmV0dCB3YXJlbikuCgpUYXVjaGVuIGtvc3RldCBwcm8gVGFnIDUgRVVSLCBtdXNzIHZvcmhlciBhbmdlbWVsZGV0IHdlcmRlbiAoZ2VodCB1ZWJlciBkZW4KQmFkZW1laXN0ZXIgZGEpLgoKR2VwbGFudCBpc3QgYW0gRnJlaXRhZyB2b3JtaXR0YWcgdGF1Y2hlbiB6dSBnZWhlbi4gRGEgc29sbHRlIG5pY2ggc292aWVsCkJhZGViZXRyaWViIHNlaW4/CldpciBtdWVzc2VuIHZvbSBCYWRlc3RyYW5kIGF1cyByZWlubGF1ZmVuLgoKVGF1Y2hsYWRlbiBnaWJ0IG5pY2h0IGRpcmVrdCBpbSBPcnQsIGljaCBoYWJlIGFiZXIgaW4gU3BhbmRhdSBlaW5lbgphdXNmaW5kaWcgZ2VtYWNodCwgZGVuIGljaCBuYWNoIGVpbmlnZXIgWmVpdCBhdWNoIGVycmVpY2h0IGhhYi4gRGVyIGlzdCAxNAprbSB2b24gQnJpZXNlbGFuZyB3ZWcsIGxhdXQgQXVzc2FnZSBkZXMgQmVzaXR6ZXJzIGlzdCBtYW4gaW4gbmVyIGhhbGJlbgpTdHVuZGUgZG9ydC4KCkluaC46IFAuV2Vpc3MKSGFzZW5tYXJrIDUKMTM1ODUgQmVybGluLVNwYW5kYXUKClRlbDogMDMwLyAzMzMgODAgOTUKRmF4OiAwMzAvIDMzMyA5OSA3MQoKT2VmZm51bmdzemVpdGVuOgpNbyxEaSxNaSAxMi0yMCBVaHIKRG8sRnIgMTItMTkgVWhyClNhIDEwLTEzIFVocgoKRXIgaGF0IGdlbnVnIEZsYXNjaGVuIChpY2ggaGFiIHVudmVyYmluZGxpY2ggZXJzdG1hbCAxMiBnZXNhZ3QgdW5kIGF1Y2gKYW5kZXJlcyBaZXVncywgd2VyIHNwZXppZWxsZSBXdWVuc2NoZSBoYXQgc29sbHRlIGRpcmVrdCBiZWkgaWhtIG5hY2hmcmFnZW4uCgpJY2ggaGFiIG1hbCBhdWZnZWxpc3RldCwgd2VyIHNpY2ggYmVpIG1pciBnZW1lbGRldCBoYXQsIHVuZCB3YXMgaWNoIGF1cwpkZW4gTWFpbHMgZW50bmVobWVuIGtvbm50ZSwgd2VyIHdhcyBicmF1Y2h0LiBFbnR3ZWRlciB3aXIgbWFjaGVuIGdldHJlbm50ZQpUYXVjaGdhZW5nZSB1bmQgdmVyc3VjaGVuIChqZSBuYWNoIEdyb2Vzc2UpIHVudGVyZWluYW5kZXIgZGFzIFpldWcKYXVzenVsZWloZW4gb2RlciB3aXIgbXVlc3NlbiBlcyBoYWx0IGJlaW0gVGF1Y2hsYWRlbiBtaXQgbGVpaGVuLgoKQml0dGUgc2FndCBtaXIgQmVzY2hlaWQsIG9iIGRpZXNlIExpc3RlIG5vY2ggc28gc3RpbW10LgoKd2VyZGVuICAgICAgICBicmF1Y2h0IHdhcwpCaXJkeSAgICAgICAgICAgYWJjLCBhbnp1ZywgYmxlaQpPbGxpICAgICAgICAgICAgYWJjPywgYW56dWcsIGJsZWksIHJlZ2xlciwgamFja2V0LCBmbGFzY2hlClZhcmRpb24gICAgICAgICBmbGFzY2hlCk1lc2lyaWkgICAgICAgICBmbGFzY2hlCk11YWRpYiAgICAgICAgICBmbGFzY2hlClplcGh5ciAgICAgICAgICBmbGFzY2hlLCA/Ckdub21lICAgICAgICAgICA/CgpXZW5uIHNpY2ggYWxsZSBnZW1lbGRldCBoYWJlbiBtYWNoZW4gaWNoIGRpZSBBbm1lbGR1bmcgaW0gVGF1Y2hsYWRlbiB1bmQKYmVpbSBCYWRlbWVpc3RlciBmZXN0LgoKU293ZWl0IGVyc3RtYWwKCkdydXNzIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlcmxpbiBoYXQgendhciBrZWluZSBCZXJnZS4uLiAoWm9vaywgMjQuIEp1bCAyMDAzLCAyMToxOTowMyk6Ci4uLiBoYWV0dGUgYWJlciBqbWQuIHZpZWxsZWljaHQgdHJvdHpkZW0gTHVzdCBpbiBCZXJsaW4gYW4gZWluZXIgZGVyIHZpZWxlbgprdWVuc3RsaWNoZW4gS2xldHRlcmFubGFnZW4gcnVtenVrcmF4ZWxuPyAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVybGluIGhhdCB6d2FyIGtlaW5lIEJlcmdlLi4uIChUcm95LCAyNC4gSnVsIDIwMDMsIDIxOjU3OjI4KToKfiMhIHJuPVpvb2sgcnQ9MTA1OTA3NDM0MyByZz1wYXJ0eQp+IyEgdGlkPTEwNTkwNzQzNDMKTWVpbnN0IER1IGRhcyBCcmFuZGVuYnVyZ2VyIFRvciBvZGVyIGRlbiBSZWljaHN0YWc/CgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlcmxpbiBoYXQgendhciBrZWluZSBCZXJnZS4uLiAoWm9vaywgMjQuIEp1bCAyMDAzLCAyMTo1OToxMSk6Cn4jISBybj1Ucm95IHJ0PTEwNTkwNzY2NDggcmc9cGFydHkKfiMhIHRpZD0xMDU5MDc0MzQzCkljaCBnbGF1YmUsIGJlaSBrZWluZW0gdm9uIGJlaWRlbiBzaW5kIGlyZ2VuZHdvIEhha2VuIGluIGRpZSBXYW5kIGdlc2NobGFnZW4sCmtvZW5udGUgYXVjaCBwYXJ0aWVsbCBzZWhyIHNjaHdpZXJpZyB3ZXJkZW4uLi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5ncmF1ZW4tVmVyZWluIFZvbGx2ZXJzYW1tbHVuZyAoQ2F0d2VhemxlLCAyNS4gSnVsIDIwMDMsIDEwOjA0OjE3KToKSmEsIGRpZXMgaXN0IG1vZWdsaWNoZXJ3ZWlzZSBkaWUgcmljaHRpZ2UgUnVicmlrLgoKSWNoIG1vZWNodGUgbm9jaG1hbHMga3VyeiBkYXJhdWYgaGlud2Vpc2VuLCBkYXMgYW0gUGFydHl3b2NoZW5lbmRlIGVpbmUKVm9sbHZlcnNhbW1sdW5nIGRlcyBNb3JnZW5HcmF1ZW4gRm9lcmRlcnZlcmVpbnMgc3RhdHRmaW5kZXQuIEluc2Jlc29uZGVyZQpzdGVoZW4gVm9zdGFuZHN3YWhsZW4gYW4sIG5vY2ggaW5zYmVzb25kZXJlciB3ZXJkZW4gd29obCBlaW5pZ2UKVm9yc3RhbmRzcG9zdGVuIHZha2FudCBzZWluLCBhbSBpbnNiZXNvbmRlcnN0ZW4gZGVyIFBvc3RlbiBkZXMgS2Fzc2Vud2FydHMuIAoKQWxzbywgZmFsbHMgZHUgSW50ZXJlc3NlIGhhc3QsIGFrdGl2ZXIgaW0gVmVyZWluIHp1IHdlcmRlbiwgZGVuayBkb2NoIG1hbAp1ZWJlciBlaW5lbiBWb3N0YW5kc3Bvc3RlbiBuYWNoLiBHZXdhZWhsdCB3ZXJkZW4ga2FubiBqZWRlcyBWZXJlaW5zbWl0Z2xpZWQuCgpXYXMgZGVubiwgZHUgYmlzdCBub2NoIGtlaW4gVmVyZWluc21pdGdsaWVkPyBBYmVyIGhpZXIgbG9ja2VyLCBsdXN0aWcKcnVtc3BpZWxlbiB1bmQgU3Bhc3MgaGFiZW4sIGphPyBEZXIgVmVyZWluIGlzdCBlaW5lIHd1bmRlcnZvbGxlIHVuZCBtaW5pbWFsc3RlCkdlbGVnZW5oZWl0LCBkaWNoIGZ1ZXIgZGllIGdyb3NzYXJ0aWdlIEZyZWl6ZWl0YmVzY2hhZWZ0aWd1bmcsIGRpZSBkaXIgaGllcgpnZWJvdGVuIHdpcmQsIGVpbiBrbGVpbiB3ZW5pZyBlaW56dXNldHplbiB1bmQgZXJrZW5udGxpY2ggenUgemVpZ2VuLiBBbHNvIGFiCm5hY2ggaHR0cDovL21nLm11ZC5kZS9WZXJlaW4vLCBBbnRyYWdzZm9ybXVsYXIgYXVzZnVlbGxlbiB1bmQgYWJzY2hpY2tlbi4gIApIb3BwIEhvcHAgOi0pCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXJsaW4gaGF0IHp3YXIga2VpbmUgQmVyZ2UuLi4gKEdvcm9nLCAyNS4gSnVsIDIwMDMsIDEyOjU3OjUyKToKfiMhIHJuPVpvb2sgcnQ9MTA1OTA3NDM0MyByZz1wYXJ0eQp+IyEgdGlkPTEwNTkwNzQzNDMKUHJpbWEgSWRlZSBab29rLCBoYWIgendhciBnZXJhZGUga2VpbmUgYXVzcnVlc3R1bmcgYWJlciBkaWUgc29sbHRlIGphIHp1CmJla29tbWVuIHNlaW4uCgpHb3JvZyB3aW5rdCBtaXQgZWluZW0gbGVpZGVyIG51ciBHcmFkIDYgRmFlaG5jaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFnZXJmZXVlcm11c2lrPyAoQXBvbGxvbmlhLCAyNS4gSnVsIDIwMDMsIDE3OjE1OjI2KToKQnJpbmd0IGVpZ2VudGxpY2ggaXJnZW5kd2VyIG5lIEtsYW1wZmUgbWl0PyAoYzogTWVpbmUgaXN0IGdyYWQgenVyClJlc3RhdXJhdGlvbiwgYWJlciBzbyduIGJpc3NjaGVuIExhZ2VyZmV1ZXJtdXNpayB3YWVyIGdhciBuaWNoIHNjaGxlY2h0LCBvZGVyPwoKQXBvKgpoYXR0ZSBrdWVyemxpY2ggZXJzdCB3aWVkZXIgbmUgSmFtIFNlc3Npb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYWdlcmZldWVybXVzaWs/IChUcm95LCAyNy4gSnVsIDIwMDMsIDE0OjQwOjQ1KToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDU5MTQ2MTI2IHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTE0NjEyNgpEYWZ1ZXIhCgpUcm95IC0ga2FubiBhYmVyIG51ciBtaXQgZGVyIFJhc3NlbCBkaWVuZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZBUSBOby4gMSAmIDIgKEdub21lLCAyNy4gSnVsIDIwMDMsIDIxOjQ5OjM0KToKMS4gQWIgd2FubiBpc3QgbW9yZ2VuIGptZCBkYT8KICAgLSBHdWFyZCBpc3Qgc2Nob24gc2VpdCBoZXV0ZSBkYSB1bmQgdmVyamFndCBSYXR0ZW4sIFdlcndvZWxmZSwgU2NobGFuZ2VuCiAgICAgdW5kIHNvbnN0aWdlIG5ldHRlIFRpZXJjaGVuLgoKMi4gTXVzcyBtYW4gc2ljaCBCZXN0ZWNrL0dlc2NoaXJyIG1pdGJyaW5nZW4/CiAgLSBKYSwgd2VubiBtYW4gYXVjaCBtaXR0YWdzIHdhcyBXYXJtZXMgZXNzZW4gbW9lY2h0ZS4gRGFubiBtdXNzIG1hbgogICAgc2ljaCBhbGxlcmRpbmdzIG1pdCBlaW5lbSBkZXIgRmFtaWxpZW5idW5nYWxvdy1CZXdvaG5lciBndXRzdGVsbGVuLAogICAgZGVubiBudXIgZGllIGhhYmVuIGVpbmUga2xlaW5lIEhlcmRwbGF0dGUuCiAgICBWZXJnZXNzdCBkZW4gT3JnYS1UZWFtLUJ1bmdhbG93LiBEZXIgaXN0IHRhYnUuIDopCiAgICBNYW4ga2FubiBhYmVyIGF1Y2ggZWluZmFjaCB6dW0gSXRhbGllbmVyIG5lYmVuYW4gZ2VoZW4gKGRpZSBoYWJlbiBuZQogICAgbmV1ZSBCZXdpcnRzY2hhZnR1bmcpIG9kZXIgZWluZW4ga2xlaW5lbiBTcGF6aWVyZ2FuZyBpbnMgRG9yZnplbnRydW0KICAgIG1hY2hlbiB1bmQgZG9ydCBkaWUgSW1iaXNzZS9TdXBlcm1hZXJrdGUgcGx1ZW5kZXJuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwdWsgaW4gQnJpZXNlbGFuZz8gKFNsYXgsIDI4LiBKdWwgMjAwMywgMjA6MDc6MTApOgpIb2kuCkljaCBoYWIgZ2VyYWRlIHZvbiBlaW5lciBGcmV1bmRpbiBhdXMgQmVybGluIGVyZmFocmVuLCBkYXNzIGVzIHVtIGRlbgpCcmllc2VsYW5nZXIgV2FsZCBlaW5lIFNwdWstTGVnZW5kZSBhbGEgQmxhaXIgV2l0Y2ggZ2ViZW4gc29sbC4gQW5nZWJsaWNoCnd1cmRlIGRhIGRlcyBvZWZ0ZXJlbiBlaW5lIGdydWVuZSBMaWNodGVyc2NoZWludW5nIG9kZXIgc293YXMgYWVobmxpY2hlcwpnZXNpY2h0ZXQuIFdlaXNzIGlyZ2VuZGVpbmVyIHZpZWxsZWljaHQgbWVociBkYXJ1ZWJlcj8gV3VlcmRlIG1pY2ggamEgYnJlbm5lbmQKaW50ZXJlc3NpZXJlbi4gClNsYXggdWVidCBzY2hvbm1hbCBQZW50YWdyYW1tZSBtYWxlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcHVrIGluIEJyaWVzZWxhbmc/IChNYXJjdXMsIDI4LiBKdWwgMjAwMywgMjA6MTQ6MDUpOgp+IyEgcm49U2xheCBydD0xMDU5NDE1NjMwIHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTQxNTYzMApodHRwOi8vd3d3LmFsaWVuLmRlL2d1ZW50ZXIvYXJ0aWtlbC9jcl9icmllc2VsYW5nXzEuaHRtCgpWaWVsIFNwYXNzIGJlaSBlaW5lciByZWFsZW4gUmVhbCBMaWZlIFF1ZXN0IDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IGluIEJyaWVzZWxhbmcgd2FyLi4uIChLZWxyaXMsICAzLiBBdWcgMjAwMywgMTY6Mjc6NDIpOgpNb2luIHp1c2FtbWVuLAouLi5zdXBlciEgRXJzdG1hbCB2aWVsZW4gRGFuayBhbiBkYXMgT3JnYXRlYW0uIE1haGFyZXQsIEdub21lIHVuZCBHdWFyZCBoYXR0ZW4Kc2ljaCB2aWVsIE11ZWhlIGdlZ2ViZW4gdW5kIGF1Y2ggZGFmdWVyIGdlc29yZ3QgZGFzIE5hY2h6dWVnbGVyIHdpZSBpY2gsIGRpZQpGcmVpdGFnbmFjaHQgYXVmc2NobHVnZW4sIHNvZm9ydCBpaHJlIEtvamVuIGZhbmRlbiB1bmQgZGllIHdpY2h0aWdzdGVuIE9ydGUKa2VubmVuLiBSYXVjaGVyZWNrZSwgIlN0aWxsZSBPZXJ0Y2hlbiIgdXN3LiA7bykuIEljaCBoYWIgbWljaCBydW5kdW0gd29obApnZWZ1ZWhsdCB1bmQgd2lsbCBtaWNoIG5vY2htYWwgZ2FueiBoZXJ6bGljaCBiZWRhbmtlbi4gVGphIG1laHIgZmFlbGx0IG1pciBpbQpNb21lbnQgbmljaHQgZWluIHVuZCBpY2ggZGVua2UgZGFzIG5vY2ggZ2VudWcgTGV1dGUgZGllc2VuIEFydGlrZWwgZXJnYWVuemVuCndlcmRlbi4KCiprbnVkZGVsKiB1bmQgR3J1c3MgKGluc2Jlc29uZGVyZSBhbiBNYWhhcmV0LCBHdWFyZCB1bmQgR25vbWUpIEtlbHJpcyBpLkEuCklkbGVmaXguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgaW4gQnJpZXNlbGFuZyB3YXIuLi4gKE9sbGksICAzLiBBdWcgMjAwMywgMjA6MDI6NTYpOgp+IyEgcm49S2VscmlzIHJ0PTEwNTk5MjA4NjIgcmc9cGFydHkKfiMhIHRpZD0xMDU5OTIwODYyCkljaCBtYWcgamEgdW5nZXJuICJpY2gtYXVjaCItQXJ0aWtlbCBzY2hyZWliZW4sIGthbm5zIGFiZXIgZ2VyYWRlIG5pY2h0Cmxhc3NlbiA6KQoKSWNoIGZhbmQgZGllIFBhcnR5IGVjaHQgZ2VuaWFsIHVuZCBmaW5kIGVzIHNjaGFkZSwgZGFzcyBzaWUgc2Nob24gd2llZGVyCnZvcmJlaSBpc3QuIFZvbiBkZXIgT3JnYW5pc2F0aW9uIGhlciB3YXIgYWxsZXMgcGVyZmVrdCwgZGFua2UgYW4gZXVjaCEKCk9sbGkKUFM6IHdhbm4ga29tbWVuIGRpZSBGb3Rvcz8KUFBTOiBEYSBtZWhyZmFjaCBkaWUgRnJhZ2UvZGFzIEdlcnVlY2h0IGF1ZmthbTogV2VyIG1laW4gVC1TaGlydCBuaWNodAogICAgIGxlc2VuIGtvbm50ZSAtIGRhIHN0YW5kIGRyYXVmLCBkYXNzIGljaCBOSUNIVCBEcm9sbGkgYmluIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb25uZSwgQmllciB1bmQgd2FzIGVzIGJlZGV1dGV0Li4uIChBcG9sbG9uaWEsICAzLiBBdWcgMjAwMywgMjA6MTU6MTgpOgouLi4gaW0gWmVpdGFsdGVyIGRlciBEaWdpdGFsa2FtZXJhcyBlaW5lIE11ZHBhcnR5IHp1IGJlc3VjaGVuLi4uIGRpZSBGZXRlIGluCkJyaWVzZWxhbmcgd2FyIGVpbiB2b2xsZXIgRXJmb2xnLiBVbmQgaWNoIG1vZWNodGUgbWljaCB2b3IgYWxsZW0gbm9jaCBiZWkKVGFzc3JhbSB1bmQgVmFuSGVsc2luZyBiZWRhbmtlbiB1bmQgYWxsIGRlbiBhbmRlcmVuLCBkaWUgYXVzZ2V6ZWljaG5ldGUKQmFieXNpdHRlciBhYmdlZ2ViZW4gaGFiZW4gKGM6CgpEYW5rZSBFdWNoIGFsbGVuLiBVbmQgZGlja2VuIEtudXRzY2hlciBhbiBHdWFyZCwgR25vbWUgdW5kIGRpZSBwdXR6aWdlCk1haGFyZXQuCgpBcG8qCmltIE1vbWVudCBnYW56IHNjaG9lbiBrLm8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXMgZGVtIExvZ2ZpbGU6IChUaHVmaGlyLCAgMy4gQXVnIDIwMDMsIDIyOjEwOjE5KToKRWluIE1lbnNjaCB1bmQgZWluIEVsZiBiZWltIFNjaHdpbW1lbiBpbSBOeW1waGVuc2VlLiBNZW5zY2ggemVpZ3QgbWl0IERhdW1lbgp1bmQgWmVpZ2VmaW5nZXIgZWluZW4gQWJzdGFuZCB2b24gMiBjbSB1bmQgbWVpbnQgIlNvIGthbHQhIi4gRWxmOiAiTmEgZGFubgptYWNoIG1hbCBoYWxiIGxhbmcuIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsZGVyLi4uIChab29rLCAgMy4gQXVnIDIwMDMsIDIyOjMxOjUxKToKLi4uIGdpYnQgZXMgZGFuayBCb2luZ3MgbmV1ZXIgRGlnaWNhbSBiZXNvbmRlcnMgc2NobmVsbC4gRXMgbGViZSBkZXIgCnRlY2huaXNjaGUgRm9ydHNjaHJpdHQuCgpLb3JyZWt0dXJlbiBvLmFlLiBiaXR0ZSBhbiBkZW4gQXV0b3IgKEJvaW5nKSBzY2hpY2tlbiwgZGFubiBrYW5uIGRlciBtaXIgCmVpbmVuIGFrdHVhbGlzaWVydGVuIEluZGV4IHp1a29tbWVuIGxhc3Nlbi4KCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGFydHkgKE11YWRpYiwgIDMuIEF1ZyAyMDAzLCAyMjozNDowNik6CndlciBuaWNodCBkYSB3YXIgaGF0IHdhcyB2ZXJwYXNzdAptYXNzaWcgZGFuayBhbiBkYXMgb3JnYXRlYW0gdW5kIGF1Y2ggbm9jaG1hbCBleHRyYSBhbiBiaXJkeSBmdWVyIGRpZQpiYWhucmV0dHVuZyAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWxkZXIuLi4gKFpvb2ssICAzLiBBdWcgMjAwMywgMjI6MzU6MTYpOgp+IyEgcm49Wm9vayBydD0xMDU5OTQyNzExIHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTk0MjcxMQpVUkw6IGh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMjMKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXVzIGRlbSBMb2dmaWxlOiAoUm9jaHVzLCAgMy4gQXVnIDIwMDMsIDIzOjI5OjA3KToKfiMhIHJuPVRodWZoaXIgcnQ9MTA1OTk0MTQxOSByZz1wYXJ0eQp+IyEgdGlkPTEwNTk5NDE0MTkKQmlyZHk6IEljaCBiaW4gYXVmZ2V3YWNodCBhbHMgUGF0cnluIGdla29tbWVuIGlzdCAtIGRhcwpCZXR0IGhhdCBkYWJlaSBzbyBnZXF1aWV0c2NodC4KCk5vbm5lIHp1IEVsYmVyZXQ6IEdpYiBtaXIgRGVpbmUgQnJ1c3QhCgpBbGxlIFppdGF0ZSBuYXR1ZXJsaWNoLCB3aWUgaW1tZXIsIHZvZWxsaWcgYXVzIGRlbSBadXNhbW1lbmhhbmcgZ2VyaXNzZW4gOikKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXVzIGRlbSBMb2dmaWxlOiAoQXBvbGxvbmlhLCAgNC4gQXVnIDIwMDMsIDA3OjQ0OjIzKToKfiMhIHJuPVJvY2h1cyBydD0xMDU5OTQ2MTQ3IHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTk0MTQxOQpEYXMgaXN0IG5pY2ggdm9sbHN0YWVuZGlnLiBOb25uZSBzYWd0ZSB3b2VydGxpY2g6IEVsYmksIGdpYiBtaXIgRGVpbmUgQnJ1c3QsCmljaCBicmF1Y2ggZGFzIGpldHp0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbm5lLCBCaWVyIHVuZCB3YXMgZXMgYmVkZXV0ZXQuLi4gKE1haGFyZXQsICA0LiBBdWcgMjAwMywgMTA6MTI6NTEpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNTk5MzQ1MTggcmc9cGFydHkKfiMhIHRpZD0xMDU5OTM0NTE4CkljaCBiaW4gbmljaHQgcHV0emlnLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVjaCBpY2ggKE1lc2lyaWksICA0LiBBdWcgMjAwMywgMTE6MTE6MjcpOgoKd2lsbCBtaWNoIGdhbnogZG9sbGUgYmVpIGRlbiBPcmdhbmlzYXRvcmVuIGZ1ZXIgZGllIHN1cGVyLWd1dGUgUGFydHkKYmVkYW5rZW4sIHNpZSB3YXIgd2llIGltbWVyIHp3YXIgdmllbCB6dSBrdXJ6LCBhYmVyIHNlaHIgZXJob2xzYW0gdHJvdHoKZnJ1ZWhlbiBJbnNiZXR0Z2VoZW5zLiBFbmRsaWNoIG1hbCB3aWVkZXIgbmUgR2VsZWdlbmhlaXQgbWl0IGRlbiBhbmRlcmVuCmFsdGVuIFNhZWNrZW4genUgcXVhdHNjaGVuLCBzcGllbGVuLCBzY2h3aW1tZW4gdW5kIHRhdWNoZW4uIFdhcyBzaWNoIGluCmRlbiBsZXR6dGVuIEphaHJlbiBuaWNodCBnZWJlc3NlcnQgaGF0LCBpc3QgZGFzIFNjaHdhZWNoZWxuIGRlciBIYXVwdG1hc3NlCjopLgoKQXVjaCBkYXMgc2ljaCBpbSBWZXJlaW4gamV0enQgaG9mZmVudGxpY2ggd2llZGVyIGV0d2FzIG1laHIgdHV0IC0KKmRhdW1lbmRydWVjayogYW4gZGVuIG5ldWVuIFZvcnN0YW5kIC0gTWFoYXJldCwgQ2F0dHkgdW5kIEFuYXRvbCBpc3QgZWluZQpndXRlIFNhY2hlLgoKTm9jaG1hbCBEYW5rZSBhbiBkYXMgT3JnYS1UZWFtIEJyaWVzZWxhbmcgLSB2b3IgYWxsZW0gTWFoYXJldCwgR3VhcmQgdW5kCkdub21lIGZ1ZXIgYWxsIGRpZSBBcmJlaXQgZGllIHNpZSBzaWNoIGZ1ZXIgZGVuIEhhdWZlbiBNdWRkZXIgYXVmZ2VidWVyZGV0CmhhYmVuIHVuZCBkYXMgbGVja2VyZSBFc3NlbiB2b24gU2Ftc3RhZyBBYmVuZCAobmFjaCA1IFRlbGxlcm4gTnVkZWxzYWxhdApoYXQgbml4IG1laHIgcmVpbmdlcGFzc3QpCgoKR3J1c3MgTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIG11c3MgZXMgYXVjaCBub2NoIG1hbCBzYWdlbiEgKFJvbGFuZCwgIDQuIEF1ZyAyMDAzLCAxMzo0OTo1OCk6CgprdXJ6CkRJRSBQQVJUWSBXQVIgU1BJVFpFCmxhbmcgOikKClJvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VwZXIgcGFydHkgKENhc3NhbmRyYSwgIDQuIEF1ZyAyMDAzLCAxMzo1MjoyMSk6ClZpZWxlbiBkYW5rIGFucyBPcmdhLVRlYW0KRGllIFBhcnR5IHdhciBTdXBlciwgYWJlciB3aWUgaW1tZXIgdmllbCB6dSBrdXJ6LgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdXBlciBwYXJ0eSAoSHVtbmksICA0LiBBdWcgMjAwMywgMTQ6NTU6NDUpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwNTk5OTc5NDEgcmc9cGFydHkKfiMhIHRpZD0xMDU5OTk3OTQxClNvLCBpY2ggYmluIG1pdHRsZXJ3ZWlsZSAobWl0IFp3aXNjaGVuc3RvcCBiZWkgTWFnZGFsZW5hIHdlaWwgbXVlZGUpIGF1Y2gKd2llZGVyIHp1aGF1c2UgdW5kIHdvbGx0ZSBhdWNoIG51ciBub2NobWFsIGdhbnogZ2FueiBsYXV0IGRyZWkgYmVzdGltbXRlbgpQZXJzb25lbiBlaW4gZGlja2VzIERBTktFIFNDSE9FTiEgaW5zIE9ociBicnVlbGxlbi4gSG9mZmUsIGRhcyBoYXQgbnVuIGplZGVyCmdlaG9lcnQuIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsYXNzZSBQYXJ0eSAuLi4gYWJlciAuLi4uIChWYW5pb24sICA0LiBBdWcgMjAwMywgMTU6NTg6NDUpOgoKQWxzbywgd2VubiBpY2ggc2Nob24gaGllciBpbiBkZXIgUnVicmlrIHNjaHJlaWJlbiBtdXNzLCBkYW5uIGJlZGFua2UgaWNoIG1pY2gKZXJzdG1hbCByZWNodCBhcnRpZyBiZWkgZGVuIE9yZ2Ency4gSGF0IHN1cGVyIGdla2xhcHB0IHVuZCBpY2ggaGF0dGUgbGFuZ2UKbmljaHQgc28gZWluZW4ga2xhc3NlIFVybGF1Yi4KCk51biBkYXMgQWJlcjoKCk1laW4gRG9jIGhhdCBtaWNoIGdyYWQgd2VnZW4gVmVyZGFjaHQgYXVmIFdpbmRwb2NrZW4ga3JhbmsgZ2VzY2hyaWViZW4uIERhIGRhcwpaZXVnIHNhdWFuc3RlY2tlbmQgaXMsIGRhY2h0ZSBpY2ggbWlyLCBlcyBpc3QgYmVzc2VyLCBkYXMgaGllciBtYWwga3VuZHp1dHVuLAphdWNoIHdlbm4gZXMgbWlyIHBlaW5saWNoIGlzdC4gOi8KClp3YXIgdmVybGF1ZmVuIFdpbmRwb2NrZW4gaW0gTm9ybWFsZmFsbCBndXRhcnRpZywgZ2VodCBhYmVyIHRyb3R6ZGVtIGxpZWJlcgp6dW0gRG9jLCB3ZW5uIGlociBtZWludCwgenUgdmllbGUga29taXNjaGUgQmxhZXNjaGVuIHp1IGhhYmVuLgoKViosIHNpY2gga3JhdHplbmQuClBTOiBJY2ggc2NocmVpYiBkaWUgTWFpbCBuaWNodCwgdW0gR2VuZXN1bmdzd3VlbnNjaGUgenUgc2FtbWVsbi4gRXMgaXN0CiAgICBhbGxlcyBpbiBhbGxlbSByZWNodCBlcnRyYWVnbGljaCB1bmQgd2lyZCBzY2hvbiB3aWVkZXIgYmVzc2VyLiBCaXR0ZQogICAgc2VodCB2b24gdG0tVGVycm9yIHVuZCB1bm5vZXRpZ2VuIFJlcGx5cyBhYiA6KQpQUFM6SWNoIGJpbiBrZWluIEFyenQsIGZyYWd0IG1pciBhbHNvIGJpdHRlIGtlaW5lIExvZWNoZXIgaW4gZGVuIEJhdWNoLgogICAgTmV1Z2llcmlnZSBrb2VubmVuIGphIHVudGVyIHd3dy5uZXRkb2t0b3IuZGUgbmFjaGxlc2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRpZSBwYXJ0eS4uLiAoR25vbWUsICA0LiBBdWcgMjAwMywgMTg6MTg6MTkpOgouLi5pc3QgbnVuIHZvcnVlYmVyIHVuZCB3YXIgd2lya2xpY2gga2xhc3NlLCBhdWNoIGZ1ZXIgdW5zLgphbiBkaWVzZXIgc3RlbGxlIG1vZWNodGVuIHdpciB1bnMgYmVpIGV1Y2ggYmVkYW5rZW4sIGRlbm4gb2huZQptdWRkZXIga2VpbmUgcGFydHkuIGlociBoYWJ0IGV1Y2ggZWluaWdlcm1hc3plbiBpbSByYWhtZW4gZ2VoYWx0ZW4sCmVzIGdhYiBrZWluIHBvbGl6ZWlhdWZnZWJvdCB2b3IgZGVyIGhlcmJlcmdlIHVuZCBhbSBzb25udGFnIG1vcmdlbgpoYWJlbiBlaW5pZ2Ugdm9uIGV1Y2ggc29nYXIgZ2Vob2xmZW4sIGF1Znp1cmFldW1lbi4gOikKaGVyemxpY2hlbiBkYW5rIGRhZnVlci4KCmxlaWRlciBnYWJzIG5vY2ggZWluaWdlIHByb2JsZW1lIG1pdCBkZXIgenVndmVyYmluZHVuZyBpbiBmaW5rZW5rcnVnLgpkYXMgaGF0dGVuIHdpciBuaWNodCBnZXd1c3N0LCBuYWVjaHN0ZW1hbCB3aXJkcyBiZXNzZXIuIDopCgpnbk9tZSwgaS4gQS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGFzc2UgUGFydHkgLi4uIGFiZXIgLi4uLiAoR2xvaW5zb24sICA0LiBBdWcgMjAwMywgMTk6NDA6MjQpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNjAwMDU1MjUgcmc9cGFydHkKfiMhIHRpZD0xMDYwMDA1NTI1CkRhcyBzaW5kIGhvZWNoc3R3YWhyc2NoZWlubGljaCBrZWluZSBXaW5kcG9ja2VuLiBJcmdlbmR3aWUgc2VpZCBpaHIgYWxsZSAKZnVlciBNdWRkZXIgdmVyZGFtbXQgbGVzZXJlc2lzdGVudC4gQW0gRWluZ2FuZyBkZXMgQmFkZXMgaGluZyBlaW4gCmRpY2h0YmVzY2hyaWViZW5lciBaZXR0ZWwsIGRlciBkYXJhdWYgaGlud2llcyBkYXNzIGVpbiBQYXJhc2l0IChpcmdlbmQgZWluIApXdXJtLCAxIG1tKSB3ZWxjaGVyIHNpY2ggZGllIEVudGVuIChkYWhlciBhdWNoIGRhcyBlYmVuZmFsbHMgdm9yaGFuZGVuZSAKRnVldHRlcnVuZ3N2ZXJib3QpIGFscyBad2lzY2hlbndpcnQgYXVzc3VjaHQgc2ljaCBpbiBsZXR6dGVyIFplaXQgZG9ydCAKbWFzc2l2IHZlcm1laHJ0IGhhZXR0ZS4KTGVpZGVyIHZlcmlycmUgZGVyIHNpY2ggYXVjaCBtYW5jaG1hbCB6dSBNZW5zY2hlbiB1bmQga25hYmJlcmUgc2ljaCAKZmVobGVyaGFmdGVyd2Vpc2UgaW4gZGllc2UgaGluZWluLCB3YXMgenUgSGF1dHJvZXR1bmdlbiB1bmQgQXVzc2NobGFlZ2VuIApmdWVocmUgZGllIGFiZXIgbmljaHQgZ2VzdW5kaGVpdHNnZWZhZWhyZGVuZCBzZWllbi4gVW5kIGVzIGZ1ZWhydCB3b2hsIGF1Y2ggCmRhenUsIGRhc3MgZGVyIFd1cm0gc2VpbmVuIEVuZHdpcnQgZ2VmdW5kZW4gaGF0IDspCkRpZXNlIFd1ZXJtY2hlbiB0cmFldGVuIGluIE5hZWhlIGRlcyBTY2hpbGZlcyByZWNodCBrb256ZW50cmllcnQgYXVmLiAKRGllamVuaWdlbiBkaWUgbWl0IG1pciBiYWRlbiB3YXJlbiBoYWJlbiBtaWNoIGJlaSBkZXIgUGxhdHpzdWNoZSBhdWNoIApkaWVzYmV6dWVnbGljaCBqYW1tZXJuIGhvZXJlbi4gTmljaHRzZGVzdG90cm90eiBoYWIgaWNoIGRhIGF1Y2ggendpc2NoZW4gMjAgCnVuZCAzMCBTdGVsbGVuIHp1bSBTY2h1YmJlcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtsYXNzZSBQYXJ0eSAuLi4gYWJlciAuLi4uIChCYW1iaSwgIDUuIEF1ZyAyMDAzLCAwOToxNDo1Myk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDYwMDE4ODI0IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MDAwNTUyNQpXaWUgZ2VuYXUgc2VoZW4gZGllc2UganVja2VuZGVuIFN0ZWxsZW4gYXVzPyBLYW5uIG1hbiBkYXMgYXVjaCBiZWtvbW1lbiwgd2VubgptYW4gbmljaHQgaW0gU2VlIGJhZGVuIHdhcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtsYXNzZSBQYXJ0eSAuLi4gYWJlciAuLi4uIChBcG9sbG9uaWEsICA1LiBBdWcgMjAwMywgMDk6NTc6MzkpOgp+IyEgcm49QmFtYmkgcnQ9MTA2MDA2NzY5MyByZz1wYXJ0eQp+IyEgdGlkPTEwNjAwMDU1MjUKV2VubidzIFdpbmRwb2NrZW4gc2luZCwgZ2lidCdzIGVyc3Qgcm90ZSBRdWFkZGVsbiB1bmQgZGFubiBtaXQgRmx1ZXNzaWdrZWl0CmdlZnVlbGx0ZSBrbGVpbmUgQmxhZXNjaGVuIGRyYXVmLiBVbmQgZGllIGp1Y2tlbiB3aWUgZGllIEhvZWxsZS4KCkF1c3NlcmRlbSBzb2xsdGUgZXMgbmVtIEVyd2FjaHNlbmVuIHppZW1saWNoIHNjaGVpc3NlIGdlaGVuLCB3ZW5uIG1hbiBpbiBkZW0KQWx0ZXIgV2luZHBvY2tlbiBrcmllZ3QsIGRhcyB2ZXJwYWNrdCBtYW4gbmljaHQgbWVociBzbyBsZWljaHQgd2llIGFscyBLaW5kLgoKQXBvKgptaXQgV2luZHBvY2tlbmVyZmFocnVuZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2xhc3NlIFBhcnR5IC4uLiBhYmVyIC4uLi4gKFBhcmRhdXosICA1LiBBdWcgMjAwMywgMTE6MzI6MDIpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNjAwNzAyNTkgcmc9cGFydHkKfiMhIHRpZD0xMDYwMDA1NTI1CkdlbmF1LiBSb3RlLCBqdWNrZW5kZSBGbGVja2VuIHVuZCBrbGVpbmUgQmxhZXNjaGVuIC4uIApNZWluIEFyenQgaGF0IG1pY2ggZXJzdG1hbCBrcmFua2dlc2NocmllYmVuLCBlcyBzaW5kIFdpbmRwb2NrZW4uClVuZCBkaWUga29tbWVuIG5pY2h0IGF1cyBkZW0gU2VlLCBkYSB3YXIgaWNoIG5hZW1saWNoIG5pY2h0IDopCgpBbnNvbnN0ZW4gYXVjaCB2b24gbWlyIERhbmsgYW4gZGllIE9yZ2FuaXNhdG9yZW4gdW5kIGFsbCBkaWUgYW5kZXJlbiwKZGllIGR1cmNoIGlocmUgQW53ZXNlbmhlaXQgZGllIFBhcnR5IHp1IGVpbmVtIHZvbGxlbiBFcmZvbGcgZ2VtYWNodCBoYWJlbi4KCkdydXNzCiAgUGFyZGF1egoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2xhc3NlIFBhcnR5IC4uLiBhYmVyIC4uLi4gKEJhYm9vbiwgIDUuIEF1ZyAyMDAzLCAxMjowODo0MSk6Cn4jISBybj1CYW1iaSBydD0xMDYwMDY3NjkzIHJnPXBhcnR5Cn4jISB0aWQ9MTA2MDAwNTUyNQpIdWh1IQoKVW0gbWFsIG1laW4gcHJvZnVuZGVzIEhhbGJ3aXNzZW4ga3VuZHp1dHVuOgoKSWNoIGRlbmtlIGVzIGhhbmRlbHQgc2ljaCBoaWVyIHVtIGRpZSBzb2dlbmFubnRlCkJhZGVkZXJtYXRvc2UuIFZlcnVyc2FjaHQgd2lyZCBzaWUgZHVyY2ggZGllIExhcnZlbgppcmdlbmRlaW5lcyBTYXVnd3VybXMuIERpZSBzdHVlcnplbiBzaWNoIGF1ZiBhbGxlcwp3YXMgaW0gV2Fzc2VyIHNvIHVudGVyd2VncyBpc3QgKFdhcm1ibHVldGVyIG9ubHkpIAp1bmQgYm9ocmVuIHNpY2ggaW4gZGllIEhhdXQuIEFuIExhbmQgYmVzdGVodCBhbHNvIGtlaW5lIEdlZmFoci4gCldlbm4gc28gZWluZSBMYXJ2ZSBlaW5lbiBNZW5zY2hlbiBlcndpc2NodCBibGVpYnQKc2llIGluIGRlciBkaWNrZW4gT2JlcmhhdXQgc3RlY2tlbiB1bmQgdmVycmVja3QuIERhcyBnaWJ0IGRhbm4gZWluZQpFbnR6dWVuZHVuZywgaXN0IGFiZXIgSVJDCmFuc29uc3J0ZW4gaGFybWxvcy4KCgoqYm9vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2xhc3NlIFBhcnR5IC4uLiBhYmVyIC4uLi4gKEdsb2luc29uLCAgNS4gQXVnIDIwMDMsIDEyOjM2OjU0KToKfiMhIHJuPUJhYm9vbiBydD0xMDYwMDc4MTIxIHJnPXBhcnR5Cn4jISB0aWQ9MTA2MDAwNTUyNQpOYSB3ZW5ubiBzaWNoIFBhcmRhdXogc2VpbmVyIFdpbmRwb2NrZW4gc28gc2ljaGVyIGlzdCwgc29sbCBlciBzaWUgZG9jaApiZWhhbHRlbiB1bmQgbmljaHQgdmVydGVpbGVuIDspIEljaCBzY2hsYWdlIHZvciBhbGxlIFF1YWRkZWxiZWRlY2t0ZW4gc29sbHRlCm1hbCBiZWkgZGVuIEVsdGVybiB3ZWdlbiBkZXIgV2luZHBvY2tlbiBuYWNoZnJhZ2VuLgpJY2ggaGF0dGUgZGVmaW5pdGl2IFdpbmRwb2NrZW4gdW5kIGRpZXNlIHdpZGVybGljaCBqdWNrZW5kZW4ga2xlaW5lbiBRdWFkZGVsbgp0YXVjaGVuIHRyb3R6ZGVtIG5vY2ggYXVmICgyLTQgbmV1ZSBoZXV0ZSkuIFppZWhlIG1pY2ggYWxzbyBhdWYgZWluZW4gbGFuZ3NhbQp2ZXJyZWNrZW5kZW4gV3VybSB6dXJ1ZWNrLiBOYWVjaHN0ZXMgTWFsIHN1Y2hlbiB3aXIgdW5zIGRvcmNoIGdsZWljaCBlaW5lbiBTZWUKbWl0IEJpbGhhcnppb3NlLCBobT8gQWNoLCBoYXR0ZSBpY2ggZXJ3YWVobnQsIGRhc3MgZWluIGFuZGVyZXIgU2VlIGNhLiAxMCBtaW4KenUgUmFkIGluIGRlciBHZWdlbnJpY2h0dW5nIGxhZz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtsYXNzZSBQYXJ0eSAuLi4gYWJlciAuLi4uIChDcm9mdCwgIDUuIEF1ZyAyMDAzLCAxMjozODowMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDYwMDc5ODE0IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MDAwNTUyNQpIbS4gV28gc3RhbmQgZGFzIFNjaGlsZCBtaXQgZGVyIEF1ZnNjaHJpZnQgIlNhdWJlcnN0ZXIgU2VlIGltIEhhdmVsbGFuZCI/ICwtKQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtsYXNzZSBQYXJ0eSAuLi4gYWJlciAuLi4uIChab29rLCAgNS4gQXVnIDIwMDMsIDEyOjM4OjUwKToKfiMhIHJuPUNyb2Z0IHJ0PTEwNjAwNzk4ODAgcmc9cGFydHkKfiMhIHRpZD0xMDYwMDA1NTI1CkludGVyZXNzYW50ZXJ3ZWlzZSBiZWVpbnRyYWVjaHRpZ2VuIGRpZSBXdWVybWUgbmljaHQgZGllIGFtdGxpY2hlIERlZmluaXRpb24KZGVyIGhvaGVuIFdhc3NlcnF1YWxpdGFldCwgd2VubiBpY2ggZGllIFByZXNzZW1lbGR1bmdlbiByaWNodGlnIGdlbGVzZW4gCmhhYmUgOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLbGFzc2UgUGFydHkgLi4uIGFiZXIgLi4uLiAoR2xvaW5zb24sICA1LiBBdWcgMjAwMywgMTI6Mzk6MjApOgp+IyEgcm49Q3JvZnQgcnQ9MTA2MDA3OTg4MCByZz1wYXJ0eQp+IyEgdGlkPTEwNjAwMDU1MjUKU28gc2F1YmVyLCBkYXNzIGplZGUgTWVuZ2Uga2xlaW5lciBXdWVybWVyIFN0dW5kZW4gdWViZXJsZWJlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJpbGRlci4uLiAoWm9vaywgIDUuIEF1ZyAyMDAzLCAxMjo1MDo1Nyk6Cn4jISBybj1ab29rIHJ0PTEwNTk5NDI3MTEgcmc9cGFydHkKfiMhIHRpZD0xMDU5OTQyNzExCi4uLiBnaWJ0IGVzIG51biBhdWNoIHZvbiBWaW5jZW50LgoKS29ycmVrdHVyZW4gby5hZS4gYml0dGUgYW4gZGVuIEZvdG9ncmFmZW4gKFZpbmNlbnQpIHNjaGlja2VuLCBkYW5uIGthbm4gZGVyCm1pciBlaW5lbiBha3R1YWxpc2llcmVuIEluZGV4IHp1a29tbWVuIGxhc3Nlbi0tLXVuZCBWaW5jZW50IG1hZyBJbmRpemVzIApiYXN0ZWxuIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlzIChPcmt0b2V0ZXIsICA1LiBBdWcgMjAwMywgMTM6Mzc6NDkpOgpBdWNoIHZvbiBtaXIgZWluIERhbmtlc2Nob2VuIGFuIGRpZSBPcmdhbmlzYXRvcmVuIQpVbmQgZ2xlaWNoIGRpZSBGcmFnZSB3YW5uIGRlbm4gZGllIG5hZWNoc3RlIFNvbW1lcnBhcnR5IHNlaW4gd2lyZD8gV2llIHdhZXJzCm1pdCBIYWxsZT8gQmFkZW4gcnVuZCB1bSBkaWUgVWhyIHdhciBqYSBhdWNoIEtsYXNzZS4uLiBpY2ggdW50ZXJzY2hyZWliIGF1Y2gKZWluZSBQZXRpdGlvbiBkYXNzIGRhcyBTY2h3aW1tYmFkIG5pY2h0IGdlc2NobG9zc2VuIHdpcmQgd2VubnMgbm9ldGlnIGlzdC4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2xhc3NlIFBhcnR5IC4uLiBhYmVyIC4uLi4gKFZhbmlvbiwgIDUuIEF1ZyAyMDAzLCAxMzo1MjowNCk6Cn4jISBybj1WYW5pb24gcnQ9MTA2MDAwNTUyNSByZz1wYXJ0eQp+IyEgdGlkPTEwNjAwMDU1MjUKSGFsbGkgaGFsbG8sCgpXaWUgd2FyIGRhcz8gMiBBZXJ6dGUgPT4gMyBEaWFnbm9zZW4/IEljaCB3YXIgZ3JhZCBub2NobWFsIGJlaSBlaW5lbSBhbmRlcmVuCkFyenQuIE5hY2hkZW0gaWNoIGlobSBkaWUgZ2FuemUgR2VzY2hpY2h0ZSBlcnphZWhsdCBoYWIgKEtlaW5lIGFuZ3N0LCBHbG9pbiwKZGVuIFRlaWwgbWl0IERpciBoYWIgaWNoIGF1c2dlbGFzc2VuICplZyopIG1laW50IGRlci4gV2luZHBvY2tlbiAtIG5lZ2F0aXYuCgpJY2ggL2RhcmYvIGFsc28gZ2xlaWNoIHp1ciBBcmJlaXQgZ2VoZW4uIEljaCBob2ZmZSwgYmVpIGRlbiBhbmRlcmVuIGdlaHQgZGFzCmF1Y2ggc28gZ2xpbXBmbGljaCBhdXMgOykKClYqLCBtdXNzIHdlZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xhc3NlIFBhcnR5IC4uLiBhYmVyIC4uLi4gKFpvb2ssICA1LiBBdWcgMjAwMywgMTM6NTI6NDYpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNjAwODQzMjQgcmc9cGFydHkKfiMhIHRpZD0xMDYwMDA1NTI1ClVuZCB3YXMgd2FyIGRpZSBkcml0dGUgRGlhZ25vc2U/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkZXIuLi4gKFpvb2ssICA1LiBBdWcgMjAwMywgMTQ6MTc6NDkpOgp+IyEgcm49Wm9vayBydD0xMDYwMDgwNjU3IHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTk0MjcxMQouLi4uIHVuZCB2b24gUmFuZ29ybi4KClpvb2sKClBTOiBEZW4gTmFjaHNhdHogc3BhciBpY2ggbWlyIG51bi4KLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZvdG9zIChSb2NodXMsICA1LiBBdWcgMjAwMywgMjM6Mjg6NDYpOgpTbywgZGllIHZvbiBBcG8gc2luZCBqZXR6dCBhdWNoIGRhIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCaWxkZXIuLi4gKFpvb2ssICA2LiBBdWcgMjAwMywgMTA6NDc6MjYpOgp+IyEgcm49Wm9vayBydD0xMDYwMDg1ODY5IHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTk0MjcxMQouLi4gdW5kIHZvbiBEYXlsaWdodC4gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5cyAoQ2Fzc2FuZHJhLCAgNy4gQXVnIDIwMDMsIDEzOjM4OjQ4KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDYwMDgzNDY5IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MDA4MzQ2OQpIYWxsbwpFaW5pZ2Ugd2VyZGVuIGRpZSBBbnR3b3J0IGRlcyBIYWxsZS1PcmdhdGVhbSBoaWVycmF1ZiBzY2hvbiBrZW5uZW4sIGhpZXIgYXVjaApmdWVyIGFsbGUgYW5kZXJlbi4KCldlbm4gc2ljaCBzb25zdCBuaWVtYW5kIG1lbGRldCBtYWNoZW4gd2lyIGRpZSBTb21tZXJwYXJ0eSAyMDA0LgpXZW5uIHNpZSBlaW4gYW5kZXJlciBtYWNoZW4gd2lsbCwgdHJldGVuIHdpciBnZXJuIHp1cnVlY2sgdW5kIHdlcmRlbiB1bnMgbmljaHQKZHJ1bSBzdHJlaXRlbi4KRGllcyBhbGxlcyBzdGVodCBhYmVyIHVudGVyIGRlbSBWb3JiZWhhbHQsIGRhc3MgZXMgZGFzIFNjaHdpbW1iYWQgdW5kIGRhbWl0CmRlbiBaZWx0cGxhdHogbmFlY2hzdGVzIGphaHIgbm9jaCBnaWJ0LiAoSGFsbGUgaXN0IHdpZSB2aWVsZSBTdGFlZHRlIHBsZWl0ZSkuCmljaCBzZWhlIGRhIGFiZXIgZ3V0ZSBDaGFuY2VuLCBkYSBlcyBiZXJlaXRzIG5lIGVudHNwcmVjaGVuZGUgYWt0aXZlCkJ1ZXJnZXJpbml0aWF0aXZlIGdpYnQuCgpDYXNzeQoKUC5TLiBXbyBpc3QgZGllIFdpbnRlcnBhcnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCaWxkZXIuLi4gKFpvb2ssICA3LiBBdWcgMjAwMywgMTU6MjA6NDApOgp+IyEgcm49Wm9vayBydD0xMDYwMTU5NjQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTk0MjcxMQouLi4gdm9uIE1hZ2RhbGVuYS4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCaWxkZXIuLi4gKE5vbm5lLCAgNy4gQXVnIDIwMDMsIDE1OjIyOjA4KToKfiMhIHJuPVpvb2sgcnQ9MTA2MDI2MjQ0MCByZz1wYXJ0eQp+IyEgdGlkPTEwNTk5NDI3MTEKTnVyIDIzIEJpbGRlcj8gSGF0IGRpZSBGcmF1IGtlaW5lIERpZ2l0YWxrYW1lcmE/PyE/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCaWxkZXIuLi4gKFNjaG9rbywgIDcuIEF1ZyAyMDAzLCAxNToyNjo1Mik6Cn4jISBybj1Ob25uZSBydD0xMDYwMjYyNTI4IHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTk0MjcxMQpIbW1tbSwgd2FzIG9kZXIgd2VyIGdlbmF1IHNwaWVnZWx0IHNpY2ggZGEgYXVmIEJpbGQgMTUgaW4gZGVyIFNjaGVpYmU/IE9kZXIKd2lsbCBpY2ggZGFzIGdhciBuaWNodCB3aXNzZW4/IDopCgpTY2hva28gKGVyYWhudCBtYWVjaHRpZ2UgUHJvcG9ydGlvbmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmlsZGVyLi4uIChNdXBmZWwsICA3LiBBdWcgMjAwMywgMTU6MzA6NDcpOgp+IyEgcm49Tm9ubmUgcnQ9MTA2MDI2MjUyOCByZz1wYXJ0eQp+IyEgdGlkPTEwNTk5NDI3MTEKTWFuIGthbm4gbmljaHQgaW1tZXIgYWxsZXMgdmVyb2VmZmVudGxpY2hlbiAuLi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCaWxkZXIuLi4gKFpvb2ssICA4LiBBdWcgMjAwMywgMTA6MTI6MTEpOgp+IyEgcm49Wm9vayBydD0xMDYwMTU5NjQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTk0MjcxMQouLi4gdW5kIHZvbiBNYWhhcmV0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJpbGRlci4uLiAoWm9vaywgIDkuIEF1ZyAyMDAzLCAxMTo0OTowMyk6Cn4jISBybj1ab29rIHJ0PTEwNjAzMzAzMzEgcmc9cGFydHkKfiMhIHRpZD0xMDU5OTQyNzExCi4uLiB2b24gR3VhcmQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmlsZGVyLi4uIChNYWhhcmV0LCAxMC4gQXVnIDIwMDMsIDIwOjQyOjM1KToKfiMhIHJuPVpvb2sgcnQ9MTA2MDMzMDMzMSByZz1wYXJ0eQp+IyEgdGlkPTEwNTk5NDI3MTEKVW5kIHdpZWRlciBtb2VjaHRlIGljaCBkYXJhdWYgaGlud2Vpc2VuLCBkYXNzIGljaCBtaXQgZGVuIEJpbGR1bnRlcnNjaHJpZnRlbgpuaWNodCBkYXMgR2VyaW5nc3RlIHp1IHR1biBoYWIuCgpNYWhhCjpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXVzIGRlbSBMb2dmaWxlOiAoR2xvaW5zb24sIDExLiBBdWcgMjAwMywgMjI6Mjc6NTcpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNTk5NzU4NjMgcmc9cGFydHkKfiMhIHRpZD0xMDU5OTQxNDE5CkRyYWh0YmVlbiB6dSBDYWtleToKICJXYXJ1bSBsZWdzdCBkdSBkYXMgZGFoaW4/IFVuZCB3YXJ1bSBrYXVzdCBkdSBhbGxlcyBhbj8iCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCaWxkZXIuLi4gKE1haGFyZXQsIDEzLiBBdWcgMjAwMywgMTk6MTg6MjYpOgp+IyEgcm49TWFoYXJldCBydD0xMDYwNTQwOTU1IHJnPXBhcnR5Cn4jISB0aWQ9MTA1OTk0MjcxMQpTb2xsdGUgamVtYW5kIEFienVlZ2Ugdm9uIEJpbGRlcm4gaGFiZW4gd29sbGVuIChqYSwgaWNoIGhhYiBub2NoIHNvIHJpY2h0aWcKa2xhc3Npc2NoZSBOZWdhdGl2ZSA7KSApLCBsYXNzZSBlciBvZGVyIHNpZSBlcyBtaWNoIHdpc3Nlbi4KCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJpbGRlci4uLiAoTWFoYXJldCwgMTMuIEF1ZyAyMDAzLCAxOToyMTo0NSk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwNjA3OTUxMDYgcmc9cGFydHkKfiMhIHRpZD0xMDU5OTQyNzExCkRhcyBnaWx0IGF1Y2ggZnVlciBtZWluZSBXaW50ZXJidXJnYmlsZGVyLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2lyIHN1Y2hlbiBlaW4gRm90byAoQXBvbGxvbmlhLCAyMC4gQXVnIDIwMDMsIDA4OjQwOjI5KToKV2VyIHp1ciBIb2VsbGUgaGF0IGRhcyBGb3RvIHZvbiBBbGJvaW4gdW5kIG1pciBnZW1hY2h0PyBEYXMgaXN0IG5vY2ggbmljaHQgaW0KTmV0eiAoYzoKCkFwbyoKd2lsbHMgc2VoZW4gKGM6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2lyIHN1Y2hlbiBlaW4gRm90byAoQWxib2luLCAyMC4gQXVnIDIwMDMsIDA4OjQ0OjE0KToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDYxMzYxNjI5IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MTM2MTYyOQp6dXNhdHo6IGF1ZiBkZW0gRm90byBpc3Qgbm9jaCBNb3Jnb3RoIGRyYXVmLCBkZXIgaG9mZmVudGxpY2ggd2llIG1laXN0ZW5zCnN1ZXNzIGF1c3NpZWh0LgoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5b3J0IFJpZW5lY2sgKFBhZHJlaWMsIDIxLiBBdWcgMjAwMywgMTc6MTA6NTQpOgpJY2ggd2FyIGxldHp0ZXMgV29jaGVuZW5kZSBhdWYgQnVyZyBSaWVuZWNrIHVuZCBrYW5uIGRlbiBPcnQgYWxzIFBhcnR5b3J0IG51cgp3ZWl0ZXJlbXBmZWhsZW4uIEVzIGhhbmRlbHQgc2ljaCB1bSBlaW5lIGtvbXBsZXR0IGVyaGFsdGVuZSBlY2h0ZSBCdXJnIHVuZAprZWluIEJ1ZXJnY2hlbiBtaXQgdmllbCBQbGF0eiwgdW56YWVobGlnZW4gbmV0dGVuIFJhZXVtZW4gdW5kIGd1dGVtIEVzc2VuLgpEaWUgQnVyZyBoYXQgZGV1dGxpY2ggdWViZXIgMTAwIEJldHRlbiwgbWl0IE1hdHJhdHplbmxhZ2VybiB1bmQvb2RlciBaZWx0ZW4Ka29lbm5lbiBhYmVyIGF1Y2ggbG9ja2VyIDE1MCBMZXV0ZSB1bnRlcmdlYnJhY2h0IHdlcmRlbi4gRGllIFByZWlzZSBmaW5kZSBpY2gKbWl0IDQ0LzUzIEV1cm8gZnVlciBlaW4gZ2FuemVzIFdFIG1pdCBWb2xscGVuc2lvbiBzZWhyIGZhaXIgdW5kIFJpZW5lY2sgYWxzClBhcnR5b3J0IHNlaHIgemVudHJhbCBnZWxlZ2VuIChiZWxlZ3QgbWFuIGRpZSBCZXR0ZW4gdm9sbCwgc2luZCB3aWUgZ2VzYWd0CmF1Y2ggTWF0cmF0emVubGFnZXIgbW9lZ2xpY2gsIGRpZSBiZWkgdW5zIG1pdCAzMiBFdXJvIGluY2wuIFZQIGxhZ2VuKS4KSG9tZXBhZ2U6IGh0dHA6Ly93d3cuYnVyZy1yaWVuZWNrLmRlL2RlL2luZGV4Lmh0bQoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5b3J0IFJpZW5lY2sgKFRyb3ksIDIxLiBBdWcgMjAwMywgMTg6MDg6MzkpOgp+IyEgcm49UGFkcmVpYyBydD0xMDYxNDc4NjU0IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MTQ3ODY1NApXZW5uIHdpciBzY2hvbiBkYWJlaSBzaW5kLCBCdXJnZW4gdW5kIFNjaGxvZXNzZXIgYW56dW1pZXRlbjogQmVzb25kZXJzIHNjaG9lbgpzaW5kIGF1Y2guLi4KLi4uZGFzIFNjaGxvc3MgQWx0ZW5oYXVzZW4gYmVpIE1hZ2RlYnVyZzoKICAgaHR0cDovL3d3dy5yZWdpb24tYnJhdW5zY2h3ZWlnLmRlL2J1cmdlbi9vcnRlL2FsdGVuaGF1c2VuLmh0bWwKLi4uZGllIEJ1cmcgSG9oZW5iZXJnIGFuIGRlciBFZ2VyIGJlaSBTY2hpcm5kaW5nOgogICBodHRwOi8vd3d3LmJ1cmdob2hlbmJlcmcuZGUvCgouLi53ZW5uIHZpZWxsZWljaHQgYXVjaCBuaWNodCBzbyB6ZW50cmFsIGdlbGVnZW4uIEJlaWRlIHNpbmQgYWJlciBhdXNwcm9iaWVydAp1bmQgZnVlciBleHRyZW0gYmVmZWllcmJhciBiZWZ1bmRlbiB3b3JkZW4uCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5b3J0IFJpZW5lY2sgKFBhZHJlaWMsIDIxLiBBdWcgMjAwMywgMTk6NTk6NDkpOgp+IyEgcm49VHJveSBydD0xMDYxNDgyMTE5IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MTQ3ODY1NApEYW5uIHNjaHJlaWIgZG9jaCBiaXR0ZSB3YXMgenUgUHJlaXNlbiBldGMuIFRyb3ksIGVpbmZhY2ggbWl0IG5lbSBCdXJnbmFtZW4KdW5kIG5lciBIb21lcGFnZSBhdWYgZGVyIG5peCBzdGVodCBrYW5uIG1hbiBub2NoIG5pY2ggc29uZGVybGljaCB2aWVsCmFuZmFuZ2VuLgoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5b3J0IFJpZW5lY2sgKEFwb2xsb25pYSwgMjIuIEF1ZyAyMDAzLCAwNzoxODo1Nik6Cn4jISBybj1QYWRyZWljIHJ0PTEwNjE0Nzg2NTQgcmc9cGFydHkKfiMhIHRpZD0xMDYxNDc4NjU0CkFsc28gZGFzIGlzdCBqYSBpbiBtZWluZXIgYWx0ZW4gSGVpbWF0IC0gdW5kIGF1ZiBCdXJnIFJpZW5lY2sgd2FyIGljaCBzY2hvbgptYWwsIGRhcyB3YWVyZSBhbHMgUGFydHlvcnQgbWVociBhbHMgZ2VlaWduZXQuCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlvcnQgUmllbmVjayAoQ2Fzc2FuZHJhLCAyMi4gQXVnIDIwMDMsIDEzOjUzOjMzKToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA2MTQ3ODY1NCByZz1wYXJ0eQp+IyEgdGlkPTEwNjE0Nzg2NTQKSGFiIGdyYWQgZGllIFBhZ2UgYW5nZXNlaGVuLiBTaWVodCBndXQgYXVzLCBhYmVyIGd1ZW5zdGlnIGZpbmQgaWNocyBuaWNodApncmFkLiA1MCBFdXJvIGZ1ZXJzIFdvY2hlbmVuZGUgdW5kIGRhenUgd3VlcmRlbiBqYSBub2NoIGRpZSBHZXRyYWVua2UgZnVlciBkaWUKUGFydHkga29tbWVuLiBXZW5uIGljaCBtaWNoIGpldHp0IG5pY2h0IHZlcnR1ZSwgdG9wdCBkYXMgc29nYXIgV2ludGVyYnVyZwo4YXVjaCB3ZW5uIGluIHJpZW5lY2sgZGFzIEVzc2VuIHZlcm11dGxpY2ggYmVzc2VyIGlzdCA6LSkpLiBCZXNzZXIgenUKZXJyZWljaGVuIHdhZXJzIHdvaGwgYWJlci4KCkNhc3NhbmRyYSwgc2ljaCBhbiBkaWUgRGlzc2t1c3Npb24gdWViZXIgZWluIHZpZWwgenUgdGV1cmVzIFdpbnRlcmJ1cmcKZXJpbm5lcm50CgpQLlMuIEphIGljaCB3YXIgaW4gd2ludGVyYnVyZyB1bmQgd3VlcmQgYXVjaCBub2NoIGRpZSAxMCBFdXJvIGZ1ZXIgUmllbmVjawpkcmF1ZmxlZ2VuLgoKUC5QLlMuIFNvcnJ5LiBVbmQgZGllIHNjaGVpbmVuIGF1Y2ggZ3V0IGF1c2dlbGFzdGV0LCBmdWVyIGRpZSBkcmVpIHdvY2hlbmVuZGVuCnVtIG5pa29sYXVzIHNpbmQgNTAgQmV0dGVuIG5pY2h0IG1laHIgZnJlaSAobGF1dCBob21lcGFnZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlvcnQgUmllbmVjayAoQXBvbGxvbmlhLCAyMi4gQXVnIDIwMDMsIDEzOjU1OjA2KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDYxNTUzMjEzIHJnPXBhcnR5Cn4jISB0aWQ9MTA2MTQ3ODY1NApJY2ggd2FlciBzb3dpZXNvIHZpZWwgZWhlciBmdWVyIG5lIEhhbGxvd2Vlbi1QYXJ0eS4gTmlrb2xhdXNwYXJ0aWVzIGhhdHRlbiB3aXIKZG9jaCBzY2hvbiBzbyBvZnQgKGM6CgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5b3J0IFJpZW5lY2sgKFBhZHJlaWMsIDIyLiBBdWcgMjAwMywgMTQ6NTc6MTUpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwNjE1NTMyMTMgcmc9cGFydHkKfiMhIHRpZD0xMDYxNDc4NjU0CjUwIEV1cm8gZmluZGUgaWNoIHBlcnNvZW5saWNoIGZ1ZXIgendlaSBVZWJlcm5hY2h0dW5nZW4gdW5kIGplIDJ4IEZydWVoc3R1ZWNrLApNaXR0YWcsIEFiZW5kZXNzZW4gbmljaCB3aXJrbGljaCB0ZXVlci4gRGEgZXMgZWluZSBlY2h0IGtsYXNzZSBCdXJnIGlzdCB1bmQKc2llIGF1c3JlaWNoZW5kIGdyb3NzIGlzdCBoYXR0ZSBpY2ggYXVjaCBlaGVyIGFuIGVpbmUgRnJ1ZWhqYWhyc3BhcnR5IGdlZGFjaHQuClVtIFdpbnRlcnBhcnR5IHd1ZXJkZSBpY2ggbWljaCB3Zy4gRGlwbGFyYmVpdCBlaCBuaWNoIGRydW0ga3VlbW1lcm4gOm8pCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eW9ydCBSaWVuZWNrIChUcm95LCAyMi4gQXVnIDIwMDMsIDE3OjA5OjIzKToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA2MTU1NzAzNSByZz1wYXJ0eQp+IyEgdGlkPTEwNjE0Nzg2NTQKQWxzbywgaWNoIGhhYiBrZWluZSBha3R1ZWxsZW4gUHJlaXNpbmZvcy4gTWVpbmUgSW5mb3MgZnVlciBBbHRlbmhhdXNlbiBzdGFtbWVuCnZvbiBTaWx2ZXN0ZXIgMDIvMDMuIERhIGhhdCBkaWUgVWViZXJuYWNodHVuZyBtaXQgVm9sbHZlcnBmbGVndW5nICgzCk1haGx6ZWl0ZW4KcGx1cyBTaWx2ZXJzdGVyYnVmZmV0KSBzY2hsYXBwZSAzMCBFdXJvIGdla29zdGV0LiBJbiBIb2hlbmJlcmcgaGF0IHp1IE9zdGVybgplaW5lIFVlYmVybmFjaHR1bmcgNDggRXVybyBnZWtvc3RldC4gRGllIHdhciBhYmVyIG51ciBtaXQgRnJ1ZWhzdHVlY2suCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYXJhb2tlIChCaXJkeSwgIDcuIFNlcCAyMDAzLCAwMTowODoxNCk6Ck5hY2hkZW0gaWNoIHNvZWJlbiBhdXMgbmVyIEthcmFva2ViYXIgZ2Vrb21tZW4gYmluLCB3byBoYW1tZXJtYWVzc2lnIGRpZSBQb3N0CmFiZ2luZyAtIHZvciBhbGxlbSBhdWNoIHdlaWwgZG9ydCBlaW5lIEdydXBwZSBqdW5nZXIgaHVlYnNjaGVyIEZyYXVlbiBlaW5lbgpKdW5nZ2VzZWxsaW5uZW5hYnNjaGllZHNhYmVuZCBmZWllcnRlIC0gc2NobGFnZSBpY2ggc28gZWluZW4gS2FyYW9rZWFiZW5kIGZ1ZXIKZGllIG5hZWNoc3RlIE1HLVBhcnR5IHZvciEKRGFzIG5vZXRpZ2UgRXF1aXBtZW50IGthbm4gbWFuIHNpY2ggYXVzbGVpaGVuLCBhYmVyIHZpZWxsZWljaHQgaGF0IGRhcyBqYSBhdWNoCmplbWFuZCAuLi4gOikpKSkpCgpncnVzcwpCaXJkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEthcmFva2UgKFNreSwgIDcuIFNlcCAyMDAzLCAwMTowODo1NCk6Cn4jISBybj1CaXJkeSBydD0xMDYyODg5Njk0IHJnPXBhcnR5Cn4jISB0aWQ9MTA2Mjg4OTY5NApPYiBkYSBlaW5lIEdydXBwZXIganVuZ2VyIEZyYXVlbiB6dXIgTUctUGFydHkga29tbXQ/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FyYW9rZSAoUGF0cnluLCAgNy4gU2VwIDIwMDMsIDAxOjA5OjE0KToKfiMhIHJuPUJpcmR5IHJ0PTEwNjI4ODk2OTQgcmc9cGFydHkKfiMhIHRpZD0xMDYyODg5Njk0CldhciBkYXMgbmUgR3J1cHBlIHZvbiBBc2lhdGlubmVuLCBvZGVyIHdpZT8gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2FyYW9rZSAoQmlyZHksICA3LiBTZXAgMjAwMywgMDE6MTA6MzQpOgp+IyEgcm49UGF0cnluIHJ0PTEwNjI4ODk3NTQgcmc9cGFydHkKfiMhIHRpZD0xMDYyODg5Njk0CkljaCBkZW5rZSBtYWwsIHdpciBrb2VubmVuIGF1Y2ggZnVlciBnZW51ZyBTdGltbXVuZyBzb3JnZW4sIGRhIGJyYXVjaGVuIHdpcgprZWluZSBIaWxmZSBmdWVyIG9kZXI/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLYXJhb2tlIChQYXRyeW4sICA3LiBTZXAgMjAwMywgMDE6MTE6MjgpOgp+IyEgcm49QmlyZHkgcnQ9MTA2Mjg4OTgzNCByZz1wYXJ0eQp+IyEgdGlkPTEwNjI4ODk2OTQKRHUgdmVyd2VjaHNlbHN0IEthcmFva2UgdW5kIGRpZSBlaW5nZWJpbGRldGUgU2FuZ2Vza3JhZnQgZGVyIExldXRlIG5hY2gKZGVtIDEwLiBHbGFzIFdoaXNreSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2FyYW9rZSAoQ2F0d2VhemxlLCAgNy4gU2VwIDIwMDMsIDA5OjMxOjE2KToKfiMhIHJuPVBhdHJ5biBydD0xMDYyODg5ODg4IHJnPXBhcnR5Cn4jISB0aWQ9MTA2Mjg4OTY5NApJY2ggX2hhc3NlXyBLYXJhb2tlLgpFcyBnaWJ0IGRvY2ggaW0gRmVybnNlaGVuIGJlaW0gWmFwcGVuIHNjaG9uIGthdW0gZWluIEVudGtvbW1lbiwgd28KTW9lY2h0ZWdlcm4tU3VwZXJzdGFycyBtaXIgbWl0IGlocmVyICdLdW5zdCcgZGVuIEdlaG9lcmdhbmcgdmVyZ2V3YWx0aWdlbi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS2FyYW9rZSAoTWFyY3VzLCAgNy4gU2VwIDIwMDMsIDEyOjUxOjA0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDYyOTE5ODc2IHJnPXBhcnR5Cn4jISB0aWQ9MTA2Mjg4OTY5NApJY2ggZGFjaHRlIGVzIGdpbmcgZGEgbnUgZHJ1bSAsIGRhcyBkaWUgTW9kZXJhdG9yZW4gZ2VwZmxlZ3QgZGllIGFybWVuCkp1Z2VuZGxpY2hlbgphbnBvZWJlbG4gdW5kIGJlbGVpZGlnZW4/CgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEthcmFva2UgKEZvb2JhciwgIDcuIFNlcCAyMDAzLCAxMzoxOTowOCk6Cn4jISBybj1NYXJjdXMgcnQ9MTA2MjkzMTg2NCByZz1wYXJ0eQp+IyEgdGlkPTEwNjI4ODk2OTQKVW5kIHNlbGJzdCBkYXMga29lbm5lbiBzaWUgbmljaHQgcmljaHRpZy4uLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmlrb2xhdXMhIChBcG9sbG9uaWEsIDEwLiBTZXAgMjAwMywgMDk6NDY6MzMpOgp+IyEgcm49UGl6emFwZXBlIHJ0PTEwNjMxNzkyMzYgcmc9cGFydHkKfiMhIHRpZD0xMDYzMTc5MjM2CkFsc28gV2ludGVyYnVyZyBnYW56IHNpY2hlciBvaG5lIHVucy4KCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmlrb2xhdXMhIChBbm9yaXMsIDEwLiBTZXAgMjAwMywgMTY6NTU6MDcpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNjMxNzk5OTMgcmc9cGFydHkKfiMhIHRpZD0xMDYzMTc5MjM2CkRhZnVlciBtaW5kZXN0ZW5zICsxIGF1cyBkZXIgU2Nod2VpeiEgRGFua2UsIGRpZSBWb3JmcmV1ZGUKaXN0IGJlcmVpdHMgZ3Jvc3MgOykKCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5pa29sYXVzISAoVmFuaW9uLCAxMC4gU2VwIDIwMDMsIDE4OjEwOjA2KToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDYzMTc5OTkzIHJnPXBhcnR5Cn4jISB0aWQ9MTA2MzE3OTIzNgoxLiBEZXplbWJlcndvY2hlbmVuZGUgaXN0IGltbWVyIGRlciBUZXJtaW4gZnVlciBkZW4gSkxQVCwgZGVuIGljaCB2ZXJzdWNoZQpzZWl0IDMgSmFocmVuIHp1IGJlc3RlaGVuLiBJbnNvZmVybiBvaG5lIG1pY2guCgpWKiwgZGVtIFdpbnRlcmJ1cmcgZWggc3VlZGxpY2hlciBpc3QsIGFscyBlciBzaWNoIG9obmUgQmVnbGVpdHVuZyB0cmF1dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5pa29sYXVzISAoRm9vYmFyLCAxMC4gU2VwIDIwMDMsIDE4OjExOjMzKToKfiMhIHJuPVZhbmlvbiBydD0xMDYzMjEwMjA2IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MzE3OTIzNgpXVEYgSkxUUD8KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmlrb2xhdXMhIChCb2luZywgMTAuIFNlcCAyMDAzLCAyMDozNDoxNyk6Cn4jISBybj1Gb29iYXIgcnQ9MTA2MzIxMDI5MyByZz1wYXJ0eQp+IyEgdGlkPTEwNjMxNzkyMzYKTGllcyBtZWdlc2NobWFycm4sIGRhIHN0ZWh0IGVzIGRyaW4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWxrb2hvbCBtb3JnZW4gKE11YWRpYiwgMTIuIFNlcCAyMDAzLCAwMTo1ODo1Nyk6CmljaCBoYWJlIG1vcmdlbiBub2NoIG5pY2h0cyB2b3IKaW5zb2Zlcm4gaXN0IGplZGVyIGhlcnpsaWNoIGVpbmdlbGFkZW4gbWlyIG1vcmdlbiBzYWVtdGxpY2hlIGdldHJhZW5rZSB6dQpmaW5hbnppZXJuIHVuZCBkaWVzIG5hY2h0cmFlZ2xpY2ggcGFydHkgenUgbmVubmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWxrb2hvbCBtb3JnZW4gKEdsb2luc29uLCAxMi4gU2VwIDIwMDMsIDAyOjAyOjI5KToKfiMhIHJuPU11YWRpYiBydD0xMDYzMzI0NzM3IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MzMyNDczNwpJY2ggbWFjaCBnZXJuIGhldXRlIGhpZXIgd2FzLiBCb2RlbnNlZS9XaXR0ZW5ob2Zlbi4gQWxsZXMgYW5kZXJlIHdpcmQgbmljaHRzLAppY2ggaGFiIHNjaG9uIGVpbm1hbCBhdXMgRnJldWRlIHVlYmVyIGVpbmUgUGFydHkgZWluZSBsYW5nZSBaZWl0IGtlaW5lIEx1c3QKbWVociBhdWYgTXVkZGVyIGdlaGFidC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFsa29ob2wgbW9yZ2VuIChNdWFkaWIsIDEyLiBTZXAgMjAwMywgMDI6MTE6MjYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA2MzMyNDk0OSByZz1wYXJ0eQp+IyEgdGlkPTEwNjMzMjQ3MzcKcmVpc2UgeHRhdXNlbmQga2lsb21ldGVyIGFuIHNjaGVpZGV0IHNjaG9ubWFsIGF1cwppY2ggZXJ3YXJ0ZSBkaWUgZmluYW56aWVydW5nIHNjaG9uIGluIG1laW5lbSBkdW5zdGtyZWlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhbGtvaG9sIG1vcmdlbiAoUGFkcmVpYywgMTIuIFNlcCAyMDAzLCAxMTowMjowMCk6Cn4jISBybj1NdWFkaWIgcnQ9MTA2MzMyNTQ4NiByZz1wYXJ0eQp+IyEgdGlkPTEwNjMzMjQ3MzcKVW5kIER1IHRyaW5rc3QgZGFubiBhbGxlcyB3YXMgbWFuIERpciBmaW5hbnppZXJ0PwoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYWxrb2hvbCBtb3JnZW4gKE11YWRpYiwgMTIuIFNlcCAyMDAzLCAxMjo1ODo1MSk6Cn4jISBybj1QYWRyZWljIHJ0PTEwNjMzNTczMjAgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzI0NzM3Cm5laW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtU2hpcnQ/IFN3ZWF0LVNoaXJ0PyBXaW5kamFja2U/IChNb250YW51cywgMTIuIFNlcCAyMDAzLCAxMzo1Mjo1Myk6CkljaCBiaW4gamEgenUgemllbWxpY2ggYWxsZW0gYmVyZWl0LiBXZW5uIGdlbnVlZ2VuZCBJbnRlcmVzc2UgYmVzdGVodCwKa3VlbW1lcmUgaWNoIG1pY2ggYXVjaCB1bSBlaW4gUGFydHktVHNoaXJ0IChvZGVyIHNvbGx0ZSBtYW4gbWFsIG9iIGRlcwpXaXRuZXJ3ZXR0ZXJzIHVlYmVyIGVpbiBTd2VhdHNoaXJ0IG9kZXIgZWluZW4gV2luZGJyZWFrZXIgbmFjaGRlbmtlbikuIEdlYnQKbWFsIGxhdXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydD8gU3dlYXQtU2hpcnQ/IFdpbmRqYWNrZT8gKENyb2Z0LCAxMi4gU2VwIDIwMDMsIDEzOjU1OjUxKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjMzNjc1NzMgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczCk9kZXIgZWluZSBUYXNzZT8gIEFsc28gYW4gbmVtIFQtU2hpcnQgd2FlciBpY2ggd2VuaWdlciBpbnRlcmVzc2llcnQuClVuZCBpY2ggd3VlcmRlIGF1Y2ggZXJzdCBlaW5lbiBCbGljayBhdWYgZGFzIE1vdGl2IHdlcmZlbiB3b2xsZW4gLC0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULVNoaXJ0PyBTd2VhdC1TaGlydD8gV2luZGphY2tlPyAoQW55c2lkb3JhLCAxMi4gU2VwIDIwMDMsIDEzOjU3OjUxKToKfiMhIHJuPUNyb2Z0IHJ0PTEwNjMzNjc3NTEgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczCkphLCBuZSBUYXNzZSB3YWVyIGRvY2ggbmV0dC4uLiBEaWUga2FubiBtYW4gYXVjaCBpbiBrYWx0ZW4gVGFnZW4gZ3V0IGJyYXVjaGVuCmZ1ZXIgZGVuIFRlZSB1bmQgc28uIDpECgpBbnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFQtU2hpcnQ/IFN3ZWF0LVNoaXJ0PyBXaW5kamFja2U/IChXaWxsb3csIDEyLiBTZXAgMjAwMywgMTM6NTg6MzkpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNjMzNjc4NzEgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczClRlZT8/PyBEdSBtZWluc3RlcyB3b2hsIGRlbiBHbHVlaHdlaW4uLi4KZGFzIFdlaWRlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFQtU2hpcnQ/IFN3ZWF0LVNoaXJ0PyBXaW5kamFja2U/IChBbnlzaWRvcmEsIDEyLiBTZXAgMjAwMywgMTM6NTk6NTcpOgp+IyEgcm49V2lsbG93IHJ0PTEwNjMzNjc5MTkgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczCkljaCB3b2xsdGUgbWljaCBqZXR6dCBoaWVyIG5pY2h0IGFscyBBbGtvaG9saWtlciBvdXRlbi4gOykpCgpBbnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtU2hpcnQ/IFN3ZWF0LVNoaXJ0PyBXaW5kamFja2U/IChXaWxsb3csIDEyLiBTZXAgMjAwMywgMTQ6MDE6MjQpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNjMzNjc5OTcgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczCkRhcyBoYWJlbiBkb2NoIHNjaG9uIGFuZGVyZSBmdWVyIERpY2ggZXJsZWRpZ3QgOykKZGFzIFdlaWRlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFQtU2hpcnQ/IFN3ZWF0LVNoaXJ0PyBXaW5kamFja2U/IChBbnlzaWRvcmEsIDEyLiBTZXAgMjAwMywgMTQ6MDI6MzgpOgp+IyEgcm49V2lsbG93IHJ0PTEwNjMzNjgwODQgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczCiptYWwgZWluZSBXZWlkZSBnYW56IGdlbmF1IG11c3RlcioKV2FzIHdpbGxzdCBEdSBkZW5uIG51IGRhbWl0IHdpZWRlciBhbmRldXRlbiwgbWg/IDspKQoKQW55CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBULVNoaXJ0PyBTd2VhdC1TaGlydD8gV2luZGphY2tlPyAoTW9udGFudXMsIDEyLiBTZXAgMjAwMywgMTQ6MDQ6MzkpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNjMzNjgxNTggcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczClRhc3NlbiBoYWJlbiBkYXMga2xpdHprbGVpbmUgUHJvYmxlbSwgZGFzcyBzaWNoIGRhcyBCZWRydWNrZW4gZXJzdCBhYiBlaW5lcgpNZW5nZW56YWhsIHZvbiB6aWVtbGljaCBnZW5hdSA3MiBTdHVlY2sgYW5iaWV0ZXQuIEZyYWd0IG1pY2ggbmljaHQgd2FydW0sIGRlcgpLYXRhbG9nIHNhZ3QgZGFzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVC1TaGlydD8gU3dlYXQtU2hpcnQ/IFdpbmRqYWNrZT8gKEFueXNpZG9yYSwgMTIuIFNlcCAyMDAzLCAxNDowNToxOSk6Cn4jISBybj1Nb250YW51cyBydD0xMDYzMzY4Mjc5IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MzM2NzU3MwpIbW0uLi4gYmVzb3JnIERpciBuZW4gYW5kZXJlbiBLYXRhbG9nLiA7KQoKQW55CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFQtU2hpcnQ/IFN3ZWF0LVNoaXJ0PyBXaW5kamFja2U/IChUYXJhbmlzLCAxMi4gU2VwIDIwMDMsIDE0OjEwOjQwKToKfiMhIHJuPUNyb2Z0IHJ0PTEwNjMzNjc3NTEgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczCjpmaW5kZXQgYXVjaCwgZGFzcyBuZSBUYXNzZSBuZSBndXRlIElkZWUgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVC1TaGlydD8gU3dlYXQtU2hpcnQ/IFdpbmRqYWNrZT8gKE1vbnRhbnVzLCAxMi4gU2VwIDIwMDMsIDE0OjE0OjMwKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTA2MzM2ODY0MCByZz1wYXJ0eQp+IyEgdGlkPTEwNjMzNjc1NzMKSWNoIGhhYiBncmFkIGF1Y2ggU2FmdGdsYWVzZXIgZ2VmdW5kZW4uIE9iIG1hbiBkYSBlaGVyIDcyIHp1c2FtbWVuYmVrb21tdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFQtU2hpcnQ/IFN3ZWF0LVNoaXJ0PyBXaW5kamFja2U/IChUYXJhbmlzLCAxMi4gU2VwIDIwMDMsIDE0OjE5OjI5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjMzNjg4NzAgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczCkljaCB3ZWlzcyBuaWNodC4uLiBNaXIgc2NoZWludCBlaW5lIFRhc3NlIGVpZ2VudGxpY2ggdmllbHNlaXRpZ2VyIHZlcndlbmRiYXIKenUgc2VpbiBhbHMgZWluIEdsYXMuIEluc2Jlc29uZGVyZSB3ZWlsIG1pdCBkZW0gR2xhcyBqYSBhdWYgbWVociBvZGVyIHdlbmlnZXIKa2FsdGUgR2V0cmFlbmtlIGJlc2NocmFlbmt0IGlzdC4KVmllbGUgR3J1ZXNzZSwKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVC1TaGlydD8gU3dlYXQtU2hpcnQ/IFdpbmRqYWNrZT8gKExpYXJhLCAxMi4gU2VwIDIwMDMsIDIzOjEzOjM2KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjMzNjg4NzAgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczClRBU1NFIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVC1TaGlydD8gU3dlYXQtU2hpcnQ/IFdpbmRqYWNrZT8gKENhc3NhbmRyYSwgMTMuIFNlcCAyMDAzLCAxMzoyMDowMCk6Cn4jISBybj1MaWFyYSBydD0xMDYzNDAxMjE2IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MzM2NzU3MwpBbHNvIGljaCBiaW4gZnVlciB0YXNzZSB1bmQgUGFydHkKQ2Fzc3ksIGF1ZiBpbnMgZmVybmUgV2ludGVyYnVyZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVC1TaGlydD8gU3dlYXQtU2hpcnQ/IFdpbmRqYWNrZT8gKExlaWJpLCAxNS4gU2VwIDIwMDMsIDE4OjE2OjE1KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDYzNDUyMDAwIHJnPXBhcnR5Cn4jISB0aWQ9MTA2MzM2NzU3MwppY2ggZmluZGUgZWluZSB0YXNzZSBhdWNoIHRvbGwuCgpsZWliaSBicmF1Y2h0IG1laHIgdGFzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBULVNoaXJ0PyBTd2VhdC1TaGlydD8gV2luZGphY2tlPyAoWm9vaywgMTUuIFNlcCAyMDAzLCAxODoxODowOSk6Cn4jISBybj1MZWliaSBydD0xMDYzNjQyNTc1IHJnPXBhcnR5Cn4jISB0aWQ9MTA2MzM2NzU3Mwp0YXNzZSBrbGluZ3Qga2xhc3NlCgp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVC1TaGlydD8gU3dlYXQtU2hpcnQ/IFdpbmRqYWNrZT8gKEdvcm9nLCAxNS4gU2VwIDIwMDMsIDE5OjMwOjE5KToKfiMhIHJuPVpvb2sgcnQ9MTA2MzY0MjY4OSByZz1wYXJ0eQp+IyEgdGlkPTEwNjMzNjc1NzMKVGFzc2UsIGphIGJpdHRlLiBBdWNoIHdlbm4gaWNoIG5pY2h0IGtvbW0sIGJyaW5ndCBtaXIgYmVzdGltbXQgd2VyIG1pdC4gV2FzCm5pY2h0IGhlaXNzdCwgZGFzcyBpY2ggbmljaHQga29tbWVuIG1hZyEhIQoKbWZHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBULVNoaXJ0PyBTd2VhdC1TaGlydD8gV2luZGphY2tlPyAoRm9vYmFyLCAxNS4gU2VwIDIwMDMsIDE5OjMyOjQ2KToKfiMhIHJuPUdvcm9nIHJ0PTEwNjM2NDcwMTkgcmc9cGFydHkKfiMhIHRpZD0xMDYzMzY3NTczCldpZSB3YWVyJ3MgbWl0IEJpZXJrcnVlZ2VuPwoKRioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRhbWl0IHNpY2gga2VpbmVyIHd1bmRlcnQgLi4uLiAgKExhcmluYSwgMTYuIFNlcCAyMDAzLCAyMDowOToyNSk6CkhhbGxpaGFsbG8gOi0pIApGYWxscyBzaWNoIGplbWFuZCB3dW5kZXJ0LCB3YXJ1bSBkYSBlaW4gUGFydHlicmV0dCBvaG5lIEJhbmt2ZXJiaW5kdW5nIHVucyBzbwpzdGVodDogbWVpbmUgQmFuayBpbiBNYWlueiBhZW5kZXJ0IHp1bSBPa3RvYmVyIGRpZSBLb250b251bW1lcm4sIGRhaGVyIHdpcmQgZXMKZXJzdCBBbmZhbmcgLyBNaXR0ZSBPa3RvYmVyIGRpZSBJbmZvcm1hdGlvbmVuIHp1bSBVZWJlcndlaXNlbiBnZWJlbi4gRGFzIGlzdApqYSBub2NoIGZydWVoIGdlbnVnIDotKSAKCkZ1ZXIgWmltbWVyd3VlbnNjaGUgYmluIGF1Y2ggaWNoIHp1c3RhZW5kaWcsIG9iIGljaCBhbGxlIGVyZnVlbGxlbiBrYW5uIHdhZ2UKaWNoIHp1IGJlendlaWZlbG4sIGFiZXIgaWNoIHNjaGF1IG1hbCB3YXMgaWNoIHR1biBrYW5uLiBIaWVyIGdpbHQgd2llZGVyCmVpbm1hbDogd2VyIHNpY2ggenVlcnN0IG1lbGRldCwgbWFobHQgenVlcnN0LgoKKmtudWRkZWxzKgpTYXNraWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoaW5lc2UgKE1vbnRhbnVzLCAxOC4gU2VwIDIwMDMsIDEzOjM0OjUxKToKVW5iZXN0YWV0aWd0ZW4gQmVyaWNodGVuIHZvbiBFaW5nZWJvcmVuZW4gS3JldXpuYWNoZXJuIGdpYnQgZXMgZG9ydCBhdWNoIGVpbmVuCnNlaHIgbGVnZ2VyZW4gQ2hpbmVzZW4uIFVuZCB2aWVsIHdlaXRlciB3ZWcgYWxzIEJhZCBTb2Jlcm5kb3JmIGlzdCBkYXMgYXVjaApuY2lodCwgdW5kIGZ1ZXIgQmFobmZhaHJlciBub2NoIGFuZ2VuZWhtZXIuCkluc29mZXJuIHdpcmQgQW55c2lkb3JhIGJlYXVmdHJhZ3QsIGRhIG1hbCBuYWNoenVmb3JzY2hlbi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2hpbmVzZSAoQW55c2lkb3JhLCAxOC4gU2VwIDIwMDMsIDEzOjM2OjAzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjM4ODQ4OTEgcmc9cGFydHkKfiMhIHRpZD0xMDYzODg0ODkxCkljaCBzb2xsIGYqKio/Pz8gCldBQUhISEhIICEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xldHRlcm4gaW0gSHVuc3J1ZWNrIChab29rLCAxOS4gU2VwIDIwMDMsIDAxOjAzOjEzKToKRmFsbHMgZGFzIFdldHRlciBuaWNodCB2b2VsbGlnIHVlYmVsIGlzdCwgd3VlcmRlIGljaCBnZXJuZSBpbiBkZXIgCk5hZWhlIHZvbiBXaW50ZXJidXJnIGluIGRlbiBzb2dlbmFubnRlbiAoQWNodHVuZyEgVWViZXJ0cmVpYnVuZyEpIAoiS2lybmVyIERvbG9taXRlbiIga2xldHRlcm4gZ2VoZW4uIEtvbW10IGplbWFuZCBtaXQgYnp3LiBoYXQgTHVzdCwgc2ljaAphbnp1c2NobGllc3Nlbj8gQml0dGUgbWVsZGV0IEV1Y2ggYmVpIG1pciBkb2NoIHBlciBFbWFpbC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWVzIHZvbSBDaGluZXNlbiAoQ2Fzc2FuZHJhLCAgMi4gT2t0IDIwMDMsIDE2OjA1OjU1KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMDY1MDExMzU4IHJnPXBhcnR5Cn4jISB0aWQ9MTA2NTAxMTEzOApIaSwKQWxzbyBpY2ggd2FlciBlaW5kZXV0aWcgZnVlciBCYWQtS3JldXpuYWNoCkJlZ3J1ZW5kdW5nOgpEZXIgaW4gYmFkLVNvYmVybmhlaW0gd2FyIGxldHp0ZXMgbWFsIG5pY2h0IHNlaHIga29tcGV0ZW50LCBkYWZ1ZXIgZGFzIHZvcmhlcgprbGFyIHdhcyB3YXMgd2lyIGJla29tbWVuLCBiZXNhZ3RlIFBsYXR0ZW4sIGhhdHMgd2FybnNpbm5pZyBsYW5nZSBnZWRhdWVydC4KQmVzb25kZXJzIGd1dCBmYW5kIGljaCBkaWUgYXVjaCBuaWNodCB1bmQgc3RhbmQgZGFtaXQgd29obCBhdWNoIG5pY2h0IGFsbGVpbi4KRGVyIHNlcnZpZXMgd2FyIGF1Y2ggbmljaHQgYmVzb25kZXJzIHVuZCBkZXIgdGVlIGthdGFzdHJvcGhhbCAoZGFzIHNpZWh0CmZhbHNjaCBhdXMpLiAKWnUgZGVtIGluIEJhZC1LcmV1em5hY2gga2FubiBpY2ggbml4IHNhZ2VuICwgaGFsdGUgYWJlciBidWVmZmV0IG9kZXIgYWxhIGNhcmQKZnVlciBkaWUgYmVzc2VyZSBhbHRlcm5hdGl2ZSBhbHMgZml4ZSBwbGF0dGVuCgpDYXNzeSwgenVtIGNoaW5lc2VuIHdvbGxlbmQKClAuUy4gZGFzIHdvY2hlbmVuZGUga29zdGV0IHNvdmllbCBkYSBrb21tc3RzIGRhcmF1ZiBhdWNoIG5pY2h0IG1laHIgYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5LUdlbGQgKE1pZXplLCAxOS4gT2t0IDIwMDMsIDA4OjE5OjA5KToKSGFsbG8genVzYW1tZW4sCgppc3QgbWl0dGxlcndlaWxlIHNjaG9uIGtsYXIsIGF1ZiB3ZWxjaGVzIEtvbnRvIHdpciBkYXMgR2VsZCBmdWVyIGRpZQpOaWtvbGF1c3BhcnR5IHVlYmVyd2Vpc2VuIGtvZW5uZW4/CgpNaWV6ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5LUdlbGQgKEFuYXRvbCwgMTkuIE9rdCAyMDAzLCAxMDo0MzoxNSk6Cn4jISBybj1NaWV6ZSBydD0xMDY2NTQ0MzQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTA2NjU0NDM0OQpOZWluLiBEYXMgIk5laW4iIGlzdCBiZWRpbmd0IGR1cmNoIGVpbmUgU3Bhcmthc3NlLCBkaWUgbWVpbnQsIGRpZQpLb250ZW4gaWhyZXIgS3VuZGVuIHVtc3RlbGxlbiB6dSBtdWVzc2VuLi4uIAoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5LUdlbGQgKENhZHJhY2gsIDE5LiBPa3QgMjAwMywgMTE6NDY6MDQpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNjY1NTI5OTUgcmc9cGFydHkKfiMhIHRpZD0xMDY2NTQ0MzQ5CndhcyB3aWVkZXJ1bSBkdXJjaCBLdW5kZW4gYmVkaW5ndCBpc3QsIGRpZSBzaWNoIG9mZmVuc2ljaHRsaWNoIGFsbGVzIGdlZmFsbGVuCmxhc3Nlbi4uLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHktR2VsZCAoS2VrcywgMTkuIE9rdCAyMDAzLCAxNzoxODo1MSk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwNjY1NTY3NjQgcmc9cGFydHkKfiMhIHRpZD0xMDY2NTQ0MzQ5CmtvZW5udGV0IGlociAtIHdlbm5zIGRhbm4gc28gd2VpdCBpc3QgLSBiaXR0ZSBkaWVzZSBJQkFOLW51bW1lciBtaXQgYW5nZWJlbj8KZGFtaXQgZmFsbGVuIG1laW5lcyB3aXNzZW5zIG5hY2ggZGllIGdlYnVlaHJlbiBmdWVyIGF1c2xhbmRzdWViZXJ3ZWlzdW5nIHdlZyEKZGFua2UgOi0pICprZWtzKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5LUdlbGQgKENhdHdlYXpsZSwgMTkuIE9rdCAyMDAzLCAyMjo0NDo0NSk6Cn4jISBybj1NaWV6ZSBydD0xMDY2NTQ0MzQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTA2NjU0NDM0OQpNaXR0bGVyd2VpbGUgc29sbHRlIGVzIGRhcyBLb250byBnZWJlbiwgZGVtZW50c3ByZWNoZW5kIHNpbmQgZGllIEluZm9zIG51bgooaG9mZmVudGxpY2gpIGF1ZiBkZW4gQnJldHRlcm4genUgZmluZGVuLiAKCkFsc28gbG9zLiBBdWYgYXVmLCB1ZWJlcndlaXNlbiA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHktR2VsZD8gKFFpdGVzcywgMjAuIE9rdCAyMDAzLCAxMTozMzozMSk6CipzZXVmeioKQWxzbywgenUgbWVpbmVyIFplaXQgaGF0IG1hbiBmdWVyIDQ0IGVpbmUgUGFydHkgdW5kIGVpbiBULVNoaXJ0IGJla29tbWVuLiBhYmVyCm1hcmsuLi4KCjspCgpQb2ViZWx0YW50ZSBpc3Qgd2llZGVyIGRhISA7KQoKUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5LUdlbGQ/IChDcm9mdCwgMjAuIE9rdCAyMDAzLCAxMTozNDozMyk6Cn4jISBybj1RaXRlc3MgcnQ9MTA2NjY0MjQxMSByZz1wYXJ0eQp+IyEgdGlkPTEwNjY2NDI0MTEKR3V0LiAgRGFubiBvcmdhbmlzaWVyc3QgZHUgZGllIG5hZWNoc3RlIFBhcnR5IGZ1ZXIgMjUgRVVSIGlua2wgVC1TaGlydC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5LUdlbGQ/IChRaXRlc3MsIDIwLiBPa3QgMjAwMywgMTE6MzU6MTkpOgp+IyEgcm49Q3JvZnQgcnQ9MTA2NjY0MjQ3MyByZz1wYXJ0eQp+IyEgdGlkPTEwNjY2NDI0MTEKSWlpaWljaCBvcmdhbmlzaWVyZSBnYXIga2VpbmUgUGFydHkgOykgOnAKClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5LUdlbGQ/IChDYXNzYW5kcmEsIDIwLiBPa3QgMjAwMywgMTE6MzY6MjMpOgp+IyEgcm49UWl0ZXNzIHJ0PTEwNjY2NDI1MTkgcmc9cGFydHkKfiMhIHRpZD0xMDY2NjQyNDExCmF1c3NlcmRlbSB3YXJlbiBkaWUgcGFydHlzIGluIHdpbnRlcmJ1cmcgbm9jaCBuaWUgZ3VlbnN0aWdlciwgZGFmdWVyIGdpYnRzIGRpZQp2b2xsdmVycGZsZWd1bmcgdW5kIGRpZSBrb3N0ZXQuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHktR2VsZD8gKEJvaW5nLCAyMC4gT2t0IDIwMDMsIDExOjM2OjU5KToKfiMhIHJuPVFpdGVzcyBydD0xMDY2NjQyNTE5IHJnPXBhcnR5Cn4jISB0aWQ9MTA2NjY0MjQxMQpEYW5uIG1lY2tlciBoaWVyIG5pY2h0IHJ1bSwgbXVzc3QgamEgbmljaHQga29tbWVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZXMgdm9tIENoaW5lc2VuIChDYXNzYW5kcmEsIDIyLiBPa3QgMjAwMywgMTQ6MjM6MTcpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNjUwMTExMzggcmc9cGFydHkKfiMhIHRpZD0xMDY1MDExMTM4CkdpYnRzIGpldHp0IGVpZ2VuZGxpY2ggZWluZSBFbnRzY2hlaWR1bmcgd2VsY2hlciBDaGluZXNlIGVzIHNlaW4gc29sbD8gRGFtaXQKbWFuIGRpZSBadWdmYWhya2FydGVuIGVudHNwcmVjaGVuZCBlbnR3ZWRlciBuYWNoIEJhZC1LcmV1em5hY2ggb2RlciBuYWNoIGJhZApTb2Jlcm5oZWltIGJ1Y2hlbiBrYW5uLgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlcyB2b20gQ2hpbmVzZW4gKEdsb2luc29uLCAyMi4gT2t0IDIwMDMsIDE0OjI1OjM4KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDY2ODI1Mzk3IHJnPXBhcnR5Cn4jISB0aWQ9MTA2NTAxMTEzOApLb3Ntb25hdXRlbmJyYXRlbiEKCjphc3NvemlpZXJ0IGZyZWkgKHp1IHZpZWwgInN0dWRpZXJ0IiBoZXV0ZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1ZXMgdm9tIENoaW5lc2VuIChBbnlzaWRvcmEsIDIyLiBPa3QgMjAwMywgMTQ6Mjk6MDUpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwNjY4MjUzOTcgcmc9cGFydHkKfiMhIHRpZD0xMDY1MDExMTM4CkJpc2hlciBoYWJlIGljaCA5IFJ1ZWNrbWVsZHVuZ2VuLCB3YXMgZGVuIENoaW5lc2VuIGFuZ2VodC4gRGF2b24gd2FyZW4gNSBmdWVyCmRlbiBpbiBCYWQgS3JldXpuYWNoLCAxIGZ1ZXIgZGVuIGluIEJhZCBTb2Jlcm5oZWltIHVuZCAzIHdhciBlcyBzY2hsaWNodHdlZwplZ2FsLiAKCldhbm4gbXVlc3N0ZXN0IER1IGVzIGRlbm4gcHJha3Rpc2NoZXJ3ZWlzZSBzcGFldGVzdGVucyB3aXNzZW4gd2VnZW4gZGVuClp1Z2ZhaHJrYXJ0ZW4/CgpBbnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp3ZWl0aWUtTmFtZW4uLi4gKE1vbnRhbnVzLCAyOC4gT2t0IDIwMDMsIDE0OjA3OjIyKToKLi4uIGJlaSBkZXIgQW5tZWxkdW5nIHNpZG4gamEgdG90YWwgd2l0emlnLCBhYmVyIGZ1ZXIgUGFydHlvcmdhbmlzYXRvcmVuIHJlY2h0Cm5lcnZpZywgd2VpbCBtYW4gc2ljaCBuaWNodCBkcmF1ZiB2ZXJsYXNzZW4ga2FubiwgZGFzcyBkYSBqZXR6dCBoaW50ZXIgZWluZW0KTHYuIDEtU3BpZWxlciBhdWNoIGVpbmUgcmVlbGxlIFBlcnNvbiBzdGVodCB1bmQgbmljaHQgbnVyIGVpbmUgVmVyYXJzY2hlLgpWaWVsbGVpY2h0IG1lbGRlbiBzaWNoIGRpZSBIZXJyZW4gdW5kIERhbWVuIENvbGEsIEF0a29lbHNjaCB1bmQgUnVta3VnZWwgbWFsLApkYW1pdCB3aXIgd2lzc2VuLCBkYXNzIGRhcyBhdWNoIGVybnN0Z2VtZWludGUgQW5tZWxkdW5nZW4gc2luZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQdWxzbml0emVyIFBmZWZmZXJrdWNoZW4gKEdyaW1tYm9ybiwgMzAuIE9rdCAyMDAzLCAxMjoxNDo1Nik6Cn4jISBvbj1Sb25kYSBvdD0xMDY3NDcxMzUyIG9nPWtvY2hyZXplcHRlCn4jISBybj1BbGJvaW4gcnQ9MTA2NzQ2NDc2OCByZz1rb2NocmV6ZXB0ZQp+IyEgdGlkPTEwNjc0NjQ3NjgKQWxib2luLCBpY2ggaGFiIGRhcyBqZXR6dCByaWNodGlnIHZlcnN0YW5kZW4sIG9kZXI/IERhc3MgRHUgbmFjaCBXaW50ZXJidXJnCm5pY2h0IHVudGVyIDIgS2lsbyBkaWVzZXIgUGZlZmZlcmt1Y2hlbiAoc2VsYnN0dmVyc3RhZW5kbGljaCBzZWxic3RnZW1hY2h0ISkKbWl0YnJpbmdzdD8KClJvbmRhICpmcmV1dCBzaWNoIGF1ZiBXaW50ZXJidXJnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQdWxzbml0emVyIFBmZWZmZXJrdWNoZW4gKEdyaW1tYm9ybiwgMzAuIE9rdCAyMDAzLCAxMjoxNDo1OCk6Cn4jISBvbj1BbGJvaW4gb3Q9MTA2NzUxMjExMyBvZz1rb2NocmV6ZXB0ZQp+IyEgcm49Um9uZGEgcnQ9MTA2NzQ3MTM1MiByZz1rb2NocmV6ZXB0ZQp+IyEgdGlkPTEwNjc0NjQ3NjgKaWNoIGZ1ZXJjaHRlIGRhcyBpY2ggbmljaHQgbmFjaCBXaWJ1IGtvbW1lbiB3ZXJkZSAKCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQdWxzbml0emVyIFBmZWZmZXJrdWNoZW4gKEdyaW1tYm9ybiwgMzAuIE9rdCAyMDAzLCAxMjoxNDo1OSk6Cn4jISBvbj1Dcm9mdCBvdD0xMDY3NTEyMTUzIG9nPWtvY2hyZXplcHRlCn4jISBybj1BbGJvaW4gcnQ9MTA2NzUxMjExMyByZz1rb2NocmV6ZXB0ZQp+IyEgdGlkPTEwNjc0NjQ3NjgKRGFubiBrb2VubnRlc3QgZHUgamVtYW5kZW4gZmluZGVuLCBkZXIgZGVuIFBmZWZmZXJrdWNoZW4gbWl0YnJpbmd0IDotKQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZldWVyemFuZ2UuLi4gKE1vbnRhbnVzLCAgNC4gTm92IDIwMDMsIDEyOjAxOjI4KToKLi4uIGhhdCBqZW1hbmQgZGVyIFBhcnR5Z2Flc3RlIGRpZSBVdGVuc2lsaWVuIGZ1ZXIgbmUgcmljaHRpZ2UKRmV1ZXJ6YW5nZW5ib3dsZSB1bmQga29ubnRlIGRpZSBtaXRicmluZ2VuPyAoQWxzbyBlaW5lbiBCcmVubmVyIHNhbXQgVG9wZiB1bmQKZGllc2V0IERpbmdlbnMsIHdvIG1hbiBkZW4gWnVja2Vya2VnZWwgZHJhdWZsZWd0KQpXZWlsIHNvIG5lIEZldWVyemFuZ2VuYm93bCBoYWV0dGUgamEgc2Nob24gd2FzLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZXRyYWVua2Vzb25kZXJ3dWVuc2NoZS4uLiAoTW9udGFudXMsICA0LiBOb3YgMjAwMywgMTI6MTI6MTgpOgouLi4gd2llIHNpZWh0IGVzIGF1czogd2llIGdyb3NzIGlzdCBkZXIgQmVkYXJmIGFuIGR1bmtsZW0gQmllcj8gVW5kIHdpZXZpZWwKR2x1aHdlaW4gc29sbCBpY2ggb3JkZXJuPyBTYWVmdGUgYWxsZXIgQXJ0IHdlcmRlIGljaCBpbiBob2ZmZW50bGljaAphdXNyZWljaGVuZGVyIE1lbmdlIGJlcmVpdHN0ZWxsZW4sIEJpZXIgdW5kIEJyYXVzZSBpc3QgamEgZWggU3RhbmRhcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmV1ZXJ6YW5nZS4uLiAoQ2Fzc2FuZHJhLCAgNC4gTm92IDIwMDMsIDEzOjI5OjQyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjc5NDM2ODggcmc9cGFydHkKfiMhIHRpZD0xMDY3OTQzNjg4CmhhYmVuIGphLCBtaXRicmluZ2VuIGtvZW5uZW4gZnJhZ2xpY2ggZGEgaWNoIG1pdCBadWcgdW5kIEJ1cyBrb21tZS4KQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB1ZWJlcndlaXNlbiBiaXR0ZSBhdWNoICBiaXMgenVtIDIwLjExLiAoQ2F0d2VhemxlLCAgNC4gTm92IDIwMDMsIDIzOjI3OjU1KToKfiMhIHJuPUxhcmluYSBydD0xMDY3OTc4NDU4IHJnPXBhcnR5Cn4jISB0aWQ9MTA2Nzk3ODQ1OApEdSBtZWluc3QsIGVzIHdpcmQgWmVpdCBzaWNoIGFuenVtZWxkZW4sIGphPwoKWVRDICh6b2VnZXJsaWNoIDotKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZldWVyemFuZ2UuLi4gKE1pcmlsLCAgNS4gTm92IDIwMDMsIDAwOjU2OjIwKToKfiMhIHJuPUZvb2JhciBydD0xMDY3OTg1MzA0IHJnPXBhcnR5Cn4jISB0aWQ9MTA2Nzk0MzY4OApXZW5uIGlociBtaWNoIGt1cnogdm9yaGVyIGRyYW4gZXJpbm5lcnQsIGthbm4gaWNoIHNvd2FzIG1pdGJyaW5nZW4uCgpNaXJpbCBpc3QgdXJhbHQgdW5kIHZlcmdlc3NsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVlYmVyd2Vpc2VuIGJpdHRlIGF1Y2ggIGJpcyB6dW0gMjAuMTEuIChDYXNzYW5kcmEsICA1LiBOb3YgMjAwMywgMTQ6MDA6NDgpOgp+IyEgcm49TGFyaW5hIHJ0PTEwNjc5Nzg0NTggcmc9cGFydHkKfiMhIHRpZD0xMDY3OTc4NDU4CmdpYnQgZXMgZGVuIGluendpc2NoZW4gZGllIGluZm9zIHp1IGRlbSBLb250byB3byBkYXMgZ2VsZCBoaW4gc29sbC4KWnVtaW5kZXN0ZW5zIGJlaSBkZW4gRWxmZW4gc3RlaHQgbml4IGF1ZiBkZW0gcGFydHlicmV0dC4KCkNhc3N5LCBuaWNodCB3aXNzZW5kIHdvaGluIHNpZSBkZW4gdWViZXJ3ZWlzZW4gc29sbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdldHJhZW5rZXNvbmRlcnd1ZW5zY2hlLi4uIChIb2JvLCAxMi4gTm92IDIwMDMsIDIzOjU3OjIzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjc5NDQzMzggcmc9cGFydHkKfiMhIHRpZD0xMDY3OTQ0MzM4ClF1aXR0ZW5zYWZ0LCBRdWl0dGVuc2FmdCwgUXVpdHRlbnNhZnQhCgogICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZXRyYWVua2Vzb25kZXJ3dWVuc2NoZS4uLiAoTW9udGFudXMsIDEzLiBOb3YgMjAwMywgMDg6NTc6MjEpOgp+IyEgcm49SG9ibyBydD0xMDY4Njc3ODQzIHJnPXBhcnR5Cn4jISB0aWQ9MTA2Nzk0NDMzOApLcmllZ2VuIHdpciBoaW4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1TaGlydCAoTW9udGFudXMsIDE0LiBOb3YgMjAwMywgMTE6NTY6NDcpOgpJY2ggYmFzdGVsIGdyYWQgYW4gZWluZW0gTW90aXYgZnVlciBkYXMgU2hpcnQuIFdlbm4gamVtYW5kIG5vY2ggVGFsZW50IGhhdCB1bmQKYmVzc2VyIG1pdCBEVFAtUHJvZ3JhbW1lbiBrYW5uIGFscyBpY2ggLSBiaXR0ZSB1bWdlaGVuZCBtZWxkZW4uCkZyYWdlIGFuIGRpZSB3ZWlibGljaGVuIFQtU2hpcnQtYmVzdGVsbGVyOiBzb2xsIGljaCBmdWVyIGRpZSBEYW1lbiBlaW5lbgp0YWlsbGllcnRlbiBTY2huaXR0IGJlaSBkZW4gU2hpcnRzIG5laG1lbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0IChNYWhhcmV0LCAxNC4gTm92IDIwMDMsIDExOjU3OjA3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjg4MDc0MDcgcmc9cGFydHkKfiMhIHRpZD0xMDY4ODA3NDA3CkphIGJpdHRlLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11c2lrIGV0IGNldGVyYSAoRGFya2xvciwgMTguIE5vdiAyMDAzLCAxMzoxNjoxOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA2OTA5NzY3MiByZz1wYXJ0eQp+IyEgdGlkPTEwNjkwOTc2NzIKV2VubiAyM3ggZGFzIGdsZWljaGUgZGEgaXMsIGlzIGRvY2gga2xhciB3YXMgZ2V3dWVuc2NodCB3aXJkLi4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11c2lrIGV0IGNldGVyYSAoQmFtYmksIDE4LiBOb3YgMjAwMywgMTM6MTg6NDApOgp+IyEgcm49RGFya2xvciBydD0xMDY5MTU3Nzc5IHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpFaW4gendlaXRlciBSYXVtIG9obmUgTXVzaWsgdW5kIG9obmUgT3JnZWwsIHdvIG1hbiBzaWNoIGluIFJ1aGUgdW50ZXJoYWx0ZW4Ka2Fubi4gU3ByaWNoOiB3ZW5uIGRpZSBnYW56ZSBaZWl0IHVudGVuIG5pZ2h0d2lzaCBsYWV1ZnQgLXdvZ2VnZW4gaWNoIG5pY2h0cwplaW56dXdlbmRlbiBoYWJlLSBkYW5uIGFiZXIgbmljaHQgYXVjaCBub2NoIGluIGFsbGVuIGFuZGVyZW4gInNjaGxhZiJ6aW1tZXJuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTXVzaWsgZXQgY2V0ZXJhIChNaW5nbywgMTguIE5vdiAyMDAzLCAyMDoxNTowMyk6Cn4jISBybj1CYW1iaSBydD0xMDY5MTU3OTIwIHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpLZWluIEFuYXRvbCBhbSBLbGF2aWVyIGVybGF1YnQ/IEVpbiB3ZWl0ZXJlciBHcnVuZCBmZXJuenVibGVpYmVuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaGxpZWZlcnVuLi4uLiAoWm9vaywgMTkuIE5vdiAyMDAzLCAxNjozNzoxMyk6ClJvbGFuZCBsaWVmZXJ0IG5vY2ggZWluIHBhYXIgUGFydHktQmlsZGVyIGF1cyBCZXJsaW4gbmFjaC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNdXNpayBldCBjZXRlcmEgKE1vbnRhbnVzLCAxOS4gTm92IDIwMDMsIDE5OjU5OjIyKToKfiMhIHJuPU1pbmdvIHJ0PTEwNjkxODI5MDMgcmc9cGFydHkKfiMhIHRpZD0xMDY5MDk3NjcyCkFuYXRvbCBhbSBLbGF2aWVyIGdld3VlbnNjaHQuIFVuZCB3aXIgYnJhdWNoZW4gamVtYW5kIGF1cyBEcnNkZW4sIHNvbnN0CmtvZW5uZW4gd2lyIG5pY2h0IHVlYmVyIGRlbiBtYXNjaGVuZHJhaHR6YXVuIHNpbmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE11c2lrIGV0IGNldGVyYSAoTWluZ28sIDIwLiBOb3YgMjAwMywgMDI6Mzk6NDQpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA2OTI2ODM2MiByZz1wYXJ0eQp+IyEgdGlkPTEwNjkwOTc2NzIKSWhyIGJyYXVjaHQgZWluZW4gVm9ndGxhZW5kZXIgYXVzIERyZXNkZW4/IERhIGZhZWxsdCBtaXIgendhciBzcG9udGFuIGVpbgpLb21taWxpdG9uZSBlaW4sIGFiZXIgZGVyIGlzdCBzZWl0IGVpbmlnZW4gSmFocmUgbmljaHQgbWVociBha3RpdiBpbiBpcmdlbmQKZWluZW0gTVVELgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11c2lrIGV0IGNldGVyYSAoVGhvbWFzaywgMjAuIE5vdiAyMDAzLCAwODo0MToyMik6Cn4jISBybj1NaW5nbyBydD0xMDY5MjkyMzg0IHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpEdSBtZWluc3QgZWluZW4sIGRlciBoaWVyIHNjaG9uIG1hbCBkYXMgTXVzIGdlY3Jhc2h0IGhhdD8KTmEsIG5lbiBQYXJ0eWNyYXNoIGdpYnRzIGVoIGplZGVzIG1hbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWFhYTCAoTW9udGFudXMsIDIxLiBOb3YgMjAwMywgMTE6MjU6MjYpOgpJY2ggc2VoZSBnZXJhZGUsIGRhc3MgZXMgZGllIFN1cGVyZHVwZXJncm9lc3NlIG5pY2h0IGluIGRlciBGYXJiZSBnaWJ0LCBkaWUKaWNoIGVpZ2VudGxpY2ggdm9yaGF0dGUuIFNvbGwgaWNoIGpldHp0IGRhIGVpbmUgYWVobmxpY2hlIEZhcmJlIHdhZWhsZW4sIG9kZXIKcmVpY2h0IGV1Y2ggWFhMPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1vdGl2IChNYWhhcmV0LCAyMS4gTm92IDIwMDMsIDEyOjU0OjA3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjkzMjc0NTAgcmc9cGFydHkKfiMhIHRpZD0xMDY5MzI3NDUwCkxhZXNzdCBzaWNoIGRhcyBNb3RpdiBub2NoIHNvIHZlcmFlbmRlcm4sIGRhc3MgZGVyIFNjaG5lZW1hbm4gbGlua3MgdW5kIGRpZQpCdXJnIHJlY2h0cyBpc3Q/ICBadW0gZWluZW4gd3VlcmRlIGRhcyBkZW4gLWthcmxzcnVoZS1TY2hhcmFkZXJuCmVudGdlZ2Vua29tbWVuLCB6dW0gYW5kZXJlbiB3dWVyZGUgZGFzIEJpbGQgdmllbGxlaWNodCBuaWNodCBnYW56IHNvCidhdXNlaW5hbmRlcmZhbGxlbicuICBCdXJnIGRhbm4gYXVjaCB3ZWl0ZXIgIHVudGVuLCBxdWFzaSB1bnRlciBkYXMgLi4uIGlzdApkYXMgZWluIEhhY2tlYmVpbGNoZW4sIHdhcyBkZXIgU2NobmVlbWFubiBkYSBpbiBkZXIgSGFuZCBoYWVsdD8KCk1haGEsIFNwaW9uIHVuZCBHaWZ0bWlzY2hlciBhRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtb3RpdiAoQW55c2lkb3JhLCAyMS4gTm92IDIwMDMsIDEzOjAwOjA5KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA2OTQxNTY0NyByZz1wYXJ0eQp+IyEgdGlkPTEwNjkzMjc0NTAKSWNoIHdlaXNzIG5pY2h0IHJlY2h0LiBNaXIgZ2VmYWVsbHQgZXMgZWlnZW50bGljaCBnYW56IGd1dCBzbywgd2llIGVzIGlzdC4gSWNoCmRlbmtlLCB3ZW5uIGRpZSBCdXJnIHJlY2h0cyBkYW5lYmVuIHdhZXJlLCBzYWVoZSBlcyBuaWNodCBzbyBndXQgYXVzLiBBYmVyIGljaAprYW5uIG1pY2ggYXVjaCB0YWV1c2NoZW4uLi4gbWFuIG11ZXNzdGUgbWFsIGJlaWRlIFZhcmlhbnRlbiBuZWJlbmVpbmFuZGVyCnNlaGVuLgpBbHNvIGxlZyBtYWwgbG9zIE1vbnRhbnVzICpmZyogOykKCkFueSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdXNpayBldCBjZXRlcmEgKEtla3MsIDIxLiBOb3YgMjAwMywgMTg6MTM6MzApOgp+IyEgcm49QW5hdG9sIHJ0PTEwNjkwOTc2NzIgcmc9cGFydHkKfiMhIHRpZD0xMDY5MDk3NjcyCkJla2FubnRsaWNoIGxlZ2UgaWNoIGphIG1laHIgV2VydCBhdWYgTXVzaWsgYWxzIGF1ZiBBbGtvaG9sIDotKSBEYWhlciB3ZXJkZQppY2ggbmF0dWVybGljaCBuZSBnYW56ZSBNZW5nZSBDRHMgbWl0bmVobWVuISAoSXN0IGphIG5lIGxhbmdlIGZhaHJ0KSAtPiBIaWVyCmRpZSB1bmdlZmFlaHJlIExpc3RlOgoKNCBOb24gQmxvbmRlcyAoV2hhdCdzIHVwKSAtIEFlcm9zbWl0aCAoQW5nZWwpIC0gQmVsbCBCb29rICYgQ2FuZGxlIChSZXNjdWUgbWUpCi0gQm9laHNlIE9ua2VseiAoV2llZGVyIG1hbCBuZW4gVGFnIHZlcnNjaGVua3QpIC0gQm9uIEpvdmkgKEFsd2F5cy9CZWQgb2YKcm9zZXMvVGhhbmsgeW91IGZvciBsb3ZpbmcgbWUpIC0gQnJ1Y2UgU3ByaW5nc3RlZW4gKENhbmR5J3Mgcm9vbS9UaGlzIGxhbmQpIC0KQ2xhc2ggKFNob3VsZCBJIHN0YXkgb3Igc2hvdWxkIEkgZ28pIC0gRGF2aWQgQm93aWUgKEhlbGRlbikgLSBUaGUgRG9vcnMgKFRoZQplbmQpIC0gV2FybG9jayAoRnVlciBpbW1lcikgLSBFdXJvcGUgKENhcnJpZSkgLSBGcmFua2EgUG90ZW50ZSAoV2lzaCkgLQpHdW5zJ04nUm9zZXMgKFN3ZWV0IENoaWxkIG8nIG1pbmUpIC0gSmFuaXMgSm9wbGluIChQaWVjZSBvZiBteSBoZWFydCkgLSBNZWF0CkxvYWYgKEFueXRoaW5nIGZvciBsb3ZlL0NvdWxkbid0IGhhdmUgc2FpZCBiZXR0ZXIvU3VyZnMgdXApIC0gTWV0YWxsaWNhCihOb3RoaW5nIGVsc2UgbWF0dGVycy9XaGlza2V5IGluIHRoZSBqYXIpIC0gTXIuIEJpZyAoV2lsZCB3b3JsZCkgLSBOaWNrZWxiYWNrCihIb3cgeW91IHJlbWluZCBtZS9Tb21lZGF5KSAtIE5pcnZhbmEgKFNtZWxscyBsaWtlIHRlZW5zIHNwaXJpdCkgLSBPZmZzcHJpbmcKKFByZXR0eSBmbHkpIC0gUGluayBGbG95ZCAoQW5vdGhlciBicmljayBpbiB0aGUgd2FsbCkgLSBQdWZmIERhZGR5IChJJ2xsIGJlCm1pc3NpbmcgeW91KSAtIFF1ZWVuIChCb2hlbWlhbiBSaGFwc29keS9XaG8gd2FudHMgdG8gbGl2ZSBmb3JldmVyL1VuZGVyCnByZXNzdXJlKSAtIFRoZSBSYXNtdXMgKEZpcnN0IGRheSBvZiBteSBsaWZlKSAtIFJlYW1vbm4gKEFscmlnaHQvSm9zZXBoaW5lKSAtClJvbGxpbmcgU3RvbmVzIChBbmdpZS9QYWludCBpdCBibGFjaykgLSBSb3NlbnN0b2x6IChFcyB0dXQgaW1tZXIgbm9jaCB3ZWgvTGFzcwpzaWUgcmVkZW4pIC0gU29jaWFsIERpc29ydGlvbiAoUmluZyBvZiBmaXJlKSAtIFNwb3J0ZnJldW5kZSBTdGlsbGVyIChUYWdlIHdpZQpkaWVzZXIpIC0gVTIgKFN3ZWV0ZXN0IHRoaW5nKSAtIFVnbHkgS2lkIEpvZSAoQ2F0cyBpbiB0aGUgY3JhZGRsZSkgLSBWaXJnaW5hCkpldHp0IChNZWluIHNlaW4pIC0gV2hlYXR1cyAoQSBsaXR0bGUgcmVzcGVjdCkKCkFCQkEgKEZlcm5hbmRvKSAtIEFjZSBvZiBCYXNlIChJIHNhdyB0aGUgc2lnbikgLSBCYXJyeSBSeWFuIChFbG9pc2UpIC0gQmVhY2gKQm95cyAoQmFyYmFyYSBBbm4pIC0gVGhlIEJlYXRobGVzIChMZXQgaXQgYmUpIC0gQmVhdXRpZnVsIFNvdXRoIChTb25nIGZvcgp3aG9ldmVyKSAtIEJsb25kaWUgKERlbmlzZSwgRGVuaXNlKSAtIEJvbmV5IE0gKE1hcnkncyBib3ljaGlsZC9SaXZlcnMgb2YKQmFieWxvbikgLSBCb25uaWUgVHlsZXIgKFRvdGFsIGVjbGlwc2Ugb2YgbXkgaGVhcnQpIC0gQm9vbXRvd24gUmF0cyAoSSBkb24ndApsaWtlIE1vbmRheXMpIC0gQnlyZHMgKEV2ZSBvZiBkZXN0cnVjdGlvbi9UaGUgbGlvbiBzbGVlcHMgdG9uaWdodCkgLSBDaW5neQpMYXVwZXIgKEFsbCB0aHJvdWdoIHRoZSBuaWdodCkgLSBDdXR0aW5nIENyZXcgKERpZWQgaW4geW91ciBhcm1zKSAtIERyYWZpCkRldXRzY2hlciAoWW91IHdhbmQgbG92ZS9NYXJtb3IsIFN0ZWluIHVuZCBFaXNlbikgLSBEdXN0eSBTcHJpbmdmaWVsZCAoU29uIG9mCmEgcHJlYWNoZXIgbWFuKSAtIEVhZ2xlcyAoSG90ZWwgQ2FsaWZvcm5pYSkgLSBFbHRvbiBKb2huIChOaWtpdGEpIC0gRXJpYwpDbGFwdG9uIChJIGNhbid0IHN0YW5kIHRoZSByYWluKSAtIEV1cnl0aG1pY3MgKFRoZXJlIG11c3QgYmUgYW4gYW5nZWwpIC0gRi4gUi4KRGF2aWQgKFdvcmRzIGRvbid0IGNvbWUgZWFzeSkgLSBGYWlyZ3JvdW5kIENoaWxkIChGaW5kIG15IGxvdmUpIC0gRm91bmRhdGlvbgooQnVpbGQgbWUgdXAgYnV0dGVyY3VwKSAtIEZyYW5rIEZhcm5oYW0gKFlvdSdyZSB0aGUgdm9pY2UpIC0gRnJhbmsgU2luYXRyYSAoTXkKd2F5KSAtIEdlb3JnZSBCYWtlciAoVW5hIHBhbG9tYSBibGFuY2EpIC0gR2xvcmlhIEdheW5vciAoSSBhbSB3aGF0IEkgYW0vSSB3aWxsCnN1cnZpdmUpIC0gR29vbWJheSAoU3VuIG9mIEphbWFpY2EpIC0gSGVpa2UgTWFrYXRzY2ggKFN0YW5kIGJ5IHlvdXIgbWFuKSAtCkhlcm1hbnMgSGVybWl0cyAoRGFuZHkpIC0gSmVybWFpbiBKYWNrc29uIChXaGVuIHRoZSByYWluIGJlZ2lucyB0byBmYWxsKSAtIEpvZQpDb2NrZXIgKExlYXZlIHlvdXIgaGVhdCBvbi9Mb3ZlIGxpZnRzIHVzIHVwKSAtIEpvaG4gRGVudmVyIChDb3VudHJ5IHJvYWRzKSAtCkpvaG5ueSBMb2dhbiAoSG9sZCBtZSBub3cpIC0gS2F0aGFyaW5hIGFuZCB0aGUgV2F2ZXMgKExvdmUgc2hpbmUgYSBsaWdodCkgLQpLZW5ueSBSb2dlcnMgKElzbGFuZHMgaW4gdGhlIHN0cmVhbSkgLSBLZXZpbiBSb3dsYW5kIChDb21lIG9uIEVpbGVlbikgLSBLaW0KV2lsZGUgKENhbWJvZGlhKSAtIExvYm8gKEkgbG92ZSB5b3UgdG8gd2FudCBtZSkgLSBNZWxhbmllIChSdWJ5IFR1ZXNkYXkpIC0KT2xzZW4gQnJvdGhlcnMgKEZseSBvbiB0aGUgd2luZ3Mgb2YgbG92ZSkgLSBPdHRhd2FuIChIYW5kcyB1cCkgLSBQYXQgQmVuYXRvcgooV2UgYmVsb25nKSAtIFBhdWwgWW91bmcgKExvdmUgb2YgdGhlIGNvbW1vbiBwZW9wbGUpIC0gUm91bmRlciBHaXJscyAoQWxsIHRvCnlvdSkgLSBTaW1vbiBhbmQgR2FyZnVua2VsIChDZWNpbGlhKSAtIFNtb2tpZSAoTmVlZGxlcyBhbmQgcGlucykgLSBTb3VsIEFzeWx1bQooUnVuYXdheSB0cmFpbikgLSBXYXRlcmxvbyAmIFJvYmluc29uIChNZWluZSBrbGVpbmUgV2VsdCkgLSBXZWF0aGVyIEdpcmxzCihJdCdzIHJhaW5pbmcgbWVuKQoKQWxleGFuZGVyIChUYWtlIG1lIHRvbmlnaHQvRnJlZSBsaWtlIHRoZSB3aW5kKSAtIEFsbCA0IE9uZSAoSSBzd2VhcikgLSBBbWVyaWNhCihMYXN0IHVuaWNvcm4pIC0gQW5kcmV3IERvbmFsZHMgKEFsbCBvdXQgb2YgbG92ZSkgLS0gQmFja3N0cmVldCBCb3lzIChJIHdhbnQKaXQgdGhhdCB3YXkpIC0gQmFuZ2xlcyAoRXRlcm5hbCBmbGFtZSkgLSBCZW4gKEdlc2VnbmV0IHNlaXN0IGR1KSAtIEJsdWUKKEd1aWx0eSkgLSBCb3l6b25lIChNeXN0aWNhbCBleHBlcmllbmNlL1lvdSBuZWVkZWQgbWUvV29yZHMpIC0gQnJ5YW4gQWRhbXMKKFBsZWFzZSBmb3JnaXZlIG1lL1N0cmFpZ2h0IGZyb20geW91ciBoZWFydCkgLSBDZWxpbmUgRGlvbiAoSSdtIGFsaXZlL1RoaW5rCnR3aWNlL0knbSB5b3VyIGFuZ2VsKSAtIENocmlzdGlhbiBXdW5kZXJsaWNoIChUaGF0J3MgdGhlIHdheSBpdCBpcykgLSBEYXZpZApTbmVkZG9uIChTdG9wIGxpdmluZyB0aGUgbGllKSAtIERTRFMgKFdlIGhhdmUgYSBkcmVhbSkgLSBFbHRvbiBKb2huIChDYW5kbGUgaW4KdGhlIHdpbmQpIC0gRW55YSAoQW55d2hlcmUgaXMvT25seSB0aW1lKSAtIEZyYW5rIER1dmFsIChHaXZlIG1lIHlvdXIgbG92ZSkgLQpGdWdlZXMgKEtpbGxpbmcgbWUgc29mdGx5KSAtIEhlcmJlcnQgR3JvZW5lbWV5ZXIgKERlciBXZWcvTWVuc2NoKSAtIEplYW5ldHRlCkJpZWRlcm1hbm4gKE5vIG1vcmUgdGVhcnMpIC0gSm9obiBMZW5ub24gKEltYWdpbmUpIC0gS2VsbHkgRmFtaWx5IChBbiBhbmdlbCkgLQpLb2VuaWcgZGVyIExvZXdlbiAoRGVyIGV3aWdlIEtyZWlzKSAtIExpb25lbCBSaWNoaWUgKFNheSB5b3UsIHNheSBtZSkgLSBMb3VkIDkKKFNvbmcgb2YgbGlmZSkgLSBNYWRvbm5hIChMaXZlIHRvIHRlbGwpIC0gTWFyYyBBbnRob255IChZb3Ugc2FuZyB0byBtZSkgLQpNaWRnZSBVcmUgKEJyZWF0aGUpIC0gTWlrZSBPbGRmaWVsZCAoVG8gRnJhbmNlKSAtIE1pbGxpIFZhbmlsbGkgKEdpcmwgSSdtCmdvbm5hIG1pc3MgeW91KSAtIE5hemFyZXRoIChMb3ZlIGh1cnRzKSAtIE5vIEFuZ2VscyAoQWxsIGNyaWVkIG91dCkgLSBPbGxpIFAuCihGbHVnemV1Z2UgaW0gQmF1Y2gvU28gYmlzdCBkdSkgLSBPcmFuZ2UgQmx1ZSAoRm9yZXZlci9TaGUncyBnb3QgdGhhdCBsaWdodCkgLQpQaGlsIENvbGxpbnMgKFlvdSdsbCBiZSBpbiBteSBoZWFydCkgLSBSLiBLZWxseSAoSWYgSSBjb3VsZCB0dXJuIGJhY2sgdGhlCmhhbmRzIG9mIHRpbWUpIC0gUkVNIChFdmVyeWJvZHkgaHVydHMpIC0gUm9iYmllIFdpbGxpYW1zIChGZWVsKSAtIFJvbmFuCktlYXRpbmcgKEluIHRoaXMgbGlmZS9JZiB0b21vcnJvdyBuZXZlciBjb21lcykgLSBTYXJhaCBCcmlnaHRtYW4gKFRpbWUgdG8gc2F5Cmdvb2RieWUpIC0gVmFuZXNzYSBBbW9yb3NpIChFdmVyeXRpbWUgSSBjbG9zZSBteSBleWVzKSAtIFdhdGVyc2hlZCAoSW5kaWdvCmdpcmwpCgpBdG9taWMgS2l0dGVuIChUaGUgdGlkZSBpcyBoaWdoKSAtIEJsdWUgKFlvdSBtYWtlIG1lIHdhbm5hKSAtIEJsYWNrIGV5ZWQgUGVhcwooV2hlcmUgaXMgdGhlIGxvdmUpIC1DaGVyIChTdHJvbmcgZW5vdWdoKSAtIERhbmllbCBLIChZb3UgZHJpdmUgbWUgY3JhemEpIC0KRWlmZWwgNjUgKEJsdWUpIC0gRW5yaXF1ZSBJZ2xlc2lhcyAoRXNjYXBlKSAtIEZhdCBCb3kgU2xpbSAoUHJhaXNlIHlvdSkgLSBHaWdpCmQnQWdvc3Rpbm8gKEwnYW1vdXIgdG91am91cnMpIC0gSGlnaGxhbmQgKE1hZ2ljIEZvcnR1bmEpIC0gSW4gTW9vZCAoT3plYW4gb2YKbGlnaHRzKSAtIEphbiBXYXluZSAoQmVjYXVzZSB0aGUgbmlnaHQvT25seSB5b3UpIC0gSnVzdGluIFRpbWJlcmxha2UgKENyeSBtZSBhCnJpdmVyKSAtIEthdGUgUnlhbiAoTGliZXJ0aW5lKSAtIEt5bGllIE1pbm9ndWUgKENhbid0IGdldCB5b3Ugb3V0IG9mIG15IGhlYXQpCi0gTG91IEJlZ2EgKE1hbWJvIE5vIDUpIC0gTHV0cmljaWEgTWMgTmVpbCAoUGVyZmVjdCBsb3ZlKSAtIE1hZG9ubmEgKERvbid0CmNyaWUgZm9yIG1lIEFyZ2VudGluYSkgLSBNYW5keSAmIFJhbmR5IChNYW5keSkgLSBObyBNZXJjeSAoUGxlYXNlIGRvbid0IGdvKSAtCk5vZW1pIChJbiBteSBkcmVhbXMpIC0gUHJlbHVkZXJzIChMb29zaW5nIG15IHJlbGlnaW9uKSAtIFJvYmJpZSBXaWxsaWFtcwooU3VwcmVtZSkgLSBTaGFraXJhIChPbmUvVW5kZXJuZWF0aCB5b3VyIGNsb3RoZXMpIC0gU2hhbmlhIFR3YWluIChLYQpjaGluZy9mb3JldmVyIGFuZCBmb3IgYWx3YXlzKSAtIFNvbmlxdWUgKEFsaXZlKSAtIFN5bHZlciAoRm9yZ2l2ZW4pIC0gVGFrZQpUaGF0IChOZXZlciBmb3JnZXQpIC0gVGluYSBDb3VzaW5zIChQcmF5KSAtIFgtVHJlbWUgKExvdmUgc29uZykKCkFsaWNlIChQZXIgRWxpc2EpIC0gQWxhZGRpbiAoRWluIFRyYXVtIHdpcmQgd2FocikgLSBDaHJpc3RpYW4gQW5kZXJzCihFaW5zYW1rZWl0KSAtIERhbmllbCBLIChUcmFnZWR5KSAtIERpZSBmYW50YXN0aXNjaGVuIFZpZXIgKEVpbnMgdW5kIGVpbnMpIC0KRG9sbHMgVW5pdGVkIChFaW5lIEluc2VsKSAtIEZyYW5rIFphbmRlciAoT2ggU3VzaWUpIC0gSGFucyBTb2VsbG5lciAoRGVyCmRldXRzY2hlIFRvdXJpc3QvRnVlciBkaWUgTWFtYSkgLSBIZWxnZSBTY2huZWlkZXIgKE1vZWhyY2hlbmxpZWQpIC0gSSBTYW50YQpDYWxpZm9ybmlhIChUb3JuZXJvKSAtIEpvYWNoaW0gRGV1dHNjaGxhbmQgKE1hcmllKSAtIEpvZSBEb2xjZSAoU2h1dCB1cCB5b3VyCmZhY2UpIC0gTGFzIEtldGNodXAgKEtldGNodXAgU29uZykgLSBMb3MgZGVsIFJpbyAoTWFjYXJlbmEpIC0gTmljb2xlIChFaW4KYmlzc2NoZW4gRnJpZWRlbikgLSBQdXBvIChTdSBkaSBub2kpIC0gU3VwZXJib3lzIChJY2ggd3VlbnNjaHQnIGR1IHdhZXJzdCBiZWkKbWlyKSAtIFRpemlhbm8gRmVycm8gKFBlcmRvbm8pIC0gVW1iZXJ0byBUb3p6aSAoVGkgYW1vL0dsb3JpYSkKCkJsYWNrc3RyZWV0IChObyBkaWdnaXR5KSAtIERKIE15c3RpYyAoU2VuZCBtZSBhbiBhbmdlbCkgLSBESiBPZXR6aSAoQnVyZ2VyCmRhbmNlKSAtIERKIFNhbGEgKEp1bGlhKSAtIEVtaW5lbSAoU2luZyBmb3IgdGhlIG1vbWVudCkgLSBFbm9taW5lIChEaWUgMTAKR2Vib3RlL0RlaW5lIFdlbHQpIC0gSUlPIChSYXB0dXJlIG1peCkgLSBLb3NoZWVuIChIaWRlIHlvdSkgLSBMaWNodGVuZmVscwooU291bmRzIGxpa2UgYSBtZWxvZHkpIC0gTW9sbGVsYSAoQmFieSkgLSBQYW5qYWJpIE1DIChNdW5kaWFuIHRvIGJlYWNoIGtleSkgLQpSdW4gRE1DIChJdCdzIGxpa2UgdGhhdCkgLSBTZWFuIFBhdWwgKEdldCBidXN5KSAtIFNoYWdneSAoSG9wZS9TdHJlbmd0aCBvZiBhCndvbWFuKSAtIFdoYXRldmVyIChEb24ndCBiZSBjcnVlbCkgLSBXaXRoaW4gVGVtcHRhdGlvbiAoTW90aGVyIEVhcnRoKSAtIEFjaGltClJlaWNoZWwgKERpZSBGbHV0KQoKCiprZWtzKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdXNpayBldCBjZXRlcmEgKENhdHdlYXpsZSwgMjEuIE5vdiAyMDAzLCAxODoyOTozMik6Cn4jISBybj1LZWtzIHJ0PTEwNjk0MzQ4MTAgcmc9cGFydHkKfiMhIHRpZD0xMDY5MDk3NjcyCkR1IGhhc3QgZGllIG5pY2h0IHdpcmtsaWNoIGFsbGUgYWJnZXRpcHB0LCBuaWNodCB3aXJrbGljaCBlaW5lbiBzbyBncm9zc2VuCktvZmZlciB1bmQgd2lsbHN0IGR1IG5pY2h0IHdpcmtsaWNoIGFsbGUgbWl0YnJpbmdlbiwgb2Rlcj8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdXNpayBldCBjZXRlcmEgKEtlbGx5YnVuZHksIDIxLiBOb3YgMjAwMywgMTg6MzA6NTQpOgp+IyEgcm49S2VrcyBydD0xMDY5NDM0ODEwIHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpLYW5uc3RlIG5pY2h0IGplZGVtIG5lbiBPbWJhdGlzIHNjaGlja2VuPyBkYXMgc2Nyb2xsdCBuZXQgc28gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11c2lrIGV0IGNldGVyYSAoRGFya2xvciwgMjEuIE5vdiAyMDAzLCAxODozODo1Nik6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTEwNjk0MzU4NTQgcmc9cGFydHkKfiMhIHRpZD0xMDY5MDk3NjcyClNpbmQgZG9jaCBnYXIgbmljaCBzbyB2aWVsZSBDRCdzIG9kZXI/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbW90aXYgKENhdHdlYXpsZSwgMjEuIE5vdiAyMDAzLCAxOTowMDoxMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2OTQzNzU1NCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTA2OTQzNzU1NApJaHIgaGFidHMgamEgbmljaHQgYW5kZXJzIGdld29sbHQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTXVzaWsgZXQgY2V0ZXJhIChHbG9pbnNvbiwgMjIuIE5vdiAyMDAzLCAwMToyOTozOSk6Cn4jISBybj1UaG9tYXNrIHJ0PTEwNjkzMTQwODIgcmc9cGFydHkKfiMhIHRpZD0xMDY5MDk3NjcyCldhcyAnbmUgYXJtZSBXdXJzdC4gVW5kIGVyIHdhciBuaWNodCBlaW5tYWwgZ2VtZWludC4gTG9lc2NoIG1hbCBlaW5lciBzZWluZW4KdW5kIG1laW5lbiBBcnRpa2VsIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdXNpayBldCBjZXRlcmEgKE11YWRpYiwgMjIuIE5vdiAyMDAzLCAxMjo0MToxNSk6Cn4jISBybj1LZWtzIHJ0PTEwNjk0MzQ4MTAgcmc9cGFydHkKfiMhIHRpZD0xMDY5MDk3NjcyCkRVIEhBU1QgRE9DSCBFSU5FTiBTQ0hBREVOIQo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTXVzaWsgZXQgY2V0ZXJhIChHbG9pbnNvbiwgMjIuIE5vdiAyMDAzLCAxMjo0MjoxNyk6Cn4jISBybj1NdWFkaWIgcnQ9MTA2OTUwMTI3NSByZz1wYXJ0eQp+IyEgdGlkPTEwNjkwOTc2NzIKVm9yIGFsbGVtIGZ1ZW5mIGFscGdoYWJldGlzY2ggc29ydGllcnRlIEdydXBwZW4gaGF0IHNpZSA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11c2lrIGV0IGNldGVyYSAoTW9udGFudXMsIDI0LiBOb3YgMjAwMywgMTA6NTI6MjMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA2OTUwMTMzNyByZz1wYXJ0eQp+IyEgdGlkPTEwNjkwOTc2NzIKVW5kIEJvZWhzZSBPbmtlbHoga2FubnN0ZSBnbGVpY2ggZGFoaWVtIGxhc3Nlbi4gRWJlbnNvIHdpZSBhbGxlIGFuZGVyZQpOYXppLU11Y2tlLGRhIGJpbiBpY2ggcmljaHRpZyBzY2hlaXNzZSBpbnRvbGVyYW50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTXVzaWsgZXQgY2V0ZXJhIChHbG9pbnNvbiwgMjQuIE5vdiAyMDAzLCAxNDo1NjoxNyk6Cn4jISBybj1Nb250YW51cyBydD0xMDY5NjY3NTQzIHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpEdSBoYXN0IGRpZXNlIExpc3RlIGdlbGVzZW4/IER1IGhhc3QgZGVmaW5pdGl2IHZpZWwgTGFuZ2V3ZWlsZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNdXNpayBldCBjZXRlcmEgKE1vbnRhbnVzLCAyNC4gTm92IDIwMDMsIDE0OjU4OjEwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNjk2ODIxNzcgcmc9cGFydHkKfiMhIHRpZD0xMDY5MDk3NjcyCk5laW4sIGljaCBoYWJlIHNpZSBudXIgZ2VzY2FubnQuIEJpcyB6dW0gZXJzdGVuIEtPLUtyaXRlcml1bS4gRGlhZ29uYWxsZXNlbgpuZW5udCBtYW4gZGFzIGdsYXViZSBpY2ggYXVjaC4gVW5kIGRhbm4gcmVoY3R6ZWl0aWcgZGllIHEtVGFzdGUgZ2VkcnVlY2t0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtU2hpcnQgKENhdHdlYXpsZSwgMjQuIE5vdiAyMDAzLCAxNjoxOTo1Myk6Cn4jISBvbj1NdWFkaWIgb3Q9MTA2OTY4NDU4NiBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1Nb250YW51cyBydD0xMDY5NjgyMTU1IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMDY5NjgyMTU1Cmh1Y2ggaWNoIGJpbiBhdWYgZGVyIHQtc2hpcnRsaXN0ZT8Kd2llc28gZGllc2VzPwp2b2xsZGFtcGYgenVydWVjaywgZGFzIHdhciBlaW4gbWlzc3ZlcnN0YWVuZG5pcy4gaWNoIHdpbGwgS0VJTiB0LXNoaXJ0LgoKaG9mZmVudGxpY2ggaXN0IGVzIG5vY2ggbmljaHQgenUgc3BhZXQuCgpncnVzcwoKbXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNdXNpayBldCBjZXRlcmEgKEZvb2JhciwgMjQuIE5vdiAyMDAzLCAxOToxODoxOCk6Cn4jISBybj1Nb250YW51cyBydD0xMDY5NjY3NTQzIHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpOYSwgaG9mZmVudGxpY2ggaGF0IG5vY2gga2VpbmVyIGRpZSBXYWduZXItQ0RzIGVpbmdlcGFja3QuCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11c2lrIGV0IGNldGVyYSAoQW5hdG9sLCAyNC4gTm92IDIwMDMsIDE5OjMyOjA2KToKfiMhIHJuPUZvb2JhciBydD0xMDY5Njk3ODk4IHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpXYWduZXIgd2FyIHp3YXIgQW50aXNlbWl0IGJpcyBpbnMgTWFyaywgYWJlciBlciBoYXQsIHNvIHd1ZXJkZSBNb250YW51cycKQXJndW1lbnRhdGlvbiB2aWVsbGVpY2h0IGxhdXRlbiwgZGFzIG5pY2h0IHVuYmVkaW5ndCBpbiBzZWluZXIgTXVzaWsgenVtCkF1c2RydWNrIGdlYnJhY2h0LgoKQnJhdWNoZW4gd2lyIG5vY2ggZWluIHBhcnR5LnNjaG1hcnJuIG9kZXIgZWluIHBhcnR5LmRpc2t1c3Npb24/ClZvbiBtaXIgYXVzIG1hZyBLZWtzIC0gd2llIGplZGVyIGFuZGVyZSAtIENEcyBtaXRicmluZ2VuLCBzb3ZpZWwgc2llIG1hZy4KTGV0enRlbiBFbmRlcyBlbnRzY2hlaWRlbiBkaWUsIGRpZSB2b3IgT3J0IGltIFNhYWxlIHNpbmQsIG9iIGRlciBESiBtaXQKZGVyIFBsYXR0ZSwgZGllIGVyIGF1ZmxlZ3QsIGR1cmNoLSB1bmQgYW5rb21tdCBvZGVyIG5pY2h0LgoKSW4gZGllc2VtIFp1c2FtbWVuaGFuZzogQmlzaGVyIGhhdCBzaWNoIGJlaSBtaXIgcGVyc29lbmxpY2ggS0VJTkVSCmdlbWVsZGV0IHVuZCBiZWthbm50IGdldGFuLCBkYXNzIGVyIDxiZXN0aW1tdGUgU3RpbHJpY2h0dW5nPiBvZGVyCjxiZXN0aW1tdGUgR3J1cHBlPiBvZGVyIDxiZXN0aW1tdGUgQ29tcGlsYXRpb24+IG1pdGJyaW5ndC4gRGFtaXQgaXN0Cktla3NlbnMgT3V0aW5nIG5vY2ggZnVlciBzaWNoIGFsbGVpbnN0ZWhlbmQuIFZpZWxlbiBEYW5rIGZ1ZXIgZGllCkJlcmVpdHNjaGFmdCwgTXVzaWsgaGVyYW56dXNjaGxlaWZlbiwgS2Vrcy4KCkFuYXRvbCAoUGFydHl2ZXJhbnR3b3J0bGljaGVyYXVzaGlsZnNhc3Npc3RlbnRlbm9yZG5lcnNjaGxlcHBlcikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNdXNpayBldCBjZXRlcmEgKEh1bW5pLCAyNC4gTm92IDIwMDMsIDE5OjQyOjMwKToKfiMhIHJuPUFuYXRvbCBydD0xMDY5Njk4NzI2IHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpTby4gT0suIEljaCB3ZXJkZSBtYWwgdmVyc3VjaGVuLCB3YXMgdm9uIEpCTyBtaXR6dWJyaW5nZW4uIE11c3MgYWJlciBnbGVpY2gKaGluenUgYW5tZXJrZW4sIGRhc3MgaWNoIGhldXRlIGVpbmVuIFRlcm1pbiBhbSBTYW1zdGFnIGdlbmFubnQgYmVrb21tZW4gaGFiZSwKZGVuIGljaCBub2NoIG5pY2h0IGthbm50ZSwgdW5kIGRhcnVtIHdvaGwgbGVpZGVyIHZlcm11dGxpY2ggKG5pY2h0IHNpY2hlcikKU2Ftc3RhZyBlcnN0IGFua29tbWUuIERhcmF1cyBmb2xndDogRnJlaXRhZ3Mga2VpbiBKQk8uIEVzIHNlaSBkZW5uLCBpaHIKYnJpbmd0cyBzZWxic3QgbWl0LiBCZXNzZXIgd2FlcmUgZGFzLiBPZGVyIG5vY2ggYmVzc2VyOiBJY2ggbXVzcyBkYSBkb2NoIG5pY2h0CmhpbiA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNdXNpayBldCBjZXRlcmEgKE1pcmlsLCAyNC4gTm92IDIwMDMsIDE5OjQ0OjU0KToKfiMhIHJuPUh1bW5pIHJ0PTEwNjk2OTkzNTAgcmc9cGFydHkKfiMhIHRpZD0xMDY5MDk3NjcyCkFsc28gaWNoIHdlcmQgYXVjaCBNdXNpayBtaXRicmluZ2VuLCBkaWUgaWNoIGhpZXIgc2ljaGVybGljaApuaWNodCBhbGxlIGF1ZnphZWhsZS4gT2IgaWhyIHNpZSBkYW5uIGhvZXJlbiB3b2xsdCwga29lbm50IGlocgpqYSB2b3IgT3J0IGVudHNjaGVpZGVuIDstKQoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE11c2lrIGV0IGNldGVyYSAoTGVpYmksIDI0LiBOb3YgMjAwMywgMTk6NDU6NDgpOgp+IyEgcm49TWlyaWwgcnQ9MTA2OTY5OTQ5NCByZz1wYXJ0eQp+IyEgdGlkPTEwNjkwOTc2NzIKYWxzbyBpY2gga29lbm50ZSAnbGFzdCBjaHJpc3RtYXMnIGVtcGZlaGxlbi4uLiBpbW1lcmhpbiBpc3QgZXMgZWluZSBuaWtvbGF1cwpwYXJ0eSA6KQoKbGVpYmkgLSB3ZWlobmFjaHRzZmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNdXNpayBldCBjZXRlcmEgKEJhbWJpLCAyNS4gTm92IDIwMDMsIDExOjU1OjU1KToKfiMhIHJuPUFuYXRvbCBydD0xMDY5Njk4NzI2IHJnPXBhcnR5Cn4jISB0aWQ9MTA2OTA5NzY3MgpGcmFnIEJvaW5nIG1hbCBuYWNoICJiYXJyYWJhcnJhIiB1bmQgb2IgaWNoIGRhcyBtaXRicmluZ2VuIHNvbGwuIH06KSBVbmQgZnJhZ2UKbWFsIHdlbiBtaXQgZW50c3ByZWNoZW5kZW4gUmVjaHRlbiwgbWVpbmVuIEFydGlrZWwgbmFjaCBzY2htYXJybiAob2RlciBtdWVsbD8pCnp1IHZlcmxlZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVzZmx1ZyBhbSBTYW1zdGFnPyAoTW9udGFudXMsIDI4LiBOb3YgMjAwMywgMDk6NDg6NTYpOgpTbyBhbHMga2xlaW5lIEFucmVndW5nLCBkYSBqYSBkb2NoIGVpbmlnZSBTcGV6aWFsaXN0ZW4gYXVmIGRlciBQYXJ0eSBzZWluCndlcmRlbjogaW4gcmVsYXRpdmVyIE5hZWhlIHp1ciBCdXJnIGJlZmluZGV0IHNpY2ggZGFzIChnbGF1ZWIgaWNoKSBlaW56aWdlCldoaXNreW11c2V1bSB2b24gRGV1dHNjaGxhbmQuIEluZm9zIHVudGVyIHd3dy53aGlza3ltdXNldW0uZGUgLSB2aWVsbGVpY2h0CmZpbmRldCBzaWNoIGphIGVpbiBIYXVmZW4gSW50ZXJlc3NpZXJ0ZXIsIGRlciBkYSBlaW5lbiBBdXNmbHVnIGhpbiB1dG5lcm5laG1lbgp3aWxsPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ljaHRlbG4gKE1vbnRhbnVzLCAyOC4gTm92IDIwMDMsIDEzOjU4OjI0KToKQWFhYWFsc286IGJpc2hlciB3YXIgZGFzIFdpY2h0ZWxuIGphIGltbWVyIG5lIGdhbnogbHVzdGlnZSBBa3Rpb24uIEljaCB3dWVyZGUKZnVlciBkaWVzZXMgSmFociBtYWwgZWluZSBub2NoIHNwYXNzaWdlcmUgVmVyc2lvbiB2b3JzY2hsYWdlbiwgZGVuIHNvZ2VuYW5udGVuCldlaXNzZW4gRWxlZmFudGVuLgpEYXMgZ2VodCBzbzogd2llIGdlaGFidCBicmluZ3QgamVkZXIgZWluIFdpY2h0ZWxnZXNjaGVuayBpbSBXZXJ0IHZvbiB6QiBjYSAzCkV1cm8gbWl0LCB2ZXJwYWNrdCBkaWVzIGFiZXIgYmVzb2RuZXJzIHBoYW50YXNpZXJlaWNoLgpBbGxlIFBha2V0ZSB3ZXJkZW4gb2VmZmVudGxpY2ggYXVzZ2VzdGVsbHQsIHVuZCBhbGxlIFRlaWxuZWhtZXIgemllaGVuIGVpbmUKTnVtbWVyLgpTcGllbGVyIDEgbmltbXQgc2ljaCBlaW5zIGRlciBQYWtldGUgdW5kIG1hY2h0IGVzIGF1Zi4KU3BpZWxlciAyIGhhdCBudW4gZGllIFdhaGwsIGVudHdlZGVyIFNwaWVsZXIgMSBzZWluIEdlc2NoZW5rIHp1IGtsYXVlbi4gRGFubgppc3QgU3BpZWxlciAxIHdpZWRlciBkcmFuLiBPZGVyIGVyIG1hY2h0IGVpbiBuZXVlcyBQYWtldCBhdWYuCkZhbGxzIGVyIGVpbiBuZXVlcyBhdWZnZW1hY2h0IGhhdCwgaXN0IGpldHp0IFNwaWVsZXIgMyBkcmFuLCBkZXIgZGllIFdhaGwgaGF0LAplaW5zIGRlciBiZXJlaXRzIG9mZmVuZW4gZ2VzY2hlbmtlIHp1IGtsYXVlbiBldGMuCldpY2h0aWdlIFJlZ2VsOiBqZWRlciBkYXJmIGplZGVzIEdlc2NoZW5rIG51ciAqZWlubWFsKiBrbGF1ZW4uIFdlbm4gbWFuIGVzCmRhbm4gKGZ1ZXIgZGVuLCBkZXIgZXMgYXVmZ2VtYWNodCBoYXQ6IHdpZWRlcikgdmVybGllcnQsIGlzdCBlcyBmdWVyIGFsbGUKRXdpZ2tlaXRlbiB3ZWcuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBsYWV0emNoZW4gKE1vbnRhbnVzLCAyOC4gTm92IDIwMDMsIDE0OjEyOjQ2KToKUm9uZGEgd2lsbCBnZXJuZSBQbGFldHpjaGVuIGJhY2tlbi4gV2llIHNpZWh0IGVzIGF1cz8gV2VyIG5vY2g/IAo6Z2lidCBSb25kYSBkZW4gc2Nod2FyemV0LU9yZ2FuaXNpZXItUGV0ZXIgd2VpdGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGxhZXR6Y2hlbmJhY2tlbiAgKExhcmluYSwgMjguIE5vdiAyMDAzLCAxNToxNzowNCk6CkhhbGxvIGFsbGVyc2VpdHMgLi4uIDopIApBbHNvIGljaCBmaW5kZSBQbGFldHpjaGVuIC0gYmFja2VuIGVpbmUgZ3V0ZSBJZGVlLCBudXIgUm9uZGEgd2lyZCBlcwpzaWNoZXJsaWNoIG5pY2h0IG9yZ2FuaXNpZXJlbiBrb2VubmVuLCBkYSBlciBlcnN0IGdhbnoga3VyeiB2b3IgZGVyIEZldGUgYXVzCmRlbSAiVXJsYXViIiBrb21tZW4gd2lyZC4gCkRhaGVyIGRpZSBGcmFnZTogd2VyIG1vZWNodGUgYmFja2VuLCB3ZXIgd3VlcmRlIHNpY2ggdW0gUmV6ZXB0ZSwgZGllIEJlc29yZ3VuZwpldGMuIGt1ZW1tZXJuPyAKRnJlaXdpbGxpZ2Ugdm9yIDopKSAKKmtudWRkZWxzKgpMYXJpbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJMLShNaW5pKXF1ZXN0PyAoQmFtYmksIDI5LiBOb3YgMjAwMywgMTU6MDg6NDgpOgpHaWJ0cyBkaWVzZXMgSmFociAod2llZGVyPykgZWluZSBSTC0oTWluaSlxdWVzdD8gVW5kIHdpcmQgZGllIGRhbm4gYXVjaApnZXNwaWVsdCwgb2RlciBmYWVsbHQgZGFzIGZsYWNoLCBzbyB3aWUgZGFzIE1vZXJkZXItU3BpZWwsIGRhcyB3aXIgZWluIHBhYXIKUGFydGllcyBkYXZvciBzcGllbGVuIHdvbGx0ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChCYW1iaSwgMjkuIE5vdiAyMDAzLCAxNTowOTo0OCk6CldlciBicmluZ3Qgd2VsY2hlIFNwaWVsZSBtaXQgenVyIFBhcnR5PyBJY2gga29lbm50ZSBlaW5lIGV4cGxvc2lvbnMtVmFyaWFudGUKbWl0YnJpbmdlbiwgZGllIGljaCBmdWVyIEZETyBhbHMgTXVkLVNwaWVsIHVtZ2VzZXR6dCBoYWJlLiBJY2gga29lbm50ICh6dXIKTm90KSBub2NoIFN0ZXJuZmFocmVyLCBCb2huYW56YSB1bmQgNCBnZXdpbm50IG1pdGJyaW5nZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWZlcmF0ZSB1bmQgVm9ydHJhZWdlLiAoQmFtYmksIDI5LiBOb3YgMjAwMywgMTU6MTA6MzgpOgpTaW5kIFJlZmVyYXRlIG9kZXIgVm9ydHJhZWdlIGdlcGxhbnQ/IEdpYnQgZXMgYmVzb25kZXJlIFd1ZW5zY2hlIGZ1ZXIgUmVmZXJhdGUKb2RlciBWb3J0cmFlZ2U/IFdpZSBzaWVodCBkaWUgdGVjaG5pc2NoZSBBdXNzdGF0dHVuZyBhdXM/IEdhYnMgbmVuIE9IUD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWZlcmF0ZSB1bmQgVm9ydHJhZWdlLiAoUm9jaHVzLCAyOS4gTm92IDIwMDMsIDE1OjEzOjE1KToKfiMhIHJuPUJhbWJpIHJ0PTEwNzAxMTUwMzggcmc9cGFydHkKfiMhIHRpZD0xMDcwMTE1MDM4CmphLCBnYWIgZXMsIGZyYWcgbHVnIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlZmVyYXRlIHVuZCBWb3J0cmFlZ2UuIChNb250YW51cywgMjkuIE5vdiAyMDAzLCAxNzo1Njo1Nik6Cn4jISBybj1Sb2NodXMgcnQ9MTA3MDExNTE5NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzAxMTUwMzgKSmEsIE9IUCBpc3QgZGEuIEljaCBHTWUgZ2VybmUgZWluIHBhYXIgcGFydGllbiAiV2Vyd29lbGZlIiwgdW5kIGV2dGwgZ2lidCBqYQplaW5lIE1pbmlxdWVzdCAiZmluZGV0IGRhcyBXaGlza3ltdXNldW0iLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVsZSBhbiBkZXIgUGFydHkuLi4gKE11cGZlbCwgMjkuIE5vdiAyMDAzLCAxOToyODoyMSk6Cn4jISBybj1CYW1iaSBydD0xMDcwMTE0OTg4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDExNDk4OApJY2gga29lbm50ZSBSYWdlLCBHYXJnb24sIE1peHR1ciB1bmQgIkZpbnN0ZXJlIEZsdXJlIiBtaXRicmluZ2VuLCBzbwpnZXd1ZW5zY2h0Li4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChBaGFiLCAyOS4gTm92IDIwMDMsIDE5OjMwOjUzKToKfiMhIHJuPU11cGZlbCBydD0xMDcwMTMwNTAxIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDExNDk4OApSYWdlIGlzIGltbWVyIGd1dC4gOy0pCgpBaGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BpZWxlIGFuIGRlciBQYXJ0eS4uLiAoTW9udGFudXMsIDI5LiBOb3YgMjAwMywgMjI6MzU6MTgpOgp+IyEgcm49QWhhYiBydD0xMDcwMTMwNjUzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDExNDk4OApGaW5zdGVyZSBGbHVyZSBpc3QgaW1tZXIgZ3V0LiBJY2gga29lbm50ZSBhdWNoIHNvIGVpbmlnZXMgbWl0YnJpbmdlbiwgbWFsCnNlaGVuLCB3YXMgbm9jaCBhbGxlcyBpbnMgR2VwYWVjayBwYXNzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFiaG9sZW4gKEtla3MsIDMwLiBOb3YgMjAwMywgMTE6MTI6NTkpOgprb2VubnRlIHVucyAoMyBwZXJzb25lbikgamVtYW5kIGFtIHNhbXN0YWcgKDYuMTIuKSB1bSBjYS4gOTozMCB1aHIgdm9uIGJhZAprcmV1em5hY2gsIGJhaG5ob2YgYWJob2xlbj8gYW5zb25zdGVuIHd1ZXJkZW4gd2lyIGVyc3QgbmFjaG1pdHRhZyBhbmtvbW1lbi4uLgpmYWxscyBqZW1hbmQgc2Nob24gc28gZnJ1ZWggd2FjaCB6dSBzZWluIGdsYXVidCAtIGJpdHRlIG1pciBlaW5lIG1haWwKc2NocmVpYmVuIDotKSBtYWdfaGFzaUBob3RtYWlsLmNvbSAtICprZWtzKiAoZGllICpoYXNpKikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwaWVsZSBhbiBkZXIgUGFydHkuLi4gKEdsb2luc29uLCAzMC4gTm92IDIwMDMsIDIwOjMzOjU3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNzAxNDE3MTggcmc9cGFydHkKfiMhIHRpZD0xMDcwMTE0OTg4CkljaCBrYW5uIGphIEdub21lIG1laW4gIkRzY2hpbmdpcyBCb2huIiB6dW0gRWlud2VpaGVuIChsaWVzdCBzaWNoIG5ldHQgLi4uIGVpbgpCb2huYW56YS1TaWVkbGVyLU1peCkgdW5kIFNpZ25pZXJlbmxhc3NlbiBtaXRnZWJlbi4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChaZXBoeXIsIDMwLiBOb3YgMjAwMywgMjM6MTY6NDkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3MDIyMDgzNyByZz1wYXJ0eQp+IyEgdGlkPTEwNzAxMTQ5ODgKV2lyIGJpZXRlbiBBbGhhbWJyYSwgRXVwaHJhdCAmIFRpZ3JpcyAoYml0dGUgaGludGVuIGFuc3RlbGxlbiA7KSkKc293aWUgSGFsYWxpLCBUcmFucyBBbWVyaWNhLCBDYXJjYXNzb25uZSAobWl0IEVyd2VpdGVydW5nZW4pIHVuZApGbHV4eC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChDYXNzYW5kcmEsICAxLiBEZXogMjAwMywgMTE6NDc6MTkpOgp+IyEgcm49QmFtYmkgcnQ9MTA3MDExNDk4OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzAxMTQ5ODgKQmVzdGVodCBub2NoIGJlZGFyZiBhbiBUYWxpc21hbiwgU2llZGxlciwgQm9uYW56YSwgUmFnZSBvZGVyIFBoYXNlIDEwPyBGYWxscwpqYSBrb2VubnQgaWNoIHZlcnN1Y2hlbiB3YXMgZGF2b24gaW4gbWVpbiBHZXBhZWNrIHp1IHN0b3BmZW4uIChBbGxlcyB3aXJkIGthdW0KcmVpbnBhc3NlbikKCkNhc3N5LCB3aWxsIHNvcGllbGVuIHVuZCBmZWllcm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BpZWxlIGFuIGRlciBQYXJ0eS4uLiAoTXVhZGliLCAgMS4gRGV6IDIwMDMsIDEyOjQ0OjIyKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDcwMjc1NjM5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDExNDk4OAprYW5uc3QgZHUgZGFzIG1pdCBkZW0gd2Vpc3NlbiBlbGVmYW50ZW4gbm9jaG1hbCBlcmtsYWVyZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChDYXR3ZWF6bGUsICAxLiBEZXogMjAwMywgMTM6MDA6MDcpOgp+IyEgcm49TXVhZGliIHJ0PTEwNzAyNzkwNjIgcmc9cGFydHkKfiMhIHRpZD0xMDcwMTE0OTg4CjpoYXQgZGllIGxldHp0ZSBSZWdlbCBhdWNoIG5pY2h0IGdlcmFmZnQuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwaWVsZSBhbiBkZXIgUGFydHkuLi4gKE1vbnRhbnVzLCAgMS4gRGV6IDIwMDMsIDEzOjAxOjQ3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcwMjgwMDA3IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDExNDk4OApEdSBEcmFmc3QgamVkZXMgSXRlbSBudXIgZ2VuYXUgMW1hbCBrbGF1ZW4uIERhaGVyIGthbm4gZGlyIGplZGVzIEl0ZWFtIGF1Y2gKbWF4aW1hbCAybWFsIGdla2xhdXQgd2VyZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFzdCBDYWxsOiBLbGV0dGVyYXVzZmx1ZyA6KSAoWm9vaywgIDEuIERleiAyMDAzLCAxMzowODo0Nyk6CkhvaSwgbmFjaCB3ZXR0ZXItb25saW5lLmRlIGtvZW5udGUgZXMgc2VpbiwgZGFzcyBlcyBhbSBXb2NoZW5lbmRlIHRhdHNhZWNobGljaAp0cm9ja2VuIGJsZWlidCwgd29iZWkgNyBHcmFkIENlbHNpdXMgbmljaHQgc28gZ2FueiBkaWUgVGVtcGVyYXR1cndvbm5lIHNpbmQsCmFiZXIgZXZ0bC4gZmluZGV0IHNpY2ggamEgZWluZSBzdWVkbGljaCBhdXNnZXJpY2h0ZXRlIFdhbmQuIDopIEljaCB3dWVyZGUgYWxzbwphbSBXb2NoZW5lbmRlIG1laW4gR2VyYWZmZWwgenVtIEtsZXR0ZXJuIG1pdG5laG1lbi4gS29tbXQgbm9jaCBqZW1hbmQgbWl0PyAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChBcmssICAxLiBEZXogMjAwMywgMTg6MzY6MTMpOgp+IyEgcm49WmVwaHlyIHJ0PTEwNzAyMzA2MDkgcmc9cGFydHkKfiMhIHRpZD0xMDcwMTE0OTg4Ck5hLCBkYW5uIGxhc3MgaWNoIG1pY2ggbmljaHQgbHVtcGVuIHVuZCB3ZXJmZSBXaWxkbGlmZSBtaXQgaW4gZGVuIFBvb2wuCi4gbyAwIChob2ZmZW50bGljaCBkZW5rZSBpY2ggZHJhbikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChaZXBoeXIsICAxLiBEZXogMjAwMywgMjE6MzY6MjApOgp+IyEgcm49TW9udGFudXMgcnQ9MTA3MDI4MDEwNyByZz1wYXJ0eQp+IyEgdGlkPTEwNzAxMTQ5ODgKQmluIGljaCBkaWUgZWluemlnZSwgZGllIGRhcyBTeXN0ZW0gZG9vZiBmaW5kZXQ/CkM0IC0gZnVlciAia29udmVudGlvbmVsbGVzIiBXaWNodGVsbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU3BpZWxlIGFuIGRlciBQYXJ0eS4uLiAoWm9vaywgIDEuIERleiAyMDAzLCAyMTo0MDoyMyk6Cn4jISBybj1aZXBoeXIgcnQ9MTA3MDMxMDk4MCByZz1wYXJ0eQp+IyEgdGlkPTEwNzAxMTQ5ODgKa0EsIGljaCB3aWNodGVsIG5pY2h0IG1pdCwgZGFoZXIgaGFiIGljaCBkZW4gQXJ0aWtlbCBudXIgdWViZXJmbG9nZW4gdW5kIGlobgpkYWJlaSBuaWNodCB2ZXJzdGFuZGVuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNwaWVsZSBhbiBkZXIgUGFydHkuLi4gKEdsb2luc29uLCAgMS4gRGV6IDIwMDMsIDIzOjQwOjU2KToKfiMhIHJuPVpvb2sgcnQ9MTA3MDMxMTIyMyByZz1wYXJ0eQp+IyEgdGlkPTEwNzAxMTQ5ODgKSG9lcnQgc2ljaCBsdXN0aWdlciBhbiBhbHMga29udmVudGlvbmVsbGVzIGljaHRlbG4gYmVpIGRlbSBpY2ggYXVjaCBuaWNodCBtZWhyCmdlcm4gbWl0bWFjaGUsIHdlaWwgZGllIG1laXN0ZW4gc2ljaCBuaWNodCB2aWVsIChhdXMpIHp1IGRlbmtlbiB3b2xsZW4Kc2NoZWluZW4uCgphcyBXIGRhcmYgZGVyIEZpbmRlciBiZWhhbHRlbi4KCkRhcyBEIGF1Y2guIEFyZ2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU3BpZWxlIGFuIGRlciBQYXJ0eS4uLiAoQm9pbmcsICAyLiBEZXogMjAwMywgMTA6MTM6MTEpOgp+IyEgcm49Wm9vayBydD0xMDcwMzExMjIzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDExNDk4OApJY2ggaGFiIGRhcyBTeXN0ZW0gYXVjaCBuaWNodCB2ZXJzdGFuZGVuIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFzdCBDYWxsOiBLbGV0dGVyYXVzZmx1ZyA6KSAoQmFtYmksICAyLiBEZXogMjAwMywgMTk6MDg6MDEpOgp+IyEgcm49Wm9vayBydD0xMDcwMjgwNTI3IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDI4MDUyNwpJY2ggaGFiZSBrZWluZSBlaWdlbmUgS2xldHRlcmF1c3J1ZXN0dW5nLiA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMYXN0IENhbGw6IEtsZXR0ZXJhdXNmbHVnIDopIChHbG9pbnNvbiwgIDIuIERleiAyMDAzLCAxOToxODoyNCk6Cn4jISBybj1CYW1iaSBydD0xMDcwMzg4NDgxIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDI4MDUyNwpNaXQgMTAwIEV1cm8gYmlzdCBkdSBkYWJlaS4gSmVkZW5mYWxscyBiaWV0ZW4gYmVpIHVucyBkaXZlcnNlIExhZWRlbiBlaW5lCk1pbmltYWxhdXNydWVzdHVuZyBiZXN0ZWhlbmQgYXVzIFNjaHVoZW4sIEd1cnRlbiwgS3JlaWRlIGZ1ZXIgMTAwIEV1cm8gbmFjaApkZW0gd2FzIGljaCBtaXIgaGFiIHNhZ2VuIGxhc3Nlbi4gVW5kIGRhIGRpZSBQYXJ0eSBzY2hvbiA1MCBrb3N0ZXQsIHdpcnN0IGR1CmRhcyBiaXNzZWwgd29obCBhdWNoIG5vY2ggaGFiZW4sIG9kZXI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGFzdCBDYWxsOiBLbGV0dGVyYXVzZmx1ZyA6KSAoWm9vaywgIDIuIERleiAyMDAzLCAxOTo0ODo1MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDcwMzg5MTA0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDI4MDUyNwpJY2gga2FubiBLcmFtIGF1Y2ggbWl0YnJpbmdlbjsgYWJlciBpY2ggZ2VoZSBudXIsIHdlbm4gbWluZGVzdGVucyBlaW5lciBtaXQKZGFiZWkgaXN0LCBkZXIgc2ljaGVyIGVpbmVuIFZvcnN0ZWlnZXIgc2ljaGVybiBrYW5uLiBCaXNoZXIgc2NoYXV0IGRhcyBub2NoCm5pY2h0IHNvIGF1cy4uLiA7KQoKWm9vay4KClBTOiBHbG9pbnNvbiwgZGllIEdydW5kYXVzcnVlIGR1ZXJmdGUgd29obCBlaGVyIGF1cyBTY2h1aGVuLCBHdXJ0LCAKSE1TLUthcmFiaW5lciB1bmQgaW4gZGllc2VtIEZhbGwgSGVsbSghKSBiZXN0ZWhlbi4gCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGFzdCBDYWxsOiBLbGV0dGVyYXVzZmx1ZyA6KSAoR2xvaW5zb24sICAyLiBEZXogMjAwMywgMTk6NTY6MTYpOgp+IyEgcm49Wm9vayBydD0xMDcwMzkwOTMwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDI4MDUyNwpTdGltbXQsIGljaCBoYWIgZGVuIEthcmFiaW5lciB2ZXJnZXNzZW4uIERlbiBIZWxtIGJyYXVjaHQgQmFtYmkgYmVzdGltbXQgbmljaHQKLi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNwaWVsZSBhbiBkZXIgUGFydHkuLi4gKENhc3NhbmRyYSwgIDMuIERleiAyMDAzLCAxMjowOTowMik6Cn4jISBybj1aZXBoeXIgcnQ9MTA3MDMxMDk4MCByZz1wYXJ0eQp+IyEgdGlkPTEwNzAxMTQ5ODgKTmVpbiBiaXN0IGR1IG5pY2h0LgoKQmluIG5pY2h0IHNpY2hlciBvYiBpY2ggZGFzIGtvbXBsZXR0IHZlcnN0YW5kZW4gaGFiZSwgYWJlciBpY2ggZmluZHMgbmljaHQgc28KbHVzdGlnIHdlbm4gZGllIGdlc2NoZW5rZSBlaW5lbSB3aWVkZXIgZ2VrbGF1dCB3ZXJkZW4ga29lbm5lbi4ga29lbm50ZSB2b3IKYWxsZW4gYXVjaCBuZW4gemllaG1saWNoZXMgY2hhb3MgZ2ViZW4sIGplIG5hY2ggYW56YWhsIGRlciBsZXV0ZS4KCkNhc3N5LCB0cmFkaXRpb25lbGwgd2ljaHRlbG4gd29sbGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VnYmVzY2hyZWlidW5nPyE/IChTaGFrZWRiZWVyLCAgNC4gRGV6IDIwMDMsIDA5OjI4OjMxKToKSGkhCgpHaWJ0cyBpcmdlbmR3byBuZSBXZWdiZXNjaHJlaWJ1bmc/IERpZSBBZHJlc3NlIHd1ZXJkZSBtaXIgYXVjaCByZWljaGVuLiA7LSkKClRoeCwKU2hha3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VnYmVzY2hyZWlidW5nPyE/IChNb250YW51cywgIDQuIERleiAyMDAzLCAwOTozNjo1MCk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTEwNzA1MjY1MTEgcmc9cGFydHkKfiMhIHRpZD0xMDcwNTI2NTExCnd3dy5zY2h1bGxhbmRoZWltLXdpbnRlcmJ1cmcuZGUgLSBkYSBkYW5uIGF1ZiAiS29udGFrdCIsIHVkbiB2b2lhIGhhc3QgZHUgZWluZQpzY2hvZW5lIEFuZmFocnRiZXNjaHJlaWJ1bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vY2htYWwgTXVzaWsgKEphbWVzb24sICA0LiBEZXogMjAwMywgMTA6NDU6MTUpOgpXZXIgc2VpbmUgTXVzaWsgaW4gRm9ybSB2b24gbXAzLURhdGVpZW4gbWl0YnJpbmd0ICh2b3J6dWdzd2Vpc2UgYXVmIENEKSwga2FubgpzaWUgYmVpIG1pciBhdWYgZGVtIExhcHRvcCBhYnNwaWVsZW4uIERlbiBzY2hsaWVzc2UgaWNoIGFuIGRpZSBBbmxhZ2UgYW4sIHVuZApkYW5uIG1hY2hlbiB3aXIgZWluZSBodWVic2NoZSBQbGF5bGlzdC4gWnVzYW1tZW4gbWl0IG1laW5lbiAxMCBHQiBzb2xsdGUgZGEKd2FzIGRhYmVpIHNlaW4sIHdhcyBkaWUgTWV1dGUgbWFnLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbm9jaG1hbCBNdXNpayAoQ3JvZnQsICA0LiBEZXogMjAwMywgMTA6NDY6NDEpOgp+IyEgcm49SmFtZXNvbiBydD0xMDcwNTMxMTE1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDUzMTExNQo6c2NoYXV0IEFrYXNoYSBmcm9laGxpY2ggYW4gdW5kIGdyaW5zdCBzaWNoIGVpbnMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUS0tHIChCYW1iaSwgIDQuIERleiAyMDAzLCAxMDo1NjozNSk6CkhhbGxvIEthdHplbmtyaWVnZXItSGFiZXIuCkZhbGxzIGdld3VlbnNjaHQsIGRydWNrIGljaCBkaWUgQnJldHQtTm90aXplbiBhdXMgdW5kIGJyaW5nIHNpZSB6d2Vja3MKZ2VtZWluc2FtZXIgUGxhbnVuZyBkZXIgR2lsZGVucmFldW1lIG1pdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUS0tHIChNb250YW51cywgIDQuIERleiAyMDAzLCAxMDo1ODozNSk6Cn4jISBybj1CYW1iaSBydD0xMDcwNTMxNzk1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDUzMTc5NQpCZWRldXRldCBkYXMsIGRhc3MgZHUgZWluIFNlbWluYXIgYW5iaWV0ZXN0LCBCYW1iaT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVEtLRyAoQmFtYmksICA0LiBEZXogMjAwMywgMTM6NTE6MDUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA3MDUzMTkxNSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA1MzE3OTUKV2VubiwgZGFubiBuaWNodCB6dXIgS2F0emVua3JpZWdlcmdpbGRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVEtLRyAoTW9udGFudXMsICA0LiBEZXogMjAwMywgMTM6NTY6MDkpOgp+IyEgcm49QmFtYmkgcnQ9MTA3MDU0MjI2NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA1MzE3OTUKU29uZGVybj8gSmV0enQgbWFsIEJ1dHRlciBiZWkgZGllIEZpc2NoZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VnYmVzY2hyZWlidW5nPyE/IChTaGFrZWRiZWVyLCAgNC4gRGV6IDIwMDMsIDE0OjQ1OjM4KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNzA1MjcwMTAgcmc9cGFydHkKfiMhIHRpZD0xMDcwNTI2NTExCkFoLiBEYW5rZS4gOi0pIAoKU2hha3kgLSBnZWh0IGdsZWljaCBtYWwgZGllIFRhc2NoZSBwYWNrZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2htYWwgU3BpZWxlLi4uIChCYW1iaSwgIDQuIERleiAyMDAzLCAxODoxOToyNCk6CkljaCBicmluZyBkaWUgdm9uIG1pciBnZW5hbm50ZW4gU3BpZWxlIG1pdC4gV2VubiBpY2ggV3VlbnNjaGUgYW5tZWxkZW4gZGFyZjoKV2llIGhpZXNzZW4gZGllIFNwaWVsZSwgZGllIGRpZXNlcyBKYWhyIGZ1ZXIgIlNwaWVsIGRlcyBKYWhyZXMiIGltIFJlbm5lbgp3YXJlbj8gT2RlciB2aWVsbGVpY2h0IFJvYm8gUmFsbHkuIFVuZCB6dSBTdGFyIFF1ZXN0IHd1ZXJkIGljaCBtaWNoIGF1Y2gKdWViZXJyZWRlbiBsYXNzZW4uIE51ciBkZXIgTm9zdGFsZ2llIGhhbGJlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRLS0cgKEJhbWJpLCAgNC4gRGV6IDIwMDMsIDE4OjI0OjA5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNzA1NDI1Njkgcmc9cGFydHkKfiMhIHRpZD0xMDcwNTMxNzk1CkljaCB3ZXJkIChkaWVzZXMgbWFsIHp1bWluZGVzdCkga2VpbiBTZW1pbmFyIGhhbHRlbi4gV2FzIGRpZSBLS0cgbWl0IGVpbmVtClNlbWluYXIgenUgdHVuIGhhYmVuIHNvbGwsIGlzdCBtaXIgbmljaHQgZ2FueiBrbGFyIHVuZCB3YXMgaWNoIHNvbnN0IG5vY2ggaW4KRXJ3YWVndW5nIGdlem9nZW4gaGFiZSwgaXN0IGphIHdvaGwgV3Vyc2NodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRLS0cgKERhcmtsb3IsICA0LiBEZXogMjAwMywgMjA6MDg6MTkpOgp+IyEgcm49QmFtYmkgcnQ9MTA3MDU1ODY0OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA1MzE3OTUKKEJpbiB6d2FyIG5pY2ggZGEsKSBIb2VydCBzaWNoIGFiZXIgaW50ZXJlc3NhbnQgYW4uIDspCgpEYXJrbHIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NobWFsIFNwaWVsZS4uLiAoWmVwaHlyLCAgNC4gRGV6IDIwMDMsIDIxOjI4OjMxKToKfiMhIHJuPUJhbWJpIHJ0PTEwNzA1NTgzNjQgcmc9cGFydHkKfiMhIHRpZD0xMDcwNTU4MzY0CklzdCB2aWVsbGVpY2h0IGplbWFuZCBpbSBCZXNpdHogZGVzIHNjaG9lbmVuIFNwaWVscyAiQ2FuJ3QgU3RvcCIKdW5kIGtvZW5udGUgZGllc2VzIG1pdGJyaW5nZW4/IFpvb2sgaGFldHRlIGJlc3RpbW10IHNlaW5lbiBTcGFzcyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOb2NobWFsIFNwaWVsZS4uLiAoWm9vaywgIDQuIERleiAyMDAzLCAyMjowMzoxNik6Cn4jISBybj1aZXBoeXIgcnQ9MTA3MDU2OTcxMSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA1NTgzNjQKWm9vayBzY2htdW56ZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChab29rLCAgNC4gRGV6IDIwMDMsIDIyOjM4OjI0KToKfiMhIHJuPUxpYXJhIHJ0PTEwNzA1NzM4NDMgcmc9cGFydHkKfiMhIHRpZD0xMDcwMTE0OTg4CkFsc28gIkNhbid0IHN0b3AiIHdhciB2b24gWmVwaHlyIGdld3VlbnNjaHQuIFdhZXIgc3VwaSwgd2VubiBEdSBkYXMgbWl0YnJpbmdlbgprb2VubnRlc3QuIDopCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9jaG1hbCBTcGllbGUuLi4gKFRvZSwgIDQuIERleiAyMDAzLCAyMjo1MjowMCk6Cn4jISBybj1MaWFyYSBydD0xMDcwNTc0NTc0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDU1ODM2NApkYXMgaXN0IHByaW1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGUgYW4gZGVyIFBhcnR5Li4uIChMaWFyYSwgIDQuIERleiAyMDAzLCAyMjo1NDoxNik6Cn4jISBybj1ab29rIHJ0PTEwNzA1NzM5MDQgcmc9cGFydHkKfiMhIHRpZD0xMDcwMTE0OTg4CkpvLiBJc3QgYmVyZWl0cyBlaW5nZXBhY2t0LgpBdXNzZXJkZW0gbm9jaCBkaWUgQm9laG5jaGVuc3BpZWxlLCBBdHRyaWJ1dCwgS29lbmlnIGRlciBEaWViZSwgR29sZGxhbmQsIFpvZmYKaW4gQnVmZmFsbywgV2VyIHdpcmQgTWlsbGlvbmFlciwgSGVyciBkZXIgUmluZ2UtQnJldHRzcGllbCB2b24gS29zbW9zIChtaXQgZGVtCkdhbmRhbGYgZHJhdWYpIHVuZCBEYXMgS29udG9yLgpadXNhZXR6bGljaCBoYWJlIGljaCBub2NoIFBoYXNlIDEwIHVuZCBSYXNlbmRlIFJvYm90ZXIgdm9uIFR3aW5naSBnZWZ1bmRlbiwKZGllIGJyaW5nZSBpY2ggYXVjaCBtYWwgbWl0LiA7PgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vY2htYWwgU3BpZWxlLi4uIChGaXJlaGF3aywgIDQuIERleiAyMDAzLCAyMjo1NTo0Nik6Cn4jISBybj1CYW1iaSBydD0xMDcwNTU4MzY0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDU1ODM2NApEYW5uIHBhY2sgaWNoIG1hbCBsaWViZXIgUm9ibyBSYWxseSBlaW4uIEljaCBoYWIgYWJlciBudXIgZGFzIG5vcm1hbGUKR3J1bmRzcGllbCA7KSBBbHNvIHdlciBhdWNoIGltbWVyIHNlbGJzdCBHcnVuZC0gKyBFcndlaXRlcnVuZ3NzcGllbGUKbWl0YnJpbmdlbiB3aWxsLCBkYXJmIGRhcyBnZXJuZSB0dW4uCgpGaXJlKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOb2NobWFsIFNwaWVsZS4uLiAoQ2F0d2VhemxlLCAgNC4gRGV6IDIwMDMsIDIzOjU1OjUwKToKfiMhIHJuPUZpcmVoYXdrIHJ0PTEwNzA1NzQ5NDYgcmc9cGFydHkKfiMhIHRpZD0xMDcwNTU4MzY0CkljaCB3b2xsdGUgendhciBrZWluZSBNYXNzZW4gZWlucGFja2VuLCBhYmVyIGRhenUga29lbm50ZSBpY2ggbWljaApoZXJhYmxhc3NlbiwgamEgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5vY2htYWwgU3BpZWxlLi4uIChaYXJuaXlhLCAgNS4gRGV6IDIwMDMsIDEzOjU2OjAxKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcwNTc4NTUwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDU1ODM2NAppY2gga29tbSB6d2FyIG5pY2h0LCBhYmVyIGljaCBoYWIgbWlyIGluendpc2NoZW4gZGllIDIuIEVyd2VpdGVydW5nIHp1CkNhcmNhc3Nvbm5lIGdlaG9sdCB1bmQgZGllIFN1Y2h0IHdpcmQgZ3JvZXNzZXIgdW5kIGdyb2Vzc2VyLi4uLiAKCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmUgZ3Jvc3NlIChNdWFkaWIsICA3LiBEZXogMjAwMywgMTc6MjM6MzcpOgpEYW5rc2FndW5nIHNlaSBkZW4gT3JnYW5pc2F0b3JlbiBkYXJnZWJyYWNodC4KRGllIFBhcnR5IHdhciBtYWwgd2llZGVyIGtsYXNzZSwgZXMgbXVzc3RlIGtlaW5lciBodW5nZXJuIG9kZXIgZHVyc3RlbiB1bmQKZWluZSBuZXVlIENoaW5lc2VucmVmZXJlbnogaXN0IGdlZnVuZGVuLgoKRGFua2UgZGFmdWVyIQoKRWluIE5hY2h0cmFnIGluIGVpZ2VuZXIgU2FjaGU6CkVSU0NISUVTU1QgR1VBUkQhCgpwczogZGFuYWNoIGNhdHdlYXpsZSB1bmQgbXVwZmVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluZSBncm9zc2UgKFpvb2ssICA3LiBEZXogMjAwMywgMTc6MjQ6MjMpOgp+IyEgcm49TXVhZGliIHJ0PTEwNzA4MTQyMTcgcmc9cGFydHkKfiMhIHRpZD0xMDcwODE0MjE3Clpvb2sgc3RyZWljaHQgInBmZWwiIHVuZCBlcnNldHp0IGVzIGR1cmNoICJhZGliIiB1bmQgYWVuZGVydCBkaWUgUmVpaGVuZm9sZ2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluZSBncm9zc2UgKEdsb2luc29uLCAgNy4gRGV6IDIwMDMsIDE3OjI0OjI5KToKfiMhIHJuPU11YWRpYiBydD0xMDcwODE0MjE3IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDgxNDIxNwpTaWUgaGFiZW4gZ2VzY2huYXJjaHQ/IERpciBkZWluIEVzc2VuIHdlZ2dlbm9tbWVuPyBEaWNoIG1laHJmYWNoIGJlc2llZ3Q/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFaW5lIGdyb3NzZSAoTXVhZGliLCAgNy4gRGV6IDIwMDMsIDE3OjI4OjM1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNzA4MTQyNjkgcmc9cGFydHkKfiMhIHRpZD0xMDcwODE0MjE3Cm5laW4KZGFzIGlzdCByZWluIHBlcnNvZW5saWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbmUgZ3Jvc3NlIChNdWFkaWIsICA3LiBEZXogMjAwMywgMTc6Mjg6NTkpOgp+IyEgcm49Wm9vayBydD0xMDcwODE0MjYzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDgxNDIxNwppY2ggd2Vpc3Mgd2VyIGFscyBuYWVjaHN0ZXMgYXVmIGRlciBsaXN0ZSBsYW5kZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbmUgZ3Jvc3NlIChHbG9pbnNvbiwgIDcuIERleiAyMDAzLCAxNzoyOTowOSk6Cn4jISBybj1NdWFkaWIgcnQ9MTA3MDgxNDUxNSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA4MTQyMTcKSWNoIGJpbiBhdWNoIGJlcmVpdCBkZW4gVGhyZWFkIGluIGRpZSBMYWVuZ2UgenUgemllaGVuLCBkYW1pdCBkdSBkaWUKSW5mb3JtYXRpb25lbiByYXVza2xlY2tlcm4ga2FubnN0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbmUgZ3Jvc3NlIChNdWFkaWIsICA3LiBEZXogMjAwMywgMTc6Mjk6MzcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3MDgxNDU0OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA4MTQyMTcKZHUgaGFzdCBiZXJlaXRzIGFsbGUgaW5mb3JtYXRpb25lbiBkaWUgaWNoIGJlcmVpdCBiaW4genUgZ2ViZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbmUgZ3Jvc3NlIChHbG9pbnNvbiwgIDcuIERleiAyMDAzLCAxNzoyOTo1MSk6Cn4jISBybj1NdWFkaWIgcnQ9MTA3MDgxNDU3NyByZz1wYXJ0eQp+IyEgdGlkPTEwNzA4MTQyMTcKQWNoLCB3aWUgbGFuZ3dlaWxpZy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFaW5lIGdyb3NzZSAoRmlyZWhhd2ssICA3LiBEZXogMjAwMywgMjE6NDA6MDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3MDgxNDU5MSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA4MTQyMTcKQWNoIHZvbiBtaXIgZWluIGdyb3NzZXMgRGFua2VzY2hvZW4gYW4gZGllIE9yZ2FuaXNhdG9yZW4uIEljaCBoYXR0ZSB2aWVsClNwYXNzLiBBY2ggamEsIE11YWRpYiBrYW5uIG5pY2h0IGVyc2Nob3NzZW4gd2VyZGVuLCBkZXIgd2lyZCB2b3JoZXIKemVyZmxlaXNjaHQhCgpGaXJlKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRWluZSBncm9zc2UgKENhdHdlYXpsZSwgIDguIERleiAyMDAzLCAwMDowNzowMik6Cn4jISBybj1GaXJlaGF3ayBydD0xMDcwODI5NjA1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDgxNDIxNwpOZWluLCBkYXMgd2VyZGUgaWRSIGljaC4gCgpZVEMgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBFaW5lIGdyb3NzZSAoQ2Fzc2FuZHJhLCAgOS4gRGV6IDIwMDMsIDExOjQxOjE5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcwODM4NDIyIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDgxNDIxNwpBdWNoIHZvbiBtaXIgZWluZW4gZ3Jvc3NlbiBkYW5rIGFuIGRpZSBPcmdhbmlzYXRvcmVuIGZ1ZXIgZGllIHNjaG9lbmUgUGFydHkuCgpDYXNzeQpQLlMuIGVyc2NoaWVzc3QgR3VhcmQgTXVhZGliIGV0Yy4gRGllIGJvZXNlbiB3ZXJkZW4gZWggZ2V3aW5uZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEVpbmUgZ3Jvc3NlIChHdWFyZCwgIDkuIERleiAyMDAzLCAxMTo0OTo1MSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA3MDk2NjQ3OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA4MTQyMTcKbW9pbgoKZWlnZW50bGljaCB3b2xsdCBpY2ggbWljaCBqYSBhdWNoIG51ciBiZWRhbmtlbiwgd2FyIG5lIHRvbGxlIFBhcnR5IC4uLgphYmVyIGpldHp0IG11c3MgaWNoIG5vY2ggd2FzIGFuZGVyZXMgc2FnZW46CgpJQ0ggQklOIEJSQVZFUiBCVUVSR0VSISEhIEVSU0NISUVTU1QgR0VGQUVMTElHU1QgREVOIFdFUldPTEYhIChkYXMgaXMgaW0KYWxsZ2VtZWluZW4gZWggaW1tZXIgTXVhZGliISkKCnNvbyBkYXMgd2FycyA6LSkKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRWluZSBncm9zc2UgKE1pZXplLCAgOS4gRGV6IDIwMDMsIDE5OjQ5OjExKToKfiMhIHJuPUd1YXJkIHJ0PTEwNzA5NjY5OTEgcmc9cGFydHkKfiMhIHRpZD0xMDcwODE0MjE3CgouLi4gRGFua2VzaHltbmUgYXVjaCB2b24gbWlyIGFuIGFsbGUgSGVsZmVybGVpbi4KCk1pZXplIC0gc3VjaHQgbmFjaCBQYXJ0eS1CaWxkZXJuIDtvKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlci4uLiAoWm9vaywgIDkuIERleiAyMDAzLCAyMDo1NjoyOSk6CkRpZSBlcnN0ZW4gQmlsZGVyIHNpbmQgZGEuIFVuZCB6d2FyIHZvbiBHdWFyZC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZGVyLi4uIChDYXR3ZWF6bGUsICA5LiBEZXogMjAwMywgMjE6MDI6NTYpOgp+IyEgcm49Wm9vayBydD0xMDcwOTk5Nzg5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDk5OTc4OQpOZWVlZWlubiEgQXJnaCEgOi0pKSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkZXIuLi4gKFZhbmlvbiwgIDkuIERleiAyMDAzLCAyMTowMzo1NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3MTAwMDE3NiByZz1wYXJ0eQp+IyEgdGlkPTEwNzA5OTk3ODkKViosIGdyYXR1bGllcnQgTWFoYXJldCBtYWwgZ2FueiB6dXNhbW1lbmhhbmdsb3MgenVyCkJ1bmRlc3ByYWVzaWRlbnRpbm5lbi1LYW5kaWRhdHNjaGFmdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJpbGRlci4uLiAoQ2F0d2VhemxlLCAgOS4gRGV6IDIwMDMsIDIxOjA5OjQ1KToKfiMhIHJuPVZhbmlvbiBydD0xMDcxMDAwMjM1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDk5OTc4OQpHZW5hdS4gR3VhcmQgZGVyIFVudGVydGl0ZWwgaXN0IGZhbHNjaCA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmlsZGVyLi4uIChHdWFyZCwgMTAuIERleiAyMDAzLCAwOToyMToxNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3MTAwMDU4NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzA5OTk3ODkKZGEgaXMgd2FzIG1hZWNodGlnIGR1cmNoZWluYW5kZXIgZ2Vrb21tZW4sIGFuYXRvbHMgaGlsZmUgenUgZGVuIGluZGl6ZXMKZW50aGlsdCBrZWluIGhpbndlaXMsIGRhc3MgZGllIGJpbGRlciBuYWNoIG5hbWUgdW5kIG5pY2h0IG5hY2ggcmVpaGVuZm9sZ2UgaW0KdGV4dCBzb3J0aWVydCB3ZXJkZW4uIGljaCB3ZXJkIGRhIGhldXQgYWJlbmQgd29obCBub2NobWFsIGhhbmQgYW5sZWdlbiBtdWVzc2VuCi4uLgoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlcndvZWxmZSBnZXN1Y2h0ISBGb3RvIG9kZXIgbmljaHQgRm90by4uLj8gKFJvbmRhLCAxMS4gRGV6IDIwMDMsIDE5OjU5OjA5KToKSGFsbG8gSWhyIGVoZW1hbGlnZW4gV2Vyd29lbGZlIHVuZCBicmF2ZW4gQnVlcmdlcmlubmVuIHVuZCBCdWVyZ2VyLAoKaWNoIHNvcnRpZXJlIGdyYWRlIGRpZSB2aWVsZW4gRm90b3MgYXVzLCBkaWUgaWNoIGJlaW0gV2Vyd29sZnNwaWVsIGdlc2Nob3NzZW4KaGFiZS4gVm9uIGVpbmVyIFBlcnNvbiB3dXJkZSBpY2ggYmVyZWl0cyBkYXJhdWYgYW5nZXNwcm9jaGVuLCBkYXNzIGljaCBGb3RvcwpkaWVzZXMgRXgtV2Vyd29sZnMgYml0dGUgbmljaHQgdmVyb2VmZmVudGxpY2hlbiBzb2xsLiBTcHJpY2g6IGljaCBzb3J0aWVyZQphbGxlIEZvdG9zIGF1cywgd28gZGllc2UgUGVyc29uIGRyYXVmIGlzdC4KQmVpbSBTcGllbCBoYWJlbiB4IExldXRlIG1pdGdlbWFjaHQgLSBlcyB3YWVyZSB2ZXJkYW1tdCBzY2h3ZXIsIHNpZSBhbGxlCmFuenVtYWlsZW4sIG9iIHNpZSBldHdhcyBkYWdlZ2VuIGhhYmVuLCBkYXNzIGlocmUgRm90b3MgdmVyb2VmZmVudGxpY2h0IHdlcmRlbgo7LSgKS29lbm50ZW4gbWljaCBkYWhlciBiaXR0ZSBhbGxlIGFubWFpbGVuLCBkZXJlbiBGb3RvcyBOSUNIVCB2ZXJvZWZmZW50bGljaHQKd2VyZGVuIHNvbGxlbj8KClZpZWxlbiBEYW5rLAoKUm9uZGEKClBzOiBOb3RmYWxscyBrb2VubmVuIEZvdG9zIG5hdHVlcmxpY2ggYXVjaCBuYWNodHJhZWdsaWNoIGVudGZlcm50IHdlcmRlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlcndvZWxmZSBnZXN1Y2h0ISBGb3RvIG9kZXIgbmljaHQgRm90by4uLj8gKE11cGZlbCwgMTEuIERleiAyMDAzLCAyMDoxODo0OSk6Cn4jISBybj1Sb25kYSBydD0xMDcxMTY5MTQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTE2OTE0OQpWb24gbWlyIGJpdHRlIGFsbGUgRm90b3MgdmVyb2VmZmVudGxpY2hlbiwgdW5kIHNlaWVuIHNpZSBhdWNoIG5vY2ggc28gcGVpbmxpY2gKOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlcndvZWxmZSBnZXN1Y2h0ISBGb3RvIG9kZXIgbmljaHQgRm90by4uLj8gKE1hZ2RhbGVuYSwgMTEuIERleiAyMDAzLCAyMDoyMDo0NSk6Cn4jISBybj1NdXBmZWwgcnQ9MTA3MTE3MDMyOSByZz1wYXJ0eQp+IyEgdGlkPTEwNzExNjkxNDkKVm9uIG1pciBhdWNoIDopCm1hZ2RhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2Vyd29lbGZlIGdlc3VjaHQhIEZvdG8gb2RlciBuaWNodCBGb3RvLi4uPyAoQW5hdG9sLCAxMS4gRGV6IDIwMDMsIDIwOjI4OjMwKToKfiMhIHJuPVJvbmRhIHJ0PTEwNzExNjkxNDkgcmc9cGFydHkKfiMhIHRpZD0xMDcxMTY5MTQ5CgpodHRwOi8vdXNlci5jcy50dS1iZXJsaW4uZGUvfnV6YWRvdy9yZWNodC9yYWViaWxkLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZGVyLi4uIChDYXR3ZWF6bGUsIDExLiBEZXogMjAwMywgMjM6NDA6MTkpOgp+IyEgcm49Wm9vayBydD0xMDcwOTk5Nzg5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDk5OTc4OQpVbmQgZGllIG5hZWNoc3RlbiBhdWNoLiBVbmQgendhciB2b24gUm9uZGEuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmlsZGVyLi4uIChab29rLCAxMi4gRGV6IDIwMDMsIDE4OjQ3OjQ5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcxMTgyNDE5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDk5OTc4OQo6a2ljaGVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmlsZGVyLi4uIChab29rLCAxMy4gRGV6IDIwMDMsIDE5OjM2OjQ2KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcxMTgyNDE5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDk5OTc4OQpVbmQgbnVuIGF1Y2ggd2VsY2hlIHZvbiBLZWtzLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldobyBpcyB3aG8/IChSb25kYSwgMTUuIERleiAyMDAzLCAwMDoxNTo0Myk6CkhhbGxvLAoKaWNoIGJpbiBncmFkZSBtYWwgd2llZGVyIHVlYmVyIGRpZSBwcmFlaGlzdG9yaXNjaGVuIEZvdG9zIHZvbiBNdWRwYXJ0aWVzIGRlcwpsZXR6dGVuIEphaHJ0YXVzZW5kcyBnZXN0b2xwZXJ0LiBXYWVyZSBlcyBldmVudHVlbGwgbW9lZ2xpY2gsIGhpZXIgZWluIHBhYXIgPwpkdXJjaCBOYW1lbiBkZXIgZW50c3ByZWNoZW5kZW4gUGVyc29uZW4genUgZXJzZXR6ZW4/IFdpZSBsb2VzZW4gd2lyIGRhcyBhbQplaW5mYWNoc3Rlbj8gUGVyIE1haWwgYW4gLi4uIFpvb2ssIGRlciBQYXJ0eXNlaXRlbiBhdWZzZXR6ZW4ga2Fubj8gT2RlciBkaXJla3QKYWxzIFJlcGx5IGF1ZiBkaWVzZW4gQXJ0aWtlbCBpbiBkZXIgSG9mZm51bmcsIGRhc3MgamVtYW5kIGRpZSBOYW1lbiBhdWYgZGVuClNlaXRlbiBlcmdhZW56dD8KClJvbmRhCgpQczogTWFsIGFscyBBbmZhbmc6Cmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuNS9mb3Rvcy5wYXJhY2Vsc3VzL3BhcmExNWIuanBnIExpbmtzOiBNb3Jnb3RoPwpodHRwOi8vbWcubXVkLmRlL1BhcnR5L1BhcnR5LjMvZm90b3MuYW5hdG9sL2FuYXQwMS5qcGcgOiBKb2YgdW5kIEJvaW5nCmh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMy9mb3Rvcy5hbmF0b2wvYW5hdDAyLmpwZyA6IGViZW5mYWxscyA7LSkKaHR0cDovL21nLm11ZC5kZS9QYXJ0eS9QYXJ0eS4zL2ZvdG9zLmFuYXRvbC9hbmF0MDMuanBnIDogVmllbGUuIExpbmtzOiBMaS4KaHR0cDovL21nLm11ZC5kZS9QYXJ0eS9QYXJ0eS4zL2ZvdG9zLmFuYXRvbC9hbmF0MDQuanBnIDogWWFudHJvCi4uLiB1bmQgc28gd2VpdGVyIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFsbGU/IEVyaW5uZXJ0IHNpY2ggbm9jaCBqZW1hbmQgYW4gSGFsbGU/IChab29rLCAxNy4gRGV6IDIwMDMsIDE2OjAzOjU5KToKTnVuIGphLCBlcyBoYXQgdmllbGxlaWNodCBhdWNoIGV0d2FzIGZ1ZXIgc2ljaCwgdm9tIEludGVybmV0IGdldHJlbm50Cnp1IHNlaW4uLi4hPyBBdWYgamVkZW4gRmFsbCBoYXQgS2FyaW1hIG5vY2ggQmlsZGVyIGRlciAyMDAyZXIgSGFsbGUgU29tbWVyLQpQYXJ0eSBuYWNoZ2VsaWVmZXJ0LCBkaWUgbnVuIGF1Y2ggYXVmIGRlbiBQYXJ0eS1TZWl0ZW4genUgYmV3dW5kZXJuIHNpbmQuCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJpbGRlci4uLiAoUm9uZGEsIDE3LiBEZXogMjAwMywgMTc6MjQ6MDUpOgp+IyEgcm49Wm9vayBydD0xMDcxMzQwNjA2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MDk5OTc4OQpEYW5rIGdvZXR0bGljaGVyIEhpbGZlLCBkaWUgbWVpbmUgU2NodXNzZWxpZ2tlaXQgYXVzYmFkZW4gbXVzc3RlLCBzaW5kIG51biBiZWkKbWVpbmVuIEZvdG9zIG51biBhdWNoIGVpbmlnZSB3ZWl0ZXJlIEZvdG9zIHZvbiBNdWRkZXJuIGRyaW4sIGRpZSBpY2ggYmlzaGVyCm5pY2h0IGhlcmF1c2dlZ2ViZW4gaGF0dGUuLi4KClJvbmRhICpncmFkIG5lYmVuIHNpY2ggc3RlaGVuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51ciBtYWwgc28gbmUgRnJhZ2UuLi4gKFpvb2ssIDE4LiBEZXogMjAwMywgMDk6MDA6MzIpOgouLi4uIGJld2lyYnQgc2ljaCBqZW1hbmQgdW0gZGllIEZydWVoamFocnMtUGFydHk/IDopCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51ciBtYWwgc28gbmUgRnJhZ2UuLi4gKENhdHdlYXpsZSwgMTguIERleiAyMDAzLCAwOToxNDoyNik6Cn4jISBybj1ab29rIHJ0PTEwNzE3MzQ0MzIgcmc9cGFydHkKfiMhIHRpZD0xMDcxNzM0NDMyClVuZCBpc3QgZGFzIG1pdCBkZXIgU29tZXJwYXJ0eSBzY2hvbiBnZWtsYWVydD8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOdXIgbWFsIHNvIG5lIEZyYWdlLi4uIChab29rLCAxOC4gRGV6IDIwMDMsIDA5OjE1OjAwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcxNzM1MjY2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTczNDQzMgpBbHNvIGljaCB3b2xsdGUgU2Nocml0dCBmdWVyIFNjaHJpdHQgdm9yZ2VoZW4uLi4uIEFiZXIsIHdlciBiZXdhcmIgc2ljaCAKdW0gU29tbWVyPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE51ciBtYWwgc28gbmUgRnJhZ2UuLi4gKENhdHdlYXpsZSwgMTguIERleiAyMDAzLCAwOToxNjowNCk6Cn4jISBybj1ab29rIHJ0PTEwNzE3MzUzMDAgcmc9cGFydHkKfiMhIHRpZD0xMDcxNzM0NDMyCldlbm4gaWNoIG1pY2ggcmVjaHQgZW50c2lubmVyIGhhYmVuIG1pY2ggZGllIEhhbGxlbnNlciBhYmdld3Vlcmd0LgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOdXIgbWFsIHNvIG5lIEZyYWdlLi4uIChab29rLCAxOC4gRGV6IDIwMDMsIDA5OjE2OjMyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcxNzM1MzY0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTczNDQzMgpXaWUgYWJnZXd1ZXJndD8gV29sbHRlc3QgRHUgbm9jaCBlaW5lIGxldHp0ZSBQYXJ0eSBvcmdhbmlzaWVyZW4/IDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTnVyIG1hbCBzbyBuZSBGcmFnZS4uLiAoTW9udGFudXMsIDE4LiBEZXogMjAwMywgMDk6MjM6NDIpOgp+IyEgcm49Wm9vayBydD0xMDcxNzM1MzkyIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTczNDQzMgpXb2xsdGVuIEphbWVzb24gdW5kIFBlcmRpdGEgbmljaHQgaW0gU29tbWVyIHdhcyBhbiBkZXIgT3N0c2VlIG1hY2hlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE51ciBtYWwgc28gbmUgRnJhZ2UuLi4gKE1vcmdvdGgsIDE4LiBEZXogMjAwMywgMDk6Mjc6MTApOgp+IyEgcm49TW9udGFudXMgcnQ9MTA3MTczNTgyMiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE3MzQ0MzIKSUlSQyBoYXR0ZSBTaGFreSBzaWNoIGZ1ZXIgU29tbWVycGFydHkgaW4gV2VybmUgZ2VtZWxkZXQuCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTnVyIG1hbCBzbyBuZSBGcmFnZS4uLiAoTW9udGFudXMsIDE4LiBEZXogMjAwMywgMDk6Mzc6NDApOgp+IyEgcm49TW9yZ290aCBydD0xMDcxNzM2MDMwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTczNDQzMgpIYXQgV2VybmUgbmVuIFNhbmRzdHJhbmQgdW5kIE1lZXI/IFdpbmQgdW5kIFdlbGxlbj8gSU1ITyBzb2xsdGVuClNPbW1lcnBhcnRpZXMsIHp1bWluZGVzdCB3ZW5uIHNpZSBtaXQgQ2FtcCBzaW5kLCBpcmdlbmR3byBzZWluLCB3byBtYW4gYXVjaApzb25zdCBVcmxhdWIgbWFjaGVuIGtvZW5udGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOdXIgbWFsIHNvIG5lIEZyYWdlLi4uIChCYW1iaSwgMTguIERleiAyMDAzLCAxMTozNzowOCk6Cn4jISBybj1Nb250YW51cyBydD0xMDcxNzM2NjYwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTczNDQzMgpHaWJ0cyBkYSB3aWVkZXIgdmVyc2V1Y2h0ZSBCYWRlZ2V3YWVzc2VyPyBXYXIgZGVyIFNlZSBpbiBCZXJsaW4gbnVuIHZlcnNldWNodApvZGVyIG5pY2h0IHVuZCBoYXQgd2VyIHZvbiB1bnMgd2FzIGRhdm9uIGJla29tbWVuIG9kZXIgbmljaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOdXIgbWFsIHNvIG5lIEZyYWdlLi4uIChNb250YW51cywgMTguIERleiAyMDAzLCAxMTozODo1Nik6Cn4jISBybj1CYW1iaSBydD0xMDcxNzQzODI4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTczNDQzMgpJbiBXZXJuZSBnaWJ0IGVzIG51ciBlaW4gU09sZWJhZCB1bmQgZWluZW4gUmFkd2FuZGVyd2VnLiBTZ2F0IGRpZSBIb21lcGFnZQp3d3cud2VybmUuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE51ciBtYWwgc28gbmUgRnJhZ2UuLi4gKERlZXBibHVlLCAxOC4gRGV6IDIwMDMsIDE0OjU1OjQzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNzE3MzY2NjAgcmc9cGFydHkKfiMhIHRpZD0xMDcxNzM0NDMyClVybGF1Yj8gTmEgZGEga29lbm50ZW4gZGllIFNjaHdlaXplciBtYWwgd2FzIGF1ZiBkaWUgYmVpbmUgU3RlbGxlbgpEZWVwKiwgd2lsbCBCZXJnZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTnVyIG1hbCBzbyBuZSBGcmFnZS4uLiAoWm9vaywgMTguIERleiAyMDAzLCAxNzoxNTowNSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDcxNzU1NzQzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTczNDQzMgpJbiBkZXIgU2Nod2VpeiBvcmdhbmlzaWVyZW4gd2lyIG1heGltYWwgZWluIEhvcm51c3N0dW5pZXIuIFB1bmt0IGF1cy4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTnVyIG1hbCBzbyBuZSBGcmFnZS4uLiAoTWllemUsIDE4LiBEZXogMjAwMywgMTc6NTQ6MDIpOgp+IyEgcm49Wm9vayBydD0xMDcxNzY0MTA1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTczNDQzMgoKT2IgZGllIFNvbW1lcnBhcnR5IGluIEhhbGxlIHN0YXR0ZmluZGVuIGthbm4gb2RlciBuaWNodCwgaGluZyBkYXZvbiBhYiwgb2IgZXMKZGFzIFNjaHdpbW1iYWQgc2FtdCBDYW1waW5ncGxhdHogaW0gSmFociAyMDA0IG5vY2ggZ2lidC4gQ2Fzc2FuZHJhIGhhdCBzaWNoIGRhCmVya3VuZGlndCAtIHVuZCBlcyBzaWVodCBndXQgYXVzIChhbHNvIGRpZSBTb21tZXJwYXJ0eSBrb2VubnRlIHdpZWRlciBpbiBIYWxsZQpzdGF0dGZpbmRlbikuIE11c3MgbnVyIG5vY2htYWwgT2Jlci1PcmdhLUNoZWZpbiBDYXNzeSBmcmFnZW4uCgpHcnVlc3NlIE1pZXplCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOdXIgbWFsIHNvIG5lIEZyYWdlLi4uIChTaGFrZWRiZWVyLCAxOC4gRGV6IDIwMDMsIDIwOjAzOjE2KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA3MTczNjAzMCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE3MzQ0MzIKV2VybmUgZmFlbGx0IG1hbmdlbHMgVWViZXJuYWNodHVuZ3Ntb2VnbGljaGtlaXQgZmxhY2guCgpTaGFreS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE51ciBtYWwgc28gbmUgRnJhZ2UuLi4gKEh1bW5pLCAxOC4gRGV6IDIwMDMsIDIwOjA5OjE0KToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9MTA3MTc3NDE5NiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE3MzQ0MzIKT2NoIGtvbW0sIER1IGhhc3QgZG9jaCBuZW4gZ3Jvc3NlbiBTY2hsYWZyYXVtIGluIERlaW5lciBGaXJtYSA7LSkKCk5hIGd1dCwgbmljaHQgZnVlciA2MCBMZXV0ZS4uIG9ic2Nob24sIG1pdCBHcnVwcGVua3VzY2hlbG4uLi4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRlbGVwb2xpcyBSYWV0c2VsIDIwMDMgKEFub3JpcywgMTguIERleiAyMDAzLCAyMDozNjozMyk6Cn4jISBybj1QaG9ib3MgcnQ9MTA3MTY5MzU5MyByZz1wdWl6Cn4jISB0aWQ9MTA3MTY2MDM3MQpTb2xsdGVuIHNpY2ggd2lya2xpY2ggZ2VudWVnZW5kIGZ1ZXIgZWluZSBTb21tZXJwYXJ0eSBpbiBkZXIKU2Nod2VpeiBpbnRlcmVzc2llcmVuLCB3dWVyZGUgaWNoIG1pY2ggYWxzIE9yZ2FuaXNhdG9yIHp1ciBWZXJmdWVndW5nCnN0ZWxsZW4uIERhenUgYml0dGUgaWNoIGFiZXIgdW0gRmVlZGJhY2sgbmFjaCBkZW0gSW50ZXJlc3NlIHVuZCBtZWhyCklkZWVuIChhdXNzZXIgQmVyZ2UpLgoKLSBBbm9yaXMgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbWVycGFydHkgLi4uIChWYW5pb24sIDE4LiBEZXogMjAwMywgMjA6NDE6NDkpOgp+IyEgcm49QW5vcmlzIHJ0PTEwNzE3NzYxOTMgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkhtbW0sIGFsc28gV2ludGVyYnVyZyBpc3QgbWlyIGphIHNjaG9uIHp1IHN1ZWRsaWNoLiBBYmVyIFNjaHdlaXo/IEljaApmdWVyY2h0ZSwgZGFmdWVyIGJpbiBpY2ggenUgc2VociBGaXNjaGtvcHAuIDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbWVycGFydHkgLi4uIChIdW1uaSwgMTguIERleiAyMDAzLCAyMTozMDozMik6Cn4jISBybj1WYW5pb24gcnQ9MTA3MTc3NjUwOSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKSWNoIGZhZW5kIGRpZSBJZGVlIHZlcmxvY2tlbmQsIG9obmUgZGlyZWt0ICwsaWNoIGtvbW0gYXVmIGplZGVuIEZhbGwnJwpicnVlbGxlbiB6dSBtb2VnZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21lcnBhcnR5IC4uLiAoVmFuaW9uLCAxOC4gRGV6IDIwMDMsIDIxOjMyOjQ5KToKfiMhIHJuPUh1bW5pIHJ0PTEwNzE3Nzk0MzIgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCktlaW5lIEt1bnN0LCBkdSBiaXN0IGphIHF1YXNpIHNjaG9uIGluIGRlciBTY2h3aWl6LiA6KQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbWVycGFydHkgLi4uIChIdW1uaSwgMTguIERleiAyMDAzLCAyMTo0MzoxNSk6Cn4jISBybj1WYW5pb24gcnQ9MTA3MTc3OTU2OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKQWVoLi4uIGluIEh1ZWNrZWxob3Zlbj8gSW4gZnJlaWJ1cmcgd2FyIGRhcyB2aWVsbGVpY2h0IG1hbCBzby4uLiBudW4gaXN0IGRpZQpTY2h3ZWl6ZXIgR3JlbnplIGNhLiA1NTAga20gdm9uIGhpZXIgZW50ZmVybnQuLi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21lcnBhcnR5IC4uLiAoVmFuaW9uLCAxOC4gRGV6IDIwMDMsIDIyOjAwOjU1KToKfiMhIHJuPUh1bW5pIHJ0PTEwNzE3ODAxOTUgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkRhcyBpcyBpbW1lciBub2NoIGRpZSBIYWVsZnRlIHZvbiBkZW0gd2FzIGljaCB2b3IgbWlyIGhhZXR0ZSA6KQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IGluIEhhbGxlPyAoTWllemUsIDE4LiBEZXogMjAwMywgMjM6MTA6NTMpOgoKQ2Fzc3ksIGpldHp0IHNhZyBEdSBhdWNoIG1hbCB3YXMgdW5kIGFyYmVpdGUgbmljaHQgc28gdmllbCBhbiBEZWluZXIKRGlwbG9tYXJiZWl0IQoKTWllemUgLSB3aWxsIGRpZXNtYWwgbmljaHQgc28gd2VpdCBmYWhyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb21lcnBhcnR5IC4uLiAoWm9vaywgMTguIERleiAyMDAzLCAyMzo1OTo0Mik6Cn4jISBybj1WYW5pb24gcnQ9MTA3MTc4MTI1NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKU2Nod2VpeiBrbGluZ3Qgb2sgdW5kIElkZWUgaXN0IEhvcm51c3Nlbi4gR2FueiBrbGFyLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvbWVycGFydHkgLi4uIChNb250YW51cywgMTkuIERleiAyMDAzLCAwODoyMDozNik6Cn4jISBybj1ab29rIHJ0PTEwNzE3ODgzODIgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCklzdCBkYXMgZWluIGdvZXR0bGljaGVzIERpa3R1bT8KQWJlIFNjaHdlaXogZmFlbmRlIGljaCBhdWNoIGd1dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRlbGVwb2xpcyBSYWV0c2VsIDIwMDMgKEJhbWJpLCAxOS4gRGV6IDIwMDMsIDA5OjU2OjQzKToKfiMhIHJuPUFub3JpcyBydD0xMDcxNzc2MTkzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpUYXVjaGVuLCBQYWludGJhbGwsIFdhbmRlcm4uCkphLCBpY2ggbWVpbiBhbGxlIGRyZWkgZXJuc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUZWxlcG9saXMgUmFldHNlbCAyMDAzIChab29rLCAxOS4gRGV6IDIwMDMsIDEwOjEwOjA3KToKfiMhIHJuPUJhbWJpIHJ0PTEwNzE4MjQyMDMgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkFoLCBpY2ggd3VlcmQgZGFubiBub2NoIEtsZXR0ZXJuIGVpbmZ1ZWdlbi4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUZWxlcG9saXMgUmFldHNlbCAyMDAzIChCb2luZywgMTkuIERleiAyMDAzLCAxMDoyODo1MSk6Cn4jISBybj1ab29rIHJ0PTEwNzE4MjUwMDcgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxClNjaHdlaXoga2xpbmd0IHN1cGVyIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvbWVycGFydHkgLi4uIChTY29ycGlvbiwgMTkuIERleiAyMDAzLCAxNDowODoyMik6Cn4jISBybj1Nb250YW51cyBydD0xMDcxODE4NDM2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQphbHNvIHNjaHdlaXogZmFlbmQgaWNoIGF1Y2ggb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvbWVycGFydHkgLi4uIChab29rLCAxOS4gRGV6IDIwMDMsIDE0OjEwOjM2KToKfiMhIHJuPVNjb3JwaW9uIHJ0PTEwNzE4MzkzMDIgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCld1ZXJkZXN0IER1IGF1Y2ggYmVpIGRlciBPcmdhbmlzYXRpb24gaGVsZmVuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNvbWVycGFydHkgLi4uIChHcmltbWJvcm4sIDE5LiBEZXogMjAwMywgMTQ6MTI6NDApOgp+IyEgcm49Wm9vayBydD0xMDcxODM5NDM2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpadW0gaG9ybnVzc2VuIHd1ZXJkIGljaCBhdWNoIGVyc2NoZWluZW4uIEJlaSBlaW5lciBPcmdhbmlzYXRpb24gd3VlcmRlIGljaApuaWNodCBoZWxmZW4gLSBpY2ggdmVyc3RlaCBkaWUgTGV1dGUgZGEgdW50ZW4gaW4gQmF5ZXJuIGphIHNjaG9uIHNwcmFjaGxpY2gKbmljaHQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTb21lcnBhcnR5IC4uLiAoQ3JvZnQsIDE5LiBEZXogMjAwMywgMTQ6MTM6MjYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNzE4Mzk1NjAgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkRhcyBiZXJ1aHQgd29obCBhdWYgR2VnZW5zZWl0aWdrZWl0LiAgTWl0IE9zdGZyaWVzaXNjaCBrb2VubmVuIGRpZSBkYQp1bnRlbiBhdWNoIG5peCBhbmZhbmdlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU29tZXJwYXJ0eSAuLi4gKFpvb2ssIDE5LiBEZXogMjAwMywgMTQ6MTM6NDMpOgp+IyEgcm49Q3JvZnQgcnQ9MTA3MTgzOTYwNiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKQnp3LiBhbmRlcmUgc2thbmRpbmF2aXNjaGUgU3ByYWNoZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU29tZXJwYXJ0eSAuLi4gKFNjb3JwaW9uLCAxOS4gRGV6IDIwMDMsIDE0OjEzOjQ1KToKfiMhIHJuPVpvb2sgcnQ9MTA3MTgzOTQzNiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKZGFzIG11ZXNzdGUgbWFuIG1hbCBnZW5hdWVyIGJlc3ByZWNoZW4uLi5pY2ggd3VlcmRlIGFub3JpcyBhYmVyIGJlc3RpbW10CmhlbGZlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNvbWVycGFydHkgLi4uIChNb250YW51cywgMTkuIERleiAyMDAzLCAxNDoxNDoxMSk6Cn4jISBybj1TY29ycGlvbiBydD0xMDcxODM5NjI1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpXb3csIGRpZSBSdWJyaWsgaXN0IGphIGdyb3NzLi4uIGFiZXIgbmUgUGFydHkgaW0gQXVzbGFuZCBoYXR0ZW4gd2lyIG5vY2gKbmljaHQsIGljaCBmYWVuZGUgZGFzIGNvb2wuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU29tZXJwYXJ0eSAuLi4gKEd1YXJkLCAxOS4gRGV6IDIwMDMsIDE0OjE0OjU5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNzE4Mzk2NTEgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCmFsc28gaWNoIGZhZW5kIGRhcyBhdWNoIHJpY2h0aWcga2xhc3NlIQoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSBpbiBIYWxsZT8gKENhc3NhbmRyYSwgMTkuIERleiAyMDAzLCAxNDoxNTowMyk6Cn4jISBybj1NaWV6ZSBydD0xMDcxNzg1NDUzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTc4NTQ1MwpEaWUgQXVzc2FnZSB2b24gSGFsbGUgc2llaHQgZm9sZ2VuZXJtYXNzZW4gYXVzOgpEYXMgU2Nod2ltbWJhZCB1bmQgZGVuIFBsYXR6IHZvbSBsZXR6dGVuIG1hbCBnaWJ0IGVzIG5vY2ggKEF1c3NhZ2UgYXVzIGRlbQpSYXRoYXVzIHVuZCBkaWUgc29sbHRlbiBlcyB3aXNzZW4pCkhhbGxlIHdpcmQgZGFubiBQYXJ0eSBtYWNoZW4gd2VubiBzb25zdCBrZWluZXIgd2lsbCwgb2RlciBzaWNoIG5lIG1laHJoZWl0CmRhZnVlciBmaW5kZXQKV2VubnMgd2VyIGFuZGVycyBtYWNoZW4gd2lsbCBoYWIgenVtaW5kZXN0IGljaCBrZWluIFByb2JsZW0gZGFtaXQgbWlyIGRpZQpBcmJlaXQgenUgc3BhcmVuCgpBbHNvIHdlbm4gZ2V3dWVuc2NodCBkYW5uIGphLCBhbnNvbnN0ZW4gZmFociBpY2ggYXVjaCB3byBhbmRlcnMgaGluCgpDYXNzeQotCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSBpbiBkZXIgU2Nod2VpeiEgKEFub3JpcywgMTkuIERleiAyMDAzLCAxNjowOTo1OSk6CkxpZWJlIE11ZGRlcnMKCk9id29obCB3ZW5pZyBnZXBvc3RldCB3dXJkZSwgd2FyIGRhcyBGZWVkYmFjayB6dSBlaW5lciBQYXJ0eSBpbiBkZXIKU2Nod2VpeiB1ZWJlcmF1cyBwb3NpdGl2LiBEZXNzaGFsYiBoYWJlbiB3aXIgdW5zIGVudHNjaGllZGVuIGVpbmUKTUcgUGFydHkgaW4gZGVyIFNjaHdlaXogenUgb3JnYW5pc2llcmVuLiBEYW1pdCBrZWluZSBLb25mbGlrdGUKZW50c3RlaGVuLCB3dWVyZGUgaWNoIG1pY2ggZ2VybmUgbWl0IGV1Y2ggYWJzcHJlY2hlbiB3YW5uIGRpZXNlClBhcnR5IHNlaW4gc29sbC4gRC5oLiBTb21tZXIsIEZydWVobGluZyBvZGVyIGdpYnQgZXMgZGllc2VzIEphaHIgIm51ciIKZWluZT8gUGFydHludW1tZXIgWFhWIHd1ZXJkZSBtaXIgcGVyc29lbmxpY2ggZ3V0IGdlZmFsbGVuLi4KCldpZSBpaHIgd2lzc3QsIG11c3MgZnVlciBkaWUgU2Nod2VpemVyIEF1dG9iYWhuIGVpbmUgamFlaHJsaWNoZSBHZWJ1ZWhyCnZvbiBDSEYgNDAgcHJvIEZhaHJ6ZXVnIGJlemFobHQgd2VyZGVuLiBEYW1pdCBpaHIgZGllc2UgS29zdGVuIG5pY2h0Cm9kZXIgbnVyIHp1bSBUZWlsIHRyYWdlbiBtdWVzc3QsIGdpYnQgZXMgZGllIE1vZWdsaWNoa2VpdCBkaWUKQXV0b2JhaG5lbiB6dSBtZWlkZW4uIERpZXMgaXN0IG5pY2h0IHdlaXRlciB0cmFnaXNjaCwgZGEgYmlzIHp1bSBGbHVnaGFmZW4KWnVlcmljaCBrZWluZSBBdXRvYmFobmdlYnVlaHIgZmFlbGxpZyB3aXJkIChhdXNzZXIgbWFuIGZhZWhydCB1ZWJlciBCYXNlbCkuCgpEaWUgUGFydHkgaXN0IG1pdCBlaW5lciBEYXVlciB2b24gY2EuIDEgV29jaGUgZ2VwbGFudC4gRnVlciBBdXNmbHVlZ2UgbWl0CmRlbSBBdXRvIChpbiBkaWUgQmVyZ2UsIC4uLikgd2VyZGVuIHdpciB1bnMgc2ljaGVyIGVpbmlnZW4ga29lbm5lbi4KCklociBrb2VubnQgbWl0dGUgSmFudWFyIG1pdCBlaW5lbSBhdXNmdWVocmxpY2hlbiBQb3N0aW5nIHVlYmVyIE9ydCB1bmQKWmVpdHB1bmt0IHJlY2huZW4uIEF1Y2ggSW5mb3MgenUgVWViZXJuYWNodHVuZ3Ntb2VnbGljaGtlaXRlbiAod2VyIHdpbGwKemVsdGVuPykgd2VyZGVuIGZvbGdlbi4KCk51biBob2ZmZSBpY2ggYXVmIGdyb3NzZXMgSW50ZXJlc3NlIHVuZCB2aWVsZSBNdWRkZXIgaW4gZGVyIFNjaHdlaXohCgotIEFub3JpcyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSBpbiBIYWxsZT8gKFRhcmFuaXMsIDE5LiBEZXogMjAwMywgMTY6NDM6NDIpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwNzE4Mzk3MDMgcmc9cGFydHkKfiMhIHRpZD0xMDcxNzg1NDUzCkFsc28gbWlyIHBlcnNvZW5saWNoIHdhZXJlIEhhbGxlIGRldXRsaWNoIGxpZWJlciBhbHMgZGllIFNjaHdlaXosIHdlaWwgZGFzCnNjaG9uIHppZW1saWNoIHdlaXQgd2VnIGlzdCB1bmQgZXMgaW4gZGVyIFNjaHdlaXogYXVjaCBzb25zdCByZWNodCB0ZXVlciBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgaW4gZGVyIFNjaHdlaXohIChIdW1uaSwgMTkuIERleiAyMDAzLCAxNzowNzoxMik6Cn4jISBybj1Bbm9yaXMgcnQ9MTA3MTg0NjU5OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE4NDY1OTkKRXMgZ2lidCBlaW5lbiBhbmRlcmVuIFdlZyBpbiBkaWUgU2Nod2VpeiBhbHMgdWViZXIgQmFzZWw/CgpIdW1uaSB3dW5kZXJ0IHNpY2guClBTOiBBY2ggamEsIGRvY2guIE1hbiBtdXNzIG5hY2ggS29uc3RhbnogZmFocmVuIHVuZCBkYSBkZW4gTXVkLVN0YW1tdGlzY2gKc3VjaGVuIChvaywgZGFzIHdhciBlaW4gSW5zaWRlcikuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21lcnBhcnR5IC4uLiAoTXVhZGliLCAxOS4gRGV6IDIwMDMsIDE4OjI3OjEyKToKfiMhIHJuPVZhbmlvbiBydD0xMDcxNzc5NTY5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQppY2ggd3VlcmQgZGEgZ2VybmUgaW4gZWluZW0gYmVyZ3NlZSB0YXVjaGVuCmFsc28genVyIHNvbW1lcnBhcnR5IGluIGRlciBzY2h3ZWl6CnVuZCBpbiBkZW4gaGFuZyBzY2hpZXNzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvbWVycGFydHkgLi4uIChQYWRyZWljLCAxOS4gRGV6IDIwMDMsIDE5OjAwOjUzKToKfiMhIHJuPU11YWRpYiBydD0xMDcxODU0ODMyIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpTY2h3ZWl6IGhhZXR0ZSB3aXJrbGljaCBtYWwgd2FzIGZ1ZXIgc2ljaC4uLgoKcHJvIFNjaHdlaXoKClBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbWVycGFydHkgLi4uIChPcmt0b2V0ZXIsIDE5LiBEZXogMjAwMywgMjM6NDU6NDApOgp+IyEgcm49UGFkcmVpYyBydD0xMDcxODU2ODUzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpOaWNodHMgZ2VnZW4gZGllIFNjaHdlaXosIG51ciAgMS4gaG9lcnQgbWFuIGphLCBkYXNzIGVzIGRvcnQgcmVjaHQgdGV1ZXIgaXN0LAoyLiBpc3QgZXMgd2VpdCB3ZWcsIDMuIG11ZXNzdGUgbWFuIGZ1ZXIgZGllIFNjaHdlaXogdGF0c2FlY2hsaWNoIG1hbCB3aWVkZXIKR2VsZCB0YXVzY2hlbiAob2RlciBuZWhtZW4gZGllIGRvcnQgdWViZXJhbGwgRXVyb25lbj8pIHVuZCA0LiBmYW5kIGljaCBpY2gKSGFsbGUgdW5kIFNjaHdpbW1iYWRudXR6dW5nIG1pdHRlbiBpbiBkZXIgTmFjaHQgZWluZmFjaCBudXIgS2xhc3NlICh1bmQKSG9jaHdhc3NlciBnaWJ0cyBqYSBob2ZmZW50bGloYyBuaWNodCBqZWRlbiBTb21tZXIpCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29tZXJwYXJ0eSAuLi4gKFBhZHJlaWMsIDIwLiBEZXogMjAwMywgMTA6MzI6NDUpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNzE4NzM5NDAgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCjEuIHRldWVyIGlzdCByZWxhdGl2LCBiZWkgbXVkcGFydHlzIHNpbmQgZGllIGhvZWNoc3RlbiBrb3N0ZW4gb2Z0IGRpZQphbmZhaHJ0c2tvc3Rlbi4gV2VubiBpY2ggZWlubWFsIGluIGRlciBTY2h3ZWl6IGJpbiwgd3VlcmRlIGljaCBkb3J0IGF1Y2ggd2FzCmxhZW5nZXIgYmxlaWJlbi4gQmVpIHVuc2VyZW0gZGVyemVpdGlnZW4gRXVyb2t1cnMgYmV6d2VpZmxlIGljaCBhdWNoIHN0YXJrIGRhcwpkaWUgU2Nod2VpeiBub2NoIHNvIHRldWVyIGlzdCwKMi4gZGFzIGlzdCBIYWxsZSBhdWNoLgozLiBXbyBpc3QgZGFzIFByb2JsZW0gbWl0IGRlbSBHZWxkIHRhdXNjaGVuPyBadW1hbCBiZWltIGRlcnplaXRpZ2VuIEV1cm9rdXJzCmlzdCBkYXMgZWluZSB3YWhyZSBGcmV1ZGUuCjQuIEhhbGxlIHdhciBqYSBfbWFsXyBnYW56IG5ldHQsIGFiZXIgYWxzIHNvIHRvbGxlbiBVcmxhdWJzb3J0IGZpbmRlIGljaCBlcwpuaWNodCBnZXJhZGUgdW5kIGJlaSBuZXIgU29tbWVycGFydHkgZmFlbmQgaWNoIGRhcyByZWNodCB0b2xsLiBGdWVyIG5lCldvY2hlbmVuZHBhcnR5IGlzdCBtaXIgSGFsbGUgYXVjaCB6dSB3ZWl0IHdlZyB1bmQgZnVlciBuZSBXb2NoZW5wYXJ0eSBhdWYgZGllCkRhdWVyIHp1IGxhbmd3ZWlsaWcgd2VubiBkYXMgamVkZXMgSmFociBpc3QuCjUuIFdhZXIgZGllIFNjaHdlaXogbWFsIHdhcyB3aXJrbGljaCBuZXVlcy4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRlbGVwb2xpcyBSYWV0c2VsIDIwMDMgKEFwb2xsb25pYSwgMjAuIERleiAyMDAzLCAxMDo0MTo0OSk6Cn4jISBybj1Cb2luZyBydD0xMDcxODI2MTMxIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpBbHNvIFNjaHdlaXogZ2FueiBzaWNoZXIgb2huZSB1bnMuCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21lcnBhcnR5IC4uLiAoT3JrdG9ldGVyLCAyMC4gRGV6IDIwMDMsIDE2OjI0OjM1KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA3MTkxMjc2NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKcHJvYmxlbSBtaXQgZGVtIEdlbGR0YXVzY2hlbiBpc3QsIGRhc3MgZXMgWmVpdCBrb3N0ZXQsIG1hbiB1bnZlcm1laWRsaWNoClZlcmx1c3RlIGVybGVpZGV0LCBtYW4gbWVociBhbHMgZWluZSBTb3J0ZSBNdWVuemVuIGluIGRlciBHZWxkYm9lcnNlIGhhdCB1bmQKYW0gRW5kZSBlaCBpbW1lciBlaW4gUmVzdCAiRnJlbWR3YWVocnVuZyIgdWViZXJibGVpYnQuCgpIYWxsZSBhbHMgVXJsYXVic29ydD8gV2lyIHJlZGVuIGhpZXIgdm9uIGVpbmVyIE11ZHBhcnR5IChpbmNsLiBjYW1waW5nd29jaGUpLApkYXNzIGlzdCB3b2hsIHp1bWluZGVzdCBuaWNodCBkaWUga2xhc3Npc2NoZSBGb3JtIHZvbiBVcmxhdWIuCgoiV2FlciBkaWUgU2Nod2VpeiBtYWwgd2FzIHdpcmtsaWNoIG5ldWVzLiIgLi4gdGphLCBkYXMgd2FlcmVuIFNwaXR6YmVyZ2VuLApIYWl0aSAodWVicmlnZW5zIHNpY2hlciBhdWNoIGVpbiB0b2xsZXIgVXJsYXVic29ydCBmdWVyIHZpZWxlKSB1bmQgc28KemllbWxpZWNoIGFsbGVzIGF1c3NlcmhhbGIgRGV1dHNjaGxhbmRzIGF1Y2guIE51ciB3YXJ1bSBtdXNzIGVzIGV0d2FzIG5ldWVzCnNlaW4/CgpVZWJyaWdlbnMgc2luZCBpbnp3aXNjaGVuIHZpZWxlIGRlciAiQWx0bXVkZGVyIiBpbSBCZXJ1ZnNsZWJlbiB1bmQgZXMga29tbXQKaWhuZW4gYXVmIGVpbiBwYWFyIEV1cm9zIG1laHIgb2RlciB3ZW5pZ2VyIG5pY2h0IGFuLCBhYmVyIGdlcmFkZSBkaWUgbmV1ZW4KTXVkZGVyIHNpbmQgamEgd29obCBlaGVyIHdpZSB1bnNlcmVpbnMgZnJ1ZWhlciAiU3R1ZGVudGVucGFjayIgdW5kIGRpZSBtdWVzc2VuCmF1Y2ggaGV1dGUgbm9jaCBkZW4gRXVybyB6d2VpbWFsIHVtZHJlaGVuIGJldm9yIHNpZSBpaG4gYXVzZ2ViZW4gdW5kIGljaCBmaW5kZQpNRy1QYXJ0eXMgc29sbHRlbiwgc3BlemllbGwgaW0gSGluYmxpY2sgYXVmIGRpZSBaaWVsc2V0enVuZyBkZXMgTUcgZS5WLiBhdWNoCmZ1ZXIgd2VuaWdlciBiZXR1Y2h0ZSBlcnJlaWNoYmFyIHNlaW4uCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU29tZXJwYXJ0eSAuLi4gKFpvb2ssIDIwLiBEZXogMjAwMywgMTY6MjY6NDQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNzE5MzM4NzUgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkZhZWxsdCBkYSBub2NoIGplbWFuZGVtICJIZXVsIGRvY2ghIiB6dSBlaW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU29tZXJwYXJ0eSAuLi4gKFZlY3RvciwgMjAuIERleiAyMDAzLCAxNjoyNjo0Nik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA3MTkzMzg3NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKd2FydW0gaGFidCBpaHIgZXMgYWxsZSBudXIgaW1tZXIgbWl0IGdlbGQgdGF1c2NoZW4uCndlbm4gZWluZXIgd2Vpc3Mgd2llIG1hbiBhdXMgYWxsZW0gZ2VsZCByYXVza2xvcGZ0IHZvbSBwYXJrZW4gCnVlYmVyIGRhcyBiZW51dHplbiBvZWZmZW50bGljaGVyIHRvaWxldHRlbiBiaXMgenVyIG5pY2h0ZWluaGFsdHVuZwpkZXIga2xlaWRlcm9yZG51bmcgZGFubiBzaW5kIGRhcyBkaWUgZWlkZ2Vub3NzZW4uIHNvd2VpdCBpY2ggCndlaXNzIGhhYmVuIGRpZSBsYWVuZ3N0IHNjaG9uIGF1ZiBldXJvIGFscyB6d2VpdHdhZWhydW5nIHVtZ2VzdGVsbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eSBpbiBkZXIgU2Nod2VpeiEgKEFub3JpcywgMjAuIERleiAyMDAzLCAyMTozODoxMSk6Cn4jISBybj1Bbm9yaXMgcnQ9MTA3MTk1MTk4MyByZz1wYXJ0eQp+IyEgdGlkPTEwNzE4NDY1OTkKS2xhciwgZGEgd2FlcmUgei5CLiBHZW5mLCBvZGVyIHVlYmVyIGRhcyBUZXNzaW4uIEdyYXVidWVuZGVuIGhhdCBlYmVuZmFsbHMKbWVociBvZGVyIHdlbmlnZXIgYnJhdWNoYmFyZSBQYXNzc3RyYXNzZW4gdW5kIGRlciBLcmVpc3ZlcmtlaHIgaW4gU3QuCk1hcmdyZXRoZW4gaXN0IHRvbGwgPT4gT2VzdGVycmVpY2hlciBibGVpYmVuIHNwYWV0ZXN0ZW5zIGRvcnQgc3RlY2tlbiA7KQoKRWlnZW50bGljaCBtZWludGUgaWNoIGplZG9jaCBkaWUgU3RyZWNrZSB6d2lzY2hlbiBEb25hdWVzY2hpbmdlbiB1ZWJlcgpTY2hhZmZoYXVzZW4gbmFjaCBadWVyaWNoLgoKTmFjaHJpY2h0ZW4gdm9uIGRlciBGcm9udDogVGF0c2FlY2hsaWNoIHNpbmQgUGFya2dlYnVlaHJlbiAodm9yYWxsZW0gaW4KWnVlcmljaCkgenVtIGdyb2Vzc3RlbiBUZWlsIGF1Y2ggbWl0IEV1cm8gYmV6YWhsYmFyLgoKRGllIFBhcnR5a29zdGVuIGtvZW5uZW4gYXVmIG1laW4gZGV1dHNjaGVzIEtvbnRvIGluIEV1cm8gb2RlciBhdWNoCnZvciBPcnQgaW4gRXVybyBiZXphaGx0IHdlcmRlbi4gTmVpbiwgU2NoaWxsaW5nZSB3ZXJkZW4gbmljaHQgYWt6ZXB0aWVydC4KCk51biBiaXR0ZSBpY2ggZWluZmFjaCB1bSBlaW4gYmlzc2NoZW4gVmVydHJhdWVuLCBkYXNzIGRpZSBLb3N0ZW4gZGVuCnVlYmxpY2hlbiBQYXJ0eWtvc3RlbiBlbnRzcHJlY2hlbiB3ZXJkZW4uIEVyZnJldXRlIGV1Y2ggei5CLiBhbiBkZW4KZG9jaCBiZWFjaHRsaWNoIG5pZWRyaWdlcmVuIEJlbnppbmtvc3RlbiAuLi4KCi0gQW5vcmlzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTb21lcnBhcnR5IC4uLiAoR3JpbW1ib3JuLCAyMC4gRGV6IDIwMDMsIDIxOjQ0OjE4KToKfiMhIHJuPVpvb2sgcnQ9MTA3MTkzNDAwNCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKOmhlYnQgZGllIEhhbmQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTb21lcnBhcnR5IC4uLiAoUm9uZGEsIDIxLiBEZXogMjAwMywgMDA6MTc6NTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNzE5NTMwNTggcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCk9jaCBNZW5zY2guIEVybG9lc3QgR3JpbW1ib3JuIGRvY2ggZW5kbGljaC4gRGVyIGhlYnQgc2Nob24gc2VpdCB6d2VpIFN0dW5kZW4KZGllIEhhbmQgdW5kIGtlaW5lciBuaW1tdCBpaG4gZHJhbi4gQWxzbyBHcmltbWJvcm4sIHdhcyBtb2VjaHRlc3QgRHUgdW5zCnNhZ2VuPwoKUm9uZGEgKnZlcm11dGV0LCBkYXNzIEdyaW1tYm9ybiBmdWVyIFRlYW0gU2Nod2l6IHN0aW1tdD8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU29tZXJwYXJ0eSAuLi4gKE5vbm5lLCAyMS4gRGV6IDIwMDMsIDA5OjQ2OjExKToKfiMhIHJuPVJvbmRhIHJ0PTEwNzE5NjIyNzcgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkthbm4gc2VpbiwgZGFzcyBpY2ggZGFzIGVpbiBiaXNzY2hlbiBmYWxzY2ggaW4gRXJpbm5lcnVuZyBoYWJlLCBhYmVyIG1pciBrb21tdAplcyBzbyB2b3IsIGRhc3MgZGVyIEFuc3RpZWcgZGVyIFBhcnR5a29zdGVuIGluIGRlbiBKYWhyZW4gZGV1dGxpY2ggdWViZXIgZGVtCkluZmxhdGlvbnNzYXR6IHdhcmVuLiBVbmQgaWNoIGdlYmUgT3JrdHJvZXRlIGR1cmNoYXVzIHJlY2h0LCB3ZW5uIGVyIHNhZ3QsCmRhc3MgZGllIGV0YWJsaWVydGVuIFNwaWVsZXIgbWl0dGxlcndlaWxlIGluIExvaG4gdW5kIEJyb3Qgc3RlaGVuIHVuZCBuaWNodCBzbwphdWYgZGllIEtvc3RlbiBnZXNjaGF1dCB3aXJkLiBEaWUgbWVpc3RlbiBTdHVkZW50ZW4gKFNwaWVsZXJuYWNod3VjaHMpIGhhYmVuCndvaGwga2VpbiBBdXRvIHVuZCBrb21tZW4ga2F1bSBpbiBkZW4gR2VudXNzIGRlciBnZXJpbmdlbiBTcHJpdHByZWlzZSB1bmQgZWluClBhcnR5b3J0IGdhbnogYW0gUmFuZCBkZXMgRWluenVnc2dlYmlldHMgZGVzIE1vcmdlbkdyYXVlbiwgZGVyIGZ1ZXIgODAlIGRlcgpTcGllbGVyIG1pdCB1bmJlemFobGJhcmVuIEZhaHJ0a29zdGVuIHZlcmtudWVwZnQgaXN0LCBoYWx0ZSBpY2ggZnVlcgp1bmdsdWVja2xpY2guCgpJaHIgbXVlc3N0IGphIHdpc3Nlbiwgb2IgaWhyIGRlbiBOYWNod3VjaHMga2VubmVubGVybmVuIHdvbGx0IG9kZXIgTXVkcGFydGllcwp6dSBlbGl0YWVyZW4gVmVyYW5zdGFsdHVuZ2VuIHdlcmRlbiBzb2xsZW4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IGluIGRlciBTY2h3ZWl6IChQZXJ0aW5heGUsIDIxLiBEZXogMjAwMywgMTA6MDA6MzgpOgpJc3Qga2xhc3NlLCBlbmRsaWNoIG1hbCBuaWNodCBuYWNoIFNrYW5kaW5hdmllbiBvZGVyIGlucyBCYWx0aWt1bS4KVGV1ZXIgaXN0IG51ciBkYXMgRXNzZW5nZWhlbiwgZGFzIGlzdCBmdWVyIERldXRzY2hlIHVudmVyc3RhZW5kbGljaCB0ZXVlci4KU29sbHRlIGFsc28gS29jaG1vZWdsaWNoa2VpdCBnZWJlbi4KQXV0b2JhaG4genUgdmVybWVpZGVuIGlzdCBlaWdlbnRsaWNoIGtlaW4gUHJvYmxlbSwgbWFjaCBpY2ggc2VpdCB4IEphaHJlbiB1bmQKbWl0IFJvdXRlbnBsYW5lciBzb3dpZXNvIGtlaW4gUHJvYmxlbS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTb21lcnBhcnR5IC4uLiAoQmFtYmksIDIxLiBEZXogMjAwMywgMTA6MjE6NTYpOgp+IyEgcm49Tm9ubmUgcnQ9MTA3MTk5NjM3MSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKV2ludGVyYnVyZyBoYXQgYXVmZ2VzY2hsYWdlbiwgd2FzICh6dW1pbmRlc3QgaW4gV2ludGVyYnVyZykgZGllIGhvZWhlcmVuCktvc3RlbiBlcmtsYWVyZW4gZHVlcmZ0ZS4gQWxzIGljaCBkYW1hbHMgV2ludGVyYnVyZyBmdWVyIDQ2IEV1cm8gKD8pCnZvcnNjaGx1ZywgZ2FicyBBdWZzdGFlbmRlIGV0Yy4gRGFzIEFyZ3VtZW50LCBkYXNzIFN0dWRlbnRlbiB3ZW5pZ2VyIEdlbGQKaGFiZW4sIGthbm4gaWNoIHZlcnN0ZWhlbiwgYWJlciBpY2ggd2FyIGRhbWFscyBhdWNoIFN0dWRlbnQgdW5kIG1pciB3YXJzIG5pY2h0Cnp1dmllbC4gRGllIG5pZWRyaWdlcmVuIFNwcml0cHJlaXNlIGxvaG5lbiBzaWNoIGF1Y2ggZnVlciBMZXV0ZSBvaG5lIEF1dG8sIGRpZQptaXQgYW5kZXJlbiBNdWRkZXJuIChwZXIgQXV0bykgaGlua29tbWVuLiBGcmFnIG1hbCBKaWRkdSwgd2llIGVyIHNlaW5lbgouLi5qZXR6dCBibG9zcyBrZWluIGZhbHNjaGVzIFdvcnQgc2FnZW4uLi4gQW5oYW5nIG1pdGdlYnJhY2h0IGhhdC4KQmVybGluIGlzdCBmdWVyIG1pY2ggYXVjaCB3ZWl0OyBvayBTY2h3ZWl6IGhhdCBzdW1tYSBzdW1hcnVtIGxhZW5nZXJlCkFuZmFocnRzc3RyZWNrZW4gZnVlciBhbGxlIHp1c2FtbWVuIGFscyBCZXJsaW4sIGFiZXIgZWxpdGFlciBrYW0gbWlyIGF1Y2gKV2ludGVyYnVyZyB2b3IgdW5kIGRhcyB3YXIgbWVpbmVzIEVyYWNodGVucyBuaWNodCBhbGx6dXdlaXQgYXVzIGRlciBXZWx0IG9kZXIKenUgdGV1ZXIuIE1hZyBzZWluLCBkYXNzIFdpbnRlcmJ1cmcgZWggbmllIHNvb29vIHN0YXJrIGJlc3VjaHQgd2FyLgpGYXppdCBtZWluZXJzZWl0czogSWNoIHdhZXIgZnVlciBuZSBQYXJ0eSBpbiBkZXIgU2Nod2VpeiwgaXN0IGFiZXIgZnVlciBtaWNoCmVoIG5pY2h0IGFsbHp1d2VpdCB3ZWcuIEFuc29uc3RlbjogSWNoIGthbm4gTm9ubmVzIEVpbndhZW5kZSBkdXJjaGF1cwp2ZXJzdGVoZW4uCgpCYW1iaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTb21lcnBhcnR5IC4uLiAoTGVpYmksIDIxLiBEZXogMjAwMywgMTM6MzM6MTUpOgp+IyEgcm49QmFtYmkgcnQ9MTA3MTk5ODUxNiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKd2VubiBlcyBlaW5lIHNvbW1lcnBhcnR5IHdlcmRlbiBzb2xsLCBpc3QgYXVmIGplZGVuIGZhbGwgZGVyIHNlZSBvZGVyIGRhcwpzY2h3aW1tYmFkIGRpcmVrdCBkYW5lYmVuIHdpY2h0aWcuCgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU29tZXJwYXJ0eSAuLi4gKEdub21lLCAyMS4gRGV6IDIwMDMsIDE1OjIyOjMzKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDcxOTMzODc1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQppY2ggYmluIGphIGF1Y2ggbmljaHQgc29vb28gZnVlciBkaWUgc2Nod2VpeiwgYWJlci4uLgoKPiBwcm9ibGVtIG1pdCBkZW0gR2VsZHRhdXNjaGVuIGlzdCwgZGFzcyBlcyBaZWl0IGtvc3RldCwgbWFuIHVudmVybWVpZGxpY2gKPiBWZXJsdXN0ZSBlcmxlaWRldCwgbWFuIG1laHIgYWxzIGVpbmUgU29ydGUgTXVlbnplbiBpbiBkZXIgR2VsZGJvZXJzZSBoYXQgdW5kCj4gYW0gRW5kZSBlaCBpbW1lciBlaW4gUmVzdCAiRnJlbWR3YWVocnVuZyIgdWViZXJibGVpYnQuCgplY2h0PyBpc3QgZGllc2VzIGFyZ3VtZW50IGRlaW4gZXJuc3Q/IHdpZSB3YWVyZSBlcyBtaXQ6CgoicHJvYmxlbSBtaXQgZGVtIGF1dG9mYWhyZW4gaXN0LCBkYXNzIGVzIHplaXQga29zdGV0LCBtYW4gdW52ZXJtZWlkbGljaAogdmVybHVzdGUgZXJsZWlkZXQsIG1hbiBtZWhyIGFscyBlaW5lIHN0cmFzc2UgYXVmIGRlciBzdHJhc3NlbmthcnRlIGhhdCB1bmQKIGFtIGVuZGUgZWggaW1tZXIgZWluIHJlc3QgYmVuemluIHVlYmVyYmxlaWJ0LiIKCmdlbmF1c28gc2lubmZyZWksIGdlbGw/Cgp3ZW5uIGR1IGdlZ2VuIGRpZSBzY2h3ZWl6IGJpc3QsIGRhcmZzdCBkdSBkYXMgamEuIGFiZXIgd2llIHdhZXJlIGVzIG1hbAptaXQgc2lubnZvbGxlbiB1bmQgZ3JpZmZpZ2VuIGFyZ3VtZW50ZW4/Cgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU29tZXJwYXJ0eSAuLi4gKEFuYXRvbCwgMjEuIERleiAyMDAzLCAxNTozODo0OSk6Cn4jISBybj1Hbm9tZSBydD0xMDcyMDE2NTUzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpJY2ggbXVzcyBQYWRyZWljIChhcmdoISBOaWNodCBoYXVlbiEpIGluIHB1bmN0byBGaW5hbnplbiB6dXN0aW1tZW46IApGdWVyIEpvZS1PdHRvIFNpeHBhY2tub3JtYWx2ZXJicmF1Y2hlciBzaW5kIGRpZSBSZWlzZWtvc3RlbiBkZXIgZ3Jvc3NlCkJhdHplbiwgbmljaHQgZGllIFBhcnR5IHNlbGJzdC4gV2ludGVyYnVyZyBtaXQgVm9sbHZlcnBmbGVndW5nIGluY2wuCkdldHJhZW5rZSBhYiBGcmVpdGFnIEFiZW5kIGlzdCBtaXQgNDQgRXVybyBzb29vIHRldWVyIG5pY2h0IGdld2VzZW4uCldlbm4gRHUgdm9uIEZyYW5rZnVydCBGbHVnaGFmZW4gbmFjaCBTaWVnYnVyZy9Cb25uIG1pdCBkZW0gSUNFIGZhZWhyc3QsCmxhZXNzdCBEdSBmYXN0IGdlbmF1c292aWVsZSBLcm9ldGVuIGF1ZiBkZXIgU3RyZWNrZS4gVW5kIG5laW4sIGplbWFuZCwKZGVyIHouQi4gdm9uIEhhbWJ1cmcgYXVmIGVpbmUgUGFydHkgaW4gS2FybHNydWhlIGZhZWhydCwgd2lyZCBrYXVtIG51cgpSZWdpb25hbGJhaG5lbiBiZW51dHplbi4uLgoKVW5kIERBUyBQcm9ibGVtLCBkYXMgZ2FiIGVzIHNjaG9uLCBhbHMgZGllICJldGFibGllcnRlbiBNdWRkZXIiICh3YXMKZnVlciBlaW5lIENyZWF0aW9uKSBub2NoIHN0dWRpZXJ0ZW4uIFVuZCBvYiBkaWUgRmFocmdlbWVpbnNjaGFmdCBqZXR6dApkdXJjaCBEZXV0c2NobGFuZCB0b3VydCBvZGVyIGVpbiBwYWFyIEtpbG9tZW50ZXJnZWRvZW5zZSBhdWNoIG5vY2ggaW4KZGVyIFNjaHdlaXouLi4gc28gd2hhdC4gCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTb21lcnBhcnR5IC4uLiAoRm9vYmFyLCAyMS4gRGV6IDIwMDMsIDE1OjQ5OjIxKToKfiMhIHJuPUFuYXRvbCBydD0xMDcyMDE3NTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpGdWVyIHVuc2VyZSBpdGFsaWVuaXNjaGVuIE11ZGRlciBpc3QgZGllIFNjaHdlaXogbmF0dWVybGljaCBvcHRpbWFsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFNvbWVycGFydHkgLi4uIChDYXNzYW5kcmEsIDIxLiBEZXogMjAwMywgMTk6NTQ6MDkpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNzIwMTgxNjEgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCktvZW5udGUgbWFsIGVpbmVyIHZvbiBkZW4gc2Nod2VpemVybiBzYWdlbiwgd2FzIGZ1ZXIgZWluZSBwYXJ0eSBkb3J0CnVuZ2VmYWVociEhISB6dSB2ZXJhbnNjaGxhZ2VuIHdhZXJlPyBNZWluIGxldHp0ZXIgYmVzdWNoIGRhIGlzdCBld2lnIGhlci4KMi4gR2lidHMgZGEgYXVjaCB6dWVnZSBoaW4/IGljaCBoYWIga2VpbiBhdXRvIHVuZCBtYWcgZWggbGllYmVyIHp1Z2ZhaHJlbgozLiBnaWJ0cyBkYSB3YXMgYW5kZXJlcyBhbHMgYmVyZ2U/IFdhc3Nlcj8gKGJpbiBiZWtlbm5lbmRlciBmaXNjaGtvcHAgdW5kIGthbm4KZGFoZXIgbWl0IEJlcmdlbiB3ZW5pZyBhbmZhbmdlbikKNC4gV28gaW4gZGVyIHNjaHdlaXogYXVzIGRlbiBiaXNoZXJpZ2VuIHBvc3RpbmdzIHZlcm11dGUgaWNoIGJlaSB6dWVyaWNoLCBpc3QKZGVtIHNvPyAKCkNhc3N5LCBTdHVkZW50IHVuZCBzaWNoIGZyYWdlbmQgb2IgZGllIFNjaHdlaXogYmV6YWhsYmFyIGlzdAoKUC5TLiBuZWluIGFtIGdlbGR0YXVzY2hlbiB3aXJkcyBuaWNodCBzY2hlaXRlcm4gaWNoIGZhaHIgYXVjaCB3ZWl0ZXJoaW4gbmFjaApHQgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFNvbWVycGFydHkgLi4uIChOaWJlbCwgMjIuIERleiAyMDAzLCAwMjoyNjo1OCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA3MjAzMjg0OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKMS4gRWluZSB2b2VsbGlnIGFuZGVyZSBhbHMgYmVpIGV1Y2ggaW0gaG9oZW4gTm9yZGVuLiBXaXIgZmVpZXJuIGhpZXIKdHJhZGl0aW9uZWxsIGluIEZvbmR1ZWJlY2tlbiwgcGVpdHNjaGVuIHVucyA1MHggcHJvIEhvc2VudmVybHVzdCBhdXMKdW5kIHdlciB6dWxldHp0IGRpZSBtZWlzdGVuIFN0cmllbWVuIGFtIFJ1ZWNrZW4gaGF0LCBkYXJmIGRpZSBQZWl0c2NoZQppbSBTZWUgd2FzY2hlbiBnZWhlbi4KCjIuIFp1ZWdlPyBOaWUgZ2Vob2VydC4gTXVzcyBuZSBuZXVlIEVyZmluZHVuZyBzZWluLiBXaXIga2VubmVuIG51cgpEYW1wZmxva3MsIHVuZCBkaWUgZmFocmVuIGF1Y2ggbnVyIDJ4IHBybyBXb2NoZSB6d2lzY2hlbiBadWVyaWNoIHVuZApCYXNlbCBoaW4gdW5kIGhlciAoc29mZXJuIGRpZSBCYW5kaXRlbiBkaWUgR2xlaXNlIG5pY2h0IGthcHBlbi4pCgozLiBBdXNzZXIgQmVyZ2VuIHVuZCBXYXNzZXI/IEphLCBlaW5lIFdpZXNlIGdpYnRzIGhpZXIgbm9jaCwgZGF6dSBub2NoCnp3ZWkgRWljaGVuLiBEZXIgUmVzdCB3dXJkZSBhbm5vIGRhenVtYWwgdm9uIGRlbiBIYWJzYnVyZ2VybiAKbmllZGVyZ2VicmFubnQuCgo0LiBVZWJlcmFsbCBuYXR1ZXJsaWNoLiBBdXNzZXIgaW0gV2FsbGlzLCBkYSBpc3QgZGFzIE1hdHRlcmhvbiwgZGEKZ2lidHMgYXVjaCBrZWluIFdhc3Nlci4KCkphLCBkaWUgcGFhciBLaWxvbWV0ZXIgc3VlZGxpY2ggaXN0IGFsbGVzIHNvb29vbyBhbmRlcnMuIFZlcmdlc3N0IGV1cmUKS29wZnR1ZWNoZXIgbmljaHQgdW5kIEJ1bGxlbmhvZGVuIHNpbmQgZWluZSBEZWxpa2F0ZXNzZS4gV2VyIHNpZSBuaWNodAppc3N0LCBiZWxlaWRndCBkaWUgRWluZ2Vib3JlbmVuLgoKICAtIE5pYmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTb21lcnBhcnR5IC4uLiAoVHVyYm8sIDIyLiBEZXogMjAwMywgMTY6MDQ6MzEpOgp+IyEgcm49TmliZWwgcnQ9MTA3MjA1NjQxOCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKRHUgaGFzdCBkaWUgZ3Jvc3NlIFNlZXNjaGxhY2h0IGF1ZiBkZW0gWnVlcmljaHNlZSB3YWVocmVuZCBkZXMKU29uZGVyYnVuZHNrcmllZ2VzIHVudGVyc2NobGFnZW4uIE1pdCByaWNodGlnZW4gS2Fub25lbmJvb3Rlbi4KT2RlciB3YXIgZGFzIGlubmVyIFBhcmFsbGVsZGltZW5zaW9uPwoKVHVyYm8gKEthdGVyIHVuZCBzdGV0cyBuZXVnaWVyaWcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogU29tZXJwYXJ0eSAuLi4gKENhc3NhbmRyYSwgMjIuIERleiAyMDAzLCAyMjowMDoyMCk6Cn4jISBybj1UdXJibyBydD0xMDcyMTA1NDcxIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpEYW5rZSwgaGF0IHNpY2ggYWJlciBlaCBlcmxlZGlndCBkYSBkaWUgenVnZmFocnQgbmFjaCB6dWVyaWNoIGRhbm4gZG9jaCBldHdhcwp0ZXVlciBpc3QuCgo9IFNjaHdlaXplciBQYXJ0eSBvaG5lIG1pY2gKCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogU29tZXJwYXJ0eSAuLi4gKEJpcmR5LCAyNC4gRGV6IDIwMDMsIDE5OjU2OjA0KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDcyMTI2ODIwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpmbHVlZ2UgaW4gZGllIHNjaHdlaXogLSB6dWVyaWNoIG9kZXIgZ2VuZiwgZ2lidHMgYWIgMTksOTAgZXVyby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBTb21lcnBhcnR5IC4uLiAoUm9sYW5kLCAgMS4gSmFuIDIwMDQsIDE1OjU0OjI4KToKfiMhIHJuPUJpcmR5IHJ0PTEwNzIyOTIxNjQgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkhhbGxvCgpJY2ggbW9lY2h0ZSBkYXMgZ2VzcHJhZWNoIGJlenVlZ2xpY2ggZGVtIE9ydCBtYWwgYXVzc2VuIHZvciBsYXNzZW4uCkFiZXIgd2FzIG1pciBhbiBkaWVzZXIgc3RlbGxlIHdpY2h0aWcgZXJzY2hlaW50IGlzdDogZWluZSBUZXJtaW5zZXR6dW5nCkRhbWl0IGFsbGUgZGllIChtaWNoIGVpbmdlc2NobG9zc2VuKSB3ZWxjaGUgbmljaHQgc3R1ZGllcmVuIHVuZCBvZGVyIHNvbnN0CmV0d2VpbGlnZSB0YWV0aWdrZWl0ZW4gYXVzdWViZW4gZGllIGluIGRlciB1cmxhdWJzcGxhbnVuZyBuaWNodCBzbyBmbGV4aWJlbApzaW5kLiByZWNodHplaXRpZyB1cmxhdWIgZWlucmVpY2hlbiB1bmQgZ2VuZW1pZ2VuIGxhc3NlbiBrb2VubmVuLgoKTWZHIFJvbGFuZCAuLi4gbWl0IGVpbmVyIEJhY2tlIHNjaG9uIGltIEF0dW8gdW5kIGF1Zm0gV2VnIHp1ciBQYXJ0eQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFNvbWVycGFydHkgLi4uIChab29rLCAgNS4gSmFuIDIwMDQsIDIxOjUxOjU5KToKfiMhIHJuPVJvbGFuZCBydD0xMDcyOTY4ODY4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpXZXIgenVlcnN0IE9ydCB1bmQgWmVpdCB1bmQgT3JnYW5pc2F0aW9uIGZlc3QgenVzYWd0LCBiZWtvbW10IGRlbiBadXNjaGxhZyEKCkFsc286IFNjaHdlaXogb2RlciBIYWxsZT8KClpvb2suCgpQUzogV2FzIGlzdCBlaWdlbnRsaWNoIG1pdCBkZXIgRnJ1ZWhqYWhyc3BhcnR5IGdld29yZGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFNvbWVycGFydHkgLi4uIChDYXR3ZWF6bGUsICA2LiBKYW4gMjAwNCwgMDg6MDU6NTIpOgp+IyEgcm49Wm9vayBydD0xMDczMzM1OTE5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpEYXJmIGljaCBsZWlzZSBhbm1lcmtlbiwgZGFzcyBpY2ggU2Nod2VpeiB3aXJrbGljaCBuaWNodCBmdWVyIGVpbmUgZ3V0ZSBJZGVlCmhhbHRlIGZ1ZXIgZGllIFNvbW1lcnBhcnR5PwpJcmdlbmR3aWUgYmVmdWVyY2h0ZSBpY2gsIGRhc3MgZGEgbnVyIDI1IExldXRlIGtvbW1lbiwgdW5kIG1pdCAiU29tbWVycGFydHkiCnVuZCAiV2ludGVycGFydHkiIHZlcmJpbmRlIGljaCBpbW1lciBldHdhcyBhbmRlcmVzLgoKR2VuYXVzbyBmaW5kZSBpY2ggZXMgYWxsZXMgYW5kZXJlIGFscyBub3R3ZW5kaWcsIGRhIHdpZWRlciBlaW5lIFdvY2hlIGRyYXVzIHp1Cm1hY2hlbi4gV2VubnMgcGFzc3QsIHNjaG9lbiwgYWJlciBWb3JyYXVzc2V0enVuZyBpc3NlcyBuaWNodC4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFNvbWVycGFydHkgLi4uIChNb250YW51cywgIDYuIEphbiAyMDA0LCAwOTo0OTozNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3MzM3Mjc1MiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKVm9uIG1pciBlaW4gZWluZGV1dGlnZXMgVm90dW0gZnVlciBkaWUgU2Nod2VpeiEgKEF1Y2ggd2VubiBpY2ggd29obCBudXIgZnVlcnMKV29jaGVuZW5kZSBrb21tZW4ga29lbm50ZSwgYWJlciBzZWxic3QgZGFzIHdhZXJlIG1pciBkaWUgdWx0cmFsbmFnZSBBbnJlaXNlCih2b24gQnJlbWVuIGF1cy4uLiB2aWVsIHdlaXRlciBnZWh0IG5pY2h0KSB3ZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFNvbWVycGFydHkgLi4uIChab29rLCAgNi4gSmFuIDIwMDQsIDEzOjM5OjQ5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNzMzNzg5Nzcgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCk5hamEsIHNjaGF1biB3aXIgbWFsLCB3ZXIgenVlcnN0IGVpbiBwYXNzZW5kZSBLb256ZXB0IHZvcmxlZ3QsIGRhcyB3aXJkIGVzCmRhbm4gZWJlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogU29tZXJwYXJ0eSAuLi4gKEFwb2xsb25pYSwgIDYuIEphbiAyMDA0LCAxNDoxNTozMik6Cn4jISBybj1ab29rIHJ0PTEwNzMzMzU5MTkgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkRhbm4gaGllc3NlIGRhcyBhYmVyIGJlcmVpdHMgamV0enQgSGFsbGUsIGRhIGRhZnVlciBkaWUgd2VydGUgT3JnYW5pc2F0b3JpbgpzY2hvbiBsYW5nZSBmZXN0IHp1Z2VzYWd0IGhhdC4KCkFwbyoKaXMgZWggdWVyIEhhbGxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogU29tZXJwYXJ0eSAuLi4gKFpvb2ssICA2LiBKYW4gMjAwNCwgMTQ6MTk6NTgpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNzMzOTQ5MzIgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCldlbm4gc2llIHVucyBuZW4gVGVybWluIHByYWVzZW50aWVydCwgYml0dGUgZ2VybmUuIDopCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFNvbWVycGFydHkgLi4uIChNaXJpbCwgIDYuIEphbiAyMDA0LCAxNDo1MzozMSk6Cn4jISBybj1ab29rIHJ0PTEwNzMzOTUxOTggcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCk1pciBpc3QgZWlnZW50bGljaCBlZ2FsIHdvIGVzIGlzdCwgSGF1cHRzYWNoZSBlcyBpc3QgenUgZWluZXIgWmVpdCwgd28gaW4KTlJXIFNvbW1lcmZlcmllbiBzaW5kIDopLgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBTb21lcnBhcnR5IC4uLiAoRGFya2xvciwgIDYuIEphbiAyMDA0LCAxNDo1NjowMyk6Cn4jISBybj1NaXJpbCBydD0xMDczMzk3MjExIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpHaWJ0cyBkZW5uIGVpbmUgWmVpdCwgenUgZGVyIGFsbGUgQnVuZGVzbGFlbmRlciBnbGVpY2h6ZWl0aWcgRmVyaWVuIGhhYmVuPyAgCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogU29tZXJwYXJ0eSAuLi4gKEFsa29ob2wsICA2LiBKYW4gMjAwNCwgMTQ6NTY6NTQpOgp+IyEgcm49RGFya2xvciBydD0xMDczMzk3MzYzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQp1bSBkZW4gZXJzdGVuIGF1Z3VzdCwgb2Rlcj8gZGFzIGlzdCBkb2NoIHNjaHVsamFocmVzd2VjaHNlbAoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IFNvbWVycGFydHkgLi4uIChNaXJpbCwgIDYuIEphbiAyMDA0LCAxNTowMToxNyk6Cn4jISBybj1BbGtvaG9sIHJ0PTEwNzMzOTc0MTQgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCiBCYWRlbi1XfHJ0dGVtYmVyZyAgMjkuMDcuIC0gMTEuMDkuMjAwNCAgCiAgQmF5ZXJuICAgMDIuMDguIC0gMTMuMDkuMjAwNCAgIAogIEJlcmxpbiAgMjQuMDYuIC0gMDQuMDguMjAwNCAgCiAgQnJhbmRlbmJ1cmcgICAyNC4wNi4gLSAwNC4wOC4yMDA0ICAgCiAgQnJlbWVuICAwOC4wNy4gLSAxOC4wOC4yMDA0ICAKICBIYW1idXJnICAgMjQuMDYuIC0gMDQuMDguMjAwNCAgIAogIEhlc3NlbiAgMTkuMDcuIC0gMjcuMDguMjAwNCAgCiAgTWVja2xlbmJ1cmctVm9ycG9tbWVybiAgIDI2LjA2LiAtIDA2LjA4LjIwMDQgICAKICBOaWVkZXJzYWNoc2VuICAwOC4wNy4gLSAxOC4wOC4yMDA0ICAKICBOb3JkcmhlaW4tV2VzdGZhbGVuICAgIDIyLjA3LiAtIDA0LjA5LjIwMDQgICAKICBSaGVpbmxhbmQtUGZhbHogIDE5LjA3LiAtIDI3LjA4LjIwMDQgIAogIFNhYXJsYW5kICAgMTkuMDcuIC0gMjguMDguMjAwNCAgIAogIFNhY2hzZW4gIDEwLjA3LiAtIDIwLjA4LjIwMDQgIAogIFNhY2hzZW4tQW5oYWx0ICAgMDguMDcuIC0gMTguMDguMjAwNCAgIAogIFNjaGxlc3dpZy1Ib2xzdGVpbiAgMjguMDYuIC0gMDcuMDguMjAwNCAgCiAgVGh8cmluZ2VuICAgMDguMDcuIC0gMTguMDguMjAwNCAgIAogCiAKIAogCiAgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogU29tZXJwYXJ0eSAuLi4gKEh1bW5pLCAgNi4gSmFuIDIwMDQsIDE1OjAyOjI3KToKfiMhIHJuPU1pcmlsIHJ0PTEwNzMzOTc2Nzcgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkFMc28gSU1ITyBoYXQgZGllIGVyc3RlIEF1Z3VzdHdvY2hlIG9kZXIgc293YXMgamVkZXIgZnJlaS4gU2VoIGljaCBkYXMgZmFsc2NoPwoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBTb21lcnBhcnR5IC4uLiAoQ2F0d2VhemxlLCAgNi4gSmFuIDIwMDQsIDE1OjI1OjUxKToKfiMhIG9uPURhcmtsb3Igb3Q9MTA3MzM5ODcwMCBvZz1tZWdhc2NobWFycm4KfiMhIHJuPUNhdHdlYXpsZSBydD0xMDczMzk4NTMzIHJnPXNjaG1hcnJuCn4jISB0aWQ9MTA3MTY2MDM3MQpOaWNoIHdlbm4gaWNoIG5vY2ggaW5zIFNlbWluYXIgd2lsbAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IFNvbWVycGFydHkgLi4uIChDYXR3ZWF6bGUsICA2LiBKYW4gMjAwNCwgMTU6MjU6NTMpOgp+IyEgb249TW9udGFudXMgb3Q9MTA3MzM5ODk2NCBvZz1tZWdhc2NobWFycm4KfiMhIHJuPURhcmtsb3IgcnQ9MTA3MzM5ODcwMCByZz1tZWdhc2NobWFycm4KfiMhIHRpZD0xMDcxNjYwMzcxClNwaWVsdCBpaHIgaGllciBSYWV1bWNoZW4td2VjaHNlbC1EaWNoIG10aSBFaW5iYWhuc3RyYXNzZW5yZWdlbHVuZz8KU3ByaWNoOiBJbnMgU2VtaW5hciBnZWh0cyBucnUgdm9uIGRlciBCaWJsaW90aGVrIGF1cywgYWJlciBudXIsdyBlbm4gbWFuIHNpZQp2b3JoZXIgbmljaHQgaW4gUmljaHR1Z24gTWVuc2EgdmVybGFlc3N0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFNvbWVycGFydHkgLi4uIChEYXJrbG9yLCAgNi4gSmFuIDIwMDQsIDE1OjMzOjE4KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDczMzk5MTUzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpLb21tIHdlbm4gc2Nob24gZGFubiBuYWNoIFNjaG1hcnJuIC0genUgZGVtIFJlc3QuLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBTb21lcnBhcnR5IC4uLiAoWm9vaywgIDYuIEphbiAyMDA0LCAxNTozMzozMik6Cn4jISBybj1EYXJrbG9yIHJ0PTEwNzMzOTczNjMgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCldlaWhuYWNodGVuIHVuZCBPc3Rlcm4gbmVobWUgaWNoIGFuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBTb21lcnBhcnR5IC4uLiAoQ2F0d2VhemxlLCAgNi4gSmFuIDIwMDQsIDE1OjQxOjMwKToKfiMhIHJuPURhcmtsb3IgcnQ9MTA3MzM5OTU5OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKRGEgd2FyIGljaCBzY2hvbiBtYWwsIGhhYiBrZWluZSBMdXN0IGRpZSBnYW56ZSBEcmVja3NhcmJlaXQgYWxsZWluZSB6dSBtYWNoZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBTb21lcnBhcnR5IC4uLiAoRGFya2xvciwgIDYuIEphbiAyMDA0LCAxNTo0Njo0Mik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3MzQwMDA5MCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKV28gSGFsbGUsIFNjaHdlaXogb3IgU2NobWFycm4/IAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IFNvbWVycGFydHkgLi4uIChNb250YW51cywgIDYuIEphbiAyMDA0LCAxNTo1NTo0NCk6Cn4jISBybj1EYXJrbG9yIHJ0PTEwNzM0MDA0MDIgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkhpZXIgaXN0IGVpbiBLb21wcm9taXNzdm9yc2NobGFnOiB3aXIgbWFjaGVuIGRpZSBQYXJ0eSBpbiBlaW5lciBIYWxsZSBpbiBkZXIKU2Nod2Vpei4gRGFubiBzb2xsdGVuIGFsbGUgRnJha3Rpb25lbiB6dWZyaWVkZW4gc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBTb21lcnBhcnR5IC4uLiAoRGFya2xvciwgIDYuIEphbiAyMDA0LCAxNjowMzozMSk6Cn4jISBybj1Nb250YW51cyBydD0xMDczNDAwOTQ0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpTYWVjaHNpc2NoZSBTY2h3ZWl6PwoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IFNvbWVycGFydHkgLi4uIChHaXRhcnJlLCAgNi4gSmFuIDIwMDQsIDE2OjExOjU3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNzM0MDA5NDQgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCgpIYWxsbyB6dXNhbW1lbiwKCmlyZ2VuZHdpZSB3dXJkZSBkYXMgR2FuemUgZmFsc2NoIGF1ZmdlZmFzc3QuIFdpciBIYWxsZW5zZXIgKENhc3NhbmRyYSwgQ2FyZW4KdW5kIGljaCkgc2VoZW4gZGFzIG5pY2h0IGFscyBLb25rdXJyZW56LiBVbnMgaXN0IGVpbmZhY2ggZWluZSBSZWlzZSBpbiBkaWUKU2Nod2VpeiB6dSB3ZWl0LiBEYSBlcyBhbmRlcmVuIGF1Y2ggc28gZ2VodCwgbWFjaGVuIHdpciB3YXMga2xlaW5lcyBpbiBIYWxsZS4KV2VtIGRpZSBTY2h3ZWl6IGViZW5mYWxscyB6dSB3ZWl0IGlzdCB1bmQgSGFsbGUgbmFoIGdlbnVnLCBrYW5uIHNpY2ggZ2VybiBiZWkKdW5zIG1lbGRlbi4KCkljaCBkZW5rZSwgZGFzIGlzdCBhdWNoIGluIENhc3NhbmRyYXMgdW5kIENhcmVuc3MgU2lubmUuCgpHaXRhcnJlIC0gbWFsIG5pY2h0IGltIEZlbGluZW5rb3N0dWVtIDtvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzA6IFNvbWVycGFydHkgLi4uIChab29rLCAgNi4gSmFuIDIwMDQsIDE2OjE5OjI1KToKfiMhIHJuPUdpdGFycmUgcnQ9MTA3MzQwMTkxNyByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKTmFqYSwgdHV0LCB3YXMgSWhyIHdvbGx0LiBJY2ggaGFsdGUgbnVyIG5pY2h0IHZpZWwgZGF2b24sIG1laHJlcmUgUGFyYWxsZWwtCnZlcmFuc3RhbHR1bmdlbiB6dSBwbGFuZW47IGFiZXIgZGEga29lbm5lbiBFdWNoIGRpZSBXaW50ZXJidXJnL1RoYWxlLQpPcmdhbmlzYXRvcmVuIHVuZCBldHdhaWdlIEFic3RpbW11cm5lbi1BdWZzdGVsbGVyIHNpY2hlcmxpY2ggbmFlaGVyZXMgenUKZXJ6YWVobGVuLgoKWm9vay4KClBTOiBVbSBtYWwgd2FzIGluIGRpZSBNaXR0ZSBEZXV0c2NobGFuZHMgenUgbGVnZW46IEljaCB3ZXJkZSBkaWVzZW4gU29tbWVyCmVpbiBrbGVpbmVzIEdhcnRlbmZlc3QgbWFjaGVuLiBFcyBkdWVyZmVuIGFiZXIgbGVpZGVyIG51ciBnZWxhZGVuZSBHYWVzdGUKa29tbWVuLi4uLiA7KSkpKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBTb21lcnBhcnR5IC4uLiAoR3VhcmQsICA2LiBKYW4gMjAwNCwgMTY6NTI6MjIpOgp+IyEgcm49Wm9vayBydD0xMDczNDAyMzY1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpoaSwKCmFsc28gaWNoIGhhbHRlIHBhcmFsbGVsdmVyYW5zdGFsdHVuZ2VuIGF1Y2ggbmljaHQgZnVlciBzaW5udm9sbCwgZGllIHBsYW51bmcKd2ludGVyYnVyZy90aGFsZSB3YXIgZWluIGVjaHRlcyBkaXNhc3RlciAuLi4gZXMgd2FyZW4gbWVociBhbHMgNDAgc3RpbW1lbiBmdWVyCnRoYWxlIHVuZCBkYXZvbiBzaW5kIG5pY2h0IG1hbCAyMCBlcnNjaGllbmVuIC4uLiB3aXIgaGFiZW4gZGFkdXJjaCBlaW5lbgpvcmdhbmlzYXRvciB3ZW5pZ2VyLCBkZXIgc293YXMgbmljaHQgd2llZGVyIG1hY2h0IHVuZCBkYXNzIHNpY2ggamVkZXMKZ3J1ZXBwY2hlbiBtaXQgc2ljaCBzZWxic3QgdmVyZ251ZWd0LCBnZW5hdSBkYWZ1ZXIgaXN0IG1laW5lciBtZWludW5nIG5hY2gKZWluZSBwYXJ0eSBuaWNodCBkYSEKem9va3Mgdm9yc2NobGFnLCBkZW0gZXJzdGVuIGtvbnplcHQgZGVuIHp1c2NobGFnIHp1IGdlYmVuLCB3YWVyZSBvaywgZGFubgp3dWVyZGUgZGVyIGtvbmt1cnJlbnQgIGZydWVoemVpdGlnIGJlc2NoZWlkIHdpc3NlbiB1bmQgbmljaHQgc292aWVsIGF1ZndhbmQKZnVlciBuaXggYmV0cmVpYmVuCgpiaXMgZGllIHRhZ2UKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogU29tZXJwYXJ0eSAuLi4gKFBhZHJlaWMsICA2LiBKYW4gMjAwNCwgMTc6NTk6MzUpOgp+IyEgcm49R3VhcmQgcnQ9MTA3MzQwNDM0MiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKRGVyIFZvcnNjaGxhZyBkZW0gZXJzdGJlc3RlbiBLb256ZXB0IGRlbiBadXNjaGxhZyB6dSBnZWJlbiwgaXN0IGluIG1laW5lbgpBdWdlbiB6aWVtbGljaGVyIE11ZWxsIChTb3JyeSBab29rKSB1bmQgZnVlaHJ0IHdlaXNzIEpvZiBuaWNodCB6dSBlaW5lcgp2ZXJudWVuZnRpZ2VuIFBhcnR5LiBJY2ggZGVua2UgbWFuIHNvbGx0ZSBlaW5lbiBTdGljaHRhZyBmZXN0bGVnZW4sIGJpcyB6dSBkZW0KZGllIGdyb2JlbiBEaW5nZSBnZWtsYWVydCBzZWluIG11ZXNzZW4gdW5kIGRhbm4gZW50c2NoZWlkZXQgbWFuIHNpY2ggZnVlciBkYXMKImJlc3NlcmUiIEtvbnplcHQgKHdlciBhdWNoIGltbWVyIF9tYW5fIGlzdCB1bmQgd2llIGF1Y2ggaW1tZXIgZGllc2VyIGRhbm4KZGllc2VzIGJlc3NlciBiZXVydGVpbHQpLgpGdWVyIGRpZSBTY2h3ZWl6IHNwcmljaHQ6Ci0gZXMgd2FlcmUgbWFsIGV0d2FzIG5ldWVzIHVuZCBrb21tdCB1bnNlcm4gTXVkZGVybiBpbSBTdWVkZW4gZW50Z2VnZW4sIGRpZQpiaXNoZXIgamVkZXNtYWwgZGllIHdlaXRlc3RlbiBTdHJlY2tlbiBoYXR0ZW4KLSBlcyBpc3QgbWFsIGVpbiB3aXJrbGljaCBuZXVlciBQYXJ0eW9ydCBhbiBkZW0gbWFuIGF1Y2ggbm9jaCBuZXR0IFVybGF1YgptYWNoZW4ga2FubgotIGltIEdlZ2Vuc2F0eiB6dSBPcmt0cm9ldGVzIEhhd2FpIGRhcyBqZXR6dCBnbGVpY2ggd2llZGVyIGtvbW10LCBpc3QgZGllClNjaHdlaXogZHVyY2hhdXMgbm9jaCBpbSBSYWhtZW4gZGVzIHZlcnRyZXRiYXJlbiB2b24gZGVyIEVudGZlcm51bmcgdW5kIHZvbQpQcmVpcyBoZXIgZ2VyYWRlIHdlZ2VuIGRlcyBzdGFya2VuIEV1cm9zIHNvbGx0ZSBlcyBhdWNoIGJlemFobGJhciBzZWluLiBIaWVyCm11ZXNzdGUgbWFuIGFiZXIgbWFsIHdhcyBrb25rcmV0ZXMgaG9lcmVuLgpHZWdlbiBkaWUgU2Nod2VpeiBzcHJpY2h0OgotIHZpZWxlIE11ZGRlciBoYWJlbiBlaW5lIHJlbGF0aXYgd2VpdGUgQW5yZWlzZQpGdWVyIEhhbGxlIHNwcmljaHQ6Ci0gamEgaG1tLi4uLiBkaWUgUGFydHlvcmdhbmlzYXRvcmVuIGRvcnQgaGFiZW4gYmVyZWl0cyBFcmZhaHJ1bmcKR2VnZW4gSGFsbGUgc3ByaWNodDoKLSBFcyBpc3QgZ2VuYXVzbyB3aWUgZGllIFNjaHdlaXogZnVlciBkaWUgYWxsZXJtZWlzdGVuIE11ZGRlciBlaW5lIHdlaXRlCkFucmVpc2UKLSBFcyBnYWIgYmVyZWl0cyB6d2VpIFBhcnR5cyBkb3J0Ci0gWnVyIFZlcmxhZW5nZXJ1bmcgWndlY2tzIFVybGF1YiBpc3QgZXMgZWhlciB1bmdlZWlnbmV0LiBadW1pbmRlc3QgZHVlcmZ0ZW4KZGllIG1laXN0ZW4gd29obCBlaGVyIGRpZSBTY2h3ZWl6IGFscyBVcmxhdWJzb3J0IHZvcnppZWhlbiwgYWxzIG5hY2ggSGFsbGUgaW4KZWluIFNjaHdpbW1iYWQgenUgZmFocmVuLgoKRW50d2VkZXIgbWFuIG1vZWNodGUgZWluZSBQYXJ0eSBtaXQgbW9lZ2xpY2hzdCBrdXJ6ZW4gV2VnZW4gZnVlciBkaWUgbWVpc3RlbgpNdWRkZXIsIGRhbm4gc2NoZWlkZW4gc293b2hsIEhhbGxlIGFscyBhdWNoIGRpZSBTY2h3ZWl6IGF1cywgb2RlciBhYmVyIG1hbgpzb2xsdGUgYW5kZXJlIEtyaXRlcmllbiBhbnNldHplbi4gV2VubiBpY2ggbWlyIGRpZSBBbnphaGwgZGVyIFN0aW1tZW4gYW5zY2hhdWUKZGllIGJpc2hlciBmdWVyIGRpZSBTY2h3ZWl6IHdhcmVuIHVuZCBhbnNjaGF1ZSB3ZXIgZGFzIHdhciAoZGFyYXVzIGthbm4gbWFuCmR1cmNoYXVzIGluIGV0d2EgYWJsZXNlbiBvYiBkaWVqZW5pZ2VuIGF1Y2ggd2lya2xpY2gga29tbWVuIHdlcmRlbiksIGRhbm4gc2VoZQppY2ggZGllIFNjaHdlaXogZGEgZ2FueiB3ZWl0IHZvcm5lLiBEaWUgU2Nod2VpemVyIG11ZXNzdGVuIG51ciBtYWwgbWl0IGV0d2FzCmtvbmtyZXRlcmVuIEtvc3RlbnZvcnN0ZWxsdW5nZW4ga29tbWVuLgoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IFNvbWVycGFydHkgLi4uIChGb29iYXIsICA2LiBKYW4gMjAwNCwgMTg6MDA6MzgpOgp+IyEgcm49UGFkcmVpYyBydD0xMDczNDA4Mzc1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpBdSBqYSwgZWluZSBCZXdlcmJ1bmcgd2llIGJlaSBPbHltcGlhLgoKRm9vYmFyIGxlaG50IHNpY2ggenVydWVjayB1bmQgd2FydGV0IGF1ZiBQcmFlc2VudGF0aW9uZW4gdW5kIEdlc2NoZW5rZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBTb21lcnBhcnR5IC4uLiAoR3JpbW1ib3JuLCAgNi4gSmFuIDIwMDQsIDE4OjAxOjI0KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA3MzQwODM3NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKR3V0ZSBJZGVlLiBHaWIgYml0dGUgbm9jaCBlaW5lIFVSTCBhbiwgdW50ZXIgZGVyIG1hbiBzaWNoIGRpZSBBdXNzY2hyZWlidW5nCnJ1bnRlcmxhZGVuIGthbm4sIHVuZCBlaW5lIEFkcmVzc2UsIGFuIGRpZSBtYW4gZGFubiBkaWUgQmV3ZXJidW5nCmFuc2NobGllc3NlbmQgc2NoaWNrZW4gbXVzcy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IFNvbWVycGFydHkgLi4uIChCYW1iaSwgIDYuIEphbiAyMDA0LCAxODowMTo0NCk6Cn4jISBybj1HdWFyZCBydD0xMDczNDA0MzQyIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpVbSBlaW5lIGJyYXVjaGJhcmUgRGlza3Vzc2lvbnNncnVuZGxhZ2UgenUgc2NoYWZmZW46IFdlZGVyIGhhdHRlIEdsb2luc29uIG1pdAptaXIgbm9jaCBoYXR0ZSBpY2ggbWl0IEdsb2luc29uIFByb2JsZW1lLCB3YXMgZGllIFRoYWxlPC0+V2ludGVyYnVyZy1TYWNoZQphbmJlbGFuZ3QuIFdlbm4gaWNoIG1pY2ggcmljaHRpZyBlcmlubmVyZSwgd2FyIEdsb2luc29uIGRlciBNZWludW5nLCBkYXNzCldpbnRlcmJ1cmcgbmljaHQgKHNjaG9uIHdpZWRlcikgYWxzIFdpbnRlcnBhcnR5b3J0IGdlbm9tbWVuIHdlcmRlbiBzb2xsdGUsCnVudGVyIGFuZGVyZW0gd2VpbCBlciB6dSBhYnNlaXRzIGxpZWd0LiBEYXNzIGZ1ZXIgVGhhbGUgd2VzZW50bGljaCBtZWhyCmdlc3RpbW10IGhhYmVuLCBhbHMgZGFubiBhdWNoIExldXRlIGhpbmdlZ2FuZ2VuIHNpbmQsIGxpZWd0IHdvaGwgZGFyYW4sIGRhc3MKZWluaWdlIGF1cyBTeW1wYXRoaWUgZnVlciBlaW5lbiBkZXIgT3JnYW5pc2F0b3JlbiBvZGVyIGZ1ZXIgZWluaWdlIGRlciBkb3J0CmhpbmZhaHJlbiB3b2xsZW5kZW4gTGV1dGUgZ2VoZWd0IGhhYmVuLiBJY2ggaGFiZSB6dW1pbmRlc3QgbWVocmVyZW4gUGVyc29uZW4KZ2VzYWd0LCBzaWUgc29sbGVuIG5pY2h0IGZ1ZXIgV2ludGVyYnVyZyBzdGltbWVuLCB3ZW5uIHNpZSBuaWNodCBhdWNoCmhpbmZhaHJlbiB3b2xsZW4uCldpciBLYXJsc3J1aGVyIGhhdHRlbiB6dW0gWmVpdHB1bmt0IGRlciBUaGFsZS1QYXJ0eSBlaW4gRmxhbW1rdWNoZW5lc3NlbgpvcmdhbmlzaWVydCwgd2VsY2hlcyBqZWRvY2ggbmljaHQgYWxzIEtvbmt1cnJlbnp2ZXJhbnN0YWx0dW5nIGZ1bmdpZXJ0ZSAob2RlcgpmdW5naWVyZW4gc29sbHRlKSwgZGEgdm9uIGRlbiAodXJzcHJ1ZW5nbGljaCkgaW50ZXJlc3NpZXJ0ZW4gUGVyc29uZW4gc293aWVzbwpuaWVtYW5kIG5hY2ggVGhhbGUgaGF0dGUgZmFocmVuIHdvbGxlbi4gT2IgZGllcyBudW4gZnVlciBhbGxlIEZsYW1ta3VjaGVuZXNzZXIKYXVjaCBzdGltbXRlLCBrYW5uIGljaCBuaWNodCBiZXVydGVpbGVuLCBhYmVyIGxlaWRlciBnYWIgZXMgZGFtYWxzIGRhbm4KR2VydWVjaHRlLCBkYXNzIGViZW4gZGllcyBuaWNodCBkZXIgRmFsbCBzZWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogU29tZXJwYXJ0eSAuLi4gKFpvb2ssICA2LiBKYW4gMjAwNCwgMTg6MDM6MDEpOgp+IyEgcm49UGFkcmVpYyBydD0xMDczNDA4Mzc1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpJbnRlcmVzc2FudCwgYWJlciBhbSBlbnRzY2hlaWRlbmRlbiBQdW5rdCBsZWlkZXIgbmljaHQgc2VociBoaWxmcmVpY2g6IFdlcgplbnRzY2hlaWRldCBhdWZncnVuZCB3ZWxjaGVyIEtyaXRlcmllbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogU29tZXJwYXJ0eSAuLi4gKEZvb2JhciwgIDYuIEphbiAyMDA0LCAxODowNzo1MCk6Cn4jISBybj1ab29rIHJ0PTEwNzM0MDg1ODEgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkRhcyBLb21taXRlZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM1OiBTb21lcnBhcnR5IC4uLiAoWm9vaywgIDYuIEphbiAyMDA0LCAxODowODo0Nik6Cn4jISBybj1Gb29iYXIgcnQ9MTA3MzQwODg3MCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKbUUgaXN0IGRpZSBNRy1QYXJ0eS1BdXNyaWNodHVuZyBlaW4ga2xhc3Npc2NoZXIgRmFsbCBmdWVyIGVpbiBkaWUgVmVyZ2FiZQpuYWNoIGRlbSBXaW5kaHVuZHJlbm5lbi1WZXJmYWhyZW4uIFVuZCBiaXNoZXIgc2luZCB3aXIgYXVjaCBpbW1lciBndXQgCmRhbWl0IGdlZmFocmVuLiBVbmQgZGFzIGVpbmUgbWFsIHdvIG5pY2h0LCBkYSBnaW5ncyBhdWNoIHByb21wdCBzY2hpZWYuIEFsc286Ck5hY2ggd2llIHZvcjogV2VyIHp1ZXJzdCBrb21tdCwgbWFobHQgenVlcnN0LiA6KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM2OiBTb21lcnBhcnR5IC4uLiAoRm9vYmFyLCAgNi4gSmFuIDIwMDQsIDE4OjA5OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTA3MzQwODkyNiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKVW5kIGljaCBoYXR0ZSBtaWNoIHNjaG9uIHNvIGdlZnJldXQsIHVuYWJoYWVuZ2lnZXIgdW5kIHVucGFydGVpc2NoZXIKRnVua3Rpb25hZXIgaW0gV28tZmluZGV0LWRpZS1QYXJ0eS1zdGF0dC1Lb21taXRlZSB6dSB3ZXJkZW4uCgpNaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzc6IFNvbWVycGFydHkgLi4uIChab29rLCAgNi4gSmFuIDIwMDQsIDE4OjExOjIyKToKfiMhIHJuPUZvb2JhciBydD0xMDczNDA4OTc0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpEdSBrb2VubnRlc3QgbmUgRnJ1ZWhqYWhyc3BhcnR5IGluIE1TIG9yZ2FuaXNpZXJlbiwgRm9vYmFyLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM4OiBTb21lcnBhcnR5IC4uLiAoRm9vYmFyLCAgNi4gSmFuIDIwMDQsIDE4OjEyOjE0KToKfiMhIHJuPVpvb2sgcnQ9MTA3MzQwOTA4MiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKSWNoIGhhYmUgc28gd2VuaWcgWmVpdCwgaWNoIGtvZW5udGUgbmljaHQgbWFsIHNlbGJzdCBkb3J0aGluIGtvbW1lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM5OiBTb21lcnBhcnR5IC4uLiAoWm9vaywgIDYuIEphbiAyMDA0LCAxODoxMjo1OCk6Cn4jISBybj1Gb29iYXIgcnQ9MTA3MzQwOTEzNCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKQWJlciBkaWUgZnVlciBkaWUgdW1mYW5ncmVpY2hlIEFyYmVpdCBlaW5lciBBdXN3YWhsa29tbWlzc2lvbiBoYWV0dGVzdCBEdQpaZWl0PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQwOiBTb21lcnBhcnR5IC4uLiAoRm9vYmFyLCAgNi4gSmFuIDIwMDQsIDE4OjEzOjQyKToKfiMhIHJuPVpvb2sgcnQ9MTA3MzQwOTE3OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKV2FzIGhhYmVuIEF1c3dhaGxrb21taXNzaW9uZW4gbWl0IHVtZmFuZ3JlaWNoZXIgQXJiZWl0IHp1IHR1bj8gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MTogU29tZXJwYXJ0eSAuLi4gKFpvb2ssICA2LiBKYW4gMjAwNCwgMTg6MTQ6MDgpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNzM0MDkyMjIgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCiJMYXNzIERpY2ggdWViZXJyYXNjaGVuLi4uLiIKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogU29tZXJwYXJ0eSAuLi4gKExpYXJhLCAgNi4gSmFuIDIwMDQsIDE5OjQzOjE5KToKfiMhIHJuPUdpdGFycmUgcnQ9MTA3MzQwMTkxNyByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKTWlyIGlzdCBiZWlkZXMgenUgd2VpdC4gKmphbW1lcioKT2RlciBuaW1tdCBtaXIgamVtYW5kIG1pdD8gKmxpZWJndWdnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IFNvbWVycGFydHkgLi4uIChMaWFyYSwgIDYuIEphbiAyMDA0LCAxOTo0NTo1OSk6Cn4jISBybj1QYWRyZWljIHJ0PTEwNzM0MDgzNzUgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkRpZSBIYWxsZS1HZXNjaGljaHRlIGlzdCBuZXQgb2ZmaXppZWxsLiBTdGFuZCBpbiBkZW0gQXJ0aWtlbCBlaW5kZXV0aWcgZHJpbi4KOikKRXMgc29sbCBlaW5lIHByaXZhdGUgTW9lZ2xpY2hrZWl0IHNlaW4sIHNpY2ggenUgdHJlZmZlbi4gQmVpIHBhcmFsbGVsZW4KU3RhbW10aXNjaGVuIGJyaWNodCBqYSBhdWNoIG5pY2h0IGdsZWljaCBlaW5lIFNwYWx0ZXJkaXNrdXNzaW9uIGF1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBTb21lcnBhcnR5IC4uLiAoQW5hdG9sLCAgNi4gSmFuIDIwMDQsIDE5OjQ5OjQ2KToKfiMhIHJuPUxpYXJhIHJ0PTEwNzM0MTQ3NTkgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkJsYS4gRGFzIEZsYW1ta3Vja2VuZXNzZW4sIGRhcyBwYXJhbGxlbCB6dSBUaGFsZSBsaWVmLCB3YXIgamEgYXVjaCBrZWluZQpQYXJ0eS4gVHJvdHpkZW0gc2luZCBMZXV0ZSAoIG4gPj0gMSApIHZvbiBkZXIgUGFydHkgYWJnZXNwcnVuZ2VuLCB3ZWlsIApzaWUgbGllYmVyIEZsYW1ta3VjaGVuZXNzZW4gd29sbHRlbi4KClBhcmFsbGVsIHp1IGZhaHJlbiBpc3QsIGRhIHNjaGxpZXNzZSBpY2ggbWljaCBHdWFyZCBhbiwgemllbWxpY2ggc3R1bXBmLgoKQWJnZXNlaGVuIGRhdm9uOiBEaWUgTWl0dGVsd2VzdGRldXRzY2hlbiBzaW5kIHBhcnR5bWFlc3NpZyBvaG5laGluIHZlci0Kd29laG50LiBJbiBkZW4gQW5mYW5nc3plaXRlbiBkZXMgTW9yZ2VuZ3JhdWVucyBzaW5kICpyZWdlbG1hZXNzaWcqIE9lc2lzCmF1Zmdlc2NobGFnZW4uIFdpZW4sIExpbnosIEdyYXouIFVuZCBqYSwgZGllIGhhYmVuIGRhbWFscyBhdWNoIG51ciBzdHVkaWVydC4KCkZhaHJnZW1laW5zY2hhZnRlbi4gQmlsbGlndGlja2V0cy4gSWhyIGxpZWJlbiAiTWlyIGlzdCBkYXMgenUgd2VpdCEiLUxldXRlLAprdWNrdCBkb2NoIGVyc3RtYWwgYXVmIGRpZSBMYW5ka2FydGUgdW5kIGt1Y2t0LCB3aWUgZGllIEVudGZlcm51bmdlbiBzbyAKc2luZC4gTnVyIHdlaWwgIlNjaHdlaXoiIGRyYXVmIHN0ZWh0IG11c3MgZXMgbmljaHQgZ2xlaWNoIDEwMDAga20gd2VpdCB3ZWcKc2Vpbi4uLi4KCkljaCBlbnRoYWx0ZSBtaWNoIGRlciBTdGltbWUuIFNjaG9uIGFsbGVpbiwgd2VpbCBpY2ggZWggbmljaHQgd2Vpc3MsIG9iCmltIFNvbW1lciBub2NoIEthcGF6aXRhZXRlbiBmdWVyIHNvIGV0d2FzIGJlbGFuZ2xvc2VzIHdpZSBlaW5lIE1VRFBBUlRZCmZyZWkgc2luZC4uLiBdOy0+CgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM1OiBTb21lcnBhcnR5IC4uLiAoWm9vaywgIDYuIEphbiAyMDA0LCAxOTo1MTowNik6Cn4jISBybj1BbmF0b2wgcnQ9MTA3MzQxNDk4NiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKSWNoIG1vZWNodGUgYmV0b25lbiwgZGFzcyBfaWNoXyBlcyB3YXIsIGRlciBkZW4gInBhcmFsbGVsIGZhaHJlbiBpc3Qgc3R1bXBmIgpUZWlsIGVpbmdlZnVlaHJ0IGhhdCB1bmQgZGVzd2VnZW4gYXVjaCBzY2hvbiB2b24gUGFkKiBiZXNjaGltcGZ0IHd1cmRlLiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM2OiBTb21lcnBhcnR5IC4uLiAoQW5hdG9sLCAgNi4gSmFuIDIwMDQsIDE5OjU3OjEyKToKfiMhIHJuPVpvb2sgcnQ9MTA3MzQxNTA2NiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKSWNoIHdvbGx0ZSBudXIgaGVyYXVzaGViZW4sIGRhc3MgaWNoIG1pciBhdWNoIG5pY2h0IHp1IHNjaGFkZSBiaW4sIEd1YXJkCmlyZ2VuZHdvcmluIHp1enVzdGltbWVuLiBFaW5lciBNZWludW5nIG1pdCBab29rIHp1IHNlaW4sIGRhcyBpc3QgamEgbnVuCndpcmtsaWNoIGdhciBrZWluIFByb2JsZW0uLi4gOykKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaHdlaXo/IE5laW4hIChBbm9yaXMsICA2LiBKYW4gMjAwNCwgMjA6MjU6NTUpOgpHdXRlbiBBYmVuZCBhbGxlcnNlaXRzCgpEdXJjaCBkYXMgZG9jaCBvZnQgc2VociBwb3NpdGl2ZSBGZWVkYmFjayB6dSBlaW5lciBNRyBQYXJ0eSBpbiBkZXIKU2Nod2VpeiwgZGVuIFN0aW1tZW4gZGFnZWdlbiB1bmQgZGVuIGRhcmF1c2ZvbGdlbmRlbiBEaXNrdXNzaW9uZW4sCnN0ZWhlIGljaCBmdWVyIGRpZSBPcmdhbmlzYXRpb24gZWluZXIgTUcgUGFydHkgMjAwNCBpbiBkZXIgU2Nod2VpegpuaWNodCB6dXIgVmVyZnVlZ3VuZy4KCkdlcm5lIG1vZWNodGUgaWNoIGtsYXJzdGVsbGVuLCBkYXNzIGRpZXNlciBFbnRzY2hlaWQgYXVzIHZlcnNjaGllZGVuZW4KR3J1ZW5kZW4gdm9uIG1pciBhbGxlaW5lIGdldHJvZmZlbiB3dXJkZSB1bmQgaWNoIG1vZWNodGUgZGVtIE9yZ2F0ZWFtCmluIEhhbGxlIChvZGVyIHNvbnN0IHdvLCBkZXIgRXJzdGUgZ2V3aW5udCkgdmllbCBFcmZvbGcgd3VlbnNjaGVuLgoKRGEgZGFzIEludGVyZXNzZSBmdWVyIGRpZSBQYXJ0eSBpbiBkZXIgU2Nod2VpeiB2b24gRnJldW5kZW4gd2llIGF1Y2gKdm9uIFVuYmVrYW5udGVuIHZvcmhhbmRlbiBpc3QsIGJpbiBpY2ggZmVzdCBkYXZvbiB1ZWJlcnpldWd0LCBkYXNzCmluIG5hZWNoc3RlciBaZWl0IGVpbmUgUGFydHkgaGllciBtb2VnbGljaCBzZWluIHdpcmQgdW5kIHN0ZWhlIGRhbm4KZnVlciBkaWUgT3JnYW5pc2F0aW9uIGdlcm5lIHp1ciBWZXJmdWVndW5nLgoKSG9mZmVudGxpY2ggZ2lidCBlcyBhdWYgU2VpdGVuIGFuZGVyZXIgT3JnYW5pc2F0b3JlbiBqZXR6dCB3ZW5pZ2VyClplaXRkcnVjayB1bSBlaW4gS29uemVwdCBzbyBzY2huZWxsIHdpZSBtb2VnbGljaCBoaW56dWtsYXRzY2hlbiwKbnVyIHVtIEVyc3RlciB6dSBzZWluLgoKTGllYmUgR3J1ZXNzZQotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzE6IFNvbWVycGFydHkgLi4uIChNdWFkaWIsICA2LiBKYW4gMjAwNCwgMjI6NDI6MzQpOgp+IyEgcm49Wm9vayBydD0xMDczNDAyMzY1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQp3byBpc3QgbWVpbmUgZWlubGFkdW5nPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IFNvbWVycGFydHkgLi4uIChDYXR3ZWF6bGUsICA2LiBKYW4gMjAwNCwgMjM6MTk6NDgpOgp+IyEgcm49TXVhZGliIHJ0PTEwNzM0MjUzNTQgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkRhIHdpciBoaWVyIG5pY2h0IGluIE1lZ2FzY2htYXJybiBzaW5kIGhpZXIgZGVyIEhpbndlaXM6IGRhcyBpY2ggYXVmIGRlbgpsZXR6dGVuIEFydGlrZWwgYW50d29ydGUgaXN0IHJlaW5lciBadWZhbGwgdW5kIHNvIGJlYWJzaWNodGlndC4KClVuZCBlaW5lbiBLb21tZW50YXIgd2VyZiBpY2ggYXVjaCBub2NoIGdlcm5lIGluIGRpZSBSdW5kZToKSWhyIGhhYnQgYWxsZSBlaW5lbiBTb2NrZW5zY2h1c3MhCgpIaWVyIGthbm4gbWFuIGphIG5pY2h0IG1hbCBnZWZhaHJsb3Mgc2VpbmUgTWVpbnVuZyBrdW5kdHVuLgpNdWVzc3QgaWhyIGV1Y2ggaW1tZXIgZ2xlaWNoIGFuZ2VwaXNzdCBmdWVobGVuIHVuZCBkaWUgS29lcHBlIGVpbnNjaGxhZ2VuLgpOYWphLCB3YXMgbmV1ZXMgaXN0IGRhcyBqYSBhdWNoIG5pY2h0IC4uLgoKRlVQIG5hY2ggU2NobWFycm4gLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBTb21lcnBhcnR5IC4uLiAoTXVhZGliLCAgNi4gSmFuIDIwMDQsIDIzOjI4OjE5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDczNDI3NTg4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQphbHNvIHdlbm4gc2ljaCBzY2h3ZWl6IHVuZCBoYWxsZSBuaWNodCBlaW5pZ2VuIGtvZW5uZW4ga29lbm50ZSBtYW4gYXVjaCBlaW5lCmluIGthcmxzcnVoZSBiencgdW1nZWJ1bmcgbWFjaGVuLCB3ZW5uIGljaCBkaWUgbGV1dHMgaGllciBtb3RpdmllcnQgYmVrb21tZQoKYWJlciBpY2ggc3RlaCBnZXJuZSB6dXJ1ZWNrIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogU29tZXJwYXJ0eSAuLi4gKFZhbmlvbiwgIDYuIEphbiAyMDA0LCAyMzoyOTo1NSk6Cn4jISBybj1NdWFkaWIgcnQ9MTA3MzQyODA5OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKS2FybHNydWhlPyBEYXMgaXMgamEgc29vb28gd2VpdCBzdWVkbGljaC4gU29ycnkuIFdpcmtsaWNoIG5pY2h0LgoKU0NOUgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IFNvbWVycGFydHkgLi4uIChDcm9mdCwgIDYuIEphbiAyMDA0LCAyMzozMDo1Myk6Cn4jISBybj1WYW5pb24gcnQ9MTA3MzQyODE5NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKQWguIERpZSBBcmd1bWVudGUgZGVyIE9zdGZyaWVzZW4gYWVuZGVybiBzaWNoIG5pY2h0LiA6PgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBTb21lcnBhcnR5IC4uLiAoQnJhbiwgIDYuIEphbiAyMDA0LCAyMzo0ODoxNCk6Cn4jISBybj1NdWFkaWIgcnQ9MTA3MzQyODA5OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKSG1qYSwgZGFzIGxpZWYgd29obCBlaW4gYmlzc2NoZW4gZG9vZi4uLiBBbm9yaXMgaGF0IGhhbHQgZXJzdG1hbCBudXIgbmFjaCBuZXIKYWxsZ2VtZWluZW4gTWVpbnVuZyB6dXIgU2Nod2VpeiBnZWZyYWd0LCB1bSB6dSBob2VyZW4sIG9iIHNpY2ggZGFzCk9yZ2FuaXNpZXJlbiB1ZWJlcmhhdXB0IGxvaG5lbiB3dWVyZGUuIFdlbm4gZGFubiBkaXJla3QgZWluZQpBbHRlcm5hdGl2dmVyYW5zdGFsdHVuZyBiZXNjaGxvc3NlbiB3aXJkLCBhdWNoIHdlbm4gZGllIGF1c2RydWVja2xpY2ggX25pY2h0XwphbHMgUGFydHkgZGVrbGFyaWVydCB3aXJkLCBpc3QgZGFzIGVpbmZhY2ggZXR3YXMgdW5nbHVlY2tsaWNoLCBkYW1pdCB3YXIgZGllCnJlaW5lIE1laW51bmdzYmlsZHVuZyBoaW4sIHVuZCBlcyBrb25udGUgbmljaHQgdmllbCBtZWhyIHJhdXNrb21tZW4gYWxzCktvZXBwZWVpbnNjaGxhZ2VuLiBOYWVjaHN0ZXNtYWwgdmllbGxlaWNodC4uLgoKR3J1c3MsIEJyYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM1OiBTb21lcnBhcnR5IC4uLiAoTWlyaWwsICA2LiBKYW4gMjAwNCwgMjM6NTE6NTEpOgp+IyEgcm49QnJhbiBydD0xMDczNDI5Mjk0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpTY2hhZGUsIGRlciBQYXJ0eW9ydCBTY2h3ZWl6IGhhZXR0ZSBtaXIgZHVyY2hhdXMgZ2VmYWxsZW4uIEFiZXIgdmllbGxlaWNodAplaW4gYW5kZXJlcyBNYWwuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzY6IFNvbWVycGFydHkgLi4uIChab29rLCAgNy4gSmFuIDIwMDQsIDA5OjMwOjAyKToKfiMhIHJuPU1pcmlsIHJ0PTEwNzM0Mjk1MTEgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxClRqYSwgc28gbGF1ZmVuIGViZW4gV2luZGh1bmRyZW5uZW4uLi4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNzogU29tZXJwYXJ0eSAuLi4gKFBhZHJlaWMsICA3LiBKYW4gMjAwNCwgMTA6NDY6MTEpOgp+IyEgcm49Wm9vayBydD0xMDczNDY0MjAyIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpEYW5uIGhvZmZlbiB3aXIgZGFzIG5pY2h0IGFlaG5saWNoIFRoYWxlIGVzIG51biBkYXp1IGtvbW10LCBkYXMgZXMgdWViZXJoYXVwdAprZWluZSBhbnN0YWVuZGlnZSBQYXJ0eSBnaWJ0LCBvZGVyIHZpZWxsZWljaHQgd2FyIGRhcyBtaXQgS2FybHNydWhlCmVybnN0Z2VtZWludD8KTm9jaG1hbCBIYWxsZSBtdXNzIG5pY2h0IHNlaW4uCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zODogU29tZXJwYXJ0eSAuLi4gKE11YWRpYiwgIDcuIEphbiAyMDA0LCAxMDo1MzoxNSk6Cn4jISBybj1QYWRyZWljIHJ0PTEwNzM0Njg3NzEgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCndlbm4gaWNoIG1pdG9yZ2FuaXNhdG9yZW4gZmluZGUgaXN0IGRhcyBlcm5zdGdlbWVpbnQsIGFiZXIgbnVyIHVuZCBudXIgZGFubgp3ZW5uIGhhbGxlIG5pY2h0IGtsYXBwZW4gc29sbHRlLCBuaWNodCBhbHMga29ua3VycmVuegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzg6IFNvbWVycGFydHkgLi4uIChBcG9sbG9uaWEsICA3LiBKYW4gMjAwNCwgMjA6NDU6MDUpOgp+IyEgcm49UGFkcmVpYyBydD0xMDczNDY4NzcxIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpJY2ggZmluZCBnZXJhZGUgSGFsbGUgZ3V0LCBmdWVyIGRpZSBLbGVpbmUgd2FlciBkYXMgc2Nob2VuLCBzbyBtaXQgZGVtClNjaHdpbW1iYWQgZGlyZWt0IG5lYmVuYW4uIE5lIEFucmVpc2UgYmlzIGluIGRpZSBTY2h3ZWl6IHR1IGljaCBtaXIgbWl0CktsZWlua2luZCwgZGFzIG5pY2h0IHN0aWxsc2l0emVuIGthbm4sIGdhbnogc2ljaGVyIG5pY2h0IGFuLiBEYSBpc3QgSGFsbGUKc2Nob24gaGFydCBhbiBkZXIgR3JlbnplLgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzk6IFNvbWVycGFydHkgLi4uIChHcmltbWJvcm4sICA3LiBKYW4gMjAwNCwgMjE6NTE6MzEpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNzM1MDQ3MDUgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCktvZWxuIC0gSGFsbGU6IDUxMCBrbQpLb2VsbiAtIFp1ZXJpY2g6IDU3MCBrbQoKU293b2hsIGt1bHR1cmVsbCwgd2llIHNwcmFjaGxpY2gsIHdpZSBnZW9ncmFwaGlzY2ggc2luZCBkaWUgVW50ZXJzY2hpZWRlCnp3aXNjaGVuIEhhbGxlIHVuZCBkZXIgU2Nod2VpeiBkZW5uIGRvY2ggdmVybmFjaGxhZXNzaWdiYXIuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDA6IFNvbWVycGFydHkgLi4uIChDcm9mdCwgIDguIEphbiAyMDA0LCAwMDoyOTozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3MzUwODY5MSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKQmxlaWJ0IG51ciBBcG9sbG9uaWEgdW5kIGRlbSBCYWxnIGVpbmUgZ3V0ZSBGYWhydCB6dSB3dWVuc2NoZW4gOj4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MTogU29tZXJwYXJ0eSAuLi4gKEJvaW5nLCAgOC4gSmFuIDIwMDQsIDAwOjMwOjUwKToKfiMhIHJuPUNyb2Z0IHJ0PTEwNzM1MTgxNzYgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCklzdCBtaXIgbmV1LCBkYXNzIEFwbyBpbiBLb2VsbiB3b2hudCAuLi4gdW1nZXpvZ2VuPyA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MjogU29tZXJwYXJ0eSAuLi4gKEdyaW1tYm9ybiwgIDguIEphbiAyMDA0LCAwMDozMzoyNCk6Cn4jISBybj1Cb2luZyBydD0xMDczNTE4MjUwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpmaW5nZXIgYXBvbGxvbmlhIApadWxldHp0IGVpbmdlbG9nZ3Qgdm9uOiBbLi4uXSBLb2Vsbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDI6IFNvbWVycGFydHkgLi4uIChDcm9mdCwgIDguIEphbiAyMDA0LCAwMDozNTozMCk6Cn4jISBybj1Cb2luZyBydD0xMDczNTE4MjUwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpLZWluZSBBaG51bmcuICBHcmltbWJvcm4gc2NoZWludCBkYXMgdWViZXIgZGVuIFByb3ZpZGVyIHp1IHNjaGxpZXNzZW4uCkRhbm4gd29obnQgTXVhZGliIHdvaGwgYXVjaCBpbiBLb2Vsbi4gIE5pY2h0cyBkZXN0byB0cm90eiB3dWVuc2NoZSBpY2gKQXBvbGxvbmlhIG1pdCBCYWxnIGVpbmUgZ3V0ZSBSZWlzZSA6LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MzogU29tZXJwYXJ0eSAuLi4gKEdyaW1tYm9ybiwgIDguIEphbiAyMDA0LCAwMDozODo0OCk6Cn4jISBybj1Dcm9mdCBydD0xMDczNTE4NTMwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpKZWRlciBoYXQgZGllIE1vZWdsaWNoa2VpdCBhbnp1Z2ViZW4gd29oZXIgZXIga29tbXQuIEJlaSBBcG9sbG9uaWEga29tbXQgZGEKcmF1czogIlp1bGV0enQgZWluZ2Vsb2dndCB2b246IEVpbmVyIEtsaXBwZSB1ZWJlciBkZW0gU2VlIGRlciBTZWVsZW4gKHVlYmVyCktvZWxuKS4iIChoYWIgZGFzIG5vY2htYWwgaW4gZGVyIFNwaWVsZXJ2ZXJzaW9uIG5hY2hnZXBydWVmdC4gQmV2b3IgaWNoIGhpZXIKd2llZGVyIE1hZ2llcndpc3NlbiBwcmVpc2dlYmUpLiBLb21tdCBmdWVyIG1pY2ggYWxzIGVpbnppZyBicmF1Y2hiYXJlCmdlb2dyYXBoaXNjaGUgQW5nYWJlIGhlcmF1czogS29lbG4uCkFuc29uc3RlbiBnaWJ0cyBqYSB3b2hsIHp3aXNjaGVuIHdvYXVjaGltbWVyc2llaGVya29tbXQgdW5kIGRlciBTY2h3ZWl6IGdlbnVnCk11ZGRlciBmdWVyIFp3aXNjaGVudWViZXJuYWNodHVuZ2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NDogU29tZXJwYXJ0eSAuLi4gKE5vbm5lLCAgOC4gSmFuIDIwMDQsIDEyOjE3OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDczNTE4NzI4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpEb3J0bXVuZCAtIFp1ZXJpY2gsIDIgRXJ3YWNoc2VuZSwgQmFobmNhcmQgMjUsIGVpbmZhY2hyIEZhaHJ0OiAxNjMgRXVybwpEb3J0bXVuZCAtIEhhbGxlL1NhYWxlLCAyIEVyd2FjaHNlbmUsIEJhaG5jYXJkIDI1LCBlaW5mYWNoZSBGYWhydDogNjEgRXVybwoKRmFlbGx0IERpciBqZXR6dCB3YXMgYXVmPyBBcG8gd29obnQgdWVicmlnZW5zIGluIERvcnRtdW5kLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NTogU29tZXJwYXJ0eSAuLi4gKEdyaW1tYm9ybiwgIDguIEphbiAyMDA0LCAxMjo0MToyNyk6Cn4jISBybj1Ob25uZSBydD0xMDczNTYwNjI2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpKYSwgZmFlbGx0IG1pdDogRHUgYXJndW1lbnRpZXJzdCBtaXQgZGVtIFByZWlzLCBkZXIgZnVlciBBcG9sbG9uaWEga2VpbiBUaGVtYQp3YXIuIApVbmQgZGFua2UgZnVlciBkZW4gZnVlbmZ1bmRlbGZ6aWdzdGVuIEhpbndlaXMgd28gQXBvbGxvbmlhIHdvaG50LiBJY2gga2FubiBiZWkKa25hcHAgMTAuMDAwIE11ZGRlcm4gbmljaHQgYmVpIGplZGVtIHdpc3Nlbiwgd28gZXIgd29obnQuIFdlbm5zIGRlciBmaW5nZXIKbmljaHQgaGVyZ2lidCwgdW5kIGRlcmplbmlnZSBkYXMgYXVjaCBuaWNodCBtYW51ZWxsIHByYWV6aXNpZXJ0LCBkYW5uIGthbm4gaWNoCmRhIGF1Y2ggbmljaHRzIGZ1ZXIuIApXaWUgZ2VzYWd0OiBTdGF0aW9uZW4gZnVlciBad2lzY2hlbnVlYmVybmFjaHR1bmdlbiBmaW5kZW4gc2ljaCBzaWNoZXIsIHdlbm4KZGVyIFdlZyB6dSBsYW5nIGlzdC4gVW5kIHdlbm5zIG5pY2h0IGtsYXBwdDogRXMgc29sbCBqYSBlaW5lIE11ZC1QYXJ0eSwga2VpbmUKQXBvbGxvbmlhLVBhcnR5IHdlcmRlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDY6IFNvbWVycGFydHkgLi4uIChOb25uZSwgIDguIEphbiAyMDA0LCAxMjo0MzozMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3MzU2MjA4NyByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKTmltbXMgZG9jaCBuaWNodCBzbyBwZXJzb2VubGljaCwgZXMgd3VyZGUgYW5mYW5ncyB2aWVsIG1pdCBkZW0gUHJlaXMKYXJndW1lbnRpZXJ0LiBCZWkgdW5nZWZhZWhyIGdsZWljaGVyIEtpbG9tZXRlcnphaGwga29lbm50ZSBtYW4gamEgbWVpbmVuLCBzbwplaW5lIFJlaXNlIHd1ZXJkZSB1bmdlZmFlaHIgZGFzIGdsZWljaGUga29zdGVuLiBNaXRuaWNodGVuISBVbmQgZGFzIHdvbGx0ZSBpY2gKYXVzZHJ1ZWNrZW4uIERhaGVyIHdpcmQgZGFzIHdvaGwgZWluZSBQYXJ0eSBkZXIgYmVzc2VydmVyZGllbmVuZGVuIE11ZGRlci4KVmllbCBTcGFzcy4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDc6IFNvbWVycGFydHkgLi4uIChDcm9mdCwgIDguIEphbiAyMDA0LCAxMjo0NDowNik6Cn4jISBybj1Ob25uZSBydD0xMDczNTYyMjEyIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpCencgZWluZSBkZXIgaW0gU3VlZGVuIHdvaG5lbmRlbiBNdWRkZXIgLC0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDg6IFNvbWVycGFydHkgLi4uIChOb25uZSwgIDguIEphbiAyMDA0LCAxMjo0NDozNik6Cn4jISBybj1Dcm9mdCBydD0xMDczNTYyMjQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpPaCBzdGltbXQsIGRpZSB2ZXJnZXNzZSBpY2ggaW1tZXIgKGM7IERhIHNvbGxzIGphIGVpbmVuIG9kZXIgendlaSBnZWJlbiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ5OiBTb21lcnBhcnR5IC4uLiAoQ3JvZnQsICA4LiBKYW4gMjAwNCwgMTI6NDU6MTQpOgp+IyEgcm49Tm9ubmUgcnQ9MTA3MzU2MjI3NiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKRGVzd2VpdGVyZW4gaXN0IG1hbiBqYSBhdWNoIG5pY2h0IGdlend1bmdlbiBtaXQgZGVyIEJhaG4genUgZmFocmVuLgpTb3dhcyB3aWUgQXV0b3MgdW5kIE1pdGZhaHJnZW1laW5zY2hhZnRlbiBnaWJ0cyB6dW0gR2x1ZWNrIGphLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjUwOiBTb21lcnBhcnR5IC4uLiAoTm9ubmUsICA4LiBKYW4gMjAwNCwgMTI6NDk6MzcpOgp+IyEgcm49Q3JvZnQgcnQ9MTA3MzU2MjMxNCByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKSmFqYSwgaWNoIHNlaGUgaGFsdCB1bnNlcmUgU2l0dWF0aW9uIHVuZCBhcmd1bWVudGllcmUgZGFoZXIgYXVjaCBzbzogWndlaQpFcndhY2hzZW5lLCBlaW4gS2luZCBtaXQgS2luZGVyc2l0eiBwbHVzIEdlcGFlY2suIEZpbmRlIG1hbCBlaW5lbiwgZGVyIGRhcwptaXRuaW1tdCB1bmQgenVzYWV0emxpY2ggbm9jaCBQYXVzZW4gYXVmIGRlciBTdHJlY2tlIG1hY2h0LiBEYSBibGVpYnQgbnVyIGRpZQpCYWhuIHVuZCBkYWhlciBiaW4gaWNoIGZ1ZXIgSGFsbGUuIElociBkdWVyZnQgamEgYXVjaCBmZWllcm4sIGhhYmUgaWNoIGRvY2gKbml4IGdlZ2VuLCBudXIga29lbm5lbiB3aXIgZGFubiBuaWNodCBtaXRmZWllcm4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjUxOiBTb21lcnBhcnR5IC4uLiAoQ2F0d2VhemxlLCAgOC4gSmFuIDIwMDQsIDEzOjM0OjUyKToKfiMhIHJuPU5vbm5lIHJ0PTEwNzM1NjI1Nzcgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkVpbmUgd2VydGZyZWllIE5lYmVuYmVtZXJrdW5nOiBGdWVyIGZhc3QgYWxsZSB1bnNlcmUgTmFjaGJhcmxhZW5kZXIgZ2lidHMgdm9uCmRlciBkZXV0c2NoZW4gQmFobiBuZW4gZGV1dGxpY2ggdmVyZ3VlbnN0aWd0ZW4gVGFyaWYsIHdlbm4gbWFuIHVlYmVyIGRpZSBOYWNodApTYS9TbyBmYWVocnQuIAoKSWNoIGJpbiBzbyBzY2hvbiBtYWwgYmlsbGlnZXIgbmFjaCBNdWVuY2hlbiBnZWtvbW1lbiwgd2VpbCBpY2ggZWluIFRpY2tldApNdWVuc3Rlci1XaWVuIGdla2F1ZnQgaGFiLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjUwOiBTb21lcnBhcnR5IC4uLiAoQXBvbGxvbmlhLCAgOC4gSmFuIDIwMDQsIDE2OjI4OjQ1KToKfiMhIHJuPUNyb2Z0IHJ0PTEwNzM1NjIzMTQgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkRvY2gsIGlzdCBtYW4sIHdlbm4gbWFuIG5lbiBLaW5kIGhhdCwgZGFzZXMgbWF4aW1hbCBuZSBTdHVuZGUgaW0gS2luZGVyc2l0eiBpbQpBdXRvIGF1c2hhZWx0LCBpbSBBdXRvIG5pY2h0IHNjaGxhZWZ0IHVuZCBkYW5uIG51ciBub2NoIHNjaHJlaXQgdW5kIFRoZWF0ZXIKbWFjaHQuIEZyYWcgVHdpbmdpLCBkaWUgd2Vpc3MsIHdpZSBkYXMgaXN0IChjOgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDU6IFNvbWVycGFydHkgLi4uIChSb2xhbmQsICA4LiBKYW4gMjAwNCwgMTc6MTc6MzMpOgp+IyEgcm49Tm9ubmUgcnQ9MTA3MzU2MDYyNiByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKMSkgZGVuIFdvaG5vcnQgdWViZXIgZGVuIFByb3ZpZGVyIHp1IGJlc3RpbW1lbiBpc3QgZ3V0IC4uIGJlaSBtaXIgd2VjaHNlbHQgZGVyCnJlY2h0IGhhZXVmaWcgLi4gdW5kIGRpZSBvcnRlIHNjaHdhbmtlbiBzbyB1bSBkaWUgMzAwa20gOikKMikgaW4gZGllIHNjaHdlaXR6IGtvbW0gaWNoIG5pY2ggLi4uIAozKSBpY2ggZmFuZCBoYWxsZSBndXQuLi4gZGllIF9QYXJ0eV8gc2VsYmVyIHdhciBuaWNodCBzbyB6ZXJsYXVmZW4sIGRlcgpaZWx0cGxhdHogb2sgdW5kIFNjaHdpbW1iYWQgbmViZW5hbiBmYW5kIGljaCBzdXBlcgppbSBncnVuZGUgZ2VodCBlcyBqYSBhdWNoIGRhcnVtIG1hbCB2aWVsZSB6dSBzZWhlbiB1bmQgbmV0dCB6dSBmZWllcm4gdW5kCm5jaWh0IHVtIGRlbiBzY2hvZW5zdGVuIG9kZXIgd2VpdGVzdGVuIHBhcnR5b3J0IHVuZCBkYW5uIG51ciAzIGxldXRlIChoYXQgamEKZGFubiBhdWNoIGVociBzdGFtbXRpc2NoIHN0eWxlKQoKaWNoIHJlY2huZSBlcyBkZW0gSGVsbGVvcmdhdGVhbSBob2NoIGFuLCBkYXMgc2llIHNpY2ggYmVyZWl0IGVya2xhZXJ0IGhhYmVuCmRhcyB3aWVkZXIgenUgdHVuCgpNZkcgUm8qCgpQLlMuOiBpY2ggbmVobSBtaXIgbnVyIGRhcyBuYWVjaHN0ZSBtYWwgbiBwYWFyIGJyb3RrcnVtZW4gbWl0IHVtIGRlbiB3ZWcgZG9ydAppbSB3YWxkIHp1IG1hcmtpZXJlbiAuLiBoYXR0ZSBtaWNoIGRhIHNjaG9uIGltIG11ZHNpbm5lIGdlZnJhZ3Qgd28gZGVubiBkZXMKd2Vna3JldXogc2VpIGFscyBpY2ggZGFzIDEwdGUgbWFsIGFuIGRlciBzZWxiZW4gYWJ6d2VpZ3VuZyB2b3JiZWkga2FtIC4uLgoqKip3ZXIgd2FyIGRhIG51ciBtaXQgZ2V3YW5kZXJ0IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTE6IFNvbWVycGFydHkgLi4uIChUd2luZ2ksICA4LiBKYW4gMjAwNCwgMTc6NTc6NDUpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNzM1NzU3MjUgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCk9oIGphLCBkYSBoYXQgQXBvbGxvbmlhIGFsbGVyZGluZ3MgUmVjaHQuIGljaCB3ZWlzcyB3aWUgc2ljaCBkYXMgYW5ob2VydC4gVW5kCnNvIGdlcm5lIGljaCBkaWUgS2xlZW5lIG1hZywgYXVmIGRlciBIZWltZmFocnQgdm9uIGRlciBQYXJ0eSBpbiBIYWxsZSBoYWV0dGUKaWNoIHNpZSBlcnd1ZXJnZW4ga29lbm5lbi4gQWJlciBkYSBoYWV0dGUgaWNoIHNvZ2FyIGVsdGVybGljaGUgSGlsZmUgYmVpCmdlaGFidC4gRGllIHdhciBhbiBkZW0gVGFnLCBiZWkgZGVyIGVrbGlnZW4gV2Flcm1lIGFiZXIgYXVjaCBlY2h0IHp1bQpBbmdld29laG5lbi4KClR3aW5naSAtIGhvZmZlbnRsaWNoIGpldHp0IGluIGRlciByaWNodGlnZW4gUnVicmlrIGdlbGFuZGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MjogU29tZXJwYXJ0eSAuLi4gKE11YWRpYiwgIDguIEphbiAyMDA0LCAyMzo0MDoyNik6Cn4jISBybj1Ud2luZ2kgcnQ9MTA3MzU4MTA2NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKdW0gZWluZSBsYW5nZSBiYWhuZmFocnQgenUgdmVybWVpZGVuIGthbm4gaWNoIGZsaWVnZW4gZW1wZmVobGVuLgppY2ggd2Vpc3MgbmljaHQgd28gZXMgaW4gZGVyIG5hZWhlIHZvbiBkb3J0bXVuZCBzdGFydGZsdWdoYWZlbiBmdWVyCmJpbGxpZ2ZsaWVnZXIgZ2lidCBtb2VjaHRlIGFiZXIgZGFyYXVmIGhpbndlaXNlbiBkYXNzIGVzIHZvbiBrb2VsbiBuYWNoCnp1ZXJpY2ggenVtIGJlaXNwaWVsIGRlbiBmbHVnIGZ1ZXIgZWx0ZXJuIG1pdCBraW5kIHVudGVyIDE0IHNjaG9uIGFiIDM2IHRhY2tlbgpnaWJ0CgphYmVyIGRpZSBkaXNrdXNzaW9uIGlzdCBlaCBtdWVzc2lnLCBkYSBhbm9yaXMgamEgc2Nob24gZGllIG9yZ2EgYWJnZXNhZ3QgaGF0LgoKd2FzIG1pY2ggamVkb2NoIG51biBpbnRlcmVzc2llcnQ6IHdpcmQgbnVuIGluIGhhbGxlIGRpZSBzb21tZXJwYXJ0eQpvcmdhbmlzaWVydCBvZGVyIG5pY2h0PyB3ZW5uIG5laW4gYmlldGUgaWNoIG5vY2htYWwgZGllIG9yZ2EgZWluZXIga2FybHNydWhlcgpzb21tZXJwYXJ0eSBhbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MzogU29tZXJwYXJ0eSAuLi4gKFpvb2ssICA4LiBKYW4gMjAwNCwgMjM6NDE6MjkpOgp+IyEgcm49TXVhZGliIHJ0PTEwNzM2MDE2MjYgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkFpckJlcmxpbiBmbGllZ3QgekIgYWIgRG9ydG11bmQuCgpaT29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTQ6IFNvbWVycGFydHkgLi4uIChCaXJkeSwgIDkuIEphbiAyMDA0LCAwMDoyOToxNSk6Cn4jISBybj1ab29rIHJ0PTEwNzM2MDE2ODkgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCklzdCBlaW5lIE9zdHNlZXBhcnR5IGF1cyBkZXIgRGlza3Vzc2lvbiByYXVzPwoKTWFsIG5hY2hmcmFnZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTU6IFNvbWVycGFydHkgLi4uIChBbmF0b2wsICA5LiBKYW4gMjAwNCwgMDA6MzQ6NDApOgp+IyEgcm49QmlyZHkgcnQ9MTA3MzYwNDU1NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKS2xhciwgd2VpbCBpcmdlbmR3ZXIgaW4gU3R1dHRnYXJ0IHNpY2hlciBtaXQgZGVyIEJhaG4gZmFocmVuIG11ZXNzdGUKdW5kIGRhcyBuYXR1ZXJsaWNoIG5pY2h0IHNlaW4ga2Fubi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41NjogU29tZXJwYXJ0eSAuLi4gKExlaWJpLCAgOS4gSmFuIDIwMDQsIDA2OjI1OjM5KToKfiMhIHJuPUFuYXRvbCBydD0xMDczNjA0ODgwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQphbHNvIGljaCBmYWVuZGUgb3N0c2VlIGF1Y2ggdm9uIHN0dXR0Z2FydCBhdXMgdG9sbCA6KQoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU3OiBTb21lcnBhcnR5IC4uLiAoR3JpbW1ib3JuLCAgOS4gSmFuIDIwMDQsIDA2OjI2OjQwKToKfiMhIHJuPUxlaWJpIHJ0PTEwNzM2MjU5Mzkgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCkRVIGhhc3QgamEgYXVjaCBrZWluIGtsZWluZXMgS2luZC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTc6IFNvbWVycGFydHkgLi4uIChSb2xhbmQsICA5LiBKYW4gMjAwNCwgMTY6MzE6MTIpOgp+IyEgcm49TGVpYmkgcnQ9MTA3MzYyNTkzOSByZz1wYXJ0eQp+IyEgdGlkPTEwNzE2NjAzNzEKRGFzIGhvZXR0ZXN0IGpldHp0IGVoIHp1IGFsbGVtIGdlc2FndCAuLi4gc3VlbXR6IGxlaWJpbGVpbiAuLi4KCkVZIGRhIGlzIGtlaW4gdWUga2VpbiBtIHVuZCBrZWluIHR6IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41ODogU29tZXJwYXJ0eSAuLi4gKFBlcmRpdGEsIDExLiBKYW4gMjAwNCwgMjI6MTA6MDQpOgp+IyEgcm49Um9sYW5kIHJ0PTEwNzM2NjIyNzIgcmc9cGFydHkKfiMhIHRpZD0xMDcxNjYwMzcxCm9zdHNlZXBhcnR5IHdhciBlaWdlbnRsaWNoIG5pZSBzbyBSSUNIVElHIGltIEdlc3ByYWVjaC4KSWNoIHBlcnNvZW5saWNoIGhhZXR0ZSB6dW1pbmRlc3Qga2VpbmUgWmVpdCwgZGFzIHp1IG9yZ2FuaXNpZXJlbiwgdW5kIHNvIHdlaXQKaWNoIHdlaXNzLCBiaW4gaWNoIGRpZWplbmlnZSwgZGllIGFtIGRpY2h0ZXN0ZW4gYW4gZGVyIE9zdHNlZSB3b2hudC4KVmllbGxlaWNodCB1ZWJlcmxlZyBpY2ggbWlyIGRhcyBpcmdlbmR3YW5uIG5vY2htYWwgYW5kZXJzLCBhYmVyIGVyc3RlbnMKbXVlc3N0ZSBpY2ggZGFzIGVyc3Qgbm9jaCBtaXQgZGVuIEhhbWJ1cmdlcm4gYWJrbGFlcmVuLCBpbndpZXdlaXQgZGllCmViZW5mYWxscyBMdXN0IGhhZXR0ZW4gdW5kIG1pY2ggdW50ZXJzdHVldHplbiB3dWVyZGVuLCB1bmQgendlaXRlbnM6IGluIGRpZXNlbQpKYWhyIG1pdCBTaWNoZXJoZWl0IG5pY2h0IG1laHIuClBlcmRpdGEgc2FndCBhdWNoIG1hbCB3YXMgZGF6dS4KUC5TLiBNaXIgaXN0IGVzIGVpZ2VudGxpY2ggcmVsYXRpdiBlZ2FsLCB3byBkaWUgUGFydHkgc3RhdHRmaW5kZW4gd2lyZC4gV2VubgppY2ggcmVjaHR6ZWl0aWcgQmVzY2hlaWQgd2Vpc3MgdW5kIGRhbm4gWmVpdCBoYWJlLCB3ZXJkIGljaCBzY2hvbiBrb21tZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OTogU29tZXJwYXJ0eSAuLi4gKFpvb2ssIDExLiBKYW4gMjAwNCwgMjI6MTI6MjQpOgp+IyEgcm49UGVyZGl0YSBydD0xMDczODU1NDA0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3MTY2MDM3MQpFaWdlbnRsaWNoIGlzdCBkb2NoIG51biBudXIgbm9jaCBkaWUgRnJhZ2Ugb2ZmZW4sIHdvIGRpZSBGcnVlaGphaHItUGFydHkKc3RhdHQgZmluZGV0Li4uLgoKWm9vay4KClBTOiBLYW5uIG1hbiBuaWNodCBLYWxyc3J1aGUgRnJ1ZWhqYWhyIHVuZCBTb21tZXIgSGFsbGUgaW5zIEF1Z2UgZmFzc2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJ1ZWhqYXJzcGFydHkgKHdhcjogUmVeNTk6IFNvbWVycGFydHkgLi4uKSAoQ2F0d2VhemxlLCAxMi4gSmFuIDIwMDQsIDE5OjMwOjU3KToKQ2F0d2VhemxlIChpLkEuIE1TKSByYWV1c3BlcnQgc2ljaCBtYWwgcHJvcGh5bGFrdGlzY2ggYWJlciBnYW56IGxlaXNlLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhqYXJzcGFydHkgKHdhcjogUmVeNTk6IFNvbWVycGFydHkgLi4uKSAoTW9udGFudXMsIDEzLiBKYW4gMjAwNCwgMTQ6Mjc6MDQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzM5MzIyNTcgcmc9cGFydHkKfiMhIHRpZD0xMDczOTMyMjU3CklociBtdWVzc3QgaW1tZXIgdW5iZWRpbmd0IGVpbmVuIFJlY2h0c2NocmVpYmVmZWhsciBpbiBkZW4gVGhyZWFkLVRpdGVsCmVpbmJhdWVuLCBtdWVzc3QgaWhyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGphcnNwYXJ0eSAod2FyOiBSZV41OTogU29tZXJwYXJ0eSAuLi4pIChab29rLCAxMy4gSmFuIDIwMDQsIDE0OjMyOjQ1KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNzQwMDA0MjQgcmc9cGFydHkKfiMhIHRpZD0xMDczOTMyMjU3CkVzIGlzdCBzY2hvZW4gbWl0IFR5cG8sIGlzdCBlcyBuaWNodD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgSGFsbGUgKFpvb2ssIDEzLiBKYW4gMjAwNCwgMTU6MzI6MDgpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwNzQwMDQyMjUgcmc9cGFydHkKfiMhIHRpZD0xMDc0MDA0MjI1CldhcyB3YXIgbmljaHQgaW4gT3JkbnVuZyBtaXQgZGVyIEF1dG8tV2VnYmVzY2hyZWlidW5nLi4uLj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IEhhbGxlIChDYXNzYW5kcmEsIDEzLiBKYW4gMjAwNCwgMTU6MzM6MTgpOgp+IyEgcm49Wm9vayBydD0xMDc0MDA0MzI4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpmcmFnIG1hbCBkaWUgZGllIGRhbmFjaCBnZWZhaHJlbiBzaW5kLgpJY2ggYmluIEZhaHJyYWRmYWhyZXIuCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSBIYWxsZSAoWm9vaywgMTMuIEphbiAyMDA0LCAxNTozMzo1Nik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA3NDAwNDM5OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKSWNoIGJpbiBkYW5hY2ggZ2VmYWhyZW4gdW5kIG51ciB3aWUgc29uc3QgdWVibGljaCBhdWNoIGFuIGVpbmVyIEFiZmFocnQKdm9yYmVpZ2VyYXVzY2h0Li4uIEFiZXIgaW0gUHJpbnppcCB3YXIgZGllIGRvY2ggb2ssIG9kZXI/IAoKWm9vayBzY2hhdXQgSmFtZXNvbiBmcmFnZW5kIGFuLCBkZXIgbmViZW4gaWhtIGltIFBLVyBiaWJiZXJuIG11c3N0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5IEhhbGxlIChHaXRhcnJlLCAxMy4gSmFuIDIwMDQsIDE1OjM2OjA4KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDc0MDA0Mzk4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQoKTWlzdCwgZGFzIGdhbnplIE9yZ2EtVGVhbSBIYWxsZSBmYWVocnQgUmFkIDooCgpHaXRhcnJlIC0gb2huZSBGdWVocmVyc2NoZWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJwYXJ0eSBIYWxsZSAoQ2Fzc2FuZHJhLCAxMy4gSmFuIDIwMDQsIDE1OjQwOjAwKToKfiMhIHJuPUdpdGFycmUgcnQ9MTA3NDAwNDU2OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKTXVlc3NlbiB1bnNlcmUgZ2Flc3RlIGhhbHQgYXVjaCBtaXQgUmFkIG9kZXIgT0VQTlYgZmFocmVuLCBkYSBnaWJ0cwplaW53YW5kZnJlaWUgQmVzY2hyZWlidW5nZW4uCgpTcGFzcyBiZWlzZWl0ZSB3aXIgd2VyZGVuIHNjaG9uIHdlbiBmaW5kZW4gdW0gZGVuIHdlZyBwZXIgQXV0byBhYnp1ZmFocmVuLgoKQ2Fzc3ksIFJhZGZhaHJlciBtaXQgRnVlaGVyc2NoZWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJwYXJ0eSBIYWxsZSAoSmFtZXNvbiwgMTMuIEphbiAyMDA0LCAyMjozNzo1NSk6Cn4jISBybj1ab29rIHJ0PTEwNzQwMDQ0MzYgcmc9cGFydHkKfiMhIHRpZD0xMDc0MDA0MjI1CktlaW5lIEtsYWdlIDopIFVuZCBkaWVzbWFsIGlzc2VzIG1pciBlZ2FsLCB3aWUgZGllIFdlZ2Jlc2NocmVpYnVuZyB3aXJkLCBpY2gKbmVobSBkYW5uIGRpZSAzLDVrZyBzY2h3ZXJlIHp1bSBadWtsYXBwZW4gbWl0LiBEaWUgaXN0IGRhbm4gaW0gWndlaWZlbHNmYWxsCmF1Y2ggZHluYW1pc2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVycGFydHkgSGFsbGUgKEh1bW5pLCAxNC4gSmFuIDIwMDQsIDAwOjEyOjAwKToKfiMhIHJuPUphbWVzb24gcnQ9MTA3NDAyOTg3NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKTmVpbi4gTml4IGdlZ2VuIEhhbGxlIGxldHp0ZXMgTWFsLCBoYXQgYWxsZXMgZ2VrbGFwcHQgLSBpbiBkZXIgVGF0LCBiaXMgYXVmCmRpZSBXZWdiZXNjaHJlaWJ1bmcuLi4gKGd1dCwgZGEgc3RhbmQgZHJpbiAsLFJpY2h0dW5nIFN0YWR0bWl0dGUgZ2xhdWIgaWNoJycKb2RlciBzb3dhcy4uIHVuZCBkYXMgd2FycyBkYW5uIG5pY2h0Li4uKQoKSHVtbmkgZGVyIG1vcHBlcm5kZSBEcmFjaGUgKGZyZXV0IHNpY2ggYWJlciBpbnNnZWhlaW0gc2Nob24gYXVmIGRhcwpTY2h3aW1tYmFkKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29tbWVycGFydHkgSGFsbGUgKFJvbGFuZCwgMTUuIEphbiAyMDA0LCAwNzo0NDo0NCk6Cn4jISBybj1IdW1uaSBydD0xMDc0MDM1NTIwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpXaWxsc3Qgd2llZGEgNmttIHNjaHdpbW1lbiA/PwoKUm8qCgogUC5TLjogU2Nob2VuIGRhcyBkYXMgc28gZ2VydWNrdCBoYXQgbWl0bSB0ZXJtaW4gZGFubiBrYW5uIGljaCBqYSBtYWwgdXJsYXViCmVpbnJlaWNoZW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21tZXJwYXJ0eSBIYWxsZSAoUm9jaHVzLCAxNS4gSmFuIDIwMDQsIDIxOjMzOjU5KToKfiMhIHJuPVJvbGFuZCBydD0xMDc0MTQ5MDg0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpXaWVzbyBmcmFnc3QgRHUsIHdpbGxzdCBEdSBldHdhIGdlZ2VuIGlobiBhbnRyZXRlbj8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvbW1lcnBhcnR5IEhhbGxlIChab29rLCAxNS4gSmFuIDIwMDQsIDIxOjM0OjI3KToKfiMhIHJuPVJvY2h1cyBydD0xMDc0MTk4ODM5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpXaXJzdCBEdSBEaWNoIHdpZWRlciBpbiBkZXIgVmVydGlrYWxlbiBlbmdhZ2llcmVuLCBSb2NodXM/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU29tbWVycGFydHkgSGFsbGUgKFJvY2h1cywgMTUuIEphbiAyMDA0LCAyMTozNzoyOCk6Cn4jISBybj1ab29rIHJ0PTEwNzQxOTg4Njcgcmc9cGFydHkKfiMhIHRpZD0xMDc0MDA0MjI1CktlaW4gS29tbWVudGFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNvbW1lcnBhcnR5IEhhbGxlIChab29rLCAxNS4gSmFuIDIwMDQsIDIxOjM4OjIyKToKfiMhIHJuPVJvY2h1cyBydD0xMDc0MTk5MDQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpBaCwgZGFzIGxhZXNzdCBqYSBob2ZmZW4uLi4gOi0pCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNvbW1lcnBhcnR5IEhhbGxlIChPcmt0b2V0ZXIsIDE1LiBKYW4gMjAwNCwgMjI6MDM6MDkpOgp+IyEgcm49Um9jaHVzIHJ0PTEwNzQxOTkwNDggcmc9cGFydHkKfiMhIHRpZD0xMDc0MDA0MjI1CldhcyBzYWd0ZW4gZGllIGtsZWluZW4gTlBDIG5vY2g6ICJad2VpIEJhZGVob3NlbiB1ZWJlcmVpbmFuZGVyIiAuLiB2aWVsbGVpY2h0CmhpbGZ0cyBqYT8KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU29tbWVycGFydHkgSGFsbGUgKEh1bW5pLCAxNS4gSmFuIDIwMDQsIDIyOjA0OjM5KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDc0MjAwNTg5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpNYWNoZW4gU2llIEFyc2NoYm9tYmU/IC0gTmVpbiwgd2lyIHJ1ZmVuIE11aCBkYWJlaS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogU29tbWVycGFydHkgSGFsbGUgKE9ya3RvZXRlciwgMTUuIEphbiAyMDA0LCAyMzo0NTozNSk6Cn4jISBybj1IdW1uaSBydD0xMDc0MjAwNjc5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpPYiBkaWUgS2lkZHlzIGluIGRpZXNlbSBTb21tZXIgYXVjaCBtdWggcnVmZW4gZGFiZWk/CgpPcmtULCBnZXNwYW5udC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvbW1lcnBhcnR5IEhhbGxlIChSb2xhbmQsIDE2LiBKYW4gMjAwNCwgMDc6Mjc6NDEpOgp+IyEgcm49Um9jaHVzIHJ0PTEwNzQxOTg4Mzkgcmc9cGFydHkKfiMhIHRpZD0xMDc0MDA0MjI1Cm5hbmEgbGFzIG1hIGljaCBzYXVmIGRvY2ggc2Nob24gYmVpbSBlcnN0ZW4ga20gYWIgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTb21tZXJwYXJ0eSBIYWxsZSAoUm9jaHVzLCAxNi4gSmFuIDIwMDQsIDE1OjM3OjQ1KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDc0MjAwNTg5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpEYXMgdHJhZWd0IG5pY2h0IHdlc2VudGxpY2ggenVyIFN0YWJpbGlzaWVydW5nIG1laW5lciBXaXJiZWxzYXVsZSBiZWkuLi4KdW5kIGRhZW1wZnQgZGVuIFN0b3NzIGF1Y2ggbmljaHQgd2VzZW50bGljaCBhYi4uLgpOZWUsIG5vY2htYWwgaG9sZSBpY2ggbWlyIHNvIGVpbmUgU3RhdWNodW5nIG5pY2h0IDopCkRhIGJldGFldGlnZSBpY2ggbWljaCBzY2hvbiBsaWViZXIgaG9yaXpvbnRhbCBzdGF0dCB2ZXJ0aWthbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTb21tZXJwYXJ0eSBIYWxsZSAoT3JrdG9ldGVyLCAxNi4gSmFuIDIwMDQsIDE5OjMwOjQ0KToKfiMhIHJuPVJvY2h1cyBydD0xMDc0MjYzODY1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpOb2NoIGlzdCBaZWl0IGdlbnVnLCB3ZW5kZSBkaWNoIHNjaG9uIGpldHp0IGFuIGRlbiBCYWRlbWVpc3RlciwgYXVmIGRhc3MgZGllCm51ciBzdGFyayBlbnRrYWxrdGVzLCBhbHNvIGdhbnogd2VpY2hlcyBXYXNzZXIgaW4gQmVja2VuIGxhc3Nlbi4uLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTb21tZXJwYXJ0eSBIYWxsZSAoTGV2LCAxNy4gSmFuIDIwMDQsIDE1OjQxOjM5KToKfiMhIHJuPVJvY2h1cyBydD0xMDc0MjYzODY1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpXYXMgZ2VuYXUgaGFzdCBEdSBzbyBpbiBkZXIgSG9yaXpvbnRhbGVuIHZvcj8gOykKCkxldi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTb21tZXJwYXJ0eSBIYWxsZSAoT2xsaSwgMTkuIEphbiAyMDA0LCAxODoxODo1NSk6Cn4jISBybj1MZXYgcnQ9MTA3NDM1MDQ5OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKSG5nbCwgd2llIGtvZW5udCBpaHIgZGFzIG51ciBtYWNoZW4sIGljaCBoYWIgZG9jaCBkaWUgZXJzdGUgQXVndXN0d29jaGUKKGlua2wuIHdvY2hlbmVuZGUpIGtlaW5lIFplaXQgOigKTmFqYSwgaWNoIHd1ZW5zY2ggZXVjaCB2aWVsIFNwYXNzLi4uIDopCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogU29tbWVycGFydHkgSGFsbGUgKENhc3NhbmRyYSwgMjAuIEphbiAyMDA0LCAxMjoyNjozNyk6Cn4jISBybj1PbGxpIHJ0PTEwNzQ1MzI3MzUgcmc9cGFydHkKfiMhIHRpZD0xMDc0MDA0MjI1CkRlciBUZXJtaW4gaGF0IGVpbmVuIGdhbnogZWluZmFjaGVuIEdydW5kLCBlcyBpc3QgZGllIGVpbnppZ2UgV29jaGUgd28gbWVpbmVzCldpc3NlbnMgbmFjaCBhbGxlIEJ1bmRlc2xhZW5kZXIgRmVyaWVuIGhhYmVuLgpVbmQgZGEgaGllciBhdWNoIFNjaHVlbGVyIHNwaWVsZW4gaXN0IGRhcyBudXIgZmFpciBkYXJhdWYgenUgYWNodGVuLgoKRGllIHNlbWVzdGVyZmVyaWVuIGRlciBVbmlzIEZIcyBhbGxlIGhlcnJhdXN6dXN1Y2hlbiBpc3QgbGVpZGVyIG5haGV6dQp1bm1vZWdsaWNoIGFiZXIgZGllIG1laXN0ZW4gZHVlcmZ0ZW4gZGEgYXVjaCBmcmVpIGhhYmVuLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnZvbGwuIChDYXR3ZWF6bGUsIDIwLiBKYW4gMjAwNCwgMTM6MDU6MDMpOgoKSWNoIHNwcmVjaGUgbWFsIGVpbmUgRXhwaXJld2FybnVuZyBmdWVyIGRpZXNlIFJ1YnJpayBhdXMuIAoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogU29tbWVycGFydHkgSGFsbGUgKE9sbGksIDIwLiBKYW4gMjAwNCwgMTc6NDI6MDEpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwNzQ1OTc5OTcgcmc9cGFydHkKfiMhIHRpZD0xMDc0MDA0MjI1Ck51IHJlY2h0ZmVydGlnZSBEaWNoIG5pY2h0LCBpY2ggd29sbHRlIGVpbmZhY2ggbnVyIG1hbCBtZWluZSBVbm11dAphZXVzc2VybiA6KSBFaW5lbiBUZXJtaW4genUgZmluZGVuLCB3byBhbGxlIFplaXQgaGFiZW4sIGlzdCBqYSBkYW5uCmRvY2ggaXJnZW5kd2llIHdvaGwgdW5yZWFsaXN0aXNjaC4uLi4uIGdsYXViIGljaC4uLi4gOykKCk9sbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvbW1lcnBhcnR5IEhhbGxlIChHbG9pbnNvbiwgMjAuIEphbiAyMDA0LCAyMTozODowNSk6Cn4jISBybj1Sb2xhbmQgcnQ9MTA3NDE0OTA4NCByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKV2VubiwgZGFubiBtdWVzc3RlbiB3aXIgc2Nob24gMTBrbSBkYXJhdXMgbWFjaGVuLiBMZXR6dGVzIEphaHIgaGFiZW4gd2lyIGJlaQpkZW4gOGttIGphIGdla25pZmZlbi4gV2FyIHNpY2hlcmxpY2ggYmVzc2VyIHNvLCBlaW4gZ2VzdHJldXNlbGt1Y2h0ZXIgRU0KcmVpY2h0IHBybyBNVUQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU29tbWVycGFydHkgSGFsbGUgKE11YWRpYiwgMjAuIEphbiAyMDA0LCAyMzoxNjo1OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDc0NjMxMDg1IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQplaW4gZ2VzdHJldXNlbGt1Y2h0ZXIgZW0/Pz8KaWNoIHdhciBkYXMgbGV0enRlbWFsIGluIGhhbGxlIG5pY2h0IGRhYmVpLCBnZWJ0IG1hbCBtZWhyIGluZm8sIGRhc3MgaG9lcnQKc2ljaCBpbnRlcmVzc2FudCBhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU29tbWVycGFydHkgSGFsbGUgKEdsb2luc29uLCAyMC4gSmFuIDIwMDQsIDIzOjM3OjQxKToKfiMhIHJuPU11YWRpYiBydD0xMDc0NjM3MDE5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpHcmVwIG1hbCBuYWNoIEVudGVuLCBNYXNlcm4gdW5kIFd1ZXJtZXJuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNvbW1lcnBhcnR5IEhhbGxlIChNdWFkaWIsIDIwLiBKYW4gMjAwNCwgMjM6NDY6NTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3NDYzODI2MSByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKaG1tIG1pdCB3dWVybWVybiBicmluZyBpY2ggaXJnZW5kd2llIGJlcmxpbiBpbiBtZWluIGdlZGFlY2h0bmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU29tbWVycGFydHkgSGFsbGUgKEdsb2luc29uLCAyMS4gSmFuIDIwMDQsIDAxOjAyOjMzKToKfiMhIHJuPU11YWRpYiBydD0xMDc0NjM4ODE0IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpSaWNodGlnLiBJY2ggaGFiZSBtaWNoIHdvaGwgbWlzc3ZlcnN0YWVuZGxpY2ggYXVzZ2VkcnVlY2t0OiBMZXR6dGVzIEphaHIKKDIwMDMpIGhhYmVuIEh1bW5pIHVuZCBpY2ggdW5zIHVtIGRpZSA4a20gZ2VkcnVlY2t0LiBXYXMgd29obCBiZXNzZXIgd2FyLCBkYQp3aXIgc28gc2Nob24gZ2VudWcgbmV0dGUga2xlaW5lIFd1cm1wdXN0ZWxuIGhhdHRlbiA6KQpJbnNvZmVybiBtdWVzc3RlIGluIGRpZXNlbSBKYWhyIGluIEhhbGxlIGVpbiAxMGttLVNjaHdpbW1lbiBhbnN0ZWhlbiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB2b2xsLiAoWm9vaywgMjEuIEphbiAyMDA0LCAwOTo1NDozOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3NDYwMDMwMyByZz1wYXJ0eQp+IyEgdGlkPTEwNzQ2MDAzMDMKU3BpZWxraW5kIQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdm9sbC4gKENhdHdlYXpsZSwgMjEuIEphbiAyMDA0LCAxMDowMzozNSk6Cn4jISBybj1ab29rIHJ0PTEwNzQ2NzUyNzggcmc9cGFydHkKfiMhIHRpZD0xMDc0NjAwMzAzCkphdSEKCk1hbCBhbHMgV2FybnVuZzoKRGllIEhhbHRiYXJrZWl0IGRlciBBcnRpa2VsIGluIGRpZXNlciBSdWJyaWsgaXN0IGRldXRsaWNoIGdlc3Vua2VuLgpXZW5uIGVzIHdpY2h0aWdlIEFua3VlbmRpZ3VuZ2VuIGdpYnQsIGRhbm4gYmVudXR6dCBiaXR0ZSB1bmJlZGluZ3QKcGFydHkuYmVrYW5udG1hY2h1bmdlbiEKClZpZWxlbiBEYW5rIGZ1ZXIgaWhyZSBBdWZtZXJrc2Fta2VpdCA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogU29tbWVycGFydHkgSGFsbGUgKENhdHdlYXpsZSwgMjEuIEphbiAyMDA0LCAxMDowOTo1Nik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDc0NjQzMzUzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpJY2ggd2lsbCBuaWNodCB1bmtlbiwgaWNoIHdlaXNzIHdpZSBzY2h3ZXIgZGFzIGlzdCwgZWluZW4gZnVlciB2aWVsZSAoYWxsZQpnZWh0IGVoIG5pY2h0KSBwYXNzZW5kZW4gVGVybWluIHp1IGZpbmRlbi4gTnVyIGVpbmUgV2FybnVuZzoKClZlcm11dGxpY2ggd2lyZCBhdWYgdW5zZXJlciBQYXJ0eSBrZWluIE5pZ2h0d2lzaCBnZXNwaWVsdCwgZGVubiBnZW5hdSBhbiBkZW0KV0UgaXN0IE0nZXJhIEx1bmEuIEljaCB3ZWlzcywgZGFzcyBkYXMgaGllciBiZWkgbmljaHQgdW53ZXNlbnRsaWNoIFZpZWxlbgpiZWxpZWJ0IGlzdCwgZGFzIGdpYnQgbW9lZ2xpY2hlcndlaXNlIEFid2FuZGVydW5nc3BvdGVudGlhbCB2b24gcG90ZW50aWVsbGVuClBhcnR5YmVzdWNoZXJuLiAKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFNvbW1lcnBhcnR5IEhhbGxlIChNYWhhcmV0LCAyMS4gSmFuIDIwMDQsIDE5OjQxOjQzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDc0Njc2MTk2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpCcmllc2VsYW5nIHdhciB3YWVocmVuZCBXYWNrZW4sIHVuZCB0cm90emRlbSBoYWJlbiBlcyB2aWVsZSBkYWhpbiBnZXNjaGFmZnQuIApNYW4ga2FubiBuaWNodCBhdWYgamVkZW4gTXVzaWthYmVuZCBSdWVja3NpY2h0IG5laG1lbi4KCk1haGEsIFNwaW9uIHVuZCBHaWZ0bWlzY2hlciBhRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFNvbW1lcnBhcnR5IEhhbGxlIChBbmF0b2wsIDIxLiBKYW4gMjAwNCwgMTk6NTA6MTYpOgp+IyEgcm49TWFoYXJldCBydD0xMDc0NzEwNTAzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3NDAwNDIyNQpXYXIgTSdlcmEgTHVuYSBuaWNodCBzY2hvbm1hbCB6ZWl0Z2xlaWNoIHp1ciBuZXIgTXVkcGFydHk/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFNvbW1lcnBhcnR5IEhhbGxlIChEYXJrd2luZywgMjIuIEphbiAyMDA0LCAxMDo0ODo1NSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA3NDcxMTAxNiByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKSG0uLiB6ZWl0Z2xlaWNoIHdhciBlcyB6dW1pbmRlc3QgbGV0enRlcyBKYWhyIG5pY2h0LgpOaWdodHdpc2ggc3BpZWx0IGRpZXNlcyBKYWhyIGdhciBuaWNodCAoYmlzIGpldHp0IGplZGVuZmFsbHMpLgpVbmQgc28gdmllbGUgTXVkZGVyIHdhcmVuIGVzIGdhciBuaWNodCBhdWYgZGVtIE0nZXJhIEx1bmEgLSBudW5qYSwgenVtaW5kZXN0CmJlaSBtaXIgc2luZHMgZGFubiBzY2hsZWNodGUgS2FydGVuIGZ1ZXIgZGFzIFBhcnR5LVdFIGluIEhhbGxlLgoKRGFya3dpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBTb21tZXJwYXJ0eSBIYWxsZSAoQW5hdG9sLCAyMi4gSmFuIDIwMDQsIDExOjQwOjIzKToKfiMhIHJuPURhcmt3aW5nIHJ0PTEwNzQ3NjQ5MzUgcmc9cGFydHkKfiMhIHRpZD0xMDc0MDA0MjI1CkljaCBrYW5uIG1pY2ggdHJvdHpkZW0gbmljaHQgZ2VnZW4gZGFzICJJcmdlbmR3YXMgd2FyIGRhLi4iLUdlZnVlaGwgCmVyd2VocmVuLiBOYWphLCBldnRsLiBlaW4gbXVkZnJlbWRlciBUZXJtaW4uIFZpZWxsZWljaHQga2xhcHB0IGVzIGphCmRpZXNlcyBKYWhyLi4uCgpBbmF0b2wgLSBtdXNzIG5pY2h0IG5hY2ggSGFsbGUsIHVtIEJhZGVuIHp1IGdlaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogU29tbWVycGFydHkgSGFsbGUgKEZvb2JhciwgMjIuIEphbiAyMDA0LCAxMjowNDo1OCk6Cn4jISBybj1BbmF0b2wgcnQ9MTA3NDc2ODAyMyByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKV2VyIG9kZXIgd2FzIGlzdCBNJ2VyYSBMdW5hPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFNvbW1lcnBhcnR5IEhhbGxlIChDcm9mdCwgMjIuIEphbiAyMDA0LCAxMjoxMjowMik6Cn4jISBybj1Gb29iYXIgcnQ9MTA3NDc2OTQ5OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKd3d3Lm1lcmFsdW5hLmRlLCBlaW4gTXVzaWtmZXN0aXZhbC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogU29tbWVycGFydHkgSGFsbGUgKE1haGFyZXQsIDIzLiBKYW4gMjAwNCwgMTI6Mjk6MDkpOgp+IyEgcm49Q3JvZnQgcnQ9MTA3NDc2OTkyMiByZz1wYXJ0eQp+IyEgdGlkPTEwNzQwMDQyMjUKSXN0IGFiZXIgd2lya2xpY2ggcnVlY2tzaWNodHNsb3Mgdm9uIGRlbiBNJ2VyYSBMdW5hLUxldXRlbiwgYW0gZ2xlaWNoZW4gV0Ugd2llCldhY2tlbiB6dSBmZXN0aXZhbGVuLiAgTmFqYSwgd2VubiB6d2VpIHNpY2ggc3RyZWl0ZW4gLSBnZWggaWNoIHdvaGwgZWhlciB6dXIKTXVkLVBhcnR5LgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJ1ZWhsaW5nc3BhcnR5IGJlaSBDYXR0eSBpbSBWb3JnYXJ0ZW4gKE1vbnRhbnVzLCAgMy4gRmViIDIwMDQsIDEyOjM3OjI5KToKVW0gZGkgRGlza3Vzc2lvbiBuaWNodCBnYW56IGVya2FsdGVuIHp1IGxhc3Nlbiwgd2llIHNpZWh0IGVzIGF1cywgQ2F0d2VhemxlPwpJbW1lciBub2NoIGJlaSA0OCU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhsaW5nc3BhcnR5IGJlaSBDYXR0eSBpbSBWb3JnYXJ0ZW4gKENhdHdlYXpsZSwgIDMuIEZlYiAyMDA0LCAxMjozOTo0NSk6Cn4jISBybj1Nb250YW51cyBydD0xMDc1ODA4MjQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NTgwODI0OQpOdXIgbm9jaCA0NiA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZydWVobGluZ3NwYXJ0eSBiZWkgQ2F0dHkgaW0gVm9yZ2FydGVuIChDYXR3ZWF6bGUsICAzLiBGZWIgMjAwNCwgMTI6NDA6MTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzU4MDgzODUgcmc9cGFydHkKfiMhIHRpZD0xMDc1ODA4MjQ5Ck9oLCBuZWluIHdhcnRlLCBudXIgbm9jaCAzNiwgZWluIG1vZWdsaWNoZXIgVGVybWluIGlzdCBnZXBsYXR6dCA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJ1ZWhsaW5nc3BhcnR5IGJlaSBDYXR0eSBpbSBWb3JnYXJ0ZW4gKE1vbnRhbnVzLCAgMy4gRmViIDIwMDQsIDEyOjQ2OjU3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDc1ODA4NDE5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3NTgwODI0OQpEdSB3ZWlzc3QsIHdpZSBzaWNoIGRhcyBhdWYgZGVpbmVuIExldmVsIGF1c3dpcmtlbiB3aXJkLCBvZGVyPwpydWZlIHpvb2sgbmFjaCBwYXJ0eQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJ1ZWhsaW5nc3BhcnR5IGJlaSBDYXR0eSBpbSBWb3JnYXJ0ZW4gKFpvb2ssICAzLiBGZWIgMjAwNCwgMTM6MDM6NTApOgp+IyEgcm49TW9udGFudXMgcnQ9MTA3NTgwODgxNyByZz1wYXJ0eQp+IyEgdGlkPTEwNzU4MDgyNDkKOm9lZmZuZXQgZWluZW4gRWRpdG9yLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJ1ZWhsaW5nc3BhcnR5IGJlaSBDYXR0eSBpbSBWb3JnYXJ0ZW4gKENhdHdlYXpsZSwgIDMuIEZlYiAyMDA0LCAxMzowNDo0MCk6Cn4jISBybj1ab29rIHJ0PTEwNzU4MDk4MzAgcmc9cGFydHkKfiMhIHRpZD0xMDc1ODA4MjQ5CjpzY2hyZWlidCBzY2hvbiBtYWwgZGllIGRkb3MtemVpbGUuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZW5zdGVyLVBhcnR5IChDYXR3ZWF6bGUsIDIyLiBGZWIgMjAwNCwgMTY6MTI6MDMpOgpNb2luIQoKRmFsbHMgaWNoIGdyYWQgdmVybWVocnQgYW5mcmFnZW4ga3JpZWdlLCBvYiBkZW5uIGRpZSBQYXJ0eSBpbiBNdWVuc3RlcgpzdGF0dGZpbmRldC4KCkphLCB0dXQgc2llLCBhbSBhbmdlZ2ViZW4gVGVybWluICgwMi4tMDQuIEFwcmlsKS4gCgpJY2ggaGFicyBudXIgbm9jaCBuaWNodCB2ZXJvZWZmZW50bGljaHQsIHdlaWwgaWNoIGRpZSBLYWxrdWxhdGlvbiBub2NoIG5pY2h0CmR1cmNoIGhhYiAoaXJnZW5kd2llIGtvbW0gaWNoIG5pY2h0IG1laHIgYXVmIGRpZSBQcmVpc2UsIGRpZSBpY2ggZGFtYWxzCmdlbm9tbWVuIGhhYiwgaXN0IGphIGFsbGVzIHNhdXRldWVyIGdld29yZGVuIC4uIDooICkuCgpJY2ggbWFjaHMgaGV1dCBhYmVuZCBvZGVyIG1vcmdlbiBmZXJ0aWcsIGRhbm4gZ2lidHMgYXVjaCBCcmV0dGVyLgoKVW5kIHdpZSBnZXNhZ3QsIGlociBtdWVzc3QgYWxsZSBrb21tZW4gOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJ1ZWhsaW5nc3BhcnR5IChDYXR3ZWF6bGUsIDIzLiBGZWIgMjAwNCwgMjI6NTU6NDApOgpNb2luIQoKSWNoIG11c3MgbWl0IEVudHNldHplbiBmZXN0c3RlbGxlbiwgZGFzcyBQYXJ0eSBwbGFuZW4gaGV1dHp1dGFnZSBnYXIgbmljaHQKbWVociBiaWxsaWcgaXN0LiBFcyBpc3QgbWlyIGVpbiBSYWV0c2VsLCB3aWUgaWNoIGRhbWFscyBQYXJ0aWVzIGZ1ZXIgMjBETQpzY2htZWlzc2VuIGtvbm50ZS4gCgpNaXIgZmVobHQgbm9jaCBlaW4gd2ljaHRpZ2VyIFBvc3RlbiBpbiBtZWluZXIgS2Fsa3VsYXRpb24sIHdlbm4gaWNoIGRlbiBoYWJlLAprYW5ucyBnYW56IG9mZml6aWVsbCBsb3NnZWhlbiB1bmQgaWNoIHdlcmYgZGFzIEJyZXR0IGFuLiAKCkVzIGlzdCB2ZXJkYW1tdCBzY2h3ZXIgUmFldW1lIHp1IGtyaWVnZW4sIGRpZSBndWVuc3RpZyBzaW5kLCB1bmQgZGFubiBhdWNoCm5vY2ggc2VsYnN0YXVzc3RhdHRiYXIuIEljaCBoYWJlIGRhcyBQcm9ibGVtLCBkYXNzIGljaCBHZXRyYWVua2Ugdm9tClJhdW1iZXNpdHplciBhYm5laG1lbiBtdXNzLCBlcmdvIGlzdCBrZWluZSBndWVuc3RpZ3N0ZSBTZWxic3R2ZXJzb3JndW5nIG1laHIKbW9lZ2xpY2guIEljaCByZWQgaGllciB6d2FyIG5pY2h0IHZvbiBLbmVpcGVucHJlaXNlbiAtIHNvdmllbCBpc3NlcyBkYW5uIGRvY2gKbmljaHQgOikgLSBhYmVyIGRvY2ggc2Nob24gdGV1ZXIgYWxzIGJpbGxpZyBzZWxic3QgZWlua2F1ZmVuLgoKU28gd2llIGVzIGF1c3NpZWh0LCB3ZXJkIGljaCBiZWkgMTUtMjAgRXVybyBwcm8gUGVyc29uIGxhbmRlbiwgZGFtaXQgaWNoIGF1ZgpkZXIgc2ljaGVyZW4gU2VpdGUgYmluLiBNaXIgZXJzY2hlaW50IGVzIGF1Y2ggbWl0dGxlcndlaWxlIGF1Y2ggc2Nod2llcmlnCnZvcmF1c3p1c2VoZW4sIHdpZXZpZWxlIExldXRlIGRlbm4gc28ga29tbWVuLCB3aXIgaGFiZW4gZWNodCB6dSB2aWVsZSBQYXJ0aWVzCjopCgpBYmVyIGRhIGRpZXMgZGllIG9mZml6aWVsbCBlY2h0ZSBGcnVlaGxpbmdzLShlaWdlbnRsaWNoIFdpbnRlci0pUGFydHkgd2lyZCwKZ2VoIGljaCBlaW5mYWNoIGRhdm9uIGF1cywgZGFzcyBpaHIgYWxsZSBhbnRhbnp0IDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVlbnN0ZXItUGFydHkgKEFsYm9pbiwgMjQuIEZlYiAyMDA0LCAwMDoxMzo0MCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3NzQ2MjcyMyByZz1wYXJ0eQp+IyEgdGlkPTEwNzc0NjI3MjMKamlwcGUgZGEga2FubiBpY2ggbmljaHQhISEKCkFsLCBkZXIgZnJvaCBpc3Qgc2ljaCBrZWluZSBBdXNyZWRlIGVpbmZhbGxlbiBsYXNzZW4genUgbXVlc3NlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdWVuc3Rlci1QYXJ0eSAoS2V5LCAyNC4gRmViIDIwMDQsIDEzOjQxOjI3KToKfiMhIHJuPUFsYm9pbiBydD0xMDc3NTc4MDIwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3NzQ2MjcyMwpXYXJ1bSBuaWNodD8KSm9iPyAtPiBrdWVuZGlnZW4uCkZyYXU/IC0+IEdpYnQgYW5kZXJlClByaXZhdCAtPiBrZWluZSBBdXNyZWRlIAo7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZW5zdGVyLVBhcnR5IChaYXJuaXlhLCAyNS4gRmViIDIwMDQsIDA4OjMyOjE0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDc3NDYyNzIzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3NzQ2MjcyMwpDYXR0eSwKa29tbXN0IGR1IGF1Y2ggbmljaHQgbWVociBhdWYgZGllIFByZWlzZSwgd2VubiBkdSBzdGF0dCBETSBlaW5mYWNoIEV1cm8KbmltbXN0PyBJc3QgZXMgc29vb28gdGV1ZXIgZ2V3b3JkZW4/IDopCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgU2FjaGUgbWl0IGRlbSBQYXJ0eWJlaXRyYWcgKENhdHdlYXpsZSwgIDIuIE1hciAyMDA0LCAxNDo1NTozMik6CgpNb2luIQoKV2llIGV1Y2ggYXVmZ2VmYWxsZW4gc2VpbiBkdWVyZnRlLCBsaWVndCBkZXIgUGFydHliZWl0cmFnIG51biBpbW1lcmhpbiBiZWkgMTUKRXVyby4KCk1pciBpc3QgZWNodCB1ZWJlcmhhdXB0IG5pY2h0IGtsYXIsIHdpZSBpY2ggZXMgamVtYWxzIHNjaGFmZmVuIGtvbm50ZSwgZnJ1ZWhlcgpQYXJ0aWVzIGZ1ZXIgMjBETSBzdGVpZ2VuIHp1IGxhc3Nlbi4gCgpEaWUgMTUvMTggRXVybyBzaW5kIGVjaHQga25hcHAga2Fsa3VsaWVydCB1bmQgZmFsbHMgYXJnIHdlbmlnIExldXRlIGtvbW1lbiwKd2VyZCBpY2ggd29obCBBYnN0cmljaGUgYmVpIEZydWVoc3R1ZWNrL1BhcnR5ZnV0dGVyK3NuYWNrcyBtYWNoZW4gbXVlc3Nlbi4KCkVzIGdpYnQgaGFsdCBrZWluZSBSYWV1bWUgbWVociBmdWVyIExhdSB1bmQgdm9yIGFsbGVtIGdpYnQgZXMga2VpbmUgZ2VzY2hlaXRlbgpQYXJ0eXJhZXVtZSBtZWhyLCB3byBtYW4gc2VpbmUgR2V0cmFlbmtlIG1pdGJyaW5nZW4gZGFyZi4gU28gYXVjaCBoaWVyLCB3aXIKbXVlc3NlbiBkaWUgR2V0cmFlbmtlIHZvciBPcnQgYWJuZWhtZW4uIERpZSBQcmVpc2Ugc2luZCB6d2FyIG1vZGVyYXQgKGV0d2EKaGFsYmUgS25laXBlbnByZWlzZSkgYWJlciBuaWNodCBnYW56IHNvIGd1ZW5zdGlnLCB3aWUgd2VubiBtYW4gc2VsYnN0IGthdWZlbgp3dWVyZGUuIEhpZXIgZ2VodCBlaW4gZ2Vob2VyaWdlciBQb3N0ZW4gZGVyIEthbGt1bGF0aW9uIGJlaSBkcmF1Zi4KCkFsc28gZ3JhZW10IGV1Y2ggbmljaHQsIHdlbm4gMTUgRXVybyB2aWVsIHp1IHNlaW4gc2NoZWluZW4uIEljaCBmaW5kZSBkZW4KUHJlaXMgZ3JhZCBub2NoIGFrdHplcHRhYmVsLCB3ZWl0ZXIgcnVudGVyIGtvbm50ZSBpY2ggZWNodCBuaWNodCByaXNraWVyZW4uIApEYXMgUmlzaWtvIGxpZWd0IGJlaSBtaXIgdW5kIGljaCBtb2VjaHRlIHVuZ2VybiBkcmF1ZnphaGxlbi4gTGFzc3QgZXVjaAphbmRlcnNoZXJ1bSB2ZXJzaWNoZXJuLCBkYXNzIGljaCBhdWNoIGRpZXNlcyBtYWwgLSBmYWxscyBmaW5hbnppZWxsIHdhcyB1ZWJlcgpibGVpYmVuIHNvbGx0ZSAtIHVlYmVyc2NodWVzc2lnZXMgYW4gZGVuIFZlcmVpbiBzcGVuZGVuIHdlcmRlLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgU2FjaGUgbWl0IGRlbSBTZW1pbmFyIChDYXR3ZWF6bGUsICAzLiBNYXIgMjAwNCwgMTU6MTE6MTYpOgoKTW9pbiEKCldpciBrb2VubmVuIHp1IFBhcnR5emVpdGVuIGluIE11ZW5zdGVyIHdpZWRlciBnZXJuZSBlaW4gU2VtaW5hciBhYmhhbHRlbi4gCgpEaWUgVW1mcmFnZSBpc3Q6IE1vZWNodGUgamVtYW5kIGVpbmVuIFNlbWluYXJ2b3J0cmFnIGhhbHRlbj8KV2VuIGphLCBiaXR0ZSBtZWxkZXQgZXVjaCBiZWkgbWlyLiBXZXIgZWluZW4gVm9ydHJhZyBoYWx0ZW4gbW9lY2h0ZSwgYWJlciBrZWluClRoZW1hIHdlaXMsIGZyYWd0IGRvY2ggWm9vayBvZGVyIGluIGRlciBaZWl0dW5nLCB3YXMgZ2VyYWRlIGJlbGllYnRlcyBnZWZyYWd0CndpcmQuIApEYXMga2FubiBtYW4gaGllciBtYWNoZW4sIGVzIGdpYnQgYWJlciBzb2dhciBlaW5lICh1ZWJyaWdlbnMgbGVlcmUpIFJ1YnJpawpzZW1pbmFyIDotKQoKTmViZW5iZW1lcmt1bmc6IERlciBWZXJlaW4gdHJhZWd0IGVudHN0YW5kZW5lIFVua29zdGVuIGZ1ZXIgZWluZW4KU2VtaW5hcnZvcnRyYWcuIERhenUgZ2Vob2VyZW4gYWxsZXJkaW5ncyBuaWNodCBSZWlzZWtvc3RlbiA6KSBEYXRhaWxzIHNpbmQgZGEKbWl0IGRlbSBWb3JzdGFuZCBhYnNwcmVjaGJhci4KClVuZCBsb3MgamV0enQsIGZyZWl3aWxsaWdlIHZvciA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIFNhY2hlIG1pdCBkZW0gUGFydHliZWl0cmFnIChXYXJnb24sICAzLiBNYXIgMjAwNCwgMjI6MTM6NDcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzgyMzU3MzIgcmc9cGFydHkKfiMhIHRpZD0xMDc4MjM1NzMyCktvZW5udGUgZGVyIFByZWlzYW5zdGllZyBkYW1pdCB6dSB0dW4gaGFiZW4sIGRhc3MgZGllIExldXRlIGZydWVoZXIgdmVyc3RhZXJrdApwcml2YXQgdW50ZXJnZWtvbW1lbiBzaW5kIHVuZCBrZWluZSBHZW1laW5zY2hhZnRzdW50ZXJrdW5mdCBnZWJ1Y2h0IHdlcmRlbgptdXNzdGU/CgpBbnNvbnN0ZW4gaXN0IG5hdHVlcmxpY2ggYXVjaCAiVGV1cm8iIGltbWVyIGVpbiBkYW5rYmFyZXMgQXJndW1lbnQuIDspCgogIE1mRywKICAgIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgU2FjaGUgbWl0IGRlbSBQYXJ0eWJlaXRyYWcgKFZhbmlvbiwgIDMuIE1hciAyMDA0LCAyMjoyNjozOSk6Cn4jISBybj1XYXJnb24gcnQ9MTA3ODM0ODQyNyByZz1wYXJ0eQp+IyEgdGlkPTEwNzgyMzU3MzIKTmEga29tbXQsIG5pY2h0IGFuIGFsbGVtIGlzIGRlciBUZXVybyBzY2h1bGQuIEVzIGdpYnQgaW1tZXJoaW4gYXVjaCAxLTIlCkluZmxhdGlvbiAtIHVlYmVyIGRpZSBKYWhyZSAuLi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWUgU2FjaGUgbWl0IGRlbSBQYXJ0eWJlaXRyYWcgKERlZXBibHVlLCAgNC4gTWFyIDIwMDQsIDAwOjI4OjI3KToKfiMhIHJuPVZhbmlvbiBydD0xMDc4MzQ5MTk5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3ODIzNTczMgpBbmRlcmVyc2VpdHMgc2luZCB3aXIgYXVjaCBhbnNwcnVjamhzdm9sbGVyIGdld29yZGVuLgpGcnVlaGVyIHd1cmRlIGdlc29mZmVuLCB3YXMgZGEgaXN0LiBIZXV0ZSB2ZXJsYW5ndCBtYW4gQmllciBzdGF0dCBCaXRidXJnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZSBTYWNoZSBtaXQgZGVtIFBhcnR5YmVpdHJhZyAoVmFuaW9uLCAgNC4gTWFyIDIwMDQsIDA3OjI2OjI1KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwNzgzNTY1MDcgcmc9cGFydHkKfiMhIHRpZD0xMDc4MjM1NzMyCkR1IG1laW5zdCwgd2VubiBDYXR0eSBkaWVzZXMgSmFociBlaW5mYWNoIGVpbmUgRXVyb3BhbGV0dGUgS2FybHNxdWVsbCBhdXNtCkFsZGkgaG9sdCAoZ2lidHMgZGFzIG5hY2ggZGVtIERvc2VucGZhbmQgdWViZXJoYXVwdCBub2NoPyBJY2ggaGFiIGRhcyBkYXMKbGV0enRlIG1hbCB2b3JtIFN0dWRpdW0gZ2V0cnVua2VuKSwgZGFubiBrYW5uIGVyIGRlbiBQYXJ0eXByZWlzIGRydWVja2VuPwoKR3V0ZSBUaGVzZSA6KQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZSBTYWNoZSBtaXQgZGVtIFBhcnR5YmVpdHJhZyAoTWFoYXJldCwgIDQuIE1hciAyMDA0LCAwNzoyNzowOCk6Cn4jISBybj1WYW5pb24gcnQ9MTA3ODM4MTU4NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzgyMzU3MzIKRGFyZiBlciBhYmVyIG5pY2h0IDspCgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEaWUgU2FjaGUgbWl0IGRlbSBQYXJ0eWJlaXRyYWcgKEVsYmVyZXQsICA0LiBNYXIgMjAwNCwgMDk6MTc6MzApOgp+IyEgcm49TWFoYXJldCBydD0xMDc4MzgxNjI4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3ODIzNTczMgp6dW0gZ2x1ZWNrIDopCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaWUgU2FjaGUgbWl0IGRlbSBQYXJ0eWJlaXRyYWcgKENhdHdlYXpsZSwgIDQuIE1hciAyMDA0LCAwOTo0MzowMik6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDc4MzU2NTA3IHJnPXBhcnR5Cn4jISB0aWQ9MTA3ODIzNTczMgpIbSwgaWNoIGJpbiBqZXR6dCBnYXIgbmljaHQgc2ljaGVyLCBhYmVyIG9icyBuaWNodCBkb2NoIGJpdGJ1cmdlciBnaWJ0LCBrYW5uCmljaCBnYXIgbmljaHQgZ2FyYW50aWVyZW4gOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIFNhY2hlIG1pdCBkZXIgVlYgKENhdHdlYXpsZSwgIDQuIE1hciAyMDA0LCAwOTo0NjowMCk6CgpNb2luIQoKTmFjaGRlbSB3aXIgdW5zIGltIFZvcnRhbmQgYWJnZXNwcm9jaGVuIGhhYmVuLCBnaWJ0IGVzIG51biBkb2NoIGtlaW5lClZvbGx2ZXJzYW1tbHVuZyBhdWYgZGVyIE11ZW5zdGVycGFydHkuIAoKV2lyIHNpbmQgendhciBzYXR6dW5nc2JlZGluZ3QgZGF6dSBhbmdlaGFsdGVuLCBtb2VnbGljaHN0IGltIEZydWVoamFociBkaWUgVlYKenUgbWFjaGVuLCBkYXMgaXN0IGFiZXIga2VpbmUgVmVycGZsaWNodHVuZywgc29uZGVybiBtZWhyIGVpbmUgTGVpdGxpbmllLiAKRGEgc2VpdCBBdWd1c3QgYWJlciBuaWNodCB2aWVsIHp1IGJlcmljaHRlbiwgYnp3LiBhYnp1c3RpbW1lbiB3YWVyZSwgaGFiZW4gd2lyCnVucyBlbnRzY2hsb3NzZW4gZWhlciBkZW4gSmFocmVzcmh5dGhtdXMgZWluenVoYWx0ZW4sIHVuZCBkaWUgVlYgYXVmIGRlcgpTb21tZXJwYXJ0eSBhYnp1aGFsdGVuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIFNhY2hlIG1pdCBkZW0gUGFydHliZWl0cmFnIChSb2NodXMsICA0LiBNYXIgMjAwNCwgMTg6MDA6MTcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzgyMzU3MzIgcmc9cGFydHkKfiMhIHRpZD0xMDc4MjM1NzMyClVuZCBhdWNoIGRpZXNlcyBtYWwgd2lyc3QgRHUgbmFjaCBkZXIgUGFydHkgc2FnZW4KIkljaCB3ZXJkZSBuaWUgd2llZGVyIGVpbmUgUGFydHkgb3JnYW5pc2llcmVuISIKCjotKQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgU2FjaGUgbWl0IGRlciBWViAoQ2Fzc2FuZHJhLCAgNC4gTWFyIDIwMDQsIDE4OjAyOjQwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDc4Mzg5OTYwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3ODM4OTk2MApFcmlubmVydCB1bnMgZGFubiBiaXR0ZSB2b3IgZGVyIFNvbW1lcnBhcnR5IGRhcmFuIGRhcyBkb3J0IGRpZSBWViBzdGF0dGZpbmRlbgpzb2xsLiBOaWNodCBkYXMgZGFzIHVudGVyIGRpZSBSYWVkZXIga29tbXQgd2VnZW4gZGVyIGVpbmxhZHVuZ3NmcmlzdGVuLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpZSBTYWNoZSBtaXQgZGVtIFBhcnR5YmVpdHJhZyAoV2FyZ29uLCAgNi4gTWFyIDIwMDQsIDE1OjUzOjEyKToKfiMhIHJuPVZhbmlvbiBydD0xMDc4MzQ5MTk5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3ODIzNTczMgpEYXMgbWFjaHQgZGFubiB1ZWJlciAxMCBQYXJ0eWphaHJlLCBpbm5lcmhhbGIgZGVyZXIgc2ljaCBkZXIgQmVpdHJhZwp2ZXJkb3BwZWx0IGhhdCwgZWluZSBkdXJjaHNjaG5pdHRsaWNoZSBJbmZsYXRpb25zcmF0ZSB2b24gNywyJSwgenVtaW5kZXN0IGltCkJlcmVpY2ggZGVyIE11ZC1QYXJ0eS1yZWxldmFudGVuIEtvbnN1bWd1ZXRlci4KClNpbmQgQmllciwgQ29sYSB1bmQgQ2hpbmVzZW4gaW4gZGVyIFplaXQgd2lya2xpY2ggc28gdmllbCB0ZXVyZXIgZ2V3b3JkZW4/IDspCgogIE1mRywKICAgIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIFNhY2hlIG1pdCBkZW0gUGFydHliZWl0cmFnIChNYWhhcmV0LCAgNi4gTWFyIDIwMDQsIDE2OjI1OjIxKToKfiMhIHJuPVdhcmdvbiBydD0xMDc4NTg0NzkyIHJnPXBhcnR5Cn4jISB0aWQ9MTA3ODIzNTczMgpTY2hvbiBhbGxlaW4gZGllIEV1cm8tRWluZnVlaHJ1bmcgaGF0IGJlaSBlaW5pZ2VuIGVpbmUgNTAtMTAwJWlnZQpQcmVpc3N0ZWlnZXJ1bmcgZ2VicmFjaHQuICBNZWluIExpZWJsaW5nc2luZGVyIGlzdCBzbyBlaW5lciAuLi4gRGEgc2luZCB3aXIKbWl0IDcuMiUgZG9jaCBndXQgYmVkaWVudCA6KQoKTWFoYSwgU3Bpb24gdW5kIEdpZnRtaXNjaGVyIGFECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEaWUgU2FjaGUgbWl0IGRlbSBQYXJ0eWJlaXRyYWcgKEZvb2JhciwgIDYuIE1hciAyMDA0LCAxNjozNDo1MCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwNzg1ODY3MjEgcmc9cGFydHkKfiMhIHRpZD0xMDc4MjM1NzMyClZvbiBlaW5lbSBGcmV1bmQgaGFiZSBpY2ggZm9sZ2VuZGUgU3RvcnkgZ2Vob2VydDoKCkVzIHdhciBrdXJ6IG5hY2ggZGVyIEV1cm8tRWluZnVlaHJ1bmcuIEVyIGJlbm9ldGlndGUgZWluZSBzcGV6aWVsbGUgU2NocmF1YmUKZnVlciBzZWluIE1vdG9ycmFkIHVuZCBzY2hhdXRlIGRlc3dlZ2VuIGJlaW0gb2VydGxpY2hlbiBNb3BlZHNjaHVwcGVuIHZvcmJlaS4KCkRlciBhbiBkZXIgS2Fzc2Ugd3Vzc3RlIGRlbiBFdXJvLVByZWlzIGZ1ZXIgZGllIFNjaHJhdWJlIGxlaWRlciBuaWNodCwgYWxzbwpicnVlbGx0ZSBlciBpbiBkaWUgV2Vya3N0YXR0OiAiTWFubmksIHdhdCBrb3N0JyBkZW5uIGRpZSAkU0NIUkFVQkUgZ2V0eiBpbgpFdXJvPyIgLSAiSGF0IGRpZSBkZW5uIHZvcmhlciBnZWtvc3RldD8iIC0gIlNpZWJlbiBNYXJrLiIgLSAiTmEsIGRhbm4gbWFjaAp2aWVyemVobiBFdXJvIGRyYXVzLiIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaWUgU2FjaGUgbWl0IGRlbSBQYXJ0eWJlaXRyYWcgKE5vbm5lLCAgNy4gTWFyIDIwMDQsIDEyOjAxOjE4KToKfiMhIHJuPVdhcmdvbiBydD0xMDc4NTg0NzkyIHJnPXBhcnR5Cn4jISB0aWQ9MTA3ODIzNTczMgpWaWVsbGVpY2h0IGdyZWlmdCBsYW5nc2FtIGRpZSBzdHJpa3RlIEdlYnVydGVua29udHJvbGxlIGluIENoaW5hIHVuZCBkaWUKQ2hpbmVzZW4gd2VyZGVuIGxhbmdzYW0ga25hcHAuIFdlbm4gZGllIE5hY2hmcmFnZSBrb25zdGFudCBnZWJsaWViZW4gaXN0LApsYWVzc3Qgc2ljaCBkYW1pdCBkaWUgUHJlaXNzdGVpZ2VydW5nIGVya2xhZXJlbi4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHNoaXJ0IChDYXR3ZWF6bGUsIDEzLiBNYXIgMjAwNCwgMTg6MDc6NTkpOgoKT2xhIQoKV2llIHdhZXJlIGVzIGRlbm4sIHdlbm4gd2lyIHN0YXR0IFRzaGlydCwgVGFzc2VuIHByb2R1emllcmVuIHd1ZXJkZW4/ClVuZCB3aWUgd2FlcmUgZXMgZWluZSB1bnNlcmVyIEthcnRlbiAoc2llaGUgaHR0cDovL21nLm11ZC5kZS9tYXAvKQpkcmF1Znp1ZHJ1Y2tlbiA/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUc2hpcnQgKE1pZXplLCAxMy4gTWFyIDIwMDQsIDE4OjE5OjQ2KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDc5MTk3Njc5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTE5NzY3OQoKVGFzc2VuIHNpbmQgdG9sbCA7bykgQXVjaCwgd2VubiB3aXIgd2VsY2hlIGluIEhhbGxlIG1hY2hlbiB3ZXJkZW4uIEFiZXIgZGF2b24Ka2FubiBtYW4gbmljaHQgZ2VudWcgaGFiZW4gdW5kIGF1c3NlcmRlbSBnZWhlbiBzaWUgYXVjaCBzY2huZWxsIG1hbCBrYXB1dHQuCgpNaWV6ZSAtIHN0aW1tdCBmdWVyIFRhc3NlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUc2hpcnQgKFZhbmhlbHNpbmcsIDEzLiBNYXIgMjAwNCwgMTg6MjE6MzYpOgp+IyEgcm49TWllemUgcnQ9MTA3OTE5ODM4NiByZz1wYXJ0eQp+IyEgdGlkPTEwNzkxOTc2NzkKTWlyIHdhZXJlbiBULVNoaXJ0IHVuZCBUYXNzZW4gcmVjaHQuIEthbm4gbWFuIGJlaWRlcyB3aXJrbGljaCBndXQgZ2VicmF1Y2hlbgoKVmFuSGVsc2luZyAtIFppZWh0IHNpY2ggYW4gdW5kIHRyaW5rdCBhdXMgVGFzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHNoaXJ0IChWYW5pb24sIDEzLiBNYXIgMjAwNCwgMjA6NTI6NTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzkxOTc2Nzkgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5CkljaCBiaW4gdm9uIGRlciBUYXNzZW5pZGVlIGJlZ2Vpc3RlcnQgOikgTWVpbmUgYmxlaWNodCBsYW5nc2FtIGFiZXIgc2ljaGVyIGF1cwotIE1HLVQtU2hpcnRzIHRyYWcgaWNoIG51ciB6dSBNRy1QYXJ0aWVzLiBEaWUgYmxlaWNoZW4gZGFoZXIgYXVjaCBuaWNoIHNvCnNjaG5lbGwuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUc2hpcnQgKEdsb2luc29uLCAxMy4gTWFyIDIwMDQsIDIwOjU1OjQ2KToKfiMhIHJuPVZhbmlvbiBydD0xMDc5MjA3NTczIHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTE5NzY3OQpNZWluZSBGcmF1ICgoYykgZWluZSBLcmFua2Vuc2Nod2VzdGVyKSB1bmQgaWNoIHNpbmQgZWJlbmZhbGxzIGVoZXIKdGFzc2Vub3JpZW50aWVydC4gQWxsZXJkaW5ncyB3dWVyZGUgTWFydGluaSBnZXJuIGRpZXNlcyBuZXR0ZSBzY2h3YXJ6d2Vpc3NlCkRyYWNoZW5iYWJ5IGFscyBNb3RpdiBoYWJlbiwgZGFzcyB3aXIgenUgaXJnZW5kIGVpbmVyIFBhcnR5ICh3YXIgZGFzIGluCk1hcmJ1cmc/KSBhdWYgVC1TaGlydHMgYmVrYW1lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUc2hpcnQgKE1lc2lyaWksIDEzLiBNYXIgMjAwNCwgMjE6MTY6MDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3OTIwNzc0NiByZz1wYXJ0eQp+IyEgdGlkPTEwNzkxOTc2NzkKSWNoIHdhZXJlIGZ1ZXIgbmUgc3RpbGVjaHRlIFRhc3NlLCB6LmIuIG1pdCBuZXIgQVNDSUkgS2FydGUgdm9tIE1HIDopLgpBbHRlcm5hdGl2IGVpbmUgTUctUmVmZXJlbmNlLUNhcmQuCgpPZGVyIG5lbiBodWVic2NoZXMgQmlsZCB2b24gR3VhcmQuICh2b24gaWhtIGdlbWFsdCBtZWluIGljaCkuCgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUc2hpcnQgKEFuYXRvbCwgMTMuIE1hciAyMDA0LCAyMToxNjo1Mik6Cn4jISBybj1NZXNpcmlpIHJ0PTEwNzkyMDg5NjMgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5CkRhbm4gYmlsZGUgbWFsIGVpbiBNRyByZWZlcmVuY2UgY29uc29ydGl1bSA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUc2hpcnQgKFRhcmFuaXMsIDEzLiBNYXIgMjAwNCwgMjM6NDI6MzApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzkxOTc2Nzkgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5Cjppc3QgZWluZGV1dGlnIGZ1ZXIgVGFzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUc2hpcnQgKEZvb2JhciwgMTMuIE1hciAyMDA0LCAyMzo1MDowNik6Cn4jISBybj1UYXJhbmlzIHJ0PTEwNzkyMTc3NTAgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5CldlciBzb2xsIGRlbm4gZGllIHVudGVyIGRlciBhbmdlZ2ViZW5lbiBVUkwgYmVmaW5kbGljaGVuIEthcnRlbiBiaXMgenVtClN0aWNodGFnIGF1ZiBkZW4gYWt0dWVsbGVuIFN0YW5kIGJyaW5nZW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRzaGlydCAoQ3JvZnQsIDEzLiBNYXIgMjAwNCwgMjM6NTA6NTgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzkxOTc2Nzkgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5Ck5pbW0gbGllYmVyIFJhbmdvcm5zIGhlcnZvcnJhZ2VuZGUgS2FydGUuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUc2hpcnQgKEZvb2JhciwgMTMuIE1hciAyMDA0LCAyMzo1NDozMCk6Cn4jISBybj1Dcm9mdCBydD0xMDc5MjE4MjU4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTE5NzY3OQpPaG5lIGRpZSBRdWFsaXRhZXQgZGllc2VyIEthcnRlIGluIEFicmVkZSBzdGVsbGVuIHp1IHdvbGxlbiwgYWJlciB3aWUgZ3Jvc3MKc29sbCBkZW5uIHNvIGVpbmUgVGFzc2Ugd2VyZGVuLCB3ZW5uIGRhIGVpbmUga29tcGxldHRlIEthcnRlIGRyYXVmIHNvbGwgdW5kCm1hbiBhdXNzZXJkZW0gbWVociBhbHMgZWluZW4gZmFyYmlnZW4gYnp3LiBzY2h3YXJ6d2Vpc3NlbiBGbGVjayBlcmtlbm5lbgprb2VubmVuIHNvbGw/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUc2hpcnQgKEFuYXRvbCwgMTMuIE1hciAyMDA0LCAyMzo1NjowNik6Cn4jISBybj1Gb29iYXIgcnQ9MTA3OTIxODQ3MCByZz1wYXJ0eQp+IyEgdGlkPTEwNzkxOTc2NzkKRWluZSBzY2hvZW5lIEthcnRlIHZvbiBQb3J0IFZhaW4gd2FlcmUgdm9lbGxpZyBhdXNyZWljaGVuZC4gT2RlciBlaW5lCnZvbSBMdXBpbmVudGFsLiBJcmdlbmR3YXMga2xhc3Npc2NoZXMuIE5pY2h0IHNvIGVpbiBuZXVtb2Rpc2NoZW4gS3JhbQp3aWUgQWtoYXIgTnRoJ3RhciBvZGVyIGRhcyBWbGFuZC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRzaGlydCAoRm9vYmFyLCAxMy4gTWFyIDIwMDQsIDIzOjU4OjQ3KToKfiMhIHJuPUFuYXRvbCBydD0xMDc5MjE4NTY2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTE5NzY3OQpBaCwgZXMgd2lyZCBhbHNvIGVpbmUgIkZydWVoZXIgd2FyIGFsbGVzIGJlc3Nlci4iLVRhc3NlLiBOYSwgb2huZSBtaWNoIDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVHNoaXJ0IChBcmssIDE0LiBNYXIgMjAwNCwgMDA6MDQ6MDUpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNzkyMTg3Mjcgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5Cldlbm4gd2lyIHJpY2h0aWdlIE1hcmtldGluZyBQcm9maXMgd2FlcmVuLCB3dWVyZGVuIHdpciBmdWVyIGplZGVzIEdlYmlldCBlaW5lCmVpZ2VuZSBLYXJ0ZS9UYXNzZSByYXVzYnJpbmdlbiwgd2VydHZvbGxlIFNhbW1lbGl0ZW1zIG1pdCBkZW4gZW50c3ByZWNoZW5kZW4KU3BpZWxlcm5hbWVuIGRhcnVudGVyLiBOdSBndXQsIHZpZWxsZWljaHQgYXVjaCBuaWNodCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUc2hpcnQgKEZvb2JhciwgMTQuIE1hciAyMDA0LCAwMDowNTo0Myk6Cn4jISBybj1BcmsgcnQ9MTA3OTIxOTA0NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzkxOTc2NzkKS2xhc3NlIElkZWUuIEJlaSBkZXIgVW50ZXJ3ZWx0LVRhc3NlIGZlaGx0IGRhbm4gZGVyIEJvZGVuLiA7bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRzaGlydCAoQ2F0d2VhemxlLCAxNC4gTWFyIDIwMDQsIDA5OjU0OjAyKToKfiMhIHJuPUZvb2JhciBydD0xMDc5MjE5MTQzIHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTE5NzY3OQpPa29rLCBrYW5uIGljaCBhbHNvIGRhdm9uIGF1c2dlaGVuLCBkYXNzIGljaCBpbiBkZW4gbmFlY2hzdGVuIHp3ZWkgV29jaGVuIG5vY2gKc2Nob2VuZSBLYXJ0ZW52b3JsYWdlbiBiZWtvbW1lPwoKRGFzIG1pdCBBU0NJSSBpc3QgYXVjaCBndXQsIGFiZXIgZGllIHVyYWx0ZSBhdWYgZGVyIFdlYnNlaXRlIGlzdCBldHdhcyAuLi4KYW5nZXN0YXVidC4gS2FubiBkYSBqZW1hbmQgZWluIFVwZGF0ZSBtYWNoZW4/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmVpdHJhZWdlIChDYXR3ZWF6bGUsIDE0LiBNYXIgMjAwNCwgMTc6Mjc6MDYpOgpNb2luIQoKSWNoIGJpbiBlcyBqYSBzY2hvbiBnZXdvZWhudCwgYWxzbyBzY2hyZWliIGljaCBkaWVzZW4gQXJ0aWtlbCBtaXQgbGVpY2h0ZXIKRmVkZXIuCgpJc3QgZXVjaCBiZXd1c3N0LCBkYXNzIHNvIGVpbmUgUGFydHkgdmVyZGFtbXQgU2NoZWlzc2UgenUgZmluYW56aWVyZW4gaXN0LAp3ZW5uIG1hbiBrZWluIEdlbGQgaGF0PwoKQmlzaGVyIGhhYmVuIHZvbiA0MSBMZXV0ZW4gbGVkaWdsaWNoIDcgYmV6YWhsdCwgZGFzIGlzdCBhZXVzc2Vyc3QgbWlja3JpZy4KQWJnZXNlaGVuIGRhdm9uIGlzdCBhdWNoIDQxIGdlZmFlaHJsaWNoIHdlbmlnIDopCgpBbHNvIHp3ZWkgQml0dGVuOgpXZW5uIGlociBrb21tZW4gd29sbHQsIG1lbGRldCBldWNoIG1vZWdsaWNoc3QgYmFsZCBhbi4gQW0gYmVzdGVuIF9zb2ZvcnRfLgpXZW5uIGR1IG5vY2ggendlaWZlbHN0IHVuZCBkdSBuaWNodCBzaWNoZXIgYmlzdDogTWVsZGUgZGljaCBhbiEgYm1lbGRlbgprYW5uc3RlIGRpY2ggaW1tZXIgbm9jaC4KX1dlbm5fIGR1IHNpY2hlciBiaXN0LCBkYW5uIHVlYmVyd2VpcyBiaXR0ZSBkcmluZ2xpY2hzdCBzb2ZvcnQgZGFzIEdlbGQsIGRhbWl0CmljaCBlaW5lbiBnYW56ZW4gSGF1ZmVuIFZvcmF1cy0gdW5kIEZpeGtvc3RlbiBiZXphaGxlbiBrYW5uIChSYXVtLCBLYXV0aW9uLApIYWxsZSwgZXRjLikuIAoKTWVyY2khIDotKQoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRzaGlydCAoQmFtYmksIDE2LiBNYXIgMjAwNCwgMTk6MTI6MzMpOgp+IyEgcm49Q3JvZnQgcnQ9MTA3OTIxODI1OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzkxOTc2NzkKR2VuYXUuCkljaCB3aWxsIHNpZSBhbHMgRElOIEEgMC1QbG90IGF1ZiBkZXIgVGFzc2UuCi4uLgpBZWguLi4KCk5hamEsIHdpcmQgbmUgZ3Jvc3NlIFRhc3NlLiBJY2ggd2Vpc3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBUc2hpcnQgKFpvb2ssIDE4LiBNYXIgMjAwNCwgMTA6MTc6MzYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzkyNTQ0NDIgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5CkFsc28gVGFzc2UgZmFlbmQgaWNoIGF1Y2ggdG9sbC4gCgpNb3Rpdj8gV2llIHdhZXJlIGVpbiBKb2YvUnVtYXRhL1pvb2stQW5iZXR1bmdzdGFzc2U/IDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVHNoaXJ0IChCYW1iaSwgMTguIE1hciAyMDA0LCAxMDoxODoxMCk6Cn4jISBybj1ab29rIHJ0PTEwNzk2MDE0NTYgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5Ck1laW5zdCBEdSBuaWNodCwgZGFzcyBkYW5uIHp1dmllbGUgTGV1dGUgZGllIFRhc3NlbiBhbmJldGVuLCBhbnN0YXR0IGV1Y2g/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVHNoaXJ0IChHbG9pbnNvbiwgMTguIE1hciAyMDA0LCAxMDoxODo0NCk6Cn4jISBybj1CYW1iaSBydD0xMDc5NjAxNDkwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTE5NzY3OQpFciBob2ZmdCBqYSBudXIgYXVmIFRyYW5rb3BmZXIgYXVzIGRlbiBUYXNzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVHNoaXJ0IChNdWFkaWIsIDE4LiBNYXIgMjAwNCwgMTA6MjI6MzEpOgp+IyEgcm49Wm9vayBydD0xMDc5NjAxNDU2IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTE5NzY3OQpzY2hsZWNodGUgaWRlZQplaW5tYWwgaW4gZGVyIHNwdWVsbWFzY2hpbmUgdW5kIGRlciBnbGFueiBpc3Qgd2VnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVHNoaXJ0IChCZXR0eSwgMTguIE1hciAyMDA0LCAxMDo0ODo1Nyk6Cn4jISBybj1NdWFkaWIgcnQ9MTA3OTYwMTc1MSByZz1wYXJ0eQp+IyEgdGlkPTEwNzkxOTc2NzkKTWVpbnN0IER1IFpvb2sgb2RlciBkaWUgVGFzc2UgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFRzaGlydCAoTXVhZGliLCAxOC4gTWFyIDIwMDQsIDEwOjU5OjUyKToKfiMhIHJuPUJldHR5IHJ0PTEwNzk2MDMzMzcgcmc9cGFydHkKfiMhIHRpZD0xMDc5MTk3Njc5Cndlbm4gem9vayBzaWNoIGRhenUgYmVyZWl0ZXJrbGFlcnQgc3B1ZWxlIGljaCBpaG4gZ2VybmUgbWFsIGluIGVpbmVyCnNwdWVsbWFzY2hpbmUgdW5kIGJlYW50d29ydGUgZGlyIGRhbm4gZGllIGZyYWdlIG1pdDogYmVpZGVzLiBiaXMgZGFoaW4gbGF1dGV0CmRpZSBhbnR3b3J0OiBkaWUgdGFzc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhc3Nlbm1vdGl2IChSb25kYSwgMTguIE1hciAyMDA0LCAxNDoyNzo1OCk6Ckh1aHUsCgppY2ggaGFiIG1hbCBkYXMgU3ViamVjdCBhbmdlcGFzc3QgOy0pCldpZSBpc3QgZGVubiBudW4gZGVyIFN0YXR1cyBiZXp1ZWdsaWNoIFRhc3Nlbm1vdGl2PyBEYSB3aXIgZ3JhZCBhdWYgLWEgYXVmIGRhcwpUaGVtYSBrYW1lbjogd2llIHdhZXJlIGVzLCBlbnRzcHJlY2hlbmQgZGVyIHZpLVJlZmVyZW56dGFzc2UgZWluZQpNRy1SZWZlcmVuenRhc3NlIHp1IGVudHdlcmZlbj8KV2FzIG11ZXNzdGUgZGVubiBkYW5uIGRhIGRyYXVmPyB2b3JzaWNodCAwPyBhbGlhcyB1bmQgdW5hbGlhcz8gaGlsZmUgZ2FuegpiZXN0aW1tdC4uLiBFYmVuZW4gYW4tIGF1c3NjaGFsdGVuPwoKUm9uZGEgKmJyYWluc3Rvcm1lbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGFzc2VubW90aXYgKFpvb2ssIDE4LiBNYXIgMjAwNCwgMTQ6Mjg6NTQpOgp+IyEgcm49Um9uZGEgcnQ9MTA3OTYxNjQ3OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKSWNoIGJpbiBuaWNodCBkZXIgTWVpbnVuZywgZGFzcyBtZWluIEtvbnRlcmZlaSBhdWNoIG5vY2ggZHVyY2ggRWJlbmVuLUhpbGZlLQpTZWl0ZW4gZXJnYWVuenQgd2VyZGVuIG11c3MuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhc3Nlbm1vdGl2IChUYXJhbmlzLCAxOC4gTWFyIDIwMDQsIDE0OjMwOjA5KToKfiMhIHJuPVJvbmRhIHJ0PTEwNzk2MTY0Nzggcmc9cGFydHkKfiMhIHRpZD0xMDc5NjE2NDc4CiJyaWNodGUga2VyYmhvbHogYXVmIC4uLiI/IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUYXNzZW5tb3RpdiAoQW50aGVhLCAxOC4gTWFyIDIwMDQsIDE0OjMyOjEzKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTA3OTYxNjYwOSByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKInRlaWxlIGdyaW1tYm9ybiBtaXQgemFwcCBtaWNoIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGFzc2VubW90aXYgKFpvb2ssIDE4LiBNYXIgMjAwNCwgMTQ6MzI6MjkpOgp+IyEgcm49QW50aGVhIHJ0PTEwNzk2MTY3MzMgcmc9cGFydHkKfiMhIHRpZD0xMDc5NjE2NDc4CkJvYWgsIGxhZ3N0IER1LCBBbnRoZWEuLi4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUYXNzZW5tb3RpdiAoUmlrdXMsIDE4LiBNYXIgMjAwNCwgMTQ6MzI6NDkpOgp+IyEgcm49Wm9vayBydD0xMDc5NjE2NzQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTYxNjQ3OApya251ZGRlbCB0b3JmZHVlbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRhc3Nlbm1vdGl2IChab29rLCAxOC4gTWFyIDIwMDQsIDE0OjMzOjEzKToKfiMhIHJuPVJpa3VzIHJ0PTEwNzk2MTY3Njkgcmc9cGFydHkKfiMhIHRpZD0xMDc5NjE2NDc4CnJlbW90ZSByb2NodXMgc3B1Y2t0IERpciAjIGluIGRpZSBDb2xhLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRhc3Nlbm1vdGl2IChSb25kYSwgMTguIE1hciAyMDA0LCAxNDozMzoxNyk6Cn4jISBybj1SaWt1cyBydD0xMDc5NjE2NzY5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTYxNjQ3OAp0bSBqb2YgaWRsZXN0IER1PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGFzc2VubW90aXYgKEFudGhlYSwgMTguIE1hciAyMDA0LCAxNDozMzo1OSk6Cn4jISBybj1Sb25kYSBydD0xMDc5NjE2Nzk3IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTYxNjQ3OApUc2NodWsuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUYXNzZW5tb3RpdiAoR2xvaW5zb24sIDE4LiBNYXIgMjAwNCwgMTQ6MzQ6MDcpOgp+IyEgcm49Um9uZGEgcnQ9MTA3OTYxNjc5NyByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKSmFzcGVyIHJ1ZnQ6IFNvbW1lciEgTW9lcHNlIQpPcmt0cm9ldGUgcnVmdDogLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhc3Nlbm1vdGl2IChNdWFkaWIsIDE4LiBNYXIgMjAwNCwgMTU6MDk6NTcpOgp+IyEgcm49Um9uZGEgcnQ9MTA3OTYxNjQ3OCByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKb2huZSBtaWNoIGRhZ2VnZW4gYXVzc3ByZWNoZW4genUgd29sbGVuCmthbm4gbWlyIGplbWFuZCBzaW5uIHVuZCB3aXR6IGhpbnRlciBlaW5lciBzb2xjaGVuIHRhc3NlIGVya2xhZXJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGFzc2VubW90aXYgKEh1bW5pLCAxOC4gTWFyIDIwMDQsIDE1OjEwOjM3KToKfiMhIHJuPU11YWRpYiBydD0xMDc5NjE4OTk3IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTYxNjQ3OApJY2ggaGFiIGVpbmUgVGFzc2UsIHdvIGdyb3NzICwsTW9yZ2VuR3JhdWVuJycgZHJhdWZzdGVodC4gRGVyIFdpdHogd2FyLCBkYXNzCmljaCBkYW1pdCBpbiBkZXIgRmlybWEgd28gaWNoIG1hbCBnZWFyYmVpdGV0IGhhYiBtZWluZW4gS2FmZmVlIGRyaW5oYXR0ZSB1bmQKZGllIEtvbGxlZ2VuIGRhcyBzZWhyIHdpdHppZyBmYW5kZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGFzc2VubW90aXYgKFpvb2ssIDE4LiBNYXIgMjAwNCwgMTU6MTE6MjcpOgp+IyEgcm49SHVtbmkgcnQ9MTA3OTYxOTAzNyByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKS2FubnN0IER1IGluIE1lcmNoYW5kaXNpbmctQXJ0aWtlbG4gYmVsaWViZXIgSGVyc3RlbGxlciBpcmdlbmRlaW5lbiAKU2lubiBlcmtlbm5lbiwgTXVhZGliPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRhc3Nlbm1vdGl2IChNdWFkaWIsIDE4LiBNYXIgMjAwNCwgMTU6MTE6NDUpOgp+IyEgcm49SHVtbmkgcnQ9MTA3OTYxOTAzNyByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKb2tvayBkdSB3b3J0a2xhdWJlciB1bmQgdmVyZHJlaGVyOiB3YXMgaXN0IGdlbmF1IGRhcyB0b2xsZSBhbiBkZXIgcmVmZXJlbno/CndhcnVtIGlzdCBkYXMgenVtIGJlaXNwaWVsIGVpbmVtIGJpbGQgdm9yenV6aWVoZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUYXNzZW5tb3RpdiAoTXVhZGliLCAxOC4gTWFyIDIwMDQsIDE1OjEzOjM3KToKfiMhIHJuPVpvb2sgcnQ9MTA3OTYxOTA4NyByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKbnVuIGJlaSBtZXJjaGFuZGlzaW5ndGFzc2VuIGlzdCB2aWVsbGVpY2h0IGVpbiB3aXR6aWdlciBzcHJ1Y2ggZHJhdWYgb2RlciBlaW4KYmlsZCBkYXMgZWluZW0gZ2VmYWVsbHQuCmljaCBuZWhtZSBhbiBkYXMgZ2lsdCBhdWNoIGZ1ZXIgZGllIGVsZW1lbnRlIGRlciByZWZlcmVueiwgYW5zb25zdGVuIHdhZXJlIGphCmRlciB2b3JzY2hsYWcgbmljaHQgZ2Vrb21tZW4KaWNoIHZlcnN0ZWhlIGVzIGJsb3NzIG5pY2h0LiB3YXMgaXN0IGRlciB3aXR6IGFuICJ2b3JzaWNodCAwIiA/Cgp2aWVsbGVpY2h0IGhhYiBpY2ggZWluZmFjaCBrZWluZW4gaHVtb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRhc3Nlbm1vdGl2IChab29rLCAxOC4gTWFyIDIwMDQsIDE1OjE1OjEwKToKfiMhIHJuPU11YWRpYiBydD0xMDc5NjE5MjE3IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTYxNjQ3OApBaCwgaWNoIHZlcnN0ZWhlLiBEdSBiZXppZWhzdCBEaWNoIGF1ZiBkaWUgUmVmZXJlbnotVGFzc2UuIE51biwgaWNoIGdpbmcgCmRhdm9uIGF1cywgZGFzcyBkYXMgQW5iZXR1bmdzLU1vdGl2IG51biBlaWdlbnRsaWNoIHNjaG9uIGZlc3RnZWxlZ3Qgd2FyLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFRhc3Nlbm1vdGl2IChCYW1iaSwgMTguIE1hciAyMDA0LCAxNToxNzoxMyk6Cn4jISBybj1ab29rIHJ0PTEwNzk2MTkzMTAgcmc9cGFydHkKfiMhIHRpZD0xMDc5NjE2NDc4CldpZSBrbGVpbiBtdWVzc3RlIGRpZSBTY2hyaWZ0IHNlaW4sIHdlbm4gd2lyIGRlbiBHYW1lZHJpdmVycXVlbGxjb2RlIG9kZXIgZGllCk11ZGxpYiBhdWYgZGllIFRhc3NlIGRydWNrZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUYXNzZW5tb3RpdiAoR2xvaW5zb24sIDE4LiBNYXIgMjAwNCwgMTU6MTc6MjMpOgp+IyEgcm49Wm9vayBydD0xMDc5NjE5MzEwIHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTYxNjQ3OApEZWluZSBnb2V0dGxpY2hlIEtyYWZ0IGR1ZXJmdGUgc2ljaCBqZWRvY2ggbmljaHQgYWxsenUgc3RhcmsgYXVmIGFuZGVyZQpSZWFsaXRhZXRlbiBhdXN3aXJrZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVGFzc2VubW90aXYgKFpvb2ssIDE4LiBNYXIgMjAwNCwgMTU6MTg6MTkpOgp+IyEgcm49QmFtYmkgcnQ9MTA3OTYxOTQzMyByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKV2VubiwgZGFubiB3YWVyIGljaCBmdWVyIEdhbWVkcml2ZXIuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVGFzc2VubW90aXYgKEdsb2luc29uLCAxOC4gTWFyIDIwMDQsIDE1OjIwOjM5KToKfiMhIHJuPVpvb2sgcnQ9MTA3OTYxOTQ5OSByZz1wYXJ0eQp+IyEgdGlkPTEwNzk2MTY0NzgKTWVpbnN0IGR1LCBpbiBkZXNzZW4gQ29kZSBrYW5uc3QgZHUgYmVzc2VyIGVpbiAiVmVyZWhydCBab29rISBMaWVidCBab29rISBHZWJ0Clpvb2sgZXVyZSBpcmRpc2NoZW4gR3VldGVyISIgdW50ZXJicmluZ2VuLCB1bmQgZGFtaXQgTWl0YXJiZWl0ZXIgZGVyClRhc3NlbmJlc2l0emVyIHVudGVyc2Nod2VsbGlnIGJlZWluZmx1c3Nlbj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBUYXNzZW5tb3RpdiAoWm9vaywgMTguIE1hciAyMDA0LCAxNToyMToyNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDc5NjE5NjM5IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTYxNjQ3OApOZSwgaW4gZGVuIERyaXZlci1Db2RlIGhhYiBpY2ggbnVyIGdhbnogc2VsdGVuIHJlaW5nZXNlaGVuIHVuZCBlciB3dWVyZCBtaWNoCnNjaG9uIGludGVyZXNzaWVyZW4gdW5kIHdlbm4gbWFuIGlobiBzbyBhdWYgZGVyIFRhc3NlIGhhdCwgZ3Vja3QgbWFuIAp2aWVsbGVpY2h0IGF1Y2ggb2VmdGVyIG1hbCBkcmF1Zi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eXRhc3NlIChUYXNzZSwgMTguIE1hciAyMDA0LCAyMDoyNTo1MCk6CkhhbGxvIHp1c2FtbWVuLAoKRXMgd2lyZCBkaWVzZXMgenVyIE11ZW5zdGVyLVBhcnR5IGVpbmUgVGFzc2UgZ2ViZW4uIEtvc3RlbiB3aXJkIGRhcyBnYW56ZSBwcm8KU3R1ZWNrIDExLTEyIEV1cm8gLSB6dSB6YWhsZW4gYXVmIGRlciBQYXJ0eSAobmljaHQgbWl0IHVlYmVyd2Vpc2VuKS4KCk1vdGl2dGVjaG5pc2NoIHdpcmRzIGVpbmUgS2FydGUgdm9tIE1vcmdlbmdyYXVlbiB1bmQgZGF6dSBkZW4gTmFtZW4gZ2ViZW4uIApTb25kZXJ3dWVuc2NoZSB6dW0gVGV4dCBlaW5mYWNoIG1pdCBpbiBldXJlIEJlc3RlbGwtTWFpbCBzY2hyZWliZW4uCgpBbHNvIHdlciBzbyBlaW4gVGVpbCBoYWJlbiBtYWc6IE1haWwgYW4gdGFzc2UsIGRhcyBnYW56ZSBtb2VnbGljaHN0IGJpcyB6dW0KMjQuMy4KClNvIGxvbmcsCiAgICBUYXNzZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHl0YXNzZSAoUm9uZGEsIDIyLiBNYXIgMjAwNCwgMjI6MDc6NTApOgp+IyEgcm49QmFtYmkgcnQ9MTA3OTk4NjE1MCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTA3OTk4NTg5NgpEYSBkb2NoIGV0bGljaGUgZGFzIEJpbGQgYXVmIGRlciBUYXNzZSBuaWNodCBvaG5lIHdlaXRlcmVzIGFuc2NoYXVlbiBrb25udGVuCih0aWYpLCBoYWIgaWNocyBtYWwgc2NobmVsbCBrb252ZXJ0aWVydCBpbiBlaW4ganBnOgoKaHR0cDovL3d3dy52ZXJoZWRkZXJ0LmRlL21nL3Rhc3NlMjAwNC5qcGcgKDczIGtCKQoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5dGFzc2UgKEdsb2luc29uLCAyMi4gTWFyIDIwMDQsIDIyOjQ1OjQ4KToKfiMhIHJuPVJvbmRhIHJ0PTEwNzk5ODk2NzAgcmc9cGFydHkKfiMhIHRpZD0xMDc5OTg1ODk2CkFlbmRlcnVuZyB2b24gbWVociBhbHMgZWluZXIgZGVyIFplaWxlbiBkdWVyZnRlIGphIHNpY2hlcmxpY2ggYXVjaCBpbiBPcmRudW5nCnNlaW4uIERpZSAiRnJhdWVuIiB3ZXJkZW4gd29obCBsaWViZXIgIkthdHplbmZlbGxkaW5nc2RhIiAoekIgRXJpYSwgTWFydGluaSkKZG9ydCBzdGVoZW4gaGFiZW4uCktvZW5udGUgbWFuIHZpZWxsZWljaHQgaWlpaXJnZW5kd28gZGllIFdlYmFkcmVzc2Ugb2RlciBUZWxuZXRhZHJlc3NlCnVudGVyYnJpbmdlbj8gRGFubiBrYW5uIGljaCBkaWUgVGFzc2Ugc3RyYXRlZ2lzY2ggYXVmIGRlciBuYWVjaHN0ZW4KRXJzdHNlbWVzdGVyZWluZnVlaHJ1bmcgdm9yIG1pciBoZXJ0cmFnZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHl0YXNzZSAoTW9vbnNoaW5lLCAyMi4gTWFyIDIwMDQsIDIyOjQ3OjAyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNzk5OTE5NDggcmc9cGFydHkKfiMhIHRpZD0xMDc5OTg1ODk2ClVuZCBfZGFzXyBzb2xsIGRhbm4gV2VyYnVuZyBzZWluLCB3ZW5uIER1IGRpZSB2b3IgRGlyIGhlcnRyYWVnc3Q/IDotKQoKTW9vbnNoaW5lIGR1Y2t0IHNpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eXRhc3NlIChHbG9pbnNvbiwgMjIuIE1hciAyMDA0LCAyMjo0OTozMik6Cn4jISBybj1Nb29uc2hpbmUgcnQ9MTA3OTk5MjAyMiByZz1wYXJ0eQp+IyEgdGlkPTEwNzk5ODU4OTYKS2xhciwgenVyIEVTRSBzZWggaWNoIGltbWVyIGJlc29uZGVycyBndXQgcmFzaWVydCB1bmQganVuZyBhdXMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHl0YXNzZSAoTW9vbnNoaW5lLCAyMi4gTWFyIDIwMDQsIDIyOjQ5OjU1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNzk5OTIxNzIgcmc9cGFydHkKfiMhIHRpZD0xMDc5OTg1ODk2CkJpbiBpY2ggZGVyIGVpbnppZ2UsIGRlciBzaWNoIGRhcyBzY2hsZWNodCB2b3JzdGVsbGVuIGthbm4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXJ0eXRhc3NlIChSb25kYSwgMjIuIE1hciAyMDA0LCAyMjo1MDozMSk6Cn4jISBybj1Nb29uc2hpbmUgcnQ9MTA3OTk5MjE5NSByZz1wYXJ0eQp+IyEgdGlkPTEwNzk5ODU4OTYKTmVlLCBNb29uc2hpbmUsIGRpZSBFcnN0c2VtZXN0ZXIgd3VuZGVybiBzaWNoIG51ciwgd2FydW0gc2ljaCBkZXIgUHJvZiwgZGVyCmRvY2ggY2EgNjAgaXN0LCBub2NoIHNvIGd1dCBnZWhhbHRlbiBoYXQgd2llIEdsb2luc29uLi4uCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHl0YXNzZSAoTW9vbnNoaW5lLCAyMi4gTWFyIDIwMDQsIDIyOjUxOjI4KToKfiMhIHJuPVJvbmRhIHJ0PTEwNzk5OTIyMzEgcmc9cGFydHkKfiMhIHRpZD0xMDc5OTg1ODk2CkRhbm4gc29sbHRlIGVyIHdlbmlnc3RlbnMgZGVuIEJhcnQgZHJhbmxhc3Nlbi4gOy0pCkFiZXIgR2xvaW5zb24sIHdlbmlnc3RlbnMgaGFzdCBEdSB6d2lzY2hlbSBkZW0gJ2d1dCcgdW5kICdyYXNpZXJ0JyBkYXMgS29tbWEKd2VnZ2VsYXNzZW4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHl0YXNzZSAoR2xvaW5zb24sIDIyLiBNYXIgMjAwNCwgMjI6NTI6MDYpOgp+IyEgcm49Um9uZGEgcnQ9MTA3OTk5MjIzMSByZz1wYXJ0eQp+IyEgdGlkPTEwNzk5ODU4OTYKSWNoIGdlYnMgamEgenUsIGljaCBkaWVuZSBpbW1lciBhbHMgYWJzY2hyZWNrZW5kZXMgQmVpc3BpZWwuIERhbWl0IGhhbHRlbiB3aXIKdW5zZXJlIFphaGxlbiBub2NoIHZvciBkZW4gUHJ1ZWZ1bmdlbiBrbGVpbi4gTWFuY2htYWwgemVpZyBpY2ggc29nYXIgQmlsZGVyCnZvbiBhbmRlcmVuIE11ZGRlcm4gYXVmIFBhcnRpZXMsIHdlbm4gZXMgYmVzb25kZXJzIHZpZWxlIEVyc3RzZW1lc3RlciBzaW5kLgpEaWUga29taXNjaGUgSHV0dGFudGUgbG9lc3QgaW1tZXIgT2hubWFjaHRzYW5mYWVsbGUgYXVzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBhcnR5dGFzc2UgKERhcmt3aW5nLCAyMi4gTWFyIDIwMDQsIDIyOjUyOjE2KToKfiMhIHJuPU1vb25zaGluZSBydD0xMDc5OTkyMjg4IHJnPXBhcnR5Cn4jISB0aWQ9MTA3OTk4NTg5NgpUZWxuZXQtQWRyZXNzZSBpc3Qgd29obCBlaGVyIHVuZ3VlbnN0aWcuLi4gYmVpIGRlciBBcmJlaXQgaXN0IGRhcyB2aWVsZWljaHQKZG9jaCBlaW4gd2VuaWcgenUgb2ZmZW5zaWNodGxpY2ggdGVpbHdlaXNlIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBhcnR5dGFzc2UgKEdsb2luc29uLCAyMi4gTWFyIDIwMDQsIDIyOjUyOjQ4KToKfiMhIHJuPURhcmt3aW5nIHJ0PTEwNzk5OTIzMzYgcmc9cGFydHkKfiMhIHRpZD0xMDc5OTg1ODk2CkFjaCwgZGVyIFJlc3QgZGVyIFRhc3NlIGlzdCBqYSBhdWNoIHNvIHVuYXVmZmFlbGxpZywgbmljaHQ/IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5dGFzc2UgKENhdHdlYXpsZSwgMjMuIE1hciAyMDA0LCAxMDo1MDoxNyk6Cn4jISBvbj1CYW1iaSBvdD0xMDc5OTg2MTUwIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPVRhc3NlIHJ0PTEwNzk5ODU4OTYgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwNzk5ODU4OTYKV2VubiBkaWUgWmVpbGUgbnVyIGJlaSBIdW1uaSBkcmF1ZmtvbW10LCB3YXMga29tbXQgZGFubiBiZWkgZGVuIGFuZGVyZW4/CiJSZWhlOiAxIiwgIlp3ZXJnZTogNDcxMSIsICJEdW5rZWxlbGZlbjogenUgdmllbGUiPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eXRhc3NlIChDYXR3ZWF6bGUsIDIzLiBNYXIgMjAwNCwgMTE6MjE6MzcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODAwMzU0MTcgcmc9cGFydHkKfiMhIHRpZD0xMDc5OTg1ODk2CkljaCB3dWVyZGUgcmF0ZW46IFdhaXQmU2VlPwoKWVRDICh3ZWlzcyBlcyBhdWNoIG5pY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQkI/IChHbm9tZSwgMjMuIE1hciAyMDA0LCAyMzo0MjozMyk6CmRhIHdpciBpbiBlaW5lciB0dXJuaGFsbGUgdWViZXJuYWNodGVuIHVuZCBjYXR0eSBtaXIgenVnZXNpY2hlcnQgaGF0LApkYXNzIGVzIGRvcnQgbmF0dWVybGljaCBhdWNoIGJhc2tldGJhbGxrb2VyYmUgZ2lidCwgd2lsbCBpY2ggaGllcm1pdAptYWwgZnJhZ2VuLCBvYiBqZW1hbmQgbHVzdCBoYXQsIGFtIFNhLiBtaXR0YWcgZGVzIHBhcnR5d29jaGVuZW5kZXMKZWluZSBzY2hvZW5lIHJ1bmRlIEJCICgybjIgb2RlciAzbjMsIHZvbiBtaXIgYXVzIGF1Y2ggMW4xKSB6dSBzcGllbGVuLgoKaWNoIGZyYWcgbnVyIGRlc2hhbGIsIHdlaWwgaWNoIHVuZ2VybmUgbWVpbmUgYmIta2xhbW90dGVuIGluY2wuIGJhbGwKdW1zb25zdCBtaXRuZWhtZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJCPyAoQ2F0d2VhemxlLCAyNC4gTWFyIDIwMDQsIDA5OjM4OjE1KToKfiMhIHJuPUdub21lIHJ0PTEwODAwODE3NTMgcmc9cGFydHkKfiMhIHRpZD0xMDgwMDgxNzUzCl9LbGVpbmVfIFdhcm51bmcgYW0gUmFuZGUsIHdlbm4gd2lyIGdhbnogdmllbCBQZWNoIGhhYmVuLCBpc3QgU2Ftc3RhZyBtaXR0YWcKbm9jaCBWZXJhbnN0YWx0dW5nIGluIFRlaWxlbiBkZXIgSGFsbGUsIGRhIHdlaXNzIGljaCBuaWNodCBvYiB3aXIgZGllIGdhbnplCkhhbGxlIGJlbnV0emVuIGtvZW5uZW4gb2RlciBvYiBkYXMgR3JvIGRlciBMZXV0ZSBMdXN0IGhhdCBkaWUgU2NobGFmc2FjaGVuCndlZ3p1cmFldW1lbiB1bSBkaWUgS29lcmJlIGZyZWl6dW1hY2hlbiA6LSkKCkRldGFpbHMgZGF6dSBnaWJ0cyBhYmVyIGluIEt1ZXJ6ZSB2b24gQXJlZWxhbmlyLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHktTG90dGVyaWUgKENhdHdlYXpsZSwgMjcuIE1hciAyMDA0LCAyMToxMzo1OSk6Cn4jISBvbj1NaXJpbCBvdD0xMDgwNDE4MzM4IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUNhdHdlYXpsZSBydD0xMDgwNDE4MTI4IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMDgwNDE4MTI4CktsaW5ndCBqYSB2ZXJsb2NrZW5kIDspLiBGcmFnIG1pY2ggYmxvc3MsIHdpZSBpaHIgZGllIFByZWlzZSBmaW5hbnppZXJ0LgpPZGVyIGdpYnRzIGVkbGUgU3BlbmRlcj8KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5LUxvdHRlcmllIChDYXR3ZWF6bGUsIDI3LiBNYXIgMjAwNCwgMjE6MTQ6MDMpOgp+IyEgb249SG9ibyBvdD0xMDgwNDE4NDEzIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPU1pcmlsIHJ0PTEwODA0MTgzMzggcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwODA0MTgxMjgKSWNoIHd1ZXJkZSBqYSBhdWNoIG5vY2ggbmVuIHByZWlzIHNwZW5kZW4uIEhhYiBkYSBuZXVsaWNoIGJlaSBkZXIKV2VpaG5hY2h0c2ZlaWVyIGVpbmUgb3JpZ2luYWxlIEhlaW50amUtU2luZ2xlIGJla29tbWVuLi4uLgoKICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHktTG90dGVyaWUgKE1vbnRhbnVzLCAzMC4gTWFyIDIwMDQsIDA5OjU1OjIwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDgwNDE4NDQzIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MDQxODEyOApJY2ggZ2xhdWJlLCBpY2ggaGFiZSBlaW5lIGVpbmZhY2ggdWRuIHRyYXVyaWdlIFdhaHJoZWl0OgplcyBnaWJ0IGVpbmZhY2ggbnVyIG5vY2ggNjIgTXVkZGVyLiBEZXIgUmVzdCBzaW5kIFp3ZWl0aWVzLCBEcml0dGllcywKVmllcnRpZXMsIFNpZWJlbnVuZHNpZWJ6aWd0aWVzIHVuZCBhbmRlcmVyZSBnZXNwYWx0ZW5lIEV4aXN0ZW56ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eS1Mb3R0ZXJpZSAoQ2F0d2VhemxlLCAzMC4gTWFyIDIwMDQsIDEwOjAzOjAyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwODA2MzMzMjAgcmc9cGFydHkKfiMhIHRpZD0xMDgwNDE4MTI4CkljaCBrYW5uIGRpY2ggYmVydWhpZ2VuLCBlcyBzaW5kIGV0d2EgNzAuIEVzIGdpYnQgbm9jaCBlaW4gcGFhcgpvZmZsaW5lLUFubWVsZGVyIHVuZCBBYnNhZ2VyIDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5LUxvdHRlcmllIChNb250YW51cywgMzAuIE1hciAyMDA0LCAxMDowMzoyMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MDYzMzc4MiByZz1wYXJ0eQp+IyEgdGlkPTEwODA0MTgxMjgKRHUgbWVpbnN0LCBlcyBnaWJ0IGRvY2ggbm9jaCBlaW5lbiBKb2Y/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eS1Mb3R0ZXJpZSAoQ2F0d2VhemxlLCAzMC4gTWFyIDIwMDQsIDEwOjA0OjM0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwODA2MzM4MDAgcmc9cGFydHkKfiMhIHRpZD0xMDgwNDE4MTI4ClR1dCBtaXIgbGVpZCwgYmVpIHJlbGlnaW9lc2VuIEZyYWdlbiBtdXNzdCBkdSBkaWNoIGFuIGRlbiBHb3R0IGRlaW5lcwpWZXJ0cmF1ZW5zIHdlbmRlbiA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXJ0eS1Mb3R0ZXJpZSAoTW9udGFudXMsIDMwLiBNYXIgMjAwNCwgMTA6MDQ6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODA2MzM4NzQgcmc9cGFydHkKfiMhIHRpZD0xMDgwNDE4MTI4CkRlciBpc3QgamEgbWFsIHdpZWRlciBuaWNodCBkYS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHktTG90dGVyaWUgKE11YWRpYiwgMzAuIE1hciAyMDA0LCAxMDoxNDo0OSk6Cn4jISBybj1Nb250YW51cyBydD0xMDgwNjMzMzIwIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MDQxODEyOApuYWphIHdpZXZpZWxlIHBhcnRpZXMgd2lyZCBlcyBkaWVzZXMgamFociBnZWJlbj8KMz8KCmljaCBmaW5kcyB0b2xsIGhhYiBhYmVyIHZlcnN0YWVuZG5pcyBkYWZ1ZXIgZGFzcyBuaWNodCBqZWRlciBiZWkgamVkZXIgcGFydHkKYXVmdGF1Y2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eS1Mb3R0ZXJpZSAoTW9udGFudXMsIDMwLiBNYXIgMjAwNCwgMTA6MTY6MDYpOgp+IyEgcm49TXVhZGliIHJ0PTEwODA2MzQ0ODkgcmc9cGFydHkKfiMhIHRpZD0xMDgwNDE4MTI4CkFiZXIgZXMgZ2lidCBudXIgZWluZW4gQ2F0d2VhemxlIHVuZCBudXIgZWluZSBNdWVuc3RlcnBhcnR5LiBEZW0gaXN0IGRvY2gKRm9sZ2UgenUgdHJhZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHktTG90dGVyaWUgKEtleSwgMzAuIE1hciAyMDA0LCAxMDo0NzoyOCk6Cn4jISBybj1Nb250YW51cyBydD0xMDgwNjM0NTY2IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MDQxODEyOApTdGltbXQgLi4uIHNlbGJzdCBpY2ggd2FyIG51ciB3ZWdlbiBDYXR0eSBhbSB1ZWJlcmxlZ2VuIHZvcmJlaXp1c2NoYXVlbiAuLi4gOikKKm1pdCBDYXR3ZWF6bGUtZm9yLVNoZXJpZmYtRmFlaG5jaGVuIHdlZGVsKiAKCkFiZXIgd2lyZCB3b2hsIG5peCA6KAoKQ3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5LUxvdHRlcmllIChOaXp6bCwgMzAuIE1hciAyMDA0LCAxNzo0NzoxMSk6Cn4jISBybj1Nb250YW51cyBydD0xMDgwNjMzMzIwIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MDQxODEyOAplcyBzb2xsIGF1Y2ggbGV1dGUgZ2ViZW4sIGRpZSBlaW5mYWNoIGtlaW4gYm9jayBhdWYgbmUgbXVkLW9mZmxpbmUtcGFydHkKaGFiZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5LUxvdHRlcmllIChLZXksIDMwLiBNYXIgMjAwNCwgMTc6NDk6MzcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA4MDYzMzMyMCByZz1wYXJ0eQp+IyEgdGlkPTEwODA0MTgxMjgKQW5nc3QgZ2VzZWhlbiB6dSB3ZXJkZW4/IDopCgpPYiBBc21vZGlzIGtvbW10PyA9OykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvbGxzcGVycnVuZyBhdWYgZGVyIEExIChiZWkgT3NuYSkgKFZhbmlvbiwgIDIuIEFwciAyMDA0LCAwNzowMToxNyk6CmljaCBoYWIgZ3JhZCBpbSBSYWRpbyBnZWhvZXJ0LCBkYXNzIGlyZ2VuZCBlaW4gU2Nod2FjaGtvcGYgZ2VzdGVybiBpbgpPc25hYnJ1ZWNrIDIwIFRvbm5lbiBLdW5zdGhhcnogYXVmIGRpZSBBMSBnZWtpcHB0IGhhdC4gRXJnZWJuaXMgaXN0LCBkYXNzIGRpZQpGZXVlcndlaHIsIHNvYmFsZCBkYXMgWmV1ZyBoYWxid2VncyBhdXNnZXRyb2NrbmV0IGlzdCwgdW5kIG5pY2h0IG1laHIKaXJnZW5kd2VsY2hlIEdlcmFldGUgdmVya2xlYnQsIHNhbXQgQmVsYWcgdm9uIGRlciBBdXRvYmFobiBnZWtyYXR6dCB3ZXJkZW4KbXVzcy4gCgoKRGllIEExIHdpcmQgYWxzbyB6dW1pbmRlc3QgaGV1dGUgYmlzIGNhLiAxODowMCBmdWVyIGRpZSBOb3JkbGVyIEdydW5kIGZ1ZXIKdmllbCBGcmV1ZGUgc2Vpbi4gRGF6dSBrb21tdCwgZGFzcyBkaWVzZSBXb2NoZSBlaW5pZ2UgTGV1dGUgc2Nob24gbWl0IGRlbQpPc3RlcmJsYXVtYWNoZW4gYmVnaW5uZW4gdW5kIGlocmUgS2xlaW53YWdlbiBhbnMgRW5kZSBkZXMgZWggc2Nob24KYmVmdWVyY2h0ZXRlbiBsYW5nZW4gU3RhdXMgc3RlbGxlbi4KCkJlYWNodGV0IGRhcyBiZWkgZXVyZXIgRmFocnRwbGFudW5nLiBOZWhtdCBEZWNrZW4gdW5kIGhlaXNzZW4gVGVlIG1pdCA6KQoKViosIHdpcmQgZXJzdCBnZyA2IGxvc2ZhaHJlbi4gKFdpZSBsYW5nZSBzZWlkIGlociBpbiBkZXIgS25laXBlPyBPZGVyIHNvbGwgaWNoCmdsZWljaCB6dXIgVHVybmhhbGxlPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb2xsc3BlcnJ1bmcgYXVmIGRlciBBMSAoYmVpIE9zbmEpIChWYW5pb24sICAyLiBBcHIgMjAwNCwgMDc6MDQ6NDUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwODA4ODIwNzcgcmc9cGFydHkKfiMhIHRpZD0xMDgwODgyMDc3CkRpZSB6dWdlaG9lcmlnZSBWZXJrZWhyc21lbGR1bmc6Cmh0dHA6Ly93d3cudmVya2VocnNpbmZvLmRlL21tZWxkdW5nLnBocDM/Ymw9MjU4CgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb2xsc3BlcnJ1bmcgYXVmIGRlciBBMSAoYmVpIE9zbmEpIChBa2FzaGEsICAyLiBBcHIgMjAwNCwgMTY6Mjc6NDcpOgp+IyEgcm49VmFuaW9uIHJ0PTEwODA4ODIyODUgcmc9cGFydHkKfiMhIHRpZD0xMDgwODgyMDc3Ckh1aHUsCgpsYXV0IE1lbGR1bmdlbiBpbSBMb2thbHJhZGlvIGhpZXIgKE11ZW5zdGVyIHVuZCBPc25hYnJ1ZWNrKSBibGVpYnQgZGllIEExCnp3aXNjaGVuIEJyYW1zY2hlIHVuZCBMZW5nZXJpY2ggKEFiZmFocnRlbiA2OCAtIDczKSBpbiBSaWNodHVuZyBTdWVkZW4gYmlzCndlbmlnc3RlbnMgTWl0dGVybmFjaHQgZ2VzcGVycnQsIGRhIGRpZSBFbnRmZXJudW5nIGRlcyBLdW5zdGhhcnplcyBuaWNodCBzbwp2b3JhbmtvbW10LCB3aWUgbWFuIHNpY2ggZGFzIHZvcmdlc3RlbGx0IGhhdC4KRXMgd2lyZCBlbXBmb2hsZW4sIGF1ZiBkaWUgQTMwIGF1c3p1d2VpY2hlbiwgYW5zb25zdGVuIGdpYnRzIGF1Y2ggTGFuZHN0cmFzc2VuCjspLiBTdWVkbGljaCB2b24gTGVuZ2VyaWNoIGlzdCBkaWUgQTEgamVkb2NoIHdpZWRlciBiZWZhaHJiYXIgKGRhIHNpbmQgd2lyCmdyYWQgbGFuZ2dlZmFocmVuIDspLgoKTWZHIEFrYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVm9sbHNwZXJydW5nIGF1ZiBkZXIgQTEgKGJlaSBPc25hKSAoRWxiZXJldCwgIDIuIEFwciAyMDA0LCAxNjoyODozMSk6Cn4jISBybj1Ba2FzaGEgcnQ9MTA4MDkxNjA2NyByZz1wYXJ0eQp+IyEgdGlkPTEwODA4ODIwNzcKd2FlaHJlbmQgZGVyIGZhaHJ0IG11ZGRlbj8gOykKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvbGxzcGVycnVuZyBhdWYgZGVyIEExIChiZWkgT3NuYSkgKEFrYXNoYSwgIDIuIEFwciAyMDA0LCAxNjoyOTozNyk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwODA5MTYxMTEgcmc9cGFydHkKfiMhIHRpZD0xMDgwODgyMDc3Ck5vcGUsIHdpciBzaW5kIGdlZ2VuIDE2IFVociBpbiBNdWVuc3RlciBiZWkgbWVpbmVuIEVsdGVybiBhbmdla29tbWVuIDspCgpBa2FzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVyc3RlciBQYXJ0eWJlcmljaHQhIChNb250YW51cywgIDQuIEFwciAyMDA0LCAxMTo0ODo0OCk6ClRqYSwgaWNoIGhhYiBpaG4gaW4gbWVnYXNjaG1hcnJuIGdlcG9zdGV0LCBDYXR0eSB6dSBFaHJlbi4gV2FyIG5hZW1sY2loIG5lCnRvbGxlIFBhcnR5Lgo6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIGFuIGRpZSBPcmdpJ3MuIChWYW5pb24sICA0LiBBcHIgMjAwNCwgMTk6MTM6NDUpOgpWaWVsIGhhYnQgaWhyIHNjaG9uIGF1ZiBkZXIgUGFydHkgZ2Vob2VydCwgYWJlciBsYXNzdCBlcyB1bnMgbm9jaG1hbCBzbyB0dW4sCndpZSBlcyBmdWVyIGVpbiBNZWRpdW0gd2llIGRhcyBNRyBhbmdlbWVzc2VuIGlzdDogU2NocmlmdGxpY2guIDopCgpEYW5rZSBmdWVyIGV1cmUgWmVpdCwgZXVyZSBHZWR1bGQsIGV1cmUgUGxhbnVuZywgZGFzIEVudHNvcmdlbiBkZXMgZXJzdGVuCkNoaWxpcywgZGllIE11c2lrLCBkZW4gU3Bhc3MsIGRpZSBUb21ib2xhLCBkaWUgUkwtUXVlc3QsIGRhZnVlciBkYXNzIEh1bW5pCm5pY2ggc2VociBsYXV0IGdlc2NobmFyY2h0IGhhdCwgZGFzIFdldHRlciwgZGllIEZsaWNrIEZsYWNrcy4gSWNoIGhhYiBzaWNoZXIKZWluaWdlcyB2ZXJnZXNzZW4uIAoKS2xhciwgZGFzcyBkYXMgV29jaGVuZW5kZSBlaW4gc28gbmV0dGVzIHdhciwgZGFyYW4gd2FyZW4gc2ljaGVyIGFsbGUKUGFydHktQmV0ZWlsaWd0ZW4gc2NodWxkLiBBYmVyIGViZW4gYmVzb25kZXJzIGRpZWplbmlnZW4sIGRpZSBzaWNoIG1pdCBkZXIKT3JnYW5pc2F0aW9uIHJ1bWdlcGxhZ3QgaGFiZW4uCgpWKiwgaGF0dGUgdmllbCBTcGFzcyA6KQpQUzogSmEsIGljaCB3ZWlzcyBDYXR0eS4gRGFzIHdhciBnYW56IHNpY2hlciBkaWUgQUxMRVJMRVRaVEUgUGFydHksIGRpZQogICAgRHUgb3JnYW5pc2llcnQgaGFzdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtlIGFuIGRpZSBPcmdpJ3MuIChNdXBmZWwsICA0LiBBcHIgMjAwNCwgMTk6Mzc6MDgpOgp+IyEgcm49VmFuaW9uIHJ0PTEwODEwOTg4MjUgcmc9cGFydHkKfiMhIHRpZD0xMDgxMDk4ODI1CkRpZSAibGV0enRlbiBQYXJ0aWVzIiB2b24gQ2F0dHkgc2luZCBoYWx0IGRvY2ggZGllIGJlc3RlbiA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsbGVzIHdpZWRlciBkYT8gKENhdHdlYXpsZSwgIDQuIEFwciAyMDA0LCAyMjoxNToyOCk6CgpPbGEhCgpTbywgaWNoIGhvZmZlIGlociBzZWlkIGFsbGUgd2llZGVyIGd1dCBoZWltZ2Vrb21tZW4uCgpJY2ggZGVua2UgYXVjaCBpbSBOYW1lbiBkZXIgYW5kZXJlbiBPcmdhbGV1dGVuIChBcmVlbGFuaXIsIERhcmt3aW5nLCBGb29iYXIsCkdvcm9nIHVuZCBLYWRpcykgZXJzdG1hbCBkYW5rZSBkYXMgaWhyIGRhIGdld2VzZW4gc2VpbiB1bmQgYWxsZSBTcGFzcyBnZWhhYnQKaGFidC4gRWluZSBQYXJ0eSB3aXJkIG5hZW1saWNoIG5pY2h0IGd1dCB3ZWdlbiBkZXIgVW1zdGFlbmRlIG9kZXIgZGVyIFBsYW51bmcsCnNvbmRlcm4gZWluemlnIGR1cmNoIGRpZSBHYWVzdGUuIEVyZ28sIGdlaHQgbWVpbiBEYW5rIHByaW1hZXIgYW4gZXVjaCA6KQoKVW5kIGljaCBoYWIgc29nYXIgbmUgTWVuZ2UgdG9sbGVyIFNhY2hlbiBnZWxlcm50IDopCgotIEVpbiAzMCBMaXRlciBDaGlsaSBjb24gQ2FybmUga2FubiBpbm5lcmhhbGIgdm9uIDEyIFN0dW5kZW4gbmFjaCBIZXJzdGVsbHVuZwogIHVta2lwcGVuLgotIERlciBIb2VsbGVuc2NobHVuZCBleGlzdGllcnQuIE5pY2h0IGV0d2EgLSB3aWUgdW5zIG1hbmNoZSBTZXJpZSAKICB3ZWlzbWFjaGVuIHdpbGwgLSBpbiBTdW5ueWRhbGUvQ2FsaWZvcm5pZW4sIHNvZGVybiBpbiBNdWVuc3Rlci9EZXV0c2NobGFuZC4KICBFciBoYXQgc2ljaCBtYW5pZmVzdGllcnQgaW4gRm9ybSBlaW5lciBCaW8tVmVyd2VydHVuZ3MtQW5sYWdlIHVuZCBpY2gKICBoYWJlIGRpcmVrdCBpbiBkZW4gQWJncnVuZCBnZXNlaGVuLiBNYWNodCBldWNoIGFiZXIga2VpbmUgU29yZ2VuLCBpY2gKICBoYWJlIGVpbmUgc2VociBlZmZla3RpdmUgQmlvYm9tYmUgaGluZWluZ2V3b3JmZW4sIGRhIGlzdCBlcnN0IG1hbCAKICBSdWhlLgotIE1hcnRpbmkgaXN0IGRpZWplbmlnZSwgZGllIHNpY2ggYW0gbWVpc3RlbiB1ZWJlciBlaW5lbiBHZXdpbm4gZnJldWVuIGthbm4uCi0gQW5hdG9sIGlzdCBkZXJqZW5pZ2UsIGRlciBzaWNoIGFtIG1laXN0ZW4gX25pY2h0XyB1ZWJlciBlaW5lbiBHZXdpbm4KICBmcmV1ZW4ga2Fubi4KCkljaCBoYWJlIGRlc3dlaXRlcmVuIGRpZSBlcmZyZXVsaWNoIE5hY2hyaWNodCwgZGFzIG5pY2h0IGdlbnVnIGdldHJ1bmtlbgp3dXJkZSwgdW0gbWljaCBmaW5hbnppZWxsIGlucyBTY2h3aXR6ZW4genUgYnJpbmdlbi4gR2FueiBpbSBHZWdlbnRlaWwsIGhpbnp1CmtvbW10LCBkYXMgaWNoIG1pY2ggYmVpIGRlciBGdXR0ZXJ2ZXJzb3JndW5nIHJpY2h0aWcgenUgaG9jaCB2ZXJzY2hhZXR6dCBoYWJlLApkaWVzZXIgUG9zdGVuIHdhciBkb2NoIGRldXRsaWNoIGJpbGxpZ2VyLCBhbHNvIGljaCB6dW5hZWNoc3QgYW5uYWhtLiAKaWNoIGhhYnMgbnUgZHVyY2hnZXJlY2huZXQgdW5kIG51ciBub2NoIHp3ZWkgb2ZmZW5lIFBvc3RlbiBkaWUgbm9jaCBuaWNodCBnYW56CnNpY2hlciBzaW5kLCBhYmVyIGVzIHNpZWh0IHNvIGF1cywgYWxzIG9iIGRpZSBQYXJ0eWZpbmFuemllcnVuZyBwdW5rdGdlbmF1Cndhci4gSWNoIGJpbiBlaW5pZ2Ugd2VuaWdlIEV1cm8gaW0gUGx1cywgdW5kIHp3YXIgLSBqZXR6dCBBY2h0dW5nIC0ga29tcGxldHQKb2huZSBMb3NwcmVpc2UuIApEYXMgc2luZCBlcmdvIGtuYXBwIDE2MCBFdXJvLCBkaWUgd2lyIGFuIExvc2Vpbm5haG1lbiBoYWJlbiB1bmQgc29taXQgZGVtClZlcmVpbiBzcGVuZGVuIGtvZW5uZW4gKG9kZXIgYWxzIFN0YXJ0IGZ1ZXIgZWluZSBuZXVlIFBhcnR5a2Fzc2UgYmVudXR6ZW4Ka29lbm5lbj8pLgoKVW5kIGpldHp0IHdlcmRlIGljaCBpbiBLdWVyemUgZXJzdCBtYWwgZWluIHBhYXIgU3R1ZW5kY2hlbiBTY2hsYWYgbmFjaGhvbGVuIDopCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbGxlcyB3aWVkZXIgZGE/IChNYWhhcmV0LCAgNC4gQXByIDIwMDQsIDIyOjE4OjA5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDgxMTA5NzI4IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTEwOTcyOApNYW4gZ3V0LCBkYXNzIGR1IG5pY2h0IG1laHIgS2Fzc2Vud2FydCBiaXN0IC4uLgoKTWFoYXJldCwgSHVldGVyaW4gZGVzIFNjaGF0emVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFsbGVzIHdpZWRlciBkYT8gKEdsb2luc29uLCAgNC4gQXByIDIwMDQsIDIyOjE5OjI5KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA4MTEwOTg4OSByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKTWFuIGthbm4gZGFzIEthdHp3aWVzZWwgbnVyIGRhZnVlciBiZWxvYmlnZW4sIGVpbmVuIG5ldWVuIEdydW5kc3RlaW4gZnVlciBlaW5lClBhcnR5a2Fzc2UgZ2VsZWd0IHp1IGhhYmVuLiBEYW5uIGtvZW5uZW4genVrdWVuZnRpZ2UgUGFydHltZWlzdGVyIGV0d2FzCnJ1aGlnZXIgcGxhbmVuIC4uLiBiaXMgZGVyIExvc2dld2lubiBhdWZnZWZyZXNzZW4gd3VyZGUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWxsZXMgd2llZGVyIGRhPyAoTWlyaWwsICA0LiBBcHIgMjAwNCwgMjI6NDY6MDYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA4MTEwOTk2OSByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKSGkgaWhyIQpBdWNoIHZvbiBtaXIgbm9jaCBtYWwgdmllbGVuIERhbmtlIGFuIGRpZSBPcmdhbmlzYXRvcmVuLiBXYXIgZWluZSByaWNodGlnCnRvbGxlIFBhcnR5IGJlaSBldWNoIGluIE11ZW5zdGVyLiBEaWUgUkwgUXVlc3Qgd2FyIG5ldHQsIGxpZXNzIHNpZSBzaWNoCmRvY2ggdGVpbHdlaXNlIHNlaHIgYmVxdWVtIHZpYSBJbnRlcm5ldCB2b20gRmlyZW56ZSBhdXMgbG9lc2VuLCB3YWVocmVuZApkaWUgQWJlbnRldXJlcmdydXBwZSBtaXQgRWlzYmVjaGVybiB1bmQgQ2FwcHVjY2lub3Mga2FlbXBmdGUgKE5hamEsIGVpbgpiaXNzY2hlbiBMYXVmZXJlaSwgTWF0aGVtYXRpaywgQXV0b3JlbnRhZXRpZ2tlaXRlbiB1bmQgYWVobmxpY2hlcyB3YXJlbgphdWNoIHZvbiBOb2V0ZW4pLgpBbnNvbnN0ZW4gaGFiIGljaCBzY2htZXJ6bGljaCBlcmZhaHJlbiBtdWVzc2VuLCBkYXNzIG1hbiBhbHMgZWluZ2Vyb3N0ZXRlClVyb21hIGRvY2ggbGllYmVyIGRpZSBGaW5nZXIgdm9tIFNwb3J0IGxhc3NlbiBzb2xsdGUsIGRlbm4gZGVyIHJlc3VsdGllcmVuZGUKTXVza2Vsa2F0ZXIgc2NobHVnIGhldXRlIG1vcmdlbiBtaW5kZXN0ZW5zIG1pdCBuZW0gS3JhY2hlbiB6dS4KCk1pcmlsLCBzaWNoIGJlcmVpdHMgYXVmIGRpZSBmb3IoaT0wO2k+PTA7aSsrKSB3cml0ZSgiQUxMRVIiKTt3cml0ZSgiTEVUWlRFIik7ClBhcnR5IGZyZXVlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkYW5rZSBmdWVyIGRpZSBLbGFzc2UgUGFydHkgKENhc3NhbmRyYSwgIDUuIEFwciAyMDA0LCAxMDozODo1NCk6CkF1Y2ggdm9uIG1pciBub2NoIGVpbm1hbCBlaW5lbiBncm9zc2VuIGRhbmsgYW4gZGllIFBhcnR5b3JnYW5pc2F0b3JlbiBmdWVyIGRpZQprbGFzc2UgUGFydHkuIAoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbGxlcyB3aWVkZXIgZGE/IChDYXR3ZWF6bGUsICA1LiBBcHIgMjAwNCwgMTM6MzE6MDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODExMDk3Mjggcmc9cGFydHkKfiMhIHRpZD0xMDgxMTA5NzI4ClNvLCBpY2ggaGFiZSBtaWNoIHdlaXRlcmdlYmlsZGV0LiAKCkVpbiBleHplbGxlbnRlciBUaXBwLCBkZW4gaWhyIGJlc3RpbW10IGF1Y2ggbWFsIGd1dCBnZWJyYXVjaGVuIGtvZW5udDoKCldlbm4gaWhyIGVpbmUgZ3JvZXNzZXJlIFBvcnRpb24gQ2hpbGksIEd1bGFzY2ggb2RlciBzb25zdGlnZXMgZmxlaXNjaGhhbHRpZ2VzCkJyYXVuZXMga29lY2hlbHQsIGRhbm4gbWFjaHQgX25pZW1hbHNfIGJlaW0gQWJrdWVobGVuIGxhc3NlbiBkZW4gRGVja2VsIGRyYXVmLgpCZWkgTWlzc2FjaHR1bmcgZGllc2VyIFJlZ2VsIGlzdCBkaWUgdm9yemVpdGlnZSBWZXJuaWNodHVuZyBkZXIgS29lc3RsaWNoa2VpdApkdXJjaCBLbGVpbnN0bGViZXdlc2VuIGZhc3QgaW1tZXIgMTAwcHJvemVudGlnIGdhcmFudGllcnQuIApCaXR0ZSBmcmFndCBtaWNoIG5pY2h0IHdhcnVtIGRhcyBzbyBpc3QsIGFiZXIgaXN0IGlzdCBzbyA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbGxlcyB3aWVkZXIgZGE/IChHbG9pbnNvbiwgIDUuIEFwciAyMDA0LCAxMzozMjozNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MTE2NDY2MiByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKSGFzdCBkdSBqZXR6dCBub2NoIGVpbiBwYWFyIFRlc3RyZWloZW4gZ2VtYWNodD8gOik9CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWxsZXMgd2llZGVyIGRhPyAoQ2F0d2VhemxlLCAgNS4gQXByIDIwMDQsIDEzOjM0OjE2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwODExNjQ3NTUgcmc9cGFydHkKfiMhIHRpZD0xMDgxMTA5NzI4Ck5laW4sIGljaCBoYWJlIG1pY2ggbWl0IGVpbmVtIFBhcnR5c2VydmljZS1UZWNobmlrZXIgdW50ZXJoYWx0ZW4gOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQWxsZXMgd2llZGVyIGRhPyAoTW9udGFudXMsICA1LiBBcHIgMjAwNCwgMTM6Mzc6MTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODExNjQ4NTYgcmc9cGFydHkKfiMhIHRpZD0xMDgxMTA5NzI4CkhhZXR0ZXN0IGR1IFd1cnplbHMgUmF0c2NobGFlZ2UgYmVmb2xndCwgaGFldHRlc3QgZHUgZGFzIENoaWxpICpuaWVtYWxzKgp1ZWJlcmhhdXB0IGFia3VlaGxlbiBsYXNzZW4uICJFaW4gZ3V0ZXMgQ2hpbGkga29lY2hlbHQgMjQgU1R1bmRlbiIsIFppdGF0CkVuZGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbGxlcyB3aWVkZXIgZGE/IChDcm9mdCwgIDUuIEFwciAyMDA0LCAxMzozODoyMSk6Cn4jISBybj1Nb250YW51cyBydD0xMDgxMTY1MDM5IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTEwOTcyOApBaCwgZGEgbWVsZGV0IHNpY2ggamVtYW5kIGZyZWl3aWxsaWcgenVtIFJ1ZWhyZW4uICBQcmltYS4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbGxlcyB3aWVkZXIgZGE/IChHcmltbWJvcm4sICA1LiBBcHIgMjAwNCwgMTM6Mzk6MDgpOgp+IyEgcm49Q3JvZnQgcnQ9MTA4MTE2NTEwMSByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKRWluIGd1dGVzIENoaWxpIHdpcmQgbmljaHQgZ2VydWVocnQsIHNvbmRlcm4ga29lY2hlbHQgbGVpY2h0IGJlaSBnZXNjaGxvc3NlbmVtCkRlY2tlbC4gVW5kIGVudGhhZWx0IGdlbnVnIENhcHNhaWNpbiwgdW0gYXVjaCBub2NoIGRpZSBsZXR6dGUgQmFrdGVyaWUgaW4gZGllCkZsdWNodCB6dSBzY2hsYWdlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQWxsZXMgd2llZGVyIGRhPyAoTWFyY3VzLCAgNS4gQXByIDIwMDQsIDEzOjQwOjE4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDgxMTY1MTQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTEwOTcyOApEYXMgZXJpbm5lcnQgbWljaCBhbiBtZWluZW4gbGV0enRlbiBCZXN1Y2ggYmVpIEFudGhlYS4KCjIgVHJvcGZlbiBDaGlsaXNvc3NlIGF1ZiBlaW5lbSBCcm9ldGNoZW4gd2FyZW4genV2aWVsLgoKMzUuMDAwIFNjb3ZpbGxlIG9kZXIgc28uCgpDaWFvLCBNCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBbGxlcyB3aWVkZXIgZGE/IChNb250YW51cywgIDUuIEFwciAyMDA0LCAxMzo0MDoyMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4MTE2NTE0OCByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKRGFzICJDaGlsaSIgdm9tIFBhcnR5YWJlbmQgbGllZiBhdWNoIGVoZXIgdW50ZXIgQm9obmVuc3VwcGUgbWl0IEhhY2tmbGVpc2NoLgpJY2ggaGFiIG5pZW1hbmRlbiBnZXNlaGVuLCBkZXIgd2lya2xpY2ggbG9lc2NoZW4gbXVzc3RlLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFsbGVzIHdpZWRlciBkYT8gKENyb2Z0LCAgNS4gQXByIDIwMDQsIDEzOjQwOjMyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDgxMTY1MTQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTEwOTcyOApIbS4gIFdhZXIgbWlyIG5ldSBkYXMgZGFzIGRlc2luZml6aWVyZW5kIHdpcmt0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFsbGVzIHdpZWRlciBkYT8gKE1vbnRhbnVzLCAgNS4gQXByIDIwMDQsIDEzOjQxOjAzKToKfiMhIHJuPUNyb2Z0IHJ0PTEwODExNjUyMzIgcmc9cGFydHkKfiMhIHRpZD0xMDgxMTA5NzI4ClByb2JpZXJzIGF1czogc2Nobml0eiBkaXIgaW4gZGVuIEZpbmdlciB1bmQgdHJvZXBmZWwgQW50aGVhcyBDaGlsaXNhdWNlIGRyYXVmLgo6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBBbGxlcyB3aWVkZXIgZGE/IChDcm9mdCwgIDUuIEFwciAyMDA0LCAxMzo0NDoxNyk6Cn4jISBybj1Nb250YW51cyBydD0xMDgxMTY1NDI3IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTEwOTcyOApMaWVzIGRpciBkYXMgbWl0IGRlbiBTZWxic3RyZXBsaWVzIG5vY2htYWwgZHVyY2guCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEFsbGVzIHdpZWRlciBkYT8gKE1vbnRhbnVzLCAgNS4gQXByIDIwMDQsIDEzOjQ0OjQ1KToKfiMhIHJuPUNyb2Z0IHJ0PTEwODExNjU0NTcgcmc9cGFydHkKfiMhIHRpZD0xMDgxMTA5NzI4CkluIFBhcnR5IGRhcmYgbWFuIGVpZ2VuZSBBcnRpa2VsIGxvZXNjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEFsbGVzIHdpZWRlciBkYT8gKEdyaW1tYm9ybiwgIDUuIEFwciAyMDA0LCAxNDowNjo0Nik6Cn4jISBybj1Nb250YW51cyBydD0xMDgxMTY1NDg1IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTEwOTcyOApDYXBhc2ljaW4gZGVzaW5maXppZXJ0LCBqYS4gRGFzIGlzdCBlaW5lIGRlciBFcmtsYWVydW5nZW4gZGFmdWVyLCBkYXNzCnNjaGFyZmVzIEVzc2VuIGJlc29uZGVycyBpbiBMYW5kc3RyaWNoZW4gdWVibGljaCBpc3QsIHdvIHNpY2ggZGFzIEtsaW1hIG5pY2h0CmdlcmFkZSBkdXJjaCBMZWJlbnNtaXR0ZWxhdWZiZXdhaHJ1bmdzZnJldW5kbGljaGtlaXQgYXVzemVpY2huZXQuIFNjaGFyZiBlc3Nlbgo9IHdlbmlnZXIgdmVyZG9yYmVuZSBMZWJlbnNtaXR0ZWwgZXNzZW4gPSBiZXNzZXJlIFVlYmVybGViZW5zY2hhbmNlLiBBbGxlcwpEYXJ3aW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBBbGxlcyB3aWVkZXIgZGE/IChNYXRpcywgIDUuIEFwciAyMDA0LCAxNDoxNDo1OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4MTE2NjgwNiByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKR2V3YWd0ZSBUaGVzZS4gRGFzIGlzdCBlaW5lIF9tb2VnbGljaGVfIEVya2xhZXJ1bmcgLi4uCgpNYXRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEFsbGVzIHdpZWRlciBkYT8gKE1vbnRhbnVzLCAgNS4gQXByIDIwMDQsIDE0OjE1OjQ2KToKfiMhIHJuPU1hdGlzIHJ0PTEwODExNjcyOTggcmc9cGFydHkKfiMhIHRpZD0xMDgxMTA5NzI4CkluIGFuZGVyZW4gTGFlbmRlcm4sIHdvIENoaWxpcyBuaWNodCB3YWNoc2VuLCBkZXNpbmZpemllcmVuIGRpZUxldXRlIG1pdApXb2RrYS4gSW5uZXJsaWNoLiBEYW5uIGRvY2ggbGllYmVyIENoaWxpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IEFsbGVzIHdpZWRlciBkYT8gKE1vb25zaGluZSwgIDUuIEFwciAyMDA0LCAxNDoxNjoyMik6Cn4jISBybj1Nb250YW51cyBydD0xMDgxMTY3MzQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTEwOTcyOApJY2ggZ2VoIGF1Y2ggTnVtbWVyIFNpY2hlciB1bmQgbmVobWUgYmVpZGVzLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBBbGxlcyB3aWVkZXIgZGE/IChHbG9pbnNvbiwgIDUuIEFwciAyMDA0LCAxNDo0NzowOSk6Cn4jISBybj1Nb29uc2hpbmUgcnQ9MTA4MTE2NzM4MiByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKVm9yIGFsbGVtIHJlZ3Qgc2NoYXJmIGVzc2VuIGRlbiBWZXJkYXV1bmdzdHJha3QgYW4sIGRlciBkdXJjaCBkZW4gc3RhZW5kaWdlbgpXYXNzZXJlbnR6dWcgaW4gc2VociB3YXJtZW4gR2VnZW5kZW4genVtIEhlcnVtZ2FtbWVsbiBuZWlndC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQaG90b3M/IChDYXNzYW5kcmEsICA1LiBBcHIgMjAwNCwgMTg6MTg6MTIpOgpTY2hvbiAyNCBzdHVuZGVuIG5hY2ggZGVyIFBhcnR5IHVuZCBub2NoIGtlaW5lIFBob3RvcyBpbSBOZXR6PwpXbyBibGVpYmVuIGRlbiB1bnNlcmUgUGlvbmllcmUgZGVyIERpZ2l0YWxrYW1lcmFzPwoKQ2Fzc3ksIFBob3RvcyB3b2xsZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGhvdG9zPyAoTXVwZmVsLCAgNS4gQXByIDIwMDQsIDIzOjA3OjU0KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDgxMTgxODkyIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTE4MTg5MgpNZWluZSBGb3RvcyBsaWVnZW4gc2VpdCBTb25udGFnLCAxNzoyNiBhdWYgZGVtIFNlcnZlciwgbmVic3QgTWFpbCBhbiBab29rLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGhvdG9zPyAoR2xvaW5zb24sICA1LiBBcHIgMjAwNCwgMjM6NTY6MDYpOgp+IyEgcm49TXVwZmVsIHJ0PTEwODExOTkyNzQgcmc9cGFydHkKfiMhIHRpZD0xMDgxMTgxODkyCkJvZXNlciBab29rLiBNaXN0LCBVcGRhdGUgbWVpbmVyIFNvZnR3YXJlIGRhdWVydCAzMCBNaW51dGVuLiBVbmQgaWNoIG11c3MgZGFzCmVpbmUga2xlaW5lIEZlYXR1cmUgImV4dHJhaGllcmUgS29tbWVudGFyIGF1cyBEYXRlaSIgbm9jaCBzZWxiZXIgc2NocmVpYmVuLApmdWVyY2h0ZSBpY2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQaG90b3M/IChDYXR3ZWF6bGUsICA2LiBBcHIgMjAwNCwgMDg6Mjk6MzkpOgp+IyEgcm49TXVwZmVsIHJ0PTEwODExOTkyNzQgcmc9cGFydHkKfiMhIHRpZD0xMDgxMTgxODkyCk5hIHNhZyBkb2NoIG5lbiBUb24uIFRzay4gCgpZVEMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQaG90b3M/IChNb250YW51cywgIDYuIEFwciAyMDA0LCAwODozNzo0NCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MTIzMjk3OSByZz1wYXJ0eQp+IyEgdGlkPTEwODExODE4OTIKRGFua2UgQ2F0dHkuIFNpbmQgamEgZ2FueiBuZXR0ZSBGb3RvcywgYXVjaCB3ZW5uIG5pY2h0IGVyd2FlaG50IHd1cmRlLCB3YXJ1bQp1ZWJlcmhhdXB0IEJhbmFuZW5taWxjaCBlcnpldWd0IHd1cmRlLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBob3Rvcz8gKE11cGZlbCwgIDYuIEFwciAyMDA0LCAwOTo1NzowMSk6Cn4jISBybj1Nb250YW51cyBydD0xMDgxMjMzNDY0IHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTE4MTg5MgpTb2xsdGUgZGFiZWlnZXNjaHJpZWJlbiB3ZXJkZW4sIGRhc3MgTW9udGFudXMgbWljaCBnZW5vZXRpZ3QgaGF0Li4uLj8gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQaG90b3M/IChBa2FzaGEsICA2LiBBcHIgMjAwNCwgMDk6NTg6MzApOgp+IyEgcm49TXVwZmVsIHJ0PTEwODEyMzgyMjEgcmc9cGFydHkKfiMhIHRpZD0xMDgxMTgxODkyCk9kZXIgdmllbGxlaWNodCwgZGFzcyBpY2ggTXVwZmVsIHp1ciBWZXJmdWVndW5nIGdlc3RlbGx0IGhhYmU/IDspCgpBa2FzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBob3Rvcz8gKE1vbnRhbnVzLCAgNi4gQXByIDIwMDQsIDA5OjU4OjU2KToKfiMhIHJuPUFrYXNoYSBydD0xMDgxMjM4MzEwIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTE4MTg5MgpqYSwgZGllIHVuaGVpbGlnZSBUcmluaXRhZXQgZGVyIEJhbmFuZW5tbGljaC1FcnpldWd1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMeXJpayAoQ2F0d2VhemxlLCAgNi4gQXByIDIwMDQsIDEwOjA0OjQ1KToKTW9pbiEKCkljaCB3ZWlzcywgZGFzcyBIdW1uaSBiZXJlaXRzIEFidGlwcHRlY2huaXNjaCBiZXNjaGFlZnRpZ3QgaXN0LCBhYmVyIGljaAptb2VjaHRlIGF1Y2ggZGVuIFJlc3QgZXJpbm5lcm4sIGJpdHRlIGlocmUgUXVlc3Rwcm9zYSB6dSB2ZXJvZWZmZW50bGljaGVuLgoKQmVkYW5rdCwKICAgICBZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMeXJpayAoTW9udGFudXMsICA2LiBBcHIgMjAwNCwgMTA6MTQ6MTgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODEyMzg2ODUgcmc9cGFydHkKfiMhIHRpZD0xMDgxMjM4Njg1Cld1ZXJkZXN0IGR1IG5pY2h0IG1pdCAidWViZXJnZWhlIGFsbGVzIiBkZWluZSBtcGEgbGVzZW4sIHd1ZXNzdGVzdCBkdSwgZGFzcwpIdW1uaSBzY2hvbiBsYWVuZ3N0IG1pdCBkZW0gQWJ0aXBwZW4gZmVydGlnIGlzdCB1bmQgYXVjaCBzY2hvbiBnZXBvc3RldCBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEx5cmlrIChDYXR3ZWF6bGUsICA2LiBBcHIgMjAwNCwgMTA6MjA6MjgpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA4MTIzOTI1OCByZz1wYXJ0eQp+IyEgdGlkPTEwODEyMzg2ODUKSGFldHRlIGljaCBkaWUgMTYwIEFydGlrZWwgenVlcnN0IGdlbGVzZW4sIHN0YXR0IEJpbGRlciB6dSBrb252ZXJ0aWVyZW4gaGFldHRlCmljaCBub2NoIG1laHIgQWVyZ2VyIGdla3JpZWd0IC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMeXJpayAoTWFoYXJldCwgIDYuIEFwciAyMDA0LCAxMDoyMDo0MCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MTIzOTYyOCByZz1wYXJ0eQp+IyEgdGlkPTEwODEyMzg2ODUKc3RpbW10CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb3R0ZXJpZWdld2lubmVyIChDYXR3ZWF6bGUsICA2LiBBcHIgMjAwNCwgMTI6NTY6MzkpOgoKTW9pbiEKCkhpZXIgbnVuIGRpZSBvZmZpemllbGxlIExpc3RlIGRlciBHZXdpbm5lciBkZXIgZXJzdGVuIGdyb3NzZW4KTW9yZ2VuR3JhdWVuLVBhcnR5LUxvdHRlcmllLiBBbGxlIEFuZ2FiZW4gbmF0dWVybGljaCBvaG5lIEdld2FlaHIgOikKCjEuICBQcmVpcyAoSHVtbmkpOiAgICAgIDMyTUIgVVNCLVN0aWNrCjIuICBQcmVpcyAoTWFhcmcpOiAgICAgIEthZmZlbWFzY2hpbmUgKFZvbGxwbGFzdGlrKQozLiAgUHJlaXMgKEdsb2luc29uKTogICBTdGFuZG1peGVyCjQuICBQcmVpcyAoT3JrdG9ldGVyKTogIE9yaWdpbmFsIE11ZW5zdGVyYW5lciBTdHVkZW50ZW53ZXJrdGFzc2UKNS4gIFByZWlzIChUaHVmaGlyKTogICAgTWluaS1Gcml09nNlCjYuICBQcmVpcyAoTW9yZ290aCk6ICAgICJGaW5hbCBGYW50YXN5IDciIChQQy1WZXJzaW9uKQo3LiAgUHJlaXMgKENhc3NhbmRyYSk6ICAiU2NyZWFtIiBEVkQKOC4gIFByZWlzIChNYWhhcmV0KTogICAgQW50aWtlIFRlZWthbm5lIGluY2wuIFN09nZjaGVuCjkuICBQcmVpcyAoR3VhcmQpOiAgICAgIE9yaWdpbmFsIEF1dG9sb2FkLSJDYXR3ZWF6bGUgZm9yIFNoZXJpZmYiLUZhZWhuY2hlbgoxMC4gUHJlaXMgKEh1bW5pKTogICAgICBpbnRlcm5lcyA1NmstTW9kZW0KMTEuIFByZWlzIChNYXJ0aW5pKTogICAgVGhyZWUgS2luZ3MgUG9zdGVyIChLaW5nIFNpemUsIGxlaWNodCBhbmdlZGV0c2NodCkKMTIuIFByZWlzIChUYXNzcmFtKTogICAgQWt0ZS1YIEthcnRlCjEzLiBQcmVpcyAoQW5hdG9sKTogICAgIEJpbGQgbWl0IEthdHplCjE0LiBQcmVpcyAoRXJpYSk6ICAgICAgIFN0YWR0cGxhbiB2b24gQmVybGluCjE1LiBQcmVpcyAoTWFoYXJldCk6ICAgIGhhYiBpY2ggdmVyZ2Vzc2VuLCBlaW5zIGZlaGx0IG5vY2ggCjE2LiBQcmVpcyAoSG9ibyk6ICAgICAgIENsaWZmIFJpY2hhcmQgU2luZ2xlLUNEICJEZXIgTWlsbGVuaXVtLVNvbmciCjE3LiBQcmVpcyAoSG9ibyk6ICAgICAgICJMb3N0IGluIFNwYWNlIiBWSFMtS2Fzc2V0dGUgKGVuZ2wuIE9yaWdpbmFsKQoxOC4gUHJlaXMgKFJhbmdvcm4pOiAgICAxMDAgVWViZXJyYXNjaHVuZ3NlaWVyLUNvZGVzCjE5LiBQcmVpcyAoVGFzc3JhbSk6ICAgIFBva2Vyc3BpZWwgKGJlbnV0enQsIG5pY2h0IGdhbnogdm9sbHN0YWVuZGlnKQoyMC4gUHJlaXMgKFRyeWZhbik6ICAgICAxMG1hbCBJc2VuaGFydHMgS2lzdGUKMjEuIFByZWlzIChWYW5IZWxzaW5nKTogQXNjaGVuYmVjaGVyCjIyLiBQcmVpcyAoQ2FrZXkpOiAgICAgIDUgRnJlaWJpZXIgYW0gUGFydHlhYmVuZAoyMy4gUHJlaXMgKEh1bW5pKTogICAgICAxMDAgTXVlbnplbgoKQWxzbyBzcGFldCByZWluZ2Vrb21tZW5lIEJvbnVzcHJlaXNlIHd1cmRlbiB2ZXJsb3N0OgoKMWIuIFByZWlzIChBbmF0b2wpOiAgICAgMTd0ZWlsaWdlcyAxNnRlaWxpZ2VzLVB1enpsZQoyYi4gUHJlaXMgKEFuYXRvbCk6ICAgICBBdXNzZW50aGVybW9tZXRlcgoyNC4gUHJlaXMgKE1pZXplKTogICAgICAiRHVuZSIgRFZECgpFcyB3dXJkZW4gZXR3YSAxNjAgTG9zZSB6dW0gUHJlaXMgdm9uIGVpbmVtIEV1cm8gdmVya2F1ZnQuIERhIGRpZSBQYXJ0eSBmYXN0CnZvbGxzdGFlbmRpZyBmaW5hbnppZXJ0IGlzdCwga2FubiBpY2ggZGllIGZyb2hlIEt1bmRlIHZlcmt1ZW5kZW4sIGRhc3MgZGllCkVpbm5haG1lbiBlbnR3ZWRlciBhbHMgU3BlbmRlIGFuIGRlbiBWZXJlaW4gZ2VoZW4gb2RlciBmdWVyIGVpbmUgbW9lZ2xpY2hlCndlaXRlcmUgUGFydHkgenVyIFZlcmZ1ZWd1bmcgc3RlaGVuLgoKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQogICAgIChpLkEuIGRlcyBTcGVuZGVuLUVpbnRyZWliLUtvbWl0dGVlcyAoZWhlbS4KICAgICBQYXJ0eS1SZWZpbmFuemllcnVuZ3MtTm90cHJvZ3JhbW0tS29taXRlZXMpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExvdHRlcmllZ2V3aW5uZXIgKFpvb2ssICA2LiBBcHIgMjAwNCwgMTI6NTk6NDMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODEyNDg5OTkgcmc9cGFydHkKfiMhIHRpZD0xMDgxMjQ4OTk5CkljaCBiZWZ1ZXJjaHRlIGphLCBkYXNzIGRhIGJhbGQgZWluZSBuZXVlIFNwZXJybXVlbGwtRW50c29yZ3VuZ3MtQWt0aW9uCmRyYXVmIHdpcmQsIGZhbGxzIGRhcyBMb3R0ZXJpZWJlaXNwaWVsIFNjaHVsZSBtYWNoZW4gc29sbHRlLi4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMb3R0ZXJpZWdld2lubmVyIChDYXR3ZWF6bGUsICA2LiBBcHIgMjAwNCwgMTM6MDE6NTMpOgp+IyEgcm49Wm9vayBydD0xMDgxMjQ5MTgzIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTI0ODk5OQpIZXkuCgpXaXIgaGFiZW4gYmVpIGRlciBBdXN3YWhsIGRlciBQcmVpc2UgZXh0cmEgd2VydCBkYXJhdWYgZ2VsZWd0LCBkYXNzIGRhcyBrZWluZQpBbHRsYXN0ZW5lbnRzb3JndW5nIHdlcmRlbiBzb2xsLiBJbSBHZWdlbnRlaWwsIGljaCBoYWIgbWljaCB2b24gZWluZ2VuIGRpZXNlcgpQcmVpc2UgbnVyIHNjaHdlcmVuIEhlcnplbnMgdHJlbm5lbiBrb2VubmVuLiBEaXZlcnNlIG9mZmVuc2ljaHRsaWNoZQoiUmVzdHBvc3RlbiIgaGFiZW4gd2lyIGJlaSBkZXIgQXVzd2FobCBhdXMgZ3V0ZW0gR3J1bmQgbmljaHQgYW5nZW5vbW1lbi4KSWNoIGZpbmRlIHdpciBoYWJlbiBlcyBnZXNjaGFmZnQgYXVzc2NobGllc3NsaWNoIGF0dHJha3RpdmUgUHJlaXNlIGFuenViaWV0ZW4uClNvIDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExvdHRlcmllZ2V3aW5uZXIgKEJhbWJpLCAgNi4gQXByIDIwMDQsIDEzOjA0OjEzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDgxMjQ5MzEzIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTI0ODk5OQoiMTAwIFVlYmVycmFzY2h1bmdzZWllci1Db2RlcyIgaGFldHRlIGljaCBuaWNodCBtYWwgenVtIFZlcmJyZW5uZW4gbWl0CmhlaW1nZW5vbW1lbiwgYWJlciB2aWVsbGVpY2h0IGVudGdlaHQgbWlyIGphIGRlciB0aWVmZXJlIFNpbm4gb2RlciBkZXIKdmVyc3RlY2t0ZSAoc3ltYm9saXNjaGU/KSBXZXJ0IGRpZXNlcyBMb3NwcmVpc2VzLiBLbGFlcnQgbWljaCBtYWwgd2VyCihkYXJ1ZWJlcikgYXVmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTG90dGVyaWVnZXdpbm5lciAoWm9vaywgIDYuIEFwciAyMDA0LCAxNDowOTowMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MTI0OTMxMyByZz1wYXJ0eQp+IyEgdGlkPTEwODEyNDg5OTkKRGFyZiBpY2ggRGljaCBzbm9vcGVuLCB3ZW5uIER1IGRpZSAxMDAgTXVlbnplbiBtZXR6ZWxzdC4uLj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMb3R0ZXJpZWdld2lubmVyIChCb2luZywgIDYuIEFwciAyMDA0LCAxNDowOTo1Myk6Cn4jISBybj1ab29rIHJ0PTEwODEyNTMzNDIgcmc9cGFydHkKfiMhIHRpZD0xMDgxMjQ4OTk5ClVuZCB3YW5uIGthbm4gaWNoIGVuZGxpY2ggZGllIGdhbnplbiBLaXN0ZW4gbG9zd2VyZGVuLCBkaWUgaWNoIGZ1ZXIgRGljaApnZXN1Y2h0IGhhYiwgQ2F0dHk/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExvdHRlcmllZ2V3aW5uZXIgKEdsb2luc29uLCAgNi4gQXByIDIwMDQsIDE0OjEwOjI2KToKfiMhIHJuPUJvaW5nIHJ0PTEwODEyNTMzOTMgcmc9cGFydHkKfiMhIHRpZD0xMDgxMjQ4OTk5ClNvYmFsZCBpaHIgVHJ5ZmFuIGVpbiBEMi1TcGllbCBpbnN0YWxsaWVydCBoYWJ0PwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExvdHRlcmllZ2V3aW5uZXIgKE1vcmdvdGgsICA2LiBBcHIgMjAwNCwgMTQ6MTA6NTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA4MTI1MzQyNiByZz1wYXJ0eQp+IyEgdGlkPTEwODEyNDg5OTkKSWNoIGhhZXR0ZSBkYSBlaW4gb3JpZ2luYWwgRmluYWwgRmFudGFzeSBWSUkgYW56dWJpZXRlbi4uLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IExvdHRlcmllZ2V3aW5uZXIgKFpvb2ssICA2LiBBcHIgMjAwNCwgMTQ6MTM6NDMpOgp+IyEgcm49TW9yZ290aCBydD0xMDgxMjUzNDUyIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTI0ODk5OQpJbW1lcmhpbiBlaW4gIk9yaWdpbmFsIi4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBMb3R0ZXJpZWdld2lubmVyIChCb2luZywgIDYuIEFwciAyMDA0LCAxNDoyMDowNSk6Cn4jISBybj1ab29rIHJ0PTEwODEyNTM2MjMgcmc9cGFydHkKfiMhIHRpZD0xMDgxMjQ4OTk5CkljaCB3dWVyZCdzIG5laG1lbiAuLi4gaWNoIGtlbm4gZGFzIG5pY2h0CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmlsZGVyIChHbG9pbnNvbiwgIDYuIEFwciAyMDA0LCAxOToxNDoyMCk6CkhpLCBnZXJhZGUgZWJlbiBoYWJlIGljaCBlaW5lIGRpY2tlIE1haWwgZ2VzY2hpY2t0IHVtIHp1IHJlYm9vXldmcmFnZW4sIHdlbGNoZQpCaWxkZXIgdmVyb2VmZmVudGxpY2h0IHdlcmRlbiBrb2VubmVuLiBGYWxscyBpaHJlIG5vdG9yaXNjaGUgWndlaXRpZWdhZW5nZXIKc2VpZCwgc3VjaHQgZXVjaCBpbiBkaWVzZXIgTGlzdGUgdW5kIGxvZ2d0IGRlbiBDaGFyIGVpbjoKCkFoYWIgQWthc2hhIEFuYXRvbCBBbnlzaWRvcmEgQXJlZWxhbmlyIEFya2FuYSBBc3VrYSBCb2luZyBCcmFuZGlyIENha2V5CkNhc3NhbmRyYSBDYXR3ZWF6bGUgQ3JpdHRlciBDcm9mdCBEYXJrd2luZyBEYXJrd2luZyBEcmFodGJlZW4gRHVuc3QgRWxhaW5lCkVsYmkgRXBwaSBFcmlhIEZlaWdsaW5nIEdub21lIEdvcm9nIEd1YXJkIEhvYm8gSHVtbmkgSmFtZXNvbiBLYWRpcyBLYXJpYyBLZWtzCkxhY3JpIExhcmluYSBMZWliaSBNYWFyZyBNYWRuZXNzIE1haGFyZXQgTWVzaXJpaSBNaWV6ZSBNaXJpbCBNb250YW51cyBNb3Jnb3RoCk11YWRkaWIgTXVhZGliIE11cGZlbCBNdXJrZXMgT2xsaSBPcmt0b2V0ZXIgUGFyZGF1eiBQYXRyeW4gUGVyZGl0YSBQZXJlZ2luIFB1awpSYW5nb3JuIFJvY2h1cyBSb25kYSBTaGFrZWRiZWVyIFN1Z2FhbiBUYXJhbmlzIFRhc3NyYW0gVGh1ZmhpciBUcnlmYW4gVHdpbmdpClZhbmhlbHNpbmcgVmFuaW9uIFZhbmlyIFdhcmdvbiBXYXJnb24gWmVwaHlyIFpvb2sKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG90dGVyaWVnZXdpbm5lciAoWm9vaywgIDYuIEFwciAyMDA0LCAxOTo0NzozNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MTI0ODk5OSByZz1wYXJ0eQp+IyEgdGlkPTEwODEyNDg5OTkKWm9va3MgTVBBLVNwZXppYWwtQXJ0aWtlbDogUmFuZ29ybiBtb2VjaHRlIEV1Y2ggbWl0dGVpbGVuOgoKLS1zY2huaXBwLS0KClN1Y2hlIEZGIFZJSSwgYmlldGUgZ2FuemUgMTAwICghISwgZGFzIHNpbmQgMCwxayEpIFVlLUVpZXItQ29kZXMuIDpvKQoKTmVlLCBhYmVyIG1hbCBlaHJsaWNoLCBhbHMgZWhlbWFsaWdlIEZpZ3VyZW5zYW1tbGVyaW4sIGRpZSBzaWNoIHZvbiBkZW4KUGxhc3Rpa2RpbmdlcnMgaW1tZXIgbm9jaCBuaWNodCB0cmVubmVuIGthbm4sIGlzdCBkYXMgYXVmIGVpbmUgZ2V3aXNzZSBBcnQKcGFzc2VuZC4gSWNoIGRhY2h0IGF1Y2gsIG1pY2ggdHJpdHQgd2FzLiBVZS1FaWVyISBVbmQgaWNoIGhhYiBzbyBsYW5nZQpnZWJyYXVjaHQsIHVtIGNsZWFuIHp1IHdlcmRlbi4KCi0gUmFuZ29ybiBLaHVyJ1RpZ3JlcyAtCi0tc2NobmFwcC0tCgppLkEuIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogQWxsZXMgd2llZGVyIGRhPyAoS2VsbHlidW5keSwgIDkuIEFwciAyMDA0LCAxODowNTo0NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4MTE2NjgwNiByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKVmllbGxlaWNodC4gQWJlciBoYXVwdHNhY2hlIGlzdCB3b2hsIGVoZXIsIGRhc3Mgc2NoYXJmZSBHZXJpY2h0ZQpTY2h3ZWlzc3RyZWliZW5kIHNpbmQgdW5kIHNvIGV0d2FzIEFia3VlaGx1bmcgYnJpbmdlbi4KQmxvbmRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogQWxsZXMgd2llZGVyIGRhPyAoTWFoYXJldCwgIDkuIEFwciAyMDA0LCAxODowNjoyOCk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTEwODE1MjY3NDQgcmc9cGFydHkKfiMhIHRpZD0xMDgxMTA5NzI4CkFsc28gaWNoIHNjaHdpdHplIHNjaG9uLCB3ZW5uIG1pciB3YXJtIGlzdC4gRGFzIG11c3MgaWNoIG5pY2h0IG5vY2ggZm9lcmRlcm4KLi4uCgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHliaWxkZXIgKEdsb2luc29uLCAxOS4gQXByIDIwMDQsIDEzOjQ3OjIzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwODEyNzE2NjAgcmc9cGFydHkKfiMhIHRpZD0xMDgxMjcxNjYwCkpldHp0IG11c3MgbWFuIHNjaG9uIGVpZ2VuZSBBcnRpa2VsIGxvZXNjaGVuIHVtIGhpZXIgenUgcG9zdGVuOgoKTWVpbmUgQmlsZGVyIHNpbmQgZmVydGlnLiBGZWhsZXJtZWxkdW5nZW4gYW4gbWljaC4gVmVyd2VjaHNsdW5nZW4gdm9uCkphbWVzb24vQWhhYiwgRHVuc3QvUGVyZGl0YSwgQ3JvZnQvVHlsYWsgd3VyZGVuIHNjaG9uIGdlbWVsZGV0LiBXZWdlbiBkZXIKVmlkZW9zIHRyZXRldCBDYXR0aWUuIEFiZXIgc29vbyB0b2xsIHNpbmQgZGllIGF1Y2ggbmljaHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbGxlcyB3aWVkZXIgZGE/IChEYXJpYSwgMTkuIEFwciAyMDA0LCAxMzo1MTozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MTE2NDY2MiByZz1wYXJ0eQp+IyEgdGlkPTEwODExMDk3MjgKRGFzIGdlaHQgYXVjaCBtaXQgS2Flc2VzdXBwZS4KRGFyaWEgaGF0IGFsbGVzIGlucyBLbG8gZ2VraXBwdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsbGVzIHdpZWRlciBkYT8gKENhdHdlYXpsZSwgMTkuIEFwciAyMDA0LCAxMzo1ODoyMCk6Cn4jISBybj1EYXJpYSBydD0xMDgyMzc1NDkzIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTEwOTcyOApadSBXZWdraXBwZW4gdm9uIEthZXNlLUxhdWNoLVN1cHBlIGdpYnRzIGVpbmUgbGFlbmdlcmUgR2VzY2hpY2h0ZSB6dS4gSGFiIGljaApiZXN0aW1tdCBzY2hvbiBtYWwgZXJ6YWVobHQsdmllbGxlaWNodCBlcnphZWhsIGljaCBkaWUgbm9jaG1hbCBpbiBNZWdhc2NobWFycm4KOi0pCgpHcm9lc3NlcmUgTWVuZ2VuIFp1YmVyZWl0ZXRlcyAoaW5zYi4gbWl0IEZsZWlzY2gvSGFjaykgc29sbHRlIG1hbiBuaWUgaW5zIEtsbwpraXBwZW4sIGRlbm4gZGFzIGlzdCBlaW4gRmVzdGVzc2VuIGZ1ZXIgS2FuYWxyYXR0ZW4uICBXZW5uIGR1IGRhcyBvZWZ0ZXIKbWFjaHN0IGxhZXVmc3QgZHUgR2VmYWhyLCBkYXNzIGRpZSBOYWNoZ3Vja2VuIGtvbW1lbiwgd28gZGFzIFpldWcgaGVya29tbXQsCnVuZCBXYXNzZXJyb2hyZSB1bmQgS2xvZGVja2VsIGhhbHRlbiBSYXR0ZW4gbmljaHQgd2lya2xpY2ggYXVmIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YmlsZGVyIChNaXJpbCwgMjAuIEFwciAyMDA0LCAyMjoxNTo1Mik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDgyMzc1MjQzIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTI3MTY2MApBbHNvIGljaCB3b2xsdGUgbWFsIGJlbWVya2VuLCBkYXNzIGRpZXMgZGllIGFid2VjaHNsdW5nc3JlaWNoc3RlIFNhbW1sdW5nCmFuIEJlc2NocmVpYnVuZ2VuIHp1bSBUaGVtYSAiVGFuemVuIiBpc3QsIGRpZSBpY2ggYmlzbGFuZyBnZXNlaGVuIGhhYi4KQW5zb25zdGVuOiBEYW5rIGFuIEdsb2luc29uIGZ1ZXIgZGllIE11ZWhlLCBkaWUgZXIgc2ljaCB1bnMgenVsaWViZSBtaXQgCmRlciBuaWNodCBnYW56IHVuYmV0cmFlY2h0bGljaGVuIEFuemFobCBhbiBGb3RvcyB1bmQgc29uc3RpZ2VuIEJpbGRkb2t1bWVudGVuCmdlbWFjaHQgaGF0LgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YmlsZGVyIChSb25kYSwgMjAuIEFwciAyMDA0LCAyMjoyNToyMik6Cn4jISBybj1NaXJpbCBydD0xMDgyNDkyMTUyIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTI3MTY2MApEZW0ga2FubiBpY2ggbWljaCBudXIgYW5zY2hsaWVzc2VuIC0gaWNoIGhhYiBtaWNoIGtvZW5pZ2xpY2ggYW11ZXNpZXJ0IGJlaSBkZW4KVGFuei1CZXNjaHJlaWJ1bmdlbiA7LSkKCldhZXJlIGVzIHZpZWxsZWljaHQgbW9lZ2xpY2gsIGRhc3Mgd2lyIGFiZXIgaW4gWnVrdW5mdCBkYXMgTGViZW4gZnVlcgpGb3RvZ3JhZmlubmVuIHVuZCBGb3RvZ3JhZmVuIGV0d2FzIGVpbmZhY2hlciBnZXN0YWx0ZW4ga29lbm5lbj8gSWNoIHZlcnN0ZWhlCnVuZCBha3plcHRpZXJlLCBkYXNzIG1hbmNoZSBkZXIgUGFydHlnYWVuZ2VyIG5pY2h0IHdvbGxlbiwgZGFzcyBzaWUgYXVmCkJpbGRlcm4genUgc2VoZW4gc2luZC4gQWJlciB3ZW5uIGplbWFuZCBzaWNoIHNjaG9uIGRpZSBNdWVoZSBtYWNodCwgeCBGb3RvcyB6dQprbmlwc2VuIHVuZCB3aXR6aWcgenUga29tbWVudGllcmVuLCBkYW5uIGlzdCBlcyAgInN1Ym9wdGltYWwiLCB3ZW5uIGRpZXNlcgpqZW1hbmQgZGFuYWNoIGF1Y2ggbm9jaCB1bXN0YWVuZGxpY2ggaGVyYXVzZmluZGVuIG11c3MsIHdlciB3byBhYmdlbGljaHRldAppc3QsIHdlciBkYXZvbiAiYmlsZHRhdWdsaWNoIiBpc3QgdW5kIHdlciBuaWNodCBldGMuLi4KCkFsc28gYWxzIFZvcnNjaGxhZyBmdWVyIGRpZSBuYWVjaHN0ZSBQYXJ0eTogV3VlcmRlIGVzIGhlbGZlbiwgd2VubiBtYW4gZGFzIG1pdApkZW0gIkljaCB3aWxsIG5pY2h0IHVuZCBuaWUgYXVmIEJpbGRlciIgYXVmIGRlbSBQYXJ0eWJyZXR0IGFiZnJhZ2VuIGtvZW5udGUgLQp1bmQgZGFzcyBkYW5uIHp1bWluZGVzdCBmbGVpc3NpZ2UgS25pcHNlciBkYXJhdWYgWnVncmlmZiBoYWJlbj8KClJvbmRhICpkaWVzbWFsIGZvdG8tIHVuZCBuYWNoYXJiZWl0c2ZhdWwqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWJpbGRlciAoWm9vaywgMjAuIEFwciAyMDA0LCAyMjozNjowNik6Cn4jISBybj1Sb25kYSBydD0xMDgyNDkyNzIyIHJnPXBhcnR5Cn4jISB0aWQ9MTA4MTI3MTY2MAoxLiBFcyBnaWJ0IGFsbGdlbWVpbmUgTGlzdGVuLCB3byBMZXV0ZSwgZGVyZW4gQmlsZGVyIG5pY2h0IHZlcm9lZmZlbnRsaWNodAp3ZXJkZW4sIHNvbGxlbiBhdWZub3RpZXJ0IHNpbmQuIERpZSBJbmZvcm1hdGlvbmVuIGhhYmUgaWNoIGluIGRlciAKVmVyZ2FuZ2VuaGVpdCBqZWRlbSBLbmlwc2VyIHp1ciBWZXJmdWVndW5nIGdlc3RlbGx0IHVuZCBnZWRlbmtlIGRpZXMgYXVjaAp3ZWl0ZXJoaW4genUgdHVuLgoKMi4gSGF0IEdsb2luc29uIGRhcyBuaWNodCBnZW11c3N0LiBFcyBpc3QgbUUgZWluZSBmcmVpd2lsbGlnZSBMZWlzdHVuZywgdW0gCkFlcmdlciB6dXIgdmVybWVpZGVuIHVuZCBpbnNiZXNvbmRlcmUgZGllIEVNKyB2b3Igc29sY2hlbSBBZXJnZXIgenUgCmJld2FocmVuLiBGdWVyIGRpZXNlIFp1c2F0emxlaXN0dW5nIHNlaSBpaG0gYmVzb25kZXJzIGdlZGFua3QhIChBYmdlc2VoZW4KZGF2b24gZW1wZmluZGUgaWNoIGRpZSBWZXJ6b2VnZXJ1bmcgYWxzIHZlcnRyZXRiYXItLXdpciBoYWJlbiBzY2hvbiBsYWVuZ2VyCmF1ZiBhbmRlcmUgQmlsZGVyIGdld2FydGV0IDspCgozLiBEaWUgSW5mbyBhdWYgZGVtIFBhcnR5YnJldHQgYWJ6dWZyYWdlbiwgaXN0IG5lIHByaW1hIElkZWUhIEJpdHRlIGJlaW0KbmFlY2hzdGVuIEF1ZnN0ZWxsZW4gYmVydWVja3NpY2h0aWdlbi4gOikKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZWcgZGFtaXQgIChDYXR3ZWF6bGUsIDIxLiBBcHIgMjAwNCwgMDk6MTA6NTIpOgoKRXhwaXJhdGlvbiB3YXJuaW5nIC4uLgoKWVJDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgSGFsbGUgKEdyaW1tYm9ybiwgMjEuIEFwciAyMDA0LCAxNjozMToyMSk6Cn4jISBvbj1Pcmt0b2V0ZXIgb3Q9MTA4MjU1Nzg1OSBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MjUzMTM4MCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTA4MjUzMTM4MApEaWUgUGFydHkgaXN0IHRvdCwgZXMgbGViZSBkaWUgUGFydHkhCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSBIYWxsZSAoR3JpbW1ib3JuLCAyMS4gQXByIDIwMDQsIDE2OjMyOjQ5KToKfiMhIG9uPVJvY2h1cyBvdD0xMDgyNTU3OTI5IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPU9ya3RvZXRlciBydD0xMDgyNTU3ODU5IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMDgyNTMxMzgwCkRlciBLb2VuaWcgaXN0IG1vZWdsaWNoZXJ3ZWlzZSB0b3QsIGxhbmcgbGViZSBkZXIgS29lbmlnISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlyZXN0Z2VsZCAoQ2F0d2VhemxlLCAyNC4gQXByIDIwMDQsIDEwOjU4OjE2KToKTW9pbiEKCkljaCBrYW5uIG1pdCBGcmV1ZGUgdmVya3VlbmRlbiwgZGFzcyBpY2ggdm9uIGRlciBQYXJ0eSAxNTcsMzcgRXVybyBSZXN0Z2VsZAp1ZWJlciBoYWJlLgoKSWNoIGJpbiBuaWNodCBtZWhyIHNpY2hlciwgd2lldmllbCBMb3NlIGljaCB2ZXJrYXVmdCBoYWJlLCBkYSBpY2ggbGVpZGVyIGRlbgpsZXR6dGVuIEJsb2NrIG5pY2h0IG1laHIgaGF0dGUsIGFiZXIgdWViZXJzY2hsYWdlbiBtdWVzc3RlIGljaCAxNzAgTG9zZQp2ZXJrYXVmdCBoYWJlbi4gRGFtaXQgaGF0IHNpY2ggZGllIFBhcnR5IGZhc3Qgdm9uIHZvbGxzdGFlbmRpZyBvaG5lIGRpZSBnYW56ZQpMb3N2ZXJrYXVmZXJlaSBnZXJlY2huZXQgKHdhZXIgZGEgZG9jaCBuaWNodCBkaWVzZXMgQ2hpbGkgZ2V3ZXNlbiA6KSApLgpEYXMgZ2VzYW10ZSBSZXN0Z2VsZCBiZXN0ZWh0IGFsc28gYXVzIExvc2dld2lubmVuLgoKV2llIGljaCBiZXJlaXRzIGJlaW0gTG9zdmVya2F1ZiBlcndhZWhudCBoYWJlLCBpc3QgZGVyIGV2ZW50dWVsbGUgdW5kIG51bgpyZWFsZSBFcmxvZXMgYWxzIFNwZW5kZSBhbiBkZW4gRm9lcmRlcnZlcmVpbiBnZWRhY2h0LiAKWndpc2NoZW5kdXJjaCBrYW0gZGFubiBkb2NoIHdpZWRlciBtYWwgZWluIGV2ZW50dWVsbGVzIFBhcnR5a29udG8gaW5zCkdlc3ByYWVjaC4gSWNoIGJlaGFsdGUgZGllIFNwZW5kZSBhbHNvIG1hbCBtaW5kZXN0ZW5zIGJpcyB6dXIgSGFsbGUtUGFydHkKenVydWVjaywgZmFsbHMgZGEgRmVobGJldHJhZWdlIGF1ZnRyZXRlbiBvZGVyIHNpY2ggYmlzIGRhaGluIGVpbmUgTG9lc3VuZwpiaWV0ZXQgdW5kIGVyc3QgZGFuYWNoIGdlYiBpY2ggZGFzIEdlbGQgYWxzIFNwZW5kZSB3ZWl0ZXIuIAoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YmlsZGVyIChDYXR3ZWF6bGUsIDI2LiBBcHIgMjAwNCwgMTI6NTc6MDkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA4MjM3NTI0MyByZz1wYXJ0eQp+IyEgdGlkPTEwODEyNzE2NjAKUGVyZGl0YSBoYXQgYXVjaCBub2NoIGVpbiBwYWFyIEJpbGRlciBnZWxpZWZlcnQuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YmlsZGVyIChHbG9pbnNvbiwgMjYuIEFwciAyMDA0LCAxMzoyMDo0NCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4Mjk3NzAyOSByZz1wYXJ0eQp+IyEgdGlkPTEwODEyNzE2NjAKUFM6IERpZSBGaWxtZSBzaW5kIGV0d2FzIGhlbGxlciB1bmQga2xlaW5lciBnZXdvcmRlbi4gVW5kIHNpZSBnZXdhbmRlbiBzaWNoIGluCmVpbiBNUEVHMi1Gb3JtYXQuIEpldHp0IHdlaXNzIGljaCwgZGFzcyBpY2ggbWlyIG5pY2h0IHMgb3NjaG5lbGwgZWluZQpWaWRlb2thbWVyYSB6dWxlZ2UgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlyZXN0Z2VsZCAoT3JrdG9ldGVyLCAyOC4gQXByIDIwMDQsIDE4OjIwOjQ4KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDgyNzk3MDk2IHJnPXBhcnR5Cn4jISB0aWQ9MTA4Mjc5NzA5NgpBbHNvIGljaCBmaW5kZSBkYXMgUGFydHlyZXN0Z2VsZCBzb2xsdGUgYmVzc2VyIGFscyBHcnVuZHN0b2NrIGZ1ZXIgZGllCm5hZWNoc3RlIFBhcnR5IGRpZW5lbi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5cmVzdGdlbGQgKFpvb2ssIDI4LiBBcHIgMjAwNCwgMTg6MjE6MDYpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwODMxNjkyNDggcmc9cGFydHkKfiMhIHRpZD0xMDgyNzk3MDk2CldhcnVtPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5cmVzdGdlbGQgKE9ya3RvZXRlciwgMjguIEFwciAyMDA0LCAxODo1NjoyMSk6Cn4jISBybj1ab29rIHJ0PTEwODMxNjkyNjYgcmc9cGFydHkKfiMhIHRpZD0xMDgyNzk3MDk2CjEuIERhcyBNRyBoYXQgZ2VyYWRlIGVyc3QgZWluZW4ga29tcGxldHQgbmV1ZW4gUmVjaG5lci4gCjIuIFdlbm4gaWNoIG1pY2ggbmljaHQgc2VociB0YWV1c2NoZSBpc3QgZWggbm9jaCBHZWxkIGluIGRlciBLYXNzZQozLiBFcyBrb21tZW4gZHVyY2ggZGllIEJlaXRyYWVnZSBzdGFlbmRpZyB3ZWl0ZXJlIEdlbGRlciBoaW56dQo0LiBXYXMgd3VlcmRlIGRlciBWZXJlaW4gc2lubnZvbGwgbWl0IGVpbmVyIGdyb2Vzc2VyZW4gU3VtbWUgbWFjaGVuPwoKNS4gRXMgc2luZCBHZWxkZXIgZGllIHZvbiBQYXJ0eWJlc3VjaGVybiBmdWVyIGVpbmUgUGFydHkgYmV6YWhsdCB3dXJkZW4gKHBhc3N0CmFsc28sIHNpZSBhdWNoIGZ1ZXIgZGVuIFp3ZWNrIHp1IGJ1dHplbikKNi4gRXMgaXN0IGVpbmUgbmV0dGUgU2FjaGUgZnVlciB6dWt1ZW5mdGlnZSBQYXJ0eW9yZ2FuaXNhdG9yZW4genUgd2lzc2VuLCBkYXNzCmVzIGVpbiBQb2xzdGVyIGdpYnQuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHlyZXN0Z2VsZCAoQm9pbmcsIDI4LiBBcHIgMjAwNCwgMTg6NTg6NDkpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwODMxNzEzODEgcmc9cGFydHkKfiMhIHRpZD0xMDgyNzk3MDk2CkNhdHR5IG9yZ2FuaXNpZXJ0ZSBkaWUgUGFydHkgcHJpdmF0IHVuZCBhdWYgZWlnZW5lcyBSaXNpa28sIGVzIGlzdCBnYW56CmFsbGVpbiBzZWluZSBFbnRzY2hlaWR1bmcgd2FzIG1pdCBkZW0gUmVzdGdlbGQgcGFzc2llcnQuIFdlZ2VuIG1pciBrb2VubnRlCmVyIGVzIGF1Y2ggYmVoYWx0ZW4gb2RlciBtaXQgZGVuIE1pdG9yZ2FuaXNhdG9yZW4gdmVyc2F1ZmVuLiAKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHlyZXN0Z2VsZCAoWm9vaywgMjguIEFwciAyMDA0LCAxOTowMDo0Nyk6Cn4jISBybj1Cb2luZyBydD0xMDgzMTcxNTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTA4Mjc5NzA5NgpPZGVyIGRlbiBHZXdpbm5lcm4gZGVyIHRvbGxlbiBQcmVpc2UgZWluIGtsZWluZXMgR2VsYWdlIHZlcmFuc3RhbHRlbjsgc28gYWxzCkVudHNjaGFlZGlndW5nLi4uLiA7KSkpCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHlyZXN0Z2VsZCAoRm9vYmFyLCAyOC4gQXByIDIwMDQsIDIwOjAxOjA3KToKfiMhIHJuPVpvb2sgcnQ9MTA4MzE3MTY0NyByZz1wYXJ0eQp+IyEgdGlkPTEwODI3OTcwOTYKQXUgamEuCgpJY2ggYmluIE1pdG9yZ2FuaXNhdG9yIF91bmRfIGhhYmVuIGRlbiB6d2VpdGVuIFByZWlzIGdld29ubmVuLCBzbyB2aWVsIEdlbGFnZQp1bmQgR2VzYXVmZSB1ZWJlcmxlYmUgaWNoIG5pY2h0IDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHlyZXN0Z2VsZCAoR2xvaW5zb24sIDI5LiBBcHIgMjAwNCwgMDA6NDg6NTEpOgp+IyEgcm49Wm9vayBydD0xMDgzMTcxNjQ3IHJnPXBhcnR5Cn4jISB0aWQ9MTA4Mjc5NzA5NgpOZXVlIFByZWlzZSBmdWVyIGRpZSBuYWVjaHN0ZSBUb21ib2xhIHZvcmZpbmFuemllcmVuIDspCgpBbiBkZXIgVG9tYm9sYSBoYWJlbiBkaWUgTGV1dGUgbWl0Z2VtYWNodCwgZGllIENhdHRpZSBHZWxkIGdlYmVuIHdvbGx0ZS4gWndhcgppbiBkZXIgQW5uYWhtZSwgZGFzcyBlciBzb25zdCB6dXNjaGllc3NlbiBtdWVzc3RlLCBhYmVyIHNvIG9kZXIgc28gZ2VzY2hlbmt0LgpXZXIgc2VpbmUgTG9zZSB6dXJ1ZWNrdGF1c2NoZW4gd2lsbCBrYW5uIHNpY2ggaW4gTWVnYXNjaG1hcnJuIGJldGVpbGlnZW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJyZXR0Li4uIChSb2xhbmQsIDE3LiBKdW4gMjAwNCwgMDI6MDY6NDgpOgp3aWUgbGFuZyB2b3JoZXIgd3VyZGUgZGFzIGltbWEgYXVmZ2VzdGVsbHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlicmV0dC4uLiAoQ2Fzc2FuZHJhLCAxNy4gSnVuIDIwMDQsIDEyOjE2OjE4KToKfiMhIHJuPVJvbGFuZCBydD0xMDg3NDMwODA4IHJnPXBhcnR5Cn4jISB0aWQ9MTA4NzQzMDgwOAp3ZWxjaGUgTWFnaWVyIGtvZW5uZW4gZGFzIGVpZ2VuZGxpY2ggYXVmc3RlbGxlbi4KCkhhbGxlLCBwYXJ0eW1hY2hlbmQgdW5kIG1hZ2llcmxvcwpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHlicmV0dC4uLiAoVmVjdG9yLCAxNy4gSnVuIDIwMDQsIDEzOjIyOjE1KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwODc0NzEyMTUgcmc9cGFydHkKfiMhIHRpZD0xMDg3NDMwODA4CmljaCBmaW5kZSBkaWUgb3JnYW5pc2F0b3JlbiBicmluZ2VuIHNjaG9uIGdlbnVnIG9wZmVyIC4uLi4gLm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJyZXR0IChIdW1uaSwgMTcuIEp1biAyMDA0LCAxNTowMTowOCk6CiRTVUJKRUNUIGV4aXN0aWVydCBpbiBkZW4gYmVrYW5udGVuIExva2FsaXRhZXRlbiB1bmQga2FubiBnZW51dHp0IHdlcmRlbiB6dW0KQmVodWZlIGRlciBBbm1lbGR1bmcuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YnJldHQgKFJvbGFuZCwgMTkuIEp1biAyMDA0LCAxNzowMToyMyk6Cn4jISBybj1IdW1uaSBydD0xMDg3NDc3MjY4IHJnPXBhcnR5Cn4jISB0aWQ9MTA4NzQ3NzI2OApTdXBpIGRhcyBkYXMgc28gc2NobmVsbCBnZWtsYXBwdCBoYXQuLi4uCgpEYW5uIGthbm4gZGllIEZldGUgamEgc3RlaWdlbgoKUm8qCgpQLlMuOiBQYXJ0eSBQYXJ0eSBQYXJ0eSBQYXJ0eSBQYXJ0eQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG90ZWxsaXN0ZSAoQ2Fzc2FuZHJhLCAyNS4gSnVuIDIwMDQsIDE4OjQ3OjUxKToKV2VyIGF1ZiBkZXIgU29tbWVycGFydHkgbmljaHQgYXVmIGRlbSBDYW1waW5ncGxhdHogdWViZXJuYWNodGVuIHdpbGwsIHNvbmRlcm4KZGFzIGJlcXVlbWVyZSBCZXR0IGVpbmVzIEhvdGVscyBvZGVyIGVpbmVyIFBlbnNpb24gdm9yemllaHQsIG1vZWdlIGVudHdlZGVyCmF1ZiBkZW4gU2VpdGVuIHZvbiBoYWxsZS5kZSBuYWNoc2VoZW4gb2RlciBlaW5lIE1haWwgc2NocmVpYmVuLgoKQ2Fzc3ksIEhvdGVsbGlzdGUgdmVyZmFzc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhvdGVsbGlzdGUgKENhc3NhbmRyYSwgMjUuIEp1biAyMDA0LCAyMDoyMzoyOSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA4ODE4MjA3MSByZz1wYXJ0eQp+IyEgdGlkPTEwODgxODIwNzEKQXVmIGRlciBTZWl0ZSAoaHR0cDovL3d3dy5oYWxsZS5kZSkgZmluZGVuIHNpY2ggbmF0dWVybGljaCBhdWNoIHdlaXRlcmUgSW5mb3MKdWViZXIgaGFsbGUgdW5kIGRhcnVlYmVyIHdhcyBtYW4gaGllciBtYWNoZW4ga2Fubi4gU29sbHRlbiBGcmFnZW4genUga29ua3JldGVuClZvcmhhYmVuIGF1ZnRhdWNoZW4gKGhhYiBpcmdlbmR3aWUgd2FzIHZvbiB0YXVjaGVuIGltIEhpbnRlcmtvcGYpLCBGcmFnZW4ga29zdApuaXggdW5kIGZ1ZWhydCBtaXR1bnRlciB6dSBMb2VzdW5nLgoKQ2Fzc3ksIFBhcnR5b3JnYXRlYW0gSGFsbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YnJldHRlciB2ZXJzY2h3dW5kZW4gKENhc3NhbmRyYSwgMjkuIEp1biAyMDA0LCAxNDowNDowNSk6CkFuc2NoZWluZW5kIGhhdCBBbWFnZWRvbiB6dW1pbmRlc3QgZWluaWdlIFBhcnR5YnJldHRlciBhdWZnZWZ1dHRlcnQuIFNvIGluIGRlcgpBYmVudGV1cmVyZ2lsZGUgdW5kIHdvaGwgYXVjaCBpbiBLYXR6bWFuZHUuIGRhcyBpbSBFbGZlbmhhaW4gaXN0IG5vY2ggZGEsIGRhc3MKc2NoZWludCBuaWNodCBnZXNjaG1lY2t0IHp1IGhhYmVuLgpLb2VubnRlIHNpY2ggZWluZXIgZGVyIG1hZ2llciBkaWVzZXIgc2FjaGUgYW5uZWhtZW4gdW5kIGRhZnVlciBzb3JnZW4gZGFzIGVyCmhldXRlIEFiZW5kIG5pY2h0IG5vY2ggbWVociB2ZXJzcGVpc3Qgc29uZGVyIGRpZSBhbmRlcmVuIHdpZWRlciB2b24gc2ljaCBnaWJ0LgoKQ2Fzc3ksIFNwaWVsZXJpbiB1bmQgUGFydHlvcmdhbmlzYXRvcmluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpraXNzZW5zY2hsYWNodCAoQ2Fzc2FuZHJhLCAgNS4gSnVsIDIwMDQsIDE2OjA0OjU0KToKRGllIE1HLVQtU2hpcnRzIHN0YXBwZWxuIHNpY2ggaW4gU2NocmFuawpEZW4gdmllbGVuIFBhcnR5cyBzZWkgZGFuawpUYXNzZW4gaGF0IGVzIGdyYWQgZ2VnZWJlbgpBdWYgZGFzIEt1ZWNoZW5zY2hyYWVua2UgYmViZW4KRHJ1bSBoYWJlbiB3aXIgZ2VkYWNodApXaXIgbWFjaGVuIGVpbmUgS2lzc2Vuc2NobGFjaHQuCgpFcyB3aXJkIHNvbWl0IHp1ciBTb21tZXJwYXJ0eSBhbnN0YXR0IHZvbiBULXNoaXJ0cyBvZGVyIFRhc3NlbiBLaXNzZW4gZ2ViZW4uCkRhcyBNb3RpdiBpc3QgaW4gQXJiZWl0IHVuZCB3aXJkIG5vY2ggYmVrYW5udGdlbWFjaHQuClZvbiBkZXIgR3JvZXNzZSBoZXIgc2luZCBkYXMgWmllcmtpc3Nlbi4KCkRlciBQcmVpcyB3aXJkIHNpY2ggamUgbmFjaCBtZW5nZSB6d2lzY2hlbiBjYS4gMTAgdW5kIDE1IEV1cm8gYmV3ZWdlbiAoaW5jbC4KRnVlbGx1bmcpCgpXZXIgc2ljaCBkaWVzZSBjaGFuY2Ugc2VpbmUgV29obnVuZyBNRy10YXVnbGljaCB6dSBnZXN0YWx0ZW4gbmljaHQgZW50Z2VoZW4KbGFzc2VuIHdpbGwgc2NocmVpYmUgZWluZSBNYWlsIGFuIEtpc3Nlbi4KQml0dGUgYW5nZWJlbiB3ZWxjaGVyIE5hbWUgZHJhdWYgc29sbCB1bmQgd2VsY2hlciBHaWxkZSBpaHIgYW5nZWhvZXJ0LgoKQ2Fzc3ksIFBhcnR5b3JnYXRlYW1oYWxsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5tZWxkZW4sIGFubWVsZGVuIHVuZCBub2NobWFscyBhbm1lbGRlbiAoTWllemUsICA1LiBKdWwgMjAwNCwgMjE6NTk6NTApOgpIYWxsbywgSWhyIHBvdGVudGllbGxlbiBQYXJ0eWdhZW5nZXIsCgp3aXIgbXVlc3NlbiB1bnMgYW4gZGllc2VtIERvbm5lcnN0YWcgZnVlciBlaW5lbiBQYXJ0eXJhdW0gZW50c2NoZWlkZW4uIERhcnVtCmlzdCBlcyB3aWNodGlnLCBtb2VnbGljaHN0IGJhbGQgenUgd2lzc2VuLCB3ZXIgenVyIFBhcnR5IGtvbW10LiBNaXQgZGVuIDE1CkFuZ2VtZWxkZXRlbiB3dWVyZGUgZGFzIHVuc2VyZSBmaW5hbnppZWxsZW4gTW9lZ2xpY2hrZWl0ZW4gc3ByZW5nZW4gb2RlciBkaWUKUGFydHkgd2lyZCB6aWVtbGljaCB0ZXVlciAod2FzIGF1Y2gga2VpbmVyIHdpbGwpLiBXYWhsd2Vpc2Uga29lbm5lbiB3aXIgYXVmCmRlbSBDYW1waW5ncGxhdHogd2FzIG9yZ2FuaXNpZXJlbiwgd2FzIGFiZXIgZ3V0ZXMgV2V0dGVyIHZvcmF1c3NldHplbiB3dWVyZGUKKGhhdCBab29rIHZpZWxsZWljaHQgZGEgU2NocmVpYnJlY2h0ZT8pLgoKTGFuZ2UgUmVkZSwgZ2FyIGtlaW4gU2lubjogTWVsZGV0IEV1Y2ggYml0dGUgc28gc2NobmVsbCB3aWUgbW9lZ2xpY2ggYW4uCgpNaWV6ZSAtIGRlciB2ZXJsYWVuZ2VydGUgQXJtIHZvbiBDYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IChDYXNzYW5kcmEsICA2LiBKdWwgMjAwNCwgMTc6MjU6MjMpOgpTbyBpY2ggbGVnZSBqZXR6dCBkZW4gUHJlaXMgZGVyIFBhcnR5IGZlc3QhCjIwIEV1cm9zIFZvcmthc3NlCjI1IEV1cm8gQWJlbmRrYXNzZQpEYXJpbiBlbnRoYWx0ZW4gUGFydHkgYW0gc2Ftc3RhZyB1bmQgRnJ1ZWhzdHVlY2sgYW0gU2Ftc3RhZwpXbyBkaWUgUGFydHkgYW0gU2Ftc3RhZyBudW4gZ2VuYXUgc3RhdHRmaW5kZXQgc3RlaHQgbGVpZGVyIGltbWVyIG5vY2ggbmljaHQKZmVzdCwgZGEgd2lyIG1pdCBiaXNoZXIgPCAyMCBhbm1lbGR1bmdlbiBrZWluZW4gUmF1bSBtaWV0ZW4ga29lbm5lbi4gQWxzbwpiaXR0ZSBmbGVpc3NpZyBhbm1lbGRlbiB3ZW5uIGlociBmZWllcm4gd29sbHQuCgpXZW5uIHNpY2ggZW50c3ByZWNoZW5kIHZpZWxlIGFubWVsZGVuIHVuZCB3aXIgdHJvdHogcmF1bW1pZXRlbiBvZGVyIGJlaQpibGVpYmVuZGVuIHphaGxlbiB3ZWdlbiBaZWx0cGxhdHpwYXJ0eSBnZWxkIHVlYmVyYmVoYWx0ZW4gc29sbHRlbiwgc28gZ2lidHMKZGllIHVlYmVyc2NodWVzc2UgenVydWVjay4KCkFubWVsZGVzY2hsdXNzIGZ1ZXIgZGllIFBhcnR5IGlzdCBkZXIgMjYuNy4wNApFaW5nYW5nc3NjaGx1c3MgZnVlcnMgZ2VsZCBkZXIgMzAuNy4KCkNhc3N5LCBQYXJ0eW9yZ2F0ZWFtIEhhbGxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiYW5rdmVyYmluZHVuZyAoQ2Fzc2FuZHJhLCAgNi4gSnVsIDIwMDQsIDE3OjMyOjQ3KToKQXVmIHd1bnNjaCBlaW5lciBlaW56ZWxuZW4gS2FlbXBmZXJpbiBoaWVyIG5vY2htYWwgZGllIEJhbmt2ZXJiaW5kdW5nCkphbmluZSBEb2hsZQpLVE4gMDIxMjc2NDI0OApCTFogMzAwMjA5MDAKQ2l0eWJhbmsKCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLaXNzZW5zY2hsYWNodCBkaWUgWndlaXRlIChLaXNzZW4sICA5LiBKdWwgMjAwNCwgMTk6MTM6NDMpOgpIYWxsbwppY2ggYmluIGVpbiBLaXNzZW4KTWl0IG1pciBrYW5uIG1hbiBlaW5lIEtpc3NlbnNjaGxhY2h0IG1hY2hlbgpTZWluIFNvZmEgdmVyICh1bikgemllcmVuCm9kZXIgYmVpbSBaZWx0ZW4gc2VpbiBtdWVkZXMgaGF1cHQgZHJhdWYgYXVmcnVoZW4KCklociB3b2xsdCBhdWNoIHNvIGVpbiBzY2hvZW5lcyBLaXNzZW4gaGFiZW4gd2llIGljaCBlaW5zIGJpbj8KbmEgZGFubiBzY2hyZWlidCBtaXIgZG9jaCBlaW5mYWNoLgpTY2hyZWlidCBtaXIgZXVyZW4gTmFtZW4gdW5kIHdlbGNoZXIgR2lsZGUgaWhyIGFuZ2Vob2VydCAoZnVlcnMgTW90aXYpCldlbm4gaWhyIGRpZXMgYmlzIHp1bSAyNi4gNy4gbWFjaHQgZGFubiBzdGVodCBkZW0gZXJ3ZXJiIGF1ZiBkZXIgUGFydHkgbml4Cm1laHIgaW0gd2VnZS4KQXVmIGRlciBQYXJ0eSBtdWVzc3QgaWhyIG1laW5lbiBWZXJ3YWx0ZXJuIG51ciBub2NoIDEwIGJpcyAxNSBFdXJvIGZ1ZXIgbWljaAp6YWhsZW4KClVuZCBkYW5uIGdlaG9lcmUgaWNoIGV1Y2ggdW5kIGlociBrb2VubnQgbWljaCBiZWtudWRkZWxuIG9kZXIgd2VyZmVuLgoKCktpc3NlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtpc3NlbnNjaGxhY2h0IGRpZSBad2VpdGUgKEdyYWxrb3IsIDEwLiBKdWwgMjAwNCwgMTk6NTg6MTQpOgp+IyEgcm49S2lzc2VuIHJ0PTEwODkzOTMyMjMgcmc9cGFydHkKfiMhIHRpZD0xMDg5MzkzMjIzCi4uLiB3b2JlaSBtaWNoIGRpZSBNb3RpdmUgc2VociB2aWVsIG1laHIgaW50ZXJlc3NpZXJlbiB3dWVyZGVuIDspCkFsc28gaG9jaGxhZGVuLiBCaXR0ZSA7KQpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVycGFydHkgKENhc3NhbmRyYSwgMjMuIEp1bCAyMDA0LCAxNzoxNDo0NSk6CkhhbGxvIHBvdGVuemllbGxlIHBhcnR5Z2FlbmdlcgppY2ggbW9lY2h0ZSBudXIgZGFyYW4gZXJpbm5lcm4gZGFzIGFtIG5hZWNoc3RlbiBNb250YWcgYW5tZWxkZXNjaGx1c3MgaXN0LgpXZW5uIGlociBlcyBldWNoIGFsc28gdWViZXJsZWd0IGhhYnQgenUga29tbWVuLCBzbyBtZWxkZXQgZXVjaCBhdWNoIGFuLgpJY2ggYnJhdWNoIGRpZSB6YWhsZW4genVyIFBsYW51bmcgdW5kIGF1Y2ggZGFtaXQgZ2VudWcgZXNzZW4gYW0gU2Ftc3RhZyBkYSBpc3QKZnVlciBkYXMgdmVyZnJlc3NlbmUgSG9iYml0LSB1bmQgc29uc3RpZ2UgTXVkZGVydm9say4gCgpBdWNoIG1vZWNodGUgaWNoIGRpZWplbmlnZW4gZGllIGFuZ2VtZWxkZXQgc2luZCBiaXR0ZW4gZGFzIGdlbGQgenUKdWViZXJ3ZWlzZW4uCkRpZSBNb3RpdmUgZGVyIEtpc3NlbiBsaWVnZW4gdm9yIChhdWNoIGVsZWt0cm9uaXNjaCkuIERhIGljaCBkaWVzZSBhYmVyIG5pY2h0CnNlbGJzdCBob2NobGFkZW4ga2FubiBzaW5kIGRpZXNlIGJlaSBtaXIgYWJ6dWZyYWdlbiBvZGVyIGVzIHN0ZWxsdCBzaWNoIGVpbgpsaWViZXIgbWFnaWVyIHp1ciB2ZXJmdWVndW5nIGRlbSBpY2ggc2llIG1haWxlbiBrYW5uLgoKQ2Fzc3ksIGpldHp0IGZlaWVyYWJlbmQgbWFjaGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IChab29rLCAyMy4gSnVsIDIwMDQsIDE5OjE1OjEwKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDkwNTk1Njg1IHJnPXBhcnR5Cn4jISB0aWQ9MTA5MDU5NTY4NQpMZWcgc2llIGVpbmZhY2ggYXVmIGRlbiBGVFAtU2VydmVyIGFiIHVuZCBtYWlsIG1pY2ggZGFubiBhbiwgaWNoIHN0ZWxsIHNpZQppbnMgTmV0ei4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgKENhc3NhbmRyYSwgMjQuIEp1bCAyMDA0LCAxNTo0MDozNik6Cn4jISBybj1ab29rIHJ0PTEwOTA2MDI5MTAgcmc9cGFydHkKfiMhIHRpZD0xMDkwNTk1Njg1CmRvbmUKY2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5IChSaWt1cywgMjYuIEp1bCAyMDA0LCAwOToxNToxMik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA5MDY3NjQzNiByZz1wYXJ0eQp+IyEgdGlkPTEwOTA1OTU2ODUKZmFsbHMgaWNoIGRvY2ggWmVpdCBmaW5kZS4uLiBXZXIgaGFldHRlIGZ1ZXIgRnJlaXRhZyBiaXMgU29ubnRhZyBlaW4KUGxhZXR6Y2hlbiBmdWVyIG1pY2ggaW0gWmVsdD8KCkdydXNzLCBSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VnYmVzY2hyZWlidW5nLCBLaXNzZW4gZXRjLiAoWm9vaywgMjYuIEp1bCAyMDA0LCAxNDoyNDozNyk6Cn4jISBvbj1BbnRoZWEgb3Q9MTA5MDg0NDU3MSBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1ab29rIHJ0PTEwOTA4NDQ0MTMgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwOTA4NDIwNDQKQXVzc2VyZGVtIHNpbmQgVW1sYXV0ZSBpbiBEYXRlaWVuIEJPRVNFLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWdiZXNjaHJlaWJ1bmcsIEtpc3NlbiBldGMuIChab29rLCAyNi4gSnVsIDIwMDQsIDE0OjI0OjQ5KToKfiMhIG9uPVpvb2sgb3Q9MTA5MDg0NDIxNSBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1ab29rIHJ0PTEwOTA4NDM3MDAgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwOTA4NDIwNDQKQWgsIGljaCBtYWNoIHNpZSBtYWwgZ3JhZCBzZWxic3QgZWluIHdlbmlnIGtsZWluZXIuIERhbmsgYW4gTWFyY3VzLCBkZXIgbWlyCm5lbiBQcm9ncmFlbW1lbGNoZW4gZ2VuYW5udCBoYXQuIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvbW1lcnBhcnR5IChNaWV6ZSwgMjYuIEp1bCAyMDA0LCAyMjo1MzoyMyk6Cn4jISBybj1SaWt1cyBydD0xMDkwODI2MTEyIHJnPXBhcnR5Cn4jISB0aWQ9MTA5MDU5NTY4NQoKSWNoIGthbm4gRGlyIGVpbiBaZWx0IG1pdGJyaW5nZW4sIHNjaGxhZmUgYWJlciB3ZWljaGVpZXJtYWVzc2lnIHp1IEhhdXNlLgoKTWllemUgLSBwYWNrdCBlaW4gWmVsdCBmdWVyIFJpa3VzIGVpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcnBhcnR5IChab29rLCAyNy4gSnVsIDIwMDQsIDEwOjE1OjEwKToKfiMhIHJuPU1pZXplIHJ0PTEwOTA4NzUyMDMgcmc9cGFydHkKfiMhIHRpZD0xMDkwNTk1Njg1CkRhcyBlcmlubmVydCBtaWNoIGFuIGx1c3RpZ2UgYWJlbmRsaWNoZSBBdWZiYXUtVmVyc3VjaGUgYXVmIGlyZ2VuZGVpbmVyCk11ZC1QYXJ0eS4uLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcnBhcnR5IChSaWt1cywgMjcuIEp1bCAyMDA0LCAxMDoyOTo0Nik6Cn4jISBybj1NaWV6ZSBydD0xMDkwODc1MjAzIHJnPXBhcnR5Cn4jISB0aWQ9MTA5MDU5NTY4NQpzZWxiZXIga2FubiBpY2ggYXVjaCBtZWhyZXJlIG1pdGJyaW5nZW4gOikgYWJlciBmYWxscyB3byBlaW4gcGxhdHogZnJlaSB3YWVyZSwKd2FlcmUgZGllcyBqYSBlaW5mYWNoZXIuCgpyaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2lzc2VuYW5uYWhtZSBiZWVuZGV0IChLaXNzZW4sIDI3LiBKdWwgMjAwNCwgMTg6NDA6MTQpOgpXaWUgZGVyIG5hbWUgc2Nob24gc2FndCBpc3QgZGllIGJlc3RlbGxhbm5haG1lIGhpZXJtaXQgYmVlbmRldC4KaWNoIHdlcmQgamV0enQgbWl0IG5hbWVuIHZlcnNlaGVuIHVuZCBpbiBEcnVjayBnZWdlYmVuIGF1ZiBkYXMgaWhyIG1pY2gsIHNvCmlociBtaWNoIGJlc3RlbGx0IGhhYnQsIGJhbGQga251ZGRlbG4ga29lbm50LgoKCktpc3NlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbXVzaWsgKENhc3NhbmRyYSwgMjguIEp1bCAyMDA0LCAxNDo1NjowNyk6Cldlbm4gaWhyIGFtIFBhcnR5YWJlbmQgbm9jaCBhbmRlcmUgTXVzaWsgaG9lcmVuIHdvbGx0LCBhbHMgZGFzIHdhcyBzaWNoIHNvIGJlaQptaXIgb2RlciBNaWV6ZSBpbSBTY2hyYW5rIGZpbmRlbiBsYWVzdHQsIHNvIHdhZXJzIGd1dCB3ZW5uIGlociBkYXMgYXVmIENECm1pdGJyaW5nZW4gd3VlcmRldC4gCldpZSBnZXNhZ3QgQ0QsIE1pbWlkaXNjIGV0YyBzY2hlaW50cyBkb3J0IG5pY2h0IHp1IGdlYmVuLgpBbnNvbnN0ZW4gYmVzY2hhbGxlbiB3aXIgZXVjaCBoYWx0IG1pdCB1bnNlcmVyIG11c2lrLgoKQ2Fzc3kKClAuUy4gYWJlciBuZSBwYXJ0eSBtaXQga2xhc3Npc2NoZXIgbXVzaWsgd2FlciBzaWNoZXIgYXVjaCBtYWwgZ2FueiBuZXR0IDstKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtdXNpayAoRGVlcGJsdWUsIDI4LiBKdWwgMjAwNCwgMTU6MzQ6MjApOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwOTEwMTkzNjcgcmc9cGFydHkKfiMhIHRpZD0xMDkxMDE5MzY3CktsYXNzaWs/IFN0ZWxsdCBBbmF0b2wgbmVuIEtsYXZpZXIgaGluIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG11c2lrIChBcmssIDI4LiBKdWwgMjAwNCwgMTg6MTI6MjIpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTA5MTAyMTY2MCByZz1wYXJ0eQp+IyEgdGlkPTEwOTEwMTkzNjcKRGFzIHdhZXJlIGVpbiBLbGFzc2lrZXIuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VicGFnZSB2b20gTm9yZGJhZCAoQ2Fzc2FuZHJhLCAyOS4gSnVsIDIwMDQsIDE0OjAxOjI4KToKQXVmIGFucmVndW5nIHVuZCBuYWNoIGVpbmlnZXIgc3VjaGUsIGhpZXIgZGllIGhvbWVwYWdlIHZvbiBkZW0KY2FtcGluZ3BsYXR6L3NjaHdpbW1iYWQ6Cnd3dy5iYWRlYmV0cmllYi5kZS9oYWxsZS9ub3JkYmFkL2luZGV4Lmh0bQoKTnVyIHNvIGFscyBrbGVpbmVuIFZvcmdlc2NobWFjayBhdWZzIGJhZGV2ZXJnbnVlZ2VuLgoKCkNhc3N5LCBzaWNoIHNjaG9uIGZyZXVlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWJwYWdlIHZvbSBOb3JkYmFkIChDYXNzYW5kcmEsIDI5LiBKdWwgMjAwNCwgMTQ6MDc6MTYpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwOTExMDI0ODggcmc9cGFydHkKfiMhIHRpZD0xMDkxMTAyNDg4CkRpZSB3ZWdiZXNjaHJlaWJ1bmcgYXVmIGRlciBTZWl0ZSBpc3QgZmVoZWxlcmhhZnQvdmVyYWx0ZXQuIERpZSBoYWx0ZXN0ZWxsZQpoZWlzc3QgaW56d2lzY2hlbiBQZmFycnN0cmFzc2UuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JpbGxlbiAoQ2Fzc2FuZHJhLCAyOS4gSnVsIDIwMDQsIDE0OjE0OjM0KToKaGF0IHdlciB2b24gZGVuIE1vbnRhZ3Mga29tbWVuZGVuIEF1dG9mYWhyZXJuIG5lbiBHcmlsbCBkYWhlaW0gZGVuIGVyCmVpbnBhY2tlbiBrYW5uLiBkYW5uIG11ZXNzdGUgaWNoIGtlaW5lbiBrYXVmZW4uCkFsc28gd2VubiBlaW5lciBlaW5lbiBtaXRicmluZ2VuIGthbm4gYml0dGUgbWFpbCBhbiBtaWNoIGFuc29uc3RlbiBrYXVmIGljaApoYWx0IGVpbmVuLCBtdXNzIGFiZXIgamEgbmljaHQgc2VpbiwgZ3JpbGxlbiBhYmVyIHNjaG9uLgoKQ2Fzc3ksIGRpZSB6ZWl0dW5nIHZvbGxtdWVsbGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2luby1Wb3JzY2hsYWcgKFJvaGxvZmYsIDMwLiBKdWwgMjAwNCwgMTE6MTg6MDIpOgpIaSwKCmhhYiBtaXIgbWFsIGRhcyBLaW5vcHJvZ3JhbW0gaW4gSGFsbGUgYW5nZXNlaGVuICh3d3cuY2luZW1hLmRlKSB1bmQgaGFiIHNlaHIKdWViZXJyYXNjaHQgZmVzdGdlc3RlbGx0LCBkYXNzIGFtIE1pdHR3b2NoIEJsYWRlIFJ1bm5lciBsYWV1ZnQuCldhZXIgZG9jaCBiZXN0aW1tdCBzdXBlciBkZW4gaW0gS2lubyB6dSBzZWhlbiBtaXQgZmV0dGVtIFNvdW5kLgpBbnNvbnN0ZW4gbW9lY2h0ZSBpY2ggbWlyIGVpZ2VudGxpY2ggbm9jaCBCZWZvcmUgU3Vuc2V0IGFuc2VoZW4uCgpXaWUgc3RlaGVuIGJlaSBFdWNoIGRpZSBJbnRlcmVzc2VuIGZ1ZXIncyBLaW5vPwoKUm9obG9mZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtpbm8tVm9yc2NobGFnIChNb3Jnb3RoLCAzMC4gSnVsIDIwMDQsIDExOjE4OjQ4KToKfiMhIHJuPVJvaGxvZmYgcnQ9MTA5MTE3OTA4MiByZz1wYXJ0eQp+IyEgdGlkPTEwOTExNzkwODIKWmVpZ2VuIGRpZSBhdWNoIE9yaWdpbmFsZmFzc3VuZ2VuPwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2luby1Wb3JzY2hsYWcgKFJvaGxvZmYsIDMwLiBKdWwgMjAwNCwgMTE6MjM6MzMpOgp+IyEgcm49TW9yZ290aCBydD0xMDkxMTc5MTI4IHJnPXBhcnR5Cn4jISB0aWQ9MTA5MTE3OTA4MgpBbnNjaGVpbmVuZCBuaWNodC4gTGVpZGVyLgpSLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVlY2tmYWhydCB2b24gSGFsbGUgKE5vbm5lLCAzMC4gSnVsIDIwMDQsIDEzOjMyOjM3KToKSWNoIHVlYmVybGVnZSBhdWNoIG5vY2ggenUga29tbWVuLCBkYWhlciBzdWNoZSBpY2ggTWl0ZmFocmdlbGVnZW5oZWl0ZW4uIEdpYnMKTGV1dGUsIGRpZSBpbiBkZXIgV29jaGUgbm9jaCBuYWNoIEhhbGxlIGZhaHJlbiBhdXMgUmljaHR1bmcgUnVocmdlYmlldCwgYnp3IGFtClNvbm50YWcgbWVpbmUgUnVja3NhY2sgdW5kIG1pY2ggbWl0IHp1cnVlY2sgbmVobWVuIGtvZW5uZW4/CgpOb25uZSwgaG9mZnQgYXVmIE1haWxzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2luby1Wb3JzY2hsYWcgKENhc3NhbmRyYSwgMzAuIEp1bCAyMDA0LCAxNTozODoyOSk6Cn4jISBybj1Sb2hsb2ZmIHJ0PTEwOTExNzk0MTMgcmc9cGFydHkKfiMhIHRpZD0xMDkxMTc5MDgyCk5laW4gbm9ybWFsZXJ3ZWlzZSBsZWlkZXIga2VpbmUgb3JpZ2luYWxmYXNzdW5nZW4uCgpBbGxlcmRpbmdzIHd1ZXJkZSBtaWNoIGltIG1vbWVudCBlaGVyIEZhcmVuaGVpdCA5LzExIG9kZXIgc3VwZXJzaXplIG1lIHJlaXplbi4KQmVpZGUgc2NoZWluZW4gaW0gb3JpZ2luYWwgbWl0IHVudGVydGl0ZWwgenUgbGF1ZmVuLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtpbm8tVm9yc2NobGFnIChLYXJpbWEsIDMwLiBKdWwgMjAwNCwgMTc6NDg6NTIpOgp+IyEgcm49Um9obG9mZiBydD0xMDkxMTc5NDEzIHJnPXBhcnR5Cn4jISB0aWQ9MTA5MTE3OTA4MgpBbHNvIGljaCBoYWV0dGUgYXVmIGplZGVuIEZhbGwgbHVzdC4gRGVuIEZpbG0gd29sbHQgaWNoIGltbWVyIG1hbCBzZWhlbiwKbmFjaGRlbSBpY2ggZGFzIEJ1Y2ggZ2VsZXNlbiBoYWJlIChzZWhyIGVtcGZlaGxlbnN3ZXJ0IHVlYnJpZ2VucykKCkthcmltYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2hpc2t5IChNYWhhcmV0LCAzMS4gSnVsIDIwMDQsIDIyOjQ0OjE4KToKT2J3b2hsIHNpY2ggZGllIEthcmxzcnVoZXIgdW5kIGVpbmVyIHVud2FtcGlnZXIgTXVlbnN0ZXJhbmVyIGRydWVja2VuLCBoYWJlbgpzaWNoIExldXRlIGdlZnVuZGVuLCBkaWUgZGllIG1pdHRsZXJ3ZWlsZSBzY2hvbiB0cmFkaXRpb25lbGxlCldoaXNreXZlcmtvc3R1bmdzcnVuZGUgYXVjaCBpbiBIYWxsZSBkdXJjaGZ1ZWhyZW4gd29sbGVuLiAgV2VyIG1pdG1hY2hlbiB3aWxsLApzb2xsdGUgZWluZW4gZ2VlaWduZXRlbiBXaGlza3kgYmVzdGV1ZXJuLiAgRGVua3QgYW4gcGFzc2VuZGUgR2xhZXNlci4KCkd1dCBTdWZmLCAKTWFoYXJldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3V1dXBpIDopIChNb3Jnb3RoLCAgOC4gQXVnIDIwMDQsIDIzOjUxOjIxKToKClZvbiBtaXIgZWluIERhbmtlc2Nob2VuIGFuIGRpZSBQYXJ0eS1PcmdhLCBmdWVyIGRpZXNlIFN1cGVyZ2VpbGUsIHdlbm4gYXVjaApzZWhyIGhlaXNzZSwgV29jaGUgOikKQXVzenVlZ2UgZGVyIExvZ2ZpbGVzIGZvbGdlbiA6KQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdXV1cGkgOikgKE1pcmlsLCAgOS4gQXVnIDIwMDQsIDAwOjI5OjU0KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA5MjAwMTg4MSByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwMDE4ODEKR2VuYXUhIFZpZWxlbiBEYW5rIGF1Y2ggdm9uIG1pciBhbiBDYXNzYW5kcmEsIGRpZSB3b2hsIGRpZSBIYXVwdGFyYmVpdCBtaXQKZGVyIFBhcnR5IGhhdHRlLgoKRWluZSBXb2NoZSBnZWlsZXMgV2V0dGVyLCBGcnVlaHN0dWVjayBiZWkgTWNEb29mIGdlZ2VuIGhhbGIgOSwgYWJoYWVuZ2VuIGltClNjaHdpbW1iYWQgYmlzIGFiZW5kcywgZGFuYWNoIGdyaWxsZW4gdW5kIHJvbGxlbnNwaWVsZW4gd2FyIHNlaHIgZW50c3Bhbm5lbmQuClp1ciBhbGxnZW1laW5lbiBVbnRlcmhhbHR1bmcgdHJ1Z2VuIGF1Y2ggZGllIGltIGdld2FndGVyZW4gU3BydWVuZ2UgZWluaWdlcgpIZWxkZW4gYmVpLCBkZW5lbiBlcyBpbSBMYXVmZSBkZXIgV29jaGUgZ2VsYW5nLCBkYXMgTXVoIGF1Y2ggdW50ZXIgZGVuIAphbndlc2VuZGVuIE5QQ3MgaW0gU2Nod2ltbWJhZCB6dSB2ZXJicmVpdGVuLiBFaW5lciB2b24gZGllc2VuLCBlaW4gZXR3YSAKMTMgamFlaHJpZ2VyIEp1bmdlIGthbSBzb2dhciBhbSBTYW1zdGFnIHp1IGVpbmVtIG5pY2h0IG5hZWhlciBnZW5hbm50ZW4Kc2Nod2FyemVuIERyYWNoZW4sIHVtIGRpZXNlbSBtaXR6dXRlaWxlbiwgZGFzcyBpaG4gZGFzIGJlc29uZGVycyBkdXJjaGRyaW5nZW4tCmRlIEdlbXVoZSBkZXMgRHJhY2hlbiBpbnNwaXJpZXJ0ICBoYWJlLCBkYXMgTXVoIGF1Y2ggaW4gSGFsbGUgd2VpdGVyIHp1IAp2ZXJicmVpdGVuLgpNaXNzaW9uIGVyZnVlbGx0LCB3dWVyZGUgaWNoIHNhZ2VuLgoKSWNoIGZyZXVlIG1pY2ggamVkZW5mYWxscyBzY2hvbiBhdWYgZGllIG5hZWNoc3RlIFNvbW1lcnBhcnR5LCBkaWUgaWNoCmR1cmNoYXVzIGdlcm5lIGluIGRlciBTY2h3ZWl6IGJlc3VjaGVuIHd1ZXJkZS4KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1dXVwaSA6KSAoQXN1a2EsICA5LiBBdWcgMjAwNCwgMDc6MjQ6MTYpOgp+IyEgcm49TWlyaWwgcnQ9MTA5MjAwNDE5NCByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwMDE4ODEKRGFubiBtb2VjaHRlIGljaCBtaWNoIGF1Y2ggbWFsIGJlaSBDYXNzYW5kcmEgZnVlciBkaWUgV29jaGUgYmVkYW5rZW4uCkF1Y2ggd2VubiBpY2ggZGFzIHp3aXNjaGVuemVpdGxpY2ggbWVociBhbHMgYW5zdHJlbmdlbmQgZW1wZnVuZGVuIGhhYiwKd2FyIGVzIGRvY2ggZWluZSB0b2xsZSBXb2NoZS4KCkdydXNzCkFzdWthCgpQUzogRWluZW4gZXh0cmEgRGFuayB3aWxsIGljaCBhdWNoIG5vY2htYWwgYW4gTWFoYXJldCB1bmQgTWVzaXJpaSBnZWJlbiwKd2VsY2hlIHNpY2ggbWVociBhbHMgZWlubWFsIHVtIG1pY2ggZ2VrdWVtbWVydCBoYWJlbiB3ZW5uIG1laW5lIE5lcnZlbgp3aWVkZXIgdG90YWwgYmxhbmsgd2FyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdXV1cGkgOikgKE1haGFyZXQsICA5LiBBdWcgMjAwNCwgMDg6NTM6MDMpOgp+IyEgcm49QXN1a2EgcnQ9MTA5MjAyOTA1NiByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwMDE4ODEKQXVjaCB2b24gbWlyIERhbmsgYW4gQ2Fzc2FuZHJhIGZ1ZXIgZGllIE9yZ2FuaXNhdGlvbiwgYW4gZGllIFNvbm5lIGZ1ZXJzClNjaGVpbmVuLCBhbiBkYXMgV2Fzc2VyIGZ1ZXJzIEFia3VlaGxlbiwgYW4gZGllIFdlc3BlbiBmdWVycyBudXIgZWlubWFsaWdlClN0ZWNoZW4sIGFuIGRpZSBNdWVja2VuIHVuZCBiaXNzaWdlbiBLYWVmZXIgZnVlcnMgSW4tUnVoZS1MYXNzZW4gKGFldHNjaCkgdW5kCmFuIGRhcyBNdWggaW0gYWxsZ2VtZWluZW4uCgpNYWhhcmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdXV1cGkgOikgKE5vbm5lLCAgOS4gQXVnIDIwMDQsIDA4OjU2OjM3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5MjAzNDM4MyByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwMDE4ODEKV2VubiBkdSBkYXMgV2Fzc2VyIHNvIHRvbGwgZmFuZGVzdCwgd2llc28gaGFzdCBkdSBkaWNoIGRhbm4gc28gZ2V3ZWhydD8gRGFubgp3YWVyZSBkYXMgYWxsZXMgbmljaHQgcGFzc2llcnQgKmhldWwqCgpOb25uZS4KClAuUzogQXVjaCB2b24gbWlyIGVpbmVuIERhbmsgYW4gQ2Fzc2FuZHJhIGZ1ZXIgZGllIHZpZWxlbiBNdWVoZW4sIGRpZSBzaWUgYXVmCnNpY2ggZ2Vub21tZW4gaGF0LCB1bnMgZWluZSBuZXR0ZSBXb2NoZSB6dSBiZXJlaXRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFN1dXVwaSA6KSAoTWFoYXJldCwgIDkuIEF1ZyAyMDA0LCAwODo1ODoxMyk6Cn4jISBybj1Ob25uZSBydD0xMDkyMDM0NTk3IHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjAwMTg4MQpJY2ggaGFiZSBtaWNoIG5pY2h0IGdld2VocnQuIEljaCBoYWJlIG1pY2ggYW4gZGljaCBnZWtsYW1tZXJ0LiAKCk1haGFyZXQsIGtvbm50ZSBuaWNodCB2b24gTm9ubmUgbGFzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb3RvcyAoWm9vaywgIDkuIEF1ZyAyMDA0LCAwOToyMToyOCk6CkVyc3RlIEJpbGRlciBoYXQgTGVpYmkgZWluZ2VyZWljaHQgdW5kIGRpZXNlIHNpbmQgbnVuIGltIE5ldHoKYW5zZWhiYXI6IGh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMjYvZm90b3MubGVpYmkKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm90b3MgKEdyaW1tYm9ybiwgIDkuIEF1ZyAyMDA0LCAxMDoxMToxMyk6Cn4jISBybj1ab29rIHJ0PTEwOTIwMzYwODggcmc9cGFydHkKfiMhIHRpZD0xMDkyMDM2MDg4CkF1Y2ggdm9uIG1pciBlaW5lbiBoZXJ6bGljaGVuIERhbmsgYW4gZGllIFBhcnR5b3JnYW5pc2F0b3JlbiwgZGllIGhpZXIgZWluZQpzY2hvZW5lLCBlcmhvbHNhbWUgdW5kIHJ1aGlnZSBaZWl0IGltIE1HIGVycmVpY2h0IGhhYmVuLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGb3RvcyAoWm9vaywgIDkuIEF1ZyAyMDA0LCAxMDoxMTo1Mik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5MjAzOTA3MyByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwMzYwODgKQmxlaWIgd2VuaWdzdGVucyBpbSByZWNodGVuIFRocmVhZC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdXV1cGkgOikgKEFyaywgIDkuIEF1ZyAyMDA0LCAxMDoyMzowOCk6Cn4jISBybj1Ob25uZSBydD0xMDkyMDM0NTk3IHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjAwMTg4MQpXaWUgamV0eiwgZGllIEJvcnVzc2lhIGhhZXR0ZSBkYW5uIGdld29ubmVuPwoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN1dXVwaSA6KSAoSHVtbmksICA5LiBBdWcgMjAwNCwgMTI6MTU6MTEpOgp+IyEgcm49QXJrIHJ0PTEwOTIwMzk3ODggcmc9cGFydHkKfiMhIHRpZD0xMDkyMDAxODgxCkJlZGFua2VuIGJlaSBDYXNzYW5kcmEgd29sbHRlIGljaCBtaWNoIGF1Y2ggbm9jaC4gVW5kIGJlaSBkZW4gTlBDcywgZGFzcyBzaWUKc2ljaCB3aXJrbGljaCBzbyBsZWljaHQgYmVlaW5mbHVzc2VuIGxpZXNzZW4gd2llIGdlZGFjaHQuCgpEYXMgTXVoIGlzdCBzdGFyayEKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTdXV1cGkgOikgKENhc3NhbmRyYSwgIDkuIEF1ZyAyMDA0LCAxMzozMzoxMSk6Cn4jISBybj1IdW1uaSBydD0xMDkyMDQ2NTExIHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjAwMTg4MQpJY2ggbW9lY2h0ZSBtaWNoIGF1Y2ggYmVkYW5rZW4gdW5kIHp3YXIgYmVpIGFsbGVuIGRpZSBnZWtvbW1lbiBzaW5kIHVuZCBzbwpkYXp1IGJlaWdldHJhZ2VuIGhhYmVuIGVpbmUgc2Nob2VuZSBXb2NoZSB6dSB2ZXJicmluZ2VuLiBBdWNoIGFuIGRlbgpXZXR0ZXJnb3R0IGVpbiBoZXJ6bGljaGVzIERhbmtlc2Nob2VuIGRhcyBlciB1bnMgbmUgc3VwZXItc29ubmVuLXdvY2hlCmJlc2Nod2VydCBoYXQuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZvdG9zIChDYXR3ZWF6bGUsICA5LiBBdWcgMjAwNCwgMTU6MDM6NDcpOgp+IyEgcm49Wm9vayBydD0xMDkyMDM2MDg4IHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjAzNjA4OApTb2ViZW4gZWluZ2V0cm9mZmVuIHVuZCBkaWNodCBhdWZlaW5hbmRlciBnZWZvbGd0IHNpbmQgQmlsZGVyIHZvbiBNZXNpcmlpIHVuZApBc3VrYSAoenUgZmluZGVuIHVlYmVyIGh0dHA6Ly9tZy5tdWQuZGUvUGFydHkvUGFydHkuMjYvKS4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaG1tIChBbGJvaW4sICA5LiBBdWcgMjAwNCwgMTY6MTE6NTUpOgpNaWNoIHd1ZXJkZSBtYWwgaW50ZXJlc3NpZXJlbiwgd2VyIHZvbiBFdWNoIGluIEhhbGxlIHVlYmVyaGF1cHQgc2VpbmUKVWViZXJuYWNodHVuZyB1bmQgZGFzIEJhZGVuIGJlemFobHQgaGF0LiAKCkFsLCBkZXIgYWxsZXMgYnJhdiBiZXphaGx0IGhhdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhtbSAoRGFya2xvciwgIDkuIEF1ZyAyMDA0LCAxNjo1OToxMyk6Cn4jISBybj1BbGJvaW4gcnQ9MTA5MjA2MDcxNSByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwNjA3MTUKTWVpbmVyIGVpbmVyIHdhaHIgZWhybGljaC4uLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBobW0gKE1haGFyZXQsICA5LiBBdWcgMjAwNCwgMTc6MDA6NTUpOgp+IyEgcm49RGFya2xvciBydD0xMDkyMDYzNTUzIHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjA2MDcxNQpXYXMgc29sbCBkZW5uIGRpZXNlIEZyYWdlPyBJY2ggd2Vpc3Mgdm9uIGtlaW5lbSwgZGVyIG5pY2h0IGJlemFobHQgaGFldHRlLiAKCk1haGFyZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGhtbSAoQWxib2luLCAgOS4gQXVnIDIwMDQsIDE3OjAzOjU1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5MjA2MzY1NSByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwNjA3MTUKd2VpbCBpY2ggbmllIGtvbnRyb2xsaWVydCB3dXJkZTogd2VkZXIgaW0gQmFkIG5vY2ggYmVpbSBaZWx0ZW4uIFVuZCBmdWVycyBCYWQKaGFiZSBpY2ggc29nYXIgbmFjaHRyYWVnbGljaCBiZXphaGx0LiBKZWRlbmZhbGxzIHdhZXJlIGVzIGtlaW5lbSBhdWZnZWZhbGxlbiwKd2VubiBpY2ggZXMgc2VpbiBnZWxhc3NlbiBoYWV0dGUuCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogaG1tIChOb25uZSwgIDkuIEF1ZyAyMDA0LCAxODowMzowNik6Cn4jISBybj1BbGJvaW4gcnQ9MTA5MjA2MzgzNSByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwNjA3MTUKSWNoIGtlbm5lIG1pbmRlc3RlbnMgZWluZSwgZGllIHZvcnNhZXR6bGljaCBuaWNodCBnZXphaGx0IGhhdC4KCk5vbm5lLCBrZWluIERlbnVuemlhbnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBobW0gKENhc3NhbmRyYSwgIDkuIEF1ZyAyMDA0LCAxODo1NToyMSk6Cn4jISBybj1Ob25uZSBydD0xMDkyMDY3Mzg2IHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjA2MDcxNQpkaWVqZW5pZ2VuIGRpZSBhbmZhbmdzIGRlciB3b2NoZSBzY2hvbiBkYSB3YWhyZW4gc29sbHRlbiBhbGxlIGJlemFobHQgaGFiZW4uCmFtIGVuZGUgaGFiIGljaCBkZW4gdWViZXJibGljayB2ZXJsb3Jlbi4gRmFpciBpc3RzIG5hdHVlcmxpY2ggbmljaHQsIGFiZXIKcGFzc2llcmVuIHR1dHMgbGVpZGVyIGltbWVyIHdpZWRlci4KCkNhc3N5LCBhdWNoIGJyYXYgYWxsZXMgYmV6YWhsdCBoYWJlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTdXV1cGkgOikgKE1pZXplLCAgOS4gQXVnIDIwMDQsIDE4OjU3OjQ5KToKfiMhIHJuPUh1bW5pIHJ0PTEwOTIwNDY1MTEgcmc9cGFydHkKfiMhIHRpZD0xMDkyMDAxODgxCgpBdWNoIGVpbiByaWVzaWdlcyBEYW5rZSB2b24gbWlyIGFuIENhc3NhbmRyYSwgZGllIGFsbGVzIGFsbGVpbiBvcmdhbmlzaWVydApoYXQsIHdlaWwgd2lyIHJlc3RsaWNoZW4gSGFsdW5rZW4gc2llIHNvIHNjaG9lbiBpbSBTdGljaCBnZWxhc3NlbiBoYWJlbi4KCk1pZXplIC0gYmVzY2hhZW10LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3V1dXBpIDopIChSb2xhbmQsIDEwLiBBdWcgMjAwNCwgMDA6NDM6MTIpOgp+IyEgcm49TWFoYXJldCBydD0xMDkyMDM0MzgzIHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjAwMTg4MQpBdWNoIHZvbiBtaXIsIGFuIGRpZXNlciBzdGVsbGUgZWluIFN1cGkuCkRpZSBXb2NoZSB3YXIgbWFsIHdpZWRlciByaWNodGlnIGdlaWwuIEJlc29uZGVycyBuYWNoIGRlbSBTdHJlc3Mgd28gaWNoIGRpZQpsZXR6ZW4gd29jaGVuIGhhdGUgaGF0IG1pciBkYXMgcmljaHRpZyBndXQgZ2V0YW4hCgpNaXIgaGF0enMgbWFsIHdpZWRlciBTcGFzcyBnZW1hY2h0LgoKSW4gZGllc2VtIFNpbm5lIC4uLiBUaHggdW5kIC4uLgouLjpzYWd0IG1pdCBIb2hlciBTdGltbWU6ICdpY2ggYnJpbmdlIGV1Y2ggRnJpZWRlbicgICA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVjaCBlaW5lIGdhbnplIFdvY2hlIGlzdCB2aWVsIHp1IHNjaG5lbGwgdm9yYmVpIChNZXNpcmlpLCAxMC4gQXVnIDIwMDQsIDAwOjQ1OjE0KToKQXVjaCBpY2ggc2NobGllc3NlIG1pY2ggbWVpbmVuIE1pdHBhcnR5Z2Flbmdlcm4gYW4KdW5kIGRhbmtlIENhc3NhbmRyYSBmdWVyIGRpZSBwcmltYSBPcmdhbmlzYXRpb24uIFdhciBlaW5lCnNjaG9lbmUgV29jaGUgbWl0IEV1Y2ggYWxsZW4genVzYW1tZW4uIE11ZGRlciBzaW5kIGRvY2gKZGllIGJlc3RlbiBNaXR1cmxhdWJlci4KCk1lc2ksIGZhZWhydCBqZXR6dCBlcnN0bWFsIHp1ciBFcmhvbHVuZyAxMCBUYWdlIGFuIGRpZSBPc3RzZWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN1dXVwaSA6KSAoT3JrdG9ldGVyLCAxMC4gQXVnIDIwMDQsIDEwOjQ3OjIxKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5MjAzNDM4MyByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwMDE4ODEKQXVjaCB2b24gbWlyIGVpbiBEQU5LRSEKQWJnZXNlaGVuIHZvbiBlaW5lbSBsZWljaHRlbiAqaHVlc3RlbCogU2NobGFmZGVmaXppdCB3YXIgZGFzIGVpbmUKU3VwZXJlcmhvbHNhbWUgV29jaGUuCkRhcyBuYWNoIGRlbSBzY2hsZWNodGVuIFN0YXJ0IG5vY2ggZWluZSBnYW56ZSBXb2NoZSBzdGFobGVuZHN0ZXIgU29ubmVuc2NoZWluCmdlbmF1IHp1ciBQYXJ0eXdvY2hlIGtvbW1lbiB3dWVyZGUgd2FyIGphIG51biBhdWNoIG5pY2h0IHp1IGVyd2FydGVuIHVuZCB1bSBzbwplcmZyZXVsaWNoZXIsIGF1Y2ggd2VubiBuYWNoIDggVWhyIE1vcmdlbnMgYW4gc2NobGFmZW4gaW0gWmVsdCBuaWNodCBtZWhyIHp1CmRlbmtlbiB3YXIuCgpCbGVpYnQgbnVyIG5vY2ggenUgaG9mZmVuLCBkYXNzIGRhcyBCYWQgZGVuIEhhbGxlbnNlcm4gKHVuZCB1bnMgTXVkZGVybikgbm9jaAp2aWVsZSBKYWhyZSBlcmhhbHRlbiBibGVpYnQgdW5kIHNpY2ggaGluIHVuZCB3aWVkZXIgbWFsIGplbWFuZCBmaW5kZXQsIGRlci9kaWUKZWluIEhhbGxlIElJSSBvcmdhbmlzaWVydC4KCk9ya1QsIHNpY2ggcmVnZW5lcmllcmVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdWNoIGVpbmUgZ2FuemUgV29jaGUgaXN0IHZpZWwgenUgc2NobmVsbCB2b3JiZWkgKEdsb2luc29uLCAxMC4gQXVnIDIwMDQsIDEyOjIzOjI5KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTA5MjA5MTUxNCByZz1wYXJ0eQp+IyEgdGlkPTEwOTIwOTE1MTQKV2FyIGVpbmUgdG9sbGUgUGFydHkuIEljaCBiaXR0ZSBkYXJ1bSwgenVyIG5hZWNoc3RlbiBQYXJ0eSBlYmVuc28gbmV0dGUKS2xldHRlcm9ydGUgYXVzZmluZGlnIHp1IG1hY2hlbiB3aWUgZGVyIHZvbiBDYWxpc2ggYXVmZ2V6ZWlndGUgU3RlaW5icnVjaC4KQXVzc2VyZGVtIHBsYWVkaWVyZSBpY2ggZGFmdWVyLCB6dSBTb21tZXJwYXJ0aWVzIGZ1ZXIgSHVtbmlzIGVpbmVuIEVpbWVyClRpdGFud2Vpc3MgYmVyZWl0enVzdGVsbGVuLgoKUFM6IEJpbGRlciBrb21tZW4gd2llZGVyIGluIG5vcm1hbGVtIFJoeXRobXVzICh+NiBNb25hdGUpIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ0QtdmVybWllc3N0IChDYXNzYW5kcmEsIDEwLiBBdWcgMjAwNCwgMTY6MDg6MDApOgpNaXIgZmVobHQgdm9tIFBhcnR5YWJlbmQgZWluZSBDRC4gVGl0ZWwgaGFiIGljaCBqZXR6dCBoaWVyIG5pY2h0IHBhcmF0LCBpc3QgbmUKbWVkaXZhbC1nb3RoaWMgQ0QuIERpZSBjZCBzZWxic3QgaGF0IG5lbiByb3RlcyBjb3Zlci4KaXN0IGRpZSBiZWkgZWluZW0gdm9uIGV1Y2ggendpc2NoZW5nZXJ1dHNjaHQgb2RlciBtdXNzIGljaCB2b3IgT3J0IHN1Y2hlbj8KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWFhWSUkgKE11cGZlbCwgMTMuIEF1ZyAyMDA0LCAwMDoyNDoxOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA5MjM0Mzc3MyByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTA5MjM0Mzc3MworMQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWFhWSUkgKE1vbnRhbnVzLCAxMy4gQXVnIDIwMDQsIDAwOjI1OjAzKToKfiMhIHJuPU11cGZlbCBydD0xMDkyMzQ5NDU5IHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjM0Mzc3MwpuaWNodCsxIHNjaHJlaWJlbiwgUGFydHlicmV0dCBhdWZzdGVsbGVuLiBGYXVsZXMgTWFnaWVyZ2VsdW1wZnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFhYVklJIChNdXBmZWwsIDEzLiBBdWcgMjAwNCwgMDA6Mjg6MjEpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA5MjM0OTUwMyByZz1wYXJ0eQp+IyEgdGlkPTEwOTIzNDM3NzMKU2VoIGljaCBhdXMgd2llIGplbWFuZCBkZXIgTWFjaHQgJiBCZWZ1Z25pcyBoYXQgenUgc29sY2hlcmxlaSBBa3Rpb24/CgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWFhWSUkgKFJvbmRhLCAxMy4gQXVnIDIwMDQsIDAwOjM4OjQzKToKfiMhIHJuPU11cGZlbCBydD0xMDkyMzQ5NzAxIHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjM0Mzc3MwpLZWluZSBBaG51bmcgb2IgaWNoIGF1c3JlaWNoZW5kIE1hY2h0ICYgQmVmdWduaXMgaGFldHRlLCBhYmVyIGljaCBiaW4KamVkZW5mYWxscyBiZWkgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBkYWJlaSA7LSkKClJvbmRhICpzaW5kIHdpciBzY2hvbiBpbiBzY2htYXJybj8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDbGVhbnVwLiAoQ2F0d2VhemxlLCAxMy4gQXVnIDIwMDQsIDA4OjUxOjU0KToKCkV4cGlyZS1XYXJudW5nIGZ1ZXIgZGllc2UgUnVicmlrIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBYWFZJSSAoWm9vaywgMTMuIEF1ZyAyMDA0LCAwOToyNDowNik6Cn4jISBybj1Nb250YW51cyBydD0xMDkyMzQ5NTAzIHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjM0Mzc3MwpTZWxiZXIgTHVtcCEgQnJldHRlciBzdGVoZW4sIERldGFpbHMgZm9sZ2VuLCBBbmF0b2wgaXN0IEdPIChsdC4gQnJldHQpLls1fgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFicmVjaG51bmcgLSBIYWxsZSAoQ2Fzc2FuZHJhLCAxNC4gQXVnIDIwMDQsIDEzOjM1OjQ0KToKV2llIGVpbmlnZSBzY2hvbiB3aXNzZW4gd3VyZGUgYmVpIGRlciBQYXJ0eSBpbiBoYWxsZSB3ZWl0IHdlbmlnZXIgdmVyYnJhdWNodAphbHMgZWluZ2VwbGFudC4gRWlubmVyc2VpdHMgc2NoZWluZW4gZGllIE11ZGRlciBuaWNodCBtZWhyIHNvIHRyaW5rZnJldWRpZyB6dQpzZWluIHVuZCBhbmRlcmVyc2VpdHMgaGF0IHVucyBkZXIgIldpcnQiIGVpbmlnZXMgc28gZ2VnZWJlbiB1bSBkaWUgcGFubmUKYXVzenVnbGVpY2hlbi4KCkZvbGdlIGRlcyBnYW56ZW46CkRpZSBQYXJ0eWthc3NlIGlzdCBub2NoIG1pdCAyNzYsNDEgRXVybyBnZWZ1ZWxsdC4KSWNoIGdlZGVua2UgZGllc2VzIGdlbGQgYWxzIEdydW5kc3RvY2sgZGVyIG5hZWNoc3RlbiBQYXJ0eSB6dXIgdmVyZnVlZ3VuZyB6dQpzdGVsbGVuLiBJY2ggaG9mZmUgZGllcyB0cmlmdCBhdWYgZXVlciBFaW52ZXJzdGFlbmRuaXMuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFicmVjaG51bmcgLSBIYWxsZSAoT3JrdG9ldGVyLCAxNi4gQXVnIDIwMDQsIDIyOjQzOjUyKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDkyNDgzMzQ0IHJnPXBhcnR5Cn4jISB0aWQ9MTA5MjQ4MzM0NApJY2ggYmluIGRhZnVlciwgZXMgYWxzIEdydW5kc3RvY2sgZnVlciBkaWUgbmFlY2hzdGUgU29tbWVyLSAoZXZ0bC4gYXVjaApGcnVlaGphaHJzcGFydHkpIHp1IHZlcndlbmRlbi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdWNoZSBNRkcgKENhc3NhbmRyYSwgMTQuIE9rdCAyMDA0LCAxMzo0Njo1Nyk6CkhhbGxvIFBhcnR5Z2FlbmdlcgppY2ggc3VjaGUgbmUgbWl0ZmFocmdlbGVnZW5oZWl0IHp1ciBQYXJ0eSB1bmQgendhcgoKVm9uIEJyZW1lbiBuYWNoIFdpbnRlcmJ1cmcgdW5kIGRhbm4gdm9uIFdpbnRlcmJ1cmcgaW4gcmljaHR1bmcgSGFsbGUuCgpBbHRlcm5hdGl2IGxldXRlIGRpZSBzaWNoIGFtIG1pZXRlbiBlaW5lcyBBdXRvcyBiZXRlaWxpZ2VuIHd1ZXJkZW4KCkNhc3N5LCB3ZW5pZyBob2ZmbnVuZyBoYWJlbmQgYWJlciBmcmFnZW4ga29zdCBqYSBuaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzdWNoZSBNRkcgKE1vbnRhbnVzLCAxNy4gT2t0IDIwMDQsIDEzOjU5OjU0KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDk3NzU0NDE3IHJnPXBhcnR5Cn4jISB0aWQ9MTA5Nzc1NDQxNwpGYWxscyAoZmFsbHMhKSBpY2ggdGF0c2FlY2hsaWNoIGVyc3QgYW0gRmV0ZW5mcmVpdGFnIGluIGRlbiBTdWVkZW4gZmFocmUsCnNvbGx0ZSBkYXMgZ2VuYXUgZGFubiBrZWluIFByb2JsZW0gc2Vpbiwgd2VubiBpY2ggZGFzIEF1dG8gbmVobWUuCldhaHJzY2hlaW5saWNoZXIgaXN0IGFiZXIsIGRhc3MgaWNoIG1pY2ggc2Nob24gaW0gU3VlZGVuIGJlZmluZGUsIHVuZCBkYW5uCm5hY2ggZGVyIEZldGUgbmFjaCBCcmVtZW4gZmFocmUuIEFsc28gZ2VuYXUgZmFsc2NoIGhlcnVtLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1HLVBhcnR5IFhYVklJOiA0LiBGaW5hbmNlcyAoR3JpbW1ib3JuLCAxNy4gT2t0IDIwMDQsIDIyOjAwOjIzKToKfiMhIG9uPUxpYXJhIG90PTEwOTgwNDMwNTkgb2c9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgcm49TW9udGFudXMgcnQ9MTA5ODAxNDYzNCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTA5NzM0NzA0NQpOYWphLCBhbHMgaWNoIGJlaSBlaW5lciBkZXIgbGV0enRlbiBQYXJ0eXMgaW4gQmFkIEtyZXV6bmFjaCBhbSBCYWhuaG9mIHN0YW5kLAprYW5udGUgdm9uIGRlbiBkb3J0aWdlbiBCdXNmYWhyZXJuIG5pZW1hbmQgV2ludGVyYnVyZyAoZ2VzY2h3ZWlnZSBkZW5uIGVpbmVuCkJ1cyBkYWhpbikuIFVuZCBzY2hvbiBnYXIgbmljaHQgZnVociBkZXIgenUgZGVyIFplaXQsIGRpZSBtaXIgZGVyCk9lUE5WLUZhaHJwbGFuIGdlc2FndCBoYXR0ZS4KCldlbm4gVHJ5ZmFuIHVuZCBCb2luZyBtaXQgbmljaHQgYWJnZWhvbHQgaGFldHRlbiwgd2FlcmUgaWNoIGRhIHdhaHJzY2hlaW5saWNoCmVpbnNhbSBnZXN0b3JiZW4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNRy1QYXJ0eSBYWFZJSTogNC4gRmluYW5jZXMgKENhc3NhbmRyYSwgMTguIE9rdCAyMDA0LCAxMTo1NzowMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5ODA0MzIyMyByZz1wYXJ0eQp+IyEgdGlkPTEwOTczNDcwNDUKSW0gendlaWZlbHNmYWxsIG11c3MgbWFuIGhhbHQgZGVuIFRheGlmYWhyZXJuIGVya2xhZXJlbiB3byBtYW4gaGluIHdpbGwuCldpciBoYWJlbiBkYXMgbGV0enRlcyBKYWhyIGdlbWFjaHQgdW5kIHZvbiBiYWQgS3JldXpuYWNoIGJpcyB6dW0gQnVyZ2hvZiAzMApFdXJvIGJlemFobHQuIEZ1ZXIgZWluZW4gYWxsZWluIGV0d2FzIHRldWVyIGFiZXIgYmVpIG1laHJlcmVuIGR1cmNoYXVzIGVpbmUKYWx0ZXJuYXRpdmUuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTUctUGFydHkgWFhWSUk6IDQuIEZpbmFuY2VzIChBbGtvaG9sLCAxOC4gT2t0IDIwMDQsIDE2OjE0OjIyKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDk4MDkzNDIzIHJnPXBhcnR5Cn4jISB0aWQ9MTA5NzM0NzA0NQpzb3dhcyBnZWh0IGFiZXIgbnVyIGJlaSBlaW4gYmlzY2hlbiBGbGV4aWJpbGl0YWV0LiBLYW5uIG5pY2h0IGplZGVyLgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTUctUGFydHkgWFhWSUk6IDMuIEV2ZW50cyAoQ2F0d2VhemxlLCAyMC4gT2t0IDIwMDQsIDIyOjIxOjIxKToKfiMhIG9uPUFuYXRvbCBvdD0xMDk4MzAzNjM3IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUdsb2luc29uIHJ0PTEwOTgzMDMzNDcgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwOTczNDcwNDQKYSkgU1RPUC4gRGVyIFNhbXN0YWcgaGF0IGF1Y2ggbnVyIDI0IFN0dW5kZW4uIFNwcmVjaHQgYml0dGUgdm9yaGVyCm1pdCBfbWlyXywgYmV2b3IgaWhyIFZvcnRyYWVnZSBhbmt1ZW5kaWd0LiBKYSwgU2hha3kgaGF0IG1pdCBtaXIKZ2VzcHJvY2hlbi4gOikKCmIpIERpc2t1c3Npb24gKGluY2wuIGRpZXNlcyBBcnRpa2VscykgYml0dGUgbmFjaCAicGFydHkiLgoKRGFua2UgOikKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTUctUGFydHkgWFhWSUk6IDMuIEV2ZW50cyAoQ2F0d2VhemxlLCAyMC4gT2t0IDIwMDQsIDIyOjIxOjIyKToKfiMhIG9uPU11YWRpYiBvdD0xMDk4MzAzNjcxIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUFuYXRvbCBydD0xMDk4MzAzNjM3IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMDk3MzQ3MDQ0CmljaCBoYWV0dGUgZ2VybmUgMTAtMTUgbWludXRlbiBkaWVzZXIgMjQgc3R1bmRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXJzYXR6dGhyZWFkIG1hbmdlbHMgcGFydHkuc2NobWFycm4gKFNoYWtlZGJlZXIsIDIwLiBPa3QgMjAwNCwgMjI6Mjk6MzUpOgpEdSB0ZWlsc3QgTXVhZGliIG1pdDogaWNoIGJyaW5nZSBiZWFtZXIvbGVpbndhbmQvbm90ZWJvb2sgbWl0LiBmYWxscyBkdSB3YXMKRHUgdGVpbHN0IE11YWRpYiBtaXQ6IG1zLXdpbi14cC1rb21wYXRpYmxlcyBtYWNoZW4gd2lsbHN0Li4uClZvbiBNdWFkaWI6IGljaCB3ZXJkZSBicmFuZG5ldWUga29tbXVuaWthdGlvbnNtZWRpZW4gYmVudXR6ZW4KVm9uIE11YWRpYjogbmljaCBzb3dhcyB1ZWJlcmFsdGVydGVzIHdpZSBub3RlYm9vayB1bmQgYmVhbWVyCkR1IHRlaWxzdCBNdWFkaWIgbWl0OiBqZXR6dCBrb21tdHMuLi4gOi0pClZvbiBNdWFkaWI6IGVpbmUgZm9saWUgdW5kIGVpbiBmb2xpZW5zdGlmdCBvZGVyIGtyZWlkZQpEdSBncmluc3QgTXVhZGliIGF1cyBkZXIgRmVybmUgYW4uCkR1IHRlaWxzdCBNdWFkaWIgbWl0OiBzaW5kIGRpZSBzY2hvbiByZWxlYXNlZD8KVm9uIE11YWRpYjoga3JlaWRlIGlzdCAwLjk1LjAzLjIyMWIKVm9uIE11YWRpYjogZm9saWVuc3RpZnQgaXN0IG5vY2ggZ2VoZWltCkR1IHRlaWxzdCBNdWFkaWIgbWl0OiB1bmQga3JlaWRlIGxhZXVmdCBzY2hvbiBzdGFiaWwgbWl0IHRhZmVsIDEuMj8KTXVhZGliIG5pY2t0IERpciBhdXMgZGVyIEZlcm5lIHp1LgpEdSB0ZWlsc3QgTXVhZGliIG1pdDogQ29vbC4gVmllbGxlaWNodCBzb2xsdGUgaWNoIGRhbm4gbm9jaCB1bWRpc3BvbmllcmVuIHVuZApEdSB0ZWlsc3QgTXVhZGliIG1pdDogZGVuIFRyYWlsZXIgaW4gZWNodHplaXQgemVpY2huZW4uClZvbiBNdWFkaWI6IG5lZSBkYSBnaWJ0cyB3YXMgYmVzc2VyZXMKVm9uIE11YWRpYjogcmhldG9yaWsgNS4zIG1pdCBkZW0gcGx1Z2luIGZlc3NlbG5kZXJfc3ByZWNoZXIgNC4yCgpTaGFreSAtIG1lcmt0IGdlcmFkZSwgZGFzcyBlciBudW4gImZvbGllbnN0aWZ0IiBhdXNnZXBsYXVkZXJ0IGhhdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTUctUGFydHkgWFhWSUk6IDMuIEV2ZW50cyAoQ2F0d2VhemxlLCAyNS4gT2t0IDIwMDQsIDEyOjUzOjM0KToKfiMhIG9uPUNhdHdlYXpsZSBvdD0xMDk4NzAxNTg2IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUJvaW5nIHJ0PTEwOTg3MDE1MzYgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwOTczNDcwNDQKaWNoIGZ1ZWhsZSBtaWNoIHVlYmVyZm9kZXJ0IHVuZCBhYmdlc2NocmVja3QgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTUctUGFydHkgWFhWSUk6IDMuIEV2ZW50cyAoSHVtbmksIDI1LiBPa3QgMjAwNCwgMTY6MDY6MDEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwOTgzMDM2ODIgcmc9cGFydHkKfiMhIHRpZD0xMDk3MzQ3MDQ0ClNvLiBTdXVwZXIuIEFuIGRlbSBXb2NoZW5lbmRlIGhhYmVuIHdpciBHcnVuZHNjaHVsdm9yc3RlbGx1bmdzdGFnLiBXaWxsCmhlaXNzZW46IFp1bWluZGVzdCBtb3JnZW5zIGRhcmYgaWNoIGRhIGFyYmVpdGVuLiBJY2ggd2lsbCBzY2hhdWVuLCB3YW5uIGljaAp3ZWdrb21tZSwgYWJlciBpY2gga2FubiBuaWNodCB2ZXJzcHJlY2hlbiwgZGFzcyBpY2ggcHVlbmt0bGljaCB6dSBpcmdlbmR3YXMgZGEKYmluLgoKRGFydW0ga2FubiBpY2ggZ2VybmUgZWluZW4gVm9ydHJhZyBoYWx0ZW4sIGFiZXIgbGVpZGVyIGVyc3QgZGFubiwgd2VubiBpY2gKa29tbWUuIFdhcyBkdXJjaGF1cyBzcGFldGVyIHNlaW4ga2FubiwgaWNoIGhvZmZlLCBkYXNzIGljaHMgYmlzIDE2IFVocgpzY2hhZmZlLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1HLVBhcnR5IFhYVklJOiAzLiBFdmVudHMgKENhdHdlYXpsZSwgMjUuIE9rdCAyMDA0LCAxNjoxMDoyMik6Cn4jISBybj1IdW1uaSBydD0xMDk4NzEzMTYxIHJnPXBhcnR5Cn4jISB0aWQ9MTA5NzM0NzA0NApJY2ggbW9lY2h0ZSB6dSBiZWRlbmtlbiBnZWJlbiwgZGFzcyBiaXNoZXIgYWIgMTc6MDAgZGllIE1HZVYgVlYgZ2VwbGFudCBpc3QKKHJpZ2h0PykuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1HLVBhcnR5IFhYVklJOiAzLiBFdmVudHMgKEh1bW5pLCAyNS4gT2t0IDIwMDQsIDE2OjEyOjEyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDk4NzEzNDIyIHJnPXBhcnR5Cn4jISB0aWQ9MTA5NzM0NzA0NApMYXNzIGRvY2ggZXJzdG1hbCBBTmF0b2wgVGVybWluZSBmZXN0bGVnZW4sIGRhbm4gc2VoZW4gd2lyIHdlaXRlci4gSWNoIHdvbGx0ZQpudXIgYWxsZ2VtZWluIGJla2FubnRnZWJlbiwgZGFzcyBpY2ggbmljaHQgZnJ1ZWhlciBkYSBzZWluIGthbm4uIERhcmFuIGthbm4Kd2VkZXIgZGVyIFZlcmVpbiBub2NoIHNvbnN0d2VyIHdhcyBhZW5kZXJuLCBob2VjaHN0ZW5zIG1laW4gQ2hlZiwgdW5kIHZlcmxhc3N0CkV1Y2ggZHJhdWYsIGRhcyB3ZXJkZSBpY2ggdmVyc3VjaGVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1HLVBhcnR5IFhYVklJOiAzLiBFdmVudHMgKE1vbnRhbnVzLCAyNS4gT2t0IDIwMDQsIDE2OjQ2OjA0KToKfiMhIHJuPUh1bW5pIHJ0PTEwOTg3MTM1MzIgcmc9cGFydHkKfiMhIHRpZD0xMDk3MzQ3MDQ0CkF1ZiBhbGxnZW1laW5lbiBXdW5zY2ggZWluaWdlciBMZXV0ZSwgZGVuZW4gZXNhdWYgZGVyIFNwaWVsZW1lc3NlIHp1IHZvbGwgd2FyLAp3ZXJkZSBpY2ggZ2VybmUgZWluaWdlIFJ1bmRlbiAiWmVwdGVyIHZvbiBaYXZhbmRvciIgYW5mYWNoZW4vZXJrbGFlcmVuLiBPZGVyCndpZSBIdW1uaSBzYWd0ZTogIldpZSwgbWFuIGthbm4gZGEgaW4gMiBTdHVuZGVuIEVyem1hZ2llciB3ZXJkZW4/IEdlaWwuIgpVbmQgaWNoIGJyaW5nZSBXZXJ3b2VsZmUgbWl0LiBFcnNjaGllc3N0IE11YWRpYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1HLVBhcnR5IFhYVklJOiAzLiBFdmVudHMgKE11YWRpYiwgMjUuIE9rdCAyMDA0LCAxNjo1NTowOCk6Cn4jISBybj1Nb250YW51cyBydD0xMDk4NzE1NTY0IHJnPXBhcnR5Cn4jISB0aWQ9MTA5NzM0NzA0NAp3aWVlPyB3YXJ1bSBtaWNoPwp3ZW5uIGRhbm4gZG9jaCBjYXR0aWUgdW5kIGRhbm4gZ3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNRy1QYXJ0eSBYWFZJSTogMy4gRXZlbnRzIChDYXR3ZWF6bGUsIDI2LiBPa3QgMjAwNCwgMDg6Mzg6MzApOgp+IyEgcm49TXVhZGliIHJ0PTEwOTg3MTYxMDggcmc9cGFydHkKfiMhIHRpZD0xMDk3MzQ3MDQ0CkVyc3QgR3VhcmQsIGRhbm4gTXVhZGliIQoKaWNoIGJpbiBkYSB2b2VsbGlnIGF1c3NlbiB2b3IgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTUctUGFydHkgWFhWSUk6IDMuIEV2ZW50cyAoR3JpbW1ib3JuLCAyNi4gT2t0IDIwMDQsIDE1OjE0OjEwKToKfiMhIG9uPUJhYm9vbiBvdD0xMDk4Nzk2MTY2IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUJvaW5nIHJ0PTEwOTg3MDMxMDYgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwOTczNDcwNDQKSG0sIGZlaGx0IGVpZ2VudGxpY2ggbnVyIG5vY2ggRW50ZW50YW56LiA6LSkKCgpCYWJvb24gKFRhbnpiYWVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTUctUGFydHkgWFhWSUk6IDMuIEV2ZW50cyAoR3JpbW1ib3JuLCAyNy4gT2t0IDIwMDQsIDA1OjExOjQ5KToKfiMhIG9uPUJyb3RuYWVsIG90PTEwOTg4MjUyMzEgb2c9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgcm49Qm9pbmcgcnQ9MTA5ODcwMzEwOCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTA5NzM0NzA0NApNaWNoIHd1ZXJkZSBqYSBlaGVyIEJyZWFrZGFuY2Ugb2RlciBzdGVwdGFueiBpbnRlcmVzc2llcmVuLCBhYmVyIGljaCBnbGF1YiBkYQpmcmFnIGljaCBkaWUgZmFsc2NoZSA7bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1HLVBhcnR5IFhYVklJOiBCaXR0ZSB1ZWJlcndlaXNlbiEgKEFuYXRvbCwgIDIuIE5vdiAyMDA0LCAyMToyOTo1Mik6CgpBbG9hIFBhcnR5cGVvcGxlLApkaWUgdWVibGljaGUgQml0dGUgYW4gZGllLCB3ZWxjaGUgbm9jaCBuaWNodCB1ZWJlcndpZXNlbiBoYWJlbjoKVHV0IGRpZXMgYml0dGUgcmVjaHQgYmFsZCAtIGljaCBnZWhvZXJlIHp3YXIgenUgZGVuIFZlcmRpZW5lcm4sCmJpbiBhYmVyIHRyb3R6ZGVtIGZyb2gsIHdlbm4gaWNoIGtlaW5lbiB2aWVyc3RlbGxpZ2VuIEJldHJhZwp2b3JzdHJlY2tlbiBtdXNzLiA7KQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLVBhcnR5IFhYVklJOiBCaXR0ZSB1ZWJlcndlaXNlbiEgKEZvb2JhciwgIDYuIE5vdiAyMDA0LCAyMToyNDo0MSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA5OTQyNzM5MiByZz1wYXJ0eQp+IyEgdGlkPTEwOTk0MjczOTIKU3RyZWNrJyBkb2NoIGVpbmZhY2ggZWluZW4gZnVlbmZzdGVsbGlnZW4gQmV0cmFnIHZvci4gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaaW1tZXJiZWxlZ3VuZyAoTGFyaW5hLCAxMi4gTm92IDIwMDQsIDIxOjAxOjI0KToKSGFsbG8gYWxsZXJzZWl0cyEKV2VyIG5vY2ggV3VlbnNjaGUgaGF0LCBtaXQgd2VtIGVyIGlucyBaaW1tZXIgbW9lY2h0ZSBvZGVyIGF1Y2ggbWl0IHdlbSBuaWNodCwKdW5kIG1pciBkaWVzZSBub2NoIG5pY2h0IG1pdGdldGVpbHQgaGF0LCBzb2xsdGUgZGFzIGluIGRlbiBuYWVjaHN0ZW4gMi0zIFRhZ2VuCmJpdHRlIHR1bi4gRGFuYWNoIHdlcmRlIGljaCBkaWUgWmltbWVydmVydGVpbHVuZyBlbmRsaWNoIG1hbCBtYWNoZW4uLi4gCgoqa251ZGRlbHMqCkxhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hpbmVzZSAvd2ljaHRlbG4/IChDYXNzYW5kcmEsIDE4LiBOb3YgMjAwNCwgMTY6NDc6NTApOgpIYWxsbyB6d2VpIEZyYWdlbgoKMQpXbyBpc3QgZGllc21hbCBkZXIgQ2hpbmVzZSBCYWQga3JldXpuYWNoIG9kZXIgYmFkIHNvYmVybmhlaW0gKHdlZ2VuCnp1Z2ZhaHJrYXJ0ZSkKCnVuZCBnaWJ0IGVzIGVpbmVuIGVybmV1dGVuIHdpY2h0ZWx2ZXJzdWNoPwoKQ2Fzc3kKMQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGluZXNlIC93aWNodGVsbj8gKE1vbnRhbnVzLCAxOC4gTm92IDIwMDQsIDE3OjE0OjU3KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTAwNzkyODcwIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMDc5Mjg3MAp6dSAoMSkgRnJhZyBBbnlzaWRvcmEuIEljaCBnbGF1YmUsIGVzIHdpcmQgd29obCB3aWVkZXIgZGVyIE1vbmdvbGUgaW4KS3JldXpuYWNoLCBhYmVyIGljaCBiaW4gbWlyIG5pY2h0IHNpY2hlciB1bmQgbW9lY2h0ZSBhdWNoIG5pY2h0IHZvcndlZ2dyZWlmZW4KCnp1ICgyKSB3dWVyZGUgaWNoIGF1Y2ggZ2VybmUgd2lzc2VuLCBpY2ggYnJpbmdlIGVpbmZhY2ggbWFsIHdhcyBtaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2hpbmVzZSAvd2ljaHRlbG4/IChHbG9pbnNvbiwgMTguIE5vdiAyMDA0LCAxNzoxNzowMyk6Cn4jISBybj1Nb250YW51cyBydD0xMTAwNzk0NDk3IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMDc5Mjg3MApEYSBmdWVuZiBCZXJsaW5lciBlYmVuZmFsbHMgbWl0IGRlciBCYWhuIGFucmVpc2VuIC0gd2lyIGhhYmVuIGRpZSAyOSwtIEV1cm8gLQpOb3ZlbWJlcnNvbW1lci1UaWNrZXRzLiBEYSBkYXMgQW5nZWJvdCBwYXVzY2hhbCBpc3QsIGhhYmVuIHdpciBiaXMgQmFkClNvYmVybmhlaW0gZ2Vsb2VzdCAtIGZ1ZXIgZGVuIEZhbGwgZGVyIEZhZWxsZS4gVmllbGxlaWNodCBnaWJ0IGVzIGphIG5vY2ggZWluCnBhYXIgS2FydGVuIGF1cyBkZW0gS29udGluZ2VudC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDaGluZXNlIC93aWNodGVsbj8gKEphbWVzb24sIDE5LiBOb3YgMjAwNCwgMTg6NTU6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwMDc5NDYyMyByZz1wYXJ0eQp+IyEgdGlkPTExMDA3OTI4NzAKR2lsdCBkaWUgS29udGluZ2VudGllcnVuZyBuaWNodCBudXIgZnVlciBkaWUgRmVybnp1ZWdlPyBNZWluZXMgV2lzc2VucyBzaW5kCmRpZXNlIFRpY2tldHMgbnVyIGFuIGZyZWllIEtvbnRpbmdlbnRwbGFldHplIGluIGRlbiBJQ0VzL0lDcyAoL0lScz8pIGdlYnVuZGVuLApkZXIgTmFodmVya2VociB2b3JoZXIgdW5kIG5hY2hoZXIgd2lyZCBudXIgYWxzICpOViBhdWYgZGVtIFRpY2tldCBlcndhZWhudC4gRGEKZ2lidCdzIGRhbm4ga2VpbmUgWnVnYmluZHVuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENoaW5lc2UgL3dpY2h0ZWxuPyAoR2xvaW5zb24sIDE5LiBOb3YgMjAwNCwgMTg6NTY6MjIpOgp+IyEgcm49SmFtZXNvbiBydD0xMTAwODg2OTEyIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMDc5Mjg3MApTY2hvbiB3YWhyLiBEdSB3aWxsc3QgYWJlciB2b24gSGFsbGUgYXVzIHNpY2hlciBuaWNodCBtaXQgTmFodmVya2VociBmYWhyZW4sCndlbm4gZHUgSUMvSVIgZmluZGVuIGthbm5zdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDaGluZXNlIC93aWNodGVsbj8gKEphbWVzb24sIDE5LiBOb3YgMjAwNCwgMTk6MDE6MjApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwMDg4Njk4MiByZz1wYXJ0eQp+IyEgdGlkPTExMDA3OTI4NzAKV28gaGFiIGljaCBkYXMgZ2VzY2hyaWViZW4/IDopIEVzIGdlaHQgZG9jaCBudXIgdW0gZGFzIGxldHp0ZSBTdHVlY2sgendpc2NoZW4KTWFpbnogdW5kIEJhZCBLcmV1em5hY2ggYnp3LiBTb2Jlcm5oZWltLiBEYSBmYWVocnQga2VpbiBJQyhFKS4gKHVlYmVycHJ1ZWZ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQ2hpbmVzZSAvd2ljaHRlbG4/IChMaWFyYSwgMTkuIE5vdiAyMDA0LCAxOTowMjoxNCk6Cn4jISBybj1KYW1lc29uIHJ0PTExMDA4ODcyODAgcmc9cGFydHkKfiMhIHRpZD0xMTAwNzkyODcwCkljaCBnbGF1YmUgR2xvaW5zb24gbWVpbnRlLCBzaWUgaGFiZW4genVyIFNpY2hlcmhlaXQgbWFsIGRpZSBsYWVuZ2VyZSBTdHJlY2tlCmdlYnVjaHQgLi4uIE9kZXIgaXN0IGRhcyBuZXQgbGFlbmdlciBuYWNoIEJhZCBTb2Jlcm5oZWltIGFscyBuYWNoIEtyZXV6bmFjaD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IENoaW5lc2UgL3dpY2h0ZWxuPyAoSmFtZXNvbiwgMTkuIE5vdiAyMDA0LCAxOTowODo0Nik6Cn4jISBybj1MaWFyYSBydD0xMTAwODg3MzM0IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMDc5Mjg3MApKYWFhYSwgaXNzZXMsIGRhcyBoYWJlbiBzaWUgYXVjaCBndXQgZ2VtYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IENoaW5lc2UgL3dpY2h0ZWxuPyAoR2xvaW5zb24sIDE5LiBOb3YgMjAwNCwgMTk6NDY6MjApOgp+IyEgcm49SmFtZXNvbiBydD0xMTAwODg3NzI2IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMDc5Mjg3MApLb3JyZWt0LiBEZW5uIGF1ZiBkZXIgS2FydGUgc3RlaHQgaGFsdCBkZXIgT3J0LiBVbmQgbnVyIGRhcyBtaXQgZGVtICJidWNoIGRvY2gKZ2xlaWNoIGJpcyBTb2Jlcm5oZWltIiBtZWludGUgaWNoIG1pdCBtZWluZW0gZXJzdGVuIEFydGlrZWwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQ2hpbmVzZSAvd2ljaHRlbG4/IChab29rLCAxOS4gTm92IDIwMDQsIDE5OjQ3OjA4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDA4ODk5ODAgcmc9cGFydHkKfiMhIHRpZD0xMTAwNzkyODcwCkd1dCwgZGFzcyBJaHIgRXVjaCB2ZXJzdGVodDsgaWNoIHZlcnN0ZWggRXVjaCBuYWVtbGljaCBuaWNodC4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBDaGluZXNlIC93aWNodGVsbj8gKE1vbnRhbnVzLCAyMS4gTm92IDIwMDQsIDIzOjQxOjU3KToKfiMhIHJuPVpvb2sgcnQ9MTEwMDg5MDAyOCByZz1wYXJ0eQp+IyEgdGlkPTExMDA3OTI4NzAKRnJhZ3QgZG9jaCBlaW5mYWNoIEFueXNpZG9yYS4gVW5kIGRpZSBoYXQgZ2VzdGVybiB3YXMgdm9uIHdpZSBsZXR6dGVzIE1hbApnZW11cm1lbHQsIHdlbm4gaWNoIG1pY2ggbmljaHQgdmVyaG9lcnQgaGFiZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRy1QYXJ0eSBYWFZJSTogQml0dGUgdWViZXJ3ZWlzZW4hIChBbmF0b2wsIDIzLiBOb3YgMjAwNCwgMDY6Mjg6MTUpOgp+IyEgcm49QW5hdG9sIHJ0PTEwOTk0MjczOTIgcmc9cGFydHkKfiMhIHRpZD0xMDk5NDI3MzkyCgpMZXR6dGVyIEF1ZnJ1ZiB6dXIgVGFldGlndW5nIGRlciBVZWJlcndlaXN1bmchIDopCgpEaWUgS29udG92ZXJiaW5kdW5nIGlzdCBpbiBwYXJ0eS5iZWthbm50bWFjaHVuZ2VuIHp1IGZpbmRlbiwKZGVyIEJldHJhZyBpc3QgbWl0IDQ0LDQ0IHBybyBLb3BmIChuZWluLCAiZGVuIEtvcGYgdmVybG9yZW4KaGFiZW4iIGdpbHQgbmljaHQpIGRhcyBVZWJsaWNoZTsgYW4gZGVyIEFiZW5ka2Fzc2Ugd2VyZGVuIAplcyA1MCwtIHNlaW4uCgpEYW1pdCB2ZXJrbnVlcGZ0IGF1Y2ggZGllIEJpdHRlOiBXYWNrZWxrYW5kaWRhdGVuLCBzY2hyZWlidAptaXIgZWluZSBNYWlsLiBJY2ggd2lsbCBldWNoIG5pY2h0IHJhdXNla2VsbiwgbnVyIHdlcmRlIGljaAplbmRlIGRpZXNlciBXb2NoZSBkZXIgSGF1c2hlcnJpbiBlaW5lIFphaGwgbmVubmVuIG11ZXNzZW4sCmRpZSB0dW5saWNoc3QgaW4gZGVyIHVuZ2VmYWVocmVuIEdyb2Vzc2Vub3JkbnVuZyBkZXIKZXJzY2hlaW5lbmRlbiBwYXJ0eSBwZW9wbGUgbGllZ2VuIHNvbGx0ZSwgYWJlciBlaGVyIGRydW50ZXIKYWxzIGRydWViZXIuIF06Xj4KCkRpZWplbmlnZW4sIGRpZSBfbmljaHRfIGtvbW1lbiB3ZXJkZW4gdW5kIG51ciB2ZXJnZXNzZW4gaGFiZW4sCnNpY2ggYWJ6dW1lbGRlbiwgbW9lZ2VuIGRhcyBiaXR0ZSBuYWNoaG9sZW4uIEVzIGlzdCBnZWdlbnVlYmVyCmRlciBPcmdhbmlzYXRpb24gdW5kIGRlbiBQYXJ0eWdhZW5nZXJuIGVpbmZhY2ggZGV1dGxpY2ggZmFpcmVyLgoKVmllbGUgR3J1ZXNzZSwgCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmlvbGluZS9RdWVyZmxvZXRlL09ib2Ugc2FtdCBTcGllbGVyL2luIGdlc3VjaHQhIChTaGFrZWRiZWVyLCAyOS4gTm92IDIwMDQsIDIyOjM5OjA2KToKV2lyIGhhYmVuIHNvIGd1dCB3aWUgMy80IGVpbmVzIFN0cmVpY2hxdWFydGV0dHMgenVzYW1tZW4uIFdlciBrYW5uIG5vY2gKYXVmc3ByaW5nZW4/CgpNci4gWCwgQWxrb2hvbCB1bmQgU2hha2VkYmVlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZpb2xpbmUvUXVlcmZsb2V0ZS9PYm9lIHNhbXQgU3BpZWxlci9pbiBnZXN1Y2h0ISAoU2hha2VkYmVlciwgMjkuIE5vdiAyMDA0LCAyMjo0MTo1MCk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTExMDE3NjQzNDYgcmc9cGFydHkKfiMhIHRpZD0xMTAxNzY0MzQ2CkFlaC4uLiBPcmlnaW5hbCBCcmF0c2NoZXIgc2luZCBhdWNoIGdlcm4gZ2VzZWhlbi4gU29sbCBlcyBqYSBzY2hsaWVzc2xpY2ggYXVjaApnZWJlbi4gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZpb2xpbmUvUXVlcmZsb2V0ZS9PYm9lIHNhbXQgU3BpZWxlci9pbiBnZXN1Y2h0ISAoR2xvaW5zb24sIDI5LiBOb3YgMjAwNCwgMjI6NDI6MjYpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTAxNzY0NTEwIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMTc2NDM0NgpFaW4gSG9jaHplaXRzc3RhZW5kY2hlbj8gU2NocmVpYiBkb2NoIG1hbCBhdWYgTWVzaXMgV2Vic2VpdGUsIGV0bGljaGUgR2Flc3RlCndlcmRlbiBoaWVyIG5pY2h0IG1pdGxlc2VuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZpb2xpbmUvUXVlcmZsb2V0ZS9PYm9lIHNhbXQgU3BpZWxlci9pbiBnZXN1Y2h0ISAoQm9pbmcsIDMwLiBOb3YgMjAwNCwgMTA6MzQ6MzEpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTAxNzY0MzQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMTc2NDM0NgpJY2ggbXVlc3N0ZSBlcnN0IG5ldWUgU2FpdGVuIGJlc29yZ2VuIHVuZCBkYWZ1ZXIgaGFiIGljaCBrZWluZSBaZWl0LgpCaW4gYXVzc2VyZGVtIGV0d2FzIGVpbmdlcm9zdGV0IC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmYWhyIG1pY2ggaGVpbSEgKENhdHdlYXpsZSwgMzAuIE5vdiAyMDA0LCAxMDozNDo1OSk6CgpTbywgaGluIGtvbW0gaWNoIG1pdHRsZXJ3ZWlsZSwgenVydWVjayBub2NoIG5pY2h0LgpTb2xsdGUgc2ljaCBuaWNodCBrdXJ6ZnJpc3RpZyBlaW5lIEdlbGVnZW5oZWl0IGZ1ZXIgbWljaCBlcmdlYmVuLCB0YWV0ZSBpY2ggdW0KMTU6MzQgdm9uIEtyZXV6bmFjaCBhdXMgbWl0IGRlbSBadWcgZmFocmVuIG11ZXNzbmUgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZhaHIgbWljaCBoZWltISAoQ2F0d2VhemxlLCAzMC4gTm92IDIwMDQsIDE0OjMxOjU3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTAxODA3Mjk5IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMTgwNzI5OQpPaywgenUgc3BhZXQsIGRhbmtlIGZ1ZXIgYWxsZSBWb3JzY2hsYWVnZSA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZpb2xpbmUvUXVlcmZsb2V0ZS9PYm9lIHNhbXQgU3BpZWxlci9pbiBnZXN1Y2h0ISAoQWxrb2hvbCwgMzAuIE5vdiAyMDA0LCAxNTowMjo1MCk6Cn4jISBybj1Cb2luZyBydD0xMTAxODA3MjcxIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMTc2NDM0NgpkaWUga29lbm50ZSBpY2ggYmVzb3JnZW4gdW5kIG1pdGJyaW5nZW4sIGFsc28gZGllIFNhaXRlbiBzaW5kIGtlaW5lIGF1c3JlZGUKKmcqCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZpb2xpbmUvUXVlcmZsb2V0ZS9PYm9lIHNhbXQgU3BpZWxlci9pbiBnZXN1Y2h0ISAoU2hha2VkYmVlciwgMzAuIE5vdiAyMDA0LCAxODoyMTozOSk6Cn4jISBybj1Cb2luZyBydD0xMTAxODA3MjcxIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMTc2NDM0NgpJY2ggaGFiIGF1Y2ggZXdpZyAoY2EuIDEyIEphaHJlKSBuaWNodCBtZWhyIGdldWVidC4gV2llIHdhciBkYXMgbWl0IGRlbQpSYWRmYWhyZW4uLi4/CgpTaGFreS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTUctUGFydHkgWFhWSUk6IEJpdHRlIHVlYmVyd2Vpc2VuISAoQW5hdG9sLCAzMC4gTm92IDIwMDQsIDIzOjQ4OjI4KToKfiMhIHJuPUFuYXRvbCBydD0xMTAxMTg3Njk1IHJnPXBhcnR5Cn4jISB0aWQ9MTA5OTQyNzM5MgoKRGEgaWNoIG51ciBFaW5nYWVuZ2UgYmlzIERvbm5lcnN0YWcgYWJlbmQgYmVydWVja3NpY2h0aWdlbgprYW5uLCBzb2xsdGVuIGRpZSwgZGllIG5vY2ggbmljaHQgdWViZXJ3aWVzZW4gaGFiZW4sIHNpY2gKbWl0IGRlbSBCYXJ6YWhsZ2VkYW5rZW4gYW5mcmV1bmRlbi4KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2V0cmFlbmtlIGluIEJhZCBTb2Jlcm5oZWltLCBhcmdoISAoQW5hdG9sLCAgMS4gRGV6IDIwMDQsIDA2OjE5OjU2KToKCk9sYSwKd2lyIHNpbmQgdm9uIGVpbiBwYWFyIEZha3RlbiB1ZWJlcnJhbm50IHdvcmRlbgp1bmQgaGFiZW4gZWluIFBsYW51bmdzbGVjazogRGllIEdldHJhZW5rZSBtdWVzc2VuCmFtIEZyZWl0YWcgZXJzdCBub2NoIGluIEJhZCBTb2Jlcm5oZWltIGFiZ2Vob2x0CndlcmRlbiwgdW5kIGRhcyBub2NoIGJpcyAxNjowMCBVaHIuCgpFcyB3YWVyIGtsYXNzZSwgd2VubiBzaWNoIG5vY2ggZWluIG9kZXIgendlaQpMZXV0ZSBmYWVuZGVuLCBkaWUgbWl0IHJlbGF0aXYgbGVlcmVtIEtvZmZlcmF1bQppbiBCYWQgU29iZXJuaGVpbSBhdWZzY2hsYWdlbiBrb2VubnRlbi4gSWNoIAp3ZXJkZSB3b2hsIGRhIHNlaW4gKEx1cmNoaSBmYWVocnQpLCBhYmVyIGluIGRhcwpBdXRvIHBhc3N0IHNpY2hlciBuaWNodCBhbGxlcyByZWluLgoKQml0dGUgbWFpbGUgRGljaCwKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLdWNoZW4hIChBbmF0b2wsICAxLiBEZXogMjAwNCwgMDY6MjQ6MzIpOgoKSmVkZXIsIGRlciBzaWNoIGJlcnVmZW4sIGJlZ2FidCBvZGVyIGluIGRlciByaWNodGlnZW4KU3RpbW11bmcgZnVlaGx0LCBkYXJmIGZ1ZXIgU2Ftc3RhZyBOYWNobWl0dGFnIEt1Y2hlbgptaXRicmluZ2VuLiA6KQoKRWluZSBBbmt1ZW5kaWd1bmcgcGVyIE1haWwgd2FlciBhdWNoIGtsYXNzZSwgaXN0IAphYmVyIG5pY2h0IF96d2luZ2VuZF8gbm90d2VuZGlnLgoKRGFuaywgRGFuayA6KQoKQW5hdG9sCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1HLVBhcnR5IFhYVklJOiBCaXR0ZSB1ZWJlcndlaXNlbiEgKE11YWRpYiwgIDEuIERleiAyMDA0LCAxMDoxMjowNyk6Cn4jISBybj1BbmF0b2wgcnQ9MTEwMTg1NDkwOCByZz1wYXJ0eQp+IyEgdGlkPTEwOTk0MjczOTIKd2VsY2hlbiBkb25uZXJzdGFnCnZlcmdhbmdlbmVuIG9kZXIgZGVuIG1vcmdlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1HLVBhcnR5IFhYVklJOiBCaXR0ZSB1ZWJlcndlaXNlbiEgKEFuYXRvbCwgIDMuIERleiAyMDA0LCAwODo1MjoxMik6Cn4jISBybj1NdWFkaWIgcnQ9MTEwMTg5MjMyNyByZz1wYXJ0eQp+IyEgdGlkPTEwOTk0MjczOTIKRGVuIGdlc3Rlcm4uIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UgYW4gZGFzIE9yZ2F0ZWFtISAoRmlyZWhhd2ssICA1LiBEZXogMjAwNCwgMTY6MDg6MjIpOgpCaW4gZ2VyYWRlIHZvbiBkZXIgUGFydHkgaW4gV2ludGVyYnVyZyB3aWVkZXIgaW4gbWVpbmVyIFdvaG51bmcgZWluZ2V0cm9mZmVuCnVuZCBtb2VjaHRlIGhpZXJtaXQgZGVuIE9yZ2FuaXNhdG9yZW4gZGFmdWVyIGRhbmtlbiwgZGFzcyBzaWUgc2ljaCB3aWVkZXIgbWFsCmRlbiBTdHJlc3MgYW5nZXRhbiBoYWJlbiwgdW0gdW5zIGVpbmUgc2Nob2VuZSBQYXJ0eSB6dSBlcm1vZWdsaWNoZW4uIEVzIGhhdAp1bnMgYW4gbmljaHRzIGdlZmVobHQsIGVzIHd1cmRlbiB3aWVkZXIgc2VociB2aWVsZSBXZXJ3b2VsZmUgZXJsZWd0IHVuZCBlcyBoYXQKc2VociB2aWVsIFNwYXNzIGdlbWFjaHQhCgpGaXJlZGluZ3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSBhbiBkYXMgT3JnYXRlYW0hIChBcmssICA1LiBEZXogMjAwNCwgMTY6MTA6MDQpOgp+IyEgcm49RmlyZWhhd2sgcnQ9MTEwMjI1OTMwMiByZz1wYXJ0eQp+IyEgdGlkPTExMDIyNTkzMDIKTWlzdCwgbnVyIHp3ZWl0ZXIgOi0pCkdsZWljaGVzIHZvbiBtaXIuIFVuZCBkZW0gUGFhciBub2NobWFscyBhbGxlcyBHdXRlLCBtYXkgeW91ciBzb25nIG5ldmVyIGVuZC4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2UgYW4gZGFzIE9yZ2F0ZWFtISAoQ2hhZ2FsbCwgIDUuIERleiAyMDA0LCAxNjoxMDoxMik6Cn4jISBybj1GaXJlaGF3ayBydD0xMTAyMjU5MzAyIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjI1OTMwMgpEZW0gd2lsbCBpY2ggbWljaCBtYWwgYW5zY2hsaWVzc2VuIHVuZCBhdWNoIGRlbiBQYXJ0eW9yZ2FuaXNhdG9yZW4gZnVlcgplaW4gc2VociBzY2hvZW5lcyBXb2NoZW5lbmRlIGRhbmtlbi4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbmtlIGFuIGRhcyBPcmdhdGVhbSEgKE1hcmN1cywgIDUuIERleiAyMDA0LCAxODoxNDo0Mik6Cn4jISBybj1DaGFnYWxsIHJ0PTExMDIyNTk0MTIgcmc9cGFydHkKfiMhIHRpZD0xMTAyMjU5MzAyCk1vZWNodCBtaWNoIGF1Y2ggYW5zY2hsaWVzc2VuLgoKRGFua2UgOikgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYW5rZSBhbiBkYXMgT3JnYXRlYW0hIChBbGtvaG9sLCAgNS4gRGV6IDIwMDQsIDE4OjM1OjM4KToKfiMhIHJuPU1hcmN1cyBydD0xMTAyMjY2ODgyIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjI1OTMwMgpqYSBpY2ggYXVjaCwgaWNoIGF1Y2gsIHVuZCBpY2ggYmluIG51ciBlaW4gYXJtZXIgdW5iZXNjaG9sdGVuZXIgdW5zY2h1bGRpZ2VyCkJ1ZXJnZXIsIGVnYWwgd2FzIExlaWJpIGJlaGF1cHRldC4KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5Zm90b3MgKENoYWdhbGwsICA1LiBEZXogMjAwNCwgMTg6NDA6MzApOgpIdWh1LAoKYmV2b3IgZGllIGdyb3NzZSBKYW1tZXJlaSBsb3NnZWh0IHdpZSAiSWNoIHdpbGwgbmljaHQgZGFzIG1laW4gQmlsZCBhdWYgCmRlciBNRy1XZWJzZWl0ZSBlcnNjaGVpbnQiIG8uYWUuLCBiaXR0ZSBpY2ggbWFsIGRpZWplbmlnZW4gUGFydHliZXN1Y2hlciwKd2VsY2hlIGRhcyBoYWx0IG5pY2h0IHdvbGxlbiBzaWNoIGJlaSBtaXIgenUgbWVsZGVuLiBEYW5uIHNvcnRpZXIgaWNoCmRpZSBCaWxkZXIgYXVzLiBBY2hqYSwgd2VubnMgZ2VodCBiaXR0ZSBwZXIgTWFpbCwgbWFuIG11c3MgamEgbmljaHQKZ2xlaWNoIGRpZSBNUEEgZGFubiB2b2xsbXVlbGxlbiBtaXQuCgogIENoYWdhbGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlmb3RvcyAoQ2hhZ2FsbCwgIDUuIERleiAyMDA0LCAxODo0NTo0NCk6Cn4jISBybj1DaGFnYWxsIHJ0PTExMDIyNjg2OTggcmc9cGFydHkKfiMhIHRpZD0xMTAyMjY4NDMwCkFjaGphLCBlcyBpc3QgYXVjaCBtb2VnbGljaCwgZGFzcyBpaHIsIGZhbGxzIGdld3VlbnNjaHQsIGV1Y2ggZGllCmJldHJlZmZlbmRlbiBCaWxkZXIgZGFubiBhbnNjaGF1ZW4gdW5kIHNlbGJzdCBlbnRzY2hlaWRlbiBrb2VubnQuCkphLCBwYXNzd29ydGdlc2NodWV0enQsIHNvIGRhc3MgbnVyIGRpZSBiZXRyb2ZmZW5lIFBlcnNvbiBkaWUgCmFuc2NoYXVlbiBrYW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHlmb3RvcyAoWm9vaywgIDUuIERleiAyMDA0LCAxODo1MjoyMCk6Cn4jISBybj1DaGFnYWxsIHJ0PTExMDIyNjg3NDQgcmc9cGFydHkKfiMhIHRpZD0xMTAyMjY4NDMwCldlciBzb2xjaCBlaW5lIEUtTWFpbCBhbiBDaGFnYWxsIHNjaGlja3QsIGthbm4gbWlyIGVpbmUgS29waWUgenVrb21tZW4KbGFzc2VuLCBkYW5uIGthbm4gaWNoIGRhcyBiZWkgYW5kZXJlbiBQYXJ0eS1CaWxkZXJuLUVpbnN0ZWxsZXJuIGViZW5mYWxscwpiZXJ1ZWNrc2ljaHRpZ2VuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5Zm90b3MgKE9ya3RvZXRlciwgIDUuIERleiAyMDA0LCAxODo1NjowMCk6Cn4jISBybj1ab29rIHJ0PTExMDIyNjkxNDAgcmc9cGFydHkKfiMhIHRpZD0xMTAyMjY4NDMwCldhciBkYSBuaWNodCBtYWwgZXR3YXMgZ2Vmb3JkZXJ0IHZvbiB3ZWdlbiAiYXVmIGRlciBNRy1Ib21lcGFnZSBlaW5lCk5hbWVuc2xpc3RlIGRlciBVbndpbGxpZ2VuIiB6dSBzdGVsbGVuPyBEYW5uIGthbm4gamVkZXIgUGhvdG9ncmFwaCBuYWNoc2NoYXVlbgp3ZXIgbmljaHQgZXJzY2hlaW5lbiB3aWxsLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5Zm90b3MgKEFuYXRvbCwgIDUuIERleiAyMDA0LCAxOToyMDozOCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTEwMjI2OTM2MCByZz1wYXJ0eQp+IyEgdGlkPTExMDIyNjg0MzAKSmVuZXIgVGVpbCBkZXIgUGFydHlnYWVzdGUsIGRlciBuaWNodCB2b3JiZWhhbHRzbG9zIGplZHdlZGVyClZlcm9lZmZlbnRsaWNodW5nIHp1c3RpbW10LCBzaW5kIG1pdG5pY2h0ZW4gZHVyY2h3ZWcgZ2FlbnpsaWNoClVud2lsbGlnZS4gVmllbG1laHIgd2lsbCBkYXMgR3JvcyBkZXJlciBlaW5mYWNoIHNvbGNoZSBCaWxkZXIsCmRpZSBzaWUgdm9uIGJlc29uZGVycyBsYWVjaGVybGljaGVyLCB1bnBhZXNzbGljaGVyIG9kZXIgc2NobGVjaHQKZ2V0cm9mZmVuZXIgU2VpdGUgemVpZ2VuLCB3ZW5pZ2VyIGdlcm4gYmlzIGdhciBuaWNodCBpbSBXV1cKdmVyb2VmZmVudGxpY2h0IGhhYmVuIHdvbGxlbi4KCkRhcyBVcnRlaWwgdWViZXIgZGllIExhZWNoZXJsaWNoa2VpdCB1c3cuIG9ibGllZ3QgaW4gbGV0enRlcgpLb25zZXF1ZW56IGRlbiBBYmdlbGljaHRldGVuLCBkYXp1IGJyYXVjaHQgZXMgbmljaHRtYWwgZGllCmdlc2V0emxpY2hlIFZvcmxhZ2UsIGVzIHJlaWNodCBkZXIgZ2VzdW5kZSBNZW5zY2hlbnZlcnN0YW5kLiAKSWNoIHdlcmRlIG5hY2ggd2llIHZvciBqZWRlcyBtYWwgbmFjaGZyYWdlbiwgd2VyIGV0d2FzIGRhZ2VnZW4gCmhhdCB1bmQgZGFiZWkgdW50ZXIgYW5kZXJlbSBkaWUgT3B0aW9uIGFuYmlldGVuLCBkaWUgCkJpbGRiZXVydGVpbHVuZyBkZW0gRm90b2dyYWZlbiB6dSB1ZWJlcmxhc3NlbiwgZ2dmLiBhdWNoIGZ1ZXIgCnp1a3VlbmZ0aWdlIFBhcnRpZXMuIEZ1ZXIgbWljaCBpc3QgZGFzIHNvIHNlaHIgdm9tIEZvdG9ncmFmZW4gCmFiaGFlbmdpZywgZGFzcyBpY2ggZWluZSBhbGxnZW1laW5lIExpc3RlIGZ1ZXIga29udHJhcHJvZHVrdGl2IApoYWx0ZS4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF0dHJpYnV0IGdlZnVuZGVuPyAoQm9pbmcsICA1LiBEZXogMjAwNCwgMTk6NDg6MDUpOgpIYXQgamVtYW5kIFNvbm50YWcgdm9ybWl0dGFnIGVpbiBBdHRyaWJ1dCAyIFNwaWVsIGltIEVzc3JhdW0gZWluZ2VzYW1tZWx0CmRhcyBkYSBuZWJlbiBlaW5lbSBhbmdla25hYmJlcnRlbiBOaWtvbGF1cyBydW1sYWc/IEljaCBoYXR0ZSBkYXMgdmVyc2VoZW50bGljaApsaWVnZW4gZ2VsYXNzZW4uIEZhbGxzIGVzIGplbWFuZCBnZWZ1bmRlbiBoYXQsIGJpdHRlIG1lbGRlbi4KCkFuc29uc3RlbiBoZXJ6bGljaGVuIERhbmsgYW4gZGllIE9yZ2FuaXNhdG9yZW4sIHdhciB3aWUgaW1tZXIgc3VwZXIuIDopCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXR0cmlidXQgZ2VmdW5kZW4/IChNdWFkaWIsICA1LiBEZXogMjAwNCwgMjA6NDI6MTEpOgp+IyEgcm49Qm9pbmcgcnQ9MTEwMjI3MjQ4NSByZz1wYXJ0eQp+IyEgdGlkPTExMDIyNzI0ODUKQXVjaCB2b24gbWVpbmVyIFNlaXRlIGF1cyBoZXJ6bGljaGVuIERhbmsgZGVuIE9yZ2FuaXNhdG9yZW4uClVuZCBkYXMgV2Vyd29sZnNwaWVsIGlzdCBkYWVtbGljaCwgd2VpbCBtYW4gbmllIHVlYmVybGViZW4ga2FubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdHRyaWJ1dCBnZWZ1bmRlbj8gKEh1cmF4cHJheCwgIDUuIERleiAyMDA0LCAyMDo1NDo0Nyk6Cn4jISBybj1NdWFkaWIgcnQ9MTEwMjI3NTczMSByZz1wYXJ0eQp+IyEgdGlkPTExMDIyNzI0ODUKZG9jaCwgbWFuIGthbm4gdWViZXJsZWJlbiwgd2VubiBtaWNoIG5pY2h0IHdpZWRlciBkaWUgSGV4ZSB2ZXJnaWZ0ZXQgOykKCmF1Y2ggdmllbGVuIERhbmsgYW4gZGllIE9yZ2FuaXNhdG9yZW4sIG5vY2htYWwgR2x1ZWNrd3VlbnNjaGUgYW4gZGFzCkJyYXV0cGFhci4KCmVpbiB1ZWJlcm11ZWRldGVyIGh1cmF4cHJheAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXR0cmlidXQgZ2VmdW5kZW4/IChLYWRhYnJhLCAgNS4gRGV6IDIwMDQsIDIyOjA5OjI4KToKfiMhIHJuPUh1cmF4cHJheCBydD0xMTAyMjc2NDg3IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjI3MjQ4NQpEYW5rZQpFcyB3YXIgc2Nob2VuIHVuZCB2aWVsIHVuZCBpbnRlcmVzc2FudCA7LSkgTWVpbmUgZXJzdGUKVm9sbHplaXQtTUctUGFydHkgOi0pIFVuZCBkYW5uIGRpcmVrdCBtaXQgU3BlY2lhbCBFZmZlY3RzLi4uCkVzIGhhdCBTcGFzcyBnZW1hY2h0IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXR0cmlidXQgZ2VmdW5kZW4/IChBbGtvaG9sLCAgNS4gRGV6IDIwMDQsIDIyOjEwOjEwKToKfiMhIHJuPUthZGFicmEgcnQ9MTEwMjI4MDk2OCByZz1wYXJ0eQp+IyEgdGlkPTExMDIyNzI0ODUKc3BlY2lhbCBlZmZlY3RzPyAKCkFsawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXR0cmlidXQgZ2VmdW5kZW4/IChBcmF0aG9ybiwgIDUuIERleiAyMDA0LCAyMjoxNToxNCk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDIyODEwMTAgcmc9cGFydHkKfiMhIHRpZD0xMTAyMjcyNDg1CkphLiBJbiBkZXIgS2FlbHRlIHZvciBkZW0gUmF0aGF1cyB3YXJ0ZW4gdW5kIGJ1bnRlbiBTY2huaWNrc2NobmFjayB6dXIKRGVrb3JhdGlvbiBkZXMgQnJhZXV0aWdhbXMgYmVzY2hhZmZlbi4gKmcqCgpEaWUgVm9ydHJhZWdlIHZvbiBIdW1uaSB1bmQgU2hha3kga29lbm50ZSBtYW4gZHVyY2hhdXMgYXVjaCBhbHMgU3BlY2lhbApFZmZlY3RzIGJlemVpY2huZW4sIG9kZXI/CgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEF0dHJpYnV0IGdlZnVuZGVuPyAoTWlyaWwsICA1LiBEZXogMjAwNCwgMjI6MjI6MTYpOgp+IyEgcm49QWxrb2hvbCBydD0xMTAyMjgxMDEwIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjI3MjQ4NQpIaSEKCkF1Y2ggdm9uIG1pciBlaW4gRGFua2VzY2hvZW4gYW4gZGFzIE9yZ2F0ZWFtLiBFcyB3YXIgbWVpbmUgZHJpdHRlIFdpbnRlcmJ1cmcKUGFydHkgdW5kIHNpZSBoYXQgd2llZGVyIGVpbm1hbCBqZWRlIE1lbmdlIFNwYXNzIGdlbWFjaHQsIHdhcyBoYXVwdHNhZWNobGljaAphbiBkZW4gdmllbGVuIG5ldHRlbiBNaXRtdWRkZXJuIGxpZWd0LCBkaWUgbWFuIHNvbnN0IG5pY2h0IHNvIG9mdCB0cmlmZnQuCgpJY2ggbW9lY2h0ZSBhdWNoIG5vY2ggbWFsIGFsbGVuIGZ1ZXIgZGFzIEludGVyZXNzZSB1bmQgZGllIERpc3ppcGxpbiBiZWkgZGVyCkRpc2t1c3Npb25ydW5kZSBkYW5rZW4uIEVzIHNpbmQgdmllbGUgZ3V0ZSBJZGVlbiBnZWFldXNzZXJ0IHdvcmRlbiwgZGllIHdpcgpob2ZmZW50bGljaCBpbiB1ZWJlcnNjaGF1YmFyZXIgWmVpdCBhdWNoIHVtc2V0emVuIHdlcmRlbiB1bmQgZXMgaGF0IGJlaSBtaXIKZGVuIEVpbmRydWNrIGhpbnRlcmxhc3NlbiwgZGFzcyBlcyBkdXJjaGF1cyBzaW5udm9sbCB3YXIsIGRpZXNlIERpc2t1c3Npb24KYW56dXN0b3NzZW4uCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXR0cmlidXQgZ2VmdW5kZW4/IChNaWV6ZSwgIDUuIERleiAyMDA0LCAyMjo1NToyMyk6Cn4jISBybj1LYWRhYnJhIHJ0PTExMDIyODA5Njggcmc9cGFydHkKfiMhIHRpZD0xMTAyMjcyNDg1CkljaCBzY2hsaWVzc2UgbWljaCBhdWNoIGFuLiBEaWUgU3BlY2lhbC1FZmZlY3RzIHdhcmVuIGViZW5mYWxscyBncm9zc2UgS2xhc3NlLgoKTWllemUgLSBvZWx0IGRpZSBlaW5nZXJvc3RldGVuIEh1ZWZ0ZW4gZnVlciBiZXNzZXJlcyBMYXRlaW4tVGFuemVuIDtvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXR0cmlidXQgZ2VmdW5kZW4/IChNdXBmZWwsICA1LiBEZXogMjAwNCwgMjI6NTU6NTkpOgp+IyEgcm49TWllemUgcnQ9MTEwMjI4MzcyMyByZz1wYXJ0eQp+IyEgdGlkPTExMDIyNzI0ODUKTWUgdG9vIDspCgpOZSBlbGxpc2NoLCB3YXIgbmUgZWNodCBkb2xsZSBQYWFkeS4uLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEF0dHJpYnV0IGdlZnVuZGVuPyAoQnJvdG5hZWwsICA2LiBEZXogMjAwNCwgMDA6MDU6MDgpOgp+IyEgcm49TXVwZmVsIHJ0PTExMDIyODM3NTkgcmc9cGFydHkKfiMhIHRpZD0xMTAyMjcyNDg1CkVpbiBkaWNrZXMgRGFua2VzY2hvZW4gYW4gZGllIE9yZ2EgdW5kIE1pdGdlc3RhbHRlciBkZXIgUGFydHkhIFVuZCBpY2gKd3VlbnNjaGUgYWxsZW4gZWluZSB1bnJ1aGlnZSBBbHB0cmF1bW5hY2h0LCBkaWUgamVtYWxzIGF1ZiBtaWNoIGdlemllbHQgaGFiZW4KOm8pCkJyb3RpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXR0cmlidXQgZ2VmdW5kZW4/IChCb2luZywgIDYuIERleiAyMDA0LCAwOTo0MzoxOCk6Cn4jISBybj1Cb2luZyBydD0xMTAyMjcyNDg1IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjI3MjQ4NQpJY2ggaGF0dGUgd29obCBkb2NoIHp1dmllbCBGZXVlcnphbmdlbmJvd2xlIC4uLiBpY2ggaGFiIHNvd29obCBTcGllbCBhbHMKYXVjaCBhbmdla25hYmJlcnRlbiBXZWlobmFjaHRzbWFubiBpbiBtZWluZXIgVGFzY2hlIGdlZnVuZGVuLiA7KSBXZW5uCm1pciBqZXR6dCBub2NoIGplbWFuZCB2ZXJyYXRlbiB3dWVyZGUsIHdhbm4gaWNoIGRhcyBlaW5nZXBhY2t0IGhhYmU/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRhbmtlIGFuIGRpZSBPcmdhIChDYXNzYW5kcmEsICA2LiBEZXogMjAwNCwgMTY6MDA6NDcpOgpBdWNoIHZvbiBtaXIgZWluZW4gZ3Jvc3NlbiBkYW5rIGFuIGRpZSBQYXJ0eU9yZ2EgdW5kIG5vY2htYWxzIGFsbGVzIGd1dGUgZnVlcgpkYXMgSG9jaHplaXRzcGFhci4KCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsZGVyIChab29rLCAgNi4gRGV6IDIwMDQsIDE2OjU3OjA1KToKRGllIGVyc3RlbiBCaWxkZXIga29tbWVuIChkYXMgZ2xhdWIga2VpbmVyISkgYXVzIGRlciBTY2h3ZWl6LCB1bmQgendhcgp2b24gQW5vcmlzLiBFcyBnaWx0IHdpZSBpbW1lciBiemdsLiB2b24gRmVobGVybiBvLmFlLiBkaWUgUmVnZWx1bmc6ClNjaHJlaWJ0IGRhcyBiaXR0ZSBlaW5mYWNoIHNjaG5lbGwgYW4gQW5vcmlzLCBkZXIga2FubiBkYXMgc2FtbWVsbiB1bmQgCm1pciBkYW5uIGVpbiBuZXVlcyBJbmRleC1GaWxlIHp1c2VuZGVuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWxkZXIgKFpvb2ssICA2LiBEZXogMjAwNCwgMTY6NTg6MjUpOgp+IyEgcm49Wm9vayBydD0xMTAyMzQ4NjI1IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjM0ODYyNQpEYXMgR2FuemUgaXN0IG1pdCBlaW5lciB1ZWJlcmFyYmVpdGV0ZW4gRmFzc3VuZyB2b24gUm9jaHVzIFNrcmlwdCAKZXJzdGVsbHQgd29yZGVuLCBnYW56IGhlcnpsaWNoZW4gRGFuayBhbiBBbmF0b2wgZGFmdWVyLiBNZWEgY3VscGEsCmRhcyBpY2ggZGFzIDIgSmFocmUgKG9kZXIgc28pIGhhYmUgaXJnZW5kd28gaGVydW1nYW1tZWxuIGxhc3NlbiwgCmJldm9yIGljaCBlcyB6dW0gRWluc2F0eiBicmluZ2UuCgpGYWxscyBlaW5lbSBhbSBIVE1MLUNvZGUgaXJnZW5kd2FzIEtvbWlzY2hlcyBhdWZmYWVsbHQsIGJpdHRlIGVpbmUga2xlaW5lCk1haWwgYW4gbWljaC4KCkFuYXRvbCwgd2llIGJla29tIGljaCBkZW5uIGRhcyA8YXV0b21hdGljPiBkdXJjaCAiRGF0dW0sIFpvb2siIGVyc2V0enQ/IDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkZXIgKEFuYXRvbCwgIDYuIERleiAyMDA0LCAyMTowNDowOCk6Cn4jISBybj1ab29rIHJ0PTExMDIzNDg3MDUgcmc9cGFydHkKfiMhIHRpZD0xMTAyMzQ4NjI1CkF1Y2ggZWluIG1lYSBjdWxwYSB2b24gbWlyLCBkZW5uIGVzIGlzdCBsZWlkZXIgZmVobGVyaGFmdCAqZmx1Y2gqIDopCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGFsIHZlcmdlc3Nlbj8gKFJhc2NoYXVhLCAgNy4gRGV6IDIwMDQsIDE0OjI4OjQ5KToKClZpZWxlbiBEYW5rIGFuIGRhcyBPcmdhdGVhbSBmdWVyIGRpZSBzY2hvZW5lIFBhcnR5LCB3YXIgZWNodCBrbGFzc2UuCkFtIFNvbm50YWcgbGFnIG5hY2ggZGVtIEVzc2VuIGJlaW0gQ2hpbmVzZW4gbm9jaCBlaW4gcm90ZXIgU2NoYWwgYXVmIGVpbmVtIGRlcgpTdHVlaGxlLCB2ZXJtaXNzdCBkZW4gamVtYW5kPwoKUmFzY2hhdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hhbCB2ZXJnZXNzZW4/IChNb250YW51cywgIDcuIERleiAyMDA0LCAxNDozMDoyNyk6Cn4jISBybj1SYXNjaGF1YSBydD0xMTAyNDI2MTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjQyNjEyOQpSb3RlciBTY2hhbD8gV2FsdGVyIE1vbXBlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NoYWwgdmVyZ2Vzc2VuPyAoQW55c2lkb3JhLCAgNy4gRGV6IDIwMDQsIDE1OjExOjM5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMDI0MjYyMjcgcmc9cGFydHkKfiMhIHRpZD0xMTAyNDI2MTI5CkxhY3JpIGhhdHRlIGdsYXViIGljaCBuZW4gcm90ZW4gU2NoYWwuLi4gYWJlciBvYiBkYXMgaWhyZXIgd2FyPyBNYWwgYW5zdHVwc2VuLgo7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NoYWwgdmVyZ2Vzc2VuPyAoTWFyY3VzLCAgNy4gRGV6IDIwMDQsIDE1OjEyOjI3KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMTAyNDI4Njk5IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjQyNjEyOQpOZWluLCBoZXV0ZSBtb3JnZW4gaGF0dGUgc2llIGlocmVuIHNjaGlja2VuIHJvdGVuIFNjaGFsIG5vY2ggdW0gLi4uIDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjaGFsIHZlcmdlc3Nlbj8gKEdsb2luc29uLCAgNy4gRGV6IDIwMDQsIDE1OjEyOjU1KToKfiMhIHJuPU1hcmN1cyBydD0xMTAyNDI4NzQ3IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjQyNjEyOQpXaXIgdGlwcHRlbiBlaGVyIGF1ZiBNZXNpcmlpIHYyLjAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTY2hhbCB2ZXJnZXNzZW4/IChBbnlzaWRvcmEsICA3LiBEZXogMjAwNCwgMTU6MTM6MDkpOgp+IyEgcm49TWFyY3VzIHJ0PTExMDI0Mjg3NDcgcmc9cGFydHkKfiMhIHRpZD0xMTAyNDI2MTI5CkRhbm4gd2lyZCBkYXMgd29obCBkb2NoIGRlciBTY2hhbCB2b24gd2VtIGFuZGVycyBnZXdlc2VuIHNlaW4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTY2hhbCB2ZXJnZXNzZW4/IChNb250YW51cywgIDcuIERleiAyMDA0LCAxNTo1NzozOCk6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTEwMjQyODc4OSByZz1wYXJ0eQp+IyEgdGlkPTExMDI0MjYxMjkKV2FydW0gbXVzc3RlIHNpZSBkZW5uIGhldXRlIG1vcmdlbiBpaHJlbiBTY2hhbCB0cmFnZW4/IE1hcmN1cywgZHUgYmlzdCBlaW4KYWx0ZXIgU2Nod2VyZW5vZXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNjaGFsIHZlcmdlc3Nlbj8gKEd3ZW5pbGksICA3LiBEZXogMjAwNCwgMTY6MDI6MDIpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEwMjQzMTQ1OCByZz1wYXJ0eQp+IyEgdGlkPTExMDI0MjYxMjkKT2IgTWFyY3VzIGhldXQgd2llZGVyIGVpbiBIZW1kIG1pdCBob2NoZ2VzY2hsb3NzZW5lbSBLcmFnZW4gdHJhZWd0PwpHd2VuLiAoa29ubnQgbWlyJ3MgZWluZmFjaCBuaWNodCB2ZXJrbmVpZmVuLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU2NoYWwgdmVyZ2Vzc2VuPyAoTW9udGFudXMsICA3LiBEZXogMjAwNCwgMTY6MDU6MjQpOgp+IyEgcm49R3dlbmlsaSBydD0xMTAyNDMxNzIyIHJnPXBhcnR5Cn4jISB0aWQ9MTEwMjQyNjEyOQpOdW4sIGFtIFdvY2hlbmVuZGUgaXN0IGVyIGltbWVyIHNjaG9uIHp1IHZlcmRhZWNodGlnIGZydWVoZW4gWmVpdGVuICJpbnMgQmV0dCIKdmVyc2Nod3VuZGVuLCB3byBlciB6aWVtbGljaCBzaWNoZXIgc2VpbiBrb25udGUsIGRhc3Mgc29uc3QgbmllbWFuZCBhdWYgZGVuClppbW1lcm4gd2FyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ0QgZ2VzdWNodCAoQ2Fzc2FuZHJhLCAgNy4gRGV6IDIwMDQsIDE2OjE4OjMxKToKSXJnZW5kamVtYW5kIGhhdCBtaXIgYXVmIGRlciBQYXJ0eSBlcnphZWhsdCwgZGFzIGVyIG5vY2ggbmUgQ0Qgdm9uIGRlcgpIYWxsZS1QYXJ0eSB2b24gbWlyIGhhdC4gSGFiIGJsb3MgbmljaHQgbWVociBpbSBrb3BmIHdlciBkYXMgd2FyLiBrb2VudGUgc2ljaApkZXJqZW5pZ2UgYml0dGUgbm9jaG1hbCBiZWkgbWlyIG1lbGRlbi4KCkNhc3N5LCBhdWYgZGVyIHN1Y2hlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJpbGRlciAoWm9vaywgMTEuIERleiAyMDA0LCAxNzowNDowMCk6Cn4jISBybj1ab29rIHJ0PTExMDIzNDg3MDUgcmc9cGFydHkKfiMhIHRpZD0xMTAyMzQ4NjI1CkRpZSBuYWVjaHN0ZW4gQmlsZGVyIGhhdCBDaGFnYWxsIGJlcmVpdGdlc3RlbGx0LgoKWm9vay4KClBTOiBBbm1lcmt1bmdlbiB6dW0gSW5kZXggYml0dGUgZGlyZWt0IGFuIGlobi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJpbGRlciAoWm9vaywgMjMuIERleiAyMDA0LCAxNTo1OTozMyk6Cn4jISBybj1ab29rIHJ0PTExMDI3ODEwNDAgcmc9cGFydHkKfiMhIHRpZD0xMTAyMzQ4NjI1ClVuZCBudW4gZGllIEJpbGRlciB2b24gVmFuSGVsc2luZy4KClpvb2sgc2V1Znp0IG9iIGRlciBnZW1laW5zYW1lbiBLcmFmdGFuc3RyZW5ndW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWlsaWdlIE5hY2h0IChLYWRhYnJhLCAyMy4gRGV6IDIwMDQsIDE5OjQxOjI4KToKRnVlciBhbGxlIGVpbiBwYWFyIHJ1aGlnZSBUYWdlLCB2aWVsIHp1IGVzc2VuLCBrZWluIFN0cmVzcyB1bmQgZG9sbGUKR2VzY2hlbmtlIQpGcm9oZXMgRmVzdCEKa2FkYWJyYQogUFM6IE1hbiBtb2VnZSBtaWNoIGJpdHRlIHZlcmxlZ2VuLCBmYWxscyBkYXMgTklDSFQgaW4gUGFydHkgcGFzc3QgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlsaWdlIE5hY2h0IChXdXJ6ZWwsIDI0LiBEZXogMjAwNCwgMTI6MDE6MjMpOgp+IyEgcm49S2FkYWJyYSBydD0xMTAzODI3Mjg4IHJnPXBhcnR5Cn4jISB0aWQ9MTEwMzgyNzI4OApydWhpZywga2VpbiBzdHJlc3M/IG5laW4sIGRhcyBwYXNzdCBuaWNodCBpbiBwYXJ0eS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZydWVoamFocnNwYXJ0eT8gKENhc3NhbmRyYSwgMTIuIEZlYiAyMDA1LCAxNTowMzoxOCk6CkdpYnRzIGRpZXNlcyBqYWhyIGVpZ2VuZGxpY2ggd2llZGVyIG5lIEZydWVoamFocnNwYXJ0eT8KV2VubiBqYQoKV28/CgpXYW5uPwoKQ2Fzc3ksIFBhcnR5IGZlaWVybiB3b2xsZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaWVmZXJiZXN0YWV0aWd1bmcgSG9jaHplaXRzZGFyYmlldHVuZ2VuIChDYXR3ZWF6bGUsICAxLiBNYXIgMjAwNSwgMTA6MDc6MTApOgoKTW9pbiEKCkxhbmcgbGFuZyBoYXRzIGdlZGF1ZXJ0LCBhYmVyIG5hY2ggbWVpbmVyIGxldHp0d29lY2hlbnRsaWNoZW4gQW5yZWlzZSBuYWNoCkJlcmxpbiwga2FubiBpY2ggZGllIEF1c2xpZWZlcnVuZyBhbGxlciBIb2NoemVpdHNnZXNjaGVua2UgYW4gTWFoYXJldCB1bmQKTWVzaXJpaSBiZXN0YWV0aWdlbi4gCgpEaWUgRXNwcmVzc29tYXNjaGluZSBpc3QgcmVsYXRpdiB6dWVnaWcgYmVyZWl0cyBhbmZhbmcgSmFudWFyIGltIERpcmVrdHZlcnNhbmQKYmVpIGRlbiBiZWlkZW4gYW5nZWtvbW1lbiwgZGllIHJlc3RsaWNoZW4gR2FiZW4gaGFiZW4gZGFubiBlaW5pZ2UgTGllZmVyLSB1bmQKQmVzY2hhZmZ1bmdzc2Nod2llcmlna2VpdGVuIGR1cmNobGF1ZmVuIG11ZXNzZW4uIFNhZ2VuIHdpciwgZGFzIHdhciBlY2h0IG5pY2h0CmVpbmZhY2ggOikKCldlbnMgaW50ZXJlc3NpZXJ0LCBpY2ggaGFiIGRpZSB6dXIgVmVyZnVlZ3VuZyBzdGVoZW5kZW4gRmluYW56bWl0dGVsIGJpcyBhdWYKd2VuaWdlIE9lcmUgdmVyanVja3QgKGhhYiBtaXIgamEgZHVyY2ggZGllIFNlbGJzdGxpZWZlcnVuZyBldHdhcyBQb3J0bwpnZXNwYXJ0KS4gV2VyIHVuYmVkaW5ndCBEZXRhaWxzIHdpc3NlbiBtb2VjaHRlLCBtb2VnZSBtaWNoIGZyYWdlbiwgYWJlciBnbGF1YnQKbWlyLCBkYXMgd29sbHQgaWhyIGVjaHQgbmljaHQgd2lzc2VuIDotKQoKU3VtbWEgc3VtbWFydW0gZ2FicyBmdWVyIGRpZSBiZWlkZW4gYWxzbzoKCi0gRWluZSAiRGVMb25naGkgRUFNIDMyMDAgUyBNYWduaWZpY2EgS2FmZmVldm9sbGF1dG9tYXQiLU1hc2NoaW5lIChoYWghIDotKSkKLSAyIGtnIG9yaWcuIGl0YWxpZW5pc2NoZSBFc3ByZXNzby1LYWZmZWVib2huZW4gKFNvcnRlbiB3ZWlzcyBpY2ggbmljaHQgbWVocikKLSAxIEZsYXNjaGUgTGFnYXZ1bGluIERvdWJsZSBNYXR1cmVkIChQZWRybyBYaW1pbmV6IFdvb2QgRmluaXNoKQotIDEgRmxhc2NoZSBHbGVudHVycmV0IDE4Si4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpZWZlcmJlc3RhZXRpZ3VuZyBIb2NoemVpdHNkYXJiaWV0dW5nZW4gKEJhYm9vbiwgIDIuIE1hciAyMDA1LCAxMDo1NTo1NCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEwOTY2ODAzMCByZz1wYXJ0eQp+IyEgdGlkPTExMDk2NjgwMzAKS29mZmVpbiB1bmQgQWxrb2hvbC4gd2FzIGJyYXVjaHQgbWFuIG1laHIKdW0gZWluZSBnbHVlY2tsaWNoZSBFaGUgenUgZnVlaHJlbj8gOi0pCgpCYWJvb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGllZmVyYmVzdGFldGlndW5nIEhvY2h6ZWl0c2RhcmJpZXR1bmdlbiAoQWxrb2hvbCwgIDIuIE1hciAyMDA1LCAxMToyNzoxOCk6Cn4jISBybj1CYWJvb24gcnQ9MTEwOTc1NzM1NCByZz1wYXJ0eQp+IyEgdGlkPTExMDk2NjgwMzAKd2FzIGhhYiBpY2ggbWl0IHNvIGVpbmVyIEVoZSB6dSB0dW4/IFdpZXNvIHdlcmRlIGljaCBkYSBnZWJyYXVjaHQ/CgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaWVmZXJiZXN0YWV0aWd1bmcgSG9jaHplaXRzZGFyYmlldHVuZ2VuIChab29rLCAgMi4gTWFyIDIwMDUsIDExOjI3OjUyKToKfiMhIHJuPUFsa29ob2wgcnQ9MTEwOTc1OTIzOCByZz1wYXJ0eQp+IyEgdGlkPTExMDk2NjgwMzAKRGEgbWFjaCBEaXIgbWFsIEdlZGFua2VuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExpZWZlcmJlc3RhZXRpZ3VuZyBIb2NoemVpdHNkYXJiaWV0dW5nZW4gKEdsb2luc29uLCAgMi4gTWFyIDIwMDUsIDEyOjAwOjU5KToKfiMhIHJuPVpvb2sgcnQ9MTEwOTc1OTI3MiByZz1wYXJ0eQp+IyEgdGlkPTExMDk2NjgwMzAKV2lyZCBlaWdlbnRsaWNoIFplaXQsIGRhc3MgQWxrb2hvbCBtYWwgaGVpcmF0ZXQuIFNjaG1lY2t0IGRhbm4gZWluZmFjaCBiZXNzZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpZWZlcmJlc3RhZXRpZ3VuZyBIb2NoemVpdHNkYXJiaWV0dW5nZW4gKExpYXJhLCAgMi4gTWFyIDIwMDUsIDE0OjExOjA4KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA5NjY4MDMwIHJnPXBhcnR5Cn4jISB0aWQ9MTEwOTY2ODAzMApIYWJlbiB3aXIgYXVjaCBldHdhcyBnZXNjaGVua3QsIGRhcyBNYWhhcmV0IGluIGRlbiBuYWVjaHN0ZW4gOCBNb25hdGVuCmtvbnN1bW1pZXJlbiBkYXJmL3dpbGw/IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpZWZlcmJlc3RhZXRpZ3VuZyBIb2NoemVpdHNkYXJiaWV0dW5nZW4gKEdsb2luc29uLCAgMi4gTWFyIDIwMDUsIDE0OjExOjU2KToKfiMhIHJuPUxpYXJhIHJ0PTExMDk3NjkwNjggcmc9cGFydHkKfiMhIHRpZD0xMTA5NjY4MDMwCkphLCBLYWZmZWUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGllZmVyYmVzdGFldGlndW5nIEhvY2h6ZWl0c2RhcmJpZXR1bmdlbiAoQ2F0d2VhemxlLCAgMi4gTWFyIDIwMDUsIDE0OjEyOjM4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDk3NjkxMTYgcmc9cGFydHkKfiMhIHRpZD0xMTA5NjY4MDMwClRqYSwgc2llIGhhdCBiZWkgZGVyIFVlYmVyZ2FiZSB6dWVyc3QgZ2VqdWJlbHQgdW5kIGRhbm4gZ2VqYW1tZXJ0IDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExpZWZlcmJlc3RhZXRpZ3VuZyBIb2NoemVpdHNkYXJiaWV0dW5nZW4gKEdsb2luc29uLCAgMi4gTWFyIDIwMDUsIDE0OjEyOjUxKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA5NzY5MTU4IHJnPXBhcnR5Cn4jISB0aWQ9MTEwOTY2ODAzMApNZWluZXMgV2lzc2VucyBzY2hsYWVmdCBzaWUgbWl0IGRlbSBXaGlza3kuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGllZmVyYmVzdGFldGlndW5nIEhvY2h6ZWl0c2RhcmJpZXR1bmdlbiAoQ2F0d2VhemxlLCAgMi4gTWFyIDIwMDUsIDE0OjEzOjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDk3NjkxNzEgcmc9cGFydHkKfiMhIHRpZD0xMTA5NjY4MDMwCk5hIGRhbm4gYmluIGljaCBqYSBtYWwgYXVmIGRhcyBLaW5kIGdlc3Bhbm50IDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaWVmZXJiZXN0YWV0aWd1bmcgSG9jaHplaXRzZGFyYmlldHVuZ2VuIChMaWFyYSwgIDIuIE1hciAyMDA1LCAxNDoxMzoyNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA5NzY5MTE2IHJnPXBhcnR5Cn4jISB0aWQ9MTEwOTY2ODAzMApQYWgsIHZvZWxsaWdlIEdlbnVzc2dpZnRmcmVpaGVpdCBpbiBkZXIgU2Nod2FuZ2Vyc2NoYWZ0ISEgOykKClAuIFMuOiBEaWUgVHlwb3MgYXVzIGRlbSBsZXR6dGVuIEFydGlrZWwgZHVlcmZlbiBiZWhhbHRlbiB3ZXJkZW4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaWVmZXJiZXN0YWV0aWd1bmcgSG9jaHplaXRzZGFyYmlldHVuZ2VuIChHbG9pbnNvbiwgIDIuIE1hciAyMDA1LCAxNDoxMzo0OCk6Cn4jISBybj1MaWFyYSBydD0xMTA5NzY5MjA2IHJnPXBhcnR5Cn4jISB0aWQ9MTEwOTY2ODAzMApNYWNoIGRvY2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGllZmVyYmVzdGFldGlndW5nIEhvY2h6ZWl0c2RhcmJpZXR1bmdlbiAoTWFoYXJldCwgIDUuIE1hciAyMDA1LCAxNjozNDo0MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA5NzY5MjI4IHJnPXBhcnR5Cn4jISB0aWQ9MTEwOTY2ODAzMApKYWFhYSwgaWNoIGJpbiBpbW1lciBub2NoIGdhbnogYmVnZWlzdGVydCB1bmQgZnJldWUgbWljaCB1bSBzbyBtZWhyIGF1ZgpPa3RvYmVyLiAgRGFua2Ugbm9jaG1hbCBhbGxlbiBIb2NoemVpdHNnZXNjaGVua3NjaGVua2Vybi4KCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExpZWZlcmJlc3RhZXRpZ3VuZyBIb2NoemVpdHNkYXJiaWV0dW5nZW4gKEdsb2luc29uLCAgNS4gTWFyIDIwMDUsIDE2OjQwOjI3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTExMDAzNjg4MSByZz1wYXJ0eQp+IyEgdGlkPTExMDk2NjgwMzAKVW5kIHdhcyBpc3QsIHdlbm4gZGVyIFp3ZXJnIHNwYWV0ZXIgcmF1cyB3aWxsPyA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IExpZWZlcmJlc3RhZXRpZ3VuZyBIb2NoemVpdHNkYXJiaWV0dW5nZW4gKERhcmtsb3IsICA1LiBNYXIgMjAwNSwgMTc6NTI6MTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExMDAzNzIyNyByZz1wYXJ0eQp+IyEgdGlkPTExMDk2NjgwMzAKTmEgZGFubiBoZWlzc3RzIGFid2FydGVuIHVuZCBydWhpZyBCbHV0Li4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBMaWVmZXJiZXN0YWV0aWd1bmcgSG9jaHplaXRzZGFyYmlldHVuZ2VuIChNYWhhcmV0LCAgNS4gTWFyIDIwMDUsIDE3OjUzOjA5KToKfiMhIHJuPURhcmtsb3IgcnQ9MTExMDA0MTUzMyByZz1wYXJ0eQp+IyEgdGlkPTExMDk2NjgwMzAKU3BhZXRlciBhbHMgT2t0b2Jlcj8gRGFubiB3aXJkIGRlciB6d2FuZ3NyYXVzZ2VzY2htaXNzZW4sIGRhIEFuZmFuZyBPa3RvYmVyClRlcm1pbiBpc3QsIGlzdCBOb3ZlbWJlciBkYW5uIGRvY2ggc2Nob24gc2VociBoZWlrZWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb21tZXJwYXJ0eSAoR3JpbW1ib3JuLCAyMC4gQXByIDIwMDUsIDIxOjIyOjEwKToKfiMhIG9uPU11YWRpYiBvdD0xMTE0MDE3NjM1IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KSGlobywKCmljaCB3YXIgbWl0IGRlbSBHZWRhbmtlbiBzY2h3YW5nZXIsIGVpbmUgU29tbWVycGFydHkgaW4gZGVyIHNjaG9lbmVuIFBmYWx6LApnZW5hdWVyIGluIFNwZXllciB6dSBvcmdhbmlzaWVyZW4uIE1pdHNhbXQgQ2FtcGluZ3dvY2hlLgpMZWlkZXIga29lbm5lbiAzIGRlciB2ZXJmdWVnYmFyZW4gQ2FtcGluZ3BsYWV0emUgbmljaHQgbWVociBhbHMgMTAtMjAgTWVuc2NoZW4KZmFzc2VuIHVuZCBkZXIgbGV0enRlIGRlciB2aWVyIFBsYWV0emUga29lbm50ZSB6d2FyIGxvY2tlciAxMDAgTWVuc2NoZW4KZmFzc2VuLCBiZXN0ZWh0IGFiZXIgYXVmIFJ1aGUgdW5kIEFsa29ob2x2ZXJib3QgYWIgMjIuMDAgVWhyIHVuZCBoYXQgbWljaCBiZWkKRXJ3YWVobnVuZyBkZXMgV29ydGVzICJJbnRlcm5ldCIgZmFzdCBhbHMgS2luZGVyc2NoYWVuZGVyIHRpdHVsaWVydCB1bmQgdm9yCmRpZSBUdWVyIGdlc2V0enQuCgpJbnNvZmVybiBpc3QgZGVyIFp1ZyB2b24gbWVpbmVyIFNlaXRlIHdpZWRlciBmcmVpIHp1bSBBdWZzcHJpbmdlbiA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IChNaXJpbCwgMjAuIEFwciAyMDA1LCAyMTozNDowOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTExNDAyNDkzMCByZz1wYXJ0eQp+IyEgdGlkPTExMTQwMjQ5MzAKRGFuayBHcmltbWJvcm5zIHVlYmVybGVnZW5lciBWZXJsZWdldGVjaG5payBzY2hyZWliIGljaCBkYXMgaGllciBsaWViZXIgCm5vY2ggbWFsIG5ldS4KCkRhcyBpc3Qgd2lya2xpY2ggc2NoYWRlLgoKRGVpbiBBcnRpa2VsIGhhdCBnZXJhZGUgenUgZWluZXIga2xlaW5lcmVuIERpc2t1c3Npb24gZWluaWdlciBSdWhyZ2ViaWV0bGVyCmdlZnVlaHJ0LCBtaXQgZGVyIElkZWUsIG1hbCBoaWVyIGluIGRlciBHZWdlbmQgd2FzIHp1IG1hY2hlbi4gTmVpbiwgZGFzIGlzdApub2NoIGtlaW5lIEFic2ljaHRzZXJrbGFlcnVuZywgc29uZGVybiBlaGVyIGVpbmUgVm9yd2VnYW5mcmFnZSwgb2IgaWhyCmRhcmFuIHVlYmVyaGF1cHQgSW50ZXJlc3NlIGhhZXR0ZXQuCkVzIGdpYnQgZWluaWdlIHJlY2h0IHNjaG9lbiBhbiBkZXIgUnVociBnZWxlZ2VuZW4gQ2FtcGluZ3BsYWV0emUsIGRpZSBtYW4KbWFsIGFia2xhcHBlcm4ga29lbm50ZSB1bmQgaW0gUnVocmdlYmlldHMgZ2lidHMgZWlnZW50bGljaCBmdWVyIGplZGVuCkdlc2NobWFjayB3YXMgenUgc2VoZW4sIG9iIEt1bHR1ciwgTXVzaWssIGFsdGUgUnVpbmVuIG9kZXIgd29uYWNoIGV1Y2ggc29uc3QKc28gaXN0LiBFaW5pZ2UgQWx0c3RhZWR0ZSwgd2llIHouYi4gSGF0dGluZ2VuIHNpbmQgYXVjaCByaWNodGlnIGtsYXNzZSwgc28KZGFzcyBzaWNoIHNpY2hlcmxpY2ggbmFjaHRzIGRlciBlaW4gb2RlciBhbmRlcmUgU3RyZWlmenVnIHVudGVybmVobWVuIGxpZXNzZS4KCldlciBhbHNvIGdlbmVyZWxsIEludGVyZXNzZSBkYXJhbiBoYWV0dGUsIG1vZWdlIGJpdHRlIGVpbmUgTWFpbCBhbiAKCnJ1aHJnZWJpZXQKCnNjaHJlaWJlbiB1bmQgbmljaHQgZGllIE1QQSB2b2xsbXVlbGxlbi4gWmVpdCB3YWVyZSBpcmdlbmR3YW5uIGltIEF1Z3VzdCwgCmRlbmsgaWNoLgoKW1RlYW06IEljZVdhcnNdIE1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eSAoUm9sYW5kLCAgMS4gTWFpIDIwMDUsIDIxOjA2OjI3KToKZ2lidHogZGllc2VzIGphaHIgZWluZSA/IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhcnR5IChDcm9mdCwgIDEuIE1haSAyMDA1LCAyMjozNjoxMik6Cn4jISBybj1Sb2xhbmQgcnQ9MTExNDk3NDM4NyByZz1wYXJ0eQp+IyEgdGlkPTExMTQ5NzQzODcKQXJ0aWtlbCAxOSBnZWxlc2VuPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJ0eSAoUm9sYW5kLCAgMS4gTWFpIDIwMDUsIDIyOjM2OjU4KToKfiMhIHJuPVJvbGFuZCBydD0xMTE0OTc0Mzg3IHJnPXBhcnR5Cn4jISB0aWQ9MTExNDk3NDM4Nwpqb3IgZGFzIHdhciBhYmVyIG5jaHQgZXJmcmV1ZW50IDopIDIyIHVociBuYWNodHJ1aGUgaXMgTXVoIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0eSAoUm9sYW5kLCAgMS4gTWFpIDIwMDUsIDIyOjM3OjMwKToKfiMhIHJuPVJvbGFuZCBydD0xMTE0OTc5ODE4IHJnPXBhcnR5Cn4jISB0aWQ9MTExNDk3NDM4NwpmbGFzY2hlbiBhcnRpa2VsIGJlem9nZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFydHkgKENyb2Z0LCAgMS4gTWFpIDIwMDUsIDIyOjM5OjAwKToKfiMhIHJuPVJvbGFuZCBydD0xMTE0OTc5ODE4IHJnPXBhcnR5Cn4jISB0aWQ9MTExNDk3NDM4NwoxOSwgbmljaHQgMTguCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5IFhYVklJSSAoSHVtbmksICA1LiBNYWkgMjAwNSwgMjI6MzI6MDcpOgp+IyEgcm49TWlyaWwgcnQ9MTExNTMxNjc1NCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTExNTMxNjc1NApTby4gUGFydHlicmV0dGVyIHN0ZWhlbi4gRnJvaGVzIEFubWVsZGVuLgoKQml0dGUgdHV0IGRhcyBtb2VnbGljaHN0IHplaXRuYWgsIHdpciBtdWVzc2VuIHdlZ2VuIGRlbSBQYXJ0eW9ydCBub2NoCnVlYmVybGVnZW4sIGRhIHdpciAyIHp1ciBBdXN3YWhsIGhhYmVuIHVuZCB1bnMgbmFjaCBkZXIgQW56YWhsIGRlciBMZXV0ZQpyaWNodGVuIG11ZXNzZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHktRGF0dW0/IChDYXNzYW5kcmEsIDEwLiBNYWkgMjAwNSwgMTI6NTU6NDkpOgpJc3QgZGFzIEFic2ljaHQgZGFzIGFscyBiZWdpbm4gZGVyIFBhcnR5d29jaGUgZGVyIFNvbm50YWcgKDI0LikgYW5nZWdlYmVuIGlzdD8KCkNhc3N5LCB2ZXJ3dW5kZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHktRGF0dW0/IChHbG9pbnNvbiwgMTAuIE1haSAyMDA1LCAxMzoyMDo0NCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTExNTcyMjU0OSByZz1wYXJ0eQp+IyEgdGlkPTExMTU3MjI1NDkKQW5nc3QsIHNjaG9uIGFtIFNhbXN0YWcvU29ubnRhZyBhbnp1cmVpc2VuPyA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHktRGF0dW0/IChNaXJpbCwgMTAuIE1haSAyMDA1LCAxNDo0ODoyNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTE1NzI0MDQ0IHJnPXBhcnR5Cn4jISB0aWQ9MTExNTcyMjU0OQpOb2UsIGlzdCBlaW4gRmVobGVyLiBHZW1laW50IHdhciBNb250YWcgQW5yZWlzZSB1bmQgU29ubnRhZyBBYnJlaXNlLgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5OiBQYXJ0eWtvc3RlbiwgbmV1ZXIgU3RhbmQgKEh1bW5pLCAyNy4gTWFpIDIwMDUsIDIzOjI3OjEwKToKSHVodSwKCmFsc28sIHdpciB3YXJlbiBoZXV0ZSBtYWwgdm9yIE9ydCB1bmQgaGFiZW4gZWluIHBhYXIgU2FjaGVuIGFiZ2VrbGFlcnQuCkFrdHVlbGxlciBTdGFuZCBpc3Qgd29obCwgZGFzcyB3aXIgZGVuIFBhcnR5cmF1bSBhdWYgZGVtIENhbXBpbmdwbGF0egp2ZXJtdXRsaWNoICggOy0pIDEwMCUgaXN0IG5vY2ggbml4KSBrcmllZ2VuLiBWb3J0ZWlsIGZ1ZXIgdW5zIHVuZCBhbGxlOiBXZW5pZwpsYXVmZW4sIHdlbmlnIEFyYmVpdC4gVm9ydGVpbCBmdWVyIHdlbmlndHJpbmtlcjogSWhyIGZpbmFuemllcnQga2VpbmUKVmllbHRyaW5rZXIgbWl0LiBOYWNodGVpbCBmdWVyIFZpZWx0cmlua2VyOiBLZWluZSBTYXVmcGF1c2NoYWxlLCBkaWUgUGFydHkKd2lyZCBiZXdpcnRzY2hhZnRldC4gSGVpc3N0IGltIEtsYXJ0ZXh0OiBKZWRlcyBCaWVyIHdpcmQgZWluemVsbiBiZXphaGx0IC0gbWl0CjEsNTAgRXVybyBmdWVyIDAsMyBnZXphcGZ0ZXMgQmllciBpc3QgZGFzIGFiZXIgdW5zZXJlciBNZWludW5nIG5hY2ggaW0gUmFobWVuCih1ZWJyaWdlIEdldHJhZW5rZSBoYWJlbiBkZW5zZWxiZW4gUHJlaXMsIFNjaG5hZXBzZSBnaWJ0cyBhdWNoLCBkaWUga29zdGVuCm5hdHVlcmxpY2ggbWVociA7LSkgKS4gRGFmdWVyIGtvc3RldCBkZXIgUmF1bSBkYW5uIGdhciBuaXguIERhbWl0IGJlc2NocmFlbmtlbgpzaWNoIGRpZSBQYXJ0eWtvc3RlbiBhdWYgZGFzIEVzc2VuLCBkYXMgd2lyIGFubGllZmVybiBsYXNzZW4gd2VyZGVuIChkYW1pdCB3aXIKbmljaHQgc2Nob24gd2llZGVyIGdyaWxsZW4sIHdhcyB3aXIgd29obCBkaWUgV29jaGUgdWViZXIgdHVuIHdlcmRlbikuIEZ1ZXIgZGllCmVyd2FydHVuZ3NnZW1hZXNzIHdvaGwgZ2VyaW5nZXJlIEFuemFobCBhbiBQYXJ5YWVzdGVuICgtPiBBbm1lbGR1bmdzc3RhbmQpCmxvaG50IHNpY2ggZWluZSBhbmRlcmUgSGFsbGUgbmljaHQuIERhZnVlciB3ZXJkZW4gd2lyIGhhbHQgZWluZQpFc3NlbnNwYXVzY2hhbGUgbmVobWVuIHdlcmRlbiwgZGEgZGllIGFiZXIgbmljaHQgc28gaG9jaCBhdXNmYWxsZW4gd2lyZCB3ZXJkZW4Kd2lyIGRpZSB3b2hsIHZvciBPcnQgZXJoZWJlbiAobWVociBhbHMgMTAgRXVybyB3ZXJkZW4gZGFzIHdvaGwgbmljaHQgd2VyZGVuLAplaGVyIHdlbmlnZXIpLiBEYXMgaGVpc3N0OiBEaWVzbWFsIGtlaW4gVWViZXJ3ZWlzdW5nc3N0cmVzcyBmdWVyIEV1Y2guCgpNYWcgc2VpbiwgZGFzcyBkZW0gZWluIG9kZXIgYW5kZXJlbiBkYXMgQmllciBoaWVyIHp1IHRldWVyIGlzdCAtIGljaCBrYW5uIGRhcwphdWNoIGFuc2F0endlaXNlIG5hY2h2b2xsemllaGVuLCB3b2JlaSBpY2ggZGVuIFByZWlzIGZ1ZXIgYW5nZW1lc3NlbiB1bmQgYXVjaApvayBoYWx0ZSAoZGFzIGlzdCB1ZWJyaWdlbnMgZ3V0ZXMgTXVlbnN0ZXJsYWVuZGVyIFBvdHRzLCB3ZXJzIGtlbm50LCBkYXMgaXN0CmtlaW5lIEJpbGxsaWctUGxvZXJyZSkuIE51ciBrb2VubmVuIHdpciBiZWkgZGVyIEFuemFobCBhbmdlbWVsZGV0ZXIgTGV1dGUKa2VpbmUgSGFsbGUgbWlldGVuLCBkaWUgS29zdGVuIHd1ZXJkZW4gdW5zIHNvbnN0IGVyZHJ1ZWNrZW4sIGRhIHdhZXJlIGRhcyBiZWltCkJpZXIgZ2VzcGFydGUgZWNodCBzY2huZWxsIHdpZWRlciBhdXNnZWdlYmVuLgoKU293ZWl0IGRlciBha3R1ZWxsZSBTdGFuZCwgaW0gTGF1ZmUgZGVzIEFiZW5kcyB3ZXJkIGljaCBhdWNoIGRlbgpQYXJ0eWJyZXR0LVRleHQgbm9jaCBtb2RpZml6aWVyZW4uCgpIdW1uaQouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHk6IFN1cmZsZWhyZ2FuZywgYWt0dWVsbGVyIFN0YW5kIChIdW1uaSwgMjcuIE1haSAyMDA1LCAyMzozNDowNik6Ckh1aHUsCgpOZXVpZ2tlaXRlbiB6dW0gU3VyZmxlaHJnYW5nOiBFciB3aXJkIHdvaGwgdW50ZXIgZGVyIFdvY2hlIHN0YXR0ZmluZGVuIChkZW5rZQppY2gsIGlzdCBiZXNzZXIgc28sIGRhIGFtIFdFIGRpZSBMZXV0ZSBlaGVyIHF1YXRzY2hlbiB3b2xsZW4sIHdlbm4gYWxsZSBkYQpzaW5kIC0gZ2lsdCB6dW1pbmRlc3QgZnVlciBtaWNoIHVuZCBub2NoIGVpbiBwYWFyIGFuZGVyZSA7LSkgKS4gS29zdGVuIHdlcmRlbgp3b2hsIGVoZXIgdW50ZXIgMTAwIEV1cm8gc2VpbiwgZGFmdWVyIGdpYnQgZXMgYWJlciBkaWUgTW9lZ2xpY2hrZWl0LCBlaW5lbgppbnRlcm5hdGlvbmFsIGFuZXJrYW5udGVuIERTVi1TdXJmc2NoZWluIHp1IG1hY2hlbiwgZGVyIG5vY2htYWwgMjAgRXVybwprb3N0ZXQuIERhbWl0IGlzdCBkZXIgTGVocmdhbmcgYWxzbyBhdWNoIGVpbmUgLCxydW5kZSBTYWNoZScnIC0gZGllIEZyYXUgdm9tCkNhbXBpbmdwbGF0eiBsaWVzcyBlYmVuIHNjaG9uIGFua2xpbmdlbiwgZGFzcyBtYW4gZGFubiBqYSAsLDEwMCBFdXJvIGlua2x1c2l2ZQpTY2hlaW4nJyBhbHMgUHJlaXMgbmVobWVuIGtvZW5udGUuIEJlaSBJbnRlcmVzc2Ugb2RlciBwbG9ldHpsaWNoZW4KRGVzaW50ZXJlc3NlIGJpdHRlIGFsc28gZGFzIFBhcnR5YnJldHQgaW5mb3JtaWVyZW4gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5OiBQYXJ0eWtvc3RlbiwgbmV1ZXIgU3RhbmQgKEdsb2luc29uLCAyOC4gTWFpIDIwMDUsIDAwOjA4OjM0KToKfiMhIHJuPUh1bW5pIHJ0PTExMTcyMjkyMzAgcmc9cGFydHkKfiMhIHRpZD0xMTE3MjI5MjMwCktsYWVydCB2aWVsbGVpY2h0IG1hbCwgZGFzcyBtYW4gaW4gaXJnZW5kIGVpbmVyIFdlaXNlIHNlaW5lIElkZW50aXRhZXQKaGludGVybGFzc2VuIHVuZCBkYW1pdCBkYW5uIGFuc2NocmVpYmVuIGthbm4uIERpZSBVbmx1c3QgamVkZXMgQmllciBlaW56ZWxuIHp1CmJlemFobGVuIGlzdCBtZWluZXJzZWl0cyBncm9zcyA6KQoKR3JpbGxlbi4gRmFsbHMgaWhyIHVuZ2xhdWJsaWNoIHZpZWwgRW5lcmdpZSB1ZWJlciBoYWJ0IC4uLiBpY2ggaGFiIHNlaXQgJzk2CmtlaW4gZ2VncmlsbHRlcyBXaWxkc2Nod2VpbiBtZWhyIGdlaGFidCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHk6IFBhcnR5a29zdGVuLCBuZXVlciBTdGFuZCAoTXVhZGliLCAyOC4gTWFpIDIwMDUsIDAwOjEyOjAwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTcyMzE3MTQgcmc9cGFydHkKfiMhIHRpZD0xMTE3MjI5MjMwCmRhIGljaCA5NiB6dW0gZ2V3aW5uZXJ0ZWFtIGdlaG9lcnRlIGhhdHRlIGljaCB2ZXJsb3JlbiB1bmQgZ2FyIGtlaW4gc2Nod2Vpbi4Kc28gZWluIHBlY2guIGdsdWVja2xpY2hlcndlaXNlIGhhdHRlIGljaCBkYW5hY2ggb2VmdGVyIHNjaHdlaW4uIHNjaHdlaW4gZ2VoYWJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5OiBQYXJ0eWtvc3RlbiwgbmV1ZXIgU3RhbmQgKE1pcmlsLCAyOC4gTWFpIDIwMDUsIDA4OjUzOjA0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTcyMzE3MTQgcmc9cGFydHkKfiMhIHRpZD0xMTE3MjI5MjMwCkFsc28sIGRpZSBGcmF1IGRhIHdpcmt0ZSBzbyB2ZXJudWVuZnRpZywgZGFzcyBkYXMgc2ljaGVybGljaCBrZWluIFByb2JsZW0KZGFyc3RlbGxlbiB3aXJkLiBJY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIGR1IG1pdCBnZXp1ZWNrdGVtIFBvcnRlbW9ubmFpZSBhbgpkZXIgVGhla2Ugc2l0emVuIG11c3N0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBHUC9HUEctS2V5c2lnbmluZy1QYXJ0eT8gKFRhcmFuaXMsICA0LiBKdWwgMjAwNSwgMjI6NDA6MjQpOgpEYSBpY2ggZGVuIEVpbmRydWNrIGhhYmUsIGRhc3MgZWluaWdlIGhpZXIgaW0gTUcgUEdQIG9kZXIgR1BHIHZlcndlbmRlbjoKQmVzdGVodCBJbnRlcmVzc2UgaW4gZGVyIFBhcnR5d29jaGUgbWFsIHB1YmxpYyBLZXlzIGJ6dy4gZGVyZW4gRmluZ2VycHJpbnRzCmF1c3p1dGF1c2NoZW4sIHNvenVzYWdlbiBlaW5lIGtsZWluZSBLZXlzaWduaW5nLVBhcnR5IHp1IG1hY2hlbj8gSWNoIGZhZW5kZQpkaWUgR2VsZWdlbmhlaXQgamEgcmVjaHQgZ3VlbnN0aWcsIHVtIGRhcyAiV2ViLW9mLVRydXN0IiB6dSBlcndlaXRlcm4uIDstKQoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBHUC9HUEctS2V5c2lnbmluZy1QYXJ0eT8gKENhdHdlYXpsZSwgIDUuIEp1bCAyMDA1LCAwODozNzo0NSk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMjA1MDk2MjQgcmc9cGFydHkKfiMhIHRpZD0xMTIwNTA5NjI0ClVuZCB3b2hlciBzb2xsIGljaCB3aXNzZW4sIGRhc3MgZHUgZHUgYmlzdD8gRHUgYmlzdCBoaWVyIGFub255bS4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQR1AvR1BHLUtleXNpZ25pbmctUGFydHk/IChUYXJhbmlzLCAgNS4gSnVsIDIwMDUsIDA4OjQ5OjQ1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTIwNTQ1NDY1IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMDUwOTYyNApJY2ggZ2ViZSBEaXIgbmF0dWVybGljaCByZWNodCwgZGFzcyBtYW4sIGZhbGxzIG1hbiBTY2hsdWVzc2VsIG1pdCBhbmRlcmVuIFVJRHMKYWxzICJUYXJhbmlzQE1HIiAod2VsY2hlIElNSE8gbmljaHQgc29uZGVybGljaCBzaW5udm9sbCBzaW5kKSBzaWduaWVyZW4gd2lsbCwKaXJnZW5kZWluIEF1c3dlaXNkb2t1bWVudCBhdXN0YXVzY2hlbiBtdWVzc3RlLiBBYmVyIGRhcyBtdXNzIG1hbiBqYSBlaWdlbnRsaWNoCihmYXN0KSBpbW1lciBtYWNoZW4sIHdlbm4gbWFuIFNjaGx1ZXNzZWwgc2lnbmllcnQuCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQR1AvR1BHLUtleXNpZ25pbmctUGFydHk/IChNb250YW51cywgIDUuIEp1bCAyMDA1LCAwODo1Mjo1Myk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMjA1NDYxODUgcmc9cGFydHkKfiMhIHRpZD0xMTIwNTA5NjI0CkljaCBrZW5uIGphLCBkYXNzIG1hbiBBVXRvZ3JhbW1rYXJ0ZW4sIEJ1ZWNoZXIsIHNvZ2FyIEdpcHNlIHNpZ25pZXJ0LgpBYmVyIFNjaGx1ZXNzZWw/IERhIHBhc3N0IGRvY2gga2VpbmUgZ2VzY2hlaXRlIFVudGVyc2NocmlmdCBkcmF1ZiwgdW5kIG5pY2h0CndpcmtsaWNoIG1laHIgYWxzIGVpbmUuCklociBoYWJ0IGVjaHQga29taXNjaGUgSWRlZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQR1AvR1BHLUtleXNpZ25pbmctUGFydHk/IChDYXR3ZWF6bGUsICA1LiBKdWwgMjAwNSwgMDk6MDU6MTApOgp+IyEgcm49VGFyYW5pcyBydD0xMTIwNTQ2MTg1IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMDUwOTYyNApKYSwgYWJlciBkdSwgZGVyIGhpZXIgYW50d29ydGVuZGUgVGFyYW5pcywga2FubiBqYSBzb25zdHdlbiB6dXIgUGFydHkKc2NoaWNrZW4uIE9kZXIgaGFzdCBkdSBlaW5lbiBUYXJhbmlzLUF1c3dlaXM/CgpBbGxlcyB3b3JhdWYgaWNoIGhpbmF1cyB3aWxsIGlzdCwgZGFzcyBkYXMgSW5HYW1lIGVpZ2VudGxpY2ggd2VuaWcgU2lubiBtYWNodC4KRHUgYmlzdCBhbm9ueW0sIGljaCB3ZWlzcyBuaWNodCwgd2VyIGR1IGJpc3QgdW5kIG9iIGR1IGRlciBiaXN0LCB2b24gZHUKYmVoYXVwdGVzdCBlcyB6dSBzZWluLiAKSWNoIGthbm4gZGlyIGFuIGRlciBVZWJlcmdhYmVzdGVsbGUsIGF1Y2ggbmljaHQgbWl0IEF1c3dlaXMsIG5pY2h0IHZlcnRyYXVlbgo6LSkKCk5hdHVlcmxpY2gga2FubiBtYW4gZGFzIGRhbm4gdHJvdHpkZW0gbWFjaGVuLiBadXNhbW1lbmRmYXNzZW5kIHdpbGwgaWNoIG51cgpzYWdlbjogR1BHL1BHUCBpc3QgZWluIHNlbnNpYmxlcyBHZXNjaGFlZnQgdW5kIG1hbiBzb2xsdGUgd2lzc2VuLCB3YXMgbWFuIHR1dAo6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQR1AvR1BHLUtleXNpZ25pbmctUGFydHk/IChUYXJhbmlzLCAgNS4gSnVsIDIwMDUsIDA5OjI4OjU1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTIwNTQ3MTEwIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMDUwOTYyNApLbGFyLCBEdSBrYW5uc3QgbmljaHQgdmVydHJhdWVuLCBkYXNzIGRlcmplbmlnZSBkYW5uIGVpbmVuIFNwaWVsZXIgYWJjIGhpZXIgaW0KTXVkIGhhdC4gKEljaCBoYXR0ZSBqYSBhdWNoIGdlc2NocmllYmVuLCBkYXNzIGVzIG5pY2h0IHNpbm52b2xsIGlzdApTcGllbGVyLVVJRHMgenUgc2lnbmllcmVuLikgQWJlciBiZWkgQXVzdGF1c2NoIHZvbiBQZXJzb25hbGF1c3dlaXNlbiBrYW5uc3QgRHUKaWRSIHNlaHIgd29obCBkYXJhdWYgdmVydHJhdWVuLCBkYXNzIGRhIFBlcnNvbiB4eSB2b3IgRGlyIHN0ZWh0LiAoT2ssIGtsYXIsIGVzCmdpYnQgZ2VmYWVsc2NodGUsIGFiZXIgZGFnZWdlbiBrYW5uc3QgRHUgZGljaCBlaCBuaWNodCBzY2h1ZXR6ZW4uKSBELmguIER1Cmthbm5zdCBkYW5uIHNpZ25pZXJlbiwgZGFzcyBTY2hsdWVzZWwgeHkgenUgUGVyc29uIHh5IGdlaG9lcnQuIFdpZXZpZWwKVmVydHJhdWVuIER1IGRlbWplbmlnZW4gZW50Z2VnZW5icmluZ3N0IChpbiBCZXp1ZyBhdWYgUHJ1ZWZ1bmcsIGJldm9yCmRlcmplbmlnZSBzaWduaWVydCksIGlzdCB3aWVkZXIgbmUgYW5kZXJlIFNhY2hlLiBPZGVyIHZlcnN0ZWhlIGljaCBEaWNoCmVpbmZhY2ggZmFsc2NoPwpPSywgaWNoIGRlbmtlLCB3aXIgc29sbHRlbiBkaWVzZSBEaXNrdXNzaW9uIGRhbm4gYmVzc2VyIHdvYW5kZXJzCndlaXRlcmZ1ZWhyZW4sIHBhcnR5IHNjaGVpbnQgbWlyIGpldHp0IG5pY2h0IG1laHIgcGFzc2VuZCB6dSBzZWluLiA7LSkKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBHUC9HUEctS2V5c2lnbmluZy1QYXJ0eT8gKEdsb2luc29uLCAgNS4gSnVsIDIwMDUsIDExOjE4OjI1KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEyMDU0ODUzNSByZz1wYXJ0eQp+IyEgdGlkPTExMjA1MDk2MjQKTW9vb29tZW50LgoKTmF0dWVybGljaCBrb2VubmVuIHdpciBkZWkgSWRlbnRpdGFldCBoYWxid2VncyBmZXN0c3RlbGxlbi4gTnVyIGRpZQpWZXJlaW5zbWl0Z2xpZWRlciBtYWNoZW4gZGllIFBhcnR5LCBkaWUgc2luZCBqYSBzY2hvbiBlaW4gV2ViIG9mIFRydXN0LgpJbnNvZmVybiBzb2xsdGUgamVkZXIgaW4gZGVuIFZlcmVpbiBlaW50cmV0ZW4sIGRlciBzZWluZW4gUEdQL0dQRy1LZXkgc2lnbmllcnQKaGFiZW4gd2lsbC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQR1AvR1BHLUtleXNpZ25pbmctUGFydHk/IChEYXJrbG9yLCAgNS4gSnVsIDIwMDUsIDExOjU5OjMzKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMjA1NTUxMDUgcmc9cGFydHkKfiMhIHRpZD0xMTIwNTA5NjI0CklzIGRlciBWZXJlaW4gc28ga25hcHAgYmVpIEthc3NlPyA7KQoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUEdQL0dQRy1LZXlzaWduaW5nLVBhcnR5PyAoQ2F0d2VhemxlLCAgNS4gSnVsIDIwMDUsIDEyOjQ0OjExKToKfiMhIHJuPURhcmtsb3IgcnQ9MTEyMDU1NzU3MyByZz1wYXJ0eQp+IyEgdGlkPTExMjA1MDk2MjQKV2FzIHdlaXNzIGRlbm4gaWNoPyAuLSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUEdQL0dQRy1LZXlzaWduaW5nLVBhcnR5PyAoTXVhZGliLCAgNS4gSnVsIDIwMDUsIDEyOjQ0OjMxKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTIwNTYwMjUxIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMDUwOTYyNAplaHJsaWNoZSBvZGVyIGhvZWZsaWNoZSBhbnR3b3J0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUEdQL0dQRy1LZXlzaWduaW5nLVBhcnR5PyAoWm9vaywgIDUuIEp1bCAyMDA1LCAxOTo0ODo0NSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTIwNTU1MTA1IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMDUwOTYyNApHdXQuIFNlaHIgZ3V0LiBJY2ggd2VyZGUgZGllc2VzIEFyZ3VtZW50IGluIG1laW5lIE1pdGdsaWVkZXItV2VyYmUtQWt0aW9uCmF1Zm5laG1lbi4gV2lldmllbGUgTWl0Z2xpZWRlciBoYXR0ZSBpY2ggZWlnZW50bGljaCBkaWUgbGV0enRlbiB6d2VpIApQYXJ0aWVzIG1pdCBNaXRnbGllZGVydmVyc2FtbWx1bmcgZ2V3b3JiZW4uLi4/IEljaCBnbGF1YiwgQmVybGluIHdhciBub2NoIApkaWUgZXJmb2xncmVpY2hzdGUgUGFydHkgaW4gZGllc2VyIEhpbnNpY2h0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBHUC9HUEctS2V5c2lnbmluZy1QYXJ0eT8gKFpvb2ssICA1LiBKdWwgMjAwNSwgMTk6NDk6MDEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMjA1NDcxMTAgcmc9cGFydHkKfiMhIHRpZD0xMTIwNTA5NjI0CkljaCB2ZXJzdGVoZSBuaWNodCwgd2FzIER1IHNhZ2VuIHdpbGxzdCwgYXVjaCBuaWNodCBpbiBkZXIgWnVzYW1tZW5mYXNzdW5nLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhc3NlIG9kZXIgVC1TaGlydCBnZWZhZWxsaWc/IChNaXJpbCwgIDYuIEp1bCAyMDA1LCAxNjowOToyMyk6CkxpZWJlIFBhcnR5YmVzdWNoZXIhCgpNaXQgUmFuZ29ybiBoYWJlbiB3aXIgZWluZSBmYWVoaWdlIEdyYWZpa2VyaW4gdW50ZXIgdW5zLCBkaWUgYmVyZWl0IHdhZXJlLAppaHJlIE1vdGl2ZSBmdWVyIGVpbmUgVGFzc2Ugb2RlciBlaW4gVC1TaGlydCB6dXIgVmVyZnVlZ3VuZyB6dSBzdGVsbGVuLiBJaHIKa29lbm50IHNpZSBhdWYgd3d3LnNlZWJlZS5kZS9tZy9kb2MvZ2FsZXJpZS5odG0gYmV3dW5kZXJuLiBXaXIgZGVua2VuLCBkYXNzCmRpZSBsZXR6dGVuIGRyZWkgZGF2b24gKGRpZSBkYW5uIG5vY2ggdmVydm9sbHN0YWVuZGlndCB3ZXJkZW4pIGdlbmF1IGRhcyAKUmljaHRpZ2Ugd2FlcmVuLiBCZWkgSW50ZXJlc3NlIGJpdHRlIGVpbmUgTWFpbCBhbiBSdWhyZ2ViaWV0LgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHkgWFhWSUlJIChHbG9pbnNvbiwgIDkuIEp1bCAyMDA1LCAxNDoyNDoyMSk6Cn4jISBybj1IdW1uaSBydD0xMTE1MzI1MTI3IHJnPXBhcnR5Cn4jISB0aWQ9MTExNTMxNjc1NApodHRwOi8vd3d3Lm11bHRpbWFwLmNvbS9tYXAvYnJvd3NlLmNnaT9sYXQ9NTEuNDA1NyZsb249Ny4xNzA4JnNjYWxlPTEwMDAwCgpodHRwOi8vbWFwcy5nb29nbGUuY29tL21hcHM/cT1oYXR0aW5nZW4sK2dlcm1hbnkmbGw9NTEuMzU5NjI1LDcuMTQ4NjY2JnNwbj0wLjAKNjYzNzMsMC4wOTA4MzUmdD1rJmhsPWVuCmFsaWFzCmh0dHA6Ly90aW55dXJsLmNvbS9hNWNkNAoKQmluIGVzIGxlaWQgaW1tZXIgd2llZGVyIG5ldSBzdWNoZW4genUgbXVlc3NlbiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5IFhYVklJSSAoVGFyYW5pcywgIDkuIEp1bCAyMDA1LCAxOTozOTo1MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTIwOTExODYxIHJnPXBhcnR5Cn4jISB0aWQ9MTExNTMxNjc1NApXYWgsIGRpZSBBdWZsb2VzdW5nIGlzdCBhYmVyIHppZW1saWNoIG1pZXMuIEFsc28sIHdlciBkaWUgV2llc2UsIGRpZSBmdWVyIHVucwpyZXNlcnZpZXJ0IGlzdCwgd2lya2xpY2ggZXJrZW5uZW4ga29lbm5lbiB3aWxsIChtaXQgWmVsdGVuIGRyYXVmKSwgbXVlc3N0ZSBtYWwKaHR0cDovL3d3dy50aW0tb25saW5lLm5ydy5kZS90aW0vTFZlcm1BL2luZGV4Lmh0bWwgYmVtdWVoZW4sIGxlaWRlciBrYW5uIG1hbgpkYSBrZWluZSBVUkwgZnVlciBlaW5lbiBiZXN0aW1tZW50ZW4gT3J0IGFuZ2ViZW4gKG9kZXIgaWNoIGJpbiB6dSBkb29mIGRhenUpLgpXb2JlaSBpY2ggZ2VyYWRlIGRlciBNZWludW5nIGJpbiwgZGFzcyBkYXMgZW50c3ByZWNoZW5kZSBCaWxkIGRvcnQgdmVyYWx0ZXQKaXN0LCBkYXMgc2llaHQgSU1ITyBqZXR6dCBldHdhcyBhbmRlcnMgYXVzLgoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHkgWFhWSUlJIChDYXR3ZWF6bGUsIDExLiBKdWwgMjAwNSwgMDg6MTk6NDYpOgp+IyEgcm49VGFyYW5pcyBydD0xMTIwOTMwNzkwIHJnPXBhcnR5Cn4jISB0aWQ9MTExNTMxNjc1NApEYXMgZ2VodCBhdWNoIGJlc3NlcjoKaHR0cDovL3d3dy5ydWhyZ2ViaWV0LmRlL2RhdGVuL2dlb2RhdGVuc2VydmVyLnNodG1sCkF1ZiAiIEdlby1TZXJ2ZXIgIkhUTUwiIGtsaWNrZW4uCkxpbmtzIG9iZW4gIkhhdHRpbmdlbiIgYW53YWVobGVuLCB1ZWJlciBTY2huZWxsc3VjaGUgaW4gIlIiIGRpZSBSdWhyc3RyYXNzZQphdXN3YWVobGVuLgpSZWNodHMgb2JlbiB2b24gIkthcnRlIiBhdWYgIkx1ZnRiaWxkIiB1bXNjaGFsdGVuLCB6d2VpIGJpcyBkcmVpbWFsIHJlaW56b29tZW4KdW5kIHNjaG9uIHNpZWhzdGUgZGVpbmUgWmVsdGUuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5IFhYVklJSSAoTWlyaWwsIDExLiBKdWwgMjAwNSwgMDk6NDk6NTUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMjEwNjI3ODYgcmc9cGFydHkKfiMhIHRpZD0xMTE1MzE2NzU0CkhhLCBtZWluIEhhdXMgaXN0IGF1Y2ggZHJhdWYuIFZpZWxsZWljaHQgc29nYXIgbWVpbiBBdXRvLCBkYSB3YXJlbiBzbyBlaW4gcGFhcgpibGF1ZSBQaXhlbCB2b3IuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdXJmZW4gKEh1bW5pLCAxMi4gSnVsIDIwMDUsIDEzOjM4OjEwKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTIxMTY4MjQ0IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTIwOTgwMjMxCkphLCBkYXMgZ2VodC4gRGllIENhbXBpbmdwbGF0emZyYXUgZmFlbmRlIGRhcyBhdWNoIGd1dCwgdm9yIGFsbGVtIGJlaSBkZW4KU3VyZmludGVyZXNzaWVydGVuLiBBbHNvIGtlaW4gUHJvYmxlbSA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VyZmVuIChHcmltbWJvcm4sIDEzLiBKdWwgMjAwNSwgMDk6MDc6NTEpOgp+IyEgb249Q2Fzc2FuZHJhIG90PTExMjExNjgyNDQgb2c9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgcm49TWlyaWwgcnQ9MTEyMDk4MDIzMSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTEyMDk4MDIzMQpLYW5uIG1hbiBhdWNoIHNjaG9uIGFtIFNvbm50YWcgYXVmIGRlbSBaZWx0cGxhdHogZWluZmFsbGVuPwpJY2ggd2lsbCB6d2FyIG5pY2h0IFN1cmZlbiwgd3VlcmRlIGFiZXIgZ2VybmUgbWl0IFdvY2hlbmVuZHRpY2tldCByZWlzZW4uCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1cmZlbiAoR3JpbW1ib3JuLCAxMy4gSnVsIDIwMDUsIDA5OjA3OjU1KToKfiMhIG9uPVJ1aHJnZWJpZXQgb3Q9MTEyMTIwMjQyNyBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1DYXNzYW5kcmEgcnQ9MTEyMTE2ODI0NCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTEyMDk4MDIzMQpTb25udGFncyBhbmtvbW1lbiBpc3Qga2VpbiBQcm9ibGVtLiBEaWUgU3VyZmVyIGtvbW1lbiBzb3dpZXNvIHNjaG9uIGRhbm4gdW5kCmRpZSBUYW50ZSB2b20gQ2FtcGluZ3BsYXR6IHdlaXNzIGF1Y2ggQmVzY2hlaWQuIEdlaHQgYWxsZSBrbGFyLCBzY2hyaWViIHNpZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVlciBkaWUgVGF1Y2hlciBpbSBSdWhyZ2ViaWV0IChUYXJhbmlzLCAxNC4gSnVsIDIwMDUsIDAwOjIwOjM1KToKfiMhIHJuPU11YWRpYiBydD0xMTIxMjQwMjA2IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTIxMjQwMjA2Ck1obW0sIGRhcyBrb21tdCBhYmVyIHNlaHIgYXVmIGRhcyBHZXdhZXNzZXIgYW4sIG9kZXI/IERpZSBSdWhyIHouQi4gaXN0CnppZW1saWNoIGtsYXIgdW5kIHNhdWJlci4gRGVyIEtlbW5hZGVyIFN0YXVzZWUgaXN0IGFsbGVyZGluZ3Mgdm9sbCBtaXQKV2Fzc2VyZ3J1ZW56ZXVncywgZGFzIHN0aW1tdC4gQW5zb25zdGVuIGthbm4gbWFuIHVlYnJpZ2VucyBhdWNoIGluIGVpbmVtCkdhc29tZXRlciBpbiBEdWlzYnVyZyB0YXVjaGVuLCBzb2xsIHJlY2h0IGludGVyZXNzYW50IHNlaW46Cmh0dHA6Ly93d3cudGF1Y2hnYXNvbWV0ZXIuZGUvCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZ1ZXIgZGllIFRhdWNoZXIgaW0gUnVocmdlYmlldCAoR2xvaW5zb24sIDE0LiBKdWwgMjAwNSwgMDE6MTI6MjgpOgp+IyEgcm49VGFyYW5pcyBydD0xMTIxMjkzMjM1IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMTI0MDIwNgpJY2ggYmluIG1pciBuaWNodCBnYW56IHNpY2hlciwgYWJlciBlcyBrb2VubnRlIG1hbCBpbiBtZWdhc2NobWFycm4gZXJ3YWVobnQKd29yZGVuIHNlaW4gdW5kIGRpZSBQcmVpc2Ugc2luZCB3b2hsIHJlY2h0IGhhcHBpZyBmdWVyIGRlbiBTcGFzcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZ1ZXIgZGllIFRhdWNoZXIgaW0gUnVocmdlYmlldCAoTXVhZGliLCAxNC4gSnVsIDIwMDUsIDA5OjEyOjE5KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEyMTI5MzIzNSByZz1wYXJ0eQp+IyEgdGlkPTExMjEyNDAyMDYKaWNoIGthbm4gZGFzIG5pY2h0IGJldXJ0ZWlsZW4sIGljaCBoYWJlIG5vY2ggbmllIGluIGRlciBydWhyIGdldGF1Y2h0LiBkaWUKYXVzc2FnZSBpc3Qgdm9tIGRvcnRpZ2VuIGNhbXBpbmdwbGF0ei4KaW0gZ2Fzb21ldGVyIHdhciBpY2ggc2Nob24gdW5kIGthbm4gZGF6dSBmb2xnZW5kZXMgc2FnZW46IG5hY2ggMTQgbWludXRlbgpsYW5nd2VpbGlnIHVuZCBkYW5uIGxlaWRlciBub2NoIGVpbmUgdW52ZXJzY2hhZW10ZSBhYnpvY2tlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGdWVyIGRpZSBUYXVjaGVyIGltIFJ1aHJnZWJpZXQgKFRhcmFuaXMsIDE0LiBKdWwgMjAwNSwgMTU6NTk6MjkpOgp+IyEgcm49TXVhZGliIHJ0PTExMjEzMjUxMzkgcmc9cGFydHkKfiMhIHRpZD0xMTIxMjQwMjA2CkFoLCBkYXMga2FubiBzZWluLCBpY2ggd2FyIGRhIG5vY2ggbmllIHVuZCBrZW5uZSBkaWUgUHJlaXNlIGF1Y2ggbmljaHQsIGJpbgprZWluIFRhdWNoZXIuIDstKQpXYXMgZGllIFJ1aHIgYW5nZWh0OiBTb2xsdGUgaWNoIHZpZWxsZWljaHQgbWFsIHdpZWRlciBydW50ZXJnZWhlbiwgZGFzIGxldHp0ZQpNYWwsIGFscyBpY2ggZGEgd2FyLCBmYW5kIGljaCBkYXMgV2Fzc2VyIHppZW1saWNoIGtsYXIsIGFiZXIgdmllbGxlaWNodCBoYXQKc2ljaCBkYXMgamEgZ2VhZW5kZXJ0LiA7LSkKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVucGVyZmVrdGhhdXMgKEdyaW1tYm9ybiwgMjAuIEp1bCAyMDA1LCAwMTozNDozMik6Cldlbm4gaWhyIGVoIHNjaG9uIGltIFJ1aHJwb3R0IHNlaWQ6IEljaCB3YXIgaGV1dGUgaW0gVW5wZXJmZWt0aGF1cwood3d3LnVucGVyZmVrdGhhdXMuZGUpLiBTY2h3ZXIgYmVnZWlzdGVydC4gTmVobXQgZXVjaCBkaWUgWmVpdCB1bmQgc2NoYXV0cwpldWNoIGFuLCBkYXMgaXN0IHNjaG9uIHppZW1saWNoIGFuZGVycyBhbHMgYWxsZXMgYW5kZXJlLiAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlZ2Jlc2NocmVpYnVuZ2VuPyAoVGFyYW5pcywgMjAuIEp1bCAyMDA1LCAxMjo1MzoxNik6Ck11ZXNzZW4gd2lyIG5vY2ggV2VnYmVzY2hyZWlidW5nZW4gYXVzc2VyIGRlbiBhdWYKaHR0cDovL3d3dy5jYW1waW5nLWhhdHRpbmdlbi5kZS8gYW5nZWdlYmVuZW4gZXJzdGVsbGVuPyBJY2ggYmluIGRlciBNZWludW5nLApkaWUgdm9tIENhbXBpbmdwbGF0eiBzaW5kIGF1c3JlaWNoZW5kLCBhYmVyIGVzIGthbm4gamEgc2VpbiwgZGFzcyBpY2ggYWxzIGhpZXIKd29obmVuZGVyIGRhcyB6dSB2ZXJmYWVsc2NodCBzZWhlLgoKVGFyYW5pcwpQLlMuIEphLCBkaWUgRnJhZ2UgcmljaHRldCBzaWNoIG5hdHVlcmxpY2ggYW4gZGllIExldXRlLCBkaWUgbmljaHQgYXVzIGRlcgpnZWdlbmQgYW5yZWlzZW4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMiAiTWl0ZmFocmVyIiBhdXMgQmVybGluIGdlc3VjaHQgKFJhbmdvcm4sIDIwLiBKdWwgMjAwNSwgMTY6Mjg6NTcpOgpNYXV6LAoKYmVpIG1pciBzaW5kIG5vY2ggendlaSBQbGFldHplIGluIGVpbmVtIEZvcmQgTW9uZGVvIGF1ZiBkZW4gV2VnIG5hY2ggSGF0dGluZ2VuCmZyZWkuClN0cmVja2UgUm9zdG9jay1IYXR0aW5nZW4gbGFlc3N0IHNpY2ggbG9ja2VyIHVlYmVyIEJlcmxpbiBmdWVocmVuLCBzb2Zlcm4KQmVpZmFocmVyIHp1c3RlaWdlbiBtb2VjaHRlbiAobmF0dWVybGljaCBhdWNoIGVudGxhbmcgZGVyIFN0cmVja2UpLgpIYXJrZW46IEFua3VuZnQgaW4gSGF0dGluZ2VuIGlzdCBhdWZncnVuZCBnZXN0ZWlnZXJ0ZXIgU3VyZnd1dCBiZXJlaXRzIFNvbm50YWcKYWJlbmQuIEFsc28gbnVyIHdhcyBmdWVyIExldXRlLCBkaWUgYmVyZWl0cyBTb25udGFnICgyNC4pIE1pdHRhZy9OYWNobWl0dGFnCmxvc2ZhaHJlbiBtb2VjaHRlbi4KCi0gUmFuZ29ybiBLaHVyJ1RpZ3JlcywgQ2hlYXVmZmV1ciAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouLiBvZGVyIDIgYXVzIEx1ZWJlY2svSGFtYnVyZyAoUmFuZ29ybiwgMjAuIEp1bCAyMDA1LCAxNzozNjozOCk6Ck1hdXosCgppbW1lciB3aWVkZXIgc2Nob2VuLCBzaWNoIHNlbGJzdCB6dSAid2lkZXJzcHJlY2hlbiIuIDpvKQpad2VpIE1pdGZhaHJlciBhdXMgSGFtYnVyZyBvZGVyIEx1ZWJlY2sgKGRpZSBzdHJlY2tlIGhhbHQpIHdhZXJlbiBuYWVtbGljaAphdWNoIHNjaG9lbi4gU3ByaWNoLCBkb3J0LCB3byBzaWNoIGFscyBlcnN0ZXMgTGV1dGUgZnVlciBrYW1lcmFkc2NoYWZ0bGljaGUKU3ByaXR0ZWlsdW5nIChiZWkgZGVuIGRlcnplaXRpZ2VuIFByZWlzZW4gd29obCB1bSBkaWUgMTMgY2VudCBwcm8ga2lsb21ldGVyKQpmaW5kZW4sIGRvcnQgZmFociBpY2ggbGFuZy4KCm1hdXplbmQsCgotIFJhbmdvcm4gS2h1cidUaWdyZXMsIENoZWF1ZmZldXIgb2huZSBLYXJ0ZSAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRkcgSGFsbGUgLUhhdHRpbmdlbiAoQ2Fzc2FuZHJhLCAyMS4gSnVsIDIwMDUsIDEwOjU4OjMwKToKTW9pbgpCaWV0ZSBmdWVyIFNvbm50YWcgTWl0ZmFocmdlbGVnZW5oZWl0IGF1ZiBXb2NoZW5lbmR0aWNrZXQgdm9uIEhhbGxlIHVlYmVyCkhhbm5vdmVyIHVuZCBCaWVsZWZlbGQgbmFjaCBIYXR0aW5nZW4uIFdlciBpbnRlcmVzc2UgaGF0IHVuZCBnZXJuZSBtaXRmYWhyZW4KbW9lY2h0ZSAgbWVsZGUgc2ljaCBtb2VnbGljaHN0ZSBzY2huZWxsIGJlaSBtaXIuIAoKYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UgKEFyaywgMzEuIEp1bCAyMDA1LCAxNTo0Mzo1Myk6CkRhbm4gZmFuZ2UgaWNoIG1hbCBhbiA6LSkKVmllbGVuIERhbmsgZnVlciBkaWUgdG9sbGUgUXVlc3QgYXVmIGRlciBQYXJ0eS4gRGFua2UgYXVjaCBhbiBkaWUKT3JnYW5pc2F0b3Jlbi4gS2VpbmVuIERhbmsgYW4gZGFzIFdldHRlciwgZGFzIG1pciBlaW4gU2Nod2ltbWJhZCBpbiBkZXIgUnVocgp2ZXJtaWVzdGUuCgpQUzogV2VyIHNjaHJlaWJ0IG51biBkaWUgUXVlc3Q/IEljaCBuaWNodCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2UgKENoYWdhbGwsIDMxLiBKdWwgMjAwNSwgMTU6NDU6MjQpOgp+IyEgcm49QXJrIHJ0PTExMjI4MTc0MzMgcmc9cGFydHkKfiMhIHRpZD0xMTIyODE3NDMzCmFudHdvcnRlCkRlbSBrYW5uIGljaCBtaWNoIGVpZ2VudGxpY2ggbnVyIGFuc2NobGllc3Nlbi4gVW5kIGljaCBiaW4gZGFmdWVyLCBkYXNzCkFyayBkaWUgUXVlc3Qgc2NocmVpYnQsIGVnYWwgb2IgZXIgd2lsbCBvZGVyIG5pY2h0LiA6KQoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFua2UgKE11YWRpYiwgMzEuIEp1bCAyMDA1LCAxNzoxMDo1Myk6Cn4jISBybj1DaGFnYWxsIHJ0PTExMjI4MTc1MjQgcmc9cGFydHkKfiMhIHRpZD0xMTIyODE3NDMzCkhpaG8sCgphdWNoIHZvbiBtaXIgdmllbGVuIERhbmsgZnVlciBkaWUgdG9sbGUgUGFydHkuCldhcnVtIGhhdCBkYXMgV2V0dGVyIERpciBkYXMgU2Nod2ltbWVuIHZlcm1pZXN0LCBBcms/CkVzIHdhciBkb2NoIHNjaG9lbiB3YXJtIGFtIFNhbXN0YWcuCgpVZWJyaWdlbnMgbm9jaCBlaW5lbiBEYW5rIGFuIGRhcyBXZXR0ZXIuIEVzIGhhdCBzaWNoIGFtIFBhcnR5ZnJlaXRhZyBlcnN0IGRhbm4KenVtIEF1c3JlZ25lbiBlbnRzY2hsb3NzZW4gYWxzIGljaCBiZXJlaXRzIGltIEJldHQgd2FyLCBhbSBQYXJ0eXNhbXN0YWcgd2FyIGVzCmF1c3Nlcm9yZGVudGxpY2ggZnJldW5kbGljaCB1bmQgYW0gUGFydHlzb25udGFnIGJlZ2FubiBlcyBlcnN0IHp1IHJlZ25lbiBhbHMKaWNoIGRpZSBBdXRvdHVlciBzY2hsb3NzLgoKTXVhZGliCnBzOiBJcmdlbmRldHdhcyBzdGltbXQgbWl0IGRlbSBBcnRpa2VsIG5pY2h0LiBBYmVyIHdhcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhbmtlIChBcmssIDMxLiBKdWwgMjAwNSwgMTc6MjM6MTcpOgp+IyEgcm49TXVhZGliIHJ0PTExMjI4MjI2NTMgcmc9cGFydHkKfiMhIHRpZD0xMTIyODE3NDMzCktsYXIsIGFiZXIgd2lyIHNpbmQgamEgYXVmIFpUIFN1Y2hlIHVuZCBCZWZyZWl1bmdzYWt0aW9uIGdld2VzZW4sIGRhbmFjaCBoYXQKTWVzaXJpaSBtaXQgZGVuIFB1bmt0ZW4gZGllIFplaXQgZ2VrbGF1dCB1bmQgZGFuYWNoIHdhciBudXIgbm9jaCBFc3Nlbgphbmdlc2FndC4gSWNoIG1laW50ZSBhdWNoIGhldXRlLCBkYSBoYWV0dGUgZGFzIG1vcmdlbnMgc2Nob24gbm9jaG1hbCBlaW4Kd2Flcm1lcmVzIEF1Z2UgZ2VicmF1Y2h0LgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmtlIChNdWFkaWIsIDMxLiBKdWwgMjAwNSwgMTc6MjQ6NTEpOgp+IyEgcm49QXJrIHJ0PTExMjI4MjMzOTcgcmc9cGFydHkKfiMhIHRpZD0xMTIyODE3NDMzCkhldXRlIG1vcmdlbiBoYWV0dGUgaWNoIG1pY2ggamEgYXVmIGVpbmUgVm9yZnVlaHJ1bmcgZGVyIHN1cmZlbmRlbiBIZWxkZW4gdW5kCkhlbGRpbm5lbiBkZXMgTW9yZ2VuR3JhdWVucyBnZWZyZXV0LiBBYmVyIGRpZSBoYXR0ZW4gbGVpZGVyIEFuZ3N0IHZvciBkZW0KV2luZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERhbmtlIChDaGFnYWxsLCAzMS4gSnVsIDIwMDUsIDE3OjI1OjMzKToKfiMhIHJuPU11YWRpYiBydD0xMTIyODIzNDkxIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwpFcyB3aXJkIHNpY2hlcmxpY2ggUGFydHliaWxkZXIgZ2ViZW4sIHdvIGRpZSBkcmF1ZiBzdXJmZW4uIElzdCB6d2FyIG5pY2h0Cmdhbnogc28gc2Nob2VuIHdpZSBkYXMgbGl2ZSB6dSBiZWFjaHRlbiwgYWJlciBpbW1lcmhpbiBldHdhcy4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYW5rZSAoTWlyaWwsIDMxLiBKdWwgMjAwNSwgMTc6MjU6MzkpOgp+IyEgcm49TXVhZGliIHJ0PTExMjI4MjI2NTMgcmc9cGFydHkKfiMhIHRpZD0xMTIyODE3NDMzCkRpZSBHcm9zcy0gS2xlaW5zY2hyZWlidW5nIHdhciBhdWZmYWVsbGlnLiBBbnNvbnN0ZW4gZmllbCBtaXIgd2VuaWcgYXVmLgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERhbmtlIChPcmt0b2V0ZXIsIDMxLiBKdWwgMjAwNSwgMTc6Mjg6MDUpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTIyODIzNTMzIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwpCaWxkZXIgdm9uIHN1cmZlbmRlbiBNdWRkZXJuPyBQYWghIFdlbm4gaWNoIGRhIGFuIGFsdGUgUGFydHlzIGRlbmtlLi4gZGEgZ2lidAplcyB6LkIuIEJpbGRlciB2b24gZWluZXIgS2F0emUsIGRpZSBtaXQgS2lzdGUgQmllciB1bSBlaW5lbiBTZWUgc2Nod2ltbXQhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGFua2UgKENoYWdhbGwsIDMxLiBKdWwgMjAwNSwgMTc6Mjk6MDcpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExMjI4MjM2ODUgcmc9cGFydHkKfiMhIHRpZD0xMTIyODE3NDMzCkR1IHdhcnN0IG5pY2h0IGRhLCBEdSBrYW5uc3QgbmljaHQgbWl0cmVkZW4uIF9QVU5LVF8hCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGFua2UgKE11YWRpYiwgMzEuIEp1bCAyMDA1LCAxNzozMToyOSk6Cn4jISBybj1NaXJpbCBydD0xMTIyODIzNTM5IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwphaCwgZGFzIHdhcnMKZGFua2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERhbmtlIChQZXJkaXRhLCAzMS4gSnVsIDIwMDUsIDE3OjMxOjU1KToKfiMhIHJuPUNoYWdhbGwgcnQ9MTEyMjgyMzc0NyByZz1wYXJ0eQp+IyEgdGlkPTExMjI4MTc0MzMKaWNoIHdlcmQgbWljaCBtYWwgZGVuIGdhbnplbiBEYW5rc2FndW5nZW4gYW5zY2hsaWVzc2VuIHVuZCBkZW0gT3JnYXRlYW0gZnVlcgplaW5lIGdlbHVuZ2VuZSBQYXJ0eSBkYW5rZW4uIERpZSBRdWVzdCB3YXIgZ2VuaWFsISAoYXVjaCB3ZW5uIGdlZ2VuIEVuZGUgZGFubgpkb2NoIGxhbmdzYW0gZGllIEJlaW5lIGxhaG0gd3VyZGVuLi4uKQpVbmQgc29vb28gc2NobGltbSB3YXIgZGFzIFdldHRlciBkYW5uIGphIGF1Y2ggbmljaHQsIGRpZSBwYWFyIFNjaGF1ZXIKendpc2NoZW5kdXJjaC4uLgpIZXkgTXVhZGliLCBuaWNodCB6d2lzY2hlbnBvc3RlbiA7LSkKUGVyZGl0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGFua2UgKEtyc3RmcnMsIDMxLiBKdWwgMjAwNSwgMTc6NDQ6MjApOgp+IyEgcm49UGVyZGl0YSBydD0xMTIyODIzOTE1IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwpKb2EsIERhbmtlIGF1Y2ggdm9uIG1pci4KRGllIFF1ZXN0IHdhciBzY2hvZW4sIGFiZXIgYXVjaCBnYW56IHNjaG9lbiBmcnVzdHJpZXJlbmQsIHdlaWwgZmFzdCBhbGxlIE5QQ3MKYXVmIGVpbmVtIFdlZyBsYWdlbi4gVW5kIHVuc2VyIFdhbmRlci1UYXJhbmlzIGhhdCBzaWNoIG5pY2h0IGFscyBXYW5kZXItTlBDCmdlb3V0ZXQsIGFsc28gbmljaHQgTlBDLW1hZXNzaWcgYW5nZXNwcm9jaGVuLiBTY2hvZW5lciBHcmlsbGFiZW5kIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRGFua2UgKEtyc3RmcnMsIDMxLiBKdWwgMjAwNSwgMTc6NDQ6NTYpOgp+IyEgcm49S3JzdGZycyBydD0xMTIyODI0NjYwIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwpBY2hzbywgQXJrIHNjaHJlaWJ0IGRpZSBRdWVzdCwgb2IgZXIgd2lsbCBvZGVyIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IERhbmtlIChBcmssIDMxLiBKdWwgMjAwNSwgMTg6MDc6NDYpOgp+IyEgcm49S3JzdGZycyBydD0xMTIyODI0Njk2IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwpBYmhha2VuLiBMZXR6dGUgRHVyY2hzYWdlIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBEYW5rZSAoSHVyYXhwcmF4LCAzMS4gSnVsIDIwMDUsIDE4OjIwOjU0KToKfiMhIHJuPUFyayBydD0xMTIyODI2MDY2IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwpWb24gbWlyIGF1Y2ggdmllbGVuIERhbmsgZnVlciBkaWUgZ2VsdW5nZW5lIFBhcnR5IHVuZCBkaWUgUkwtUXVlc3QsIGhhdCB2aWVsClNwYXNzIGdlbWFjaHQsIGF1Y2ggZnVlciBHcmlsbGVuLCBGcnVlaHN0dWVjayBldGMuIFVuZCBpbW1lciBuZXR0IExldXRlIGRpZQptYW4gbnVyIGltIE1VRCBrZW5udCBtYWwgcmljaHRpZyBrZW5uZW56dWxlcm5lbi4gCgpIdXJheHByYXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBEYW5rZSAoQ2Fzc2FuZHJhLCAgMS4gQXVnIDIwMDUsIDE2OjA1OjIzKToKfiMhIHJuPUh1cmF4cHJheCBydD0xMTIyODI2ODU0IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwphCkF1Y2ggdm9uIG1pciBlaW5lbiBncm9zc2VuIGRhbmsgYW4gZGllIFBhcnR5b3JnYS4gRGllIFBhcnR5IHdhciBrbGFzc2UuIFVuZApuYWNoZGVtIHdhcyBpY2ggdm9uIGFuZGVyc3dvIGdlaG9lcnQgaGFiIGF1Y2ggZWluIGRhbmsgYW4gZGFzIHdldHRlciBkYXMgdW5zCnp1bWluZGVzdCBtaXQgVW53ZXR0ZXIsIFVlYmVyc2Nod2VtbXVuZyB1bmQgSGFnZWwgdmVyc2Nob250IGhhdC4KCkF1Y2ggZWluIERhbmsgYW4gZGFzIFF1ZXN0dGVhbS4gRGllIFF1ZXN0IHdhciBTdXBlciBhdWNoIHdlbm4gbWlyIG5hY2hoZXIgZGllCk11c2tlbG4gdm9tIGxhdWZlbiB3ZWggdGF0ZW4uCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGhvdG9zIGltIE5ldHogKENhc3NhbmRyYSwgIDEuIEF1ZyAyMDA1LCAxNjo0ODoxMyk6CkJpbiBncmFkIGRhYmVpIG1laW5lIFBob3RvcyB6dSBiZWFyYmVpdGVuLiBXZW5uIHdlciBQcm9ibGVtZSBkYW1pdCBoYXQgc2VpbgpQaG90byBpbSBOZXR6IHp1IHNlaGVuLCBtb2VnZSBlci9zaWUgbWlyIGRhcyBiaXR0ZSBtaXR0ZWlsZW4uIEFuc29uc3RlbgplbnRzY2hlaWRlIGljaCBzZWxic3QgZGFydWViZXIgd2FzIHplaWdiYXIgaXN0LgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBEYW5rZSAoTGFnaXRhbmEsICAxLiBBdWcgMjAwNSwgMTc6MDg6NTEpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMjI5MDUxMjMgcmc9cGFydHkKfiMhIHRpZD0xMTIyODE3NDMzCkhhbGxvIExldXRjaGVucyEgV2lyIHNpbmQgaW0gUmVnZW4gYW0gbGV0enRlbiBTb25udGFnIGluIEhhdHRpbmdlbiBhbmdla29tbWVuCnVuZCBnZXN0ZXJuIGltIFJlZ2VuIHdpZWRlciB2b24gZG9ydCBhYmdlcmVpc3QuIEFiZXIgd2VyIGxhZXNzdCBzaWNoIHNjaG9uIHZvbQpXZXR0ZXIgZGllIGd1dGUgTGF1bmUgdmVyZGVyYmVuPyBXaXIgbmV0ISEhIERpZSBQYXJ0eXdvY2hlIG1pdCBldWNoIGlzdCBzdXBlcgpzY2hvZW4gdW5kIGx1c3RpZyBnZXdlc2VuLiBJY2ggZmluZGUgbGFuZ3NhbSBHZWZhbGxlbiBkcmFuIDotKQpFaW4gZ2FueiBncm9zc2VzIERhbmtlc2Nob2VuIGFuIGRhcyBPcmdhdGVhbSEgSWhyIHNlaWQgU3BpdHplIGdld2VzZW4hISBUb2xsLAp3YXMgaWhyIGFsbGVzIG9yZ2FuaXNpZXJ0IHVuZCBhdWYgZGllIEJlaW5lIGdlc3RlbGx0IGhhYnQhISEgRGFuayBhdWNoIGRlbgpGcnVlaGF1ZnN0ZWhlcm4sIGRpZSBmdWVyIGRlbiB0YWVnbGljaGVuIEJyb2V0Y2hlbm5hY2hzY2h1YiBzb3JndGVuIHVuZAp1ZWJlcmhhdXB0IGFuIGFsbCBkaWVqZW5pZ2VuIERBTktFLCBkaWUgaWhyZSBBdXRvcyB6dW0gRWlua2F1ZmVuIHVuZCBmdWVyIGRpZQpSdW1mYWhyZXJlaSB2b24gQSBuYWNoIEIgenVyIFZlcmZ1ZWd1bmcgc3RlbGx0ZW4uIApEaWUgUXVlc3QgKG1laW5lIDEuISkgZmFuZCBpY2ggZWNodCBzdXBlci4gRGllIGxvY2F0aW9uIHdhciBlaW5mYWNoIGdlbmlhbApnZXdhZWhsdCB1bmQgZGllIE5QQyBoYWJlbiBzaWNoIGVjaHQgd2Fja2VyIGF1ZiBpaHJlbiBQb3N0ZW4gZ2VoYWx0ZW4gYnp3LgpnZXNjaGxhZ2VuLgpNaXJpbCwgc2NoYWRlLCBkYXNzIHdpciBlcyBuZXQgbWVociBzY2hhZmZ0ZW4sIGF1ZiBCdXJnIFNjaHJlY2tlbnN0ZWluICg/KQpuYWNoIGRlciBBaG5lbnRhZmVsIHp1IHN1Y2hlbiwgdW0gc2llIGRhbm4gdW50ZXIgZGl2ZXJzZW4gR2VmYWhyZW4genVydWVjayB6dQpicmluZ2VuLiBJY2ggd29sbHRlIGRvY2ggbm9jaCBlaW4gbGV0enRlcyBCaWVyY2hlbiBtaXQgZGVuIFp3ZXJnZW4gdHJpbmtlbiB1bmQKZGVuIFByaWVzdGVyIGJldG9lcmVuIDotKQpOdW4gZ3V0Li4uZXMgaGF0IGplZGVuZmFsbHMgc3VwZXIgU3Bhc3MgbWl0IGV1Y2ggZ2VtYWNodC4gRXMgd2FyIGVpbmUgc3VwZXIKc2Nob2VuZSBXb2NoZS4gVW5kIGljaCBob2ZmZSwgZGFzcyBlcyBuaWNodCBkYXMgbGV0enRlIE1hbCBnZXdlc2VuIHNlaW4gd2lyZCwKZGFzcyBpY2ggZGFiZWkgd2FyLgpMYWdpdGFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBob3RvcyBpbSBOZXR6IChDaGFnYWxsLCAgMS4gQXVnIDIwMDUsIDE3OjMxOjEyKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTIyOTA3NjkzIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjkwNzY5MwpEYSBpc3QgbWlyIENhc3NhbmRyYSBkb2NoIGdsYXR0IHp1dm9yIGdla29tbWVuLiBBYmVyIGVnYWw6IEF1Y2ggaWNoIApzaXR6ZSBoaWVyIG1pdCBlaW5lbSBTdGFwZWwgRm90b3MsIHVuZCB3ZXIgbmljaHQgbW9lY2h0ZSBkYXNzIGRpZQpCaWxkZXIgZ2V6ZWlndCB3ZXJkZW4sIGRlciBtb2VnZSBtaXIgZG9jaCBiaXR0ZSBlaW5lIGtsZWluZSBNYWlsCnNjaGlja2VuLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGhvdG9zIGltIE5ldHogKENoYWdhbGwsICAxLiBBdWcgMjAwNSwgMTc6Mzg6NDEpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTIyOTEwMjcyIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjkwNzY5MwpJY2gga29ua3JldGlzaWVyIGRhcyBub2NoIG1hbCBlaW4gYmlzc2NoZW4uIFdlciB2b24gZGVuIFBhcnR5Z2FlbmdlciAKbmljaHQgbW9lY2h0ZSwgZGFzcyBkaWUgQmlsZGVyIGdlemVpZ3Qgd2VyZGVuLCBkZXIgbW9lZ2UgbWlyIGRvY2gKYml0dGUgZWluZSBrbGVpbmUgTWFpbCBzY2hpY2tlbi4KClBTOiBKYSwgYmVpIGRlbiBQYXJ0eWdhZW5nZXJuIGZlaGx0IGRhcyAnbicuIElzdCBtaXIgYWJlciBqZXR6dCBhdWNoCmVnYWwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IERhbmtlIChSYW5nb3JuLCAgMS4gQXVnIDIwMDUsIDIxOjUwOjM3KToKfiMhIHJuPUxhZ2l0YW5hIHJ0PTExMjI5MDg5MzEgcmc9cGFydHkKfiMhIHRpZD0xMTIyODE3NDMzCk1hdXosCgphdWNoIHZvbiBtaXIgbm9jaCBlaW4gZmV0dGVzIG1lcmNpIGFuIGRpZSBkdXJjaG5hZXNzdGVuIEJhY2tlbiBnZW5hZ2VsdC4gVW5kCkhvY2hhY2h0dW5nIHZvciBkZW4gTlBDcywgZGllIGRhcyBRdWVzdGdlYmlldCB0ZWlsd2Vpc2UgbmljaHQgbnVyIGltIFZvcmZlbGQKZ2VuYXVzdGVucyBzb25kaWVydCBoYWJlbiwgc29uZGVybiBkYW5uIGdhciBub2NoIGxhbmdlIFdhbmRlcnN0cmVja2VuIG1pdCBaVHMKaW0gR2VwYWVjayB6dXJ1ZWNrbGVndGVuLgoKQWNoamEgLi4gdW5kIGRpZSBTdXJmZXIgd2FyZW4gYW0gU29ubnRhZyBhdWYgZGVyIFJ1aHIuIEFiZXIgd2VubiBkaWUgSGVycm4KWmVsdGhvY2tlciB6dSB2ZXJ3ZWljaGxpY2h0IHNpbmQsIGltIFJlZ2VuIHVuZCB2b24gU3R1cm1ib2VuIGdlcGVpdHNjaHQgYW0KVWZlciB6dSBzdGVobiB1bmQgdW5zIHp1enVzZWhlbiAuLi4gOm9QCgpEYW5rZSBMZXV0ZS4gV2FyIGdhbnogZ3Jvc3NlIEtsYXNzZS4KCi0gUmFuZ29ybiBLaHVyJ1RpZ3Jlcywgb2ZmaXppZWxsIHN0dXJtZ2VwcnVlZnRlIFN1cmZlcmluIC0gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWlnZW4uIChab29rLCAgMS4gQXVnIDIwMDUsIDIxOjU1OjExKToKT2JpZyBnZW5hbm50ZXIgd2lyZCB2b24gU2hha2VkYmVlciBlcm9lZmZuZXQuIEljaCBrYW5uIHp3YXIgbmljaHQgc28gdmllbAplcmtlbm5lbiwgYWJlciBudW4gamEsIHZsbC4gd2VyZGVuIGphIHp1a3VlbmZ0aWcgZWluZ2VyZWljaHRlIEJpbGRlciBkaWUKUmFldHNlbCBsdWVmdGVuLgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlaWdlbi4gKE1pcmlsLCAgMS4gQXVnIDIwMDUsIDIyOjA0OjI1KToKfiMhIHJuPVpvb2sgcnQ9MTEyMjkyNjExMSByZz1wYXJ0eQp+IyEgdGlkPTExMjI5MjYxMTEKQXF1YSBkZXNvbGF0byEKCk1vcm9yYSwgZmllc2UgWmF1YmVyaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogRGFua2UgKFZhbmhlbHNpbmcsICAxLiBBdWcgMjAwNSwgMjI6Mjg6NDApOgp+IyEgcm49UmFuZ29ybiBydD0xMTIyOTI1ODM3IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjgxNzQzMwpIaWhvLApJY2ggd2lsbCBtaWNoIGF1Y2ggYmVpIGRlbSBnZXNhbXRlbiBPcmdhdGVhbSBmdWVyIGRpZXNlIHRvbGxlIFdvY2hlIGJlZGFua2VuLgpEYXNzIGVzIGdlcmVnbmV0IGhhdCBpc3QgendhciBzY2hhZGUgYWJlciBuaWNodCB6dSBhZW5kZXJuLiBEaWUgUkwgUXVlc3QgaGF0CnJpZXNpZ2VuIFNwYXNzIGdlbWFjaHQsIHVuZCBibGVpYnQgZnVlciBtaWNoIHVudmVyZ2Vzc2xpY2guIEljaCBiaW4KYmVlaW5kcnVja3QsIHdlbm4gaWNoIG1pciB1ZWJlcmxlZ2UsIHdlbGNoZSBWb3JiZXJlaXR1bmcgZGFkcmluIHN0ZWNrdGUuIFVuZAp3ZWxjaGVyIEVpbnNhdHogd2FlaHJlbmQgZGVyIFF1ZXN0IChzaWVoZSBkZW4gV2FuZGVyZXIpLiBEZXIgWmVsdHBsYXR6IHdhcgphdWNoIGtsYXNzZSwgdW5kIGljaCBmcmV1ZSBtaWNoIHNjaG9uIGpldHp0IHdpZWRlciBhdWYgZWluZSBQYXJ0eSBkb3J0LgpWaWVsZW4gRGFuayBub2NobWFscyBhbiBhbGxlIEJldGVpbGlndGVuLgoKVmFuSGVsc2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IERhbmtlIChNYWhhcmV0LCAgMS4gQXVnIDIwMDUsIDIzOjIyOjI5KToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTEyMjkyODEyMCByZz1wYXJ0eQp+IyEgdGlkPTExMjI4MTc0MzMKRWluZSB0b2xsZSBXb2NoZSBtaXQgc2Nob2VuZW4gRnJ1ZWhzdHVlY2tzcnVuZGVuLCBlaW5lIHN1cGVydG9sbGUgUkwtUXVlc3QsCmJlaSBkZXIgZGllIE5ldWdpZXIgbWlyIHNjaG9uIGxhZW5nc3QgdmVyZ2Vzc2VuZSAoTGF1ZilLcmFlZnRlIHZlcmxpZWhlbiBoYXQKdW5kIGFid2VjaHNsdW5nc3JlaWNoZXMgV2V0dGVyLCBkYXMgZXMgZGVubm9jaCBuaWUgZ2VzY2hhZmZ0IGhhdCwgZWluZW0gZGllCkxhdW5lIHp1IHZlcmRlcmJlbi4KQXVzc2VyZGVtIGRlciB0ZXVlcnN0ZSBDYW1waW5ndXJsYXViLCBkZW4gaWNoIGplIGdlbWFjaHQgaGFiZS4gVW5kIGRhIHphZWhsdApkZXIgaW4gZGVuIFVTQSBzYW10IEZsdWdrb3N0ZW4gZGF6dSAuLi4KCkVpbiBFeHRyYS1EYW5rZSBhbiBWYW5pb24sIE1pcmlsLCBUYXJhbmlzIHVuZCBIdW1uaSBmdWVyIGRpZSBIaWxmZSBuYWNoIGRlbQpVbmZhbGwuIEVpbiBBdXRvIHdlbmlnZXIsIGRhcyBkaWUgZGV1dHNjaGUgTHVmdCB2ZXJwZXN0ZXQgLi4uCgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIGRpZSBEYWhlaW1nZWJsaWViZW5lbiAoTWlyaWwsICAyLiBBdWcgMjAwNSwgMTY6NDM6NDkpOgpXYWVocmVuZCBlaW5lcyBkZXIgbGVnZW5kYWVyc3RlbiBTYXVmZ2VsYWdlIGFuIGRlbiBVZmVybiBkZXMgTmFibGEsIGJlaSBkZW0gCnNpY2ggRGVsZWdhdGlvbmVuIGFsbGVyIEdpbGRlbiB1bmQgZGllIE1hZWNodGlnc3RlbiBkZXIgTWFlY2h0aWdlbiB2ZXJzYW1tZWx0IApoYXR0ZW4sIHVtIGdlbWVpbnNhbSB6dSBmZWllcm4sIGVyZWlnbmV0ZW4gc2ljaCBmdXJjaHRiYXJlIERpbmdlIGluIGRlbiAKRHJhY2hlbnppbm5lbi4gVW5iZW1lcmt0IHZvbiBkZW4gaGVsZGVuaGFmdGVuIFJlY2tlbiBoYXR0ZSBzaWNoIGRpZSBmaW5zdGVyZSAKWmF1YmVyaW4gIE1vcm9yYSAgYXVmZ2VtYWNodCwgIG1pdCBIaWxmZSBkYWVtb25pc2NoZXIgSGVlcnNjaGFyZW4gZWluZXMgZGVyIAphZWx0ZXN0ZW4gR2ViYWV1ZGUgZGVzIE1vcmdlbkdyYXVlbnMgenUgZXJvYmVybi4gQmVnbGVpdGV0IHZvbiBaYXBvdG9rLCAKZWluZW0gbWFlY2h0aWdlbiBEYWVtb24gdW5kIGVpbmVyIEhlZXJzY2hhciBhcmFjaG5vaWRlciBkYWVtb25pc2NoZXIgCldlc2Vuc2hlaXRlbiwgZ2VsYW5nIGVzIGlociwgTWlyaWxzIFR1cm0genUgZXJvYmVybi4gSWhyZSB1bnphZWhsaWdlbiAKQmVnbGVpdGVyIHNwb25uZW4gTmV0emUgdW0gZGVuIFR1cm0sIHVtIGlobiBmdWVyIGltbWVyIHVuZCBld2lnIHp1IHZlcmh1ZWxsZW4uCgpEaWUgZmVpZXJuZGUgU2NoYXIgYWhudGUgbm9jaCBuaWNodHMgdm9uIGRpZXNlbSBHcmF1ZW4gdW5kIGR1cmNoc2NobGllZiBlaW5lIApydWhpZ2UgTmFjaHQgYW4gZGVuIFVmZXJuIGRlcyBOYWJsYS4gQW0gTW9yZ2VuIGJyYWNoZW4gc2llIGF1ZiwgdW0gZWluIApnZW1laW5zYW1lcyBGcnVlaHN0dWVjayBpbSBHYXN0aGF1cyAiWnVtIHdlaW5lbmRlbiBEcmFjaGVuIiBpbSBrbGVpbmVuIE9ydGUgCkRyYWNoZW5ob3J0IHp1IHNpY2ggenUgbmVobWVuLiBCcnVubywgZGVyIFdpcnQgZGVzIEdhc3RoYXVzZXMgaGF0dGUgamVkb2NoIApzY2hvbiB2b24gZGllc2VuIHNjaHJlY2tsaWNoZW4gVGF0ZW4gZ2Vob2VydCB1bmQgaW5mb3JtaWVydGUgc2VpbmUgR2Flc3RlIAppbiBkZXIgSG9mZm51bmcsIGdlbnVlZ2VuZCBtdXRpZ2UgSGVsZGVuIHp1IGZpbmRlbiwgZGllIGJlcmVpdCB3YWVyZW4sIGRpZSAKZmluc3RlcmUgWmF1YmVyaW4genUgYmVrYWVtcGZlbi4gRWluIFN0YW1tZ2FzdCBkZXMgIndlaW5lbmRlbiBEcmFjaGVucyIgCmhhdHRlIGJlcmVpdHMgZGFzIE9yYWtlbCBiZWZyYWd0LCBvYiBlcyBkZW4gSGVsZGVuIEhpbGZlIHp1dGVpbCB3ZXJkZW4gCmxhc3NlbiBrb2VubnRlIHVuZCBoYWVuZGlndGUgaWhuZW4gZWluZSBMaXN0ZSBtaXQgT3Jha2Vsc3BydWVjaGVuIGF1cywgYXVmIApkYXNzIHNpZSBpaG5lbiBoZWxmZW4gbW9lZ2UuCgpEZXIgV2VnIGRlciBIZWxkZW4gc29sbHRlIGR1cmNoIGRlbiBmaW5zdGVyZW4gR3JpbW1zd2FsZCBmdWVocmVuLCBkZW5uIEJydW5vIAptZWludGUsIGRvcnQgc2VpZW4gbm9jaCBhbmRlcmUsIGRpZSBkZW4gSGVsZGVuIHdlaXRlcmhlbGZlbiBrb2VubnRlbi4KCkRpZSBPcmFrZWxzcHJ1ZWNoZToKCkF1ZiBkZW0gV2VpaG5hY2h0c21hcmt0LCBlaW4gYmxhdWVzIEhhdXMsCmhpZXIgZmluZGVzdCBEdSBlcyBhdWNoLCBvaCBHcmF1cyEKV2VubiBEdSBzdWNoc3QgZG9ydCBpbiBkZW4gRWNrZW4sCmthbm5zdCBEdSBhdWNoIGRlbiBUcmFuayBiYWxkIHNjaGxlY2tlbi4KCkJydWVja2VudHJvbGxlIHNpbmQgZ2FyIHNlbHRlbi4KbXVzcyBtYW4gc2llIGRvY2ggb2Z0IGVudGdlbHRlbiwKbGFzcyBEaWNoIG5pY2h0IGRhdm9uIHZlcnNjaHJlY2tlbiwKZGEgbWFnIGphIHdhcyBkYWhpbnRlcnN0ZWNrZW4uCgpEZXIgSG9jaGViZW5lIGFsbGVyZ3JvZXNzdGVyIFNjaHJlY2tlbgpzbyBtYW5jaGVyIHN0YXJiIGFuIGlobSB2b24gZGVuIHN0YWVya3N0ZW4gUmVja2VuCndlbm4gYXVjaCBudXIgdW50ZXIgZ3Jvc3NlbiBNdWVoJ24KaGllciBlaW4gU2NoaWxkIGVyemFlaGx0IHZvbiBkaWVzZW0gVm9sa2UsIGt1ZWhuLgoKRGVtIG11ZWRlbiBXYW5kZXJlciBzaWUgYmlldGV0IFJhc3QsCndlbm5nbGVpY2ggc2llIHRyYWVndCBrZWluZSBaZW50bmVybGFzdC4KR2liIGFjaHQgZG9ydCBhdWYgZGFzIGZlaW5lIE1laGwsCmRhbm4gcmlubnQgZGVyIFRyYW5rIGR1cmNoIERlaW5lIEtlaGwuCgpOaWNodCB1cmFsdCwgbmljaHQgcm9zdGlnLCBuaW1tZXIsCkZ1ZXIgZGllIEtyYWZ0IGRlciBidW50ZW4gQmlsZGVyLAp3aWUgZWluIGhvY2ggZ2VzdHJlY2t0ZXIgRmluZ2VyLApHYW56IHJ1aGlnIHN0ZWh0IGVyLCBpc3Qga2VpbiBXaWxkZXIuCgpFaW5zYW0gc3RlaHQgZXIgZGEsIGRlciBSaWVzZSwKYnJlaXQgdW5kIHZpZWx6ZWhpZyBpc3Qgc2VpbiBGdVJpZXNlLCwKZWluZSBrbGVpbmUgS29lbmlnaW4sIG5lIGZpZXNlCmVudGJpZXRldCBEaXIgZG9ydCBpaHJlbiBHcnVmaWVzZS4KClVuYmVydWVocmJhciBzaW5kIGRpZSBCdW1lCmdlc2Nob250IHZvbSBoYXJ0ZW4gU3RyZXNzLCBub2NoIEtpbmQuClZvbSBCYWV1bWUgYWVyZ2VybiBrcmllZ3QgbWFuIFRyYWV1bWUsCmRpZSBuaWNodCBkaWUgZGVzIFNjaGlsZGVzIHNpbmQuCgpIb2hsZXIgQmF1bSBhbSBXZWdlc3JhbmQKZWluc2FtIGF1ZiBkZW0gSHVlZ2VsIHN0YW5kLgpEdSBtdXNzdCBpaG4gZXJzdCBlcmtsb21tZW4gaGFiZW4sCmRhbm4ga2FubnN0IER1IGFuIGRlbSBUcmFuayBEaWNoIGxhYmVuLgoKRGFzIFdhc3NlciByYXVzY2h0IG1pdCB3ZW5pZyBXdWNodAphdWYgZGVuIEdydW5kIGRlciB0aWVmZW4gU2NobHVjaHQKZG9jaCB0cmVubnQgZWluIFphdW4gRGljaCB2b24gZGVtIEdsdWVjawpkcnVtIHN1Y2ggZGF2b3IsIGVpbiBndXRlcyBTdHVlY2suCgpEZXIgRWZldXdhbGQgbXVzcyBlbmRsb3Mgc2VpbgpkcnVtIGZhbGwgbmljaHQgaW4gZGFzIExvY2ggaGluZWluLgpEb2NoIHdlbm4gRHUgc2Nob24gZGEgZHJpbm5lbiBsaWVnc3QsCnNpZWggenUsIGRhc3Mgd2FzIHp1IHRyaW5rZW4ga3JpZWdzdCEKClN1Y2ggZGllIHp3ZWkgUmllc2VuLCBkaWUgc3RpbGxlIHN0ZWhuLApkaWUgc2ljaCBudXIgcnVlaHJlbiwgd2VubiBkaWUgV2luZGUgd2Vobi4KWndpbGxpbmdlIHNpbmQgc2llLCBkaWVzZSBCdWNoZW4sCnp3aXNjaGVuIGlobmVuIG1hZ3N0IER1IHN1Y2hlbi4KCkRpZSBQdXR6ZSB3dXJkIGhpZXIgYXVmZ2VzY2hyaWViZW4sCkVudHNvcmd1bmcgd2lyZCBoaWVyIGd1dCBiZXRyaWViZW4sCnVlYmVyIFdlZyB1bmQgdWViZXIgU3RlaW4KbXVzc3QgRHUgaGllcmhpbiBnZWRydW5nZW4gc2Vpbi4KCkFtIFdlZywgZGEgZ2lidHMgc28gbWFuY2hlcyBSb2hyCmRydW0gZ2VoIGRvcnRoaW4gdW5kIHNlaSBrZWluIFRvciwKaGllciBtdXNzdCBEdSBuaWNodCBkdXJjaCBXYWVuZGUgc3RhcGZlbgpub2NoIG5pY2h0IG1hbCB1ZWJlciBUYW5uZW56YXBmZW4uCgpFaW4gUnVuZW5zdGVpbiBnYW56IGdlZ2VuIEJsaXR6LApzdGVodCBoaWVyIGhlcnVtIGRhcyBpc3Qga2VpbiBXaXR6LgpWb24gZG9ydCBtdXNzdCBpbiBkZW4gV2FsZCBEdSBsYXVmZW4KdW5kIGZpbmRlc3Qgc2ljaGVyIGVpbmVuIEhhdWZlbi4KCkltIFdhbGQgaGllciB3aXJzdCBEdSBmbHVjaGVuLAp3aXJzdCB0b3RlIEJhZXVtZSBzdWNoZW4sCmRvY2ggbnVyIHdvIE1vb3MgYXVmIGlobmVuIHNwcmllc3N0LApkZXIgU2FmdCBkZWluZXIgQmVnaWVyZGUgZmxpZXNzdC4KCkltIFdhbGQgRHUgaG9lcnN0IGRpZSBCYWV1bWUgcmF1c2NoZW4sCmFtIFdlZ3JhbmQgbXVzc3QgRHUgc2NoYXUnbiwgbmljaHQgbGF1c2NoZW4KZGVyIEZlbHMgaXN0IGltIExvY2ggdW5kIG5pY2h0IHNwaXR6LApEdSB3aXJzdCBldHdhcyBmaW5kZW4sIGRhcyBpc3Qga2VpbiBXaXR6LgoKQmVpIGRpZXNlbSBTcHJ1Y2ggaGFzdCBEdSB2ZXJzY2hpc3NlbiwKd2lyIGhhYmVucyBpbiBkaWUgQnJlbm5uZXNzZWxuIGdlc2NobWlzc2VuLAp6dW0gR2x1ZWNrIG11ZXNzZW4gd2lyIGRlbiBqZXR6dCBuaWNodCBzdWNoZW4sCndpciBob2VyZW4gRGljaCBhdWNoIHNjaG9uIGdhbnogbGF1dCBmbHVjaGVuLiAgKEdhZy1aVCwga3JpZWd0IGplZGUgR3J1cHBlKQoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQaG90b3MgaW0gTmV0eiAoR2xvaW5zb24sICAzLiBBdWcgMjAwNSwgMTQ6NDQ6MzApOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMjI5MDc2OTMgcmc9cGFydHkKfiMhIHRpZD0xMTIyOTA3NjkzCkFwcm9wb3MgemVpZ2JhciwgZWluIHdpY2h0aWdlciBUaXBwOgpGYWxscyBpaHIgYW4gZGVuIEJpbGRlcm4gQWVuZGVydW5nZW4gdm9ybmVobXQgdW0gZ3JvZXNzZXJlIERldGFpbHMgenUKdmVyYmVyZ2VuL2hlcmF1c3p1c2NobmVpZGVuLCBkYW5uIHNvbGx0ZXQgaWhyIGRhbmFjaCBhdWNoIGRpZSBFeGlmLVZvcnNjaGF1CmFlbmRlcm4uCgpEZXRhaWxsaWVydDoKLSBkaWUgbWVpc3RlbiBLYW1lcmFzIHNwZWljaGVybiBpbiBKUEcKLSBKUEcgYmVzaXR6dCBlaW4gcGFhciBFeHRyYWluZm9ybWF0aW9uc2ZlbGRlciBmdWVyIEJlc2NocmlmdHVuZy9EZXRhaWxzLwogIERhdGVuIHV1dXVuZCBlaW4gVm9yc2NoYXViaWxkLCBlaW5lIGtsZWluZSBWYXJpYW50ZQotIGRhcyBWb3JzY2hhdWJpbGQgd2lyZCB2b24gZGVuIG1laXN0ZW4gU2NobmlwcGVsZGlzY2huYXBwLVByb2dyYW1tZSBOSUNIVAogIGF1ZiBkZW4gcmVhbGVuIFp1c3RhbmQgYW5nZXBhc3N0CgpVbnRlciBXaW5kb3dzIGtvZW5uZW4gRXhpZmVyIHVuZCBGaXhGb3RvIGRhcyBWb3JzY2hhdWJpbGQgYXVzIGRlbSBkZXJ6ZWl0aWdlbgpCaWxkIGdlbmVyaWVyZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQaG90b3MgaW0gTmV0eiAoWm9vaywgIDMuIEF1ZyAyMDA1LCAxNDo0NzoyNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTIzMDczMDcwIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMjkwNzY5MwpGdWVyIFdpbmRvd3MsIExpbnV4LCBGcmVlQlNFLCBNYWMgT1MgWCwgU2xvd2xhcmlzIGdpYnQgZXMgYXVjaCBlaW4Ka29tbWFuZG96ZWlsZW5vcmllbnRpZXJ0ZXMgVG9vbCBmdWVyIGRpZSBKUEctSGVhZGVyIG5hbWVucyBqaGVhZC4KClVSTDogaHR0cDovL3d3dy5zZW50ZXgubmV0L35td2FuZGVsL2poZWFkLwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBob3RvcyBpbSBOZXR6IChHbG9pbnNvbiwgIDMuIEF1ZyAyMDA1LCAxNDo1Mzo0MCk6Cn4jISBybj1ab29rIHJ0PTExMjMwNzMyNDYgcmc9cGFydHkKfiMhIHRpZD0xMTIyOTA3NjkzCkRhcyBrYW5uIHp3YXIga2VpbmUgVm9yc2NoYXViaWxkZXIgbmV1IGdlbmVyaWVyZW4sIGFiZXIgZXMga2FubiBhbGxlCkV4aWYtRGF0ZW4gbG9lc2NoZW46Ci4uLiAtZGUKClVuZCB3byBrZWluIFZvcnNjaGF1YmlsZCwgZGEgYXVjaCBrZWluZSBNb2VnbGljaGtlaXQgZWluZXMgVmVyc2VoZW5zIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGhvdG9zIGltIE5ldHogKFpvb2ssICAzLiBBdWcgMjAwNSwgMTQ6NTU6MjIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEyMzA3MzYyMCByZz1wYXJ0eQp+IyEgdGlkPTExMjI5MDc2OTMKT2RlciBnYW56IGJydXRhbDogamhlYWQgLXB1cmVqcGcgKi5qcGcKCkRhbm4gc2luZCBhdWNoIGRpZSBhbmRlcmVuIEluZm9zIHdlZyA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWlnZW4uIChab29rLCAgMy4gQXVnIDIwMDUsIDE5OjI2OjEwKToKfiMhIHJuPVpvb2sgcnQ9MTEyMjkyNjExMSByZz1wYXJ0eQp+IyEgdGlkPTExMjI5MjYxMTEKTnVuIGF1Y2ggbm9jaCBDaGFnYWxsLiBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyZ2Vzc2VuZSBTYWNoZW4gKE1pZXplLCAgNC4gQXVnIDIwMDUsIDEwOjQyOjE0KToKSGFsbG8gUGFydHliZXN1Y2hlciwKCmljaCBoYWJlIGVpbmlnZXMgQmVzdGVjayB6dSB2aWVsLiBXZW0gZmVobHQgZGVubiB3YXM/IE1lbGRldCBFdWNoIGRvY2gga3VyegpiZWkgbWlyLCBldmVudHVlbGwgaGFiIGljaCBkYXMuCgpNaWV6ZSAtIHN0cmlja3QgamV0enQgdmllbGUgU29ja2VuIGZ1ZXIgZGVuIFNjaHJhdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmdlc3NlbmUgU2FjaGVuIChSZXF1aWVtLCAgNC4gQXVnIDIwMDUsIDE1OjAwOjExKToKfiMhIHJuPU1pZXplIHJ0PTExMjMxNDQ5MzQgcmc9cGFydHkKfiMhIHRpZD0xMTIzMTQ0OTM0CkRhbmtlLCBuZXVlIFNvY2tlbiBrYW5uIGljaCBtYWwgd2llZGVyIGdlYnJhdWNoZW4uCgpSZXFeV1NjaHJhdCAoc2NobGFmbG9zKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJnZXNzZW5lIFNhY2hlbiAoR2xvaW5zb24sICA0LiBBdWcgMjAwNSwgMTU6NDg6MzApOgp+IyEgcm49UmVxdWllbSBydD0xMTIzMTYwNDExIHJnPXBhcnR5Cn4jISB0aWQ9MTEyMzE0NDkzNAo6c3VtbXQ6IFNjaGxhZiwgU2NocmF0bGVpbiBzY2hsYWYsIGRlaW4gVmF0ZXIgaXN0IGVpbiBTY2hyYXQgLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NoYWRlLi4uIChSb25kYSwgIDYuIEF1ZyAyMDA1LCAwMDowMzo1Nik6Ci4uLiBkYXNzIGVzIGluIDIwMDUgZ2FyIGtlaW5lIE11ZHBhcnR5IGdpYnQuLi4gYWJlciBmYXN6aW5pZXJlbmQsIGRhc3Mgc2Nob24KZGllIEZvdG9zIGZ1ZXIgMjAwNiBkYSBzaW5kOiBodHRwOi8vbWcubXVkLmRlL1BhcnR5LyAtPiAiUGFydHkgWFhWSUlJClNvbW1lcnBhcnR5IGluIEhhdHRpbmdlbiB2b20gMjUuIGJpcyAzMS4gSnVsaSAyMDA2Ii4KClJvbmRhICp3YWVyIGdlcm4gZGFiZWkgZ2V3ZXNlbi4gT2RlciB3aWxsIGVzIHNlaW4uIE9kZXIgd2llIGF1Y2ggaW1tZXIuKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGFkZS4uLiAoWm9vaywgIDYuIEF1ZyAyMDA1LCAxMTozNjo0OSk6Cn4jISBybj1Sb25kYSBydD0xMTIzMjc5NDM2IHJnPXBhcnR5Cn4jISB0aWQ9MTEyMzI3OTQzNgpUeXBvIGZpeGVkLgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVja3NhY2s/IChSZXF1aWVtLCAgNy4gQXVnIDIwMDUsIDE2OjMyOjQyKToKSGFsbG8sCgppY2ggdmVybWlzc2UgbGVpZGVyIG1laW5lbiBSdWNrc2FjayAtIGtvZW5udGUgZXMgc2VpbiwgZGFzcyBpY2ggZGVuIGF1ZiBkZW0KQ2FtcGluZ3BsYXR6IHZlcmdlc3NlbiBoYWJlPyBJc3QgZWluIHNjaHdhcnplciBSdWNrc2FjayB2b24gSGFnbG9lZnMsIE1vZGVsbAoiVGlnaHQgUHJvIE1lZGl1bSIuIFNvbGx0ZSBpaG4gamVtYW5kIGdlZnVuZGVuIGhhYmVuIGJpdHRlIE1haWwgYW4gbWljaC4KRGFua2UsClJlcXVpZW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggbWVociBCaWxkZXIgKExhcmlzaWVsbGUsIDEzLiBBdWcgMjAwNSwgMjI6NDc6MzgpOgpBdWNoIGljaCBoYWJlIGVzIGVuZGxpY2ggZ2VzY2hhZmZ0Li4uIHNwYWV0IGFiZXIgYmVzc2VyIGFscyBuaWUgOykKS3VyenVtLCBpY2ggaGFiZSBlbmRsaWNoIG1laW5lIEZpbG1lIHp1bSBlbnR3aWNrZWxuIGdlYnJhY2h0IChFcyBnaWJ0IGphIGVjaHQKbm9jaCBMZXV0ZSBvaGVuIERpZ2ljYW0pIHVuZCBzaWUgbWl0bGVyd2VpbGUgYXVjaCBhYmdlaG9sdC4gTnVuIGthbm4gaWNoIG1pY2gKZHJhbm1hY2hlbiwgc2llIHp1IGJlc2NocmlmdGVuIHVuZCBpbnMgTUcgenUgc2NoaWViZW4uIFNvbGx0ZSBlaW5lciBkZXIKUGFydHliZXN1Y2hlciBtZWluZW4sIGljaCBoYWV0dGUgaWhuIGVyd2lzY2h0LCB3aWxsIGFiZXIgc2VpbiBCaWxkIG5pY2h0IGltCkludGVybmV0IHNlaGVuICh3ZWlsIGVyIHNpY2ggenVoYXVzZSBpbSBTcGllZ2VsIHNjaG9uIG9mdCBnZW51ZyBzaWVodCksIGRlcgpzb2xsIG1pciBkYXMgYml0dGUgaGV1dGUgb2RlciBtb3JnZW4gcGVyIE1haWwgbWl0dGVpbGVuLCB2b24gbWlyIGF1cyBhdWNoIG5vY2gKdWViZXJtb3JnZW4sIGFtIERpZW5zdGFnIHNjaGllYiBpY2ggc2llIGlucyBNRy4gV2VyIHNpY2ggYmlzIGRhaGluIG5pY2h0IGJlaQptaXIgcGVyIE1haWwgZ2VtZWxkZXQgaGF0LCBkZXIgbXVzcyBtaXQgZGVtIGxlYmVuLCB3YXMgaWNoIHplaWdlIG9kZXIgYXVjaApuaWNodC4gKEljaCBsaWViZSBXaWxsa3VlciEgSGFyaGFyKQpBY2hqYSwgd2VubiBpaHIgZXVjaCBtZWxkZW4gc29sbHRldCwgZGFubiBiaXR0ZSBwZXIgTWFpbCBhbiBBbnlzaWRvcmEsIGRhIGxlcwppY2hzIGF1ZiBqZWRlbiBGYWxsIChvYiBpY2ggYmlzIGRhaGluIExhcmlzaWVsbGUgbm9jaG1hbCBlaW5sb2dnZSBrYW5uIGljaApuaWNodCBzYWdlbiwgZGEgZ2VodHMgYWxzbyBldmVudHVlbGwgdW50ZXIpCgpJbiBCaWxkYmVzY2hyaWZ0dW5nc3d1dCwgTGFyaSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIG1laHIgQmlsZGVyIChab29rLCAxNi4gQXVnIDIwMDUsIDE1OjE4OjM3KToKfiMhIHJuPUxhcmlzaWVsbGUgcnQ9MTEyMzk2NjA1OCByZz1wYXJ0eQp+IyEgdGlkPTExMjM5NjYwNTgKTnVuIG9ubGluZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcmJ1cmcgPyAoRGp0b20sIDIzLiBBdWcgMjAwNSwgMTM6MjI6NDEpOgpkaWVzZXMgamFociB3aWVkZXIgZXJzdGUgRGV6LiBXb2NoZT8gYnp3IGlzdCB3aW50ZXJidXJnIGdydW5kc2FldHpsaWNoIHdpZWRlcgpnZXBsYW5udCA/LiBkaWVzZXMgamFociB3YWVyZSBlbmRsaWNoIGRpZSBtb2VnbGljaGtlaXQgZGFzIGljaCBhdWNoCnZvcmJlaWtvbW1lbiBrb2VubnRlLgpHcnVzcyBEai9SYXZlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcmJ1cmcgPyAoTW9udGFudXMsIDI5LiBBdWcgMjAwNSwgMTE6NTM6MDUpOgp+IyEgcm49RGp0b20gcnQ9MTEyNDc5NjE2MSByZz1wYXJ0eQp+IyEgdGlkPTExMjQ3OTYxNjEKSmFqYSwgaWNoIGZyYWcgamEgc2Nob24gbmFjaCBlaW5lbSBUZXJtaW4uICpnKgpXZXIgendpc2NoZW5kdXJjaCBtYWwgdm9yYmVpZ3Vja2VuIHdpbGw6IGFtIDE3LjkuIGlzdCBncm9zc2VzIEZlc3QgYXVmIGRlcgpXaW50ZXJidXJnLCA1MC1KYWhyLUZlaWVyIGRlciBTY2h1bGxhbmRoZWltdmVyZWluaWd1bmcuCmh0dHA6Ly93d3cuc2NodWxsYW5kaGVpbS13aW50ZXJidXJnLmRlL3NjaGxvc3NmZXN0L2luZGV4Lmh0bQoKSWNoIGJpbiBkYS4gV2VyIG5vY2g/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcmJ1cmcgPyAoTmVkaW1lLCAgMy4gU2VwIDIwMDUsIDE0OjMzOjAwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMjUzMDkxODUgcmc9cGFydHkKfiMhIHRpZD0xMTI0Nzk2MTYxCldhZXJlIHNjaG9lbiwgd2VubiBkaWVzZXIgVGVybWluIG5pY2h0IGRlciAxMC4xMi4gd2FlcmUuIE1laW5lIENoZWZpbiBpc3QKbmFlbWxpY2ggYXVmIGRlbiB0b2xsZW4gRWluZmFsbCBnZWtvbW1lbiwgZGVuIFRlcm1pbiBmdWVyIHVuc2VyZW4gVGFnIGRlcgpvZmZlbmVuIFR1ZXIgdm9uIEVuZGUgTm92ZW1iZXIgYXVmIGRlbiAxMC5EZXouIHp1IHZlcmxlZ2VuLgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbnRlcmJ1cmcgPyAoTW9udGFudXMsICA5LiBTZXAgMjAwNSwgMTg6NTc6MTApOgp+IyEgcm49TmVkaW1lIHJ0PTExMjU3NTA3ODAgcmc9cGFydHkKfiMhIHRpZD0xMTI0Nzk2MTYxCkRhcyBpc3QgUGVjaC4gSWNoIGhhYmUgdm9yaGluIG1pdCBXaW50ZXJidXJnIHRlbGVmb25pZXJ0LCB1bmQgZGVyIGVpbnppZ2UKVGVybWluLCBkZXIgbm9jaCBmcmVpIHdhZXJlLCBpc3QgZXhha3QgZGFzIFdvY2hlbmVuZGUgOS4tMTEuIERlemVtYmVyLgpJY2ggaGFiZSBldWNoIGRlbiBUZXJtaW4gamV0enQgbWFsIHZvcnJlc2VydmllcnQsIGJpcyBNaXR0d29jaC4gRW50c2NoZWlkZXQKZXVjaCBkb2NoIGVpbmZhY2ggYmlzIGRhaGluLCBvYiBpaHIgZGVuIFRlcm1pbiBoYWJlbiB3b2xsdCBvZGVyIG5pY2h0LgoKUGl6emFwZXBlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW50ZXJidXJnID8gKE1pcmlsLCAgOS4gU2VwIDIwMDUsIDE4OjU4OjE0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMjYyODUwMzAgcmc9cGFydHkKfiMhIHRpZD0xMTI0Nzk2MTYxCldhciBqYSBrbGFyLiBOYWphLCBtdXNzIGljaCB3b2hsIGFtIFNhbXN0YWcgaGluZmFocmVuLiBTb3dhcyBkYWVtbGljaGVzLCBkYXNzCmRpZSBkZW4gVGVybWluIHZlcmxlZ3QgaGFiZW4uCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ludGVyYnVyZyA/IChDYXNzYW5kcmEsIDEyLiBTZXAgMjAwNSwgMTQ6MTg6MTQpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEyNjI4NTAzMCByZz1wYXJ0eQp+IyEgdGlkPTExMjQ3OTYxNjEKQmxlaWJlbiBkYSBuaWNodCBlaCBudXIgbm9jaCAyIEZyYWdlbj8KCjEuV2VyIE9yZ2FuaXNpZXJ0PwoKMi4gV2VyIHN0ZWxsdCBkYXMgQnJldHQgYXVmPwoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcmJ1cmcgPyAoTW9udGFudXMsIDEzLiBTZXAgMjAwNSwgMTI6NTA6MzcpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMjY1Mjc0OTQgcmc9cGFydHkKfiMhIHRpZD0xMTI0Nzk2MTYxCjEpIExpZXNlbC4gQWJlciBudXIgenVyIEhhZWxmdGUuIFVuZCBpY2ggYnVjaCBkYXMgRGluZyB1bmQga2FzcGVyIG1pdCBkZXIKS29lY2hpbiBhYiwgd2FzIGVzIGxlY2tlcmVzIHp1IEVzc2VuIGdpYnQuIERhIGZlaGxlbiBub2NoIG1pbmRlc3RlbnMgMS8zLiBXZXIKd2lsbD8gTGFyaW5hdG9sPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ludGVyYnVyZyA/IChQZXJkaXRhLCAxMy4gU2VwIDIwMDUsIDE5OjQ2OjExKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMjYyODUwMzAgcmc9cGFydHkKfiMhIHRpZD0xMTI0Nzk2MTYxCmFsc28gaWNoIHBlcnNvZW5saWNoIGZpbmRlIGRpZXNlcyBXb2NoZW5lbmRlIHZpZWwgYmVzc2VyIGFscyBkYXMgZXJzdGUKRGV6ZW1iZXJ3b2NoZW5lbmRlLiBTbyBicmF1Y2hlIGljaCBtaWNoIG5hZW1saWNoIG5pY2h0IHp3ZWl0ZWlsZW4gOi0pClBlcmRpdGEgLSBpc3QgZnVlciBXaW50ZXJidXJnIHZvbSA5Li0xMS4xMi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcmJ1cmcgPyAoUm9hZHJ1bm5lciwgMTUuIFNlcCAyMDA1LCAxMjozMjo0Myk6Cn4jISBybj1QZXJkaXRhIHJ0PTExMjY2MzM1NzEgcmc9cGFydHkKfiMhIHRpZD0xMTI0Nzk2MTYxCndhcyBkZW0gZWluZW4gc2VpbiB1aGwgLi4uCmljaCBtdWVzc3RlIG1pY2ggYW0gOS4tMTEuIHp3ZWl0ZWlsZW4gLi4uIG9kZXIgZWJlbiBudXIgc2Ftc3RhZ3MgYW5yZWlzZW4uClJSCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWtvbGF1c2kgKE1vbnRhbnVzLCAyMS4gU2VwIDIwMDUsIDEyOjI5OjIxKToKQWxzbywgbGV0enRlIFVua2xhcmhlaXRlbiBiZXNlaXRpZ3QuIFdpciBrQzZubmVuIGRhcyBIYXVzIGFuIGRlbSBXb2NoZW5lbmRlCmhhYmVuLCB3ZW5uIHdpciB3b2xsZW4uCkdpYnQgbnVyIGVpbnMsIHp3ZWkgUHJvYmxlbWNoZW4uIEljaCB3ZWlDIHNlbGJlciBub2NoIG5jaWh0LCBvYiBpY2ggZGEgc2Vpbgp3ZXJkZS4gQWxzbyBicmF1Y2hlIGljaCBub2NoIG1pbmRlc3RlbnMgZWluZW4gd2VpdGVyZW4gZmVzdGVuIEFuc3ByZWNocGFydG5lcgpmdWVycyBIYXVzLgpad2VpdGVucyBoYWJlbiB3aXIgYW0gRnJlaXRhZyBzdHJ1bWZyZWllIEJ1ZGUsIHdlaWwgZGllIGdhbnplIEJlbGVnc2NoYWZ0IGF1ZgpkZXIgaW50ZXJuZW4gV2VpaG5hY2h0c2ZlaWVyIGlzdC4gTXVlc3N0ZW4gdW5zIGFsc28gc2VsYmVyIHVtcyBBYmVuZGVzc2VuCmt1ZW1tZXJuLgpBYmVyIGRhcyBzb2xsdGUgamEgYXVjaCBrZWluIHByb2JsZW0gc2Vpbi4KCkFsc28gbG9zLiBXZXIgZnVlaGx0IHNpY2ggYmVydWZlbj8KV2VyIHN0ZWxsdCBkYXMgUGFydHlicmV0dCBhdWY/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmlrb2xhdXNpIChIdW1uaSwgMjIuIFNlcCAyMDA1LCAyMjozOTo0Nyk6Cn4jISBybj1Nb250YW51cyBydD0xMTI3Mjk4NTYxIHJnPXBhcnR5Cn4jISB0aWQ9MTEyNzI5ODU2MQpQYXJ0eWJyZXR0IHN0ZWh0IDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOaWtvbGF1c2kgKEJhbWJpLCAyMy4gU2VwIDIwMDUsIDEyOjAzOjExKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMjcyOTg1NjEgcmc9cGFydHkKfiMhIHRpZD0xMTI3Mjk4NTYxCkFsc28gaWNoIGhhYmUgc2Nob25tYWwgd2FzIGdla29jaHQuCkhhYmVuIGRpZSBkb3J0IFRvYXN0ZXI/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5pa29sYXVzaSAoTWllemUsIDI1LiBTZXAgMjAwNSwgMDE6MjM6NDApOgp+IyEgcm49SHVtbmkgcnQ9MTEyNzQyMTU4NyByZz1wYXJ0eQp+IyEgdGlkPTExMjcyOTg1NjEKQmVpbSBQYXJ0eWJyZXR0IGZlaGx0IGRpZSBBYmZyYWdlLCBvYiBWZWdldGFyaWVyIG9kZXIgbmljaHQuCgpNaWV6ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmlrb2xhdXNpIChBbnlzaWRvcmEsIDI1LiBTZXAgMjAwNSwgMTk6MzM6MDkpOgp+IyEgcm49TWllemUgcnQ9MTEyNzYwNDIyMCByZz1wYXJ0eQp+IyEgdGlkPTExMjcyOTg1NjEKVW0gYWxsZSBVbmtsYXJoZWl0ZW4gYXVzenVyYWV1bWVuLi4uCk1pdCAnTWVpbmUgSGFuZHludW1tZXInIGlzdCBtZWluZSBnZW1laW50LiA7KQoKQW55c2lkb3JhLCBiZWtlbm5lbmRlIFZlcmJyZWNoZXJpbiBkZXMgVGV4dGVzICpnKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5pa29sYXVzaSAoTW9udGFudXMsIDI2LiBTZXAgMjAwNSwgMTA6MDM6MDEpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTExMjc2Njk1ODkgcmc9cGFydHkKfiMhIHRpZD0xMTI3Mjk4NTYxCk5hamEsIG5vY2htYWwgenVtIEFiZW5kZXNzZW46IGRhcyBoZWlzc3QgbmljaHQsIGRhc3MgZXMgbml4IHp1IGVzc2VuIGdpYnQsCnNvbmRlcm4gZGFzcyB3aXIgaGFsdCBzZWxiZXIgZGllIFRlbGVsciBhdXMgZGVtIFNjaHJhbmsgcmFldW1lbiB1bmQgYXVmIGRpZQpUaXNjaGUgc3RlbGxlbiwgZGFzIEJyb3Qgc2VsZWJyIHNjaG5laWRlbiB1bmQgZGVuIFRlZSBzZWxiZXIga29jaGVuIG11ZXNzZW4uIAoyIExldXRlIHVuZCBqZSAzMCBNaW51dGVuIC0gb2RlciA0IExldXRlIHVuZCBqZSAyMCBNaW51dGVuLiBKYSwgbWF0ZWhtYXRpc2NoCmtvbW10IGRhcyBuaWNodCBoaW4sIGFiZXIgS3VlY2hlbm1hZ2llIGlzdCBkYSBpbWVtciBldHdhcyBCZXNvZG5lcmVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmlrb2xhdXNpIChDYXNzYW5kcmEsIDI4LiBTZXAgMjAwNSwgMTI6MjI6MTQpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEyNzcyMTc4MSByZz1wYXJ0eQp+IyEgdGlkPTExMjcyOTg1NjEKRGFzIHNvbGx0ZSBkb2NoIGhpbnp1YmVrb21tZW4gc2Vpbi4gCktlbm5lbiB1bnMgZG9jaCBzY2hvbiBlaW4gd2VuaWcgYXVzIHVuZCBUaXNjaCBkZWNrZW4gbXVzc3RlbiB3aXIgZG9jaCBlaApzZWxic3QuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFzc2JpZXIgb2RlciBGbGFzY2hlbmJpZXI/IChNb250YW51cywgIDEuIE5vdiAyMDA1LCAxMzozNDoxMCk6CklociBoYWJ0IGdlbmF1IGpldHp0IGRpZSBHZWxlZ2VuaGVpdCwgZWluZSBNZWludW5nIGRhenUga3VuZHp1dHVuLiBJcmdlbmR3YW5uCndlcmRlbiBMaWVzXkheSF5IXkhBbnlzaWRvcmEgdW5kIGljaCBkYXMgZW50c2NoZWlkZW4sIHVuZCB3ZW5uIHNpY2ggdm9yaGVyCm5pZW1hbmQgbWVsZGV0LCBtYWNoZW4gd2lyIGRhcyBwZXIgUk5HLgpLbGFyIGdpYnQgZXMgYXVjaCBhbGxvb2xmcmVpZXMsIEdsdWVod2VpbiB1bmQsIHdlbm4gRHVuc3Qga29tbXQsIGF1Y2gKWmV1ZXJmYW5nZW5ib3dsaW5nLiBvZGVyIHNvIGFlaG5saWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhc3NiaWVyIG9kZXIgRmxhc2NoZW5iaWVyPyAoSHVtbmksICAxLiBOb3YgMjAwNSwgMTM6NDc6MDgpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEzMDg0ODQ1MCByZz1wYXJ0eQp+IyEgdGlkPTExMzA4NDg0NTAKSWNoIG1hZyBsaWViZXIgRmFzc2JpZXIuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYXNzYmllciBvZGVyIEZsYXNjaGVuYmllcj8gKENoYWdhbGwsICAxLiBOb3YgMjAwNSwgMTQ6MTY6NTEpOgp+IyEgcm49SHVtbmkgcnQ9MTEzMDg0OTIyOCByZz1wYXJ0eQp+IyEgdGlkPTExMzA4NDg0NTAKQWxzbyBpY2ggc2NobGllc3MgbWljaCBkYSBIdW1uaSBhbi4gRmFzc2JpZXIgd2FlcmUgbWlyIGF1Y2ggbGllYmVyLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZhc3NiaWVyIG9kZXIgRmxhc2NoZW5iaWVyPyAoWm9vaywgIDEuIE5vdiAyMDA1LCAxNDoxOTowOSk6Cn4jISBybj1ab29rIHJ0PTExMzA4NTEwOTMgcmc9c2NobWFycm4KfiMhIHRpZD0xMTMwODQ4NDUwClp1IGVpbGlnIHZlcmxlZ3QuIERpZSB3aWNodGlnZSBJTmZvcm1hdGlvbjogQXJrIGlzdCBhdWNoIGZ1ZXIgRmFzc2JpZXIuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhc3NiaWVyIG9kZXIgRmxhc2NoZW5iaWVyPyAoQ2Fzc2FuZHJhLCAgMS4gTm92IDIwMDUsIDE3OjM3OjE5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMzA4NDg0NTAgcmc9cGFydHkKfiMhIHRpZD0xMTMwODQ4NDUwCkljaCBoYWIgendhciBrZWluZSBNZWludW5nIHp1bSBCaWVyLCBkYXNzIHVlYmVybGFzc2UgaWNoIGdlcm4gZGVuIGFuZGVyZW4uCkFiZXIgZXMgd2FlciBzY2hvZW4gd2VubiBhdWNoIGV0d2FzIFdlaW4gZGEgd2FlcmUgYnp3LiBhdXNyZWljZW5kIEdsdWVod2Vpbi4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOaWtvbGF1c2kgKFBlcmRpdGEsICAyLiBOb3YgMjAwNSwgMjE6MzQ6NTQpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMjc5MDI5MzQgcmc9cGFydHkKfiMhIHRpZD0xMTI3Mjk4NTYxCndpZSBzaWVodCBlcyBlaWdlbnRsaWNoIGF1cyB6dW0gQmVpc3BpZWwgbWl0IFBsYWV0emNoZW4gYmFja2VuPwpVbmQgd2ljaHRlbG4/CldvbGxlbiB3aXI/ClBlcmRpdGEgaGFldHRlIEx1c3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWNodGVsbj8gKENhc3NhbmRyYSwgIDUuIERleiAyMDA1LCAyMTozMjowNCk6CgpIYWxsbyBQYXJ0eWZvbGtzCgpVbSBub2NobWFsIGF1ZiBkaWUgRnJhZ2UgbmFjaCBkZW0gV2ljaHRlbG4genUga29tbWVuLiBXaXJkIGRhcyBnZW1hY2h0PyBVbmQKd2VubiBqYSBub3JtYWxlcyBXaWNodGVsbiBvZGVyIFNjaHJvdHR3aWNodGVsbj8KCjIuIEZyYWdlCkRhIHNpbmQgZG9jaCBUaXNjaHRlbm5pc3BsYXR0ZW4gYXVmIGRlciBCdXJnLiBrYW5uIG1hbiBkaWUgQmVudXR6ZW4gdW5kIHdlbm4KamEgaGF0IGRhIGF1c3NlciBHYXN0NCBub2NoIHdlciBpbnRlcmVzc2UgZHJhbj8KCkNhc3N5LCBmcmV1dCBzaWNoIHNjaG9uIGNoYW90aXNjaCBhdWYgZGVpIFBhcnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ljaHRlbG4/IChMaWFyYSwgIDUuIERleiAyMDA1LCAyMTozMzoxNik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTEzMzgxNDcyNCByZz1wYXJ0eQp+IyEgdGlkPTExMzM4MTQ3MjQKTWljaCB3dWVyZGUgaW0gTW9tZW50IGVoZXIgaW50ZXJlc3NpZXJlbiwgd2llIGRvcnQgZGVyIFN0cmFzc2VuenVzdGFuZCBpc3QuCjstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWNodGVsbj8gKENhc3NhbmRyYSwgIDUuIERleiAyMDA1LCAyMTo0MzowMyk6Cn4jISBybj1MaWFyYSBydD0xMTMzODE0Nzk2IHJnPXBhcnR5Cn4jISB0aWQ9MTEzMzgxNDcyNApHdXRlIEZyYWdlIAoKQ2Fzc3ksIG1vZWNodGUgbmljaHQgZWluZ2VzY2huZWl0IHdlcmRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ljaHRlbG4/IChMaWFyYSwgIDUuIERleiAyMDA1LCAyMTo0ODoxMyk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTEzMzgxNTM4MyByZz1wYXJ0eQp+IyEgdGlkPTExMzM4MTQ3MjQKRGllIFdpbnRlcmJpbGRlciBhdWYgZGVyIEJ1cmdzZWl0ZSBzaW5kIHZvbiAyMDAxLzAyIGFuIFNpbHZlc3Rlci4gSWNoIHdhciBhdWNoCmRvcnQgdW5kIGF1c3NlciBBdXRvcyBzY2hpZWJlbiB3YXIga2F1bSBldHdhcyBhbmRlcnMgenUgdHVuLiA7LSkgRHVyY2ggZGVuCnNjaGxlY2h0ZW4gSGFuZHllbXBmYW5nIHVuZCBkaWUgbWFuZ2VsbmRlIFdpbnRlcnRhdWdsaWNoa2VpdCBlaW5pZ2VyIEF1dG9zCmhhdHRlbiBlaW5pZ2UgTGV1dGUgZGFtYWxzIGVjaHQgZGFzIEdlZnVlaGwsIGluIExlYmVuc2dlZmFociB6dSBzZWluLCB3ZWlsIHNpZQpzdHVuZGVubGFuZyBkdXJjaCBkZW4gSHV1bnNydWVjayBpbiBSaWNodHVuZyBpcmdlbmRlaW5lcyBEb3JmZXMgZ2VoZW4gbXVzc3Rlbi4KRGFzIGdpbmcgemllbWxpY2ggYW4gZGllIFN1YnN0YW56LCB3ZW5uIGRlciBXYWdlbiBlcnN0bWFsIGluIGlyZ2VuZGVpbmVtCkdyYWJlbiBsYWcuCkZ1ZXIgbWVpbmUgUGVyc29uIGtvbW10IHNvIGV0d2FzIG5pY2h0IGluIEZyYWdlLCB3ZWlsIGljaCBuaWNodCBpbiBkZXIgTGFnZQpiaW4gbWVociBhbHMgMTAgTWludXRlbiBhbSBTdHVlY2sgenUgRnVzcyB6dXJ1ZWNrenVsZWdlbjsgZ2VzY2h3ZWlnZSBkZW5uIGltClNjaG5lZS4gTWl0IGRlbSBadWcga2FubiBpY2ggYXVjaCBuaWNodCBmYWhyZW4sIHdlaWwgZXMgenUgYW5zdHJlbmdlbmQgdW5kCnJ1Y2tlbGlnIGlzdCwgdW5kIGljaCBhdWNoIG1laW4gR2VwYWVjayBuaWNodCB0cmFnZW4ga2Fubi4gQWxzbyB3dWVzc3RlIGljaAp3aXJrbGljaCBnZXJuZSwgd2llIGVzIGRvcnQgYXVzc2llaHQuIDotPiBGYWxscyBqZW1hbmQgaW4gZGVyIEdlZ2VuIHdvaG50LAplaW5mYWNoIG1hbCBlaW5lIEluZm8gZ2ViZW4uIERpZSBlaW5zY2hhZWdpZ2VuIHdldHRlcnNlaXRlbiBoYWJlbiBzbyBlaW5mYWNoZQpJbmZvIHdvaGwgbmljaHQgYXVmIExhZ2VyLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWNodGVsbj8gKEtlbGx5YnVuZHksICA1LiBEZXogMjAwNSwgMjE6NTE6MjUpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMzM4MTQ3MjQgcmc9cGFydHkKfiMhIHRpZD0xMTMzODE0NzI0CldpY2h0ZWxuIGtlbm4gaWNoIGphIHNjaG9uIHNlaXQgaWNoIGhpZXIgaW4gQmF5ZXJuIE5vcmR3ZXN0IGxlYmUgKE1haW56LipHRyopLApkYXMgaXNzbiBKdWxrbGFiIGZ1ZXIgYXJtZS4gYWJlciB3YXMgYmlkZGVzY2hvZW4gaXN0IFNjaHJvdHR3aWNodGVsbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ljaHRlbG4/IChDYXNzYW5kcmEsICA1LiBEZXogMjAwNSwgMjE6NTY6NDEpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTMzODE1ODg1IHJnPXBhcnR5Cn4jISB0aWQ9MTEzMzgxNDcyNApzY2hyb3R0d2ljaHRlbG4gYmVkZXV0ZXQgd2ljaHRlbG4gbWl0IGdlZ2Vuc3RhZW5kZW4gZGllIG1hbiBsb3N3ZXJkZW4gd2lsbC4KRGFzIGtvZW5uZW4gaGFlc3NsY2loZSB2YXNlbiwgYWx0ZSBCdWVjaGVyIGV0YyBzZWluLiBJY2ggaGFiIGRhIHouQi4gbWFsIG5lCmVuZ2VsZmlndXIgYmVrb21tZW4genVtIGhpbnN0ZWxsZW4uIEJlZGluZ3VuZyBpc3QgZGFzIHpldWcgbXVzcyBub2NoCmJlbnV0emJhci92ZXJ3ZXJ0YmFyIHNlaW4sIGFsc28ga2VpbmUga2FwdXR0ZW4gc2FjaGVuIG9kZXIgYWJnZWxhdWZlbmUKTGViZW5zbWl0dGVsLiBEaWUgc2FjaGVuIHdlcmRlbiBkYW5uIGVpbmdlcGFja3QgdW5kIGRhbm4gZ2VodHMgbG9zIG1pdCBkZW0Kd2ljaHRlbG4gL0p1bGtsYWIuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ljaHRlbG4/IChHbG9pbnNvbiwgIDYuIERleiAyMDA1LCAwMDoyMzo1Nik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTEzMzgxNjIwMSByZz1wYXJ0eQp+IyEgdGlkPTExMzM4MTQ3MjQKRGFmdWVyIGdpYnQgZXMgbWVnYXNjaG1hcnJuIC4uLiBoYWJlIGljaCBtYW5jaG1hbCBkZW4gRWluZHJ1Y2sgZ2VoYWJ0Lgo6ZGVua3QgLiBvIE8gKGFuIGRpdmVyc2UgQWxiZW4gdW5kIFNhbW1lbGJpbGRlcikKCldhcyBXaWNodGVsbiBtaXQgSnVsa2xhcHAgenUgdHVuIGhhdCwgYXVzc2VyIGRlciBaZWl0IHVuZCBkZXIgVGF0c2FjaGUgZGVzCkdlc2NoZW5rZXMgLi4uIGV1cmUgUmVkZSBpc3Qgd2lyci4gVHJvdHpkZW0gdmllbCBTcGFzcyBkYWJlaS4gSWRlYWxlcndlaXNlCmVtcGZlaGxlIGljaCBiZWkgc29sY2hlbiBXdWVuc2NoZW4gaW1tZXIgZWluZmFjaCB6dSBzYWdlbiAiYml0dGUgYmVpIG1pcgptZWxkZW4gd2VyIHdpY2h0ZWxuIG1vZWNodGUsIGljaCBvcmdhbmlzaWVyIGRhcyIgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBYnNhZ2UgV2lCdS1QYXJ0eSAoVmFuaW9uLCAgNi4gRGV6IDIwMDUsIDE5OjU2OjA1KToKSGkgTGV1dGUsCgpEYSBtaXR0bGVyd2VpbGUgbWVocmVyZSBGcmFnZW4ga2FtZW4uIEljaCBrYW5uIGxlaWRlciBhbSBXb2NoZW5lbmRlIG5pY2h0IHp1cgpQYXJ0eSBrb21tZW4uIE1pciBpc3QgZWluIHdpY2h0aWdlciBUZXJtaW4gZGF6d2lzY2hlbiBnZWtvbW1lbi4gSWNoIGthbm50ZSBkZW4KVGVybWluIHNjaG9uIGxhZW5nZXIsIGhhdHRlIGFiZXIgZ2Vob2ZmdCwgZGFzcyBpY2ggZGFzIGFsbGVzIHJlY2h0emVpdGlnCmhpbmJla29tbWVuIGtyaWVnZS4gSGFiIGljaCBuaWNodC4KCkJlaSBkZXIgbmFlY2hzdGVuIFBhcnR5IGJpbiBpY2ggd2llZGVyIGRhYmVpLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYnNhZ2UgV2lCdS1QYXJ0eSAoVmFuaW9uLCAgNi4gRGV6IDIwMDUsIDE5OjU3OjAxKToKfiMhIHJuPVZhbmlvbiBydD0xMTMzODk1MzY1IHJnPXBhcnR5Cn4jISB0aWQ9MTEzMzg5NTM2NQpBbiBkZXIgd2l0emlnZW4gR3JhbW1hdGlrIGltIFZvci1BcnRpa2VsIGlzdCBtZWluZSBHZW5lcnZ0aGVpdCBzY2h1bGQuIElocgp2ZXJzdGVodCBzY2hvbiAuLi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFic2FnZSBXaUJ1LVBhcnR5IChNaXJpbCwgIDYuIERleiAyMDA1LCAyMDowMDo1OSk6Cn4jISBybj1WYW5pb24gcnQ9MTEzMzg5NTQyMSByZz1wYXJ0eQp+IyEgdGlkPTExMzM4OTUzNjUKTWlyaWwgdHJvZXN0ZXQgVmFuaW9uIHVuZCB2ZXJ0cm9lc3RldCBpaG4gYXVmIGNhIDIgV29jaGVuIHNwYWV0ZXIsIHdvCmhvZmZlbnRsaWNoIGtlaW4gVGVybWluIGRhendpc2NoZW4ga29tbXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBYnNhZ2UgV2lCdS1QYXJ0eSAoVmFuaW9uLCAgNi4gRGV6IDIwMDUsIDIwOjAzOjQzKToKfiMhIHJuPU1pcmlsIHJ0PTExMzM4OTU2NTkgcmc9cGFydHkKfiMhIHRpZD0xMTMzODk1MzY1ClNpY2hlciBuaWNodC4gRGVyIFVybGF1YiBpc3QgZ2VuZWhtaWd0LCBkZXIgbmFlY2hzdGUgU3R1ZGllbi1UZXJtaW4gaXN0IGVyc3QKYW0gMTAuIEphbnVhci4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpY2h0ZWxuPyAoTW9udGFudXMsICA3LiBEZXogMjAwNSwgMTM6MTY6MjMpOgp+IyEgcm49TGlhcmEgcnQ9MTEzMzgxNDc5NiByZz1wYXJ0eQp+IyEgdGlkPTExMzM4MTQ3MjQKTGF1dCBUZWxlZm9uYXQgbWl0IEZyYXUgTGlzdCBpc3QgZG9ydCB6dXIgWmVpdCBub2NoIGFsbGVzIG5vcm1hbC4gQW0KV29jaGVuZW5kZSBrYW5uIGVzIGthbHQgd2VyZGVuLCBhYmVyIGdlbmF1ZXMgd2lzc2VuIHNpZSBhdWNoIG5vY2ggbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWNodGVsbj8gKFRhcmFuaXMsICA3LiBEZXogMjAwNSwgMTM6MjE6MjUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEzMzk1Nzc4MyByZz1wYXJ0eQp+IyEgdGlkPTExMzM4MTQ3MjQKSW4gZGVtIFp1c2FtbWVuaGFuZyBoaWVyIGRpZSBVUkwgZGVyIFZvcmhlcnNhZ2Ugdm9uIERvbm5lcndldHRlciBmdWVyIGRpZQpuYWVjaHN0ZW4gVGFnZSBpbiBkZXIgUmVnaW9uIFdpbnRlcmJ1cmc6Cmh0dHA6Ly93d3cuZG9ubmVyd2V0dGVyLmRlL3JlZ2lvbi9tb3JnZW4uaHRzP2MrMDkrV2ludGVyYnVyZwpTaWVodCBpbiBkZXIgVGF0IGVpZ2VudGxpY2ggbmljaHQgc28gc2NobGVjaHQgYXVzLgoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9ydHJhZWdlPyE/IChTaGFrZWRiZWVyLCAgNy4gRGV6IDIwMDUsIDE3OjA1OjM0KToKSGkhCgpHaWJ0IGVzIGRpZXNlcyBKYWhyIHVlYmVyaGF1cHQgVm9ydHJhZWdlPyBJY2ggaGFldHRlIGVpbmVuIG5pY2h0IGdhbnoKTUctbGFzdGlnZW4gaW4gZGVyIFNjaHVibGFkZTogCgpUaXRlbDogV2FydW0gaXN0IGRpZSBQR0kgaW1tZXIgbm9jaCBuaWNodCBhbmdlc2NobG9zc2VuPwpVbnRlcnRpdGVsOiBMSU5LT05BVVQtS3VyemVpbmZ1ZWhydW5nCkRhdWVyOiAxMCBNaW4uCgpCZXN0ZWh0IGRhIEludGVyZXNzZT8KCkVpbiBTY2h1ZXR0ZWxiaWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFic2FnZSBXaUJ1LVBhcnR5IChNdXBmZWwsICA3LiBEZXogMjAwNSwgMTc6MjI6MTEpOgp+IyEgcm49VmFuaW9uIHJ0PTExMzM4OTUzNjUgcmc9cGFydHkKfiMhIHRpZD0xMTMzODk1MzY1ClNjaGFkZSBhYmVyIG5pY2h0IHp1IGFlbmRlcm4uIFdvcmF1ZiBzaWNoIGpldHp0IGZ1ZXIgbWljaCwgZGVyIGRhbm4gcGVyIEJhaG4Ka29tbWVuIG11c3MsIGRpZSBGcmFnZSBzdGVsbHQ6IHdpZSBrb21tZSBpY2ggdm9uIEJhZCBLcmV1em5hY2ggbmFjaApXaW50ZXJidXJnPyBHaWJ0cyBuZSBNZmc/CgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBYnNhZ2UgV2lCdS1QYXJ0eSAoR2xvaW5zb24sICA3LiBEZXogMjAwNSwgMTc6MzI6MzEpOgp+IyEgcm49TXVwZmVsIHJ0PTExMzM5NzI1MzEgcmc9cGFydHkKfiMhIHRpZD0xMTMzODk1MzY1CkRhIGdpYnQgZXMgZWluZW4gQnVzLCBmYWxscyBkdSBrZWluZSBmaW5kZXN0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFic2FnZSBXaUJ1LVBhcnR5IChNdXBmZWwsICA3LiBEZXogMjAwNSwgMTc6MzU6MTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMzk3MzE1MSByZz1wYXJ0eQp+IyEgdGlkPTExMzM4OTUzNjUKRGVyIGZhZWhydCBhYmVyIGF1Y2ggbnVyIGJpcyB1bnRlbiBpbnMgRG9yZi4gRGFubiBkYSBub2NoIHJhdWYuLi4gbmVlIGRhZnVlcgpiaW5uaWNoIHNjaG9uIHp1IGtsYXBwcmlnIDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQWJzYWdlIFdpQnUtUGFydHkgKEdsb2luc29uLCAgNy4gRGV6IDIwMDUsIDE3OjM4OjI0KToKfiMhIHJuPU11cGZlbCBydD0xMTMzOTczMzE0IHJnPXBhcnR5Cn4jISB0aWQ9MTEzMzg5NTM2NQpEYXMga2FubnN0IGR1IHNhZ2VuLCB3ZW5uIGR1IGRlaW5lciBlcnN0ZW4gendlaSBLaW5kZXIgYW0gU3RhcnQgdW5kIGRhYmVpCmhhc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWJzYWdlIFdpQnUtUGFydHkgKE11cGZlbCwgIDcuIERleiAyMDA1LCAxNzo0MTo0MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTMzOTczNTA0IHJnPXBhcnR5Cn4jISB0aWQ9MTEzMzg5NTM2NQpSZWluIGFsdGVybWFlc3NpZyBrb2VubnRlbiBtZWluZSBlcnN0ZW4gendlaSBLaW5kZXIgaW56d2lzY2hlbiBTdHVkZW50ZW4Kc2Vpbi4uLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFic2FnZSBXaUJ1LVBhcnR5IChNYWhhcmV0LCAgNy4gRGV6IDIwMDUsIDE3OjQyOjIyKToKfiMhIHJuPU11cGZlbCBydD0xMTMzOTczNzAwIHJnPXBhcnR5Cn4jISB0aWQ9MTEzMzg5NTM2NQpBYmVyIGR1IGhhc3QgZGFzIEtpbmRlcmdyb3NzemllaGVuIG5pY2h0IGR1cmNoZ2VtYWNodCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQWJzYWdlIFdpQnUtUGFydHkgKE11cGZlbCwgIDcuIERleiAyMDA1LCAxNzo0NDoyMik6Cn4jISBybj1NYWhhcmV0IHJ0PTExMzM5NzM3NDIgcmc9cGFydHkKfiMhIHRpZD0xMTMzODk1MzY1Ck5laW4sIHVuZCBkYWZ1ZXIgYmluIGljaCBzZWhyIHNlaHIgZGFua2JhciA6KSBJY2ggaGFiZSBhdWNoIG5pY2h0IHZvciwgZGFzCmplbWFscyBkdXJjaHp1bWFjaGVuLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFic2FnZSBXaUJ1LVBhcnR5IChHbG9pbnNvbiwgIDcuIERleiAyMDA1LCAxNzo0NToyNCk6Cn4jISBybj1NdXBmZWwgcnQ9MTEzMzk3Mzg2MiByZz1wYXJ0eQp+IyEgdGlkPTExMzM4OTUzNjUKU3RyZWNrYmFuaywgQnJhdGVuc3BpZXNzPyBPZGVyIHdhciBkYXMgZWluZSBnZW5lcmVsbGUgQWJzYWdlIGFucyBLaW5kZXIgaW4gZGllCldlbHQgc2V0emVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFic2FnZSBXaUJ1LVBhcnR5IChNdXBmZWwsICA3LiBEZXogMjAwNSwgMTc6NTM6MjkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMzk3MzkyNCByZz1wYXJ0eQp+IyEgdGlkPTExMzM4OTUzNjUKRGFzIHdhciBlaW5lIGdlbmVyZWxsZSBBYnNhZ2UsIGphLgoKVmllbGxlaWNodCBmaW5kZSBpY2ggamEgdHJvdHpkZW0gbmUgTWZnIDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFic2FnZSBXaUJ1LVBhcnR5IChHbG9pbnNvbiwgIDcuIERleiAyMDA1LCAxODowMDo1Myk6Cn4jISBybj1NdXBmZWwgcnQ9MTEzMzk3NDQwOSByZz1wYXJ0eQp+IyEgdGlkPTExMzM4OTUzNjUKVW5nZWhldWVybGljaGUgVm9yc3RlbGx1bmcuIEtlaW5lIGtsZWluZW4gTXVwZmVscy4gVmVybG9yZW5nZWdhbmdlbmUgRE5TLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBYnNhZ2UgV2lCdS1QYXJ0eSAoTW9udGFudXMsICA3LiBEZXogMjAwNSwgMjA6MTE6MzQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMzk3NDg1MyByZz1wYXJ0eQp+IyEgdGlkPTExMzM4OTUzNjUKV2llIGljaCB3ZWl0ZXIgdm9ybmUgc2Nob24gc2NocmllYjogRGVyIEJ1c2ZhaHJlciBzZXR6dCBlaW5lbix3ZW5uIG1hbiBuZXR0CmJpdHRldCB1bmQgYXVmIGdyb3NzZSBLb2ZmZXJtZW5nZW4gaGlud2Vpc3QsIGF1Y2ggbWFuY2htYWwgZGlyZWt0IGFuIGRlcgpLaXJjaGFiLCBhbHNvIGRpcmVrdCBhbSBBdWZzdGllZyB6dXIgQnVyZy4KVW5kIHdhcyAxMGphZWhyaWdlIEtpZG5lciBzY2hhZmZlbiwgc29sbHRlIGRvY2ggYXVjaCBlaW5lbSBncm9zc2VuIE11cGZlbAp6dXp1bXV0ZW4gc2Vpbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9ydHJhZWdlPyE/IChBbnlzaWRvcmEsICA4LiBEZXogMjAwNSwgMDI6NTE6MjIpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTMzOTcxNTM0IHJnPXBhcnR5Cn4jISB0aWQ9MTEzMzk3MTUzNAphdWphICpzaGFreXVtaHVlcGYqIGFsc28gdm9uIG1laW5lciBzZWl0ZSBhdWYgamVkZW4gZmFsbCwgaWNoIGtvZW5udGUgZGVpbmVuCnZvcnRyYWVnZW4gZGVuIGdhbnplbiB0YWcgenVob2VyZW4gKmcqIHVuZCBkYXMgdGhlbWEgaW50ZXJlc3NpZXJ0IG1pY2ggc29nYXIKYXVjaCBub2NoIDpECmFlaG0sIG11cGZlbD8gaWNoIGhvbCB1bSAxNDoyMiB1aHIgZ3VlbiBpbiBiYWQga3JldXpuYWNoIHZvbSBiYWhuaG9mIGFiLCBhYmVyCmljaCBuZWhtIG1hbCBhbiwgZGFzcyBkdSB6dSBkZXIgemVpdCBkb3J0IG5vY2ggbmljaHQgYXVmc2NobGFlZ3N0LCBvZGVyPyBkYQprb2VubnQgaWNoIGRpY2ggZGFubiBuYWVtbGljaCBtaXRuZWhtZW4sIHNwYWV0ZXIgbGVpZGVyIG5pY2h0IG1laHIgOi0vCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3J0cmFlZ2U/IT8gKFNoYWtlZGJlZXIsICA4LiBEZXogMjAwNSwgMTE6NDk6NDEpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTExMzQwMDY2ODIgcmc9cGFydHkKfiMhIHRpZD0xMTMzOTcxNTM0Ck9oYS4gV3Vzc3RlIGdhciBuaWNodCwgZGFzcyBlcyBzY2hvbiBlaW5lbiBTaGFreS1GYW5jbHViIGdpYnQuIDpvKSBHZWh0IGtsYXIuCkljaCBicmluZ2Ugd2llZGVyIG5lbiBCZWFtZXIgbWl0LiBXZW5uIHNvbnN0IG5vY2ggd2VyIHdhcyB2b3JiZXJlaXRlbiBtb2VjaHRlCipIVU1OSUFOWldJTktFUioga2FubiBkYW5uIGdlcm5lIG5lIFBQVCBvLmFlLiBtaXRicmluZ2VuLgoKRGF0dCBKZXNjaHVldHRlbHRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvcnRyYWVnZT8hPyAoQXJrLCAgOC4gRGV6IDIwMDUsIDEyOjIwOjE4KToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9MTEzMzk3MTUzNCByZz1wYXJ0eQp+IyEgdGlkPTExMzM5NzE1MzQKS2xhciAuLi4gZGFtaXQgaWNoIHdlaXNzLCB3YW5uIGljaCBkZW4gSm9iIGFuIGRlbiBOYWdlbCBoYWVuZ2VuIG11c3MgLi4uCk11YWhhaGEuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBYnNhZ2UgV2lCdS1QYXJ0eSAoQXJrLCAgOC4gRGV6IDIwMDUsIDEyOjI2OjQzKToKfiMhIHJuPU11cGZlbCBydD0xMTMzOTcyNTMxIHJnPXBhcnR5Cn4jISB0aWQ9MTEzMzg5NTM2NQpBbHNvIGljaCByZWlzZSBhbSBGcmVpdGFnIG5hY2htaXR0YWcgYW4sIGdlbmF1ZXIgWmVpdHB1bmt0IG5vY2ggdW5nZXdpc3MuIFdhbm4Ka29tbXN0IER1IGFuPwoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFic2FnZSBXaUJ1LVBhcnR5IChNdXBmZWwsICA4LiBEZXogMjAwNSwgMTM6Mzg6MTgpOgp+IyEgcm49QXJrIHJ0PTExMzQwNDEyMDMgcmc9cGFydHkKfiMhIHRpZD0xMTMzODk1MzY1CkhhdCBzaWNoIGVybGVkaWd0LiBJY2ggZmFocmUgbWl0IENoYWdhbGwuIERhbmtlIHRyb3R6ZGVtIDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UuIChBcmssIDExLiBEZXogMjAwNSwgMTY6MDM6NTYpOgpEZW4gT3JnYW5pc2F0b3JlbiwgZGVtIFdldHRlciwgZGVtIEdsdWVod2Vpbi4gQmlzIHp1ciBuYWVjaHN0ZW4gUGFydHkgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtlLiAoQ2hhZ2FsbCwgMTEuIERleiAyMDA1LCAxNzoxMzoxMSk6Cn4jISBybj1BcmsgcnQ9MTEzNDMxMzQzNiByZz1wYXJ0eQp+IyEgdGlkPTExMzQzMTM0MzYKRGVtIGthbm4gaWNoIG1pY2ggbnVyIGFuc2NobGllc3Nlbi4KCk1DCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW5rZS4gKEh1cmF4cHJheCwgMTEuIERleiAyMDA1LCAyMDowMTo0MSk6Cn4jISBybj1DaGFnYWxsIHJ0PTExMzQzMTc1OTEgcmc9cGFydHkKfiMhIHRpZD0xMTM0MzEzNDM2CkRlbSBzY2hsaWVzc2UgaWNoIG1pY2ggbXVlZGUgYWJlciBndXQgenVoYXVzZW4gYW5nZWtvbW1lbiB2b2xsIHVuZCBnYW56IGFuLgoKSHVyYXhwcmF4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2UuIChNdWFkaWIsIDExLiBEZXogMjAwNSwgMjA6Mzc6NTUpOgp+IyEgcm49QXJrIHJ0PTExMzQzMTM0MzYgcmc9cGFydHkKfiMhIHRpZD0xMTM0MzEzNDM2CmRlbSBrYW5uIGljaCBtaWNoIG51ciBhbnNjaGxpZXNzZW4KZGFua2Ugc2Nob2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbmtlLiAoTWllemUsIDExLiBEZXogMjAwNSwgMjA6NDA6NTkpOgp+IyEgcm49TXVhZGliIHJ0PTExMzQzMjk4NzUgcmc9cGFydHkKfiMhIHRpZD0xMTM0MzEzNDM2CgpIYWxsbyBPcmdhVGVhbSwKCmRhbmtlIGZ1ZXIgZGllIHZpZWxlIE11ZWhlIHVuZCBkaWUgdG9sbGUgUGFydHkuIERpZSBEZXV0c2NoZSBCYWhuIGtvZW5udGUgc2ljaApiZWkgRXVjaCBpbiBTYWNoZW4gT3JnYW5pc2F0aW9uIGVpbmUgTWVuZ2UgYWJndWNrZW4gO28pKQoKTWllemUgLSB2ZXJzcGFldGV0LCBhYmVyIGdsdWVja2xpY2ggbWl0IE11ZXR6ZSB1bmQgQnV0dGVyZG9zZSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFua2UuIChUYXJhbmlzLCAxMS4gRGV6IDIwMDUsIDIwOjQxOjI5KToKfiMhIHJuPU11YWRpYiBydD0xMTM0MzI5ODc1IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDMxMzQzNgpNaG1tbS4gSXJnZW5kd2llIGxhbmd3ZWlsaWcgdW5kIHVua3JlYXRpdiwgd2VubiBpY2ggbWljaCBqZXR6dCBlaW5mYWNoCmFuc2NobGllc3NlLCBhYmVyIHZpZWwgYW5kZXJlcyBmYWVsbHQgbWlyIGF1Y2ggbmljaHQgZWluLiBJY2ggZmFuZCBlcyBzZWhyCnNjaG9lbiB1bmQgZGFzIFdFIGdpbmcgd2llIGltbWVyIHZpZWwgenUgc2NobmVsbCB2b3J1ZWJlci4gRGFua2UgZXVjaCEgOi0pCkJUVyBzdGVsbGVuIHNpY2ggbmF0dWVybGljaCB3aWVkZXJtYWwgRnJhZ2VuLCBkaWUgZGllIFdlbHQgYmV3ZWdlbjogR2lidCBlcwplaW5lIEZydWVobGluZ3NwYXJ0eT8gVW5kIHdvIGZpbmRldCBkaWUgU29tbWVycGFydHkgMjAwNiBzdGF0dD8KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhbmtlLiAoTWlyaWwsIDExLiBEZXogMjAwNSwgMjE6MDU6MjcpOgp+IyEgcm49VGFyYW5pcyBydD0xMTM0MzMwMDg5IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDMxMzQzNgpXZW5uIGF1Y2gga3Vyeiwgd2FyIGVzIHRyb3R6ZGVtIHdpZSBpbW1lciBsb2huZW5zd2VydCBuYWNoIFdpbnRlcmJ1cmcgenUKZmFocmVuLiBEYW5rZSBmdWVyIGRpZSBPcmdhbmlzYXRpb24uCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGFua2UuIChNdXBmZWwsIDExLiBEZXogMjAwNSwgMjE6NDQ6NDEpOgp+IyEgcm49TWlyaWwgcnQ9MTEzNDMzMTUyNyByZz1wYXJ0eQp+IyEgdGlkPTExMzQzMTM0MzYKRmluZGUgaWNoIGF1Y2ggOikgU3VwZXIgQXRtb3NwaGFyZSBzdXBlciBvcmdhbmlzaWVydCBzdXBlcm5ldHQuCkRhbmtlIGFucyBPcmdhdGVhbSB1bmQgYW4gYWxsZSBNaXR3aXJrZW5kZW4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua2UuIChLaXJpYSwgMTEuIERleiAyMDA1LCAyMTo0NToyNSk6Cn4jISBybj1NdXBmZWwgcnQ9MTEzNDMzMzg4MSByZz1wYXJ0eQp+IyEgdGlkPTExMzQzMTM0MzYKQXVjaCB2b24gbWlyIGVpbiBoZXJ6bGljaGVzIERhbmtlc2Nob2VuIGFuIGRpZSBPcmdhcy4gSGF0IHdpcmtsaWNoIFNwYXNzCmdlbWFjaHQgdW5kIGFsbGVzIGxpZWYgc3VwZXIgOikKCktpcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEYW5rZS4gKFNoYWtlZGJlZXIsIDExLiBEZXogMjAwNSwgMjE6NTI6MTUpOgp+IyEgcm49S2lyaWEgcnQ9MTEzNDMzMzkyNSByZz1wYXJ0eQp+IyEgdGlkPTExMzQzMTM0MzYKQXVjaCB2b24gbWlyIGVpbiBkaWNrZXMgRGFua2UhIFdhciBlaW5lIHNjaG9lbmUgUGFydHkhCgpTaGFreSAtIGRhbmt0IGF1Y2ggZGVtIEF1dG8tUmVwYXJhdHVyc2VydmljZSB1bmQgZGVyCkR1bnN0LUFoYWItVGF4aS1HZXNlbGxzY2hhZnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEYW5rZS4gKFBlcmRpdGEsIDExLiBEZXogMjAwNSwgMjI6MDQ6MjQpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTM0MzM0MzM1IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDMxMzQzNgprYXVtIG5vY2ggd2FzIGhpbnp1enVmdWVnZW4uCkRhbmtlLgpQZXJkaXRhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRGFua2UuIChDYXNzYW5kcmEsIDEyLiBEZXogMjAwNSwgMDk6MTE6MjMpOgp+IyEgcm49UGVyZGl0YSBydD0xMTM0MzM1MDY0IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDMxMzQzNgpBdWNoIHZvbiBtaXIgRGFua2UgYW4gZGllIE9yZ2EsIHdhciBuZSBTdXBlciBQYXJ0eSB1bmQgd2llIGltbWVyIHp1IGt1cnouCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIG1hZyBrZWluZSBQaG90b3M/IChDYXNzYW5kcmEsIDEyLiBEZXogMjAwNSwgMDk6MTI6MjMpOgp3ZXIga2VpbmUgUGhvdG9zIHZvbiBzaWNoIHNlaGVuIG1hZyBzY2hpY2tlIG1pciBiaXR0ZSBlaW5lIGVudHNwcmVjaGVuZGUgbWFpbC4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VyIG1hZyBrZWluZSBQaG90b3M/IChNb250YW51cywgMTIuIERleiAyMDA1LCAxNDowNjozNSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTEzNDM3NTE0MyByZz1wYXJ0eQp+IyEgdGlkPTExMzQzNzUxNDMKR2lsdCBkYXMgYXVjaCBmdWVyIExldXRlLCBkaWUgZ2FyIG5pY2h0IGF1ZiBkZXIgUGFydHkgd2FyZW4/IEdpYiB6dSwgZHUgd2lsbHN0CmVpbmZhY2ggbnVyIHZpZWwgUG9zdCBiZWtvbW1lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VyIG1hZyBrZWluZSBQaG90b3M/IChDYXNzYW5kcmEsIDEyLiBEZXogMjAwNSwgMTU6MDc6NTApOgp+IyEgcm49TW9udGFudXMgcnQ9MTEzNDM5Mjc5NSByZz1wYXJ0eQp+IyEgdGlkPTExMzQzNzUxNDMKbmVpbiBkYXMgYmVzemllaHQgc2ljaCBuYXR1ZXJpY2ggbnVyIGF1ZiBkaWUgTGV1dGUgZGllIGF1ZiBkZXIgUGFydHkgd2FyZW4gdW5kCm1vZWdsaWNoZXJ3ZWlzZSB2b3IgbWVpbmUgTGluc2UgZ2VsYXVmZW4gc2luZC4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZXIgbWFnIGtlaW5lIFBob3Rvcz8gKFRhcmFuaXMsIDEyLiBEZXogMjAwNSwgMTU6MTg6MDMpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMzQzOTY0NzAgcmc9cGFydHkKfiMhIHRpZD0xMTM0Mzc1MTQzCkljaCBzZWggendhciBhdWYgQmlsZGVybiBmYXN0IGltbWVyIHRvdGFsIGJla2xvcHB0IGF1cywgYWJlciBwYXNzdCBzY2hvbiwga2VpbgpHcnVuZCwgZGVzd2VnZW4gQmlsZGVyIHJhdXN6dW5laG1lbi4gOy0pClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlciBtYWcga2VpbmUgUGhvdG9zPyAoQmFtYmksIDEyLiBEZXogMjAwNSwgMjI6MTc6MTYpOgp+IyEgcm49VGFyYW5pcyBydD0xMTM0Mzk3MDgzIHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDM3NTE0MwpEaWUgRnJhZ2UgZGllIHNpY2ggTUlSIHN0ZWxsdCBpc3QgZWhlcjogd2llc28gaGFidCBpaHIgUmVnZWwgMiB2ZXJsZXR6dD8KKE5pY2h0LCBkYXNzIGljaCBtaWNoIGJlc2Nod2VyZW4gd29sbHRlLikKCkZvdG9zOiBrYW5uIGljaCBhdWNoIHdvbGxlbiwgZGFzcyBfYW5kZXJlXyBMZXV0ZSBkaWUgRm90b3Mgdm9uIG1pciBuaWNodCB6dQpHZXNpY2h0IGJla29tbWVuPyBLYW5uIGljaCBkaWUgRm90b3Mgdm9yaGVyIG1hbCBzZWhlbj8gU3BvbnRhbiBoYWJlIGljaAplcnN0bWFsIG5pY2h0cyBnZWdlbiBlaW5lIFZlcm9lZmZlbnRsaWNodW5nLCBhdXNzZXIgRHUgaGFzdCBGb3RvcyBnZW1hY2h0LAp3YWVocmVuZCBpY2ggbmljaHQgYW5zcHJlY2hiYXIgd2FyLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGFua2UuIChMaWFyYSwgMTQuIERleiAyMDA1LCAwMTozODo0OCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTEzNDM3NTA4MyByZz1wYXJ0eQp+IyEgdGlkPTExMzQzMTM0MzYKVm9uIG1pciBhdWNoIHZpZWxlbiBEYW5rLCBiZXNvbmRlcnMgYW4gQW55KiEgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJpbGRlciAoWm9vaywgMTQuIERleiAyMDA1LCAxMzowNzo1Nyk6CldlciBzZWluZSBCaWxkZXIgYXVmIGRlciBIZWltc2VpdGUgemVpZ2VuIG1vZWNodGUsIGthbm4gc2ljaCBhbiBtaWNoCndlbmRlbiB1bmQgc2llIGF1ZiBkZW4gb2VmZmVudGxpY2hlbiBUZWlsIGRlcyBGVFAtU2VydmVycyBhYmxlZ2VuLgpIaW53ZWlzZSB6dXIgRXJzdGVsbHVuZyBkZXMgSW5kZXggZmluZGVuIHNpY2ggaGllcjoKCmh0dHA6Ly93d3cuaG9sendhcnRoLm5ldC9NRy9QYXJ0aWVzL2hpbndlaXNlX3p1cl9pbmRleGVyc3RlbGx1bmcuaHRtCgpVbmQgamEgPFRBQj4gaXN0IGVpbmUgVGFzdGUsIGRpZSBtYW4gZGEgZHJ1ZWNrZW4gc29sbCB1bmQgbmljaHQgZWluZmFjaAo8VEFCPiBoaW5zY2hyZWliZW4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZXVmeiAoS2VsbHlidW5keSwgMTYuIERleiAyMDA1LCAyMTozMTo0Nyk6CktsaW5ndCwgYWxzIGhhZXR0ZSBpY2ggd2FzIHZlcnBhc3N0LiBVbmQ6IEphIGRpZXNtYWwgd29sbHRlIGljaCB3aXJrbGljaAprb21tZW4uIExlaWRlciB3YXIgZGFzIFdFIHNjaG9uIHdpZWRlciBtYWwgcmVsYXRpdiBrdXJ6ZnJpc3RpZyB2ZXJwbGFudC4gVW1zbwphZXJnZXJsaWNoZXIsIHdlaWwgaWNoIGphIGdlcmFkZSBtYWwgY2EuIDYwLTcwIGttIHZvbiBXaW50ZXJidXJnIGVudGZlcm50CmxlYmUuIFNldWZ6LgpOYWVjaHN0ZXMgbWFsIGtvbW1lIGljaCBhdWNoLiBiZXN0aW1tdC4KS2VsbHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZXVmeiAoRGVlcGJsdWUsIDE3LiBEZXogMjAwNSwgMTY6NTQ6MTUpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTM0NzY1MTA3IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDc2NTEwNwo+IE5hZWNoc3RlcyBtYWwga29tbWUgaWNoIGF1Y2guIGJlc3RpbW10LgpFcnphZWhsc3QgRHUgZGFzIG5pY2h0IGplZGVzIG1hbD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2V1ZnogKEtlbGx5YnVuZHksIDE3LiBEZXogMjAwNSwgMTc6MDM6MjYpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTEzNDgzNDg1NSByZz1wYXJ0eQp+IyEgdGlkPTExMzQ3NjUxMDcKRWhybGljaC4gSWNoIGtvbW1lLiBPZGVyIGF1Y2ggbmljaHQuIFZlcnNwcm9jaGVuLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJpbGRlciAoWm9vaywgMTguIERleiAyMDA1LCAxODowMTo0Mik6Cn4jISBybj1ab29rIHJ0PTExMzQ1NjIwNzcgcmc9cGFydHkKfiMhIHRpZD0xMTM0NTYyMDc3CkdvbGRjYXQgaGF0IG1pdCBzZWluZXIga2xlaW5lbiBTYW1tbHVuZyBnbHVlaHdlaW52ZXJzY2hvbW1lbmVyIEJpbGRlciBkZW4KQW5mYW5nIGdlbWFjaHQuIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YmlsZGVyIChNdWFkaWIsIDE4LiBEZXogMjAwNSwgMTg6MTM6NTYpOgp+IyEgcm49Wm9vayBydD0xMTM0OTI1MzAyIHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDU2MjA3Nwp3ZXIgc2ljaGVyIGdlaGVuIHdpbGwsIGRhc3MgZXIgcmljaHRpZyBlcmthbm50IHd1cmRlLCBzb2xsdGUgZGllIGJpbGRlcgpwcnVlZmVuCgplaW4gYnJ1ZWxsZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YmlsZGVyIChBbmFjcmlvbiwgMTguIERleiAyMDA1LCAxODoxNToyNik6Cn4jISBybj1NdWFkaWIgcnQ9MTEzNDkyNjAzNiByZz1wYXJ0eQp+IyEgdGlkPTExMzQ1NjIwNzcKam8uIEtsYXNzZSAqZ2dnZ2dnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHliaWxkZXIgKFpvb2ssIDE4LiBEZXogMjAwNSwgMTg6MzM6MTUpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTEzNDkyNjEyNiByZz1wYXJ0eQp+IyEgdGlkPTExMzQ1NjIwNzcKQWVoaC4uLi4gVmllbGxlaWNodCBlaW4gVGlwOiBXZXIgVmVyd2VjaHNsZXIgZ2VmdW5kZW4gaGF0LCBrYW4gZW50d2VkZXIKbWlyIG9kZXIgR29sZGNhdCBlaW5lIEUtTWFpbCBzZW5kZW4sIGRhbm4gYWt0dWFsaXNpZXJlbiB3aXIgZGVuIEluZGV4LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5YmlsZGVyIChBcmssIDE4LiBEZXogMjAwNSwgMTg6NDQ6MTApOgp+IyEgcm49Wm9vayBydD0xMTM0OTI3MTk1IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDU2MjA3NwpTa2FuZGFsISBLb2ZpIEFuYW4gdG8gdGhlIFJlc2N1ZSEgV2lyIG1hcnNjaGllcmVuIC4uLiBlaG0sIHdoYXRldmVyLiBCaWxkIDcKaXN0IGVpbiBGYWxsIGZ1ZXIgZGllIENJQSwgaWNoIHd1cmRlIGVudGZ1ZWhydCB1bmQgZWluIHNjaGxlY2h0ZXIgU2NoYXVzcGllbGVyCm5hbWVucyBEaW5nZW5zIG5haG0gbWVpbmVuIFBsYXR6IGVpbiEgV28gYml0dGUgcmVpY2hlIGljaCBkaWUgS2xhZ2UgZWluPyA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eWJpbGRlciAoTXVhZGliLCAxOC4gRGV6IDIwMDUsIDE4OjQ0OjQwKToKfiMhIHJuPUFyayBydD0xMTM0OTI3ODUwIHJnPXBhcnR5Cn4jISB0aWQ9MTEzNDU2MjA3NwpkYW5ueSBkZXZpdG8gc3RhbmQgaGFsdCBuaWNodCB6dXIgdmVyZnVlZ3VuZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoR25vbWUsIDEzLiBKYW4gMjAwNiwgMTM6MDE6NDUpOgpoYWxsbyBhbGxlLAoKZGllIGd1dGUgbmFjaHJpY2h0OiBiZXJsaW4gbWFjaHQgZGllIHNvbW1lcnBhcnR5IDIwMDYuCgpkaWUgc2NobGVjaHRlOiB3aXIgaGFiZW4gdGVybWluZmluZHVuZ3NzY2h3aWVyaWdrZWl0ZW4uIHVyc3BydWVuZ2xpY2gKd29sbHRlbiB3aXIgZGllIHdvY2hlIDcuOC4gLSAxMy44LjA2IGRhZnVlciBuZWhtZW4uIG51biBoYWJlIGljaCBnZXJhZGUKZXJmYWhyZW4sIGRhc3MgaW4gTlJXIGluIGRpZXNlciB3b2NoZSBkaWUgc2NodWxlIHdpZWRlciBhbmZhZW5ndCAoYmVpCmdlbGVnZW5oZWl0IG11c3MgbWlyIG1hbCBqZW1hbmQgZXJrbGFlcmVuLCB3aWUgZ2VoaXJuYW1wdXRpZXJ0IG1hbiBzZWluCm11c3MsIGRhbWl0IG1hbiBhbmZhbmcgYXVndXN0IHdpZWRlciBkaWUgc2NodWxlIGFuZmFuZ2VuIGxhc3NlbiBrYW5uLi4uKS4KYW5kZXJlcnNlaXRzIGR1ZXJmZW4gd2lyIGRlbiB0ZXJtaW4gbmljaHQgenUgZnJ1ZWggbGVnZW4sIHVtIGRlbiBzdHVkZW50ZW4KZGllIG1vZWdsaWNoa2VpdCB6dSBnZWJlbiwgaWhyZSByZXN0bGljaGVuIHBydWVmdW5nZW4genUgYWJzb2x2aWVyZW4uCgp3YXMgbnVuPwpnaWJ0IGVzIHVlYmVyaGF1cHQgbm9jaCBzdHVkZW50ZW4gbWl0IGFuc3RlaGVuZGVuIHBydWVmdW5nZW4gZW5kZSBkZXMgU1MKaGllcj8gOikgbWVsZGV0IGV1Y2ggbWFsIGJpdHRlIHp1IHdvcnQsIGRhbWl0IHdpciBkZW4gdGVybWluIGZlc3RuYWdlbG4Ka29lbm5lbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoR3JpbW1ib3JuLCAxMy4gSmFuIDIwMDYsIDEzOjEzOjMyKToKfiMhIHJuPUdub21lIHJ0PTExMzcxNTM3MDUgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CklzdCBkaWUgRnJhZ2UgbmljaHQgZWhlcjogV2lldmllbGUgU2NodWVsZXIgKGF1cyBOUlcpIHd1ZXJkZW4gZGFtaXQgcmVhbCBhbQpQYXJ0eWJlc3VjaCBnZWhpbmRlcnQ/IAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKEJvaW5nLCAxMy4gSmFuIDIwMDYsIDEzOjE5OjQyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTM3MTU0NDEyIHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzE1MzcwNQpEaWUgRnJhZ2UgaXN0IGVoZXI6IFdpZXZpZWxlIExlaHJlciAoYXVzIE5SVykgd3VlcmRlbiBkYW1pdCByZWFsIGFuCmVpbmVtIFBhcnR5YmVzdWNoIGdlaGluZGVydD8KCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKFZhbmhlbHNpbmcsIDEzLiBKYW4gMjAwNiwgMTQ6MTI6MzApOgp+IyEgcm49Qm9pbmcgcnQ9MTEzNzE1NDc4MiByZz1wYXJ0eQp+IyEgdGlkPTExMzcxNTM3MDUKUmljaHRpZy4gRGllIGJlaWRlbiBiZXRyb2ZmZW5lbiBOUlcgTGVocmVyIHNpbmQgamEgYXVmIGplZGVuIEZhbGwgTWlyaWwgdW5kCkh1bW5pLiBEaWUgU2NodWVsZXIgWXVsaSwgTmVmaXMsIEtyc3RmcnMgdW5kIGVpbiBwYWFyIGFuZGVyZW4gZ2FueiB6dQpzY2h3ZWlnZW4uIEljaCBoYWJlIGluIG1laW5lciBBdXNiaWxkdW5nIHZvbSAxNy42LiBiaXMgMTEuOC4gZnJlaS4gQWxzbyB3ZW5uCmRpZSBQYXJ0eSBpbm5lcmhhbGIgZGllc2VzIFJhaG1lbnMgaXN0LCBrb2VubnRlIGljaCBhdWNoIG1pdG9yZ2FuaXNpZXJlbi4gRGEKamEgZGVyIHVyc3BydWVuZ2xpY2hlIFRlcm1pbiB3ZWdmYWVsbHQsIGJsZWlidCBkZXIgWmVpdHJhdW0gYmlzIDYuOC4KCkNVCgpWYW5IZWxzaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzb21tZXJwYXJ0eSAwNiAtIHRlcm1pbmU/IChHbG9pbnNvbiwgMTMuIEphbiAyMDA2LCAxNDoyOToyNSk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExMzcxNTc5NTAgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CkRhcyBTUyBkZXIgSFUgenUgQmVybGluIGdlaHQgYmlzIDIyLiBKdWxpLiBEYW1pdCBlbmRldCBkZXJlbiBTZW1lc3RlciBtaXQKYW5kZXJlbiBVbmlzIGFtIHNwYWV0ZXN0ZW4uIEZ1ZXIgZGllIG1laXN0ZW4gU3R1ZGVudGVuIGlzdCBkaWUgUHJ1ZWZ1bmdzemVpdAplbnR3ZWRlciBpbiBkZW4gendlaSBXb2NoZW4gbmFjaCBVbmktRW5kZSBvZGVyIHdpbGQgdWViZXIgZGllIHZvcmxlc3VuZ3NmcmVpZQpaZWl0IHZlcnRlaWx0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKE11YWRpYiwgMTMuIEphbiAyMDA2LCAxNjozNjozMyk6Cn4jISBybj1Cb2luZyBydD0xMTM3MTU0NzgyIHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzE1MzcwNQpuaWNodCBlaGVyOiB3aWV2aWVsZSBsZWhyZXIgdW5kIHNjaHVlbGVyIGF1cyBOUlcgd3VlcmRlbiBkYW1pdCByZWFsIGFuIGVpbmVtCnBhcnR5YmVzdWNoIGRlciBNb3JnZW5HcmF1ZW4tU29tbWVycGFydHkgZ2VoaW5kZXJ0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoR25vbWUsIDEzLiBKYW4gMjAwNiwgMTc6Mzk6MjIpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMTM3MTU3OTUwIHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzE1MzcwNQoiRGEgamEgZGVyIHVyc3BydWVuZ2xpY2hlIFRlcm1pbiB3ZWdmYWVsbHQsIC4uLiIKCmRhIHdlaXNzdCBkdSBtYWwgd2llZGVyIG1laHIgYWxzIGljaC4gYmlzaGVyIGZhZWxsdCB3ZWRlciBkZXIgZWluZSwKbm9jaCBkZXIgYW5kZXJlIHRlcm1pbiB3ZWcuIHp1bWFsIGljaCB2b24gZGVyIGhlcmJlcmdlIGJpc2hlciBudXIKZnVlciBkaWUgMi4gYXVndXN0d29jaGUgZWluZSBkZWZpbml0aXZlIHp1c2FnZSBoYWJlLgoKYWxzbzogYml0dGUgbm9jaCBuaWNodCBwbGFuZW4gdW5kIGF1Y2ggbWl0IGRlbSB1cmxhdWIgZWlucmVpY2hlbiBkYXJmCm5vY2ggZ2V3YXJ0ZXQgd2VyZGVuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKEtpcmlhLCAxMy4gSmFuIDIwMDYsIDE4OjQwOjIzKToKfiMhIHJuPUdub21lIHJ0PTExMzcxNzAzNjIgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CkRhbm4gbWVsZGUgaWNoIG1pY2ggbWFsIGFscyBha3RpdiBzdHVkaWVyZW5kZXIgTXVkZGVyIChKYSAtIHNvd2FzIGdpYnQncwp3aXJrbGljaCBub2NoKSB6dSBXb3J0OgoKU29tbWVyc2VtZXN0ZXIgZW5kZXQgaW4gREQgYW0gMTcuNy4gKyAyIC0gMyBXb2NoZW4gUHJ1ZWZ1bmdzemVpdCBkYW5uIG5vY2guIApOdXIgbWFsIHNvIGFscyBncm9iZSBaZWl0YW5nYWJlLCBpY2ggc2VsYmVyIGhhYmUgZXZlbnR1ZWxsIGVoIGtlaW5lIFplaXQgaW4KZGVuIEZlcmllbgoKS2lyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKE1pcmlsLCAxMy4gSmFuIDIwMDYsIDE4OjQ0OjM3KToKfiMhIHJuPU11YWRpYiBydD0xMTM3MTY2NTkzIHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzE1MzcwNQpEaWUgQW50d29ydCBpc3Qgc2ltcGVsOiBBbGxlLCBkaWUgbWlyIGJla2FubnQgc2luZC4gVW5kIGZ1ZXIgZWluIFdvY2hlbmVuZGUKbG9obnQgZXMgYXVjaCBuaWNodCwgenVtYWwgZGVyIFNjaHVsamFocmVzYmVnaW5uIG5pY2h0IGdlcmFkZSB1bnN0cmVzc2lnIGlzdC4KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzb21tZXJwYXJ0eSAwNiAtIHRlcm1pbmU/IChNaWV6ZSwgMTMuIEphbiAyMDA2LCAxODo1MDo1Nyk6Cn4jISBybj1NaXJpbCBydD0xMTM3MTc0Mjc3IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzE1MzcwNQoKTWFsIHNvIGFscyBBbnJlZ3VuZzogV2lldmllbGUgU3R1ZGVudGVuL0RvemVudGVuIHd1ZXJkZSBlcyBkcmFuIGhpbmRlcm4sIHp1cgpQYXJ0eSB6dSBrb21tZW4sIHdlbm4gZGVyIFRlcm1pbiAic2NodWxmcmV1bmRsaWNoIiBsYWVnZT8KCk1pZXplIC0gbWFjaHQgbWFsIG5lbiBWb3JzY2hsYWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKEdsb2luc29uLCAxMy4gSmFuIDIwMDYsIDIyOjIwOjIzKToKfiMhIHJuPU1pZXplIHJ0PTExMzcxNzQ2NTcgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CkljaCBnbGF1YmUgZGllIEZyYWdlIHppZWx0ZSBkZXNoYWxiIGVoZXIgYXVmIEZlc3RzdGVsbHVuZyBTY2h1ZWxlcitMZWhyZXIsCndlaWwgZGEgZGVyIEdlZGFua2UgaW4gZGVyIEx1ZnQgc2Nod2VidCwgZGFzcyBNRyBzaWNoIGVpbmVyc2VpdHMgbm9jaCBzZWhyCndlbmlnIGF1cyBkZXIgU2NodWVsZXJncnVwcGUgcmVrcnV0aWVydCB1bmQgYW5kZXJlcnNlaXRzIGdlcmFkZSBTY2h1ZWxlciBuaWNodAp1bmJlZGluZ3QgbWl0IGtvbWlzY2hlbiBhbHRlbiBNZW5zY2hlbiBlaW5lIFdvY2hlIFBhcnR5IGZlaWVybiBmYWhyZW4gc29uZGVybgpob2VjaHN0ZW5zIG1hbCByZWluc2NoYXVlbi4KCk1pciBpc3QgZXMgZWdhbCwgd2VpbCBpY2ggZWJlbnNvIG1hbCBlYmVuIGFtIFdvY2hlbmVuZGUgcmVpbnNjaGF1ZW4ga2FubiAod2llCmltbWVyKS4gV2VubiBtYW4gZXMgd2VtIHJlY2h0bWFjaGVuIHNvbGx0ZSwgZGFubiBkZXIgR3J1cHBlbiB2b24gTGV1dGVuIGRpZQp2b24gQW5mYW5nIGFuIGVpbmUgV29jaGUgVXJsYXViIGRhcmF1ZiB2ZXJwbGFuZW4uIChVbSBlcyBub2NobWFsIHp1CnVudGVyc3RyZWljaGVuOiBkYXMgc2luZCBuaWNodCBkaWUgU3R1ZGVudGVuL1NjaHVlbGVyLCB3ZW5uIGRhbm4gZGllCkFuZ2VzdGVsbHRlbi4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoTXVhZGliLCAxNC4gSmFuIDIwMDYsIDAwOjM2OjE0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMzcxODcyMjMgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CmRhcyBtZyByZWtydXRpZXJ0IHNpY2ggYWt0dWVsbCBuaWNodCBhdXMgZGVyIHNjaHVlbGVyZnJha3Rpb24/CmdpYnQgZXMgZGF6dSBlcmhlYnVuZ2VuPwptaXIgZmllbGUgZWluZSBhdXNzYWdlIGRhenUgc2Nod2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBzb21tZXJwYXJ0eSAwNiAtIHRlcm1pbmU/IChUYXJhbmlzLCAxNC4gSmFuIDIwMDYsIDAxOjMyOjEyKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEzNzE5ODYwNCByZz1wYXJ0eQp+IyEgdGlkPTExMzcxNTM3MDUKTWhtbSwgaWNoIHd1ZXJkZSBkYXJ1ZWJlciBnZXJhZGUgYXVjaCBrZWluZSBBdXNzYWdlIG1hY2hlbiB3b2xsZW4uIEljaCBiaW4KdW5hYmhhZW5naWcgdm9uIHNjaHVsZmVyaWVuLiBBYmVyIGRhcyBnaWx0IG5pY2h0IGZ1ZXIgSHVtbmksIE1pcmlsLCBZdWxpLApLcnN0ZnJzIHVuZCBOZWZpcyAodm9uIGRpZXNlbiB3ZWlzcyBpY2gsIGRhc3Mgc2llIFNjaHVlbGVyIG9kZXIgTGVocmVyIGluIE5SVwpzaW5kKS4gVW5kIHNvd2VpdCBpY2ggd2Vpc3MsIGlzdCBkYXMgc2Nob24gZWluIG5pY2h0IHVuZXJoZWJsaWNoZXIgVGVpbCBkZXIKYXVzIE5SVyBrb21tZW5kZW4gYWt0aXZlbiBNRy1TcGllbGVyLiBXZW5uIGVzIGFscyBpcmdlbmR3aWUgZ2VodCwgd3VlcmRlIGljaAphdWNoIGVpbmVuIGZydWVoZXJlbiBUZXJtaW4gdm9yemllaGVuLCBzY2hvbiBhbGxlaW4sIHdlaWwgaWNoIGRpZSBnZW5hbm50ZW4KTGV1dGUgYXVmIGVpbmVyIFNvbW1lcnBhcnR5IGdlcm5lIHRyZWZmZW4gbW9lY2h0ZS4KVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKFZhbmhlbHNpbmcsIDE0LiBKYW4gMjAwNiwgMTQ6MzI6MjApOgp+IyEgcm49VGFyYW5pcyBydD0xMTM3MTk4NzMyIHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzE1MzcwNQpJY2ggZGVua2UgYXVjaCwgZGFzcyBNRyBkaWUgU2NodWVsZXIgbmljaHQgImJlbmFjaHRlaWxpZ2VuIiBzb2xsdGUuIFNpZQp3dWVyZGVuIGdhbnogc2ljaGVyIGF1Y2ggZ2VybiB6dSBlaW5lciBTb21tZXJwYXJ0eSBmYWhyZW4uIERpZSBzaW5kIGRvY2ggaW1tZXIKZWluIEVyZWlnbmlzLiBWb24gZGVyIFRhdHNhY2hlLCBkYXNzIGRpZXNlciBUZXJtaW4sIGRlciAyLiBBdWd1c3R3b2NoZSwgYXVjaApNaXJpbCB1bmQgSHVtbmkgdm9uIGRlciBQYXJ0eSBhdXNzY2hsaWVzc2VuIHd1ZXJkZS4KClVuZCBHbm9tZSwgaWNoIGhhYmUgZGFzIG51ciB2b24gZGVyIFNlaXRlIGdlc2VoZW4sIGRhc3MgZGVyIFRlcm1pbiBtb2VnbGljaHN0CnZpZWxlbiBwYXNzdC4gRGEgZGVyIFRlcm1pbiBqYSBub2NoIG5pY2h0IGZlc3Qgc3RlaHQsIGthbm4gbWFuIGphIHNjaG9ubWFsCnNhZ2VuLCBkYXNzIGRpZSAyLiBBdWd1c3R3b2NoZSBhbHMgdW5wcmFrdGlzY2ggZWluenVzdHVmZW4gaXN0LiBBbmdlc3RlbGx0ZQpoYWJlbiBkaWUgTW9lZ2xpY2hrZWl0IGlocmVuIFVybGF1YiAiYmVsaWViaWciIChpbiBnZXdpc3NlbiBHcmVuemVuLCBrbGFyKSB6dQpzZXR6ZW4uIFNjaHVlbGVyL0xlaHJlci9TdHVkZW50ZW4ga29lbm5lbiBkYXMgbmljaHQsIHdpZSBkdSBiZXN0aW1tdCB3ZWlzc3QuCkRpZSBoYWJlbiBudW5tYWwgZ2FueiBmZXN0ZSBaZWl0ZW4sIGFuIGRlbmVuIHNpZSBmcmVpIGhhYmVuLiBJY2ggaGFiZSBtZWluZQpmcmVpZSBaZWl0IGdlbmFubnQsIHVuZCBpY2gga2FubiBudXIgaG9mZmVuLCBkYXNzIGRpZSBhdWNoIGJlcnVlY2tzaWNodGlndAp3aXJkLgoKU28uIERhcyBzb2xscyBlcnN0bWFsIHdpZWRlciBnZXdlc2VuIHNlaW4uCgpDVQoKVmFuSGVsc2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKEdyaW1tYm9ybiwgMTQuIEphbiAyMDA2LCAxNDozNjo1Nyk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExMzcyNDU1NDAgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CkFsc28gZWhybGljaCwgbWlyIHR1biBkaWUgZ2FuemVuIFNjaHVlbGVyIHVuZCBMZWhyZXIsIGRlcmVuIDEyIFdvY2hlbiBVcmxhdWIKaW0gSmFociBzbyBmZXN0Z2VrbG9wZnQgc2luZCBmYXN0IGdlbmF1c28gbGVpZCB3aWUgZGllIFN0dWRlbnRlbiBtaXQgaWhyZW4KZml4aWVydGVuIDI0IFdvY2hlbi4gV2FzIGJpbiBpY2ggdWViZXIgbWVpbmUgaGVycmxpY2ggZmxleGlibGVuIDYgV29jaGVuIGRvY2gKZ2x1ZWNrbGljaC4uLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKEphZGF3aW4sIDE0LiBKYW4gMjAwNiwgMTQ6Mzg6MjMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzcyNDU4MTcgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CkVzIGdlaHQgamEgbmljaHQgZGFydW0sIHdlciBlcyBfYmVzc2VyXyBoYXQuIFVuZCBkYXNzIFNjaHVlbGVyIGlocmUgZnJlaWUgWmVpdAplYmVuIG5pY2h0IGZlc3RsZWdlbiBrb2VubmVuIGlzdCBudW4gbWFsIGVpbiBGYWt0LgpKYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoT3JrdG9ldGVyLCAxNC4gSmFuIDIwMDYsIDE0OjM5OjI5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTM3MjQ1ODE3IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzE1MzcwNQpIYXN0IGR1IGRhcyBHcnVuZHN0dWRpdW0gc2Nob24gdmVyZ2Vzc2VuPyAyNCBXb2NoZW4gVXJsYXViPyBWb24gZGVuIFByYXRpa2EgaW4KZGVyIFZvcmxlc3VuZ3NmcmVpZW4gWmVpdCB3ZWlzc3QgZHUgYXVjaCBuaWNodHMgbWVociwgb2Rlcj8KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoR3JpbW1ib3JuLCAxNC4gSmFuIDIwMDYsIDE0OjQ4OjQ5KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTM3MjQ1OTY5IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzE1MzcwNQpIaWVyIHNpbmQgdWViZXJ3aWVnZW5kIEdlaXN0ZXN3aXNzZW5zY2hhZnRsZXIsIGJlaSBkZW5lbiBnaWJ0cyBzb3dhcyBuaWNodC4KClVuZCB3ZW5uIER1IGRlbiBBcnRpa2VsIHNjaG9uIG5pY2h0IHZlcnN0ZWhzdDogV2FydW0gaGFzdCBEdSBkaWUgS29uZmVyZW56ZW4KdW5kIFZvcmJlcmVpdHVuZ2VuIGRlciBMZWhyZXIgbmljaHQgZXJ3YWVobnQ/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBzb21tZXJwYXJ0eSAwNiAtIHRlcm1pbmU/IChHbm9tZSwgMTQuIEphbiAyMDA2LCAxNzowNDo0NCk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExMzcyNDU1NDAgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CiIuLi5rYW5uIG1hbiBqYSBzY2hvbm1hbCBzYWdlbiwgZGFzcyBkaWUgMi4gQXVndXN0d29jaGUgYWxzIHVucHJha3Rpc2NoCiBlaW56dXN0dWZlbiBpc3QuIgoKZGEgd2Vpc3N0IGR1IHNjaG9uIHdpZWRlciBtZWhyIGFscyBpY2guIHNpZSBpc3QgZXJzdCBfZGFubl8gYWxzIGFsbGdlbWVpbgp1bnByYWt0aXNjaCBlaW56dXN0dWZlbiwgd2VubiBmZXN0c3RlaHQsIGRhc3MgenUgZGllc2VtIHRlcm1pbiBkZXV0bGljaAptZWhyIG11ZGRlciB2ZXJoaW5kZXJ0IHd1ZXJkZW4gYWxzIHp1IGRlbSB0ZXJtaW4gZGVyIHdvY2hlIGRhdm9yLgoKdW5kIHVtIGRhcyBoZXJhdXN6dWJla29tbWVuLCBtb2VjaHRlIGljaCBkaWUgbXVkZGVyIGJpdHRlbiBzaWNoIGhpZXIKenUgd29ydCB6dSBtZWxkZW4sIGRpZSBlbnR3ZWRlciB2b20gZWluZW4gb2RlciB2b20gYW5kZXJlbiB0ZXJtaW4KJ2JldHJvZmZlbicgd2FlcmVuLCBkYW1pdCBpY2ggcXVhbnRpdGF0aXYgYWJ3YWVnZW4ga2Fubi4KCmljaCBnZWIgZGVuIGxldXRlbiBub2NoIDIgd29jaGVuIHplaXQgdW5kIGVuZGUgamFudWFyIHdpcmQgZGFubiBlbnRzY2hpZWRlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoSHVtbmksIDE0LiBKYW4gMjAwNiwgMTc6MDY6NDgpOgp+IyEgcm49R25vbWUgcnQ9MTEzNzI1NDY4NCByZz1wYXJ0eQp+IyEgdGlkPTExMzcxNTM3MDUKQmV2b3IgRHUgbWlyIGtlaW5lIFplaXQgbWVociBnaWJ0czogSUNIISBCSU4hIEJFVFJPRkZFTiEgOy0pCgooV3VyZGUgendhciBzY2hvbiBnZXNhZ3QsIGFiZXIgaWNoIHdpZWRlcmhvbGUgZGFzIGF1Y2gpLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBzb21tZXJwYXJ0eSAwNiAtIHRlcm1pbmU/IChUYXJhbmlzLCAxNC4gSmFuIDIwMDYsIDE3OjE2OjQyKToKfiMhIHJuPUdub21lIHJ0PTExMzcyNTQ2ODQgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1Ck1obW0sIHdlbm4gRHUgTWVsZHVuZ2VuIHp1IGJlc3RpbW10ZW4gVGVybWluZW4gd2lsbHN0ICgiLi4uIGRpZSBlbnR3ZWRlciB2b20KZWluZW4gb2RlciB2b20gYW5kZXJlbiB0ZXJtaW4gJ2JldHJvZmZlbicgd2FlcmVuLC4uLiIpIHNvbGx0ZXN0IER1IHZpZWxsZWljaHQKZXJzdG1hbCBuZW5uZW4sIHdlbGNoZSBUZXJtaW5lIGJ6dy4gS2FsZW5kZXJ3b2NoZW4gdWViZXJoYXVwdCBpbiBGcmFnZSBrb21tZW4sCmRlbm4gc28ga2FubiBtYW4gbnVyIHNwZWt1bGllcmVuLCBkYXNzIGVzIHNpY2ggYmVpIGRlbSBhbmRlcmVuIFRlcm1pbgp2ZXJtdXRsaWNoIHVtIGRpZSBXb2NoZSB2b3IgZGVtIDcuOC4gaGFuZGVsdC4KVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKEdub21lLCAxNC4gSmFuIDIwMDYsIDE3OjIwOjI4KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEzNzI1NTQwMiByZz1wYXJ0eQp+IyEgdGlkPTExMzcxNTM3MDUKb2gsIGljaCBkYWNodGUsIGRhc3MgZGFzIG1pdGxlcndlaWxlIGtsYXJnZXdvcmRlbiB3YWVyZS4KCmFiZXIgZ3V0LiBub2NobWFsOgoKMS4gVGVybWluOiAzMS4wNy4gLSAwNi4wOC4wNiAocGFydHkgZGFubiBhbSAwNS4wOC4wNikKMi4gVGVybWluOiAwNy4wOC4gLSAxMy4wOC4wNiAocGFydHkgZGFubiBhbSAxMi4wOC4wNikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoTHVnLCAxNC4gSmFuIDIwMDYsIDE3OjIwOjMyKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEzNzI1NTQwMiByZz1wYXJ0eQp+IyEgdGlkPTExMzcxNTM3MDUKTGVndCBkaWUgUGFydHkgZG9jaCBpbiBkZW4gSnVsaS4gRGFubiB3YWVyZSBkaWUgRmVzdGl2YWxzYWlzb24gbWFsIGZyZWluIDspCgpTZW5mCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IHNvbW1lcnBhcnR5IDA2IC0gdGVybWluZT8gKFZhbmhlbHNpbmcsIDE3LiBKYW4gMjAwNiwgMTc6NDY6MjgpOgp+IyEgcm49THVnIHJ0PTExMzcyNTU2MzIgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1Ckh1aHUsCgppY2ggd29sbHRlIG1hbCBuYWNoZnJhZ2VuLCBvYnMgc2Nob24gbmUgZW5nZXJlIEVudHNjaGVpZHVuZyB1ZWJlciBkZW4gVGVybWluCmdpYnQ/IEhpZXIgaXN0IGVzIGphIHNjaG9uIG5lIFdlaWxlIGV0d2FzIHJ1aGlnLgpXZW5uIHdpciB1bnMgZGFyYXVmIGdlZWluaWd0IGhhYmVuLCBrb2VubnRlIG1hbiBtaXQgZGVyIFBsYW51bmcgYW5mYW5nZW4uClVuZCBub2NobWFsIG1laW5lIE1laW51bmc6CkRhcyBmZWhsZW4gdm9uIGJpcyB6dSA1IGFrdGl2ZShyZSluIE11ZGRlcm4gaXN0IGZ1ZXIgbWljaCBzY2hvbiBlaW4gR3J1bmQKZ2VnZW4gZGllIDIuIEF1Z3VzdHdvY2hlLiBBYmVyIGRhcyBpc3QgbnVyIG1laW5lIE1laW51bmcuCgpDVQoKVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBzb21tZXJwYXJ0eSAwNiAtIHRlcm1pbmU/IChLaXJpYSwgMTcuIEphbiAyMDA2LCAxNzo1OTo1MSk6Cn4jISBybj1MdWcgcnQ9MTEzNzI1NTYzMiByZz1wYXJ0eQp+IyEgdGlkPTExMzcxNTM3MDUKSW50ZXJlc3NhbnQsIGRhc3MgMyBUYWdlIHNjaG9uICduZSBXZWlsZScgc2luZC4KClp1IGRlciBaYWhsIHZvbiA1IGFrdGl2ZW4gTXVkZGVybiwgZGllIGZlaGxlbiB3dWVyZGVuLiBJbmtsdXNpdmUgbWljaCBzaW5kIGVzCnouQi4gMyBNdWRkZXIgYXVzIERyZXNkZW4sIGRpZSBhdWYgZGVuIGxldHp0ZW4gU29tbWVycGFydGllcywgZGllIHp1CnN0dWRlbnRlbmZyZXVuZGxpY2hlbiBUZXJtaW4gbGllZ2VuLCBkYSB3YXJlbi4uLgpBYmVyIGFuIHNpY2ggc29sbHRlIG1hbiB3b2hsIG5hY2ggZGVuIExldXRlbiBnZWhlbiwgZGllIHNpY2ggaGllciBtZWxkZW4gdW5kCmRhCnNwcmljaHQgYmlzaGVyIHdvaGwgYWxsZXMgZnVlciBkZW4gZnJ1ZWhlcmVuIFRlcm1pbi4gSmVkZW5mYWxscyBlcmlubmVyZSBpY2gKbWljaCBuaWNodCBhbiBlcm5zdHp1bmVobWVuZGUgR2VnZW5tZWxkdW5nZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogc29tbWVycGFydHkgMDYgLSB0ZXJtaW5lPyAoQ2Fzc2FuZHJhLCAxNy4gSmFuIDIwMDYsIDE4OjA0OjM3KToKfiMhIHJuPUtpcmlhIHJ0PTExMzc1MTcxOTEgcmc9cGFydHkKfiMhIHRpZD0xMTM3MTUzNzA1CkdhYiBlcyBkZW4gdWViZXJoYXVwdCBzY2hvbiBTdGltbWVuIGRpZSBmdWVyIGRlbiBzcGFldGVyZW4gVGVybWluIHNwcmFjaGVuPyAKSWNoIG1laW5lIGdlbGVzZW4genUgaGFiZW4gZGFzIEJyaWVzZWxhbmcgYmlzaGVyIG51ciB3ZWdlbiBkZXIgendlaXRlbgphdWd1c3R3b2NoZSBuZSB6dXNhZ2UgZ2VtYWNodCBoYXQgZGFzIFBsYXR6IGlzdCwgd3VyZGUgZGllIGVyc3RlIEF1Z3VzdHdvY2hlCmRlbiBiaXNoZXIgYW5nZWZyYWd0Pwp3ZW5uIHdyZGUgZXMgYmV0cmVmZmVuIGRhcyBlci9zaWUgaW4gZGVyIGVyc3RlbiB3b2NoZSBuaWNodCBrYW5uPwoKQ2Fzc3kKClAuUy4gbWlyIHBlcnNvZW5saWNoIHdhZXJlbiBiZWlkZSBUZXJtaW5lIHJlY2h0LCBzb3dlaXQga2FubiBpY2ggZWggaW0gbW9tZW50Cm5pY2h0IHBsYW5lbi4gd2FlcmUgYWJlciBzY2hhZGUgd2VubiBtYW4gbmVuIFRlcm1pbiB3YWVobHQgd28gbWFuIHdlaXMgZGFzCmVpbmlnZSBuaWNodCBrb2VubmVuIHdlbm5zIGF1Y2ggYW5kZXJzIGdlaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVybWluIFNvbW1lcnBhcnR5IDIwMDYgKENhc3NhbmRyYSwgMjAuIEphbiAyMDA2LCAxODoyODo1OSk6Cn4jISBybj1Hbm9tZSBydD0xMTM3NzYwOTU3IHJnPXBhcnR5Cn4jISB0aWQ9MTEzNzc2MDk1NwpQYXJ0eSwgRnJldQoKV2lyZCBnbGVpY2ggaW4gZGVuIEthbGVuZGVyIGVpbmdldHJhZ2VuLgoKQ2Fzc3ksIGJlZGFua3Qgc2ljaCBzY2hvbiBtYWwgdm9yYWIgYmVpIGRlciBPcmdhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVybWluIFNvbW1lcnBhcnR5IDIwMDYgKFNoYWtlZGJlZXIsIDIxLiBKYW4gMjAwNiwgMjI6MjE6NTApOgp+IyEgcm49R25vbWUgcnQ9MTEzNzc2MDk1NyByZz1wYXJ0eQp+IyEgdGlkPTExMzc3NjA5NTcKV28gc2luZCBkaWUgUGFydHlicmV0dGVyPwoKU2hha3kgLSBtb2VjaHRlLCBkYXNzIGVzIFNvbW1lciB3aXJkLiBTb2ZvcnQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5YmlsZGVyIChab29rLCAgMS4gRmViIDIwMDYsIDE0OjA1OjU2KToKfiMhIHJuPVpvb2sgcnQ9MTEzNDkyNTMwMiByZz1wYXJ0eQp+IyEgdGlkPTExMzQ1NjIwNzcKRXR3YXMgc2NoYWVyZmVyZSBCaWxkZXIgZ2lidCBlcyBudW4gdm9uIENoYWdhbGwgenUgYmV3dW5kZXJuLiBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUXVlc3RiZXNjaHJlaWJ1bmdlbiAoWmFwaG9iLCAgNC4gQXByIDIwMDYsIDE5OjI5OjAyKToKSGFsbG8gTGV1dGUhCgpBdWYgZGVyIGVpbmVuIG9kZXIgYW5kZXJlbiBNRy1QYXJ0eSBnYWIgZXMgR2VydWVjaHRlbiB6dWZvbGdlIGVpbmlnZSBRdWVzdHMgenUKYmVzdGF1bmVuIHVuZCBiZXNwaWVsZW4uIElzdCBkYXMgdmllbGxlaWNodCBoaWVyIHVuZCBkYSBtYWwgb25saW5lCmRva3VtZW50aWVydCB3b3JkZW4/IAoKV2lyIHBsYW5lbiBkZW1uYWVjaHN0IGZ1ZXIgZWluIGFuZGVyZXMgT25saW5lc3BpZWwodG0pIGVpbgpncm9lXmheaF5oXmhrbGVpbmVyZXMgVHJlZmZlbiwgd28gaWNoIHZpZWxsZWljaHQgYXVjaCBzbyBldHdhcyBhbmxlaWVybgptb2VjaHRlIQoKSmVkd2VkZSBMaW5rcywgSGlsZmVuLCBndXRlIFJhdHNjaGxhZWdlIHZvbiBSTC1RdWVzdC1TcGllbGVybiB1bmQvb2RlciBhdWNoCmRlcmVuIE1hZ2llcm4ga29lbm50IGlociBlaW5mYWNoIGhpZXIgZHJ1bnRlciB0YWNrZXJuLi4uCkRpZSBsZXMgaWNoIGRhbm4gZ2VybmUgZHVyY2ghIDtvKQoKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0YmVzY2hyZWlidW5nZW4gKE1haGFyZXQsICA0LiBBcHIgMjAwNiwgMjI6MzI6MDcpOgp+IyEgcm49WmFwaG9iIHJ0PTExNDQxNzE3NDIgcmc9cGFydHkKfiMhIHRpZD0xMTQ0MTcxNzQyCkd1Y2sgZG9jaCBtYWwgaW0gQXJjaGl2LiBFcyBnYWIgZWluZSB6aWVtbGljaCBndXRlIEJlc2NocmVpYnVuZyB2b24gZGVyIFF1ZXN0CmluIEhhdHRpbmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IDA2IC0gSW5mb3MgKEdub21lLCAxMC4gQXByIDIwMDYsIDE1OjAyOjI0KToKaGFsbG8gYWxsZSwKCmVuZGxpY2ggaGFiZW4gd2lyIGVzIGdlc2NoYWZmdCwgYWxsZSBub3R3ZW5kaWdlbiBpbmZvcyB6dXNhbW1lbnp1dHJhZ2VuCnVuZCAtIG5vY2ggaW0gYWx0ZW4gd2ViZGVzaWduIC0gZXVjaCB6dXIgdmVyZnVlZ3VuZyB6dSBzdGVsbGVuLCB1bnRlcjoKCiAgICAgICAgICAgICAgICAgICAgd3d3LnRydmVzLmRlL3BhcnR5MDYvcGFydHkwNi5odG1sCgp3ZW5uIGVzIG5vY2ggZnJhZ2VuL2lkZWVuIGdpYnQ6IGJpdHRlIHBlciBtYWlsIGFuIGd1YXJkIG9kZXIgbWljaC4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgMDYgLSBJbmZvcyAoR3VhcmQsIDEzLiBBcHIgMjAwNiwgMTY6Mzg6MjQpOgp+IyEgcm49R25vbWUgcnQ9MTE0NDY3NDE0NCByZz1wYXJ0eQp+IyEgdGlkPTExNDQ2NzQxNDQKQXVmIGRlciBTZWl0ZSBzaW5kIGpldHp0IGF1Y2ggQmlsZGVyIHZvbSBncm9zc2VuIHVuZCB2b20ga2xlaW5lbiBCaWVya3J1ZyB6dQpzZWhlbiwgZGllIElociBiZXN0ZWxsZW4ga29lbm50LgoKR3VhcmQKLi4KKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSAwNiAtIEluZm9zIChNYWhhcmV0LCAxMy4gQXByIDIwMDYsIDIyOjU3OjA3KToKfiMhIHJuPUd1YXJkIHJ0PTExNDQ5MzkxMDQgcmc9cGFydHkKfiMhIHRpZD0xMTQ0Njc0MTQ0CklzdCBkZXIgQXVmZHJ1Y2sgc3B1ZWxtYXNjaGluZW5mZXN0PwoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSAwNiAtIEluZm9zIChHbG9pbnNvbiwgMTkuIEFwciAyMDA2LCAwOTo0NjoxMCk6Cn4jISBybj1HdWFyZCBydD0xMTQ0OTM5MTA0IHJnPXBhcnR5Cn4jISB0aWQ9MTE0NDY3NDE0NApXaXJkIGRlciBTY2hyaWZ0enVnIGF1Y2ggcGVyc29uYWxpc2llcnQgb2RlciBibGVpYnQgZXMgYmVpIGRlbSBMb2dvIGFsbGVpbj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAwNiAtIEluZm9zIChHbm9tZSwgMTkuIEFwciAyMDA2LCAxNjozNTowMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTQ1NDMyNzcwIHJnPXBhcnR5Cn4jISB0aWQ9MTE0NDY3NDE0NApkYXMgaGF0dGVuIHdpciB2ZXJnZXNzZW4genUgZXJ3YWVobmVuLiB3aXIgd2VyZGVuIGVpbmUgcGVyc29uYWxpc2llcnVuZwphbiBkZW4gdGFzc2VuL2JpZXJrcnVlZ2VuIHZvcm5laG1lbiwgdW5kIHp3YXIgYXVmIGZvbGdlbmRlIHdlaXNlOgoKLSB3ZXIgZWluZSB0YXNzZS9iaWVya3J1ZyBvaG5lIHdlaXRlcmVuIGtvbW1lbnRhciBiZXN0ZWxsdCwgYmVrb21tdAogIGVpbiAiTmFtZUAiIHVlYmVyIGRlbiBzY2hyaWZ0enVnLCBzbyBkYXNzIG1hbiBkYW5uIHouQi4gbGVzZW4KICBrYW5uOiAiRG9lZGVsQEJyaWVzZWxhbmciLgotIHdlciBldHdhcyBhbmRlcmVzIGFscyAiTmFtZUAiIGhhYmVuIG1vZWNodGUsIG11c3MgZGllcyBhdXNkcnVlY2tsaWNoCiAgaW4gZGllIGJlc3RlbGx1bmcgbWl0IGhpbmVpbnNjaHJlaWJlbi4gYml0dGUgYWNodGV0IGRhYmVpIGRhcmF1ZiwKICBkYXNzIGV1cmUgcGVyc29uYWxpc2llcnVuZyBuaWNodCB6dSBsYW5nIHdpcmQuIHJvbWFuZSB3ZXJkZW4gYWxzbwogIGlnbm9yaWVydC4KLSB3ZXIgS0VJTkUgcGVyc29uYWxpc2llcnVuZyBoYWJlbiB3aWxsLCBtdXNzIGRpZXMgYXVzZHJ1ZWNrbGljaAogIGluIGRlciBiZXN0ZWxsdW5nIG1pdGFuZ2ViZW4uCgpwZXJzb25hbGlzaWVydW5nZW4ga29zdGVuIG5pY2h0cyBleHRyYS4gZXMgZ2lsdCBkaWUgamV3ZWlscyB6dWxldHp0Cmdlc2VuZGV0ZSBtYWlsIGFuIHVuc2VyZW4gdGFzc2Vua25lY2h0IFRydWViZXRhc3NlIGFscyB2ZXJiaW5kbGljaC4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgV2VnIGF1cyBNdWVuY2hlbiAoR29yb2csIDIyLiBNYWkgMjAwNiwgMTA6MTA6NTcpOgpNb2lucwpTZWx0c2FtZSBCZWdlYmVuaGVpdGVuIGhhYmVuIG1pY2ggbmFjaCBNdWVuY2hlbiB2ZXJzY2hsYWdlbi4gTGVpZGVyIHZlcmhpbmRlcm4KZGllIG1laW5lIEFud2VzZW5oZWl0IGluIEJyaWVzZWxhbmcgd2FlaHJlbmQgZGVyIFdvY2hlLiBBYmVyIGljaCBoYXR0ZSB2b3IgYW0KRnJlaXRhZyBvZGVyIHNwYWV0ZXN0ZW5zIGFtIFNhbXN0YWcgZG9ydCBhdWZ6dXNjaGxhZ2VuLiBFbnR3ZWRlciBmYWhyIGljaCBwZXIKWnVnIG9kZXIgZXMgZmluZGVuIHNpY2ggbmV0dGUgTGV1dGUgaW0gVW1rcmVpcyB2b24gTXVlbmNoZW4gKy8tIHggS2lsb21ldGVyCmRpZSBub2NoIGVpbmVuIFBsYXR6IGltIEF1dG8gZnJlaSBoYWV0dGVuLiBGYWxscyBqYSwgZWluZmFjaCBtYWwgbWVsZGVuLgpWaWVsZW4gRGFuayBmdWVyIGRpZSBBdWZtZXJrc2Fta2VpdCAoOwoKbWZHb3JvZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciBXZWcgYXVzIE11ZW5jaGVuIChNdWFkaWIsIDIyLiBNYWkgMjAwNiwgMTU6MjY6MTkpOgp+IyEgcm49R29yb2cgcnQ9MTE0ODI4NTQ1NyByZz1wYXJ0eQp+IyEgdGlkPTExNDgyODU0NTcKaWNoIHd1ZXJkZSBkaWNoIG1pdG5laG1lbgp2b24gYnV4dGVodWRlIGF1cwppY2ggZnVlcmNodGUgZGFzIGhpbGZ0IGRpciBuaWNodCB3ZWl0ZXIsIHdlaWwgeCB6dSBncm9zcyBpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVyIFdlZyBhdXMgTXVlbmNoZW4gKE1lc2lyaWksIDIyLiBNYWkgMjAwNiwgMTU6Mjk6MDkpOgp+IyEgcm49TXVhZGliIHJ0PTExNDgzMDQzNzkgcmc9cGFydHkKfiMhIHRpZD0xMTQ4Mjg1NDU3ClJhZ25hcm9layB3b2xsdGUgdmllbGxlaWNodCBrb21tZW4sIGRlciBrb21tdCBhdXMgZGVyIEdlZ2VuZCB2b24gTXVlbmNoZW4sCmZyYWcgZG9jaCBtYWwgbmFjaC4KCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciBXZWcgYXVzIE11ZW5jaGVuIChHb3JvZywgMjIuIE1haSAyMDA2LCAxNzowMjoxMyk6Cn4jISBybj1NZXNpcmlpIHJ0PTExNDgzMDQ1NDkgcmc9cGFydHkKfiMhIHRpZD0xMTQ4Mjg1NDU3CkJ1eHRlaHVkZSwgaG1tIGhtbSwgc2VociB2ZXJsb2NrZW5kLiBJY2ggZ2xhdWIgaWNoIGhhdHRlIGRhIG1hbCBuZSBUYW50ZSAoOwpBYmVyIGRhcyBpc3QgdmllbGxlaWNodCBkb2NoIGV0d2FzIHdlaXQgd2VnICg7CgptZkdvcm9nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAwNiAtIEluZm9zIChQZXJkaXRhLCAgNS4gSnVuIDIwMDYsIDIxOjAyOjU0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE0NDk2MTgyNyByZz1wYXJ0eQp+IyEgdGlkPTExNDQ2NzQxNDQKaWNoIHZlcm1pc3NlIGltbWVyIG5vY2ggZGllIEFudHdvcnQgYXVmIE1haGFyZXRzIEZyYWdlLCBvYiBkaWUgUGFydHl0YXNzZQpzcHVlbG1hc2NoaW5lbmZlc3QgaXN0LgpJc3Qgc2llIG9kZXIgaXN0IHNpZSBuaWNodD8KUGVyZGl0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGFydHltdWZmZWw/IChHbm9tZSwgMTkuIEp1biAyMDA2LCAxNDozODozMCk6CmhhbGxvLAoKd2lyIGhhYmVuIGVzIG51biA2IHdvY2hlbiB2b3IgZGVyIHNvbW1lcnBhcnR5IHVuZCBlcyBoYWJlbiBzaWNoIGJpc2hlcgoyOCBsZXV0ZSBhbmdlbWVsZGV0LiBkYXMgaXN0IHdlaXQgd2VuaWdlciBhbHMgZXJ3YXJ0ZXQuCmRhIGljaCBkZXIgaGVyYmVyZ2UgYmFsZCBrb25rcmV0ZSB6YWhsZW4gbWVsZGVuIG11c3MsIHd1ZXJkZSBpY2ggYWxsCmRpZWplbmlnZW4sIGRpZSB6d2FyIHZvcmhhYmVuIHp1IGtvbW1lbiwgc2ljaCBhYmVyIG5vY2ggbmljaHQgYW5nZW1lbGRldApoYWJlbiwgYml0dGVuLCBzaWNoIHJlbGF0aXYgemVpdG5haCBhbnp1bWVsZGVuLgoKZGVyIHplaXRwdW5rdCBkZXIgZGVhZGxpbmUgYmxlaWJ0IG5hdHVlcmxpY2ggYmVzdGVoZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhcnR5bXVmZmVsPyAoRGFya2xvciwgMTkuIEp1biAyMDA2LCAyMTowNTozNyk6Cn4jISBybj1Hbm9tZSBydD0xMTUwNzIwNzEwIHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApBbHNvIHdpcmQgZXMgZGllc21hbCBuaWNoIG1vZWdsaWNoIHNlaW4genUga29tbWVuLCB3ZW5uIG1hbiBuaWNoIGFuZ2VtZWxkZXQKaXM/IC0gWnUgd2VuaWcgUGxhdHo/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBhcnR5bXVmZmVsPyAoVmVjdG9yLCAxOS4gSnVuIDIwMDYsIDIxOjA2OjM3KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDc0MzkzNyByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKbnVyIGVpbmVuIHRocmVhZCBpbiBkZXIgbXBhIG9obmUgbmVuIGR1bW1zdWVsei1zdGFlbmtlci1wb3N0IHZvbiBkaXIKbnVyIGVpbmVuLiBoYWNoIHdhcyB3YWVyIGRhcyBzY2hvZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXJ0eW11ZmZlbD8gKERhcmtsb3IsIDE5LiBKdW4gMjAwNiwgMjE6MTA6NDApOgp+IyEgcm49VmVjdG9yIHJ0PTExNTA3NDM5OTcgcmc9cGFydHkKfiMhIHRpZD0xMTUwNzIwNzEwCkhtbT8gLSBEYXMgd2FyIG5lIGVjaHRlIEZyYWdlLCBrZWluIFN0YWVua2Vybi4gLSB1bmQgd2VubiBEdSBlcyBmdWVyIGR1bW1lcwpHZXN1ZWx6ZSBoYWVsc3QsIG11c3N0IER1IGphIG5pY2ggYXVjaCBub2NoIERlaW5lbiBTZW5mIGRhenUgZ2ViZW4sIHdlbm4gZXMKZGllIEZyYWdlIG5pY2ggYmVhbnR3b3J0ZXQuIAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGFydHltdWZmZWw/IChWYW5oZWxzaW5nLCAxOS4gSnVuIDIwMDYsIDIxOjE0OjAyKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDc0NDI0MCByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKSWNoIHdlaXNzIHp3YXIgbmljaHQsIHdpZSBlcyBHbm9tZSBnZW5hdSBnZW1laW50IGhhdCwgYWJlciBpY2ggd3VlcmRlIHNvCmRldXRlbjoKCkVyIGJpdHRldCBkYXJ1bSwgZGFzcyBzaWNoIGRpZSBMZXV0ZSwgZGllIGhpbndvbGxlbiwgYW5tZWxkZW4sIGRhbWl0IGVyIG5pY2h0CmNhLiAzMCBUZWlsbmVobWVyIGFuZ2lidCwgdW5kIGRhbm4ga29tbWVuIGRvY2ggNTAgKGFsc28gMjAgdW5hbmdlbWVsZGV0ZSkuCkRhcyBpc3Qgd2VnZW4gZGVyIFBsYW51bmcgd2ljaHRpZy4KCkFiZXIgZGFzIGlzdCBudXIgbWVpbmUgRGV1dHVuZy4KCkNVClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBwYXJ0eW11ZmZlbD8gKE1haGFyZXQsIDE5LiBKdW4gMjAwNiwgMjI6NTY6MjgpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMTUwNzQ0NDQyIHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApFYmVuLCBkYW5uIGdpYnQgZXMgbmFlbWxpY2ggdGF0c2FlY2hsaWNoIHp1IHdlbmlnIFBsYXR6LCB3ZWlsIGVudHNwcmVjaGVuZAp3ZW5pZyBnZWJ1Y2h0IHdpcmQgOykKCldhcyBpc3QgZGVubiBudW4gZWlnZW50bGljaCBtaXQgZGVyIEdlc2NoaXJyc3B1ZWxlcnRhdWdsaWNoa2VpdCBkZXIgVGFzc2VuIHVuZApLcnVlZ2U/ICBJZ25vcmllcnQgSWhyIGRpZXNlIEZyYWdlIGFic2ljaHRsaWNoLCBsaWViZSBPcmdhLVRlYW1sZXI/CgpNYWhhcmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwYXJ0eW11ZmZlbD8gKE9ya3RvZXRlciwgMTkuIEp1biAyMDA2LCAyMzowNTo1OCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA3NTA1ODggcmc9cGFydHkKfiMhIHRpZD0xMTUwNzIwNzEwCkRlciBQbGF0eiBpc3QgaW4gQnJpZXNlbGFuZyB6dW1pbmRlc3QgZnVlciBkaWUgWmVsdGVyIHdvaGwgd2VuaWdlciBkYXMKUHJvYmxlbSwgYWJlciB3ZW5uIEVzc2VuIGZ1ZXIgMzAgTGV1dGUgYmVzdGVsbHQgaXN0IHVuZCBkYW5uIDUwIGtvbW1lbi4uLgoKT1Bya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBwYXJ0eW11ZmZlbD8gKE1haGFyZXQsIDE5LiBKdW4gMjAwNiwgMjM6MDY6NTYpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExNTA3NTExNTggcmc9cGFydHkKfiMhIHRpZD0xMTUwNzIwNzEwCkR1IG1laW5zdCwgbnVyIE11ZGRlciB6ZWx0ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBwYXJ0eW11ZmZlbD8gKEdub21lLCAyMC4gSnVuIDIwMDYsIDE4OjQyOjUyKToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTE1MDc0NDQ0MiByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKaW0gcHJpbnppcCByaWNodGlnLgoKYXVzIGRlciBlcmZhaHJ1bmcgZGVyIGxldHp0ZW4gYmVpZGVuIG1hbGUgaGFiZSBpY2ggYmVpIGRlciBoZXJiZXJnZQo4MCBwbGFldHplIGJlc3RlbGx0LCBldHdhIDUwIGJ1bmdhbG93IHVuZCAzMCBjYW1waW5nLiBkYXMgYmVkZXV0ZXQsCmRhc3Mgc2llIGFuZGVyZW4gZ3J1cHBlbi9sZXV0ZW4sIGRpZSBpbiBkaWVzZXIgemVpdCBhdWNoIG5hY2ggYnJpZXNlbGFuZwp3b2xsZW4sIGFic2FnZW4gd2lyZC4gd2VubiBpY2ggbnVuIGluIGtuYXBwIDQgd29jaGVuIG51ciA0MCBsZXV0Y2hlbnMKcHJhZXNlbnRpZXJlLi4uIG5laW4sIGljaCBtb2VjaHRlIG5pY2h0IHdlaXRlcmRlbmtlbi4KCmljaCBnbGF1YmUgZWluZmFjaCBtYWwsIGRhc3Mgc2ljaCBlaW4gZ3Jvc3N0ZWlsIG5vY2ggZ2FyIG5pY2h0IGFuZ2VtZWxkZXQKaGF0IGJ6dy4gZGVyIGdyb3NzZSBydW4gYXVmIGRpZSBwYXJ0eWJyZXR0ZXIgaW5uZXJoYWxiIGRlciBuYWVjaHN0ZW4KdmllciB3b2NoZW4gc3RhdHRmaW5kZW4gd2lyZC4gOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwYXJ0eW11ZmZlbD8gKFBlcmRpdGEsIDIwLiBKdW4gMjAwNiwgMjE6MzA6MTUpOgp+IyEgcm49TWFoYXJldCBydD0xMTUwNzUwNTg4IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApnZW5hdSwgTWFoYXJldCwgd2FzIGlzdCBudW4gbWl0IGRlbiBUYXNzZW4/ClBlcmRpdGEgLSB3YXJ0ZXQgYXVjaCBpbW1lciBub2NoIGF1ZiBkaWUgQW50d29ydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcGFydHltdWZmZWw/IChNYWhhcmV0LCAyMC4gSnVuIDIwMDYsIDIyOjE5OjM5KToKfiMhIHJuPVBlcmRpdGEgcnQ9MTE1MDgzMTgxNSByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKVHMsIHdpZWRlciBlaW4gQXJ0aWtlbCB2b24gbmVtIFBhcnR5b3JnYW5pc2F0b3IsIGRlciBkYXJhdWYgbmljaHQgZWluZ2VodC4gRGllCnNjaGVpbmVuIGRhcyB0YXRzYWVjaGxpY2ggenUgaWdub3JpZXJlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHBhcnR5bXVmZmVsPyAoR25vbWUsIDIwLiBKdW4gMjAwNiwgMjM6MDk6NTYpOgp+IyEgcm49UGVyZGl0YSBydD0xMTUwODMxODE1IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMAppY2ggd2Vpc3MgbmljaHQgc28gcmVjaHQsIHdhcyBkdSBnZW5hdSBtaXQgZGVyIGZyYWdlIG1laW5zdC4KCm1laW5zdCBkdQoKYSkgbWFuIGthbm4gc2llIGluIGRpZSBzcHVlbG1hc2NoaW5lIHN0ZWNrZW4/CiAgIC0gZGVmaW5pdGl2LCBzbyBtYW4gZWluZSBoYXQuCgpiKSBtYW4ga2FubiBzaWUgaW4gZGllIHNwdWVsbWFzY2hpbmUgc3RlY2tlbiwgb2huZSBkYXNzIGRlciBhdWZkcnVjawogICBhYmdlaHQ/CiAgIC0gYXVjaCBkYXMgd3VlcmRlIGljaCBhbiBzaWNoZXJoZWl0IGdyZW56ZW5kZXIgd2FocnNjaGVpbmxpY2hrZWl0CiAgICAgYmVqYWhlbi4KCmMpIG1hbiBrYW5uIHNpZSB3aWVkZXJob2x0IGluIGRpZSBzcHVlbG1hc2NoaW5lIHN0ZWNrZW4gdW5kIG1hbiBoYXQgYXVjaAogICBub2NoIG5hY2ggamFocmVuIHNwYXNzIGFuIGRlbSBhdWZkcnVjaz8KICAgLSBrZWluZSBhaG51bmcuIGljaCBnZWhlIGRhdm9uIGF1cywgZGFzcyBkaWUgdGFzc2UvZGVyIGJpZXJrdXJnCiAgICAgZ2VuYXVzbyAiaGFlbHQiIHdpZSBhbGxlIGFuZGVyZW4gYXVjaC4gbWlyIGZlaGx0IGVzIGRhIGFuCiAgICAgbGFuZ3plaXRlcmZhaHJ1bmcuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogcGFydHltdWZmZWw/IChNYWhhcmV0LCAyMC4gSnVuIDIwMDYsIDIzOjExOjQ4KToKfiMhIHJuPUdub21lIHJ0PTExNTA4Mzc3OTYgcmc9cGFydHkKfiMhIHRpZD0xMTUwNzIwNzEwCkFsc28gaGFidCBJaHIgZGEgbmljaHQgbmFjaGdlZnJhZ3Q/ICBFcyBnaWJ0IGRhIGhhbHQgVW50ZXJzY2hpZWRlLiAgV2VubiBtYW4Kc2ljaCBkaWUgRHJlc2Rlbi1UYXNzZSBiZXRyYWNodGV0IC0gZGEga2FubiBtYW4ga2VpbiBCaWxkIG1laHIgYmV0cmFjaHRlbiwKd2VubiBkaWUgZWluIHBhYXIgTWFsIGluIGRlciBTcHVlbG1hc2NoaW5lIGxhbmRldGUuICBEaWUgSGF0dGluZ2VuLVRhc3NlIGlzdApkYWdlZ2VuIG5vY2ggdm9lbGxpZyB1bmdldHJ1ZWJ0LCB0cm90eiB2aWVsZXIgV2FzY2hnYWVuZ2UuCgpJY2ggaGFldHRlIGF1Y2ggbmljaHQgZ2VkYWNodCwgZGFzcyBkaWUgRnJhZ2Ugc28gc2Nod2VyIHp1IHZlcnN0ZWhlbiBpc3QgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHBhcnR5bXVmZmVsPyAoR3JpbW1ib3JuLCAyMC4gSnVuIDIwMDYsIDIzOjE0OjQzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDgzNzkwOCByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKSW1tZXJoaW4gaGF0IEdub21lIGRhcmdlbGVndCB3YXMgcGFzc2llcnQgd2VubiBtYW4gZGllIFRhc3NlIGluIGRpZQpTcHVlbG1hc2NoaW5lIHN0ZWxsdCwgbmljaHQgYWJlciB3YXMgcGFzc2llcnQsIHdlbm4gbWFuIHNlbGJpZ2UgYXVjaAphbnNjaGFsdGV0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBwYXJ0eW11ZmZlbD8gKEdub21lLCAyMC4gSnVuIDIwMDYsIDIzOjM0OjAyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDgzNzkwOCByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKc2VsYnN0IHdlbm4gd2lyIG5hY2hnZWZyYWd0IGhhZXR0ZW4sIHdhcyB3YWVyZSBkaWUgYW50d29ydCBnZXdlc2VuPwoKIm5laW4sIHNlbGJzdHZlcnN0YWVuZGxpY2ggaGFsdGVuIGRpZSBhdWZkcnVja2UgbmljaHQuIGRpZSB0YXNzZW4KIHNpbmQgc3BhZXRlc3RlbnMgbmFjaCBkZW0gendlaXRlbiB3YXNjaGdhbmcgd2llZGVyIHdlaXNzLiBkYXMgbWFjaGVuCiB3aXIgbWl0IGFic2ljaHQsIGRhbWl0IHNpZSB3aWVkZXIgenUgdW5zIGtvbW1lbiB1bmQgd2lyIHVucyBuZSBnb2xkZW5lCiBuYXNlIHZlcmRpZW5lbi4iCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHBhcnR5bXVmZmVsPyAoTWFoYXJldCwgMjAuIEp1biAyMDA2LCAyMzozNzoxNSk6Cn4jISBybj1Hbm9tZSBydD0xMTUwODM5MjQyIHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApBbHNvIGFuZGVyZSBQYXJ0eXZlcmFuc3RhbHRlciB3YXJlbiBzaWNoIG5pY2h0IHp1IGZlaW4sIGV4dHJhIG5hY2h6dWZyYWdlbi4gCkltbWVyaGluIHdhZXJlIGVzIGRhbm4gYXVjaCBlaW5lIHp1Z2VzaWNoZXJ0ZSBFaWdlbnNjaGFmdCB1bmQgZGFtaXQgZWluZQplcndlaXRlcnRlIEhhZnR1bmcgZGVzIEhlcnN0ZWxsZXJzL1ZlcmthZXVmZXJzLiAgClNvcnJ5IGZvciBib3RoZXJpbmcgeW91LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHBhcnR5bXVmZmVsPyAoQ3JvZnQsIDIxLiBKdW4gMjAwNiwgMDA6MjY6NDEpOgp+IyEgcm49TWFoYXJldCBydD0xMTUwODM5NDM1IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApUamEsIEdub21lIGlzdCB3b2hsIGRlciBmYWxzY2hlIEFuc3ByZWNocGFydG5lciBmdWVyIHNvbGNoZSBGcmFnZW4gLi4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IHBhcnR5bXVmZmVsPyAoWm9vaywgMjEuIEp1biAyMDA2LCAxMzoxOTozMik6Cn4jISBybj1Dcm9mdCBydD0xMTUwODQyNDAxIHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApIYXQgZXIgdWViZXJoYXVwdCBlaW5lIFNwdWVsbWFzY2hpbmUsIHVtIGdnZi4gZWluZW4gUHJheGlzdGVzdCBkdXJjaHp1ZnVlaHJlbj8KWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHBhcnR5bXVmZmVsPyAoUGVyZGl0YSwgMjEuIEp1biAyMDA2LCAxODozNzoyOSk6Cn4jISBybj1Hbm9tZSBydD0xMTUwODM3Nzk2IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApBbHNvLCBpY2ggd2Vpc3MgYXVjaCBuaWNodCwgd28gZGFzIFByb2JsZW0gYW4gZGVyIEZyYWdlIGlzdC4KRGFzIG1laXN0ZSBHZXNjaGlyciwgd2FzIGljaCBzbyBrZW5uZSwgaXN0IGRla2xhcmllcnQgZW50d2VkZXIgYWxzCnNwdWVsbWFzY2hpbmVuZmVzdCBvZGVyIG5pY2h0IHNwdWVsbWFzY2hpbmVuZmVzdC4KVW5kIGVpbiBWZXJrYWV1ZmVyLCBkZXIgYmVkcnVja3RlIFRhc3NlbiB6dW0gVmVya2F1ZiBhbmJpZXRldCwgc29sbHRlCmVpZ2VudGxpY2ggaW4gZGVyIExhZ2Ugc2VpbiwgYXVmIGRpZXNlIEZyYWdlIGVpbmUgQW50d29ydCB6dSBnZWJlbi4KCldlbm4ncyBrZWluZSBBbnR3b3J0IGF1ZiBkaWVzZSBGcmFnZSBnaWJ0LCBkZXV0ZSBpY2ggZGFzIGZ1ZXIgbWljaCBkYW5uIGFsc28KZXJzdG1hbCBhbHMgIm5pY2h0IHNwdWVsbWFzY2hpbmVuZmVzdCIsIHVuZCBkYW1pdCBoYXQgc2ljaCBkaWUgRnJhZ2UsIG9iIGljaAplaW5lIGJlc3RlbGxlIG9kZXIgbmljaHQsIGZ1ZXIgbWljaCBlcmxlZGlndC4KClBlcmRpdGEgLSBkaWUgZnJvaCB1ZWJlciBpaHJlIFNwdWVsbWFzY2hpbmUgaXN0IHVuZCBrZWluZSBMdXN0IGF1ZgpuaWNodC1zcHVlbG1hc2NoaW5lbmZlc3RlcyBHZXNjaGlyciBoYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHBhcnR5bXVmZmVsPyAoTXVhZGliLCAyMS4gSnVuIDIwMDYsIDE5OjUxOjEyKToKfiMhIHJuPVBlcmRpdGEgcnQ9MTE1MDkwNzg0OSByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKZHUgYmlzdCBqYSBudXIgYmVxdWVtCnNvIHdpZSBpY2ggYXVjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcGFydHltdWZmZWw/IChSb2FkcnVubmVyLCAyNi4gSnVuIDIwMDYsIDE3OjM2OjMxKToKfiMhIHJuPVBlcmRpdGEgcnQ9MTE1MDkwNzg0OSByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKTmFqYSAtIGljaCBoYWIgZGllIFRhc3NlIG1pdCBkZXIgbmV0dGVuIEh5ZHJhIC4uLiAoZHJlc2Rlbj8pIC4uIGplZGVuZmFsbHMgaXN0CmF1Y2ggb2huZSBTcHVlbG1hc2NoaW5lIGRlciBBdWZkcnVjayBkb2NoIHNjaG9uIGV0d2FzIG1pdGdlbm9tbWVuLCBkYSBuaWNodCBzbwpyaWNodGlnIGd1dCBiZWRydWNrdCAuLi4gV2FlcmUgc2Nob24gbmV0dCBlaW5lIGV0d2FzIGhhbHRiYXJlcmUgVmFyaWFudGUgenUKaGFiZW4uCgpNZWVwTWVlcAoKUlIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogcGFydHltdWZmZWw/IChNYWhhcmV0LCAyNy4gSnVuIDIwMDYsIDExOjU5OjM3KToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9MTE1MTMzNjE5MSByZz1wYXJ0eQp+IyEgdGlkPTExNTA3MjA3MTAKV2VubiBkdSBtaXIgZGllIE51bW1lciB2b24gZGVtIENvcHlzaG9wIG9kZXIgZGVyIERydWNrZXJlaSBvZGVyIHdlciBpbW1lciBkaWUKVGFzc2VuIG1hY2hlbiBzb2xsIGdpYnN0LCBHbm9tZSwgcnVmZSBpY2ggZGEgYXVjaCBzZWxiZXIgYW4gdW5kIGZyYWdlIG5hY2guIApBdWNoIGZ1ZXIgdW5zIGlzdCBkaWUgRW50c2NoZWlkdW5nLCBvYiB1bmQgd2llIHZpZWxlIFRhc3NlbiB3aXIgbmVobWVuLCBkYXZvbgphYmhhZW5naWcsIG9iIGRlciBBdWZkcnVjayBhdWNoIHdpcmtsaWNoIHNwdWVsbWFzY2hpbmVuZmVzdCBpc3QuICBXaXIgc29sbGVuCnNjaGxpZXNzbGljaCBkYWZ1ZXIgYmV6YWhsZW4sIHVuZCB3aXIga2F1ZmVuIG5pY2h0IGdlcm4gZGllIEthdHplIGltIFNhY2sgOykKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHBhcnR5bXVmZmVsPyAoR3VhcmQsIDEwLiBKdWwgMjAwNiwgMjA6MjY6NDQpOgp+IyEgcm49TWFoYXJldCBydD0xMTUxNDAyMzc3IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMAptb2luLAoKaWhyIGJlZHJhZW5ndCBkZW4gYXJtZW4gR25vbWUgYWJlciBnYW56IHNjaG9lbiBtaXQgZXVyZW4gZnJhZ2VuIDotKQp1bmQgZGFiZWkgaXN0IGVyIHdpcmtsaWNoIG5pY2h0IGRlciByaWNodGlnZSBhbnNwcmVjaHBhcnRuZXIhCkljaCB3ZXJkIGJlaW0gY29weXNob3AgbmFjaGZyYWdlbiwgYWJlciB3aWUgZ25vbWUgc2Nob24gYW5kZXV0ZXRlIHJlY2huZSBpY2gKbmljaHQgbWl0IGVpbmVyIG5lZ2F0aXZlbiBhdXNzYWdlLiBpY2ggZnJhZyBhYmVyIHdpcmtsaWNoIG5hY2ggdW5kIGdlYiBldWNoCmJlc2NoZWlkCgppbSBnZWdlbnp1ZyBrb2VubnQgaWhyIHVucyBvcmdhcyBqYSBhdWNoIGVpbmUga2xlaW5lIGZyZXVkZSBtYWNoZW4gdW5kIGV1Y2gKbW9lZ2xpY2hzdCBiYWxkIHp1ciBwYXJ0eSBhbm1lbGRlbi4KZXMgd2FlcmUgc2NoYWRlLCB3ZW5uIGVzIHNpY2ggYWxzIGZlaGxlciBoZXJhdXNzdGVsbGVuIHNvbGx0ZSwgZGFzcyB3aXIga2VpbmUKbmFjaHp1ZWdsZXJnZWJ1ZWhyZW4gZXJoZWJlbi4Kc28gc3BhZXQgbmltbXQgZGllIGhlcmJlcmdlIGF1Y2gga2VpbmUgYWVuZGVydW5nZW4gZGVyIGJlc3VjaGVyemFobGVuCmVudGdlZ2VuLCBkZW5uIGplIG5hZWhlciBkZXIgdGVybWluIHVtIHNvIGdlcmluZ2VyIGRpZSBuYWNoZnJhZ2UgbmFjaApwbGFldHplbi4KCmRlc3dlaXRlcmVuIGRhcmYgaWNoIGFsbGUgZXJpbm5lcm4sIGRpZSBzaWNoIGFuZ2VtZWxkZXQgaGFiZW4sIGRvY2ggYmFsZCBkaWUKZmFlbGxpZ2VuIGtvc3RlbiB6dSB1ZWJlcndlaXNlbi4uLgoKZGFzIHdhcnMgZXJzdG1hbAoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBwYXJ0eW11ZmZlbD8gKE1hcmN1cywgMTAuIEp1bCAyMDA2LCAyMjo1Njo0Nyk6Cn4jISBybj1HdWFyZCBydD0xMTUyNTU2MDA0IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApMaWViIHdhZXJlIGV2dCBkaWUgZWluZ2VnYW5nZW4gR2VsZGJldHJhZWdlIG1hbCB6dSB2ZXJtZXJrZW4gOykKCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IHBhcnR5bXVmZmVsPyAoTWFoYXJldCwgMTAuIEp1bCAyMDA2LCAyMzo1MTowNSk6Cn4jISBybj1HdWFyZCBydD0xMTUyNTU2MDA0IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApLb2VubnRlc3QgZHUgbm9jaG1hbCBkZW4gTGluayB6dXIgUGFydHlzZWl0ZSBwb3N0ZW4/IEVyIGlzdCBtaXR0bGVyd2VpbGUKZXhwaXJlZC4KCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBwYXJ0eW11ZmZlbD8gKERhcmtsb3IsIDExLiBKdWwgMjAwNiwgMDE6MDA6MTQpOgp+IyEgcm49TWFoYXJldCBydD0xMTUyNTY4MjY1IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApEdSBtZWluc3QgZGllc2VuPyBodHRwOi8vdHJ2ZXMuZGUvcGFydHkwNi9wYXJ0eTA2Lmh0bWwKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBwYXJ0eW11ZmZlbD8gKE1haGFyZXQsIDExLiBKdWwgMjAwNiwgMDY6Mjg6NTIpOgp+IyEgcm49RGFya2xvciBydD0xMTUyNTcyNDE0IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMAogYWgsIGRhbmtlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogcGFydHltdWZmZWw/IChQZXJkaXRhLCAxMS4gSnVsIDIwMDYsIDE1OjI4OjAyKToKfiMhIHJuPUd1YXJkIHJ0PTExNTI1NTYwMDQgcmc9cGFydHkKfiMhIHRpZD0xMTUwNzIwNzEwCndpciBoYWJlbiBlaWdlbnRsaWNoIG5pY2h0IEdub21lIHBlcnNvZW5saWNoIGJlZHJhZW5ndCwgc29uZGVybiBnYW56IGFsbGdlbWVpbgpkYXMgUGFydHktT3JnYXRlYW0uIFdlbm4gZXIgbnVuIHp1ZmFlbGxpZyBkZXIgZWluemlnZSB3YXIsIGRlciBzaWNoCmFuZ2VzcHJvY2hlbiBmdWVobHRlIG9kZXIgaW0gTXVkIGFud2VzZW5kIHdhciwga29lbm5lbiB3aXIgamEgbmljaHRzIGRhZnVlci4KQWJlciBpY2ggd2lsbCBkYXMgVGhlbWEgZWlnZW50bGljaCBnYXIgbmljaHQgd2llZGVyIG5ldSBhdWZyb2xsZW4sIHdpciBoYWJlbgplcyBqYSB6dXIgR2VudWVnZSBkdXJjaGdla2F1dCA7LSkKRnVlciBtaWNoIGtvbW10IHVlYnJpZ2VucyBqZWdsaWNoZSBBbnR3b3J0IGF1ZiBiZXNhZ3RlIEZyYWdlIG1pdHRsZXJ3ZWlsZSB6dQpzcGFldCwgZGEgaWNoIGluendpc2NoZW4gZGFzIEdlbGQgdWViZXJ3aWVzZW4gaGFiZS4KClBlcmRpdGEgLSBpc3QgYW5nZW1lbGRldCwgaGF0IHVlYmVyd2llc2VuIHVuZCBmcmV1dCBzaWNoIGF1ZiBkaWUgUGFydHkgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogcGFydHltdWZmZWw/IChHbm9tZSwgMTIuIEp1bCAyMDA2LCAxODo0OTozMCk6Cn4jISBybj1HdWFyZCBydD0xMTUyNTU2MDA0IHJnPXBhcnR5Cn4jISB0aWQ9MTE1MDcyMDcxMApndWFyZCBoYXQgc2ljaCBrdW5kaWcgZ2VtYWNodC4KYW50d29ydDogamEsIGRpZSBhdWZkcnVja2Ugc2luZCBzcHVlbG1hc2NoaW5lbmZlc3QuIGRpZWplbmlnZSwgbWl0IGRlcgplciBnZXNwcm9jaGVuIGhhdCwgYmVzaXR6dCB3b2hsIHNlaXQgamFocmVuIGVpbmUgdGFzc2UsIGRpZSBzaWUKcmVnZWxtYWVzc2lnIGluIGRpZSBtYXNjaGluZSBzdGVja3QgdW5kIGRlciBhdWZkcnVjayBpc3Qgbm9jaCBndXQKenUgc2VoZW4uIGFsbGVyZGluZ3Mgd2FlcmUgZGFzIHdvaGwgYXVjaCBlaW4gYmlzc2NoZW4gYWJoYWVuZ2lnCnZvbiBkZW4gdGFicywgZGllIG1hbiBpbiBkaWUgbWFzY2hpbmUgc3RlY2t0LgoKZ25PbWUsIGdlbmF1IGRpZXNlIGFudHdvcnQgZXJ3YXJ0ZW5kIGhhYmVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk55bXBoZW5zZWUsIFdhc3NlcnF1YWxpdGFldCB1bmQgQmFkZWRlcm1hdGl0aXMgOy0pIChaZXNzdHJhLCAyNC4gSnVsIDIwMDYsIDIxOjA3OjMzKToKV2VyIHNpY2ggbm9jaCBhbiBkaWUgVmllY2hlciB2b3IgMyBKYWhyZW4gaW0gTnltcGhlbnNlZSBlcmlubmVydCB1bmQgc2ljaCBpbQpWb3JmZWxkIHVlYmVyIGRpZSBXYXNzZXJxdWFsaXRhZXQgaW5mb3JtaWVyZW4gd2lsbCwgbWFnIGZvbGdlbmRlbiBMaW5rCm51ZXR6bGljaCBmaW5kZW46Cmh0dHA6Ly93d3cubHVpcy5icmFuZGVuYnVyZy5kZS92L2JhZGVzdGVsbGVuL1c3MTAwMDI5L2RlZmF1bHQuYXNweD94PWNfMyZ5PTYwIwpib2R5CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTnltcGhlbnNlZSwgV2Fzc2VycXVhbGl0YWV0IHVuZCBCYWRlZGVybWF0aXRpcyA7LSkgKERhcmtsb3IsIDI1LiBKdWwgMjAwNiwgMDA6MjM6MzUpOgp+IyEgcm49WmVzc3RyYSBydD0xMTUzNzY4MDUzIHJnPXBhcnR5Cn4jISB0aWQ9MTE1Mzc2ODA1MwpEaWUgVW50ZXJzdWNodW5nIGlzIGpldHp0IGFiZXIgYXVjaCBzY2hvbiB3aWVkZXIgbmUgV2VpbGUgaGVyLCBiZXNvbmRlcnMgYmVpCmRpZXNlbSBXZXR0ZXIuLi4gCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE55bXBoZW5zZWUsIFdhc3NlcnF1YWxpdGFldCB1bmQgQmFkZWRlcm1hdGl0aXMgOy0pIChaZXNzdHJhLCAyNS4gSnVsIDIwMDYsIDAwOjI3OjAxKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1Mzc3OTgxNSByZz1wYXJ0eQp+IyEgdGlkPTExNTM3NjgwNTMKSWNoIHdlaXNzLiBEZXNoYWxiIGhhYiBpY2ggamEgYXVjaCBkaWUgU2VpdGUgZ2Vwb3N0ZXQsIGFuc3RhdHQgbnVyIGRhcwpFcmdlYm5pcy4gRGllIFNlaXRlIHNlbGJzdCB3aXJkIG5hZW1saWNoIHJlZ2VsbWFlc3NpZyAod29obCBjYS4gMTQtdGFlZ2xpY2gpCmFrdHVhbGlzaWVydC4gV2VyIGFrdHVlbGxlcmUgSW5mb3JtYXRpb25lbiBoYWJlbiB3aWxsLCBrYW5uIHNpY2ggamEgYW4gZGllIGF1ZgpkZXIgU2VpdGUgZXJ3YWVobnRlIE1pdGFyYmVpdGVyaW4gZGVyIEJlaG9lcmRlIGRhIHdlbmRlbi4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOeW1waGVuc2VlLCBXYXNzZXJxdWFsaXRhZXQgdW5kIEJhZGVkZXJtYXRpdGlzIDstKSAoTXVhZGliLCAyNS4gSnVsIDIwMDYsIDE3OjMyOjUzKToKfiMhIHJuPVplc3N0cmEgcnQ9MTE1Mzc4MDAyMSByZz1wYXJ0eQp+IyEgdGlkPTExNTM3NjgwNTMKd28gd2FyIG5vY2htYWwgZGllIHBhcnR5c2VpdGU/CnVuZCBnaWJ0IGVzIG5vY2ggdGFzc2VuY2hhbmNlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE55bXBoZW5zZWUsIFdhc3NlcnF1YWxpdGFldCB1bmQgQmFkZWRlcm1hdGl0aXMgOy0pIChEYXJrbG9yLCAyNi4gSnVsIDIwMDYsIDAwOjAyOjE5KToKfiMhIHJuPU11YWRpYiBydD0xMTUzODQxNTczIHJnPXBhcnR5Cn4jISB0aWQ9MTE1Mzc2ODA1MwpXaWUga29tbXRlcyBkZW5uPwoKRHUgbWVpbnN0IGRpZSBoaWVyPyBodHRwOi8vdHJ2ZXMuZGUvcGFydHkwNi9wYXJ0eTA2Lmh0bWwKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE55bXBoZW5zZWUsIFdhc3NlcnF1YWxpdGFldCB1bmQgQmFkZWRlcm1hdGl0aXMgOy0pIChNYWhhcmV0LCAyNi4gSnVsIDIwMDYsIDAwOjAyOjU5KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1Mzg2NDkzOSByZz1wYXJ0eQp+IyEgdGlkPTExNTM3NjgwNTMKU3RlaHQgdWVicmlnZW5zIGF1Y2ggYXVmIGRlbSBQYXJ0eWJyZXR0LCB3aWUgaWNoIG1pdHRsZXJ3ZWlsZSBtaXRnZWtyaWVndApoYWJlLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTnltcGhlbnNlZSwgV2Fzc2VycXVhbGl0YWV0IHVuZCBCYWRlZGVybWF0aXRpcyA7LSkgKEJvaW5nLCAyNi4gSnVsIDIwMDYsIDA5OjE2OjMxKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1Mzg2NDk3OSByZz1wYXJ0eQp+IyEgdGlkPTExNTM3NjgwNTMKRGFzIG11c3MgbWFuIG1pdGJla29tbWVuPyBEYXMgd2FyIGZ1ZXIgbWljaCBkaWUgZXJzdGUgQW5sYXVmc3RlbGxlCmFscyBpY2ggZGllIFNlaXRlIHdpc3NlbiB3b2xsdGUgLi4uIAogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOeW1waGVuc2VlLCBXYXNzZXJxdWFsaXRhZXQgdW5kIEJhZGVkZXJtYXRpdGlzIDstKSAoTXVhZGliLCAyNi4gSnVsIDIwMDYsIDE5OjIzOjUxKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1Mzg2NDkzOSByZz1wYXJ0eQp+IyEgdGlkPTExNTM3NjgwNTMKZGllIG1laW50ZSBpY2gKZ3V0IHZlcnRlY2t0CmFlaCB2ZXJzdGVja3QKa2VpbmUgbGlua3MKc2NoYWRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOeW1waGVuc2VlLCBXYXNzZXJxdWFsaXRhZXQgdW5kIEJhZGVkZXJtYXRpdGlzIDstKSAoTXVhZGliLCAyNi4gSnVsIDIwMDYsIDE5OjI0OjUzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1Mzg2NDk3OSByZz1wYXJ0eQp+IyEgdGlkPTExNTM3NjgwNTMKamEKZGFzIG1hZyBzZWluCnZpZWxsZWljaHQgc3RlaHQgZXMgYXVjaCBpbiBkZXIgbWFpbAppbSB3ZWIgKG1nLm11ZC5kZSB1bmQgdHJ2ZXMuZGUpIHN0ZWh0IGRpZSBzZWl0ZSBqZWRlbmZhbGxzIG5pY2h0IHZlcmxpbmt0CgphYmVyIG5hamEKd2FyIHdhaHJzY2hlaW5saWNoIGtlaW5lIGRlciBkcmluZ2VuZGVyZW4gZGluZ2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFrdHVhbGlzaWVydW5nIGRlciBQYXJ0eXNlaXRlbiAoR25vbWUsIDI3LiBKdWwgMjAwNiwgMTg6MjU6NDcpOgpoaSwKCmVzIGZhbmQgZWJlbiBlaW5lIGFrdHVhbGlzaWVydW5nIGRlciBwYXJ0eXNlaXRlbiBzdGF0dC4gZGllIHplaXRlbiBmdWVyCmRhcyBmcnVlaHN0dWVjayB1bmQgZGFzIGFiZW5kZXNzZW4gc2luZCBudW4gZmVzdGdlbWFjaHQuIHp1ZGVtIGthbQplaW4gbGFnZXBsYW4gdW5kIGVpbiBhdXN6dWcgZGVyIHNwZWlzZWthcnRlIGRlcyBjaGluZXNlbiBoaW56dS4KZXMgd2lyZCBhbSBTby4gYmVpbSBjaGluZXNlbiBrZWluIG1lbnVlLCBzb25kZXJuIG51ciBhIGxhIGNhcnRlIGdlYmVuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmdyb3NzZ2xpZW5pY2tlIChNdWFkaWIsIDI4LiBKdWwgMjAwNiwgMTE6MDE6MDgpOgpob2ksCgp3dWVyZGVuIHNpY2ggZnVlciBkZW4gZG9ubmVyc3RhZy9mcmVpdGFnIG1pdHRhdWNoZXIgZmluZGVuIGZ1ZXIgZGVuCmdyb3NzZ2xpZW5pY2tlciBzZWU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rIChNdWFkaWIsICA2LiBBdWcgMjAwNiwgMTk6Mzg6MjgpOgphbiBkaWUgUGFydHl2ZXJhbnN0YWx0ZXIKRGFzIG1pdCBkZW0gV2V0dGVyIHVlYmVuIHdpciBub2NoLCBhYmVyIGFuc29uc3RlbiBlaW4gZ3Jvc3NlczogUFJJTUEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rIChNYWhhcmV0LCAgNi4gQXVnIDIwMDYsIDIxOjM3OjAwKToKfiMhIHJuPU11YWRpYiBydD0xMTU0ODg1OTA4IHJnPXBhcnR5Cn4jISB0aWQ9MTE1NDg4NTkwOApEZW0gc2NobGllc3NlIGljaCBtaWNoIGFuLiAgTGVja2VyIE51ZGVsc2FsYXQgOykKCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFuayAoQW5hdG9sLCAgNi4gQXVnIDIwMDYsIDIxOjUxOjE0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1NDg5MzAyMCByZz1wYXJ0eQp+IyEgdGlkPTExNTQ4ODU5MDgKU2VociBmZWluIGF1Y2ggZGFzIENoaWxpIHNpbiBDYXJuZS4gR3Jvc3NlcyBMb2IuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGFuayAoQ2hhZ2FsbCwgIDYuIEF1ZyAyMDA2LCAyMjowMDozOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTE1NDg5Mzg3NCByZz1wYXJ0eQp+IyEgdGlkPTExNTQ4ODU5MDgKRGVtIGthbm4gaWNoIG1pciBudXIgYW5zY2hsaWVzc2VuLiBTY2hvZW5lIFBhcnR5IHVuZCBlaW4gbGVja2VyZXMKQ2hpbGkuIAoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmsgKFplc3N0cmEsICA2LiBBdWcgMjAwNiwgMjI6MDU6NDkpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTU0ODk0NDM5IHJnPXBhcnR5Cn4jISB0aWQ9MTE1NDg4NTkwOApOYWNoIGxhZW5nZXJlciBSdWVja2ZhaHJ0IGJsZWlidCBibGVpYnQgbWlyIG51biB3ZW5pZyB6dSBlcmdhZW56ZW4sIGFsc286CnZpZWxlbiBEYW5rIGZ1ZXIgZGllIHNjaG9lbmUgUGFydHkuIDotKQpJY2ggZnJldSBtaWNoIHNjaG9uIGF1ZiBkaWUgbmFlY2hzdGUgKFdpbnRlci0vRnJ1ZWhsaW5nLS9Tb21tZXItKVBhcnR5LiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERhbmsgKE1pcmlsLCAgNi4gQXVnIDIwMDYsIDIyOjQwOjMxKToKfiMhIHJuPVplc3N0cmEgcnQ9MTE1NDg5NDc0OSByZz1wYXJ0eQp+IyEgdGlkPTExNTQ4ODU5MDgKVm9uIG1pciBhdWNoIGVpbiBncm9zc2VzIERhbmtlc2Nob2VuIGFuIGRpZSBWZXJhbnN0YWx0ZXIuIFdlbm4gYXVjaCBpbiBldHdhcwprbGVpbmVyZXIgQW56YWhsIGFscyBmcnVlaGVyLCB1ZWJlcnJhc2NodGVuIHVucyBkb2NoIGVpbmlnZSBFeC1NdWRkZXIsIGRpZSAKaG9mZmVudGxpY2ggaXJnZW5kd2FubiBhdWNoIHdpZWRlciB6dSBkZW4gRXgtV293bGVybiB6YWVobGVuLCBtaXQgaWhyZW0KRXJzY2hlaW5lbi4gSW5zZ2VzYW10IHdhciBkaWUgUGFydHkgYXVjaCBzb25zdCBtaXQgTGFnZXJmZXVlciwgZ3V0ZW0gV2V0dGVyCmFuIGZhc3QgYWxsZW4gVGFnZW4sIGFuZ2VuZWhtZXIgV2Fzc2VydGVtcGVyYXR1ciBpbSBOeW1waGVuc2VlIHVuZCBuZXR0ZW4KVGVpbG5laG1lcm4gd2llZGVyIGVpbmUgaGVydm9ycmFnZW5kZSB1bmQgcHJlaXNndWVuc3RpZ2UgQWx0ZXJuYXRpdmUgenUKaXJnZW5kd2VsY2hlbiBQYXVzY2hhbHVybGF1YmVuLiAKCkljaCBmcmV1ZSBtaWNoIHdpZSBpbW1lciBzY2hvbiBhdWYgZGllIG5hZWNoc3RlIFBhcnR5LgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhc3Nlbm5hY2hiZXN0ZWxsdW5nZW4gKEd1YXJkLCAgNy4gQXVnIDIwMDYsIDExOjI3OjMwKToKTW9pbiwKCnNlaHIgenUgdW5zZXJlciBGcmV1ZGUga29ubnRlbiB3aXIgZmVzdHN0ZWxsZW4sIGRhc3MgZGllIFBhcnR5dGFzc2VuIHNpY2gKZ3Jvc3NlciBCZWxpZWJ0aGVpdCBlcmZyZXVlbi4gRGEgZWluaWdlIG5pY2h0IHJlY2h0emVpdGlnIGlocmUKVGFzc2VuYmVzdGVsbHVuZyBhYmdlYmVuIGtvbm50ZW4sIGhhYmVuIHdpciB1bnMgZW50c2NobG9zc2VuIGVpbmUKTmFjaGJlc3RlbGxha3Rpb24gZHVyY2h6dWZ1ZWhyZW4uCkRhenUgbWFpbHQgYml0dGUgYW4gZ3VhcmRAdHJ2ZXMuZGUgZm9sZ2VuZGUgSW5mb3M6CkFuemFobCB1bmQgQXJ0IGRlciBUYXNzZSAoVGFzc2UvS3J1ZykKZ2V3dWVuc2NodGVyIFNwcnVjaCBiZWltIEF1ZmRydWNrCkFkcmVzc2UsIGFuIGRpZSBnZXNjaGlja3Qgd2VyZGVuIHNvbGwKCkRpZSBTZW5kdW5nIG1hY2h0IGRpZSBUYXNzZS9LcnVnIGRhbm4gbmF0dWVybGljaCBldHdhcyB0ZXVyZXIsIHdpZXZpZWwgZ2VuYXUsCnNjaHJlaWJlIGljaCBub2NoLiBJY2ggaGFiIHZvbiBlaW5pZ2VuIHNjaG9uIGRlbiBXdW5zY2ggbmFjaCBUYXNzZW4gZXJmYXNzdCwKYWJlciBkYSBpY2ggYmVpIGRlbiBuaWNodGJlcmxpbmVybiBkaWUgQWRyZXNzZW4gbmljaHQgYWxsZSBrZW5uZSwgYml0dGUgaWNoCmRhcnVtLCBkYXNzIEFMTEUsIGRpZSBub2NoIGVpbmUgVGFzc2Ugd29sbGVuIG1pciBlaW5lIG1haWwgbWl0IGRlbiBkYXRlbgpzY2hpY2tlbi4gRGFubiB2ZXJnZXNzIGljaCBuaWVtYW5kZW4gdW5kIGRpZSBUYXNzZSBrb21tdCBhdWNoIGRhIGFuLCB3byBzaWUKc29sbC4KCmJpcyBkZW5uZQoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IEZheml0IChHdWFyZCwgIDcuIEF1ZyAyMDA2LCAxMTozMjo0OCk6CkFuIGFsbGUgUGFydHl0ZWlsbmVobWVyLAoKaWNoIG1vZWNodGUgaW0gTmFtZW4gZGVyIE9yZ2EgZWluIGdhbnogZ3Jvc3NlcyBEYW5rZXNjaG9lbiBmdWVyIGRpZQpVbnRlcnN0dWV0enVuZyB1bmQgZGllIE1pdGhpbGZlIGF1c3NwcmVjaGVuLiBEaWUgU3BlbmRlbiBoYWJlbiBmYXN0IGRhcwprb21wbGV0dGUgTWludXMgZGVyIFBhcnR5IGFiZ2VmYW5nZW4uIFVuZCBlaW4gYmlzc2NoZW4gTGVocmdlbGQgbXVlc3NlbiB3aXIKZnVlciB1bnNlcmVuIEZlaGxlciBzY2hsaWVzc2xpY2ggYXVjaCB6YWhsZW4gOi0pCkRhcyBuYWVjaHN0ZSBNYWwgd2lyZCBhbGxlcyBiZXNzZXIhIFZlcnNwcm9jaGVuISB1bmQgbWl0IGRlbSBXZXR0ZXIgZmFuZ2VuIHdpcgphbiAuLSkKRGFubiBiaXMgenVyIG5hZWNoc3RlbiBQYXJ0eSEKCkd1YXJkCmkuQS4gUGFydHlvcmdhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgRmF6aXQgKFpvb2ssICA3LiBBdWcgMjAwNiwgMTM6Mjk6MTYpOgp+IyEgcm49R3VhcmQgcnQ9MTE1NDk0MzE2OCByZz1wYXJ0eQp+IyEgdGlkPTExNTQ5NDMxNjgKRmVobGVyPyBJcmdlbmR3byBoYWJlbiB3aXIgZG9jaCBhdWYgdW5zZXJlbiBXZWJzZWl0ZW4gYXVjaCBlaW5lIFJ1YnJpawoiV2FzIG1hbiBiZWkgUGFydGllcyBiZWFjaHRlbiBzb2xsdGUiLCBvZGVyPyBLYW5uIG1hbiBkb3J0IGV0d2FzCmZ1ZXIgZGllIE5hY2h3ZWx0IExlc2Vuc3dlcnRlcyBlcmhhbHRlbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5IEZheml0IChHdWFyZCwgIDcuIEF1ZyAyMDA2LCAxNjoyNTo1MSk6Cn4jISBybj1ab29rIHJ0PTExNTQ5NTAxNTYgcmc9cGFydHkKfiMhIHRpZD0xMTU0OTQzMTY4CnJpY2h0aWcgem9vaywgc28gZWluZSBydWJyaWsgZ2lidCBlcy4gSW50ZXJlc3NhbnRlcndlaXNlIGhhYiBpY2ggZGllIHNvZ2FyCmdyb2Vzc3RlbnRlaWxzIHNlbGJzdCB2ZXJmYXNzdC4gRGVyIEZlaGxlciBpc3QgZHVyY2ggenV2aWVsIHJvdXRpbmUgdW5kCm1hbmdlbG5kZSBLZW5udG5pcyBkZXIgZW50d2lja2x1bmcgaW0gbXVkIGVudHN0YW5kZW4uIGRlciB2ZXJ0cmFnIHd1cmRlCm5hZW1saWNoIGF1ZiBlcmZhaHJ1bmdlbiBhdXMgZGVuIHZvcmhlcmlnZW4gcGFydHlzIGluIGJyaWVzZWxhbmcgZ2VzdHVldHp0IHVuZApkYW1pdCBhbmRlcnMgZ2VzY2hhZXR6dCBhbHMgZGllIGFrdHVlbGxlIHNpdHVhdGlvbiBpbSBtdWQgZXMgZXJsYXViZW4gd3VlcmRlLgppY2ggd2VyZCBkYXp1IGF1Y2ggd2FzIGF1ZiBkZW4gc2VpdGVuIHZlcm1lcmtlbi4KCmdydXNzCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlmYXppdCBUZWlsIElJIChHbm9tZSwgIDcuIEF1ZyAyMDA2LCAxODo0NzowNyk6CmhhbGxvLAoKZGllIDMuIHBhcnR5IGluIGJyaWVzZWxhbmcgaXN0IG51biB2b3J1ZWJlciB1bmQgaWNoIHdvbGx0ZSBtaWNoIGltIG5hbWVuCmRlcyBvcmdhdGVhbXMgZXJzdG1hbCBiZWkgZGVuIHdpY2h0aWdzdGVuIGxldXRlbiBiZWRhbmtlbiwgb2huZSBkaWUgZXMKa2VpbmUgcGFydHkgZ2lidDogYmVpIGRlbiBnYWVzdGVuLgppY2ggZGVua2UsIGVzIHdhciBlaW5lIHNjaG9lbmUgdW5kIGx1c3RpZ2Ugd29jaGUgdm9sbGVyIChlbnQpc3Bhbm51bmcgdW5kCnNwaWVsLiBpY2ggcGVyc29lbmxpY2ggaGFldHRlIG1pciBub2NoIGVpbiBwYWFyIHZvbGxleWJhbGxzcGllbGUgbWVocgpnZXd1ZW5zY2h0LCBhYmVyIGZ1ZXIgZGFzIHdldHRlciBrYW5uIGphIGtlaW5lciB3YXMuCgpkYW5uIG1vZWNodGUgaWNoIG1pY2ggbm9jaG1hbCBiZWkgc2NobmlwcGxlcm4gYmVkYW5rZW4sIG9obmUgZGllIGRhcyBjaGlsaQp1bmQgZGVyIG51ZGVsc2FsYXQgbmljaHQgc28gZ3V0IGdld29yZGVuIGJ6dy4gdmllbGxlaWNodCBhdWNoIGVyc3QgZ2FyIG5pY2h0CmZlcnRpZ2dld29yZGVuIHdhZXJlOiBlaW4gaG9jaCBhdWYgcGVyZGl0YSwgbWFydGluaSB1bmQgYmFhbC4KCgp1bnNjaG9lbmVyIGRhZ2VnZW4gaXN0IGRpZSB0YXRzYWNoZSwgZGFzcyBlaW5pZ2UgbGV1dGUsIGRpZSBzaWNoIGFuZ2VtZWxkZXQKaGFiZW4sIG5pY2h0IGdla29tbWVuIHNpbmQuIGRhcyBoYXQgdW5zIHp1IGRlbiBlaCBzY2hvbiB2b3JoYW5kZW5lbgpzdG9ybm9nZWJ1ZWhyZW4gZWluaWdlIGh1bmRlcnQgZXVybyB6dXNhZXR6bGljaCBnZWtvc3RldC4KCmRhcyBoYXQgenVyIGZvbGdlLCBkYXNzIHdpciBpbiB6dWt1bmZ0IC0gdW5kIGZhbGxzIHVlYmVyaGF1cHQgbm9jaCBtYWwgLQpudXIgbm9jaCBkaWUgYW5tZWxkZW4gd2VyZGVuLCBkaWUgYXVjaCB3aXJrbGljaCB1ZWJlcndpZXNlbiBoYWJlbiB1bmQKdW5zIHp1c2FldHpsaWNoIG5vY2htYWwgZWluZSB6ZWl0bGljaGUga29zdGVuc3RhZmZlbHVuZyBhdXNkZW5rZW4gd2VyZGVuLgoKZGllIHNjaG9uIGVyd2FlaG50ZW4gc3Rvcm5vZ2VidWVocmVuIGtvbm50ZW4gd2lyIG1pdCBkZW0gZ3V0aGFiZW4gdm9uCjEwMCBldXJvIHZvbiBlaW5lciBkZXIgbGV0enRlbiBwYXJ0aWVzLCB3ZWxjaGUgY2Fzc2FuZHJhIG9yZ2FuaXNpZXJ0IGhhdCwKdW5kIG1pdCBldXJlciBzcGVuZGVuaGlsZmUgenVtIGdyb3NzZW4gdGVpbCBhdWZmYW5nZW4uIGVzIHNpbmQgc3BvbnRhbgozNTAgZXVybyB6dXNhbW1lbmdla29tbWVuLiBkYWZ1ZXIgbm9jaG1hbHMgZWluIGhlcnpsaWNoZXMgZGFua2VzY2hvZW4Kdm9uIHVucyEgZGVuIHJlc3Qgd2VyZGVuIHdpciBhdWYgdW5zZXJlIGVpZ2VuZSBrYXBwZSBuZWhtZW4uCgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERhbmsgKFBlcmRpdGEsICA3LiBBdWcgMjAwNiwgMjA6Mzc6MTEpOgp+IyEgcm49TWlyaWwgcnQ9MTE1NDg5NjgzMSByZz1wYXJ0eQp+IyEgdGlkPTExNTQ4ODU5MDgKQXVjaCB2b24gbWlyIG5vY2htYWwgZWluIGhlcnpsaWNoZXMgRGFua2VzY2hvZW4gc293b2hsIGFuIGRpZQpQYXJ0eW9yZ2FuaXNhdG9yZW4gYWxzIGF1Y2ggYW4gZGllIFBhcnR5Z2Flc3RlLCBlcyB3YXIgZWluZSBzZWhyIHNjaG9lbmUKUGFydHkhCk51ciBkZXIgV2V0dGVyZ290dCBoYWV0dGUgZGFzIGlyZ2VuZHdpZSBlaW4gYmlzc2NoZW4gYmVzc2VyIG1hbmFnZW4ga29lbm5lbi4uLgpCaXMgRnJlaXRhZyB1bmQgYWIgTW9udGFnIGd1dGVzIFdldHRlciB1bmQgZGF6d2lzY2hlbiBkaWUgUGFydHkgLSBkYXMgd2FyCmV0d2FzIHVuZ2VzY2hpY2t0LiBBYmVyIG51biB3ZWlzcyBpY2ggd2VuaWdzdGVucywgZGFzcyBtZWluIFplbHQgd2Fzc2VyZGljaHQKaXN0LCB1bmQgZGllIGd1dGUgU3RpbW11bmcgaGF0IGRlbiBSZWdlbiBtZWluZXIgTWVpbnVuZyBuYWNoIGF1Y2ggd2llZGVyCmRldXRsaWNoIHdldHRnZW1hY2h0LgoKUGVyZGl0YSAtIG1pdCBlaW5lbSBUYWcgVmVyc3BhZXR1bmcgaGV1dGUgYXVjaCB2b24gZGVyIFBhcnR5IHdpZWRlciBuYWNoIEhhdXNlCnp1cnVlY2tnZWtlaHJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlmYXppdCBUZWlsIElJIChSb25kYSwgIDcuIEF1ZyAyMDA2LCAyMDo0MDowMCk6Cn4jISBybj1Hbm9tZSBydD0xMTU0OTY5MjI3IHJnPXBhcnR5Cn4jISB0aWQ9MTE1NDk2OTIyNwpIaSwKCnNvcnJ5LCBhYmVyIGljaCBtYWcgbmljaHQgZWluc2VoZW4sIGRhc3MgTGV1dGUsIGRpZSBzbyBwcmltYSBuZSBQYXJ0eQpvcmdhbmlzaWVyZW4sIGF1ZiBuZW0gaGFsYndlZ3MgdW52ZXJzY2h1bGRldGVuIE1pbnVzIHNpdHplbiBibGVpYmVuLiBTcHJpY2g6ClNjaGxhZ3QgYml0dGUgYXVmIG1laW5lIGJlaWRlbiBncmFkIGJlc3RlbGx0ZW4gS3J1ZWdlIGxpZWJlciBuZW4gYmlzc2NoZW4gd2FzCmRyYXVmIChORUlOLCBOSVggU0NIV0VSRVMsIG51ciBFdXJvISksIGljaCBkZW5rZSBkYXNzIGF1Y2ggZWluIHBhYXIgYW5kZXJlIGRlcgpLcnVlZ2UtRmFucyB1bmQgUGFydHktUmVnZW5kdXNjaGVyIGRhcyBnZW5hdXNvIHNlaGVuLgoKUm9uZGEgKmF1Y2ggb2xsZSBBbGRpLVplbHRlIHNpbmQgRElDSFQhIDstKSAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5ZmF6aXQgVGVpbCBJSSAoSHVtbmksICA3LiBBdWcgMjAwNiwgMjA6NDg6NTIpOgp+IyEgcm49Um9uZGEgcnQ9MTE1NDk3NjAwMCByZz1wYXJ0eQp+IyEgdGlkPTExNTQ5NjkyMjcKRnVlciBlaWdlbnRsaWNoIGdhciBuaWNodCBzY2hsZWNodGUgS2Fyc3RhZHQtWmVsdGUsIGRpZSBsZWlkZXIgYXVjaCBub2NoIG5pY2h0Cmdhbnoga29ycmVrdCBhYmdlc3Bhbm50IHNpbmQsIGdpbHQgZGFzIG51ciBpbnNvZmVybiwgZGFzcyBtYW4gV2Flc2NoZSBuaWNodApkaXJla3QgYXVmIGRlbiBCb2RlbiBsZWdlbiBzb2xsdGUuLi4gIkRpY2h0IiBpbSBTaW5uZSB2b24gIlJlZ25ldCBuaWNodCByZWluIgp3YXJzIGF1Y2guCgpVbmQgZWlnZW50bGljaCB3aWxsIGljaCBhdWNoIG5pY2h0LCBkYXNzIGplbWFuZCBhdWYgR2VsZCBzaXR6ZW5ibGVpYnQgLQpMZXJuZmFrdG9yIGhpbiBvZGVyIGhlciwgd2VyIHNpY2ggZGllIEFyYmVpdCBtYWNodCBzb2xsdGUgYXVjaCBuaWNodCBkcnVudGVyCmxlaWRlbi4gS2FubnN0IER1IG5pY2h0IGVpbmZhY2ggaXJnZW5kIGVpbmUgTW9lZ2xpY2hrZWl0IGFuZ2ViZW4sIHp1IHNwZW5kZW4/Ck9kZXIgaWNoIGthdWYgYXVjaCBub2NoIG5lbiBCaWVya3J1ZyBmdWVyIGVpbiBwYWFyIGV1cm8gbWVociAtIHZpZWxsZWljaHQgaXN0CmRhcyBkZXIgYmVzdGUgV2VnIC4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlci4uLiAoWm9vaywgIDkuIEF1ZyAyMDA2LCAxNjoxNjowMik6Ci4uLiB2b24gTWFoYXJldCB1bmQgVmFuSGVsc2luZyBzaW5kIG51biBvbmxpbmUuIEZ1ZXIgS29ycmVrdHVyZW4gYml0dGUgZGllCmRpZSBqZXdlaWxpZ2VuIEZvdG9ncmFmZW4gYW5zcHJlY2hlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZGVyLi4uIChab29rLCAgOS4gQXVnIDIwMDYsIDIxOjQyOjMzKToKfiMhIHJuPVpvb2sgcnQ9MTE1NTEzMjk2MiByZz1wYXJ0eQp+IyEgdGlkPTExNTUxMzI5NjIKUGVyZGl0YS4KWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlmYXppdCBUZWlsIElJIChHbm9tZSwgMTAuIEF1ZyAyMDA2LCAwMjowMToyMik6Cn4jISBybj1Sb25kYSBydD0xMTU0OTc2MDAwIHJnPXBhcnR5Cn4jISB0aWQ9MTE1NDk2OTIyNwpvaCwgZGFzIGlzdCB3aXJrbGljaCBuZXR0LiB3ZXIgdGF0c2FlY2hsaWNoIG5vY2ggc3BlbmRlbiBtYWcsIGthbm4gZGFzCm5hdHVlcmxpY2ggdHVuLiBhbSBiZXN0ZW4gYXVmIGRhcyBwYXJ0eWtvbnRvOyBkYXMgaXN0IGphIGltbWVyIG5vY2gKZ3VlbHRpZy4KbnVyIGJpdHRlIGpldHp0IG5pY2h0IGluIGh1bmRlcnRlcmJldHJhZWdlbiB1ZWJlcndlaXNlbi4uLiB3aXIgd29sbGVuCmphIGRlc3dlZ2VuIG5pY2h0IHJlaWNoIHdlcmRlbiAobmEgZ3V0LCBkYXMgc2Nob24uIGFiZXIgbmljaHQgYXVmCmV1cmUga29zdGVuIDspICkuCgpnbk9tZQoKcC5zLiB3ZXIgZGllIHNwZW5kZSBtaXQgZGVuIG5hY2hiZXN0ZWxsdGVuIGtydWVnZW4vdGFzc2VuIGdsZWljaHplaXRpZwogICAgIHVlYmVyd2Vpc2VuIHdpbGwsIHVlYmVyd2Vpc3QgaGFsdCA5LC0vNywtICsgeC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5ZmF6aXQgVGVpbCBJSSAoQ2Fzc2FuZHJhLCAxMy4gQXVnIDIwMDYsIDExOjI5OjI3KToKfiMhIHJuPUdub21lIHJ0PTExNTUxNjgwODIgcmc9cGFydHkKfiMhIHRpZD0xMTU0OTY5MjI3CkF1Y2ggdm9uIG1pciBlaW4gdmVyc3BhZXRldGVzIERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5CgpEYXMgV2V0dGVyIHdhciB6d2FyIG5pY2h0IHNvIGRvbGxlLCBkYWZ1ZXIgd2FyZW4gZGllIGxldXRlIHVtIHNvIGJlc3NlcnQgOy0pKQoKQ2Fzc3ksIGF1cyBkZW0gVXJsYXVienVydWVrCm5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWZheml0IFRlaWwgSUkgKEd1YXJkLCAxMy4gQXVnIDIwMDYsIDE5OjAxOjI4KToKfiMhIHJuPUdub21lIHJ0PTExNTUxNjgwODIgcmc9cGFydHkKfiMhIHRpZD0xMTU0OTY5MjI3CmRhIHdhciBkZXIgWndlcmcgZXR3YXMgc2NobmVsbC4gRGllIEtvc3RlbiBmdWVyIEtydWcvVGFzc2Ugd2VyZGVuIG5vY2ggdW0gZGllClZlcnNhbmRrb3N0ZW4gZXJob2VodC4gV2lldmllbCBkYXMgZ2VuYXUgaXN0LiBzYWcgaWNoIGFuLCB3ZW5uIGljaCB3aWVkZXIKYXJiZWl0ZS4uLgpIaWVyIG5vY2htYWwgZGVyIGF1ZnJ1ZiBhbiBhbGxlLCBkaWUgZWluZW4ga3J1ZyB3b2xsZW46CgpNYWlsIGFuIGd1YXJkQHRydmVzLmRlIG1pdCBhcnQsIGFuemFobCB1bmQgc2NocmlmdHp1ZwoKZ3J1c3MKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWZheml0IFRlaWwgSUkgKEd1YXJkLCAxMy4gQXVnIDIwMDYsIDE5OjA3OjAyKToKfiMhIHJuPUd1YXJkIHJ0PTExNTU0ODg0ODggcmc9cGFydHkKfiMhIHRpZD0xMTU0OTY5MjI3CmhpZXIgZGllIGxpc3RlIGRlciBiZXJlaXRzIHJlZ2lzdHJpZXJ0ZW4gYmVzdGVsbHVuZ2VuOgoKTXVhZGliIDEgS3J1Zy8xIFRhc3NlCkR1bnN0IDEgS3J1ZwpBaGFiIDEgS3J1ZwpEYXJrbG9yIDEgS3J1Zy8xIFRhc3NlCkVwcGkgMSBLcnVnClZhbmhlbHNpbmcgMSBLcnVnClJvbmRhIDIgS3J1ZWdlCkZpcmVoYXdrIDIgS3J1ZWdlCkRyYWh0YmVlbiAxIEtydWcKTGFjcmkgMyBUYXNzZW4KCmdydXNzCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGFuayAoUm9hZHJ1bm5lciwgMTguIEF1ZyAyMDA2LCAwMDoxNzo1NCk6Cn4jISBybj1DaGFnYWxsIHJ0PTExNTQ4OTQ0Mzkgcmc9cGFydHkKfiMhIHRpZD0xMTU0ODg1OTA4CnRzY2hhIC0gaXJnZW5kd2llIGVudGdpbmcgbWlyIGRhcyBjaGlsaSAuLiB6dXZpZWxlIGh1bmdyaWdlIG1pdG11ZGRlci4KUlIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmlsZGVyLi4uIChab29rLCAxOS4gQXVnIDIwMDYsIDE0OjA5OjM1KToKfiMhIHJuPVpvb2sgcnQ9MTE1NTE1MjU1MyByZz1wYXJ0eQp+IyEgdGlkPTExNTUxMzI5NjIKQ2hhZ2FsbApaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCaWxkZXIuLi4gKFpvb2ssIDIwLiBBdWcgMjAwNiwgMjA6MzI6NDMpOgp+IyEgcm49Wm9vayBydD0xMTU1OTg5Mzc1IHJnPXBhcnR5Cn4jISB0aWQ9MTE1NTEzMjk2MgpaZXNzdHJhCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcmJ1cmcwNiAoQ2Fzc2FuZHJhLCAxMy4gU2VwIDIwMDYsIDIxOjIyOjM4KToKV2llIHNpZWh0IGVzIGVpZ2VuZGxpY2ggYXVzLCB3ZWdlbiBXaW50ZXJidXJnIGltIERlemVtYmVyPwpNc3NlbiBqYSBzY2hsaWVzc2xpY2ggZGFzIFdFIGJlc3RpbW1lbiB1bmQga3Vja2VuIHdhcyBmcmVpaXN0LiAKCldhZXJlIHNjaG9lbiwgd2VubnMgbmljaHQgdW1iZWRpbmd0IGRhcyBlcnN0ZSBXRSBpc3QuIERhIGthbm4gaWNoIG5hZWhtbGljaApuaWNodC4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZzA2IChNaXJpbCwgMTMuIFNlcCAyMDA2LCAyMjozMzowNik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTE1ODE3NTM1OCByZz1wYXJ0eQp+IyEgdGlkPTExNTgxNzUzNTgKR2VodCBtaXIgZ2VuYXVzbywgaWNoIGthbm4gZGEgYXVjaCBuaWNodCwgZGVubiBpY2ggbXVzcyBhcmJlaXRlbiAoenVtaW5kZXN0ClNhbXN0YWcgbW9yZ2VuKS4gV2VyIGhhdCBkZW5uIHZvciwgZGFzIHp1IG9yZ2Fuc2llcmVuPyAoRGFzIGhhdCBkb2NoIGhvZmZlbnQtCmxpY2ggamVtYW5kIHZvcj8pCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJidXJnMDYgKE1vbnRhbnVzLCAxOS4gU2VwIDIwMDYsIDExOjA2OjU3KToKfiMhIHJuPU1pcmlsIHJ0PTExNTgxNzk1ODYgcmc9cGFydHkKfiMhIHRpZD0xMTU4MTc1MzU4Ci0tPiBBbnlzaWRvcmEuClNpZSBoYXQgZGEgbGV0enRlIFdvY2hlIGF1Y2ggc2Nob25tYWwgYW5nZXJ1ZmVuLCB1ZWJlcmxlZ3QgYWJlciBnZXJhZGUsIG9iIHNpZQpuaWNodCBzdGF0dGRlc3NlbiBlaW5lIEZydWVobGluYmdzcGFydHkgbWFjaGVuIHdpbGwuIEFGQUlLLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ludGVyYnVyZzA2IChDYXNzYW5kcmEsIDE5LiBTZXAgMjAwNiwgMTY6MTQ6MTUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE1ODY1NjgxNyByZz1wYXJ0eQp+IyEgdGlkPTExNTgxNzUzNTgKQnJhdm8gQW55CgpJY2ggZnJldSBtaWNoIHNjaG9uIGRyYXVmLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbnRlcmJ1cmcwNiAoQW55c2lkb3JhLCAyNS4gU2VwIDIwMDYsIDE1OjM4OjU1KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTU4Njc1MjU1IHJnPXBhcnR5Cn4jISB0aWQ9MTE1ODE3NTM1OApTbywgZGFubiB3aWxsIGljaCBtaWNoIGhpZXIgYXVjaCBtYWwgYWV1c3Nlcm4uIAoKV2VubiBpaHIgZWluZSBXaUJ1LVdpbnRlcnBhcnR5IGhhYmVuIHdvbGx0LCBkYW5uIG11ZXNzdCBpaHIgZXVjaCBsZWlkZXIgamVtYW5kCmFuZGVyZW4gc3VjaGVuLCBkZXIgZGFzIG9yZ2FuaXNpZXJ0LCBpY2ggYmVrb21tIGRhcyBkaWVzZXMgSmFociBsZWlkZXIgbmljaHQKbWVociB1bnRlci4gOigKQWxsZXJkaW5ncyB3YWVyIGljaCBiZXJlaXQsIGltIEZydWVoamFociBlaW5lIFdpQnUtUGFydHkgenUgb3JnYW5pc2llcmVuLCBpY2gKZGFjaHRlIHNvIGFuIEZlYnJ1YXIgb2RlciBNYWVyei4gV29iZWkgaWNoIGdlcmFkZSB2b24gWmVzc3RyYSBob2VydGUsIGRhc3MgZGFzCk1HIGphIEVuZGUgTWFlcnogMTUgSmFocmUgYWx0IHdpcmQuIFZpZWxsZWljaHQgd2FlciBkYXMgamEgYXVjaCBlaW4gbmV0dGVyCkFubGFzcyBmdWVyIGVpbmUgUGFydHkuIDopCgpBbnkqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSBpbiBLaWVsIHp1ciBLaWVsZXIgV29jaGUgKFJvbmRhLCAyNy4gU2VwIDIwMDYsIDAyOjQ3OjU3KToKSGFsbG8sCgp1bSBtYWwgYmVpIGRlciBQbGFudW5nIGV0d2FzIHZvcnp1Z3JlaWZlbjogSmFubmUgbWVpbnQsIGRhc3MgbWFuIGVpbmUKTXVkLVNvbW1lcnBhcnR5IHByaW1hIGluIEtpZWwgZHVyY2hmdWVocmVuIGtvZW5udGUuIFNlbGJzdHZlcnN0YWVuZGxpY2gKd2FlaHJlbmQgZGVyIEtpZWxlciBXb2NoZS4gTWVzaXJpaSB1bmQgaWNoIHNpbmQgc2Nob24gbWFsIGRhZnVlciAtIHdlciBpc3QKbm9jaCBkYWJlaT8gRWluZSBiZXNzZXJlIFdlcmJ1bmcgZnVlcnMgTUcga2FubnMgZG9jaCBlaWdlbnRsaWNoIG5pY2h0IGdlYmVuCmFscyBlaW4gb2RlciBtZWhyZXJlIFNlZ2Vsc2NoaWZmZSBtaXQgZW50c3ByZWNoZW5kZXIgQmVzYXR6dW5nPwoKUm9uZGEgKmlzdCBkYWZ1ZXIgdW5kIHp1ZWNrdCBzY2hvbiBtYWwgU2VnZWxzY2hlaW4gdW5kIFNjaHdpbW13ZXN0ZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSBpbiBLaWVsIHp1ciBLaWVsZXIgV29jaGUgKE1lc2lyaWksIDI3LiBTZXAgMjAwNiwgMDI6NDg6NTcpOgp+IyEgcm49Um9uZGEgcnQ9MTE1OTMxODA3NyByZz1wYXJ0eQp+IyEgdGlkPTExNTkzMTgwNzcKa29lbm5lbiB3aXIgbmljaHQgZWluIFNjaGlmZiBNb3JnZW5HcmF1ZW4gdGF1ZmVuPyBEYXMgd2FlciBkb2NoIG5ldHRlIFBSPwpNZXNpLCBpbiBQYXJ0eWxhdW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5IGluIEtpZWwgenVyIEtpZWxlciBXb2NoZSAoSmFubmUsIDI3LiBTZXAgMjAwNiwgMDI6NTA6MjcpOgp+IyEgcm49TWVzaXJpaSBydD0xMTU5MzE4MTM3IHJnPXBhcnR5Cn4jISB0aWQ9MTE1OTMxODA3NwphZWhtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eSBpbiBLaWVsIHp1ciBLaWVsZXIgV29jaGUgKEh1cmF4cHJheCwgMjcuIFNlcCAyMDA2LCAxMDozNjo0Nyk6Cn4jISBybj1KYW5uZSBydD0xMTU5MzE4MjI3IHJnPXBhcnR5Cn4jISB0aWQ9MTE1OTMxODA3NwpLaWVsIGtsaW5ndCBndXQsIGFuIGRlciBPc3RzZWUgd2FyIGljaCBub2NoIG5pZSB1bmQgZGllIEtpZWxlciBXb2NoZSBpc3QKc2ljaGVyIGludGVyZXNzYW50LgpXaXIgYnJhdWNoZW4gbmF0dWVybGljaCBlaW5lbiBDYW1waW5ncGxhdHosIGRlciB1bSBkaWVzZSBaZWl0IG5pY2h0IGF1c2dlYnVjaHQKaXN0IHVuZCBPcmdhbmlzYXRvcmVuLgpXZXIgdm9uIHVucyBrYW5uIGRlbiBzZWdlbG4gdW5kL29kZXIgaGF0IGVpbiBCb290IHVtIGRhIG1pdHp1bWFjaGVuPwoKQmVubm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5IGluIEtpZWwgenVyIEtpZWxlciBXb2NoZSAoSmFubmUsIDI3LiBTZXAgMjAwNiwgMTA6NDk6MjYpOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTExNTkzNDYyMDcgcmc9cGFydHkKfiMhIHRpZD0xMTU5MzE4MDc3Ckh1aHUsCmFsc28gZ3J1bmRzYWV0emxpY2g6IEtpZWwgaXN0IGltbWVyIGVpbmUgUmVpc2Ugd2VydCB1bmQgZ2VyYWRlIHp1ciBLaWVsZXIKV29jaGUuIEdsZWljaHdvaGwgc2luZCBkaWUgQXJ0aWtlbCBnZXN0ZXJuIGVoZXIgYXVzIEFsYmVybmhlaXQgKHVuZCByZWluZXIKU2NoaWthbmUgKmcqKSBpbiBkZXIgTVBBIGdlbGFuZGV0LiAKU29sbCBoZWlzc2VuLCBiaXNsYW5nIHp1bWluZGVzdCB3YXIgZWluZSBQYXJ0eSBpbiBLaWVsIHZvbiBtaXIgbmljaHQgd2lya2xpY2gKZ2VwbGFudCBnZXdlc2VuLi4uLiBVbmQgZGllIEtpZWxlci1Xb2NoZS1aZWl0IGJpZXRldCBzaWNoIHplaXRsaWNoIG0uRS4gZWhlcgpuaWNodCBhbjogbGV0enRlIFdvY2hlIGltIEp1bmksIGRhIHNpbmQgd2VkZXIgU2NodWwtIG5vY2ggU2VtZXN0ZXJmZXJpZW4uClVlYmVyIGVpbmVuIHNwYWV0ZXJlbiBaZWl0cHVua3Qga2FubiBpY2ggamEgbWFsIGFuZmFuZ2VuIG5hY2h6dWRlbmtlbi4uLiAqZyoKCkphbm5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgaW4gS2llbCB6dXIgS2llbGVyIFdvY2hlIChNdWFkaWIsIDI3LiBTZXAgMjAwNiwgMTU6MTI6MTQpOgp+IyEgcm49Um9uZGEgcnQ9MTE1OTMxODA3NyByZz1wYXJ0eQp+IyEgdGlkPTExNTkzMTgwNzcKaWNoIHdhZXJlIGphIGVoZXIgZnVlciBlaW5lIHNvbW1lcnBhcnR5IGFtIGhlbW1vb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSBpbiBLaWVsIHp1ciBLaWVsZXIgV29jaGUgKEFyaywgMjcuIFNlcCAyMDA2LCAxNjozMToyNSk6Cn4jISBybj1Sb25kYSBydD0xMTU5MzE4MDc3IHJnPXBhcnR5Cn4jISB0aWQ9MTE1OTMxODA3NwpXYXIgZXJzdCBlaW5tYWwgYXVmIEtpZWxlciBXb2NoZSAuLi4gbWFjaHQgYWJlciBMYXVuZSwgaW5zb2Zlcm4gZGFmdWVyIDopCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eSBpbiBLaWVsIHp1ciBLaWVsZXIgV29jaGUgKEppbWRpZ3JpeiwgMzAuIFNlcCAyMDA2LCAyMjoyNTowNSk6Cn4jISBybj1BcmsgcnQ9MTE1OTM2NzQ4NSByZz1wYXJ0eQp+IyEgdGlkPTExNTkzMTgwNzcKClBhcnR5ZXJwcm9idGUgQ2FtcGluZ3BsYWV0emUgc2luZCBGYWxja2Vuc3RlaW4gdW5kCkdyb2Vud29obGQuIFNpbmQgYWxsZXJkaW5ncyBiZWlkZSBldHdhcyBhdXNzZXJoYWxiLgpadXIgS2llbGVyIFdvY2hlIHNpbmQgZGllIGFiZXIgdmVybXV0bGljaCBhdWNoIHNjaG5lbGwgdm9sbCwKZXMgd2FlcmUgYWxzbyByYXRzYW0gcmVjaHR6ZWl0aWcgZG9ydCB6dSByZXNlcnZpZXJlbi4KCkJQIDk1LCA5NiwgOTgsIDk5LCAyMDAwIChJSVJDKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMTUgSmFocmUgTUcgKEJhbWJpLCAgNS4gT2t0IDIwMDYsIDIzOjAwOjQ2KToKV2lyZCBlcyB6dSBkaWVzZW0gQW5sYXNzIGVpbmUgRmVpZXJsaWNoa2VpdCBnZWJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAxNSBKYWhyZSBNRyAoQm9pbmcsICA2LiBPa3QgMjAwNiwgMDg6NDc6NDUpOgp+IyEgcm49QmFtYmkgcnQ9MTE2MDA4MjA0NiByZz1wYXJ0eQp+IyEgdGlkPTExNjAwODIwNDYKU2llaGUgQXJ0aWtlbCA0NiAuLi4gKFJlXjQ6IFdpbnRlcmJ1cmcwNiB2b20gMjUuOS4pCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMTUgSmFocmUgTUcgKENhc3NhbmRyYSwgMTUuIE9rdCAyMDA2LCAxMzowNzowOSk6Cn4jISBybj1Cb2luZyBydD0xMTYwMTE3MjY1IHJnPXBhcnR5Cn4jISB0aWQ9MTE2MDA4MjA0NgpXcmUgc2Nobiwgd2VubiBzaWNoIGVpbmVyIGtsYXIgdXNzZXJuIHdyZGUsIG9iIHdhbm4gdW5kIHdvIGVzIGVpbmUKRnJoamFocnNwYXJ0eSB6dW0gSnViaWxldW0gZ2ViZW4gd2lyZC4KCkNhc3N5LCB0cmFlcnQgdW0gZGllIFdpbnRlci9OaWtvbGF1c3BhcnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWtvbGF1c3BhcnR5PyAoQ2Fzc2FuZHJhLCAxNS4gT2t0IDIwMDYsIDEzOjQ5OjQxKToKSGF0IGF1c3NlciBtbWlyIG5vY2ggd2VyIEludGVyZXNzZT8KCldpZSBzaWVodCBlcyBhdXMsIHdlciBoYWV0dGUgaW50ZXJlc3NlIGRhcmFuLCBhbSB6d2VpdGVuIFdvY2hlbmVuZGUgaW0KRGV6ZW1iZXIgZWluZSBQYXJ0eSB6dSBtYWNoZW4/IE9ydCBtdWVzc3RlIGRhbm4gbm9jaCBnZXN1Y2h0IHdlcmRlbi4KCldhcyBzcHJpY2h0IHNjaGxpZXNzbGljaCBkYWdlZ2VuLCBzb3dvaGwgZWllIE5pa29sYXVzIGFscyBhdWNoIGVpbmUKRnJ1ZWhqYWhyc3BhcnR5IHp1IG1hY2hlbi4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmlrb2xhdXNwYXJ0eT8gKE1pcmlsLCAxNS4gT2t0IDIwMDYsIDEzOjUwOjE3KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTYwOTEyOTgxIHJnPXBhcnR5Cn4jISB0aWQ9MTE2MDkxMjk4MQpEYWdlZ2VuIHNwcmljaHQgZWlnZW50bGljaCBuaWNodHMuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOaWtvbGF1c3BhcnR5PyAoQXJrLCAxNS4gT2t0IDIwMDYsIDEzOjU0OjExKToKfiMhIHJuPU1pcmlsIHJ0PTExNjA5MTMwMTcgcmc9cGFydHkKfiMhIHRpZD0xMTYwOTEyOTgxCkhtcGZsLCBMdXN0IHNjaG9uIC4uLiBhYmVyIGRhIGZhaHJlbiB3aXIgKGtsZWluZSBCZWxvaG51bmcgOi0pICkgd2lyIGluIGRpZQpBbGxpYW56YXJlbmEsIHVtIGRpZSBCYXllcm4gZ2VnZW4gQ290dGJ1cyB6dSBzZWhlbi4gVW5kIGVzIGZhZWxsdCBzY2h3ZXIgenUKc2FnZW4gLi4uIEFCRVIgSUNIIEZBSFJFIERBIFNJQ0hFUiBOQUNIIE1VZU5DSEVOIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOaWtvbGF1c3BhcnR5PyAoWHV0ZWxpdXMsIDE1LiBPa3QgMjAwNiwgMTQ6MzY6MTcpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExNjA5MTI5ODEgcmc9cGFydHkKfiMhIHRpZD0xMTYwOTEyOTgxCkFsc28gaWNoIHdhZXIgZGFiZWkuCgpHcnVzcyBYdXRlbGl1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOaWtvbGF1c3BhcnR5PyAoU2hha2VkYmVlciwgMTUuIE9rdCAyMDA2LCAxNjozNTo1MCk6Cn4jISBybj1YdXRlbGl1cyBydD0xMTYwOTE1Nzc3IHJnPXBhcnR5Cn4jISB0aWQ9MTE2MDkxMjk4MQoyLiBEZXouIFdFIGtsaW5ndCAobm9jaCkgZ3V0LiA7LSkgSWNoIHdhZXJlIGFsc28gd29obCBhdWNoIGRhYmVpLgoKU2hha3kgLSBzdWNodCBkaWUgVkxhbmQtUk1zIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmlrb2xhdXNwYXJ0eT8gKFZhbmhlbHNpbmcsIDE1LiBPa3QgMjAwNiwgMTg6MzQ6NDApOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTYwOTIyOTUwIHJnPXBhcnR5Cn4jISB0aWQ9MTE2MDkxMjk4MQpIdWh1LAoKbWlyIHd1ZXJkZSBkYXMgMi4gRGV6LiBXRSBhdWNoIHNlaHIgdmllbCBiZXNzZXIgcGFzc2VuLiBJY2ggbXVzcyBhbSAxLgpuYWVtbGljaCBhcmJlaXRlbi4gKmdybWwqCgpWb24gWXVsaSB3ZWlzcyBpY2ggYXVjaCwgZGFzcyBzaWUgZGFzIDIuIFdFIGJldm9yenVnZW4gd3VlcmRlLgoKQ1UKClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOaWtvbGF1c3BhcnR5PyAoTWFoYXJldCwgMTUuIE9rdCAyMDA2LCAxODo1MDoxNyk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExNjA5MzAwODAgcmc9cGFydHkKfiMhIHRpZD0xMTYwOTEyOTgxCkRhcyBpc3QgamEgdG9sbCwgZGFzcyBzbyB2aWVsZSBrb21tZW4gd3VlcmRlbi4gV2ljaHRpZyBpc3QgYWJlciBlcnN0bWFsLCBkYXNzCmRpZSBhdWNoIGplbWFuZCBvcmdhbmlzaWVydCA7KQoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmlrb2xhdXNwYXJ0eT8gKE9ya3RvZXRlciwgMTUuIE9rdCAyMDA2LCAxODo1MTozNSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNjA5MzEwMTcgcmc9cGFydHkKfiMhIHRpZD0xMTYwOTEyOTgxCkltbWVyIGRpZXNlIEtsZWluaWdrZWl0ZW4uLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmlrb2xhdXNwYXJ0eT8gKENhc3NhbmRyYSwgMTUuIE9rdCAyMDA2LCAxODo1MzowMyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE2MDkzMTA5NSByZz1wYXJ0eQp+IyEgdGlkPTExNjA5MTI5ODEKbmVpbiBkaWUgRnJhZ2UgaXN0IHNjaG9uIHJpY2h0dW5nLCBoaW56dSBrb21tdCBkaWUgRnJhZ2Ugd28uCgpIYXQgd2VyIGRpZSBOdW1tZXIgdm9uIFdpQnUsIGRhbWl0IG1hbiBmcmFnZW4ga2FubiBvYiBkaWUgbm9jaCBQbGF0eiBoYWJlbiwKYXVjaCB3ZW5uIGljaHMgZnIgdW53YWhyc2NoZWlubGljaCBoYWx0ZS4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOaWtvbGF1c3BhcnR5PyAoR2xvaW5zb24sIDE2LiBPa3QgMjAwNiwgMTA6NDQ6NDIpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExNjA5MzExODMgcmc9cGFydHkKfiMhIHRpZD0xMTYwOTEyOTgxCkRhYmVpIHdvbGx0ZSBpY2ggZ2VyYWRlIGF1ZiBkZXIgQmVybGluZXIgTGlzdGUgbmFjaCBlaW5lbSBOaWtvbGF1c3N0YW1tdGlzY2gKZnJhZ2VuLiBJaHIgU3BpZWx2ZXJkZXJiZXIgd29sbHQgaW1tZXIgaXJnZW5kd29oaW4gcmVpc2VuIDopCgpXZW5uIGlociBkYSBub2NoIHdhcyBidWNoZW4gd29sbHQ6IGhvcHAgaG9wcC4gTmlrb2xhdXMgaXN0IGluIGFsbGVuIEpICnVsdHJhYmVnZWhydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOaWtvbGF1c3BhcnR5PyAoTW9udGFudXMsIDEwLiBOb3YgMjAwNiwgMDk6NDI6MDYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE2MDk4ODI4MiByZz1wYXJ0eQp+IyEgdGlkPTExNjA5MTI5ODEKd3d3LnNjaHVsbGFuZGhlaW0td2ludGVyYnVyZy5kZSAtLT4gZGEgZmluZGVzdCBkdSBhbGxlIEluZm9zLCBkaWUgZHUgYnJhdWNoc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOaWtvbGF1c3BhcnR5PyAoWmVzc3RyYSwgMTAuIE5vdiAyMDA2LCAxMDoxODo0Myk6Cn4jISBybj1Nb250YW51cyBydD0xMTYzMTQ4MTI2IHJnPXBhcnR5Cn4jISB0aWQ9MTE2MDkxMjk4MQpKYSwgc293ZWl0IGljaCB3ZWlzcywgaGF0IENhc3NhbmRyYSBkYSBtZWhyZmFjaCBhbmdlcnVmZW4gdW5kIGtlaW5lbiBlcnJlaWNodC4KVHJvdHogZGVyIEJpdHRlIHVtIFJ1ZWNrcnVmIHVuZCBlTWFpbCBrYW0gZGEgYWJlciBuaXggYW4gQW50d29ydCB6dXJ1ZWNrLgpOYWphLCBpc3QgaW56d2lzY2hlbiBlaCBlZ2FsLCB3aXIgc29sbHRlbiB1bnMgZWhlciBHZWRhbmtlbiB1bXMgRnJ1ZWhqYWhyCm1hY2hlbi4KWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJ1ZWhqYWhyc3BhcnR5IChaZXNzdHJhLCAxNS4gRGV6IDIwMDYsIDIyOjQxOjI3KToKSHVodSwKCmVzIHd1cmRlIHNjaG9uIG1laHJmYWNoIGdlc2NocmllYmVuLCBkYXNzIHdpciBqYSBpbSBGcnVlaGphaHIgMTUgd2VyZGVuLiA7LSkKSGF0IGRhIGplbWFuZCBzY2hvbiBrb25rcmV0ZXJlIElkZWVuIG9kZXIgUGxhbnVuZ2VuPwpFaW5lIE1vZWdsaWNoa2VpdGUgd2FlcmUgV2lCdSwgbmUgYW5kZXJlIE1vZWdsaWNoa2VpdCwgdm9uIGRlciBpY2ggaG9lcnRlLAp3YWVyZSB2aWVsbGVpY2h0IGVpbiBTY2h1bGxhbmRoZWltIGluIGRlciBOYWVoZSB2b24gS2Fzc2VsLiBTb2xsZW4gd2lyIG1hbApWb3JzY2hsYWVnZSBzYW1tZWxuLCBmYWxscyBkYSBub2NoIExldXRlIHdlbGNoZSBoYWJlbj8KSWNoIHd1ZXJkZSBtaWNoIGplZGVuZmFsbHMgZnJldWVuLCB3ZW5uIHdpciBlcyBzY2hhZmZ0ZW4sIGRpZSBhdXNnZWZhbGxlbmUKV2ludGVycGFydHkgYXVzenVnbGVpY2hlbi4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhqYWhyc3BhcnR5IChBbWFyeWxsaXMsIDE2LiBEZXogMjAwNiwgMDA6MTI6MDcpOgp+IyEgcm49WmVzc3RyYSBydD0xMTY2MjE4ODg3IHJnPXBhcnR5Cn4jISB0aWQ9MTE2NjIxODg4NwpXZW5ucyB6dXNhbW1lbiBtaXQgZWluZXIgS29lbG4tVW16dWdzcGFydHkgc3RhdHRmaW5kZW4gc29sbCwgc29sbHRlIG1hbiB3YXMgaW0KR3Jvc3NyYXVtIEtvZWxuIGFucGVpbGVuIDspCgpqdXN0IG15IGZldyBjZW50cywKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHk/IT8hPyAoUGVyZGl0YSwgIDMuIEZlYiAyMDA3LCAxNDoxMTo1MSk6CkhhbGxvIGFsbGVyc2VpdHM/CkdpYnQgZXMgenVyemVpdCBlaWdlbnRsaWNoIHVlYmVyaGF1cHQgamVtYW5kZW4sIGRlciBvZGVyIGRpZSBzaWNoIHVtIGRpZQpPcmdhbmlzYXRpb24gZWluZXIgUGFydHkga3VlbW1lcm4gd3VlcmRlPwpCaW4gbWFsIG5ldWdpZXJpZywgd2llIGRlciBTdGFuZCBkZXIgRGluZ2UgaXN0LgpQZXJkaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHk/IT8hPyAoRGFya2xvciwgIDUuIEZlYiAyMDA3LCAwMjoxNzoxNik6Cn4jISBybj1QZXJkaXRhIHJ0PTExNzA1MDgzMTEgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCkdlZ2Vuc3RhbmRzbG9zPwoKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eT8hPyE/IChIb2JvLCAgNS4gRmViIDIwMDcsIDExOjM0OjAzKToKfiMhIHJuPVBlcmRpdGEgcnQ9MTE3MDUwODMxMSByZz1wYXJ0eQp+IyEgdGlkPTExNzA1MDgzMTEKRHUsIFBlcmRpdGEsIHBsYW5zdCBlaW5lIFBhcnR5IGluIEFsdGVuc3RlaW4gOykKCiAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eT8hPyE/IChBbWFyeWxsaXMsICA1LiBGZWIgMjAwNywgMjM6MDE6MTUpOgp+IyEgcm49SG9ibyBydD0xMTcwNjcxNjQzIHJnPXBhcnR5Cn4jISB0aWQ9MTE3MDUwODMxMQpOZSBQYXJ0eSBpbiBLb2VsbiB3YWVyIGphIGF1Y2ggZ2FueiB3aXR6aWcsIGFuZ2VzaWNodHMgZGVzIFVtenVncyB1bmQgZGVyCnplbnRyYWxlbiBFcnJlaWNoYmFya2VpdCB2b24gdWViZXJhbGwgaGVyIChuYWhlenUgZ2xlaWNoZSBFbnRmZXJudW5nIGZ1ZXIKamVkZW4sIGVnYWwsIGF1cyB3ZWxjaGVtIEVjayBlciBrb21tdCkuIEljaCBoYWIga2VpbmUgWmVpdCB6dXIgT3JnYSwgd2VyZmUgZGFzCm51ciBtYWwgc28gaW4gZGVuIFJhdW0gOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5PyE/IT8gKENyb2Z0LCAgNS4gRmViIDIwMDcsIDIzOjAxOjQ3KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTcwNzEyODc1IHJnPXBhcnR5Cn4jISB0aWQ9MTE3MDUwODMxMQpKbywgZGVuIFJlY2huZXIgYW0gbmV1ZW4gU3RhbmRvcnQgdGF1ZmVuIHdhZXIgbmljaHQgdmVya2VocnQgOy0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHk/IT8hPyAoUnVtYXRhLCAgNi4gRmViIDIwMDcsIDA5OjE2OjQxKToKfiMhIHJuPUNyb2Z0IHJ0PTExNzA3MTI5MDcgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCktvZWxuPyBaZW50cmFsZSBFcnJlaWNoYmFya2VpdD8gTXVhaGFoYWhhLi4uClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eT8hPyE/IChHcmltbWJvcm4sICA2LiBGZWIgMjAwNywgMDk6Mjk6MDQpOgp+IyEgcm49UnVtYXRhIHJ0PTExNzA3NDk4MDEgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCk51bmphLCBpbW1lcmhpbiBrZWluIFNhY2tiYWhuaG9mIHdpZSBpbiBMZWlwemlnLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHk/IT8hPyAoUnVtYXRhLCAgNi4gRmViIDIwMDcsIDEwOjU3OjAyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTcwNzUwNTQ0IHJnPXBhcnR5Cn4jISB0aWQ9MTE3MDUwODMxMQpOaWNoIG1laHIgbGFuZ2UgOi0pClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXJ0eT8hPyE/IChHcmltbWJvcm4sICA2LiBGZWIgMjAwNywgMTE6MjM6NDEpOgp+IyEgcm49UnVtYXRhIHJ0PTExNzA3NTU4MjIgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCkR1IG1laW5zdCwgd2VubiBkYSBtYWwgZWluIElDRSB1bmdlYnJlbXN0IHJlaW5yYXN0LCBkYW5uIHdhcnMgZGFzIG1pdCBkZXIKU2Fja2dhc3NlPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQYXJ0eT8hPyE/IChSdW1hdGEsICA2LiBGZWIgMjAwNywgMTE6Mjc6NTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNzA3NTc0MjEgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCk5laW4sIGljaCByZWRlIHZvbiBkZW0gVHVubmVsIGZ1ZXIgc2NoYXBwZSA3MDBNaW8sIGRlciBkZW4gSEJGIG1pdCBkZW0KQmF5cmlzY2hlbiBCSEYgdmVyYmluZGVuIHNvbGwuClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5PyE/IT8gKFBlcmRpdGEsICA2LiBGZWIgMjAwNywgMTY6NTM6MjUpOgp+IyEgcm49SG9ibyBydD0xMTcwNjcxNjQzIHJnPXBhcnR5Cn4jISB0aWQ9MTE3MDUwODMxMQpuZWluIEhvYm8sIGljaCBwbGFuZSBzaWUgbmljaHQuIEljaCBiaW4gbnVyIGRhenUgZWluZ2VsYWRlbi4gQXVzc2VyZGVtIGlzdCBkYXMKcHJpdmF0LiBKYXdvbGwuClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5PyE/IT8gKE1vbnRhbnVzLCAgOC4gRmViIDIwMDcsIDEwOjQwOjM0KToKfiMhIHJuPVBlcmRpdGEgcnQ9MTE3MDc3NzIwNSByZz1wYXJ0eQp+IyEgdGlkPTExNzA1MDgzMTEKV29sbHRlIExpZXNlbCBuaWNodCBzaWNoIHVtIGVpbmUgRnJ1ZWhsaW5nc3BhcnR5IGF1ZmRlciBXaW50ZXJidXJnIGt1ZW1tZXJuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHk/IT8hPyAoQW55c2lkb3JhLCAgOS4gRmViIDIwMDcsIDE4OjI0OjU3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNzA5Mjc2MzQgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCmhhdHRlIGljaCBtYWwgZXJ3b2dlbiwgYWJlciBkYW5uIGthbSBrZWluZSByZWFrdGlvbiBhdWYgbWVpbmUgZnJhZ2UsIG9iIGRhcwpnZXd1ZW5zY2h0IHdhZXJlIG9kZXIgb2Igc2Nob24gd2FzIGFuZGVyZXMgZ2VwbGFudCBpc3QsIGF1c3NlcmRlbSBoYXQgc2ljaAprZWluZXIgYmVyZWl0ZXJrbGFlcnQsIG1pciB6dSBoZWxmZW4gdW5kIGRyaXR0ZW5zIGhpZXNzIGVzIGRhbm4sIGVzIHdhZXIgZG9jaAp2aWVsIHBhc3NlbmRlciwgd2VubiBlcyBpbiBrb2VsbiB3YWVyLCB3ZWdlbiBkZW0gdW16dWcgdW5kIHNvLi4uIGFsc28gaGFiIGljaAppcmdlbmR3YW5uIHJlc2lnbmllcnQgdW5kIG1pY2ggbmljaHQgd2VpdGVyIGRydW0gZ2VrdWVtbWVydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHk/IT8hPyAoTW9udGFudXMsIDE1LiBGZWIgMjAwNywgMjE6MzM6NTApOgp+IyEgcm49QW55c2lkb3JhIHJ0PTExNzEwNDE4OTcgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCkVzIGhlaXNzdCAid2VnZW4gZGVzIFVtenVncyIuClVuZCBkaWUgU3VlZC1EdWVzc2VsZG9yZmVyIGJla29tbWVuIGRvY2ggZWggbml4IGF1ZiBkZW4gS2Vrcy4gCkFsc28gbWFjaCBtYWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eT8hPyE/IChBbWFyeWxsaXMsIDE1LiBGZWIgMjAwNywgMjE6NDI6MDgpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE3MTU3MTYzMCByZz1wYXJ0eQp+IyEgdGlkPTExNzA1MDgzMTEKV2VyIHNhZ3RlIGhpZXIgd2FzIHZvbiBMZXZlcmt1c2VuPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHk/IT8hPyAoQW55c2lkb3JhLCAxNy4gRmViIDIwMDcsIDEyOjE4OjIxKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNzE1NzE2MzAgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCmphamFqYSwgaXN0IGphIHNjaG9uIGd1dCwgZHUgZ2VuZXRpdi1mYXRhbmlzdCA6LVAKaG0sIGVpbiB3ZW5pZyBrbmFwcCBtaXRsZXJ3ZWlsZSBvZGVyIG5pY2h0PyBpY2gga2FubiBtaXIgbmljaHQgdm9yc3RlbGxlbiwKZGFzcyB3aWJ1IGFtIGxldHp0ZW4gbWFlcnp3b2NoZW5lbmRlIG5vY2ggZnJlaSBpc3QsIGlzdCBqYSBzY2hvbiBpbiA2CndvY2hlbi4uLiB1bmQgb2Igc2ljaCBkYSBqZXR6dCBub2NoIHZpZWxlIGFubWVsZGVuIHd1ZXJkZW4/IGFiZXIgZHUgZGFyZnN0Cmdlcm5lIG1hbCBkb3J0IGFucnVmZW4gdW5kIGRhcyBhYmtsYWVyZW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXJ0eT8hPyE/IChDYXNzYW5kcmEsIDI1LiBGZWIgMjAwNywgMTk6MDA6MTMpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTExNzE3MTExMDEgcmc9cGFydHkKfiMhIHRpZD0xMTcwNTA4MzExCmhhYiBsZWlkZXIga2VpbmUgemVpdCB6dW0gaGVsZmVuLgp3dWVyZGUgYWJlciBnZXJuZSB3aWVkZXIgTXVkLVBhcnR5IGZlaWVybi4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eT8/PyAoUWl0ZXNzLCAyNC4gTWFyIDIwMDcsIDAwOjA2OjEzKToKQWxzbywgc28gd2lya2xpY2ggemVudHJhbCB3YWVyZSBqYSBNdWVuc3Rlci4uLgoKUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5Pz8/IChDcm9mdCwgMjQuIE1hciAyMDA3LCAwMDowNjoyNyk6Cn4jISBybj1RaXRlc3MgcnQ9MTE3NDY5MTE3MyByZz1wYXJ0eQp+IyEgdGlkPTExNzQ2OTExNzMKTmEgZGFubiBvcmdhbmlzaWVyIG1hbC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHk/Pz8gKE9ya3RvZXRlciwgMjQuIE1hciAyMDA3LCAwMDowNjozMSk6Cn4jISBybj1RaXRlc3MgcnQ9MTE3NDY5MTE3MyByZz1wYXJ0eQp+IyEgdGlkPTExNzQ2OTExNzMKQmFjayB0byB0aGUgcm9vdHM/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5Pz8/IChRaXRlc3MsIDI0LiBNYXIgMjAwNywgMDA6MDY6NTcpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExNzQ2OTExOTEgcmc9cGFydHkKfiMhIHRpZD0xMTc0NjkxMTczCkpvaCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eT8/PyAoQXJrLCAyNC4gTWFyIDIwMDcsIDAwOjA3OjI1KToKfiMhIHJuPVFpdGVzcyBydD0xMTc0NjkxMTczIHJnPXBhcnR5Cn4jISB0aWQ9MTE3NDY5MTE3MwpaZW50cmFsIHZvbiB3YXM/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eT8/PyAoUWl0ZXNzLCAyNC4gTWFyIDIwMDcsIDAwOjA3OjU3KToKfiMhIHJuPUFyayBydD0xMTc0NjkxMjQ1IHJnPXBhcnR5Cn4jISB0aWQ9MTE3NDY5MTE3Mwp2b24gYWxsZW0hIDpECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eT8/PyAoSHVtbmksIDI0LiBNYXIgMjAwNywgMDk6Mjg6MDIpOgp+IyEgcm49UWl0ZXNzIHJ0PTExNzQ2OTEyNzcgcmc9cGFydHkKfiMhIHRpZD0xMTc0NjkxMTczClN1cGVyIElkZWUsIE11ZW5zdGVyIGZhZW5kZSBpY2gga2xhc3NlIQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5Pz8/IChBcmssIDI0LiBNYXIgMjAwNywgMTE6NTk6MDYpOgp+IyEgcm49SHVtbmkgcnQ9MTE3NDcyNDg4MiByZz1wYXJ0eQp+IyEgdGlkPTExNzQ2OTExNzMKVXJncywgdW5kIGljaCBsYXMgIk1vbnN0ZXIgZmFlbmRlIGljaCBrbGFzc2UiIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5Pz8/IChHcmFsa29yLCAyNS4gTWFyIDIwMDcsIDA5OjQ3OjIzKToKfiMhIHJuPUFyayBydD0xMTc0NzMzOTQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTE3NDY5MTE3MwpEdSBtdWRkZXN0IHp1IHZpZWwuCkRhcyBpc3QgYWxsZXMuCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDYWxsIGZvciAuLi4gUGFydHkuIDstKSAoWmVzc3RyYSwgMjUuIE1hciAyMDA3LCAxNjo0OTo0Mik6Ck9rLi4uIE5hY2ggYWxsZXJsZWkgQmxvZWRlbGVpIGhpZXIgdW5kIGFuZGVyc3dvOgpHaWJ0IGVzIGplbWFuZGVuLCBkZXIgZXJuc3RoYWZ0IEludGVyZXNzZSBoYXQsIGVpbmUgU29tbWVycGFydHkgenUgbWFjaGVuPwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVycGFydHkgKE1lc2lyaWksIDI1LiBNYXIgMjAwNywgMjI6MDA6MzEpOgpXaXIgc29sbHRlbiBNdWFkaWIgbm9jaG1hbCBmcmFnZW4sIGF1Y2ggd2VubiBlciBrZWluIFNoZXJpZmYgdW5kIEVNIG1laHIgaXN0LApzZWluIFZvcnNjaGxhZyBkYXMgYXVmIGRlbSBmYW1pbGllbmZyZXVuZGxpY2hlbiBDYW1waW5ncGxhdHogaW4gQnV4dGVodWRlIHp1Cm1hY2hlbiBrbGFuZywgamVkZW5mYWxscyBmdWVyIG1pY2ggZ3V0LgoKR3J1c3MgTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IChaZXNzdHJhLCAyNS4gTWFyIDIwMDcsIDIyOjExOjU5KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE3NDg1MjgzMSByZz1wYXJ0eQp+IyEgdGlkPTExNzQ4NTI4MzEKTXVhZGliIGhhdCBoZXV0ZSBhYmdlc2FndC4gRW50d2VkZXIgZXIgc2NoYWZmdCBlcyB6ZWl0bGljaCBpbSBTb21tZXIgbmljaHQKb2RlciAoZXIgd29sbHRlIGRvcnQgbmFjaGZyYWdlbikgZXIgaGF0IGRhcyBHZWxhZW5kZS9kaWUgQmV0cmVpYmVyIGFscyBuaWNodApnZWVpZ25ldCBmdWVyIHVucyB2b3JnZWZ1bmRlbi4KWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSAoRGFudSwgMjguIE1hciAyMDA3LCAxOToyNDo1Mik6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzQ4NTM1MTkgcmc9cGFydHkKfiMhIHRpZD0xMTc0ODUyODMxClNvLCBudSBtYWNoIGljaCBtYWwgZWluZW4gTmFnZWwgbWl0IEtvcGYuCkljaCBiZXJlaXRlIG5lIFNvbW1lcnBhcnR5IG1pdCB2b3IgLSB1bnRlciBkZXIgVm9yYXVzc2V0enVuZywgZGFzcyBzaWNoIHp3ZWksCmRyZWkgYW5kZXJlIGZpbmRlbiwgZGllIG1pdG1hY2hlbi4gU29uc3QgbXVlc3N0IGlociBkYXMgQmllciB0cmlua2VuLCBkYXMgaWNoCmxlY2tlciBmaW5kLCBkZW5uIGVpbiBhbmRlcmVzIGdpYmJldCBkYW5uIG5pY2ghIApTbywgdW5kIG51IHppZXJ0IGV1Y2ggbmljaHQgbGFlbmdlciEgOi0pCgpEYW51CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAoTWFoYXJldCwgMjguIE1hciAyMDA3LCAyMDowODoxNSk6Cn4jISBybj1EYW51IHJ0PTExNzUxMDI2OTIgcmc9cGFydHkKfiMhIHRpZD0xMTc0ODUyODMxCkRhcyBrbGluZ3QgZG9jaCBlcnN0bWFsIHByaW1hLiAgV28gd2FlcmUgZGFzIGRlbm4gZGFubj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvbW1lcnBhcnR5IChEYW51LCAyOC4gTWFyIDIwMDcsIDIwOjExOjMwKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE3NTEwNTI5NSByZz1wYXJ0eQp+IyEgdGlkPTExNzQ4NTI4MzEKKmxhY2gqIGRhcyB3aWxsc3QgZHUgbmljaHQgd2lya2xpY2ggd2lzc2VuIDspIHdlbm5zIG5hY2ggbWlyIGFsbGVpbmUgZ2luZ2UKd3VlcmQgaWNoIGphIGluIGRlbiBiYXllcmlzY2hlbiB3YWxkIGZhaHJlbi4gCmFsc28sIHdlciBuZW4gemVudHJhbGVyZW4gb3J0IGhhYmVuIHdpbGwsIG11c3Mgc2ljaCBtZWxkZW4uLi4KCkRhbnUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcnBhcnR5IChNYWhhcmV0LCAyOC4gTWFyIDIwMDcsIDIwOjEyOjUwKToKfiMhIHJuPURhbnUgcnQ9MTE3NTEwNTQ5MCByZz1wYXJ0eQp+IyEgdGlkPTExNzQ4NTI4MzEKSGF1cHRzYWNoZSwgZXMgZ2lidCBkYSBuZSBmYW1pbGllbmZyZXVuZGxpY2hlIFVudGVya3VuZnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcnBhcnR5IChWZWN0b3IsIDI4LiBNYXIgMjAwNywgMjA6MTM6MjApOgp+IyEgcm49RGFudSBydD0xMTc1MTA1NDkwIHJnPXBhcnR5Cn4jISB0aWQ9MTE3NDg1MjgzMQpiYXlyaXNjaGVyIHdhbGQga2xpbmd0IGRvY2ggaW4gb3JkbnVuZyA/ISA6KQpkdXJjaGF1cyB6ZW50cmFsIHVuZCB3dWVyZGUgbmFjaCAxNSBqYWhyZW4gYXVjaAptYWwgZGVuIG9lc3RlcnJlaWNoZXJuL3NjaHdlaXplcm4gZW50Z2VnZW4ga29tbWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb21tZXJwYXJ0eSAoWHV0ZWxpdXMsIDI4LiBNYXIgMjAwNywgMjA6MTM6MzQpOgp+IyEgcm49RGFudSBydD0xMTc1MTA1NDkwIHJnPXBhcnR5Cn4jISB0aWQ9MTE3NDg1MjgzMQpvY2gsIHNvbGFuZ2UgZXMgZGEgbmVuIGthbXBpbmdwbGF0eiB1bmQgbmVuIGJhaG5ob2YgZ2lidCwgc29sbHMgbWlyIHJlY2h0IHNlaW4KOykKCnh1dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29tbWVycGFydHkgKENhc3NhbmRyYSwgMjguIE1hciAyMDA3LCAyMDoxNDowMik6Cn4jISBybj1WZWN0b3IgcnQ9MTE3NTEwNTYwMCByZz1wYXJ0eQp+IyEgdGlkPTExNzQ4NTI4MzEKdW5kIHNjaGxpbW1lciB6dSBlcnJlaWNoZW4gYWxzIHdpYnUgZ2VodCBqYSB3b2hsIGthdW0uCgpBbHNvIGJ1dHRlciBiZWkgZGllIEZpc2NoZS4KCkNhc3N5LCB3aWxsIFBhcnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21tZXJwYXJ0eSAoRGFudSwgMjguIE1hciAyMDA3LCAyMDoxNzoyOSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTE3NTEwNTY0MiByZz1wYXJ0eQp+IyEgdGlkPTExNzQ4NTI4MzEKbmEgZGFubiBndWNrdCBldWNoIG1hbCBkaWVzZSBTZWl0ZSBoaWVyIGFuIC0gaXN0IHp3YXIgcG90dGhhZXNzbGljaCBnZXN0YWx0ZXQsCmFiZXIgSGF1cyB1bmQgVW1nZWJ1bmcgc2luZCBzY2hvZW4hCkFic29sdXQgZmFtaWxpZW5mcmV1bmRsaWNoLCBkYSBBbGxlaW5sYWdlLiAKRWluIHBhYXIgWmltbWVyLCB2aWVsIFBsYXR6IGZ1ZXIgWmVsdGUuCgpEYW51CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTb21tZXJwYXJ0eSAoRGFudSwgMjguIE1hciAyMDA3LCAyMDoxNzo0OSk6Cn4jISBybj1EYW51IHJ0PTExNzUxMDU4NDkgcmc9cGFydHkKfiMhIHRpZD0xMTc0ODUyODMxCm9rYXkgdW5kIGhpZXIgbmNvaCBkZXIgbGluayA7KQpodHRwOi8vd3d3Lmp1Z2VuZGhhdXMta3VnZWxiYWNoLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU29tbWVycGFydHkgKEdub21lLCAyOC4gTWFyIDIwMDcsIDIwOjQxOjEyKToKfiMhIHJuPURhbnUgcnQ9MTE3NTEwNTg2OSByZz1wYXJ0eQp+IyEgdGlkPTExNzQ4NTI4MzEKc2llaHQgZ2FueiBuZXR0IGF1cy4KdmllbGxlaWNodCBrb2VubnRlbiB3aXIgZWluZW4gZGVhbCBtYWNoZW4uLi4gNTAlIHJhYmF0dCBnZWdlbiBlaW5lbgp2ZXJudWVuZnRpZ2VuIGF1ZnRyaXR0IGltIG5ldHo/Cgpnbk9tZSwga3VyeiB2b3IgYXVnZW5rcmVicwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNvbW1lcnBhcnR5IChEYW51LCAyOC4gTWFyIDIwMDcsIDIxOjQ1OjU4KToKfiMhIHJuPUdub21lIHJ0PTExNzUxMDcyNzIgcmc9cGFydHkKfiMhIHRpZD0xMTc0ODUyODMxCkljaCBoYWIgaW0gSGF1cyBtYWwgZGVuIFRlcm1pbiB2b20gMTIuLTE5LiBBdWd1c3QgcmVzZXJ2aWVyZW4gbGFzc2VuIG1pdCBlaW5lcgptb21lbnRhbiBrb3N0ZW5sb3NlbiBSdWVja3RyaXR0c29wdGlvbi4gTnVuIGVyYml0dGUgaWNoIHZvbiBldWNoIGVpbmUgVGVuZGVueiwKb2IgaWhyIGRhIGtvbW1lbiB3b2xsdCB1bmQga29lbm50LiBVbmQgendlaSB3ZWl0ZXJlIGZsZWlzc2lnZSBNaXRwbGFuZXIuIApPZGVyIGtvbnN0cnVrdGl2ZSBJZGVlbiBmdWVyIGFuZGVyZSBQYXJ0eS1PcnRlLCBkaWUgYXVjaCBpbSBKdWxpIG5vY2ggZnJlaQpzaW5kLi4uCgpEYW51CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU29tbWVycGFydHkgKEh1bW5pLCAyOC4gTWFyIDIwMDcsIDIxOjU2OjU2KToKfiMhIHJuPURhbnUgcnQ9MTE3NTExMTE1OCByZz1wYXJ0eQp+IyEgdGlkPTExNzQ4NTI4MzEKSWNoIGthbm4gZGFubiB3b2hsIGxlaWRlciAoenVtaW5kZXN0IHVudGVyIGRlciBXb2NoZSkgbmljaHQuIEZ1ZXIgZGllClN0YXRpc3RpayAoIkh1bW5pIGlzdCBhdWYgamVkZXIgTXVkcGFydHkgc2VpdCAyMDAwIiAtIGJpc2hlciBSZWFsaXRhZXQpIG11c3MKaWNoIHdvaGwgZGFubiBudXIgYW0gV0Uga29tbWVuLiBUcm90emRlbSB3YWVyZSBtaXIgZWluIGFuZGVyZXIgVGVybWluIGxpZWJlci4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVuZHN0dWVjayAoTWlyaWwsIDMxLiBNYXIgMjAwNywgMjE6MzM6NDEpOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTExNzUxOTUzNjEgcmc9cHVpegp+IyEgdGlkPTExNzUxOTUzNjEKRWluIFRlcm1pbiBpbiBkZW4gU29tbWVyZmVyaWVuIHdhZXJlIG1pciBhdWNoIGRldXRsaWNoIGxpZWJlci4gRmFsbHMgZGFzIGRvcnQKbmljaHQgbWFjaGJhciBpc3QsIHdpciB3YWVyZW4gZHVyY2hhdXMgYXVjaCBiZXJlaXQsIGRpZSBQYXJ0eSB3aWVkZXIgaGllciBpbgpkZXIgR2VnZW5kIHp1IG9yZ2FuaXNpZXJlbi4gU3VyZmVuIGluYmVncmlmZmVuLCB2ZXJzdGVodCBzaWNoIDspLgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVuZHN0dWVjayAoTWlyaWwsIDMxLiBNYXIgMjAwNywgMjE6MzQ6MzkpOgp+IyEgcm49TWlyaWwgcnQ9MTE3NTM2OTYyMSByZz1wYXJ0eQp+IyEgdGlkPTExNzUxOTUzNjEKQWNoamEsIGljaCB3b2xsdGUgbmF0dWVybGljaCBhdWYgZGVuIHZvcmFuZ2VnYW5nZW5lbiBBcnRpa2VsIGRpZXNlciBSdWJyaWsKYW50d29ydGVuLCBiaW4gYWJlciBzY2hlaW5iYXIgdG90YWwgYXVzIGRlciBVZWJ1bmcgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgKE11YWRpYiwgIDEuIEFwciAyMDA3LCAxODoyMjo1NCk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzQ4NTM1MTkgcmc9cGFydHkKfiMhIHRpZD0xMTc0ODUyODMxCmxldHp0ZXJlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAxNSBKYWhyZSBLcmF1dGxhbmQgKEh1bW5pLCAgMi4gQXByIDIwMDcsIDE5OjU4OjQ2KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE3NTQ2NDkzMCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE3NTQ2MDg2MQpEYXMgUGFydHlicmV0dCBzdGVodCBzY2hvbiBzZWl0IGdlc3Rlcm4sIGljaCBoYXR0ZSBnZXN0ZXJuIGRhIGRpZSBmYWxzY2hlbgpUZXJtaW5lIChBdWd1c3Qgc3RhdHQgSnVsaSkgZHJhdWZnZXNjaHJpZWJlbi4gSW4gZGVyIE1QQSBzdGVoZW4gYWJlciBkaWUKcmljaHRpZ2VuLCBqZXR6dCBhdWNoIGF1ZiBkZW0gQnJldHQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMTUgSmFocmUgS3JhdXRsYW5kIChWYW5oZWxzaW5nLCAgMS4gTWFpIDIwMDcsIDExOjU2OjAxKToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTE3ODAxMzE3OSByZz1wYXJ0eQp+IyEgdGlkPTExNzU0NjA4NjEKSWNoIGhhYmUgbWFsIG5lbiBrbGVpbmVuIEtvc3RlbnJlY2huZXIgZnVlciBaZWx0ZXIgdW50ZXIgdW5zIGVyc3RlbGx0LgpEYXMgaXN0IGVpbmUgVGFiZWxsZSwgZGllIGluIHZlcnNjaGllZGVuZW4gRm9ybWF0ZW4gdW5kIC9QYXJ0eS8gaW0gZnRwCihmdHA6Ly9tZy5tdWQuZGUpIHp1IGZpbmRlbiBpc3QuCgpDVQpWSAoKUC5TLgpXZW5uIGRpZSB3ZWl0ZXJlbiBLb3N0ZW4gZnVlciBSTC1RdWVzdCwgUGFydHllc3NlbiBldGMuIGZlc3RzdGVoZW4sIHdlcmQgaWNoCmF1Y2ggbmVuIGFrdHVhbGlzaWVydGUgVmFyaWFudGUgbWFjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogMTUgSmFocmUgS3JhdXRsYW5kIChaZXNzdHJhLCAgNy4gSnVuIDIwMDcsIDE0OjIyOjI5KToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTE3ODAxMzM2MSByZz1wYXJ0eQp+IyEgdGlkPTExNzU0NjA4NjEKSHVodSwKCmljaCBoYWIgbmV1bGljaCBtYWwgZWluIHBhYXIgUGhvdG9zIGFtIENhbXBpbmdwbGF0eiBhbiBkZXIgUnVociBnZW1hY2h0LiBXZXIKZGllIEdlZ2VuZCBub2NoIG5pY2h0IGtlbm50IHVuZCBuZXVnaWVyaWcgaXN0LCBmaW5kZXQgZGllIEJpbGRlciB2b3JsYWV1ZmlnCnVudGVyOgpodHRwOi8vbWcubXVkLmRlL25ld3dlYi9yZWFsd29ybGQvUGFydHkuMzEvcnVocmJydWVja2UvcnVocmJydWVja2UuaHRtbAoKRWluIEJsaWNrIGF1ZiBkaWUgQmlsZGVyIGRlciBsZXR6dGVuIFBhcnR5IGRvcnQga29lbm50ZSBuYXR1ZXJsaWNoIGF1Y2ggZWluaWdlCk5ldWdpZXIgYmVmcmllZGlnZW4uIDstKQpodHRwOi8vbWcubXVkLmRlL25ld3dlYi9yZWFsd29ybGQvUGFydHkuMjgvaW5kZXguc2h0bWwKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1cmZlbiAoTWlyaWwsIDE0LiBKdW4gMjAwNywgMjM6MzU6MjEpOgpIdWh1LAoKc28gbGFuZ3NhbSB3aXJkIGVzIFplaXQsIGRhc3Mgc2ljaCBkaWVqZW5pZ2VuLCBkaWUgSW50ZXJlc3NlIGFuIGVpbmVtIFN1cmZrdXJzCmhhYmVuLCBtYWwgbWVsZGVuIHVuZCBkYXp1IGFubWVsZGVuLiBTb2JhbGQgaWNoIFphaGxlbiBoYWJlLCBrYW5uIGljaCBtaXQgZGVyCm5ldHRlbiBGcmF1IHZvbSBDYW1waW5ncGxhdHogYXVjaCBldHdhcyBhdXNoYW5kZWxuLiBTaWUgc2FndGUgdW5zLCBkYXNzIGRlcgpLdXJzIHZvbiBNb250YWcgYmlzIE1pdHR3b2NoIG9kZXIgRG9ubmVyc3RhZyBiaXMgU2Ftc3RhZyBnZWh0LiBFcyBpc3Qga2VpbgpQcm9ibGVtLCBiZXJlaXRzIFNvbm50YWcgZG9ydCBhbnp1cmVpc2VuLCB1bSBkYW5uIHNjaG9uIGFiIE1vbnRhZyB0ZWlsbmVobWVuCnp1IGtvZW5uZW4uIFNvYmFsZCBpY2ggd2Vpc3MsIHdpZSB2aWVsZSBudW4gd2lya2xpY2ggYW4gZWluZW0gS3VycwppbnRlcmVzc2llcnQgc2luZCwgd2VyZCBpY2ggZ2VuYXVlcmVzIGhlcmF1c2ZpbmRlbiB1bmQgZGFubiBrb2VubnQgaWhyIGV1Y2gKYXVjaCB2ZXJiaW5kbGljaCBkYWZ1ZXIgYW5tZWxkZW4uIERhaGVyIG1vZWNodGUgaWNoIGFsbGUgSW50ZXJlc3NlbnRlbiBiaXR0ZW4sCmVpbmUgbWFpbCBhbiBkZW4gU3BpZWxlciAnU3VyZmVuJyB6dSBzY2hpY2tlbi4gCgpCaXR0ZSBtYWNodCBkaWVzIGJpcyBzcGFldGVzdGVucyAyNS42LjIwMDcuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1cmZlbiAoVmFuaXIsIDE1LiBKdW4gMjAwNywgMTM6NDM6NTcpOgp+IyEgcm49TWlyaWwgcnQ9MTE4MTg1NjkyMSByZz1wYXJ0eQp+IyEgdGlkPTExODE4NTY5MjEKR2lidHMgc2Nob24gR3JvZXNzZW5iZXJlaWNoZSBpbiBkZW0gc2ljaCBkZXIgYXVma29tbWVuZGUgR2VsZHN0cm9tIGJld2VnZW4Kd2lyZD8KVW5kIG5vY2htYWwgZnVlciBEdW1tZTogV2FzIHdpcmQgZ2Vib3Rlbj8gSXN0IGRhIHouQi4gYXVjaCBkZXIgVmVybGVpaCB2b24KR2VnZW5zdGFlbmRlbiBhdXMgTmVvcHJlbiBtaXQgZHJpbj8KClYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1cmZlbiAoTWlyaWwsIDE1LiBKdW4gMjAwNywgMTQ6MDk6MDUpOgp+IyEgcm49VmFuaXIgcnQ9MTE4MTkwNzgzNyByZz1wYXJ0eQp+IyEgdGlkPTExODE4NTY5MjEKR2VnZW5zdGFlbmRlIGF1cyBOZW9wcmVuIGthbm4gbWFuIGltIFJhaG1lbiBkZXMgS3Vyc2VzIGxlaWhlbiwgZGFzIGlzdCBpbQpQcmVpcyBpbmJlZ3JpZmZlbi4gSWNoIG11c3Mgbm9jaCBtYWwgbmFjaGZyYWdlbiwgYWJlciBsZXR6dGUgTWFsIHdhcmVuIGVzIGNhCjEwMCBFdXJvIHVuZCBub2NoIG1hbCAyMCBmdWVyIGRpZSBQcnVlZnVuZywgd2VubiBpY2ggZGFzIHJpY2h0aWcgaW0gS29wZiBoYWIuClN1cmZicmV0dGVyIHNpbmQgbmF0dWVybGljaCBhdWNoIHZvciBPcnQsIGFiZXIgZGFzIHdhciBnbGF1YiBpY2gga2xhciA7KS4KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWtvc3RlbiAoTWlyaWwsIDE1LiBKdW4gMjAwNywgMTY6MTE6NTkpOgpIdWh1IG5vY2htYWwhCgpTbyBsYW5nc2FtIGlzdCBlcyBhbiBkZXIgWmVpdCwgZXVjaCBtaXQgZGVtIHVubGllYnNhbWVuIFRlaWwgaW0gSGluYmxpY2sgYXVmCmRpZSBQYXJ0eSB2ZXJ0cmF1dCB6dSBtYWNoZW46IGRlbiBLb3N0ZW4uIERpZSBlaWdlbnRsaWNoZSBQYXJ0eSBhbSBTYW1zdGFnCndpcmQgd2llZGVyIGluIGRlciBIYWxsZSBkZXMgQ2FtcGluZ3BsYXR6ZXMgc3RhdHRmaW5kZW4uIEdldHJhZW5rZSB2ZXJrYXVmZW4KZGllIEJldHJlaWJlciBkZXMgQ2FtcGluZ3BsYXR6ZXMgc2VsYnN0IHp1IGFremVwdGFibGVuIFByZWlzZW4sIGFiZXIgd2lyCndlcmRlbiBlaW4gQnVmZmV0IGJlc3RlbGxlbi4gRGFmdWVyIHdlcmRlbiB3aXIgcGF1c2NoYWwgMTUgRXVybyBwcm8KRWxmL1p3ZXJnL01lbnNjaC91c3cuIHJlY2huZW4sIGRpZSBpaHIgYml0dGUgbWl0IGRlciB2ZXJiaW5kbGljaGVuIEFubWVsZHVuZwp6dW0gRXNzZW4gYXVjaCB1ZWJlcndlaXNlbiBzb2xsdGV0IHVuZCB6d2FyIGluIGFic2VoYmFyZXIgWmVpdCwgZGFtaXQgd2lyIGF1Y2gKZG9ydCBiZXN0ZWxsZW4ga29lbm5lbi4gSWNoIHNhZyBtYWwgYWxzIERlYWRsaW5lIGZ1ZXIgZGFzIEVzc2VuIGRlbiAxMC4wNy4wNywKZGFzIHNvbGx0ZSBhdWNoIGZ1ZXIgZGVuIENhdGVyaW5nbWVuc2NoZW4gbm9jaCBiZXF1ZW0gcmVpY2hlbi4gRC5oLiB3ZXIgYmlzCmRhaGluIG5pY2h0IGFuZ2VtZWxkZXQgaXN0IG11c3MgaHVuZ2VybiwgZ3JpbGxlbiwgUG9tbWVzIGthdWZlbiBvZGVyIHdhcyBhdWNoCmltbWVyLgoKV2llIGJlemFobGUgaWNoIG1laW4gRXNzZW4/IEFtIGVpbmZhY2hzdGVuIGlzdCBlcyBuYXR1ZXJsaWNoLCB6dSBlaW5lbSB1bnNlcmVyCmJlbGllYnRlbiBTdGF0aXMgenUga29tbWVuIHVuZCBtaXIgZGFzIEdlbGQgaW4gZGllIEhhbmQgenUgZHJ1ZWNrZW4uIFdlbSBkYXMKenUgd2VpdCBpc3QsIGRlciBrYW5uIGF1Y2ggZGFzIHByb2ZhbmUgTWl0dGVsIGRlciBVZWJlcndlaXN1bmcgbnV0emVuLiBEYXp1CmJpdHRlIGZvbGdlbmRlcyBLb250byB2ZXJ3ZW5kZW46Ckt0by46MDUgOTI3IDkzNiAyMApCTFogICAgIDMzMCA4MDAgMzAKVmVyd2VuZHVuZ3N6d2VjazogTXVkbmFtZQoKQXVzc2VyZGVtIHdhZXJlIGVzIG5ldHQsIG1pciBlaW5lIG1haWwgYW4gZGVuIENoYXJha3RlciBFc3NlbiB6dSBzY2hpY2tlbiwKZGFtaXQgaWNoIG5lbiBVZWJlcmJsaWNrIGRhcnVlYmVyIGJla29tbWUsIHdlbSBpY2ggd2VnZW4gZmVobGVuZGVuClVlYmVyd2Vpc3VuZ2VuIGF1ZiBkaWUgRnVlc3NlIHRyZXRlbiBtdXNzIDspLgoKRGFzIHdhcidzIGVyc3RtYWwgd2llZGVyIGZ1ZXIgaGV1dGUsIAoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWtvc3RlbiAoTWlyaWwsIDE1LiBKdW4gMjAwNywgMTY6MjA6MjkpOgp+IyEgcm49TWlyaWwgcnQ9MTE4MTkxNjcxOSByZz1wYXJ0eQp+IyEgdGlkPTExODE5MTY3MTkKU2NobGF1ZXJ3ZWlzZSBzb2xsdGUgaWNoIHZpZWxsZWljaHQgbm9jaCBkZW4gTmFtZW4gZGVzIEVtcGZhZW5nZXJzCmRhenVzY2hyZWliZW4gdW5kIGRhbm4gYXVjaCBnbGVpY2ggbm9jaCBkYXMgR2VsZGluc3RpdHV0OgpFbXBmYWVuZ2VyOiBCYXJiYXJhIFN0YWhsCkdlbGRpbnN0aXR1dDogRHJlc2RuZXIgQmFuawoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZXR0ZXJuIChEYW51LCAxOS4gSnVuIDIwMDcsIDIxOjMyOjQwKToKV2VubiBJbnRlcmVzc2UgYmVzdGVodCwgd3VlcmRlIGljaCBlaW5lbiBrbGVpbmVuIEtsZXR0ZXJrdXJzIGFuYmlldGVuLAp2b3JyYW5naWcgaW0gS2xldGV0cmdhcnRlbiBJc2VuYmVyZy4KaHR0cDovL3d3dy5ydWhyLWd1aWRlLmRlL3JnLnBocD9sZWZ0PW1lbnUmbWlkPWFydGlrZWwmaWQ9MzgxJmthdF9pZD0xJnBhcmVudF9pCmQ9MTUma3BfaWQ9MApJY2gga2FubiBkYXMgbm9ldGlnZSBNYXRlcmlhbCBtaXRicmluZ2VuLCB3ZW5uIGljaCB3ZWlzcywgd2llIHZpZWxlIExldXRlIHNpY2gKZ2VybiBhbSBGZWxzIGF1c3Byb2JpZXJlbiBtb2VjaHRlbi4gVm9yYXVzc2V0enVuZ2VuIGdpYnQgZXMga2VpbmUgLWFiZ2VzZWhlbgp2b24gZWluIGJpc3NjaGVuIGdlc3VuZGVuIE1lbnNjaGVudmVyc3RhbmQgOykKCkRhbnUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5dGFzc2VuLCAtS3J1ZWdlIGV0Yy4gKFplc3N0cmEsIDE1LiBKdWwgMjAwNywgMjA6NDY6MDApOgpIdWh1LAoKZGEgYmlzaGVyIGtlaW5lIHZlcm51ZW5mdGlnZSBJZGVlIGF1Zmdla29tbWVuIGlzdCwgd2FzIG1hbiBhbHMgTW90aXYgZnVlcgpQYXJ0eWRldm90aW9uYWxpZW4gdmVyd2VuZGVuIGtvZW5udGUsIGZyYWcgaWNoIGhpZXIgbWFsLiBIYXQgamVtYW5kIGVpbmUgbmV0dGUKSWRlZSBvZGVyIGVpbmVuIFZvcnNjaGxhZz8gOy0pIElzdCB6d2FyIHJlY2h0IGt1cnpmcmlzdGlnIHVuZCB2ZXJtdXRsaWNoCmtsYXBwdCBlcyBlaCBuaWNodCBtZWhyLCBhYmVyIGFscyBsYXN0LW1pbnV0ZS1WZXJzdWNoIHdvbGx0IGljaCBtYWwgYW5mcmFnZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoU2hhZWVuYSwgMTUuIEp1bCAyMDA3LCAyMDo1NDoxOSk6Cn4jISBybj1aZXNzdHJhIHJ0PTExODQ1MjUxNjAgcmc9cGFydHkKfiMhIHRpZD0xMTg0NTI1MTYwCldpZSB3YWVyZSBlcyBkZW5uIG1pdCBkZW0gVGVsbmV0LUxvZ2luLVRleHQ/IEFsc28gZWluZmFjaCB3YXMgZWluZW0KZGEgc28gZW50Z2VnZW5zY3JvbGx0IGJpczogCldpZSBoZWlzc3QgRHUgZGVubiAoIm5ldSIgZnVlciBuZXVlbiBTcGllbGVyKT8gCnVuZCBkYWhpbnRlciBkZW4gZW50c3ByZWNoZW5kZW4gTmFtZW4/CgpTaGFlZW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5dGFzc2VuLCAtS3J1ZWdlIGV0Yy4gKExpYXJhLCAxNS4gSnVsIDIwMDcsIDIwOjU3OjQwKToKfiMhIHJuPVNoYWVlbmEgcnQ9MTE4NDUyNTY1OSByZz1wYXJ0eQp+IyEgdGlkPTExODQ1MjUxNjAKSWNoIHdhZXJlIGZ1ZXIgZWluZSBOZXVhdWZsYWdlIGRlciBUYXNzZW4sIGRpZSBNZXNpIGdsYXViZSBpY2ggbWFsIGZ1ZXIgZWluZQpQYXJ0eSBpbiBBdWZ0cmFnIGdlZ2ViZW4gaGF0LgpEYXJhdWYgd2FyIGVpbmUgZmFyYmlnZSBEYXJzdGVsbHVuZyBkZXIgSHlkcmEsIHVtcmluZ3Qgdm9uIE1pdGdsaWVkZXJuCmRpdmVyc2VyIEdpbGRlbi4KV2FzIGF1ZiBkZXIgYW5kZXJlbiBTZWl0ZSBzdGFuZCwgd2Vpc3MgaWNoIGxlaWRlciBuaWNodCBtZWhyIGdlbmF1LiAKRXZ0bC4gd2FyIGVzIGRlciB2b2xsZSBUaXRlbCBkZXMgQ2hhcnMgb2RlciBzb3dhcy4KCk1laW5lIFRhc3NlIGlzdCBqZWRlbmZhbGxzIHZlcnNjaG9sbGVuLCB1bmQgaWNoIGhhZXR0ZSBnZXJuZSBtYWwgd2llZGVyIHNvCmVpbmUuClp1bWFsIGRpZSBRdWFsaXRhZXQgZGVzIERydWNrcyBzZW5zYXRpb25lbGwgd2FyLiA6KQoKWlpMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5dGFzc2VuLCAtS3J1ZWdlIGV0Yy4gKFplc3N0cmEsIDE1LiBKdWwgMjAwNywgMjE6MTE6NTEpOgp+IyEgcm49U2hhZWVuYSBydD0xMTg0NTI1NjU5IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MApNaG1tLCBkYSBpY2ggYXVjaCB6LkIuIGRpZSBWSS1SZWZlcmVuenRhc3NlIG5ldHQgZmluZGUsIHNwcmljaHQgc28gZWluClNjcmVlbnNob3QgdGF0c2FlY2hsaWNoIGVpbmlnZXMgaW4gbWlyIGFuLiA7LSkKTmFqYSwgZWluIGVpbmZhY2hlciBTY3JlZW5zaG90IHNpZWh0IHouQi4gc28gYXVzOgpmdHA6Ly9tZy5tdWQuZGUvUGFydHkvQmlsZGVyL3ZvcnNjaGxhZzIwMDdfMS5wbmcKRWluc2NocmFlbmtlbmRlcndlaXNlIG11c3MgbWFuIGFiZXIgc2FnZW4sIGRhc3MgbWFuIGJlaSBzb3dhcyB2ZXJtdXRsaWNoIGF1Zgp0cmFuc3BhcmVudGUgSGludGVyZ3J1ZW5kZSBiZXNjaHJhZW5rdCBpc3QuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eXRhc3NlbiwgLUtydWVnZSBldGMuIChaZXNzdHJhLCAxNS4gSnVsIDIwMDcsIDIxOjU1OjU2KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE4NDUyNjcxMSByZz1wYXJ0eQp+IyEgdGlkPTExODQ1MjUxNjAKTWhtbSwgZWluZSBJZGVlIHZvbSBmYmFuZCB2b24gdm9yaGluOiBCZWRydWNrZW4gdm9uICdCbGFjayBNYWdpYyctVGFzc2VuLCBkaWUKRGluZ2VyLCBkaWUga2FsdCBzY2h3YXJ6IHNpbmQgdW5kIGhlaXNzIHdlaXNzIHdlcmRlbi4gRGFyYXVmIGhhbHQgYmVzYWd0ZW4KU2NyZWVuc2hvdCBtaXQgc2Nod2FyemVtIEhpbnRlcmdydW5kIHVuZCBncnVlbmVyL3dlaXNzZXIvYmxhdWVyL3JvdGVyL2V0Yy4KU2NocmlmdC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5dGFzc2VuLCAtS3J1ZWdlIGV0Yy4gKFZhbmlyLCAxNS4gSnVsIDIwMDcsIDIyOjAzOjI3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE4NDUyOTM1NiByZz1wYXJ0eQp+IyEgdGlkPTExODQ1MjUxNjAKR2VpbGUgSWRlZSwgaWNoIG5laG1lIGVpbmUuClYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eXRhc3NlbiwgLUtydWVnZSBldGMuIChWYW5oZWxzaW5nLCAxNS4gSnVsIDIwMDcsIDIyOjA0OjE1KToKfiMhIHJuPVZhbmlyIHJ0PTExODQ1Mjk4MDcgcmc9cGFydHkKfiMhIHRpZD0xMTg0NTI1MTYwCkRhbm4gbXVlc3NlbiB3aXIgbnVyIG5vY2ggamVtYW5kZW4gZmluZGVuLCBkZXIgc293YXMgbWFjaHQuIDspCgpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoWmVzc3RyYSwgMTUuIEp1bCAyMDA3LCAyMjoxOTo1Myk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExODQ1Mjk4NTUgcmc9cGFydHkKfiMhIHRpZD0xMTg0NTI1MTYwCkFsc28sIGljaCBzY2hhdSBtaWNoIGhpZXIgbWFsIHVtLCBvYiBpY2ggbmVuIGxva2FsZW4gU2hvcCBmaW5kZSB1bmQgZnJhZwpub2NobWFsIDEtMiBMZXV0ZS4gV2VubiBqZW1hbmQgZWluZW4gU2hvcCBrZW5udCwgZGVyIHNvbiBLcmFtIHp1IG5lbSBndXRlbgpQcmVpcyBiZWRydWNrdCB1bmQgdmVyc2VuZGV0LCBrb2VubnRlIGVyIGhpZXIgamEgbWFsIG5lbiBIaW53ZWlzIGhpbnRlcmxhc3Nlbi4KRGllIFdvY2hlIHdpcmQgYmVpIG1pciBzZWhyIHN0cmVzc2lnIHdlcmRlbiwgZGFoZXIga2FubiBpY2ggYXVzc2VyIG1laW5lbQpCZW11ZWhlbiBuaXggdmVyc3ByZWNoZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXJ0eXRhc3NlbiwgLUtydWVnZSBldGMuIChSb25kYSwgMTUuIEp1bCAyMDA3LCAyMzo0MToxNyk6Cn4jISBybj1aZXNzdHJhIHJ0PTExODQ1MzA3OTMgcmc9cGFydHkKfiMhIHRpZD0xMTg0NTI1MTYwCnplaXQKUGl4dW0gaGF0IGRpZSBhbHMgIlphdWJlciBQb3R0Iiwga29zdGVuIGFiIDEwIFN0dWVjayAxMSw5OSBFdXJvLCBhYiA1MCBTdHVlY2sKOSw5OSBFdXJvLiBXYXMgaGFiZW4gZGVubiBkaWUgVGFzc2VuIGJlaW0gbGV0enRlbiBNYWwgZ2Vrb3N0ZXQ/CgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoTWVzaXJpaSwgMTYuIEp1bCAyMDA3LCAwNzo1MToyOSk6Cn4jISBybj1WYW5pciBydD0xMTg0NTI5ODA3IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MAorMgpNZXNpLCBNYWhhcmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eXRhc3NlbiwgLUtydWVnZSBldGMuIChNZXNpcmlpLCAxNi4gSnVsIDIwMDcsIDA3OjUyOjMzKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE4NDU2NTA4OSByZz1wYXJ0eQp+IyEgdGlkPTExODQ1MjUxNjAKSG1tIGRlciBEcnVjayB2b20gbGV0enRlbiBNYWwgSGF0dGluZ2VuIChLdWVoZSkgd2FyIHdpcmtsaWNoIHN1cGVyZ3V0LiBEZXIKaGF0IGJpc2hlciBqZWRlbiBHZXNjaGlycnNwdWVsZXJnYW5nIHVlYmVyc3RhbmRlbi4gVmllbGxlaWNodCBrYW5uc3RlCkFyYXRob3JuIGphIG1hbCBuYWNoIGRlbSBMYWRlbiBmcmFnZW4sIGJ6dy4gZ2xlaWNoIGFuIGlobiBkZWxlZ2llcmVuLgoKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoTWVzaXJpaSwgMTYuIEp1bCAyMDA3LCAwODozMjowMSk6Cn4jISBybj1NZXNpcmlpIHJ0PTExODQ1NjUxNTMgcmc9cGFydHkKfiMhIHRpZD0xMTg0NTI1MTYwCkhtbSBidHcuIGRhcyBIVFRQLzEuMCAzMDIgRm91bmQKd29sbGVuIHdpciBkYXMgZWlnZW50bGljaCBpbSBMb2dpbi1UZXh0IGRyaW5sYXNzZW4sIHdhciBkYW1hbHMgc2ljaGVyIHdpdHppZywKYWJlciBoZXV0ZSA/PwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXJ0eXRhc3NlbiwgLUtydWVnZSBldGMuIChaZXNzdHJhLCAxNi4gSnVsIDIwMDcsIDA5OjU4OjU1KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE4NDU2NTE1MyByZz1wYXJ0eQp+IyEgdGlkPTExODQ1MjUxNjAKTWhtbSwgaWNoIGhhdHRlIGlobiBnZXN0ZXJuIGFuZ2VzcHJvY2hlbiB1bmQgZXIgbWVpbnRlLCBEdW5zdCB1bmQgc2VpbmUgVGFzc2VuCmhhZXR0ZW4gZGllIFNwdWVsbWFzY2hpbmUgdWViZXJoYXVwdCBuaWNodCBndXQgdWViZXJzdGFuZGVuLiBTY2hlaW50IGRhIGphCmVpbmUgZXJoZWJsaWNoZSBTdHJldXVuZyBpbiBkZXIgUXVhbGl0YWV0IHp1IGdlYmVuLgpCVFc6IERpZSBCbGFjay1NYWdpYy1UYXNzZW4gc2luZCBncm9lc3N0ZW50ZWlscyBhbHMgbmljaHQKc3B1ZWxtYXNjaGluZW5nZWVpZ25ldCBnZWtlbm56ZWljaG5ldCBiencuIEhhbmR3YWVzY2hlIGlzdCBlbXBmb2hsZW4sIHdvbGx0ZQppY2ggbnVyIGt1cnogYW5tZXJrZW4uClJvbmRhIGhhdCBnZXN0ZXJuIGluIGVpbmVyIGxhZW5nZXJlbiBTdWNoZSBpbSBOZXR6IG5vY2ggZGl2LiBTaG9wcyBnZWZ1bmRlbiwKcnVhc2dla29tbWVuIGlzdCBlaWdlbnRsaWNoLCBkYXNzIHdpciBiaXNoZXIgdmVybXV0bGljaCBlaW5lbiBQcmVpcyB2b24gMTEuOTkKcHJvIFRhc3NlIGJla29tbWVuLCB3ZW5uIHdpciAxMCB6dXNhbW1lbmtyaWVnZW4uIChEZXIgU2hvcCBtaXQgNi40K013U3QuIHdhcgplaW5lIHRhc3NlIG9obmUgRHJ1Y2suKSBadSBrbGFlcmVuIGlzdCBhYmVyIG5vY2gsIG9iIHNpY2ggZGllIFN0YWZmZWwgYXVmIGRpZQpaYWhsIGRlciBUYXNzZW4gb2RlciBkaWUgWmFobCBkZXIgVGFzc2VuIG1pdCBpZGVudGlzY2hlbSBBdWZkcnVjayBiZXppZWh0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoS2Vzc2EsIDE2LiBKdWwgMjAwNywgMTM6MDQ6NDUpOgp+IyEgcm49WmVzc3RyYSBydD0xMTg0NTcyNzM1IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MAorMwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoQ2hhZ2FsbCwgMTYuIEp1bCAyMDA3LCAxNjoyMToxNyk6Cn4jISBybj1LZXNzYSBydD0xMTg0NTgzODg1IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MApBbHNvIGljaCB3dWVyZGUgYXVjaCBlaW5lIG5laG1lbi4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoUm9uZGEsIDE2LiBKdWwgMjAwNywgMjI6MzE6MzApOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTg0NTk1Njc3IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MApLbGFyLCBiaW4gYXVjaCBtaXQgendlaSBUYXNzZW4gZGFiZWkgKFRpcHA6IG1hbiBrYW5uIHp1aGF1cyBhdWNoIGltbWVyIG5lClRhc3NlIGZ1ZXIgR2FzdDEgYnJhdWNoZW4gOi0pICkuIERhbWl0IGJyYXVjaGVuIHdpciBudXIgbm9jaCBrbmFwcCA0MCB3ZWl0ZXJlClRhc3NlbiAtIGFiIDUwIFN0dWVjayBrb3N0ZW4gc2llIG51ciBub2NoIDksOTkgRXVybyA7LSkKClZpZWxlbiBEYW5rIGFuIFplc3N0cmEgZnVlcnMgdmllbGUgT3JnYW5pc2llcmVuIQoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQYXJ0eXRhc3NlbiwgLUtydWVnZSBldGMuIChLZXNzYSwgMTYuIEp1bCAyMDA3LCAyMjozMzo1NCk6Cn4jISBybj1Sb25kYSBydD0xMTg0NjE3ODkwIHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MAorMSBmdWVyIEdhc3QxIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoVmFuaW9uLCAxNi4gSnVsIDIwMDcsIDIyOjM1OjU1KToKfiMhIHJuPUtlc3NhIHJ0PTExODQ2MTgwMzQgcmc9cGFydHkKfiMhIHRpZD0xMTg0NTI1MTYwCklyZ2VuZHdpZSBrYW5uIGljaCBkYXMgQmlsZCBuaWNoIGxhZGVuLiBIYXRzIHdlciB2ZXJzY2hvYmVuPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQYXJ0eXRhc3NlbiwgLUtydWVnZSBldGMuIChLZXNzYSwgMTYuIEp1bCAyMDA3LCAyMjozNjo0NSk6Cn4jISBybj1WYW5pb24gcnQ9MTE4NDYxODE1NSByZz1wYXJ0eQp+IyEgdGlkPTExODQ1MjUxNjAKZnRwOi8vbWcubXVkLmRlL1BhcnR5L0JpbGRlci9tdm9yc2NobGFnX3NjaHdhcnoucG5nIGdpbmcgZWJlbiBub2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFBhcnR5dGFzc2VuLCAtS3J1ZWdlIGV0Yy4gKFZhbmlvbiwgMTYuIEp1bCAyMDA3LCAyMjo0MTowOCk6Cn4jISBybj1LZXNzYSBydD0xMTg0NjE4MjA1IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MApBaCwgZ3V0LiBJY2ggaGF0dGUgbm9jaCB2b3JzY2hsYWcyMDA3XzEucG5nIHByb2JpZXJ0LiBTaWVodCBuZXR0IGF1cy4gKzIgd2VpbAptZWluZSBTcHVlbWxhc2NoaW5lIEthZmZlZXRhc3NlbiBmcmlzc3QuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoQXJhdGhvcm4sIDE2LiBKdWwgMjAwNywgMjI6NDY6MzUpOgp+IyEgcm49WmVzc3RyYSBydD0xMTg0NTcyNzM1IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MApBaCwgd2lyIHJlZGV0ZW4gb2ZmZW5iYXIgdm9uIHZlcnNjaGllZGVuZW4gVGFzc2VuISA6LSkgV2lyIGhhdHRlbiBkYXMgQmlsZApmdWVyIGVpbmUgTXVlc3RlcmFuZXIgUGFydHl0YXNzZSBnZW1hY2h0IHVuZCBHb3JvZyBoYXQgZGFzIGRydWNrZW4gbGFzc2VuLgpEaWUgS3VoLVRhc3NlbiBoYWJlbiB3aXIgbmljaHQgZGVzaWdudCwgYWJlciBkYWZ1ZXIgZHJ1Y2tlbiBsYXNzZW4uIFB1aCwgd2FzCmVpbiBEdXJjaGVpbmFuZGVyLiA7LSkgSXJnZW5kd2llIHdhciBpY2ggZGVyIEFuc2ljaHQsIHdpciBoYWV0dGVuIGF1Y2ggZGllCmluendpc2NoZW4gcmVjaHQgc3RhcmsgYXVzZ2VibGljaGVuZW4gVGFzc2VuIGF1cyBNdWVuc3RlciBoaWVyIGluIEJvY2h1bQpkcnVja2VuIGxhc3Nlbi4gTGFuZyBpc3RzIGhlci4KCkFsc28genVzYW1tZW5nZWZhc3N0OiBEaWUgS3VoLVRhc3NlbiBzaW5kIG9mZmVuYmFyIHNwdWVsbWFzY2hpbmVuZmVzdCwgdW5kCmluendpc2NoZW4gaXN0IG1pciBhdWNoIGRlciBMYWRlbiB3aWVkZXIgZWluZ2VmYWxsZW4sIGRlciBkaWUgZnVlciB1bnMKYmVkcnVja3QgaGF0LiBXZW5uIEludGVyZXNzZSBiZXN0ZWh0LCBzdWNoIGljaCBUZWxlZm9ubnVtbWVyIHVuZCBBZHJlc3NlCmdlcm5lIG1hbCByYXVzLiBPYiB3aXIgWmVpdCBmaW5kZW4sIGRpZSBUYXNzZW4gc2VsYmVyIG5vY2ggZG9ydCBpbiBBdWZ0cmFnCnp1IGdlYmVuLCB3ZWlzcyBpY2ggZ3JhZCBuaWNodCwgd3VlcmRlIGVzIGFiZXIgZGVyemVpdCBlaGVyIG5pY2h0IGZ1ZXIKd2FocnNjaGVpbmxpY2ggaGFsdGVuLiBBcmJlaXQgdW5kIHNvLi4uCgpHcnVzcywgQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eXRhc3NlbiAyMDA3OiAnQmxhY2stTWFnaWMnLVRhc3NlbiAoWmVzc3RyYSwgMTYuIEp1bCAyMDA3LCAyMzowMjoxMik6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExODQ2MTk1OTMgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTExODQ2MTAzNjEKTWFsIFRocmVhZCBhdXMgcGFydHkuYmVrYW5udG1hY2h1bmdlbiB1bXppZWhlbi4KQWxzbywgdGVjaG5pc2NoIGlzdCBkYXMgd29obCBzbzogRGllIFRhc3NlbiB3ZXJkZW4gbWl0IGRlbSBCaWxkIGJlZHJ1Y2t0LgpBbnNjaGxpZXNzZW5kIHdlcmRlbiBzaWUgbWl0IGVpbmVtIFRoZXJtb2xhY2sgdWViZXJ6b2dlbiwgZGVyIGthbHQKbmljaHQtdHJhbnNwYXJlbnQgKHNjaHdhcnopIGlzdCB1bmQgc28gZGVuIGVpZ2VudGxpY2ggQXVmZHJ1Y2sgdmVyZGVja3QuIElOCmRlciBXYWVybWUgd2lyZCBkZXIgVGhlcm1vbGFjayBkYW5uIHRyYW5zcGFyZW50IHVuZCBnaWJ0IGRhcyBlaWdlbnRsaWNoIEJpbGQKZnJlaS4KRGllIFRhc3NlbiBzZWxiZXIgc2luZCB3ZWlzcywgYWxzbyBrcmllZ3QgbWFuIGluIGRlciBXYWVybWUgc296dXNhZ2VuIG5lCndlaXNzZSBUYXNzZSBtaXQgZGVtIEF1ZmRydWNrLCBkZW4gbWFuIGRhIGhhbHQgZHJhdWZnZWRydWNrdCBoYXQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eXRhc3NlbiAyMDA3OiAnQmxhY2stTWFnaWMnLVRhc3NlbiAoS2Vzc2EsIDE2LiBKdWwgMjAwNywgMjM6MDQ6MzEpOgp+IyEgcm49WmVzc3RyYSBydD0xMTg0NjE5NzMyIHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDYxMDM2MQpJY2ggc3RlbGxlIGVzIG1pciBnZXJhZGUgbm9jaCBtYWwgdm9yLiBEaWUgVGFzc2UgbWl0IGdydWVuZXIgU2NocmlmdCBhdWYKc2Nod2FyemVtIEdydW5kIGlzdCBhbHNvLCB3ZW5uIHNpZSBoYWxiIGF1c2dldHJ1bmtlbiBpc3QsIHZvbiB1bnRlbiBoZXIgaGFsYgp3ZWlzcyBtaXQgc2ljaHRiYXJlbSBBdWZkcnVjayB1bmQgaW4gZGVyIG9iZXJlbiBIYWVsZnRlIGdhbnogc2Nod2Fyej8KSWNoIGZyYWcgbWljaCBnZXJhZGUsIG9iIGVzIGRlbiBBdWZ3YW5kIHdlcnQgaXN0IG9kZXIgb2IgbmljaHQgZWluZmFjaApzY2h3YXJ6ZSBUYXNzZW4gbWl0IGZhcmJpZ2VtIEF1ZmRydWNrIChub21hZ2ljKSBlYmVuc29zY2hvZW4gb2RlciBub2NoCnNjaG9lbmVyIHdhZXJlbi4gSG0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXJ0eXRhc3NlbiAyMDA3OiAnQmxhY2stTWFnaWMnLVRhc3NlbiAoQXJhdGhvcm4sIDE2LiBKdWwgMjAwNywgMjM6MDQ6NDkpOgp+IyEgcm49WmVzc3RyYSBydD0xMTg0NjE5NzMyIHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDYxMDM2MQpBaCEhISBEYXMgZXJrbGFlcnQgZWluaWdlcy4gSWNoIGhhdHRlIGpldHp0IG1pdCB0aGVybW9jaHJvbWVyIEtlcmFtaWsKdW5kIGVudHNwcmVjaGVuZGVuIERydWNrZmFyYmVuIGdlcmVjaG5ldCwgZGVzaGFsYiBtZWluZSBWZXJ3aXJydW5nIGJlenVlZ2xpY2gKZGVyIHJlYWxpc2llcmJhcmVuIEZhcmJlbiB1bmQgSGludGVyZ3J1ZW5kZSBldGMuCklzdCBqZXR6dCBrbGFyLiBJY2ggc2NocmVpYiBkYW5uIG1hbCBkaXJla3QgbmUgTWFpbC4gOi0pCgpFcmhlbGx0ZSBHcnVlc3NlLApBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5dGFzc2VuIDIwMDc6ICdCbGFjay1NYWdpYyctVGFzc2VuIChaZXNzdHJhLCAxNi4gSnVsIDIwMDcsIDIzOjA4OjA3KToKfiMhIHJuPUtlc3NhIHJ0PTExODQ2MTk4NzEgcmc9cGFydHkKfiMhIHRpZD0xMTg0NjEwMzYxCk1obW0sIGphLCBzbyBpbiBldHdhLiBBbGxlcmRpbmdzIGlzdCBkaWUgVGVtcGVyYXR1ciBhbmdlYmxpY2ggYmVpIDM1IEdyYWQsCmQuaC4gd2VubiBkaWUgdGFzc2UgbWFsIGhlaXNzIGlzdCwgYmxlaWJ0IGRlciBBdWZkcnVjayBzY2hvbiBub2NoIG5lbiBiaXNzY2hlbgpzaWNodGJhciwgbmFjaGRlbSBtYW4gZGllIEhhZWxmdCByYXVzZ2V0cnVua2VuIGhhdCwgZGVuayBpY2guClVuZCBqYSwgbWFuIGtvZW5udGUgc2llIG5hdHVlcmxpY2ggYXVjaCBnYW56IG5vcm1hbCBkcnVja2VuLiBBbGxlcmRpbmdzIGhhYgppY2ggYmlzaGVyIGtlaW5lIHNjaHdhcnplbiBUYXNzZW4gZ2VzZWhlbiwgZ2xhdWIgaWNoLCBkaWUgZHJ1Y2tlbiBhbGxlIGF1ZgpXZWlzcy4gKmdydWViZWwqCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQYXJ0eXRhc3NlbiAyMDA3OiAnQmxhY2stTWFnaWMnLVRhc3NlbiAoS2Vzc2EsIDE2LiBKdWwgMjAwNywgMjM6MTE6MTQpOgp+IyEgcm49WmVzc3RyYSBydD0xMTg0NjIwMDg3IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDYxMDM2MQpHaWJ0cyB3b2hsIHNjaG9uLCB6LkIuIGhpZXI6IGh0dHA6Ly90aW55dXJsLmNvbS8yY25sM3QKCkljaCBzdWNoIG1hbCB3ZWl0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQYXJ0eXRhc3NlbiAyMDA3OiAnQmxhY2stTWFnaWMnLVRhc3NlbiAoWmVzc3RyYSwgMTYuIEp1bCAyMDA3LCAyMzoxNjowNSk6Cn4jISBybj1LZXNzYSBydD0xMTg0NjIwMjc0IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDYxMDM2MQpEZXIgU2hvcCBzY2hyZWlidCBkYSBhbGxlcmRpbmdzIGRhenU6ICJJaHIgTW90aXYgd2lyZCBtaXQgd2Vpc3MgaGludGVkcnVja3QsCmRhSWhyIE1vdGl2IHNvbnN0IHNjaGxlY2h0IG9kZXIgbmljaHQgZXJrZW5uYmFyIHdhZXJlLiIuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFydHl0YXNzZW4gMjAwNzogJ0JsYWNrLU1hZ2ljJy1UYXNzZW4gKFJvbmRhLCAxNi4gSnVsIDIwMDcsIDIzOjUwOjIzKToKfiMhIHJuPVplc3N0cmEgcnQ9MTE4NDYyMDU2NSByZz1wYXJ0eQp+IyEgdGlkPTExODQ2MTAzNjEKSWNoIGhhYmUgbWFsIG1pdCBuZXIgSGFuZHlrYW1lcmEgaW0gSGFsYmR1bmtlbG4gendlaSBGb3RvcyBnZW1hY2h0ICpodXN0KjoKCmZ0cDovL21nLm11ZC5kZS90bXAvZGVtb190YXNzZV9rYWx0LmpwZwpmdHA6Ly9tZy5tdWQuZGUvdG1wL2RlbW9fdGFzc2VfaGVpc3MuanBnCgpNYW4gZXJrZW5udCBkYXMgc2Nod2FyemUgTG9nbyBlaW4gZ2FueiBiaXNzY2hlbiBhdWYgZGVyIGthbHRlbiBUYXNzZSwgZGllCndlaXNzZSBUYXNzZSBpc3QgbmljaHQgZ2FueiBoZWxsd2Vpc3MuIEFiZXIgZGVyIEVmZmVrdCBpc3QgdHJvdHpkZW0gcHJpbWEgZmluZAppY2guCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGFydHl0YXNzZW4sIC1LcnVlZ2UgZXRjLiAoTWVzaXJpaSwgMTcuIEp1bCAyMDA3LCAwMToxOTo1NCk6Cn4jISBybj1BcmF0aG9ybiBydD0xMTg0NjE4Nzk1IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NDUyNTE2MApqYSBpY2ggbWVpbnRlIGRpZSBLdWggVGFzc2VuLCBkaWUgaWhyIGhhYnQgZHJ1Y2tlbiBsYXNzZW4uIERlc2lnbnQgaGF0IGRpZQpqYSBSYW5nb3JuLgpVbmQgZGllIHNpbmQgc3VwZXIgc3B1ZWxtYXNjaGluZW5mZXN0LgoKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5dGFzc2VuIDIwMDc6ICdCbGFjay1NYWdpYyctVGFzc2VuIChCb2luZywgMTcuIEp1bCAyMDA3LCAwODozOTo0MCk6Cn4jISBvbj1BcmF0aG9ybiBvdD0xMTg0NjE5MTg0IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPVplc3N0cmEgcnQ9MTE4NDYxMDM2MSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE4NDYxMDM2MQpIbSwgbWFsIG5lIHRlY2huaXNjaGUgRnJhZ2UgYW4gZGllc2VyIFN0ZWxsZTogV2lyZCBkZXIgRHJ1Y2sgZGFubiBpbSBoZWlzc2VuClp1c3RhbmQgZGVyIFRhc3NlIGF1Y2ggZmFyYmlnPyBELmguIGF1ZiBlaW5lciBrYWx0ZW4gc2Nod2FyemVuIFRhc3NlIGlzdCBuaXgKenUgZXJrZW5uZW4sIGF1ZiBlaW5lciBoZWlzc2VuIGZhcmJsb3NlbiBkYW5uIGRlciBUZXh0IGluIGdydWVuIG9kZXIgc2Nod2Fyej8KVW5kIGdpYnQncyBkaWVzZSBUYXNzZW4gYXVjaCBpbiB3ZWlzcywgc28gZGFzcyBzaWUgc2ljaCBoZWlzcyBuYWNoIHNjaHdhcnoKZmFlcmJlbj8gV2VyZiBpY2ggd2FzIGR1cmNoZWluYW5kZXI/IEhhYiBpY2ggd2FzIHVlYmVyc2VoZW4/CgpJbnRlcmVzc2llcnRlIEdydWVzc2UsCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5dGFzc2VuIDIwMDc6ICdCbGFjay1NYWdpYyctVGFzc2VuIChCb2luZywgMTcuIEp1bCAyMDA3LCAwODozOTo0MSk6Cn4jISBvbj1BcmF0aG9ybiBvdD0xMTg0NjE5MTg0IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPVplc3N0cmEgcnQ9MTE4NDYxMDM2MSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE4NDYxMDM2MQpIbSwgbWFsIG5lIHRlY2huaXNjaGUgRnJhZ2UgYW4gZGllc2VyIFN0ZWxsZTogV2lyZCBkZXIgRHJ1Y2sgZGFubiBpbSBoZWlzc2VuClp1c3RhbmQgZGVyIFRhc3NlIGF1Y2ggZmFyYmlnPyBELmguIGF1ZiBlaW5lciBrYWx0ZW4gc2Nod2FyemVuIFRhc3NlIGlzdCBuaXgKenUgZXJrZW5uZW4sIGF1ZiBlaW5lciBoZWlzc2VuIGZhcmJsb3NlbiBkYW5uIGRlciBUZXh0IGluIGdydWVuIG9kZXIgc2Nod2Fyej8KVW5kIGdpYnQncyBkaWVzZSBUYXNzZW4gYXVjaCBpbiB3ZWlzcywgc28gZGFzcyBzaWUgc2ljaCBoZWlzcyBuYWNoIHNjaHdhcnoKZmFlcmJlbj8gV2VyZiBpY2ggd2FzIGR1cmNoZWluYW5kZXI/IEhhYiBpY2ggd2FzIHVlYmVyc2VoZW4/CgpJbnRlcmVzc2llcnRlIEdydWVzc2UsCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5dGFzc2VuIDIwMDc6ICdCbGFjay1NYWdpYyctVGFzc2VuIChaZXNzdHJhLCAxNy4gSnVsIDIwMDcsIDA5OjQ4OjIwKToKfiMhIG9uPUFyYXRob3JuIG90PTExODQ2MTkxODQgb2c9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgcm49WmVzc3RyYSBydD0xMTg0NjEwMzYxIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTg0NjEwMzYxCkhtLCBtYWwgbmUgdGVjaG5pc2NoZSBGcmFnZSBhbiBkaWVzZXIgU3RlbGxlOiBXaXJkIGRlciBEcnVjayBkYW5uIGltIGhlaXNzZW4KWnVzdGFuZCBkZXIgVGFzc2UgYXVjaCBmYXJiaWc/IEQuaC4gYXVmIGVpbmVyIGthbHRlbiBzY2h3YXJ6ZW4gVGFzc2UgaXN0IG5peAp6dSBlcmtlbm5lbiwgYXVmIGVpbmVyIGhlaXNzZW4gZmFyYmxvc2VuIGRhbm4gZGVyIFRleHQgaW4gZ3J1ZW4gb2RlciBzY2h3YXJ6PwpVbmQgZ2lidCdzIGRpZXNlIFRhc3NlbiBhdWNoIGluIHdlaXNzLCBzbyBkYXNzIHNpZSBzaWNoIGhlaXNzIG5hY2ggc2Nod2FyegpmYWVyYmVuPyBXZXJmIGljaCB3YXMgZHVyY2hlaW5hbmRlcj8gSGFiIGljaCB3YXMgdWViZXJzZWhlbj8KCkludGVyZXNzaWVydGUgR3J1ZXNzZSwKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5dGFzc2VuIDIwMDc6ICdCbGFjay1NYWdpYyctVGFzc2VuIChaZXNzdHJhLCAxNy4gSnVsIDIwMDcsIDA5OjQ4OjMwKToKfiMhIG9uPVZhbmhlbHNpbmcgb3Q9MTE4NDYxOTI4OCBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1BcmF0aG9ybiBydD0xMTg0NjE5MTg0IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTg0NjEwMzYxCkRpZSBUYXNzZW4gc2luZCBrYWx0IGltbWVyIHNjaHdhcnogdW5kIGZhZXJiZW4gc2ljaCB3ZWlzcywgd2VubiBzaWUgaGVpc3MKd2VyZGVuLiBEZXIgc2Nod2FyemUgSGludGVyZ3J1bmQgImJsZWlidCIgZWluZmFjaCBudXIgc2Nod2FyeiBtaXQgVGV4dCBkcmF1Zi4KClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eXRhc3NlbiAyMDA3OiAnQmxhY2stTWFnaWMnLVRhc3NlbiAoWmVzc3RyYSwgMTcuIEp1bCAyMDA3LCAwOTo0ODozMik6Cn4jISBvbj1BcmF0aG9ybiBvdD0xMTg0NjE5NTEzIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTE4NDYxOTI4OCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE4NDYxMDM2MQpEYXMgaGVpc3N0LCBkYXNzIGVzIHdlZGVyIGltIGthbHRlbiBadXN0YW5kIHdlaXNzZSBUYXNzZW4gZ2lidCwgZGllIHNpY2ggCm5hY2ggc2Nod2FyeiB2ZXJmYWVyYmVuLCBub2NoLCBkYXNzIGVzIGluIGRlciBLYWVsdGUgdW5zaWNodGJhcmVuIEZhcmJkcnVjawpnaWJ0LCBkZXIgZXJzdCBpbiBkZXIgSGl0emUgYXVmdGF1Y2h0PyBIYWIgaWNoJ3MgamV0enQ/CgpEaWUgTGlzdGUgZGVyIE9wdGlvbmVuIHN1Z2dlcmllcnRlIG1pciBncmFkIGRpZSBNb2VnbGljaGtlaXQgZmFyYmlnZXIKVmVyZmFlcmJldGFzc2VuIGluIGFsbGVuIFZhcmlhbnRlbi4KCldhcyBtdXNzIGljaCBhbHNvIGJlc3RlbGxlbiwgd2VubiBpY2ggc28gZWluZSBCbGFjayBNYWdpYy1UYXNzZSB3aWxsPwpTY2h3YXJ6ZW4gSGludGVyZ3J1bmQsIHNjaHdhcnplIFNjaHJpZnQ/IENoYW1hZWxlb24tRnVua3Rpb24gZXhwbGl6aXQgYW5nZWJlbj8KCkdydXNzLCBBcmF0aG9ybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHl0YXNzZW4gMjAwNzogJ0JsYWNrLU1hZ2ljJy1UYXNzZW4gKFplc3N0cmEsIDE3LiBKdWwgMjAwNywgMDk6NDg6MzMpOgp+IyEgb249VmFuaGVsc2luZyBvdD0xMTg0NjE5NTkzIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUFyYXRob3JuIHJ0PTExODQ2MTk1MTMgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTExODQ2MTAzNjEKTm9jaG1hbDoKRGllIFRhc3NlbiBzaW5kIGthbHQgdG90YWwgc2Nod2Fyeiwgb2huZSBzaWNodGJhcmVuIFRleHQuCldlbm4gd2FzIGhlaXNzZXMgcmVpbiBrb21tdCwgd2VyZGVuIGRpZSB3ZWlzcywgdW5kIGRlciBBdWZkcnVjayB3aXJkIHNpY2h0YmFyLgoKVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5dGFzc2VuIDIwMDc6ICdCbGFjay1NYWdpYyctVGFzc2VuIChaZXNzdHJhLCAxNy4gSnVsIDIwMDcsIDA5OjQ4OjM0KToKfiMhIG9uPVZhbmhlbHNpbmcgb3Q9MTE4NDYxOTcxNiBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1WYW5oZWxzaW5nIHJ0PTExODQ2MTk1OTMgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTExODQ2MTAzNjEKVW5kIGJlaW0gQXVmZHJ1Y2ssIGthbm4gbWFuIGVudHNjaGVpZGVuLCBvYiBtYW4gbmVuIHdlaXNzZW4gb2RlciBzY2h3YXJ6ZW4KSGludGVyZ3J1bmQgaGFiZW4gd2lsbCwgdW5kIHdlbGNoZSBGYXJiZSBkaWUgU2NocmlmdCBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHl0YXNzZW4gMjAwNzogJ0JsYWNrLU1hZ2ljJy1UYXNzZW4gKFplc3N0cmEsIDE3LiBKdWwgMjAwNywgMDk6NDg6MzYpOgp+IyEgb249WmVzc3RyYSBvdD0xMTg0NjE5ODE2IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPVplc3N0cmEgcnQ9MTE4NDYxMDM2MSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE4NDYxMDM2MQpTbywgaWNoIG11c3N0ZSBkaWUgQmlsZGVyIG5vY2htYWwgZXJzZXR6ZW4uIE1pciBpc3QgYXVmZ2VmYWxsZW4sIGRhc3MgZGllClNjaHJpZnQgYXVmIGRlbiBUYXNzZW4gZG9jaCBldHdhcyBrbGVpbiBlcnNjaGVpbnQuIEljaCBoYWIgZGFoZXIgbWFsIGVpbmlnZQpaZWlsZW4gZW50ZmVybnQgdW5kIGRlbiB0ZXh0IGV0d2FzIGdla3Vlcnp0IHVuZCBkYWZ1ZXIgZGllIFNjaHJpZnRncm9lc3NlCmVyaG9laHQuIFdlbm5zIG5pY2h0IGdlZmFlbGx0LCBtZWxkZSBldWNoLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHl0YXNzZW4gMjAwNzogJ0JsYWNrLU1hZ2ljJy1UYXNzZW4gKEtlc3NhLCAxNy4gSnVsIDIwMDcsIDExOjUzOjA3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE4NDY1ODUxNiByZz1wYXJ0eQp+IyEgdGlkPTExODQ2MTAzNjEKU28sIG5hY2hkZW0gaWNoIG5vY2ggbWFsIGRlbiBoYWxiZW4gVm9ybWl0dGFnIHJ1bWdlc2NoYXV0LCB1bmQgLXRlbGVmb25pZXJ0CmhhYmUsIGJpbiBpY2ggc2NobGF1ZXIuCgpXYXMgZGllIGdyb3NzZSBNZWhyaGVpdCBkZXJlciwgZGllIHNpY2ggZ2VzdGVybiBhYmVuZCBhbiBkZXIgRGlza3Vzc2lvbgpiZXRlaWxpZ3QgaGFiZW4sIHdpbGwsIGlzdCBlaW5lIHNjaHdhcnplIFRhc3NlLCBhdWYgZGVyIGJlaW0gRXJ3YWVybWVuIGRpZQpncnVlbmUgU2NocmlmdCBzaWNodGJhciB3aXJkLiBLZWluZSB3ZWlzc2VuIFN0ZWxsZW4vUmFlbmRlci4gRXR3YSBzbyB3aWUgaGllcjoKCmh0dHA6Ly90aW55dXJsLmNvbS8yczZtNHMKCldhcyBtaXIgZGllIFRhc3NlbmJlZHJ1Y2tlcmdpbGRlIG51biB1ZWJlcmVpbnN0aW1tZW5kIGVya2xhZXJ0LCBpc3QsIGRhc3MgYmVpCnNjaHdhcnplciBHcnVuZGZhcmJlIGRlciBUYXNzZSBkZXIgRWluc2F0eiB2b24gU2llYmRydWNrIG5vZXRpZyBpc3QuIFNpZWIgdW5kCkNsaWNoZSBtdWVzc2VuIGhlciBldGMgZXRjLi4uIGdlbmF1IGhhYmUgaWNoIGVzIG5vY2ggbmljaHQgdmVyc3RhbmRlbiwgYWJlciBzbwp2aWVsIHJhdXNnZWhvZXJ0LCBkYXNzIGRhcyBzZWhyLCBzZWhyIHRldWVyIHd1ZXJkZS4gVklFTCB6dSB0ZXVlci4KCkJlaSB3ZWlzc2VyIEdydW5kZmFyYmUgZGVyIFRhc3NlIGlzdCBrZWluIFNpZWJkcnVjayBub2V0aWcuIEFiZXIgZGFzIEVyZ2VibmlzCnNpZWh0IGF1Y2ggZW50c3ByZWNoZW5kIGF1czoKCmh0dHA6Ly93d3cudGFzc2Vub25rZWwuZGUvd293X3RoZXJtb3Rhc3NlLmh0bQoKSWNoIGZpbmRlIGRhcyBuaWNodCBzY2hvZW4uIE1pciB3YWVyZSBkYW5uIGxpZWJlciBlaW5lIGVpbmZhY2hlIHNjaHdhcnplIFRhc3NlCm1pdCBkZXIgZ3J1ZW5lbiBTY2hyaWZ0IGRyYXVmLCBvaG5lIE1hZ2ljLUVmZmVrdC4gV2FzIG1laW50IGlociBkYXp1PwoKTGVpZGVyIGthbm4gaWNoIG1pY2ggamV0enQgbmljaHQgd2VpdGVyIHVtIG5pY2h0LW1hZ2lzY2hlIEFuZ2Vib3RlIGt1ZW1tZXJuLApkaWUgQXJiZWl0IHNjaHJlaXQgc2Nob24gZmFzdC4KCkdydXNzLCBLZXNzYSAoRm9sZ2UgbGVpc3RlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eXRhc3NlbiAyMDA3OiAnQmxhY2stTWFnaWMnLVRhc3NlbiAoR25vbWUsIDE3LiBKdWwgMjAwNywgMTI6MDY6NTIpOgp+IyEgcm49S2Vzc2EgcnQ9MTE4NDY2NTk4NyByZz1wYXJ0eQp+IyEgdGlkPTExODQ2MTAzNjEKYSkgaWNoIHNlaGUga2VpbmVuIHVudGVyc2NoaWVkIHp3aXNjaGVuIGRlbiBiZWlkZW4gdGFzc2VudmVyc2lvbmVuIGluIGRlbgogICBvLmcuIFVSTHMuIGF1c3NlciBlaW5tYWwgZ2VsYmVyLCBlaW5tYWwgd2Vpc3NlciBoaW50ZXJncnVuZC4KICAgb2RlciB3YXIgZGFzIHNjaG9uIGRlciBoYXVwdHVudGVyc2NoaWVkPwogIGVnYWwuIDxzY2hyaWZ0ZmFyYmVuYWNod2FobD4gYXVmIHdlaXNzZW0gaGludGVyZ3J1bmQgc29sbHRlIGVzIGRvY2ggdHVuLgoKYikgaWNoIGJpbiBzZWhyIGZ1ZXIgZWluZSBtYWdpc2NoZSB0YXNzZS4gbm9ybWFsZSB0YXNzZW4gaGFiZSBpY2ggenVtCiAgIG9kZXJ6dXNjaHVldHRlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eXRhc3NlbiAyMDA3OiAnQmxhY2stTWFnaWMnLVRhc3NlbiAoS2Vzc2EsIDE3LiBKdWwgMjAwNywgMTI6MTc6NTIpOgp+IyEgcm49R25vbWUgcnQ9MTE4NDY2NjgxMiByZz1wYXJ0eQp+IyEgdGlkPTExODQ2MTAzNjEKR3V0LCBub2NobWFsIGtsYXJlciB6dW0gVW50ZXJzY2hpZWQ6CgpEaWUgd2Vpc3NlIFRhc3NlIGlzdCB3ZWlzcy4gRGFyYXVmIGtvbW10IGRhcyBCaWxkIChzY2h3YXJ6ZXMgVGV4dGZlbGQgbWl0CmdydWVuZXIgU2NocmlmdCkuIERhcnVlYmVyIGVpbiBsZWljaHQgdHJhbnNwYXJlbnRlciBzY2h3YXJ6YnJhdW5lciBMYWNrLCBkZXIKYmVpIEVyd2Flcm11bmcgZ2FueiB0cmFuc3BhcmVudCB3aXJkLiBIYWxidm9sbGUgVGFzc2U6CmhhbGJ3ZWlzc2UvaGFsYnNjaHdhcnp2ZXJzY2hsZWllcnRlIFRhc3NlLCB3aWUgbWFuIGJlaW0gVGFzc2Vub25rZWwgc2llaHQuCgpFaW5lIHNjaHdhcnogZHVyY2hnZWZhZXJidGUgVGFzc2UgaXN0IHNjaHdhcnogdW5kIGJsZWlidCBzY2h3YXJ6LiBCZWkKRXJ3YWVybXVuZyB3aXJkIG51ciBkaWUgZ3J1ZW5lIFNjaHJpZnQgc2ljaHRiYXIsIGtlaW4gV2Vpc3MuIERlciBnZWxiZQpIaW50ZXJncnVuZCwgZGVuIGR1IHdvaGwgbWVpbnN0IChiZWltIFlhdGVnby1CaWxkPyksIGlzdCBUZWlsIGRlcyBzaWNodGJhcgpnZXdvcmRlbmVuIEJpbGRlcy4gRGllIFRhc3NlIHNlbGJlciBibGVpYnQgZ2FueiBzY2h3YXJ6LCB3ZWlsIGVzIGViZW4gZWluZQpzY2h3YXJ6ZSBUYXNzZSBpc3QuIFNvIGVpbmUga29lbm5lbiB3aXIgYWJlciBlYmVuIG5pY2h0IGtyaWVnZW4sIGRpZSBnaWJ0IGVzCm51ciBtaXQgIFNpZWJkcnVja2VuIHZvbiBkZXIgU3RhbmdlICh3aWUgaW0gQmVpc3BpZWwpIG9kZXIgenUgaG9ycmVuZGVuClByZWlzZW4sIHdlaWwgYWxsZWluIGRpZSBWb3JhcmJlaXQgc2Nob24gMjAwLTMwMCBFdXJvIGtvc3RldC4KClVudGVyc2NoaWVkIGpldHp0IGtsYXI/IDopCgpVbmQga2xhciwgZWluZSBBbHRlcm5hdGl2ZSB3YWVyZSBub2NoIGZhcmJpZ2UgU2NocmlmdCBhdWYgd2Vpc3NlciBUYXNzZS4KV3VlcmRlIGljaCBoYWx0IG5pY2h0IHdvbGxlbi4gVmVybXV0bGljaCB3dWVyZGUgZGVyIFRhc3Nlbm9ua2VsIG9kZXIgc29uc3R3ZXIKamEgYmVpZGVzIG1hY2hlbiB1bmQgbWFuIGtvZW5udGUgZnVlciBkaWUgZWluZW4gU2Nod2FyeiBvaG5lIE1hZ2ljIHVuZCBmdWVyCmRpZSBhbmRlcmVuIFdlaXNzIG1pdCBNYWdpYyBiZXN0ZWxsZW4uIE11ZXNzdGUgc2ljaCBoYWx0IHNjaG5lbGwgbm9jaCB3ZXIgZHJ1bQprdWVtbWVybiwgaWNoIGthbm5zIGpldHp0IGVjaHQgbmljaHQgbWVociwgYWxzbyB0c2NodWVzcyA6KQoKS2Vzc2EgaXN0IGpldHp0IHdpcmtsaWNoIHdlZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5dGFzc2VuIDIwMDc6ICdCbGFjay1NYWdpYyctVGFzc2VuIChaZXNzdHJhLCAxNy4gSnVsIDIwMDcsIDE3OjEyOjExKToKfiMhIHJuPUtlc3NhIHJ0PTExODQ2Njc0NzIgcmc9cGFydHkKfiMhIHRpZD0xMTg0NjEwMzYxCkljaCBoYWIgaGllciBnZXJhZGUgbWFsIG5lbiBEcnVja2VyIGFuZ2VydWZlbiAoZGVyIHZvbiB2b3IgMiBKYWhyZW4pIHVuZCBuYWNoCmRlbSBiZWRydWNrZW4gdm9uIHNjaHdhcnplbiBUYXNzZW4gZ2VmcmFndC4gTWFjaGVuIHNpZSB6d2FyLCBhYmVyIGVyc3QgYWIgNzIKVGFzc2VuLi4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHl0YXNzZW4gMjAwNzogJ0JsYWNrLU1hZ2ljJy1UYXNzZW4gKFplc3N0cmEsIDE4LiBKdWwgMjAwNywgMjE6MDY6MTUpOgp+IyEgcm49WmVzc3RyYSBydD0xMTg0NjEwMzYxIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTg0NjEwMzYxCldlciBqZXR6dCBoZXV0IGFiZW5kIGRpZXMgaGllciBub2NoIGxpZXN0LCBrYW5uIGVpbmVuIGt1cnplbiBCbGljayBhdWYgZGFzCkJpbGQgd2VyZmVuLCB3YXMgYXVmIGRpZSBUYXNzZSBrb21tdCwgZGllIEJpbGRlciBsaWVnZW4gYWxzIGNoYXJuYW1lLnBuZyBpbgpmdHA6Ly9tZy5tdWQuZGUvUGFydHkvQmlsZGVyLwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UhIChQZXJkaXRhLCAyOS4gSnVsIDIwMDcsIDIxOjQ0OjM5KToKTmFudSwgaGF0IHNpY2ggaGllciBub2NoIGtlaW5lciBmdWVyIGRpZSB0b2xsZSBQYXJ0eSBiZWRhbmt0PwpEYXMgaXN0IGphIG1hbCBnYW56IHVuZ2V3b2VobmxpY2gsIGRhc3MgaWNoIGRpZSBFcnN0ZSBiaW4gOi0pCkFsc286IGxpZWJlcyBPcmdhdGVhbSwgdmllbGVuIGxpZWJlbiBEYW5rIGZ1ZXIgZGllIHRvbGxlIFBhcnR5LCBpbnNiZXNvbmRlcmUKbmF0dWVybGljaCBtYWwgd2llZGVyIGRpZSBnZW5pYWxlIFJMLVF1ZXN0IChkZXJlbiBJbmhhbHQgd2lyIGhpZXIgZG9jaApob2ZmZW50bGljaCBhdWNoIHdpZWRlciB3aWVkZXJnZWdlYmVuIGZpbmRlbiB3ZXJkZW4pLgpVbmQgZnVlciBkYXMgV2V0dGVyIGtvbm50ZXQgaWhyIHNjaGxpZXNzbGljaCBuaWNodHMgOy0pClBlcmRpdGEgLSBnZWh0IGpldHp0IGVyc3RtYWwgaW4gZGllIEJhZGV3YW5uZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtlISAoWmVzc3RyYSwgMjkuIEp1bCAyMDA3LCAyMTo1ODoxMCk6Cn4jISBybj1QZXJkaXRhIHJ0PTExODU3MzgyNzkgcmc9cGFydHkKfiMhIHRpZD0xMTg1NzM4Mjc5ClZpZWxlbiBEYW5rIGZ1ZXIgZGllIEJsdW1lbi4gOi0pCkljaCBiaW4gbm9jaCBpcmdlbmR3aWUgcmVjaHQgZXJzY2hsYWdlbiwgZGFoZXIgaGFiIGljaCBub2NoIG5peCBnZXNjaHJpZWJlbi4KSWNoIGZhbmQgZGllIFBhcnR5d29jaGUgKHdpZSBiaXNoZXIgZWlnZW50bGljaCBqZWRlIFBhcnR5d29jaGUpIHNlaHIgc2Nob2VuCnVuZCBlcyBoYXQgbWljaCBnZWZyZXV0LCBhbHRlIHVuZCBuZXVlIEZyZXVuZGUgZ2V0cm9mZmVuIHp1IGhhYmVuLiAoTWlyIGZhbGxlbgp1ZWJyaWdlbnMgc2Nob24gd2llZGVyIHNvdmllbGUgRGluZ2UgZWluLCBkaWUgbWFuIGhhZXR0ZSBiZXF1YXRzY2hlbiBrb2VubmVuCnVuZCBkaWUgaWNoIGRvY2ggd2llZGVyIHZlcmdlc3NlbiBoYWIuICpnKikKRXMgaGF0IGplZGVuZmFsbHMgU3Bhc3MgZ2VtYWNodCBtaXQgZXVjaCBhbGxlbiwgZGllIGRhIHdhcmVuIHVuZCBpY2ggaG9mZmUsCndpciBzZWhlbiB1bnMgYXVmIGRlciAoZGllc2VzIE1hbCBob2ZmZW50bGljaCBzdGF0dGZpbmRlbmRlbikgV2ludGVycGFydHkKbW9lZ2xpY2hzdCB6YWhscmVpY2ggd2llZGVyLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW5rZSEgKENhc3NhbmRyYSwgMjkuIEp1bCAyMDA3LCAyMjoyODozNyk6Cn4jISBybj1aZXNzdHJhIHJ0PTExODU3MzkwOTAgcmc9cGFydHkKfiMhIHRpZD0xMTg1NzM4Mjc5CmF1Y2ggdm9uIG1pciBlaW4gaGVyemxpY2hlcnMKCkRhbmtlc2Nob2VuCgpkaWUgcGFydHkgd2FyIEtsYXNzZSB1bmQgZGllIFF1ZXN0IG1hbCB3aWVkZXIgZ2VuaWFsLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhbmtlISAoTWFoYXJldCwgMzAuIEp1bCAyMDA3LCAxMTowMDoxNSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTE4NTc0MDkxNyByZz1wYXJ0eQp+IyEgdGlkPTExODU3MzgyNzkKRGFua2UgYW4gYWxsZSBPcmdhbmlzYXRvcmVuLiAgRGllIFF1ZXN0IGhhdCB3aWVkZXIgZ3Jvc3NlbiBTcGFzcyBnZW1hY2h0LCB1bmQKaWNoIGZyYWdlIG1pY2ggaW1tZXIgbm9jaCwgd2llIElociBlcyBnZXNjaGFmZnQgaGFidCwgZ2VyYWRlIHJlY2h0emVpdGlnCmRhZnVlciBkZW4gUmVnZW4gYWJ6dWRyZWhlbiA7KQpEYXMgRXNzZW4gd2FyIGxlY2tlciwgbWVpbiBNYWdlbiBudXIgbGVpZGVyIHp1IGtsZWluLgpXaXIgaGFiZW4gYXVjaCBudXIgZWluIE1lc3NlciBnZWZ1bmRlbiwgc2VsYnN0IHVuc2VyIEJlY2hlciBoYXQgc2ljaCB3aWVkZXIKYW5nZWZ1bmRlbi4KCkRhcyBOYXR1cmZyZXVuZGVoYXVzIGtvZW5uZW4gd2lyIHVlYnJpZ2VucyB3YWVybXN0ZW5zIGVtcGZlaGxlbiwgZGllIExldXRlCmRvcnQgc2luZCBzdXBlcm5ldHQgdW5kIGVudGdlZ2Vua29tbWVuZC4KCkF1c3NlcmRlbSBlaW4gRGFuayBhbiBDYWtleSB1bmQgRHJhaHRiZWVuIGRhZnVlciwgZGFzcyBzaWUgdW5zZXJlIFRvY2h0ZXIKZXJ0cmFnZW4gaGFiZW4sIGRpZSBsaWViZXIgYmVpIGlobmVuIGltIFppbW1lciB3YXIgYWxzIGJlaSB1bnMuICBEYW5rZSBhbgpLbGFyYSBmdWVyIFNjaG51bGxlci0sIEZsYXNjaGUtIHVuZCBCcmVpdGVpbGVuLiAgUmFuYSBoYXQgbm9jaCBhdWYgZGVtIEhlaW13ZWcKaW1tZXIgbmFjaCBkZW0gQmFieSBnZWZyYWd0LgoKVW5kIERhbmtlIGFuIENhc3NhbmRyYSBmdWVycyBGYWhyZW4uICBLZWluZSBBaG51bmcsIHdpZSB3aXIgZGFzICBvaG5lIERpY2gKaGFldHRlbiBzY2hhZmZlbiBzb2xsZW4uICAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmtlISAoTWFoYXJldCwgMzAuIEp1bCAyMDA3LCAxMTowMzowMik6Cn4jISBybj1NYWhhcmV0IHJ0PTExODU3ODYwMTUgcmc9cGFydHkKfiMhIHRpZD0xMTg1NzM4Mjc5CkRhcyBNZXNzZXIgaGFiZW4gd2lyIHZlcmxvcmVuLCBuaWNodCBnZWZ1bmRlbi4gTmFqYSwgZXMgd2FyIGVpbiBzY2hsYWZhcm1lcgpVcmxhdWIgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEYW5rZSEgKFZhbmhlbHNpbmcsIDMwLiBKdWwgMjAwNywgMjA6NTI6MDApOgp+IyEgcm49TWFoYXJldCBydD0xMTg1Nzg2MTgyIHJnPXBhcnR5Cn4jISB0aWQ9MTE4NTczODI3OQpBdWNoIHZvbiBtaXIgKHVuZCBkZW5rZSBhdWNoIG1hbCB2b24gWXVsaSkgaGVyemxpY2hlbiBEYW5rIGZ1ZXIgZGllc2UgdG9sbGUKUGFydHkuIEljaCBmYW5kIGRhcyBXZXR0ZXIgYW0gV29jaGVuYW5mYW5nIHp3YXIgYXVjaCBuaWNoIHNjaG9lbiwgYWJlciBkYXMgaGF0CmphIG51ciBzb2xhbmdlIGFuZ2VoYWx0ZW4sIGJpcyBpY2ggSFA3IGR1cmNoIGhhdHRlLiBVbmQgZGFuYWNoIHdhcnMgamEgYXVjaAp3aWVkZXIgc2Nob2VuLgpEaWUgUkwtUXVlc3QgaGF0IHVucyBiZWlkZW4gYXVjaCBzZWVociBnZWZhbGxlbiwgb2J3b2hsIHVucyBiZWlkZW4gZG9jaCBkaWUKQmVpbmUgZXR3YXMgd2VoIGdldGFuIGhhdHRlbi4gQWJlciBkYXMgZ2Vob2VydCBqYSBtaXQgZGF6dS4gOykKRGFzIEVzc2VuIGJlaSBkZXIgUGFydHkgd2FyIHdpcmtsaWNoIHNlaHIgbGVja2VyIHVuZCByZWljaGxpY2guIFVuZCBkYXMKVGlyYW1pc3UtRnJ1ZWhzdHVlY2sgYW0gU29ubnRhZyBoYXR0ZSBhdWNoIHdhcy4gKmhtbW1tKgoKSWNoIGZyZXVlIG1pY2ggamV0enQgc2Nob24gYXVmIGRpZSBuYWVjaHN0ZSBQYXJ0eSwgd28gZGllc2UgYXVjaCBpbW1lcgpzdGF0dGZpbmRlbiB3aXJkLgoKVkggKCtZdWxpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGFua2UhIChWYW5pciwgMzAuIEp1bCAyMDA3LCAyMjoxNjo0Nik6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExODU4MjE1MjAgcmc9cGFydHkKfiMhIHRpZD0xMTg1NzM4Mjc5ClZpZWxlbiBEYW5rIGFuIGRhcyBPcmdhLVRlYW0uIElociBoYWJ0IGRhcyBnYW56ZSBzZWhyIHVua29tcGxpemllcnQgZ2VzdGFsdGV0LgpBbGxlcyAoYXVzc2VyIGd1dGVtIFdldHRlcikgd2FyIHZvcmhhbmRlbiAtIHVuZCB6d2FyIHJlaWNobGljaC4gCgpJY2gga2FubiBqZWRlbSwgZGVyIG5vY2ggbmllIGF1ZiBlaW5lciBzb2xjaGVuIFBhcnR5IHdhciBlaW5mYWNoIG1hbCB6dSBlaW5lcgp6dSBrb21tZW4uCgpWLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGFua2UhIChWYW5pciwgMzAuIEp1bCAyMDA3LCAyMjoxOToyOSk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExODU4MjE1MjAgcmc9cGFydHkKfiMhIHRpZD0xMTg1NzM4Mjc5CkFjaGphLCBkYSBmZWhsdCBlaW4gJ3JhdGVuJyBpbiBtZWluZW0gQXJ0aWtlbC4gQml0dGUgZnVlZ3QgZGFzIGFuCmVudHNwcmVjaGVuZGVyIFN0ZWxsZSBlaW4uCgpEYW5rZS4KVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERhbmtlISAoQXJrLCAzMC4gSnVsIDIwMDcsIDIyOjU3OjU3KToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTE4NTgyMTUyMCByZz1wYXJ0eQp+IyEgdGlkPTExODU3MzgyNzkKU3RvbHogbmVobWUgaWNoICJCZWluZSBldHdhcyB3ZWggZ2V0YW4gaGF0dGVuIiB6dXIgS2VubnRuaXMuIE5hamEsIHVuZCBlaW4Kd2VuaWcgYmVzb3JndCAuLi4gaWhyIHNlaWQgZG9jaCAiZGllIEp1Z2VuZCB2b24gaGV1dGUiIC4uLiBhYiB6dSBkZW4KQnVuZGVzanVnZW5kc3BpZWxlbiB1bmQgTGVpYmVzZXJ0dWVjaHRpZ3VuZyBwcmFrdGl6aWVyZW4gLi4uIGFiZXIgZmxvdHRpCipwZmlpaWlmZmZmKiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEYW5rZSEgKENyb2Z0LCAzMC4gSnVsIDIwMDcsIDIzOjI1OjQ0KToKfiMhIHJuPVZhbmlyIHJ0PTExODU4MjY2MDYgcmc9cGFydHkKfiMhIHRpZD0xMTg1NzM4Mjc5CkFjaCB3YXMuIERhcyBXZXR0ZXIgd2FyIGVpZ2VudGxpY2ggbnVyIGluIGRlciBOYWNodCB2b24gTW9udGFnIGF1ZgpEaWVuc3RhZywgU2Ftc3RhZ3MgbW9yZ2VucyB1bmQgYW0gU29ubnRhZ3MgbW9yZ2VucyBuaWNodCBvay4gIFVuZApkYXZvbiBoYXQgbWljaCBwZXJzb2VubGljaCBhdWNoIG51ciByaWNodGlnIGRlciBTb25udGFnIGJldHJvZmZlbiA7LSkKSW5zb2Zlcm46IERhbmtlIGFuIGFsbGUgQmV0ZWlsaWd0ZW4gOi0pCgpXZWdoaWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXIgKFpvb2ssIDMxLiBKdWwgMjAwNywgMDg6MjA6MTApOgpBdWZzY2hsYWc6IE1lc2lyaWkhCgpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkYW5rZSAoR2luZ2tvLCAzMS4gSnVsIDIwMDcsIDEwOjE5OjQ2KToKQXVjaCB2b24gdW5zIGVpbiBncm9zemVzIERhbmtlc2Nob2VuIGFuIGRpZSBPcmdhbmlzYXRvcmVuIGRlciB0b2xsZW4gUGFydHkuCkhhdCBTcGFzeiBnZW1hY2h0ISAKQmlzIHp1bSBuYWVjaHN0ZW4gTWFsClJhdmluYSB1bmQgR2luZ2tvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJpbGRlciAoWmVzc3RyYSwgMzEuIEp1bCAyMDA3LCAyMToxNzozNik6Cn4jISBybj1ab29rIHJ0PTExODU4NjI4MTAgcmc9cGFydHkKfiMhIHRpZD0xMTg1ODYyODEwCkljaCBoYWIgWm9vayBtYWwgZXR3YXMgQXJiZWl0IGFiZ2Vub21tZW4gdW5kIGRpZSBCaWxkZXIgdm9uIFBlcmRpdGEgdW5kClRhcmFuaXMgZWluZ2ViYXV0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkZXIgKE1lc2lyaWksIDMxLiBKdWwgMjAwNywgMjE6NTE6MTIpOgp+IyEgcm49WmVzc3RyYSBydD0xMTg1OTA5NDU2IHJnPXBhcnR5Cn4jISB0aWQ9MTE4NTg2MjgxMApTY2hpem9waHJhZW5pZSBydWxlWiA6KQpNZXNpLCBncmluc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVybWlzc3Q6IEtsb3NjaGx1ZXNzZWwgKE1pcmlsLCAgNC4gQXVnIDIwMDcsIDIwOjUyOjIzKToKSHVodSBpaHIgUGFydHlnYWVuZ2VyIQoKTmljaHQgbnVyIE1haGFyZXQgdmVybWlzc3Qgd2FzLCBzb25kZXJuIGVzIGlzdCBhdWNoIGVpbiBLbG9zY2hsdWVzc2VsIGFtIEVuZGUKbmljaHQgZGFnZXdlc2VuLiBEYSBTb25udGFnIG1vcmdlbiBub2NoIGFsbGUgZGEgd2FyZW4sIGthbm4gZGVyIG51cgp2ZXJzZWhlbnRsaWNoIGluIGVpbmVyIFRhc2NoZSBnZWxhbmRldCBzZWluLiBGYWxscyBpaG4gYWxzbyBub2NoIHdlciBmaW5kZXQsCmthbm4gZXIgZGVuIG5pY2h0IGJlaGFsdGVuLCBzb25kZXJuIHNvbGx0ZSBzaWNoIG5ldHRlcndlaXNlIGJlaSBtaXIgbWVsZGVuLgpEYW5uIGtyaWVndCBtYW4gZXMgc2ljaGVyIGhpbiwgZGVuIG5vY2ggenVydWVja3p1Z2ViZW4sIGRlbm4gZGllIG5ldHRlIERhbWUKdm9tIENhbXBpbmdwbGF0eiBoYXQgdW5zIHNvZ2FyIGRpZSAxMCBFdXJvIFN0cmFmZSBlcmxhc3NlbiwgZGllIGRhcyBub3JtYWwKa29zdGV0LiBXYWVyZSBhbHNvIHNjaG9lbiwgd2VubiBkZXIgZG9jaCBhdWZ0YXVjaGVuIHd1ZXJkZS4KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDYW1waW5ncGxhdHogaW4gSGF0dGluZ2VuIGJlaSBIb2Nod2Fzc2VyIChUYXJhbmlzLCAyNS4gQXVnIDIwMDcsIDAwOjU5OjU2KToKSHVodSwKCmljaCB3YXIgaGV1dCBhbSBDYW1waW5ncGxhdHosIHdvIGRpZSBQYXJ0eSB2b3IgMy00IFdvY2hlbiB3YXIgdW5kIGhhYiBtYWwgZWluCnBhYXIgRm90b3MgZ2VtYWNodCwgZGVubiB2ZXJtdXRsaWNoIGtlbm5lbiBkaWUgbWVpc3RlbiBkaWVzZW4gYWt0dWVsbGVuCkFuYmxpY2sgbm9jaCBuaWNodC4gOy0pCmh0dHA6Ly93d3cuMjNocS5jb20vdGFyYW5pcy9hbGJ1bS8yMzUwMDIzCkFsc28sIEhpbnRlcmdydW5kIGlzdCwgZGFzcyBkaWUgUnVociBtb21lbnRhbiBhdWZncnVuZCBlaW5lcyBVbndldHRlcnMKSG9jaHdhc3NlciBoYXQuCkljaCBoYWIgbWFsIG1pdCBkZW4gTGV1dGVuIGRhIGVpbiBwYWFyIE1pbnV0ZW4gZ2VxdWF0c2NodC4gTGVpZGVyIGlzdCBlcyBkYXMKMi4gSG9jaHdhc3NlciBpbiA3IFRhZ2VuLiBOYWNoIGRlbSBlcnN0ZW4gaGF0dGVuIHNpZSBnZXJhZGUgYXVmZ2VyYWV1bXQgdW5kCmRpZSBEYXVlcmNhbXBlciBoYXR0ZW4gaWhyZW4gS3JhbSB6dW0gZ3Jvc3NlbiBUZWlsIHdpZWRlciBoaW5nZXBhY2t0LCBkYSBrYW0KYW0gVGFnIGRhbmFjaCBkaWUgendlaXRlIFJ1bmRlIFVud2V0dGVyIHJ1aHJhdWZ3YWVydHMgdW5kIHNpZSBtdXNzdGVuIGVybmV1dAppbiBlaW5lciBOYWNodGFrdGlvbiBpbm5lcmhhbGIgdm9uIDMtNGggZGVuIFBsYXR6IHJhZXVtZW4uLi4gRGFzIDIuIEhvY2h3YXNzZXIKamV0enQgd2FyIHdvaGwgZGFzIHNjaGxpbW1zdGUsIHdhcyBzaWUgYmlzaGVyIGRvcnQgZXJsZWJ0IGhhdHRlbiwgZGFzIFdhc3NlcgpzdGllZyBiaXMgenVtIG9iZXJlbiBSYW5kIGRlciBNYXVlciB1bXMgSGF1cy4KQWxzIGljaCBkYSB3YXIsIHNhbmsgZGVyIFBlZ2VsIGJlcmVpdHMgZGV1dGxpY2ggdW5kIHNpZSB3YXJlbiBkYWJlaSwgbWl0IEJlc2VuCmRlbiBTY2hsYW1tIGF1ZiBkZW4gV2VnZW4gYXVmenVydWVocmVuLCBkYW1pdCBkYXMgYWJsYXVmZW5kZSBXYXNzZXIgbW9lZ2xpY2hzdAp2aWVsIGRhdm9uIG1pdG5pbW10IChzb25zdCBiaWxkZXQgZGVyIFNjaGxhbW0gZWluZSBoYXJ0ZSB1bmQgemFlaGUgTWFzc2UsIGRpZQprYXVtIHp1IGVudGZlcm5lbiBpc3QpIHVuZCBtZWludGVuLCBzaWUgd3VlcmRlbiBkaWVzZSBBa3Rpb24gYmlzIHRpZWYgaW4gZGllCk5hY2h0IGZvcnRzZXR6ZW4gb2RlciBzb2dhciBiaXMgbW9yZ2VuLCBqZSBuYWNoZGVtLCB3aWUgbGFuZyBkYXMgd2VpdGVyZQpBYnNpbmtlbiBkZXMgV2Fzc2Vyc3RhbmRzIGRhdWVydC4KRmF6aXQ6IGJlZWluZHJ1Y2tlbmRlIEFuc2ljaHQsIGFiZXIgZnVlciBkaWUgTGV1dGUgdm9tIENhbXBpbmdwbGF0eiBlY2h0IG5lCktub2NoZW5tdWVobGUsIG5vY2ggdm9uIGRlbiBFaW5uYWhtZWF1c2ZhZWxsZW4gdW5kIEtvc3RlbiBmdWVycyBBdWZyYWV1bWVuCmFiZ2VzZWhlbi4gQmxlaWJ0IHp1IHd1ZW5zY2hlbiwgZGFzcyBlcyBkYXMgZXJzdG1hbCBhbiBVbndldHRlcm4gd2FyIHVuZCBkYXMKSGVyYnN0aG9jaHdhc3NlciBub2NoIHdhcyBhdWYgc2ljaCB3YXJ0ZW4gbGFlc3N0IHVuZCBtb2VnbGljaHN0IGdsaW1wZmxpY2gKYXVzZmFlbGx0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZyAyMDA3IChNaXJpbCwgMjEuIFNlcCAyMDA3LCAxNToyMzo0MSk6Cn4jISBvbj1NaXJpbCBvdD0xMTkwMzgwOTQ3IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUFueXNpZG9yYSBydD0xMTkwMzgwNzYyIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTkwMzgwNzYyClN1cGVyLCBmaW5kIGljaCBwcmltYSEgU293ZWl0IGljaCBkYXMgdWViZXJibGlja2UgcGFzc2VuIG1pciBiZWlkZSwgbWl0CmxlaWNodGVyIFRlbmRlbnogZGF6dSwgZGVuIGVyc3RlbiB6dSBiZXZvcnp1Z2VuLiAKCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZyAyMDA3IChaZXNzdHJhLCAyMS4gU2VwIDIwMDcsIDE1OjI0OjQ5KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMTkwMzgwNzYyIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTkwMzgwNzYyCkp1Y2h1ISBFbmRsaWNoIHdpZWRlciBlaW5lIFdpbnRlcnBhcnR5ISA6LSkgVG9sbCEKQWxzbywgaWNoIGthbm4gbW9tZW50YW4gbm9jaCBhbiBiZWlkZW4gV0UsIHNvIGljaCBkYXMgamV0enQgYmVpIGVpbmVtIEJsaWNrCmF1ZiBkZW4gS2FsZW5kZXIgc2VoLiBJY2ggaGFiIG1hbCBlcnN0bWFsIGJlaWRlIGVpbmdldHJhZ2VuLgpBbHNvIHZvbiBtaXI6ICsxCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcmJ1cmcgMjAwNyAoWHV0ZWxpdXMsIDIxLiBTZXAgMjAwNywgMjM6MTM6NDcpOgp+IyEgcm49WmVzc3RyYSBydD0xMTkwMzgxMDg5IHJnPXBhcnR5Cn4jISB0aWQ9MTE5MDM4MDc2MgpoaSA6KQoKaWNoIHdhZXIgZnVlcnMgZXJzdGUgd29jaGVuZW5kZS4gYWxzbyAyMy0yNSBub3YuCgpsZyB4dXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJidXJnIDIwMDcgKFZhbmlvbiwgMjIuIFNlcCAyMDA3LCAxMDowMzoyMik6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTE5MDM4MDc2MiByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE5MDM4MDc2MgpJY2gga2FubiBsZWlkZXIgYW4gYmVpZGVuIFdvY2hlbmVuZGVuIG5pY2h0LiBBbSAyOS4gdW5kIDMwLjExIGlzdCBkZXIKbXVlbmRsaWNoZSBUZWlsIG1laW5lciBTdGFhdHNwcnVlZnVuZyB1bmQgYW0gTW9udGFnIGRhcmF1ZiBtdXNzIGljaCBtaWNoIGFtCm5ldWVuIERpZW5zdG9ydCBtZWxkZW4gLi4uIERhcyBXb2NoZW5lbmRlIGRhdm9yIHdlcmRlIGljaCB3b2hsIG1pdCBkZW0gVmVyc3VjaAp2ZXJicmluZ2VuLCBtZWluIEhpcm4gbWl0IEZha3Rlbndpc3NlbiB6dW0gUGxhdHplbiB6dSBicmluZ2VuLgoKR3J1ZXNzZSwKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJidXJnIDIwMDcgKEdyaW1tYm9ybiwgMjIuIFNlcCAyMDA3LCAxMTozMzo0NSk6Cn4jISBvbj1Bbm9yaXMgb3Q9MTE5MDQ1MTk5MCBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1BbnlzaWRvcmEgcnQ9MTE5MDM4MDc2MiByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE5MDM4MDc2MgpCZWlkZXMgb2ssIGFiZXIgMzAuMTEuLTAyLjEyLjIwMDcgbmFlaGVyIGJlaW0gIlNhbWljaGxhdXMiLCB3YXMgenUgYmV2b3J6dWdlbgp3YWVyZSA7KSAtIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJidXJnIDIwMDcgKFNoYWtlZGJlZXIsIDI3LiBTZXAgMjAwNywgMTk6MzI6NTIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExOTA0NTM2MjUgcmc9cGFydHkKfiMhIHRpZD0xMTkwMzgwNzYyCkljaCB3YWVyZSBiaXMgamV0enQgYXVjaCBhbiBiZWlkZW4gVGVybWluZW4gZGFiZWkhCgpEYXMgRmV1ZXJ6YW5nZW4tU2NodWV0dGVsYmllci4gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVyYnVyZyAyMDA3IChaZXNzdHJhLCAyOS4gU2VwIDIwMDcsIDIwOjIwOjI4KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMTkwMzgwNzYyIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTkwMzgwNzYyCldlbm4gd2lyIGRhIFBhcnR5IHVuZCBUZXJtaW4gZ2VrbGFlcnQgaGFidCwga29lbm5lbiB3aXIgamEgbm9jaG1hbCB1ZWJlcmxlZ2VuLApvYiB3aXIgZGllIFRhc3NlbmJlc3RlbGx1bmcgYXVzIGRlbSBTb21tZXIgbm9jaCBuYWNoaG9sZW4gbW9lY2h0ZW4uIEhhbHQKenVtaW5kZXN0IGZ1ZXIgZGllLCBkaWUgenVyIFdpbnRlcnBhcnR5IGtvbW1lbiB3ZXJkZW4uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJidXJnIDIwMDcgKEFueXNpZG9yYSwgMjkuIFNlcCAyMDA3LCAyMDozNToxMSk6Cn4jISBybj1aZXNzdHJhIHJ0PTExOTEwOTAwMjggcmc9cGFydHkKfiMhIHRpZD0xMTkwMzgwNzYyCmphLCBkYSBoYWIgaWNoIGF1Y2ggc2Nob24gZHJhbiBnZWRhY2h0Li4uIGFsc28gaWNoIGZhZW5kZSBkaWUgaWRlZSBndXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVyYnVyZyAyMDA3IChLZXNzYSwgMjkuIFNlcCAyMDA3LCAyMzozODowNCk6Cn4jISBybj1aZXNzdHJhIHJ0PTExOTEwOTAwMjggcmc9cGFydHkKfiMhIHRpZD0xMTkwMzgwNzYyCkljaCB3aWxsIGFiZXIgYXVjaCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtZTogV2lCdS1QYXJ0eSAyMDA3IChab29rLCAgOC4gT2t0IDIwMDcsIDEzOjA1OjU1KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMTkxODQxMzMwIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTkxODQxMzMwCnd1ZXJkZSBpY2ggbWljaCBzaWNoZXIgYW5tZWxkZW4gdW5kIHdhZXJlbiBhbSBlbmRlIGtvc3RlbiBmdWVyIDUKZmVobGVuZGUgcGVyc29uZW4gKGRhcyBrb2VubmVuIGphIG5pY2h0IGRpZSBnYW56ZW4ga29zdGVuIGRlciBhbndlc2VuZGVuCnNlaW4sIGRhIGRpZSBuaWNodCBhbndlc2VuZGVuIGphIG5peCBlc3Nlbikgbm9jaCB6dSBlbnRyaWNodGVuLCAKd3VlcmRlIGljaCAxLzI1IGRlciBrb3N0ZW4gdWViZXJuZWhtZW4uIDspIAoKegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ibGVtZTogV2lCdS1QYXJ0eSAyMDA3IChDcm9mdCwgIDguIE9rdCAyMDA3LCAxMzowODo1Nyk6Cn4jISBybj1ab29rIHJ0PTExOTE4NDE1NTUgcmc9cGFydHkKfiMhIHRpZD0xMTkxODQxMzMwCkRpdG8gYnpnbCBUYXNzcmFtIHVuZCBtaXIuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJvYmxlbWU6IFdpQnUtUGFydHkgMjAwNyAoQXJrLCAgOC4gT2t0IDIwMDcsIDEzOjE1OjQzKToKfiMhIHJuPUNyb2Z0IHJ0PTExOTE4NDE3Mzcgcmc9cGFydHkKfiMhIHRpZD0xMTkxODQxMzMwCkljaCBrYW5uIGF1Y2gga29tbWVuLCBlaW5nZXRyYWdlbiBoYWIgaWNoIGVzIG1pci4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbWU6IFdpQnUtUGFydHkgMjAwNyAoWmVzc3RyYSwgIDguIE9rdCAyMDA3LCAxMzozODo1Myk6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTE5MTg0MTMzMCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE5MTg0MTMzMApBbHNvLCBpY2ggd3VlcmRlIHNpY2hlciBrb21tZW4gdW5kIHd1ZXJkZSBlcyBiZWkgenVzYWV0emxpY2hlbiBLb3N0ZW4gZWJlbnNvCndpZSBab29rIGhhbmRoYWJlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJvYmxlbWU6IFdpQnUtUGFydHkgMjAwNyAoQW55c2lkb3JhLCAgOC4gT2t0IDIwMDcsIDE0OjEzOjU2KToKfiMhIHJuPVpvb2sgcnQ9MTE5MTg0MTU1NSByZz1wYXJ0eQp+IyEgdGlkPTExOTE4NDEzMzAKbmFqYSwgZGVyIHZlcmFudHdvcnRsaWNoZSwgbWl0IGRlbSBpY2ggZ2V0ZWx0IGhhYmUgaGF0IGdlbWVpbnQsIGRhc3Mgc2ljaCBkYXMKZnVlciBkaWUgbmljaHQgcmVjaG5ldCwgd2VubiB3aXIgd2VuaWdlciBhbHMgMzAgcGVyc29uZW4gc2luZCB1bmQgZGFzcyBkaWUKZmVobGVuZGVuIHZvbGwgYmV6YWhsdCB3ZXJkZW4gbXVlc3N0ZW4uLi4gaWNoIGhhYiBhbmdlbm9tbWVuLCBkYXNzIGVyIGRhbWl0CmRlbiBiZXRyYWcgbWVpbnQsIGRlbiBqZWRlciBhbiB1ZWJlcm5hY2h0dW5nIHVuZCBlc3NlbiBrb3N0ZXQuLi4gd29iZWkgZXMKc2Nob24gc3RpbW10LCBlc3NlbiB0dW4gc2llIGphIG5pY2h0LCBhYmVyIHVlYmVybmFjaHRlbiBoYWx0IGF1Y2ggbmljaHQgOikgLi4uCmljaCB3YXJ0ZSBtYWwgYWIsIG9iIGljaCBhdXMgZGVtIHZlcnRyYWcgc2NobGF1ZXIgd2VyZGUsIHdlbm4gbmljaHQgcnVmIGljaApkZW4gbm9jaG1hbCBhbiB1bmQgZnJhZyBnZW5hdSBuYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcm9ibGVtZTogV2lCdS1QYXJ0eSAyMDA3IChIdW1uaSwgIDguIE9rdCAyMDA3LCAxNjo1Mzo0MSk6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTE5MTg0NTYzNiByZz1wYXJ0eQp+IyEgdGlkPTExOTE4NDEzMzAKSWNoIHd1ZXJkZS93ZXJkZS90dWUvd2lsbCBlcyBnZW5hdXNvIHdpZSBab29rIHVuZCBaZXNzdHJhIHVuZCB3ZXIgZGEgc29uc3QKbm9jaCBqYSB6dSBnZXNhZ3QgaGF0IGhhbmRoYWJlbi4gVW5kIGVnYWwgb2IgaWNoIGthbm4sIGljaCBrb21tZS4gV2VubiwgZGFubgpoYWx0IG51ciBhbSBTYW1zdGFnLiBBYmVyIGljaCB3ZXJkZSBtaXIgbWVpbmVuICJEdSBoYXN0IGpldHp0IHNlaXQgMjAwMCBqZWRlClBhcnR5IGJlc3VjaHQiLVJla29yZCBuaWNodCBuZWhtZW4gbGFzc2VuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKFZhbmhlbHNpbmcsICA4LiBPa3QgMjAwNywgMTg6MjY6NTgpOgp+IyEgcm49SHVtbmkgcnQ9MTE5MTg1NTIyMSByZz1wYXJ0eQp+IyEgdGlkPTExOTE4NDEzMzAKSWNoIGRlbmtlIG1hbCwgZGFzcyBpY2ggYXVjaCBkYWhpbiBrb21tZW4ga2Fubi93ZXJkZS4gSWNoIHdlaXNzIGVzIHp3YXIgbm9jaApuaWNodCB6dSAxMDAlLCBhYmVyIHp1IDk1JSBtaW5kZXN0ZW5zLiA7KQpJY2ggd3VlcmRlIG1pY2ggbG9naXNjaGVyd2Vpc2UgYXVjaCBhbiB6dXNhZXR6bGljaGVuIEtvc3RlbiBmdWVyIGZlaGxlbmRlCk11ZGRlciBiZXRlaWxpZ2VuLgoKQ1UKClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQcm9ibGVtZTogV2lCdS1QYXJ0eSAyMDA3IChDYXNzYW5kcmEsICA4LiBPa3QgMjAwNywgMjE6MzA6MzgpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMTkxODYwODE4IHJnPXBhcnR5Cn4jISB0aWQ9MTE5MTg0MTMzMAppY2ggbWFnIGF1Y2gga29tbWVuLiAKdmVybXV0bGljaCB3aWVkZXIgenUgendlaXQuIG1pciB3YWVyZSBkYXMgbm92ZW1iZXIgd2UgbGllYmVyIGFiZXIgZGFzIGVyc3RlCmRlemVtYmVyIHdvY2hlbmVuZGUgZ2VodCBhdWNoIGFiZXIgZGFubiAgbXVlc3N0IGlociBtaXQgbWlyIGJ1cnRzdGFnIGZlaWVybi4gCgpiZWkgZGVuIEtvc3RlbiBzZWhlIGljaCBlcyBhZWhubGljaCB3aWUgbWVpbmUgdm9ycmVkbmVyLCBkYXMga2FubiBtYW4gc2ljaApub3RmYWxscyB0ZWlsZW4sIGhhYmVuIHdpciBpbiBCZXJsaW4gZG9jaCBhdWNoIGhpbmJla29tbWVuLgoKQ2Fzc3ksIGZyZXV0IHNpY2ggamV0enQgc2Nob24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKExpYXJhLCAgOC4gT2t0IDIwMDcsIDIxOjQ2OjUyKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTkxODcxODM4IHJnPXBhcnR5Cn4jISB0aWQ9MTE5MTg0MTMzMApJY2ggaGFiZSBlcyBtaXIgYXVjaCBlaW5nZXRyYWdlbiwgZWdhbCBhbiB3ZWxjaGVtIFRlcm1pbi4gUHJvYmxlbSBpc3QgYmVpIG1pcgpudXIsIGRhc3MgaWNoIGRhcyBhdXMgZ2VzdW5kaGVpdGxpY2hlbiBHcnVlbmRlbiBlcnN0IGt1cnogdm9yaGVyIHdpcmtsaWNoCndlaXNzLiA6KSBKZWRlbmZhbGxzIGlzdCBXaWxsaShhZWggV2ludGVyLSlidXJnIGVpZ2VudGxpY2ggZWluIE11c3MsIHNlbGJzdAp3ZW5uIG1hbiBkaWUgaGVpc3NlIE11ZHBhcnR5cGhhc2Ugc2Nob24gdWViZXJzY2hyaXR0ZW4gaGF0LiAqZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKENyb2Z0LCAgOS4gT2t0IDIwMDcsIDEwOjUzOjExKToKfiMhIHJuPUxpYXJhIHJ0PTExOTE4NzI4MTIgcmc9cGFydHkKfiMhIHRpZD0xMTkxODQxMzMwCkRlciBUZXJtaW4gc3RlaHQgYXVzc2VyIEZyYWdlICgyMy4tMjUuMTEpLiAgRXMgZ2VodCBtb21lbnRhbiBudXIgbm9jaCB1bQpvYiB1ZWJlcmhhdXB0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKFNoYXJpYSwgIDkuIE9rdCAyMDA3LCAyMzozMzo1MCk6Cn4jISBybj1Dcm9mdCBydD0xMTkxOTE5OTkxIHJnPXBhcnR5Cn4jISB0aWQ9MTE5MTg0MTMzMApJY2ggZ2xhdWJlIGljaCB3ZXJkZSBhdWNoIHdpZWRlciBuaWNodCBrb21tZW4sIGRhIGljaCBtaXIgbWVpbmVuICJEdSBoYXN0CmpldHp0IHNlaXQgbWluZGVzdGVucyAyMDAwIGplZGUgUGFyeSB2ZXJzYWV1bXQiLVJla29yZCBuaWNodCBuZWhtZW4gbGFzc2UgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKFplc3N0cmEsICA5LiBPa3QgMjAwNywgMjM6NDY6MTkpOgp+IyEgcm49U2hhcmlhIHJ0PTExOTE5NjU2MzAgcmc9cGFydHkKfiMhIHRpZD0xMTkxODQxMzMwCk1obW0uIEh1bW5pcyByZWtvcmQgaXN0IGNvb2xlci4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKEtlc3NhLCAgOS4gT2t0IDIwMDcsIDIzOjQ4OjIzKToKfiMhIHJuPVNoYXJpYSBydD0xMTkxOTY1NjMwIHJnPXBhcnR5Cn4jISB0aWQ9MTE5MTg0MTMzMApBdSBqYSwgU2hhcmlhLiBXaXIga29lbm50ZW4genVzYW1tZW4ga2VpbmUgUGFydHkgZmVpZXJuLCBtYWNoc3QgZHUgbWl0PyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKFNoYXJpYSwgMTQuIE9rdCAyMDA3LCAxMzoxMDoxMik6Cn4jISBybj1LZXNzYSBydD0xMTkxOTY2NTAzIHJnPXBhcnR5Cn4jISB0aWQ9MTE5MTg0MTMzMApobW0gS2Vzc2EsIGljaCB3ZWlzcyBvYiBpY2ggZGFmdWVyIGtlaW5lIFplaXQgaGFiZS4gRGEgc29sbHRlbiB3aXIgbWFsIG5pY2h0Cm5vY2htYWwgZHJ1ZWJlciByZWRlbiEgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbWU6IFdpQnUtUGFydHkgMjAwNyAoQ3JvZnQsIDI5LiBPa3QgMjAwNywgMTA6MTU6MTUpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTExOTE4NDEzMzAgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTExOTE4NDEzMzAKRmFsbHMgV2lCdSBzdGF0dGZpbmRldCAod2FzIGljaCBob2ZmZW4gd2lsbCwgZGllIEFuemFobCBzaWVodCBqYQptaXR0bGVyd2VpbGUgcmVjaHQgZ3V0IGF1cyksIHdhZXIgaWNoIHdpZWRlciBmdWVyIGRhcyB1ZWJsaWNoZQpXaGlza3ktVGFzdGluZy4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKE1vbnRhbnVzLCAyOS4gT2t0IDIwMDcsIDEzOjQ1OjExKToKfiMhIHJuPUNyb2Z0IHJ0PTExOTM2NDkzMTUgcmc9cGFydHkKfiMhIHRpZD0xMTkxODQxMzMwCk1pdCBtaXRnZWJyYWNodGVtIFpldWcgb2RlciBhdWYgZGVyIEt5cmJ1cmc/IEZyYWcgbWFsIEdkQSBvZGVyIEFuYXRvbCwgZGllCndvbGx0ZW4gc2ljaCBkYSBuZXVsaWNoIGVpbnNjaGxpZXNzZW4gbGFzc2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcm9ibGVtZTogV2lCdS1QYXJ0eSAyMDA3IChHcmltbWJvcm4sIDI5LiBPa3QgMjAwNywgMTQ6MDA6MTQpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE5MzY2MTkxMSByZz1wYXJ0eQp+IyEgdGlkPTExOTE4NDEzMzAKR25oLCBkZXIgZWluemlnZSBHcnVuZCwgZGFzcyBpY2ggbWljaCBuaWNodCBpbiBlaW5lciBFY2tlIHZlcnN0ZWNrdCB1bmQgZHJhdWYKZ2V3YXJ0ZXQgaGFiZSBkYXNzIGRlciBLZXJsIGRpZSBUdWVyIHZvbiBhdXNzZW4gYWJzY2hsaWVzc3Qgd2FyLCBkYXNzIGVzCnVuaG9lZmxpY2ggZ2V3ZXNlbiB3YWVyZSBzbyBmcnVlaCBhbSBUYWcgc2Nob24genUgdmVyc2Nod2luZGVuLiBEYSB3YXIgc2Nob24KcmVjaHQgdmllbCBTY2hvZW5lcyBkYWJlaSwgdW0gbWFsIE9ua2VsIEZpc2ggenUgeml0aWVyZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByb2JsZW1lOiBXaUJ1LVBhcnR5IDIwMDcgKENyb2Z0LCAyOS4gT2t0IDIwMDcsIDE0OjEyOjA5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExOTM2NjE5MTEgcmc9cGFydHkKfiMhIHRpZD0xMTkxODQxMzMwCk1pbmRlc3RlbnMgbWl0Z2VicmFjaHRlcy4gIEZhbGxzIHNpY2ggZGFzIG1pdCBkZXIgS3lyYnVyZyBlcmdpYnQsIHVtIHNvCmJlc3Nlci4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQcm9ibGVtZTogV2lCdS1QYXJ0eSAyMDA3IChCb2luZywgMjkuIE9rdCAyMDA3LCAxNDozODoxMyk6Cn4jISBybj1Dcm9mdCBydD0xMTkzNjYzNTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTE5MTg0MTMzMApLeXJidXJnIFZlcmtvc3R1bmdlbiBtdXNzdCBEdSBhYmVyIHdvaGwgdm9yaGVyIHJlc2VydmllcmVuIHVuZCBiaXN0IGRhbm4KZGVuIGdhbnplbiBGcmVpdGFnIGFiZW5kIG9kZXIgU2Ftc3RhZyBhYmVuZCBkb3J0IC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQcm9ibGVtZTogV2lCdS1QYXJ0eSAyMDA3IChNb250YW51cywgMjkuIE9rdCAyMDA3LCAxNDo0NzoxNSk6Cn4jISBybj1Cb2luZyBydD0xMTkzNjY1MDkzIHJnPXBhcnR5Cn4jISB0aWQ9MTE5MTg0MTMzMApPZGVyIHZvbiBGcmVpdGFnYWJlbmQgYmlzIFNhbXN0YWdhYmVuZCwgd2VubiBkdSBkaWNoIG1pdCBHZEEgdW5kIEFuYXRvbAplaW5zY2hsaWVzc2VuIGxhZXNzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtzYWd1bmcgKEFyaywgMjUuIE5vdiAyMDA3LCAxNjoxMDoxNyk6ClByaW1hIFBhcnR5LCB2aWVsZW4gRGFuayB1bmQgYmlzIHp1bSBuYWVjaHN0ZW4gTWFsLCBkYW5uIG1pdCByaWNodGlnZW0KTWFuZ29zYWZ0LCBob2ZmZSBpY2guCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtzYWd1bmcgKENoYWdhbGwsIDI1LiBOb3YgMjAwNywgMTY6NDU6NTMpOgp+IyEgcm49QXJrIHJ0PTExOTYwMDM0MTcgcmc9cGFydHkKfiMhIHRpZD0xMTk2MDAzNDE3CkRlbSBrYW5uIGljaCBtaWNoIG51ciBhbnNjaGxpZXNzZW4gKGphLCBhdWNoIGJlaW0gTWFuZ29zYWZ0KS4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua3NhZ3VuZyAoTWlyaWwsIDI1LiBOb3YgMjAwNywgMTg6Mjc6MzQpOgp+IyEgcm49QXJrIHJ0PTExOTYwMDM0MTcgcmc9cGFydHkKfiMhIHRpZD0xMTk2MDAzNDE3ClZpZWxlbiBEYW5rIGZ1ZXIgZGllIE9yZ2FuaXNhdGlvbiBkZXIgUGFydHkuIFNpZSB3aXJkIG1pciBub2NoIGxhbmdlIGluCkVyaW5uZXJ1bmcgYmxlaWJlbiwgaW5zYmVzb25kZXJlIGF1ZmdydW5kIHZvbiBmcmVpdGFnYWJlbmRsaWNoZW4KR2VzYW5nc2VpbmxhZ2VuIGluc3BpcmllcnQgZHVyY2ggdmllbCBGZXVlcnphbmdlbmJvd2xlLCBkaWUgYmVpIFNoYWt5IG9mZmVuYmFyCm1pbmRlc3RlbnMgZ2VuYXVzbyBndXQgd2lya3Qgd2llIFNjaHVldHRlbGJpZXIuCgpQYWxhcyBzdGVyYmVuIG5pY2h0IQoKSWNoIGZyZXUgbWljaCBzY2hvbiBhdWYgZGllIG5hZWNoc3RlIFBhcnR5LCBkaWUgd2lyIGhvZmZlbnRsaWNoIHNwYWV0ZXN0ZW5zIGltClNvbW1lciBoYWJlbiB3ZXJkZW4uCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW5rc2FndW5nIChTaGFrZWRiZWVyLCAyNS4gTm92IDIwMDcsIDE4OjUyOjA2KToKfiMhIHJuPU1pcmlsIHJ0PTExOTYwMTE2NTQgcmc9cGFydHkKfiMhIHRpZD0xMTk2MDAzNDE3CipHKiBLZWluZSBEZXRhaWxzIGJpcyB6dXIgVXJhdWZmdWVocnVuZywgYml0dGUuIDstKURpZSBQYXJ0eSB3YXIgbGFlbmdzdAp3aWVkZXIgdWViZXJmYWVsbGlnLiBEYW5rZSBhbHNvIGZ1ZXIgZGllIE9yZ2FuaXNhdGlvbi4KU2hha3kgLSB3aWVkZXIgbnVlY2h0ZXJuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGFua3NhZ3VuZyAoQXJhdGhvcm4sIDI1LiBOb3YgMjAwNywgMjA6MjU6NTIpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTk2MDEzMTI2IHJnPXBhcnR5Cn4jISB0aWQ9MTE5NjAwMzQxNwpBdWNoIHZvbiBtaXIgaGVyemxpY2hlbiBEYW5rIGZ1ZXIgT3JnYSB1bmQgZ3V0ZSBTdGltbXVuZyEgSGF0IHdpZWRlcm1hbCAKUmllc2Vuc3Bhc3MgZ2VtYWNodCBpbiBXaW50ZXJidXJnLiA6LSkKCkdydXNzLCBBcmF0aG9ybi4KClAuUy4gIlNoYWt5IHNhZ3Q6IEljaCBiaW4gSGVpZGkuIiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmtzYWd1bmcgKEh1bW5pLCAyNS4gTm92IDIwMDcsIDIwOjQzOjEyKToKfiMhIHJuPUFyYXRob3JuIHJ0PTExOTYwMTg3NTIgcmc9cGFydHkKfiMhIHRpZD0xMTk2MDAzNDE3CkljaCBhbnR3b3J0ZSBhdWNoIHVuZCBzYWcgRGFua2UuIEphLCBkaWUgR2VzYW5nc2VpbmxhZ2VuIHdhcmVuIHRvbGwuLi4gd2FydGV0Cm51ciBhdWYgZGllIC4uLiBhY2gsIGljaCBzYWcgbml4IDstKQoKQWJlciBub2NoIHdhcyBhbmRlcmVzOiBCZWkgbWlyIGltIEF1dG8gYmVmaW5kZW4gc2ljaCBVZWJlcmJsZWlic2VsLiBVbmQgendhcgplaW5lIEZsYXNjaGUgQmllci4gTmVpbi4gV2FzIGFuZGVyZXMuIEphZWdlcm1laXN0ZXIuIERpZSBzdGFuZCBub2NoIGluIGRlcgpXaUJ1IHJ1bSwgaWNoIGhhYiBzaWUgZGFubiBtaXRnZW5vbW1lbiB1bmQgd29sbHRlIGJlaW0gRXNzZW4gZnJhZ2VuLCB2b24gd2VtCmRpZSBpc3QsIGhhYnMgYWJlciB2ZXJnZXNzZW4uIERhIGljaCBzZWxic3QgbmljaHQgZGVyIGdyb3NzZQpKYWVnZXJtZWlzdGVydHJpbmtlciBiaW4gYml0dGUgaWNoIGRlbi9kaWVqZW5pZ2UobiksIGRlbmVuIGRlciBnZWhvZXJ0LApiZXNjaGVpZHp1Z2ViZW4uCgpGZXJuZXIgaGFiZSBpY2ggRHVzY2hnZWwgbWl0Z2Vub21tZW4gKENhcmliaWMgaXJnZW5kd2FzLCBpc3QgaW0gQXV0bywgbW9yZ2VuCnZlcnJhdCBpY2ggZ2VuYXVlciwgd2llIGVzIGhlaXNzdCkuIEF1Y2ggaGllciBnaWx0OiBCaXR0ZSBtZWxkZW4uCgpTb3JyeSwgaWNoIGhhYiBiZWltIEVzc2VuIGVpbmZhY2ggbmljaHQgZHJhbiBnZWRhY2h0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERhbmtzYWd1bmcgKFZhbmhlbHNpbmcsIDI1LiBOb3YgMjAwNywgMjM6MzM6NTgpOgp+IyEgcm49SHVtbmkgcnQ9MTE5NjAxOTc5MiByZz1wYXJ0eQp+IyEgdGlkPTExOTYwMDM0MTcKSHVodSwKCmF1Y2ggaWNoIHdpbGwgbWljaCBkZXIgZGFua2VuZGVuIEdlbWVpbmRlIGFuc2NobGllc3Nlbi4gRXMgd2FyIHdpcmtsaWNoIHdpZWRlcgplaW5tYWwgV2lCdSB1ZWJlcmZhZWxsaWcsIHVuZCBlcyB3YXIgd2llZGVyZWlubWFsIGtsYXNzZS4KSWNoIGZyZXUgbWljaCBzY2hvbiwgd2FzIHZvbiBkZW4gIkdlc2FuZ3NrdWVuc3RlbiIgYW4gZGllIE9lZmZlbnRsaWNoa2VpdApnZWxhbmd0LiBEYXMgd2FyIGVjaHQgc3BpdHplLgoKSWNoIGZyZXUgbWljaCBqZXR6dCBzY2hvbiBhdWYgZGllIG5hZWNoc3RlIFBhcnR5LiBIb2ZmZW50bGljaCB3aXJkIGRpZSBpbgpuaWNodCBhbGx6dSBsYW5nZXIgWnVrdW5mdCBsaWVnZW4uCigqZnJldXQgc2ljaCB3b2hsIGdlcmFkZSB2aWVsKiAqZyopCgoqZnJvZWhsaWNoIHdpbmtlbmQqCgpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua3NhZ3VuZyAoTGlhcmEsIDI2LiBOb3YgMjAwNywgMDA6Mzc6MjkpOgp+IyEgcm49WmVzc3RyYSBydD0xMTk2MDE4OTY5IHJnPXNjaG1hcnJuCn4jISB0aWQ9MTE5NjAwMzQxNwpBdWNoIHZvbiBtaXIgZWluIGdhbnogZGlja2VzIERhbmtlIGFuIEFueSogZnVlciBkaWUgUGFydHlvcmdhLiBXYXIgbWFsIHdpZWRlcgpzZWhyIHNjaG9lbiB1bmQgaHVuZ3JpZy4gKmdnKgoKSGF0IGVpZ2VudGxpY2ggamVtYW5kIG1laW5lIFNwaWVsZWtpc3RlIG1pdGdlbm9tbWVuPyBJY2ggaGFiZSBkaWUgYW0gU29ubnRhZwpuaXJnZW5kd28gZmluZGVuIGtvZW5uZW4uIDspCgpMRywgWlpMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEYW5rc2FndW5nIChDYXNzYW5kcmEsIDI2LiBOb3YgMjAwNywgMTg6NDc6MDYpOgp+IyEgcm49TGlhcmEgcnQ9MTE5NjAzMzg0OSByZz1wYXJ0eQp+IyEgdGlkPTExOTYwMDM0MTcKYXVjaCB2b24gbWlyIGVpbiBoZXJ6bGljaGVzIGRhbmtlc2Nob2VuLgpFcyB3YXIgbWFsIHdpZWRlciBzdXBlci4KCkNhc3N5LCBmcmV1dCBzaWNoIHNjaG9uIGF1Zm5hZWNoc3RlIG1hbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGFua3NhZ3VuZyAoRmlyZWhhd2ssIDI2LiBOb3YgMjAwNywgMTk6MjQ6MzIpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExOTYwOTkyMjYgcmc9cGFydHkKfiMhIHRpZD0xMTk2MDAzNDE3ClZpZWxlbiBEYW5rIGFuIEFueSogZnVlciBkaWUgT3JnYW5pc2F0aW9uIGRlciBQYXJ0eS4gRGFzIFdvY2hlbmVuZGUgd2FyIG1hbAp3aWVkZXIgbm90d2VuZGlnIDopLgoKRmlyZSosIGRhcyBuYWVjaHN0ZSBNYWwgYmVzdGltbXQgd2llZGVyIGRhYmVpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGFua3NhZ3VuZyAoU2hha2VkYmVlciwgMjYuIE5vdiAyMDA3LCAyMDozNToxOCk6Cn4jISBybj1BcmF0aG9ybiBydD0xMTk2MDE4NzUyIHJnPXBhcnR5Cn4jISB0aWQ9MTE5NjAwMzQxNwpJQ0ggQklOIE5JQ0hUIEhFSURJISA6bykKTWFsIHdhcyBhbmRlcmVzOyBGb3Rvcz8KClNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua3NhZ3VuZyAoQWxrb2hvbCwgMjYuIE5vdiAyMDA3LCAyMDozNjozNyk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTExOTYxMDU3MTggcmc9cGFydHkKfiMhIHRpZD0xMTk2MDAzNDE3CmhhdCBIZWlkaSBrZWluZSBnZW1hY2h0PyBEdSBoYXN0IGRvY2ggbmUgS2FtZXJhLCBvZGVyPwoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGFua3NhZ3VuZyAoU2hha2VkYmVlciwgMjYuIE5vdiAyMDA3LCAyMDo0NjozOSk6Cn4jISBybj1BbGtvaG9sIHJ0PTExOTYxMDU3OTcgcmc9cGFydHkKfiMhIHRpZD0xMTk2MDAzNDE3Ck5vZS4gSGFiIGtlaW5lIEhlaWRpIG1pdCBLYW1lcmEgZ2VzZWhlbi4gSWNoIGhhYmUgYWJlciBlaW5lLCBkaWUgYWJlciBpbiBXZXJuZQpsYWcuIDtvKQoKTmViZW5iZWk6ICJXaWUgaGVpc3N0IGRpZSBiZXN0ZSBIZWltd2Vya2Vyc2VuZHVuZyBkZXIgV2VsdD8iCgpTaGFreS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERhbmtzYWd1bmcgKElza2Fyb24sIDI3LiBOb3YgMjAwNywgMDA6MDE6NTIpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTk2MTA2Mzk5IHJnPXBhcnR5Cn4jISB0aWQ9MTE5NjAwMzQxNwpJY2ggaGFicyBnZW5hdSBnZWhvZXJ0OiBUb29sdGltZS4gTmljaHQsIGRhc3MgaWNoIGRhIG1pdApnZWJydWVsbHQgaGFldHRlLiBFaW5kZXV0aWcgZWluZSBfZ3V0ZV8gRmV1ZXJ6YW5nZW5ib3dsZS4KVW5kIGVpbmUgYXN0cmVpbmUgUGFydHkhIERhbmtlIGRhZnVlciwgd2FyIHdpZWRlciBlaW5tYWwKZ2VuaWFsIQoKT2xsaV5XSXNrYXJvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZydWVoamFocnNwYXJ0eSAyMDA4IChaZXNzdHJhLCAxNC4gSmFuIDIwMDgsIDIzOjAyOjA3KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIwMDI2NjAxMyByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTIwMDI2NjAxMwpEaWUgSWRlZSBmaW5kIGljaCBqYSB0b2xsLiBJY2gga2FubiBmdWVyIG1pY2ggYWxsZXJkaW5ncyBtb21lbnRhbiB6dSBUZXJtaW5lbgpub2NoIG5pY2h0IHZpZWwgc2FnZW4sIHdlaWwgaWNoIGphIGltIEZydWVoamFociBub2NoIHNvIGVpbmUgYWVyZ2VybGljaGUKUHJ1ZWZ1bmcgaGludGVyIG1pY2ggYnJpbmdlbiBtdXNzLiA7LSkKQlRXOiBnaWJ0cyBlaWdlbnRsaWNoIEZyZWl3aWxsaWdlIGZ1ZXIgbmUgU29tbWVycGFydHk/CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhqYWhyc3BhcnR5IDIwMDggKE1lc2lyaWksIDE1LiBKYW4gMjAwOCwgMTQ6NDE6NTcpOgp+IyEgcm49TWVzaXJpaSBydD0xMjAwMjY2MDEzIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMjAwMjY2MDEzCkhtbSBoYWIgZ3JhZCBtYWwgbmFjaGdlZnJhZ3QsIGZ1ZXIgZGVuIE1hZXJ6IHNpZWh0IGVzIG51ciBub2NoIGFuIGVpbmVtIApXb2NoZW5lbmRlIHNvIGF1cywgYWxzIG9iIHNpZSB1bnMgdW50ZXJrcmllZ2VuIGtvZW5udGVuLiAyMi4vMjMuIERhcyBpc3QgbnVuCmdyYWQgT3N0ZXJuLCBpY2ggd2Vpc3MgbmljaHQsIHdpZSBkYXMgYmVpIEV1Y2ggc28gYXVzc2llaHQgdm9uIHdlZ2VuIEZhbWlsaWVuLQpmZWllcmxpY2hrZWl0ZW4gdW5kIHNvLiBBbmZhbmcgTWFlcnogaXN0IENlYml0JkNvLCBpbiBkZXIgendlaXRlbiBXb2NoZSBiaW4KaWNoIG5pY2h0IGRhIHVuZCBhbSBsZXR6dGVuIFdFIGhhYmVuIHNpZSBudXIgbm9jaCAxMCBQbGFldHplLgpHcnVwcGVucHJlaXNlIGdpYnRzIGVyc3QgYWIgMyBVZWJlcm5hY2h0dW5nZW4sIGFsc28gZ2VsdGVuLCBkaWUgYXVmIGRlciBTZWl0ZQpzdGVoZW4uIChiaXMgNC0gNUVVUiwgYmlzIDEzIC0gMTUgRVVSLCBiaXMgMjcgLSAyMCBFVVIsIHNvbnN0IDIyIEVVUiBqZXdlaWxzIApVZWJlcm5hY2h0dW5nLUZydWVoc3R1ZWNrKS4KV2FzIG1laW50IGlocj8KCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJ1ZWhqYWhyc3BhcnR5IDIwMDggKFh1dGVsaXVzLCAxNS4gSmFuIDIwMDgsIDE2OjE5OjExKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIwMDQwNDUxNyByZz1wYXJ0eQp+IyEgdGlkPTEyMDAyNjYwMTMKSGksCgpXZWdlbiBtaXIga29lbm5lbiB3aXIgZGFzIGFuIGRlbSBXb2NoZW5lbmRlIG1hY2hlbi4KCkxHIFh1dCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJ1ZWhqYWhyc3BhcnR5IDIwMDggKEFyaywgMTUuIEphbiAyMDA4LCAxNjozODoxMik6Cn4jISBybj1NZXNpcmlpIHJ0PTEyMDA0MDQ1MTcgcmc9cGFydHkKfiMhIHRpZD0xMjAwMjY2MDEzCkljaCB3ZXJkZSB3b2hsIHZlcnppY2h0ZW4gbXVlc3Nlbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcnVlaGphaHJzcGFydHkgMjAwOCAoQ2hhZ2FsbCwgMTUuIEphbiAyMDA4LCAxODo1ODowMik6Cn4jISBybj1BcmsgcnQ9MTIwMDQxMTQ5MiByZz1wYXJ0eQp+IyEgdGlkPTEyMDAyNjYwMTMKSW4gQW5iZXRyYWNodCBkZXMgT3N0ZXJ0ZXJtaW5zIHdhZXJlIGVzIHZpZWxsZWljaHQgc2lubnZvbGxlciB6dSB1ZWJlcmxlZ2VuLApvYiBtYW4gZGllIEZydWVobGluZ3NwYXJ0eSBuaWNodCBhdXNmYWxsZW4gbGFlc3N0IHVuZCBzaWNoIGxpZWJlciBhdWYgZGllClNvbW1lcnBhcnR5IGtvbnplbnRyaWVydC4KCk1DCgpQUzogTmVpbiwgaWNoIHN0ZWhlIG5pY2h0IGFscyBQbGFudW5nc2ZyZWl3aWxsaWdlciB6dXIgVmVyZnVlZ3VuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZydWVoamFocnNwYXJ0eSAyMDA4IChIdW1uaSwgMTUuIEphbiAyMDA4LCAyMDo0Nzo1Nyk6Cn4jISBybj1DaGFnYWxsIHJ0PTEyMDA0MTk4ODIgcmc9cGFydHkKfiMhIHRpZD0xMjAwMjY2MDEzCk9zdGVybiBiaW4gaWNoIG5pY2h0IGRhLiBEYSBpY2ggc2VpdCAyMDAwIGF1ZiBqZWRlciBNdWRwYXJ0eSB3YXIgd3VlcmQgbWljaApkYXMgYWVyZ2VybiwgbmljaHQgZGF6dXNlaW4sIGFiZXIgZGVyIFRlcm1pbiBpc3QgYmVpIG1pciBnZWJ1Y2h0LiBJY2ggaGFsdGUgc28KZWluZW5UZXJtaW4gYWJlciBhdWNoIGZ1ZXIgZXh0cmVtIHVuZ2VzY2hpY2t0LgoKbmljaHQgbnVyIHdlaWwgaWNoIHNlbGJzdCBuaWNodCBrYW5uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IDIwMDggKFplc3N0cmEsIDIwLiBNYXIgMjAwOCwgMjM6MjA6NTcpOgpIdWh1LAoKaGF0IGVpZ2VudGxpY2ggZGllc2VzIEphaHIgaXJnZW5kd2VyIEludGVyZXNzZSBvZGVyIGdhciBQbGFlbmUgZnVlciBlaW5lClNvbW1lci1QYXJ0eT8gTWlyIGlzdCB2b3JoaW4gYXVmZ2VmYWxsZW4sIGRhc3MgamEgc2Nob24gTWl0dGUgTWFlcnogZHVyY2ggaXN0CnVuZCBlcyBmdWVyIFBsYW51bmdlbiB2aWVsbGVpY2h0IGRvY2ggWmVpdCB3dWVyZGUuIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IDIwMDggKFZhbmhlbHNpbmcsIDIwLiBNYXIgMjAwOCwgMjM6Mjk6MTUpOgp+IyEgcm49WmVzc3RyYSBydD0xMjA2MDUxNjU3IHJnPXBhcnR5Cn4jISB0aWQ9MTIwNjA1MTY1NwpXZWxjaGUgR2ViaWV0ZSBEZXV0c2NobGFuZHMgd2FlcmVuIGRlbm4gamV0enQgd2llZGVyICJkcmFuIj8KQmVybGluIHVuZCBIYXR0aW5nZW4gd2FyZW4gamEgZXJzdC4KCldhZXJlIGphIGRvb2YsIHdlbm4gZGllIFBhcnR5IGF1c2ZhbGxlbiB3dWVyZGUuCgpWSCwgbm9jaCBob2ZmbnVuZ3N2b2xsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IDIwMDggKFplc3N0cmEsIDIwLiBNYXIgMjAwOCwgMjM6MzE6MjEpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMjA2MDUyMTU1IHJnPXBhcnR5Cn4jISB0aWQ9MTIwNjA1MTY1NwpJY2ggd3VlcmRlIHNhZ2VuLCBlcyBoYWVuZ3QgZWluZmFjaCBwcmltYWVyIGRhdm9uIGFiLCBvYiB1bmQgd28gc2ljaCBqZW1hbmQKYmVyZWl0ZXJrbGFlcnQsIHdhcyB2b3J6dWJlcmVpdGVuLiBad2Vja21hZXNzaWdlcndlaXNlIGVpbmUgR3J1cHBlIHZvbgpMZXV0ZW4uLi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgMjAwOCAoQ3JvZnQsIDIxLiBNYXIgMjAwOCwgMDA6MTc6NTQpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMjA2MDUyMTU1IHJnPXBhcnR5Cn4jISB0aWQ9MTIwNjA1MTY1NwpBbHNvICJHZWJpZXRlIERldXRzY2hsYW5kcyIgaXN0IGphIG1hbCBob2NoZ3JhZGlnIGRpc2tyaW1pbmllcmVuZC4gIFdpbGxzdApkdSBldHdhIGRhbWl0IHVuc2VyZSBvZXN0ZXJyZWljaGlzY2hlbiB1bmQgc2Nod2VpemVyIEZyZXVuZGUgZ2xlaWNoIG1hbAp3aWVkZXIgdm9ybmV3ZWcgYXVzc2NobGllc3Nlbj8gIE9kZXIgd2VsY2hlIFZvcnN0ZWxsdW5nZW4gaGFzdCBkdSB2b24KRGV1dHNjaGxhbmQ/ICBIZWlsaWdlcyBSb2VtaXNjaGVzIFJlaWNoPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5IDIwMDggKFZhbmhlbHNpbmcsIDIxLiBNYXIgMjAwOCwgMDA6MTk6NTUpOgp+IyEgcm49Q3JvZnQgcnQ9MTIwNjA1NTA3NCByZz1wYXJ0eQp+IyEgdGlkPTEyMDYwNTE2NTcKT2ssIENyb2Z0LiBEdSBoYXN0IGdld29ubmVuLgpXZWxjaGVyIEVyZHRlaWwgd2FlcmUgZGllc21hbCBkcmFuPz8KVkgKUC5TLiBJY2ggZ2xhdWJlLCBlcyBnaWJ0IHNjaG9uICJJbnRlcmVzc2VudGVuIi4gRGllIHNpbmQgYWJlciB3aWVkZXIgaW4KRGV1dHNjaGxhbmQsIHR1dCBtaXIgTGVpZCBDcm9mdC4KSWNoIGhvZmZlLCBEdSB1ZWJlcnN0ZWhzdCBkYXMuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJwYXJ0eSAyMDA4IChNb250YW51cywgMjEuIE1hciAyMDA4LCAxMDo1Mzo1NSk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTEyMDYwNTUxOTUgcmc9cGFydHkKfiMhIHRpZD0xMjA2MDUxNjU3ClVuc2VyZSBTY2h3ZWl6ZXIgRnJldW5kZSB3b2xsdGVuIGRvY2ggbWFsIGVpbmUgUGFydHkgbWFjaGVuLiBNaXQKaW4tZGVuLUJlcmctc2NoaWVzc2VuIHVuZCBBZWhubGljaGVtLiBIYXQgc2ljaCBkYXMgd2llZGVyIGVybGRlaXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDYW1waW5nUGxhdHogKE1lc2lyaWksIDIyLiBNYXIgMjAwOCwgMjM6MDU6MzcpOgpIYWIgbWFsIGFuZ2VmYW5nZW4gbWl0IFN1Y2hlbiB1bmQgc2Nob24gZWluZW4gZ2FueiBuZXR0ZW4gZ2VmdW5kZW4uCklzdCB6ZW50cmFsIGltIEhhcnogYW4gZWluZW0gU2VlLiBHaWJ0IFplbHRwbGF0eiwgRmVyaWVuaGFldXNlciB1bmQKQ2FtcGVycmF1bS4KU2NoYXV0IG1hbCBiaXR0ZSBkcmF1ZiB1bmQgc2FndCBFdXJlIE1laW51bmcKaHR0cDovL3d3dy5jYW1waW5ncGxhdHota3JldXplY2suZGUvCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDYW1waW5nUGxhdHogKE1lc2lyaWksIDIyLiBNYXIgMjAwOCwgMjM6MzE6MTEpOgp+IyEgcm49TWVzaXJpaSBydD0xMjA2MjIzNTM3IHJnPXBhcnR5Cn4jISB0aWQ9MTIwNjIyMzUzNwpyZXBseQpOb2NoIGVpbiBwYWFyIEluZm9zIHZvbiBkZXJlbiBXZWJzZWl0ZW4KSGFyeiBpc3QgemVudHJhbCwgdm9uIEREIApGZXJpZW5oYWV1c2VyIHZvbiAyLTQgUGVyc29uZW4KS2luZGVyIGFiIDMgSmFocmVuIGJlemFobGVuIC8gYWIgMy4gS2luZCBmcmVpCmRpdi4gUmFiYXR0ZSAoei5iLiAxMCUgYmVpIFZvcmF1c3phaGx1bmcpCktvY2hrdWVjaGUgbWl0IEdlc2NoaXJyIHVuZCBHZXNjaGlycnNwdWVsZXIsIEt1ZWhsLSwgR2VmcmllcnNjaHJhbmssCk1pa3Jvd2VsbGUgCiAgZnVlciBDYW1wZXIKU3B1ZWxyYXVtIG1pdCA1IFNwdWVsYmVja2VuCjIgV2FzY2htYXNjaGluZW4rIFRyb2NrbmVyCkNhbXBlcnJhdW0Kc2NoaWNrZXIgS2luZGVyc3BpZWxwbGF0egpXaWNrZWxyYXVtIG1pdCBCYWJ5YmFkZXdhbm5lCkVpbnplbGR1c2Noa2FiaW5lbiAvIER1c2NoZW4gaW0gUHJlaXMgZW50aGFsdGVuClNlZSBtaXQgV2Fzc2Vyc3BvcnQgdW5kIEJhZGVuCmtsZWluZXMgSGFsbGVuYmFkIGtvc3RlbmxvcwpTYXVuYSArIFNvbGFyaXVtCnZpZWxlIFdhbmRlcm1vZWdsaWNoa2VpdGVuIChSTC1RdWVzdD8pCgpNZXNpLCBhbmdldGFuLCBhdWNoIHZvbiBkZXIgUmVpc2V6ZWl0IGRhaGluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENhbXBpbmdQbGF0eiAoQ2Fzc2FuZHJhLCAyMy4gTWFyIDIwMDgsIDE3OjM2OjUwKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIwNjIyNTA3MSByZz1wYXJ0eQp+IyEgdGlkPTEyMDYyMjM1MzcKU2llaHQgc2VociBzY2huIGF1cyBuYWNoIGRlbSB3YXMgbWFuIHZvbiBkZW4gUGhvdG9zIGVya2VubmVuIGthbm4uIAp1bmQgd2VubiBpY2hzIHJpY2h0aWcgZ2VsZXNlbiBoYWJlIG18c3NlbiBkaWUgZ2FueiBzfGNodGlnZW4gbmljaHRtYWwgYXVmcwpuZXR6dCB2ZXJ6aWNodGVuLgoKT3JnYW5pc2llcnQgSWhyIGRhcz8KCkZ1ZXIgZGllIFN1ZWRkZXV0c2NoZW4gL1NjaHdlaXplci9PZXN0ZXJyZWljaGVyIHNpY2hlciBuaWNodCBnYW56IHplbnRyYWwuCkFiZXIgYXVjaCBuaWNodCBzY2hsZWNodGVyIHp1IGVycmVpY2hlbiBhbHMgSGF0dGluZ2VuIHVuZCBCZXJsaW4uCgpDYXNzeSB3aWxsIFBhcnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDYW1waW5nUGxhdHogKFZhbmhlbHNpbmcsIDI0LiBNYXIgMjAwOCwgMTY6NTc6MTIpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMjA2Mzc0MTc2IHJnPXBhcnR5Cn4jISB0aWQ9MTIwNjIyMzUzNwpIdWh1LAp3aWxsIGljaCBhdWNoIG1hbCBtZWluZW4gU2VuZiBkYXp1IGFiZ2ViZW4uCldhcyBkaWUgRm90b3MgYmV0cmlmZnQsIHNpZWh0IGRhcyBkYSBlY2h0IG5pY2h0IHNjaGxlY2h0IGF1cy4gCkljaCBkZW5rZSBtYWwsIGRhc3Mga29lbm50ZSBlcyBzY2hvZW4gZGEgd2VyZGVuLgpCaW4gZGFmdWVyLgoKVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENhbXBpbmdQbGF0eiAoRGVsLCAyNC4gTWFyIDIwMDgsIDE2OjU4OjA4KToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTIwNjM3NDE3NiByZz1wYXJ0eQp+IyEgdGlkPTEyMDYyMjM1MzcKQWxzbyBpY2ggZmluZCBkZW4gUGxhdHogdW5kIGRpZSBCbG9ja2h1ZXR0ZW4gYXVjaCBhbnNwcmVjaGVuZC4gTmVuIHNjaG9lbmVyClNlZSBkYWJlaSwgd2FzIHdpbGwgbWFuIG1laHIuClVuZCBuYXR1ZXJsaWNoIGF1cyBnYW56IHVuZWlnZW5udWV0emlnZXIgU2ljaHQ6IHNpbmQgbnVyIDQgU3R1bmRlbiBhdXMKUmljaHR1bmcgRmZtLiA7LSkKRGFmdWVyIQpEaWUgTnVEZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENhbXBpbmdQbGF0eiAoRGFudSwgMjQuIE1hciAyMDA4LCAxNzowMjo0Myk6Cn4jISBybj1EZWwgcnQ9MTIwNjM3NDI4OCByZz1wYXJ0eQp+IyEgdGlkPTEyMDYyMjM1MzcKRGVyIFBsYXR6IHNjaGF1dCBndXQgYXVzLiBXb2JlaSBtaXIgcmVsYXRpdiBlZ2FsIGlzdCwgd28gZGllIFBhcnR5IHN0YXR0CmZpbmRldC4gIE9iIHVuZCB3aWUgbGFuZ2UgaWNoIGRhYmVpIGJpbiwgaGFlbmd0IHZvbSBUZXJtaW4gYWIuIApJY2ggZnJhZ2UgbWljaCBhbGxlcmRpbmdzLCB3ZXIgdm9yYmVyZWl0ZW4gd2lsbCwgd2VubiBlcyBpbSBIYXJ6IHNlaW4gc29sbC4KVm9yIGRlciBGcmFnZSBuYWNoIGRlbSBPcnQgZmFlbmRlIGljaCBlcyBzaW5udm9sbGVyLCBkaWUgRnJhZ2UgbmFjaCBkZW0KVm9yZWJyZWl0dW5nc3RlYW0genUga2xhZXJlbi4KCkRhbnUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IENhbXBpbmdQbGF0eiAoWmVzc3RyYSwgMjQuIE1hciAyMDA4LCAxNzowNjowNik6Cn4jISBybj1EYW51IHJ0PTEyMDYzNzQ1NjMgcmc9cGFydHkKfiMhIHRpZD0xMjA2MjIzNTM3CkphLi4uIEJlaSBtaXIgaGFlbmd0IGVzIGF1Y2ggbWVociB2b20gVGVybWluIGFscyB2b20gT3J0IGFiLiBPaG5lIGpldHp0CkRldGFpbHMgdWViZXIgT3J0IHVuZCBDYW1waW5ncGxhdHogenUga2VubmVuLCBpc3QgbWlyIGJlaWRlcyBtb21lbnRhbiByZWNodC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IENhbXBpbmdQbGF0eiAoR2xvaW5zb24sIDI0LiBNYXIgMjAwOCwgMTc6MDc6NDApOgp+IyEgcm49WmVzc3RyYSBydD0xMjA2Mzc0NzY2IHJnPXBhcnR5Cn4jISB0aWQ9MTIwNjIyMzUzNwpCZWkgdW5zIGlzdCBkZXIgU29tbWVyIGF1Y2ggc2Nob24gdm9uIGFuZGVyZW4gTGV1dGVuIHVuZCBkZXJlbiBUZXJtaW5lbgphYmhhZW5naWcsIGRhaGVyIGthbm4gaWNoIG51ciBzYWdlbjogU2llaHQgbmV0dCBhdXMuCkRpZSBTZWVuIHNlaGVuIGludGVyZXNzYW50IGF1cy4gS3VlbnN0bGljaCBhbHMgU3RhdXN0dWZlbiBhbmdlbGVndCBzY2hlaW50IGVzLgoKVm9yYmVyZWl0dW5nIGdlaHQgYXVjaCBSZW1vdGUuIEluIGRlbSBTaW5uZSwgZGFzcyBlcyBlYmVuIG5pY2h0IHNwb3R0YmlsbGlnCndpcmQgc29uZGVybiBMZXV0ZSB2b3IgT3J0IEJ1ZmZldHMgdW5kIGFuZGVyZXMgc3RlbGxlbi4gQXVzIGRlbQpTdHVkZW50ZW56ZWl0YWx0ZXIgc2luZCBkaWUgbWVpc3RlbiBoYWx0IG1pdHRsZXJ3ZWlsZSBpcmdlbmR3aWUgcmF1cyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IENhbXBpbmdQbGF0eiAoWmVzc3RyYSwgMjQuIE1hciAyMDA4LCAxNzoxMDoyMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjA2Mzc0ODYwIHJnPXBhcnR5Cn4jISB0aWQ9MTIwNjIyMzUzNwpOYWphLi4uIEVzIGdpYnQgc2Nob24gZGl2LiBLcmFtLCBkZXIgZXJoZWJsaWNoIGVpbmZhY2hlciBpc3QsIHdlbm4gbWFuIG1hbAplYmVuIG5lbiBPcnRzdGVybWluIG1hY2hlbiBrYW5uLiBXZW5uIG5hdHVlcmxpY2ggbml4IG1pdCB3aWxsaWdlbgpNdWRkZXJuLXZvci1PcnQgdmVyZnVlZ2JhciBpc3QsIG11c3MgZXMgd29obCBzbyBnZWhlbi4uLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQ2FtcGluZ1BsYXR6IChNYWhhcmV0LCAyNC4gTWFyIDIwMDgsIDE3OjExOjQ5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIwNjM3NTAyMSByZz1wYXJ0eQp+IyEgdGlkPTEyMDYyMjM1MzcKQWxzbyB3ZW5uIGVzIGFuIE1lc2kgaGFlbmdlbiBibGVpYnQsIGlzdCBuaWNodHMgbWl0IHZvci1PcnQtVGVybWluLiBXaXIgaGFiZW4KaW4gbmVtIE1vbmF0IGV0d2EgZWluIEJhYnkgbWVociwgZGEgZ2lidCBlcyBoaWVyIHp1IEhhdXNlIGdlbnVnIHp1IHdpcmJlbG4gOykKRGVzd2VnZW4gaXN0IGRhcyBhdWNoIGtlaW4gTWVzaS1NYWhhLVRlYW0sIHdhcyBkYSBvcmdhbmlzaWVyZW4ga29lbm50ZW4uCkhlbGZlciBzaW5kIGFsc28gZ2VybiBnZXNlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IENhbXBpbmdQbGF0eiAoWmVzc3RyYSwgMjQuIE1hciAyMDA4LCAxNzozMzowMik6Cn4jISBybj1NYWhhcmV0IHJ0PTEyMDYzNzUxMDkgcmc9cGFydHkKfiMhIHRpZD0xMjA2MjIzNTM3CkljaCB3ZXJkZSBnZXJuIHZlcmVpbnplbHQgd2FzIGhlbGZlbiwgc29mZXJuIGVzIG1pciBtb2VnbGljaCBpc3QuIEFsbGVyZGluZ3MKYmluIGljaCBiaXMgenUgbWVpbmVyIFBydWVmdW5nICh2b3JyYXVzc2ljaHRsaWNoIGltIEp1bmkpIGltbWVyIG5vY2gKZWluZ2VzY2hyYWVua3QgdmVyZnVlZ2JhciB1bmQgZWluaWdlIFBsYW51bmcgbWVpbmVyc2VpdHMgdS5VLiBldHdhcwprdXJ6ZnJpc3RpZy4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBDYW1waW5nUGxhdHogKE1lc2lyaWksIDI0LiBNYXIgMjAwOCwgMTc6MzU6NDgpOgp+IyEgcm49TWFoYXJldCBydD0xMjA2Mzc1MTA5IHJnPXBhcnR5Cn4jISB0aWQ9MTIwNjIyMzUzNwpNYWwgbWl0IG5lciBUZXJtaW5hYnN0aW1tdW5nIGFuZmFuZ2VuLgpodHRwOi8vZG9vZGxlLmNoL2hwNGVndThrdmhnZ2lzd2YKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENhbXBpbmdQbGF0eiAoVmFyZGlvbiwgMjguIE1hciAyMDA4LCAyMTo1NjowMyk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyMDYyMjM1Mzcgcmc9cGFydHkKfiMhIHRpZD0xMjA2MjIzNTM3CkhhdCB3ZXIgR29vZ2xlLU1hcHMta29vcmRpbmF0ZW4gZnVlciBkZW4gUGxhdHo/IEdvb2dsZSBrYW5uIG1pdCAiR29zbGFyLQpIYWhuZW5rbGVlIiB6d2FyIHdhcyBhbmZhbmdlbiwgYWJlciBkYSBzZWhlIGljaCBrZWluZW4gIkdydW1iYWNoZXIgU2VlIiBpbiBkZXIKTmFlaGUuCgpEYW5rZSwKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDYW1waW5nUGxhdHogKEFudGhlYSwgMjguIE1hciAyMDA4LCAyMjoxMTozNik6Cn4jISBybj1WYXJkaW9uIHJ0PTEyMDY3Mzc3NjMgcmc9cGFydHkKfiMhIHRpZD0xMjA2MjIzNTM3ClVuZCBkaWUgYW5nZWdlYmVuZSBJbnRlcm5ldGFkcmVzc2UgYnJpbmd0IGRpciBuaXg/IEF1Y2ggbmljaHQgZGllIGRvcnQKYW5nZWdlYmVuZSBXZWdiZXNjaHJlaWJ1bmcgKG1pdCBkZW4gc2NobGVjaHRlbiBLYXJ0ZW4pPyBVbmQgd2VubiBEdSBpbgpHb29nbGVNYXBzIGRpZSBTYXRlbGxpdGVuZGluZ3NidW1zIG1pdCBlaW5ibGVuZGVzdCBkYW5uIHNpZWhzdCBEdSBlaW5pZ2UgU2Vlbi4KVW5kIGVpbiBnYW56ZXMgU3R1ZWNrY2hlbiBzdWVkbGljaCB2b24gSGFobmVua2xlZSBlaW4gcGFhciBTdHJhc3NlbiwgZGllIGFsbGUKc2VsdHNhbWVyIFdlaXNlICJLcmV1emVjayIgaGVpc3Nlbi4gWnVmYWxsPwpodHRwOi8vbWFwcy5nb29nbGUuZGUvbWFwcz9mPXEmaGw9ZGUmZ2VvY29kZT0mcT1Hb3NsYXItSGFobmVua2xlZSZzbGw9NTEuMTI0MjEKMywxMC41NDY4NzUmc3Nwbj0xNi40MTIzNjUsMzEuMzc2OTUzJmllPVVURjgmbGw9NTEuODQ2MjA1LDEwLjM1MDU0OCZzcG49MC4wMDM5CjM3LDAuMDA3NjYmdD1oJno9MTcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENhbXBpbmdQbGF0eiAoVmFyZGlvbiwgMjkuIE1hciAyMDA4LCAxMjowNjoyMSk6Cn4jISBybj1BbnRoZWEgcnQ9MTIwNjczODY5NiByZz1wYXJ0eQp+IyEgdGlkPTEyMDYyMjM1MzcKQWgsIGRhbmtlLiBEaWUgU2F0ZWxsaXRlbmFuc2ljaHQgd2FyIGRhbm4gd29obCBkZXIgU2NobHVlc3NlbCB6dW0gRXJmb2xnLiBBdWYKZGVyIEthcnRlIGlzdCBhbiBkaWVzZXIgU3RlbGxlIGxlaWRlciBudXIgZ3J1ZW5lIFdpZXNlLi4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDYW1waW5nUGxhdHogKEFudGhlYSwgMzAuIE1hciAyMDA4LCAyMTo1OTowNSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyMDY3ODg3ODEgcmc9cGFydHkKfiMhIHRpZD0xMjA2MjIzNTM3CkphLCBkaWUgTmljaHRlaW50cmFndW5nIHZvbiBHZXdhZXNzZXJuIGlzdCBkYSBvZnQgcmVjaHQgaXJyaXRpZXJlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgMjAwOCAoWm9vaywgMzEuIE1hciAyMDA4LCAxMDoyNTozMCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMDYwNTE2NTcgcmc9cGFydHkKfiMhIHRpZD0xMjA2MDUxNjU3CmljaCBzY2hsYWdlIGtvcmJhY2ggdm9yIDspICpnKgoKei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktlaW4gUGxhdHogZnVlciB1bnMgaW0gSGFyeiAoTWVzaXJpaSwgIDcuIEFwciAyMDA4LCAyMzozOTozMik6CnZpZWxlbiBEYW5rIGZ1ciBJaHIgSW50ZXJlc3NlIGFuIHVuc2VyZW0gQ2FtcGluZ3BsYXR6IHVuZCBGZXJpZW5ob2YuCgpMZWlkZXIgaGFiZW4gd2lyIGtlaW5lIGF1c3JlaWNoZW5kZW4gS2FwYXppdGF0ZW4gaW4gZGVtIGFuZ2VmcmFndGVuIFplaXRyYXVtCm1laHIgZnJlaS4KWnUgZWluZW0gYW5kZXJlbiBaZWl0cHVua3Qgc3RlaGVuIHdpciBJaG5lbiBnZXJuZSB6dXIgVmVyZnVndW5nCgpFcyBncnVzdCBTaWUgaGVyemxpY2hzdCBhdXMgZGVtIHNjaG9uZW4gSGFyegoKSWhyZSBGYW1pbGllIFdlY2thdWYgCgpEYXMgaGVpc3N0IHdvaGwgbmV1IHN1Y2hlbj8gTmFqYSB3ZW5pZ3N0ZW5zIGhhYmVuIHdpciBqZXR6dCBkaWUgVGVybWluZSBkaWUKdW5zIHNvIHBhc3Nlbi4KQml0dGUgbWFjaHQgRXVjaCBtYWwgYWxsZSBkYXJhbiBnZ2YuIGdlZWlnbmV0ZSBDYW1waW5ncGxhZXR6ZSAobWl0IEJ1bmdhbG93cwpiencgZmVzdGVuIFVudGVya3VlbmZ0ZW4gdW5kIGZhbWlsaWVuZnJldW5kbGljaCkgenUgc3VjaGVuLgpHcnVzcyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2VpbiBQbGF0eiBmdWVyIHVucyBpbSBIYXJ6IChWYW5pciwgIDguIEFwciAyMDA4LCAxMDo0MzoyMCk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyMDc2MDQzNzIgcmc9cGFydHkKfiMhIHRpZD0xMjA3NjA0MzcyCkljaCB3aWxsIHdvaGwgbWl0c3VjaGVuLiBMZWlkZXIgd2Vpc3MgaWNoIG5pY2h0IGF1ZiB3ZWxjaGVzIFdFIHdpciB1bnMKZ2VlaW5pZ3QgaGFiZW4uIEtvZW5udGUgZGFzIG1hbCBrdXJ6IHZlcm9lZmZlbnRsaWNodCB3ZXJkZW4gPwoKVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2VpbiBQbGF0eiBmdWVyIHVucyBpbSBIYXJ6IChNYWhhcmV0LCAgOC4gQXByIDIwMDgsIDExOjI4OjQxKToKfiMhIHJuPVZhbmlyIHJ0PTEyMDc2NDQyMDAgcmc9cGFydHkKfiMhIHRpZD0xMjA3NjA0MzcyCkhpZXIgaXN0IGRpZSBVbWZyYWdlOgpodHRwOi8vZG9vZGxlLmNoL3BhcnRpY2lwYXRpb24uaHRtbD9wb2xsSWQ9aHA0ZWd1OGt2aGdnaXN3ZgoKQWxzbyBkZXIgMi4gb2RlciBkZXIgOS4gQXVndXN0LCBkaWUgYmVpZGVuIGhhYmVuIGRpZSBtZWlzdGVuIFN0aW1tZW4gZ2VrcmllZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLZWluIFBsYXR6IGZ1ZXIgdW5zIGltIEhhcnogKFZhcmRpb24sICA5LiBBcHIgMjAwOCwgMjI6NDI6NDQpOgp+IyEgcm49TWFoYXJldCBydD0xMjA3NjQ2OTIxIHJnPXBhcnR5Cn4jISB0aWQ9MTIwNzYwNDM3MgpHaWJ0cyBCcmllc2VsYW5nIG5vY2g/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLZWluIFBsYXR6IGZ1ZXIgdW5zIGltIEhhcnogKEFsYm9pbiwgIDkuIEFwciAyMDA4LCAyMjo0ODoxOSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyMDc3NzM3NjQgcmc9cGFydHkKfiMhIHRpZD0xMjA3NjA0MzcyCmRhIGdpYnQgZXMgZG9jaCBXdWVybWVyIGltIFNlZSA7LSkKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtlaW4gUGxhdHogZnVlciB1bnMgaW0gSGFyeiAoTGVpYmksIDE2LiBBcHIgMjAwOCwgMTQ6NDg6MTUpOgp+IyEgcm49VmFyZGlvbiBydD0xMjA3NzczNzY0IHJnPXBhcnR5Cn4jISB0aWQ9MTIwNzYwNDM3MgppY2ggZmFlbmRlIGJyaWVzZWxhbmcgYXVjaCBzdXBlciAodW5kIHZvciBhbGxlbSBpc3QgZGFzIG5pY2h0IHNvIHdlaXQgKmcqKQoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2h0IGJpdHRlIGFsbGUgbWl0IChFbm5veCwgMjMuIEFwciAyMDA4LCAwMDowMzo0NSk6Cm5pY2h0IGRhc3MgZXMgc28gcnVlYmVya29tbXQsIGRhc3MgbnVyIG5vY2ggZWluZXIgc2ljaCB1bSBkaWUgUGFydHkga3VlbW1lcnQuCkljaCBtb2VjaHRlIEV1Y2ggYWxsZSBiaXR0ZW4genUgc2NoYXVlbiBvYiBlaW4gZ2VlaWduZXRlciBmYW1pbGllbmZyZXVuZGxpY2hlcgpDYW1waW5ncGxhdHogenUgZmluZGVuIGlzdC4gQWxzbyBtaXQgQnVuZ2Fsb3dzICYgQ28gd2FzIG1hbiBmdWVyIGVpbmUKenVlbmZ0aWdlIE11ZHdvY2hlIGJyYXVjaHQuCk1lc2ksIGRlciBfYXVjaF8gc2NoYXV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VjaHQgYml0dGUgYWxsZSBtaXQgKFZlY3RvciwgMjMuIEFwciAyMDA4LCAxNToyMTowNyk6Cn4jISBybj1Fbm5veCBydD0xMjA4OTAxODI1IHJnPXBhcnR5Cn4jISB0aWQ9MTIwODkwMTgyNQpDYW1waW5ncGxhdHogaW4gIDYzNjc5IFNjaG90dGVuLgpTdGF1c2VlIG1pdCBCYWRlbiwgU2VnZWxuLCBTdXJmZW4sIFRyZXRib290IGV0YwpNaW51c3B1bmt0OiBTbyB3aWUgZXMgYXVzc2llaHQga2VpZW4gQnVuZ2Fsb3dzCgpodHRwOi8vd3d3LnNjaG90dGVuLmRlL0NhbXBpbmdwbGF0ei5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3VjaHQgYml0dGUgYWxsZSBtaXQgKEphbm5lLCAyMy4gQXByIDIwMDgsIDE1OjQyOjAxKToKfiMhIHJuPVZlY3RvciBydD0xMjA4OTU2ODY3IHJnPXBhcnR5Cn4jISB0aWQ9MTIwODkwMTgyNQpJY2ggYmluIGF1Y2ggbWFsIGF1ZiBkZXIgU3VjaGUgZ2V3ZXNlbiB1bmQgaGFiZSBlaW5lbiBnZWZ1bmRlbiBiZWkgU2NobGVzd2lnCihhbiBkZXIgU2NobGVpKSwgZGlyZWt0IGFtIFdhc3NlciB1bmQgbmViZW4gZGVtIFdpa2luZ2VybXVzZXVtIEhhaXRoYWJ1CmdlbGVnZW4KaHR0cDovL3d3dy5jYW1waW5ncGxhdHotaGFpdGhhYnUuZGUKT2RlciBhdWNoIGVpbmVyIGRpcmVrdCBhbiBkZXIgT3N0c2VlOgogaHR0cDovL3d3dy5jYW1waW5nLWZvZXJkZWJsaWNrLmRlCgpKYW5uZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3VjaHQgYml0dGUgYWxsZSBtaXQgKFZlY3RvciwgMjMuIEFwciAyMDA4LCAxNTo0Njo1Nik6Cn4jISBybj1KYW5uZSBydD0xMjA4OTU4MTIxIHJnPXBhcnR5Cn4jISB0aWQ9MTIwODkwMTgyNQptZWluIGZlaGxlciwgaWNoIGhhYiB3ZWFzIHplbnRyYWxlcyBnZXN1Y2h0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1Y2h0IGJpdHRlIGFsbGUgbWl0IChHbG9pbnNvbiwgMjMuIEFwciAyMDA4LCAxNTo0OTo0MSk6Cn4jISBybj1WZWN0b3IgcnQ9MTIwODk1Njg2NyByZz1wYXJ0eQp+IyEgdGlkPTEyMDg5MDE4MjUKaHR0cDovL3d3dy5oYXZlbHRvdXJpc3QuZGUvY2FtcGluZ19mZXJpZW5wYXJrX2hhdmVsYmVyZ2UuaHRtbAoKWnVnZWdlYmVuLCB3ZWl0ZXIgbm9lcmRsaWNoLgpadWdlZ2ViZW4sIHdlaXRlciBub2VyZGxpY2guIEdvb2dsZSBNYXBzIGhpZXI6Cmh0dHA6Ly9wcmV2aWV3LnRpbnl1cmwuY29tLzVzOThxNAoKRGFmdWVyIGFiZXIgbWl0IFJlc3RhdXJhbnQsIGVpbmVtIGdhbnplbiBTYWNrIHZvbGxlciBGZXJpZW5oYWV1c2VyLCBlaW5lbSBTZWUKdW5kIHNvIFdMQU4tU2Nobmlja2VzLCBhbmdlYmxpY2guCgpBbnNvbnN0ZW4gbWFjaGVuIGRpZSBGZXJpZW5oYWV1c2VyIGRpZSBTYWNoZSBpbW1lciBzbyBzY2h3aWVyaWcgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdWNodCBiaXR0ZSBhbGxlIG1pdCAoSmFubmUsIDIzLiBBcHIgMjAwOCwgMTU6NTI6MTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIwODk1ODU4MSByZz1wYXJ0eQp+IyEgdGlkPTEyMDg5MDE4MjUKT2gsIGRhcyBoYXR0ZSBpY2ggYmVpIG1laW5lbiBMaW5rcyB2ZXJnZXNzZW46IGVzIGdpYnQgZG9ydCB6d2FyIGtlaW5lCkJ1bmdhbG93cywgZGFmdWVyIGFiZXIgYW5taWV0YmFyZSBXb2hud2FnZW4uIFByZWlzZSwgQXVzc3RhdHR1bmcgYmVpIGRlbgpMaW5rcy4gVW5kIGRlciBhbiBkZXIgU2NobGVpIGJpZXRldCBlYmVuZmFsbHMgVy1MYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdWNodCBiaXR0ZSBhbGxlIG1pdCAoQXJrLCAyMy4gQXByIDIwMDgsIDE3OjQ2OjI5KToKfiMhIHJuPVZlY3RvciBydD0xMjA4OTU4NDE2IHJnPXBhcnR5Cn4jISB0aWQ9MTIwODkwMTgyNQpXdXJzY2h0LCBsaWViZXIgc2Nob2VuIHVuZCAybSB3ZWl0ZXIgYWxzIGRvb2YgdW5kIHplbnRyYWwgOikKV29iZWkgbmF0dWVybGljaCBuaWNodCBhdXRvbWF0aXNjaCB6ZW50cmFsPWRvb2YsIGlzIGtsYSwgbmU/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU3VjaHQgYml0dGUgYWxsZSBtaXQgKFZlY3RvciwgMjQuIEFwciAyMDA4LCAwMDoxMDoxMSk6Cn4jISBybj1BcmsgcnQ9MTIwODk2NTU4OSByZz1wYXJ0eQp+IyEgdGlkPTEyMDg5MDE4MjUKd2llIHdhZXJzIG1pdCBrYXJsc3J1aGU/IGRhbm4ga29lbm50ZSBtYW4gZGllIHVuaXRvcGlhLWlkZWUKYXVmZ3JlaWZlbiB1bmQgZWluIGludGVybXVkLXRyZWZmZW4gYXVzc2NocmVpYmVuLCBkYW5uCndpcmQgZGllIGh1ZXR0ZSBtYWwgd2llZGVyIHZvbGwgOkQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN1Y2h0IGJpdHRlIGFsbGUgbWl0IChCb2luZywgMjQuIEFwciAyMDA4LCAwODo0OTo1OSk6Cn4jISBybj1WZWN0b3IgcnQ9MTIwODk4ODYxMSByZz1wYXJ0eQp+IyEgdGlkPTEyMDg5MDE4MjUKR2VodCBhdXNzZXIgVGFzc3JhbSB1bmQgbWlyIGVpZ2VudGxpY2ggamVtYW5kIHp1bSBTdHV0dGdhcnRlciBUcmVmZmVuPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTdWNodCBiaXR0ZSBhbGxlIG1pdCAoWmVzc3RyYSwgMjQuIEFwciAyMDA4LCAyMjoyODozOSk6Cn4jISBybj1Cb2luZyBydD0xMjA5MDE5Nzk5IHJnPXBhcnR5Cn4jISB0aWQ9MTIwODkwMTgyNQpKYSwgaWNoIHdlcmRlIGF1Y2gga29tbWVuLiBNdXNzIG1hbCBuZSBCYWhuZmFocmthcnRlIG9yZ2FuaXNpZXJlbiwgZmFlbGx0IG1pcgphdWYuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NoIHdhcyBnZWZ1bmRlbiwgd2llIGZpbmRldCBpaHIgZGVuPyAoRW5ub3gsIDI0LiBBcHIgMjAwOCwgMjM6MjU6NTApOgpJbiBUaHVlcmluZ2VuLCBhYmVyIHZvbiB1ZWJlcmFsbCBhdXMgZ3V0IGVycmVpY2hiYXIuIENhLiAzLTRoIHZvbiBLYXJsc3J1aGUsCkJlcmxpbiwgQm9jaHVtLiBOdXIgdm9uIEREIG1pdCBkZXIgQmFobiBzaW5kcyA1aC4KaHR0cDovL3d3dy5jYW1waW5nLWVybGF1LmRlL3dpci5odG1sCk1lc2kKQmVpIHBvc2l0dmVyIFJ1ZWNrbWVsZHVuZyBmcmFnIGljaCBkYSBtYWwgbmFjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBub2NoIHdhcyBnZWZ1bmRlbiwgd2llIGZpbmRldCBpaHIgZGVuPyAoSmFubmUsIDI1LiBBcHIgMjAwOCwgMDA6NTg6NDQpOgp+IyEgcm49RW5ub3ggcnQ9MTIwOTA3MjM1MCByZz1wYXJ0eQp+IyEgdGlkPTEyMDkwNzIzNTAKQXVjaCB3ZW5uIEhhZGRlYnkgenVnZWdlYmVuZXJtYXNzZW4gd2VpdCBpbSBOb3JkZW4gbGllZ3Q6IGljaCBoYWJlIG1pY2ggdm9yaGluCmVya3VuZGlndCB1bmQgaW4gZGVuIGRlciBsZXR6dGVuIEp1bGl3b2NoZSB1bmQgZGVuIGVyc3RlbiBiZWlkZW4gQXVndXN0d29jaGVuCmlzdCBkb3J0IG5vY2ggUGxhdHouIFdlbm4gdHJvdHogZGVyIExhZ2UgSW50ZXJlc3NlIGRhcmFuIGJlc3RlaHQsIHdhZXJlbgpDdXR0ZXIgdW5kIGljaCBiZXJlaXQsIGRpZSBPcmdhbmlzYXRpb24gZGFmdWVyIHp1IHVlYmVybmVobWVuLgpFaW4gcGFhciBIaW53ZWlzZSB6dSBIYWRkZWJ5L1NjaGxlc3dpZzogZGVyIFplbHRwbGF0eiBsaWVndCB1bndlaXQgZGVzCkJhaG5ob2ZlcyBkaXJla3QgYW4gZGVyIFNjaGxlaS4gR2xlaWNoIHVtIGRpZSBFY2tlIHZvbSBaZWx0cGxhdHogaXN0IGRhcwpXaWtpbmdlcm11c2V1bSBIYWl0aGFidSBtaXQgZGVtIERhbmV3ZXJrIChxdWFzaSBkZXIgTGltZXMgZGVyIFdpa2luZ2VyICpnKiksCmRhenUgYmlldGV0IFNjaGxlc3dpZyBtaXQgRG9tLCBIb2xtLCBMYW5kZXNtdXNldW0gdW5kIExhbmRlc2dhcnRlbnNjaGF1IC0Kc293aWUgZGVyIEFzZ2FhcmRicmF1ZXJlaSAtIGF1Y2gga3VsdHVyZWxsIHNlaHIgdmllbC4gSW4gZGVyIFplaXQgdm9tIDEuLTMuCkF1Z3VzdCBmaW5kZW4gaW4gU2NobGVzd2lnIGRpZSBXaWtpbmdlcnRhZ2Ugc3RhdHQsIGZ1ZXIgSW50ZXJlc3NpZXJ0ZSBoaWVyIGRlcgpMaW5rOiAgIGh0dHA6Ly93aWtpbmdlcnRhZ2UuZG9jNHBjLmRlLyAKCkljaCBoYWJlIGJlcmVpdHMgZWluaWdlIHBvc2l0aXZlIEF1c3NhZ2VuIGVyaGFsdGVuIGJ6Z2wgZWluZXMgUGFydHktT3J0ZXMgaW0KTm9yZGVuLCBhYmVyIGF1Y2ggZWluZSBzZWhyIG5lZ2F0aXZlLiBEYWhlciBtb2VjaHRlIGljaCBFdWNoIGdlcm5lIHVtIEZlZWRiYWNrCmRhenUgYml0dGVuLiAKCkphbm5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG5vY2ggd2FzIGdlZnVuZGVuLCB3aWUgZmluZGV0IGlociBkZW4/IChDcm9mdCwgMjUuIEFwciAyMDA4LCAwMTowMzoxMSk6Cn4jISBybj1KYW5uZSBydD0xMjA5MDc3OTI0IHJnPXBhcnR5Cn4jISB0aWQ9MTIwOTA3MjM1MApTb2xhbmcgc2ljaCBkaWUgRmV0ZW4gc2lubnZvbGwgdWViZXIgZGVuIEVpbnp1Z3NiZXJlaWNoIHZlcnRlaWxlbiAoYWthCm5pY2h0IDUgRmV0ZW4gaW4gUmVpaGUgaW4gU2NobGVzd2lnLUhvbHN0ZWluIHN0YXR0ZmluZGVuKSBoYWJlbiBkaWUKZW50ZmVybnRlcmVuIE9ydGUgYXVjaCBpaHJlIEV4aXN0ZW56YmVyZWNodGlndW5nLiAgQWthIGltaG8gYXVjaCBtYWwKZ2VybmUgYmVpIGRlbiBPZXNjaGlzLCBpbiBkZXIgU2Nod2VpeiBvZGVyIGJlaSBkZW4gRnJpZXNlbi4gRXMgbXVzcwpuaWNodCBpbW1lciBNaXR0ZSBkZXIgUmVwdWJsaWsgc2Vpbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBub2NoIHdhcyBnZWZ1bmRlbiwgd2llIGZpbmRldCBpaHIgZGVuPyAoQXJrLCAyNS4gQXByIDIwMDgsIDAxOjExOjI2KToKfiMhIHJuPUNyb2Z0IHJ0PTEyMDkwNzgxOTEgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCkpvLCBkYWZ1ZXIuIE9sbSwgRG9sbSwgSG9sbSBiZXN1Y2hlbiwgQXh0IGF1c2dyYWJlbiwgU25vZXJyZSB2ZXJtb2ViZWxuLApTY2hpZmZlIGVudGVybiwgV2lraW5nZXJiaWVyIHRyaW5rZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbm9jaCB3YXMgZ2VmdW5kZW4sIHdpZSBmaW5kZXQgaWhyIGRlbj8gKE1lc2lyaWksIDI1LiBBcHIgMjAwOCwgMDE6MTI6MTQpOgp+IyEgcm49Q3JvZnQgcnQ9MTIwOTA3ODE5MSByZz1wYXJ0eQp+IyEgdGlkPTEyMDkwNzIzNTAKSG1tIGljaCBmaW5kZSBkZW4gYXVjaCBndXQsIHVuZCB3ZW5uIHdpciBhYiBCZXJsaW4gZmFocmVuIHNpbmQgd2lyIG51ciAzKzEKU3R1bmRlbiB1bnRlcndlZ3MgenVzYW1tZW4gbWl0IGRlbiBhbmRlcmVuIEJlcmxpbmVybi4KRGllIEhhdmVsYmVyZ2UtRmVyaWVuaGFldXNlciBzaW5kIGV0d2FzIHByZWlzaW50ZW5zaXYgKGltaG8pLgpNZXNpLCBpc3QgYWJlciBmdWVyIGFsbGVzIG9mZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbm9jaCB3YXMgZ2VmdW5kZW4sIHdpZSBmaW5kZXQgaWhyIGRlbj8gKEphbm5lLCAyNS4gQXByIDIwMDgsIDAxOjIzOjMzKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIwOTA3ODczNCByZz1wYXJ0eQp+IyEgdGlkPTEyMDkwNzIzNTAKTm9jaCBlaW4gTmFjaHRyYWcgenUgU2NobGVzd2lnOiBGdWVyIGRpZSBKdXJpc3RlbiB1bnRlciB1bnMgZ2lidCBlcyBub2NoIGRhcwpWRywgT1ZHIHVuZCBPTEcgenUgYmVzaWNodGlnZW4gbmVic3QgQUcgOykgV2VyIGFsc28gYXVjaCBpbSBVcmxhdWIgZGllCnRhZWdsaWNoZSBEb3NpcyBWZXJoYW5kbHVuZyBicmF1Y2h0LCBzb2xsdGUgYXVjaCBkb3J0IGZ1ZW5kaWcgd2VyZGVuICpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbm9jaCB3YXMgZ2VmdW5kZW4sIHdpZSBmaW5kZXQgaWhyIGRlbj8gKE1lc2lyaWksIDI1LiBBcHIgMjAwOCwgMDE6MjY6MTEpOgp+IyEgcm49SmFubmUgcnQ9MTIwOTA3OTQxMyByZz1wYXJ0eQp+IyEgdGlkPTEyMDkwNzIzNTAKZmFsbHMgc2ljaCB3ZXIgbm9jaCBuaWNodCBpbiBkZXIgVGVybWluZmluZHVuZ3NsaXN0ZSBlaW5nZXRyYWdlbiBoYXQsIGRpZXMKYWJlciBub2NoIHR1biBtb2VjaHRlLCBoaWVyIG5vY2htYWwgZGVyIExpbms6Cmh0dHA6Ly9kb29kbGUuY2gvcGFydGljaXBhdGlvbi5odG1sP3BvbGxJZD1ocDRlZ3U4a3ZoZ2dpc3dmCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG5vY2ggd2FzIGdlZnVuZGVuLCB3aWUgZmluZGV0IGlociBkZW4/IChHbG9pbnNvbiwgMjUuIEFwciAyMDA4LCAwODo0NDoyOSk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyMDkwNzk1NzEgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCldlciBkaWUgUGFydHkgYXVzcmljaHRlbiBtYWcsIGRlciBtYWNodC4gVW5kIGRhcyBMYW5kIGRlciBhYmdlc2FlZ3RlbiBIZWlkZQppc3QgamEgYXVjaCBtYWwgZ2FueiBuZXR0IG5hY2ggZGVuIHZpZWxlbiBFc2Vsc21pbGNoLUJ1cmctRmFocnRlbiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IG5vY2ggd2FzIGdlZnVuZGVuLCB3aWUgZmluZGV0IGlociBkZW4/IChHd2VuLCAyNS4gQXByIDIwMDgsIDEzOjMyOjU2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMDkxMDU4Njkgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCldlbm4gZGVyIE9ydCBub2NoIG5pY2h0IGdhbnogZml4IGlzdCwgc2NoYXV0IGRvY2ggbWFsIGRhOgpodHRwOi8vaG90ZWwuYmF5ZXJuLW9ubGluZS5kZS9SZWdpb25lbi9GcmFua2VuL09iZXJmcmFua2VuL0ZyYWVua2lzY2hlX1NjaHdlaXoKL1dhaXNjaGVuZmVsZC9GZXJpZW53b2hudW5nL0ZlcmllbmhvZi1IZXVzY2hsYWZlbi1DYW1waW5nLVN0ZW5nbGVpbi1XYWlzY2hlbmZlCmxkX0wzNzg0Ck9kZXIKaHR0cDovL3d3dy5mcmFlbmtpc2NoZS1zY2h3ZWl6LmNvbS91bnRlcmt1bmZ0L2NhbXBpbmcuaHRtbApEaWUgRnJhZW5raXNjaGUgYmlldGV0IGVpbmlnZSBMYW5kZ2FzdGhhZXVzZXIgbWl0IENhbXBpbmcgdW5kIEZlcmllbndvaG51bmcKdW5kIFppbW1lciBpbSBIYXVwdGhhdXMuCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBub2NoIHdhcyBnZWZ1bmRlbiwgd2llIGZpbmRldCBpaHIgZGVuPyAoWm9vaywgMjUuIEFwciAyMDA4LCAxNDoyMzozOCk6Cn4jISBybj1Dcm9mdCBydD0xMjA5MDc4MTkxIHJnPXBhcnR5Cn4jISB0aWQ9MTIwOTA3MjM1MApXZW5uIGluIGRlciBTY2h3ZWl6IGJpdHRlIG5pY2h0IGRhcyBNZWdhc2NobWFycm4tSG9ybnVzc2VuCnZlcmdlc3Nlbi4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaCB3YXMgZ2VmdW5kZW4sIHdpZSBmaW5kZXQgaWhyIGRlbj8gKFZhbmlyLCAyNS4gQXByIDIwMDgsIDE0OjQzOjQ4KToKfiMhIHJuPUphbm5lIHJ0PTEyMDkwNzc5MjQgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCkljaCBhbnR3b3J0ZSBlaW5mYWNoIG1hbCBhdWYgZGllc2VuIEFydGlrZWwuCldpciBoYWJlbiBudW4gbWVocmVyZSBhbHRlcm5hdGl2ZSBWb3JzY2hsYWVnZSBmdWVyIGVpbmVuIFBhcnR5b3J0LiBXaXIgc29sbHRlbgp1bnMgbnVuIGVpbmZhY2ggZW50c2NoZWlkZW4gendpc2NoZW4gZGVuIE9ydGVuLCBkaWUgaW4gRnJhZ2Uga29tbWVuIC0gZGFzIHNpbmQKYXVzIG1laW5lciBTaWNodCBwcmluemlwaWVsbCBhbGxlLCBpbW1lciB3aXJkIGlyZ2VuZHdlciBkYXMgenUKd2VpdC9uYWgvaG9jaC90aWVmIGZpbmRlbiB1bmQgc29sYW5nZSBkYXMgbmljaHQgaW1tZXIgc28gaXN0LCBzb2xsdGUgZGFzIGtlaW4KUHJvYmxlbSBkYXJzdGVsbGVuLgpJY2ggc2NobGFnZSB2b3IsIGRhc3Mgd2lyIEphbm5lIHVuZCBDdXR0ZXIgYmVpIGlocmVtIFZvcmhhYmVuIGVpbmUgUGFydHkgenUKb3JnYW5pc2llcmVuIG1pdCBiZXN0ZXIgS3JhZnQgdW50ZXJzdHVldHplbi4KCkF1ZiBuYWNoIEhhaXRhYnUsClYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBub2NoIHdhcyBnZWZ1bmRlbiwgd2llIGZpbmRldCBpaHIgZGVuPyAoTWlyaWwsIDI1LiBBcHIgMjAwOCwgMTU6MDU6MTYpOgp+IyEgcm49VmFuaXIgcnQ9MTIwOTEyNzQyOCByZz1wYXJ0eQp+IyEgdGlkPTEyMDkwNzIzNTAKQWxzbyBpY2ggZmluZCBkYXMgZ3V0IHVuZCBmYWhyZSBhdWNoIGdlcm4gaW4gZGVuIE5vcmRlbiwgd2VubiBlcyBudXIgenUgZWluZW0KVGVybWluIGlzdCwgYW4gZGVtIGRpZSBGZXJpZW4gbmljaHQgdm9yYmVpIHNpbmQuIERlciBOb3JkZW4gaGF0IG5vY2ggZWluZW4KZW50c2NoZWlkZW5kZW4gVm9ydGVpbCBnZWdlbnVlYmVyIGRlciBNaXR0ZTogRGEgZ2lidHMgZWluIE1lZXIgaW4gZGVyIE5hZWhlLgpJbnNvZmVybjogTWFjaHQgdW5kIGZhbGxzIGlociBCZXJhdHVuZyBiemdsIFJMLVF1ZXN0cyBicmF1Y2h0LCBoZWxmIGljaCBnZXJuCm1pdCA7KS4KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBub2NoIHdhcyBnZWZ1bmRlbiwgd2llIGZpbmRldCBpaHIgZGVuPyAoTWlyaWwsIDI1LiBBcHIgMjAwOCwgMTk6MTU6NDUpOgp+IyEgcm49TWlyaWwgcnQ9MTIwOTEyODcxNiByZz1wYXJ0eQp+IyEgdGlkPTEyMDkwNzIzNTAKRGEgZmFlbGx0IG1pciBkb2NoIGdlcmFkZSBub2NoIGVpbiBMaWVkdGV4dCB6dW0gVGhlbWEgZWluOgoKQmVpIGRpZSBXaWtpbmdlcnMgaW4gSGFpdGhhYnUgbGVidGUgJ25lIEZyYXUgbWl0IHJvdGUgSGFhcmUgLi4uCgpOYSwgd2VyIGtlbm50IGRlbiBSZXN0IG5vY2g/CgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbm9jaCB3YXMgZ2VmdW5kZW4sIHdpZSBmaW5kZXQgaWhyIGRlbj8gKENhc3NhbmRyYSwgMjUuIEFwciAyMDA4LCAxOToxNzozMyk6Cn4jISBybj1NaXJpbCBydD0xMjA5MTI4NzE2IHJnPXBhcnR5Cn4jISB0aWQ9MTIwOTA3MjM1MAppY2ggYmluIGF1Y2ggZGFmdWVyLiBTaWVodCBzY2hvZW4gYXVzIHVuZCB2b3IgYWxsZW4gdmllbCB3YXNzZXIuIApadW1hbCB3ZW5uIHNpY2ggZGFubiBhdWNoIGRpZSBPcmdhIGdlZnVuZGVuIGhhdCwgd2FzIG58dHp0IGRlbiBkZXIgc2Nob2Vuc3RlClBsYXR6IG9obmUuCkRhbm4gbXxzc3RlIG51ciBub2NoIGRlciBUZXJtaW4gZW5kZ3xsdGlnIGZlc3RnZWxlZ3Qgd2VyZGVuIGRhbWl0IG1hbiBkZW4KVXJsYXViIGVpbnJlaWNoZW4ga2Fubi4KCkNhc3N5LCBsaWVidCBkaWUgT3N0c2VlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBub2NoIHdhcyBnZWZ1bmRlbiwgd2llIGZpbmRldCBpaHIgZGVuPyAoSmFubmUsIDI1LiBBcHIgMjAwOCwgMTk6NTc6MzIpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEyMDkxNDM4NTMgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCkRhcyBMaWVkIGlzdCB2b24gVG9yZnJvY2sgLSBzZWhyIGt1bHRpZ2UgQmFuZCEhCkhpZXIgZWluIExpbmsgenVtIFRleHQ6Cmh0dHA6Ly93d3cubWFnaXN0cml4LmRlL2x5cmljcy9Ub3Jmcm9jay9Wb2xsZS1HcmFuYXRlLVJlbmF0ZS05Mjg5Ny5odG1sCgpBYmVyIG5vY2ggYmVzc2VyIGlzdCBSb2xsbywgZGVyIFdpa2luZ2VyIDopIFp1bSBCZXdlaXM6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj10aXZFdlptTVVOTQoKQnkgdGhlIHdheS4uLiBkYXMgVmlkZW8gd3VyZGUgYXVmZ2Vub21tZW4gYW5sYWVzc2xpY2ggZGVyIEtpZWxlciBXb2NoZSAtIGRhCndlcmRlbiBkaWUgd2llIGplZGVzIEphaHIgYXVjaCBkaWVzZXMgSmFociBhdWZ0cmV0ZW4gdW5kIHp3YXIgYW0gMjQuMDYuIEdydW5kCmdlbnVnLCBzY2hvbiBtYWwgYXVmIGRlbiBLaWVsLVN0YW1tdGlzY2ggYW0gMi4gV0UgZGVyIEtpZWxlciBXb2NoZQpoaW56dXdlaXNlbi4uLiAqZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaCB3YXMgZ2VmdW5kZW4sIHdpZSBmaW5kZXQgaWhyIGRlbj8gKEdsb2luc29uLCAgMy4gTWFpIDIwMDgsIDIyOjI0OjE5KToKfiMhIHJuPUphbm5lIHJ0PTEyMDkwNzc5MjQgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCkRhIGphIGpldHp0IGRlciBsZXR6dGUgQXJ0aWtlbCBzY2hvbiB3aWVkZXIgZWluZSBXb2NoZSBoZXIgaXN0IG1vZWNodGUgaWNoIGRpZQphbmRlcmVuIEJlZnVlcndvcnRlciBub2NobWFsIGJla3JhZWZ0aWdlbmQgdW50ZXJzdHJlaWNoZW46CgpNYWNodCBtYWwsIEphbm5lIHVuZCBDdXR0ZXIhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbm9jaCB3YXMgZ2VmdW5kZW4sIHdpZSBmaW5kZXQgaWhyIGRlbj8gKERhcmtsb3IsICA0LiBNYWkgMjAwOCwgMjA6MTQ6MjkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIwOTg0NjI1OSByZz1wYXJ0eQp+IyEgdGlkPTEyMDkwNzIzNTAKU2llaHQgYmlzaGVyIGF1cywgYWxzIHdhZXIgZGVyIDIuIEF1Z3VzdCBkZXIgR2V3aW5uZXIuLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG5vY2ggd2FzIGdlZnVuZGVuLCB3aWUgZmluZGV0IGlociBkZW4/IChQZXJkaXRhLCAgOC4gTWFpIDIwMDgsIDAyOjA3OjIyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMDk4NDYyNTkgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCkphLCBmaW5kIGljaCBhdWNoIGd1dCEKSWNoIGhlbGYgc29nYXIgbWl0LCB3ZW5uIGlociB3b2xsdCA6LSkKTm9yZGxpY2h0LVBhcnR5LCBqdWh1dXV1IQoKUGVyZGl0YSAtIG5vcmRpc2ggYnkgbmF0dXJlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBub2NoIHdhcyBnZWZ1bmRlbiwgd2llIGZpbmRldCBpaHIgZGVuPyAoWmVzc3RyYSwgIDguIE1haSAyMDA4LCAxOTo0NjozNSk6Cn4jISBybj1QZXJkaXRhIHJ0PTEyMTAyMDUyNDIgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCk1obW0sIGRhIHNvbGx0ZW4gIndpciIgYWxsbWFlaGxpY2ggYXVjaCBrb25rcmV0IGluIGRpZSBQdXNjaGVuIGtvbW1lbiwgc29uc3QKaXN0IGRpZSBVcmxhdWJzcGxhbnVuZyBiZWkgdmllbGVuIGJhbGQgdm9yYmVpLiA7LSkgRGFubiBrb2VubnRlbiB3aXIgYXVjaCBtYWwKUGFydHlicmV0dGVyIGF1ZnN0ZWxsZW4gdW5kIGRpZSBVbWZyYWdldGVpbG5laG1lciBrb2VubmVuIHNpY2ggZG9ydCBtYWwKdmVyZXdpZ2VuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbm9jaCB3YXMgZ2VmdW5kZW4sIHdpZSBmaW5kZXQgaWhyIGRlbj8gKENhc3NhbmRyYSwgMjEuIE1haSAyMDA4LCAyMDoxMDo0MCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMTAyNjg3OTUgcmc9cGFydHkKfiMhIHRpZD0xMjA5MDcyMzUwCkdpYnQgZXMgaW56d2lzY2hlbiB3YXMgbmV1ZXMuIFd8cmRlIGdlcm5lIG1laW5lIFVybGF1YnNwbGFudW5nIGFic2NobGlzc2VuCmtvZW5uZW4gdW5kIGRhIGJpbiBpY2ggYmVzdGltbXQgbmljaHQgZGllIGVpbnppZ2UuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV0wtUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IDspICkgKEdsb2luc29uLCAgNS4gSnVuIDIwMDgsIDE5OjMyOjIwKToKVGFjaCwKbWl0IGRlciBNRy1QYXJ0eSB3aXJkIGVzIGphIGFuc2NoZWluZW5kIG5pY2h0cyAoKjEpLiBBYmVyIGRpZQpXdW5kZXJsYWVuZGVyIG1hY2hlbiBub2NoIGVpbmUgV0UtU2Vlc3VjaC1QYXJ0eSwgZWJlbmZhbGxzIGltIEF1Z3VzdC4KCk1hY1EgaGF0dGUgbWljaCBhbmdlc3Byb2NoZW4uIEdlZ2VuIE1HLUdhZXN0ZSAodW5kIGRlbiBBcnRpa2VsIGhpZXIpCmlzdCBzZWluZXJzZWl0cyBuaWNodHMgZWluenV3ZW5kZW4uIFZlcnN0YWVuZGxpY2gsIHdvIGRvY2ggV0wgc28gdmllbAp2b24gdW5zIGdla2xhdXQgaGF0IDopCgpNYWNRIHNjaHJpZWIgKGdla3Vlcnp0KToKfFdvOiBLb2V0aGVuCnxXYW5uOiBHdXRlIEZyYWdlPyBtaXIgcGVyc29lbmxpY2ggbGllYiwgd2FlcmUgQW5mYW5nIGJpcyBNaXR0ZSBBdWd1c3QKfCAgICAgIDEuLTMuOC4gICAgICAgOC4tMTAuOC4gICAgICAgMTUuLTE3LjgKfCAgICAgIGh0dHA6Ly93aGVuaXNnb29kLm5ldC9XcnRXamMKfFdpZTogIHZvcnJhbmdpZyBpbSBLZWxsZXIgZGVzIEtvZXRoZW5lciBTdHVkZW50ZW5jbHVicyBNZW5zYWtlbGxlcgp8ICAgICAgMTBtIHVlYmVyIGRpZSBTdHJhc3NlIGlzdCBhdWNoIGVpbiAiV2FsZHN0dWVjayIgKGltIExva2FsamFyZ29uCnwgICAgICAiQnVzY2giIGdlbmFubnQpIGZ1ZXIgZnJlaWxhdWZ3dWV0aWdlIE51ZGlzdGVyem1hZ2llcmlubmVuCnwgICAgICBodHRwOi8vcHJldmlldy50aW55dXJsLmNvbS81dXZwOXcKfAp8IElzdCBoYWxid2VncyBydWhpZyBhdWYgZGVtIENhbXB1cyBnZWxlZ2VuLCBndXQgenUgZXJyZWljaGVuIHVuZAp8IHppZW1saWNoIGdlcmFldW1pZyAoRHVzY2hlbiBnaWJ0J3MgYWJlciBrZWluZSEpLgoKKCoxKSBGYWxscyBpY2ggbWl0IGRlciBBdXNzYWdlIGlyZ2VuZCBlaW5lbSBQbGFuZXIgYXVmIGRpZSBGdWVzc2UKICAgICBnZXRyZXRlbiBiaW46IEVpbmZhY2ggaGllciBhdXNmdWVocmxpY2ggbWVsZGVuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdMLVBhcnR5IGltIEF1Z3VzdCAoYm9lc2UgR2VnZW5wYXJ0eSA7KSApIChCaXJkeSwgIDkuIEp1biAyMDA4LCAxOTo1MTowNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjEyNjg3MTQwIHJnPXBhcnR5Cn4jISB0aWQ9MTIxMjY4NzE0MApodHRwOi8vd3d3LmhlbGVuZXNlZS1hZy5kZS8KCndhZXIgZnVlciBuYWVjaHN0ZXMgamFociB2aWVsbGVpY2h0IGVpbmUgYWx0ZXJuYXRpdmUuIHBvbGVuIGlzdCBudXIgMTAga20KZW50ZmVybnQuIGRhIGthbm4gbWFuIGRhbm4gcHJlaXN3ZXJ0IGVpbmthdWZlbiBnZWhlbi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlcnNvZW5saWNoZSBQYXJ0eSBpbSBBdWd1c3QgKGJvZXNlIEdlZ2VucGFydHkgSUkgOykgKSAoR2xvaW5zb24sIDE4LiBKdW4gMjAwOCwgMTA6MjA6MTUpOgpNb2luLApub2NoIGVpbmUgR2VnZW5wYXJ0eS4gTmVpbiwgZWluIFZvcnNjaGxhZy4gV2lyIGhhYmVuIHVucyBuZXVsaWNoIGF1ZgpkZW4gS2FuYWVsZW4gdWViZXIgZ2VwbGFudGUgVXJsYXViZSB1bnRlcmhhbHRlbiB1bmQgZWluIG9kZXIgendlaQpMZXV0ZSBmYW5kZW4gdW5zZXIgVXJsYXVic3ppZWwgYW5zcHJlY2hlbmQuCgpNYXJ0aW5pIHVuZCBpY2ggd2VyZGVuIHp3aXNjaGVuIGRlbSAxMy4gdW5kIDE3LiBBdWd1c3QgYXVmIFN0dWJiZW5mZWxkZQphdWYgVXNlZG9tIHplbHRlbi4KClByaW56aXBpZWxsIHNvbGx0ZSBtYW4gYmVpIGRlbmVuIHZvcmhlciBhbnJ1ZmVuLCB3ZWlsIHNpZSAoendlaXRlCkF1Z3VzdHdvY2hlKSBuaWNodCBnYXJhbnRpZXJlbiBrb2VubmVuLCBkYXNzIGVpbiBQbGF0eiBmcmVpIGlzdC4gV2lyCmhhYmVuIGVpbmUgUmVzZXJ2aWVydW5nLCB3ZXJkZW4gYWxzbyB6aWVtbGljaCBzaWNoZXIgZGEgaGVydW16ZWx0ZW4uCgpQYXJ0eSBrYW5uIG1hbiBkYSBhbSBTdHJhbmQgbWFjaGVuLiBEYXMgaGVpc3N0IG5pY2h0cyBvcmdhbmlzaWVydGVzCm9kZXIgbWl0IEJ1ZmZldHQgb2RlciBLZWtzZW4uCgpBZHJlc3NlOiBodHRwOi8vd3d3LnN0dWJiZW5mZWxkZS5kZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQZXJzb2VubGljaGUgUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IElJIDspICkgKFpvb2ssIDE4LiBKdW4gMjAwOCwgMTE6NTE6NDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIxMzc3NzIxNSByZz1wYXJ0eQp+IyEgdGlkPTEyMTM3NzcyMTUKQXVjaCBrZWluIEdsdWVod2Vpbj8KWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQZXJzb2VubGljaGUgUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IElJIDspICkgKEdsb2luc29uLCAxOC4gSnVuIDIwMDgsIDExOjU0OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTIxMzc4MjcwNSByZz1wYXJ0eQp+IyEgdGlkPTEyMTM3NzcyMTUKV2VubiBkdSB6dXNhZ3N0LCBrb21tc3QgKHVuZCBkZW4gS3VlbW1lbCBtaXRicmluZ3N0KSB3ZXJkZSBpY2ggZnVlciBkaWNoIGF1Y2gKZWluZSBGbGFzY2hlIEdsdWVod2VpbiBhdWZ0cmVpYmVuLiBEYW5uIG11ZXNzZW4gd2lyIG51ciBub2NoIGF1ZiBTb25uZSBvZGVyCmRlbiBLb2NoZXIgenVtIEdsdWVoZW4gaG9mZmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQZXJzb2VubGljaGUgUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IElJIDspICkgKFZlY3RvciwgMTguIEp1biAyMDA4LCAxMzoyNzozMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjEzNzc3MjE1IHJnPXBhcnR5Cn4jISB0aWQ9MTIxMzc3NzIxNQpmdWVyIG5lIEdFR0VOcGFydHkgYnJhZXVjaHRlIG1hbiBqYSBlcnN0bWFsIG5lIHBhcnR5PyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBlcnNvZW5saWNoZSBQYXJ0eSBpbSBBdWd1c3QgKGJvZXNlIEdlZ2VucGFydHkgSUkgOykgKSAoWm9vaywgMTguIEp1biAyMDA4LCAxNjowOTo0OCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjEzNzgyODc0IHJnPXBhcnR5Cn4jISB0aWQ9MTIxMzc3NzIxNQpJY2ggd2VyZGUgZ2FyYW50aWVydCBuaWNodCBhdWYgZGllc2VtIFplbHRwbGF0eiB6dXIgZnJhZ2xpY2hlbgpaZWl0IGVyc2NoZWluZW4uIFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBlcnNvZW5saWNoZSBQYXJ0eSBpbSBBdWd1c3QgKGJvZXNlIEdlZ2VucGFydHkgSUkgOykgKSAoR2xvaW5zb24sIDE4LiBKdW4gMjAwOCwgMTY6MTA6MzApOgp+IyEgcm49Wm9vayBydD0xMjEzNzk4MTg4IHJnPXBhcnR5Cn4jISB0aWQ9MTIxMzc3NzIxNQpXYXMgZmFuZ2VuIHdpciBqZXR6dCBtaXQgZGVtIGdhbnplbiBHbHVlaHdlaW4gYW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGVyc29lbmxpY2hlIFBhcnR5IGltIEF1Z3VzdCAoYm9lc2UgR2VnZW5wYXJ0eSBJSSA7KSApIChab29rLCAxOC4gSnVuIDIwMDgsIDE2OjEwOjU0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTM3OTgyMzAgcmc9cGFydHkKfiMhIHRpZD0xMjEzNzc3MjE1ClRyaW5rZW4/IEJ1cmdlciBkcmluIHZlcnNlbmtlbj8gS2VpbmUgQWhudW5nIGxldHp0bGljaCBhdWNoIApuaWNodCBtZWluIFByb2JsZW0uIFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBlcnNvZW5saWNoZSBQYXJ0eSBpbSBBdWd1c3QgKGJvZXNlIEdlZ2VucGFydHkgSUkgOykgKSAoVmVjdG9yLCAxOC4gSnVuIDIwMDgsIDE2OjEzOjI5KToKfiMhIHJuPVpvb2sgcnQ9MTIxMzc5ODI1NCByZz1wYXJ0eQp+IyEgdGlkPTEyMTM3NzcyMTUKbWlldCBuZW4gY2FtcGluZ3BsYXR6IGluIG1hcmJ1cmcgYW4sIHJ1ZiBwYXJ0eSBhdXMgdW5kIApsYXNzIGRpciBnbHVlaHdlaW4gbWl0YnJpbmdlbi4gZ3V0ZXIgZHJlaS1wdW5rdGUtcGxhbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGVyc29lbmxpY2hlIFBhcnR5IGltIEF1Z3VzdCAoYm9lc2UgR2VnZW5wYXJ0eSBJSSA7KSApIChab29rLCAxOC4gSnVuIDIwMDgsIDE2OjE0OjMxKToKfiMhIHJuPVZlY3RvciBydD0xMjEzNzk4NDA5IHJnPXBhcnR5Cn4jISB0aWQ9MTIxMzc3NzIxNQp3aWVzbyBzb2xsdGUgaWNoPwp6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQZXJzb2VubGljaGUgUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IElJIDspICkgKFZlY3RvciwgMTguIEp1biAyMDA4LCAxNjoxNToxOSk6Cn4jISBybj1ab29rIHJ0PTEyMTM3OTg0NzEgcmc9cGFydHkKfiMhIHRpZD0xMjEzNzc3MjE1CndlaWwgZHUgZWluIHZvcmJpbGQgYmlzdCB1bmQgd2lyIGRpY2ggYWxsZSBiZXd1bmRlcm4gOikKYXVzc2VyZGVtIGlzIG1hcmJ1cmcgcmVjaHQgZ3V0IGVycmVpY2hiYXIgZnVlciBhbGxlIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGVyc29lbmxpY2hlIFBhcnR5IGltIEF1Z3VzdCAoYm9lc2UgR2VnZW5wYXJ0eSBJSSA7KSApIChab29rLCAxOC4gSnVuIDIwMDgsIDE2OjE1OjU3KToKfiMhIHJuPVZlY3RvciBydD0xMjEzNzk4NTE5IHJnPXBhcnR5Cn4jISB0aWQ9MTIxMzc3NzIxNQp0c3Nzc3MuLi4gbmVuZSwgbGFzcyBtYWwuIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQZXJzb2VubGljaGUgUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IElJIDspICkgKEdsb2luc29uLCAxOC4gSnVuIDIwMDgsIDE2OjIwOjEyKToKfiMhIHJuPVpvb2sgcnQ9MTIxMzc5ODU1NyByZz1wYXJ0eQp+IyEgdGlkPTEyMTM3NzcyMTUKSW4gTWFyYnVyZyBodW5nZXJ0IG1hbiBpbW1lci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGVyc29lbmxpY2hlIFBhcnR5IGltIEF1Z3VzdCAoYm9lc2UgR2VnZW5wYXJ0eSBJSSA7KSApIChWZWN0b3IsIDE4LiBKdW4gMjAwOCwgMTY6MjA6NDYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIxMzc5ODgxMiByZz1wYXJ0eQp+IyEgdGlkPTEyMTM3NzcyMTUKZGFzIG11c3Mga2V5IG51biBzZWl0IDkgamFocmVuIGhvZXJlbj86KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBlcnNvZW5saWNoZSBQYXJ0eSBpbSBBdWd1c3QgKGJvZXNlIEdlZ2VucGFydHkgSUkgOykgKSAoR2xvaW5zb24sIDE4LiBKdW4gMjAwOCwgMTY6MjU6MjkpOgp+IyEgcm49VmVjdG9yIHJ0PTEyMTM3OTg4NDYgcmc9cGFydHkKfiMhIHRpZD0xMjEzNzc3MjE1CkVyIGhhdCB1bnMgZGFuYWNoIG5pY2h0IG5vY2htYWwgYmVrb2VzdGlndC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eT8gKE1pcmlsLCAxOS4gSnVuIDIwMDgsIDE3OjM5OjAzKToKTmV1bGljaCBnYWIgZXMgZWluZW4gbmV0dGVuIFN0YXRpIGluIER1ZXNzZWxkb3JmLCB3byBtaW5pZ2Vnb2xmdCwgZ2VncmlsbHQgdW5kCmdldHJ1bmtlbiB1bmQgZ2VyZWRldCB3dXJkZS4gQmVpbSBSZWRlbiBrYW0gZGllIElkZWUgYXVmLCBhdWNoIG9obmUgZWluCk9yZ2F0ZWFtIHZvciBPcnQgZWluZmFjaCBtYWwgUmljaHR1bmcgSGFpdGFidSB6dSB6aWVoZW4sIHNvIHNpZSBkZW5uIGRvcnQKUGxhdHogZnVlciB1bnMgdW5kIHVuc2VyZSBaZWx0ZSBoYWJlbi4gRGllIElkZWUgYmV0cmlmZnQgbW9tZW50YW4gbnVyIGVpbiBwYWFyCkxldXRlIGF1cyBkZXIgUmVnaW9uIFJoZWluL1J1aHIsIGFiZXIga3VuZHR1biB3aWxsIGljaCBkYXMgdHJvdHpkZW0gbWFsLiAKCkFscyBUZXJtaW4gaGF0IHNpY2ggZGllIFdvY2hlIHZvbSAyMS4tMjcuNy4yMDA4IGFscyBkaWUgcGFzc2VuZHN0ZQpoZXJhdXNnZXN0ZWxsdC4gSHVtbmkgdW5kIGljaCB3ZXJkZW4gbmFlY2hzdGUgV29jaGUgenVyIEtpZWxlciBXb2NoZSBmYWhyZW4KdW5kIGRhbm4gbWFsIHNjaGF1ZW4sIG9iIHNpY2ggZGEgYmVpIGRlbiBXaWtpbmdlcm4gbmljaHQgbm9jaCB3YXMgbWFjaGVuCmxhZXNzdC4KCkZhbGxzIHdpciBuZXVlcyBlcmZhaHJlbiwgbWVsZCBpY2ggbWljaCBoaWVyLgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eT8gKEFtYXJ5bGxpcywgMTkuIEp1biAyMDA4LCAxOTo1ODozNSk6Cn4jISBybj1NaXJpbCBydD0xMjEzODg5OTQzIHJnPXBhcnR5Cn4jISB0aWQ9MTIxMzg4OTk0MwpXYXMgYXVjaCBpbW1lciBIYWl0YWJ1IHNlaW4gbWFnLgpFaW5lIFN1ZWRzZWUtSW5zZWw/CkVpbiBHZXRyYWVuaz8KRWluZSBBYmsuPwoKRnJhZ2VuIHVlYmVyIEZyYWdlbi4uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eT8gKEdub21lLCAxOS4gSnVuIDIwMDgsIDIwOjMxOjM5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMjEzODk4MzE1IHJnPXBhcnR5Cn4jISB0aWQ9MTIxMzg4OTk0MwpkaWUgd29obCBiZWthbm50ZXN0ZSB3aWtpbmdlcnNpZWRsdW5nIGltIG5vcmRkZXV0c2NoZW4gcmF1bS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eT8gKENhc3NhbmRyYSwgMjAuIEp1biAyMDA4LCAyMDoxODo1OSk6Cn4jISBybj1NaXJpbCBydD0xMjEzODg5OTQzIHJnPXBhcnR5Cn4jISB0aWQ9MTIxMzg4OTk0Mwp3aXIgd2FlcmVuIGRhbm4gdmVybXV0bGljaCBmdWVyIGRhcyB3b2NoZWVuZGUgZGFiZWkuIERpZSBXb2NoZSBoYWIgaWNoIG5vY2gKa2VpbmVuIFVybGF1YiwgZGVyIGJlZ2lubnQgZXJzdCBhbSAyOC42LgoKQ2Fzc3ksIGRpZSBzbyBvZGVyIHNvIGFuIGRpZSBPc3RzZWUgZmFlaHJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWl0aGFidSAoTWlyaWwsICAxLiBKdWwgMjAwOCwgMTg6MDg6NDMpOgoKU28sIG51biBzY2hyZWliIGljaCBub2NobWFsIHdhcyBkYXp1LiBKYW5uZSBoYXQgbWl0IGRlbSBDYW1waW5ncGxhdHoKdGVsZWZvbmllcnQsIHNpZSBoYWJlbiBkb3J0IG5vY2ggUGxhdHogZnVlciB1bnMuIEljaCBoYWJlIHNvZWJlbiBmdWVyIEh1bW5pCnVuZCBtaWNoIGRvcnQgT25saW5lIHJlc2VydmllcnQgdW5kIHVudGVuIGluIGRhcyBCZW1lcmt1bmdzZmVsZCBnZXNjaHJpZWJlbiwKZGFzcyB3aXIgdW5zIGRvcnQgbWl0IEZyZXVuZGVuIHRyZWZmZW4gdW5kIGdlcm5lIG1pdCBkaWVzZW4genVzYW1tZW4gZWluZW4KWmVsdHBsYXR6IGhhZXR0ZW4uIEFscyBTdGljaHdvcnQgKHp1ciBadW9yZG51bmcgenUgdW5zKSBoYWIgaWNoIE1vcmdlbmdyYXVlbgphbmdlZ2ViZW4uIEQuaC4gZmFsbHMgbm9jaCB3ZXIgdm9uIGV1Y2ggZG9ydCBoaW4gbW9lY2h0ZSwgc29sbHRlIGVyIGRpZXNlcwpTdGljaHdvcnQgYmVpIGRlciBSZXNlcnZpZXJ1bmcgbWl0IGFuZ2ViZW4uCgpEYSBlcyBhbGxlcyBzbyBzcGFldCBpc3QsIGdpYnQgZXMgbGVpZGVyIGtlaW5lIE1pZXRjYW1waW5nd2FnZW4gbWVociwgZC5oLiB3ZXIKa29tbWVuIG1vZWNodGUsIG11c3MgaW0gWmVsdCBzY2hsYWZlbi4KCkhpZXIgbm9jaCBtYWwgZGllIEFkcmVzc2U6Cmh0dHA6Ly93d3cuY2FtcGluZ3BsYXR6LWhhaXRoYWJ1LmRlL0Zvcm11bGFyMi5odG0KClN0aWNod29ydDogTW9yZ2VuZ3JhdWVuICh1bnRlbiBpbnMgRmVsZCBzY2hyZWliZW4pCgpaZWl0cmF1bTogMjEuNy4tMjguNy4yMDA4CgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhaXRoYWJ1IChDcm9mdCwgIDEuIEp1bCAyMDA4LCAxODozNTo0OCk6Cn4jISBybj1NaXJpbCBydD0xMjE0OTI4NTIzIHJnPXBhcnR5Cn4jISB0aWQ9MTIxNDkyODUyMwpBbnJlaXNlIHBlciBBdXRvICh3aWUgYXVmIGRlciBXZWJzZWl0ZSBlcndhZWhudCk6CiJTaWUgZXJyZWljaGVuIGRlbiBXaWtpbmdlci1DYW1waW5ncGxhdHogSGFpdGhhYnUgdWViZXIgZGllIEF1dG9iYWhuIEEgNwpIYW1idXJnLUZsZW5zYnVyZywgQWJmYWhydCBTY2hsZXN3aWctSmFnZWwuCk5hY2ggZGVtIFZlcmxhc3NlbiBkZXIgQSA3IGZhaHJlbiBTaWUgUmljaHR1bmcgU2NobGVzd2lnIHVuZCBuYWNoCmNhLiAxLjAwMCBtIGF1ZiBkaWUgQiA3NiBSaWNodHVuZyBLaWVsL0Vja2VybmZvZXJkZS4gIE5hY2ggY2EuIDcwMCBtCmZpbmRlbiBTaWUgdW5zIGF1ZiBkZXIgbGlua2VuIFNlaXRlLiIKCkFucmVpc2UgcGVyIEJhaG4gJiBCdXMgKG5pY2h0IGF1ZiBkZXIgV2Vic2VpdGUgZXJ3YWVobnQpOgpEZXIgQ2FtcGluZ3BsYXR6IGxpZWd0IGFuIGRlciBCdXNoYWx0ZXN0ZWxsZSAiSGFkZGVieSAoSGFpdGhhYnUpLApCdXNkb3JmIiB1bmQgd2lyZCB2b24gZGVyIExpbmllIDQ4MTAgYW5nZWZhaHJlbiwgZGllIHp3aXNjaGVuIEtpZWwKdWViZXIgU2NobGVzd2lnIG5hY2ggRmxlbnNidXJnIHVuZCB1bWdla2VocnQgZmFlaHJ0LiAgU2NobGVzd2lnCmlzdCBkZXIgbmFlY2hzdGdlbGVnZW5lIEJhaG5ob2YsIGplIG5hY2ggVmVyYmluZHVuZyBrYW5uIGFiZXIgYXVjaAplaW4gYW5kZXJlIFp1c3RpZWcgemVpdGxpY2ggc2lubnZvbGwgc2Vpbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFpdGhhYnUgKFZhbmlvbiwgIDEuIEp1bCAyMDA4LCAxOToxNDoyMik6Cn4jISBybj1NaXJpbCBydD0xMjE0OTI4NTIzIHJnPXBhcnR5Cn4jISB0aWQ9MTIxNDkyODUyMwpHaWJ0cyBpcmdlbmRlaW5lbiBVZWJlcmJsaWNrLCB3ZXIga29tbWVuIG1vZWNodGU/IEljaCB3b2xsdGUgZGEgc2Vpbiwgd29obCBkaWUKZ2FuemUgV29jaGUuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhaXRoYWJ1IChaZXNzdHJhLCAgMS4gSnVsIDIwMDgsIDE5OjE2OjQyKToKfiMhIHJuPU1pcmlsIHJ0PTEyMTQ5Mjg1MjMgcmc9cGFydHkKfiMhIHRpZD0xMjE0OTI4NTIzCkljaCBoYWIgZ2VyYWRlIGRhbm4gYXVjaCBtYWwgZWluZSBSZXNlcnZpZXJ1bmcgZ2V0YWV0aWd0LiBJY2ggd2VyZGUgaW4gZGVyCmRhcmF1ZmZvbGdlbmRlbiBXb2NoZSBhdWNoIG9obmVoaW4gbmFjaCBTY2hsZXN3aWctSG9sc3RlaW4gbXVlc3NlbiwgZGEgcGFzc3QKZGFzIGd1dC4gSWNoIHdlcmRlIGRhaGVyIGViZW5mYWxscyBkaWVzZW4gWmVpdHJhdW0gYW53ZXNlbmQgc2VpbiwgZXZ0bC4gYXVjaApub2NoIDEtMiBUYWdlIGxhZW5nZXIsIGRhIGVzIHNpY2ggZGFmdWVyIG5pY2h0IGxvaG50LCB6dXJ1ZWNrIG5hY2ggSGF1cyB6dQpmYWhyZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhhaXRoYWJ1IChIdW1uaSwgIDEuIEp1bCAyMDA4LCAxOToxNzo0NSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMTQ5MzI2MDIgcmc9cGFydHkKfiMhIHRpZD0xMjE0OTI4NTIzCk9rLCBkYW5uIG1hY2ggaWNoIG1hbCBkZW4gZm9sZ2VuZGVuIFZvcnNjaGxhZzogSWNoIHN0ZWxsZSBudW4gZWluIFBhcnR5YnJldHQKYXVmLCBhbiBkZW0ga2FubiBzaWNoIGplZGVyLCBkZXIgc2FnZW4gbWFnICJpY2gga29tbSBkYWhpbiIgYW5tZWxkZW4sIGRhbm4Ka2FubiBkZXIgUmVzdCBkYXMgbGVzZW4uIERhcyBCcmV0dCBkaWVudCBhYmVyIE5JQ0hUIGRhenUsIGRhbWl0IGFuZ2VtZWxkZXQgenUKc2VpbiwgZGFzIG11c3MgamVkZXIgc2VsYnN0IGVybGVkaWdlbiwgb2s/CgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGFpdGhhYnUgKFplc3N0cmEsICAxLiBKdWwgMjAwOCwgMTk6MjA6MTUpOgp+IyEgcm49SHVtbmkgcnQ9MTIxNDkzMjY2NSByZz1wYXJ0eQp+IyEgdGlkPTEyMTQ5Mjg1MjMKQWJlciBuaWNodCwgZGFzcyBkYSBlaW5lIFZlcndlY2hzbHVuZyBtaXQgZWluZXIgb3JnYW5pc2llcnRlbiBQYXJ0eSBhdWZrb21tdCwKZGFmdWVyIGlzdCBlcyBzY2hsaWVzc2xpY2ggenUgc3BhZXQgKHMuIE1pZXR3b2hud2FnZW4pLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGFpdGhhYnUgKEh1bW5pLCAgMS4gSnVsIDIwMDgsIDE5OjIxOjIzKToKfiMhIHJuPVplc3N0cmEgcnQ9MTIxNDkzMjgxNSByZz1wYXJ0eQp+IyEgdGlkPTEyMTQ5Mjg1MjMKT2ssIGRhbm4gbGFzcyBpY2ggZGFzIGxpZWJlciwgaGludGVyaGVyIGhlaXNzdCBlcyBub2NoICJCdWghIE1laW5lIFBhcnR5IHN0ZWh0CmRhIG5pY2h0IGRyYXVmLCBudXIgRGVpbmUiIChnYWIgamEgc2Nob24gIkdlZ2VucGFydGllcyIpLiBEYSBpY2ggbWlyIGRlbgpTdHJlc3MgbGllYmVyIHNwYXJlIGRlbmsgaWNoIG1pciB3YXMgYW5kZXJlcyBhdXMuIE1lbGRlIG1pY2ggYmVpIFZvbGx6dWcuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSGFpdGhhYnUgKEh1bW5pLCAgMS4gSnVsIDIwMDgsIDE5OjQxOjM0KToKfiMhIHJuPUh1bW5pIHJ0PTEyMTQ5MzI4ODMgcmc9cGFydHkKfiMhIHRpZD0xMjE0OTI4NTIzCk9rLCBlcyBnaWJ0IG51biBmdWVyIGRpZSBVZWJlcnNpY2h0IGVpbmVuIGdhYW56IGtsZWluZW4gcnVkaW1lbnRhZXJlbiBIZWxmZXIuCkVyIGhlaXNzdCBIYWl0YXIuIElociBrb2VubnQgaWhuIG1pdAoKdGVpbGUgaGFpdGFyIG1pdCBhbm1lbGRlbgp0ZWlsZSBoYWl0YXIgbWl0IGFibWVsZGVuCnRlaWxlIGhhaXRhciBtaXQgbGlzdGUKCmJlZGllbmVuLiBNYW5jaG1hbCBoYXQgZXIga2VpbmUgTHVzdCwgZGllIExpc3RlIGF1c3p1Z2ViZW4sIGRhbm4gbWFjaHRzCmVpbmZhY2ggbm9jaG1hbC4gRmF1bGVyIFR5cC4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEhhaXRoYWJ1IChIdW1uaSwgIDEuIEp1bCAyMDA4LCAxOTo1OToxOCk6Cn4jISBybj1IdW1uaSBydD0xMjE0OTM0MDk0IHJnPXBhcnR5Cn4jISB0aWQ9MTIxNDkyODUyMwpBdWYgV3Vuc2NoIHZvbiBWYW5pcjoKCnRlaWxlIGhhaXRhciBtaXQgaW5mbwoKQXVmZ3J1bmQgZWluZXIgc2NobmVsbGVuIElkZWUgdm9uIG1pcjoKCnRlaWxlIGhhaXRhciBtaXQgYW5tZWxkZW4ga3Vyegood2VubiBtYW4gbnVyIHVlYmVycyBXRSBrb21tZW4gd2lsbCkuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSGFpdGhhYnUgKEdsb2luc29uLCAgMS4gSnVsIDIwMDgsIDIwOjI0OjI1KToKfiMhIHJuPUh1bW5pIHJ0PTEyMTQ5MzUxNTggcmc9cGFydHkKfiMhIHRpZD0xMjE0OTI4NTIzCkJ1aCEgTWVpbiBHZWdlbnBhcnRpZXMgaGFldHRlc3QgZHUgbmljaHQgZHJhdWZzY2hyZWliZW4gbXVlc3Nlbi4gQWJlciBvYiB3aXIKZGEga29tbWVuIGlzdCBlaGVyIGZyYWdsaWNoIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEhhaXRoYWJ1IChHbG9pbnNvbiwgIDMuIEp1bCAyMDA4LCAwMTo0NzoxOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjE0OTM2NjY1IHJnPXBhcnR5Cn4jISB0aWQ9MTIxNDkyODUyMwpEYXMgd2FyIG5hdHVlcmxpY2ggZ2xhdHQgZ2Vsb2dlbi4gV2lyIGhhYmVuIGVpbmUgbmV0dGUgWnVndmVyYmluZHVuZyBzaWNoZXJuCmtvZW5uZW4gdW5kIHNpbmQgdm9uIERvbm5lcnN0YWcgQWJlbmQgYmlzIFNvbm50YWcgTmFjaG1pdHRhZyBtaXQgZGFiZWkuCgpWYW5pciB3b2xsdGUgc2VpbmVuIERpZXNlbGtvY2hlciBtaXRicmluZ2VuIHVuZCBlaW4gU2Nod2VpbiBicmF0ZW4/CgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEhhaXRoYWJ1IChaZXNzdHJhLCAgMy4gSnVsIDIwMDgsIDA5OjMyOjQ5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTUwNDI0Mzggcmc9cGFydHkKfiMhIHRpZD0xMjE0OTI4NTIzCkVpbiBTY2h3ZWluIGJyYXRlbj8gTWhtbSwga2xpbmd0IHNwYW5uZW5kLiBBYmVyIHZpZWxsZWljaHQgc29sbHRlbiB3aXIgbWVocmVyZQpLb2NoZXIgcGFyYWxsZWwgc2NoYWx0ZW4uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEhhaXRoYWJ1IChDcm9mdCwgIDMuIEp1bCAyMDA4LCAwOTozODozNCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMTUwNzAzNjkgcmc9cGFydHkKfiMhIHRpZD0xMjE0OTI4NTIzCktvbW10IGF1ZiBkZW4gRGllc2Vsa29jaGVyIGFuLiAgT2RlciB3aWxsc3QgZHUgbWVocmVyZSBTY2h3ZWluZQpwYXJhbGxlbGlzaWVyZW4/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEhhaXRoYWJ1IChaZXNzdHJhLCAgMy4gSnVsIDIwMDgsIDA5OjQwOjQ5KToKfiMhIHJuPUNyb2Z0IHJ0PTEyMTUwNzA3MTQgcmc9cGFydHkKfiMhIHRpZD0xMjE0OTI4NTIzCk1obW0sIG5hamEsIG1pciByZWljaHQgZWlucy4uLiBBYmVyIGljaCBrZW5uIGphIFZhbmlycyBEaWVzZWxrb2NoZXIgbmljaHQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogSGFpdGhhYnUgKEdsb2luc29uLCAgMy4gSnVsIDIwMDgsIDExOjU5OjA1KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIxNTA3MDg0OSByZz1wYXJ0eQp+IyEgdGlkPTEyMTQ5Mjg1MjMKSWNoIGthbm4gdm9uIG9iZW4gbWl0IG1laW5lbSBCZW56aW5rb2NoZXIgd2FybWhhbHRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV0wtUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IDspICkgKE1hY3EsICA0LiBKdWwgMjAwOCwgMTA6NDI6MzgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIxMjY4NzE0MCByZz1wYXJ0eQp+IyEgdGlkPTEyMTI2ODcxNDAKaGllciBtYWwgZGFzIG5ldWVzdGUgdm9tIEFudGktT3JnCgpTb21tZXJwYXJ0eSAyMDA4IGluIEtvZXRoZW4KV2Fubjogdm9tIDguLTEwLjguMjAwOApXbzogICBpbSBTdHVkZW50ZW5jbHViICJNZW5zYWtlbGxlciIgaW4gS29ldGhlbgogICAgICBGYXNhbmVyaWVhbGxlZSAxYSwgMDYzNjYgS29ldGhlbgogICAgICAod3d3Lm1lbnNha2VsbGVyLmNvbSkKCk9yZ2FuaXNhdGlvbjogRnJhbnkgJiBNYWNRCgpVbnRlcmt1bmZ0OgpEZXIgIk1lbnNha2VsbGVyIiBiZWZpbmRldCBzaWNoIGFtIFJhbmQgZGVzIEtvZXRoZW5lciBDYW1wdXMgaW4gTmFlaGUgZWluZXMKa2xlaW5lcyBXYWxkc3R1ZWNrZXMgLSBpbSBLb2V0aGVuZXIgSmFyZ29uICJCdXNjaCIgZ2VuYW5udC4gRGVyIENsdWIgaGF0IHp3ZWkKVGhla2VuLCBkaXZlcnNlIEt1ZWhsc2NocmFlbmtlIChmdWVyIEdldHJhZW5rZSwgZWluZXIgZnVlciBMZWJlbnNtaXR0ZWwga29tbXQKbm9jaCBkYXp1KSwgZWluZSBUYW56ZmxhZWNoZSBmdWVyIGRyZWlzdGVsbGlnZSBQZXJzb25lbnphaGxlbiB1bmQgZWluZW4KU2l0emJlcmVpY2ggbWl0IFRpc2NoZW4mU3R1ZWhsZW4gdW5kIGVpbmlnZW4gU29mYXMuIFNhbml0YWVyZSBFaW5yaWNodHVuZ2VuLAphYmVyIGxlaWRlciBvaG5lIER1c2NoZW4sIGdpYnQncyBuYXR1ZXJsaWNoIGF1Y2guIEd1dGVzIFp1cmVkZW4gdW5kIDEwbWluCkZ1c3NtYXJzY2ggd2FlcmVuIGZ1ZXIgZWluZSBEdXNjaGUgYmVpIGRlbiBPcmdzIGRyaW4uIFVlYmVybmFjaHRldCB3ZXJkZW4Ka2FubiBpbiBkZW4gdmllbGZhZWx0aWdlbiBSYWV1bWVuIGRlcyBDbHVicy4gTHVNYSwgSXNvTWEgdW5kIFNjaGxhZnNhY2sKc29sbHRlbiBtaXRnZWJyYWNodCB3ZXJkZW4uIFZvciBPcnQgc3RlaHQgbnVyIGVpbmUgYmVncmVuenRlIEFuemFobCBhbiBTb2Zhcwood2VuaWdzdGVucyBhbiBEZWNrZW4gZGVua2VuKSB6dXIgVmVyZnVlZ3VuZy4KCkhpbnRlciBkZW0gR2ViYWV1ZGUgaXN0IGVpbmUgUmFzZW5mbGFlY2hlLCBkaWUgamUgbmFjaCBXZXR0ZXJsYWdlIHp1bSBHcmlsbGVuCmdlbnV0enQgd2VyZGVuIGthbm4uIFplaG4gUGFya3BsYWV0emUgc2luZCB1bm1pdHRlbGJhciBhbSBNZW5zYWtlbGxlcgp2b3JoYW5kZW4sIDIwbSB3ZWl0ZXIgenVzYWV0emxpY2ggZGVyIGZyZWkgYmVudXR6YmFyZSBHcm9zc3BhcmtwbGF0eiBkZXIKSG9jaHNjaHVsZS4KCkFuZmFocnQ6CnZvbiBBMTQtQWJmYWhydCBCZXJuYnVyZy9Lb2V0aGVuIGF1ZiBkZXIgQjE4NSBkZXIgQmVzY2hpbGRlcnVuZyBuYWNoIEtvZXRoZW4KZm9sZ2VuOyBoaW50ZXIgZGVtIE9ydHNlaW5nYW5nLCBuYWNoIGRlciBUYW5rc3RlbGxlIGdlcmFkZSBhdXMgLSBuaWNodCBuYWNoCmxpbmtzIGF1ZiBkZXIgSGF1cHRzdHJhc3NlIC0gZmFocmVuIHVuZCBkZXIgU3RyYXNzZSBpbW1lciBmb2xnZW4uIEFtIGRlcgpTdHJhc3NlIGZpbmRldCBzaWNoIGRpZSBLcmV1enVuZyBkZXIgSG9jaHNjaHVsZSBtaXQgZGVtIE1lbnNha2VsbGVyLgoKdm9uIEE5LUFiZmFocnQgRGVzc2F1LU9zdCBhdWYgZGVyIEIxODUgZGVyIEJlc2NoaWxkZXJ1bmcgbmFjaCBLb2V0aGVuIGZvbGdlbjsKYW0gZXJzdGVuIEtyZWlzdmVya2VociBkaWUgZXJzdGUgQXVzZmFocnQgdW5kIHp1bmFlY2hzdCBIYXVwdHN0cmFzc2UgZm9sZ2VuCmJpcyB6dXIgS3JldXp1bmcgYW0gTXVlbGxiZXJnIChuaWNodCB6dSB1ZWJlcnNlaGVuLCBCZXNjaGlsZGVydW5nOiBuYWNoCnJlY2h0cyBaYWJpdHosIGxpbmtzIEJlcm5idXJnKSBkb3J0IG5hY2ggbGlua3MgYWJiaWVnZW47IHp3ZWkgS3JldXp1bmdlbgp3ZWl0ZXIgbmFjaCBsaW5rcyBhYmJpZWdlbiwgYW4gZGVyIG5hZWNoc3RlbiBuYWNoIHJlY2h0cyB1bmQgc2NobGllc3NsaWNoCmFuIGRlciBmb2xnZW5kZW4gd2llZGVyIG5hY2ggbGlua3MuIEFtIEVuZGUgZGVyIFN0cmFzc2UgZmluZGV0IHNpY2ggZGllCktyZXV6dW5nIGFuIGRlciBIb2Noc2NodWxlIG1pdCBkZW0gTWVuc2FrZWxsZXIuCgpLb3N0ZW46CjIgRXVyL3BybyBUYWcgdW5kIE5hc2UgcGF1c2NoYWwgZnVlciBCZXRyaWVic2tvc3RlbgooKyBSZWluZW1hY2hlbiBhbSBTbykKKyBCZWl0cmFnIHp1IGRlbiBWZXJwZmxlZ3VuZ3Nrb3N0ZW4gdm9yIE9ydAooMngyIEtvY2hwbGF0dGVuIHVuZCBLYWZmZWVtYXNjaGluZSBzaW5kIHZvcmhhbmRlbiwgaGF0IGlyZ2VuZHdlciBlaW5lbgpNaW5pb2Zlbj8pCgpTb25zdGlnZXM6ClN0YWR0a2VybiA1bWluLCBTdGFkdHJ1bmRnYW5nIGdlZmFlbGxpZz8KQmFlY2tlciAoYXVjaCBTbykgNW1pbgpTdXBlcm1hcmt0IDUgb2RlciAyMG1pbgpGcmVpYmFkIGNhLiAyMG1pbgoKClBhcnR5YnJldHRlciB6dW0gQW5tZWxkZW4gc3RlaGVuIGFrdHVlbGwgaW0gV0wgdW5kIGltIFJCIHJ1bSAodW5kIHN0ZWhlbiB6dW0KSW1wb3J0IGF1Y2ggaW4gZGVuIGxpYnMgenVyIFZlcmZ1ZWd1bmcgOykgKQoKTWFjLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXTC1QYXJ0eSBpbSBBdWd1c3QgKGJvZXNlIEdlZ2VucGFydHkgOykgKSAoUnVtYXRhLCAgNC4gSnVsIDIwMDgsIDExOjA5OjIxKToKfiMhIHJuPU1hY3EgcnQ9MTIxNTE2MDk1OCByZz1wYXJ0eQp+IyEgdGlkPTEyMTI2ODcxNDAKSW4gMTBtaW4gRW50ZmVybnVuZyB3b2huZW4gT3Jrcz8gTUlUIERVU0NIRT8/PwpSdW1hdGEsIGZhc3N1bmdzbG9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdMLVBhcnR5IGltIEF1Z3VzdCAoYm9lc2UgR2VnZW5wYXJ0eSA7KSApIChNYWNxLCAgNC4gSnVsIDIwMDgsIDExOjIyOjI2KToKfiMhIHJuPU1hY3EgcnQ9MTIxNTE2MDk1OCByZz1wYXJ0eQp+IyEgdGlkPTEyMTI2ODcxNDAKbmFqYSwgZGllIFdlaWNoc3B1ZWx2ZXJzaW9uOiBPcj5nPHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdMLVBhcnR5IGltIEF1Z3VzdCAoYm9lc2UgR2VnZW5wYXJ0eSA7KSApIChSdW1hdGEsICA0LiBKdWwgMjAwOCwgMTE6MzU6NTMpOgp+IyEgcm49TWFjcSBydD0xMjE1MTYzMzQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTIxMjY4NzE0MApXaWUsIEVJTkUgV0FTQ0hNQVNISU5FIGF1Y2g/CkRhcyB3aXJkIGphIGltbWVyIGRvbGxlciA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdMLVBhcnR5IGltIEF1Z3VzdCAoYm9lc2UgR2VnZW5wYXJ0eSA7KSApIChNYWNxLCAgNC4gSnVsIDIwMDgsIDEyOjI0OjE1KToKfiMhIHJuPVJ1bWF0YSBydD0xMjE1MTY0MTUzIHJnPXBhcnR5Cn4jISB0aWQ9MTIxMjY4NzE0MApBbHNvLCB3ZW5uIER1IHVuYmVkaW5ndCBkZWluZSBzY2htdXR6aWdlIFdhZXNjaGUgaW4gYWxsZXIgT2VmZmVudGxpY2hrZWl0Cndhc2NoZW4gd2lsbHN0LCBsYWVzc3Qgc2ljaCBkYSB3YXMgZWlucmljaHRlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV0wtUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IDspICkgKFJ1bWF0YSwgIDQuIEp1bCAyMDA4LCAxMjo0MToxMik6Cn4jISBybj1NYWNxIHJ0PTEyMTUxNjcwNTUgcmc9cGFydHkKfiMhIHRpZD0xMjEyNjg3MTQwCldhcyB3aWxsc3QgRHUgZGEgdW50ZXJzdGVsbGVuPyBJY2ggaGFiZSBtaWNoIG51ciB1ZWJlciBPcmtzIG1pdCBEdXNjaGUgdW5kCldhc2NobWFzY2hpbmUgZ2V3dW5kZXJ0LiA6LSkKCkZVUDogbWVnYW1zY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV0wtUGFydHkgaW0gQXVndXN0IChib2VzZSBHZWdlbnBhcnR5IDspICkgKEh1bW5pLCAgNC4gSnVsIDIwMDgsIDEzOjU3OjE0KToKfiMhIHJuPVJ1bWF0YSBydD0xMjE1MTY4MDcyIHJnPXBhcnR5Cn4jISB0aWQ9MTIxMjY4NzE0MApBdXMgZ2VnZWJlbmVtIEFubGFzcyB3ZWlzZSBpY2ggYXVmIGRpZSBNb2VnbGljaGtlaXQgaGluLCBad2VyZ2UgenUgd2FzY2hlbi4KRGF6dSBtdXNzIG1hbiBudXIgZGVuIFp3ZXJnIHp1ciBad2VyZ2Vud2FzY2htYXNjaGluZSBrcmllZ2VuIHVuZCBkYW5uIC4uLgpuYWphLiAKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZXJic3QtUGFydHkgaW4gLi4uIFdlcm5pZ2Vyb2RlPyAoR2xvaW5zb24sICA0LiBBdWcgMjAwOCwgMDA6MDE6NDApOgpNYWhsemVpdCwKCmdpYnQgZXMgcHJpbnppcGllbGwgSW50ZXJlc3NlbnRlbiBhbiBlaW5lciBIZXJic3RwYXJ0eSBpbSBOb3ZlbWJlciBvZGVyCkRlemVtYmVyIGluIHpCIFdlcm5pZ2Vyb2RlPwoKSWNoIGRhY2h0ZSBhbiBkaWUgSkggZG9ydC4gRGllIGhhYmVuIGVpbmVuIHJlbGF0aXYgZ3Jvc3NlbgpBdWZlbnRoYWx0c3JhdW0vQ2FmZXRlcmlhIHp1bSBnZW11ZXRsaWNoZW4gUnVtZ2FtbWVsbiB1bmQgZ3V0IGVpbmdlcmljaHRldGUKWmltbWVyIG1pdCBEdXNjaGUvV0MuCihodHRwOi8vd3d3Lmp1Z2VuZGhlcmJlcmdlLmRlL2poL3dlcm5pZ2Vyb2RlLykKCkluIGRlciBHZWdlbmQgZ2lidCBlcyBkZW4gQnJvY2tlbiwgZGVuIG1hbiB6dSBGdXNzIG9kZXIgbWl0IEJhaG4gZXJyZWljaGVuCmthbm4uIEVpbiBuZXR0ZXMgU2NobG9zcyB1bmQgZWluIFNwYXNzYmFkIGhhdCBlcyBhdWNoIHVuZCBIYXNzZXJvZWRlciBQaWxzCmtvbW10IGZhc3QgcGVyIExlaXR1bmcuCgpEYXMgZ2FuemUgaGF0IHp3ZWkgSGFrZW46Ci0gKGEpIERKSC1NaXRnbGllZHNzY2hhZnQgenVzYWV0emxpY2ggenUgS29zdGVuICgyMSwtKQogIC0+IGljaCBnbGF1YmUgbmljaHQsIGRhc3MgaWNoIGRhcyBtaXQgZWluZW0gU3R1ZGktR3J1cHBlbmF1c3dlaXMKICAgICBlcnNjaGxhZ2VuIGthbm4sIHdpciBzZWhlbiBlaW5mYWNoIG1pdHRsZXJ3ZWlsZSB6dSB1bnN0dWRlbnRpc2NoIGF1cwotIChiKSBrZWluIFBhcnR5YWJlbmQgaW4gZGVtIFNpbm5lCiAgLT4gZGFzIEVzc2VuIGRhIGlzdCBsZWNrZXIgdW5kIHJlaWNobGljaCB1bmQgaWNoIHNlaCBuaWNodCwgZGFzcwogICAgIHdpciBub2NoIGRlbiBncm9zc2VuLCBlaWdlbmVuIFBhcnR5YWJlbmQgdWViZXIgZGFzIFp1c2FtbWVuLQogICAgIHNpdHplbiBpbiBkZXIgQ2FmZXRlIGhpbmF1cyBicmF1Y2hlbgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZXJic3QtUGFydHkgaW4gLi4uIFdlcm5pZ2Vyb2RlPyAoVmFuaW9uLCAgNC4gQXVnIDIwMDgsIDAwOjU0OjI3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTc4MDA5MDAgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCkljaCBmYWVuZGUgZGllIElkZWUgc2VociBndXQuIEluc2Jlc29uZGVyZSB3ZWlsIG1hbiBkYXMgZXZlbnR1ZWxsIG1pdCBkZXIgbm9jaAphdXNzdGVoZW5kZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIHZlcmtudWVwZmVuIGtvZW5udGUuCgpXZWlzc3RlIHp1YWVsbGlnIGluIHdlbGNoZXIgR3JvZXNzZW5vcmRudW5nIHNpY2ggZGllIEtvc3RlbiAoYWxzbyBuZWJlbiBkZW4gMjEKRXVyb25lbiBmdWVyIGRpZSBNaXRnbGllZHNjaGFmdCkgZXR3YSBiZWxhdWZlbj8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhlcmJzdC1QYXJ0eSBpbiAuLi4gV2VybmlnZXJvZGU/IChIdW1uaSwgIDQuIEF1ZyAyMDA4LCAwMDo1ODoxMCk6Cn4jISBybj1WYW5pb24gcnQ9MTIxNzgwNDA2NyByZz1wYXJ0eQp+IyEgdGlkPTEyMTc4MDA5MDAKaWNoIGZpbmRlIGVzIGdyb3NzYXJ0aWcsIGRhc3MgRHUgbmFjaCBUaGFsZSBub2NobWFsIGJlcmVpdCBiaXN0LCBzb3dhcyB6dQp1ZWJlcm5laG1lbi4gSWNoIGhvZmZlLCBkaWVzbWFsIHZlcmhhbHRlbiBzaWNoIGRpZSBNdWRkZXIgZWluIHdlbmlnIGZhaXJlciB1bmQKYmVoYXVwdGVuIG5pY2h0IGFsbGUsIHNpZSB3dWVyZGVuIGtvbW1lbiwgdW0gZGFubiBoaW50ZXJoZXIgZWluZW4gUnVlY2t6aWVoZXIKenUgbWFjaGVuLiBJY2ggZmFlbmRzIGplZGVuZmFsbHMgaW50ZXJlc3NhbnQsIHp1bWFsIHNpY2ggYmlzaGVyIG5pZW1hbmQKc3BvbnRhbiBmdWVyIFdpbnRlcmJ1cmcgenUgaW50ZXJlc3NpZXJlbiBzY2hlaW50LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKEdsb2luc29uLCAgNC4gQXVnIDIwMDgsIDAxOjE1OjExKToKfiMhIHJuPVZhbmlvbiBydD0xMjE3ODA0MDY3IHJnPXBhcnR5Cn4jISB0aWQ9MTIxNzgwMDkwMApJY2ggZmluZGUgYXVmIGRlcmVuIFNlaXRlbiAyNSwxMCBGUlogZnVlciBWb2xscGVuc2lvbiwgMjAsODAgRlJaIGZ1ZXIKSGFsYnBlbnNpb24gdW5kIDMsNTAgZnVlciBCZXR0d2Flc2NoZS4gRGFzIGRlY2t0IHNpY2ggaW4gZXR3YSBhdWNoIG1pdCBtZWluZW4KRXJpbm5lcnVuZ2VuIGFuIGRpZSBKSC4KCkRpZSBNaXRnbGllZHNjaGFmdCBnaWx0IHZvbSAxLiBPa3RvYmVyIGRlcyBWb3JqYWhyZXMgYmlzIDMxLiBKYW51YXIgZGVzCm5hY2hmb2xnZW5kZW4gSmFocmVzLiBBbHNvIHdlbm4gbWFuIGltIE5vdmVtYmVyIDIwMDggTWl0Z2xpZWQgd2lyZCwgZ2lsdCBkaWUKTWl0Z2xpZWRzY2hhZnQgYmlzIDMxLiBKYW51YXIgMjAxMCB1bmQgbXVlc3N0ZSBiaXMgU2VwdGVtYmVyIDIwMDkgZ2VrdWVuZGlndAp3ZXJkZW4uCktvc3RlbiBzaW5kIGRhIDIxLC0gZnVlciBFaW56ZWxwZXJzb25lbiBvZGVyIGVoZWFlaG5saWNoZSBHZW1laW5zY2hhZnRlbgooZ2xlaWNoZSBBZHJlc3NlKSBwcm8gSmFoci4KQUZBSVIga29ubnRlIG1hbiBkaXJla3QgYmVpIEFubWVsZHVuZyBlaW5lbiBBbnRyYWcgc3RlbGxlbi4gRGFzIHdlcmRlIGljaCBkYW5uCmFiZXIgYXVjaCBlaW5mYWNoIHZvcmhlciBrbGFlcmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhlcmJzdC1QYXJ0eSBpbiAuLi4gV2VybmlnZXJvZGU/IChNZXNpcmlpLCAgNC4gQXVnIDIwMDgsIDAxOjI2OjI3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTc4MDUzMTEgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCisxIChiencuICs0KQpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIZXJic3QtUGFydHkgaW4gLi4uIFdlcm5pZ2Vyb2RlPyAoTWllemUsICA0LiBBdWcgMjAwOCwgMDg6MDQ6NDQpOgp+IyEgcm49TWVzaXJpaSBydD0xMjE3ODA1OTg3IHJnPXBhcnR5Cn4jISB0aWQ9MTIxNzgwMDkwMApHdXRlbiBNb3JnZW4sCgpXZXJuaWdlcm9kZSBmYWVuZGUgaWNoIGtsYXNzZSwgZGEgYmluIGljaCB6dXIgU2NodWxlIGdlZ2FuZ2VuLiBXZW5uIGljaCBhbiBkZW0KZW50c3ByZWNoZW5kZW4gV29jaGVuZW5kZSBmcmVpIGhhYmUsIGJpbiBpY2ggZ2VybiBkYWJlaS4KCk1pZXplIC0gbm9zdGFsZ2lzY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEhlcmJzdC1QYXJ0eSBpbiAuLi4gV2VybmlnZXJvZGU/IChYdXRlbGl1cywgIDQuIEF1ZyAyMDA4LCAxMDoyMjo0MCk6Cn4jISBybj1NaWV6ZSBydD0xMjE3ODI5ODg0IHJnPXBhcnR5Cn4jISB0aWQ9MTIxNzgwMDkwMApIaSwKCmljaCBiaW4gZ2VybiBkYWJlaSwgZmFsbHMgamVtYW5kIGF1cyBkZXIgR2VnZW5kIGhpbiBmYWVocnQuIEFiZXIgaWNoIHNjaGFldHplLApkYXNzIHNvbGx0ZSBuaWNodCBkYXMgUHJvYmxlbSBzZWluLgoKWHV0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKER1bmtlbGxpY2h0LCAxMS4gQXVnIDIwMDgsIDA5OjMxOjM2KToKfiMhIHJuPVh1dGVsaXVzIHJ0PTEyMTc4MzgxNjAgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCldlbm4gZGVyIFRlcm1pbiBwYXNzdCB3YWVyZSBpY2ggYXVjaCBkYWJlaQpEdW5rZWxsaWNodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhlcmJzdC1QYXJ0eSBpbiAuLi4gV2VybmlnZXJvZGU/IChaZXNzdHJhLCAyOC4gQXVnIDIwMDgsIDEwOjQ3OjUwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTc4MDA5MDAgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCldlbGNoZSBXRSBrb21tZW4gZGVubiBkYSBpbiBGcmFnZSBiencuIHNpbmQgbm9jaCBmcmVpIGRvcnQ/IEFsc28sIHVtIHdpcmtsaWNoCm5lIEF1c3NhZ2UgdWViZXIgZGFzIEludGVyZXNzZSBmZXN0enVzdGVsbGVuLCBtdWVzc3RlbiB3aXIgdmVybXV0bGljaCBlcnN0ClBhcnR5YnJldHRlciBhdWZzdGVsbGVuIG9kZXIgenVtaW5kZXN0IHVlYmVyIG5lbiBrb25rcmV0ZW4gVGVybWluIGRpc2t1dGllcmVuLApkZW5rIGljaC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKEdsb2luc29uLCAyOC4gQXVnIDIwMDgsIDEwOjUwOjQwKToKfiMhIHJuPVplc3N0cmEgcnQ9MTIxOTkxMzI3MCByZz1wYXJ0eQp+IyEgdGlkPTEyMTc4MDA5MDAKSWNoIGZyYWcgbWFsIGRpZXNlIFdvY2hlIGFuLiBJY2ggZGFjaHRlIGJpc2hlciBhbiBkaWUgRGV6ZW1iZXItV0UgZXhrbHVzaXZlCk5pa29sYXVzL1dlaWhuYWNodGVuLiBCbGllYmUgMTMuLzE0LiBvZGVyIDIwLi8yMS4gRGV6ZW1iZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKFplc3N0cmEsIDI4LiBBdWcgMjAwOCwgMTA6NTM6MzkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIxOTkxMzQ0MCByZz1wYXJ0eQp+IyEgdGlkPTEyMTc4MDA5MDAKTWhtbSwgaWNoIGthbm4gYmlzaGVyIGFuIGJlaWRlbiBXRSwgYWxsZXJkaW5ncyBrb2VubnRlIGVzIHNlaW4sIGRhc3MgZWluaWdlbgoyMC8yMS4gc2Nob24genUgbmFoIGFuIFdlaWhuYWNodGVuIGxpZWd0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKEdsb2luc29uLCAzMC4gQXVnIDIwMDgsIDE3OjU3OjQyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTIxOTkxMzYxOSByZz1wYXJ0eQp+IyEgdGlkPTEyMTc4MDA5MDAKTmFjaCBXZWJzZWl0ZSBoYWJlbiBzaWUgYW0gV0UgMTMuLzE0LiBEZXplbWJlciBQbGF0eiBnZW51ZyAoaXN0IGphIHJlbGF0aXYKZ3Jvc3MpLiBQcm9ibGVtYXRpc2NoIGlzdCBudXIgZGFzIEJ1Y2hlbiwgZGFzIGlzdCBzaW5udm9sbGVyd2Vpc2UgZXJzdCBhYiAxLgpPa3RvYmVyIG1vZWdsaWNoLCB3ZW5uIG1hbiBlaW5lIG1vZWdsaWNoc3QgbGFuZ2UgZ3VlbHRpZ2UgREpILUthcnRlIHdpbGwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKEdsb2luc29uLCAxNy4gU2VwIDIwMDgsIDAxOjEwOjUyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMjAxMTE4NjIgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCkZydWVoZXN0ZXIgQnVjaHVuZ3N0ZXJtaW4gaXN0IGltbWVyIG5vY2ggMS4gT2t0b2Jlci4KClNwYWV0ZXN0ZXIgVHJlZmZlbnMtVGVybWluIGlzdCBiZWkgbWlyIGpldHp0IGRhcyBsZXR6dGUgTm92ZW1iZXItV0UuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKEdsb2luc29uLCAyOC4gU2VwIDIwMDgsIDAwOjU2OjU4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMjE2MDY2NTIgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCldhcyBpY2ggbm9jaCAodm9yIDEwIFRhZ2VuKSBzY2hyZWliZW4gd29sbHRlOiBTZWl0IGRlbSBrbGVpbmVuIFJlaW5mYWxsIGRlcgpTb21tZXJwYXJ0eSBpbiBkaWVzZW0gSmFociBnbGF1YmUgaWNoIGVuZGd1ZWx0aWcgbmljaHQgbWVociBhbiBkaWUgRWZmaXppZW56CmRlcyBLb256ZXB0ICJ3ZXIgenVlcnN0IHNjaHJlaXQsIHJpY2h0ZXQgYXVzIi4KCkluIGFuZGVyZW4gV29ydGVuOiBJY2gga3VlbW1lcmUgbWljaCB6d2FyIGtvbW1lbmRlIFdvY2hlIHVtIFRlcm1pbnZvcnNjaGxhZWdlCnVuZCBkZWZpbml0aXZlIEF1c3NhZ2VuLCBhYmVyIGljaCBoYWJlIGVpbmVuIGV2ZW50dWVsbGVuIFBhcnR5dGVybWluCmtlaW5lc2ZhbGxzIGdlcGFjaHRldC4KCldlbm4gamVtYW5kIGVpbmUgYmVzc2VyZSBJZGVlIGhhdDogbnVyIHp1LiBXZW5uIGVzIG1pciBwZXJzb2VubGljaCBwYXNzdCBiaW4KaWNoIGVpbmVyIGRlciBlcnN0ZW4sIGRlciBzaWNoIGRhbm4gYW5tZWxkZXQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKFh1dGVsaXVzLCAyOS4gU2VwIDIwMDgsIDIxOjAyOjM2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMjE2MDY2NTIgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCkh1aHUsCgptaXIgd2FlciBkYSBkYXMgV29jaGVuZW5kZSB2b3JoZXIsIDIyLjExLiBtdWVzc3RlIGRhcyBzZWluLCBiZWRldXRlbmQgbGllYmVyLgoyOS4gZ2luZ2UgbnVyIGltIG5vdGZhbGwuCgpsZywgWHV0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKEh1bW5pLCAgMS4gT2t0IDIwMDgsIDIyOjE4OjQyKToKfiMhIHJuPVh1dGVsaXVzIHJ0PTEyMjI3MTQ5NTYgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCjI5LjExLiBnZWh0IGJlaSBtaXIgbmljaHQuIEdhciBuaWNodC4gU29ycnkuCgpGYWVuZCBpY2ggamEgZG9vZiwgZGEgaWNoIHNlaXQgMjAwMCBhdWYgamVkZXIgUGFydHkgd2FyLiBBYmVyIGRhcnVtIG11ZXNzdCBJaHIKZGllIFBhcnR5LCB3ZW5uIGRlciBUZXJtaW4gc29uc3QgWnVzdGltbXVuZyBmaW5kZXQsIG5pY2h0IHZlcmxlZ2VuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEhlcmJzdC1QYXJ0eSBpbiAuLi4gV2VybmlnZXJvZGU/IChHbG9pbnNvbiwgIDIuIE9rdCAyMDA4LCAxODoxODowOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjIyOTYzNjU4IHJnPXBhcnR5Cn4jISB0aWQ9MTIxNzgwMDkwMApQUzogSWNoIHd1ZXJkZSBkaWUgRG9vZGxlLUxpc3RlIGFscyBuYWVjaHN0ZSBXb2NoZSBkaXJla3QgYWxzIEFuaGFsdHNwdW5rdApkYWZ1ZXIgbmVobWVuLCB3aWUgdmllbGUgTGV1dGUgaW4gZXR3YSBrb21tZW4gd29sbGVuLiBEYSB3aXIgbmljaHQgYWxzIEdydXBwZQptaWV0ZW4gc29uZGVybiBpY2ggZWluZmFjaCBudXIgZnVlciBzbyB2aWVsZSBMZXV0ZSByZXNlcnZpZXJlLCBzb2xsdGUgZGFzIGF1Y2gKZ3Jvc3NlcyBBbm1lbGRlYnJldHRzeXN0ZW0gZnVua3Rpb25pZXJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBIZXJic3QtUGFydHkgaW4gLi4uIFdlcm5pZ2Vyb2RlPyAoWmVzc3RyYSwgIDIuIE9rdCAyMDA4LCAxODozMDoxOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjIyOTYzNjU4IHJnPXBhcnR5Cn4jISB0aWQ9MTIxNzgwMDkwMApNaG1tLiBNdXNzIGRhbm4gamVkZXIgZWluemVsbmUsIGRlciBrb21tZW4gd2lsbCwgREpILU1pdGdsaWVkIHNlaW4gb2Rlcgp3ZXJkZW4/CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKEdsb2luc29uLCAgMi4gT2t0IDIwMDgsIDE4OjM4OjM4KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIyMjk2NTAxOCByZz1wYXJ0eQp+IyEgdGlkPTEyMTc4MDA5MDAKSmEuIFdpZSBnZXNjaHJpZWJlbiwgaWNoIGthbm4gZGllc2VzIE1hbCBrZWluZW4gREpILUdydXBwZW5hdXN3ZWlzIGF1ZnRyZWliZW4uClVuZCBkZXIgVmVyZWluIHdpbGwgc2ljaGVybGljaCBrZWluZSBHcnVwcGVubWl0Z2xpZWRzY2hhZnQgbnVyIHdlZ2VuIGVpbmVyClBhcnR5IGFuc3RyZWJlbi4KCldlbm4gZGFzIGRldXRsaWNoZXMgTWlzc2ZhbGxlbiBmaW5kZXQsIHZlcmdlc3NlbiB3aXIgZGllIElkZWUgd2llZGVyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBIZXJic3QtUGFydHkgaW4gLi4uIFdlcm5pZ2Vyb2RlPyAoWHV0ZWxpdXMsICAyLiBPa3QgMjAwOCwgMTg6Mzk6NTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIyMjk2NTUxOCByZz1wYXJ0eQp+IyEgdGlkPTEyMTc4MDA5MDAKTWl0IHdvbGxlbiBoYXQgZGFzIHdlbmlnIHp1IHR1biwgd2lyIGR1ZXJmZW5zIHZvcmFsbGVtIG5pY2h0LgpYdXQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKFplc3N0cmEsICAyLiBPa3QgMjAwOCwgMTk6Mzk6NDMpOgp+IyEgcm49WHV0ZWxpdXMgcnQ9MTIyMjk2NTU5MiByZz1wYXJ0eQp+IyEgdGlkPTEyMTc4MDA5MDAKU29uZGVybGljaCBiZWdlaXN0ZXJ0IGJpbiBpY2ggbmljaHQgZ2VyYWRlLCBkYXMgc3RpbW10LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogSGVyYnN0LVBhcnR5IGluIC4uLiBXZXJuaWdlcm9kZT8gKFplc3N0cmEsICAzLiBPa3QgMjAwOCwgMTE6MTQ6NTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIyMjk2MzY1OCByZz1wYXJ0eQp+IyEgdGlkPTEyMTc4MDA5MDAKQlRXOiBTb2xsdGUgZGFzIG5pY2h0IGluIHBhcnR5LmJla2FubnRtYWNodW5nZW4gc3RlaGVuLCBmdWVyIExldXRlLCBkaWUgcGFydHkKbmljaHQgbGVzZW4gc29uZGVybiBudXIgZGllIEJla2FubnRtYWNodW5nZW4/CkFuc29uc3RlbiB3YWVyZW4gdmllbGxlaWNodCBQYXJ0eWJyZXR0ZXIgYWxzIFdlcmJlbWFzc25haG1lIGRvY2ggbmljaHQKc2NobGVjaHQgdW5kIHVtIHp1IGd1Y2tlbiwgd2VyIGVpZ2VudGxpY2ggaGludGVyaGVyIHdvaGwgZGEgc2VpbiB3aXJkLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEhlcmJzdC1QYXJ0eSBpbiAuLi4gV2VybmlnZXJvZGU/IChHbG9pbnNvbiwgIDMuIE9rdCAyMDA4LCAxMjowMjozNCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMjMwMjUyOTQgcmc9cGFydHkKfiMhIHRpZD0xMjE3ODAwOTAwCjE6IGRvbmUKMjogdG8gZG8gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ1ZWhqYWhyc3BhcnR5ICsgVmVyZWlucy1WZXJzYW1tbHVuZyBpbiBEcmVzZGVuIChHbG9pbnNvbiwgIDUuIEphbiAyMDA5LCAyMzozNDo0NCk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyMzA4NTE3NTkgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEyMzA4NTE3NTkKSHVodW1zaSwKCmthbm5zdCBkdSBtYWwgRGV0YWlscyB6dXIgVW50ZXJicmluZ3VuZyBuZW5uZW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGphaHJzcGFydHkgKyBWZXJlaW5zLVZlcnNhbW1sdW5nIGluIERyZXNkZW4gKE1lc2lyaWksICA1LiBKYW4gMjAwOSwgMjM6NDM6MTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIzMTE5NDg4NCByZz1wYXJ0eQp+IyEgdGlkPTEyMzA4NTE3NTkKRnVlciBFdWNoIHNpY2hlciBiZWkgU2lsa2UgJiBDbGF1ZGlhIDopCkljaCBoYWIgaW4gZWluZW0gYWx0ZW4gS2luZGVyZ2FydGVuIGVpbmVuIGJpcyB6d2VpIFJhZXVtZSBmdWVyIGRpZSBJc28KbWF0dGVuc2NobGFlZmVyLiBEb3J0IGdpYnRzIGF1Y2ggVG9pbGV0dGVuIHVuZCBuZSBEdXNjaGUgKGxlaWRlciBiaXNoZXIgbnVyCmVpbmUpLiBBdWNoIHZpZXIgTWF0cmF0emVuIHVtIGRpZSBtYW4gc2ljaCBkYW5uIHBydWVnZWxuIGthbm4gOikKSWNoIGRlbmtlIGF1Y2gsIGRhc3MgZGllIERyZXNkbmVyIE11ZGRlciBiZWR1ZXJmdGlnZW4gKEZhbWlsaWVuKSBTY2hsYWYtCnVudGVya3VlbmZ0ZSBhbmJpZXRlbiB3ZXJkZW4sIENha2V5IHVuZCBzZWluZSBIb3JkZSB3ZXJkZW4gc2ljaGVyIGJlaQp1bnMgbmFlY2h0aWdlbi4KRnVlciBkaWUgaG90ZWx2ZXJ3b2VobnRlbiBSZXN0ZSBnaWJ0cyBhdWNoIGVpbmlnZXMgaW4gZGVyIE5hZWhlLCBkYXMgbmljaHQgc28KcHJlaXNpbnRlbnNpdiBpc3QgKG11c3MgaWNoIGFiZXIgbm9jaCByYXVzc3VjaGVuKS4KUFMuIFNhZ3RlIGljaCBzY2hvbiwgZGFzcyBkaWUgSXNvbWF0dGVuc2NobGFmZ2VsZWdlbmhlaXQgZnVlciBsYXUgaXN0PwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgMjAwOSAoWmVzc3RyYSwgIDYuIEphbiAyMDA5LCAxMzo1MjoxOCk6Cn4jISBvbj1Bcmsgb3Q9MTIzMTI0NjIzMiBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1HbG9pbnNvbiBydD0xMjMxMjQ1NjU0IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMjMxMjQ1NjU0CkVpbiBiaXNzY2hlbiBmcnVlaCBmdWVyIG1pY2ggLi4uIGljaCBrb2VubnRlIGFsbGVzLCBUZWlsZSBkYXZvbiBvZGVyIG5peApiZWphaGVuLCBhbGxlcyBnZW5hdXNvIHVudm9yaGVyc2VoYmFyIGVpbiBoYWxiZXMgSmFociBkYXZvciA7LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IDIwMDkgKFplc3N0cmEsICA2LiBKYW4gMjAwOSwgMTM6NTM6MjcpOgp+IyEgcm49WmVzc3RyYSBydD0xMjMxMjQ2MzM4IHJnPXBhcnR5Cn4jISB0aWQ9MTIzMTI0NTY1NApNaG1tLCBuYWphLiBFcyBnaWJ0IGF1Y2ggTGV1dGUsIGRpZSBtdWVzc2VuIGpldHp0IHNjaG9uIGlocmVuIFVybGF1YiBwbGFuZW4uCjstKSBBbHNvLCBpY2ggZmluZGUgZXMgZ3V0LCBqZXR6dCBUZXJtaW4mT3J0IHp1IGZpbmRlbiwgZGFubiBrYW5uIG1hbgp3ZW5pZ3N0ZW4gdmVybGFlc3NsaWNoIHBsYW5lbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5IDIwMDkgKEFyaywgIDYuIEphbiAyMDA5LCAxMzo1NToxNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMzEyNDY0MDcgcmc9cGFydHkKfiMhIHRpZD0xMjMxMjQ1NjU0CkljaCB2ZXJzdWNoZSBub2NoLCBtZWluZW4gQ2hlZiBkaWVzZXMgSmFociB6dSBiZXN0aW1tZW4gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZydWVoamFocnNwYXJ0eSArIFZlcmVpbnMtVmVyc2FtbWx1bmcgaW4gRHJlc2RlbiAoTWVzaXJpaSwgMTIuIEphbiAyMDA5LCAwMjozNTo0MSk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyMzA4NTE3NTkgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEyMzA4NTE3NTkKQmlzaGVyIGhhYmVuIHNpY2ggMTYgTGV1dGUgZnVlciBkYXMgV29jaGVuZW5kZSB2b20gMjguIE1hZXJ6IGVpbmdldHJhZ2VuLgpJY2ggaG9mZmUgZXMgd2VyZGVuIG5vY2ggZWluIHBhYXIgbWVociBkaWUgc2ljaCBhbiBkZXIgQWJzdGltbXVuZyBiZXRlaWxpZ2VuLgpBbnNvbnN0ZW4gd3VlcmRlIGljaCBkZW4gVGVybWluIGluIDIgV29jaGVuIGZpeGllcmVuLCBkYW1pdCBpaHIgRXVyZW4gVXJsYXViCnBsYW5lbiB1bmQgWnVndGlja2V0cyBrYXVmZW4ga29lbm50LgoKR3J1c3MgTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZWlubGFkdW5nZW4gKEVubm94LCAxOC4gSmFuIDIwMDksIDIyOjQ3OjM3KToKSWNoIHd1ZXJkZSAgZ2VybiB6dSBERC1QYXJ0eSBhdWNoIExldXRlIGVpbmxhZGVuLCBkaWUgZ3JhZCBuaWNodCBtZWhyCmFrdGl2IHNpbmQuIFdlbm4gRXVjaCBhbHNvIHdlciBlaW5mYWVsbHQsIGRlbiBpaHIgZ2VybiB3aWVkZXIgbWFsCnNlaGVuIHdvZWxsdGV0IHVuZCBkZXIgYXVjaCBzb25zdCBuaWNodCBzbyBwYXJ0eWFic3RpbmVudCB3YXIgKGJ6dy4KZGVyIHNpY2ggYmVpIGRvb2RsZSBub2NoIG5pY2h0IGVpbmdldHJhZ2VuIGhhdCksIGRhbm4gc2NoaWNrdCBkb2NoIAplaW5mYWNoIG5lIG5ldHRlIEVyaW5uZXJ1bmdzbWFpbCwgb2RlciBzY2hpY2t0IG1pciBkZW4gTXVkbmFtZW4KdW5kIGRpZSBFLU1haWwtQWRyZXNzZSAob2RlciBpY2ggbmVobSBoYWx0IGRpZSBhdXNtIGZpbmdlcikgdW5kIGljaCAKaGFuZGVsIGRhcyBpbnNnZXNhbXQgYWIuCgpEYW5rZSAmIEdydXNzCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBlaW5sYWR1bmdlbiAoTWVzaXJpaSwgMTguIEZlYiAyMDA5LCAwMDo1MzozMSk6Cn4jISBybj1Fbm5veCBydD0xMjMyMzE1MjU3IHJnPXBhcnR5Cn4jISB0aWQ9MTIzMjMxNTI1NwpCb2FoLCBlcyBoYWJlbiBzaWNoIHNvZ2FyIHNjaG9uIDEzIExldXRlIGFuZ2VtZWxkZXQgOikgRGFzIHdpcmQKYWJlciBlaW5lIGdlbXVldGxpY2hlIFJ1bmRlICpmcmV1Ki4KCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlL0JpZXRlIE1pdGZhaHJnZWxlZ2VuaGVpdCB6dXIgUGFydHkgKENhc3NhbmRyYSwgIDMuIE1hciAyMDA5LCAxNjoxMjo0Mik6CkljaCBzdWNoZSBlaW5lIE1pdGZhaHJnZWxlZ2VuaGVpdCB6dXIgUGFydHkgbmFjaCBEcmVzZGVuLiBBYmZhaHJ0c29ydCBSZWdpb24KRnJhbmtmdXJ0L01haW4gL0Rhcm1zdGFkdC4KCkFsdGVybmF0aXYgZmFocmUgaWNoIHNlbGJzdCB1bmQga25udGUgZGFubiBub2NoIDEgYmlzIDIgUGVyc29uZW4gbWl0bmVobWVuLgoKQmFobmZhaHJlbiBpc3QgbWlyIHp1IHRldWVyIGRhIGljaCBkaWVzbWFsIGRpZSBnZW5hdWUgVWhyemVpdCBub2NoIG5pY2h0ClBsYW5lbiBrYW5uICh6d2lzY2hlbiBETyBNaXR0YWcgdWRuIEZyZWl0YWcgQWJlbmQpLgoKV2VyIGRpZSBTdHJlY2tlIGZocnQgb2RlciBnZXJuZSBtaXRmYWhyZW4gd3VlcmRlIG1vZWdlIHNpY2ggbWVsZGVuLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJsb2VkZSBTb21tZXJ6ZWl0Li4uIChaZXNzdHJhLCAxMi4gTWFyIDIwMDksIDIzOjQ0OjIwKToKR2VyYWRlIGdlc2VoZW4sIGRhc3MgYW0gUGFydHktV29jaGVuZW5kZSBhdWYgU29tbWVyemVpdCB1bWdlc3RlbGx0IHdpcmQuLi4gQWxzCm9iIG1hbiBhbiBQYXJ0eS1XRSBuaWNodCBzY2hvbiBlaCB3ZW5pZyBnZW51ZyBTY2hsYWYgYmVrb21tdC4gKmphbW1lcioKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IChTcmFiaSwgMjAuIE1hciAyMDA5LCAwNzoxMTozMik6CkhhbGxvIE11ZGRlciwKCmdlc3Rlcm4gaGFiZW4gd2lyIG1pdCBaZXNzdHJhIHVlYmVyIEFsbGdlbWVpbiBkaWUgU29tbWVycGFydHkgZ2VwbGFudC4gSWNoCmhhYmUgZGVuIFZvcnNjaGxhZyBnZW1hY2h0LCBkaWUgUGFydHkgaW4gV2V0emxhciB6dSBwbGFuZW4uCgpBbGxlcmRpbmdzIHdhZXJlIG5vY2ggZWluZSBQbGFudW5nIGZ1ZXIgQmVybGluIHZvcmdlc2VoZW4sIHdpZSBaZXNzdHJhIGdlbWVpbnQKaGF0LiBWaWVsbGVpY2h0IHRlaWx0IElociBtaXIgamEgbWFsIEV1cmUgTWVpbnVuZyBtaXQsIG9iIElociBzZWluZQpTb21tZXJwYXJ0eSBpbiBXZXR6bGFyIGhhYmVuIHdvbGx0LiBCaXR0ZSBzYWd0IG1pciBhdWNoIHdhbm4gc28gZWluZQpTb21tZXJwYXJ0eSBzdGF0dGZpbmRldC4KCldldHpsYXIgbGllZ3QgaW4gTWl0dGVsaGVzc2VuLCBncm9iIHp3aXNjaGVuIEdpZXNzZW4gdW5kIEZyYW5rZnVydCB1bmQgaXN0CkRvbS0gdW5kIEdvZXRoZXN0YWR0LiBVLmEuIGhhdCBHb2V0aGUgaGllciBkaWUgTGVpZGVuIGRlcyBqdW5nZW4gV2VydGhlcgp2ZXJmYXNzdC4KCk1lbGRldCBFY2ggYmVpIG1pciBwZXIgTWFpbCBvZGVyIGhpZXIgaW4gZGVyIG1wYS4KCkV1ZXIgU3JhYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAoWmVzc3RyYSwgMjAuIE1hciAyMDA5LCAxMTo0NTo0Nyk6Cn4jISBybj1TcmFiaSBydD0xMjM3NTI5NDkyIHJnPXBhcnR5Cn4jISB0aWQ9MTIzNzUyOTQ5MgpOYWphLCBpY2ggd3VlcmRlIG5pY2h0IHNhZ2VuLCBkYXNzIGljaCBhbiBpcmdlbmRlaW5lciBrb25rcmV0ZW4gUGxhbnVuZwp0ZWlsZ2Vub21tZW4gaGFiZS4gOy0pIEljaCBoYWIgbnVyIGdlZnJhZ3QsIG9iIGplbWFuZCB3YXMgYnpnbC4gU29tbWVycGFydHkKd2Vpc3MgdW5kIGF1ZiBTcmFiaXMgVm9yc2NobGFnIHZvcnNjaGxhZ2VuLCBlaW5lIERpc2t1c3Npb24gaW4gZGVyIE1QQSB6dQpzdGFydGVuLiBTcGV6aWVsbCB3YXIgdW5kIGJpbiBpY2ggemllbWxpY2ggdW53aXNzZW5kIHVlYmVyIGRlbiBTdGFuZCBkZXIKQmVybGluLUlkZWUgdm9tIEphbnVhci4gRnVlciBtaWNoIHNpZWh0IGVzIGlyZ2VuZHdpZSBzbyBhdXMsIGFscyBvYiBkYXMgdm9tClRpc2NoIGlzdCwgYWJlciBpY2ggd2Vpc3MgZXMgbmljaHQuCk9rLCBkYXMgdm9yd2VnLiA7LSkgU29sbHRlIGRpZSBCZXJsaW4tUGxhbnVuZyBhZCBhY3RhIGdlbGVndCBzZWluLCBiaW4gaWNoCnVlYmVyIG5lIEFsdGVybmF0aXZlIGRhbmtiYXIgdW5kIGZpbmRlIGRpZSBHZWdlbmQgdm9uIFdldHpsYXIvTWFyYnVyZwpncnVuZHNhZXR6bGljaCBhdWNoIGdhbnogb2suCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IChWYW5oZWxzaW5nLCAyMC4gTWFyIDIwMDksIDIwOjQ4OjM2KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIzNzU0NTk0NyByZz1wYXJ0eQp+IyEgdGlkPTEyMzc1Mjk0OTIKSWNoIHdhciBub2NoIG5pZSBpbiBXZXR6bGFyIHVuZCBndWNrZSBtaXIgZ2VybmUgYXVjaCBtYWwgYW5kZXJlIEdlYmlldGUgYW4uCkJlcmxpbiBrYW5uIGljaCBqYSBzY2hvbi4gOykKS3VyenVtOiBJY2ggYmluIGZ1ZXIgbmUgU29tbWVycGFydHkgaW4gV2V0emxhci4KClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAoVmVjdG9yLCAyMC4gTWFyIDIwMDksIDIyOjE4OjM3KToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTIzNzU3ODUxNiByZz1wYXJ0eQp+IyEgdGlkPTEyMzc1Mjk0OTIKKzEgd2V0emxhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgKEthcm9sLCAyMC4gTWFyIDIwMDksIDIyOjIyOjA2KToKfiMhIHJuPVZlY3RvciBydD0xMjM3NTgzOTE3IHJnPXBhcnR5Cn4jISB0aWQ9MTIzNzUyOTQ5MgorMSBXZXR6bGFyCgpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IChHbG9pbnNvbiwgMjMuIE1hciAyMDA5LCAxNDoxMDozMyk6Cn4jISBybj1TcmFiaSBydD0xMjM3NTI5NDkyIHJnPXBhcnR5Cn4jISB0aWQ9MTIzNzUyOTQ5MgpQYXJkb2luZywgZGFzcyBpY2ggbmljaHQgdmVybWVsZGV0IGhhYmU6CgpCZXJsaW5lciBQYXJ0eSBmYWVsbHQgYXVzIGZvbGdlbmRlbiBHcnVlbmRlIGF1czoKLSBHdWFyZCBuaWNodCBtZWhyIGluIEJlcmxpbgotIEdsb2luIGludGVybiBhdXNnZWxhc3RldAoKRGFtaXQgdHJpdHQgZGVyIFB1bmt0IFggZGVyIGRhbWFsaWdlbiBUZXJtaW51bWZyYWdlIGluIEtyYWZ0OiBGYWxscyBkaWUKQmVybGluZXIgZXMgbmljaHQgZ2ViYWNrZW4gYmVrb21tZW4sIGlzdCBkYXMgZWluZSBVbWZyYWdlIGZ1ZXIgZWluZW4KYWxsZ2VtZWluZW4gVGVybWluLCB3ZXIgYXVjaCBpbW1lciBkYW5uIG1hY2hlbiB3aWxsLiBHbywgU3JhYmksIGdvIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSBpbiBXZXR6bGFyIChaZXNzdHJhLCAyMy4gTWFyIDIwMDksIDE2OjM0OjEwKToKfiMhIHJuPVNyYWJpIHJ0PTEyMzc4MjE3ODIgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEyMzc4MjE3ODIKV2FydW0gbWFpbGVuIHVuZCBuaWNoIERvb2RsZSB2ZXJ3ZW5kZW4/CkJUVzogV2FlciBzY2hvZW4sIHdlbm4gRHUgbmViZW4gQ2FtcGluZyBhdWNoIChmYW1pbGllbmZyZXVuZGxpY2hlKQpVbnRlcmt1ZW5mdGUgbWl0IGZlc3RlbSBEYWNoIGF1ZnRyZWliZW4ga29lbm50ZXN0LiA7LSkgQmV0cmlmZnQgbWljaCB6d2FyCm5pY2h0IHBlcnNvZW5saWNoLCBhYmVyIGRpZSBOYWNoZnJhZ2UgbmFjaCBzb2xjaGVuIFVudGVya3VlbmZ0ZW4gaXN0CmVyZmFocnVuZ3NnZW1hZXNzIGhvY2guCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IGluIFdldHpsYXIgKEdsb2luc29uLCAyMy4gTWFyIDIwMDksIDE2OjQzOjA1KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIzNzgyMjQ1MCByZz1wYXJ0eQp+IyEgdGlkPTEyMzc4MjE3ODIKSmEsIGRpZSBVbnRlcmt1ZW5mdGUgbWl0IGZlc3RlbSBEYWNoIHNpbmQgZWluZXIgZGVyIHdpY2h0aWdlbiBLbmFja3B1bmt0ZSBiZWkKaGV1dGlnZW4gU29tbWVycGFydGllcyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcnBhcnR5IGluIFdldHpsYXIgKE1lc2lyaWksIDIzLiBNYXIgMjAwOSwgMjE6MzI6MjcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIzNzgyMjk4NSByZz1wYXJ0eQp+IyEgdGlkPTEyMzc4MjE3ODIKTmFqYSBGYW1pbGllbiBtaXQgdmllbGVuIGtsZWluZW4gS2luZGVybiBzaW5kIG5pY2h0IHNvIHdldHRlcmZlc3QuCldhZXJlIHdpcmtsaWNoIHdpY2h0aWcuCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZWlubGFkdW5nZW4gKEdsb2luc29uLCAzMC4gTWFyIDIwMDksIDIxOjM4OjI0KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIzNDkxNDgxMSByZz1wYXJ0eQp+IyEgdGlkPTEyMzIzMTUyNTcKRGFua2UgZnVlciBkaWUgdG9sbGUgUGFydHkgaW4gZWluZXIgdG9sbGVuIFByaXZhdGtuZWlwZS4gWndlaSBQdW5rdGU6CgoxKSBCaW4gamV0enQgd2llZGVyIGF1ZiBuZXVlc3RlbSBTdGFuZCB3ZWdlbiBEb2VuZXJuIGluIERELiBBbGF1bnN0cmFzc2UKICAgaXN0IGphIHZpZWwgd2VpdGVyIHdlZy4gU2NobGltbSwgd2VubiBtYW4gU2Ftc3RhZyBnZWdlbiA0IFVociBIdW5nZXIKICAgYmVrb21tdC4KMikgSWNoIGhhYiBkb2NoIGF1ZiBkZXIgVG9pbGV0dGUgZ2VsZXNlbi4gRGllc2VuIGFic3VyZC10ZWNobmlzY2hlbgogICBTRi1Sb21hbi4gUmljaHRpZyBrb21pc2NoZSBTb3ppYWxpc211cy1TRi4gQUVUU0NIISBBRVRTQ0ghCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZWlubGFkdW5nZW4gKEh1bW5pLCAzMC4gTWFyIDIwMDksIDIxOjQzOjA1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMzg0NDE5MDQgcmc9cGFydHkKfiMhIHRpZD0xMjMyMzE1MjU3CldpZSBpY2ggc29lYmVuIG1pdCBGcmV1ZGVuIGZlc3RzdGVsbGUsIHdhciBpY2ggbmljaHQgZGVyIGVpbnppZ2UsIGRlciBkYXMgQnVjaApnZWxlc2VuIGhhdC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBlaW5sYWR1bmdlbiAoR2xvaW5zb24sIDMwLiBNYXIgMjAwOSwgMjE6NDU6MDcpOgp+IyEgcm49SHVtbmkgcnQ9MTIzODQ0MjE4NSByZz1wYXJ0eQp+IyEgdGlkPTEyMzIzMTUyNTcKRHUgaGFzdCBlcyBqYSBudXIgdW1nZWxlZ3QuIERhYmVpIHdvbGx0ZSBpY2ggbnVyIGRhcyBCdWNoIHVudGVyIGRlciBTcHVlbGUKbWl0dGVscyBkZXIgSGlsZmUgdm9uIHVud2lsbGlnZW4gQXJhY2huaWRlbiBzY2h1ZXR6ZW4uIFdvIGRvY2ggZGllc2UKQXJhY2huaWRlbiBlaCBudXIgZWluZW4gUGxhbmV0ZW4gZ2VlcmJ0IGhhdHRlbiwgZGVyIG1hbCB2b24gZWluZXIgU3VwZXJub3ZhCmdlcGxhZXR0ZXQgd3VyZGUuIEphd29sbGphIQoKV2VpdGVyaGluIGlzdCB6dSBiZXJpY2h0ZW4sIGRhc3MgTWVzaXJpaSBfbmljaHRfIG1pdCBMYXB0b3AgYXVmIGRlciBUb2lsZXR0ZQp3YXIgdW5kIGRlc2hhbGIgZG9ydCBhdWNoIG5pY2h0IHN0ZXJiZW4ga29ubnRlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVpbmxhZHVuZ2VuIChNYWhhcmV0LCAzMS4gTWFyIDIwMDksIDEyOjAxOjMwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMzg0NDE5MDQgcmc9cGFydHkKfiMhIHRpZD0xMjMyMzE1MjU3CkljaCB3dXNzdGUsIGRhc3MgZHUgZGFzIGdldGFuIGhhc3QhIERhcyBCdWNoIGxhZyBhbmRlcnMgOykKVW5kIGR1IGJpc3QgZGEgamEgcHJpbWUgc3VzcGVjdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlmb3RvcyAoTWFoYXJldCwgMzEuIE1hciAyMDA5LCAyMTo0NTo0Nik6Ck1laW5lIHBhYXIgRm90b3Mgc2luZCBqZXR6dCBhdWNoIGltIFdpa2kuCmh0dHA6Ly9zZXJ2ZXIyLm1lc2lyaWkuZGUvfm1nL3dpa2kvUGFydHkvUGFydHkuMzMvZm90b3MubWFoYXJldC8KCk51IG1hbCBzY2huZWxsIGRpZSBhbmRlcmVuIGF1Y2ggaG9jaGxhZGVuLCBJaHIgaGFidCBkb2NoIHZpZWwgbWVocgpmb3RvZ3JhZmllcnQgYWxzIGljaCA7KQoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm90b3MgKE1lc2lyaWksICAyLiBBcHIgMjAwOSwgMjI6Mjg6MzUpOgpWb24gQ3V0dGVyIHVuZCB2b24gamVtYW5kZW0gYW5kZXJzIHNpbmQgamV0enQgb25saW5lLgpadSBmaW5kZW4gd2llIGltbWVyIHVudGVyOgpodHRwOi8vd2lraS5tb3JnZW5ncmF1ZW4uaW5mby9pbmRleC5waHA/bj1Nb3JnZW5HcmF1ZW4uUGFydGllcwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm90b3MgKFplc3N0cmEsICAyLiBBcHIgMjAwOSwgMjI6NDI6NTYpOgp+IyEgcm49TWVzaXJpaSBydD0xMjM4NzA0MTE1IHJnPXBhcnR5Cn4jISB0aWQ9MTIzODcwNDExNQpNZWluZSBGb3RvcyBrb21tZW4gbGVpZGVyIGVyc3QgbmFlY2hzdGUgV29jaGUuLi4gOi0oCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZvdG9zIChab29rLCAgMy4gQXByIDIwMDksIDIxOjMyOjAyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTIzODcwNDk3NiByZz1wYXJ0eQp+IyEgdGlkPTEyMzg3MDQxMTUKTXVlc3NlbiBkaWUgZXJzdCBlbnR3aWNrZWx0IHdlcmRlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZvdG9zIChWYXJkaW9uLCAgMy4gQXByIDIwMDksIDIxOjM3OjU0KToKfiMhIHJuPVpvb2sgcnQ9MTIzODc4NzEyMiByZz1wYXJ0eQp+IyEgdGlkPTEyMzg3MDQxMTUKV2FzIGdsYXVic3QgRHUsIHdvZnVlciBkaWUgZ2FuemVuIElULUZpcm1lbiBFbnR3aWNrbGVyIGVpbnN0ZWxsZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGb3RvcyAoWm9vaywgIDMuIEFwciAyMDA5LCAyMTo1MTo1NCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyMzg3ODc0NzQgcmc9cGFydHkKfiMhIHRpZD0xMjM4NzA0MTE1Cmdvb2QgcG9pbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiBhbSAyOC4gTWFlcnogKE1haGFyZXQsICA0LiBBcHIgMjAwOSwgMjA6NTI6NTMpOgp+IyEgcm49TWVzaXJpaSBydD0xMjMzMzYzNTc1IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMjMzMzYzNTc1ClZpZWxlbiBEYW5rIGFuIE1lc2kgZnVlcnMgT3JnYW5pc2llcmVuIGRlciBQYXJ0eSAtIGdhbnogYWxsZWluIHVuZCBvaG5lIGRpZQpGYW1pbGllIGluIFN0cmVzcyB1bmQgUGFuaWsgenUgYnJpbmdlbi4gSWNoIGhhdHRlIG1laW5lbiBTcGFzcywgYXVjaCB3ZW5uIGljaAptaWNoIHNjaG9uIHNlaHIgZGFyYXVmIGZyZXVlLCB3ZW5uIGRpZSBLaW5kZXIgZ3JvZXNzZXIgc2luZCB1bmQgaWNoIGRhbm4gYXVjaApsYWVuZ2VyIGJsZWliZW4ga2FubiwgdW0gbWVociBaZWl0IG1pdCBFdWNoIHp1IHZlcmJyaW5nZW4uIExlaWRlciBoYXQgZXMgYmVpCnZpZWwgenUgdmllbGVuIHp1IGthdW0gbWVociBhbHMgZWluICJIYWxsbywgdG9sbCBkYXNzIGR1IGRhIGJpc3QiIGdlcmVpY2h0LgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRm90b3MgKE9ya3RvZXRlciwgIDUuIEFwciAyMDA5LCAxNzoxMjoyNSk6Cn4jISBybj1ab29rIHJ0PTEyMzg3ODcxMjIgcmc9cGFydHkKfiMhIHRpZD0xMjM4NzA0MTE1CkRhZnVlciBnaWJ0cyBkb2NoIGRpZSBFTnR3aWNrbHVuZ3NsYWVuZGVyLi4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiBhbSAyOC4gTWFlcnogKENoYWdhbGwsICA1LiBBcHIgMjAwOSwgMjE6MDA6NDIpOgp+IyEgcm49TWFoYXJldCBydD0xMjM4ODcxMTczIHJnPXBhcnR5Cn4jISB0aWQ9MTIzMzM2MzU3NQpBdWNoIHdlbm4gZXMgZWluIHdlbmlnIHNwYWV0IGlzdCwgbW9lY2h0ZSBpY2ggbWljaCBub2NoIGJlaSBkZXIKUGFydHlvcmdhbmlzYXRpb24gYmVkYW5rZW4uIEJpcyBhdWYgZGFzIFdldHRlciB3YXIgYWxsZXMgc3VwZXIgZ2V3ZXNlbi4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiBhbSAyOC4gTWFlcnogKFZhcmRpb24sICA1LiBBcHIgMjAwOSwgMjE6MTI6MTgpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMjM4OTU4MDQyIHJnPXBhcnR5Cn4jISB0aWQ9MTIzMzM2MzU3NQpEaWUgUGFydHkgd2FyIGxlaWRlciBlaW5lIFdvY2hlIHp1IGZydWVoIC0gb2RlciBkYXMgV2V0dGVyIGVpbmUgV29jaGUgenUKc3BhZXQuIERpZXNlcyBXRSBoYXR0ZW4gd2lyIGluIERyZXNkZW4gcXVhc2kgU29tbWVyLgpJY2ggYmVkYW5rZSBtaWNoIGViZW5mYWxscyBmdWVyIGRpZSBQYXJ0eS4gRGllIEdhZXN0ZSwgZGVyIFBhcnR5b3J0IHVuZCBkYXMKRXNzZW4gYW0gU29ubnRhZyB3YXJlbiB0b2xsIDopCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiBhbSAyOC4gTWFlcnogKFplc3N0cmEsICA1LiBBcHIgMjAwOSwgMjE6MzI6MjIpOgp+IyEgcm49VmFyZGlvbiBydD0xMjM4OTU4NzM4IHJnPXBhcnR5Cn4jISB0aWQ9MTIzMzM2MzU3NQpFcyBob2VydCBzaWNoIGpldHp0IGlyZ2VuZHdpZSBrb21pc2NoIGFuLCB3ZWlsIGRpZSBQYXJ0eSBzY2hvbiBuZSBXb2NoZSB2b3JiZWkKaXN0LCBhYmVyIGRhbWl0IGtlaW4gTWlzc3ZlcnN0YWVuZG5pcyBhdWZ0cml0dDogTWlyIGhhdCBkaWUgUGFydHkgZ3V0CmdlZmFsbGVuLCBlcyBpc3QgYWxsZXMgc2Nob2VuIGdlbGF1ZmVuLiBEaWUgQnVjaGJhciB3YXIgYWxzIE9ydCB6dW0KQmVpc2FtbWVuc2VpbiwgU3BpZWxlbiB1bmQgUXVhdHNjaGVuIHNlaHIgc2Nob2VuLiBEYWhlciBiZXNvbmRlcnMgc2NoYWRlLCBkYXNzCnVucyBkaWUgWmVpdHVtc3RlbGx1bmcgYXVzZ2VyZWNobmV0IGluIGRlciBOYWNodCBlaW5lIFN0dW5kZSBnZWtsYXV0IGhhdC4KQnpnbC4gZGVzIEVzc2VucyBhbSBTb25udGFnIG1vcmdlbiBzY2hsaWVzcyBpY2ggbWljaCBWYXJkaW9uIGF1Y2ggYW4uIERpZQpVZWJlcm5hY2h0dW5nIGltIGJsYXVlbiBIYXVzIGZhbmQgaWNoIHNlaHIgZ2x1ZWNrbGljaCwgZWluZXJzZWl0cyB3ZWlsIHdpciBzbwooRnJlaXRhZykgbmFjaHRzIG5vY2ggbGFuZyB6dXNhbW1lbnNhc3NlbiB1bmQgYW5kZXJzZWl0cyBuYXR1ZXJsaWNoLCB3ZWlscwplaW5lIHNvIGtvc3Rlbmd1ZW5zdGlnZSBTYWNoZSB3YXIuIDstKQpVbmQgZGFzcyBzbyB2aWVsZSBnZWtvbW1lbiBzaW5kLCB3YXIgZWluZSBzZWhyIG5ldHRlIFVlYmVycmFzY2h1bmcgbmFjaGRlbSB3aXIKbGV0enRlcyBKYWhyIGphIHdlbmlnZXIgR2x1ZWNrIG1pdCBQYXJ0aWVzIGhhdHRlbi4gKEljaCBoYWV0dGUgZ2VybmUgbm9jaCBtZWhyCm1pdCBkZW4gc2VsdGVuIGdlc2VoZW5lbiBMZXV0ZW4gdW50ZXJoYWx0ZW4sIGFiZXIgZGFzIGhhYiBpY2ggaXJnZW5kd2llIG5vY2gKYmVpIGplZGVyIFBhcnR5IGdlc2FndC4gKmcqKQpWaWVsZW4gRGFuayBNZXNpIQoKKFdhcnVtIGljaCBkYXMgZXJzdCBqZXR6dCBzY2hyZWliPyBHdXRlIEZyYWdlLCBhbHMgaWNoIGxldHp0ZW4gTW9udGFnIEFiZW5kCnp1cnVlY2trYW0sIHdvbGx0ZW4gZGlyZWt0IG1laHJlcmUgTGV1dGUgd2FzIHZvbiBtaXIsIHdvcmF1ZmhpbiBpY2ggbmljaHQKc29mb3J0IGRyYW4gZ2VkYWNodCBoYWIgdW5kIHNlaXRkZW0gd2FyIGljaCBudXIgMS41IEFiZW5kZSB6dWhhdXMuKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5IGluIFdldHpsYXIgKE1haGFyZXQsICA3LiBBcHIgMjAwOSwgMjE6Mjg6NDYpOgp+IyEgcm49U3JhYmkgcnQ9MTIzOTAwMTM2NSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTIzOTAwMTM2NQpOb2NobWFsIHp1ciBLbGFyc3RlbGx1bmc6IERhcyB3YWVyZSBkYW5uIGlua2x1c2l2ZSBkZXIgV29jaGUgdm9yIGRlbQphYmdlc3RpbW10ZW4gV29jaGVuZW5kZSwgcmljaHRpZz8KCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZydWVoamFocnNwYXJ0eSBpbiBEcmVzZGVuIGFtIDI4LiBNYWVyeiAoVmFuaXIsICA4LiBBcHIgMjAwOSwgMTg6Mzc6MzgpOgp+IyEgcm49WmVzc3RyYSBydD0xMjM4OTU5OTQyIHJnPXBhcnR5Cn4jISB0aWQ9MTIzMzM2MzU3NQpJY2ggYmluIGF1Y2ggZW5kbGljaCB3aWVkZXIgenUgSGF1c2UgdW5kIG1jaHRlIG5vY2htYWwgbWVpbmVuIERhbmsKYXVzc3ByZWNoZW4uIEJlc29uZGVycyBmfHI6CgoKRGFua2UsCi4uLiBmfHIgZGllIHRvbGxlIE9yZ2EuCi4uLiBmfHIgZGllIGZyZXVuZGxpY2hlIEF1Zm5haG1lLgouLi4gZnxyIGRpZSBaZWl0LCBkaWUgaWNoIG1pdCBFdWNoIHZlcmJyaW5nZW4gZHVyZnRlLgouLi4gZnxyIEJpZXIgdW5kIFdlaW4uCi4uLiBmfHIgUGl6emEgdW5kIFN1c2hpLgouLi4gZnxyIGFsbGVzIHdhcyBtaXQgZGVyIFBhcnR5IHp1c2FtbWVuaGluZy4KCkljaCBtY2h0ZSBtaWNoIG5vY2htYWwgcmVjaHQgaGVyemxpY2ggYmVpIGFsbGVuIGJlZGFua2VuLCBkaWUgbWlyIGdlaG9sZmVuCmhhYmVuIG1laW5lbiBVcmxhdWIgc28genUgZ2VzdGFsdGVuIHdpZSBlciB3YXIuIFZpZWxlbiBEYW5rLgoKVi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm90b3MgKEdsb2luc29uLCAxNi4gQXByIDIwMDksIDIzOjA0OjU5KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIzODcwNDExNSByZz1wYXJ0eQp+IyEgdGlkPTEyMzg3MDQxMTUKSGllciBhdWNoIG9ubGluZToKCmh0dHA6Ly93d3cuZmx1bnplbC5kZS9waWNzL2RkMDkvCmh0dHA6Ly93d3cuZmx1bnplbC5kZS9waWNzL2RkMDkvZWRpdC56aXAgZnVlciBhbGxlIEpQR3MgZ2VwYWNrdAoKV2VubiBkYW5uIGlyZ2VuZHdhbm4gZGVyIG5ldWUgU2VydmVyIGRhIGlzdCwgZGllIFdlYnBhcnRpdGlvbiBncm9zcyBnZW51ZyBpc3QsCmFsbGUgbmljaHQgenUgdHVuIGhhYmVuLCBkYW5uIHdlcmRlbiBzaWUgc2ljaGVyIGRhaGluIChuYWNoIG1nLm11ZC5kZSkKbWlncmllcnQgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlhbm1lbGR1bmdlbiBmdWVyIFdldHpsYXIgKE1haGFyZXQsIDI3LiBBcHIgMjAwOSwgMTI6MjY6NTEpOgp+IyEgcm49U3JhYmkgcnQ9MTI0MDIzNDIxNCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTI0MDIzNDIxNApWZXJzdGVoZSBpY2ggZGFzIGpldHp0IHJpY2h0aWcsIGRhcyBpc3QgbnVyIGZ1ZXIgZGFzIFdvY2hlbmVuZGUgZ2VwbGFudCwgbmljaHQKZnVlciBkaWUgZ2FuemUgV29jaGU/IFVuZCBlcyBnaWJ0IGpldHp0IGRvY2gga2VpbmUgQnVuZ2Fsb3dzIGZ1ZXIgRmFtaWxpZW4/IApOdXIgZGFtaXQgbWFuIHdlaXNzLCB3b2Z1ZXIgbWFuIHNpY2ggZ2VuYXUgYW5tZWxkZXQgdW5kIGRhbm4gbmljaHQgcGxvZXR6bGljaApMZXV0ZSBhYnNwcmluZ2VuIHVuZCBkZWluZSBnYW56ZSBQbGFudW5nIGR1cmNoZWluYW5kZXIgYnJpbmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlhbm1lbGR1bmdlbiBmdWVyIFdldHpsYXIgKFplc3N0cmEsIDI3LiBBcHIgMjAwOSwgMTU6NDg6NTQpOgp+IyEgcm49TWFoYXJldCBydD0xMjQwODI4MDExIHJnPXBhcnR5Cn4jISB0aWQ9MTI0MDIzNDIxNApOZWUsIFBhcnR5IGlzdCBhbSAyNS43LiwgQ2FtcGluZ3dvY2hlIGFiIDIwLjcuIEhhZXVzY2hlbiBnaWJ0cyBkYSBhdWYgZGVtCkNhbXBpbmdwbGF0eiB3b2hsIGVyc3QgbmV1ZXJkaW5ncywgc3RlaGVuIGFiZXIgbm9jaCBuaWNodCBhdWYgZGVyIEhvbWVwYWdlIHZvbgpkZW0gQ2FtcGluZ3BsYXR6LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHlhbm1lbGR1bmdlbiBmdWVyIFdldHpsYXIgKE1haGFyZXQsIDI3LiBBcHIgMjAwOSwgMTg6NTg6MDMpOgp+IyEgcm49WmVzc3RyYSBydD0xMjQwODQwMTM0IHJnPXBhcnR5Cn4jISB0aWQ9MTI0MDIzNDIxNApBaCEgRGFua2UuICBTb2xsdGUgbWFuIHNpY2ggc2VsYnN0IHVtIGVpbiBzb2xjaGVzIEhhZXVzY2hlbiBrdWVtbWVybiBvZGVyCnVlYmVybmltbXQgZGFzIGRpZSBQYXJ0eW9yZ2E/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWFubWVsZHVuZ2VuIGZ1ZXIgV2V0emxhciAoWmVzc3RyYSwgMjcuIEFwciAyMDA5LCAxOTowMDozNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyNDA4NTE0ODMgcmc9cGFydHkKfiMhIHRpZD0xMjQwMjM0MjE0CkF1ZiBkZW0gUGFydHlicmV0dCBrYW5uIG1hbiBhdXN3YWVobGVuLCBvYiBtYW4gZWluIFplbHQsIGVpbiBIYWV1c2NoZW4gaGFiZW4Kd2lsbCBvZGVyIHNlbGJzdCBvcmdhbmlzaWVydCwgZGFoZXIgZ2VoIGljaCBkYXZvbiwgZGFzcyBtYW4gZGFzIGRhbm4gbmljaHQKc2VsYmVyIG1hY2hlbiBtdXNzLiA7LSkgQWJlciBuZSBQcmVpc2luZm8gd2FlciBub2NoIGdhbnogbmV0dCwgZGVuayBpY2guIEdpYnRzCmRhIHp1bWluZGVzdCBuZSBHcm9lc3Nlbm9yZG51bmc/CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT2VydGxpY2hlIFZlcmxlZ3VuZyBkZXIgUGFydHkgKFplc3N0cmEsICA1LiBNYWkgMjAwOSwgMTk6NDY6MDYpOgp+IyEgcm49U3JhYmkgcnQ9MTI0MTUzNjEzMSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTI0MTUzNjEzMQpNaG1tLCBkYXMgaXN0IGphIHNjaGFkZSwgYWJlciBndXQsIGltbWVyaGluIGdpYnRzIG1laHIgYWxzIGVpbmVuIENhbXBpbmdwbGF0egp1bSBXZXR6bGFyIGhlcnVtLgpJY2ggaGFiIGRpZSBQYXJ0eWJyZXR0ZXIgYW5nZXBhc3N0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9lcnRsaWNoZSBWZXJsZWd1bmcgZGVyIFBhcnR5IChHbG9pbnNvbiwgIDcuIE1haSAyMDA5LCAyMzoxMjowMSk6Cn4jISBybj1TcmFiaSBydD0xMjQxNTM2MTMxIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMjQxNTM2MTMxCj4gYXVmIGRpZXNlbSBDYW1waW5ncGxhdHogaGFiZW4gd2lyIGVpbmUgRWNrZSBmdWVyIHVucyBhbGxlaW5lCgpTbyB3aWUgaW4gU2NobGVzd2lnIGRpZSBFY2tlIFJpY2h0dW5nIExhbmRzdHJhc3NlPyA6KQoKU0NOUiwgR2xvaW5zb24KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9lcnRsaWNoZSBWZXJsZWd1bmcgZGVyIFBhcnR5IChaZXNzdHJhLCAgNy4gTWFpIDIwMDksIDIzOjIzOjM3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDE3MzA3MjEgcmc9cGFydHkKfiMhIHRpZD0xMjQxNTM2MTMxCk9jaCwgbmFqYS4gQW4gc2ljaCB3YXIgZGllIFdpZXNlIGRhIGF1Y2ggbmljaHQgc28gc2NobGVjaHQuIE51ciBkaWUgQnh4CmhpbnRlcm0gRXJkd2FsbCBoYXQgZ2VzdG9lcnQuLi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2VydGxpY2hlIFZlcmxlZ3VuZyBkZXIgUGFydHkgKFNyYWJpLCAgOC4gTWFpIDIwMDksIDA5OjM5OjA5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDE3MzA3MjEgcmc9cGFydHkKfiMhIHRpZD0xMjQxNTM2MTMxCkFsc28sIGVpbmUgRWNrZSBhbiBkZXIgTGFuZHN0cmFzc2UgaXN0IGRhcyBuaWNodC4gVm9uIGRlciBTdHJhc3NlIHdlcmRldCBJaHIKbmljaHRzIG1pdGJla29tbWVuIDotKQoKU3JhYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9lcnRsaWNoZSBWZXJsZWd1bmcgZGVyIFBhcnR5IChWYW5pciwgIDguIE1haSAyMDA5LCAxNzo0MDo1OSk6Cn4jISBybj1TcmFiaSBydD0xMjQxNzY4MzQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTI0MTUzNjEzMQpIbW0sIGFsc28gR2xvaW5zb24gdW5kIGljaCBoYWJlbiBnZXN0ZXJuIGdlZ29vZ2VsdCAobWl0IEhpbGZlIGRlcgpHUFMtSmlpcmRpbmF0ZW4pIHVuZCBzaW5kIHVlZWJlaW5zdGltbWVuZCB6dSBkZW0gRW50c2NobHVzcyBnZWtvbW1lbiwgZGFzcyBkaWUKS29vcmRpbmF0ZSBhdWYgZGVyIExhbmRzdHIuIChEYW1tc3RyLikgZG9ydCBsaWVndC4gQXVzIGxvZ2lzY2hlbiBHcnVlbmRlbiBzaW5kCndpciB2b24gZWluZW0gRmVobGVyIGF1c2dlZ2FuZ2VuIHVuZCBoYWJlbiBnZXNjaGx1c3Nmb2xnZXJ0LCBkYXNzIGRlcgpaZWx0cGxhdHogd2VpdGVyIG9lc3RsaWNoIGxpZWdlbiBtdXNzIChkaWUgRmxhZWNoZSB3ZXN0bGljaCBpc3QgenUga2xlaW4gdW5kCmF1c3NlcmRlbSB3ZWlzdCBkaWUgRmxhZWNoZSBvZXN0bGljaCBjYW1waW5zdHJ1a3R1cmVuIGF1ZikuCldvIGxpZWd0IGRlbm4gZG9ydCBkYXMgQXJlYWwsIHdvIHdpciBjYW1wZW4/CldvIGlzdCBkZXIgQmllcnBhdmlsaW9uLCBkZXIgYXVmIGRlciBIUCBkZXMgQ2FtcGluZ3BsYXR6ZXMgYW5nZWt1ZW5kaWd0IHd1cmRlPwoKQWNoamE6IFVuZCBrYW5uIG1hbiBpbiBkZW0gU2VlIG5lYmVuIGRlbiBTcG9ydHN0YWV0dGVuIChldHdhcyBub3Jkb2VzdGxpY2ggdm9uCmRlbSBDYW1waW5ncGxhdHopIGJhZGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE9lcnRsaWNoZSBWZXJsZWd1bmcgZGVyIFBhcnR5IChTcmFiaSwgIDguIE1haSAyMDA5LCAyMjoyNzowNyk6Cn4jISBybj1WYW5pciBydD0xMjQxNzk3MjU5IHJnPXBhcnR5Cn4jISB0aWQ9MTI0MTUzNjEzMQpBbHNvLi4KaGllciBlaW5tYWwgZGllIHdpY2h0aWdzdGVuIFB1bmt0ZSwgd2FydW0gaWNoIER1dGVuaG9mZW4gYWJzYWdlbiBtdXNzdGU6CjEuKSBkaWUgZmVzdGVuIFVudGVya3VlbmZ0ZSB3dXJkZW4gZG9wcGVsdCBiZWxlZ3QsCjIuKSBlaWdlbmUgVmVyc29yZ3VuZyAoR3JpbGxndXQsIEdldHJhZW5rZSB1bmQgRnJ1ZWhzdHVlY2spIHdhcmVuIG5pY2h0CmVybGF1YnQsCjMuKSBiZWkgVmVyc29yZ3VuZyB1ZWJlciBDYW1waW5ncGxhdHogaGFldHRlIGVpbmUgRmxhc2NoZSBCaWVyIGtuYXBwIDMsMDAgRXVybwpnZWtvc3RldAoKU28gbnVuIGdlaGUgaWNoIG1hbCBhdWYgZGllIEZyYWdlbiB2b24gVmFuaXIgZWluOgotIGRlciBQbGF0eiBsaWVndCBkYSwgd28gaWhuIFZhbmlyIHZlcm11dGV0Ci0gZGllIExhbmRzdHJhc3NlIChEYW1tc3RyYXNzZSkgZ2VodCBhbSBQbGF0eiB2b3JiZWksIGVzIGhhbmRlbHQgc2ljaCBhYmVyCmhpZXIgdW0gZWluZSBuaWNodCBzdGFyayBiZWZhaHJlbmUgU3RyYXNzZQotIGVpbmUgTW9lZ2xpY2hrZWl0IHp1bSBTY2h3aW1tZW4gaXN0IGdlZ2ViZW4sIGFiZXIgbmljaHQgYW0gUGxhdHogc29uZGVybiBpbQpGcmVpYmFkIFdldHpsYXIgb2RlciBIYWxsZW5iYWQgV2V0emxhci4KLSBEaWUgUHJlaXNlIGZ1ZXIgZGllIEJhZWRlciBzaW5kIGltIHVudGVyZW4gQmVyZWljaCBhbmdlc2llZGVsdC4KCkRlc3dlaXRlcmVuIGlzdCBkaWUgTmFlaGUgenVyIEhpc3RvcmlzY2hlbiBBbHRzdGFkdCBnZWdlYmVuLCB1LmEuIG1pdCBkZW0Kb2Vrb21lbmlzY2hlbiBEb20gdW5kIGVpbmlnZW4gTXVzZWVuLCBmdWVyIGRpZSBmcnVlaGVyIGFua29tbWVuZGVuIExldXRlLgpFYmVuZmFsbHMgYmlldGV0IFdldHpsYXIgZWluZSB2aWVsemFobCB2b24ga3VsdHVyZWxsZW4gdW5kIGt1bGluYXJpc2NoZW4KQW5nZWJvdGVuLiBGdWVyIGRpZSBQYXJ0eSBhbSBGcmVpdGFnIHVuZCBTYW1zdGFnIGlzdCBiZXN0ZW5zIHZvbiBtZWluZXIgU2VpdGUKZ2Vzb3JndC4KClNvYmFsZCBpY2ggZGllIFByZWlzZSB1ZWJlcnNjaGxhZ2VuIGhhYmUsIHdlcmRlIG9jaCBLb250b251bW1lciB1bmQgRXVyZW4Ka2xlaW5lbiBQYXJ0eWJlaXRyYWcgYmVrYW5udGdlYmVuLgoKV2VubiBqZXR6dCBub2NoIEZyYWdlbiBhdWZ0YXVjaGVuLCBtZWxkZXQgRXVjaC4KClNyYWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXIgQ2FtcGluZ3BsYXR6IChTcmFiaSwgMTMuIE1haSAyMDA5LCAyMjo1MzowNyk6CkFsc28sCgpkYSBqYSBkaWUgSG9tZXBhZ2UgZGVzIENhbXBpbmdwbGF0emVzIG5pY2h0IGdlcmFkZSBzZWhyIGluZm9ybWF0aXYgaXN0LCBoYWJlCmljaCBoZXV0ZSBkZW4gd2VpdGVuIFdlZyB2b20gRG9tcGxhdHogenVtIENhbXBpbmdwbGF0eiBhdWYgbWljaApnZW5vbW1lbi4uLmltbWVyaGluIGZhc3QgMiBrbS4uLnVuZCBoYWJlIGVpbiBwYWFyIEJpbGRlciBnZW1hY2h0IDotKSkpCgpEaWVzZSBmaW5kZXQgSWhyIHVudGVyOgpodHRwOi8vd3d3LjIzaHEuY29tL1NyYWJpCgpBdWYgZGllIE5hY2hmcmFnZSB2b24gRGVsIGJlenVlZ2xpY2ggZWluZXMgUmF1bWVzIGZ1ZXIgZGllIFBhcnR5IGthbm4gaWNoCnZlcmt1ZW5kZW4sIGRhcyB3aXIgZWluZW4gUmF1bSBhdWYgZGVtIENhbXBpbmdwbGF0eiB6dXIgVmVyZnVlZ3VuZyBnZXN0ZWxsdApiZWtvbW1lbiwgd2VubiB3aXIgZGllc2VuIGhhYmVuIHdvbGxlbi4uLktvc3RlbiBmdWVyIGRlbiBSYXVtOiAwLDAwIEV1cm8uCgpTbyBkYXMgd2FyIGVyc3QgbWFsIGRhcyBuZXVlc3RlIGF1cyBXZXR6bGFyLgpTbyBkYXMgd2FyIGVyc3QgbWFsIGRhcyBuZXVlc3RlIGF1cyBXZXR6bGFyLgpTcmFiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgaW4gV2V0emxhciAoU3JhYmksIDE4LiBNYWkgMjAwOSwgMTY6NDM6MzYpOgpIdWh1Li4uCmdlc3Rlcm4gaGFiZSBpY2ggZXJmYWhyZW4sIGRhcyBpbiBkZXIgUGFydHl3b2NoZSBpbiBXZXR6bGFyIGRhcyBXZWluZmVzdCBhbQpTY2hpbGxlcnBsYXR6IHN0YXR0ZmluZGV0LiBBYiBEb25uZXJzdGFnIGhhYmVuIGRpZSBMZXV0ZSwgZGllIHNjaG9uIGluIFdldHpsYXIKc2luZCwgYmVpIE11c2lrIHVuZCBnZW11ZXRsaWNoZXIgQXRtb3NwaGFlcmUgZGFzIGVpbmUgb2RlciBhbmRlcmUgR2xhcyBXZWluIHp1CnRyaW5rZW4uCgpBdWNoIG11c3MgaWNoIEV1Y2ggbm9jaCBlaW5tYWwgYml0dGVuLCBFdWNoIGF1ZiBkZW4gUGFydHlicmV0dGVybiBhbnp1bWVsZGVuLApkZW5uIGljaCBicmF1Y2hlIGZ1ZXIgZGVuIENhbXBpbmdwbGF0eiBlaW5lIHVuZ2VmYWVocmUgWmFobCBkZXIgVGVpbG5laG1lci4KCkxpZWJlIEdydWVzc2UKU3JhYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IGluIFdldHpsYXIgKFNyYWJpLCAyNy4gTWFpIDIwMDksIDIyOjE3OjUwKToKU28uLi4KCm51biBzaW5kIGVzIG5vY2gga25hcHAgc2llYmVuIFdvY2hlbiBiaXMgenVyIFBhcnR5IHVuZCBkZXIgU3RhbmQgaXN0LCBlcyBoYWJlbgpzaWNoIDE4IExldXRlIGFuZ2VtZWxkZXQuIEJpcyB6dW0gRW5kZSBKdW5pIGJyYXVjaGUgaWNoIGRpZSB1bmdlZmFlaHJlClRlaWxuZWhtZXJ6YWhsIGZ1ZXIgZGVuIENhbXBpbmdwbGF0ei4gRGFoZXIgbWVsZGV0IEV1Y2ggZG9jaCBiaXR0ZSBiaXR0ZSBhbgo6LSkpCgpGdWVyIGRpZSBMZXV0ZSwgZGllIHNjaG9uIGFtIE1vbnRhZyBrb21tZW4sIGthbm4gaWNoIGVpbiBncm9zc2VzIGt1bHR1cmVsbGVzClByb2dyYW1tIHBsYW5lbiwgYWJlciBhdWNoIHNwb3J0bGljaGUgTW9lZ2xpY2hrZWl0ZW4gc2luZCBnZWdlYmVuLgoKSW4gY2EgMSBiaXMgMiBXb2NoZW4gd2VyZGUgaWNoIGRpZSBLb250b251bW1lciB1bmQgZGVuIEJldHJhZwp2ZXJvZWZmZW50bGljaGVuLCBkYW1pdCBpY2ggZGVuIFJlc3QgZGFubiBkdXJjaHBsYW5lbiBrYW5uLgoKSWhyIHdlcmRldCBoaWVyIGluIFdldHpsYXIgZWluZSB1bnZlcmdlc3NsaWNoZSBXb2NoZSBvZGVyIGVpbiB1bnZlcmdlc3NsaWNoZXMKV29jaGVuZW5kZSBlcmxlYmVuLgoKR3J1c3MKSGV4ZW5tZWlzdGVyIFNyYWJpIHZvbiBBbmdtYXIgKFBhcnR5LUNoZWZwbGFuZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb21tZXJwYXJ0eSBXZXR6bGFyIChTcmFiaSwgMTUuIEp1biAyMDA5LCAxNTo0NDoyMyk6ClNlcnZ1cywKCnNvZWJlbiBoYWJlIGljaCBhbiBkaWUgYW5nZW1lbGRldGVuIFRlaWxuZWhtZXIgZGVyIFNvbW1lcnBhcnR5IGVpbmUgTWFpbApnZXNjaHJpZWJlbi4gRG9ydCBmaW5kZXQgSWhyIEtvbnRvbnVtbWVyIHVuZCB3ZWl0ZXJlIEhpbndlaXNlLCBkaWUgaW4gZGVyIG1wYQpuaWNodHMgenUgc3VjaGVuIGhhYmVuLgoKRGVyIEJldHJhZyB2b24gMzAsMDAgYmVpbmhhbHRldCBudXIgZGllIFZlcnBmbGVndW5nLCBhYmVyIE5JQ0hUIGRpZQpVZWJlcm5hY2h0dW5nc2tvc3Rlbi4gRGEgSWhyIGFsbGUgenUgdW50ZXJzY2hpZWRsaWNoZW4gVGFnZW4gYW5rb21tdCwgbXVlc3N0ZQpkYXMgZnVlciBqZWRlbiBlaW56ZWxuZW4gaW5kaXZpZHVlbGwgZXJyZWNobmV0IHdlcmRlbi4gV2VubiBJaHIgZGllcyB3b2xsdCwKbGFzc3QgZXMgbWljaCB3aXNzZW4uCgpEZXN3ZWl0ZXJlbiBoYWJlIGljaCBaZXNzdHJhIGRhcnVtIGdlYmV0ZW4sIGRpZSBCYW5rdmVyYmluZHVuZyBkZW0gUGFydHlicmV0dApiZWl6dWZ1ZWdlbi4KClNvbGx0ZSB2b24gZGVuIDMwLDAwIGV0d3MgdWViZXIgYmxlaWJlbiwgd2VyZGUgaWNoIGRpZXMgYW0gU29ubnRhZywgZGVuCjI2LjA3LjA5IGFuIGF1Y2ggd2llZGVyIGF1c3phaGxlbi4KCkdlcm5lIGJlYW50d29ydGUgaWNoIEV1cmUgRnJhZQoKU3JhYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSBXZXR6bGFyIChab29rLCAxNS4gSnVuIDIwMDksIDE2OjA1OjA2KToKfiMhIHJuPVNyYWJpIHJ0PTEyNDUwNzM0NjMgcmc9cGFydHkKfiMhIHRpZD0xMjQ1MDczNDYzClVlYmVybmFjaHR1bmcgaXN0IGRvY2ggYW0gc2lubnZvbGxzdGVuLCB3ZW5uIGRhcyBqZWRlciBzZWxic3QgbWl0IApkZW0gQ2FtcGluZ3BsYXR6IGFia2xhZXJ0IHVuZCBiZXphaGx0LCBvZGVyPyBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSBXZXR6bGFyIChHbG9pbnNvbiwgMTUuIEp1biAyMDA5LCAxNjoxNjo1Nik6Cn4jISBybj1ab29rIHJ0PTEyNDUwNzQ3MDYgcmc9cGFydHkKfiMhIHRpZD0xMjQ1MDczNDYzCkhhdCBzaWNoIGJpc2hlciBiZXdhZWhydC4gQUZBSVIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb21tZXJwYXJ0eSBXZXR6bGFyIChBcmssIDE1LiBKdW4gMjAwOSwgMTc6Mjc6NTMpOgp+IyEgcm49Wm9vayBydD0xMjQ1MDc0NzA2IHJnPXBhcnR5Cn4jISB0aWQ9MTI0NTA3MzQ2MwpBbHNvIHdlbm4gaWNoIGRhcyBzZWxic3Qga2xhZXJlbiBrYW5uLCBzdWNoIGljaCBtaXIgZWluZSB6ZW1lbnRpZXJ0ZSBCbGVpYmUgaW4KZGVyIE5hZWhlIGZ1ZXIgYmVpZGUgVGFnZS4gSWNoIGJpbiBtaXR0bGVyd2VpbGUgZWluIHZlcnNhdXRlciBEcmVnZ3NlZ2dsLCBkZXIKbmljaHQgbWl0IFJ1ZWNrZW5zY2htZXJ6ZW4gdW5kL29kZXIgUnVlYmVud2VoIGhlcnVtbGF1ZmVuIHdpbGwsIHdlbm4gYW0gTW9udGFnCkFyYmVpdCBkcm9odCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSBXZXR6bGFyIChHbG9pbnNvbiwgMTUuIEp1biAyMDA5LCAxNzozMDo1Nik6Cn4jISBybj1BcmsgcnQ9MTI0NTA3OTY3MyByZz1wYXJ0eQp+IyEgdGlkPTEyNDUwNzM0NjMKV2VubiBkdSBnZW51ZyBHZWxkIGZ1ZXIgPGZlc3RlIEJsZWliZT4gaGFzdCwgZGFubiBrYXVmIGRpciBkb2NoIGVpbmZhY2ggbWFsCmVpbmUgb3JkZW50bGljaGUgU2NobGFmdW50ZXJsYWdlIGZ1ZXIgPG1vYmlsZSBCbGVpYmU+LiBLb21tdCBhdWNoIG5pY2h0IHZpZWwKdGV1cmVyICgzLjUgY20gc2VsYnN0YXVmYmxhc2VuZGUgSXNvbWF0dGUgcmVpY2h0IGZ1ZXIgYWx0ZSBMZXV0ZSBtZWlzdCBzY2hvbiwKNSBjbSBpc3QgZnVlciBnYW56IGFsdGUgTGV1dGUpLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluZm9ybWF0aXZlcyBmdWVyIGRpZSBaZWl0IHZvciBkZXIgUGFydHkgKFNyYWJpLCAxNy4gSnVuIDIwMDksIDEwOjU5OjMxKToKU2VydnVzLApkYSBqYSBkaWUgbWVpc3RlbiB2b24gRXVjaCBzY2hvbiBhbSAyMC4wNy4wOSBuYWNoIFdldHpsYXIga29tbWVuLCBnaWJ0IGVzIGhpZXIKbWFsIGVpbiBwYWFyIEluZm9ybWF0aW9uZW4sIGt1bHR1cmVsbGVyIHVuZCBzcG9ydGxpY2hlciBBcnQsIHdhcyBJaHIKVW50ZXJuZWhtZW4ga29lbm50OgoKMS4pIFJlaWNoc2thbW1lcmdlcmljaHRzbXVzZXVtICh3d3cucmVpY2hza2FtbWVyZ2VyaWNodC5kZSkKMi4pIExvdHRlaGF1cyAod2VyIEdvZXRoZSBrZW5udCwga2VubnQgYXVjaCBMb3R0ZS0tPj5DaGFybG90dGUgQnVmZikKMy4pIEplcnVzYWxlbWhhdXMKNC4pIFN0YWR0LSB1bmQgSW5kdXN0cmllbXVzZXVtCgpBbGxlIEluZm9ybWF0aW9uZW4genUgZGVuIE11c2VlbiBmaW5kZXQgSWhyIGF1ZiBkZXIgU2VpdGUgd3d3LndldHpsYXIuZGUsCnNvd2llIGRpZSBQcmVpc2UgdW5kIGRpZSBPZWZmbnVuZ3N6ZWl0ZW4uClp1ZGVtIGdpYnQgZXMgbm9jaCBlaW4gYWx0ZXMgRXJ6YmVyZ3dlcmsgenUgYmVzaWNodGlnZW4gKGFsbGVyZGluZ3MgbnVyIGZ1ZXIKRm9yc2NoZXIgdW50ZXIgRXVjaC4uLk1ldHpsZXIgd2VyZGUgZGEgbmljaHRzIGZpbmRlbikKSGllciBoYW5kZWx0IGVzIHNpY2ggdW0gZGllIEdydWJlIEZvcnR1bmEuLi4oaHR0cDovL3d3dy5ncnViZS1mb3J0dW5hLmRlKQoKWnVkZW0gaGF0IFdldHpsYXIgZWluZSB3ZWl0ZXJlIFNlbHRlbmhlaXQgenUgYmlldGVuLCBkZW4gRG9tIHp1IFdldHpsYXIKKGh0dHA6Ly93d3cuZG9tLXdldHpsYXIuZGUpLgotIGRlciBEb20gaXN0IE9la3VtZW5pc2NoIChrYXRob2xpc2NoIHVuZCBldmFuZ2VsaXNjaCkKLSBkZXIgRG9tIHd1cmRlIGluIGRyZWkgQmF1ZXBvY2hlbiBnZWJhdXQKCkZ1ZXIgZGllIFNwb3J0bGVyIHVudGVyIEV1Y2ggZ2lidCBlcyBlaW5lbiBIb2Noc2VpbC1LbGV0dGVycGFyY291ciwgYWJlciBhdWNoCm5lbiBUYWcgYXVmIGRlciBMYWhuIHNjaGlwcGVybiBrYW5uIHNlaHIgdmllbCBTcGFzcyBtYWNoZW4uCgpTZWl0IGVpbmlnZW4gTW9uYXRlbiBnaWJ0IGVzIGF1Y2ggZGVuIHNvZ2VuYW5udGVuIE9wdGlrLVBhcmNvdXJzCihXZXR6bGFyLVN0YWR0IGRlciBPcHRpaykKCldlbm4gSWhyIHp1IHZlcnNjaGllZGVuZW4gQW5nZWJvdGVuIEZyYWdlbiBoYWJ0LCB3ZW5kZXQgRXVjaCBhbiBtaWNoLCB0b2J0CkV1Y2ggaW4gV2V0emxhciBhdXMgdW5kIHJ1ZXN0ZXQgRXVjaCBmdWVyIGRpZSBQYXJ0eSBhbSBTYW1zdGFnIDotKQoKU3JhYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvbW1lcnBhcnR5IFdldHpsYXIgKERhcmtsb3IsIDIxLiBKdW4gMjAwOSwgMDE6Mjc6MjMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0NTA3OTg1NiByZz1wYXJ0eQp+IyEgdGlkPTEyNDUwNzM0NjMKV3VlcmRlIGVzIGZ1ZXIgLyB3ZWdlbiBLdXJ6ZW50c2NobG9zc2VuZW4genUgUHJvYmxlbWVuIGtvbW1lbj8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcnBhcnR5IFdldHpsYXIgKEdsb2luc29uLCAyMi4gSnVuIDIwMDksIDExOjM3OjM2KToKfiMhIHJuPURhcmtsb3IgcnQ9MTI0NTU0MDQ0MyByZz1wYXJ0eQp+IyEgdGlkPTEyNDUwNzM0NjMKSmEsIGRpZSBiZWtvbW1lbiBuaWNodHMgdm9uIG1laW5lbSBCaWVyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvbW1lcnBhcnR5IFdldHpsYXIgKFpvb2ssIDIyLiBKdW4gMjAwOSwgMTE6Mzk6MzkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0NTY2MzQ1NiByZz1wYXJ0eQp+IyEgdGlkPTEyNDUwNzM0NjMKQWgsIHdlbm4gR2xvaW5zb24gYXVjaCBrb21tdCwga29lbm50IGljaCBpaG0gamEgZW5kbGljaCBkaWUgRmxhc2NoZQpLdWVtbWVsIHVlYmVycmVpY2hlbi4gWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU29tbWVycGFydHkgV2V0emxhciAoR2xvaW5zb24sIDIyLiBKdW4gMjAwOSwgMTE6NDQ6NDgpOgp+IyEgcm49Wm9vayBydD0xMjQ1NjYzNTc5IHJnPXBhcnR5Cn4jISB0aWQ9MTI0NTA3MzQ2MwpEdT8hIEJpc3Q/ISBJbj8xIFdldHpsYXI/ISEKCk9oLCBkYXMgd2lyZCBEcmFodGJlZW4gYWJlciBmcmV1ZW4sIG1pbmRlc3RlbnMgZWluZSBGbGFzY2hlIEt1ZW1tZWwgdm9yZmluZGVuCnp1IGtvZW5uZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTb21tZXJwYXJ0eSBXZXR6bGFyIChab29rLCAyMi4gSnVuIDIwMDksIDExOjQ1OjIyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDU2NjM4ODggcmc9cGFydHkKfiMhIHRpZD0xMjQ1MDczNDYzCktlbm5zdCBEdSAicGFydHlsaXN0ZSI/IDspICpnKgoKWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU29tbWVycGFydHkgV2V0emxhciAoR2xvaW5zb24sIDIyLiBKdW4gMjAwOSwgMTE6NTQ6MDYpOgp+IyEgcm49Wm9vayBydD0xMjQ1NjYzOTIyIHJnPXBhcnR5Cn4jISB0aWQ9MTI0NTA3MzQ2MwpJY2ggcGFyc2UgZGllIGVoZXIgdW5yZWdlbG1hZXNzaWcgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogU29tbWVycGFydHkgV2V0emxhciAoR2xvaW5zb24sIDMwLiBKdW4gMjAwOSwgMjI6MzA6MDkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0NTY2NDQ0NiByZz1wYXJ0eQp+IyEgdGlkPTEyNDUwNzM0NjMKSWNoIHJ1ZmUgaGllcm1pdCB6dW0gZXJzdGVuIGludGVybXVkdGlvbmFsZW4gQWJydWVzdHVuZ3NnaXBmZWwgZ2VnZW4KQnVncHJvZHVrdGlvbiB1bmQgR3Jvc3N2ZXJibHV0d3Vyc3R1bmdlbiBhdWYuIERpZSBHZXNwcmFlY2hlIHdlcmRlbiBpbiBXZXR6bGFyCmVyb2VmZm5ldC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU29tbWVycGFydHkgV2V0emxhciAoWm9vaywgIDEuIEp1bCAyMDA5LCAwOTo1NzozNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQ2MzkzODA5IHJnPXBhcnR5Cn4jISB0aWQ9MTI0NTA3MzQ2MwpHaWJ0IGVzIGVpbmUgUmVkbmVybGlzdGU/CloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTb21tZXJwYXJ0eSBXZXR6bGFyIChHbG9pbnNvbiwgIDEuIEp1bCAyMDA5LCAxNDoxNzoxMCk6Cn4jISBybj1ab29rIHJ0PTEyNDY0MzUwNTcgcmc9cGFydHkKfiMhIHRpZD0xMjQ1MDczNDYzCldpciBlcm5lbm5lbiBkaWNoIGhpZXJtaXQgenVtIFZvcnNpdHplbmRlbi4gU3RlbGwgbWFsIHp1c2FtbWVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTb21tZXJwYXJ0eSBXZXR6bGFyIChab29rLCAgMS4gSnVsIDIwMDksIDE4OjAxOjIzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDY0NTA2MzAgcmc9cGFydHkKfiMhIHRpZD0xMjQ1MDczNDYzClplc3N0cmEga29lbm50ZSB1ZWJlciBkaWUgYWt0dWVsbCBnZWx0ZW5kZW4gR3VpZGVsaW5lcyBmb3IgUHJvZ3JhbW1pbmcKaW4gTFBNdWQgcmVmZXJpZXJlbi4gQW5zY2hsaWVzc2VuZCBibGVuZGVuIHdpciBlaW5lIFZpZGVvLUJvdHNjaGFmdCB2b24KU2hlcmlmZmluZSBBbWFyeWxsaXMgZWluLCB3YXMgbWl0IGRlbmVuIHBhc3NpZXJ0LCBkaWUgc2ljaCBuaWNodCBkYXJhbgpoYWx0ZW4uIFVuZCBkaWUgZ3JvZXNzdGUgUGZsYXVtZSB2ZXJzZW5rZW4gd2lyIHZvciBhbGxlciBBdWdlbiBpbiBkZXIgTGFobi4KCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBTb21tZXJwYXJ0eSBXZXR6bGFyIChBbWFyeWxsaXMsICAxLiBKdWwgMjAwOSwgMjA6NDY6NDgpOgp+IyEgcm49Wm9vayBydD0xMjQ2NDY0MDgzIHJnPXBhcnR5Cn4jISB0aWQ9MTI0NTA3MzQ2MwpBdWphIDspCgpBbWEqLCBkYWJlaSBiencuIGF1Y2ggbmljaHQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlZGFyZiBmdWVyIEt1ZWhsYm94PyAoWmVzc3RyYSwgMTQuIEp1bCAyMDA5LCAxNDoxMjo0Mik6Ckh1aHUsCgppbiBkZW4gbGV0enRlbiBKYWhyZW4gaGF0dGUgaWNoIGltIFNvbW1lciBpbW1lciBuZSBFbGVrdHJva3VlaGxib3ggKyBOZXR6dGVpbAptaXRnZWJyYWNodCwgZGllIHdpciBpbiBlaW4gZ3Jvc3NlcyBaZWx0IGdlc3RlbGx0IHVuZCBnZW1laW5zY2hhZnRsaWNoIGZ1ZXIKRnJ1ZWhzdHVlY2tza3JhbXMgZ2VudXR6dCBoYWJlbi4gRGEgamEgaW4gV2V0emxhciBlaW5pZ2UgTGV1dGUgaW4gV29obm1vYmlsZW4KdWViZXJuYWNodGVuOiBCcmF1Y2hlbiB3aXIgc29uIERpbmcgZGFubiB1ZWJlcmhhdXB0PyBIaW50ZXJncnVuZCBtZWluZXIgRnJhZ2UKaXN0LCBkYXNzIGljaCAyLjUgV29jaGVuIHVudGVyd2VncyBiaW4gdW5kIGRpZSBLdWVobGJveCBhbiBhbGxlbiBhbmRlcmVuIE9ydGVuCm51ciBQbGF0eiB3ZWduZWhtZW4gd3VlcmRlLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZWRhcmYgZnVlciBLdWVobGJveD8gKEh1bW5pLCAxNC4gSnVsIDIwMDksIDE1OjQ0OjUxKToKfiMhIHJuPVplc3N0cmEgcnQ9MTI0NzU3MzU2MiByZz1wYXJ0eQp+IyEgdGlkPTEyNDc1NzM1NjIKSGFiIGljaCBuaWNodCBhdWNoIG5vY2ggc28gZWluZSBLdWVobGJveD8gVW5kIGhhdHRlc3QgRHUgZGllIG5pY2h0IHVtZ2ViYXV0PwpPZGVyIHNvPyBJY2ggZmFlbmRlIGVpbmUgS3VlaGxib3ggKG9kZXIgc28pIGF1ZiBqZWRlbiBGYWxsIHByYWt0aXNjaC4gQWJlciBpY2gKa2FubiBhdWNoIHZlcnN1Y2hlbiwgbWVpbmUgbWl0enVicmluZ2VuLgoKSHVtbmkgd2lsbCBrdWVobGVzIEJpZXIgOy0pClBTOiBKYWphLiBEYSBrb21tdCBkYW5uIHdpZWRlciBkZXIgRnJ1ZWhzdHVlY2tza3JhbSByZWluLiBJY2ggd2Vpc3MsIGljaAp3ZWlzcy4gVW5kIGljaCBrcmllZyB3YXJtZXMgQmllci4gRWdhbC4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlZGFyZiBmdWVyIEt1ZWhsYm94PyAoWmVzc3RyYSwgMTQuIEp1bCAyMDA5LCAxNjowMzoxMyk6Cn4jISBybj1IdW1uaSBydD0xMjQ3NTc5MDkxIHJnPXBhcnR5Cn4jISB0aWQ9MTI0NzU3MzU2MgpKYSwgZ2VuYXUsIGRhIGhhdHRlIGljaCBtYWwgZGFzIEthYmVsIGV0d2FzIHVtZ2ViYXV0LCBkYXNzIHdpciBlcyBhbiBtZWluZW0KbmV0enRlaWwgYmV0cmVpYmVuIGtvbm50ZW4sIHdpciBoYXR0ZW4gZGEgaW1tZXIgYmVpZGUgaW4gQmV0cmllYi4gTmEsIGljaCBrYW5uCmphIG1hbCBtZWluZSBHZXBhZWNrcGxhbnVuZyBmZXJ0aWdtYWNoZW4gdW5kIGRhbm4gYW0gRW5kZSBzY2hhdWVuLCB3aWUgZXMgaW0KQXV0byBhdXNzaWVodC4KRnVlciBCaWVyIHNpbmQgZGllIERpbmdlciB1bnByYWt0aXNjaCwgd2VpbCBpaHJlIEt1ZWhsbGVpc3R1bmcgbWl0IGNhLiA2MC03MFcKZWhlciBiZXNjaGVpZGVuIGlzdC4gSWNoIGRlbmtlLCB3aXIgd2VyZGVuIGJlc3NlcmUgRXJnZWJuaXNzZSBlcnppZWxlbiwgd2Vubgp3aXIgbmUgS2lzdGUgaW4gZGVyIExhaG4gdmVyc2Vua2VuIChuYXR1ZXJsaWNoIHNvLCBkYXNzIHNpZSBzdGF0aW9uYWVyIGJsZWlidAp1bmQgd2lyIHNpZSB3aWVkZXJmaW5kZW4pLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJlZGFyZiBmdWVyIEt1ZWhsYm94PyAoU2hha2VkYmVlciwgMTQuIEp1bCAyMDA5LCAxNjo0NzozNyk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyNDc1ODAxOTMgcmc9cGFydHkKfiMhIHRpZD0xMjQ3NTczNTYyCldvYmVpIGljaCBuaXggZ2VnZW4gTGFobi1TY2h1ZXR0ZWxiaWVyIGhhZXR0ZS4gOy0pCgpTaGFreSAtIGhhdCBnZXJhZGUgTGljaHQtRXF1aXBtZW50IGJlc29yZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2h1ZXR0ZWxiaWVyIHVuZCBLdWVobHR1aGUgKFNyYWJpLCAxNC4gSnVsIDIwMDksIDE3OjEyOjI4KToKQWxzby4uLgpBbHNvLi4uClplc3N0cmE6IER1IGthbm5zdCBEZWluZSBLdWVobGJveCB6dWhhdXNlIHN0ZWhlbiBsYXNzZW4sIGRpZSBLdWVobHNjaHJhZW5rZQpkZXIgV29obndhZ2VuIHVuZCBkZXIgYmVpIGRlbSBQYXJ0eXJhdW0gZGFiZWkgaXN0LCByZWljaGVuIGtvbXBsZXR0IGF1cy4gClNoYWtlZGJlZXI6IG5laW4gZHUgYmVrb21tc3Qga2VpbiB3YXJtZXMgIkxhaG4tU2NodWV0dGVsYmllciIuIAoKR3J1c3MgU3JhYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2h1ZXR0ZWxiaWVyIHVuZCBLdWVobHR1aGUgKEh1bW5pLCAxNS4gSnVsIDIwMDksIDAxOjA2OjUwKToKfiMhIHJuPVNyYWJpIHJ0PTEyNDc1ODQzNDggcmc9cGFydHkKfiMhIHRpZD0xMjQ3NTg0MzQ4CkljaCBicmluZ2UgZWluZmFjaCBlaW4gcGFhciBXZWl6ZW4gbWl0LCBkaWUgc2NodWV0dGVsbiB3aXIgZGFubiB1bmQgdHJpbmtlbgpzaWUuIE5laW4sIHNpZSB3ZXJkZW4gbmljaHQgZ2VydWVocnQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2h1ZXR0ZWxiaWVyIHVuZCBLdWVobHR1aGUgKEdsb2luc29uLCAxNS4gSnVsIDIwMDksIDAxOjM2OjE2KToKfiMhIHJuPUh1bW5pIHJ0PTEyNDc2MTI4MTAgcmc9cGFydHkKfiMhIHRpZD0xMjQ3NTg0MzQ4Cldlbm4gZHUgbWVpbiBXZWl6ZW4gc2NodWV0dGVsc3QsIGRhbm4gcnVlaHIgaWNoIGRpciBkZWluZSBHZXJzdGUhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaHVldHRlbGJpZXIgdW5kIEt1ZWhsdHVoZSAoU2hha2VkYmVlciwgMjAuIEp1bCAyMDA5LCAxNjoyNTozMSk6Cn4jISBybj1TcmFiaSBydD0xMjQ3NTg0MzQ4IHJnPXBhcnR5Cn4jISB0aWQ9MTI0NzU4NDM0OApNaXR0d29jaCBydWVjaHQgbmFlaGVyLi4uCgpGdWVyIGFsbGUgTmljaHRjYW1wZXIgd2VyZGUgaWNoIGdlbGVnZW50bGljaCBkaWUgU3RpbW11bmcgZWluZmFuZ2VuIHVuZCBpbiAxNDAKWmVpY2hlbiBxdWV0c2NoZW4sIHVtIHNpZSBhdWYgdHdpdHRlci5jb20vc2hha2VkYmVlciBmdWVyIGV1Y2ggZ3JlaWZiYXIgenUKbWFjaGVuLiBWaWVsbGVpY2h0IGdpYnQgZXMgZGEgYXVjaCBlcnN0ZSBGb3Rvcy4gOy0pCgpCYXJkZSBTaGFreSAtIGluIGJlc3RlciBTdGltbXVuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChDYXNzYW5kcmEsIDI2LiBKdWwgMjAwOSwgMTY6Mjk6NDIpOgpFaW4gZ3Jvc3NlbiBEYW5rZSBmdWVyIGRpZSBQYXJ0eSB1bmQgZGllIGd1dGUgT3JnYW5pc2F0aW9uLgoKQ2Fzc3ksIGhvZmZ0IGF1ZiB3aWVkZXJob2x1bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoTWlyaWwsIDI2LiBKdWwgMjAwOSwgMTg6Mzc6MzIpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEyNDg2MTg1ODIgcmc9cGFydHkKfiMhIHRpZD0xMjQ4NjE4NTgyCkF1Y2ggdm9uIG1pciBlaW4gRGFua2VzY2hvZW4gZnVlciBkaWUgZ2VsdW5nZW5lIE9yZ2FuaXNhdGlvbi4gRXMgaGF0IHZpZWwKU3Bhc3MgZ2VtYWNodCB1bmQgd2lyIGhhYmVuIHNvZ2FyIG5lYmVuIGRlbSBDYW1waW5ncGxhdHogdW5kIGRlbiBCb2VkZW4gdm9uCmxlZXJlbiBCaWVyZmxhc2NoZW4gbm9jaCB3YXMgdm9uIGRlciBVbWdlYnVuZyBnZXNlaGVuIHVuZCB1bnMgYW4gZGl2ZXJzZW4KU3RlbGxlbiBmb3J0Z2ViaWxkZXQuCgpCbG9zcyBSTC1RdWVzdGdlc3RhbHR1bmcgbXVzc3QgRHUgbm9jaCBldHdhcyB1ZWJlbiwgc3BlemllbGwgZGFubiwgd2VubiBTaGFreQptaXQgZGFiZWkgaXN0IDspLgoKLi4uLgpKYSB2b24gU2hha3ktSXNsYW5kIGtvbW1lbiB3aXIKdW5kIHdpciBzY2h1bW1lbG4gbm9jaCBiZXNzZXIgYWxzIGlociAuLi4uCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoSHVtbmksIDI2LiBKdWwgMjAwOSwgMTk6MjM6MzgpOgp+IyEgcm49TWlyaWwgcnQ9MTI0ODYyNjI1MiByZz1wYXJ0eQp+IyEgdGlkPTEyNDg2MTg1ODIKSWNoIG1hZyBtaWNoIGRhbm4gbWFsIGFuc2NobGllc3NlbiB1bmQgbWljaCBhdWNoIGJlZGFua2VuLiBVbmQgZWluIGtsZWluZXIKQmVyaWNodCB2b24gZGVyIEtvdHplcml0aXMtRnJvbnQ6IEVzc2VuIGdlaHQgc2Nob24gd2llZGVyLCBhbHNvIHdlbm4gaWhyIEV1Y2gKYXVjaCBkZW4gdmVybXV0bGljaGVuIFZpcnVzIGVpbmdlZmFuZ2VuIGhhYnQ6IE9mZmVuYmFyIGhhbGIgc28gd2lsZC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoWHV0ZWxpdXMsIDI2LiBKdWwgMjAwOSwgMTk6NDI6MzYpOgp+IyEgcm49SHVtbmkgcnQ9MTI0ODYyOTAxOCByZz1wYXJ0eQp+IyEgdGlkPTEyNDg2MTg1ODIKTW9pbiwKaWNoIHNjaGxpZXNzIG1pY2ggZGVtIERhbmsgZWluZmFjaCBtYWwgYW4sIGVzIGhhdCByaWNodGlnIFNwYXNzIGdlbWFjaHQuClVuZCBpbW1lciBkcmFuIGRlbmtlbiwgR29vZ2xlIGlzdCBkZWluIEZyZXVuZC4gOy0pClh1dCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChNYWhhcmV0LCAyNi4gSnVsIDIwMDksIDIxOjA2OjMwKToKfiMhIHJuPVh1dGVsaXVzIHJ0PTEyNDg2MzAxNTYgcmc9cGFydHkKfiMhIHRpZD0xMjQ4NjE4NTgyCkF1Y2ggdm9uIG1pciBlaW4gZGlja2VzIERhbmtlc2Nob2VuIGZ1ZXIgZGllIHRvbGxlIFctTGFobi1QYXJ0eS4gTWVzaSBoYXQgc2ljaAphdWNoIGF1c2dla290enQgdW5kIGlzdCBtaXR0bGVyd2VpbGUgd2llZGVyIGluIGRlciBMYWdlLCB3YXMgenUgZXNzZW4uIE9iIGVzCmRyaW5uZW5ibGVpYnQsCmZ0CndzCm11c3Mgc2ljaCBub2NoIHplaWdlbiA7KQpKZXR6dCBmYWxsIGljaCBhYmVyIGVyc3RtYWwgaHVuZGVtdWVkZSBpbnMgQmV0dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChNYWhhcmV0LCAyNi4gSnVsIDIwMDksIDIxOjA3OjA3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTI0ODYzNTE5MCByZz1wYXJ0eQp+IyEgdGlkPTEyNDg2MTg1ODIKU2VsbWEgaGF0IG1pdGdldGlwcHQsIGRhaGVyIGRpZSBrb21pc2NoZW4gWndpc2NoZW56ZWljaGVuLiBTY2hlaW50IG5lCkthZW1wZmVyaW4genUgd2VyZGVuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGFua2UgZnVlciBkaWUgdG9sbGUgUGFydHkgKFNoYWtlZGJlZXIsIDI2LiBKdWwgMjAwOSwgMjE6MTY6MDgpOgp+IyEgcm49TWFoYXJldCBydD0xMjQ4NjM1MjI3IHJnPXBhcnR5Cn4jISB0aWQ9MTI0ODYxODU4MgpKYSwgZGFzIHdhciBtYWwgZWluZSBzdXBlciBQYXJ0eS4gSGFiZSBtaWNoIGtvZXN0bGljaCBhbXVlc2llcnQuIEJlc3RlbiBEYW5rCmFuIGRpZSBPcmdhISBNZWluZSBCaWxkZXIga29tbWVuIGF1Y2ggYmFsZC4gSGFiZSBhYmVyIHZvcmhlciBub2NoIGVpbmlnZXMgYXVmClRvRG86CjEpIFJhZXViZXIgSG90emVucGxvdHogenVlbmRlc2NoYXVlbgoyKSBXZXJmdC1UcmFpbGVyIGJhdWVuIChzaWVoZSB0d2l0dGVyLmNvbS9zaGFrZWRiZWVyKQozKSBDaGFvdGVuZ29ibGluIGVyc3RlbGxlbiB1bmQgaG9jaHNwaWVsZW4KNCkgTWlyIGFiZ2V3b2VobmVuLCBhbGxlcyBlcnN0bWFsIGJlaSBHdWxhaHIgenUgc3VjaGVuCjUpIE1laW5lbiBuYWVjaHRsaWNoZW4gR2VzYW5nc3NraWxsIHZlcmJlc3Nlcm4gKHNpZWhlIGViZW5mYWxscyB0d2l0dGVyKQo2KSBXZWl0ZXJlIExpZWRlcnN0cm9waGVuIHRleHRlbgo3KSBpUGhvbmUgbmFjaCBkZXIgR29vZ2xlLVJhbGx5ZSB3aWVkZXIgdm9sbCBsYWRlbgo8U0NITklQUD4KMTY3NSkgUEdJIGZlcnRpZyBiYXVlbgoxNjc2KSBUYXJhbWlzIGZvcnNjaGVuCgpCaXMgZGllIFRhZ2UhClNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGFua2UgZnVlciBkaWUgdG9sbGUgUGFydHkgKENoYWdhbGwsIDI2LiBKdWwgMjAwOSwgMjE6MjU6MTUpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMjQ4NjM1NzY4IHJnPXBhcnR5Cn4jISB0aWQ9MTI0ODYxODU4MgpBdWNoIHZvbiBtaXIgZWluIERhbmtlc2Nob2VuIGZ1ZXIgZGllIFBhcnR5LiBXYXIgd2lya2xpY2ggYWxsZXMgc3VwZXIsIHdlbm4KYXVjaCBlaW4gd2VuaWcgZnJpc2NoIGltIFdvaG53YWdlbi4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoTWFoYXJldCwgMjYuIEp1bCAyMDA5LCAyMjoyNTozOCk6Cn4jISBybj1DaGFnYWxsIHJ0PTEyNDg2MzYzMTUgcmc9cGFydHkKfiMhIHRpZD0xMjQ4NjE4NTgyCkhleSwgZHUgaGF0dGVzdCBkb2NoIG5lbiBBcmsgenVtIGt1c2NoZWxuIQpEdSBoYWV0dGVzdCBiZWkgdW5zIGFiZXIgYXVjaCBlaW4gb2RlciB6d2VpIERlY2tlbiBrcmllZ2VuIGtvZW5uZW4uIE9kZXIgYmVpCkd1bGFoci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChBcmssIDI2LiBKdWwgMjAwOSwgMjM6NDg6NTkpOgp+IyEgcm49TWFoYXJldCBydD0xMjQ4NjM5OTM4IHJnPXBhcnR5Cn4jISB0aWQ9MTI0ODYxODU4MgpOaXggZGEhIE1laW5lIERlY2tlLCB6dW1pbmRlc3QgZnVlciBlaW5lIE5hY2h0LiBEYW5rZSBhdWNoIHZvbiBtaXIsIGZ1ZXIgZGllCnJhbmRhbGllcmVuZGVuIFJhc2VubWFlaGVyIE5QQyBtb3JnZW5zIHVtIHZpZXJ0ZWx2aWVsenVmcnVlaCBVaHIgZGFyZiB3b2hsIGRpZQpPcmdhbmlzYXRpb24gbmljaHQgdmVyYW50d29ydGxpY2ggZ2VtYWNodCB3ZXJkZW4uIEdsYXViaWNoLiBPZGVyIGRvY2ggbmljaHQ/CkhtLCBuYWVjaHN0ZXMgTWFsIGJlc3NlciBmb3JzY2hlbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRGFua2UgZnVlciBkaWUgdG9sbGUgUGFydHkgKFplc3N0cmEsIDI3LiBKdWwgMjAwOSwgMDA6MzU6MDApOgp+IyEgcm49QXJrIHJ0PTEyNDg2NDQ5Mzkgcmc9cGFydHkKfiMhIHRpZD0xMjQ4NjE4NTgyCkljaCBiaW4gendhciBudXIga3VyeiBhdWYgZGVyIER1cmNocmVpc2Ugb25saW5lLCBhYmVyIGJldm9yIGxhbmcgWmVpdCBpbnMgTGFuZApnZWh0IHVuZCBpY2ggZXMgZGFubiBub2NoIHZlcmdlc3NlOiBBdWNoIHZvbiBtaXIgdmllbGVuIERhbmsgYW4gU3JhYmkgdW5kCkthcm9sIGZ1ZXIgZGllIFBhcnR5b3JnYW5pc2F0aW9uIQpFcyB3YXIgZWluZSBzY2hvZW5lIFplbHR3b2NoZSwgYXVjaCBkYXMgV2V0dGVyIHdhciBzb2dhciB3ZWl0Z2VoZW5kIGd1dC4gOy0pCkhhdCBtaWNoIHdpZSBpbW1lciBnZWZyZXV0LCBtYWwgd2llZGVyIGFsdGUgdW5kIG5ldWUgTWl0c3BpZWxlciBnZXRyb2ZmZW4genUKaGFiZW4gdW5kIGZyZXVlIG1pY2ggYXVmIGRpZSBuYWVjaHN0ZSBHZWxlZ2VuaGVpdC4KVW5kIG51biB2ZXJhYnNjaGllZGUgaWNoIG1pY2ggd2llZGVyIGluIGRlbiBSZXN0IG1laW5lcyBTb21tZXJ1cmxhdWJzLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoWm9vaywgMjcuIEp1bCAyMDA5LCAwOTozNjo1Mik6Cn4jISBybj1aZXNzdHJhIHJ0PTEyNDg2NDc3MDAgcmc9cGFydHkKfiMhIHRpZD0xMjQ4NjE4NTgyCkVpbiBEYW5rZXNjaG9lbiBhbiBkaWUgT3JnYW5pc2F0aW9uLCBTcmFiaSEgRGFzIHdhciB3aXJrbGljaCBzZWhyIApuZXR0IHVuZCBzb3dlaXQgaWNoIGRhIHdhciwgaGF0IGF1Y2ggYWxsZXMgcHJpbWEgZ2VrbGFwcHQgdW5kIApmdW5rdGlvbmllcnQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChUYXNzcmFtLCAyNy4gSnVsIDIwMDksIDEyOjAxOjExKToKfiMhIHJuPVpvb2sgcnQ9MTI0ODY4MDIxMiByZz1wYXJ0eQp+IyEgdGlkPTEyNDg2MTg1ODIKQXVjaCB2b24gbWlyIHZpZWxlbiBEYW5rIGZ1ZXIgZGFzIE9yZ2FuaXNpZXJlbiBkZXIgdG9sbGVuIFBhcnR5LgpTaWUgaGF0IG1hbCB3aWVkZXIgbWVpbmUgVmVybXV0dW5nIGJlc3RhZXRpZ3QsIGRhc3MgbWFuIGJlaW0gWmVsdGVuIGRhcwpXZXR0ZXIgc2Nob2VuZXIgZW1wZmluZGV0LCBhbHMgenVoYXVzZSwgd2VpbCBtYW4gamVkZSBTb25uZW5taW51dGUgdmllbAppbnRlbnNpdmVyIG51dHp0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChNZXNpcmlpLCAyNy4gSnVsIDIwMDksIDEzOjU5OjMyKToKfiMhIHJuPVRhc3NyYW0gcnQ9MTI0ODY4ODg3MSByZz1wYXJ0eQp+IyEgdGlkPTEyNDg2MTg1ODIKTWVpbmUgRXJrZW5udG5pc3NlOgpTcmFiaSBmYWVocnQgZ2Vib3JndGVzIEZhaHJyYWQKU3JhYmkga2FubiBndXQgUGFydGllcyBvcmdhbmlzaWVyZW4sIGRhbmtlCkltIEZvcnVtIGdpYnRzIGxlY2tlcmVzIEVpcwpEaWUgc2Nob2VuZSBBbHRzdGFkdCBtdXNzIG1hbiBzdWNoZW4KWnVtIEZyZWliYWQgZ2VodHMgZHVyY2ggZGVuIEhpbnRlcmhvZgpTcGllbHpldWdsYWVkZW4gKEhvbHp3dXJtKSBzaW5kIHRvbGwKV2Fzc2VyXmheaF5oXmheaF5oQmllcnB1bXBlbiBzaW5kIHRvbGwKWHV0ZWxpdXMgaXN0IHRyaW5rZmVzdCB1bmQgdW5nbGF1YmxpY2ggaGluZGVybmlzYXVzd2VpY2hlbmQKU3Ryb2hhbG0gaXN0IHNjaG9uIGltbWVyIGd1dCBkcmF1ZgpEaWUgTXVkZGVyIGhhbHRlbiB3aWVkZXIgbGFlbmdlciBkdXJjaApTZWxtYSBtYWcgRW1pbApFcyBnaWJ0IGFsbGVzIGlyZ2VuZHdvLCBPREVSIEJFSSBHVUxBSFIgKGltIFZvcnplbHQpClJhbmEgbWFnIGRlbiBEcmFjaGVuIEh1bW5pCkJpZXIgd2lyZCB6dSBzY2huZWxsIGFsbGUKCk1lc2ksIHp1ZnJpZWRlbiBiaXMgYXVmIGRlbiBSZWdlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlmb3RvcyAoTWFoYXJldCwgMjcuIEp1bCAyMDA5LCAxNTowNjoxMik6CkljaCBlcm9lZmZuZSBtYWwgZGllIFJ1bmRlOgpodHRwOi8vc2VydmVyMi5tZXNpcmlpLmRlL35tZy93aWtpL1BhcnR5L1BhcnR5LjM0L2ZvdG9zLm1haGFyZXQvCgpQYXJ0eWZvdG9zZWl0ZTogaHR0cDovL3dpa2kubW9yZ2VuZ3JhdWVuLmluZm8vaW5kZXgucGhwP249TW9yZ2VuR3JhdWVuLlBhcnRpZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWZvdG9zIChHbG9pbnNvbiwgMjcuIEp1bCAyMDA5LCAxNjo0MzozOCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyNDg2OTk5NzIgcmc9cGFydHkKfiMhIHRpZD0xMjQ4Njk5OTcyCkRhbmtlIGZ1ZXIgZGllIGx1c3RpZ2UgUGFydHkuIEJpdHRlIG5laG10IG1pciBhYmVyIGRhcyBuYWVjaHN0ZSBNYWwgZGFzIGxldHp0ZQpCaWVyIHdlZywgZGFubiBmYWxsIGljaCBhbSBTb25udGFnIG5pY2h0IHNvZm9ydCB3aWUgZXJzY2hsYWdlbiB6dSBIYXVzZSBpbnMKQmV0dC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5Zm90b3MgKFNyYWJpLCAyNy4gSnVsIDIwMDksIDE2OjU1OjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDg3MDU4MTggcmc9cGFydHkKfiMhIHRpZD0xMjQ4Njk5OTcyCkFsc28KZGFuayBlcnN0ZSBtYWwsIGRhcyBJaHIgc28gemFobHJlaWNoIGVyc2NoaWVuZW4gc2VpZCA6LSkKSWNoIGtudWVwZmUgbWFsIGFuIGRpZSBQdW5rdGUgdm9uIE1lc2kgYW46CgoxLiBKYSBpY2ggZmFocmUgZ2Vib3JndGVzIEZhaHJyYWQKMi4gRGFua2UgRXVjaCwgZGFzIGVzIEV1Y2ggZ2VmYWxsZW4gaGF0CjMuIFNoYWt5cyBzY2huYXJjaGVuIGtsYW5nIHdpZSBXYWxnZXNhZW5nZQo0LiBXYWVyZSBHbG9pbnNvbiBiZWkgTWVzc3dlaW4gZ2VibGllYmVuLCBoYWV0dGUgZXIga2VpbmVuIGRpY2tlbiBTY2hhZWRlbApnZWhhYnQuCgpTbyBudW4gbWFsIGVybnN0ZSBQdW5rdGU6CjEuIERlciBQbGF0endhcnQgZGFua3QgZnVlciBlaW5lIGx1c3RpZ2UgdW5kIGVybGVibmlzcmVpY2hlIFdvY2hlIGF1ZiBzZWluZW0KQ2FtcGluZ3BsYXR6CjIuIERlciBQbGF0endhcnQgc2FndCwgZGFzIHdpciB3aWVkZXJrb21tZW4gZHVlcmZlbgozLiBBbGxlIFVlYmVybmFjaHR1bmdza29zdGVuIHd1cmRlbiBhbnN0YW5kc2xvcyBiZXphaGx0IHVuZCBkaWUgV29obndhZ2VuCnd1cmRlbiBvcmRlbnRsaWNoIHVuZCBpbiBlaW5lbSB0YWRlbGxvc2VuIFp1c3RhbmQgdWViZXJnZWJlbgo0LiBBbGxlIFNhY2hlbiwgZGllIGJlaSBHdWxhaHIgImVudHdlbmRldCIgd3VyZGVuLCBzaW5kIHdpZWRlciBkYQoKSWNoIGRhbmtlIEV1Y2ggZnVlciBlaW5lIFdvY2hlIHVuZCBiZWkgZGVuIG5hZWNoc3RlbiBQYXJ0eXMgd2VyZGUgaWNoCnJlZ2VsbWFlc3NpZ2VyIGVyc2NoZWluZW4uCgpHcnVzcyAKU3JhYmkgKEV4LVBhcnR5cGxhbmVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHlmb3RvcyAoU3Ryb2hhbG0sIDI3LiBKdWwgMjAwOSwgMTc6MzM6MTMpOgp+IyEgcm49U3JhYmkgcnQ9MTI0ODcwNjUxOCByZz1wYXJ0eQp+IyEgdGlkPTEyNDg2OTk5NzIKd2lsbGUKRGVyIFBsYXR6d2FydCBoYXQgbWlyIFNvbm50YWcgbW9yZ24gUGxhdHp2ZXJib3QgZXJ0ZWlsdCwgd2VpbCBpY2ggZXJzdGVucwpkcmF1ZiB2ZXJ3aWVzZW4gaGF0dGUsIGRhc3Mgd2lyIGRlbiBQYXJ0eXJhdW0gZXJzdCBpbiBkZW4gbmFlY2hzdGVuIFN0dW5kZW4KYXVmcmFldW1lbiwgdW5kIHNpY2ggendlaXRlbnMgYmVpIGRlciB3aWVkZXJob2x0ZW4gTmVubnVuZyBkZXMgTmFtZW5zICJTcmFiaSIKYWxzIFZlcndhbnRvd3J0bGljaGVuIHZlcnBvcG90IHZvcmdla29tbW1lbiBpc3QuIFdvbGx0ZSBtaXIgZWluZmFjaCBuZXQKZ2xhdWJlbiwgZGFzcyBpY2ggZGVuIHJpY2h0aWdlbiBOYW1lbiBuZXQga2VubmUgdW5kIEdlbGQgd29sbHRlIGVyIGRhbm4gYXVmCmVpbm1hbCBhdWNoIG5vY2ggdm9uIG1pciBoYWJlbi4gTmFqYSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChHdWFyZCwgMjguIEp1bCAyMDA5LCAxNjoyNjoxMyk6Cn4jISBybj1UYXNzcmFtIHJ0PTEyNDg2ODg4NzEgcmc9cGFydHkKfiMhIHRpZD0xMjQ4NjE4NTgyCkljaCBtb2VjaHRlIG1pY2ggaGllciBhdWNoIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IGJlZGFua2VuIQpNaWNoIGhhdCBkZXIgdmlydXMgYXVjaCBlcndpc2NodCwgYWJlciBhdWNoIG1pciBnZWh0cyBpbnp3aXNjaGVuIHdpZWRlcgpwcmFlY2h0aWcgOi0pCkRpZSBXZXR0ZXItT3JnYSB3aXJkIG5vY2htYWwgaW5zIEtyZXV6dmVyaG9lciBnZW5vbW1lbiBhYmVyIHNvbnN0IHdhciBlcyBlY2h0CmtsYXNzZS4KRnVlciBtaWNoIHdhcmVuIGRpZSBHZXNwcmFlY2hlIGFtIHNwYW5uZW5zdGVuIDotKSkKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRGFua2UgZnVlciBkaWUgdG9sbGUgUGFydHkgKFZhbmlyLCAyOC4gSnVsIDIwMDksIDIwOjEwOjI1KToKfiMhIHJuPUd1YXJkIHJ0PTEyNDg3OTExNzMgcmc9cGFydHkKfiMhIHRpZD0xMjQ4NjE4NTgyCkF1Y2ggdm9uIG1pciBhbiBkaWVzZXIgU3RlbGxlIGVpbmVuIGhlcnpsaWNoZW4gRGFuay4gRGllIE9yZ2Egd2FyIHRvbGwgdW5kIGRpZQpXb2NoZSBoYXQgZWNodCBTcGFzcyBnZW1hY2h0LiAKVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5Zm90b3Mgdm9uIE5ldmFkYSBvbmxpbmUgKEVubm94LCAgMy4gQXVnIDIwMDksIDIzOjIxOjI5KToKaHR0cDovL3dpa2kubW9yZ2VuZ3JhdWVuLmluZm8vaW5kZXgucGhwP249TW9yZ2VuR3JhdWVuLlBhcnRpZXMKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5Zm90b3Mgdm9uIE5ldmFkYSBvbmxpbmUgKEd3ZW4sICA2LiBBdWcgMjAwOSwgMDQ6NTY6MzApOgp+IyEgcm49RW5ub3ggcnQ9MTI0OTMzNDQ4OSByZz1wYXJ0eQp+IyEgdGlkPTEyNDkzMzQ0ODkKVmVybGlua3QgZGllIHdlciBhdWYgZGVyIG1nLUhQPwpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5Zm90b3Mgdm9uIE5ldmFkYSBvbmxpbmUgKEdsb2luc29uLCAyNS4gQXVnIDIwMDksIDE4OjA0OjIxKToKfiMhIHJuPUVubm94IHJ0PTEyNDkzMzQ0ODkgcmc9cGFydHkKfiMhIHRpZD0xMjQ5MzM0NDg5Cmh0dHA6Ly93d3cuZmx1bnplbC5kZS9waWNzL3dldHpsYXIwOQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlmb3RvcyB2b24gTmV2YWRhIG9ubGluZSAoTWFoYXJldCwgMjYuIEF1ZyAyMDA5LCAxNDo0ODozMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjUxMjE2MjYxIHJnPXBhcnR5Cn4jISB0aWQ9MTI0OTMzNDQ4OQpBaCEgRHUgaGFzdCBlaW4gRm90byB2b24gREVNIFNhbGF0IGdlbWFjaHQuIERhc3MgZHUgZGEgc2NobmVsbCBnZW51ZyBkZW4KQXVzbG9lc2VyIGRydWVja2VuIGtvbm50ZXN0LCBlaGUgZGllIE1ldXRlIGRhcnVlYmVyIGhlcmdlZmFsbGVuIGlzdCAuLi4KV2lyIGhhYmVuIGRlbiBzZWl0IGRlbSB1ZWJyaWdlbnMgc2Nob24gZWluIHBhYXIgTWFsIGdlbWFjaHQgdW5kIGVyIGthbSBhdWNoCmhpZXIgaW1tZXIgZ3V0IGFuLiBXZW5uIGVzIHVuc2VyIEFiZW5kYnJvdCB3ZXJkZW4gc29sbHRlLCBoYWIgaWNoIHp1c2FldHpsaWNoCm5vY2ggbmUgU2NoaWNodCBSZWlzIG9kZXIgRWJseSBhdWYgZGllIE1haXMtQm9obmVuLU1pc2NodW5nIGdlbWFjaHQuCgpEYW5rZSBNaXJpbCEgKHVuZCBkZWluZW0gU2NodWVsZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWZvdG9zIHZvbiBOZXZhZGEgb25saW5lIChHbG9pbnNvbiwgMjcuIEF1ZyAyMDA5LCAxNjo1MToyNSk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyNTEyOTA5MTAgcmc9cGFydHkKfiMhIHRpZD0xMjQ5MzM0NDg5CkVyIHdhciB1bmJlb2JhY2h0ZXQgdW5kIGZyaXNjaC4gSGFldHRlIGljaCBnZXd1c3N0LCBkYXNzIGVyIHNvIGxlY2tlciBpc3QsCmRhbm4gaGFldHRlIGljaCBzaWNoZXIgbmljaHQgZGllIFplaXQgdmVyc2Nod2VuZGV0IGlobiB6dSBmb3RvZ3JhZmllcmVuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUctRnJ1ZWhqYWhyc3BhcnR5IGluIERyZXNkZW4gKE1lc2lyaWksICA5LiBKYW4gMjAxMCwgMjM6MTg6NDEpOgp+IyEgb249TWVzaXJpaSBvdD0xMjYzMDc1NTAwIG9nPXRyZWZmZW4uYmVrYW5udG1hY2h1bmdlbgpIYWxsbywKaWNoIG1vZWNodGUgd2llZGVyIGVpbmUgRnJ1ZWhqYWhyc3BhcnR5IGluIEREIG1hY2hlbi4KV2llIGdlaGFidCBzY2hsYWZlbiBpbSBCbGF1ZW4gSGF1cywgUGFydHkgaW4gZGVyIEJ1Y2hiYXIgdW5kIGRlciBSZXN0IHdpcmQKc2ljaCBmaW5kZW4uCkRvb2RsZSBMaW5rIGZ1ZXIgZGVuIFRlcm1pbiBoaWVyLgpodHRwOi8vZG9vZGxlLmNvbS95cTRteDZpa3RyZjNlbTI2CktvbW1ldCB6dWhhdWYKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5IGFtIFdvY2hlbmVuZGUgMTAuIEFwcmlsIChHbG9pbnNvbiwgMjUuIEZlYiAyMDEwLCAwMDoxMzo0Nyk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyNjQ4ODUzODcgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEyNjQ4ODUzODcKTW9pbiwKCmRhIGRhcyBCcmV0dCBqYSBrYXB1dHQgaXN0IDspCgpNYXJ0aW5pICsgR2xvaW5zb246IGFiIEZyZWl0YWcgYmlzIFNvbm50YWcKCkJpcyBkYW5uIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YnJldHQgYXVmZ2VzdGVsbHQgKEVubm94LCAyNS4gRmViIDIwMTAsIDIzOjQ0OjA3KToKSmVkZW5mYWxscyBpbiBQViA6KQpLb21tZXQgenVoYXVmCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJyZXR0IGF1Zmdlc3RlbGx0IChWYXJkaW9uLCAyNi4gRmViIDIwMTAsIDE2OjIzOjU3KToKfiMhIHJuPUVubm94IHJ0PTEyNjcxMzc4NDcgcmc9cGFydHkKfiMhIHRpZD0xMjY3MTM3ODQ3CkRhcyBQYXJ0eWJyZXR0IHNjaGVpbnQgbW9tZW50YW4gZWluZSBhbmRlcmUgUGFydHkgYWxzIER1IHp1IHBsYW5lbi4gTWFuIGthbm4Kc2ljaCB2b24gTW9udGFnIGJpcyBGcmVpdGFnIGFubWVsZGVuIHVuZCBGcmVpdGFnIGlzdCBkZXIgMjAuICh3ZWxjaGVyIE1vbmF0CmF1Y2ggaW1tZXIpLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eWJyZXR0IGF1Zmdlc3RlbGx0IChDcm9mdCwgMjYuIEZlYiAyMDEwLCAxNjoyODoyMCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyNjcxOTc4Mzcgcmc9cGFydHkKfiMhIHRpZD0xMjY3MTM3ODQ3CkFscyBBYnNlbmRlciBpc3QgYXVjaCBub2NoIFNyYWJpIGVpbmdldHJhZ2VuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5YnJldHQgYXVmZ2VzdGVsbHQgKFZhbmhlbHNpbmcsIDI3LiBGZWIgMjAxMCwgMDA6MTU6MjEpOgp+IyEgcm49Q3JvZnQgcnQ9MTI2NzE5ODEwMCByZz1wYXJ0eQp+IyEgdGlkPTEyNjcxMzc4NDcKQWJlciBhdWZnZXN0ZWxsdCBpc3Nlcy4gKmcqCgpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHlicmV0dCBhdWZnZXN0ZWxsdCAoSHVtbmksIDI3LiBGZWIgMjAxMCwgMDE6MTM6NDIpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMjY3MjI2MTIxIHJnPXBhcnR5Cn4jISB0aWQ9MTI2NzEzNzg0NwpOdW4gc3RpbW10IGF1Y2ggZGVyIEFic2VuZGVyLiBNZWxkZW4sIHdlbm4gbm9jaCB3YXMgbmljaHQgc3RpbW10LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFua3VuZnQgRnJlaXRhZ3MuLi4gKFplc3N0cmEsIDE2LiBNYXIgMjAxMCwgMDA6Mzc6MDApOgpFcyBoYXQgc2ljaCBoZXJhdXNnZXN0ZWxsdCwgZGFzcyBpY2ggdGF0c2FlY2hsaWNoIGFtIEZyZWl0YWcgc2Nob24gcmVsYXRpdgpmcnVlaCBpbiBEcmVzZGVuIHNlaW4gd2VyZGUgdW5kIGRhaGVyIGRlbiBnYW56ZW4gVGFnIHNjaG9uIGRhIGJpbi4gSGF0IGplbWFuZApMdXN0LCBzaWNoIHp1IHRyZWZmZW4gdW5kIGdlbWVpbnNhbSBkaWUgU3RhZHQgenUgZXJrdW5kZW4gb2RlciBzb25zdHdhcyB6dQp1bnRlcm5laG1lbj8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNhQ2VydCwgS2V5c2lnbmluZyBpbiBEcmVzZGVuIChaZXNzdHJhLCAyNS4gTWFyIDIwMTAsIDIxOjEzOjQzKToKSGF0IGplbWFuZCBhdWYgZGVyIFBhcnR5IGluIERyZXNkZW4gSW50ZXJlc3NlIGFtIGdlZ2Vuc2VpdGlnZW4gU2lnbmllcmVuIHZvbgpHUEctL1BHUC1LZXlzPwpPZGVyIGJyYXVjaHQgbm9jaCBQdW5rdGUgYmVpIENhQ2VydD8gKENhQ2VydCBpc3QgZWluZSBub24tcHJvZml0Ck9yZ2Fuc2lzYXRpb24sIGJlaSBkZXIgc2ljaCBCZW51dHplciBnZWdlbnNlaXRpZ2lnIFplcnRpZml6aWVyZW4gdW5kIGplZGVyCmtyaWVndCBkYW5uIGtvc3RlbmZyZWllIFNTTC1aZXJ0aWZpa2F0ZSBmdWVyIFdlYnNlcnZlciwgTWFpbHMgdXN3LikKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDYUNlcnQsIEtleXNpZ25pbmcgaW4gRHJlc2RlbiAoR2xvaW5zb24sIDMwLiBNYXIgMjAxMCwgMTY6MjY6NTkpOgp+IyEgcm49WmVzc3RyYSBydD0xMjY5NTQ4MDIzIHJnPXBhcnR5Cn4jISB0aWQ9MTI2OTU0ODAyMwpIbS4gU3RpbW10LiBTaWduZW4ga29lbm50ZSBtYW4uIENhQ2VydC1DZXJ0ZW4ga2FubiBpY2ggc2VpdCBlaW5lcgpnZWxhbmd3ZWlsdGVuIE5hY2h0IG5ldWxpY2ggYXVjaCAuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENhQ2VydCwgS2V5c2lnbmluZyBpbiBEcmVzZGVuIChTaGFrZWRiZWVyLCAgMi4gQXByIDIwMTAsIDAwOjMzOjQzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNjk5NTkyMTkgcmc9cGFydHkKfiMhIHRpZD0xMjY5NTQ4MDIzCkhpIQoKSWNoIGJyYWV1Y2h0ZSBhdWNoIG5vY2ggZWluIHBhYXIgUHVua3RlISA7LSkKClNoYWt5IC0gZ3J1ZXNzdCBhdXMgTmV3IFlvcmsuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp1cGRhdGUgKE1lc2lyaWksICA3LiBBcHIgMjAxMCwgMjM6MDg6MTcpOgpGcmVpdGFnIGFiZW5kIHdlcmRlbiB3aXIgaW4gZWluZXIga2xlaW5lbiBLbmVpcGUgbWl0IEJpbGxpYXJkIGluIGRlciBOYWVoZSBkZXMKYmxhdWVuIEhhdWVzIHNlaW4uCiJadXIgS25vbGxlIiwgSGVydGVsc3RyLiAxMiwgMDEzMDcgRHJlc2RlbgpodHRwOi8vYml0Lmx5L21nZGQyMDEwIChSb3V0ZSBtaXQgR29vZ2xlIE1hcHMpCkljaCBkZW5rZSwgc28gYWIgMTg6MDAgd2lyZCBqZW1hbmQgZG9ydCBzZWluLCByZXNlcnZpZXJ0IGlzdCBhdWYgIkh1bmdlciIgOikKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVwZGF0ZSAoTWVzaXJpaSwgIDcuIEFwciAyMDEwLCAyMzoyMTo1Myk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyNzA2NzQ0OTcgcmc9cGFydHkKfiMhIHRpZD0xMjcwNjc0NDk3ClN1c2hpLUNoaW5lc2lzY2gga29zdGV0IHVlYnJpZ2VucyAxMiw1MCBhbSBTb25udGFnLCBWYXJkaW9uIGhhdCBtaWNoIGRhcmF1ZgpoaW5nZXdpZXNlbi4KCkdydXNzIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUZXJtaW5zdWNoZSBmdWVyIGRpZSBTb21tZXJwYXJ0eSBpbiBCcmllc2VsYW5nIChPcmt0b2V0ZXIsIDExLiBBcHIgMjAxMCwgMTI6NTM6NDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI3MDkxNTkyOSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTI3MDkxNTkyOQoic2Nod2Flcm10ZSI/IE9kZXIgbWVpbnRlc3QgZHUgIlNjaHdhZXJtZSB2b24gcm90ZW4gUHVua3RlbiBoYXR0ZSI/IDspCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eSBhbSBXb2NoZW5lbmRlIDEwLiBBcHJpbCAoRGVlcGJsdWUsIDExLiBBcHIgMjAxMCwgMTc6NDU6NDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI2NzA1MzIyNyByZz1wYXJ0eQp+IyEgdGlkPTEyNjQ4ODUzODcKRGFua2UgYW4gTWVzaXJpaSBmdWVyIGRpZSBWaWVsZSBNdWVoZS4gRXMgd2FyIHdzY2hvZW4sIGRpdmVyc2UgTGV1dGUgbWFsCndpZWRlciB6dSBzZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2hsZXNlIChNZXNpcmlpLCAxMi4gQXByIDIwMTAsIDAyOjI0OjU0KToKUGFydHkgd2FociBzZWhyIHNjaG9lbiwgaWhyIGhhYnQgd2FzIHZlcnBhc3N0LApTaGFreSBoYXR0ZSBzZWluIGlQYWQgbWl0LCBlcyBnYWIgY2FjZXJ0IEJlc3RhZXRpZ3VuZ2VuLCBnYW56IHZpZWwgbGVja2VyIDQ1Y20KUGl6emVuLCBlaW5lIGFuZ2VuZWhtZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgZGVzIFZlcmVpbnMsIGRpZSBTY3JlZW5jYXN0LUlkZWUKdm9uIFNoYWt5LCB2aWVsIFNwYXNzIHVuZCBHdXRlIExhdW5lLCBsZWNrZXIgU3VzaGksIFNwaWVsZW4gbWl0IE1hZ25ldGt1bGxlcm4sCk1pcmlsIGhhdCBlaW5lIE1HLUZhY2Vib29rIFNlaXRlIGF1Zmdlc2V0enQgKC0+IGZhbm5lbiBvZGVyIHdpZSBkYXMgaGVpc3N0KQp1bmQgdmllbGVzIG1laHIgd2FzIGljaCBncmFkIHZlcmdlc3NlbiBoYWIuCkRhbmtlIGZ1ZXJzIHphaGxyZWljaGUga29tbWVuLCBtaXIgaGF0IGVzIFNwYXNzIGdlbWFjaHQgdW5kIGJpcyBuYWVjaHN0ZXMgSmFocgppbiBEcmVzZGVuLgpCaXR0ZSBkaWUgQW5tZWxkdW5nIGZ1ZXIgZGllIFNvbW1lcnBhcnR5IGluIEJyaWVzZWxhbmcgbmljaHQgdmVyZ2Vzc2VuLApHbG9pbnNvbiB3b2xsdGUgZGVuIERvb2RsZS1MaW5rIHBvc3Rlbi4KCk1lc2ksIG51ciBlaW4gYmlzc2NoZW4gbXVlZGUgbmFjaCA0IGt1cnplbiBOYWVjaHRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYWNobGVzZSAoR2xvaW5zb24sIDEyLiBBcHIgMjAxMCwgMTY6MTg6MTEpOgp+IyEgcm49TWVzaXJpaSBydD0xMjcxMDMxODk0IHJnPXBhcnR5Cn4jISB0aWQ9MTI3MTAzMTg5NApOZXR0ZSBQYXJ0eSwgZGFua2UuCgoqIFBpenphIHBhc3N0ZQoqIFN1c2hpIHBhc3N0ZQoqIHR1dCBtaXIgbGVpZCwgZGFzcyBpY2ggbWljaCBuaWNodCBoYWIgQ0VSVGVuIGxhc3NlbgogIChpY2ggbWFjaCBkYW5uIGhhbHQgaW4gQnJpZXNlbGFuZyBkaWUgQ2FDZXJ0LUh1cmUpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hY2hsZXNlIChWYXJkaW9uLCAxMi4gQXByIDIwMTAsIDE4OjAzOjAyKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTI3MTAzMTg5NCByZz1wYXJ0eQp+IyEgdGlkPTEyNzEwMzE4OTQKV2lyIGhhYmVuIHp1IGRhbmtlbiEKRWluZSB0b2xsZSBQYXJ0eSwgdmllbCBTcGFzcywgd2VuaWcgU2NobGFmLiBWaWVsZW4gRGFuayBmdWVyIGRpZSBPcmdhbmlzYXRpb24uCgpEZXIgRG9vZGxlLUxpbmsgZnVlciBkaWUgU29tbWVycGFydHkgaXN0OgpodHRwOi8vd3d3LmRvb2RsZS5jb20vdHo4ZHpjbnFhcmJweWUzcgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYWNobGVzZSAoU2hha2VkYmVlciwgMjIuIEFwciAyMDEwLCAyMTo0NDozNCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyNzEwODgxODIgcmc9cGFydHkKfiMhIHRpZD0xMjcxMDMxODk0CkJpbiBub2NoIG5pY2h0IGRhenUgZ2Vrb21tZW4sIG1pY2ggd2llZGVyIGVpbnp1bG9nZ2VuLiBBYmVyIGF1Y2ggbWl0ClZlcnNwYWV0dW5nIHZvbiBtaXIgZWluIGRpY2tlcyBEQU5LRSEgV2FydW0gaWNoIGthdW0gWmVpdCB6dW0gRWlubG9nZ2VuIGhhYmU/ClNjaHJlaWJlbiwgc2NocmVpYmVuLCBzY2hyZWliZW4uIFp1bSBCZWlzcGllbDogTydSZWlsbHkgQmxvZyB1ZWJlciBkYXMgaVBhZAphdWYgZGVyIE1HLVBhcnR5LiA7LSkgSGllciBkZXIgTGluazogIGh0dHA6Ly9iaXQubHkvYmdTU2Z2CgpCaXMgZGVubmUuLi4KU2hha3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2Vic2VpdGUgYnJpZXNlbGFuZyAoWm9vaywgMTMuIE1haSAyMDEwLCAyMTozMTo1Nik6Cn4jISBybj1NZXNpcmlpIHJ0PTEyNzM3MDA2OTQgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEyNzM3MDA2OTQKSG1wZi4gSXJnZW5kd2llIGJpbiBpY2ggZGEgaW4gLm5sLiBab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdlYnNlaXRlIGJyaWVzZWxhbmcgKENyb2Z0LCAxNC4gTWFpIDIwMTAsIDA5OjI2OjUwKToKfiMhIHJuPVpvb2sgcnQ9MTI3Mzc3OTExNiByZz1wYXJ0eQp+IyEgdGlkPTEyNzM3MDA2OTQKVW5kIGljaCBuZWhtIGRhIGFuIGRlbiBSZWRhbGJpb24gT3BlbiB0ZWlsLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdlYnNlaXRlIGJyaWVzZWxhbmcgKFpvb2ssIDE0LiBNYWkgMjAxMCwgMDk6NTE6NTMpOgp+IyEgcm49Q3JvZnQgcnQ9MTI3MzgyMjAxMCByZz1wYXJ0eQp+IyEgdGlkPTEyNzM3MDA2OTQKYW4gYml0dGUgV0FTPwp6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3ZWJzZWl0ZSBicmllc2VsYW5nIChDcm9mdCwgMTQuIE1haSAyMDEwLCAwOTo1Njo1Mik6Cn4jISBybj1ab29rIHJ0PTEyNzM4MjM1MTMgcmc9cGFydHkKfiMhIHRpZD0xMjczNzAwNjk0CkRhcyBzaW5kIGRpZSBhbGxqYWVocmxpY2hlbiBNaW5pZ29sZi1NZWlzdGVyc2NoYWZ0ZW4gaW4gUm90YWxiZW4gaW4gZGVyClBmYWx6LiAgSXJnZW5kd2FubiBtdXNzIGljaCBlcyBkb2NoIG1hbCBzY2hhZmZlbiBCb2JiIGRlbiBQb2thbCBhYnp1bmVobWVuCnVuZCBkaWUgTWVpc3RlcnNjaGFmdCBhdXMgZGVyIFBhbXBhIHp1IGJld2VnZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogd2Vic2VpdGUgYnJpZXNlbGFuZyAoWm9vaywgMTQuIE1haSAyMDEwLCAwOTo1Nzo0NCk6Cn4jISBybj1Dcm9mdCBydD0xMjczODIzODEyIHJnPXBhcnR5Cn4jISB0aWQ9MTI3MzcwMDY5NApBaC4gRGEgd3VlbnNjaCBpY2ggYWJlciBtYWwgdmllbCBFcmZvbGchClJvdGFsYmVuPyBJc3QgZGFzIG5pY2h0IGRhcyBOZXN0IG1pdCBkZW0gRXJ6aWVodW5nc2hlaW0gZnVlciBzY2h3ZXJlCkp1bmdzPyAKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHdlYnNlaXRlIGJyaWVzZWxhbmcgKENyb2Z0LCAxNC4gTWFpIDIwMTAsIDA5OjU4OjQ2KToKfiMhIHJuPVpvb2sgcnQ9MTI3MzgyMzg2NCByZz1wYXJ0eQp+IyEgdGlkPTEyNzM3MDA2OTQKSy5BLi4gSmVkZW5mYWxscyBkYXMga2xlaW5lIE9lcnRjaGVuIGJlaSBQaXJtYXNlbnMuICBVbmQgaW4gQ2xhdXNlbgp3aXJkIGVzIGRhbm4gYWJlbmRzIGVpbmUgR3JpbGx1bmcgZXJzdGVyIEthanVldGUgZ2ViZW4uICBCZXN0aW1tdCB3aWVkZXIKbWl0IGRpdmVyc2VuIE1vaml0ZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogd2Vic2VpdGUgYnJpZXNlbGFuZyAoWm9vaywgMTQuIE1haSAyMDEwLCAxMDowNTo0NCk6Cn4jISBybj1Dcm9mdCBydD0xMjczODIzOTI2IHJnPXBhcnR5Cn4jISB0aWQ9MTI3MzcwMDY5NApqYWphIC4uLiByb3RhbGJlbiAuLi4gZGFzIHdhciBkYSwgd28gdm9yIGVpbmlnZW4gamFocmVuIGluIGRlbSBoZWltCmVpbmUgbGVocmVyaW4gdW1zIGxlYmVuIGdla29tbWVuIGlzdC4gCmJla2FubnRlcm1hc3NlbiBrYW5uIG1hbiBzaWNoIHZvbiBkZW4ganVuZ3MgYXVjaCByZWNodCBndWVuc3RpZwpkaWVuc3RsZWlzdHVuZ2VuIGVpbmthdWZlbiwgZmFsbHMgbWFuIHByb2JsZW1lIG1pdCBtaXRtZW5zY2hlbiBoYXQuCgp6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiB3ZWJzZWl0ZSBicmllc2VsYW5nIChHbG9pbnNvbiwgMTcuIE1haSAyMDEwLCAwMDoxOTowNik6Cn4jISBybj1ab29rIHJ0PTEyNzM4MjQzNDQgcmc9cGFydHkKfiMhIHRpZD0xMjczNzAwNjk0Ck1pdCBlaW5lbSBNaW5pZ29sZnNjaGxhZWdlciBnZWtvZXBmdD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXJsaW5lciBLdWx0dXIgKEdsb2luc29uLCAgOC4gSnVsIDIwMTAsIDIxOjMzOjM5KToKTW9pbiwKCiJCdXJnIHVuZCBIZXJyc2NoYWZ0IjsgRGV1dHNjaGVzIEhpc3RvcmlzY2hlcyBNdXNldW0sIEJlcmxpbiwgYmlzIDI0LiBPa3QuCgpXYWVyIHZpZWxsZWljaHQgYmVzdWNoZW5zd2VydCB3YWVocmVuZCBkZXIgTVVELVBhcnR5LiBBdWNoIHdlbm4gTUcgdGhlbWF0aXNjaApicmVpdGVyIGFuZ2VsZWd0IGlzdCA7KQoKaHR0cDovL3d3dy56ZWl0LmRlLzIwMTAvMjcvR0VTLUJ1cmc/cGFnZT1hbGwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rZSAoSHVyYXhwcmF4LCAgMS4gQXVnIDIwMTAsIDE2OjA0OjQxKToKRGFua2UgYW4gTWFoYSBNZXNpIHVuZCBhbGxlIGFuZGVyZW4gT3JnYW5pc2F0b3JlbiBmdWVyIGVpbmUgc2Nob2VuZSBQYXJ0eSEKCmVpbiBtdWVkZXIgdW5kIHNhdHRlciBodXJheCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtlIChDaGFnYWxsLCAgMS4gQXVnIDIwMTAsIDE2OjE5OjI3KToKfiMhIHJuPUh1cmF4cHJheCBydD0xMjgwNjcxNDgxIHJnPXBhcnR5Cn4jISB0aWQ9MTI4MDY3MTQ4MQpEZW0gd2lsbCBpY2ggbWljaCBrdXJ6IGFuc2NobGllc3Nlbi4gVmllbGVuIERhbmsgYW4gZGFzIE9yZ2F0ZWFtLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFua2UgKFZhcmRpb24sICAxLiBBdWcgMjAxMCwgMTg6MDY6MjEpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMjgwNjcyMzY3IHJnPXBhcnR5Cn4jISB0aWQ9MTI4MDY3MTQ4MQpBdWNoIHZvbiBtaXIgdmllbGVuIERhbmsgOi0pCldpZSBzY2hvbiBmZXN0Z2VzdGVsbHQgd3VyZGU6IGRpZSBwYXNzZW5kZW4gTGV1dGUsIGRlciBwYXNzZW5kZSBPcnQsIGRhcwpwYXNzZW5kZSBXZXR0ZXIuCgpTY2hvZW4gd2FycywKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtlIChNYWhhcmV0LCAgMS4gQXVnIDIwMTAsIDIwOjE2OjM1KToKfiMhIHJuPUh1cmF4cHJheCBydD0xMjgwNjcxNDgxIHJnPXBhcnR5Cn4jISB0aWQ9MTI4MDY3MTQ4MQpJY2ggaGF0dGUgZGFtaXQgZmFzdCBnYXIgbmljaHRzIHp1IHR1biwgaWNoIGhhYiBudXIgYWIgdW5kIHp1IG1hbCBhbiB6dQplcmxlZGlnZW5kZSBTYWNoZW4gZXJpbm5lcnQgOykKTWVpbiBEYW5rIGFuIE1lc2ksIENha2V5IHVuZCBEcmFodGJlZW4gZnVlcnMgT3JnYW5pc2llcmVuIHVuZCB1ZWJlcmhhdXB0LiBVbmQKZGFua2UgYW4gYWxsZSwgZGllIGdla29tbWVuIHNpbmQuIERhcyB3YXIgbmUgdG9sbGUgV29jaGUuIFp1IGR1bW0sIGRhc3MgaWNoCmdlcmFkZSBhbSBTYW1zdGFnIGtyYW5rIHdhciAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFua2UgKEZpcmVoYXdrLCAgMS4gQXVnIDIwMTAsIDIxOjEyOjM4KToKfiMhIHJuPUNoYWdhbGwgcnQ9MTI4MDY3MjM2NyByZz1wYXJ0eQp+IyEgdGlkPTEyODA2NzE0ODEKQXVjaCB2b24gbWlyIHZpZWxlbiBEYW5rIGFuIGRpZSBPcmdhbmlzYXRvcmVuIGRlciBQYXJ0eS4gRGllIFdvY2hlIHdhciBzZWhyCnNjaG9lbiwgZXJob2xzYW0gdW5kIGljaCBoYWJlIHNpZSBnZWJyYXVjaHQgOikKCkZpcmUqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYW5rZSAoR2xvaW5zb24sICAxLiBBdWcgMjAxMCwgMjE6MzA6NTUpOgp+IyEgcm49RmlyZWhhd2sgcnQ9MTI4MDY4OTk1OCByZz1wYXJ0eQp+IyEgdGlkPTEyODA2NzE0ODEKRGFua2UgYW4gZGllIE9yZ2FzIHVuZCBkaWUgVGVudGFrZWxtb25zdGVybWl0YnJpbmdlciA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhbmtlIChTaGFrZWRiZWVyLCAgMS4gQXVnIDIwMTAsIDIzOjA4OjIxKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyODA2OTEwNTUgcmc9cGFydHkKfiMhIHRpZD0xMjgwNjcxNDgxCkF1Y2ggdm9uIG1pciB2aWVsZW4gRGFuayBhbiBkaWUgT3JnYS1NdWRkZXIhIERhcyB3YXIgZWNodCBlaW5lIHJ1bmRlIFNhY2hlLgoKU2hha2VkYmVlciAtIHVlYmVyd2FjaHQgbnVuIHRhZWdsaWNoIGRpZSBUYXJhbWlzLUZpbGVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua2UgKENyb2Z0LCAgMS4gQXVnIDIwMTAsIDIzOjE4OjM5KToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9MTI4MDY5NjkwMSByZz1wYXJ0eQp+IyEgdGlkPTEyODA2NzE0ODEKSnVwcywgYmVzdGVuIERhbmsuCgoqQ3JvZnQgdHJpbmt0IGVpbmVuIFdoaXRlIFJ1c3NpYW4gYXVmIGRpZSBPcmdhKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGFua2UgKEh1bW5pLCAgMS4gQXVnIDIwMTAsIDIzOjIwOjQxKToKfiMhIHJuPUNyb2Z0IHJ0PTEyODA2OTc1MTkgcmc9cGFydHkKfiMhIHRpZD0xMjgwNjcxNDgxCkF1Y2ggdm9uIGhpZXIgZWluIGdyb3NzZXMgRGFua2VzY2hvZW4gYW4gZGllIE9yZ2FuaXNhdGlvbiEgV2FyIGVpbmUgdG9sbGUKV29jaGUgdW5kIGVpbmUgdWViZXJyYWdlbmRlIHVuZCBrb21wZXRlbnRlIEFicmVjaG51bmcuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGFua2UgKFh1dGVsaXVzLCAgMy4gQXVnIDIwMTAsIDIwOjQ4OjUxKToKfiMhIHJuPUh1bW5pIHJ0PTEyODA2OTc2NDEgcmc9cGFydHkKfiMhIHRpZD0xMjgwNjcxNDgxCk1vaW4sCm51IGJpbiBpY2ggYXVjaCB3aWVkZXIgenVoYXVzZSAoSmEsIHdhciBnZXBsYW50LCBkYXNzIGRhcyBlcnN0IGpldHp0IGlzdCkgdW5kCnNjaGxpZXNzZSBtaWNoIGFuLCBkYW5rZSBhbnMgT3JnYS1UZWFtLgpMRywgWHV0Kiwgd2VkZWx0IG1pdCBlaW5lbSAiR28gU2hha3kgZ28iLUZhZWhuY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERhbmtlIChaZXNzdHJhLCAxNC4gQXVnIDIwMTAsIDE5OjE4OjA4KToKfiMhIHJuPVh1dGVsaXVzIHJ0PTEyODA4NjEzMzEgcmc9cGFydHkKfiMhIHRpZD0xMjgwNjcxNDgxClNvLiBJcmdlbmR3aWUgYmluIGljaCBvZmZlbmJhciBub2NoIGltIFVybGF1YnNtb2R1cyB1bmQgaGFicyBtYWwgd2llZGVyIHRvdGFsCnZlcmJhc2VsdC4gV2FzPyBNZWluZW4gZmFsc2NoZW4gZWlnZW5lbiBBcnRpa2VsIHp1IGxvZXNjaGVuIG5hZW1saWNoLgpTdGF0dGRlc3NlbiBoYWIgaWNoIHdlZ2VuIFR5cG8gaW4gZGVyIEFydGlrZWxuci4gRGVyaW5zIGdlbG9lc2NodC4KClVuZCBkZXN3ZWdlbiBnaWJ0cyBkZW4gSW5oYWx0IHZvbiBkaWVzZW0gamV0enQgbm9jaG1hbDoKUnVicmlrIDY2OiBwYXJ0eSwgQXJ0aWtlbDogMTMgdm9uIDEzClJlXjg6IERhbmtlIChEZXJpbiwgIDUuIEF1ZyAyMDEwLCAxNzowMjo1MSk6CltCZXp1ZzogQXJ0aWtlbCAxMiB2b24gWHV0ZWxpdXMgdm9tICAzLiBBdWcgMjAxMCwgMjA6NDg6NTFdCgpEYW5rZXNjaG9lbiBhdWNoIHZvbiBtaXIhIEljaCBoYWIgZGFzIFdvY2hlbmVuZGUgc2VociBnZW5vc3NlbiwgZnJldWUgbWljaCwKRXVjaCBhbGxlIG1hbCBwZXJzb2VubGljaCBrZW5uZW5nZWxlcm50IHp1IGhhYmVuLiBCZXNvbmRlcmVuIERhbmsgYW4gZGllCnVuYnVlcm9rcmF0aXNjaGUgdW5kIGhpbGZzYmVyZWl0ZSBPcmdhLgoKRGVyaW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEYW5rZSAoWmVzc3RyYSwgMTQuIEF1ZyAyMDEwLCAxOToxOTowMik6Cn4jISBybj1aZXNzdHJhIHJ0PTEyODE4MDYyODggcmc9cGFydHkKfiMhIHRpZD0xMjgwNjcxNDgxClZvbiBtaXIgbWl0IGZhc3QgMiBXb2NoZW4gVmVyc3BhZXR1bmcgKGphLCBpY2ggYmluIHZvcmhpbiBlcnN0IG5hY2ggSGF1c2UKZ2Vrb21tZW4hKSBhdWNoIHZvbiBtaXIgZWluIGhlcnpsaWNoZXMgRGFua2UgYW4gZXVjaCBPcmdhbmlzYXRvcmVuISBEaWUKUGFydHl3b2NoZSB3YXIgZWluIHNlaHIgc2Nob2VuZXIgVGVpbCBtZWluZXMgU29tbWVydXJsYXVicyB1bmQgd2llIGltbWVyIHZpZWwKenUgc2NobmVsbCB2b3JiZWkuLi4gSWNoIGhvZmZlIGRhaGVyIGF1ZiBlaW5lIFNvbW1lcnBhcnR5IDIwMTEgKHVuZCBpcmdlbmR3YXMKZGF6d2lzY2hlbiwgV2ludGVyIG9kZXIgRnJ1ZWhqYWhyLi4uKS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSAoR2xvaW5zb24sICA3LiBPa3QgMjAxMCwgMTM6NTY6MDUpOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTEyODA2NzE0ODEgcmc9cGFydHkKfiMhIHRpZD0xMjgwNjcxNDgxCldhcyBsYW5nZSB3YWVocnQgd2lyZCBlbmRsaWNoIG9ubGluZToKaHR0cDovL3d3dy5mbHVuemVsLmRlL3BpY3MvYnJpZXNlbGFuZzEwLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJ1ZGVsdWViZXJuYWNodHVuZyBpbiBEcmVzZGVuIChNYWNsaSwgMjguIEZlYiAyMDExLCAyMDoyNDoxMik6Cn4jISBvbj1NYWNsaSBvdD0xMjk4OTIwODgyIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KRGEgZXMgbm9jaCBpbW1lciBkaWUgTVBBLVBvbGl6ZWkgZ2lidCBlcm9lZmZuZSBpY2ggaGllciBlaW5lbiBuZXVlbgpVZWJlcm5hY2h0dW5nc3RocmVhZC4gS3JzdGZycyB1bmQgTWFjbGkgc3VjaGVuIGtvc3Rlbmd1ZW5zdGlnZSBVZWJlcm5hY2h0dW5nCmluIERyZXNkZW4gdW5kIGZyZXVlbiBzaWNoIHVlYmVyIGplZGVuIGRlciBkaWUgWmltbWVya29zdGVuIHNlbmtlbiBoaWxmdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSdWRlbHVlYmVybmFjaHR1bmcgaW4gRHJlc2RlbiAoSGlnaHQsIDIyLiBNYXIgMjAxMSwgMDk6MDg6MTMpOgp+IyEgcm49TWFjbGkgcnQ9MTI5ODkyMTA1MiByZz1wYXJ0eQp+IyEgdGlkPTEyOTg5MjEwNTIKaHR0cDovL3d3dy5jb3VjaHN1cmZpbmcuY29tID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUnVkZWx1ZWJlcm5hY2h0dW5nIGluIERyZXNkZW4gKEdsb2luc29uLCAyMi4gTWFyIDIwMTEsIDA5OjIwOjA0KToKfiMhIHJuPUhpZ2h0IHJ0PTEzMDA3ODEyOTMgcmc9cGFydHkKfiMhIHRpZD0xMjk4OTIxMDUyCipma3VwKiB3YXJlbiBhbGxlIFNsb3RzIHZvbGwgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSdWRlbHVlYmVybmFjaHR1bmcgaW4gRHJlc2RlbiAoTWFoYXJldCwgMzEuIE1hciAyMDExLCAxMjozOToxNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzAwNzgyMDA0IHJnPXBhcnR5Cn4jISB0aWQ9MTI5ODkyMTA1MgpBbHNvIGljaCBoYWIgbWFsIG1pdCBkZW0gV2V0dGVyZ290dCB0ZWxldm9eSF5IXkhnZXNreXB0IHVuZCBmdWVyIEZyZWl0YWcgdW5kClNhbXN0YWcgMjEgR3JhZCB1bmQgU29ubmUgb3JnYW5pc2llcnQuCkZhbGxzIG5vY2ggamVtYW5kIGFtIHVlYmVybGVnZW4gaXN0LCBvYiBlciBrb21tdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5ZGFua3NhZ3VuZy4uLiAoWmVzc3RyYSwgMTAuIEFwciAyMDExLCAyMjo0OToyMik6ClZpZWxlbiBEYW5rIGZ1ZXIgZWluZSBrbGVpbmUgKHdvbGxlbiBlaWdlbnRsaWNoIG5pY2h0IG1laHIgTGV1dGUga29tbWVuPyksCmFiZXIgbmV0dGUgRnJ1ZWhqYWhyc3BhcnR5ISBEYXMgTG9sbGlzIHdhciBhdWNoIGVjaHQgc2Nob2VuIHp1IHVlYmVybmFjaHRlbiwKZ3VlbnN0aWcgdW5kIG1pdCBuZXR0ZXIgQXRtb3NwaGFlcmUuIE1lcmsgaWNoIG1pciBzY2hvbm1hbCBmdWVycyAoaG9mZmVudGxpY2gpCm5hZWNoc3RlIEphaHIuLi4KOmdlaHQgamV0enQgd29obCBuYWNoIHRlaWxzIGVyc2Nob2VwZmVuZGVyIEhlaW1mYWhydCBoZXV0IHdvaGwgbWFsIGZydWVoIGlucwpCZXR0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5ZGFua3NhZ3VuZy4uLiAoTWFjbGksIDExLiBBcHIgMjAxMSwgMjA6MTA6MDcpOgp+IyEgcm49WmVzc3RyYSBydD0xMzAyNDY4NTYyIHJnPXBhcnR5Cn4jISB0aWQ9MTMwMjQ2ODU2MgpEZW0gaXN0IG5pY2h0cyBoaW56dXp1ZnVlZ2VuLiBJY2ggd29sbHRlIG1pY2ggZWlnZW50bGljaCBnZXN0ZXJuIHNjaG9uCmJlZGFua2VuLCBhYmVyIGljaCB3YXIgc28gZmVydGlnIGRhcyBpY2ggbnVyIG5lbiBQb2RjYXN0IGFuZ2VzY2htaXNzZW4gaGFiZQp1bmQgZGlyZWt0IHNjaGxhZmVuIGdlZ2FuZ2VuIGJpbi4KCkRhbmtlIGZ1ZXIgZGllIG5ldHRlIFBhcnR5IHVuZCBiZXNvbmRlcnMgYW4gbWVpbmUgWmltbWVyZ2Vub3NzZW4gZGllIG1pY2ggYXVjaApub2NoIE5hY2h0cyBhdXNoYWx0ZW4gbXVzc3Rlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlkYW5rc2FndW5nLi4uIChWYW5pciwgMTEuIEFwciAyMDExLCAyMDo0MDozOSk6Cn4jISBybj1NYWNsaSBydD0xMzAyNTQ1NDA3IHJnPXBhcnR5Cn4jISB0aWQ9MTMwMjQ2ODU2MgpKdWh1LiBBbGxlcyB3YXIgc3VwYS4gR3V0IGdlZmFsbGVuIGhhdCBtaXIsIGRhc3MgZGllIFdldHRlcmxpZWZlcnVuZyBkYW5uIGRvY2gKbm9jaCBwdWVua3RsaWNoIGFua2FtLiBEYW5rZSBhbiBNYWhhIHVuZCBNZXNpIGZ1ZXJzIG9yZ2FuaXNpZXJlbi4gCi4uLiB1bmQgTG9sbGkncyB0b2xsLiAKVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5ZGFua3NhZ3VuZy4uLiAoR2xvaW5zb24sIDExLiBBcHIgMjAxMSwgMjI6MTU6MDQpOgp+IyEgcm49VmFuaXIgcnQ9MTMwMjU0NzIzOSByZz1wYXJ0eQp+IyEgdGlkPTEzMDI0Njg1NjIKRGl0by4gQXVjaCB3ZW5uIGlociBmYXVsZW4gTnVlc3NlIGFtIFNhbXN0YWcgbmljaHQgbWVociB1bnRlbiBnZXdlc2VuIHNlaWQuCldpciBoYWJlbiBkZW4gTG9sbGkgbm9jaCBlaW5lIE5hY2h0IGdlbm9zc2VuIC4uLiB1bmQgaWNoIGhhYiBtaXIgZGVuIGVyc3RlbgpTb25uZW5icmFuZCBzZWl0IGVpbmlnZW4gSmFocmVuIGdlaG9sdCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5ZGFua3NhZ3VuZy4uLiAoWmVzc3RyYSwgMTEuIEFwciAyMDExLCAyMjoyMjo1NSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzAyNTUyOTA0IHJnPXBhcnR5Cn4jISB0aWQ9MTMwMjQ2ODU2MgpJY2ggaGFiIGFtIFNvIE1pdHRhZyBhdWNoIG5lbiBTb25uZW5icmFuZCBnZWtyaWVndC4gdW5kIG5hZWNoc3RlcyBNYWwgaG9ja2VuCndpciB1bnMgaW4gZGVuIEdlbWVpbnNjaGFmdHNyYXVtLiBPZGVyIER1IGtvbW1zdCBob2NoLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlciAoR2xvaW5zb24sICA0LiBKdW4gMjAxMSwgMTc6Mzk6MTgpOgpNb2luLCBaZXNzdHJhIGhhdCBnZXJhZGUgZnVlciBmb2xnZW5kZSBQYXJ0aWVzIEJpbGRlciB2b24gbWlyIGVpbmdlc3RlbGx0OgoKKiBIYXR0aW5nZW4gMDUgKGlzdCBtYWwgaW0gaW5jb21pbmcgdmVybG9yZW4gZ2VnYW5nZW4pCiogSGFpdGhhYnUgMDgKKiBXZXJuaWdlcm9kZSAwOAoKRGFua2UhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2FsZW0gLy8gUmFkIChab29rLCAyOC4gSnVuIDIwMTEsIDE2OjM4OjQzKToKSHVodSwgaWNoIGJyaW5nZSBtZWluIEZhaHJyYWQgbWl0IG5hY2ggU2FsZW07IGdpYnQgZXMgbm9jaCBJbnRlcmVzc2VudGVuLApkaWUgZGllIFdvY2hlIHVlYmVyIHZpZWxsZWljaHQgZGllIGVpbmUgb2RlciBhbmRlcmUga2xlaW5lcmUgUmFkLVRvdXIKbWFjaGVuIG1vZWNodGVuLi4/IEJpbiBuaWNodCBzbyB3aXJrbGljaCBndXQgZ2V1ZWJ0LCBhbHNvIGJpdHRlIGtlaW5lIApNZWlzdGVyc2NoYWZ0c3Jlbm5lbiBlcndhcnRlbi4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYWxlbSAvLyBSYWQgKERlbW9ubG9yZCwgMjguIEp1biAyMDExLCAxNjo0MDozMCk6Cn4jISBybj1ab29rIHJ0PTEzMDkyNzE5MjMgcmc9cGFydHkKfiMhIHRpZD0xMzA5MjcxOTIzCkF1Y2ggSHVodSEgSm8sIGhhdHRlIGF1Y2ggdm9yLCBtZWluIFJhZCBtaXR6dW5laG1lbi4gUGFhciBsb2NrZXJlciBBdXNmYWhydGVuCmltIDQwZXIgU2Nobml0dCBzb2xsdGVuIGFsc28gZHJpbiBzZWluLgpETAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYWxlbSAvLyBSYWQgKEdsb2luc29uLCAyOS4gSnVuIDIwMTEsIDEzOjQxOjA5KToKfiMhIHJuPURlbW9ubG9yZCBydD0xMzA5MjcyMDMwIHJnPXBhcnR5Cn4jISB0aWQ9MTMwOTI3MTkyMwpEYW5uIGthbm5zdCBkdSBpbW1lciBzY2hvbiBtYWwgZGFzIEJpZXIgYmVzdGVsbGVuLCBiZXZvciB3aXIgbmFjaGtvbW1lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNVUQtUGFydHkgaW4gU2FsZW0gYW0gQm9kZW5zZWU6IFRlcm1pbmZpbmR1bmcgKFpvb2ssIDIxLiBKdWwgMjAxMSwgMDg6MTk6MTgpOgp+IyEgb249Wm9vayBvdD0xMzExMjI5MTUxIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUdsb2luc29uIHJ0PTEzMTEyMTgzNzQgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEzMDIzNjc0NDIKVW5kIHdpZSBhZW5kZXJlIGljaCBkYSBlaW5lIFNlaXRlPyBJY2ggYmVrb21tIGRhIG51ciBuZSBLZW5ud29ydC1BYmZyYWdlLgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTVVELVBhcnR5IGluIFNhbGVtIGFtIEJvZGVuc2VlOiBUZXJtaW5maW5kdW5nIChHbG9pbnNvbiwgMjEuIEp1bCAyMDExLCAxNDozMzo1Nyk6Cn4jISBybj1ab29rIHJ0PTEzMTEyMjkxNTggcmc9cGFydHkKfiMhIHRpZD0xMzAyMzY3NDQyCkphYWFhYWEgLi4uIGVudHdlZGVyIGhhdCBaZXNzdHJhIGRhIGVpbmUgQXJ0IEVudHNwZXJydW5nIHBhcmF0IG9kZXIgd2lyCm11ZXNzZW4gZGllc2UgU3Vic2VpdGUgbWFsIGF1ZiBlaW4gYW5kZXJlcyBXaWtpd2lraSB2ZXJsZWdlbi4gRGFzIFBhc3N3b3J0CmRhcmYgaWNoIHNpY2hlciBoaWVyIG5pY2h0IHBvc3Rlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNVUQtUGFydHkgaW4gU2FsZW0gYW0gQm9kZW5zZWU6IFRlcm1pbmZpbmR1bmcgKFpvb2ssIDIxLiBKdWwgMjAxMSwgMTU6NTM6NTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMxMTI1MTYzNyByZz1wYXJ0eQp+IyEgdGlkPTEzMDIzNjc0NDIKTWFuIGhhdCBlcyBtaXIgZ2VzYWd0OyB2bGwuIHNjaHJlaWJ0IG1hbiBlcyByZWluLCBkYXNzIG1hbiBlcyBoaWVyIGltIApNRyBlcmZyYWdlbiBrYW5uIHVuZCBndXQuCgpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNVUQtUGFydHkgaW4gU2FsZW0gYW0gQm9kZW5zZWU6IFRlcm1pbmZpbmR1bmcgKFplc3N0cmEsIDIxLiBKdWwgMjAxMSwgMTU6NTU6NDgpOgp+IyEgcm49Wm9vayBydD0xMzExMjU2NDMxIHJnPXBhcnR5Cn4jISB0aWQ9MTMwMjM2NzQ0MgpEYXMgV2lraSB3aXJkIHZvbiBNZXNpcmlpIGFkbWluaXN0cmllcnQsIGljaCBoYWIgZGEgZ2VuYXVzb3ZpZWxlIFJlY2h0ZSB3aWUKamVkZXIgYW5kZXJlIGF1Y2gsIGQuaC4gaWNoIGthbm4gZGEga2VpbmUgRW50c3BlcnJ1bmcgdm9ybmVobWVuLiBBYmVyCnZpZWxsZWljaHQgcmVpY2h0IGVzIHp1IGVyd2FlaG5lbiwgZGFzcyBkZXMgUmFldHNlbHMgTG9lc3VuZyB1bnNlciBndXRlciBhbHRlcgpNYWdpZXJ2YXRlciBpc3QuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNVUQtUGFydHkgaW4gU2FsZW0gYW0gQm9kZW5zZWU6IFRlcm1pbmZpbmR1bmcgKFpvb2ssICA5LiBBdWcgMjAxMSwgMTQ6MzU6MDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMxMjg5MzIwMSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTMwMjM2NzQ0MgpVbmQgd2FzIGlzdCBtaXQgV0VUVEVSPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1VRC1QYXJ0eSBpbiBTYWxlbSBhbSBCb2RlbnNlZTogVGVybWluZmluZHVuZyAoR2xvaW5zb24sICA5LiBBdWcgMjAxMSwgMTQ6NDA6MzYpOgp+IyEgcm49Wm9vayBydD0xMzEyODkzMzAzIHJnPXBhcnR5Cn4jISB0aWQ9MTMwMjM2NzQ0MgpEZW1vbmxvcmQgaGF0IGFiIHVuZCBhbiBrcmFlZnRpZ2UgV2luZGUgdW5kIG1vbWVudGFuIGJlZGVja3Qvc29ubmlnIG5hY2ggU2FsZW0KZ2VzY2hpY2t0LiBSZWdlbnNjaGF1ZXIgZ2lidCBlcyBhdWNoIGhpbiB1bmQgd2llZGVyLCBtb21lbnRhbmUKQXVzc2VudGVtcGVyYXR1ciAzMiBHcmFkIEMgaW4gZGVyIFNvbm5lLCAyMCBHcmFkIEMgaW0gU2NoYXR0ZW4uCgpJbnRlcmVzc2FudGVyd2Vpc2UgbGFnIGRpZSBhbGxnZW1laW5lIFdldHRlcnZvcmhlcnNhZ2UgZnVlciBSZWdlbiB1bmQgV29sa2VuCmluIGRlbiBsZXR6dGVuIE1vbmF0ZW4gb2VmdGVyIG1hbCBkYW5lYmVuLiBEYXMgTWlrcm9rbGltYSBkZXMgU2FsZW1lciBUYWxzCnNjaGVpbnQgV29sa2VuIGVpbiB3ZW5pZyBhYnp1bGVua2VuLCBpY2ggd2FlciBuaWNodCB0cmF1cmlnLCB3ZW5uIGVzIGRhYmVpCmJsaWViZSA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1VRC1QYXJ0eSBpbiBTYWxlbSBhbSBCb2RlbnNlZTogVGVybWluZmluZHVuZyAoR2xvaW5zb24sICA5LiBBdWcgMjAxMSwgMTY6MDA6MzIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMxMjg5MzYzNiByZz1wYXJ0eQp+IyEgdGlkPTEzMDIzNjc0NDIKUFM6IFdlciBub2NoIGVpbmUgRlNNRS1HcnVuZGltbXVuaXNpZXJ1bmcgYmVzb3JnZW4gd2lsbCwgc29sbHRlIGRhcyBkaWVzZQpXb2NoZSB0dW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2llZGVyIHp1IEhhdXMhIChab29rLCAyMS4gQXVnIDIwMTEsIDIwOjU1OjUyKToKCkhhbGxvLAoKYmVzdGVuIERhbmsgZnVlciBkaWUgbmV0dGUgdW5kIHNjaG9lbmUgUGFydHktV29jaGUgaW4gU2FsZW0uIEFsbGVuLCBkaWUKaXJnZW5kd28gdm9yYmVyZWl0ZXQgdW5kIG1pdGdlaG9sZmVuIGhhYmVuLCBkYXNzIGRhcyBhbGxlcyBzbyBodWVic2NoCnd1cmRlLiAKCkljaCBoYWJlIG1pY2ggZ3V0IGVyaG9sdCwgZWluIHBhYXIga20gUmFkIGdlZmFocmVuIChsZWlkZXIgbmljaHQgbWl0IApEZW1vbmxvcmQsIGRhIGRlciBqYSB6dSBzY2huZWxsIGZ1ZXIgbWljaCBpc3QpIHVuZCBoYXR0ZSB2aWVsZSBzY2hvZW5lIAp1bmQgbmV0dGUgR2VzcHJhZWNoZS4KCkRhcnVlYmVyaGluYXVzOgoKQWxzIElIUiBkYW5uIGFsbGUgYmVpbSBDYW1waW5ncGxhdHogd2VnIGdlZmFocmVuIHNlaWQgdW5kIGljaCBtZWluIApCbGVjaHplbHQgaW4gQmV3ZWd1bmcgc2V0emVuIHdvbGx0ZSAuLi4uIE5JWCBHSU5HISBBbHNvIG1pdCBTdGFydGVya2FiZWwKZGFzIGd1dGUgU3R1ZWNrIGRhbm4gZG9jaCBpbiBXYWxsdW5nIGdlYnJhY2h0IC4uLiAoaW50ZXJlc3NhbnQsIGRpZSBEYW1lCmFuIGRlciBSZXplcHRpb24gbWVpbnRlOiAiT2gsIER1IGJpc3QgaGV1dCBzY2hvbiBkZXIgc2llYnRlLCBkZXNzZW4gQXV0bwpuaWNodCBhbmdlaHQuLi4iKS4gCgpJY2ggbXVzcyBub2NoIEdlbGQgZnVlciBCaWVyIGJlemFobGVuLiBXbyB1bmQgd2llIHZpZWw/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZWRlciB6dSBIYXVzISAoQ3JvZnQsIDIxLiBBdWcgMjAxMSwgMjE6MTM6NDEpOgp+IyEgcm49Wm9vayBydD0xMzEzOTUyOTUyIHJnPXBhcnR5Cn4jISB0aWQ9MTMxMzk1Mjk1MgpKbywgcHJpbWEgd2Fycy4gIEJ6Z2wgRnJ1ZWhzdHVlY2sgJiBCaWVyIHdlcmQgaWNoIG1hbCBydW1mcmFnZW4gdW5kIGV0d2FzCmltIFdpa2kvR29vZ2xlZG9jcyBhdWZtYWNoZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZWRlciB6dSBIYXVzISAoR2xvaW5zb24sIDIxLiBBdWcgMjAxMSwgMjE6MTQ6MDApOgp+IyEgcm49Wm9vayBydD0xMzEzOTUyOTUyIHJnPXBhcnR5Cn4jISB0aWQ9MTMxMzk1Mjk1MgpEYXMgaXN0IGphIHJpY2h0aWcgZHVtbSBnZWxhdWZlbiwgc28gZWluIE1pc3QuIFdpciBzYXNzZW4gYXVjaCBhbGxlIGh1ZWJzY2ggaW0KQmV1cmVuZXIgTW9iaWxmdW5rbG9jaC4gQWJlciB3aXIgaGFiZW4gYmVpbSBNYW1wZmVuIGRlaW5lIGdlZGFjaHQgOykKCk5ldHRlIFdvY2hlIG1pdCBldWNoLCBpY2ggYnJhdWNoIGVyc3RtYWwgVXJsYXViIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWVkZXIgenUgSGF1cyEgKENyb2Z0LCAyMS4gQXVnIDIwMTEsIDIxOjE0OjIxKToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMTM5NTQwNDAgcmc9cGFydHkKfiMhIHRpZD0xMzEzOTUyOTUyCkR1IHdhcnN0IGRvY2gga2F1bSBkYSA7LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWVkZXIgenUgSGF1cyEgKEdsb2luc29uLCAyMS4gQXVnIDIwMTEsIDIxOjE2OjIxKToKfiMhIHJuPUNyb2Z0IHJ0PTEzMTM5NTQwNjEgcmc9cGFydHkKfiMhIHRpZD0xMzEzOTUyOTUyCkljaCBoYXR0ZSBtaW5kZXN0ZW5zIHp3ZWkgTmFjaHRzY2hpY2h0ZW4hIFVuZCB3ZW5uIGlociBldWNoIGV1cmVuIFNvbm5lbmJyYW5kCmxpZWJlciBhdWYgZGVtIFBsYXR6IGFuc3RhdHQgYW0gU2VlIGhvbHQsIGthbm4gaWNoIGphIGF1Y2ggbml4IGRhZnVlcgooenVnZWdlYmVuLCBkYSBoYWV0dGUgaWNoIGV1Y2ggbm9jaCBlaW4gendlaSBydWhpZ2UgRWNrZW4genVtIFJvbGxlbnNwaWVsZW4KemVpZ2VuIG11ZXNzZW4pLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWVkZXIgenUgSGF1cyEgKEdsb2luc29uLCAyMi4gQXVnIDIwMTEsIDAxOjM0OjU1KToKfiMhIHJuPVpvb2sgcnQ9MTMxMzk1Mjk1MiByZz1wYXJ0eQp+IyEgdGlkPTEzMTM5NTI5NTIKUFM6IFN1Y2hlIGVpbmVuIFRhbXJvbi1PYmpla3RpdmRlY2tlbCBmdWVyIGVpbiAxNy01MG1tIDY3bW0gVGFtcm9uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2llZGVyIHp1IEhhdXMhIChBcmF0aG9ybiwgMjIuIEF1ZyAyMDExLCAwMTozNzoxMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMzEzOTY5Njk1IHJnPXBhcnR5Cn4jISB0aWQ9MTMxMzk1Mjk1MgpEZXIgbGFnIGhldXRlIG1vcmdlbiBub2NoIGF1ZiBkZW0gUGxhdHouIElyZ2VuZGplbWFuZCB3dXNzdGUsIGRhc3MgZXMgZGVpbmVyCmlzdCwgdW5kIGVyIHd1cmRlIGVudHNwcmVjaGVuZCBlaW5nZXBhY2t0LiBJY2ggd2Vpc3MgbnVyIG5pY2h0IG1laHIsIHdlcgpkYXMgamV3ZWlscyB3YXIuIDstKQoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWVkZXIgenUgSGF1cyEgKENyb2Z0LCAyMi4gQXVnIDIwMTEsIDA3OjU3OjM1KToKfiMhIHJuPUFyYXRob3JuIHJ0PTEzMTM5Njk4MzIgcmc9cGFydHkKfiMhIHRpZD0xMzEzOTUyOTUyCkljaCBnbGF1YiBkYXMgd2FyIEd1YXJkLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2llZGVyIHp1IEhhdXMhIChab29rLCAyMi4gQXVnIDIwMTEsIDA5OjQ3OjA5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMTM5Njk2OTUgcmc9cGFydHkKfiMhIHRpZD0xMzEzOTUyOTUyCkRlbiBoYWJlIGljaCBpcmdlbmR3byBtYWwgaGVydW1saWVnZW4gc2VoZW47IGhhYmUgYWJlciBuaWNodAptaXRiZWtvbW1lbiwgd2VyIGlobiBlaW5nZXBhY2t0IGhhdHRlLiAKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWVkZXIgenUgSGF1cyEgKFplc3N0cmEsIDIyLiBBdWcgMjAxMSwgMTQ6MTU6MjUpOgp+IyEgcm49Wm9vayBydD0xMzEzOTUyOTUyIHJnPXBhcnR5Cn4jISB0aWQ9MTMxMzk1Mjk1MgpBdWNoIG1laW5lbiBEYW5rIGFuIEdsb2luc29uIHVuZCBhbmRlcmUgSGVsZmVyISBEaWUgV29jaGUgd2FyIGVpbiB3dWVyZGlnZXIKQWJzY2hsdXNzIG1laW5lcyBTb21tZXJ1cmxhdWJzIGRpZXNlcyBKYWhyLCB0b2xsIGRhc3MgaWNoIG1hbCB3aWVkZXIgdmllbGUgdm9uCmV1Y2ggdHJlZmZlbiBrb25udGUgdW5kIGljaCBmcmV1ZSBtaWNoIHNjaG9uIGF1ZiBkYXMgbmFlY2hzdGUgSmFociEKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpZWRlciB6dSBIYXVzISAoR2xvaW5zb24sIDIyLiBBdWcgMjAxMSwgMjI6NDA6MzApOgp+IyEgcm49Wm9vayBydD0xMzEzOTk5MjI5IHJnPXBhcnR5Cn4jISB0aWQ9MTMxMzk1Mjk1MgpEYW5rZSwgVmVyYmxlaWIgZGFtaXQgZ2VrbGFlcnQuIE51biBtdXNzIGljaCBpaG4gbnVyIG5vY2ggZGVyIFNjaHdlc3RlcgplbnRyaW5nZW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaWVkZXIgenUgSGF1cyEgKE1lc2lyaWksIDIzLiBBdWcgMjAxMSwgMDE6NTI6MDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMxNDA0NTYzMCByZz1wYXJ0eQp+IyEgdGlkPTEzMTM5NTI5NTIKQXVjaCB2b24gdW5zIHZpZWxlbiBEYW5rIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IHVuZCB2b3IgYWxsZW0gZGFzIFdldHRlci4KV2lya2xpY2ggc2VociBnZWx1bmdlbi4gTmFjaCA4IFN0dW5kZW4gRmFocnQgd2FyZW4gd2lyIGRhbm4genVoYXVzZSB1bmQgaGV1dGUKaGFiIGljaCBub2NoCmVpbiBwYWFyIFN0dW5kZW4gWmVsdCBnZXB1dHp0LgoKQmlzIGhvZmZlbnRsaWNoIGJhbGQgbWFsIHdpZWRlciBpbiBTYWxlbS4KCk1lc2kgdW5kIGRpZSBNYWVkZWxzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaWVkZXIgenUgSGF1cyEgKFZlY3RvciwgMjUuIEF1ZyAyMDExLCAxMDozNDo1Nyk6Cn4jISBybj1NZXNpcmlpIHJ0PTEzMTQwNTcxMjQgcmc9cGFydHkKfiMhIHRpZD0xMzEzOTUyOTUyCkphdSBkYW5rZSBhbiBkaWUgc2ljaHRiYXJlbiB1bmQgdW5zaWNodGJhcmVuIEhlbGZlci4KU2Nob2VuIHdhZXJzIHVuZCBub2NoIGJlc29uZGVyZW4gZGFuayBhbiBkZW4KUGF2aWxsaW9uLVNjaGF0dGVuLVNwZW5kZXIoaW4/KQoKLS1WZWN0b3ItLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2llZGVyIHp1IEhhdXMhIChaZXNzdHJhLCAyNS4gQXVnIDIwMTEsIDEwOjM4OjIxKToKfiMhIHJuPVZlY3RvciBydD0xMzE0MjYxMjk3IHJnPXBhcnR5Cn4jISB0aWQ9MTMxMzk1Mjk1MgpTdGltbXQuIFZpZWxlbiBEYW5rIGFuIFNjaGF0dGVuLSB1bmQgQmlybmVuc3BlbmRlcmluIEJvZSEgOi0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaWVkZXIgenUgSGF1cyEgKFpvb2ssIDI1LiBBdWcgMjAxMSwgMTE6Mzk6MDkpOgp+IyEgcm49WmVzc3RyYSBydD0xMzE0MjYxNTAxIHJnPXBhcnR5Cn4jISB0aWQ9MTMxMzk1Mjk1Mgpab29rIGRlbmt0IC4gbyBPIChQYXJ0eSBpbSBTY2hhdHRlbiBkZXIgQmlybmUuLi4/KSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlc3RlY2tuYWNoYmVzdGVsbHVuZyAoQ3JvZnQsIDI5LiBBdWcgMjAxMSwgMDk6MzI6MTUpOgpEYSBlcyBkb2NoIG5vY2ggZWluaWdlIEludGVyZXNzaWVydGUgKHVuZCBVZWJlcnNlaGVuZSkgYmVpIGRlciBCZXN0ZWNrLQpiZXN0ZWxsdW5nIGdpYnQsIGhhYiBpY2ggbWFsIGltIFdpa2kgZWluZSBTZWl0ZSBkYWZ1ZXIgYW5nZWxlZ3Q6Cmh0dHA6Ly93aWtpLm1vcmdlbmdyYXVlbi5pbmZvL2luZGV4LnBocD9uPU1vcmdlbkdyYXVlbi5Tb21tZXJwYXJ0eVhYWFZJSUktQmVzdAplY2tuYWNoYmVzdGVsbHVuZwpIaWVyIGJpdHRlIGJpcyBFbmRlIFNlcHRlbWJlciBhbGxlIGVpbnRyYWdlbiwgZGllIG5vY2ggZWluIGdyYXZpZXJ0ZXMKQmVzdGVjayAoTWVzc2VyICsgR2FiZWwgKyBncm9zc2VyIExvZWZmZWwgKyBrbGVpbmVyIExvZWZmZWwpIGlociBlaWdlbgpuZW5uZW4gbW9lY2h0ZW4uCkRlc3dlaXRlcmVuIGthbSBkaWUgVWViZXJsZWd1bmcgYXVmLCBvYiBtYW4gbmljaHQgYXVjaCBncmF2aWVydGUgTWV0YWxsdGVsbGVyCnVuZCAtdGFzc2VuIGFuZmVydGlnZW4gbGFlc3N0LiAgQXVmIGRlciBvYmVuZ2VuYW5udGVuIFNlaXRlIGthbm4gaGllciBhdWNoCkludGVyZXNzZSBiZXpldWd0IHdlcmRlbiA6LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb21tZXJwYXJ0eSBTYWxlbSBLb3N0ZW51bWxhZ2UgKENyb2Z0LCAyOS4gQXVnIDIwMTEsIDE2OjMxOjE3KToKU28sIG5hY2hkZW0gZXMgbGVpZGVyIG5pY2h0IGdla2xhcHB0IGhhdCBpbSBMYXVmZSBkZXIgUGFydHkgc2VsYnN0IGRpZQpHZWxkdW1sYWdlCnZvcnp1bmVobWVuLCBzdGFydGUgaWNoIGRlbiBWZXJzdWNoIGRhcyBuYWNodHJhZWdsaWNoIHp1IG1hY2hlbi4gIFVudGVyCmh0dHA6Ly93aWtpLm1vcmdlbmdyYXVlbi5pbmZvL2luZGV4LnBocD9uPU1vcmdlbkdyYXVlbi5Tb21tZXJwYXJ0eVhYWFgtVW1sYWdlbgpnaWJ0IGVzIHp3ZWkgVGFiZWxsZW4gaW4gZGVuZW4gZGllIEJldGVpbGlndGVuIGJpdHRlIGlocmUgQXVzbGFnZW4gdW5kIGlocmVuCktvbnN1bSBlaW50cmFnZW4uICBBbGxlcyB3ZWl0ZXJlIGRhbm4gc3BhZXRlciA6LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgU2FsZW0gS29zdGVudW1sYWdlIChHbG9pbnNvbiwgIDEuIFNlcCAyMDExLCAwMDozNzoyOSk6Cn4jISBybj1Dcm9mdCBydD0xMzE0NjI4Mjc3IHJnPXBhcnR5Cn4jISB0aWQ9MTMxNDYyODI3NwpIYWIgbWljaCBtYWwgZW50ZmVybnQuIEljaCB3YXIgZnVlciBkaWVzZSBpbiBrZWluZW4gS2FzdGVuIHBhc3NlbmRlbgpSb3RoYXVzLVBpbHMgdmVyYW50d29ydGxpY2gsIGRpZSBpY2ggc3RyYXRlZ2lzY2ggZ2VzY2hpY2t0IGdldHJ1bmtlbiBvZGVyCmdldGF1c2NodCBoYWJlIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWVkZXIgenUgSGF1cyEgKE1haGFyZXQsICA5LiBTZXAgMjAxMSwgMTE6MDM6MTgpOgp+IyEgcm49WmVzc3RyYSBydD0xMzE0MDE1MzI1IHJnPXBhcnR5Cn4jISB0aWQ9MTMxMzk1Mjk1MgpBdWNoIHZvbiBtaXIgdmllbGVuIERhbmsgZnVlciBkaWUgUGFydHlvcmdhbmlzYXRpb24uIApVbmQgZWluZW4gYmVzb25kZXJlbiBEYW5rIGFuIGRpZSBTcGFycmluZyBQYXJ0bmVyIGZ1ZXIgU2VsbWEgdW5kIFJhbmEsCmluc2Jlc29uZGVyZSBWYW5IZWxzaW5nLCBHdWFyZCB1bmQgVGVuYXIuIERpZSBNYWVkZWxzIHNjaHdhZXJtZW4gaW1tZXIgbm9jaAp2b24gaWhyZW4gUXVhdHNjaGlzIHVuZCBoYWJlbiBpbSBVcmxhdWIgaW1tZXIgZWluZSBFeHRyYXBvcnRpb24gZnVlciBldWNoCm1pdGdlZ2Vzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHliaWxkZXIgKE1lc2lyaWksIDE2LiBTZXAgMjAxMSwgMjA6MDg6MzApOgpWYXJkaW9uIGhhdCBnZXJhZGUgenVyZWNodCBnZWZyYWd0IG9iIGRhIGltIFNvbW1lciB1ZWJlcmhhdXB0IG5lIFBhcnR5IHdhciwgZGEKZXMgYmlzIGpldHp0IG5vY2gga2VpbmUgQmlsZGVyIHp1IHNlaGVuIGdpYnQuCgpBbHNvIGJpdHRlIHdpZSBnZWhhYnQgQmlsZGVyIG1pdCBJbmRleCB2ZXJzZWhlbiwgaW4gZnRwOi8vbWcubXVkLmRlL2luY29taW5nCmxlZ2VuIHVuZCBkYW5uIHdlcmRlbiBzaWUgYXVmIGRlciBQYXJ0eXNlaXRlIGJlcmVpdGdlc3RlbGx0LgoKTWVzaSwgd2lyZCBNYWhhKiBtYWwgc2NodWJzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsdGUgUGFydHliaWxkZXIgKEdsb2luc29uLCAyMC4gU2VwIDIwMTEsIDIyOjQ5OjA1KToKRGFuayBaZXNzdHJhIHNpbmQgbnVuIGF1Y2ggbWVpbmUgdmVyc2Nob2xsZW5lbiBCaWxkZXIgYXVzCiogSGFsbGUgMjAwNAoqIFdpbnRlcmJ1cmcgMjAwNAoqIEJyaWVzZWxhbmcgMjAwNgpvbmxpbmUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlc3RlY2tuYWNoYmVzdGVsbHVuZyAoQ3JvZnQsIDI2LiBTZXAgMjAxMSwgMDg6MDA6MTcpOgp+IyEgcm49Q3JvZnQgcnQ9MTMxNDYwMzEzNSByZz1wYXJ0eQp+IyEgdGlkPTEzMTQ2MDMxMzUKSmV0enQgYXVjaCBtaXQgQmlsZCA6LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgU2FsZW0gS29zdGVudW1sYWdlIChDcm9mdCwgIDMuIE9rdCAyMDExLCAxNDo0MDo1Nik6Cn4jISBybj1Dcm9mdCBydD0xMzE0NjI4Mjc3IHJnPXBhcnR5Cn4jISB0aWQ9MTMxNDYyODI3NwpCdW1wLiAgSWNoIHd1ZXJkIGRhcyBUaGVtYSBnZXJuIG1hbCB6dSBFbmRlIGJyaW5nZW4uICBXZXIgc2ljaCBuaWNodCBydWVocnQKd2lyZCB2b24gbWlyIHBlcnNvZW5saWNoIGFuZ2VzcHJvY2hlbiB3ZXJkZW4hICpEcm9oKgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgU2FsZW0gS29zdGVudW1sYWdlIChab29rLCAgMy4gT2t0IDIwMTEsIDIwOjM3OjEyKToKfiMhIHJuPUNyb2Z0IHJ0PTEzMTc2NDU2NTYgcmc9cGFydHkKfiMhIHRpZD0xMzE0NjI4Mjc3CkljaCBiaXR0ZSBkYXJ1bSEgCkNyb2Z0LCByYWV1bWUgYXVmISA6KQpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29tbWVycGFydHkgU2FsZW0gS29zdGVudW1sYWdlIChDcm9mdCwgMjguIE9rdCAyMDExLCAxMjoyNzoxNyk6Cn4jISBybj1ab29rIHJ0PTEzMTc2NjcwMzIgcmc9cGFydHkKfiMhIHRpZD0xMzE0NjI4Mjc3ClNvLCBkaWUgRGF0ZW4gc2luZCBhbGxlIGVpbmdldHJpZWJlbiB1bmQgZWluZSBCaWxhbnogaXN0IGVyc3RlbGx0OgpodHRwOi8vd2lraS5tb3JnZW5ncmF1ZW4uaW5mby91cGxvYWRzL01vcmdlbkdyYXVlbi9zYWxlbS5wZGYKRWluIHBhYXIgZWluZmFjaGUgd2VpbCBuYWhlbGllZ2VuZGUgR2VsZGZsdWVzc2UgaGFiIGljaCBzY2hvbiBtYWwKZWluZ2V0cmFnZW4uICBCbGVpYnQgbm9jaCBkaWUgRnJhZ2Ugd2llIGRlciBSZXN0IGF1c2dlZ2xpY2hlbiB3aXJkLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvbW1lcnBhcnR5IFNhbGVtIEtvc3RlbnVtbGFnZSAoR2xvaW5zb24sIDI4LiBPa3QgMjAxMSwgMTQ6Mjg6MTIpOgp+IyEgcm49Q3JvZnQgcnQ9MTMxOTc5NzYzNyByZz1wYXJ0eQp+IyEgdGlkPTEzMTQ2MjgyNzcKSWNoIHNlaCBkYToKCiogRHVuc3QgYmVrb21tdCBub2NoICAgICAgMzgsMjkKKiBIdW1uaSBiZWtvbW10IG5vY2ggICAgICAzMCwxNgoqIFRlbmFyIGJla29tbXQgbm9jaCAgICAgICA1LDY5CiogVmFuaGVsc2luZyBiZWtvbW10IG5vY2ggIDYsMDcKICAgICAgICAgICAgICAgICAgICAgICAgID0gODAsMjEKCkFsc28gZ2ViZW4gbWlyIER1bnN0IHVuZCBIdW1uaSBpaHJlIEtOci9CTFogdW5kIGljaCB1ZWJlcndlaXNlLiBUZW5hciB1bmQgVG9iaQprb2VubmVuIHNpY2ggYXVzc3VjaGVuLCBvYiBzaWUgZGFzIEdlbGQgYXVjaCBnbGVpY2ggdWViZXJ3aWVzZW4gaGFiZW4gd29sbGVuCm9kZXIgd2lyIGVzIGhvZmZlbnRsaWNoIGluIGt1cnplciBaZWl0ICgqZ3JpbnMqKSB2ZXJyZWNobmVuLiBCTFovS05yIGJla2FubnQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVycGFydHkgU2FsZW0gS29zdGVudW1sYWdlIChDcm9mdCwgIDEuIE5vdiAyMDExLCAxODoyOTo0Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzE5ODA0ODkyIHJnPXBhcnR5Cn4jISB0aWQ9MTMxNDYyODI3NwpEYW5rIEFoYWIgaGF0IGRhcyAucGRmIG51biBhdWNoIGVpbmUgVGFiZWxsZSB3ZXIgd2lldmllbCBhbiB3ZW4gZ2ViZW4gc29sbC4KaHR0cDovL3dpa2kubW9yZ2VuZ3JhdWVuLmluZm8vdXBsb2Fkcy9Nb3JnZW5HcmF1ZW4vc2FsZW0ucGRmCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5YmlsZGVyIChWYXJkaW9uLCAxNS4gTm92IDIwMTEsIDE4OjI4OjU1KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTMxNjE5NjUxMCByZz1wYXJ0eQp+IyEgdGlkPTEzMTYxOTY1MTAKWndlaSBNb25hdGUgc2luZCB2ZXJnYW5nZW4gdW5kIGVzIGdpYnQgbm9jaCBpbW1lciBrZWluZSBCaWxkZXIuIFplaXQsIGRpZQpIb2ZmbnVuZyBhdWZ6dWdlYmVuPwoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eWJpbGRlciAoWm9vaywgMTcuIE5vdiAyMDExLCAxMDoyNDoxOCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEzMjEzNzgxMzUgcmc9cGFydHkKfiMhIHRpZD0xMzE2MTk2NTEwCkljaCBoYWJlIGtlaW5lIGdlbWFjaHQuClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWJpbGRlciAoR2xvaW5zb24sIDE4LiBOb3YgMjAxMSwgMTg6NTY6MDcpOgp+IyEgcm49Wm9vayBydD0xMzIxNTIxODU4IHJnPXBhcnR5Cn4jISB0aWQ9MTMxNjE5NjUxMApJY2ggaGFiIG51ciBlaW5zIHZvbiBab29rIGdlbWFjaHQgdW5kIGRhIGdld2lubnQgZXIgZ3JhZCBhdWYgZGVtIElwYWQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiAoWmVzc3RyYSwgMTIuIEZlYiAyMDEyLCAyMDoxNToxNSk6Cn4jISBybj1NZXNpcmlpIHJ0PTEzMjkwMDM0NTEgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEzMjcyNjU1MzgKT2suIFdlciBoYXQgZGVubiBJbnRlcmVzc2UsIGF1Y2ggaW0gTG9sbGlzIEhvbWVzdGVhZCB6dSB1ZWJlcm5hY2h0ZW4/IFdhZXJlIGphCnByYWt0aXNjaCwgZGEgZ2VtZWluc2FtIGF1ZiBlaW4gWmltbWVyIHp1IGdlaGVuLgpodHRwOi8vd3d3LmxvbGxpc2hvbWUuZGUvCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiAoUnVtYXRhLCAxMi4gRmViIDIwMTIsIDIxOjU5OjExKToKfiMhIHJuPVplc3N0cmEgcnQ9MTMyOTA3NDExNSByZz1wYXJ0eQp+IyEgdGlkPTEzMjcyNjU1MzgKSWNoIHdhZXJlIGRhYmVpIQpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJ1ZWhqYWhyc3BhcnR5IGluIERyZXNkZW4gKEtyc3RmcnMsIDEzLiBGZWIgMjAxMiwgMjI6MjI6MjEpOgp+IyEgcm49UnVtYXRhIHJ0PTEzMjkwODAzNTEgcmc9cGFydHkKfiMhIHRpZD0xMzI3MjY1NTM4CkljaCBiaW4gYXVjaCBkYWJlaSwKCktyc3RmcnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZydWVoamFocnNwYXJ0eSBpbiBEcmVzZGVuIChaZXNzdHJhLCAxNi4gRmViIDIwMTIsIDExOjI2OjU5KToKfiMhIHJuPUtyc3RmcnMgcnQ9MTMyOTE2ODE0MSByZz1wYXJ0eQp+IyEgdGlkPTEzMjcyNjU1MzgKQWxsZXMga2xhci4gQWxzbywgaWNoIGhhYiBlaW5lIEJ1Y2h1bmdzYW5mcmFnZSBnZXN0ZWxsdCBmdWVyIGFsbGUsIGRpZSBzaWNoCmJpc2hlciBiZWkgbWlyIG1lbGRldGVuLiBEYXMgc2luZDogUnVtYXRhLCBLcnN0ZnJzLCBTaGFrZWRiZWVyLCBEdW5zdCB1bmQKQXJhdGhvcm4uClVlYmVybmFjaHR1bmcgdm9uIDE2LiBiaXMgMTguLCBBbmt1bmZ0IGhhYiBpY2ggZXJzdG1hbCBhYiAxODozMCBhbmdlZ2ViZW4sCmFiZXIgZGEga29lbm5lbiB3aXIgamEgbm9jaCBCZXNjaGVpZCBnZWJlbi4KV2VyIGRhIG5vY2ggdW50ZXJrb21tZW4gd2lsbCB1bmQgbmljaHQgenUgZGVuIGdlbmFubnRlbiBnZWhvZXJ0OiBiaXR0ZSBzZWxiZXIKbmUgQnVjaHVuZ3NhbmZyYWdlIHN0ZWxsZW4gKGtvZW5udCBqYSBnZ2YuIGFuZ2ViZW4sIGluIHJhZXVtbGljaGUgTmFlaGUgenUKdW5zZXJlbiBaaW1tZXJuIHp1IHdvbGxlbikuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiAoWmVzc3RyYSwgMTQuIE1hciAyMDEyLCAyMjo1MzoyNyk6Cn4jISBybj1Fbm5veCBydD0xMzMxNzU5NzU4IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMzI3MjY1NTM4CkJpcyB3YW5uIHNvbGx0ZSBtYW4gZGVubiBhdXN3YWVobGVuPwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJ1ZWhqYWhyc3BhcnR5IGluIERyZXNkZW4gKFJ1bWF0YSwgMTUuIE1hciAyMDEyLCAwODoxNTozNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEzMzE3NjIwMDcgcmc9cGFydHkKfiMhIHRpZD0xMzI3MjY1NTM4ClVuZCB2b3IgYWxsZW0gd2llPyAoSWNoIHdpbGwgYXVmIGplZGVuIEZhbCBEYWxtYWRha2lhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRnJ1ZWhqYWhyc3BhcnR5IGluIERyZXNkZW4gKE1lc2lyaWksIDE1LiBNYXIgMjAxMiwgMjA6NTc6NDQpOgp+IyEgcm49UnVtYXRhIHJ0PTEzMzE3OTU3MzUgcmc9cGFydHkKfiMhIHRpZD0xMzI3MjY1NTM4CkVzIGdpYnQgZWluIENhdGVyaW5nIHVuZCBkYSBrYW5uIG1hbiBoYWx0IGdsb2JhbCBhdXN3YWVobGVuIDopIGJpcyBqZXR6dC4KCldpcmQgYmVzdGltbXQgZnVlciBqZWRlbiB3YXMgZGFiZWkgc2Vpbi4KCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IDIwMTIgKENhbGRyYSwgMTguIE1hciAyMDEyLCAyMDozMzo1Mik6CmthdW0gaXN0IGRpZSBGcnVlaGphaHJzcGFydHkgdm9yYmVpLCBpc3Qga2xhciwgenVtIDIwLWphZWhyaWdlbiBKdWJpbGFldW0Kc29sbHRlIHVuYmVkaW5ndCBlaW5lIFNvbW1lcnBhcnR5IGdlbWFjaHQgd2VyZGVuISBEZXNoYWxiIGhpZXIgc2Nob24gbWFsIHp1cgppZGVhbGVuIFRlcm1pbmZpbmR1bmcgbmUgVW1mcmFnZToKaHR0cHM6Ly9kdWRsZS5pbmYudHUtZHJlc2Rlbi5kZS9wcml2YWN5L21nc29tbWVyMTIvCgpUcmFnIEV1Y2ggYWxsZSBlaW4hCgpDYWxkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZydWVoamFocnNwYXJ0eSBpbiBEcmVzZGVuIChWYXJkaW9uLCAxOC4gTWFyIDIwMTIsIDIyOjAxOjE1KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTMzMTg0MTQ2NCByZz1wYXJ0eQp+IyEgdGlkPTEzMjcyNjU1MzgKVmllbGVuIERhbmsgYW4gTWVzaXJpaSBmdWVyIGRpZSBzY2hvZW5lIFBhcnR5LiBBbHMgYmVzb25kZXJlbiBCb251cyBoYXQgc2ljaAphdWNoIFBldHJ1cyBlaW5nZWxhZGVuIGdlZnVlaGx0LgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRnJ1ZWhqYWhyc3BhcnR5IGluIERyZXNkZW4gKFplc3N0cmEsIDE4LiBNYXIgMjAxMiwgMjI6MzY6MjgpOgp+IyEgcm49VmFyZGlvbiBydD0xMzMyMTA0NDc1IHJnPXBhcnR5Cn4jISB0aWQ9MTMyNzI2NTUzOApBdWNoIHZvbiBtaXIgZWluZW4gbGllYmVuIERhbmsgYW4gTWVzaXJpaSBmdWVyIGVpbiBzY2hvZW5lcyBXb2NoZW5lbmRlIQpVZWJyaWdlbnM6IHNwZXppZWxsIGdlZmFsbGVuIGhhdCBtaXIgZXVyZSBFc3NlbnN3YWhsLiA6LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEZydWVoamFocnNwYXJ0eSBpbiBEcmVzZGVuIChSdW1hdGEsIDE4LiBNYXIgMjAxMiwgMjI6NDc6MzMpOgp+IyEgcm49WmVzc3RyYSBydD0xMzMyMTA2NTg4IHJnPXBhcnR5Cn4jISB0aWQ9MTMyNzI2NTUzOAphdWNoIHZvbiBtaXIgZWluIGhlcnpsaWNoZXMgZGFua2UgZnVlcnMgYXVzcmljaHRlbiBkZXIgcGFydHkuCgoKKipydW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBGcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiAoVmFuaGVsc2luZywgMjEuIE1hciAyMDEyLCAxNjowNToyMik6Cn4jISBybj1SdW1hdGEgcnQ9MTMzMjEwNzI1MyByZz1wYXJ0eQp+IyEgdGlkPTEzMjcyNjU1MzgKSWNoIHNjaGxpZXNzZSBtaWNoIG1laW5lbiBWb3JyZWRuZXJuIGFuLiBJY2ggZmFuZCBkaWUgUGFydHkgd2llIGltbWVyIGVjaHQKa2xhc3NlLCB1bmQgZGFzIG1pdCBkZW0gV2V0dGVyIGhhYnQgaWhyIGF1Y2ggZ3V0IGdlbWFjaHQuIEljaCBmcmV1IG1pY2ggc2Nob24KYXVmIGRhcyBuYWVjaHN0ZSBNYWwuCgpWYW5IZWxzaW5nICh1bmQgWXVsaSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IDIwMTEgKEdsb2luc29uLCAxNy4gQXByIDIwMTIsIDAyOjUxOjM4KToKVGVtcG9yYWVyIG1hbCBlaW4gcGFhciBCaWxkZXIgaGllciBnZXBhcmt0OgpodHRwOi8vZmx1bnplbC5kZS9waWNzL3NhbGVtMjAxMS8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgMjAxMiAoSGlnaHQsIDI3LiBBcHIgMjAxMiwgMTA6MzA6NDUpOgp+IyEgcm49Q2FsZHJhIHJ0PTEzMzIwOTkyMzIgcmc9cGFydHkKfiMhIHRpZD0xMzMyMDk5MjMyCjIwISEhISEhPz8/Pz8/IGF1Y2ggYXVmIGRpZSBHZWZhaHIgaGluIGRhcyBpY2ggbWljaCBhbmhvZXIgd2llIG1laW5lIE9tYSAuLi4KVmVyZGFtbXQgZGllIFplaXQgdmVyZ2VodCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAyMDExIChab29rLCAyNy4gQXByIDIwMTIsIDEyOjA2OjI3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMzQ2MjM4OTggcmc9cGFydHkKfiMhIHRpZD0xMzM0NjIzODk4Ck1hZWghCkljaCBtYWNoIGphIHNjaG9uLiAKWm9vawouLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IDIwMTEgKFpvb2ssIDI3LiBBcHIgMjAxMiwgMTQ6MzU6MzcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMzNDYyMzg5OCByZz1wYXJ0eQp+IyEgdGlkPTEzMzQ2MjM4OTgKTnVuIHNpbmQgc2llIGF1Y2ggb25saW5lIGJlaSB1bnM6Cmh0dHA6Ly9tZy5tdWQuZGUvcmVhbHdvcmxkL1BhcnR5LjQwL2ZvdG9zLmdsb2luc29uLwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAyMDEyIChDYWtleSwgIDIuIE1haSAyMDEyLCAyMTowMzo1NSk6Cn4jISBybj1DYWxkcmEgcnQ9MTMzMjA5OTIzMiByZz1wYXJ0eQp+IyEgdGlkPTEzMzIwOTkyMzIKRnVlciBkaWUgU29tbWVycGFydHkgMjAxMiBoYWJlbiB3aXIgaW4gQnJpZXNlbGFuZyBhbmdlZnJhZ3QsIGRvcnQgd2FlcmUgUGxhdHoKZnVlciB1bnMgaW4gZGVyIFdvY2hlIHZvbSAxNi43LiBiaXMgMjIuNy4gRGVuIEdlbWVpbnNjaGFmdHNyYXVtIGhhZXR0ZW4gd2lyCmRhYmVpIHZvbGwgYWIgZGVtIDE4LjcuLCB2b3JoZXIgZWluZ2VzY2hyYWVua3QuIFJhdW1taWV0ZSB3YWVyZW4gMjYwLC0gZnVlcgpkaWUgWmVpdCwgZGF6dSBkaWUgaW5kaXZpZHVlbGxlbiBVZWJlcm5hY2h0dW5ncy0vVmVycGZsZWd1bmdza29zdGVuLiBCaXMgMTEuNS4KaXN0IGRpZSAiUmVzZXJ2aWVydW5nIGtvc3Rlbm5ldXRyYWwiLCB3YXMgYXVjaCBpbW1lciBkYXMgaGVpc3N0LgoKSWNoIGJpdHRlIGpldHp0IGRpZSBQYXJ0eXdpbGxpZ2VuLCBzaWNoIGJlaSBtaXIgYmlzIHNwYWV0ZXN0ZW5zIDkuNS4gKE11ZG1haWwKb2RlciBiZXNzZXIgdW50ZXIgb3RhdWJlckB3ZWIuZGUpIG1pdCBBbnJlaXNldGVybWluICh1bmQgQWJyZWlzZXRlcm1pbiBmYWxscwphYndlaWNoZW5kIHZvbSAyMi43LikgenUgbWVsZGVuLCBkYW1pdCBpY2ggZGllIFJlc2VydmllcnVuZyBtYWNoZW4ga2Fubi4KCkNha2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IDIwMTIgKEhvYm8sICAyLiBNYWkgMjAxMiwgMjE6MDY6MzcpOgp+IyEgcm49Q2FrZXkgcnQ9MTMzNTk4NTQzNSByZz1wYXJ0eQp+IyEgdGlkPTEzMzIwOTkyMzIKVGphLCBpbiBCYVd1ZSBzaW5kIGRhIG5vY2gga2VpbmUgRmVyaWVuIHVuZCBudXIgZnVlcnMgV29jaGVuZW5kZSBsb2hudApuaWNodC4uLiAKQWIgMjYuMDcuIGhhYmVuIHdpciBlcnN0IGZyZWkgOigKCkhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgMjAxMiAoQ2FrZXksIDEyLiBKdW4gMjAxMiwgMjM6Mjk6MzYpOgp+IyEgcm49Q2FrZXkgcnQ9MTMzNTk4NTQzNSByZz1wYXJ0eQp+IyEgdGlkPTEzMzIwOTkyMzIKRGllIGRpZXNqYWVocmlnZSBTb21tZXJwYXJ0eSBmaW5kZXQgdm9tIDE0LjcuIGJpcyAyMS43LiBuaWNodCBpbiBCcmllc2VsYW5nLApzb25kZXJuIChxdWFzaSB1bSBkaWUgRWNrZSkgYmVpIFBvdHNkYW0gc3RhdHQ6Cmh0dHA6Ly93d3cuY2FtcGluZ3BsYXR6LXJpZWdlbHNwaXR6ZS5kZQoKRGVyIFplaXRyYXVtIGlzdCBldHdhcyB1bmdld29laG5saWNoLCBhYmVyIGRlciBCZWxlZ3VuZ3NzaXR1YXRpb24gZGVyCkZlcmllbmhhZXVzZXIgZ2VzY2h1bGRldC4gRGFtaXQgYmxlaWJ0IGpldHp0IGRpZSBGcmFnZSBvZmZlbiwgd2FubiBnZW5hdSB3aXIKZGVuIFBhcnR5YWJlbmQgbWFjaGVuIHdvbGxlbi4KaHR0cHM6Ly9kdWRsZS5pbmYudHUtZHJlc2Rlbi5kZS9wcml2YWN5L1BhcnR5dGFnX01HX1NvbW1lcl8yMDEyLwoKRnVlciBaZWx0YmV3b2huZXIgaXN0IGltbWVyIGVpbiBQbGFldHpjaGVuIGZyZWksIHdlciBkYW1pdCB6dWZyaWVkZW4gaXN0IHVuZApzaWNoIGRvY2ggbm9jaCB6dW0gS29tbWVuIGVudHNjaGVpZGV0LCBrYW5uIGRhcyBhbHNvIGplZGVyemVpdCB0dW4uCgpDYWtleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29tbWVycGFydHkgMjAxMiAoQ2FrZXksIDEwLiBKdWwgMjAxMiwgMjI6MjM6MzApOgp+IyEgcm49Q2FrZXkgcnQ9MTMzOTUzNjU3NiByZz1wYXJ0eQp+IyEgdGlkPTEzMzIwOTkyMzIKQXVmZ3J1bmQgZGVyIEFic3RpbW11bmdzZXJnZWJuaXNzZSBnaWJ0IGVzIGRpZXNlcyBKYWhyIHp3ZWkgUGFydHlhYmVuZGUKKG1pbmRlc3RlbnMpLCBkaWUgZGEgd2FlcmVuIGFtIFNvIDE1LjcuIHNvd2llIGFtIEZyIDIwLjcuCgpGdWVyIGFsbGUsIGRpZSBzaWNoIGJlcmVpdHMgYmVpIG1pciBnZW1lbGRldCBoYWJlbiwgZ2lidCBlcyBkaWUgZ2V3dWVuc2NodGVuClBsYWV0emUuIFdlciBtaXQgWmVsdCBrb21tdCwgZGVyIGZpbmRldCBzaWNoZXIgYXVjaCBqZXR6dCBub2NoIGVpbiBQbGFldHpjaGVuCmltIEZlcmllbnBhcmsgUmllZ2Vsc3BpdHplLCBCdW5nYWxvd3BsYWV0emUgc2llaHQgZWhlciBzY2hsZWNodCBhdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb21tZXJwYXJ0eSAyMDEyIChaZXNzdHJhLCAxNS4gSnVsIDIwMTIsIDEyOjUxOjE3KToKfiMhIHJuPUNha2V5IHJ0PTEzNDE5NTE4MTAgcmc9cGFydHkKfiMhIHRpZD0xMzMyMDk5MjMyCkljaCB3dWVuc2NoIGV1Y2ggdmllbCBTcGFzcyEKU2NoYWRlLCBkYXNzIGljaCBuaWNodCBrb21tZW4ga2FubiwgYWJlciBpY2ggaGFiIGRpZSBXb2NoZSBrZWluZW4gVXJsYXViIHVuZApuYWVjaHN0ZXMgV29jaGVuZW5kIG11c3MgaWNoIG5hY2ggS29lbG4uIEljaCBob2ZmZSwgaWNoIGthbm4genVyIG5hZWNoc3Rlbgp3aWVkZXIga29tbWVuLCBpc3Qgc2NobGllc3NsaWNoIGRpZSBlcnN0ZSBQYXJ0eSBzZWl0IHggSmFocmVuLCBkaWUgaWNoCnZlcnBhc3MuIDotKAoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVycGFydHkgMjAxMiAoTWFoYXJldCwgMjIuIEp1bCAyMDEyLCAxMjoxNTo0NCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEzNDIzNDk0Nzcgcmc9cGFydHkKfiMhIHRpZD0xMzMyMDk5MjMyClZpZWxlbiBEYW5rIGZhbiBkaWUgT3JnYW5pc2F0b3JlbmZ1ZXIgZGllIFBhcnR5LiBEZXIgUGxhdHogaGF0IG1pciBndXQKZ2VmYWxsZW4sIGRhIGtvZW5uZW4gd2lyIGdlcm4gbWFsIHdpZWRlciBoaW4uIFNvIGxhbmdlIHdpciBlaW5lbiBCdW5nYWxvdyBpbQpodW5kZXp1bGFlc3NpZ2VuIEJlcmVpY2ggaGFiZW4gOykgRGFzIG5hZWNoc3RlIE1hbCBldHdhcyBiZXJlY2hlbmJhcmVyZXMKV2V0dGVyIHdhZXJlIG5ldHQuIApFaW4gRXh0cmFkYW5rIGFuIENha2V5IGZ1ZXJzIEdyaWxsZW4sIENsYXVkaSBmdWVycyBHZW11ZXNlc2NobmlwcGVsbiB1bmQgaW1tZXIKbWFsIHdpZWRlciBLaW5kZXIgdWViZXJuZWhtZW4sIEx5YSBmdWVycyBLaW5kZXJlbnRmdWVocmVuIHVuZCBNYXJ0aW5pIHVuZApHbG9pbnNvbiBmdWVycyB0YXBmZXJlIEtpbmRlcmhlcmRlbmVydHJhZ2VuLgoKQmxhY2tmb290aW5kaWFuZXJpbiBNYWhhcmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb21tZXJwYXJ0eSAyMDEyIChNZXNpcmlpLCAyMi4gSnVsIDIwMTIsIDE2OjE5OjE4KToKfiMhIHJuPU1haGFyZXQgcnQ9MTM0Mjk1MjE0NCByZz1wYXJ0eQp+IyEgdGlkPTEzMzIwOTkyMzIKRGVtIGthbm4gaWNoIG1pY2ggbnVyIGFuc2NobGllc3Nlbiwgd2FyIGVpbmUgcnVuZHJ1bSBzY2hvZW5lIFdvY2hlLgpWaWVsZW4gRGFuayBhbiBkaWUgRHVua2VsaG9iYml0cyBmdWVycyBvcmdhbmlzaWVyZW4uIFVuZCBhbiBhbGxlIGFuZGVyZW4gZnVlcnMKS29tbWVuLgpJbmtsdXNpdmUgZGVyIFVlYmVycmFzY2h1bmdzZ2Flc3RlLCBNaWV6ZSwgSGF0ZSB1bmQgTWFzdWwuCgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlwbGFudW5nIDIwMTMgKFplc3N0cmEsICA2LiBGZWIgMjAxMywgMjM6Mjc6NTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTM1OTI0ODY3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNTkyNDg2NzAKT0ssIHdpciBoYWJlbiBiZWltIEZydWVoc3R1ZWNrIGFtIFNvbm50YWcgYXVjaCB1ZWJlcmxlZ3QuIE5SVyBoYXQgYWIgMjIuNy4KZnJlaSwgTmllZGVyc2FjaHNlbiBiaXMgNy44LiAoR2lidCBlcyBzb25zdCBub2NoIEludGVyZXNzZW50ZW4sIGRpZQpTY2h1bGZlcmllbiBicmF1Y2hlbj8pCgpEYXMgYmVkZXV0ZXQsIGRhc3MgZWlnZW50bGljaCBudXIgbm9jaCBkaWUgV29jaGUgdm9tIDIyLiBiaXMgMjguNy4gYWxzIGJlc3RlcwpnZW1laW5zYW1lcyBaZWl0ZmVuc3RlciB1ZWJyaWcgYmxlaWJ0LiBVbmQgZGEgd2lyIG5pY2h0IGRpZSBlaW56aWdlbiBtaXQgZGVtCiJQcm9ibGVtIiBzaW5kLCBrb2VubnRlIGRpZSBXb2NoZSBhdWNoIHNjaG5lbGwgYmxvY2tpZXJ0IHdlcmRlbi4KCkdpYnQgZXMgYW5kZXJlIFZvcnNjaGxhZWdlIHdhcyBkaWUgWmVpdCBhbmdlaHQ/Ck1hZyBqZW1hbmQgaXJnZW5kd28gZXR3YXMgb3JnYW5pc2llcmVuPwpXaXIga29lbm50ZW4gaW4gSGF0dGluZ2VuIGFuZnJhZ2VuLCBoYXQgaGFsdCBudXIgZGFzIGFsdGJla2FubnRlIFByb2JsZW1lIGZ1ZXIKTGV1dGUsIGRpZSBnZXJuZSBmZXN0ZSBXYWVuZGUgdW0gc2ljaCBoYWJlbiBzdGF0dCBlaW5lcyBaZWx0ZXMuIERhIGJsaWViZQpsZXR6dGVuZGxpY2ggbnVyLCBuZW4gV29obm1vYmlsIG8uYWUuIHp1IGxlaWhlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlwbGFudW5nIDIwMTMgKFplc3N0cmEsIDEyLiBNYXIgMjAxMywgMDA6MjY6MTQpOgp+IyEgcm49WmVzc3RyYSBydD0xMzYwMTg5NjcyIHJnPXBhcnR5Cn4jISB0aWQ9MTM1OTI0ODY3MApEZXIgbGV0enRlIFZvcnNjaGxhZyBpbSBSYXVtIHdhciwgZGFzcyB3aXIgaW4gZGVyIGxldHp0ZW4gSnVsaS1Xb2NoZSB3YXMKbWFjaGVuIHdvbGxlbiB1bmQgYXVzc2VyIEhhdHRpbmdlbiBnYWJzIGtlaW5lbiBWb3JzY2hsYWcuLi4KV2lsbCBqZW1hbmQgQWx0ZXJuYXRpdmVuIGJlbmVubmVuPwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFydHlwbGFudW5nIDIwMTMgKFpvb2ssIDE3LiBNYXIgMjAxMywgMjI6MTI6NDkpOgp+IyEgcm49WmVzc3RyYSBydD0xMzYzMDQ0Mzc0IHJnPXBhcnR5Cn4jISB0aWQ9MTM1OTI0ODY3MApBbHNvIGljaCBoYWJlIG1pY2ggc2Nob24gbGFuZ3NhbSBhdWYgSGF0dGluZ2VuIGVpbmdlc2Nob3NzZW4uCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eXBsYW51bmcgMjAxMyAoWm9vaywgMjYuIE1hciAyMDEzLCAxMToyMTo0Myk6Cn4jISBybj1ab29rIHJ0PTEzNjM1NTQ3Njkgcmc9cGFydHkKfiMhIHRpZD0xMzU5MjQ4NjcwCkdpYnQgZXMgc2Nob24gImRlZmluaXRpdmVzIiwgc28gZGFzcyBpY2ggVXJsYXViIGVpbnBsYW5lbiBrYW5uPwpBbHNvIEhhdHRpbmdlbiBmYWVuZGUgaWNoIGdhbnogaHVlYnNjaC4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5cGxhbnVuZyAyMDEzIChTYXJheSwgMjcuIE1hciAyMDEzLCAxMzoxMDowMik6Cn4jISBybj1ab29rIHJ0PTEzNjQyOTMzMDMgcmc9cGFydHkKfiMhIHRpZD0xMzU5MjQ4NjcwCkZhZW5kIGljaCBhdWNoIGd1dCwgenVtYWwgZGllIGxldHp0ZSBKdWxpd29jaGUgbiBzdXBlciBUZXJtaW4gd2FlcmUsIGRhIGljaApkYW5uIFNlbWVzdGVyZmVyaWVuIGhhYmUuCkFiZXIga2FubiBlcyBzZWluLCBkYXNzIGRlcnplaXQgYWxsZSwgZGllIGRhcyBwbGFudW5nc21hZXNzaWcgaW4gQW5ncmlmZgpuZWhtZW4ga29lbm50ZW4sIGluIFVybGF1YiBzaW5kPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHlwbGFudW5nIDIwMTMgKFplc3N0cmEsICA0LiBBcHIgMjAxMywgMjE6NDg6NDYpOgp+IyEgcm49U2FyYXkgcnQ9MTM2NDM4NjIwMiByZz1wYXJ0eQp+IyEgdGlkPTEzNTkyNDg2NzAKRGFzIGthbm4gc2VpbiwgamEuIDstKSBTb2xsdGUgamV0enQgYWJlciB3aWVkZXIgZXJsZWRpZ3Qgc2Vpbi4KSWNoIHd1ZXJkZSBkdXJjaGF1cyBlbXBmZWhsZW4sIGRpZSBXb2NoZSB6dSAncmVzZXJ2aWVyZW4nLCBkZW5uIGF1Y2ggd2VubgpuaWNodCBIYXR0aW5nZW4sIGdpYnQgZXMgamEgd2VuaWcgYW5kZXJlIGd1dGUgVGVybWluZS4uLgpBYmVyIG1hbmdlbHMgVm9yc2NobGFlZ2VuIHNlaGUgaWNoIHp1ciBaZWl0IGVoIGtlaW5lIEFsdGVybmF0aXZlLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlicmV0dGVyIChIdW1uaSwgIDcuIEFwciAyMDEzLCAyMToyMToxOCk6Ckh1aHUsCgplcyBnaWJ0IG51biBQYXJ0eWJyZXR0ZXIgYW4gZGVuIHVlYmxpY2hlbiBPcnRlbiB6dXIgQW5tZWxkdW5nIGZ1ZXIgZGllClNvbW1lcnBhcnR5LiBBY2h0dW5nLCBkYXMgaXN0IG5pY2h0IGRpZSBEcmVzZGVuLVBhcnR5ISAoRGFzIFZvcmdlaGVuIGlzdCBtaXQKTWVzaXJpaSBhYmdlc3Byb2NoZW4sIEFubWVsZHVuZ2VuIGZ1ZXIgRHJlc2RlbiBuaW1tdCBlciBzZWxic3QgZW50Z2VnZW4pLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcnVlaGxpbmdzcGFydHkgaW4gRHJlc2RlbiBhbSAyMC4gQXByaWwgKEdsb2luc29uLCAxMi4gQXByIDIwMTMsIDIzOjMxOjM0KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTM2NDA0NzQ5NiByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTM2NDA0NzQ5NgpXbyBrb21tdCBkaWUgTWFqb3JpdGFldCBkZXIgTXVkZGVyIGluIERyZXNkZW4gZGllc2VzIE1hbCB1bnRlcj8gV2llZGVyIExvbGxpcz8KSWNoIHdlcmQgd2FocnNjaGVpbmxpY2gga3VyemZyaXN0aWcgZG9jaCBub2NoIGhpbmtvbW1lbiAuLi4gKHVuZCB3aWxsIG5pY2h0CnVuYmVkaW5ndCBnbGVpY2ggYXVmIGRpZSBHYXN0ZnJldW5kc2NoYWZ0IHZvbiBEcmVzZG5lciBCZWthbm50ZW4KenVydWVja2dyZWlmZW4pLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYWVnZWwgbWl0IEtvZXBmZW4gKFpvb2ssIDE2LiBBcHIgMjAxMywgMDk6MTc6MzUpOgp+IyEgcm49TWlyaWwgcnQ9MTM2NTM1MzI1MSByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTM2NTM1MzI1MQpJY2ggd2VyZGUgd29obCBtZWluIFJhZCBlaW5wYWNrZW4sIHd1ZXJkZSBtaWNoIGRhaGVyIGluIGRlciBQYXJ0eXdvY2hlCnVlYmVyIE1pdGZhaHJlciBmcmV1ZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VvY2FjaGluZyBpbiBEcmVzZGVuIChLcnN0ZnJzLCAxNi4gQXByIDIwMTMsIDExOjA5OjUzKToKSHVodSwKCmljaCBoYXR0ZSB2b3IgYW0gU2Ftc3RhZyB0YWdzdWViZXIgZWluIHBhYXIgbmV0dGUgR2VvY2FjaGVzIGluIGRlciBBbHQtCnVuZCBldnRsLiBhdWNoIGluIGRlciBOZXVzdGFkdCB6dSBtYWNoZW4sIG5hdHVlcmxpY2ggd2VsY2hlLCBkaWUgenVtClNpZ2h0c2VlaW5nIGdlZGFjaHQgc2luZC4gRmFsbHMgamVtYW5kIG1pdG1hY2hlbiBtb2VjaHRlIGVpbmZhY2ggYW4KbWljaCBkcmFuaGFlbmdlbi4KCkdydXNzLApLKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlb2NhY2hpbmcgaW4gRHJlc2RlbiAoR2xvaW5zb24sIDE2LiBBcHIgMjAxMywgMTU6MjA6NDMpOgp+IyEgcm49S3JzdGZycyBydD0xMzY2MTAzMzkzIHJnPXBhcnR5Cn4jISB0aWQ9MTM2NjEwMzM5MwpFcnIuIEluZ3Jlc3Mgbm90IGVub3VnaD8gOykKCkljaCBoYWV0dGUvd29sbHRlIGluIEREIGdlcm4gZXRsaWNoZSBQb3J0YWxlIGFia2xhcHBlcm4sIGFiZXIgYXVmZ3J1bmQgZGVyClJlc29uYW56IGF1ZiBkZW4gbGV0enRlbiBBcnRpa2VsIG11c3MgaWNoIGVyc3RtYWwgc2NoYXVlbiwgd2VyIHZvbiBkZW4gYWt0aXZlbgpNdWRkZXJuIGRlbm4gdWViZXJoYXVwdCBkYSBpc3QgLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVlaGxpbmdzcGFydHkgaW4gRHJlc2RlbiBhbSAyMC4gQXByaWwgKFplc3N0cmEsIDE3LiBBcHIgMjAxMywgMTk6MzU6MDMpOgp+IyEgb249WmVzc3RyYSBvdD0xMzY2MjIwMDg2IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPVZhcmRpb24gcnQ9MTM2NjIxMjQ1OCByZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTM2NDA0NzQ5NgpFc3N0IG5lIFBvcnRpb24gUmlwcGNoZW4gZnVlciBtaWNoIG1pdC4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSAoSHVtbmksIDE4LiBKdWwgMjAxMywgMTY6NDQ6NTUpOgpIdWh1IGlociwKCmRhbWl0IGVzIGF1Y2ggaGllciB2ZXJrdWVuZGV0IHdlcmRlbiBtYWc6IEFtIFNhbXN0YWcgYWJlbmQgd2lyZCBlcyBlaW5lIFBhcnR5CmdlYmVuLiBCZWkgZ3V0ZW0gV2V0dGVyIGRyYXVzc2VuIGFuIGRlbiBaZWx0ZW4gbWl0IEJpZXIgdW5kIEdlZ3JpbGx0ZW0uIEJlaQpzY2hsZWNodGVtIFdldHRlciBoYWJlbiB3aXIgd29obCBkZW4gUmF1bSBkZXIgU3VyZnNjaHVsZSB2b3IgT3J0LgoKVW5kOiBEaWUgUGFydHkgd2lyZCBuaXgga29zdGVuLCB3ZWlsIGRhIGVpbiBnZXdpc3NlciBEcmFjaGUgZ2VyYWRlIEdlYnVydHN0YWcKaGF0dGUgdW5kIGRhbm4gYWxsZSBNdWRkZXIgenUgZWluZXIgZGllc2JlenVlZ2xpY2hlbiBGZWllciBlaW5sYWVkdC4KCkFsc28uIE5vY2ggZWluIEdydW5kLCBkYWhpbiB6dSBmYWhyZW4uCgpKYSwgZGllIG5lZ2F0aXZlIEZvbGdlIGlzdCwgZGFzcyBhbiBkZW0gQWJlbmQgZGFubiBkYSBkZXIgZWluIG9kZXIgYW5kZXJlIE5TQwpkYSBhdWZzY2hsYWVndCwgZGFtaXQgbXVlc3N0IGlociBkYW5uIGxlYmVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eSAoWmVzc3RyYSwgMTguIEp1bCAyMDEzLCAyMToxMTozOCk6Cn4jISBybj1IdW1uaSBydD0xMzc0MTU4Njk1IHJnPXBhcnR5Cn4jISB0aWQ9MTM3NDE1ODY5NQo6anViZWx0IEh1bW5pIHp1LgpXZW5uIGRhcyBtYWwga2VpbiBBbnJlaXogaXN0LCBkYXNzIHNpY2ggbm9jaCBMZXV0ZSBrdXJ6ZnJpc3RpZyBlbnRzY2hsaWVzc2VuIQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGFua2UhIChBcnNvbiwgMjguIEp1bCAyMDEzLCAyMToyNTo1Nyk6Cmh1aHUsIGljaCBob2ZmZSBkYXMgYWxsZSB3aWVkZXIgZ3V0IHp1aGF1c2UgYW5nZWtvbW1lbiBzaW5kIQp2aWVsZW4gZGFuayBmdWVyIGRpZSBuZXR0ZSBwYXJ0eSEKenVtIGVpbmVuIGZ1ZXIgZXNzZW4gdW5kIGdldHJhZW5rZSwgZGllIGFsbGUgc2VociBsZWNrZXIgd2FocmVuLCBmdWVyIGRpZQpuZXR0ZW4gdW50ZXJoYWx0dW5nZW4gdW5kIGRpZSBzdGFlbmRpZ2VuIGVzY29ydHMuIDopCgp1bmQgbm9jaCBtYWwgZWluIGJlc29uZGVyZW4gZGFuayBhbiBkaWUgb3JnYW5pc2F0b3JlbiBpbSBiZXNvbmRlcmVuIGFuIGh1bW5pCnVuZCBtaXJpbCBmdWVyIGRhcyB6ZWx0LgoKbGcgYXJzb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkYW5rZSEgKFpvb2ssIDI4LiBKdWwgMjAxMywgMjI6MDY6NDEpOgp+IyEgcm49QXJzb24gcnQ9MTM3NTAzOTU1NyByZz1wYXJ0eQp+IyEgdGlkPTEzNzUwMzk1NTcKZGEgc2NobGllc3NlIGljaCBtaWNoIGdlcm5lIGFuISAKd2FyIHNlaHIgc2Nob2VuIG1pdCBhbGxlbiB6dXNhbWVuLgoKem9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkYW5rZSEgKEh1bW5pLCAyOS4gSnVsIDIwMTMsIDE3OjM2OjU5KToKfiMhIHJuPVpvb2sgcnQ9MTM3NTA0MjAwMSByZz1wYXJ0eQp+IyEgdGlkPTEzNzUwMzk1NTcKWndpc2NoZW4gZGVuIFVybGF1YmVuOiBBdWNoIHZvbiBtaXIgZWluIERhbmsgYW4gYWxsZSwgZGllIGdla29tbWVuIHNpbmQuIEVzCmhhdCB3aXJrbGljaCBTcGFzcyBtaXQgRXVjaCBnZW1hY2h0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGRhbmtlISAoQnVnZml4LCAyOS4gSnVsIDIwMTMsIDIxOjA1OjI2KToKfiMhIHJuPUh1bW5pIHJ0PTEzNzUxMTIyMTkgcmc9cGFydHkKfiMhIHRpZD0xMzc1MDM5NTU3Ck1vaW4sCgpXaXIgaGF0dGVuIGF1Y2ggamVkZSBNZW5nZSBTcGFzcywgdHJvdHogbWVocmVyZXIgVGFnZXMgb2RlciBIYWxidGFnZXNhdXN6ZWl0ZW4Kdm9uIEhhdHRpbmdlbi4uLiA7LSkKCldhciBtYWwgd2llZGVyIHNlaHIgc2Nob2VuIHVuZCB3aXIgZnJldWVuIHVucyBzY2hvbiBhdWYgZGFzIG5hZWNoc3RlIG1hbC4KCkxHIFNveW5hZGEgdW5kIFh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBkYW5rZSEgKFplc3N0cmEsICA1LiBBdWcgMjAxMywgMTg6MzY6MTMpOgp+IyEgcm49QnVnZml4IHJ0PTEzNzUxMjQ3MjYgcmc9cGFydHkKfiMhIHRpZD0xMzc1MDM5NTU3CkljaCBoYWJlIGRpZSBXb2NoZSB1bmQgZGVuIFBhcnR5LUdlYnVydHN0YWdzLUFiZW5kIGF1Y2ggc2VociBnZW5vc3Nlbi4gVmllbGVuCkRhbmssIHZvciBhbGxlbSBhbiBIdW1uaSB1bmQgamVkZW4sIGRlciBzb25zdHdpZSBtaXRnZWhvbGZlbiBoYXQhCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBkYW5rZSEgKFNhcmF5LCAgOC4gQXVnIDIwMTMsIDA0OjE5OjM1KToKfiMhIHJuPVplc3N0cmEgcnQ9MTM3NTcyMDU3MyByZz1wYXJ0eQp+IyEgdGlkPTEzNzUwMzk1NTcKRGEgc2NobGllc3NlIGljaCBtaWNoIGRvY2ggYXVjaCBub2NoIHZlcnNwYWV0ZXQgYW4uIApXYWNrZW4gdW5kIExlcm5lcmVpIGhhYmVuIGlocmUgU3B1cmVuIGhpbnRlcmxhc3NlbiwgZGVzaGFsYiBlcnN0IGpldHp0LgpXYXIgd2lya2xpY2ggc2Nob2VuIG1pdCBldWNoIHVuZCBkaWUgbmFlY2hzdGUgUGFydHkgd2lyZCBmcmV1ZGlnc3QgZXJ3YXJ0ZXQKOi1ELgpWaWVsZW4gRGFuayBhdWNoIG5vY2ggbWFsIGFuIGFsbGUgQmV0ZWlsaWd0ZW4gbWVpbmVzIEdlYnVydHN0YWdzZ2VzY2hlbmtzIHVuZApub2NoIG1hbCBhbiBIdW1uaSB1bmQgTWlyaWwgZnVlciBkYXMgT2JkYWNoYmlldGVuLCBiaXMgZXMgbmFjaCBXYWNrZW4gbG9zZ2luZwo6LSkuCkdydXNzIFNhcmF5IHVuZCBSaG92YW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IDIwMTQgKEdsb2luc29uLCAxMy4gSmFuIDIwMTQsIDEzOjU3OjE2KToKVGVybWluZmluZHVuZy4gU293b2hsIEh1bW5pIGFscyBhdWNoIGljaCAodW5kIHZpZWxsZWljaHQgbm9jaCBhbmRlcmUpIHd1ZXJkZW4KYXVzcmljaHRlbi9laW5sYWRlbi4gV2VubiBpaHIgc2Nob24gbWFsIGdyb2IgYW5nZWJ0LCB3YW5uIGlociB3b2xsdCB1bmQKa29lbm50LCBoaWxmdCBkYXMgZGVyIEVudHNjaGVpZHVuZyB1bmQgc3BhZXRlciBiZWltIFBsYW5lbiBtYWVjaHRpZ2xpY2guCkRhbmtlIQoKaHR0cDovL2Rvb2RsZS5jb20vZ2VyYmM5cGQyazlieWh4awoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAyMDE0IChHbG9pbnNvbiwgMjcuIEphbiAyMDE0LCAxODoxMTozNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzg5NjE3ODM2IHJnPXBhcnR5Cn4jISB0aWQ9MTM4OTYxNzgzNgpNdWguIEh1bW5pIHVuZCBpY2ggaGFiZW4gYXVzZ2VtYWNodCwgZGFzcyBIYXR0aW5nZW4gVm9yZmFocnQgaGF0LiBEaWUKZnJ1ZWhlcmVuIFRlcm1pbmUgRW5kZSBKdWxpLCBBbmZhbmcgQXVndXN0IHNpbmQgZnVlciBtZWhyIExldXRlIGdlZWlnbmV0IGFscwpkaWUgYmVpIHVucyBiZXZvcnp1Z3Rlbi4KCkRlbiBEb29kbGUgbGFzc2UgaWNoIGVpbmZhY2ggbWFsIHN0ZWhlbiwgc28ga29lbm5lbiBIdW1uaSB1bmQgTWlyaWwgYW0gYmVzdGVuCmFic2NoYWV0emVuLCB3aWUsIHdhcyB3YW5uIGd1dCBwYXNzdC4gRHJhZW5nZWxuIC4uLiB3dWVyZGUgaWNoIGdlcm4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVycGFydHkgaW4gSEFUVElOR0VOIChaZXNzdHJhLCAgNS4gTWFyIDIwMTQsIDIyOjE3OjE4KToKfiMhIHJuPUh1bW5pIHJ0PTEzOTQwNDk4MjUgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEzOTQwNDk4MjUKUHJpbWEsIGljaCBmcmV1IG1pY2ggZHJhdWYuIFVuZCBzY2hvZW4sIGRhc3MgZGllIEFua3VlbmRpZ3VuZyBkaWVzZXMgamFociBtYWwKd2llZGVyIHplaXRpZyBpc3QgdW5kIGhvZmZlbnRsaWNoIG5vY2ggbWVociBMZXV0ZSBrb2VubmVuLiA6LSkKS29tbWV0IHp1aGF1ZiEKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVycGFydHkgaW4gSEFUVElOR0VOIChIdW1uaSwgIDYuIE1hciAyMDE0LCAyMDo1MjoyMik6Cn4jISBybj1aZXNzdHJhIHJ0PTEzOTQwNTQyMzggcmc9cGFydHkKfiMhIHRpZD0xMzk0MDQ5ODI1ClBhcnR5YnJldHRlciBzdGVoZW4sIEFubWVsZGVuIGlzdCBhbHNvIGFiIHNvZm9ydCBtb2VnbGljaCEKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSBpbiBIQVRUSU5HRU4gKEh1bW5pLCAgMy4gQXByIDIwMTQsIDIwOjE1OjE1KToKfiMhIHJuPUh1bW5pIHJ0PTEzOTQxMzU1NDIgcmc9cGFydHkKfiMhIHRpZD0xMzk0MDQ5ODI1ClNvLCB3ZW5uIGlociBoaWVyIHNjaGF1dCwgZGFubiBzZWh0IGlociwgd2FzIElociBmdWVyIEhhdHRpbmdlbiBub2NoIGxlcm5lbgptdWVzc3Q6CgpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0hhdHRpc2NoZV9TcHJhY2hlCgpTb25zdCB3aXJkIGRhcyBWZXJzdGFlbmRpZ2VuIGluIEhhdHRpbmdlbiBzY2h3aWVyaWcuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgaW4gSEFUVElOR0VOIChSdW1hdGEsICA0LiBBcHIgMjAxNCwgMDk6MDA6NDApOgp+IyEgcm49SHVtbmkgcnQ9MTM5NjU0ODkxNSByZz1wYXJ0eQp+IyEgdGlkPTEzOTQwNDk4MjUKTGF1dCBFaW50cmFnIHNvbGx0ZSBBbmF0b2wgc2llIGJlaGVycnNjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2Fja2VuM0QgaW0gRmllZ2UgT3BlbiBBaXIgS2lubyAoWmVzc3RyYSwgMTYuIEp1bCAyMDE0LCAxOToxNTozOSk6CkFtIDIzLiAoTWl0dHdvY2gpIHdpcmQgaW0gRmllZ2UgT3BlbiBBaXIgS2lubyBpbiBCb2NodW0gZGllc2VyIFdhY2tlbjNELUZpbG0KZ2V6ZWlndC4gRmFsbHMgd2lyIGRhenUgTHVzdCBoYWJlbiwga29lbm50ZW4gd2lyIGRvcnQgRmlsbSAodW5kIHZlcm11dGxpY2gKTXVzaWspIHVuZCBlaW4gcGFhciBCaWVyIGtvbWJpbmllcmVuLgpTdHJhc3NlbmJhaG4gZmFlaHJ0IHZvbSBDYW1waW5ncGxhdHogYmlzIGZhc3QgenVtIEtpbm8gKDVtaW4gRnVzc3dlZykuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2Fja2VuM0QgaW0gRmllZ2UgT3BlbiBBaXIgS2lubyAoQXJhdGhvcm4sIDE2LiBKdWwgMjAxNCwgMTk6MTY6MTQpOgp+IyEgcm49WmVzc3RyYSBydD0xNDA1NTMwOTM5IHJnPXBhcnR5Cn4jISB0aWQ9MTQwNTUzMDkzOQpBaCwgaW50ZXJlc3NhbnQuIEljaCBtZWxkIHNjaG9ubWFsIEludGVyZXNzZSBhbi4KCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhY2tlbjNEIGltIEZpZWdlIE9wZW4gQWlyIEtpbm8gKFplc3N0cmEsIDE2LiBKdWwgMjAxNCwgMTk6MTY6MjIpOgp+IyEgcm49WmVzc3RyYSBydD0xNDA1NTMwOTM5IHJnPXBhcnR5Cn4jISB0aWQ9MTQwNTUzMDkzOQpBY2hqYSwgZGFzIEZpZWdlIE9wZW4gQWlyIEtpbm8gZmluZGV0IG5hdHVlcmxpY2ggaW0gQnJhdWhvZiBkZXIgRmllZ2UgQnJhdWVyZWkKc3RhdHQsIGRlc3dlZ2VuIGhlaXNzdCBkYXMgYXVjaCBzby4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2Fja2VuM0QgaW0gRmllZ2UgT3BlbiBBaXIgS2lubyAoU2FyYXksIDE2LiBKdWwgMjAxNCwgMjM6MTI6NDcpOgp+IyEgcm49WmVzc3RyYSBydD0xNDA1NTMwOTgyIHJnPXBhcnR5Cn4jISB0aWQ9MTQwNTUzMDkzOQpXaWUgZG9vZiwgZGFzcyB3aXIgZXJzdCBhbSAyNS4ga29tbWVuLgpBYmVyIGhleSwgaW1tZXJoaW4gaXN0IGRhcyBtZWluIEdlYnVydHN0YWcuIEF1Y2ggd2llZGVyIHNjaG9lbi4gTWV0IHdpcmQgYXVmCmplZGVuIEZhbGwgcmVpY2hsaWNoIG1pdGdlYnJhY2h0IDotRC4KU2FyYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWNrZW4zRCBpbSBGaWVnZSBPcGVuIEFpciBLaW5vIChDcm9mdCwgMTcuIEp1bCAyMDE0LCAwMToxODoyNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTE0MDU1MzA5Mzkgcmc9cGFydHkKfiMhIHRpZD0xNDA1NTMwOTM5CkljaCB3YXIgbm9jaCBhbSB1ZWJlcmxlZ2VuIG9iIGljaCBtaXIgZGFzIHVlYmVyaGF1cHQgYW5zZWhlbiB3aWxsLiBBYmVyIGRhcwprbGluZ3QgbmFjaCBkZXIgcGVyZmVrdGVuIEdlbGVnZW5oZWl0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2Fja2VuM0QgaW0gRmllZ2UgT3BlbiBBaXIgS2lubyAoWmVzc3RyYSwgMTcuIEp1bCAyMDE0LCAxOToxMzozMyk6Cn4jISBybj1Dcm9mdCBydD0xNDA1NTUyNzA1IHJnPXBhcnR5Cn4jISB0aWQ9MTQwNTUzMDkzOQpNYW4gc29sbHRlIGRhIHVlYnJpZ2VucyBuZW4gYmlzc2NoZW4gdm9yaGVyIHJlc2VydmllcmVuLCBkLmguIHdpciBzb2xsdGVuIHVucwpkYXMgenVtIFdvY2hlbmFuZmFuZyB1ZWJlcmxlZ2VuLCBvYiB1bmQgd2VyLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGF0dGluZ2VuOiBTb25udGFnPyAoR2xvaW5zb24sIDIzLiBKdWwgMjAxNCwgMDA6MTE6NTIpOgpNb2luLAoKZ2lidCBlcyBzY2hvbiBrb25rcmV0ZSBQbGFlbmUgZnVlciBkZW4gU29ubnRhZzogT3J0IHVuZCBaZWl0IGRlcyBHZW1hbXBmZXM/CgpHcnVuZDogT3B0aW9uZW4gZnVlciBkaWUgUnVlY2tyZWlzZSBpbiBkZW4gdGllZmVuIFN1ZWRlbiBrbGFlcmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVcmxhdWIgMDMuMDguIC0gMTkuMDguIChab29rLCAyNy4gSnVsIDIwMTQsIDE5OjQ4OjAxKToKfiMhIHJuPUNoYWdhbGwgcnQ9MTQwNjM3NDI2NiByZz1tYWdpZXIudXJsYXViCn4jISB0aWQ9MTQwNjM3NDI2Ngpcby8KCkhleWEsIGRhcyB3YXIgd2llZGVyIGVpbmUgc2VociBzY2hvZW5lIFBhcnR5LiBCZXN0ZW4gRGFuayBmdWVyIGFsbGUsIGRpZQphbiBpcmdlbmRlaW5lciBTdGVsbGUgbWl0Z2Vob2xmZW4gdW5kIHZvcmJlcmVpdGV0IGhhYmVuLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb2xsZSBQYXJ0eSAoVmFuaW9uLCAyNy4gSnVsIDIwMTQsIDIyOjI1OjI1KToKRGFubiBtYWNoIGljaCBtYWwgZWJlbiBkZW4gQW5mYW5nLgoKSGF0dGluZ2VuIHdhciB3aWVkZXIgS2xhc3NlLiBEaWUgU3RpbW11bmcgd2FyIGd1dCwgRXNzZW4gdW5kIEJpZXIgYXVjaC4gRGllCkdlc3ByYWVjaGUgaW5zYmVzb25kZXJlLiBWaWVsZW4gRGFuayBmdWVyJ3Mgb3JnYW5pc2llcmVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcnBhcnR5IDIwMTU/IChaZXNzdHJhLCAgMi4gRmViIDIwMTUsIDAxOjA2OjI5KToKSHVodSBhbGxlcnNlaXRzLAoKaGF0IHNjaG9uIGplbWFuZCBWb3JzY2hsYWVnZS9JZGVlbiBmdWVyIGRpZSBTb21tZXJwYXJ0eSAobWl0IHZvcmFuZ2VoZW5kZXIKV29jaGUpIGluIDIwMTU/CklzdCB6d2FyIG5vY2ggV2ludGVyLCBhYmVyIGVyZmFocnVuZ3NnZW1hZXNzIGRhdWVydCBkaWUgUGxhbnVuZyBqYSBldHdhcyB1bmQKZ2VyYWRlIFNvbW1lcnVybGF1YnNwbGFudW5nIGhhdCBpbiB2aWVsZW4gRmlybWVuIGFyZyBWb3JsYXVmemVpdC4uLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcnBhcnR5IDIwMTU/IChUaW4sICAyLiBGZWIgMjAxNSwgMTI6MTc6NTApOgp+IyEgcm49WmVzc3RyYSBydD0xNDIyODM1NTg5IHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpIdWh1LApKYSwgZnVlciB1bnMgd2FlciBkYXMgYXVjaCB3aWNodGlnIHp1IGVyZmFocmVuLi4uIDotKQp0aW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJwYXJ0eSAyMDE1PyAoVmFuaW9uLCAgMi4gRmViIDIwMTUsIDE4OjA1OjMyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTQyMjgzNTU4OSByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKRGFua2UgZnVlciBkaWUgRnJhZ2UsIFplc3N0cmEuIEljaCB3b2xsdGUgc2Nob24gc2VpdCBsYWVuZ2VyZW0gZnJhZ2VuLCBvYgpqZW1hbmQgTHVzdCBoYWV0dGUsIGRpZXNlcyBKYWhyIGVpbiBnZW1laW5zYW1lcyBWaWxsYWdlIGF1ZiBkZW0gQ2hhb3MKQ29tbXVuaWNhdGlvbiBDYW1wIGVpbnJpY2h0ZW4gd29sbGVuLiBUZXJtaW4gaXN0IGRlciAxMy4tMTcuOC4yMDE1LiBBbGxlcmRpbmdzCmthbm4gbWFuIHNjaG9uIHZvcmhlciBhbnJlaXNlbiwgdW5kIGJlaW0gQXVmYmF1IHp1IGhlbGZlbi4gSWNoIGhhYmUgdm9yLCBhbQoxMC44LiBhbnp1cmVpc2VuLiBFaW4gVm9ydGVpbCB3YWVyZSwgZGFzcyB3aXIgYXVmIGRlbSBaZWx0cGxhdHogUmFobWVucHJvZ3JhbW0KaGFiZW4gdW5kIG9yZGVudGxpY2hlcyBOZXR6IQoKRGFzIENhbXAgZmluZGV0IG51ciBhbGxlIHZpZXIgSmFocmUgc3RhdHQuIERpZXNlcyBKYWhyIHdpbGwgZGVyIEtvbmdyZXNzIGltClppZWdlbGVpcGFyayBiZWkgWmVoZGVuaWNrICggaHR0cDovL3d3dy56aWVnZWxlaXBhcmsuZGUvaW5kZXguaHRtbCAsIEdvb2dsZQpLYXJ0ZTogaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vbzQ2NWE3dSApIC0gZWluIHBhYXIgRHV0emVuZCBLaWxvbWV0ZXIKbm9lcmRsaWNoIHZvbiBCZXJsaW4gLSBzdGF0dC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcnBhcnR5IDIwMTU/IChCdWdmaXgsICAzLiBGZWIgMjAxNSwgMTc6MzE6MTUpOgp+IyEgcm49VmFuaW9uIHJ0PTE0MjI4OTY3MzIgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5CkltIEdydW5kZSBuZSBpbnRlcmVzc2FudGUgSWRlZS4gUHJvYmxlbSBrb2VubnRlIG51ciBzZWluLCBkYXNzIGRhcyBuaWNodCBhbGxlCmludGVyZXNzaWVydCB1bmQgZGFoZXIgbmljaHQgYWxsZSBMdXN0IGhhYmVuIGRlbiBFaW50cml0dHNwcmVpcyB6dSB6YWhsZW4uCktlaW5lIEFobnVuZyB3YXMgZGFzIGRpZXNlcyBKYWhyIGtvc3RlbiBzb2xsLCAyMDA3IHdhcmVuIGVzIHdvaGwgdW0gZGllCjEwMC0xMzAgRXVybywgZGFzIGlzdCBzY2hvbiBlaW4gYmlzc2NoZW4gbWVociwgYWxzIG1hbiBub3JtYWxlcndlaXNlIGZ1ZXIKZWluZW4gQ2FtcGluZ3BsYXR6IGJlemFobHQuCgpYdXQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJwYXJ0eSAyMDE1PyAoVmFuaXIsICAzLiBGZWIgMjAxNSwgMjA6NDc6MzApOgp+IyEgcm49QnVnZml4IHJ0PTE0MjI5ODEwNzUgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5CkFsc28gaWNoIGZpbmRlIGRpZSBJZGVlIGF1Y2ggbmV0dC4gay5BLiB3YXMgbWljaCBkYSBlcndhcnRlbiB3dWVyZGUsIGFiZXIgZXMKa2xpbmd0IHNwYW5uZW5kLgpWLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVycGFydHkgMjAxNT8gKFplc3N0cmEsICAzLiBGZWIgMjAxNSwgMjA6NTU6MjgpOgp+IyEgcm49VmFuaXIgcnQ9MTQyMjk5Mjg1MCByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKSWNoIHdlcmRlIGxlaWRlciBuaWNodCBrb2VubmVuLCB3ZWlsIGluIGRlciBXb2NoZSBtZWluIEtvbGxlZ2UgVXJsYXViIGhhdC4KQW5zb25zdGVuIGZhZW5kZSBpY2ggZGFzIGF1Y2ggaW50ZXJlc3NhbnQgLSBhbGxlcmRpbmdzIHdlaXNzIGljaCBhdXMgZGVuCmdsZWljaGVuIEdydWVuZGVuIHdpZSBCdWdmaXggbmljaHQsIG9iIGRhcyBwcmFrdGlrYWJlbCBpc3QsIGRhIGhpZXIgamEgbGFlbmdzdApuaWNodCBhbGxlIFNwaWVsZXIgQ0NDLWludGVyZXNzaWVydCBzaW5kLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29tbWVycGFydHkgMjAxNT8gKFNhcmF5LCAgMy4gRmViIDIwMTUsIDIzOjM5OjI2KToKfiMhIHJuPVplc3N0cmEgcnQ9MTQyMjk5MzMyOCByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKSHVodSwKQWxzbywgaWNoIGdlaG9lcmUgei5CLiB6dSBkZW4gTGV1dGVuLCBkaWUgc2ljaCBkYWZ1ZXIgbmljaHQgc29uZGVybGljaAppbnRlcmVzc2llcmVuLgpJY2ggZmFuZCBkaWUgTG9lc3VuZyBkZXIgbGV0enRlbiBKYWhyZSBtaXQgSGF0dGluZ2VuIGRpcmVrdCB2b3IgV2Fja2VuIGphIGVjaHQKbmUgZmVpbmUgU2FjaGUuCldlaXNzIG5pY2h0LCB3aWUgZGEgZGllIGdlbmVyZWxsZSBNZWludW5nIGF1c3NpZWh0IHVuZCBkYXMgQnVjaGVuIGV0Yy4gYmxlaWJ0CmphIGF1Y2ggaW1tZXIgYW4gZGVuIHNlbGJlbiBMZXV0ZW4gaGFlbmdlbi4KQW5zb25zdGVuIHdhZXJlIGljaCBkYSB6dW1pbmRlc3Qgd2llZGVyIHNlaHIgZnVlciA7LSkuCkdydXNzIFNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb21tZXJwYXJ0eSAyMDE1PyAoWm9vaywgIDQuIEZlYiAyMDE1LCAwODo1NToyMik6Cn4jISBybj1TYXJheSBydD0xNDIzMDAzMTY2IHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpFcyBzcHJpY2h0IGphIGF1Y2ggbmljaHRzIGdlZ2VuIGJlaWRlIFp1c2FtbWVua3VlbmZ0ZS4gSWNoIG1laW4sIGFtIDMxYzMgaGFiZW4Kd2lyIGphIGF1Y2ggbmVuIE1HLVN0YXRpIGdlaGFidC4gOykgCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb21tZXJwYXJ0eSAyMDE1PyAoQnVnZml4LCAgNC4gRmViIDIwMTUsIDEwOjM1OjE1KToKfiMhIHJuPVpvb2sgcnQ9MTQyMzAzNjUyMiByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKTW9pbiwKClNlaCBpY2ggYXVjaCBzby4gQW0gQ2FtcCBoYWV0dGUgaWNoIGdnZi4gYXVjaCBJbnRlcmVzc2UsIG11c3Mgbm9jaCB1ZWJlcmxlZ2VuCm9iIGRhcyBrbGFwcHQsIGFiZXIgZGFubiBoYWx0IHVuYWJoYWVuZ2lnIHZvbiBkZXIgUGFydHksIG5pY2h0IGFscwpBbHRlcm5hdGl2ZS4KClh1dCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvbW1lcnBhcnR5IDIwMTU/IChHbG9pbnNvbiwgIDQuIEZlYiAyMDE1LCAxMTowNDoyOCk6Cn4jISBybj1CdWdmaXggcnQ9MTQyMzA0MjUxNSByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKRnVlciBkYXMgQ2FtcCB3YWVyZW4gdW5zZXJlIFp3ZXJnZSB3YWhyc2NoZWlubGljaCBub2NoIHp1IGtsZWluLiBEYSBrYWVtZSBpY2gKYWVsbGVyaG9lY2hzdGVucyB3aWVkZXIgYWxsZWluIGZ1ZXIgendlaSwgZHJlaSBUYWdlLgoKQmVpIHVucyBpc3QgZGllc2VzIEphaHIgbGVpZGVyIGR1cmNoIHVucyB6dSA5MCUgYmV0cmVmZmVuZGVuCktyaXBwZW5zY2hsaWVzc3plaXRlbiAoMyBXb2NoZW4gKyAyIFdvY2hlbikgZGVyIFVybGF1YiBub2NoIHVucGxhbmJhci4KSXJnZW5kd2FubiBpbSBNYWkgd2VyZGVuIHdpciBtZWhyIHdpc3Nlbi4KClByaW56aXBpZWxsIHd1ZXJkZSBpY2ggZ2VybiBub2NobWFsIG5hY2ggU2FsZW0gZWlubGFkZW4sIGFiZXIgdW50ZXIgZGVyIFdvY2hlCndhZXJlIGRhbm4gbnVyIE5hY2htaXR0YWdzIGV0d2FzIHZvbiB1bnMgenUgc2VoZW4gKGRpZXNlIFNjaGxpZXNzemVpdAp1ZWJlcmxhcHB0IG51ciAyMi44Li0zMC44IG1pdCBCZXJsaW4sIGtvbW10IGFsc28gbmljaHQgaW4gRnJhZ2UpLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNvbW1lcnBhcnR5IDIwMTU/IChab29rLCAgNC4gRmViIDIwMTUsIDE0OjM1OjA1KToKfiMhIHJuPUdsb2luc29uIHJ0PTE0MjMwNDQyNjggcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5ClNhbGVtIGZhZW5kZSBpY2ggYXVjaCB3aWVkZXIgZWluZSBzY2hvZW5lIElkZWUuIFZvciBhbGxlbSBnaWJ0IGVzIGRhIG5vY2ggCmVpbiBwYWFyIEtpbG9tZXRlciBMYW5kc3RyYXNzZSwgZGllIGVyZmFocmVuIHdlcmRlbiB3aWxsLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTb21tZXJwYXJ0eSAyMDE1PyAoU2FyYXksICA0LiBGZWIgMjAxNSwgMTk6MDE6NDkpOgp+IyEgcm49Wm9vayBydD0xNDIzMDU2OTA1IHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpLbGFyLCBkYXMgZWluZSBzY2hsaWVzc3QgZGFzIGFuZGVyZSBuaWNodCBhdXMuCkljaCBmYW5kIEhhdHRpbmdlbiBkaWUgbGV0enRlbiBiZWlkZW4gSmFocmUgZWluZmFjaCBzZWhyIHBha3Rpc2NoIHVuZCBhdWNoCnNlaHIgc2Nob2VuLgpadSBTYWxlbSBrYW5uIGljaCBuaWNodHMgc2FnZW4uCkhpZXIgZGlyZWt0IGJlaSB1bnMgZmFlbGx0IG1pciB6LkIuIGtlaW5lIGdlZWlnbmV0ZSBMb2NhdGlvbiBmdWVyIHNvIHdhcyBlaW4uClNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU29tbWVycGFydHkgMjAxNT8gKEh1bW5pLCAgNC4gRmViIDIwMTUsIDIxOjU3OjQ1KToKfiMhIHJuPVNhcmF5IHJ0PTE0MjMwNzI5MDkgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5CkljaCBkZW5rZSwgSGF0dGluZ2VuIHp1ICJPcmdhbmlzaWVyZW4iIChiZWkgZGVyIGd1dGVuIEp1dHRhIFN0b2xsZQp2b3JiZWlmYWhyZW4gdW5kIGJlc2NoZWlkc2FnZW4sIGRhc3Mgd2lyIHdpZWRlcmtvbW1lbi4uLiBkZXIgUmVzdCBlcmdpYnQgc2ljaApqYSkgaXN0IG51biBuaWNodCBkYXMgVGhlbWEuIEZhZW5kZSBpY2ggbmF0dWVybGljaCBhdWNoIHByYWt0aXNjaC4KCkFiZXIgZ3J1bmRzYWV0emxpY2ggYmluIGljaCBhdWNoIGZ1ZXIgQWx0ZXJuYXRpdmVuIG9mZmVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTb21tZXJwYXJ0eSAyMDE1PyAoQnVnZml4LCAgNC4gRmViIDIwMTUsIDIyOjAwOjQyKToKfiMhIHJuPUh1bW5pIHJ0PTE0MjMwODM0NjUgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5CkFsc28gSGF0dGluZ2VuIGZhZW5kZW4gd2lyIGF1Y2ggc3VwZXIsIG11c3MgQWthIG5pY2ggc28gd2VpdCBmYWhyZW4gOy0pIChXaXIKa29lbm5lbiB1bnMgamEgbmljaHQgYWJ3ZWNoc2Vsbi4uLikgQWJlciBnaWJ0IGphIGF1Y2ggTGV1dGUgZGllIHdvYW5kZXJzIGhlcgprb21tZW4sIGthbm4gYWxzbyB2ZXJzdGVoZW4gd2VubiBnZXd1ZW5zY2h0IGlzIGRhcyBhdWNoIG1hbCB3b2FuZGVycyB6dQptYWNoZW4uIDstKQoKWHV0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFNvbW1lcnBhcnR5IDIwMTU/IChNaXJpbCwgMTguIEZlYiAyMDE1LCAxMjozNzo1NCk6Cn4jISBybj1CdWdmaXggcnQ9MTQyMzA4MzY0MiByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKSHVodSwKCmRhcyBjY2MgQ2FtcCBrbGluZ3QgendhciBzcGFubmVuZCwgaXN0IGFiZXIgbmljaHQgaW4gZGVuIFNvbW1lcmZlcmllbiB1bmQKZmFlbGx0IGRhaGVyIGZ1ZXIgdW5zIHNjaG9uIG1hbCBhdXMuCgpJY2ggYmluIGdlcm5lIGJlcmVpdCwgZGllIEFrdGlvbiBpbiBIYXR0aW5nZW4gd2llZGVyIHp1IG9yZ2FuaXNpZXJlbi4gRGVyClBhdmlsbG9uIGxpZWd0IGVoIG5vY2ggaW4gZGVyIEdhcmFnZSBydW0gdW5kIHdhcnRldCBhdWYgRWluc2F0ei4gRGllIFdvY2hlIHZvcgpXYWNrZW4gaXN0IGd1dCwgZGllIGlzdCBuYWVtbGljaCBpbiBkZW4gU29tbWVyZmVyaWVuLgoKVmllbGUgR3J1ZXNzZSwKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBTb21tZXJwYXJ0eSAyMDE1PyAoTWlyaWwsIDIzLiBGZWIgMjAxNSwgMTg6NDk6NTQpOgp+IyEgcm49TWlyaWwgcnQ9MTQyNDI1OTQ3NCByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKTmFjaGRlbSBtaXIgbnVuIGRpdmVyc2UgTGV1dGUgbWl0Z2V0ZWlsdCBoYWJlbiwgZGFzcyBzaWUgZWluZSBTb21tZXJwYXJ0eSBpbgpIYXR0aW5nZW4gaW4gZGVyIFdvY2hlIHZvciBXYWNrZW4gKGQuaC4gdm9tIDIwLjcuLTI2LjcuKSBzZWhyIGJlZ3J1ZXNzZW4Kd3VlcmRlbiwgaGFiZSBpY2ggbWFsIGVpbmUgTWFpbCBhbiBkaWUgbGllYmUgSnV0dGEgdm9tIENhbXBpbmdwbGF0egpnZXNjaHJpZWJlbiB1bmQgZ2VmcmFndCwgb2IgZGEgd2FzIGZ1ZXIgdW5zIGZyZWkgaXN0LgoKU29sbHRlbiBqZXR6dCBuaWNodCByaWVzaWdlIFByb3Rlc3RzdHVlcm1lIHZvbiBldXJlciBTZWl0ZSBrb21tZW4sIHd1ZXJkZSBpY2gKZGFzIGRhbm4gZGVtbmFlY2hzdCBmZXN0bWFjaGVuIChzb2Zlcm4gd2FzIGZyZWkgaXN0LCB3b3ZvbiBpY2ggYXVzZ2VoZSkuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFNvbW1lcnBhcnR5IDIwMTU/IChNaXJpbCwgMjQuIEZlYiAyMDE1LCAxMzoxOToxMSk6Cn4jISBybj1NaXJpbCBydD0xNDI0NzEzNzk0IHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpKdXR0YSBoYXQgc2Nob24gZ2VhbnR3b3J0ZXQgdW5kIHd1ZXJkZSBzaWNoIGZyZXVlbiwgdW5zIHdpZWRlciB6dSBzZWhlbgpTaWUgZnJhZ3RlLCBvYiB3aXIgbWFsIHdpZWRlciBhbiBkaWUgRmlzY2h0cmVwcGUgd29sbGVuLCBvZGVyIGRlbiBQbGF0eiBkZXIKbGV0enRlbiBiZWlkZW4gSmFocmUgaGFiZW4gd29sbGVuLiBEZXIgbGV0enRlIFBsYXR6IGhhdCBkZW4gVm9ydGVpbCwgZGFzcyBtYW4KcmVjaHQgc2NobmVsbCBiZWkgZGVuIFRvaWxldHRlbiB1bmQgU3B1ZWxnZWxlZ2VuaGVpdGVuIGlzdCB1bmQgZGllIEF1dG9zIG5haGUKZHJhbiBzdGVoZW4gKEJpZXJraXN0ZW4gbXVlc3NlbiBuaWNodCB3ZWl0IGdldHJhZ2VuIHdlcmRlbikuIERhZnVlciBob2VydCBtYW4KZGllIFN0cmFzc2UgZG9ydC4gQmVpIGRlciBGaXNjaHRyZXBwZSBpc3QgbWFuIGhhbHQgbmFlaGVyIGFuIGRlciBSdWhyLCBvYiBkb3J0CndlbmlnZXIgTXVlY2tlbiBzaW5kLCB3ZWlzcyBpY2ggbmljaHQuIERpZSBHZXJhZXVzY2hrdWxpc3NlIGJlc3RlaHQgZG9ydCBhdXMKZWluZW0gcmVjaHQgbGF1dGVuIFBsYWV0c2NoZXJuLiAKU2NocmVpYnQgZG9jaCBiaXR0ZSBtYWwgaW4gZGllIE1QQSwgd2FzIGV1Y2ggbGllYnIgd2FlcmUuCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogU29tbWVycGFydHkgMjAxNT8gKFh1dGVsaXVzLCAyNC4gRmViIDIwMTUsIDEzOjM1OjEyKToKfiMhIHJuPU1pcmlsIHJ0PTE0MjQ3ODAzNTEgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5Ck1vaW4sCgpEZXIgUGxhdHogd28gd2lyIGRpZSBsZXR6dGVuIE1hbGUgd2FyZW4gd2FyIGF1ZiBqZWRlbiBGYWxsIGd1dC4gV2lyIGtlbm5lbgpqZXR6dCBhYmVyIGJlaWRlIGRlbiBQbGF0eiBhbiBkZXIgRmlzY2h0cmVwcGUgbmljaHQsIGhhZXR0ZW4gYWJlciBuaWNodHMKZGFnZWdlbiBkYXMgbWFsIHp1IHByb2JpZXJlbi4KClh1dCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBTb21tZXJwYXJ0eSAyMDE1PyAoQXJzb24sIDI0LiBGZWIgMjAxNSwgMTM6NDY6NTkpOgp+IyEgcm49WHV0ZWxpdXMgcnQ9MTQyNDc4MTMxMiByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKa2xpbmd0IGdlbXVldGxpY2ghIHRlbmRlbnppZWxsIHdlcmRlbiBkaWNodGVyIGFtIGdld2Flc3NlciBuaWNodCB3ZW5pZ2VyCm11ZWNrZW4gc2VpbiBhYmVyIGljaCBiaW4gYmVyZWl0IGRlbiBrYW1wZiBhdWZ6dW5lbWVuISAKYWxzbyBnZXJuZSBhbiBkZXIgZmlzY2h0cmVwcGUuCgpsZywgYXJzb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBTb21tZXJwYXJ0eSAyMDE1PyAoQ3JvZnQsIDI0LiBGZWIgMjAxNSwgMTM6NTI6MTIpOgp+IyEgcm49QXJzb24gcnQ9MTQyNDc4MjAxOSByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKSWNoIHppZWggZGVuIFBsYXR6IGRlciBsZXR6dGVuIHp3ZWkgSmFocmUgdm9yLiAgQmVpIGRlciBGaXNjaHRyZXBwZSBob2VydAptYW4gZGFubiBkaWUgVHJlcHBlIG1laHIgcGxhZXRzY2hlcm4gYWxzIGRpZSBBdXRvcyA7LSkKTXVlY2tlbiBzb2xsdGUga2F1bSBrZWluIFVudGVyc2NoaWVkIHNlaW4uIEZ1ZXIga3VyemUgV2VnZSwgaW5zYmVzb25kZXJlCnp1bSBLbG8gOi0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFNvbW1lcnBhcnR5IDIwMTU/IChTYXJheSwgMjQuIEZlYiAyMDE1LCAxNTo1MjowNyk6Cn4jISBybj1Dcm9mdCBydD0xNDI0NzgyMzMyIHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpBbHNvLCBpY2ggbW9lY2h0ZSBtaWNoIGF1Y2ggZnVlciBkZW4gUGxhdHogZGVyIGxldHp0ZW4gYmVpZGVuIEphaHJlCmF1c3NwcmVjaGVuLgpBdXMgYmVyZWl0cyBnZW5hbm50ZW4gR3J8bmRlbiwga3VyemUgV2VnZSB2b3IgYWxsZW0uCkxHIFNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogU29tbWVycGFydHkgMjAxNT8gKERhcmJvc2NoLCAyNC4gRmViIDIwMTUsIDE5OjE2OjI5KToKfiMhIHJuPVNhcmF5IHJ0PTE0MjQ3ODk1Mjcgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5Ckh1aHUsCgppY2gga2VubmUgZGllIEZpc2NodHJlcHBlIG5pY2h0LCBkYWhlciB3dWVyZCBpY2ggbWljaCBkYSBkZXIgTWVocmhlaXQKYW5zY2hsaWVzc2VuIDopIC4gRGVuIFBsYXR6IHZvbSBsZXR6dGVuIE1hbCBmYW5kIGljaCBqYSBzZWhyIGFuZ2VuZWhtLiBOdXIKbXVzcyBpY2ggYWxsZ2VtZWluIG1hbCBzY2hhdW4sIG9iIGljaCBkZW5uIGtvbW1lbiBrYW5uLiBTb2xsdGUgc2ljaCBhYmVyCnJlZ2VsbiBsYXNzZW4uCgpEYXJib3NjaCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBTb21tZXJwYXJ0eSAyMDE1PyAoWmVzc3RyYSwgMjQuIEZlYiAyMDE1LCAyMTowNjozNCk6Cn4jISBybj1EYXJib3NjaCBydD0xNDI0ODAxNzg5IHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpJY2ggIHBlcnNvZW5saWNoIG1hZyBkaWUgcmlzY2h0cmVwcCB3ZWdlbiBkZXMgUGxhZXRzY2hlcm5zLiBNdWVja2VuCnNpbmR2ZXJtdXRsaWNoIG5pY2h0IG1laHIgZG9ydCB3aWUgaGludGVuLCB3ZWlsIEZsaWVzc2dld2Flc3Nlci4uLiBBYmVyIFdlZ2UKc2luZCBsYWVuZ2VyLCBkYXMgc3RpbW10LiBJY2ggc2NobGllc3MgbWljaCBhdWNoIGRlciBNZWhyaGVpdCBhbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBTb21tZXJwYXJ0eSAyMDE1PyAoQ2hhZ2FsbCwgMjQuIEZlYiAyMDE1LCAyMTowNzo0NCk6Cn4jISBybj1aZXNzdHJhIHJ0PTE0MjQ4MDgzOTQgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5CkFsc28gd2VubiBpY2ggbWljaCByZWNodCBlcmlubmVyLCB3YXIgZGVyIFdlZyB2b24gZGVyIEZpc2NodHJlcHBlIHp1IGRlbgpEdXNjaGVuL1RvaWxldHRlbiBuaWNodCBhbGx6dSB3ZWl0LiBBbGxlcmRpbmdzIGhhYiBpY2gga2VpbmUgQWhudW5nLCB3aWUgbmFoCmRlciBhbmRlcmUgUGxhdHogYW4gZGVuIER1c2NoZW4vVG9pbGV0dGVuIGxpZWd0LgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBTb21tZXJwYXJ0eSAyMDE1PyAoSHVtbmksIDI0LiBGZWIgMjAxNSwgMjE6Mjc6MDcpOgp+IyEgcm49Q2hhZ2FsbCBydD0xNDI0ODA4NDY0IHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpOYWphLCBtYW4gbXVzcyBzY2hvbiBlaW5tYWwgZHJ1bXJ1bWxhdWZlbi4gRGFzIGlzdCAtIHZlcm11dGxpY2ggZ2VyYWRlIGZ1ZXIKQmxpbmRlLCB3ZW5uIG5vY2ggbWVociBXb2hud2FnZW4vWmVsdGUgZGF6d2lzY2hlbnN0ZWhlbiAtIHdlaXRlciB1bmQgYXVjaApzY2h3aWVyaWdlci4KCkljaCBzZWxic3QgaGFldHRlIG5peCBnZWdlbiBkaWUgRmlzY2h0cmVwcGUgKHdvaGwgYWJlciBnZWdlbiBGaXNjaGUpLiBEYXMKV2Fzc2VyIGZsaWVzc3QsIGRhbWl0IGlzdCBkYXMgV2Fzc2VyIGRhIG5pY2h0IGRpZSBNdWVja2VucXVlbGxlLCB1bmQKUGxhZXRzY2hlcm4gd2FlcmUgYXVjaCBvay4gQWJlciBpY2ggc2VoZSBlaW4sIGRhc3Mgd2lyIGRhIGhpbnRlbiBhdWNoIGVpbmUKRWNrZSBuYWVoZXIgYW4gZGVuIFNhbml0YWVyYW5sYWdlbiB1bmQgYXVjaCBldHdhcyB1bmdlc3RvZXJ0ZXIgc2luZC4KClVuZCB3ZW5uIGRvY2ggbm9jaG1hbCBNdWRkZXIgbWl0IGtsZWluZW4gS2luZGVybiBrb21tZW4sIGlzdCBkZXIgUGxhdHoKZHVyY2hhdXMgYmVzc2VyLCB3ZWlsIHdlbmlnZXIgSW5zV2Fzc2VyTGF1Zi1HZWZhaHIgYmVzdGVodC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogU29tbWVycGFydHkgMjAxNT8gKEFyaywgMjQuIEZlYiAyMDE1LCAyMjoxOToyOCk6Cn4jISBybj1IdW1uaSBydD0xNDI0ODA5NjI3IHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpPYndvaGwgZGVyIFRlcm1pbiBub2NoIHp1IGxhbmdlIHdlZ2xpZWd0LCB3dWVyZGUgaWNoIChrZW5uZSBhYmVyIGVoIG51ciBkaWUKVHJlcHBlIHZvbiBsYW5nZSBoZXIgOi0pKSBlaW5lbiAiYmVxdWVtZXJlbiIgUGxhdHogYmV2b3J6dWdlbi4gS29tbWUgYWJlciBhdWNoCm1pdCBNdWVja2VuIHp1cmVjaHQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFNvbW1lcnBhcnR5IDIwMTU/IChWYW5pciwgMjQuIEZlYiAyMDE1LCAyMzowOToyNyk6Cn4jISBybj1BcmsgcnQ9MTQyNDgxMjc2OCByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKSGVoZSwgCmljaCBoYWIgZGFtYWxzIG5lYmVuIGRlciBUcmVwcGUgZ2V6ZWx0ZXQuIEFscyBlaW4gJ1BsYWV0c2NoZXJuJyBoYWJlIGljaCBkYXMKbmljaHQgaW4gRXJpbm5lcnVuZy4gQWJlciBzZWhyIHNjaG9lbmUgdG9kZXN2ZXJhY2h0ZW5kZSBFbnRlbmt1ZWNrZW4KYmVvYmFjaHRldC4KVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBTb21tZXJwYXJ0eSAyMDE1PyAoU2FyYXksIDI1LiBGZWIgMjAxNSwgMTY6Mjc6MDIpOgp+IyEgcm49VmFuaXIgcnQ9MTQyNDgxNTc2NyByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKQmVpIGRlbSBQbGF0eiBkZXIgbGV0enRlbiBiZWlkZW4gSmFocmUgbXVzcyBtYW4gaGFsdCBxdWFzaSBudXIgZGllc2UgU3R1ZmUKaG9jaGZhbGxlbiB1bmQgaXN0IGJlaSBkZW4gU2FuaXRhZXJhbmxhZ2VuLgpJY2ggYWxzIEJsaW5kZmlzY2ggZmluZGUgZGFzIHN1cGVyIDstUC4KU2FyYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBTb21tZXJwYXJ0eSAyMDE1PyAoR2xvaW5zb24sIDI1LiBGZWIgMjAxNSwgMTc6MDQ6MTkpOgp+IyEgcm49U2FyYXkgcnQ9MTQyNDg3ODAyMiByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKRGFzIEZpbmRlbiBkZXIgU2FuaXRhZXJhbmxhZ2Ugd2FyIGphIG5pY2h0IGRhcyBQcm9ibGVtIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBTb21tZXJwYXJ0eSAyMDE1PyAoUnVtYXRhLCAyNS4gRmViIDIwMTUsIDE5OjAwOjQzKToKfiMhIHJuPUdsb2luc29uIHJ0PTE0MjQ4ODAyNTkgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5ClVtIGVpbmUgU2FuaXRhZXJhbmxhZ2UgYXVmIGVpbmVtIENhbXBpbmdwbGF0eiB6dSBmaW5kZW4sIGJyYXVjaHQgbWFuCmRvY2gga2VpbmUgQXVnZW4gc29uZGVybiBlaGVyIGRpZSBOYXNlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFNvbW1lcnBhcnR5IDIwMTU/IChWYW5pb24sIDI1LiBGZWIgMjAxNSwgMjA6Mzk6MjgpOgp+IyEgcm49TWlyaWwgcnQ9MTQyNDcxMzc5NCByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKRGllIGdhbnplIFdvY2hlIHdlcmRlIGljaCBuaWNodCBrb2VubmVuLCBhYmVyIHNpY2hlciBlaW4gKHZlcmxhZW5nZXRlcykKV29jaGVuZW5kZS4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogU29tbWVycGFydHkgMjAxNT8gKFZhbmlvbiwgMjUuIEZlYiAyMDE1LCAyMDo0MDowNik6Cn4jISBybj1NaXJpbCBydD0xNDI0NzgwMzUxIHJnPXBhcnR5Cn4jISB0aWQ9MTQyMjgzNTU4OQpNaXIgd2FyIGRpZSBGaXNjaHRyZXBwZSB6dSBsYXV0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBTb21tZXJwYXJ0eSAyMDE1PyAoWm9vaywgIDMuIE1hciAyMDE1LCAxNzozMTozMSk6Cn4jISBybj1WYW5pb24gcnQ9MTQyNDg5MzIwNiByZz1wYXJ0eQp+IyEgdGlkPTE0MjI4MzU1ODkKSWNoIGhhYmUgZWluIEFyZ3VtZW50IGdlZ2VuIG5hZWhlciBhbiBkZXIgUnVocjogRGFubiBnaWJ0IGVzIG5vY2ggCmVpbmUgZ2VmYWVocmxpY2hlIFN0ZWxsZSwgd28gKm51c2NoZWwqIGRpZSBXQy1TY2hsdWVzc2VsIHZlcnNlbmtlbgprYW5uLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFNvbW1lcnBhcnR5IDIwMTU/IChHbG9pbnNvbiwgIDMuIE1hciAyMDE1LCAyMDo0Mzo0OCk6Cn4jISBybj1ab29rIHJ0PTE0MjU0MDAyOTEgcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5CkljaCB3dWVzc3RlIGpldHp0IG5pY2h0LCB3YXMgZGllIFJ1aHIgdW5kIG1laW5lIEhvc2VudGFzY2hlIGdlbWVpbiBoYWJlbiwgZXMKc2VpIGRlbm4sIGljaCBsaXR0ZSBhbiBSdWhyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBTb21tZXJwYXJ0eSAyMDE1PyAoUnVtYXRhLCAgNC4gTWFyIDIwMTUsIDA5OjIxOjA1KToKfiMhIHJuPUdsb2luc29uIHJ0PTE0MjU0MTE4Mjggcmc9cGFydHkKfiMhIHRpZD0xNDIyODM1NTg5Cldlbm4gbWFuIGF1ZmhvZXJ0IHp1IFB1bXBlbiwgdWViZXJzY2h3YWVtbWVuIHNpZSBkaWUgVW1nZWJ1bmc/CipkdWNrKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmFobWVucHJvZ3JhbW0gSGF0dGluZ2VuIChaZXNzdHJhLCAxMi4gSnVsIDIwMTUsIDIzOjU1OjUzKToKSWNoIHdlcmZlIG1hbCB6d2VpIE1vZWdsaWNoa2VpdGVuIGZ1ZXIgUmFobWVucHJvZ3JhbW0gaW4gZGVuIFJhdW0gKGFuZGVyZQplcmdhZW56ZW4gamEgdmllbGxlaWNodCk6CjEpIEtpbm9hZmZpbmUgTGV1dGUga29lbm5lbiBndWNrZW4sIG9iIGlyZ2VuZHdhcyBkZXIgRmlsbWUgaGllciBpbnRlcmVzc2FudAppc3Q6Cmh0dHA6Ly93d3cub3BlbmFpcmtpbm8uZGUvYm9jaHVtL3Byb2dyYW1tLnBocAoyKSBCZXN1Y2ggaW0gUGxhbmV0YXJpdW0gKHRhZ3N1ZWJlciB2ZXJtdXRsaWNoKQpodHRwOi8vd3d3LnBsYW5ldGFyaXVtLWJvY2h1bS5kZS8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGF0dGluZ2VuIDIwMTYgKENyb2Z0LCAgOC4gTWFpIDIwMTYsIDEwOjA5OjE5KToKfiMhIHJuPVphcGhvYiBydD0xNDYyNjQyMzU1IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xNDYyNTcwMzYwClNvbm50YWcvMzEuIHdpcmQgZGllIFBhcnR5IG5pY2h0IHNlaW4uICBEaWUgRnJhZ2UgaXN0IGlkUiBvYiBGcmVpdGFnCm9kZXIgU2Ftc3RhZy4gIFVuZCBTYW1zdGFnIHdhciBzaWUgYmlzaGVyIG1laXN0ZW5zLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnRyYWVnZT8gKEh1bW5pLCAxNS4gTWFpIDIwMTYsIDAxOjA5OjM3KToKSGFsbG8gaWhyLAoKZXMga2FtIG51biBkZXIgV3Vuc2NoIG5hY2ggVm9ydHJhZWdlbiBpbiBIYXR0aW5nZW4gYXVmLiBEaWUgSWRlZSBmaW5kZSBpY2gKbmF0dWVybGljaCBhdWNoIGd1dC4gSWNoIGhhZXR0ZSBhdWNoIGVpbmUgRmxpcGNoYXJ0IGFscyBJbmZyYXRzdHJ1a3R1ciwgQmVhbWVyCm9kZXIgc28gbXVlc3N0ZSBtYW4gbWFsIHNjaGF1ZW4sIGRhcyBsYWVzc3Qgc2ljaCB2aWVsbGVpY2h0IGF1Y2gKb3JnYW5pc2llcmVuLi4uCgpBYmVyIGJldm9yIHdpciB1bnMgZGFyYW4gbWFjaGVuOiBIYXQgamVtYW5kIEx1c3QsIGVpbmVuIFZvcnRyYWcgb2RlciBXb3Jrc2hvcAp6dSBoYWx0ZW4/CgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvcnRyYWVnZT8gKEh1bW5pLCAxNS4gTWFpIDIwMTYsIDAxOjExOjUwKToKfiMhIHJuPUh1bW5pIHJ0PTE0NjMyNjczNzcgcmc9cGFydHkKfiMhIHRpZD0xNDYzMjY3Mzc3Ck9oIGphLCBhbmRlcmUgRnJhZ2Ugd2FlcmU6IEhhZXR0ZSBqZW1hbmQgc29uc3QgSW50ZXJlc3NlLCBlaW5lbiBWb3J0cmFnIHp1CmhvZXJlbj8gV2lyIGtvZW5uZW4gdmllbGxlaWNodCBhdWNoIGRhbm4gZWluZmFjaCBqZW1hbmRlbiBzdWNoZW4sIGRlciB6dSBlaW5lbQpiZXN0aW1tdGVuIFRoZW1hIHJlZmVyaWVydC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnRyYWVnZT8gKFplc3N0cmEsIDE1LiBNYWkgMjAxNiwgMDg6NTE6MDgpOgp+IyEgcm49SHVtbmkgcnQ9MTQ2MzI2NzUxMCByZz1wYXJ0eQp+IyEgdGlkPTE0NjMyNjczNzcKRGFzIGZhZW5kZSBpY2ggYXVjaCBzZWhyIG51ZXR6bGljaCB6dSB3aXNzZW4uIEljaCB3dWVyZGUgZ2dmLiBkdXJjaGF1cyBiZXJlaXQKc2Vpbiwgd2FzIHp1IGVyemFlaGxlbiBvZGVyIHp1IGRlbW9uc3RyaWVyZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb3J0cmFlZ2U/IChaZXNzdHJhLCAxNS4gTWFpIDIwMTYsIDA4OjU2OjA3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTQ2MzI5NTA2OCByZz1wYXJ0eQp+IyEgdGlkPTE0NjMyNjczNzcKVW5kIGVzIGdhZWJlIG1pbi4gZWluZW4gRU0gbWl0IGxva2FsZW0gSG9tZW11ZCBmdWVyIGRlbiBDYW1waW5ncGxhdHouIERhcwpuZW5uZW4gd2lyIGRhbm4gZWluZmFjaCBSdWhydWZlci4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9ydHJhZWdlPyAoWmVzc3RyYSwgMjQuIE1haSAyMDE2LCAyMjowNjoxMCk6Cn4jISBybj1IdW1uaSBydD0xNDYzMjY3Mzc3IHJnPXBhcnR5Cn4jISB0aWQ9MTQ2MzI2NzM3NwpNaG1tLCBtYW4ga29lbm50ZSBpbiBIYXR0aW5nZW4gamEgYXVjaCBtYWwgZWluZW4gUHJvZ3JhbW1pZXItTWFyYXRob24gcGxhbmVuLgpFaW5lbiBOYWNobWl0dGFnIG9kZXIgc28genUgZWluZW0gZ2FueiBiZXN0aW1tdGVuLCBhdWNoIGVuZyBnZW51ZyB1bXJpc3NlbmVuClByb2pla3QuIFZpZWxsZWljaHQgbWl0IFZvcnRyYWcgenVyIEVpbmZ1ZWhydW5nIHVuZCBzby4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVudGVya3VuZnQgMjVKLVBhcnR5IChaZXNzdHJhLCAxMy4gSmFuIDIwMTcsIDIyOjEwOjU5KToKSWNoIGhhYmUgbWlyIHVlYnJpZ2VucyBtaXQgVmFuaW9uIGVpbiBaaW1tZXIgaW0gSG90ZWwgQXJkZXkgaW4gV2l0dGVuCnJlc2VydmllcnQuIFZpZWxsZWljaHQgc2llaHQgbWFuIHNpY2ggZGEgamEgYXVjaC4KMiBBbm1lcmt1bmdlbiB6dSBkZW4gVW50ZXJrdWVuZnRlbjogZGFzIEx1a2FzemVudHJ1bSB3dWVuc2NodCBBYnJlaXNlIGJpcwoxMDowMCAtIGRhcyBpc3QgaXN0IGVpbiBOYWNodGVpbCBkZXIgVW50ZXJrdW5mdC4gRGFzIEhvdGVsIFVsbGFuZCB1bnRlcnN0dWV0enQKZGVtIFZlcm5laG1lbiBuYWNoIGtlaW5lIFNwYWV0YW5yZWlzZSAoYWxzbyBmdWVyIExldXRlLCBkaWUgRnJlaXRhZ3Mgc2Nob24KYW5yZWlzZW4pLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVudGVya3VuZnQgMjVKLVBhcnR5IChHbG9pbnNvbiwgMTkuIEphbiAyMDE3LCAxOToyODowOSk6Cn4jISBybj1aZXNzdHJhIHJ0PTE0ODQzNDE4NTkgcmc9cGFydHkKfiMhIHRpZD0xNDg0MzQxODU5CkhhYiBlaW4gQmlsbGlnLUVaIGltIEhvdGVsIFVsbGFuZC4gQ2hlY2tJbiBhYiAxMiBVaHIgYW0gRnJlaXRhZyBtb2VnbGljaCAobGF1dApXZWJzZWl0ZSBiaXMgMjAgVWhyIG1heCksIENoZWNrb3V0IGJpcyAxMSBVaHIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbnRlcmt1bmZ0IDI1Si1QYXJ0eSAoQXJrLCAyNC4gRmViIDIwMTcsIDE4OjU4OjM0KToKfiMhIHJuPUdsb2luc29uIHJ0PTE0ODQ4NTA0ODkgcmc9cGFydHkKfiMhIHRpZD0xNDg0MzQxODU5CkljaCBiaW4gaW0gUmluZ2hvdGVsIFBhcmtob3RlbCBXaXR0ZW4sIGNhLiAya20gcyB2b20gRXhjYWxpYnVyLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVudGVya3VuZnQgMjVKLVBhcnR5IChNdW5kcm9uLCAyNi4gRmViIDIwMTcsIDExOjMyOjQ4KToKfiMhIHJuPUFyayBydD0xNDg3OTU5MTE0IHJnPXBhcnR5Cn4jISB0aWQ9MTQ4NDM0MTg1OQpEYW5uIGhhdCBHbG9pbnNvbiBtaXIgZGFzIGd1ZW5zdGlnc3RlIEVaIHdlZ2dlc2NobmFwcHQgby5PIEljaCBiaW4gaW0KendlaWd1ZW5zdGlnc3RlbiBFWiBpbSBIb3RlbCBVbGxhbmQgdW50ZXJnZWtvbW1lbi4gV2VyZGUgYWJlciBlcnN0IGFtIFNhbXN0YWcKZGF6dSBzdG9zc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEt1bHR1ciBhbSBQYXJ0eXNhbXN0YWcgKEh1cmF4cHJheCwgMTcuIE1hciAyMDE3LCAxMDowMjo1MSk6Cn4jISBybj1aZXNzdHJhIHJ0PTE0ODk3MDMwNzUgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE0ODk3MDMwNzUKQWxzbyBab2xsdmVyZWluIEVzc2VuIGFtIFNhbXN0YWcgd2FyIGF1Y2ggbWVpbiBQbGFuLCBhYmVyIG5hY2hkZW0gbGV0enRlbgpTb21tZXIgZGFyYW4gd2VuaWcgSW50ZXJlc3NlIHdhciBoYWV0dGUgaWNoIGRhcyBkaWVzbWFsIGF1Y2ggYWxsZWluZQphbmdlc2NoYXV0LgoKaHVyYXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChWYW5oZWxzaW5nLCAyNi4gTWFyIDIwMTcsIDE1OjA2OjIxKToKSWNoIHdpbGwgbWljaCBnYW56IGhlcnpsaWNoIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IGJlZGFua2VuLgpFcyB3YXIgZWluZSBSaWVzZW5mcmV1ZGUsIGRpZSBnYW56ZW4gR2VzaWNodGVyLCB2b3IgYWxsZW0gdm9uIE11ZGRlcm4sIGRpZSBtYW4Kc2Nob24gc2VociB2aWVsZSBKYWhyZSBuaWNodCBnZXNlaGVuIGhhdCwgd2llZGVyenV0cmVmZmVuLgpEaWUgTG9rYXRpb24gd2FyIGZ1ZXIgZWluZSBQYXJ0eSBoZXJ2b3JhZ2VuZCwgZGFzIEVzc2VuIHdhciBsZWNrZXIgdW5kIGRpZQpTdGltbXVuZyB0b2xsLgpBdWNoIG5vY2htYWwgdmllbGVuIERhbmsgZnVlciBkaWUgc3VwZXIgTGVpc3R1bmcgdm9uIFtUZWFtOiBPcmdhXS4KSWhyIGhhYnQgdG9sbGUgQXJiZWl0IGdlbGVpc3RldC4KCkRhbmtlClZhbkhlbHNpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoS2FkYWJyYSwgMjYuIE1hciAyMDE3LCAxODoxNjo1OSk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTE0OTA1MzM1ODEgcmc9cGFydHkKfiMhIHRpZD0xNDkwNTMzNTgxClBhcnR5IC0genVzdGltbWVuZGVzIEdyZWlzZW5nZW11cm1lbApXaWxsb3cgdW5kIGljaCBmYW5kZW4gZXMgYmVpZGUgd3VuZGVycHJhZWNodGlnIHVuZCBtb2VjaHRlbiB1bnMgYXVjaCAKb2JlcmhlcnpsaWNoc3QgYmVpIEFyYXRob3JuLCBIdW1uaSwgTWlyaWwsIFplc3N0cmEgdW5kIGRlbSBnZXNhbXRlbiBUZWFtIE9yZ2EKYmVkYW5rZW4uIFZvcmdsdWVoZW4gYmVpbSBzdXBlcm5ldHRlbiB1bmQgZmFlaGlnZW4gSXJlbiBtaXQgc2NobnVja2VsaWdlbiAKQmllcnNvcnRlbi4gSGF1cHRmZXRlIGluIHBlcmZla3RlbSBBbWJpZW50ZSBtaXQgendlaSBhbXRpZXJlbmRlbiBHb3R0aGVpdGVuCnVuZCBlaW5lbSBHb3R0IEEuRC4uIFNvdmllbGUgYWx0ZSBCZWthbm50ZSB1bmQgbmV1ZSBGcmV1bmRlIQpFcyB3YXIgc28gc2Nob2VuIEVjdSB3aWVkZXJ6dXNlaGVobiwga2VubmVuenVsZXJuZW4gdW5kIGdlbWVpbnNhbQpSTC1RdWVzdHMgenUgbG9lc2VuLiAoRGllIGdla2FjaHRlbHRlbiBSYWV1bWUgaW4gUGFyYSBtaXQgRlAgYmVpIHVudCBCb2RlbikKTGVja2VyIGVzc2VuISBad2luZ2UgV2lydCB6dSB6YXBmIGluIGdyb3NzZSBHbGFlc2VyLiBGaW5kZSBHdWluZXNzISBVbmQgdmllbGVzCm1laHIuCldpciBoYWJlbiB1bnMgbGFuZ2UgbmljaHQgbWVociBzbyBhbXVlc2llcnQgLSB1bmQgc29sbHRlbiB3aXJrbGljaCBvZWZ0ZXIgbWFsCndpZWRlciByZWluc2NoYXVlbi4KQXVmIGRpZSBuYWVjaHN0ZW4gMjUgSmFocmUuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoWm9vaywgMjYuIE1hciAyMDE3LCAxOTowMjo1OSk6Cn4jISBybj1LYWRhYnJhIHJ0PTE0OTA1NDUwMTkgcmc9cGFydHkKfiMhIHRpZD0xNDkwNTMzNTgxCkljaCBzY2hsaWVzc2UgbWljaCBkYSBnZXJuZSBhbiEgVG9sbGUgUGFydHksIGRhbmtlIGZ1ZXIgZGllIApWb3JiZXJlaXR1bmcgdW5kIE9yZ2FuaXNhdGlvbiB1bmQgQXVzc3VjaGVuIGRlciBMb2NhdGlvbi4gSWNoIApoYXR0ZSBnYW56IGdyb3NzZW4gU3Bhc3MgdW5kIGhhYmUgbWljaCBzZWhyIGdlZnJldXQsIHNvIHZpZWxlIAp2b24gRXVjaCBhdWYgZWluZW4gSGF1ZmVuIGdlc2VoZW4genUgaGFiZW4hCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoVmFuaXIsIDI2LiBNYXIgMjAxNywgMjE6Mjc6MDYpOgp+IyEgcm49Wm9vayBydD0xNDkwNTQ3Nzc5IHJnPXBhcnR5Cn4jISB0aWQ9MTQ5MDUzMzU4MQpJY2ggbW9lY2h0ZSBtaWNoIGF1Y2ggZ2FueiBnYW56IGRvbGwgZnVlciBkaWUgdG9sbGUgT3JnYSBiZWRhbmtlbiEgClYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoWmVzc3RyYSwgMjYuIE1hciAyMDE3LCAyMTo0NzowOSk6Cn4jISBybj1WYW5pciBydD0xNDkwNTU2NDI2IHJnPXBhcnR5Cn4jISB0aWQ9MTQ5MDUzMzU4MQpWaWVsZW4gRGFuayBmdWVyIGRpZSBCbHVtZW4sIGRhcyBpc3Qgc2Nob2VuIHp1IGxlc2VuLiA6LSkKV2VnZW4gbWlyIG11c3MgZGFzIGF1Y2ggbmljaHQgMjVKIGRhdWVybiBiaXMgd2lyIHdpZWRlciBuZSBncm9lc3NlcmUgUGFydHkKaGFiZW4uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua2UgZnVlciBkaWUgdG9sbGUgUGFydHkgKE1lc2lyaWksIDI2LiBNYXIgMjAxNywgMjM6MDc6MzUpOgp+IyEgcm49WmVzc3RyYSBydD0xNDkwNTU3NjI5IHJnPXBhcnR5Cn4jISB0aWQ9MTQ5MDUzMzU4MQpJY2ggZmFuZCBlcyBrbGFzc2UsIGRhc3MgSWhyIGFsbGUgZ2Vrb21tZW4gc2VpZCwgd3VyZGUgZWNodCBtYWwgWmVpdCBFdWNoCndpZWRlcnp1c2VoZW4uIFVuZCBkYSB1bnNlcmUgSnVuZ211ZGRlciB2b2xsIGVudHNwYW5udCB3YXJlbiwga29ubnRlbiB3aXIgZGllClplaXQgenVzYW1tZW4gd2lya2xpY2ggZ2VuaWVzc2VuLgpJY2ggaGFldHRlIG5peCBnZWdlbiBqYWVocmxpY2hlIFBhcnR5YmVzdWNoZS4gSW1tZXJoaW4gaXN0IGRhcyBNRyB1bnNlcmUKRmFtaWxpZSB1bmQgTWFoYSogdW5kIGljaCB3aWUgdmllbGUgYW5kZXJlIGF1Y2ggaGFldHRlbiB1bnMgbmllIGtlbm5lbmdlbGVybnQKb2huZSBkYXMgTUcuCkdyb3NzZW4gRGFuayBhbiBkYXMgT3JnYSBUZWFtIHVuZCBhbiBFdWNoIGFsbGUgZnVlcnMgS29tbWVuLgpMRyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEYW5rZSBmdWVyIGRpZSB0b2xsZSBQYXJ0eSAoUnVtYXRhLCAyNy4gTWFyIDIwMTcsIDA5OjA5OjAyKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTQ5MDU2MjQ1NSByZz1wYXJ0eQp+IyEgdGlkPTE0OTA1MzM1ODEKQXVjaCB2b24gbWlyIGVpbiBnYW56IGRpY2tlcyBEYW5rZSBhbiBkaWUgT3JnYS4gQWNoamEgdW5kIGljaAprYW5uIHZlcm1lbGRlbiwgZGFzcyBkYXMgUGFydHlnb29kaWUgdm9sbCBmdW5rdGlvbmlzdHVlY2h0aWcgaXN0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChTZWxldmVuLCAyNy4gTWFyIDIwMTcsIDEyOjM1OjEyKToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTQ5MDUzMzU4MSByZz1wYXJ0eQp+IyEgdGlkPTE0OTA1MzM1ODEKRGEga2FubiBpY2ggbWljaCBudXIgYW5zY2hsaWVzc2VuISBXYXIgc2Nob2VuIHNvIHZpZWxlIHZvbiBFdWNoIG1hbCB3aWVkZXIgenUKc2VoZW4uIFZpZWxlbiBEYW5rIGZ1ZXIgZGllIE9yZ2EgdW5kIGRhZnVlciwgZGFzcyBJaHIgbWlyIGVpbmUgRWlubGFkdW5nCmdlc2NoaWNrdCBoYWJ0IQoKRGFua2UhIApTZWxldmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChTYXJheSwgMjcuIE1hciAyMDE3LCAxMjo1MzowNCk6Cn4jISBybj1TZWxldmVuIHJ0PTE0OTA2MTA5MTIgcmc9cGFydHkKfiMhIHRpZD0xNDkwNTMzNTgxCkljaCBtb2VjaHRlIG1pY2ggbWVpbmVuIFZvcnJlZG5lcm4gZGEgZWJlbmZhbGxzIGFuc2NobGllc3Nlbi4KVmllbGVuLCB2aWVsZW4gRGFuayBmdWVyIGRpZSB0b2xsZSBQYXJ0eQp1bmQgZGllIHRvbGxlIE9yZ2EhCkVzIGhhdCB1bmdsYXVibGljaCB2aWVsIFNwYXNzIGdlbWFjaHQgdW5kIGljaCBoYWJlIHZpZWxlIHRvbGxlLCBuZXR0ZSBMZXV0ZQprZW5uZW5nZWxlcm50LgpQYXJhIG1pdHNhbXQgaG9mZmVudGxpY2ggYWxsZW4gRnBzIGhhYmUgaWNoIGF1Y2ggZ2VtZWlzdGVydCwgbWFsIHNjaGF1ZW4sCm9iIGRhcyBmdWVyIGVpbmUgbmV1ZSBSdW5lIHJlaWNodCA7KS4KVW5kIGljaCBoYWV0dGUgYXVjaCBuaWNodHMgZGFnZWdlbiwgd2VubiBldHdhcyBpbiBkaWVzZXIgR3JvZXNzZW5vcmRudW5nCmhhZXVmaWdlciBhbHMgYWxsZSAyNSBKYWhyZSBzdGF0dGZpbmRldCA6KS4KU2FyYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhbmtlIGZ1ZXIgZGllIHRvbGxlIFBhcnR5IChNb29uc2hpbmUsIDI4LiBNYXIgMjAxNywgMDY6MzU6MzcpOgp+IyEgcm49U2FyYXkgcnQ9MTQ5MDYxMTk4NCByZz1wYXJ0eQp+IyEgdGlkPTE0OTA1MzM1ODEKRGFua2UhIApBbiBkYXMgVGVhbTpPcmdhISBBbiBhbGxlIEFud2VzZW5kZW4hIEFuIGRpZSBMb2thbGl0YWV0IQpFaW4gcnVuZHVtIGdlbHVuZ2VuZXIgQWJlbmQsIGF1ZiBkaWUgbmFlY2hzdGVuIDI1IChtaXQgaGFldWZpZ2VyZW4KWndpc2NoZW5ldGFwcGVuIDotKQoKTW9vbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmlsZGVyIChHbG9pbnNvbiwgIDIuIE1haSAyMDE3LCAxOTowMjo0Nik6Ck1vaW4sCgpkaWUgQ2hlY2stRG9jaC1NYWwtRGllLUJpbGRlci1NYWlscyBhbiBkaWUgVm9yc2ljaHRpZ2VuIHNpbmQgcmF1cy4gTWlyIGZlaGxlbgphbGxlcmRpbmdzIG5vY2ggZWluIFNhY2sgdm9uIFJ1ZWNrbWVsZHVuZ2VuLCBvYiBBIC0gb2huZSBQcm9ibGVtCnZlcm9lZmZlbnRsaWNodCwgQiAtIEJpbGRlciB2b3JoZXIgZ2VjaGVja3Qgb2RlciBDIC0gQmlsZGVyIG5pY2h0IGhvY2hnZWxhZGVuCndlcmRlbiBzb2xsZW4uCgpXZW5uIGplbWFuZCBBcmF0aG9ybiwgQm9lLCBDYWRyYSwgRGFyYm9zY2gsIERhcmt3aW5nLCBEdW5zdCwgSGFzZW5mdXNzLApIZXJkdWJyZWl0LCBIb2JvLCBLaGlkYXIsIE1hYXJnLCBNYXN1bCwgTWllemUsIFBhcmRhdXosIFBlcmRpdGEsIFB1aywgUmFuZ29ybiwKU2VsZXZlbiBkYXJhdWYgYW5zcHJlY2hlbiBrb2VubnRlLCBtaXIgZ2dmIGVpbmUgTWFpbCB6dSBzY2hpY2tlbiwgd2FlciBkYXMKcHJpbWEuIEFuc29uc3RlbiBtdXNzIGljaCBkYSBuYWNoIEVyaW5uZXJ1bmcgb2RlciBCZWthbm50aGVpdHNncmFkCm5hY2hzZWxla3RpZXJlbiA6KQoKRGFua2UsCgpHbG9pbnNvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua2UgZnVlciBkaWUgdG9sbGUgUGFydHkgKEd3ZW4sIDMxLiBNYWkgMjAxNywgMTA6MDI6MjUpOgp+IyEgcm49R3dlbiBydD0xNDk2MjE3NTk3IHJnPXBhcnR5Cn4jISB0aWQ9MTQ5MDUzMzU4MQpWb24gbWlyIGF1Y2ggZWluIGdyb2VzIExvYiB1bmQgdmllbGVuIERhbmsgYW4gZGllIE9yZ2EhClZpZWxlIEdydWVzc2UsIEd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hvZW5lIFBhcnR5d29jaGUhIChab29rLCAgMS4gQXVnIDIwMTcsIDIxOjE3OjQ3KToKSGV5LCBpY2ggd29sbHRlIG1pY2ggbnVyIGJlaSBhbGxlbiBiZWRhbmtlbiwgZGllIGljaCBsZXR6dGVzCldvY2hlbmVuZGUgenVyIEhhdHRpbmdlbi1QYXJ0eSBnZXRyb2ZmZW4gaGFiZS4gVm9yIGFsbGVtLCBiZWkgCmFsbGVuLCBkaWUgZGllIGdhbnplIFNhY2hlIHVudGVyc3R0enQgaGFiZW4gKCJIYXVzIiwgQmVzb3JndW5nZW4KZXRjLikuIFdpZSBpbW1lciwgZXMgd2FyIHNlaHIgdG9sbCwgc2VociBjaGlsbGlnIHVuZCBlcmhvbHNhbS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hvZW5lIFBhcnR5d29jaGUhIChIYXNlbmZ1c3MsICAyLiBBdWcgMjAxNywgMTk6MjY6MjApOgp+IyEgcm49Wm9vayBydD0xNTAxNjE1MDY3IHJnPXBhcnR5Cn4jISB0aWQ9MTUwMTYxNTA2NwpBdWNoIHZvbiBtaXIgZWluIGhlcnpsaWNoZXMgRGFua3NjaG9lbiBhbiBhbGxlIGZ1ZXIgZGllCnRvbGxlIFplaXQgaW4gSGF0dGluZ2VuLgoKRGFua2UgYXVjaCBhbiBkaWUgT3JnYSB1bmQgZWluIGJlc29uZGVyZXMgRGFua2VzY2hvZW4gYW4gU2FyYXkgdW5kClJob3ZhbiBmdWVyIGRhcyB0b2xsZSBHb29kaWUuCgpIYXNlbmZ1c3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbW1lcmNhbXA/IChNaXJpbCwgMTAuIEZlYiAyMDE4LCAwOToyMjowOSk6CkxpZWJlIE1pdG11ZGRlci9XYWNrZW5mYWhyZXIvc29uc3RpZ2UgSW50ZXJlc3NpZXJ0ZQphdWNoIGluIGRpZXNlbSBKYWhyIGlzdCBzaWNoZXJsaWNoIHdpZWRlciBlaW5lIFNvbW1lcnBhcnR5IGFuZ2VzYWd0LiBJbiBkZW4KbGV0enRlbiBKYWhyZW4gd2FyZW4gd2lyIGltbWVyIGFscyBWb3J3YWNrZW53b2NoZS9Tb21tZXJwYXJ0eSBpbiBIYXR0aW5nZW4uCldpciB3dWVyZGVuIGRhcyBhdWNoIGluIGRpZXNlbSBKYWhyIHdpZWRlciBvcmdhbmlzaWVyZW4sIGZhbGxzIEludGVyZXNzZSB2b24KZXVyZXIgU2VpdGUgYmVzdGVodC4KClZpZWxsZWljaHQgbW9lY2h0ZSBhYmVyIGF1Y2ggamVtYW5kIGFuZGVyZXMgZGllIFNvbW1lcnBhcnR5IGFuIGVpbmVtIGFuZGVyZW4KT3J0IGF1c3JpY2h0ZW4uIERhcyB3dWVzc3RlIGljaCBnZXJuZSBlaW5pZ2VybWFzc2VuIHplaXRuYWgsIGRlbm4gaW0gbGV0enRlbgpKYWhyIGhhZXR0ZW4gd2lyIGJlaW5haGUgdW5zZXJlbiBQbGF0eiBpbiBIYXR0aW5nZW4gbmljaHQgYmVrb21tZW4sIHdlaWwgd2lyCmVyc3QgcmVjaHQgc3BhZXQgYW5nZWZyYWd0IGhhYmVuLgoKVW0gZGVtIHZvcnp1YmV1Z2VuIGhhYmUgaWNoIGViZW4gbWFsIEp1dHRhIGFuZ2VzY2hyaWViZW4gdW5kIGlociBtaXRnZXRlaWx0LApkYXNzIHdpciBpbiBkZXIgRGlza3Vzc2lvbiBzaW5kLCBpaHIgYWJlciBiYWxkIGRlZmludGl2IHNhZ2VuIGtvZW5uZW4sIG9iIHdpcgprb21tZW4gb2RlciBuaWNodCB1bmQgc2llIGdlYmV0ZW4sIEJlc2NoZWlkIHp1IHNhZ2VuLCBmYWxscyBzaWUgbm9jaCBhbmRlcmUKQW5mcmFnZW4gZnVlciBkZW4gUGxhdHogYmVrb21tdC4KCkVzIHdhZXJlIGFsc28gcHJpbWEsIHdlbm4gaWhyIGhpZXIgbWFsIGV1cmUgTWVpbnVuZyBkYXp1IGt1bmR0dW4ga29lbm50ZXQuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lcmNhbXA/IChTYXJheSwgMTAuIEZlYiAyMDE4LCAxODo0MzoxMik6Cn4jISBybj1NaXJpbCBydD0xNTE4MjUwOTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTUxODI1MDkyOQpSaG92YW4gdW5kIGljaCB3YWVyZW4gbmF0dWVybGljaCBkYWJlaSA7KS4KClNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVyY2FtcD8gKFpvb2ssIDEyLiBGZWIgMjAxOCwgMTU6MTA6MzEpOgp+IyEgcm49TWlyaWwgcnQ9MTUxODI1MDkyOSByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKV2FlcmUgZGFzIDIzLiBiaXMgMjkuIEp1bGkgMjAxOD8gKEJpbiBuaWNodCBzbyBkZXIgV09BLUtlbm5lciwgdm9uIGRhaGVyCmZyYWcgaWNoIGxpZWJlciBub2NoIG1hbCBuYWNoLikKClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVyY2FtcD8gKFNhcmF5LCAxMi4gRmViIDIwMTgsIDIxOjAyOjMwKToKfiMhIHJuPVpvb2sgcnQ9MTUxODQ0NDYzMSByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKSmEsIHdhZXJlIGVzLgoKU2FyYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVyY2FtcD8gKENyb2Z0LCAxMi4gRmViIDIwMTgsIDIxOjAzOjE4KToKfiMhIHJuPVpvb2sgcnQ9MTUxODQ0NDYzMSByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKRGFzIFc6TzpBIGlzdCBpbW1lciB2b20gTWl0dHdvY2ggdm9yIGRlbSBlcnN0ZW4gQXVndXN0LVNhbXN0YWcgYmlzIHp1IGViZW4KamVuZW0uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29tbWVyY2FtcD8gKEh1bW5pLCAxMi4gRmViIDIwMTgsIDIxOjU5OjE5KToKfiMhIHJuPUNyb2Z0IHJ0PTE1MTg0NjU3OTggcmc9cGFydHkKfiMhIHRpZD0xNTE4MjUwOTI5ClVuZCBtaXQgTmlnaHR3aXNoLCBBcmNoIEVuZW15LCBIZWxsb3dlZW4sIEFtb3JwaGlzLCBGaXNjaGVyLVogKGphLAp0YXRzYWVjaGxpY2gpIHVuZCBEaXJrc2NobmVpZGVyLiBXZW5uIG5vY2ggamVtYW5kIG1pdCB3aWxsOiBFcyBnaWJ0IG5vY2gKS2FydGVuLCB1bmQgdWVibGljaGVyd2Vpc2Uga2FubiBtYW4gYmVzdGltbXQgaW0gZ3Jvc3NlbiBNRy1DYW1wIG1pdCBhbnJlaXNlbiwKZGFzIHZvbiBKYWhyIHp1IEphaHIgd2FlY2hzdC4KClNvLiBEYXMgd2FyIG91dCBvZiBjb250ZXh0LCBhYmVyIG11c3N0ZSBpY2ggc2FnZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29tbWVyY2FtcD8gKFpvb2ssIDEzLiBGZWIgMjAxOCwgMTI6MzI6MTQpOgp+IyEgcm49Q3JvZnQgcnQ9MTUxODQ2NTc5OCByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKSWNoIGJlZnVlcmNodGUsIGRhcyB3aXJkIG5pY2h0IGluIG1laW4gR2VkYWVjaHRuaXMgZWluc2lua2VuLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVyY2FtcD8gKFZhbmlyLCAxMy4gRmViIDIwMTgsIDE2OjI3OjIwKToKfiMhIHJuPVpvb2sgcnQ9MTUxODUyMTUzNCByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKSGllciBnaWJ0cyBnZW51ZWdlbmQgTGV1dGUsIGRpZSBkaWNoIGdlcm5lIGVyaW5uZXJuLgpWLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29tbWVyY2FtcD8gKFpvb2ssIDE0LiBGZWIgMjAxOCwgMTk6NDM6NDgpOgp+IyEgcm49U2FyYXkgcnQ9MTUxODQ2NTc1MCByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKRGFubiBrYW5uIGljaCBkaWVzZXMgSmFociBuaWNodC4gWnVtaW5kZXN0IG5pY2h0IGFtIFdvY2hlbmVuZGUsIAppY2gga2FlbWUgZGFubiBhYmVyIGdlcm5lIHVudGVyIGRlciBXb2NoZSAyIFRhZ2Ugdm9yYmVpLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVyY2FtcD8gKEJ1Z2ZpeCwgMTQuIEZlYiAyMDE4LCAxOTo0NToxOSk6Cn4jISBybj1ab29rIHJ0PTE1MTg2MzM4Mjggcmc9cGFydHkKfiMhIHRpZD0xNTE4MjUwOTI5ClZvcmJlaGFsdGxpY2ggUHJ1ZWZ1bmdlbiBzaW5kIHdpciBhdWNoIHdpZWRlciBkYWJlaS4gKEJlaSBtaXIgZHVlcmZ0ZW4gZGEKa2VpbmUgUHJ1ZWZ1bmdlbiBpbiBkaWUgUXVlcmUga29tbWVuLCBiZWkgQWthIGlzdCBlcyB6aWVtbGljaCB3YWhyc2NoZWlubGljaCwKZGFzcyBzaWUgbmljaHQgZGllIGdhbnplIFplaXQgZGFiZWkgaXN0LCBhYmVyIEhhdHRpbmdlbiBsaWVndCBqYSB1bSBkaWUgZWNrZS4KOy0pKQoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb21tZXJjYW1wPyAoQ2hhZ2FsbCwgMTQuIEZlYiAyMDE4LCAyMDo1NTo0MCk6Cn4jISBybj1CdWdmaXggcnQ9MTUxODYzMzkxOSByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKU2NobGVjaHRlcyBUaW1pbmcsIGRhIHNpbmQgZGllIEFuby1UZXJtaW4gZnVlciBNYXJzZWlsbGUgdW5kIFdhcnNjaGF1LiBXZXJkZQphbHNvIGVoZXIgZGEgc2VpbiBhbHMgYXVmIGRlciBNRyBQYXJ0eS4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVyY2FtcD8gKE1pcmlsLCAyOC4gRmViIDIwMTgsIDE3OjEyOjM4KToKfiMhIHJuPU1pcmlsIHJ0PTE1MTgyNTA5Mjkgcmc9cGFydHkKfiMhIHRpZD0xNTE4MjUwOTI5ClNvIHdpZSBzaWNoIGRpZSBMYWdlIGhpZXIgamV0enQgZGFyc3RlbGx0LCBzY2hlaW50IGphIG5pZW1hbmQgaGllciB6dQpzY2hyZWllbiwgZGVyIGRpZSBQYXJ0eSB3b2FuZGVycyBvcmdhbmlzaWVyZW4gd2lsbC4gSWNoIGdlYmUgZGFubiBKdXR0YSBtYWwKQmVzY2hlaWQsIGRhc3Mgd2lyIHdpZWRlciBrb21tZW4uClBhcnR5YnJldHQgZm9sZ3QgaW4gS3VlcnplLgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb21tZXJjYW1wPyAoVmFuaW9uLCAgNy4gTWFyIDIwMTgsIDE3OjAwOjE5KToKfiMhIHJuPU1pcmlsIHJ0PTE1MTgyNTA5Mjkgcmc9cGFydHkKfiMhIHRpZD0xNTE4MjUwOTI5CkljaCBoYXR0ZSB6d2FyIHNjaG9uIHByb3Zpc29yaXNjaCBmdWVyIGRpZSBXb2NoZSBmcmVpIGdlbm9tbWVuLCBsZWlkZXIgaGF0Cm1laW4gQXJiZWl0Z2ViZXIgZWluIG1pZXNlcyBUaW1pbmcgdW5kIGVpbmUgRm9ydGJpbGR1bmcgZ2VuYXUgaW4gZGllc2UgV29jaGUKZ2VsZWd0LiBJY2ggbXVzcyB3b2hsIHBhc3Nlbi4gRXZlbnV0ZWxsIGtvbW1lIGljaCBhbSBXb2NoZW5lbmRlIHZvcmJlaS4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbW1lcmNhbXA/IChaYXBob2IsICAxLiBBcHIgMjAxOCwgMTQ6NDE6MDcpOgp+IyEgcm49VmFuaW9uIHJ0PTE1MjA0Mzg0MTkgcmc9cGFydHkKfiMhIHRpZD0xNTE4MjUwOTI5CkRhbmtlIGZ1ZXJzIFBhcnR5YnJldHQgdW5kIE9yZ2FuaXNpZXJlbiEKCkRhIGJpc2hlciBhbGxlIFRlaWxuZWhtZXIgaWhyIEludGVyZXNzZSBhbiBlaW5lbSBWb3J0cmFnIG9kZXIgU2VtaW5hciBiZWt1bmRldApoYWJlbiAtIGdpYnQgZXMgZGVubiBUaGVtZW53dWVuc2NoZSBvZGVyIEFuZ2Vib3RlLCB3ZXIgd2FzIHZvcnRyYWdlbiBtYWc/IAoKR2xlaWNoZSBGcmFnZSB6dW0gR29vZGllLiBIZXVlciBnaWJ0cyBqYSBrZWluZSAyNSBKYWhyZSBGZWllciBwYXJhbGxlbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbW1lcmNhbXA/IChIdW1uaSwgIDIuIEFwciAyMDE4LCAxMjoyMDo1MSk6Cn4jISBybj1aYXBob2IgcnQ9MTUyMjU4NjQ2NyByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKRGFzIHNpbmQgc2VociBndXRlIEZyYWdlbi4gVm9yc2NobGFlZ2Uga29lbm50IGlociBnZXJuZSBoaWVyIHNhbW1lbG4uIFdpcgpoYXR0ZW4gaW4gZGVyIFZlcmdhbmdlbmhlaXQgc2Nob24gVm9ydHJhZWdlIHp1IFRpbnlGdWdlLCBNYWdpZXJ3ZXJkdW5nLCBTZWxic3QKd2VpdGVyZW50d2lja2VsbmRlbiBOUENzLCBCYWxhbmNlLCBRdWVzdHNjaHJlaWJlbiwgR2Vycml0IC4uLiBudXIsIHVtIG1hbApUaGVtZW4genUgbmVubmVuLCBkaWUgbWlyIGdlcmFkZSBnYW56IHNwb250YW4gZWluZmFsbGVuLCB1bmQgZXMgZ2lidCBzaWNoZXIKdW56YWVobGlnZSB3ZWl0ZXJlIE1vZWdsaWNoa2VpdGVuLiAKClNpY2hlciBrb2VubnRlIG1hbiBhdWNoIFJlZmVyZW50ZW4gZmluZGVuICh1bnRlciBkZW4gQW53ZXNlbmRlbiksIHdlbm4gZGVubgpJbnRlcmVzc2UgYmVzdGVodC4KCkZ1ZXIgR29vZGllcyBnaWJ0IGVzIGF1Y2ggb2ZmZW5lIE9ocmVuLiBUYXNzZW4gaGFiZSBpY2ggendhciBzY2hvbiBnZW51ZywgYWJlcgpkYXMgd2FlcmUgYXVjaCBlaW5lIE9wdGlvbi4gU2ljaGVyIGdhZWJlIGVzIGFiZXIgYXVjaCBhbmRlcmUgTW9lZ2xpY2hrZWl0ZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29tbWVyY2FtcD8gKEdsb2luc29uLCAgMi4gQXByIDIwMTgsIDE0OjMyOjQxKToKfiMhIHJuPUh1bW5pIHJ0PTE1MjI2NjQ0NTEgcmc9cGFydHkKfiMhIHRpZD0xNTE4MjUwOTI5CkJsb2VkZSBad2lzY2hlbmZyYWdlOiBicmluZ3Qgd2VyIEtpbmRlciBpbSBCZXJlaWNoIGJpcyA1LTEwIEphaHJlbiBtaXQ/IEljaAp3dWVyZGUgZGllIGF1Y2ggZXNzZW4sIGVzIGdlaHQgYWJlciBlaGVyIGRhcnVtLCBvYiBpY2ggbWVpbmVuIEdyb3NzendlcmcgbWl0CmVpbmxhZGUsIHdlaWwgZGVyIFplbHRlbiBsaWVidCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvbW1lcmNhbXA/IChaYXBob2IsICAyLiBBcHIgMjAxOCwgMTU6MTE6NDEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTUyMjY3MjM2MSByZz1wYXJ0eQp+IyEgdGlkPTE1MTgyNTA5MjkKV2lyIGhhYmVuIGVpbiBLaW5kIHVtIDMgSmFocmUgZGFiZWksIHNwaWVsdCBzaWNoZXIgYXVjaCBtaXQgNmphZWhyaWdlbiwgZmFsbHMKZGFzIGJlaW0gRW50c2NoZWlkZW4gaGlsZnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vcmQgT3BlbiBBaXIgKE1pcmlsLCAzMC4gSnVuIDIwMTgsIDExOjQ5OjMyKToKSHVodSwKd2FlaHJlbmQgZGVyIE1HIFBhcnR5IGZpbmRldCBkYXMgTm9yZCBPcGVuIEFpciBpbiBFc3NlbiBzdGF0dC4gRWludHJpdHQgaXN0CmZyZWkuIEljaCB3dWVyZGUgamEgdm9yc2NobGFnZW4sIGRhc3Mgd2lyIGRhIG1hbCBtaXQgZWluZXIgRGVsZWdhdGlvbiB2b3JiZWkKc2NoYXVlbi4KaHR0cHM6Ly93d3cuZmVzdGl2YWx0aWNrZXIuZGUvZmVzdGl2YWxzL25vcmRfb3Blbl9haXIvCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vcmQgT3BlbiBBaXIgKE1pcmlsLCAgMS4gSnVsIDIwMTgsIDA5OjIyOjU0KToKfiMhIHJuPU1pcmlsIHJ0PTE1MzAzNTIxNzIgcmc9cGFydHkKfiMhIHRpZD0xNTMwMzUyMTcyCkFtIFBhcnR5d29jaGVuZW5kZSBpc3QgaXJnZW5kd2llIHZpZWwgbG9zOiAKRGFzIGhpZXIgc29sbHRlbiB3aXIgYXVjaCBuaWNodCB2ZXJwYXNzZW4uIApodHRwczovL3d3dy50aW1lYW5kZGF0ZS5kZS9maW5zdGVybmlzL21vbmQvMjAxOC1qdWxpLTI3CgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vcmQgT3BlbiBBaXIgKENyb2Z0LCAgMS4gSnVsIDIwMTgsIDE0OjM5OjU0KToKfiMhIHJuPU1pcmlsIHJ0PTE1MzAzNTIxNzIgcmc9cGFydHkKfiMhIHRpZD0xNTMwMzUyMTcyClVudGVyIGh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9jYWZlbm9yZG9wZW5haXIgZmluZGV0IHNpY2ggZGllIFJ1bm5pbmcgT3JkZXIuCkRlbmtlIE1hbCBGcmFuayB3aWxsIHNpY2hlciBhbSBTYW1zdGFnIGhpbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vcmQgT3BlbiBBaXIgKFplc3N0cmEsICAxLiBKdWwgMjAxOCwgMjI6MDg6MTQpOgp+IyEgcm49Q3JvZnQgcnQ9MTUzMDQ0ODc5NCByZz1wYXJ0eQp+IyEgdGlkPTE1MzAzNTIxNzIKTWhtbS4gV2Vpc3MgbmljaHQsIG9iIG1pciBkYXMgbmljaHQgZXR3YXMgdmllbCB3aXJkIHVuZCB2b3IgYWxsZW0gU2Ftc3RhZyBpc3QKamEgbWF4aW1hbCB1bmd1ZW5zdGlnLi4uIEFiZXIgZGFzIFR1cm9jayB1bmQgZGFzIENhZmUgTm9yZCBzaW5kIGltbWVyIGVpbmVuCkJlc3VjaCB3ZXJ0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOb3JkIE9wZW4gQWlyIChDcm9mdCwgIDEuIEp1bCAyMDE4LCAyMzo1NzoxOCk6Cn4jISBybj1Dcm9mdCBydD0xNTMwNDQ4Nzk0IHJnPXBhcnR5Cn4jISB0aWQ9MTUzMDM1MjE3MgpGcmVpdGFnClRoZSBOYXJyYXRvcgpUaGUgTWFob25lcwpBIFRyYXRvciBMaWtlIEp1ZGFzClY4IFdhbmtlcnMKUnlrZXIncwpEUkkKVGVycm9yZ3J1cHBlCkhhdGVicmVlZAoKU2Ftc3RhZwpEZWNhcHRhY29uCkRldGhyaXRlCldhcnBhdGgKQnVsbGV0ClRoZSBIYXVudGVkClRoZSBOaWdodCBGbGlnaHQgT3JjaGVzdHJhClRhbmthcmQKQXQgVGhlIEdhdGVzCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9yZCBPcGVuIEFpciAoWmVzc3RyYSwgIDIuIEp1bCAyMDE4LCAwMDowMToxNyk6Cn4jISBybj1Dcm9mdCBydD0xNTMwNDgyMjM4IHJnPXBhcnR5Cn4jISB0aWQ9MTUzMDM1MjE3MgpJc3QgamV0enQgbmljaHQgc29vbyBtZWlucyB1bmQgbWlyIGlzdCBkZXIgQWJlbmQgbWl0IExldXRlLCBkaWUgbmljaHQgc28KaGFldWZpZyBzZWhlLCB3aWNodGlnZXIuIFVuZCBhbiBkZW4gQWJlbmRlbiBkdXJjaCBkaWUgR2VnZW5kIHp1IGZhaHJlbiBlaApldHdhcyB6dSBzdHJlc3NpZy4gTGllYmVyIG1hbCBuZW4gYW5kZXJlbiBBYmVuZCBpbnMgVHVyb2NrLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgTCAoR2xvaW5zb24sIDE2LiBKdWwgMjAxOCwgMjM6Mzk6NTQpOgpJY2ggaGFiZSBlYmVuIChmdWVyIFpvb29rISBGVUVSIFpPT09PT09LISkgbWFsIGVpbiBwYWFyIFBhcnR5ZWludHJhZWdlIGluIGRlcgpMaXN0ZSBlcmdhZW56dDogd2lyIGhhYmVuIGRpZXNlcyBKYWhyIHVuc2VyZSA1MC4gUGFydHkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5IEwgKFpvb2ssIDE3LiBKdWwgMjAxOCwgMTE6MjI6MDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTUzMTc3NzE5NCByZz1wYXJ0eQp+IyEgdGlkPTE1MzE3NzcxOTQKSmEsIGljaCBtdXNzIG51biBkb2NoIG1hbCBkZW4gV3VyemVsemF1YmVyIGF1c2Z1ZWhyZW4uCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcnR5IEwgKEFtYXJ5bGxpcywgMTcuIEp1bCAyMDE4LCAxMjo1ODowNik6Cn4jISBybj1ab29rIHJ0PTE1MzE4MTkzMjggcmc9cGFydHkKfiMhIHRpZD0xNTMxNzc3MTk0CldpZSBmdW5rdGlvbmllcnQgZGVyIGdlbmF1PyBNb2VnbGljaHN0IHdlbmlnZSBEZXRhaWxzIGJla2FubnRnZWJlbj8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhcnR5IEwgKFpvb2ssIDE3LiBKdWwgMjAxOCwgMTM6NTU6MzgpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE1MzE4MjUwODYgcmc9cGFydHkKfiMhIHRpZD0xNTMxNzc3MTk0CkFsc28gd2VubiBEdSBkZW4gbmljaHQga2VubnN0IC4uLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHkgTCAoR2xvaW5zb24sIDE3LiBKdWwgMjAxOCwgMTg6NDk6MDQpOgp+IyEgcm49Wm9vayBydD0xNTMxODI4NTM4IHJnPXBhcnR5Cn4jISB0aWQ9MTUzMTc3NzE5NApXaXIgdHJlaWJlbiBmdWVocmVybG9zIGltIE1lZXIgZGVyIERhdGVuISBXYWFhYWFhaCEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWb3J0cmFnIChaYXBob2IsIDI1LiBKdWwgMjAxOCwgMTA6NDM6NTQpOgpJY2ggcGxhZWRpZXJlIHVlYnJpZ2VucyBmdWVyIGVpbmUgTGlzdGUsIGF1ZiBkZXIgamVkZS9yIGdlcm5lIFRoZW1lbiBlaW50cmFnZW4KZGFyZiwgZGllIGJlaSBlaW5lbSBTZW1pbmFyIG9kZXIgVm9ydHJhZyBkaWVzZSBXb2NoZSBnZXJuZSBhKSBnZWhvZXJ0IHdlcmRlbgptb2VjaHRlbiBvZGVyIHNvZ2FyIGIpIHNlbGJzdCB2b3J0cmFnZW4ga29lbm50ZW4uIE1hbCBzY2hhdWVuLCB3YXMgd2lyIGRpZXNtYWwKZXR3YXMgenVzdGFuZGUgYnJpbmdlbi4gRXMgZ2lidCBqYSBzbyBzcG9udGFuZSBXb3Jrc2hvcHMsIGRhdm9uIGhvZXJlIGljaCBudXIKR3V0ZXMsIGxlaWRlciBrZW5uZSBpY2ggZGllIGdlbmF1ZSBPcmdhIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGl6emFiZXN0ZWxsdW5nIGZ1ZXIgUGFydHlhYmVuZCAoWmVzc3RyYSwgMzAuIEp1bCAyMDE4LCAxMDozNDowMSk6Ckh1aHUuLi4KCmRhbWl0IHdpciBuYWVjaHN0ZXMgSmFociBlaW5lIFJlZmVyZW56IGhhYmVuLCB3YXMgZGllc2VzIEphaHIgZ3V0IGdpbmcsCnNvbGx0ZW4gd2lyIG1hbCBhdWZzY2hyZWliZW4sIHdhcyB3aXIgaGF0dGVuLiA7LSkKV2lyIGhhdHRlbiAxMCBCbGVjaGUgUGl6emEgZnVlciAyNyBQZXJzb25lbi4KKiAyIFNwaW5hdC1Hb3Jnb256b2xhCiogMiBQYXByaWthLE1haXMsWndpZWJlbG4sS25vYmxhdWNoLCBGZXRhCiogMS41IFNhbGFtaQoqIDAuNSBNYXJnYXJpdGEKRGFzIHdhciBtZWluZSBFcmlubmVydW5nOiBrYW5uIGRhcyBqZW1hbmQgc3BlemllbGwgZnVlciBkZW4KbmljaHQtdmVnZXRhcmlzY2hlbiBCZXJlaWNoIGVyZ2Flbnplbj8gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGl6emFiZXN0ZWxsdW5nIGZ1ZXIgUGFydHlhYmVuZCAoQ3JvZnQsIDMwLiBKdWwgMjAxOCwgMTA6NTc6MzQpOgp+IyEgcm49WmVzc3RyYSBydD0xNTMyOTM5NjQxIHJnPXBhcnR5Cn4jISB0aWQ9MTUzMjkzOTY0MQpLb3JyZWt0dXI6IDI2IFBlcnNvbmVuIHVuZCAxIEtpbmQuIERpZSAyNy4gUGVyc29uIGlzdCBuaWNodCBiaXMgenVyIFBhcnR5CmdlYmxpZWJlbi4gIEhhdHRlIG1pciBkYXMgYXVjaCBzY2hvbiBncm9iIGluIGRlciBBYnJlY2hudW5nIG5vdGllcnQuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQaXp6YWJlc3RlbGx1bmcgZnVlciBQYXJ0eWFiZW5kIChHbG9pbnNvbiwgMzAuIEp1bCAyMDE4LCAxMTowNDoxMSk6Cn4jISBybj1Dcm9mdCBydD0xNTMyOTQxMDU0IHJnPXBhcnR5Cn4jISB0aWQ9MTUzMjkzOTY0MQpEaWUgMjcuIFBlcnNvbiBtdXNzdGUgYWxsZWluIHNjaG9uIGRlc2hhbGIgZ2VoZW4sIHdlaWwgZWluaWdlIEFud2VzZW5kZQpiZWZ1ZXJjaHRldGVuLCBkYXNzIHNpZSBtaW5kZXN0ZW5zIHplaG4gQmxlY2hlIGFsbGVpbiBsZWVyZnJlc3NlbiB3dWVyZGUuCgpWaWVsZW4gRGFuayBhbiBkaWUgT3JnYSEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYWRlbnN0ZWNoZXIgKEdsb2luc29uLCAzMC4gSnVsIDIwMTgsIDExOjEwOjA4KToKaHR0cHM6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvV2FkZW5zdGVjaGVyCgoiV2lyZCBlaW5lIEJsdXRtYWhsemVpdCBhbiBlaW5lbSBpbmZpemllcnRlbiBUaWVyIG9kZXIgTWVuc2NoZW4gdW50ZXJicm9jaGVuLAprb2VubmVuIHNpZSBhbiBpaHJlbiBNdW5kd2Vya3pldWdlbiBoYWZ0ZW5kZXMgaW5mZWt0aW9lc2VzIEJsdXQgYXVmIGt1cnplCkRpc3RhbnogaW5uZXJoYWxiIHZvbiBldHdhIDMwIE1pbnV0ZW4gYXVmIGVpbiBiZW5hY2hiYXJ0ZXMsIG5vY2ggbmljaHQKaW5maXppZXJ0ZXMgVGllciBvZGVyIGVpbmVuIE1lbnNjaGVuIHVlYmVydHJhZ2VuLiIKCnVuZCBhdWNoCgoiQmVpbSBOdXR6dmllaCBrYW5uIGRhcyBCbHV0c2F1Z2VuIHp1IGVpbmVyIFZlcnJpbmdlcnVuZyBkZXMgTWlsY2hlcnRyYWdlcyB1bmQKZGVzIEZsZWlzY2gtIHVuZCBGZXR0YW5zYXR6ZXMgZnVlaHJlbiAuLi4iCgpMZXR6dGVyZXMgZHVlcmZ0ZSBmYXN0IGVpbmUgZ3V0ZSBOYWNocmljaHQgZnVlciBkYXMgTVVELU51dHp2aWVoICdTcGllbGVyJwpzZWluLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBpenphYmVzdGVsbHVuZyBmdWVyIFBhcnR5YWJlbmQgKERlYWRkeSwgMzAuIEp1bCAyMDE4LCAxMToxMToxOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xNTMyOTQxNDUxIHJnPXBhcnR5Cn4jISB0aWQ9MTUzMjkzOTY0MQpJY2ggbW9lY2h0ZSBkYSBhdWNoIG1laW5lbiBEYW5rIGF1c3NwcmVjaGVuLCBkYXMgd2FyIHNlaHIgc2Nob2VuIHVuZCBmdWVyIGRpZQpmb2xnZW5kZW4gTVVELVBhcnRpZXMgcGxhbmUgaWNoIGF1Y2ggc2Nob25tYWwgZWluZW4gbGFlbmdlcmVuIEF1ZmVudGhhbHQgZWluIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGl6emFiZXN0ZWxsdW5nIGZ1ZXIgUGFydHlhYmVuZCAoU295bmFkYSwgMzAuIEp1bCAyMDE4LCAxMTo0OTo1NSk6Cn4jISBybj1EZWFkZHkgcnQ9MTUzMjk0MTg3OCByZz1wYXJ0eQp+IyEgdGlkPTE1MzI5Mzk2NDEKSWNoIG1vZWNodGUgbWljaCBhdWNoIGdhbnogaGVyemxpY2ggZnVlciBkaWUgc2Nob2VuZSBQYXJ0eSBiZWRhbmtlbiEKCkBQaXp6YWJlc3RlbGx1bmc6IEVzIHdhciBhdWYgamVkZW4gRmFsbCBub2NoIEhhd2FpaSB1bmQgU2NoaW5rZW4rUGlsemUgZGFiZWksCmljaCB3ZWlzcyBhYmVyIG5pY2h0LCB3aWUgdmllbCBqZXdlaWxzLgoKQEVpczogRGVyIEVpc21hbm4gaXN0IHVudGVyIGRlciBUZWxlZm9ubnVtbWVyIDAxNzgvNTA0OTUwMCBvZGVyIGRlcgpFLU1haWwtQWRyZXNzZSBib2NodW1laXNAZ21haWwuY29tIHp1IGVycmVpY2hlbiwgZmFsbHMgd2lyIG1hbCB3aWVkZXIgaW4KSGF0dGluZ2VuIGF1ZiBkZW0gQ2FtcGluZ3BsYXR6IHNpdHplbiB1bmQgZ2VybmUgRWlzIGhhZXR0ZW4uCgpTb3luYWRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQaXp6YWJlc3RlbGx1bmcgZnVlciBQYXJ0eWFiZW5kIChab29rLCAzMC4gSnVsIDIwMTgsIDEyOjAwOjQ2KToKfiMhIHJuPVNveW5hZGEgcnQ9MTUzMjk0NDE5NSByZz1wYXJ0eQp+IyEgdGlkPTE1MzI5Mzk2NDEKSmEsIHZpZWxlbiBoZXJ6bGljaGVuIERhbmsgYW4gZGllIE9yZ2EgZnVlciBkaWUgc2Nob2VuZSBQYXJ0eSEKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQaXp6YWJlc3RlbGx1bmcgZnVlciBQYXJ0eWFiZW5kIChWYW5pciwgMzAuIEp1bCAyMDE4LCAxMjoxNDoxMSk6Cn4jISBybj1ab29rIHJ0PTE1MzI5NDQ4NDYgcmc9cGFydHkKfiMhIHRpZD0xNTMyOTM5NjQxCkphIGF1Y2ggaGllciBub2NobWFsOiBFcyBoYXQgc2VociB2aWVsIFNwYXNzIGdlbWFjaHQgdW5kIGljaCBkYW5rZSBhbGxlbiwgd2FzCmF1Y2ggaW1tZXIgc2llIG9yZ2FuaXNpZXJ0IGhhYmVuLiAKCkljaCBoYWIgdWVicmlnZW5zIGVpbmVuIFVTQi1TdGljayBNYXJrZSBQbGF0aW51bSBnZWZ1bmRlbi4gCgpWLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBpenphYmVzdGVsbHVuZyBmdWVyIFBhcnR5YWJlbmQgKE1pcmlsLCAzMC4gSnVsIDIwMTgsIDE5OjA4OjI2KToKfiMhIHJuPVplc3N0cmEgcnQ9MTUzMjkzOTY0MSByZz1wYXJ0eQp+IyEgdGlkPTE1MzI5Mzk2NDEKRXMgd2FyZW4gZm9sZ2VuZGUgUGl6emVuIChhdWNoIGF1cyBkZW0gR2VkYWVjaHRuaXMpOgoyeCBQYXByaWthLCBNYWlzLCBad2llYmVsbiwgS25vYmxhdWNoLCBGZXRhCjIuNSB4IFNwaW5hdCwgR29yZ29uem9sYQoxLjUgU2FsYW1pCjAuNSBTY2hpbmtlbiwgQ2hhbXBpZ25vbgoxLjUgSGF3YWkKMC41IFJ1Y29sYSwgUGFybWVzYW4sIFRvbWF0ZW4gKGxlaWRlciBvaG5lIFJ1Y29sYSkKMC41IExhY2hzIHVuZCBhbmRlcmVyIEtyYW0KMC41IC0xIFNjaGlua2VuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGl6emFiZXN0ZWxsdW5nIGZ1ZXIgUGFydHlhYmVuZCAoTm90c3Ryb20sIDMwLiBKdWwgMjAxOCwgMTk6MzY6MTMpOgp+IyEgcm49Wm9vayBydD0xNTMyOTQ0ODQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTUzMjkzOTY0MQpHYW56IGRvbGxlbiBEYW5rIGFuIGRpZSBPcmdhLCB1bmQgYXVjaCBub2NobWFsIGdhbnogbGllYmVuIERhbmsgZnVlcnMgWmVsdAphdXNib3JnZW4gdW5kIGRpZSBIaWxmZSBiZWkgQXVmLSB1bmQgQWJiYXUuIERpZSBXb2NoZSBoYXQgbWlyIHdpZWRlciBzZWhyCmd1dCBnZWZhbGxlbi4KVWVicmlnZW5zIHdhciBhdWNoIEp1dHRhIChkaWUgQmVzaXR6ZXJpbiBkZXMgWmVsdHBsYXR6ZXMpIHNlaHIgYW5nZXRhbiB2b24KZGVyIE1vcmdlbmdyYXVlbi1HcnVwcGUgYWxzIEdhbnplbS4gV2lyIHNjaGVpbmVuIGFsbGVzIHJpY2h0aWcgZ2VtYWNodCB6dQpoYWJlbiwgZGVubiBzaWUgc2FndGUsIHNpZSBmcmV1ZSBzaWNoIHNjaG9uIGF1ZiBuYWVjaHN0ZXMgSmFociB1bmQgd2lyCnNvbGx0ZW4gdW5iZWRpbmd0IHdpZWRlcmtvbW1lbi4KCk5vdHN0cm9tLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGl6emFiZXN0ZWxsdW5nIGZ1ZXIgUGFydHlhYmVuZCAoQ3JvZnQsIDMwLiBKdWwgMjAxOCwgMjI6NDA6MTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTUzMjk0MTQ1MSByZz1wYXJ0eQp+IyEgdGlkPTE1MzI5Mzk2NDEKRHUgd2Fyc3QgbmljaHQgZGllIDI3LiBQZXJzb24gOnAKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQaXp6YWJlc3RlbGx1bmcgZnVlciBQYXJ0eWFiZW5kIChHbG9pbnNvbiwgMzEuIEp1bCAyMDE4LCAwNjoyNTo1Nyk6Cn4jISBybj1Dcm9mdCBydD0xNTMyOTgzMjExIHJnPXBhcnR5Cn4jISB0aWQ9MTUzMjkzOTY0MQpWZXJkYW1tdC4gS2VpbmVyIGhhdCBBbmdzdCB2b3IgbWVpbmVuIFBpenphdmVydGlsZ2ZhZWhpZ2tlaXRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQaXp6YWJlc3RlbGx1bmcgZnVlciBQYXJ0eWFiZW5kIChSaG92YW4sIDMxLiBKdWwgMjAxOCwgMDg6NDM6NTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTUzMzAxMTE1NyByZz1wYXJ0eQp+IyEgdGlkPTE1MzI5Mzk2NDEKRXMgd2FyIHdpZWRlciBlaW5tYWwgZWluIEZlc3QuClZpZWxlbiBsaWViZW4gZGFuayBhbiBkaWUgT3JnYSBkaWUgZGFzIG1vZWdsaWNoIGdlbWFjaHQgaGF0LgoKUmhvdmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQaXp6YWJlc3RlbGx1bmcgZnVlciBQYXJ0eWFiZW5kIChCdWdmaXgsIDMxLiBKdWwgMjAxOCwgMDk6NDQ6MDIpOgp+IyEgcm49UmhvdmFuIHJ0PTE1MzMwMTk0MzEgcmc9cGFydHkKfiMhIHRpZD0xNTMyOTM5NjQxClNvIHdpZSBpY2ggZGFzIG1pdGJla29tbWVuIGhhYmUsIHdhciBkaWUgUnVrb2xhLSBUb21hdGVuLCBQYXJtZXNhbiBuaWNodCBudXIKb2huZSBSdWtvbGEsIHNvbmRlcm4gYXVjaCBvaG5lIFBhcm1lc2FuLiA7LSkKCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGF0dGluZ2VuIHJlbG9hZGVkPyAoSHVtbmksIDEzLiBGZWIgMjAxOSwgMjI6MDg6MTkpOgpIdWh1IGlociwKCmljaCBmcmFnZSBtYWwgbmFjaCwgb2IgZXMgZGllc2VzIEphaHIgd2llZGVyIEludGVyZXNzZSBhbiBlaW5lciBQYXJ0eSBpbgpIYXR0aW5nZW4gZ2lidC4gRGFzIGlzdCBmdWVyIHVucyBuaWNodCB2aWVsIEFyYmVpdCwgd2lyIG1hY2hlbiBkYXMgYXVjaAp3aWVkZXIsIGFiZXIgdmllbGxlaWNodCB3aXJkIGphIGVpbiBhbmRlcmVyIE9ydCBnZXd1ZW5zY2h0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChDcm9mdCwgMTMuIEZlYiAyMDE5LCAyMjozOTo1OSk6Cn4jISBybj1IdW1uaSBydD0xNTUwMDkyMDk5IHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpJc3QgZGVyIFBsYXR6IHVlYmVyaGF1cHQgbm9jaCB6dSBoYWJlbj8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhhdHRpbmdlbiByZWxvYWRlZD8gKE11bmRyb24sIDE0LiBGZWIgMjAxOSwgMTU6MDA6NDYpOgp+IyEgcm49Q3JvZnQgcnQ9MTU1MDA5Mzk5OSByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKSW50ZXJlc3NlIGhhYiBpY2ggZGVmaW5pdGl2LCBhYmVyIG9iIGljaCBkaWVzZXMgSmFociBaZWl0IGhhYmUsIGthbm4gaWNoCmZydWVoc3RlbnMgaW4gMi0zIE1vbmF0ZW4gd2lzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGF0dGluZ2VuIHJlbG9hZGVkPyAoR3VsYWhyLCAxNC4gRmViIDIwMTksIDIwOjE1OjIzKToKfiMhIHJuPU11bmRyb24gcnQ9MTU1MDE1Mjg0NiByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKV2lyIGhhYmVuIEludGVyZXNzZSB1bmQgc29nYXIgc2Nob24gSG90ZWwgdm9uIE1pdHR3b2NoIGJpcyBTb25udGFnIGdlYnVjaHQgOkQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhhdHRpbmdlbiByZWxvYWRlZD8gKFNhcmF5LCAxNC4gRmViIDIwMTksIDIxOjMzOjE1KToKfiMhIHJuPUd1bGFociBydD0xNTUwMTcxNzIzIHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpXaXIgc2luZCBhdWNoIGRhYmVpIDopLgpNaXQgSHVuZGNoZW4gbmF0dWVybGljaCA7KS4KClNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChaYXBob2IsIDE5LiBGZWIgMjAxOSwgMjE6MDI6MzEpOgp+IyEgcm49U2FyYXkgcnQ9MTU1MDE3NjM5NSByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKVmllbGVuIERhbmsgZnVlcnMgT3JnYW5pc2llcmVuISBJY2ggd2VyZGUgbWFsIGVpbmUgcGFzc2VuZGUgTmFjaHJpY2h0IGF1ZiBkZXIKTUcgV2Vic2VpdGUgdmVyb2VmZmVudGxpY2hlbi4gVmllbGxlaWNodCBmaW5kZW4gc2ljaCBqYSBhdWNoIG5vY2ggbmV1ZSAob2Rlcgp1cmFsdGU/KSBOYXNlbiBlaW4uIAoKRmFsbHMgYW5kZXJlIE9ydGUgZ2V3dWVuc2NodCBzaW5kLCBoYWV0dGUgaWNoIGF1Y2ggbml4IGdlZ2VuIGVpbmUKSGVyYnN0L1dpbnRlci9GcnVlaGxpbmdzcGFydHkgMjAxOSBvZGVyIDIwMjAgOikKClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEhhdHRpbmdlbiByZWxvYWRlZD8gKERlYWRkeSwgMTUuIEFwciAyMDE5LCAwOTo0NTozNyk6Cn4jISBybj1aYXBob2IgcnQ9MTU1MDYwNjU1MSByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKRGEgaWNoIG1pY2ggaW1tZXIgbWl0IGRlbSBLYWxlbmRlciB2ZXJ6ZXR0ZWwsIGRhcyBpc3QgZGllc2VzIEphaHIgdm9tIDIyLiBiaXMKMjguIEp1bGksIGtvcnJla3Q/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChNdW5kcm9uLCAxNS4gQXByIDIwMTksIDE1OjMzOjAzKToKfiMhIHJuPURlYWRkeSBydD0xNTU1MzE0MzM3IHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpNYW4gZ29vZ2xlIG5hY2ggV2Fja2VuIHVuZCBzaWVodCwgZGFzcyBkaWVzZXIgMjkuNy4gYmlzIDQuOC4gaXN0LiBEYSBIYXR0aW5nZW4Kc3RldHMgZGllIFdvY2hlIGRhdm9yIGlzdCwgd2FlcmUgZGFzIGluIGRlciBUYXQgMjIuNy4gYmlzIDI4LjcuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSGF0dGluZ2VuIHJlbG9hZGVkPyAoWmFwaG9iLCAxNi4gQXByIDIwMTksIDIxOjUzOjA1KToKfiMhIHJuPU11bmRyb24gcnQ9MTU1NTMzNTE4MyByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKRGllIERhdGVuIGZpbmRlbiBzaWNoIGF1Y2ggaGllcjogaHR0cDovL21nLm11ZC5kZS9uZXVlcy9pbmRleC5zaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogSGF0dGluZ2VuIHJlbG9hZGVkPyAoRGVhZGR5LCAxNi4gQXByIDIwMTksIDIxOjUzOjU3KToKfiMhIHJuPVphcGhvYiBydD0xNTU1NDQ0Mzg1IHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpFaW5lciB2b24gdW5zIGJlaWRlbiBoYXQgbmVuIGZhbHNjaGVuIEthbGVuZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEhhdHRpbmdlbiByZWxvYWRlZD8gKFphcGhvYiwgMjUuIEFwciAyMDE5LCAyMzoyMjoxMyk6Cn4jISBybj1EZWFkZHkgcnQ9MTU1NTQ0NDQzNyByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKQXByb3BvcywgaWNoIGhhdHRlIGpldHp0IGVpbmUgYmVmcmV1bmRldGUgRmFtaWxpZSBnZXNwcm9jaGVuLCBkaWUgaW0KZnJhZ2xpY2hlbiBaZWl0cmF1bSBlYmVuZmFsbHMgYXVzbmFobXN3ZWlzZSBpbiBOUlcgd2VpbGVuIHVuZCBMdXN0IGF1ZiBaZWx0ZW4KaGFldHRlbi4gV2FlcmVuIGFsbGVyZGluZ3MgYWxsZXNhbXQgTUctR2Flc3RlLCBub2NoIHp1ZGVtIG1pdCBrbGVpbmVtIEtpbmQKZGFiZWkuIFdpZSBpc3QgZGEgc28gZGllIFN0aW1tdW5nPyBHaWJ0IGVzIFByYWV6ZWRlbnpmYWVsbGUsIGRhc3MgdGF0c2FlY2hsaWNoCmdlaGFldWZ0IExldXRlIHZvcmJlaSBrb21tZW4sIGRpZSBnYXIga2VpbmUgTXVkZXJmYWhydW5nIHZvcndlaXNlbiBrb2VubmVuPwpHaWJ0IGVzIGRhIHdvbW9lZ2xpY2ggVm9yYmVoYWx0ZT8gV2VsY2hlIFN0dWZlIG11c3MgbWFuIGVycmVpY2h0IGhhYmVuLCB1bSBpbgpIYXR0aW5nZW4gYXVmenVrcmV1emVuPyBTY2hhZXR6ZSBkaWUgS2lkZGllcyB3ZXJkZW4gZWhlciBrZWluZSBQcm9ibGVtZSBoYWJlbi4KVmVybXV0bGljaCBrb21tdCBzb3dhcyBuaWUgdm9yLCBkYSBlaW5mYWNoIG5pZW1hbmQgYXVzc2VyaGFsYiBkYXZvbiBlcmZhZWhydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChaZXNzdHJhLCAyNi4gQXByIDIwMTksIDA5OjM3OjMwKToKfiMhIHJuPVphcGhvYiBydD0xNTU2MjI3MzMzIHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpTb2xhbmdlIGRpZSBtaXQgZGVtIE11ZHVtZmVsZCBrbGFyIGtvbW1lbiB1bmQgc2ljaCBuaWNodCBzbyB2ZXJoYWx0ZW4sIGRhc3MKSnV0dGEgdW5zIG5pY2h0IG1laHIgc2VoZW4gd2lsbCwgZ2xhdWIgaWNoIG5pY2h0LCBkYXNzIGRhcyBuZW4gUHJvYmxlbSBmdWVyCmplbWFuZGVuIGlzdC4gR2Flc3RlIGdhYiBlcyBpbW1lciBtYWwgd2llZGVyLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEhhdHRpbmdlbiByZWxvYWRlZD8gKEh1bW5pLCAyNi4gQXByIDIwMTksIDE5OjA5OjA5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTU1NjI2NDI1MCByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKV2lyIGhhYmVuIGF1Y2gga2VpbmUgTGV2ZWxiZWdyZW56dW5nLCB2b24gZGFoZXIgcmVpY2h0IGVpbm1hbCBlaW5sb2dnZW4gOy0pCkFuc29uc3RlbiB3aXJkIHdvaGwgbmllbWFuZCBzYXVlciwgd2VubiBuaWNodG1hbCBkYXMgcGFzc2llcnQuIE51ciBkaWUgWmFobApmdWVyIGRpZSBQbGFudW5nIHdhZXJlIG5pY2h0IGdhbnogc28gZmFsc2NoLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChNdW5kcm9uLCAyNi4gQXByIDIwMTksIDIwOjI0OjUwKToKfiMhIHJuPUh1bW5pIHJ0PTE1NTYyOTg1NDkgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5CkljaCBwZXJzb2VubGljaCB3dWVyZGUgbWljaCBkYXJhbiBuaWNodCBzdG9lcmVuLiBXYXJ1bSBlaWdlbnRsaWNoIG5pY2h0PyBTaW5kCmphIGFsbGVzIHBvdGVudGllbGxlIE11ZGRlciEgUG9zaXRpdmVzIERlbmtlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChOb3RzdHJvbSwgIDEuIE1haSAyMDE5LCAxMTowMDozMik6Cn4jISBybj1IdW1uaSBydD0xNTU2Mjk4NTQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpTY2hsaW1tc3RlbmZhbGxzIG11ZXNzZW4gc2llIHNpY2ggZGFyYW4gZ2V3b2VobmVuLCBnYXN0MSBnZW5hbm50IHp1IHdlcmRlbi4KQWJlciBkYXMga29lbm5lbiBzaWUgamEgdW1nZWhlbiwgaW5kZW0gc2llIGVpbmVuIFNwaWVsZXIgYW5sZWdlbi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5cGxhbnVuZ2VuIChIdW1uaSwgIDUuIE1haSAyMDE5LCAyMTozMjozNyk6CkhhbGxvIGlociwKCmljaCBiYXN0bGUgZ2VyYWRlIGFuIGRlbiBQYXJ0eWJyZXR0ZXJuIHJ1bS4gV2VyZGUgZGllIGF1Y2ggZ2xlaWNoIGF1ZnN0ZWxsZW4uCkRhIHNpbmQgYWJlciB6d2VpIERhdWVyYnJlbm5lci1GcmFnZW4gZHJpbiwgYmVpIGRlbmVuIGljaCBtYWwgdW0gZWluCk1laW51bmdzYmlsZCBiaXR0ZToKCiogU2VtaW5hci9Wb3J0cmFnOiBEYSBnYWIgZXMgZnJ1ZWhlciBvZWZ0ZXIgd2VsY2hlLCBzbyB6dSBRdWVzdHMgdm9uIFpvb2ssIHp1CkJhbGFuY2Ugdm9uIG1pciwgenUgUXVlc3RzIHZvbiBBcmssIHp1IFRGIHZvbiBNZXNpcmlpLCB6dSBHZXJyaXQgdm9uIFplc3N0cmEKLi4uCgpTaWNoZXIga29lbm50ZSBkZXIgZWluIG9kZXIgYW5kZXJlIHdhcyB2b3JiZXJlaXRlbiwgYWJlciBkYW5uIG11ZXNzdGUgZGEgYXVjaApqZW1hbmQgc2FnZW4sIHdvcnVlYmVyLgoKV2VubiBpaHIgZGEgYWxzbyBXdWVuc2NoZSBoYWJ0LCBub3RpZXJ0IGRpZSwgZ2VybmUgYXVjaCBhdWYgZGVtIFBhcnR5YnJldHQKb2RlciAtIGVpZ2VudGxpY2ggbm9jaCBiZXNzZXIgLSBoaWVyLCBkYW1pdCB3aXIgZGEgYXVjaCBzY2hhdWVuIGtvZW5uZW4sIHdlcgpkYXMgbWFjaHQuCgoqIFBhcnR5Z29vZGllcwoKV2lyIGhhdHRlbiBULVNoaXJ0cywgVGFzc2VuLCBCaWVya3J1ZWdlIHVuZCBCZXN0ZWNrLiBEYXMgaGVpc3N0IG5pY2h0LCBkYXNzCm1hbiBkYXMgbmljaHQgbm9jaG1hbCBtYWNoZW4ga2Fubi4gQWJlciBkaWUgRnJhZ2UgaXN0LCBvYiBpaHIgZGFzIHdvbGx0LgoKV2VubiBlcyBrb25rcmV0ZSBXdWVuc2NoZSBnaWJ0LCBrb2VubnRldCBpaHIgZGFzIHZpZWxsZWljaHQgYXVjaCBhZXVzc2Vybi4KU2VociBnZXJuZSBhdWNoIGdhbnogYW5kZXJlIElkZWVuLgoKSWNoIHBhY2sgZGllIEZyYWdlbiBtaXQgYXVmIGRpZSBQYXJ0eWxpc3RlLCBhYmVyIGlociBrb2VubnRlIGV1Y2ggYXVjaCBnZXJuZQpHZWRhbmtlbiBtYWNoZW4uCgpCZWlkZSBQdW5rdGUgd3VyZGVuIGRpZSBsZXR6dGVuIEphaHJlIG5hZW1saWNoIG5pY2h0IG1laHIgImFuZ2VzcGllbHQiLCBkYXJ1bQpmcmFndGUgaWNoIG1pY2ggZ2VyYWRlLCBvYiB3aXIgZGFzIG5vY2ggd29sbGVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eXBsYW51bmdlbiAoQXJrLCAgNS4gTWFpIDIwMTksIDIxOjQxOjEwKToKfiMhIHJuPUh1bW5pIHJ0PTE1NTcwODQ3NTcgcmc9cGFydHkKfiMhIHRpZD0xNTU3MDg0NzU3CkJpbiB6d2FyIG5pY2h0IGRhYmVpLCBhYmVyIG1hbiBrb2VubnRlIG1hbCBkZW4gU2VtaW5hcnZvcnRyYWcgZXR3YXMgYXVmcGVwcGVuLAppbmRlbSBtYW4gZGllIFNwaWVsZXJzY2hhZnQgbWFsIHp1IFdvcnQga29tbWVuIGxhZXNzdCB1bmQgbWFsIGVpbnNhbW1lbHQsIHdhcwpkaWUgTWVocmhlaXQgZGVyIGtsZWluZW4gR2VtZWluZGUgdm9uIEFrdGl2ZW4gbmVydnQsIGdld3VlbnNjaHQgd2lyZCwgdG9sbCBpc3QKdW5kIHdhcyBub2NoICJnZWJyYXVjaHQiIHdpcmQgLi4uIGxldHp0ZXJlcyBtaXQgbW9lZ2xpY2hzdCByZWFsaXN0aXNjaGVuClZvcnNjaGxhZWdlbiBvaG5lIEdpZXIgKmh1c3QqCkFsc28gd2VuaWdlciBWb3JzY2hsYWcgYWxzIERpc2t1c3Npb24uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5cGxhbnVuZ2VuIChaZXNzdHJhLCAgNS4gTWFpIDIwMTksIDIxOjQ5OjE2KToKfiMhIHJuPUh1bW5pIHJ0PTE1NTcwODQ3NTcgcmc9cGFydHkKfiMhIHRpZD0xNTU3MDg0NzU3Ck1laW5lIElkZWVuIHp1bSBHb29kaWU6CmYKc28gZWluZW4gbGVpY2h0ZW4sIHdpZWRlcnZlcndlbmRiYXJlbiBCZWNoZXIgInRvLWdvIiwgZXR3YXMgaW4gZGllc2VyIEFydDoKaHR0cHM6Ly9lY29mZmVlY3VwLmVjby8KR3JhdmllcnRlIE1ldGFsbHRhc3NlIHdhZXJlIGF1Y2ggbmUgSWRlZS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFydHlwbGFudW5nZW4gKE11bmRyb24sICA1LiBNYWkgMjAxOSwgMjI6MDE6NDUpOgp+IyEgcm49WmVzc3RyYSBydD0xNTU3MDg1NzU2IHJnPXBhcnR5Cn4jISB0aWQ9MTU1NzA4NDc1NwpBbHNvIGljaCBlcmlubmVyZSBtaWNoIGFuIGRpZSBGcmFnZSBuYWNoIFNlbWluYXJlbiB1bmQgaWNoIGhhdHRlIGRhIGRlZmluaXRpdgpJbnRlcmVzc2UgYmVrdW5kZXQuIFZvbiBkZW4gZ2VuYW5udGVuIEJlaXNwaWVsZW4gaGFldHRlbiBtaWNoIGRhcyBRdWVzdC0gdW5kCkJhbGFuY2UtU2VtaW5hciBpbnRlcmVzc2llcnQuIAoKV2FzIGRpZSBHb29kaWVzIGFuZ2VodCwgc28gZmluZGUgaWNoIFQtU2hpcnRzIG9kZXIgTWV0YWxsYmVjaGVyIG1pdCBHcmF2dXIKc2VociBpbnRlcmVzc2FudC4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eXBsYW51bmdlbiAoWmFwaG9iLCAgNi4gTWFpIDIwMTksIDIxOjQxOjE5KToKfiMhIHJuPU11bmRyb24gcnQ9MTU1NzA4NjUwNSByZz1wYXJ0eQp+IyEgdGlkPTE1NTcwODQ3NTcKSWNoIGJlYW50d29ydGUgc29sY2hlIEZyYWdlbiBncnVuZHNhZXR6bGljaCB6dXN0aW1tZW5kLiBLbGVpZHVuZyB2ZXJ3YWVzY2h0LApHZXNjaGlyciB6ZXJicmljaHQsIGthbm4gYWxzbyBydWhpZyBqYWVocmxpY2ggZWluIFN0dWVjayBoaW56dWtvbW1lbi4gQmluIE1HCldlcmJ1bmcgZ2VnZW51ZWJlciBhdWZnZXNjaGxvc3Nlbi4gCgpVbnRlciBWb3J0cmFlZ2VuIGthbm4gaWNoIG1pciBzY2h3ZXIgd2FzIHZvcnN0ZWxsZW4sIHdlaWwgaWNoIG5vY2ggbmllIGVpbmVuCmVybGVidCBoYWJlLCBhbHNvIG5pY2h0IGhpZXIuIEljaCBmaW5kZSBhYmVyIGF1ZiBkZXIgV2Vic2VpdGUgZWluaWdlIFNjaG5pcHNlbAphdXMgdmVyZ2FuZ2VuZW4gVGFnZW4sIHVuZCBkb3J0IHNjaGVpbnQgZGllIFppZWxncnVwcGUgYXVzIE1hZ2llcm4gYmVzdGFuZGVuCnp1IGhhYmVuLiBUYXRzYWVjaGxpY2ggc2luZCBhdWNoIGRpZSBtZWlzdGVuIFBhcnR5Z2Flc3RlIG1pdCBNYWdpZXJ2ZXJ0cmFnCmF1c2dlcnVlc3RldCwgYWJlciBlYmVuIGF1Y2ggbmljaHQgYWxsZS4gSW5zb2Zlcm4gZnVlaGxlIGljaCBtaWNoIGluIGRlcgpVbnRlcnphaGwuCgpBbiBkZXIgZWluIG9kZXIgYW5kZXJlbiBTdGVsbGUgaGF0dGUgaWNoIGphIHNjaG9uIGVyd2FlaG50LCBkYXNzIHdpciBzZWl0CmVpbmlnZXIgWmVpdCBldHdhcyBzY2hsZXBwZW5kIGFiZXIgbGVpZGVuc2NoYWZ0bGljaCBkYWJlaSBzaW5kLCBnZW51ZWdlbmQKU2tyaXB0ZSAmIGNvLiB6dSBzYW1tZWxuLCB1bSBlaW4gc3BlemlmaXNjaGVzIFBha2V0IHp1IGJ1ZW5kZWxuLCBtaXQgZGVtCk1vcmdlbmdyYXVlbiBpbiBkaWUgb2ZmaXppZWxsZSBTcGllbGVsaXN0ZSBkZXMgTXVkbGV0IENsaWVudCBhdWZnZW5vbW1lbgp3ZXJkZW4gd2lyZC4gRGF2b24gc29sbHRlIGxhbmdmcmlzdGlnIGludGVyZXNzYW50IHdlcmRlbi4KClZpZWxsZWljaHQgZmluZGVuIGRhcyBhdWNoIGFuZGVyZSBpbnRlcmVzc2FudCwgd2VubiBzY2hvbiBuaWNodCB6dW0KbWl0YXJiZWl0ZW4sIGRhbm4gZG9jaCB6dW0gZmFjaHNpbXBlbG4gdW5kIGZlaW5qdXN0aWVyZW4sIHNvIGRhc3MgZGllClBsYW51bmdlbiBtZWhyIHVuZCBtZWhyIEZvcm0gYW5uZWhtZW4uIEljaCBoYWJlIG1pciBzYWdlbiBsYXNzZW4sIGRhc3MgYXVjaApkZXIgTUcgVmVyZWluIHZvciBKYWhyZW4gZGFydWViZXIgbmFjaGRhY2h0ZSwgZWluZW4gZWlnZW5lbiBNRyBDbGllbnQgenUKcHJvZ3JhbW1pZXJlbiwgZGFzIGFiZXIgd2VnZW4gaW1tZW5zZW4gQXVmd2FuZHMgc2NobmVsbCB3aWVkZXIgdmVyd29yZmVuIGhhdC4KTWl0IGRpZXNlciBMb2VzdW5nIHNwYXJ0IG1hbiBzaWNoIGVpbmVuIEdyb3NzdGVpbCBkZXIgQXJiZWl0LCBiencuIG1hY2h0IGViZW4KaGF1cHRzYWVjaGxpY2ggZGFzIFNwaWVsYmV6b2dlbmUsIHdhZWhyZW5kIHZpZWwgQW5kZXJlcyBzY2hvbiBleGlzdGllcnQuCgpEYXMgYWxsZXMgZ2Vob2VydCBuYXR1ZXJsaWNoIGthdW0gaW4gZGllc2UgUnVicmlrLCBiencuIGplZGVuZmFsbHMgbmljaHQgaW0KRGV0YWlsLiBEaWUgZ2lidCdzIHN0YXR0IGRlc3NlbiBpbiBkZW4gZW50c3ByZWNoZW5kZW4gYW5kZXJlbiBSdWJyaWtlbiBiencuIGltCk1QQSBBcmNoaXYgbmFjaHp1bGVzZW4sIG9kZXIgYmVpIEJlZGFyZiBhdWYgQW5mcmFnZS4gQWJlciB3aWUgaWNoIHNvIGVpbiBUaGVtYQpkYW5uIGF1ZiBlaW5lbSBDYW1waW5ncGxhdHogdm9yIGhvZmZlbnRsaWNoIGhhbGJ3ZWdzIGludGVyZXNzaWVydGVtIFB1Ymxpa3VtCnVuZCB6dWRlbSB3b21vZWdsaWNoIG9obmUgUHJvamVrdG9yIG9kZXIgaXJnZW5kd2VsY2hlIFZpc3VhbGlzaWVydW5nZW4gYXVjaApudXIgaGFsYndlZ3MgdmVyc3RhZW5kbGljaCB6dXNhbW1lbmZhc3NlbiBvZGVyIGRlbW9uc3RyaWVyZW4ga29lbm50ZT8gLSBHdXRlCkZyYWdlIQoKRGllIFppZWxncnVwcGUgaXN0IGphIGF1Y2ggbmljaHQgZGllIEZyYWt0aW9uIGRlciBJY2gtc3BpZWxlLWhpZXItc2Nob24tc2VpdC1KCmFocmVuLXVuZC1oYWJlLW1laW5lbi1MaWVibGluZ3NjbGllbnQtc2Nob24tbGFlbmdzdC1nZWZ1bmRlbiwgc29uZGVybiBzb2xsCmVoZXIgbmV1ZSBMZXV0ZSBoaWVyaGVyIGJld2VnZW4gb2RlciBOZXVsaW5nZSBsZWljaHRlciByZWluZmluZGVuIGxhc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5cGxhbnVuZ2VuIChaZXNzdHJhLCAgNi4gTWFpIDIwMTksIDIyOjAxOjMwKToKfiMhIHJuPVphcGhvYiBydD0xNTU3MTcxNjc5IHJnPXBhcnR5Cn4jISB0aWQ9MTU1NzA4NDc1NwpCemdsLiBkZXIgQ2xpZW50c2FjaGVuIGtvZW5udGUgaWNoIG1pciBlaW5lIFZhcmlhbnRlIGVpbmVzIEhhY2thdGhvbnMKdm9yc3RlbGxlbi4uLiBBbmRlcmVyc2VpdHMgbXVzcyBpY2ggenVnZWJlbiwgZGFzcyBpY2ggaW0gWmVsdHVybGF1YiBvZnQgZ2FyCmtlaW5lIExpc3QgaGFiZSwgdmllbCBtaXQgZGVtIFJlY2huZXIgenUgZGFkZGVsbi4uLiAqZyoKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eXBsYW51bmdlbiAoTm90c3Ryb20sIDEzLiBNYWkgMjAxOSwgMTk6MDM6MDApOgp+IyEgcm49SHVtbmkgcnQ9MTU1NzA4NDc1NyByZz1wYXJ0eQp+IyEgdGlkPTE1NTcwODQ3NTcKSHVodSwKClNlbWluYXIvVm9ydHJhZyBmaW5kZSBpY2ggYW4gc2ljaCBndXQuIE51ciAtIGRhbm4gbXVzcyBoYWx0IGF1Y2ggZGVyIFd1bnNjaApkYSBzZWluLCBzaWNoIGRhcyBhbnp1aG9lcmVuLiBJY2ggaGF0dGUgZnVlciBIYXR0aW5nZW4gc2VpbmVyemVpdCBhdWYgbWVoci0KZmFjaGVuIFd1bnNjaCB3YXMgdWViZXIgTWluaXF1ZXN0cywgUXVlc3RkZXNpZ24gZXRjLiB2b3JiZXJlaXRldCwgYWJlciBhbHMKd2lyIGRhbm4gZGEgc2Fzc2VuLCB3YXIgZGVyIFd1bnNjaCBuaWNodCBtZWhyIGV4aXN0ZW50LCBtYW4gd29sbHRlIHNpY2ggbGllYmVyCmF1c3J1aGVuIG9kZXIgZGllIFplaXQgYW5kZXJzIG51dHplbi4gSXN0IGphIGF1Y2ggcHJpbWEsIGFiZXIgZGEgbXVzcyBtYW4gZGFubgpuaWNodHMgYXVmd2VuZGlnIHZvcmJlcmVpdGVuIC0gdW5kIGRpZSBBcmJlaXQgbW9lY2h0ZSBpY2ggYXVjaCBBbmRlcmVuIG5pY2h0Cm1hY2hlbiwgd2VubiBkYW5uIGxpZWJlciBlcmhvbHQgd2lyZC4KCk5vdHN0cm9tLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eXBsYW51bmdlbiAoR2xvaW5zb24sIDEzLiBNYWkgMjAxOSwgMjI6MTc6MzcpOgp+IyEgcm49Tm90c3Ryb20gcnQ9MTU1Nzc2Njk4MCByZz1wYXJ0eQp+IyEgdGlkPTE1NTcwODQ3NTcKRmFsbHMgd2lyIGRhIHVlYmVyIGxldHp0ZXMgSmFociByZWRlbjogYmVpIDI3IEdyYWQgaW0gU2NoYXR0ZW4gZXJsaXNjaHQgdmllbGVzCjspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEhhdHRpbmdlbiByZWxvYWRlZD8gKEtlbGx5YnVuZHksIDIyLiBNYWkgMjAxOSwgMjA6NTQ6NDQpOgp+IyEgcm49Tm90c3Ryb20gcnQ9MTU1NjcwMTIzMiByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKY3NoIGZldWVyCk9kZXIgZGFzIFNFSyB3aXJkIGdlcnVmZW4sIHdlaWwgc2ljaCBlaW5lIFRydXBwZSBpcnJzaW5uaWdlciBTZWt0aWVyZXIgb2RlcgpJc2xhbWlzdGVuIG9kZXIgc28gdWViZXIgZGFzIFRvZXRlbiBvZGVyIGdldG9ldGV0IHdlcmRlbiB1bnRlcmhhZWx0LCBhbHMgd2FlcmUKZXMgZGFzIE5vcm1hbHN0ZSBkZXIgV2VsdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhaG5hbnJlaXNlbiAoWmVzc3RyYSwgIDIuIEp1bCAyMDE5LCAwOToxOTo0Nyk6ClNjaG9ubWFsIGVpbiBIaW53ZWlzIGZ1ZXIgYWxsZSBCYWhuYW5yZWlzZW5kZW46IHZvbSAxMi43LiBiaXMgMjYuOC4gZmluZGVuIGltClJ1aHJnZWJpZXQgYXVzZ2VkZWhudGUgQmF1YXJiZWl0ZW4gYW4gZGVuIEJhaG5zdHJlY2tlbiBzdGF0dC4gRGEga29tbXQgZXMgenUKemFobHJlaWNoZW4gVW1sZWl0dW5nZW4vQXVzZmFlbGxlbi4gQmVpc3BpZWx3ZWlzZSB3ZXJkZW4gZGllIEJhaG5ob2VmZSBFc3NlbiArCkJvY2h1bSB2b24gZGVuIG1laXN0ZW4gTGluaWVuIG5pY2h0IGFuZ2VmYWhyZW4sIHdlaWwgWnVlZ2UgdW0gZGFzIHplbnRyYWxlClJ1aHJnZWJpZXQgdW1nZWxlaXRldCB3ZXJkZW4uIEVpZ2VudGxpY2ggYmxlaWJlbiBudXIgbm9jaCAodGVpbHdlaXNlKSBkaWUKUy1CYWhuZW4gdWVicmlnLgpEZXRhaWxzOgpodHRwczovL2JhdWluZm9zLmRldXRzY2hlYmFobi5jb20vZG9jcy9ucncvaW5mb3MvQkFfRHVpc2J1cmctRXNzZW5fMTMwNy0yNTA4MjAKMTkucGRmCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogSGF0dGluZ2VuIHJlbG9hZGVkPyAoWm9vaywgIDIuIEp1bCAyMDE5LCAwOTozNDo1Nyk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTE1NTg1NTEyODQgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5CkV2dGwuIHRhdWNoZSBpY2ggZG9jaCB6dXIgSGF0dGluZ2VuLVdvY2hlIGF1Zi4gQWJlciB3b2hsIGRhbm4gZWhlciBBbmZhbmcgZGVyCldvY2hlLgoKSXN0IGFiZXIgbm9jaCB1bmtsYXIuCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbHJ1bmRlIENvcmlvbGlzIChaZXNzdHJhLCAgMi4gSnVsIDIwMTksIDIxOjExOjM0KToKVm9yYW5rdWVuZGlndW5nOgpJY2ggd3VlcmRlIGluIGRlciB6d2VpdGVuIFdvY2hlbmhhZWxmdGUgZGVyIFplbHR3b2NoZSAoZGlyZWt0IGFtIEFuZmFuZyBiaW4KaWNoIG5vY2ggbmljaHQgZGEpIHZlcm11dGxpY2ggZWluZSBSdW5kZSBDb3Jpb2xpcyBhbmJpZXRlbiwgd2VubiAzLTUgTGV1dGUKbWl0c3BpZWxlbiB3b2xsZW4uCgpIaW50ZXJncnVuZC1JbmZvczoKaHR0cHM6Ly93d3cudWhyd2Vyay12ZXJsYWcuZGUvc3BpZWxlLXVuZC1zeXN0ZW1lL2NvcmlvbGlzLWRlci1kcml0dGUtaG9yaXpvbnQvCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbHJ1bmRlIFRhaWxzIE9mIEVxdWVzdHJpYSAoSHVtbmksICAyLiBKdWwgMjAxOSwgMjI6NDU6NDkpOgpEYSBpY2ggd2Vpc3MsIGRhc3MgbWluZGVzdGVucyBlaW5lIFBlcnNvbiBJbnRlcmVzc2UgaGF0LCB3ZXJkZSBpY2ggZWluZQpTcGllbHJ1bmRlIHp1ICJUYWlscyBPZiBFcXVlc3RyaWEiIGFuYmlldGVuLgoKSGludGVyZ3J1bmQgaXN0ICJNeSBMaXR0bGUgUG9ueSAtIEZyaWVuZHNoaXAgaXMgTWFnaWMiLCB1bmQgd2lyIHNwaWVsZW4gZGFzCk9yaWdpbmFsLCBuaWNodCBkaWUgVWViZXJzZXR6dW5nIHZvbiBVbGlzc2VzLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbHJ1bmRlIFRhaWxzIE9mIEVxdWVzdHJpYSAoU2FyYXksICAyLiBKdWwgMjAxOSwgMjM6MjY6MDIpOgp+IyEgcm49SHVtbmkgcnQ9MTU2MjEwMDM0OSByZz1wYXJ0eQp+IyEgdGlkPTE1NjIxMDAzNDkKSWNoIGhhYmUgSW50ZXJlc3NlIGFuIGJlaWRlbiBSdW5kZW4gOykuCkZ1ZXIgTGV0enRlcmUgaGFiIGljaCBzb2dhciBzY2hvbiBlaW5lbiBOYW1lbiA6LUQuCgpTYXJheQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbHJ1bmRlIFRhaWxzIE9mIEVxdWVzdHJpYSAoTXVuZHJvbiwgIDMuIEp1bCAyMDE5LCAxODo0NTo0OSk6Cn4jISBybj1TYXJheSBydD0xNTYyMTAyNzYyIHJnPXBhcnR5Cn4jISB0aWQ9MTU2MjEwMDM0OQpJY2ggd2FlcmUgYXVjaCBpbnRlcmVzc2llcnQgbWl0enVtYWNoZW4sIGFsbGVyZGluZ3MgbWl0IGRlciBhdXNkcnVlY2tsaWNoZW4KV2FybnVuZywgZGFzcyBpY2gga2VpbmUgUCZQLVJvbGxlbnNwaWVsZXJmYWhydW5nIGhhYmUuIFdlbm4gZGFzIGtlaW4gUHJvYmxlbQpzZWluIHNvbGx0ZSwgc3RlaWdlIGljaCBnZXJuZSBiZWkgYWxsZW0gZWluLCB3YXMgbmljaHQgcGFyYWxsZWwgbGFldWZ0LiBGYWxscwppaHIgYWJlciBsaWViZXIgZWluZSBSdW5kZSBtaXQgZXJmYWhyZW5lbiBTcGllbGVybiB3b2xsdGUsIGRhbm4gZHVlcmZ0IGlociBtaXIKZGFzIHJ1aGlnIHNhZ2VuLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVscnVuZGUgVGFpbHMgT2YgRXF1ZXN0cmlhIChaZXNzdHJhLCAgNC4gSnVsIDIwMTksIDAwOjE0OjE1KToKfiMhIHJuPU11bmRyb24gcnQ9MTU2MjE3MjM0OSByZz1wYXJ0eQp+IyEgdGlkPTE1NjIxMDAzNDkKQmVpIG1pciBzaW5kIG5ldWUgU3BpZWxlciB3aWxsa29tbWVuIHVuZCBpY2ggYmluIG1pciBzaWNoZXIsIGRhcyBnaWx0IGF1Y2gKZnVlciBIdW1uaS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwaWVscnVuZGUgVGFpbHMgT2YgRXF1ZXN0cmlhIChCdWdmaXgsICA0LiBKdWwgMjAxOSwgMDk6MDk6NDIpOgp+IyEgcm49WmVzc3RyYSBydD0xNTYyMTkyMDU1IHJnPXBhcnR5Cn4jISB0aWQ9MTU2MjEwMDM0OQpKYSwgZHUgd2FlcmVzdCBiZWkgd2VpdGVtIG5pY2h0IGRlciBlcnN0ZSwgZGVyIHNlaW5lIGVyc3RlbiBQJlAtRXJmYWhydW5nZW4KYXVmIGVpbmVyIE1HLVBhcnQgbWFjaHQuCgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNwaWVscnVuZGUgVGFpbHMgT2YgRXF1ZXN0cmlhIChIdW1uaSwgIDcuIEp1bCAyMDE5LCAxNzoyNzo0NSk6Cn4jISBybj1CdWdmaXggcnQ9MTU2MjIyNDE4MiByZz1wYXJ0eQp+IyEgdGlkPTE1NjIxMDAzNDkKTmVpbiwgVGFpbHMgb2YgRXF1ZXN0cmlhIGtvZW5uZW4gbnVyIExldXRlIHNwaWVsZW4sIGRpZSBtaW5kZXN0ZW5zIDEwMCBTdHVuZGVuCkRTQSB1bmQgMTAwIFN0dW5kZW4gRCZEIHNvd2llIDUwIFN0dW5kZW4gU2hhZG93cnVuIGhpbnRlciBzaWNoIGhhYmVuLiBTb25zdAp2ZXJzdGVodCBtYW4gZGFzIFNldHRpbmcgbmljaHQgLi4uIAoKTmVpbiwgZGFzIGlzdCBtYWwgc28gZ2FyIGtlaW4gUHJvYmxlbS4gQWxsZXMgZ3V0LCBkYXMgU3lzdGVtIHJpY2h0ZXQgc2ljaCBhdWNoCi4uLiBhbiBlaW4gd2VuaWcganVlbmdlcmUgU3BpZWxlci4KCihXZXIgbWFnLCBrYW5uIGFiZXIgdm9yaGVyIGRpZSBlcnN0ZW4gYmVpZGVuIEZvbGdlbiBhdWYgTmV0ZmxpeCBndWNrZW4gLSBvZGVyCndvIGF1Y2ggaW1tZXIuIE11c3MgaW0gWndlaWZlbCBhYmVyIGF1Y2ggbmljaHQgc2Vpbi4gRGF1ZXJ0IGF1Y2ggbnVyIGNhLiA0NQpNaW51dGVuIG9kZXIgc28gKGFsc28gYmVpZGUpKS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoIGVpbiwgendlaSBIaW53ZWlzZSAoSHVtbmksIDE5LiBKdWwgMjAxOSwgMjI6NTU6MzIpOgpCZXZvciBkYXMgbGV0enRlIFdvY2hlbmVuZGUgdm9yIGRlciBQYXJ0eXdvY2hlIGtvbW10LCBub2NoIHp3ZWkga2xlaW5lCkhpbndlaXNlIHZvbiBtaXI6CgoqIERpZSBCYWhuIGhhdCBkZXJ6ZWl0IGRpZSBTdHJlY2tlIHp3aXNjaGVuIER1ZXNzZWxkb3JmIHVuZCBFc3NlbiBtZWhyIG9kZXIKd2VuaWdlciBnZXNwZXJydCAoZGEgZmFlaHJ0IFNjaGllbmVuZXJzYXR6dmVya2VociwgYWJlciBkZW4gd29sbHQgaWhyIG5pY2h0KS4KV2VyIHZvbiBPc3RlbiBrb21tdCAoYWxzbyB1ZWJlciBEb3J0bXVuZCkgaGF0IGtlaW4gUHJvYmxlbS4gRGFzIGlzdCBhYmVyIHNjaG9uCmxhbmdlIGJla2FubnQsIGRhc3MgZGllIEJhaG4gZGFzIHR1biB3aXJkLCB3ZXIgYWxzbyBlaW4gVGlja2V0IGhhdDogRGFzIHdpcmQKc2Nob24gcmljaHRpZyBzZWluLiBOdXIsIHdlciBkYSBzcG9udGFuIGVpbnMga2F1ZmVuIHdpbGwsIHNvbGx0ZSBzaWNoIGF1cyBkZW0KT3N0ZW4gbmljaHQgdWViZXJyYXNjaGVuIGxhc3Nlbi4KCiogTWFuIGtvZW5udGUgYXVjaCB1ZWJlcmxlZ2VuLCBvYiBtYW4gaW0gTGF1ZmUgZGVyIFdvY2hlIGVpbmVuIEVzY2FwZSBSb29tCmF1ZnN1Y2h0IChxdWFzaSBlaW5lIExpdmUtUXVlc3Qgb2RlciBzbyAuLi4pIE5pY2h0IGdhbnogYmlsbGlnLCB1bmQgc2ljaGVyCndvaGwgbGVpZGVyIGF1Y2ggZWhlciBCbGluZGVuLVVuZnJldW5kbGljaCAoenVtaW5kZXN0IGRpZSwgaW4gZGVuZW4gaWNoIHdhciwKd2FyZW4gZWNodCBzZWhyIHZpc3VlbGwgLi4uIHdhciBlaGVyIHdlbmlnZXIgenVtIEZ1ZWhsZW4gb2RlciBIb2VyZW4pLiBJbgpCb2NodW0gZ2lidCBlcyBnbGVpY2ggendlaSBWZXJhbnN0YWx0ZXIgLSBiZWkgTG9ja2VkIHdhciBpY2ggc2Nob24gaW4gZHJlaQpSYWV1bWVuIGRyaW4sIGRpZSB3YXJlbiBhbGxlIGtsYXNzZS4gS29zdGVucHVua3Q6IENhLiAxMjAgRXVybyBkdXJjaCBkaWUKQW56YWhsIGRlciBUZWlsbmVobWVyIChpbiBldHdhKSwgcmVpbnBhc3NlbiB0dW4gZXR3YSBzZWNocy4KCihPYmVuIHN0ZWh0IGltIGVyc3RlbiBBYnNhdHogdW50ZW4gT3N0ZW4sIGRhcyBtdXNzIFdlc3RlbiBoZWlzc2VuLCBpY2ggYmluIHp1CmZhdWwgZGFzIHp1IGFlbmRlcm4pLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChab29rLCAyNS4gSnVsIDIwMTksIDEwOjU2OjQwKToKfiMhIHJuPVpvb2sgcnQ9MTU2MjA1Mjg5NyByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKSGFiZSBlcyBkb2NoIG5pY2h0IGdlc2NoYWZmdDsgRXVjaCBub2NoIG5lIHRvbGxlIFplaXQgCmluIEhhdHRpbmdlbiEKClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChIdW1uaSwgMjUuIEp1bCAyMDE5LCAxMzo1MTo0OSk6Cn4jISBybj1ab29rIHJ0PTE1NjQwNDUwMDAgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5CkRhbmtlIQoKQWt0dWVsbGVyIFN0YW5kIGF1cyBIYXR0aW5nZW46IFZhbmlyIGhhdCBlaW4gVGhlcm1vbWV0ZXIgZ2VmdW5kZW4sIGRhcyA0MiBHcmFkCmFuemVpZ3QuIEF1Y2gsIHdlbm4gaWNoIGRhcyBuaWNodCBzbyBnYW56IGdsYXViZTogSW4gendlaSBTdHVuZGVuIGlzdAphYnNvbHV0ZXIgUGVhaywgZGFuYWNoIGdlaHQgZGllIFRlbXBlcmF0dXIgd2llZGVyIHJ1bnRlciwganVjaGh1IQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChNdW5kcm9uLCAyOC4gSnVsIDIwMTksIDE4OjUxOjQ0KToKfiMhIHJuPUh1bW5pIHJ0PTE1NjQwNTU1MDkgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5CkljaCBtb2VjaHRlIG1pY2ggbm9jaG1hbCBiZWkgYWxsZW4gZnVlciBkaWUgc2Nob2VuZW4gVGFnZSBpbiBIYXR0aW5nZW4KYmVkYW5rZW4hCkRpZSBsZWhycmVpY2hlbiBEaXNrdXNzaW9uZW4gZnVlaHJ0ZW4genVyIGVpbmVyIFdpc3NlbnNlcndlaXRlcnVuZyB1bSBkaWUKTWFzc2VpbmhlaXQgT2xmIHVuZCBlaW5lbSBIZXJyZW4gdm9tIFN0YW1tIGRlciBPc3Rmcmllc2VuLCBkZXIgc2Vocgp1ZWJlcnpldWdlbmQgYmVncnVlbmRlbiBrYW5uLCB3YXJ1bSB3aXIgYXVmIGVpbmVyIEZsYWNod2VsdCBsZWJlbi4gCgpHZW5lcmVsbCBmYW5kIGljaCBlcyBzZWhyIHNjaG9lbiBldWNoIGFsbGUgZ2V0cm9mZmVuIHp1IGhhYmVuIHVuZCBob2ZmZSwgZGFzcwp3aXIgdW5zIHZpZWxsZWljaHQgaW0gbmFlY2hzdGVuIEphaHIgd2llZGVyIGdlbWVpbnNhbSBkZXIgSGl0emUgdW5kIGRlciBTb25uZQp0cm90emVuZCBkYXMgQ2FtcCB3aWVkZXIgYXVmbGViZW4gbGFzc2VuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IEhhdHRpbmdlbiByZWxvYWRlZD8gKFplc3N0cmEsIDI4LiBKdWwgMjAxOSwgMTk6NTU6MjkpOgp+IyEgcm49TXVuZHJvbiBydD0xNTY0MzMyNzA0IHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpKYSwgaWNoIHNjaGxpZXNzZSBtaWNoIGFuLCBkaWUgVGFnZSB3YXJlbiBzY2hvZW4gdHJvdHogZGVyIEdsdXRoaXR6ZSB1bmQgaWNoCmhhYmUgbWljaCBhdWNoIHNlaHIgZ2VmcmV1dCwgZXVjaCAod2llZGVyKSBnZXRyb2ZmZW4genUgaGFiZW4uClZpZWxlbiBEYW5rIQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IEhhdHRpbmdlbiByZWxvYWRlZD8gKFphcGhvYiwgMjguIEp1bCAyMDE5LCAyMDowMTowNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTE1NjQzMzY1Mjkgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5CldpciBoYWJlbiBpbSBMYXVmZSBkZXIgV29jaGUgZWluaWdlIGhlaXNzZSBJZGVlbiBnZXNjaG1pZWRldCwgaWNoIGZyZXUgbWljaAphdWYgZGllIFVtc2V0enVuZyEgRWluZSBkYXZvbiBwYXNzdCBzb2dhciB0aGVtYXRpc2NoIGluIGRpZXNlIFJ1YnJpayB1bmQKd3VlcmRlIGJlZGV1dGVuLCBkYXNzIGRpZSBkcmVpc3BhbHRpZ2UgUGFydHloaXN0b3JpZSBhdWYgZGVyIE1HIFdlYnNlaXRlIG5pY2h0Cm1laHIgbGFlbmdlciB6d2VpIGxlZXJlIEVpbnRyYWVnZSBwcm8gSmFociB2b3JoYWx0ZW4gbXVzcy4gSmlwcGllIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IEhhdHRpbmdlbiByZWxvYWRlZD8gKE1haGFyZXQsIDI4LiBKdWwgMjAxOSwgMjA6MDE6MTcpOgp+IyEgcm49WmVzc3RyYSBydD0xNTY0MzM2NTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpOYWNoIHZpZWxlbiBKYWhyZW4gQWJzdGluZW56IHdhcmVuIHdpciBkaWVzZXMgTWFsIGVuZGxpY2ggbWFsIHdpZWRlciBiZWkgZGVyClNvbW1lcnBhcnR5IHVuZCBlcyB3YXIgdG9sbC4gVmllbGVuIERhbmsgZGVuIE9yZ2FuaXNhdG9yZW4hIERpZSBncm9zc2UgVG9jaHRlcgppc3QgYWxzIGx2bDMtQWJlbnRldXJlcmluIG5hY2ggSGF1c2UgZ2VmYWhyZW4uIFNvbW1lcnBhcnR5IDIwMjAgaXN0IGZlc3QKZWluZ2VwbGFudC4KCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChIdW1uaSwgMjguIEp1bCAyMDE5LCAyMTowMzoxMik6Cn4jISBybj1NYWhhcmV0IHJ0PTE1NjQzMzY4Nzcgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5CkljaCBiZWRhbmtlIG1pY2ggYXVjaCBmdWVyIGRpZSByZWdlIFRlaWxuYWhtZSB1bmQgZGllIHRhZXRpZ2UgVW50ZXJzdHVldHp1bmcsCnZvciBhbGxlbSBhdWNoIGJlaSBUZWFtIEthcmxzcnVoZSBmdWVyIGRpZSB2aWVsZW4gRWlua2FldWZlIHVuZCBkaWUKQWJyZWNobnVuZy4gRXMgd2FyLCB3aWUgaW1tZXIsIGVpbiBGZXN0IGV1Y2ggYWxsZSB6dSB0cmVmZmVuIHVuZCBnZWhvZXJ0IGZ1ZXIKbWljaCBkZWZpbml0aXYgenUgZGVuIEphaHJlc2hpZ2hsaWdodHMuCgpBdWNoLCB3ZW5uIGVzIHZpZWwgenUgaGVpc3Mgd2FyLi4uIGFiZXIgZGFmdWVyIGdhYiBlcyBqYSBkaWUgUnVoci4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogSGF0dGluZ2VuIHJlbG9hZGVkPyAoTWFoYXJldCwgMjguIEp1bCAyMDE5LCAyMTo0MTo1OSk6Cn4jISBybj1IdW1uaSBydD0xNTY0MzQwNTkyIHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpIZXksIGljaCBoYWJlIGV1Y2ggUmVnZW4gdW5kIEdld2l0dGVyIGdlYnJhY2h0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IEhhdHRpbmdlbiByZWxvYWRlZD8gKE11bmRyb24sIDI5LiBKdWwgMjAxOSwgMTM6MzY6MTUpOgp+IyEgcm49TWFoYXJldCBydD0xNTY0MzQyOTE5IHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpEaWUgSGl0emVyZWtvcmRlIHdhcmVuIHNjaG9uIGtyYXNzLCBhYmVyIGljaCBmcmFnZSBtaWNoIG9iIGVzIGFuIGRpZQpIb2VsbGVudGVtcGVyYXR1cmVuIHZvbiBOb3RzdHJvbXMgV29ya3Jvb20gcmFua29tbXQuIERlbiBFaXNibG9jayBhdXMgYmVzYWd0ZW0KV29ya3Jvb20gaGF0dGUgaWNoIG1pciB6dW1pbmRlc3QgbWVocmZhY2ggZ2V3dWVuc2NodC4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChWYW5pciwgIDMuIEF1ZyAyMDE5LCAxNzoyMDowMik6Cn4jISBybj1NdW5kcm9uIHJ0PTE1NjQ0MDAxNzUgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5CkhhbGxvLAphdWNoIHZvbiBtaXIgZWluIGdyb3NzZXMgRGFua2VzY2hvZW4gYW4gYWxsZSBPcmdhbmlzYXRvcmVuLiBJY2ggYmluCm1pdGxlcndlaWxlIChnZXN0ZXJuIDE5OjAwKSB6dSBIYXVzZSBhbmdla29tbWVuLiBEaWUgV29jaGUgaW4gSGF0dGluZ2VuIHdhcgpkaWUgaGVpc3Nlc3RlIGRlciBnYW56ZW4gVG91ci4gCkVzIGhhdCBtYWwgd2llZGVyIHZpZWwgU3Bhc3MgZ2VtYWNodApWLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IEhhdHRpbmdlbiByZWxvYWRlZD8gKFNhcmF5LCAgNS4gQXVnIDIwMTksIDIwOjIwOjU4KToKfiMhIHJuPVZhbmlyIHJ0PTE1NjQ4NDU2MDIgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5Ckh1aHUsCgphdWNoIGljaCBtb2VjaHRlIG1pY2ggdmVyc3BhZXRldCBhbnNjaGxpZXNzZW4uCkVzIHdhciB3aWUgaW1tZXIgZWluZSBzZWhyIHNjaG9lbmUgV29jaGUgLSB0cm90eiBkZXIgSGl0emUuCkVzIGhhdCBtaWNoIGF1Y2ggc2VociBnZWZyZXV0LCBtYWwgd2llZGVyIHJvbGxlbnNwaWVsZW4genUga29lbm5lbiwgd2VubiBhdWNoCmRpZSBzY2hvZW5lIFBvbnktUnVuZGUgbmljaHQgYmVlbmRldCB3ZXJkZW4ga29ubnRlLgpJY2ggaG9mZmUsIGRhcyBsYWVzc3Qgc2ljaCBuYWVjaHN0ZXMgSmFociBuYWNoaG9sZW4gOykuCgpMZWlkZXIgd2FyIGRpZSBmb2xnZW5kZSBXb2NoZSBtZWluZXJzZWl0cyB2b24gVW50YWV0aWdrZWl0IGdlcHJhZWd0LCB3ZWlsIGljaCwKd2llIGxldHp0ZXMgSmFociBhdWNoLAp2b24gZmllc2VuIFZpZWNoZXJuIGF0dGFja2llcnQgd3VyZGUgdW5kIG1laW4gRnVzcyBhdWYgZGFzIERvcHBlbHRlCmFuZ2VzY2h3b2xsZW4gd2FyLgpBbnNvbnN0ZW4gZnJldWUgaWNoIG1pY2ggYXVmcyBuYWVjaHN0ZSBNYWwhCgpTYXJheQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IEhhdHRpbmdlbiByZWxvYWRlZD8gKFZhbmlyLCAgNi4gQXVnIDIwMTksIDEwOjE0OjAzKToKfiMhIHJuPVNhcmF5IHJ0PTE1NjUwMjkyNTggcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5CldhcyBpY2ggenUgZGVtIFRoZXJtb21ldGVyIHNhZ2VuIHdvbGx0ZTogRGFzIGlzdCBuaWNodCBpcmdlbmRlaW4gVGhlcm1vbWV0ZXIsCnNvbmRlcm4gZGFzIGhvY2hvZmZpemllbGxlIFRoZXJtb21ldGVyIGRlcyBDYW1waW5ncGxhdHplcy4gRGFzIGhhZW5ndApuYXR1ZXJsaWNoIGRvcnQsIHdvIGFsbGUgWnVncmlmZiBkYXJhdWYgaGFiZW46IEFuIGRlciBXYW5kIGRlcyB6ZW50cmFsZW4KVmVyc29yZ3VuZ3NnZWJhZXVkZXMuIChOYXR1ZXJsaWNoIGhhZW5nZW4gZGEgYXVjaCBCYXJvLSB1bmQgSHlncm9tZXRlciB1bSBkYXMKdWVibGljaGUgVHJpbyB6dSBrb21wbGV0dGllcmVuLikKU29taXQgaXN0IGRhcyBhbHNvIG5pY2h0IGVpbmUgenVmYWVsbGlnIGFiZ2VsZXNlbmUgVGVtcGVyYXR1ciB2b24gaXJnZW5kZWluZW0KbWl0Z2VicmFjaHRlbiB1bm9mZml6aWVsbGVuIFRoZXJtb21ldGVyLCwgc29uZGVybiBkaWUgb2ZmaXppZWxsZSBUZW1wZXJhdHVyCmRlcyBDYW1waW5ncGxhdHplcyEgISFFaW5zRWxmISEKVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChDcm9mdCwgIDYuIEF1ZyAyMDE5LCAyMjo1MTozMCk6Cn4jISBybj1WYW5pciBydD0xNTY1MDc5MjQzIHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpFdHdhcyBTY2hhdHRlbiB3dWVyZGUgZGVyIE1lc3N1bmcgdHJvdHpkZW0gZ3V0IHR1bi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogSGF0dGluZ2VuIHJlbG9hZGVkPyAoWmVzc3RyYSwgIDYuIEF1ZyAyMDE5LCAyMjo1MjozMyk6Cn4jISBybj1Dcm9mdCBydD0xNTY1MTI0NjkwIHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpPY2gsIG5hY2htaXR0YWdzIGhhdHRlIGRhcyBTY2hhdHRlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChDcm9mdCwgIDYuIEF1ZyAyMDE5LCAyMzo1MjowNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTE1NjUxMjQ3NTMgcmc9cGFydHkKfiMhIHRpZD0xNTUwMDkyMDk5ClVuZCB3aWUgbGFuZ2UgaGF0IGRpZSBNYXVlciBuYWNoZ2VoZWl6dD8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogSGF0dGluZ2VuIHJlbG9hZGVkPyAoVmFuaXIsICA3LiBBdWcgMjAxOSwgMDI6MDU6MjIpOgp+IyEgcm49Q3JvZnQgcnQ9MTU2NTEyODMyNSByZz1wYXJ0eQp+IyEgdGlkPTE1NTAwOTIwOTkKbmljaHQgc2VociBsYW5nZS4gZXMgd2FyIGlociBuaWNodCBtb2VnbGljaCB3YWVybWVzdHJhaGx1bmcgYWJ6dWdlYmVuLCBkaWUKdW1nZWJ1bmdzdGVtcGFyYXR1ciB3YXIgenUgaG9jaC4KVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBIYXR0aW5nZW4gcmVsb2FkZWQ/IChHbG9pbnNvbiwgIDcuIEF1ZyAyMDE5LCAyMTo1MjoxMik6Cn4jISBybj1WYW5pciBydD0xNTY1MTM2MzIyIHJnPXBhcnR5Cn4jISB0aWQ9MTU1MDA5MjA5OQpEYXMgVGVpbCB3YXIgZWlnZW50bGljaCBjaXJjYSBhYiAxMS8xMiBpbSBTY2hhdHRlbiB1bmQgZGVyIFBlYWsga2FtIGVyc3QgZWluCnBhYXIgU3R1bmRlbiBzcGFldGVyLiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFeHBsb2RpZXJlbmRlIEthdHplbiBpbiBNaW5pb24tS2FydGVucGFja3VuZz8gKEdsb2luc29uLCAgMS4gT2t0IDIwMTksIDIyOjAzOjE1KToKTW9pbiwKCgphdWYgZGVtIFdlZyB6dXIgbmFlY2hzdGVuIFBhcnR5IHN1Y2hlIGljaCBlaW4gU3BpZWwgZGVyIGxldHp0ZW4uIEljaCBoYXR0ZQoiRXhwbG9kaW5nIEtpdHRlbnMiIGluIGVpbmVyIEthcnRlbnBhY2t1bmcgZnVlciBNaW5pb25zIHVuZCB2ZXJtaXNzZSBkYXMKamV0enQuIEhhdCBkYXMgenVmYWVsbGlnIGluIEhhdHRpbmdlbiBqZW1hbmQgZ2VmdW5kZW4/CgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhdHRpbmdlbj8gSGF0dGluZ2VuPyEgKEdsb2luc29uLCAgOS4gRmViIDIwMjAsIDE3OjQxOjAzKToKTW9pbiwKCndpZSBzaWVodCBlcyBkZW5uIGRpZXNlcyBKYWhyIG1pdCBkZW0gImFsdGUgTWVuc2NoZW4gdHJlZmZlbiBzaWNoIGJlaSBob2hlbgpUZW1wZXJhdHVyZW4iLVRyZWZmZW4gYXVzPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXR0aW5nZW4/IEhhdHRpbmdlbj8hIChab29rLCAgOS4gRmViIDIwMjAsIDE3OjQ0OjMwKToKfiMhIHJuPUdsb2luc29uIHJ0PTE1ODEyNjY0NjMgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjY2NDYzCkljaCB2ZXJtdXRlLCB0aGUgc2FtZSBwcm9jZWR1cmUgYXMgbGFzdCB5ZWFyLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoQnVnZml4LCAgOS4gRmViIDIwMjAsIDE3OjU0OjQ0KToKfiMhIHJuPVpvb2sgcnQ9MTU4MTI2NjY3MCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKVGhlIHNhbWUgcHJvY2VkdXJlIGFzIGV2ZXJ5IFllYXIuIDstKQoKTWlyaWwgaGF0IGRpZSB1ZWJsaWNoZSBXaWVzZSBmdWVyIGRlbiB1ZWJsaWNoZW4gWmVpdHB1bmt0IHJlc2VydmllcnQuCgpJY2ggd3VyZGUgZGllIFRhZ2UgYW5nZXNwcm9jaGVuLCBvYiBtYW4gbmljaHQgbWFsIE1HLVRzaGlydHMgZHJ1Y2tlbiBsYXNzZW4Ka29lbm50ZS4gSGFsdGUgaWNoIGZ1ZXIgZWluZSBzdXBlciBJZGVlLCBkYWhlciBmb3JkZXJlIGljaCBoaWVybWl0IGRhenUgYXVmCm1hbCBlaW5lIE1laW51bmcgZGF6dSBhYnp1Z2ViZW4uIFdlbm4gamVtYW5kIGtvbmtyZXRlIERlc2lnbi1Wb3JzY2hsYWVnZSBoYXQsCmRhcmYgZXIgZGllIG5hdHVlcmxpY2hhdWNoIGdlcm5lIGFldXNzZXJuLCB1bSBkYXMgRGVzaWduIHdlcmRlIGljaCBtaWNoCmFsbGVyZGluZ3MgbmljaHQga3VlbW1lcm4sIGRhcyBkYXJmIHdlciBhbmRlcnMgbWFjaGVuLiA7LSkKCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoQnVnZml4LCAgOS4gRmViIDIwMjAsIDE3OjU4OjU0KToKfiMhIHJuPUJ1Z2ZpeCBydD0xNTgxMjY3Mjg0IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI2NjQ2MwpQUzoKRnVlciBhbGxlIG53aXNzZW5kZW4sIGRlciB1ZWJsaWNoZSBaZWl0dW5rdCBpc3QgbmF0dWVybGljaCAyMC4tMjYuNy4KCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoWmFwaG9iLCAgOS4gRmViIDIwMjAsIDE4OjE1OjExKToKfiMhIHJuPUJ1Z2ZpeCBydD0xNTgxMjY3NTM0IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI2NjQ2MwpXZXIga29lbm50ZSBkaWUgUGFydHlicmV0dGVyIGF1ZnN0ZWxsZW4/CgpTaGlydHMgZmluZGUgaWNoIGVpbmUgc3VwZXIgSWRlZSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEhhdHRpbmdlbj8gSGF0dGluZ2VuPyEgKEh1bW5pLCAgOS4gRmViIDIwMjAsIDE4OjM2OjU3KToKfiMhIHJuPVphcGhvYiBydD0xNTgxMjY4NTExIHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI2NjQ2MwpQYXJ0eWJyZXR0ZXIgc3RlbGxlIGljaCBiYWxkIGF1Zi4gRGEgZnJhZ2UgaWNoIGRhbm4gYXVjaCBkaXJla3QgbmFjaCBULVNoaXJ0cy4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBIYXR0aW5nZW4/IEhhdHRpbmdlbj8hIChOb25kcnVtLCAgOS4gRmViIDIwMjAsIDE5OjA1OjA2KToKfiMhIHJuPUh1bW5pIHJ0PTE1ODEyNjk4MTcgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjY2NDYzCkJlaSBULVNoaXJ0cyB3YWVyZSBpY2ggZGFiZWkhIEFiZXIgZnJhZ3QgbWljaCBuaWNodCBuYWNoIERlc2lnbiBvZGVyIE1vdGl2ZW4uCkRhIGJpbiBpY2ggbmljaHQgZ3V0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoWmFwaG9iLCAgOS4gRmViIDIwMjAsIDE5OjIzOjEzKToKfiMhIHJuPU5vbmRydW0gcnQ9MTU4MTI3MTUwNiByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKU28sIGpldHp0IHN0ZWh0IGRpZSBJbmZvIGF1Y2ggYXVmIGRlciBNb2dlbmdyYXVlbiBXZWJzZWl0ZSwgaW4gTmV3cyB1bmQgZGVyClBhcnR5bGlzdGUsIHNvd2llIGF1ZiBUd2l0dGVyIChtaXQgc2Nob24gdmllciBmcmV1bmRsaWNoZW4gUmVha3Rpb25lbiB1bmQgendlaQp3b3J0cmVpY2hlcmVuIEFudHdvcnRlbiwgdS5hLiBadXNhZ2VuIHZvbSBrb21wbGV0dGVuIFRlYW0gS2FtcGZrZWtzKSBzb3dpZQpGYWNlYm9vayAoYXVmIGJlaWRlbiBTZWl0ZW4gZGVzIE1HLCBpcmdlbmR3aWUgYmxpY2sgaWNoIGRhIG5vY2ggbmljaHQgZHVyY2gpIAoKWmFwKgpmdWVyIGRhcyBUZWFtIE9lZmZlbnRsaWNoa2VpdHNhcmJlaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEhhdHRpbmdlbj8gSGF0dGluZ2VuPyEgKFphcGhvYiwgIDkuIEZlYiAyMDIwLCAxOToyNzo0NCk6Cn4jISBybj1aYXBob2IgcnQ9MTU4MTI3MjU5MyByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKQWNoc28gZnVlcnMgU2hpcnQsIHZpZWxsZWljaHQgaW50ZXJlc3NhbnQ6IFdpciBmZWllcm4gYW5zY2hlaW5lbmQgenVtIDEwLiBNYWwKaW4gSGF0dGluZ2VuLCBhbHNvIGVpbiBrbGVpbmVzIEp1YmlsYWV1bSBkb3J0LiBBbmRlcmVyc2VpdHMgaGFldHRlIGljaCBhdWNoCmdlcm4gZWluIFNoaXJ0LCBkYXMgbmV1ZSBJbnRlcmVzc2VudGVuIGFud2lyYnQsIHVuZCBlcnN0ZSBFaW5kcnVlY2tlIGlucyBTcGllbApydWViZXIgYnJpbmd0LCBuaWNodCBudXIgZWluIChpcmdlbmR3YW5uIHZlcmdhbmdlbmVzKSBDYW1waW5nd29jaGVuZW5kZQpiZXNjaHJlaWJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoQnVnZml4LCAgOS4gRmViIDIwMjAsIDE5OjI5OjU4KToKfiMhIHJuPVphcGhvYiBydD0xNTgxMjcyODY0IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI2NjQ2MwpJY2ggYmluIGRlZmluaXRpdiBhdWNoIGZ1ZXIgZWluICBNb3RpdiBiemdsLiBTcGllbCB1bmQgbmljaHQgUGFydHkuCgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhhdHRpbmdlbj8gSGF0dGluZ2VuPyEgKEdsb2luc29uLCAgOS4gRmViIDIwMjAsIDIwOjEwOjExKToKfiMhIHJuPUJ1Z2ZpeCBydD0xNTgxMjY3NTM0IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI2NjQ2MwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKV2FzIGZ1ZXIgZWluIEphbW1lciwgZGllc2VzIEphaHIgbGllZ3QgV2Fja2VuIG5pY2h0IGluIGRlciBlcnN0ZW4KU2NodWxmZXJpZW53b2NoZSBCYVd1ZXMsIHNvbnN0IGhhdCBkYXMgaW1tZXIgZ2VrbGFwcHQuIEVudHdlZGVyIG51ciBTYS9TbyBvZGVyCkF1c25haG1lIHNlaXRlbnMgTGVocmVyaW5uZW4gLi4uIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEhhdHRpbmdlbj8gSGF0dGluZ2VuPyEgKE5vdHN0cm9tLCAxMC4gRmViIDIwMjAsIDE1OjM0OjAwKToKfiMhIHJuPUJ1Z2ZpeCBydD0xNTgxMjcyOTk4IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI2NjQ2MwpIdWh1LAoKaWNoIHBsYW5lIGluIEhhdHRpbmdlbiBkaWVzZXMgSmFociBlYmVuZmFsbHMgZGFiZWl6dXNlaW4gKHZvcmF1c2dlc2V0enQgZGllCkxvZ2lzdGlrIGtsYXBwdCkuIFNoaXJ0IGZpbmRlIGljaCBndXQsIHdlbm5zIGVpbmUgZHVua2xlIEdydW5kZmFyYmUgaGF0LgpFaW4gYWxsZ2VtZWluZXMsIHNwaWVsYmV6b2dlbmVzIE1vdGl2LCBpZGVhbGVyd2Vpc2UgbWl0IFVSTCwgZmluZGUgaWNoCmViZW5mYWxscyBiZXNzZXIgYWxzIGVpbiB0ZXJtaW5iZXpvZ2VuZXMuIEljaCBiaW4gYXVjaCBnZXJuIGJlcmVpdCwgZWluCnBhYXIgTWFyayBtZWhyIHp1IGludmVzdGllcmVuLCB3ZW5uIGRpZSBRdWFsaXRhZXQgZXR3YXMgYmVzc2VyIGlzdCwgZGllCmJpbGxpZ2VuIERpbmdlciwgYmVpIGRlbmVuIGRhcyBNb3RpdiBuYWNoIGRlciBlcnN0ZW4gV2Flc2NoZSBuaWNodCBtZWhyCmd1dCBsZXNiYXIgaXN0LCBoYXR0ZSBpY2ggbGVpZGVyIHNjaG9uIHNlaHIgb2Z0LgoKTm90c3Ryb20uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoTm9uZHJ1bSwgMTAuIEZlYiAyMDIwLCAxNTo0MzowNyk6Cn4jISBybj1Ob3RzdHJvbSBydD0xNTgxMzQ1MjQwIHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI2NjQ2MwpJY2ggc2NobGllc3NlIG1pY2ggc293b2hsIGRlciBob2VoZXJlbiBRdWFsaXRhZXQgenVyIGxhZW5nZXJlbiBOdXR6dW5nIGFuLCBhbHMKYXVjaCBkZW0gTUcgZm9rdXNpZXJ0ZW4gTW90aXYgc3RhdHQgZGVtIEZva3VzIGF1ZiBIYXR0aW5nZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoQ3JvZnQsIDExLiBGZWIgMjAyMCwgMDA6MTg6NDUpOgp+IyEgcm49Tm90c3Ryb20gcnQ9MTU4MTM0NTI0MCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKTWlyIHdhZXIgZGllIERydWNrcXVhbGl0YWV0IGF1Y2ggd2ljaHRpZy4gU2NobGVjaHRlIFF1YWxpdGFldCBkZWZpbmllcmUgaWNoCnVudGVyIGFuZGVyZW0gYWxzIGdlZmhsdCBNaWxsaW1ldGVyLWRpY2tlcyBQbGFzdGlrc2NoaWxkIGF1ZiBkZXIgQnJ1c3QuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoQmFtYmksICA0LiBNYXIgMjAyMCwgMTk6MDY6MTYpOgp+IyEgcm49QnVnZml4IHJ0PTE1ODEyNjc1MzQgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjY2NDYzClNjaGFkZS4gU29sYW5nZSBGcmFua2VuIHZvbiBCYXllcm4gYmVzZXR6dCBpc3QsIGdlbHRlbiBhdWNoIGRlcmVuCkZlcmllbnplaXRyYWV1bWUuIFVuZCBkaWUgYmVnaW5uZW4gZXJzdCBpbiBkZXIgV29jaGUgZGFuYWNoLiBMb2hudCBzaWNocywgYXVzCmRlbSBmZXJuZW4gQXVzbGFuZCAoQmF5ZXJuKSBuYWNoIEhhdHRpbmdlbiB6dSBmYWhyZW4gZnVlciB2aWVsbGVpY2h0IDMwClN0dW5kZW4gQW53ZXNlbmhlaXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBIYXR0aW5nZW4/IEhhdHRpbmdlbj8hIChBcmssICA0LiBNYXIgMjAyMCwgMTk6NTU6NDcpOgp+IyEgcm49QmFtYmkgcnQ9MTU4MzM0NTE3NiByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKV2VyIHdlaXNzLCB2aWVsbGVpY2h0IGJpbmRlbiBzaWUgRGljaCBhbiBlaW5lbiBUb3RlbXBmYWhsIHVuZCBmaW5kZW4gR2VmYWxsZW4KYW4gRGVpbmVtIExlaWQgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoVmFuaXIsICA2LiBNYXIgMjAyMCwgMDk6NTU6MTEpOgp+IyEgcm49QXJrIHJ0PTE1ODMzNDgxNDcgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjY2NDYzCkFsc28gaWNoIGZhbmQgZGllIFRyZWZmZW4gZGEgaW1tZXIgc2VociBuZXR0LiBEYXMgaXN0IGphIGhhZXVmaWcgZGllIGVpbmUKR2VsZWdlbmhlaXQgaW0gSmFociBlaW5lIGdyb2Vzc2VyZSBaYWhsIGFuIE11ZGRlcm4genUgdHJlZmZlbi4gV2VpdGVyaGluIGlzdApkaWUgRXJmYWhydW5nIGRlciBsZXR6dGVuIEphaHJlLCBkYXNzIGRpZSBtZWlzdGVuIFRlaWxuZWhtZXIgYW0gRnJlaXRhZyBiencuClNhbXN0YWctQWJlbmQgenUgZXJ3YXJ0ZW4gc2luZC4gClNvIGdlc2VoZW46IEF1cyBtZWluZXIgU2ljaHQ6IEphLgpWLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoR2xvaW5zb24sIDEyLiBNYXIgMjAyMCwgMDk6MTI6MDMpOgp+IyEgcm49VmFuaXIgcnQ9MTU4MzQ4NDkxMSByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKSWNoIGhhYiBtZWluZSBLaW5kZXIgZnVlciBkZW4gRnJlaXRhZyB2b24gZGVyIFNjaHVsZSBmcmVpc3RlbGxlbiBsYXNzZW4sIGRhbWl0CmRpZSBtaXQga29lbm5lbi4gSGFiZSBnZWdlbnVlYmVyIGRlbiBMZWhyZXJpbm5lbiBhdWNoIG5pY2h0IGRhbWl0Cnp1cnVlY2tnZWhhbHRlbiwgZGFzcyBkYXMgenVtIFRyZWZmZW4gdm9uL21pdCBGcmV1bmRlbiBpc3QuIEtsYXBwdCBiZWkgdW5zZXJlbgpLaW5kZXJuIGFiZXIgYXVjaCwgR3J1bmRzY2h1bGUgdW5kIGJlaWRlIHNpbmQgZ3V0IGdlbnVnLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEhhdHRpbmdlbj8gSGF0dGluZ2VuPyEgKE5vbmRydW0sIDEyLiBNYXIgMjAyMCwgMDk6MTQ6NTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTU4NDAwMDcyMyByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKSWNoIHdlaXNzIG5pY2h0IG9iIGRhcyBoZXV0enV0YWdlIGF1Y2ggbm9jaCB6aWVodCwgYWJlciBtZWluZSBFbHRlcm4gaGFiZW4KaW1tZXIgZWluZSBFbnRzY2h1bGRpZ3VuZyAiYXVzIGZhbWlsYWVyZW4gR3J1ZW5kZW4iIGdlc2NocmllYmVuLCB3ZW5uIHdpciBuYWNoClVuZ2FybiBnZWZhaHJlbiBzaW5kIHVuZCBtZWluIFZhdGVyIG5pY2h0IGluIGRlbiBGZXJpZW4gVXJsYXViIGJla29tbWVuCmtvbm50ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEhhdHRpbmdlbj8gSGF0dGluZ2VuPyEgKEdsb2luc29uLCAxMi4gTWFyIDIwMjAsIDA5OjUzOjA5KToKfiMhIHJuPU5vbmRydW0gcnQ9MTU4NDAwMDg5OCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKQnVuZGVzbGFuZHNhY2hlLiBCZWkgdW5zIGtvZW5uZW4gZGllIExlaHJlciBiaXMgendlaSBUYWdlIHNvIGZyZWkgZ2ViZW4sIGFsbGVzCmFuZGVyZSBnZWh0IGhvZWhlci4KCkljaCBmYWVuZGUgZXMgZGEgb2huZWhpbiBndXQsIHdlbm4gZGllIExlaHJlciBkYXMgZW50c2NoZWlkZW4ga29lbm50ZW4gKGRpZQprZW5uZW4gZGVuIFN0YW5kIGRlcyBLaW5kZXMgYW0gYmVzdGVuKSwgZGllc2UgRW50c2NoZWlkdW5nIGRhbm4gYWJlciBlYmVuCmJpbmRlbmQgdW5kIHN0cmFmYmV3ZWhydCB3YWVyZS4KCkphLCBtYW5jaGUgTGVocmVyIHNpbmQgZG9vZiAoNTAlIGdhciB1bnRlcmR1cmNoc2Nobml0dGxpY2ggKCopKSB1bmQgZGFzIGdhZWJlClByb2JsZW1lLiBTb3ppYWxlIFJlaWJ1bmcuIEJlc3NlciBhbHMgZGllIGpldHppZ2UgTmljaHRyZWdlbHVuZy4KCigqKSBEZW4gZmV5bm1hbnNjaGVuIEdhdWwgd2VyZCBpY2ggdG90cmVpdGVuIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBIYXR0aW5nZW4/IEhhdHRpbmdlbj8hIChSdW1hdGEsIDEyLiBNYXIgMjAyMCwgMDk6NTU6NTcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTU4NDAwMzE4OSByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKSHVlYWg6IE1lZGlhbiAhPSBEdXJjaHNjaG5pdHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBIYXR0aW5nZW4/IEhhdHRpbmdlbj8hIChHbG9pbnNvbiwgMTIuIE1hciAyMDIwLCAwOTo1Njo1OCk6Cn4jISBybj1SdW1hdGEgcnQ9MTU4NDAwMzM1NyByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKSWNoIGdsYXViZSwgZGVuIGhhdCBlciBtaXQgQWJzaWNodCBuaWNodCBiZW51dHp0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoQmFtYmksIDEzLiBNYXIgMjAyMCwgMjA6NTM6MDApOgp+IyEgcm49Tm9uZHJ1bSBydD0xNTg0MDAwODk4IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI2NjQ2MwpEdSBrb21tc3QgYWJlciBuaWNodCBhdXMgQmF5ZXJuIG9kZXIgdm9uIGlobSBiZXNldHp0ZW4gR2ViaWV0ZW4sIG9kZXI/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogSGF0dGluZ2VuPyBIYXR0aW5nZW4/ISAoQ3JvZnQsIDE0LiBNYXIgMjAyMCwgMTE6NDQ6NDUpOgp+IyEgcm49QmFtYmkgcnQ9MTU4NDEyOTE4MCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNjY0NjMKRmFsc2NoZXIgVGhyZWFkPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoWm9vaywgMjcuIEFwciAyMDIwLCAxNDozNzo0MCk6Cn4jISBvbj1Bcmsgb3Q9MTU4Nzg4NDQyMyBvZz1wYXJ0eS5iZWthbm50bWFjaHVuZ2VuCn4jISBybj1IdW1uaSBydD0xNTg3ODUwNDAwIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xNTgxMjc4NDI3Ck1laW5lIFNjaHdlc3RlciAoQWVyenRpbikgd3VlcmRlIG1pY2ggbWFzc2FrcmllcmVuIChzaWMhKSwgd2VubiBzaWUgZXJmYWVocnQsCmljaCBmYWhyZSB6dSAqdmVyYW5zdGFsdHVuZ3Ryb3R6Y29yb25hZWluc2V0emVuKiBpbiAqYmxzZWdhbGVpbnNldHplbiogLi4uIGRhcwpWaXJ1cyB3YWVyZSBnZWdlbiBkZW4gYWVyenRsaWNoZW4gWm9ybiB2b3J6dXppZWhlbiAuLi4gc2llIHVuZCBEcm9zdGUgdW5kCmFuZGVyZSB3dWVyZGVuIG1pY2ggZmluZGVuIHVuZCBkZW0gRmVtZWdlcmljaHQgdWViZXJhbnR3b3J0ZW4uIE1hbiB3dWVyZGUgbWljaApnZWlzc2VsbiB1bmQgYW0gbGFuZ2VuIEFybSB2ZXJodW5nZXJuIGxhc3Nlbi4gVW5kIGRhcyB3dWVyZGUgamEga2VpbmVyIHNlaGVuCndvbGxlbiA6LSkKR25hZGUhCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChab29rLCAyNy4gQXByIDIwMjAsIDE0OjM4OjAxKToKfiMhIHJuPUh1bW5pIHJ0PTE1ODc4NTA0MDAgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE1ODEyNzg0MjcKRmluZGUgaWNoIHNpbm52b2xsLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoVmFuaW9uLCAyNy4gQXByIDIwMjAsIDIyOjA5OjQ4KToKfiMhIHJuPVpvb2sgcnQ9MTU4Nzk5MTA4MSByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKSWNoIGhhZW5nZSBub2NoIGVpbiBiaXNzY2hlbiBhbiBkZXIgSG9mZm51bmcsIGRhc3MgenVtaW5kZXN0IEhhdHRpbmdlbiBrbGFwcHQuCkEgbGVhcCBvZiBmYWl0aCBtYXliZS4gQWJlciBtaXIgaXMgZGllc2VzIEphaHIgc2Nob24gc28gdmllbCBhYmdlc2FndCB3b3JkZW4KdW5kIGVpbmVyIGFuZGVyZW4gbWlyIHNlaHIgd2ljaHRpZ2VuIFZlcmFuc3RhbHR1bmcgZ2VodCBlcyBnZXJhZGUgYXVjaCBuaWNodApndXQuIFVuZCBkYSBicmF1Y2ggaWNoIGdyYWQgZGFzIGJpc3NjaGVuIEhvZmZudW5nLCBlaW5lIFdvY2hlIGxhbmcgbWl0IG5ldHRlbgpNZW5zY2hlbiBpbiBIYXR0aW5nZW4gYWJoYWVuZ2VuIHp1IGtvZW5uZW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoQ3JvZnQsIDI3LiBBcHIgMjAyMCwgMjM6MDA6MjUpOgp+IyEgcm49VmFuaW9uIHJ0PTE1ODgwMTgxODggcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3ClNjaGF1biB3aXIgbWFsLiBJY2ggZGVua2UgZnVlciBkaWUgR2FzdHJvIG11c3MgYmlzIGRhaGluIGVpbmUgTG9lc3VuZwpnZWZ1bmRlbiBzZWluLCBkaWUgc2ljaCBkYW5uIGFlaG5saWNoIGF1ZiBIYXR0aW5nZW4gdWViZXJ0cmFnZW4gbGFlc3N0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKEdsb2luc29uLCAyNC4gTWFpIDIwMjAsIDE2OjAyOjUwKToKfiMhIHJuPUNyb2Z0IHJ0PTE1ODgwMjEyMjUgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CkplZGVyIGlzc3QgaW4gc2VpbmVtIFplbHQgOykKCk1yaG0uIEZyZWlsdWZ0Z2FzdHJvIGlzdCB2ZXJtdXRsaWNoIG5vY2ggYmVzc2VyIGFscyByZXppcmt1bGllcnRlIEx1ZnQuIEljaApiaW4gYXVjaCBub2NoIGhvZmZudW5nc3ZvbGwgLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoQ3JvZnQsIDI0LiBNYWkgMjAyMCwgMTc6MzM6NDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTU5MDMyODk3MCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKQWxzIFByb2JsZW0gc2luZCBha3R1ZWxsIGdlbWVpbnNjaGFmdGxpY2ggZ2VudXR6dGUgUnVtZSB3aWUgRHVzY2hlbiB1bmQgS2xvcwphbnp1c2VoZW4uIERpZSBzaW5kIHZvcmVyc3QgZ2VzY2hsb3NzZW4gdW5kIGVudHNwcmVjaGVuZCBrZWluZSBaZWx0ZQphdWYgZGVuIFBsYWV0emVuIHp1Z2VsYXNzZW4gc29uZGVybiBudXIgQ2FtcGVyLCBkaWUgZGFzIGphIGFuIEJvcmQgaGFiZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoSHVtbmksIDI3LiBNYWkgMjAyMCwgMjA6Mjk6MTApOgp+IyEgcm49Q3JvZnQgcnQ9MTU5MDMzNDQyNyByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKSWNoIGhvZmZlIG1hbCwgZGFzcyBkYXMgaW4gendlaSBNb25hdGVuIGF1Y2ggZ2VodC4gQWJnZXNlaGVuIGRhdm9uIHZlcnN0ZWhlCmljaCBkYXMgbmljaHQuIEdhc3Ryb25vbWllIGhhdCBhdWNoIFRvaWxldHRlbiwgZGllIGdlbWVpbnNhbSBnZW51dHp0IHdlcmRlbi4KCkh1bW5pLCBub2NoIGhvZmZudW5nc2Zyb2ggZGFzcyBFSU5FUiBzZWluZXIgSmFocmVzdXJsYXViZSBub2NoCnZlcmFudHdvcnR1bmdzdm9sbCBtYWNoYmFyIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKFplc3N0cmEsIDI3LiBNYWkgMjAyMCwgMjM6Mjk6MDApOgp+IyEgcm49SHVtbmkgcnQ9MTU5MDYwNDE1MCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKSWNoIHZlcnN0ZWggZGEgc293aWVzbyBzbyBlaW5pZ2VzIG5pY2h0LiBBbGxlcywgd2FzIGRyYXVzc2VuIGlzdCwgaGF0IGVpbgpkZXV0bGljaCBnZXJpbmdlcmVzIHJpc2lrbyAoaGFiIGhldXRlIHNvZ2FyIGVpbmUgWmFobCBlcmZhaHJlbjogUmlzaWtvIGluCklubmVucmFldW1lbiB3YXIgaW4gZWluZXIgU3R1ZGllIGtuYXBwIDE5bWFsIGhvZWhlciBhbHMgaW4gQXVzc2VucmFldW1lbi4pLi4uClVuZCBkaWUgc3RhZW5kaWdlIGRlc2luZml6aXJlcmVpIHVuZCBIYWVuZGV3YXNjaGVyZWkgaXN0IGluIGRpZXNlbSBzcGV6aWVsbGVuCkZhbGwgYXVjaCBlaGVyIEFCTSwgd2VubiBtYW4gZXMgbmljaHQgZ2VyYWRlIHVtIG5lbiBLcmFua2VuemltbWVyIGdlaHQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChIdW1uaSwgMjcuIE1haSAyMDIwLCAyMzo0Nzo0NSk6Cn4jISBybj1aZXNzdHJhIHJ0PTE1OTA2MTQ5NDAgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CkRhcyBXaXR6aWdlIGlzdCwgZGFzcyBpY2ggaW4gZGV1dGxpY2ggc2NobGVjaHRlciBnZWx1ZWZ0ZXRlbiBUb2lsZXR0ZW4gaW4KR2FzdHN0YWV0dGVuIHdhciwgYWxzIGRpZSBpbiBIYXR0aW5nZW4gLSB3ZW5uIG1hbiBkaWUgbHVlZnRldCwgZHVlcmZ0ZSBkaWUKQWVyb3NvbGdlZmFociBlaGVyIHNlaHIgbmllZHJpZyBzZWluLiBLbGFyLCBkYSBzaW5kIHZpZWxlIERpbmdlLCBkaWUgZ2VtZWluc2FtCmJlbnV0enQgd2VyZGVuIChLbG9zY2h1ZXNzZWwsIFdhc2NoYmVja2VuKSAtIGFiZXIgZGEgaXN0IG1laW4gTW90dG86CiJWZXJkYW1tdCwgZXMgaXN0IHNjaGVpc3NlZ2FsLCB3ZWxjaGUgVmlyZW4gdW5kIEJha3RlcmllbiBhbSBTZWlmZW5zcGVuZGVyCmhhZW5nZW4gLSBpY2ggd2FzY2ggbWlyIGRpcmVrdCBkYW5hY2ggZGllIEhhZW5kZSEiCgpJY2ggaGFiZSBkaWUgSG9mZm51bmcsIGRhc3MgZGFzIGJpcyBkYWhpbiBlcmxhdWJ0IHNlaW4gd2lyZC4gV2VubiBuaWNodCwgZGFubgpnZWh0IGVzIGViZW4gbmljaHQsIGRhbm4ga29tbWVuIHdpciAyMDIxIHdpZWRlci4gVW5kIHdlbm4gZXMgZ2VodCwgYmF1ZW4gd2lyCnZpZWxsZWljaHQgendlaSBQYXZpbGxvbnMgYXVmIHVuZCBoYWx0ZW4gZGEgd2FzIG1laHIgQWJzdGFuZC4KClVuZCBuYXR1ZXJsaWNoIGJpbiBpY2ggbmllbWFuZGVtIGJvZXNlLCBkZXIgc2FndCwgZGFzIGlzdCBtaXIgenUgdW5zaWNoZXIuIERpZQpIYWZ0dW5nIGthbm4gbmllbWFuZCB1ZWJlcm5laG1lbiwgaWNoIGF1Y2ggbmljaHQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKEFyaywgMjguIE1haSAyMDIwLCAwMDoxMjozNyk6Cn4jISBybj1IdW1uaSBydD0xNTkwNjE2MDY1IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpNZWluZSBTY2h3ZXN0ZXIgaXN0IEFlcnp0aW4uIFVuZCBpY2ggd2Vpc3MsIHdhcyBzaWUgc2FnZW4sIG5laW4gdHVuIHdpcmQsCnNvbGx0ZSBpY2ggZGllIEFic2ljaHQgYmVrdW5kZW4gLi4uIGRhcyB3b2xsdCBpaHIgbmljaHQgd2lzc2VuLCBhYmVyIGVzIGhhdApkYXMgRW5kZSB2b24gZ2V3YXNjaGVuZW4gTXVuZHNjaHV0eiBEaW5nZXJuIHVuZCBDb3JvbmEgQmVzdWNoZSBpbiBpaHJlbQpIYXVzaGFsdCwgdWViZXJoYXVwdCBhdWNoIG5vY2ggZ3JpbW1pZ2UgU2Nod2VpZ3NhbWtlaXQsIGdlcGFhcnQgbWl0CnZvcnd1cmZzdm9sbGVuLCBzY2hpbXBmd29ydGJlZmFsbGVuZW4gRGlza3Vzc2lvbmVuIHp1ciBGb2xnZS4gRGllcyBpc3QgbWlyCmRhbm4gd2lya2xpY2ggenV1dXUgcmlza2FudC4gTXVzcyBpY2ggbWVociBzYWdlbj8gSWNoIG1hZyBzaWUgbGVpZGVyIHNvbnN0CnNlaHIgOikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoSHVtbmksIDI4LiBNYWkgMjAyMCwgMDg6MzU6MjkpOgp+IyEgcm49QXJrIHJ0PTE1OTA2MTc1NTcgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CkF1Y2gsIHdlbm4gaWNoIGRhcyBzY2hhZGUgZmluZGU6IEljaCBrYW5uIGRhcyB2b2xsIG5hY2h2b2xsemllaGVuIHVuZCB3dWVyZGUKbmllIHVlYmVyIGplbWFuZGVuLCBkZXIgbmljaHQga29tbXQsIHNhZ2VuICJEZXIgc3RlbGx0IHNpY2ggYW4uIiBEaWUgR2VmYWhyCmlzdCBkdXJjaGF1cyByZWFsLCBrZWluZSBGcmFnZS4gSWNoIHNlbGJzdCAoISkgaGFsdGUgZGFzIFJpc2lrbyBuYWNoIGRlbSwgd2FzCmljaCBob2VyZSwgZnVlciBlaW4gRnJlaWx1ZnQtRXZlbnQgZnVlciByZWNodCB1ZWJlcnNjaGF1YmFyLiBBYmVyIGRhcyBpc3QgbnVyCm1laW5lIEVpbnNjaGFldHp1bmcgdW5kIGVpbmUgRm9sZ2VydW5nIGF1cyBkZW0sIHdhcyBpY2ggaG9lcmUsIGtlaW5lCnNlbGJzdGdlbWFjaHRlIFdpc3NlbnNjaGFmdC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoQXJrLCAyOC4gTWFpIDIwMjAsIDExOjQzOjI4KToKfiMhIHJuPUh1bW5pIHJ0PTE1OTA2NDc3Mjkgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3ClNhZ2VuIHdpciBtYWwgc286IGljaCBtYWcgRGljaCB1bmQgYWxsZSBhbmRlcmVuIHNlaHIgLi4uIGFiZXIgbWVpbmUgU2Nod2VzdGVyCmlzdCBzZWhyIGxpZWIsIGFiZXIgYXVjaCB6aWVtbGljaCB0b3VnaCBnZXdvcmRlbiBtaXQgaWhyZW0gQmVydWYuIFdlbm4gZGllIG1pcgp3YXMgc2FndCwgd2FzIEdlc3VuZGhlaXQgYmV0cmlmZnQsIGRhbm4gZ2xhdWJlIGljaCBpaHIsIGF1Y2ggd2VubiBpY2gKaW5uZXJsaWNoIGtudXJyZW4gbWFnLiBBbHMgUkwgYWx0ZXIgU2FjayBtdXNzIGljaCBuaWNodCBhdWNoIG5vY2ggSWdub3JhbnogenVyClNjaGF1IHRyYWdlbi4gSXJnZW5kd2FubiBpc3QgZXMgdm9yYmVpLCBkYW5uIHdpcmQgbWFuIHNpY2ggYXVjaCB3aWVkZXIKdHJlZmZlbi4gVmllbCBTcGFzcyBhYmVyIGZ1ZXIgYWxsZSwgZGllIGtvbW1lbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoVmFuaGVsc2luZywgIDEuIEp1biAyMDIwLCAxMTo0NDozNCk6Cn4jISBybj1BcmsgcnQ9MTU5MDY1OTAwOCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKSXN0IGVpZ2VudGxpY2ggYmVrYW5udCwgb2IgYXVmIGRlbSBDYW1waW5ncGxhdHogYXVjaCBaZWx0ZSB3aWVkZXIgZXJsYXVidApzaW5kPwpJY2ggZmluZGUgbnVyIHdhcyBtaXQgImVpZ2VuZSBTYW5pdGFlcnZlcnNvcmd1bmciLiBEYW1pdCBmYWxsZW4gWmVsdGUgamEgcmF1cywKb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChDcm9mdCwgIDEuIEp1biAyMDIwLCAxMzo0NjozOSk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTE1OTEwMDQ2NzQgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3ClplbHRlIHNpbmQgYWt0dWVsbCBuaWNodCBlcmxhdWJ0LiBXaXIgc2luZCBqYSBhdWYgZGllIGdlbWVpbnNjaGFmdGxpY2hlbgpEdXNjaC0gdW5kIEtsb3JhZXVtZSBhbmdld2llc2VuLiBEaWUgRnJhZ2UgaXN0LCBvYiBzaWNoIGRhcyBpbiBkZW4KbmFlY2hzdGVuIDQtNiBXb2NoZW4gYWVuZGVydC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoSHVtbmksIDE0LiBKdW4gMjAyMCwgMDk6MjQ6MzQpOgp+IyEgcm49Q3JvZnQgcnQ9MTU5MTAxMTk5OSByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKS3VyemVzIFVwZGF0ZTogU28sIHdpZSBlcyBhdXNzaWVodCAobmV1ZSBBdXNicnVlY2hlIGtvZW5uZW4gamEgYXVjaCBpbW1lcgpwYXNzaWVyZW4pLCBrb2VubmVuIHdpciBuYWNoIEhhdHRpbmdlbiBrb21tZW4uIEFsc28sIHdpciByZWNobmVuIGdlcmFkZSBmZXN0CmRhbWl0LiBKdXR0YSBTdG9sbGUgKGRpZSBDYW1waW5ncGxhdHpiZXRyZWliZXJpbikgZnJldXQgc2ljaCBzY2hvbiBhdWYgdW5zLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChDcm9mdCwgMTQuIEp1biAyMDIwLCAxMToxODozMCk6Cn4jISBybj1IdW1uaSBydD0xNTkyMTE5NDc0IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpELmguIGRpZSBEdXNjaGVuIHVuZCBLbG9zIGtvZW5uZW4gd2llZGVyIGdlbWVpbnNjaGFmdGxpY2ggZ2VudXR6dCB3ZXJkZW4/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKFZhbmhlbHNpbmcsIDE0LiBKdW4gMjAyMCwgMTU6Mzk6NTgpOgp+IyEgcm49Q3JvZnQgcnQ9MTU5MjEyNjMxMCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKU293ZWl0IGljaCBnZWxlc2VuIGhhYmUsIGlzdCBlcyAoenVtaW5kZXN0IGFrdHVlbGwpIG5vY2ggbmljaHQgZXJsYXVidCwgZGFzcwpzaWUgZ3JvZXNzZXJlIEdydXBwZW4gKD4xMCkgdHJlZmZlbiwgYXVzc2VyIGZ1ZXIgZWluICJoZXJhdXNyYWdlbmRlcyIKRXJlaWduaXMuCgpXdWVyZGUgZGFzIG5pY2h0IGhlaXNzZW4sIGRhc3Mgd2lyIGRhbm4gendhciBkaWUgS2xvcyBldGMuIGJlbnV0emVuIGtvZW5udGVuLAphYmVyIGVpZ2VudGxpY2ggbmljaHQgenVzYW1tZW4gemVsdGVuIGR1ZXJmdGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKFZhbmlvbiwgMTQuIEp1biAyMDIwLCAyMTozMDo0NSk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTE1OTIxNDE5OTggcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CkljaCBoYWIgbWljaCBqZXR6dCBzbyBlaW4gYmlzc2NoZW4gaW4gZGllIFJlZ2VsdW5nZW4gZnVlciBOUlcgdm9yZ2VsZXNlbiB1bmQKc28gZWluIGJpc3NjaGVuIGZlaGx0IG1pciBkaWUgRmFudGFzaWUgd2llIHdpciBkYSB0YXRzYWVjaGxpY2ggZWluZW4KZW50c3Bhbm50ZW4gR3J1cHBlbnVybGF1YiBtYWNoZW4ga29lbm5lbi4gSWNoIG1vZWNodGUgbWlyIGVpZ2VudGxpY2ggbmljaHQKZGF1ZXJuZCBHZWRhbmtlbiBtYWNoZW4gb2IgaWNoIGpldHp0IG5lIE1hc2tlIHVudGVybSBQYXZpbGxpb24gYXVmc2V0emVuIG11c3MsCndlaWwgamVtYW5kIG5hZWhlciBhbHMgMSw1bSBzaXR6dC4gSWNoIGhhYiBhYmVyIGFiZXIgYXVjaCBrZWluZSBMdXN0IGVpbmUKV29jaGUgYWxsZWluIGluIG1laW5lbSBaZWx0IHp1IHNpdHplbi4gQXVjaCB0b3VyaXN0aXNjaGUgQmVzdWNoZSBpbiBkZXIgR2VnZW5kCm9kZXIgUmVzdGF1cmFudGJlc3VjaGUgbWl0IGRlciBnYW56ZW4gR3J1cHBlIHNpbmQgZnVlciBtaWNoIGltIE1vbWVudCBzY2h3ZXIKdm9yc3RlbGxiYXIuCgpJc3QgamEgbm9jaCBlaW4gYmlzc2NoZW4gWmVpdCwgYWJlciBpY2ggYmluIGltIE1vbWVudCBlaGVyIHNrZXB0aXNjaC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoR2xvaW5zb24sIDE1LiBKdW4gMjAyMCwgMjM6Mzc6MDIpOgp+IyEgcm49VmFuaW9uIHJ0PTE1OTIxNjMwNDUgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CgpUZXN0IGpldHp0IGluIGRlciBESkggZ2VsYXVmZW4uIEluIEZhbGtlbmhhaW4gTWl0dGVsc2FjaHNlbiBnaWJ0IGVzIGVpbmUgbWl0CkJ1bmdhbG93cyBkaXJla3QgYW4gZWluZW0gU3RhdXNlZSAod2FzIG1hbiBuaWNodCBhbGxlcyB0b2xsZXMgaW4gc29sY2hlbgpaZWl0ZW4gZW50ZGVja3QpLiBXYXIgdW50ZXIgZGVyIFdvY2hlIGVudHNwYW5udCwgZGllIEZhbWlsaWVuemltbWVyIGhhdHRlbgplaWdlbmUgRHVzY2hlL0tsbywgaW0gRXNzZW5zcmF1bSBoYWJlbiBzaWNoIGRpZSBmdWVuZiBGYW1pbGllbiB2ZXJsb3JlbiB1bmQKZGFzIFBlcnNvbmFsIGhhdCBtaXQgTXVuZHNjaHV0ei9QaXBhcG8gZ2VhcmJlaXRldC4KCldpciBoYXR0ZW4ga2VpbmVuIEZhbWlsaWVucmF1bSwgZGEgYmlzIFdFIGdlYnVjaHQuIERpZSBLaW5kZXIgaGFsdGVuIHNpY2ggaW4KTWFzc2VuIHZvbmVpbmFuZGVyIGZlcm4uIEtlaW5lciBrbnVkZGVsdCBydW0sIGFiZXIgZGllLCBkaWUgc2ljaCBrZW5uZW4gdW5kCmtlbm5lbmxlcm5lbiwgc2luZCBLb250YWt0c3RlbGxlLiBEaWUgc3BpZWxlbiBlYmVuIG5lYmVuZWluYW5kZXIgdW5kIGRhbm4Kc2l0enQgbWFuIG1pdCBkZXIgYW5kZXJlbiBGYW1pbGllIGFtIEdyaWxsLgoKCldvY2hlbmVuZGUgd3VyZGUgaGFsYnZvbGwsIGRhIGthbSBlaW4gU2Nod2ltbXZlcmVpbiB1bmQgbWVocmVyZSBGYW1pbGllbi4gQWxzbwpwcm8gQnVuZ2Fsb3cgd2VpdGVyIG51ciBlaW5lIEZhbWlsaWUsIGFiZXIgRXNzZW5zcmF1bSB3dXJkZSB1bnMgenUgdm9sbCwgd2lyCmhhYmVuIGFsc28gR3JpbGxwYWtldCBiZXN0ZWxsdCwgQWJlbmRlc3NlbiBpbiBMdW5jaHBha2V0IGdld2FuZGVsdCB1bmQgc2luZAptaXQgZGVtIEZydWVoc3R1ZWNrIGVpbmZhY2ggcmF1cy4gRGVubm9jaCB1bmdld29obnQgZW5nLiBJbSBXYXNjaHJhdW0vVG9pbGV0dGUKZGFubiBlYmVuIG1pdCBNYXNrZS4KCgpJbiBkZW4gendlaSBiZXN1Y2h0ZW4gTGFuZGtyZWlzZW4gd2FyIGpld2VpbHMgbnVyIGVpbiBuZXVlciBGYWxsIGluc2dlc2FtdApvZmZpemllbGwgZ2VtZWxkZXQuIEljaCBzYWcgZXVjaCBpbiB6d2VpIFdvY2hlbiBCZXNjaGVpZCAuLi4uIHdvYmVpIGRhcwpFeHBlcmltZW50IGpldHp0IGR1cmNoIGRpZSBTY2h1bG9lZmZudW5nIHZlcmZhZWxzY2h0IHdpcmQgKGJlaSB1bnMgYWxsZXJkaW5ncwphdWNoIG51ciAyIEZhZWxsZSBvZmZpemllbGwgaW0gQm9kZW5zZWVrcmVpcykuCgoKRnVlciBkZW4gU29tbWVyIHNpbmQgbWVpbmUgNzhqYWVocmlnZSBNdXR0ZXIgdW5kIG1laW5lIFNjaHdlc3RlciBtaXQgZGVuCktpbmRlcm4gYXVmIFVzZWRvbSBlaW5nZWJ1Y2h0IChzY2hvbiBzZWl0IEphbnVhcikuIERhIGRhcyBpbiBkZXIgZHJpdHRlbgpGZXJpZW53b2NoZSBpc3QsIGtvZW5uZW4gd2lyIGRpZSBLaW5kZXIgdm9yaGVyIHF1YXJhbnRhZW5pc2llcmVuLgpTY2h3YWNoc3RlbGxlbiBzaW5kIGpldHp0IG1laW5lIFNjaHdlc3RlciwgZGllIGdnZiB3aWVkZXIgYXJiZWl0ZW4gbXVzcyB1bmQKaWNoLCBkZW5uIGluIFZvcmFybGJlcmcgaXN0IGFiIGpldHp0IHdpZWRlciBnYW56IG5vcm1hbGUgUHJhZXNlbnogZ2Vmb3JkZXJ0LgpTbyBvZGVyIHNvIG11c3MgaWNoIGRpZSBLaW5kZXIgZGFubiBtaXQgZGVtIEF1dG8gaG9jaHNjaGFmZmVuLiBWb3IgZGVuIDgwMGttCmdyYXV0IG1pciBzY2hvbiB3aWVkZXIgOikKCn4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChIdW1uaSwgMTcuIEp1biAyMDIwLCAyMzozNDo0MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xNTkyMjU3MDIyIHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpJY2ggbmVobWUgZHVyY2hhdXMgYW4sIGRhc3Mgd2lyIEFic3RhZW5kZSBlaW5oYWx0ZW4gd2VyZGVuIG11ZXNzZW4uIEljaCB3ZWlzcwphdWNoIG5vY2ggbmljaHQgZ2VuYXUsIHdpZSB3aXIgZGFzIG1pdCAiR3J1cHBlIHp1IG1heC4gMTAgTGV1dGVuIiBtYWNoZW4gLQp2aWVsbGVpY2h0IG11ZXNzZW4gd2lyIHVucyBkYSBlaW4gd2VuaWcgYXVmdGVpbGVuLiBJY2ggaGFiZSBqYSBkaWUgSG9mZm51bmcsCmRhc3Mgc2ljaCBkYXMgYmlzIGRhaGluIGVpbiB3ZW5pZyBrbGFlcnQuCgpSZXN0YXVyYW50YmVzdWNoZSBnZWhlbiBpbiBOUlcgdWVicmlnZW5zLCBkYXMgaGFiZW4gd2lyIGFtIFdvY2hlbmVuZGUKYXVzcHJvYmllcnQuIEFic3RhZW5kZSBhbiBkZW4gVGlzY2hlbiwgbWl0IE1hc2tlbiB6dW0gVGlzY2gsIGRhIGRhcmYgbWFuIGRpZQpNYXNrZSBhdXN6aWVoZW4sIGJlc3RlbGxlbiB1bmQgZXNzZW4uIE5hdHVlcmxpY2ggbWl0IEFuZ2FiZSBkZXIgS29udGFrdGRhdGVuCnVuZCBEZXNpbmZla3Rpb24gdW5kIENvLgoKV2FzIHNpY2hlciBuaWNodCBnZWh0LCBpc3QgbWl0IDIwIExldXRlbiBkaWNodCBhbiBkaWNodCB6dSBzaXR6ZW4uIFd1ZXJkZSBpY2gKYXVjaCBuaWNodCB3b2xsZW4uCgpBbHNvIGltIE1vbWVudC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoR2xvaW5zb24sIDE4LiBKdW4gMjAyMCwgMDY6MjM6MjMpOgp+IyEgcm49SHVtbmkgcnQ9MTU5MjQyOTY4MCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKVmllbGUgR3JpbGxzIHVuZCBldmVudHVlbGwgbm9jaCBlaW4gcGFhciBDYW1waW5ndG9pbGV0dGVuIHp1bSBBdXNsZWVyZW4KYmVzb3JnZW4/IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKFZhbmlvbiwgMTguIEp1biAyMDIwLCAyMzoyOToyNik6Cn4jISBybj1HbG9pbnNvbiBydD0xNTkyNDU0MjAzIHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpEYXMgSGFja2VuIE9wZW4gQWlyLCAgZGFzIEVuZGUgQXVndXN0IHN0YXR0ZmluZGVuIHNvbGx0ZSwgKApodHRwczovL2hhY2tlbm9wZW5haXIuZGUvICkgaXN0IGhldXRlIGFiZ2VzYWd0IHdvcmRlbiwgd2VpbCBzaWUgZGVua2VuLCBkYXNzCmRpZSBnYW56ZSBTYWNoZSB6dSB1bnNpY2hlciBpc3QuIAoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChIdW1uaSwgIDQuIEp1bCAyMDIwLCAwMDo0NDoyOSk6Cn4jISBybj1WYW5pb24gcnQ9MTU5MjUxNTc2NiByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKU28uIEljaCBoYWJlIG1hbCBkaWUgQ29yb25hc2NodXR6dmVyb3JkbnVuZyBOUlcgZ2VsZXNlbi4KTWFuIGRhcmYgc2ljaCBpbiBOUlcgbnVyIG1pdCBtYXhpbWFsIDEwIFBlcnNvbmVuIHRyZWZmZW4uIERhYmVpIGRhcmYgbWFuIGRhbm4KZGVuIEFic3RhbmQgdm9uIDEsNW0gYXVjaCB1bnRlcnNjaHJlaXRlbi4gSGVpc3N0IGltIFVta2VocnNjaGx1c3M6IFNvbGFuZ2Ugd2lyCmRlbiBBYnN0YW5kIGVpbmhhbHRlbiwgdHJlZmZlbiB3aXIgdW5zIGF1Y2ggbmljaHQuIEljaCBzZWhlIGRhcyBhdWNoIG5pY2h0IGFscwpqdXJpc3Rpc2NoZSBTcGl0emZpbmRpZ2tlaXQsIHNvbmRlcm4gYWxzIEZha3QgYW4uClNwcmljaDogV2lyIG1hY2hlbiBkYSBkaWVzZXMgSmFociBrZWluZSAiVmVyYW5zdGFsdHVuZyIsIHNvbmRlcm4gZGEgY2FtcGVuCkxldXRlLCBkaWUgZ2VtZWluc2FtIGVpbmVuIEJlcmVpY2ggenVnZXdpZXNlbiBrcmllZ2VuLiAKSGVpc3N0IGFiZXIgaW0gVW1rZWhyc2NobHVzczogV2lyIG11ZXNzZW4gZGVuIEFic3RhbmQgZWluaGFsdGVuLiBEaWUgdWVibGljaGVuCjEsNW0uIFVuZCBnZW5hdSBkYXMgd2lsbCBpY2ggdGF0c2FlY2hsaWNoIGF1Y2guCkRhcyBoZWlzc3QsIGRhc3Mgd2lyIGRpZXNlcyBKYWhyIG5pY2h0IG1pdCA0IExldXRlbiBhdWYgZGVuIEJpZXJiYWVua2VuIHNpdHplbgprb2VubmVuLiBBbHNvOiBCcmluZ3QgYml0dGUgc2VsYnN0IFN0dWVobGUgdW5kIHZpZWxsZWljaHQgYXVjaCBUaXNjaGUgbWl0LiBXaXIKd2VyZGVuIHdpZWRlciBkZW4gUGF2aWxsb24gYXVmYmF1ZW4sIGljaCBob2ZmZSwgZGFzcyB3aXIgZGEgbW9lZ2xpY2hzdCB2aWVsZQp2b24gdW5zIGRydW50ZXJrcmllZ2VuLgpFdXJlIERhdGVuIHdlcmRlbiBuYXR1ZXJsaWNoIHdpZSB1ZWJsaWNoIGFiZ2VmcmFndCB1bmQgYmlzIHp1IHZpZXIgV29jaGVuCmdlc3BlaWNoZXJ0IHdlcmRlbiAtIGRhcyBpc3QgYWJlciBqYSB1ZWJlcmFsbCBzbyB1ZWJsaWNoLgpBdWYgZGVuIFRvaWxldHRlbiB1bmQgaW4gZGVuIER1c2NoZW4gbXVlc3NlbiB3aXIgTWFza2VuIHRyYWdlbi4KQWNoIGphOiBJY2ggZ2xhdWJlLCBkYXMgdHJpZmZ0IGF1ZiBuaWVtYW5kZW4genUgLSBhYmVyIHdlciBuaWNodCBpbiBkZXIgRVUsCklzbGFuZCwgTGllY2h0ZW5zdGVpbiwgZGVyIFNjaHdlaXogb2RlciBkZW0gVUsgd29obnQsIGRhcmYgbGVpZGVyIG5pY2h0IGF1ZgpkZW4gQ2FtcGluZ3BsYXR6IGtvbW1lbi4KQmVpbSAiUmF1c2dlaGVuIiBhYmVuZHMgbXVlc3NlbiB3aXIgbmF0dWVybGljaCBpbSBPZVBOViBhdWNoIE1hc2tlbiB0cmFnZW4sCmViZW5zbyBpbiBkZXIgR2FzdHJvbm9taWUuCkxldHp0ZXIgUHVua3Q6IERpZXNlIFZvcnNjaHJpZnRlbiBnZWx0ZW4gamV0enQgYmlzIHp1bSAxNS43LiBXYXMgZGFuYWNoIGtvbW10LAp3aXNzZW4gd2lyIG5pY2h0LiBXZW5uIGltIEVubmVwZS1SdWhyLUtyZWlzIGVpbmUgU2NobGFjaHRlcmVpIGRlbiBUb2VubmllcwptYWNodCwgbXVlc3NlbiB3aXIgZGFzIGV2dGwuIHNlaHIga3VyemZyaXN0aWcgYWJzYWdlbiAuLi4gYWJlciBkYSBob2ZmZSBpY2gKbWFsIG5pY2h0IGRyYXVmLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChWYW5oZWxzaW5nLCAgNC4gSnVsIDIwMjAsIDA4OjUxOjU3KToKfiMhIHJuPUh1bW5pIHJ0PTE1OTM4MTYyNjkgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CkljaCBoYWJlIGdlcmFkZSBtYWwgYXVmIGRpZSBIb21lcGFnZSBkZXMgQ2FtcGluZ3BsYXR6ZXMgZ2VndWNrdC4gRGEgc3RlaHQsCmRhc3MgWmVsdGVuIG5vY2ggbmljaHQgbW9lZ2xpY2ggaXN0LiBJc3QgZGFzIG5pY2h0IG1laHIgYWt0dWVsbCwgb2RlciB3aXJkIGRhcwppbiBkZW4gbmFlY2hzdGVuIDIgV29jaGVuIG5vY2ggZ2VhZW5kZXJ0PyBBbnNvbnN0ZW4ga29lbm5lbiB3aXIgbm9jaCBzbyBndXQKZGVuIEFic3RhbmQgZWluaGFsdGVuLCB3ZW5uIHdpciBkYSBuaWNodCB1ZWJlcm5hY2h0ZW4gZHVlcmZlbiwgb2RlciBzZWhlIGljaApkYSB3YXMgZmFsc2NoPwpJY2ggaGFiZSBnZXJhZGUgbWFsIGF1ZiBkaWUgSG9tZXBhZ2UgZGVzIENhbXBpbmdwbGF0emVzIGdlZ3Vja3QuIERhIHN0ZWh0LApkYXNzIFplbHRlbiBub2NoIG5pY2h0IG1vZWdsaWNoIGlzdC4gSXN0IGRhcyBuaWNodCBtZWhyIGFrdHVlbGwsIG9kZXIgd2lyZCBkYXMKaW4gZGVuIG5hZWNoc3RlbiAyIFdvY2hlbiBub2NoIGdlYWVuZGVydD8gQW5zb25zdGVuIGtvZW5uZW4gd2lyIG5vY2ggc28gZ3V0CmRlbiBBYnN0YW5kIGVpbmhhbHRlbiwgd2VubiB3aXIgZGEgbmljaHQgdWViZXJuYWNodGVuIGR1ZXJmZW4sIG9kZXIgc2VoZSBpY2gKZGEgd2FzIGZhbHNjaD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChCdWdmaXgsICA0LiBKdWwgMjAyMCwgMTA6MjY6MTgpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xNTkzODQ1NTE3IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpTb3dlaXQgbWlyIGJla2FubnQgaXN0LCBoYXQgSHVtbmkgbWl0IGRlciBCZXRyZWliZXJpbiBnZXNwcm9jaGVuIHVuZCBkaWUKbWVpbnRlLCB3aXIgZHVlcmZ0ZW4ga29tbWVuLiBEaWUga2VubnQgdW5zIGphIHVuZCB3ZWlzcywgZGFzcyB3aXIgemVsdGVuLgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoR2xvaW5zb24sICA0LiBKdWwgMjAyMCwgMTI6MjI6MDApOgp+IyEgcm49QnVnZml4IHJ0PTE1OTM4NTExNzggcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CgpIYWIgdm9yaGluIG1pdCBDYWtleSB0ZWxlZm9uaWVydCwgZXIvd2lyL3Zlcm11dGxpY2ggZGllIERyZXNkbmVyIHdlcmRlbiBkYXMKa29tbWVuIGFtIFNhbXN0YWcgdm9yIGRlciBXb2NoZSBlbnRzY2hlaWRlbi4gRGllIEtpbmRlciB3ZXJkZW4gd2lyIG9obmVoaW4KbmljaHQgYXVmIEFic3RhbmQgaGFsdGVuIGtvZW5uZW4sIGRhIG11ZXNzZW4gd2lyIGRhbm4gbm9jaCBtYWwgYXVmIFphaGxlbiB1bmQKUmlzaWtlbiBzY2hpZWxlbiB1bmQgS29tcHJvbWlzc2UgYWJ3YWVnZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKEh1bW5pLCAgNC4gSnVsIDIwMjAsIDEzOjMyOjI4KToKfiMhIHJuPUdsb2luc29uIHJ0PTE1OTM4NTgxMjAgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CkljaCBiaW4gZGllc2VzIEphaHIgbmllbWFuZGVtIGJvZXNlLCBkZXIgKGF1Y2gga3VyemZyaXN0aWcpIGFic2FndC4gRGFzIGhlaXNzdApuaWNodCwgZGFzcyBpY2ggZXVjaCBuaWNodCBkYWhhYmVuIHdpbGwuIDstKSAKQWJlciBiZXR0ZXIgc2FmZSB0aGFuIHNvcnJ5LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChWYW5pb24sIDExLiBKdWwgMjAyMCwgMTQ6MjE6MDcpOgp+IyEgcm49SHVtbmkgcnQ9MTU5Mzg2MjM0OCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKSWNoIGRlbmtlLCBpY2ggd2VyZGUgbmljaHQga29tbWVuLiBNaXIgaXN0IGRhcyBpbSBNb21lbnQgYWxsZXMgenUgc3RyZXNzaWcuClVuZCBVcmxhdWIgc29sbHRlIG5pY2h0IHN0cmVzc2lnIHNlaW4uIFNvIHNlaHIgaWNoIG1pY2ggZ2VmcmV1dCBoYWJlLCBtaWNoIG1pdApldWNoIHp1IHRyZWZmZW4sIGlzdCBtaXIgZGFzIGFsbGVzIHVudGVyIENvcm9uYS1SYWhtZW5iZWRpbmd1bmdlbiBmdWVyIFVybGF1Ygp6dSBhbnN0cmVuZ2VuZC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoSHVtbmksIDExLiBKdWwgMjAyMCwgMTg6NTg6MDYpOgp+IyEgcm49VmFuaW9uIHJ0PTE1OTQ0NzAwNjcgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3ClNlaHIgc2NoYWRlLCBpY2ggd2VyZGUgYWJlciBuaWNodCB2ZXJzdWNoZW4sIGRpY2ggdW16dXN0aW1tZW4uIEljaCBrYW5uIGRhcwp1bnRlciBkZW4gZGVyemVpdGlnZW4gVm9yemVpY2hlbiBhdWNoIG5hY2h2b2xsemllaGVuLiBIb2ZmZW50bGljaCB3aXJkIDIwMjEKZWluIHdlbmlnIG5vcm1hbGVyIGluIGRlciBIaW5zaWNodCAuLi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoTm9uZHJ1bSwgMTIuIEp1bCAyMDIwLCAxNToyMTo0Mik6Cn4jISBybj1IdW1uaSBydD0xNTk0NDg2Njg2IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpWaWVsbGVpY2h0IGhhc3QgZHUgamEgTHVzdCBpbSBWZXJzYW1tbHVuZ3MtVFMgbWFsIHZvcmJlaXp1c2NoYXVlbj8gOkQgTWFsCnNjaGF1ZW4sIHdpZSBlaWdlbnRsaWNoIGRpZSBUUy1Ba3Rpdml0YWV0IGRpZSBXb2NoZSBzZWluIHdpcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoSHVtbmksIDE2LiBKdWwgMjAyMCwgMDk6NDA6MjgpOgp+IyEgcm49Tm9uZHJ1bSBydD0xNTk0NTYwMTAyIHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpJbiBiZXdhZWhydGVyIE1lZ2FzY2htYXJybi1UcmFkaXRpb24gKGRpZSBMZXNlciBkYXZvbiB3aXNzZW4gZGFzIGF1Y2ggc2Nob24sCmRhIGRpZSBpbW1lciBtZWhyIHdpc3NlbikgYW50d29ydGUgaWNoIGF1ZiBkZW4gbGV0enRlbiBBcnRpa2VsLgoKRnVlciBkaWUgUGFydHl3b2NoZSBzYWd0IEthY2hlbG1hbm53ZXR0ZXIgZGVyemVpdDoKCiogRGllIDQwIEdyYWQgd2VyZGVuIHdpciBuaWNodCBrbmFja2VuIGRpZXNlcyBKYWhyLiBWZXJtdXRsaWNoIG5pY2h0bWFsIGRpZQozMC4gRmluZGUgaWNoIGpldHp0IG5pY2h0IHNvbyB0cmFnaXNjaCAuLi4KKiBFcyB3aXJkIGFtIE1vbnRhZyB2ZXJtdXRsaWNoIHJlZ25lbi4gV29tb2VnbGljaCBhdWNoIGFtIFNhbXN0YWcsIGFiZXIgZGllClByb2dub3NlIGlzdCBuYXR1ZXJsaWNoIG5vY2ggdWViZXIgZWluZSBXb2NoZSBoaW4sIG9iIGRpZSBzdGltbXQsIGlzdCBob2VjaHN0CmZyYWdsaWNoLCB6dW1hbCBuaWNodG1hbCBhbGxlIFdldHRlcm1vZGVsbGUgZGFzIHNhZ2VuLgoKU292aWVsIHp1bSBkZXJ6ZWl0aWdlbiBTdGFuZC4gT2IgZGFzIHNvIGJsZWlidCwgaXN0IG5hdHVlcmxpY2ggYXVjaCBuaWNodCBrbGFyCi0gYXVjaCBiaXMgTW9udGFnIHNpbmQgZGFzIG5vY2ggZWluIHBhYXIgVGFnZSwgZGEga29lbm5lbiBhdWNoIGFsbGUgTW9kZWxsZQptYWwgZGFuZWJlbmxpZWdlbi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoR2xvaW5zb24sIDE2LiBKdWwgMjAyMCwgMjM6MzI6MzkpOgp+IyEgcm49SHVtbmkgcnQ9MTU5NDg4NTIyOCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKCkRhcyB3YWVyIG1hbCAnbmUgYW5nZW5laG1lIEFid2VjaHNsdW5nLCB3ZW5uIG1hbiBkYXMgV2Fzc2VyIG5pY2h0IGF1cyBkZW0KVGhlcm1vYmVjaGVyIHRyaW5rZW4gbXVzcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoSHVtbmksIDE4LiBKdWwgMjAyMCwgMTg6NDU6MDkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTU5NDkzNTE1OSByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKU28sIFdldHRlcnVwZGF0ZToKCkthY2hlbG1hbm4gc2FndCBmdWVyIE1vbnRhZyBtb3JnZW4gUmVnZW4gdm9yYXVzLCBkYW5uIGZ1ZXIgTmFjaG1pdHRhZ3MKd2FocnNjaGVpbmxpY2ggZWhlciBrZWluZW4uIFRlbXBlcmF0dXJlbiBoYWJlbiBkYSBub2NoIGVyaGVibGljaCBEaXNrcmVwYW56ZW4KaW4gZGVuIE1vZGVsbGVuLCBhYmVyIHNvIHdpZSBlcyBhdXNzaWVodCwgd2lyZCBlcyBEaS9NaSB3b2hsIGthZWx0ZXIsIGFiIERvCmRhbm4gd2llZGVyIHdhZXJtZXIuIEFsbGVyZGluZ3MgdGFnc3VlYmVyIG51ciBzbyB1ZWJlciAyMCwgbWFsIHZpZWxsZWljaHQgMjUKR3JhZCwgYWxzbyBzcHJpY2gsIHNwYWV0ZXN0ZW5zIGZ1ZXIgYWJlbmQgc29sbHRlIG1hbiBlaW5lIEphY2tlIGRhYmVpaGFiZW4uCgpJbSBFbm5lcGUtUnVoZS1LcmVpcyBnaWJ0IGVzIGltIE1vbWVudCAzNiBFcmtyYW5rdGUsIGRhdm9uIDYgaW4gSGF0dGluZ2VuLiBJc3QKYWxzbyByZWNodCBzaWNoZXIuIEhhdHRpbmdlbiBoYXQgNTRrIEVpbndvaG5lciwgYWxzbyBkZXJ6ZWl0IDEyIHBybyAxMDBrIC0KYWJlciBkYXMgaXN0IG5pY2h0IHVlYmVyIGRpZSBsZXR6dGVuIDcgVGFnZSwgc29uZGVybiBkYXMgc2luZCBha3RpdmUgRmFlbGxlLApzcHJpY2gsIGRpZSBJbnppZGVuenphaGwgaXN0IGtsZWluZXIuIEltIGdlc2FtdGVuIEtyZWlzIGlzdCBkaWUgWmFobCBkZXJ6ZWl0CmJlaSA3LDcuCkdlbmF1ZXJlIERhdGVuIHNwZXppZWxsIGZ1ZXIgSGF0dGluZ2VuIGhhYmUgaWNoIG5pY2h0IGdlZnVuZGVuLgpEYSBlcyBhYmVuZHMgb2VmdGVyIGlucyBiZW5hY2hiYXJ0ZSBSdWhyZ2ViaWV0IGdlaHQ6IEJvY2h1bSBoYXQgZWluZQpJbnppZGVuenphaGwgdm9uIDgsNSwgRXNzZW4gdm9uIDQsMS4KCkRhZ2VnZW4gc29sbHRldCBpaHIgbmljaHQgaW4gZGVuIEtyZWlzIE1ldHRtYW5uIGZhaHJlbiwgc3ByaWNoLCBuaWNodCBuYWNoClZlbGJlcnQsIHdvIHdpciB3b2huZW4uIFdpciBoYWx0ZW4gdW5zIGFiZXIgZ2VyYWRlIHZvbiBhbGxlbiBMZXV0ZW4gZmVybiB1bmQKZ2VoZW4gZWlnZW50aWNoIG51ciBtaXQgTWFza2UgZWluYXVmZW4gdW5kIG1pdCBkZW4gSHVuZGVuIHJhdXMuIERlciBLcmVpcwpNZXR0bWFubiBpc3QgamVkZW5mYWxscyBnZXJhZGUgZGV1dHNjaGVyIFNwaXR6ZW5yZWl0ZXIgbWl0IDIzLDMuIEVpbiBSZWtvcmQsCmRlbiBpY2ggdW5nZXJuZSB6dXIgS2VubnRuaXMgbmVobWVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKFZhbmlvbiwgMTkuIEp1bCAyMDIwLCAxOToyMzoxOCk6Cn4jISBvbj1TYXJheSBvdD0xNTk1MTc4NjM5IG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUh1bW5pIHJ0PTE1OTQ1NjY2NDQgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE1ODEyNzg0MjcKSGFsbG8genVzYW1tZW4sCgpSaG92YW4gdW5kIGljaCB3ZXJkZW4gdm9yZXJzdCBuaWNodCBrb21tZW4ga29lbm5lbi4KSWNoIHdlaXNlIGVpbmlnZSBDb3JvbmEtU3ltcHRvbWUgYXVmIHVuZCB3ZXJkZSBkYWhlciBtb3JnZW4gZXJzdCBlaW4gbWFsIG1pdAptZWluZXIgSGF1c2Flcnp0aW4gc3ByZWNoZW4uCkRlciBUZXN0IGdlaHQgYW4gc2ljaCBzY2huZWxsLCBkLmggaWNoIGhvZmZlIHNlaHIsCmRhc3Mgd2lyIGltIExhdWZlIGRlciBXb2NoZSBkb2NoIG5vY2ggenUgZXVjaCBzdG9zc2VuIHdlcmRlbi4KV2VubiBzaWUgbWVpbmUgU3ltcHRvbWUgZnVlciBuaWNodCBhdXNnZXByYWVndCBnZW51ZyBlcmFjaHRlbiwgd2VyZGVuIHdpciBhYmVyCnp1IEhhdXNlIGJsZWliZW4uCkljaCB3aWxsIGF1ZiBrZWluZW4gRmFsbCBlaW4gUmlzaWtvIGVpbmdlaGVuLAp1bnNlcmUgQ29tbXVuaXR5IGlzdCBlaCBzY2hvbiBrbGVpbiBnZW51ZyA7KS4KCk1pciBnZWh0cyBwc3ljaGlzY2ggYXVjaCBnZXJhZGUgc2NobGVjaHRlciBhbHMga29lcnBlcmxpY2gsIG11c3MgaWNoIHNhZ2VuLAphYmVyIGljaCBibGVpYmUgb3B0aW1pc3Rpc2NoLgpJY2ggaGFsdGUgZXVjaCBhdWYgZGVtIExhdWZlbmRlbgp1bmQgd3VlbnNjaGUgZXVjaCBnYW56IHZpZWwgU3Bhc3MhCgpIb2ZmZW50bGljaCB0cm90emRlbSBub2NoIGJpcyBkaWUgVGFnZSwKClNhcmF5IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoVmFuaW9uLCAxOS4gSnVsIDIwMjAsIDE5OjIzOjIxKToKfiMhIG9uPVZhbmlvbiBvdD0xNTk1MTc5MzUzIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPVNhcmF5IHJ0PTE1OTUxNzg2Mzkgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE1ODEyNzg0MjcKR3V0ZSBCZXNzZXJ1bmchCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoQW1hcnlsbGlzLCAxOS4gSnVsIDIwMjAsIDE5OjUwOjU0KToKfiMhIHJuPVZhbmlvbiBydD0xNTk1MTc5NDAxIHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwoiV2VubiBzaWUgbWVpbmUgU3ltcHRvbWUgZnVlciBuaWNodCBhdXNnZXByYWVndCBnZW51ZyBlcmFjaHRlbiwgd2VyZGVuIHdpcgphYmVyIHp1IEhhdXNlIGJsZWliZW4uIgoKQWVobS4uLiB3aWUgYml0dGU/CgpBbWEqClBTOiBBbnNvbnN0ZW4gZ3V0ZSBCZXNzZXJ1bmcuIEJpbiBhdWNoIGdlcmFkZSBhdXMgZGVyIEtsaW5payByYXVzIHVuZCBoYXR0ZQptaXR0bGVyd2VpbGUgc2Nob24gMyBDb3JvbmEtVGVzdHMgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKFNhcmF5LCAxOS4gSnVsIDIwMjAsIDIxOjEzOjQ5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTk1MTgxMDU0IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpAQW1hCmljaCBoYWJlIGhhbHQga2VpbiBGaWViZXIgdW5kIGhhYmUga2VpbmUgQWhudW5nLCB3aWUgZ2VuZXJlbGwgZGFtaXQgc28KdW1nZWdhbmdlbiB3aXJkLgpFdnRsIHdpcmQgbWFuIGphIGVpbmZhY2ggbmFjaCBIYXVzZSBnZXNjaGlja3QsIHdlbm4gbWFuIG5pY2h0IGtyYW5rIGdlbnVnIGlzdC4KSWNoIGhhYiBqYSBrZWluZSBBaG51bmcuCgpBdXMgZGVyIEtsaW5payByYXVzPwpEYW5uIHd1ZW5zY2hlIGljaCBhdWNoIG1hbCBndXRlIEJlc3NlcnVuZyEKClNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChBbWFyeWxsaXMsIDE5LiBKdWwgMjAyMCwgMjI6MDA6MzcpOgp+IyEgcm49U2FyYXkgcnQ9MTU5NTE4NjAyOSByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKRGFua2UuLi4KClZpZWxsZWljaHQgbWFsIHRlc3RlbiBsYXNzZW4/IEVzIGhlcnJzY2h0IGphIGluIGRlciB2ZXJ1bnNpY2hlcnRlbgpCZXZvZWxrZXJ1bmcgKGMpIGRpZSBNaXNlcmUgZGllIE1laW51bmcgdm9yLCBkYXNzIGZ1ZXIgVGVzdHMgZGVyemVpdCBrZWluZQpSZXNzb3VyY2VuIGRhIHNpbmQgYnp3LiBkaWVzZSBkZW0gUGxlYnMgdm9yZW50aGFsdGVuIHdlcmRlbi4gSGllcnp1IG1laW5lCmVpZ2VuZSBFcmZhaHJ1bmcgYXVzIGdlcmFkZSBlaW5lciBXb2NoZSBLcmFua2VuaGF1cyBwbHVzIDMgVGFnZW4gVW5pa2xpbmlrCihLb2Vsbik6Ck1hbiB3dW5kZXJ0IHNpY2gsIHdpZXNvIGRpZSBhbmdlYm90ZW5lbiBUZXN0cyBuaWNodCB3YWhyZ2Vub21tZW4gd2VyZGVuLiBMdC4KZWluZW0gQXJ6dCBrb2VubnRlIG1hbiB0YWVnbGljaCBpbiBlaW5lbSBzcGV6aWVsbCBkYWZ1ZXIgYmVyZWl0Z2VzdGVsbHRlbiwKc2VwYXJhdGVuIEdlYmFldWRlIGJpcyB6dSA4MDAgUGVyc29uZW4gdGFlZ2xpY2ggKCEpIHRlc3RlbiAtIGFiZXIgZGFzIG5pbW10CmtlaW5lciBpbiBBbnNwcnVjaC4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKFplc3N0cmEsIDE5LiBKdWwgMjAyMCwgMjI6MDM6MTEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE1OTUxODg4Mzcgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3ClNhcmF5IHdpbGwgc2ljaCBqYSB0ZXN0ZW4gbGFzc2VuLCBoYXQgYWJlciBkaWUgQmVmdWVyY2h0dW5nLCBkYXNzIGRpZSBBZXJ6dGluCnNpZSBuaWNodCB0ZXN0ZW4gd2lsbCwgd2VpbCBkaWUgU3ltcHRvbWUgbmljaHQgZWluZGV1dGlnIGdlbnVnIHNpbmQuIDstKQoKSWNoIGhhYmUgaGV1dGUgdm9uIHVlYnJpZ2VucyBlaW5lciBCZWthbm50ZW4gZ2Vob2VydCwgZGFzcyBkaWUgQWVyenRpbiBuaWNodAp3b2xsdGUsIGRhc3Mgc2llIHp1bSBUZXN0IGluIGRpZSBQcmF4aXMga29tbXQuIFNpZSBoYXQgZGFubiBkYXMgdGVzdGtpdAphYmhvbGVuIGR1ZXJmZW4gdW5kIHNvbGx0ZSBkZW4gQWJzdHJpY2ggc2VsYmVyIG1hY2hlbi4gQWxzbywgd2VyIG1laW50LCBkYQprb21tdCBlaW4gYmVsYXN0YmFyZXMgRXJnZWJuaXMgcmF1cywgZ2xhdWIgYXVjaCBhbiBkZW4gT3N0ZXJoYXNlbi4uLiAoTmVpbiwKZGllIGJla2FubnRlIGlzdCBrZWluZSBtZWRpemluaXNjaCBhdXNnZWJpbGRldGUgRmFjaGtyYWZ0LikKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKEFtYXJ5bGxpcywgMTkuIEp1bCAyMDIwLCAyMjowOTowNCk6Cn4jISBybj1aZXNzdHJhIHJ0PTE1OTUxODg5OTEgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CkRlbSBrYW5uIGljaCB6dXN0aW1tZW4uCkljaCBoYXR0ZSBpbW1lcmhpbiBiaXNoZXIgMyAiZXJ6d3VuZ2VuZSIgKHdlaWwgaW0gS3JhbmtlbmhhdXMpIENvcm9uYS1UZXN0cy4KClVtIGVpbmVuIHZlcmxhZXNzbGljaGVuIEFic3RyaWNoIG1hY2hlbiB6dSBrb2VubmVuLCBpc3QgZXMgYW5zY2hlaW5lbmQKd2ljaHRpZywgbW9lZ2xpY2hzdCB0aWVmIGluIGRlbiBtZW5zY2hsaWNoZW4gS29lcnBlciBlaW56dWRyaW5nZW4uClNvbGwgaGVpc3NlbjoKWnVlcnN0IFJhY2hlbnJhdW0tQWJzdHJpY2ggKHNvIHRpZWYsIGRhc3MgZGVyIFd1ZXJnZXJlZmxleCBlaW5zZXR6dCkuCkRhbm4gTmFzZW5yYXVtLUFic3RyaWNoIChiZWlkZSBOYXNlbmxvZWNoZXIsIHNvIHRpZWYsIGRhc3MgbWFuIGRhcyBHZWZ1ZWhsCmhhdCwgZGFzIFN0YWViY2hlbiBpc3QgbnVuIGtuYXBwIHZvciBkZW0gU3RhbW1oaXJuKS4KCkVyZ2VibmlzIGRhbm4gYW0gbmFlY2hzdGVuIFRhZy4KCkFsbGVzIGFuZGVyZSAobWFsIHNjaG5lbGwgdWViZXIgZGllIFp1bmdlIHdpc2NoZW4gby5hZS4pIGJldHJhY2h0ZSBpY2gKbWl0dGxlcndlaWxlIGFscyB1bmthbGt1bGllcmJhcmVzIFJpc2lrbywgd2VpbCBtYW4gIHUuVS4gZGVyIE1NZWludW5nIGVybGllZ3QsCmRlciBuZWdhdGl2ZSBUZXN0IHdhZXJlIGVpbiBGcmVpZmFocnQtU2NoZWluLgpJY2ggYmluIGZyb2gsIGRhc3MgZGllIFVuaWtsaW5payBLb2VsbiBkYXMgcmVjaHQgcmlnb3JvcyAobmF0dWVybGljaCBhdWNoIGluCmVpZ2VuZW0gSW50ZXJlc3NlKSBoYW5kaGFidC4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTT01NRVJQQVJUWSBJTiBIQVRUSU5HRU4hIChTYXJheSwgMTkuIEp1bCAyMDIwLCAyMjoxNjozMCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTU5NTE4OTM0NCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKT2gsIGljaCBmcmV1ZSBtaWNoIHNjaG9uLi4uClVuZCBqYSwgZ2VuYXUgc28gaXN0IGVzLgpOYXR1ZXJsaWNoIHdpbGwgaWNoIG1pY2ggdGVzdGVuIGxhc3Nlbi4KClNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoSHVtbmksIDIwLiBKdWwgMjAyMCwgMTk6MDc6MTApOgp+IyEgcm49U2FyYXkgcnQ9MTU5NTE4OTc5MCByZz1wYXJ0eQp+IyEgdGlkPTE1ODEyNzg0MjcKSWNoIGRydWVja2UgZGllIERhdW1lbiwgZGFzcyBpaHIgbm9jaCBhdWZ0YXVjaHQhCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKEdsb2luc29uLCAyMi4gSnVsIDIwMjAsIDE5OjA2OjE2KToKfiMhIHJuPUh1bW5pIHJ0PTE1OTUyNjQ4MzAgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CkljaCBob2ZmZSwgamVtYW5kIGhhdCAnbmVuIFVTQiBQRC1OZXR6dGVpbCBwYXJhdC4gSWNoIGhhYiBtZWluIFJlaXNlbmV0enRlaWwKaGV1dGUgcHJvbXB0IGluIGRlciBGaXJtYSBnZWxhc3NlbiB1bmQgd2VyZGUgZGFubiBtb3JnZW4gQWJlbmQgb2huZSBTYWZ0IHNlaW4uClVuZ3V0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFNPTU1FUlBBUlRZIElOIEhBVFRJTkdFTiEgKFh1dGVsaXVzLCAyMy4gSnVsIDIwMjAsIDE0OjUzOjQ4KToKfiMhIHJuPUdsb2luc29uIHJ0PTE1OTU0Mzc1NzYgcmc9cGFydHkKfiMhIHRpZD0xNTgxMjc4NDI3CldpciBoYWJlbiBkaWUgVGFnZSBtYWwgYnpnbC4gVHNoaXJ0IGVpbiBiaXNzY2hlbiBnZWJyYWluc3Rvcm10LiBJY2ggZmFzcyBtYWwKenVzYW1tZW4sIHdhcyBtaXIgbm9jaCBlaW5mYWVsbHQsIGJldm9yIGljaCBlcyBnYW56IHZlcmdlc3NlOgpXaWxsIG1hbiBlaW4gV2VyYmUtU2hpcnQgb2RlciBlaW4gSW5zaWRlci1TaGlydD8gSWRlZSB3YXIgZGllIFZvcmRlcnNlaXRlIGVoZXIKYXVjaCBmdWVyIG5pY2h0LU11ZGRlciB2ZXJzdGFlbmRsaWNoIHp1IG1hY2hlbiB1bmQgYXVmIGRpZSBydWVja3NlaXRlIGRhbm4KVGV4dCB6dSB0dW4sIGRlciBydWhpZyBhdWNoIEluc2lkZXItZWxlbWVudGUgaGFiZW4gZGFyZi4gQmVpc3BpZWxzd2Vpc2Uga2FlbWUKZWluZSB0b3BsaXN0ZSBkZXIgYW53ZXNlbmRlIE11ZGRlciBtaXQgQW56YWhsIGRlciBiZXN1Y2h0ZW4gUGFydHlzIGluIEZyYWdlLgoKRnVlciBkaWUgVm9yZGVyc2VpdGUgZWluIEJpbGQ/IEFTQ0lJLUFydD8KCldlbm4gamVtYW5kIElkZWVuIGhhdCBvZGVyIHNpY2ggYmVydWZlbiBmdWVobHQgZWluZW4gRW50d3VyZiB6dSBiYXN0ZWxuLCBudXIKenUuIERpZXNlcyBKYWhyIGhhdCBkYXMgamV0enQgendhciBuaWNodCBnZWtsYXBwdCwgYWJlciB3aXIga29lbm5lbiBlcyBqYSBtYWwKZnVlciBuYWVjaHN0ZXMgSmFociB2b3JiZXJlaXRlbi4KClh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogU09NTUVSUEFSVFkgSU4gSEFUVElOR0VOISAoVmFuaGVsc2luZywgMjYuIEp1bCAyMDIwLCAyMjo0NDo1NSk6Cn4jISBybj1YdXRlbGl1cyBydD0xNTk1NTA4ODI4IHJnPXBhcnR5Cn4jISB0aWQ9MTU4MTI3ODQyNwpUcm90eiBkZXIgc2Nod2llcmlnZW4gVW1zdGFlbmRlIHdhciBlcyBtYWwgd2llZGVyIGVpbmUgc2Nob2VuZSBQYXJ0eXdvY2hlLiBFcwp3YXIgdG9sbCBzbyB2aWVsZSBMZXV0ZSB3aWVkZXJ6dXNlaGVuLgpJY2ggaG9mZmUsIGRhc3MgZXMgbmFlY2hzdGVzIEphaHIgd2llZGVyIGluIGFsdGVyIEZvcm0gd2VpdGVyZ2VoZW4ga2Fubi4KClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadXIgSW5mbyAoQnVnZml4LCAyNy4gSnVsIDIwMjAsIDExOjQ5OjQwKToKTW9pbiwKCkljaCBoYWIgc2VpdCBoZXV0ZSBtb3JnZW4gSHVzdGVuIHVuZCBmdWVobCBtaWNoIGF1Y2ggbGVpY2h0IGZpZWJyaWcuIEhldXRlCk5hY2htaXR0YWcgbGFzc2UgaWNoIG1pY2ggYXVmIENvcm9uYSB0ZXN0ZW4uCgpNdXNzIGpldHp0IG5hdHVlcmxpY2ggbmljaHRzIGhlaXNzZW4sIGFiZXIgaWNoIHdvbGx0ZSBldWNoIHZvcnNpY2h0c2hhbGJlcgp0cm90emRlbSBzY2hvbm1hbCBpbmZvcm1pZXJlbi4KCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1ciBJbmZvIChCdWdmaXgsIDI5LiBKdWwgMjAyMCwgMTA6NTk6NTEpOgp+IyEgcm49QnVnZml4IHJ0PTE1OTU4NDMzODAgcmc9cGFydHkKfiMhIHRpZD0xNTk1ODQzMzgwCkVudHdhcm51bmcsIFRlc3QgaXN0IG5lZ2F0aXYuCgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWnVyIEluZm8gKFZhbmhlbHNpbmcsIDI5LiBKdWwgMjAyMCwgMTE6MDM6NTkpOgp+IyEgcm49QnVnZml4IHJ0PTE1OTYwMTMxOTEgcmc9cGFydHkKfiMhIHRpZD0xNTk1ODQzMzgwCkRhbmtlIGZ1ZXIgZGllIHp1ZWdpZ2UgQW50d29ydCB1bmQgZGllIEZ1ZXJzb3JnZS4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBadXIgSW5mbyAoRGVhZGR5LCAyOS4gSnVsIDIwMjAsIDEyOjQwOjA1KToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTU5NjAxMzQzOSByZz1wYXJ0eQp+IyEgdGlkPTE1OTU4NDMzODAKQWxzIGFsdGVyIEtvbW11bmlzdCB1bmQgU296aWFsc3RhYXR2ZXJmZWNodGVyIGJlYW50cmFnZSBpY2ggVmVydGVpbHVuZyBkZXIKVGVzdGdlYnVlaHJlbiBvZGVyIHd1ZXJkIGRhIGRhbm4genVtaW5kZXN0IGFscyBOdXR6bmllc3NlciBkYSBpbiBkZXIgZ3Jvc3NlbgpUYWJlbGxlIGRlciBBYnJlY2hudW5nIG5lbiBuLXRlbCB1ZWJlcm5laG1lbiwgd29iZWkgbiBkaWUgQW56YWhsIGRlcmVyIGlzdCwKZGllIGRpZSBUZXN0Z2VidWVocmVuIG1pdHRyYWdlbiB3b2xsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBadXIgSW5mbyAoSHVtbmksIDI5LiBKdWwgMjAyMCwgMTg6MjM6MDMpOgp+IyEgcm49RGVhZGR5IHJ0PTE1OTYwMTkyMDUgcmc9cGFydHkKfiMhIHRpZD0xNTk1ODQzMzgwCkh1bW5pIGlzdCBkYWJlaS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBadXIgSW5mbyAoQW1hcnlsbGlzLCAyOS4gSnVsIDIwMjAsIDIwOjQ4OjI3KToKfiMhIHJuPUh1bW5pIHJ0PTE1OTYwMzk3ODMgcmc9cGFydHkKfiMhIHRpZD0xNTk1ODQzMzgwCkJpdHRlIGFiZXIgZGllamVuaWdlbiBzZWxic3QgemFobGVuIGxhc3NlbiwgZGllIHdpc3NlbnRsaWNoIFVybGF1YiBpbgpLcmlzZW5nZWJpZXRlbiBtYWNoZW4gdW5kIGRhbm4gdm9tIFN0YWF0IGVyd2FydGVuLCBkYXNzIHNpZSBpbSBOb3RmYWxsCmtvc3RlbmxvcyBoZWltZ2Vob2x0IG9kZXIgYWJlciB6dW1pbmRlc3QgdW1zb25zdCBnZXRlc3RldCB3ZXJkZW4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBadXIgSW5mbyAoWmFwaG9iLCAyOS4gSnVsIDIwMjAsIDIwOjUwOjUyKToKfiMhIHJuPUh1bW5pIHJ0PTE1OTYwMzk3ODMgcmc9cGFydHkKfiMhIHRpZD0xNTk1ODQzMzgwCkljaCB1ZWJlcm5laG1lIGF1Y2ggZWluZW4gQW50ZWlsLiBHdXRlIElkZWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBadXIgSW5mbyAoWm9vaywgMzAuIEp1bCAyMDIwLCAxMToxNTo0OSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTU5NjA0ODUwNyByZz1wYXJ0eQp+IyEgdGlkPTE1OTU4NDMzODAKSXN0IHp3YXIgb2ZmdG9waWMsIGFiZXIga29zdGVubG9zIHdpcmQgbWFuIHVlYmxpY2hlcndlaXNlCm5pY2h0IG5hY2ggSGF1c2UgZ2Vob2x0LiBNYW4gZGFyZiBkYSBzY2hvbiBldHdhcyBmdWVyCmJlemFobGVuLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWnVyIEluZm8gKENoYWdhbGwsIDMwLiBKdWwgMjAyMCwgMTE6Mjc6MDQpOgp+IyEgcm49Wm9vayBydD0xNTk2MTAwNTQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTU5NTg0MzM4MApFaW4gS29sbGVnZSB2b24gbWlyIHd1cmRlIHp1IEJlZ2lubiBkZXIgUGFuZGVtaWUgdm9uIGRlbiBrYW5hcmlzY2hlbiBJbnNlbG4KenVydWVja2dlaG9sdC4gV2FyIGVpbiB6aWVtbGljaCB0ZXVyZXIgU3Bhc3MuCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWnVyIEluZm8gKEFtYXJ5bGxpcywgMzAuIEp1bCAyMDIwLCAyMDo0MDoxMSk6Cn4jISBybj1DaGFnYWxsIHJ0PTE1OTYxMDEyMjQgcmc9cGFydHkKfiMhIHRpZD0xNTk1ODQzMzgwClNjaGVpbnQgYWJlciB6dW1pbmRlc3QgZWluIHBhYXIgImtvc3Rlbmxvc2UiIEZhZWxsZSBnZWdlYmVuIHp1IGhhYmVuLCBzb25zdApoYWV0dGUgZGFzIE1hYXNtYWVubmNoZW4gZGFzIG5pY2h0IHNvIGJldG9udCwgZGFzcyBkYXMgYmVpIGRlciAiendlaXRlbiBXZWxsZSIKZGVmaW5pdGl2IG5pY2h0IG1laHIgZGVyIEZhbGwgc2VpbiB3aXJkLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogWnVyIEluZm8gKENha2V5LCAzMS4gSnVsIDIwMjAsIDIzOjI2OjA1KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTk2MTM0NDExIHJnPXBhcnR5Cn4jISB0aWQ9MTU5NTg0MzM4MApIZXIgbWl0IG1laW5lbSBBbnRlaWwhCgpDYWtleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhdHRpbmdlbiAyMDIxIChab29rLCAgMi4gTWFyIDIwMjEsIDE3OjUwOjA2KToKfiMhIHJuPUh1bW5pIHJ0PTE2MTM3NTg0MzMgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE2MTM3NTg0MzMKRGFzIHdhZXJlIG1lZ2EsIHdlbm4gZGFzIGtsYXBwZW4ga29lbm50ZTsgaWNoIHRyYWdlIG1pciBkZW4gVGVybWluCmdsZWljaCBlaW4uCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhhdHRpbmdlbiAyMDIxIChUYWtlciwgIDkuIEFwciAyMDIxLCAxNDowODozMyk6Cn4jISBybj1ab29rIHJ0PTE2MTQ3MDM4MDYgcmc9cGFydHkKfiMhIHRpZD0xNjEzNzU4NDMzCkVzIGtvZW5udGUgc2VpbiwgZGFzcyBpY2ggZWluZW4gYmVmcmV1bmRldGVuIENvZGVyIG1pdGJyaW5nZS4gR2lidCBlcyBQcm9ibGVtZQptaXQgRW5nbGlzY2g/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGF0dGluZ2VuIDIwMjEgKE5vbmRydW0sICA5LiBBcHIgMjAyMSwgMTQ6MTc6NTYpOgp+IyEgcm49VGFrZXIgcnQ9MTYxNzk3MDExMyByZz1wYXJ0eQp+IyEgdGlkPTE2MTM3NTg0MzMKU29mZXJuIGtlaW4gc2F1YmVyZXMgT3hmb3JkLUVuZ2xpc2NoIGdld2FydGV0IHdpcmQsIGhhYiBpY2ggZGEga2VpbmUKRWlud2FlbmRlLiA6UAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGF0dGluZ2VuIDIwMjEgKEdsb2luc29uLCAxMS4gQXByIDIwMjEsIDEzOjMxOjMwKToKfiMhIHJuPU5vbmRydW0gcnQ9MTYxNzk3MDY3NiByZz1wYXJ0eQp+IyEgdGlkPTE2MTM3NTg0MzMKSWNoIG51c2NobGUgaW4gamVkZXIgU3ByYWNoZSA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtU2hpcnRzIChCdWdmaXgsICA0LiBNYWkgMjAyMSwgMTA6NDA6MTgpOgpNb2luLAoKV2lyIGhhdHRlbiBsZXR6dGVzIEphaHIgbWFsIHVlYmVyIE1HLVQtU2hpcnRzIGRpc2t1dGllcnQgdW5kIGthbWVuIHp1IGtlaW5lbQplbmRndWVsdGlnZW4gRXJnZWJuaXMuIEVzIHNpbmQgamV0enQgendhciBzY2hvbiB3aWVkZXIgd2VuaWdlciBhbHMgZHJlaQpNb25hdGUgWmVpdCwgYWJlciB2aWVsbGVpY2h0IGtyaWVnZW4gd2lyIGVzIGphIHRyb3R6ZGVtIG1hbCBoaW4gLi4uCgpIaWVyIGFsc28gZGllIFp1c2FtbWVuZmFzc3VuZyBkZXIgVm9yc2NobGFlZ2Ugdm9tIGxldHp0ZW4gSmFocjoKLSBWb3JkZXJzZWl0ZTogbGllYmVyIGVpbiBzcGllbC0gYWxzIGVpbiBQYXJ0eWJlem9nZW5lcyBNb3RpdgogIChCaWxkIC8gQVNDSUktQXJ0KQotIFJ1ZWNrc2VpdGU6IFRleHQgZ2VybmUgbWl0IEluc2lkZXItRWxlbWVudGVuLCB6LkIuIFRvcGxpc3RlIGRlciBhbndlc2VuZGVuCiAgTXVkZGVyIG1pdCBQYXJ0eWJlc3VjaGVuCi0gbGllYmVyIGVpbiBwYWFyIE1hcmsgbWVociBmdWVyIGd1dGUgUXVhbGl0YWV0IChoYWx0YmFyIHVuZCBuaWNodCBtZWhyZXJlCiAgTWlsbGltZXRlciBkaWNrZXMgUGxhc3Rpa3NjaGlsZCkKLSBkdW5rbGUgR3J1bmRmYXJiZQoKU28sIHZpZWwga29ua3JldGVzIHdhciBkYSBqYSBub2NoIG5pY2h0IGRhYmVpLiBEYW5uIGxlZ3QgbWFsIGxvcywgd2FzIHdvbGxlbgp3aXIgZHJhdWYgaGFiZW4/CgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULVNoaXJ0cyAoWmFwaG9iLCAgNC4gTWFpIDIwMjEsIDE5OjQwOjM4KToKfiMhIHJuPUJ1Z2ZpeCBydD0xNjIwMTE3NjE4IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApJY2ggd2VyZGUgbWFsIGVpbmUgQVNDSUktS2FydGUgZGVzIE1vcmdlbkdyYXVlbiBpbnMgUmVubmVuOgpodHRwOi8vbWcubXVkLmRlL2hpbGZlL2thcnRlbi5zaHRtbAoKVmllbGxlaWNodCBrb2VubnRlIGF1Y2ggZGllIGRldGFpbGxpZXJ0ZXJlIEthcnRlIHZvbiBTZWViZWUgYXVmcyBULVNoaXJ0LCBkaWUKYXVzIGlyZ2VuZGVpbmVtIEdydW5kIGRlcnplaXQgbmljaHQgYXVmIGRlciBXZWJzZWl0ZSB2ZXJmdWVnYmFyIGlzdC4uPwoKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULVNoaXJ0cyAoQ3JvZnQsICA0LiBNYWkgMjAyMSwgMjM6NTU6MjYpOgp+IyEgcm49WmFwaG9iIHJ0PTE2MjAxNTAwMzggcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4CkRpZSB3YXIgbm9jaCBkaWUgYXVmIGRlciBNRy1TZWl0ZS4gWnUgdmllbGUgRGV0YWlscy4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBULVNoaXJ0cyAoWmFwaG9iLCAgNS4gTWFpIDIwMjEsIDA4OjA4OjQyKToKfiMhIHJuPUNyb2Z0IHJ0PTE2MjAxNjUzMjYgcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4CkRhIGJpbiBpY2ggbmljaHQgc28gc2ljaGVyLiBJY2ggbWVpbmUsIGRpZSB3YXIgZWluZSBXZWlsZSBvbmxpbmUsIGFiZXIgZGFubgp3b2xsdGUgUmFuZ29ybiBzaWUgZXJzdG1hbCB3aWVkZXIgZW50ZmVybmVuLCB3ZWlsIHp1IHZpZWxlIE5ldWxpbmdlIHNpY2ggZnVlcgpzbyB2aWVsZSBEZXRhaWxzIGJlZGFua3QgaGF0dGVuLiBEYXMgaXN0IDEwKyBKYWhyZSBoZXIsIGFsc28gdmllbGxlaWNodAppbnp3aXNjaGVuIGVpbmUgYW5kZXJlIE1laW51bmcuIEplZGVuZmFsbHMgZ2FiIGVzIGFiZXIgZGFua2Vuc3dlcnRlcndlaXNlIGF1Y2gKZWluZSBFcmxhdWJuaXMsIGRpZSBLYXJ0ZSBmdWVyIFZlcmVpbnN3ZXJidW5nIHp1IGJlbnV0emVuLiBEYWhlciBpc3Qgc2llIHpCCmF1ZiBCYW5uZXJuIGltIEhpbnRlcmdydW5kIHp1IHNlaGVuLiBXZW5uIGplbWFuZCBha3R1ZWxsIEtvbnRha3QgaGF0IG9kZXIKYXVmbmVobWVuIGtvZW5udGUsIHdhZXJlIGRhcyBuYXR1ZXJsaWNoIHNlaHIgaGlsZnJlaWNoIQoKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVC1TaGlydHMgKEJ1Z2ZpeCwgIDUuIE1haSAyMDIxLCAwODoxOToyMCk6Cn4jISBybj1aYXBob2IgcnQ9MTYyMDE5NDkyMiByZz1wYXJ0eQp+IyEgdGlkPTE2MjAxMTc2MTgKS29udGFrdCB3YWVyZSBzaWNoZXIgYXVmIGRlbSBlaW5lbiBvZGVyIGFuZGVyZW4gV2VnIGhlcnN0ZWxsYmFyLCB3ZW5uIHdpcgpiZXNjaGxpZXNzZW4gZGllIGFscyBNb3RpdiBudXR6ZW4genUgd29sbGVuLgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBULVNoaXJ0cyAoSHVtbmksICA4LiBNYWkgMjAyMSwgMjI6NDY6NDUpOgp+IyEgcm49QnVnZml4IHJ0PTE2MjAxOTU1NjAgcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4CkljaCB3aWxsIGVpbiBULVNoaXJ0IGhhYmVuIHVuZCBpY2ggZmluZGUgZGllIElkZWVuIGd1dC4gQVNDSUkgb2RlciBkaWUgS2FydGUsCmRpZSBiZWkgdW5zIGltIFdvaG56aW1tZXIgaGFlbmd0LCBpc3QgbWlyIGVoZXIgZWdhbCAuLi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBULVNoaXJ0cyAoVmFuaGVsc2luZywgIDkuIE1haSAyMDIxLCAxNTo0MjowMyk6Cn4jISBybj1IdW1uaSBydD0xNjIwNTA2ODA1IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApJY2ggKHVuZCBZdWxpKSBzaW5kIGJlaWRlIGFuIGVpbmVtIFQtU2hpcnQgaW50ZXJlc3NpZXJ0LiBNb3RpdiBpc3QgdW5zIChpbQpQcmluemlwKSBlZ2FsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVC1TaGlydHMgKFpvb2ssIDEwLiBNYWkgMjAyMSwgMTA6MTM6NTkpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xNjIwNTY3NzIzIHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApOZWhtZSBhdWNoIFQtU2hpcnQsIE1vdGl2IGVnYWwuCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBULVNoaXJ0cyAoWHV0ZWxpdXMsIDExLiBNYWkgMjAyMSwgMTk6MTg6NDEpOgp+IyEgcm49Wm9vayBydD0xNjIwNjM0NDM5IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApIbSBpcmdlbmR3ZXIsIGtlaW5lIEFobnVuZyBtZWhyIHdlciwgbWVpbnRlLCBkaWUgS2FydGUgdm9uIFJhbmdvcm4ga29lbm50ZSBpbgpnZWVpZ25ldGVyIFZlcmtsZWluZXJ1bmcgZnVlciBULVNoaXJ0cyBuaWNodCBtZWhyIHNvIGd1dCBhdXNzZWhlbiwgZGFzIGthbm4KaWNoIG5pY2h0IGJldXJ0ZWlsZW4sIGFiZXIgZ2dmLiBrcmllZ3QgbWFuIGRhbm4gd2lya2xpY2ggbmljaHRzIG1laHIgdm9uCkRldGFpbHMgbWl0LCB3YXMgbWVpbnQgaWhyPwoKQnpnbC4gUnVlY2tzZWl0ZSwgd29sbGVuIHdpciBkYSBiZWkgZGVyIEFud2VzZW5oZWl0cy1Ub3BsaXN0ZSBhdWYgUGFydHlzCmJsZWliZW4/IFdlbm4gamEsIHduZSBuZWhtZW4gd2lyIG1pdCBkcmF1ZiwgZGllIEJlc3RlbGxlcj8KClVuZCB1bSBldHdhcyBrb25rcmV0ZXIgenUgd2VyZGVuLCBrZW5udCBpcmdlbmR3ZXIgZWluZW4gU2hvcCBtaXQKZW50c3ByZWNoZW5kZXIgcXVhbGl0YWV0PyBJY2ggaGFiIGlpcmMgbm9jaCBrZWluZSBTaGlydHMgYmVkcnVja2VuIGxhc3NlbiAuLi4KClh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBULVNoaXJ0cyAoUmhvdmFuLCAxMi4gTWFpIDIwMjEsIDA4OjI0OjA2KToKfiMhIHJuPVh1dGVsaXVzIHJ0PTE2MjA3NTM1MjEgcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4Ckd1ZGUsClRyYXh4IGtvZW5udGUgdW5zIGVpbmVuIGVpbmZhcmJpZ2VuIFNpZWJkcnVjayBiZWdsdWVja2VuLiBTaWViZHJ1Y2sgaXN0IGhhbHQKc2Nob24gZ2VpbC4gRGEgdm9uIHVucyBmdWVyIHVucywgYXVjaCByZWNodCBwcmVpc3dlcnQuIDopCgpSaG92YW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBULVNoaXJ0cyAoWmFwaG9iLCAxMi4gTWFpIDIwMjEsIDA4OjMxOjU3KToKfiMhIHJuPVJob3ZhbiBydD0xNjIwODAwNjQ2IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApXaWUga29lbm5lbiB3aXIgZGVubiB0ZXN0ZW4sIG9iIGRpZSBLYXJ0ZSBpbiBkZXIgR3JvZXNlIHRhdWd0PwoKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFQtU2hpcnRzIChOb25kcnVtLCAxMi4gTWFpIDIwMjEsIDA5OjEwOjI4KToKfiMhIHJuPVphcGhvYiBydD0xNjIwODAxMTE3IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApCZWkgUmFuZ29ybnMgS2FydGUgc2luZCBkaWUgV2VnZSB3aXJrbGljaCBtaXQgZmVpbmVuIExpbmllbiBnZXplaWNobmV0LCBkYXMKa29lbm50ZSBpY2ggbWlyIGFscyBQcm9ibGVtIHZvcnN0ZWxsZW4uIERhIHdhZXJlIGVzIGVpbmUgSWRlZSB2aWVsZWljaHQgZ2FyCm5pY2h0IGRpZSBnYW56ZSBLYXJ0ZSB6dSBuZWhtZW4sIHNvbmRlcm4gbnVyIGVpbmVuIEF1c3NjaG5pdHQgdW5kIGRhbm4KdmllbGxlaWNodCBpbiBlaW5lciBiZXNzZXJlbiBRdWFsaXRhZXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVC1TaGlydHMgKEJ1Z2ZpeCwgMTIuIE1haSAyMDIxLCAwOToxNDoxMCk6Cn4jISBybj1Ob25kcnVtIHJ0PTE2MjA4MDM0Mjggcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4CklzdCBkYW5uIGhhbHQgZGllIEZyYWdlLCBvYiBtYW4gZWluZW4gQXVzc2Nobml0dCB2b24gZWluZXIgZGV0YWlsaWVydGVuIEthcnRlLApvZGVyIGxpZWJlciBlaW5lIGtvbXBsZXR0ZSB3ZW5pZ2VyIGRldGFpbGllcnRlIEthcnRlIG1vZWNodGUuIFVuZCBhbHMgc29sY2hlCmVya2VubmJhcmUgQVNDSUktQXJ0IGhhZXR0ZSBoYWx0IHNjaG9uIGF1Y2ggd2FzLCBhdWNoIGRhIGphIHNjaG9uIGF1Y2ggZWluCmVyd3VlbnNjaHRlciBOZWJlbmVmZmVrdCBpc3QgZGFtaXQgZ2dmLiBMZXV0ZSBhdWYgZGFzIE1HIGF1Zm1lcmtzYW0genUgbWFjaGVuLgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogVC1TaGlydHMgKE5vbmRydW0sIDEyLiBNYWkgMjAyMSwgMDk6MTk6MTYpOgp+IyEgcm49QnVnZml4IHJ0PTE2MjA4MDM2NTAgcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4Ckd1dGVzIEFyZ3VtZW50LiBJY2ggZmFlbmRlIGVzIHp1bWluZGVzdCBTY2hhZGUsIHdlbm4gZHVyY2ggZGVuIERydWNrIGRpZQpEZXRhaWxzIHVudGVyIGdlaGVuIG9kZXIgbWFuIGRpZSBBYnN0YW5kc3JlZ2VsIHZlcmxldHplbiBtdXNzIHVtIGRpZXNlIHp1CmVya2VubmVuLiAgRGFoZXIgZmluZGUgaWNoIGVpbmUgd2VuaWdlciBkZXRhaWxpZXJ0ZSBBU0NJSS1LYXJ0ZSB0YXRzYWVjaGxpY2gKc2VociBhdHRyYWt0aXYsIGRhIGRpZXNlIGFscyBBU0NJSS1BcnQgYXVjaCBsZWlkZXIgenUgZXJrZW5uZW4gaXN0IHVuZCBhdWNoCmVoZXIgZWluIGV4ZSBjYXRjaGVyIGlzdC4gRGEgd3VlcmRlIGljaCBzb2dhciBlaW4gd2VuaWcgbWVociB6dSBkZXIKQVNDSUktS2FydGUgdGVuZGllcmVuIGJlaSBkZXIgYXVjaCBGZXJud2VzdCBhYmdlYmlsZGV0IGlzdC4gU2llIGhhdCB6d2FyCndlbmlnZXIgRGV0YWlscywgYWJlciB3aXJrdCBmdWVyIG1pY2ggZGFkdXJjaCB1ZWJlcnNpY2h0bGljaGVyLCB2b3IgYWxsZW0gZnVlcgplaW4gVC1TaGlydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBULVNoaXJ0cyAoQnVnZml4LCAxNC4gTWFpIDIwMjEsIDE2OjI5OjI0KToKfiMhIHJuPU5vbmRydW0gcnQ9MTYyMDgwMzk1NiByZz1wYXJ0eQp+IyEgdGlkPTE2MjAxMTc2MTgKU28sIG5vY2ggYW4gR2VkYW5rZW4genVtIFQtU2hpcnQ6IERlciBOYW1lIHNvbGx0ZSBpcmdlbmR3aWUgbWl0IGRyYXVmLCBkYQprb2VubnRlIG1hbiBkZW4gU2NocmlmdHp1ZyBtaXQgZGVtIERyYWNoZW4gbmVobWVuPwoKVW5kIGZ1ZXIgZGllIFJ1ZWNrc2VpdGUgd2FyIGphIGVpbmUgVG9wbGlzdGUgYW5nZWRhY2h0LCB3YXMgc29sbCBkYSBtaXQgRHJhdWY/CklkZWUgd2FlcmUgU3BhbHRlbiBmdWVyIE5hbWUsIFJhc3NlLCBHaWxkZSB1bmQgQW56YWhsIGJlc3VjaHRlciBQYXJ0eXMuIFdhcwptZWludCBpaHI/CgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBULVNoaXJ0cyAoQ3JvZnQsIDE1LiBNYWkgMjAyMSwgMDA6MDA6NDIpOgp+IyEgcm49QnVnZml4IHJ0PTE2MjEwMDI1NjQgcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4CldhcyBtaWNoIGJldHJpZmZ0OiBpY2ggYnJhdWNoIGRhcyBEZXNpZ24gYmV2b3IgaWNoIG1pY2ggZW50c2NoZWlkZS4KSGF1dCByZWluLCBtYWNodCB3YXMgc2Nob2VuZXMsIHZpZWxsZWljaHQgc3ByaW5nIGljaCBhdWYgZGVuIFp1ZyBhdWYuClZpZWxlbiBEYW5rIQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBULVNoaXJ0cyAoWmFwaG9iLCAxNS4gTWFpIDIwMjEsIDIwOjMxOjQyKToKfiMhIHJuPUJ1Z2ZpeCBydD0xNjIxMDAyNTY0IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApCdWdmaXggc2NocmllYjoKPiBEZXIgTmFtZSBzb2xsdGUgaXJnZW5kd2llIG1pdCBkcmF1ZiAuLiBTY2hyaWZ0enVnIG1pdCBkZW0gRHJhY2hlbj8KCkFsc28gZXMgZ2VodCB3b2hsIHVtICJNb3JnZW5ncmF1ZW4iIHVuZCBuaWNodCBkZW4gTmFtZW4gZGVzIFRyYWVnZXJzPwpEZW4gRHJhY2hlbiwgZGVyIG9iZW4gYXVmIGRlciBNRyBXZWJzZWl0ZSBwcmFuZ3QsIGZpbmRlIGljaCBhdWNoIGd1dC4KCldlaXNzIG51ciBub2NoIG5pY2h0LCBvYiBlciBiZXNzZXIgYXVmIEJydXN0IG9kZXIgUnVlY2tlbiBwYXNzdC4KQmVzc2VyIHVlYmVyIGRpZSBLYXJ0ZSBvZGVyIGRpZSBMaXN0ZT8KCihGYWxscyB3aXIgYmVpIGRlciBLYXJ0ZSBhbHMgTW90aXYgYmxlaWJlbiB3b2xsZW4pCgpXaWUgaW4gUnVicmlrICJkaXNrdXNzaW9uIiBlcndhZWhudCwgaGFiZSBpY2ggZGllIEFTQ0lJIEthcnRlbiB6dXNhbW1lbmdlZmFzc3QKdW5kIGtvbG9yaWVydCwgaGllciBkZXIgbGV0enRlIFN0YW5kOiBodHRwOi8vbWcubXVkLmRlL2hpbGZlL2thcnRlLXphcGhvYi5wbmcKCkZ1ZXIgZGllIFRvcGxpc3RlIGhhYmUgaWNoIG1hbCBOYW1lbiBkZXIgbGV0enRlbiBKYWhyZSBoZXJhdXNnZWtyYW10LiAKSWNoIGhhYiBhYmVyIG5vY2gga2VpbmUgSWRlZSwgd2llIG1hbiBBbnphaGwgZGVyIFBhcnRpZXMgcmVjaGVyY2hpZXJ0LgoKQW5zb25zdGVuIGtvZW5udGUgaWNoIG1pciBiZWltIE5hbWVuIGF1Y2ggUHJlc2F5ICYgVGl0ZWwgdm9yc3RlbGxlbi4KRGllIFNjaHJpZnQgbXVlc3N0ZSBkYW5uIHZlcm11dGxpY2gga2xlaW5lciB3ZXJkZW4sIHVtIGRhcyB1bnRlcnp1YnJpbmdlbi4KCkFuZGVyZXJzZWl0cyBzaW5kIGVzIGJpc2xhbmcgc293aWVzbyBzY2hvbiBrbmFwcCA0MCBOYW1lbiBhbHNvIFplaWxlbi4KSWNoIGtvcGllcmUgZGllIGdlc2FtdGUgTGlzdGUgZ2xlaWNoIG1hbCBub2NoIGhpZXIgZHJ1bnRlciB6dW0gVmVyZ2xlaWNoLgoKRGllc2VzIEphaHIgc3RlaGVuIHNjaG9uIFBhcnR5YnJldHRlciwgYWJlciBub2NoIHdlbmlnZSBMZXV0ZSBhbmdlbWVsZGV0LgpWZXJtdXRsaWNoIGtvbW10IGRhbm4gbm9jaCBkaWUgZWluZSBvZGVyIGFuZGVyZSBQZXJzb24gYXVmIGRpZSBMaXN0ZSBkYXp1LgoKTWFuIGtvZW5udGUgZGllamVuaWdlbiB2b24gZGVyIExpc3RlIHN0cmVpY2hlbiwgZGllIG51ciAxeCBkYSB3YXJlbi4KQWxzbyBudXIsIGZhbGxzIGVzIHNvbnN0IHZpZWwgenUgdmllbGUgTmFtZW4gdW5kIFplaWxlbiB3ZXJkZW4uCkFuZGVyZXJzZWl0cyBmaW5kZSBpY2ggbWVociBUZXh0IGF1ZiBkZW0gUnVlY2tlbiBnYXIgbmljaHQgc28gc2NobGltbS4KCkRpdmVyc2UgUGVyc29uZW4gc2luZCB1bnRlciBtZWhyZXJlbiBTcGllbGVybiB1bmQgTWFnaWVybiBiZWthbm50LgpJc3QgZnJhZ2xpY2gsIHdlbGNoZSBSYXNzZSB1bmQgS2xhc3NlIG1hbiBkYW5uIHdhZWhsZW4gbW9lZ2UuCgpJY2ggc2NoYWV0emUsIHdpciBrb21tZW4gbmljaHQgdW1oZXIsIGplZGVuIGVpbnplbG4genUgYmVmcmFnZW4uCldlbGNoZXIgQ2hhcmFrdGVyIHNvbGwgZ2VsaXN0ZXQgd2VyZGVuPyBEYW5uIGF1Y2ggZ2xlaWNoIFRpdGVsICYgY28uCgpGZWhsdCBqZW1hbmQsIGRlciBkYXMgaW4gZGllIEhhbmQgbmltbXQsIGtvb3JkaW5pZXJ0IHVuZCB6dW0gRW5kZSBmdWVocnQuCgpXZW5uIGRpZSBBbnphaGwgZGVyIFBhcnRpZXMgdW5rbGFyIGJsZWlidCwgd2llIHNvcnRpZXJlbiB3aXIgZGllIExpc3RlPwoKWnVsZXR6dCBub2NoIGRpZSBiaXNsYW5nIGdlZnVuZGVuZW4gQ2hhcmFrdGVyZSAoZ2dmLiBhbmRlcnMgYmVuYW5udCkKCkdydWVzc2UsClphcCoKCgpBaGFiCkFrYSAKQWxsaWEKQXJzb24KQ2FrZXkKQ3JvZnQKQ3V0dGVyCkRhcmJvc2NoCkRlYWRkeSAKRHVuc3QKRWlza3Jpc3RhbGwgCkdsb2luc29uIApHdWxhaHIKSGFzZW5mdXNzCkh1bW5pCktyc3RmcnMKTWFoYXJldApNYXN1bApNYXVuemVybGUgCk1lc2lyaWkgCk1pcmlsIApNdW5kcm9uCk5lZmlzCk5vdHN0cm9tClBhcmRhdXoKUmFuClJob3ZhbiAKU2FyYXkgClRhc3NyYW0KVmFuaGVsc2luZwpWYW5pciAKWHV0ZWxpdXMgCll1bGkgClphcGhvYiAKWmVzc3RyYQpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogVC1TaGlydHMgKEJ1Z2ZpeCwgMTYuIE1haSAyMDIxLCAwOTo0ODoyNyk6Cn4jISBybj1aYXBob2IgcnQ9MTYyMTEwMzUwMiByZz1wYXJ0eQp+IyEgdGlkPTE2MjAxMTc2MTgKSmEsIGljaCBtZWludGUgZGVuIE5hbWVuIGRlcyBNb3JnZW5HcmF1ZW5zLgoKRnVlciBkaWUgVG9wbGlzdGUgZGVua2UgaWNoLCBkYXNzIFByZXNheSB1bmQgdGl0ZWwgenUgbGFuZyBzaW5kLCBkYW5uIG11ZXNzdGVuCndpciBlcyB2ZXJtdXRsaWNoIGluIGVpbmVyIG5pY2h0IGxlc2JhcmVuIEdyb2Vzc2UgbWFjaGVuLgoKQnpnbC4gVG9wbGlzdGUgd3VlcmRlIGljaCBudXIgZGllIFBlcnNvbmVuIG5laG1lbiwgZGllIGpldHp0IGFrdHVlbGwgZWluIFNoaXJ0CndvbGxlbi4gQW5zb25zdGVuIG11ZXNzdGUgbWFuIGVyc3RtYWwgYmVpIGFsbGVuIG5hY2hmcmFnZW4sIG9iIHNpZSBkcmF1ZgpzdGVoZW4gd29sbGVuIHVuZCBlcyB3dWVyZGVuIGF1Y2ggenUgdmllbGUsIGFsbGVpbmUgYmVpIDI1WSB3YXJlbiBqYSBmYXN0IDEwMApMZXV0ZSBkYS4KCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFQtU2hpcnRzIChaYXBob2IsIDE4LiBNYWkgMjAyMSwgMjM6NTc6NTUpOgp+IyEgcm49QnVnZml4IHJ0PTE2MjExNTEzMDcgcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4CkJpcyBkYXRvIGhhdCBudXIga2F1bSB3ZXIgZ2VzYWd0LCBkYXNzIHNpZSBlaW4gU2hpcnQgd29sbGVuLiBEaWUgUGFydHlicmV0dGVyCnN0ZWhlbiBzZWl0IEt1cnplbSwgYWJlciBmcmFnZW4gYXVjaCBuaWNodCBkYW5hY2guIERvcnQgc2luZCBhYmVyIGF1Y2ggbnVyCmVpbmUgSGFuZHZvbGwgTGV1dGUgYW5nZW1lbGRldC4KCkRpZSBGcmFnZSBpc3QsIHdpZSBsYW5nZSBtYW4gd2FydGVuIHdpbGwsIGJldm9yIG1hbiBkYXMgRGVzaWduIGZpbmFsaXNpZXJ0LApkZW5uIGRhbmFjaCBtdXNzIGVzIGphIG5vY2ggYXVzZ2VmdWVocnQgd2VyZGVuOiBBbHNvIGRpZSBMZXV0ZSBiZWZyYWdlbiwKbWluZGVzdGVucyBtYWwgd2VsY2hlbiBDaGFyYWt0ZXIgc2llIGRvcnQgbmVubmVuIHdvbGxlbi4gQW5zY2hsaWVzc2VuZCBkaWUKZ2FuemUgU2hpcnQgTG9naXN0aWs6IEdyb2Vzc2VuLCBGYXJiZW4sIFByZWlzZSwgdXN3LiBXbyB3aWxsIG1hbiBiZXN0ZWxsZW4/CgpXZW5uIGljaCBhdWYgZGVuIEthbGVuZGVyIHNjaGF1ZSwgc2luZCB3aXIgaW4gOSBXb2NoZW4gYXVmIGRlciBQYXJ0eSEKQWxzbywgZmFsbHMgZGFzIG5pY2h0IG5vY2ggUGFuZGVtaWUtYmVkaW5ndCBhYmdlc2FndCB3ZXJkZW4gc29sbHRlLgoKWnVsZXR6dCBub2NobWFsIGRpZSBOYW1lbiBkZXIgbGV0enRlbiBKYWhyZSwgaW5rbC4gS29tbWVudGFyLCB3ZXIgc2ljaCBzY2hvbgp6dW0gU2hpcnQgYmVrYW5udCBoYXQsIG9kZXIgbWluZGVzdGVucyBtYWwgYW0gUGFydHlicmV0dCBvZGVyIGhpZXIgaW0gVGhyZWFkCmFrdHVlbGwgdGVpbGdlbm9tbWVuIGhhYmVuOiA2IHdvbGxlbiBlaW4gU2hpcnQsIDYgd2VpdGVyZSB2aWVsbGVpY2h0LgoKQWhhYgpBa2EgCkFsbGlhCkFyc29uCkNha2V5CkNyb2Z0IC0gU2hpcnQgdmllbGxlaWNodApDdXR0ZXIKRGFyYm9zY2gKRGVhZGR5IApEdW5zdApFaXNrcmlzdGFsbCAKR2xvaW5zb24gCkd1bGFocgpIYXNlbmZ1c3MKSHVtbmkgLSBTaGlydApLcnN0ZnJzCkxhbmRyYSAtIFBhcnR5YnJldHQKTWFoYXJldApNYXN1bApNYXVuemVybGUgCk1lc2lyaWkgCk1pcmlsIApOZWZpcwpOb25kcnVtIC0gVGhyZWFkCk5vdHN0cm9tClBhcmRhdXoKUmFuIC0gUGFydHlicmV0dApSaG92YW4gLSBUaHJlYWQgClNhcmF5IApUYXNzcmFtClZhbmhlbHNpbmcgLSBTaGlydApWYW5pciAKWHV0ZWxpdXMgLSBUaHJlYWQKWXVsaSAtIFNoaXJ0ClphcGhvYiAtIFNoaXJ0Clplc3N0cmEKWm9vayAtIFNoaXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogVC1TaGlydHMgKFphcGhvYiwgMTkuIE1haSAyMDIxLCAyMjoyNTo0Mik6Cn4jISBybj1aYXBob2IgcnQ9MTYyMTM3NTA3NSByZz1wYXJ0eQp+IyEgdGlkPTE2MjAxMTc2MTgKRGEga2VpbmUgd2VpdGVyZW4gVm9yc2NobGFlZ2Uga29tbWVuLCBoYWJlIGljaCBhbiBkZXIgQVNDSUkgS2FydGUgd2VpdGVyCmdlYmFzdGVsdC4gTnVuIG1pdCBkZW0gTW9yZ2VuR3JhdWVuLVNjaHJpZnR6dWcgbWl0IERyYWNoZW4gdm9uIGRlciBXZWJzZWl0ZQpvYmVuIGRydWViZXIuCgpIaWVyIGthbm4gbWFuIGVzIHNpY2ggbWFsIGF1ZiBlaW5lbSBTaGlydCBhbnNlaGVuOgpodHRwczovL2kuaW1ndXIuY29tL1JtMDVqNlQucG5nCgpEYSBkaWUgS2FydGUgYnJlaXRlciBpc3QgYWxzIGhvY2gsIHdhZXJlIGRhcnVudGVyIG5vY2ggbWVociBQbGF0eiBmcmVpLgoKRGllIFJ1ZWNrc2VpdGUgaGFiZSBpY2ggbm9jaCBuaWNodCBnZXN0YWx0ZXQsIGRhIGZlaGxlbiB3ZWl0ZXIgRGV0YWlscy4KCkRhIGRhcyBCaWxkIHRyYW5zcGFyZW50IGlzdCwga2FubiBtYW4gdmVyc2NoaWVkZW5lIFNoaXJ0IEZhcmJlbiB3YWVobGVuLgpJY2ggZGVua2UgbWlyIG1hbCwgU2Nod2FyeiBvZGVyIHZpZWxsZWljaHQgQW50aHJheml0IGxpZWdlbiB3ZWl0IHZvcm5lLgoKQW5iaWV0ZXIgZ2lidCBlcyBhdWNoIHdpZSBTYW5kIGFtIE1lZXIuIEhhdCBkYSB3ZXIgRW1wZmVobHVuZ2VuPwoKRGVyIGVpbmZhcmJpZ2UgU2llYmRydWNrIHZvbiBUcmF4eCBwYXNzdCB3b2hsIG5pY2h0IHp1IGRpZXNlbSBNb3Rpdi4KClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBULVNoaXJ0cyAoWmVzc3RyYSwgMTkuIE1haSAyMDIxLCAyMjo0MTowMCk6Cn4jISBybj1aYXBob2IgcnQ9MTYyMTQ1NTk0MiByZz1wYXJ0eQp+IyEgdGlkPTE2MjAxMTc2MTgKU2llaHQgbmljaHQgc2NobGVjaHQgYXVzIGZpbmRlIGljaC4KV2FzIERydWNrZSBhbmdlaHQsIGZlaGx0IG1pciBsZWlkZXIgYXVjaCBkaWUgRXJmYWhydW5nLiBBbiBULVNoaXJ0cyBoYXR0ZSBpY2gKdm9yIG5lciBXZWlsZSB3YXMgYWxzIEJhbmQtTWVyY2ggZ2VrYXVmdCwgd2FzIG1pciBnZWZhbGxlbiBoYXQuIFd1cmRlIHZvbgoiQ29udGluZW50YWwgQ2xvdGhpbmciIHVudGVyIGRlbSBMYWJlbCAiZWFydGggcG9zaXRpdmUgLSBjbGltYXRlLW5ldXRyYWwiIG1pdApCaW8tQmF1bXdvbGxlIGhlcmdlc3RlbGx0OgpodHRwczovL2NvbnRpbmVudGFsY2xvdGhpbmcuZGUvZGllLW1hcmtlLWVhcnRocG9zaXRpdmUvCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogVC1TaGlydHMgKFplc3N0cmEsIDE5LiBNYWkgMjAyMSwgMjI6NDY6MzcpOgp+IyEgcm49WmVzc3RyYSBydD0xNjIxNDU2ODYwIHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApBY2hzbywgZWlucyB6dW0gVGhlbWEga2VubmUgaWNoIG5vY2ggYXVzc2VyIGRlbSBuaWNodCBzbyB0b2xsZW4gU3ByZWFkc2hpcnQ6Cmh0dHA6Ly93d3cuYXJ0LXdvcnguZGUvCkFydCBXb3J4IGF1cyBEb3J0bXVuZApLZW5uZSBhYmVyIG5pY2h0IGRpZSBNb2RhbGl0YWV0ZW4gdW5kIGhhYiBudXIgZmVydGlnZSBTaGlydHMgYmVzdGVsbHQgLQpsZXR6dGVzIEphaHIgaGF0IHouQi4gZGFzIERvbmcgT3BlbiBBaXIgbmVuIFNoaXJ0IGdlbWFjaHQsIHdhcyBtYW4gZG9ydCBkYW5uCmJlc3RlbGxlbiBrb25udGUsIHd1cmRlIGRhbm4gbmFjaCBFbmRlIGRlciBCZXN0ZWxsZnJpc3QgaW4gYmVzdGVsbHRlbgpBbnphaGxlbitHcm9lc3NlbiB2b24gIEFydCBXb3J4IGdlZHJ1Y2t0IHVuZCB2ZXJzYW5kdC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEhhdHRpbmdlbiAyMDIxIChaYXBob2IsIDIwLiBNYWkgMjAyMSwgMDk6MDA6MzQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTYxODE0MDY5MCByZz1wYXJ0eQp+IyEgdGlkPTE2MTM3NTg0MzMKV2VubiBhbGxlcyBrbGFwcHQsIHNwcmluZ3Qgc29nYXIgZWluIFZvcnRyYWcgYW0gU2Ftc3RhZyBkYWJlaSByYXVzIQoKTWFuIGRhcmYgZ2VzcGFubnQgc2Vpbi4gV2VpdGVyZSBJbmZvcywgc29iYWxkIGljaCBzaWUgaGFiZS4uCgpaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogVC1TaGlydHMgKFplc3N0cmEsIDIwLiBNYWkgMjAyMSwgMTg6Mzc6NDgpOgp+IyEgcm49WmVzc3RyYSBydD0xNjIxNDU3MTk3IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApMZXR6dGVuZGxpY2gga29lbm50ZSBtYW4gbm9jaCB1ZWJlcmxlZ2VuLCBkYXMgQmlsZCBtaXQgbWVociBaZWlsZW4genUKZXJnYWVuemVuLCBkYW1pdCBkaWUgRmxhZWNoZSBuYWNoIHVudGVuIG5vY2ggZXR3YXMgZ2VmdWVsbHQgd2lyZC4uLiBadW0gZWluZW4Ka29lbm50ZSBtYW4gWmVpbGVuIG1pdHRlbmRyaW4gZXJnYWVuemVuLCB6LkIuIGRpZSBQb2xhcnJlZ2lvbiB1bmQgV3Vlc3RlIGV0d2FzCmdyb2Vzc2VyIG1hY2hlbiB1bmQgZ2VuZXJlbGwgZ3Vja2VuLCBvYiBtYW4gaW4gTm9yZC1TdWVkIG1laHIgZWluc2NoaWVidC4KSU5zZWxuLCBGZXJud2VzdCB1bmQgVmxhbmQgaGFiZW4gbmF0dWVybGljaCB2ZXJsb3Jlbi4uLgoKSWNoIGhhYiBkZW0gUGFydHlicmV0dCBlaW5lIEZyYWdlIHouQi4gVC1TaGlydCBlcmdhZW56dC4gV2VyIGRhIGFuZ2FiZW4gbWFjaGVuCndpbGwsIG1lbGRldCBzaWNoIGFtIGJlc3RlbiBhYiB1bmQgd2llZGVyIG5ldSBhbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBULVNoaXJ0cyAoQ3JvZnQsIDIwLiBNYWkgMjAyMSwgMjI6NTM6MTMpOgp+IyEgcm49WmVzc3RyYSBydD0xNjIxNDU2ODYwIHJnPXBhcnR5Cn4jISB0aWQ9MTYyMDExNzYxOApFaW5lIFRvcC1MaXN0ZSBicmF1Y2ggaWNoIG5pY2h0LiBNb3RpdiBzaWVodCBhbnNvbnN0ZW4gZmVzY2ggYXVzLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmhhdHRpbmdlbiAoVmFuaGVsc2luZywgMzEuIE1haSAyMDIxLCAxNDo0NjowMik6ClNpbmQgd2lyIGRpZXNlcyBKYWhyIHdpZWRlciBtaXQgIlNvbmRlcmVybGF1Ym5pcyIgdm9uIEp1dHRhIGRhPwpaZWx0ZSBzaW5kIGphIGxhdXQgZGVyIEhvbWVwYWdlIGltbWVybm9jaCBuaWNodCBlcmxhdWJ0LgouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhhdHRpbmdlbiAoQ3JvZnQsIDMxLiBNYWkgMjAyMSwgMTc6MTg6MDYpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xNjIyNDY1MTYyIHJnPXBhcnR5Cn4jISB0aWQ9MTYyMjQ2NTE2MgpEYXMgaXN0IG1pdCBKdXR0YSBhYmdlc3Byb2NoZW4uIEFuc29uc3RlbjogUmVnZWxuIGFrdHVlbGwgdnMgUmVnZWxuIGluIAo3IFdvY2hlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGhhdHRpbmdlbiAoWmFwaG9iLCAgMS4gSnVuIDIwMjEsIDIxOjM0OjA5KToKfiMhIHJuPUNyb2Z0IHJ0PTE2MjI0NzQyODYgcmc9cGFydHkKfiMhIHRpZD0xNjIyNDY1MTYyCkxlc2VyIGVpbmVyIHZpZWwgYmVzdWNodGVuIE5hY2hiYXJydWJyaWsgd2lzc2VuIGVzIGJlcmVpdHMsIGZ1ZXIgZGVuIFJlc3QgaGllcgpub2NobWFsIHp1ciBJbmZvOgpXYWNrZW4gd2lyZCBkaWVzZXMgSmFociBlbnRmYWxsZW4sIG5hZWNoc3RlcyBKYWhyIGFtIDQuOC4gbmFjaGdlaG9sdC4KCkljaCBiaW4gbmljaHQgc2ljaGVyLCBpbndpZWZlcm4gZGFzIGVpbmlnZSBldXJlciBSZWlzZXBsYW51bmdlbiB0b3JwZWRpZXJ0IHVuZApzaWNoIGF1ZiBIYXR0aW5nZW4gYXVzd2lya3QsIHdvbGx0ZSBlcyBhYmVyIG5pY2h0IHVuZXJ3YWVobnQgbGFzc2VuLgoKRGFua2UsIEdydWVzc2UsClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVyIFZvcnRyYWcgd2FlaHJlbmQgZGVyIE1HLVBhcnR5ISAoWmFwaG9iLCAxMy4gSnVuIDIwMjEsIDAxOjUyOjA5KToKSGV5IExldXRlLAoKYW0gU2Ftc3RhZywgZGVtIDI0LjA3LjIwMjEgd2lyZCBlcyB3aWVkZXIgZWluZW4gVm9ydHJhZyBnZWJlbi4KCkRpZXNlcyBKYWhyIHNwcmljaHQgdW5zZXIgR2FzdDogRGVyIGxhbmdqYWVocmluZ2UgTXVkbGV0LUxlYWQtRGV2ZWxvcGVyIFZhZGkKenVtIFRoZW1hOiBNVURzIHN0ZXJiZW4gbmljaHQgLSBBdXMgZGVyIFNpY2h0d2Vpc2UgZWluZXMgQ2xpZW50LUhlcnN0ZWxsZXJzCgpVZWJlciBkaWUgR2VzY2hpY2h0ZSBkZXIgTVVEcyB3aWUgVmFkaSBzaWUgbWl0YmVrb21tZW4gaGF0LCBaeWtsZW4gZGVyIE1VRHMsCnVuZCBkYXMgdGhlbWF0aXNjaCBlaW5nZWJ1bmRlbiBpbiBkaWUgRW50d2lja2x1bmcgdm9uIE11ZGxldCwgenVtIEFic2NobHVzcwptaXQgZWluZW0gQXVzYmxpY2sgaW4gTXVkbGV0cyBadWt1bmZ0IChJbnRlZ3JhdGlvbiBpbiBkaWUgU3RlYW0gUGxhdHRmb3JtKQoKRmFsbHMgZ2VudWcgSW50ZXJlc3NlIGJlc3RlaHQsIGtvZW5uZW4gd2lyIGdnZi4gYXVmemVpY2huZW4gb2RlciBhdWNoIG9ubGluZQpwZXIgVGVhbVNwZWFrIHVlYmVydHJhZ2VuLCB1bSBGcmFnZW4gdm9uIG5pY2h0LXZvci1PcnQgWnVob2VyZXJuIHp1enVsYXNzZW4uCgpEZXIgVm9ydHJhZyB3aXJkIGluIGVuZ2xpc2NoZXIgU3ByYWNoZSBzdGF0dGZpbmRlbi4gSWNoIGthbm4gbm9jaCBuaWNodApzbyBndXQgZWluc2NoYWV0emVuLCBvYiBkYXMgZnIgdmllbGUgZGFzIGVpbiBzbyBncm9zc2VzIFByb2JsZW0gc2VpbiB3aXJkLApkYXNzIHdpciBlaW5lbiBEb2xtZXRzY2hlciBmciBzaW11bHRhbmUgVWViZXJzZXR6dW5nIG9yZ2FuaXNpZXJlbiBzb2xsdGVuLgoKRGFua2UsIEdydWVzc2UsClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBULVNoaXJ0cyAoWmFwaG9iLCAxMy4gSnVuIDIwMjEsIDE4OjE5OjU1KToKfiMhIHJuPUNyb2Z0IHJ0PTE2MjE1NDM5OTMgcmc9cGFydHkKfiMhIHRpZD0xNjIwMTE3NjE4CkhleSBMZXV0ZSwKCmVpbiBlcnN0ZXIgUHJvYmVkcnVjayBpc3QgZmVydGlnLiBFaW5pZ2UgaGF0dGVuIGhldXRlIHNjaG9uIGRpZSBHZWxlZ2VuaGVpdCwKc2ljaCBkYXMgU2hpcnQgbWFsIGFuenVzZWhlbi4gRXMgZ2FiIGRpcmVrdCB3ZWl0ZXJlIElkZWVuLCBkaWUgZGFubiB2aWVsbGVpY2h0CmZ1ZXIgZGllIDMwIEphaHJlIFBhcnR5IGdlbnV0enQgd2VyZGVuLiBEaWVzZXMgSmFociB3aXJkIGRpZSBaZWl0IGJpcwpIYXR0aW5nZW4gbGFuZ3NhbSBlbmdlci4KCkFsc28gYWxsZTogCgpCaXR0ZSBnZWh0IChub2NobWFsPykgenVtIFBhcnR5YnJldHQgdW5kIGdlYnQgZG9ydCBhbiwgd2VsY2hlIEdyb2Vzc2UgKHVuZAp0YWlsbGllcnQgb2RlciBuaWNodCkgaWhyIGV1Y2ggcmVzZXJ2aWVyZW4gd29sbHQuCkF1c3NlcmRlbSB3YWVyIHNwYW5uZW5kLCB3ZXIgVmVyc2FuZCBicmF1Y2h0LCBvZGVyIGluIEhhdHRpbmdlbiBhbndlc2VuZCBpc3QuCkluIEt1ZXJ6ZSBlcnNjaGVpbmVuIGhpZXIgSW5mb3MgenVyIGZpbmFuemllbGxlbiBBYndpY2tsdW5nLgoKSGllciBzY2hvbiBtYWwgZWluaWdlIEZvdG9zOgotIG5haDogaHR0cHM6Ly9pLmltZ3VyLmNvbS9wcDlDU3NLLmpwZwotIGZlcm46IGh0dHBzOi8vaS5pbWd1ci5jb20vQlpNV0VuUy5qcGcKCkRhbmtlLCBHcnVlc3NlLApaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpULVNoaXJ0IC0gRmluYW56ZW4hIChaYXBob2IsIDE0LiBKdW4gMjAyMSwgMjA6NDU6NTIpOgpIZXkgTGV1dGUsCgppbSBsZXR6dGVuIEJlaXRyYWcgZ2FiIGVzIGVpbmVuIEJsaWNrIGF1ZnMgZmVydGlnZSBEZXNpZ24gZGVyIEFTSUktV2VsdGthcnRlLgoKSGllciBmb2xnZW4gbnVuIGRpZSBmaW5hbnppZWxsZW4gRGV0YWlscywgd2VubiBpaHIgc28gZWluIFNoaXJ0IGhhYmVuIHdvbGx0OgoKQml0dGUgdWViZXJ3ZWlzdCBlaW5mYWNoIDIwIEV1cm8gcHJvIFNoaXJ0IChvZGVyIDIzLCBzaWVoZSB1bnRlbikgYW46CiAgCiAgRW1wZmFlbmdlcjogRm9lcmRlcnZlcmVpbiBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLlYuCiAgSUJBTjogREUyMiA1MTM5IDAwMDAgMDA4MCAxMzM4IDA0CiAgQklDOiBWQk1IREU1RgogIEJhbms6IFZvbGtzYmFuayBNaXR0ZWxoZXNzZW4gZUcKICBWZXJ3ZW5kdW5nc3p3ZWNrOiBTaGlydCArIEdyb2Vzc2UgKyBDaGFyYWt0ZXJuYW1lCgogIERhenUgaGFidCBpaHIgamV0enQgZWluZSBXb2NoZSBaZWl0IC0gQmlzIHp1bSBNb250YWcsIDIxLiBKdW5pIDIwMjEuCgogIEF1c3NlcmRlbSBzZW5kZXQgaWhyIGJpdHRlIGVpbmUgTWFpbCBpbSBTcGllbCBhbiBaYXBob2IgenVyCiAgQmVzdGFldGlndW5nL0Fua3VlbmRpZ3VuZyBkZXIgWmFobHVuZywgbWl0IGViZW5mYWxscyBBbnphaGwgKyBHcm9lc3NlLgoKV2llIGdlaGFidCBwbGFuZW4gd2lyIGFscyBHcm9lc3NlbiB6LkIuIFMsIHRhaWxsaWVydC1TLCBNLCB0YWlsbGllcnQtTSwgLi4uCgpEaWUgU2hpcnRzIHdlcmRlbiBzY2h3YXJ6IHVuZCBzaW5kIDEwMCUgYmlvIEJhdW13b2xsZSB1bmQgZmFpciBnZWhhbmRlbHQuCgpFdXJlIEluZm8gYW0gUGFydHlicmV0dCBzZWhlIGljaCBlcnN0bWFsIG51ciBhbHMgImdyb2JlcyBJbnRlcmVzc2UiLiBEYW1hbHMgCndhciBnZ2YuIHdlZGVyIFByZWlzIG5vY2ggTW90aXYgZW5kZ3VlbHRpZyBrbGFyLiBEYSBkYXMgbnVuIHZvcmxpZWd0LCBtb2VjaHRlIAppY2ggZ2VybmUgbm9jaG1hbCBkaWVzZSBCZXN0YWV0aWd1bmcgdm9uIGV1Y2ggaGFiZW4uCgpXZW5uIHNwYWV0ZXIgYmV6YWhsdCB3aXJkLCBrYW5uIGljaCBldWNoIG5pY2h0IGdhcmFudGllcmVuLCBkYXNzIGV1ZXIgU2hpcnQKcmVjaHR6ZWl0aWcgenVyIFBhcnR5IGZlcnRpZyB3aXJkLiBXZXIgc2ljaCBlcnN0IHNwYWV0ZXIgZW50c2NoZWlkZXQsIG9kZXIKbmljaHQgYXVmIGRlciBQYXJ0eSBpbiBIYXR0aW5nZW4gc2VpbiBrYW5uLCBrYW5uIHNpY2ggZGFzIFNoaXJ0IHNvbnN0IGF1Y2gKc3BhZXRlciBwZXIgUG9zdCB6dXNlbmRlbiBsYXNzZW4uIERhcyB3aXJkIGFiZXIgbm9jaCBuaWNodCBzb2ZvcnQgZ2VoZW4uCgpJbiBkZW0gRmFsbCBrb21tZW4gZGFubiBub2NobWFsIDMgRXVybyBWZXJzYW5ka29zdGVuIGF1ZiBkZW4gUHJlaXMgZHJhdWYuCgpadXIgSW5mbzogV2lyIGJlbnV0emVuIGRhcyBLb250byBkZXMgRm9lcmRlcnZlcmVpbnMgbnVyIHp1ciBTYW1tbHVuZyBkZXMgCkdlbGRlcy4gQW5zb25zdGVuIGhhdCBkZXIgVmVyZWluIE5JQ0hUUyBtaXQgZGVuIFNoaXJ0cyB6dSB0dW4uIERhcyBsYWV1ZnQKZGVyemVpdCBhbGxlcyB1ZWJlciBtaWNoLiBTb21pdCB0cmFnZSBpY2ggYXVjaCBkYXMgUmlzaWtvLCB3ZW5uIGplbWFuZCBoaWVyIApiZXN0ZWxsdCB1bmQgZGFubiBuaWNodCBiZXphaGx0LiBEYW5uIGJsaWViZSBpY2ggYXVmIFNoaXJ0cyB1bmQgS29zdGVuIHNpdHplbi4KSWNoIGRlbmtlIGFiZXIsIGRhc3MgZXMgZGF6dSBuaWNodCBrb21tdCwgdW5kIG1laW5lIEFyYmVpdCBnZXd1ZXJkaWd0IHdpcmQuCgpBbnNjaGxpZXNzZW5kIGtvZW5uZW4gd2lyIHVlYmVybGVnZW4sIHdhcyB3aXIgYmVpIGRlbiBTaGlydHMgZnVlciBkaWUgCjMwLUphaHJlLU1vcmdlbkdyYXVlbi1GZWllciAyMDIyIGFsbGVzIG5vY2ggYmVzc2VyIG1hY2hlbiB3b2xsZW4uLiA6bykKCkRhbmtlLCBHcnVlc3NlLApaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1TaGlydCAtIEZpbmFuemVuISAoVmFuaW9uLCAxNC4gSnVuIDIwMjEsIDIzOjA3OjU5KToKfiMhIHJuPVphcGhvYiBydD0xNjIzNjk2MzUyIHJnPXBhcnR5Cn4jISB0aWQ9MTYyMzY5NjM1MgpBdWNoIHdlbm4gaWNoIHdvaGwgbmljaHQgbmFjaCBIYXR0aW5nZW4ga29tbWVuIGthbm4sIGhhYiBpY2ggbWFsIHVlYmVyd2llc2VuLgpJc3Qgc2NobGllc3NsaWNoIE1lcmNoLgoKSWNoIGZpbmRlIHVlYnJpZ2VucywgZGFzcyBzaWNoIGRhcyBNb3RpdiBhdWNoIHVuZ2xhdWJsaWNoIGd1dCBhdWYgZWluZXIKbWF0dHNjaHdhcnplbiBLYWZmZWV0YXNzZSBtYWNoZW4gd3VlcmRlIDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtU2hpcnQgLSBGaW5hbnplbiEgKEFtYXJ5bGxpcywgMTkuIEp1biAyMDIxLCAyMToxMDowOCk6Cn4jISBybj1aYXBob2IgcnQ9MTYyMzY5NjM1MiByZz1wYXJ0eQp+IyEgdGlkPTE2MjM2OTYzNTIKSWNoIGthbm4gamEgbmljaHQsIHNwaWVsZSBhYmVyIG1pdCBkZW0gR2VkYW5rZW4sIGRlbm5vY2ggZWluIFNob3J0IHp1IGthdWZlbi4KV2VsY2hlIEdyb2Vzc2VuIGdpYnQgZXMgZGVubiBnZW5hdSAoc3ByaWNoOiBiaXMgenUgd2VsY2hlbSBYLi4uTCk/IDspClVuZCBmYWxsZW4gZGllIGVoZXIgZ3JvZXNzZXIgb2RlciBrbGVpbmVyIGF1cz8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVC1TaGlydCAtIEZpbmFuemVuISAoWmFwaG9iLCAxOS4gSnVuIDIwMjEsIDIyOjE0OjMxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNjI0MTI5ODA4IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMzY5NjM1MgpJY2ggd3VyZGUgbnVuIHNjaG9uIG1laHJmYWNoIGF1ZiBkaWUgZ2VuYXVlbiBHcm9lc3NlbiBhbmdlc3Byb2NoZW4sIGRhaGVyIGhhYgppY2ggZGF6dSBkaWUgRGV0YWlscyByZWNoZXJjaGllcnQgdW5kIHdpZSBmb2xndCBhdWZiZXJlaXRldDoKCiJOb3JtYWxlIiBTaGlydHMKICMgYnJlaXQgbGFuZwogIFMgIDQ3ICAgNzAKICBNICA1MCAgIDcyCiAgTCAgNTMgICA3NAogWEwgIDU2ICAgNzYKMlhMICA1OSAgIDc4CjNYTCAgNjIgICA4MAoKIlRhaWxsaWVydGUiIFNoaXJ0cwogIyAgYnJlaXQgbGFuZwpYUyAgNDMsNSAgIDYwCiBTICA0Niw1ICAgNjIKIE0gIDQ5LDUgICA2NAogTCAgNTIsNSAgIDY2ClhMICA1NSw1ICAgNjgKMlhMIDU4LDUgICA3MAoKRGFiZWkgYmVkZXV0ZW46Ci0gbGFuZyA9ICJIYWxmIENoZXN0IgotIGJyZWl0ID0gIkJvZHkgTGVuZ3RoIChmcm9tIG5lY2sgcG9pbnQpIgooKiBFaW5lIGZydWVoZXJlIFZlcnNpb24gZGllc2VzIEFydGlrZWxzIGhhdHRlIGRpZSBTcGFsdGVuIHZlcnRhdXNjaHQuKQoKSWNoIGhhYmUgaGllciBub2NoIHNvIGVpbiBQaWt0b2dyYW1tLCBhdWYgZGVuZW4gbWFuIHNlaGVuIGthbm4sIHZvbiB3byBiaXMgd28KZ2VuYXUgZ2VtZXNzZW4gd2lyZDogCgpodHRwczovL2kuaW1ndXIuY29tL1ZIeXdiM3QucG5nCgpGYWxscyBpaHIgYWxzbyBub2NoIHVlYmVyIGV1cmUgR3JvZXNzZSBncnVlYmVsdCwgb2RlciBzaWUgYWVuZGVybiB3b2xsdCwgZ2lsdDoKCklociBoYWJ0IG5vY2ggYmlzIE1vbnRhZywgMjEuIEp1bmkgWmVpdCAtIGFsc28gMiBUYWdlLgoKRGFuYWNoIGthbm4gaWNoIEhhdHRpbmdlbiBuaWNodCBnYXJhbnRpZXJlbiwgZ2dmLiB3aXJkIFZlcnNhbmQgbm9ldGlnLgoKRGFua2UsIEdydWVzc2UsClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFQtU2hpcnQgLSBGaW5hbnplbiEgKE11bmRyb24sIDE5LiBKdW4gMjAyMSwgMjM6MjA6MTApOgp+IyEgcm49WmFwaG9iIHJ0PTE2MjQxMzM2NzEgcmc9cGFydHkKfiMhIHRpZD0xNjIzNjk2MzUyCkljaCBoYXR0ZSB2b3JoaW4gbWl0IFphcGhvYiBub2NobWFsIGdlc2NocmllYmVuIHVuZCBpY2ggZ2xhdWJlLCBoaWVyIHNpbmQgZGllCldlcnRlIGF1Y2ggdmVydGF1c2NodCwgd2VpbCB0eXBpc2NoZXJ3ZWlzZSBhbHMgQnJlaXRlIGRhcyAiSGFsZiBDaGVzdCIgdW5kIGFscwpMYWVuZ2Ugb2RlciBIb2VoZSAiQm9keSBMZW5ndGgiIHp1IHZlcnN0ZWhlbiBpc3QgdW5kIFQtU2hpcnRzIGluIGRlciBSZWdlbApzY2htYWxlciBhbHMgbGFuZyBzaW5kLiBBbHNvIGluIG1laW5lbSBGYWxsIDJYTCB3YWVyZSBkaWUgQnJ1c3RicmVpdGUgKG5pY2h0ClVtZmFuZykgNTljbSB1bmQgZGllIExhZW5nZSB2b20gTmFja2VuIGJpcyB1bnRlbiA3OC4KIApEZW5ub2NoIHVlYmVycmFzY2hlbiBtaWNoIGRpZSBXZXJ0ZSBmdWVyIGRpZSB0YWlsbGllcnRlbiBTaGlydHMsIGRhIHNpZSBpbQpWZXJnbGVpY2ggenUgZGVuIE5vcm1hbGVuIGpld2VpbHMgbnVyIDVtbSBzY2htYWxlciwgZGFmdWVyIDhjbSBrdXJ6ZXIgc2luZC4KVW50ZXIgInRhaWxsaWVydCIgaGFldHRlIGljaCBlaWdlbnRsaWNoIGVyd2FydGV0LCBkYXNzIG1hbiBlaGVyIHN0YWVya2VyIGluCmRlciBCcmVpdGUgd2FzIHdlZ25pbW10IGFscyBpbiBkZXIgTGFlbmdlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVC1TaGlydCAtIEZpbmFuemVuISAoQXJhdGhvcm4sIDE5LiBKdW4gMjAyMSwgMjM6MjM6MDQpOgp+IyEgcm49TXVuZHJvbiBydD0xNjI0MTM3NjEwIHJnPXBhcnR5Cn4jISB0aWQ9MTYyMzY5NjM1MgpJY2ggd3VlcmRlIG1hbCBzY2hhZXR6ZW4sIGRhc3MgZGllIFRhaWxsaWVydW5nIG5pY2h0IGRvcnQgaXN0LCB3byBkaWUgTWVzc3VuZwpzdGF0dGZpbmRldCwgbmljaHQgd2Focj8gT2RlciB3aWxsc3QgZHUgYXVmIEJydXN0aG9laGUgdGFpbGxpZXJ0ZSBTaGlydHMKaGFiZW4/IDstKQoKQWJlciBqYSwgZGFzcyBkaWUgaW4gZGVyIFJlZ2VsIGF1Y2gga3VlcnplciBzaW5kLCBpc3Qgd29obCByZWNodCBub3JtYWwuCgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtU2hpcnQgLSBGaW5hbnplbiEgKE11bmRyb24sIDIwLiBKdW4gMjAyMSwgMDA6NDg6MTkpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTYyNDEzNzc4NCByZz1wYXJ0eQp+IyEgdGlkPTE2MjM2OTYzNTIKT2ssIHNlaHIgZ3V0ZXIgRWlud2FuZC4gQW4gZGVyIEJydXN0IHp1ICJ0YWlsbGllcmVuIiB3YWVyZSB3b2hsIGVpbiBlaGVyCnVuZ2V3b2VobmxpY2hlciBTY2huaXR0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVC1TaGlydCAtIEZpbmFuemVuISAoQmFtYmksIDIwLiBKdW4gMjAyMSwgMTA6MDE6MDEpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTYyNDEzNzc4NCByZz1wYXJ0eQp+IyEgdGlkPTE2MjM2OTYzNTIKSWNoIGhhYmUgZGllIFdlcnRlLCBzcGV6aWVsbCBkZW4gVW50ZXJzY2hpZWQgendpc2NoZW4gbm9ybWFsIHVuZCB0YWlsaWVydCwKYXVjaCBuaWNodCB2ZXJzdGFuZGVuLiBNdWVzc3RlIHRhaWxsaWVydCBuaWNodCBoZWlzc2VuLCBkYXNzIG1hbiBiZXNvbmRlcnMKc2NobWFsIChhYmVyIGdsZWljaCBncm9zcykgaXN0IG9kZXIgaXN0IGVzIGdlbmF1IHVtZ2VrZWhydD8KSW4gYmVpZGVuIEZhZWxsZW4gZmluZGUgaWNoIGRpZSBLdWVyenVuZyAoaW4gZGVyIEhvZWhlKSB1bnZlcnNjaGFlbXQuIFdhcyBzb2xsCmRhcywgZGFzcyBtYW4gZGEgaW1tZXIgbmllcmVuZnJlaSBtaXQgcnVtbGF1ZmVuIG11c3M/IChKYSwgbWlyIGlzdCBrbGFyLCBkYXNzCm5pY2h0IFphcGhvYiBkaWUgU2hpcnRzIHNjaG5laWRlcm4gbGFlc3N0LCBzb25kZXJuIGRlciB1bnNhZWdsaWNoZQpIZXJzdGVsbGVyLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFQtU2hpcnQgLSBGaW5hbnplbiEgKFplc3N0cmEsIDIwLiBKdW4gMjAyMSwgMTA6MDU6MTUpOgp+IyEgcm49TXVuZHJvbiBydD0xNjI0MTQyODk5IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMzY5NjM1MgpEYXZvbiBhYmdlc2VoZW4sIHNpbmQgZGllIC0gc29mZXJuIGRpZSBUYWJlbGxlIHN0aW1tdCAtIGJyZWl0ZXIgYWxzIGFuZGVyZS4KWnVtaW5kZXN0IGVpbiB0YWlsbGllcnQtWFMgaXN0IGJyZWl0ZXIgYWxzIDIgdm9yaGluIGdlbWVzc2VuZSBTIGFuZGVyZXIKRmlybWVuLgpEZXIgVW50ZXJzY2hpZWQgendpc2NoZW4gZGVtIFMgdW5kIGRlbiBhbmRlcmVuIGdlbWVzc2VuZW4gUyB3YXJlbiA2LjUgdW5kCjguNWNtLApkZXIgendpc2NoZW4gWFMgdW5kIGRlbiBhbmRlcmVuIFMgaW1tZXIgbm9jaCAzLjUgdW5kIDUuNWNtLgpJbnNvZmVybiBzb2xsdGUgbWFuIGRhIHdvaGwgZXR3YXMgZHJhdWYgYWNodGVuLgpHcm9lc3NlbiBpbiBLbGFtb3R0ZW4gc2luZCBlY2h0IGltbWVyIHNwYW5uZW5kLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVC1TaGlydCAtIEZpbmFuemVuISAoQXJhdGhvcm4sIDIwLiBKdW4gMjAyMSwgMTA6MTQ6MTApOgp+IyEgcm49QmFtYmkgcnQ9MTYyNDE3NjA2MSByZz1wYXJ0eQp+IyEgdGlkPTE2MjM2OTYzNTIKVGFpbGxpZXJ0IGlzdCBuaWNodCBkYXNzZWxiZSB3aWUgImJlc29uZGVycyBzY2htYWwiLgoKWnVkZW0sIHdvaGVyIHdlaXNzdCBkdSwgZGFzcyBkaWUgc28ga3VyeiBzaW5kLCBkYXNzIG1hbiAibmllcmVuZnJlaSIgZGFtaXQKcnVtbGF1ZmVuIG11c3M/IEF1ZmdydW5kIGVpbmVyIHJlaW5lbiBBbm5haG1lIGxhZXNzaWcgbWl0IFdvZXJ0ZXJuIHdpZQoidW52ZXJzY2hhZW10IiB1bmQgInVuc2FlZ2xpY2giIGhlcnVtenV3ZXJmZW4sIGZhZW5kZSBpY2ggamVkZW5mYWxscwp1bmFuZ2VtZXNzZW4gaGFyc2NoLgoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBULVNoaXJ0IC0gRmluYW56ZW4hIChaZXNzdHJhLCAyMC4gSnVuIDIwMjEsIDEwOjUwOjQzKToKfiMhIHJuPUFyYXRob3JuIHJ0PTE2MjQxNzY4NTAgcmc9cGFydHkKfiMhIHRpZD0xNjIzNjk2MzUyCkljaCBoYWIgbWFsIGdlcmFkZSBkaWUgTGFlbmdlIHZlcmdsaWNoZW46IGRpZSBYUyAoNjBjbSkgYXVzIGRlciBUYWJlbGxlIHBhc3Nlbgp6dSBkZW4gUyBhbmRlcmVyIEhlcnN0ZWxsZXIgKEZydWl0IG9mIHRoZSBMb29tIHVuZCBHaWxkYW4pLCBkLmguIGZhbGxlbiBkYQphdWNoIGVpbmUgR3JvZXNzZSBncm9lc3NlciBhdXMuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBULVNoaXJ0IC0gRmluYW56ZW4hIChNdW5kcm9uLCAyMC4gSnVuIDIwMjEsIDEwOjU0OjQ0KToKfiMhIHJuPUFyYXRob3JuIHJ0PTE2MjQxNzY4NTAgcmc9cGFydHkKfiMhIHRpZD0xNjIzNjk2MzUyCkdlcmFkZSBkaWVzZSBiZXJsZWd1bmdlbiBvYiBlcyBtaXQgZGVtIE1hc3NlbiBwYXNzdCBvZGVyIG5pY2h0IGlzdCBkZXIgR3J1bmQsCndpZXNvIGljaCBzbyB1bmdlcm5lIEtsYW1vdHRlbiBrYXVmZSwgZGllIGljaCBuaWNodCBhdXNwcm9iaWVyZW4ga2Fubi4KIApBYmVyIGljaCBoYXR0ZSBaYXBob2IgYXVjaCBnZXNhZ3QsIGRhc3MgaWNoIGF1ZiBqZWRlbiBGYWxsIGVpbiBTaGlydCB3aWxsLCB6dXIKTm90IGlzdCBlcyBlaW4gQW5kZW5rZW4uIEluIGRpZSBXYWNrZW4tU2hpcnRzIHZvbiAyMDA5IHBhc3NlIGljaCBhdWNoIHNjaG9uCnNlaHIgbGFuZ2UgbmljaHQgbWVociByZWluLCBhYmVyIGRpZSBoYWJlIGljaCBhdWNoIG5vY2ggaW0gU2NocmFuay4KIApCZWkgbWlyIHBlcnNvZW5saWNoIGlzdCBoYWV1ZmlnIGRhcyBQcm9ibGVtIGRhcyBWZXJoYWVsdG5pcyBCcmVpdGUgenVyIExhZW5nZQp1bmQgd2VubiBlcyBlaW4gUHVsbGkgb2RlciBIZW1kIGlzdCB1bmQgQXJtbGFlbmdlIG5vY2ggZGF6dSBrb21tdCAuLi4gaWNoCmhhc3NlIGVzIEtsYW1vdHRlbiBtaXQgQWVybWVsIGthdWZlbiB6dSBtdWVzc2VuLiBEYXMgaXN0IGZ1cmNodGJhciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVC1TaGlydCAtIEZpbmFuemVuISAoWmFwaG9iLCAyMC4gSnVuIDIwMjEsIDExOjI5OjA0KToKfiMhIHJuPU11bmRyb24gcnQ9MTYyNDE3OTI4NCByZz1wYXJ0eQp+IyEgdGlkPTE2MjM2OTYzNTIKSWNoIGZyZXVlIG1pY2ggdWViZXIgZGFzIHVuZXJ3YXJ0IGF1ZmZsYW1tZW5kZSBJbnRlcmVzc2UgYW0gVGhyZWFkLgpGdWVyIGRpZSBJbnRlcmVzc2llcnRlbiBoYWJlIGljaCBudW4gbm9jaCBtZWhyIERldGFpbHMgcGFyYXQ6CgoiTm9ybWFsZSIgU2hpcnRzOgpodHRwczovL3d3dy5iYy1jb2xsZWN0aW9uLmV1L2RlL3Qtc2hpcnRzL2JjLW9yZ2FuaWMtaW5zcGlyZS1wbHVzLXQtbWVuLXRtMDQ4CgoiVGFpbGxpZXJ0ZSIgU2hpcnRzOgpodHRwczovL3d3dy5iYy1jb2xsZWN0aW9uLmV1L2RlL3Qtc2hpcnRzL2JjLW9yZ2FuaWMtaW5zcGlyZS1wbHVzLXQtd29tZW4tdHcwNDkKClZpZWwgU3Bhc3MsClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFQtU2hpcnQgLSBGaW5hbnplbiEgKEJhbWJpLCAyMC4gSnVuIDIwMjEsIDExOjQ1OjQ4KToKfiMhIHJuPUFyYXRob3JuIHJ0PTE2MjQxNzY4NTAgcmc9cGFydHkKfiMhIHRpZD0xNjIzNjk2MzUyCkljaCBsYXNzIGRhcyB0YWlsbGllcnQgbWFsIGJlaXNlaXRlLCBkYW1pdCBrZW5uZSBpY2ggbWljaCAod2llIGJlcmVpdHMKYW5nZWRldXRldCkgZWggbmljaHQgYXVzLgoKRGFzcyBnbGVpY2ggYmVsYWJlbHRlIFQtU2hpcnRzIChMLCBYTCwgWFhMKSBpbiBkZXIgTGFlbmdlIG9mdG1hbHMgImt1ZXJ6ZXIiCnNpbmQsIG11dG1hc3NsaWNoIHVtIE1hdGVyaWFsICh1bmQgZGFtaXQgS29zdGVuKSB6dSBzcGFyZW4sIGlzdCBtaXIgYmVyZWl0cwptZWhyZmFjaCBhdWZnZWZhbGxlbiB1bmQgc2VociBhZXJnZXJsaWNoLiBJY2ggc2NoYXUgbWlyIGRpZSBTaGlydHMgZGFubiBhbiB1bmQKZnJhZyBtaWNoLCB3ZWxjaGUgVG9ubmUgZnVlciBkaWUgTWFzc2UgZGEgZWlnZW50bGljaCBNb2RlbGwgZ2VzdGFuZGVuIGhhdC4KUG9zaXRpdiB6dSBlcndhZWhuZW4gaXN0LCBkYXNzIG1pY2ggZGllIExhZW5nZW5hbmdhYmVuIGluIFphcGhvYnMgUG9zdAphbm5laG1lbiBsYXNzZW4sIGRhc3MgZGFzIGhpZXIgbmljaHQgZGVyIEZhbGwgaXN0LiBGdWVyIG1laW5lIEdyb2Vzc2VuIChYTCwKbWFuY2htYWwgWFhMLCB3ZW5uIHNpZSAia3VyeiIgc2luZCkgc2luZCBkaWUgNzQrWCBaZW50aW1ldGVyIG9rLiBOb2NoIGVpbiBwYWFyCmNtIGxhZW5nZXIgd2FlcmUgbWlyIHp3YXIgbGllYiwgYWJlciBoZXksIGljaCBoYWIgaW4gWEwtR3JvZXNzZW4gYXVjaCBzY2hvbiA3MApaZW50aW1ldGVyIGdlc2VoZW4uIChVbmQgYXVmIGxldHp0ZXJlcyBiZXppZWh0IHNpY2ggbWVpbmUgS3JpdGlrLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFQtU2hpcnQgLSBGaW5hbnplbiEgKEtyc3RmcnMsIDIwLiBKdW4gMjAyMSwgMTg6NDU6NTMpOgp+IyEgcm49WmVzc3RyYSBydD0xNjI0MTc5MDQzIHJnPXBhcnR5Cn4jISB0aWQ9MTYyMzY5NjM1MgpJbnRlcmVzc2FudCwgYmVpIGRlbiBuaWNodCB0YWlsbGllcnRlbiBzY2hlaW50IGVzIGdlbmF1IHVtZ2VrZWhydCB6dSBzZWluLiBXYXMKYmVpIFF3ZXJ0ZWUgTCBpc3QsIGlzdCBoaWVyIFhMIHVuZCBhdWNoIGR1cmNoYXVzIG9yZGVudGxpY2ggbGFuZywgZGEgaGF0dGUgaWNoCmJlaSBnbGVpY2hlciBCcmVpdGUgc2Nob24gU2hpcnRzIG1pdCAxMGNtIHdlbmlnZXIgTGFlbmdlLgoKS3JzdGZycwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2V0dGVyISAoSHVtbmksIDEyLiBKdWwgMjAyMSwgMTA6MTQ6MDYpOgpIYWxsbyBpaHIsCgpzaWVodCBzbyB3ZWl0IGdhbnogZ3V0IGF1cyAuLi4KCmh0dHA6Ly9kcmFjaGUubWF1a2Vud3VmZnRlbC5kZS9pbWFnZXMvdW5mdWcvd2V0dGVyX2hhdHRpbmdlbi5wbmcKClp1Z2VnZWJlbiwgYXVmIFByb2dub3NlbiBpbiBkaWVzZW4gWmVpdHJhZXVtZW4gc29sbHRlIG1hbiBuaWNodCB6dXZpZWwgZ2ViZW4uCkZ1ZXIgZGllIEJsaW5kZW46IGlzdCBsZWlkZXIgZWluIEJpbGQuIERhcyBXZXR0ZXIgaXN0IG5hY2ggZGVyIFZvcmhlcnNhZ2Ugdm9uCndldHRlci5jb20gZGllIG5hZWNoc3RlIFdvY2hlIChhbHNvIGRpZSBIYXR0aW5nZW4tV29jaGUpICJsZWljaHQgYmV3b2Vsa3QiIGJpcwoic29ubmlnIiwgUmVnZW4gaXN0IG5pY2h0IHp1IHNlaGVuLCBkaWUgVGVtcGVyYXR1cmVuIHNpbmQgendpc2NoZW4gMjYgdW5kIDMyCkdyYWQuIE51biBkZW5uLiAzMiBpc3QgbWlyIGphIHNjaG9uIHdpZWRlciB6dXZpZWwgLi4uIGFjaCwgMjYgYXVjaCAuLi4gCgpIdW1uaSwgUG9sYXJtYWdpZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1biBGYWN0cyAuLi4gKEh1bW5pLCAxMi4gSnVsIDIwMjEsIDIwOjM2OjE3KToKRGFzIGtsb3BwIGljaCBqZXR6dCBuaWNodCBtZWhyIG5vY2ggaW4gIkJla2FubnRtYWNodW5nZW4iIHJlaW46IFdlbm4gbWFuIGJlaQpHb29nbGUgbmFjaCAiVGVzdHplbnRydW0iIHN1Y2h0LCBrcmllZ3QgbWFuIGRhcyBpbiBCb2NodW0gKGluIGRlciBOYWVoZSBkZXMKQ2FtcGluZ3BsYXRlcykuIERhcyBpbiBIYXR0aW5nZW4ga3JpZWd0IG1hbiBuaWNodC4KClN1Y2h0IG1hbiBuYWNoICJUZXN0Y2VudGVyIiBrcmllZ3QgbWFuIGJlaWRlLgoKU28sIG51biBrb2VubnQgaWhyIHNlbGJzdCBnb29nZWxuIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXR0ZXIhIChab29rLCAxNC4gSnVsIDIwMjEsIDE0OjE5OjA5KToKfiMhIHJuPUh1bW5pIHJ0PTE2MjYwNzc2NDYgcmc9cGFydHkKfiMhIHRpZD0xNjI2MDc3NjQ2CkhpZXIgZGllIEdld2Flc3NlcnBlZ2VsOgoKaHR0cHM6Ly93d3cudGFsc3BlcnJlbmxlaXR6ZW50cmFsZS1ydWhyLmRlL29ubGluZS1kYXRlbi9nZXdhZXNzZXJwZWdlbC8yNzY5NTEwCjAwMDEwMC8/dHhfb25saW5lZGF0YV9nYXVnZXMlNUJhY3Rpb24lNUQ9c2hvdyZ0eF9vbmxpbmVkYXRhX2dhdWdlcyU1QmNvbnRyb2xsZQpyJTVEPUdhdWdlcwoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZXR0ZXIhIChab29rLCAxNC4gSnVsIDIwMjEsIDE0OjQwOjI4KToKfiMhIHJuPVpvb2sgcnQ9MTYyNjI2NTE0OSByZz1wYXJ0eQp+IyEgdGlkPTE2MjYwNzc2NDYKRGEgZGllIFRhbHNwZXJyZW5sZWl0emVudHJhbGUgbmljaHQgc28gZGllIGdlaWxzdGUgSG9tZXBhZ2UgaGF0LCBoaWVyCmVpbiBUd2VldCBtaXQgZGVtIEJpbGQsIHdvIG1hbiBkZW4gc2NobmVsbGVuIEFuc3RpZWcgdW0gZHJlaSAKTWV0ZXIgZ3V0IHNpZWh0OgoKaHR0cHM6Ly90d2l0dGVyLmNvbS9GYWJpYW5fUnVobmF1L3N0YXR1cy8xNDE1Mjc2MTc3ODA0MTc3NDA5Cgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZXR0ZXIhIChaYXBob2IsIDE0LiBKdWwgMjAyMSwgMTQ6NTU6NDIpOgp+IyEgcm49Wm9vayBydD0xNjI2MjY2NDI4IHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjA3NzY0NgpLYWNoZWxtYW5ucyBMaXZldGlja2VyIGhhdCBub2NoIG1laHIgRWluZHJ1ZWNrZSBhdXMgZGVyIFVtZ2VidW5nOgpodHRwczovL3dldHRlcmthbmFsLmthY2hlbG1hbm53ZXR0ZXIuY29tL2xpdmV0aWNrZXItdGllZi1iZXJuZC1nZXdpdHRlci1zdGFya3IKZWdlbi11bmQtZGF1ZXJyZWdlbi8KCkRpZSBFaW5zY2hsYWVnZSBrb21tZW4gbmFlaGVyLi4gOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdldHRlciEgKFplc3N0cmEsIDE0LiBKdWwgMjAyMSwgMjA6Mjk6NTMpOgp+IyEgcm49WmFwaG9iIHJ0PTE2MjYyNjczNDIgcmc9cGFydHkKfiMhIHRpZD0xNjI2MDc3NjQ2CkhpZXIgaXN0IHVlYnJpZ2VucyBlaW5lIFdlYmNhbSB2b20gUnVocnZlcmJhbmQgaW4gSGF0dGluZ2VuLiBJY2ggZ2xhdWIsIGRhcwppc3Qga3VyeiBzdHJvbWF1ZndhZXJ0cyB2b20gQ2FtcGluZ3BsYXR6LgpodHRwczovL3d3dy5ydWhydmVyYmFuZC5kZS9mbHVlc3NlLXNlZW4vd2ViY2Ftcy9oYXR0aW5nZW4vCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZXR0ZXIhIChaYXBob2IsIDE0LiBKdWwgMjAyMSwgMjA6Mzg6MDYpOgp+IyEgcm49WmVzc3RyYSBydD0xNjI2Mjg3MzkzIHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjA3NzY0NgpEaWUgbGFlZHQgYmVpIG1pciBuaWNodCwgYWJlciBoaWVyIHNpZWh0IG1hbiBlaW5lIEhpc3RvcmllIHVlYmVyIGRlbiBoZXV0aWdlbgpUYWcgaW4gMTAtMjAgbWludWV0aWdlbiBTY2hyaXR0ZW46Cmh0dHBzOi8vd3d3LndlYmNhbS00aW5zaWRlcnMuY29tL2RlL1dldHRlci1IYXR0aW5nZW4tV2ViY2FtLzkzMDgtV2ViY2FtLUhhdHRpbgpnZW4tV2V0dGVyLnBocApaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXNzZXIgKEh1bW5pLCAxNC4gSnVsIDIwMjEsIDIxOjAwOjQ5KToKSGFsbG8gaWhyLAoKaWNoIHdlcmRlIHp1c2VoZW4sIGRhc3MgaWNoIHZvciBkZW0gV29jaGVuZW5kZSByYXVzYmVrb21tZSwgd2llIGRlcgpDYW1waW5ncGxhdHogZHVyY2ggZGllIFVlYmVyZmx1dHVuZyBnZWtvbW1lbiBpc3QuIEljaCBmcmFnZSBuaWNodCBtZWhyIGhldXRlCmFiZW5kIG5hY2gsIGRhIGRpZSBDYW1waW5ncGxhdHpsZXV0ZSB2ZXJtdXRsaWNoIGdlbnVnIGFuZGVyZXMgenUgdHVuIGhhYmVuIC4uLgoKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2Fzc2VyIChaZXNzdHJhLCAxNC4gSnVsIDIwMjEsIDIyOjAwOjQ1KToKfiMhIHJuPUh1bW5pIHJ0PTE2MjYyODkyNDkgcmc9cGFydHkKfiMhIHRpZD0xNjI2Mjg5MjQ5CkVzIHdpcmQgc3Bhbm5lbmQuCgpEaWUgTWVzc3N0ZWxsZSBvYmVyaGFsYiB2b24gSGF0dGluZ2VuIC0gV2V0dGVyIC0gbGllZ3QgYmVpIGVpbmVtIER1cmNoZmx1c3MKdm9uIDc4NnFtL3MgKFBlZ2VsaG9laGU6IDYxN2NtKS4gSGF0dGluZ2VuIGxpZWd0IGdlcmFkZSBiZWkgNjI0IHFtL3MgbWl0ClBlZ2VsaG9laGUgNTgyY20gdW5kIHN0ZWlndCBtaXQgMTJjbSBwcm8gU3R1bmRlLgoKUnVocmF1ZndhZXJ0czogRGllIEhlbm5ldGFsc3BlcnJlIGlzdCBzZWl0IDE5OjAwIG1pdCAxMDAuMiUgdm9sbCwgZGVyIFp1Zmx1c3MKYmV0cmFlZ3QgMzVxbS9zLCBkaWUgUnVociBkb3J0IGhhdCB6dXIgWmVpdCA0LjdxbS9zIC0gZC5oLiBkaWUgSGVubmUgc3Ryb2VtdApqZXR6dCBiYWxkIHZvbGwgZGF6dS4gRGllIGVpbnMgdGllZmVyIGdlbGVnZW5lIE1vZWhuZXRhbHNwZXJyZSBpc3QgOTcuOSUgdm9sbCwKbWl0IFp1c3Ryb20gdm9uIDUyLjlxbS9zIHVuZCAtIG5vY2ggLSBBYmZsdXNzIHZvbiAxNi41MHFtL3MuIERhbWl0IHJlY2huZSBpY2gKbWl0IFZvbGxzdGF1IE1vZWhuZSB1bSAyMzowMCAoWmFobGVuIHdhciB2b24gMTk6MDApLgpSdWhydmVyYmFuZC1UYWxzcGVycmVuIGluc2dlc2FtdDogRnVlbGx1bmdzZ3JhZCA5Ni4xJSwgWnVmbHVzcyAyMDhxbS9zLApBYmZsdXNzIDkxLjZxbS9zLgoKRGFzIGdyb2Vzc3RlIFByb2JsZW0gaXN0IGFiZXIgd29obCBkZXIgWnVmbHVzcyBhdXMgZGVyIExlbm5lIGluIGRpZSBSdWhyLAp3ZWxjaGVyIGF1Y2ggaW4gZWluZW0gVGFnIHZvbiAzNSBxbS9zIGF1ZiBqZXR6dCA+NzAwcW0vcyBob2NoZ2VzY2hvc3NlbiBpc3QKKG1pdHRsZXJlcyBIb2Nod2Fzc2VyIDIzNnFtL3MpLCBzdGllZyBkaWUgbGV0enRlbiB+NmggbWl0IGZhc3QgMTAwcW0vcyBwcm8KU3R1bmRlIHVuZCBoYXQgc2VpbmVuIFNjaGVpdGVscHVua3Qgbm9jaCBuaWNodCBlcnJlaWNodC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2Fzc2VyIChIdW1uaSwgMTQuIEp1bCAyMDIxLCAyMjowOToxMik6Cn4jISBybj1aZXNzdHJhIHJ0PTE2MjYyOTI4NDUgcmc9cGFydHkKfiMhIHRpZD0xNjI2Mjg5MjQ5CktpY2tlbmJhY2ggaGF0IG51biB3b2hsIGFic2lua2VuZGUgVGVuZGVueiBhdWYgZGVyIExlbm5lLCBhYmVyIGluIEtpY2tlbmJhY2gKaXN0IGRpZSBMZW5uZSBlaGVyIG5vY2ggc28gZWluIEJhY2guIEFiZXIgaW1tZXJoaW4sIGRhIHNjaGVpbnQgZW5kbGljaCBtYWwgd2FzCnJ1bnRlcnp1Z2VoZW4gLi4uCgpLaWNrZW5iYWNoIGlzdCBlaW5lciBkZXIgZXJzdGVuIE9ydGUsIGRpZSBkaWUgTGVubmUgcGFzc2llcnQsIHdlbm4gbWFuClNjaG1hbGxlbmJlcmcgdmVybGFlc3N0LiBCaXMgSGF0dGluZ2VuIGlzdCBkYXMgZGFubiBub2NoIGVpbmUgZ2FuemUgRWNrZS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXNzZXIgKENyb2Z0LCAxNC4gSnVsIDIwMjEsIDIyOjQ3OjE1KToKfiMhIHJuPUh1bW5pIHJ0PTE2MjYyOTMzNTIgcmc9cGFydHkKfiMhIHRpZD0xNjI2Mjg5MjQ5CkltbWVyaGluIHNvbGwgZXMgYWIgbW9yZ2VuIHdvaGwgbnVyIG5vY2ggd2VuaWcgcmVnbmVuIHVuZCBkYW5uIGRpZSBUYWdlCmRyYXVmIGlzdCBlcyBlaGVyIGhlaXRlciBtaXQgc3RlaWdlbmRlbiBUZW1wZXJhdHVyZW4uICBNYWwgZ2VzcGFubnQgd2llCnNjaG5lbGwgbWFuIGRhbm4gd2llZGVyIGF1ZiBkaWUgV2llc2Uga2Fubi4uLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhc3NlciAoWmVzc3RyYSwgMTUuIEp1bCAyMDIxLCAxMDowNjowNCk6Cn4jISBybj1Dcm9mdCBydD0xNjI2Mjk1NjM1IHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjI4OTI0OQpKYSwgbWl0IGV0d2FzIEdsdWVjayBsYWV1ZnQgZXMgc2NobmVsbCBhYi4uLiBBYmVyIHp1ciBaZWl0IGluZWhtZSBpY2ggYW4sIGRhc3MKZGVyIFBsYXR6IHVudGVyIFdhc3NlciBpc3QsIHp1bWluZGVzdCB6dXIgUnVociBoaW4uCkRhcyBVcGRhdGUgZnVlciBXYXNzZXJuZXJkcyBpc3QgZmFlbHNjaGxpY2ggaW4gbWVnYXNjaG1hcnJuIGdlbGFuZGV0LCBzb2xsdGUKYWJlciBoaWVyaGluOgoKUmVnZW4gaXN0IHdlaXRnZWhlbmQgZHVyY2ggc2VpdCBnZXN0ZXJuIGFiZW5kLgpEZXIgTGVubmV6dWZsdXNzIGhhdCBkZW4gU2NoZWl0ZWwgZ2VzdGVybiBzcGFldGFiZW5kcyB1ZWJlcnNjaHJpdHRlbiwKRHVyY2hmbHVzcyBudXIgbm9jaCA0ODlxbS9zLgpUYWxzcGVycmVuIHJ1aHJhdWZ3YWVydHMgc2luZCBwcmFrdGlzY2ggdm9sbCwgYWJlciBadWZsdXNzIGVudHNwYW5udCBzaWNoLgoKRGllIE1lc3NzdGVsbGUgaW4gV2V0dGVyIGhhdCBkZW4gU2NoZWl0ZWwgZGVzIFdhc3NlcnN0YW5kZXMgaGV1dGUgZnJ1ZWgKdWViZXJzY2hyaXR0ZW4gbWl0IDcyNWNtLCBsZXR6dGVyIER1cmNoZmx1c3N3ZXJ0IHZvbiAwMTowMCA5NDJxbS9zLCBkdWVyZnRlCm51biB3ZW5pZ2VyIHNlaW4uCgpIYXR0aW5nZW4gbGllZ3QgYWt0dWVsbCBiZWkgNjk3Y20gKHN0ZWlnZW5kKSB1bmQgRHVyY2hmbHVzcyB2b24gMTQ0MHFtL3MKKHN0ZWlnZW5kKS4gRWluIEFiZmxhY2hlbiBkZXMgQW5zdGllZ3MgZGV1dGV0IHNpY2ggYW4uIERhcyBtaXR0bGVyZSBIb2Nod2Fzc2VyCigxOTY4LTIwMjEpIGxpZWd0IGJlaSBjYS4gNTIwY20gdW5kIDU0MHFtL3MgaW4gSGF0dGluZ2VuLCBkZXIgTWl0dGVsd2VydGUKMTk1Y20gLyA2OXFtL3MgKGRhIHdhcmVuIHdpciBhdWNoIHVuZ2VmYWVociAxNC43LiAwMDowMCkuIER1cmNoYXVzCmJlZWluZHJ1Y2tlbmQsIGRhcyBhbGxlcyBpbiB+MzJoLgoKRGllIFJ1aHJ3aWVzZW4gdW50ZXJoYWxiIHZvbSBDYW1waW5ncGxhdHogc2luZCBJTUhPIGF1ZiBqZWRlbiBGYWxsCnVlYmVyZmx1dGV0LCBkaWUgZHVlcmZ0ZW4gYWVobmxpY2ggaG9jaCBsaWVnZW4gd2llIGJlaSBkZXIgV2ViY2FtLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFic2FnZSAoQnVnZml4LCAxNS4gSnVsIDIwMjEsIDE1OjI4OjQ4KToKfiMhIG9uPUJ1Z2ZpeCBvdD0xNjI2MzU1NzAxIG9nPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHJuPUh1bW5pIHJ0PTE2MjYzNTU2MTEgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE2MjYzNTU2MTEKSG0sIHdvbGxlbiB3aXIgdmVyc3VjaGVuIGt1cnpmcmlzdGlnIG5lIEFsdGVybmF0aXZlIHp1IGZpbmRlbj8KCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBYnNhZ2UgKFplc3N0cmEsIDE1LiBKdWwgMjAyMSwgMTU6NTI6MTMpOgp+IyEgcm49QnVnZml4IHJ0PTE2MjYzNTU3Mjggcmc9cGFydHkKfiMhIHRpZD0xNjI2MzU1NjExCkljaCB3YXIgbGV0enRlIFdvY2hlIGF1ZiBkZW0gQ2FtcGluZ3BsYXR6IGRlciBTdGFkdCBLb2VsbiBpbiBLb2VsbiBhbSBSaGVpbi4KRGFzIHdhciBnYW56IG5ldHQsIGFiZXIgYSkgd29sbGVuIGRpZSBpbSBWb3JmZWxkIHdpc3Nlbiwgd2lldmllbGUgdm9uIHdhbm4gYmlzCndhbm4gZGEgc2luZCwgYikgc2luZCBkaWUgdGV1cmVyLCBjKSBzaW5kIGRpZSBuaWNodCBzbyBlbnRzcGFubnQgd2FzCkxhdXRzdGFlcmtlIGFuZ2VodCB1bmQgZCkgaXN0IGRhcyBVZWJlcmZsdXR1bmdzZ2ViaWV0IHZvbSBSaGVpbiAtIGRlciBhYmVyCkFGQUlLIGtlaW5lbiBzbyBlcmhvZWh0ZW4gV2Fzc2Vyc3RhbmQgaGF0IHVuZCB2ZXJtdXRsaWNoIGlzdCBkYXMgdHJvY2tlbgpnZWJsaWViZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBYnNhZ2UgKEJ1Z2ZpeCwgMTUuIEp1bCAyMDIxLCAxNTo1NjowMyk6Cn4jISBybj1aZXNzdHJhIHJ0PTE2MjYzNTcxMzMgcmc9cGFydHkKfiMhIHRpZD0xNjI2MzU1NjExCkljaCBoYWIgZ3JhZCBtYWwgbWl0IGRlbSBDYW1waW5ncGxhdHogSG9oZW5zeWJ1cmcgaW4gRG9ydG11bmQgdGVsZWZvbmllcnQuCktlbm5lbiB0dSBpY2ggZGVuIG5pY2h0LCBhYmVyIHNpZSBoYWV0dGVuIHZlcm11dGxpY2ggUGxhdHouIEljaCBzb2xsIGlobmVuZ3JhZApub2NobWFsIG5lIE1haWwgbWl0IGRlbiBEYXRlbiBnZWJlbiB1bmQgZGFuIG5iZWtvbW0gaWNoIG5vY2htYWwgZWluZSBnZW5hdWUKQW50d29ydC4gV2FlcmUgYWJlciB2ZXJtdXRsaWNoIGF1Y2ggbmljaHQgc28gc2Nob2VuIGFiZ2VsZWdlbiB2b20gUmVzdCB3aWUgaW4KSGF0dGluZ2VuLiBBYmVyIHdvaGwgYmVzc2VyIGFscyBnYXIgbmljaHRzIC4uLgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBYnNhZ2UgKEh1bW5pLCAxNS4gSnVsIDIwMjEsIDE2OjA3OjAyKToKfiMhIHJuPUJ1Z2ZpeCBydD0xNjI2MzU3MzYzIHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjM1NTYxMQpOdW4gamEsIGtsaW5ndCBqYSBuaWNodCBmYWxzY2guIEthbm5zdCBqYSBtYWwgZGllIERhdGVuIGhpbnNjaGlja2VuIHVuZApndWNrZW4sIG9iIHdpciBkYSB1bnRlcmtvbW1lbiBrb2VubmVuIC4uLiBrbGFyLCBkYSB3ZXJkZW4gd2lyIGtlaW5lbiBCZXJlaWNoCiJmdWVyIHVucyIgaGFiZW4sIGFiZXIgdmllbGxlaWNodCBsYWVzc3Qgc2ljaCBqYSBzb25zdCB3YXMgbWFjaGVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFic2FnZSAoQnVnZml4LCAxNS4gSnVsIDIwMjEsIDE2OjQwOjU1KToKfiMhIHJuPUh1bW5pIHJ0PTE2MjYzNTgwMjIgcmc9cGFydHkKfiMhIHRpZD0xNjI2MzU1NjExCkljaCBoYWIgaWhuZW4gbWFsIGVpbmUgTWFpbCBtaXQgZGVuIGdlbmF1ZXJlbiBJbmZvcyBnZXNjaGlja3QgdW5kIGF1Y2gKZXJ3YWVobnQsIGRhc3MgbW9lZ2xpY2hzdCBhYnNlaXRzIGd1dCB3YWVyZSwgZGEgd2lyIHp3YXIgb2huZSBNdXNpayBhYmVyIGxhbmdlCndhY2ggc2luZC4gV2VubiBpY2ggZWluZSBBbnR3b3J0IGhhYiwgZ2ViZSBpY2ggYmVzY2hlaWQuCgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFic2FnZSAoSHVtbmksIDE1LiBKdWwgMjAyMSwgMjE6MDc6NDYpOgp+IyEgcm49QnVnZml4IHJ0PTE2MjYzNjAwNTUgcmc9cGFydHkKfiMhIHRpZD0xNjI2MzU1NjExCldhcyBkaWUgTGF1dHN0YWVya2UgYW5nZWh0OiBEYSBzb2xsdGVuIHdpciBuaWNodCB6dSB2aWVsIGRyYXVmIHJ1bXJlaXRlbi4gV2lyCnNpbmQga2VpbmUgMjAgbWVociAob2theS4gRWluaWdlIHZvbiB1bnMgc2luZCBub2NoIGluIGRlbiBad2FuemlnZXJuLCBhYmVyCmRlbm5vY2gpLiBKYSwgd2lyIHNpdHplbiBhYmVuZHMgZGEgdW5kIHF1YXRzY2hlbiwgZGFzIGlzdCBlcyBhYmVyIGF1Y2guIEljaApkZW5rZSwgZGEga29lbm5lbiB3aXIgdW5zLCB3ZW5uIGRhcyBOb3QgdHV0LCBhdWNoIG1hbCBlaW4gd2VuaWcgYW0gUmllbWVuCnJlaXNzZW4uIEljaCBnbGF1YmUsIGRhIHNpbmQgQ2FtcGluZ3BsYWV0emUgaW4gZGVyIFJlZ2VsIGFuZGVyZSBHcnVwcGVuCmdld29laG50LgoKVGV1cmVyIGlzdCBhdWNoIEhvaGVuc3lidXJnLCBhYmVyIGRpZSBLcm9ldGUgd2VyZGVuIHdpciB2ZXJtdXRsaWNoIGlyZ2VuZHdpZQpzY2hsdWNrZW4gbXVlc3Nlbi4gQXVjaCBIYXR0aW5nZW4gaXN0IGltbWVyIHRldXJlciBnZXdvcmRlbiwgYWJlciBKdXR0YSB3YXIsCndhcyBkaWUgUmVjaG51bmduIGFuZ2VodCwgbWVpc3QgemllbWxpY2gga3VsYW50IC4uLiBkYXMgaXN0IGFuIE9ydGVuLCB3byBtYW4KdW5zIG5pY2h0IGtlbm50LCB3b2hsIG5pY2h0IHNvLgoKT2Igd2lyIGFsbGUgSW5mcmFzdHJ1a3R1ciAoVGlzY2hlLCBQYXZpbGxvbikgenUgZWluZW0gd2VpdGVyIGVudGZlcm50ZW4KQ2FtcGluZ3BsYXR6IGJla29tbWVuLCB3ZWlzcyBpY2ggYXVjaCBuaWNodCAod2lyIG11ZXNzZW4gZWggbWl0IDIgQXV0b3MKZmFocmVuLCBkYSB1bnNlcmUgSHVuZGUgc2ljaCBuaWNodCB2ZXJ0cmFnZW4sIGFiZXIgZGVubm9jaCB3aXJkIGRhcyBrbmFwcCkuCklzdCBhdWNoIGRpZSBGcmFnZSwgb2Igd2llIGRlbiBQYXZpbGxvbiBkYSBhdWZiYXVlbiBkdWVyZmVuLiBBYmVyIGRhcyB3dWVyZGUKaWNoIGRhbm4gdGF0c2FlY2hsaWNoIGRpZXNlcyBKYWhyIGVoZXIgYWxzICJOaWNlIHRvIGhhdmUiIGRlbm4gYWxzICJNdXNzIHNlaW4iCmFuc2VoZW4gLi4uIAoKTnVuIGphLCBzY2hhdWVuIHdpciBtYWwsIHdhcyBkaWUgQW5mcmFnZSBlcmdpYnQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2Fzc2VyIChaYXBob2IsIDE1LiBKdWwgMjAyMSwgMjI6Mzc6MDEpOgp+IyEgcm49WmVzc3RyYSBydD0xNjI2MzM2MzY0IHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjI4OTI0OQpIaWVyIG1hbCBlaW4gRm90byBtaXQgZGVyIEhhdHRpbmdlciBSdWhyYnJ1ZWNrZSBhdXMgZGVyIEx1ZnQuCkRlciBDYW1waW5ncGxhdHogbGllZ3QgbmFoIGFuIGRlciByZWNodGVuIEJpbGRtaXR0ZS4KCmh0dHBzOi8vdHdpdHRlci5jb20vUFN0YWx0ZXIvc3RhdHVzLzE0MTU2MDkwNDg1NTMxMTU2NTAvcGhvdG8vMQoKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2Fzc2VyIChEZWFkZHksIDE1LiBKdWwgMjAyMSwgMjI6NTg6MDUpOgp+IyEgcm49WmFwaG9iIHJ0PTE2MjYzODE0MjEgcmc9cGFydHkKfiMhIHRpZD0xNjI2Mjg5MjQ5ClRyYW5za3JpcHRpb246CkZvdG8gZGVyIEhhdHRpbmdlciBSdWhyYnJ1ZWNrZSBhdXMgZGVyIEx1ZnQsIEJsaWNrIG5hY2ggTm9yZGVuLgpEZXIgQ2FtcGluZ3BsYXR6IHplaWNobmV0IHNpY2ggZGVtZW50c3ByZWNoZW5kIHJlY2h0cyBkZXIgQnJ1ZWNrZSBhYi4gRGFzCkhhZXVzY2hlbiBtaXQgZGVuIEtsb3MsIER1c2NoZW4gdW5kIEp1dHRhcyBIYXVzIHN0ZWh0IGF1cyBkZW0gV2Fzc2VyIGhlcmF1cywKYWJlciBzZWxic3QgaGllcnZvbiBpc3QgZGFzIHByaXZhdGUgVm9yZ2FlcnRjaGVuIHZvbiBicmF1bmVyIFN1cHBlCnVlYmVyZmx1dGV0LgpEZXIgb2JlcmUgVGVpbCBkZXIgS3JvbmVuIGRlciBXZWlkZW4gYW4gInVuc2VyZW0iIFBsYXR6LCBhbiB3ZWxjaGVuIHdpciBpbW1lcgpNdWVsbHR1ZXRlbiB1bmQgSHVuZGVsZWluZW4gYXVmaGFlbmdlbiwgc2NoYXV0IGF1Y2ggbm9jaCBnZXJhZGUgYXVzIGRlbQpXYXNzZXIuClVudGVyIGRlciBSdWhyYnJ1ZWNrZSBpc3Qgbm9jaCBzbyAybSBMdWZ0LgpEZXIgV2VnIGRlciB2b20gQ2FtcGluZ3BsYXR6IGhpbmF1ZiB6dXIgU3RyYXNzZSBmdWVocnQsIGlzdCBhdWNoIHByYWt0aXNjaAp1bnRlciBXYXNzZXIuIERpZSBTLUJhaG4tSGFsdGVzdGVsbGUgc2NoZWludCBnZXJhZGUgc28gZWJlbiBhdWYgdHJvY2tlbmVyCkhvZWhlIHp1IHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYXNzZXIgKENyb2Z0LCAxNS4gSnVsIDIwMjEsIDIzOjUwOjUzKToKfiMhIHJuPURlYWRkeSBydD0xNjI2MzgyNjg1IHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjI4OTI0OQpEaWUgVG9pbGV0dGVuIGRpZSB3aXIgbnV0emVuIGhhYmVuIG1pbmRlc3RlbnMgMW01MCBXYXNzZXJob2VoZSBhdWYgZGVtIEJpbGQuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2Fzc2VyIChHbG9pbnNvbiwgMTYuIEp1bCAyMDIxLCAwMDowODowMSk6Cn4jISBybj1Dcm9mdCBydD0xNjI2Mzg1ODUzIHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjI4OTI0OQpEYW5rZSBmdWVyIGV1cmUgTXVlaGUgYmVpbSBTdWNoZW4gZWluZXMgQXVzd2VpY2hvcnRlcyEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYXNzZXIgKFplc3N0cmEsIDE2LiBKdWwgMjAyMSwgMDk6MTQ6NDUpOgp+IyEgcm49RGVhZGR5IHJ0PTE2MjYzODI2ODUgcmc9cGFydHkKfiMhIHRpZD0xNjI2Mjg5MjQ5CkJlaSBkZXIgQnJ1ZWNrIHd1ZXJkZSBpY2ggc2FnZW4sIGRhIGlzdCBtZWhyIFBsYXR6IGFscyAybSwgYWJlciBkZW0gUmVzdApzY2hsaWVzc2UgaWNoIG1pY2ggYW4uIFd1ZXJkZSBzYWdlbiBhbmhhbmQgZGVyIHNpY2h0YmFyZW4gS3JvbmVuaG9laGUgZGVyCkJhZXVtZSBiZWkgdW5zIGRhIGFuIGRlciBXaWVzZTogdW5zZXJlIFdpZXNlIHN0ZWh0IHNvIDIuNW0gdGllZiB1bnRlciBXYXNzZXIuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYXNzZXIgKENyb2Z0LCAxNi4gSnVsIDIwMjEsIDA5OjE5OjE4KToKfiMhIHJuPVplc3N0cmEgcnQ9MTYyNjQxOTY4NSByZz1wYXJ0eQp+IyEgdGlkPTE2MjYyODkyNDkKV2FzIHp1IGRlbiAxLjVtIFdhc3NlcmhvZWhlIGJlaSBkZW4gVG9pbGV0dGVuIHBhc3N0IHp6Z2wgZGVyIFN0dWZlbiBydW50ZXIKdW5kIGRlbSBBYnNhdHogYmVpIGRlbiBBdXRvcy4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXYXNzZXIgKFplc3N0cmEsIDE2LiBKdWwgMjAyMSwgMDk6NTU6NTcpOgp+IyEgcm49Q3JvZnQgcnQ9MTYyNjQxOTk1OCByZz1wYXJ0eQp+IyEgdGlkPTE2MjYyODkyNDkKRGVyIER1cmNoZmx1c3MgaW4gSGF0dGluZ2VuIG5hZWhlcnQgc2ljaCBtaXQgNzAwIG1eMy9zIG51biBsYW5nc2FtIC0gdm9uIG9iZW4KLSBkZW0gbWl0dGxlcmVuIEhvY2h3YXNzZXIgNTQxIG1eMy9zIHVuZCBkZXIgUGVnZWwgc2lua3QgYXVmIDZtLiBEZXIgQWJmYWxsCnZlcmxhbmdzYW10ZSBzaWNoIGhldXRlIE5hY2h0IGV0d2FzLCBhYmVyIGluIFdldHRlciBpc3QgZWluIHNjaG5lbGxlcmVzCkFic2lua2VuIHp1IHNlaGVuLgoKRGVyIFJ1aHJ2ZXJiYW5kIG1lbGRldGUsIGRhc3Mgc28gZWluIEhvY2h3YXNzZXIgbWluLiBzZWl0IDE5NjAgbmljaHQgYXVmdHJhdAp1bmQgZGVyIEhvY2h3YXNzZXJ3YXJuZGllbnN0IGRlciBCZXppcmtzcmVnaWVydW5nIEFybnNiZXJnLCBkYXNzIGRpZSBQZWdlbApldHdhIDFtIHVlYmVyIGRlbSBsYWdlbiwgd2FzIGJpc2hlciBhdWZnZXRyZXRlbiBpc3QuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2Fzc2VyIChEZWFkZHksIDE2LiBKdWwgMjAyMSwgMTE6NTk6MjYpOgp+IyEgcm49WmVzc3RyYSBydD0xNjI2NDIyMTU3IHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjI4OTI0OQpOb2NoIGVpbm1hbCBlaW4gQmlsZCBhdXMgZWluZXIgYW5kZXJlbiBQZXJzcGVrdGl2ZSwgWmVudHJhbCBpbSBCbGljawplaWdlbnRsaWNoIGdlbmF1IEp1dHRhcyBJbnNlbCwgbWFuIHNjaGF1dCB2b24gT3N0ZW4gZHJhdWYsIGQuaC4gbWFuIHNpZWh0IGRpZQpTZWl0ZSBtaXQgZGVuIFRvaWxldHRlbi4KRGllIFRvaWxldHRlbnR1ZXIgaXN0IHp1IGdyb3NzZW4gVGVpbGVuIHNpY2h0YmFyLCB2aWVsbGVpY2h0IGthbm4gbWFuIGphIG5vY2gKdHJvY2tlbmVuIEhpbnRlcm5zIHNlaW4gR2VzY2hhZWZ0IHZlcnJpY2h0ZW4uIERpZSBQaW5rZWxyaW5uZSBzb2xsdGUgbWFuIGFiZXIKdmVybXV0bGljaCBuaWNodCBudXR6ZW4uCmh0dHBzOi8vdHdpdHRlci5jb20va2FtcGZiaWtlci9zdGF0dXMvMTQxNTc2MTY0NjgwNzY2NjY5Mi9waG90by8xCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVtYnVjaHVuZyAoSHVtbmksIDE2LiBKdWwgMjAyMSwgMTg6MDI6MTApOgp+IyEgcm49QnVnZml4IHJ0PTE2MjY0NDY4MDAgcmc9cGFydHkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE2MjY0NDY1OTgKSnVjaGghIExvYmV0IHVuZCBwcmVpc2V0IEJ1Z2ZpeCEgRGFzIHdhciBncm9zc2FydGlnIQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbWJ1Y2h1bmcgKEdsb2luc29uLCAxNi4gSnVsIDIwMjEsIDIzOjM4OjEyKToKfiMhIHJuPUJ1Z2ZpeCBydD0xNjI2NDQ2NTk4IHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xNjI2NDQ2NTk4Ck1vaW4sCgp3aWUgc2llaHQgZXMgZGVubiBkYSBtaXQgQmFkZW4gYXVzPyBLYW5uIGRhcyBlaW5lciBkZXIgYW0gV0UgQW5yZWlzZW5kZW4Ka2xhZXJlbj8gRGEgc3RlaHQgd2FzIHZvbiBCYWRlbiBhbiBkZW4gS2FuYWVsZW4sIGFiZXIgZGllIGRpcmVrdCBiZWZhaHJlbmVuCmthbm4gaWNoIG1pciBrYXVtIGFscyBCYWRlbW9lZ2xpY2hrZWl0IGZ1ZXIgZGllIEtpbmRlciB2b3JzdGVsbGVuLgoKRGl0byBnZ2YgU1VQZW4gLSBLYW51d2FuZGVybiBpc3QgamEgaW1tZXIgZWluZSBhbmRlcmUgS2xhc3NlLCBpc3QgZGFzIGRhCmVybGF1YnQ/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbWJ1Y2h1bmcgKEFtYXJ5bGxpcywgMTYuIEp1bCAyMDIxLCAyMzo1NTo1MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xNjI2NDcxNDkyIHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjQ0NjU5OApIbSwgaWNoIGtvZW5udGUgbWlyIHZvcnN0ZWxsZW4sIGRhc3MgYW5nZXNpY2h0cyBkZXIgZGVyemVpdGlnZW4gSG9jaHdhc3NlcmxhZ2UKZGllIG1laXN0ZW4gZWhlciBmcm9oIHNpbmQsIHdlbm4gc2llIGF1ZiBkZW0gVHJvY2tlbmVuIGJsZWliZW4ga29lbm5lbiA7KQpJY2gga2VubmUgamEgZGllIFN0ZWxsZW4gZnVlcnMgQmFkZW4gb2RlciBLYW51ZmFocmVuIG5pY2h0LCBhYmVyIHdpbGxzdCBEdSBkYXMKd2lya2xpY2ggcmlza2llcmVuIGluIGRlciBkZXJ6ZWl0aWdlbiBMYWdlPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVW1idWNodW5nIChHbG9pbnNvbiwgMTcuIEp1bCAyMDIxLCAwMDowODo1Nyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTYyNjQ3MjU1MSByZz1wYXJ0eQp+IyEgdGlkPTE2MjY0NDY1OTgKTmFqYSwgbmljaHQgamVkZXMgSG9jaHdhc3NlciB3aXJiZWx0IHVuZCBzdHJ1ZGVsdCBhbGxlcyB3ZWcuIERlciBQZWdlbCB2b24KU2NobG9zc3NlZSB1bmQgQm9kZW5zZWUgaXN0IGF1Y2ggemllbWxpY2ggYW0gQW5zY2hsYWcgdW5kIGRlbm5vY2ggYmVpIHJ1aGlnZW0KV2V0dGVyIHN1cGVyIGJlYmFkYmFyLgoKRGFoZXIgamEgZGllIEZyYWdlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVtYnVjaHVuZyAoQXJhdGhvcm4sIDE3LiBKdWwgMjAyMSwgMDA6MTY6NDcpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE2MjY0NzI1NTEgcmc9cGFydHkKfiMhIHRpZD0xNjI2NDQ2NTk4Ck5hamEsIGRpZSBHZWdlbmQgZGEgaXN0IGphIHJlY2h0IHdlaXQgd2VnIHZvbSBIb2Nod2Fzc2VyZ2ViaWV0LCBpY2ggcmVjaG5lCm1vbWVudGFuIG5pY2h0IG1pdCBncm9zc2VuIFByb2JsZW1lbiBpbiBkaWVzZXIgUmljaHR1bmcuIERhIGlzdCBuaWNodCB3ZWl0IHdlZwphdWNoIG5vY2ggZGllIExpcHBlLCBnZ2YuIGthbm4gZGllIEFsdGUgRmFocnQgKGRlciBhbHRlIEFybSBlaW5lcyBkZXIgS2FuYWVsZQpkb3J0KSBhdWNoIGJlc2Nod29tbWVuIHdlcmRlbiwgZGFzIGhhYmUgaWNoIGdlcmFkZSBuaWNodCBzbyByZWNodCByYXVzZmluZGVuCmtvZW5uZW4uIEplZGVuZmFsbHMgc2NoZWluZW4gZGllIGJlaWRlbiBLYW5hZWxlIGRhIGRydW1oZXJ1bSBzZWhyIGVudHNwYW5udGUKUGVnZWwgenUgaGFiZW4uCgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFVtYnVjaHVuZyAoR2xvaW5zb24sIDE3LiBKdWwgMjAyMSwgMDA6Mjg6NTUpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTYyNjQ3MzgwNyByZz1wYXJ0eQp+IyEgdGlkPTE2MjY0NDY1OTgKT2hhLiBBbnNjaGVpbmVuZCBrYW5uIG1hbiB3aXJrbGljaCBhbiBkZW4gS2FuYWVsZW4sIGFsc28gYXVjaCBkZW4gZ3Jvc3NlbgpiYWRlbjogIkVpbiBXYXNzZXJ3YW5kZXJyYXN0cGxhdHogaW4gZGVyIE5DJGhlIGRlciBXYXNzZXJzY2h1dHpwb2xpemVpIGxDJGR0CmF1c3dDJHJ0aWdlIEdDJHN0ZSBlaW4genVtIFZlcndlaWxlbiwgYmVpIGRlbiBEYXR0ZWxuZXIgU2NobGV1c2VuIGxhc3NlbiBzaWNoCmdlcnVoc2FtIGRpZSB2b3JiZWlmYWhyZW5kZW4gU2NoaWZmZSBiZW9iYWNodGVuLCBkZXJlbiBHcm9lc3NlIGZ1ZXIgS2luZGVyIHdpZQphdWNoIGZ1ZXIgRXJ3YWNoc2VuZSBvZnQgYmVtZXJrZW5zd2VydCBpc3QuIEF1ZiBkZW0gV2Fzc2VyIHRyZWZmZW4gc2ljaCBkaWUKTWVuc2NoZW4genVtIFJ1ZGVybiBvZGVyIHp1bSBLYW51IGZhaHJlbiBpbiBkZW4gZHJlaSBXYXNzZXJzcG9ydHZlcmVpbmVuOyBpbQpLYW5hbCBrYW5uIG1hbiBpbSBTb21tZXIgcHJpbWEgYmFkZW47IGJlaSBndXRlbSBXZXR0ZXIgd2VyZGVuIGRpZSBVZmVyIGdlbnV0enQKenVtIEdyaWxsZW4uIgoKaHR0cHM6Ly93d3cuaW5pdGlhdGl2ZS1kYXR0ZWxuLmRlL2RpZS1wZXJsZW4tZGVyLXN0YWR0L2thbmFsa3JldXotZGF0dGVsbi8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBVbWJ1Y2h1bmcgKEh1bW5pLCAxNy4gSnVsIDIwMjEsIDAwOjMwOjQ5KToKfiMhIHJuPUdsb2luc29uIHJ0PTE2MjY0NzQ1MzUgcmc9cGFydHkKfiMhIHRpZD0xNjI2NDQ2NTk4CkRhcyBoYWIgaWNoIGViZW4gYXVjaCBlbnRkZWNrdC4gRWJlbnNvIGFiZXIgYXVjaCBlaW5lIFNlaXRlLCBkaWUgc2lubmdlbWFlc3MKc2FndGUgIkJhZGVuIGlzdCBlaWdlbnRsaWNoIHZlcmJvdGVuLCBhdXNzZXJoYWxiIHZvbiB3aXJrbGljaGVuIFZlcmJvdHN6b25lbgooV2VocmUgLi4uKSB3aXJkIGVzIGFiZXIgbmljaHQgdmVyZm9sZ3QuIiBJY2ggd3VlcmRlIGRhbm4gZWluZmFjaCBkaWUKRWluaGVpbWlzY2hlbiBmcmFnZW4uCgpOYWNoIGFsbGVtLCB3YXMgaWNoIGZpbmRlLCBpc3QgU1VQZW4gd29obCBlcmxhdWJ0LiBBYmVyIGF1Y2ggZGEgd3VlcmRlIGljaApub2NobWFsIGRpZSBFaW5oZWltaXNjaGVuIGZyYWdlbiAuLi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBVbWJ1Y2h1bmcgKEJ1Z2ZpeCwgMTguIEp1bCAyMDIxLCAxMjozMzozNyk6Cn4jISBybj1IdW1uaSBydD0xNjI2NDc0NjQ5IHJnPXBhcnR5Cn4jISB0aWQ9MTYyNjQ0NjU5OApOb2NoIHp1ciBJbmZvLCBlcyB3aXJkIGRpZXNlcyBKYWhyIGtlaW5lIEJpZXJ6ZWx0Z2Fybml0dXIgZ2ViZW4sIHdlciBlaW5lbgpTdHVobCBoYXQgdW5kIG1pdGJyaW5nZW4ga2Fubiwgc29sbGx0ZSBkaWVzIGFsc28gdHVuLgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGVja2Rvc2VuIChIdW1uaSwgMTguIEp1bCAyMDIxLCAyMToxNToyOSk6CkhhbGxvIGlociwKCndpZSBpbSBDYW1waW5nYmVyZWljaCBuaWNodCBnYW56IHVudWVibGljaCwga29tbXQgZGVyIFN0cm9tIGF1ZiBkZW0KQ2FtcGluZ3BsYXR6IGF1cyBkcmVpYWRyaWdlbiBTdGVja2Rvc2VuLiBTb2xjaGUgQW5zY2hsdWVzc2UgZmluZGV0IG1hbiBhbgp2aWVsZW4gV29obm1vYmlsZW4gLSBsZWlkZXIgaGF0IG5pY2h0IGplZGVyIGRhZnVlciBlaW5lbiBBZGFwdGVyLiBXZXIgZWluZW4KaGF0LCBzb2xsdGUgaWhuIGJpdHRlIG5vY2ggbWl0YnJpbmdlbi4KCkRhbmtlIQpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWVyIFZvcnRyYWcgd2FlaHJlbmQgZGVyIE1HLVBhcnR5ISAoWmFwaG9iLCAyMC4gSnVsIDIwMjEsIDA4OjE3OjUyKToKfiMhIHJuPVphcGhvYiBydD0xNjIzNTQxOTI5IHJnPXBhcnR5Cn4jISB0aWQ9MTYyMzU0MTkyOQpIZXkgTGV1dGUsCgphdWZncnVuZCBha3R1ZWxsZXIgRW50d2lja2x1bmdlbiB3dXJkZSBkaWVzZXIgVm9ydHJhZyB2ZXJzY2hvYmVuIHVuZCBkaWVzZXMKSmFociBuaWNodCBzdGF0dGZpbmRlbi4KCkF1Y2ggd2VpdGVyaGluIHN1Y2hlIGljaCBWb3JzY2hsYWVnZSBmdWVyIFRoZW1lbiB1bmQvb2RlciBQZXJzb25lbiwgZGllIGZ1ZXIKVm9ydHJhZyBvZGVyIFNlbWluYXIgaW4gRnJhZ2Uga29tbWVuIGtvZW5udGVuLiBFaW4gcGFhciBoYWJlIGljaCBzY2hvbi4KCkRhbmtlLCBHcnVlc3NlLApaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXR0aW5nZW4/IChHbG9pbnNvbiwgMjYuIEphbiAyMDIyLCAxMjozMDo1NSk6CkFuZ2VzdG9zc2VuIGR1cmNoIE1HIGVWLVByb3Rva29sbHMgdW5kIGFubGFlc3NsaWNoIGRlcyBhbmdlZHJvaHRlbiAzMGphZWhyaWdlbgpKdWJpbGFldW1zIGhhYmUgaWNoIGVudGRlY2t0LCBkYXNzIGRhcyBSdWhyY2FtcGluZyB3aWVkZXIgZ2VvZWZmbmV0IGlzdC4KCk5hYT8gTnVkZ2UgbnVkZ2U/IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhdHRpbmdlbj8gKENyb2Z0LCAyNi4gSmFuIDIwMjIsIDIwOjQ0OjE5KToKfiMhIHJuPUdsb2luc29uIHJ0PTE2NDMxOTY2NTUgcmc9cGFydHkKfiMhIHRpZD0xNjQzMTk2NjU1CkRlciB1ZWJsaWNoZSBUZXJtaW4gd2FlcmU6IDI1Li0zMS43LgpTYXZlIHRoZSBkYXRlIG9kZXIgc28uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhdHRpbmdlbiAyMDIyIChIdW1uaSwgIDIuIEFwciAyMDIyLCAxODo0OTozNik6Cn4jISBybj1IdW1uaSBydD0xNjQ4OTE3NjExIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xNjQ4OTE3NjExCkhhbGxvIGlociwKCm5vY2ggZWluZSBGcmFnZToKCkZ1ZWhsdCBzaWNoIGplbWFuZCBiZW11ZXNzaWd0LCBzaWNoIHVtIGlyZ2VuZHdlbGNoZSBHb29kaWVzIChULVNoaXJ0cywKQmllcmtydWVnZSwgU3RpZnRlIC4uLikgenUga3VlbW1lcm4/IEljaCB3YXJ0ZSBtYWwgbm9jaCBhdWYgQW50d29ydGVuLCB3ZW5uCmRlbSBuaWNodCBzbyBpc3QsIHdlcmRlIGljaCBkaWUgUGFydHlicmV0dGVyIG9obmUgZWluZSBzb2xjaGUgRnJhZ2UKYXVmc3RlbGxlbi4gU29sbHRlIGplbWFuZCBMdXN0IGhhYmVuLCBzb3dhcyB6dSBtYWNoZW4sIG1lbGRldCBldWNoLCBkYW5uIHBhY2sKaWNoIGVpbmUgZW50c3ByZWNoZW5kZSBGcmFnZSBhdWZzIFBhcnR5YnJldHQuCgpJY2ggd3VlcmRlIG1hbCBzYWdlbiwgaWNoIHdhcnRlIG5vY2ggYmlzIHp1bSBuYWVjaHN0ZW4gV29jaGVuZW5kZSBtaXQgZGVuClBhcnR5YnJldHRlcm4gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhdHRpbmdlbiAyMDIyIChHbG9pbnNvbiwgIDIuIEFwciAyMDIyLCAyMDozNzo0Nyk6Cn4jISBybj1IdW1uaSBydD0xNjQ4OTE3NjExIHJnPXBhcnR5LmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xNjQ4OTE3NjExCkp1aHUhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIYXR0aW5nZW4gMjAyMiAoWmFwaG9iLCAgMi4gQXByIDIwMjIsIDIxOjEyOjMxKToKfiMhIHJuPUdsb2luc29uIHJ0PTE2NDg5MjQ2Njcgcmc9cGFydHkKfiMhIHRpZD0xNjQ4OTE3NjExCkd1dGUgRnJhZ2UhIEljaCBoYXR0ZSBqYSBsZXR6dGVzIEphaHIgcmVjaHQgc3BvbnRhbiBlaW4gU2hpcnQgRGVzaWduCnZlcmFuc3RhbHRldCB1bmQgYmVzb3JndC4gRmFsbHMgZGEgamVtYW5kIGRyYXVmIGF1ZmJhdWVuIG1vZWNodGUsIGthbm4gaWNoCmdlcm5lIERldGFpbHMgdGVpbGVuLiBGYWxscyBpaHIgZGFzIGdsZWljaGUgU2hpcnQgbm9jaG1hbCB3dWVuc2NodCwga29lbm50IGlocgphdWNoIGdlcm4gYmVzY2hlaWRzYWdlbi4gVmllbGxlaWNodCBrYW5uIG1hbiBhdWNoIGVpbmVuICJzY2hvbiBzZWl0IHVlYmVyIDMwCkphaHJlbiIgU3RpY2tlciBpcmdlbmR3byBpbiBkaWUgRWNrZSBrbGF0c2NoZW4gb2RlciBzbywga2VpbmUgQWhudW5nLi4uIDpECgpaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIYXR0aW5nZW4gMjAyMiAoSHVtbmksICAyLiBBcHIgMjAyMiwgMjE6MzE6NDYpOgp+IyEgcm49WmFwaG9iIHJ0PTE2NDg5MjY3NTEgcmc9cGFydHkKfiMhIHRpZD0xNjQ4OTE3NjExCjMwLUphaHJlLVN0aWNrZXIgaGFsdGUgaWNoIGZ1ZXIgZWluZSBncm9zc2FydGlnZSBJZGVlLCBkYSBrb2VubnRlIG1hbiBkYW5uCmFiZXIgZWhlciBhbHMgRnJhZ2UgIndpZSB2aWVsZSB3aWxsc3QgZHUiIGVpbmJhdWVuIGJ6dy4gZGFzIGF1Y2ggYW4gTGV1dGUKc2NoaWNrZW4sIGRpZSBiZWkgZGVyIFBhcnR5IG5pY2h0IGRhYmVpIHNpbmQgLi4uCgpJY2ggYmluIGVpbiBlaGVyIHNjaGxlY2h0ZXIgRGVzaWduZXIgLi4uIGthbm4gZGFzIGplbWFuZD8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhhdHRpbmdlbj8gKFphcGhvYiwgMTEuIE1haSAyMDIyLCAyMjo0ODo0Myk6Cn4jISBybj1Dcm9mdCBydD0xNjQzMjI2MjU5IHJnPXBhcnR5Cn4jISB0aWQ9MTY0MzE5NjY1NQpNaXIgd3VyZGUgYmVyaWNodGV0LCBlaW4gZ2VtZWluZXIgRHJhY2hlIGhhYmUgZGllIFBhcnR5YnJldHRlciBnZWZyZXNzZW4uCkdpYnQgZXMgWmV1Z2VuPyBFcnNhdHo/IEtvbXBlbnNhdGlvbj8KClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhhdHRpbmdlbj8gKEh1bW5pLCAyOS4gTWFpIDIwMjIsIDEwOjUzOjQ2KToKfiMhIHJuPVphcGhvYiBydD0xNjUyMzAyMTIzIHJnPXBhcnR5Cn4jISB0aWQ9MTY0MzE5NjY1NQpTb3JyeSwgZGFzcyBkYXMgc28gbGFuZ2UgZ2VkYXVlcnQgaGF0LiBEYSB3YXJlbiBub2NoIGRpZSBhbHRlbiBEYXRlbiBkcmluLiBCaW4KamV0enQgYWJlciBkYXp1IGdla29tbWVuIC0gZnJvaGVzIEFubWVsZGVuIQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCg==