VW5kIHdpZWRlciB3YXMgbmV1ZXMuLi4gKENhdHdlYXpsZSwgMjguIE5vdiAxOTk0LCAxOToxOTo1Mik6Ckt1Z2d1ZyEKVGphYWFhYSwgZGEgZ2lidCBlcyBzY2hvbiB3aWVkZXIgbmUgbmV1ZSBuZXdzZ3JvdXAsIGVpbmUgenUgZGVuCnVuemFlaGxpZywgdmllbGVuLiBVbmQgaWhyIHdlcmRldCBuaWNodCBnbGF1YmVuLCB3b3p1IHNpZSBndXQgaXN0LgpFcyBpc3QgdGF0c2FlY2hsaWNoIHNvLCB3aXIgd2VyZGVuIGVpbmVuIFZFUkVJTiBncnVlbmRlbiEKR2xhdWJ0IGlociBuaWNodD8gKmdyaW5zKiBJc3QgYWJlciBzby4KRGllIEludGVyZXNzZW4gZGVzIFZlcmVpbnMgc2luZCB6dW5hZWNoc3Qgd29obCBzaWNoZXIgZGllIG9lZmZlbnRsaWNoZW4KSW50ZXJlc3NlbiBkZXMgTW9yZ2VuR3JhdWVuLiBNYWwgc2VoZW4sIHdpZSB3ZWl0IGRhcyBmdWVocnQuClVuc2VyIGVya2xhZXJ0ZXMgWklFTCBpc3QgZXMsIGRhcyBNb3JnZW5HcmF1ZW4gJ3NvIHdlaXQgd2llIG1vZWdsaWNoJwp2b24gZGVyIFVuaXZlcnNpdGFldCB1bmFiaGFlbmdpZyB6dSBtYWNoZW4uIERpZXMgaXN0IHNpY2hlcmxpY2ggbmljaHQKa29tcGxldHQgcmVhbGlzaWVyYmFyLCBkYSB3aXIgaW1tZXIgYmVzdGltbXQgZGVuIE5ldHphbnNjaGx1c3MgZGVyIFVuaQpiZW51dHplbiBtdWVzc2VuLCBqZWRvY2ggYWxsZXMgYW5kZXJlIGlzdCB2ZXJzZWxic3RzdGFlbmRpZ2Jhci4gU28gd2VyZGVuCndpciBhbHNvIGVyc3QgbWFsIHNlaGVuLCBkYXMgdW5zIGZpbmFuemllbGwgdW50ZXIgZGllIEFybWUgZ2VncmlmZmVuCndpcmQuIEVyc3RlIFNjaHJpdHRlIGRlciBVbmFiaGFlbmdpZ2tlaXQgc2luZCBkYW5uIHdvaGwgbWFsIG5lIGVpZ2VuZQpGZXN0cGxhdHRlLCBldnRsLiBlaWdlbmUgTW9kZW1sZWl0dW5nZW4gYmVpbSBSWiB1bmQgc2NobGllc3NsaWNoIHVuZAplbmRsaWNoIGVpbiBlaWdlbmVyIFJlY2huZXIsIHNjaG9lbiBzY2huZWxsIG5hdHVlcmxpY2ggOi0pClByaW1hZXJlcyBQcm9ibGVtIGJlaSB1bnMgaXN0LCB3aXIgdmVyc3VjaGVuIGRlbiBWZXJlaW4gZ2VtZWlubnVldHppZwp6dSBnZXN0YWx0ZW4uIEJlZGVua3QgbWFuLCBkYXMgd2lyIGVpbiBTcGllbCBzaW5kLCBpc3QgZGllcyBiZXN0aW1tdApzaGVyIHNjaHdpZXJpZy4gSWNoIGdsYXViZSBhbGxlcmRpbmdzLCBkYXMgZWluIE11ZCB2aWVsIG1laHIgYWxzIG51ciBlaW4KU3BpZWwgaXN0LiBEYXMgZmFlbmd0IGFuLCBiZWkgZGVyIEJlbnV0enVuZyBkZXMgTXVkcyBhbHMgS29tbXVuaWthdGlvbnMtCnBsYXR0Zm9ybSwgbWFuIGxlcm50IG1pdCBhbmRlcmVuIE1lbnNjaGVuIHp1IGtvbW11bml6aWVyZW4gdW5kIHp1Cmtvb3BlcmllcmVuLiBNYW4gd2lyZCBpbiBlaW5lIGtvbXBsZXR0IHZpcnR1ZWxsZSBTb3ppYWxzdHJ1a3R1ciBlaW5nZWJldHRldAp1bmQgaXN0IGJlbXVlaHQgc2ljaCBkYXJpbiB6dXJlY2h0enVmaW5kZW4uIEFscyBNYWdpZXIgc2NobGllc3NsaWNoIGtvbW10CmRlciBTcGllbGFzcGVrdCBnYXIgbmljaHQgbWVociB6dSB0cmFnZW4sIHZpZWxtZWhyIGxlcm50IG1hbgpvYmpla3RvcmllbnRpZXJ0ZQpQcm9ncmFtbWllcnVuZyB1bmQgYXJiZWl0ZXQgYXVzc2VyZGVtIHNvZ2FyIGZyZWl3aWxsaWcgZnVlciBhbmRlcmUuCkJldHJhY2h0ZXQgbWFuIGFsbCBkaWVzLCBpc3QgZXMgZHVyY2hhdXMgZ2VyZWNodGZlcnRpZ3QsIGVpbmVuIGRlcmFydGlnZW4KZ2VtZWlubnVldHppZ2VuIFZlcmVpbiBhdWYgZGllIEJlaW5lIHp1IHN0ZWxsZW4uCldvenUgbnVuIGRpZXNlIFJ1YnJpaz8KRXJzdCBlaW5tYWwgenVyIEluZm9ybWF0aW9uIHVlYmVyIGRlbiBWZXJlaW4gdW5kIGRlc3NlbiBFcmZvbGdlLCBldGMuCkFtIEFuZmFuZywgaW4gZGVyIEdydWVuZHVuZ3N6ZWl0IGVyc3RtYWwgenVyIE1laW51bmdzYmlsZHVuZywgYWxzbyB3aWUKSWhyIGRhenUgc3RlaHQuIEd1dCwgb2RlciBuaWNodCBndXQ/IFViZXJmbHVlc3NpZyBvZGVyIHNvZ2FyIG1hY2h0Z2VpbGVyCkR1ZW5uc2lubj8gRXVlciBGb3J1bSBkYWZ1ZXIgaXN0IGRpZXNlIFJ1YnJpay4gTmF0dWVybGljaCB3ZXJkZW4gd2lyCmF1Y2ggZWluaWdlIEZyYWdlbiBoYWJlbiwgZGllIGhpZXIgZGlza3V0aWVydCB3ZXJkZW4ga29lbm5lbi4KTWVpbmUgZXJzdGVuIEZyYWdlbiBkYXp1OgpXaXNzdCBpaHIgbmVuIGh1ZWJzY2hlbiwgcGFzc2VuZGVuIE5hbWVuIGZ1ZXIgZGVuIFZlcmVpbj8gU29uc3QgZW5kZXQKZXIgbmFlbWxpY2ggYWxzIE1HZVYgOikKVW5kOiBEYSB3aXIgamEgc3RhcmsgZmluYW56aWVsbGUgWmllbGUgaGFiZW4sIHdpZSBkZW5rdCBpaHIgZGFydWViZXIKZnVlciBmcmVpd2lsbGlnZSBNaXRnbGllZGVyIGVpbmUga2xlaW5lIEJlaXRyYWdzc3VtbWUgdm9uLCBzYWdlbiB3aXIsCjEgRE0gcHJvIE1vbmF0IHp1IHZlcmxhbmdlbiggaXN0IHdpcmtsaWNoIG5pY2h0IGdyYWRlIHZpZWwpLgpTbyBqZXR6dCBicmF1Y2ggaWNoIGVyc3RtYWwgbmUgVGlwcGF1c2UuCllvdXJzIHRydWx5LAogICAgICAgICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNR2VWPz8/IChZZW5kaSwgMjguIE5vdiAxOTk0LCAxOToyMTozNik6CgpNZWdhR2lnYUVsZWt0cm9uZW5Wb2x0Pz8/CgogICAgICAgICAgICAgICBZVFkgKGhhdCBtYWwgUGh5c2lrIHN0dWRpZXJ0Li4uKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNR2VWPz8/IChCZXJ0cmFtLCAyOC4gTm92IDE5OTQsIDE5OjQwOjM1KToKIyEgcm49WWVuZGkgcnQ9Nzg2MDQ2ODk2Ck5laW4sIG5pY2h0IE1lZ2FHaWdhRWxla3Ryb25lblZvbHQsIHNvbmRlcm4KCiAgICAgICAgICAgICAgICBNYWNodGdlaWxlciBlaWdlbm51ZXR6aWdlciBWZXJlaW4KCiAgICAgIEJlcnRyYW0gLS0gaW1tZXIgbm9jaCBOZWFuZGVydGFsZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdydWVuZHVuZ3N2ZXJzYW1tbHVuZyAoQ2F0d2VhemxlLCAyOC4gTm92IDE5OTQsIDIxOjMwOjEzKToKSGkhClp1ciBXYWhsIGVpbmVzIHJlZ3VsYWVyZW4gVm9yc3RhbmRlcyBzY2hsYWdlIGljaCBtYWwgYWxzIFplaXRwdW5rdApmdWVyIG5lIEdydWVuZHVuZ3N2ZXJzYW1tbHVuZyBuYWVjaHN0ZW4gTW9udGFnLCBkZW4gNS4xMi4xOTk0LCB2b3IuClRyZWZmZW4gV28/IFRlcm1pbiBvaz8KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3J1ZW5kdW5nc3ZlcnNhbW1sdW5nIChHcmltbWJvcm4sIDI4LiBOb3YgMTk5NCwgMjE6Mzc6MTUpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzg2MDU0NjEzCgpXaWUgd2FlcnMgbWl0IGRlbSBGZXN0c2FhbCBpbiBOaWJlbGhlaW0/IERlciBzb2xsdGUgZG9jaCBncm9zcyBnZW51ZyBzZWluLi4uCgpZVEdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdydWVuZHVuZ3N2ZXJzYW1tbHVuZyAoQ2hyaXMsIDI5LiBOb3YgMTk5NCwgMDU6NTI6MzEpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzg2MDU0NjEzCkhpLAoKd2FobCBlaW5lcyByZWd1bGFlcmVuIFZvcnN0YW5kZXM/IFdpZSBzb2xsIGRhcyBnZWhlbj8gRWluIFZvcnN0YW5kIGthbm4KZG9jaCBudXIgZ2V3YWVobHQgd2VyZGVuLCB3ZW5uIGVzIGVpbmUgU2F0enVuZyBnaWJ0IHVuZCBkYW1pdCBlaWdlbnRsaWNoCnNjaG9uZWluIFZlcmVpbi4gT2RlciBtZWluc3QgZHUgc28gZXR3YXMgd2llIGVpbmUgQXJiZWl0c2dydXBwZSB6dW0KZW50d2lja2VsbiBkZXIgU2F0enVuZz8gRGFubiBzb2xsdGVzdCBEdSBhYmVyIGJlcml0cyBqZXR6dCBhbmt1ZW5kaWdlbiwKd2lldmllbGUgaW4gZGVyIEdydXBwZSBzZWluIHNvbGxlbiB1bmQgd2FzIGdlbmF1IGRpZSBBdWZnYWJlIHNlaW4gc29sbC4KR2VuYXVzbyBtdXNzIHdvaGwgdm9yaGVyIGtsYXIgc2Vpbiwgd2llIGxhbmdlIGRpZXNlciBWb3JzdGFuZCBleGlzdGllcmVuCnNvbGwuCgpCZXZvciBpY2ggamVtYW5kZW4gV2FlaGxlLCBtb2VjaHRlIGljaCBzY2hvbiB3aXNzZW4sIHdvenUgaWNoIGRlbmplbmlnZW4Kd2FlaGxlLiA6KQoKQ2hyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2htYWwgR3J1ZW5kdW5nc3ZlcnNhbW1sdW5nIChDYXR3ZWF6bGUsIDI5LiBOb3YgMTk5NCwgMTA6NTY6NTApOgpIaSBpaHJzIQpJY2ggZ2xhdWIgaWNoIGhhYiBtaWNoIGRhIGV0d2FzIHVua2xhciBhdXNnZWRydWVja3QuCkVpbmUgR3J1ZW5kdW5nc3ZlcnNhbW1sdW5nIHNvbGx0ZSBuYXR1ZXJsaWNoIGluIFJMIHN0YXR0ZmluZGVuIQpEYXp1IHNpbmQgYWxsZSBkaWUga29tbWVuIHdvbGxlbiwgYWxzbyBkZW4gVmVyZWluIG1pdGdydWVuZGVuIHdvbGxlbiwKaGVyemxpY2ggZWluZ2VsYWRlbi4gRGVyIFRlcm1pbiBpc3QgZXR3YXMga3VyemZyaXN0aWcsIGljaCBtb2VjaHRlIG1laW5lbgpWb3JzY2hsYWcgYXVmIGRlbiBNb250YWcgZGFuYWNoIHZlcnNjaGllYmVuLCBhbHNvIGRlbgoxMi4xMi4xOTk0LCB3byBpc3Qgbm9jaCBuaWNodCBmZXN0LCBpcmdlbmR3bywgd28gdmllbCBQbGF0eiBpc3QuIEFtCmJlc3RlbiBpbiBkZXIgTWF0aGUgaW0gTGljaHRob2YgKHdlbm4gZGFzIGdlaHQgSm9mKSBvZGVyIGlubmVyIEtuZWlwZQpvZGVyIGJlaSBtaXIuCkVpbmUgU2F0enVuZyBHSUJUUyBiZXJlaXRzLiBEaWUgaXN0IGF1Y2ggc2Nob24gYXVmIGRlbSBXZWcgenVtCkZpbmFuemFtdC4gSG9mZiBpY2ggOi0pCldpciBtdWVzc2VuIGFsc28gbGVkaWdsaWNoIGVpbmVuIFZvcnN0YW5kIHdhZWhsZW4sIHdvaGwgdW50ZXIgZGVuCkFud2VzZW5kZW4sIHVuZCBkYW5uIGRpZSB1bnRlcnNjaHJpZWJlbmUgU2F0enVuZyBlaW50cmFnZW4gbGFzc2VuLgpJY2ggaG9mZmUgaWNoIGhhYiBkYSBqZXR6dCBlaW4gYmlzc2NoZW4gbWVociBMaWNodCByZWluZ2VicmFjaHQuCllvdXJzIHRydWx5LAogICAgICAgICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9jaG1hbCBHcnVlbmR1bmdzdmVyc2FtbWx1bmcgKFF1aWxsaWFuLCAyOS4gTm92IDE5OTQsIDEyOjI3OjA3KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc4NjEwMzAxMApobW0sIGRhbm4ga29lbm5lbiBhbHNvIG51ciBsZXV0ZSBtaXRtYWNoZW4sIGRpZQplcyBzY2hhZmZlbiBrdXJ6ZnJpc3RpZyBuYWNoIG11ZW5zdGVyIHp1IGtvbW1lbiA/Pz8KClF1aWxsaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2htYWwgR3J1ZW5kdW5nc3ZlcnNhbW1sdW5nIChDYXR3ZWF6bGUsIDI5LiBOb3YgMTk5NCwgMTM6MTA6NDgpOgojISBybj1RdWlsbGlhbiBydD03ODYxMDg0MjcKWnVuYWVjaHN0IGdlaHQgZXMgbnVuIG1hbCB1bSBkaWUgR3J1ZW5kdW5nIQpNaXRnbGllZCBrYW5uIGhudGVyaGVyIG5hdHVlcmxpY2ggamVkZXIgd2VyZGVuLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjEgRE0gQmVpdHJhZyA/IChSdW1hdGEsIDI5LiBOb3YgMTk5NCwgMTU6NTE6NDkpOgpXZW5uIG1hbiBhbHMgZ2VtZWlubnVldHppZ2VyIFZlcmVpbiB2b24gU3RhYXQgb2RlciBTdGFkdCBHZWxkIGhhYmVuIHdpbGwsCm11c3MgZGVyIE1vbmF0c2JlaXRyYXIgVUVCRVIgZWluZXIgRE0gbGllZ2VuLiAoT2RlciBpcyBkYXMgbnVyIGJlaSBkZSBIZXNzZQo6LSkKCldlciB3aWxsIGRlbm4gZGVuIFNjaGF0em1laXN0ZXIgbWFjaGVuPwpVTkQ6IE9iIHdpciB1ZWJlcmhhdXB0bm9jaCB2b24gZGVyIFVOSSBhdXMgYW5zIE5ldHogZHVlcmZlbiwgaXN0IFNIRVIKZnJhZ2xpY2guIElDSCB3YWVyIGRhZnVlciwgYWJlciBlcyBnaWJ0IGRhIG5vY2ggZGFzIFJaLiBJbnNiZXNvbmRlcmUKd2VubiBlcyBhdWYgZWluZW0gZWlnZW5lbiBSZWNobmVyIGxhZXVmdC4gQmlzaGVyIGtvbW10ZW4gd2lyIGRhcwpNdWQgbm9jaCBhbHMgVW5pdmVyc2l0YWVyZXMgUHJvamVrdCBtb3RpdmllcmVuLCBkYXMgZ2luZ2UgZGFubiBhdWNoIG5pY2h0Cm1laHIuLi4uICpzZXVmeioKCkFjaGphLCB3ZW5uIGVpbiBTZWhlciBpbSBWb3JzdGFuZCBpc3QgdW5kIG5lIEJhbmsgd2lsbCwgd2FzIGlzdCBkYW5uPwoKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRnbGllZHNjaGFmdCAoQXJhbnlhLCAyOS4gTm92IDE5OTQsIDE2OjA4OjM2KToKS2FubiBtYW4gYXVjaCBwb3N0YWxpc2NoIE1pdGdsaWVkIHdlcmRlbj8gVm9uIEZyZWlidXJnIG5hY2ggTXVlbnN0ZXIgaXN0IGVzCnNjaG9uIGVpbiBnYW56IHNjaG9lbmVyIFdlZy4uLgoKbWl0Z2xpZWRzZ2VpbAogICAgICAgICAgICBBcmFueWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAxIERNIEJlaXRyYWcgPyAoSm9mLCAyOS4gTm92IDE5OTQsIDE2OjA5OjI1KToKIyEgcm49UnVtYXRhIHJ0PTc4NjEyMDcwOQogTmVuZSwgYWxzbyBkYXMgZGFyZiBudXIgZWluIEZPRVJERVJWRVJFSU4gc2VpbiAtIGVzIGRhcmYgbnVyIGxvc2UgbWl0IGRlbQpNdWQKdmVyYnVuZGVuIHNlaW4gaW4gcmVjaHRsaWNoZXIgSGluc2ljaHQuIFNvbnN0IGhhYmVuIHdpciBlaW4gUHJvYmxlbSwgZGEgZGFzCk11ZCBhdWYgbGFuZ2UgU2ljaHQgd2VpdGVyaGluIG9lZmZlbnRsaWNoZSBNaXR0ZWwgKFVuaS1NaXR0ZWwpLCBuYWVtbGljaCBkZW4KTmV0enp1Z2FuZyBicmF1Y2h0LiBEYWhlciBrYW5uIGVzIHNpY2ggb2ZmaXppZWxsIG51ciB1bSBlaW5lbiBGb2VyZGVydmVyZWluCmhhbmRlbG4gLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IDEgRE0gQmVpdHJhZyA/IChEdXJpYW4sIDI5LiBOb3YgMTk5NCwgMTY6MTM6MzkpOgojISBybj1Kb2YgcnQ9Nzg2MTIxNzY1CkZyYWdlOiBJc3QgZGFzIGxsZXMgd2lya2xpY2ggcmVjaHRsaWNoIGFiZ2VzaWNoZXJ0PyBJY2ggbWVpbmUsIHNwaWVsdApkYSBhdWNoIGVpbiBSZWNodHNhbndhbHQvTm90YXIgbWl0LCBvZGVyIGlzdCBkYXMgYWxsZXMgbnVyIHZvbiBFdWNoIGdlcGxhbnQ/CkljaCBtZWluZSwgbWFuIGthbm4gc2ljaCBkYSBzZWhyIGxlaWNodCBpbiBkaWUgTmVzc2VsbiBzZXR6ZW4sIHdlbm4gaWNoIGhvZXJlCk1pdGdsaWVkc2JlaXRyYWcsIFNwb25zb3JlbiwgZXRjLi4gSWNoIG1vZWNodGUgbmljaHQgYWxzIFBlc3NpbWlzdCBnZWx0ZW4sCmFiZXIgd2lyIHNvbGx0ZW4gaGFsdCBhdWNoIG5pY2h0IGF1ZiBkaWUgTmFzZSBmYWxsZW4hCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAxIERNIEJlaXRyYWcgPyAoS3JldGVrLCAyOS4gTm92IDE5OTQsIDE2OjE1OjQxKToKIyEgcm49Sm9mIHJ0PTc4NjEyMTc2NQpSaWNodGlnIQpVbmQgd2FzIG5vY2ggd2ljaHRpZyBpc3Q6IEF1cyBzdGV1ZXJsaWNoZW4gR3J1ZW5kZW4gbXVzcyBkZXIgTmFtZSBkZXMKVmVyZWlucyBkZW4gWndlY2sgZGVzIFZlcmVpbnMgbW9lZ2xpY2hzdCBnZW5hdQpiZXNjaHJlaWJlbiwgenVtIEJlaXNwaWVsCiJGb2VyZGVydmVyZWluIE1VRCBNb3JnZW5HcmF1ZW4iIG9kZXIgc28uLi4KCmMgdSBsOGVyLAogICBLcmV0ZWsgKGhhdHRlIGxldHp0ZXMgSmFociBkaWVzZXMgUHJvYmxlbSwKICAgYWxzIGVpbiBGb2VyZGVydmVyZWluIGZ1ZXIgc2VpbiBXb2huaGVpbSBnZWdydWVuZGV0IHdlcmRlbiBzb2xsdGUKICAgdW5kIGRpZXNlciBzdHVyZSBGaW5hbnpiZWFtdGUgZGVuIE5hbWVuIGVpbmZhY2ggbmljaHQgZnJlc3NlbiB3b2xsdGUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAxIERNIEJlaXRyYWcgPyAoQmVsZGluLCAyOS4gTm92IDE5OTQsIDE2OjMyOjI0KToKIyEgcm49S3JldGVrIHJ0PTc4NjEyMjE0MQpFYmVuIG5pY2h0IE1VRCwgS3JldGVrLi4uIFNvbmRlcm4gZWhlciAiRm9lcmRlcnZlcmVpbiBLb21tdW5pa2F0aW9uIGluCnZpcnR1ZWxsZXIgUmVhbGl0YWV0IiBvZGVyIHNvIGFlaG5saWNoLiBadXp1Z2ViZW4sIGRhc3MgZXMgZWluIFNwaWVsIGlzdCB3YWVyZQp3b2hsIG5pY2h0IHNlaHIgcGFzc2VuZCAoamVkZW5mYWxscyBvZmZ6aWVsbCBuaWNodCA7KSBPaDogRGFyZiBtYW4gZGFzCnVlYmVyaGF1cHQgb2ZmaXppZWxsIGhpZXIgc2NocmVpYmVuPz8/ICpzaWNoIHZvcnNpY2h0aWcgdW1zY2hhdWVuZCoKCkNpYW8gLi4uIEJlbGRpbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9lcmRlcnZlcmVpbiwgc3BpZWxlbiB1bmQgV1dXIChDaHJpcywgMzAuIE5vdiAxOTk0LCAwODo1MjoxMik6CkhpLAoKd2VubiB3aXIgaW0gRm9lcmRlcnZlcmVpbiBrbGFyc3RlbGxlbiB3b2xsZW4sIGRhc3MgZWluIE1VRCBtZWhyIGFscyBzcGllbGVuCmlzdCwgc29sbHRlbiB3aXIgYWJlciBhdWNoIE1vcmdlbkdyYXVlbiBlbnRzcHJlY2hlbmQgbmFjaCBhdXNzZW4gZGFzdGVsbGVuLgpXZW5uIGljaCBtaXIgbnVuIGRpZSBXV1cgc2VpdGVuIGFuc2NoYXVlLCBmaW5kZSBpY2ggZGEgc2Nob24gYXVmIGRlcgpIb21lcGFnZSBnZW51ZyBCZWlzcGllbGUsIGF1cyBkZW5lbiBoZXJ2b3JnZWh0LCBkYXMgTW9yZ2VuZ3JhdWVuIG51cgpldHdhcyBtaXQgc3BpZWxlbiB6dXR1biBoYXQuIGVzIGdpYnQgbm9jaCBuaWNodCBtYWwgc28gZXR3YXMgd2llCmVpbmVuIFZlcndlaXMgYXVmICJNb3JnZW5ncmF1ZW4sIG1laHIgYWxzIGVpbiBTcGllbCIuClVuZCBiZWRlbmt0IGJpdHRlLCBXV1cgaXN0IGVpbiBJbnN0dW1lbnQgdW0gc2ljaCBuYWNoIGF1c3NlbiBkYSB6dSBzdGVsbGVuLgoKQ2hyaXMKCkhtbSwgdmllbGxlaWNodCBzb2xsdGUgZGVyIEFydGlrZWwgZWlnZW50bGljaCBpbiBkaWUgUnVicmlrIFdXVy4gTmEgamEsIGVnYWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMSBETSBCZWl0cmFnID8gKENhdHdlYXpsZSwgMzAuIE5vdiAxOTk0LCAxMDowNToyOSk6CiMhIHJuPVJ1bWF0YSBydD03ODYxMjA3MDkKSGkhCkR1IGhhc3QgUmVjaHQgUnVtYXRhLCBkYXMgbWkgbmVtIE1pdGdsaWVkZXJiZWl0cmFnIGlzdCBibG9lZC4KSWNoIGRlbmtlIHdpciB3ZXJkZW4gZGEgaXJnZW5kd2FzIG1pdCBmcmVpd2lsbGlnZW4gU3BlbmRlbiBtYWNoZW4uCkFjaCB1bmQhCkRlciBWZXJlaW4gaXN0IG5pY2h0IHVuYmVkaW5ndCBlaW4gRm9ydW0sIGRhcyBlbnRzY2hlaWRldCwgd2FzIGltIE11ZApnZW1hY2h0IHdpcmQgdW5kIHdhcyBuaWNodCEgRXMgaXN0IHp1YWxsZXJlcnN0IGVpbmUgVmVydHJldHVuZyBuYWNoCmF1c3Nlbi4gRWluIFNlaGVyIGltIFZvcnN0YW5kIGhhZXR0ZSBkZW1lbnRzcHJlY2hlbmQga2VpbmUgRW5zY2hlaWR1bmdzLQpnYXdhbHQgZGFydWViZXIsIHdhcyBpbSBNdWQgZ2VzY2hpZWh0IHVuZCB3YXMgbmljaHQuIERhZnVlciBzaW5kIGltbWVyCm5vY2ggZGllIEdvZXR0ZXIgenVzdGFlbmRpZy4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWl0Z2xpZWRzY2hhZnQgKENhdHdlYXpsZSwgMzAuIE5vdiAxOTk0LCAxMDowNjoxMyk6CiMhIHJuPUFyYW55YSBydD03ODYxMjE3MTYKKmdyaW5zKgpFaW5lIHBvc3RpYWxpc2NoZSBNaXRnbGllZHNjaGFmdCBpc3Qgc2VsYnN0dmVyc3RhZW5kbGljaCBtb2VnbGljaCEKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9jaG1hbCBHcnVlbmR1bmdzdmVyc2FtbWx1bmcgKEhvYm8sIDMwLiBOb3YgMTk5NCwgMTU6MDA6NDEpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzg2MTAzMDEwCk1vbnRhZyBpc3QgZWluIHRvbGxlciBUYWcsIGZ1ZXIgTGV1dGUsIGRpZSBzdHVkaWVyZW4gb2RlciBhcmJlaXRlbiB1bmQgZGFzCndvYW5kZXJzLCBhbHMgaW4gTXVlbnN0ZXIgOigoCgpIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NobWFsIGljaCA6KSAoSG9ibywgMzAuIE5vdiAxOTk0LCAxNTowNDo1Myk6CldhcyBtYWNodCB1bnNlciBGViBkYW5uIGVpZ2VudGxpY2g/IEFsc28sIHdlbGNoZSBBdWZnYWJlbiBoYWJlbiBkaWUKVm9yc3RhbmRzbWl0Z2xpZWRlcj8gV2VyZGVuIEZWLVNpdHp1bmdlbiBpbSBNVUQgYXVzZ2V0cmFnZW4gOykgb2RlciBSTCAoZGFubgprYW5uIGVzIGphIGZhc3Qga2VpbmUgRXh0ZXJuLVZvcnN0YW5kc21pdGdsaWVkZXIgZ2ViZW4pLi4uIHVuZCB1bmQgdW5kCgoKCkhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IDEgRE0gQmVpdHJhZyA/IChIYXRlLCAgMi4gRGV6IDE5OTQsIDEyOjM2OjQ1KToKIyEgcm49QmVsZGluIHJ0PTc4NjEyMzE0NApEYSBiaW4gaWNoIG1pdCBCZWxkaW4gZWluZXIgTWVpbnVuZywgZGVubiBNRyBlLlYuIGlzdCBuaWNodCBzbyBndXQuClZlcmVpbiB6dXIgRm9lcmRlcnVuZyBkZXIgS3VtbXVuaWthdGlvbiBpbiBkZXIgVmlydHVlbGxlbiBSZWFsaXRhZXQKd3VlcmRlIHZpZWwgYmVzc2VyIHBhc3Nlbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IDEgRE0gQmVpdHJhZyA/IChDYXR3ZWF6bGUsICAyLiBEZXogMTk5NCwgMTI6NTU6NDApOgojISBybj1IYXRlIHJ0PTc4NjM2ODIwNQpBaGEhCkFsc28gVnpGZEtpZFZSICwgamE/CgpHcmluc2VuZCwKICAgICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAxIERNIEJlaXRyYWcgPyAoQXJhbnlhLCAgMi4gRGV6IDE5OTQsIDE0OjQ3OjI1KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc4NjM2OTM0MApOZWVuZWUhClJpY2h0aWcgaGVpc3N0IGVyIGRhbm46IFZ6RmRLaWRWUiAxOTk1IGUuVi4uLi4gT2RlciBzby4KCk5vY2ggbWVociBncmluc2VuZAogICAgICAgICAgICAgICAgICBBcmFueWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IDEgRE0gQmVpdHJhZyA/IChBbmF0b2wsICAyLiBEZXogMTk5NCwgMTU6MDA6MTQpOgojISBybj1BcmFueWEgcnQ9Nzg2Mzc2MDQ1Ck1vbWVudC4uLlNpbmQgRm9lcmRlcnZlcmVpbmUgYXVjaCBlaW5nZXRyYWdlbj8KQW5hdG9sLCB1bndpc3NlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiAxIERNIEJlaXRyYWcgPyAoS2V0b3MsICAyLiBEZXogMTk5NCwgMjA6NDQ6NDApOgojISBybj1LZXRvcyBydD03ODYzOTcyNTMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAgICBWSVJDT00gRGV1dHNjaGxhbmQgZS5WLgoKRm9lcmRlcnZlcmVpbiBmdWVyIHZpcnR1ZWxsZSBLb21tdW5pa2F0aW9uc2dlbWVpbnNjaGFmdGVuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gS2V0b3MgLSAoc3RyYWlnaHQgZnJvbSBFVVJFQ09NKQoKUC5TLiBPZGVyIGxlYXNzdCBzaWNoIG5vY2ggZXR3YXMgZ3JpZmZpZ2VzIGF1cyBkZW0gTGF0ZWluaXNjaGVuIG9kZXIKR3JpZWNoaXNjaGVuIGFibGVpdGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQU5PTVVEIChLZXRvcywgIDIuIERleiAxOTk0LCAyMDo1MToxOSk6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgICAgICAgIEFOT01VRCBlLlYuCgogICAgICAgICAgIEFub255bWUgTXVkZGVyIFNlbGJzdGhpbGZlZ3J1cHBlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVtIFNwZW5kZW4gd2lyZCBnZWJldGVuIGF1ZiBmb2xnZW5kZXMgS29udG86CgpTcGVuZGVua29udG86ICAgMTI4IDE3NiAxNzUKQkxaOiAgICAgICAgICAgIDEzIDQ3MTEKCi0gS2V0b3MgLSAlLSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBTk9NVUQgKEdyaW1tYm9ybiwgIDIuIERleiAxOTk0LCAyMDo1NTozNik6CiMhIHJuPUtldG9zIHJ0PTc4NjM5Nzg3OQoKTm9lLCBhbHNvIGFub255bSBiaW4gaWNoIG5pY2h0LCBpY2ggYmluCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQU5PTVVEIChEYW5jZXIsICAyLiBEZXogMTk5NCwgMjM6NTc6MTApOgojISBybj1HcmltbWJvcm4gcnQ9Nzg2Mzk4MTM2CgpXaWUgd2FlcnMgbWl0CgpUSEUgREFOQ0VSIERFVklMUyAtIHNvZ2FyIG1pdCBkZW0gVGV1ZmVsIGtvbW11bml6aWVyZW4gd2lyIG5vY2ghCgpob2UgaG9lCgpEYW5jZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAxIERNIEJlaXRyYWcgPyAoQ2FyYWRocmFzLCAgNC4gRGV6IDE5OTQsIDAwOjQ0OjA3KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc4NjM2OTM0MApGYWVsc2NodW5nISBCdWchIERhcyBrYW5uIG5pY2h0IENhdCogZ2V3ZXNlbiBzZWluLCBkYSBzdGVodCBrZWluCllUQyBkYXJ1bnRlci4gSGF0IGRhIGVpbmVyIHNlaW4gUFcgZ2VrbGF1dD8KCiAgICAgICB0c2Nob2UgICAgQ2FyYWRocmFzIGRlciBld2lnZSBQcm9waGV0IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29ua3JldCEgKENhdHdlYXpsZSwgIDUuIERleiAxOTk0LCAxNzo0Mjo1OSk6ClNvIQpBbHMgZmVzdGVuIFRlcm1pbiBmdWVyIGRpZSBHcnVlbmR1bmdzdmVyc2FtbWx1bmcgbmVobWUgaWNoIGpldHp0IG1hbAplaW5mYWNoICBNb250YWcsIGRlbiAxMi4xMi45NCwgdW0gMTg6b28gVWhyIEltIExpY2h0aG9mIGRlciBNYXRoZW1hdGlrLgpEYXMgaXN0IHJhdW0gNjAzLgpXZXIga29tbWVuIG1vZWNodGUsIHp1c2VoZW4gbW9lY2h0ZSwgbWl0d2FlaGxlbiBtb2VjaHRlIG9kZXIgc29nYXIKVm9yc3RhbmRzbWl0Z2xpZWQgd2VyZGVuIG1vZWNodGUsIHNvbGx0ZSBzaWNoIHp1IGRpZXNlbSBaZWl0cHVua3QKZG9ydCBlaW5maW5kZW4uCkFsbGVzIGtsYXI/CllvdXIgdHJ1bHkgKGRlciBlY2h0ZSA6LSApCgogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbmtyZXQhIChDaHJpcywgIDYuIERleiAxOTk0LCAwNzo1ODo0MCk6CiMhIHJuPUNhdHdlYXpsZSBydD03ODY2NDU3NzkKSGksCgpiZXZvciBpY2ggYW0gTW9udGFnIGV0bGljaGUgaHVuZGVydCBLaWxvbWV0ZXIgZmFocmUsIHVtIGRhbm4gZmVzdHp1c3RlbGxlbiwKZGFzcyBpY2ggbWljaCBtaXQgZGVtIEZvZXJkZXJ2ZXJlaW4gbmljaHQgaWRlbnRpZml6aWVyZW4ga2Fubiwgc3ByaWNoIGljaApkaWUgU2F0enVuZyBTY2gqIGZpbmRlLCBiaXR0ZSBpY2ggZG9jaCBtYWwsIGRlbiBFbnR3dXJmIGRlciBTYXR6dW5nIGhpZXIKenUgdmVyb2VmZmVudGxpY2hlbi4gU2NobGllc3NsaWNoIGxhZGV0IElociBoaWVyZHVyY2ggZWluIHVuZCB6dSBlaW5lcgpFaW5sYWR1bmcgZ2Vob2VydCBkYW5uIGF1Y2ggZGllIFNhdHp1bmcsIHdlbm4gZGEgZXR3YXMgbmV1ZXMgZHJpbm5lbiBzdGVodC4KCkNocmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQUzogS29ua3JldCAoQ2F0d2VhemxlLCAgNi4gRGV6IDE5OTQsIDEzOjQ4OjMyKToKSGkhCkF1ZiB2aWVsZmFjaGVuIFd1bnNjaCBoYWIgaWNoIGRlbiBUZXJtaW4gZ2VyaW5nZnVlZ2lnIHZlcmxlZ3QsCnVuZCB6d2FyIHZvbiA2IGF1ZiAxOTowMCBVaHIhISEhCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VnYmVzY2hyZWlidW5nIChDYXR3ZWF6bGUsIDEyLiBEZXogMTk5NCwgMTU6NTA6MjIpOgpIaSEKQmVzc2VyIHNwYWV0IGFscyBuaWUuCkFsc28sIGRhIGljaCBuaWNodCB3ZWlzcywgYXVzIHdlbGNoZXIgUmljaHR1bmcgaWhyIGtvbW10IHNjaHJlaWIgaWNocwptYWwgYWxsZ2VtZWluLiBXYXMgaWhyIGFscyBlcnN0ZXMgc3VjaGVuIG11ZXNzdCBpbiBNdWVuc3RlciwgaXN0IGRlcgpzb2dlbmFubnRlIFJpbmcuIERhcyBpc3QgbmljaHQgYmVzb25kZXJzIHNjaHdpZXJpZywgZGVubiBkZXIgZnVlaHJ0IGVpbm1hbApnYW56IHVtIE11ZXN0ZXIgcnVtLCBoYXQgU3RlbGxlbndlaXNlIHVudGVyc2NoaWVkbGljaGUgTmFtZW4sIGVuZGV0IGFiZXIKaW1tZXIgYXVmIFJpbmcuClNvLCBkaWUgTWF0aGUgaXN0IGF1ZiBkZW0gd2VzdGxpY2hlbiBSaW5nIChGdWVyIGxldXRlLCBkaWUgc2ljaCBtaXQgaGltbWVscy0KcmljaHR1bmdlbiBhdXNrZW5uZW4gOikgKS4KQW0gYmVzdGVuIGZhaHJ0IGlociBpbiBSaWNodHVuZyAnWm9vJywgZGVyIGlzdCB1ZWJlcmFsbCBhdXNnZXNjaGlsZGVydC4KQUJFUiBpbW1lciBhdWYgZGVtIFJpbmcgYmxlaWJlbiEgbmljaHQgenVtIFpvbyBmYWhyZW4gOikKU2VpZCBpaHIgaW4gZGVyIE5hZWhlIGRlcyBab29zLCBrb21tZW4gaXJnZW5kd2FubiBkaWUgTmF0dXJ3aXNzZW5zY2hhZnQtCmxpY2hlbiBJbnN0aXR1dGUgYXVzZ2VzY2hpbGRlcnQuIERBIGZhaHJ0IGlociBoaW4hCklyZ2VuZHdhbm4ga29tbXQgZGFubiBkaWUgZW50c3ByZWNoZW5kZSBBYnp3ZWlndW5nIFJpY2h0dW5nIE5XSSBhdWYgZGVtClJJbmcsIGRpZXMgaXN0IGRpZSByaWNodGlnZSBLcmV1enVuZywgamVkb2NoIGxpZWd0IGRpZSBNYXRoZSBnZW5hdSBhdWYKZGVyIGFuZGVyZW4gU2VpdGUsIGlzdCBlaW4gSG9jaGhhdXMgdW5kIGthdW0genUgdWViZXJzZWhlbi4KQW4gZGllc2VyIEtyZXV6dW5nIGlzdCBhdWNoIGRpZSBNZW5zYSBJSSB1bmQgZWluIFBhcmtoYXVzLCBkYSB3dWVyZGUgaWNoCmplZG9jaCBuaWNodCByZWluZmFocmVuLCBkYXMgbWFjaHQgdW0gMjE6MDAgZGljaHQsIGxpZWJlciBoaW50ZXIgZGVyIE1hdGhlCnBhcmtlbiBvZGVyIHNvbnN0IGlyZ2VuZHdpZSBpbiBkZXIgTmFlaGUuClNvLCBkYW5uIG11ZXNzdCBpaHIgbnVyIG5vY2ggaW4gZGFzIG9iZW4gZXJ3YWVobnRlIEhvY2hoYXVzIGtvbW1lbiwgaW4gZGllCnNlY2hzdGUgRXRhZ2UgZmFocmVuIHVuZCBkYW5uIGluIFJhdW0gNjAzIGZsaXR6ZW4gOikpCkFiZXIga29tbXQgbmljaHQgenUgU1BBRVQhIGlyZ2VuZHdhbm4gZ2VnZW4gOCB3aXJkIGRpZSBIYXVzdHVlciB1bnRlbgphYmdlc2NobG9zc2VuIQpJY2ggaG9mZmUgaWhyIGZpbmRldCBkYXMsIGZ1ZXIgUnVlY2tmcmFnZW4sIGJpbiBpY2ggYmlzIDE5OjAwIG5vY2ggZWluZ2UtCmxvZ2d0IQpZb3VycyB0cnVseSwKICAgICAgICAgICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkt1cnogdW5kIEJ1ZW5kaWcgKENhdHdlYXpsZSwgMTMuIERleiAxOTk0LCAxMTo0OTozNCk6CkhhbGxvZWNoZW4hCgpJY2ggbW9lY2h0ZSBudXIga3VyeiBkaWUgR3J1ZW5kdW5nIGRlcyBGUE1HZVYgKEZvZXJkZXJ2ZXJlaW4gUHJvamVrdApNb3JnZW5HcmF1ZW4gZS5WLikgYmVrYW5udGdlYmVuIQpFcyB3YXJlbiAxOCBHcnVlbmR1bmdzbWl0Z2xpZWRlciB2ZXJzYW1tZWx0LCBkZXIgVm9yc3RhbmQgd3VyZGUKZm9sZ2VuZGVybWFzc2VuCmdld2FlaGx0OgoKVm9yc2l0emVuZGVyOgkJCUtpcmsKU3RlbGx2ZXJ0cmV0ZW5kZXIgVm9yc2l0emVuZGVyOiBGaW5kdWxhcwpLYXNzZW53YXJ0ICYgMi5TdGVsbHZlcnRyZXRlcjoJQ2F0d2VhemxlClNjaHJpZnRmdWVocmVyOgkJCVZpcGVyCgpNaXRnbGllZCBpbSBWZXJlaW4ga2FubiBqZWRlciB3ZXJkZW4sIGRlciBkaWUgWmllbGUgZGVzIFZlcmVpbnMgZ2VtYWVzcwpTYXR6dW5nIHZlcnRyaXR0ICh1ZWJyaWdlbnMsIGVpbmUgVmVyc2lvbiBkZXIgZW5kZ3VlbHRpZ2VuIFNhdHp1bmcgbGllZ3QKaW4gb3BlbiksIGFsbGVyZGluZ3MgZXJzdCBuYWNoZGVtIGRlciBGb3JtYWxrcmFtIGVybGVkaWd0IGlzdCwgekIKZmVzdGxlZ3VuZyBkZXMgZW5kZ3VlbHRpZ2VuIE1pdGdsaWVkYmVpdHJhZ2VzLCBLb250b2Vyb2VmZm51bmcsIEVpbnRyYWd1bmcKaW5zIFZlcmVpbnNyZWdpc3RlciB1c3cuLi4KRGllcyBpbiBhbGxlciBLdWVyemUsCiAgICAgWW91cnMgdHJ1bHksCiAgICAgICAgICAgICAgICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdWZuYWhtZWFudHJhZyAoS2lyaywgMTMuIERleiAxOTk0LCAxNzozODoxMSk6CkhpIQoKaW4gL29wZW4gbGllZ3QgZWluZSBQb3N0U2NyaXB0LVZlcnNpb24gZGVzIEF1Zm5haG1lZm9ybXVsYXJzLiBXZXIgd2lsbCBrYW5uCmJlcmVpdHMgZGllIEF1Zm5haG1lIGJlYW50cmFnZW4uIERpZSBBZHJlc3NlLCB3byBpaHIgZXMgaGluc2NoaWNrZW4gbXVlc3N0CnN0ZWh0IGJlcmVpdHMgZHJhdWYuCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcnVlbmR1bmcgKExpLCAxNS4gRGV6IDE5OTQsIDA5OjUyOjQ2KToKd2FlcmUgZXMgbmljaHQgYW5nZWJyYWNodCwgZGllIEdydWVuZHVuZyBpbiBlaW5lciBhbmRlcmVuIHJ1YnJpaywgd2llCmFsbGdlbWVpbiBvZGVyIGFuemVpZ2VuLCBhdWNoIG5vY2ggenUgdmVyb2VmZmVudGxpY2hlbj8gT2RlciBub2NoIG1hbCBhdWYKZGllc2UgUnVicmlrIGhpbndlaXNlbj8KCkxpIChncnVlYmVsdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnN0ZXAgb25lIChDYXR3ZWF6bGUsIDIyLiBEZXogMTk5NCwgMTA6NDI6MTIpOgpIaSEKU28sIHdpciBoYWJlbiBncmFkZSBkZW4gendlaXRlbiBTY2hyaXR0IGF1ZiBkZW0gV2VnIHp1ciBWZXJlaW5zZ3J1ZW5kdW5nCmVybGVkaWd0LiBOYWNoIGRlciBHcnVlbmR1bmdzc3RpenVuZywgd2FyIGljaCBkYW5uIGhldXRlIGVuZGxpY2ggYmVpbQpGaW5hbnphbXQgdW5kIGhhYiBkYSBhbGxlcyBnZWtsYWVydC4gRGFzIG1pdCBkZXIgR2VtZWlubnVldHppZ2tlaXQgdW5zZXJlcwpWZXJlaW5zIGxhZXVmdCByZWlidW5nc2xvcy4gU28gIHdpZSBlcyBhdXNzaWVodCwgc2luZCB3aXIgd29obCBNaXR0ZQpGZWJydWFyIGVpbiBrb21wbGV0dGVyIFZlcmVpbiwgZGFubiBrb2VubnQgSWhyIGVuZGxpY2ggZWludHJldGVuIQpJY2ggaGFiIGF1Y2ggZGFzIG1pdCBkZW0gTWl0Z2xpZWRlcmJlaXRyYWcgZ2VrbGFlcnQsIGZ1ZXIgb2VmZmVudGxpY2hlCkZvZXJkZXJ1bmcgZXhpc3RpZXJ0IGtlaW5lIFVudGVncmVuemUgaW4gZGllc2VyIEJlemllaHVuZywgZXJnbyB3aXJkCmRlciBCZWl0cmFnIGJlaSBkZW4gYmVzY2hsb3NzZW5lbiAyLi0gRE0gcHJvIE1vbmF0LCBiencuIGJlaSBlaW5lbSBKYWhyZXMtCmJlaXRyYWcgdm9uIDI0Li0gRE0gbGllZ2VuLgpFaW4gQW5tZWxkdW5nc2Zvcm11bGFyIGdpYnQgZXMgdWVicmlnZW5zIG1pdHRsZXJ3ZWlsZSBpbiAvb3Blbi4KRG9ydCBsaWVndCBhdWNoIGVpbmUgU2F0enVuZywgZGllIGlociBldWNoIHZvciBkZW0gQmVpdHJpdHQgbWF0dWVybGljaApkdXJjaGxlc2VuIHNvbGx0ZXQuIEljaCBnZWIgYWJlciBub2NoIGtlaW5lIEFubWVsZHVuZ3NhZGRyZXNzZSBiZWthbm50LApkYXMgd2FlcmUgdmVyZnJ1ZWh0LCBpY2ggbXVzcyBhdWNoIG5vY2ggZWluaWdlcyBtaXQgZGVyIEJhbmsga2xhZXJlbi4KWW91cnMgdHJ1bHksCiAgICAgICAgICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbGxlcyB3aXNzZW5zd2VydGUgdWViZXIgZGVuIFZlcmVpbiAoQ2F0d2VhemxlLCAgNS4gSmFuIDE5OTUsIDE0OjM2OjA3KToKSGFsbG9lY2hlbiEKU28sIGljaCB2ZXJzdWNoIG1pY2ggamV0enQgbWFsIGFuIGVpbmVyIEdlc2FtdHVlYmVyc2ljaHQgZnVlciBkZW4KVmVyZWluLCBhbHNvIFZvcnNpY2h0LCBlcyBrb2VubnRlIGxhbmcgd2VyZGVuLgoKRGVyIFZlcmVpbiBkaWVudCBmb2xnZW5kZW0gWndlY2s6CkVyIHNvbGwgZGFzIE11ZCBNb3JnZW5HcmF1ZW4gZm9lcmRlcm4sIHVuZCB6d2FyIGluZGVtIHdpciB2ZXJzdWNoZW4sCmdlbnVlZ2VuZCBmaW5hbnppZWxsZSBNaXR0ZWwsIGhhdXB0c2FjaGxpY2ggYXVzIFNwZW5kZW4sIHp1c2FtbWVuenUtCmJyaW5nZW4sIHVtIHVucyBlaW5lbiBlaWdlbmVuLCBVbml2ZXJzaXRhZXRzdW5hYmhhZW5naWdlbiBSZWNobmVyIHp1CmthdWZlbi4KRGVzd2VpdGVyZW4gd29sbGVuIHdpciBpbmZvcm1pZXJlbmRlIEt1cnNlIGFuYmlldGVuLCBncm9lc3N0ZW50ZWlscwpmdWVyIFByb2dyYW1taWVyZXIsIGFsc28gTWFnaWVyLCBhYmVyIGF1Y2ggZnVlciBTcGllbGVyL1NlaGVyLCBmYWxscwpkaWVzZSBUaGVtZW4gaW50ZXJlc3NhbnQgc2luZCB1bmQgc2ljaCBhdWYgZGllIEhhbmRoYWJ1bmcgZGVzIE11ZHMgdW5kCmRlc3NlbiBvZXJ0bGljaGtlaXRlbiBiZXNjaHJhZW5rZW4gKFZvcnRyYWVnZSB1YmVyIFphdWJlcnRyYW5rZnVuZG9ydGUKdW5kIFF1ZXN0a29tcGxldHRsb2VzdW5nZW4gd2lyZCBlcyBhbHNvIG5pY2h0IGdlYmVuISkuCkRpZXNlIFppZWxlIHNpbmQgc2F0enVuZ3NiZWRpbmd0LiBXZXIgZWluZSBTYXR6dW5nIGxlc2VuIG1vZWNodGUsIHNpZSAKaXN0IGltIG9wZW4tVmVyemVpY2huaXMgZGVzIE11ZHMgenUgZmluZGVuIHVudGVyIC9NR19Gb2VyZGVydmVyZWluLgpEb3J0IGxpZWdlbiBTYXR6dW5nZW4gaW4gdW50ZXJzY2hpZWRsaWNoZW4gRm9ybWF0ZW4uCldpZSBtYW4gaW5zIG9wZW4tVmVyemVpY2huaXMga29tbXQ/IEVpbmZhY2g6CmZ0cCBtdWQudW5pLW11ZW5zdGVyLmRlIDQ3MTMgIHVuZCBzY2hvbiBzZWlkIGlociBkYSEKU29sbHRlIGplbWFuZCBrZWluZSBNb2VnbGljaGtlaXQgaGFiZW4sIGFuIGRpZXNlIERhdGVuIGhlcmFuenVrb21tZW4sCnNvIGJpbiBpY2ggYmVyZWl0LCBzaWUgaWhtIHp1enVtYWlsZW4sIG9kZXIgenVyIE5vdCBhdWNoIHp1enVzY2hpY2tlbi4KCldpZSB3ZXJkZSBpY2ggTWl0Z2xpZWQgaW0gVmVyZWluOgpVbSBNaXRnbGllZCB6dSB3ZXJkZW4gbXVzc3QgRHUgZGVuIEFudHJhZyBhdXNmdWVsbGVuLCBkZXIgYXVjaCBpbSBvLmcuClZlcnplaWNobmlzIGxpZWd0LiBEZXIgQW50cmFnIGlzdCBkcmVpZ2V0ZWlsdC4KQXVmIGRlciBlcnN0ZW4gU2VpdGUgaXN0IGRpZSBlaWdlbnRsaWNoZSBBbm1lbGR1bmcuIERpZXNlIHNvbGx0ZXN0IER1Cm5hY2ggYmVzdGVtIEdld2lzc2VuIGF1c2Z1ZWxsZW4gdW5kIHp1c2NoaWNrZW4uIERhcyBnbGVpY2hlIGdpbHQgZnVlcgpkaWUgendlaXRlIFNlaXRlLiBEYXJhdWYgZmluZGVzdCBEdSBlaW5lIEVpbnp1Z3Nlcm1hZWNodGlndW5nIGZ1ZXIKZGVuIE1pdGdsaWVkZXJiZWl0cmFnLiAKT2ssIGpldHp0IGZhbmdlbiB3aWVkZXIgdmllbGUgYW4genUgc2FnZW4sICdOZWUsIEVpbnp1Z3Nlcm1hZWNodGlndW5nCm1hY2ggaWNoIG5pY2h0LCB3ZXIgd2Vpc3Mgd2FzIGRpZSBtaXIgZGEgYWJ6aWVoZW4nLiBBYmVyIGRhIG1hY2h0IEV1Y2gKbWFsIGtlaW5lIFNvcmdlbi4gWnVtIGVpbmVuIGhhYmVuIHdpciBlaW5lIEJlaXRyYWdzT3JkbnVuZyAoU2VpdGUgMyksCnVuZCBudXIgbmFjaCBkZXIgZHVlcmZlbiB3aXIgYmVpIEV1Y2ggZWluemllaGVuLCB6dW0gYW5kZXJlbiBtYWNodCBkYXMKZnVlciB1bnMgZGllIFNhY2hlIFZJRUwgZWluZmFjaGVyIHVuZCB2b3IgYWxsZW4gRGluZ2VuIGd1ZW5zdGlnZXIsIGRhIAp3aXIgbmljaHQgZnVlciBqZWRlbiBrbGVja2Vyd2Vpc2UgYW5rb21tZW5kZW4gUG9zdGVuIGF1ZiBkZW0gS29udG8KR2VsZCBiZXphaGxlbiBtdWVzc2VuLgpTb2xsdGUgZXMgaW4gQXVzbmFobWVmYWVsbGVuIG5pY2h0IG1vZWdsaWNoIHNlaW4gZWluZSBFaW56dWdzZXItCm1hZWNodGlndW5nIGF1c3p1c3RlbGxlbiwgaXN0IGF1Y2ggZWluZSBVZWJlcndlaXN1bmcgaW4gT3JkbnVuZy4KRGllIGRyZWkgU2VpdGVuIGRlcyBBbnRyYWdlcyBsaWVnZW4gdWVicmlnZW5zIGF1Y2ggZWluemVsbiB2b3IuICAgCgpXYXMgbWFjaCBpY2ggYWxzIE1pdGdsaWVkPwpUamEsIGltIE1vbWVudCBrbGVidCBkaWUgZ2FuemUgQXJiZWl0IGVyc3QgZWlubWFsIGFtIFZvcnN0YW5kLiBXYXMgaWhyIAphbGxlcmRpbmdzIHR1biBrb2VubnQsIGlzdCwgdW5zIHVlYmVyIG1vZWdsaWNoZSBTcG9uc29yZW4sIGRpZSBpaHIgCndpc3N0LCBvZGVyIHNvZ2FyIGd1dCBrZW5udCBvZGVyIGd1dGVuIEtvbnRha3QgenUgaGFidCwgdW5zLCBkZW0KVm9yc3RhbmQgbWl0enV0ZWlsZW4sIGRhbWl0IHdpciB1bnMgZGFubiBkYXJ1bSBrdWVtbWVybiBrb2VubmVuLiBJaHIKa29lbm50IGFuIGRlciBLb250YWt0YXVmbmFobWUgenVtIFNwb25zb3IgbmF0dWVybGljaCBhdWNoIHRlaWxoYWJlbiwKYXVmIGtlaW5lbiBGYWxsIGplZG9jaCBpcmdlbmR3ZWxjaGUgQWxsZWluZ2FlbmdlIG1hY2hlbiwgdm9uIGRlbmVuIHdpcgpuaXggd2lzc2VuLiAKV2FocnNjaGVpbmxpY2ggZ2lidCBlcyBkYWZ1ZXIgaW4gbmFoZXIgWnVrdW5mdCBhdWNoIGlyZ2VuZHdhcyAnQXVzLQpzY2h1c3MnLWFydGlnZXMgdW0gU3BvbnNvcmVuIGFuenVzY2hyZWliZW4sIGV0Yy4KQmVpIGRlbiBLdXJzZW4ga29lbm50IGlociB1bnMgbmF0dWVybGljaCBhdWNoIGhlbGZlbi4gRmFsbHMgaWhyIGVpbiAKc2Nob2VuZXMgVGhlbWEgd2lzc3QsIHdvcnVlYmVyIGlociBzY2hvbiBpbW1lciBtYWwgaW5mb3JtaWVydCB3ZXJkZW4Kd29sbHRldCwgc28gZnJhZ3QgZGFuYWNoLCB2aWVsbGVpY2h0IG1hY2hlbiB3aXIgZGFubiBqYSBtYWwgc28gZWluZW4KVm9ydHJhZy4gSWhyIGtvZW5udCBuYXR1ZXJsaWNoIGF1Y2ggZWluZW4gZWlnZW5lbiBWb3J0cmFnIGhhbHRlbi4KQWJlciBiaXR0ZSwgd2VubiBpaHIgdW5zIGRhbmFjaCBmcmFndCwgYml0dGUgbnVyIHNlcmlvZXNlIFZvcnNjaGxhZWdlLgoKV2VyIGlzdCBlaWdlbnRsaWNoIGRlciBWb3JzdGFuZD8KRGVyIFZvcnN0YW5kIHNpbmQgZm9sZ2VuZGUgdmllciBQZXJzb25lbjoKCjEuIFZvcnNpdHplbmRlcjogICAJS2lyawoJCQlTdGVmYW4gQm9obQoJCQlIb2Noc3RhZGVuc3RyYXNzZSAxLTMKCQkJNTA2NzQgS29lbG4gCgkJCQkKMS4gU3RlbGx2ZXJ0cmV0ZXI6CUZpbmR1bGFzCgkJCUJlcm5kIEtvZXN0ZXIKCQkJR2FydGVuc3RyYXNzZSAzNAoJCQk0ODE0OSBNdWVuc3RlcgoKMi4gU3RlbGx2ZXJ0cmV0ZXIJQ2F0d2VhemxlCiAgIHVuZCBLYXNzZW53YXJ0OglDaHJpc3RpYW4gU2NoaWxkCgkJCUJpc21hcmNrYWxsZWUgNQoJCQk0ODE1MSBNdWVuc3RlcgoKU2NocmlmdGZ1ZWhyZXI6CQlWaXBlcgoJCQlLYXJsLUhlaW56IEJvc2F3ZQlvZmZpemllbGxlIAoJCQlSZWRpZ2Vyc3RyYXNzZSA5CVZlcmVpbnNhZGRyZXNzZSAhIQoJCQk0ODE0OSBNdWVuc3RlcgoKQmVpIEZyYWdlbiB1ZWJlciBkZW4gVmVyZWluLCBrb2VubnQgaWhyIEV1Y2ggZGlyZWt0IGFuIGRpZXNlIHZpZXIKUGVyc29uZW4gd2VuZGVuLCBTY2hyaWZ0a3JhbXMgcmVnZWx0IGlociBhbSBiZXN0ZW4gdWViZXIgVmlwZXIgYWIsIApGaW5hbnprcmFtcyBrb2VubnQgaWhyIGF1Y2ggYmVpIG1pciBkZXBvbmllcmVuLgoKSWNoIGhvZmZlIGRhcyBpc3QgZXJzdG1hbCBhbGxlcywgYmVpIHdlaXRlcmVuIGF1ZmtvbW1lbmRlbiBQcm9ibGVtZW4Kd2VyZCBpY2ggd2FzIGVyZ2Flbnplbi4gVmllbGxlaWNodCBzY2hyaWViIGljaCBhdWNoIG1hbCBlaW5lIEZBUS4KCllvdXJzIHRydWx5LAogICAgICAgICAgICAgIENhdHdlYXpsZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbnp1c2VybWFlY2h0aWd1bmcgKENhdHdlYXpsZSwgMTcuIEphbiAxOTk1LCAxNDowMTozOCk6CkhpIQpJY2ggYnJhdWNoZSBEUklOR0VORCBhbGxlIEVpbnp1Z3Nlcm1hZWNodGlndW5nZW4gZGVyIEdydWVuZHVuZ3NtaXRnbGllZGVyLgpXZXIgc2llIG5vY2ggbmljaHQgYWJnZWdlYmVuIGhhdCwgYml0dGUgc2NobGV1bmlnc3QgdHVuLCBvZGVyIG1pci9WaXBlcgpzY2hpY2tlbiEhCllvdXJzIHRydWx5LAogICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluenVzZXJtYWVjaHRpZ3VuZyAoR3VsZHVrYXQsIDE3LiBKYW4gMTk5NSwgMTQ6MTc6NTcpOgojISBybj1DYXR3ZWF6bGUgcnQ9NzkwMzQ3Njk4CkJlaSBCZXRyYWVnZW4gdW50ZXIgMTAwIERNIGJyYXVjaHN0IGR1IGtlaW5lIEVybWFlY2h0aWd1bmcsIGVpbmZhY2ggTmFtZSB1bmQKS09udG9udW1tZXIgYW5nZWJlbiB1bmQgZWluemllaGVuIQooaXN0IGVpbiBrbGVpbmJldHJhZywgdW5kIHdlbm4gZGVyIGVpbmdlem9nZW5lIHNpY2ggbmljaHQgbWVsZGV0IHVuZApzdG9ybmllcnQsIGhhdCBlciBobGF0IHBlY2ggZ2VoYWJ0LiA7KSApCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFaW56dXNlcm1hZWNodGlndW5nIChSdW1hdGEsIDE3LiBKYW4gMTk5NSwgMTU6MTc6MzApOgojISBybj1SdW1hdGEgcnQ9NzkwMzUyMTg3Ci4uLiBpbSBGYWNoamFyZ29uIGhlaXNzdCBkYXMgJ1BlYW51dHMnIG9kZXIgc28uIDotKQoKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFaW56dXNlcm1hZWNodGlndW5nIChGaWNrZnJvc2NoLCAxNy4gSmFuIDE5OTUsIDE1OjI0OjAwKToKIyEgcm49UnVtYXRhIHJ0PTc5MDM1MjI1MApiZWkgZGVyIGRldXRzY2hlbiBhdWYgYWxsZSBmYWVsbGUhIFdvIHNlIG1pciBkb2NoIHZpZXJ0ZWxqYWVocmlnIG1hZWNodGlnCnZpZWwga29obGUgYW4gZ2VidWVocmVuIGFiemllaGVuIG9id29obCBtZWluIGtvbnRvIGdlYnVlaHJlbmZyZWkgaXN0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFaW56dXNlcm1hZWNodGlndW5nIChBcmFueWEsIDE3LiBKYW4gMTk5NSwgMTU6MzI6MzIpOgojISBybj1SdW1hdGEgcnQ9NzkwMzUyMjUwCkZhbHNjaC4gUGVhbnV0cyBzaW5kIHNvd2FzIHVtIGRpZSAyMCBNaWxsaW9uZW4uCgpHbGF1YnQKICAgICAgQXJhbnlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFaW56dXNlcm1hZWNodGlndW5nIChCb2luZywgMTcuIEphbiAxOTk1LCAxNTozMjo1OSk6CiMhIHJuPUZpY2tmcm9zY2ggcnQ9NzkwMzUyNjQwCkhhc3QgZHUgbWFsIGluIEVyd2FlZ3VuZyBnZXpvZ2VuIGRpZSBCYW5rIHp1IHdlY2hzZWxuPyA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW56dWdzZXJtYWVjaHRpZ3VuZyAoR3JpbW1ib3JuLCAxNy4gSmFuIDE5OTUsIDE1OjM4OjE0KToKCktlbm50IGVpbmVyIG1laW5lIEtvbnRvbnVtbWVyPyBOZWluPyBHdXQgc28uLi4KCk51ciB1ZWJlcndlaXNlbmQgb2RlciBnYXIgbmljaHRzOgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFaW56dXNlcm1hZWNodGlndW5nIChGaWNrZnJvc2NoLCAxNy4gSmFuIDE5OTUsIDE1OjQwOjQ4KToKIyEgcm49Qm9pbmcgcnQ9NzkwMzUzMTc5CkphLiBHZXN0ZXJuIGJlaSBuZXVlcmxpY2hlbSBTY2hvY2shCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluenVnc2VybWFlY2h0aWd1bmcgKENhcmFkaHJhcywgMTcuIEphbiAxOTk1LCAyMDowOTo1Nik6CiMhIHJuPUdyaW1tYm9ybiBydD03OTAzNTM0OTQKU2NobGllc3NlIG1pY2ggbWVpbmVtIFNvaG4gYW4gOi0pCk11c3MgamEgaW4gZGVyIEZhbWlsaWUgYmxlaWJlbi4gKmdyaW5zIEdyaW1tYm9ybiBhbioKCiAgICp3aW5rZSB3ZWRlbCogICAgICBDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbnp1c2VybWFlY2h0aWd1bmcgKFdhcmxvcmQsIDE3LiBKYW4gMTk5NSwgMjI6MjM6MzIpOgojISBybj1BcmFueWEgcnQ9NzkwMzUzMTUyCkJlc3NlciBhYmVyIG5pY2h0IGd1dCBnZW51Zy4gRXMgd2FyZW4gZG9jaCAyIE1pbGxpYXJkZW4sIG9kZXIgPwoKRWluIHZvbiBzb2xjaGVuIFN1bW1lbiB0cmFldW1lbmRlcgogICAgICAgICAgICAgICAgIFdhcmxvcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVpbnp1c2VybWFlY2h0aWd1bmcgKEJlbGRpbiwgMTguIEphbiAxOTk1LCAxMTo0NTo1NCk6CiMhIHJuPUZpY2tmcm9zY2ggcnQ9NzkwMzUzNjQ4CkhhYmVuIHNpZSBiZWkgbWlyIGF1Y2ggbWFsIHZlcnN1Y2h0Li4uIGFiZXIgbnVyIEVJTk1BTCA6PgpZVEIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnN0YW5kc3NpdHp1bmcgKEtpcmssIDIzLiBKYW4gMTk5NSwgMTI6MzQ6MjYpOgpIaSEKCkluIGFsbGVyIEt1ZXJ6ZToKICBBbSBEaWVuc3RhZywgZGVuIDI0LjEuIGlzdCB1bSAxOTozMCBWb3JzdGFuZHNzaXR6dW5nIGltIE9iaW5hIFNob2NrLgpFcyBnaWJ0IHdpY2h0aWdlcyB6dSBiZXNwcmVjaGVuISEhCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRnbGllZGVydmVyc2FtbWx1bmcgKEtpcmssIDI2LiBKYW4gMTk5NSwgMTM6Mjc6NDMpOgoKICAgICAgICAgICAgICAgICAgIFdJQ0hUSUdFIE1JVFRFSUxVTkchCgpBbSAyMS4yLjk1IGZpbmRldCBlaW5lIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBkZXMgRm9lcmRlcnZlcmVpbnMKUHJvamVrdCBNb3JnZW5HcmF1ZW4gc3RhdHQuCgpaZWl0cHVua3QgdW5kIE9ydCBkZXIgVmVyYW5zdGFsdHVuZzoKCiAgICBXbzogTWF0aGVtYXRpc2NoZXMgSW5zdGl0dXQKICAgICAgICBFaW5zdGVpbnN0cmFzc2UgNjIKICAgICAgICA0ODE0OSBNdWVuc3RlcgogICAgICAgIFJhdW0gNjAyCgogIFdhbm46IDE4OjAwCgpUYWdlc29yZG51bmc6CgoxLiBFcm9lZmZudW5nCjIuIFNhdHp1bmdzYWVuZGVydW5nCjMuIFZlcnNjaGllZGVuZXMKCkljaCBiaXR0ZSBhbGxlIE1pdGdsaWVkZXIsIHdlbm4gbW9lZ2xpY2gsIGFuIGRpZXNlbSBUZXJtaW4genUgZXJzY2hlaW5lbi4KCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbmQgd2llZGVyLi4uIChDYXR3ZWF6bGUsICAyLiBGZWIgMTk5NSwgMTE6MDY6MjcpOgpIaSEKSWNoIGhhYiBpbW1lciBub2NoIG5pY2h0IHZvbiBhbGxlbiBNaXRnbGllZGVybiBkaWUgRWluenVnc2VybWFlY2h0aWd1bmcuCldpZSBtYW4gZGEgZHJhbiBrb21tdCwgdW5kIHdhcyBtYW4gZGFtaXQgbWFjaGVuIHNvbGx0ZSwgc3RlaHQgaW4gZWluZW0KbWVpbmVyIGZydWVoZXJlbiBBcnRpa2VsLgpJY2ggbW9lY2h0ZSB6dXNhZXR6bGljaCBkYXJhdWYgaGlud2Vpc2VuLCBkYXMgaWhyIFNFSFIgYXVmcGFzc2VuIG11c3N0ZSwKRXVjaCBuaWNodCBpbiBCTFogb2RlciBLb250b251bW1lciB6dSB2ZXJzY2hyZWliZW4uIEZhbGxzIGljaCB2ZXJzdWNoZQpKYWhyZXNiZWl0cmFlZ2UgZWluenV6aWVoZW4gdW5kIGVzIGRpZSBMYXN0c2NocmlmdCB3aXJkIHp1IHVuc2VyZXIgQmFuawp6dXJ1ZWNrZ2Vib3VuY2VkLCBzZWkgZXMgd2VpbCBkaWUgbnVtbWVyIGZhbHNjaCBpc3QsIG9kZXIgd2VpbCBpaHIgZGllCkJ1Y2h1bmcKbmljaHQgenVsYXNzdCwgbXVlc3NlbiB3aXIgaW4gamVkZW0gZmFsbCBlaW5lIEJlYXJiZWl0dW5nc2dlYnVlaHIgdm9uCm1pbmRlc3RlbnMKMTAgRE0gemFobGVuLCB3YXMgdW5zIGJlaSBkZW4ga2xlaW5lbiBCZWl0cmFlZ2VuIHNjaG5lbGwgcnVpbmllcmVuIGtvZW5udGUuCkFsc286IEltbWVyIHNjaG9lbiBvcmRlbnRsaWNoIHNjaHJlaWJlbiB1bmQgS29udG9udW1tZXJhZW5kZXJ1bmdlbiBTT0ZPUlQKYmVrYW5udGdlYmVuLgoKV2VyIHNlaW5lbiBCZWl0cmFnIG5pY2h0IGVpbnppZWhlbiBsYXNzZW4ga2Fubiwgb2RlciBwYXJ0b3V0IG5pY2h0IGVpbnppZWhlbgpsYXNzZW4gX3dpbGxfLCBkZXIgc29sbCBiaXR0ZSAgZGllIDI0IERNIGF1ZiBmb2xnZW5kZXMgS29udG8gdWViZXJ3ZWlzZW46CgpTdGFkdHNwYXJrYXNzZSBNdWVuc3RlcgpCTFo6IDQwMDUwMTUwCktvbnRvLU5yLjogMzY4OTQ0CkVtcGZhZW5nZXI6IEZvZXJkZXJ2LiBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlVgpad2VjazogSmFocmVzYmVpdHJhZyA8ZW50c3ByZWNoZW5kZXMgSmFocj4KCkZ1ZXIgZGllIExldXRlLCBkaWUgc2ljaCBiaXNoZXIgc3RyaWt0IGdld2VpZ2VydCBoYWJlbiwgZGFzIGdlbGQgZWluemllaGVuIHp1Cmxhc3NlbiwgbW9lY2h0ZSBpY2ggZGFmcmF1ZiBoaW53ZWlzZW4sIGRhcyBlcyB3aXJrbGljaCBrZWluZW4gVW50ZXJzY2hpZWQKbWFjaHQsIG9iIElociBkaWUgVWViZXJ3ZWlzdW5nIHNjaHJlaWJ0LCBvZGVyIGljaCBkaWUgRWluenVnc2VybWFlY2h0aWd1bmcKKGljaAptdXNzIGRpZSBuYWVtbGljaCBhdWNoIGFsbGUgamFlaHJsaWNoIG5ldSBzY2hyZWliZW4pLiBEZXIgZWluemlnZSBVbnRlcnNjaGllZAppc3QsIGRhcyBpY2gga2VpbmUgU2FtbWVsYnVjaHVuZ2VuIG1hY2hlbiBrYW5uIHVuZCB3aXIgc29taXQgR2VsZCBtZWhyIHphaGxlbgptdWVzc2VuLiBEYXMgaXN0IHp3YXIgbmljaHQgdmllbCwgYWJlciBlcyBzYW1tZWx0IHNpY2ggaGFsdC4KCldlciBub2NoIE1pdGdsZWlkIHdlcmRlbiBtb2VjaHRlLCBzb2xsIHNpY2ggYml0dGUgZW50c3ByZWNoZW5kZSBGb3JtdWxhcmUgYXVzCi9vcGVuIGhvbGVuLCBvZGVyIG1pY2gsIEtpcmssIFZpcGVyIG9kZXIgRmluZHVsYXMgZGFyYXVmaGluIGFuc3ByZWNoZW4uCgpUaGFueCBpbiBhZHZhbmNlLAogIFlvdXJzIHRydWx5LAogICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoS2lyaywgIDguIEZlYiAxOTk1LCAxMDoxMTozOSk6CkFuIGFsbGUgTWl0Z2xpZWRlciBkZXMgRm9lcmRlcnZlcmVpbnMhCgpEaWUgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGZpbmRldCBhbSAxMS4yLiB1bSAxOCBVaHIgaW4gZGVuc2VsYmVuIFJhZXVtZW4sIGluCmRlbmVuIGFuc2NobGllc3NlbmQgZGllIFBhcnR5IHN0YXR0ZmluZGV0LgoKVGFnZXNvcmRudW5nOgoKMS4gRXJvZWZmbnVuZwoyLiBEaXNrdXNzaW9uIGRlciBub2V0aWdlbiBTYXR6dW5nc2FlbmRlcnVuZwozLiBCZXNjaGx1c3MgZGVyIFNhdHp1bmdhZW5kZXJ1bmcKNC4gVmVyc2NoaWVkZW5lcwoKVW0gemFobHJlaWNoZXMgRXJzY2hlaW5lbiB3aXJkIGdlYmV0ZW4hISEKCktpcmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNaXRnbGllZGVydmVyc2FtbWx1bmcgKEdyaW1tYm9ybiwgIDguIEZlYiAxOTk1LCAxMzo1NzowMSk6CiMhIHJuPUtpcmsgcnQ9NzkyMjM0Njk5CkhtbSwgZWluZSBWZXJzYW1tbHVuZyBpbSBNRyBrb21tdCB2ZXJtdXRsaWNoIG5pY2h0IGluIEZyYWdlLCBuZWluPwoKTnVyIHNvIGFscyBJZGVlLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIChLaXJrLCAgOS4gRmViIDE5OTUsIDE0OjQ2OjQ2KToKIyEgcm49R3JpbW1ib3JuIHJ0PTc5MjI0ODIyMQpIaSEKCldpciBtdWVzc2VuIGRpZSBNR1Ygc2Nob24gaW4gUkwgYWJoYWx0ZW4uIExhZXNzdCBzaWNoIG5pY2h0IHVtZ2VoZW4sIGRhCkFic3RpbW11bmdlbiBpbSBNdWQgZ2UtZmFrZS1kIHdlcmRlbiBrb2VubmVuLgoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIChIYXJkaWwsICA5LiBGZWIgMTk5NSwgMTU6MDM6NTUpOgojISBybj1LaXJrIHJ0PTc5MjMzNzYwNgoKT2ggS2lyaywgd2llIHJlY2h0IER1IGRvY2ggaGFzdC4gU2llaGUgZ2VyYWRlIGFiZ2VoYWx0ZW5lbmUKV29scGllLUNsdWItU2l0enVuZy4KCllUSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIChHdWxkdWthdCwgIDkuIEZlYiAxOTk1LCAxNzozODoxNyk6CiMhIHJuPUhhcmRpbCBydD03OTIzMzg2MzUKRGllIFdhaGwgd2FyIHZvbSBNRy1XYWhsbGVpdGVyIGFscyBvcmRudW5nc2dlbWFlc3MgZWluZ2VzdHVmdCB3b3JkZW4hCkdELCBWb3JzaXR6ZW5kZXIgZGVzIFdDcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmVyc2FtbWx1bmcgKFp1ZXJpbGV1LCAxMS4gRmViIDE5OTUsIDA3OjI3OjIzKToKU2FsaSB6YWVtZSwKTW9yZ2VuZ3JhdWVudmVyZWluID8gY29vbCB3YXMgdHV0IGRlciB1bmQgd2FzIG1hY2h0IGRlciA/CkFlbW0gdmVyc2FtbWx1bmcgaW4gUkwsIG5hamEgZGEga29lbm5lbiBhdXNsYWVuZGVyIG5pY2h0IHRlaWxuZWhtZW4ga2FubiBqYQp3b2hsIG5pY2h0IGplZGVyIGltbWVyIG5hY2ggZGV1dHNjaGxhbmQgZmFocmVuLgoKdHNjaHVlc3MgemFlbWUgWnVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVyIFdvcnRsYXV0IGRlciBTYXR6dW5nIChLaXJrLCAxNC4gRmViIDE5OTUsIDE0OjE3OjA1KToKSGFsbG8hCgpJbiAvb3Blbi9NR19Gb2VyZGVydmVyZWluIGlzdCBkZXIgbmV1ZSBXb3J0bGF1dCBkZXIgU2F0enVuZyB6dSBsZXNlbi4KRmlsZWZvcm1hdGU6ClNhdHp1bmcucHMgIC0+IFBvc3RTY3JpcHQKU2F0enVuZy5kdmkgLT4gRFZJClNhdHp1bmcuaXNvIC0+IFVuaXgtVW1sYXV0ZQpTYXR6dW5nLnR4dCAtPiBET1MtVW1sYXV0ZQpTYXR6dW5nNy5iaXQgLT4gS2VpbmUgOC1iaXQgWmVpY2hlbgoKRGVyIFdvcnRsYXV0IGRlciBFaW56dWdzZXJtYWVjaHRpZ3VuZyBoYXQgc2ljaCBhdWNoIGdlcmluZ2Z1ZWdpZyBnZWFlbmRlcnQuCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZW1laW5udWV0emlna2VpdCAoVmlwZXIsIDE1LiBGZWIgMTk5NSwgMTc6Mjk6NDYpOgpIYWxsb2VjaGVuLAppY2ggaGFiZSBoZXV0ZSBQb3N0IHZvbSBGaW5hbnphbXQgZXJoYWx0ZW4sIHVuZCB6d2FyIHNlaHIgZXJmcmV1bGljaGUhCkRlciBGb2VyZGVydmVyZWluIFByb2pla3QgTW9yZ2VuR3JhdWVuIGlzdCBhYiBzb2ZvcnQgYWxzIGdlbWVpbm51ZXR6aWcKYW5lcmthbm50LiBEZXIgVmVyZWluIGlzdCBzZWxic3QgYmVyZWNodGlndCBTcGVuZGVuYmVzdGFldGlndW5nZW4gYXVzenUtCnN0ZWxsZW4sIHVuZCAtIGpldHp0IGtvbW10cy0gU3BlbmRlbmJlc3RhZXRpZ3VuZ2VuIGtvZW5uZW4gYXVjaCBmdWVyCk1pdGdsaWVkYmVpdHJhZWdlIGF1c2dlc3RlbGx0IHdlcmRlbi4KCkFsc28gYWxsZSwgZGllIGlocmVuIE1pdGdsaWVkc2JlaXRyYWcgYmV6YWhsdCBoYWJlbiwga29lbm5lbiBkZW1uYWVjaHN0Cm1pdCBlaW5lciBTcGVuZGVuYmVzdGFldGlndW5nIGluIGRpZXNlciBIb2VoZSByZWNobmVuLgoKQmlzIGRhbm4KCiBWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvZ3JhbW1pZXJrdXJzZSAoWmFyZG96LCAxNi4gRmViIDE5OTUsIDEyOjM2OjA0KToKSW4gZGVyIFNhdHp1bmcgKDIuMi4pIFdpcmQgc28gc2Nob2VuIHZvbiBQcm9ncmFtbWllcmt1cnNlbiBlcnphZWhsdC4gV28gc2luZApkZW5uIGRpZXNlIHVuZCB3YW5uIGZpbmRlbiBzaWUgc3RhdHQ/IEljaCB0cmV0ZSBkb2NoIG5pY2h0IGluIGVpbmVuIFZlcmVpbgplaW4sIGRlciBzaWNoIG5pY2h0IGFuIHNlaW5lIFNhdHp1bmcgaGFlbHQuIFVuZCB3ZW5uIGRpZSBLdXJzZSBzbyBhYmxhdWZlbiwKd2llIGF1ZiBkZXIgTXVkLVBhcnR5LCBkYW5uIGthbm4gbWFuIGRhcyBnYW56ZSBlaCB2ZXJnZXNzZW4uIEFsc28gaWNoIHdlcmRlCmVyc3QgaW4gZGVuIFZlcmVpbiBlaW50cmV0ZW4sIHdlbm4gaWNoIG1lcmtlLCBkYXNzIHNpY2ggYXVmIGRpZXNlbSBHZWJpZXQKaXJnZW5kZXR3YXMgYmV3ZWd0LiAjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvZ3JhbW1pZXJrdXJzZSAoSGF0ZSwgMTYuIEZlYiAxOTk1LCAxMzoxOTo1OCk6CiMhIHJuPVphcmRveiBydD03OTI5MzQ1NjQKRHUgdmVyZ2lzc3QsIGRhc3MgZGVyIFZlcmVpbiBpbSBBdWZiYXUgYmVncmlmZmVuIGlzdC4gTWFuIGRhcmYgbWljaCBzY2hvbgptYWwgYWxzIEdhc3Rkb3plbnRlbiBpbSB2ZXJlaW4gZWlucGxhbmVuLiBEaXZlcnNlIFRoZW1lbiB3YWVyZW46CgpQcm9ncmFtbWllcmVuIGluIEMsIE9iamVrdC1vcmllbnRpZXJ0ZSBNZWNoYW5pc21lbiwgTFBDIHVuZCBhbGxnZW1laW4KVW1nYW5nIG1pdCBVTklYLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJvZ3JhbW1pZXJrdXJzZSAoS2lyaywgMTcuIEZlYiAxOTk1LCAxNTozMjo1OSk6CiMhIHJuPUhhdGUgcnQ9NzkyOTM3MTk4CkRhcyBaaWVyIGRlcyBWZXJlaW5zIGlzdCBlcyBpbiBlcnN0ZXIgTGluaWUsIGVpbmVuIFJlY2huZXIgZnVlciBkYXMgTXVkIHp1CmJlc2NoYWZmZW4uIERhIGljaCBpbiBzZWhyIGFic2VoYmFyZXIgWmVpdCBuaWNodCBtZWhyIGluIE11ZW5zdGVyIHNlaW4gd2VyZGUsCmlzdCBlcyBzZWhyIGZyYWdsaWNoIHdhcyBtaXQgZGVtIE11ZHJlY2huZXIgZ2VzY2hlaGVuIHdpcmQsIGF1ZiBkZW0gTUcKZGVyemVpdC4KbGFldWZ0LiBJY2gga2FubiB1bmQgbW9lY2h0ZSBlcyBkZW4gTGV1dGVuIG5pY2h0IHp1bXV0ZW4gZWluIHNvbGNoZW4gUmllc2VuLQpwcm96ZXNzIGF1ZiBkZW0gUmVjaG5lciBsYXVmZW4genUgbGFzc2VuLCB3ZW5uIGljaCBuaWNodG1hbCBtZWhyIGRvcnQKYXJiZWl0ZS4KR2FueiBhYmdlc2VoZW4gZGF2b24sIGRhc3MgZXMgZWggbWF4aW1hbCBnZWR1bGRldCwga2VpbmVzZmFsbHMgYWJlciB2b24KbWVpbmVtCkFyYmVpdGdlYmVyIGJlZnVlcndvcnRldCB3aXJkLiBXYXMgYWxzbyBwYXNzaWVydCwgd2VubiBpY2ggbmljaHQgbWVociBkYSBiaW4sCmlzdCBkYW5uIGFienVzZWhlbi4gRmFsbHMgamVtYW5kIG5lbiBSZWNobmVyIHp1IFZlcmZ1ZWd1bmcgc3RlbGxlbiBrYW5uLCBkYW5uCndhZXJlIHVucyBkYW1pdCBzY2hvbiBzZWhyIGdlaG9sZmVuIHVuZCB3aXIga29lbm5lbiB1bnMgdm9sbGF1ZiBkZW4gS3Vyc2VuCndpZG1lbi4KQWxsZXJkaW5nczogRWluIDQ4NmVyIG1pdCAxNk1CIFJhbSByZWljaHQgd29obCBrYXVtIGF1cyA7LSkKCkFsc28gaGFidCBldHdhcyBHZWR1bGQgdW5kIGhlbGZ0IG1pdC4gU2NobGllc3NsaWNoIHdvbGxlbiBhbGxlLCBkYXNzIGVzCndlaXRlcmdlaHQuCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp2ZXJlaW5zdHJlZmYgKFp1ZXJpbGV1LCAxNy4gRmViIDE5OTUsIDE2OjE0OjUwKToKU2FsaSBaYWVtZSwKS2FubiBtYW4gZGVuIFZlcmVpbnN0cmVmZiBuaWNoIGlyZ2VudHdvIGltIE1vcmdlbmdyYXVlbiBvcmdhbmlzaWVyZW4gPwpJY2ggd2Vpc3MgZXMgd3VyZGUgRGlza3V0aWVydCB3ZWlscyBzb25zdCB3aWVkZXIgd2VsY2hlIGtvbW1lbiB1bmQgbWlzdGJhdWVuCnVuZCBzaWNoZXIgaXN0IHJlYWwgYmVzc2VyLiBBYmVyIHJlYWwga2FubiBpY2ggYXVzIGRlbSBBdXNsYW5kIGxlaWRlciBuaWNodAp0ZWlsbmVobWVuIGRlbiB3ZWcgbWl0IGRlciBCYWhuIGZ1ZXIgZWluZW4gVGFnIGlzdCBtaXIgenUgdGV1ZXIgdW5kIGVpbiBBdXRvCmhhYmUgaWNoIG5pY2h0LgogICBUc2NodWVzcyBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZlcmVpbnN0cmVmZiAoQm9pbmcsIDE3LiBGZWIgMTk5NSwgMTc6MDM6MDYpOgojISBybj1adWVyaWxldSBydD03OTMwMzQwOTAKRGVyIFZlcmVpbiBpc3QgZWluIFJFQUxFUiBWZXJlaW4gdW5kIFZlcnNhbW1sdW5nZW4gbXVlc3NlbiBhbHNvIHJlYWwKc3RhdHRmaW5kZW4gdW5kIG5pY2h0IHZpcnR1ZWxsLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHZlcmVpbnN0cmVmZiAoWnVlcmlsZXUsIDE3LiBGZWIgMTk5NSwgMTc6MDk6MzQpOgojISBybj1Cb2luZyBydD03OTMwMzY5ODYKU2FsaSBCb2luZywKRGFzIG1vZWdlIHNjaG9uIHNlaW4gbnVyIGJlcnVlY2tzaWNodGlndCBpaHIgZGEgd29obCBTcGllbGVyIGF1cyBkZW0gQXVzbGFuZApuaWNodCwgYmVpIGdlbGQgbW9lZ2UgZXMgamEgZnVlciBldWNoIGtlaW5lIHJvbGxlIHNlaW4gb2IgZXMgYXVzIGRlbSBBdXNsYW5kCmtvbW10IG9kZXIgbmljaHQgZGFydW0gZmluZGUgaWNoIGVzIGV0d2FzIGRvb2YuIEFiZXIgbGFzc2VuIHdpcnMgPTooCgpjdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJvZ3JhbW1pZXJrdXJzZSAoS2xpbmdlLCAxNy4gRmViIDE5OTUsIDIzOjI2OjQzKToKIyEgcm49S2lyayBydD03OTMwMzE1NzkKbnVyIGF1cyB3aXNzZW5zY2hhZnRsaWNoZW0gaW50ZXJlc3NlLC4uLjspCndhcyB3YWVyZSBkZW5uIGF1c3JlaWNoZW5kID8KCm1pY2ggaGF0IHNjaG9uIGltbWVyIGludGVyZXNzaWVydCB3aWUgZ3Jvc3MgZGllIHdlbHQgaXN0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2dyYW1taWVya3Vyc2UgKEZ5dCwgMTguIEZlYiAxOTk1LCAxMToyMTowMyk6CiMhIHJuPUhhdGUgcnQ9NzkyOTM3MTk4CgpBYWFhaG0uLiBIYXRlIGFscyBEb3plbnQuCkRhcyB3ZXJkZSBpY2ggc2ljaGVyIG5pY2h0IHZlcnBhc3NlbiA6KQoKRnl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcm9ncmFtbWllcmt1cnNlIChLaXJrLCAyMC4gRmViIDE5OTUsIDE0OjA4OjUyKToKIyEgcm49Rnl0IHJ0PTc5MzEwMjg2MwpFaW4gTWluaW11bSBhbiBBdXNzdGF0dHVuZyBmdWVyIGVpbmVuIE11ZC1SZWNobmVyLCBhdWYgZGVtIE1HIGV2dGwuIGxhdWZlbgprb2VubnRlLCB3YWVyZSBlaW4gUDkwIG1pdCAxMjggTUIgUmFtLCBTQ1NJLUNvbnRyb2xsZXIgdW5kIGVpbmVyIDFHQiBQbGF0dGUuClp1c2FldHpsaWNoIG5hdHVlcmxpY2ggZWluZSBOZXR6d2Vya2thcnRlIG1pdCBkZXIgd2lyIGFucyBFdGhlcm5ldCBrb21tZW4uCkFscyBNb25pdG9yIHJlaWNodCBlaW4gYmlsbGlnZXIgQi9XIG9kZXIgYWx0ZXIgQmVybnN0ZWluIE1vbml0b3IgdW5kIGVpbmUKc2ltcGxlIEdyYWZpa2thcnRlLgpEYXMgZ3JvZXNzdGUgUHJvYmxlbSBpc3QgZGVyIEhhdXB0c3BlaWNoZXJiZWRhcmYuIERhcyBNRyBpc3QgYmVyZWl0cyBuYWNoIDI0ClN0dW5kZW4gVXB0aW1lIHdlaXQgdWViZXIgMzBNQiBncm9zcyB1bmQgc3RlaWd0IGRlcnplaXQgYXVmIDQwLTQ1TUIsIGplIG5hY2gKVXB0aW1lLiBFaW5lIEVuZGUgZGllc2VyIEVudHdpY2tsdW5nIGlzdCBuaWNodCBpbiBTaWNodC4gNjRNQiBIYXVwdHNwZWljaGVyCnJlaWNoZW4gbmljaHQgYXVzLCBkYSBkYW5uIGRlciBSZWNobmVyIHp1IHNjaG5lbGwgYW5mYWVuZ3QgTWVtb3J5IHp1IHN3YXBwZW4uClZvbiBkZXIgQ1BVLVBlcmZvcm1hbmNlIGtvZW5udGUgZWluIFA5MCBhdXNyZWljaGVuLCB3aXIgaGF0dGVuIGFiZXIgbm9jaAprZWluZSBNb2VnbGljaGtlaXQgZGFzIHp1IHRlc3Rlbi4gRGEgTUcgYmVub2V0aWd0IGV0d2EgMjUwLTMwME1CIFBsYXR0ZW5wbGF0egooaW5rbC4gQmFja3VwcyBldGMuKSBEZXIgUmVzdCBmdWVyIGRhcyBCZXRyaWVic3N5c3RlbSB1bmQgUmVzZXJ2ZSAuLi4KRGllIE5ldHp3ZXJra2FydGUgc29sbHRlIHNjaG9uIGV0d2FzIGhlcm1hY2hlbiwgZGEgd2lyIHNlaHIgdmllbCBOZXRsb2FkCnByb2R1emllcmVuID4yMDBNQi9kYXkgKHNwZWt1bGF0aXYpCkRhcyB3YWVyJ3MgZGFubiBzY2hvbiwgZGVua2UgaWNoIC4uLgoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdmVyZWluc3RyZWZmIChLaXJrLCAyMC4gRmViIDE5OTUsIDE0OjEyOjEyKToKIyEgcm49WnVlcmlsZXUgcnQ9NzkzMDM3Mzc0ClZlcnNhbW1sdW5nZW4sIGF1ZiBkZW5lbiByZWNodHNrcmFlZnRpZ2UgRW50c2NoZWlkdW5nZW4gZ2V0cm9mZmVuIHdlcmRlbiwKTVVFU1NFTiBpbiBSTCBhYmdlaGFsdGVuIHdlcmRlbi4gRGlza3Vzc2lvbmVuIHVuZCBCZXJhdHVuZ2VuIGtvZW5uZW4gYWJlcgpwcm9ibGVtbG9zIGltIE11ZCB2ZXJhbnN0YWx0ZXQgd2VyZGVuLgoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUHJvZ3JhbW1pZXJrdXJzZSAoSWNldCwgMjEuIEZlYiAxOTk1LCAwMDozNzoxMyk6CiMhIHJuPUtpcmsgcnQ9NzkzMjg1NzMyCkhpIEtpcmsuCiAgSWNoIHdlaXNzIG5pY2h0IG1laHIsIHdlbGNoZXMgTVVEIGVzIHdhciAoaXJnZW5kZWluIGVuZ2xpc2NoZXMgYW4gbmVtCi5jb20tQW5zY2hsdXNzKSwgYWJlciBlaW4gUDkwIGhhdCBiZWkgZGVuZW4gZnVlciBjYS4gMTAwIFNwaWVsZXIKb2huZSBMYWdzIGF1c2dlcmVpY2h0LiBEYSBrYW5uIGljaCBkaWNoIGFsc28gYmVydWhpZ2VuLgpBY2hqYTogZGFzIE1VRCBsaWVmIHZvcmhlciBhdWYgbmVtIFA2MCwgZGVyIHJlaWNodGUgYXVjaCBzY2hvbiBhdXMuCkRlciBkcml2ZXIgaXMgZXMgamEgbmljaHQsIGVzIGlzdCBkZXIgU3BlaWNoZXIgdW5kIHYuYS4gZGFzIEkvTywgZGFzcwplaW4gTVVEIHNvIFJlc291cmNlbmludGVuc2l2IG1hY2h0LiBWaWVsIFJlY2hlbnBvd2VyIGJyYXVjaHRzIGRhIGdhciBuaWNodAptYWwuCgotSWNlVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUHJvZ3JhbW1pZXJrdXJzZSAoS2lyaywgMjEuIEZlYiAxOTk1LCAxMTowMDoyMSk6CiMhIHJuPUljZXQgcnQ9NzkzMzIzNDMzCkhpIQoKTnVuamEsIHdpciBoYWJlbiBhbiAic2NobGVjaHRlbiIgVGFnZW4gMTAwIFNwaWVsZXIsIG1laXN0IHNpbmQgZXMgbWVociB1bmQKTXVkcyB1bnRlcmVpbmFuZGVyIHp1IHZlcmdsZWljaGVuIGhhbHRlIGljaCBmdWVyIHJlbGF0aXYgendlY2tsb3MsIHdlaWwgZGllCk11ZGxpYiB2aWVsIGRhenUgYmVpdHJhZWd0LCB3aWV2aWVsIENQVS1Qb3dlciBlaW4gTXVkIHZlcmJyYXVjaHQuIEljaCBrYW5uCm51cgpzYWdlbiwgZGFzcyBlcyBkZXJ6ZWl0IGVpbmUgQ1BVIGVpbmVyIFNwYXJjMjAgbWl0IDYwTUh6IHVuZCAxTUIgQ2FjaGUgbmFoZXp1CnZvbGxzdGFlbmRpZyBiZXNjaGFlZnRpZ3QgdW5kIG1pdCBlaW5lciBNYXNjaGluZSBhdWYgZGVyIGVzIHZpZWxsZWljaHQgZ2VyYWRlCm5vY2ggbGFldWZ0IHdpbGwgaWNoIGdhciBuaWNodCBlcnN0IGFuZmFuZ2VuLCBkZW5uIGRhbm4gaXN0IHNpZSAxIE1vbmF0CnNwYWV0ZXIgc2Nob24genUga2xlaW4uCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQcm9ncmFtbWllcmt1cnNlIChBY3JpbW9uLCAyMS4gRmViIDE5OTUsIDIxOjAzOjM5KToKIyEgcm49S2lyayBydD03OTMyODU3MzIKV2VubiBNRyBzdGFiaWwgbGF1ZmVuIHNvbGwsIGRhbm4gc29sbHRlIGVzIG5hY2ggTW9lZ2xpY2hrZWl0IGVpbiBhbmRlcmVyClByb3plc3NvciBhbHMgUDkwIHNlaW4gdW5kIGVpbmUgYW5kZXJlIFBsYXR0Zm9ybSBhbHMgZWluZSBEb3NlLiBEaWUgSGVyc3RlbGxlcgpkaWVzZXIgUHJvZHVrdGUgc2luZCBhbGx6dSBiZWthbm50IGZ1ZXIgaWhyZSB1bnp1dmVybGFlc3NpZ2VuIFByb2R1a3RlLgpFbXBmZWhsZW5zd2VydCB3YWVyZSBIUC1QQSA3MTUuIElzdCB3ZXNlbnRsaWNoIHp1dmVybGFlc3NpZ2VyLCBoYXQgYWJlciBhdWNoCmVpbmVuIGhvZWhlcmVuIFByZWlzLiBNYW4gc29sbHRlIHNpY2ggZWlubWFsIGRpZSB2ZXJzY2hpZWRlbmVuClVuaXgtUGxhdHRmb3JtZW4gYW5zY2hhdWVuLCBzaWNoIHVlYmVyIGRlcmVuIFF1YWxpdGFldCB1bmQgUHJlaXMgaW5mb3JtaWVyZW4KdW5kIGVyc3QgZGFubiBlbnRzY2hlaWRlbi4KClVuZCAtIGRpZSBTcGllbGVyIHdlcmRlbiBnbHVlY2tsaWNoZXIgc2Vpbiwgd2VubiBNRyBhdWYgZWluZW0gc3RhYmlsZW4KUmVjaG5lciBsYWV1ZnQgdW5kIGF1Y2ggaWNoIHdlcmRlIG1pdCBTaWNoZXJoZWl0IG1laHIgc3BlbmRlbiwgd2VubiBJaHIgdm9uClA5MCBBYnN0YW5kIG5laG10LgpBY3JpbW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQcm9ncmFtbWllcmt1cnNlIChNYXRlZXNlLCAyMS4gRmViIDE5OTUsIDIxOjU0OjM5KToKIyEgcm49SWNldCBydD03OTMzMjM0MzMKV2VubiBkYXMgZW5nbGlzY2hlIE11ZCBuaWNodCBhdWNoIGVpbiBMUCBvZGVyIE1vbyB3YXIsIGhhdCBkYXMgbmljaHRzCnp1IHNhZ2VuLgogLS0gTWF0ZWVzZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUHJvZ3JhbW1pZXJrdXJzZSAoQ2F0d2VhemxlLCAyMS4gRmViIDE5OTUsIDIzOjEzOjU0KToKIyEgcm49QWNyaW1vbiBydD03OTMzOTcwMTkKSGkhCkFMc28sIEpvZiB1bmQgS2lyayBoYWJlbiB1bnMgZWluZW4gVGVzdHJlY2huZXIsIFA5MCwgMUdCIFBsYXR0ZSwKM0NvbUV0aGVybGluaywgMTI4IE1CIFNwZWljaGVyLCBiZXNvcmd0LiBXaXIgYmVrb21tZW4gZGllc2VuIFJlY2huZXIKZnVlciBlaW5lIFdvY2hlIGdlbGllaGVuLCBpbiBkaWVzZXIgWmVpdCB3aXJkIGRhcyBNdWQga29tcGxldHQgYXVmCmRpZSBMZWlobWFzY2hpbmUgdmVybGVndC4KRGFzIGxhZXVmdCBhbGxlcmRpbmdzIG5pY2h0IHVudGVyIERPUywgc29uZGVybiB1bnRlciBMaW51eC4gSW53aWUtCndlaXQgZGFzIGRhbm4gZnVlciB1bnNlcmUgWndlY2tlIHJlaWNodCwgd2lyZCBzaWNoIHplaWdlbi4gSWNoIGdsYXViZQphbGxlcmRpbmdzIG1pY2h0LCBkYXMgZGFiZWkgZ3Jvc3NlIFByb2JsZW1lIGF1ZnRhdWNoZW4sIGRhIHdpciBlaW5lCmdlbnVlZ2VuZCBzY2huZWxsZSBOZXR6d2Vya2thcnRlIGhhYmVuKDEwTWJpdCwgbWVociBzY2hhZmZ0IGRhcyBSWgphdWNoIG5pY2h0KSB1bmQgZWluZSBhdXNyZWljaGVuZCBzY2huZWxsZSBGZXN0cGxhdHRlIChkaWUgUGxhdHRlLCBkaWUKd2lyIHNwYWV0ZXIga2F1ZmVuIHdlcmRlbiB3aXJkIHNpY2hlcmxpY2ggZWluZSBoaWdoZW5kLUdlc2Nod2luZGlna2VpdApoYWJlbikuCldlbGNoZSBQcm9ibGVtZSBkYWJlaSB0YXRzYWVjaGxpY2ggYXVmdGFjaGVuIHdpcmQgc2ljaCBkYW5uIHplaWdlbiwKdm9yIGFsbGVtLCBvYiBzaWUgdW1nZWhiYXIgYnp3LCBiZWhlYmJhciBzaW5kLgoKWW91cnMgdHJ1bHksCiAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFByb2dyYW1taWVya3Vyc2UgKEljZXQsIDIyLiBGZWIgMTk5NSwgMDE6Mzc6NTEpOgojISBybj1BY3JpbW9uIHJ0PTc5MzM5NzAxOQpRdWFyaywgQWNyaW1vbi4gMS4gV2lyZCBkYXMgTVVEIGhpZXIgbmllIHVuZCBuaW1tZXIgdW50ZXIgRE9TIGxhdWZlbiwgc29uZGVybgp1bnRlciBMaW51eC4gVW5kIGJlaSBMaW51eCB3aXJzdCBkdSBpbiBCZXp1ZyBhdWYgU3RhYmlsaXRhZXQga2VpbmUgUHJvYmxlbWUKaGFiZW4sIGRhIGlzdCBkYXMgU3VuT1MsIGF1ZiBkZW0gZGFzIE1HIGltIE1vbWVudCBnbGF1YiBpY2ggbGFldWZ0IGluc3RhYmlsZXIuClVuZCAyLiBXYXMgYmVmdWVyY2h0ZXN0IER1IGJlaSBlaW5lbSBQOTA/IERhc3MgZXIgbmljaHQgcmljaHRpZyBkaXZpZGllcnQ/Cipyb3RmbCogUXVhdHNjaCA6KSBEdSBnbGF1YnN0IGRvY2ggbmljaHQgZXJuc3RoYWZ0LCBkYXNzIGVpbiBIUC1QQSA3MTUKZmVobGVyZnJlaSBsYWV1ZnQ/Ck9kZXIgZGVzc2VuIFByb3plc3NvciBhdWNoIG51ciBhbm5hZWhlcm5kIGJ1Z2ZyZWkgaXN0LgpXZW5uIER1IGRhcyBnbGF1YnN0LCBnZWhvZXJzdCBEdSB3b2hsIHp1ciBTY2hhciBkZXIgVGVjaG5vbG9naWVnbGFldWJpZ2VuLgpXYWNoIGF1ZiA6KQpBbHNvLCBlaW4gUDkwIHdhZXJlIE9LLiBNZWhyIFJlY2hlbnBvd2VyIG1pdCBzaWNoZXJlciBQbGF0dGZvcm0gKGRpZSBhdWNoCm5vY2gga29zdGVubG9zIGlzdCkgYmVrb21tdCBtYW4genVyIFplaXQgd29obCBrYXVtIGZ1ZXIgd2VuaWcgR2VsZC4KCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB2ZXJlaW5zdHJlZmYgKFp1ZXJpbGV1LCAyMi4gRmViIDE5OTUsIDAxOjU3OjE2KToKIyEgcm49S2lyayBydD03OTMyODU5MzIKU2FsaSB6YWVtZSwKSmEga2xhciwga2FubiBpY2ggbGVpZGVyIG5pY2h0IGtvbW1lbiBlcyBob2xsdCBtaWNoIHNpY2hlciBrZWluZXIgdm9uIHp1ZXJpY2gKYWIgdW5kIGJyaW5ndCBtaXJjaCByZW91ciAna2ljaGVyJyA9OikKCnRzY2h1ZXNzIHphZW1lIHp1ZXJpbGV1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQcm9ncmFtbWllcmt1cnNlIChKb2YsIDIyLiBGZWIgMTk5NSwgMDE6NTk6NDEpOgojISBybj1JY2V0IHJ0PTc5MzQxMzQ3MQogLi4uIGRpZSBGcmFnZSBpc3QsIG9iIGRpZSBhYnNvbHV0ZSBQZXJmb3JtYW5jZSBlaW5lcyBQOTAgYXVzcmVpY2h0IC0gZ2VuYXUKZGFzIHdvbGxlbiB3aXIgZ3JhZGUga2xhZXJlbi4gQXVzc2VyZGVtIHd1ZXJkZSBhdWNoIGljaCBuaWNodCBkYXJhdWYKd2V0dGVuLCBkYXMgTGludXggYXVmIEFuaGllYiBtaXQgZGVyIFphaGwgdm9uIENvbm5lY3RzL0Rpc2Nvbm5lY3RzLCBkaWUgTUcKc28gcHJvZHV6aWVydCwga2xhcmtvbW10LiBOb2NoIGJlaSBlaW5lbSBkZXIgNzBlciAoMS4xLjd4KSBLZXJuZWwgd2FyCmVpbiBTb2NrZXQtTGVhayBkcmluIC0ga2xlaW5lcyBQcm9ibGVtIGltIE5vcm1hbGJldHJpZWIsIGFic29sdXQgdG9lZGxpY2gKd2VubiBlaW4gTXVkIGRyYXVmIGxhZXVmdCAuLi4KCiBXYXJ0ZW4gd2lycyBhYi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFByb2dyYW1taWVya3Vyc2UgKEljZXQsIDIyLiBGZWIgMTk5NSwgMDI6MTE6MjUpOgojISBybj1Kb2YgcnQ9NzkzNDE0NzgxCk1hY2h0IG1hbCwgSm9mIHVuZCBkaWUgYW5kZXJlbi4uLiBpY2ggYmluIGRhIGF1Y2ggc2VociBnZXNwYW5udCBkYXJhdWYuCgotSWNlVCAoYXVjaCBtaXQgUGVudGl1bSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFByb2dyYW1taWVya3Vyc2UgKEdyaW1tYm9ybiwgMjIuIEZlYiAxOTk1LCAwOTo1ODo1MSk6CiMhIHJuPUNhdHdlYXpsZSBydD03OTM0MDQ4MzQKCkhtbSwgYWhuZSBpY2ggZGEgZWluZW4gcmVib290IGtvbW1lbj8gTWl0IGRhenVnZWhvZXJpZ2VuIFByb2JsZW1lbj8gRGFzCmxldHp0ZSBNYWwgYmVpbSBSZWNobmVyd2VjaHNlbCBnYWJzIGVpbmVuIGhhbGJlbiBUYWcgbXVkcGF1c2UsIGRhcyB2ZXJrcmFmdGV0Cm5pY2h0IGplZGVyLiBBYmVyIG1hY2h0IG1hbCEgRmluZCBpY2ggbmljaHQgdW5pbnRlcmVzc2FudCwgdm9yIGFsbGVtIGRpZQpGcmFnZSwgd2llIGRhcyBudW4gZWlnZW50bGljaApmaW5hbnppZXJ0IHdlcmRlbiBzb2xsLiAqZmx1Y2gqIHdlciBoYXQgZGVubiBkZW4gVGFzdGF0dXJzcGVpY2hlciBnZWthcHB0PwoKR3JpbW1ib3JuIGRlciBBdGhlaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlY2huZXJ3ZWNoc2VsICh3YXIgUmVeNTogUHJvZ3JhbW1pZXJrdXJzZSkgKFllbmRpLCAyMi4gRmViIDE5OTUsIDEwOjUxOjEyKToKCldhbm4gc29sbCBkZW5uIGRlciBVbXp1ZyBhdWYgZGVuIG5ldWVuIFJlY2huZXIgc3RhdHRmaW5kZW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlY2huZXJ3ZWNoc2VsICh3YXIgUmVeNTogUHJvZ3JhbW1pZXJrdXJzZSkgKEtpcmssIDIyLiBGZWIgMTk5NSwgMTQ6Mzk6MDApOgojISBybj1ZZW5kaSBydD03OTM0NDY2NzIKRGFzIGRhdHVtIGRlcyBXZWNoc2VscyBzdGVodCBuaWNodCBmZXN0LCBkYSB3aXIgbm9jaCBuaWNodCB3aXNzZW4sIHdhbm4gd2lyCmRlbiBSZWNobmVyIGJla29tbWVuIGtvZW5uZW4uCgpEaWUgRmluYW56aWVydW5nIGVpbmVzIFJlY2huZXJrYXVmcyB3aXJkIHZvcnJhbmdpZyBkdXJjaCBTcGVuZGVuIGFibGF1ZmVuLgpEZXIgVmVyZWluIGRhcmYgU3BlbmRlbnF1aXR0dW5nZW4gYXVzc3RlbGxlbiB1bmQgZGllc2Ugc2luZCB2b24gZGVyIFN0ZXVlcgphYnNldHpiYXIuIFdlciBhbHNvIHNjaG9uIGVpbm1hbCBldHdhcyBzcGVuZGVuIG1vZWNodGUsIGRlciBrYW5uIHNpY2ggYmVpCkZpbmR1bGFzLCBDYXR3ZWF6bGUsIFZpcGVyIG9kZXIgbWlyIG1lbGRlbi4gV2lyIGtvZW5uZW4gamVkZW4gUGZlbm5pZwpnZWJyYXVjaGVuLiB3ZWxjaGUgSGFyZHdhcmUgbGV0enRlbmRsaWNoIGFuZ2VzY2hhZmZ0IHdpcmQsIHN0ZWh0IG5vY2ggbGFuZ2UKbmljaHQgZmVzdC4gU2llIG11c3MgaW4gamVkZW0gRmFsbCBiZXphaGxiYXIgc2VpbiwgYWxzbyBlaW5lIENyYXkgd2VyZGVuIHdpcgpuaWNodCBrYXVmZW4sIGVzIHNlaSBkZW5uIGplbWFuZCBzY2hlbmt0IHVucyBlaW5lLiBTYWNoc3BlbmRlbiBzaW5kIHVlYnJpZ2VucwphdWNoIGFic2V0emJhci5xdWl0CmFyZ2wgKGRhcyBxdWl0IHdhciB6dSB2aWVsKSA6LSkKCktpcmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFByb2dyYW1taWVya3Vyc2UgKEhhdGUsIDIyLiBGZWIgMTk5NSwgMTY6Mjg6NTMpOgojISBybj1BY3JpbW9uIHJ0PTc5MzM5NzAxOQpBbHNvIGljaCBrb2VubnRlIGVpbmUgSFAtUEEgUmlzYyA3MTUvNjAgc2Nob24gZnVlciBjYSA2MDAwRE0ga3JpZWdlbi4KRmFsbHMgZGEgYWxzbyBpbnRlcmVzc2UgYmVzdGVodCA7KQpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUHJvZ3JhbW1pZXJrdXJzZSAoSGF0ZSwgMjIuIEZlYiAxOTk1LCAxNjozMTo1MSk6CiMhIHJuPUhhdGUgcnQ9NzkzNDY2OTMzCkF1c3NlcmRlbSB1ZWJlcmxlZ2UgaWNoLCBvYiBpY2ggdWViZXIgbWVpbmVuIFZhdGVyIHNvIGNhIDY0TUIgU3BlaWNoZXIKc3BlbmRlbiBrb2VubnRlLCBkZW5uIGRlciBoYXQgbm9jaCBlaW5pZ2VzIFVlYnJpZyB1bXMgbWl0IGFienVzZXR6ZW4uCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQcm9ncmFtbWllcmt1cnNlIChTY2h1bHplLCAyMi4gRmViIDE5OTUsIDE4OjI1OjMyKToKIyEgcm49Sm9mIHJ0PTc5MzQxNDc4MQpIaSAqLApudXIgc28gYWxzIFZvcnNjaGxhZzoKV2llIHdhZXJlIGVzIG1pdCBGcmVlQlNEIHN0YXR0IExpbnV4IGFscyBCUz8KRnJlZUJTRCBpc3QgendhciBuaWNodCBzbyBwb3B1bGFlciB3aWUgTGludXgsIGlzdCBhYmVyLCB3YXMgTmV0endlcmstIHVuZCBJUC0KQW5iaW5kdW5nZW4gYW5iZWxhbmd0LCBhdXNnZXJlaWZ0ZXIuCkVzIHdpcmQgenVtaW5kZXN0IHN0YXR0IExpbnV4IHZvbSBwaW5nLVZlcmVpbiBpbiBEb3J0bXVuZCBiZW51dHp0ICh1bmQgZGllCmhhYmVuIGF1Y2ggVklFTEUgQ29ubmVjdHMvRGlzY29ubmVjdHMgPTstKSkKCkJ5ZQp0c3ZAU2NodWx6ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRW5kZSBtaXQgTW9yZ2VuZ3JhdWVuPyAoQ2F0d2VhemxlLCAgOC4gTWFyIDE5OTUsIDIxOjAyOjExKToKSGkhCkdld3VuZGVydCB1ZWJlciBkZW4gVGl0ZWw/IElzdCBhYmVyIG1laW4gdm9sbGVyIEVybnN0ISBJY2ggZXJrbGFlcnMKRXVjaCA6KQpTbyB3aWUgZXMgaW0gTW9tZW50IGF1c3NpZWh0LCBiZWtvbW1lbiB3aXIgZW5vcm1lIFNjaHdpZXJpZ2tlaXRlbiwKZGFzIE11ZCBpbiBzZWluZXIgamV0emlnZW4gRm9ybSB3ZWl0ZXJsYXVmZW4genUgbGFzc2VuLiBUYXRzYWVjaGxpY2gKaXN0IHNvZ2FyIGJlcmVpdHMgZWluIGZhc3QgZmVzdGVyIFRlcm1pbiBmdWVyIHVuc2VyIEVuZGUgYWJ6dXNlaGVuLgpEYXMgZ2FuemUgbGllZ3QgZGFyYW46IEltIE1vbWVudCBsYWV1ZnQgZGFzIE11ZCwgd2llIGplZGVyIHNpY2hlcmxpY2gKd2Vpc3MsIGF1ZiBTYW50YW5hLiBTbywgU2FudGFuYSBzdGVodCBhYmVyIG51biBuaWNodCBtZWhyLCB3aWUgZnJ1ZWhlcgpQYXNjYWwgYmVpIGRlbiBNYXRoZW1hdGlrZXJuLCBhbHNvIGJlaSBkZW4gQmVncnVlbmRlcm4gdW5zZXJlcyBNdWRzLApzb25kZXJuIGJlaSBkZW4gTGluZ3Vpc3Rlbi4gRG9ydCBzaXR6dCBuYWVtbGljaCBLaXJrIGluIGRlciBTeXN0ZW0tCnZlcndhbHR1bmcgdW5kIHdpciBoYXR0ZW4gZGllIE1vZWdsaWNoa2VpdCwgZGFzIE11ZCBkb3J0aGluIHp1IHZlcmxlZ2VuLgpEaWVzIGlzdCBsZXR6dGVuIFNvbW1lciBub2V0aWcgZ2V3b3JkZW4sIHdlaWwgd2lyIGluendpc2NoZW4genV2aWVsClNwZWljaGVyIHVuZCB6dXZpZWwgUmVjaGVuemVpdCB2ZXJicmF0ZW4gaGFiZW4sIHVuZCBTYW50YW5hIGVpbiB3ZXNlbnRsaWNoCnNjaG5lbGxlcmVyIFJlY2huZXIgaXN0LiBEZXIgTmFjaHRlaWw6IHdhZWhyZW5kIGRhcyBNdWQgaW4gZGVyIE1hdGhlIGdlLQpkdWxkZXQgd3VyZGUgaXN0IGRlbiBMaW5ndWlzdGVuIG5pY2h0IG1hbCBiZWthbm50LCBkYXMgZXMgZG9ydCBsYWV1ZnQsIHdpcgpiZWxlZ2VuIGhhbHQgZWluZmFjaCBkZXJlbiBIYXVwdHJlY2huZXJtYXNjaGluZTogd296dSBicmF1Y2hlbgpzY2hsaWVzc2xpY2ggTGluZ3Vpc3RlbiBuZSBzY2huZWxsZSBNYXNjaGluZSA6KQpEYXMgUHJvYmxlbTogS2lyayB3aXJkIHNlaW5lbiBKb2IgYmVpIGRlbiBMaW5ndXMgYmVlbmRlbiwgdW5kIHp3YXIKd2FocnNjaGVpbmxpY2ggRW5kZSBNYWVyei4gRXIgd29obnQgYmVyZWl0cyBqZXR6dCBuaWNodCBtZWhyIGluIE11ZW5zdGVyCnVuZCBpc3QgbnVyIG5vY2ggMiBldnRsLiAzIFRhZ2UgZGllIFdvY2hlIGRhLiBEYW1pdCBlbmRldCBTRUhSIHdhaHJzY2hlaW4tCmxpY2ggYXVjaCB1bnNlcmUgWmVpdCBhdWYgU2FudGFuYS4gRWluZSBSdWVja2tlaHIgaW4gZGllIE1hdGhlbWF0aWsKaGFsdGVuIHdpciBhbGxlIGZ1ZXIgdW53YWhyc2NoZWlubGNpaCwgd2VubiBuaWNodCBzb2dhciBmdWVyIHVubW9lZ2xpY2guClp1bSBlaW5lbiBsYWV1ZnQgZGVyIEdEIGltIE1vbWVudCBhdWYgU29sYXJpcywgZWluIEJldHJpZWJzc3lzdGVtLCBkYXMKYXVmIGthdW0gZWluZXIgTWFzY2hpbmUgaW4gZGVyIE1hdGhlIGxhZXVmdCwgenVtIGFuZGVyZW4gaXN0IGtlaW5lciBkZXIKUmVjaG5lciwgZGllIHdpciBpbiBkZXIgTWF0aGUgYmVudXR6ZW4gX2tvZW5udGVuXyBhbm5hZWhlcm5kIHNjaG5lbGwKZ2VudWcgdW0gdW5zZXJlIEFuZm9yZGVydW5nZW4genUgZXJmdWVsbGVuLgpOYT8gQXVzcmVpY2hlbmQgbmVydm9lcz8gRmVpbiA6KQpJbiBkaWVzZW0gUHVua3Qga29tbXQgdW5zZXIgVmVyZWluIGlucyBTcGllbC4gV2lyIGhhYmVuIGRlbiBGb2VyZGVyLQp2ZXJlaW4gZ2VncnVlbmRldCB1bSBlaW5lbiBlaWdlbmVuIFJlY2huZXIgYW56dXNjaGFmZmVuLCBhdWYgZGVtIGRhcwpNb3JnZW5HcmF1ZW4gdW5nZXN0b2VydCB1bmQgcHJvYmxlbWxvcyBnZWR1bGRldCBsYXVmZW4ga2Fubi4gTGVpZGVyCmhhYmVuIHdpciB0cm90eiAzMiBNaXRnbGllZGVybiBrZWluZW4gYXVzcmVpY2hlbmRlbiBadXNwcnVjaCBhdWYgZGVuClZlcmVpbi4gRGllIG1laXN0ZW4gaGllciBpbiBNdWVuc3RlciBoYWx0ZW4gYWJlciBkZW4gTXVkZWlnZW5lbiBSZWNobmVyCmZ1ZXIgZGllIGxldHp0ZSBnYW5nYmFyZSBMb2VzdW5nIGZ1ZXIgZGFzIE11ZC4KRGFydW0gbWVpbmUgQml0dGUuIFRyZXRldCBkZW0gVmVyZWluIGJlaSEgU3BlbmRldCBHZWxkIQpXaXIgc2luZCBlaW4gZ2VtZWlubnVldHppZ2VyIFZlcmVpbiwga29lbm5lbiBhbHNvIGZ1ZXIgZ2VzcGVuZGV0ZXMgR2VsZApTcGVuZGVucXVpdHR1bmdlbiBhdXNzdGVsbGVuLiBXZXIgZ3Jvc3NlIG9kZXIga2xlaW5lIEZpcm1lbiBrZW5udCwgZGllCnVucyBiZXNwb25zb3JlbiB3b2xsZW4sIHNvbGx0ZSBkYXMgYXVjaCB1bmJlZGluZ3QgdW1nZWhlbmQgZGVtIFZlcmVpbiBtaXQtCnRlaWxlbi4gRGFzIFNwZW5kZW5rb250byBpc3Q6ClN0YWR0c3Bhcmthc3NlIE11ZW5zdGVyCkJMWjogNDAwNTAxNTAKS05yOiAzNjg5NDQKJ0ZvZXJkZXJ2ZXJlaW4gUHJvamVrdCBNb3JnZW5ncmF1ZW4nCgpJbiBkaWVzZW0gU2lubmUgaGFiZSBpY2ggRXVjaCBhdWNoIG5vY2ggZWluZSBBbmt1ZW5kaWd1bmcgenUgbWFjaGVuLgpXaXIgaGFiZW4gaW0gWnVnIGRlcyBWZXJlaW5zIGVpbmVuIFRlc3RyZWNobmVyIGJlc29yZ3QsIHVuZCB6d2FyIGVpbmVuClBlbnRpdW05MCBhdWYgZGVtIGRhcyBNdWQgYXVzcHJvYmllcnQgd2VyZGVuIHNvbGwuIE51biwgZmFsbHMgaWhyIEV1Y2gKd3VuZGVydCwgZGFzIGRhcyBNdWQgc2VpdCBlaW4gcGFhciBUYWdlbiBsZWljaHQgY3Jhc2h0LCBkYW5uIGxpZWd0IGRhcwpkYXJhbiwgZGFzIGRhcyBNdWQgc2VpdCBNb250YWcgbmFjaHQgYXVmIGViZW4gZGllc2VtIFBlbnRpdW0gbGFldWZ0LiBCaXMgYXVmCmViZW4gZGllc2UgQ3Jhc2hzLCBkaWUgYWJlciBhdWYgZWluZW4gc2NobGVjaGVuIEdEIHp1cnVlY2t6dWZ1ZWhyZW4gc2luZAp1bmQgZHVyY2hhdXMgZGVidWdiYXIgc2luZCwgdW5kIGVpbmlnZW4gQXVzbG9nZ3VuZ2VuLCBkaWUgYWJlciBkYXMgTXVkcmVsYXkKYXVmIFNhbnRhbmEgdmVydXJzYWNodCwgc2NoZWludCBNb3JnZW5HcmF1ZW4gYXVmIGRlbSBQZW50aXVtIHVudGVyIExpbnV4Cmd1dCB6dSBsYXVmZW4uCkFsbGVyIHdhaHJzY2hlaW5saWNoa2VpdCBuYWNoIHdlcmRlbiB3aXIgZGVzaGFsdCBlaW5lbiBzY2huZWxsZW4gUGVudGl1bQpiZXNvcmdlbiAoa2VpbmUgQW5nc3QsIE1HIGJyYXVjaCBrZWluIGZkaXYgOi0pKSwgZGEgZWluIFNhbnRhbmEtYWVxdWl2YWxlbnRlcgpSZWNobmVyIHdlaXQgYXVzc2VyaGFsYiB1bnNlcmVzIEZpbmFuenJhaG1lbnMgaXN0LiBXaWUgZ2VzYWd0LCBlcyBoYWVuZ3QKYWxsZXMgZGF2b24gYWIsIG9iIHVuZCB3aWUgc2NobmVsbCB3aXIgYW4gZ2VudWVnZW5kIEdlbGQga29tbWVuIQpEYWhlciA6IFNwZW5kZXQhIFNwZW5kZXQhIFNwZW5kZXQhCldpciBiZWtvbW1lbiBtaXQgY2EuIDEwMDAwIFNjaGxlaWZlbiBlaW5lbiBhdXNyZWljaGVuZGVuIFJlY2huZXIgKGRlcgpTcGVpY2hlciBpc3QgaGFsdCBkYXMgdGV1ZXJlIHVuZCA2NE0gcmVpY2hlbiB1bnMgbmljaHQuLi4pLCB3ZW5uIDEwMDAKTGV1dGUgMTAgRE0gc3BlbmRlbiBzaW5kIHdpciBkb2NoIHNjaG9uIGd1dCBkYWJlaSwgb2Rlcj8gSXN0IGRvY2ggYWxzbwpnYXIgbmljaHQgc28gc2Nod2VyLiBBdWNoIGtsZWluZSBCZXRyYWVnZSBzaW5kIGR1cmNoYXVzIHdpbGxrb21tZW4sCmdyb3NzZSBuYXR1ZXJsaWNoIHZpZWwgbGllYmVyLiBEZW5rdCBoYWx0IG1hbCBhbiBkaWUgVGVsZWZvbmtvc3RlbiwgZGllCklociByZWdlbG1hZXNzaWcgdmVyYnJhdGV0LCBkYSBrb2VubnQgaWhyIGRvY2ggcnVoaWcgbWFsIGRyZWksIHZpZXIKU3R1bmRlbiBuaWNodCBzcGllbGVuLCBzb25kZXJuIHZpZWxsZWljaHQgdWViZXJ3ZWlzZW4gOikKVW5kIGRlbmt0IGRyYW4sIGRhcyBpc3Qgd2lya2xpY2ggZXJuc3QsIHdlbm4gd2lyIG5pY2h0IG1vZWdsaWNoc3QKc2NobmVsbCBlaW5lbiBlaWdlbmVuIFJlY2huZXIgYmVrb21tZW4sIGRhbm4gaXN0IE1vcmdlbkdyYXVlbiBlbnR3ZWRlcgpnYXIgbmljaHQgbWVociBvZGVyIHZpZWxsZWljaHQgbnVyIG5vY2ggc3RhcmsgcmVkdXppZXJ0IHZvcnN0ZWxsYmFyIChldHdhCm1pdCBNYXhpbWFsdXNlci1iZXNjaHJhZW5rdW5nZW4gdW5kIG9obmUgZGFzICdzY2hsYWZlIGVpbictIGZlYXR1cmUpLgpJbiBkZXIgSG9mZm51bmcgRXVjaCBtaXQgbWVpbmVtIGJlZ3J1ZWRldCBsYW5nZW4gQXJ0aWtlbCAoZWluIEhvY2ggYXVmIGFsbGUsCmRpZSBiaXMgaGllcmhpbiBnZWxlc2VuIGhhYmVuKSBldHdhcyBhdWZnZXJ1ZXR0ZWx0IHp1IGhhYmVuLApZb3VycyB0cnVseSwKICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW5kZSBtaXQgTW9yZ2VuZ3JhdWVuPyAoSm9mLCAgOC4gTWFyIDE5OTUsIDIxOjEyOjQ2KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5NDY5MjkzMQoKQWVobSwga29tbXQgZHJhdWYgYW4sIHdpZSBtYW4gJ3NhbnRhbmEtYWVxdWl2YWxlbnQnIGRlZmluaWVydCAtIGJlcmVpdHMKZWluIFA5MCBpc3QgZnVlciB1bnNlcmUgWndlY2tlIFNDSE5FTExFUiBhbHMgU2FudGFuYSwgdW5kIGVpbiBQMTAwIGVyc3QKcmVjaHQgLSBzYW50YW5hIGhhdCBjYSA3OHNwZWNpbnQ5MiAoMSBDUFUsIGFiZXIgbWVociBudXR6dCBkYXMgTXVkIGVoIG5pY2h0KSwKZWluIFAxMDAgbGllZ3QgYmVpIGNhIDEwMnNwZWNpbnQ5MiB3ZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lLiBFaW4gUDkwCmVudHNwcmVjaGVuZCBiZWkgOTAgb2RlciBzbyAtIGRpZXMgc3RpbW10IGF1Y2ggZXR3YXMgbWl0IGRlbiBUaW1pbmd3ZXJ0ZW4KdWViZXJlaW4sIGRpZSBkYXMgTXVkIGJlaW0gY29tcGlsaWVyZW4gdm9uIE9iamVrdGVuIChiZWltIFN0YXJ0LCB6QikgYXVzLQpnaWJ0LiBQOTAgd2FlciBhbHNvIHNjaG9uIGtsYXNzZSAuLi4KCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJlaW5zZW50cml0dCAoQ2F0d2VhemxlLCAgOC4gTWFyIDE5OTUsIDIxOjI0OjA0KToKV2VyIHVlYnJpZ2VucyBkZW0gVmVyZWluIGJlaXRyZXRlbiB3aWxsLCBrYW5uIHNpY2ggZGF6dSBuYWVoZXJlCkluZm9ybWF0aW9uZW4gYXVmIHVuc2VyZXIgV1dXLXBhZ2UgYmVzb3JnZW4uIERpZSBBZHJlc3NlIGlzdDoKaHR0cDovL211ZC51bmktbXVlbnN0ZXIuZGU6NDcxMQp1bnRlciBkZW0gUHVua3QgJ0ZvZXJkZXJ2ZWluIFByb2pla3QgTW9yZ2VuZ3JhdWVuIGUuVi4nCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB2ZXJlaW5zdHJlZmYgKEd3eW5kb24sICA4LiBNYXIgMTk5NSwgMjE6Mjk6MjgpOgojISBybj1Cb2luZyBydD03OTMwMzY5ODYKSGFsbG8gQm9pbmcsClVuZ2VhY2h0ZXQgZGVzc2VuLCBkYXNzIEp1cmlzdGlzY2ggZXMgc28gaXN0IHdpZSBkdSBzYWdzdCwgaGluZGVydCBFdWNoCm5pZW1hbmQgZGFyYW4sIERpc2t1c3Npb25lbiBkZXMgVmVyZWlucyBpbiBlaW5lbSB2aXJ0dWVsbGVuIFJhdW0gc3RhdHRmaW5kZW4KenUgbGFzc2VuLiBFaW5lIHZpcnR1ZWxsZSBNaXRnbGllZHN2ZXJzYW1tbHVuZyBpc3QgYWxzbyBhbHMgenVzYWV0emxpY2hlcwpmZWF0dXJlIGVpbmUgbmV0dGUgR2VzdGUgKHVuZCBlaW5lIGZlaW5lIFNhY2hlKSBmdWVyIE5pY2h0LU11ZW5zdGVyYW5lciB1bmQKTmljaHQtQXV0b2ZhaHJlci4KICAgVGVzdHdlaXNlIGhhYmVuIHdpciB2b24gTXlyYSAoZWluIGdyb3NzZmxhZWNoaWdlcywgbWVocnNjaGljaHRpZ2VzCkZhbnRhc3kvUHJvamVrdCwgZGFzIHNlaXQgMTIgSmFocmVuIGxhZXVmdCkgYXVjaCBzY2hvbiBtYWwgKGF1cyBkZW1zZWxiZW4KR3J1bmQpIGhpZXIgZWluIHZpcnR1ZWxsZXMgVHJlZmZlbiBpbiBkZXIgTXVkLVdvaG51bmcgZWluZXMgTWl0Z2xpZWRzCmFiZ2VoYWx0ZW4uIERhcyBpc3QgdWVicmlnZW5zIGF1Y2ggdmllbCBiaWxsaWdlciBhbHMgd2VubiBhbGxlIG1pdCBkZW0gQXV0bwphbmZhaHJlbiwgb2RlciBhbHMgZGFzIEFubWlldGVuIGVpbmVzIEtvbmZlcmVuendhZ2VucyBkZXIgREIsIG9kZXIgZWluZXIKS29uZmVyZW56bGVpdHVuZyBkZXIgVGVsKmtvbSBBRy4uLgogICBQcm9iaWVydCdzIGRvY2ggZWluZmFjaCBtYWwgYXVzLi4uCmdlei4gR3d5bmRvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFbmRlIG1pdCBNb3JnZW5ncmF1ZW4/IChIYXRlLCAgOC4gTWFyIDE5OTUsIDIzOjEyOjAwKToKIyEgcm49Sm9mIHJ0PTc5NDY5MzU2NgpXaWUgd2FlcmUgZXMgaW0gWnVnZSBkZXIgU2FtbWVsYWt0aW9uIGlyZ2VuZHdvIGVpbiBCcmV0dCBtaXQgRGF0ZW4gYXVmei0Kc3RlbGxlbj8gV28gZHJhdWYgc3RlaHQ6IFNvdW5zb3ZpZWxlIE1pdGdsaWVkZXIsIHNvdW5kc292aWVsIEVpbm5haG1lbiBwZXIKQmVpdHJhZywgU291bnNvdmllbGUgU3BlbmRlbiBldGMuCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXV1cgJiBuZXVlciByZWNobmVyID8gKFp1ZXJpbGV1LCAgOS4gTWFyIDE5OTUsIDA3OjIwOjA3KToKU2FsaSB6YWVtZSwKSmEgaWNoIGhhYmUgZGVuIE1pdGdsaWVkZXJiZWl0cml0dGZldHplbiBub2NoIHVuZCBpY2ggc2NoaWNrIGlobiBldWNoIGJhbGQgenUKbXVzc3QgbnVyIG5vY2ggYXVmIGRlbiAnbG9obicgd2FydGVuLiBHcmlucyBuZSBpY2ggaGFiZSBlaW5lIGFuZGVyZSBGcmFnZSwKd2lyZCBNb3JnZW5ncmF1ZW4gbmFjaCBkZW0gUmVjaG5lcndlY2hzZWwgaW1tZXJub2NoIHVlYmVyIFdXVyAoV29ybGQgd2lkZSBXZWIpCmVyZWljaGJhciB6dSBzZWluID8gRGFzIHVuZCBkZXIgdW5ndWVzdGlnZSB3ZWcgdWViZXIgR29waGVyIGlzdCBuYWVtbGljaAp6dXJ6ZWl0IGRlciBlaW56aWdlIGtvbnRha3RwdW5rdCBmdWVyIG1pY2ggenUgZXVjaCBpbnMgTW9yZ2VuZ3JhdWVuIHp1IGtvbW1lbgp1bmQgd2FzIGJyaW5ndCBtaXIgTW9yZ2VuZ3JhdWVuIHdlbm4gaWNoIG1pY2ggbmljaHQgbWVociBlaW5sb2dnZW4ga2FubiA/ID06KC4KClRzY2h1ZXNzIFp1ZXJpbGV1ID06KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdmVyZWluc3RyZWZmIChCb2luZywgIDkuIE1hciAxOTk1LCAxMzo1ODoxMCk6CiMhIHJuPUd3eW5kb24gcnQ9Nzk0Njk0NTY4Ck5hdHVlcmxpY2gsIGdlZ2VuIERpc2t1c3Npb25lbiBpc3QgbmljaHRzIGVpbnp1d2VuZGVuLCBhYmVyIEVudHNjaGVpZHVuZ2VuCm11ZXNzZW4gaGFsdCBhdWYgZWluZXIgcmVhbGVuIFZlcnNhbW1sdW5nIGdldHJvZmZlbiB3ZXJkZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1IGphLCBlaW4gRnVuZHJhaXNlciEgKFllbmRpLCAgOS4gTWFyIDE5OTUsIDE0OjUxOjUyKToKCldpZSB3YWVycyBtaXQgZWluZXIgQXV0b2xvYWQtT2JqZWt0LVZlcnN0ZWlnZXJ1bmcsIEVybG9lc2UgaW4gaGFydGVyIERNPwpEYW5uIGtvZW5udGVuIHNpY2ggZGllIExldXRlIGZ1ZXIgLW5hamEsIHdpZXZpZWwgYXVjaCBpbW1lciBnZWJvdGVuIHdlcmRlbgp3aXJkLSBpaHIgYXV0b2xvYWQtQkJTIGVyc3RlaWdlcm4uCgpBbHRlcm5hdGl2IGRhenUgd2FlcmUgbmF0dWVybGljaCBhdWNoIGVpbmUgc2NobGljaHRlIEVocmVudGFmZWwgaW4gZGVyIEdpbGRlCmluIFBWIHZvcnN0ZWxsYmFyLCB3byBOYW1lbiB1bmQgU3BlbmRlbmhvZWhlIGF1ZmdlZnVlaHJ0IHdlcmRlbi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmF1dG9sb2FkIHVuZCBoYXJ0ZSB3YWVocnVuZyAoVHdyZ2wsICA5LiBNYXIgMTk5NSwgMTk6MjE6NTQpOgpXYXMgaGFiZSBpY2ggZGEgZ2VyYWRlIGdlbGVzZW4gPyBFdmVudHVlbGwgZGllIE1vZWdsaWNoa2VpdCBwZXIgYXV0b2xvYWQgZWluCmJicyBvZGVyIHZpZWxsZWljaHQgZGllIHNjaGF0dGVucnVlc3R1bmcgenUgYmVrb21tZW4gPwp2aWVsbGVpY2h0IG5vY2ggZWluIGJ1bWVyYW5nICwgLi4uCkRhIHdpcmQgc2VsYnN0IGVpbmUgWndlcmdpbiBzY2h3YWNoIHVuZCBlcndhZWd0IHNpY2ggdm9uIGlocmVtIEdvbGQgenUKdHJlbm5lbi4KTWFsIGltIEVybnN0IGZ1ZXIgZWluZSB2ZXJudWVuZnRpZ2UgYXV0b2xvYWQgYXVzcnVlc3R1bmcsIGRpZSBlcwplcm1vZWdsaWNodCBlaW5mYWNoIG51ciB6dXIgZW50c3Bhbm51bmcgZHVyY2hzIG11ZCB6dQpsYXVmZW4gdW5kIG5pY2h0IGRhdWVybmQgZGllc2UgZXdpZ2VuIGthZW1wZmUgYXVzZmVjaHRlbiB6dQptdWVzc2VuLCBvZGVyIGRpZXNlIHp1bWluZGVzdCBzY2huZWxsIHp1IHVlYmVyc3RlaGVuLAp3dWVyZGUgaWNoIGdsYXR0IGRlbiBCZXRyYWcgYW4gZGVuIGljaCBkYWNodGUKZGV1dGxpY2ggZXJob2VoZW4uaW5rbHVzaXZlIGVpbmVyIGtsZWluZW4gc3BlbmRlbnRhZmVsIGluIGRlciBhYmVudGV1ZXJnaWxkZQo6LSkKWndlcmdpbm5lbiBzaW5kIGphIHNvIGVpdGVsLgp1bSBrb25rcmV0IHp1IHdlcmRlbjogNDAwIGhhcnRlIG1hZXVzZSAoZ2VnZW4gc3BlbmRlbnF1aXR0dW5nIDotKSApCnd1ZXJkZW4gZGllIEh1ZXJkZSBmdWVyIHNvIGVpbiBQcml2aWxlZyBpbiBlaW5lIGFuZ2VtZXNzZW5lIEhvZWhlCmhlYmVuIGRlbmtlIGljaC4KVmllbGxlaWNodCB3dWVyZGUgZGFzIG5vY2ggZGllIGVpbmUgb2RlciBkZW4gYW5kZXJlbiBtb3RpdmllcmVuLgo6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhdXRvbG9hZCB1bmQgaGFydGUgd2FlaHJ1bmcgKEd1bmR1ciwgIDkuIE1hciAxOTk1LCAxOTo0MjoxMCk6CiMhIHJuPVR3cmdsIHJ0PTc5NDc3MzMxNApXb21pdCB3aXIgd2llZGVyIGluIGRlciBoYXJ0ZW4gV2VsdCBkZXMga2FwaXRhbGlzbXVzIHdhZXJlbiA6KCgKKnd1ZXJnKgpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhdXRvbG9hZCB1bmQgaGFydGUgd2FlaHJ1bmcgKFNjaHJ1bXBmaSwgIDkuIE1hciAxOTk1LCAyMToyODo1NCk6CiMhIHJuPVR3cmdsIHJ0PTc5NDc3MzMxNApJcmdlbmR3aWUgZmluZCBpY2ggZXMgdHJhdXJpZywgd2VubiBtYW4gbWl0IExlY2tlcmJpc3NlbiBsb2NrZW4gbXVzcywgZGFtaXQKZGllIExldXRlIHdhcyBzcGVuZGVuIDooCklociBzcGllbHQgZG9jaCBhbGxlIGdlcm5lIG9kZXI/IFJlaWNodCBuaWNodCBkaWUgVGF0c2FjaGUsIGRhc3MgZXMgTUcgc29uc3QKYmFsZCBuaWNodCBtZWhyIGdpYnQ/ClNjaHJ1bXBmaSBzcGVuZGV0IHNvIG9kZXIgc28sIHdlaWwgTUcgaWhyIGVpbmZhY2ggd2ljaHRpZyBpc3QhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGF1dG9sb2FkIHVuZCBoYXJ0ZSB3YWVocnVuZyAoU2NocnVtcGZpLCAgOS4gTWFyIDE5OTUsIDIxOjI5OjQ1KToKIyEgcm49R3VuZHVyIHJ0PTc5NDc3NDUzMApKYSBzbyBrYW5uIG1hbiBlcyBhdWNoIHNhZ2VuLiBUcmF1cmlnLCB0cmF1cmlnLi4KClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhdXRvbG9hZCB1bmQgaGFydGUgd2FlaHJ1bmcgKEhvcnNjaGQsICA5LiBNYXIgMTk5NSwgMjE6Mzg6NDgpOgojISBybj1TY2hydW1wZmkgcnQ9Nzk0NzgwOTM0CkhpIExldXRlLgoKQWxzbyBpY2ggbXVzcyBtaWNoIFNjaHJ1bXBmaSB2b2xsIHVuZCBnYW56IGFuc2NobGllc3Nlbi4KSWNoIGdsYXViZSwgZXMgd2FlcmUgZWggbGFuZ3dlaWxpZywgaW1tZXIgbmUgZ3V0ZSBBdXNydWVzdHVuZyB6dSBoYWJlbi4gRXMKbWFjaHQgZG9jaCBuZW4gZ2V3aXNzZW4gUmVpeiBhdXMsIHNpY2ggc2VpbmUgQXVzcnVlc3R1bmcgZXJrYWVtcGZlbiB6dQptdWVzc2VuLgpBdXNydWVzdHVuZyBhdWYgZGllc2UgV2Vpc2UgZXJrYXVmZW4genUga29lbm5lbiwgZmFlbmQgaWNoIGRvb2YuCgpEaWUgSWRlZSBtaXQgZGVyIEVocmVuZ2FsZXJpZSBpbiBkZXIgR2lsZGUgZGFnZWdlbiBmaW5kIGljaCBnYW56IHdpdHppZy4KCkhvcnNjaGQsIGRlciBob2ZmdCBkYXNzIHNlaW4gQmlsZCBhdWNoIG1hbCBpbiBkZXIgR2lsZGUgaGFlbmd0LCBvYndvaGwgZXIKbmljaHQgc29vbyB2aWVsIHNwZW5kZW4ga2Fubi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGF1dG9sb2FkIHVuZCBoYXJ0ZSB3YWVocnVuZyAoSm9mLCAgOS4gTWFyIDE5OTUsIDIxOjQzOjA4KToKIyEgcm49U2NocnVtcGZpIHJ0PTc5NDc4MDk4NQoKIEljaCBiaW4gdm9uIGRlciBJZGVlIGF1Y2ggbmljaHQgdW5iZWRpbmd0IGJlZ2Vpc3RlcnQgLSBkYXMgZ2luZ2UgenUgd2VpdCwKZmluZCBpY2guIFdlciBHZWxkIGhhdCwgaGF0IG5lIHRvbGxlIEF1c3J1ZXN0dW5nLCB3ZXIgbmljaHQsIG5pY2h0IC0gYmxvZWQuClVuZCBlaWdlbnRsaWNoIHNpbmQgd2lyIGRvY2ggYXVjaCBuaWNodCBrYWV1ZmxpY2gsIG9kZXI/IDopCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXUgamEsIGVpbiBGdW5kcmFpc2VyISAoVG9zcywgIDkuIE1hciAxOTk1LCAyMjo0OTo0NSk6CiMhIHJuPVllbmRpIHJ0PTc5NDc1NzExMgpIbW0uCk11c3MgSm9mIHp1c3RpbW1lbiwga2FldWZsaWNoIHNpbmQgd2lyIG5pY2h0LiB1bmQgd2lyIHNvbGx0ZW4gdmllbGxlaWNodCBhdWNoCmRpZSBSTC1hdWZnYWJlIGRlcyBNdWQtYW0tbGViZW4taGFsdGVucyBuaWNodCBtaXQgZGVyIFZMLSJhcmJlaXQiIChtYW5jaG1hbAptYWNodHMgYXVjaCBzcGFzcywgaSBrbm93KSB2ZXJ3ZWNoc2Vsbi4KQWxzbyBrZWluZSBhdXRvbG9hZC1zYWNoZW4sIGRhcyBnZWh0IHp1IHdlaXQuIFZvciBhbGxlbSA6IHdhcyBrcmllZyBpY2ggZnVlcgpkZW4gbGFlcHBpc2NoZW4gZnVmZmksIGRlbiBpY2ggc3BlbmRlbiB3ZXJkZSA/IGVpbmUgendlcmdlbmF4dCA/IC0gbmUsIGRhbm4Kc3BlbmRlIGljaCBnYXIgbml4ICEhIQpTbywgenVtIGVybnN0OiBJbiBpcmdlbmRlaW5lciBGb3JtIG11c3Mgc2Nob24gZWluZSBBcnQgdmVyb2VmZmVudGxpY2h1bmcgZGVyClNwZW5kZW4gaGVyLCBpY2ggZGVua2UgZGEgYXVjaCBhbiBzb25lIGFydCBlaHJlbmdhbGVyaWUuCgpEYXp1IGhhdHRlbiB3aXIga3VlcnpsaWNoIGVpbmUga2xlaW5lIGRpc2t1c3Npb24gYmVpbSBzdGFtbXRpc2NoOiBlaW5pZ2UKbWVpbnRlbiwgZHVyY2ggc293YXMgd3VlcmRlIGF1Y2ggZWluZSAic29jaWFsIHByZXNzdXJlIiBhdXNnZXVlYnQsIHdlaWwKbWFuIG5hdHVlcmxpY2ggc2VoZW4ga29lbm5lLCB3ZXIgZWluZSBzcGVuZGUgZ2VtYWNodCBoYXQsIHVuZCB3ZXIgbmljaHQsIHVuZApldnRsLiBhdWNoLCBpbiB3ZWxjaGVyIGhvZWhlLiBNZWluZSBtZWludW5nIHp1IGRpZXNlbSB0aGVtYSBub2NobWFsIGluIGFsbGVyCm9lZmZlbnRsaWNoa2VpdDogSmEsIGljaCBkZW5rZSBhdWNoLCBkYXNzIGRpZXMgZWluZSBzb2NpYWwgcHJlc3N1cmUgZGFyc3RlbGx0LAphYmVyIHdpciBtdWVzc2VuIGxlaWRlciByZWFsaXNpZXJlbiwgZGFzcyBudXIgZGFubiBnZW51ZyBnZWxkIHp1c2FtbWVua29tbWVuCndpcmQsCndlbm4gd2lya2xpY2ggQUxMRSBlaW5lIHNwZW5kZSBhYmdlYmVuLiBEZW5uIHdlbm4gbWFuIG1hbCBnZW5hdSBuYWNodmVyZm9sZ3QsCndlciBoaWVyIHdpcmtsaWNoIGFrdGl2IHNwaWVsdCwgd2V0dGUgaWNoLCBkYXNzIHdpciBuaWVtYWxzIGF1ZiBtZWhyIGFscyAyNTAKV0lSS0xJQ0ggYWt0aXZlIHNwaWVsZXIga29tbWVuLgpNYWNodCBjYS4gNTAsLSBETSBwcm8gbmFzZSAoZ2FueiBncm9iLCBpIGtub3cpLgpVbmQgZGEgZmluZGUgaWNocyBuaWNodCBzY2hsaW1tLCB3ZW5uIG1hbiBhbmhhbmQgZGVyIGxpc3RlbiBzZWhlbiBrYW5uLCB3ZXIKZ2VzcGVuZGV0IGhhdCwgdW5kIHdlciBuaWNodC4gSWNoIGRlbmtlLCBkYXNzIHdhcnNjaGVpbmxpY2ggamVkZXIgbWl0IGRlbSBLb3BmCnNjaHVldHRlbG4gd3VlcmRlLCB3ZW5uIGljaCBrZWluZSBzcGVuZGUgZ2ViZW4gd3VlcmRlLCBkZW5uIGplZGVyIHdlaXNzLCBkYXNzCmljaCBoaWVyIGF1Y2ggc2VociBvZnQgc3BpZWxlLgpVbmQgZWlnZW50bGljaCBzb2xsdGUgamVkZXIsIGF1ZiBkZW4gZGFzIHp1dHJpZmZ0LCBkYXNzZWxiZSB0dW4uCgpVbmQgZGEgZmluZCBpY2hzIG5pY2h0IHNjaGxpbW0sIHdlbm4gbWFuY2hlbiBsZXV0ZW4sIGRpZSBoaWVyIGF1Y2ggZGF1ZXJuZApydW1oYWVuZ2VuLCBldnRsLiAobXVzcyBqYSBub2NoIG5pY2h0bWFsIHNvIHNlaW4sIGljaCB3dWVyZHMgamVkZW5mYWxscyBuaWNodAp0dW4pIG1hbCBkaWUgZnJhZ2UgZ2VzdGVsbHQgd2lyZCwgd2FydW0gc2llIGViZW4ga2VpbmUgc3BlbmRlIGFiZ2VnZWJlbiBoYWJlbi4KClJ5bmUKUC5TLiBob2ZmZW50bGljaCBrcmllZ2UgaWNoIGpldHp0IG5pY2h0IGRpZSBhcnRpa2VsIHZvbiB3ZWdlbiAicnluZSB3aWxsIGRpZQpsZXV0ZSBxdWFzaSB6dW0gc3BlbmRlbiB6d2luZ2VuIiBhbiBkZW4gaGFscyA7KSAtIGphLCBpY2ggd2Vpc3MsIGRpZXNlIG1ldGhvZGUKbWl0IGRlciBnYWxlcmllIGZ1ZWhydCBkYXp1LCBhYmVyIGljaCBiaW4gc2ljaGVyLCBkYXNzIGhpZXIgZWluaWdlIGdhbnogc2Nob2VuCmRvb2Ygc2NoYXVlbiB3ZXJkZW4sIHdlbm4gZGFzIG11ZCBwbG9ldHpsaWNoIHdlZyBpc3QsIHVuZCBkYW5uIHNpY2ggd3VlbnNjaGVuLApzaWUgaGFldHRlbiB3YXMgZ2VzcGVuZGV0IDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdSBqYSwgZWluIEZ1bmRyYWlzZXIhIChUb3NzLCAgOS4gTWFyIDE5OTUsIDIyOjU1OjIxKToKIyEgcm49VG9zcyBydD03OTQ3ODU3ODUKUkVJTkdFTEVHVCAhISEKV2VpbCBpY2ggd2Vpc3MsIGRhc3MgbGFuZ2UgYXJ0aWtlbCBuaWNodCBzbyBnZXJuZSBnZWxlc2VuIHdlcmRlbiwgc2NocmVpYmUKaWNoIGVpbmZhY2ggaW4gZWluZW0gbmV1ZW4gd2VpdGVyIDspKQoKZWlucyBsaWVndCBtaXIgbmFlbWxpY2ggbm9jaCBicmVubmVuZCBhdWYgZGVyIHNlZWxlOgoKSW4gY2F0cyBlcnN0ZW0gYXJ0aWtlbCB6dSBkaWVzZXIgc2FjaGUgd3VyZGUgZGF2b24gZ2VzcHJvY2hlbiwgZGFzcyBldnRsLiBpbgplaW5lbSBtb25hdCBkZXIgcmVjaG5lciB3ZWcgaXN0LCB1bmQgd2lyIGRhbm4gZWluZW4gbmV1ZW4gYnJhdWNoZW4uCgpISEhISEhISEhISE1NTU1NTU1NTU0uLi4uLi4uLi4uLi4uCgpXaWUgaWNoIG1pY2ggc2VsYnN0IGtlbm5lLCB1bmQgYmVpIGFuZGVyZW4gdmVybXV0ZSwgd2VyZGVuIGRpZSBHZWRhbmtlbiBhbgplaW5lIFNwZW5kZSBkYW5uIGVyc3QgaW4gMjcgVGFnZW4ga29tbWVuLCB3ZW5uIGVpbmVtIGVpbmZhZWxsdCAiaHVjaCwgbW9yZ2VuCmlzdCBkYXMgbXVkIHdlZyAhIgpMZXV0ZSwgd2VyIHNvIGxhbmdlIHdhcnRldCwgd2lyZCBzaWNoIHd1bmRlcm4sIGFtIDI4LiB0YWcgaXN0IGRhcyBtdWQgd2VnLAp3ZW5uIHdpciBwZWNoIGhhYmVuICEKQUxTTyBTUEVOREVUIEpFVFpUICEhIQogICAgICAgICAgIEFMU08gU1BFTkRFVCBKRVRaVCAhISEKICAgICAgICAgICAgICAgICAgICAgQUxTTyBTUEVOREVUIEpFVFpUICEhIQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUxTTyBTUEVOREVUIEpFVFpUICEhIQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMU08gU1BFTkRFVCBKRVRaVCAhISEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUxTTyBTUEVOREVUIEpFVFpUICEhIQoKUnluZS4KClAuUy4gTWVpbiBwZXJzb2VubGljaGVyIEJlaXRyYWcgZnVlciBhbGxlIFNwZW5kZW53aWxsaWdlbjogSUNIIFZFUlNQUkVDSEUsCmRhc3MgaWNoIFRvc3MgdW5kIGV2dGwuIGFuZGVyZSBib2VzZSB6d2VpdGllcyBkcmVzc2llcmVuIHdlcmRlLCBkYXNzIHNpZSBOSUUKV0lFREVSCmlyZ2VuZHdlbGNoZSBzcGllbGVyIG1pdCBzY2hudXBmZW4gYW5zdGVja2VuICEhIQoKUC5QLlMuOiBub2NoIGVpbiBBcnRpa2VsIGtvbW10IG5pY2h0LCBpaHIga29lbm50IGpldHp0IGF1c2xvZ2dlbiB1bmQgenVyIGJhbmsKZ2VoZW4gOykKCndpbmtlIHdpbmtlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGVuZGVuIChIb3JzY2hkLCAxMC4gTWFyIDE5OTUsIDAwOjMxOjE3KToKCkhpIExldXRlLgoKSmEsIGljaCBoYWIgaGV1dGUgc2Nob25tYWwgbWVpbmVuIFNlbmYgenVtIFRoZW1hIFNwZW5kZW4gYWJnZWxhc3Nlbi4KQWJlciBpY2ggaGFiIGdlcmFkZSBlcnN0IFJ5bmVzIEFydGlrZWwgZ2VsZXNlbi4gVW5kIGpldHp0IG11c3MgaWNoIGVpbmZhY2gKYXVjaCBub2NobWFsIG1laW5lbiBnYW56IHBlcnNvZW5saWNoZW4gQXVmcnVmIHN0YXJ0ZW46CgpMRVVURSBTUEVOREVUICEKCkljaCBtdXNzIFJ5bmUgdm9sbGtvbW1lbiBSZWNodCBnZWJlbi4gRnVlciBtaWNoIGlzdCBkYXMgTUcgbWl0dGxlcndlaWxlCm1laW4gYWxsZXJsaWVic3RlcyBIb2JieSBnZXdvcmRlbi4gVW5kIGljaCBkZW5rZSwgZGFzcyBpY2ggZGEgbmljaHQgYWxsZWluZQpiaW4uIEFsc28gTGV1dGUsIHdlbm4gZXVjaCB3YXMgYW0gTUcgbGllZ3QsIGRhbm4ga29lbm50IGlociBkb2NoIHdpcmtsaWNoCm1hbCBlaW4gcGFhciBNYWVya2VyIGxvY2tlcm1hY2hlbi4gSWNoIHd1ZXJkcyBlaHJsaWNoIGdlc2FndCBiZWRhdWVybiwgd2VubnMKYW0gR2VsZCBzY2hlaXRlcm4gc29sbHRlLiBVZWJlcmxlZ3QgbnVyIG1hbCwgZnVlciB3ZWxjaGVuIE1pc3QgaWhyIHNvbnN0IGV1ZXIKR2VsZCBhdXMgZGVtIEZlbnN0ZXIgd2VyZnQgKHp1bWluZGVzdCBpc3QgZXMgYmVpIG1pciBzby4uLiApLiBEYSBrYW5uIG1hbgp3aXJrbGljaCBhdWNoIG1hbCB3YXMgZnVlciBzZWluIExpZWJsaW5nc2hvYmJ5IGJlemFobGVuLgoKSG9yc2NoZCAoZ2VodCB6d2FyIG5vY2ggbmljaHQgaGV1dGUgenVyIEJhbmssIHdlaWwgZXIgZXJzdCB3aWVkZXIgYW0gMTUuIEdlbGQKYmVrb21tdCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYXV0b2xvYWQgdW5kIGhhcnRlIHdhZWhydW5nIChCb2luZywgMTAuIE1hciAxOTk1LCAwODo1NjoyNyk6CiMhIHJuPVNjaHJ1bXBmaSBydD03OTQ3ODA5MzQKSWNoIG11c3MgU2NocnVtcGZpIHZvbGwgUmVjaHQgZ2ViZW4sIGVzIGlzdCBqZXR6dCBzZWl0IGJlaW5haGUgMyBKYWhyZW4KbW9lZ2xpY2ggaGllciBrb3N0ZW5sb3MgdW5kIG9obmUgamVkZSBWZXJwZmxpY2h0dW5nIHp1IHNwaWVsZW4sIGljaApkZW5rZSB3aXIgbXVlc3NlbiB1bnMgbmljaHQga2F1ZmVuIGxhc3NlbiEKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwZW5kZW4gKENhdHdlYXpsZSwgMTAuIE1hciAxOTk1LCAxMToyNDozOSk6CiMhIHJuPUhvcnNjaGQgcnQ9Nzk0NzkxODc3CldpZSBUb3NzIHNjaG9uIHNhZ3RlLCBsYXNzdCBFdWNoIG5pY2h0IHp1dmllbCBaZWl0IQpZb3VycyB0cnVseSwKICAgQ2F0d2VhemxlICh3YXIgaGV1dGUgYmVpIGRlciBCYW5rLCBvYndvaGwgZXIgZXJzdCBhbSAyMC4gd2llZGVyIEdlbGQKICAgICAgICAgICAgICBiZWtvbW10KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwZW5kZW4gKEJsb29keWhhcnJ5LCAxMC4gTWFyIDE5OTUsIDEyOjQyOjAwKToKIyEgcm49SG9yc2NoZCBydD03OTQ3OTE4NzcKU3BlbmRlbiBkdWVyZnRlIG1hbiBnYW56IHNpY2hlciB2b24gU3BpZWxlcm4gZXJ3YXJ0ZW4ga29lbm5lbiwgZGllIHNpY2ggaGllcgplaW5pZ2VybWFzc2VuICJoZWltaXNjaCIgZnVlaGxlbi4gVmllbGVpY2h0IGthbm4gbWFuIGRhcmFuIG5vY2ggZXR3YXMgdHVuPwpJY2ggamVkZW5mYWxscyBoYWJlIHNvIG1laW5lIFNjaHdpZXJpZ2tlaXRlbiBkYW1pdC4KCkJsb29keSBIYXJyeSwgZGVyIHNpY2ggaW1tZXJub2NoIGZ1ZWhsdCB3aWUgZWluIEZyZW1kZXIgdW50ZXIgRnJlbWRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmV0cmlmZnQ6IFNwZW5kZW4uIChUaHJvaW4sIDEwLiBNYXIgMTk5NSwgMTM6NTY6MzgpOgpBbHMgaWNoIGRlbiBBcnRpa2VsIHVlYmVyIGRhcyBtb2VnbGljaGUgQWJzY2hhbHRlbiBkZXMgTUcgZ2VsZXNlbiBoYWIsCmJla2FtIGljaCB6dWVyc3QgZWluZW4gemllbWxpY2hlbiBTY2hyZWNrLiBEZXIgRXJuc3QgZGVyIFNpdHVhdGlvbgp3YXIgbWlyIHNvIG5vY2ggZ2FyIG5pY2h0IGJld3Vzc3QsIGRhIGljaCBkaWUgVmVyZWlucy1SdWJyaWsgbm9ybWFsZXJ3ZWlzZQpuaWNodCBsZXNlLiBWaWVsbGVpY2h0IHNvbGx0ZSBkYXMgbWFsIGluIGRlciBhbGxnZW1laW4tUnVicmlrIG5vY2ggZXJ3YWVobnQKd2VyZGVuLiBJY2ggYmluIGplZGVuZmFsbHMgc29mb3J0IHp1ciBCYW5rIGdlc3ByaW50ZXQuClZpZWxsZWljaHQgd2lzc2VuIG5pY2h0bWFsIGFsbGUgaW0gTW9tZW50LCB3YXMgZWlnZW50bGljaCBTYWNoZSBpc3QuCkRlc2hhbGIgZGllIEJpdHRlOiBBbGxnZW1laW5lIEJla2FubnRtYWNodW5nISBTb25zdCBrcmllZ2VucyBuaWNodCBhbGxlIG1pdCEKClRocm9pbiAoZGVyIGJlaW5haGUgbmljaHRzIGRhdm9uIG1pdGdla3JpZWd0IGhhdHRlLCBiaXMgZXMgenUgc3BhZXQgZ2V3ZXNlbgp3YWVyZSEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmV0cmlmZnQ6IFNwZW5kZW4uIChDYXR3ZWF6bGUsIDEwLiBNYXIgMTk5NSwgMTQ6MzQ6NTMpOgojISBybj1UaHJvaW4gcnQ9Nzk0ODQwMTk4CkR1IG11c3N0IG51ciBtYWwgYXVmbWVya3NhbWVyIGRlaW5lIExvZ2luLW1lbGR1bmdlbiBsZXNlbiwgVGhyb2luIDopCiAgWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGVuZGUgKE15c3RpeCwgMTAuIE1hciAxOTk1LCAxNzowOTo0Mik6CkljaCBiaW4gYXVjaCBkZXIgTWVpbnVuZywgZGFzcyBqZWRlciwgZGVyIGhpZXIgcmVnZWxtYWVzc2lnCnNlaW5lbiBTcGFzcyBoYXQgZHVyY2hhdXMgaW4gZGVyIExhZ2Ugc2VpbiBzb2xsdGUKZXR3YXMgZnVlciBkZW4gRXJoYWx0IGRlcyBNb3JnZW5HcmF1ZW5zIHp1IHNwZW5kZW4uCgpXaWUgd2FlcmUgZXMgZGVubiBtaXQgZWluZXIgZWluZmFjaGVuIFphaGxlbmFuZ2ViZQooZmFsbHMgbWFuIHNpY2ggZ2VnZW4gZGllIE5lbm51bmcgdm9uIE5hbWVuKQplbnRzY2hlaWRlbiBzb2xsdGUsIGRhbWl0IGRpZSBTcGllbGVyIHNlaGVuIGtvZW5uZW4sIHdpZXZpZWwgZGVubiBzY2hvbgoiaW0gVG9wZiIgaXN0IC0gbWFubiBrb2VubnRlIGRhZnVlciBhdWNoIGVpbgphdXRvbG9hZCBvYmplY3QgbWFjaGVuLCB3ZWxjaGVzIG1hbiBuYWNoIGVpbmdhbmcKZGVyIFNwZW5kZSBlcmhhZWx0LCBkYW1pdCBtYW4gaW1tZXIgc2VoZW4ga2FubiwKd2llIGRlciBha3R1ZWxsZSBTcGVuZGVuc3RhbmQgaXN0LgoKTXlzdGl4IC0gZ2VodCBqZXR6dCBhdWNoIGJhbGQgenVyIEJhbmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwZW5kZSBJSSAoTXlzdGl4LCAxMC4gTWFyIDE5OTUsIDE3OjEwOjU3KToKLi4uIHVuZCBrYXVmdCBzaWNoIGRhbm4gYXVjaCBuZSBUdWV0ZSBkZXV0c2NoIC4uLgpTb3JyeSBmdWVyIGRpZSBpZWxlbiBGZWhsZXIgLSBpY2ggaGFiZQpkaWUgRWJlbmVuIG1hbCB3aWVkZXIgbmljaHQgYWJnZXNjaGFsdGV0LgoKTXlzdGl4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXV0b2xvYWQgdW5kIGhhcnRlIHdhZWhydW5nIChUd3JnbCwgMTAuIE1hciAxOTk1LCAxODowMDo0NCk6CkFscyBad2VyZ2luIGlzdCBtYW4gamEgS3VtbWVyIGdld29laG50LCBrYXVtIG5pbW10IG1hbgpzaWNoIG1hbCBlaW4gcGFhciBoZXJ1bWxpZWdlbmRlIFNhY2hlbiBvZGVyIHBsdWVuZGVydAplaW5lIExlaWNoZSwgZGllIG1hbiBuaWNodCBzZWxic3QgZXJsZWRpZ3QgaGF0LCBzY2hvbgp3aXJkIGVpbmVtIGRhcyB1ZWJlbCBnZW5vbW1lbi4gS2F1bSB2ZXJzdWNodCBtYW4gbWFsIHNpY2ggaW4gZGVuIEJlc2l0eiBlaW5lcgpTY2hhdHRlbnJ1ZXN0dW5nIHp1IHNldHplbiwgc2Nob24gd2lyZCBkZXIKQXVzdmVya2F1ZiBkZXMgTW9yZ2VuZ3JhdWVucyB2ZXJtdXRldC4gU2NobnVlZmYuCkRhYmVpIGRhY2h0ZSBpY2ggbm9jaCBpY2ggd2FlcmUgYmVzY2hlaWRlbi4KQWNoIHdpZSBzb2xsdCBpaHIgYXVjaCBkaWUgTGVpZGVuc2NoYWZ0IGVpbmVyIFp3ZXJnaW4gZnVlcgpXYWZmZW4gdW5kIFJ1ZXN0dW5nZW4gdmVyc3RlaGVuIGtvZW5uZW4gPwpUd3JnbCwgZWluZSB0cmF1cmlnZSBad2VyZ2luLgpVbSBkaWUgRGlza3Vzc2lvbiBuaWNodCBnYXIgc28gZWluc2VpdGlnIHp1IGdlc3RhbHRlbiwKbm9jaCBlaW5tYWwgbWVpbmUgR3J1ZW5kZSBmdWVyIG1laW5lbiBWb3JzY2hsYWc6CkljaCB3ZWlzcyBuaWNodCB3aWUga25hcHAgZGllIEZpbmFuemllcnVuZyB3aXJkLCB1bmQgc2FlaGUgZGFyaW4KZHVyY2hhdXMgZWluZW4gQW5yZWl6LgpFcyBtdWVzc3RlIG5pY2h0IHVuYmVkaW5ndCBlaW4gZGVyYXJ0IGdyb3NzZXIgVm9ydGVpbApzZWluLCB3aWUgZXMgYXVzc2llaHQuIFNjaGxpZXNzbGljaCBrYW5uIG1hbiBhdWNoCk1vbnN0ZXIgZXJzY2hhZmZlbiwgZGllIGdhbnogc3BlemlmaXNjaCByZWFnaWVyZW4uClVuZCBtYW5jaG1hbCBpc3QgZWluIHNuYXJrIGVpbiBib2p1bSA6LSkKRGFzIG5hZWNoc3RlIGlzdCwgaXN0IGVzIGRlbm4gdGF0c2FlY2hsaWNoIGVpbiB1bmZhaXJlcgpWb3J0ZWlsID8gRGllIGVpbmUgaGF0IGRpZSBaZWl0LCBzaWNoIGVpbmVuIHN0YXJrZW4gQ2hhcmFrdGVyCmF1Znp1YmF1ZW4sIGRlciBhbmRlcmUgbmljaHQuIElzdCBkYXMgZWluIHVuZmFpcmVyIFZvcnRlaWwsIFplaXQKenUgaGFiZW4gdW5kIHp1IGludmVzdGllcmVuID8KV2FydW0gaGFiZW4gTWFnaWVyIGJlc3RpbW10ZSBQcml2aWxlZ2llbiA/CkljaCBzZWxic3Qgc3BpZWxlIHNlaHIgc2VsdGVuICwgZGllIGxldHp0ZW4gbWFsZQpoYXVwdHNhZWNobGljaCBpbiBkZXIgWndlcmdlbnN0YWR0IHVuZCBhdWYgZGVyIFNjaHJlY2tlbnNzcGl0emUKR2VsZCBzYW1tZWxuLCBvZGVyIGVpbmZhY2ggbnVyIHp1aG9lcmVuIHVuZCBzY2hhdWVuIHdhcyBoaWVyIGFibGFldWZ0LgpGdWVyIG1pY2ggd3VlcmRlIGVzIGRhcyBTcGllbCB3ZW5pZ2VyIGxhbmd3ZWlsaWcgbWFjaGVuLCB3ZW5uIGljaCBtYWwgd2llZGVyCndlbmlnIFplaXQgaGFiZSAod2llZGVyID8pLgpVbmQgaWNoIGZhbmQgZGVuIFZvcnNjaGxhZyB3aXJrbGljaCBsdXN0aWcuCkljaCBmaW5kZSBlcyB0cmF1cmlnLCBkYXNzIGVyIHRyb3R6IG1laHJlcmVyIHNtaWxpZXMgc28gaHVtb3Jsb3MgYXVmZ2Vub21tZW4Kd3VyZGUuCk1laW4gR290dCwgaWNoIGtvZW5udGUgbWlyIGF1Y2ggZWluIFByb2dyYW1tIHNjaHJlaWJlbiwgZGFzIHNpY2ggZGFzCkJsdXRzYXVnZXJzY2h3ZXJ0IGtyYWxsdCB1bmQgZGllIGdhbnplIEF1c3J1ZXN0dW5nIGVpbnNhbW1lbHQsIGRpZQppY2ggYnJhdWNoZSB1bmQgc2ljaCBuYWNoIGVpbmVyIG9kZXIgendlaSBTdHVuZGVuIHp1cnVlY2ttZWxkZXQsCndlbm4gYWxsZXMgZXJsZWRpZ3QgaXN0LiAoQmlzIGF1ZiBkaWUgU2NoYXR0ZW5ydWVzdHVuZyA6LSkKenVtaW5kZXN0IGltIE1vbWVudCBpc3QgZGFzIEV0d2FzIGV0d2FzIHp1IGhhcnQgOi0pICkKV2VubiBpaHIgZGVuIEFydGlrZWwgZ2VuYXUgZ2VsZXNlbiBoYWV0dGV0LCBhYmVyIGpldHp0IGhvZXJlIGljaCBsaWViZXIgYXVmLAppY2ggYmluIGphIHRhdHNhZWNobGljaCBiZWxlaWRpZ3QuCk9rLCBvaywgU2Nod2FtbSBkcnVlYmVyLgpBYmVyIGRlbmt0IG1hbCBkYXJ1ZWJlcgpHZWJ0IFR3cmdsIHdlbmlnc3RlbnMgZWluZSBhdXRvbG9hZCBTcGVuZGVucXVpdHR1bmcuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJtYWdlZGRvbiAoVHdyZ2wsIDEwLiBNYXIgMTk5NSwgMTg6MDU6MDApOgpXaWUgd2FlcmUgZXMgd2VubiBpaHIgQXJtYWdlZGRvbiBsYXVmZW4gbGFzc2VuCnd1ZXJkZXQgbWl0IGRlciBpbmZvIHVlYmVyIGRpZSByZXN0emVpdCB1bmQgZGVuIGZlaGxlbmRlbiBCZXRyYWcgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGVuZGVuIChIb3JzY2hkLCAxMC4gTWFyIDE5OTUsIDE5OjA2OjQwKToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5NDgzMTA3OQoKSGkuCgpPaywgb2suIFVlYmVyemV1Z3QsIGljaCBnZWggYXVjaCBnbGVpY2ggYW0gTW9udGFnIHp1ciBCYW5rIDopKQoKSG9yc2NoZC4KLAphcmdsIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJtYWdlZGRvbiAoWWVuZGksIDEwLiBNYXIgMTk5NSwgMTk6MTU6MzEpOgojISBybj1Ud3JnbCBydD03OTQ4NTUxMDAKCkphYWFhIQoKR2VuaWFhYWFhbCEKCj4gQXJtYWdlZGRvbiBydWZ0OiBOb2NoIDQgVGFnZSwgMTQgU3R1bmRlbiB1bmQgMjcgTWludXRlbiBiaXMgenVyCiBBcm1hZ2VkZG9uIHJ1ZnQ6IEFic2NoYWx0dW5nIGRlcyBNVURzIQogQXJtYWdlZGRvbiBydWZ0OiBFcyBmZWhsZW4gbm9jaCAxMzc1IERNLCB1bSBkYXMgTW9yZ2VuZ3JhdWVuIHp1IHJldHRlbiEKIEFybWFnZWRkb24gcnVmdDogV2VyIHdhciBub2NoIG5pY2h0IGJlaSBkZXIgQmFuaz8KCgpIbW1tLCBoYXQgZG9jaCB3YXMuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhdXRvbG9hZCB1bmQgaGFydGUgd2FlaHJ1bmcgKEdyaW1tYm9ybiwgMTAuIE1hciAxOTk1LCAyMTo1NTo0OSk6CiMhIHJuPVNjaHJ1bXBmaSBydD03OTQ4Njg2NDAKClNwcmFjaCBkaWUgTWFnaWVyaW4sIGRpZSBzaWNoIGFsbGVzIGF1dG9sb2FkIHNldHplbiBrYW5uLi4uIDstMAoKQWJlciBpY2ggZGFjaHRlLCBlcyB3YXIgYW5kZXJzIGdlZGFjaHQuV2VubiBtYW4gRUlORSBSdWVzdHVuZyB1bmQgRUlORSBXYWZmZQp2ZXJzdGVpZ2VybiB3dWVyZGUgZGFubiBrb2VubnRlIGRhcyBkb2NoIGVpbmVuIFJlaXogaGFiZW4/IE11c3MgamEgbmljaHQKZ2xlaWNoIFNjaGF0dGVucnVlc3R1bmcgdW5kIEJTUyBzZWluLiBVbmQgd2VubnMgYmVncmVuenQgaXN0IGtvbW10IGF1Y2ggc2ljaGVyCm5pY2h0IGplbWFuZCBhdWYgZGllIElkZWUKVW5kIGFiZ2VzZWhlbiB2b20gR2VsZDogSWNoIGZhZW5kcyBuZSBpbnRlcmVzc2FudGUgQWt0aW9uIG1hbCB6dSBzZWhlbiwgd2FzCmRlbiBMZXV0ZW4gcmwgZGVyIEtyYW0gaGllciB3ZXJ0IGlzdC4gRnVlciBtaWNoIGlzdHMgamEgZWdhbCwgaWNoIGtyaWVnIGRlbgpLcmFtIGF1Y2ggc28uLi4gOy0pCgpBbHNvIGljaCB1bnRlcnN0dWV0emUgZGVuIFZvcnNjaGxhZyEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCwgYXVmIGRlciBTZWl0ZSBkZXIgTWluZGVyaGVpdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR0VMRCEgKEdyaW1tYm9ybiwgMTAuIE1hciAxOTk1LCAyMzowNzowNik6CgpBbHNvLCBub2NobWFsIHp1IGRlciBJZGVlIG1pdCBkZW4gYXV0b2xvYWQtU2FjaGVuOgpXaXIgYnJhdWNoZW4gZGllIEtuZXRlLiBVbmQgbWlyIGlzdCBkYSB2b2VsbGlnIGVnYWwgd2llIChuYWphLCBmYXN0KS4gV2VubgpkYWZ1ZXIgZWluIGF1dG9sb2FkIEtydW1tc2Nod2VydCBvZGVyIGVpbmUgYXV0b2xvYWQgdWVzdHVuZyAoTGljaHRwYW56ZXIKbWVpbmV0d2VnZW4pIGluIFVtbGF1ZiBrb21tZW46IEJpdHRlLgpXb2JlaSBkaWUgRW50c2NoZWlkdW5nIGRhcnVlYmVyIG5hdHVlcmxpY2ggYmVpIGRlbiBXYWZmZW4tSGFtcGVsbWFlbm4uLi5uZWluLApuaWNodCBraWNrZW4hIGJlaSBkZW4gV2FmZmVubWFnaWVybiBsaWVndC4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdFTEQhIChTY2hydW1wZmksIDEwLiBNYXIgMTk5NSwgMjM6Mzk6NDMpOgojISBybj1HcmltbWJvcm4gcnQ9Nzk0ODczMjI2CktsYXIsIGRlciBad2VjayBoZWlsaWd0IGRpZSBNaXR0ZWwgaW4gZGllc2VtIEZhbGwuIElzdCBoYWx0IG51ciB3aWVkZXIgbWFsCmVpbiBBdXNkcnVjayBmdWVyIHVuc2VyZSB2b20gS2FwaXRhbGlzbXVzIHplcmZyZXNzZW5lIEdlc2VsbHNjaGFmdCEgSWNoIHd1ZXJkCm1pY2ggaGFsdCBpbiBHcnVuZCB1bmQgQm9kZW4gc2NoYWVtZW4gd2VubiBpY2ggbnVyIGRhbm4gd2FzIHNwZW5kZW4gd3VlcmRlCndlbm4gaWNoIHdhcyBkYWZ1ZXIga3JpZWcuIEFiZ2VzZWhlbiBkYXZvbiBkYXMgd2lyIGVoIHdhcyBrcmllZ2VuIG5hZW1saWNoIE1HIQpNdWVzc3RlIGVpZ2VudGxpY2ggQW5zcG9ybiB6dW0gc3BlbmRlbiBnZW51ZyBzZWluLgpVbmQgYmV2b3IgRHUgamV0enQgd2llZGVyIG1vdHp0LCBHcmltbWJvcm46IEljaCB3ZWlzcyBlaCwgZGFzcyBpY2ggTWFnaWVyaW4KYmluIHVuZCBtaXIgZGllIFNhY2hlbiBjbG9uZW4gdW5kIGF1dG9sb2FkIHNldHp0ZW4ga2FubiB3aWUgaWNoIGx1c3RpZyBiaW4KYWJlciBhbHMgU3BpZWxlcmluIHd1ZXJkIGljaCBlcyB3aXR6bG9zIGZpbmRlbiBtaXQgbmVtIGF1dG9sb2FkIFNjaHdlcnQgZHVyY2gKZGllIEdlZ2VuZCB6dSByZW5uZW4uClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmxvc3Mga2VpbmUgYXV0b2xvYWQgd2FmZmVuIChBbmNhbGFnb24sIDExLiBNYXIgMTk5NSwgMTA6MTc6MzcpOgpIYWxsb2VsZSwgaWhycyEKQWxzbywgamV0enQgZ2ViZSBpY2ggYXVjaCBtYWwgbWVpbmVuIFNlbmYgYWIuIEljaCBiaW4gdG90YWwgZ2VnZW4gZWluZQp2ZXJzdGVpZ2VydW5nIHZvbiBhdXRvbG9hZC13YWZmZW4sIC1ydWVzdHVuZ2VuIGV0Yy4gRXJzdGVucyBuaW1tdCBlcyAoZmluZGUKaWNoKSBlaW5pZ2VzIGFuIFNwaWVsc3Bhc3MsIHp3ZWl0ZW5zIHdhZXJlIGVzIGRvY2ggb2JlcnRyYXVyaWcsIHdlbm4gbWFuIGRpZQpnYW56ZW4gTW9yZ2VuZ3JhdWVyIGVyc3QgZHVyY2ggc29sY2hlIG1hc3NuYWhtZW4gbW90aXZpZXJlbiBrb2VubnRlLiBEYW5uCmtvZW5udGUgZGFzIE1HIGF1Y2ggZ2xlaWNoIGJhZGVuIGdlaGVuLi4uLi4uLm5hamEsIGRhcyB3YXIgamV0enQgZXR3YXMKZHJhc3Rpc2NoLCBhYmVyIHNvIHVuZ2VmYWVociBzZWhlIGljaCBkYXMuCkljaCBtZWluZXJzZWl0cyBoYWJlICxuYWNoIGxhbmdlciBLYXBpdGFsZmxhdXRlIChlcndhZWhudGUgaWNoIHNjaG9uIG1laW5lbgpIYXNzIGF1ZiBGaW5hbnphZW10ZXI/KSBlbmRsaWNoIGZkaWUgTW9lZ2xpY2hrZWl0LCBkZW0gdmVyZWluIGJlaXp1dHJldGVuIHVuZAphdXNzZXJkZW0gZWluZW4ga2xlaW5lbiBiZWl0cmFnIHp1IHNwZW5kZW4uIFVuZCBpY2ggd2VyZGUgZGFzIGF1Y2ggZ2xlaWNoIGFtCm1vbnRhZyBpbiBkaWUgd2VnZSBsZWl0ZW4uIFVuZCB3ZXIgZGF6dSBlcnN0IGlyZ2VuZHdlbGNoZSBhbnJlaXplIGJyYXVjaHQsIGlzdAp3b2hsIGRvY2ggbmljaHQgc28gc2VociBhbSBNRyBpbnRlcmVzc2llcnQuLi4uLi4uLgpTbywgZGFzIHdhciBqZXR6dCB2aWVsbGVpY2h0IGV0d2FzIHVuZ2VzY2hpY2t0IGZvcm11bGllcnQgKGljaCBiaW4gbm9jaCBuaWNodApnYW56IG51ZWNodGVybi4uLikgYWJlciBuaWNodHNkZXN0b3dlbmlnZXJ0cm90emRlbSBzbyB1bmdlZmFlaHIgbWVpbmUKbWVpbnVuZy4uLi4KSWNoIGVudHNjaHVsZGlnZSBtaWNoIGltIHZvcmF1cyBiZWkgYWxsZW4sIGRpZSBzaWNoIHZpZWxsZWljaHQgYXVmIGRlbgpTY2hsaXBzIGdldHJldGVuIGZ1ZWhsZW4sIHVuZCB2ZXJibGVpYmUgYXVjaCB3ZWl0ZXJoaW4sIGZyZXVuZGxpY2hzdCwgZXVyWzJlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5jYWxhZ29uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJhY28ga251ZGRlbGxlbnNpcyBtYWpvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXV0b2xvYWRzYWNoZW4hISAoTml4aWhvdSwgMTEuIE1hciAxOTk1LCAxMzowMjowOCk6CkFsc28gYXVjaCBpY2ggYmluIGVpZ2VuZGxpY2ggZ2VnZW4gYXV0b2xvYWQtd2FmZmVuLCAtcnVlc3R1bmdlbiB1c3cuCmplZGVuZmFsbHMgd2VubiBkaWVzZSBnZWdlbnN0YWVuZGUgZGFzIGJlc3RlIHZvbSBiZXN0ZW4gc2luZCEKCmF1c3NlcmRlbSB3dWVyZGUgaWNoIHZvcnNjaGxhZ2VuLCBkYXNzIGplZGVyIGFsbGVyaG9lY2hzdGVucyBFSU5FTgpnZWdlbnN0YW5kIGJla29tbXQgZGVyIGF1dG9sb2FkIGlzdC4gKHdlbm4gZXMgZGVubiBzbyBrb21tZW4gc29sbHRlKQoKYWxsZXJkaW5ncyBmaW5kZSBpY2ggZGFzIG5pY2h0cyBnZWdlbiBlaW5lIGF1dG9sb2FkIGRpZGRlbG1hdXMgc3ByaWNodApvZGVyIGdlZ2VuIGFuZGVyZSBuZXR0ZSBnZWdlbnN0YWVuZGUsIGRpZSBlYmVuIGtlaW5lIHdhZmZlbiB1bmQgcnVlc3R1bmdlbgpzaW5kCih6Qi4gZGVyIHd1ZXJmZWwgYXVzIGRlbSBOZWFuZGVydGFsIGlzdCBuZXR0KQppY2ggZGVua2UgZWluZSBndXQgc2ljaHRiYXJlIHVuZCBldnRsLiBoZXJ1bXplaWdiYXJlIGF1dG9sb2FkLVNwZW5kZW5xdWl0dHVuZwpzb2xsdGUgZXMgYXVmIGplZGVuIGZhbGwgZ2ViZW4uKGZ1ZXIgZGllLCBkaWUgc293YXMgaGFiZW4gd29sbGVuKQoKZWluZSB3ZWl0ZXJlIG1vZWdsaWNoa2VpdCB3YWVyZSBlcywgZ2VnZW5zdGFlbmRlIGVpbnp1ZnVlcmVuLCBkaWUKbmFjaCBpZGVlbiBkZXIgU3BlbmRlciBmdW5rdGlvbmllcmVuLCB1bmQgZGllIGVzIGRhbm4gaW0gbXVkIHp1CmZpbmRlbiBnaWJ0Lihzb3p1c2FnZW4gTWFkZSBieSAuLi4uKQpiZWkgZGllc2VtIHZlcmZhaHJlbiBkZW5rZSBpY2ggYWxsZXJkaW5ncyB3ZXJkZW4gZGllIG1hZ2llcgptaXQgenVuZWhtZW5kZW0gc3RyZXNzIHVuZCB6ZWl0bWFuZ2VsIGZlcnRpZyB3ZXJkZW4gbXVlc3Nlbi4KCm51biBqYSBlcnN0IGVpbm1hbCBTRU5GIG9mZgoKTml4aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1dG9sb2Fkc2FjaGVuISEgKEdyaW1tYm9ybiwgMTEuIE1hciAxOTk1LCAxNDo1NDo1MCk6CiMhIHJuPU5peGlob3UgcnQ9Nzk0OTIzMzI4CgpIbW0sIG5vY2ggbWFsIGluIGFsbGVyIERldXRsaWNoa2VpdCB3ZWlsIGljaCBlbnR3ZWRlciB6dSBkb29mIGJpbiBtaWNoCmF1c3p1ZHJ1ZWNrZW4gb2RlciBhbGxlIGFuZGVyZW4genUgZG9vZiBzaW5kIHp1bSBsZXNlbiAoaWNoIHRlbmRpZXJlCm5hdHVlcmxpY2ggenUgbGV0enRlcmVtLi4uIDstKSApOgoKVmVyc3RlaWdlcnVuZyBFSU5FUyBMaWNodHBhbnplcnMgdW5kIEVJTkVTIExhbmdzY2h3ZXJ0ZXMga2FubiBkb2NoIHNvIHNjaGxpbW0KbmljaHQgc2Vpbj8gRGFzIFpldWcgbGFldWZ0IG1hc3NlbmhhZnQgcnVtLCBpc3QgZWhlciBtaXR0ZWxtYWVzc2lnIHVuZCBpY2gKZ2xhdWJlIG5pY2h0LCBkYXNzIGRpZSBFeGlzdGVueiBFSU5FUyBTYXR6ZXMgYXV0b2xvYWQtQXVzcnVlc3R1bmcgZGllIEJhbGFuY2UKaW4gR2VmYWhyIGJyaW5ndCwgZXMgZ2VoCi4uLmVzIGdlaHQgTklDSFQgZGFydW0sIGRhcyBaZXVnIG1hc3NlbmhhZnQgdW50ZXJzIFZvbGsgenUgc3RyZXVlbiEgKE1laW5lCkd1ZXRlLCB3ZSBoYXQgZGVuIFRhc3RhdHVycHVmZmVyIGF1ZiBkZW0gR2V3aXNzZW4/KQpVbmQgQXJndW1lbnRlIHdpZSAiZGEgZ2VodCBkZXIgU3BpZWxzcGFzcyBmbG9ldGVuIiBzaW5kIGphIHdvaGwgdG90YWwgZHVyY2gKZGVuIFdpbmQgZ2VzY2hvc3Nlbi4gRElDSCBiZXJ1ZWhydCBkaWUgRXhpc3RlbnggZGllc2VyIERpbmdlIGphIG5pY2h0IHVuZAp3aWVzbyB3aWxsc3QgRFUgdm9yc2NocmVpYmVuLCB3aWUgQU5ERVJFIExldXRlIGhpZXIgU3Bhc3MgaGFiZW4gc29sbGVuPwoKQWJlciBiaXR0ZSwgbWFjaHRzIGRvY2ggc28sIGRhc3MgaWhyIGRhcyBHZWxkIG5pY2h0IHp1c2FtbWVuIGJla29tbXQsIHdlbm4KaWhyIGV1Y2ggZGFubiBwb2xpdGlzY2ggYmVzc2VyIGZ1ZWhsdC4KV2VubiBpY2ggZWluZW0gS2FwaXRhbGlzdGVuIG51ciBHZWxkIGF1cyBkZXIgTmFzZSB6aWVoZW4ga2FubiwgaW5kZW0gaWNoIGlobQp3YXMgZ2ViZSwgd2FzIG1pY2ggbmljaHRzIGtvc3RldCB1bmQgd2FzIGlobSBsZXR6dGxpY2ggYXVjaCBrYXVtIG51ZXR6dCBiaW4KaWNoIGRvY2ggZHVtbSwgd2VubiBpY2hzIG5pY2h0IG1hY2hlLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LCBkZXIgc2ljaCBhdWNoIGJhbGQgc2VpbmVuIEtyYW0gY2xvd25lbiBrYW5uLgoKUC5TLjogR3J1c3MgYW4gYWxsZSBIYW1wZWxtYWVubmVyLCBuYXR1ZXJsaWNoIGdpYnRzIGdlbnVnIEdydWVuZGUgZGFnZWdlbiwKZGllIGljaCBlaW5zZWhlLiBJbSBHZWdlbnNhdHogenUgZGVuZW4sIGRpZSBoaWVyIGxhdWZlbmQgYW5nZWJyYWNodCB3ZXJkZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGF1dG9sb2FkIHVuZCBoYXJ0ZSB3YWVocnVuZyAoQmVsZGluLCAxMS4gTWFyIDE5OTUsIDE3OjM0OjEyKToKIyEgcm49Sm9mIHJ0PTc5NDc4MTc4OApVbmQgd2FzIGlzdCwgd2VubiBtYW4gYWxzIE1hZ2llciBzcGVuZGV0PyBCZWtvbW10IG1hbiBkYW5uIG5lbiBob2VoZXJlbiBMZXZlbApvZGVyIHdpZT8KTmFqYSAtIG1lcmt3dWVyZGlnZSBBa3Rpb25lbiBmdWVyIHNlbHRzYW1lIFplaXRlbiAuLi4KCkJlbGRpbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGlzdGVuIHVuZCBhbmRlcmVzLi4uIChCZWxkaW4sIDExLiBNYXIgMTk5NSwgMTc6Mzk6MDEpOgoKQWVoLi4uCkljaCBsZXNlIGluIGRpZXNlciBSdWJyaWsgaXJnZW5kd2FzIHZvbiAiTGlzdGVuIiB1bmQgZGEga2FubiBqYSBqZWRlciBzZWhlbgp3ZXIgZ2VzcGVuZGV0IGhhdCBvZGVyIG5pY2h0Li4uCkljaCBtb2VjaHRlIGRhenUgbnVyIGJlbWVya2VuLCBkYXNzIGVpbmUgc29sY2hlIFZlcmZhaHJlbnN3ZWlzZSAod2VubiBhbHMKRHJ1Y2ttaXR0ZWwgYmVudXR6dCBvZGVyIGdlZGFjaHQpIGR1cmNoYXVzIHp1bSBWZXJsdXN0IGRlciBHZW1laW5udWV0emlna2VpdApmdWVocmVuIGtvZW5udGUhCkRhbm4gd2FlciBkYXMgaGllciBuYWVtbGljaCBrZWluIFByb2plY3QgbWl0IGFuZ2VzY2hsb3NzZW5lbSBGb2VyZGVydmVyZWluCm1laHIsIHNvbmRlcm4gZWluIGtvbW1lcnppZWxsZXIgQ2x1Yiwgd2VsY2hlciBhdWYgU3BlbmRlbnp3YW5nIGF1c2dlcmljaHRldAppc3QuCkRlbm4gZGFzIFdvcnQgIlNwZW5kZSIgaW1wbGl6aWVydCBqYSBlaWdlbnRsaWNoIGF1Y2ggZGllIEZyZWl3aWxsaWdrZWl0LApvZGVyPwpXb2xsdCBpY2ggbnVyIG1hbCBzbyBhbSBSYW5kZSBiZW1lcmt0IGhhYmVuIDopLgoKQmVsZGluIDotUAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdXRvbG9hZHNhY2hlbiEhIChLcmV0ZWssIDExLiBNYXIgMTk5NSwgMjA6MDI6MjMpOgojISBybj1HcmltbWJvcm4gcnQ9Nzk0OTMwMDkwCkFsc28sIGljaCBtdXNzIEdyaW1tYm9ybiBkYSBzY2hvbiBSZWNodCBnZWJlbiEgKCoqKnN0YXVuKioqKQpNYWwgZ2FueiBlaHJsaWNoIGdlc2FndCwgTGV1dGUsIHdhcyBpc3QgZGVubiB3b2hsIGJlc3Nlcj8gRGFzIE1HIGdlcmV0dGV0Cnp1IGhhYmVuLCBvZGVyIGV1cmUgbW9yYWxpc2NoZW4gR3J1bmRzYWV0emU/IE1pdCBwZXJzb2VubGljaCB3YWVyZSBkYXMgTUcKZGEsIGVocmxpY2ggZ2VzYWd0LCBzY2hvbiBsaWViZXIhIFVuZCBpY2gga29lbm50ZSBtaXIgc2Nob24gZ3V0IHZvcnN0ZWxsZW4sCmRhc3Mgc28gbWFuY2ggZWluZXIgc2Nob24gV2lsbGVucyB3YWVyZSwgZnVlciAnbmUgYW5zdGFlbmRpZ2UgUnVlc3R1bmcgb2RlcgpzbyBzY2hvbiBtYWwgJ25lIGhvZWhlcmUgU3BlbmRlIHNwcmluZ2VuIHp1IGxhc3Nlbi4uLgpBdXNzZXJkZW0gc2VoZSBpY2ggZGFzIGF1Y2ggc28gd2llIEdyaW1tYm9ybjogRXMgZ2VodCBqYSBuaWNodCBkYXJ1bSwgamV0enQKYXVmIGVpbm1hbCBBdXRvbG9hZC1CU1MgenUgdmVyc2NobGV1ZGVybiwgc29uZGVybiBlYmVuIHdpZSBiZWkgZWluZXIKVmVyc3RlaWdlcnVuZzogTWFuIHNldHp0IGVpbiBPYmpla3QgRUlOTUFMIGF1cywgdW5kIGRpZSBob2VjaHN0ZSBTcGVuZGUKKGJ6dy4gU3BlbmRlbnZvcnNjaGxhZywgYmVpIHRhdHNhZWNobGljaGVtIEVpbmdhbmcgZGVyIFNwZW5kZSBhdWYgZGVtIEtvbnRvKQpiZWtvbW10J3MgZGFubi4uLiBEYXp1IGtvZW5udGUgbWFuIGphIGhpZXIsIGVudHdlZGVyIGluIGVpbmVtIHNwZXppZWxsZW4KUmF1bSAoTHVja3kgVGlnZXIncz8pIG9kZXIgcGVyIE1QQSBlaW5lIHplaXRsaWNoIGJlZ3Jlbnp0ZSBBdWt0aW9uIGFiaGFsdGVuLAp3ZXIgZGFzIGhvZWNoc3RlIEdlYm90IG1hY2h0LCBiZWtvbW10IGRhcyBUZWlsLCBtdXNzIGRhbm4gYWJlciB2b3JoZXIKbmF0dWVybGljaCBhdWNoIG5vY2ggdGF0c2FlY2hsaWNoIHNwZW5kZW4hCldlbm4ncyBuaWNodCBvaG5lIHNvd2FzIGdlaHQgLSBpY2ggaGFldHRlIGRhYmVpIGtlaW5lIG1vcmFsaXNjaGVuIEJlZGVua2VuIQpXaWUgc2Nob24gZ2VzYWd0LCBMZXV0ZSwgZGVua3Qgbm9jaG1hbCBkcmFuLCBlcyBnZWh0IGhpZXIgTklDSFQgdW0KaXJnZW5kd2VsY2hlIHRoZW9yZXRpc2NoZW4gbW9yYWwtZXRoaXNjaGVuIERpc2t1c3Npb25lbiwgc29uZGVybiB1bSBkYXMKV2VpdGVyYmVzdGVoZW4gZGllc2VyIFdlbHQhIFNvbGx0ZSB1bnMgZGF6dSBuaWNodCBKRURFUyBNaXR0ZWwgUmVjaHQgc2Vpbj8KVW5kLCB3aWUgR3JpbW0qIGphIHNjaG9uIGVpbiBwYWFybWFsIGZlc3RnZXN0ZWxsdCBoYXQsIEVJTkUgQXV0b2xvYWQtV2FmZmUKdW5kIEVJTkUgQXV0b2xvYWQtUnVlc3R1bmcgKG11ZXNzZW4gamEgbmljaHQgdW5iZWRpbmd0IEJTUyB1bmQKU2NoYXR0ZW5ydWVzdHVuZwpzZWluLi4uKSBicmluZ2VuIGRhcyBvZnQgYmVzY2h3b3JlbmUgIkdsZWljaGdld2ljaHQiIHNpY2hlciBuaWNodCBpbnMKV2Fua2VuIQoKTWl0IG1haG5lbmRlciBTdGltbWUsCiAgICAgXyAgIF9fIF9fXyAgX18KfCAvIHwgXCB8ICAgIHwgIHwgICB8IC8KfC8gIHxfLyB8XyAgIHwgIHxfICB8Lwp8XCAgfFwgIHwgICAgfCAgfCAgIHxcCnwgXCB8IFwgfF9fICB8ICB8X18gfCBcCgoodmVyendlaWZlbHQgdmVyc3VjaGVuZCwgc2VpbmVyIGRvb2ZlbiBCYW5rIHp1IGVya2xhZXJlbiwgZGFzcyBlcyBkdXJjaGF1cwptb2VnbGljaCBpc3QsIGVpbmUgVWViZXJ3ZWlzdW5nIHZvbiBVU0EgbmFjaCBEZXV0c2NobGFuZCB6dSBtYWNoZW4hKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BlbmRlIChLbGluZ2UsIDExLiBNYXIgMTk5NSwgMjA6MDg6MzUpOgpIaWVyIG1hbCBuIFZvcnNjaGxhZyB2b24gbWlyLgpXaWUgd2FlcmUgZXMgZGVubiB3ZW5uIGRlbiBTcGVuZGVybiBpbiBkZW4gTGFlZGVuIHBybyBETSAxJSBQcmVpc25hY2hsYXNzCmdld2FlaHJ0IHd1ZXJkZSBiaXMgenUgbmVyIE9iZXJncmVuemUgdm9uIFhYWCwtRE0KTnVyIHNvIG5lIElkZWUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhtbS4uLi4gKEd1eWJydXNoLCAxMS4gTWFyIDE5OTUsIDIwOjQ0OjQxKToKSWNoIHdlaXNzIGdhciBuaWNodCBlbXJoLCB3b3J1bSBlcyBoaWVyIGdlaHQuCldlbm4gaWNoIGRhcmFuIGludGVyZXNzaWVydCBiaW4sIGRhcyBNRyB6dSBlcmhhbHRlbiAobWVpbmVyIEFyYmVpdCBuYWNoIHdhZXJzCnZpZWxsZWljaHQgYmVzc2VyIHdlbm4gaWNoJ3MgbmljaHQgd2FlciA7KSAgKSwgZGFubiBzcGVuZGUgaWNoIG9iIGF1dG9sb2FkCm9kZXIgbmljaHQuCkF1c3NlcmRlbSBnbGF1YmUgaWNoIGthdW0sIGRhc3MgYWVtIC4uLi5hZWhtIFRXUkdMPyAsIGRhcyBzbyBlcm5zdCBtZWludGUuCgpBdWNoIGVpbmUgTGlzdGUgZGVyZXIsIGRpZSBnZXNwZW5kZXQgaGFiZW4gaXN0IGVpbmUgendlaXNjaG5laWRpZ2UgU2FjaGUuIEVzCm1hZyB2aWVsbGVpY2h0IGRlbiBFaHJnZWl6IGVyd2Vja2VuIGRhIGdhbnogdm9ybmUgenUgc3RlaGVuLi4uLmFiZXIgYnJpbmd0cwpkYXM/CkljaCBkZW5rZSwgZGFzcyBtYW4gbmFjaCBnZXdpc3NlciBaZWl0IGFscyBTcGllbGVyIChoaWVyIHNpbmQgYXVjaCBkaWUgTWFncwptaXQgZWluZ2VzY2hsb3NzZW4pIGVpbmZhY2ggdm9uIHNlbGJzdCBlaW4gSU50ZXJlc3NlIGFuIGRlciBFcmhhbHR1bmcgZGllc2VzCk11ZHMgemVpZ2VuIHNvbGx0ZS4gSWNoIGplZGVuZmFsbHMgaGFiIGhpZXIgc292aWVsIFNwYXNzIHVuZCB2ZXJicmluZ2Ugc292aWVsClplaXQgaGllciwgZGFzcyBlcyBtaXIgZWdhbCBpc3QsIG9iIGljaCBuYWNoIGRlbSBuYWVjaHN0ZW4gQ3Jhc2ggd2llZGVyIG1hbCBuZQpuZXVlIEF1c3J1ZXN0dW5nIGJlbm9ldGlnZS4KU3RpbW10LCBhZXJnZXJuIHR1IGljaCBtaWNoIGRhbm4gYXVjaCwgd2llIGF1Y2ggdWViZXIgYW5kZXJlIFNhY2hlbiBoaWVyLAphYmVyIGljaCBmaW5kZToKRVJIQUxURVQgREFTIE1BRyBBTSBMRUJFTiEhISEhIQplZ2FsIHdpZS4uClZvbiBtaXIgYXVzIGF1Y2ggbWl0IGF1dG9sb2FkIGZ1ZXIgZGllLCBkaWUgdW5iZWRpbmd0IG5lIEJlbG9obnVuZyBicmF1Y2hlbiwKb2RlciBtaXQgbmVyIEVocmVubGlzdGUsIG9kZXIgbmVyIFN0YXRpc3Rpaywgb2RlciBlaW5lciBhbmRlcmVuIEJlbG9obnVuZy4uLi4KCnNvLCBkYXMgd2Fycywgdm9yZXJzdC4uCkd1eWJydXNoLCBkZXIgZWggbmljaHQgd2Vpc3MsIHdpZWxhbmcgZXIgaGllciBub2NoIHNvaWVsZW4ga2FubiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXV0b2xvYWQsIGxpc3RlbiB1bmQgZGVyIGdhbnplIHJlc3QgLi4uIChUd3JnbCwgMTEuIE1hciAxOTk1LCAyMTowNjo1NCk6CkRhIGhhYmUgaWNoIGphIGV0d2FzIGxvc2dldHJldGVuLgpVbSBlcyBrdXJ6IHp1IG1hY2hlbjogVmVyZ2Vzc3QgZXMgZWluZmFjaC4KSWNoIGhhdHRlIG5pY2h0IHZvciBlaW5lIFNwZW5kZSB2b24gZWluZXIKQmVsb2hudW5nIGFiaGFlbmdpZyB6dSBtYWNoZW4uIEFsbGVyZGluZ3MgaGFldHRlIGljaAplcyBuYXR1ZXJsaWNoIGdhbnogbmV0dCBnZWZ1bmRlbi4KRWluZSBhdXRvbG9hZCBCQlMga2FubiBpY2ggbWlyIHNlbGJzdCBnZW5lcmllcmVuLCBkZXIgbG9hZApkYXVlcnQgZGFubiBoYWx0IGV0d2EgZWluIGJpcyB6d2VpIHN0dW5kZW4uCkRhcyBlaW56aWcgd2lya2xpY2ggaW50ZXJlc3NhbnRlIHdhZXJlIGRpZSBTY2hhdHRlbnJ1ZXN0dW5nCmdld2VzZW4gOi0pClZvbiBlaW5lciBWZXJzdGVpZ2VydW5nIGhhbHRlIGljaCBhYmVyIGFic29sdXQgbmljaHRzLgpWb24gZWluZW0gdmVya2F1ZmVuIGF1Y2ggbmljaHQuIEljaCBoYXR0ZSBlaGVyIGFuIGVpbgpHZWdlbmdlc2NoZW5rIGdlZGFjaHQuIFZpZWxsZWljaHQgZ2lidCBkaWVzIGRlbgpBbnRpa2FwaXRhbGlzdGVuIGV0d2FzIHp1IGRlbmtlbi4KVW5kIGdlZ2VuIFNwZW5kZW5saXN0ZW4gaGFiZSBpY2ggYWJzb2x1dCBuaWNodHMsIGRpZXNlCkZvcm0gZGVyIEFuZXJrZW5udW5nIGlzdCBpbiB2aWVsZW4gRmFlbGxlbiB1ZWJsaWNoIHVuZApnZWZhZWhyZGV0IGluIGtlaW5zdGVyIFdlaXNlIGRpZSBHZW1laW5udWV0emlna2VpdC4KU29sYW5nZSBrZWluZSBlY2h0ZW4gU2Fua3Rpb25lbmVuIGdlZ2VuIGRpZSwgZGllIG5pY2h0ClNwZW5kZW4ga29lbm5lbiBvZGVyIHdvbGxlbiBhbmdlZHJvaHQgd2VyZGVuLCBiZXN0ZWh0IGluCmRpZXNlciBIaW5zaWNodCBrZWluZSBHZWZhaHIuClR3cmdsIC0gZGllIGxldHp0ZSBXZWlzZQpQLlMuIFdlbm4gaWhyIG5vY2ggQXJtYWdlZGRvbiBha3RpdmllcmVuIHdvbGx0LCBzb2xsdGUKZGFzIHNjaG5lbGwgZ2VzY2hlbi4gSGV1dGUgaXN0IGRlciAxMS4sIGJpcyB1bHRpbW8Kc2luZCBlcyBrZWluZSAzIFdvY2hlbiBtZWhyLCB1bmQgYmlzIGRpZSBMZXV0ZSBhdWYgZGVyCkJhbmsgc2luZCB1bmQgZGFzIEdlbGQgZWluZ2V0cnVkZWx0IGlzdCB1bmQgZGVyIFJlY2huZXIKYW5nZXNjaGFmZnQgaXN0IC4uLgpWaWVsIFplaXQgaXN0IG5pY2h0IG1laHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlbmRlIChadWVyaWxldSwgMTEuIE1hciAxOTk1LCAyMzo1NzoxOSk6CiMhIHJuPUtsaW5nZSBydD03OTQ5NDg5MTUKU2FsaSB6YWVtZSwKTGV1dGUgZ2VodCBudW4gbmljaHQgYWxsZWluZSBLbGluZ2UgYW4gc29uZGVybiBoaWVyIGhhdCBlcyBtaXIgZWluZmFjaApnZXJlaWNodCEgc2VodCBlcyBkb2NoIGVpbiwga2VpbmUgU3BlbmRlID0gYmFsZCBrZWluIE1HIG1laHIgISBadWVyc3QgbXVlc3NlbgptYWwgZ2VudWcgR2VsZCB6dXNhbW1lbmtvbW1lbiBkYXMgTW9yZ2VuZ3JhdWVuIHVlYmVybGVidCB1bmQgbWFuIGV1Y2ggZGFubgplaW5lIGF1dG9sb2FkIFJ1ZXN0dW5nIG9kZXIgV2FmZmUgZ2ViZW4ga2Fubi4gQWJlciBpY2ggZmluZGUgZXMgZWlnZW50bGljaAphdWNoIHNjaGxlY2h0IGFuIGVpbmUgQXV0b2xvYWRydWVzdHVuZyB6dSBkZW5rZW4gZGEgZGFzIHVuZmFpciB6dSBkZW4gYW5kZXJlbgpzZWluIHd1ZXJkZSBnbGVpY2ggd2llIHN0YXJrIHNpZSBpc3QgdW5kIGF1Y2ggd2VubiBlcyBudXIgZWluIE1lc3NlciB3YWVyZS4KV2FydW0gYnJhdWNodCBpaHIgZnVlciBldXJlIHNwZW5kZW4gZWluZSBnZWdlbmxlaXN0dW5nID8uIHdlbm4gZWluZQpnZWdlbmxlaXN0dW5nIGRhbm4gZWluIEF1dG9sb2FkIGpvaW50IG9kZXIgZGVuIGdsZWljaGVuIEJldHJhZyBkZW4gaWhyCmdlc3BlbmRldCBoYWJ0IGluIE1HLU11ZW56ZW53YWVydW5nIHdpZWRlciB6dXJ1ZWNrICEgSXN0IGRhbm4gYXVjaCBudXIKc2ltYm9saXNjaCBhYmVyIG5pY2h0IHVuZmFpci4gRGF6dSBrbGFyIGtvZW5uZW4gd2lyIE1hZ2llciB1bnNlcmUgU2FjaGVuCmNsb25lbiwgYWJlciBhbGxlIGlociBrb2VubnQgYXVjaCBlaW5tYWwgTWFnaWVyIHdlcmRlbiB1bmQgZGFubiBldXJlIHNhY2hlbgpjbG9uZW4gZGllIGlociBkYW5uIG5hZW1saWNoIG5pY2h0IG1laHIgYnJhdWNodCEuIFVuZCBrZWluIE1vcmdlbmdyYXVlbiwga2VpbgpzYWNoZW4gY2xvbmVuLCB1bmQgd2FlciBkb2NoIHNjaGFkZSB3ZW5uIGRpZSBsZWdlbmRlIE1vcmdlbmdyYXVlbiBlaW5mYWNoc28Kdm9tIE1VRC1IaW1tZWwgdmVyc2Nod2luZGVuIHd1ZXJkZSB3ZWlsIGtlaW5lciBzaWNoIHNlbGJlciBXZXJ0IGdld2VzZW4gd2FlcmUKenUgc3BlbmRlbi4gSWNoIGJpbiBBcmJlaXRzbG9zIHVuZCBsZWJlIHp1cnplaXQgdm9tIEFyYmVpdHNsb3NlbmdlbGQsIGFiZXIgaWNoCndlcmRlIGFtIE1vbnRhZyBhdWNoIG1laW5lIDUwIEZyYW5rZW4gZGF6dSBiZWl0cmFnZW4gdW5kIGljaCBob2ZmZSBpaHIgdHV0IGVzCmF1Y2guCgpUc2NodWVzcyBldWVyIE11ZC1Lb2xsZWdlICAgQWxhaW4gJ1p1ZXJpbGV1ICcgT3R0CgpQczoga29tbXQgbWFsIG5hY2ggWnVlcmljaCB1bmQgd2lyIGtpcHBlbiB6dXNhbW1lbiBlaW5lIHJ1bmRlICEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGlzIGVpZ2VudGxpY2ggbG9zIG1pdCBldWNoPz8/IChQdGVwcGljLCAxMy4gTWFyIDE5OTUsIDEyOjUwOjU4KToKCkF1dG9sb2FkIEJsdXRzYXVnZXJzY2h3ZXJ0IG9kZXIgQXV0b2xvYWQgS3J1bW1zYWViZWwKQXV0b2xvYWQgU2NoYXR0ZW5ydWVzdHVuZ2VuIG9kZXIgQXV0b2xvYWQgTGljaHRwYW56ZXIKQXV0b2xvYWQgQmllbmVuc3RhY2hlbCBvZGVyIC4uLi4KLi4uIGdhciBkaWUgVmVyc3RlaWdlcnVuZyBlaW5lciBEaWRkbC1LbnVkZGVsLXVzdy4tTWF1cyAuLi4KCkRhcyBzY2hlaW5lbiBkaWUgVGhlbWVuIHp1IHNlaW4gZGllIGV1Y2ggbW9tZW50YW4gYmV3ZWdlbiAuLi4gdHJhdXJpZywgYWJlcgppY2ggd2lsbCB2ZXJzdWNoZW4sIG1pY2ggc293ZW5pZyBhbHMgbW9lZ2xpY2ggdWViZXIgZGllIGRlcnplaXRpZ2VuIFp1c3RhZW5kZQp6dSBhZXVzc2VybiwgdW5kIGluc29mZXJuIGljaCBkYXMgbnVuIHdvaGwgZG9jaCB0dWUsIHZpZWxsZWljaHQgbnVyIHVtIGV1Y2gKZGllIEFic3VyZGl0YWV0IGRlciBTaXR1YXRpb24gYW4gc2ljaCBkYXJ6dWxlZ2VuIC4uLgoKRGllIGdhbnplIERpc2t1c3Npb24gZ2VodCBkb2NoIGlyZ2VuZHdpZSBhbSBlaWdlbnRsaWNoZW4gVGhlbWEgdm9yYmVpIC4uLgpsZWlkZXIsIHVuZCBvYiBtYW4gamV0enQgQXV0b2xvYWQgWmV1ZyB2ZXJrYXVmZW4gc29sbHRlIG9kZXIgbmljaHQsIGlzdCBtaXIKZWkgIHIKZWlnZW50bGljaCBuaWNodCBzbyB3aWNodGlnLiBUcmF1cmlnIG51ciwgZGFzcyBMZXV0ZSB1ZWJlcmhhdXB0IGF1ZiBkaWUgSWRlZQprb21tZW4sIHNvbGNoZSBBcnRpa2VsIGluIGRpZSBaZWl0dW5nIHp1IHNldHplbiwgc2ljaCBkYXJ1ZWJlciB6dSBzdHJlaXRlbiwKb2IgbWFuIHZpZWxsZWljaHQgZ2FyIGZ1ZXIgUkwtU3BlbmRlbiBlaW5lbiBSYWJhdHQgaW4gZGVuIExhZWRlbiBpbQpNb3JnZW5HcmF1ZW4genUgYmVrb21tZW4sIG9kZXIgTmFtZW5zbGlzdGVuIGRlciBTcGVuZGVyIHp1IHZlcmxhbmdlbiwgdW0KYW5kZXJlCk1pdHNwaWVsZXIgdW50ZXIgRHJ1Y2sgenUgc2V0emVuLgoKSWNoIGhhYiBzY2hvbiBsYW5nc2FtIGRhcyBHZWZ1ZWhsLCBrZWluZXIgYmV0cmFjaHRldCBkYXMgTW9yZ2VuR3JhdWVuIGFscwpkYXMsCndhcyBlcyBudW4gbWFsIGlzdDoKICAgICAgICAgICAgIGVpbiBTcGllbAoKSWNoIGdsYXViZSwgZGFzcyBlaW5lIE1lbmdlIExldXRlIGluIGRlbiBsZXR6dGVuIFdvY2hlbiB1bmQgTW9uYXRlbiB6aWVtbGljaAp2aWVsIFplaXQgbWl0IGRpZXNlbSBNdWQgdmVyYnJhY2h0IGhhYmVuLCB1bmQgZGFiZWkgc2ljaGVyIGF1Y2ggaWhyZW4gU1BBU1MKaGF0dGVuICh6dSBkaWVzZW4gTGV1dGVuIHphZWhsZSBpY2ggbWljaCBqZWRlbmZhbGxzKSB1bmQgZGVzd2VnZW4gc29sbHRlCmVzIGZ1ZXIgZGllIGF1Y2gga2VpbmUgRnJhZ2Ugc2VpbiwgZWluZmFjaCB6dXIgQmFuayB6dSBnZWhlbiB1bmQgZWluZW4KZ2V3aXNzZW4KQmV0cmFnIHp1IHVlYmVyd2Vpc2VuLgpJY2ggc2VoZSBkYXMgUHJvYmxlbSBuaWNodCwgZGFzcyBtYW5jaGUgTGV1dGUgaGFiZW4uLi4KV2VubiBlcyBtaXIgU3Bhc3MgbWFjaHQsIGJyYXVjaGUgaWNoIGRvY2gga2VpbmUgQXV0b2xvYWQgSXRlbXMgb2RlciBhbmRlcmUKU0FjaGVuIHVtIGRlbiB1ZWJyaWdlbiBTcGllbGVyIHVlYmVybGVnZW4genUgc2Vpbi4uLgpMZXV0ZSwgZGllIGRlcmFydGlnZSBNb3RpdmF0aW9uIGZ1ZXIgbm90d2VuZGlnIGhhbHRlbiwgdHJhZ2VuIGZ1ZXIgbWljaApzaWNoZXIKbmljaHQgenVtIFNwaWVsc3Bhc3MgYmVpIHVuZCBpY2gga2FubiBnZXRyb3N0IG9obmUgc2llIHdlaXRlcm11ZGRlbi4uLgoKLi4uIHdlbm4gZXMgdWViZXJoYXVwdCBlaW5lIFp1a3VuZnQgZnVlciBkYXMgTUcgZ2lidAoKSWNoIGhvZmZlIGplZGVuZmFsbHMsIGRhc3MgZ2VudWcgR2VsZCB6dXNhbW1lbmtvbW10LCBhdWYgd2VsY2hlIFdlaXNlIGF1Y2gKaW1tZXIsIHVuZCBkaWUKTGV1dGUsIGRlbmVuIGVzIG5pY2h0IHdpY2h0aWcgZ2VudWcgZXJzY2hlaW50LCBhdWNoIG9obmUgZWlnZW5udWV0emlnZQpNb3RpdmF0aW9uIHp1IHNwZW5kZW4sIHNlbGJzdGxvZXNjaHVuZyB1bmQgaWhyIFBhc3N3b3J0IGVpbmdlYmVuIHVuZCBpbgpadWt1bmZmdApsaWViZXIgaGFldWZpZ2VyIGluIGRpb2UgVm9ybGVzdW5nZW4gZ2VoZW4sIGFuc3RhdHQgc2ljaCBlaW56dWxvZ2dlbiA6KQoKICAgICAgUFRFUFBJQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpc3RlbiB1bmQgYW5kZXJlcy4uLiAoSm9mLCAxMy4gTWFyIDE5OTUsIDE0OjIyOjIyKToKIyEgcm49QmVsZGluIHJ0PTc5NDkzOTk0MQpLZWluIFp3YW5nIC0gZXMgaXN0IG1laHIgc29uZSBFaHJlbnRhZmVsLCB3ZW5uIGljaCBkYXMgcmljaHRpZyB2ZXJzdGVoZTsgd2VyCm5pY2h0IGRyYXVmc3RlaGVuIHdpbGwsIG9id29obCBlciBnZXNwZW5kZXQgaGF0LCBrb21tdCBuaWNodCBkcmF1Zi4gU29taXQKaXN0cyBrZWluIERydWNrbWl0dGVsIC0gd2VubiBqZW1hbmQgTklDSFQgZHJhdWZzdGVodCwga2FubnMgamEgc2VpbiwgZGFzCmVyIGdlc3BlbmRldCBoYXQgdW5kIG5pY2h0IGRyYXVmc3RlaGVuIHdvbGx0ZSAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgaXMgZWlnZW50bGljaCBsb3MgbWl0IGV1Y2g/Pz8gKFRvc3MsIDEzLiBNYXIgMTk5NSwgMTQ6MzU6MTIpOgojISBybj1QdGVwcGljIHJ0PTc5NTA5NTQ1OApISSEKCldhcyBtaXIgbmljaHQgc28gc2VociBnZWZhZWxsdCBpbiBkaWVzZXIgRGlza3Vzc2lvbiBpc3QgZGVyIG1hbmNobWFsCmF1ZnRhdWNoZW5kZSBCZWdyaWZmIGRlcyAiRHJ1Y2tzIiAsIGRlciB1ZWJlciBkaWUgU3BlbmRlbmxpc3RlIGF1c2dldWVidAp3aXJkLi4uCgpMZXV0ZSAhIEtFSU5FUiBNVVNTIHNwZW5kZW4gISAtIEFiZXIgZ2VnZW4gZWluZW4gU3BlbmRlbmxpc3RlIGlzdCBhYnNvbHV0Cm5pY2h0cyBlaW56dXdlbmRlbiwgdW5kIHdlciBkYXMgYWxzIERydWNrIGVtcGZpbmRldCwgaXN0IHNlbGJzdCBzY2h1bGQuCkFsbGVyZGluZ3Mgc29sbHRlIHNpY2ggamVkZXIgYXVjaCBhbiBkaWUgQmlybmUgcGFja2VuLCBvYiBlcyByaWNodGlnIGlzdCwgd2VubgplciBoaWVyIGplZGVuIFRhZyBzcGllbHQsIGFiZXIgYXVmIGRlciBMaXN0ZSBuaWNodCBkcmF1ZiBpc3QuLi4gKG9vcHMsIGljaApnbGF1YmUgaWNoIHVlYmVyIGdlcmFkZSBEcnVjayBhdXMgOykpCgpSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyBpcyBlaWdlbnRsaWNoIGxvcyBtaXQgZXVjaD8/PyAoQmVsZGluLCAxMy4gTWFyIDE5OTUsIDIxOjMxOjI0KToKIyEgcm49VG9zcyBydD03OTUxMDE3MTIKRGVyIEJlZ3JpZmYgZGVzIERydWNrcyBrYW0gZ2xhdWIgaWNoIHZvbiBtaXIuLi4KVW5kIGVzIHdhciBrZWluIEVtcGZpbmRlbiBtZWluZXJzZWl0cywgc29uZGVybiBlaW5lIEFuYWx5c2UgZGVyCkRhcnN0ZWxsdW5nc3dlaXNlIHdhcyBkaWVzZSBMaXN0ZSBhbmdlaHQuLi4KTUlSIGlzdCBlcyBlaCBlZ2FsIHdhcyBoaWVyIGFiZ2VodCwgYWJlciB3ZW5uIHNvd2FzICh1bnRlcnNjaHdlbGxpZykgYXVmCkRydWNrCmhpbmF1c2xhdWZlbiBfc29sbHRlXyBkYW5uIGlzdCBkYXMgbmljaHQgaW4gT3JkbnVuZyBvZGVyPwpOdXIgZGVzaGFsYiBoYWJlIGljaCAnZ2V3YWd0JyBzb3dhcyBlaW56dXdlbmRlbiAtIGljaCBlbnRzY2h1bGRpZ2UgbWljaApmb2VybWxpY2ggYmVpIGFsbGVuIGxhdXRlcmVuIEJlZnVlcndvcnRlcm4gZGllc2VyIExpc3RlLgoKQ1UgLSBCZWxkaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgaXMgZWlnZW50bGljaCBsb3MgbWl0IGV1Y2g/Pz8gKEF1Z3JhLCAxMy4gTWFyIDE5OTUsIDIyOjEzOjQ4KToKIyEgcm49QmVsZGluIHJ0PTc5NTEyNjY4NApEaWUgQXVmcmVndW5nIHVlYmVyIGRpZSBTcGVuZGVubGlzdGUgaXN0IG1pciB2b2VsbGlnIHVudmVyc3RhZW5kbGljaC4gV2VyCnNvd2FzIGFscyBEcnVjayBlbXBmaW5kZXQsIGRlciBoYXQgbm9jaCBuaWNodCBlcmxlYnQsIHdhcyBlcyBoZWlzc3QsIHdpcmtsaWNoCnVudGVyIERydWNrIGdlc2V0enQgenUgd2VyZGVuLiBEZXIgZWluemlnZSBEcnVjaywgZGVuIGljaCBhbmdlc2ljaHRzIGRlcyBNRwplbXBmaW5kZSwgd3VyZGUgZHVyY2ggQ2F0d2FlemxlcyBlcnN0ZW4gQXJ0aWtlbCBhdXNnZWxvZXN0LCB1bmQgZGFzIHdhciBzZWhyCmhlaWxzYW0uIGRlbm4gZGllc2VyIERydWNrIHdhciBnbGVpY2hzYW0gZWluIFNlbGJzdGVyaGFsdHVuZ3N0cmllYiwgc3ByaWNoOgppY2ggbW9lY2h0ZSBtZWluZSBBdWdyYSB1bmQgZXVjaCBhbGxlIG5pY2h0IG1pc3NlbiwgdW5kIGRlc2hhbGIsIHVuZCBOVVIKZGVzaGFsYiB3ZXJkZSBpY2ggbW9yZWduIHp1ciBCYW5rIGxhdWZlbiB1bmQgbWFsIHNlaGVuLCB3YXMgaWNoIHJ1ZWJlcnNjaGlja2VuCmthbm4uCgpTaW1vbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIGlzIGVpZ2VudGxpY2ggbG9zIG1pdCBldWNoPz8/IChTY2hydW1wZmksIDEzLiBNYXIgMTk5NSwgMjM6MDQ6MzEpOgojISBybj1Ub3NzIHJ0PTc5NTEwMTcxMgpKYSBmaW5kIGljaCBhdWNoLiBNaXIgaXN0IGVzIGVpZ2VlbnRsaWNoIGVnYWwgb2IgZGEgbmFtZW4gYXVmIGRlciBsaXN0ZQpzdGVoZW4gb2RlciBuaWNodCwgaWNoIGxlc2UgYXVjaCBuaWNodCBkaWUgbmFtZW4gc29uZGVybiBkZW4gYmV0cmFnLCBpY2ggd2lsbAplaW5mYWNoIHdpc3Nlbiwgd2lldmllbCBzY2hvbiBkYSBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGVuZGVuIC0gdW5kIGRhbm4/IChJbWFyLCAxNC4gTWFyIDE5OTUsIDIwOjQyOjU1KToKSEkKTWFsIGFuZ2Vub21tZW4sIGVzIGtvbW1lbiBiaXMgenVtIERlYWRMaW5lX1Rlcm1pbiAoRW5kZSBNYWVyeiA/PykKa2VpbmUgMTAwMDAgRE0genVzYW1tZW4sIHdhcyBwYXNzaWVydCBkYW5uIG1pdCBkZW0gc2Nob24gZ2VzcGVuZGV0ZW4KR2VsZD8KCkltYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGVuZGVuIC0gdW5kIGRhbm4/IChQdGVwcGljLCAxNS4gTWFyIDE5OTUsIDA4OjE1OjI1KToKIyEgcm49SW1hciBydD03OTUyMTAxNzUKCi4uLiBkYW5uIHd1ZXJkIGljaHMgc28gc2VoZW4gLi4uCi4uLiBlcyB3YXIgZG9jaCBtaW5kZXJzdGVucyBlaW4gdmVyc3VjaC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQVEVQUElDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhvZmZlbmQsIGRhc3Mgc2ljaCBkaWUgZnJhZ2UgbmljaHQKd2lya2xpY2ggc3RlbGx0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yc2NobGFnIChDaGFybHksIDE1LiBNYXIgMTk5NSwgMDg6NTc6NDMpOgpTaWNoZXIgaXN0IGRpZSBJZGVlIG5pY2h0IG5ldSwgYWJlciBpY2ggZmFuZCBzaWUgbmljaHQgaW4gZGVyCmFrdHVlbGxlbiBaZWl0dW5nLgpXYXMgaGFsdGV0IGlociB2b24gU3BpZWxlcmJlaXRyYWVnZW4gKDIgRE0gamUgTW9uYXQgKGV2ZW50LgpuYWNoIEFic3RpbW11bmcgaG9laGVyKSkuCldlciBuaWNodCB6YWhsZW4gbW9lY2h0ZSBvZGVyIGRhcyBNRyBlcnN0IG1hbCB0ZXN0ZW4gd2lsbCwgZGFyZgphbHMgR0FTVCBzcGllbGVuLgpJY2ggZmluZGUgZGFzIGZhaXIsIGRlbm4gc28gd2FlcmUgZ2VzaWNoZXJ0LCBkYXMgSkVERVIKd2VuaWdzdGVucyBldHdhcyB6dW0gQmVzdGVoZW4gZGVzIE1HIGJlaXRyYWVndC4KCkljaCBob2ZmZSBhdWYgcmVnZSBEaXNrdXNzaW9uLCBtb2VjaHRlIGFiZXIgbmljaHQgaG9lcmVuIGRhcwoyLTMgRE0genUgdmllbCBzaW5kLgoKc28gbG9uZwpjaGFybHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGVuZGVuIC0gdW5kIGRhbm4/IChKb2YsIDE1LiBNYXIgMTk5NSwgMTE6MzA6MTUpOgojISBybj1JbWFyIHJ0PTc5NTIxMDE3NQpEYW5uIHdpcmQgZGFzIE11ZCB2b3JsYWV1ZmlnICghKSBnZXNjaGxvc3NlbiBvZGVyIGluIGVpbmVuIE1pbmltYWwtWnVzdGFuZAp2ZXJzZXR6dCAoZ2VuYXUgZWluIFJhdW0sIG51ciAnc2FnJyBhbHMgQmVmZWhsKSB1bmQgd2VpdGVyZ2VzYW1tZWx0LgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGVuZGVuIC0gdW5kIGRhbm4/IChCYWJvb24sIDE1LiBNYXIgMTk5NSwgMTE6MzY6NDUpOgojISBybj1Kb2YgcnQ9Nzk1MjYzNDE1CgpEYXMgd2FlciBqYSBzY2hyZWNrbGljaCEgU3RlbGwgZGlyIG1hbCAxMDAgTGV1dGUgaW4gZWluZW0gUmF1bSB2b3IsIHVuZCBhbGxlcwpzaG5hdHRlcnQgd2lsZCBkdXJjaGVpbmFuZGVyLiBGdXJjaHRiYXIhIDotKQpCYWJvb24qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BlbmRlbiAtIHVuZCBkYW5uPyAoVG9zcywgMTUuIE1hciAxOTk1LCAxMzo0MToxMyk6CiMhIHJuPUJhYm9vbiBydD03OTUyNjM4MDUKCkFMU086IFNQRU5ERU4gIQoKUnluZQotIGRlciB1bmdlcm4gbWl0IDEwMCBMdXRlbiBpbiBlaW5lbSBSYXVtIGhvY2tlbiB3aWxsIDspIC0KCmhtbS4gLSB3ZW5ucyBkYSBlaW4gcGFhciBhbnN0YWVuZGlnZSBNb25zdGVyIGhhdCwga29lbm50ZSBtYW4gYXVjaCBtaXQgZWluZW0KcmF1bSB6dWZyaWVkZW4gc2VpbiA7KSAtIG11ZXNzdGUgaGFsdCBhdWNoIG5lIGtuZWlwZSBkYSBzZWluLi4uCk9id29obC4uLiB3ZW5uIGRhbm4gZGllIGh5ZHJhIGluIGRlbiByYXVtIHJlaW5rb21tdCwgd2lyZHMgbHVzdGlnIDspCgpOZSwgbGllYmVyIHNwZW5kZW4gISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwZW5kZW4gLSB1bmQgZGFubj8gKENhcmFkaHJhcywgMTUuIE1hciAxOTk1LCAxNDowMjowNyk6CiMhIHJuPVRvc3MgcnQ9Nzk1MjcxMjczClVuZCBmYWxscyBlcyBudXIgNzAwMCBETSBzaW5kPyBHaWJ0cyBkYW5uIG5pY2h0IGlyZ2VuZHdvIG5lIE1vZWdsaWNoLQprZWl0LCBuIEtyZWRpdCBhdWZ6dW5laG1lbj8gSW0gTGF1ZmUgZGVyIFplaXQgd2lyZCBqYSBkYW5uIG5vY2ggbWVocgp6dXNhbW1lbmtvbW1lbiwgc3BhZXRlc3RlbnMgbmFlY2hzdGVzIEphaHIgbWl0IGRlbiBCZWl0cmFlZ2VuIHdpZWRlciwKdW5kIGJlaSAzMDAgRE0gWmluc2VuIHd1ZXJkZSBkYXMgZG9jaCBhdWNoIGV0d2EgZ2VoZW4sIG9kZXI/CipncnVlYmVsKiBGcmFndCBzaWNoIG51ciB3ZXIgTUcgc28gZWluZW4gS3JlZGl0IGdpYnQuCgogICAgICAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvcnNjaGxhZyAoS2xpbmdlLCAxNS4gTWFyIDE5OTUsIDE0OjM5OjU0KToKIyEgcm49Q2hhcmx5IHJ0PTc5NTI1NDI2MwpJY2ggcmVnZSBhbiAyIERNIHBybyBMZXZlbC4KCkVudHdlZGVyIHdpcmQgZGFkdXJjaCBnbGVpY2h6ZWl0aWcgYXVjaCBkaWUgTGV2ZWwgZ2VpbGhlaXQgYmVrYWVtcGZ0IG9kZXIgZXMKa29tbXQgc2F0dCBrb2hsZSByZWluLgo7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3JzY2hsYWcgKEFuY2FsYWdvbiwgMTUuIE1hciAxOTk1LCAxNDo0NTo1OSk6CiMhIHJuPUtsaW5nZSBydD03OTUyNzQ3OTQKSGFsbG9lbGUhCktsaW5nLCBtZWluc3QgZHUgZXR3YSAyRE0gcHJvIGxldmVsIHBybyBNb25hdD8/CkRhcyB3YWVyZW4gYmVpIG1pciBzYXR0ZSA0MERNISBEYXMga2FubiBpY2ggbWlyIGF1ZiBrZWluZW4gZmFsbCBsZWlzdGVuLi4uLgpHZWdlbiBlaW5lbiBtb25hdGxpY2hlbiBiZWl0cmFnIGhhYmUgaWNoIG5pY2h0cywgYWJlciBkZW4gYW4gZGVtIGpld2VpbHMKZXJyZWljaHRlbiBsZXZlbCB6dSBtZXNzZW4sIGhhbHRlIGljaCBmdWVyIHNjaGxlY2h0Li4uLi4KQW5zb25zdGVuIGhvZmZlIGljaCBqYSwgZGFzcyBkYXMgc3BlbmRlbmdlbGQgYXVzcmVpY2h0Li4uLi4uSWNoIHdhciBzY2hvbgppbW1lciBPcHR6aW1pc3QuLi4uCkhlcnpsaWNoc3QsCgpBbmNhbGFnb24sIGRlciBzb2ViZW4gbWl0Z2xpZWRzYW50cmFnIHVuZCBzcGVuZGUgYWJnZXNjaGlja3QgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVm9yc2NobGFnIChLbGluZ2UsIDE1LiBNYXIgMTk5NSwgMTQ6NTA6NTMpOgojISBybj1BbmNhbGFnb24gcnQ9Nzk1Mjc1MTU5Ck5BVFVFUkxJQ0ggTklDSFQKKmtvcGZzY2h1ZXR0ZWwqCjIsLSBwcm8gRXJob2VodW5nLCBkYSB6YWhsdCBqZWRlciBzZWluZW0gZ2VoYWJ0ZW4gU3BpZWxzcGFzcyBnZW1hZXNzLgpHb2V0dGVyIGhhYmVuIG5hdHVlcmxpY2ggYW0gbWVpc3RlbiBTcGFzcyB6LkIuIGJlaSBMZXZlbCAxMTEKKmdyaW5zKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVm9yc2NobGFnIChSdW1hdGEsIDE1LiBNYXIgMTk5NSwgMTQ6NTg6MTIpOgojISBybj1LbGluZ2UgcnQ9Nzk1Mjc1NDUzCk1vbWVudCwgd2lyIHJlZGVuIHZvbiBQbGF5ZXJsZXZlbG4gdW5kIG5pY2h0IHZvbiB3aXpsZXZlbG4uCk1laW4gUGxheWVybGV2ZWwgaXN0IDEgOi0pLCBhYmVyIGlyZ2VuZGVpbm1hZ2llciBoYXR0ZSBpaG4gc2ljaAphdWYgaXJnZW5kd2FzIGltIDEwXjktQmVyZWljaCBnZXNldHp0LiBEYW5uIGdpYnRzIG5lIENyYXkgOi0pKQoKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWb3JzY2hsYWcgKEJvaW5nLCAxNS4gTWFyIDE5OTUsIDE1OjE1OjI1KToKIyEgcm49S2xpbmdlIHJ0PTc5NTI3NTQ1MwpXaWVzbz8gSm9mIGtvc3RldCBkYXMgZ2VyYWRlIG1hbCAyIE1hcmssIGRhIGVyIG1pdCBudXIgZWluZXIgRXJob2VodW5nIGF1ZgoxMTEga2FtIC4uLiBpY2ggbXVzcyBpbW1lcmhpbiA4LTEyIERNIGJlcmFwcGVuIC4uLiB3ZWlzcyBuaWNodCBtZWhyIGdlbmF1LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9yc2NobGFnIChNYXRlZXNlLCAxNS4gTWFyIDE5OTUsIDE2OjA1OjA2KToKIyEgcm49Q2hhcmx5IHJ0PTc5NTI1NDI2MwpEaWUgVXJoZWJlcnJlY2h0c2JlZGluZ3VuZ2VuIGZ1ZXIgTFBtdWQgdW50ZXJzYWdlbiBlcywgZGFzIE11ZCBpbiBpcmdlbmRlaW5lcgpGb3JtIGdlZ2VuIEdlbGQgZWluenVzZXR6ZW4uCk1hbiBrYW5uIGZ1ZXIgZGFzIEJldHJlaWJlbiBkZXIgTWFzY2hpbmUgQmVpdHJhZWdlIHZlcmxhbmdlbiwgZGllc2UgbXVlc3NlbgphYmVyIGRhbm4gdm9tIGVpZ2VudGxpY2hlbiBNdWRkZW4gdW5hYmhhZW5naWcgc2Vpbi4KIC0tIE1hdGVlc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVm9yc2NobGFnIChHdXlicnVzaCwgMTUuIE1hciAxOTk1LCAxODo0NDoxNyk6CiMhIHJuPUtsaW5nZSBydD03OTUyNzQ3OTQKVW5kIGRpZSBNaW5pLU1hZ3M/CkRpZSBtaXQgZGVuIGtsZWluZW4gbSdzIHZvcm4/CkRpZSBkaWUgbml4IGR1ZXJmZW4gd2VpbCBzaWUgbml4IGtvZW5uZT8KRGllIG1pdCBTdHVmZW4gPCAyNT8KRGllIGRpZSBydWZlbiBkdWVyZmVuPwpEaWUsIGRpZSB6YXBwZW4gZHVlcmZlbj8KbmVuZSwgTWFncyB6YWhsZW4gbWFsIG1pbmRlc3RlbnMgJURNIHBybyBsZXZlbAoKaG0uLi5oYWIgSVJPTklFIE9OIHZlcmdlc3NlbgphcmdsCmRhbm4gdmVyZ2VzcyBpY2ggZG9jaCBncmFkIGF1Y2ggSVJPTklFIG9mZi4uCkd1eWJydXNoLCBsYWJlcm5kLi4uLi4KCnVpLCBzZWggZ3JhZCBkYXNzLCBpY2ggZGEgbmVuIENBUFMtTE9DSyBhaGh0ZSAsIGFiZXIgd2lyIGlociBzaWNoZXJsaWNoCndpc3N0OgphdWYgZGVyIGFtaS1UYXN0YXR1ciBsaWVndCBkYXMgJSB1ZWJlciBkZXIgNSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVm9yc2NobGFnIChadWVyaWxldSwgMTYuIE1hciAxOTk1LCAwMTowOTo0OSk6CiMhIHJuPUd1eWJydXNoIHJ0PTc5NTI4OTQ1NwpTYWxpIEd1eWJydXNoLAphZW1tIExldmVsIDI1IE1hZ3MgaGFiZW4gZWluIGdyb3NzZXMgTSBtdXNzIG1hbiBlcndhaG5lbiBkYXMgaXN0IHdpY2h0aWcgIQo9OikKCk51biBtYWwgZXJzdCBpY2gga2FubiBtaXIgNTAgZnIuLS0gcHJvIE1vbmF0IG5pY2h0IGxlaXN0ZW4gaWNoIHphaGwgc2Nob24KZ2VudWcgdGVsZWZvbnJlY2hudW5nID06KSkgR3JpbnMuLi4uICBjdSBMZXV0ZSBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3BlbmRlbiAtIHVuZCBkYW5uPyAoRnl0LCAxNi4gTWFyIDE5OTUsIDAxOjI3OjQ2KToKIyEgcm49VG9zcyBydD03OTUyNzEyNzMKQWxzbyBSeW5lLCB3YXMgbnV0enQgKkRpciogZWluIFJhdW0gdm9sbGVyIE1vbnN0ZXIsCm1pdCBkZW5lbiBEdSBudXIgcXVhdHNjaGVuIGthbm5zdCA6KQoKRnl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWb3JzY2hsYWcgKEtsaW5nZSwgMTYuIE1hciAxOTk1LCAxNjoyNDo0NSk6CiMhIHJuPVp1ZXJpbGV1IHJ0PTc5NTMxMjU4OQp3byBzdGVodCBkZW5uIFBybyBNb25hdCA/Pz8/Pwp3ZW5uIGplZGVyIGpld2VpbHMgRUlOTUFMSUcgYmVpIGplZGVyIGxldmVsZXJob2VodW5nIDJETSBiZXJhcHB0LApoYXQgZXIgYXVmIGRhcyBnZXNhbW10ZSBzcGllbCB2ZXJ0ZWlsdCBiaXMgZXIgc2VoZXIgaXN0IDQwRE0gaGluZ2VsZWd0LgphYmVyIGtvbnRpbnVpZXJsaWNoLCBzbyBkYXMgZXMgbmljaHQgc28gd2VoIHR1dDopCmVzIGtvbW1lbiBzdGFlbmRpZyBuZXVlIHNwaWVsZXIgaGluenUgdW5kIHNvbWl0IHd1ZXJkZSBkYXMgTUcgZm9ydGxhdWZlbmQKZmluYW56aWVydC4KcHN5Y2hvbG9naXNjaCB2aWVsIHNjaHdpZXJpZ2VyIGZpbmRlIGljaCBlcyBsZXV0ZSBkaWUgZGFzIHNwaWVsIHF1YXNpCnNjaG9uIGdhbnogZHVyY2hnZXNwaWVsdCBoYWJlbiBkYXp1IHp1IHVlYmVycmVkZW4gZGFzIHNpZSBldHdhcyB3YXMgc29uc3QKdW1zb25zdCBpc3QgbmFjaHRyYWVnbGljaCBub2NoIGJlcmFwcGVuIHNvbGxlbiBvYndvaGwgc2llIGhpZXIgbnVyIG5vY2ggbgpiaXNjaG4gcnVtZHJvZXNlbG4KYXVzc2VyZGVtIHdhZXJlbiBkaWUga29zdGVuIGRhbm4gbmljaHQgbnVyIHZvbiBkZW5lbiBhdWZ6dWJyaW5nZW4gZGllCnp1ZmFlbGxpZ3p1ciB6ZWl0IGVpbmdlbG9nZ3Qgc2luZCwgYmlzIGRlciByZWNobmVyIGdla2F1ZnQgaXN0LCBhdWZnZWJyYWNodC4Kc29uZGVybiBpbW1lciB2b24gZGVuZW4gZGllIGpld2VpbHMgZ2VyYWRlIGFtIHNwaWVsIHRlaWxuZWhtZW4uCndpZSBzb2xsIG1hbiB6dW0gYmVpc3BpZWwgZWluZW0gc2VoZXIgZGVyIG5pY2h0IHdlaXNzIHdpZSBsYW5nZSBlciB1ZWJlcmhhdXB0Cm5vY2ggbWl0c3BpZWxlbiB3aWxsIG9kZXIga2FubihwcnVlZnVuZ3NzdHJlc3MsIGpvYnN1Y2hlLCBkaXBsb21zdHJlc3MsCnN0dWRpZW5uZGUpa2xhcm1hY2hlbiBkYXMgZXIgNTBETSBzcGVuZGVuIHNvbGwgd2VubiB2aWVsZWljaHQgZ3JhZGUgZGFzIGJhZm9lZwphdXNsYWV1dCwgdXN3LgplaW4gbW9lZ2xpY2hlciB2b3JzY2hsYWcgd2FlcmUgbWVpbmVyIGJlc2NoZWlkZW5lbiBtZWludW5nIG5hY2ggZGFzIG5hY2gKZXJyZWljZW4gZGVzIGthdWZwcmVpc2VzIGF1cyBkZW4gc2ljaCBkYXJhdXMgZXJnZWJlbmRlbiBzdGFlbmRpZ2VuIGVpbm5haG1lbgphbiBkaWUgc1NwZW5kZXIgdm9uIGhldXRlIGF1c3phaGx1bmdlbiBnZXRhZXRpZ3Qgd2VyZGVuIHVtIGVpbmUgZ2V3aXNzZQpnZXJlY2h0aWdrZWl0IGhyenVzdGVsbGVuLgpEYXMgbWFsIGFscyBEaXNrdXNzaW9uc2dydW5kbGFnZS4KSmEsIGljaCB3ZWlzcyBkYXNzIGRhcyBhbiBkZW0gcHJpbWFlcmVuIHByb2JsZW0gdm9uIDEwIEtpbG9tYXJrCmFuc2NoYWZmdW5nc3dpZHJzdGFuZCBuaWNodHMgYWVuZGVydCwgYWJlciBkaWUgY2hhbmNlIGVpbmVzIHNwYWV0ZXJlbgpydWVja2F1c2dsZWljaHMga29lbm50ZSB2dGwuIGRpZSBTcGVuZGVuYmVyZWl0c2NoYWZ0IGVyaG9laGVuLCBkZW5rIGljaCBtaXIKbWFsLgoKQmluIGdlc3Bhbm50IGF1ZiBSZWFrdGlvbmVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlbmRlbiAtIHVuZCBkYW5uPyAoWWVuZGksIDE2LiBNYXIgMTk5NSwgMTY6MzA6NDYpOgojISBybj1JbWFyIHJ0PTc5NTIxMDE3NQoKTmFqYSwgd2VubiBlcyBkZXV0bGljaCB3ZW5pZ2VyIGFscyAxMDAwMCwtIHdlcmRlbiwgZGFubiBpc3QgZGFzIE1VRAp3b2hsIGdlc3RvcmJlbi4uLiAqc2NobHVjayoKLi4uIHVuZCBkYW5uIGdpYnRzIG5hdHVlcmxpY2ggZWluZSBNT1JEUy1CRUdSQUVCTklTRkVJRVIhISEgKmdyaW5zKgoKSXJnZW5kd2FzIHdpcmQgdW5zIHNjaG9uIGVpbmZhbGxlbiwga2VpbmUgU29yZ2UuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcm1hZ2VkZG9uIChJcmFzLCAxNi4gTWFyIDE5OTUsIDE3OjA0OjUzKToKTGllYmUgTGV1dGUsCkljaCBob2ZmZSBtYWwsIGRhc3MgaWNoIG1pdCBtZWluZW0gVm9yc2NobGFnIG5pY2h0IHNjaG9uIHdpZWRlciB6dSBzcGFldAprb21tZS4gQWJlciBtaWNoIHN0b2VyZW4gendlaSBEaW5nZTogKDEpIEFybWFnZWRkb24gbmVydnQgb2J3b2hsIGRpZXNlIEFuc2FnZQooMikgZWlnZW50bGljaCBlaW5lIGd1dGUgSWRlZSB3YXIuCiAgIEVzIGdhYiBtYWwgZGllIGZpa3RpdmUgcGVyc29uIEFub255bWVyLCBhdWNoIGZ1ZXIgZWNob3MgaW5zIEFsbGdlbWVpbi4KRGFoZXIgbWVpbiBWb3JzY2hsYWcsIG9iIHdlbm4gZGFzIEFybWFnZWRkb24gbmljaHQgYXV0b21hdGlzY2ggdmVyYXJiZWl0ZW4Ka2FubiwgZGllIEVyem1hZ2llciB1bmQgR29ldHRlciBkZW4gQXJtYS1XZXJ0IHZlcmFlbmRlcnQsIGR5bmFtaXNjaC4KRGFzIGJlZGV1dGV0LCBkYXNzIGplZGVyIFdpeiwgZGVtIGVpbiBTcGllbGVyIG9kZXIgU2VoZXIgZmVzdCB1bmQgdmVyYmluZGxpY2gKZWluZSBuZXVlIFNwZW5kZSB6dXNhZ3QsIGRlbiBXZXJ0IGFlbmRlcnQgdW5kIHVtIGRhcyBlbnRzcHJlY2hlbmRlIHNlbmt0LgogICBBdWYgZGllIFdlaXNlIHdhZXJlIHZlcm1pZWRlbiwgZGFzcyBzY2hlaW5iYXIgZGVuIGdhbnplbiBUYWcgbmljaHRzIHZvcmFuCmdlaHQgdW5kIGltbWVyIG5vY2ggOTAwMCAob2RlciBmYXN0IDgwMDApIGZlaGxlbiwgdW5kIGltbWVybm9jaCBldGMuLi4gIERhcwppc3QgbmFlbWxpY2ggZGVwcmltaWVyZW5kLiBCZWkgVVMtRnVuZHJhaXNpbmcgd2lyZCBkYXMgYXVjaCBpbW1lciBzbyBnZW1hY2h0LgogICBEYSBzZWhlbiBkaWUgTGV1dGUsIGVzIGdlaHQgdm9yYW4sIHVuZCBiZWtvbW1lbiBkYXMgR2VmdWVobDogV0lSIHJldHRlbgp1bnNlciBNb3JnZW5ncmF1ZW4sIGVzIGdlaHQgdm9yYW4sIHdpciBrb2VubmVuIGVzIHNjaGFmZmVuLi4uCgpnZXouIElyYXMgKGltbWVybm9jaCBvcHRpbWlzdGlzY2gsIGRhc3MgZXMgaXJnZW5kd2llIHp1IHJldHRlbiBpc3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJtYWdlZGRvbiAoQ2F0d2VhemxlLCAxNi4gTWFyIDE5OTUsIDE3OjIxOjUxKToKIyEgcm49SXJhcyBydD03OTUzNjk4OTMKSGkhClByaW56aXBpZWxsIGlzdCBkaWUgSWRlZSBndXQgdW5kIGF1Y2gga29yZWt0ZXIsIGFiZXIgZGFzIGlzdCBtaXIgZWhybGljaApnZXNhZ3QgenUgdW5zaWNoZXIuIEVzIGdpYnQgaGllciBiZWkgdW5zIHp1dmllbGUsIGJlaSBkZW5lbiBlcyBuY2lodAphdXN6dXNjaGxpZXNzZW4gaXN0LCBkYW1pdCBmdW56IHp1IGJhdWVuLiBEYXZlcmxhc3MgaWNoIG1pY2ggbGllYmVyIGF1ZgptZWluZSBLb250b2F1c3p1ZWdlLgpVbmQgd2VubiBlcyBkaWNoIGRlcHJpbWllcnQgLi4uIGd1dCA6KSBHZW5hdSBkYXMgc29sbCBlcyEKWW91cnMgdHJ1bHksCiAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxldmVsIGdlZ2VuIEdlbGQgKEdyaW1tYm9ybiwgMTcuIE1hciAxOTk1LCAyMjozNjo1NSk6CkhtbSwgZ2VmYWVsbHQgbWlyIEFVU1NFUk9SREVOVExJQ0ggZGllIElkZWUhIERvY2gsIHdpcmtsaWNoLCBpY2ggYmluCmJlZ2Vpc3RlcnQhIFNvbGx0ZSBtYW4gc28gc2NobmVsbCB3aWUgbW9lZ2xpY2ggZWluZnVlaHJlbiwgYW0gYmVzdGVuIHNjaG9uCmdlc3Rlcm4hCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIExldmVsIDI3LCBiYWxkIGxldmVsIDIxIHVuZCBkZW0gYW5zZWhubGljaGVuIFZlcm1vZWdlbgp2b24gMTIgRE0gZW50Z2VnZW5zZWhlbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpc3RlbiB1bmQgYW5kZXJlcy4uLiAoQmVsZGluLCAxMS4gTWFyIDE5OTUsIDE3OjM5OjAxKSAoVG9hc3Ricm90LCAyMC4gTWFyIDE5OTUsIDA4OjI5OjI1KToKVmllbGVpY2h0IEtvZW5ubnRlIG1hbm4gamEgZWluZmFjaCBnZWRlbmt0YWZlbG4gaW0gTXVkIGFuYnJpbmdlbi4uLgpCc3AuOkRyYWNvIGRlciBFcmJhcm11bmdzbG9zZSBTY2hsYWVjaHRlciBoYWxmIG1pdCBzZWluZXIgU3BlbmRlIGRhcwpNb3JnZW5ncmF1ZW4genUgZXJoYWx0ZW4uLi4Kc2FnIGdhbnogb2huZSBSRUFMIG5hbWUgb2RlciBCZXRyYWcuLi4uQWxzbyBhdWNoIGtlaW4gU3BlbmRlbnp3YW5nLi4uTnVyIHNvCmFscyBBbmVya2VubnVuZyxvZGVyIGFscyBlcnJpbmVydW5nIGRhcyBlcyBtYWwgZWluZSBlY2h0ZSBCZWRyb2h1bmcgZnVlciBkYXMKTUcgZ2FiCihzb3JyeSBpbSBtb21lbnQgbm9jaHQgZ2lidC4KClJvZXN0aSBkZXIgKE5vY2gpbml4IGdlc3BlbmRldCBoYXQuLi4oTXVzcyBlcnN0IHdpZWRlciB6dXIgQmFuawprb21tZW4uU3BhZXRlc3RlbnMgRnJlaXRhZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFybWFnZWRkb24gdW5kIGhpbGZlIHNwZW5kZSAoVHdyZ2wsIDIxLiBNYXIgMTk5NSwgMDk6MTU6MTMpOgpLYW5uIG1hbiBpbiBBcm1hZ2dlZG9uIG5vY2ggZWluZW4gSGlud2Vpc2UgYXVmICdoaWxmZSBzcGVuZGUnIGVpbmJhdWVuID8KZXMgd3VuZGVydCBtaWNoLCBkYXMgbmljaHQgbWVociBMZXV0ZSBnZXNwZW5kZXQgaGFiZW4gYWxzIGluIGRlciBMaXN0ZQpzdGVoZW4sIHZpZWxsZWljaHQgd2FyZW4gZGllCmJpc2hlciBzbyBtaXQgc3BpZWxlbiBiZXNjaGFlZnRpZ3QsIGRhc3Mgc2llIGVzIHVlYmVyc2VoZW4gaGFiZW4uCgpHcnVlc3NlLCBUd3JnbApQLlMuIE5hamEuIEVpbiBkcml0dGVsIGhhYmVuIHdpciBzY2hvbi4gOi0pCiAgICBEaWUgaGFlbGZ0ZSBzY2hhZmZlbiB3aXIgYXVmIGplZGVuIEZhbGwuIExldXRlIGhlbGZ0LCBkYXNzIHdpciBkaWUKYW5kZXJlIGhhZWxmdGUgYXVjaCBub2NoIHNjaGFmZmVuICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwZW5kZW5xdWl0dHVuZ2VuIChDYXR3ZWF6bGUsIDIxLiBNYXIgMTk5NSwgMTY6MzQ6MjcpOgpIaSEKV2lyIGhhYmVuIG1pdHRsZXJ3ZWlsZSByZWxhdGl2IHZpZWxlIHZlcnNjaGllZGVuZSBTcGVuZGVyIHVuZCBpY2gKbW9lY2h0ZSBuaWNodCBqZWRlbSBlaW5lIFNwZW5kZW5xdWl0dHVuZyBzY2hpY2tlbiwgZGEgYXVjaCBkYXMgZGFubgp3aWVkZXIgZWluZSBnZWhvZXJpZ2UgU3VtbWUgd2lyZC4KSWNoIG1vZWNodGUgRXVjaCBkYWhlciBiaXR0ZW4sIF93ZW5uXyBpaHIgZWluZSBRdWl0dHVuZyBicmF1Y2h0LApkYW5uIHNjaGlja3QgbWlyIGVpbmUga3VyemUgTXVkbWFpbC4gRGEgbXVzcyB1bmJlZGluZ3QgRXVyZQpVZWJlcndlaXN1bmcgZHJhdWYgc2Vpbiwgd2FubiBpaHIgc2llIGFiZ2VzY2hpY2t0IGhhYnQgKGRhbWl0CmljaCBuYWNodm9sbHppZWhlbiBrYW5uLCBkYXMgYXVjaCB3aXJrbGljaCBJSFIgZGllIFNwZW5kZQpnZW1hY2h0IGhhYiwgdW5kIHZvciBhbGxlbiBFdXJlIEFkcmVzc2UhIEVzIHJlaWNodCBkYWhlciB6QiBuaWNodAphdWYgZGVuIFVlYmVyd2Vpc3VuZ3NzY2hlaW4gZXVyZW4gbmFtZW4gdW5kICdCaXR0ZSB1bSBRdWl0dHVuZycKZHJhdWYgenUgc2NocmVpYmVuLgpZb3VycyB0cnVseSwKICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwZW5kZW5saXN0ZSAoSG9yc2NoZCwgMjIuIE1hciAxOTk1LCAwNzo0MToyNik6CgpIaS4KCkFlaG0sIGtvZW5udGUgbWFuIGluIGRpZSBTcGVuZGVubGlzdGUgbmljaHQgbm9jaCBlaW4gJ21vcmUnIGVpbmJhdWVuPwpXaXJkIHNvIGxhbmdzYW0gYWJlciBzaWNoZXIgbm9ldGlnLgoKSG9yc2NoZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWNodGlnZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgKFZpcGVyLCAyMy4gTWFyIDE5OTUsIDE1OjAzOjMyKToKCkhhbGxvIGxpZWJlIFZlcmVpbnNtaXRnbGllZGVyLAoKaWNoIGhhYmUgZGllIEVocmUgRXVjaCB6dSBlaW5lciB3aWNodGlnZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGVpbmxhZGVuCnp1IGR1ZXJmZW4uIERpZSBUZWlsbmFobWUgbW9lZ2xpY2hzdCBhbGxlciBNaXRnbGllZGVyIGlzdCB3dWVuc2NoZW5zd2VydCwKZGEgZWluIHdpY2h0aWdlciBQdW5rdCBhdWYgZGVyIFRhZ2Vzb3JkbnVuZyBzdGVodC4gKHMudS4pCgpPcnQ6IE1hdGhlbWF0aXNjaGVzIEluc3RpdHV0IGRlciBVbmkgTXVlbnN0ZXIsIFJhdW0gNjAyClplaXQ6IERpLCAxOC4wNC4xOTk1IDE5LjAwIFVocgoKRGllIFRhZ2Vzb3JkbnVuZzoKMSkgQmVncnVlc3N1bmcgZHVyY2ggZGVuIFZvcnNpdHplbmRlbgoyKSBCZXNjaGx1c3NmYXNzdW5nIHVlYmVyIGRpZSBBbnNjaGFmZnVuZyBlaW5lcyBSZWNobmVycwozKSB2ZXJzY2hpZWRlbmVzCgpNZXJrdCBFdWNoIGRpZXNlbiBUZXJtaW4gZ3V0IHZvciB1bmQga29tbXQgemFobHJlaWNoIQpXaWUgaGVpc3N0IGVzIGRvY2g6ICJXaXIgemFobGVuIGF1ZiBFdWNoISIKV2llIGhlaXNzdCBlcyBkb2NoOiAiV2lyIHphZWhsZW4gYXVmIEV1Y2ghIiAoZGllIFplaWxlIHZvcmhlciBpZ25vcmllcmVuOikpCgogICBWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFoISAoQ2F0d2VhemxlLCAyNC4gTWFyIDE5OTUsIDE4OjMxOjQ0KToKSGFoYWFhYSEKTnVyIG5vY2ggMTYwMCAuLi4uCldpciB3ZXJkZW4gZXMgc2NoYWZmZW4gOikKSWNoIHdlaXNzIGVzIDopCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhaCEgKFNjaHJ1bXBmaSwgMjUuIE1hciAxOTk1LCAxMzoyMzowMik6CiMhIHJuPUNhdHdlYXpsZSBydD03OTYwNjYzMDQKSmEgaWNoIHdlaXNzIGVzIGF1Y2gsIGhhYnMgaW1tZXIgZ2V3dXNzdCEhICpydW1odWVwZiwgZnJldSwga3JlaXNjaCwganViZWwqCgpTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYWghIChHdXlicnVzaCwgMjYuIE1hciAxOTk1LCAxOTowMjo1Nik6CiMhIHJuPUNhdHdlYXpsZSBydD03OTYwNjYzMDQKKnNldWZ6KgpBcm1lIEFyYmVpdCA6KSkpKSkpKSkKKnNldWZ6Li4uLi4uZ3JpbnMuLi4uZnJldSoKCkd1eWJydXNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhhaCEgKFB0ZXBwaWMsIDI3LiBNYXIgMTk5NSwgMDg6NTg6MDgpOgojISBybj1HdXlicnVzaCBydD03OTYyMzczNzYKdW5kIGljaCBkYWNodGUgc2Nob24gaWNoIGtvbW0gd2llZGVyIG1hbCB6dW0gc3R1ZGllcmVuLi4uCnNjaGFkZS4uLiAqZ3JpbnMqCgpQVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMTAyMjEgLCB3YW5uIHN0ZWlndCBkaWUgUGFydHkgPyAoVHdyZ2wsIDI4LiBNYXIgMTk5NSwgMTk6MjU6MjcpOgogOi0pIDstKSA7LSkKClR3cmdsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcyByZWljaHQhIChDYXR3ZWF6bGUsIDMwLiBNYXIgMTk5NSwgMTg6MDQ6MDIpOgpUamEhClNvIHdpZXMgYXVzc2NoYXV0IHVlYmVyc3RlaWdlbiB1bnNlcmUgZmluYW56aWVsbGVuIE1pdHRlbCBtaXR0bGVyd2VpbGUKdGF0c2FlY2hsaWNoIGRpZSB2b3JyYXVzc2ljaHRsaWNoZW4gUmVjaG5lcmtvc3RlbiB1bSBlaW5lbiBhdXNyZWljaGVuZGVuCkJldHJhZy4KRGFoZXIga2FubiBpY2ggRXVjaCB3b2hsIG1pdHRlaWxlbjogV2lyIGhhbW1zIEdFU0NIQUZGVCEhIQpZb3VycyB0cnVseSwKICAgICAgICBDYXR3ZWF6bGUKClBTOiBBY2hzbywgamEsIHNlbGJzdHZlcnN0YWVuZGxpY2ggbW9lY2h0ZSBpY2ggbWljaCBiZWkgamVkZW0gYXVmcyBhbGxlci0KICAgIGhlcnpsaWNoc3RlIHVuZCBnbHVlY2tsaWNoc3RlIGJlaSBhbGxlbiBkaWUgZ2VzcGVuZGV0IGhhYmVuIGZ1ZXIgaWhyZQogICAgZ3Jvc3N6dWVnaWdlIFNwZW5kZSBkYW5rZW4uIE9obmUgRXVjaCBoYWV0dGVuIHdpcnMgbmllIGdlc2NoYWZmdCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVpbmxvZ2dtZWxkdW5nIChTbnVnZ2xlLCAgMi4gQXByIDE5OTUsIDE2OjMyOjIzKToKSGFsbG8gYWxsZSwgYmVzb25kZXJzIGRpZSBWZXJlaW5zdmVyYW50d29ydGxpY2hlbi4KTmFjaGRlbSBkYXMgTW9yZ2VuZ3JhdWVuIGpldHp0IHp1bmFlY2hzdCBtYWwgZ2VyZXR0ZXQgc2NoZWludCwga29lbm50ZSBtYW4KCmRhIG5pY2h0IGRpZSBoaWxmZSBzcGVuZGUgbGVzZW4tZWlubG9nZ21lbGR1bmcgYXVzc2NoYWx0ZW4/IFNpZSBzdG9lcnQgendhcgpuaWNodCB3ZWl0ZXIsIGFiZXIgZXMgZW50c3ByaWNodCBlaW5mYWNoIG5pY2h0IG1laHIgZGVtIGFrdHVlbGxlbiBTdGFuZC4KWnVtaW5kZXN0IHNvbGx0ZSBkZXIgVGV4dCB2b24gSGlsZmUgc3BlbmRlIGdlYWVuZGVydCB3ZXJkZW4uLi4hbgpTbyBydWZ0IGlociB6dSBTcGVuZGVuIGZ1ZXIgbmUgU2FjaGUgYXVmLCBkaWUgbGFuZWdzdCBnZWtsYWVydCBpc3QuLgpKdXN0IElNSE8KU251Z2dsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGVpbmxvZ2dtZWxkdW5nIChLcmV0ZWssICAyLiBBcHIgMTk5NSwgMjA6MDU6NDIpOgojISBybj1TbnVnZ2xlIHJ0PTc5NjgzMzE0MwouLi4gV29iZWkncyBkb2NoIGFiZXIgc2ljaGVyIG5pY2h0IHNjaGFkZW4ga2Fubiwgd2VubiBkaWUgTGV1dGUgbm9jaAplaW4gYmlzc2NoZW4gd2VpdGVyIHNwZW5kZW4uIFNjaGxpZXNzbGljaCBpc3QncyBtaXQgZGVtIFJlY2huZXIgYWxsZWluCmphIG5vY2ggbmljaHQgZ2V0YW4sIHdpciBicmF1Y2hlbiBzcGFldGVyIGphIG1pdCBTaWNoZXJoZWl0IG1hbCAiRXJzYXR6LQp0ZWlsZSIgdW5kIHNvLi4uIFNwcmljaCwgZWluIGtsZWluZXMgKG9kZXIsIGJlc3NlciBuYXR1ZXJsaWNoLCBncm9zc2VzISkKRmluYW56cG9lbHN0ZXJjaGVuIHNjaGFkZXQgdW5zIGFsbGVuIHNpY2hlciBuaWNodCEgRWluZSBBa3R1YWxpc2llcnVuZwpkZXMgSGlsZmUtVGV4dHMgaXN0LCB3aWUgaWNoIHVuc2VyZSBmbGVpc3NpZ2VuIHVuZCBmYWVoaWdlbiBNYWdpZXIga2VubmUKKCoqKmVpbnNjaG1laWNoZWwqKiopLCBzaWNoZXIgc2Nob24gaW4gQXJiZWl0ISA6KQoKVHNjaHVlc3NpLAogICAgIF8gICBfXyBfX18gIF9fCnwgLyB8IFwgfCAgICB8ICB8ICAgfCAvCnwvICB8Xy8gfF8gICB8ICB8XyAgfC8KfFwgIHxcICB8ICAgIHwgIHwgICB8XAp8IFwgfCBcIHxfXyAgfCAgfF9fIHwgXAoKU3BlbmRldCBnYW56IGJlc3RpbW10IG5vY2gsIHdlbm4gZXIgd2llZGVyIGluIERldXRzY2hsYW5kIGlzdC4uLiBIaWVyIHZvbgpkZW4gVVNBIGF1cyBoYXQncyBtZWluZSB1bmZhZWhpZ2UgQmFuayBpcmdlbmR3aWUgbmljaHQgYXVmIGRpZSBSZWloZQpiZWtvbW1lbiwgJ25lIFVlYmVyd2Vpc3VuZyBuYWNoIERldXRzY2hsYW5kIGF1ZiBkZW4gV2VnIHp1IGJyaW5nZW4sIHVuZAptZWluZW4gT2J1bHVzIHdpbGwgaWNoIGphIGF1Y2ggZW50cmljaHRlbiwgYXVjaCwgd2VubiBlciBqZXR6dCBuaWNodCBtZWhyCnp1ciAiTGViZW5zcmV0dHVuZyIgYmVub2V0aWd0IHdpcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXJkd2FyZWthdWYgKEtpcmssIDEyLiBBcHIgMTk5NSwgMTE6MzY6MTMpOgpIYWxsbyEKCkljaCBkYW5rZSBhbGxlbiwgZGllIHNpY2ggYW4gZGVyIFNwZW5kZW5ha3Rpb24gYmV0ZWlsaWd0IGhhYmVuISEhCgpJY2ggbW9lY2h0ZSBhbiBkaWVzZXIgU3RlbGxlIG5vY2htYWwgZGFydW0gYml0dGVuLCBkYXNzIG1vZWdsaWNoc3QgdmllbGUKZGVtIFZlcmVpbiBiZWl0cmV0ZW4sIHdlaWwgd2lyIGxhdWZlbmRlIEtvc3RlbiBoYWJlbiwgZGllIHdpciBudXIgdWViZXIKcmVnZWxtYWVzc2lnZSBCZWl0cmFlZ2UgYWJkZWNrZW4ga29lbm5lbi4gRGFydW50ZXIgZmFlbGx0IHouQi4gZWluZQpWZXJzaWNoZXJ1bmcgZnVlciBkZW4gUmVjaG5lciBnZWdlbiBEaWVic3RhaGwsIFVlYmVyc3Bhbm51bmdzc2NoYWVkZW4sIGV0Yy4KRGVyIE1pdGdsaWVkc2JlaXRyYWcgYmV0cmFlZ3QgMjRETS9KYWhyIHVuZCBpc3Qgc2ljaGVybGljaCBmdWVyIGplZGVuCmVyc2Nod2luZ2xpY2guCgpFcyBpc3QgYWxzbyBzb3dlaXQsIHdpciBoYWJlbiBzb3ZpZWwgR2VsZCB6dXNhbW1lbiwgZGFzcyB3aXIgenVtaW5kZXN0CmRlbiBSZWNobmVyIGthdWZlbiBrb2VubmVuLiBJbiBkaWVzZW0gWnVzYW1tZW5oYW5nIG1vZWNodGUgaWNoIGV1Y2gKYWxsZSBkYXJhdWYgaGlud2Vpc2VuLCBkYXNzIGFtIDE4LjQuIGVpbmUgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcwpGb2VyZGVydmVyZWlucyBzdGF0dGZpbmRldCwgenUgZGVyIGFsbGUgTWl0Z2xpZWRlciB1bmQgYXVjaCBOaWNodC0KbWl0Z2xpZWRlciBoZXJ6bGljaCBlaW5nZWxhZGVuIHNpbmQuIEF1ZiBkZXIgVmVyc2FtbWx1bmcgc29sbApiZXNjaGxvc3NlbiB3ZXJkZW4sIHdlbGNoZSBIYXJkd2FyZSBhbmdlc2NoYWZmdCB3aXJkLgoKV2FubjogMTguNC4sIDE5OjAwCldvOiBNYXRoZS1Ib2NoaGF1cywgWmltbWVyIDYwMgoKVGFnZXNvcmRudW5nOgoxLiBFcm9lZmZudW5nCjIuIERpc2t1c3Npb24gdW5kIEJlc2NobHVzcyBkZXMgaGFyZHdhcmVrYXVmcwozLiBWZXJzY2hpZWRlbmVzCgooYW5zY2hsaWVzc2VuZCBTdGFtbXRpc2NoIGltIE9iaW5hISEhKQoKQml0dGUgdW50ZXJzdHVldHp0IGRhcyBNRywgaW5kZW0gaWhyIE1pdGdsaWVkIHdlcmRldCEhIQoKCktpcmsKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRnbGllZGVydmVyc2FtbWx1bmcgKEtpcmssIDE5LiBBcHIgMTk5NSwgMTI6Mzk6MjYpOgpIYWxsbyEKCkhpZXIgZWluIGt1cnplciBCZXJpY2h0IHVlYmVyIGRpZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgYW0gMTguNC46CgpFcyB3YXJlbiAxMiBzdGltbWJlcmVjaHRpZ3RlIE1pdGdsaWVkZXIgYW53ZXNlbmQKWnVyIEFic3RpbW11bmcgc3RhbmQgZGVyIGZvbGdlbmRlIFZvcnNjaGxhZzoKCiBBU1VTIER1YWwtUGVudGl1bSBCb2FyZCBtaXQgZWluZXIgUDkwIENQVQogMjU2a0IgQ2FjaGUKIDQqMzJNQiBQUy8yIFNJTU1TCiBIUC0xR0IgSGFyZGRpc2sKIEFkYXB0ZWMgMjk0MlcgV2lkZS1TQ1NJIENvbnRyb2xsZXIKIDEuNDRNQiBGbG9wcHkKIDkiIGIvdyBNb25pdG9yCiBWR0EtS2FydGUKCiBQcmVpczogMTAyOTYgRE0KCmRlcyB3ZWl0ZXJlbiB3dXJkZSBkaWUgQXVmcnVlc3R1bmcgZGVzIENhY2hlIGF1ZiA1MTJrQiB1bmQgZXZ0bC4gZGVyCkVyd2VyYiBlaW5lciB6d2VpdGVuIENQVSB2b3JnZXNjaGxhZ2VuIChuYWNoZGVtIGRpZSBVbnRlcnN0dWV0enVuZyBzZWl0ZW5zCmRlcyBPUyBnZWdlYmVuIGlzdCB1bmQgZHVyY2ggZWluZW4gVGVzdCBiZWxlZ3Qgd2VyZGVuIGthbm4sIGRhc3MgZGllClBlcmZvcm1hbmNlIGRlcyBTeXN0ZW0gZGFkdXJjaCBtZXJrbGljaCBnZXN0ZWlnZXJ0IHdpcmQpCgpEaWVzZXIgVm9yc2NobGFnIHd1cmRlIGVpbnN0aW1taWcgYW5nZW5vbW1lbi4KClVudGVyIFRvcCAiVmVyc2NoaWVkZW5lcyIgd3VyZGUgZGVyIEFic2NobHVzcyBlaW5lciBWZXJzaWNoZXJ1bmcgZnVlciBkZW4KUmVjaG5lciB2b3JnZXNjaGxhZ2VuLCBkaWUgRGllYnN0YWhsLCBGZXVlci0gdW5kIFdhc3NlcnNjaGFkZW4sIHNvd2llCnRlY2huaXNjaGUgRGVmZWt0ZSBlaW5zY2hsaWVzc3QgdW5kIGRpZSBBbnNjaGFmZnVuZyBlaW5lcyBOZXR6ZmlsdGVycyBnZWdlbgpVZWJlcnNwYW5udW5nLgpEYSBub2NoIGtlaW5lIEtvc3RlbiBlaW5lciBzb2xjaGVuIFZlcnNpY2hlcnVuZyB2b3JsaWVnZW4sIHd1cmRlIGRlcgpWb3JzdGFuZCBlaW5zdGltbWcgYmV2b2xsbWFlY2h0aWd0IGJpcyB6dSBlaW5lciBIb2VjaHN0Z3JlbnplIHZvbiA1MDAgRE0vSmFocgplaW5lIHNvbGNoZSBWZXJzaWNoZXJ1bmcgYWJ6dXNjaGxpZXNzZW4uCgpFaW4gd2VpdGVyZXIgUHVua3Qgd2FyIGRpZSBEdXJjaGZ1ZWhydW5nIGVpbmVzIExQQy1TZW1pbmFycywgd2VsY2hlcyBhbQoyNC4gSnVuaSBkaWVzZW4gSmFocmVzIHN0YXR0ZmluZGVuIHNvbGwuIEhpZXJ6dSB3aXJkIGRlbW5hZWNoc3Qgbm9jaCB3ZWl0ZXJlCkluZm8gZm9sZ2VuLgoKU293ZWl0IGVyc3RtYWwgLi4uCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGVuZGVuUXVpdHR1bmcgKENhdHdlYXpsZSwgMTguIE1haSAxOTk1LCAxOToyNTo1MSk6CkhpIQpTbywgaWNoIHdlcmRlIGFtIFdFIG1hbCBhbmZhbmdlbiBRdWl0dHVuZ2VuIHp1IHNjaHJlaWJlbi4KSWNoIHNjaGlja2Ugd2VsY2hlIGFuIGZvbGdlbmRlIFBlcnNvbmVuOgotIEhpZ2hsYW5kZXIKLSBLZXRvcwotIFRob21hcyBNYXlybGVjaG5lcgotIEZpcHBzCi0gUm9hZHJ1bm5lcgotIEhhdGUKLSBUd3JnbAotIFNpbHZhbmEKUmFscGggU2Nod2FldHplcgotIEZ5dAotIExldXNlbAotIFZlcmVpbiBkZXIgRnJldW5kZSBNeXJhcyBlVgotIEFsaW5lCi0gWmVwaHlyCgpTbywgd2VyIG5pY2h0IGluIGRpZXNlciBMaXN0ZSBzdGVodCB1bmQgdHJvdHpkZW0gZWluZSBoYWJlbiB3aWxsOgpNaXIgZGllIGtvbXBsZXR0ZSBBZHJlc3NlIG1haWxlbi4KV2VyIGhpZXIgZHJhdWYgc3RlaHQgdW5kIGtlaW5lIGhhYmVuIHdpbGwsIGF1Y2gga3VyeiBtaXR0ZWlsZW4sIGljaApzcGFyIHZpZWwgYXJiZWl0Li4KWW91cnMgdHJ1bHksCiAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmVpbnN2ZXJzYW1tbHVuZyAoQ2F0d2VhemxlLCAxNy4gSnVsIDE5OTUsIDIwOjA0OjI4KToKW1ZlcmxlZ3Qgdm9uIHBhcnR5LCBBcmFueWEsIDE3LiBKdWwgMTk5NSwgMTU6MTU6MzFdOgpOYWphLCBudW4gYmluIGljaCBzY2hvbiBtYWwgTWl0Z2xpZWQgaW0gRm9lcmRlcnZlcmVpbiB1bmQgYmV6YWhsZSBhdWNoIG1laS0KbmVuIE9idWx1cy4gS29lbm50ZW4gd2lyIGRhIG5pY2h0IGFubGFlc3NsaWNoIGRlciBQYXJ0eSBlaW5lIFZlcmVpbnN2ZXJzYW1tLQpsdW5nIGFiaGFsdGVuPyBXZWlsIGljaCBkb2NoIHNvbnN0IG5pZSBuYWNoIE11ZW5zdGVyIGtvbW1lLiBPZGVyIHNpbmQgc29uc3QKa2VpbmUgb2RlciB3ZW5pZ2UgVmVyZWluc21pdGdsaWVkZXIgYW53ZXNlbmQ/CkFyYW55YQogICAgICBWZXJlaW5zbWVpZXJpbgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJlaW5zdmVyc2FtbWx1bmcgKEtpcmssIDI2LiBKdWwgMTk5NSwgMDA6MTE6MTYpOgojISBybj1DYXR3ZWF6bGUgcnQ9ODA2MDA0MjY4CktvZW5uZW4gd2lyIHNpY2hlcmxpY2ggbWFjaGVuLiBWb3JzY2hsYWVnZSBmdWVyIGRpZSBUYWdlc29yZG51bmc/CkFuc29uc3RlbiB3aXJkIGltIFJhaG1lbiBkZXIgUGFydHkgZXJzdG1hbCBlaW4gU2VtaW5hciB6dSBUaGVtZW4gcnVuZCB1bQpMUEMgdW5kIE9PUCBzdGF0dGZpbmRlbiwgYWJlciB3ZW5uIGVpbmUgVmVyZWluc3ZlcnNhbW1sdW5nIHNpbm52b2xsIHVuZApnZXd1ZW5zY2h0IGlzdCwga29lbm5lbiB3aXIgZGFzIHNpY2hlcmxpY2ggbWFjaGVuLgoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVkVSRUlOIChDYXR3ZWF6bGUsIDEwLiBOb3YgMTk5NSwgMTI6MjI6MDIpOgpbVmVybGVndCB2b24gYW56ZWlnZW4sIFJ1ZGlyYXR0ZXIsICA5LiBOb3YgMTk5NSwgMjA6MDE6MjJdOgpVbnNlciBNRyBpc3QgZ2FueiBzY2hvZW4gdm9sbCBnZXdvcmRlbiwgd2VubiBpY2ggZGEgYW4gbWVpbmUgSnVnZW5kdGFnZSBoaWVyCmRlbmtlLi4uIC11bmQgdHJvdHpkZW0gc2luZCBudXIgdW5nZWZhaGVyIDYwIE11ZGRlciBpbSBWZXJlaW4sIHNvIGRhc3MgaWNoCmhpZXIgbWFsIGVpbmVuIE1lY2tlcmJyaWVmIGFuIGFsbGUgTmljaHRWZXJlaW5zbWl0Z2xpZWRlciBhbmJyaW5nZW4gd2lsbC4KClZpZWxsZWljaHQgZ2lidCdzIGhpZXIgamEgYXVjaCBuZXVlIExldXRlLCBkaWUgZ2FyIG5pY2h0cyB3aXNzZW4gdm9uIGRlcgpnYW56ZW4gU2FjaGU/IQoKQWxzbywgdm9yIGVpbmlnZXIgWmVpdCBtdXNzdGUgZGFzIE1HIGF1ZiBlaW5lbiBhbmRlcmVuIFJlY2huZXIgdW16aWVoZW4sIGRlcgphdXMgU3BlbmRlbiBkZXIgZ2FuemVuIE1HLUZhbWlsaWUgZ2VrYXVmdCB3dXJkZS4gRnVlciBkaWVzZW4gUmVjaG5lciBmYWxsZW4KbmF0dWVybGljaCB0cm90emRlbSB3ZWl0ZXJoaW4gS29zdGVuIGFuLGV0d2EgZnVlciBkaWUgVmVyc2ljaGVydW5nLCBkaWUgZnVlcgppaG4gYWJnZXNjaGxvc3NlbiB3dXJkZSwgdW5kIGxhdWZlbmRlIFJlcGFyYXR1cmVuLiBadXIgWmVpdCB3ZXJkZW4gZGllc2UKS29zdGVuIGF1cyBkZW4gTWl0Z2xpZWRzYmVpdHJhZWdlbiBkZXMgVmVyZWlucyBnZWRlY2t0IC11bmQgZGFzIHNpbmQgcHJvIEtvcGYKTEFFQ0hFUkxJQ0hFIDI0IERNICh2aWVydW5kendhbnppZywgamEsIGdhbnogcmVjaHQpIHBybyBKQUhSICghISkgLCBlaW5lIFN1bW1lCmFsc28sIGRpZSBzZWxic3QgZGVyIGFlcm1zdGUgTXVkZGVyIHVudGVyIEV1Y2ggYXVmYnJpbmdlbiBrb2VubmVuIG11ZXNzdGUuCkRlciBWZXJlaW4gd3VyZGUgYWxzIGdlbWVpbm51ZXR6aWcgZWluZ2V0cmFnZW4sIHNvIGRhc3MgbWFuIGZ1ZXIgU2VtaW5hcmUKdXN3LiBadXNjaHVlc3NlIGRlciBvZWZmZW50bGljaGVuIEhhbmQgYmVhbnRyYWdlbiBrYW5uLCBkaWUgc2ljaCBpbiBpaHJlcgpIb2VoZSB3aWVkZXJ1bSBuYWNoIGRlciBBbnphaGwgZGVyIE1pdGdsaWVkZXIgcmljaHRlbi4KLVVuZCBuZWJlbmJlaSBrb2VubmVuIEdyb3NzdmVyZGllbmVyIGFsbGUgU3BlbmRlbiB2b24gZGVyIFN0ZXVlciBhYnNldHplbi4KQWxzbywgaXN0IGRhcyBuaWNodCBHcnVuZCBnZW51ZywgTWl0Z2xpZWQgenUgd2VyZGVuPz8/PwoKQWxzbywgcmFmZnQgRXVjaCBhdWYsIGxlc3QgZGllIG5hZWhlcmVuIERldGFpbHMgYXVmIGRlciBXV1ctU2VpdGUgb2RlciBmcmFndApydW0gdW5kIFdFUkRFVCBFTkRMSUNIIE1JVEdMSUVELgoyNCBETSBzb2xsdGUgamEgd29obCBqZWRlbSBkYXMgTVVEIGhpZXIgd2VydCBzZWluIC1vZGVyPwoKUnVkaXJhdHRlciAtbmF0dWVybGljaCBWZXJlaW5zbWl0Z2xpZWQhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZFUkVJTiAoQ2F0d2VhemxlLCAxMC4gTm92IDE5OTUsIDEyOjIyOjQ5KToKIyEgcm49Q2F0d2VhemxlIHJ0PTgxNjAwMjUyMgpTY2hvZW4sIGRhcyBhdWNoIG5vY2ggamVtYW5kIGFuZGVyZXMgYW4gZGVuIFZlcmVpbiBkZW5rdCA6KQoKT2ssIGljaCBoYWIgendlaSBOZXdzLCBlaW5lIGd1dGUsIGVpbmUgc2NobGVjaHRlIQpadWVyc3QgZGllIHNjaGxlY2h0ZSwgaWNoIHdlcmQgamV0enQgYmVpIGFsbGVuIE1pdGdsaWVkZXJuLCBiZWkgZGVuZW4gaWNoCmVzIG5vY2ggbmljaHQgZ2VtYWNodCBoYWJlLCBkZW4gTWl0Z2xpZWRzYmVpdHJhZyBmdWVyIGRpZXNlcyBKYWhyIGVpbi0KemllaGVuLiBJc3MgbmVuIGJpc3NjaGVuIHNwYWV0LCBhYmVyIGVzIHN0b2VydCB3b2hsIG5pY2h0LCBvZGVyPyBKYSwgUnVkaSwKdm9uIERlaW5lbSBLb250byBhdWNoIDopKQpFaW4ga2xlaW5lciBIaW53ZWlzOiBXZW5uIHNpY2ggRXVyZSBCYW5rdmVyYmluZHVuZyBhZW5kZXJ0LCBTT0ZPUlQgamVtYW5kZW0KYXVzIGRlbSBWZXJlaXNudm9yc3RhbmQgbWl0dGVpbGVuIHVuZCB1LlUuIG5lIG5ldWUgRWluenVnc2VybWFlY2h0aWd1bmcKenVzY2hpY2tlbiEgV2lyIGhhYmVuIHNvbnN0IGVyaG9laHRlIEtvc3Rlbiwgd2VubiB3YXMgYmVpbSBFaW56aWVoZW4Kc2NoaWVmIGdlaHQuCk9rLCBqZXR6dCBkaWUgZ3V0ZSBOYWNocmljaHQ6IERlciBNRy1QQyB3aXJkIEFVRkdFUlVFU1RFVCEhISEKV2lyIGhhYmVuIG5vY2ggZWluIHBhYXIgU3BlbmRlbmdlbGRlciB1ZWJlciwgdW5kIGp1ZW5nc3QgZWluIFNwZW5kZW4tCmFuZ2Vib3QgdWViZXIgZWluZW4gc2NobmVsbGVuIFByb3plc3NvciBiZWtvbW1lbi4gRGEgdW5zZXIgamV0emlnZXMgQm9hcmQKbmljaHQgb2huZSB3ZWl0ZXJlcyBtaXQgZWluZW0gUDEyMCB6dXJlY2h0a29tbXQsIGhhYmVuIHdpciB1bnMgZW50c2NobG9zc2VuCmdsZWljaCBlaW4gbmV1ZXMgenUga2F1ZmVuLCB1bmQgendhciBkYXMgbmV1ZSBYRSBib2FyZCB2b24gQVNVUy4KV2lyIGVyaG9mZmVuIHVuZCBkdXJjaCBkZW4gbmV1ZW4gUHJvemVzc29yIGVpbmUgZ2VzY2h3aW5kaWdrZWl0c3N0ZWlnZXJ1bmcKdm9uIG1pZGVzdGVucyAxNS0yMCUuIEdlbmF1c292aWVsIHNvbGx0ZSBkYXMgbmV1ZSBCb2FyZCBicmluZ2VuLCBkZW5uIGRhCmlzdCBuZW4gbmV1ZXIgUEItQ2FjaGUgZHJhdWYgKHRvbGxlIHRlY2hub2xvZ3kpLiBJbnNnZXNhbXQsIHNvbGx0ZQpkYXMgbXVkIG1pbmRlc3RlbnMgMzAlIHNjaG5lbGxlciB3aXJkLgpXZW5uIGRhcyBHZWxkIGRhbm4gbm9jaCByZWljaHQsIHdlcmRlbiB3aXIgdW5zIGF1Y2ggbm9jaCBuZSBzY2huZWxsZXJlClBsYXR0ZSBrYXVmZW4gKDJHQiwgZW50d2VkZXIgcXVhbnR1bSBvZGVyIElCTSksIGRpZSBhbHRlIGlzdApuYWVtbGljaCBmYXN0IHZvbGwgKDU0MCBNQiBNdWRsaWIsIHdld25uIGljaCBtaWNoIHJlY2h0IGVyaW5uZXJlKS4KRnVlciBlcnN0ZSB5b3VycyB0cnVseSwKICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWRVJFSU4gKENyZWF0aXZlLCAxMC4gTm92IDE5OTUsIDEyOjQ2OjAzKToKIyEgcm49Q2F0d2VhemxlIHJ0PTgxNjAwMjU2OQoKaG1tbS4uLiBUUDU1WEUgZmluZCBpY2ggZ3V0LCB3ZW5uIG1vZWdsaWNoIG1pdCA1MTIgS0IgQnVyc3QgU1JBTSA7KQpBYmVyIGljaCBnbGF1YiwgZGllIDUxMiBTdGVpbmUgc2luZCBub2NoIG5ldCBsaWVmZXJiYXIsIHdhcmVuIHNpZSBqZWRlbmZhbGxzCmJpcyB2b3Iga3VyemVtLgoyNTYgc2luZCBqZWRlbmZhbGxzIChsdC4gbWVpbmVuIFRlc3RzKSBhdWYgbmVtIFBlbnRpdW0gOTAvMTAwIHZvZWxsaWcKaWRlbnRpc2NoIHZvbSBzcGVlZCBoZXIgd2llIDUxMiBLQiBrb252ZW50aW9uZWxsZXIgY2FjaGUsIGRhIGRhcyBib2FyZAp6dXNhZXR6bGljaCBuZSBndXRlIFdUL1dCIENhY2hlIHVudGVyc3R1ZXR6dW5nIGhhdC4KQXVmIG5lbSBQMTMzIGFsbGVyZGluZ3MsIGRlciBkb2NoIHZpZWxsZWljaHQgYXVmbSBNRy1SZWNobmVyIGtvbW1lbiBzb2xsLAppc3QgZGVyIEdld2lubiBnZWlsLCBzYWdlIHVuZCBzY2hyZWliZSA0MCAlIGJlaSBSYW5kb20gUkFNLUFjY2VzcyEhISA7KQpOYWVjaHN0ZSB1ZWJlcmxlZ3VuZyB3YWVyZSB2aWVsbGVpY2h0LCBFRFUtUkFNIHp1IGJlbnV0emVuLCBudXV1dXIgc2luZCBkaWUKRGluZ2VyIGEpIHNjaHdlaW5ldGV1ZXIsIGIpIG5pY2h0IGxpZWZlcmJhciwgYykgYXVzdmVya2F1ZnQgYmlzIGluIDQgV29jaGVuCm9kZXIgc28gKFN0YW5kIHZvciAzIFdvY2hlbiwgdmllbGxlaWNodCBoYXQgc2ljaCB3YXMgZ2VhZW5kZXJ0LCBhdXNzZXJkZW0gaXN0CmRhcyBTdGFuZCBPZXN0ZXJyZWljaCwgYWxzbyAqenVjayopCkhhYmVuIGFiZXIgZGFubiBoYWx0IGF1Y2ggbm9jaCBuZW4gbmV0dGVuIEdlc2Nod2luZGlna2VpdHNnZXdpbm4sIHVuZCBhdWYKZGVuIGtvZW1tdHMgamEgYXVjaCBhbiwgbmFlbWxpY2ggZGVuIFJBTS1BY2Nlc3MgenUgbWluaW1pZXJlbiA7KQoKSGFyZHdhcmVzcGV6aWFsaXN0IC1DcmVhLSAoPykKUC5TLjogQmVpIEZyYWdlbiwgd2VuZGV0IGV1Y2ggYW4gbWljaCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZFUkVJTiAoQ2F0d2VhemxlLCAxMC4gTm92IDE5OTUsIDEzOjE5OjU4KToKIyEgcm49Q3JlYXRpdmUgcnQ9ODE2MDAzOTYzCkR1IGhhc3QgcmVjaHQsIGluIDUxMktCLWdyb2Vzc2UgZ2lidCBlcyBtb21lbnRhbiBudXIgYXN5bmNocm9uZW4gU1JBTSwKd2lyIHdvbGxlbiBuYXR1ZXJsaWNoIHN5bmMtY2FjaGUgaGFiZW4uIERpZXNlciBzb2xsdGUgZGFubiBhdWNoIGRldXRsaWNoCnNjaG5lbGxlciBzZWluLCBhbHMgZGVyIG5vcm1hbGUgNTEyLCBlaW5mYWNoLCB3ZWlsIGRpZSB6dWdyaWZmZQpzY2huZWxsZXIgc2luZC4KTGVpZGVyIGtvZW5uZW4gd2lyIGtlaW5lbiBQMTMzIGF1ZiBkYXMgYm9hcmQgc2V0emVuLiBGdWVyIGVpbmVuIFAxMzMKYnJhZXVjaHRlbiB3aXIgNjBucy1TSU1NUywgZGllIHdpciBuaWNodCBoYWJlbiwgZGllIGF1c3NlcmRlbQpTY2h3ZWluZXRldWVyIHNpbmQgdW5kIEFVQ0ggbmlyZ2VuZHMgenUgYmVrb21tZW4uIE1hbiBLQU5OIGRlbiBQMTMzCmF1Y2ggbWl0IDcwbnMtU0lNTVMgZmFocmVuLCBhbGxlcmRpbmdzIG11c3MgZGFmdWVyIGt1ZW5zdGxpY2gKZWluIHdhaXQtc3RhdGUgZWluZ2VsZWd0IHdlcmRlbiwgd2FzIGRlciBMZWlzdHVuZyBkZXMgMTMzZXJzIHdvaGwKbWVociBhbHMgMTNNSFogc2NoYWVuIGR1ZXJmdGUuCkRhaGVyIHdlcmRlbiB3aXIgd29obCBkZW4gUDEyMCBuZWhtZW4uIEFiZXIgdmllbGxlaWNodCBrYW5uIG1hbgpqYSBzcGFldGVyIG1hbCBhdWYgMTUwIG9kZXIgMTgwIGF1ZnJ1ZXN0ZW4gOikpCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVkVSRUlOIChDcmVhdGl2ZSwgMTAuIE5vdiAxOTk1LCAxMzoyMTo1Myk6CiMhIHJuPUNhdHdlYXpsZSBydD04MTYwMDU5OTgKbnVyPwpOVVIgMTgwPwpJbSBHZXNwcmFlY2ggd2FyIGRvY2ggc2Nob24gbGFlbmdlciBkZXIgMjAwZXI/IDspCgotQ3JlYS0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZFUkVJTiAoSmltZGlncml6LCAxMC4gTm92IDE5OTUsIDE2OjQ4OjQ2KToKIyEgcm49Q2F0d2VhemxlIHJ0PTgxNjAwMjU2OQpIbW1tIGRhIGhhYiBpY2ggbiBwYWFyIGZyYWdlbiA6KQoKSXMgZGFzIG5ldWUgQm9hcmQgYXVjaCBNZWhycHJvemVzc29yZmFlaGlnID8KRXMgd2FyIGphIGVpbiBHcnVuZCBkYXMgbnAtYm9hcmQgenUgbmVobWVuLCB3ZWlsIG1hbiB1LlUuIG5vY2huCnp3ZWl0ZW4gUGVudHNkdW1tIGRyYXVmaGF1biBrYW5uLiBLbGFyIGRhcyBlcmZvcmRlcnQgZWluIGVudHNwcmVjaGVuZGVzCkJldHJpZWJzc3lzdGVtIHVuZCBTb2xhcmlzIHg4NiBkdWVyZnRlIHp1IHRldWVyIHNlaW4gOikKQWxsZXJkaW5ncyBoYWJlIGljaCBnZWhvZXJ0LCBkYXNzIENvbnZleCBkYWJlaSBpcyBkZW0gQlNECmtlcm5lbCBtdWx0aXByb3plc3NvcmZhZWhpZ2tlaXRlbiBiZWl6dWJyaW5nZW4KRmFsbHMgZGFzIGluIGFic2VoYmFyZXIgWmVpdCByYXVza29tbXQsIHd1ZXJkZSBlaW4gendvdGVyIFA5MApzaWNoZXIgbWVociBicmluZ2VuIHVuZCBiaWxsaWNoZXIgc2VpbiwgYWxzIG5ldWVzIEJvYXJkLCBQMTIwIGV0YwoKQWNoamEgenUgQ3JlYTogZXMgaGVpc3N0IEVETy1SQU0gKGV4dGVuZGVkIGRhdGEgb3V0KSBpY2ggaGFiIDhNQiB2b24gZGVuCiBEaW5nZXJuIGFiZXIgbnVyIHdlaWwgZGllIGJlaW0gWmFwcGEgZGFiZWkgd2FyZW4gLi4uIHNpbmQgbmFlbWxpY2gKZWNodCBpcnJlIHRldWVyLCB6dSBoYWJlbiBzaW5kIHNpZSBhbGxlcmRpbmdzIHNjaG9uLiBVbmQgZGFzIE1HCmJyYWV1Y2h0ZSBnbGVpY2ggMTI4IE1CIDstKQoKY2lhbywKIEphbWVzIEJvbGl2YXIgZGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWRVJFSU4gKENyZWF0aXZlLCAxMC4gTm92IDE5OTUsIDE5OjAwOjQzKToKIyEgcm49SmltZGlncml6IHJ0PTgxNjAxODUyNgpudXIga2VpbiBDb252ZXhPcwpXZW5uIER1IHVuc2VyZSBQcm9ibGVtZSBoaWVyIGtlbm5lbiB3dWVyZGVzdCwgZGllIHdpciBoaWVyIGF1ZiBkZXIgY3htZXRhCmhhYmVuLCB3byBzaWNoIE5JWCwgYWJlciBhdWNoIE5JWCBrb21waWxpZXJlbiBsYWVzc3QsIGF1c3NlciBtYW4gaXN0IHdpcmtsaWNoCmVpbiBDLUZ1Y2hzLCB1bmQgbWFuIG1hbCBzY2huZWxsIHNvIGxvY2tlciAxMDBrIHNvdXJjZW4gYWVuZGVydCwgdW0gZGFzIGFuCmRpZSBDb252ZXgtaW5jbHVkZXMgYW56dXBhc3NlbiwgZGFubiBzY2hyZWlidCBtYW4gQ29udmV4IHNjaG5lbGwgaW4gZGVuCldpbmQuIFVuZCBiZWkgdW5zcmVtIFJlY2huZXIgYW4gZGVyIFVuaSBoYW5kZWx0IGVzIHNpY2ggbmljaHQgdW0gZWluZW4gc28KbWlja3JpZ2VuIChudXIgdW50ZXIgQW5mdWVocnVuZ3N6ZWljaGVuISEhKSBSZWNobmVyIHdpZSBkZW4sIGRlciBmdWVycyBNRwpsYWV1ZnQsIGJlaSB1bnMgaXN0cyBpbW1lcmhpbiBlaW5lciBtaXQgMjQgUHJvemVzc29yZW4gdW5kIDEyIEdCIFJBTSwgaWNoCm11c3MgYWxsZXJkaW5ncyB6dWdlYmVuLCBkYXNzIGJlaSBlaW5lciBTT0xDSEVOIE1hc2NoaW5lIGRhcyBNVUQgc2Nob24KaHVlYnNjaApmbG90dCBsYXVmZW4gd3VlcmRlIDspCkFjaCBqYSwgRURPLCBlcyBoaWVzcyBFRE8uLi4gc29ycnksIG1hbiBob2VydCB2aWVsIGRhdm9uIGxpZXN0IGFiZXIgbml4LCB3ZWlsCnNpZSBlaCBuaWNodCBsaWVmZXJiYXIgc2luZCA7KSAoZHJ1bSBoYXR0IGljaCBzY2huZWxsIGRpZSBTY2hyZWlid2Vpc2UKdmVyd2V4ZWx0IDspKQoKLUNyZWEtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVkVSRUlOIChKaW1kaWdyaXosIDExLiBOb3YgMTk5NSwgMTM6NDg6NDgpOgojISBybj1DcmVhdGl2ZSBydD04MTYwMjY0NDMKSHVodSBDcmVhdGl2ZSAhCgpIbW0gaWNoIGhhdHRlIGphIG5pY2ggdm9yIG5lbiBDb255LVZla3RvcnJlY2huZXIgYXVmenVzdGVsbGVuICpncmlucyouClVuZCBpY2ggZ2xhdWIgYXVjaCBuZWQgZGFzcyBkZXIgZ2V0dW50ZSAoTmV0LT8pLUJTRC1LZXJuZWwKdmllbCBtaXQgQ29udmV4T3MgenUgdHVuIGhhdCwgdHJvdHpkZW0gZGVuayBpY2gsIGRhc3MgZHUKZGEgZ3V0IHJlZWNodCBoYWJlbiBrYW5uc3QsIGRhc3MgZXMgcHJvYmxlbWNoZW4gZ2ViZW4gd2lyZC4KTW9lZ2xpY2hlcndlaXNlIHd1ZXJkZSBlcyBzb2dhciBwcm9ibGVtbG9zIGxhdWZlbiwgaWNoIGRlbmsnIGRhcwphbGxlcyBlcnVlYnJpZ3Qgc2ljaCwgd2VpbCBkYXMgc2ljaGVyIGV3aWdsaWNoIG5vY2ggZGF1ZXJuIHdpcmQsCmJpcyBkZXIgS3JhbSByYXVza29tbXQuCmFjaGphIHRzdHMgd2llIGthbm4gbWFuIGRhcyBtdXIgbWl0IEVEKiB2ZXJ3ZXhsbiA7LSkKCkppbSBkaUdyaXogLSBraXR6ZWx0IENyZWF0aXZlIHVudGVybSBLaW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWRVJFSU4gKFJ1ZGlyYXR0ZXIsIDEzLiBOb3YgMTk5NSwgMTM6MDg6MDEpOgojISBybj1DYXR3ZWF6bGUgcnQ9ODE2MDAyNTY5Ck1hZW5ubyEhIQpEYSBzY2hyZWliIGljaCBkZW4gQXJ0aWtlbCBleHRyYSBpbiBBbnplaWdlbiByZWluLCBkYW1pdCBpaG4gYXVjaCBhbGxlIGxlc2VuCnVuZCBkZXIgb2xsZSBDYXQqIHZlcmxlZ3QgaWhuIGluIGVpbmUgUnVicmlrLCBkaWUgd2FocnNjaGVpbmxpY2ggYWxsZQphYmJlc3RlbGx0IGhhYmVuLi4uLiBBUkdMIQpBdXNzZXJkZW0sIHN1ZXNzZXIgQ2F0KjogSWNoIGhhYiBtZWluZW4gQmVpdHJhZyBmdWVyIGRpZXNlcyBKQWhyIHNjaG9uCmJlemFobHQsIGFsc28gdW50ZXJzdGVoIERpY2ggOykpClJ1ZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZFUkVJTiAoQ2F0d2VhemxlLCAxMy4gTm92IDE5OTUsIDE3OjI0OjE2KToKIyEgcm49UnVkaXJhdHRlciBydD04MTYyNjQ0ODEKQWNod2F0dCEhCkRpZXNlIFJ1YnJpayBoYXQga2VpbmVyIGFiYmVzdGVsbHQuCkJpc2hlciBoYXQgc2llIG51ciBrZWluZXIgYmVtZXJrdCwgd2VpbCBzaWUgLSBsZWlkZXIgLSBtb25hdGVsYW5nCmxlZXIgd2FyIDopCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVkVSRUlOIChHdXlicnVzaCwgMTMuIE5vdiAxOTk1LCAxNzoyNDo1OSk6CiMhIHJuPUNhdHdlYXpsZSBydD04MTYyNzk4NTYKRG9jaCwgZG9jaC4uLnZvciBtZWluZW0gQmVpdHJpdHQgaGF0dGUgaWNoIGRpZSBhdWNoIG5pY2h0IGFiYm9ubmllcnQgOikKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnRyYWVnZT8gKFNpbHZhbmEsICA1LiBKYW4gMTk5NiwgMTQ6Mzk6NTApOgpFcyB3dXJkZSBhbmdlcmVndCwgYXVjaCBiZWkgZGllc2VyIFBhcnR5IFNlbWluYXJ2b3J0cmFlZ2UgenUgdmVyYW5zdGFsdGVuLgpFcyBzY2hlaW50IGtlaW4gZ3JvZXNzZXJlcyBQcm9ibGVtIHp1IHNlaW4sIGRhZnVlciBSYWV1bWUgenUgYmVrb21tZW4uCkljaCB3dWVyZGUgbWljaCBkYWhlciBmcmV1ZW4sIHdlbm4gc2ljaCBlaW4gcGFhciBNYWdpZXIgKGJlc29uZGVycyBFcnptYWdpZXIpCmZ1ZXIgZWluIHBhYXIgVGhlbWVuIGZyZWl3aWxsaWcgbWVsZGVuIHd1ZXJkZW4uIFZpZWxsZWljaHQgZXJ6YWVobHQgamEKYXVjaCBtYWwgZWluIFNwaWVsZXIgbmVuIGJpc3NjaGVuIHdhcyB1ZWJlciB0Zj8gOykKClNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoVmlwZXIsIDExLiBNYXIgMTk5NiwgMTY6MTY6MTIpOgoKRGVyIEZvZXJkZXJ2ZXJlaW4gUHJvamVrdCBNb3JnZW5HcmF1ZW4gZS5WLiBsYWVkdCBlaW4genVyCkphaHJlc2hhdXB0dmVyc2FtbWx1bmcgMTk5Ni4KVW5kIHp3YXIgYW0gRGllbnN0YWcsIGRlbSAwMi4wNC4xOTk2IHVtIDE4LjAwIFVoci4KT3J0IGRlciBWZXJzYW1tbHVuZyBpc3QgZGFzIE1hdGhlbWF0aXNjaGUgSW5zdGl0dXQgZGVyIFVuaXZlcnNpdGFldCBNdWVuc3RlciwKUmF1bSA2MDIsIEVpbnN0ZWluc3RyLiA2MiwgNDgxNDkgTXxuc3Rlci4KClRhZ2Vzb3JkbnVuZzoKMS4gQmVncnVlc3N1bmcgZHVyY2ggZGVuIDEuIFZvcnNpdHplbmRlbgoyLiBSfGNrc2NoYXUgYXVmIGRhcyBHZXNjaGFlZnRzamFociAxOTk1CjMuIFJlY2hlbnNjaGFmdHNiZXJpY2h0ZSBkZXMgVm9yc3RhbmRlcwo0LiBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZHMKNS4gV2FobCBkZXIgS2Fzc2VucHJ1ZWZlciBmfHIgMTk5Ngo2LiBWb3JzY2hhdSBhdWYgZGllIEFrdGl2aXRhZXRlbiBmdWVyIDE5OTYKNy4gVmVyc2NoaWVkZW5lcwoKV2VnZW4gZGVyIFdpY2h0aWdrZWl0IGRlciBWZXJzYW1tbHVuZyBpc3QgZGFzIEVyc2NoZWluZW4gYWxsZXIgTWl0Z2xpZWRlcgplcnd1ZW5zY2h0LgoKVmlwZXIsIFNjaHJpZnRmdWVocmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlubGFkdW5nIHp1ciBKYWhyZXNoYXVwdHZlcnNhbW1sdW5nIChGcmV1bmQsIDExLiBNYXIgMTk5NiwgMjI6MjQ6MDcpOgp+IyEgcm49VmlwZXIgcnQ9ODI2NTU3MzcyCn4jISB0aWQ9ODI2NTU3MzcyCkhpLAoKZ3JtcGYsIGVzIGlzdCBXSUVERVIgZWluIERpZW5zdGFnISA6KU9vcHMuWzR+IEhtLCBpY2gga2FubiB3b2hsIGtlaW4KWmVpY2hlbiBsb2VzY2hlbi4uLiBBbHNvLCBkYXMgU21pbGV5IHNvbGx0ZSA6KCBzbyBhdXNzZWhlbi4KCkVyc3QgdHJpZmZ0IHNpY2ggZGVyIFN0YW1tdGlzY2ggc2VpdCB3YXMtd2Vpc3MtaWNoIHdpZXZpZWwKV29jaGVuIERJRU5TVEFHUyB1bmQgbnVuIGF1Y2ggbm9jaCBkaWUgSFYuCgpLYW5uIG1hbiBkYSBuaWNodCBtYWwgZXR3YXMgbWVociBGbGV4aWJpbGl0YWV0IGhpbmVpbmJyaW5nZW4/CgpTb3JyeSwgZGFzIG11c3N0ZSBpY2ggbWFsIHNhZ2VuLi4uCgpFaW4gdHJvdHpkZW0gRlJFVU5EbGljaGVyIFplaXRnZW5vc3NlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoSGF0ZSwgMTEuIE1hciAxOTk2LCAyMjoyOTo1Nyk6Cn4jISBybj1GcmV1bmQgcnQ9ODI2NTc5NDQ3Cn4jISB0aWQ9ODI2NTU3MzcyCkRlbSBBZXJnZXIgbW9lY2h0ZSBpY2ggbWljaCBhbnNjaGxpZXNzZW4gdW5kIGljaCBoYWJlIGF1Y2ggc2Nob24gZWluZW4KQnJpZWYgYW4gZGVuIFZvcnN0YW5kc3ZvcnNpdHplbmRlbiBnZXNjaHJpZWJlbi4KYSkgRGllbnN0YWcgaXN0IE1JVFRFTiBJTiBERVIgV09DSEUKYikgaXN0IGRlciBUZXJtaW4gZXR3YXMga3VyeiBhbmdla3VlbmRpZ3QsIGZ1ZXIgZGllLCB3ZWxjaGUgTklDSFQgQVVTCiAgIE1VRU5TVEVSIGtvbW1lbgpFcyBzb2xsdGUgZG9jaCBiaXR0ZSBiZWkgZWluZW0gc29sY2hlbiBBdWZydWYgYXVjaCBhbiBkaWUgR2VkYWNodCB3ZXJkZW4sCmRpZSBlcnN0IHBsYW5lbiBtdWVzc2VuIHVuZCBhdWNoIGthdW0gWmVpdCBpbiBkZXIgV29jaGUgZmluZGVuLgpJcmdlbmR3aWUgaXN0IGRhcyBlaW4gV2l0ei4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoQ2hlYXN5LCAxMy4gTWFyIDE5OTYsIDAwOjU5OjE4KToKfiMhIHJuPUhhdGUgcnQ9ODI2NTc5Nzk3Cn4jISB0aWQ9ODI2NTU3MzcyCldlbm4gYWxsZSBrb21tZW4gc29sbGVuLCBtdXNzIGRlciB0ZXJtaW4gdmVybGVndCB3ZXJkZW4uIEFucmVpc2UgaXN0IGZ1ZXIKbWljaCB1bnRlciBkZXIgV29jaGUgbmljaHQgZHJpbiAtLSBLYXJsc3J1aGUtTXVlbnN0ZXIgdW5kIHp1cnVlY2sgYW4gZWluZW0KYWJlbmQgZ2VodCBudW4gbWFsIG5pY2h0IG1pdCBkZXIgQmFobiAtLSB1bmQgYXVzc2VyZGVtIHp1IGt1cnp6ZWl0aWcKYW5nZWt1ZW5kaWd0IC0tIFVybGF1YiBtdXNzIHZpZXIgV29jaGVuIHZvcmhlciBhbmdlbWVsZGV0IHdlcmRlbi4KLUNoZWFzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWlubGFkdW5nIHp1ciBKYWhyZXNoYXVwdHZlcnNhbW1sdW5nIChDYXR3ZWF6bGUsIDEzLiBNYXIgMTk5NiwgMTc6MTU6NTEpOgp+IyEgcm49SGF0ZSBydD04MjY1Nzk3OTcKfiMhIHRpZD04MjY1NTczNzIKSGkhCkRlciBUZXJtaW4gaXN0IFNhdHp1bmdzZnJpc3RnZXJlY2h0IDMgV09jaGVuIHZvcmhlciBhbmdla3VlbmRpZ3QuCkRlciBUZXJtaW4gRGllbnN0YWcgaXN0IGdld2FlaGx0IHdvcmRlbiwgd2VpbCBudXIgYW4gZGllc2VtIFdvY2hlbnRhZwphbGxlIFZvcnN0YW5kc21pdGdsaWVkZXIgemVpdGdsZWljaCBrb2VubmVuLCB3YXMgd29obCB3aWNodGlnc3RlClRlcm1pbnBsYW51bmcgc2VpbiBzb2xsdGUuCgpBbGxlcmRpbmdzIGhhYmVuIHdpciB1bnMgZGllc21hbCB1ZWJlcmxlZ3QgZWluZSBfdmlydHVlbGxlXwpWb2xsdmVyc2FtbWx1bmcgVk9SIGRlciBlY2h0ZW4gVlYgYWJ6dWhhbHRlbi4gRWluZSBkaWUgbmljaHQKYmVzY2hsdXNzZmFlaGlnIGlzdCwgZGllIGFiZXIgQW5yZWd1bmdlbiBmdWVyIGRpZSBuYWNoZm9sZ2VuZGUKbGllZmVybiBzb2xsLiBEaWUgd2ljaHRpZ3N0ZW4gUHVua3RlIHdlcmRlbiBpbiBkaWVzZXIgdlZWIGFiZ2VoYW5kZWx0LgpEYW1pdCBkaWUgdlZWIG9yZGVudGxpY2ggYWJsYWV1ZnQgd2lyZCBlcyBlaW4gcGFhciBTcGV6aWFscmFldW1lCmdlYmVuLCBkYW1pdCBlcyBuaWNodCB6dSBsYXV0IHdpcmQgOikKWW91cnMgdHJ1bHksCiAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoSGF0ZSwgMTMuIE1hciAxOTk2LCAyMzowNDowNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODI2NzMzNzUxCn4jISB0aWQ9ODI2NTU3MzcyCkljaCBoYWx0ZSBkYXMgZnVlciBpZ25vcmFudC4KRW50d2VkZXIgZGVyIFZlcmVpbiBwYXNzdCBzaWNoIHNlaW5lbiBNaXRnbGllZGVybiB1bmQgZGVyZW4gTW9lZ2xpY2hrZWl0ZW4KYW4gb2RlciB3aXIgbGFzc2VuIGVzIHNlaW4uIERhIGRlciBWZXJlaW4gbnVubWFsIHVlYmVyYWxsIHZlcnRlaWx0IGlzdCwKa2FubiBlcyBuaWNodCBzZWluLCBkYXNzIGhpZXIgYXVmIGtsZWlubGljaGVuIDMgV29jaGVuZnJpc3RlbiBydW1nZXBvY2h0CndpcmQuIEF1c3NlcmRlbSBzb2xsdGUgYmVpIGVpbmVyIFZlcnNhbW1sdW5nLCBiZWkgZGVyIGF1ZmdlcnVmZW4gd2lyZCwgZGFzcwphbGxlIGtvbW1lbiBnZXJhZGUgc28gZ2VwbGFudCB3ZXJkZW4sIGRhc3MgbW9lZ2xpY2hzdCBhbGxlIGtvbW1lbiBrb2VubmVuLgpFcyBpc3QgdW52ZXJhbnR3b3J0bGljaCB1bmQgZWlnZW5zaW5uaWcgYW5kZXJzIHp1IGRlbmtlbiEKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoQmVuZGVpZ2lkLCAxNC4gTWFyIDE5OTYsIDEwOjEyOjI0KToKfiMhIHJuPUhhdGUgcnQ9ODI2NzU0NjQ0Cn4jISB0aWQ9ODI2NTU3MzcyCkpFUCEKSWNoIHd1ZXJkZSBhdWNoIGdlcm4ga29tbWVuLCBoYWIgYWJlciBpbiBkZXIgV29jaGUgcHJha3Rpc2NoIGtlaW5lIENoYW5jZS4KVW5kIGV0d2FzIG1laHIgWmVpdCBmYWVuZGUgaWNoIHNjaG9uIG5ldHQuCkljaCBmaW5kZSBlcyBzZWx0c2FtLCBkZW4gdGVybWluIG51ciBhbSBha3R1ZWxsZW4gVm9yc3RhbmQgZmVzdHp1bWFjaGVuICh2Z2wuCkNhdCksIHdvIGRvY2ggZWluIHZlcmVpbiBhdXMgbWVociBMZXV0ZW4gYWxzIE5VUiBkZW0gVm9yc3RhbmQgYmVzdGVodC4gRGllCk11ZW5zdGVyYW5lciBoYWJlbiBkYSBzaWNoZXIga2VpbmUgUHJvYmxlbWUsIGFiZXIgZnVlciB1bnMgQXVzbGFlbmRlciBpc3QgZGFzCm5pY2h0IGRyaW4uIFp1IGRlciBWaXJ0dWVsbGVuIFZWOiBLYW5uIG1hbiBkYSBpcmdlbmR3aWUgZWluZW0vZWluZXIsIGRpZSBhdWYKZGllIFJWViBnZWh0LCBzbyBuZSBBcnQgVm9sbG1hY2h0IGluIGJlc3RpbW10ZW4gRnJhZ2VuIGVydGVpbGVuPyB3ZW5uIG5laW4sCndpZXNvIG5pY2h0PyB3ZW5uIGphLCB3aWU/Cgp6YHBhciBTZXJ2dSwKICAgICAgICAgICBCZW5kZWlnaWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoTGksIDE0LiBNYXIgMTk5NiwgMTA6MTg6MzUpOgp+IyEgcm49SGF0ZSBydD04MjY3NTQ2NDQKfiMhIHRpZD04MjY1NTczNzIKaG1tIG51ciBlaW5zOiBXZW5uIGljaCBhdWNoICJuYWhlIiBhbiBtdWVuc3RlciB3b2huZToKSEFURSBIQVQgVk9MTCBVTkQgR0FOWiBSRUNIVCEhISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFaW5sYWR1bmcgenVyIEphaHJlc2hhdXB0dmVyc2FtbWx1bmcgKENhdHdlYXpsZSwgMTQuIE1hciAxOTk2LCAxMToyMjo0Nyk6Cn4jISBybj1MaSBydD04MjY3OTUxMTUKfiMhIHRpZD04MjY1NTczNzIKRmVpbi4KRGFubiB2ZXJyYXQgbWlyLCB3aWUgd2lyIGVpbmUgVm9sbHZlcnNhbW1sdW5nIG9obmUgMS4gVm9yc2l0emVuZGVuIG1hY2hlbgp3b2xsZW4/CllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRWlubGFkdW5nIHp1ciBKYWhyZXNoYXVwdHZlcnNhbW1sdW5nIChZYW50cm8sIDE0LiBNYXIgMTk5NiwgMTE6MjY6MDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyNjc5ODk2Nwp+IyEgdGlkPTgyNjU1NzM3MgoKU29ycnkgQ2F0LCB3ZW5uIGRhcyBoYXJ0IGtsaW5ndCwgYWJlciBkZXIgMS4gVm9yc2l0emVuZGUgSVNUIG5pY2h0IGRlciBWZXJlaW4KdW5kIGRlciBWZXJlaW4gbXVzcyBzaWNoIG5pY2h0IG51ciBuYWNoIElITSByaWNodGVuLiBXZW5uIGRlciAxLiBWb3JzaXR6ZW5kZQpuaWNodCBpbiBkZXIgTGFnZSBpc3QsIGVpbiBiaXNzY2hlbiBmbGV4aWJsZXIgZ2VnZW51ZWJlciBkZXIgTWVocmhlaXQgZGVyCk1pdGdsaWVkZXIgZGVzIFZlcmVpbmVzIHp1IHNlaW4sIGRhbm4gc29sbCBlciBzZWluIEFtdCBhdWZnZWJlbiB1bmQgZGFzIHp1cgpOb3Qgc2NocmlmdGxpY2ghCgpEaWVzIGlzdCBLRUlOIEFuZ3JpZmYgZ2VnZW4gZGllIFBlcnNvbiwgc29uZGVybiBnZWdlbiBkaWUgVmVyZWluc3N0cnVrdHVyLgoKICAgICAgICAgICAgWWFudHJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFaW5sYWR1bmcgenVyIEphaHJlc2hhdXB0dmVyc2FtbWx1bmcgKEhhcmRpbCwgMTQuIE1hciAxOTk2LCAxMTo1MDoxNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODI2Nzk4OTY3Cn4jISB0aWQ9ODI2NTU3MzcyCgpWb2xsdmVyc2FtbWx1bmcgb2huZSAxLiBWb3JzaXR6ZW5kZW4/IEtlaW4gUHJvYmxlbSAtIGplbWFuZCB2b24gYXVzc2VyaGFsYgp3YWVobGVuLi4uIHp1bSBCbGVpc3RpZnQuIDopCk9kZXIgd2llIGluIFNjaGFsa2UgLSB3ZXIgYW0gbWVpc3RlbiBHZWxkIGJpZXRldCwgd2lyZCBnZXdhZWhsdC4gOi0pCgotSGFyZGlsLiBHaWJ0IEhhdGUgZ3J1bmRzYWV0emxpY2ggcmVjaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFaW5sYWR1bmcgenVyIEphaHJlc2hhdXB0dmVyc2FtbWx1bmcgKExpLCAxNC4gTWFyIDE5OTYsIDExOjUwOjM2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04MjY3OTg5NjcKfiMhIHRpZD04MjY1NTczNzIKd2llIHdhZXJlIGVzIG1pdCBlaW5lbSBhbmRlcmVuIHRlcm1pbiwgbnVyIHdlaXRlciBpbiBkZXIgenVrdW5mdD8KTGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoUmFmZmksIDE0LiBNYXIgMTk5NiwgMTE6NTg6MjIpOgp+IyEgcm49SGFyZGlsIHJ0PTgyNjgwMDYxNgp+IyEgdGlkPTgyNjU1NzM3MgoKPiBPZGVyIHdpZSBpbiBTY2hhbGtlIC0gd2VyIGFtIG1laXN0ZW4gR2VsZCBiaWV0ZXQsIHdpcmQgZ2V3YWVobHQuIDotKQoKT2ssIGJpZXRlIDUuMDAwIE11ZW56ZW4uCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRWlubGFkdW5nIHp1ciBKYWhyZXNoYXVwdHZlcnNhbW1sdW5nIChBbmF0b2wsIDE0LiBNYXIgMTk5NiwgMTY6MzI6MDcpOgp+IyEgcm49UmFmZmkgcnQ9ODI2ODAxMTAyCn4jISB0aWQ9ODI2NTU3MzcyCgoKLyoKQW4gZGVtIERpZW5zdGFnIGdpYnQgZXMgaW1obyBuaXggenUgbWVja2VybiwgaWNoIGthbm4gei5CLiBNb250YWdzIG5pY2h0IG9kZXIKbnVyIHNlaHIgc2NobGVjaHQsIDM1IGFuZGVyZSBrb2VubmVuIE1pdHR3b2NocywgRnJlaXRhZ3MgdW5kIGFuIFdvY2hlbmVuZGVuCm5pY2h0LCAxMiB3ZWl0ZXJlIHR1biBzaWNoIGFtIERvbm5lcnN0YWcgc2Nod2VyIC0gdW5kIGhhbHQgYXVjaCB3ZWxjaGUsIGRpZSBhbQpEaWVuc3RhZyBuaWNodCBrb2VubmVuLgpJY2ggZGVua2UsIGRhIGlzdCBlcyBudXIgbG9naXNjaCwgZGFzcyBkZXIsIGRlciBkaWUgUXVhbCBkZXIgV2FobCAoZGllIFdhaGwKZGVyZXIsIGRpZSBpbiBadWt1bmZ0IHNhdWVyIGF1ZiBpaG4gc2luZCkgc28gaGludGVyIHNpY2ggYnJpbmd0LCBkYXNzIGRpZSwgZGllCi0gd2VubiBlcyBzaWNoIGVpbnJpY2h0ZW4gbGFlc3N0IC0gIChuaWNodCBudXIgYWxzIGFrdGl2ZXMgTWl0Z2xpZWQpIGFuIGRlcgpTaXR6dW5nIHRlaWxuZWhtZW4gc29sbHRlbiwgLi4uIGRhc3MgZGllIGRhbm4gd2VuaWdzdGVucyBhbGxlIGVyc2NoZWluZW4Ka29lbm5lbi4gSWNoIGRlbmtlLCBkYXNzIGVudHdlZGVyIHNvIG9kZXIgc28gYWVobmxpY2ggZGllIFdhaGwgZGVzIERpZW5zdGFncwphdXMgZWluZW0gUG90dCBnbGVpY2hncm9zc2UgVWViZWwgKGVzIGtvZW5uZW4gZWJlbiBOSUUgYWxsZSBrb21tZW4pIGdlbGF1ZmVuCmlzdC4KT2ssIGRyZWkgV29jaGVuIF9zaW5kXyBtZWluZXMgRXJhY2h0ZW5zIGZ1ZXIgZWluZW4gZ3Jvc3NlbiBUZWlsIGRpZXNlcwooa2xlaW5lbiwgYWJlciB3ZWl0IHZlcmJyZWl0ZXRlbikgVmVyZWlucyB6aWVtbGljaCBrbmFwcC4gRGEga29lbm50ZSBtYW4gYmVpbQpuYWVjaHN0ZW4gbWFsIGV0d2FzIGJlc3NlciB2b3JwbGFuZW4uCiovCgoqcnVtbXVlbGwqCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRWlubGFkdW5nIHp1ciBKYWhyZXNoYXVwdHZlcnNhbW1sdW5nIChLcmV0ZWssIDE1LiBNYXIgMTk5NiwgMDI6NTk6MzYpOgp+IyEgcm49WWFudHJvIHJ0PTgyNjc5OTE2Ngp+IyEgdGlkPTgyNjU1NzM3MgoKQWxzbywgaWNoIHdlaXNzIGdhciBuaWNodCwgd2FzIGlociBhbGxlIGhhYnQhCkljaCBmdWVyIG1laW5lbiBUZWlsLCBhbHMgTWl0Z2xpZWQgdm9tIGVWLCBoYWIgbWljaCBzY2hvbiBsYW5nZQpkYW1pdCBhYmdlZnVuZGVuLCBkYXNzIGljaCwgb2J3b2hsIGVzIG1pY2ggc2Nob24gbWFsCmludGVyZXNzaWVyZW4gd3VlcmRlLCB3b2hsIG5pZSB6dSAnbmVyIFZlcnNhbW1sdW5nIGtvbW1lbiB3ZXJkZS4KR3J1bmQ6IFBhc3NhdS1NdWVuc3Rlci1QYXNzYXUga29zdGV0IChvaG5lIEJhaG5jYXJkIG9kZXIgc29sY2hlClNjaGVyemUpIDc2OCBETSAhISEgTm9jaCBGcmFnZW4/CgpLcmV0ZWsKKE1pdGdsaWVkLCBEYXVlcnBsZWl0ZSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBFaW5sYWR1bmcgenVyIEphaHJlc2hhdXB0dmVyc2FtbWx1bmcgKFJ1bWF0YSwgMTUuIE1hciAxOTk2LCAwMzowMToxNyk6Cn4jISBybj1LcmV0ZWsgcnQ9ODI2ODU1MTc2Cn4jISB0aWQ9ODI2NTU3MzcyCkhtbSwgZGEga29lbm50ZSBlaW4gRmx1ZyBiaWxsaWdlciBzZWluLgpSdW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoTG9jbywgMTUuIE1hciAxOTk2LCAxODoxODoxMCk6Cn4jISBybj1LcmV0ZWsgcnQ9ODI2ODU1MTc2Cn4jISB0aWQ9ODI2NTU3MzcyCjc2OCBETT8gTWl0IGRlbSBUYXhpIG9kZXIgd2FzPwpNaXQgZGVyIEJhaG4ga29zdGV0IGRhczogMTc2LC0gcGx1cyBadXNjaGxhZ2UgZnVlciBCYWhuY2FyZC1CZXNpdHplci4KT2RlciBmdWVyIExldXRlIHVudGVyIDI1IGhpbiB1bmQgenVydWVjayBnYW56ZSAsIGFlaG0sIDIwMyBETSAoTWF4aW1hbHByZWlzCmZ1ZXIgVHdlbi1UaWNrZXQsIG9obmUgR2V3ZWhyKQpPZGVyIGFiZXIgMTk5LC0gRE0sIHdlbm4gbWFuIHVlYmVyIGVpbiBXb2NoZW5lbmRlIGZhZWhydCwgb2huZSBqZWRlCkVybWFlc3NpZ3VuZyBvZGVyIEFsdGVyc2Jlc2NocmFlbmt1bmcsIGVpbmZhY2ggbWl0IGRlbSBTcGFyUHJlaXMuCkJlaSBsZXR6dGVyZXIgVmFyaWFudGUgemFobHQgamVkZSB3ZWl0ZXJlIFBlcnNvbiBudXIgbm9jaCAxMDAsLSwgYnR3LgoKQWNoIGphIC0gbWl0IGRlbSBXb2NoZW5lbmR0aWNrZXQgbXVlc3N0ZSBkaWUgU3RyZWNrZSBhdWNoIHp1IHNjaGFmZmVuIHNlaW4gYW4KZWluZW0gVGFnLi4uIDotKQoKRXVlciBUYXJpZmV4cGVydGUsCiAgICAgICAgICAgICAgICAgICAgIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoU3BhdHosIDE1LiBNYXIgMTk5NiwgMTg6NDc6MTApOgp+IyEgcm49S3JldGVrIHJ0PTgyNjg1NTE3Ngp+IyEgdGlkPTgyNjU1NzM3MgpOdW4sIGRpZSBCYWhuY2FyZCBrb3N0ZXQgMTIwIE1hcmsgKGV0d2EpLCB1bmQgbWl0IEJhaG5jYXJkIGtvc3RldHMgZGljaCBkYW5uCm51ciBub2NoIGRpZSBIYWVsZnRlIC4uLiAoMzg0IERNKSwgenVzYW1tZW4gYWxzbyAibnVyIG5vY2giIDUwNCBETSB1bmQgRHUKa2FubnN0IGVpbiBKYWhyIGxhbmcgenVtIGhhbGJlbiBQcmVpcyBmYWhyZW4uCk9id29obCwgZGFzIGthbm4gaWNoIGltbWVyIG5vY2ggdW5tb2VnbGljaCBnbGF1YmVuLCBkZW5uIHZvbiBNdWVuY2hlbiBuYWNoCk11ZW5zdGVyIGtvc3RldCBtaWNoIGVpbmUgRmFocnQgbWl0IEJhaG5jYXJkIGV0d2EgNzAgYmlzIDc1IERNLCBoaW4gdW5kCnp1cnVlY2sgYWxzbwp6dXNhbW1lbiAxNDAgRE0uCklzdCBQYXNzYXUgZGVubiBmdWVuZm1hbCBzbyB3ZWl0IGVudGZlcm50IHZvbiBNdWVuc3RlciB3aWUgTXVlbmNoZW4/CgpTcGF0eiBnbGF1YnQsIGRhc3MgS3JldGVrIHZvbiBOaWNodHMgZWluZSBBaG51bmcgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoRnJldW5kLCAxNy4gTWFyIDE5OTYsIDEyOjQ0OjEyKToKfiMhIHJuPUFuYXRvbCBydD04MjY4MTc1MjcKfiMhIHRpZD04MjY1NTczNzIKQW5hdG9sIHNjaHJpZWI6IEFORkFORwpJY2ggZGVua2UsIGRhc3MgZW50d2VkZXIgc28gb2RlciBzbyBhZWhubGljaCBkaWUgV2FobCBkZXMgRGllbnN0YWdzCmF1cyBlaW5lbSBQb3R0IGdsZWljaGdyb3NzZSBVZWJlbCAoZXMga29lbm5lbiBlYmVuIE5JRSBhbGxlIGtvbW1lbikgZ2VsYXVmZW4KaXN0LgpFTkRFCgpTZWhyIHNjaG9lbiwgYWJlciBtdXNzIGVzIElNTUVSIGVpbiBEaWVuc3RhZyBzZWluLCBkYW1pdCBpbW1lciBkaWVzZWxiZW4KbmljaHQga29tbWVuIGtvZW5uZW4/ID0pCgpBYmVyLCBlcyBnZWh0IG1laHIgdW0gZGllIEF1c3Nlcm11ZW5zdGVyc2NoZW4oVE0pLiBGdWVyIGRpZSB3YWVyZSBlaW4KU2Ftc3RhZyBvZGVyIFNvbm50YWcgcmVhbGlzaWVyYmFyLiBLZWluIE1vLURvLCB2aWVsbGVpY2h0IG5vY2gKZWluIEZyLgoKSW0gQWJLdWVGaSBGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRWlubGFkdW5nIHp1ciBKYWhyZXNoYXVwdHZlcnNhbW1sdW5nIChLcmV0ZWssIDE4LiBNYXIgMTk5NiwgMTM6MDQ6MjApOgp+IyEgcm49U3BhdHogcnQ9ODI2OTEyMDMwCn4jISB0aWQ9ODI2NTU3MzcyCkFsc28sIGljaCBoYWIgamEgd29obCBiZXRvbnQsIGRhc3MgZGVyIFRhcmlmIE9ITkUgUkFCQVRURSBVU1cuIHdhci4KQXVzc2VyZGVtIHdhZXJlIGVpbmUgRmVobGluZm9ybWF0aW9uIGRpZXNzZWl0cyBuaWNodCBtZWluZSBTY2h1bGQsCnNvbmRlcm4gZGllIHZvbSBEQi1SZWNobmVyICgqREIjKS4KTWl0IGRlbSBXb2NoZW5lbmRlLVRpY2tldCBnZWh0J3MgdWVicmlnZW5zIHRhdHNhZWNobGljaDogTWFuIGZhZWhydCBzbwpnZWdlbiAyIFVociBhbSBTYW1zdGFnIGluIFBhc3NhdSBhYiwgdW5kIHNvIGlyZ2VuZHdhbm4gc3BhZXQgQWJlbmRzIGlzdAptYW4gZGFubiwgbmFjaCBmdWVuZi0gb2RlciBzZWNoc21hbCBVbXN0ZWlnZW4sIHRhdHNhZWNobGljaCBzY2hvbiBpbgpNdWVuc3RlciAoRmFocnRkYXVlciBjYS4gMjIgU3RkLikuClNjaGVpZGV0IGFsc28gd29obCB2ZXJudWVuZnRpZ2Vyd2Vpc2UgZG9jaCBhdXMuClVlYnJpZ2VuczogVmVya2VocnNtYWVzc2lnIGdlc2VoZW4gSVNUIFBhc3NhdSBhbSBBcnNjaCBkZXIgV2VsdCEgOikpCgpLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBFaW5sYWR1bmcgenVyIEphaHJlc2hhdXB0dmVyc2FtbWx1bmcgKFJhZmZpLCAxOC4gTWFyIDE5OTYsIDE3OjU0OjAzKToKfiMhIHJuPUtyZXRlayBydD04MjcxNTA2NjAKfiMhIHRpZD04MjY1NTczNzIKCldlbm4gZGFzIGdhbnplIGVpbmUgV0UgVmVyYW5zdGFsdHVuZyB3YWVyZSwga29lbm50ZSBpY2ggbWljaCBqYSB2aWVsZWljaHQKdWViZXJyZWRlbiBsYXNzZW4ga3JldGVrIGluc2QgYXV0byB6dSBwYWNrZW4uCgpncnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEVpbmxhZHVuZyB6dXIgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyAoRnJldW5kLCAxOC4gTWFyIDE5OTYsIDE4OjIwOjI5KToKfiMhIHJuPVJhZmZpIHJ0PTgyNzE2ODA0Mwp+IyEgdGlkPTgyNjU1NzM3Mgo6PiBXZW5uIGRhcyBnYW56ZSBlaW5lIFdFIFZlcmFuc3RhbHR1bmcgd2FlcmUsIGtvZW5udGUgaWNoIG1pY2ggamEgdmllbGVpY2h0CnVlYmVycmVkZW4gbGFzc2VuIGtyZXRlayBpbnNkIGF1dG8genUgcGFja2VuLgoKSkEhIFdpZSB3YWVyZSBlcyBkZW5uIGFtIFdvY2hlbmVuZGU/IExpZWJlciBWb3JzdGFuZD8gQml0dGUhIDopCgpJbW1lciBGUkVVTkRsaWNoLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRWlubGFkdW5nIHp1ciBKYWhyZXNoYXVwdHZlcnNhbW1sdW5nIChHdWxkdWthdCwgMTguIE1hciAxOTk2LCAxOToxNDo0NSk6Cn4jISBybj1GcmV1bmQgcnQ9ODI3MTY5NjI5Cn4jISB0aWQ9ODI2NTU3MzcyCldhcnVtIGZ1ZWhydCBpaHIgZGllIFNpdHp1bmdlbiBzbyBtaXR0ZW4gaW0gU2VtZXN0ZXIgZHVyY2g/IFNvbGx0ZSBtYW4gZXMKbmljaHQgYW4gZGllIFBhcnR6cyBrb3BwZWxuPyBWb3IgMyBXb2NoZW4gaGFldHRldCBpaHIgZGllIFNpdHp1bmcgZG9jaCBpbgpCaWVsZWZlbGQgZHVyY2h6aWVoZW4ga29lbm5lbiEKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBFaW5sYWR1bmcgenVyIEphaHJlc2hhdXB0dmVyc2FtbWx1bmcgKFNwYXR6LCAxOC4gTWFyIDE5OTYsIDE5OjU2OjA5KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTgyNzE3Mjg4NQp+IyEgdGlkPTgyNjU1NzM3MgpNaXR0ZW4gaW0gU2VtZXN0ZXI/CkRhcyBTZW1lc3RlciBnZWh0IHZvbiBOb3ZlbWJlciBiaXMgRmVicnVhciwgTWFlcnogdW5kIEFwcmlsIHNpbmQKU2VtZXN0ZXJmZXJpZW4sIE1haSBiaXMgSnVsaSBTZW1lc3RlciwgQXVndXN0IGJpcyBPa3RvYmVyIFNlbWVzdGVyZmVyaWVuLgpJc3QgZGFzIGJlaSBFdWNoIGFuZGVycz8KClNwYXR6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogRWlubGFkdW5nIHp1ciBKYWhyZXNoYXVwdHZlcnNhbW1sdW5nIChSdW1hdGEsIDE4LiBNYXIgMTk5NiwgMjA6MTA6NTcpOgp+IyEgcm49U3BhdHogcnQ9ODI3MTc1MzY5Cn4jISB0aWQ9ODI2NTU3MzcyCldlbm4gbWFuIGVpbmUgSmFocmVzaGF1cHR2ZXJzYW1tbHVuZyBpbiBkZW4gU2VtZXN0ZXJmZXJpZW4gbWFjaHQsCmJlc2Nod2VyZW4gc2ljaCBkaWUgTGV1dGUgYXVjaCwgZGEgc2llIGRhbm4gamEgbWVpc3N0IGltIFVybGF1YiBzaW5kIDotKQpSVW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBFaW5sYWR1bmcgenVyIEphaHJlc2hhdXB0dmVyc2FtbWx1bmcgKENyZWF0aXZlLCAxOS4gTWFyIDE5OTYsIDA5OjU4OjM1KToKfiMhIHJuPVJ1bWF0YSBydD04MjcxNzYyNTcKfiMhIHRpZD04MjY1NTczNzIKCkRhIHRhZXVzY2ggRGljaCBtYWwgbmV0LCBsaWViZXIgR290dC4gOikKSGllciBpbiAuYXQgd2FlcmVuIGRpZSBtZWlzdGVuIFN0dWRpcyBmcm9oLCB3ZW5uIGRlciBTdHJlaWsgaW4gZGVuIEZlcmllbgpzdGF0dGZpbmRlbiB3dWVyZGUuCgotQ3JlYS0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZXJtaW52ZXJzY2hpZWJ1bmcgKENhdHdlYXpsZSwgMTkuIE1hciAxOTk2LCAxNDoyNTozNik6CkhpIQpOYWNoIGFuZ2VtZXNzZW5lbSBvZWZmZW50bGljaGVuIHVuZCBzaWNoZXJsaWNoIGF1Y2ggYmVncnVlbmRldGVtClVuYmVoYWdlbnMgYmV6dWVnbGljaCBkZXMgVm9sbHZlcnNhbW1sdW5nc3Rlcm1pbnMgd2lyZCBkZXIgVGVybWluCnZlcnNjaG9iZW4hIQpEaWUgVm9sbHZlcnNhbW1sdW5nIGZpbmRldCBkYWhlciBOSUNIVCBhbSAwMi4wNCwgU09OREVSTgogICAgICAgYW0gU2Ftc3RhZywgZGVtIDExLiBNYWkgMTk5NiwgMTU6MDAgVWhyCnN0YXR0LgpJY2ggaG9mZmUsIGRhcyBpc3QgZWluZSBhdXNyZWljaGVuZCBsYW5nZSBWb3JsYXVmemVpdCB1bmQgYXVjaApkYXNzIGRlciBXb2NoZW5lbmR0ZXJtaW4gRXVjaCBiZXNzZXIgcGFzc3QuClVlYmVyIGRpZSBSYWV1bWxpY2hrZWl0ZW4ga2FubiBpY2ggbm9jaCBrZWluZSBBdXNzYWdlIG1hY2hlbiwKZGEgYW0gZXMgbmljaHQgc28gZWluZmFjaCBpc3QgZWluZW4gU2VtaW5hcnJhdW0gYW0gV29jaGVuZW5kZSB6dQpiZWtvbW1lbiwgd2llIHdhZWhyZW5kIGRlciBXb2NoZS4KCkljaCBtb2VjaHRlIGF1Y2ggYW4gZGllc2VyIFN0ZWxsZSBhbGxlIE1pdGdsaWVkZXIgZGVzIFZlcmVpbnMgdW5kCmluc2Jlc29uZGVyZSBkaWUgTklDSFRtaXRnbGllZGVyIHVuZCBWaWVsbGVpY2h0bWl0Z2xpZWRlciB6dXIKVm9sbHZlcnNhbW1sdW5nIGVpbmxhZGVuLgpUYWdlc3B1bmt0ZSBkZXIgVmVyc2FtbWx1bmcgZW50bmVobXQgYml0dGUgZGVtIGVyc3RlbiBBcnRpa2VsCnZvbiBWaXBlci4gRmFsbHMgRHUgTWl0Z2xpZWQgYmlzdCB1bmQgZWluZW4gYmVzb25kZXJlbiBQdW5rdCB6dXIKU3ByYWNoZSBicmluZ2VuIG1vZWNodGVzdCwgZGVyIGF1Y2ggZGlza3V0aWVydCB3ZXJkZW4gc29sbHRlLApkYW5uIG1haWxlIGRhcyBiaXR0ZSBhbiBlaW5lcyAob2RlciBhbGxlKSBkZXIgVm9yc3RhbmRzbWl0Z2xpZWRlci4KCllvdXJzIHRydWx5LAogICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVybWludmVyc2NoaWVidW5nIChHdXlicnVzaCwgMTkuIE1hciAxOTk2LCAxNzo1NTozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODI3MjQxOTM2Cn4jISB0aWQ9ODI3MjQxOTM2CmhtbS4uLnBhc3N0IG1pciBnYXIgbmljaHQuIEtvZW5uZW4gd2lyIGRhcyBuaWNodCB2ZXJzY2hpZWJlbj8KCgoKCgoKLT4gc2NobmVsbCB3ZWNoIDopCkd1eWJydXNoIHNlbW1lbHQgYXVjaCBpbiBkaWVzZXIgUnVicmlrIHJ1bS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGVybWludmVyc2NoaWVidW5nIChGcmV1bmQsIDIwLiBNYXIgMTk5NiwgMTQ6MTc6MzUpOgp+IyEgcm49R3V5YnJ1c2ggcnQ9ODI3MjU0NTMzCn4jISB0aWQ9ODI3MjQxOTM2Ck5hY2hkZW0gaWNoIG51biB6d2VpIEFydGlrZWwgZGVyIEtyaXRpayB2ZXJmYXNzdCBoYWJlLAprb21tdCBudW4gc2VsYnN0dmVyc3RhZW5kbGljaCBhdWNoIGRpZSBMb2Jlc2h5bW5lLgoKVmllbGVuIERhbmsgZnVlciBkaWUgRmxleGliaWxpdGFldCB1bmQgRWluc2ljaHQhCgpFaW4gLSBzaWNoIGF1ZiBlaW4gc2Nob2VuZXMgV29jaGVuZW5kZSBmcmV1ZW5kZXIgLSBGcmV1bmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmVpbnMtVlYgKENhdHdlYXpsZSwgMzAuIEFwciAxOTk2LCAyMDoxMzoxMCk6CkhpIQoKSGllciBlaW4ga2xlaW5lcyBVcGRhdGUgenVyIFZvbGx2ZXJzYW1tbHVuZywgZGFtaXQgc2llIG5pY2h0IGluIFZlcmdlc3NlbmhlaXQKZ2VyYWV0OgoKRGllIGRpZXNqYWVocmlnZSBNb3JnZW5HcmF1ZW4gRm9lcmRlcnZlcmVpbiBlViBNaXRnbGllZGVydm9sbHZlcnNhbW1sdW5nCmZpbmRldCBhbSAxMS4gTWFpIHVtIDE1OjAwIFVociBpbiBNdWVuc3RlciBpbSBtYXRoZW1hdGlzY2hlbiBJbnN0aXR1dCBzdGF0dCEhCgpJY2ggaGFiZSBqZXR6dCBlaW5lbiBSYXVtIGFiZ2VrbGFlcnQsIHdpciBrcmllZ2VuIGRlbiBNNiwgZGFzIGlzdCBlaW4KSG9lcnNhYWwKaW0gSW5zdGl0dXQuCk1pdGdsaWVkZXIgdW5kIE5pY2h0bWl0Z2xpZWRlciBzaW5kIGhlcnpsaWNoIGVpbmdlbGFkZW4genUgZXJzY2hlaW5lbi4KSW5zYmVzb25kZXJlIGZ1ZXIgTmljaHRtaXRnbGllZGVyIHNvbGx0ZSBkaWVzZSBWZXJzYW1tbHVuZyBpbnRlcmVzc2FudCBzZWluLApkYSBkaWVzZSBkYW5uIG1hbCBkaXJla3RlIEZyYWdlbiBzdGVsbGVuIGtvZW5uZW4sIHdhcyB3b3p1IHVuZCB3ZXNoYWxiIGRpZXNlcgpWZXJlaW4gZWluZmFjaCBndXQgaXN0LgpHZW5hdSBkaWVzZXMsIGRlc3NlbiBiaXNoZXJpZ2VuIEVycnVuZ2Vuc2NoYWZ0ZW4gdW5kIHdlaXRlcmVuIFppZWxlIHNpbmQKVGhlbWEKZGVyIFZvbGx2ZXJzYW1tbHVuZy4KRGllIFRhZ2Vzb3JkbnVuZyBoYWIgaWNoIHByaW56aXBpZWxsIHZvciBtaXIgbGllZ2VuLCBhYmVyIGljaCBoYWIKZmVzdGdlc3RlbGx0LApkYXMgc2llIGVpZ2VudGxpY2ggbWl0IGRlciB2b24gVmlwZXIgIGluIEFydGlrZWwgMSB2ZXJvZWZmZW50bGljaHRlbgp1ZWJlcmVpbi0Kc3RpbW10LgoKQmVzb25kZXJzIGludGVyZXNzYW50IHdpcmQgdmllbGxlaWNodCBkaWUgR3J1ZW5kdW5nIGVpbmVzIE11ZHVlYmVyZ3JlaWZlbmRlbgpEYWNodmVyYmFuZGVzLCBldHdhcyB3YXMgZGVyIE1HZVYgei5aLiBhbnN0cmVidC4gRGllIFZlcnNhbW1sdW5nIGRhZnVlciwKZmluZGV0IHVlYnJpZ2VucyBpbSBBbnNjaGx1c3MgYW4gZGllIE1HZVYtVlYgc3RhdHQhCgpJY2ggd2VyZGUgYXVzcmVpY2hlbmRlciBBbmZyYWdlIGF1Y2ggbm9jaCB2ZXJvZWZmZW50bGljaGVuLCB3aWUgbWFuIGRlbm4KenVtIE02IGtvbW10LCBhYmVyIGljaCBzY2hhZXR6ZSBqZWRlciB2b24gRXVjaCBoYXQgZWluZSBhdXNyZWljaGVuZGUKU2VobnN1Y2h0Cm5hY2ggZGVyIEhlaW1hdCwgc28gZGFzcyBpaHIgb2huZSBTY2h3aWVyaWdrZWl0ZW4sIHNlaWQgSWhyIGVyc3QgZWlubWFsIGluCk11ZW5zdGVyLCBpbiBkaWUgTmFlaGUgZGVzIE1HLVJlY2huZXJzIGZpbmRlbiBzb2xsdGV0IDopCgpZb3VycyB0cnVseSwKICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbnRlcmt1bmZ0IChDYXR3ZWF6bGUsIDMwLiBBcHIgMTk5NiwgMjA6Mjg6NTUpOgpBY2hzbywgaWNoIGhhYiBub2NoIHdhcyB3aWNodGlnZXMgdmVyZ2Vzc2VuLgpGdWVyIGRpZSBGZXJua29tbWVyIG11ZXNzdGUgaXJnZW5kd2llIFVudGVya3VuZnQgenVyZWNodGdlbWFjaHQKd2VyZGVuLiBEYSBpY2ggZGEgbml4IHplbHRtYWVzc2lnZXMgb2RlciBzbyBvcmdhbmlzaWVyZW4ga2Fubi93ZXJkZSwKbXVlc3N0ZW4gZGllIGlyZ2VuZHdpZSBwcml2YXQgdW50ZXJrb21tZW4uIERhcyBnaWx0IGF1Y2ggZnVlciBkaWUgTXVkLQpBZG1pbnMuIEljaCB3ZWlzcyBuaWNodCwgb2IgZGFzIHJlaWNodCwgZGEgbmljaHQgc292aWVsZSBNdWVuc3RlcmFuZXIKZGFiZWlzZWluIHdlcmRlbiwgd2llIGF1ZiBkZW4gUGFydGllcy4gRXMgd2FlcmUgc2Nob2VuLCB3ZW5uIGlociBFdWNoCmRhIGJlaSBpcmdlbmR3ZW0gZWluc2NobGVpbWVuIG9kZXIgYW5kZXJzcnVtLCB1bnRlcmJyaW5nZW4gd3VlcmRldC4KR2VodCBkYXMsIGRhcyB6dXIgTm90IHdlbGNoZSBiZWkgd2FocnNjaGVpbmxpY2gga29tbWVuZGVuIEJpZWxlZmVsZGVybgpvZGVyIE9zbmFicnVlY2tlcm4gZ2VsYWdlcnQgd2VyZGVuPyBBTHNvIGljaCBoYWIgZWNodCBrZWluZW4gUGxhbiwgd2VyCmRhIGFsbGVzIHZvbiB3ZWl0ZXIgd2VnIGtvbW10IC4uLi4KWW91cnMgdHJ1bHksCiAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW50ZXJrdW5mdCAoUnVtYXRhLCAgMS4gTWFpIDE5OTYsIDAzOjQ1OjMwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04MzA4ODg5MzUKfiMhIHRpZD04MzA4ODg5MzUKR2lidCBlcyBhdWNoIHNjaG9uIEluZm96dSBkZW0gRGV1dHNjaGVuIE11ZCBWZXJlaW4vSW50ZXJuYXRpb25hbGVuCk11ZGRlciBEYWNodmVyYmFuZCBvZGVyIHdpZSBkYXMgRGluZyBhdWNoIGltbWVyIGhlaXNzZW4gbWFnLgoKUnVtYXRhLCBrYW5uIG5hZW1saWNoIF93aXJrbGljaF8gbmljaHQga29tbWVuLgo6LSgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbnRlcmt1bmZ0IChXdXJ6ZWwsICAxLiBNYWkgMTk5NiwgMTU6Mjk6MDMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgzMDg4ODkzNQp+IyEgdGlkPTgzMDg4ODkzNQpobW0sIHdlbm4gaWNoIGluIG11ZW5zdGVyIGJpbiwgc3RlaWdlIGljaCBpbSBob3RlbCBtYXVyaXR6aG9mIGFiLi4uIGlzdCBmdWVyCmRlbiBwcmVpcyBlbXBmZWhsZW5zd2VydC4gZXR3YXMgdGV1cmVyIGlzdCB3aWUgdWVibGljaCBkYXMgZG9yaW50LCBhYmVyIGRhcwppc3QgZWluIGd1dGVzIGhvdGVsIGRlciBnZWhvYmVuZW4gbWl0dGVsa2xhc3NlLCB1bmQgbWFuIGthbm4gdWViZXIgZGllIHByZWlzZQpyZWRlbi4KCmdydXNzLCB3dXJ6ZWwKCnAucy4gZnVlciBhcm1lIHN0dWRlbnRlbiBzaW5kIGFsbGVyZGluZ3MgYmVpZGUgd2FocnNjaGVpbmxpY2ggdW5nZWVpZ25ldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1pdGZhaHJnZWxlZ2VuaGVpdCB6dW0gVlYgaW4gTXVlbnN0ZXIgKEJsb29keWhhcnJ5LCAxMC4gTWFpIDE5OTYsIDA4OjUzOjQ0KToKSGkhCgpJY2ggc3VjaGUgb2RlciBiaWV0ZSBlaW5lIE1pdGZhaHJnZWxlZ2VuaGVpdCBmdWVyIG1vcmdlbi4gClN0YXJ0cHVua3Qgc29sbHRlIENhc3Ryb3AtUmF1eGVsLCBEb3J0bXVuZCwgV2FsdHJvcC4uLiBvZGVyIHNvIHNlaW4uCkljaCBmYWhyZSBhdWNoIHVuZCBob2xlIGFiLCB3ZW5uIGplbWFuZCBkaWUgS2FydGUgbGllc3Qgb2RlciBzaWNoIHNvZ2FyCmluIE11ZW5zdGVyIGd1dCBhdXNrZW5udD8KCmNpYW8KQkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1pdGZhaHJnZWxlZ2VuaGVpdCAoWmVwaHlyLCAxMC4gTWFpIDE5OTYsIDExOjIyOjI3KToKSGkgaWhycwpXZXIgYXVzIGRlbSBTdWVkZW4ga29tbXQsIGdlcm5lIEJhaG5mYWVocnQgdW5kIHp1ciBWZXJzYW1tbHVuZyB3aWxsOgpUcnlmYW4gdW5kIGljaCBmYWhyZW4gbWl0IGRlbSBOYWh2ZXJrZWhyc3p1ZywgZGVyIHVtIDEyLjQ4IFVociBpbiBNdWVuc3RlcgphbmtvbW10LCBkaWUgU3RyZWNrZSBCb25uLUtvZWxuLU11ZW5zdGVyIHVuZCBoYWJlbiBub2NoIDMgUGxhZXR6ZSBhdWYKZGVtIFdvY2hlbmVuZHRpY2tldCBmcmVpLgpXZXIgc2ljaCB1bnMgYW5zY2hsaWVzc2VuIHdpbGw6IEJpdHRlIG1haWwgYW4gbWljaCAoYmlzIDE0IFVocikgb2RlciBhbgoKVHJ5ZmFuIChiaXMgY2EuIDE2IG9kZXIgMTcgVWhyKSAoc3BhZXRlcmUgbWFpbHMgd2VyZGVuIGV2dGwuIG5pY2h0IG1laHIKZ2VsZXNlbikKQWxsZXMgZXR3YXMga3VyemZyaXN0aWcsIGFiZXIgdmllbGxlaWNodCBoaWxmdHMgamEgd2VtCkdydXNzLCBaZXBoeXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRlcm1pbi4uLiAoWWFudHJvLCAxMC4gTWFpIDE5OTYsIDExOjI1OjU0KToKCldpZXNvIGxpZWd0IGRlciBUZXJtaW4gZGVyIFZWIGVpZ2VudGxpY2ggYXVzZ2VyZWNobmV0IGF1ZiBkZW0gbGV0enRlbgpIZWltc3BpZWx0YWcgZGVzIDEuRkNLb2VsbiwgaGFlaD8gSGFidCBpaHIga2VpbiBIZXJ6IGZ1ZXIgRnVzc2JhbGxmcmV1bmRlPyBJY2gKc2VoIGRhcyBhbHMgcGVyc29lbmxpY2hlbiBBbmdyaWZmIG51ciBnZWdlbiBtaWNoLCBkZW5uIHNvbnN0IGJldHJpZmZ0IGRhcwprZWluZW4gdW5kIGRlciBUZXJtaW4gbGllZ3Qgc2ljaGVyIG51ciBzbywgdW0gbWljaCB6dSBhZXJnZXJuLi4uLgoKICAgICAgICAgICAgICAgICAgICAgICAgIFlhbnRybywgZWluIE1hbm4gbWl0IFByaW9yaXRhZXRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0ZXJtaW4uLi4gKFphcmRveiwgMTAuIE1haSAxOTk2LCAxMTozNDoxMyk6Cn4jISBybj1ZYW50cm8gcnQ9ODMxNzIwMzU0Cn4jISB0aWQ9ODMxNzIwMzU0CkdlbmF1ISBXbyBtYW4gZG9jaCBzY2hvbiBzZWl0IEV3aWdrZWl0ZW4gS2FydGVuIGZ1ZXIgZGFzIFNwaWVsIGhhdCEhISEKCkNpYW8gIFphcmRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRlcm1pbi4uLiAoR3JpbW1ib3JuLCAxMC4gTWFpIDE5OTYsIDEzOjM3OjM5KToKfiMhIHJuPVlhbnRybyBydD04MzE3MjAzNTQKfiMhIHRpZD04MzE3MjAzNTQKCkV4YWt0LiBBbGxlcmRpbmdzIGhhdHRlIGtlaW5lciBkYW1pdCBnZXJlY2huZXQsIGRhc3MgRHUgZGFzIGF1Y2gga2FwaWVyZW4Kd3VlcmRlc3QuIFNwcmljaCwgd2VyIGhhdHMgRGlyIHZlcnJhdGVuPwoKR2RBCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRlcm1pbi4uLiAoSGF0ZSwgMTIuIE1haSAxOTk2LCAxNjoyMDo0Mik6Cn4jISBybj1ZYW50cm8gcnQ9ODMxNzIwMzU0Cn4jISB0aWQ9ODMxNzIwMzU0CkFsc28gaWNoIGhhYmUgZGVmaW5pdGl2IGtlaW4gSGVyeiBmdWVyIEZ1c3NiYWxsZnJldW5kZS4uLgpWT1IgQUxMRU0gbmljaHQgZnVlciBESUUsIGRpZSBTRUxCU1QgTklDSFQgc3BpZWxlbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkt1cnpiZXJpY2h0IHZvbSBBZG1pbnRyZWZmZW4gYW0gMTEuNS4xOTk2IChWaXBlciwgMjQuIE1haSAxOTk2LCAyMjoyMDozMSk6Clp1c2FtbWVuZmFzc2VuZGVyIEJlcmljaHQgdm9tIEFkbWluLVRyZWZmZW4gYW0gMTEuMDUuMTk5NiBpbiBNdWVuc3Rlcg0KDQpBdWYgRWlubGFkdW5nIGRlcyBGb2VyZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLlYuIHdhcmVuIFRlaWwtDQpuZWhtZXIgdm9uIDkgdmVyc2NoaWVkZW5lbiBNdWRzIChpbnNnZXNhbXQgMjUgUGVyc29uZW4pIG5hY2ggTXVlbnN0ZXINCmdla29tbWVuLCB1bSBhbiBkaWVzZXIgZXJzdGVuIFNpdHp1bmcgZGVyIEFkbWlucyB1bmQgVmVyZWluc3ZvcnN0YWVuZGUNCmRlciBkZXV0c2NoZW4gTXVkcyB0ZWlsenVuZWhtZW4uDQoNCkFud2VzZW5kIHdhcmVuIGRpZSBNdWRzOiAoUmVpaGVuZm9sZ2Ugdm9lbGxpZyB3aWxsa3VlcmxpY2ggOy0pKQ0KVW5pVG9waWEsIFNpbGtlLCBWaXJyZWwsIE5pZ2h0ZmFsbCwgVGFwcG11ZCwgTW9yZ2VuR3JhdWVuLCBBdmFsb24sIA0KRmluYWxGcm9udGllciwgVHVibXVkLg0KDQpadW5hZWNoc3Qgd3VyZGUgZmVzdGdlc3RlbGx0LCBkYXNzIG51ciBkaWUgTXVkcyBVbmlUb3BpYSAoVHJhZWdlcmtyZWlzDQpVbmlUb3BpYSBlLlYuKSB1bmQgVmlycmVsIChBVlIpIGViZW5mYWxscyB3aWUgTUcgdWViZXIgZWluZW4gVmVyZWluIHZlci0NCmZ1ZWdlbi4gU2Nob24gZGVzaGxhYiBzY2hlaXRlcnRlIGRhcyBWb3JoYWJlbiBlaW5lbiBEYWNodmVyYmFuZCB6dSBncnVlbmRlbiwgDQpkZW5uIGRhenUgd2FlcmVuIG1pbmRlc3RlbnMgNyBHcnVlbmR1bmdzbWl0Z2xpZWRlciBlcmZvcmRlcmxpY2ggZ2V3ZXNlbi4NCg0KRGllIGVpbnplbG5lbiBWZXJlaW5lIHVuZCBNdWRzIHN0ZWxsdGVuIHNpY2ggZGFubiBrdXJ6IHZvciwgd29iZWkgaW1tZXINCndpZWRlciBkZXV0bGljaCBnZW1hY2h0IHd1cmRlLCBkYXNzIGRpZSBHcnVlbmR1bmcgZWluZXMgVmVyZWlucyBmdWVyIGVpbg0KTXVkIGdyb3NzZSBWb3J0ZWlsZSBoYXQgKGFiZ2VzZWhlbiB2b24gZGVuIGZpYW56aWVsbGVuIFZvcnRlaWxlbiB3ZWdlbg0KZGVyIEdlbWVpbm51ZXR6aWdrZWl0KSwgZGVubiBlaW4gVmVyZWluIGhhdCBnYW56IGVpbmZhY2ggZWluZSBiZXNzZXJlDQpWZXJoYW5kbHVuZ3NiYXNpcyBtaXQgVW5pcyBldGMuDQoNCkVpbmdlaGVuZCB3dXJkZW4gZGFubiBkaWUgbW9lZ2xpY2hlbiBaaWVsZSB1bmQgQXVmZ2FiZW4gZWluZXMgRGFjaHZlcmJhbmRlcw0KZXJvZXJ0ZXJ0LiBTY2huZWxsIGthbSBtYW4genUgZGVyIEF1ZmZhc3N1bmcsIGRhc3MgZGVyIE5hbWUgRGFjaHZlcmJhbmQsDQp6dW1pbmRlc3QgaW0gZGVyemVpdGlnZW4gU3RhZGl1bSBuaWNodCByaWNodGlnIGlzdCwgbWFuIHNvbGx0ZSBlcyBiZXNzZXINCkludGVyZXNzZW5nZW1laW5zY2hhZnQgbmVubmVuLiBFaW5lIHNvbGNoZSB1ZWJlcm9lcnRsaWNoZSBWZXJlaW5pZ3VuZyANCi0ga29lbm50ZSBBbmxhdWZzdGVsbGUgZoFyIEZyYWdlbiBzZWluIChJbmZvcm1hdGlvbnN6ZW50cnVtKQ0KLSBVbnRlcnN0dWV0enVuZyBiZWkgUHJvYmxlbWVuIGJpZXRlbiAoUHJvYmxlbWVuIG1pdCBkZW4gUlogei5CLikNCi0gZGllIEtvbW11bmlrYXRpb24gendpc2NoZW4gZGVuIE11ZHMgZm9lcmRlcm4NCi0gZ2VtZWluc2FtZSBQcm9qZWt0ZSBkdXJjaGaBaHJlbi4NCg0KSW0gZWluemVsbmVuIHd1cmRlIGJlc29uZGVycyBkZXV0bGljaCBnZW1hY2h0LCBkYXNzIGVpbmUgc29sY2hlIFZlci0NCmVpbmlndW5nIGZ1ZXIgYWxsZSBkZXV0c2NoZW4gTXVkcyAobmljaHQgbnVyIExQLU11ZHMpIG9mZmVuIHN0ZWhlbg0KbXVlc3N0ZS4gDQoNCkVpbmUgZWlnZW5lIERvbWFpbiBtdWQuZGUgd2FyIGRhbm4gZWluIGJlc29uZGVycyBoZWlzc2VyIERpc2t1c3Npb25zcHVua3QuDQpEaWUgTWVpbnVuZ2VuIGdpbmdlbiBkYSBzdGFyayBhdXNlaW5hbmRlci4gRGllIE1laHJoZWl0IGRlciBhbndlc2VuZGVuIE11ZHMNCndhciBhYmVyIGZ1ZXIgZGllIHdlaXRlcmUgUHJ1ZWZ1bmcgZGVyIE1vZWdsaWNoa2VpdCBlaW5lIERvbWFpbiBtdWQuZGUNCnp1IGJlYW50cmFnZW4uIFNwZXppZWxsIHNvbGwgaGllciBnZXBydWVmdCB3ZXJkZW4sIG9iIGdlbWVpbm51ZXR6aWdlIFZlcmVpbmUNCmRpZXMga29zdGVubG9zIGVyaGFsdGVuIGtvZW5uZW4uIA0KDQpLb25rcmV0IHd1cmRlIGRhbm4gbm9jaCBiZXNjaGxvc3NlbiwgZGFzcyBIYXRlQE1HIHNpY2ggdW0gZGllIEtvb3JkaW5hdGlvbg0KZWluZXIgV1dXLVNlaXRlIGJlbXVlaGVuIHNvbGwsIGRpZSBhdWYgZGVtIE1HLVdXVy1TZXJ2ZXIgenUgZmluZGVuIHNlaW4NCndpcmQuIERvcnQgc29sbGVuIGFsbGUgTXVkcyBzaWNoIGRhcnN0ZWxsZW4ga29lbm5lbi4gDQoNCkRhcyBuYWVjaHN0ZSBBZG1pbi1UcmVmZmVuIHdpcmQgc2VociB3YWhyc2NoZWlubGljaCBhbSAxMC4vMTEuIEF1Z3VzdCAxOTk2DQppbiBCZXJsaW4gc2Vpbi4gRG9ydCBzb2xsIGRhbm4gYXVjaCBlaW4gcGVyc29uZW5iZXpvZ2VuZXIgVmVyZWluIGdlZ3J1ZW5kZXQNCndlcmRlbiwgZGVyIGRpZSBvYmVuIGRhcmdlc3RlbGx0ZW4gWmllbGUgdmVydHJldGVuIHNvbGwuDQoNClZpcGVyQE1HDQoNCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm90b2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgYW0gMTEuNS45NiAoVmlwZXIsIDI0LiBNYWkgMTk5NiwgMjI6MjI6MzYpOgoKKioKICAgICANCiAgICAgDQogICAgIFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyBGb2VyZGVydmVyZWlucyBQcm9qZWt0IA0KICAgICBNb3JnZW5HcmF1ZW4gZS5WLiB2b20gMTEuMDUuMTk5Ng0KDQogICAgIFRQIDE6IERpZSBWZXJzYW1tbHVuZyBmYW5kIGltIEhvZXJzYWFsIE0gNiBkZXMgTWF0aGVtYXRpc2NoZW4NCiAgICAgICAgICAgSW5zdGl0dXRzIGluIE11ZW5zdGVyIHN0YXR0LiBEZXIgVm9yc2l0emVuZGUgU3RlZmFuIEJvaG0gDQogICAgICAgICAgIGJlZ3J1ZXNzdGUgZGllIDIwIGVyc2NoaWVuZW5lbiBNaXRnbGllZGVyIHVuZCBlcm9lZmZuZXRlIGRpZSANCiAgICAgICAgICAgVmVyc2FtbWx1bmcgdW0gMTUuMzAgVWhyLiBTdGVmYW4gQm9obSB1ZWJlcmdhYiBkYW5uIGRpZSANCiAgICAgICAgICAgTGVpdHVuZyBkZXIgVmVyc2FtbWx1bmcgYW4gQmVybmQgS29lc3Rlci4gRGEgZGllIGdld2FlaGx0ZW4gDQogICAgICAgICAgIEthc3NlbnBydWVmZXIgbmljaHQgYW53ZXNlbmQgd2FyZW4sIG11c3N0ZW4ga3VyemZyaXN0aWcgZGllIA0KICAgICAgICAgICBUYWdlc29yZG51bmcgZ2VhZW5kZXJ0IHVuZCB6d2VpIG5ldWUgS2Fzc2VucHJ1ZWZlciBmdWVyIGRhcyANCiAgICAgICAgICAgSmFociAxOTk1IGdld2FlaGx0IHdlcmRlbi4gRGllIFZlcnNhbW1sdW5nIG5haG0gZGllIGdlYWVuZGVydGUgDQogICAgICAgICAgIFRhZ2Vzb3JkbnVuZyBlaW5zdGltbWlnIGFuIHVuZCBiZXN0aW1tdGUgc29kYW5uIGViZW5zbyBlaW5zdGltLQ0KICAgICAgICAgICBtaWcgTWljaGFlbCBLYW1wIHVuZCBNaWNoYWVsIFNjaG5pdHRrZXIgYWxzIEVyc2F0emthc3NlbnBydWVmZXIuDQoNCiAgICAgVFAgMjogSW0gVGFldGlna2VpdHNiZXJpY2h0IGRlcyBWb3JzdGFuZGVzIHdpZXNlbiBCZXJuZCBLb2VzdGVyIHVuZA0KICAgICAgICAgICBTdGVmYW4gQm9obSBkYXJhdWYgaGluLCBkYXNzIGRlciBWZXJlaW4gaW0gSmFociAxOTk1IG5pY2h0DQogICAgICAgICAgIG51ciBkaWUgTUctUGFydHkgbWl0dmVyYW5zdGFsdGV0IGhhdCwgc29uZGVybiBhdWNoIGFubGFlc3NsaWNoDQogICAgICAgICAgIGRlciBQYXJ0eSBTZW1pbmFyZSBkdXJjaGdlZnVlaHJ0IGhhdCwgZGllIHNlaHIgZ3V0IGFuZ2Vub21tZW4NCiAgICAgICAgICAgd29yZGVuIHNlaWVuLiBXaWNodGlnc3RlIFRhZXRpZ2tlaXQgc2VpIGFsbGVyZGluZ3MgZGllIEFuLQ0KICAgICAgICAgICBzY2hhZmZ1bmcgdW5kIGRlciB3ZWl0ZXJlIEF1c2JhdSBkZXMgUmVjaG5lcnMgZ2V3ZXNlbiwgYXVmDQogICAgICAgICAgIGRlbSBkYXMgTUcgbnVuIGxhZXVmdC4NCg0KICAgICBUUCAzOiBJbiBkZXIgVm9yc2NoYXUgYXVmIGRpZSBmdWVyIDE5OTYgYnp3LiAxOTk3IGdlcGxhbnRlbiANCiAgICAgICAgICAgQWt0aXZpdGFldGVuIGVybGFldXRlcnRlbiBTdGVmYW4gQm9obSB1bmQgQmVybmQgS29lc3RlciANCiAgICAgICAgICAgZmFjaGxpY2hlciBCZXJhdHVuZyB2b24gSm9lcmcgRnJhdW5lLCBkYXNzIGRlciB3ZWl0ZXJlDQogICAgICAgICAgIEF1c2JhdSBkZXMgUmVjaG5lcnMgZHJpbmdlbmQgZXJmb3JkZXJsaWNoIHNlaSwgZGEgZXIgDQogICAgICAgICAgIHRhZ3N1ZWJlciBiZXJlaXRzIHp1IDEwMCAlIGF1c2dlbGFzdGV0IGlzdC4gV2VpdGVyIHd1cmRlIA0KICAgICAgICAgICBhbmdlcmVndCBkaWUgUGxhbnVuZyBkZXIgU2VtaW5hcmUgc2lubnZvbGxlciB6dSBnZXN0YWx0ZW4uDQogICAgICAgICAgIEVzIHNvbGxlbiBBdXNzY2h1ZXNzZSBmdWVyIHNwZXppZWxsZSBGcmFnZW4gZ2ViaWxkZXQgd2VyZGVuLg0KICAgICAgICAgICBEaWUgS29vcmRpbmF0aW9uIGRhenUgdWViZXJuaW1tdCBNLiBMLiBKdWdlbC4gRGllcyB3dXJkZSBkYW5uIA0KICAgICAgICAgICBhdWNoIG9obmUgR2VnZW5zdGltbWVuIHZvbiBkZXIgVmVyc2FtbWx1bmcgYmVlc2NobG9zc2VuLg0KICAgICAgICAgICBadW0gUHVua3QgTWl0Z2xpZWRlcndlcmJ1bmcgd3VyZGUgZGVyIGludGVyZXNzYW50ZSBWb3ItDQogICAgICAgICAgIHNjaGxhZyBnZW1hY2h0LCBNYWlscyBpbm5lcmhhbGIgZGVzIE11ZHMgYW4gU3BpZWxlciBhYiBlaW5lbSANCiAgICAgICAgICAgYmVzdGltbXRlbiBBbHRlciB6dSB2ZXJzY2hpY2tlbi4gQXVzc2VyZGVtIHNvbGx0ZSBkZXIgTG9naW4tDQogICAgICAgICAgIEJpbGRzY2hpcm0gZ2VhZW5kZXJ0IHdlcmRlbi4NdGVsbmV0IG1nCiAgICAgVFAgNDogRGllIEdydWVuZHVuZyBlaW5lcyBEYWNodmVyYmFuZGVzIGZ1ZXIgYWxsZSBkZXV0c2NoZW4gTXVkcyB3dXJkZSANCiAgICAgICAgICAgYWxzIG5hZWNoc3RlcyBiZXNwcm9jaGVuLiBFcyB3YXIgYWxsZ2VtZWluZSBBbnNpY2h0LCBkYXNzIGRpZQ0KICAgICAgICAgICBHcnVlbmR1bmcgZWluZXMgVmVyYmFuZGVzIHZvciBhbGxlbSBmdWVyIGRpZSBPZWZmZW50bGljaGtlaXRzLQ0KICAgICAgICAgICBhcmJlaXQgc2VociBoaWxmcmVpY2ggc2VpbiBrb2VubnRlLiBBbGxlcmRpbmdzIHd1cmRlIGF1Y2ggYW4tDQogICAgICAgICAgIGdlZGV1dGV0LCBkYXNzIGVzIGVpbmUgZ2V3aXNzZSBLb25rdXJyZW56c2l0dWF0aW9uIHVudGVyIGRlbg0KICAgICAgICAgICBNdWRzIGdhZWJlLiBBbGxlcyB3ZWl0ZXJlIHNvbGx0ZSBkYW5uIGplZG9jaCBkZXIgaW0gQW5zY2hsdXNzDQogICAgICAgICAgIGFuIGRpZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgc3RhdHRmaW5kZW5kZW4gU2l0enVuZyBkZXIgQWRtaW5zDQogICAgICAgICAgIHZvcmJlaGFsdGVuIGJsZWliZW4uDQoNCiAgICAgVFAgNTogRGVyIEthc3NlbmJlcmljaHQgbXVzc3RlIG5vY2ggcmVjaHQga3VyemZyaXN0aWcgbmV1IGVyc3RlbGx0DQogICAgICAgICAgIHdlcmRlbiwgd2VpbCBzaWNoIGhlcmF1c3N0ZWxsdGUsIGRhc3MgZXIgZWluZW4gUmVjaGVuZmVobGVyDQogICAgICAgICAgIGVudGhpZWx0LiBBbiBkaWVzZXIgU3RlbGxlIGhlcnpsaWNoZW4gRGFuayBhbiBCYXJiYXJhIEx1bml0eiANCiAgICAgICAgICAgZnVlciBkaWUgYXVmb3BmZXJ1bmdzdm9sbGVuIFJlY2hlbmt1bnN0c3R1ZWNrZS4gQW5nZWJsaWNoIHdhciANCiAgICAgICAgICAgenV2aWVsIEdlbGQgaW4gZGVyIEthc3NlLCBkb2NoIHNjaGxpZXNzbGljaCBrb25udGUgZmVzdGdlc3RlbGx0IA0KICAgICAgICAgICB3ZXJkZW4sIGRhc3MgZGllIEthc3NlIGRvY2ggYXVzZ2VnbGljaGVuIGlzdC4gDQoNCiAgICAgVFAgNjogQmVpIGRlciBXYWhsIGRlciBLYXNzZW5wcnVlZmVyIGZ1ZXIgMTk5NiBmYW5kZW4gc2ljaCBzY2hsaWVzDQogICAgICAgICAgIHNsaWNoIEJhcmJhcmEgTHVuaXR6IHVuZCBNb25pa2EgU3RydW56IGJlcmVpdCBkaWVzZSBBdWZnYWJlIHp1IA0KICAgICAgICAgICB1ZWJlcm5laG1lbi4gU2llIHd1cmRlbiBkYW5uIGF1Y2ggZWluc3RpbW1pZyB2b24gZGVyIFZlcnNhbW1sdW5nDQogICAgICAgICAgIGdlYWVobHQuIA0KICAgICAgICAgICANCiAgICAgVFAgNzogSW0gUHVua3QgVmVyc2NoaWVkZW5lcyB3dXJkZSBkYXMgVGhlbWEgSW50ZXJuZXQtWnVnYW5nIGZ1ZXIgZGFzIA0KICAgICAgICAgICBNdWQgZWluZ2VoZW5kIGVybGFldXRlcnQuIEpvZXJnIEZyYXVuZSBtYWNodGUgZGV1dGxpY2gsIGRhc3MgZGVyDQogICAgICAgICAgIFN0YW5kb3J0IE1hdGhlbWF0aWsgYXVmIERhdWVyIGdlZmFlaHJkZXQgc2VpbiBrb2VubnRlLiBNYW4gbXVlc3NlDQogICAgICAgICAgIHNpY2ggZGVzaGFsYiBtaXR0ZWxmcmlzdGlnIG5hY2ggRXJzYXR6bG9lc3VuZ2VuIHVtc2VoZW4uDQoNCiAgICAgVFAgODogTmFjaGRlbSBkaWUgS2Fzc2VucHJ1ZWZlciBpaHJlIEFyYmVpdCBhYmdlc2NobG9zc2VuIGhhdHRlbiwgYmUtDQogICAgICAgICAgIGFudHJhZ3RlIE1pY2hhZWwgU2Nobml0dGtlciB0cm90eiBkZXMgZmVzdGdlc3RlbGx0ZW4gUmVjaGVuZmVobGVycw0KICAgICAgICAgICBpbiBkZXIgS2Fzc2VuZnVlaHJ1bmcgZGllIEVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMuIChXaWUgZGFyLQ0KICAgICAgICAgICBnZWxlZ3Qgd3VyZGUgZGVyIEZlaGxlciBhbnNjaGxpZXNzZW5kIGdlZnVuZGVuLCBzbyBkYXNzIGRpZSBFbnQtDQogICAgICAgICAgIGxhc3R1bmcgdW50ZXIga2VpbmVtIFZvcmJlaGFsdCBtZWhyIHN0ZWh0LikgRGllIEVudGxhc3R1bmcgd3VyZGUNCiAgICAgICAgICAgZGFubiBhdWNoIGJlaSBlaW5lciBHZWdlbnN0aW1tZSB2b24gZGVyIFZlcnNhbW1sdW5nIGFuZ2Vub21tZW4uDQoNCiAgICAgICAgICAgQWxzIFRlcm1pbiBmdWVyIGRpZSBuYWVjaHN0ZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgd3VyZGUgZGFubg0KICAgICAgICAgICBub2NoIGRpZSBlcnN0ZSBNYWVyemhhZWxmdGUgMTk5NyBiZXN0aW1tdC4NCiAgICAgICAgICAgRGllIFZlcnNhbWx1bmcgZW5kZXRlIHVtIDE3LjAwIFVocg0KDQogICAgICBTY2hyaWZ0ZnVlaHJlcjogSy4tSC4gQm9zYXdlIChWaXBlcikNCiAgIA0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm90b2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgYW0gMTEuNS45NiAoSGFkcmEsIDI1LiBNYWkgMTk5NiwgMDE6MjU6MDIpOgp+IyEgcm49VmlwZXIgcnQ9ODMyOTY5MzU2Cn4jISB0aWQ9ODMyOTY5MzU2CmFsc28gaWNoIGZpbmRzIGd1dCwgZGFzcyBtYW4gbWFsIHdhcyB1ZWJlciBkaWUgdGF0c2FlY2hsaWNoZSB0YWV0aWdla2l0IGRlcwp2ZXJlaW5zIGhvZXJ0LiBicmF2bwoKbmF0dWVybGljaCBoYWJlIGljaCBhdWNoIHdpZWRlciBlaW5lbiB3ZXJtdXRzdHJvcGZlbiB1bnRlcnp1YnJpbmdlbi4gaWNoCmdsYXViZSBmdWVyIHZpZWxlIGhpZXIgd2FlcnMgaW50ZXJlc3NhbnRlciB3ZW5uIGRhIGRpZSBtdWRuYW1lbiAoenVtaW5kZXN0IGluCmtsYW1tZXJuKSBzdGFlZGVuIGFscyBkaWUgUkwgTmFtZW4sIGRlbm4gZGllIGtlbm5lbiBlaCBudXIgZGllIGhhZWxmdGUKCmhhZHJhIC0gaGF0IG1hbCB3aWVkZXIgd2FzIHp1IHNhZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS3VyemJlcmljaHQgdm9tIEFkbWludHJlZmZlbiBhbSAxMS41LjE5OTYgKEJhYnMsIDI2LiBNYWkgMTk5NiwgMDE6MzE6NDYpOgp+IyEgcm49VmlwZXIgcnQ9ODMyOTY5MjMxCn4jISB0aWQ9ODMyOTY5MjMxClp1bmFlY2hzdCBtYWw6IEVzIGlzdCBzaWNoZXIgdmVyZGllbnN0dm9sbCwgc2ljaCB1bSBtZWhyIEdlbWVpbnNhbWtlaXQKdW5kIEtvbW11bmlrYXRpb24gendpc2NoZW4gZGV1dHNjaGVuIE1VRHMgenUgYmVtdWVoZW4uCgpFaW5pZ2Uga3JpdGlzY2hlIEFubWVya3VuZ2VuIGthbm4gaWNoIG1pciBhYmVyIGRlbm5vY2ggbmljaHQgdmVya25laWZlbjoKMS4pIFdhcnVtIG11c3Mgc28gZWluIFZlcmJhbmQgYXVzZ2VyZWNobmV0IGVpbiBfZGV1dHNjaGVyXyBWZXJiYW5kCnNlaW4/IEVpbmUgYXVzZ3Jlbnp1bmcgZGVyIE9lc3RlcnJlaWNoaXNjaGVuICh1bmQgc3BhZXRlciBtYWwgdmllbGxlY2lodApTY2h3ZWl6ZXIpCk1VRHMgZXJzY2hlaW50IG1pciB3aXJrbGljaCBmZWhsIGFtIFBsYXR6ZS4KRGllIEludGVyZXNzZW4gc2luZCBudW5tYWwgZ2VtZWluc2FtLCB1bmQgc28gZWluIFZlcmJhbmQgZ2V3aW5udCBzaWNoZXJsaWNoCmFuIEVpbmZsdXNzLCB3ZW5uIG1laHIgTWl0Z2xpZWRlciBkYWJlaSBzaW5kLgpadW1hbCBkZXV0c2NoZSBNVURzIG9obmVoaW4gaW0gSW50ZXJuZXQgZWlnZW50bGljaCBpbW1lciBuaWNodAphbHMgTFBtdWRzIGZpcm1pZXJlbiwgc29uZGVybiB1bnRlciBMUC1HZXJtYW4gb2RlciBtdWx0aWxpbmd1YWwuCgotJQoKMi4gRXMgd2FlcmUgc2VociBpbnRlcmVzc2FudCwgbWFsIGdlbmF1ZXIgenUgZXJmYWhyZW4sIHdhcyBudW4ga29ua3JldAphbiBJZGVlbiAienVyIEZvZXJkZXJ1bmcgZGVyIEtvbW11bmlrYXRpb24iIGF1c2dla3VuZ2VsdCB3b3JkZW4gaXN0LgpHZW5hdSBkYXJhbiB3aXJkIHNpY2ggZGllIERhc2VpbnNiZXJlY2h0aWd1bmcgZWluZXMgc29sY2hlbiBEYWNodmVyYmFuZGVzCm1lc3NlbgpsYXNzZW4gbXVlc3NlbiAtIFNlbGJzdHp3ZWNrIGlzdCBlciBuYWVtbGljaCBuaWNodC4KQU1pdCBrb25rcmV0ZW4gSW5oYWx0ZW4gc3RlaHQgdW5kIGZhZWxsdCBuYWVtbGljaCBhbGxlcy4KCjMuIFdhcnVtIG11c3MgZGFzIGdhbnplIF9hdXNzY2hsaWVzc2xpY2hfIGF1ZiBBZG1pbi1FYmVuZSBzdGF0dGZpbmRlbiA/CkluIGFsbGVyZXJzdGVyIExpbmllIG11ZXNzdGUgZG9jaCBlaW4gc29sY2hlciBJbnRlcmVzc2VudmVyYmFuZCBkYXMgV29obApkZXIgU3BpZWxlciBpbSBBdWdlIGhhYmVuLCBvZGVyPwoKSmVkZW5mYWxscyB3YWVyZSBpY2ggZnVlciBnZW5hdWVyZSBJbmZvcm1hdGlvbmVuIHp1IGRlbiBQbGFudW5nZW4gZGFua2Jhci4KCkJhcmJhcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS3VyemJlcmljaHQgdm9tIEFkbWludHJlZmZlbiBhbSAxMS41LjE5OTYgKE1hcmN1cywgMjYuIE1haSAxOTk2LCAxNDowMjowNSk6Cn4jISBybj1CYWJzIHJ0PTgzMzA2NzEwNgp+IyEgdGlkPTgzMjk2OTIzMQpIaSBCYWJzLCBIaSBSZXN0CgoxLiBXYXJ1bSBkZXV0c2NoPyBrZWluZSBBaG51bmcgOykKMi4gRXMgaXN0IG5vY2gga2VpbiBEYWNodmVyYmFuZCBnZWdydWVuZGV0IHdvcmRlbi4gSWNoIHNlbGJlciBzZWggYWxzIFppZWwKICBpbiBkZW0gZ2FuemUgYXVjaCBlaGVyIHdpcmtsaWNoICdBdXN0YXVzY2gnIHZvbiBJbmZvcm1hdGlvbmVuIHp3aXNjaGVuCiAgTXVkcyBpbiBEZXV0aHNjbGFuZCB1bmQgZWluaGVpdGxpY2hlICh6ZW50cmFsaXNpZXJ0ZT8pIFNjaG5pdHRzdGVsbGUgZnVlcgogIEluZm9ybWF0aW9uZW4gbmFjaCBhdXNzZW4gKFByZXNzZSwgZXZ0LiBTdHVkaWVuYXJiZWl0ZW4sIGFlaG5saWNoZXMpLiAKICBUZWlsd2Vpc2UgZ2VncnVlbmRldCBhdWNoIGRhcmF1cywgZGFzIHNpY2ggZGllIEFkbWlucyBkZXIgZGV1dHNjaGVuIE11ZHMgCiAgendhciBrZW5uZW4sIGFiZXIgcmljaHRpZ2UgS29tbXVuaWthdGlvbiBtZWlzdCBudXIgYXVmIFBhcnRpZXMgenVzdGFuZGUKICBrb21tdCB1bmQgRXJnZWJuaXNzZSBkaWVzZXIgZWhlciBnZXJpbmdmdWVnaWcgc2luZCwgb2J3b2hsIG1hbiBzaWNoIHZpZWwKICB2b3JnZW5vbW1lbiBoYXR0ZS4gbXVkLmRlIHNvbGwgZGVzaGFsYiBhdWNoIGVpbmUgWmVudHJhbGUgZnVlciBkZW4KQXVzdGF1c2NoCiAgdm9uIEluZm9ybWF0aW9uIHVuZCBldnQuIGdlbWVpbnNhbWVuIFByb2pla3RlbiB3ZXJkZW4uIAoKMy4gV2lyIGhhYmVuIGJlaSBkZW4gZ2FuemVuIFVlYmVybGVndW5nZW4gU3BpZWxlciBuaWNodCBhdXNnZXNjaGxvc3Nlbi4gTnVyCiAgZGFzIHp1ciBJbml0aWllcnVuZyBkZXMgZ2FuemVuIG51ciBkaWUgQWRtaW5zIGRhIHdhcmVuLCBoZWlzc3Qgbm9jaCBsYW5nZQpuaWNodCwgZGFzIHNwaWVsZXIgYXVzZ2VzY2hsb3NzZW4Kd2VyZGVuIDspIEFjaGphLCBBdXN0YXVzY2ggdm9uIEluZm9ybWF0aW9uIGhlaXNzdCBuaWNodCBhdXN0YXVzY2ggdm9uIFF1ZXN0LQogIExvZXN1bmdlbiA7KSAKClZvcnNjaGxhZWdlIHp1ciBTYXR6dW5nLCBJZGVlbiwgaW50ZXJlc3NhbnRlIGRldXRzY2hlIE11ZC1SZXNvdXJjZW4gYnVpdHRlCmFuIG11ZC5kZUB0dXJuZXIudW5pLW11ZW5zdGVyLmRlCgpNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEt1cnpiZXJpY2h0IHZvbSBBZG1pbnRyZWZmZW4gYW0gMTEuNS4xOTk2IChHcmltbWJvcm4sIDI4LiBNYWkgMTk5NiwgMTM6MDk6NTQpOgp+IyEgcm49TWFyY3VzIHJ0PTgzMzExMjEyNQp+IyEgdGlkPTgzMjk2OTIzMQoKQWxzbywgd2VubiBkYSBkaWUgT2VzdGVycmVpY2hlciBtaXRtYWNoZW4gZHVlcmZlbiBiaW4gaWNoIGRhZ2VnZW4uIERpZQpPZXN0dGVycmVpY2hlciBzaW5kIG5hZW1saWNoIGRvb2YgdW5kIHN0aW5rZW4uIFVuZCBzaWUgaGFiZW4ga2VpbmUKYW5zdGFlbmRpZ2VuIExlaXR1bmdlbiB1bmQgbGFnZ2VuIGVoIG51ciBydW0uCgpBdXNzZXJkZW0sIGRhcyBsZXR6dGUgbWFsLCBhbHMgd2lyIGRpZSBPZXN0ZXJyZWljaGVyIGJlaSBldHdhcyBoYWJlbiBtaXRtYWNoZW4KbGFzc2VuIGxhZyBlaW4gcGFhciBKYWVocmNoZW4gc3BhZXRlciBnYW56IEV1cm9wYSBpbiBTY2h1dHQgdW5kIEFzY2hlLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEt1cnpiZXJpY2h0IHZvbSBBZG1pbnRyZWZmZW4gYW0gMTEuNS4xOTk2IChIYXJkaWwsIDMwLiBNYWkgMTk5NiwgMTM6MTE6NDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgzMzI4MTc5NAp+IyEgdGlkPTgzMjk2OTIzMQoKU2Nob2VuLCBkYXMgaGllciBhbGxlcy4KSWNoIGdsYXViZSwgd2lyIGhhYmVuIGJpc2xhbmcgaW1tZXIgZGllIGZhbHNjaGVuIExldXRlIGFscyBTY2hyaWZ0ZnVlaHJlciB2b20KV29scGktQ2x1YiBnZXdhZWhsdC4gOikKCi1IYXJkaWwuIFNjaHJpZnRmdWVocmVyLiBOb2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS3VyemJlcmljaHQgdm9tIEFkbWludHJlZmZlbiBhbSAxMS41LjE5OTYgKEtyZXRlaywgIDMuIEp1biAxOTk2LCAxNzoxNzoyNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODMzMjgxNzk0Cn4jISB0aWQ9ODMyOTY5MjMxCioqcm90ZmwqKgoKTWVociBmYWVsbHQgZWluZW0gZGF6dSBuaWNodCBtZWhyIGVpbi4uLiA6KSkKCgpEaWVzZXIgQXJ0aWtlbCB3dXJkZSBtYXNjaGluZWxsIGVyc3RlbGx0LgpFciBpc3Qgb2huZSBTaWVnZWwgb2RlciBVbnRlcnNjaHJpZnQgZ3VlbHRpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbmVyYWx2ZXJzYW1tbHVuZyAoS2lyaywgMjIuIEphbiAxOTk3LCAxMDowNToxMCk6CkhhbGxvIQogCkFubGFlc3NsaWNoIGRlciBNRy1QYXJ0eSBpbiBLYXJsc3J1aGUgd2lyZCBhbSAyMi4wMi45NyBlaW5lIFZlcmVpbnMtCkdlbmVyYWx2ZXJzYW1tbHVuZyBzdGF0dGZpbmRlbi4gV2lyIGhvZmZlbiwgZGFzcyBkaWVzZXIgVGVybWluIGZ1ZXIgbW9lZ2xpY2hzdAp2aWVsZSBNaXRnbGllZGVyIHBhc3N0LgogClRhZ2Vzb3JkbnVuZzoKIAoxLiBCZWdydWVzc3VuZyBkdXJjaCBkZW4gVm9yc2l0emVuZGVuICAgCjIuIFJ1ZWNrYmxpY2sgYXVmIGRhcyBhYmdlbGF1ZmVuZSBHZXNjaGFlZnRzamFociAxOTk2IChNaXRnbGllZGVyYmV3ZWd1bmcsClZlci0KICAgYW5zdGFsdHVuZ2VuLCBFcndlaXRlcnVuZ2VuIGRlcyBSZWNobmVycywgdXN3LikKMy4gS2Fzc2VuYmVyaWNodCAgIAo0LiBCZXJpY2h0IGRlciBLYXNzZW5wcnVlZmVyICAgCjUuIEVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMgICAKNi4gTmV1d2FobGVuIChsYXV0IFNhdHp1bmcgbXVzcyB0dXJudXNnZW1hZXNzIGRlciBrb21wbGV0dGUgVm9yc3RhbmQgbmV1ICAgCiAgIGdld2FlaGx0IHdlcmRlbikgICAKNy4gVm9yc2NoYXUgYXVmIGRhcyBKYWhyIDE5OTcgKEFrdGl2aXRhZXRlbiBkZXMgVmVyZWlucyBpbSBKYWhyIDE5OTcpICAgICAgCjguIFZlcnNjaGllZGVuZXMgICAgICAKIApEZXIgZ2VuYXVlIFplaXRwdW5rdCB1bmQgT3J0IHdpcmQgbm9jaCBiZWthbm50Z2VnZWJlbi4KIApNaXRnbGllZGVyLCBkZXJlbiBNaXRnbGllZHNhbnRyYWcgYmlzIHp1bSBCZWdpbm4gZGVyIEdWIHZvcmxpZWd0IGtvZW5uZW4Kc2VsYnN0dmVyc3RhZW5kbGljaCBnZXJuZSB0ZWlsbmVobWVuLgogCkdydWVzc2UKIApLaXJrQE1HCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3b2xsdCBpaHIgbWVpbiBnZWxkIG5pY2h0PyAoS2FydG9mZmVsLCAyOS4gSmFuIDE5OTcsIDIzOjAyOjI5KToKSGFsbG9lY2hlbiB6dXNhbW1lbiwKCm1hbCBuZSBnYW56IGR1bW1lIEZyYWdlOgpJY2ggaGFiIEVuZGUgQXVndXN0L0FuZmFuZyBTZXB0ZW1iZXIgOTYgbWVpbmUgQW5tZWxkdW5nIHVuZCB3YXMgd2Vpc3MgaWNoCm5pY2h0IGFsbGVzIGZ1ZXIgZGVuIEZvZXJkZXJ2ZXJlaW4gYW4gZGllIChhdWYgZGVtIGluIEJlcmxpbiB2ZXJ0ZWlsdGVuCkFudHJhZWdlbikgYW5nZWdlYmVuZSBBZHJlc3NlIGdlc2NoaWNrdCB1bmQgc2VpdGRlbSBuaXggbWVociBnZWhvZXJ0LgpFcyBpc3QgYXVjaCBuaWNodHMgYWJnZWJ1Y2h0IHdvcmRlbiAod2FzIG1pY2ggbm9jaCBtZWhyIHd1bmRlcnQpLCBpY2ggZGVuayBJaHIKYnJhdWNodCBkYXMgR2VsZD8KCkthcnRvZmZlbCAqdmVyd3VuZGVydCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3b2xsdCBpaHIgbWVpbiBnZWxkIG5pY2h0PyAoQ2F0d2VhemxlLCAgNy4gRmViIDE5OTcsIDE5OjQxOjI1KToKfiMhIHJuPUthcnRvZmZlbCBydD04NTQ1NzUzNDkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg1NDU3NTM0OQpIaSEKCkVzIGdpYnQgZWluZSBBYnNwcmFjaGUsIGRhcyBNaXRnbGllZGVyLCBkaWUgaW0gbGV0enRlbiBRdWFydGFsIGRlcyBKYWhyZXMgCmJlaXRyZXRlbiBlcnN0IGZ1ZXIgZGFzIGZvbGdlbmRlIEphaHIgTWl0Z2xpZWRzYmVpdHJhZWdlIGVudHJpY2h0ZW4gbXVlc3Nlbi4KQW5zY2hlaW5lbmRlIGJpc3QgRHUgZGEga25hcHAgcmVpbmdlcnV0c2NodC4gCkljaCB3YXIgZGVyIE1laW51bmcsIGRhcyB3dWVyZGUgYXVjaCBzbyBpbiBkZXIgU2F0enVuZyBzdGVoZW4sIGFiZXIgaWNoIAprb25udGUgZWluZW4gZW50c3ByZWNoZW5kZW4gUGFzc3VzIG5pY2h0IGZpbmRlbi4uLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJlaW5zc2l0enVuZyAoQ2F0d2VhemxlLCAxMS4gRmViIDE5OTcsIDIxOjQ0OjQ3KToKSGkhCgpJY2ggc3RlbGxlIHNvZWJlbiBtaXQgZW50c2V0emVuIGZlc3QsIGRhc3MgaWNoIGhpZXIga2VpbmVuIEhpbndlaXMgYXVmIGRpZSAKVmVyZWluc3NpdHp1bmcgZmluZGUhCgpFcyBpc3QgZ2VwbGFudCwgZGllIGRpZXNqYWVocmlnZSBWb2xsdmVyc2FtbWx1bmcgYW0gUGFydHktV29jaGVuZW5kZSBpbiAKa2FybHNydWhlIHN0YXR0ZmluZGVuIHp1IGxhc3NlbiwgVW5kIHp3YXIgYW0gU2Ftc3RhZyBkZW0gMjIuIEZlYnJ1YXIuCkRhIGRhcyBoaWVyIGJpc2hlciBuaWNodCBhbmdla3VlbmRpZ3Qgd3VyZGUsIHNjaGVpbnQgbWlyIGRhcyBlaW4gYmlzc2NoZW4gCmtuYXBwIGJlbWVzc2VuIHp1IHNlaW4gOigKSG0sIGljaCBoYWx0ZSBkYSBqZXR6dCBlcnN0bWFsIGRyYW4gZmVzdC4gSmFhLCBpY2ggd2Vpc3MsIGRhcyB3aXIgZWluZSAKVmllcndvY2hlbmZyaXN0IGhhYmVuLCBhYmVyIGRhZnVlciBpc3NlcyAoenVtaW5kZXN0IGFuIGRpZXNlciBTdGVsbGUpCnp3ZWkgV29jaGVuIHp1IHNwYWV0LiAKClNvLCBpY2ggd2FydGUgamV0enQgaGllciBhdWYgUmVzb25hbnosIG9iIGRhcyBpbiBPcmRudW5nIGdlaHQuIEZ1ZXIgCmRpZXNlIFJlc29uYW56IHNpbmQgaGF1cHRzYWVjaGxpY2ggTWl0Z2xpZGVyIGRlcyBWZXJlaW5zIGJldHJvZmZlbi4KCkljaCBtb2VjaHRlIGRhcmF1ZiBoaW53ZWlzZW4sIGRhcyBkaWUgZGllc2phZWhyaWdlIFZlcmVpbnNzaXR1bmcgZWluZSAKc2VociBfd2ljaHRpZ2VfIGlzdC4gRGVyIFZlcmVpbiBleGlzdGllcnQgc2VpdCAyIEphaHJlbiwgZWJlbnNvIGRlciBWb3JzdGFuZApkZXIgYXVzIGRpZXNlbSBHcnVuZCBuZXVnZXdhZWhsdCB3ZXJkZW4gbXVzcy4gRGEgc2ljaCBpbSBWb3JzdGFuZCBhbGxlciAKVm9ycmF1c3NpY2h0IG5hY2ggZWluaWdlcyBhZW5kZXJuIHdpcmQsIGhvZmZlIGljaCwgZGFzIHZpZWxlIE1pdGdsaWVkZXIKZXJzY2hlaW5lbiB3ZXJkZW4hIEViZW5zbyB3aWNodGlnIGVyYWNodGUgaWNoIGVzIGRpZXNlcyBKYWhyIGVpbiB3ZW5pZyAKYmVzc2VyIHVuZCBzdHJhZmZlciBkdXJjaHp1cGxhbmVuIGFscyBkYXMgZWhlciBsYXVlIGxldHp0ZSA6KAoKSWNoIGhhbHRlIGVzIHByaW56aXBpZWxsIGZ1ZXIgYmVzc2VyIGRpZSBTaXR6dW5nIGF1ZiBlaW5lbiBQYXJ0eXRlcm1pbiB6dSAKbGVnZW4sIGRhIGRhbm4gRXJmYWhydW5nc2dlbWFlc3MgbWVociBMZXV0ZSBrb21tZW4gYWxzIHp1IGVpbmVtIFp3aXNjaGVuLQpzZW1zdHJpZ2VuIFRlcm1pbiAod2llIG1hbiBpbSBsZXR6dGVuIGphaHIgZ2VzZWhlbiBoYXQpLCB1bmQgaG9mZmUgZGFoZXIsCmRhcyBkaWVzZXIgKGt1cnpmcmlzdGlnZSkgVGVybWluIG5vY2gga2xhcHB0LiAKCkljaCBrYW5uIG1vcmdlbiBlaW5lbiBUYWdlc29yZG51bmdzcGxhbiB2ZXJvZWZmZW50bGljaGVuLCBkZXIgZGFubiBiaXR0ZQpqZSBuYWNoIE1pdGdsaWRlcnd1ZW5zY2hlbiBlcndlaXRlcnQgb2RlciBrb3JyaWdpZXJ0IHdlcmRlbiBrYW5uLgoKWmVpdCB1bmQgZ2VuYXVlIE9lcnRsaWNoa2VpdCB3ZXJkZSBpY2ggaG9mZmVudGxpY2ggZWJlbnNvYmFsZCB2b24gQm9pbmcKKHJ3aW5rZSBCb2luZykgZXJmYWhyZW4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKMi4gVm9yc2l0emVuZGVyIEZWUE1HZVYKClBTOiBXZXIgYWJzb2x1dCBuaWNodCB2ZXJzdGVodCwgd29ydW0gZXMgaW4gZGllc2VtIEFydGlrZWwgZ2VodCwgc29sbHRlIG5pY2h0CiAgICBtaXQgZGVuIFNjaHVsdGVybiB6dWNrZW4sIHNvbmRlcm4gc2ljaCB3ZWl0ZXJiaWxkZW4uIEVtcGZvaGxlbmUgTGVrdHVlcmUgCiAgICBpc3QgekI6IGh0dHA6Ly9zYW50YW5hLnVuaS1tdWVuc3Rlci5kZS9+bXVkL0luZm9ybWF0aW9uL01HZVYvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyZWluc3NpdHp1bmcgKE1haGF0bWEsIDExLiBGZWIgMTk5NywgMjE6NTI6MDUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg1NTY5Mzg4NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU1NjkzODg3CgpLaXJrIGhhdCBkaWUgVmVyc2FtbWx1bmcgaW4gZWJlbmRpZXNlciBSdWJyaWsgYmVyZWl0cyBhbSAyMi4gSmFudWFyIGFuZ2VrdWVuLQpkaWd0IChBcnRpa2VsIDEsIHN0ZWh0IHNvZ2FyIG5vY2ggZHJpbikuIERlbW5hY2ggd3VyZGUgZGllIDQtV29jaGVuLUZyaXN0CmVpbmdlaGFsdGVuLiBJY2ggZ2xhdWIsIGRhIHdpcmQgamVtYW5kIGFsdCA7KQoKTWFoYXRtYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJlaW5zc2l0enVuZyAoWWFudHJvLCAxMi4gRmViIDE5OTcsIDA4OjU5OjMzKToKfiMhIHJuPU1haGF0bWEgcnQ9ODU1Njk0MzI1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NTU2OTM4ODcKCkF1c3NlcmRlbSBzb2xsdGVuIGFuIGFsbGUgVmVyZWluc21pdGdsaWVkZXIgcGVyIFJMUG9zdCBFaW5sYWR1bmdlbiBnZWdhbmdlbgpzZWluIHVuZCBkYXMgYXVjaCBmcmlzdGdlcmVjaHQuLi4gICB3ZW5uIG5pY2h0LCBkYW5uIGlzdCB3aXJrbGljaCBlaW5lClRlaWxlcm5ldWVydW5nIGRlcyBWZXJlaW5zIHZvbiBOb2V0ZW4gOikKCllhbnRybyBkZXIgSGV0emVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmVyZWluc3NpdHp1bmcgKEtyZXRlaywgMTIuIEZlYiAxOTk3LCAxMzo1OToxMyk6Cn4jISBybj1ZYW50cm8gcnQ9ODU1NzM0MzczIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NTU2OTM4ODcKQWxzbywgaWNoIGhhYiBfa2VpbmVfIFJMLVBvc3QtRWlubGFkdW5nIGJla29tbWVuISAqKmNobW9sbCoqCgoKICAgICAgIHwgLyAgfFwgIHwtLSAgLS0tICB8LS0gIHwgLwogICAgICAgfDwgICB8LyAgfC0gICAgfCAgIHwtICAgfDwKICAgICAgIHwgXCAgfFwgIHwtLSAgIHwgICB8LS0gIHwgXAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmVpbnNzaXR6dW5nIChCb2luZywgMTMuIEZlYiAxOTk3LCAxNToyODo0OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODU1NjkzODg3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NTU2OTM4ODcKQWxzbyBkaWUgZ2VuYXVlIE9lcnRsaWNoa2VpdCB3aXJkIGVpbmVyIGRlciBSYWV1bWUgaW0gYWx0ZW4gU3RhZGlvbiBzZWluCihyaWNodGlnLCBkb3J0IGlzdCBhdWNoIGRpZSBGZXRlKS4gR2VuYXVlIFplaXQgLi4uIGhtbSAuLi4gaWNoIHNjaGFldHplCmFtIFNhbXN0YWcgTmFjaG1pdHRhZyBpcmdlbmR3YW5uIC4uLiB3aXIgbWFjaGVuIGhldXRlIGFiZW5kIG1hbCBuZW4gClplaXRwbGFuLCBpY2ggZGVua2UgZGVuIHdlcmRlIGljaCBkYW5uIG1vcmdlbiBpbiBkZXIgUnVicmlrIHBhcnR5CnBvc3Rlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmVyZWluc3NpdHp1bmcgKENhdHdlYXpsZSwgMTMuIEZlYiAxOTk3LCAyMDoyMjo0Nik6Cn4jISBybj1ZYW50cm8gcnQ9ODU1NzM0MzczIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NTU2OTM4ODcKSGkhCgpQdWgsIGRhcyBBbHRlciAuLi4KT2ssIGlzdCB0YXRzYWVjaGxpY2ggc2Nob24gZ2Vwb3N0ZWQsIGljaCBtdXNzIGJsaW5kIHNlaW4uIE5laG10IEV1Y2ggdHJvdHotCmRlbSBtZWluZW4gQXJ0aWtlbCB6dSBoZXJ6ZW4sIHp1bWluZGVzdCwgd2FzIGRhcyBFcnNjaGVpbmVuIHVuZCBldnRsLiBlaW5lIApFcmdhZW56dW5nIGRlciBUYWdlc29yZG51bmcgYmV0cmlmZnQuIFdlbm4gaGFsdCBzbyBfZ2FyXyBuaXggenVydWVja2tvbW10LApmYW5nIGljaCBoYWx0IGFuIHp1IGZyYWdlbi4gV0VOTiBpaHIgYWxzbyBub2NoIHdhcyB6dSBtYWVrZWxuIGhhYnQsIG1haWx0IGVzIAphbiBtZ2V2QG1nLnVuaS1tdWVuc3Rlci5kZQoKClp1IGRlbSBBbnNjaHJlaWJlbjogRXMgaXN0IGxhdXQgU2F0enVuZyBuaWNodCBub3R3ZW5kaWcsIGplZGVuIGVpbnplbG4gCmFuenVzY2hyZWliZW4sIHNvbmRlcm4gbGVkaWdsaWNoIGVpbmUgYWxsZ2VtZWluZSBWZXJvZWZmZW50bGljaHVuZyBpbiBlaW5lcgppbiBNdWVuc3RlciBhbnNhZXNzaWdlbiBaZWl0dW5nLCBkZXIgJ01aJy4gRGFzIHp3YXIga29ycmVrdGVyd2Vpc2UgZnVlciBkZW4KQXIqKiosIGFiZXIgd2lyIGhhYmVuIGJlaSBkZXIgR3J1ZW5kdW5nIGRhaGVyIGZvbGdlbmRlbiBrbGVpbmVuIFBhc3N1cyBhdWYtCmdlbm9tbWVuOiAnRGVyIFZvcnN0YW5kIGlzdCBnZWhhbHRlbiBkaWUgRWlubGFkdW5nIHp1c2FldHpsaWNoIGluIGRlciBWZXJlaW5zLQp6ZWl0dW5nIGJla2FubnQgenUgZ2ViZW4nLiBEaWUgVmVyZWluc3plaXR1bmcgaXN0IG5hdHVlcmxpY2ggZGllIE1QQSwgYXVzc2VyLQpkZW0gaXN0IGRhcyBzY2h3YW1taWcgZ2VudWcgZm9ybXVsaWVydCwgZGFzIGljaCBhdWNoIG1pdCBtZWluZXIga3VyemVuCkZyaXN0IG5vY2ggZHVyY2hnZWtvbW1lbiB3YWVyZSA6KQoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWZXJlaW5zc2l0enVuZyAoR3JpbW1ib3JuLCAxMy4gRmViIDE5OTcsIDIwOjI2OjMxKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NTU4NjE3NjYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg1NTY5Mzg4NwpBbHNvLCB6dXNhZXR6bGljaCBpc3QgamEgbmljaHQgInN0YXR0IGRlc3NlbiIuIE5laW4sIGljaCB3aWxsIG5pY2h0IG1lY2tlcm4sCmFiZXIgZWluZSBTYXR6dW5nc2FlbmRlcnVuZyB3YWVyZSBkb2NoIGFuIGRlciBTdGVsbGUgdmllbGxlaWNodCBhbmdlYnJhY2h0LApvZGVyPwpBbnNvbnN0ZW4gZ2lsdCBoYWx0OiBXbyBrZWluIEtsYWVnZXIgaXN0LCBpc3QgYXVjaCBrZWluIFJpY2h0ZXIuCgpHcmltbWJvcm4gZGVyIEtsYV5IXkheSEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZlcmVpbnNzaXR6dW5nIChBbmF0b2wsIDEzLiBGZWIgMTk5NywgMjA6Mjc6NTMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg1NTg2MTk5MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU1NjkzODg3CgpXbyBpbW1lciBZYW50cm8gaXN0LCBpc3QgaW1tZXIgZWluZXIsIGRlciBldHdhcyB6dSBtb3Nlcm4gaGF0LgpWaWVsbGVpY2h0IHNvbGx0ZSBkZXIgVGhyZWFkIG5hY2ggJ3NjaG1hcnJuJy4KCkFuYXRvbAoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWZXJlaW5zc2l0enVuZyAoR3JpbW1ib3JuLCAxMy4gRmViIDE5OTcsIDIwOjI5OjAyKToKfiMhIHJuPUFuYXRvbCBydD04NTU4NjIwNzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg1NTY5Mzg4NwpJY2ggYmluIG5pY2h0IFlhbnRyby4KQWJlciBkZW4gQW50cmFnLCBkZW4gdGhyZWFkIG5hY2ggc2NobWFycm4genUgdmVybGVnZW4gdW50ZXJzdHVldHplIGljaC4gV2lyCnNvbGx0ZW4gaWhuIGF1ZiBkaWUgVGFnZXNvcmRudW5nIHNldHplbi4KCkdyaW1tYm9ybiBkZXIgS2FuaW5jaGVuenVlY2h0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZlcmVpbnNzaXR6dW5nIChTbXVyZiwgMTMuIEZlYiAxOTk3LCAyMjo0MjoxMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODU1ODYxOTkxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NTU2OTM4ODcKTGVpZGVyIG1vc2VybiBkaWUgUmVnaXN0ZXJnZXJpY2h0c2xldXRlIGltbWVyIG5vY2gsIHdlbm4gbWFuIHZlcnN1Y2h0LApFaW5sYWR1bmdlbiB6dSBWZXJlaW5zc2l0enVuZ2VuIHVuZCBhZWhubGljaGUgU2FjaGVuIGF1ZiBudXItZWxla3Ryb25pc2NoZW0KV2VnIHZlcmJyZWl0ZW4genUgd29sbGVuLgoKTWFuIGtvZW5udGUgbmF0dWVybGljaCByZWluc2NocmVpYmVuLCBkZXIga3JhbSB3aXJkIGluIGRlciBWZXJlaW5zemVpdHVuZwpiZWthbm50Z2VnZWJlbiwgdW5kIGRhc3MgZGFzIFRlaWwgd2FzIEVsZWt0cm9uaXNjaGVzIGlzdCB3ZWlzcyBrZWluZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZlcmVpbnNzaXR6dW5nIChHdWxkdWthdCwgMTYuIEZlYiAxOTk3LCAyMDowMzoyMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODU1ODYxNzY2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NTU2OTM4ODcKCkFiZXIgZGllc21hbCBtYWNoc3QgZHUgZGllIGFicmVjaG51bmcgZWluIHBhYXIgc3R1bmRlbiB2b3JoZXIgZmV0dGlnLCBjYXQ/IDstRApHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BlaXNjaGVyISAoQ2F0d2VhemxlLCAgNC4gTWFyIDE5OTcsIDE3OjUzOjMzKToKSGkhCgpBbHNvIGFiZ2VzZWhlbiBkYXZvbiwgZGFzIG5vY2ggbmljaHQgZ2VudWcgR2VsZCBkYSBpc3QsIGhhYmUgaWNoIG5vY2gKendlaSB3ZWl0ZXJlIFByb2JsZW1jaGVuLgoKQWVoLCBoYWx0LCB6dW5hZWNoc3QgZnVlciBhbGwgZGllLCBkaWUgbmljaHQgYXVmIGRlciBWb2xsdmVyc2FtbWx1bmcgCmRhYmVpIHdhcmVuOgoKQXVmIGRlciBNaXRnbGllZGVydm9sbHZlcnNhbW1sdW5nIHd1cmRlIGJlenVlZ2xpY2ggZGVzIFNwZWljaGVyYXVzYmF1cyAKdm9uIE1HIGJlc2NobG9zc2VuLCBkYXMgd2lyIGF1ZiAyNTYgTUIgYXVmcnVlc3RlbiwgdW5kIHp3YXIgaW4gMiBTY2hyaXR0ZW4sCnp1bmFlY2hzdCBqZXR6dCBVbWJhdSBkZXIgU0lNTXMgdm9uIDQqMzIgYXVmIDIqNjQsIHNwYWV0ZXIsIHNvYmFsZCBHZWxkIGRhCmlzdCBOYWNoc3RvcGZlbiB2b24gd2VpdGVyZW4gMiA2NE1CLVNJTU1zLgoKUHJvYmxlbSBlaW5zOiBJY2ggaGFiIG5vY2ggbmljaHQgR2VsZCBnZW51ZyAoU3BlbmRlbiwgTWl0Z2xpZWRzYmVpdHJhZWdlKSB1bmQgCmF1ZmdydW5kIGRlcyBzdGVpZ2VuZGVuIERvbGxhcnMgd2VyZGVuIGRpZSBTSU1NcyBpbW1lciB0ZXVyZXIuCgpQcm9ibGVtIHp3bzogSWNoIGtyaWVnZSBkaWUgNjRNQi1FRE8gU0lNTXMgbmljaHQuCgpPSywgUHJvYmxlbSAyIGlzdCBuaWNodCBfZ2Fuel8gcmljaHRpZy4gSWNoIGhhYmUgaGV1dGUgenVtIGFsbGVyZXJzdGVuIG1hbCAKZWluIEVETy1TSU1NIGluIDY0ZXIgR3JvZXNzZSBhbmdlYm90ZW4gYmVrb21tZW4uIEt1cnogZGFyYXVmIGhhYmUgaWNoIGtyYWVmdGlnCmdlc2NobHVja3QuCgpFaW4gNjRNQi1QUy8yLVNJTU0gZHVlcmZ0ZSBtb21lbnRhbiBiZWkgY2EuIDg1MERNY2hlbiBsaWVnZW4uIERlbiBFRE8gZGVuIGljaCAKaGV1dGUgZ2VzZWhlbiBoYWJlIGxhZyBmdWVyIGRpZSBnbGVpY2hlIEdyb2Vzc2UgYmVpID4gMTcwMERNY2hlbiwgYWxzbyAKemllbWxpY2ggZ2VuYXUgZGFzIERvcHBlbHRlIDooCgpNZWluIFZvcnNjaGxhZzogSWNoIGRhIHdpciA1MTJLQiBDYWNoZSBoYWJlbiwgaXN0IGRpZSBIaXRyYXRlIGF1cyBkZW0gQ2FjaGUgc28KaG9jaCwgZGFzIGRlciBHZXNjaHdpbmRpZ2tlaXRzdm9ydGVpbCBkZXMgRURPcyBnZWdlbnVlYmVyIGRlbSBQUy8yCnZlcnNjaHdpbmRlbmQgZ2VyaW5nIHdpcmQuIEljaCBzY2hhZXR6ZSBpaG4gYXVmIGNhLiAyLTMlLiBGdWVyIGRpZXNlbiBnZXJpbmdlbgpQZXJmb3JtYW5jZWdld2lubiB3YWVyZSBpY2ggbmljaHQgYmVyZWl0IHNvdmllbCBHZWxkIHp1IGJlemFobGVuLgoKRGllIGFsdGVybmF0aXZlIHdhZXJlIHNvIGxhbmdlIHp1IHdhcnRlbiwgYmlzIGRlciBFRE8tUHJlaXMgZGVuIFBTLzItUHJlaXMgCnVudGVyZmxvZ2VuIGhhdCAod2FzIG10IFNpY2hlcmhlaXQgcGFzc2llcmVuIHdpcmQpLCBhYmVyIGljaCBoYWIga2VpbmUgQWhudW5nIAp3byBEQU5OIGRhcyBQcmVpc25pdmVhdSBsaWVnZW4gd2lyZC4gCkljaCB0ZW5kaWVyZSBkYWhlciBlaGVyIHp1IGRlbiBQUy8yLVNJTU1zLgoKQW55IGNvbW1lbnRzPwoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlaXNjaGVyISAoR3JpbW1ib3JuLCAgNC4gTWFyIDE5OTcsIDE3OjU3OjI2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NTc0OTQ0MTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg1NzQ5NDQxMwpUdSBtYWwuCgpHZEEgZmluZGV0LCBkYXMgaG9lcnQgc2ljaCB2ZXJudWVuZnRpZyBhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BlaXNjaGVyISAoT2V0dGksICA0LiBNYXIgMTk5NywgMTc6NTg6NDQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg1NzQ5NDY0NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU3NDk0NDEzCkljaCBiaW4ga2VpbiBNaXRnbGllZCwgYWJlciBpbW1lciBkYWZ1ZXIgIQoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlaXNjaGVyISAoQXN0YXIsICA0LiBNYXIgMTk5NywgMTc6NTk6NDcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg1NzQ5NDQxMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU3NDk0NDEzCkhtbSBkZXIgUHJlaXMgaG9lcnQgc2ljaCB3aXJrbGljaCB6dSBob2NoIGFuIHVuZCB3ZW5uIGRlcgpHZXNjaHdpbmRpZ2tlaXRzdm9ydGVpbCBzbyBnZXJpbmcgaXN0IGxvaHQgZXMgc2ljaCBuaWNodC4KCkFzdGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwZWlzY2hlciEgKEd1bGR1a2F0LCAgNC4gTWFyIDE5OTcsIDE4OjQ3OjExKToKfiMhIHJuPUFzdGFyIHJ0PTg1NzQ5NDc4NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU3NDk0NDEzCmxhc3MgZGVuIGNhY2hlIHdlZyEKd2VubiBkdSBlZG8gcmFtcyBoYXN0LCBicmF1Y2hzdCBkdSBkb2NoIGtlaW5lbiBjYWNoZSBtZWhyLCBvZGVyID8gCjotRApHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BlaXNjaGVyISAoTHVnLCAgNC4gTWFyIDE5OTcsIDIyOjM2OjM2KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg1NzQ5NzYzMSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU3NDk0NDEzCk1hbCBlaW5lbiBTYXR6IG9obmUgZ3Jvc3NlIEFobnVuZzoKQnVyc3QgUGlwZWxpbmUgbmVobWVuIHVuZCBhdWYgRWRvIHZlcnppY2h0ZW4/Ckx1ZyBkZXIgRGlsZXR0YW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlaXNjaGVyISAoVGVkZHksICA1LiBNYXIgMTk5NywgMDg6MTU6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg1NzQ5NDQxMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU3NDk0NDEzClVwcyA6LSgKQWxzbyBtZWluZW4gU2VnZW4gaGFzdCBkdSwgZmFsbHMgZGFzIGhpZXIgbmUgQXJ0IEFic3RpbW11bmcgd2lyZC4gCkRhIElNSE8genVyIFplaXQgZGllIDE2IE1EIFN0YW5kYXJkIHNpbmQsIGtvZW5udGUgZXMgd29obCBub2NoIGV0d2FzIGRhdWVybiwKYmlzIGRpZTY0IE1CIGFuZ2VwYXNzdCBzaW5kLgoKVGVkZHksIHVuZ2VmcmFndCB1bmQgZG9jaCBnZWFudHdvcnRldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BlaXNjaGVyISAoVGVkZHksICA1LiBNYXIgMTk5NywgMDg6MTU6NDkpOgp+IyEgcm49T2V0dGkgcnQ9ODU3NDk0NzI0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NTc0OTQ0MTMKV2FydW0gYmlzdCBkdSBrZWluIE1pdGdsaWVkIDotKApUZWRkeS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwZWlzY2hlciEgKFRlZGR5LCAgNS4gTWFyIDE5OTcsIDA4OjE2OjQxKToKfiMhIHJuPUx1ZyBydD04NTc1MTEzOTYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg1NzQ5NDQxMwpEYXMgd2FyIGdlbmF1IENhdCogVm9yc2NobGFnLgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BlaXNjaGVyISAoTmlyZGF2bywgIDUuIE1hciAxOTk3LCAxNzowNzo1Nik6Cn4jISBybj1HdWxkdWthdCBydD04NTc0OTc2MzEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg1NzQ5NDQxMwpBUkdMISBTY2hvbiB3aWVkZXIgamVtYW5kLCBkZXIgYmVoYXVwdGV0LCBkYXNzIEVETyBvaG5lIENhY2hlIGdlbmF1IHNvIHNjaG5lbGwKaXN0LCB3aWUgbm9ybWFsLVNwZWljaGVyIG1pdCEgRGFzIGlzdCBVbnNpbm4gKEljaCBoYWJzIHNlbGJzdCBnZXRlc3RldCkgRURPCm9obmUgY2FjaGUgaXN0IGVyaGVibGljaCBsYW5nc2FtZXIgYWxzIERSQU0vQ2FjaGUuIEtvcnJla3Qgd2FlcmUgZXMgenUgc2FnZW4sCmRhc3MgRURPL0FzeW5jIENhY2hlIHVuZCBEUkFNL0J1cnN0Y2FjaGUgZXR3YSBnbGVpY2ggc2NobmVsbCBzaW5kLiBEaWUgYmVzdGUKS29tYmkgaXN0IG5hdHVlcmxpY2ggRURPL0J1cnN0LCBicmluZ3QgZ2VnZW51ZWJlciBEUkFNL0J1cnN0IGFiZXIgbnVyIGNhLiA1JQooV2llIENhdCogcmljaHRpZyBiZW1lcmt0ZSkuIEFsc28gSU1ITyBpc3QgRFJBTS9CdXJzdCA1MTIgZGllIHByZWlzZ3VlbnN0aWdzdGUKTG9lc3VuZy4KCiAgICAgICAgICAgTmlyZGF2bywgbXVzcyBhdWNoIG1hbCB3aWVkZXIgc2VuZmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGVpc2NoZXIhIChUZWRkeSwgIDUuIE1hciAxOTk3LCAxNzoyMTowNyk6Cn4jISBybj1OaXJkYXZvIHJ0PTg1NzU3ODA3NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU3NDk0NDEzCkRlciBLb21tZW50YXIgd2FyIHNvIGFsdCB1bmQgZGFuZWJlbiwgZGFzIGVyIGVpZ2VudGxpY2ggbnVyIHVudGVyIGRpZSBSdWJyaWsKc2NobWFycm4gZ2Vob2VyZW4ga29ubnRlLiA7KQpTZWxic3R2ZXJzdGFlbmRsaWNoIGlzdCBFRE8gb2huZSBDYWNoZSBsYW5nc2FtZXIsIGF1c3NlcmRlbSB3aXJkIHdvaGwgbmllbWFuZAphdWYgZGllIElkZWUga29tbWVuLCBkZW4gdm9yaGFuZGVuZW4gQ2FjaGUgYXVzenViYXVlbiB1bmQgenUgdmVya2F1ZmVuLCB1bQpmdWVyIHZpZWwgR2VsZCBkYW5uIEVETyB6dSBrYXVmZW4uIChob2ZmZSBpY2ggamVkZW5mYWxscykgOykKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlaXNjaGVyISAoS3JldGVrLCAgNS4gTWFyIDE5OTcsIDE5OjUzOjQ1KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NTc0OTQ0MTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg1NzQ5NDQxMwpBbHMgemFobGVuZGVzIE1pdGdsaWVkIGRlcyBNRy1WZXJlaW5zIHNhZ2UgaWNoOgogIEtMSU5HVCBET0NIIFZFUk5VRU5GVElHIQoKCiAgICAgICB8IC8gIHxcICB8LS0gIC0tLSAgfC0tICB8IC8KICAgICAgIHw8ICAgfC8gIHwtICAgIHwgICB8LSAgIHw8CiAgICAgICB8IFwgIHxcICB8LS0gICB8ICAgfC0tICB8IFwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwZWlzY2hlciEgKEd1bGR1a2F0LCAgNi4gTWFyIDE5OTcsIDE2OjAyOjQzKToKfiMhIHJuPU5pcmRhdm8gcnQ9ODU3NTc4MDc2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NTc0OTQ0MTMKCmR1IGhhc3QgbWVpbiA7LUQgYmVtZXJrdCEgOykKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGVpc2NoZXIhIChXdXJ6ZWwsICA2LiBNYXIgMTk5NywgMTk6NDg6MDEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg1NzQ5NDQxMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODU3NDk0NDEzCmljaCBoYWJlIG5vY2gga2VpbiBwcm90b2tvbGwgZ2VzZWhlbiwgYWJlciB3ZW5uIGljaCBtaWNoIHJpY2h0aWcgZXJpbm5lcmUKaGFiZW4gd2lyIG51ciBiZXNjaGxvc3NlbiA2NGVyIHp1IG5laG1lbiwgZWRvIHdhciB2aWVsbGVpY2h0IGdlc2FndCwgYWJlcgpuaWNodCBnZWdlbnN0YW5kIGRlciBhYnN0aW1tdW5nIDopIGFsc28gaGF1IHJlaW4sIGNhdCoKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvdG9rb2xsIGQuIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAyMi4wMi4xOTk3IChWaXBlciwgMTIuIE1hciAxOTk3LCAxMToxMTozMCk6ClByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIA0KZGVzIEZvZXJkZXJ2ZXJlaW5zIFByb2pla3QgTW9yZ2VuR3JhdWVuIGUuVi4gDQp2b20gMjIuMDIuMTk5Nw0KCQ0KRGllIGRpZXNqYWVocmlnZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgZmFuZCBhbmxhZXNzbGljaCBkZXMgTW9yZ2VuR3JhdWVuLQ0KVHJlZmZlbnMgaW4gS2FybHNydWhlIGltIGRvcnRpZ2VuIEFsdGVuIFN0YWRpb24gc3RhdHQuIEdlZ2VuIDE2LjAwIFVocg0KZXJvZWZmbmV0ZSBkZXIgMS4gVm9yc2l0emVuZGUgU3RlZmFuIEJvaG0gKEtpcmspIGRpZSBWZXJzYW1tbHVuZyB1bmQNCmJlZ3J1ZXNzdGUgZGllIGFud2VzZW5kZW4gMjkgTWl0Z2xpZWRlciBzb3dpZSBlaW5pZ2UgR2Flc3RlLg0KDQpadW0gQmVnaW5uIGRlciBWZXJzYW1tbHVuZyBzdGVsbHRlIGRlciBWb3JzaXR6ZW5kZSBmZXN0LCBkYXNzIHp1IGRlciANClZlcnNhbW1sdW5nIHNhdHp1bmdzZ2VtYWVzcyBnZWxhZGVuIHdvcmRlbiBzZWksIHVuZCB2ZXJsYXMgZGllIFRhZ2VzLQ0Kb3JkdW5nIGRlciBWZXJzYW1tbHVuZy4gRWlud2FlbmRlIGdlZ2VuIGRpZSBiZWthbm50Z2VnZWJlbmUgVGFnZXNvcmRudW5nIA0Kd3VyZGVuIG5pY2h0IGdlbHRlbmQgZ2VtYWNodC4NCg0KVE9QIDE6ICBTb21pdCBnaW5nIGRlciBWb3JzaXR6ZW5kZSB6dW0gZXJzdGVuIFB1bmt0IGRlciBUYWdlc29yZG51bmcgDQoJdWViZXIsIGRlciBSdWVja3NjaGF1IGF1ZiBkYXMgSmFociAxOTk2LiBEZXIgVm9yc2l0emVuZGUga29ubnRlIA0KCWxlaWRlciBuaWNodCB2b24gdmllbGVuIEFrdGl2aXRhZXRlbiBiZXJpY2h0ZW4sIGxlZGlnbGljaCBlaW4gDQoJTFBDLVNlbWluYXIgaGFldHRlIGluIEJpZWxlZmVsZCBzdGF0dGdlZnVuZGVuLiBJbSBNYWkgaGFldHRlIA0KCWRlciBWZXJlaW4gZWluZSBlcnN0ZSBTaXR6dW5nIGFsbGVyIE1VRHMgYXVzIERldXRzY2hsYW5kIG9yZ2FuaS0NCglzaWVydCBtaXQgZGVtIFppZWwsIGVpbmVuIERhY2h2ZXJiYW5kIHp1IHNjaGFmZmVuLiBEaWVzZSBaaWVsLQ0KCXNldHp1bmcgc2VpIGFiZXIgaW0gSmFociAxOTk2IG5vY2ggbmljaHQgdmVyd2lya2xpY2h0IHdvcmRlbi4gDQoJQW5zb25zdGVuIGtvbm50ZSBkZXIgVm9yc2l0emVuZGUgZGF2b24gYmVyaWNodGVuLCBkYXNzIGRlciANCglSZWNobmVyLCBhdWYgZGVtIGRhcyBNb3JnZW5HcmF1ZW4gYmV0cmllYmVuIHdpcmQsIGF1c2dlYmF1dCANCgl3b3JkZW4gc2VpLCB1bSBkZW4gZ2VzdGllZ2VuZW4gQW5zcHJ1ZWNoZW4gZ2VyZWNodCB6dSB3ZXJkZW4uDQoNCglEZXIgU2NocmlmdGZ1ZWhyZXIgS2FybC1IZWlueiBCb3Nhd2UgKFZpcGVyKSBlcmdhZW56dGUgZGVuIA0KCUJlcmljaHQgZGVzIFZvcnNpdHplbmRlbiBub2NoIG1pdCBkZXIgTWl0dGVpbHVuZywgZGFzcyBpbSBKYWhyZSANCgkxOTk2IDE1IG5ldWUgTWl0Z2xpZWRlciBpbiBkZW4gVmVyZWluIGVpbmdldHJldGVuIHNlaWVuLiBBdXMtDQoJdHJpdHRlIGhhZXR0ZSBlcyBrZWluZSBnZWdlYmVuLCBzbyBkYXNzIHp1bSAzMS4xMi4xOTk2IGVpbiANCglNaXRnbGllZGVyYmVzdGFuZCB2b24gNzYgdmVybWVsZGV0IHdlcmRlbiBrb25udGUuIA0KDQpUT1AgMjogIEltIG5hZWNoc3RlbiBUYWdlc29yZG51bmdzcHVua3Qgc3RlbGx0ZSBkZXIgS2Fzc2VuZnVlaHJlciANCglDaHJpc3RpYW4gU2NoaWxkIChDYXR3ZWF6bGUpIGVpbmUgcmVsYXRpdiBnZXN1bmRlIEZpbmFuemxhZ2UgDQoJZGVzIFZlcmVpbnMgdm9yLiBBbGxlcmRpbmdzIHNlaWVuIGltIEphaHIgMTk5NiBudXIgNTUgRE0gYW4gDQoJU3BlbmRlbiBlaW5nZWdhbmdlbiwgd2FzIGZ1ZXIgYXVzc2VyZ2V3b2VobmxpY2hlIEFuc2NoYWZmdW5nZW4gDQoJa2VpbmVzd2VncyByZWljaGVuIGtvZW5uZS4gRGllIE1pdGdsaWVkZXJiZWl0cmFlZ2Ugc2VpZW4gbWl0IA0KCXdlbmlnZW4gQXVzbmFobWVuIHB1ZW5rdGxpY2ggYmV6YWhsdCB3b3JkZW4uIERlciBWb3JzaXR6ZW5kZSANCgliZWRhbmt0ZSBzaWNoIGJlaW0gS2Fzc2VuZnVlaHJlciBmdWVyIGRpZSBnZWxlaXN0ZXRlIEFyYmVpdC4NCg0KVE9QIDM6ICBEZXIgQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlciBzdGFuZCBhbHMgbmFlY2hzdGVzIGF1ZiBkZXIgICAgICAgICAgICAgICANCglUYWdlc29yZG51bmcuIE1vbmlrYSBTdHJ1bnogKEx1emllKSB0ZWl0ZSBtaXQsIGRhc3Mgc2llIA0KCW1pdCBCYXJiYXJhIEx1bml0eiAoQWxpbmUpIGFtIDI4LjAxLjE5OTcgZGllIEthc3NlIHVuZCANCglpbnNiZXNvbmRlcmUgZGllIEthc3NlbmZ1ZWhydW5nIGdlcHJ1ZWZ0IGhhYmUuIERpZSANCglLYXNzZW5mdWVocnVuZyBzZWkgbmljaHQgenUgYmVhbnN0YW5kZW4sIGRpZSBLYXNzZSBzdGltbWUuIA0KCVNpZSBiZWFudHJhZ3RlIGRhaGVyIGRlbSBLYXNzZW5mdWVocmVyIHVuZCBkZW0gZ2VzYW10ZW4gDQoJVm9yc3RhbmQgRW50bGFzdHVuZyB6dSBlcnRlaWxlbi4NCg0KVE9QIDQ6ICBJbSB2aWVydGVuIFRhZ2Vzb3JkbnVuZ3NwdW5rdCBmYW5kIGRhbm4gZGllIEFic3RpbW11bmcgdWViZXIgDQoJZGVuIEFudHJhZyBhdWYgRW50bGFzdHVuZyBkZXMgVm9yc3RhbmRlcyBzdGF0dC4gRGllIFZlcnNhbW1sdW5nDQoJemVpZ3RlIHNpY2ggbWl0IGRlciBBcmJlaXQgZGVzIFZvcnN0YW5kZXMgenVmcmllZGVuIHVuZCANCgllcnRlaWx0ZSBpaG0gZGVzaGFsYiBlaW5zdGltbWlnIEVudGxhc3R1bmcuDQoNClRPUCA1OiAgVHVybnVzZ2VtYWVzcyBzdGFuZGVuIG51biBkaWUgV2FobGVuIGRlcyBnZXNhbXRlbiBWb3JzdGFuZGVzIGFuLiAgICAgICAgDQoJU3RlZmFuIEJvaG0gdWViZXJuYWhtIHp1bmFlY2hzdCBhbHMgYmlzaGVyaWdlciBWb3JzaXR6ZW5kZXIgDQoJYXVjaCBkaWUgV2FobGxlaXR1bmcuIEVyIGdhYiBhbGxlcmRpbmdzIGJla2FubnQsIGRhc3MgZXIgDQoJc2ljaCBuaWNodCBlcm5ldXQgenVyIFdhaGwgc3RlbGxlbiB3b2xsZSwgZGEgZXIgYmVydWZsaWNoIHp1IA0KCXN0YXJrIGJlbGFzdGV0IHNlaS4gRGVyIFdhaGxsZWl0ZXIgc2FtbWVsdGUgc29kYW5uIFZvcnNjaGxhZWdlIA0KCWZ1ZXIgZGFzIEFtdCBkZXMgMS4gVm9yc2l0emVuZGVuLiBFcyB3dXJkZW4gS2FyaW4gWnVtcGUgKEhvYm8pIA0KCXVuZCBTdGVmYW4gS3J1ZWxsIChUZWRkeSkgdm9yZ2VzY2hsYWdlbi4gRGllIGFuc2NobGllc3NlbmRlIA0KCUFic3RpbW11bmcgZXJnYWIgZm9sZ2VuZGUgU3RpbW12ZXJ0ZWlsdW5nOiBLYXJpbiBadW1wZSAyNiANCglTdGltbWVuLCBTdGVmYW4gS3J1ZWxsIDEgU3RpbW1lIHNvd2llIDIgRW50aGFsdHVuZ2VuLiBLYXJpbiANCgladW1wZSBuYWhtIGRhcmF1ZmhpbiBkaWUgV2FobCB6dXIgMS4gVm9yc2l0emVuZGVuIGFuLg0KDQoJS2FyaW4gWnVtcGUgdWViZXJuYWhtIGRhbm4gYWxzIG5ldWUgMS4gVm9yc2l0emVuZGUgYXVjaCBkaWUNCgl3ZWl0ZXJlIFdhaGxsZWl0dW5nIHZvbiBTdGVmYW4gQm9obS4gU2llIHNhbW1lbHRlIFZvcnNjaGxhZWdlIA0KCWZ1ZXIgZGFzIEFtdCBkZXMgMi4gVm9yc2l0emVuZGVuLiBEZXIgYmlzaGVyaWdlIDIuIFZvcnNpdHplbmRlIA0KCUJlcm5kIEtvZXN0ZXIgKEZpbmR1bGFzKSBoYXR0ZSBrZWluZSBCZXJlaXRzY2hhZnQgenVyIFdlaXRlci0NCglmdWVocnVuZyBkZXMgQW10ZXMgc2lnbmFsaXNpZXJ0LCBhdXNzZXJkZW0gd2FyIGVyIGJlaSBkZXIgDQoJVmVyc2FtbWx1bmcgbmljaHQgYW53ZXNlbmQuIEVzIHN0ZWxsdGVuIHNpY2ggc2NobGllc3NsaWNoIA0KCUVyaWNoIFcuIEJvZWNrc3RpZWdlbCAoV3VyemVsKSB1bmQgU3RlZmFuIEtydWVsbCAoVGVkZHkpIHp1ciANCglXYWhsLiBFcmljaCBXLiBCb2Vja3N0aWVnZWwgZXJoaWVsdCAyMCBTdGltbWVuLCBTdGVmYW4gS3J1ZWxsIA0KCTMgU3RpbW1lbiwgZmVybmVyIGVudGhpZWx0ZW4gc2ljaCA2IE1pdGdsaWVkZXIgZGVyIFN0aW1tZS4gDQoJU29taXQgd3VyZGUgRXJpY2ggVy4gQm9lY2tzdGllZ2VsIHp1bSBuZXVlbiAyLiBWb3JzaXR6ZW5kZW4gDQoJZ2V3YWVobHQsIGRlciBkaWUgV2FobCBkYW5uIGF1Y2ggYW5uYWhtLg0KDQoJRGllIFdhaGwgZGVzIEthc3NlbmZ1ZWhyZXJzIGdlc3RhbHRldGUgc2ljaCBlaW5mYWNoZXIsIHdlaWwgDQoJc2ljaCBkZXIgYmlzaGVyaWdlIEFtdHNpbmhhYmVyIENocmlzdGlhbiBTY2hpbGQgKENhdHdlYXpsZSkgDQoJd2llZGVydW0genVyIFdhaGwgc3RlbGx0ZS4gRXIgd3VyZGUgZGFubiBhdWNoIHZvbiBkZXIgVmVyc2FtLQ0KCW1sdW5nIGJlaSA2IEVudGhhbHR1bmdlbiB1bmQgMSBHZWdlbnN0aW1tZSBtaXQgMjMgU3RpbW1lbiANCglnZXdhZWhsdC4gQ2hyaXN0aWFuIFNjaGlsZCBuYWhtIGRpZSBXYWhsIHp1bSBLYXNzZW5mdWVocmVyIGFuLg0KDQoJRGllIFdhaGwgZGVzIFNjaHJpZnRmdWVocmVycyBiZXJlaXRldGUgbm9jaCB3ZW5pZ2VyIFByb2JsZW1lLCANCglkYSBhdWNoIGRlciBiaXNoZXJpZ2UgU2NocmlmdGZ1ZWhyZXIgS2FybC1IZWlueiBCb3Nhd2UgKFZpcGVyKSANCgl3aWVkZXIga2FuZGlkaWVydGUuIEVyIHd1cmRlIG1pdCAyOCBTdGltbWVuLCBiZWkgZWluZXIgRW50LQ0KCWhhbHR1bmcgd2llZGVyZ2V3YWVobHQuIEF1Y2ggZXIgbmFobSBkaWUgRW50c2NoZWlkdW5nIGRlciANCglWZXJzYW1tbHVuZyBhbi4NCg0KRGVyIG5ldWUgVm9yc3RhbmQgc2V0enQgc2ljaCBudW4gYWxzbyB3aWUgZm9sZ3QgenVzYW1tZW46DQoNCgkxLiBWb3JzaXR6ZW5kZSAgS2FyaW4gWnVtcGUgKEhvYm8pDQoJMi4gVm9yc2l0emVuZGVyIEVyaWNoIFcuIEJvZWNrc3RpZWdlbCAoV3VyemVsKSANCglLYXNzZW5mdWVocmVyICAgQ2hyaXN0aWFuIFNjaGlsZCAoQ2F0d2VhemxlKQ0KCVNjaHJpZnRmdWVocmVyICBLYXJsLUhlaW56IEJvc2F3ZSAoVmlwZXIpDQoNCg0KVE9QIDY6ICBBbnNjaGxpZXNzZW5kIGFuIGRpZSBWb3JzdGFuZHN3YWhsZW4gbXVzc3RlIGRhbm4gbm9jaCBlaW4gDQoJbmV1ZXIgS2Fzc2VucHJ1ZWZlciBnZXdhZWhsdCB3ZXJkZW4sIGRlbm4gTW9uaWthIFN0cnVueiANCgkoTHV6aWUpIGVya2xhZXJ0ZSBzaWNoIGJlcmVpdCBlaW4gd2VpdGVyZXMgSmFociBhbHMgS2Fzc2VuLQ0KCXBydWVmZXJpbiB6dSBmdW5naWVyZW4uIE1vbmlrYSBTdHJ1bnogd3VyZGUgZGFubiBhdWNoIHZvbiBkZXIgDQoJVmVyc2FtbWx1bmcgYmVpIDI4IEphLVN0aW1tZW4gdW5kIGVpbmVyIEVudGhhbHR1bmcgaW4gaWhyZW0gDQoJQW10IGJlc3RhZXRpZ3QuIEZ1ZXIgZGFzIEFtdCBkZXMgMi4gS2Fzc2VucHJ1ZWZlcnMgd3VyZGUgDQoJU3RlZmFuIEtydWVsbCAoVGVkZHkpIHZvcmdlc2NobGFnZW4uIERpZXNlciB3dXJkZSBkYW5uIG1pdCANCgkyNyBKYS1TdGltbWVuIGJlaSAyIEVudGhhbHR1bmdlbiBnZXdhZWhsdC4NCg0KVE9QIDc6ICBEaWUgbmV1ZSBlcnN0ZSBWb3JzaXR6ZW5kZSBzdGVsbHRlIGt1cnogZGllIGZ1ZXIgZGFzIEphaHIgDQoJMTk5NyBub2NoIGdlcGxhbnRlbiBBa3Rpdml0YWV0ZW4gdm9yLiBTbyBzb2xsIHouIEIuIGF1ZiANCglkZW0gbmFlY2hzdGVuIE1HLVRyZWZmZW4gaW4gTXVlbnN0ZXIgaW0gU29tbWVyIDE5OTcgZWluIA0KCXdlaXRlcmVzIExQQy1TZW1pbmFyIGFiZ2VoYWx0ZW4gd2VyZGVuLiBXZWl0ZXIgbXVzcyBkZXIgDQoJUmVjaG5lciB3ZWl0ZXIgYXVzZ2ViYXV0IHdlcmRlbiwgdm9yIGFsbGVtIGRlciBTcGVpY2hlci4gDQoJRGVyIFZlcnNhbW1sdW5nIHd1cmRlbiBzb2Rhbm4gendlaSBBbnRyYWVnZSB6dXIgQmVzY2hsdXNzLQ0KCWZhc3N1bmcgdWViZXIgZGVuIEFua2F1ZiB2b24gU3BlaWNoZXIgdm9yZ2VsZWd0LiBEZXIgZXJzdGUgDQoJQW50cmFnIGxhdXRldGU6IA0KCVNvZm9ydCBzb2xsZW4gdm9tIHZvcmhhbmRlbmVuIEdlbGQgMiB4IDY0IE1CIFNpbW1zIGFuZ2VzY2hhZmZ0CiAgICAgICAgd2VyZGVuLCBzb2JhbGQgZ2VudWVnZW5kIEdlbGQgZnVlciBkaWUgd2VpdGVyZW4gMiB4IDY0IE1CIA0KCVNwZWljaGVyIHZvcmhhbmRlbiBpc3QgdW5kIG5hY2ggZGVtIEthdWYgbm9jaCBjYS4gMTAwMCBETSANCglhdWYgZGVtIFZlcmVpbnNrb250byB2ZXJibGVpYmVuIHd1ZXJkZW4sIHNvbGxlbiBkaWUgendlaXRlbiANCgkyIHggNjQgTUIgU3BlaWNoZXIgZ2VrYXVmdCB3ZXJkZW4uDQoJRGllc2VtIEFudHJhZyB3dXJkZSBlaW5zdGltbWlnIHp1Z2VzdGltbXQuDQoJRGVyIHp3ZWl0ZSBBbnRyYWcgbGF1dGV0ZToNCglTb2ZvcnQgc29sbGVuIDIgeCA2NCBNQiBTaW1tcyBTcGVpY2hlciBnZWthdWZ0IHdlcmRlbi4NCglBdWNoIGRpZXNlbSBBbnRyYWcsIGRlciBhYmVyIGphIGluaGFsdHNtYWVzc2lnIGJlcmVpdHMgDQoJaW0gZXJzdGVuIEFudHJhZyBlbnRoYWx0ZW4gd2FyLCB3dXJkZSBlaW5zdGltbWlnIHp1Z2VzdGltbXQuDQoJWnUgYmVtZXJrZW4gaXN0IGhpZXIgbm9jaCwgZGFzcyBzZWxic3R2ZXJzdGFlbmRsaWNoIGRlciANCgliZXJlaXRzIHZvcmhhbmRlbmUgU3BlaWNoZXIgKDMyIE1CIFNpbW1zKSB2ZXJrYXVmdCB3ZXJkZW4gc29sbC4gDQoNCglEZW0gVm9yc3RhbmQgd3VyZGUgc29taXQgZGVyIEF1ZnRyYWcgZXJ0ZWlsdCBzb2ZvcnQgMiB4IDY0IE1CIA0KCVNpbW1zIFNwZWljaGVyIHp1IGthdWZlbiwgdW5kIHNvYmFsZCBkYXMgR2VsZCBmdWVyIGRpZSB3ZWl0ZXJlbiANCgkyIHggNjQgTUIgU2ltbXMgdm9yaGFuZGVuIGlzdCwgdW5kIGVpbiBSZXN0YmV0cmFnIHZvbiAxMDAwIERNIA0KCWF1ZiBkZW0gS29udG8gdmVyYmxlaWJlbiB3dWVyZGUsIGRlbiB3ZWl0ZXJlbiBTcGVpY2hlciB6dSBkaWVzZW0gDQoJWmVpdHB1bmt0IHp1IGthdWZlbi4NCg0KVE9QIDg6ICBJbSBUYWdlc29yZG51bmdzcHVua3QgVmVyc2NoaWVkZW5lcyB3aWVzIGRpZSBWb3JzaXR6ZW5kZSBkYXJhdWYgDQoJaGluLCBkYXNzIGVzIGRyaW5nZW5kIGVyZm9yZGVybGljaCBzZWkgZGFzIFZlcmVpbnNsZWJlbiANCglhdHRyYWt0aXZlciB6dSBnZXN0YWx0ZW4uIEViZW5zbyBzZWkgZXMgbm90d2VuZGlnIFNwb25zb3JlbiANCgl6dSBzdWNoZW4sIGRpZSBmdWVyIHNvIHRldXJlIEFuc2NoYWZmdW5nZW4gd2llIGRlbiBTcGVpY2hlci0NCglhdXNiYXUgYW0gUmVjaG5lciBoaWxmcmVpY2ggd2FlcmVuLiBEaWUgVm9yc2l0emVuZGUgd2lyZCANCglkZW1uYWVjaHN0IGluIGRlciBWZXJlaW5zemVpdHVuZyBlaW4gS29uemVwdCBmdWVyIGlocmUgVmVyZWlucy0NCglmdWVocnVuZ3NhcmJlaXQgdm9yc3RlbGxlbi4NCg0KCURpZSBWb3JzaXR6ZW5kZSBzY2hsb3NzIGRhbm4gdW0gMTcuMTUgVWhyIGRpZSBWZXJzYW1tbHVuZyB1bmQKCWVudGxpZXNzIGRpZSBUZWlsbmVobWVyIGluIGRlbiBnZW11ZXRsaWNoZW4gVGVpbCBkZXMgQWJlbmRzLg0KDQoNCkthcmwtSGVpbnogQm9zYXdlIChWaXBlciksIFNjaHJpZnRmdWVocmVyDQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFua2Vpbnp1ZyEgKENhdHdlYXpsZSwgIDcuIEFwciAxOTk3LCAxMToxMDoyOSk6CkhpIQoKSWNoIGhhYiBqZXR6dCBlbmRsaWNoIGVpbiBwYWFyIEFsdGxhc3RlbiBhdXMgZGVtIGxldHp0ZW4gamFociBlcmxlZGlndCB1bmQgYmluCnNvd2VpdCBkaWUgTWl0Z2xlaWRzYmVpdHJhZWdlIGVpbnp1emllaGVuLiBEYSBpbSBsZXR6dGVuIEphaHIgcmVsYXRpdiB2aWVsZQpGZWhsYnVjaHVuZ2VuIGVpbmdlZ2FuZ2VuIHNpbmQgbW9lY2h0ZSBpY2ggaGllciBub2NoIGt1cnogZGFyYXVmIGhpbndlaXNlbiwKZGFzIGlociBkZW4gVmVyZWluIGluZm9ybWllcmVuIG11ZXNzdCwgd2VubiBzaWNoIGV1cmUgQmFua3ZlcmJpbmR1bmcgYWVuZGVydC4KQWxzbyEgQml0dGUgbmFjaGRlbmtlbiwgb2IgaWhyIHNlaXQgZGVtIEJlaXRyaXR0IGVpbiBuZXVlcyBLb250byBvZGVyIHNvIGhhYnQKdW5kCm1pciBtb2VnbGljaHN0IGJhbGQgQmVzY2hlaWQgZ2ViZW4uCgpGZWhsYnVjaHVuZ3Nrb3N0ZW4gZGllIGF1ZmdydW5kIGZhbHNjaGVyIEFuZ2FiZW4gZW50c3RlaGVuIHdlcmRlbiBsYXV0IApTYXR6dW5nIHZvbSBNaXRnbGllZCBnZXRyYWdlbiwgTklDSFQgdm9tIFZlcmVpbiEhIQoKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29uemVwdCAoSG9ibywgIDcuIEFwciAxOTk3LCAxNjoyNzozOSk6CkFscyBuZXVlIFZvcnNpdHplbmRlIC1EYW5rZSwgaWhyIFdhZWhsZXItIGhhYmUgaWNoIGRhcnVlYmVyCm5hY2hnZWRhY2h0LCB3YXMgbWFuIGltIHVuZCBmdWVyIGRlbiBWZXJlaW4gbWFjaGVuIGtvZW5udGUuCkRpZSBlcnN0ZW4gVWViZXJsZWd1bmdlbiB3dXJkZW4gYW4gZGllIHVlYnJpZ2VuIFZvcnN0YW5kc21pdGdsaWVkZXIgCndlaXRlcmdlZ2ViZW4gdW5kIHZvbiBpaG5lbiBlcmdhZW56dC4KCkRhcyBGaW5hbnppZWxsZSB6dWVyc3QuIE5lYmVuIGRlciBUYXRzYWNoZSwgZGFzcyBuYXR1ZXJsaWNoIG1laHIgClZlcmVpbnNtaXRnbGllZGVyIGF1Y2ggZWhlciBkZW4gUmVjaG5lciB0cmFnZW4gd3VlcmRlbiwgaGFiZW4gd2lyIApub2NoIGRpZSBNb2VnbGljaGtlaXQsIGF1ZiBTcGVuZGVuIHp1IGhvZmZlbiB1bmQgZXR3YXMgZGFmdWVyIHp1CnR1bi4gQW0gQmVzdGVuIHdhZXJlIG5hdHVlcmxpY2ggZGFzIEF1ZnR1biB2b24gZmVzdGVuIFNwb25zb3Jlbi4KRGFmdWVyIGJlbm9ldGlnZW4gd2lyOgotIEVpbmVuIE11c3RlcmJyaWVmLCBkZXIgZGVuIFp3ZWNrIGRlcyBWZXJlaW5zIHZvcnN0ZWxsdCwgdW5kIAogIHp1bSBTcGVuZGVuIHVuZCBTcG9uc2VybiBhbnJlZ3QuIERlciBCcmllZiBzb2xsIGF1ZiBkZXIgVmVyZWlucy0KICBzZWl0ZSBhYmdlbGVndCBzZWluLCBkYW1pdCBlciBmdWVyIGFsbGUgSW50ZXJlc3NpZXJ0ZW4genVnYWVuZ2xpY2ggCiAgaXN0LgogIEthbm4gamVtYW5kIHNvIGV0d2FzIHNjaHJlaWJlbj8KLSBFaW5lIE1vZWdsaWNoa2VpdCwgdW5zIGJlaSBkZW4gU3BlbmRlcm4genUgYmVkYW5rZW4uIEFsc28gCiAgRXJ3YWVobnVuZyBhdWYgZGVyIFdXVy1wYWdlIG9kZXIgYmVpIGZlc3RlbSBTcG9uc29yIGVpbmUgTWVzc2FnZQogIGJlaW0gRWlubG9nZ2VuLgpOYXR1ZXJsaWNoIGtvZW5uZW4gQWRyZXNzZW4gdm9uIEZpcm1lbiwgZGllIHZpZWxsZWljaHQgc3BlbmRlbgp3dWVyZGVuLCBhdWNoIGFuIGRlbiBWb3JzdGFuZCB3ZWl0ZXJnZWdlYmVuIHdlcmRlbiwgc28gZGFzcyBkZXIKTXVzdGVyYnJpZWYgdW50ZXJzY2hyaWViZW4gYWJnZXNjaGlja3Qgd2VyZGVuIGthbm4uCgpEaWUgTWl0Z2xpZWRlci4gVHJvdHogcnVuZCAyMDAwIFNwaWVsZXIgc2luZCBudXIgODkgTGV1dGUgTWl0Z2xpZWQgaW0KVmVyZWluLiBVbnMgaW50ZXJlc3NpZXJ0LCB3YXJ1bS4gRGVzd2VnZW4gd29sbGVuIHdpciBlaW5lIFVtZnJhZ2UgCmFuIGFsbGUgU3BpZWxlciBzdGFydGVuLiBNb2VnbGljaGUgRnJhZ2VuIGJpdHRlIGFuIG1pY2ggbWFpbGVuLCBtaXIKZmFsbGVuIHNwb250YW4gbmljaHQgc2VociB2aWVsZSBlaW4uCgpEaWUgVmVyZWluc3plaXR1bmcuIE5hdHVlcmxpY2ggZXJmYWVocnQgbWFuIGRpZSB3aWNodGlnc3RlbiBTYWNoZW4gCmF1cyBkZXIgTVBBLCBhYmVyIGVpbmUgJ2VpZ2VuZScgVmVyZWluc3plaXR1bmcgd2FlcmUgZG9jaCBhdWNoCmludGVyZXNzYW50LiBEaWUgVmVyZWluc3plaXR1bmcga29lbm50ZSB6d2VpbWFsIGphZWhybGljaCBlcnNjaGVpbmVuCnVuZCBhbiBkaWUgTWl0Z2xpZWRlciB2ZXJzY2hpY2t0IG9kZXIgYmVpIGRlbiBNdWRmZXRlbiB2ZXJ0ZWlsdCB3ZXJkZW4uCkludGVyZXNzZSBhbSBtaXRtYWNoZW4/IE1haWwgYW4gQ2F0d2VhemxlIG9kZXIgbWljaCEgV2VubiBzaWNoIGtlaW5lcgptZWxkZXQsIGdpYnQncyBuYXR1ZXJsaWNoIGtlaW5lIFplaXR1bmchCgpEaWUgV1dXLVNlaXRlLiBTaWUgaGFldHRlIGVpbiBiaXNjaGVuIFp1d2VuZHVuZyBub2V0aWcsIHdlciB3YWVyZQpiZXJlaXQsIHNpZSB6dSBha3R1YWxpc2llcmVuPwoKRGllIFNlbWluYXJlLiBEaWUgbmFlY2hzdGUgTXVkZmV0ZSBmaW5kZXQgRW5kZSBBdWd1c3QgaW4gTXVlbnN0ZXIgc3RhdHQuCkJlaSBkZXIgR2VsZWdlbmhlaXQgc29sbGVuIHdpZWRlciBTZW1pbmFyZSBzdGF0dGZpbmRlbi4gV2VubiBJaHIgYW4gCmJlc29uZGVyZW4gVGhlbWVuIEludGVyZXNzZSBoYWJ0LCBkYW5uIG1haWx0IHNpZSBkZW0gVm9yc3RhbmQgdW5kL29kZXIKZnJhZ3QgZGlyZWt0IGplbWFuZGVuLCBvYiBlciBkZW4gZW50c3ByZWNoZW5kZW4gVm9ydHJhZyBoYWx0ZW4gd2lsbC4KRXMgd2FlcmUgc2Nob2VuLCB3ZW5uIHp1IGRlbiBWb3J0cmFlZ2VuIGRhbm4gYXVjaCBldHdhcyBTY2hyaWZ0bGljaGVzIApleGlzdGllcmVuIHd1ZXJkZSwgc28gZGFzcyB3aWUgc2llIGRhbm4gaW0gV1dXIG9kZXIgcGVyIGZ0cCBhbmRlcmVuCnp1Z2FlbmdsaWNoIG1hY2hlbiBrb2VubnRlbi4KCkRlciBEYWNodmVyYmFuZC4gRGllIEFkbWlucyBrdWVtbWVybiBzaWNoIHdlaXRlciBkYXJ1bSB1bmQgYmlzIE1haQp3ZWlzcyBtYW4gdmllbGxlaWNodCBzY2hvbiBtZWhyLgoKV2VpdGVyZSBWb3JzY2hsYWVnZSB1bmQgQW5yZWd1bmdlbiB3ZXJkZW4gbmF0dWVybGljaCBnZXJuZSBnZXNlaGVuLApmcmVpd2lsbGlnZSBNZWxkdW5nZW4gZnVlciBkZW4gQnJpZWYsIGRpZSBXV1ctU2VpdGUgdW5kIGFsbGVzIGFuZGVyZQpuYXR1ZXJsaWNoIG5vY2ggbGllYmVyLgoKTWFpbHMgYW4gZGVuIFZvcnN0YW5kOiBtZ2V2QG1nLnVuaS1tdWVuc3Rlci5kZQpNYWlscyBhbiBtaWNoOiBlbnR3ZWRlciB1ZWJlciBtdWRtYWlsIG9kZXIgCiAgICAgICAgICAgICAgIFBNIGFuIGthcmluLnp1bXBlQG1hdGEuZnprLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJlaW4gKEhvYm8sICA3LiBBcHIgMTk5NywgMTY6Mjg6NDUpOgpHZWxkR2VsZEdlbGRHZWxkR2VsZC4uLi4gYnJhdWNodCBkZXIgVmVyZWluIGltbWVyOgoKIERpZSBNaXRnbGllZHNjaGFmdCBpbSBWZXJlaW4ga29zdGV0IHBybyBKYWhyIDI0LC0gRE0uIERhcyBpc3QKbmljaHQgYmVzb25kZXJzIHZpZWwsIHVuZCB2ZXJtdXRsaWNoIGthbm4gZXMgc2ljaCBqZWRlciAoYXJtZSkKU3R1ZGVudCBsZWlzdGVuLiBBbGxlIE5vY2gtTmljaHRtaXRnbGllZGVyIHNvbGx0ZW4gc2ljaCBhbHNvIAp1ZWJlcmxlZ2VuLCBvYiBzaWUgbmljaHQgbWl0IGlocmVtIEJlaXRyYWcgZGVuIFJlY2huZXIsCmF1ZiBkZW0gZGFzIE1vcmdlbkdyYXVlbiBsYXVlZnQsIGF1Y2ggbGF1ZmZhZWhpZyBoYWx0ZW4gd29sbGVuLgpJbW1lcmhpbiBoYWJ0IElociBlaW5pZ2UoISkgU3R1bmRlbiBTcGFzcyBpbSBKYWhyIGR1cmNocyBNRyB1bmQgZnVlciAKendlaW1hbCBpbnMgS2lubyBnZWhlbiBnZWJ0IElociBnZW5hdXNvIHZpZWwgR2VsZCBhdXMhCgpNaXRnbGllZHNhbnRyYWVnZSBzdGVoZW4gdW50ZXI6CiAgICAgICAgZnRwOi8vbXVkLnVuaS1tdWVuc3Rlci5kZS9UZXh0ZS9WZXJlaW4vCgpTcGVuZGVuIHNpbmQgbmF0dWVybGljaCBhdWNoIGltbWVyIFdpbGxrb21tZW4gdW5kIHp3YXIgYW46CgogIFN0YWR0c3Bhcmthc3NlIE11ZW5zdGVyCiAgS3RvLk5yLjogMzY4OTQ0CiAgQkxaOiA0MDA1MDE1MAogIEVtcGZhZW5nZXI6IENocmlzdGlhbiBTY2hpbGQgIAoKU3BlbmRlbmJlc2NoZWluaWd1bmdlbiBrb2VubmVuIGJlaSBCZWRhcmYgYXVzZ2VzdGVsbHQgd2VyZGVuLAplaW5mYWNoIENhdHdlYXpsZSBmcmFnZW4hCi0tLS1OYWNoIGRlciBVZWJlcndlaXN1bmcsIGJpdHRlIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbWluYXJlIChIb2JvLCAgOC4gQXByIDE5OTcsIDA4OjI4OjE5KToKCk1laW5lIFRvY2h0ZXIgaGF0IHNpY2ggZ2VyYWRlIGJlcmVpdCBlcmtsYWVydCwgZGllIFNlbWluYXJvZ2FuaXNhdGlvbiB6dQp1ZWJlcm5laG1lbiwgYWxzbyBhbGxlIFZvcnNjaGxhZWdlIHZvbiBqZXR6dCBhbiBiaXR0ZSBhbiBTaWx2YW5hLiBEaWUga2VubnQKc2ljaCBkYW1pdCBuYWVtbGljaCBhdWNoIHZpZWwgYmVzc2VyIGF1cyEKCkhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLb256ZXB0IChIYXRlLCAgOC4gQXByIDE5OTcsIDE5OjIyOjQ4KToKfiMhIHJuPUhvYm8gcnQ9ODYwNDIzMjU5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NjA0MjMyNTkKTWl0IGRlciBFcndhZWhudW5nIHZvbiBTcG9uc29yZW4gYXVmIGRlciBXZWIgcGFnZSBzZWhlIGljaCBwcm9ibGVtZSwKc29sYW5nZSBkYXMgdWViZXIgZWluIFVOSSBOZXR6IGxhZXVmdC4gRGEgaXN0IFdlcmJ1bmcgbmFlbWxpY2gKdmVyYm90ZW4uIEFiZXIgc29sbGVuIHNpY2ggbWFsIHVuc2VyZSBKdXJpc3RlbiBkYWZ1ZXIgaW50ZXJlc3NpZXJlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaXR0ZSBtZWxkZSBEaWNoISAoQ2F0d2VhemxlLCAyNS4gQXByIDE5OTcsIDE4OjI4OjUzKToKCkNhdHdlYXpsZSBzdWNodCAnSm9hY2hpbSBGZXJnZW4nIQpCaXR0ZSB2aWEgbWFpbCBtZWxkZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1ZnJ1ZXN0dW5nIGRlcyBNdWRyZWNobmVycyAoQ2F0d2VhemxlLCAxNS4gTWFpIDE5OTcsIDExOjMyOjAzKToKSGkhCgpJY2ggaGFiZSBkZW4gU3BlaWNoZXIgdm9tIE1HIGVuZGd1ZWx0aWcgYXVmZ2VydWVzdGV0LiBNb3JnZW5HcmF1ZW4KdmVyZnVlZ3QgamV0enQgdWViZXIgNCo2NE1CIFBTLzIgNjBucyBTSU1NUywgYWxzbyBpbnNnZXNhbXQgMjU2TUIuCkRlciBTcGVpY2hlciB3YXIgdWViZXJpZ2VucyBuYWNoIGNhLiAzIFN0dW5kZW4gdm9sbCA6KQpPa29rLCBlcyB3YXIgbmljaHQgZGFzIE11ZCwgZGFzIExpbnV4IGJ1ZmZlcmVkIGRpZSBQbGF0dGVuenVncmlmZmUuCkRhcyBTcGllbCBzb2x0bGUgZGFoZXIgd2llZGVyIG1hbCBldHdhcyBzY2huZWxsZXIgbGF1ZmVuLiBFYmVuc28gaGF0CmRpZSBmcmV1bmRsaWNoIEZpcm1hLCBiZWkgZGVyIGljaCBkZW4gU3BlaWNoZXIgZ2VrYXVmdCBoYWJlLCBkZW4gdm9yLQpoYW5kZW5lbiBJbnRlbCBQMTMzIGdlZ2VuIGVpbmVuIEFNRCBLNSBtaXQgMTY2TUh6IGdldGF1c2NodC4KQXVjaCBkaWVzIGhhdCB1bnMgd2llZGVyIGVpbiBiaXNzY2hlbiBTcGVlZCBiZXNjaGVydC4gCk1vbWVudGFuIHZlcmJyYXVjaHQgZGVyIE11ZC1Qcm96ZXNzIG51ciBjYS4gMzAtNTAlIGRlciBDUFUtWmVpdCwgd2FzIHNpY2gKYWJlciBhZW5kZXJuIHdpcmQsIHNvYmFsZCBkZXIgU3BlaWNoZXJ2ZXJicmF1Y2ggZ3JvZXNzZXIgd2lyZC4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyZWluc3plaXR1bmcgKENhdHdlYXpsZSwgIDQuIEp1biAxOTk3LCAxMTo0MzoyMyk6CkhpIQoKRGllIElkZWUgZGVyIFZlcmVpbnN6ZWl0dW5nLCBkaWUgSG9ibyBtYWwgZXJ3YWVobnQgaGF0LCBoYXQgZXR3YXMgQW5rbGFuZwpnZWZ1bmRlbi4gV2lyIHdvbGxlbiBhbHNvIGZ1ZXIgZGVuIFZlcmVpbiBlaW5lIHJpY2h0aWdlLCBlY2h0ZSwgWmVpdHVuZyAoc28gCmF1ZiBQYXBpZXIsIG1pdCB1bWJsYWV0dGVybiB1bmQgc28sIG51bGwgc2Nyb2xsISkgbWFjaGVuLiAKCkluIGRpZXNlciBaZWl0dW5nIHNvbGxlbiBUaGVtZW4gZGVzIFZlcmVpbnMgdmVyb2VmZmVudGxpY2h0IHVuZCBlcmxhZXV0ZXJ0IAp3ZXJkZW4sIGFrdHVlbGxlIFByb2pla3RlLCBldnRsLiBuZW4gTFBDLUt1cnMgZXRjLiBOZWJlbiBWZXJlaXNzcGV6aWZpc2NoZW4gClNhY2hlbiBzb2xsZW4gYWJlciBhdWNoIEdlc2NoaWNodGVuIHVuZCBBa3Rpdml0YWV0ZW4gZGVzIE11ZHMgc2VsYnN0IG1pdCByZWluLgoKV2FzIGFsc28gbm9jaCBnZXN1Y2h0IHdpcmQsIHNpbmQgYSkgTGV1dGUgZGllIGFuIGRlciBWZXJ3aXJrbGljaHVuZyB1bmQgUHJvLQpkdWt0aW9uIGRlciBaZWl0dW5nIG1pdGFyYmVpdGVuIHdvbGxlbiwgdW5kIGIpIExldXRlLCBkaWUgQXJ0aWtlbCBzY2hyZWliZW4sCmRpZSBkYW5uIHZlcm9lZmZlbnRsaWNodCB3ZXJkZW4ga29lbm5lbi4KCkJpc2hlciBoYWJlbiBzaWNoIEhvYm8gdW5kIEFuYXRvbCB6dSByZWRha3Rpb25lbGxlciBBcmJlaXQgYmVyZWl0ZXJrbGFlcnQsClJhZmZpCmlzdCBmdWVyIGRhcyBMYXlvdXQgdW5kIGRlbiBEcnVjayB6dXN0YWVuZGlnLiAKV2VyIGltbWVyIHdhcyBhbiBkZXIgWmVpdHVuZyBtYWNoZW4gd2lsbCwgbW9lZ2Ugc2ljaCBiaXR0ZSBhbiBlaW5lIGRpZXNlciAKUGVyc29uZW4gb2RlciB6dXIgTm90IG1pY2ggd2VuZGVuLiAKCkFjaGphIG5vY2ggdmllbCB3aWNodGlnZXI6IGMpIGJyYXVjaGVuIHdpciBvaG5lIEVuZGUgQmlsZGNoZW4sIGdpbW1pY2tzIGV0Yy4KZGllIHdpciBmdWVyIGRhcyBMYXlvdXQgZGVyIFplaXR1bmcgYmVudXR6ZW4ga29lbm5lbi4gTmljaHRzIGlzdCBsYW5nd2VpbGlnZXIKYWxzIGRpZSBGQVouCgpJbiBkZXIgSG9mZm51bmcgYXVmIHJlZ2UgQmV0ZWlsaWd1bmcsCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmVpbnN6ZWl0dW5nIChXdXJ6ZWwsICA0LiBKdW4gMTk5NywgMjE6MTA6MzYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2NTQxNzQwMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODY1NDE3NDAzCmFsc28sIGFuIGRlciB6ZWl0dW5nIGtvZW5udGUgaWNoIG1pciBzY2hvbiB2b3JzdGVsbGVuIG1pdHp1bWFjaGVuLiB3YXMgaWNoIAphYmVyIGF1ZiBrZWluZW4gZmFsbCB0dW4gd2VyZGUsIGlzdCBpcmdlbmR3ZWxjaGUgYnVudGVuIGJpbGRjaGVuIGJlaXN0ZXVlcm4uCmljaCBtYWcgdmllbGxlaWNodCBzY2hvbiBzdGVpbnplaXRsaWNoIHNlaW4sIGFiZXIgaWNoIHRpcHBlIGphIGF1Y2ggbGllYmVyLAphbHMgbWl0IGRlciBtYXVzIHJ1bXp1a2xpY2tlbi4uLiB1bmQgZGllIGZheiBmaW5kZSBpY2ggaG9jaHNwYW5uZW5kLApqZWRlbmZhbGxzIGRlbiB3aXJ0c2NoYWZ0c3RlaWwgOikKCmJpbGRlciBzaW5kIHdhcyBmdWVyIGFuYWxwaGFiZXRlbi4gd2FzIGJpdHRlIHNpbmQgYWJlciBnaW1taWNrcz8gYWxzIG1laW5lCmtpbmRlciBub2NoIGtsZWluZXIgd2FyZW4sIGdhYiBlcyBkYSBlaW5lIGtpbmRlcnplaXR1bmcgIm1pdCBnaW1taWNrIiwgd2FzCmltIHJlZ2VsZmFsbCBpcmdlbmQgZWluIGJpbGxpZ2VzIHBsYXN0aWt0ZWlsIHdhci4uLgoKd2VocmV0IGRlbiBhbmZhZW5nZW4uIGRlciAodWViZXItKW5hZWNoc3RlIHNjaHJpdHQgd2FlcmUgZWluIGdyYWZpa2ZhZWhpZ2VzCm1vcmdlbmdyYXVlbiwgdW5kIGRhcyBrYW5uIGphIHdvaGwgbmllbWFuZCBlcm5zdGxpY2ggd29sbGVuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZlcmVpbnN6ZWl0dW5nIChSYW50YW5wbGFuLCAgNC4gSnVuIDE5OTcsIDIxOjQ5OjQxKToKfiMhIHJuPVd1cnplbCBydD04NjU0NTE0MzYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg2NTQxNzQwMwpEdSBtZWluc3QgWXBzLCBXdXJ6ZWwsIG5ldHRlIFplaXR1bmcgOy0pKSkpCgpIQWNoIGRhcyB3YXJlbiBub2NoIFplaXRuZSwgYnR3LiBpY2ggYmluIGJlcmVpdCBpcmdlbmR3YXMgZGF6dXp1c2VuZmVuLCBvaG5lClR5cG9zLCB2ZXJzdGVodCBzaWNoIDstKSkKCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVyZWluc3plaXR1bmcgKEJhYm9vbiwgIDUuIEp1biAxOTk3LCAwODo0NjoyMCk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODY1NDUxNDM2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NjU0MTc0MDMKZ2ltbWlja3M/IFNvd2FzIHdpZSBlaW4gImVjaHRlcyIgQmx1dHNhdWdlcnNjaHdlcnQgaW0gbWluaWF0dXJmb3JtYXQ/IE9kZXIKZWluZSBXdWVyZ2VydGFubmUgenVtIHNlbGJlcnppZWhlbj8gSGFiZW4gd2lsbCEgOi0pCgpOZWJlbmJlaSB3YWVyIHZpZWxsZWljaHQgYXVjaCBpbnRlcnJlc2FudCB6dSB3aXNzZW4sIHdpZSBtYW4gYW4gZGllIHplaXR1bmcKa29tbXQsIHdlbm4gc2llIGRlbm4gbWFsIGZlcnRpZyBpc3QuIE51ciBmdWVyIFZlcmVpbnNtaXRnbGlkZXI/IE9kZXIgZnVlcgpOaWNodG1pdGdsaWRlciBmdWVyIFNlbGJza29zdGVucHJlaXMgKyBQb3J0bz8KCkJhYm9vbiAod3VlcmQgYXVjaCBBcnRpa2VsIHNjaHJlaWJlbiwgd2VubiBlciB3YXMgbmllZGVyc2NocmVpYmVuc3dlcnRlcwp3dWVzc3RlIDotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZlcmVpbnN6ZWl0dW5nIChCb2luZywgIDUuIEp1biAxOTk3LCAwOToyMToyNik6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2NTQ1Mzc4MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODY1NDE3NDAzCkljaCBnbGF1YmUgWXBzIGdpYnQgZXMgaW1tZXIgbm9jaCAodW5kIGltbWVyIG5vY2ggbWl0IFBsYXN0aWt0ZWlsKSwgRHUKbXVzc3QgYWxzbyBuaWNodCBkZW4gYWx0ZW4gWmVpdGVuIG5hY2h0cmF1ZXJuLCBrYXVmIERpciBkYXMgVGVpbCEgOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVmVyZWluc3plaXR1bmcgKFRyb3ksICA1LiBKdW4gMTk5NywgMTM6MDQ6MTEpOgp+IyEgcm49Qm9pbmcgcnQ9ODY1NDk1Mjg2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NjU0MTc0MDMKClNvLCB1bmQgbm9jaG4gU2VuZiA6LSkKCkJpbGRjaGVuIGhhZXR0JyBpY2ggZGEgZWluIHBhYXIuIFdlbm4gbWVpbiBQcm92aWRlciBtYWwgd2llZGVyIHNlaW5lbiBlaWdlbmVuClRyYWZmaWMgcnVudGVyZmFlaHJ0IGtvZW5udGUgaWNoIGRpZSByYXVmbGFkZW4gLSB3b2hpbj8/PwoKMi4gR2ltbWlja3M6IHdpZSB3YWVycyBtaXQgbmVtIE1HLU1vbnN0ZXIgenVtIEF1c3NjaG5laWRlbj8KCjMuIFRleHRlbiBrYW5uIGljaCB2aWVsbGVpY2h0IGV0d2FzICh6dXIgWmVpdCB2aWVsIHp1IHR1bikgdWViZXIgSGludGVyZ3J1ZW5kZQp2b24gUXVlc3RlbiAoei5CLiBtYWwgbmUgQnVjaGxpc3RlIHp1c2FtbWVuc3RlbGxlbikuCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaZWl0dW5nIChIb2JvLCAgNS4gSnVuIDE5OTcsIDEzOjEzOjQxKToKRGllIGVyc3RlIFplaXR1bmcgc29sbCBtb2VnbGljaHN0IHNjaG9uIHp1ciBGZXRlIGZlcnRpZyBzZWluLgpJY2ggZGVua2UsIGRhbWl0IGhhdCBzaWNoIGF1Y2ggZGllIEZyYWdlIGVybGVkaWd0LCB3aWUgbWFuIHNpZSBiZWtvbW10OgphdWYgZGVyIEZldGUgbmFlbWxpY2ghCgpXZXIgSW50ZXJlc3NlIGRhcmFuIGhhdCBtaXR6dWFyYmVpdGVuLCBrYW5uIHNpY2ggcGVyIG1haWwgYmVpIEFuYXRvbCwgQ2F0dHkKb2RlciBtaXIgbWVsZGVuLiBXaXIgaGF0dGVuIHNjaG9ubWFsIHNvd2FzIGFlaG5saWNoZXMgd2llIGVpbmUKUmVkYWt0aW9uc3NpdHp1bmcgKGhvZWhvZSkgdW5kIGhhYmVuIHVucyBlaW4gcGFhciBUaGVtZW4gcmF1c2dlcGlja3QsIHdvZnVlcgp3aXIgYXVjaCBub2NoIFNjaHJlaWJlcmxpbmdlIGJycWFldWNodGVuLiBFaWdlbmUgVGhlbWVuIHNpbmQgbmF0dWVybGljaCBhdWNoCmtlaW4gVGhlbWEgKG1lbnNjaCwgYml6aWchKQoKQWVobSBqYSwgaWNoIGdsYXViLCBkYXMgd2FyJ3MgZGFubi4uLi4uCgoKIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaZWl0dW5nIChIb2JvLCAgNS4gSnVuIDE5OTcsIDEzOjE0OjU5KToKfiMhIHJuPUhvYm8gcnQ9ODY1NTA5MjIxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NjU1MDkyMjEKKG1hbnNjaCxiaXppZyEpIHNvbGx0ZSBlaWdlbnRsaWNoIGhlaXNzZW46CihtZW5zY2gsIGJpbiBpY2ggaGV1dCB3aXR6aWchKQoKSGV1dCBpcyBuaWNoIG1laW4gVGFnISAoSWNoIHdhcnRlIGF1ZiBkaWUgTmFjaHQhKQoKIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaZWl0dW5nIChIaWdobGFuZGVyLCAgNS4gSnVuIDE5OTcsIDEzOjE1OjEwKToKfiMhIHJuPUhvYm8gcnQ9ODY1NTA5MjIxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04NjU1MDkyMjEKRGFubiBzYWcgZG9jaCBtYWwsIFdBUyBmdWVyIFRoZW1lbiBub2NoIHZlcndhaXN0IHNpbmQuCiAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFplaXR1bmcgKEhvYm8sICA1LiBKdW4gMTk5NywgMTM6MTc6MTQpOgp+IyEgcm49SGlnaGxhbmRlciBydD04NjU1MDkzMTAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg2NTUwOTIyMQpGcmFnIEFuYXRvbCEgOikpCgpIb2JvIC0gZHJ1ZWNrdCBhYiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFplaXR1bmcgKEhpZ2hsYW5kZXIsICA1LiBKdW4gMTk5NywgMTM6MTk6NDIpOgp+IyEgcm49SG9ibyBydD04NjU1MDk0MzQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTg2NTUwOTIyMQpIaWVybWl0IGdlc2NoZWhlbiA7PgogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFplaXR1bmcgKEFuYXRvbCwgIDUuIEp1biAxOTk3LCAxMzozNToxMCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg2NTUwOTU4MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODY1NTA5MjIxCgpFaW5lcnNlaXRzIGtvZW5uZW4gQXV0b3JlbiwgZGllIGVpbiBUaGVtYSB0b2xsIGZpbmRlbiwgbml4IHNjaHJlaWJlbiwgd2VubiAKc2llIG5pY2h0IHdpc3Nlbiwgd2VsY2hlIFRoZW1lbiBiZXJlaXRzIHZvcmdlc2NobGFnZW4gb2RlciB2b3JnZXNlaGVuIHNpbmQuCkFuZGVyZXJzZWl0cyB3dWVyZGVuIHdpciBlaW4gZ3Jvc3NlcyBNYXNzIGFuIFNwYW5udW5nc3BvdGVudGlhbCBhYmJhdWVuLCAKd2VubiB3aXIgZGVuIHZvcmdlc2VoZW5lbiBJbmhhbHQgbWFsIGViZW4gaW4gZGllIE1QQSBwb3N0ZW4uCgpEZXJ6ZWl0IGlzdCBlcyBzbywgZGFzcyBzaWNoIExldXRlLCBkaWUgZXR3YXMgc2NocmVpYmVuIHdvbGxlbiwgYmVpIEhvYm8sCkNhdHdlYXpsZSBvZGVyIG1pciBtZWxkZW4gLSBkYSB3aXIgYXVjaCBudXIgYmVncmVuenQgUGhhbnRhc2llIGJlc2l0emVuLCAKc2luZCB3aXIgdWViZXIgZWlnZW5lIFZvcnNjaGxhZWdlIGRlciBTY2hyZWlid3VldGlnZW4gbmF0dWVybGljaCBkYW5rYmFyLgoKV2FzIHdpciBhdWYgamVkZW4gRmFsbCBub2NoIGJyYXVjaGVuIChCZWRhcmYsIG5pY2h0IG51ciBCZWR1ZXJmbmlzKSBzaW5kLCAKd2llIHNjaG9uIGVyd2FlaG50LCBCaWxkZXIvR3JhZmlrZW4gLSBzY2hsaWVzc2xpY2ggaXN0IGRhcyBlaW4gd2ljaHRpZ2VzClVudGVyc2NoZWlkdW5nc21lcmttYWwgenVyIE1QQSAoRElFIHR1dCBzaWNoIG1pdCBzb3dhcyBuYWVtbGljaCBldHdhcwpzY2h3ZXIsIGhhZSBoYWUpLgpEaWVqZW5pZ2VuLCBkaWUgc28gbGVpY2h0c2lubmlnIHdhcmVuIHVuZCB2b20gQmVzaXR6IHNvbGNoZXIgV2VydGUga3VuZHRhdGVuLAptdWVzc2VuIGluIEt1ZXJ6ZSBtaXQgTWFpbCByZWNobmVuICphbmt1ZW5kKi4gOikKCkFuYXRvbCwgc2ljaCByYXVzcmVkZW5kCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVmVyZWluc3plaXR1bmcgKEtyZXRlaywgIDUuIEp1biAxOTk3LCAxNjowNzoyMik6Cn4jISBybj1Ucm95IHJ0PTg2NTUwODY1MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODY1NDE3NDAzCkF1ZmJsYXNiYXJlIEh5ZHJhPyBLdXNjaGVsLVdlZ2hpZXI/IExlYmVuc2dyb3NzZXIgUGFwcGF1ZnN0ZWxsZXIgdm9uIApHcmltbWJvcm4/IENvb2xlIElkZWUhIDotKQoKSy4KKHNlbmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWZXJlaW5zemVpdHVuZyAoTXVwZmVsLCAgNS4gSnVuIDE5OTcsIDIyOjU1OjEzKToKfiMhIHJuPUJvaW5nIHJ0PTg2NTQ5NTI4NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODY1NDE3NDAzCgpOYWphIG1hbmNoIGVpbmVyIGhhdCB2aWVsbGVpY2h0IG5vY2ggYWx0ZSBIZWZ0ZSBkaWUga29lbm50ZW4gamV0enQgcmljaHRpZyB3YXMKd2VydCBzZWluIDotKSAKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWZXJlaW5zemVpdHVuZyAoUmFmZmksIDEwLiBKdW4gMTk5NywgMjM6MzU6MjMpOgp+IyEgcm49S3JldGVrIHJ0PTg2NTUxOTY0MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODY1NDE3NDAzClN0ZWluYmVpc3NlciBhbHMgU3RhcnNjaG5pdHQgPwoKR3JpbnMgSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZlcmVpbnN6ZWl0dW5nIChUcm95LCAxMy4gSnVuIDE5OTcsIDE5OjU1OjU2KToKfiMhIHJuPVJhZmZpIHJ0PTg2NTk3ODUyMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9ODY1NDE3NDAzCkF1dG9ncmFtbWthcnRlIHZvbiBBbmRpPyA4Kn0KVHJveS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVzc2NocmVpYnVuZyAoSG9ibywgIDQuIE5vdiAxOTk3LCAxMDo1OTozMyk6CgpBa3Rpb246IFVuc2VyIFZlcmVpbiBzb2xsIHNjaG9lbmVyIHdlcmRlbiEKCkRlc3dlZ2VuIHN1Y2hlbiB3aXIgZWluIAoKICAgICAgICAgICAgVkVSRUlOU0VNQkxFTQoKRXMgc29sbHRlIG5pY2h0IGFsbHp1IGdyb3NzIHNlaW4gdW5kIHdpcmQgYXVmIHVuc2VyZW4gV1dXLVNlaXRlbiAKenUgc2VoZW4gc2Vpbi4KClZvcnNjaGxhZWdlIGJpdHRlIGluIC9vcGVuL3ZlcmVpbiBiaXMgenVtIDE1LjEyLiBhYmxlZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWRyZXNzZW51ZWJlcnBydWVmdW5nIChWaXBlciwgMTIuIEZlYiAxOTk4LCAyMTozNDo1Nyk6CkhhbGxvIGxpZWJlIFZlcmVpbnNtaXRnbGllZGVyMQpMZWlkZXIgbXVzcyBpY2ggYmVmdWVyY2h0ZW4sIGRhc3MgdmllbGUgZGVyIG1pciBtaXQgZGVyIFZlcmVpbnNhbm1lbGR1bmcKYW5nZWdlYmVuZW4gQWRyZXNzZW4gbmljaHQgbWVociByaWNodGlnIHNpbmQuCgpCaXR0ZSBtZWxkZXQgbWlyIHVtZ2VoZW5kIGFuIGRpZSBtYWlsLWFkcmVzc2U6IHZpcGVyQG1nLm11ZC5kZQpvZGVyIGhhbHQgaGllciBpbSBNdWQsIGZhbGxzIGVzIGJlaSBFdWNoIEFlbmRlcnVuZ2VuIGdlZ2ViZW4gaGF0LgoKSWNoIGZyZXUgbWljaCBhdWYgUG9zdC4KClZpcGVyICh2ZXJzdWNodCBncmFkIGRpZSBNaXRnbGllZGVyZGF0ZW5iYW5rIHp1IHVwZGF0ZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXV1ctU2VpdGVuIChIb2JvLCAxNi4gRmViIDE5OTgsIDE1OjI3OjE4KToKSGFsbG8gYW4gYWxsZSEKCk5hY2hkZW0gZXMgamV0enQgbGFuZ2UgZ2VudWcgdm9uIG1pciB2ZXJidW1tZWx0IHd1cmRlLCBnaWJ0IGVzIGRhcyBSZXN1bHRhdApkZXIgVmVyZWlucy1FbWJsZW0tQXVzc2NocmVpYnVuZyBlbmRsaWNoIGF1ZiB1bnNlcmVyIFdXVy1TZWl0ZSB6dSBzZWhlbgooaHR0cDovL21nLnVuaS1tdWVuc3Rlci5kZS9WZXJlaW4pCkFscyBTY2hvZXBmZXIgZGVzIFNpZWdlcmVtYmxlbXMgdW5kIGVpbnppZ2VyLCBkZXIgdWViZXJoYXVwdCBldHdhcyBnZWxpZWZlcnQKaGF0LCBiZWtvbW10IFJPQ0hVUyBhdWYgZGVyIG5hZWNoc3RlbiBQYXJ0eSBlaW5lIEV4dHJhZmxhc2NoZSBDb2NhIENvbGEKZ2VzY2hlbmt0LgpEYW5rZSBSb2NodXMhClVuZCBkYW5rZSwgSGF0ZSwgZnVlciBkYXMgc2NobmVsbGUgRWluYmF1ZW4hCgogIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmxhZHVuZyB6dXIgVmVyZWluc3ZlcnNhbW1sdW5nISAoVmlwZXIsICA3LiBNYXIgMTk5OCwgMTA6MTk6NTkpOgpIYWxsbyBsaWViZSBWZXJlaW5zbWl0Z2xpZWRlciwKZXMgaXN0IHdpZWRlciBlaW5tYWwgc28gd2VpdC4uLgpIaWVybWl0IGxhZGUgaWNoIGVpbiB6dXIgVmVyZWluc3ZlcnNhbW1sdW5nIGFtIDI4LjAzLjE5OTguCkRpZSBWZXJzYW1tbHVuZyBmaW5kZXQgU3RhdHQgdW0gMTU6MDAgVWhyCk9ydDogRmljaHRlIEdydW5kc2NodWxlCkhhc2xpbmRlc3RyLiA0NAo0NDMwOSBEb3J0bXVuZAoKSW4gVmVyYmluZHVuZyBtaXQgZWluZXIgVGVpbG5haG1lIGFuIGRlciBNdWQtUGFydHkgc29sbHRlIGVpbiBCZXN1Y2ggZGVyClZlcnNhbW1sdW5nIGZhc3Qgc2Nob24gUGZsaWNodCBzZWluLgoKQXVmIGRlciBUYWdlc29yZG51bmcgc3RlaGVuIGZvbGdlbmRlIFB1bmt0ZToKCjEuIEJlZ3J1ZXNzdW5nIGR1cmNoIGRpZSAxLiBWb3JzaXR6ZW5kZQoyLiBSdWVzY2hhdSBhdWYgZGllIEFrdGl2aXRhZXRlbiBkZXMgVmVyZWlucyBpbSBKYWhyIDE5OTcKKHJlY2hlbnNjaGFmdHNiZXJpY2h0ZSkKMy4gS2Fzc2VuYmVyaWNodAo0LiBCZXJpY2h0IGRlciBLYXNzZW5wcnVlZmVyIChWb3JzY2hsYWcgenVyIEVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMpCjUuIEFic3RpbW11bmcgdWViZXIgZGllIEVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMKNi4gV2FobCBlaW5lcyBuZXVlbiBLYXNzZW5wcnVlZmVycyAobmViZW4gVGVkZHkpCjcuIFZvcnNjaGF1IGF1ZiBkaWUgVmVyZWluc2FrdGl2aXRhZXRlbiBpbSBKYWhyIDE5OTgKOC4gVmVyc2NoaWVkZW5lcwoKQWxzbyBub2NobWFsLi4uIGtvbW10IGFsbGUhCgpWb3JzY2hsYWVnZSB6dXIgRXJnYWVuenVuZyBkZXIgVGFnZXNvcmRudW5nIGJpdHRlIGFuIFZpcGVyLi4KClRzY2h1ZXNzaWUKClZpcGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlubGFkdW5nIHp1ciBWZXJlaW5zdmVyc2FtbWx1bmchIChDYXR3ZWF6bGUsICA5LiBNYXIgMTk5OCwgMTk6MTM6MzcpOgp+IyEgcm49VmlwZXIgcnQ9ODg5MjYyMzk5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD04ODkyNjIzOTkKTW9pbiEKCkRpZSBUYWdlc29yZG51bmcgYXVzIGRlbSB2b3JhbmdlZ2FuZ2VuZW4gQXJ0aWtlbCBpc3QgdWVicmlnZW5zIG51ciBlaW5lIAp2b3JsYWV1ZmlnZS4gSmVkZXMgTWl0Z2xpZWQgaXN0IGFuZ2VoYWx0ZW4gdW5kIGJlcmVjaHRpZ3QgZWlnZW5lIFRoZW1lbiwgCmRpZSBiZXNwcm9jaGVuIHdlcmRlbiB3b2xsZW4gYXVmIGRpZSBUYWdlc29yZG51bmcgenUgd3VlbnNjaGVuLiBBdWNoIGRlcgpWb3JzdGFuZCBrYW5uIGltbWVyIG51ciBncnVuZGxlZ2VuZGUgVm9yc2NobGFlZ2UgbWFjaGVuLiAKQWxzbyBiaXR0ZSAuLi4gOikKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgMjguMDMuMTk5OCAoVmlwZXIsICAxLiBNYWkgMTk5OCwgMTk6MzI6MjUpOgpQcm90b2tvbGwgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyANCmRlcyBGb2VyZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLlYuIA0Kdm9tIDI4LjAzLjE5OTgNCgkNCkRpZSBkaWVzamFlaHJpZ2UgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGZhbmQgYW5sYWVzc2xpY2ggZGVzIE1vcmdlbkdyYXVlbi0NClRyZWZmZW5zIGluIERvcnRtdW5kIGluIGRlciBkb3J0aWdlbiBGaWNodGUgR3J1bmRzY2h1bGUgc3RhdHQuIEdlZ2VuIDE1LjAwDQpVaHIgZXJvZWZmbmV0ZSBkaWUgMS4gVm9yc2l0emVuZGUgSG9ibyBkaWUgVmVyc2FtbWx1bmcgdW5kIGJlZ3J1ZXNzdGUNCmRpZSBhbndlc2VuZGVuIDIyIE1pdGdsaWVkZXIgc293aWUgZWluaWdlIEdhZXN0ZS4NCg0KWnVtIEJlZ2lubiBkZXIgVmVyc2FtbWx1bmcgc3RlbGx0ZSBkaWUgVm9yc2l0emVuZGUgZmVzdCwgZGFzcyB6dSBkZXIgDQpWZXJzYW1tbHVuZyBzYXR6dW5nc2dlbWFlc3MgZ2VsYWRlbiB3b3JkZW4gc2VpLCB1bmQgdmVybGFzIGRpZSBUYWdlcy0NCm9yZHVuZyBkZXIgVmVyc2FtbWx1bmcuIEVpbndhZW5kZSBnZWdlbiBkaWUgYmVrYW5udGdlZ2ViZW5lIFRhZ2Vzb3JkbnVuZyANCnd1cmRlbiBuaWNodCBnZWx0ZW5kIGdlbWFjaHQuDQoNCld1bnNjaGdlbWFlc3Mgd3VyZGUgdm9yIGRlbSBFaW5zdGllZyBpbiBkaWUgVGFnZXNvcmRudW5nIHZvbSBTY2hyaWZ0ZnVlLQ0KaHJlciBkYXMgUHJvdG9rb2xsIGRlciBsZXR6dGVuIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyB2b20gMjIuMDIuMTk5NyB2ZXItDQpsZXNlbi4NCg0KVE9QIDI6ICBBbnNjaGxpZXNzZW5kIGdpbmcgZGllIFZvcnNpdHplbmRlIHp1bSB6d2VpdGVuIFB1bmt0IGRlciBUYWdlcy0NCiAgICAgICAgb3JkbnVuZyB1ZWJlciwgZGVyIFJ1ZWNrc2NoYXUgYXVmIGRhcyBKYWhyIDE5OTcuIERlciBWb3JzaXR6LQ0KICAgICAgICBlbmRlIGtvbm50ZSBsZWlkZXIgbmljaHQgdm9uIHZpZWxlbiBBa3Rpdml0YWV0ZW4gYmVyaWNodGVuLA0KICAgICAgICBsZWRpZ2xpY2ggZWluIExQQy1TZW1pbmFyIGhhZXR0ZSBhbmxhZXNzbGljaCBkZXIgU29tbWVyLVBhcnR5DQogICAgICAgIGluIE11ZW5zdGVyIHN0YXR0Z2VmdW5kZW4uIEFuc29uc3RlbiBrb25udGUgZGVyIFZvcnNpdHplbmRlDQogICAgICAgIG1pdHRlaWxlbiwgZGFzcyBkZXIgUmVjaG5lciwgYXVmIGRlbSBkYXMgTW9yZ2VuR3JhdWVuDQogICAgICAgIGJldHJpZWJlbiB3aXJkLCBhdXNnZWJhdXQgd29yZGVuIHNlaSwgdW0gZGVuIGdlc3RpZWdlbmVuDQogICAgICAgIEFuc3BydWVjaGVuIGdlcmVjaHQgenUgd2VyZGVuLg0KDQoJRGVyIFNjaHJpZnRmdWVocmVyIFZpcGVyIGVyZ2Flbnp0ZSBkZW4gDQoJQmVyaWNodCBkZXIgVm9yc2l0emVuZGVuIG5vY2ggbWl0IGRlciBNaXR0ZWlsdW5nLCBkYXNzIGltIEphaHJlIA0KCTE5OTcgMjMgbmV1ZSBNaXRnbGllZGVyIGluIGRlbiBWZXJlaW4gZWluZ2V0cmV0ZW4gc2VpZW4uIEF1cy0NCglnZXRyZXRlbiB3YWVyZW4gNSBNaXRnbGllZGVyLCBzbyBkYXNzIHp1bSAzMS4xMi4xOTk3IGVpbiANCglNaXRnbGllZGVyYmVzdGFuZCB2b24gOTMgdmVybWVsZGV0IHdlcmRlbiBrb25udGUuIA0KDQpUT1AgMzogIEltIG5hZWNoc3RlbiBUYWdlc29yZG51bmdzcHVua3Qgc3RlbGx0ZSBkZXIgS2Fzc2VuZnVlaHJlciANCglDYXR3ZWF6bGUgZWluZSByZWxhdGl2IGdlc3VuZGUgRmluYW56bGFnZSANCglkZXMgVmVyZWlucyB2b3IuIEFsbGVyZGluZ3Mgc2VpZW4gaW0gSmFociAxOTk3IG51ciAyNzAsLSBETSBhbiANCglTcGVuZGVuIGVpbmdlZ2FuZ2VuLCB3YXMgZnVlciBhdXNzZXJnZXdvZWhubGljaGUgQW5zY2hhZmZ1bmdlbiANCglrZWluZXN3ZWdzIHJlaWNoZW4ga29lbm5lLiBBbiBncm9lc3NlcmVuIEF1c2dhYmVuIHdhZXJlbiBlaW5tYWwgDQogICAgICAgIEFuc2NoYWZmdW5nIG5ldWVuIFNwZWljaGVycyAoNHg2NCBNQikgZnVlciAzNjAwLC0gRE0gZ2V3ZXNlbiwgDQogICAgICAgIHNvd2llIGVpbiBuZXVlciBQcm96ZXNzb3IgZnVlciBkZW4gUmVjaG5lciAoZGVyIGFsdGUgd2FyIGRlZmVrdCkNCiAgICAgICAgZnVlciA3MjksLSBETS4gRGVyIEthc3NlbmJlc3RhbmQgYmV0cmFnZSBkZXJ6ZWl0IDQ1MCwtIERNLg0KICAgICAgICBMZWlkZXIgaGFldHRlIGVzIGltIHZlcmdhbmdlbmVuIEphaHIgZWluZSBSZWloZSB2b24gUnVlY2tidWNodW5nZW4NCiAgICAgICAgZ2VnZWJlbiwgd2VpbCBLb250ZW4gbmljaHQgZ2VkZWNrdCB3YXJlbiwgb2RlciBhYmVyIGRpZSBMZXV0ZQ0KICAgICAgICBkaWUgRWluenVnc2VybWFlY2h0aWd1bmdlbiB3aWRlcnJ1ZmVuIGhhYmVuLiBBdWZncnVuZCBkaWVzZXIgDQogICAgICAgIG1pc3NsaWNoZW4gU2l0dWF0aW9uIGZlaGxlbiBkZW0gVmVyZWluIGRlcnplaXQgZXR3YSAzMDAgRE0uDQogICAgICAgIERpZSBWb3JzaXR6ZW5kZSBiZWRhbmt0ZSBzaWNoIGJlaW0gS2Fzc2VuZnVlaHJlciANCiAgICAgICAgZnVlciBkaWUgZ2VsZWlzdGV0ZSBBcmJlaXQuDQoNClRPUCA0OiAgRGVyIEJlcmljaHQgZGVyIEthc3NlbnBydWVmZXIgc3RhbmQgYWxzIG5hZWNoc3RlcyBhdWYgZGVyICAgICAgICAgICAgICAgDQoJVGFnZXNvcmRudW5nLiBUZWRkeSB0ZWl0ZSBtaXQsIGRhc3MgZXIgDQoJbWl0IEx1emllIGFtIDEwLjAyLjE5OTggZGllIEthc3NlIHVuZCANCiAgICAgICAgaW5zYmVzb25kZXJlIGRpZSBLYXNzZW5mdWVocnVuZyBnZXBydWVmdCBoYWJlLiBOYWNoIGVpbmlnZXIgTXVlaGUNCiAgICAgICAgbWl0IGRlbiBLYXNzZW5idWVjaGVybiBzZWkgc2NobGllc3NsaWNoIGZlc3RnZXN0ZWxsdCB3b3JkZW4sIGRhc3MNCiAgICAgICAgZGllIEthc3NlbmZ1ZWhydW5nLCBzb3dlaXQgdm9yaGFuZGVuLCBuaWNodCB6dSBiZWFuc3RhbmRlbiBzZWksDQogICAgICAgIGRpZSBLYXNzZSBzdGltbWUgamVkZW5mYWxscy4gDQogICAgICAgIFRlZGR5IHRlaWx0ZSBkYXJhdWYgbm9jaCBldHdhcyB1bmVyZnJldWxpY2hlcyBtaXQuIFVuc2VyZW0gS2Fzc2VuLQ0KICAgICAgICBmdWVocmVyIHdhZXJlbiBiZWkgZWluZXIgUGFydHkgNTAwLC0gRE0gQmFyZ2VsZCBlbnR3ZW5kZXQgd29yZGVuLg0KICAgICAgICAzNzAgRE0gZGF2b24gd2FlcmVuIFZlcmVpbnNnZWxkZXIgZ2V3ZXNlbi4gVGVkZHkgYmVhbnRyYWd0ZSBlaW5lbg0KICAgICAgICBUZWlsIGRlcyBTY2hhZGVucyBhdWYgZGllIFZlcmVpbnNrYXNzZSB6dSB1ZWJlcm5laG1lbiwgZGEgbWFuIGRlbQ0KICAgICAgICBLYXNzaWVyZXIgZGFzIGFsbGVpbmlnZSBSaXNpa28gbmljaHQgYXVmYnVlcmRlbiBrb2VubnRlLiBNaXQgMjANCiAgICAgICAgSmEtU3RpbW1lbiwgYmVpIDIgRW50aGFsdHVuZ2VuIGJlc2NobG9zcyBkaWUgVmVyc2FtbWx1bmcgMTg1LC0gRE0NCiAgICAgICAgZGVzIFNjaGFkZW5zIGF1ZiBkaWUgVmVyZWluc2thc3NlIHp1IHVlYmVybmVobWVuLiBHbGVpY2h6ZWl0aWcNCiAgICAgICAgd3VyZGUgbm9jaCBiZXNjaGxvc3NlbiwgZGFzcyBkaWUgQmFya2Fzc2UsIGRpZSBkZXIgS2Fzc2llcmVyDQogICAgICAgIGJlaSBzaWNoIHp1IEhhdXNlIGhhdCwgbmllbWFscyBob2VoZXIgYWxzIDEwMCwtLSBETSBzZWluIHNvbGx0ZS4NCiAgICAgICAgVGVkZHkgYmVhbnRyYWd0ZSBhbnNjaGxpZXNzZW5kLCBkZW0gS2Fzc2VuZnVlaHJlciB1bmQgZGVtIGdlc2FtdGVuIA0KCVZvcnN0YW5kIEVudGxhc3R1bmcgenUgZXJ0ZWlsZW4uDQoNClRPUCA1OiAgSW0gZnVlbmZ0ZW4gVGFnZXNvcmRudW5nc3B1bmt0IGZhbmQgZGFubiBkaWUgQWJzdGltbXVuZyB1ZWJlciANCglkZW4gQW50cmFnIGF1ZiBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzIHN0YXR0LiBEaWUgVmVyc2FtbWx1bmcNCgl6ZWlndGUgc2ljaCBtaXQgZGVyIEFyYmVpdCBkZXMgVm9yc3RhbmRlcyB6dWZyaWVkZW4gdW5kIGVydGVpbHRlDQogICAgICAgIGlobSBkZXNoYWxiIG9obmUgR2VnZW5zdGltbWUgYmVpIDQgRW50aGFsdHVuZ2VuIEVudGxhc3R1bmcuDQoNClRPUCA2OiAgQWxzIG5hZWNoc3RlcyBtdXNzdGUgZGFubiBub2NoIGVpbiBuZXVlciBLYXNzZW5wcnVlZmVyIA0KICAgICAgICBuZWJlbiBUZWRkeSwgZGVyIG5vY2ggZWluIHdlaXRlcmVzIEphaHIgaW0gQW10IGlzdCwNCiAgICAgICAgZ2V3YWVobHQgd2VyZGVuLiAgRXMgd3VyZGUgV2llZGVyd2FobCBmdWVyIEx1emllIA0KICAgICAgICB2b3JnZXNjaGxhZ2VuLiBEaWVzZSBlcmtsYWVydGUgc2ljaCBiZXJlaXQgZWluIHdlaXRlcmVzIEphaHINCiAgICAgICAgYWxzIEthc3NlbnBydWVmZXJpbiB6dSBmdW5naWVyZW4uIEx1emllIHd1cmRlIGRhbm4gYXVjaCB2b24gZGVyDQogICAgICAgIFZlcnNhbW1sdW5nIGJlaSAxOSBKYS1TdGltbWVuIHVuZCBkcmVpIEVudGhhbHR1bmdlbiBpbiBpaHJlbSBBbXQNCiAgICAgICAgYmVzdGFldGlndC4NCg0KVE9QIDc6ICBEaWUgZXJzdGUgVm9yc2l0emVuZGUgc3RlbGx0ZSBpbSBuYWVjaHN0ZW4gVGFnZXNvcmRudW5nc3B1bmt0DQogICAgICAgIGRpZSBmdWVyIGRhcyBKYWhyIDE5OTggbm9jaCBnZXBsYW50ZW4gQWt0aXZpdGFldGVuIHZvci4NCiAgICAgICAgWnVuYWVjaHN0IG11c3N0ZSB1ZWJlciBlaW5lbiBWb3JzY2hsYWcgZGVzIFZvcnN0YW5kZXMgYWJnZXN0aW1tdA0KICAgICAgICB3ZXJkZW4sIG5hY2ggZGVtIGJlaSBkZW4gbmFlY2hzdGVuIFNlbWluYXJlbiBlaW5lIFRyZW5udW5nIA0KICAgICAgICB6d2lzY2hlbiBTcGllbGVyLSB1bmQgTWFnaWVyc2VtaW5hcmVuIHN0YXR0ZmluZGVuIHNvbGx0ZS4gRGllc2VyDQogICAgICAgIFZvcnNjaGxhZyB3dXJkZSBqZWRvY2ggbmFjaCBhdXNmdWVocmxpY2hlciBEaXNrdXNzaW9uIGJlaSAzIEphLQ0KICAgICAgICBTdGltbWVuLCA3IE5laW4tU3RpbW1lbiB1bmQgMTIgRW50aGFsdHVuZ2VuIGFiZ2VsZWhudC4NCg0KICAgICAgICBEaWUgVm9yc2l0emVuZGUgYmF0IHNvZGFubiB1bSBWb3JzY2hsYWVnZSBmdWVyIGRpZSBuYWVjaHN0ZW4NCiAgICAgICAgU2VtaW5hcmUuIEVzIHd1cmRlbiBpbnNiZXNvbmRlcmUgZGllIFRoZW1lbiAiR2lsZGVudmVyZ2xlaWNoIg0KICAgICAgICB1bmQgIlZvcnN0ZWxsZW4gZGVyIEdpbGRlbiIgZ2VuYW5udC4gRnJldW5kIHdpcmQgc2ljaCB1bSBkaWUgDQogICAgICAgIFNlbWluYXJlIGJlaSBkZXIgU29tbWVycGFydHkgaW4gTXVlbnN0ZXIgaW4gZGllc2VtIEphaHIga3VlbW1lcm4uDQoNCiAgICAgICAgRGllIGVyc3RlIFZvcnNpdHplbmRlIHJpZWYgenVyIFNwb25zb3JlbnN1Y2hlIGF1Zi4gVmVyZW5hIHVuZA0KICAgICAgICBXdXJ6ZWwgZXJrbGFlcnRlbiBzaWNoIGRhenUgYmVyZWl0IGJpcyB6dXIgU29tbWVycGFydHkgZWluDQogICAgICAgIGVudHNwcmVjaGVuZGVzIEtvbnplcHQgYXVzenVhcmJlaXRlbi4NCg0KICAgICAgICBWb24gZGVyIFZvcnNpdHplbmRlbiB3dXJkZSBudW4gbm9jaCB2b3JnZXNjaGxhZ2VuIGVpbmUgVmVyZWlucy0NCiAgICAgICAgWmVpdHNjaHJpZnQgaW5zIExlYmVuIHp1IHJ1ZmVuLiBBbHMgIkNoZWZyZWRha3RldXIiIHdpcmQgQW5hdG9sDQogICAgICAgIGZ1bmdpZXJlbi4gQWxzICJTY2hyZWliZXIiIHN0ZWxsdGVuIHNpY2ggQW5hdG9sLCBCaGFtaXIsIExhcmlzc2EsIA0KICAgICAgICBSb2NodXMsIFZlcmVuYSB1bmQgR2xvaW4genVyIFZlcmZ1ZWd1bmcuIEFsbGUsIGRpZSBiZWkgZGllc2VyIFplaS0NCiAgICAgICAgdHVuZyBtaXRtYWNoZW4gd29sbGVuOiBNYWlsIGFuIENhdHdlYXpsZSBvZGVyIEFuYXRvbC4NCg0KVE9QIDg6ICBJbSBUYWdlc29yZG51bmdzcHVua3QgVmVyc2NoaWVkZW5lcyB3dXJkZSBkZXIgR2V3aW5uZXIgZGVyIA0KICAgICAgICBBdXNzY2hyZWlidW5nIGZ1ZXIgZGFzIExPR08gZGVyIFZlcmVpbnMtV1dXLVNlaXRlIGdlZWhydC4NCiAgICAgICAgUm9jaHVzIHdhciBlaW56aWdlciBUZWlsbmVobWVyIHVuZCBkZW1uYWNoIGF1Y2ggZGVyIEdld2lubmVyLg0KICAgICAgICBBbHMgRGFua2VzY2hvZW4gd3VyZGUgaWhtIGVpbiBncm9zc2VzIENPTEEtR2xhcyBtaXQgR3JhdmllcnVuZyANCiAgICAgICAgdWViZXJyZWljaHQuDQoNCiAgICAgICAgQWJzY2hsaWVzc2VuZCByaWNodGV0ZSBkYW5uIGRlciBLYXNzZW5mdWVocmVyIENhdHdlYXpsZSBub2NoIGVpbmVuDQogICAgICAgIEFwcGVsbCBhbiBhbGxlIFZlcmVpbnNtaXRnbGllZGVyLiBGYWxscyBzaWNoIGRpZSBCYW5rdmVyYmluZHVuZywNCiAgICAgICAgdm9uIGRlciBkZXIgVmVyZWluc2JlaXRyYWcgYWJnZWJ1Y2h0IHdlcmRlbiBzb2xsLCBhZW5kZXJ0LCBzb2xsdGUNCiAgICAgICAgZGllcyBzb2ZvcnQgZ2VtZWxkZXQgd2VyZGVuLg0KDQogICAgICAgIERpZSBWb3JzaXR6ZW5kZSBzY2hsb3NzIGRhbm4gdW0gMTY6NDUgVWhyIGRpZSBWZXJzYW1tbHVuZyB1bmQNCiAgICAgICAgZW50bGllc3MgZGllIFRlaWxuZWhtZXIgaW4gZGVuIGdlbXVldGxpY2hlbiBUZWlsIGRlciBQYXJ0eS4NCg0KDQpWaXBlciwgU2NocmlmdGZ1ZWhyZXINCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm90b2tvbGwgZGVyIFZPbGx2ZXJzYW1tbHVuZyB2b20gMjguMDMuMTk5OCAoSGF0ZSwgIDMuIEF1ZyAxOTk4LCAxNDo0OTo1OCk6Cmh0dHA6Ly9tZy5tdWQuZGUvVmVyZWluL3Z2LTIzMDM5OC5odG1sCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRnbGllZHNiZWl0cmFnIChDYXR3ZWF6bGUsIDI3LiBPa3QgMTk5OCwgMTI6MDY6NDEpOgpNb2luIQoKSWNoIGJpbiBnZXJhZGUgZGFiZWkgZGFzIGdyb3NzZSBWZXJzYWV1bW5pc3MgZGllc2VzIEphaHJlcyBuYWNoenVob2xlbiwKbmFlbWxpY2ggZGllIE1pdGdsaWVkc2JlaXRyYWVnZSBlaW56dXppZWhlbi4KWnVtIGVpbmVuIG1vZWNodGUgaWNoIGplZGVuIGJpdHRlbiwgbWlyIHNlaW5lIGV2ZW50dWVsbCBnZWFuZGVydGVuIEtvbnRvZGF0ZW4KenUgc2NoaWNrZW4sIGVudHdlZGVyIHZpYSBtYWlsLCBiZXNzZXIgYWJlciBwZXIgUG9zdC4gClp1bSBhbmRlcmVuIG1vZWNodGUgaWNoIGplZGVuLCBkZXIga2VpbmUgRWluenVnc2VybWFlY2h0aWd1bmcgZWluZ2VyZWljaHQgaGF0LApkaWVzZXMgZW50d2VkZXIgbmFjaHp1aG9lbG4sIG9kZXIgZGVuIEJldHJhZyB2b24gMjQsLSBETSB6dSB1ZWJlcndlaXNlbiwgc28KZXIvc2llIGVzIGRlbm4gbm9jaCBuaWNodCBnZXRhbiBoYXQuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNaXRnbGllZHNiZWl0cmFnIChDYXR3ZWF6bGUsIDI3LiBPa3QgMTk5OCwgMjM6NTU6MzkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwOTQ5MDAwMSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTA5NDkwMDAxCk1vaW4hCk1vaW4hCkF1ZiBtZWhyZmFjaGUgQW5mcmFnZToKRGllIEJhbmt2ZXJiaW5kdW5nIGZ1ZXIgTWl0Z2xlaWRzYmVpdHJhZWdlIHVuZCBfU3BlbmRlbl8gZGVzIEZvZXJkZXItCnZlcmVpbnMgaXN0OgoKRm9lcmRlcnZlcmVpbiBQcm9qZWt0IE1vcmdlbkdyYXVlbgpCYW5rOiBTdGFkdHNwYXJrYXNzZSBNdWVuc3RlcgpCTFo6ICA0MDA1MDE1MApLbnROcjogMzY4OTQ0CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvbnRha3Rib2Vyc2UgKENhdHdlYXpsZSwgMTMuIE5vdiAxOTk4LCAxMTo0ODo0NSk6Ck1vaW4hCgpJY2ggc3VjaGUgZ3VlbHRpZ2UgZW1haWwtIG9kZXIgUkwtQWRyZXNzZW4gdm9uIGZvbGdlbmRlbiBTcGllbGVybjoKQXJhbnlhCkdhdHNieQpBcmllbgoKV2VyIHNpZSB3ZWlzcyBvZGVyIHNpY2ggbWl0IHNvd2FzIGF1c2tlbm50LCBtb2VnZSBzaWUgbWlyIGJpdHRlIG1haWxlbi4KCllvdXJzIHRydWx5LAogICAgQ2F0d2VhemxlCgpQUzogSmEsIGluIGRlbiBnZWxiZW4gU2VpdGVuIGhhYiBpY2ggc2Nob24gbmFjaGdlc2VoZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphaHJlc2JlaXRyYWcgKENhdHdlYXpsZSwgMTMuIE5vdiAxOTk4LCAxNDoyMTo1NCk6Ck1vaW4hCgpJY2ggbW9lY2h0ZSBhbGxlIE1pdGdsaWVkZXIsIGRpZSBrZWluZSBFaW56dWdzZXJtYWVjaHRpZ3VuZyBlaW5nZXJlaWNodCBoYWJlbiwKZGllcyBlbnR3ZWRlciB6dSB0dW4sIG9kZXIgZGVuIE1pdGdsaWVkc2JlaXRyYWcgdm9uIDI0IERNIGF1ZiBmb2xnZW5kZXMgS29udG8KenUgdWViZXJ3ZWlzZW46CgpGb2VyZGVydmVyZWluIFByb2pla3QgTW9yZ2VuR3JhdWVuIGVWCkJMWjogIDQwMDUwMTUwCkt0TnI6IDM2ODk0NApTdGFkdHNwYXJrYXNzZSBNdWVuc3RlcgoKRGFua2UuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvbGx2ZXJzYW1tbHVuZyAoQ2F0d2VhemxlLCAxNy4gRmViIDE5OTksIDE2OjE4OjA1KToKTW9pbiEKCkhpZXJtaXQgbW9lY2h0ZSBpY2ggYW5rdWVuZGlnZW4sIGRhcyBhbSAxMy4gTWFlcnogMTk5OSBpbiBNYXJidXJnIHp1IFplaXRlbgpkZXIgV2ludGVycGFydHkgZGllIHdpZWRlciBub3R3ZW5kaWdlIApIIEEgVSBQIFQgViBFIFIgUyBBIE0gTSBMIFUgTiBHIAoKZGVzIEZvZXJkZXJ2ZXJlaW4gUHJvamVrdCBNb3JnZW5HcmF1ZW4gZVYKCnN0YXR0ZmluZGVuIHdpcmQuIApBbGxlIE1pdGdsaWVkZXIgZGVzIFZlcmVpbnMsIHNvd2llIGludGVyZXNzaWVydGUgTXVkZGVyIHVuZCBOaWNodG11ZGRlciBzaW5kIApoZXJ6bGljaCBkYXp1IGVpbmdlbGFkZW4uClJhZXVtbGljaGtlaXRlbiB1bmQgZ2VuYXVlciBaZWl0cHVua3Qgd2lyZCBiZWthbm50Z2VnZWJlbiwgc29iYWxkIGljaCAoS2V5PykgCm1laHIgZGFydWViZXIgd2Vpc3MgOikKCkVpbmUgdm9ybGFldWZpZ2UgVGFnZXNvcmRudW5nIHdpcmQgaW4gS3VlcnplIGhpZXIgRXJzY2hlaW5lbi4gCgpEYXp1IGdpYnQgZXMgMiBQdW5rdGUgenUgc2FnZW46CkF0ZW5zIG1vZWNodGUgaWNoIGRhenUgYXVmZm9yZGVuLCBkYXNzIFB1bmt0ZSB1ZWJlciBkaWUgZ2VyZWRldCB3ZXJkZW4gCnNvbGx0ZSBhdWNoIGFuZ2VyZWd0IHdlcmRlbiwgZGFtaXQgc2llIGluIGRpZSBUYWdlc29yZG51bmcgYXVmZ2Vub21tZW4gCndlcmRlbiBrb2VubmVuLiAKQnRlbnMgbW9lY2h0ZSBpY2ggYXVmIGRpZSBEcmluZ2xpY2hrZWl0IGRlciBkaWVzamFlaHJpZ2VuIFZvbGx2ZXJzYW1tbHVuZyAKaGlud2Vpc2VuLiBFcyBnaWJ0IGRpdmVyc2UgUHVua3RlLCBkaWUgd2ljaHRpZyBzaW5kLCB1bmQgYmVpIGRlbmVuIGVzIAp2b24gVm9ydGVpbCB3YWVyZSwgd2VubiBkaWUgTWl0Z2xpZWRlciB6YWhscmVpY2ggZXJzY2hlaW5lbiB3dWVyZGVuLgpXYXMgbWlyIHNwb250YW4gZWluZmFlbGx0IGlzdCAKLSBOZXV3YWhsZW4gZGVzIFZvcnN0YW5kZXMgKEhvYm8sIFd1cnplbCwgQ2F0d2VhemxlLCBWaXBlcikKICBkYXp1IGthbm4gaWNoIG1pdCBTaWNoZXJoZWl0IHNhZ2VuLCBkYXMgaWNoIGRlbiBQb3N0ZW4gZGVzIEthc3NlbndhcnRlcyAKICBhdWZnZWJlbiB3ZXJkZSwgZGEgaWNoIGluIEt1ZXJ6ZSBtZWluIFN0dWRpdW0gYmVlbmRlLCB1bmQgZGFzIG1pdCBhbiAKICBTaWNoZXJoZWl0IGdyZW56ZW5kZXIgV2FocnNjaGVpbmxpY2hrZWl0IEhvYm8gZWJlbmZhbGxzIG5pY2h0IHdlaXRlcm1hY2hlbgogIHdpcmQsIGRhIGlociBpbSBuZXVlbiBKb2IgZGVyIEludGVybmV0enVnYW5nIGZlaGxlbiB3aXJkLgotIFVtenVnIGRlcyBSZWNobmVycwogIERhIGljaCBtZWluZW4gSm9iIGluIGRlciBNYXRoZSBiZWVuZGUsIHdpcmQgZGVyIE1HLVJlY2huZXIgdW16aWVoZW4gCiAgbXVlc3Nlbi4gSGF0ZSBoYXQgZGEgendhciBzY2hvbiB6dWdlc2FndCwgYWJlciB0cm90eiBhbGxlbSBzb2xsdGVuIGRhIGRpZSAKICBGZWluaGVpdGVuIGJlc3Byb2NoZW4gd2VyZGVuIChOZXVrYXVmPykKCkluIGRlciBIb2ZmbnVuZywgZGFzIFZpcGVyIGJhbGRpZ3N0IGVpbmUgZXJzdGUgVGFnZXNvcmRudW5nIHByb2R1emllcnQsCgp5b3VycyB0cnVseSwKICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9sbHZlcnNhbW1sdW5nIChLZXksIDE3LiBGZWIgMTk5OSwgMjA6MjI6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxOTI2NDY4NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTE5MjY0Njg1CipodXN0KgpTYWNoIGRhcyBkb2NoIGdsZWljaCA7KQoKQWVoIGRhcyBoZWlzc3QgaWhyIGJyYXVjaHQgbmVuIFJhdW0/IAoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9sbHZlcnNhbW1sdW5nIChXdXJ6ZWwsIDE3LiBGZWIgMTk5OSwgMjA6NDg6MjYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxOTI2NDY4NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTE5MjY0Njg1CmFyZ2wuCmRhIGJpbiBpY2ggbmljaHQgaW4gZGV1dHNjaGxhbmQuLi4KaWNoIGhhYmUgZXMgYmVmdWVyY2h0ZXQsIGRhc3MgZGEgZGllIHZlcnNhbW1sdW5nIGlzdCwgYWJlciBkZXIgYXVzbGFuZHN0ZXJtaW4KaXN0IHNjaG9uIHNlaXQgb2t0b2JlciBnZWZpeHQgdW5kIGxhZXNzdCBzaWNoIG5pY2h0IG1laHIgYWVuZGVybi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb2xsdmVyc2FtbWx1bmcgKFpvb2ssIDE3LiBGZWIgMTk5OSwgMjA6NDk6MDMpOgp+IyEgcm49V3VyemVsIHJ0PTkxOTI4MDkwNiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTE5MjY0Njg1Cgpzb2xsZW4gd2lyIGRpY2ggb25saW5lIHp1c2NoYWx0ZW4gbGFzc2VuPwoKem9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvbGx2ZXJzYW1tbHVuZyAoQXNtb2RpcywgMTguIEZlYiAxOTk5LCAyMTo1NzoxOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTE5MjY0Njg1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MTkyNjQ2ODUKQWgsIGpldHp0IGhhdCBlcnMgenVnZWdlYmVuLCBDYXQqIHVuZCBLZXkgc2luZCBkaWVzZWxiZSBQZXJzb24gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5sYWR1bmcgenVyIFZlcmVpbnN2ZXJzYW1tbHVuZyEgKFZpcGVyLCAyMC4gRmViIDE5OTksIDE5OjI2OjI0KToKSGFsbG9lY2hlbiBhbiBhbGxlIFZlcmVpbnNtaXRnbGllZGVyLApoaWVyIGlzdCBzaWUgbnVuLCBkaWUgb2ZmaXppZWxsZSBFaW5sYWR1bmcgenVyIGRpZXNqYWVocmlnZW4KVmVyZWluc3ZlcnNhbW1sdW5nIGRlcyBGb2VyZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLlYuCk9ydDogUGFydHlyYXVtLCBGcmFua2Z1cnRlciBTdHJhZSAxMCBpbiBNYXJidXJnClplaXQ6IFNhbXN0YWcsIDEzLiBNYWVyeiAxOTk5IHVtIDE2LjMwIFVocgoKRm9sZ2VuZGUgVGFnZXNvcmRudW5nIHN0ZWh0IGF1ZiBkZW0gUHJvZ3JhbW06CgoxLiBCZWdydWVzc3VuZyBkdXJjaCBkaWUgMS4gVm9yc2l0emVuZGUKMi4gVmVybGVzZW4gZGVzIFByb3Rva29sbHMgZGVyIGxldHp0ZW4gVmVyc2FtbWx1bmcKMy4gQmVyaWNodGUgZGVzIFZvcnN0YW5kZXMgKFRhZXRpZ2tlaXRzYmVyaWNodCBkZXIKVm9yc2l0emVuZGVuLCBBZW5kZXJ1bmdlbiBpbSBNaXRnbGllZGVyYmVzdGFuZCwKS2Fzc2VuYmVyaWNodCkKNC4gQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlcgo1LiBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzCjYuIE5ldXdhaGxlbiAoRGVyIGdlc2FtdGUgVm9yc3RhbmQgbXVzcyBuZXUgZ2V3YWVobHQgd2VyZGVuKQo3LiBVbXp1ZyBkZXMgTUctUmVjaG5lcnMKOC4gV2VyYnVuZyBmdWVyIGRlbiBWZXJlaW4gKFNwb25zb3JpbmcpCjkuIFZvcnNjaGF1IGF1ZiBkYXMgSmFociAxOTk5CjEwLiBWZXJzY2hpZWRlbmVzCgpJY2ggbW9lY2h0ZSBhbGxlbiBNaXRnbGllZGVybiBkaWUgVGVpbG5haG1lIGFuIGRlciBWZXJzYW1tbHVuZwpkcmluZ2VuZCBhbnMgSGVyeiBsZWdlbi4gRXMgaXN0IHVlYmVyIGFldXNzZXJzdCB3aWNodGlnZSBEaW5nZQp6dSBiZXNjaGxpZXNzZW4uCkhvYm8gdW5kIENhdHdlYXpsZSBoYWJlbiBqYSBzY2hvbiBiZWthbm50IGdlZ2ViZW4sIGRhc3Mgc2llIG5pY2h0Cm1laHIgaW0gdm9yc3RhbmQgd2VpdGVyIGFyYmVpdGVuIGtvZW5uZW4uCk5ldWUgS3JhZWZ0ZSBzaW5kIGRlc2hhbGIgZ2VzdWNodC4KCkljaCBob2ZmZSBpY2gga2FubiBhdWNoIGF1ZiBEZWluZSBUZWlsbmFobWUgaW4gTWFyYnVyZyByZWNobmVuLgoKCkJpcyBkYW5uCgpWaXBlciAoU2NocmlmdGZocmVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yc3RhbmRzd2FobGVuIChDYXR3ZWF6bGUsIDI2LiBGZWIgMTk5OSwgMTY6MjE6NDApOgpNb2luIQoKV2llIGlociBob2ZmZW50bGljaCBtaXRiZWtvbW1lbiBoYWJ0LCB3ZXJkZW4gYXVmZGVyIFZvbGx2ZXJzYW1tbHVuZyBpbiAKTWFyYnVyZyBkaWUgVm9yc3RhbmRzbWl0Z2xpZWRlciBuZXVnZXdhZWhsdC4gV3VyemVsIHVuZCBWaXBlciBzdGVoZW4gZnVlcgplaW5lIFdpZWRlcndhaGwgenVyIFZlcmZ1ZWd1bmcsIEhvYm8gdW5kIGljaCBqZWRvY2ggbmljaHQgbWVoci4KV2lyIG11ZXNzZW4gYWxzbyBlaW5lIFZvcnNpdHplbmRlbiB1bmQgZWluZW4gMi5TdGVsbHZlcnRyZXRlci9LYXNzZW53YXJ0Cm5ldSB3YWVobGVuLiAKCkRhbWl0IHdpciBhdWYgZGVyIFZWIG5pY2h0IHZvZWxsaWcgaW0gUmVnZW4gc3RlaGVuLCB3YWVyZSBlcyBwcmFrdGlzY2ggdW5kIAplaWduZXRsaWNoIG5vdHdlbmRpZywgZGFzIHdpciB3aXNzZW4sIHdlciBkYSB6dXIgV2FobCBzdGVoZW4ga29lbm50ZS4gCldlbm4gRHUvSWhyIGFsc28gYmVyZWl0IHdhZXJldCBkaWVzZSBBdWZnYWJlIHp1IHVlYmVybmVobWVuLCBzZWlkIHNvIGd1dCAKdW5kIG1lbGRldCBFdWNoIGt1cnogYmVpbSBqZXR6aWdlbiBWb3JzdGFuZCAobWFpbCBhbiBtZ2V2IG9kZXIKbWdldkBtZy5tdWQuZGUpLApkYW1pdCB3aXIgc2ljaGVyIHNlaW4ga29lbm5lbiwgZGFzIGRpZSBQb3N0ZW4gdWViZXJoYXVwdCBiZXNldHpiYXIgc2luZC4KRnVlciBGcmFnZW4sIHdlbGNoZSBOaWNodGlna2VpdGVuIG1pdCBlaW5lbSBzb2xjaGVuIEFtdCBhdWYgRXVjaCB6dWtvbW1lbiwKc3RlaGVuIHdpciBuYXR1ZXJsaWNoIGF1Y2ggZ2VybiB6dXIgVmVyZnVlZ3VuZy4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2Fzc2VuZvxocmVyd2FobCAoTHV6aWUsIDEwLiBNYXIgMTk5OSwgMjE6MTY6MDQpOgpIaSEKCkJlaSBkZW4gVm9yc3RhbmRzd2FobGVuIG11c3MgamEgYXVjaCBlaW4oZSkgbmV1ZShyKQpLYXNzZW5mdWVocmVyKGluKSBnZXdhZWh0IHdlcmRlbi4gQ2F0d2VhemxlIG1hY2h0IGphLApzb3ZpZWwgaWNoIHdlaXNzIG5pY2h0IG1laHIgd2VpdGVyLgoKRnVlciBkZW4gRmFsbCwgZGFzcyBzb2NoIGtlaW4gYW5kZXJlciBmaW5kZXQsIGRlciBzaWNoIGFscwpLYXNzZW5mdWVocmVyIHp1ciBWZXJmdWVndW5nIHN0ZWxsdCwgd3VlcmRlIGljaApkYXMgZ2VybmUgbWFjaGVuLgpBbHNvIGZhbGxzIGRpZSBXYWhsIGRhbm4gYXVmIG1pY2ggZmFlbGx0LCBuZWhtZSBpY2ggCmRpZSBXYWhsIGFuLgoKQWNoIGphLCB3YXJ1bSBpY2ggZGFzIGdhbnplIGhpZXIgc2NocmVpYmU6Clp1ciBQYXJ0eSB1bmQgc29taXQgYXVjaCB6dXIgVm9sbHZlcnNhbW1sdW5nIGthbm4gaWNoCmxlaWRlciBuaWNodCBzZWxic3QgcGVyc29lbmxpY2gga29tbWVuLgpsZWlkZXIgbmljaHQgc2VsYnN0IHBlcnNvZW5saWNoIGtvbW1lbi4KCihPb29vcHMuKQoKQWxzbyBpY2ggd3VlbnNjaGUgbm9jaCB2aWVsIFNwYXNzLgpDaWFvLApMdXppZS4KTHV6aWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1SZWNobmVyLVVtenVnIHVuZCBTcGVuZGVuYXVmcnVmIChDYXR3ZWF6bGUsIDIzLiBNYXIgMTk5OSwgMTY6MTA6NDMpOgoKTW9pbiBNb2luIQoKVGphLCBudW4gaXN0IGVzIGxlaWRlciBiYWxkIHNvd2VpdCwgbWVpbiBTdHVkaXVtIGVuZGV0LCBtZWluIEpvYiBpbiBkZXIgClJlY2huZXJ3YXJ0dW5nIGF1Y2gsIHVuZCBkYW1pdCB2ZXJsaWVyZW4gd2lyIGRpZSBsYW5nZSwgbGFuZ2UgQmxlaWJlCmRlcyBNb3JnZW5HcmF1ZW4tSGF1cHRxdWFydGllcnMgaW0gTWF0aGVtYXRpay9JbmZvcm1hdGlrLUZhY2hiZXJlaWNoCmRlciBVbml2ZXJzaXRhZXQgTXVlbnN0ZXIuIAoKTWVpbiBDaGVmIHN0ZWh0IGF1ZiBkZW0gdmVyc3RhZW5kbGljaGVuIFN0YW5kcHVua3QsIGRhc3MgZGVyIFJlY2huZXIgCmRhIG51ciBzdGVoZW4gYmxlaWJlbiBrYW5uLCBzb2xhbmdlIGplbWFuZCBhdXMgZGVyIFN5c3RlbXdhcnR1bmcgZGFzIApEaW5nIHdhcnRlbiBrYW5uLiBEYSBpY2ggbGVpZGVyIGtlaW5lbiBuZXVlbiBNdWRkZXIgaGVyYW56dWVjaHRlbgprb25udGUsIHN0ZWh0IGRlbW5hZWNoc3QgbWFsIHdpZWRlciBlaW4gX1VtenVnXyBhbiEKCrREZW1uYWVjaHN0tCBoZWlzc3QgdWVicmlnZW5zLCBBbmZhbmcgSnVsaSBtdXNzIGRhcyBNRyB3b2FuZGVycyBsYXVmZW4uCkFiZXIgbmljaHQgZ2xlaWNoIGluIFBhbmlrIHZlcmZhbGxlbiwgd2lyIGhhYmVuIGVpbmVuIHVuc2VyZXIgTm90ZmFsbC0KYXVzd2VpY2hwdW5rdGUgYWt0aXZpZXJ0LCBIYXRlIGhhdCBmcmV1bmRsaWNoZXJ3ZWlzZSBmdWVyIHVucyBlaW5lIApCbGVpYmUgaW4gZGVyIEdNRCBpbiBCZXJsaW4gb3JnYW5pc2llcnQuIERpZXMgaXN0IGF1Y2ggaW5uZXJoYWxiIGRlcyAKREZOLU5ldHplcyBtaXQgZWluZXIgd2lya2xpY2ggbWVociBhbHMgYXVzcmVpY2hlbmRlbiBCYW5kYnJlaXRlLCBzbyAKZGFzIGRlciBVbnRlcnNjaGllZCBlaWdlbnRsaWNoIGthdW0gYXVmZmFsbGVuIGR1ZXJmdGUuCgpEYW1pdCBrb21tZSBpY2ggenUgbWVpbmVtIHp3ZWl0ZW4gd2ljaHRpZ2VuIFB1bmt0LgpEZXIgUmVjaG5lciwgZGVyIGphIGJla2FubnRlcm1hc3NlbiBkZW0gRm9lcmRlcnZlcmVpbiBnZWhvZXJ0LCBpc3QgCm1pdHRsZXJ3ZWlsZSB2aWVyIEphaHJlIGFsdCwgZGl2ZXJzZSBNYWxlIGF1ZmdlcnVlc3RldCwgYWJlciB0cm90emRlbQpuaWNodCBtZWhyIGdhbnogZ3J1ZW4sIGRoIGhpZXIgdW5kIGRhIHRyZXRlbiBzY2hvbiBtYWwgUHJvYmxlbWNoZW4gCihtaXQgZmlsZXN5c3RlbWVuIGV0Yy4pIGF1Zi4KCkRlciBGb2VyZGVydmVyZWluIGhhdCBkYWhlciAtIGF1ZiBzZWluZXIgd2FlaHJlbmQgZGVyIFBhcnR5IGluIE1hcmJ1cmcgCnN0YXR0ZmluZGVuZGVuIFZvbGx2ZXJzYW1tbHVuZyAtIGJlc2NobG9zc2VuLCBlaW5lbiBuZXVlbiBSZWNobmVyIGFuenUtCnNjaGFmZmVuLiBEaWVzIG1hY2h0IGRlbiBVbXp1ZyBhdXNnZXNwcm9jaGVuIGVpbmZhY2ggdW5kIGR1ZXJmdGUgZGllIAptZWlzdGVuIFN1Y2h0c3BpZWxlciBiZXNvbmRlcnMgenVmcmllZGVuc3RlbGxlbi4gQW5zdGF0dCBkZW4gUmVjaG5lciAKaW4gZWluZXIgVGFnZSBkYXVlcm5kZW4gUGFyYWRlIG5hY2ggQmVybGluIHp1IHZlcmZyYWNodGVuLCB3aXJkIGRlciAKbmV1ZSBSZWNobmVyIGVpbmZhY2ggbWl0IGRlbiBNRy1EYXRlbiBnZWZ1ZXR0ZXJ0LCB1bmQgd2VubiBhbGxlcyBiZXJlaXQKaXN0IGVpbmZhY2ggZGVyIFNjaGFsdGVyIHVtZ2VsZWd0LCBzbyBkYXMgZXMgZGlyZWt0IGluIEJlcmxpbiB3ZWl0ZXItCmdlaGVuIGthbm4uIERlciBhbHRlIFJlY2huZXIgc29sbCBmb3J0YW4gYWxzIFdlYlNlcnZlciBkaWVuZW4sIHVtIGRlbgpNRy1SZWNobmVyIHp1IGVudGxhc3Rlbi4KCkRlciBQdW5rdCBpc3QsIG1pdCBkZW4gTWl0Z2xpZWRzYmVpdHJhZWdlbiB2b24gMTk5OCB1bmQgMTk5OSwgbGFlc3N0IApzaWNoIGRlciBuZXVlIFJlY2huZXIgd29obCBiZXphaGxlbiwgd2lyIGhhYmVuIGF1ZiBkZXIgVm9sbHZlcnNhbW1sdW5nCmFiZXIgZmVzdGdlc3RlbGx0LCBkYXNzIG1hbiBmdWVyIGVpbiB2ZXJudWVuZnRpZ2VzIFN5c3RlbSBtZWhyIGhpbi0KbGVnZW4gbXVzcywgYWxzIGFuIEdlbGQgZGEgaXN0LiBTbyBiZXN0ZWh0IGluIGRlciBHTUQgekIgbmljaHQgbWVociAKZGllIE1vZWdsaWNoa2VpdCB3aWUgaGllciBpbiBNdWVuc3RlciwgZWluZmFjaCBhdWYgZGFzIFVpdmVyc2l0YWV0cy0KYmFuZHN5c3RlbSB6dSBiYWNrdXBlbiwgZGFmdWVyIG11ZXNzdGUgZWluIGVpZ2VuZXIgU3RyZWFtZXIgYW5nZXNjaGFmZnQKd2VyZGVuLiBEYSBzaW5kIHZlcm51ZW5mdGlnZSBpbiBkZXIgUmVnZWwgYWJlciBuaWNodCBiaWxsaWcuIEViZW5zbyAKa2FubiBtYW4gdWViZXIgZWluZSBTcGVpY2hlcmVyd2VpdGVydW5nIHVuZCBlaW5lIHp3ZWl0ZSByZWR1bmRhbnRlIApFcnNhdHpwbGF0dGUgYWxzIFNjaG5lbGxiYWNrdXAgdW5kIE5vdGZhbGxwbGF0dGUgbmFjaGRlbmtlbi4gRGFmdWVyCnJlaWNodCBkYXMgR2VsZCBhYmVyIG5pY2h0IG1laHIgZ2Fuei4KCkljaCBtb2VjaHRlIGFsc28gYW4gZGllc2VyIFN0ZWxsZSBtYWwgd2llZGVyIGVpbmVuIFNwZW5kZW5hdWZydWYgc3RhcnRlbi4KCldlbm4gRGlyIGRhcyBNRyBtaXR0bGVyd2VpbGUgbGllYiB1bmQgdGV1ZXIgZ2V3b3JkZW4gaXN0LCBEdSBTcGFzcwpkYXJhbiBoYXN0IHVuZCBEdSBEaWNoIGRhcmFuIGJldGVpbGlnZW4gd2lsbHN0LCBkYXMgZXMgYXVjaCBpbiBadWt1bmZ0CnJlaWJ1bmdzbG9zIHdlaXRlcmxhZXVmdCwga2FubnN0IER1IHVucyBkYWJlaSBtaXQgZWluZXIgU3BlbmRlLCBvZGVyIApkZW0gQmVpdHJpdHQgaW4gZGVuICdGb2VyZGVydmVyZWluIFByb2pla3QgTW9yZ2VuR3JhdWVuIGVWLicgdW50ZXItCnN0dWV0emVuLiBKZWRlIG5vY2ggc28ga2xlaW5lIFNwZW5kZSBpc3Qgd2lsbGtvbW1lbi4gCgpadSBkZW4gU3BlbmRlbiBpc3QgenUgc2FnZW4sIGRhc3MgZGVyIFZlcmVpbiBnZW1laW5udWV0emlnIGlzdCwgZ2UtCnNwZW5kZXRlcyBHZWxkIGlzdCBzb21pdCBzb2dhciBzdGV1ZXJsaWNoIGFic2V0emJhci4gV2VyIHNwZW5kZW4gbWFnIAprYW5uIGRhcyBhdWYgZm9sZ2VuZGVzIEtvbnRvIHR1bjoKCkZvZXJkZXJ2ZXJlaW4gUHJvamVrdCBNb3JnZW5HcmF1ZW4gZS5WLgpTdGFkdHNwYXJrYXNzZSBNdWVuc3RlcgpCTFo6IDQwMDUwMTUwCkt0TnIuOiAzNjg5NDQKCldlciBkZW0gVmVyZWluIGJlaXRyZXRlbiBtb2VjaHRlLCB1bnRlcnN0dWV0eiB1bnMgbWl0IGVpbmVtIGphaHJsaWNoZW4gCk1pdGdsaWVkc2JlaXRyYWcgdm9uIDI0LC0gRE0sIGFsc28gbGFlY2hlcmxpY2hlbiB6d2VpIE1hcmsgcHJvIE1vbmF0LgpTYXR6dW5nIHVuZCBBbm1lbGRlZm9ybXVsYXJlIGdpYnQgZXMgYXVmIGRlbSBmdHAtU2VydmVyIGRlcyBNb3JnZW4tCkdyYXVlbiBhbiBmb2xnZW5kZXIgU3RlbGxlOiBmdHA6Ly9tZy5tdWQuZGUvVGV4dGUvVmVyZWluCm9kZXIgYWxsZ2VtZWluZSBJbmZvcyBpbSBXZWIgdW50ZXIgaHR0cDovL21nLm11ZC5kZS9WZXJlaW4uCgpXZXIgRnJhZ2VuIHp1bSBWZXJlaW4gaGF0LCBrYW5uIHNpY2ggYXVjaCBkaXJla3QgYW4gVGVkZHksIFd1cnplbCwgTHV6aWUKb2RlciBWaXBlciB3ZW5kZW4sIGRpZXNlIGJpbGRlbiBkZW4gYWt0dWVsbGVuLCBuZXVnZXdhZWhsdGVuICh2b24gZGVuCldlYnNlaXRlbiB1ZWJyaWdlbnMgbm9jaCBhYndlaWNoZW5kZW4pIFZvcnN0YW5kLgoKSS4gdS4gQS4gCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgdm9tIDEzLjAzLjE5OTkgKFZpcGVyLCAyOC4gTWFyIDE5OTksIDE3OjA5OjQxKToKUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgDQpkZXMgRm9lcmRlcnZlcmVpbnMgUHJvamVrdCBNb3JnZW5ncmF1ZW4gZS5WLg0Kdm9tIDEzLiBNYWVyeiAxOTk5DQoNCkRpZSBkaWVzauRocmlnZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgZmFuZCBhbmxhZXNzbGljaCBkZXMgTW9yZ2VuLQ0KZ3JhdWVuLVRyZWZmZW5zIGluIE1hcmJ1cmcgc3RhdHQuIEdlZ2VuIDE2LjQ1IFVociBlcm9lZmZuZXRlIGRpZSBWb3ItDQpzaXR6ZW5kZSBLYXJpbiBadW1wZSAoSG9ibykgZGllIFZlcnNhbW1sdW5nIHVuZCBiZWdydWVzc3RlIGRpZSBBbi0NCndlc2VuZGVuIDE3IE1pdGdsaWVkZXIgc293aWUgZWluaWdlIEdhZXN0ZS4gDQoNClp1IEJlZ2lubiBkZXIgVmVyc2FtbWx1bmcgc3RlbGx0ZSBkaWUgVm9yc2l0emVuZGUgZmVzdCwgZGFzcyB6dSBkZXIgDQpWZXJzYW1tbHVuZyBzYXR6dW5nc2dlbWFlc3MgZ2VsYWRlbiB3b3JkZW4gc2VpIHVuZCB2ZXJsYXMgZGllIFRhZ2VzLQ0Kb3JkbnVuZzogDQoNCiAxLiBCZWdydWVzc3VuZw0KIDIuIFZlcmxlc2VuIGRlcyBsZXR6dGVuIFByb3Rva29sbHMNCiAzLiBCZXJpY2h0ZSBkZXMgVm9yc3RhbmRlcw0KIDQuIEJlcmljaHQgZGVyIEthc3NlbnBydWVmZXINCiA1LiBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzDQogNi4gTmV1d2FobGVuLCBXYWhsIGRlciBLYXNzZW5wcnVlZmVyDQogNy4gU2F0enVuZ3NhZW5kZXJ1bmdlbg0KIDguIFVtenVnIGRlcyBNRy1SZWNobmVycywgQWJzdGltbXVuZyB1ZWJlciBOZXVhbnNjaGFmZnVuZyBlaW5lcyANCiAgICBSZWNobmVycw0KIDkuIFZvcnNjaGF1IGF1ZiAxOTk5DQoxMC4gVmVyc2NoaWVkZW5lcw0KDQpFaW53YWVuZGUgZ2VnZW4gZGllIGJla2FubnRnZWdlYmVuZSBUYWdlc29ybnVuZyB3dXJkZW4gbmljaHQgZ2VsdGVuZCANCmdlbWFjaHQuDQoNCkRhIGRpZSBWZXJzYW1tbHVuZyBlaW5zdGltbWlnIGF1ZiBkYXMgVmVybGVzZW4gZGVzIGxldHp0ZW4gUHJvdG9rb2xscyANCnZlcnppY2h0ZXRlLCBrb25udGUgbWl0IGRlbSBkcml0dGVuIFRhZ2Vzb3JudW5nc3B1bmt0IGZvcnRnZWZhaHJlbg0Kd2VyZGVuLg0KDQpUb3AgMzogQmVyaWNodGUgZGVzIFZvcnN0YW5kZXMNCg0KRGllIFZvcnNpdHplbmRlIGtvbm50ZSBsZWlkZXIgbmljaHQgdm9uIHNlaHIgdmllbGVuIEFrdGl2aXRhZXRlbiANCmJlcmljaHRlbiwgZXMgaGFldHRlIG51ciBlaW4gTFBDLVNlbWluYXIgaW4gRG9ydG11bmQgc3RhdHRnZWZ1bmRlbi4NCkRlciBTY2hyaWZ0ZnVlaHJlciBlcmdhZW56dGUgZGVuIEJlcmljaHQgZGVyIFZvcnNpdHplbmRlbiBkYWhpbmdlaGVuZCwNCmRhc3MgZXMgaW0gSmFociAxOTk4IG5ldW4gTmV1YXVmbmFobWVuIHVuZCB2aWVyIEF1c3RyaXR0ZSBnZWdlYmVuIGhhYmUgDQp1bmQgZGFzcyBkZXIgVmVyZWluIGRlcnplaXQgOTggTWl0Z2xpZWRlciBoYXQuDQoNCkRlciBLYXNzZW5mdWVocmVyIGJlcmljaHRldGUgdm9uIGVpbmVyIHJlbGF0aXYgZ2VzdW5kZW4gRmluYW56bGFnZSANCmRlcyBWZXJlaW5zLiBFcyBiZWZhZW5kZW4gc2ljaCBjYS4gMTUwMCBETSBpbiBkZXIgS2Fzc2UuIEFsbGVyZGluZ3MgDQpzZWllbiBpbSB2ZXJnYW5nZW5lbiBKYWhyIGVpbmUgUmVpaGUgdm9uIFJ1ZWNrYnVjaHVuZ2VuIHp1IGJla2xhZ2VuIA0KZ2V3ZXNlbiwgZGEgQWVuZGVydW5nZW4gZGVyIEJhbmt2ZXJiaW5kdW5nZW4gbmljaHQgbWl0Z2V0ZWlsdCB3b3JkZW4gDQp3YWVyZW4uIERlciBLYXNzaWVyZXIgYXBwZWxsaWVydGUgYW4gYWxsZSBNaXRnbGllZGVyLCBBZW5kZXJ1bmdlbiANCnNvZm9ydCBkZW0gVm9yc3RhbmQgbWl0enV0ZWlsZW4uDQoNClRvcCA0OiBCZXJpY2h0IGRlciBLYXNzZW5wcnVlZmVyDQoNClN0ZWZhbiBLcnVlbGwgKFRlZGR5KSBiZXJpY2h0ZXRlLCBkYXNzIGVyIHp1c2FtbWVuIG1pdCBNb25pa2EgU3RydW56IA0KKEx1emllKSBkaWUgS2Fzc2UgYW0gRGllbnN0YWcsIGRlbiA5LiBNYWVyeiAxOTk5IGRpZSBLYXNzZSBnZXBydWVmdCANCmhhYmUuIERpZSBLYXNzZW5mdWVocnVuZyBzZWkgbmljaHQgenUgYmVhbnN0YW5kZW4gdW5kIGtvcnJla3QuIEVyIGJlLQ0KYW50cmFndGUgZGVzaGFsYiwgZGVuIGdlc2FtdGVuIFZvcnN0YW5kIEVudGxhc3R1bmcgenUgZXJ0ZWlsZW4uDQoNClRvcCA1OiBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzDQoNCkJlaSBkcmVpIEVudGhhbHR1bmdlbiB1bmQgMTQgSmEtU3RpbW1lbiB3dXJkZSBkZW0gVm9yc3RhbmQgZGFubiBhdWNoIA0KZGllIEVudGxhc3R1bmcgZXJ0ZWlsdC4NCg0KVG9wIDY6IE5ldXdhaGxlbiwgV2FobCBkZXIgS2Fzc2VucHJ1ZWZlcg0KDQpEaWUgYmlzaGVyaWdlIDEuIFZvcnNpdHplbmRlIHVlYmVybmFobSB6dW5hZWNoc3QgZGllIFdhaGxsZWl0dW5nLCBnYWINCmFiZXIgZ2xlaWNoemVpdGlnIGJla2FubnQsIGRhc3Mgc2llIHNlbGJzdCBzaWNoIG5pY2h0IG1laHIgenVyIFdhaGwgDQpzdGVsbGVuIHd1ZXJkZS4gQXVjaCBkZXIgYmlzaGVyaWdlIEthc3NlbmZ1ZWhyZXIgQ2hyaXN0aWFuIFNjaGlsZCANCihDYXR3ZWF6bGUpIHRlaWx0ZSBkZXIgVmVyc2FtbWx1bmcgbWl0LCBkYXNzIGVyIGZ1ZXIgZWluZSBXYWhsIG5pY2h0DQptZWhyIHp1ciBWZXJmdWVndW5nIHN0ZWhlbiB3dWVyZGUuIERpZSBXYWhsbGVpdGVyaW4gc2FtbWVsdGUgenUtDQpuYWVjaHN0IFZvcnNjaGzkZ2UgZnVlciBkYXMgQW10IGRlcyBlcnN0ZW4gVm9yc2l0emVuZGVuLiBBbHMgYWxsZWluaS0NCmdlciBLYW5kaWRhdCB3dXJkZSBTdGVmYW4gS3J1ZWxsIChUZWRkeSkgdm9yZ2VzY2hsYWdlbi4gRGllc2VyIHd1cmRlDQpkYW5uIGF1Y2ggYmVpIGVpbmVyIEVudGhhbHR1bmcgdW5kIDE2IEphLVN0aW1tZW4gZ2V3YWVobHQuIFN0ZWZhbiANCktydWVsbCBuYWhtIGRpZSBXYWhsIGFuIHVuZCB1ZWJlcm5haG0gZGFyYXVmaGluIGF1Y2ggZGllIHdlaXRlcmUgV2FobC0NCmxlaXR1bmcuDQoNCkRlciBXYWhsbGVpdGVyIHNhbW1lbHRlIG51biBWb3JzY2hsYWVnZSBmdWVyIGRhcyBBbXQgZGVzIHp3ZWl0ZW4gVm9yLQ0Kc2l0emVuZGVuLiBWb3JnZXNjaGxhZ2VuIHd1cmRlIEVyaWNoIFcuIEJvZWNrc3RpZWdlbCAoV3VyemVsKSwgYWxzbyANCldpZWRlcndhaGwuIEVyaWNoIFcuIEJvZWNrc3RpZWdlbCwgZGVyIGJlaSBkZXIgVmVyc2FtbWx1bmcgc2VsYnN0DQpuaWNodCBhbndlc2VuZCBzZWluIGtvbm50ZSwgaGF0dGUgYmVyZWl0cyBTaWduYWxpc2llcnQsIGRhc3MgZXIgYXVjaCANCndlaXRlcmhpbiB6dXIgVmVyZnVlZ3VuZyBzdGVodC4gRXIgd3VyZGUgZGFubiBiZWkgZWluZXIgRW50aGFsdHVuZyB1bmQNCjE2IEphLVN0aW1tZW4gd2llZGVyZ2V3YWVobHQuDQoNCkVzIHd1cmRlbiBudW4genVyIFdhaGwgZGVzIEthc3NlbmZ1ZWhyZXJzIFZvcnNjaGxhZWdlIGdlc2FtbWVsdC4gVm9yLQ0KZ2VzY2hsYWdlbiB3dXJkZSBNb25pa2EgU3RydW56IChMdXppZSksIGRpZSBlYmVuZmFsbHMgbmljaHQgYW53ZXNlbmQNCnNlaW4ga29ubnRlLCBhYmVyIGltIFZvcmZlbGQgaWhyZSBCZXJlaXRzY2hhZnQgZXJrbGFlcnQgaGF0dGUuIFNpZQ0Kd3VyZGUgZGFubiBlaW5zdGltbWlnIHp1ciBLYXNzZW5mdWVyZXJpbiBnZXdhZWhsdC4gRGllIEFubmFobWUgaWhyZXINCldhaGwga29ubnRlIGR1cmNoIGVpbmVuIFRlbGVmb24tQW5ydWYgYmVzdGFldGlndCB3ZXJkZW4uDQoNCkRpZSBXYWhsIGRlcyBTY2hyaWZ0ZnVlaHJlcnMgYmVyZWl0ZXQgdWViZXJoYXVwdCBrZWluZSBQcm9ibGVtZSwgZGEgDQpkZXIgYmlzaGVyaWdlIFNjaHJpZnRmdWVocmVyIHNpY2ggd2llZGVyIHp1ciBXYWhsIHN0ZWxsdGUgdW5kIGtlaW4gR2UtDQpnZW5rYW5kaWRhdCB2b3JnZXNjaGxhZ2VuIHd1cmRlLiBFciB3dXJkZSBkYW5uIGF1Y2ggbWl0IDE2IEphLVN0aW1tZW4gDQp1bmQgZWluZXIgRW50aGFsdHVuZyB3aWVkZXJnZXdhZWhsdC4gQXVjaCBlciBuYWhtIGRpZSBFbnRzY2hlaWR1bmcgZGVyDQpWZXJzYW1tbHVuZyBhbi4NCg0KRGVyIG5ldWUgVm9yc3RhbmQgc2V0enQgc2ljaCBkZW1uYWNoIHdpZSBmb2xndCB6dXNhbW1lbjoNCiAgMS4gVm9yc2l0emVuZGVyOiBTdGVmYW4gS3J1ZWxsIChUZWRkeSkNCiAgMi4gVm9yc2l0emVuZGVyOiBFcmljaCBXLiBCb2Vja3N0aWVnZWwgKFd1cnplbCkNCiAgS2Fzc2VuZnVlaHJlcmluOiBNb25pa2EgU3RydW56IChMdXppZSkNCiAgU2NocmlmdGZ1ZWhyZXI6ICBLYXJsLUhlaW56IEJvc2F3ZSAoVmlwZXIpDQoNCkltIEFuc2NobHVzcyBhbiBkaWUgVm9yc3RhbmRzd2FobGVuIG11c3N0ZW4gZGFubiBub2NoIGRpZSBLYXNzZW5wcnVlLQ0KZmVyIGdld2FlaGx0IHdlcmRlbi4gVm9yZ2VzY2hsYWdlbiB3dXJkZW4gU2FuZHJhIEZyYXVuZSAoTGFyaXNzYSksIA0KQmFyYmFyYSBMdW5pdHogKEFsaW5lKSB1bmQgTWF0dGhpYXMgTC4gSnVnZWwgKEhhdGUpLiBFcyB3dXJkZW4gU2FuZHJhIA0KRnJhdW5lIHVuZCBNYXR0aGlhcyBMLiBKdWdlbCBiZWkgamV3ZWlscyAxNSBKYS1TdGltbWVuIHVuZCB6d2VpIEVudC0NCmhhbHR1bmdlbiBnZXfkaGx0LiBCZWlkZSBuYWhtZW4gZGllIFdhaGwgYW4uDQoNClRvcCA3OiBTYXR6dW5nc2FlbmRlcnVuZ2VuDQoNCkF1ZiBWb3JzY2hsYWcgZGVzIGJpc2hlcmlnZW4gVm9yc3RhbmRlcyB3dXJkZSBqZXR6dCB1ZWJlciB2ZXJzY2hpZWRlbmUNClNhdHp1bmdzYWVuZGVydW5nZW4gYWJnZXN0aW1tdCwgZGllIG5hY2hmb2xnZW5kIGltIFdvcnRsYXV0IHdpZWRlcmdlLQ0KZ2ViZW4gd2VyZGVuLg0KDQoxLiCnIDMgZGVyIFNhdHp1bmcgKE1pdGdsaWVkc2NoYWZ0KSB3aXJkIHdpZSBmb2xndCBlcmdhZW56dDogDQpOYWNoIFNhdHogMyB3aXJkIGVpbmdlZnVlZ3Q6ICJEaWUgQW5tZWxkdW5nIGlzdCB6dSByaWNodGVuIGFuIGRlbiANClNjaHJpZnRmdWVocmVyIGRlcyBWZXJlaW5zLiINCk5hY2ggU2F0eiA1IHdpcmQgZWluZ2VmdWVndDogIlVlYmVyIGRlbiBFaW5nYW5nIGRlciBBbm1lbGR1bmcgc293aWUNCnVlYmVyIGRpZSBBdWZuYWhtZSBpbiBkZW4gVmVyZWluIGVyaGFlbHQgZGEgbmV1ZSBNaXRnbGllZCBlaW5lIGVudC0NCnNwcmVjaGVuZGUgQmVzdGFldGlndW5nIGR1cmNoIGRlbiBTY2hyaWZ0ZnVlaHJlci4iDQpJbiBQdW5rdCAyYiB3aXJkICJkZW0gVm9yc3RhbmQiIGR1cmNoICJkZW0gU2NocmlmdGZ1ZWhyZXIiIGVyc2V0enQuDQoNCkRpZXNlciBBZW5kZXJ1bmcgd3VyZGUgYmVpIGVpbmVyIEdlZ2Vuc3RpbW1lIG1pdCAxNiBKYS1TdGltbWVuIHp1Z2UtDQpzdGltbXQuDQoNCjIuIKcgNyAoVm9yc3RhbmQpIHdpcmQgd2llIGZvbGd0IGdlYWVuZGVydDoNCk5hY2ggUHVua3QgMyB3aXJkIFB1bmt0IDQgYW5nZWZ1ZWd0OiAiRGllIEFuc2NocmlmdCBkZXMgU2NocmlmdGZ1ZWgtDQpyZXJzIGlzdCBkaWUgb2ZmaXppZWxsZSBWZXJlaW5zYWRyZXNzZS4gVWViZXIgZGllc2UgQWRyZXNzZSBzb2xsIA0Kc2FlbXRsaWNoZXIgU2NocmlmdHZlcmtlaHIgbWl0IEJlaG9lcmRlbiwgTWl0Z2xpZWRlcm4sIHVuZCBhZWhubGljaGVzIA0KYWJnZXdpY2tlbHQgd2VyZGVuLiINCg0KRGllIEFic3RpbW11bmcgZXJnYWIsIGRhc3MgZGllIFZlcnNhbW1sdW5nIGRpZXNlIFNhdHp1bmdzYWVuZGVydW5nDQplaW5zdGltbWlnIGJlZnVlcndvcnRldGUuDQoNCjMuIKcgOCBkZXIgU2F0enVuZyAoQmVpdHJhZ3NvcmRudW5nKSB3aXJkIHdpZSBmb2xndCBnZWFlbmRlcnQ6DQpJbiBQdW5rdCAyIHdpcmQgQWJzYXR6IDIgIk5ldWUgTWl0Z2xpZWRlciwgZGllIGFiIGRlbSAxLjEwLiBlaW5lcyBKYWgtDQpyZXMgYXVmZ2Vub21tZW4gc2luZCwgc2luZCBuaWNodCB2ZXJwZmxpY2h0ZXQsIGZ1ZXIgZGFzIGxhdWZlbmRlIEphaHIgDQpkZW4gTWl0Z2xpZWRzYmVpdHJhZyB6dSBlbnRyaWNodGVuLiIgDQoNCkRpZXNlciBTYXR6dW5nc2FlbmRlcnVuZyB3dXJkZSBtaXQgMTYgSmEtU3RpbW1lbiBiZWkgZWluZXIgRW50aGFsdHVuZw0KenVnZXN0aW1tdC4NCg0KNC4gRGEgbnVuIGtlaW4gVm9yc3RhbmRzbWl0Z2xpZWQgbWVociBpbiBNdWVuc3RlciBzZWluZW4gV29obnNpdHogaGF0LA0Kd3VyZGUgZGVyIFNjaHJpZnRmdWVocmVyIEthcmwtSGVpbnogQm9zYXdlIGJlYXVmdHJhZ3QgenUgcHJ1ZWZlbiwgb2IgDQpkZXIgVmVyZWluc3NpdHogd2VpdGVyIGluIE11ZW5zdGVyIGJsZWliZW4ga2Fubi4gRnVlciBkZW4gRmFsbCwgZGFzcyANCmRlbSBuaWNodCBzbyBpc3QsIHd1cmRlIHZvbiBkZXIgVmVyc2FtbWx1bmcgZWluc3RpbW1pZyBhbHMgd2VpdGVyZSANClNhdHp1bmdzYWVuZGVydW5nIGJlc2NobG9zc2VuLCBkYXNzIGRlciBWZXJlaW5zc2l0eiBhbiBkZW4gV29obm9ydCBkZXMNClNjaHJpZnRmdWVocmVycyB2ZXJsZWd0IHdpcmQuDQoNClRvcCA4OiBVbXp1ZyBkZXMgTUctUmVjaG5lcnMNCg0KRGVyIFZvcnNpdHplbmRlIHRlaWx0ZSBtaXQsIGRhc3MgbnVuIGFic29sdXQgc2ljaGVyIGlzdCwgZGFzcyBkZXIgTUctDQpSZWNobmVyIHZvbiBNdWVuc3RlciBuYWNoIEJlcmxpbiB6dSBHTUQgdW16aWVoZW4gd2lyZC4gRXIgd2lyZCBkb3J0DQpiZXRyZXV0IHZvbiBNYXR0aGlhcyBMLiBKdWdlbC4gRXMgd3VyZGUgdm9yZ2VzY2hsYWdlbiwgYXVzIGRpZXNlbSBBbi0NCmxhc3MsIGFiZXIgYXVjaCB3ZWlsIGRlciBhbHRlIFJlY2huZXIgbnVyIG5vY2ggc2VociBsYWJpbCBsYWV1ZnQsIA0KZWluZW4gbmV1ZW4gUmVjaG5lciBhbnp1c2NoYWZmZW4uDQoNCkRpZSBBYnN0aW1tdW5nIGRhcnVlYmVyLCBvYiBlaW4gbmV1ZXIgUmVjaG5lciBnZWthdWZ0IHdlcmRlbiBzb2xsLCANCmVyZ2FiLCBkYXNzIGdydW5kc2FldHpsaWNoIGFsbGUgQW53ZXNlbmRlbiBmdWVyIGRpZSBBbnNjaGFmZnVuZyANCndhcmVuLg0KDQpFaW5lIGxhZW5nZXJlIERpc2t1c3Npb24gZW50YnJhbm50ZSB1ZWJlciBkaWUgS29uZmlndXJhdGlvbiBkZXMgDQpSZWNobmVycy4gSW5zYmVzb25kZXJlIHd1cmRlIGRhcnVlYmVyIGdlc3Byb2NoZW4sIHdlbGNoZSBBcnQgZGVyIA0KRGF0ZW5zaWNoZXJ1bmcgZWluZ2VyaWNodGV0IHdlcmRlbiBzb2xsLiBNYXR0aGlhcyBMLiBKdWdlbCB3dXJkZSANCmJlYXVmdHJhZ3QsIHZvciBPcnQgaW4gQmVybGluIGFuZ2Vib3RlIGVpbnp1aG9sZW4uDQoNCkluIGRlciBudW4gZm9sZ2VuZGVuIEFic3RpbW11bmcgd3VyZGUgYmVzY2hsb3NzZW4sIHdpZXZpZWwgR2VsZCBpbiANCmRlbiBuZXVlbiBSZWNobmVyIGludmVzdGllcnQgd2VyZGVuIHNvbGx0ZS4gRGllIFZlcnNhbW1sdW5nIHNwcmFjaCANCnNpY2ggZWluc3RpbW1pZyBmdWVyIGZvbGdlbmRlIFJlZ2VsdW5nIGF1czogIkRlciBWb3JzdGFuZCBoYXQgZGllIEJlLQ0KZnVnbmlzIGZ1ZXIgZGllIEFuc2NoYWZmdW5nIGRlcyBSZWNobmVycyBiaXMgenUgNTAwMCBETSBhdXN6dWdlYmVuLCANCm1pdCBkZXIgTWFzc2dhYmUsIGRhc3MgbmFjaCBkZXIgQW5zY2hhZmZ1bmcgZGVzIFJlY2huZXJzIG5vY2ggMTAwMCBETSANCmF1ZiBkZW0gVmVyZWluc2tvbnRvIHZlcmJsZWliZW4uDQoNCkVzIHd1cmRlIG51biB1ZWJlciBkZW4gdmVyYmxlaWIgZGVzIGFsdGVuIFJlY2huZXJzIGFiZ2VzdGltbXQuIA0KTmllbWFuZCB3YXIgZGFmdWVyLCBkZW4gUmVjaG5lciB6dSB2ZXJrYXVmZW4uIERpZSBWZXJzYW1tbHVuZyBlbnQtDQpzY2hpZWQgc2ljaCBlaW5zdGltbWlnIGRhZnVlciwgZGVuIGFsdGVuIFJlY2huZXIgYWxzIFdlYi1TZXJ2ZXIgDQplaW56dXNldHplbiB1bmQgYWxzIEVyc2F0ei1SZWNobmVyIGZ1ZXIgTm90ZmFlbGxlIHp1IGJlaGFsdGVuLg0KDQpUb3AgOTogVm9yc2NoYXUgYXVmIDE5OTkNCg0KRGVyIFZvcnNpdHplbmRlIGJlcmljaHRldGUsIGRhc3MgaW4gZGllc2VtIEphaHIgd2llZGVydW0gU2VtaW5hcmUgDQpnZWhhbHRlbiB3ZXJkZW4gc29sbGVuLiBBbmRy6SBHcm9zc2UgKFBhdHJ5bikgZXJrbGFlcnRlIHNpY2ggYmVyZWl0LCANCmRpZXNlIHp1IE9yZ2FuaXNpZXJlbi4gUm9jaHVzIFdlc3NlbHMgKFJvY2h1cykgd2lsbCBlaW4gU2VtaW5hciANCmhhbHRlbi4NCiANClRvcCAxMDogVmVyc2NoaWVkZW5lcw0KDQpFcyB3dXJkZSBhbmdlcmVndCwgYXVmIGRlbiB6YWhscmVpY2hlbiBNRy1TdGFtbXRpc2NoZW4gTWl0Z2xpZWRlci0NCndlcmJ1bmcgZvxyIGRlbiBWZXJlaW4gZHVyY2h6dWZ1ZWhyZW4uDQoNCldlaXRlciB3dXJkZSBhbmdlcmVndCwgaW4gZGVyIE1QQSB6dSBTcGVuZGVuIGZ1ZXIgZGVuIG5ldWVuIFJlY2huZXIgDQphdWZ6dXJ1ZmVuLg0KDQpEZXIgVm9yc2l0emVuZGUgYmVkYW5rdGUgc2ljaCBhYnNjaGxpZXNzZW5kIGZ1ZXIgZGllIFRlaWxuYWhtZSB1bmQgDQpiZWVuZGV0ZSBkaWUgVmVyc2FtbWx1bmcgdW0gMTguMTUgVWhyLg0KDQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIYXRlLCAxMy4gQXByIDE5OTksIDEyOjMwOjExKToKSGksCgpJY2ggaGFiZSBtaXIgZnVlciBmb2xnZW5kZSBSZWNobmVyenVzYW1tZW5zdGVsbHVuZyBBbmdlYm90ZQphbmdlc2NoYXV0LiBEYWJlaSBpc3QgZGllIGZvbGdlbmRlIFRhYmVsbGUgaGVyYXVzZ2Vrb21tZW4uCkluIG1hbmNoZW4gRmFlbGxlbiBnYWIgZXMgZGFzIGVpbmUgb2RlciBhbmRlcmUgQmF1dGVpbCBuaWNodAp1bmQgc28gaGFiZSBpY2ggZGFzIG5hZWNoc3RiZXN0ZSBnZW5vbW1lbi4KCkljaCBtb2VjaHRlIHF1YWxpZml6aWVydGUgTWVpbnVuZ2VuIGRhenUhIEFuYmlldGVyIEEgaXN0IGltIE1vbWVudAptZWluZSBXYWhsLCBBbmJpZXRlciBCIGlzdCBnZXJpbmdmdWVnaWcgdGV1ZXJlIHVuZCBiaWV0ZXQgbmljaHQKdW5iZWRpbmd0IGRpZSBnZXd1ZW5zY2h0ZW4gQmF1dGVpbGUsIG1pdCBBbmJpZXRlciBDIGlzdCBlcyAKYWVobmxpY2ggdW5kIGRvcnQga29tbWVuIG5vY2ggRnJhY2h0a29zdGVuIGRyYXVmLiBBdXNzZXJkZW0gaGFiZSBpY2gKbmljaHQgYWxsZSBCYXV0ZWlsZSBpbiBkZXIgT25saW5lIExpc3RlIGdlZnVuZGVuLgoKRGllc2UgQXVzc3RhdHR1bmcgaXN0IGRpZSBHcnVuZGF1c3J1ZXN0dW5nLiBEYSBpc3Qga2VpbiBNb25pdG9yCmRhYmVpLCBkYSB3aXIgaGllciBpbiBkZXIgR01EIGRhdm9uIG1hc3NpZyBydW1zdGVoZW4gaGFiZW4uIEVpbnplbApwcmVpc2UgZnVlciBldmVudHVlbGxlIFNwZWljaGVyYXVmc3RvY2t1bmcga2FubiBtYW4gamEgYXVzcmVjaG5lbi4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IENLRSAgICAgfCBJTkRBVCAgIHwgQ1AKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tCkFUIEJpZyBUb3dlciBZYWt1bW8sIDI1MFcsIENFICAgICAgIHwgMSB8ICAgODYuMDcgfCAgMjE5LDAwIHwgIDE4NS4wMApBYml0IEJYNiBCWCBQSUkgQVRYICAgICAgICAgICAgICAgICB8IDEgfCAgMjM4LjU0IHwgIDIzOSwwMCB8ICAyMTUsMDAKSW50ZWwgUGVudGl1bSBJSSA0MDBNSHogT0xHQSBTRUNDMiAgfCAxIHwgIDY5MS4wMyB8ICA1NjksMDAgfCAgNjA5LDAwClBvcnplc3Nvcmt8aGxlciBQSUkgU0VDQzIgUExHQSBZYWsgIHwgMSB8ICAgMTQuNzUgfCAgIDI1LDAwIHwKMTI4TUIgMTYqNjQtMDcgU0RSQU0gVklHIFBDMTAwIDNTVSAgfCAxIHwgIDY4Ni4xMCB8ICA3MTgsMDAgfCAgNTg5LDAwCjEwLjEvSURFLzMuNSBJQk0gRFRUQS0zNTEwMTAgNS40IDkuIHwgMiB8ICA3MDAuODYgfCAgNjk4LDAwIHwKM0NvbSAzQzkwNUItVFgtTk0gUENJIDEwLzEwMCBCdWxrSSAgfCAxIHwgIDEyMS43MyB8ICAxMjksMDAgfCAgMTE1LDAwCkJUQyA1MTIxLUdFUiBQUy8yIFdpbjk4IFN0YW5kYXJkIGR0LnwgMSB8ICAgMTUuOTggfCAgIDI5LDAwIHwgICAyOSwwMAoyTUIgWWFrdW1vIFMzIFRyaW8gVjIgUENJIFJ0ICAgICAgICB8IDEgfCAgIDM1LjY1IHwgICA1NSwwMCB8ICAgNDksMDAKMS40NE1CIFNvbnkgTVBGLTkyMC1FLzEzMSBvLlIuIHdlaTQ5LDAwIHwgMSB8ICAgMjguMTUgfCAgIDM1LDAwIHwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tCkdlc2FtdHN1bW1lOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI2MTguODYgfCAyNzE2LDAwIHwKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChCb2luZywgMTMuIEFwciAxOTk5LCAxMjo0NzoyOSk6Cn4jISBybj1IYXRlIHJ0PTkyNDAwNjYxMSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCkRpZSBnYW56ZW4gTWFya2VubmFtZW4gdW5kIHNvIHNhZ2VuIG1pciB6d2FyIG5peCwgYWJlciB3aXIgYnJhdWNoZW4gYXVmCmFsbGUgRmFlbGxlIDI1NiBNQiBSYW0gdW5kIG5pY2h0IG51ciAxMjguCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIYXRlLCAxMy4gQXByIDE5OTksIDEzOjIwOjMzKToKfiMhIHJuPUJvaW5nIHJ0PTkyNDAwNzY0OSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExClNvcnJ5LCBtZWluIEZlaGxlcjogZXMgZmVobHQgZGllIDIgYmVpbSBTcGVpY2hlci4KQXVzc2VyZGVtIGtyaWVnZW4gd2lyIGVpbmUgU3BlbmRlIHZvbiAxMjhNQiBSQU0gKGVpbiBNb2R1bCkgKyBlaW5lIDNjOTAwVFgKRXRoZXJuZXQgS2FydGUsIGRhbWl0IGtvZW5udGUgZGllIHNjaG9uIHJhdXNmYWxsZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIYXRlLCAxMy4gQXByIDE5OTksIDE0OjA0OjE0KToKfiMhIHJuPUhhdGUgcnQ9OTI0MDA5NjMzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKTm9jaCBlaW5lIGtsZWluZSBLb3JyZWt0dXI6IGdlbWVpbnQgaXN0IG5pY2h0IGRpZSAzYzkwMCBOZXR6a2FydGUgc29uZGVybgplaW5lIDNjOTA1VFggKDEwLzEwME1iaXQpCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIb29kLCAxMy4gQXByIDE5OTksIDE1OjA0OjAyKToKfiMhIHJuPUhhdGUgcnQ9OTI0MDA5NjMzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKbnVyIG1hbCBuZSBmcmFnZSwgdHJvdHogZGVyIGtvcnJla3R1ciB2b24gMSBhdWYgMiBzdHVlY2sgYmVpIHJhbSBzY2hlaW50IGRlcgptaXIgaW1tZXIgbm9jaCB2ZXJkYW1tdCB0ZXVlci4gaXN0IGRhcyBpcmdlbmRlaW4gc3BlemllbGxlciBTRFJBTT8KZGVyIG5vcm1hbGUgU0RSQU0gMTI4TUItcmllZ2VsIDEwMCBNSHoga29zdGV0IGhpZXIgMjM5LC0gRE0uCmltIHVlYnJpZ2VuIGJpbiBpY2ggZGVyIG1laW51bmcgZGFzcyB3aXIgb2Z0IGdlbnVnIG1pdCBkZXIgaGVydW1zd2FwcGVyZWkKenUga2FlbXBmZW4gaGFiZW4sIHVuZCBhdWNoIDI1NiBtYiB6dSB3ZW5pZyBzaW5kLiBuYSBtYWwgc2NoYXVuLgphdWNoIGJlaW0gcHJvemVzc29yLXByZWlzLi4uaXN0IGRhcyBhdWNoIGlyZ2VuZCBlaW4gc3BlemllbGxlcj8KZnVlciBub3JtYWwgUGVudGl1bSBJSSA0MDAgTUh6IHp1IHRldWVyICgzOTksLSBoaWVyKSwgZnVlciBYRU9OIGJlaSB3ZWl0ZW0KenUgYmlsbGlnLi4ub3BzLCBwcm96ZXNzb3Iga29zdGV0IDQ5OSwtIG1laW4gaWNoLCBzb3JyeSwgdHJvdHpkZW0gd2VpdAp1bnRlciBmYXN0IDcwMC4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoSGF0ZSwgMTMuIEFwciAxOTk5LCAxNTozMDozMik6Cn4jISBybj1Ib29kIHJ0PTkyNDAxNTg0MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCkVzIGthbm4gc2VpbiwgZGFzcyBlaW5pZ2UgVGFnZXNhYmhhZW5naWdlIFByZWlzZSBkdXJjaGF1cyBpbnp3aXNjaGVuIGV0d2FzCmd1ZW5zdGlnZXIgc2luZC4gQWxsZXJkaW5ncyBoYXQgZXMgd2VuaWcgWndlY2tzIHNvbnN0d28gYWxsZSBlaW56ZWxzdHVlY2tlCmVpbnp1a2F1ZmVuIHVuZCBkYSBtdXNzIG1hbiBiZWkgZGVtIGVpbmVuIG9kZXIgYW5kZXJlbiBUZWlsIGhhbHQgZHJhdWYtCmxlZ2VuLiBBYmVyIGljaCBzY2hhdWUgbWljaCBub2NoIHVtLCB1bmQgZGVzaGFsYiBzaW5kIFByZWlzaGlud2Vpc2UKZ2FueiBndWVuc3RpZy4gQXVzc2VyZGVtIHNvbGx0ZSBtYW4gc2ljaGVyIGdlaGVuLCBkYXNzIGRpZSBQcmVpc2UKYXVjaCB3aXJrbGljaCBpbmtsLiBNV1N0IHNpbmQhCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIb29kLCAxMy4gQXByIDE5OTksIDE1OjMyOjQ5KToKfiMhIHJuPUhhdGUgcnQ9OTI0MDE3NDMyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKc2luZCBzaWUsIGJlaSB1bnMgZGVyIGd1ZW5zdGlnc3RlIGxhZGVuIGhhdCBuZSBlaWdlbmUgZ3V0ZSB3ZWItc2lkZSwKd3d3Lndpbm5lci1jb21wdXRlci5kZSwgZGEgc3RlaGVuIGRpZSBwcmVpc2UgdWViZXJzaWNodGxpY2ggZHJpbiB1bmQKbWFuIGJla29tbXQgZGFzIHpldWcgYXVjaCB0YXRzYWVjaGxpY2ggZnVlciBkaWUgZG9ydCBhbmdlZ2ViZW5lbiBwcmVpc2UuCndpZSBnZXNhZ3QsIHdlbm4gbWFuIDIwMCBtYXJrIGJlaSBwcm96ZXNzZXIgdW5kIHJhbSBzcGFyZW4ga2Fubiwgc2luZApkYXMgc2Nob24gNDAwLCBmYXN0IDIgbWFsIDEyOG1iIHJhbSArIC4uLiBvZGVyIG1laHJlcmUgc3BlbmRlbiB3ZW5pZ2VyLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIYXRlLCAxMy4gQXByIDE5OTksIDE1OjQxOjA4KToKfiMhIHJuPUhvb2QgcnQ9OTI0MDE3NTY5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKRGFzIGlzdCBkdXJjaGF1cyBhbGxlcyByaWNodGlnLiBOdXIgc29sbHRlIG1hbiBiZWkgYWxsZXIgR2VsZHNwYXJlcmVpCnZlcnN0ZWhlbiwKZGFzcyBlcyBuaWNodHMgbnVldHp0LCB3ZW5uIGRlciBSZWNobmVyIGd1ZW5zdGlnIGlzdCwgbWFuIGlobiBkYWZ1ZXIgYWJlciB2b24KU29uc3R3byBoZXJhbnNjaGFmZmVuIG11c3MgdW5kIGV2ZW50dWVsbCBudXIgbWl0IFNjaHdpZXJpZ2tlaXRlbiBTdXBwb3J0CmJla29tbXQuIFdlbm4gaWNoIGRlbiBhdXMgRWluemVsdGVpbGVuIHp1c2FtbWVuYmF1ZSwgZGllIHZvbiB1ZWJlcmFsbCBoZXIKa29tbWVuLCBkYW5uIGtvbW0gaWNoIGluIFRldWZlbHMgS3VlY2hlIHdlbm4gbWFuIHdhcyBrYXB1dHQgZ2VodC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChHbm9tZSwgMTMuIEFwciAxOTk5LCAxOTowMzo0Nyk6Cn4jISBybj1IYXRlIHJ0PTkyNDAwNjYxMSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCmhpLAoKZGllIGtvbXBvcyBzaW5kIGZhc3Qgb2ssIGJpcyBhdWYgQ1BVIHVuZCBib2FyZDoKCmJvYXJkOiBBU1VTIFA1QSBBVFggMTAwTUh6LCBjYS4gMTgwLC0KQ1BVOiBBTUQgSzYtSUkgM0QsIDQ1MCBNSHosIGNhLiAzNTAsLQoKaXN0IGV0d2EgZ2xlaWNod2VydGlnIHVuZCBtYW4gaGFldHRlIGNhLiAzNTAsLSBnZXNwYXJ0LCB3YXMgMTI4TUIgbWVocgpSQU0gYmVkZXV0ZW4ga29lbm50ZS4KbWVociBhbHMgMTI4TUIgUkFNIGJyYXVjaGVuIHdpciBhdWYgYWxsZSBmYWVsbGUuCgphbHRlcm5hdGl2IGtvZW5udGUgbWFuIGF1Y2ggdWViZXIgZWluZW4gQU1EIEs2LUlJSSBuYWNoZGVua2VuLCBhYmVyCmRhIGtlbm4gaWNoIGRpZSBwcmVpc2Ugbm9jaCBuaWNodC4KCmduT21lCgpwczogbmllZGVyIG1pdCBpbnRlbCEgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoTGFyaXNzYSwgMTMuIEFwciAxOTk5LCAyMDozMjoyOSk6Cn4jISBybj1Hbm9tZSBydD05MjQwMzAyMjcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpIaSwKCks2IElJIHNjaG9lbiB1bmQgZ3V0LCBhYmVyIGVzIGlzdCBzY2h3aWVyaWcgTWFpbmJvYXJkcyBtaXQgU29ja2VsIDcKenUgZmluZGVuLCBkaWUgMjU2IE1CIFNwZWljaGVyIGNhY2hlbiBrb2VubmVuIHVuZCBzb2dhciB1bm1vZWdsaWNoCndlbGNoZSB6dSBmaW5kZW4gZGllIDUxMiBNQiBjYWNoZW4ga29lbm5lbi4gRGllIGJlc3RlbiBCb2FyZHMgdW50ZXJzdHVldHplbgptZWluZXMgV2lzc2VucyBudXIgMzg0IE1CIChhdWNoIGRhcyBBU1VTIFA1QSkuIERhIGZydWVoZXIgb2RlciBzcGFldGVyCmVpbmUgRXJ3ZWl0ZXJ1bmcgYXVmIGVpbiBoYWxiZXMgR2lnYWJ5dGUgYW5zdGVodCwgc29sbHRlIG1hbiBkYWhlciB2b24KU29ja2VsIDcgd29obCBhYnNlaGVuIChkZXIgQ2VsZXJvbiBzY2hlaWRldCBkZXNoYWxiIGF1Y2ggYXVzKS4KCkltIHVlYnJpZ2VuIHNlaCBpY2ggYWJnZXNlaGVuIHZvbiBlaW4gcGFhciBNYXJrIGtlaW5lIFVudGVyc2NoaWVkZQp6d2lzY2hlbiBkZW4gQW5nZWJvdGVuLCBhYmVyIGljaCBnbGF1YmUgd2lyIHNvbGx0ZW4gbmljaHQgc28gc2VociBhdWYKZWluIHBhYXIgUGZlbm5pZ2UgYWNodGVuLCBzb25kZXJuIFF1YWxpdGFldCBlaW5rYXVmZW4gdW5kIGFtIGJlc3Rlbgp2b20gJ0hhZW5kbGVyIGFuIGRlciBFY2tlJyBkZW0ga2FubiBtYW4gZGFubiB3ZW5pZ3N0ZW5zIGRpZSBPaHJlbiBsYW5nemllaGVuLAp3ZW5uIHdhcyBuaWNodCBsYWV1ZnQuCgpHcnVlc3NlLCBMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChDYXR3ZWF6bGUsIDE0LiBBcHIgMTk5OSwgMTA6MzE6MTQpOgp+IyEgcm49TGFyaXNzYSBydD05MjQwMzU1NDkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpJY2ggc2NobGllc3NlIG1pY2ggYW4uCkljaCBiaW4gbmF0dWVybG9pY2ggYXVjaCBpbW1lciBmdWVyIEFNRCBiZXZvciBpY2ggSW50ZWwga2F1ZmVuIHd1ZXJkZSwgYWJlciBpbgpkaWVzZW0gRmFsbCBpc3QgZGFzIGxlaWRlciBuaWNodCBtb2VnbGljaCwgZGEgd2lyIGJlYWJzaWNodGlnZW4gNTEyTUIKcmVpbnp1c3RvcGZlbiwgdW5kIGVpbiBBTUQtUHJvemVzc29yIGlzdCBsZWlkZXIgbmljaHQgaW4gZGVyIExhZ2UgZGllc2UgenUKY2FjaGVuLCBzbyBkYXMgZGllIFBlcmZvcm1hbmNlIHVudmVyaGFlbHRuaXNtYWVzc2lnIGluIGRlbiBLZWxsZXIgZ2VoZW4Kd3VlcmRlLiBEYWhlciBoYWIgaWNoIEhhdGUgZWluZW4gUElJIGFuZ2VyYXRlbi4KSW4gYWxsZW4gYW5kZXJlbiBGYWVsbGVuIHd1ZXJkZSBpY2ggbmF0dWVybGljaCBHbm9tZSB6dXN0aW1tZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoSG9ibywgMTQuIEFwciAxOTk5LCAxMToxMTozNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTI0MDg1ODc0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKUElJPwoKSWhyIGtlbm50IGRvY2ggc2ljaGVyIGRpZSBXZXJidW5nOiBkZXIgbmV1ZSBQSUlJLCBkYW1pdCBkYXMgSW50ZXJuZXQgc2NobmVsbGVyCndpcmQhCgpBTHNvOiBXZWcgbWl0IGRlbSBMYWcsIHVuZCBoZXIgbWl0IGRlbSBQSUlJICEhIQoKSG9ibyB2ZXJrcmllY2h0IHNpY2ggbGFjaGVuZCBpbiBlaW5lIGR1bmtsZSBFY2tlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKEhhdGUsIDE0LiBBcHIgMTk5OSwgMTE6Mzg6MTYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkyNDA4NTg3NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExClRqYSwgd2llIHNjaG9uIGluIGJlaWRlbiBQb3N0aW5ncyB2b3IgbWlyIGdlc2FndCwgZ2VuYXUgZGFzIHR1ZSBpY2ggOi0pCkNLRVMgaXN0IGRlciBIYWVuZGxlciB1bSBkaWUgRWNrZSwgZGEgaGFiIGljaCBpbW1lciBqZW1hbmRlbiBhbiBkZXIKSGFuZCwgZGVtIGljaCBkaWUgT2hyZW4gbGFuZ3ppZWhlbiBrYW5uLCB3ZW5uIHdhcyBpc3QgdW5kIGVzIGdpYnQKa2VpbmUgRnJhZ2VuIHVuZCBTdHJlaXRlcmVpZW4sIHdpcmQgdW1nZXRhdXNjaHQgOi0pCgpJY2ggYmluIGRhYmVpIG1pY2ggbmFjaCBlaW5lciBSQUlEIHVuZCBlaW5lciBCYWNrdXBsb2VzdW5nIHVtenVzZWhlbiwgZGllCmFremVwdGFiZWwgaXN0LiBXZXIgYWxzbyBSQUlEIGxvZXN1bmdlbiBmdWVyIExpbnV4IGtlbm50LCBkaWUgZ3V0IHNpbmQKdW5kIG5pY2h0IHp1IHRldWVyIHNhZyBtYWwgQmVzY2hlaWQuIERhcyBnbGVpY2hlIGdpbHQgZnVlciBCYWNrdXAuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIYXRlLCAxNC4gQXByIDE5OTksIDEyOjA5OjQxKToKfiMhIHJuPUhhdGUgcnQ9OTI0MDg5ODk2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKSGksCgpoaWVyIGVpbiBha3R1ZWxsZXMgVXBkYXRlIGRlciBQcmVpc2UuIERpZSBOZXR6d2Vya2thcnRlCmZhZWxsdCBhdXMgZGVtIEFuZ2Vib3QgcmF1cywgZGEgd2lyIGVpbmUgR2VzY2hlbmt0IGJlLQprb21tZW4uIEFuc29uc3RlbiBpc3QgZGFzIEFuZ2Vib3Qgdm9tIEluaGFsdCBoZXIgZ2xlaWNoLgpFcyBpc3QgZXR3YXMgZ3VlbnN0aWdlciBnZXdvcmRlbi4gCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDS0UgICAgIHwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rCkFUIEJpZyBUb3dlciBZYWt1bW8sIDI1MFcsIENFICAgICAgIHwgMSB8ICAgODYuMDcgfCAgCkFiaXQgQlg2IEJYIFBJSSBBVFggICAgICAgICAgICAgICAgIHwgMSB8ICAyMzguNTQgfCAgCkludGVsIFBlbnRpdW0gSUkgNDAwTUh6IE9MR0EgU0VDQzIgIHwgMSB8ICA2MjMuNDAgfApQb3J6ZXNzb3JrdWhsZXIgUElJIFNFQ0MyIFBMR0EgWWFrICB8IDEgfCAgIDE1LjQ5IHwKMTI4TUIgMTYqNjQtMDcgU0RSQU0gVklHIFBDMTAwIDNTVSAgfCAyIHwgIDYxMi4zNCB8CjEwLjEvSURFLzMuNSBJQk0gRFRUQS0zNTEwMTAgNS40IDkuIHwgMiB8ICA3MDAuODYgfCAgCkJUQyA1MTIxLUdFUiBQUy8yIFdpbjk4IFN0YW5kYXJkIGR0LnwgMSB8ICAgMTUuOTggfCAgIAo0TUIgWWFrdW1vIFMzIFRyaW8gM0QgQUdQIGJrICAgICAgICB8IDEgfCAgIDQ3Ljk1IHwKMS40NE1CIFNvbnkgTVBGLTkyMC1FLzEzMSBvLlIuIHdlaXNzfCAxIHwgICAyOC4xNSB8Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKwpHZXNhbXRzdW1tZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMzY4Ljc4IHwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoSGF0ZSwgMTQuIEFwciAxOTk5LCAxMjoxMDoyOSk6Cn4jISBybj1IYXRlIHJ0PTkyNDA5MTc4MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCkFjaGphLCBkYXMgbXVlc3N0ZSBpY2ggZGFubiBhdWNoIGlubmVyaGFsYiBkZXIgbmFlY2hzdGVuIFdvY2hlIGthdWZlbi4KSWNoIHd1ZXJkZSBkYXMgYXVjaCBnZXJuZSBzbyB0dW4sIGRhbWl0IGljaCBkYXMgRGluZyBmZXJ0aWcgZWluZ2VyaWNodGV0CnVuZCBnZXRlc3RldCB1ZWJlcm5laG1lbiBrYW5uLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoU2lsdmFuYSwgMTQuIEFwciAxOTk5LCAxMjo0MzoxMSk6Cn4jISBybj1IYXRlIHJ0PTkyNDA5MTc4MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCkR1IGhhZXR0ZXN0IHZpZWxsZWljaHQgZGF6dSBzYWdlbiBzb2xsZW4sIGRhc3MgZGFzIGtlaW5lIEVpbnplbHByZWlzZSBzaW5kLApiZWkgZGVuIGRvcHBlbHQgYmVub2V0aWd0ZW4gUG9zaXRpb25lbi4gIEhhYiBtaWNoIGdyYWQgc2Nob24gZ2VmcmFndCwgb2IgRHUgaW4KbmVyIEFwb3RoZWtlIGVpbmthdWZzdCB1bmQgd28gRHUgYWRkaWVyZW4gZ2VsZXJudCBoYXN0Li4uCgogIFNpbHZhbmEgKG5vY2ggbmljaHQgZ2FueiB3YWNoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChSb2NodXMsIDE0LiBBcHIgMTk5OSwgMTQ6MDQ6MDcpOgp+IyEgcm49SG9ibyBydD05MjQwODgyOTYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpEZXIgZWluemlnZSBWb3J0ZWlsIGRlbiBpY2ggYW0gUElJSSBzZWhlLCBpc3QgZGVyCkhhcmR3YXJlLVp1ZmFsbHN6YWhsZW5nZW5lcmF0b3IuCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChSaW5nb3IsIDE0LiBBcHIgMTk5OSwgMjE6MzU6MDIpOgp+IyEgcm49Um9jaHVzIHJ0PTkyNDA5ODY0NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCkR1IHdpbGxzdCBkb2NoIG5pY2h0IGltIEVybnN0IGRhcyBiZXJ1ZWhtdC1iZXJ1ZWNodGlndGUgTUctUmFuZG9tIGthcHV0dAptYWNoZW4sIG9kZXI/IAoKVHUgTmFjaHR3aW5kIGRhcyBuaWNodCBhbiAtIGRhbm4gbXVlc3N0ZW4gYWxsZSBHaWxkZW4gbmV1IGR1cmNoZ2VyZWNobmV0CndlcmRlbi4gOy0pCgpSaW5nb3IuIERhZ2VnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKFdpbGxvdywgMTQuIEFwciAxOTk5LCAyMTo0MDoyNCk6Cn4jISBybj1IYXRlIHJ0PTkyNDA5MTc4MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCk1hbCBuZSBhbGxnZW1laW5lIEZyYWdlIC0gd2FlcmUgZXMgbmljaHQgYmVzc2VyIChzcHJpY2g6c2NobmVsbGVyKSB3ZW5uIHdpcgpkZW4gUmVjaG5lciBtaXQgU0NTSS1BdXNzdGF0dHVuZyBuZWhtZW4/Pz8gWnVtYWwgZGFubiBhdWNoIGRpZSBCYWNrdXAtTG9lc3VuZwpzdGFiaWxlciB3aXJkLi4uCldlaWRjaGVuIFdpbGxvdyBoYXQgenVoYXVzZSBudXIgU0NTSQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIYXRlLCAxNS4gQXByIDE5OTksIDA5OjE2OjMxKToKfiMhIHJuPVdpbGxvdyBydD05MjQxMjYwMjQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpMZWlkZXIgaXN0IFNDU0kgaW0gYWxsZ2VtZWluZW4genUgdGV1ZXIgdW5kIGVzIGhhdCBrZWluZSBWb3J0ZWlsZSBtZWhyCmdlZ2VudWViZXIKRUlERSwgd2VubiBkZXIgQ2hpcHNhdHogYXVmIGRlbSBNb3RoZXJib2FyZCB2b24gTGludXggZW50c3ByZWNoZW5kCnVudGVyc3R1ZXR6dAp3aXJkLiBVbmQgbWl0IGRlbSBCYWNrdXAgaGF0IGRhcyBpbSBFbmRlZmZla3Qgd2VuaWcgenUgdHVuLiAKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKFN0cmVhd2tjZXVyLCAxNS4gQXByIDE5OTksIDIwOjQ2OjE3KToKfiMhIHJuPUhhdGUgcnQ9OTI0MDkxNzgxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKV2FydW0ga2VpbiBDZWxlcm9uLTQwMCBvZGVyIDQzMyA/IGtvc3RldCBkaWUgSGFlbGZ0ZSBiZWkgYWVobmxpY2hlcgpMZWlzdHVuZy4uLiAoaG1qYSBpY2ggd2Vpc3MgamV0enQgbmljaHQgd2llIHNpY2ggZGVyIGdlZ2VuIGRlbiBQSUkgYmVpIHNvCmVpbmVyIEFud2VuZHVuZyBzY2hsYWVndCwgYWJlciBGbG9hdGluZ3BvaW50LVBvd2VyIGJyYXVjaHQgZGVyIEdEIG0uVy4KbmljaHQuLi4pCgpycgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIYXRlLCAxNS4gQXByIDE5OTksIDIwOjQ5OjI2KToKfiMhIHJuPVN0cmVhd2tjZXVyIHJ0PTkyNDIwOTE3NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCktlaW4gQU1ELUs2LUlJIHVuZCBrZWluIENlbGVyb24sIHdlaWwgZGllIG51ciBtYXguIDI1Nk1CIGNhY2hlbiBrb2VubmVuIQpJY2ggaG9mZmUgZGFzIGlzdCBpbnp3aXNjaGVuIGFsbGVuIGtsYXIuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChBc21vZGlzLCAxNS4gQXByIDE5OTksIDIxOjAwOjM3KToKfiMhIHJuPVJpbmdvciBydD05MjQxMjU3MDIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpJY2ggc2VocyBrb21tZW4sIGRlbW5hZWNoc3QgamFtbWVybiBkaWUgU3BpZWxlciB3aWVkZXIsIHdlaWwgaWhyZSBTcGVsbHMKZWluZmFjaCBuaWNodCBzY2hpZWZnZWhlbiB3b2xsZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKFN0cmVhd2tjZXVyLCAxNS4gQXByIDE5OTksIDIxOjQzOjAxKToKfiMhIHJuPUhhdGUgcnQ9OTI0MjA5MzY2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKRGVyIENlbGVyb24ga2FubiBudXIgbWF4LiAyNTZNQiBjYWNoZW4/IFNlaXQgd2FubiBkZW5uIGRhcz8gU293ZWl0IG1pdCBiZWthbm50CmJldHJhZWd0IGRpZSBDYWNoYWJsZSBBcmVhIGRlciBuZXVlcmVuIENlbGVyb24gUHJvemVzc29yZW4gKGRpZSBtaXQgZGVtIEwyCkNhY2hlKSA0R0IuIEljaCBkZW5rZSBkYXMgc29sbHRlIHJlaWNoZW4uLi4KCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKEhhdGUsIDE1LiBBcHIgMTk5OSwgMjE6NDk6MDkpOgp+IyEgcm49U3RyZWF3a2NldXIgcnQ9OTI0MjEyNTgxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKRGFubiB3ZXJkZSBpY2ggZGFzIG5vY2htYWwgZ2VuYXVlciB1bnRlciBkaWUgTHVwZSBuZWhtZW4uIEFsbGVyZGluZ3MgaGFlbmd0IGVzCmphIG5pY2h0IG51ciB2b20gUHJvemVzc29yLCBzb25kZXJuIGF1Y2ggdm9tIENoaXBzZXQgYXVmIGRlbSBCb2FyZCBhYi4gQWxzbwppY2ggaGFiZSBkYSBCZWRlbmtlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKEthcnRvZmZlbCwgMTUuIEFwciAxOTk5LCAyMjoxNDo0OSk6Cn4jISBybj1IYXRlIHJ0PTkyNDAxNzQzMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCkhhdCBtYWwgZWluZXIgU2hha3kgZ2VmcmFndCwgZGVyIGlzIGRvY2ggc2VsYnN0YWVuZGlnIG1pdCBuZW0ga2xlaW5lbiBMYWRlbgooU3BlY3Ryb1NvZnR3YXJlKS4uLgoKJ1RvZmZlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChBbGluZSwgMTYuIEFwciAxOTk5LCAwODo0MDo0Myk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9OTI0MjE0NDg5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKCkhtbSB1bmQgZGVyIGZhZWhydCBhdWNoIGltbWVyIHNvZm9ydCBuYWNoIEJlcmxpbiwgd2VubiBtYW4gd2FzIGF1c2dldGF1c2NodAp3ZXJkZW4gbXVzcz8KCkFsaW5lIG5pY2h0IHN1ZWNodGlnLCBrYW5uIHNpY2ggYWJlciBkYXMgR2VzY2hyZWkgdm9yc3RlbGxlbiB3ZW5uIG1hbCAxIFRhZwpkYXMgTUcgbmljaHQgZGEgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoQmhhbWlyLCAxNi4gQXByIDE5OTksIDEzOjE2OjUwKToKfiMhIHJuPUhhdGUgcnQ9OTI0MjEyOTQ5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKQWxzbyBBRkFJSyBoYWJlbiBkaWUgQ2hpcHNhdHpoZXJzdGVsbGVyIGZ1ZXIgZGllIExvdy1Db3N0IENQVXMga2VpbmUgCkNoaXBzYWV0emUgZW50d2lja2VsdCBkaWUgbWVociBhbHMgMjU2TSBjYWNoZW4ga29lbm5lbi4gRnVlciBkZW4gRGVza3RvcC0KTWFya3QgcmVpY2h0IGRhcyB1bmQgZGVuIFNlcnZlci1tYXJrdCBoYXQgbWFuIGRhIHdvaGwgSW50ZWwgdWViZXJsYXNzZW4sCndlaWwgZGVyIG5lIGdhbnplIEVja2Uga2xlaW5lciBpc3QuIFVlYnJpZ2VuczogbmljaHQgZGllIFNwZWljaGVyZ3JvZXNzZSBkaWUKYWRyZXNzaWVydCB3ZXJkZW4ga2FubiBtaXQgZGVyIGRpZSBnZWNhY2h0IHdlcmRlbiBrYW5uIHZlcndlY2hzZWxuLCBkYXJ1bQpnZWh0cwpoaWVyLiBXZW5uIGplbWFuZCBuZW4gU29ja2VsNyBvZGVyIENlbGVyb24tQ2hpcHNhdHoga2VubnQgZGVyIGdlbnVnIGNhY2h0LCAKZGFubiBzYWd0cyBsYXV0LiAKCkJoYW1pcgosCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChZYXJlbiwgMTYuIEFwciAxOTk5LCAyMDoyMDoyMik6Cn4jISBybj1IYXRlIHJ0PTkyNDAwNjYxMSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCmljaCB3dWVyZGUgZWhlciBkYXMgYWJpdCBiaDYgbmVobWVuIC0gYmlsbGlnZXIgdW5kIGdlbmF1c28gZ3V0LiB6dSBkZW4KYW5iaWV0ZXJuOiBibG9zcyBuaWNodCBDUCBvZGVyIGFsdGVybmF0ZSEgZGFzIHNpbmQgZWNodCBkaWUgdW56dXZlcmxhZXNzaWdzdGVuCnZlcnNlbmRlciAtIGhhYmVuIG5pY2h0cyB2b3JyYWV0aWcsIG1hY2hlbiBhYmVyIGZsZWlzc2lnIGJpbGxpZ3ByZWlzZSB1bmQgd2VubgptYWwgd2FzIGRlZmVrdCBpc3QgaGF0IG1hbiBlY2h0IG5lbiBwcm9ibGVtLCB2b3IgYWxsZW0gbWl0IENQLiBjaGVja3QgYXVjaCBtYWwKZGllIG5ld3Nncm91cHMgLSBkaWUgc2luZCB2b2xsIGRhdm9uIC4uLgphbHMgbncta2FydGUgd3VlcmRlIGljaCBkLWxpbmsgbmVobWVuIC0gZGV1dGxpY2ggYmlsbGlnZXIgdW5kIG1laW5lciBtZWludW5nCm5hY2ggc29nYXIgYmVzc2VyLiB2b24gZGVuZW4gZ2lidCBlcyBrYXJ0ZW4gbWl0IGRlbSByZWFsdGVrLWNoaXAsIGRlciB3aXJkCmF1Y2ggdm9uIGxpbnV4IG9obmUgcHJvYmxlbWUgdW50ZXJzdHVldHp0LgoKWWFyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoWWFyZW4sIDE2LiBBcHIgMTk5OSwgMjA6Mjc6MzgpOgp+IyEgcm49U3RyZWF3a2NldXIgcnQ9OTI0MjA5MTc3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKZGVyIGNlbGVyb24gaGF0IGRlbnNlbGJlbiBmcHUta2VybiB3aWUgZWluIFBJSSAtIGtlaW4gdW50ZXJzY2hpZWQgaW4gZGVyCmZsb2F0aW5ncG9pbnRsZWlzdHVuZywgYWJlciBkZXIgY2VsZXJ5IGhhdCBudXIgNjZtaHogZnNiIHVuZCBudXIgMTI4ayBjYWNoZQp1bmQgZGFzIG1hY2h0IGVzIGdlcmFkZSBiZWkgZGllc2UgYXBwbGlrYXRpb24gYXVzLCB3ZW5uIG1hbiBkYXMgYmFieSBuaWNodApob2NodGFrdGV0IDstKQoKWWFyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKFlhcmVuLCAxNi4gQXByIDE5OTksIDIwOjMwOjI1KToKfiMhIHJuPUhhdGUgcnQ9OTI0MjEyOTQ5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKZGVyIHp4LWNoaXBzYXR6IGthbm4gbnVyIDI1Nm1iIGNhY2hlbiAtIGRlciBieC1jaGlwc2F0eiBoYXQgZGEga2VpbmUgcHJvYmxlbWUuCmVpbmUgbW9lZ2xpY2hrZWl0IHdhZXJlIGFscyB6LmIuIGNlbGVyb240MDAgYWxzIHBwZ2EgbWl0IGFiaXQgYm02LiBtYW4ga2FubgpzY2hsZWNodCBzYWdlbiwgd2llIGRhcyBtaXQgZGVyIHBlcmZvcm1hbnogaXN0OiBkZXIgY2VsZXJvbiBoYXQgMTI4ayBsMi1jYWNoZSwKYWxsZXJkaW5ncyBtaXQgNDAwbWh6IGdldGFrdGV0LCBkZXIgUElJLTQwMCBoYXQgNTEyaywgYWJlciBudXIgbWl0IDIwMG1oegpnZXRha3RldC4gaG0uIHdpZSB3YWVyZSBlcyBtYWwgbWl0IG5lbSBtdWQtYmVuY2htYXJrPyA6LSkKCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKEhhdGUsIDE2LiBBcHIgMTk5OSwgMjA6NTU6NDIpOgp+IyEgcm49WWFyZW4gcnQ9OTI0Mjk0MDIyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKRGFzIEJINiBNT3RoZXJib2FyZCBpc3QgTXVlbGwsIGVzIGtyaWVndCBzY2hsZWNodGUgS3JpdGlrZW4gdW5kIGlzdCBhdWNoIHNvbnN0Cm5pY2h0IHVuYmVkaW5ndCBnZW5lcm9lcyBhdXNnZXN0YXR0ZXQuIEltIEdlZ2Vuc2F0eiB6dW0gIk5hY2hmb2xnZXIiIEJYNiwgd2FzCm5hZW1saWNoIHUuYS4gNCBESU1NIFN0ZWNrcGxhZXR6ZSBoYXQgdW5kIGlzdCBhdWNoIHNvbnN0IHJlY2h0IGdyb3NzenVlZ2lnCmF1c2dlbGVndC4KCkVpbmUgTmV0endlcmtrYXJ0ZSBoYWJlbiB3aXIgZWluZSAzYzkwNVRYIGFscyBTcGVuZGUsIGdlbmF1c28gd2llIGVpbiAxMjhNQgpESU1NIG1vZHVsIChiZWlkZXMgaGV1dGUgYmVpIG1pciBlaW5nZXRyb2ZmZW4pLgoKWnVtIFRoZW1hIENlbGVyb24gb2RlciBuaWNodCBDZWxlcm9uIC4uLiBUamEsIGljaCBzZWhlIHRyb3R6IGdlcmluZ2VyZXIKVGFrdGZyZXF1ZW56IGRpZSA1MTJrIGdlZ2VudWViZXIgMS8zIC0gMTI4ayBkb2NoIGVpbmVuIFZvcnRlaWwgZnVlciBkZW4gUElJLgpBYmVyIGRhIG11ZXNzdGUgaGFsdCBtYWwgamVtYW5kIGVpbmVuIENlbGVyb24gdW5kIGVpbmVuIFBJSSBkdXJjaCBlaW4KU3BlaWNoZXJpbnRlbnNpdmVzIEJlbmNobWFyayBqYWdlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKFdvb2R5LCAxNi4gQXByIDE5OTksIDIzOjA1OjUyKToKfiMhIHJuPUhhdGUgcnQ9OTI0Mjk2MTQyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKQmluIG1pdCBtZWluZW0gQlg2LTIuMCBCb2FyZCBhdWNoIHNlaHIgenVmcmllZGVuLiBVbmQgd2FzIENhY2hlIGFuZ2VodCwKc28gaXN0IHdlaXRoaW4gYmVrYW5udCwgZGFzIGFiIGVpbmVtIGJlc3RpbW10ZW4gV2VydCwgZGVyIGltIGFsbGdlbWVpbmVuClNFSFIgbmllZHJpZyBpc3QgKGFsc28gYmVpIDEyOCBLQiBsb2NrZXIgZXJyZWljaHQgaXN0KSBmdWVyIGRpZSBtZWlzdGVuCkFud2VuZHVuZ2VuIGVpbmUgU3RlaWdlcnVuZyBkZXIgQ2FjaGVncm9lc3NlIHVtIGRhcyBWaWVsZmFjaGUgYmVpIGRlcgpHZXNjaHdpbmRpZ2tlaXQgbnVyIG5vY2ggZWluaWdlIFByb3plbnQgaGVyYXVzaG9sdC4gSW5zb2Zlcm5lIGlzdCBlaW4KQ2VsZXJvbiBrZWluZXN3ZWdzIHVudGVybGVnZW4sIGltIEdlZ2VudGVpbCwgZHVyY2ggZGVuIGhvZWhlcmVuIFRha3QKYmVpbSBMMi1DYWNoZSBzb2dhciBtZWlzdCBlaW4gYmlzc2NoZW4gZmxvdHRlci4gSW0gYWxsZ2VtZWluZW4uCgpEYSBqZWRvY2ggT3ZlcmNsb2NraW5nIGZ1ZXJzIE1HIGluZGlza3V0YWJlbCBpc3QsIHVuZCBDZWxlcm9uIF9kZXJ6ZWl0XwpudXIgNjYgTUh6IEZTQiAoRnJvbnQgU2lkZSBCdXMpIGhhdCwgaXN0IGVpbiBQMiBtaXQgMTAwIE1IeiBTcGVpY2hlci0KdGFrdCBsZXR6dGVuZGxpY2ggaW0gTW9tZW50IHNpY2hlciB2b3J6dXppZWhlbjsgdW5kIGJpcyBJbnRlbCBkZW4KQ2VsZXJvbiBtaXQgMTAwIE1IeiBGU0IgYW5iaWV0ZXQsIGdlaGVuIHdvaGwgbm9jaCBlaW5pZ2UgTW9uYXRlIGlucwpMYW5kLi4uCgoKV29vZHkuLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoQXJrLCAxNi4gQXByIDE5OTksIDIzOjIyOjE5KToKfiMhIHJuPVdvb2R5IHJ0PTkyNDMwMzk1MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCkhtLCBhbHNvIGRhIGlzdCBtYW4gc2Nob24gZWluZW4gU2Nocml0dCB3ZWl0ZXIgOi0pIEludGVsIGJpZXRldCBmdWVyIFBJSQpTZXJ2ZXJwcm96ZXNzb3JlbiBWZXJzaW9uZW4gbWl0IDUxMiBLQiwgMSBNQiB1bmQgMiBNQiBMZXZlbDIgQ2FjaGUgYW4uIERhYmVpCmlzdCBlcyBpbiBkZXIgVGF0IHNvLCBkYXNzIHZpZWxlIEJlbmNobWFya3MgamUgbmFjaCBBbnphaGwgZGVyIFVzZXIgaWhyZQpQZWFrLVBlcmZvcm1hbmNlIGJlaSA1MTIgS0IgaGFiZW4sIGJ6dy4gd28gZWluIGdyb2Vzc2VyZXIgTDItQ2FjaGUgbnVyIG5vY2gKZWluZSBtaW5pbWFsZSBWZXJiZXNzZXJ1bmcgaGFiZW4gdW5kIGJlaSB3ZWl0ZXJlciBFcmhvZWh1bmcgc29nYXIgc2NobGVjaHRlcgp3ZXJkZW4uIERhcyBoYWVuZ3QgZGFubiBkYXJhbiwgZGFzcyBzaWNoIGRhcyBCb3R0bGVuZWNrIGltIEkvTy1CZXJlaWNoIG9kZXIKc29uc3R3byBiZWZpbmRldC4gSW50ZWwgaWdub3JpZXJ0IGRhcyBpcmdlbmR3aWUsIGRpZSBQcmVpc2UgZnVlciAxTUIgTGV2ZWwyCkNhY2hlIFByb3plc3NvcmVuIHVuZCAyTUIgVmVyc2lvbmVuIGplZGVuZmFsbHMgc2luZCBzaWNoZXJsaWNoIGFiZW50ZXVlcmxpY2gsCnZlcmdsaWNoZW4gbWl0IGRlbSwgd2FzIG1hbiBfdmllbGxlaWNodF8gZ2V3aW5udC4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKFlhcmVuLCAxNy4gQXByIDE5OTksIDE0OjM5OjI1KToKfiMhIHJuPUhhdGUgcnQ9OTI0Mjk2MTQyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKZGFzIGJoNiBpc3QgbmljaHQgZGVyIG5hY2hmb2xnZXIgZGVzIGJ4Niwgc29uZGVybiB1bWdla2VocnQuIGVzIHNlaSBkZW5uLCBkdQptZWluc3QgZGFzIGJ4NiB2ZXJzaW9uIDIuMCwgd2VsY2hlcyBnZXJhZGUgaGVyYXVzZ2Vrb21tZW4gaXN0LiBtaXQgZGVuCmRpbW0tcGxhZXR6ZW4gbXVzcyBpY2ggZGlyIHJlY2h0IGdlYmVuLCBhYmVyIGJpc2hlciB3YXIgaGllciBuaWNodCB6dSBsZXNlbiwKZGFzcyBkYXMgYm9hcmQgbWl0IG1laHIgYWxzIDM4NG1iIGF1c2dlc3RhdHRldCB3ZXJkZW4gc29sbHRlLCBzb25kZXJuCmxlZGlnbGljaCBtaXQgMjU2LCBvZGVyPyB1bmQgZGEgc2luZCAzIGRpbW0tcGxhZXR6ZSBhdXNyZWljaGVuZC4gbWljaCB3dWVyZGUKbWFsIGludGVyZXNzaWVyZW4sIHdvIGRhcyBiaDYgc2NobGVjaHRlIGtyaXRpa2VuIGJla29tbWVuIGhhdCAuLi4gYmVpIGRlbgplaW5zY2hsYWVnaWdlbiByZXZpZXdlcnMgd2llIHouYi4gYmVpIGFuYW5kdGVjaCwgdG9tcyBoYXJkd2FyZSBvLmFlLgpqZWRlbmZhbGxzIG5pY2h0IC4uLiBlaW4gd2ljaHRpZ2VyIGFzcGVrdCBub2NoOiBpY2ggc2VsYnN0IGhhYmUgZWluIGJ4NgoodmVyc2lvbiAxLjApIHVuZCBoYWJlIGZlc3RnZXN0ZWxsdCwgZGFzcyBlcyBiZWkgZGVuIG1laXN0ZW4gZ2VoYWV1c2VuCnByb2JsZW1lIG1pdCBkZW4gZGltbS1zbG90cyB1bmQgZGVtIGZlc3RwbGF0dGVua2FlZmlnIGdpYnQsIHdlbm4gbWFuIG1laHIgYWxzCmVpbmUgcGxhdHRlIGVpbmJhdXQgdW5kIGRpZXNlIGRhbm4gbWl0IGRlbiBzdGVja2VybiB1ZWJlciBkYXMgbWFpbmJvYXJkCmhpbmF1c3JhZ3Q6IGFuIGV4YWN0IGRpZXNlciBzdGVsbGUgc2luZCBuYWVtbGljaCBkaWUgNCBkaW1tLXNsb3RzIHVuZCBtZWhyIGFscwoyIGJhZW5rZSBrYW5uIG1hbiBkYW5uIGF1cyBwbGFldHpncnVlbmRlbiBuaWNodCBiZXN0dWVja2VuOyBiZWltIGJoNiBoaW5nZWdlbgpzaW5kIGRpZSBzbG90cyB3ZWl0ZXIgaW5uZW4sIHNvIGRhc3MgaGllciBrZWluZSBwcm9ibGVtZSBlbnRzdGVoZW4uCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoUGFkcmVpYywgMTcuIEFwciAxOTk5LCAxNDo0NjozMSk6Cn4jISBybj1ZYXJlbiBydD05MjQzNTk5NjUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpJY2ggZGVua2UgSGF0ZSBzY2hyaWViIGRhIHdhcyB2b24gZWluZW0gVG93ZXJnZWhhZXVzZSwgZGEgc29sbHRlIGVzIGVpZ2VudGxpY2gKaW0gbm9ybWFsZmFsbCBrZWluZXJsZWkgS29uZmxpa3RlIG1pdCB6dWdlYmF1dGVuIFBsYWV0emVuIGF1ZiBkZW0gQm9hcmQgZ2ViZW4uCldhcyBkZW4gU3BlaWNoZXIgYW5nZWh0IGhhYiBpY2ggZGFzIHNvIHZlcnN0YW5kZW4sIGRhcyBqZXR6dCAyNTZNQiBkYQpyZWlua29tbWVuLCBlcyBpc3QgYWJlciB3b2hsIG5pY2h0IHZlcmtlaHJ0IGZ1ZXIgZGllIFp1a3VuZnQgbm9jaApFcndlaXRlcnVuZ3NzcGllbHJhdW0genUgbGFzc2VuLCBmdWVyIGRlbiBGYWxsIGRhcyBpcmdlbmR3YW5uIGRvY2ggbWFsIHdlaXRlcgphdXNnZWJhdXQgd2VyZGVuIHNvbGwuCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKEhvb2QsIDE4LiBBcHIgMTk5OSwgMjA6NTE6MzUpOgp+IyEgcm49WWFyZW4gcnQ9OTI0Mjk0NDU4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQwMDY2MTEKd2llc28gaXN0IGRhbm4gZWlnZW50bGljaCBlaW4gcmF5dHJhY2VyIGF1ZiBlaW5lbSBjZWxlcm9uIDMzMyBnYW56ZQo1IG1hbCBsYW5nc2FtZXIgYWxzIGVpbiBQSUkgNDAwPyBudXIgbWl0IGNhY2hlIHVuZCBmc2Iga2F1bSBlcmtsYWVyYmFyLApkaWUgZmxvYXRpbmdwb2ludGxlaXN0dW5nIGthbm4gdW5tb2VnbGljaCBpZGVudGlzY2ggc2Vpbi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoSGF0ZSwgMjAuIEFwciAxOTk5LCAwODoxNzo1Myk6Cn4jISBybj1Ib29kIHJ0PTkyNDQ2ODY5NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCk51biwgaWNoIGRlbmtlIG5pY2h0LCBkYXNzIHdpciBmdWVyIGVpbiBNVUQgdmllbCBGbG9hdGluZ3BvaW50bGVpc3R1bmcKYnJhdWNoZW4uIEljaCBoYWJlIGF1ZiBqZWRlbmZhbGwgbm9jaG1hbCBtaXQgdW5zZXJlbiBIYXJkd2FyZWJhc3RsZXJuCmdlc3Byb2NoZW4gKERpZSBiYXVlbiBnYW56ZSBlaWdlbmUgUmVjaG5lcikgdW5kIGRpZSBtZWludGVuLCBkZXIgdW50ZXJzY2hpZWQKendpc2NoZW4gNjZNaHogRlNCIHVuZCAxMDBNSHogRlNCIG1hY2hlIHNpY2ggbWl0IG1heC4gMy00JSBiZW1lcmtiYXIgdW5kIGRhcwpkdWVyZnRlIG1hbiBoaWVyIGthdW0gc3B1ZXJlbi4gR2FueiBpbSBHZWdlbnNhdHogenVtIHNjaG5lbGxlcmVuIGNhY2hlIGRlcwpDZWxlcm9uLCBkZXIgYmVpIG9mdCB3aWVkZXJob2x0ZW4gQXVmZ2FiZW4gKHouQi4gRXRoZXJuZXQpIGR1cmNoYXVzClBlcmZvcm1hbmNlIGJyaW5ndC4gTnVuIGlzdCBhbHNvIGVpbmZhY2ggZGllIEZyYWdlLCBvYiBtYW4gbGllYmVyIG5lbiBDZWxlcm9uCm5pbW10IHVuZCBmdWVyIGRhcyBnZXNwYXJ0ZSBHZWxkIGVpbmVuIDEyOE1CIFN0cmlwIGthdWZ0IChhdWNoIGRlciAxMDBNSHogRlNCClJBTSBsYWV1ZnQgbWl0IGRlbiA2Nk1IeikgdW5kIG1hbiBrb2VubnRlIGRlbiBDZWxlcm9uIG5vY2ggZXR3YXMgdWViZXJ0YWt0ZW4KKGdsZWljaGVyIGNvcmUgd2llIFBJSSkuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoV29vZHksIDIwLiBBcHIgMTk5OSwgMTM6MzA6NTgpOgp+IyEgcm49SGF0ZSBydD05MjQ1OTYyNzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpOZWluLiBEYXMgaGFzdCBEdSBuaWNodCBnZXNjaHJpZWJlbi4gT2Rlcj8gRHUgd2lsbHN0IG5pY2h0IGltIEVybnN0CmVpbmVuIFJlY2huZXIsIGJlaSBkZW0gZXMgYXVmIFN0YWJpbGl0YWV0IGFua29tbXQsIHVlYmVydGFrdGVuLiBPZGVyPwpJY2ggbWFjaCBlcyB6d2FyIGF1Y2ggZGFoZWltIG9obmUgU3RhYmlsaXRhZXRzcHJvYmxlbWUsIGFiZXIgZnVlciBlaW5lbgozNjUqMjQgTXVkcmVjaG5lcj8/PyBUdSdzIG5pY2h0LiAodW5kIHdhcyBkaWUgUGVyZm9ybWFuY2UgYW5nZWh0LCBkYXMKa2FubiBtYW4gc2Nod2VyIHBhdXNjaGFsIHNhZ2VuLCBiZWkgZ3JvZXNzZXJlbiBEYXRlbm1lbmdlbiBzb2xsdGUgZGVyCjEwMCBNSHogRlNCIHNlaHIgd29obCB6dSBzcHVlcmVuIHNlaW4gLSB1bmQgZGllIGhhYmVuIHdpciBoaWVyIGphCmF1Y2g7IGRhcyBNRyBiZXN0ZWh0IG5pY2h0IG51ciBhdXMgQ29kZSBzb25kZXJuIGF1Y2ggYXVzIERhdGVuIDopKQoKV29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoSGF0ZSwgMjEuIEFwciAxOTk5LCAxMDoyODozMCk6Cn4jISBybj1Xb29keSBydD05MjQ2MTUwNTggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpBbHNvIHp1bSBBYnNjaGx1c3MsIG5hY2ggdmllbGVtIGhpbiB1bmQgaGVyLCBrb21tdCBlaW4gUElJLTQwMCB3aWUgaW0gQW5nZWJvdAp1bmQgYWxzIGVpbnppZ2UgQWVuZGVydW5nIGRhenUga29tbXQgZWluIEFPcGVuIEJYNiBCb2FyZCBhbnN0YXR0IGRlcyBBYml0LApzb25zdCBibGVpYnRzIHdpZSBnZWhhYnQuIAoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKENhdHdlYXpsZSwgMjEuIEFwciAxOTk5LCAxMjo1NTo1NCk6Cn4jISBybj1IYXRlIHJ0PTkyNDY5MDUxMCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCkFlaG0sIGR1IGhhc3QgZGFzIHp1c2FldHpsaWNoZSwgYmV6YWhsYmFyZSAxMjhNQi1SaWVnZWxjaGVuIHZlcmdlc3Nlbi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVjaG5lciAoU21hcnRlLCAyMy4gQXByIDE5OTksIDE0OjUxOjE5KToKSWNoIGhhYmUgaW0gRGV6ZW1iZXIgYmVpIG1laW5lbSAiSGFlbmxkZXIgYW4gZGVyIEVja2UiIGluIEVzc2VuIGRpZSBJQk0gRFRUQQpGZXN0cGxhdHRlIDgsNCBHQiA4bXMgWnVncmZpZmZzemVpdCBmdWVyIDM1MCwtIERNIGdla2F1ZnQgLiBELmguIGZ1ZXIgZXVyZQoxMCwxIGJla29tbXQgaWhyIGhpZXIgMTYsOEdCIChqYSBpY2ggd2Vpc3MgZGFzIHNpbmQgYXVjaCBudXIgZXR3YSAxNkdCKS4KVWVicmlnZW5zIGlzdCBkYXMgZGVyIGJpbGxpZ3N0ZSBIYWVuZGxlciBoaWVyIGluIEVzc2VuIHVuZCBpY2ggaGFiZSBhdXMKd2VuaWdzdGVucyAzMCB2ZXJzY2hpZWRlbmVuIGF1c2dld2FlaGx0LiBEaWUgQWRkcmVzc2Ugc29sbHRlIHd3dy5zZXJoZW5kLmRlCnNlaW4genVtaW5kZXN0IGhlaXN0IGRlciBMYWRlbiBTZXJoZW5kLiBFaW5lIGFuZGVyZSBGcmFnZSBpc3Qgb2IgZGVyIGF1Y2ggZGllCnJlc3RsaWNoZW4gS29tcG9uZW50ZW4gaGF0IC4KClNtYXJ0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlY2huZXIgKEdyaW1tYm9ybiwgMjMuIEFwciAxOTk5LCAyMTozOToxOCk6Cn4jISBybj1TbWFydGUgcnQ9OTI0ODc5MDc5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05MjQ4NzkwNzkKVW5kIGVpbmUgd2VpdGVyZSBGcmFnZSBpc3QsIHdpZXZpZWwgdGV1cmVyIGRlciBIYWVuZGxlciBpc3Qgd2VubiBlciBuYWNoCkJlcmxpbiBsaWVmZXJ0LCB1bmQgd2llIHNlaHIgbWFuIHNpY2ggYXVmIHNlaW5lbiBWb3ItT3J0LVNlcnZpY2UgdmVybGFzc2VuCmthbm4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldWVyIFJlY2huZXIgZnVlciBNRyAoWWFyZW4sICA1LiBNYWkgMTk5OSwgMTI6MjI6NDkpOgp+IyEgcm49UGFkcmVpYyBydD05MjQzNjAzOTEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQp6dXIgaW5mbzogbWVpbiBieDYgSVNUIGluIGVpbiBiaWd0b3dlciBlaW5nZWJhdXQgLi4uIGRlciBub3JtYWxlCkFUWC1mb3JtZmFrdG9yIGlzdCBoYWx0IHNvLCBkYXNzIHNlbGJzdCBiZWkgZWluZW0gYmlndG93ZXIgZGllIGVpbmdlYmF1dGVuCjMsNSItcGxhdHRlbiBtaXQgZGVuIGthYmVsbiBnZXJhZGUgdWViZXIgZGFzIGJvYXJkIHJlaWNoZW4gLSB3ZW5uIGdlbmF1IGFuIGRlcgpzdGVsbGUgaXJnZW5kZXR3YXMgZWluZ2ViYXV0IGlzdCwgd2FzIGhvY2hrYW5udCBzdGVodCAodW5kIERJTU1zIHNpbmQgY2EuIDNjbQpob2NoIC4uLiksIGRhbm4gZ2lidCBlcyBwcm9ibGVtZSAuLi4KCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChZYXJlbiwgIDUuIE1haSAxOTk5LCAxMjoyNzozMik6Cn4jISBybj1Ib29kIHJ0PTkyNDQ2ODY5NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCmRlciBtZW5kb2NoaW5vIGhhdCBlaW5lbiBkZXNjaHV0ZXMgY29yZSBtaXQgenVzYWV0emxpY2hlbSBsMi1jYWNoZSBvbiBkaWUuIGRpZQpmbG9hdGluZ3BvaW50LWxlaXN0dW5nIHNvbGx0ZSBkZW1uYWNoIGVpbmVtIG5vcm1hbGVuIHAyIGlkZW50aXNjaCBzZWluLCB3YXMKYmlzIGpldHp0IGF1Y2ggamVkZXIgYmVuY2htYXJrLCBkZW4gaWNoIGdlc2VoZW4gaGFiZSwgYmVzdGFldGlndCBoYXQgKHdpbnN0b25lCnVuZCBmcHUtbGVpc3R1bmcpLiBuZW5uIGRvY2ggbWFsIGRpZSBxdWVsbGUsIHZvbiBkZXIgZHUgZGVpbmUgaW5mb3JtYXRpb24KaGFzdC4KCllhcmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTmV1ZXIgUmVjaG5lciBmdWVyIE1HIChIb29kLCAgNS4gTWFpIDE5OTksIDEzOjU5OjI5KToKfiMhIHJuPVlhcmVuIHJ0PTkyNTkwNzI1MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI0MDA2NjExCmtlaW5lIHF1ZWxsZSwgaWNoIGhhYiBlaW5lbiByYXl0cmFjZXIgZ2VzY2hyaWViZW4gdW5kIGRlciBpc3QgbnVubWFsCm1laHJmYWNoIGxhbmdzYW1lciBhdWYgbWVpbmVtIGhlaW1pc2NoZW4gMzMzbWh6LWNlbGVyb24gYWxzIGF1ZiBkZW0KdW5pdmVyc2l0YWVyZW4gUElJLTQwMC4gYXVjaCBiZWkgcG92cmF5IG11c3N0ZSBpY2ggZGllIGVyZmFocnVuZyBtYWNoZW46CmRlciBnZXNjaHcudW50ZXJzY2hpZWQgc29sbHRlIG1heGltYWwgNTAtMTAwJSBiZXRyYWdlbiwga2VpbmUgPjUwMCUuCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOZXVlciBSZWNobmVyIGZ1ZXIgTUcgKEtleSwgIDUuIE1haSAxOTk5LCAxNToyMjoxNyk6Cn4jISBybj1ZYXJlbiBydD05MjU5MDY5Njkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyNDAwNjYxMQpPZGVyIGRlciBDYWNoZSAuLi4uIGphamEgOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VpdGVyIEludmVzdGl0aW9uZW4uIChIYXRlLCAxNy4gSnVuIDE5OTksIDE0OjU4OjAwKToKSGksCgp3aXIgc2luZCBqYSBsZWlkZXIgbm9jaCBuaWNodCBnYW56IGZlcnRpZyBtaXQgZGVtIFJlY2huZXJrYXVmIDotKQpXYXMgbm9jaCBmZWhsdCBpc3QgZWluZSBCYWNrdXBsb2VzdW5nIHVuZCBtaXIgc2Nod2VidCBub2NoIGVpbmUKdW50ZXJicmVjaHVuZ3NmcmVpZSBTdHJvbXZlcnNvcmd1bmcgKFVTVikgdm9yLiBMZXR6dGVyZSwgZGEgd2lyCmhpZXIgc2Nob24gYWIgdW5kIHp1IG1hbCBrdXJ6ZSBTdHJvbWF1c2ZhZWxsZSAoPDFzKSBoYXR0ZW4gdW5kCmRpZSBSZWNobmVyIGRhcyBnYXJuaWNodCBnZW1vY2h0IGhhYmVuLgoKQWxzIEJhY2t1cCBoYWJlIGljaCBiaXNoZXIgYWxzIGJlc3RlIE1vZWdsaWNoa2VpdCBlaW4gRERTLTIgTGF1ZndlcmsKZ2VmdW5kZW4sIGRhIGRpZSBUQVBFcyBNZW5nZW5tYWVzc2lnIGZ1ZXIgZGllIEJhY2t1cHMgYXVzcmVpY2hlbiB1bmQKZnVlciBkaWUga2xlaW5lbiAobmljaHQgdm9sbGVuKSBCYWNrdXBzIHNvZ2FyIEREUy0xIEJhZW5kZXIgYXVzLQpyZWljaGVuIHVuZCBkaWUgc2luZCBiaWxsaWcuIEZhbGxzIGplbWFuZCBldHdhcyBiZXNzZXJlcyBrZW5udCwKd2FzIG1vZWdsaWNoZXJ3ZWlzZSBub2NoIHdlbmlnIEhhbmRhcmJlaXQgZXJmb3JkZXJ0LCB3YWVyZSBpY2gKZnVlciBUaXBzIHNlaHIgZGFua2Jhci4gR2xlaWNoZXMgZ2lsdCBmdWVyIFVTViBMb2VzdW5nZW4sIGRpZQphdWNoIG1pdCBMaW51eCB6dXNhbW1lbmFyYmVpdGVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWl0ZXIgSW52ZXN0aXRpb25lbi4gKFd1cnplbCwgMTcuIEp1biAxOTk5LCAxOToyNDoyNSk6Cn4jISBybj1IYXRlIHJ0PTkyOTYyNDI4MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTI5NjI0MjgwCndhcyBrb3N0ZXQgZGVubiBzb3dhcywgdW5kIHdpZXZpZWwgZ2lidCBkaWUga2Fzc2UgZGVyemVpdCBoZXI/Cgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpdGVyIEludmVzdGl0aW9uZW4uIChIYXRlLCAxOC4gSnVuIDE5OTksIDEzOjMxOjE1KToKfiMhIHJuPVd1cnplbCBydD05Mjk2NDAyNjUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTkyOTYyNDI4MApBbHNvIGVpbmUgVVNWIGtvc3RldCBmdWVyIG5lIDEwbWluIHVlYmVyYnJ1ZWNrdW5nIGNhIDM1MCBETQpCYW5kbGF1ZndlcmtlIHNpbmQgc2Nob24gZXR3YXMgdGV1cmVyLCBlaW4gRERTLTIgSFAgU3RyZWFtZXIgKDhHQikKa29zdGV0IGV0d2EgMTMwMCBETSB1bmQgZGllIEJhZW5kZXIgZGF6dSBkYXMgU3R1ZWNrIGNhIDE1IERNIGVpbnplbG4sCmFiZXIgd2llIGdlc2FndCwgbWFuIGJla29tbXQgZGFzIFpldWcgYXVjaCBuYWNoZ2V3b3JmZW4uIE1hbiBzb2xsdGUKYmVhY2h0ZW4sIGRhc3MgQmFlbmRlciBuaWNodCBld2lnIGhhbHRlbiAoMTAgRHVyY2hsYWV1ZmUpIHVuZCBkYW5uCnNvbGx0ZSBtYW4gd2VjaHNlbG4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpdGVyIEludmVzdGl0aW9uZW4uIChMYXJpc3NhLCAxOC4gSnVuIDE5OTksIDE3OjEyOjQwKToKfiMhIHJuPUhhdGUgcnQ9OTI5NzA1NDc1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05Mjk2MjQyODAKCk5lbm4gaGFsdCBlaW4gU3BlbmRlbmtvbnRvIDopCgpMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VpdGVyIEludmVzdGl0aW9uZW4uIChIYXRlLCAxOC4gSnVuIDE5OTksIDIxOjMyOjMwKToKfiMhIHJuPUxhcmlzc2EgcnQ9OTI5NzE4NzYwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05Mjk2MjQyODAKRXMgaXN0IGtlaW5lIEZyYWdlIGRlcyBHZWxkZXMuIFNvd2VpdCBpY2ggd2Vpc3MsIHNvbGx0ZSBmdWVyIGRpZXNlCkludmVzdGl0aW9uZW4gbm9jaCBHZWxkIHZvcmhhbmRlbiBzZWluLCBhYmVyIGljaCB3b2xsdGUgaGFsdCBlcnN0Cm1hbCBJbmZvcm1hdGlvbmVuIHNhbW1lbG4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV1dXLVNlaXRlbiAoVmlwZXIsIDEyLiBKdWwgMTk5OSwgMjI6MTU6MjApOgpIaSwKCndpciBoYWJlbiBnZXJhZGUgZWluZSBuZXVlIFZlcnNpb24gZGVyIFZlcmVpbnMtU2VpdGVuIGltIFdXVyBkZXMgTUcKdmVyb2VmZmVudGxpY2h0LgpFcyBoYW5kZWx0IHNpY2ggaGllcmJlaSB1bSBlaW5lIHZvcmxhZXVmaWdlIFZlcnNpb24uIEZhbGxzIGplbWFuZCBiZXN0aW1tdGUKQWVuZGVydW5nZW4gb2RlcgpOZXVlcnVuZ2VuIHd1ZW5zY2h0LCBtb2VnZSBlciBkaWVzIGJpdHRlIG1pdHRlaWxlbi4gRWluZSBnYW56IGdhbnogbmV1ZQpWZXJzaW9uIGRlciBTZWl0ZW4Kd2lyZCBpbiBLdWVyemUgZXJzdGVsbHQuCndpcmQgaW4gS3VlcnplIGVyc3RlbGx0LgpCaXMgZGFubgoKVmlwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5FVUUgS09OVE9WRVJCSU5EVU5HISAoTHV6aWUsIDI0LiBBdWcgMTk5OSwgMjE6MjY6MTcpOgpIYWxsbyEKCkFiIHNvZm9ydCBoYXQgZGVyIFZlcmVpbiBlaW5lIG5ldWUgS29udG92ZXJiaW5kdW5nIQpTaWUgbGF1dGV0OgoKS3RvLU5yLjogMTAwMDM4MTIKU3Bhcmthc3NlIFBhZGVyYm9ybiwgQkxaIDQ3MiA1MDEgMDEKCkRpZSBNaXRnbGllZGVyIHdlcmRlbiBub2NoIGJlbmFjaHJpY2h0aWd0LgoKQ2lhbywKTHV6aWUuCi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGFtIDEyLjAzLjIwMDAgKFZpcGVyLCAxOC4gRmViIDIwMDAsIDIyOjA4OjU5KToKRWlubGFkdW5nIHp1ciBNaXRnbGllZGVydmVyc2FtbWx1bmcKClp1ciBkaWVzauRocmlnZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIApkZXMgRvZyZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLiBWLiwgZGllIGFtIAoKU29ubnRhZywgZGVuIDEyLiBN5HJ6IDIwMDAgdW0gMTAuMzAgVWhyCmluIGRlciA4Ni4gTWl0dGVsc2NodWxlIGluIDAxMTA5IERyZXNkZW4sIEFsZXhhbmRlci1IZXJ6ZW4tU3RyLiA2NAoKc3RhdHRmaW5kZXQsIGxhZGVuIHdpciBhbGxlIE1pdGdsaWVkZXIgZWluLgpEaWUgVmVyc2FtbWx1bmcgZmluZGV0IGltIFJhaG1lbiBkZXIgTW9yZ2VuR3JhdWVuLVBhcnR5IGluIERyZXNkZW4gCnN0YXR0LgoKVGFnZXNvcmRudW5nOgoxLglCZWdy/N91bmcKMi4JVmVybGVzZW4gZGVzIGxldHp0ZW4gUHJvdG9rb2xscwozLglCZXJpY2h0ZSBkZXMgVm9yc3RhbmRlcyB1bmQgZGVyIEthc3Nlbmb8aHJlcmluCjQuCUJlcmljaHQgZGVyIEthc3NlbnBy/GZlcgo1LglFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzCjYuCU5ldXdhaGwgZGVyIEthc3NlbnBy/GZlcgo3LglTYXR6dW5nc+RuZGVydW5nCjguCVZvcnNjaGF1IGF1ZiBBa3Rpdml05HRlbiBpbiBkaWVzZW0gSmFocgo5LglWZXJzY2hpZWRlbmVzIChTcGFyYnVjaCBm/HIgZWluZW4gVGVpbCBkZXMgVmVyZWluc3Zlcm32Z2VucykKClp1IFB1bmt0IDc6CkRpZSBTYXR6dW5nIHNvbGwgd2llIGZvbGd0IGdl5G5kZXJ0IHdlcmRlbjoKSW4gpyA2LCBOci4gMiB3aXJkIGRlciB6d2VpdGUgU2F0eiBlcnNldHp0IGR1cmNoIAoiRGllIEVpbmxhZHVuZyBlcmdlaHQgc2NocmlmdGxpY2ggYW4gamVkZXMgTWl0Z2xpZWQuIgoKV2VyIFf8bnNjaGUgenVyIEVyZ+RuenVuZyBkZXIgVGFnZXNvcmRudW5nIGhhdCwgbXVzcyBkaWVzIGJpcyB6dW0gCjAzLjAzLjIwMDAgYmVpbSBTY2hyaWZ0ZvxocmVyIGJlYW50cmFnZW4uCgpNaXQgZnJldW5kbGljaGVuIEdy/N9lbiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNaXRnbGllZGVydmVyc2FtbWx1bmcgYW0gMTIuMDMuMjAwMCAoQm9pbmcsIDExLiBBcHIgMjAwMCwgMTE6NDM6MDEpOgp+IyEgcm49VmlwZXIgcnQ9OTUwOTA4MTM5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05NTA5MDgxMzkKR2lidCdzIGVpZ2VudGxpY2ggZWluIFByb3Rva29sbCBkZXIgVmVyc2FtbWx1bmc/IFdhZXJlIHNjaG9lbiwgd2VubiBtYW4KZGFzIGhpZXIgdmVyb2VmZmVudGxpY2hlbiBrb2VubnRlLgoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNaXRnbGllZGVydmVyc2FtbWx1bmcgYW0gMTIuMDMuMjAwMCAoUm9uZGEsIDEyLiBBcHIgMjAwMCwgMTc6MzE6NTMpOgp+IyEgcm49Qm9pbmcgcnQ9OTU1NDQ2MTgxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05NTA5MDgxMzkKT2VobS4uLiBiZXNzZXIgbmljaHQgOy0pIE9id29obCAtIGRhbiB3dWVzc3QgaWNoIGVuZGxpY2gsIHdvZnVlciBpY2ggZGVubiBudQpkaWUgSGFuZCBnZWhvYmVuIGhhYiAqcm90ZmwqCgpSb25kYSAqc2NodXNzZWxpY2ggJiB2ZXJzY2hvc3NlbiA7LSkgKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGFtIDEyLjAzLjIwMDAgKEh1bW5pLCAxMi4gQXByIDIwMDAsIDE3OjM0OjMzKToKfiMhIHJuPVJvbmRhIHJ0PTk1NTU1MzUxMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTUwOTA4MTM5ClJvbmRhLCBkdSBiaXN0IGRlciBuZXVlIEthc3NlbnBydWVmZXIuClNvd2VpdCBpY2ggbWljaCBlcmlubmVyZS4KCkh1bW5pLCBhdWZrbGFlcmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVzY2hsdXNzIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoQ2FsaW1lcmlvbiwgMTIuIEFwciAyMDAwLCAxOTo1NzoyMCk6CkhhbGxvIE11ZGRpZXMsCgptaWNoIHd1ZXJkZSBpbnRlcmVzc2llcmVuIHdpZSBkZXIgQmVzY2hsdXNzIGF1c2dlZ2FuZ2VuIGlzdApiZXp1ZWdsaWNoIHNjaHJpZnRsaWNoZXIgRWlubGFkdW5nIGRlciBNaXRnbGllZGVyIHp1cgpNaXRnbGllZGVydmVyc2FtbWx1bmcgKHdlbm4gaWNoIGRhcyBzbyByaWNodGlnIGdlbGVzZW4KaGFiZSkuCgpQZXJzb2VubGljaCBoYWx0ZSBpY2ggZXMgZWhlciBmdWVyIHVua2x1ZyBhbGxlIE1pdGdsaWVkZXIKc2NocmlmdGxpY2ggcGVyIEJ1bmRlc3Bvc3QgYW56dXNjaHJlaWJlbi4KClNhZ2VuIHdpciBtYWwgZ3JvYiAxIERNIGZ1ZXIgZGllIEJyaWVmbWFya2UgdW5kIDAsNTAgRE0KZnVlciBkYXMgUGFwaWVyIHVuZCBkZW4gVW1zY2hsYWcuCgpXZWlzcyBuaWNodCB3aWV2aWVsZSBNaXRnbGllZGVyIGRlciBWZXJlaW4gaGF0LiBJY2ggbmVobWUKbWFsIDIwMCBhbi4KCkRhcyB3YWVyZW4gZGFubiBlcnJyLCByZWNobmUsIGdydWViZWwsIHNvIGNhLiAzMDAgRE0gcHJvCkphaHIgIQoKUmVjaG5lbiB3aXIgZGFzIG1hbCBhdWYgMTAgSmFocmUgaG9jaCBzaW5kIGRhcyBzY2hvbgppbW1lcmhpbiBzdG9semUgMzAwMCBETS4KCldhcyBkYWZ1ZXIgYWxsZXMgZ2VrYXVmdCBoYWV0dGUgd2VyZGVuIGtvZW5uZW4uLi4KKHouQi4gUHJpdmF0aW5zZWwgZnVlciBkZW4gbGllYmVuIHVuZCBrbGVpbmVuCiBDYWxpbWVyaW9uIG9kZXIgc28gOykKCkFsc28gZGVua2UgZWJlbiBlaW4gRm9lcmRlcnZlcmVpbiBzb2xsdGUgZWJlbiBmb2VyZGVybgp1bmQgbmljaHQgR2VsZCB1bm5vZXRpZ2Vyd2Vpc2UgYXVzZ2ViZW4gKEVpbmxhZHVuZwppbSBXZWIgbGFuZ3QgamEpLgoKV2VubnMgYWxzbyBlaW4gUHJvdG9rb2xsIGhpZXIgZ2FlYmUgdm9uIGRlciBWZXJzYW1tbHVuZwptaXQgZGVuIEJlc2NobHVlc3NlbiB3YWVyZSBkYXMgd2lya2xpY2ggbmV0dCA7KQoKQ2FsaW1lcmlvbiAtICpaYXViZXJlciBob2Noc3R1ZmVuISogOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXNjaGx1c3MgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIChHbG9pbiwgMTIuIEFwciAyMDAwLCAyMTozNzowNyk6Cn4jISBybj1DYWxpbWVyaW9uIHJ0PTk1NTU2MjI0MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTU1NTYyMjQwCkphYWEgLSBkYXMgUHJvdG9rb2xsIGhhZXR0IGljaCBhdWNoIGdlcm4sIHdlaWwgaWNoIGFuZGVyZW4gbWFsIGRlbgpCZXNjaGx1c3Mgdm9tIFNoYWt5LU9PUC1NVUQgemVpZ2VuIHdvbGx0ZS4KRGllIGFuZGVyZSBGcmFnZSBrYW5uIGljaCBiZWFudHdvcnRlbjogRGVyIFZlcmVpbiBtdXNzIHdlaXRlcmhpbiBzY2hyaWZ0bGljaAplaW5sYWRlbiwgZGFzIHdhciBuaWNodCBiZXNjaGxpZXNzYmFyLCBudXIgZWluZSBWZXJrdWVuZHVuZy4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlc2NobHVzcyBNaXRnbGllZGVydmVyc2FtbWx1bmcgKE9ya3RvZXRlciwgMTIuIEFwciAyMDAwLCAyMjo0OToxMik6Cn4jISBybj1HbG9pbiBydD05NTU1NjgyMjcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk1NTU2MjI0MApSZWljaHQgZXMgbmljaHQgZGllIEVpbmxhZHVuZyBpbiBzY2hyaWZ0bGljaGVyIEZvcm0gZHVyY2ggVmVyb2VmZmVudGxpY2h1bmcgaW4KZWluZXIgVGFnZXN6ZWl0dW5nIGJla2FubnQgenUgbWFjaGVuID8gSWNoIG1laW5lIHNvIHdhZXJlIGRhcyBkb2NoIGF1Y2gKZnJ1ZWhlciBnZWxhdWZlbiA/CkRpZSBlaWdlbnRsaWNoZSBFaW5sYWR1bmcgZ2VodCBuYXR1ZXJsaWNoIGRhbm4gdWViZXIgZGllIG1wYSwgYWJlciBkaWUgTG9rYWxlClRhZ2VzemVpdHVuZyBlcmZ1ZWxsdCBkZW5rZSBpY2ggZGllIG5vdHdlbmRpZ2tlaXQgZGVyIFNjaHJpZnRmb3JtLCB3YXMgYmVpCmVsZWt0cm9uaXNjaGVuIE1lZGllbiAobm9jaCkgbmljaHQgdW5iZWRpbmd0IGdlZ2ViZW4gaXN0LgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmVzY2hsdXNzIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoQmllbGVmZWxkLCAxMi4gQXByIDIwMDAsIDIyOjUyOjA0KToKfiMhIHJuPU9ya3RvZXRlciBydD05NTU1NzI1NTIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk1NTU2MjI0MApFdmVudHVlbGwgc29sbCBlcyBqYSBhdWNoIG5pY2h0IG51ciBkYXJ1bSBnZWhlbiwgZm9ybWFsZSBLcml0ZXJpZW4genUKZXJmdWVsbGVuLCBzb25kZXJuIGF1Y2ggZGllIExldXRlIHp1IGVycmVpY2hlbi4uLj8gSWNoIHNjaGFldHplIG1hbCwKZGFzcyBlaW4gZ3V0ZXIgVGVpbCBkZXIgTWl0Z2xpZWRlciBudXIgbm9jaCBhbGxlIHBhYXIgTW9uYXRlIG1hbCBrdXJ6CmlucyBNVUQgZ3Vja3QuLi4KCi1CaWVsZWZlbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJlc2NobHVzcyBNaXRnbGllZGVydmVyc2FtbWx1bmcgKEFuYXRvbCwgMTIuIEFwciAyMDAwLCAyMjo1MzowNCk6Cn4jISBybj1CaWVsZWZlbGQgcnQ9OTU1NTcyNzI0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05NTU1NjIyNDAKQWJlciBlaW4gZ3V0ZXIgVGVpbCBkZXMgZ3V0ZW4gVGVpbHMgc29sbHRlIHp1bWluZGVzdCB1ZWJlciBlaW5lCkUtTWFpbC1BZHJlc3NlIHZlcmZ1ZWdlbi4gSW1tZXJoaW4gaXN0IGVzIGVpbiBWZXJlaW4gZGVyIEZyZXVuZGUgdW5kCkZvZXJkZXJlciB2aXJ0dWVsbGVyIERpbmdlbnNraXJjaGVucy4uLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmVzY2hsdXNzIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoWWVuZGksIDEzLiBBcHIgMjAwMCwgMTA6MDY6NDYpOgp+IyEgcm49QW5hdG9sIHJ0PTk1NTU3Mjc4NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTU1NTYyMjQwCkdlbmF1LiBBdXNzZXJkZW0ga29lbm5lbiBzaWNoIGRpZSBOdXItYWxsZS1wYWFyLU1vbmF0ZS1pbnMtTVVELUd1Y2tlciBqYQpwcm9ibGVtbG9zIGVpbmUgbWFpbC1XZWl0ZXJsZWl0dW5nIGluIGRpZSBBdXNzZW53ZWx0IGVpbnJpY2h0ZW4sIGRhbm4ga3JpZWdlbgpkaWUgYXVjaCBkaWUgRWlubGFkdW5nc21haWwgbWl0LgoKQWxzbzogQW56ZWlnZSBpbiBkZXIgTVogdW5kL29kZXIgV04sIEVpbmxhZHVuZyBwZXIgTVVELW1laGwuCgpZZW5kaQogICAgICBsb2VzdCBkaWUgV2VsdHByb2JsZW1lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlc2NobHVzcyBNaXRnbGllZGVydmVyc2FtbWx1bmcgKEJvaW5nLCAxMy4gQXByIDIwMDAsIDEwOjExOjA5KToKfiMhIHJuPUNhbGltZXJpb24gcnQ9OTU1NTYyMjQwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05NTU1NjIyNDAKTWVpbmVzIFdpc3NlbnMgbGllZ3QgZGllIE1pdGdsaWVkZXJ6YWhsIGVoZXIgaW0gQmVyZWljaCB2b24gY2EuIDEwMC4KTWFuIGJyYWV1Y2h0ZSBhbHNvIG51ciA0IG5ldWUgTWl0Z2xpZWRlciBwcm8gSmFociB1bSBkaWUgS29zdGVuIGRyaW4KenUgaGFiZW4uIEJpc3QgRHUgc2Nob24gTWl0Z2xpZWQsIENhbGltZXJpb24/IDopCkFudHJhZ3Nmb3JtdWxhcmUgZ2lidHMgdW50ZXIgaHR0cDovL21nLm11ZC5kZQoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlc2NobHVzcyBNaXRnbGllZGVydmVyc2FtbWx1bmcgKFJvY2h1cywgMTMuIEFwciAyMDAwLCAxMjoyNTowMik6Cn4jISBybj1DYWxpbWVyaW9uIHJ0PTk1NTU2MjI0MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTU1NTYyMjQwCkF1cyByZWNodGxpY2hlbiBHcnVlbmRlbiB3YXIgZGllIFNhdHp1bmdzYWVuZGVydW5nLCBhbGxlIE1pdGdsaWVkZXIKYW56dXNjaHJlaWJlbiwgbGVpZGVyIE5PVFdFTkRJRy4KTmFlaGVyZXMga2FubiBWaXBlciBkYXp1IHNhZ2VuLi4uCgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJlc2NobHVzcyBNaXRnbGllZGVydmVyc2FtbWx1bmcgKEJhbWJpLCAxMy4gQXByIDIwMDAsIDEyOjQ0OjM4KToKfiMhIHJuPU9ya3RvZXRlciBydD05NTU1NzI1NTIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk1NTU2MjI0MApXZWxjaGUgVGFnZXN6ZWl0dW5nIHNvbGwgZGFzIGRlbm4gc2Vpbj8gSXJnZW5kZWluZSBpbgpNdWVuc3Rlci9CZXJsaW4vSGludGVyR3J1bW1lbGJhY2g/CkJsaWViZSBhbHMgYnVuZGVzd2VpdGUgVGFnZXN6ZWl0dW5nIG5pY2h0IHZpZWwgQXVzd2FobCwgdmllbGxlaWNodCBub2hjIGRpZQpCaWxkLVplaXR1bmcgb2RlciBkaWUgRkFaIHVuZCBhdWNoIGRpZSBsZXMgaWNoIG5pY2h0IChyZWdlbG1hZXNzaWcpLgpWZXJtdXRsaWNoIHdpcmQgZXMga2VpbmUgTW9lZ2xpY2hrZWl0IGdlYmVuLCBzY2hyaWZ0bGljaGUgRWlubGFkdW5nZW4gaW4KUGFwaWVyZm9ybSB6dSB2ZXJzY2hpY2tlbiwgYWJlciB2aWVsbGVpY2h0ICh3YXMgaWNoIGFiZXIgYXVjaCBmdWVyCnVucHJha3Rpa2FiZWwgaGFsdGUpIGtvZW5uZW4gZGllamVuaWdlbiwgZGllICJudXIiIGVpbmUgZW1haWwgd29sbGVuLCBlaW5lClZlcnppY2h0c2Vya2xhZXJ1bmcgYXVmIGVpbmUgcGFwaWVyZ2VidW5kZW5lIEVpbmxhZHVuZyB1bnRlcnplaWNobmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCZXNjaGx1c3MgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIChCYW1iaSwgMTMuIEFwciAyMDAwLCAxMjo0NjoyMCk6Cn4jISBybj1CYW1iaSBydD05NTU2MjI2Nzggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk1NTU2MjI0MAphZWgsIE5hY2h0cmFxLi4uIC4uLiBrZWluZSBNb2VnbGljaGtlaXQgZ2ViZW4sIGRhcyBWZXJzY2hpY2tlbiB2b24gcGFwaWVyZ2ViKgpFaW5sYWR1bmdlbiBncnVuZHNhZXR6bGljaCBhYnp1c2NoYWZmZW4uLi4gc29uc3QgbWFjaHQgZGVyIFNhdHogd2VuaWcgU2lubi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZXNjaGx1c3MgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIChQaWxncmltLCAxMy4gQXByIDIwMDAsIDE0OjA2OjM3KToKfiMhIHJuPVJvY2h1cyBydD05NTU2MjE1MDIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk1NTU2MjI0MAo+IEF1cyByZWNodGxpY2hlbiBHcnVlbmRlbiB3YXIgZGllIFNhdHp1bmdzYWVuZGVydW5nLCBhbGxlIE1pdGdsaWVkZXIKPiBhbnp1c2NocmVpYmVuLCBsZWlkZXIgTk9UV0VORElHLgpEYXMgaGFiIGljaCBtaXIgc2Nob24gZ2VkYWNodCAuLi4gZGFtaXQgc29sbHRlIGRpZSBEaXNrdXNzaW9uIGRhcnVlYmVyCndvaGwgYmVlbmRldCBzZWluIHVuZCBtYW4ga2FubiBzaWNoIHdpZWRlciB3aWNodGlnZXJlbiBEaW5nZW4genV3ZW5kZW46Ck5ldWUgTWl0Z2xpZWRlciBzaW5kIGltIFZlcmVpbiBpbW1lciBlcnd1ZW5zY2h0IC4uLiBkYW5uIGtsYXBwdHMKYXVjaCBtaXQgZGVtIFBvcnRvIDstKQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZXNjaGx1c3MgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIChDYWxpbWVyaW9uLCAxMy4gQXByIDIwMDAsIDIwOjI0OjE4KToKfiMhIHJuPUJvaW5nIHJ0PTk1NTYxMzQ2OSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTU1NTYyMjQwCk5hIGtsYXIuIEljaCBiaW4gZG9jaCBzY2hvbiBkcmluIDspCgoqQW1laXNlIDQ3MTEgbWVsZGV0IHNpY2ggZ2Vob3JzYW0genVtIERpZW5zdCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJlc2NobHVzcyBNaXRnbGllZGVydmVyc2FtbWx1bmcgKFllbmRpLCAxNC4gQXByIDIwMDAsIDE2OjE2OjA4KToKfiMhIHJuPUJhbWJpIHJ0PTk1NTYyMjY3OCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTU1NTYyMjQwClJlaWNodCBhbHMgWmVpdHVuZyBuaWNodCBpcmdlbmRlaW4gQmxhdHQgZGVzIE9ydGVzLCB3byBkZXIgVmVyZWluIHNlaW5lbgpTdGFtbXNpdHogaGF0PwoKRnJhZ2VuZCwKICAgICAgICAgICBZZW5kaQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJlc2NobHVzcyBNaXRnbGllZGVydmVyc2FtbWx1bmcgKEdsb2luLCAxNC4gQXByIDIwMDAsIDE2OjE3OjA2KToKfiMhIHJuPVllbmRpIHJ0PTk1NTcyMTc2OCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTU1NTYyMjQwClJlaWNodCBuaWNodCAobWVocikuIERhcyB3YXIgZGllIEhhbmRoYWJ1bmcuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmVzY2hsdXNzIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoVGVkZHksIDIyLiBBcHIgMjAwMCwgMTk6MTg6MjQpOgp+IyEgcm49WWVuZGkgcnQ9OTU1NzIxNzY4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05NTU1NjIyNDAKQWxzbyBtYWwgenVyIFNhY2hlOgpCaXNsYW5nIHN0YW5kIGluIGRlciBTYXR6dW5nLCBkYXNzIGRpZSBFaW5sYWR1bmdlbiBtaXR0ZWxzIFRhZ2VzcHJlc3NlCk11ZW5zdGVyIGVyZm9sZ2VuLgpEYSBzaWNoIGF1cyBpcmdlbmRlaW5lbSBtaXIgdm9lbGxpZyBzY2hsZWllcmhhZnRlbiBncnVuZGUgZGllIE1pdGdsaWVkZXIgbmljaHQKbWVociBoYXVwdHNhZWNobGljaCBpbiBNdWVuc3RlciBiZWZpbmRlbiwgd2FyIGRhcyBtZWhyIGFscyBmbHVlc3NpZywgc296dXNhZ2VuCnVlYmVyZmx1ZXNzaWcuCkRlbiBqZXR6aWdlbiBTaXR6IGRlcyB2ZXJlaW5zIHp1IG5laG1lbiBpc3QgYXVjaCBuaWNodCBzZWhyIHNpbm52b2xsLCBkYSBWaXBlcgp1bmQgTHV6aWUgemllbWxpY2ggZ2VuYXUgd2lzc2VuLCB3YW5uIGRpZSBWZXJzYW1tbHVuZyBpc3QgdW5kIHNvbnN0IHdvaGwKa2VpbmVyIGluIGRlciBFY2tlIHdvaG5lbiBkdWVyZnRlLgpBbGxlIHBlciBFTWFpbCB6dSBlcnJlaWNoZW4sIHNjaGVpbnQgcmVjaHRsaWNoIG5pY2h0IGF1c3p1cmVpY2hlbiwgZ2VkcnVja3RlCkZvcm0gaXN0IHNjaGVpbmJhciBpbW1lcm5vY2ggUGZsaWNodC4KQXVzc2VyZGVtIHN0ZWxsZW4gd2lyIGltbWVyIHdpZWVyIGZlc3QsIGRhc3MgbmljaHQgYWxsZSBNaXRnbGllZGVyIHBlciBNYWlsIHp1CmVycmVpY2hlbiBzaW5kLgpJbnRlcmVzc2FudGVyd2Vpc2UgYmV6YWhsZW4gZGllc2UgTWl0Z2xpZWRlciBuYWNoIHdpZSB2b3IgZ2FueiBicmF2LiA7LSkKClN1bW1hIHN1bW1hcnVtIGJsZWlidCBhbHMgZWluemlnZSBNb2VnbGljaGtlaXQgZGllIFVudGVycmljaHR1bmcgbWl0dGVscyBzbmFpbAptYWlsLgoKUHJvdG9rb2xsOiBBZWhtLCBqYSwgaXJnZW5kd2llIHd1cmRlIGljaCBkYSBzY2hvbiBtZWhyZmFjaCBkcmF1ZiBhbmdlc3Byb2NoZW4sCnNvbGx0ZSBlaWdlbnRsaWNoIHVudGVyd2VncyBzZWluIGRlbmtlIGljaC4KClRlZGR5LCBmdWVyIHdlaXRlcmUgRnJhZ2VuIGplZGVyemVpdCBhbnNwcmVjaGJhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb3Rva29sbCBkZXIgVmVyc2FtbWx1bmcgdm9tIDEyLjAzLjAwIChWaXBlciwgMjUuIEp1biAyMDAwLCAyMDowODozNSk6CkhhbGxvIExldXRlLAoKbmFjaGZvbGdlbmQgdmVyb2VmZmVudGxpY2hlIGljaCBkYXMgUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgdm9tCjEyLjAzLjIwMDAgaW4gRHJlc2Rlbi4gWnUgZmluZGVuIGlzdCBkYXMgUHJvdG9rb2xsIGF1Y2ggYXVmIGRlcgpWZXJlaW5zLVdXVy1TZWl0ZS4KClByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyBGb2VyZGVydmVyZWlucyBQcm9qZWt0DQpNb3JnZW5ncmF1ZW4gZS5WLiB2b20gMTIuMy4yMDAwIGluIERyZXNkZW4NCg0KRGllIGRpZXNqYWVocmlnZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgZmFuZCBhbmxhZXNzbGljaCBkZXMgTW9yZ2VuZ3JhdWVuLQ0KVHJlZmZlbnMgaW4gRHJlc2RlbiBzdGF0dC4gVW0gMTAuNDUgVWhyIGVyb2VmZm5ldGUgZGVyIFZvcnNpdHplbmRlIFN0ZWZhbiBLcnVlbGwNCihUZWRkeSkgZGllIFZlcnNhbW1sdW5nIHVuZCBiZWdydWVzc3RlIGRpZSBhbndlc2VuZGVuIDE4IE1pdGdsaWVkZXIgc293aWUgDQplaW5pZ2UgR2Flc3RlLg0KDQpadSBCZWdpbm4gZGVyIFZlcnNhbW1sdW5nIHN0ZWxsdGUgZGVyIFZvcnNpdHplbmRlIGZlc3QsIGRhc3MgenUgZGVyIFZlcnNhbW1sdW5nDQpzYXR6dW5nc2dlbWFlc3MgZ2VsYWRlbiB3b3JkZW4gc2VpIHVuZCB2ZXJsYXMgZGllIFRhZ2Vzb3JkbnVuZy4NCg0KVGFnZXNvcmRudW5nDQoNCjEuCUJlZ3J1ZXNzdW5nDQoyLglWZXJsZXNlbiBkZXMgbGV0enRlbiBQcm90b2tvbGxzDQozLglCZXJpY2h0ZSBkZXMgVm9yc3RhbmRlcyB1bmQgZGVyIEthc3NlbndhcnRpbg0KNC4JQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlcg0KNS4JRW50bGFzdHVuZyBkZXMgVm9yc3RhbmRlcw0KNi4JTmV1d2FobCBkZXIgS2Fzc2VucHJ1ZWZlcg0KNy4JU2F0enVuZ3NhZW5kZXJ1bmcNCjguCVZvcnNjaGF1IGF1ZiAyMDAwDQo5LglTb25zdGlnZXMNCg0KRWlud2FlbmRlIGdlZ2VuIGRpZSBiZWthbm50Z2VtYWNodGUgVGFnZXNvcmRudW5nIHd1cmRlbiBuaWNodCBnZWx0ZW5kIGdlbWFjaHQuIA0KDQpEYSBkaWUgVmVyc2FtbWx1bmcgZWluc3RpbW1pZyBhdWYgZGFzIFZlcmxlc2VuIGRlcyBsZXR6dGVuIFByb3Rva29sbHMgdmVyemljaHRldGUsDQprb25udGUgbWl0IGRlbSBkcml0dGVuIFRhZ2Vzb3JkbnVuZ3NwdW5rdCBmb3J0Z2VmYWhyZW4gd2VyZGVuLiANCg0KVG9wIDMgQmVyaWNodGUgZGVzIFZvcnN0YW5kZXMgdW5kIGRlciBLYXNzZW53YXJ0aW4NCg0KRGVyIFZvcnNpdHplbmRlIHRlaWx0ZSB6dW5hZWNoc3QgbWl0LCBkYXNzIGVpbiBuZXVlciBSZWNobmVyIGdla2F1ZnQgd29yZGVuIHNlaSB1bmQgDQppbmZvcm1pZXJ0ZSB1ZWJlciBFaW56ZWxoZWl0ZW4gZGllc2VzIFJlY2huZXJzLiBFciBnYWIgZGFubiBiZWthbm50LCBkYXNzIGRlciBSZWNoLQ0KbmVyIHZvbiBNdWVuc3RlciBuYWNoIEJlcmxpbiB1bWdlem9nZW4gc2VpIHVuZCBqZXR6dCBhbSBJbnN0aXR1dCB2b24gTWF0dGhpYXMgTC4NCkp1Z2VsIChIYXRlKSB1bnRlcmdlYnJhY2h0IGlzdC4gRGVyIEJldHJpZWIgZGVzIFJlY2huZXJzIHNlaSBkb3J0IGF1ZiBKYWhyZSBoaW5hdXMgDQpnZXNpY2hlcnQuIERpZSBkZXJ6ZWl0aWdlIEF1c3J1ZXN0dW5nIGRlcyBSZWNobmVycyBzZWkgaW4gT3JkbnVuZywgZWluZSB3ZWl0ZXJlIA0KQXVmcnVlc3R1bmcgc2VpIG1vbWVudGFuIG5pY2h0IG5vdHdlbmRpZy4gDQoNCkRlciBWb3JzaXR6ZW5kZSB0ZWlsdGUgbWl0LCBkYXNzIGFscyB3ZWl0ZXJlIEFrdGl2aXRhZXQgZGVzIFZlcmVpbnMgZWluIExQQy1TZW1pbmFyIA0KaW4gV2ludGVyYnVyZyBzdGF0dGdlZnVuZGVuIGhhZXR0ZS4NCg0KSW0gQW5zY2hsdXNzIGFuIGRlbiBCZXJpY2h0IGRlcyBlcnN0ZW4gVm9yc2l0emVuZGVuIGdhYiBkZXIgU2NocmlmdGZ1ZWhyZXIgS2FybC1IZWlueiANCkJvc2F3ZSAoVmlwZXIpIG5vY2ggZWluaWdlIEluZm9ybWF0aW9uZW4genUgZGVuIE1pdGdsaWVkZXJiZXdlZ3VuZ2VuIGltIEphaHIgMTk5OS4gDQpOYWNoIE5ldWF1Zm5haG1lIHZvbiA0IE1pdGdsaWVkZXJuIHVuZCBLdWVuZGlndW5nIHZvbiA4IE1pdGdsaWVkZXJuIGhhdHRlIGRlciANClZlcmVpbiBhbSBFbmRlIGRlcyBKYWhyZXMgMTk5OSA5NCBNaXRnbGllZGVyLg0KDQpEaWUgS2Fzc2Vud2FydGluIE1vbmlrYSBTdHJ1bnogKEx1emllKSB0ZWlsdGUgbWl0LCBkYXNzIGRhcyBWZXJlaW5za29udG8gbnVubWVociBpbiANCkhvZXZlbGhvZiBiZWkgZGVyIGRvcnRpZ2VuIFNwYXJrYXNzZSBnZWZ1ZWhydCB3aXJkIHVuZCBiZXJpY2h0ZXRlIHZvbiBlaW5lciBndXRlbiANCkZpbmFuemxhZ2UgZGVzIFZlcmVpbnMuIEFuIEVpbm5haG1lbiBoYWV0dGUgZGVyIFZlcmVpbiBpbSBCZXJpY2h0c2phaHIgMy41MDAgRE0gDQp6dSB2ZXJ6ZWljaG5lbiBnZWhhYnQsIGRlbSBoYWV0dGVuIEF1c2dhYmVuIGluIEhvZWhlIHZvbiAyLjQwMCBETSBnZWdlbnVlYmVyLQ0KZ2VzdGFuZGVuLCBzbyBkYXNzIHNpY2ggZWluIGFrdHVlbGxlciBLb250b3N0YW5kIHZvbiBjYS4gMS41MDAgRE0gZXJnYWViZS4NCg0KVG9wIDQgQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlcg0KDQpTYW5kcmEgRnJhdW5lIChMYXJpc3NhKWJlcmljaHRldGUsIGRhc3Mgc2llIHp1c2FtbWVuIG1pdCBNYXR0aGlhcyBMLiBKdWdlbCAoSGF0ZSkNCiBhbSBTYW1zdGFnLCBkZW4gNC4gTWFlcnogMjAwMCBkaWUgS2Fzc2UgZ2VwcnVlZnQgaGFiZS4gRGllIEthc3NlIHNlaSBzYXViZXIgDQp1bmQga29ycmVrdCBnZWZ1ZWhydC5TaWUgYmVhbnRyYWd0ZSBkZXNoYWxiLCBkZXIgS2Fzc2Vud2FydGluIHVuZCBkZW0gdWVicmlnZW4gDQpWb3JzdGFuZCBFbnRsYXN0dW5nIHp1IGVydGVpbGVuLg0KDQpUb3AgNSBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzDQoNCkJlaSBlaW5lciBFbnRoYWx0dW5nIHd1cmRlIGRlbSBWb3JzdGFuZCBtaXQgMTcgSmEtU3RpbW1lbiBkaWUgRW50bGFzdHVuZyBlcnRlaWx0Lg0KDQpUb3AgNiBOZXV3YWhsIGRlciBLYXNzZW5wcnVlZmVyDQoNCkFscyBuZXVlIEthc3NlbnBydWVmZXIgd3VyZGVuIGF1cyBkZXIgVmVyc2FtbWx1bmcgU2FuZHJhIEZyYXVuZSAoTGFyaXNzYSkgdW5kDQpEaXJrIEhlZGRlcmljaCAoUm9uZGEpIHZvcmdlc2NobGFnZW4uIEJlaWRlIHd1cmRlbiB2b24gZGVyIFZlcnNhbW1sdW5nIG1pdA0KZ3Jvc3NlciBNZWhyaGVpdCBnZXdhZWhsdCB1bmQgbmFobWVuIGF1Y2ggZGllIFdhaGwgYW4uDQoNClRvcCA3IFNhdHp1bmdzYWVuZGVydW5nDQoNCkF1ZiBWb3JzY2hsYWcgZGVzIFZvcnN0YW5kZXMgd3VyZGUgdWViZXIgZWluZSBub3R3ZW5kaWdlIChkYXMgVmVyZWluc3JlLQ0KZ2lzdGVyZ2VyaWNodCB3aWxsIGVzIHNvKSBTYXR6dW5nc2FlbmRlcnVuZyBhYmdlc3RpbW10LCBkaWUgbmFjaGZvbGdlbmQgaW0gDQpXb3J0bGF1dCB3aWVkZXJnZWdlYmVuIHdpcmQuDQoNCkluIKcgNiBOci4gMiB3aXJkIGRlciAyLiBTYXR6IGVyc2V0enQgZHVyY2g6ICJEaWUgRWlubGFkdW5nIGVyZ2VodCBzY2hyaWZ0bGljaCBhbg0KamVkZXMgTWl0Z2xpZWQuIg0KRGllc2UgU2F0enVuZ2FlbmRlcnVuZyB3dXJkZSBlaW5zdGltbWlnIHZvbiBkZXIgVmVyc2FtbWx1bmcgYW5nZW5vbW1lbi4NCg0KVG9wIDggVm9yc2NoYXUgYXVmIGRhcyBKYWhyIDIwMDANCg0KRGVyIFZvcnNpdHplbmRlIGZ1ZWhydGUgYXVzLCBkYXNzIGZ1ZXIgZGFzIGxhdWZlbmRlIEphaHIgYW5sYWVzc2xpY2ggZGVzIE1HLQ0KVHJlZmZlbnMgaW4gQmVybGluIHdpZWRlciBMUEMtU2VtaW5hcmUgYWJnZWhhbHRlbiB3dWVyZGVuLiBEZXN3ZWl0ZXJlbiBzZWkgZGllIA0KQW5zY2hhZmZ1bmcgZWluZXMgQmFja3Vwc3lzdGVtcyBmdWVyIGRlbiBSZWNobmVyIGdlcGxhbnQuIEVpbnplbGhlaXRlbiBoaWVyenUgDQptdWVzc3RlbiBqZWRvY2ggbm9jaCBnZWtsYWVydCB3ZXJkZW4uDQoNClRvcCA5IFNvbnN0aWdlcw0KDQpVbnRlciBQdW5rdCBTb25zdGlnZXMgd3VyZGVuIHZlcnNjaGllZGVuZSBha3R1ZWxsZSBUaGVtZW4gYmVzcHJvY2hlbi4NCg0KMS4gVG9kZXNmYWxsIE1hdHRoaWFzIEhvZWZmIChNYWhhdG1hKSANCkRlciBWb3JzaXR6ZW5kZSBiYXQgZGllIFZlcnNhbW1sdW5nLCBzaWNoIGF1cyBBbmxhc3MgZGVzIFRvZGVzIGRlcyBWZXJlaW5zbWl0LQ0KZ2xpZWRlcyBNYXR0aGlhcyBIb2VmZiB6dSBlaW5lciBHZWRlbmttaW51dGUgenUgZXJoZWJlbi4gRXMgd3VyZGUgZWluc3RpbW1pZyANCmJlc2NobG9zc2VuLCBhdWYgZGFzIGZ1ZXIgZGVuIFZlcnN0b3JiZW5lbiBlaW5nZXJpY2h0ZXRlIFNwZW5kZW5rb250byBhdXMgZGVyDQpWZXJlaW5za2Fzc2UgZWluZW4gQmV0cmFnIHZvbiAxMDAgRE0genUgdWViZXJ3ZWlzZW4uDQoNCjIuIFBhcnR5b3JnYW5pc2F0aW9uDQpFcyB3dXJkZSB2b20gVm9yc2l0emVuZGVuIGVpbmRldXRpZyBrbGFyZ2VzdGVsbHQsIGRhc3MgZGllIE9yZ2FuaXNhdGlvbiBkZXIgTW9yZ2VuLQ0KR3JhdWVuLVRyZWZmZW4gbmljaHQgdm9tIFZlcmVpbiB1ZWJlcm5vbW1lbiB3ZXJkZW4ga2Fubi4gQmVyZWl0cyBhdXMgVmVyc2ljaA0KZXJ1bmdzcmVjaHRsaWNoZW4gR2VzaWNodHNwdW5rdGVuLCBhYmVyIGF1Y2ggd2VnZW4gZGVyIEdlbWVpbm51ZXR6aWdrZWl0IGRlcyANClZlcmVpbnMgc2VpIGRpZXMgbmljaHQgbW9lZ2xpY2guIERlciBWZXJlaW4gd2VyZGUgamVkb2NoIHp1IGRlbiBNb3JnZW5HcmF1ZW4tDQpUcmVmZmVuIHdlaXRlcmhpbiBTZW1pbmFyZSB1bmQgVmVyc2FtbWx1bmdlbiBhdXNyaWNodGVuLg0KDQozLiBBbmZyYWdlIHdlZ2VuIEJlbnV0enVuZyBkZXMgYWx0ZW4gUmVjaG5lcnMNCkVpbiBNaXRnbGllZCAoSW5nbyBEZWxsd2lnLCBTaGFrZWRiZWVyKSBoYXR0ZSBhbmdlZnJhZ3QsIG9iIGVyIGRlbiBhbHRlbiBSZWNoZXIgYmUtDQpnbGVpdGVuZCB6dXIgVmVyZmFzc3VuZyBlaW5lcyBCdWNoZXMgdWViZXIgb2JqZWt0LW9yaWVudGllcnRlIFByb2dyYW1taWVydW5nIGJlbnV0emVuIA0KZHVlcmZlLiBEaWUgVmVyc2FtbWx1bmcgc3RpbW10ZSBkaWVzZXIgQW5mcmFnZSBuYWNoIGxhZW5nZXJlciBEaXNrdXNzaW9uIGJlaSA0IEVudC0NCmhhbHR1bmdlbiB1bmQgMTQgSmEtU3RpbW1lbiB6dSwgdW50ZXIgZGVtIFZvcmJlaGFsdCwgZGFzcyBkZXIgUmVjaG5lciBpbSBOb3RmYWxsDQpmdWVyIGRhcyBNb3JnZW4tR3JhdWVuIHp1ciBWZXJmdWVndW5nIHN0ZWhlbiBtdWVzc2UuDQoNCjQuIEFubGVnZW4gZWluZXMgU3BhcmJ1Y2hlcyBmdWVyIGVpbmVuIFRlaWwgZGVzIFZlcmVpbnN2ZXJtb2VnZW5zDQpEZXIgVm9yc3RhbmQgc3RlbGx0ZSBhbiBkaWUgVmVyc2FtbWx1bmcgZGVuIEFudHJhZywgZWluZW4gVGVpbCBkZXMgVmVyZWluc3Zlcm1vZWdlbnMNCihjYS4gMi4wMDAgRE0pIGF1ZiBlaW5lbSBTcGFyYnVjaCBhbnp1bGVnZW4sIGRhbWl0IHp1bWluZGVzdCBnZXJpbmdlIFppbnNlaW5rdWVuZnRlIA0KZXJ6aWVsdCB3ZXJkZW4ga29lbm5lbi4gRGllc2VtIEFudHJhZyB3dXJkZSBlaW5zdGltbWlnIHN0YXR0Z2VnZWJlbi4NCg0KNS4gQmVudXR6ZXJiZWZyYWd1bmcNCkRhcyBNaXRnbGllZCBBZHJpYW4gSG9sendhcnRoIChBbmF0b2wpIHJlZ3RlIGFuLCBlaW5lIEVyaGVidW5nIHVlYmVyIGRpZSBCZW51dHplcg0KZHVyY2h6dWZ1ZWhyZW4uIEludGVyZXNzYW50ZSBEYXRlbiB3aWUgei5CLiBkYXMgQWx0ZXIgb2RlciB2b24gd28gZWluZ2Vsb2dndCBzb2xsdGVuDQogaW4gZWluZW0gRnJhZ2Vib2dlbiB6dXNhbW1lbmdlZmFzc3Qgd2VyZGVuLiBEaWVzIGtvZW5udGUgZGFkdXJjaCBnZXNjaGVoZW4sIA0KZGFzcyBkZXIgRnJhZ2Vib2dlbiBqZWRlbSBUZWlsbmVobWVyIGJlaW0gRWlubG9nZ2VuIHZvcmdlbGVndCB3aXJkLg0KDQpEZXIgVm9yc2l0emVuZGUgYmVkYW5rdGUgc2ljaCBhYnNjaGxpZXNzZW5kIGZ1ZXIgZGVuIHJlZ2VuIEJlc3VjaCB1bmQgYmVlbmRldGUgDQpkaWUgVmVyc2FtbWx1bmcgdW0gMTIgVWhyLg0KDQoNCg0KDQoNCg0KU3RlZmFuIEtydWVsbAkJCQlLYXJsLUhlaW56IEJvc2F3ZQ0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZnJhZ2UgKEdsb2luc29uLCAyOS4gSnVsIDIwMDAsIDE2OjA0OjIyKToKUHJvdG9rb2xsIGRlcyBWZXJlaW5zIHZvbSAxMi5NYXIuMjAwMDoKCj4zLiBBbmZyYWdlIHdlZ2VuIEJlbnV0enVuZyBkZXMgYWx0ZW4gUmVjaG5lcnMgCj4gICAgRWluIE1pdGdsaWVkIChJbmdvIERlbGx3aWcsIFNoYWtlZGJlZXIpIGhhdHRlIGFuZ2VmcmFndCwgb2IgZXIgZGVuCj4gICAgYWx0ZW4gUmVjaGVyIGJlZ2xlaXRlbmQgenVyIFZlcmZhc3N1bmcgZWluZXMgQnVjaGVzIHVlYmVyCj4gICAgb2JqZWt0LW9yaWVudGllcnRlIFByb2dyYW1taWVydW5nIGJlbnV0emVuIGR1ZXJmZS4gRGllIFZlcnNhbW1sdW5nCj4gICAgc3RpbW10ZSBkaWVzZXIgQW5mcmFnZSBuYWNoIGxhZW5nZXJlciBEaXNrdXNzaW9uIGJlaSA0IEVudGhhbHR1bmdlbgo+ICAgIHVuZCAxNCBKYS1TdGltbWVuIHp1LCB1bnRlciBkZW0gVm9yYmVoYWx0LCBkYXNzIGRlciBSZWNobmVyIGltIE5vdGZhbGwKPiAgICBmdWVyIGRhcyBNb3JnZW5HcmF1ZW4genVyIFZlcmZ1ZWd1bmcgc3RlaGVuIG11ZXNzZS4KCk51biwgZnVlciBtaWNoIGhhdCBlcyBzaWNoIGluIGRlciBEaXNrdXNzaW9uIHNvIGFuZ2Vob2VydCwgYWxzIHdlbm4gZWluCiJTcGllbGVyIiAoTGVzZXIpIGluIGRpZXNlbSBNVUQgc29mb3J0IG9kZXIgc2VociBzY2huZWxsIGVpbmVuIFF1YXNpLQpNYWdpZXJzdGF0dXMgZXJoYWx0ZW4gd3VlcmRlbiAoYWVobmxpY2ggTVVTSGVzKSB1bSBPYmpla3RvcmllbnRpZXJ1bmcgbmljaHQKbnVyICh3aWVkZXIgZWlubWFsKSB6dSBlcmxlYmVuIHNvbmRlcm4gYXVjaCBzZWxic3QgYW56dXdlbmRlbi4KSmV0enQgaGFiZSBpY2ggZHVyY2ggZWluZSBhbmRlcmUgRGlza3Vzc2lvbiBlcmZhaHJlbiwgZGFzcyBkb3J0IGRhcyBNVUQKRXBhY3JpcyBhdWZnZWJhdXQgd2lyZCAtIGVpbiBNVUQgZWJlbi4gTWljaCB3dWVyZGUgc2Nob24gbWFsIGludGVyZXNzaWVyZW4sCndpZSBkaWUgZnVlciBkZW4gU3BpZWxiZXRyaWViIG1laXN0IGVpbmdlZnVlaHJ0ZW4gTWFnaWVyc3RhdHVzYmVzY2hyYWVua3VuZ2VuCm1pdCBtZWluZXIgVm9yc3RlbGx1bmcgZGVyIE51dHp1bmcgdmVyZWluYmFyIHNpbmQuCkxldHp0ZW5kbGljaCBoYWJlIGljaCBuaWNodHMgZ2VnZW4gZGllIE51dHp1bmcgZGVzIFJlY2huZXJzLCBkZXIgdmVyZ2FtbWVsdApmcnVlaCBnZW51ZywgYWJlciBpY2ggbW9lY2h0ZSBtaWNoIHZlcmdld2lzc2VybiBkYXMgaWNoIGRlciBlaW56aWdlIGJpbiwgZGVyCmRpZSBEaXNrdXNzaW9uIHNvIGZhbHNjaCB2ZXJzdGFuZGVuIGhhdC4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmZyYWdlIChIdW1uaSwgMjkuIEp1bCAyMDAwLCAxNjoxMDo0MSk6Cn4jISBybj1HbG9pbnNvbiBydD05NjQ4Nzk0NjIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk2NDg3OTQ2MgpEZXIgTWFnaWVyc3RhdHVzIGltIEVwYWNyaXMgKHNvIGhlaXNzdCBTaGFraWVzIE11ZCkgaGVpc3N0IGRvcnQKR3VydS1TdGF0dXMgdW5kIHdpcmQgKmRlcnplaXQqIG5vY2ggcGVyIE1haWwgdmVyZ2ViZW4gKHdlciBhbHNvCmdlcm5lIG1hbCBlaW4gd2VuaWcgZGllIFByb2dyYW1taWVyZXJzZWl0ZSBzZWhlbiB3aWxsLCBrYW5uIGRhcwpnZXJuZSB0dW4pLgoKU29iYWxkIGRhcyBNdWQgZ2VvZWZmbmV0IGlzdCAoZ2VwbGFudDogQXVndXN0KSB3aXJkIGVzIHp3ZWkgU2VoZXJzdHVmZW4KZ2ViZW4sIHdvdm9uIGRpZSBlaW5lIHZvbiBkZXIgU2Nod2llcmlna2VpdCBoZXIgY2EuIGRlbSBNRy1TZWhlciAKZW50c3ByaWNodCwgdW5kIGRpZSBhbmRlcmUgKGtsZWluZXJlKSBERVVUTElDSCBlaW5mYWNoZXIgenUgZXJyZWljaGVuCmlzdCAoZ2VwbGFudDogMSBUYWcgU3BpZWx6ZWl0KSB1bmQgenVyIEd1cnV3ZXJkdW5nIGF1c3JlaWNodC4KClVuZCBqYSwgRXBhY3JpcyBzb2xsIGFuc29uc3Rlbiwgdm9uIGRlbSBOZWJlbmVmZmVrdCBkZXMgTGVybmVucwpoZXIgKG9kZXIgYXVjaCBlaW5lbSBIYXVwdHp3ZWNrIC0gd2llIG1hbiBkYXMgc2llaHQsIG11c3MgbWFuCnNlbGJzdCB3aXNzZW4uLikgZWluIFJJQ0hUSUdFUyBNdWQgd2VyZGVuLiBGdWVyIG1pY2ggc2VsYnN0Cmthbm4gaWNoIGF1Y2ggaW0gSG9tZW11ZCBwcm9ncmFtbWllcmVuLCBpY2ggd2lsbCBzY2hsaWVzc2xpY2gsCmRhc3MgU3BpZWxlciBkdXJjaCBtZWluZSBHZWJpZXRlIGxhdWZlbi4KCkFsbGUgS2xhcmhlaXRlbiBiZXNlaXRpZ3Q/PwoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5mcmFnZSAoV3VyemVsLCAzMC4gSnVsIDIwMDAsIDE1OjE4OjIyKToKfiMhIHJuPUh1bW5pIHJ0PTk2NDg3OTg0MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTY0ODc5NDYyCmVzIGdpbmcgZGFydW0sIHByb2dyYW1taWVyZW4genUgbGVybmVuLiBrZWluZXN3ZWdzIGdpbmcgZXMgZGFydW0sIGVpbgp3ZWl0ZXJlcyBtdWQgenUgYmV0cmVpYmVuLCBpbiBkZW0gZ2VzcGllbHQgd2lyZC4gdW50ZXIgZGllc2VyIHJhbmRiZWRpbmd1bmcKaXN0IGVwYWNyaXMgdm9tIHZlcmVpbiBnZW5laG1pZ3Qgd29yZGVuLgp3ZW5uIGljaCBtaWNoIHJpY2h0aWcgZXJpbm5lcmUsIHNvbGx0ZSBqZWRlciwgZGVyIHNpY2ggZWlubG9nZ3QsIGF1dG9tYXRpc2NoCm1hZ2llciBzZWluLiBpbnNvZmVybiBkdWVyZnRlIGVzIGVpZ2VudGxpY2ggYXVjaCBnYXIga2VpbmUgc3BpZWxlciBnZWJlbi4KZWluIHdlaXRlcmVzIG11ZCwgZGFzIGF1ZiBlaW5lbSB2ZXJlaW5zZWlnZW5lbiByZWNobmVyIGxhZXVmdCwgaXN0IG5pZQpnZWdlbnN0YW5kIGRlciBkaXNrdXNzaW9uIGdld2VzZW4gdW5kIG1laW5lciBtZWludW5nIG5hY2ggYXVjaCBuaWNodAp3dWVuc2NoZW5zd2VydC4KCnd1cnplbCwgMi4gdm9yc2l0emVuZGVyIG1nZXYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFuZnJhZ2UgKEh1bW5pLCAzMC4gSnVsIDIwMDAsIDE1OjMwOjU5KToKfiMhIHJuPVd1cnplbCBydD05NjQ5NjMxMDIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk2NDg3OTQ2MgpTb3JyeSwgV3VyemVsLCBkYSB3YXJlbiB3aXIgYXVmIHp3ZWkgdmVyc2NoaWVkZW5lbiBTaXR6dW5nZW4sIGRhc3MKZGFzIFNwaWVsZW4gZG9ydCBhbGxnZW1laW4gdmVyYm90ZW4gd3VyZGUgaGFiZSBpY2ggbmljaHQgc28KdmVyc3RhbmRlbi4gWnVmYWVsbGlnIHdlaXNzIGljaCwgZGFzcyBlaW4gd2VpdGVyZXMgVm9yc3RhbmRzbWl0Z2xpZWQKZGFzIGFiZXIgZ2VuYXVzbyBzaWVodCB3aWUgaWNoLCBvYnNjaG9uIGljaCBnbGF1YmUsIGRhc3MgZGVyClN0YW5kIGltIFZlcmVpbiBkYSBuaWNodCBlbnRzY2hlaWRlbmQgc2VpbiBzb2xsdGUuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQW5mcmFnZSAoWm9vaywgMzAuIEp1bCAyMDAwLCAxNTozMjo1Myk6Cn4jISBybj1IdW1uaSBydD05NjQ5NjM4NTkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk2NDg3OTQ2MgpIbW0uLi4gd2VubiBpY2ggbWlyIGRlbiBBdXN6dWcgYXVzIGRlbSBQcm90b2tvbGwgYW5zY2hhdWUsIGRhbm4gc3RlaHQgZG9ydAp2b24gZWluZW0gTVVEIG5peCwgb2RlciBzZWhlIGljaCBkYXMgZmFsc2NoPyAoSWNoIHdhciBuYWVtbGljaCBuaWNodCBhdWYKZGVyIFNpdHp1bmcgOikpCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQW5mcmFnZSAoV3VyemVsLCAzMC4gSnVsIDIwMDAsIDE1OjMzOjMzKToKfiMhIHJuPUh1bW5pIHJ0PTk2NDk2Mzg1OSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9OTY0ODc5NDYyCmVudHNjaHVsZGlndW5nLCBodW1uaSwgYWJlciBpY2ggZGVua2UgZHVyY2hhdXMgZGFzcyBkZXIgdmVyZWluIGVudHNjaGVpZGVuCnNvbGx0ZSwgd2FzIG1pdCB1bmQgYXVmIHNlaW5lbSByZWNobmVyIHBhc3NpZXJ0LiBuaWNodCBlaW56ZWxuZSAodm9yc3RhbmRzLSkKbWl0Z2xpZWRlciwgc29uZGVybiBkZXIgdmVyZWluLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbmZyYWdlIChTaGFrZWRiZWVyLCAzMC4gSnVsIDIwMDAsIDIxOjQ4OjM0KToKfiMhIHJuPVd1cnplbCBydD05NjQ5NjQwMTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk2NDg3OTQ2MgpIYWxsbyB6dXNhbW1lbi4KCkljaCBoYWJlIGdlcmFkZSBlcnN0IHZvbiBkZXIgRGlza3Vzc2lvbiBlcmZhaHJlbiwgYml0dGUgZW50c2NodWxkaWd0IGFsc28KbWVpbmVuIHZlcnNwYWV0ZXRlbiBLb21tZW50YXIuIDstKQpadXIgU2l0enVuZyBrYW5uIGljaCBsZWlkZXIgbmljaHRzIHNhZ2VuLCBkYSBpY2ggbGVpZGVyIG5pY2h0IGFud2VzZW5kIHNlaW4Ka29ubnRlLiBIaWVyIGVpbiBwYWFyIERldGFpbHMgenVyIEF1ZmtsYWVydW5nOgotIEVQQUNSSVMgc29sbCBoYXVwdHNhZWNobGljaCB6dW0gTGVybmVuIHZvbiBPT1AgZGllbmVuLiBEYW1pdCBtYW4gYWJlciBuaWNodApzaW5ubG9zIGNvZGV0LCBpc3QgYXVzIG1laW5lciBTaWNodCBlaW5lIFZlcndlbmR1bmcgZGVzIENvZGVzIGFscyBrb21wbGV0dGVzCk11ZCBmdWVyIGRpZSBQcm9ncmFtbWllcmVyIHd1ZW5zY2hlbnN3ZXJ0LgotIEVQQUNSSVMgaXN0IGFic29sdXQgbmljaHQgYWxzIEtvbmt1cnJlbnogZnVlciBkYXMgTUcgZ2VwbGFudC4gTWVpbmVyIE1laW51bmcKbmFjaCBzdGVsbHQgZWluIG5ldWVzIE11ZCBrZWluZSBHZWZhaHIgZnVlciBlaW4gc28gZ3Jvc3NlcyBldGFibGllcnRlcyBNdWQgd2llCmRhcyBNRyBkYXIuCi0gRGllIE9lZmZudW5nIGFscyBTcGllbGVybXVkIGRpZW50IGhhdXB0c2FlY2hsaWNoIGRlciBNb3RpdmF0aW9uIGRlcgpQcm9ncmFtbWllcmVyLiBEaWUgTW90aXZhdGlvbnNmcmFnZSBpc3QgamEgdWViZXJoYXVwdCBlcnN0IGRlciBHcnVuZCwgd2FydW0KaWNoIG1pY2ggZnVlciBMUEMgYWxzIFNwcmFjaGUgZnVlciBkYXMgT09QLUJ1Y2ggZW50c2NoaWVkZW4gaGFiZS4KSWNoIGhvZmZlLCBpaHIgaGFidCBhdWYgZGllc2VyIEJhc2lzIGtlaW5lIEVpbndhZW5kZSBnZWdlbiBFUEFDUklTLiBGYWxscwpkb2NoLCBtdWVzc2VuIHdpciB1bnMgbmF0dWVybGljaCBmdWVnZW4gdW5kIGVpbmVuIGFuZGVyZW4gU2VydmVyIHN1Y2hlbi4KClNoYWtlZGJlZXIgLSBzdGVodCBnZXJuZSBmdWVyIHdlaXRlcmUgRnJhZ2VuIHp1ciBWZXJmdWVndW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWlubGFkdW5nIHp1ciBNaXRnbGllZGVydmVyc2FtbWx1bmcgKEx1emllLCAxNy4gQXByIDIwMDEsIDE1OjU0OjU5KToKWnVyIGRpZXNqYWVocmlnZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyAKRm9lcmRlcnZlcmVpbnMgUHJvamVrdCBNb3JnZW5HcmF1ZW4gZS4gVi4sCmRpZSBpbSBSYWhtZW4gZGVyIE1vcmdlbkdyYXVlbi1QYXJ0eSBhbQoKICAgU29ubnRhZywgZGVuIDEzLiBNYWkgMjAwMSB1bSAxMC4wMCBVaHIKICAgaW4gZGVyIE1pY2hhZWxzY2h1bGUsIAogICAgICAgICAgQXBwZWxicmVpc3RpZWdlIDQwLCA0ODE0OSBNdWVuc3RlciAoR2lldmVuYmVjaykKCnN0YXR0ZmluZGV0LCBsYWRlbiB3aXIgYWxsZSBNaXRnbGllZGVyIGVpbi4KClRhZ2Vzb3JkbnVuZzoKIDEuIEJlZ3J1ZXNzdW5nCiAyLiBWZXJsZXNlbiBkZXMgbGV0enRlbiBQcm90b2tvbGxzCiAzLiBCZXJpY2h0ZSBkZXMgVm9yc3RhbmRlcyB1bmQgZGVyIEthc3NlbmZ1ZWhyZXJpbgogNC4gQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlcgogNS4gRW50bGFzdHVuZyBkZXMgVm9yc3RhbmRlcwogNi4gTmV1d2FobCBkZXMgZ2VzYW10ZW4gVm9yc3RhbmRlcwogNy4gTmV1d2FobCBkZXIgS2Fzc2VucHJ1ZWZlcgogOC4gU2F0enVuZ3NhZW5kZXJ1bmcKIDkuIFZvcnNjaGF1IGF1ZiBkYXMgSmFociAyMDAxCjEwLiBWZXJzY2hpZWRlbmVzCgpadSBQdW5rdCA4OgpEaWUgU2F0enVuZyBzb2xsIHdpZSBmb2xndCBnZWFlbmRlcnQgd2VyZGVuOgogOCwgTnIuIDEgd2lyZCBlcnNldHp0IGR1cmNoOgoiRGVyIEphaHJlc2JlaXRyYWcgYmV0cmFlZ3QgMTIsLSAuIgpIdWNoIGFsc28gc286ICJEZXIgSmFocmVzYmVpdHJhZyBiZXRyYWVndCAxMiwtIEVVUi4iCgpXZXIgV3VlbnNjaGUgenVyIEVyZ2Flbnp1bmcgZGVyIFRhZ2Vzb3JkbnVuZyBoYXQsIAptdXNzIGRpZXMgYmlzIHp1bSAwNS4wNS4yMDAxIGRlbSBTY2hyaWZ0ZnVlaHJlciBtaXR0ZWlsZW4uCgppLkEuIEx1emllCi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRyBlLlYuIC0gVW1mcmFnZSAoTHV6aWUsIDE3LiBBcHIgMjAwMSwgMTU6NTg6NDApOgpIYWxsbyB6dXNhbW1lbiwKVW0gaGVyYXVzenVmaW5kZW4sIHdhcyBzb3dvaGwgZGllIE1pdGdsaWVkZXIsIGFscyBhdWNoIE5pY2h0LU1pdGdsaWVkZXIKdWViZXIgZGVuIFZlcmVpbiBkZW5rZW4sIGhhYmVuIHdpciBhdWYgZGVuIFdXVy1TZWl0ZW4gZGVzIFZlcmVpbnMgZWluZW4Ka2xlaW5lbiBGcmFnZWJvZ2VuIGVpbmdlcmljaHRldC4KV2lyIGhvZmZlbiwgYXVmIGRpZXNlbSBXZWcgenUgZXJmYWhyZW4sIHdhcyB3aXIgaW4gZGVyIFZlcmVpbnNhcmJlaXQKdmVyYmVzc2VybiBrb2VubmVuLiBIaWVyIGthbm4gYWxzbyBqZWRlL3IgZnJlaSB2b24gZGVyIExlYmVyIHNjaHJlaWJlbiwKd2FzIGloci9paG0gYW0gVmVyZWluIHN0b2VydCwgZ2VmYWVsbHQgLi4uCgpEaWUgQWRyZXNzZSBkZXMgRnJhZ2Vib2dlbnM6Cmh0dHA6Ly9tZy5tdWQuZGUvVmVyZWluL2ZyYWdlYm9nZW4uaHRtbAoKR3J1c3MsCkx1emllCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBZHJlc3Nlbi0gdW5kIEtvbnRvYWVuZGVydW5nZW4gLi4uIChMdXppZSwgMTcuIEFwciAyMDAxLCAxNjowMjo0Mik6ClVuZCBub2NobWFsIGhhbGxvIQpBdWNoIHdlbm4gZXMgZGllamVuaWdlbiwgZGllIGVzIGFrdHVlbGwgYmV0cmlmZnQgdmllbGxlaWNodCBnYXIgCm5pY2h0IGxlc2VuIHdlcmRlbjogSWNoIG1vZWNodGUgbWFsIHdpZWRlciBkYXJhbiBlcmlubmVybiwgbmljaHQKenUgdmVyZ2Vzc2VuLCB1bnMgQWRyZXNzZW4tIHVuZCBLb250b2FlbmRlcnVuZ2VuIG1pdHp1dGVpbGVuLCAKZmFsbHMgamVtYW5kIHVtemllaHQgZXRjLgpUdXQgbWlyIGxlaWQsIHdlbm4gaWNoIGltbWVyIHdpZWRlciBuZXJ2ZW4gbXVzcywgCmRpZSBtZWlzdGVuIHNpbmQgamEgZWggYnJhdi4gOy0pCgpMdXppZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HIGUuVi4gLSBVbWZyYWdlIChMdXppZSwgMjQuIEFwciAyMDAxLCAxNzoyNTowNyk6Cn4jISBybj1MdXppZSBydD05ODc1MTU5MjAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk4NzUxNTkyMApOYWNoIGt1cnpmcmlzdGlnZW4gU3RvZXJ1bmdlbiAoc2llaGUgUnVicmlrICJBbGxnZW1laW4iKQpmdW5rdGlvbmllcnQgZGVyIEZyYWdlYm9nZW4gd2llZGVyIGVpbndhbmRmcmVpLgpBbHNvLCB3ZXIgaWhuIG5vY2ggbmljaHQgYXVzZ2VmdWVsbHQgaGF0OiBOaWNodCB6b2VnZXJuLAplaW5mYWNoIG1hbCBuZW4gS29tbWVudGFyIGFiZ2ViZW4hCgpOYXR1ZXJsaWNoIHdlcmRlbiB3aXIgYXVmIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcKZWluZSBadXNhbW1lbmZhc3N1bmcgYWxsZXIgYmlzIGRhaGluIGVpbmdldHJvZmZlbmVuCkFudHdvcnRlbiB2b3JzdGVsbGVuIHVuZCB6dXIgRGlza3Vzc2lvbiBzdGVsbGVuLgoKQmlzIGJhbGQsCkx1emllCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWNrdXBsb2VzdW5nIChUZWRkeSwgMTEuIEp1bCAyMDAxLCAyMzowOTo1Nyk6CkhpaG8genVzYW1tZW4sCgphdWYgZGVyIGxldHp0ZW4gUGFydHkgd3VyZGUgYmVzY2hsb3NzZW4sIEdlbGQgZnVlciBlaW5lIEJhY2t1cGxvZXN1bmcgenVyClZlcmZ1ZWd1bmcgenUgc3RlbGxlbi4KVW0gZGllc2UgaXJnZW5kd2FubiBlaW5tYWwgYW5zY2hhZmZlbiB6dSBrb2VubmVuLCBiZW5vZXRpZ2VuIHdpciBlcnN0bWFsIGVpbmUKSWRlZSwgd2FzIGRhIGluIEZyYWdlIGtvbW10LgpEYWhlciBlaW5lIEJpdHRlIGRlcyBWZXJlaW5zOiBXZXIgc2ljaCBtaXQgQmFja3VwbG9lc3VuZ2VuIGF1c2tlbm50LCBtb2VnZQpzaWNoIGJpdHRlIG1hbCBrdXJ6IGFuIGRlbiBWZXJlaW4gd2VuZGVuLCBkYW1pdCBtYW4gZGllIERldGFpbHMgYmVzcHJlY2hlbgprYW5uLgpEaWUgQmFja3VwcyBzZWxic3Qgd2VyZGVuIHNpY2hlcmxpY2ggdm9uIEhhdGUgZHVyY2hnZWZ1ZWhydCB3ZXJkZW4sIGFiZXIKdmllbGxlaWNodCBrYW5uIGphIGplbWFuZCBoaWVyIHNpbm52b2xsZSBUaXBzIGdlYmVuLCB3YXMgc28gbW9lZ2xpY2ggaXN0IHVuZAp0cm90emRlbSBiZXphaGxiYXIgdW5kIHByYWt0aWJlbCBibGVpYnQuCgpDVSwKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ncmFtbWllcnVudGVybGFnZW4gKFRlZGR5LCAxMS4gSnVsIDIwMDEsIDIzOjE1OjUxKToKSGlobywKCmRlciBWZXJlaW4gbW9lY2h0ZSBkaWUgU2VtaW5hcmFyYmVpdCB1bnRlcnN0dWV0emVuLgpBdXMgZGllc2VtIEdydW5kIHdvbGxlbiB3aXIgZWluZSB0aGVtZW5zYW1tbHVuZyBlcnN0ZWxsZW4uCk9LLCB3YXMgd29sbGVuIHdpciBkYW5uIHZvbiBldWNoPyA7KQpadW0gZWluZW4gZWluZSBMaXN0ZSBtaXQgdGhlbWVudm9yc2NobGFlZ2VuLCBtb2VnbGljaHN0IGF1Y2gga2F0ZWdvcmlzaWVydCBpbgpBbmZhZW5nZXIgdW5kIEZvcnRnZXNjaHJpdHRlbmUsIGV4aXN0aWVyZW5kZSBUaGVtZW4oYWxzbyBoYXQgc2Nob25tYWwgamVtYW5kCnVlYmVyIGVpbiBUaGVtYSByZWZlcmllcnQgdW5kIG5vY2ggVW50ZXJsYWdlbikgdW5kIGV2dGwuIGF1Y2ggRnJlaXdpbGxpZ2UsIGRpZQp6dSBpbnRlcmVzc2FudGVuIFRoZW1lbiBWb3J0cmFlZ2UgZXJzdGVsbGVuIHd1ZXJkZW4uCkRpZXNlIFVudGVybGFnZW4gc29sbGVuIGRhbm4gamVkZW0genVnYWVuZ2xpY2ggb25saW5lIGdlc3RlbGx0IHdlcmRlbiB1bmQKZXZ0bC4gYXVjaCBhbHMgQmFzaXMgZnVlciB6dWt1ZW5mdGlnZSBTZW1pbmFyZSBkaWVuZW4uCgpDVSwKClRlZGR5ClAuUy46IFZvcnNjaGxhZWdlIHVzdy4gYml0dGUgbW9lZ2xpY2hzdCBwZXIgTWFpbCBhbiBkZW4gVmVyZWluLCBkYW1pdCBkYXMgaGllcgpuaWNodCB6dW0gRGlza3Vzc2lvbnN0aHJlYWQgYXVzYXJ0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMZWJ0IGRlciBWZXJlaW4gZWlnZW50bGljaCBub2NoID8gKFNhbXRrcmFsbGUsIDExLiBKYW4gMjAwMiwgMTQ6MTY6MTMpOgpJY2ggaGFiZSBtaXIgZ2VyYWRlIG1hbCBkaWUgd3d3LVNlaXRlbiB1bmQgZGllIFNhdHp1bmcgdm9tIFZlcmVpbiBhbmdlc2VoZW4KdW5kIGZlc3RnZXN0ZWxsdCwgZGFzcyBzaWNoIGRhIHNjaG9uIGxhZW5nZXJlIFplaXQgbml4IG5ldWVzIG1laHIgZXJlaWduZXQKaGF0LgpTb2xsdGUgZGEgaW0gUmFobWVuIGRlciBFdXJvLVVtc3RlbGx1bmcgbmljaHQgenVtaW5kZXN0IGVpbmUgQWt0dWFsaXNpZXJ1bmcKZGVyIFNhdHp1bmcgZmFlbGxpZyBzZWluPyBEYXMgd2FyIGphIGVpbiBUYWdlc29yZG51bmdzcHVua3QgZGVyIGxldHp0ZW4KTWl0Z2xpZWRlcnZlcnNhbW1sdW5nLCB3dXJkZSBkYXMgZWlnZW50bGljaCB1bWdlc2V0enQ/ClNvd29obCBkaWUgU2F0enVuZyBpbSBNb3JnZW5ncmF1ZW4gc2VsYnN0IGFscyBhdWNoIGRpZSBhdWYgZGVyIFdlYnNlaXRlIGhhdApub2NoIGRlbiBTdGFuZCB2b20gMTIuMDMuMjAwMC4KClNhbXRrcmFsbGUKClAuUy4gRGFzIHNvbGx0ZSBrZWluZSBOb2VyZ2VsZWkgc2VpbiwgaWNoIGludGVyZXNzaWVyZSBtaWNoIGZ1ZXIgZGVuIEJlaXRyaXR0CnVuZCB3dWVzc3RlIGhhbHQgZ2VybmUsIHdvIGljaCBkcmFuIGJpbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMZWJ0IGRlciBWZXJlaW4gZWlnZW50bGljaCBub2NoID8gKFd1cnplbCwgMTEuIEphbiAyMDAyLCAxNDoyNToxMSk6Cn4jISBybj1TYW10a3JhbGxlIHJ0PTEwMTA3NTQ5NzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTA3NTQ5NzMKZGVyIHZlcmVpbiBsZWJ0IG5vY2ggOikKdmlwZXIsIGRlciBkZW4gZ2FuemVuIHNjaHJpZnRrcmFtIG1hY2h0LCB1bmQgbHV6aWUsIGRpZSBkaWUga2Fzc2UgbWFjaHQsIHNpbmQKYWJlciBkZXJ6ZWl0IGV4dHJlbSBiZXNjaGFlZnRpZ3QgdW5kIGhhYmVuIGxlaWRlciB3ZW5pZyB6ZWl0LiBkZXN3ZWdlbiBub2NoCmV0d2FzIGdlZHVsZCwgd2lyIHZlcnN1Y2hlbiBkYXMgcHJvYmxlbSB6dSBsb2VzZW4uCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGVidCBkZXIgVmVyZWluIGVpZ2VudGxpY2ggbm9jaCA/IChCb2luZywgMTEuIEphbiAyMDAyLCAxNToxNDoxOCk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTAxMDc1NTUxMSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTAxMDc1NDk3MwpNZWluZXMgV2lzc2VucyB3dXJkZSBhdWNoIGJlaSBkZXIgbGV0enRlbiBWb2xsdmVyc2FtbWx1bmcgZGllIFVtc3RlbGx1bmcKYXVmIEV1cm8gYmVzY2hsb3NzZW4gaW5rbHVzaXZlIEFlbmRlcnVuZyBkZXMgQmVpdHJhZ2VzLCBpY2ggZ2xhdWJlIGF1ZgoxMiBFdXJvIC4uLiBvaG5lIEdld2FlaHIuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExlYnQgZGVyIFZlcmVpbiBlaWdlbnRsaWNoIG5vY2ggPyAoV3VyemVsLCAxMS4gSmFuIDIwMDIsIDE1OjI1OjIwKToKfiMhIHJuPUJvaW5nIHJ0PTEwMTA3NTg0NTggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTA3NTQ5NzMKc3RpbW10LiBsZWlkZXIgbGllZ3QgYXVzIGRlbiBnZW5hbm50ZW4gZ3J1ZW5kZW4gZGllIHNhdHp1bmdzYWVuZGVydW5nIG5vY2gKbmljaHQgc2NocmlmdGxpY2ggdm9yLCBhYmVyIGJlc2NobG9zc2VuIGlzdCBkYXMuIGRhcyBzb2xsdGUgYWxzbyBrZWluIGdydW5kCmZ1ZXIgZWluZSB6b2VnZXJsaWNoZSBoYWx0dW5nIGJlaW0gZWludHJpdHQgc2VpbiA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm90b2tvbGwgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyB2b20gMTMuMDUuMjAwMSBpbiBNdWVuc3RlciAoVmlwZXIsICAzLiBNYXIgMjAwMiwgMTg6NTE6NTIpOgpIYWxsbywKCmltIFZvcmZlbGQgZGVyIG5hZWNoc3RlbiBNaXRnbGllZGVydmVyc2FtbWx1bmcsIGRpZSBqYSBhbSAwNi4wNC4yMDAyCmFubGFlc3NsaWNoIGRlciBNRy1QQXJ0eSBpbiBNdWVuc3RlciBzdGF0dGZpbmRlbiB3aXJkLCBoYWJlIGljaCBkYXMgUHJvdG9rb2xsCmRlciBsZXR6dGVuIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBhdXMgZGVtIEphaHJlIDIwMDEgdmVyb2VmZmVudGxpY2h0LgoKSWhyIGZpbmRldCBlcyBhdWYgZGVyIFdXVy1TZWl0ZSBkZXMgVmVyZWlucy4KCkRpZSBBZHJlc3NlLCBmdWVyIGFsbGUsIGRpZSBzaWUgdmVyZ2Vzc2VuIGhhYmVuIHNvbGx0ZW46CgpodHRwOi8vbWcubXVkLmRlL3ZlcmVpbi8KCgpEaWUgRWlubGFkdW5nIHp1ciBWZXJzYW1tbHVuZyBmb2xndCBpbiBLdWVyemUuCgoKQmlzIGRhbm4KCgpWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIHZvbSAxMy4wNS4yMDAxIGluIE11ZW5zdGVyIChGb29iYXIsICAzLiBNYXIgMjAwMiwgMTg6NTY6NTEpOgp+IyEgcm49VmlwZXIgcnQ9MTAxNTE3NzkxMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTAxNTE3NzkxMgpLbGVpbmUgQW5tZXJrdW5nOgoKRGllIGtvcnJla3QgVVJMIGlzdDogaHR0cDovL3d3dy5tZy5tdWQuZGUvVmVyZWluLwoKKEplZGVuZmFsbHMgd3VyZGUgZGllIHZvbiBWaXBlciBhbmdlZ2ViZW5lIEFkcmVzc2UgYmVpIG1pciBuaWNodCBnZWZ1bmRlbi4pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgdm9tIDEzLjA1LjIwMDEgaW4gTXVlbnN0ZXIgKFZpcGVyLCAgNi4gTWFyIDIwMDIsIDE4OjI3OjIxKToKfiMhIHJuPUZvb2JhciBydD0xMDE1MTc4MjExIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDE1MTc3OTEyCkh1aHUsCgphbHNvIGJlaSBtaXIgZ2VodCBqZWRlbmZhbGxzIGh0dHA6Ly9tZy5tdWQuZGUvVmVyZWluCgoKQmlzIGRhbm4KCgpWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyBNZyBlLlYuIChWaXBlciwgMTIuIE1hciAyMDAyLCAyMjoxMTowMCk6CkhhbGxvLCBkaWUgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyBNZyBlLlYuIHN0ZWh0IGFuLiBOYWNoZm9sZ2VuZCBkaWUKb2ZmaXppZWxsZSBFaW5sYWR1bmcuLi4KRWlubGFkdW5nIHp1ciBNaXRnbGllZGVydmVyc2FtbWx1bmcKCkhhbGxvLAoKenVyIGRpZXNqYWVocmlnZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcwpGb2VyZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLiBWLiwgZGllIGFtCgogICAgICBTYW1zdGFnLCBkZW4gNi4gQXByaWwgMjAwMiB1bSAxNy4wMCBVaHIKICAgICAgaW0gS3VsdHVyLSB1bmQgSnVnZW5kemVudHJ1bSAiQmFobmhvZiBXb2xiZWNrIiwKICAgICAgICAgQW0gU3RlaW50b3IgNTgsIDQ4MTY3IE11ZW5zdGVyCgpzdGF0dGZpbmRldCwgbGFkZW4gd2lyIGFsbGUgTWl0Z2xpZWRlciBlaW4uCkRpZSBWZXJzYW1tbHVuZyBmaW5kZXQgaW0gUmFobWVuIGRlciBNb3JnZW5HcmF1ZW4tUGFydHkKc3RhdHQuCgpUYWdlc29yZG51bmc6CjEuIEJlZ3J1ZXNzdW5nCjIuIFZlcmxlc2VuIGRlcyBsZXR6dGVuIFByb3Rva29sbHMKMy4gQmVyaWNodGUgZGVzIFZvcnN0YW5kZXMKNC4gQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlcgo1LiBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzCjYuIE5ldXdhaGwgZGVyIEthc3NlbnBydWVmZXIKNy4gVm9yc2NoYXUgYXVmIGRhcyBKYWhyIDIwMDIKOC4gVmVyc2NoaWVkZW5lcwoKV2VyIFd1ZW5zY2hlIHp1ciBFcmdhZW56dW5nIGRlciBUYWdlc29yZG51bmcgaGF0LAptdXNzIGRpZXMgYmlzIHp1bSAyOC4wMy4yMDAyIGRlbSBTY2hyaWZ0ZnVlaHJlcgptaXR0ZWlsZW4uCgpEZXIgc2NocmlmdGxpY2hlbiBFaW5sYWR1bmcgbGllZ3QgZWluIEZvcm11bGFyIGZ1ZXIgZWluZQpFaW56dWdzZXJtYWVjaHRpZ3VuZyB1bmQgZWluIGZyYW5raWVydGVyIFJ1ZWNrdW1zY2hsYWcgYmVpLgpEaWVzIGRlc2hhbGIsIHdlaWwgd2lyIGluendpc2NoZW4gdm9uIHNlaHIgdmllbGVuCk1pdGdsaWVkZXJuIGtlaW5lIGtvcnJla3RlIEVpbnp1Z3Nlcm1hZWNodGlndW5nIG1laHIgaGFiZW4uCkJpdHRlIHNjaGlja2UgdW5zIGRpZSBFaW56dWdzZXJtYWVjaHRpZ3VuZyBhdWYgamVkZW4gRmFsbAphdXNnZWZ1ZWxsdCB1bmQgdW50ZXJzY2hyaWViZW4genVydWVjaywgYXVjaCB3ZW5uIER1IHNpY2hlcgpiaXN0LCBkYXNzIHdpciBlaW5lIGFrdHVlbGxlIEVpbnp1Z3Nlcm1hZWNodGlndW5nIHZvbiBEaXIgaGFiZW4uCkZhbGxzIER1IGltIEVpbnplbGZhbGwgbWl0IEx1emllIHZlcmVpbmJhcnQgaGFzdCwKZGFzcyBEdSBkaWUgQmVpdHJhZWdlIHNlbGJzdCB1ZWJlcndlaXN0LCB2ZXJtZXJrZSBkaWVzCmF1ZiBkZW0gWmV0dGVsLCBnaWIgYml0dGUgYXVmIGplZGVuIEZhbGwgRGVpbmUgQWRyZXNzZSBhbgp1bmQgc2NoaWNrZSB1bnMgZGVuIFpldHRlbCB3aWVkZXIgenVydWVjay4KQmVpIEZyYWdlbiBkYXp1IHdlbmRlIERpY2ggYml0dGUgYW4gTHV6aWUgcGVyIE11ZC1Qb3N0Cm9kZXIgRS1NYWlsOiBhbGNoaWJhQGdteC5kZQoKTWl0IGZyZXVuZGxpY2hlbiBHcnVlc3NlbiwKVmlwZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcm90b2tvbGwgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyB2b20gMTMuMDUuMjAwMSBpbiBNdWVuc3RlciAoTHV6aWUsIDE0LiBNYXIgMjAwMiwgMjI6NTI6MzgpOgp+IyEgcm49VmlwZXIgcnQ9MTAxNTQzNTY0MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTAxNTE3NzkxMgpkZXIgaGFrZW4gZGFyYW4gd2FyIG5pY2h0IGRhcyB3d3cgZGF2b3IsCnNvbmRlcm4gZGllIGdyb3Nzc2NocmVpYnVuZyB2b24gIlZlcmVpbiIuCmpldHp0IGtsYXBwdCBkYXMgYXVjaCB3aWVkZXIuCgpncnVzcywKbHV6aWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1haWxpbmdsaXN0ZSAoVmlwZXIsICA4LiBBcHIgMjAwMiwgMTc6NDk6MDYpOgpIdWh1LAoKZXMgd2FlcmUgc2VociBzY2hvZW4sIHdlbm4gc2ljaCBhbGxlIFZlcmVpbnNtaXRnbGllZGVyIGluIGRpZSBtYWlsaW5nbGlzdGUgZGVzClZlcmVpbnMgZWludHJhZ2VuIHd1ZXJkZW4uCgpCaXR0ZSBzY2hhdXQgbWFsIHVudGVyIGRlciBXV1ctU2VpdGU6Cmh0dHA6Ly9tZy5tdWQuZGUvY2dpLWJpbi9tYWlsbWFuL3ZlcmVpbnNtaXRnbGllZGVyIG5hY2guCgpJY2ggaG9mZmUgYXVmIGdyb3NzZSBSZXNvbmFuei4KCgpEYW5rZS4KClZpcGVyCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1haWxpbmdsaXN0ZSBLb3JyZWt0dXIgKFZpcGVyLCAgOC4gQXByIDIwMDIsIDE3OjUzOjQwKToKSHVodSBub2NobWFsLAoKSW4gbWVpbmVuIGxldHp0ZW4gQXJ0aWtlbCBoYXQgc2ljaCBsZWlkZXIgZWluIEZlaGxlciBlaW5nZXNjaGxpY2hlbi4KCkRpZSByaWNodGlnZSBVUkwgbGF1dGV0OgpEaWUgcmljaHRpZ2UgVVJMIGxhdXRldDoKCgpodHRwOi8vbWcubXVkLmRlL2NnaS1iaW4vbWFpbG1hbi9saXN0ZWluZm8vdmVyZWluc21pdGdsaWVkZXIKCgpEYXMgc29sbHRlIG51biBhYmVyIGdlaGVuLgoKClZpcGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFpbGluZ2xpc3RlIEtvcnJla3R1ciAoT2xsaSwgIDguIEFwciAyMDAyLCAxNzo1NDoyMik6Cn4jISBybj1WaXBlciBydD0xMDE4MjgxMjIwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDE4MjgxMjIwCk9obmUgJ2UnIGluIGxpc3RpbmZvLCBkYW5uIGdlaHRzICpnKgoKT2xsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtYWlsaW5nbGlzdGUgS29ycmVrdHVyIChIdW1uaSwgIDguIEFwciAyMDAyLCAxODoxMDo1NSk6Cn4jISBybj1PbGxpIHJ0PTEwMTgyODEyNjIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTgyODEyMjAKSG1tLi4uIGJpbiBpY2ggbnUgc28gZG9vZiBvZGVyLi4uIHdvaGVyIHdpc3N0IElociBkYSBlaWdlbnRsaWNoIHdlciBkaWUKTWl0Z2xpZWRzY2hhZnQgYmVhbnRyYWd0PyBNdXNzIG1hbiBqYSBnYXIgbmljaHQgZWludHJhZ2VuLi4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWx0ZSBWb3J0cmFlZ2UgLyBWb3J0cmFnc3RoZW1lbiAoWm9vaywgIDguIEFwciAyMDAyLCAxOTo1Nzo1Nik6CkhhbGxvIHp1c2FtbWVuLAoKd2llIGF1ZiBkZXIgTUdlVi1WZXJzYW1tbHVuZyBiZXNwcm9jaGVuIG51biBlaW4gQXJ0aWtlbCB2b24gbWlyIHp1bQpUaGVtYSBWb3J0cmFlZ2UuCgoxLiBJY2ggbW9lY2h0ZSBnZXJuZSBhdWYgZGVtIFdXVy1TZXJ2ZXIgZGllIFZvcnRyYWdzdW50ZXJsYWdlbiBkZXIKYmlzaGVyaWdlbiBWb3J0cmFlZ2UgaGludGVybGVnZW4uIFdlciBhbHNvIG5vY2ggVm9ydHJhZ3N1bnRlcmxhZ2VuIHp1IApIYXVzZSBoZXJ1bWxpZWdlbiBoYXQgdW5kIGRpZSBtYW4gYXVjaCBhdWYgZGVuIFdXVy1TZWl0ZW4gdmVyb2VmZmVudGxpY2hlbgprYW5uLCBtb2VnZSBtaXIgbmUga3VyemUgTWFpbCBzY2hpY2tlbi4gCgoyLiBXZXIgbmUgSWRlZSBoYXQsIHdvIGRhcyBpbSBXV1ctQW5nZWJvdCBhbSBnZXNjaGlja3Rlc3RlbiB1bnRlcmdlYnJhY2h0CmlzdCwgbW9lZ2UgbWlyIGF1Y2ggbmUga2xlaW5lIE1haWwgc2NoaWNrZW4uIEJpc2hlciBmaW5kZW4gc2ljaCBqZXdlaWxzCkxpbmtzIGJlaSBkZXIgenVnZWhvZXJpZ2VuIFBhcnR5IHNvd2llIHVudGVyICJIaWxmZSIgYmVpICJOZXVlcmUgCkRva3VtZW50YXRpb24iLgoKMy4gRGFtaXQgd2lyIGF1Y2ggaW4gWnVrdW5mdCBuZXR0ZSBWb3J0cmFlZ2UgaG9lcmVuIGtvZW5uZW4sIG1vZWNodGUgaWNoCkV1Y2ggc2Nob24gamV0enQgZWlubWFsIGJpdHRlbiwgVGhlbWVuIGZ1ZXIgVm9ydHJhZWdlIHZvcnp1c2NobGFnZW4uIERpZXNlCmtvZW5uZW4gZ2VybmUgaW4gZGllIE1QQSBnZXBvc3RldCB3ZXJkZW4gb2RlciBlaW5mYWNoIGFuIG1pY2ggZ2VtYWlsdAp3ZXJkZW4uIEljaCB3dWVyZGUgZGllc2UgVm9yc2NobGFlZ2UgZGFubiBhdWNoIGF1ZiBkaWUgV1dXLVNlaXRlbiBzdGVsbGVuLgoKR3J1c3MsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWb3J0cmFnc3ZvcnNjaGxhZy4uLi4gKFpvb2ssICA4LiBBcHIgMjAwMiwgMjA6MDE6MzEpOgpBdWZncnVuZCBkaXZlcnNlciBXb3J0bWVsZHVuZ2VuIHdhZWhyZW5kIGRlcyBkaWVzbWFsaWdlbiBMUEMtS3Vyc2VzIHd1ZXJkZQppY2ggbWljaCBhbmJpZXRlbiwgYmVpIGVpbmVyIHp1a3VlbmZ0aWdlbiBQYXJ0eSBlaW5lbiBWb3J0cmFnIHp1bSAKVGhlbWEKCiAgIkVycmljaHRlbiBlaW5lcyBIb21lbXVkcyB1bnRlciBMaW51eC9XaW5kb3dzIG1pdCB0eXBpc2NoZW4KICAgQW53ZW5kdW5nc2JlaXNwaWVsZW4iCgp6dSBoYWx0ZW4uIEluaGFsdCBrb2VubnRlIHNlaW46CgogLSBXYXMgYnJhdWNodCBtYW4gZnVlciBTb2Z0d2FyZT8KIC0gV28gYmVrb21tdCBtYW4gc2llIGhlcj8KIC0gV2llIGluc3RhbGxpZXJ0IG1hbiBkZW4gS3JhbSB1bmQgYmVrb21tdCBkYXMgTXVkIHp1bSBMYXVmZW4/CiAtIFdpZSBiZWtvbW10IG1hbiB0eXBpc2NoZSBBdWZnYWJlbiBnZXJlZ2VsdD8gKFouQi4gRXJ6ZXVnZW4gZWluZXMKICAgTWFnaWVycy9TZWhlcnMpCgpJZGVlbi9BbnJlZ3VuZ2VuL1p1c3RpbW11bmcvQWJsZWhudW5nPwoKR3J1c3MsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadXN0aW1tdW5nIChDaWNlcm8sICA4LiBBcHIgMjAwMiwgMjA6MjY6NDgpOgpIYWJlIGVoIHNjaG9uIGJlc2NobG9zc2VuIGJlaSBkZXIgbmV4dGUgUGFydHkgYXVzenV0YXVjaGVuLCBnaW5nIGRpZXNtYWwgYXVzCkdlbGRtYW5nZWwgbmljaHQgdW5kIHNvIG4gVm9ydHJhZyB3dWVyZCBtaWNoIGF1ZiBqZWRlbiBGYWxsIGludGVyZXNzaWVyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbWFpbGluZ2xpc3RlIEtvcnJla3R1ciAoVmlwZXIsICA4LiBBcHIgMjAwMiwgMjI6NDE6NTEpOgp+IyEgcm49T2xsaSBydD0xMDE4MjgxMjYyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDE4MjgxMjIwCkh1aHUsClRqYSB0dXQgbWlyIGxlaWQgTGV1dGUsCgphbHNvIHZlcnN1Y2h0cyBiaXR0ZSBtaXQgImxpc3RpbmZvIiBkYXMgbXVlc3N0ZSByaWNodGlnIHNlaW4uCgpWaXBlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG1haWxpbmdsaXN0ZSBLb3JyZWt0dXIgKFJvbmRhLCAgOC4gQXByIDIwMDIsIDIzOjQ1OjA0KToKfiMhIHJuPVZpcGVyIHJ0PTEwMTgyOTg1MTEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTgyODEyMjAKSGksCgpwcmltYSwgZGFzcyBkYXMgc28gc2NobmVsbCBnZWtsYXBwdCBoYXQgbmFjaCBkZXIgU2l0enVuZy4gTnVyIGVpbi16d2VpIGtsZWluZQpGcmFnZW4gaGFiZSBpY2ggbm9jaCBkYXp1OgoKYSkgV2llIHdpcmQgZWluZmFjaCBzaWNoZXJnZXN0ZWxsdCwgZGFzcyBudXIgTWl0Z2xpZWRlciBhdWYgZGllIExpc3RlIGtvbW1lbgp3aWUgaW4gZGVyIFNpdHp1bmcgYmVzcHJvY2hlbj8gKFNvbnN0IGtvZW5uZW4gd2lyIGphIGF1Y2ggZ2FueiBlaW5mYWNoIGluIGRlcgpNUEEgcG9zdGVuLi4uKQpiKSBJY2ggaGFiZSB2ZXJzdWNodCwgbWljaCBkYWhlciBtaXQgcm9uZGFAbWcubXVkLmRlIGluIGRlciBMaXN0ZSBhbnp1bWVsZGVuLgpQcm9ibGVtOiBCZWltIFJlcGx5IGFuIGRpZSBpbiBkZXIgTWFpbCBhbmdlZ2ViZW5lIE1haWxhZHJlc3NlIG1hdWx0IChtYWlsdCA7LSkKKSBkYXMgTUcsIGRhc3MgZGllIE1haWxhZHJlc3NlIG5pY2h0IHZvcmhhbmRlbiBpc3QuLi4KClJvbmRhICpoZXV0ZSBrb21wbGl6aWVydCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG1haWxpbmdsaXN0ZSBLb3JyZWt0dXIgKFJvbmRhLCAgOC4gQXByIDIwMDIsIDIzOjU0OjIyKToKfiMhIHJuPVJvbmRhIHJ0PTEwMTgzMDIzMDQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTgyODEyMjAKT2ssIHVuZCBlaW4gU2VsYnN0cmVwbHk6CgpXZW5uIG1hbiBzaWNoIG1pdCBkZXIgTXVkLUVtYWlsIGFubWVsZGVuIG1vZWNodGUsIGthbm4gbWFuIGRpZQpCZXN0YWV0aWd1bmdzbWFpbCBkYW5hY2ggYW5zY2hlaW5lbmQgbWl0IGplZGVtIGFuZGVyZW4gTWFpbGFjY291bnQgYWJzY2hpY2tlbi4KU3ByaWNoOiBtaXQgYWxsZW4gYXVzc2VyIGRlbSBNdWQtTWFpbGVyIDstKQoKUm9uZGEgKlNwaWVsa2luZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG1haWxpbmdsaXN0ZSBLb3JyZWt0dXIgKEx1emllLCAgOS4gQXByIDIwMDIsIDAwOjAzOjE3KToKfiMhIHJuPVJvbmRhIHJ0PTEwMTgzMDIzMDQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTgyODEyMjAKaHVodSwKaHVodSwKCihodWNoKQpkaWVzZSBmcmFnZW4gc29sbHRlbiB2aWVsbGVpY2h0IHZvcmhlciBtaXQgY2F0d2VhemxlCmdla2xhZXJ0IHdlcmRlbi4gZGVzaGFsYiBzY2hyZWliIGljaCBnbGVpY2ggbWFsIG5lCm1haWwuIHVuZCB3ZW5uIGRhbm4gYWxsZXMga2xhciBpc3QsIGtvbW10IGRhcyBhdWYKZGllIHZlcmVpbnMtd3d3LXNlaXRlbiB6dW0gbmFjaGxlc2VuLgpoYWIgaWNoIG1pciBnZWRhY2h0LgoKYmlzIGJhbGQsCmx1emllIChhdWNoIGNoYW90aXNjaCBoZXV0ZSkKKmdyaW5zKgouLgoqCi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWx0ZSBWb3J0cmFlZ2UgLyBWb3J0cmFnc3RoZW1lbiAoSG9ibywgIDkuIEFwciAyMDAyLCAwODo1NTo1MCk6Cn4jISBybj1ab29rIHJ0PTEwMTgyODg2NzYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTgyODg2NzYKTmFjaGRlbSBlcyBqYSBTZW1pbmFyZSBzaW5kLCBkaWUgdm9tIFZlcmVpbiBhbmdlYm90ZW4gd2VyZGVuLCBzb2xsdGUgbWFuIHNpZQp2aWVsbGVpY2h0IHVudGVyIFZlcmVpbi9TZW1pbmFyZSBhYmxlZ2VuPwoKICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvcnRyYWdzdm9yc2NobGFnLi4uLiAoUmlrdXMsICA5LiBBcHIgMjAwMiwgMDk6MDk6MDIpOgp+IyEgcm49Wm9vayBydD0xMDE4Mjg4ODkxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDE4Mjg4ODkxCmRhenUgd3VyZGUgaWNoIGF1Y2ggYXVmIGRlciBQYXJ0eSBhbmdlc3Byb2NoZW4gKHZvciBhbGxlbSB3ZWdlbiBJbnN0YWxsYS0KdGlvbiB1bnRlciBXaW4pLiBEYSBrb2VubnRlbiB3aXIgamEgd2FzIHp1c2FtbWVuIG1hY2hlbi4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFsdGUgVm9ydHJhZWdlIC8gVm9ydHJhZ3N0aGVtZW4gKEx1emllLCAgOS4gQXByIDIwMDIsIDExOjA1OjMyKToKfiMhIHJuPUhvYm8gcnQ9MTAxODMzNTM1MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTAxODI4ODY3Ngprb2VubnRlbiB3aXIgYXVjaCBtYWNoZW4uCmFuc29uc3RlbiBoYWV0dGUgaWNoIGVpbmZhY2ggYXVmIGRlbiB2ZXJlaW5zLXNlaXRlbgpub2NoIGVpbmVuIGxpbmsgZGlyZWt0IHp1IGRlbiBzZW1pbmFyZW4gZWluZ2ViYXV0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsdGUgVm9ydHJhZWdlIC8gVm9ydHJhZ3N0aGVtZW4gKEx1emllLCAgOS4gQXByIDIwMDIsIDE1OjM1OjE3KToKfiMhIHJuPUx1emllIHJ0PTEwMTgzNDMxMzIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTgyODg2NzYKYWxzby4gem9vayBzYW1tZWx0IGVyc3RtYWwgdW5kIHdpbGwgc2ljaCB1ZWJlcmxlZ2VuLAp3byBkYXMgYW0gc2lubnZvbGxzdGVuIGF1ZmdlaG9iZW4gaXN0Lgood28gZGllIGxldXRlIGFtIGVoZXN0ZW4gZGFuYWNoIHN1Y2hlbiB3ZXJkZW4pCgprZWluZSBzb3JnZSwgaWhyIHdlcmRldCBuaXggdmVycGFzc2VuLAphbGxlcyB3aXJkIHZlcm51ZW5mdGlnIHZlcmxpbmt0IDstKQoKYmlzIGJhbGQsCmx1emllCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoqKiogbWFpbGluZ2xpc3RlOiBwcm9ibGVtZSA6LSggKioqIChMdXppZSwgMTAuIEFwciAyMDAyLCAyMTowNTowNCk6CmhpLAoKbW9tZW50YW4gaGFiZW4gd2lyIG5vY2ggZGFzIHByb2JsZW0sIGRhc3Mgd2lyIG5pY2h0IG5hY2hwcnVlZmVuCmtvZW5uZW4sIG9iIGplbWFuZCwgZGVyIHNpY2ggYW5tZWxkZW4gd2lsbCwgYXVjaCBtaXRnbGllZCBpc3QsCgp3aXIga29lbm5lbiBuaWNodCBpbW1lciBkaWUgZS1tYWlsLWFkcmVzc2UgZWluZXIgcGVyc29uIHp1b3JkbmVuLgoKd2lyIGFyYmVpdGVuIGRyYW4gdW5kIHZlcnN1Y2hlbiBpbiBkZW4gbmFlY2hzdGVuIHRhZ2VuIGVpbmUgbG9lc3VuZwpmdWVyIGRpZXNlcyBwcm9ibGVtIHp1IGZpbmRlbi4KCnNvcnJ5LgpsdXppZS4KCnAucy4gZGEsIGd1Y2sgbWFsLCByb25kYTogb2huZSB1ZWJlcmZsdWVzc2lnZSBwdWVua3RjaGVuIHVuZCBzdGVybmNoZW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm90b2tvbGwgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyB2b20gMDYuMDQuMjAwMiAoVmlwZXIsIDEwLiBBcHIgMjAwMiwgMjE6MjU6MjgpOgpQcm90b2tvbGwgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBkZXMgRm9lcmRlcnZlcmVpbnMgUHJvamVrdA0KTW9yZ2VuZ3JhdWVuIGUuVi4gdm9tIDA2LjA0LjIwMDIgaW4gTXVlbnN0ZXINCg0KRGllIGRpZXNqYWVocmlnZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgZmFuZCBhbmxhZXNzbGljaCBkZXMgTW9yZ2VuZ3JhdWVuLQ0KVHJlZmZlbnMgaW4gTXVlbnN0ZXIgc3RhdHQuIFVtIDE3LjE1IFVociBlcm9lZmZuZXRlIGRlciBWb3JzaXR6ZW5kZSBTdGVmYW4gDQpLcnVlbGwgKFRlZGR5KSBkaWUgVmVyc2FtbWx1bmcgdW5kIGJlZ3J1ZXNzdGUgZGllIGFud2VzZW5kZW4gMzQgTWl0Z2xpZWRlciANCnNvd2llIGVpbmlnZSBHYWVzdGUuDQoNClp1IEJlZ2lubiBkZXIgVmVyc2FtbWx1bmcgc3RlbGx0ZSBkZXIgVm9yc2l0emVuZGUgZmVzdCwgZGFzcyB6dSBkZXIgDQpWZXJzYW1tbHVuZyBzYXR6dW5nc2dlbWFlc3MgZ2VsYWRlbiB3b3JkZW4gc2VpIHVuZCB2ZXJsYXMgZGllIA0KVGFnZXNvcmRudW5nLg0KDQpUYWdlc29yZG51bmcNCg0KMS4JQmVncnVlc3N1bmcNCjIuCVZlcmxlc2VuIGRlcyBsZXR6dGVuIFByb3Rva29sbHMNCjMuCUJlcmljaHRlIGRlcyBWb3JzdGFuZGVzIHVuZCBkZXIgS2Fzc2Vud2FydGluDQo0LglCZXJpY2h0IGRlciBLYXNzZW5wcnVlZmVyDQo1LglFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzDQo2LglOZXV3YWhsIGVpbmVzIEthc3NlbnBydWVmZXJzDQo3LglWb3JzY2hhdSBhdWYgMjAwMg0KOC4JVmVyc2NoaWVkZW5lcw0KDQpFaW53YWVuZGUgZ2VnZW4gZGllIGJla2FubnRnZW1hY2h0ZSBUYWdlc29yZG51bmcgd3VyZGVuIG5pY2h0IGdlbHRlbmQgDQpnZW1hY2h0LiANCg0KRGllIFZlcnNhbW1sdW5nIHZlcnppY2h0ZXRlIGVpbnN0aW1taWcgYXVmIGRhcyBWZXJsZXNlbiBkZXMgbGV0enRlbiANClByb3Rva29sbHMsIGRhcyBzdGF0dGRlc3NlbiB6dXIgRWluc2ljaHQgaGVydW1nZXJlaWNodCB3dXJkZS4NCg0KLT4gVG9wIDMgQmVyaWNodGUgZGVzIFZvcnN0YW5kZXMgdW5kIGRlciBLYXNzZW53YXJ0aW4NCg0KRGVyIFZvcnNpdHplbmRlIGVya2xhZXJ0ZSwgZGFzcyB2b24gZGVuIEFrdGl2aXRhZXRlbiwgZGllIGltIGxldHp0ZW4gSmFociANCmJlc2NobG9zc2VuIHdvcmRlbiB3YXJlbiwgbmljaHRzIHVtZ2VzZXR6dCB3dXJkZSwgc28gZGFzcyBkaWVzZSBUaGVtZW4gbm9jaCANCmVpbm1hbCBkaXNrdXRpZXJ0IHdlcmRlbiBtdXNzdGVuLg0KLS0gRXMgd3VyZGUgbm9jaCBrZWluZSBCYWNrdXAtTG9lc3VuZyBnZWZ1bmRlbiwgZGllIGplZG9jaCBkcmluZ2VuZCANCm5vdHdlbmRpZyBpc3QuDQpTaGFrZWRiZWVyIGVya2xhZXJ0ZSBzaWNoIGRhenUgYmVyZWl0LCBzaWNoIGRhcnVtIHp1IGt1ZW1tZXJuIHVuZCB3aXJkIA0KZGVtIFZvcnN0YW5kIG1pdHRlaWxlbiwgd2VsY2hlIExvZXN1bmdzLU1vZWdsaWNoa2VpdGVuIGVyIGdlZnVuZGVuIGhhdC4gDQpEZXIgQmVzY2hsdXNzIGRlcyBsZXR6dGVuIEphaHJlcyBiemdsLiBkZXMgZmluYW56aWVsbGVuIFJhaG1lbnMgaXN0IG5vY2ggDQpndWVsdGlnLCBlcyBrb2VubmVuIGFsc28gYmlzIHp1IDE1MDAgRVVSTyBwbHVzIGFsbGVuIGZ1ZXIgZGllc2VuIFp3ZWNrIA0KZWluZ2VnYW5nZW5lbiBTcGVuZGVuIHZlcndlbmRldCB3ZXJkZW4uDQotLSBFcyBleGlzdGllcnQgYmVyZWl0cyBlaW5lIE1haWxpbmdsaXN0ZSwgZnVlciBkaWUgc2ljaCBkaWUgTWl0Z2xpZWRlciANCnNlbGJzdCBhbm1lbGRlbiBtdWVzc2VuLiBEZXIgTGluayBhdWYgZGllIE1haWxpbmdsaXN0ZSBzb2xsIGltIE1VRCB1bmQgYXVmIA0KZGVuIFZlcmVpbnNzZWl0ZW4gYmVrYW5udCBnZWdlYmVuIHdlcmRlbi4NCi0tIEVpbmUgRGF0ZW5iYW5rIGZ1ZXIgU2VtaW5hcnVudGVybGFnZW4gc29sbCBlYmVuZmFsbHMgZWluZ2VyaWNodGV0IA0Kd2VyZGVuLiANCkNyaXR0ZXIgdW5kIFpvb2sgZXJrbGFlcnRlbiBzaWNoIGRhenUgYmVyZWl0LCBkaWUgVW50ZXJsYWdlbiBhdWNoIGF1cyBkZW4gDQp2ZXJnYW5nZW5lbiBKYWhyZW4genUgc2FtbWVsbiB1bmQgdWViZXIgV1dXIHp1Z2FlbmdsaWNoIHp1IG1hY2hlbi4NCi0tIE5hY2hmcmFnZW4gYmVpIGRlciBBbGxpYW56LVZlcnNpY2hlcnVuZyB3ZWdlbiBlaW5lciBSZWNodHNzY2h1dHotDQp2ZXJzaWNoZXJ1bmcgYmxpZWJlbiBvaG5lIEVyZ2VibmlzLiBEZXIgU2FjaGJlYXJiZWl0ZXIgc2NobHVnIGVpbmUgDQpIYWZ0cGZsaWNodHZlcnNpY2hlcnVuZyB2b3IuIERhIG5pY2h0IGtsYXIgd2FyLCBpbiB3ZWxjaGVuIEZhZWxsZW4gZWluZSANCnNvbGNoZSBWZXJzaWNoZXJ1bmcgYmVub2V0aWd0IHdlcmRlbiBrb2VubnRlLCB3dXJkZSBkYXMgVGhlbWEgbmljaHQgbWVociANCndlaXRlciB2ZXJmb2xndC4gSW4gZGVyIFZlcnNhbW1sdW5nIHd1cmRlIG5vY2ggZWlubWFsIGRhcnVlYmVyIGRpc2t1dGllcnQgDQp1bmQgZXMgd3VyZGUgYmVzY2hsb3NzZW4sIGVpbmUgcmVpbmUgUmVjaHRzc2NodXR6dmVyc2ljaGVydW5nIGFienVzY2hsaWXfZW4sIA0KdW0gYmVpIGV2ZW50dWVsbGVuIFJlY2h0c3N0cmVpdGlna2VpdGVuIGRpZSBWZXJmYWhyZW5za29zdGVuIHRyYWdlbiB6dSANCmtvZW5uZW4uDQoNCkltIEFuc2NobHVzcyBhbiBkZW4gQmVyaWNodCBkZXMgZXJzdGVuIFZvcnNpdHplbmRlbiBnYWIgZGVyIFNjaHJpZnRmdWVocmVyIA0KS2FybC1IZWlueiBCb3Nhd2UgKFZpcGVyKSBub2NoIGVpbmlnZSBJbmZvcm1hdGlvbmVuIHp1IGRlbiBNaXRnbGllZGVyLQ0KYmV3ZWd1bmdlbiBpbSBKYWhyIDIwMDEuIE5hY2ggTmV1YXVmbmFobWUgdm9uIDEyIE1pdGdsaWVkZXJuIHVuZCBLdWVuZGlndW5nIA0Kdm9uIDMgTWl0Z2xpZWRlcm4gaGF0dGUgZGVyIFZlcmVpbiBhbSBFbmRlIGRlcyBKYWhyZXMgMjAwMSAxMTYgTWl0Z2xpZWRlciANCnVuZCBuYWNoIEF1Zm5haG1lIGVpbmVzIHdlaXRlcmVuIE1pdGdsaWVkcyBBbmZhbmcgMjAwMiBoYXR0ZSBkZXIgVmVyZWluIHp1bSANClplaXRwdW5rdCBkZXIgVmVyc2FtbWx1bmcgMTE3IE1pdGdsaWVkZXIuDQoNCkRpZSBLYXNzZW53YXJ0aW4gTW9uaWthIFN0cnVueiAoTHV6aWUpIHRlaWx0ZSBtaXQsIGRhc3MgZGVyIFZlcmVpbiBhbSANCkFuZmFuZyBkZXMgSmFocmVzIDIwMDEgdWViZXIgMzUwMCBETSBiZXNh3y4gTmFjaCBFaW5uYWhtZW4gaW4gSG9laGUgdm9uIA0K/GJlciAyNTAwIERNIHVuZCBBdXNnYWJlbiB2b24gNjAwIERNIGJldHJ1ZyBkZXIgS2Fzc2Vuc3RhbmQgYW0gRW5kZSBkZXMgDQpKYWhyZXMgMjAwMSB1ZWJlciA1NDAwIERNLCB1bWdlcmVjaG5ldCB1ZWJlciAyNzAwIEVVUk8uIA0KV2VpdGVyaGluIGJlcmljaHRldGUgTHV6aWUsIGRhc3MgZGVtIFZlcmVpbiBub2NoIE1pdGdsaWVkcy1CZWl0cmFlZ2UgYXVzIA0KZGVuIHZlcmdhbmdlbmVuIEphaHJlbiBiaXMgZWluc2NobGllc3NsaWNoIDIwMDEgaW4gSG9laGUgdm9uIDMyMSBFVVJPIA0KZmVobHRlbiwgd292b24gdW5nZWZhZWhyIGZ1ZXIgZGllIEhhZWxmdGUgZGllIEF1c3NpY2h0IGJlc3RhbmQsIHNpZSBub2NoIA0KenUgYmVrb21tZW4uIEb8ciBkYXMgSmFociAyMDAyIGVyd2FydGV0ZSBzaWUgTWl0Z2xpZWRzYmVpdHJhZWdlIGluIA0KR2VzYW10aG9laGUgdm9uIGNhLiAxMzAwIEVVUk8uDQoNCi0+IFRvcCA0IEJlcmljaHQgZGVyIEthc3NlbnBydWVmZXINCg0KUm9uZGEgZXJrbGFlcnRlLCBkYXNzIGVyIHp1c2FtbWVuIG1pdCBHb2xhcyBkaXJla3Qgdm9yIGRlciBWZXJzYW1tbHVuZyANCmFtIDA2LjA0LjIwMDIgZGllIEthc3NlIGdlcHJ1ZWZ0IGhhdHRlLiBEaWUgS2Fzc2Ugc2VpIHNhdWJlciB1bmQga29ycmVrdCANCmdlZnVlaHJ0LiBFciBiZWFudHJhZ3RlIGRlc2hhbGIsIGRlciBLYXNzZW53YXJ0aW4gdW5kIGRlbSB1ZWJyaWdlbiANClZvcnN0YW5kIEVudGxhc3R1bmcgenUgZXJ0ZWlsZW4uDQoNCi0+IFRvcCA1IEVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMNCg0KQmVpIHZpZXIgRW50aGFsdHVuZ2VuIHd1cmRlIGRlbSBWb3JzdGFuZCBtaXQgMzAgSmEtU3RpbW1lbiBkaWUgRW50bGFzdHVuZyANCmVydGVpbHQuDQoNCi0+IFRvcCA2IE5ldXdhaGwgZGVyIEthc3NlbnBydWVmZXINCg0KTmViZW4gR29sYXMsIGRlciBub2NoIGVpbiB3ZWl0ZXJlcyBKYWhyIEthc3NlbnBy/GZlciBibGVpYnQsIHd1cmRlIGVpbiANCkthc3NlbnBy/GZlciBuZXUgZ2V3YWVobHQuIEFscyBLYW5kaWRhdGluIHd1cmRlIEFsaW5lIHZvcmdlc2NobGFnZW4sIA0KZGllIGJlaSBkcmVpIEVudGhhbHR1bmdlbiBtaXQgMzEgSmEtU3RpbW1lbiBnZXdhZWhsdCB3dXJkZS4NCg0KLT4gVG9wIDcgVm9yc2NoYXUgYXVmIGRhcyBKYWhyIDIwMDINCg0KRGllIFRhZXRpZ2tlaXRlbiBpbSBKYWhyIDIwMDIgd3VyZGVuIHNjaG9uIHVudGVyIFRvcCAzIGdlcGxhbnQuDQoNCi0+IFRvcCA4IFZlcnNjaGllZGVuZXMNCg0KSW4gZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAyMDAwIHdhciBiZXNjaGxvc3NlbiB3b3JkZW4sIGRhc3MgZGVyIGFsdGUgDQpNb3JnZW5ncmF1ZW4tUmVjaG5lciBmdWVyIGRhcyBuZXVlIE11ZCBFcGFjcmlzIHp1ciBCZWdsZWl0dW5nIGVpbmVzIEJ1Y2hlcyANCnVlYmVyIE9PUCB6dXIgVmVyZnVlZ3VuZyBnZXN0ZWxsdCB3ZXJkZW4gc29sbHRlLg0KTmFjaCB6d2VpIEphaHJlbiBrb25udGUgU2hha2VkYmVlciBiZXJpY2h0ZW4sIGRhc3Mgc2VpdCB2aWVyIFdvY2hlbiBFcGFjcmlzIA0KYXVmIGVpbmVuIGFuZGVyZW4gUmVjaG5lciB1bWdlem9nZW4gaXN0IHVuZCBiZWRhbmt0ZSBzaWNoIGhlcnpsaWNoIGZ1ZXIgZGllIA0KSGlsZmUuDQpEYXJhdWZoaW4gd3VyZGUgdWViZXIgZGllIFZlcndlbmR1bmcgZGVzIGFsdGVuIFJlY2huZXJzIGRpc2t1dGllcnQgdW5kIGJlaSANCmVpbmVyIEdlZ2Vuc3RpbW1lIHVuZCBlaW5lciBFbnRoYWx0dW5nIG1pdCAzMiBTdGltbWVuIGJlc2NobG9zc2VuLCBkYXNzIGRlciANCmFsdGUgUmVjaG5lciBmdWVyIG9lZmZlbnRsaWNoZSBQb3J0cyAoVW1sZWl0dW5nIGRlcyBNRy1adWdhbmdzKSB6dXIgDQpWZXJmdWVndW5nIHN0ZWhlbiBzb2xsLiBEZXIgQW50cmFnLCBhdWYgZGVtIGFsdGVuIFJlY2huZXIgZWluIFRlc3RtdWQgbnVyIA0KZnVlciBNYWdpZXIgZWluenVyaWNodGVuLCB3dXJkZSB3aWVkZXIgenVydWVja2dlem9nZW4uDQoNCkRlciBWb3JzaXR6ZW5kZSBiZWRhbmt0ZSBzaWNoIGFic2NobGllc3NlbmQgZnVlciBkZW4gcmVnZW4gQmVzdWNoIHVuZCANCmJlZW5kZXRlIGRpZSBWZXJzYW1tbHVuZyB1bSAxOC4xMCBVaHIuDQoNClN0ZWZhbiBLcnVlbGwJCQkJS2FybC1IZWlueiBCb3Nhd2UNCjEuIFZvcnNpdHplbmRlcgkJCQlTY2hyaWZ0ZnVlaHJlcg0KDQotLS0tDQoNCk5hY2h0cmFnOiBMZWlkZXIgd3VyZGUgaW0gSmFocmVzYmVyaWNodCB2ZXJnZXNzZW4sIHp1IGVyd2FlaG5lbiwgZGFzcyANCndhZWhyZW5kIGRlciBQYXJ0eSBpbSBKYWhyIDIwMDEgaW4gTXVlbnN0ZXIgZWluIFNlbWluYXIgc3RhdHRnZWZ1bmRlbiBoYXQuDQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICoqKiBtYWlsaW5nbGlzdGU6IHByb2JsZW1lIDotKCAqKiogKEN1Y2h1bGxpbiwgMTAuIEFwciAyMDAyLCAyMToyODo1Myk6Cn4jISBybj1MdXppZSBydD0xMDE4NDY1NTA0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDE4NDY1NTA0Ck5hamEsIGlociBoYWJ0IFJlYWxuYW1lbiB1bmQgaWhyIGhhYnQgTXVkbmFtZW4uIERhc3MgamVtYW5kIHNlaW4gUGFzc3dvcnQKaGllciB3ZWl0ZXJnaWJ0LCBrb21tdCB2aWVsbGVpY2h0IHZvciwgYWJlciBlcyBpc3Qgd29obCBuaWNodCBzbyB3YWhyLQpzY2hlaW5saWNoLCBkYXNzIGplbWFuZCBlaW4gZnJlbWRlcyBQYXNzd29ydCBudXR6ZW4gd3VlcmRlLCB1bSBhdWYgZWluZQpWZXJlaW5zbWFpbGluZ2xpc3RlIHp1IGtvbW1lbi4gV2FydW0gYWxzbyBuaWNodCB2b24gZGVuIENoYXJha3RlcmVuIEhJRVIKaW0gTXVkIGVpbmUgTWFpbCBoYWJlbiB3b2xsZW4sIGluIGRlciBSTC1OYW1lIHVuZCBlaW5lIEVtYWlsYWRyZXNzZSBzdGVodC4KCkN1Y2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogKioqIG1haWxpbmdsaXN0ZTogcHJvYmxlbWUgOi0oICoqKiAoTHV6aWUsIDEwLiBBcHIgMjAwMiwgMjE6MzU6NDApOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMTg0NjY5MzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTg0NjU1MDQKa2VpbmUgc2NobGVjaHRlIGlkZWUsIGN1Y2h1bGxpbiwgc293YXMgYWVobmxpY2hlcyBzY2h3ZWJ0IG1pciBhdWNoIHZvci4KZGFzIGFsbGVzIG11c3MgaWNoIGpldHp0IGVyc3RtYWwgbWl0IGNhdHdlYXpsZSBhYnNwcmVjaGVuLgoKbHV6aWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm90b2tvbGwgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyB2b20gMDYuMDQuMjAwMiAoUGlsZ3JpbSwgMTYuIEFwciAyMDAyLCAxNjoyODoxNik6Cn4jISBybj1WaXBlciBydD0xMDE4NDY2NzI4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDE4NDY2NzI4CgpIaSwKCm1hbCBlaW5lciBGcmFnZToKV2FzIGhhYicgaWNoIG1pciB1bnRlciAuLi4KPiBEYXJhdWZoaW4gd3VyZGUgdWViZXIgZGllIFZlcndlbmR1bmcgZGVzIGFsdGVuIFJlY2huZXJzIGRpc2t1dGllcnQgdW5kIGJlaSAKPiBlaW5lciBHZWdlbnN0aW1tZSB1bmQgZWluZXIgRW50aGFsdHVuZyBtaXQgMzIgU3RpbW1lbiBiZXNjaGxvc3NlbiwgZGFzcyBkZXIgCj4gYWx0ZSBSZWNobmVyIGZ1ZXIgb2VmZmVudGxpY2hlIFBvcnRzIChVbWxlaXR1bmcgZGVzIE1HLVp1Z2FuZ3MpIHp1ciAKPiBWZXJmdWVndW5nIHN0ZWhlbiBzb2xsLgp2b3J6dXN0ZWxsZW4/CkFsc28gLi4uIG51ciB6dXIgS2xhcnN0ZWxsdW5nIC4uLiBkZXIgVGVpbCBtaXQgJ2Z1ZXIgb2VmZmVudGxpY2hlIFBvcnRzJwppc3QgZGFzLCB3YXMgbWljaCBpbnRlcmVzc2llcnQgLC0pCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIHZvbSAwNi4wNC4yMDAyIChCb2luZywgMTYuIEFwciAyMDAyLCAxNjoyOTo0MCk6Cn4jISBybj1QaWxncmltIHJ0PTEwMTg5NjcyOTYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwMTg0NjY3MjgKRGllIEhUVFAgUG9ydHMgKGRpZSBub3JtYWxlcndlaXNlIHZvbiBrZWluZXIgRmlyZXdhbGwgZ2VzcGVycnQgd2VyZGVuKQp3ZXJkZW4gYXVmIGRlbiBUZWxuZXQtUG9ydCBkZXMgTUctUmVjaG5lcnMgdW1nZWxlaXRldC4gRGFkdXJjaCBtdWVzc2VuCmVpbiBwYWFyIExldXRlIHdlbmlnZXIgbWl0IFNob2Nrd2F2ZSBtdWRkZW4gLi4uIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhY2t1cGxvZXN1bmcgKFZpcGVyLCAyMy4gQXByIDIwMDIsIDIyOjExOjQ3KToKSGkgYWxsZSwKenVuYWVjaHN0IGdhbnogbGllYmUgR3J1ZXNzZSB2b24gTHV6aWUuCldlZ2VuIGRlciBCdWNrdXBsb2VzdW5nIGhhdHRlIGljaCBub2NoIGF1ZiBkZXIgUGFydHkgaW4gTXVlbnN0ZXIgbWl0IEtpcmsKZ2VyZWRldC4KCktpcmsgaGF0dGUgZWluZSBpbnRlcmVzc2FudGUgSWRlZSBkYXp1LgoKRGllc2UgSWRlZSBpc3QgbWl0dGxlcndlaWxlIGluIGRpZSBUYXQgdW1nZXNldHp0IHdvcmRlbi4KCkhhdGUgc2NoYXVmZWx0IGplZGVuIFNvbm50YWcgTW9yZ2VuIGRpZSBEYXRlbiwgZGllIHp1bSBCYWNrdXAgYW5zdGVoZW4sIGF1ZgpkZW4gUmVjaG5lciB2b24gS2lyaywgZGVyIGRpZSBEYXRlbiBkYW5uIGF1ZiBCYW5kIGxhZ2VydC4KCkljaCBkZW5rZSwgZGFtaXQgaXN0IGRpZSBCYWNrdXBsb2VzdW5nc3Byb2JlbWF0aWsgd29obCAoenVtaW5kZXN0IGluIG5haGVyClp1a3VuZnQpIGdlbG9lc3QpLgoKCkxpZWJlIEdydWVzc2UKCgpWaXBlcgoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWJidWNodW5nIGRlciBNaXRnbGllZHNiZWl0cmFlZ2UgKEx1emllLCAyOS4gQXByIDIwMDIsIDIzOjA1OjU3KToKQnVvbmEgc2VyYSwKCmt1cnplciBIaW53ZWlzOgpEaWUgTWl0Z2xpZWRzYmVpdHJhZWdlIGZ1ZXIgZGFzIEphaHIgMjAwMiB3ZXJkZSBpY2gKKHZvbiBkZW4gTGV1dGVuLCBkaWUgZGllc2VzIEphaHIgbm9jaCBuaWNodCBiZXphaGx0IGhhYmVuKQpNaXR0ZSBNYWkgYWJidWNoZW4uCgpDaWFvLApsdXppZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmV0ci4gT25saW5ld2FobCAoT3JrdG9ldGVyLCAxOS4gSnVuIDIwMDIsIDE5OjU2OjIzKToKSGllciBlaW4gTGluayB6dSBlaW5lbSBBcnRpa2VsIGJlemdsLiBPbmxpbmV3YWhsZW4gZnVlciBWZXJlaW5lOgoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvZW0tMTkuMDYuMDItMDAxLwoKRnVlciBkaWUsIGRpZSBlcyBuaWNodCBzZWxiZXIgbGVzZW4gd29sbGVuOiAKCkxhdXQgYWt0dWVsbGVtIFVydGVpbCBpc3QgZGFzIGF1cyB2ZXJzY2hpZWRlbmVuIEdydWVuZGVuIG5pY2h0IHp1bGFlc3NpZy4KRGVyIG5hZW1saWNoZSBWZXJlaW4gd2lsbCBhYmVyIHZlcnN1Y2hlbiBkdXJjaCBtb2RpZmlrYXRpb25lbiBkb2NoIG5vY2ggZWluZQpadWxhc3N1bmcgenUgZXJyZWljaGVuLgoKKHdlbm4gZGFzIGtsYXBwdCB1bmQgc2ljaCBkYXMgZGFubiBhdWNoIG5vY2ggYXVmcyBNRyB1ZWJlcnRyYWdlbiBsaWVzc2UKW3p1Z2FuZ3Nrb250cm9sbGUgZHVyY2ggS2VubndvcnQgaXN0IGphIGJlaSB1bnMgZWggc2Nob24gZ2VnZWJlbl0gc29sbHRlbiBzaWNoCmluIFp1a3VuZnQgRWlubGFkdW5nZW4gdW5kIHNlbGJzdCBnYW56ZSBWZXJlaW5zc2l0enVuZ2VuIG9ubGluZSBhYmhhbHRlbgpsYXNzZW4uCgpEYWhlciBzb2xsdGUgbWFuIGRpZSBFbnR3aWNrbHVuZyBpbSBBdWdlIGJlaGFsdGVuLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXRyLiBPbmxpbmV3YWhsIChab29rLCAxOS4gSnVuIDIwMDIsIDIxOjMwOjExKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDI0NTA5MzgzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDI0NTA5MzgzCkluIGRpZXNlbSBVbWZlbGQgaXN0IGRlcnplaXQgZWluaWdlcyBhbiBMaXRlcmF0dXIgZ2VzY2hyaWViZW4gd29yZGVuIApiencuIGFtIGVudHN0ZWhlbi4gQmVpIHVucyBpbSBJbnN0aXR1dCBrdWVtbWVybiBzaWNoIGF1Y2ggendlaQpNaXRhcmJlaXRlciB1bSBPbmxpbmUtVmVyc2FtbWx1bmdlbiAoendhciBzcGV6aWVsbCBmdWVyIGVHLCBqZWRvY2gKbGllZ2VuIGRpZSBQcm9ibGVtZSB6LkIuIGJlaSBBRywgZVYgZXRjLiB3b2hsIGFlaG5saWNoKS4gSWNoIHdlcmQKZGllIFNhY2hlIG1hbCB2ZXJmb2xnZW4sIG1hbCBzY2hhdW4sIHdhcyBkYWJlaSBoZXJhdXNrb21tdC4KIQpTb3dlaXQgaWNoIGRhcyBpbSBLb3BmIGhhYmUsIGdpYnQgZXMgYWJlciB0YXRzYWVjaGxpY2ggenVtaW5kZXN0IGJlaQpkZW4gZUcgbm9jaCBkaXZlcnNlIGp1cmlzdGlzY2hlIEhha2VuIHVuZCBPZXNlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJldHIuIE9ubGluZXdhaGwgKEVsYmVyZXQsIDE5LiBKdW4gMjAwMiwgMjI6MTI6MjcpOgp+IyEgcm49Wm9vayBydD0xMDI0NTE1MDExIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDI0NTA5MzgzCmljaCBwZXJzb2VubGljaCBmaW5kIGphIHdhaGxlbiB6dSBWb3JzdGFlbmRlbiB3byBtYW4gcGVyc29lbmxpY2ggYW53ZXNlbmQgaXN0LAphdWYgamVkZW4gRmFsbCBiZXNzZXIsYWJlciBpY2ggYmluIGF1Y2ggYWx0bW9kaXNjaCA6KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWFpbGluZ2xpc3RlIDotKSAoTHV6aWUsIDE5LiBPa3QgMjAwMiwgMTc6MjA6NDUpOgptaXQgZGVyIG1haWxpbmdsaXN0ZSBrYW5ucyBqZXR6dCAoZW5kbGljaCkgbG9zZ2VoZW4uCmluZm9zIGRhenUgZ2lidHMgYXVmIGRlbiB3d3ctc2VpdGVuIGRlcyB2ZXJlaW5zLgpiaXR0ZSBiZWFjaHRldCB1bmJlZGluZ3QgZGFzIGFubWVsZGV2ZXJmYWhyZW4uCgpzY2hvZW5lIGdydWVzc2UsCmx1emllCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFpbGluZ2xpc3RlIDotKSAoUm9uZGEsIDE5LiBPa3QgMjAwMiwgMjM6Mzg6NDApOgp+IyEgcm49THV6aWUgcnQ9MTAzNTA0MDg0NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTAzNTA0MDg0NQpIaSwKCmhpZXIgZWluZmFjaCBtYWwgZGVyIGRpcmVrdGUgTGluayB6dXIgTWFpbGluZ2xpc3RlOgoKaHR0cDovL21nLm11ZC5kZS9WZXJlaW4vbWFpbGluZ2xpc3QuaHRtbAoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFydGlrZWwgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nPyAoTHV6aWUsIDE2LiBGZWIgMjAwMywgMTM6MDc6MzcpOgpIYWxsbyB6dXNhbW1lbiwKCmdhbnogenVmYWVsbGlnIGhhYiBpY2ggZ2VyYWRlIGlucyBNVUQgZ2VzY2hhdXQgdW5kIGZlc3RnZXN0ZWxsdCwKZGFzcyBkaWUgRnJ1ZWhqYWhyc3BhcnR5IGluIHdlbmlnZXIgYWxzIGRyZWkgV29jaGVuIHN0YXR0ZmluZGV0LgoKSWNoIG1vZWNodGUgZGFyYW4gZXJpbm5lcm4sIGRhc3MgZGllIFZlcmVpbnMtTWl0Z2xpZWRlci0KVmVyc2FtbWx1bmcgaW1tZXIgenUgZGVuIEZydWVoamFocnNwYXJ0aWVzIHN0YXR0Z2VmdW5kZW4gaGFiZW4uCihBbnNvbnN0ZW4gaXN0IGVzIGthdW0gbW9lZ2xpY2gsIGVpbmUgZWluaWdlcm1hc3NlbiBndXQKYmVzdWNodGUgVmVyc2FtbWx1bmcgYWJ6dWhhbHRlbi4pCgpFaW5lIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyB2b20gTUdlViBpc3QgenUgZGllc2VtIFBhcnR5dGVybWluCm5pY2h0IG1laHIgbW9lZ2xpY2gsIHNjaG9uIGFsbGVpbiwgd2VpbCB3aXIgZGllICh2b24gZGVyIFNhdHp1bmcKdm9yZ2VzY2hyaWViZW5lKSBkcmVpd29lY2hpZ2UgRnJpc3QgZnVlciBkaWUgRWlubGFkdW5nZW4gbmljaHQKbWVociBlaW5oYWx0ZW4ga29lbm5lbi4KClZvbiBWaXBlciBoYWIgaWNoIGdlcmFkZSBlcmZhaHJlbiwgZGFzcyBlciBhbiBkaWVzZW0gV29jaGVuZW5kZQprZWluZSBaZWl0IGhhYmVuIHdpcmQuIEljaCBzZWxic3QgaGFiIG5pY2h0IGVpbmZhY2ggc28gbmViZW5iZWkKCm1hbCA1MCwtIEVVUk8genpnbC4gQW5yZWlzZWtvc3RlbiB1ZWJyaWcuCgpEaWVzZXMgSmFociBzdGVoZW4gd2llZGVyIGtvbXBsZXR0ZSBWb3JzdGFuZHN3YWhsZW4gYW4gdW5kIGljaApob2ZmZSBlaHJsaWNoIGdlc2FndCwgZGFzcyBzaWNoIGZ1ZXIgZGllIEthc3NlbmZ1ZWhydW5nIGplbWFuZAphbmRlcmVyIGZpbmRldCwgZGVyIG1laHIgWmVpdCBmdWVycyBNRyBoYXQsIHNpY2ggcmVnZWxtYWVzc2lnIGlucwpNVUQgZWlubG9nZ3QgdW5kIHNvbWl0IG1laHIgZGF2b24gbWl0a3JpZWd0LCB3YXMgZGEgc28gYWxsZXMgdm9yCnNpY2ggZ2VodC4gRGllIFZlcmVpbnNhcmJlaXQgYW4gc2ljaCBpc3QgbmljaHQgc28gemVpdGF1ZndlbmRpZwphYmVyIGJlaSBtaXIgcGVyc29lbmxpY2ggc3RlaGVuIHp1ciBaZWl0IHdpY2h0aWdlcmUgRGluZ2UgYW4uCgpTY2hvZW5lIEdydWVzc2UsCkx1emllCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJ0aWtlbCBNaXRnbGllZGVydmVyc2FtbWx1bmc/IChDYXR3ZWF6bGUsIDI0LiBGZWIgMjAwMywgMTU6MDc6MTMpOgp+IyEgcm49THV6aWUgcnQ9MTA0NTM5NzI1NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA0NTM5NzI1NwpOdW4sIGRhcyBpc3QgLi4uIHVuc2Nob2VuLiAKCkljaCBkZW5rZSBlcyBpc3Qga29tcGxldHRlciBQYXJ0eS1PdmVyaGVhZCwgd2VubiB3aXIgendpc2NoZW4gV2ludGVyYnVyZyB1bmQKU09tbWVycGFydHkgKEJlcmxpbiwgZ2VsbD8pIF9ub2NoXyBlaW5lIFBhcnR5IHNjaGllYmVuLCBkYW1pdCBkZXIgVmVyZWluIHNpY2gKdmVyc2FtbWVsbiBrYW5uLiAKCkRpZSBsZXR6dGUgVlYgd2FyIGphIDIwMDEgaW4gTXVlbnN0ZXIuIFdlbm4gaWNoIG1pY2ggcmVjaHQgZW50c2lubmUgd2FyIGRpZQonV2ludGVycGFydHknIGRhIHNjaG9uIHJlY2h0IHNwYWV0LCBpY2ggZ2xhdWJlIGltIE1haS4gCgpNZWluIFZvcnNjaGxhZyB3YWVyZSBkYWhlciwgZGllIE1HZVYtVlYgYXVmIGRpZSBTb21tZXJwYXJ0eSB6dSB2ZXJsZWdlbiAoZGEKa29tbWVuIGF1Y2ggbWVociBMZXV0ZSkuIERhcyB3dWVyZGUgZWluZSB3ZWl0ZXJlIFZlcnNjaGllYnVuZyB1bSBldHdhIDMgTW9uYXRlCmVyZm9yZGVybi4gCgpGcmFnZTogSXN0IGRhcyBub2NoIGltIE1hc3NlIGRlciAiQWxsZSAyIEphaHJlIi1SZWdlbD8gU29sYW5nZSBrZWluIE1pdGdsaWVkCkVpbnNwcnVjaCBlcmhlYnQsIGRhcyBkaWVzZSBWb3JzdGFuZCBudSAyNyBzdGF0dCAyNCBNb25hdGUgdm9yc3RlaHQsIHNvbGx0ZQpkYXMgZG9jaCBha3R6ZXB0YWJlbCBzZWluLCBvZGVyPyBGcmFnZSBhbiBkaWUgTWl0Z2xpZWRlcjogIkhhZXR0ZSBqZW1hbmQgd2FzCmRhZ2VnZW4iPwoKaWNoIGhhYmUgZGFzIEdlZnVlaGwsIGRhc3MgZGllIEFsdGVybmF0aXZlbiByYXIgc2luZC4gSWNoIHdhZXJlIHp1cgphbGxlcmxldHp0ZW4gTm90IGJlcmVpdCwgZWluIFJhZXVtY2hlbiBpbiBNUyBpbSBNYWkgenUgYmVzb3JnZW4sIHNlaGUgYWJlcgptb21lbnRhbiB3ZWRlciBkZW4gV2lsbGVuIG5vY2ggZGllIE5vdHdlbmRpZ2tlaXQsIGRhIHdpZWRlciBlaW5lIFBhcnR5CmRyYW5oYWVuZ2VuIHp1IHdvbGxlbi4gCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcnRpa2VsIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoTHV6aWUsIDI0LiBGZWIgMjAwMywgMjA6NTA6MDkpOgp+IyEgcm49THV6aWUgcnQ9MTA0NTM5NzAyMiByZz1wYXJ0eQp+IyEgdGlkPTEwNDUzOTcwMjIKRGllIGxldHp0ZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgd2FyIGltIEFwcmlsIDIwMDIgaW4gTXVlbnN0ZXIuICAgKEltIEphaHIKZGF2b3Igd2FycyBpbSBNYWksIGRhcyBpc3QgcmljaHRpZy4pCgpMYXV0IFNhdHp1bmcgbXVzcyBfamVkZXNfIEphaHIgZWluZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgc3RhdHRmaW5kZW4uClZvcnN0YW5kc3dhaGxlbiBmaW5kZW4gamVkb2NoIG51ciBhbGxlIHp3ZWkgSmFocmUgc3RhdHQuIEFsbGVyZGluZ3Mgc3RlaHQgbnVyCmRhLCBkYXNzIHNpZSBfbW9lZ2xpY2hzdF8gaW0gZXJzdGVuIFF1YXJ0YWwgYWJnZWhhbHRlbiB3ZXJkZW4gc29sbHRlLiBJY2ggc2VoCmF1Y2gga2VpbmUgYW5kZXJlIE1vZWdsaWNoa2VpdCBmdWVyIGRpZXNlcyBKYWhyIHVuZCBkZW5rZSwgU29tbWVycGFydHkgaXN0IGluCmRpZXNlbSBGYWxsIGRpZSBiZXN0ZSBMb2VzdW5nLgoKV2VubiBmZXN0c3RlaHQsIHdhbm4gdW5kIHdvIGRpZSBTb21tZXJwYXJ0eSBzZWluIHdpcmQsIHNvbGx0ZW4gZGllIApPcmdhbmlzYXRvcmVuIHNpY2ggZHJpbmdlbiBtaXQgZGVtIFZlcmVpbnN2b3JzdGFuZCBpbiBWZXJiaW5kdW5nIHNldHplbi4KCkdydXNzLApMdXppZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGxhdHRlIGZ1ZXIgTUcgKENhdHdlYXpsZSwgMTIuIE1hciAyMDAzLCAwODozODo1Nyk6CkhhbGxvIGxpZWJlIFZlcmVpbnNtaXRnbGllZGVyIHVuZCAtdm9yc3RlaGVyLgoKQXVmZ3J1bmQgZGVyIGp1ZW5nc3QgZXJrYW5udGVuIFByb2JsZW1hdGlrIGJ6Z2wuIGRlcyBGVFAtUGxhdHRlbnBsYXR6ZXMKbW9lY2h0ZSBpY2ggZXJuZXV0IGRpZSBBbmZyYWdlIG5hY2ggZWluZXIgbmV1ZW4gRmVzdHBsYXR0ZSBmdWVyIGRlbiBNRy1SZWNobmVyCmluIEVyaW5uZXJ1bmcgcnVmZW4uCgpQbGF0dGVua2F1ZiB1bmQgLWVpbmJhdSBpc3QgZXR3YXMsIHdhcyBkZW0gTUcgX2pldHp0XyBkaXZlcnNlIFByb2JsZW1lIG5laG1lbgprb2VubnRlLiBEYXMgd2FlcmUgc2NobmVsbCB1bmQga3VyemZyaXN0aWcgbWFjaGJhciwgdW5kIGRlciBWb3JzdGFuZCBkYXJmIGF1Y2gKYWxsZWluIGRhcnVlYmVyIGVudHNjaGVpZGVuIChrbGVpbmVyIEtvc3RlbmJldHJhZykuCgpBY2h0dW5nIG9mZml6aWVsbGUgQW5mcmFnZToKSWNoIGZpbmRlLCBkYXMgTUcga29lbm50ZSBlaW5lbiBuZXVlbiBSZWNobmVyIHZlcnRhZ2VuLiBCaXR0ZSBtYWNodCBhdWYgZGVyCm5hZWNoc3RlbiBWViBkYWZ1ZXIgZWluZW4gVGFnZXNvcmRudW5nc3B1bmt0OiAnQW50cmFnIHp1bSBLYXVmIGVpbmVzIG5ldWVuClJlY2huZXJzJy4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBsYXR0ZSBmdWVyIE1HIChMaWFyYSwgMTIuIE1hciAyMDAzLCAxOToxMDozMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA0NzQ1NDczNyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA0NzQ1NDczNwpXYXMgaXN0IG1pdCBlaW5lciBVU1Y/IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBsYXR0ZSBmdWVyIE1HIChBaGFiLCAxMi4gTWFyIDIwMDMsIDE5OjE0OjM0KToKfiMhIHJuPUxpYXJhIHJ0PTEwNDc0OTI2MzIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNDc0NTQ3MzcKSG0sIG5vcm1hbCBzY2hvbi4gQWxsZXJkaW5ncyBzY2hlaW5lbiBtaXIgZGllIGJlaSBkZXIgR01EICd1ZWJsaWNoZW4nIFN0cm9tLQphdXNmYWVsbGUgYmlzaGVyIGltbWVyIHNvIGxhbmdlIGdld2VzZW4genUgc2VpbiwgZGFzcyBlaW5lIFVTViBkaWUgZ2VyYWRlCnNvIGViZW4gbmljaHQgbWVociBoYWV0dGUgYWJmYW5nZW4ga29lbm5lbi4gVW5kIGRhbm4gaXN0IGRlciBVbnRlcnNjaGllZAp6d2lzY2hlbiBDcmFzaCB1bmQga29udHJvbGxpZXJ0ZW0gSGVydW50ZXJmYWhyZW4gSU1ITyBuaWNodCBtZWhyIHNvb29vIGdyb3NzLgoKQWhvaSwKQWhhYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQbGF0dGUgZnVlciBNRyAoWm9vaywgMTIuIE1hciAyMDAzLCAxOTozMTo0Mik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA0NzQ1NDczNyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA0NzQ1NDczNwpIYXN0ZSBkYXMgYXVjaCBpbiBLb3BpZSBhbiBkZW4gVmVyZWluc3ZvcnN0YW5kIGdlc2NocmllYmVuLCBkYW1pdCBlcyBhdWNoCnNpY2hlciBiZWkgZGVuZW4gYW5nZWtvbW1lbiBpc3Q/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBsYXR0ZSBmdWVyIE1HIChQaWxncmltLCAxMy4gTWFyIDIwMDMsIDE4OjAzOjQ5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDQ3NDU0NzM3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDQ3NDU0NzM3CgpXYXMgaGFtbWEgZGVubiB6LlouIGFscyBSZWNobmVyPwoKUGlsZ3JpbQoKUFM6IE5lJyBuZXVlIFBsYXR0ZSAgaXN0IGd1dCB1bmQgcHJlaXN3ZXJ0LCBhYmVyIG5lbiBSZWNobmVyPyBEYSB3ZXVyZCBuaWNoCm1hbApkaWUgKENQVS0pIEF1c2xhc3R1bmcgKHVzdykgaW50ZXJlc3NpZXJlbi4KUFBTOiBTbywgaWNoIGZhaHIgbWlyIGpldHp0IG5lIEFNRCBYUCsgMTgwMCBDUFUgaG9sZW4sIGRhbWl0IGljaCBzY2huZWxsZXIgaW0KaW50ZXJuZXQgc3VyZmVuIGthbm4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBsYXR0ZSBmdWVyIE1HIChWYW5pb24sIDEzLiBNYXIgMjAwMywgMTg6Mjk6MDApOgp+IyEgcm49UGlsZ3JpbSBydD0xMDQ3NTc1MDI5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDQ3NDU0NzM3CjEuKSBoaWxmZSBtdWRyZWNobmVyIChpY2ggZ2ViIHp1LCBpY2ggbXVzc3RlIGF1Y2ggZXJzdCB1ZWJlcmxlZ2VuLCB3aWUgZGllCiAgICAgICAgICAgICAgICAgICAgICBIaWxmZXNlaXRlIGhpZXNzKQoKMi4pIFp1IERlaW5lbSBQUzoKCkRlciBSZWNobmVyIGlzdCBiZWkgbm9ybWFsZXIgQXVzbGFzdHVuZyBiZWkgY2EgMzAlIENQVS1MYXN0IHVuZCBicmF1Y2h0IGltCk1vbWVudCBjYSAzMCUgZGVzIEhhdXB0c3BlaWNoZXJzICh3b2JlaSB3aXIgZ3JhZCBlcnN0IGdlYm9vdGV0IGhhYmVuLikgRGFzClByb2JsZW0sIGRhcyB3aXIgaGF1cHRzYWVjaGxpY2ggaGFiZW4sIHNpbmQgZGllIFplaXRlbiwgd28gU3BpdHplbmxhc3QKYXVmdGF1Y2h0LiAKClNwaXR6ZW5sYXN0IHdpcmQgenVtIEJlaXNwaWVsIGJlaSBSZXNldC1CbG9lY2tlbiBvZGVyIGJlaSB1bnNhdWJlcmVyClByb2dyYW1taWVydW5nIGVyemV1Z3QuIEljaCBnZWJlIHp1LCBkYXNzIG1hbiBkaWVzZXMgUHJvYmxlbSBhdWNoIGR1cmNoCnNhdWJlcmUgUHJvZ3JhbW1pZXJ1bmcgbG9lc2VuIGthbm4gKCopLiBEYSB3aXIgYWJlciBlaW4gTXVkIHNpbmQsIHdvIGplZGVyCnNlaW5lbiBUZWlsIGJlaXRyYWdlbiBkYXJmICh1bmQgZGFzIGlzdCBzZWhyIGd1dCBzbyksIGtvZW5uZW4gd2lyIG5pY2h0IGltbWVyCmRhdm9uIGF1c2dlaGVuLCBkYXNzIGFsbGUgTWFnaWVyIGRpZSBDb2Rlb3B0aW1pZXJlciBzY2hsZWNodGhpbiBzaW5kLiBEYWhlcgptdWVzc2VuIHdpciBpbW1lciBkYW1pdCByZWNobmVuLCBkYXNzIGVpbiBTdHVlY2sgQ29kZSBtYWwgbWVociBSZWNoZW56ZWl0CmZyaXNzdCwgYWxzIHVlYmxpY2guIFVuZCBlcyBpc3QgbmljaHQgd2lya2xpY2ggZWluZmFjaCwgc28gZWluIFN0dWVjayBDb2RlCmRhbm4genUgZmluZGVuLgoKQXVzc2VyZGVtIHdpcmQgU3BpdHplbmxhc3Qgdm9uIGV4dGVybmVuIFByb3plc3NlbiBlcnpldWd0LiBEYXMgdGFlZ2xpY2hlCkJhY2t1cCBkYXVlcnQgenVyIFplaXQgdm9uIG1vcmdlbnMgdW0gNjozMCBiaXMgY2EgODowMCBVaHIuIERpZSBMZXV0ZSBkaWUgenUKZGVyIFplaXQgd2FjaCBzaW5kLCB3aXNzZW4gd292b24gaWNoIHJlZGUuIEVpbiBmaWVzZXMgSGludGVyZ3J1bmRsYWcuIEJlaQpkaWVzZW0gTGFnIGthbm4gbWFuIG5pY2h0IG1laHIgdmllbCBtYWNoZW4uIFRpYW1hayBoYXQgc2VpbmVyemVpdCBzY2hvbiBzZWhyCnZpZWwgYW4gZGVyIGNyb250YWIgb3B0aW1pZXJ0LiBBYmVyIGlyZ2VuZHdhbm4gaXMgU2NobHVzcy4KCkljaCBnZWJlIHp1LCBkYXNzIG1pdCBkZXIgZW50c3ByZWNoZW5kZW4gQW56YWhsIGFuIE1hZ2llcm4sIGRpZSBzaWNoIG1pdApDb2Rlb3B0aW1pZXJ1bmcgYXVza2VubmVuLCB3aXIgZGVuIFJlY2huZXIgbWl0IGRpZXNlciBSZWNoZW5sZWlzdHVuZyBub2NoCmxhZW5nZXJlIFplaXQgYmVudXR6ZW4ga29lbm50ZW4sIHVuZCBkYXMgZGEgbm9jaCB2aWVsZSBSZXNlcnZlbiBoYWJlbi4gQWJlcgptaXQgamVkZXIgT3B0aW1pZXJ1bmcgc3RlaWd0IGRlciBBdWZ3YW5kLCB1bSBub2NoIHdhcyByYXVzenVraXR6ZWxuIHVuZCB3aXIKaGFiZW4gZWluZmFjaCBkYXMgUGVyc29uYWwgbmljaHQgKHdlaWEsIGljaCBrbGluZ2Ugd2llIG1laW4gUHJvamVrdGxlaXRlcikuCgpEYWhlciBiaW4gaWNoIGR1cmNoYXVzIGRlciBNZWludW5nLCBkYXNzIHdpciBkYXMgR2VsZCBmdWVyIGVpbmVuIG5ldWVuIFJlY2huZXIKaW52ZXN0aWVyZW4gc29sbHRlbi4gRXMgbG9obnQgc2ljaC4gVW5kIG1pdCBlaW5lbSBBTUQgWFAgMTgwMCsgKGV0enQgbWFsIGFscwpCZWlzcGllbCkgaGFldHRlbiB3aXIgd2llZGVyIGRpZSBuYWVjaHN0ZW4gNSBKYWhyZSBSdWhlLgoKKCopIFdlbm4gaWNoIGRhcyBuaWNodCBlcndhZWhudCBoYWV0dGUsIGhhZXR0ZSBkYXMgdmVybXV0bGljaCBBbmF0b2wgZ2V0YW4gOikKClYqLCBwcm8gbmV1ZXIgUmVjaG5lci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBsYXR0ZSBmdWVyIE1HIChBbmF0b2wsIDEzLiBNYXIgMjAwMywgMTg6Mzc6NTUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNDc1NzY1NDAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNDc0NTQ3MzcKQm9lc3dpbGxpZ2UgVW50ZXJzdGVsbHVuZy4gS2xhciBrYW5uIG1hbiBkYXMgZHVyY2ggc2F1YmVyZSBQcm9ncmFtbWllcnVuZwpsb2VzZW4sIGFiZXIgaGllciBzaW5kIGphIG5pY2h0IG51ciBNYWdpZXIgYW0gV2VyaywgZGllIHNvIHNpbmQgd2llIHNpY2gKUGFkcmVpYyBzYWguIER1IGhhc3QgZGllc2JlenVlZ2xpY2ggYWxzbyAxMDAlIHJlY2h0IC0gdW5kIGFscyBNdWRsaWItRU0KbmF0dWVybGljaCBhdWNoIGRlbiBzY2h3YXJ6ZW4gUGV0ZXIsIHdlaWwgRHUgaGludGVyIGRlbiBncm9lYnN0ZW4gUGF0emVybgphdWZ3aXNjaGVuIGRhcmZzdC4gSWNoIGVyaW5uZXJlIG1pY2ggbWl0IFZlcmdudWVnZW4gYW4gU2VtbWVsLi4uIDspCgpBbnl3YXkuIEVpbiBuZXVlciBSZWNobmVyIHdhZXJlIGVpbmUgQXVzZ2FiZSwgZGllIHVlYmVyIGRlbiBSYWhtZW4gZGVzc2VuLAp3YXMgZGVyIFZvcnN0YW5kIG9obmUgUnVlY2tzcHJhY2hlIGF1c2dlYmVuIGRhcmYsIGhpbmF1c2dlaHQgLSBvZGVyIGdlaGUKaWNoIGRhIHNlaHIgZmVobD8gTWVociBhbHMgZWluIFRhZ2Vzb3JkbnVuZ3NwdW5rdCBhdWYgZGVyIG5hZWNoc3RlbiBTaXR6dW5nCmdpYnQgZXMgZGEgd29obCBuaWNodC4KClVuZCB3YXMgc29sbHMuLi4gZGVyIFZvcnN0YW5kIGlzdCBkZXJ6ZWl0IHNlaHIgYWJnZWxlbmt0IHVuZCBrb21tdCBqYSAKbmljaHRtYWwgbWl0IGRlbiBEaW5nZW4genUgUmFuZGUsIGRpZSBiZXJlaXRzIGFiZ2VzZWduZXQgc2luZC4gOi1QCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBsYXR0ZSBmdWVyIE1HIChWYW5pb24sIDEzLiBNYXIgMjAwMywgMTg6NDQ6MTIpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNDc1NzcwNzUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNDc0NTQ3MzcKSHVjaCwgIkJvZXN3aWxsaWdlIFVudGVyc3RlbGx1bmciPyBEYW5uIHdhcnN0IGVzIG5pY2h0IER1LCBkZXIgZGFzIG1hbCBnZXNhZ3QKaGF0PyBIbW0sIGljaCB3ZXJkZSBhbHQuIAoKTmVpbiBlcm5zdGhhZnQsIHdhciBuaWNodCBib2VzIGdlbWVpbnQuIEljaCBoYWIgbWljaCBkYSB3b2hsIHZlcnRhbi4KCkluIGRlbSBadXNhbW1lbmhhbmcgaXN0IGRlciBUYWdlc29yZG51bmdzcHVua3QgYXVjaCBvay4gSWNoIHdvbGx0ZSBtaXQgZGllc2VtCkFydGlrZWwgYXVjaCBudXIgZWluIHBhYXIgSW5mb3Mgc3RyZXVlbiwgZGFtaXQgbWFuIHNpY2ggZXR3YSBlaW5lIFZvcnN0ZWxsdW5nCm1hY2hlbiBrYW5uLCB3byBkYXMgUHJvYmxlbSBsaWVndC4gU28ga2FubiBqZWRlciBiaXMgenVyIFZlcnNhbW1sdW5nIChhbHNvCmVpbmUgZ2FuemUgV2VpbGUpIGluIHNpY2ggZ2VoZW4gdW5kIGRhcnVlYmVyIG1lZGl0aWVyZW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGxhdHRlIGZ1ZXIgTUcgKENhdHdlYXpsZSwgMTQuIE1hciAyMDAzLCAwODoyMjo1OCk6Cn4jISBybj1WYW5pb24gcnQ9MTA0NzU3NzQ1MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA0NzQ1NDczNwpXaWUgVmFuaW9uIGJlcmVpdHMgc2FndGUsIHNpbmQgZGFzIFByb2JsZW0gTGFzdHNwaXR6ZW4gdW5kIHZvciBhbGxlbSBleHRlcm5lClByb3plc3NlIChpcGFjc3VtPyA6LSkuIERpZSBkcnVlY2tlbiB6d2FyIG1laXN0IHZvciBhbGxlbSBhdWZzIFBsYXR0ZW4tSS9PLAphYmVyIGF1Y2ggZGEgZ2lidHMgYmVpIG1vZGVybmVuIFJlY2huZXJuIGRldXRsaWNoZSBWZXJiZXNzZXJ1bmdlbiBpbQpETUEtQmVyZWljaCB6dSB2ZXJ6ZWljaG5lbiwgZGllIHVucyB6dXNhZXR6bGljaCB3ZWl0ZXJoZWxmZW4gd3VlcmRlbi4gCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1nMi5tdWQuZGU/IChCb2luZywgMjMuIEFwciAyMDAzLCAwOTo1OTo1Nyk6CkhpLApzb2xsdGUgbmljaHQgYXVmIHVuc2VyZW0gendlaXRlbiBSZWNobmVyIGVpbiByZWxheSBhdWYgUG9ydCA4MCBsYXVmZW4sCmRhcyBpbiBkYXMgZWNodGUgTXVkIHZlcmJpbmRldD8gSWNoIHByb2JpZXIgZGFzIGltbWVyIHdpZWRlciBtYWwsIGFiZXIKZXMgaGF0IG5vY2ggbmllIGZ1bmt0aW9uaWVydC4gS29lbm50ZSBzaWNoIGRhIG1hbCBqZW1hbmQgZHJ1bSBrdWVtbWVybj8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1nMi5tdWQuZGU/IChCb2luZywgMjMuIEFwciAyMDAzLCAxMzowMDo0NSk6Cn4jISBybj1Cb2luZyBydD0xMDUxMDg0Nzk3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDUxMDg0Nzk3Ck9rLCBhbmdlYmxpY2ggZnVua3Rpb25pZXJ0IGVzIGJlaSBhbmRlcmVuIHVuZCBlcyBsaWVndCB3b2hsIGFuCnVuc2VyZXIgRmlyZXdhbGwgaGllciAuLi4gaWNoIG5laG1lIGFsbGVzIHp1cnVlY2sgOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtZzIubXVkLmRlPyAoQ2F0d2VhemxlLCAyMy4gQXByIDIwMDMsIDIyOjI3OjI5KToKfiMhIHJuPUJvaW5nIHJ0PTEwNTEwOTU2NDUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKQXByb3BvcyBGaXJld2FsbC4gV2FzIHdhciBqZXR6dCBtaXIgZGVyIEZlc3RwbGF0dGU/IAoKWVRDIC4gbyBPICguLi5pY2gga2F1ZiBtaXIgd2FzLCBrYXVmZW4gbWFjaHQgc292aWVsIFNwYXNzIC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG1nMi5tdWQuZGU/IChCb2luZywgMjMuIEFwciAyMDAzLCAyMjozMjozMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA1MTEyOTY0OSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1MTA4NDc5NwpMaWVzdCB1ZWJlcmhhdXB0IGplbWFuZCB2b20gVm9yc3RhbmQgbWl0PyAKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbWcyLm11ZC5kZT8gKENhdHdlYXpsZSwgMjQuIEFwciAyMDAzLCAxNDo0Njo1Nik6Cn4jISBybj1Cb2luZyBydD0xMDUxMTI5OTUyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDUxMDg0Nzk3CkljaCBoYWJlIFp3ZWlmZWwuCkJvbnVzZnJhZ2U6IEdpYnRzIFZvcnRyYWVnZSBhdWYgZGVtIFNvbW1lcmZlc3Q/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IG1nMi5tdWQuZGU/IChNYW5kcmFnb24sIDI0LiBBcHIgMjAwMywgMTU6NTE6NDQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNTExODg0MTYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKV2VubiBpY2ggZGEgYmluLCBoYWx0ZSBpY2ggZWluZW4gLi4uIHVlYmVyICdnZXNjaGlja3RlcyBQcm9ncmFtbWllcmVuJyAuLi4gCk1hZ2llciBvbmx5LgoKTWEqIChob2ZmdCwgZXMgc3BhcnQgaWhtIERlYnVnYXJiZWl0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogbWcyLm11ZC5kZT8gKEd1YXJkLCAyNC4gQXByIDIwMDMsIDE1OjU0OjE0KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDUxMTkyMzA0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDUxMDg0Nzk3CmFsc28gd2VubiBkaWVzZXMgYW5nZWJvdCBlcm5zdCBnZW1laW50IGlzdCwgYml0dGUgYW4gZ25vbWUgd2VuZGVuIDotKSB3aXIKaGFiZW4gbmF0dWVybGljaCBkaWUgbW9lZ2xpY2hrZWl0LCB2b3J0cmFlZ2UgYXVmIGRlciBzb21tZXJwYXJ0eSB6dSBoYWx0ZW4sCmdlbmF1c28sIHdpZSBlcyBlaW5lIHZlcmVpbnNzaXR6dW5nIGdlYmVuIHdpcmQKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBtZzIubXVkLmRlPyAoQW5hdG9sLCAyOC4gQXByIDIwMDMsIDAxOjQ1OjM0KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDUxMTkyMzA0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDUxMDg0Nzk3CkVudHdlZGVyIGludGVycHJldGllcmUgaWNoIGRhcyAiTWFnaWVyIG9ubHkiIGZhbHNjaCBvZGVyIGljaCB2ZXJzdGVoZQpuaWNodCBnYW56LCB3aWVzbyBlaW4gVm9ydHJhZyB1ZWJlciAnZ2VzY2hpY2t0ZXMgUHJvZ3JhbW1pZXJlbicgbmljaHQKdm9yIChJbnRlcnByZXRhdGlvbjopIE5pY2h0LU1vcmdlbmdyYXVlbi1NYWdpZXJuIGdlaGFsdGVuIHdlcmRlbiBkYXJmLgoKQW5hdG9sIC0gTmljaHQtTW9yZ2VuZ3JhdWVuLU1hZ2llcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IG1nMi5tdWQuZGU/IChNYW5kcmFnb24sIDI4LiBBcHIgMjAwMywgMDE6NTI6NTUpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNTE0ODcxMzQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKCkljaCBoYWJlIGRhbWFscyBpbiBNdWVuc3RlciAoOTk/KSBkaWUgVm9ydHJhZWdlIHZvbiBTaWx2YW5hIHVuZCBQYXRyeW4gbWl0Z2UtCmtyaWVndCwgZGllIHVudGVyIGRlbSBIaW53ZWlzLCBkYXNzIGRpZSB2aWVsZW4gKGVzIHdhcmVuIGZhc3QgYWxsZSBQYXJ0eWdhZXN0ZQppbSBSYXVtKSBTcGllbGVyIHNvbnN0IG5pY2h0cyB2ZXJzdGVoZW4gd3VlcmRlbiwgbnVyIGFuIGRlciBPYmVyZmxhZWNoZSBnZS0Ka3JhdHp0IGhhYmVuLgoKV2VubiBpY2ggZWluZW4gVm9ydHJhZyBoYWx0ZSwgZGFubiBtb2VjaHRlIGljaCBkb2NoIGJpdHRlIG51ciB1bmQgYXVzc2NobGllc3MtCmxpY2ggWmllbHB1Ymxpa3VtIHZvciBtaXIgaGFiZW4uIEljaCBmaW5kZSBlcyBpbiBVbml2b3JsZXN1bmdlbiAoZGllIGljaCBnZS0KbGVnZW50bGljaCBoYWx0ZSkgbmVydmlnIGdlbnVnLCB3ZW5uIExldXRlIGRyaW4gc2l0emVuLCBkaWUgbnVyIGRhIHNpbmQsIHdlaWwKc2llIG5pY2h0cyBiZXNzZXJlcyB6dSB0dW4gaGFiZW4gYWJlciBlaWdlbnRsaWNoIGtlaW5lIEx1c3QgYnp3LiB2b2VsbGlnIHVuLQp2b3JiZXJlaXRldCAoYnp3LiB1bmJlZGFyZnQpIGRhIHNpdHplbi4KCkRhcyBzY2hsaWVzc3QgendhciB2b20gUHJpbnppcCBoZXIgTWFnaWVyIGFuZGVyZXIgTXVkcyBuaWNodCBhdXMuIEFiZXIgd2VubgptYW4gamVkZW4gcmVpbmxhZXNzdCwgZGFubiBmdWVocnQgZGFzIGltIEVuZGVmZmVrdCB3YWhyc2NoZWlubGljaCB3aWVkZXIgZGF6dSwKZGFzcyBlaW5mYWNoIGFsbGUga29tbWVuLgoKTWEqLCBtb2VjaHRlIGRvY2ggd2VubiwgZGFubiBlaW5lbiBzaW5udm9sbGVuIFZvcnRyYWcgbWl0IFRpZWZnYW5nIGhhbHRlbiwgZGVyCmtlaW5lbiBsYW5nd2VpbHQgdW5kIChtb2VnbGljaHN0KSBrZWluZW4gdWViZXJmb3JkZXJ0LgpvZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG1nMi5tdWQuZGU/IChHcmltbWJvcm4sIDI4LiBBcHIgMjAwMywgMDE6NTQ6NTApOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwNTE0ODc1NzUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKVGphLCB3ZW5uIER1IG1pY2ggc28gYml0dGVzdCB1bmQgaWNoIG9mZmVuc2ljaHRsaWNoIERlaW4gWmllbHB1Ymxpa3VtIGJpbgp3ZXJkZSBpY2ggRGlyIGhhbHQgZG9jaCBkZW4gR2VmYWxsZW4gdHVuIHp1IGVyc2NoZWluZW4uIEljaCBuZWhtZSBhbiBEdSBoYXN0Cm5pY2h0cyBkYWdlZ2VuIHdlbm4gaWNoIGhpbiB1bmQgd2llZGVyIGVpbmUgWndpc2NoZW5mcmFnZSBzdGVsbGUgd2VubiBpY2ggd2FzCm5pY2h0IHZlcnN0ZWhlbiBzb2xsdGU/CgpHZEFbZXgtUl0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG1nMi5tdWQuZGU/IChBbmF0b2wsIDI4LiBBcHIgMjAwMywgMDE6NTc6MjgpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwNTE0ODc1NzUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKCkRhbm4gaGFlbmcnIGRvY2ggZGFzIFNjaGlsZGNoZW4gIlppZWxncnVwcGU6IEludGVyZXNzaWVydGUgTWFnaWVyIiBhbiAKRGVpbmVuIFZvcnRyYWcuIFNvIGR1ZXJmZW4gYXVjaCBkaWUga29tbWVuLCBkaWUgaW0gTUcga2VpbmVuIE1hZ2llciAKKGRpZSBMZXV0ZSBnaWJ0IGVzIG5vY2ggaW1tZXIpIGFiZXIgSW50ZXJlc3NlIGhhYmVuLCBhbmRlcmVyc2VpdHMgbWFjaHN0CkR1IGtsYXIsIGRhc3MgRHUgYXVmIEtsZWlua2luZGVyLCBkaWUgZGFzIFtTXSBhYmdhYmVuLCB3ZWlsIHNpZSB6dSBkb29mCmRhZnVlciB3YXJlbiwgYXVjaCBnZXJuZSB2ZXJ6aWNodGVzdC4gOikKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogbWcyLm11ZC5kZT8gKEFyaywgMjguIEFwciAyMDAzLCAxMTozNzoxNSk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTA1MTQ4NzU3NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1MTA4NDc5NwpQcm8gT2VmZm51bmcuIFNpdHplbiBzaWNoZXIgYXVjaCB1bnRlciBkZW4gU3BpZWxlcm4ga2VpbmUgIkFuZmFlbmdlciIsIHVuZCBkaWUKdWViZXJsZWdlbiBzaWNoIHZpZWxsZWljaHQsIHNlbGJzdCB3YXMgenUgbWFjaGVuLiBBbHNvLCBiaWRkZSBrZWluZW4gIkNsb3NlZApTaG9wIiwgc29uZGVybiBPZWZmbnVuZyA6LSkKT2RlciB0cmF1c3QgRHUgRGlyIG5pY2h0IHp1LCB2b3IgdmllbGVuIExldXRlbiB6dSByZWRlbj8gKmhhcmhhcioKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBtZzIubXVkLmRlPyAoWm9vaywgMjguIEFwciAyMDAzLCAxMTo0MDo1MSk6Cn4jISBybj1BcmsgcnQ9MTA1MTUyMjYzNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1MTA4NDc5NwpBT0wsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogbWcyLm11ZC5kZT8gKE1hbmRyYWdvbiwgMjguIEFwciAyMDAzLCAxMTo0NDoxMyk6Cn4jISBybj1ab29rIHJ0PTEwNTE1MjI4NTEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKSWNoIHNlaGUgc2Nob24uIERhcyBUaGVtYSB3YXIgb2huZWhpbiB2b2VsbGlnIGh5cG90aGV0aXNjaCB1bnRlciBkZXIgVm9yYXVzLQpzZXR6dW5nLCBkYXNzIGljaCBrb21tZS4gRGEgaWNoIGtlaW5lIEx1c3QgaGFiZSwgbWljaCBhbiBkaWVzZXIgU3RlbGxlIG5vY2gKbGFlbmdlciB6dSByZWNodGZlcnRpZ2VuLCB6aWVoZSBpY2ggZGllIEFua3VlbmRpZ3VuZyBiaXMgYXVmIHdlaXRlcmVzIHp1cnVlY2suCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBtZzIubXVkLmRlPyAoQm9pbmcsICAyLiBNYWkgMjAwMywgMTA6MDE6MTEpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwNTE1MjMwNTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKV28gaXN0IGRhcyBQcm9ibGVtPyBEdSBrZW5uemVpY2huZXN0IGRlbiBWb3J0cmFnIGFscyAnbml4IGZ1ZXIgTFBDIEFuZmFlbmdlcicKdW5kIGJ1ZWdlbHN0IGVpbmZhY2hlIEFuZnJhZ2UgZGFtaXQgYWIgLi4uIHdlciB0cm90emRlbSBrb21tdCwgbXVzcyBoYWx0CmRhbWl0IHJlY2huZW4gZGFzcyBlciBUZWlsZSBuaWNodCB2ZXJzdGVodC4gSW0gUHJpbnppcCBzaW5kIGFiZXIgZGllClZvcnRyYWVnZSBkZXMgTUcgZS5WLiBpbW1lciBvZmZlbiBmdWVyIGFsbGUuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBtZzIubXVkLmRlPyAoUGF0cnluLCAgMi4gTWFpIDIwMDMsIDExOjUyOjE5KToKfiMhIHJuPUJvaW5nIHJ0PTEwNTE4NjI0NzEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKTmEgamEsIGVzIGlzdCBzY2hvbiBuaWNodCBiZXNvbmRlciBzY2hvZW4sIHdlbm4gbWFuIHJlY2h0IHp1ZWdpZyBtZXJrdCwKZGFzcyBhbmZhbmdzIHVlYmVybW90aXZpZXJ0ZSBWb3J0cmFnc2xhdXNjaGVyIGdhbnogc2NobmVsbCBpbiB1bmdlenVlZ2VsdGUKTGFuZ2V3ZWlsZSB3ZWdlbiBOaWNodHZlcnN0ZWhlbnMgdmVyZmFsbGVuLgpUcm90emRlbSBzdGFuZGVuIGRpZSBWb3J0cmFlZ2UgaW1tZXIgamVkZW0gb2ZmZW4sIHdhcnVtIHNvbGx0ZSBtYW4gZGEKamVtYW5kZW4gYXVzc2NobGllc3Nlbj8gTGV0enRsaWNoIHd1cmRlbiBhbGxlIGltbWVyIHZvcmdld2FybnQgdW5kIGVzIHdpcmQKbnVyIGVyd2FydGV0LCBkYXNzIHNpZSBlcyBkYW5uIGF1Y2ggdGFwZmVyIHVuZCBydWhpZyBlcnRyYWdlbi4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpZXIgbWVsZGV0IHNpY2ggbWFsIGplbWFuZCB2b20gVm9yc3RhbmQgLi4uIChMdXppZSwgIDYuIE1haSAyMDAzLCAxMDozMTozMSk6Cn4jISBybj1ab29rIHJ0PTEwNDc0OTM5MDIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNDc0NTQ3MzcKSGFsbG8genVzYW1tZW4sCgpIaWVyIG1lbGRldCBzaWNoIG1hbCBqZW1hbmQgdm9tIFZvcnN0YW5kLCBhYmVyCnNjaGxpZXNzbGljaCBrYW5uIGljaCBqYSBudXIgZnVlciBtaWNoIHNlbGJzdCBzcHJlY2hlbi4KCkljaCB3b2xsdGUgbnVyIG1hbCBiZXNjaGVpZCBzYWdlbiwgZGFzcyBpY2ggaGllcgphYiB1bmQgenUgbWFsIHJlaW5ndWNrZS4gWnUgZGVuIFRoZW1lbiBuZXVlIEZlc3RwbGF0dGUvCm5ldWVyIFJlY2huZXIga2FubiBpY2ggaGFsdCBhYnNvbHV0IG5peCBzYWdlbi4KQXVzc2VyOiBEYXMgR2VsZCBkYWZ1ZXIgaXN0IHZvcmhhbmVuLgoKRWluZSBuZXVlIEZlc3RwbGF0dGUgd2FyIHNjaG9uIF9sYWVuZ3N0XyBiZXNjaGxvc3NlbgpFcyBtdWVzc3RlIHNpY2ggaGFsdCBqZW1hbmQgZmluZGVuLCBkZXIgc2ljaCBkYW5uIGF1Y2ggCmRydW0ga3VlbW1lcnQuIEljaCB3ZWlzcyBqYSBuaWNodG1hbCwgd2VuIGljaCBkaWVzLQpiZXp1ZWdsaWNoIGFuc3ByZWNoZW4ga29lbm50ZSwgd2VyIHNpY2ggZGFtaXQgYXVza2VubnQsCndlciBkYXMgZGFubiBtYWNoZW4ga2Fubi4KTWFuY2hlIGhpZXIgaW0gTVVEIGtlbm5lbiBzaWNoIHVudGVyZWluYW5kZXIgYmVzc2VyIC4uLgoKRGFzIFRoZW1hIG5ldWVyIFJlY2huZXIgbXVzcyBhdWYgamVkZW4gRmFsbCBhdWYgZGllClRhZ2Vzb3JkbnVuZyBkZXIgZGllc2phZWhyaWdlbiBWZXJzYW1tbHVuZy4KClNpY2hlciwgbWFuIGhvZXJ0IHZvbSBWb3JzdGFuZCBuaWNodCB2aWVsLiBJY2ggZ2ViZSB6dSwgCmRhc3MgaWNoIHplaXR3ZWlzZSBhdWNoIG1pdCBtZWluZW4gZWlnZW5lbiBBdWZnYWJlbiBhbHMKS2Fzc2VuZnVlaHJlcmluIGhpbnRlcmhlcmhpbmtlLiBBYmVyIGVzIGxpZWd0IG5pY2h0IApfbnVyXyBhbSBWb3JzdGFuZCwgZGFzcyBuaWNodCB2aWVsIHBhc3NpZXJ0LgpFcyBoYWJlbiBzaWNoIGF1ZiBkZXIgVmVyc2FtbWx1bmcgMjAwMiBlaW4gcGFhciBMZXV0ZQpiZXJlaXQgZXJrbGFlcnQsIGF1Y2ggd2FzIHp1IG1hY2hlbiwgdm9uIGRlbmVuIGhvZXJ0Cm1hbiBhdWNoIG5pY2h0cy4KClNjaG9lbmUgR3J1ZXNzZSwKRXVyZSBMdXppZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogbWcyLm11ZC5kZT8gKE11YWRkaWIsIDE1LiBNYWkgMjAwMywgMDE6MzU6MDcpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwNTE0ODc1NzUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTEwODQ3OTcKRGFzIFByb2JsZW0ga2FubiBpY2ggbmljaHQgbmFjaHZvbGx6aWVoZW4uIFdlciBpbiBlaW5lciBWb3JsZXN1bmcKdW52b3JiZXJlaXRldCBzaXR6dCwgaXN0IHNlbGJlciBzY2h1bGQuIERpdG8gbWl0IHNvbnN0aWdlbiBWb3J0cmFlZ2VuLiBXZW5uCnNpY2ggaXJnZW5kd2VyIGluIGVpbmVuIFZvcnRyYWcgc2V0emVuIHdpbGwsIHdlaWwgZXIgdm9yYmVyZWl0ZXQgb2RlcgppbnRlcmVzc2llcnRbMV0gaXN0LCBkYW5uIHNjaG1laXNzdCBEdSBpaG4gcmF1cywgd2VpbCBlci9zaWUvZXMgZGFzIGZhbHNjaGUKTGFiZWwgYW5oYXQ/CgpbMV0gc29sbHMgYXVjaCBiZWkgbmljaHQtbWctbWFnaWVybiBnZWJlbi4KCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBIYXJkd2FyZSAoTXVhZGliLCAyOC4gTWFpIDIwMDMsIDExOjA3OjExKToKSGksCgp3aWUgZWluaWdlIHZpZWxsZWljaHQgd2lzc2VuIGthZW1wZnQgZGFzIE1HIGVpbmVuIEtyaWVnIGdlZ2VuIGRhcyBMYWcuCkR1cmNoYXVzIGVybnN0enVuZWhtZW5kZSBHZWduZXIgc2luZCBkYWJlaSBlaW5lIGxhbmdzYW1lIFBsYXR0ZSwgZ2VmdWVsbHRlcgpTcGVpY2hlciB1bmQgYWIgdW5kIHp1IGVpbmUgUHJvemVzc2xhc3RzcGl0emUuCgpEaWVzIGtvZW5udGUgbWFuIGR1cmNoIGVpbmVuIG5ldWVuIFJlY2huZXIgenUgZWluZW0gVGVpbCBiZWhlYmVuLgpEZXIgbW9tZW50YW5lIFByb3plc3NvciBpc3QgaW0gU2Nobml0dCBiZWkgNjIlIElkbGV0aW1lLiBFcyBoYW5kZWx0IHNpY2ggdW0KZWluZW4gNDAwZXIgUGVudGl1bSBJSS4KCkRhbWl0IG1hbiB3ZWlzcyB3b3J1ZWJlciBtYW4gcmVkZXQgaGFiZSBpY2ggbWFsIGVpbmUga2xlaW5lIEF1Zmxpc3R1bmcgdm9uCm1vZWdsaWNoZW4gS29tcG9uZW50ZW4gZnVlciBlaW4gbmV1ZXMgU3lzdGVtIGFuZ2VmZXJ0aWd0LiBEaWVzZSBMaXN0ZSBpc3Qgdm9tCktvc3RlbnB1bmt0IGhlciBuaWVkcmlnIGdlZ3JpZmZlbiB1bmQgbnVyIGVpbmUgT3JpZW50aWVydW5nLiBJY2ggYmluIGtlaW4KSGFyZHdhcmVzcGV6aWFsaXN0IGFsc28gaGVyIG1pdCBiZXNzZXJlbiBWb3JzY2hsYWVnZW4uIAoKSWNoIHNjaGxhZ2Ugdm9yIGZ1ZXIgZGllIFZlcnNhbW1sdW5nIGluIEJlcmxpbiBkZW4gUHVua3QgbmV1ZXIgUmVjaG5lcgphdWZ6dW5laG1lbi4KCk51biBzb2xsdGUgbWFuIG5vY2ggZWluZW4gR2VkYW5rZW4gYW4gZGllIFNpY2hlcnVuZyB2ZXJzY2h3ZW5kZW4uIE1vbWVudGFuCndpcmQgdWViZXIgS2lyayBnZXNpY2hlcnQuIFZpZWxsZWljaHQgc29sbHRlIG1hbiBlaW5lbiB6d2VpdGVuIFNpY2hlcnVuZ3NwdW5rdAplbnR3ZXJmZW4sIGRlciBpbiBob2VoZXJlbiBaZWl0YWJzdGFlbmRlbiwgemIgMiB3b2VjaGVudGxpY2ggc2ljaGVydC4gRGF6dQpzb2xsdGUgZWluIFNpY2hlcnVuZ3NnZXJhZXQgdm9yaGFuZGVuIHNlaW4uCkhpZXIgc29sbHRlIG1hbiBuaWNodCB1ZWJlcm1hZXNzaWcgbWl0IEdlbGQgcnVtd2VyZmVuLiBCZWkgZGVuIE1lZGllbnByZWlzZW4KZW1wZmllaGx0IHNpY2ggc29nYXIgZWluIERWRC1SVy4KCkVpbiBWb3JzY2hsYWc6Ck5FQyBORC0xMzAwIChEVkQrUlcvK1IgJiBEVkQtUlcvLVIpICAgICAgICAgICAgICAgICAgICAgMzM0LDAwIEV1cm8KCk5hIGRhcyB3YXJzIGF1Y2ggc2Nob24KTXVhZGliCgoKCk51biBkaWUgTGlzdGUuIERpZSBQcmVpc2Ugc2luZCB2b24gS01FbGVrdHJvbmlrIHVuZCBudXIgZWluZSBSaWNodHNjaG51ci4KClByb3plc3NvcjoKSGllciBtdXNzIG1hbiBzaWNoIGVudHNjaGVpZGVuIG9iIG1hbiBlaW5lbiBQcm96ZXNzb3IgbWl0IHZpZWxlbiBNSHogb2RlcgpuaWNodCBoYWJlbiBtb2VjaHRlLiBJY2ggd3VlcmRlIEFNRCB2b3JzY2hsYWdlbi4gRGFtaXQgc29sbHRlIG1hbiBiZWkgdmllbGVuCk1IeiBlaW5lbiBuZXVlcmVuIEJhcnRvbiBLZXJuIGF1ZmdydW5kIGRlciBMZWlzdHVuZ3NhdWZuYWhtZSB1bmQgTGFuZ2xlYmlna2VpdApuZWhtZW4gdW5kIG51ciBiZWkgbmllZHJpZ2VyZW4gVGFrdCBhdWYgZWluZW4gVGhvcm91Z2hicmVkIHp1cnVlY2tncmVpZmVuLiBadQpJbnRlbHByb3plc3NvcmVuIGthbm4gaWNoIGdhciBuaWNodHMgc2FnZW4uCgpIaWVyIGVpbiBWb3JzY2hsYWcgbWl0IGRlbSBCYXJ0b24gUHJvemVzc29yOgoKQU1EIEF0aGxvbiBLNyBYUCAyNTAwKyBCYXJ0b24gU29ja2VsLUEgICAgICAgICAgICAgICAgIDEzOCw0OSBFdXJvCgpCb2FyZDoKCkRhcyBCb2FyZCBzb2xsdGUgZWlnZW50bGljaCBsZWRpZ2xpY2ggZWluZSBzY2huZWxsZSBQZXJmb3JtYW56IGRlcyBTcGVpY2hlcnMKZXJtb2VnbGljaGVuLiBIaWVyIGVtcGZpZWhsdCBzaWNoIGVpbiBORm9yY2UyIENoaXBzYXR6IGRlciBlaW5lIDEyOGJpdApTcGVpY2hlcnZlcndhbHR1bmcgYmVpIDIgZ2xlaWNoZW4gU3BlaWNoZXJtb2R1bGVuIGVybW9lZ2xpY2h0LiBEaWUgbWVpc3RlbgpCb2FyZHMgaGFiZW4gaGV1dGUgZWluZW4gT25ib2FyZC1FdGhlcm5ldGFuc2NobHVzcyBzY2hlaW50IGVzIG1pci4gT2IgZGVyIHdhcwp0YXVndCwgd2Vpc3MgaWNoIG5pY2h0LiBLb21tZW50YXJlIQoKRWluIEJlaXNwaWVsYm9hcmQKCkFzdXMgQTdOOHggbkZvcmNlIDIgU29ja2VsLUEgTGFuL1NvdW5kICAgICAgICAgICAgICAgICAxMjMsNDcgRXVybwoKCkdyYWZpa2thcnRlOgoKQnJhdWNoZW4gd2lyIEdyYWZpaz8gSGllciB3dWVyZGUgaWNoIGVpbmUgYmlsbGlnZSBLYXJ0ZSB2b3JzY2hsYWdlbjoKRzMyQSBIZXJjdWxlcyBSYWdlIChCKSAxMjggUFJPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM4LDg5IEV1cm8KCk5ldHp0ZWlsOgoKRGFzIE5ldHp0ZWlsIHNvbGx0ZSB2b3IgYWxsZW0gZHVyY2ggWnV2ZXJsYWVzc2lna2VpdCBnbGFlbnplbi4gSGllciBoYWIgaWNoCm1pciBzYWdlbiBsYXNzZW4gdW50ZXJlcyBNb2RlbGwgd2FlcmUgZ2FueiBndXQuIAoKWmFsbWFuIDMwMFcgU1QgMzAwIEFQRiBQRkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcyLDk5CkV1cm8KCkx1ZWZ0ZXI6CgpMZWJlbiBzb2xsIGRlciBSZWNobmVyIGphIHNjaG9uIGV0d2FzIGxhZW5nZXIuIEFsc28gaXN0IGVpbiBMdWVmdGVyIGZ1ZXIgZGFzCkdlaGFldXNlIHVuZCBkZW4gUHJvemVzc29yIGFuZ2VicmFjaHQuIEZvbGdlbmRlIE1vZGVsbGUgdGF1Z2VuIGFuZ2VibGljaCB3YXM6CgpQcm96ZXNzb3IKQXJjdGljIENvb2xlciBDb3BwZXIgU2lsZW50ICgyMGRCKSAgICAgICAgICAgICAgICAgICAgICAzMiw0OSBFdXJvCgpHZWhhZXVzZQpQYXBzdC1MdWVmdGVyIDg0MTIgTkdNICg4MHg4MHgyNSkgICAgICAgICAgICAgICAgMjEsOTkgRXVybwoKU3BlaWNoZXI6CgpIaWVyIHNvbGx0ZSBtYW4gZWluZmFjaCBudXIgZ2VudWcgR2VzY2h3aW5kaWdrZWl0IHVuZCBNZW5nZSBoYWJlbi4gTm9uYW1lCnNvbGx0ZSBtYW4gd29obCBhdWNoIG5pY2h0IG5laG1lbi4KRWluIFZvcnNjaGxhZzoKCjJtYWwgNTEyTUIgSW5maW5lb24rSW5maW5lb24gUEM0MDAgQ0wzIEREUkFNICAgICAgICAgICAgamUgOTIsOTkgRXVybwoKRmVzdHBsYXR0ZToKClNjaG5lbGwgc29sbHRlIHNpZSBzZWluLCBhYmVyICBncm9zcyBuaWNodCB1bmJlZGluZ3QuIFp1dmVybGFlc3NpZyBzb2xsdGUgc2llCmF1Y2ggc2Vpbi4gV0Qgc29sbCBnYW56IG5ldHQgc2Vpbi4KCldENDAwQkIgNDAuMEdCIFVsdHJhL0RNQTEwMCA3MjAwVS9NaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgNjgsNzkgRXVybwoKR2VoYWV1c2UsIExhdWZ3ZXJrZSB1bmQgRWluZ2FiZWdlcmFldGUgbGlzdGUgaWNoIG5pY2h0IGF1Zi4gRGEgc29sbHRlIGRpZQpBdXN3YWhsIGVub3JtIHNlaW4uCgpTdW1tZSBkZXIgYXVmZ2VsaXN0ZXRlbiBUZWlsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKNjgzLDA5IEV1cm8KCk1hbiBiZXJ1ZWNrc2ljaHRpZ2UgZGVuIFNhdHogenUgR2VoYWV1c2UgdXN3CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgSGFyZHdhcmUgKEFoYWIsIDI4LiBNYWkgMjAwMywgMTE6MTk6MTApOgp+IyEgcm49TXVhZGliIHJ0PTEwNTQxMTI4MzEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKWnVtIE5ldHp0ZWlsOiBJY2ggaGFiIGhpZXIgaW4gbWVpbmVtIFJvdXRlciBlaW4gRW5lcm1heCBtaXQgMiBMdWVmdGVybiwgZWluZXIKbWFudWVsbCByZWdlbGJhciwgZGVyIGFuZGVyZSB0ZW1wZXJhdHVyZ2VyZWdlbHQuIEVzIGlzdCBlaW4gMzUwIFctR2VyYWV0LAplcyBnaWJ0IGRpZSBhYmVyIGF1Y2ggbWl0IG1laHIgTGVpc3R1bmcuIEljaCBiaW4gc2VociB6dWZyaWVkZW4gbWl0IGRlbSBUZWlsLAp2b3IgYWxsZW0gd2VpbCBlcyBfc2VociBsZWlzZV8gaXN0LgoKWnVyIEdyYWZpa2thcnRlOiBQcnVlZmUgbWFsIHdlciwgb2IgZWluIG5Gb3JjZTItQ2hpcHNhdHogbWl0IGludGVncmllcnRlcgpHcmFmaWsgZXZ0bC4gZ3VlbnN0aWdlciB3YWVyZSBhbHMgZGllIGV4dHJhLUdyYUthLiBTdGF0dGRlc3NlbiBrb2VubnRlIG1hbgplaW5lIHNlcGFyYXRlIE5ldHp3ZXJra2FydGUgaW4gQmV0cmFjaHQgemllaGVuLCBkZW5uIEFGQUlLIGJhdWVuIGRpZSBhdWYKZGllIEJvYXJkcyBtZWlzdCByZWxhdGl2IHByZWlzd2VydGUgQ2hpcHMsIGRpZSBlaW5lIHVubm9ldGlnIGhvaGUgCkNQVS1MYXN0IGVyemV1Z2VuIChjJ3QgaGF0dGUgbWFsIHdhcyB6dSBkZW0gVGhlbWEpLgoKWnVyIEZlc3RwbGF0dGU6IFdEIGlzdCBBRkFJSyBkZXIgZWluemlnZSBIZXJzdGVsbGVyLCBkZXIgc2VpbmUgUGxhdHRlbiBvaG5lCkFjb3VzdGljLU1hbmFnZW1lbnQgYmF1dC4gRmFsbHMgZGFzIGplIG5hY2ggU3RhbmRvcnQgZGVzIFJlY2huZXJzIGdld3VlbnNjaHQKc2VpbiBzb2xsdGUsIG11ZXNzdGUgbWFuIGRhcyBiZXJ1ZWNrc2ljaHRpZ2VuLgoKQWhvaSwKQWhhYiwgZWJlbiBmaXggZWluIHBhYXIgc3BvbnRhbmUgSWRlZW4gYWJ3ZXJmZW5kLiA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWUgSGFyZHdhcmUgKE11YWRpYiwgMjguIE1haSAyMDAzLCAxMToyOTowMyk6Cn4jISBybj1BaGFiIHJ0PTEwNTQxMTM1NTAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKaG1tbSBzb3VuZG1hbmFnZW1lbnQgaXN0IGdsYXViIGljaCBzZWt1bmRhZXIsIGFiZXIgaGllciBrb2VubmVuIGRpZSBnZW5laWd0ZW4Kc3lzYWRtcyBiZXN0aW1tdCBtZWhyIHp1IHNhZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWUgSGFyZHdhcmUgKFN0cm9oYWxtLCAyOC4gTWFpIDIwMDMsIDE0OjA4OjIwKToKfiMhIHJuPUFoYWIgcnQ9MTA1NDExMzU1MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpBbHMgTmV0enRlaWwgd3VlcmQgaWNoIGF1Y2ggZWluIEVuZXJtYXggZW1wZmVobGVuLCBoYXQgc2ljaCBhbHMgc3VwZXIKenV2ZXJsYWVzc2lnIHVuZCB1bmdld29laG5saWNoIGxlaXNlIGhlcmF1c2dlc3RlbGx0LCB1bmQgc29yZ3Qgd2VnZW4gc2VpbmVuIDIKTHVlZnRlcm4gYXVjaCBmdWVyIGVpbmUgcmVjaHQgZ3V0ZSBMdWZ0YWJmdWhyIGltIEdlaGFldXNlLiBLb3N0ZW5wdW5rdCBmdWVyCjMwMFcgbGllZ3QgYmVpIGV0d2EgNTAgRXVyby4KCkJ6Z2wuIEZlc3RwbGF0dGVuIGhhYiBpY2ggbWl0IFdEIGF1Y2ggc2VociBndXRlIEVyZmFocnVuZ2VuIGdlbWFjaHQuCkFjb3VzdGljLU1hbmFnZW1lbnQgd2FlcmUgc2lubmxvcyBiZWkgZGVuIFBsYXR0ZW4sIGRpZSBuZXVlcmVuIE1vZGVsbGUgaG9lcnQKbWFuIHNlbGJzdCBiZWkgb2ZmZW5lbSBHZWhhZXVzZSBuaWNodC4gVW5kIGRpZSBQZXJmb3JtYW5jZSBsaWVndCBhdWNoIHdlaXQKdWViZXIgZGVtIER1cmNoc2Nobml0dCwgdm9yIGFsbGVtIGJlaSBkZW4gTW9kZWxsZW4gbWl0IDggTUIgQ2FjaGUuCgpHcmFLYSBzb2xsdGUgd29obCB3aXJrbGljaCBlZ2FsIHNlaW4sIGRhIGdlbnVlZ3Qgd29obCBhdWNoIGVpbiBhdXNnZW11c3RlcnRlcwpBR1AtTW9kZWxsIHZvbiBuZW0gQmVrYW5udGVuIG9kZXIgZWluIE9uYm9hcmQtQ2hpcHNhdHosIGRlciBiZWkgZmFzdCBhbGxlbgpuRm9yY2UtQm9hcmRzIHNvd2llc28gaW50ZWdyaWVydCBpc3QuCgpCZWltIFByb3ppIHd1ZXJkIGljaCBlaW5lbiBQNCB2b3J6aWVoZW4sIGRhIGRlc3NlbiBIaXR6ZWVudHdpY2tsdW5nIGNhIDQwJQp1bnRlciBkZXIgdm9uIEFNRC1Nb2RlbGxlbiBsaWVndCwgdW5kIGRhcyBUZWlsIGF1Y2ggYWJzY2hhbHRldCwgc29sbHRlIG1hbCBkZXIKS3VlaGxlciBhdXNmYWxsZW4uIEFNRCBoaW5nZWdlbiBnZWh0IGJpbm5lbiB3ZW5pZ2VyIFNla3VuZGVuIGluIEZsYW1tZW4gYXVmLAppbndpZWZlcm4gZGFzIGplZG9jaCBhdWYgZGllIG5ldWVyZW4gTW9kZWxsZSBhbHMgVGhvcm91Z2hicmVkIG5vY2ggenV0cmlmZnQsCmthbm4gaWNoIGxlaWRlciBuaWNodCBzYWdlbi4KCkhhZWxtY2hlbiwgZmluZGV0IExhZ3MgdG9sbCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZSBIYXJkd2FyZSAoUGF0cnluLCAyOC4gTWFpIDIwMDMsIDE1OjE3OjUxKToKfiMhIHJuPVN0cm9oYWxtIHJ0PTEwNTQxMjM3MDAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKSWNoIGthbm4gYXVjaCBudXIgZ2VnZW4gQU1EIHNwcmVjaGVuLCBnZW51ZyBCZWthbm50ZW4sIHVuZCBhdWNoIG1pciB2b3IKendlaSBNb25hdGVuLCBpc3QgZGVyIFByb3plc3NvciBhdXMgSGl0emVncnVlbmRlbiB1bSBkaWUgT2hyZW4gZ2VmbG9nZW4uCk51biBpc3QgZXMgendhciBuaWNoIHNvb28gdGV1ZXIsIEVyc2F0eiBoZXJiZWl6dXNjaGFmZmVuLCB1bmQgZGllIG5ldWVyZW4KQU1EcyBzaW5kIG5pY2h0IG1laHIgZ2FyIHp1IGFuZmFlbGxpZywgYWJlciB0cm90emRlbSBzb2xsdGUgbWFuIGRhcyBtaXQKZGVuIHdlbmlnc3RlbiBQcm9ibGVtZW4gdmVyd2VuZGVuLgpXZW5uIHNpY2ggZGVyIFByb3plc3NvciBkYW5uIG51ciBoYWxiIHZlcmFic2NoaWVkZXQsIHNvIHdpZSBiZWkgbWlyIHouQi4sCmhhdCBtYW4gYXVjaCBnYW56IHNjaG5lbGwgbnVyIG5vY2ggc2NobGVpY2hlbmQgUGxhdHRlbnNhbGF0LCB3YXMgc2ljaAp1ZWJlciBXb2NoZW4gaGluemllaGVuIGthbm4gaW4gZGVyIEF1c3dpcmt1bmcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmV1ZSBIYXJkd2FyZSAoTWFuZHJhZ29uLCAyOC4gTWFpIDIwMDMsIDE1OjQ0OjQxKToKfiMhIHJuPVBhdHJ5biBydD0xMDU0MTI3ODcxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCmRpdG8KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZSBIYXJkd2FyZSAoU3Ryb2hhbG0sIDI4LiBNYWkgMjAwMywgMTY6MTM6MTEpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwNTQxMjk0ODEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKdW5kIHByZWlzbGljaCBnZXNlaGVuIGlzdCBkZXIgdW50ZXJzY2hpZWQgYXVjaCB2ZXJuYWNobGFlc3NpZ2JhciwgbWl0dGxlcndlaWxlCmR1ZXJmdGUgZGVyIFA0IHNvZ2FyIGJlcmVpdHMgZ3VlbnN0aWdlciBzZWluIGFscyBlaW4gZW50c3ByZWNoZW5kZXIgQXRobG9uCgpIYWVsbWNoZW4sIGRlbW5hZWNoc3QgbWFsIFByZWlzZSB2ZXJnbGVpY2hlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldWUgSGFyZHdhcmUgKFN0cm9oYWxtLCAyOC4gTWFpIDIwMDMsIDE2OjI0OjMzKToKfiMhIHJuPVN0cm9oYWxtIHJ0PTEwNTQxMzExOTEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKVW0gbWFsIGtvbmtyZXRlciB6dSB3ZXJkZW46CiAtIEF0aGxvbiBYUCAiQmFydG9uIiAyODAwKzogMTg5LC0gRVVSCiAtIFA0IDI0MDA6IDE5NCwtCgpQcmVpc2UgaGFiIGljaCB2b24gQWx0ZXJuYXRlLCBhYmVyIGRhIGdpYnRzIHdlaXRhdXMgZ3VlbnN0aWdlcmUgQW5nZWJvdGUuCkxlaXN0dW5nc21hZXNzaWcga2FubiBpY2ggbnVyIGF1cyBlaWduZXIgRXJmYWhydW5nIHNwcmVjaGVuLCB1bmQgZGEgbGllZ3QgZGVyClA0IHVtIG5lIG5hc2VubGFlbmdlIHZvcm4gOykKCkFsbGVyZGluZ3Mgc2NoZWludCBlcyBkZW4gbkZvcmNlIENoaXBzYXR6IG51ciBmdWVyIFNvY2tlbCBBIHp1IGdlYmVuLCBhYmVyIGVzCmdpYnQgZ2VudWVnZW5kIHF1YWxpdGF0aXYgZ2xlaWNod2VydGlnZSBDaGlwc2FldHplIGZ1ZXIgU29ja2VsIDQ3OC1Cb2FyZHMuClNvbGx0ZSB3b2hsIG5pY2h0IGRhcyBQcm9iIHNlaW4uCgpIYWVsbWNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5ldWUgSGFyZHdhcmUgKENyb2Z0LCAyOC4gTWFpIDIwMDMsIDE2OjMwOjUwKToKfiMhIHJuPVN0cm9oYWxtIHJ0PTEwNTQxMzE4NzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKSWNoIGdsYXViIGRpZSBMZWlzdHVuZ3N1bnRlcnNjaGllZGUgaW4gZGVuIFByb3plc3NvcmJlcmVpY2hlbiBzaW5kCmZ1ZXIgZWluZW4gTUctdGF1Z2xpY2hlbiBSZWNobmVyIHZvZWxsaWcgV3Vyc3QuICBEYSBzaW5kIGxhbmdmcmlzdGlnZQpFaWdlbnNjaGFmdGVuIHdpZSBQcm96ZXNzb3J0ZW1wZXJhdHVyLCBMZWlzdHVuZ3NhdWZuYWhtZSwgTGFuZ2xlYmlna2VpdCB1c3cKaW1obyBkZXV0bGljaCB3aWNodGlnZXIuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTmV1ZSBIYXJkd2FyZSAoT2dhciwgMjguIE1haSAyMDAzLCAyMzoyNTo0MCk6Cn4jISBybj1Dcm9mdCBydD0xMDU0MTMyMjUwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCkRhIGljaCB3aWUgdmllbGUgaGllciBiZWkgZWluZW0gSW50ZWwtU3lzdGVtIG1laHIgWnV2ZXJsYWVzc2lna2VpdCB2ZXJtdXRlCmFscyBiZWkgZWluZW0gYXVmIEFNRC1CYXNpcywgbW9lY2h0ZSBpY2ggZm9sZ2VuZGVzIFN5c3RlbSB2b3JzY2hsYWdlbjoKCihQcmVpc2UgZXhlbXBsYXJpc2NoIHZvbiBBbHRlcm5hdGUgLSBvZnQgZ2lidCBlcyBlaW56ZWxuZSBLb21wb25lbnRlbiBiZWkKZGVyIEtvbmt1cnJlbnogZGV1dGxpY2ggZ3VlbnN0aWdlcikKCk1haW5ib2FyZCBtaXQgaTg2NUctQ2hpcHNhdHosIHouQi4gQXN1cyBQNFA4MDAtVk0gKGhhdCBhdXNzZXIgZGVyCk9uYm9hcmQtR3JhZmlrIGF1Y2ggT25ib2FyZC1MQU4sIHVuZCB6d2FyIHZvbiBJbnRlbCAoYWxzbyBrZWluClJlYWx0ZWstU2Nocm90dCkgdW5kIGFuc2NoZWluZW5kIGtlaW5lbiBDaGlwc2F0ei1MdWVmdGVyKQogIC0+IEVVUiAxMTkKClByb3plc3NvciBQZW50aXVtIDQgMi40IEdIeiBtaXQgRlNCODAwIHVuZCBIeXBlcnRocmVhZGluZyAob2IgZGFzIE1HIGRhbWl0CndhcyBhbmZhbmdlbiBrYW5uLCB3ZWlzcyBpY2ggYWxsZXJkaW5ncyBuaWNodCAtIGRpZSBGU0I4MDAtUHJvemVzc29yZW4KZ2lidCdzIGplZGVuZmFsbHMgbnVyIG1pdCBIVCkKICAtPiBFVVIgMTk5IChpbmNsLiBkZW0gIkJveGVkIi1JbnRlbC1LdWVobGVyKQoKSGF1cHRzcGVpY2hlciAyIHggNTEyIE1CIFBDMzIwMC9ERFI0MDAgdm9uIFNhbXN1bmcKKEFzdXMgbWVpbnQsIHZvbiA1MTIgTUIgSW5maW5lb24tRElNTXMgc29sbHRlIG1hbiBob2VjaHN0ZW5zIHp3ZWkgaW5zClA0UDgwMC1WTSBzdGVja2VuLCB2b24gU2Ftc3VuZyBnZWhlbiBoaW5nZWdlbiB2aWVyKQogIC0+IDIgeCBFVVIgOTkKCk1hY2h0IHp1c2FtbWVuIG1pdCBkZW4gYW5kZXJlbiBUZWlsZW4gNjc5Ljc3LCBhbHNvIGdlbmF1IHNvIHZpZWwgd2llIGRhcwp2b3JnZXNjaGxhZ2VuZSBBTUQtU3lzdGVtLgoKTWFuIGJla29tbXQgZGFzIGF1Y2ggbm9jaCBiaWxsaWdlciwgd2VubiBtYW4gbmljaHQgZ2FueiBzbyBzY2huZWxsZQpLb21wb25lbnRlbiBuaW1tdDogQ2hpcHNhdHogbWl0IG51ciBlaW5lbSBTcGVpY2hlcmthbmFsLCBudXIgRlNCIDUzMywKUHJvemVzc29yIG9obmUgSFQsIFNwZWljaGVyIG51ciBQQzI3MDAuICBOaWNodHMgZ2VuYXVlcyB3ZWlzcyBpY2ggendhciBuaWNodCwKYWJlciBpY2ggd3VlcmRlIG1hbCByYXRlbiwgZGFzcyBzaWNoIGRpZSBTdW1tZSBkZXIga2xlaW5lbiBQZXJmb3JtYW5jZS0KVmVyYmVzc2VydW5nZW4gYmVpIGVpbmVtIG1vZGVybmVuIGk4NjUvaTg3NS1TeXN0ZW0gZG9jaCBsb2hudC4KClp1bSBUaGVtYSBOZXR6dGVpbC4gIE1laW5lIHBlcnNvZW5saWNoZW4gRXJmYWhydW5nZW4gbWl0IEVuZXJtYXggc2VoZW4gc28gYXVzOgpBdXMgaXJnZW5kIGVpbmVtIEdydW5kIGJyYWNoIGVpbm1hbCBkaWUgTmV0enNwYW5udW5nIGt1cnogenVzYW1tZW4sIGRlcgpNb25pdG9yIHdpcmQgZnVlciBlaW5lbiBBdWdlbmJsaWNrIHNjaHdhcnosIGRhcyBleHRlcm5lIE1vZGVtIG1hY2h0IGVpbmVuClJlc2V0LCBkZXIgUmVjaG5lciAobWl0IEVuZXJtYXgtTmV0enRlaWwpIGxhZXVmdCB3ZWl0ZXIuCgpXYXMgZGllIEZlc3RwbGF0dGUgYW5nZWh0LCB3YWVyZSBpbnRlcmVzc2FudCB6dSB3aXNzZW4sIG9iIGRpZSB2aWVsbGVpY2h0CmhhdXB0c2FlY2hsaWNoIHZpZWxlIGtsZWluZSBadWdyaWZmZSBtYWNoZW4gbXVzcy4gIERhbm4ga29lbm50ZSBzaWNoIGRlcgpBdWZwcmVpcyBmdWVyIGVpbmUgbWl0IDEwMDAwIFUvbWluIGxvaG5lbi4gIERpZSB2b24gV0QgbWl0IFMtQVRBLUludGVyZmFjZQprb3N0ZXQgYmVpIEFsdGVybmF0ZSBFVVIgMTc5LCBlaW5lIFF1YW50dW0gQXRsYXMgSVYgbWl0IFUzMjAtQ29udHJvbGxlciB3dWVyZGUKYmVpIEVVUiA0MDkgbGllZ2VuLCB1bmQgZWluZSBTZWFnYXRlIDE4IEdCIG1pdCAxNTAwMCBVL21pbiBiZWkgRVVSIDQ3OSAoYXVjaAppbmNsLiBDb250cm9sbGVyKS4gIERpZSBXRCBtYWNodCBkYSBwcmVpc2xpY2ggZWluZW4gZ3V0ZW4gRWluZHJ1Y2ssIG51cgpzY2hhZGUsIGRhc3MgaWNoIGRpZSBub2NoIG5pZSBpbiBlaW5lbSBUZXN0IGdlc2VoZW4gaGFiZS4KCi0tIApPZ2FyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOZXVlIEhhcmR3YXJlIChWYW5pb24sIDI5LiBNYWkgMjAwMywgMDA6MDA6MDApOgp+IyEgcm49T2dhciBydD0xMDU0MTU3MTQwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCkRhdGVpZW4gaW0gTW9yZ2VuR3JhdWVuIHNpbmQgdWViZXJ3aWVnZW5kIFRleHRkYXRlaWVuIGluIGRlciBHcm9lc3Nlbm9yZG51bmcKMTAtMjAga0IuIExlc2V6dWdyaWZmZSBzaW5kIGRldXRsaWNoIHVlYmVyIDkwJSwgd3VlcmQgaWNoIG1laW5lbi4KU2NocmVpYnp1Z3JpZmZlIGtvbW1lbiBkZXV0bGljaCBzZWx0ZW5lciB2b3IuIERhaGVyIGhhbHRlIGljaCBDYWNoaW5nIGRlcgpGZXN0cGxhdHRlIGF1Y2ggbmljaHQgZnVlciBuaWNodCBzbyB3aWNodGlnLCBpbnNiZXNvbmRlcmUgZGEgTGludXggZWggZWluZW4KYnJhdWNoYmFyZW4gY2FjaGluZy1NZWNoYW5pc211cyBtaXRsaWVmZXJ0LiBFaW5lIGt1cnplIFp1Z3JpZmZzemVpdCBpcyBkYQpzY2hvbiB3ZXNlbnRsaWNoZXIuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTmV1ZSBIYXJkd2FyZSAoRmVpZ2xpbmcsIDI5LiBNYWkgMjAwMywgMDE6MDY6NTIpOgp+IyEgcm49T2dhciBydD0xMDU0MTU3MTQwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCkhpLAoKaWNoIHd1ZXJkZSBlaW5lbSBJbnRlbC1TeXN0ZW0gYXVjaCBkZW4gVm9yenVnIGdlYmVuLiBBTUQgaGF0IHNpY2ggCmJpc2hlciBuaWNodCBpbSBTZXJ2ZXJiZXJlaWNoIGJlaGF1cHRldCAod2FzIG5pY2h0IGhlaXNzdCBkYXMgZGllCkNQVXMgc2NobGVjaHRlciBzaW5kLCBhYmVyIEVyZmFocnVuZ2VuIHphZWhsZW4gaGllciB2aWVsKS4KClp1IEZlc3RwbGF0dGU6IEljaCBoYWIgbWl0IElCTSB1bmQgU2VhZ2F0ZSBJREUtUGxhdHRlbiBkaWUKRXJmYWhydW5nIGdlbWFjaHQsIGRhc3Mgc2llIGltIERhdWVyZWluc2F0eiBuaWNodCBsYW5nZSBoYWx0ZW4uCkRpZSBTZXJ2ZXIgbWl0IG5lbSBJREUgUmFpZCwgZGllIGljaCBpbiBtZWluZW0gSm9iIGhhYmUsIGhhYmVuCmFsbGUgMTIgTW9uYXRlIG5lbiBkZWZla3QuIFdEIGlzdCBhYmVyIG5pY2h0IGltIEVpbnNhdHouCgpXYXMgaWNoIG1pY2ggYWJlciBmcmFnZSwgd3VlcmRlIGVpbiBJREUtUmFpZCBuaWNodCB2aWVsbGVpY2h0CnNpbm52b2xsIHNlaW4/IEljaCBtZWluZSBlaW4gUmFpZCAxIG9kZXIgMyw1LiBEaWUgS29udHJvbGxlciBzaW5kIApqYSBuaWNodCBzbyB0ZXVlciwgbmF0dWVybGljaCBzdGVpZ3QgYWJlciBkZXIgSEQgUHJlaXMgd2VpbAptZWhyZXJlIFBsYXR0ZW4gZ2VicmF1Y2h0IHd1ZXJkZW4uCgpWaWVsbGVpY2h0IGlzdCBkYXMgamEgdWViZXJ0cmllYmVuLCBhYmVyIGljaCBoYWJlIGVpbmZhY2ggenV2aWVsZQpJREUgUGxhdHRlbiBpbiBkZW4gbGV0enRlbiB6d2VpIEphaHJlbiBhYnJhdWNoZW4gZ2VzZWhlbi4KCkZlaWdsaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOZXVlIEhhcmR3YXJlIChNdWFkaWIsIDI5LiBNYWkgMjAwMywgMDI6NTI6MTkpOgp+IyEgcm49T2dhciBydD0xMDU0MTU3MTQwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCmhtbSB3aWUgc2llaHQgZXMgZGVubiBiZWkgZGVuIHNjaG5lbGxkcmVoZXJwbGF0dGVuIG1pdCBsYW5nbGViaWdrZWl0IGF1cz8/IAoKenUgZGVyIGRpc2t1c3Npb24gdW0gZGVuIHByZWlzLiBpY2ggaGFiIGVpbmZhY2ggbWFsIGJlc2NoZWlkZW4gYW5nZWZhbmdlbiwgZGEKaWNoIGtlaW5lbiBzY2hpbW1lciBoYWJlIHVlYmVyIHdlbGNoZW4gdmVyZnVlZ3VuZ3NyYWhtZW4gbWFuIGRlbiByZWRlbiBrYW5uLgppbSB6d2VpZmVsc2ZhbGxlIHNwcmljaHQgZG9jaCBhdWNoIGJlc3RpbW10IG5peCBnZWdlbiBlaW4ga2xlaW5lcyBraXN0Y2hlbiBtaXQKcmVkdW5kYW50ZW0gbmV0enRlaWwgdW5kIGVpbmVtIGZlaW5lbSByYWlkY29udHJvbGxlciBzYW10IHBsYXR0ZW5iZXN0dWVja3VuZy4KCmFiZXIgZGEgbXVlc3N0ZSBtYW4gd2llIGdlc2FndCBlcnN0bWFsIHdpc3NlbiB2b24gd2lldmllbCBnZWxkIG1hbiBhdXNnZWhlbgprYW5uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOZXVlIEhhcmR3YXJlIChPZ2FyLCAyOS4gTWFpIDIwMDMsIDEyOjM1OjMyKToKfiMhIHJuPU11YWRpYiBydD0xMDU0MTY5NTM5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCj4gaG1tIHdpZSBzaWVodCBlcyBkZW5uIGJlaSBkZW4gc2NobmVsbGRyZWhlcnBsYXR0ZW4gbWl0IGxhbmdsZWJpZ2tlaXQgYXVzPz8KCkRpZSBIZXJzdGVsbGVyIGdlYmVuIHNpY2ggc2VociB1ZWJlcnpldWd0IGRhdm9uLCBtaXQgTVRCRnMgPiAxZTYgU3R1bmRlbgp1bmQgZHVyY2h3ZWcgNSBKYWhyZW4gR2FyYW50aWUuICAxMDAwMCBVL21pbiBzaW5kIGF1Y2ggc2Nob24gbGFuZ2UgbmljaHQKbWVociBkaWUgU3BpdHplbmRyZWh6YWhsLCBkaWUgc2llIG1hbCB3YXJlbi4gIERpZSAxMDAwMGVyIFBsYXR0ZW4gc2luZCB6dWRlbQpwcm9kdWt0cG9saXRpc2NoIGF1ZiBkZW4gU2VydmVybWFya3QgYXVzZ2VyaWNodGV0LCBuaWNodCB3aWUgZGllIGxhbmdzYW1lcgpkcmVoZW5kZW4gUGxhdHRlbiBhdWYgZGVuIHByZWlzc2Vuc2l0aXZlbiBNYXNzZW5tYXJrdCAtIHdhcyBkYXMgYmVkZXV0ZXQsCmhhYmVuIG1laHJlcmUgSGVyc3RlbGxlciB2b3Iga3VyemVtIG1pdCBkZXIgVmVya3Vlcnp1bmcgZGVyIEdhcmFudGllemVpdGVuCmtsYXJnZXN0ZWxsdC4KClByYWt0aXNjaGUgRXJmYWhydW5nZW4gbWl0IHNvbGNoIHNjaG5lbGxlbiBQbGF0dGVuIGthbm4gaWNoIGFiZXIga2VpbmUKdm9yd2Vpc2VuLgoKLS0gCk9nYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBOZXVlIEhhcmR3YXJlIChBbm9yaXMsIDI5LiBNYWkgMjAwMywgMjM6NTU6NTYpOgp+IyEgcm49T2dhciBydD0xMDU0MjA0NTMyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCkRyaW5nZW5kZSwgd2lya2xpY2ggZ3V0Z2VtZWludGUgRW1wZmVobHVuZzogS2F1ZnQga2VpbmUgRWluemVsdGVpbGUgZGllCmRhbm4gaXJnZW5kd2llIHp1c2FtbWVuZ2ViYXN0ZWx0IHdlcmRlbi4KCldpZSB3YWVycyB6LkIuIG1pdCBlaW5lbSBIUCBQcm9MaWFudCBETDM2MCBHMyBTZXJ2ZXI/CgoyLjggR0h6LCBIYXJkd2FyZSBSYWlkIEhvdCBQbHVnZ2FibGUsIFJlZHVuZGFudGUgTmV0enRlaWxlIGRpZSBpbSBCZXRyaWViCmdld2VjaHNlbHQgd2VyZGVuIGtvZW5uZW4uCgpNaXIgaXN0IGFic29sdXQgYmV3dXNzdCBkYXMgZGllIEtpc3RlIG5pY2h0IGltbWVyIGxhdWZlbiBtdXNzLCBhYmVyIHdlbm4KZXVjaCBlaW5lIFBsYXR0ZSBhdXNzdGVpZ3Qgb2RlciBlaW4gTmV0enRlaWwsIGJpcyBpaHIgZGEgRXJzYXR6IGhhYnQKdW5kIGRhcyB3aWVkZXIgbGFldWZ0IC4uLiBJREUgUGxhdHRlbiBzaW5kIGF1ZiBqZWRlbiBGYWxsIG5pY2h0IGdlaWduZXQhCgpQLlMuIERlciBQcmVpcyBkZXMgei5CLiBvYmVuIGdlbmFubnRlbiBTeXN0ZW0sIHdpciBkZXV0bGljaCB1bnRlciBkZW0KZ2VzY2hhZXR6dGVuIFdlcnQgbGllZ2VuIC4uLgoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBOZXVlIEhhcmR3YXJlIChSb25kYSwgMjkuIE1haSAyMDAzLCAyMzo1Nzo1Myk6Cn4jISBybj1Bbm9yaXMgcnQ9MTA1NDI0NTM1NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQouLi4gYXVjaCB3ZW5uIGljaCBtaXIgZGFtaXQgaW5zIGVpZ2VuZSBGbGVpc2NoIHNjaG5laWRlIDstKSBFaW5lClByb0xpYW50LU1hc2NoaW5lIGlzdCB6dW1pbmRlc3QgdW50ZXIgYWt1c3Rpc2NoZW4gR2VzaWNodHNwdW5rdGVuIHN1Ym9wdGltYWwuCkplZGVuZmFsbHMgd2VubiBkYXMgRGluZyBpbiBlaW5lbSBBcmJlaXRzcmF1bSB1bmQgbmljaHQgaW4gZWluZW0gU2VydmVycmF1bQpzdGVodC4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTmV1ZSBIYXJkd2FyZSAoQW5vcmlzLCAzMC4gTWFpIDIwMDMsIDAwOjAxOjU0KToKfiMhIHJuPVJvbmRhIHJ0PTEwNTQyNDU0NzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKTGF1dD8gSmEgaXN0IGVyIC4uICphdXRzY2gqIEFiZXIgd28gc3RlaHQgZGVyIGpldHp0aWdlIFJlY2huZXIgZWlnZW50bGljaD8KTmljaHQgYW4gZWluZW0gQXJiZWl0c3BsYXR6IG9kZXI/IC4uLgoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBOZXVlIEhhcmR3YXJlIChNdWFkaWIsIDMwLiBNYWkgMjAwMywgMDE6MDA6MjUpOgp+IyEgcm49QW5vcmlzIHJ0PTEwNTQyNDU3MTQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKbWVociBkYXZvbi4gYmlzIHp1ciB2diBzZWhlbiBkaWUgcHJlaXNlIGVoIGFuZGVycyBhdXMuIHVuZCBkYXMgdGVpbCBzb2xsCmR1cmNoYXVzIGltbWVyIGxhdWZlbi4gbmFqYSB6dW1pbmRlc3QgdW50ZXJzdGVsbGUgaWNoIGRhcyBtYWwgYWxzCnNwaWVsZXJpbnRlcmVzc2UgOikKaWNoIGZyZXUgbWljaCBzY2hvbiBhdWYgZGllIHZ2CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTmV1ZSBIYXJkd2FyZSAoT2dhciwgMzAuIE1haSAyMDAzLCAwMjoxODo0NCk6Cn4jISBybj1Bbm9yaXMgcnQ9MTA1NDI0NTM1NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpHYWViZSBlcyBhbSBTZXJ2ZXJzdGFuZG9ydCBlaWdlbnRsaWNoIHp3ZWkgZ2V0cmVubnRlIFN0cm9ta3JlaXNlLCB2b24gZGVuZW4KYmVpIFdhcnR1bmdzYXJiZWl0ZW4gaW1tZXIgbnVyIGVpbmVyIGFiZ2VzY2hhbHRldCB3aXJkPyAgT2huZSBkaWUgbWFjaGVuCnJlZHVuZGFudGUgTmV0enRlaWxlIG51ciBoYWxiIHNvIHZpZWwgU3Bhc3MsIHZvciBhbGxlbSBiZWltIEJsaWNrIGF1ZiBkaWUKR3J1ZW5kZSBkZXIgbGV0enRlbiBSZWJvb3RzIGRlcyBNRy4KCkRhcyBBcmd1bWVudCwgZGFzcyBtYW4gYmVpIHNlbGJzdCB6dXNhbW1lbmdlYmFzdGVsdGVuIFN5c3RlbWVuIFByb2JsZW1lIGJlaW0KRXJzYXR6IGF1c2dlZmFsbGVuZXIgS29tcG9uZW50ZW4gYmVrb21tdCwgdGVpbGUgaWNoIG5pY2h0IGdhbnouICBGdWVyIHNpbXBsZQpTeXN0ZW1lIG9obmUgRXh0cmFzIGdpYnQgZXMgRXJzYXR6IGFuIGplZGVyIFN0cmFzc2VuZWNrZSwgdW5kIHdlZ2VuIGlocmVyCkVpbmZhY2hoZWl0IGVycmVpY2hlbiBzaWUgSU1ITyB0cm90emRlbSBlaW5lIHp1ZnJpZWRlbiBzdGVsbGVuZGUKWnV2ZXJsYWVzc2lna2VpdC4gIFdpbGwgbWFuIGhpbmdlZ2VuIG1laHIgYWxzIGRhcyBVZWJsaWNoZSAtIGljaCBoYWV0dGUKd2lya2xpY2ggbmljaHRzIGdlZ2VuIGVpbmVuIE1HLVJlY2huZXIgbWl0IHZpZWwgUmVkdW5kYW56IC0gbGllZ2VuIGRpZQpWb3J0ZWlsZSBzY2huZWxsIGJlaSBLb21wbGV0dGdlcmFldGVuIHZvbiBNYXJrZW5oZXJzdGVsbGVybi4KCi0tIApPZ2FyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTmV1ZSBIYXJkd2FyZSAoVmFuaW9uLCAzMC4gTWFpIDIwMDMsIDA4OjQ2OjI0KToKfiMhIHJuPUFub3JpcyBydD0xMDU0MjQ1MzU2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCkRlciBETCAzNjAgaXMgZG9jaCBlaW4gUmFja2VpbnNjaHViLCBvZGVyPyBCZWRhcmYgZGVyIG5pY2h0IG5vY2ggd2VpdGVyZXIKSW5mcmFzdHJ1a3R1cj8gCgpBZmFpayBpcyBkZXIgTUctUmVjaG5lciBkZXJ6ZWl0IGVpbiBUb3dlciB1bmQgc3RlaHQgdW50ZXIgSGF0ZXMnIFNjaHJlaWJ0aXNjaC4KKGh0dHA6Ly9tZy5tdWQuZGUvc3RhdC8pLiBPYiBkYSBlaW4gUmFjayBoaW4gc29sbCwgaXMgZWhlciBmcmFnd3VlcmRpZy4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTmV1ZSBIYXJkd2FyZSAoRm9vYmFyLCAzMC4gTWFpIDIwMDMsIDA4OjUxOjA0KToKfiMhIHJuPVZhbmlvbiBydD0xMDU0Mjc3MTg0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCkhhdGUgaGF0IGFiZXIgZWluZW4gZ2FueiBzY2hvZW4gYXVmZ2VyYWV1bXRlbiBTY2hyZWlidGlzY2guLi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmV1ZSBIYXJkd2FyZSAoR25vbWUsIDMwLiBNYWkgMjAwMywgMjA6MzI6MzApOgp+IyEgcm49U3Ryb2hhbG0gcnQ9MTA1NDEzMTg3MyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQp3ZW0gd29sbHQgaWhyIGRlbm4gZGllIDIuODAwLjAwMC4wMDAgKCEpIEhlcnR6IHVtIGRlbiBrb3BmIHNjaGxldWRlcm4/Cgppc3QgZGFzIGJlc3Nlciwgd2VubiBkaWUgcmF1bWJlc2NocmVpYnVuZyBpbiBkZXIgY3B1IG5vY2htYWwga3VyeiBhdWYKbGljaHRnZXNjaHdpbmRpZ2tlaXQgYmVzY2hsZXVuaWd0IHdpcmQsIGJldm9yIHNpZSBkYW5uIGRlbSBzcGllbGVyCmVudGdlZ2VuZ2V3b3JmZW4gd2lyZD8KCmxhc3N0IGRvY2ggbWFsIGRpZSBraXJjaGUgaW0gZG9yZi4gMiw4IEdIeiBpc3QgbmV0dCB6dW0gcXVha2VuLCBhYmVyIGZ1ZXIKInRleHQtaGluLXVuZC1oZXJzY2hpZWJlbiIgZGFyZnMgYXVjaCBlaW4gYmlzc2VsIHdlbmlnZXIgc2Vpbi4KbWFuIHNvbGx0ZSBoaWVyIHdpcmtsaWNoIG1laHIgd2VydCBhdWYgc3BlaWNoZXItcGVyZm9ybWFuY2UgdW5kIGF1c2JhdSwKcGxhdHRlbnBlcmZvcm1hbmNlIChldnRsLiBSQUlEIDAsMSksIG5lbiBzdGFiaWxlcyBuZXR6dGVpbCAoNDAwIFcpIHVuZApldnRsLiBuZXIgVVNWLgoKdW5kIG1pciBpc3Qgbm9jaCBrZWluIEFNRCBhYmdlZmFja2VsdC4gbGllZ3QgdmllbGxlaWNodCBkYXJhbiwgZGFzcyBpY2gKa3VlaGxlciArIGx1ZWZ0ZXIgcmljaHRpZyBlaW5iYXVlLi4uCgpAaGFlbG1jaGVuOiB2ZXJnbGVpY2ggbmljaHQgYWVwZmVsIG1pdCBiaXJuZW4uIHdlbm4gZHUgWFAgMiw4KyB1bmQgUDQgMjQwMAp2ZXJnbGVpY2hzdCwga29tbXN0IGR1IG5hdHVlcmxpY2ggYXVmIGRlbiBnbGVpY2hlbiBwcmVpcy4KdmVyZ2xlaWNoIGRvY2ggbWFsIFhQIDIsMCsgdW5kIFA0IDIwMDA6IDEwMCBldXJvIHVudGVyc2NoaWVkLgoKa29ua3JldDoKLS0tLS0tLQoKYm9hcmQ6IHN0YWJpbGVzIG1hcmtlbmJvYXJkIG1pdCBvbmJvYXJkLUdLIChkaWUgaXMgZWggbmljaHQgd2ljaHRpZyksCiAgICAgICB3dWVyZGUgZWluIEVwb3ggdm9yc2NobGFnZW4sIGhhYmUgZGFzIDhLM0EsIGthbm4gbmljaHQga2xhZ2VuLgoKY3B1OiBlaW4gWFAgMjAwMCsgd2FlcmUgbWVociBhbHMgYXVzcmVpY2hlbmQsIGRhIHd1ZXJkZSBzaWNoIGRhbm4gYXVjaAogICAgIG5pY2h0IHNvIHZpZWwgd2Flcm1lIGVudHdpY2tlbG4uCgpzcGVpY2hlcjogMSBHQiBJbmZpbmVvbiBvZC4gU2Ftc3VuZwoKcGxhdHRlOiBtaW5kLiA3MjAwL21pbiwgbWluZC4gMTAwIFUtRE1BIChldnRsLiAxMzMpLCBXRCBrYW5uIGljaAogICAgICAgIGVtcGZlaGxlbgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE5ldWUgSGFyZHdhcmUgKE9nYXIsIDMwLiBNYWkgMjAwMywgMjE6MTI6NDYpOgp+IyEgcm49R25vbWUgcnQ9MTA1NDMxOTU1MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpTY2hhdXQgbWFuIGF1ZiBkaWUgU3BlaWNoZXItUGVyZm9ybWFuY2UsIHNwcmljaHQgYWxsZXJkaW5ncyBhbGxlcyBmdWVyCmVpbmVuIFA0LCBnZW5hdWVyIGZ1ZXIgZWluZW4gbWl0IEZTQjgwMCAodW5kIGRpZSBnaWJ0J3MgZGVyemVpdCBudXIgbWl0CjIuNCBHSHogdW5kIGhvZWhlcikuICBCZWltICJjJ3QtbWVtIi1CZW5jaG1hcmsgYXVmIGVpbmVtIGk4NjUtTWFpbmJvYXJkIGlzdApkaWVzZXIgc2NobGljaHQgZG9wcGVsdCBzbyBzY2huZWxsIHdpZSBkaWUgc2NobmVsbHN0ZW4gQU1ELU1haW5ib2FyZHMgbWl0CmVpbmVtIEF0aGxvbiBYUCAyNDAwKyAodmdsLiBjJ3QgMTEvMDMgUy4gMTU2IG1pdCBjJ3QgNS8wMyBTLiAxNjIpLgoKLS0gCk9nYXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOZXVlIEhhcmR3YXJlIChNdWFkaWIsICAxLiBKdW4gMjAwMywgMjA6MjQ6MjMpOgp+IyEgcm49R25vbWUgcnQ9MTA1NDMxOTU1MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQppY2ggemVyc3RvZXIgZGVpbmUgaWxsdXNpb24gdW5nZXJuZSBhYmVyIGVpbiBBTUQgWFAgMjgwMCBoYXQga2VpbmUgMiw4IEdIeiwKZGFzIGlzdCBudXIgZWluIFZlcmdsZWljaHN3ZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOZXVlIEhhcmR3YXJlIChOb25uZSwgIDIuIEp1biAyMDAzLCAwOTozMTo0Myk6Cn4jISBybj1NdWFkaWIgcnQ9MTA1NDQ5MTg2MyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpHZWh0IG1pY2ggamEgZWlnZW50bGljaCBuaXggYW4sIGJpbiBqYSBuaWNodCBpbSBWZXJlaW4sIGFiZXIgbXVzcyBhdWNoIG1hbAptZWluZSBNZWludW5nIHNhZ2VuOgoKMS4gQmVpIEFNRCBpc3QgZGFzIFByZWlzL0xlaXN0dW5nc3ZlcmhhZWx0bmlzIHdlc2VudGxpY2ggYmVzc2VyIGFscyBiZWkgSW50ZWwuCldlbm4gbWFuIHdlaXNzLCB3aWUgbWFuIGVpbmVuIEx1ZWZ0ZXIgYXVmIGVpbmUgQ1BVIHNjaHJhdWJ0LCBmYWNrZWxuIGRpZSBhdWNoCm5pY2h0IGFiLiBJY2ggd3VlcmRlIGRlbiBrbGVpbnN0ZW4gUHJveiBlaW5lciBCYXVyZWloZSBuZWhtZW4sIGRpZSBzaW5kIGFtCndlbmlnc3RlbiB3YXJtLiBBbHNvIGVpbmVuIDE3MDAgWFAgVGhvcm91Z2hicmVkIG9kZXIgZWluZW4gMjUwMCBYUCBCYXJ0b24uCk1laHIgTWVnYWhlcnosIG1laHIgV2Flcm1lIHVuZCBzb29vbyBmdXJjaHRiYXIgc2NobmVsbCBicmF1Y2h0IGRlciBSZWNobmVyIGphCm5pY2h0IHNlaW4uCgoyLiAxIEdCeXRlIFNwZWljaGVyIGlzdCBlaW5lIGZlaW5lciBTYWNoZS4gRGEgcGFzc3QgZGFzIE11ZCBuYWVtbGljaCBrb21wbGV0dApyZWluLCBkYW5uIGVydWVicmlndCBzaWNoIGRpZSBEaXNrdXNzaW9uIHVtIGVpbmUgc2NobmVsbGUgUGxhdHRlIG5hZW1saWNoLgpBbGxlcmRpbmdzIHNvbGx0ZSBlcyBkYSBkZXIgdWVibGljaGUgMjY2LVNwZWljaGVyIHR1bi4gSWNoIHNvbGx0ZXQgbWFuCnVlYmVybGVnZW4sIGluIHdhcyBmdWVyIERpbWVuc2lvbmVuIGlociBkYSBkaXNrdXRpZXJ0LCB3YW5uIG11ZXNzZW4gZGVubiBpbQpNdWQgbWVocmVyZSBIdW5kZXJ0IE1lZ2FieXRlIGR1cmNoIGRlbiBCdXMgZ2VwdXN0ZXQgd2VyZGVuPyBOYT8gR2VuYXUsIG5pZS4KCjMuIE9iZW4gaGF0dGUgaWNoIGphIHNjaG9uIGFuZ2VtZXJrdCwgZGFzcyBtYW4gYmVpIDEgR0J5dGUgU3BlaWNoZXIgZ2V0cm9zdAplaW5lIGhhbmRlbHN1ZWJsaWNoZSBQbGF0dGUgbmVobWVuIGthbm4uIEF1Y2ggaGllciBzb2xsdGUgZXMgZWluZSBtaXQgNTQwMApVL21pbiB0dW4uCgo0LiBHcmFmaWtrYXJ0ZSBrYW5uIGVpbmUgT25Cb2FyZCBzZWluIG9kZXIgZGllIGJpbGxpZ3N0ZSwgZGllIHp1IGtyaWVnZW4gaXN0LgoKNS4gQWxzIE1vdGhlcmJvYXJkIHdpcmQgaW1tZXIgQXN1cyBnZXNhZ3QuIERpZSB3YXJlbiB6dSBQZW50aXVtIEkgWmVpdGVuCndpcmtsaWNoIHVuc2NobGFnYmFyLiBJY2ggaGFiZSBhYmVyIGRhcyBHZWZ1ZWhsLCBkaWUgcnVoZW4gc2ljaCBhdWYgZGVuCkxvcmJlZXJlbiBhdXMuIEljaCBoYWJlIG5ldWxpY2ggMjAgUmVjaG5lciBtaXQgQXN1cy1Cb2FyZHMgYmVzY2hhZmZ0LCB3b3ZvbiAxMApkZWZla3Qgd2FyZW4uIERhcyBoYXQgbWljaCBkb2NoIGFyZyBlbnRhZXVzY2h0LgoKR2lnYWJ5dGVib2FyZCByYXVjaGVuIG1pciBoaWVyIGltIDI0LzctQmV0cmllYiBhdWNoIGFuZGF1ZXJuZCBhYiwgZ3V0ZQpFcmZhaHJ1bmcgaGFiZSBpY2ggbWl0IEVwb3ggZ2VtYWNodC4KCjYuIDQwMCBXYXR0IE5ldHp0ZWlsPyBXb3p1PyBFaW4gMzAwIFdhdHQgcmVpY2h0IGFsbGVtYWwsIHdhaHJzY2hlaW5saWNoIGF1Y2gKMjUwIFdhdHQsIHdlbm4gbmljaHQgbm9jaCB6aWcgTGF1ZndlcmtlIGRhIHJlaW5rb21tZW4uIE5ldHp0ZWlsZSBtYWNoZW4gYXVjaApXYWVyZSwgamUgbWVociBXYXR0LCBqZSBtZWhyIG11ZXNzZW4gZGllIGdla3VlaGx0IHdlcmRlbi4gSWNoIGJpbiBhdWNoIGZ1ZXIKZWluIG9yZGVudGxpY2hlcyBOZXR6dGVpbCwgYWJlciBvcmRlbnRsaWNoICE9IHZpZWxlIFdhdHRzLgoKNy4gVm9uIGRlbSBzbyBlaW5nZXNwYXJ0ZW4gR2VsZCBrYW5uIG1hbiBzaWNoIGRhbm4gamEgbm9jaCBlaW5lIGtsZWluZSBVU1YgbWl0ClVlYmVyc3Bhbm51bmdzc2NodXR6IGJlc29yZ2VuLiBBYiB1bmQgenUgbWFsIHJlYm9vdGVuIHR1dCBkZW0gTXVkIGdhbnogZ3V0LApzb25zdCB3aXJkIGRlbiBITFAgaGllciBsYW5nd2VpbGlnIChjOwoKTm9ubmUsIGhhdCBkZW4gRWluZHJ1Y2ssIGRpZSBMZXV0ZSBsZXNlbiB6dSB2aWVsIFBDLVBsYXllciAqZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOZXVlIEhhcmR3YXJlIChGbGludG5haWwsICAyLiBKdW4gMjAwMywgMTA6MTY6MTcpOgp+IyEgcm49Tm9ubmUgcnQ9MTA1NDUzOTEwMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpIaWhvLi4uCgppY2gga2VubiBtaWNoIG1pdCBkZW0gZGVtIE11ZCBwcm9ncmFtbXRlY2huaXNjaCBzbyBnYXIgbmljaHQgYXVzLCBhYmVyLi4uCgp3dWVyZGUgZXZ0LiBkZXIgRWluYmF1IHp3ZWllciBuZXR6d2Vya2thcnRlbiAtIGVpbmUgYWxzIFNwaWVsZXJ6dWdhbmcsIGVpbmUKYWxzICBQcm9ncmFtbWllcmVyenVnYW5nIC9VcC1Eb3dubG9hZCBldGMgLSBTaW5uIG1hY2hlbj8KCm9kZXIgaXN0IGRpZSBOZXR6d2Vya3NjaG5pdHRzdGVsbGUga2VpbiBFbmdwYXNzLi4/CkZsaW50KiAgbWFsIGlucyBibGF1ZSB2ZXJtdXRlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE5ldWUgSGFyZHdhcmUgKENhdHdlYXpsZSwgIDIuIEp1biAyMDAzLCAxMDoxODowMSk6Cn4jISBybj1Hbm9tZSBydD0xMDU0MzE5NTUwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCktvbW1lbnRhciAxOgpXZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lLCBoYXQgZGVyIFZlcmVpbiBHZWxkIGJpcyB6dW0gRXJicmVjaGVuIChkYXMKdWVicmlnZW5zIGF1Y2ggInplaXRuYWgiIGF1c2dlZ2ViZW4gd2VyZGVuIG11c3MpLiBWb24gZGFoZXIgYmVzdGVodCBlcnN0IG1hbAprZWluZSBOb3R3ZW5kaWdrZWl0IHp1IHNwYXJlbi4gCgpLb21tZW50YXIgMjoKV2VubiBuaWNodCBhdWZzIEdlbGQgZ2VhY2h0ZXQgd2VyZGVuIG11c3MsIG1hY2h0IGVzIFNpbm4gc2ljaCBqZXR6dCBlaW4KSGlnaGVuZC1TeXN0ZW0genUgbGVpc3RlbiwgZGFzIG1vZWdsaWNoc3QgbGFuZ2UgaGFlbHQuIFZvbiBkYWhlciB3dWVyZGUgaWNoIGFuCmRlciBDUFUtR2VzY2h3aW5kaWdrZWl0IG5pY2h0IHNwYXJlbi4gR2VuZXJlbGwgc29sbHRlIGdlbHRlbjogaG9laGVyIHNjaG5lbGxlcgp3ZWl0ZXIuIE9mZmVuYmFyIHNjaGVpbmVuIHdpciBqYSBuaWNodCBzbyBvZnQgZWluIG5ldWVzIFN5c3RlbSB6dSBrYXVmZW4sIHVuZAp3ZW5uIGRlciBSZWNobmVyIGRpZSBuYWVjaHN0ZW4gNC01IEphaHJlIGF1c3JlaWNoZW4gc29sbCwgbWFjaHQgZXMgc2lubiBob2NoCnp1IGdyZWlmZW4uCgpLb21tZW50YXIgMmI6CkRpZSBhbmdlc3Byb2NoZW5lIFRlbXBlcmF0dXIgaXN0IGFsbGVyZGluZ3MgZWluIHJlbGV2YW50ZXIgUHVua3QsIGRhIHNvbGx0ZQptYW4gc2Nob24gZHJhdWYgYWNodGVuLCBkYXMgZWluIGV2ZW50dWVsbGVyIDNHSHotUmVjaG5lciBuaWNodCBhdXNnbHVlaHQuCldvYmVpIG1hbiBkYSBhdWNoIHZpZWwgbWl0IGd1dGVuIEx1ZWZ0ZXJuIHJlaXNzZW4ga2FubiAobWVpbiBBTUQyNDAwIGlzdHpCIAphdWNoIGF1ZiBnZWZhaHJsb3NlIDM5IEdyYWQgcnVudGVya3VlaGxiYXIpLgoKT2J3b2hsIGljaCBhdWNoIG1laXN0IGZ1ZXIgZGllIGd1ZW5zdGlnZXJlbiBBTURzIGJpbiB3YWVyZSBpY2ggbWl0IGVpbmUgUDQKZWludmVyc3RhbmRlbiwgYWJlciBhdWNoIG51ciwgd2VubiBkYWR1cmNoIGVudHNjaGVpZGVuZGUgVGVtcGVyYXR1cnZvcnRlaWxlCmVudHN0ZWhlbi4gCkRlc3dlaXRlcmVuIHdhZXJlIGljaCBzdHJpa3QgZ2VnZW4gQXN1cywgZGFzcyBkaWUgdG9sbGUgQm9hcmRzIGdlYmF1dCBoYWJlbgppc3QgOC0xMCBKYWhyZSBoZXIgdW5kIGdlcmFkZSBiZWkgYWt0dWVsbGVuIGhhdCBtYW4gelQgdWVibGUgU2Nod2llcmlna2VpdGVuCih6QiBCcmFvZGNvbSBvbmJvYXJkIEdFLUludGVyZmFjZSBvZGVyIGthcHV0dGVzIERNQSAoZ2FueiBmYXRhbCEpKS4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTmV1ZSBIYXJkd2FyZSAoTm9ubmUsICAyLiBKdW4gMjAwMywgMTA6MjQ6MDUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNTQ1NDE4ODEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKR2VsZCBiaXMgenVtIEVyYnJlY2hlbj8gT2theSwgZGFubiB2aWVsbGVpY2h0IGRvY2ggMiBHQiBTcGVpY2hlcj8gTWFjaHQgbWVocgpTaW5uIGFscyAxMDAgTUh6IG1laHIuIFVuZCBkYXMgd2lya2xpY2hlIFByb2JsZW0gYmVpIEhpZ2gtRW5kLVN5c3RlbWVuIGlzdCBkaWUKVGVtcGVyYXR1ciBiZWltIDI0LzctQmV0cmllYi4gSWNoIHNlaGUgZGFzIGhpZXIuIEFscyBEZXNrdG9wLVN5c3RlbSwgd2FzIG51cgpUYWdzdWViZXIgbGFldWZ0LCBrZWluIFRoZW1hLiBXZW5uIGRhcyBEaW5nIFRhZyB1bmQgTmFjaHQgcmVjaG5ldCwgcmF1Y2h0IGVzCmFiLiBGdWVyIDI0LzctQmV0cmllYiBzaW5kIGVpZ2VudGxpY2ggbnVyIFNlcnZlci1Lb21wb25lbnRlbiBnZWVpZ25ldC4gRGllCnNpbmQgYWJlciBfdmllbF8genUgdGV1ZXIsIGRhaGVyIHNvbGx0ZSBtYW4gYXVmIGplZGVuIEZhbGwgYXVmIGRpZSBUZW1wZXJhdHVyCmFjaHRlbiB1bmQgZGVuIFJlY2huZXIgZGV1dGxpY2ggdW50ZXIgZGVuIE1heC1TcGVjcyBiZXRyZWliZW4uIEhpZXIgaGFiZW4gd2lyCmVpbmVuIHp1c2FldHpsaWNoZW4gR2VoYWV1c2VsdWVmdGVyIHZvcm5lIGluIGRpZSBTY2hhY2h0YmxlbmRlbiBlaW5nZWJhdXQsCmVyc3Qgc2VpdCBkZW0gbGF1ZmVuIGRpZSBSZWNobmVyIHN0YWJpbCB1bmQgcmVjaG5lbiBUYWcgdW5kIE5hY2h0LgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOZXVlIEhhcmR3YXJlIChNb3Jnb3RoLCAgMi4gSnVuIDIwMDMsIDEwOjI1OjM3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDU0NTQxODgxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCldpZXNvIG5pY2h0IGVpbmVuIE9wdGVyb24tU2VydmVyIGthdWZlbiwgZGFubiBpcyBTcGVlZCBnZW51ZyBkYSwgYXVjaCBmdWVyIGRpZQpuYWVjaHN0ZW4gNSBKYWhyZSBuZCB2b3IgYWxsZW0gZnVlciBtZWluZSBrbGVpbmVuIE9ya3MgOikKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTmV1ZSBIYXJkd2FyZSAoTm9ubmUsICAyLiBKdW4gMjAwMywgMTA6Mjc6NTYpOgp+IyEgcm49TW9yZ290aCBydD0xMDU0NTQyMzM3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxClNpZWhlIEVpbmZ1ZWhydW5nIGRlcyBBdGhsb24uIFZpZWxsZWljaHQgc29sbHRlIG1hbiBkYSBkaWUgQm9hcmRzIHVuZApDaGlwc3NhZXR6ZSBlcnN0IGVpbiB3ZW5pZyByZWlmZW4gbGFzc2VuIHVuZCB3YXJ0ZW4sIGJpcyBkaWUgVHJlaWJlciBhbGxlCnN0YWJpbCBzaW5kLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTmV1ZSBIYXJkd2FyZSAoTXVhZGliLCAgMi4gSnVuIDIwMDMsIDExOjE4OjM5KToKfiMhIHJuPU5vbm5lIHJ0PTEwNTQ1MzkxMDMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKZGllIGRpc2t1c3Npb24gYmlzaGVyIGlzdCB0b2xsIGFiZXIgZWluIGFyZ3VtZW50IHRhdWNodCBpbW1lciB3aWVkZXIgYXVmOgoiYnJhdWNodCBkYXMgbXVkIGRpZXNlcyBvZGVyIGplbmVzIHdpcmtsaWNoPyIgaWNoIGJpdHRlIGRhYmVpIHp1IGJlYWNodGVuIGRhc3MKYXVmIGRlbSByZWNobmVyIG5pY2h0IE5VUiBkYXMgbXVkIGxhZXVmdCB1bmQgbWFuY2hlIHNwaXR6ZW4gZ2FyIG5pY2h0IGR1cmNoCmRhcyBtdWQgc2VsYnN0IGVyemV1Z3Qgd2VyZGVuLgppY2ggbW9lY2h0ZSBkYXMgbmljaHQgYWxzIGFyZ3VtZW50IHBybyB2aWVsIGxlaXN0dW5nIHZlcnN0YW5kZW4gc2VoZW4gc29uZGVybgpudXIgZGFyYW4gZXJpbm5lcm4uCmVpbiBpbnRlcmVzc2FudGVzIGRhdHVtIHZpZWxsZWljaHQ6IGRpZSBkdXJjaHNjaG5pdHRsaWNoZSBhdXNsYXN0dW5nIGRlciBjcHUKbGllZ3QgYmVpIGRlbSBtb21lbnRhbmVuIDQwMGVyIHBlbnRpdW0gYmVpIDYyJS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBOZXVlIEhhcmR3YXJlIChNYW5kcmFnb24sICAyLiBKdW4gMjAwMywgMTE6MjU6NTQpOgp+IyEgcm49TXVhZGliIHJ0PTEwNTQ1NDU1MTkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKCkF1Y2ggd2VubiAxR0Igd2lya2xpY2ggdmllbCBSQU0gaXN0LCBoaWxmdCBkYXMgbmljaHQgZ2VnZW4gZGllIE5vdHdlbmRpZ2tlaXQsCmVpbmUgc2NobmVsbGUgUGxhdHRlIHp1IGhhYmVuLiBTYWVtdGxpY2hlIERhdGVpc3lzdGVtYmVmZWhsZSBzaW5kIGRhcmF1ZiBhbi0KZ2V3aWVzZW4sIGF1ZiBkaWUgUGxhdHRlIHp1enVncmVpZmVuLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTmV1ZSBIYXJkd2FyZSAoTm9ubmUsICAyLiBKdW4gMjAwMywgMTE6NDQ6MzUpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwNTQ1NDU5NTQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKQmV2b3Igd2lyIHVucyBoaWVyIGRpZSBLb2VwZmUgZWluc2NobGFnZW4sIGhhZXR0ZSBpY2ggZ2VybmUgZ2V3dXNzdCwgd2llIGRpZQpUZW1wZXJhdHVyZW4gaW4gZGVtIFJhdW0gc2luZCwgd28gZGVyIFJlY2huZXIgc3RlaHQuIElzdCBkZXIga2xpbWF0aXNpZXJ0PwpJbm5lbnJhdW0gb2RlciBGZW5zdGVyPyBIYXQgZGFzIFdldHRlciB3ZXNlbnRsaWNoZW4gRWluZmx1c3M/IFdlbm4gZGVyIFJhdW0Ka29uc3RhbnQgMjAgR3JhZCBoYXQsIGtvZW5uZW4gd2lyIGF1Y2ggS29tcG9uZW50ZW4gdmVyYmF1ZW4sIGRpZSBldHdhcyBtZWhyCldhZXJtZSBwcm9kdXppZXJlbiwgd2VubiBkZXIgUmVjaG5lciBvcmRlbnRsaWNoIHZpZWxlIEx1ZWZ0ZXIgYmVrb21tdC4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE5ldWUgSGFyZHdhcmUgKE9nbywgIDIuIEp1biAyMDAzLCAxODozNDo0OSk6Cn4jISBybj1Ob25uZSBydD0xMDU0NTQ3MDc1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCk1laW5lIE92ZXJjbG9jay1FcmZhaHJ1bmdlbiBsaWVnZW4gc2Nob24gZWluIGJpc3NjaGVuIHp1cnVlY2suIFdlbm4gc293YXMgbm9jaApnZWh0LCBpc3QgZXMgZHVyY2hhdXMgZ2FueiBuZXR0LCBlaW5lbiByaWNodGlnIHNjaG5lbGxlbiBQcm96ZXNzb3IgenUga2F1ZmVuCnVuZCBkZW4gZGFubiBydW50ZXJ6dXRha3Rlbi4gRWluIFA0IDNHaHogc29sbHRlIGJlaSAyR2h6IGVpbmUgcmVsYXRpdiBuaWVkcmlnZQpWZXJsdXN0bGVpc3R1bmcgaGFiZW4uLi4gQW5zb25zdGVuIHNpbmQga2xlaW5lIER1YWwtU3lzdGVtZSBhdWNoIG5pY2h0IHNvCnRldWVyLCBkb3J0IGtvZW5udGUgbWFuIGVpbmUgQ1BVIGZ1ZXIgZGFzIE11ZCBkZWRpemllcmVuLiAKQWxzIEhhdXNudW1tZXIsIGthbm4gbWFuIG1hbCBoaWVyIGd1Y2tlbjoKaHR0cDovL3d3dy5pY28uZGUvY2dpLWJpbi9zaG9wL3Nob3BfbWFpbi5jZ2k/ZnVuYz1kZXQmd2tpZD03NTc5MTkyNzg1OCZydWIxPVNlCnJ2ZXImcnViMj0yK0hFK1NlcnZlciZhcnRucj0xMDE5JnBuPTAKS2VpbmUgQWhudW5nIG9iIGRhcyBtaXQgZGVtIEJ1ZGdldCB2ZXJlaW5iYXIgaXN0Li4uCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBOZXVlIEhhcmR3YXJlIChSb25kYSwgIDIuIEp1biAyMDAzLCAyMDoxODo0Myk6Cn4jISBybj1PZ28gcnQ9MTA1NDU3MTY4OSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpVbmQgdW0gbm9jaCBtZWhyIFVlYmVybGVndW5nZW4gaW4gZGVuIFRocmVhZCB6dSBzdG9wZmVuOgoKV2VubiBlaW4gUHJvYmxlbSBiZWkgZGVyIEF1c2xhc3R1bmcgUHJvemVzc2Ugc2luZCwgZGllIE5JQ0hUIE11ZCBzaW5kCihXZWJzZXJ2ZXI/KSwga29lbm50ZSBtYW4gZGllIG5pY2h0IGRhbm4gaW4gWnVrdW5mdCBhdWYgZGVuIGpldHppZ2VuCk11ZHJlY2huZXIgb2RlciBkZW4gUmVzZXJ2ZXJlY2huZXIgYXVzbGFnZXJuPyAoRGVyIHRlbXBvcmFlcmUgRXBhY3Jpcy1SZWNobmVyCi0gZ2lidHMgZGVuIG5vY2g/KQpXZW5pZ2VyIHdpY2h0aWcgYWxzIGdld2lzc2UgTGFzdHNwaXR6ZW4gYWJ6dWZhbmdlbiBpc3QgSU1ITyBiZWltIE1vcmdlbmdyYXVlbgpadXZlcmxhZXNzaWdrZWl0IHVuZCBSZWNvdmVyeS4gSWNoIGdsYXViZSB3aXIgd3VlcmRlbiBhbGxlIHppZW1saWNoIGxhbmdlCkdlc2ljaHRlciBtYWNoZW4sIHdlbm4gZGFzIE11ZCBtYWwgZWluZSBXb2NoZSB3ZWdlbiBIYXJkd2FyZWF1c2ZhbGwgbmljaHQKdmVyZnVlZ2JhciBpc3QgdW5kIGRhbmFjaCBkaWUgRGF0ZW4gZGVyIGxldHp0ZW4gcGFhciBXb2NoZW4gZmVobGVuLiBEYXNzIGluCmRlbiBsZXR6dGVuIDEwIEphaHJlbiBzbyB3ZW5pZyBwYXNzaWVydCBpc3QsIGhlaXNzdCBuaWNodCwgZGFzcyBlcyBzbyBkaWUKbmFlY2hzdGVuIDEwIEphaHJlIHdlaXRlcmdlaHQuLi4KQWxzbzogUHJpb3JpdGFldCBzb2xsdGUgSU1ITyBhdWYgWnV2ZXJsYWVzc2lna2VpdCBkZXMgU3lzdGVtcyB1bmQgZWluCl9zYXViZXJlc18gQmFja3Vwa29uemVwdCBnZWxlZ3Qgd2VyZGVuLgpGaW5hbnppZWxsIHNvbGx0ZSBlcyBuaWNodCBzbyBzY2hsZWNodCBhdXNzZWhlbjogYSkgaGF0IGRlciBWZXJlaW4KbWVpbmVzd2lzc2VucyBlaW4gcGFhciBSdWVja2xhZ2VuIC0gdW5kIGIpIHZpZWxsZWljaHQgdW5wb3B1bGFlciwgYWJlciB3YXJ1bQpzb2xsdGUgbWFuIG5pY2h0IHdpZWRlciBlaW5lIFNwZW5kZW5zYW1tbHVuZyBhdXNydWZlbiwgd2VubiBkaWVzIGZ1ZXIgZWluZW4KZ3V0ZW4gUmVjaG5lciBoaWxmcmVpY2ggd2FlcmUuIERlbm4gc2VociB2aWVsZSBqdWVuZ2VyZSBTcGllbGVyIHdpc3Nlbgp2ZXJtdXRsaWNoIG5pY2h0IG1hbCwgZGFzcyBlcyBkZW4gVmVyZWluIGdpYnQgLSB1bmQgZGFzcyBkZXIgTXVkcmVjaG5lciBhdXMKdmllbGVuIFNwZW5kZW4gYmV6YWhsdCB3dXJkZSB1bmQgbmljaHQgImVpbmZhY2ggc28gZGEgaXN0Ii4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogTmV1ZSBIYXJkd2FyZSAoQ2F0d2VhemxlLCAgMi4gSnVuIDIwMDMsIDIwOjMzOjI1KToKfiMhIHJuPVJvbmRhIHJ0PTEwNTQ1Nzc5MjMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKRGVuIFdlYnNlcnZlciBhdWYgZGVtIGpldHppZ2VuIFJlY2huZXIgenUgYmVsYXNzZW4gaXN0IG1pdCBTaWNoZXJoZWl0IGVpbgplbnRzY2hlaWRlbmRlcyBGZWF0dXJlIGJlaSBlaW5lbSBSZWNobmVybmV1a2F1Zi4KCkJlc3NlcmVzIFJlY292ZXJ5IGJla29tbXQgbWFuIGF1dG9tYXRpc2NoIG1pdCBlaW5lciBkZXV0bGljaCBncm9lc3NlcmVuIFBsYXR0ZQoobW9tZW50YW4gcmVpY2h0IGRlciBQbGF0dGVucGxhdHogbGVkaWdsaWNoIGZ1ZXIgRGF0ZW4gZGVyIGxldHp0ZW4gendvZWxmClRhZ2UpLCBtaXQgbmVyIHp3ZWl0ZW4gUGxhdHRlIHVuZCBuZW0gTWlycm9yLVJhaWQga2FubiBtYW4gc29nYXIKa29zdGVuZ3VlbnN0aWcgdW5kIHNpY2hlciAoUHJvbWlzZT8pIGRpZSBWZXJmdWVnYmFya2VpdCBlcmhvZWhlbi4gCgpPYiBtYW4gbWVociBSZWR1bmRhbnplbiBzY2hhZmZlbiBzb2xsdGUgd2Vpc3MgaWNoIG5pY2h0LCBzY2hvbiBlaW4gendlaXRlcwpOZXR6dGVpbCBmaW5kZSBpY2ggdWViZXJ0cmllYmVuICh3aWUgd2FyIGRhcyBtaXQgZGVuIGJlaWRlbiB1bmFiaGFlbmdpZ2VuClN0cm9ta3JlaXNlbj8uLi4pLgoKRGFzIG1vbWVudGFuZSBCYWNrdXAgdWViZXJzIE5ldHogaXN0IHZpZWxsZWljaHQgbmljaHQgZGllIGJyYXVjaGJhcnN0ZQpMb2VzdW5nLCBhYmVyIGltbWVyaGluIGVpbmUgbWVvZ2xpY2hlLiBBbGxlIE1lZGllbmJhY2t1cGxvZXN1bmcgc2NoZWl0ZXJuIC0Kd2VubiBpY2ggbWljaCByZWNodCBlbnRzaW5uZSAtIGRhcmFuLCBkYXNzIGRhIG5pZW1hbmQgcmVnZWxtYWVzc2lnIGFtIFJlY2huZXIKdm9yYmVpZ2VodCwgYnp3LiByZWdlbG1hZXNzaWcgTWVkaWVuIHdlY2hzZWx0LiBBdXRvbWF0aXNjaGVzIE1lZGllbndlY2hzZWxuCndpcmQgZ2xlaWNoIHNhdXRldWVyLgoKV2VubiBtYW4gZGVuIFJlY2huZXIgc28gZWlucmljaHRlbiB1bmQgYW5zY2hsaWVzc2VuIGthbm4sIGRhc3MgZGFzIEJhY2t1cAp1ZWJlciBlaW5lIHp3ZWl0ZSBOZXR6d2Vya2thcnRlIGxhZXVmdCwgYnp3LiBkYXMgdGVsbmV0IGF1ZiBlaW5lciBkZWRpemllcnRlbiwKa29lbm50ZSBhdWNoIGVpbmUgendlaXRlIE5ldHp3ZXJra2FydGUgU2lubiBtYWNoZW4sIGFiZXIgYXVjaCBudXIsIHdlbm4gZGFzCkJhY2tib25lIGhpbnRlciBkZW4gS2FydGVuIGF1Y2ggb3JkZW50bGljaCBnZXRyZW5udCBpc3QuIElyZ2VuZHdhbm4gd2lyZCBoYWx0CmJlaSB1bnMgZGFubiBkb2NoIGRlciBEdXJjaHNhdHogdW5kIGRlc3NlbiBJL08gaW50ZXJlc3NhbnQuIAoKTm9jaCBtZWhyIENlbnRzLAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IE5ldWUgSGFyZHdhcmUgKE9ya3RvZXRlciwgIDIuIEp1biAyMDAzLCAyMDo0MDo1OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA1NDU3ODgwNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpEYXMgaWNoIGF1ZiBDYXR0eSBhbnR3b3J0ZSBpc3QgWnVmYWxsLCB3YXIgZGVyIGxldHplIEFydGlrZWwuCgpOdXIgc28gZWluIHBhYXIgR2VkYW5rZW46CgoxLiBGcnVlaGVyIHdhciBtYWwgYmVpIGRlciBXYWhsIHp3aXNjaGVuIEF0aGxvbiB1bmQgSW50ZWwgdm9uIGludGVyZXNzZSBvYiBtYW4KbWVociBJbnRlZ2VyYmVyZWNobnVuZ2VuIG1hY2h0ZSBvZGVyIG1laHIgRmxvYXRpbmdwb2ludGJlcmVjaG51bmdlbiwgaXN0IGRhcwpoZXV0ZSB2ZXJuYWNobGFlc3NpZ2Jhcj8KCjIuIFp1bSBCYWNrdXA6IERpZSBLaXN0ZSBzdGVodCBkb2NoIGJlaSBkZXIgR01EIHVuZCB3b2hsIGF1Y2ggenVtaW5kZXN0CmhhbGJvZmZpemllbGwgYmVpIGRlbSBOZXRsb2FkIGRlbiBkaWUgbWFjaHQuIERpZSBHTUQgaWhyZXJzZWl0cyBkdWVyZnRlIGFiZXIKZnVlciAiZWlnZW5lIiBSZWNobmVyIGVpbiBhdXRvbWF0aXNjaGVzIG5hZWNodGxpY2hlcyBCYWNrdXAgdWViZXJzIE5ldHogYmlldGVuCihmYWxscyBkYXMgdGF0c2FlY2hsaWNoIG5pY2h0IGRlciBGYWxsIGlzdCwgaXN0IGRlciBWb3JzY2hsYWcgZWggZ2VzdG9yYmVuKS4KV2llIHdhZXJlIGVzLCBhbnN0YXR0IGVpbmVyIGVpZ2VuZW4gTG9lc3VuZywgc2ljaCBpbiBkaWVzZXMgQmFja3Vwc3lzdGVtCiJlaW56dW1pZXRlbiI/CgpEYW5uIGRvY2ggbm9jaCB6dSBjYXR0eXMgQXJ0aWtlbCBlaW5lIEZyYWdlOiBXYXJ1bSBpc3QgZXMgZWluIGVudHNjaGVpZGVuZGVzCkZlYXR1cmUgZGVuIFdlYnNlcnZlciBhdWYgZGVtIGVpZ2VudGxpY2hlbiBNdWRyZWNobmVyIHp1IGxhc3Nlbj8KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogTmV1ZSBIYXJkd2FyZSAoQ2F0d2VhemxlLCAgMi4gSnVuIDIwMDMsIDIwOjQ1OjE4KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDU0NTc5MjU5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCkplIHdlbmlnZXIgYW5kZXJlbiBLcmFtcyBkZXIgUmVjaG5lciBtYWNodCwgZGVzdG8gdW5nZXN0b2VydGVyIGxhZXVmdCBkZXIKTXVkcHJvemVzcy4KCk1pciBtb21lbnRhbiBiZWthbm50ZSBNdWQtQnJlbXNlbiBzaW5kIGRlciBXZWJzZXJ2ZXIgKGRpZQpXZWJzZXJ2ZXJzdGF0aXN0aWtlbikgLCBkaWUgTG9hZC1TdGF0aXN0aWtlbiB1bmQgZGFzIEJhY2t1cCB1ZWJlcnMgTmV0ei4gCgpKZSBtZWhyIG1hbiBkYXZvbiB2b20gTXVkcmVjaG5lciBlbnRmZXJuZW4ga2FubiwgZGVzdG8gYmVzc2VyLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogTmV1ZSBIYXJkd2FyZSAoRm9vYmFyLCAgMi4gSnVuIDIwMDMsIDIxOjAyOjQ2KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDU0NTc5NTE4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCk9oLCBpY2ggaGF0dGUgZGFzIHNvIHZlcnN0YW5kZW4gZGFzcyBkZXIgV2Vic2VydmVyIGF1ZiBkZW0gYWx0ZW4gUmVjaG5lciAoYWxzbwpkZW0gYWt0dWVsbGVuIE11ZHJlY2huZXIpIGJsZWliZW4gc29sbC4KCkhtLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogTmV1ZSBIYXJkd2FyZSAoT3JrdG9ldGVyLCAgMi4gSnVuIDIwMDMsIDIxOjA5OjM0KToKfiMhIHJuPUZvb2JhciBydD0xMDU0NTgwNTY2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDU0MTEyODMxCkphamEuLi4gaWNoIGhhYnMgamEgaW56d2lzY2hlbiB2ZXJzdGFuZGVuLi4uCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogTmV1ZSBIYXJkd2FyZSAoRmVpZ2xpbmcsICAyLiBKdW4gMjAwMywgMjE6NTE6MzYpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNTQ1ODA5NzQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKSGksCgppY2ggYW50d29ydGUgbWFsIHp1ZmFlbGxpZyBhdWYgZGVuIGxldHp0ZW4gQXJ0aWtlbC4gOi0pCgpBbGxlIGRlcnplaXQgZXJoYWVsdGxpY2hlbiBDUFVzIHNvbGx0ZW4gZWlnZW50bGljaCBzY2huZWxsIGdlbnVuZyBzZWluLgpXbyBpY2ggZGVua2UsIGRhc3MgbWFuIG1laHIgYXVzZ2ViZW4gc29sbHRlIGlzdCBkaWUgUGxhdHRlLiBFaW4Kb3JkZW50bGljaGVzIFJhaWQgbWFjaHQgaGllciBzaWNoZXIgU2lubiwgc2VsYnN0IGJlaSBuZW0gZ3V0ZW4KQmFja3VwLiBXaWUgc2Nob24gamVtYW5kIHNhZ3RlLCB3aXJkIGtlaW5lciBIYXBweSBzZWluLCB3ZW5uIGRhcwpNdWQgbWFsIG5lIFdvY2hlIHdlZ2VuIG5lbSBIRCBzY2hhZGVuIG9mZmxpbmUgaXN0LiBEZXN3ZWdlbiBoYWx0ZQppY2ggYXVjaCBnYXIgbmljaHRzIHZvbiBkZXIgaWRlZSwgd2VnZW4gZGVyIEdlc2Nod2luZGlna2VpdCBlaW4KUmFpZCAwIHp1IHZlcndlbmRlbiwgZGVubiBoaWVyIG11c3MgbnVyIGVpbmUgUGxhdHRlIGNyYXNoZW4gdW5kCmF1Y2ggZGVyIEtyYW0gYXVmIGRlciAydGVuIGlzdCBmdXRzY2guIEFsc28gd2FlcmUgZWluIFJhaWQgMSBvZGVyIDUKd3VlbnNjaGVuc3dlcnQgKHdvYmVpIGVpZ2VudGxpY2ggUmFpZCAxIGFscyBlaW56aWdlcyBTaW5uIG1hY2h0KS4KRGllIENvbnRyb2xsZXIgZnVlciBJREUgc2luZCBqYSBhdWNoIG5pY2h0IHNvIGlycmUgdGV1ZXIuCgpFaW4gZWluZmFjaGVzIE5ldHp0ZWlsIHNvbGx0ZSBtZWluZXIgTWVpbnVuZyBhdWNoIHJlaWNoZW4uIEljaCBoYWJlIGJpc2hlcgprZWluZW4gQXVzZmFsbCBlaW5lcyBOZXR6dGVpbHMgZXJsZWJ0IHVuZCBkZW5rZSBkYXMgUmlzaWtvIGlzdCBnZXJpbmcuCgpXYXMgYWJlciBpbW1lciBTaW5uIG1hY2h0LCBpc3QgZ2VudWcgU3BlaWNoZXIgenUgdmVyd2VuZGVuLiAxR0Igc29sbHRlCmRhIHJlY2h0IGd1dCBzZWluLgoKRGFzIGFsbGVzIGlzdCB6dW1pbmRlc3QgbWVpbmUgTWVpbnVuZy4KCkZlaWdsaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogTmV1ZSBIYXJkd2FyZSAoTm9ubmUsICAyLiBKdW4gMjAwMywgMjI6MDY6NTUpOgp+IyEgcm49RmVpZ2xpbmcgcnQ9MTA1NDU4MzQ5NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpSYWlkIGlzdCBndXQsIGFiZXIgd2llc28gbnVyIDE/IFNvIGVpbmUgUGFyaXR5LVBsYXR0ZSBpc3QgYXVjaCB3YXMgc2Nob2VuZXMKdW5kIG1hbiBicmF1Y2h0IG5pY2h0IGRlbiBkb3BwZWx0ZW4gUGxhdHouIFJhaWQgaXN0IGFsbGVyZGluZ3MgbGFuZ3NhbSwgdm9yCmFsbGVtIGRpZSBJREUtQ29udHJvbGxlciBoYWJlbiBpbiBkZXIgYyd0IHJlY2h0IHNjaGxlY2h0IGFiZ2VzY2huaXR0ZW4sIGRhCmthbm4gbWFuIGF1Y2ggU29mdHdhcmVyYWlkIGFuIGVpbmVtIG5vcm1hbGVuIFNlcmlhbC1BVEEgbWFjaGVuLiBJY2ggYmluIGRhCmVoZXIgZnVlciAyIEdCIFNwZWljaGVyLCBkYW5uIGJyYXVjaHQgbWFuIGRpZSBQbGF0dGUgZnVlcnMgTXVkIGthdW0gbm9jaAoqendpbmtlciBNYW5kcmFnb24qLCBoYXQgYWJlciBkdXJjaHMgUmFpZCBBdXNmYWxsc2ljaGVyaGVpdC4gU2ljaGVybiBrYW5uIG1hbgpkYW5uIHVlYmVyIGVpbmUgMi4gTmV0endlcmtrYXJ0ZSBleHRlcm4uIEVpbiBndXRlcyBOZXR6dGVpbCAobWl0IG5pY2h0IHp1dXUKdmllbCBXYXR0KSBpc3QgYXVjaCBzaW5uaWcsIG1pciBzaW5kIGRpZSBiaWxsaWdlbiBzY2hvbiBtYXNzZW53ZWlzZW4KYWJnZXJhdWNodC4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IE5ldWUgSGFyZHdhcmUgKEZlaWdsaW5nLCAgMi4gSnVuIDIwMDMsIDIyOjIyOjAwKToKfiMhIHJuPU5vbm5lIHJ0PTEwNTQ1ODQ0MTUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKSGksCgpSYWlkIDEgbWVpbnRlIGljaCwgd2VpbCBkYXMgTXVkIGphIHdhaHJzY2hlaW5saWNoIG5pY2h0IHNvIGlycmUgdmllbApQbGF0dGVucGxhdHogYnJhdWNodCB1bmQgbWFuIGRhbWl0IGhhbHQgbmUgQXVzZmFsbHNpY2hlcnVuZyBtaXQKbnVyIDIgUGxhdHRlbiBoYXQuCgpEZXIgVGVtcC1FcGFjcmlzIFJlY2huZXIgaXN0IGRvY2ggbmltbWVyIGluIFZlcndlbmR1bmcsIGthbm4gbWFuIG5pY2h0CmRhaGluIGJhY2t1cHBlbiB1bmQgZGVuIFdlYnNlcnZlciBhdXNsYWdlcm4/CgpGZWlnbGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE5ldWUgSGFyZHdhcmUgKE9nYXIsICAyLiBKdW4gMjAwMywgMjM6MDg6MTgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNTQ1Nzk1MTggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKPiBNaXIgbW9tZW50YW4gYmVrYW5udGUgTXVkLUJyZW1zZW4gc2luZCBkZXIgV2Vic2VydmVyIChkaWUKPiBXZWJzZXJ2ZXJzdGF0aXN0aWtlbikgLCBkaWUgTG9hZC1TdGF0aXN0aWtlbiB1bmQgZGFzIEJhY2t1cCB1ZWJlcnMgTmV0ei4KCkVyemV1Z2VuIGRpZXNlIFByb3plc3NlIGVoZXIgUHJvemVzc29yLSBvZGVyIEkvTy1MYXN0PyAgRmFsbHMgSS9PLUxhc3QsIHdhZXJlCmVpbmUgZWlnZW5lIFBsYXR0ZSBmdWVyIGRpZXNlIFByb3plc3NlIHdhaHJzY2hlaW5saWNoIHNpbm52b2xsLCBzb3dhcyB3aXJrdAptYW5jaG1hbCBXdW5kZXIuCgotLSAKT2dhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IE5ldWUgSGFyZHdhcmUgKFRhcmFuaXMsICAyLiBKdW4gMjAwMywgMjM6NTg6MjApOgp+IyEgcm49RmVpZ2xpbmcgcnQ9MTA1NDU4NTMyMCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpNaG1tLCBzb3dlaXQgaWNoIGRlbSBCaWxkIGF1ZiBkZXIgSG9tZXBhZ2UgZW50bmVobWVuIGthbm4sIHN0ZWh0IGRlcgpFcGFjcmlzLVJlY2huZXIgbmViZW4gZGVtIE1VRC1SZWNobmVyLiBFaW4gdmVybnVlbmZ0aWdlcyBCYWNrdXAgc29sbHRlIGFiZXIKaW1tZXIgcGh5c2lrYWxpc2NoIHZvbSBnZXNpY2hlcnRlbiBEYXRlbnRyYWVnZXIgZ2V0cmVubnQKYXVmYmV3YWhydC9nZXNwZWljaGVydCB3ZXJkZW4uIERhbm4gc2NodWV0enQgZXMgbmFlbWxpY2ggbmljaHQgYXVzc2NobGllc3NsaWNoCnZvciBIYXJkd2FyZWF1c2ZhZWxsZW4sIHNvbmRlcm4gYXVjaCB2b3IgZ3JvZXNzZXJlbiBwaHlzaWthbGlzY2hlbiBTY2hhZWRlbgpkZXIgVW1nZWJ1bmcgKHouQi4gRmV1ZXIpIHUuYS4gKERhIGdpYnQgZXMgamEgZGllIEVyemFlaGx1bmcsIGRhc3MKUmVjaGVuemVudHJ1bSBpbiBlaW5lbSBUdXJtIGRlcyBXVEMgaWhyIEJhY2t1cCBpbSBqZXdlaWxzIGFuZGVyZW4gVHVybQpnZWxhZ2VydCBoYWJlbi4gRHVtbSBnZWxhdWZlbi4uLikKVmllbGUgR3J1ZXNzZSwKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE5ldWUgSGFyZHdhcmUgKE9nYXIsICAzLiBKdW4gMjAwMywgMDE6NTY6MDgpOgp+IyEgcm49Tm9ubmUgcnQ9MTA1NDUzOTEwMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQo+IDEuIEJlaSBBTUQgaXN0IGRhcyBQcmVpcy9MZWlzdHVuZ3N2ZXJoYWVsdG5pcyB3ZXNlbnRsaWNoIGJlc3NlciBhbHMgYmVpCkludGVsLgoKQmVpbSBQcm96ZXNzb3IgKEF0aGxvbiAyNTAwIFhQIEJhcnRvbiB2cy4gUDQgMi40L0ZTQjgwMCkga2FubiBtYW4gendhciBsb2NrZXIKMTAwIEVVUiBzcGFyZW4sIGFiZXIgZGFzIGthbm4gc2ljaCBzY2huZWxsIHJlbGF0aXZpZXJlbjogIFVudGVyIGRlbgpFUG9YLU1haW5ib2FyZHMgYmVpIEFsdGVybmF0ZSBoYXQgbnVyIGRhcyBFUC04UkdBKyBPbi1Cb2FyZC1HcmFmaWsgdW5kIGRhcwppc3QgZGVyemVpdCAzMCBFVVIgdGV1cmVyIGFscyBlaW4gQXN1cyBQNFA4MDAtVk0uICBNYWcgbWFuIGRlbiBiaWxsaWdlbgpSZWFsdGVrLU5ldHp3ZXJrLUNoaXAgYXVmIGRlbSBFUG9YIG5pY2h0LCBrb21tZW4gbm9jaG1hbCAyMCAtIDQwIEVVUiBmdWVyCmVpbmUgc2VwYXJhdGUgTmV0endlcmtrYXJ0ZSBuYWNoIFdhaGwgZGF6dSwgdW5kIGVudHNjaGVpZGV0IG1hbiBzaWNoIGZ1ZXIKZWluZSBTLUFUQS1GZXN0cGxhdHRlLCBzaW5kIG5vY2htYWwgNzAgRVVSIGZ1ZXIgZWluZW4gZXh0cmEgQ29udHJvbGxlcgpmYWVsbGlnLgoKCj4gdWViZXJsZWdlbiwgaW4gd2FzIGZ1ZXIgRGltZW5zaW9uZW4gaWhyIGRhIGRpc2t1dGllcnQsIHdhbm4gbXVlc3NlbiBkZW5uIGltCj4gTXVkIG1laHJlcmUgSHVuZGVydCBNZWdhYnl0ZSBkdXJjaCBkZW4gQnVzIGdlcHVzdGV0IHdlcmRlbj8gTmE/IEdlbmF1LCBuaWUuCgpVbmQgd2FubiBtdWVzc2VuIGh1bmRlcnRlIE1pbGxpb25lbiBPcGVyYXRpb25lbiBkdXJjaGdlZnVlaHJ0IHdlcmRlbj8gIEltClNjaG5pdHQgamVkZSBTZWt1bmRlISAoNDAwIE1IeiAqIDYyJSBBdXNsYXN0dW5nKSAgU28gbGFuZ2UgZXMgTGFnIGdpYnQsIGlzdApub2NoIGlyZ2VuZHdhcyB6dSBsYW5nc2FtLgoKPiA1LiBBbHMgTW90aGVyYm9hcmQgd2lyZCBpbW1lciBBc3VzIGdlc2FndC4gRGllIHdhcmVuIHp1IFBlbnRpdW0gSSBaZWl0ZW4KCklJUkMgd2FyIGljaCBoaWVyIGRlciBlaW56aWdlLCBkZXIgQXN1cyBlcndhZWhudCBoYXR0ZS4KCj4gTG9yYmVlcmVuIGF1cy4gSWNoIGhhYmUgbmV1bGljaCAyMCBSZWNobmVyIG1pdCBBc3VzLUJvYXJkcyBiZXNjaGFmZnQsIHdvdm9uCj4gMTAgZGVmZWt0IHdhcmVuLiBEYXMgaGF0IG1pY2ggZG9jaCBhcmcgZW50YWV1c2NodC4KCk51bmphLCBkaWUgaTg2NUctQm9hcmRzIHZvbiBBc3VzIHdhcmVuIGJlaSBBbHRlcm5hdGUgaXJnZW5kd2llIGRpZQpiaWxsaWdzdGVuIC4uLiAgRnVlciAyNSBFdXJvIG1laHIgZ2lidCdzIGFiZXIgYXVjaCB3ZWxjaGUgb3JpZ2luYWwgdm9uIEludGVsLApkYW5uIGhhdCBtYW4gUHJvemVzc29yLCBDaGlwc2F0eiwgTWFpbmJvYXJkLCBHcmFmaWsgdW5kIE5ldHp3ZXJrIGtvbXBsZXR0CmF1cyBlaW5lciBIYW5kLiAgQW5kZXJlIEhlcnN0ZWxsZXIgc2luZCBhdWNoIG5vY2ggZGEgdW5kIGxpZWdlbiBwcmVpc2xpY2gKaXJnZW5kd28gZGF6d2lzY2hlbi4KCj4gR2lnYWJ5dGVib2FyZCByYXVjaGVuIG1pciBoaWVyIGltIDI0LzctQmV0cmllYiBhdWNoIGFuZGF1ZXJuZCBhYiwgZ3V0ZQo+IEVyZmFocnVuZyBoYWJlIGljaCBtaXQgRXBveCBnZW1hY2h0LgoKQm9hcmRzIGZ1ZXIgSW50ZWwtIG9kZXIgQU1ELVByb3plc3NvcmVuPyAgVW5kIHdhcyBmdWVyIENoaXBzYWV0emU/CgoKQ2F0d2VhemxlIHdyb3RlOgo+IERpZSBhbmdlc3Byb2NoZW5lIFRlbXBlcmF0dXIgaXN0IGFsbGVyZGluZ3MgZWluIHJlbGV2YW50ZXIgUHVua3QsIGRhIHNvbGx0ZQoKQXRobG9uIFhQIDI1MDArIChCYXJ0b24pIHVuZCBQNCAyLjQvRlNCODAwIGxpZWdlbiBiZWlkZSBiZWkgNjUgLSA3MCBXLgoKPiBEZXN3ZWl0ZXJlbiB3YWVyZSBpY2ggc3RyaWt0IGdlZ2VuIEFzdXMsIGRhc3MgZGllIHRvbGxlIEJvYXJkcyBnZWJhdXQgaGFiZW4KPiBpc3QgOC0xMCBKYWhyZSBoZXIgdW5kIGdlcmFkZSBiZWkgYWt0dWVsbGVuIGhhdCBtYW4gelQgdWVibGUgU2Nod2llcmlna2VpdGVuCj4gKHpCIEJyYW9kY29tIG9uYm9hcmQgR0UtSW50ZXJmYWNlIG9kZXIga2FwdXR0ZXMgRE1BIChnYW56IGZhdGFsISkpLgoKRGFtaXQgbWVpbnN0IGR1IGpldHp0IGFiZXIgQXN1cy1Cb2FyZHMgZnVlciBTb2NrYWwgQSwgb2Rlcj8gIERhcyBlcndhZWhudGUKUDRQODAwLVZNIGhhdCBqZWRlbmZhbGxzIGtlaW4gQnJvYWRjb20tRXRoZXJuZXQgdW5kIGFuIERNQS1Qcm9ibGVtZSBlcmlubmVyZQppY2ggbWljaCBudXIgaW4gWnVzYW1tZW5oYW5nIG1pdCBWSUEtQ2hpcHNhZXR6ZW4uCgotLSAKT2dhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IE5ldWUgSGFyZHdhcmUgKEZsaW50bmFpbCwgIDMuIEp1biAyMDAzLCAwODo0MTo1MSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA1NDU3ODgwNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NDExMjgzMQpIb2kuLi4KCnNvbGx0ZSBtYW4gZGllIEFiaGFlbmdpZ2tlaXQgdm9tIEdNRC1CYXJlYm9uZSBuaWNodCBkYWR1cmNoIHVtZ2VoZW4ga29lbm5lbiwKZGFzcyBtYW4gZGVtICdhbHRlbicgTXVkcmVjaG5lciB6dSBnZW5hdSBkaWVzZW0gWndlY2tlIGF1Y2ggZWluZSB6d2VpdGUKTmV0endlcmtrYXJ0ZSBlaW5iYXV0IHVuZCBkYW5uIG5lbiBrbGVpbmVzIHByaXZhdGVzICBOZXR6IHZpYSBjcm9zcyBsaW5rCmF1ZmJhdXQ/Cgp2aWVsbGVpY2h0IG51ciBlaW4gQ2VudC4uYWJlciB3ZW5ucyBoaWxmdAoKRmxpbnQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogTmV1ZSBIYXJkd2FyZSAoQXJrLCAgNS4gSnVuIDIwMDMsIDEwOjM3OjIzKToKfiMhIHJuPU5vbm5lIHJ0PTEwNTQ1ODQ0MTUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNTQxMTI4MzEKSURFIFJBSUQgaGF0IG5pY2h0IG51ciBpbiBkZXIgYyd0IHNjaGxlY2h0IGFiZ2VzY2huaXR0ZW4sIHNvbmRlcm4gYXVjaCBiZWkKdW5zZXJlbiBLdW5kZW4uIEZlaGxlcmFuZmFlbGxpZywgcGVyZm9ybWFuY2VzY2hsdWNrZW5kLCBlcmdvIG5pY2h0IGZ1ZXIgU2VydmVyCmdlZWlnbmV0IC0+IFNDU0kuIFJBSUQgc2ljaGVydCBudXIgZ2VnZW4gZWluZW4gUGxhdHRlbmF1c2ZhbGwsIG5pY2h0IG1pdApCYWNrdXAgdmVyd2VjaHNlbG4uIEVzIGdpYnQgS3VuZGVuIG1pdCBkZXIgRWluc3RlbGx1bmcgIm5lIFBsYXR0ZSBpbSBTY2hyYW5rCnJlaWNodCwgaW4gZWluZXIgU3R1bmRlIGlzdCBkYSBqZW1hbmQgdW5kIHRhdXNjaHQgZGllIGF1cywgaW4gZGVyIFN0dW5kZSBpc3QKZGVyIEF1c2ZhbGwgenUgdmVya3JhZnRlbiIuIEljaCB3dWVyZGUgbWFsIGVoZXIgZWluZW4gQmxpY2sgYXVmcyBQb3J0ZW1vbm5haWUKd2VyZmVuIHVuZCBkYW5uIGVudHNjaGVpZGVuLiBFcnN0IFd1bnNjaGxpc3RlIGF1ZmJhdWVuIHVuZCBkYW5uIHdpZWRlcgphYnN0cmlwcGVuIGlzdCBaZWl0dmVyc2Nod2VuZHVuZyAoYXVjaCB3ZW5uIGRhcyAxMDAlIHVuc2VyZXIgS3VuZGVuIHNvIG1hY2hlbgo6LSkgKS4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp2ZXJlaW5zdm9yc3RhbmQgKFd1cnplbCwgMTkuIEp1biAyMDAzLCAyMjowNDoxNik6CmhhbGxvIGxldXRlLAoKd2llIHNpY2hlcmxpY2ggZGVuIG1laXN0ZW4gYXVmZ2VmYWxsZW4gaXN0LCBzaW5kIGRpZSB2b3JzdGFuZHNtaXRnbGllZGVyIGRlcwp2ZXJlaW5zIG1laXN0IG51ciBub2NoIHNlbHRlbiBoaWVyIGFuenV0cmVmZmVuLiBkYXMgaGVpc3N0IG5pY2h0IHVuYmVkaW5ndCwKZGFzcyB3aXIgZGllIG5vdHdlbmRpZ2VuIGFkbWluaXN0cmF0aXZlbiBkaW5nZSBuaWNodCBlcmxlZGlnZW4gd3VlcmRlbiwgYWJlcgplcyB3YWVyZSB1bnNlcmVzIGVyYWNodGVucyBzaW5udm9sbCwgd2VubiBlcyB3ZW5pZ3N0ZW5zIGRlbiBlaW5lbiBvZGVyIGFuZGVyZW4KaW0gdm9yc3RhbmQgZ2FlYmUsIGRlciBhdWNoIHRhdHNhZWNobGljaCBvZWZ0ZXJzIGltIG11ZCBhbnp1dHJlZmZlbiBpc3QuCmF1ZiBkZXIgZGllc2phZWhyaWdlbiB2ZXJlaW5zdmVyc2FtbWx1bmcgd2lyZCBlaW4gbmV1ZXIgdm9yc3RhbmQgZ2V3YWVobHQuCmljaCB3ZWlzcyBhdXMgc2ljaGVyZXIgcXVlbGxlLCBkYXNzIGVzIGxldXRlIGltIGFrdHVlbGxlbiB2b3JzdGFuZCBnaWJ0LCBkaWUKaWhyZW4gam9iIGF1Y2ggd2VpdGVyIG1hY2hlbiB3dWVyZGVuIHVuZCB3aWVkZXIga2FuZGlkaWVyZW4uIHRyb3R6ZGVtIGZhZW5kZQppY2ggZXMgZ3V0LCB3ZW5uIHNpY2ggZWluIHBhYXIgbWVociBrYW5kaWRhdGVuIGZpbmRlbiBsaWVzc2VuLiBkYWhlciBtZWluZQpiaXR0ZSBhbiBldWNoOiBkZW5rdCBtYWwgZHJ1ZWJlciBuYWNoLCB3ZXIgZ2VlaWduZXQgc2VpbiBrb2VubnRlIHVuZC9vZGVyIG9iCmlociBuaWNodCB2aWVsbGVpY2h0IHNlbGJzdCBlaW4gYW10IHVlYmVybmVobWVuIHdvbGx0LiBlcyBpc3QgbmljaHQgZ2VyYWRlCnVlYmVyd2FlbHRpZ2VuZCB2aWVsIGFyYmVpdCwgd2FzIGF1ZiBldWNoIHdhcnRldCwgYWxzbyBrZWluZSBhbmdzdCA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdmVyZWluc3ZvcnN0YW5kIChUZWRkeSwgMjcuIEp1biAyMDAzLCAyMDoxMDo0NSk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTA1NjA1MzA1NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA1NjA1MzA1NgpVbSBXdXJ6ZWxzIEFydGlrZWwgenUgdW50ZXJzdHVldHplbiB1bmQgYXVjaCAxIG9kZXIgMiBhbmRlcmUgU2FjaGVuIHp1CmtsYWVyZW46CgpKYSwgZXMgaXN0IEdlbGQgZGEsIHdpciBnZWJlbiBmYXN0IG5pY2h0cyBhdXMgdW5kIG5laG1lbiBndXQgZWluLiAKRGllIFBsYXR0ZSwgdm9uIGRlciBDYXR0eSBzcHJhY2gsIGlzdCBiZXJlaXRzIGdlbmVobWlndCwgZGFzIHNvbGx0ZSBDYXR0eQpiZWthbm50IHNlaW4sIGVzIG11c3Mgc2llIG51ciBqZW1hbmQga2F1ZmVuIHVuZCBlaW5iYXVlbiB1bmQgZXZ0bC4gbm9jaAplbnRzY2hlaWRlbiwgd2VsY2hlIGVzIHdlcmRlbiBzb2xsLgoKRWluaWdlLCBhYmVyIG5pY2h0IGFsbGUsIHdlcmRlbiBkZW4gam9iIHdlaXRlciBtYWNoZW4sIGljaCBzZWxiZXIgZ2Vob2VyZSB6dQpkZW5lbiwgZGllIG5pY2h0IG1laHIga2FuZGlkaWVyZW4sIGRhIGljaCBkYXMgZnVlciB2b2VsbGlnIHdpdHpsb3MgbGhhbHRlLgpFaHJsaWNoIGdlc2FndCBoYWV0dGUgaWNoIGRvY2ggc2Nob24gdm9yIDIgSmFocmVuIGF1ZmhvZXJlbiBzb2xsZW4uCgpXYXMgZWluZW4gbmV1ZW4gUmVjaG5lciBhbmdlaHQsIGltIE1vbWVudCBzdG9jaGVybiBkaWUgbWVpc3RlbiB3b2hsIHZvZWxsaWcgaW0KRHVua2VsbiwgZXMgaGFlbmd0IGltaG8gZXJzdG1hbCBiZWkgSGF0ZSwgZGFzIGVyIHNhZ3Qgd2FzIG1vZWdsaWNoIGlzdCwgZGFubgprYW53ZWl0ZXIgc3Bla3VsaWVydCB3ZXJkZW4uCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZWlubGFkdW5nIHp1ciBNaXRnbGllZGVydmVyc2FtbWx1bmcgKFZpcGVyLCAgNy4gSnVsIDIwMDMsIDIxOjM2OjA3KToKWnVyIGRpZXNqYWVocmlnZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyBGb2VyZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLiBWLiwgZGllIGFtIA0KDQoJU2Ftc3RhZywgZGVuIDAyLiBBdWd1c3QgMjAwMyB1bSAxMy4wMCBVaHINCglpbiBkZXIgSGVyYmVyZ2UgenVtIEJyaWVzZWxhbmcsIEFtIFdhbGQgMjQsIDE0NjU2IEJyaWVzZWxhbmcgDQoNCnN0YXR0ZmluZGV0LCBsYWRlbiB3aXIgYWxsZSBNaXRnbGllZGVyIGVpbi4NCkRpZSBWZXJzYW1tbHVuZyBmaW5kZXQgaW0gUmFobWVuIGRlciBNb3JnZW5HcmF1ZW4tUGFydHkgc3RhdHQuDQoNClRhZ2Vzb3JkbnVuZzoNCjEuCUJlZ3J1ZXNzdW5nDQoyLglWZXJsZXNlbiBkZXMgbGV0enRlbiBQcm90b2tvbGxzDQozLglCZXJpY2h0ZSBkZXMgVm9yc3RhbmRlcyAoQWt0aXZpdGFldGVuLCBTdGF0aXN0aWssIEthc3NlKSANCjQuCUJlcmljaHQgZGVyIEthc3NlbnBydWVmZXINCjUuCUVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMNCjYuCU5ldXdhaGxlbiBkZXMgVm9yc3RhbmRlcyB1bmQgZWluZXMgS2Fzc2VucHJ1ZWZlcnMNCjcuCVNhdHp1bmdzYWVuZGVydW5nZW4NCjguCUthdWYgZWluZXMgbmV1ZW4gUmVjaG5lcnMNCjkuIAlWb3JzY2hhdSBhdWYgMjAwMw0KMTAuICAJVmVyc2NoaWVkZW5lcw0KDQpXZXIgV3VlbnNjaGUgenVyIEVyZ2Flbnp1bmcgZGVyIFRhZ2Vzb3JkbnVuZyBoYXQsIG11c3MgZGllcyBiaXMgenVtIDI1LjA3LjIwMDMgZGVtIFNjaHJpdGZ1ZWhyZXIgbWl0dGVpbGVuLg0KDQp6dSBUT1AgNzogDQqnIDEsIE5yLjEgZGVyIFNhdHp1bmcgc29sbCBkYWhpbmdlZ2VuZCBnZWFlbmRlcnQgd2VyZGVuLCBkYXNzIGVyIGxhdXRldDogIkRlciBWZXJlaW4gZnVlaHJ0IGRlbiBOYW1lbiAiRm9lcmRlcnZlcmVpbiBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLlYuIiwgZGVyIFp1c2F0eiwgZGFzcyBkaWUgRWludHJhZ3VuZyBpbSBWZXJlaW5zcmVnaXN0ZXIgYWxzYmFsZCBlcmZvbGdlbiBzb2xsLCBzb2xsIGdlc3RyaWNoZW4gd2VyZGVuLiANCqcgNyBOci4gMiBzb2xsIGRhaGluZ2VoZW5kIGdlYWVuZGVydCB3ZXJkZW4sIGRhc3MgZGVyIEdlZ2Vuc3RhbmRzd2VydCAxMDAwLC0tIEV1cm8gYmV0cmFlZ3QuDQqnIDkgTnIuIDIgc29sbCBkYWhpbmdlaGVuZCBnZWFlbmRlcnQgd2VyZGVuLCBkYXNzIGRhcyBWZXJtb2VnZW4gbmFjaCBBdWZsb2VzdW5nIGRlcyBWZXJlaW5zIG5pY2h0IGFuIGRpZSBVbmkgTXVlbnN0ZXIsIHNvbmRlcm4gYW4gZWluZSBhbmRlcmUgZ2VtZWlubnVldHppZ2UgT3JnYW5pc2F0aW9uIGZhZWxsdC4NCg0KSWNoIGhvZmZlLCB3ZWdlbiBkZXIgc2VociB3aWNodGlnZW4gVGFnZXNvcmRudW5nc3B1bmt0ZSwgYXVmIHphaGxyZWljaGVuIEJlc3VjaC4NCgoKVmlwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlY2h0c2NodXR6dmVyc2ljaGVydW5nIC0gWndpc2NoZW5zdGFuZCAoVHJveSwgIDYuIEF1ZyAyMDAzLCAwODowMTo1Myk6CkhhbGxvIExldXRlLAoKc28gZWluZSBWZXJzaWNoZXJ1bmcgd2llIHdpciBzaWUgaGFiZW4gd29sbGVuIHNjaGVpbnQgZWluIGVjaHQgaGVpc3NlcyBFaXNlbgp6dSBzZWluLiBBbGJhdHJvcyBoYXQgZGlyZWt0IDMgS29uemVybmUgZ2VmcmFndCB1bmQgQWJzYWdlbiBlcmhhbHRlbi4gTnVuIGlzdApudXIgbm9jaCBlaW5lIFNpbmdsZS1JbmRpcmVjdC1BbmZyYWdlIGJlaSBlaW5lbSBHZW5lcmFsdmVydHJldGVyIG9mZmVuLiBEZXJlbgpFcmdlYm5pcyB3aXJkIGFiZXIgRG9ubmVyc3RhZyBlcndhcnRldC4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWNodHNjaHV0enZlcnNpY2hlcnVuZyAtIFp3aXNjaGVuc3RhbmQgKFpvb2ssICA2LiBBdWcgMjAwMywgMTA6MzE6NTcpOgp+IyEgcm49VHJveSBydD0xMDYwMTQ5NzEzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDYwMTQ5NzEzCldvYmVpIG1pciBqYSBuYWNoIHdpZSB2b3IgbmljaHQgZ2FueiBrbGFyIGlzdCwgd2VyIHNpY2ggZ2VnZW4gd2FzIHdpZQp2ZXJzaWNoZXJuIHNvbGx0ZS4gRGllIGdhbnplIEtvbnN0cnVrdGlvbiBtaXQgRnJhdW5ob2ZlciwgTUdlViB1bmQgCk1vcmdlbkdyYXVlbiBpc3QgZnVlciBtZWluZW4ganVyaXN0aXNjaGVuIExhaWVuYmxpY2sgYXJnIHVuZHVyY2hzY2hhdWJhci4KTWFsIHNlaGVuLCBvYiBpY2ggZGEgbWFsIG5lbiBKdXJpc3RlbiBtaXQgYmVsYWVzdGlnZW4ga2Fubi4uLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVyIFZvcnN0YW5kIChWaXBlciwgIDcuIEF1ZyAyMDAzLCAyMToxNjoyNCk6CkJlaSB1bnNlcmVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBhbSAyLiBBdWd1c3QgaXN0IGVpbiBuZXVlciBWb3JzdGFuZCBnZXdhZWhsdAp3b3JkZW4uCkFuYXRvbCBpc3QgbnVuIDEuIFZvcnNpdHplbmRlcgpDYXR3ZWF6bGUgaXN0IDIuIFZvcnNpdHplbmRlcgpNYWhhcmV0IGlzdCBLYXNzaWVyZXJpbgpWaXBlciBibGVpYnQgU2NocmlmdGZ1ZWhyZXIKCkljaCB3dWVuc2NoZSBpbnNiZXNvbmRlcmUgZGVuIE5ldWVuIGltIFZvcnN0YW5kIGVpbmUgZXJmb2xncmVpY2hlIEFyYmVpdC4KCkRhcyBQcm90b2tvbGwgZGVyIFZlcnNhbW1sdW5nIHdpcmQgbmFlY2hzdGUgV29jaGUgaGllciB2ZXJvZWZmZW50bGljaHQsIGRhIGhhYgppY2ggbmFlbWxpY2ggVXJsYXViIDotKQoKVmlwZXIsIFNjaHJpZnRmdWVocmVyIHNlaXQgMTIuMTk5NAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDcmFzaCBhbSAyMS4wOC4wMyAoR2xvaW5zb24sIDIxLiBBdWcgMjAwMywgMTg6MjU6NDUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNjE0ODI1NDQgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwNjE0NDc4MTIKTnVyIG1hbCB2b3JzaWNodGlnIG5hY2hnZWZyYWd0OiBXaWUgc2llaHRzIG1pdCBkZW0gbmV1ZW4gUmVjaG5lciBhdXMgdW5kIHdhcwppc3QgbWl0IGRlbSBQcm90b2tvbGwgZGVyIFNpdHp1bmc/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVib290IChDYXR3ZWF6bGUsIDI4LiBBdWcgMjAwMywgMjM6MjM6NDApOgp+IyEgcm49R25vbWUgcnQ9MTA2MjEwNTQwOSByZz1kaXNrdXNzaW9uCn4jISB0aWQ9MTA2MTk4Mjk3MQpEZXIgVmVyZWluc3ZvcnN0YW5kIGlzdCBiZXJlY2h0aWd0IGVpZ2VubWFlY2h0aWcgdWViZXIgQXVzZ2FiZW4gYmlzIHp1IDEwMDAKRXVybyB6dSBlbnRzY2hlaWRlbi4KVWViZXIgZWluZSBVU1Ygd3VyZGUgYmlzaGVyIG5pY2h0IGdlcmVkZXQsIGljaCBiZXp3ZWlmZWwsIGRhc3MgZWluZQp2ZXJudWVuZnRpZ2UgVVNWIGZ1ZXIgdW50ZXIgMTAwMCBFdXJvIHp1IGhhYmVuIGlzdC4KSWNoIHdlaXNzIG5pY2h0LCB3aWUgZGFzIEhvdXNpbmcgYmVpIEZva3VzIChTdWJhYnRlaWx1bmcgZGVyIEZyYXVuaG9mZXIKR2VzZWxsc2NoYWZ0LCBiZWkgZGVyIGRlciBNRy1SZWNobmVyIHN0ZWh0KSBhdXNzaWVodCwgbW9lZ2xpY2hlcndlaXNlIGlzdCBkb3J0CkFuc2NobHVzcyBhbiBlaW5lIFVTViBtb2VnbGljaCB1bmQgZWluZSBlaWdlbmUgc2VwYXJhdGUKaG9laGVuZWluaGVpdGVuZnJlc3NlbmRlIFVTViBpc3QgbmljaHQgbm90d2VuZGlnLgpXZW5uIGRlciBWZXJlaW4gZWluZW4gbmV1ZW4gUmVjaG5lciBrYXVmdCBfdW5kXyBtb2VnbGljaGVyd2Vpc2Ugbm9jaCBkZW4gS2F1ZgplaW5lciAoYmVyZWl0cyBiZXdpbGxpZ3RlbikgQmFja3VwbG9lc3VuZyB1bXNldHp0LCB3aXJkcyBlbmcgbWl0IGRlbiBGaW5hbnplbiwKaWNoIGdsYXViZSBuaWNodCwgZGFzcyBkYSBub2NoIGVpbmUgVVNWIGRyaW4gaXN0LgoKaS5BLiBZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJlYm9vdCAoUm9uZGEsIDI4LiBBdWcgMjAwMywgMjM6MjU6MzQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNjIxMDU4MjAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNjE5ODI5NzEKLi4uIGVzIHNlaSBkZW5uLCBkYXNzIGV2ZW50dWVsbCBuZXR0ZSBNdWRkZXIgbm9jaCBldHdhcyBzcGVuZGVuLCBkYW1pdCB3aXIgdW5zCmVpbmUgdW50ZXJicmVjaHVuZ3NmcmVpKGVyKWUgU3Ryb212ZXJzb3JndW5nIHVuZCBkYW1pdCBldHdhcyB3ZW5pZ2VyIFJlYm9vdHMKbGVpc3RlbiBrb2VubmVuLi4uCgpSb25kYSAqc2Nod2Vua3QgZGFzICJTcGVuZGV0IGZ1ZXIgZGVuIG5ldWVuIE11ZHJlY2huZXIiLUZhZWhuY2hlbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlYm9vdCAoSHVtbmksIDI4LiBBdWcgMjAwMywgMjM6Mjc6MDUpOgp+IyEgcm49Um9uZGEgcnQ9MTA2MjEwNTkzNCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2MTk4Mjk3MQpoZSwgd2llIHdhciBkYXM/IFdlbm4gZGVyIFZlcmVpbiB6dXZpZWwgS2FwaXRhbCBoYXQgdmVybGllcnQgZXIgc2VpbmUKR2VtZWlubnVldHppZ2tlaXQ/IFZvcnNpY2h0IDstKQoKSHVtbmkKUFM6IFRyb3R6ZGVtIGlzdCBkZXIgdmVyZWluIHRvbGwsIHdpY2h0aWcgdW5kIGd1dCB1bmQgamVkZXIgc29sbHRlIE1pdGdsaWVkCndlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJlYm9vdCAoUm9uZGEsIDI4LiBBdWcgMjAwMywgMjM6MzA6MDEpOgp+IyEgcm49SHVtbmkgcnQ9MTA2MjEwNjAyNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2MTk4Mjk3MQpOZWluLiBEYXMgc2VoZSBpY2ggYW5kZXJzLiBFcyBtdXNzIG5pY2h0IGplZGVyIE1pdGdsaWVkIGltIFZlcmVpbiB3ZXJkZW4uIEVzCndhZXJlIG51ciBldmVudHVlbGwgZWluIG5ldHRlciBadWcgc2ljaCBtYWwgZm9sZ2VuZGVzIHp1IHVlYmVybGVnZW4uLi4KCkRhcyBNRyBsYWV1ZnQgYXVmIGVpbmVtIFJlY2huZXIsIGRlciBtaXQgU3BlbmRlbiB1bmQgTWl0Z2xpZWRzYmVpdHJhZWdlbiBkZXIKVmVyZWluc21pdGdsaWVkZXIgZmluYW56aWVydCB3aXJkLiBWaWVsZSB2b24gdW5zIG51dHplbiBpaG4gc2VociB2aWVsLiBVbmQKZmFzdCBhbGxlIHZvbiB1bnMgbGFzc2VuIHJlY2h0IHZpZWwgR2VsZCBmdWVyIE9ubGluZS1HZWJ1ZWhyZW4sIEZsYXRyYXRlcyBvZGVyCnNvLCB1bSBoaWVyIHNwaWVsZW4genUga29lbm5lbi4gQWxzbyB3YWVyZSBlcyBlaW5lIElkZWUsIGRhc3MgbWFuIGVpbiBwYWFyCkNlbnQgb2RlciBFdXJvIGRhdm9uIGFiendhY2t0LCBkYW1pdCBkYXMgTW9yZ2VuZ3JhdWVuIGF1ZiBEYXVlciBzdGFiaWwgdW5kCmhvZmZlbnRsaWNoIG9obmUgZ3JvZXNzZXJlbiBEYXRlbnZlcmx1c3QgbGF1ZmVuIGthbm4uLi4KClJvbmRhICpkZW5rdCBsYXV0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUmVib290IChDYXR3ZWF6bGUsIDI5LiBBdWcgMjAwMywgMDA6MDg6MTApOgp+IyEgcm49SHVtbmkgcnQ9MTA2MjEwNjAyNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2MTk4Mjk3MQpEZXIgVmVyZWluIGthbm4gYmVpIGVpbmVyIFVlYmVycHJ1ZWZ1bmcgX3VudGVyIFVtc3RhZW5kZW5fIHNlaW5lIApHZW1laW5udWV0emlna2VpdCB2ZXJsaWVyZW4gKGljaCBnbGF1YiBpbiBlaW5lbSBzcGFldGVuIFNjaHJpdHQsIHZvcmhlciBsb2VzdAptYW4gdW5zIHdhaHJzY2hlaW5saWNoIGF1ZiA6LSksIHdlbm4gZGFzIGVpbmdlbm9tbWVuZSBHZWxkIG5pY2h0IHp3ZWNrbWFlc3NpZwphdXNnZWdlYmVuIHd1cmRlLgoKSWNoIHJlZGUgamV0enQgYXVzIGRlbSBHZWRhZWNobmlzOgpHZW5lcmVsbCBnaWx0LCBkYXMgZWluIGdlbWVpbm51ZXR6aWdlciBWZXJlaW4gRWlubmFobWVuIHNhdHp1bmdzYmVkaW5ndAppbm5lcmhhbGIgdm9uIHp3ZWkgSmFocmVuIGF1c2dlZ2ViZW4gaGFiZW4gbXVzcy4gSW5zYmVzb25kZXJlIGRhcmYgR2VsZCBuaWNodApnZWhvcnRldCBvZGVyIGZ1ZXIgdW5udWV0emVzIG5lYmVuc2FlY2hsaWNoZXMgWmV1ZyBhdXNnZWdlYmVuIHdlcmRlbi4gCgpBbiBkaWVzZXIgU3RlbGxlIGxlYmVuIHdpciB2ZXJtdXRsaWNoIGV0d2FzIGdyZW56d2VydGlnIChpY2gga2VubiBkaWUgRmluYW56ZW4KZGVyIGxldHplbiBKYWhyZSBuaWNodCBpbSBEZXRhaWwpLgoKX0FiZXJfIGVzIGdpYnQgc293ZWl0IGljaCBtaWNoIGVyaW5uZXIgYXVjaCBkaWUgUmVnZWwsIGRhc3MgZnVlciB6dWt1ZW5mdGlnZQpBdXNnYWJlbiBSdWVja2xhZ2VuIGdlYmlsZGV0IHdlcmRlbiBkdWVyZmVuLiBXZW5uIHdpciBhbHNvIGFsbGUgNC01IEphaHJlCmVpbmVuIG5ldWVuIFJlY2huZXIgYnJhdWNoZW4sIGRhcmYgbWFuIGRhZnVlciB3YXMgc3BhcmVuLiAKCkljaCBkZW5rZSBkYW1pdCBzaW5kIHdpciBhdWYgZGVyZSBzaWNoZXJlbiBTZWl0ZS4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUmVib290IChSb25kYSwgMjkuIEF1ZyAyMDAzLCAwMDowOTo1Nik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2MjEwODQ5MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2MTk4Mjk3MQouLi4gb2RlciB1bSBlcyBrdXJ6IHp1IHNhZ2VuOiBXZW5uIGRlciBuZXVlIFJlY2huZXIgZGEgaXN0LCBzaW5kIHdpciByZWxhdGl2CnBsZWl0ZSB1bmQgaGFiZW4ga2F1bSBub2NoIFJ1ZWNrbGFnZW4uIE9kZXIgaGFiIGljaCBkYXMgZmFsc2NoIHVlYmVyc2NobGFnZW4/CgpSb25kYSAqYWJzaWNodGxpY2ggbmljaHQgaW4gU2NobWFycm4uLi4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUmVib290IChDYXR3ZWF6bGUsIDI5LiBBdWcgMjAwMywgMDA6MTI6MTEpOgp+IyEgcm49Um9uZGEgcnQ9MTA2MjEwODU5NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2MTk4Mjk3MQpHYW56IHNvIHNjaGxpbW0gaXN0IGVzIGRhbm4gZG9jaCB3aWVkZXIgbmljaHQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFJlYm9vdCAoUm9uZGEsIDI5LiBBdWcgMjAwMywgMDA6MTU6MzkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNjIxMDg3MzEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNjE5ODI5NzEKQ2F0dHkuIE9rLiBFcyBpc3QgbmFjaCB6d29lbGYgbmFjaHRzLiBJY2ggYmluIG5pbW1lciBmaXQuIEFiZXI6IElNSE8gc3RlaGVuCmF1cyBkZXIgU2l0enVuZyBvZmZlbjogS2F1ZiBkZXMgUmVjaG5lcnMuIEthdWYgQmFja3VwLUxvZXN1bmcgKGF1cyBkZXIgdm9yaWdlbgpvZGVyIHZvci12b3JpZ2VuIFNpenVuZy4uLikuIFN1bW1lOiBrbmFwcCB1bnRlciBkZW0sIHdhcyB3aXIgZ3JhZCBpbiBkZXIgS2Fzc2UKaGFiZW4uIEljaCBoYWIgbWVociBQb2xzdGVyIGxpZWJlci4gQWJlciBpY2ggYmluIGF1Y2gga2VpbiBnZW1laW5udWV0emlnZXIKVmVyZWluIDstKQoKUm9uZGEgKmZhZW5kZSBlcyB0cm90emRlbSBwcmltYSwgd2VubiBtZWhyIExldXRlIGhpZXIgd3Vlc3N0ZW4sIGRhc3MgZGFzIE1HCm5pY2h0IGtvc3RlbmxvcyBpc3QuLi4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUmVib290IChHbm9tZSwgMjkuIEF1ZyAyMDAzLCAwMDoyMDowOSk6Cn4jISBybj1Sb25kYSBydD0xMDYyMTA4OTM5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDYxOTgyOTcxCm1laHIgcG9sc3Rlcj8gZnVlciBfd2FzXz8KcGFydHlzIGJlemFobGVuIHdpciBhbGxlIGF1cyBlaWdlbmVyIHRhc2NoZSwgZ2VuYXVzbyB3aWUgZGllIG9ubGluZS0Ka29zdGVuIChsZWlkZXIpLgpibGVpYnQgYWxzbyBudXIgZGllIGJlemFobHVuZyBlaW5lcyByZWNobmVycyBhbGxlIHBhYXIgamFocmUuCndhaHJsaWNoIGVpbmUgR0FOWiBzcG9udGFuZSBmaW5hbnppZWxsZSBiZWxhc3R1bmcuCgpnbk9tZSBzZXVmenQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogUmVib290IChIdW1uaSwgMjkuIEF1ZyAyMDAzLCAwMDoyMTo1MCk6Cn4jISBybj1Hbm9tZSBydD0xMDYyMTA5MjA5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDYxOTgyOTcxCkhlLCBEdSB2ZXJnaXNzdCBkaWUgUmVpc2Vrb3N0ZW4gZnVlciBWb3J0cmFnZW5kZS4gQXVjaCBlaW4gQmVzY2hsdXNzLCBkYXNzIGRpZQpiZXphaGx0IHdlcmRlbiwgdW5kIHp3YXIgZWluIElNSE8gd2ljaHRpZ2VyIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBSZWJvb3QgKFJvbmRhLCAyOS4gQXVnIDIwMDMsIDAwOjIzOjE2KToKfiMhIHJuPUdub21lIHJ0PTEwNjIxMDkyMDkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNjE5ODI5NzEKR2VuYXUgZGFzIG1laW5lIGljaCwgR25vbWUuIFdlbm4gdW5zIG5lbiBSZWNobmVyIGFicmF1Y2h0LCBkZXIgdG9sbGUKIkdvbGQtU3VwcG9ydC1WZXJ0cmFnIiBvZGVyIHdhcyBhdWNoIGltbWVyIG5pY2h0IGVpbnNwcmluZ3QgLSBkYW5uIGlzdCBkYXMgTUcKdG90LiBPZGVyIHNlaGUgaWNoIGRhcyBmYWxzY2g/IEhhYmVuIHdpciBhbmRlcmUgUmVjaG5lciwgYXVmIGRpZSB3aXIgbm90ZmFsbHMKYXVzd2VpY2hlbiBrb2VubnRlbj8KSWNoIGRlbmsgZWluZmFjaCBsYXV0IGRhcnVlYmVyIG5hY2ggLSB3ZW5uIGljaCBkYW1pdCBmYWxzY2ggbGllZ2U6IGVya2xhZXJ0cwptaXIgYml0dGUuIFdhcyBtYWNoZW4gd2lyIGJlaSBlaW5lbSBQbGF0dGVuLSB1bmQgQm9hcmRjcmFzaCwgZGVuIGRpZQpIZXJzdGVsbGVyZmlybWEgbmljaHQgdWViZXJuaW1tdD8KClJvbmRhICpoYXQgZ3JhZCBlaW5mYWNoIGRlbiBQZXNzaW1pc211cy1Nb2R1cyBhbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBSZWJvb3QgKEdub21lLCAyOS4gQXVnIDIwMDMsIDAwOjM0OjEyKToKfiMhIHJuPVJvbmRhIHJ0PTEwNjIxMDkzOTYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNjE5ODI5NzEKZGFubiBmYWhyZSBpY2ggenUgaGF0ZSBtaXQgZWluZW0gbWVpbmVyIGJlaWRlbiBIRHMsIGRpZSBpY2ggaGllciBub2NoCmlyZ2VuZHdvIHJ1bWZsaWVnZW4gaGFiZS4gRkFMTFMgaGF0ZSBzb3dhcyB1ZWJlcmhhdXB0IG5vZXRpZyBoYXQgdW5kCm5pY2h0IHNlbGJlciAyLTMgcmVjaG5lciAoKyBkaXYuIGVyc2F0enRlaWxlKSBzZWluIGVpZ2VuIG5lbm50LgoKZ2xhdWIgbWlyLCBoYXJkd2FyZXByb2JsZW1lIHdpcmQgZXMgbmljaHQgZ2ViZW4sIHVuZCB3ZW5uLCBudXIga3Vyei0KZnJpc3RpZy4gVklFTCB3aWNodGlnZXIgaXN0IGRpZSBiZXJ1aGlnZW5kZSB0YXRzYWNoZSwgZGFzcyBtYW4gZWluCm9yZGVudGxpY2hlcyBiYWNrdXAtc3lzdGVtIGhhdCwgdm9uIGRlbSBtYW4gYXVzIHJlY2h0IHVua29tcGxpemllcnQKdW5kIGt1cnpmcmlzdGlnIGVpbmVuIHJlbGF0aXYgYWt0dWVsbGVuIHN0YW5kICg8MjRoKSBkZXMgbXVkcyB3aWVkZXIKYXVmc3BpZWxlbiBrYW5uLgoKdW5kIHdlbm4gZGVyIG5ldWUgcmVjaG5lciBhbiBkaWUgaGF1c2VpZ2VuZSBVU1Yga29tbXQuLi4gdW1zbyBiZXNzZXIuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFJlYm9vdCAoT3JrdG9ldGVyLCAyOS4gQXVnIDIwMDMsIDEyOjM3OjI3KToKfiMhIHJuPVJvbmRhIHJ0PTEwNjIxMDkzOTYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNjE5ODI5NzEKMS4gRGVyIGFrdHVlbGxlIFJlY2huZXIgaXN0IGphIGltbWVyIG5vY2ggZGVtIFZlcmVpbiwgYWxzbyBzZWxic3QgV2VubiBkZXIKbmV1ZSBSZWNobmVyIGRlbiBHZWlzdCBhdWZnaWJ0IHVuZCBlcyBrZWluZW4gRXJzYXR6IGdlYmVuIHNvbGx0ZSwga29lbm50ZSBkZXIKYWx0ZSBSZWNobmVyIHdpZWRlciBha3RpdmllcnQgd2VyZGVuLiBBdXNzZXJkZW0gc2luZCBCYWNrdXAgdW5kIFVTViBkb2NoIHdvaGwKZWggZGFkdXJjaCBlcmxlZGlndCwgZGFzIGRlciBuZXVlIGVpbiBFaW5zY2h1YiBpbiBlaW5lbSBSYWNrIHdpcmQgZGFzIHNvd29obAp1c3YgaGF0IGFscyBhdWNoIGFuIGVpbiBCYWNrdXBzeXN0ZW0gYW5nZXNjaGxvc3NlbiBpc3QsIG9kZXI/CgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUmVib290IChKdXN0YXZpdXMsIDI5LiBBdWcgMjAwMywgMTk6MjM6MjUpOgp+IyEgcm49Um9uZGEgcnQ9MTA2MjEwNTkzNCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2MTk4Mjk3MQpBUEMgMTUwMCBWQSBVU1YtQW5sYWdlbiBnaWJ0cyBzY2hvbiBhYiBjYSA0MDAtNTAwIEV1ci4od2llZ2VuIHp3YXIgYW4gZGllIDIwCmtnIHNpbmQgYWJlciBpaHIgZ2VsZCB3ZXJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUmVib290IChHcmltbWJvcm4sIDI5LiBBdWcgMjAwMywgMTk6MjY6MzUpOgp+IyEgcm49SnVzdGF2aXVzIHJ0PTEwNjIxNzc4MDUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNjE5ODI5NzEKSWNoIHZlcnN0ZWhlIGRhcyBHZXNjaHJlaSB1bSBlaW5lIFVTViBlaHJsaWNoIGdlc2FndCBuaWNodC4gV2lyIHNpbmQgdW5zIGVpbmlnCmRhc3MgZGllIERhdGVuc2ljaGVyaGVpdCBkZXMgUmVjaG5lcnMgKHNwYWV0ZXN0ZW5zIHVlYmVyIGVpbiBiYWNrdXApIGdlc2ljaGVydAppc3QuIEpvdXJuYWxpbmcgZmlsZSBzeXN0ZW1lIGV4aXN0aWVyZW4gdW5kIHNpbmQgaW0gRWluc2F0ei4KV2FzIER1IGFsc28gc2Fnc3QgaXN0LCBkYXNzIGRpZSAqQ2hhbmNlKiwgZWluIG9kZXIgdmllbGxlaWNodCB6d2VpIHJlYm9vdHMgaW0KSmFociB6dSB2ZXJtZWlkZW4gYnp3LiBpbSBNRyBhbmdla3VlbmRpZ3QgenUgaGFiZW4sIDQwMC01MDAgRVVSIHdlcnQgaXN0PyBJY2gKd2Vpc3MgbmljaHQsIGlyZ2VuZHdpZSBicmF1Y2h0IGlociBTcGllbGVyIG1hbCBlaW5lbiByZWFsaXR5IGNoZWNrLCBhYmVyCmVocmxpY2guLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUmVib290IChQaXRmYWxsLCAyOS4gQXVnIDIwMDMsIDE5OjI4OjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYyMTc3OTk1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDYxOTgyOTcxCkR1IHZlcnN0ZWhzdCBzbyBlaW5pZ2VzIEdlc2NocmVpIG5pY2h0LgpBYmVyIGRhcyBuaW1tdCBkaXIgZWggZmFzdCBuaWVtYW5kIHVlYmVsLgoKUGl0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFJlYm9vdCAoR3JpbW1ib3JuLCAyOS4gQXVnIDIwMDMsIDE5OjM0OjAwKToKfiMhIHJuPVBpdGZhbGwgcnQ9MTA2MjE3ODEzMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2MTk4Mjk3MQpEaWVzZW0gdWViZXJ6ZXVnZW5kIHZvcmdlYnJhY2h0ZW4gQXJndW1lbnQga2FubiBpY2ggbWljaCBuYXR1ZXJsaWNoIG5pY2h0CmVudHppZWhlbiB1bmQgYWVuZGVyZSBzb2ZvcnQgbWVpbmUgTWVpbnVuZywgYmluIGRhaGVyIGpldHp0IGF1Y2ggZnVlciBlaW5lClVTVi4KCk5laW4sIG1laW5lIE1laW51bmcgYWxzIFZlcmVpbnNtaXRnbGllZDogSWNoIGJpbiBkYWdlZ2VuLCBkYXNzIHZvbiB1LmEuIG1laW5lbQpHZWxkIGVpbmUgVVNWIGFuZ2VzY2hhZmZ0IHdpcmQuIEVpbmUgc3RpY2hoYWx0aWdlIEJlZ3J1ZW5kdW5nIGhhYmUgaWNoIGluCm1laW5lbSBsZXR6dGVuIEFydGlrZWwgaGllciBkYXJnZWxlZ3QuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBSZWJvb3QgKE5vbm5lLCAzMC4gQXVnIDIwMDMsIDA3OjU2OjQyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYyMTc4NDQwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDYxOTgyOTcxClVuZCB3aWUgc2llaHQgZXMgbWl0IFVlYmVyc3Bhbm51bmdzc2NodXR6IGF1cz8gVmVybnVlbmZpZ2UgVVNWIGhhYmVuIHNvd2FzIHVuZApzb3dhcyBzY2h1ZXR6dCBkaWUgSGFyZHdhcmUsIHdhcyBpbSBFbmRlZmZla3Qgd2llZGVyIEdlbGQgc3BhcmVuIGtvZW5udGUuIERpZQpTdHJvbXZlcnNvcmdudW5nIHNlbGJzdCB3YWVyZSBkYW1pdCBibG9zcyBlaW4gcG9zaXRpdmVyIE5lYmVuZWZmZWt0LgoKQWxsZXJkaW5ncyBtZWluZSBpY2ggbWljaCBlcmlubmVybiB6dSBrb2VubmVuLCBkYXMgSGF0ZSBzYWd0ZSwgYWxsZSBSZWNobmVyIGluCmRlbSBSYWNrIGhhZW5nZW4gYW4gZWluZXIgVVNWcyB1bmQgZGVuIE1HLVJlY2huZXIgaW5zIEJhY2t1cCBlaW56dWtsaW5rZW4sIHNlaQprZWluIFByb2JsZW0uIEFiZXIgaWNoIG1hZyBtaWNoIGlycmVuLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUG9zdGZhZWNoZXIuLi4gKEdsb2luc29uLCAzMC4gU2VwIDIwMDMsIDAwOjU1OjI1KToKfiMhIHJuPVpvb2sgcnQ9MTA2NDg3MTA3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjQ4NzEwNzUKTWhoLiBEYSBmYWxsZW4gbWlyIGRvY2ggZ2xlaWNoIHp3ZWkgRGluZ2UgZWluOiBlaW4gUGF0Y2ggdW0gZGllIG1vZWdsaWNoZW4KRm9sZGVyIGdnZi4gbnVyIGJlaSBHZWJyYXVjaCB6dSBsYWRlbiB1dXVuZCAuLi4gd2FzIGlzdCBkZW5uIG1pdCBkZW0KYmVzY2hsb3NzZW5lbiBSZWNobmVyPyBTdGF0dXNtZWxkdW5nPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnZvcnN0YW5kc21haWwgKENhdHdlYXpsZSwgIDkuIE9rdCAyMDAzLCAyMzo0NTozOSk6Ck1vaW4hCgpGdWVyIGFsbGUgZGllamVuaWdlbiwgZGllIGp1ZW5nc3QgdmVyc3VjaHQgaGFiZW4gc29sbHRlbiwgZWluZSBtYWlsIGFuCnZvcnN0YW5kQG1nLm11ZC5kZSB6dSBzY2hpY2tlbjoKCkRpZSBBZHJlc3NlIHdhciBsZWlkZXIgZGllIGxldHplbiBwYWFyIFRhZ2Uga2FwdXR0LCBnZWh0IGpldHp0IGFiZXIgd2llZGVyCihkYW5rIGFuIEhhdGUpLiBXZXIgYWxzbyBlaW5lIEFudHdvcnQgdmVybWlzc3QsIGVpbmZhY2ggbm9jaCBtYWwgbWFpbGVuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJlaW5za2Fzc2UgKE1haGFyZXQsIDI1LiBPa3QgMjAwMywgMTE6MTE6NDIpOgpIYWxsbyBhbGxlcnNlaXRzLAoKaWNoIGJpbiBnZXJhZGUgZGFiZWksIGRpZSBVbnRlcmxhZ2VuIGR1cmNoenVnZWhlbiwgZGFtaXQgZGVtbmFlY2hzdCBlbmRsaWNoCmRpZSBCZWl0cmFlZ2UgZnVlciAyMDAzIGVpbmdlem9nZW4gd2VyZGVuIGtvZW5uZW4uCgpCaXR0ZSB0ZWlsdCBtaXIgRXVyZSBha3R1ZWxsZSBCYW5rdmVyYmluZHVuZyBtaXQsIGZhbGxzIHNpY2ggZGEgd2FzIGluIGRlbgpsZXR6dGVuIDIsIDMgSmFocmVuIGdlYWVuZGVydCBoYXQuICBJaHIga29lbm50IG1pciBhdWNoIGFsbGUgRXVyZQpCYW5rdmVyYmluZHVuZ2VuIHNjaGlja2VuLCBkYW1pdCBpY2ggZGllIGFiZ2xlaWNoZW4ga2Fubi4gIExpZWJlciBtYWNoIGljaCBtaXIKdm9yaGVyIGRpZSBBcmJlaXQsIGFscyBoaW50ZXJoZXIgbm9jaG1hbCBuYWNoenVmcmFnZW4uICBGZWhsZ2VzY2hsYWdlbmUKRWluenVnc3ZlcnN1Y2hlIGtvc3RlbiBuYWVtbGljaCBleHRyYSwgdW5kIGRhcyBtdXNzIGljaCBkYW5uIGxlaWRlciBFdWNoCmF1ZmJ1ZXJkZW4uCgpEaWUgbmV1ZSBCYW5rdmVyYmluZHVuZyBkZXMgVmVyZWlucyB3ZXJkZSBpY2ggaGllciBwb3N0ZW4sIHNvYmFsZCBlcyBlaW4gbmV1ZXMKS29udG8gZ2lidC4gIEFuIGRhcyBhbHRlIGJpdHRlIGtlaW5lIFVlYmVyd2Vpc3VuZ2VuIG1laHIgdGFldGlnZW4uCgpWaWVsZW4gRGFuayB1bmQgbGllYmVuIEdydXNzLAoKTWFoYSwgSHVldGVyaW4gZGVzIFNjaGF0emVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcyB0dXQgc2ljaCB3YXM/ISA6KSAoQW5hdG9sLCAxMS4gTm92IDIwMDMsIDIwOjI1OjIzKToKQWxvYSBNaXRnbGllZGVyIHVuZCBOb2NoLW5pY2h0LU1pdGdsaWVkZXIsIAppY2ggYmluIGluIGRlciB2ZXJnbnVlZ2xpY2hlbiBMYWdlLCBkZW4gV2lzc2Vuc2R1cnN0IGRlciBld2lnIApOZXVnaWVyaWdlbiBldHdhcyB6dSBzdGlsbGVuLiBFdHdhcywgZGVubiBkaWUgRnJhZ2UgenVyIEFudHdvcnQgCiI0MiIgd2Vpc3MgaWNoIG5vY2ggaW1tZXIgbmljaHQuIAoKMS4gTmV1ZXIgTXVkcmVjaG5lcgoKRGVyIFJlY2huZXIgaXN0IGRhLgoKSGF0ZSB3aXJkIGRlbiBSZWNobmVyIGVpbnJpY2h0ZW4sIHNvYmFsZCBlciBnZW51ZWdlbmQgWmVpdCAKZGF6dSBmaW5kZXQuICBEYXMga2FubiAodW5kIGRhcmYgLSBzbyBzdXBlcm1lZ2FkcmluZ2VuZCBpc3QgCmVzIG5pY2h0KSBub2NoIGVpbiBXZWlsY2hlbiBkYXVlcm4sIHN0ZWxsdCBldWNoIGFiZXIgCnNpY2hlcmhlaXRzaGFsYmVyIGRhcmF1ZiBlaW4sIGRhc3MgZXMgZGllc21hbCBrZWluZSAyMDAtVGFnZS0KVXB0aW1lIHdpcmQuCgpEYXMgU2NobXVja3N0dWVjayBpc3QgYXVzIGRlbSBIYXVzZSBERUxMIHVuZCB3aXJkIHdpZSBnZXBsYW50CmluIGVpbmVtIFJhY2sgZGVyIEZyYXVuaG9mZXIgRklSU1Qgd29obmVuLiBEaWUgZ2VuYXVlbiBEYXRlbgp3ZXJkZW4gc3BhZXRlc3RlbnMgYmVpIFVtenVnIG5hY2hnZWxpZWZlcnQuCgoKMi4gUHJvdG9rb2xsCgpXaXJkIGluIEt1ZXJ6ZSBhdWYgZGVyIFdlYnNlaXRlIHVuZCBhbiBkaWVzZXIgU3RlbGxlIHZlci0Kb2VmZmVudGxpY2h0LiBEYW5rZSBmdWVyIGV1cmUgR2VkdWxkLgoKCjMuIE1haWxpbmdsaXN0ZQoKRWluaWdlIGhhYmVuIGVzIHNjaG9uIGdlbWVya3QsIGRhc3MgaWNoIG1pY2ggZHVyY2ggZGllIExpc3RlCmRlciBNaXRnbGllZGVyIGFja2VyZSB1bmQgRW1haWxhZHJlc3NlbiBha3R1YWxpc2llcmUuIFdlbm4KaWNoIERpY2ggKCpwb2ludCBhdCB5b3VyIG5vc2UqKSBub2NoIG5pY2h0IGdlZnJhZ3QgaGFiZSwgc2VpCmdld2FybnQhIE9kZXIgbWVsZGUgRGljaCBlaW5mYWNoIHNvIGJlaSBtaXIuLi4gOikKCkRpZSBWZXJlaW5zbWFpbGluZ2xpc3RlIHdpcmQgYmFzaWVyZW5kIGF1ZiBkaWVzZW4gQWRyZXNzZW4gCmFrdHVhbGlzaWVydC4gQmVpIGRlciBzZW1pLXByb2Zlc3Npb25lbGxlbiBVbXN0ZWxsdW5nIGthbm4gCmVzIHBhc3NpZXJlbiwgZGFzcyBqZW1hbmQgcGxvZXR6bGljaCB6d2VpbWFsIE1haWxzIGRlciBMaXN0ZQprcmllZ3QuIEJldHJvZmZlbmUgbW9lZ2VuIG1pciB2ZXJ6ZWloZW4gdW5kIEJlc2NoZWlkIGdlYmVuLgoKCjQuIEJhbmt2ZXJiaW5kdW5nCgpadW0gU2NobHVzcyBub2NobWFscyBkaWUgRXJpbm5lcnVuZzogU29sbHRlIHNpY2ggaW4gZGVuIGxldHp0ZW4KSmFocmVuIGV0d2FzIGFuIGV1cmVyIEJhbmt2ZXJiaW5kdW5nIGdldGFuIGhhYmVuIHVuZCBpaHIgc2VpZApldWNoIG5pY2h0IHNpY2hlciwgb2IgZGVyIFZlcmVpbiBkYXMgd2Vpc3M6IE1haGFyZXQgZnJldXQgc2ljaCwKd2VubiBzaWUgZXMgZXJmYWVocnQsICpiZXZvciogZGVyIEVpbnp1ZyB1bnRlciBWZXJ1cnNhY2h1bmcgdm9uCktvc3RlbiBmZWhsc2NobGFlZ3QuIDspCgpHcnVlc3NsZXMsCkFuYXRvbAoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVzIHR1dCBzaWNoIHdhcz8hIDopIChWaW5jZW50LCAxMi4gTm92IDIwMDMsIDAxOjU0OjA4KToKfiMhIHJuPUFuYXRvbCBydD0xMDY4NTc4NzIzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDY4NTc4NzIzCldpZSB3YWVyZSBlcywgd2VubiBlcyBtYWwgdm9uIFZlcmVpbnNzZWl0ZSBhdXMgZWluZSBCZXN0YWV0aWd1bmcgdWViZXIgZGllCk1pdGdsaWVkc2NoYWZ0IGluIHNjaHJpZnRsaWNoZXIgRm9ybSBnaWJ0PyBEYW5uIGhhZXR0ZSBtYW4gKGEpIGV0d2FzIGluCnNlaW5lbiBIYWVuZGVuIGJ6dy4gZnVlciBkaWUgQWt0ZW4gdW5kIChiKSBrb2VubnRlIGVpbiBzb2xjaGVzIFNjaHJpZnRzdHVlY2sKYXVjaCBmdWVyIGRpZSBBZHJlc3N2ZXJpZmlrYXRpb24gZGVyIE1pdGdsaWVkZXIgYmVudXR6dCB3ZXJkZW4uCgpJbSBNb21lbnQgc3RlaGVuIGFsbGUgTWl0Z2xpZWRlciAoenVtaW5kZXN0IGRpZSBrdWVyemxpY2ggYmVpZ2V0cmV0ZW5lbikgb2huZQppcmdlbmRldHdhcyBkYS4uLgoKRGllcyBtYWwgenVyIEFucmVndW5nClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZWLVByb3Rva29sbCB1bmQgU2F0enVuZyAoQ2F0d2VhemxlLCAxNi4gTm92IDIwMDMsIDIwOjIxOjI3KToKSGFsbG8gbGllYmUgVmVyZWluc21pdGdsaWVkZXIgdW5kIHNvbnN0aWdlIE11ZGRlci4KCk5hY2hkZW0gdW5zZXIgU2NocmlmdGZ1ZWhyZXIgVmlwZXIgZGFzIFByb3Rva29sbCBkZXIganVlbmdzdGVuIFZvbGx2ZXJzYW1tbHVuZwpmZXJ0aWdnZXN0ZWxsdCBoYXQsIGhhYmUgaWNoIG1pciBudW4gZW5kbGljaCBkaWUgTXVlaGUgZ2VtYWNodCwgdW5kIHNvd29obApQcm90b2tvbGwgKGh0dHA6Ly9tZy5tdWQuZGUvVmVyZWluL3RleHRlL3Byb3Rva29sbDIwMDMuaHRtbCkgYWxzIGF1Y2ggZGllCmdlYW5kZXJ0ZSBTYXR6dW5nIChodHRwOi8vbWcubXVkLmRlL1ZlcmVpbi9zYXR6dW5nLmh0bWwpIG9ubGluZSBhdWYgZGVuClZlcmVpbnN3ZWJzZWl0ZW4gdmVyZnVlZ2JhciBnZW1hY2h0LgoKTm9jaCB2aWVsIEdsYXMgYmVpbSBQcmllbGVuLAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgaW4gQnJpZXNlbGFuZyBhbSAwMi4wOC4wMyAoQW1hcnlsbGlzLCAxNy4gTm92IDIwMDMsIDIzOjMzOjM5KToKSGksCgppbSBBdWZ0cmFnIHZvbiBWaXBlciwgZGVuIE5ldHpwcm9ibGVtZSBwbGFnZW4sIHBvc3RlIGljaCBmb2xnZW5kZXMgUHJvdG9rb2xsOgoKUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgZGVzIEZvZXJkZXJ2ZXJlaW5zIFByb2pla3QKTW9yZ2VuLQpncmF1ZW4gZS5WLiB2b20gMDIuMDguMjAwMyBpbiBCcmllc2VsYW5nCgpEaWUgZGllc2phZWhyaWdlIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBmYW5kIGFubGFlc3NsaWNoIGRlcwpNb3JnZW5ncmF1ZW4tVHJlZmZlbnMgCmluIEJyaWVzZWxhbmcgc3RhdHQuIFp1IEJlZ2lubiBkZXIgVmVyc2FtbWx1bmcgc3RlbGx0ZSBkZXIgMi4KVm9yc2l0emVuZGUgZmVzdCwgZGFzcyB6dSBkZXIgVmVyc2FtbWx1bmcgc2F0enVuZ3NnZW1hZXNzIGdlbGFkZW4Kd29yZGVuIHNlaSB1bmQgdmVybGFzIGRpZSBUYWdlc29yZG51bmcuCgpUYWdlc29yZG51bmcKCjEuQmVncnVlc3N1bmcKMi5WZXJsZXNlbiBkZXMgbGV0enRlbiBQcm90b2tvbGxzCjMuQmVyaWNodGUgZGVzIFZvcnN0YW5kZXMgdW5kIGRlciBLYXNzZW5mdWVocmVyaW4gKEFrdGl2aXRhZXRlbiwKU3RhdGlzdGlrLCBLYXNzZSkgCjQuQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlcgo1LkVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMKNi5OZXV3YWhsIGRlcyBnZXNhbXRlbiBWb3JzdGFuZGVzCjcuTmV1d2FobCBkZXIgS2Fzc2VucHJ1ZWZlcgo4LlNhdHp1bmdzYWVuZGVydW5nCjkuUmVjaG5lcmthdWYgdW5kIEFic2NobHVzcyBlaW5lciBSZWNodHNzY2h1dHp2ZXJzaWNoZXJ1bmcKMTAuVm9yc2NoYXUgYXVmIGRhcyBKYWhyIDIwMDMKMTEuVmVyc2NoaWVkZW5lcwoKRGVyIFRhZ2Vzb3JkbnVuZ3NwdW5rdCA5IHd1cmRlIGF1ZiBWb3JzY2hsYWcgdm9uIERhbmllbCBCcnVubmVyCnVuZCBlaW5zdGltbWlnIApkZXIgVGFnZXNvcmRudW5nIGhpbnp1Z2VmdWVndC4gCgpUT1AxIEJlZ3J1ZXNzdW5nIAoKU3RhdHQgZGVzIG5pY2h0IGFud2VzZW5kZW4gMS4gVm9yc2l0emVuZGVuIGVyb2VmZm5ldGUgZGVyIDIuClZvcnNpdHplbmRlIEVyaWNoIFcuIApCb2Vja3N0aWVnZWwgZGllIFZlcnNhbW1sdW5nIHVtIDEzLjAwIFVociB1bmQgYmVncnVlc3N0ZSBkaWUKYW53ZXNlbmRlbiAzNyBUZWlsLQpuZWhtZXIuCgpUT1AyIFZlcmxlc2VuIGRlcyBsZXR6dGVuIFByb3Rva29sbHMKCkRlciBTY2hyaWZ0ZnVlaHJlciB2ZXJsYXMgZGFzIGF1c2Z1ZWhybGljaGUgUHJvdG9rb2xsIGRlciBsZXR6dGVuCk1pdGdsaWVkZXJ2ZXJzYW1tbHVuZy4gRWlud2FlbmRlIHd1cmRlbiBrZWluZSBnZWx0ZW5kIGdlbWFjaHQuIERpZQpWZXJzYW1tbHVuZyBuYWhtIGRhcyBQcm90b2tvbGwgYW4uCgpUb3AgMyBCZXJpY2h0ZSBkZXMgVm9yc3RhbmRlcyB1bmQgZGVyIEthc3NlbndhcnRpbgoKRGVyIDIuIFZvcnNpdHplbmRlIHRlaWx0ZSBtaXQsIGRhc3MgaW0gSmFociAyMDAyIG51ciBzZWhyIHdlbmlnCkFrdGl2aXRhZXRlbiBpbSBWZXJlaW4gc3RhdHRnZWZ1bmRlbiBoYWV0dGVuLiBFciBrb25udGUgbGVkaWdsaWNoCmJlcmljaHRlbiwgZGFzcyBkaWUgRGF0ZW5iYW5rIGZ1ZXIgVm9ydHJhZWdlIGVpbmdlcmljaHRldCBpc3QgdW5kIGRpZQpNYWlsaW5nbGlzdGUgbGFldWZ0LiBFaW5lIGVyc3RlIEFuZnJhZ2UgYmVpIGVpbmVyClJlY2h0c3NjaHV0enZlcnNpY2hlcnVuZyBzZWkgbmVnYXRpdiB2ZXJsYXVmZW4uIAoKSW0gQW5zY2hsdXNzIGFuIGRlbiBCZXJpY2h0IGRlcyBlcnN0ZW4gVm9yc2l0emVuZGVuIGdhYiBkZXIKU2NocmlmdGZ1ZWhyZXIgS2FybC0KSGVpbnogQm9zYXdlIG5vY2ggZWluaWdlIEluZm9ybWF0aW9uZW4genUgZGVuIE1pdGdsaWVkZXJiZXdlZ3VuZ2VuCmltIEphaHIgCjIwMDIuIE5hY2ggTmV1YXVmbmFobWUgdm9uIDIgTWl0Z2xpZWRlcm4gdW5kIEt1ZW5kaWd1bmcgdm9uIDIKTWl0Z2xpZWRlcm4gaGF0dGUgCmRlciBWZXJlaW4gYW0gRW5kZSBkZXMgSmFocmVzIDIwMDIgMTI3IE1pdGdsaWVkZXIuCgpEaWUgS2Fzc2Vud2FydGluIE1vbmlrYSBTdHJ1bnogYmVyaWNodGV0ZSB2b24gZWluZXIgZ3V0ZW4KRmluYW56bGFnZSBkZXMgVmVyZWlucy4gCkFuIEVpbm5haG1lbiBoYWV0dGUgZGVyIFZlcmVpbiBpbSBCZXJpY2h0c2phaHIgMTk1MiBFdXJvIHp1CnZlcnplaWNobmVuIGdlaGFidCwgZGVtIApoYWV0dGVuIEF1c2dhYmVuIGluIEhvZWhlIHZvbiA2NzAgRXVybyBnZWdlbnVlYmVyZ2VzdGFuZGVuLCBzbyBkYXNzIHNpY2gKZWluIGFrdHVlbGxlciAKS29udG9zdGFuZCB2b24gY2EuIDQwMjQgRXVybyBlcmdhZWJlLgoKClRvcCA0IEJlcmljaHQgZGVyIEthc3NlbnBydWVmZXIKCkxlaWRlciB3YXIgZWluIEthc3NlbnBydWVmZXIgYW4gZGVyIFBydWVmdW5nIHZlcmhpbmRlcnQsIHNvIGRhc3MgZGllClZlcnNhbW1sdW5nIAp6dW5hZWNoc3QgYmVmcmFndCB3dXJkZSwgb2Igc2llIG1pdCBkZXIgUHJ1ZWZ1bmcgZHVyY2ggZWluZW4gUHJ1ZWZlcgplaW52ZXJzdGFuZGVuIHNlaS4gCk1pdCBkaWVzZW0gVm9yc2NobGFnIGVya2xhZXJ0ZSBzaWNoIGRpZSBWZXJzYW1tbHVuZyBlaW5zdGltbWlnCmVpbnZlcnN0YW5kZW4uIAoKS2xlbWVucyBLYW5hbCBiZXJpY2h0ZXRlLCBkYXNzIGVyIGRpZSBLYXNzZSBnZXBydWVmdCB1bmQgYWxsZXMgZnVlcgppbiBPcmRudW5nIGJlZnVuZGVuIGhhYmUuIEVyIGJlYW50cmFndGUgZGllIEthc3NlbmZ1ZWhyZXJpbiB1bmQgZGVuCmdlc2FtdGVuIFZvcnN0YW5kIHp1IGVudGxhc3Rlbi4KCgpUb3AgNSBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzCgpCZWkgdmllciBFbnRoYWx0dW5nZW4gd3VyZGUgZGVtIFZvcnN0YW5kIG1pdCAzMyBKYS1TdGltbWVuIGRpZQpFbnRsYXN0dW5nIGVydGVpbHQuCgoKVG9wIDYgTmV1d2FobCBkZXMgVm9yc3RhbmRlcwoKRnVlciBkYXMgQW10IGRlcyAxLiBWb3JzaXR6ZW5kZW4gd3VyZGUgYWxsZWluIEFkcmlhbiBIb2x6d2FydGgKdm9yZ2VzY2hsYWdlbi4gZGllc2VyIGtvbm50ZSB6dXIgVmVyc2FtbWx1bmcgbmljaHQgYW53ZXNlbmQgc2VpbiwKaGF0dGUgYWJlciBiZXJlaXRzIGltIFZvcmZlbGQgCnNjaHJpZnRsaWNoIHNlaW5lIEVpbnZlcnN0YWVuZG5pc2Vya2xhZXJ1bmcgIGVydGVpbHQuIEFkcmlhbgpIb2x6d2FydGggd3VyZGUgYmVpIDMgRW50aGFsdHVuZ2VuIHVuZCAzNCBKYS1TdGltbWVuIHp1bSBuZXVlbgplcnN0ZW4gVm9yc2l0emVuZGVuIGdld2FlaGx0LgoKRnVlciBkYXMgQW10IGRlcyAyLiBWb3JzaXR6ZW5kZW4gd3VyZGVuIENocmlzdGlhbiBTY2hpbGQsIFN2ZW4KQmlya2UgdW5kIE1pY2hhZWwgCkh1bmdlciB2b3JnZXNjaGxhZ2VuLiBDaHJpc3RpYW4gU2NoaWxkIGVyaGllbHQgdm9uIGRlciBWZXJzYW1tbHVuZwoyNCBTdGltbWVuLCAKU3ZlbiBCaXJrZSBlcmhpZWx0IDIgU3RpbW1lbiwgTWljaGFlbCBIdW5nZXIgZXJoaWVsdCA2IFN0aW1tZW4sIDQKVmVyc2FtbWx1bmdzLQp0ZWlsbmVobWVyIGVudGhpZWx0ZW4gc2ljaCBkZXIgU3RpbW1lLiBTb21pdCB3dXJkZSBDaHJpc3RpYW4KU2NoaWxkIGFscyBuZXVlciAyLiAKVm9yc2l0emVuZGVyIGdld2FlaGx0LiBFciBuYWhtIGRpZSBFbnRzY2hlaWR1bmcgZGVyIFZlcnNhbW1sdW5nIGFuLgpEZXIgbmV1ZSAyLiAKVm9yc2l0emVuZGUgdWViZXJuYWhtIGRhbm4gYXVjaCBkaWUgd2VpdGVyZSBWZXJzYW1tbHVuZ3NsZWl0dW5nLgoKQWxzIEthc3NlbmZ1ZWhyZXJpbiB3dXJkZSBCZXR0aW5hIEtyaXNjaGV3c2tpIHZvcmdlc2NobGFnZW4sIGRpZQp6dXIgVmVyc2FtbWx1bmcgCnNlbGJzdCBuaWNodCBhbndlc2VuZCBzZWluIGtvbm50ZSwgamVkb2NoIGVpbmUgc2NocmlmdGxpY2hlCkVpbnZlcnN0YWVuZG5pc2Vya2xhZXJ1bmcgCmFiZ2VnZWJlbiBoYXR0ZS4gRXMgZ2FiIGtlaW5lbiBHZWdlbmthbmRpZGF0ZW4uIEJldHRpbmEKS3Jpc2NoZXdza2kgd3VyZGUgYmVpIAplaW5lciBFbnRoYWx0dW5nIHVuZCAzNiBKYS1TdGltbWVuIHp1ciBuZXVlbiBLYXNzaWVyZXJpbiBnZXdhZWhsdC4KCkZ1ZXIgZGFzIEFtdCBkZXMgU2NocmlmdGZ1ZWhyZXJzIHd1cmRlIFdpZWRlcndhaGwgdm9yZ2VzY2hsYWdlbiwgZGVyCmJpc2hlcmlnZSAKU2NocmlmdGZ1ZWhyZXIgS2FybC1IZWlueiBCb3Nhd2Ugc3RlbGx0ZSBzaWNoIHp1ciBXYWhsLCBlaW5lbgp3ZWl0ZXJlbiBLYW5kaWRhdGVuIGdhYiBlcyBmdWVyIGRpZXNlcyBBbXQgbmljaHQuIFNvIHd1cmRlCkthcmwtSGVpbnogQm9zYXdlIG1pdCAzNiBTdGltbWVuIGJlaSBlaW5lciBFbnRoYWx0dW5nIGluIHNlaW5lbSBBbXQKYmVzdGFldGlndC4gQXVjaCBlciBuYWhtIGRpZSBXYWhsIGFuLgoKRGVyIFZvcnN0YW5kIHNldHp0IHNpY2ggZGVtbmFjaCB3aWUgZm9sZ3QgenVzYW1tZW46CgoxLiBWb3JzaXR6ZW5kZXI6IEFkcmlhbiBIb2x6d2FydGgKMi4gVm9yc2l0emVuZGVyOiBDaHJpc3RpYW4gU2NoaWxkCkthc3NlbmZ1ZWhyZXJpbjogIEJldHRpbmEgS3Jpc2NoZXdza2kKU2NocmlmdGZ1ZWhyZXI6ICAgS2FybC1IZWlueiBCb3Nhd2UKClRvcCA3IE5ldXdhaGwgZGVyIEthc3NlbnBydWVmZXIKCkRhIGZ1ZXIgZGFzIEphaHIgMjAwMyBrZWluIGFuZGVyZXIgS2Fzc2VucHJ1ZWZlciBtZWhyIHp1ciBWZXJmdWVndW5nCnN0YW5kLCB3dXJkZSAKZnVlciBkYXMgSmFociAyMDAzIE1vbmlrYSBTdHJ1bnogYWxzIEthc3NlbnBydWVmZXJpbiBnZXdhZWhsdC4gRnVlcgpkaWUgSmFocmUgCjIwMDMvMjAwNCB3dXJkZSBNaWNoYWVsIEh1bmdlciBnZXdhZWhsdC4gQmVpZGUgV2FobGVuIGVyZm9sZ3RlbiBiZWkKMiBFbnRoYWx0dW4tCmdlbiB1bmQgMzUgSmEtU3RpbW1lbi4gCgoKVG9wIDggU2F0enVuZ3NhZW5kZXJ1bmdlbgoKQXVmIFZvcnNjaGxhZyBkZXMgVm9yc3RhbmRlcyB3dXJkZSB1ZWJlciBub3R3ZW5kaWdlClNhdHp1bmdzYWVuZGVydW5nZW4gYWJnZS0Kc3RpbW10LCBkaWUgbmFjaGZvbGdlbmQgaW0gV29ydGxhdXQgd2llZGVyZ2VnZWJlbiB3ZXJkZW46CgonIDEsIE5yLiAxIHdpcmQgZXJzZXR6dCBkdXJjaDogIkRlciBWZXJlaW4gZnVlaHJ0IGRlbiBOYW1lbgpGb2VyZGVydmVydmVyZWluIFByb2pla3QgTW9yZ2VuR3JhdWVuIGUuVi4iCgpEaWVzZSBTYXR6dW5nc2FlbmRlcnVuZyB3dXJkZSBlaW5zdGltbWlnIHZvbiBkZXIgVmVyc2FtbWx1bmcKYW5nZW5vbW1lbi4KCgpJbiAnIDcsIE5yLiAyIHdpcmQgZGVyIEJldHJhZyAxNTAwIERNIGluIDEwMDAgRXVybyBnZWFlbmRlcnQuCgpEaWVzZSBTYXR6dW5nc2FlbmRlcnVuZyB3dXJkZSBlaW5zdGltbWlnIHZvbiBkZXIgVmVyc2FtbWx1bmcKYW5nZW5vbW1lbi4KCicgOSwgTnIuIDIgd2lyZCBlcnNldHp0IGR1cmNoOiBOYWNoIGRlciBBdXNlaW5hbmRlcnNldHp1bmcgb2RlcgplaW5lbSBXZWdmYWxsIGRlcyBiaXNoZXJpZ2VuIFZlcmVpbnN6d2Vja3MgaXN0IGRhcyBWZXJlaW5zdmVybW9lZ2VuCmFuIGVpbmUgZ2VtZWlubnVldHppZ2UgRWlucmljaHR1bmcgd2VpdGVyenVsZWl0ZW4sIGRpZSBkaWUgWndlY2tlCmRpZXNlcyBWZXJlaW5zIHZlcmZvbGd0LgoKRGllc2UgU2F0enVuZ3NhZW5kZXJ1bmcgd3VyZGUgZWluc3RpbW1pZyBiZWkgendlaSBFbnRoYWx0dW5nZW4gdm9uCmRlciAKVmVyc2FtbWx1bmcgYW5nZW5vbW1lbi4KCgpUb3AgOSBSZWNobmVya2F1ZiwgQWJzY2hsdXNzIGVpbmVyIFJlY2h0c3NjaHV0enZlcnNpY2hlcnVuZwoKQmV6dWVnbGljaCBkZXIgQW5zY2hhZmZ1bmcgZWluZXMgbmV1ZW4gUmVjaG5lcnMgZXJrbGFlcnRlIHNpY2gKTWF0dGhpYXMgTC4gSnVnZWwgYmVyZWl0IEFuZ2Vib3RlIGZ1ZXIgZWluZW4gbmV1ZW4gUmVjaG5lcgplaW56dWhvbGVuLiBEaWUgVmVyc2FtbWx1bmcgYmVzY2hsb3NzIGVpbnN0aW1taWcsIGRhc3MgZGVyIFZvcnN0YW5kCmVybWFlY2h0aWd0IHdpcmQgZWluZW4gbmV1ZW4gUmVjaG5lciBiaXMgenUgZWluZW0gUHJlaXMgdm9uIDIuNTAwIEV1cm8KYW56dXNjaGFmZmVuLgoKQmV6dWVnbGljaCBkZXIgVmVyd2VuZHVuZyBkZXMgYWx0ZW4gUmVjaG5lcnMgIGJlc2NobG9zcyBkaWUKVmVyc2FtbWx1bmcgZWluLQpzdGltbWlnLCBkYXNzIHp1bmFlY2hzdCBhdXNnZWxvdGV0IHdlcmRlbiBzb2xsLCB3ZWxjaGUKVmVyd2VuZHVuZ3Ntb2VnbGljaGtlaXRlbiAKZXMgbm9jaCBmdWVyIGRpZXNlbiBSZWNobmVyIGdpYnQuCgpCZXp1ZWdsaWNoIGRlciBSZWNodHNzY2h1dHp2ZXJzaWNoZXJ1bmcgd29sbGVuIHNpY2ggbWVocmVyZQpNaXRnbGllZGVyIGluZm9ybWllcmVuLCBvYiB1bmQgd28gZWluZSBzb2xjaGUgVmVyc2ljaGVydW5nCmFiZ2VzY2hsb3NzZW4gd2VyZGVuIGthbm4uIEVpbmUgYmVzb25kZXJlIEZyYWdlIHdlcmRlbiBoaWVyYmVpIGRpZQp6dSB2ZXJzaWNoZXJuZGVuIFJpc2lrZW4gc2Vpbi4KCgpUT1AgMTAgVm9yc2NoYXUgYXVmIGRhcyBKYWhyIDIwMDMKCkluIGRpZXNlbSBUYWdlc29yZG51bmdzcHVua3Qgd3VyZGUgYW5nZXJlZ3QgYXVmIGRlbiB3ZWl0ZXJlbgpWZXJzYW1tbHVuZ2VuIAp3aWVkZXIgU2VtaW5hcmUgYWJ6dWhhbHRlbi4KCgpUT1AgMTEgVmVyc2NoaWVkZW5lcwoKRXMgd3VyZGUgYW5nZXJlZ3QsIGRhc3MgZXMgZnVlciBkaWUgTWFpbGluZ2xpc3RlIHVuZXJsYWVzc2xpY2ggc2VpLApkaWUgZ3VlbHRpZ2VuIEVtYWlsLUFkcmVzc2VuIGRlciBNaXRnbGllZGVyIHp1IHJlY2hlcmNoaWVyZW4uCgoKRGVyIDIuIFZvcnNpdHplbmRlIGJlZGFua3RlIHNpY2ggYWJzY2hsaWVzc2VuZCBmdWVyIGRlbiByZWdlbiBCZXN1Y2gKdW5kIGJlZW5kZXRlIApkaWUgVmVyc2FtbWx1bmcgdW0gMTQuNTAgVWhyLgoKCgoKCgpBZHJpYW4gSG9sendhcnRoICAgICAgICAgICAgICAgICAgICBLYXJsLUhlaW56IEJvc2F3ZQoxLiBWb3JzaXR6ZW5kZXIgICAgICAgICAgICAgICAgICAgICBTY2hyaWZ0ZnVlaHJlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGluIEJyaWVzZWxhbmcgYW0gMDIuMDguMDMgKExpYXJhLCAxOC4gTm92IDIwMDMsIDIwOjE5OjE2KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDY5MTA4NDE5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDY5MTA4NDE5CkZyYWdlIHp1IFRPUCA4OgoKJyA5LCBOci4gMiB3aXJkIGVyc2V0enQgZHVyY2g6IE5hY2ggZGVyIEF1c2VpbmFuZGVyc2V0enVuZyBvZGVyCmVpbmVtIFdlZ2ZhbGwgZGVzIGJpc2hlcmlnZW4gVmVyZWluc3p3ZWNrcyBpc3QgZGFzIFZlcmVpbnN2ZXJtb2VnZW4KYW4gZWluZSBnZW1laW5udWV0emlnZSBFaW5yaWNodHVuZyB3ZWl0ZXJ6dWxlaXRlbiwgZGllIGRpZSBad2Vja2UKZGllc2VzIFZlcmVpbnMgdmVyZm9sZ3QuCgpXYXMgYmVkZXV0ZXQgJ05hY2ggZGVyIEF1c2VpbmFuZGVyc2V0enVuZyAuLi4gZGVzIGJpc2hlcmlnZW4gVmVyZWluc3p3ZWNrcyc/CgpHcnVlc3NlLCBaWkwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgaW4gQnJpZXNlbGFuZyBhbSAwMi4wOC4wMyAoVmFuaW9uLCAxOC4gTm92IDIwMDMsIDIwOjIxOjA0KToKfiMhIHJuPUxpYXJhIHJ0PTEwNjkxODMxNTYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNjkxMDg0MTkKIk5hY2ggZGVyIEF1c2VpbmFuZGVyc2V0enVuZyAoZGVzIFZlcmVpbnMpIG9kZXIgZWluZW0gV2VnZmFsbCBkZXMgYmlzaGVyaWdlbgpWZXJlaW5zendlY2tzIC4uLiIKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcm90b2tvbGwgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBpbiBCcmllc2VsYW5nIGFtIDAyLjA4LjAzIChNaW5nbywgMTguIE5vdiAyMDAzLCAyMDoyNDo0NSk6Cn4jISBybj1WYW5pb24gcnQ9MTA2OTE4MzI2NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2OTEwODQxOQpWYW5pb24gaW50cmlnaWVydCBzY2hvbiBoZWltbGljaC4gRWluIFplcmF1c2VpbmFuZGVyc2V0emVyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGluIEJyaWVzZWxhbmcgYW0gMDIuMDguMDMgKFZhbmlvbiwgMTguIE5vdiAyMDAzLCAyMDoyNjozMSk6Cn4jISBybj1NaW5nbyBydD0xMDY5MTgzNDg1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDY5MTA4NDE5CkljaCBoYWIgYmVzdGVuZmFsbHMgZXJsYWV1dGVydCwgYWJlciBuaWNodCBpbnRlZ3JpZXJ0IChkYXMgaGFiIGljaCBzZWl0IGRlbQpTdHVkaXVtIG51ciBub2NoIHNlaHIgc2VsdGVuIGdlbWFjaHQuKQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGluIEJyaWVzZWxhbmcgYW0gMDIuMDguMDMgKE1pbmdvLCAxOC4gTm92IDIwMDMsIDIwOjI3OjA1KToKfiMhIHJuPVZhbmlvbiBydD0xMDY5MTgzNTkxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDY5MTA4NDE5CkRpZXNlIEF1c3NhZ2VuIHNvbGx0ZW4gd2lyIGpldHp0IGFiZXIgZGlmZmVyZW56aWVydCBiZXRyYWNodGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlaXRyYWVnZSAyMDAzIChNYWhhcmV0LCAyMi4gRGV6IDIwMDMsIDIwOjQ2OjE1KToKSGFsbG8gYWxsZXJzZWl0cywKCmF1cyBvcmdhbmlzYXRpb25zdGVjaG5pc2NoZW4gR3J1ZW5kZW4gd2lyZCBlcyBkaWVzZXMgSmFociBuaWNodCBtZWhyIHp1CnNjaGFmZmVuIHNlaW4sIGRpZSBCZWl0cmFlZ2UgZnVlciBkYXMgSmFociAyMDAzIGFienVidWNoZW4uICBTZWxic3R1ZWJlcndlaXNlcgpicmF1Y2hlbiBzaWUgYWxzbyBhdWNoIG5vY2ggbmljaHQgdWViZXJ3ZWlzZW4uCkljaCB3ZXJkZSBkaWUgQmVpdHJhZWdlIDIwMDMgdW5kIDIwMDQgYWxzbyBpbSBuYWVjaHN0ZW4gSmFociBlaW56aWVoZW4sIHdlcmRlCmFiZXIgdmVyc3VjaGVuLCBkYXMgbmljaHQgYXVmIGVpbm1hbCB6dSBtYWNoZW4sIHdlaWwgZXMgbWFuY2hlbiBkYW5uCnZpZWxsZWljaHQgZG9jaCB6dSB2aWVsIGF1ZiBlaW5tYWwgaXN0LiAgSWNoIHdlcmQgbWljaCBhYmVyIGRhbm4gYXVjaCBub2NobWFsCmdlc29uZGVydCBkYXp1IGhpZXIgYWV1c3Nlcm4uCgpCbGVpYnQgbWlyLCBFdWNoIHNjaG9lbmUgV2VpaG5hY2h0ZW4gdW5kIGVpbmVuIGd1dGVuIFN0YXJ0IGlucyBuZXVlIEphaHIgenUKd3VlbnNjaGVuLgoKRnVlaGx0IEV1Y2ggZ2VrbnVkZGVsdCwKCk1haGEsIEh1ZXRlcmluIGRlcyBTY2hhdHplcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlaXRyYWVnZSAyMDAzIChNYWhhcmV0LCAgMS4gSmFuIDIwMDQsIDIxOjMwOjQwKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA3MjEyMjM3NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA3MjEyMjM3NQpIYWxsbyBub2NobWFsLAoKbWlyIHd1cmRlIG1pdHRsZXJ3ZWlsZSB2b24gZWluaWdlbiBtaXRnZXRlaWx0LCBkYXNzIGljaCBmdWVyIHNpZSBiZWlkZQpCZWl0cmFlZ2UsIGFsc28gMjAwMyB1bmQgMjAwNCwgYXVmIGVpbm1hbCBlaW56aWVoZW4ga29lbm5lLiAgRGFzIG1hY2h0IGFiZXIKbnVyIFNpbm4sIHdlbm4gaWNoIGRhcyBiZWkgYWxsZW4gbWFjaGUuICBBbHNvIHBsYW5lIGljaCBkYXMgamV0enQgbWFsIHNvLApzb2xsdGUgYWJlciBqZW1hbmQgZGFkdXJjaCBpbiBMaXF1aWRhdGlvbnNzY2h3aWVyaWdrZWl0ZW4ga29tbWVuLCBsYXNzZSBlci9zaWUKZXMgbWljaCBzY2huZWxsIHdpc3Nlbi4gIEVpbiBwYWFyIFRhZ2UgWmVpdCBzaW5kIGRhIHNjaG9uIG5vY2ggOm8pCgpLbnVkZGVsaWdlIEdydWVzc2UsCgpNYWhhLCBIdWV0ZXJpbiBkZXMgU2NoYXR6ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1HLT5NRyAoQW5hdG9sLCAyOC4gRmViIDIwMDQsIDEyOjMzOjU1KToKRGFzIE1vcmdlbkdyYXVlbiBoYXQgamEgc2Nob24gZWluaWdlcyBkdXJjaGdlbWFjaHQ6IFBhc2NhbCwgU2FudGFuYS4uLgprYW5uIHNpY2ggbm9jaCBqZW1hbmQgYW4gU3BvY2sgZXJpbm5lcm4/IElyZ2VuZHdhbm4gaGllc3MgZGVyIFJlY2huZXIKZGFubiBNRyB1bmQgZ2Vob2VydGUga2VpbmVyIFVuaXZlcnNpdGFldCBtZWhyLCBzb25kZXJuIGVpbmVtIFZlcmVpbi4KCkVzIHN0ZWh0IHdpZWRlcm1hbCBlaW4gSGFyZHdhcmUtVXBkYXRlIGFuIC0gZGVyIG5ldWUgUmVjaG5lciBzdGVja3QKc2Nob24gZWluZSBXZWlsZSBpbSBSYWNrIHVuZCBsYWV1ZnQgKGVyZnJldWxpY2hlcndlaXNlKSBzdGFiaWwsIHNvZ2FyCm1pdCBlaW5lbSBIb21lbXVkIGRyYXVmLiA7KQoKRGllIFVociB0aWNrdCwgc3RlbGx0IGV1Y2ggYWxzbyBkYXJhdWYgZWluLCBkYXNzIGVzIGtlaW5lIFJla29yZC0KVXB0aW1lIHdlcmRlbiB3aXJkLiBFaW5lbiBnZW5hdWVuIFplaXRwdW5rdCBrYW5uIGljaCBldWNoIGFiZXIKKHdlbGNoIFVlYmVycmFzY2h1bmcgOikpIG5pY2h0IG5lbm5lbiwgZG9jaCBlcyBrb2VubnRlIHF1YXNpIHVlYmVyCk5hY2h0IHBhc3NpZXJlbi4KCkZyZXV0IGV1Y2ggZHJhdWYhCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXMgdHV0IHNpY2ggd2FzPyEgOikgKEx1emllLCAyOS4gRmViIDIwMDQsIDIyOjUxOjI1KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA2ODU5ODQ0OCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2ODU3ODcyMwpEYXMgbWl0IGRlciBCZXN0YWV0aWd1bmcgdmVyc3RlaCBpY2ggbmljaHQgc28gZ2Fuei4gTW9lY2h0ZXN0IER1IHp1IGplZGVtCk1pdGdsaWVkIHZvbGxlbiBOYW1lbiB1bmQgQWRyZXNzZSBhdWYgZGVyIFNlaXRlIGhhYmVuPwoqZ3J1ZWJlbCoKVmllbGxlaWNodCBtb2VjaHRlbiBlaW5pZ2UgbmljaHQsIGRhc3MgaWhyZSBBZHJlc3NlIGRvcnQgZXJzY2hlaW50LgoKV2llIGRhcyBtaXQgZGVyIFZlcmlmaWthdGlvaW4gZnVua3Rpb25pZXJlbiBzb2xsLCBrYW5uIGljaCBtaXIgYXVjaApncmFkIG5pY2h0IHZvcnN0ZWxsZW4uIEVpbmlnZSBzaW5kIG5pY2h0IGVycmVpY2hiYXIsIGtvbW1lbiBuaWNodAptZWhyIGlucyBNRyB1bmQgc2NoYXVlbiBkaWUgVmVyZWluc3NlaXRlbiBuaWNodCBhbi4gRGFubiBoaWxmdCBkYXMgYXVjaApuaWNodCBtZWhyLgoKQWJlciBpY2ggYmluIG1pciBzaWNoZXIsIGRhc3MgaWNoIGdlcmFkZSB0b3RhbCBhdWYgZGVtIFNjaGxhdWNoIHN0ZWhlIC4uLgoKQ1UKTHV6aWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVzIHR1dCBzaWNoIHdhcz8hIDopIChWYW5pb24sIDI5LiBGZWIgMjAwNCwgMjI6NTQ6MTgpOgp+IyEgcm49THV6aWUgcnQ9MTA3ODA5MTQ4NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2ODU3ODcyMwpXZW5uIGljaCBWaW5jZW50IHJpY2h0aWcgdmVyc3RhbmRlbiBoYWIsIHdpbGwgZXIgbmljaHQsIGRhc3MgZXR3YXMgYXVmIGRlbgpWZXJlaW5zc2VpdGVuIHN0ZWh0LCBzb25kZXJuIGRhc3Mgdm9uIGRlciBTZWl0ZSBkZXMgVmVyZWlucyBhdXNnZWhlbmQgZXIgZWluZQpCZXN0YWV0aWd1bmcgdWViZXIgc2VpbmUgTWl0Z2xpZWRzY2hhZnQgYmVrb21tdC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFcyB0dXQgc2ljaCB3YXM/ISA6KSAoVmluY2VudCwgIDEuIE1hciAyMDA0LCAwMTo0Nzo0Myk6Cn4jISBybj1WYW5pb24gcnQ9MTA3ODA5MTY1OCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA2ODU3ODcyMwpnYW56IGdlbmF1LgoKaXN0IGFiZXIgbnVyIGVpbmUgYW5yZWd1bmcgdm9uIG1pci4gd2VubiBkYXMgaGllciBhbmRlcnMgdXN1cyBpc3QsIGtlaW4KcHJvYmxlbS4gOikKCiAgIHZpbmNlbnQKCih3ZXIgaGF0IG1laW5lIHNoaWZ0LXRhc3RlIGdla2xhdXQ/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXMgdHV0IHNpY2ggd2FzPyEgOikgKFpvb2ssICAxLiBNYXIgMjAwNCwgMTA6MDg6MTcpOgp+IyEgcm49VmluY2VudCBydD0xMDc4MTAyMDYzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDY4NTc4NzIzClZpbmNlbnQgd2lsbCBlaW4gaW4gUGxhc3RpayBlaW5nZXNjaHdlaXN0ZXMgTWl0Z2xpZWRza2FlcnRjaGVuIGhhYmVuLi4uIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRXMgdHV0IHNpY2ggd2FzPyEgOikgKE1haGFyZXQsICAxLiBNYXIgMjAwNCwgMjA6MjM6MDUpOgp+IyEgcm49Wm9vayBydD0xMDc4MTMyMDk3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMDY4NTc4NzIzCk5hLCBtYWwgc2VoZW4sIHZpZWxsZWljaHQgYmFzdGVsIGljaCBpaG0gZWlucy4KCk1haGFyZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWxpbmdsaXN0ZSAoTGlhcmEsICAxLiBNYXIgMjAwNCwgMjI6MDE6MzEpOgpJY2ggZmFlbmRlIGVzIHNjaG9lbiwgd2VubiBMZXV0ZSwgZGllIHVlYmVyIGRpZSBMaXN0ZSBCZWl0cmFlZ2UgenVtIFZlcmVpbgp2ZXJzY2hpY2tlbiwgYXVjaCBpaHJlbiBNdWRuYW1lbiBtaXQgYW5nZWJlbiBrb2VubnRlbi4gTWl0IGRlbiBSTC1OYW1lbiBrYW5uCmljaCBpbiBkZXIgUmVnZWwgbml4IGFuZmFuZ2VuLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLT5NRyAoS2VubnksICAzLiBNYXIgMjAwNCwgMTk6NDM6NDMpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNzc5NjgwMzUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEwNzc5NjgwMzUKV2lyIGZyZXVlbiB1bnMgamEgc2Nob24gYWxsZSwgYWJlciB3YW5uIHdpcmRzIGRlbm4gbnVuIHNvd2VpdCBzZWluPyA6KQpFaW4gcGFhciBtZWhyIEluZm9zIGtvZW5udGVuIGtlaW5lbSBTY2hhZGVuIGRlbmsgaWNoLgptZmcga2VubnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTUctPk1HIChWYW5pb24sICAzLiBNYXIgMjAwNCwgMjE6MDQ6NTMpOgp+IyEgcm49S2VubnkgcnQ9MTA3ODMzOTQyMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA3Nzk2ODAzNQpEYXMgSGF1cHRwcm9ibGVtIGlzdCBoaWVyIGRpZSBuaWNodCBwbGFuYmFyZSBaZWl0IHVuc2VyZXMgQWRtaW5zLiBIYXRlIGhhdApuZWJlbiBzZWluZW0gYXVzZ2VmdWVsbHRlbiBCZXJ1ZnNsZWJlbiBhdWNoIG5vY2ggZWluIHByaXZhdGVzLiBEYXMgc29sbHRlbiB3aXIKaWhtIGdvZW5uZW4uIChJY2ggbmVobWUgbWVpbnMgdWVicmlnZW5zIGF1Y2ggYmlzd2VpbGVuIHdhciwgbWl0IHJ1aGlnZW0KR2V3aXNzZW4sIG9id29obCBoaWVyIG5vY2ggTWVnYS1CdWdzIGxhdWVybiA6KQoKTmVpbiBlcm5zdGhhZnQ6IEhhdGUgdHV0IHdhcyBlciBrYW5uLCBhYmVyIFJMIGdlaHQgdm9yLCBkYWZ1ZXIgc29sbHRlbiB3aXIKVmVyc3RhZW5kbmlzIGhhYmVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmxhZHVuZyB6dXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIDIwMDQgKEFuYXRvbCwgMTEuIE5vdiAyMDA0LCAyMzo1NzoyOCk6CgpIYWxsbyBpaHIgTWl0Z2xpZWRlciEKSWhyIHNlaWQgZWluZ2VsYWRlbiB6dXIgIGRpZXNqYWVocmlnZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcwpGb2VyZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLlYuLiBEaWUgVmVyc2FtbWx1bmcgZmluZGV0CmltIFJhaG1lbiBlaW5lciBNb3JnZW5HcmF1ZW4tUGFydHkgc3RhdHQsIHVuZCB6d2FyCgphbSAgICAgIFNhbXN0YWcsIGRlbiAwNC4gRGV6ZW1iZXIgMjAwNAp1bSAgICAgIDE2OjAwIFVocgoKaW0gICAgICBTY2h1bGxhbmRoZWltIFdpbnRlcmJ1cmcKICAgICAgICBBdWYgZGVtIFNjaGxvc3MKICAgICAgICA1NTU5NSBXaW50ZXJidXJnIChIdW5zcnVlY2spLgoKRGllIFRhZ2Vzb3JkbnVuZyBzaWVodCBmb2xnZW5kZSBQdW5rdGUgdm9yOgoKICAgMS5CZWdydWVzc3VuZwogICAyLlZlcmxlc2VuIGRlcyBsZXR6dGVuIFByb3Rva29sbHMKICAgMy5CZXJpY2h0ZSBkZXMgVm9yc3RhbmRzIChBa3Rpdml0YWV0ZW4sIFN0YXRpc3RpaywgS2Fzc2UpCiAgIDQuQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlcgogICA1LkVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMKICAgNi5OZXV3YWhsIGVpbmVzIEthc3NlbnBydWVmZXJzCiAgIDcuVm9yc2NoYXUgYXVmIDIwMDUKICAgOC5WZXJzY2hpZWRlbmVzCgpFaW5lIEFuZmFocnRzYmVzY2hyZWlidW5nIHp1bSBTY2h1bGxhbmRoZWltIGZpbmRldCBpaHIgc293b2hsCnVudGVyIGh0dHA6Ly93d3cuc2NodWxsYW5kaGVpbS13aW50ZXJidXJnLmRlIGFscyBhdWNoIGluIGRlcgpNUEEgaW4gZGVyIFJ1YnJpayAiUGFydHkuQmVrYW5udG1hY2h1bmdlbiIuCgpEaWUgKHZlcmVpbnNyZWNodGxpY2ggendpbmdlbmQgbm90d2VuZGlnZSkgc2NocmlmdGxpY2hlCkVpbmxhZHVuZyBrb2VubnRlIGJlaSBlaW5pZ2VuIHNjaG9uIGFuZ2Vrb21tZW4gc2Vpbi4gV2VyIGF1Y2gKaW4gZGVuIG5hZWNoc3RlbiBUYWdlbiB2b24ga2VpbmVyIHNvbGNoZW4gZXJyZWljaHQgd2lyZCwgbW9lZ2UKbWlyIGJpdHRlIHNlaW5lIEFkcmVzc2UgbWl0dGVpbGVuIC0gbW9lZ2xpY2hlcndlaXNlIGlzdCBkaWUKdW5zIChkZW0gVm9yc3RhbmQpIGJla2FubnRlIHZlcmFsdGV0LgoKVmllbGUgR3J1ZXNzZSwKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyYnVuZy4uLiAoWm9vaywgMTIuIE5vdiAyMDA0LCAwOTo1NTo0Mik6CkhtLiBLb2VubnRldCBJaHIgd2llZGVyIGVpbmVuIFN0b3NzIE1pdGdsaWVkc2FudHJhZWdlIG1pdGJyaW5nZW4uIFZpZWxsZWljaHQKbGFlc3N0IHNpY2ggamEgZGVyIGVpbmUgb2RlciBhbmRlcmUgTWl0c3BpZWxlciB6dSBlaW5lbSBFaW50cml0dCBiZXdlZ2VuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmVpbnNrb250byByZXZpc2l0ZWQgKE1haGFyZXQsIDI0LiBOb3YgMjAwNCwgMTA6MTE6NDYpOgpIYWxsbyBJaHIgZGEsCgpqYSwgd2lyIHZlcnN1Y2hlbiBpbW1lciBub2NoLCBlaW4gS29udG8gZnVlciBkZW4gVmVyZWluIHp1IGVyb2VmZm5lbi4KRGEgZGllIEJlcmxpbmVyIEJhbmtlbiB1bnMgbmljaHQgd29sbHRlbiAodW5kIHdpciBoYXR0ZW4gYmVpIGVpbmVyIHNvZ2FyIHNjaG9uCnVudGVyc2NocmllYmVuIC4uLiksIGhhdHRlIENhdHdlYXpsZSBzZWluIEdsdWVjayBpbiBNdWVuc3RlciB2ZXJzdWNodCB1bmQKc2Nob24gZmFzdCBnZWZ1bmRlbi4KQWJlciBkYXMgUHJvYmxlbSBsaWVndCBiZWkgdW5zOgoKQXVmZ3J1bmQgZGVyIFJlZm9ybSBkZXMgR2VsZHdhZXNjaGVnZXNldHplcyB3aXJkIGRpZSBCYW5rIGhhZnRiYXIgZ2VtYWNodCwKd2VubiBkZXIgVm9yc3RhbmQgZ2VnZW4gZGllIDEwMDAtRXVyby1LbGF1c2VsIGRlciBWZXJlaW5zc2F0enVuZyB2ZXJzdG9lc3N0CnVuZCBlcyBkYWR1cmNoIHp1IFNjaHdpZXJpZ2tlaXRlbiBrb21tdC4gIERpZSBCYW5rIGthbm4gZWluZSBFaW5oYWx0dW5nIGRpZXNlcgp1bnNlcmVyIFNhdHp1bmdza2xhdXNlbCBhYmVyIG5pY2h0IGdld2FlaHJsZWlzdGVuLCBkYSBpc3QgZGVyIEF1ZndhbmQgZWluZmFjaAp6dSBncm9zcyBmdWVyIHNpZS4KCkRhIHdpciBhYmVyIGVpbiBWZXJlaW5za29udG8gYnJhdWNoZW4sIGJsZWlidCB1bnMgbmljaHRzIGFuZGVyZXMgdWVicmlnLCBhbHMKZGllc2UgS2xhdXNlbCBhdXMgZGVyIFNhdHp1bmcgenUgc3RyZWljaGVuLiAoQWx0ZXJuYXRpdiBrb2VubnRlIGF1Y2ggamVkZXMKZWluemVsbmUgTWl0Z2xpZWQgZGVyIEJhbmsgZ2VnZW51ZWJlciBlcmtsYWVyZW4sIGRhc3MgZGllc2UgS2xhdXNlbCBnZWdlbnVlYmVyCmdlbmF1IGRpZXNlciBCYW5rIGZ1ZXIgZ2VyYWRlIGRpZXNlIEtvbnRvIG5pY2h0IGdpbHQuIERhcyB3aXJkIHdvaGwgbmljaHQgenUKb3JnYW5pc2llcmVuIHNlaW4sIHdvIGRvY2ggZWluaWdlIHZvbiBFdWNoIHNjaG9uIG1laHJtYWxzIGdldHJldGVuIHdlcmRlbgptdXNzdGVuLCB1bSB1ZWJlcmhhdXB0IGlocmUgQmFua3ZlcmJpbmR1bmcgenUgdmVycmF0ZW4gKnp3aW5rZXIqKQoKV2lyIHdlcmRlbiBhbHNvIGVpbmUgZW50c3ByZWNoZW5kZSBFbnRzY2hlaWR1bmcgYXVmIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcKaW4gV2ludGVyYnVyZyB0cmVmZmVuIG11ZXNzZW4uCgpTb2xsdGUgamVtYW5kIGVpbmUgSWRlZSBoYWJlbiwgd2llIG1hbiBkZW5ub2NoIGltIElubmVudmVyaGFlbHRuaXMgZWluZQpCZXNjaHJhZW5rdW5nIGRlciBWZXJmdWVndW5nc2JlZnVnbmlzIGRlcyBWb3JzdGFuZHMgZmVzdHNjaHJlaWJlbiBrYW5uLCBzZW5kZXQKdW5zIHVuc2VyZSBWb3JzY2hsYWVnZSAodm9yc3RhbmRAbWcubXVkLmRlKS4gCgpCaXMgZGVubiwKTWFoYXJldCAvIFRpbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5sYWR1bmcgenVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAyMDA0IChDYXR3ZWF6bGUsICAyLiBEZXogMjAwNCwgMTA6MjQ6NTYpOgp+IyEgcm49QW5hdG9sIHJ0PTExMDAyMTM4NDggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExMDAyMTM4NDgKSGFsbG8gbGllYmUgVmVyZWluc21pdGdsaWVkZXIsCgphdWZncnVuZCBkZXIgRGlza3Vzc2lvbmVuIGRlciBsZXR6dGVuIHp3ZWkgV29jaGVuIGhhYmVuIHdpciBlaW5lbiBuZXVlbiBUYWdlc29yZG51bmdzcHVua3Qg/GJlciBkZW4gd2lyIGJlcmF0ZW4gbXVlc3Nlbi4gSWNoIGJpdHRlIGRhaGVyIGRhcnVtIGZvbGdlbmRlIGdlYWVuZGVydGUgYnp3LiBlcmdhZW56dGUgVGFnZXNvcmRudW5nIHp1IGJlYWNodGVuOgoKICAgMS5CZWdy/N91bmcKICAgMi5WZXJsZXNlbiBkZXMgbGV0enRlbiBQcm90b2tvbGxzCiAgIDMuQmVyaWNodGUgZGVzIFZvcnN0YW5kcyAoQWt0aXZpdOR0ZW4sIFN0YXRpc3RpaywgS2Fzc2UpCiAgIDQuQmVyaWNodCBkZXIgS2Fzc2VucHL8ZmVyCiAgIDUuRW50bGFzdHVuZyBkZXMgVm9yc3RhbmRlcwogICA2Lk5ldXdhaGwgZWluZXMgS2Fzc2VucHL8ZmVycwogICA3LsRuZGVydW5nIGRlcyBQYXJhZ3JhcGhlbiCnNyBBYnNjaG5pdHQgMiBkZXIgU2F0enVuZyAKICAgOC5Wb3JzY2hhdSBhdWYgMjAwNQogICA5LlZlcnNjaGllZGVuZXMKClZpZWxlIEdydWVzc2UsCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlcyBNRy0gdW5kL29kZXIgVmVyZWluc2xvZ28/IChDYXR3ZWF6bGUsIDIwLiBEZXogMjAwNCwgMDg6Mzg6NDApOgpPbGEhCgpXaWUgaWNoIGF1ZiBkZXIgV2ludGVyYnVyZy1QYXJ0eSBlcndhZWhudCBoYWJlLCBiZXNpdHplIGljaCBub2NoIAp1cmFsdGUgVmlzaXRlbmthcnRlbiBhdXMgZGVuIGdyYXVlbiBWb3J6ZWl0ZW4gZGVzIEZvZXJkZXJ2ZXJlaW5zLgpBdWYgZGllc2VuIFZpc2l0ZW5rYXJ0ZW4gYmVmaW5kZXQgc2ljaCBlaW4gTG9nbywgZGFzIHdpciBkYW1hbHMgCmZ1ZXIgZGVuIFZlcmVpbiB2ZXJ3ZW5kZXQgaGFiZW4gdW5kIGRhc3MgaWNoIC0gbWl0IFZlcmxhdWIgLQp6aWVtbGljaCBnZW5pYWwgZmluZGUsIHdlaWwgZXMgZGFzIE1HIGV4emVsbGVudCBzdGlsaXNpZXJ0LiAKVGhlb3JldGlzY2gga29lbm50ZSBtYW4gZGFzIGFscyBuZXVlcyBNRy1Mb2dvIG9kZXIgYWxzIFZlcmVpbnNsb2dvIAp2ZXJ3ZW5kZW4uIEljaCBoYWJlIG51ciBsZWlkZXIga2VpbmUgZGlnaXRhbGUgVmVyc2lvbiBtZWhyIGRhdm9uLgoKSWNoIGhhYmUgZGllIFZpc2l0ZW5rYXJ0ZSBhbHNvIG1hbCBnZXNjYW5udCB1bmQgVElGLURhdGVpZW4gaW4gCnZlcnNjaGllZGVuZW4gZHBpLUdyb2Vzc2VuIGluIGZ0cDovL21nLm11ZC5kZS92ZXJlaW4KYWJnZWxlZ3QuIAoKV2VyIHNpY2ggZGF6dSBiZXJ1ZmVuIHVuZCBiZWZhZWhpZ3QgZnVlaGx0LCBtYWcgdmVyc3VjaGVuIGRpZXNlIApCaWxkZXIgYXVmenViZXJlaXRlbiB1bmQgaW4gZWluZSBzY2hvZW5lIE9ubGluZS1WZXJzaW9uIAp1bXp1d2FuZGVsbi4gRWluIHBhYXIgUGl4ZWxmZWhsZXIgc2luZCBhdWZncnVuZCBkZXMgU2llYmRydWNrZXMKc2Nob24gZHJpbiwgZGllIG1hbiBiZXJlaW5pZ2VuIHNvbGx0ZS4KV2VyIHNpY2ggZGFzIEJpbGQgYXVjaCBudXIgenVtIFZvcmJpbGQgbmVobWVuIG1vZWNodGUgZnVlciBlaW5lCmVpZ2VuZSBWZXJzaW9uIGJ6dy4gSW50ZXJwcmV0YXRpb246IGJpdHRlLCBsYXNzdCBldWNoIG5pY2h0IAphdWZoYWx0ZW4gOi0pCgoKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWVzIE1HLSB1bmQvb2RlciBWZXJlaW5zbG9nbz8gKENhdHdlYXpsZSwgIDUuIEphbiAyMDA1LCAxMDoyNjozMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEwMzUyODMyMCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTEwMzUyODMyMApGcm9oZXMgTmV1ZXMuCgpOYXR1ZXJsaWNoIHdhciBlcyBtYWwgd2llZGVyIFJvY2h1cywgZGVyIGJlaSBkZXIgQmlsZGJlYXJiZWl0dW5nIGdlenVja3QgaGF0LgpFaW4gTWVnYWRhbmtlIGRhaGVyIGFuIFJvY2h1cywgc2VpbmUgVmVyc2lvbiBpc3QgbnVuIHp1IGZpbmRlbiB1bnRlcgpmdHA6Ly9tZy5tdWQuZGUvdmVyZWluL01HZXYtTG9nby0zLnBuZwoKSWNoIGRlbmtlIGRpZXNlIFZlcnNpb24ga2FubiBtYW4gbnVuIHp1ciBXZWl0ZXJ2ZXJhcmJlaXR1bmcgdmVyd2VuZGVuLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWVzIE1HLSB1bmQvb2RlciBWZXJlaW5zbG9nbz8gKEdub21lLCAgNS4gSmFuIDIwMDUsIDEwOjI5OjU0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA0OTE3MTkwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTAzNTI4MzIwCiJPYmpla3QgbmljaHQgZ2VmdW5kZW4hIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZXMgTUctIHVuZC9vZGVyIFZlcmVpbnNsb2dvPyAoR3VhcmQsICA5LiBKYW4gMjAwNSwgMTk6NTA6NDIpOgp+IyEgcm49R25vbWUgcnQ9MTEwNDkxNzM5NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTEwMzUyODMyMAptb2luIGFsbGVyc2VpdHMsCgpkYSBSb2NodXMgc28gZnVyY2h0YmFyIHNjaG5lbGwgZ2V3ZXNlbiBpc3QsIG51dHplIGljaCBzZWluIEVyZ2VibmlzLCB1bSBkaWUKbmV1ZW4gVmVyZWluc3NlaXRlbiBtaXQgZWluZW0gbGVnaXRpbWllcnRlbiBMb2dvIHp1IHZlcnNjaG9lbmVybiwgaWNoIGhvZmZlCm1hbCwgZGFzcyBkaWUgc2l0dWF0aW9uIGVzIGlyZ2VuZHdhbm4gaGVyZ2lidCwgZGFzcyBhdWYgZGVtIG1nLXNlcnZlciB3YXMKYWt0dWFsaXNpZXJ0IHdlcmRlbiBrYW5uIC4uLgoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1haWxpbmdsaXN0ZSAoR3VhcmQsIDIzLiBKYW4gMjAwNSwgMTM6MjM6MjUpOgptb2luLAoKaWNoIHNjaHJhdWIgZ3JhZCBhbiBkZW4gdmVyZWluc3NlaXRlbiB1bmQgZGEgaXMgbWlyIGRhcyB2ZXJmYWhyZW4genVtCmVpbnRyYWdlbiBpbiBkaWUgbWFpbGluZ2xpc3RlIGV0d2FzIHZlcmFsdGV0IHZvcmdla29tbWVuIC4uLiBkaWUgZWlubGFkdW5nIHp1cgp2ZXJzYW1tbHVuZyAyMDA0IGhhYiBpY2ggbWlyIHp3YXIgbm9jaCB6dXNhbW1lbnJlaW1lbiBrb2VubmVuLCBkYXMgZGFzCnByb3Rva29sbCB2b24gMjAwNCBpc3QgbGVpZGVyIG5pY2h0IHp1IGZpbmRlbiAuLi4KCmdydXNzCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTVAzLVBsYXllciAoQ2F0d2VhemxlLCAyNC4gSmFuIDIwMDUsIDA5OjA0OjQ3KToKfiMhIHJuPU9nbyBydD0xMTA2NTMzMjczIHJnPXNjaG1hcnJuCn4jISB0aWQ9MTEwNjMxNzY1NwpHcmF0dWxpZXJlLCBkdSBoYXN0IHppZWxnZW5hdSB6d2VpIHVuc2VyZXIgVG9Eby1QdW5rdGUgZ2VmdW5kZW4gOi0pCgpBdWYgbWVpbmVyIExpc3RlIHNpbmRzIDksIGltbWVyaGluIHNpbmQgZWluaWdlIGRhdm9uIGluIEFyYmVpdC4gRmluZGVzdCBkdQpub2NoIG1laHI/IDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWJzZWl0ZSBkZXMgVmVyZWlucyAoTXVhZGliLCAgOC4gSnVuIDIwMDUsIDIzOjE2OjUzKToKSGksCgppY2ggaGFiZSBkaWUgbmV1ZSBXZWJzZWl0ZSBkZXMgVmVyZWlucyBhdWZnZXN0ZWxsdC4KRGFuayBhbiBHdWFyZCBmdWVyIGRpZSB0b2xsZSBBcmJlaXQuCkFrdHVhbGlzaWVydW5nZW4gdW5kIHdlaXRlcmUgQW5rdWVuZGlndW5nZW4gbWFjaHQgYmVzdGltbXQgZ2VybmUgZGVyIFZvcnN0YW5kLgoKRGFtaXQgd2lsbCBpY2ggbWljaCBhbHMgcmVpbmVyIEVyZnVlbGx1bmdzZ2VoaWxmZSBhdWNoIHdpZWRlciBhdXNrbGlua2VuLgoKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2Vic2VpdGUgZGVzIFZlcmVpbnMgKFZhbmlvbiwgMTIuIEp1biAyMDA1LCAxMToxMDowMCk6Cn4jISBybj1NdWFkaWIgcnQ9MTExODI2NTQxMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTExODI2NTQxMwpLbGFzc2UgQXJiZWl0LiBTaWVodCBzZWhyIGFuc3ByZWNoZW5kIGF1cyB1bmQgaXN0IHVlYmVyc2ljaHRsaWNoLgoKViosIGZyZXV0IHNpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJlaW5za29udG8sIEJlaXRyYWVnZSAyMDAzLTIwMDUgKE1haGFyZXQsIDIwLiBKdW4gMjAwNSwgMTI6MzQ6NTgpOgpIYWxsbyBhbGxlcnNlaXRzLAoKZW5kbGljaCBpc3QgZXMgc293ZWl0OiAgRGFuayBDYXR0eXMgRWluc2F0eiB1bmQgZGVyIFNhdHp1bmdzYWVuZGVydW5nIGhhdCB1bnMKZGllIERldXRzY2hlIEJhbmsgTXVlbnN0ZXIgZWluIEtvbnRvIGdlZ2ViZW4sIGRhcyB1bnNlcmVuIFZvcnN0ZWxsdW5nZW4KZW50c3ByaWNodC4KRGFtaXQga29lbm5lbiBhdWNoIGVuZGxpY2ggZGllIEJlaXRyYWVnZSBlaW5nZXpvZ2VuIGJ6dy4gdWViZXJ3aWVzZW4gd2VyZGVuLAp3YXMgYXVjaCBpbiBhbGxlcm5hZWNoc3RlciBaZWl0IGdlc2NoZWhlbiB3aXJkLiAgRGFoZXIgZm9sZ2VuZGUgSGlud2Vpc2U6CgpXZXIgc2ljaCBuaWNodCBzaWNoZXIgaXN0LCBkYXNzIGljaCBzZWluZSBha3R1ZWxsZSBCYW5rdmVyYmluZHVuZyBoYWJlIC0gYml0dGUKZ2FueiBzY2huZWxsIGVpbmUgZS1tYWlsIGFuIG1pY2guICBTb2xsdGUgYXVmZ3J1bmQgdmVyYWx0ZXRlciBBbmdhYmVuIGRhcwpMYXN0c2NocmlmdHZlcmZhaHJlbiBuaWNodCBrbGFwcGVuLCBtdXNzIGljaCBFdWNoIGRpZSBhbmZhbGxlbmRlbiBHZWJ1ZWhyZW4KYXVmZHJ1ZWNrZW4uCgpGYWVsbGlnIHNpbmQgMzYgRXVybyAoMjAwMy0yMDA1KS4gIFdlbSBkYXMgenUgdmllbCBhdWYgZWlubWFsIGlzdCwgbW9lZ2UgbWlyCmF1Y2ggc2NobmVsbCBlaW5lIGUtbWFpbCBzY2hpY2tlbiwgZGFtaXQgd2lyIGVpbmUgcmF0ZW53ZWlzZSBBYmJ1Y2h1bmcgYnp3ClVlYmVyd2Vpc3VuZyBhYnNwcmVjaGVuIGtvZW5uZW4uCgpTZWxic3R1ZWJlcndlaXNlciBiaXR0ZSBiaXMgenVtIDEuIEp1bGkgdWViZXJ3ZWlzZW4uICBXZXIgZGFzIG5pY2h0IGhpbmtyaWVndAotIGUtbWFpbCBhbiBtaWNoLiAgRGFubiBzcGFyIGljaCBtaXIgdW5kIEV1Y2ggZGllIE5hY2hmcmFnZW4sIHdhcyBkZW5uIGxvcwpzZWkuICAKV2VyIG5pY2h0IHdlaXNzLCBvYiBlciBTZWxic3R1ZWJlcndlaXNlciBpc3Qgb2RlciBhbSBMYXN0c2NocmlmdHZlcmZhaHJlbgp0ZWlsbmltbXQgLSBnZW5hdSAtIGUtbWFpbCBhbiBtaWNoLCBpY2gga2FubiBkYXMgbmFjaHNjaGF1ZW4uCgpEaWUgbmV1ZSBCYW5rdmVyYmluZHVuZyBsYXV0ZXQ6Ckt0b25yLiAwMjk2ODg5CkJMWjogNDAwNzAwMjQKRGV1dHNjaGUgQmFuayBNdWVuc3RlcgoKU29sbHRlIGljaCB2ZXJzZWhlbnRsaWNoIEJlaXRyYWVnZSBhYmJ1Y2hlbiBmdWVyIGVpbiBKYWhyLCBpbiBkZW0gSWhyIG5vY2gKbmljaHQvbmljaHQgbWVociBWZXJlaW5zbWl0Z2xpZWQgd2FydCwgYml0dGUgbmljaHQgYm9lc2Ugc2Vpbi4gIEljaCB3ZXJkZQp2ZXJzdWNoZW4sIGRhcyB6dSB2ZXJtZWlkZW4sIGthbm4gZXMgYWJlciBpbiBBbmJldHJhY2h0IGRlciBhdWZnZWxhdWZlbmVuClZlcmFlbmRlcnVuZ2VuIGF1Y2ggdm9yIG1laW5lciBaZWl0IGFscyBLYXNzZW53YXJ0IG5pY2h0IGdhcmFudGllcmVuLiAgV2llZGVyCmdpbHQgLSBlLW1haWwgYW4gbWljaC4gIEljaCB3ZXJkZSBkZW4gZW50c3ByZWNoZW5kZW4gQmV0cmFnIGRhbm4gc29mb3J0IHJldG91cgpzY2hpY2tlbi4gIFdlciBnYW56IHNpY2hlciBnZWhlbiB3aWxsLCBrYW5uIGphIGpldHp0IG5vY2htYWwgZWluZSAiRXJpbm5lcnVuZyIKYW4gbWljaCBzY2hpY2tlbi4KCkF1ZiBkYXNzIGRhcyBiaXMgenVyIFBhcnR5IHVuZCBkYW1pdCB6dXIgbmFlY2hzdGVuIFZvbGx2ZXJzYW1tbHVuZyBhYmdlaGFrdAppc3QsCgpNYWhhcmV0IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmVpbnNrb250bywgQmVpdHJhZWdlIDIwMDMtMjAwNSAoUGlsZ3JpbSwgMjIuIEp1biAyMDA1LCAxNzozNDo1Nik6Cn4jISBybj1NYWhhcmV0IHJ0PTExMTkyNjM2OTggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExMTkyNjM2OTgKV3VyZGVuIHZvbiAyMDAzIGJpcyBqZXR6dCBrZWluZSBCZWl0cmFnZSBlaW5nZXpvZ2VuIC4uLiA/IFVuZCBpY2ggd3VuZGVydGUKbWljaCBzY2hvbiAuLi4gCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlYnNlaXRlIGRlcyBWZXJlaW5zIChQaWxncmltLCAyMi4gSnVuIDIwMDUsIDE3OjM5OjAwKToKfiMhIHJuPVZhbmlvbiBydD0xMTE4NTY3NDAwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTE4MjY1NDEzCipTdGltbSBiZWkqIC4uLiBzaWV0IGd1dCBhdXMgLi4uIGludHVpdGl2IHp1IGJlZGllbmVuIHVzdy4KCkphIGdyYXR1bHVqZSAuLi4KClBTOiBhdWYgZmllbCBtaXIsIGRhcyBkaWUgTWl0Z2xpZWRlcmxpc3RlIHZvbiAxNy42LjIwMDMgaXN0LiBUaXBmZWhsZXIsIG9kZXIKYWx0ZXIgRGF0ZW5zYXR6PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWlubGFkdW5nIHp1ciBNaXRnbGllZGVydmVyc2FtbWx1bmcgMjAwNSAoQW5hdG9sLCAyOS4gSnVuIDIwMDUsIDIzOjU1OjQzKToKSGFsbG8genVzYW1tZW4sCiAKenVyIGRpZXNqYWVocmlnZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyBGb2VyZGVydmVyZWlucwpQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLlYuIGxhZGVuIHdpciBhbGxlIE1pdGdsaWVkZXIgZWluLgpEaWUgVmVyc2FtbWx1bmcgZmluZGV0IHdpZWRlciBpbSBSYWhtZW4gZGVyIE1vcmdlbkdyYXVlbi0KUGFydHkgc3RhdHQsIHVuZCB6d2FyCiAKYW0gICAgICBTYW1zdGFnLCBkZW4gMzAuIEp1bGkgMjAwNQp1bSAgICAgIDE2OjAwIFVocgogCmF1ZiBkZW0gQ2FtcGluZ3BsYXR6IFJ1aHJicnVlY2tlCiAgICAgICAgUnVocnN0cmFzc2UgNgogICAgICAgIDQ1NTI5IEhhdHRpbmdlbgogCgpEaWUgVGFnZXNvcmRudW5nIGZvbGdlbmRlIFB1bmt0ZSB2b3I6CiAKMS4gQmVncnVlc3N1bmcKMi4gVmVybGVzZW4gZGVzIGxldHp0ZW4gUHJvdG9rb2xscwozLiBCZXJpY2h0ZSBkZXMgVm9yc3RhbmRzIHVuZCBkZXIgS2Fzc2Vud2FydGluIChBa3Rpdml0YWV0ZW4sU3RhdGlzdGlrLEthc3NlKQo0LiBCZXJpY2h0IGRlciBLYXNzZW5wcnVlZmVyCjUuIEVudGxhc3R1bmcgZGVzIFZvcnN0YW5kcwo2LiBOZXV3YWhsIGRlcyBWb3JzdGFuZHMgdW5kIGRlcyBTY2hyaWZ0ZnVlaHJlcnMKNy4gTmV1d2FobCBlaW5lcyBLYXNzZW5wcnVlZmVycwo4LiBWb3JzY2hhdSBhdWYgMjAwNS8yMDA2CjkuIFZlcnNjaGllZGVuZXMKIApFaW5lIEFuZmFocnRzYmVzY2hyZWlidW5nIHp1bSBDYW1waW5ncGxhdHogUnVocmJydWVja2UgaW4gSGF0dGluZ2VuCmZpbmRldCBpaHIgaW0gV29ybGQgV2lkZSBXZWIgdW50ZXIgaHR0cDovL3d3dy5jYW1waW5nLWhhdHRpbmdlbi5kZS4KClZpZWxlIEdydWVzc2UKQWRyaWFuIChBbmF0b2wpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbmxhZHVuZyB6dXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIDIwMDUgKEFuYXRvbCwgMjkuIEp1biAyMDA1LCAyMzo1OToxMCk6Cn4jISBybj1BbmF0b2wgcnQ9MTEyMDA4MjE0MyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTEyMDA4MjE0MwpFaW5sYWR1bmcgaXN0IGF1Y2ggYW4gZGllIExpc3RlIGdlZ2FuZ2VuLiBXZXIgbmljaHRzIGJla29tbWVuIGhhdAphYmVyIGV0d2FzIGhhZXR0ZSBiZWtvbW1lbiB3b2xsZW4vc29sbGVuLCBiaXR0ZSBlaW5lIGt1cnplIE11ZG1haWwKYW4gbWljaCAobWl0IE5lbm51bmcgZWluZXIgZ3VlbHRpZ2VuIEVtYWlsYWRyZXNzZSA6KSksIGljaCB3ZXJkZQotIGhvZmZlbnRsaWNoIG5vY2ggdm9yIGRlciBQYXJ0eSAtIGRpZSBFaW50cmFlZ2UgbmFjaHBmbGVnZW4uCgpBdWNoIGluIFBhcGllcmZvcm0gd2lyZCBkaWVzZSBFaW5sYWR1bmcgbm9jaCBlcmdlaGVuLCBkYXMgZ2VsdGVuZGUKUmVjaHQgendpbmd0IHVucyBkYXp1IC0gdW5kIHRhdHNhZWNobGljaCBnaWJ0IGVzIG1laHIgdW5kIG1laHIKVmVyZWluc21pdGdsaWVkZXIsIGRpZSBlaGVyIGlocmUgUG9zdCBsZXNlbiBhbHMgZGllIE1QQS4gV2FyCnp1bWluZGVzdCBiZWkgbWlyIGZydWVoZXIgbWFsIGFuZGVycy4uLiBdO14+IAoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2Vic2VpdGUgZGVzIFZlcmVpbnMgKEd1YXJkLCAxMC4gSnVsIDIwMDUsIDEyOjU4OjQ5KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTExOTQ1NDc0MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTExODI2NTQxMwpMZWlkZXIgKG9kZXIgdmllbGxlaWNodCBhdWNoIGd1dCBzbykgc3RlaGVuIGF1ZiBkZXIgd2Vic2VpdGUgdmllbGUgc3RhZW5kaWcKYWt0dWVsbCB6dSBoYWx0ZW5kZSBJbmZvcy4gYXVjaCBkaWUgbWl0Z2xpZWRlcmxpc3RlLCBpY2ggd2VyZCBhdWYgZGVyCm5hZWNoc3RlbiB2ZXJzYW1tbHVuZyBkYXMgbWFsIGFuc3ByZWNoZW4sIGRhc3Mgc2ljaCBkYSBqZW1hbmQgZHJ1bSBrdWVtbWVybgptdXNzIG9kZXIgZGllIG1vZWdsaWNoa2VpdGVuIGdlc2NoYWZmZW4gd2VyZGVuLCBkYXNzIG1hbiBzaWNoIGRydW0ga3VlbW1lcm4Ka2FubiAuLi4gYmlzIGRhaGluLCBtdXNzIGxlaWRlciBkYW1pdCBnZWxlYnQgd2VyZGVuCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2Vic2VpdGUgZGVzIFZlcmVpbnMgKE11YWRpYiwgMTAuIEp1bCAyMDA1LCAxNTo0Nzo0Mik6Cn4jISBybj1HdWFyZCBydD0xMTIwOTkzMTI5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTE4MjY1NDEzCmRpZSBtb2VnbGljaGtlaXQgZGF6dSBpc3QgYW0gZW50c3RlaGVuLCBhYmVyIGRhcyBtYWhsdCBhbGxlcyBsYW5nc2FtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZWJzZWl0ZSBkZXMgVmVyZWlucyAoWm9vaywgMTAuIEp1bCAyMDA1LCAxNTo0OToxNik6Cn4jISBybj1NdWFkaWIgcnQ9MTEyMTAwMzI2MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTExODI2NTQxMwpJY2ggYmluIHVuc2NodWxkaWchIDspIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXZWJzZWl0ZSBkZXMgVmVyZWlucyAoTXVhZGliLCAxMC4gSnVsIDIwMDUsIDE1OjUwOjEwKToKfiMhIHJuPVpvb2sgcnQ9MTEyMTAwMzM1NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTExODI2NTQxMwpzY2h1bGQgaXN0IGRhIG5pZW1hbmQsIGVzIGlzdCBlaW4gaGF1ZmVuIGFyYmVpdCBiZWkgc3luY2hyb25pc2F0aW9uc2JlZGFyZiB2b24KbWVocmVyZW4gaHVtYW5yZXNvdXJjZW50aW1lc2xvdHMgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmVpbnNhZHJlc3NlIChNYWhhcmV0LCAxMS4gSnVsIDIwMDUsIDEzOjE4OjIwKToKSGFsbG8gYWxsZXJzZWl0cywKCmRpZSBWZXJlaW5zYWRyZXNzZSBhdWYgZGVyIEhvbWVwYWdlIGlzdCB6d2FyIGRpZSBvZmZpemllbGxlIFZlcmVpbnNhZHJlc3NlLiAKQWJlciBkYSBWaXBlciB1bWdlem9nZW4gaXN0IHVuZCBvZmZlbmJhciBrZWluZW4gTmFjaHNlbmRlYXVmdHJhZyBnZXN0ZWxsdCBoYXQsCmtvbW10IGRpZSBQb3N0IG5pY2h0IGFuLiAgQml0dGUgZGFoZXIgbmljaHRzIGFuIGRpZSBBZHJlc3NlIHNjaGlja2VuLCBzb25kZXJuCmVudHdlZGVyIGFuIGVpbmVuIGRlciBWb3JzdGFuZHNtaXRnbGllZGVyIChBZHJlc3NlbiBzaWVoZSAiaGlsZmUgdmVyZWluIiksClVudGVybGFnZW4genVyIFBhcnR5IG1pdGJyaW5nZW4gb2RlciBlaW5mYWNoIGFid2FydGVuLCBiaXMgZGllIEFkcmVzc2ZyYWdlCmdla2xhZXJ0IGlzdC4KClR1dCBtaXIgbGVpZCwgZGFzcyBkYSBtYWwgd2llZGVyIHdhcyBuaWNodCBzbyBmdW5rdGlvbmllcnQsIHdpZSBlcwpmdW5rdGlvbmllcmVuIHNvbGx0ZS4gIE1laW5lIFRpc2Noa2FudGUgc2llaHQgYXVjaCBzY2hvbiB2b2VsbGlnIHplcmJpc3NlbgphdXMuCgpHcnVzcywKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvdG9rb2xsZSAoR3VhcmQsIDI2LiBEZXogMjAwNSwgMTM6MzI6MjQpOgptb2luIGFsbGVyc2VpdHMsCgppY2ggaGFicyBlbmRsaWNoIGdlc2NoYWZmdCwgYWxsZSBmZWhsZW5kZW4gcHJvdG9rb2xsZSB1bmQgZWlubGFkdW5nZW4gb25saW5lCnp1IHN0ZWxsZW4uCmFuIGRpZXNlciBzdGVsbGUgZGVyIGFsdGUgSGlud2VpczogaWNoIHN1Y2hlIGltbWVyIG5vY2ggdW50ZXJsYWdlbiB6dQpnZWhhbHRlbmVuIFZvcnRyYWVnZW4hISEKCmJpcyBkZW5uZQoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNZXNpcmlpLCAxMi4gTWFyIDIwMDYsIDAwOjI2OjM2KToKSGFsbG8sCgpkYSBpY2ggbWljaCBiZXJlaXQgZXJrbGFlcnQgaGF0dGUgbWljaCB6dSBrdWVtbWVybiB1bmQgYXVjaCB2ZXJzdGFlcmt0CmFuZ2VzcHJvY2hlbiB3dXJkZSwgd2FzIHNpY2ggZGVubiBudW4gc2Nob24gZ2V0YW4gaGF0LCBtb2VjaHRlIGljaCBoaWVyCm5vY2ggZWlubWFsIGRpZSBEaXNrdXNzaW9uIHVtIEZseWVyLCBXZXJiZXpldHRlbCBldGMuIGFuc3Rvc3Nlbi4KCkVpbmUgSWRlZSB3YWVyZSBlcywgZGllIGdlbGllYnRlbiBDaXR5LVBvc3RrYXJ0ZW4genUgbnV0emVuIHVtIGdlemllbHQgYXVmCnBvdGVudGllbGxlIFppZWxncnVwcGVuIHp1enVnZWhlbi4KCk1hbiBrYW5uIGRhcyB6aWVtbGljaCBmZWluZ3JhbnVsYXIgc3RldWVybiwgd28gZGllIGF1c2dlc3RyZXV0IHdlcmRlbiwKei5iLiBudXIgVW5pdmVyc2l0YWV0c3N0YWVkdGUgaW4gU3R1ZGVudGVua25laXBlbiBldGMuIExhdWZ6ZWl0IGlzdCBtZWlzdCAxNApUYWdlLgoKRnJhZ2xpY2ggd2FlcmUsIHdpZSBkYXMgRGVzaWduIGF1c3NlaGVuIHNvbGx0ZSwgdmllbGxlaWNodCBrYW5uIFJhbmdvcm4gZGEKd2FzIGJlaXN0ZXVlcm4/IEdnZi4gQmlsZGVyL0Rlc2lnbiBkZXIgbmV1ZW4gU2VpdGVuIG51dHplbi4KCldlaXRlcmhpbiB3YXMgZGEgYW4gSW5mb3JtYXRpb25lbiBkcmF1ZiBzb2xsIHVuZCB3aWUgZGllIGluaGFsdGxpY2gKYXVmZ2VtYWNodCBzZWluIHNvbGx0ZW4uCgpBbHMgaWNoIGxldHp0ZW5zIG1pdCBNYWhhcmV0IGRydWViZXIgZGlza3V0aWVydCBoYWJlLCBpc3QgdW5zIHJlbGF0aXYKc2NobmVsbCBrbGFyZ2V3b3JkZW4sIGRhc3Mgd2lyIHVudGVyIGRlbiAxNSBiaXMgMjVqYWVocmlnZW4gd29obCBrZWluZW4KQmx1bWVudG9wZiBtZWhyIGdld2lubmVuIHdlcmRlbi4gWnVtIGVpbmVuIHNpbmQgZGllIGltIE1lZGllbnplaXRhbHRlcgpncm9zc2dld29yZGVuIHVuZCBhbGxlcyB3YXMgbmljaHQgYnVudCB1bmQgbGF1dCBpc3QgdGF1Z3Qgbml4LiBBdWNoIGlzdApkaWUgVmVyYnJlaXR1bmcgdm9uIEJ1ZWNoZXJuIGluIGRpZXNlciBaaWVsZ3J1cHBlIG5pY2h0IHdpcmtsaWNoIHNvCnVtd2VyZmVuZCBob2NoLgoKRGFoZXIgd2FlcmUgZXMgaW1obyBzaW5udm9sbGVyIGF1ZiBkaWUgTGV1dGUgdW5zZXJlciBBbHRlcnNncnVwcGUgMjUtMzUrCnp1enVnZWhlbiB1bmQgZGllc2UgYXVmIGRpZSBkb2NoIGdlbXVldGxpY2hlcmUgZW50c3Bhbm50ZSBBdG1vc3BoYWVyZSBlaW5lcwpNdWRzIG5ldWdpZXJpZyB6dSBtYWNoZW4uCgpEaWUgU2FjaGUgd2lyZCBuYXR1ZXJsaWNoIG5pY2h0IHdpcmtsaWNoIGJpbGxpZy4gRXMgZ2lidCBhYmVyClNvbmRlcmtvbmRpdGlvbmVuIGZ1ZXIgZ2VtZWlubnVldHppZ2UgVmVyZWluZToKYmVpIGVkZ2FyIDYwJSBSYWJhdHQsCnByZWlzbGljaCBnZWh0IGVzIGxvcyBhYiBlaW5lciBhdWZsYWdlIHZvbiAxNjAwMCBmdWVyIDE2MDAgZXVyby4KCkVpbmUgQWx0ZXJuYXRpdmUgSWRlZSwgd2FlcmUgbm9jaCwgZGFzcyB3aXIgZGllIEthcnRlbiBzZWxic3QgaW4gZWluZW0KRm90by1TaG9wIG9kZXIgaGFsdCBkcm9nZXJpZSBhbHMgZm90b3MgZHJ1Y2tlbiBsYXNzZW4gdW5kIHZvbiBkZW4gbXVkZGVybgppbiBpaHJlbiBzdGFlZHRlbiB2ZXJ0ZWlsZW4gbGFzc2VuLiBEaWUgS29zdGVuIHdhZXJlbiBkYW5uIGRldXRsaWNoCmdlcmluZ2VyLCBCaWxkZXIgYmVrb21tdCBtYW4gc2Nob24gYWIgNSBjdC9iaWxkLCBpY2ggaGFiIGF1Y2ggc2Nob24gd2VsY2hlCmZ1ZXIgMSBjdCBwcm8gYmlsZCAoYWIgZGVtIDUwMC4gYmlsZCkgZ2VzZWhlbi4KCk1hbiBrYW5uIHNpY2ggYXVjaCBhbmRlcmUgRGluZ2Ugbm9jaCB1ZWJlcmxlZ2VuLCB1bSBkYXMgTXVkIGJla2FubnQgenUKbWFjaGVuLiBJY2ggbW9lY2h0ZSBoaWVybWl0IGVpbmUgRGlza3Vzc2lvbiBkYXp1IGxvc3N0b3NzZW4uCgpJZGVlbjoKKiBNb250YW51cyBrYW5uIHNlaW5lbiBTcGllbGVuIHNvbGNoZSBLYXJ0ZW4gYmVpbGVnZW4KKiBXZXJidW5nIGF1ZiBlaW5zY2hsYWVnaWdlbiBTZWl0ZW4KKiBHb29nbGUgQWQtV29yZHMgKE9ubGluZSxNdWx0aXBsYXllcixSb2xsZW5zcGllbCkKLi4uCgpHcnVzcyBNZXNpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNdWFkaWIsIDEyLiBNYXIgMjAwNiwgMDA6MzM6MTMpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQyMTE5NTk2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CmljaCB3dWVyZGUgZGllIGp1ZW5nZXJlIGdlbmVyYXRpb24gbmljaHQgdm9yc2NobmVsbCBhYnNjaHJlaWJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoUm9uZGEsIDEyLiBNYXIgMjAwNiwgMDA6MzY6MDMpOgp+IyEgcm49TXVhZGliIHJ0PTExNDIxMTk5OTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKSG1tLi4uIHZpZWxsZWljaHQgaGFiZSBpY2ggZGEgd2FzIG5pY2h0IG1pdGJla29tbWVuOiBXYXJ1bSBzb2xsdGVuIHdpciBHZWxkCmF1c2dlYmVuLCB1bSBXZXJidW5nIGZ1ZXJzIE1vcmdlbmdyYXVlbiB6dSBtYWNoZW4uLi4/IFdlbGNoZW4gU2lubiBoYXQgZGFzPwoKUm9uZGEKLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEdsb2luc29uLCAxMi4gTWFyIDIwMDYsIDAwOjM3OjQ1KToKfiMhIHJuPVJvbmRhIHJ0PTExNDIxMjAxNjMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKWnVyIEZvZXJkZXJ1bmcgZGVzIE1VRHMuIERhZnVlciBpc3QgZGVyIFZlcmVpbiBqYSBkYS4gVW5kIG5ldWUgTWl0c3BpZWxlcgpmb2VyZGVybiBkYXMgTVVEIGF1Y2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKFJhZ25hcm9laywgMTIuIE1hciAyMDA2LCAwMDo0MTozMSk6Cn4jISBybj1SYWduYXJvZWsgcnQ9MTE0MjEyMDQxMSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpEYXMgc2VoZSBpY2ggYWVobmxpY2ggd2llIE11YWRpYi4gRWluIEJ1Y2gga2FubiBuZW4gYnVudGVuIHVuZCBsYXV0ZW4gCkZpbG0gbmljaHQgZXJzZXR6ZW4sIGRhcyBpc3QgYmVpIFNwaWVsZXJuIGFlaG5saWNoLgoKQW5zb25zdGVuIGJpbiBpY2ggaW4gSGluYmxpY2sgYXVmIGRpZSBnZWdlbndhZXJ0aWdlIFNpdHVhdGlvbiBzdGFyayAKZnVlciBkaWUgVW50ZXJzdHVldHp1bmcgdm9uIFdlcmJlYWt0aW9uZW4uCgpJbSBOZXR6IGdpYnQgZXMgYmVpc3BpZWxzd2Vpc2UgaHVuZGVydGUgdm9uIFNlaXRlbiwgZGllICdrb3N0ZW5sb3NlCk9ubGluZWdhbWVzJyBldGMuIGFucHJlaXNlbiwgaWNoIGhpZWx0ZSBlcyBmdWVyIHBhc3NlbmQsIGRvcnQgYXVjaApXZXJidW5nIGZ1ZXIgTXVkcyB6dSBtYWNoZW4uIFNpY2hlciBpc3QgbnVyIGVpbiBCcnVjaHRlaWwgZGVyIGRvcnQKZXJyZWljaHRlbiBTcGllbGVyIGRpZSBaaWVsZ3J1cHBlLCBkaWUgbWFuIGFuc3ByZWNoZW4gbW9lY2h0ZSwgCmRvY2ggZWluZW4gV2VyYmVlZmZla3QgaGFldHRlIGVzIGFsbGVtYWwsIHVuZCBkYXNzIGRhcyBNRyBtZWhyIAp6dSBiaWV0ZW4gaGF0LCBhbHMgZGllIGRvcnQgc28gemFobHJlaWNoIHZlcnRyZXRlbmVuIEZsYXNoZ2FtZXMKdXN3LiB3aXJkIGRlciBnZW5laWd0ZSBCZW51dHplciBkYW5uIHNlbGJzdCBmZXN0c3RlbGxlbi4KVW5kIGVpbiBwYWFyIE5ldXNwaWVsZXIgd3VlcmRlbiBkZW0gTUcgendlaWZlbGxvcyBndXR0dW4uLgoKOnI6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoUm9uZGEsIDEyLiBNYXIgMjAwNiwgMDA6NDE6NDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE0MjEyMDI2NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpWaWVsbGVpY2h0IHNvbGx0ZW4gd2lyIG5hY2ggRGlza3Vzc2lvbiBhdXN3ZWljaGVuPwoKSWNoIHZlcnN0ZWhlIGVzIGltbWVyIG5vY2ggbmljaHQuIEljaCBzcGllbGUgLSBodXN0Li4uIC0gaWNoIGJpbiBpbiBkaWVzZW0gTXVkCnNlaXQgMTk5NC4gRXMgZ2FiIGltbWVyIG1hbCBldHdhcyBtZWhyLCBtYWwgZXR3YXMgd2VuaWdlciBTcGllbGVyIGhpZXIuIEVzIGdhYgppbW1lciBMZXV0ZSwgZGllIHNpY2ggdG9sbCBlbmdhZ2llcnQgaGFiZW4sIG1pdCB2aWVsIExpZWJlIHVuZCBIZXJ6Ymx1dCBkYXMKZ2FuemUgZXJ3ZWl0ZXJ0LCBiZXNwaWVsdCAtIGdlbGVidCBoYWJlbi4gRXMgd2FyIG5pZSBub2V0aWcsIGV4cGxpeml0IGlyZ2VuZHdvCmdlZ2VuIEdlbGQgV2VyYnVuZyB6dSBtYWNoZW4uIERhcyBNb3JnZW5ncmF1ZW4gd2llIGFsbGUgYW5kZXJlbiBNdWRzIGxlYnQgdm9uCmRlciBNdW5kLXp1LU11bmRwcm9wYWdhbmRhLiBPZGVyIG5lbm50IGVzIEd1ZXJpbGxhLU1hcmtldGluZy4KClZpZWxsZWljaHQgYmluIGljaCBzY2hvbiB6dSB2ZXJrYWxrdCwgYWJlciBkZXIgU2lubiB2b24gYmV6YWhsdGVyIFdlcmJ1bmcKZXJzY2hsaWVzc3Qgc2ljaCBtaXIgZWluZmFjaCBhYnNvbHV0IG5pY2h0LgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChSYWduYXJvZWssIDEyLiBNYXIgMjAwNiwgMDA6NDM6MDEpOgp+IyEgcm49Um9uZGEgcnQ9MTE0MjEyMDUwMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpJY2ggZ2xhdWJlIGF1Y2gsIGRhc3MgZXMgMTAwMCBNb2VnbGljaGtlaXRlbiBnaWJ0LCBrb3N0ZW5sb3NlIApXZXJidW5nIHp1IG1hY2hlbiwgdW5kIGVuZ2FnaWVyZSBtaWNoIGdlcm5lIGF1Y2gsIHNvbGNoZSAKTW9lZ2xpY2hrZWl0ZW4genUgZXJzY2hsaWVzc2VuLi4uCgo6cjoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNZXNpcmlpLCAxMi4gTWFyIDIwMDYsIDAwOjQzOjM1KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNDIxMjAyNjUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKV2VpdGVyZSBJZGVlbjoKTWFuIGtvZW5udGUgZWluZSBuZXR0ZSBTaWduYXR1ciBiYXN0ZWxuLCBkaWUgZGllIExldXRlLCBkaWUgZGFzIHdvbGxlbiBhbiBpaHJlCkVtYWlscyBkcmFuaGFlbmdlbiBrb2VubmVuLiBJY2ggZGVua2UgZGEgbnVyIGFuIGRpZSB2b24gSVcuCnouQjogZGllIHZvbiBIaWdobGFuZGVyCkhpZ2hsYW5kZXIgaXN0IGFud2VzZW5kLApWb2xsZXIgTmFtZTogSGlnaGxhbmRlciByeW4gVGFoYXIKUmFzc2U6IEdyZWlmLCAgR2lsZGU6IFdlaXNlLCAgR2VzY2hsZWNodDogbWFlbm5saWNoCkFsdGVyOiAzMDRkIDE5OjMwOjA0LCAgIE1hZ2llcmxldmVsOiA1NSAoV2Vpc2VyKQpEYXR1bSBkZXMgZXJzdGVuIExvZ2luOiB2b3IgZGVtIDEwLiBOb3YgMTk5NQpNb3JnZW5HcmF1ZW4gLSAxIFdlbHQsIG1laHIgYWxzIDEwMCBQcm9ncmFtbWllcmVyICwgbWVociBhbHMgMTUwMDAgUmFldW1lLAp2aWVsIG1laHIgYWxzIDIwMDAgdW50ZXJzY2hpZWRsaWNoZSBOUEMsIDc5IFF1ZXN0cywgMTArMiBHaWxkZW4sIHVlYmVyIDEwMDAKV2FmZmVuIHVuZCBSdWVzdHVuZ2VuLCBrZWluZSBVbWxhdXRlIHVuZCBlaW4gSGF1ZmVuIFZlcnJ1ZWNrdGVyLgpFeGlzdGVuejogbWVociBhbHMgMTMgSmFocmUKCndlaXRlcjogQmFubmVyd2VyYnVuZyBhdWYgSG9tcGFnZXMgKElkZWUgdm9uIFRhcmFuaXMpLCBSYW5nb3JuIGhhdCBqYSBzY2hvbgp2aWVsCkVyZmFocnVuZyBpbSBCYXN0ZWxuIHNvbGNoZXIgQmFubmVyLgp3ZWl0ZXI6IHZpZWxsZWljaHQga29lbm50ZW4gZGllIE1pdGFyYmVpdGVyIGRpdmVyc2VyIExpbnV4LURpc3RyaWJ1dGlvbmVuIHNpY2gKYmVpCmlocmVuIEFyYmVpdGdlYmVybiBkYWZ1ZXIgZWluc2V0emVuLCBkYXNzIGVpbiAidGVsbmV0IG1nLm11ZC5kZSIgbWl0IGluIGRlbQoiU3BpZWxlIiBUZWlsIGRlcyBTdGFydG1lbnVlcyBhdWZ0YXVjaHQ/CgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoUm9uZGEsIDEyLiBNYXIgMjAwNiwgMDA6NDg6MDMpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQyMTIwNjE1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkdlZ2VuIGtvc3Rlbmxvc2UgV2VyYnVuZyBzYWdlIGljaCBqYSBhdWNoIGdhciBuaWNodHMsIGZpbmRlIGljaCB2b24gZGVyIElkZWUKaGVyIGd1dC4gTWljaCBpcnJpdGllcnQgbnVyIGRlciBHZWRhbmtlLCBkYXNzIG1laW5lIFZlcmVpbnNiZWl0cmFlZ2UgKHNvIHNpZQpkZW5uIGFiZ2VidWNodCB3ZXJkZW4gLSBqYSwgaWNoIHdlaXNzLCBkYXNzIGVzIGRhIGRhcyBQcm9ibGVtIGdpYnQuLi4pIGZ1ZXIKUG9zdGthcnRlbm1hc3NuYWhtZW4gYXVzZ2VnZWJlbiB3ZXJkZW4uIFVuZDogZmFsbHMgZXMgd2lya2xpY2gga2VpbmUgTGV1dGUKbWVociBnZWJlbiBzb2xsdGUsIGRpZSBUZWxuZXQtU3BpZWxlIGd1dCBmaW5kZW4sIHNvbmRlcm4gYWxsZXMgcXVpZXRzY2hpZywKa25hbGxpZyB1bmQgYnVudCBicmF1Y2hlbjogRGFubiBpc3QgZGFzIGhhbHQgc28uIERhbm4gaGlsZnQgZXMgYXVjaCBuaWNodCwgZGEKbm9jaCBHZWxkIGhpbnRlcmhlcnp1d2VyZmVuLiBEYW5uIHNpdHogaWNoIGhhbHQgaW4gZWluZW0gSmFociBoaWVyIGFsbGVpbiB1bmQKYnJhYmJlbCB2b3IgbWljaCBoaW4uCgpSb25kYSAqZ2xhdWJ0IGFiZXIgZWhlciBub2NoIG5pY2h0IGRyYW4sIGRhc3MgZGFzIE1HIGltIG5hZWNoc3RlbiBKYWhyIHZvbiBXb1cKb2RlciBhZWhubGljaGVtIGtvbXBsZXR0IGFiZ2Vsb2VzdCB3aXJkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKFdoaXRldGlnZXIsIDEyLiBNYXIgMjAwNiwgMDA6NDg6MzMpOgp+IyEgcm49UmFnbmFyb2VrIHJ0PTExNDIxMjA1ODEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKRXMgZ2lidCBlaW5pZ2UgTVVEcywgZGllIG9mZmVuc2l2IFdlcmJ1bmcgbWFjaGVuLCBSZXRyb01VRCB6Qi4gc2NoYWx0ZXQoZT8pCmVpbmUgZ2FuemUgUmVpaGUgdm9uIEJhbm5lcndlcmJ1bmcuIFNwcmljaHQgYWJlciBuaWNodCB1bmJlZGluZ3QgZnVlciBkaWUKUXVhbGl0YWV0LiBVbmQgaWNoIHBlcnNvZW5saWNoIGJpbiBnZXJhZGUgYmVpIGlyZ2VuZHdpZSBrb21tZXJ6aWVsbCAoZC5oLgpBbnplaWdlbiAmIENvLikgYmV3b3JiZW5lbiBEaW5nZW4gZWhlciBlcnN0bWFsIHNrZXB0aXNjaC4gVmllbGxlaWNodCBrb21tdCBkYXMKbnVyIG1pciBzbyB2b3IgdW5kIGljaCBzZWhlIGRhcyB6dSBlbmcsIGFiZXIgZnVlciBtaWNoIGhhYmVuIGtvbW1lcnppZWxsCmJld29yYmVuZSBTYWNoZW4gZWJlbiBpbW1lciBkZW4ga29tbWVyemllbGxlbiBIaW50ZXJncnVuZCAtIGF1Y2ggd2VubiBmdWVyIGRhcwpCZXdvcmJlbmUga2VpbiBHZWxkIHZlcmxhbmd0IHdpcmQuIEFsc286IGljaCBwZXJzb2VubGljaCBmaW5kZSBuaWNodCBzbwphdXNnZXdhbHp0ZSBTYWNoZW4gYmVzc2VyLgoKVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChHbG9pbnNvbiwgMTIuIE1hciAyMDA2LCAwMDo0OTo1OCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTExNDIxMjA5MTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKVW0genVydWVjayB6dSBNZXNpcyBJZGVlIHp1IGtvbW1lbjogUG9zdGthcnRlbiAtIGRpZSBmaW5kZSBpY2ggZ2FyIG5pY2h0CmF1c2dlbHV0c2NodC4gVW5kIGRpZSBJZGVlIHNwcmljaHQgTGV1dGUgYW4sIGRpZSBuaWNodCB0YWd0YWVnbGljaCBvaG5laGluIGltCkludGVybmV0IGdlbGFuZ3dlaWx0IHZvciBzaWNoIGhpbnN1cmZlbiB1bmQgYXVmIGRlciBxdWlldHNjaGJ1bnRlbiBXZWxsZQpyZWl0ZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE1lc2lyaWksIDEyLiBNYXIgMjAwNiwgMDA6NTE6MzIpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMTQyMTIwOTEzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2ClJvbmRhLCBpY2ggZ2xhdWJlIGRpZSB6dXJ1ZWNrZ2VoZW5kZW4gU3BpZWxlcnphaGxlbiBpbSBNdWQgc2luZCBkb2NoCm9mZmVuc2ljaHRsaWNoCnVuZCBpbiBlaW5lciBaZWl0IHdvIG1hbiBzY2hvbiBldHdhcyB3aW5rZW4gbXVzcyB1bSBhbHMgT25saW5lc3BpZWwgaW0gTmV0egpnZXNlaGVuIHp1IHdlcmRlbiwgc29sbHRlIG1hbiBkYXMgYXVjaCB0dW4uCkVpbiB3aWNodGlnZXIgTXVuZC16dS1NdW5kIFB1bmt0IGlzdCBuYWVtbGljaCwgc2VpdGRlbSBkaWUgbWVpc3RlbiBoaWVyIGtlaW5lClN0dWRlbnRlbiBtZWhyIHNpbmQgd2VnZ2VmYWxsZW46CldhcyBtYWNodCBkZXIgVHlwIGltIFJlY2hlbnplbnRydW0gZGEgbWl0IGRpZXNlbSBUZXh0c2Nyb2xsLCB1bmQgd2FydW0gaGFja3QKZGVyIHdpZSB3aWxkIGF1ZiBkZW0gWmlmZmVybmJsb2NrIHJ1bS4gQXVzc2VyZGVtIGRhcyBBbnN0ZWNrZW4gYW5kZXJlcgpTdHVkZW50ZW4KaW4gTWVuc2EgJiBDbyB1bmQgZGllIEludGVncmF0aW9uIHZvbiBNdWQtSW5mb3JtYXRpb25lbiBpbgpFcnN0c2VtZXN0ZXJlaW5mdWVocnVuZ2VuLgpNZXNpLCBsZWlkZXIgYXVjaCBrZWluIFN0dWRlbnQgbWVoci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoR2xvaW5zb24sIDEyLiBNYXIgMjAwNiwgMDA6NTg6MTIpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQyMTE5NTk2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Cj4gRnJhZ2xpY2ggd2FlcmUsIHdpZSBkYXMgRGVzaWduIGF1c3NlaGVuIHNvbGx0ZSAuLi4KCldpZSBzY2hvbiBiZWkgZGVyIFdlYnNlaXRlOiBJY2ggYmluIHZvbiBHdWFyZHMgKD8pIFplaWNobnVuZ2VuIGF1ZiBkZXIKSHlkcmF0YXNzZSB1bmQgZGVtIEdpbGRlbi1ULVNoaXJ0IGJlZ2Vpc3RlcnQuIERpZSBnZWJlbiBlaW4gZ3V0ZXMgV2VyYmViaWxkLgppbnRlcmVzc2FudCB3aXJkIGRhcyBHYW56ZSBlcnN0IG1pdCBuZXVlciB1bmQgZnVua3Rpb25pZXJlbmRlciBXZWJzZWl0ZSBhdWYKZGllIG1hbiB2ZXJ3ZWlzZW4ga2Fubi4KCj4gS2FydGVuIHNlbGJzdCBpbiBlaW5lbSBGb3RvLVNob3Agb2RlciBoYWx0IGRyb2dlcmllIGFscyBmb3RvcyBkcnVja2VuCgpEaWUgS2FydGUgbXVzcyBlaWdlbnRsaWNoIG51ciBpbiBvcmRlbnRsaWNoZXIgRm9ybSBydW50ZXJsYWRiYXIgdm9ybGllZ2VuLApkYW5uIGdpbmdlIGRhcyBoZXJ2b3JyYWdlbmQgZGV6ZW50cmFsaXNpZXJ0LiBBYmVyIGRhIHNvbGx0ZSBlcnN0bWFsIGVpbgpGaW5hbnplciB3YXMgenUgc2FnZW4sIG9iIG1hbiBkYXMgZnVlciBkZW4gVmVyZWluIGF1Y2ggc28gYWJyZWNobmVuIGthbm4sCmFuc29uc3RlbiBtdWVzc3RlIGVpbmVyIGRpZSBCZXN0ZWxsYWt0aW9uIHplbnRyYWwgbWFjaGVuIHVuZCBhbiBkaWUKRnJlaXdpbGxpZ2VuIHZlcnNjaGlja2VuIGxhc3NlbiAoQmlsZGVydmVyc2FuZCBnaWJ0IGVzIGphIHByZWlzd2VydCkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoUm9uZGEsIDEyLiBNYXIgMjAwNiwgMDE6MDQ6MDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE0MjEyMTQ5MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpTdG9wLiBFbnRzY2h1bGRpZ3QgYml0dGUuIEFiZXIgaWNoIGRlbmtlLCBlcyByZWljaHQgbmljaHQsIGRhc3MgImVpbiBGaW5hbnplciIKd2FzIGRhenUgc2FnZW4gbXVzcywgb2IgbWFuIGRhcyBmdWVyIGRlbiBWZXJlaW4gYWJyZWNobmVuIF9rYW5uXy4gRXMgbXVzcwpkYXZvciBnZWtsYWVydCB3ZXJkZW4sIG9iIGRpZSBNaXRnbGllZGVyIGRlcyBWZXJlaW5zIGlocmUgVmVyZWluc2JlaXRyYWVnZQpkYWZ1ZXIgaGVyZ2ViZW4gd29sbGVuLCBkYXNzIGRlciBWZXJlaW4gZnVlciBkYXMgTW9yZ2VuZ3JhdWVuIFdlcmJlbWFzc25haG1lbgpfYmV6YWhsdF8uCgpFcyBpc3QgZ3V0LCBkYXNzIElociB1ZWJlciBkaWUgWnVrdW5mdCBkZXMgTW9yZ2VuZ3JhdWVucyBuYWNoZGVua3QsIGRhc3MgSWhyCnNvIHZpZWwgSW5pdGlhdGl2ZSB6ZWlndCBmaW5kZSBpY2ggd2lya2xpY2ggZ3V0LiBBYmVyIGJldm9yIGRhZnVlciB3aXJrbGljaAplY2h0ZXMgR2VsZCBhdXNnZWdlYmVuIHdpcmQsIHNvbGx0ZSBkYXMgT0sgZGVzIFZlcmVpbnMgZGEgc2Vpbi4gVW5kIGRhcwpiZWRldXRldCBhdXMgbWVpbmVyIFNpY2h0IGdhbnoga2xhcjogRWluIGVudHNwcmVjaGVuZGVyIEJlc2NobHVzcyBhdWYgZGVyCm5hZWNoc3RlbiBvcmRlbnRsaWNoZW4gVmVyZWluc3ZlcnNhbW1sdW5nLgoKUm9uZGEgKnN0dXIgd2VubiBlcyB1bSBHZWxkIGdlaHQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoUmFnbmFyb2VrLCAxMi4gTWFyIDIwMDYsIDAxOjA2OjIzKToKfiMhIHJuPVJvbmRhIHJ0PTExNDIxMjE4NDggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKTWFuIGtvZW5udGUgZGFmdWVyIGphIGF1Y2ggZWluZW4gU3BlbmRlbmF1ZnJ1ZiBzdGFydGVuIDspCkFsc28sIGljaCB3dWVyZHMgdW50ZXJzdHVldHplbiwgc29sYW5nZSBlcyBzaW5udm9sbCBhbmdlbGVndCB3dWVyZGUuCihVbmQgZGllIFNwZW5kZW4gYW5zIE1HIGxpZXNzZW4gc2ljaCBqYSBhdWNoIGFic2V0emVuLi4uKQoKOnI6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWVzaXJpaSwgMTIuIE1hciAyMDA2LCAwMTowNjo1Nyk6Cn4jISBybj1Sb25kYSBydD0xMTQyMTIxODQ4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkRhZnVlciBzb2xsIGphIGRpZXNlIERpc2t1c3Npb24gZGllbmVuLiBVbmQgd2VubiBEdSBEaXIgZGFzIGxldHp0ZSBQcm90b2tvbGwKZGVyIFZlcmVpbnN2ZXJzYW1tbHVuZyBhbnNjaGF1c3QsIHdhciBnZW5hdSBkYXMgZG9ydCBhdWNoIERpc2t1c3Npb25zcHVua3QuCkBHbG9pbiBOZWUgcnVudGVybGFkYmFyIGlzdCBnZW5hdSBkZXIgUHVua3QsIGRlbiBEdSB2b3JoaW4gYW5nZXNwcm9jaGVuIGhhc3QuClBvc3RrYXJ0ZW4gaW4gS25laXBlbiB2ZXJ0ZWlsZW4gc3ByaWNodCBoYWx0IGF1Y2ggTGV1dGUgYW4sIGRpZSBuaWNodCBudXIKc3R1cGlkZQpydW1zdXJmZW4uCgpNZXNpIChhY2hzbyBiaXMgd2lyIGVpbiB3aWtpIGF1ZiBtZy5tdWQuZGUgaGFiZW4gLT4KaHR0cDovL3dpa2kubmljaHQtc3VlY2h0aWcuZGUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoR2xvaW5zb24sIDEyLiBNYXIgMjAwNiwgMDE6MTU6MjUpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQyMTIyMDE3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkF1c2Z1ZWhybGljaDoKLSBQb3N0a2FydGVubW90aXYgcnVudGVybGFkYmFyCi0gU3BpZWxlciBYWVogc2FndCAiaWNoIG1hY2ggbWFsIDEwMCBpbiBTdGFkdCBaIgotIGVudHdlZGVyIGxhZWR0IGVyIHJ1bnRlciB1bmQgZ2lidCBkaWUgenUgbWF4IFgsLSBpbiBBdWZ0cmFnLCB2ZXJ0ZWlsdCBzaWUKLSBvZGVyIGVyIGJla29tbXQgMTAwIHplbnRyYWwgenVnZXNjaGlja3QKCk9iIHVuZCB3aWUgZGFzIGdhbnplIHJlY2h0bGljaCBtb2VnbGljaCBpc3QgLSB6dSBrbGFlcmVuLiBPYiB1bmQgd2llICJkZXIKVmVyZWluIiB1ZWViZXJoYXVwdCBHZWxkIGF1c2dlYmVuIGRhcmYgdW5kIHdpbGwgdW5kIHNvbGwgLSBhdWNoIHp1IGtsYWVyZW4uCkFsbGV0IGtsb2FyPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChSb25kYSwgMTIuIE1hciAyMDA2LCAwMTozMDo0Mik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTQyMTIyNTI1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkViZW5mYWxscyBhdXNmdWVocmxpY2g6IERlciBWZXJlaW4gd3VyZGUgdW50ZXIgYW5kZXJlbSAtIHZpZWxsZWljaHQgYXVjaApoYXVwdHNhZWNobGljaCAtIGdlZ3J1ZW5kZXQsIHdlaWwgd2lyIGRyaW5nZW5kIEVyc2F0eiBmdWVyIGRlbiBhbHRlbiBSZWNobmVyCmJyYXVjaHRlbi4gRXMgZ2luZyBkYXJ1bSwgZGFzcyBkYXMgTW9yZ2VuZ3JhdWVuIHNvbnN0ICJrZWluZSBIZWltYXQiIG1laHIKZ2VoYWJ0IGhhZXR0ZSAtIGVzIHNvbGx0ZSBlaW5lIGxhbmdmcmlzdGlnZSBMb2VzdW5nIGdlZnVuZGVuIHdlcmRlbiwgdW0gZGFzCk1vcmdlbmdyYXVlbiBfdGVjaG5pc2NoXyBhbSBMZWJlbiBoYWx0ZW4genUga29lbm5lbi4KCkRhcyBzcGllZ2VsdCBzaWNoIGluIGRlciBTYXR6dW5nIHdpZWRlciAtCmh0dHA6Ly9tZy5tdWQuZGUvdmVyZWluL3NhdHp1bmcuc2h0bWwgLSBQYXJhZ3JhcGggMjoKCjEuIFp3ZWNrIGRlcyBGb2VyZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBpc3QgZGllIEZvZXJkZXJ1bmcgdm9uCkVyemllaHVuZyB1bmQgQmlsZHVuZy4gTW9yZ2VuR3JhdWVuIGlzdCBlaW4gaW50ZXJha3RpdmVzLCBjb21wdXRlcmdlc3R1ZXR6dGVzCktvbW11bmlrYXRpb25zc3lzdGVtLCBkZXNzZW4gQmVudXR6dW5nIGplZGVybWFubiBrb3N0ZW5sb3MgbW9lZ2xpY2ggaXN0LiBEaWUKWndlY2tlIHNvbGxlbiB2b3IgYWxsZW0gdmVyd2lya2xpY2h0IHdlcmRlbiBkdXJjaDoKYS4gRWluZnVlaHJ1bmdza3Vyc2UgaW4gZGllIEJlbnV0enVuZyB2b24gY29tcHV0ZXJnZXN0dWV0enRlbgpLb21tdW5pa2F0aW9uc3N5c3RlbWVuLApiLiBQcm9ncmFtbWllcmt1cnNlLCBkaWUgZXMgZGVtIFRlaWxuZWhtZXIgZXJtb2VnbGljaGVuIHNlbGJzdCBhbSBQcm9qZWt0CmFrdGl2IG1pdHp1YXJiZWl0ZW4sCmMuIEFuc2NoYWZmdW5nIHVuZCBXYXJ0dW5nIGVpbmVzIFJlY2huZXJzLCBhdWYgZGVtIGF1c3NjaGxpZXNzbGljaCBkYXMgUHJvamVrdApNb3JnZW5HcmF1ZW4gaW5zdGFsbGllcnQgd2VyZGVuIHNvbGwuCmQuIFNvd29obCBkaWUgUHJvZ3JhbW1pZXItIHVuZCBFaW5mdWVocnVuZ3NrdXJzZSwgYWxzIGF1Y2ggZGllIEJlbnV0enVuZyBkZXMKUmVjaG5lcnMgZHVyY2ggZGFzIFByb2pla3QgTW9yZ2VuR3JhdWVuIHVuZCBkaWUgS3Vyc3RlaWxuZWhtZXIgc2luZCBrb3N0ZW5sb3MuCjIuIERpZXNlIFp3ZWNrZSB2ZXJmb2xndCBkZXIgVmVyZWluIGF1ZiBhdXNzY2hsaWVzc2xpY2ggdW5kIHVubWl0dGVsYmFyCmdlbWVpbm51ZXR6aWdlIFdlaXNlIGltIFNpbm5lIGRlcyBkcml0dGVuIEFic2Nobml0dHMgZGVyIEFiZ2FiZW5vcmRudW5nCigiU3RldWVyYmVndWVuc3RpZ3RlIFp3ZWNrZSIsICA1MSBmZi4gQU8pCjMuIERlciBWZXJlaW4gaXN0IHNlbGJzdGxvcyB0YWV0aWcgdW5kIHZlcmZvbGd0IG5pY2h0IGluIGVyc3RlciBMaW5pZQplaWdlbndpcnRzY2hhZnRsaWNoZSBad2Vja2UuCgpKYSwgaWNoIGxlc2UgYXVjaCwgZGFzcyBkYSBlaW4gInZvciBhbGxlbSIgc3RlaHQuIEFiZXI6IERpZSBpbiBkZXIgU2F0enVuZwpmb3JtdWxpZXJ0ZW4gWndlY2tlIHNpbmQgLSBhdXMgbWVpbmVyIFNpY2h0IC0gbWVpbGVud2VpdCB2b24Ka29zdGVudmVydXJzYWNoZW5kZW4gV2VyYmVtYXNzbmFobWVuIGVudGZlcm50LiAoWnUgcHJ1ZWZlbiB3YWVyZSB2aWVsbGVpY2h0CmF1Y2gsIG9iIHdpciBkdXJjaCBzbyBldHdhcyBpbiBHZWZhaHIgZ2VyYXRlbiwgZGllIEdlbWVpbm51ZXR6aWdrZWl0IHp1CnZlcmxpZXJlbi4uLj8pCgpFaW52ZXJzdGFuZGVuIGJpbiBpY2gsIGRhc3MgZGFzIGRlciBWZXJlaW4gLSBzcHJpY2g6IGRpZSBWZXJzYW1tbHVuZyBkdXJjaApCZXNjaGx1c3MgLSBrbGFlcmVuIG11c3MuIEd1dCB3YWVyZSwgd2VubiB3aXIgZnVlciBkaWUgVmVyc2FtbWx1bmcgZ2VuYXVlcmUKSW5mb3MgaGFldHRlbiwgd2FzIGRhcyBnYW56ZSBrb3N0ZW4gc29sbC4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTGlhcmEsIDEyLiBNYXIgMjAwNiwgMDI6MTE6NDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE0MjEyMjUyNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpEaWUgSWRlZSBtaXQgZGVuIFBvc3RrYXJ0ZW4gZmluZGUgaWNoIGZhbnRhc3Rpc2NoLiBNb2VjaHRlIGRhcyBidW50ZQpUYXNzZW5tb3RpdiBtaXQgZGVyIEh5ZHJhIGVyd2FlaG5lbi4gQWJlciBsYXNzdCB1bnMgZGFzIGJpdHRlIGVyc3QgbWFjaGVuLAp3ZW5uIGRpZSB3d3ctU2VpdGVuIGF1c3NhZ2VrcmFlZnRpZyB1bWdlc3RhbHRldCB3dXJkZS4KV2VubiBzaWNoIGhldXRlIGplbWFuZCBmdWVyIGRhcyBNRyBpbnRlcmVzc2llcnQsIHZlcndlaXNlIGljaCBpaG4gYXVmIGRpZQpTTC1TZWl0ZW4sIHdlaWwgZGEgZGllIE1VRC1CYXNpY3MgaW0gR2VnZW5zYXR6IHp1IHVuc2VyZW4gU2VpdGVuIHJlY2h0IHNjaG9lbgp1bmQgQXBwZXRpdC1tYWNoZW5kIGVya2xhZXJ0IHdlcmRlbi4KRGFzIHNvbGx0ZSBuaWNodCBzbyBibGVpYmVuLiBXZW5uIGplbWFuZCBlaW5lIFBvc3RrYXJ0ZSBzaWVodCB1bmQgTHVzdCBoYXQgenUKc3BpZWxlbiwgc29sbHRlIGVyIGF1ZiBkZW4gU2VpdGVuIGltbWVyaGluIGVpbmUgRXJrbGFlcnVuZyBmdWVyIGRhcyBNRyBmaW5kZW4KdW5kIGF1Y2ggSGlsZmUgenVtIHByYWt0aXNjaGVuIFNwaWVsZW4gKHpCIHVlYmVyIE11ZGNsaWVudHMpLiBEZW5uIHNvbnN0IHdpcmQKZGVyIGR1cmNoIGRpZSBXZXJidW5nIGdlc2V0enRlIFJlaXogc2NobmVsbCB2ZXJnZXNzZW4uIE5pZW1hbmQgZGVyIG1pdCBUZWxuZXQKaW4ncyBNdWQgZ2VodCwgd2lyZCBhdWYgRGF1ZXIgYmxlaWJlbi4gVW5kIG5pZW1hbmQsIGRlciBkaWUgZGVyemVpdGlnZW4KSW50ZXJuZXRzZWl0ZW4gbGllc3QsIHdpcmQgb2huZSBhbmRlcmUgVGlwcHMgdm9uIFJMLUJla2FubnRlbiBkYXVlcmhhZnQgaW0gTUcKYmxlaWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNYWhhcmV0LCAxMi4gTWFyIDIwMDYsIDA5OjE5OjEzKToKfiMhIHJuPVJvbmRhIHJ0PTExNDIxMjA1MDMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKV2lldmllbGUgTmV1c3BpZWxlciAoZGllIGxhZW5nZXIgYWxzIDIgTW9uYXRlIGR1cmNoZ2VoYWx0ZW4gaGFiZW4pIGhhc3QgZHUgaW4KZGVuIGxldHp0ZW4gMiwgMyBKYWhyZSBwZXIgTXVuZHByb3BhZ2FuZGEgZ2V3b25uZW4/CgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWFoYXJldCwgMTIuIE1hciAyMDA2LCAwOToyMjo1Myk6Cn4jISBybj1Sb25kYSBydD0xMTQyMTIxODQ4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CldhZXJlc3QgZHUgYXVmIGRlciBsZXR6dGVuIFZlcnNhbW1sdW5nIGdld2VzZW4sIGhhZXR0ZXN0IGR1IGRhIGF1Y2ggb3JkZW50bGljaAptaXRkaXNrdXRpZXJlbiBrb2VubmVuLiAgRGVyIFZlcmVpbiBoYXQgZGEgbmFlbWxpY2ggZGFzIE9LIGdlZ2ViZW4sIGRhc3MgZGEKZGllIERldGFpbHMgenUgZ2VrbGFlcnQgd2VyZGVuLiAgRGFzIE9iIHdhciBlaWdlbnRsaWNoIG5pY2h0IG1laHIgZnJhZ2xpY2guCgpNYWhhcmV0ICpSb25kYXMgSGFuZCBhbiBSb25kYXMgTmFzZSBmdWVocmVuZC4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoWm9vaywgMTIuIE1hciAyMDA2LCAxMjo0ODo1Mik6Cn4jISBybj1Sb25kYSBydD0xMTQyMTIwODgzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CihWb3IgRmVydGlnbGVzZW4gZGVzIFRocmVhZHMpOgoKMS4gSWNoIG1laW5lIGF1Y2gsIG1hbiBzb2xsdGUgZGllIGp1ZW5nZXJlIEdlbmVyYXRpb24gbmljaHQgdm9yc2NobmVsbAphYnNjaHJlaWJlbjsgZ2lidCBqYSBub2NoIGdlbnVlZ2VuZCB2b24gZGVuZW4sIGRpZSBiZWkgdW5zIHNwaWVsZW4uIApWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gZWhlciB2ZXJzdWNoZW4gaGVyYXVzenVmaW5kZW4sIHdpZSBkaWVzZSBpaHJlIApLb2xsZWdlbiwgRnJldW5kZSB6dW0gTWl0c3BpZWxlbiBiZXdlZ2VuIGtvZW5uZW4uCgoyLiBHZWxkIGZ1ZXIgV2VyYnVuZyBhdXN6dWdlYmVuIGxvZXN0IGJlaSBtaXIgbmljaHQgc28gdm9lbGxpZ2VzClVudmVyc3RhZW5kbmlzIGF1cy4gSmVkZXIga2xlaW5lIGdlbWVpbm51ZXR6aWdlIFNwb3J0dmVyZWluIG9kZXIKS3VsdHVydmVyZWluIGdpYnQgZG9jaCBhdWNoIEdlbGQgZnVlciBQbGFrYXRlIG8uYWUuIGF1cywgdW0gaW0gCk1lZXIgZGVyIHZpZWxlbiBNb2VnbGljaGtlaXRlbiBuaWNodCB1bnRlcnp1Z2VoZW4uIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNeXN0aXhvLCAxMi4gTWFyIDIwMDYsIDEyOjUxOjE4KToKfiMhIHJuPVpvb2sgcnQ9MTE0MjE2NDEzMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpXaWUgd2FlcmUgZXMgbWl0IEtsZWluYW56ZWlnZW4gaW4gU3BpZWxlLSBGYW50YXN5emVpdHVuZ2VuPwpNeXN0aXhvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoWm9vaywgMTIuIE1hciAyMDA2LCAxMjo1MzowNik6Cn4jISBybj1Sb25kYSBydD0xMTQyMTIzNDQyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CldlcmJ1bmcgZnVlciBWZXJlaW5zendlY2tlIGZ1ZWhydCBuaWNodCBkYXp1LCBkaWUgR2VtZWlubnVldHppZ2tlaXQgenUKdmVybGllcmVuLCBkaWUgUHJ1ZWZ1bmcga29lbm5lbiB3aXIgdW5zIHNjaGVua2VuLiBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEh1bW5pLCAxMi4gTWFyIDIwMDYsIDEyOjU2OjQ0KToKfiMhIHJuPVpvb2sgcnQ9MTE0MjE2NDM4NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpJY2ggaGF0dGUgbWFsIHZvciwgaW4gZWluZW0gRmFudGFzeS1GYW56aW5lIHdhcyB1bnRlcnp1YnJpbmdlbiAoQXJ0aWtlbCwKc3ByaWNoOiB3dWVyZGUgbml4IGtvc3Rlbiwgd2VubiBtYW4gZGVuIHVudGVya3JpZWd0KSAtIG51ciBsZWlkZXIgZmVobHRlIG1pcgpiaXNoZXIgZGllIFplaXQuIEljaCBnZWxvYmUgYWJlciBCZXNzZXJ1bmcuLi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWVzaXJpaSwgMTIuIE1hciAyMDA2LCAxMzoxNjoxNCk6Cn4jISBybj1IdW1uaSBydD0xMTQyMTY0NjA0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkljaCBoYWIgZGEgbm9jaCBuZSBJZGVlLCAoc2llaGUgd2lraSAtPiBtZy5tdWQuZGUgLT4gUHJvamVrdGUgKGRhbmtlIGFuIFpvb2spKQp3aXIga29lbm50ZW4sIGphIGRvY2ggd2llZGVyIHZlcnN1Y2hlbiBTdHVkaXMgenUgYWt0aXZpZXJlbiwgZGllIG1laXN0ZW4gdm9uCkV1Y2ggaGFiZW4gamEgbm9jaCBLb250YWt0IHp1IFVuaXMvTGVocnN0dWVobGVuL0ZhY2hzY2hhZnRlbi4gRGEgaXN0IGVzIGRvY2gKa2VpbiBQcm9ibGVtIGVpbiBwYWFyIG5ldWdpZXJpZyBtYWNoZW5kZSBQbGFrYXRlIGF1Znp1aGFlbmdlbi4gVmllbGxlaWNodCBhdWNoCmdlcmFkZSB6dSBTZW1lc3RlcmJlZ2lubi4gVW5kIHdlbm4gZXJzdG1hbCB3aWVkZXIgbWVociBTdHVkZW50ZW4gbXVkZGVuLCBpc3QKZGFzCm1pdCBkZXIgTXVuZCB6dSBNdW5kIFByb3BhZ2FuZGEgYXVjaCB3aWVkZXIgZHJpbi4gCk1haGFyZXQgbWVpbnRlIG5vY2ggenUgbWlyOiBmcnVlaGVyIGhhYmVuIGRpZSBTdHVkaXMgYXVjaCBhbGxlIGluIGRlbiBSWgpnZW11ZGRldApkYXMgbWFjaHQgaGV1dGUga2VpbmVyIG1laHIsIHdlaWwgYWxsZSBOZXR6IHp1aGF1c2UgaGFiZW4uIFNvbGx0ZSBtYW4gdmxsdC4KYXVjaAptYWwgYmVkZW5rZW4uCgpHcnVzcyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWVzaXJpaSwgMTIuIE1hciAyMDA2LCAxMzoxOTo1OCk6Cn4jISBybj1NZXNpcmlpIHJ0PTExNDIxNjU3NzQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKQWNoc28gdmVyZ2Vzc2VuOgpodHRwOi8vd2lraS5uaWNodC1zdWVjaHRpZy5kZS9pbmRleC5waHA/bj1XZXJidW5nLlBsYWthdApNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKFRoZXRpcywgMTIuIE1hciAyMDA2LCAxNDozMDoxNyk6Cn4jISBybj1NZXNpcmlpIHJ0PTExNDIxNjU5OTggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKRGllIERvbWFpbiAnbWcubXVkLmRlJyBpc3Qgc2NobGVjaHQgenUgYmV3ZXJiZW4sIGRhIHNpZSBhdXMgQWNyb255bWVuIGJlc3RlaHQsCmRpZSBkaWUgbWVpc3RlbiBuaWNodCBrZW5uZW4gdW5kIHNpY2ggZGVzaGFsYiBzY2hsZWNodCBtZXJrZW4ga29lbm5lbi4gSW0KQXByaWwgZ2VodCAuZXUgYW4gZGVuIFN0YXJ0LiBLYW5uIG5pY2h0IGplbWFuZCB2ZXJzdWNoZW4sIG1vcmdlbmdyYXVlbi5ldSB6dQpiZWtvbW1lbj8gSXN0IHp3YXIgbGFlbmdlciBhYmVyIGRldXRsaWNoIGdyaWZmaWdlci4gKGRlLGNvbSxuZXQsb3JnIHNpbmQgd2VnLAplZHUgd2FlciBub2NoIGZyZWksIGlzdCBhYmVyIGdnZiBzY2h3ZXIgenUgYmVrb21tZW4pLi4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChBbWFyeWxsaXMsIDEyLiBNYXIgMjAwNiwgMTU6NDQ6MDYpOgp+IyEgcm49VGhldGlzIHJ0PTExNDIxNzAyMTcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKSWNoIGthbm5zIHZlcnN1Y2hlbiwgZmFsbHMgSW50ZXJlc3NlIGJlc3RlaHQsIGRhIGljaCBmdWVyIG5lbiBJU1AgYXJiZWl0ZSwgZGVyCmF1Y2ggUmVnaXN0cmFyIGlzdC4gTGVpZGVyIGlzdCBkYXMgYWxsZWluIG5vY2gga2VpbmUgR2FyYW50aWUsIGRpZSBEb21haW4gYXVjaAp6dSBiZWtvbW1lbiA7KQoKUGVyc29lbmxpY2ggaGFsdGUgaWNoIGFsbGVyZGluZ3Mgdm9uICJtb3JnZW5ncmF1ZW4uZXUiIG5pY2h0IHZpZWwuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEphZGF3aW4sIDEyLiBNYXIgMjAwNiwgMTU6NTU6MjApOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExNDIxNzQ2NDYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKTWFuIGtvZW5udGUgamEgYXVjaG1hbCBkZW4gRWlnZW50dWVtZXIgdm9uIG1vcmdlbmdyYXVlbi5kZSBhbnNjaHJlaWJlbiB1bmQgaWhtCmVpbiBBbmdlYm90IG1hY2hlbiwgZGFzIGVyIG5pY2h0IGFibGVobmVuIGthbm4uLi4gOykKSmFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNZXNpcmlpLCAxMi4gTWFyIDIwMDYsIDE1OjU2OjQ0KToKfiMhIHJuPUphZGF3aW4gcnQ9MTE0MjE3NTMyMCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpIYWIgaWNoIG5vY2htYWwgZ2VtYWNodCwgZGEgaWNoIG1pY2ggamEgZGF6dSBiZXJlaXRlcmtsYWVydCBoYXR0ZSwgaXN0IGFiZXIKbm9jaCBrZWluZSBBbnR3b3J0IGRhLgoKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNYWRuZXNzLCAxMi4gTWFyIDIwMDYsIDE1OjU3OjU2KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE0MjE3NTQwNCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5Ngptb3JnZW5ncmF1ZW4uaW5mbyB3YWVyZSBmcmVpLgoKTWFkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKFpvb2ssIDEyLiBNYXIgMjAwNiwgMTU6NTk6MDIpOgp+IyEgcm49TWFkbmVzcyBydD0xMTQyMTc1NDc2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Ci5kZSB3YWVyIHNjaG9uIGlyZ2VuZHdpZSBhbSBiZXN0ZW4sIG9kZXI/IHpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE1lc2lyaWksIDEyLiBNYXIgMjAwNiwgMTU6NTk6NTQpOgp+IyEgcm49Wm9vayBydD0xMTQyMTc1NTQyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CmhtbSBkYW5uIG5laG0gaWNoIG1hbCBkaWUgLmluZm8gZG9tYWluIGVyc3RtYWwsIG9rPwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE1lc2lyaWksIDEyLiBNYXIgMjAwNiwgMTY6MDA6MzQpOgp+IyEgcm49Wm9vayBydD0xMTQyMTc1NTQyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Cm9kZXIgc29sbCBkYXMgbGllYmVyIGRlciB2ZXJlaW4gbWFjaGVuPyBNYWhhKiBrYW5uIGphIHVlYmVyIGRpZSAxMiBFVS9KYWhyIGRpZQpkYXMga29zdGV0IHZlcmZ1ZWdlbi4uLj8KTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChLbnVycHMsIDEyLiBNYXIgMjAwNiwgMTY6MDE6MDIpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQyMTc1NTk0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Cm5lZWUsIC5pbmZvIHNhdWd0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEphZGF3aW4sIDEyLiBNYXIgMjAwNiwgMTY6MDE6NDIpOgp+IyEgcm49S251cnBzIHJ0PTExNDIxNzU2NjIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKbmV0IHNjaGVpbnQgYXVjaCBmcmVpIHp1IHNlaW4uIElzdCBhYmVyIHdhaHJzY2hlaW5saWNoIHRldXJlci4KSmFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChLbnVycHMsIDEyLiBNYXIgMjAwNiwgMTY6MDI6NDQpOgp+IyEgcm49SmFkYXdpbiBydD0xMTQyMTc1NzAyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CiBEb21haW4gbmFtZTogTU9SR0VOR1JBVUVOLk5FVAoKIEFkbWluaXN0cmF0aXZlIENvbnRhY3Q6CiAgICBMb3Jrb3dza2ksIFRob21hcyAgb3BlbnNyc0BuYW1lc3BhY2U0eW91LmNvbQogICAgU2NodWV0emVuc3RyLiA3YgogICAgQWhyZW5zYnVyZywgTi9BIDIyOTI2CiAgICBERQogICAgKzQ5IDQxMDIgNTMzOTYKIFRlY2huaWNhbCBDb250YWN0OgogICAgSG9zdG1hc3RlciwgRG9tYWluZmFjdG9yeSAgb3BlbnNyc0BuYW1lc3BhY2U0eW91LmNvbQogICAgT3NrYXItTWVzc3Rlci1TdHIuIDMzCiAgICBJc21hbmluZywgTi9BIDg1NzM3CiAgICBERQogICAgKzQ5IDg5IDU1MjY2MCAgICBGYXg6ICs0OSA4OSA1NTI2NjIyMgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVwcmFlc2VudGF0aW9uIChHbG9pbnNvbiwgMTIuIE1hciAyMDA2LCAxNjo1MTo1MSk6Cmh0dHA6Ly93d3cubXVkY29ubmVjdC5jb20vbXVkLWJpbi9zaW1wbGVfc2VhcmNoLmNnaT9Nb2RlPU1VRCZtdWQ9TW9yZ2VuR3JhdWVuCmh0dHA6Ly9zcHJpbmdoaW4uZGUvWWhQZkQKCi4uLiBpc3QgZWluIHdlbmcgb3V0ZGF0ZWQgKG1pbm1heCBQbGF5ZXIsIFJhdW1hbnphaGwpLiBXZXIgYXVjaCBpbW1lciBnZXJhZGUKZGFzIExpc3RpbmcgdmVyd2FsdGV0IGtvZW5udGUgZXMgamEgbWFsIHVwZGF0ZW4sIGJ6dy4gamVtYW5kIGF1cyBkZW4KcmVwYWVzZW50YXRpdmVyZW4gUmFlbmdlbiBrb2VubnRlIFRyYW5zZmVyIG9mIExpc3RpbmcgYmVhbnRyYWdlbiB1bmQgdXBkYXRlbi4KRGFua2UuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlcHJhZXNlbnRhdGlvbiAoTWVzaXJpaSwgMTIuIE1hciAyMDA2LCAyMDo1NDoxNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTQyMTc4NzExIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTc4NzExCkljaCBoYWIgbWlyIG1hbCBkaWUgRnJlaWhlaXQgZ2Vub21tZW4sIG1vcmdlbmdyYXVlbi5pbmZvIHp1IHJlZ2lzdHJpZXJlbi4gWnVyClplaXQKemVpZ3QgZGFzIHdlYnRlY2huaXNjaCBhdWYgbWcubXVkLmRlLCBhYiBiYWxkIGF1Y2ggZGlyZWt0IGF1ZiBkaWUgaXAuIERhbm4KZ2VodAphdWNoIGVpbiB0ZWxuZXQgbW9yZ2VuZ3JhdWVuLmluZm8uCkdydXNzIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChXb29keSwgMTMuIE1hciAyMDA2LCAwMDoyMTo1NSk6Cn4jISBybj1MaWFyYSBydD0xMTQyMTI1OTA3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkJpdHRlIG5pY2h0IGF1ZiBkaWUgU0wtU2VpdGVuIHZlcndlaXNlbiwgZGllIHNpbmQgZG9jaCB3ZWRlcgphbnNwcmVjaGVuZCBub2NoIHNvbmRlcmxpY2ggdW1mYXNzZW5kLiA7KSAoTm9jaC4pCgpEYSB3aXIgaW0gUmFobWVuIGRlciBGYW50YXN5IEdhbWluZyBDb252ZW50aW9uIHVuZCBhdWNoIGluCmVudHNwcmVjaGVuZGVuIExhZWRlbiAoZnVlciBSUEcgZXRjLikgYXVjaCBkaWUgSWRlZSBtaXQgZWluZW0KRmx5ZXIgaGF0dGVuLCBnaWJ0cyBkYSBhdWNoIGVpbiBwYWFyIEdydW5kdWViZXJsZWd1bmdlbjoKLikgRGVzaWduIGlzdCBuaWNodCBhbGxlcy4gQWJlciB3aWNodGlnLgouKSBSb2xsZW5zcGllbGVyIHdlcmRlbiBhdWNoIHVuZCB2LmEuIGR1cmNoIEluaGFsdGUgbmV1Z2llcmlnLgogICBHcm9iZSBFcmtsYWVydW5nIGRlcyBTcGllbGFibGF1ZnMgdW5kIC1zeXN0ZW1zIGRhaGVyIHNpbm52b2xsLgogICBFdnRsLiBrYW5uIG1hbiBhdWYgZGllIFJ1ZWNrc2VpdGUgZWluZSBBcnQgQW5mYWVuZ2V6ZXR0ZWwgcGFja2VuLgouKSBCZXNjaG9lbmlnZW4gYnJpbmd0IGdhciBuaWNodHMgLSBtYW4gbXVzcyBrbGFyc3RlbGxlbiwgd2FzIGVpbgogICBNVUQgYmlldGV0LCB1bmQgd2FzIG5pY2h0LgouKSBFaW4gRmx5ZXIgbXVzcyB1ZWJlcnNpY2h0bGljaCBibGVpYmVuIHVuZCBkYXJmIG5pY2h0IHVlYmVyZnJhY2h0ZXQKICAgd2lya2VuIC0gYWxzbyBsaWViZXIgYXVmIGRhcyBlaW5lIHx8IGFuZHJlIERldGFpbCB2ZXJ6aWNodGVuLgouKSBUeXBpc2NoZXJ3ZWlzZSB3ZXJkZW4gc2ljaCBJbnRlcmVzc2VudGVuIGRhbm4gZXJzdCBtYWwgYXVmIGRlcgogICBIb21lcGFnZSBzY2hsYXVlciBtYWNoZW4gd29sbGVuIC0gZGllIHNvbGx0ZSBhbHNvIHdhcyBoZXJnZWJlbgogICB1bmQgZXZ0bC4gTHVzdCBhdWYgbWVociBtYWNoZW4uLi4KCkljaCBoYWx0ZSBlcyBuaWNodCBmdWVyIHZlcmtlaHJ0LCBtaXQgc29sY2hlbiBNYXNzbmFobWVuIGVpbiB3ZW5pZyBhdWYKc2ljaCBhdWZtZXJrc2FtIHp1IG1hY2hlbiwgYWxzIE1VRC4gRGllIEZyYWdlIGRlciBGaW5hbnppZXJ1bmcgaXN0Cm5hdHVlcmxpY2ggZWluZSBhbmRlcmUsIGRhcyBzb2xsdGUgc2Nob24gZXJzdCBtYWwgdm9tIFZlcmVpbiBncnVlbmRsaWNoCmdla2xhZXJ0IHdlcmRlbi4gKEltIFNMIGdpYnRzIGtlaW5lbiBWZXJlaW4sIGRhIHN0dWV0enQgc2ljaCBzb3dhcyBhdWYKZGFzIEVuZ2FnZW1lbnQgdm9uIEVpbnplbHBlcnNvbmVuKQoKTmFjaGRlbSBzaWNoIGphIGdlbmVyZWxsIGVpbmlnZXMgaW4gZGllc2UgUmljaHR1bmcgdHV0IChzaWVoZSBhdWNoIGRpZQpha3R1ZWxsZW4gQmVtdWVodW5nZW4gdW0gZWluIG1vZGVybmVyZXMgd3d3Lm11ZC5kZSBpbiBkZXIgTkcgZGUuYWx0Lm11ZCksCmZpbmQgaWNocyBmYXN0IGVpbiB3ZW5pZyBzY2hhZGUsIGltIE1vbWVudCBhdXMgWmVpdG1hbmdlbCBkYSBrYXVtIHdhcwpiZWl0cmFnZW4genUga29lbm5lbiwgYWJlciB3byBlcyBnZWh0IHVudGVyc3R1ZXR6ZSBpY2ggYWxsIGRpZXNlIEFrdGlvbmVuCmdlcm5lLiBEZW5uIHRvdCBzaW5kIHdpciBub2NoIGxhbmdlIG5pY2h0LiA6KQoKCldvb2R5Li0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWVzaXJpaSwgMTMuIE1hciAyMDA2LCAwMDo0NDo1Nik6Cn4jISBybj1Xb29keSBydD0xMTQyMjA1NzE1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Cmh0dHA6Ly93aWtpLm1vcmdlbmdyYXVlbi5pbmZvL2luZGV4LnBocD9uPU1vcmdlbkdyYXVlbi5XZXJidW5nCgp0dXQgamV0enQuIEJpdHRlIGZsZWlzc2lnIEV1cmUgSWRlZW4gbWl0IHJlaW5zY2hyZWliZW4sIHVuZCBrZWluZSBBbmdzdC4gV2lyCnNhbW1lbG4gZXJzdG1hbCB1bmQgZGlza3V0aWVyZW4gZHJ1ZWJlci4gV2llIGJlaW0gQnJhaW5zdG9ybWluZywgamVkZXIgZGFyZgpiZWl0cmFnZW4gdW5kIHdpcmQgbmljaHQgZ2xlaWNoIG5pZWRlcmdlbWFjaHQuCgpHcnVzcyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoUm9uZGEsIDEzLiBNYXIgMjAwNiwgMDA6NTU6NTEpOgp+IyEgcm49TWFoYXJldCBydD0xMTQyMTUxNzczIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Cj4gV2FlcmVzdCBkdSBhdWYgZGVyIGxldHp0ZW4gVmVyc2FtbWx1bmcgZ2V3ZXNlbiwgaGFldHRlc3QgZHUgZGEgYXVjaApvcmRlbnRsaWNoCj4gbWl0ZGlza3V0aWVyZW4ga29lbm5lbi4gIERlciBWZXJlaW4gaGF0IGRhIG5hZW1saWNoIGRhcyBPSyBnZWdlYmVuLCBkYXNzIGRhCj4gZGllIERldGFpbHMgenUgZ2VrbGFlcnQgd2VyZGVuLiAgRGFzIE9iIHdhciBlaWdlbnRsaWNoIG5pY2h0IG1laHIgZnJhZ2xpY2guCgpJY2gga29ubnRlIGxlaWRlciBhdXMgcHJpdmF0ZW4gR3J1ZW5kZW4gbmljaHQgenVyIFZlcnNhbW1sdW5nIGtvbW1lbiAtIGljaAp3YWVyZSB3aXJrbGljaCBzZWhyIGdlcm4gZGFiZWkgZ2V3ZXNlbi4gQXVzIGRlbSBQcm90b2tvbGwgZGVyIFNpdHp1bmcgZ2luZyBudXIKaGVydm9yLCBkYXNzIGRpc2t1dGllcnQgd3VyZGUgLSBuaWNodCwgZGFzcyBiZXJlaXRzIGVpbiBCZXNjaGx1c3MgenVtIEF1c2dlYmVuCnZvbiBHZWxkIGZ1ZXIgV2VyYnVuZyBnZXRyb2ZmZW4gd2FlcmUuIFVuZCBnZW5hdSBiZWkgIktvbW1lcnppZWxsZXIgV2VyYnVuZyIKdHVlIGljaCBtaWNoIHNlaHIgc2Nod2VyLiBJY2ggc2FnZSBuaWNodHMgZ2VnZW4gUGxha2F0ZSBvZGVyIHNvLCBkaWUgbWFsIHVlYmVyCmVpbmVuIEtvcGllcmVyIGdlem9nZW4gd2VyZGVuIHVuZCB3aXIgZGFmdWVyIGVpbiBwYWFyIEV1cm8gaGlubGVnZW4uIEljaCB3ZWhyZQptaWNoIGdlZ2VuIEFydGlrZWwsIGluIGRlbmVuIG1hbCB3YXMgdm9uIDE2MDAgRXVybyBzdGFuZCAtIHNpY2hlciBudXIgYWxzCmdyb2JlIFNjaGFldHp1bmcsIGFiZXIgZXMga29tbXQgbWlyIGF1ZiBkaWUgR3JvZXNzZW5vcmRudW5nIGFuLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNZXNpcmlpLCAxMy4gTWFyIDIwMDYsIDAzOjE0OjM5KToKfiMhIHJuPVJvbmRhIHJ0PTExNDIyMDc3NTEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKVW5kIHdpZWRlciB3YXMgbmV1ZXMuCklociBoYWJ0IHNpY2hlciB6dW0gVGVpbCBtaXRiZWtvbW1lbiwgZGFzcyBhdWYgZGUuYWx0Lm11ZCBlaW5lIERpc2t1c3Npb24genVtClRoZW1hIEF1c3N0ZXJiZW4gdm9uIE11ZHMgbGFldWZ0LCBpY2ggaGFiIG1pciBkYXMgbWFsIGFuZ2VzY2hhdXQgdW5kCmFrdGlvbmlzdGlzY2gKd2llIGljaCBiaW4sIGVpbmUgU2VpdGUgYXVmZ2VzZXR6dC4KV2VyIG1hbCBndWNrZW4gbWFnOiBodHRwOi8vbXVkZGVyLmluZm8KClAuUy4gRGFua2UgYW4gRWxkYXJvbiBmdWVyIGRpZSB0YXRrcmFlZnRpZ2UgSGlsZmUKTWVzaUBhbGxlcy5tb2VnbGljaGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNdWFkaWIsIDEzLiBNYXIgMjAwNiwgMDk6MTA6MjUpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQyMjA3MDk2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CmljaCB3aWxsIGVzIG5pY2h0IG5pZWRlcm1hY2hlbgphYmVyIGlyZ2VuZHdpZSBmaW5kZSBpY2ggZGllIGF1ZnNwYWx0dW5nIGF1ZiBlaW4gZXh0cmEtd2lraSBuaWNodCBzbyB0b2xsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWVzaXJpaSwgMTMuIE1hciAyMDA2LCAwOToxMTo1NSk6Cn4jISBybj1NdWFkaWIgcnQ9MTE0MjIzNzQyNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgptdWRkZXIuaW5mbyBzb2xsIG11ZG5ldXRyYWwgZGllIGZ1bmt0aW9uIHZvbiBtdWQuZGUgdWViZXJuZWhtZW4sIGRhcyBtYWNodAppbWhvIGRhcyBNRy1zcGV6aWZpc2NoZSBXaWtpIGF1ZiB3aWtpLm1vcmdlbmdyYXVlbi5pbmZvIG5pY2h0IHVlYmVyZmx1ZXNzaWcuClNpZWhlIGF1Y2gKZGllIERpc2t1c3Npb24gYXVmIGRlLmFsdC5tdWQuCgpHcnVzcyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE11YWRpYiwgMTMuIE1hciAyMDA2LCAwOToxNToxNyk6Cn4jISBybj1NZXNpcmlpIHJ0PTExNDIyMzc1MTUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKbmEgZGFubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE1haGFyZXQsIDEzLiBNYXIgMjAwNiwgMTE6MTA6NDkpOgp+IyEgcm49Um9uZGEgcnQ9MTE0MjIwNzc1MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpFaW5lIGtvbmtyZXRlIFZvcmdlaGVuc3dlaXNlIHd1cmRlIGF1Y2ggbmljaHQgYmVzY2hsb3NzZW4sIGRhIGphIGRpZSBEZXRhaWxzIC0Kd2llIHpCIGRlciBQcmVpcyAtIG5pY2h0IGJla2FubnQgd2FyZW4uICBMZXR6dGVuZGxpY2ggaXN0IGVzIGFiZXIgZGFzc2VsYmUsCndlbm4gd2lyIGRpZSBQb3N0a2FydGVuIHNlbGJzdCBoZXJzdGVsbGVuIHVuZCB2ZXJ0ZWlsZW4sIHdpciBtdWVzc3RlbiBoYWx0IG51cgpzZWxic3QgbGF1ZmVuLiAgVW5kIGVocmxpY2ggZ2VzYWd0IGhhYiBpY2gga2VpbmUgTHVzdCwgZGFzIHNlbGJzdCB6dSBtYWNoZW4uIApXZW5uIHNpY2ggZ2VudWcgTXVkZGVyIGZpbmRlbiwgZGllIGRhcyBtYWNoZW4sIG9rLiAgQWJlciBkaWUgVmVydGVpbHVuZ3NicmVpdGUKd2VyZGVuIHdpciBkYW5uIHdvaGwgbmljaHQgc2NoYWZmZW4sIGRhIHNpY2ggc28gdmllbGUgaGllciBtaXQgc2ljaGVyaGVpdApuaWNodCBhdWZyYWZmZW4gd2VyZGVuIDspICBBbnNvbnN0ZW4gaXN0IGVzIGRvY2ggYWJlciBkYXNzZWxiZSwgb2Rlcj8gSWNoCm1laW5lLCB2b24gZGVyIFdpcmt1bmcgYXVmIGRlbiBTdHVkZW50ZW4gaW4gZGVyIEtuZWlwZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNb3Jnb3RoLCAxMy4gTWFyIDIwMDYsIDEyOjI3OjA4KToKfiMhIHJuPVJhZ25hcm9layBydD0xMTQyMTIwNTgxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Ck9obmUgamV0enQgZGVuIFRocmVhZCBiaXMgenVtIEVuZGUgenUgbGVzZW4uLi4KRXMgZ2lidCBkb2NoIGRpZXNlIFRvcC1MaXN0ZW4gZnVlciB0YXVzZW5kZSBTcGFydGVuLCBXZWJjb21pY3MsIE1hbmdhcywKU29mdHdhcmUtQm9hcmRzLi4uIGRhIHdpcmQgZXMgZG9jaCBhdWNoIHNpY2hlciBlaW5lIGZ1ZXIgUm9sbGVuc3BpZWxlIGdlYmVuLgpXaWUgd2FlcnMgbWFsLCBzaWNoIGJlaSBzb3dhcyBlaW56dXRyYWdlbiB1bmQgZGFubiBkaWUgYWt0aXZlbiBNaXRsZ2xpZWRlcgp2b3RlbiB6dSBsYXNzZW4/IEV2dGwuIG5lbiBXZXJiZWJhbm5lciB6dW0ga2xpY2tlbiBhdWYgZGllIFdlYnNlaXRlIGV0Yy4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoRGFya2xvciwgMTMuIE1hciAyMDA2LCAxNToxMzo0NSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExNDIyNDkyMjggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKTWFjaHQgZGllIFdlcmJ1bmcgbmljaCBmdWVyIGVpbiBNdWQsIHNvbmRlcm4gZnVlciBlaW5lbiByaWVzaWdlbiBDaGF0cm9vbS4uLgo7KQoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEdsb2luc29uLCAxMy4gTWFyIDIwMDYsIDE1OjI2OjE4KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE0MjI1OTIyNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpTdGltbXQuIElyZ2VuZHdpZSBoYXR0ZSBpY2ggZGFzIGdlc3Rlcm4gYXVjaCBub2NoIGltIEtvcGY6Ci0gZHluYW1pc2NoZSBLb21tdW5pa2F0aW9uIChLYW5hbCwgUmF1bSwgdG0pCi0gc3RhdGlzY2ggKE1haWwsIFplaXR1bmcsIEJyZXR0ZXIpCgpVbmQgd2lyIGJpZXRlbiBzb2dhYWFhYWFhYXIgVmVyc2NobHVlc3NlbHVuZyBiaXMgenVtIE1VRCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChIdW1uaSwgMTMuIE1hciAyMDA2LCAxNzoyNDowMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTQyMjU5OTc4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2ClNvLiBHdXQsIGRhbm4gZmFuZyBpY2ggZWluZmFjaCBtYWwgYW4sIHVuZCBiaWV0ZSBtaWNoIGFuLCBkaWVzZXMgSmFociBiZWltClJhdENvbiAoMTgtMjAuOC4pIHp1IHZlcnN1Y2hlbiwgbWFsIGVpbiBwYWFyIFBvc3RrYXJ0ZW4vSGFuZHpldHRlbCB6dQp2ZXJ0ZWlsZW4uIFdlbm4gaWNoIGRhcyBpcmdlbmR3aWUgaGlua3JpZWdlIHVuZCBpY2ggZGEgaGluZmFocmUsIHdhcyBpY2ggYWJlcgplaWdlbnRsaWNoIGF1Y2ggdm9yaGFiZS4gU28uIEVpbiBEcmFjaGUsIGVpbiBXb3J0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChLZWxseWJ1bmR5LCAxMy4gTWFyIDIwMDYsIDIwOjQ0OjE3KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTE0MjEyMDkxMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpHYW56IHp1IHNjaHdlaWdlbiBkYXZvbiwgZGFzcyBkaWVzZSBTYWNoZW4gaW4gUG9wdXAtQmxvY2tlcm4gdW50ZXJnZWhlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKFJhZ25hcm9laywgMTMuIE1hciAyMDA2LCAyMDo0ODoxMik6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNDIyNzkwNTcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKSWNoIGVya2xhZXJlIG1pY2ggYXVjaCBiZXJlaXQsIEhhbmR6ZXR0ZWwgKHNvIGVzIHdlbGNoZSBnaWJ0KSBhbiBkaXZlcnNlCkNvbnZlcmFuc3RhbHRlciBpbiBtZWluZW0gQmVrYW5udGVua3JlaXMsIHNvd2llIGFuIGFsbGUgUlBHLUxhZWRlbiBpbgpNdWVuY2hlbiB6dSB2ZXJ0ZWlsZW4uCgo6cjoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVuZCBkYW5uIHNjaGxpZWYgKE1lc2lyaWksIDE3LiBNYXIgMjAwNiwgMDI6MDQ6NTMpOgpzaWUgd2llZGVyIGVpbiBkaWUgRGlza3Vzc2lvbi4gU2NoZWluYmFyIGhhdCBkb2NoIGthdW0gamVtYW5kIElkZWVuLCB3aWUgbWFuCnNpbm52b2xsIGF1ZiB1bnNlciBNdWQgYXVmbWVya3NhbSBtYWNoZW4ga2Fubi4KU2NoYWRlCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgZGFubiBzY2hsaWVmIChNb3Jnb3RoLCAxNy4gTWFyIDIwMDYsIDA3OjU4OjIyKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE0MjU1NzQ5MyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjU1NzQ5MwpadSBtZWluZXIgSWRlZSBoYXQgbm9jaCBuaWVtYW5kIHdhcyBnZXNhZ3QgdW5kIGljaCBmaW5kZSBkaWUgZ2FyIG5pY2h0IHNvCnNjaGxlY2h0LgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVW5kIGRhbm4gc2NobGllZiAoQm9pbmcsIDE3LiBNYXIgMjAwNiwgMDg6NTM6NDUpOgp+IyEgcm49TW9yZ290aCBydD0xMTQyNTc4NzAyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyNTU3NDkzCkFsbGUgV2VyYmVtYXNzbmFobWVuIHNpbmQgZWgga29udHJhcHJvZHVrdGl2IHNvbGFuZ2UgZGllIG5ldWUgV2Vic2VpdGUKbm9jaCBuaWNodCBmcmVpZ2VzY2hhbHRldCBpc3QuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgZGFubiBzY2hsaWVmIChNdWFkaWIsIDE3LiBNYXIgMjAwNiwgMDk6NDA6NDQpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQyNTU3NDkzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyNTU3NDkzCmljaCB3aWxsIG5pY2h0IHZlcnRyb2VzdGVuLCBhYmVyIHNvbGx0ZSBuaWNodCBlcnN0IGRhcyB3ZWIgYXVjaCBzb3dlaXQgc2VpbiwKZGFzcyBlcyBuaWNodCBtZWhyIGluIGVpbmVtIHVudGVyYmF1bSwgc29uZGVybiB0YXRzYWVjaGxpY2ggYWt0aXZpZXJ0IGlzdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTW9udGFudXMsIDIwLiBNYXIgMjAwNiwgMTk6Mzg6MTUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExNDIxNzQ2NDYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKRnVlciB3YXMgd29sbHQgaWhyIGJpdHRlc2Nob2VuIFdlcmJ1bmcgbWFjaGVuPwpEYXMgTW9yZ2VuZ3JhdWVuIGxlYnQgZG9jaCBzY2hvbiBsYW5nZSBuaWNodCBtZWhyLgpFcyBpc3QgZWluIFRyZWZmcHVua3QgZ2V3b3JkZW4gZnVlciBlaW5lIHVlYmVyc2NoYXViYXJlIFphaGwgTXVkZXIsIGVpbmVuCmltbWVuc2UgWmFobCBFeC1NdWRkZXIsIGRpZSBlcyBhbHMgQ2hhdHJhdW0gdmVyd2VuZGVuLCB1bmQgZWluIHBhYXIKcHJvZ3JhbW1pZXJ3dWV0aWdlIEhlbGRlbi4KQWNoIGphLCB1bmQgWndlaXRpZXMsIERpcnR0aWVzLCBWaWVydGllcyB1bmQgc29uc3RpZ2UgTXVsdGlzLgpQbHVzIER1bW1sYWJlcmVyLCBkaWUgYXVmIC1hIHplaWdlbiB3b2xsZW4sIGRhc3Mgc2llIGRlbiBncm9lc3N0ZW4gZVBlbmlzCmhhYmVuLgpJbnNvZmVybjogc3BhcnQgZXVjaCBkYXMgR2VsZC4gV2VubiBMZXV0ZSBzbyBlaW5lIFBvc3RrYXJ0ZSBsZXNlbiwgZGFubiBoaWVyCmFua29tbWVuIHVuZCBmZXN0c3RlbGxlbiwgZGFzcyAxMCB2b24gNjAgTGV1dGVuIG5pY2h0IGlkbGUgc2luZCwgZGVyIFJlc3QgYWxzbwpzdHVyIHNjcmlwdGV0IG9kZXIgc2NobGFlZnQsIGRhbm4gc2NocmVpdCBkYXMgbmljaHQgbmFjaCBlaW5lcgpmdW5rdGlvbmllcmVuZGVuIENvbW11bml0eSwgZGllIE5ldWxpbmdlIGF1Zm5pbW10LgpTdGVja3QgZGFzIEdlbGQgbGVpYmVyIGluIGVpbmUgdG9sbGUgRGl2aWRlbmRlLCBhZWggUGFydHkuIERhIGhhYmVuIGFsbGUgbWVocgpkYXZvbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKFRhcmFuaXMsIDIwLiBNYXIgMjAwNiwgMTk6NDE6NDUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE0Mjg3OTg5NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpNaG1tLiBXZW5uIGRhcyBzbyBpc3Q6IFdhcnVtIHNjaGFsdGVuIHdpciBkZW4gU2VydmVyIG5pY2h0IGRpcmVrdCBhYiB1bmQKdHJlZmZlbiB1bnMgYWIgbW9yZ2VuIGluICNtb3JnZW5ncmF1ZW4gYXVmIGlyYy5ldWlyYy5uZXQ/CgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE1vbnRhbnVzLCAyMC4gTWFyIDIwMDYsIDE5OjQzOjE1KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTE0Mjg4MDEwNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpXZWlsIG5pY2h0IGFsbGUgc28gdGVjaG5pc2NoIGJlc2NobGFnZW4gc2luZCwgc2ljaCBpbSBJUkMgaGVydW10cmVpYmVuIHp1CmtvZW5uZW4uClVuZCB3ZWlsIHdpciBkb3J0IE1lZ2FzY2htYXJybiBuaWNodCBzbyBndXQgZm9ydGZ1ZWhyZW4ga29lbm5lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoT3JrdG9ldGVyLCAyMC4gTWFyIDIwMDYsIDE5OjQzOjM3KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTE0Mjg4MDEwNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpEZXIgTWVuc2NoIGlzdCBoYWx0IGVpbiBHZXdvaG5oZWl0c3RpZXIuLiB1bmQgZGFubiBnaWJ0cyBkYSBub2NoIGRhcyBzY2hvZW5lCldvcnQgIkJlc2l0enN0YW5kc3dhaHJ1bmciCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChIdW1uaSwgMjAuIE1hciAyMDA2LCAxOTo0Nzo1NSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE0Mjg4MDIxNyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpUamEsIE1vbnRhbnVzLCBhYmVyIGljaCBtdXNzIERpY2ggZW50dGFldXNjaGVuOiBBdWNoIHdlbm4gd2lyIGVpbiBwYWFyIHdlbmlnZXIKU3BpZWxlciBoYWJlbiwgaXN0IGRhcyBTcGllbCBub2NoIGxhbmdlIG5pY2h0IHRvdC4gV2lyIGhhYmVuIHp1IHdlbmlnIFNwaWVsZXIsCnVuZCBkZXJ6ZWl0IGtvZW5uZW4gd2lyIG1laHIgYnJhdWNoZW4sIHVuZCBqYSwgZXMgZ2lidCBQcm9ibGVtZSwgZnVlcgpiZXN0aW1tdGUgQWt0aW9uZW4gTWV0emVsdGVhbXMgenUgZmluZGVuLgoKRGVubm9jaCBsZWJ0IGRhcyBNdWQsIGF1Y2ggYWxzIFNwaWVsLCB1bmQgd2VyIGhpZXIgYW5mYWVuZ3QsIHdpbGwgYXVjaApzcGllbGVuLiBEYXNzIGRhcyBmdWVyIERpY2ggbmljaHQgZ2lsdCBtYWcgc2Vpbi4gQWJlciBkYXMgaXN0IHdpcmtsaWNoIERlaW4KcGVyc29lbmxpY2hlIFdhaHJuZWhtdW5nIHVuZCBuaWNodCBkaWUgUmVhbGl0YWV0LiBXZW5uIER1IG1hbCBhdWYgZGllIEthbmFlbGUKc2NoYXVzdDogRXMgc3RlcmJlbiBpbW1lciBub2NoIExldXRlLCB1bmQgZXMgbG9lc2VuIG5hY2ggd2llIHZvciBMZXV0ZSBRdWVzdHMsCnVuZCBhdWNoIGFuIERpc2t1c3Npb25lbiAoc2llaGUgZ2lsZGVuLmthZW1wZmVyIGltIE1vbWVudCkgd2lyZCBzaWNoIG5vY2gKYmV0ZWlsaWd0LgoKSHVtbmkKUFM6IEFudHdvcnQgaW4gbWVnYXNjaG1hcnJuLVRyYWRpdGlvbiBhdWYgZGVuIGxldHp0ZW4gQXJ0aWtlbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTXVhZGliLCAyMC4gTWFyIDIwMDYsIDE5OjQ5OjQ5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNDI4Nzk4OTUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKbmljaHQgd2l0emlnIGRlciBhcnRpa2VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEtlc3NhLCAyMC4gTWFyIDIwMDYsIDIwOjAwOjAwKToKfiMhIHJuPU11YWRpYiBydD0xMTQyODgwNTg5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Ck1vbnRhbnVzJyBCZWRlbmtlbiBrYW5uIGljaCBzY2hvbiBuYWNodm9sbHppZWhlbiwgaWNoIHd1ZXJkZSBkYXMgbmljaHQgc28KZWluZmFjaCB2b24gZGVyIEhhbmQgd2Vpc2VuLiBTbyBlaW5lIEFrdGlvbiB3YWVyZSBzaWNoZXIgdW5hbmdlYnJhY2h0LCB3ZW5uCnNpZSBtaXR0ZW4gaW4gZWluZSB0b3RhbGUgRmxhdXRlIGZhbGxlbiB3dWVyZGUsIHdpZSBlcyBzaWUgc2Nob24gZ2FiIC0gZGllIGljaAphbGxlcmRpbmdzIHp1ciBaZWl0IGF1Y2ggbmljaHQgaW4gZGVtIE1hc3NlIHdhaHJuZWhtZS4gVW5kIHdlbm4gbmljaHQgYXVjaCBhdWYKYW5kZXJlbiBHZWJpZXRlbiBnZXJhZGUgenVyIFplaXQgdmllbCBnZXRhbiB3dWVyZGUsIHVtIGRhcyBNVUQgZ2VyYWRlIGZ1ZXIKQW5mYWVuZ2VyIHp1Z2FlbmdsaWNoZXIgdW5kIGF0dHJha3RpdmVyIHp1IG1hY2hlbi4gRGFtaXQgd2lyZCBzY2hvbiBlaW5pZ2VtIGFuCm1vZWdsaWNoZXIgYW5mYWVuZ2xpY2hlciBGcnVzdHJhdGlvbiBlbnRnZWdlbmdld2lya3QuIEljaCBuZWhtZSBkaWUgQmVkZW5rZW4KZXJuc3QsIHNlaGUgc2llIGFiZXIgZWhlciBhbHMgSGVyYXVzZm9yZGVydW5nLCBpbiBkaWVzZW4gQmVtdWVodW5nZW4gbmljaHQKbmFjaHp1bGFzc2VuLiBVbmQgYXVjaCBzZWxiZXIgd2llZGVyIGFrdGl2ZXIgenUgd2VyZGVuICpodXN0KiA6KQoKR3J1c3MsIEtlc3NhL0JyYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoQXJrLCAyMC4gTWFyIDIwMDYsIDIwOjA5OjA4KToKfiMhIHJuPUtlc3NhIHJ0PTExNDI4ODEyMDAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKRGVuIFNhcmduYWdlbCBhbHMgQW50d29ydCBhdWYgV2llZGVyYmVsZWJ1bmdzbWFzc25haG1lbiwgZGEgc3RhdW50IGRlciBBcnp0LAp1bmQgZGVyIFNwaWVsZXIgd3VuZGVydCBzaWNoLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTW9udGFudXMsIDIwLiBNYXIgMjAwNiwgMjM6MjM6MzIpOgp+IyEgcm49QXJrIHJ0PTExNDI4ODE3NDggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKTnVuLCBtaWNoIGVyaW5uZXJ0IGRpZSBnYW56ZSBEaXNrdXNzaW9uIGhpZXIgaGFsdCBhbjoKCmh0dHA6Ly93d3cuYnBpYy5jby51ay9hcnRpY2xlcy9kZWFkaG9yc2UuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEFyaywgMjAuIE1hciAyMDA2LCAyMzo0MzowMyk6Cn4jISBybj1Nb250YW51cyBydD0xMTQyODkzNDEyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkRhcyBhbmdlYmxpY2ggdG90ZSBQZmVyZCBzb2xsIGFiZXIgbm9jaCBQYXJ0aWVzIHNwZW5kaWVyZW4/IENvbWUgb24gLi4uIEJpZXIKc2F1ZmVuIGlzdCBlYXN5LCBtYWNoIG1hbCBsaWViZXIgd2FzIEtyZWF0aXZlcyAuLi4gd2lyIHdvbGxlbiBuaWNodCBlaW5mYWNoCm1hbCBlaW4gbmV1ZXMgU3BpZWwgZXJmaW5kZW4uIFVuZCBrb2VubmVuIGVzIGF1Y2ggbmljaHQgbWFsIHNvIGltIFZvcmJlaWdlaGVuLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoSHVtbmksIDIxLiBNYXIgMjAwNiwgMDg6MzE6MjUpOgp+IyEgcm49QXJrIHJ0PTExNDI4OTQ1ODMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKVGphLiBEYSBmcmFndCBtYW4gc2ljaCBlcm5zdGhhZnQsIHdvZnVlciBtYW4gaGllciBkaWUgQXJiZWl0IG1hY2h0LCB3ZW5uIGRpZQplaW56aWdlbiwgZGllIGRpZSBBbnNpY2h0IHZlcnRyZXRlbiwgZGFzIE1HIHNlaSBuaWNodCB0b3QgKHNjaGF1dCBtYWwgaW4KYW5kZXJlIE11ZHMsIGRhIGdpYnRzIGRldXRsaWNoIHdlbmlnZXIgU3BpZWxlciB1bmQgdHJvdHpkZW0gbm9jaCBlbnR3aWNrZWxuZGUKTWFnaWVyKSBkaWVqZW5pZ2VuIHNpbmQsIGRpZSBoaWVyIHdhcyB0dW4uCgpJY2ggaGFiIGdlcmFkZSBqZWRlbmZhbGxzIGtlaW5lIEx1c3QgbWVociwgd2VpdGVyZSBUdXRvcmlhbHMgenUgc2NocmVpYmVuLAp3ZW5uIGhpZXIgc28gZWluZSBTdGltbXVuZyB2b3JoZXJyc2NodC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEJvaW5nLCAyMS4gTWFyIDIwMDYsIDA4OjU2OjQxKToKfiMhIHJuPUh1bW5pIHJ0PTExNDI5MjYyODUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKRXMgaXN0IGRpZSBNZWludW5nIGVpbmVzIGVpbnplbG5lbiwgZGllIER1IGdldHJvc3QgaWdub3JpZXJlbiBrYW5uc3QuCkljaCBkZW5rZSBkYXNzIGRpZSBtZWlzdGVuIFNwaWVsZXIgdW5kIE1hZ2llciBtaXQgRGVpbmVyIEFyYmVpdCBzZWhyCnp1ZnJpZWRlbiBzaW5kLiBJY2ggZmFlbmRlIGVzIHNlaHIgdHJhdXJpZyB3ZW5uIER1IERpY2ggdm9uIHNvbGNoZW0gCkdlc2Nod2FldHogYmVlaW5mbHVzc2VuIGxpZXNzZXN0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE1vbnRhbnVzLCAyMS4gTWFyIDIwMDYsIDA5OjA4OjI0KToKfiMhIHJuPUJvaW5nIHJ0PTExNDI5Mjc4MDEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKSmEgLSB1bmQgbmVpbi4KTWVpbnVuZyBlaW5lcyBFaW56ZWxuZW4gaXN0IHJpY2h0aWcsIHdvYmVpIGRhcyBzaWNoZXIgYXVjaCBtZWhyIGFscyBudXIKRWluemVsbmUgZ2lidHQuIElnbm9yaWVyZW46IHNpZWhlIFRvdGVzIFBmZXJkLgpJY2ggaGFiZSBlaW5mYWNoIGVpbiBkZWphLXZ1LUVybGVibmlzLCB3ZWlsIGljaCBkYXMgbGFuZ3NhbWUgU3RlcmJlbiBlaW5lcgpTcGllbGVzcGFydGUgc2Nob24gZWlubWFsIG1pdGVybGVidCBoYWJlOiBkaWUgZGVzIGtsYXNzaXNjaGVuIFBvc3RzcGllbHMuCklyZ2VuZHdhbm4gd3VyZGVuIGRpZSBMZXV0ZSBpbWVtciBhZWx0ZXIsIGVzIGthbSB3ZW5pZyBOYWNod3VjaHMsIGRlciBzY2hyaWViCmxpZWJlciBlTWFpbHMgYWxzIEJyaWVmZSB1bmQgc3BpZWx0ZSBpcmdlbmR3YW5uIGRvY2ggbGllYmVyIGFuZGVyZSBTcGllbGUuCkRpZSBQb3N0c3BpZWxzemVuZSBoYXQgdmllbCBHZWxkIHZlcnB1bHZlcnQsIHVtIG5ldWUgTGV1dGUgenUgZ2V3aW5uZW46ClN0YWVuZGUgYXVmIE1lc3NlbiBtaXQgVm9yZnVlaHJwYXJ0aWVuIG51ciBhbHMgQmVpc3BpZWwgZ2VuYW5udC4KVW5kIHdhcyBpc3QgZHJhdXMgZ2V3b3JkZW4uIG51ZXNjaHQuIERpZSBBbnphaGwgZGVyIFBhcnRpZW4sIGRpZSBub2NoIGxhdWZlbiwKaXN0IHN0YXJrIGdlc3Vua2VuLCBlaW5pZ2UgYmVsaWVidGUgU3BpZWxlIGhhYmVuIHNpY2ggZHVyY2hnZXNldHp0IHVuZC9vZGVyCmVpbmUgZWlnZW5lIE5pc2NoZSBnZWZ1bmRlbi4KTmV1ZSBMZXV0ZSBrb21tZW4gZHVyY2ggZGlyZWt0ZW4gS29udGFrdCBkYXp1LCBlaW5lbiBCb29tIHdpcmQgZXMgbmljaHQgbWVocgpnZWJlbi4KQWJlciBtYW4gaGF0IHNpY2ggZGFtaXQgZWluZmFjaCBlaW5lcyBUYWdlcyBhYmdlZnVuZGVuLCBkYXNzIG1hbiBiZWltICh1bQplaW5lbiBNdWQtQmVnaXJmZiB6dSB2ZXJ3ZW5kZW4pIHdldHRydWVzdGVuIHN0ZXRzIGRlbiBLdWVyemVyZW4gemllaGVuIHdpcmQsCnVuZCBzaWNoIGF1ZiBkZXIgYmFzaXMga29uc29saWRpZXJ0LgpEYWhlcjogSWNoIGhhYmUgbmljaHRzIGRhdm9uIGdlc2FndCwgZGFzcyBtYW4gZGFzIE11ZCB6dW1hY2hlbiBzb2xsdGUsIGFiZXIKaWNoIGZpbmRlIG5hY2ggd2llIHZvciwgZGFzcyBlaW5lIERpc2t1c3Npb24gZGFydWViZXIsIHdpZSBtYW4gbWl0IEdlbGQgTGV1dGUKYW5sb2NrdCwgc2VociBza3VycmlsLiBVbmQgVHJhZXVtZSBkYXZvbiwgd2llZGVyIGluIGRlciBMaWdhIGdyb3NzZXIKT25saW5lLVNQaWVsZSBtaXR0YW56ZW4genUgZHVlcmZlbiwgc2Voci4uLiByZWFsaXRhZXRzZnJlbWQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKEJvaW5nLCAyMS4gTWFyIDIwMDYsIDA5OjEzOjQwKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNDI5Mjg1MDQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKRXMgZ2VodCBuaWNodCB1bSBkaWUgTGlnYSBkZXIgZ3Jvc3NlbiBPbmxpbmUtU3BpZWxlLiBFcyBnZWh0IGRhcnVtIGRhcwpTcGllbCBhdWYgZWluZW0gZWluaWdlcm1hc3NlbiBrb25zdGFudGVtIE5pdmVhdSB6dSBoYWx0ZW4uIFVuZCBtaXQga29uc3RhbnQKbWVpbmUgaWNoIG5pY2h0IDUgU3BpZWxlciBzb25kZXJuIDUwLiBVbmQgdW0gZGFzIHp1IGVycmVpY2hlbiBtdXNzIApOYWNod3VjaHMgaGVyLCBkYSBlcyBzY2hvbiBpbW1lciBzbyB3YXIgZGFzcyBTcGllbGVyIGlyZ2VuZHdhbm4gYXVmZ2Vob2VydApoYWJlbiBoaWVyIHp1IHNwaWVsZW4uIERhc3Mgd2lyIG5pY2h0IG1pdCBkZW4gZ3Jvc3NlbiBPbmxpbmUgU3BpZWxlbgprb25rdXJyaWVyZW4ga29lbm5lbiB3aXNzZW4gd2lyIHNjaG9uIHNlaXQgVWx0aW1hIE9ubGluZS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChWZWN0b3IsIDIxLiBNYXIgMjAwNiwgMDk6NTI6MzMpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE0Mjg5MzQxMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgooVGlwcGZlaGxlciBkdWVyZmVuIGJlbGFlY2hlbHQgd2VyZGVuLCBkaWUgTGFwdG9wLVRhc3RhdHVyIGlzdCBuaWNodApzbyBkZXIgQnJpbmdlciBhbSBmcnVlaGVuIG1vcmdlbikKCkFsc286CgpadW5hZWNoc3QgbWFsIGtvbW10IGVzIG1pciBzbyB2b3IsIGFscyBvYiBoaWVyIEFlcGZlbCBtaXQgQmlybmVuCnZlcmdsaWNoZW4gd2VyZGVuIG9kZXIgYmVzc2VyOiBQZmVyZGUgbWl0IEVzZWxuLgoKRGllIFBvc3RzcGllbHNwYXJ0ZSAod2FzIGF1Y2ggaW1tZXIgZGFzIGdlbmF1IGlzdCwgaWNoIGdvb2dsZSBuYWNoaGVyKQp3YXIgc2Nob24gYXVmIGRlbSBhYnN0ZWlnZW5kZW4gQXN0LCBkYSBlcyBiZXNzZXJlIEFsdGVybmF0aXZlbiBnaWJ0OgpEYXMgSW50ZXJuZXQuIFdhcnVtIDUgVGFnZSB1bmQgbWVociBhdWYgZWluZSBBbnR3b3J0IHZvbSBCcnVkZXIvZGVyIApGYW1pbGllL1NwaWVscGFydG5lciB3YXJ0ZW4sIHdlbm4gZXMgbWl0IGVtYWlsIGVpbmUgU2FjaGUgdm9uIFN0dW5kZW4Kd2lyZC4KRGFzIEludGVybmV0IGJvb210IG5hY2ggd2llIHZvciwgZXMgd2VyZGVuIHRhZWdsaWNoIG1laHIgQW53ZW5kZXIgdW5kCmRhcyBNdWQgYmVmaW5kZXQgc2ljaCBtaXR0ZW4gZHJpbiBpbiBkaWVzZW0gQm9vbSAod2VubiBhdWNoIGFtIFJhbmQKZGF2b24pLiBNaXR0bGVyd2VpbGUgaXN0IGRhcyBJbnRlcm5ldCBlYmVuIGtlaW5lIFNwaWVsd2llc2UgZGVyIGFrYWRlbWlzY2hlbgpFbGl0ZSBtZWhyLCBuZWluIGF1Y2ggT3R0byBOb3JtYWxzdXJmZXIgbnV0enQgZGFzIE5ldHosIHVuZCBkZW0gbXVzcyBtYW4KZGFzIE11ZCBlYmVuIGF1ZiBlaW5lIGFuZGVyZSBXZWlzZSBzY2htYWNraGFmdCBtYWNoZW4uCkJvaW5nIGhhdCBlcyBzY2hvbiBlcndhZWhudDogRGllIFRhdHNhY2hlLCBkYXNzIFNwaWVsZXIgYXVmaG9lcmVuIGlzdCAKbmljaHQgbmV1LiBPZnRtYWxzIGdlaGVuIE11ZC0gdW5kIFN0dWRpdW1lbmRlIEhhbmQgaW4gSGFuZCBvZGVyIGRpZQpGYW1pbGllIHdpcmQgKHdhcnVtIGF1Y2ggaW1tZXJeXikgd2ljaHRpZ2VyIGFscyBkYXMgRHJhY2hlbi1NZXR6ZWxuLgoKTmV1IHNpbmQgbnVuIGViZW4gYW5kZXJlIFRhdHNhY2hlbjoKCkRhcyBJbnRlcm5ldCBpc3QgbmljaHQgbGFlbmdlciBlaW4gVGV4dHRlcm1pbmFsIHNvbmRlcm4gYnVudCB1bmQgc2NobmVsbCwKdW5kIHNvbWl0IGdlZWlnbmV0IGZ1ZXIgbHVzdGlnZSBLbGlja2FsdGVybmF0aXZlbiBhIGxhIFdvVy4gRGFzIGhlaXNzdCwKZGVyIE5hY2h3dWNocyBrb21tdCBuaWNodCBtZWhyIGF1dG9tYXRpc2NoLCBzb25kZXJuIG11c3MgZXJzdCB3aWVkZXIKZXJrYWVtcGZ0IHdlcmRlbi4KRGVzd2VpdGVyZW4gc2luZCBhdWNoIGRpZSBXb2huaGVpbWUgdmVybmV0enQgdW5kIEZsYXRyYXRlcyBkZXJtYXNzZW4KYmlsbGlnLCBkYXNzIGRpZSBNdWRkZXIgbmljaHRtZWhyIGltIFJaIGR1cmNobWFjaGVuIG11ZXNzZW4sIHNvbmRlcm4KZGFoZWltIHZvcm0gUEMgc2l0emVuLCB1bmQgc28ga2FubiBtYW4gZGllIEVyc3RpZXMgbmljaHQgYW5maXhlbi4KV2llIHZpZWxlIGRlciBNdWRkZXIgaGF0dGUgZGVuIGVyc3RlbiBLb250YWt0IG1pdCBkZW0gTW9yZ2VuZ3JhdWVuLAphbHMgc2llIGtvbWlzY2hlIFR5cGVuIGdlc2VoZW4gaGFiZW4sIGRpZSBhdWYgZGllIFRhc3RhdHVyIGVpbmdlYnJldHplbHQKaGFiZW4sIGRpZSBkYWJlaSBkaWFib2xpc2NoIGdlbGFjaHQgaGFiZW4gdW5kICJzdGlyYiBkdSBzYXUiIGF1ZiBkdXJjaC0Kc2Nyb2xsZW5kZSBUZXh0emVpbGVuIGdlc2NocmllZW4gaGFiZW4/IFNpY2hlciBmYXN0IGRpZSBIYWVsZmUuIAoKRGVyemVpdCBrb21tdCBub2NoIGRhenUsIGRhc3MgZGllIEtsaWNrYWx0ZXJuYXRpdmVuIG5pY2h0IG51ciBkZW4KTmFjaHd1Y2hzIGFiemllaGVuLCBzb25kZXJuIGF1Y2ggZWluZW4gZ3Jvc3NlbiBUZWlsIGRlciBTdGFtbW11ZGRlciwKZGllIGlyZ2VuZHdvIGltIFdvdyB2ZXJzdW1wZnQgc2luZC4KTmFjaCBudW5tZWhyIHNpZWJlbiBKYWhyZW4gRGF1ZXJtdWQgbXVzcyBpY2ggc2FnZW4sIGljaCBoYWIgZWluaWdlCkh5cGVzIGtvbW1lbiB1bmQgZ2VoZW4gc2VoZW4uIE9iIGVzIG51biBCcm93c2VyZ2FtZXMgd2FyZW4sIERpYWJsbwpvZGVyIENvdW50ZXJzdHJpa2Ugd2FyLCBiZWkgamVkZW0gZGllc2VyIEh5cGVzIHd1cmRlbiBoaWVyIEdyYWJyZWRlbiBhdWYKZGFzIE1HIGdlc2Nod3VuZ2VuLCB1bmQgZXMgc3RlaHQgaW1tZXIgbm9jaC4gRGllIG5hZWNoc3RlbiBIeXBlcywgZGllCmVzIGVyd2lzY2hlbiB3aXJkIHdlcmRlbiBkYW5uIEd1aWxkd2FycyB1bmQgV29XIHNlaW4sIGlzdCBudXIgZWluZQpGcmFnZSBkZXIgWmVpdC4KClNPbGwgZXMgbnVuIGFsc28gdW0gZGllIFJla3J1dGllcnVuZyBuZXVlciBTcGllbGVyIGdlaGVuOgoKV2FzIGhhdCBkZW4gaW1tZXIgYW0gYmVzdGVuIGdla2xhcHB0PyBNdW5kcHJvcGFnYW5kYS4gVW5kIHdlbm4gZGllIGpldHp0Cm5pY2h0bWVociBpbiBkZXIgVW5pIHN0YXR0ZmluZGV0LCBkYW5uIGViZW4gaW4gZGVuIGdhbnplbiBGb3JlbiBpbiBkZW5lbgpkaWUgTXVkZGVyIG5vY2ggYWt0aXYgc2luZCwgSUNRLCBJUkMgb2RlciBkZXIgYWxsd29lY2hlbnRsaWNoZSBTdGFtbXRpc2NoLAp3YXMgaXN0IGdlZ2VuIHNvIGVpbmUgZ3JhdGlzIFdlcmJ1bmcgenUgc2FnZW4/IFNjaHVlbGVyIG11ZXNzZW4gamEgYXVjaApuaWNodCB1bmJlZGluZ3QgZGVscGhpIGxlcm5lbiwgTFBDIGlzdCBhdWNoIHdhcyBTY2hvZW5lcyA6KQoKTW9yZ290aCBoYXQgZGllIGdhbnplbiBDaGFydHMgdW5kIFRvcGxpc3RlbiBlcndhZWhudC4gV2FydW0gZG9ydCBuaWNodApiZWkgZGVuIGVudHNwcmVjaGVuZGVuIFBvcnRhbGVuLCBkYXMgTXVkIGFscyBCcm93c2VyZ2FtZSBlaW50cmFnZW4/IApEaWUgZW50c3ByZWNoZW5kZW4gS2xpY2tzIGZ1ZXIgZWluZSBpbnRlcmVzc2FudGUgQ2hhcnRwbGF0emllcnVuZyBzb2xsdGVuCndpcmQgZG9jaCBoaW5rcmllZ2VuIDopCgpnYW1pbmdmYWN0cy5kZQpicm93c2VyZ2FtZXMyNC5kZQpicm93c2Vyd2VsdGVuLm5ldAp0aGUtYnJvbmdhbWVycy5kZQpiZ3pvbmUuZGUKZ2FsYXh5LW5ld3MuZGUKcmF3bmV3cy5kZQoKc2luZCBudXIgZWluaWdlLiBNYW4gbXVzcyBpbiBzZWluZW0gU3BpZWxhbmdlYm90IGphIG5pY2h0IGFsbGVzIGhhYmVuLCBhYmVyCm11c3MgYWxsZXMgd2FzIG1hbiBoYXQgdmVya2F1ZmVuIGtvZW5uZW4uIFVuZCB3YXJ1bSBkYXMgTXVkIG5pY2h0IGFscyAKdGVhbWZyZXVuZGxpY2hlcyBCcm93c2VyZ2FtZSB2ZXJrYXVmZW4sIGRhc3MgZGVuIFZvcnRlaWwgaGF0IGRhc3MgZGllIEFkbWlucwooTWFnaWVyKSBpbW1lciBhbnNwcmVjaGJhciBzaW5kLCBlaW5lIHZvbiBkZW4gYmVzdGVuIGNvbW11bml0eXMgdWViZXJoYXVwdApkYSBpc3QsIGRhcyBTcGllbCBpbiBFY2h0emVpdCBsYWV1ZnQsIG1hbCBtdXNzIG5pY2h0IG5hY2h0cyAzbWFsIGRlbiBXZWNrZXIKc3RlbGxlbiB1bSBFcmZvbGcgenUgaGFiZW4sIGVzIGdpYnQga2VpbmVuIFJlc2V0ICh6d2FyIHJlYm9vdCBhYmVyIGRpZSAKU3BpZWxlcmZhZWhpZ2tlaXRlbiBibGVpYmVuIGVyaGFsdGVuKS4gCgpCbGVpYnQgbm9jaCBkZXIgUHVua3QsIHdpZSBtYW4gZGllIG5ldWVuIFNwaWVsZXIgaW0gTXVkIGhhZWx0LiAKWnVtIGVpbmVuIG11c3MgZGFubiBlaW4gc3RyZW5nZXJlcyBSZWdlbHdlcmsgaGVyLCBkYW1pdCBBbmZhZW5nZXIgbmljaHQgCm5pZWRlcmdlbWFjaHQgd2VyZGVuICgid2llIGtvbW0gaWNoIHp1bSBvcmFrZWwiIGFudHdvcnQ6ICJsb2VzY2ggZGljaCIpLCAKb2RlciAgZGFzcyBIYWxsby0gcnVmZSBudXIgbWl0IFNwb3QgYmVhbnR3b3J0ZXQgd2VyZGVuLCBzb3dhcyBkYXJmIGVzIGRhbm4KZWluZmFjaCBuaWNodCBtZWhyIGdlYmVuLgpadW0gYW5kZXJlbiBmZWhsZW4gZGVyemVpdCBkaWUgVm9yYmlsZGVyIHVuZCBMaWNodGZpZ3VyZW4uIERhcyBpc3QgYWJlciBlaW4KaGF1c2dlbWFjaHRlcyBQcm9ibGVtLiBEZXIgRXJzdGllIHdpcmQgbmljaHRtZWhyIGdlc3BpZWx0LCBzdGF0dCBkZXNzZW4gCmxpZWJlciBkZXIgMTB0ZSBTZWhlciBob2NoZ2VzcGllbHQsICJvb29oIGRlciBTcGllbHNwYXNzIHd1cmRlIGthcHV0dApnZW1hY2h0LCBkaWUgR2lsZGUgbWVpbmVzIEVyc3RpZXMgYWJnZXdlcnRldCBpY2ggc3BpZWwgamEgZWggbmltbWVyIHV1dXVoIApkaWUgWmVpdCBtZWluZXMgRXJzdGllcyBpc3Qgdm9yYmVpIiBXYXMgZnVlciBlaW4gR2VoZXVsZS4KCkFscyBpY2ggZGFtYWxzIGFscyBrbGVpbmVyIEFiZW50ZXVyZXIgZGllIC1Nb2VyZGVyZWJlbmUgZW50ZGVja3QgaGFiLCB3YXIgaWNoCnN0dW5kZW5sYW5nIGRhbWl0IGJlc2NoYWVmdGlndCB6dSBsYXVzY2hlbiwgd2FzIGVzIGRlbm4gc28gYWxsZXMgZ2lidCB1bmQgd2VyCmRpZSBncm9zc2VuIFplcnNjaG5ldHpsZXIgc2luZCwgZGllIGRhIG1pdCBkZW0gU2Nod2VydCBkcmVpbmZhaHJlbi4gU29sbHRlIApzaWNoIHZpZWxsZWljaHQgamVkZXIgbWFsIHVlYmVybGVnZW4sIG9icyBuaWNodCBkb2NoIHNpbm52b2xsIHdhZXJlIGRlbiAKR3Jvc3NlbiBhYiB1bmQgYW4gYXVzenVwYWNrZW4gdW5kIGRlciBuZXVlbiBHZW5lcmF0aW9uIHp1IHplaWdlbiwgd29yYXVzIHNvCmVpbiBNdWRsZWJlbiByYXVzbGFldWZ0IDopCgpadXIgYWt0dWVsbGVuIFNpdHVhdGlvbiBrYW5uIGljaCBudXIgc2FnZW4sIGRhc3MgZXMga2xhc3NlIGlzdCwgZGFzcyBlcwpuaWNodCBhbGxlbiBlZ2FsIGlzdCwgd29oaW4gZGFzIFNjaGlmZiBNb3JnZW5ncmF1ZW4gdHJlaWJ0LiBVbmQgc29ycnkKTW9udGFudXMgZGllc2UgImljaCBoYWJzIHNjaG9ubWFsIGdlc2VoZW4gZXMgaGlsZnQgYWxsZXMgbml4Ii1FaW5zdGVsbHVuZwpiZWZyZW1kZXQgbWljaCB6aWVtbGljaC4gTWFnIHNlaW4sIGRhc3MgZGFzIE11ZCB3aXJrbGljaCBncmFkZSB3aWUgZWluClRpZXIgaW4gZGVyIFNjaGxhbmdlIHp1ciBTY2hsYWNodGJhbmsgdW50ZXJ3ZWdzIGlzdCwgYWJlciB3YXJ1bSBpbiBzZWluClNjaGlja3NhbCBlcmdlYmVuPyBXZW5uIGVzIHNjaG9uIHNlaW4gbXVzcywgZGFubiBkb2NoIGxpZWJlciBkaWUgSGF1dCBzbwp0ZXVlciB3aWUgbW9lZ2xpY2ggdmVya2F1ZmVuPyBSTCBtdWVzc2VuIHdpciBhdWNoIHVlYmVyIGt1cnogb2RlciBsYW5nCmdlaGVuLCB1bmQgZGVzd2VnZW4gc2V0emVuIHdpciB1bnMgYXVjaCBuaWNodCBhdWYgbmUgQ291Y2ggdW5kIHdhcnRlbiBkcmF1ZiwKZGFzcyBkYXMgRW5kZSBrb21tdCwgc29uZGVybiB2ZXJzdWNoZW4gZGllIFplaXQgZGllIHdpciBoYWJlbiBzbyBzaW5udm9sbAp3aWUgbW9lZ2xpY2ggenUgbnV0emVuLiBPZGVyIG5pY2h0PwoKCi0tVmVjdG9yLS0KCgoKUC5TLiBGZWhsZW5kZSBTYXR6emVpY2hlbiBzaW5kIGF1c3p1c2NobmVpZGVuIHVuZCBuYWNoIGVpZ2VuZW0gRXJtZXNzZW4Kc2VsYnQgZWluenVrbGViZW4gLi4uLiwsLCwsLCwsISEhISE7Ozs7CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE11YWRpYiwgMjEuIE1hciAyMDA2LCAxMDoyOToxNyk6Cn4jISBybj1Nb250YW51cyBydD0xMTQyOTI4NTA0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CndvaGVyIG5pbW1zdCBkdSBkYXMgemllbCAiaW4gZGVyIGxpZ2EgZ3Jvc3NlciBvbmxpbmUtc3BpZWxlIG1pdHRhbnplbiI/CmlzdCB3ZXJidW5nIGZ1ZXIgc3BpZWxlIGdlbmVyZWxsIHVubnVldHosIHdlaWwgZXMgZnVlciBwb3N0c3BpZWxlIG5pY2h0Cmdla2xhcHB0IGhhdD8Kd2llIGVya2xhZXJzdCBkdSBkaXIgYWt0aXZlIG5ldXNwaWVsZXI/CndvaGVyIG5pbW1zdCBkdSBkaWUgZXhwZXJ0aXNlIGRhcyBtdWQgZnVlciB0b3QgenUgZXJrbGFlcmVuPwp3YXJ1bSBiaXN0IGR1IG5vY2ggaW0gdmVyZWluLCB3ZW5uIGRhIGRvY2ggbnVyIGdlbGQgZnVlciBlaW4gdG90ZXMgc3BpZWwKZ2VzYW1tZWx0IHVuZCB2ZXJwdWx2ZXJ0IHdpcmQ/CndhcyB3aWxsc3QgZHUgbWl0IGVpbmVyIGF1c3NhZ2UsIGRpZSBzaWNoIG1pdCAibG9obnQgYWxsZXMgbmljaHQsIGlzdCBlaCB0b3QKZGFzIG1nIiB6dXNhbW1lbmZhc3N0IGVycmVpY2hlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTW9udGFudXMsIDIxLiBNYXIgMjAwNiwgMTA6Mzg6NDIpOgp+IyEgcm49TXVhZGliIHJ0PTExNDI5MzMzNTcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKVmllbGxlaWNodCB3b2xsdGUgaWNoIGVpbmZhY2ggbWFsIGVpbmUgU2VsYnN0cmVmbGVrdGlvbiBhdXNsb2VzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKExvcmQsIDIxLiBNYXIgMjAwNiwgMTE6MDM6MzkpOgp+IyEgcm49VmVjdG9yIHJ0PTExNDI5MzExNTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKR2VuYXUgVmVjdG9yLiBQb3N0c3BpZWxlIG11c3N0ZW4gZGVtIEludGVybmV0IHdlaWNoZW4sIG9rLCBhYmVyIGVzIGdpYnQgYWJlciAKbm9jaCBrZWluZXJsZWkgQW56ZWljaGVuIGZ1ZXIgZWluZW4gYmFsZGlnZW4gVG9kIGRlcyBJbnRlcm5ldC4gRGFzIHZlcmZ1ZWdiYXJlClJla3J1dGllcnVuZ3Nwb3RlbnRpYWwgaXN0IGFsc28sIHdpZSBWZWN0b3Igc2Nob24gc2FndGUsIGltbWVucyBob2NoLgpOZWJlbiBkZXIgTXVuZHByb3BhZ2FuZGEgaXN0IGVzIGRpZSBXZWJzZWl0ZSwgZGllIGRlbiBlcnN0ZW4gRWluZHJ1Y2sgdm9tIApTcGllbCB2ZXJtaXR0ZWxuIHNvbGwuIFVuZCBpY2ggZmluZGUgZGllIG5ldWUgVmVyc2lvbiBtaXQgZGVuIGt1cnplbiAKQmVzY2hyZWlidW5nZW4gZGVyIFJhc3NlbiwgR2lsZGVuIHVuZCB2b3IgYWxsZW0gZGllIGt1cnplIEVpbmZ1ZWhydW5nIG1pdCBlaW4KcGFhciBXb3J0ZW4genVtIFNwaWVsemllbCwgYXVlc3NlcnN0IGFuc3ByZWNoZW5kLiBXYXJ1bT8gTnVuLCBtZWluIEtsZXJpIGlzdCAKQ2ljZXJvbmUgdW5kIGVybGVidCBhbGxlIHBhYXIgVGFnZSBkYXMgZm9sZ2VuZGUgRGVqYS12dToKCkFuZmFlbmdlciBYWSB0ZWlsdCBEaXIgbWl0OiBoaWxmIG1pcgpEdSB0ZWlsc3QgQW5mYWVuZ2VyIFhZIG1pdDogZ2VybmUuIHdpZSBrYW5uIGljaCBkaXIgaGVsZmVuPwpBbmZhZW5nZXIgWFkgdGVpbHQgRGlyIG1pdDogd2FzIG1hY2h0IG1hbiBoaWVyPwoKRGFzIHNpbmQgZWJlbiBMZXV0ZSwgZGllIHVlYmVyIGRpZSBXZWJzZWl0ZSByZWlua29tbWVuIHVuZCBuaWVtYW5kZW4gbmViZW4Kc2ljaCBzaXR6ZW4gaGFiZW4sIGRlciBiZWdlaXN0ZXJ0IHVlYmVyIERlbW9uZW4sIERyYWNoZW5nb2V0dGVyLCBWb2xsc3RyZWNrZXIKb2RlciBaYXViZXJ0cmFlbmtlIGVyemFlaGx0LgpEYXMgQ2ljZXJvbmUgS29uemVwdCBpc3QgZ3V0LCBmdW5rdGlvbmllcnQgYWJlciBub2NoIG5pY2h0IHJpY2h0aWcsIHdlaWwgZXMgCmVpbmZhY2ggenUgd2VuaWcgQ2ljZXJvbmVzIGdpYnQuIFVuZCB3ZW5uIG1hbiBkYW5uIGF1Y2ggbm9jaCBpZGxlIHdhciwgaXN0IGRlcgptZWlzdCB1bmdlZHVsZGlnZSBBbmZhZW5nZXIgbGFlbmdzdCB3ZWcsIHdlaWwga2VpbiBhbmRlcmVyIENpY2Vyb25lIGRhIHdhci4gClZpZWxsZWljaHQga29lbm50ZSBzaWNoIGRlciBlaW5lIG9kZXIgYW5kZXJlIGVyZmFocmVuZSBTcGllbGVyIGRhICh3aWVkZXIpCmVuZ2FnaWVyZW4uCgpEYW5rIGRlciBha3RpdmVuIE1hZ2llcnNjaGFmdCB3YWVjaHN0IHVuZCBnZWRlaWh0IGRhcyBNdWQuIEljaCB0cmVmZmUgaW0gTXVkCmltbWVyIHdpZWRlciBMZXV0ZSwgZGllIG5hY2ggSmFocmVuIHp1cnVlY2trb21tZW4gdW5kIGVyc3RhdW50IGZlc3RlbGxlbiwgCndpZXZpZWwgc2ljaCBoaWVyIGdldGFuIGhhdC4KCkRhcyBNdWQgaXN0IGFsc28gbm9jaCBsYW5nZSBuaWNodCB0b3QsIGF1Y2ggd2VubiBkZXIgZWluZSBvZGVyIGFuZGVyZQphdXMgbWlyIHVuZXJrbGFlcmxpY2hlbiBHcnVlbmRlbiB2ZXJzdWNodCBlcyBoaWVyIHRvdHp1cmVkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKExvcmQsIDIxLiBNYXIgMjAwNiwgMTE6MDY6NTkpOgp+IyEgcm49TG9yZCBydD0xMTQyOTM1NDE5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkFjaCBub2NoIHdhczogRGllIElkZWUgaW4gRm9yZW4vVG9wbGlzdGVuIGV0Yy4genUgd2VyYmVuIGZpbmQgaWNoIGd1dC4gCkRhcyB2ZXJiZXNzZXJ0IGF1Y2ggZGFzIFJhbmtpbmcgYmVpIFN1Y2htYXNjaGluZW4sIGRpZSBlaW4gbGlua2Jhc2llcnRlcyAKUmF0aW5nIGhhYmVuLiBJY2ggZ2xhdWJlIGF1Y2gsIGRhc3MgZXMgZWZmZWt0aXZlciBpc3QgYWxzIFBvc3RrYXJ0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE9ya3RvZXRlciwgMjEuIE1hciAyMDA2LCAxMzoyNzoyOSk6Cn4jISBybj1WZWN0b3IgcnQ9MTE0MjkzMTE1MyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpCb2VzZXIgVmVjdG9yISBJY2ggeml0aWVyZToKQWxzIGljaCBkYW1hbHMgYWxzIGtsZWluZXIgQWJlbnRldXJlciBkaWUgLU1vZXJkZXJlYmVuZSBlbnRkZWNrdCBoYWIsIHdhciBpY2gKc3R1bmRlbmxhbmcgZGFtaXQgYmVzY2hhZWZ0aWd0IHp1IGxhdXNjaGVuLCB3YXMgZXMgZGVubiBzbyBhbGxlcyBnaWJ0IHVuZCB3ZXIKZGllIGdyb3NzZW4gWmVyc2NobmV0emxlciBzaW5kLCBkaWUgZGEgbWl0IGRlbSBTY2h3ZXJ0IGRyZWluZmFocmVuLiBTb2xsdGUgCnNpY2ggdmllbGxlaWNodCBqZWRlciBtYWwgdWViZXJsZWdlbiwgb2JzIG5pY2h0IGRvY2ggc2lubnZvbGwgd2FlcmUgZGVuIApHcm9zc2VuIGFiIHVuZCBhbiBhdXN6dXBhY2tlbiB1bmQgZGVyIG5ldWVuIEdlbmVyYXRpb24genUgemVpZ2VuLCB3b3JhdXMgc28KZWluIE11ZGxlYmVuIHJhdXNsYWV1ZnQgOikKWml0YXQgRW5kZQoKRGFzIGlzdCBkb2NoIGJpdHRlc2Nob2VuIGVpbiBRdWVzdG11ZCEgSGFzdCBkdSBkYXMgbmFjaCBzaWViZW4gSmFocmVuIGRlbm4KaW1tZXIgbm9jaCBuaWNodCBtaXRiZWtvbW1lbj8gdHN0c3RzdHN0cwoKT3JrdG9ldGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChKYWRhd2luLCAyMS4gTWFyIDIwMDYsIDE2OjAyOjM2KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNDI4OTM0MTIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKTmEsIHdlbm4gZGllIFRlbG5ldC1aZWl0ZW4gc28gdmllbCBiZXNzZXIgd2FyZW4sIGRhbm4gd2FlcmUgZXMgYWJlciB6dW1pbmRlc3QKaG9lZmxpY2gsIExpbmtzIGF1Y2ggYWxzIHRpbnl1cmwgenUgcG9zdGVuLiBBYnRpcHBlbiBpc3QgbmFlbWxpY2ggbGFlc3RpZy4KSmFkKiAoaGV1dGUgdWViZXIgSmF2YS1BcHBsZXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGZWhsZXIgYXVmIHd3dy5tdWQuZGUgKE9ya3RvZXRlciwgMjYuIE1hciAyMDA2LCAwODozOTo0Mik6CkRhIHp1bWluZGVzdCBkZXJ6ZWl0IGtlaW4gSW1wcmVzc3VtIGF1ZnRhdWNodCwgaGllciBkaWUgRmVobGVybWVsZHVuZyBhdWYgZGVyCkhvbWVwYWdlOgoKV2FybmluZzogZGlyKC9uZXdzLykgW2Z1bmN0aW9uLmRpcl06IGZhaWxlZCB0byBvcGVuIGRpcjogTm8gc3VjaCBmaWxlIG9yCmRpcmVjdG9yeSBpbiAvb3B0L3NlcnZlci9tdWQuZGUvc2hvcnRuZXdzLnBocDMgb24gbGluZSA0MAoKRmF0YWwgZXJyb3I6IENhbGwgdG8gYSBtZW1iZXIgZnVuY3Rpb24gcmVhZCgpIG9uIGEgbm9uLW9iamVjdCBpbgovb3B0L3NlcnZlci9tdWQuZGUvc2hvcnRuZXdzLnBocDMgb24gbGluZSA0MwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExMTU1MTogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoTWVzaXJpaSwgMzEuIE1hciAyMDA2LCAxMDoyMDo1Nyk6Cn4jISBvbj1NZXNpcmlpIG90PTExNDM3OTMwOTkgb2c9bWVnYXNjaG1hcnJuCn4jISBybj1ab29rIHJ0PTExNDM3OTI2NTIgcmc9bWVnYXNjaG1hcnJuCn4jISB0aWQ9OTgyMzI4Mjc4Clp1IHd3dy5tdWQuZGUgc2llaGUgZGllIERpc2t1c3Npb24gYXVmIGRlLmFsdC5tdWQuIEljaCBkZW5rZSBhYmVyIG5pY2h0LCBkYXNzCnNpY2ggZGEgc28gYmFsZCB3YXMgdHVuIHdpcmQuCkljaCB2ZXJ3ZWlzZSBub2NoIGVpbm1hbCBhdWYgd2lraS5tb3JnZW5ncmF1ZW4uaW5mby4gRGEga29lbm5lbiBhbGxlIElkZWVuLApWb3JzY2hsYWVnZSBldGMuIGVyc3RtYWwgZ2VzYW1tZWx0IHdlcmRlbiB1bmQgZ2dmLiBhdWNoIGdlbWVpbnNhbSBhbgpUZXh0ZW4sIFNpZ25hdHVyZW4sIEJpbGRlcm4gZXRjLiBnZWFyYmVpdGV0IHdlcmRlbi4gQmlzaGVyIGlzdCBkaWUgZGllCkJldGVpbGlndW5nIG5vY2ggZXR3YXMgZHVlbm4uCkljaCBmaW5kZSBlcyBndXQsIGRhc3MgYXVmIE1vbnRhbnVzJyAoaW1obyBldHdhcyB1ZWJlcnNwaXR6ZW4pIEFuaGVpemFydGlrZWwKZG9jaCBzbyBwb3NpdGl2IGdlYW50d29ydGV0IHd1cmRlLiBEYXMgbW90aXZpZXJ0IGRvY2ggd2llZGVyLCBzaWNoIGluIGRpZQpTYWNoZSByZWluenVrbmllbi4KSWNoIGZhZW5kZSBlcyBndXQsIHdlbm4gZGllIFdlYnNlaXRlbiBudW4gYmFsZCBmcmVpZ2VzY2hhbHRldCB3dWVyZGVuLgpVbmFiaGFlbmdpZyB2b20gRmVydGlnc3RlbGx1bmdzZ3JhZCBpcmdlbmR3ZWxjaGUgU3ViLVNlaXRlbi4gR2dmLiBzb2xsdGUgbWFuCmFsaWFzIHRmX3Byb21wdCBlbmRfMTEwOAp2aWVsbGVpY2h0IGRvY2ggZWluZmFjaCBpbiBBa3Rpb25pc211cyB2ZXJmYWxsZW4gdW5kIGRpZSBBcmJlaXQgdm9uCmFsaWFzIHRmX3Byb21wdCBlbmRfMTEwOQpSYW5nb3JucyB1bmQgR3VhcmRzIFNjaHVsdGVybiBhdWYgZWluIHBhYXIgbWVociBMZXV0ZSB2ZXJ0ZWlsZW4uIFhIVE1MCmtvZW5uZW4gZG9jaCBkaWUgbWVpc3RlbiB1bmQgQ1NTIGlzdCBhdWNoIG5pY2h0IHNjaHdlci4gTWFoYXJldCBoYXQgZXMgei5iLgptaXQgSGVhZCBGaXJzdCBIVE1MIHNjaG5lbGwgZ2VsZXJudC4gSWNoIHd1ZXJkZSBtaWNoIGF1Y2ggYmVyZWl0ZXJrbGFlcmVuCmVpbiBwYWFyIFNlaXRlbiB6dSBtYWNoZW4uCldlbm4gc2ljaCBzb25zdCBrZWluZSBiZXJ1ZmVuIGZ1ZWhsdCwgd3VlcmRlIGljaCB2b3JzY2hsYWdlbiwgZGFzcyB3aXIgZGllCklkZWVuLCBkaWUgd2lyIHNvIGhhYmVuLCBhdWNoIHVua29vcmRpbmllcnQgdW5kIGVpbmZhY2ggc28gZHJhdWZsb3MKYXVzcHJvYmllcmVuLiBEYW5uIHNjaGF1ZW4gd2lyIHdhcyBwYXNzaWVydCB1bmQga29lbm5lbiBzaWUgaW1tZXIgbm9jaAp0b3RkaXNrdXRpZXJlbi4gQWxzbyB3ZXJkZSBpY2ggaW4gbmFlY2hzdGVyIFplaXQgKGF1Y2ggYXVmIGVpZ2VuZSBLb3N0ZW4pCm1hbCBlaW4gcGFhciBTYWNoZW4gYW53ZXJmZW4gdW5kIGRhbm4gc2NoYXVlbiwgd2lldmllbCBFcmZvbGcgZGllc2UgaGFiZW4uCgpHcnVzcyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTE1NTI6IEhhY2guLi4gbnUgaXMgd2FzIGRyaW4sIGlubmVyIE1QQS4gKFpvb2ssIDMxLiBNYXIgMjAwNiwgMTA6MjI6MTcpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQzNzkzMjU3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD05ODIzMjgyNzgKbmV1ZSBtZy1zZWl0ZW4gYW5zY2hsaWVzc2VuIGZpbmRlIGljaCBuZW4gZ3V0ZW4gcGxhbi4gem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExMTU1MjogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoTWVzaXJpaSwgMzEuIE1hciAyMDA2LCAxMDoyMjoyNSk6Cn4jISBybj1NZXNpcmlpIHJ0PTExNDM3OTMyNTcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTk4MjMyODI3OApEaWUgYWxpYXMgdGZfcHJvbXB0ICogc2luZCBpbiBiZXN0ZXIgRmFtaWxpZW50cmFkaXRpb24sIGFsc28gYmVoYWx0ZW4uCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoS2VsbHlidW5keSwgMzEuIE1hciAyMDA2LCAxNzo0NDo1OCk6Cn4jISBybj1Mb3JkIHJ0PTExNDI5MzU0MTkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKQWxzbyBpY2ggYmluIF9EQVVFUkhBRlQgY2ljZXJvbmUgdW5kIGhhYmUgYmlzaGVyIG51ciBhbGEgZm9sZ2VuZGVzIGVybGVidDoKCiROT09CIHRlaWx0IERpciBtaXQ6IEhpbGYgbWlyIQo+dG0gJE5PT0IgamE/IHdvIGhha3RzPwpLZWluIHNvbGNoZXIgU3BpZWxlciEKClVuZCBpY2ggYmluIHNlbGJzdCB3ZW5uIGljaCBpZGxlIHppZW1saWNoIGluc3RhbnRhbiBhbnNwcmVjaGJhciB1bmQgcmVhZ2llcmUuCkljaCB3ZWlzcyBuaWNodCB3YXMgbWFuIGRhIG5vY2ggbWFjaGVuIHNvbGw/IT8hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE1lc2lyaWksICAxLiBBcHIgMjAwNiwgMDI6MTk6MzQpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTQzODE5ODk4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkljaCBoYWIgbWFsIGRlbiBlcnN0ZW4gV3VyZiBkZXIgRWJheS1BdWt0aW9ucyBTZWl0ZSBkYW5rIFJhbmdvcm5zIEVybGF1Ym5pcwpub2NoIGh1ZWJzY2ggZ2VtYWNodCB1bmQgdW50ZXIgaHR0cDovL3d3dy5tZXNpcmlpLmRlL2ViYXkuaHRtbCB6dW0gQW5ndWNrZW4KaGluZ2VzdGVsbHQuIE5laW4sIGljaCB3ZXJkZSBkYW1pdCBuaWNodCBld2lnIHdhcnRlbi4gSWNoIGJpbiBBa3Rpb25pc3QuCklkZWVuLCBWb3JzY2hsYWVnZSBoaWVyaGluLCBpbnMgV2lraSBvZGVyIHBlciBtYWlsIGFuIG1pY2guClZpZWxlbiBEYW5rCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWVzaXJpaSwgIDEuIEFwciAyMDA2LCAxMjo0NzoyOCk6Cn4jISBybj1NZXNpcmlpIHJ0PTExNDM4NTA3NzQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKd2VpdGVyIGltIFRleHQsIHVtIG1laW5lbiBBa3Rpb25pc211cyBuaWNodCBlaW5zY2hsYWZlbiB6dSBsYXNzZW4sIGhhYmUgaWNoCmhldXRlIE5hY2h0IG1hbCBpbiB6d2VpIGtvc3Rlbmxvc2VuIERyZXNkbmVyIEtsZWluYW56ZWlnZW50ZWlsZW4gZWluZSBBbnplaWdlCmZ1ZXIgZGFzIE1HIGVpbmdzdGVsbHQuCldlbm4gaWhyIGluIEV1cmVyIFN0YWR0IGF1Y2ggc293YXMga2VubnQsIGtvZW5udCBpaHIgZGFzIGphIGF1Y2ggbWFsIG1hY2hlbiwKa29zdGV0IEV1Y2ggbnVyIDMtNSBNaW51dGVuIHVuZCB3ZXIgd2Vpc3MgOikKaHR0cDovL3d3dy5jeWJlcnNheC5kZS9uZXdzaXRlL3BsYXphL2RldGFpbC5waHA/aWQ9NzkzOTgKTWVzaSwgQWt0aW9uc3p3ZXJnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKFdhcmdvbiwgIDEuIEFwciAyMDA2LCAxNToyOToyMSk6Cn4jISBybj1NZXNpcmlpIHJ0PTExNDM4ODg0NDggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKQWxzbyBkYW1hbHMsIGluIGRlciBHdXRlbiBBbHRlbiBaZWl0KFRNKSwgYWxzIGRhcyBNRyBub2NoIGF1ZiBwYXNjYWwgbGllZiwgaGF0CnNjaG9uIGRhcyBSZWNoZW56ZW50cnVtIGRlciBVbmkgTXVlbnN0ZXIgV2VyYnVuZyBnZW1hY2h0LCBpbmRlbSBmb2xnZW5kZXIKSGlud2VpcyBpbiBkZW4gUmVjaG5lcnJhZXVtZW4gYW5nZWJyYWNodCB3dXJkZSAodW5nZWZhZWhyZXIgV29ydGxhdXQpOgoKICAiRGFzIFNwaWVsZW4gdm9uIE1VRHMgKHRlbG5ldCBwYXNjYWwgNDcxMSkgaXN0IHVudGVyc2FndC4iCgpXYWVyZSB2aWVsbGVpY2h0IG1hbCB3aWVkZXIgbmVuIFZlcnN1Y2ggd2VydC4uLiA7LSkKCiAgLVdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNZXNpcmlpLCAgMS4gQXByIDIwMDYsIDIxOjI1OjAwKToKfiMhIHJuPVdhcmdvbiBydD0xMTQzODk4MTYxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2ClNvLCBudW4gaXN0IHdhcyBkcmluIGltIGViYXksIHdlciBndWNrZW4gbWFnOgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTg3OTAyNDQzNzEKCk1lc2ksIFZlcmthZXVmZXJ6d2VyZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChEYXJrbG9yLCAgMS4gQXByIDIwMDYsIDIxOjQ4OjE1KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE0MzkxOTUwMCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5Ngp3aXR6aWcuLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWlyaWwsICAzLiBBcHIgMjAwNiwgMjA6MDE6MjUpOgp+IyEgcm49RGFya2xvciBydD0xMTQzOTIwODk1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Ckh1cHMsIGRhIGdpYnRzIGphIHNjaG9uIDIgR2Vib3RlIGRyYXVmLiBTb3dhcyA6KQoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoRGFya2xvciwgIDMuIEFwciAyMDA2LCAyMDowMzozMyk6Cn4jISBybj1NaXJpbCBydD0xMTQ0MDg3Mjg1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkVyc3RhdW5saWNoLi4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKFRhcmFuaXMsICAzLiBBcHIgMjAwNiwgMjA6MDk6MzcpOgp+IyEgcm49RGFya2xvciBydD0xMTQ0MDg3NDEzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2Ck5hLCB3aWVzbz8gUGVyc29lbmxpY2hlIEVpbmZ1ZWhydW5nIHVuZCBzcGV6aWVsbGUgQXVzcnVlc3R1bmcga29zdGV0IGJlaSBXT1cKdmVybXV0bGljaCBtZWhyLCB3ZW5uIER1IGVzIGthdWZzdC4gOy0pCk5hamEsIG5lbiBMZXZlbC02MC1DaGFyIG1pdCBBdXNydWVzdHVuZyBhdXMgV29XIGtvc3RldCA2MCBFdXJvIG9kZXIgc293YXMsCmdsYXViIGljaD8KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTWlyaWwsICA1LiBBcHIgMjAwNiwgMDA6MDc6MDgpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQzOTE5NTAwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CldvdywgRGVpbmUgQ2hhbmNlbiBzdGVoZW4gc2Nob24gYmVpIGVpbmVtIEdld2lubiB2b24gMiBFdXJvbmVuIDspLiBIYWIgaWNoCnNjaG9uIGdlc2FndCwgZGFzcyBpY2ggZGllIElkZWUgdG90YWwgd2l0emlnIGZpbmQ/CgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFdlcmJ1bmcgZnVlcnMgTXVkLCB3aWUgZGVubiBudW4/IChNZXNpcmlpLCAgNS4gQXByIDIwMDYsIDAwOjIzOjI4KToKfiMhIHJuPU1pcmlsIHJ0PTExNDQxODg0Mjggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKWnVyIFplaXQgbm9jaCBiZWkgZWluZW0gVmVybHVzdCB2b24gMTUgRVVSIDopIEFiZXIgZXMgZ2VodCBqYSBlaGVyIHVtIGRpZSAzMDArClBhZ2VIaXRzIDopCk1lc2ksIEF1a3Rpb25zendlcmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoTW9udGFudXMsICA1LiBBcHIgMjAwNiwgMTE6Mjg6NDMpOgp+IyEgcm49TWVzaXJpaSBydD0xMTQ0MTg5NDA4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CldpZXNvIFZlcmx1c3Qgdm9uIDE1IEV1cm8/IFdhciBkYXMgRWluc3RlbGxlbiBkZXIgU2VpdGUgc28gdGV1ZXI/ClVuZCB2aWVsbGVpY2h0IHdhciBlcyBuZXR0IGdlbWVpbnQsIGFiZXIgd2VubiBoaWVyIGV4aXN0ZW50ZSBNdWRkZXIgbWl0YmlldGVuLApudXIgdW0gc2ljaCB2b24gTWVzaXJpaSBlaW5mdWVocmVuIHp1IGxhc3NlbiwgZGFubi4uLiBvZWhtLi4uIGtyaWVndCBpaHIKZGFkdXJjaCBhdWNoIGtlaW5lIG5ldWVuIFNwaWVsZXIuClZpZWxsZWljaHQgc29sbHRlc3QgZHUgZXMgYWxzICJTb2ZvcnQga2F1ZmVuLCAxMDAgbWFsIHZvcmhhbmRlbiIgYW5iaWV0ZW4uCkZDdWVyIG5lbiBGZXN0cHJlaXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE15c3RpeG8sICA1LiBBcHIgMjAwNiwgMTE6MzQ6NDYpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE0NDIyOTMyMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE0MjExOTU5NgpNb2luc2VuLAp3YXMgaWNoIGJlaSBkZW0gRWJheWFuZ2Vib3QgbmljaHQgc2VoZSBpc3QgV09SQVVGIGljaCBiaWV0ZS4uLiBHZWhvZXJ0IG1pciBhbHMKaG9lY2hzdGJpZXRlbmRlciBkYXMgTUcgaW5rbC4gU2VydmVyPyBXZW5uIG5pY2h0IHdhcyBrYXVmIGljaCBkYT8gRXR3YXMgd2FzIGVzCnVtc29uc3QgZ2lidD8gV2VubiBqYSwgaXN0IGRhcyBuaWNodCBpcmdlbmR3aWUgc2l0dGVud2llZHJpZz8gSWNoIHdlaXMgZXMKbmljaHQuLi4KTWZHCk15c3RpeG8KKysKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBXZXJidW5nIGZ1ZXJzIE11ZCwgd2llIGRlbm4gbnVuPyAoVGFyYW5pcywgIDUuIEFwciAyMDA2LCAxMTozNToxMCk6Cn4jISBybj1NeXN0aXhvIHJ0PTExNDQyMjk2ODYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNDIxMTk1OTYKU3RlaHQgdW50ZW4gaW0gbGV0enRlbiBBYnNjaG5pdHQuCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogV2VyYnVuZyBmdWVycyBNdWQsIHdpZSBkZW5uIG51bj8gKE1haGFyZXQsICA1LiBBcHIgMjAwNiwgMTE6Mzg6MTYpOgp+IyEgcm49VGFyYW5pcyBydD0xMTQ0MjI5NzEwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTQyMTE5NTk2CkFiZXIgYW5kZXJlbiBkYXMgQW5mYWVuZ2VyYnVjaCB6dW0gbGVzZW4gdm9yIGRpZSBOYXNlIGhhbHRlbiAuLi4gOykKClNDTlIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlaXRyYWVnZSAyMDA2IChNYWhhcmV0LCAgMy4gSnVuIDIwMDYsIDEwOjA2OjE0KToKSGFsbG8gYWxsZXJzZWl0cywKCmVzIHd1cmRlIHNjaG9uIG9mdCBhbmdla3VlbmRpZ3QsIHdhciBhYmVyIGJpc2hlciBub2NoIG5pY2h0IGVpbmdldHJldGVuLiAKSmV0enQgc29sbCBlcyB3YWhyIHdlcmRlbiwgZGVubiBkZXIgVGVzdCB3YXIgZXJmb2xncmVpY2g6ICBJY2ggd2VyZGUgYWIKUGZpbmdzdG1vbnRhZyBkaWUgQmVpdHJhZWdlIChlcnN0bWFsIG51cikgZnVlciAyMDA2IGVpbnppZWhlbi4gIERhIGljaAp6dW5hZWNoc3QgbnVyIGRhcyBUQU4tVmVyZmFocmVuIG51dHplbiBrYW5uLCB3aXJkIGVzIHNpY2ggZWluZSBXZWlsZQpoaW56aWVoZW4sIGJpcyBpY2ggRXVjaCBhbGxlIGR1cmNoIGhhYmUuICBBbHNvIGJpdHRlIG5pY2h0IHVuZ2VkdWxkaWcgd2VyZGVuLiAKT2Rlciwgd2VyIGVzIG5pY2h0IGVyd2FydGVuIGthbm4sIGRhcmYgYXVjaCBzZWxic3QgdWViZXJ3ZWlzZW4sIGFiZXIgZGFubiBzYWd0Cm1pciBiaXR0ZSBiZXNjaGVpZCwgZGFtaXQgSWhyIG5pY2h0IGRvcHBlbHQgemFobHQgOykKCkZ1ZXIgZGllIFNlbGJzdHVlYmVyd2Vpc2VyIG5vY2htYWwgZGllIEtvbnRvZGF0ZW46CgpLb250b25yLiAwMjk2ODg5CkJMWiA0MDA3MDAyNCAoRGV1dHNjaGUgQmFuayBNdWVuc3RlcikKS29udG9pbmhhYmVyOiAgRm9lcmRlcnZlcmVpbiBQcm9qZWt0IE1vcmdlbkdyYXVlbiBlLlYuCgpGdWVyIGRpZWplbmlnZW4gbWl0IG5pY2h0LWRldXRzY2hlbSBLb250byB3ZXJkZSBpY2ggZWluZW4gUGF5cGFsLUFjY291bnQgZnVlcgpkaWVzZXMgS29udG8gZWlucmljaHRlbiwgc28gZGFzcyBJaHIgZGFubiBkZW4gQmVpdHJhZyBhdWNoIGdlYnVlaHJlbmZyZWkKInVlYmVyd2Vpc2VuIiBrb2VubnQuICBJY2ggaGFldHRlIGRhcyBzY2hvbiBnZXRhbiwgYWJlciBQYXlwYWwgaGF0IGRhIG9mZmVuYmFyCmdlcmFkZSBpcmdlbmR3ZWxjaGUgUHJvYmxlbWUuICBJY2ggbWVsZGUgbWljaCwgc29iYWxkIGRhcyBnZWtsYXBwdCBoYXQuCgpBbGxlIE5pY2h0LWVpbnppZWhlbi1sYXNzZW5kZW4gYml0dGUgaWNoLCBkZW4gQmV0cmFnIHZvbiAxMiBFdXJvIGJpcyAxNS4gSnVsaQp6dSB1ZWJlcndlaXNlbiBiencgZGFubiBhdWYgZGFzIFBheXBhbC1Lb250byB6dSB1ZWJlcnRyYWdlbi4KCkF1ZiBMb3MgZ2VodCdzIGxvcywKCk1haGFyZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBheXBhbC1BY2NvdW50IChNYWhhcmV0LCAgMy4gSnVuIDIwMDYsIDE4OjU3OjA3KToKRGVyIFBheXBhbC1BY2NvdW50IGJlc3RlaHQgamV0enQuICBEaWUgZGF6dWdlaG9lcmlnZSBlLW1haWwtQWRyZXNzZSBsYXV0ZXQ6CgpwYXlwYWx2ZXJlaW5AbW9yZ2VuZ3JhdWVuLmluZm8KCkV1cmVuIEJlaXRyYWdzemFobHVuZ2VuIHN0ZWh0IGFsc28gbmljaHRzIG1laHIgaW0gV2VnZSA6KQoKbW9yZ2VuZ3JhZXVsaWNoZSBHcnVlc3NlLApNYWhhcmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJlaW5zcG9saXRpayAoTGlhcmEsICAxLiBKdWwgMjAwNiwgMDA6NDM6MTIpOgpJY2ggc2NocmVpYmUgZGllc2VuIEFydGlrZWwsIHdlaWwgZXMgbWljaCB0cmF1cmlnIHVuZCB3dWV0ZW5kIG1hY2h0LCB3aWUgaGllcgptaXQgbWlyIGFscyBWZXJlaW5zbWl0Z2xpZWQgdW1nZWdhbmdlbiB3aXJkLgoKSWNoIGhhYmUgaW0gT2t0b2JlciAyMDA1IGFuIGRlbiBWZXJlaW4gZ2VtYWlsdCwgZGEgaWNoIGxlaWRlciBrZWluIE1pdGdsaWVkCm1laHIgc2VpbiBrYW5uLiBJY2ggaGF0dGUgaW4gbWVpbmVyIE1haWwgdW0gZWluZSBCZXN0YWV0aWd1bmcgZGVzIFZvcmdhbmdzCmdlYmV0ZW4uCgpEaWUgQW50d29ydCBhdWYgZGllc2UgTWFpbCBiZWtvbW1lIGljaCBpbSBKdW5pIGRpZXNlcyBKYWhyZXMuCgpBbHMgaWNoIGluIGRpZXNlbSBadXNhbW1lbmhhbmcgaW4gZWluZW0gR2VzcHJhZWNoIGRhcmF1ZiBoaW5nZXdpZXNlbiBoYWJlLCB3aWUKZGFzIHplaXRsaWNoIGFiZ2VsYXVmZW4gaXN0LCB3dXJkZSBpY2ggbGVkaWdsaWNoIGJlbGVpZGlndCBhbmdlcGFtcHQsIGluZGVtCm1pciB1bnRlcnN0ZWxsdCB3dXJkZSwgZGFzcyBpY2ggZGllIFZlcmVpbnNwb3N0ZW50cmFlZ2VyIGZ1ZXIgJ2ZhdWxlIFNhZWNrZScKaGFsdGVuIHd1ZXJkZS4KCkljaCBmaW5kZSBlaW5lbiBaZWl0cmF1bSB2b24gOCBNb25hdGVuIGZ1ZXIgZWluIGt1cnplcyAnRGVpbmUgTWFpbCBpc3QKYW5nZWtvbW1lbi4gV2lyIHJlZ2VsbiBkYXMgLi4uJyBhbGxlcmRpbmdzIG5pY2h0IGFuZ2VtZXNzZW4uIFdlbGNoZSBHcnVlbmRlIGVzCmhhdCwgZGFzcyBlcyBkaWVzZSBsYW5nZSBaZWl0IGRhdWVydCwgYmlzIGplbWFuZCAyIFNhZXR6ZSBhbiBtaWNoIG1haWx0LCB3ZWlzcwppY2ggbmljaHQuIEljaCBoYXR0ZSBkYW1pdCBhdWNoIGtlaW4gUHJvYmxlbSwgYmlzIG1pciBkaWVzZSBVbnRlcnN0ZWxsdW5nIGluCmRlbiBNdW5kIGdlbGVndCB3dXJkZS4KCkZ1ZXIgbWljaCB3YXIgdW5kIGlzdCBlcyBlaW5mYWNoIHdpY2h0aWcsIHp1IHdpc3Nlbiwgb2IgZGVyIFZvcmdhbmcgZXJsZWRpZ3QKd3VyZGUgdW5kIGF1Y2gsIG9iIHpCIG5vY2ggQmVpdHJhZWdlIGZhZWxsaWcgZ2V3ZXNlbiB3YWVyZW4uIE1laW5lCnBlcnNvZW5saWNoZSBTaXR1YXRpb24gbWFjaHQgbWljaCBvZnQgaGlsZmxvcywgd2VpbCBpY2ggbmljaHQgd2Vpc3MsCm9iIGljaCBkaWUgRGluZ2UgcmljaHRpZyBpbiBkaWUgSGFuZCBuZWhtZSB1bmQgekIgRnJpc3RlbiByaWNodGlnIGVpbmhhbHRlLiBEYQppc3QgZXMgZWluZmFjaCBlaW5lIEVybGVpY2h0ZXJ1bmcsIHp1IHdpc3Nlbiwgd29yYW4gbWFuIGlzdC4gVW5kIDggTW9uYXRlIHNpbmQKZWluZSBsYW5nZSBaZWl0LiBJY2ggZnVlaGxlIG1pY2ggbWl0IHNvbGNoZW4gU2FjaGVuIG9mdCB1ZWJlcmZvcmRlcnQgdW5kCnVuc2ljaGVyIHVuZCBkZXNoYWxiIGJpbiBpY2ggYXVmIEtvbW11bmlrYXRpb24gYW5nZXdpZXNlbi4KCkljaCBmaW5kZSBlcyB0cmF1cmlnLCBkYXNzIG1hbiBzb3dhcyBoaWVyIG5pY2h0IGFuc3ByZWNoZW4ga2Fubiwgb2huZSBkYXNzCmdsZWljaCBpcmdlbmR3ZWxjaGUgRmVpbmRzZWxpZ2tlaXRlbiBlbnRzdGVoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyZWluc3BvbGl0aWsgKE1haGFyZXQsICAxLiBKdWwgMjAwNiwgMDc6NTc6MDgpOgp+IyEgcm49TGlhcmEgcnQ9MTE1MTcwNzM5MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1MTcwNzM5MgpJY2ggaGFiIGhpZXIgb2Z0IFBvc2l0aW9uIGZ1ZXIgZGljaCBlcmdyaWZmZW4uIFVuZCBkYW5uIGhhc3QgZHUgb2ZmZW5iYXIgbmljaHQKbWFsIGdlbWVya3QsIGRhc3MgZHUgbWljaCBpbiBlaW5lbSBkZWluZXIgQXJ0aWtlbCBwZXJzb2VubGljaCBhbmdlZ3JpZmZlbiB1bmQKZnVlciBpbmtvbXBldGVudCBlcmtsYWVydCBoYXN0LiAgVmllbGxlaWNodCBzb2xsdGVzdCBkdSB1ZWJlciBkZWluIGVpZ2VuZXMKQXVmdHJldGVuIG1hbCBuYWNoZGVua2VuLCB3ZW5uIGR1IHNvIG9mdCBhdWYgdm9uIGRpciBnZWtyYWVua3RlIExldXRlIHN0b2Vzc3QuCktsYXIga2FubiBlcyBzZWluLCBkYXNzIHdpciBhbGxlIElkaW90ZW4gc2luZC4gIEFiZXIgZGFubiBzb2xsdGVzdCBkdQp2aWVsbGVpY2h0IGlkaW90ZW5mcmV1bmRsaWNoZXIgYXVmdHJldGVuLiAgU29uc3QgdmVyZ3JhdWxzdCBkdSBub2NoIGRlbgpsZXR6dGVuLCBkZXIgZGljaCBtYWwgIkZyZXVuZCIgbmFubnRlLiAgVm9yIGFsbGVtLCB3ZW5uIGR1IHBlcnNvZW5saWNoZQpBdXNlaW5hbmRlcnNldHp1bmdlbiBzb2ZvcnQgaW4gZGllIE9lZmZlbnRsaWNoa2VpdCB0cmFnZW4gbXVzc3QgdW5kIGRhbWl0IGVpbmUKVmVyc29laHVuZyB1bSBzbyBzY2h3aWVyaWdlciBtYWNoc3QuCgpEdSBzb2xsdGVzdCB2aWVsbGVpY2h0IG1hbCBkYXJhbiBkZW5rZW4sIGRhc3MgZGllIGFuZGVyZW4gYXVjaCBNZW5zY2hlbiBzaW5kLiAKRGllIGF1Y2ggZWluIExlYmVuIHp1IGxlYmVuIGhhYmVuLCBkaWUgYXVjaCBQcm9ibGVtZSB6dSBiZXdhZWx0aWdlbiBoYWJlbiwgZGllCmVpbmZhY2ggYXVjaCBtYWwgYW5kZXJlIERpbmdlIHp1IHR1biBoYWJlbi4gIAoKVW5kIHVudGVyc2NoYWV0emUgbWFsIGJpdHRlIG5pY2h0IGRpZSBBcmJlaXQgdW5kIGRlbiBBZXJnZXIsIGRlbiB3aXIgZWggc2Nob24KaW0gVm9yc3RhbmQgaGFiZW4uIEljaCBnZWJlIGdlcm4gZGVuIFBvc3RlbiBhbHMgS2Fzc2Vud2FydCBmcmVpLCBkYW5uIGthbm5zdApkdSBtaXIgemVpZ2VuLCB3aWUgbWFuIGRhcyBvcmRlbnRsaWNoIG1hY2h0LiAgCgpNYWhhcmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZlcmVpbnNwb2xpdGlrIChMaWFyYSwgMTcuIEp1bCAyMDA2LCAwMjoxOTo0OCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTE3MzM0Mjggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTE3MDczOTIKR2VodCBlcyBkaXIgamV0enQgYmVzc2VyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvdG9rb2xsIDIwMDYgKEd1YXJkLCAxMy4gQXVnIDIwMDYsIDE4OjM2OjQ5KToKbW9pbiwKCkF1ZiBkZW4gVmVyZWluc3NlaXRlbiBpc3QgamV0enQgZGFzIFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIDIwMDYKenUgZmluZGVuLiBEZXN3ZWl0ZXJlbiBoYWIgaWNoIGVpbmlnZSBEYXRlbiBha3R1YWxpc2llcnQuIEF1ZiBkZW0gUGxhbiBzdGVodApub2NoIGRpZSBFcm5ldWVydW5nIGRlciBQREZzLCBkYSBzdGltbXQgZGllIEFkcmVzc2UgZGVzIFZlcmVpbnMgbm9jaCBuaWNodC4KYWJlciBkYXp1IG11c3MgaWNoIGF1ZiBhcmJlaXQgc2VpbiAuLSkpLiAKCkdydXNzCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmx1Z2JsYWV0dGVyIChIdW1uaSwgMTcuIEF1ZyAyMDA2LCAyMDoyMTo0NSk6Ckh1aHUsCgpmdWVyIGRlbiBtb3JnZW4gYmVnaW5uZW5kZW4gUmF0Q29uIGhhYiBpY2ggbWFsIEZsdWdpcyBnZW1hY2h0LiBTaW5kIGVjaHQKbmljaHRzIGJlc29uZGVyZXMsIG1laW5lIGVyc3RlbiBHZWh2ZXJzdWNoZSBtaXQgc2NyaWJ1cy4gV2VyIHdlbGNoZSBicmF1Y2h0CnVuZCB0YXRzYWVjaGxpY2gga2VpbmUgYmVzc2VyZW4gaGF0OgoKZnRwOi8vbWcubXVkLmRlL0dyYWZpay9XZXJidW5nL2ZsdWdpLnBkZiAoZGFzIGlzdCBlaW5lIGFlbHRlcmUgVmVyc2lvbiwgZGllCnRhdWd0IHZlcm11dGxpY2ggbmljaHQpCmZ0cDovL21nLm11ZC5kZS9HcmFmaWsvV2VyYnVuZy9mbHVnaTIucGRmIChkYXMgaXN0IGRhcyBGbHVnaSwgZGFzIGljaAp2ZXJ0ZWlsZW4gd2VyZGUpCgpFcnNldHp0IG1hbiAucGRmIGR1cmNoIC5zbGEgZXJoYWVsdCBtYW4gVmVyc2lvbmVuLCBkaWUgbWFuIG1pdCBzY3JpYnVzCmJlYXJiZWl0ZW4ga2Fubi4gQml0dGUgZGFubiBhdWNoIGRlbiBWaVNkUCBhZW5kZXJuIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGbHVnYmxhZXR0ZXIgKEh1bW5pLCAyMC4gQXVnIDIwMDYsIDEzOjQyOjUwKToKfiMhIHJuPUh1bW5pIHJ0PTExNTU4Mzg5MDUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTU4Mzg5MDUKLi4uIHVuZCBrYXVtIGdlbWVya3Q6IERpZSBGbHVnaXMgc28gYml0dGUgbmljaHQgdmVyd2VuZGVuLCBkaWUKRWluZnVlaHJ1bmdzc2VpdGUgc3RpbW10IG5pY2h0LCBkYSBmZWhsdCAvaGlsZmUgaW4gZGVyIFVSTC4uLgoKTWlmdC4gTmFqYSwgZWdhbC4gV2VubiBqZW1hbmQgd2lya2xpY2ggc2NoYXVlbiB3aWxsIHdpcmQgZXIgZWggbWcubXVkLmRlCmd1Y2tlbi4gVW5kIGphLCBpY2ggd2FyIGRhIHVuZCBtZWxkZSBWb2xsenVnLCBhbGxlIEZsdWdpcyB3dXJkZW4uLi4gYXVmIGVpbmVuClRpc2NoIGdlbGVndC4KCk9iIGRpZSBqZW1hbmQgbWl0bmltbXQ/IEtlaW5lIEFobnVuZy4uLiBnZXN0ZXJuIGhhdCBpbW1lcmhpbiBzY2hvbiBlaW5lIEZyYXUKZWlucyBnZWxlc2VuLCBkaWUgc2FzcyBhYmVyIGFsbGVpbmUgZGEgZGlyZWt0IHVuZCBtdXNzdGUgaWhyIEtpbmQgZnVldHRlcm4sCnZlcm11dGxpY2ggd2FyIGlociBsYW5nd2VpbGlnIHVuZCBkYSBoYXQgc2llIEZsdWdpcyBnZWxlc2VuLi4uCgpXZW5uIHdpciBpbiBkZW4gZm9sZ2VuZGVuIFRhZ2VuIGFsc28gaHVuZGVydGUgbmV1ZXIgU3BpZWxlciBrcmllZ2VuIHdhciBpY2gKZXMuIDstKSAKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGVpY2hlciAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDEyOjQ4OjQyKToKSGlobywKCnp1ciBaZWl0IGhhYmVuIHdpciBlaW5lIEJlZ3Jlbnp1bmcgZGVzIFNwZWljaGVydmVyYnJhdWNocyBkZXMgTXVkcyBhdWYga25hcHAKNTAwTUIuCkRhbmFjaCB3aXJkIGRlciBHYXJiYWdlQ29sbGVjdG9yIGF1ZmdlcnVmZW4gdW5kIGRlciBjcmFzaHQgZGFzIE11ZC4gCkVzIHN0ZWxsdCBzaWNoIGRpZSBGcmFnZSwgd2FydW0gcGxvZXR6bGljaCBzb3ZpZWwgU3BlaWNoZXIgdmVyYnJhdWNodCB3aXJkIHVuZAp3YXJ1bSBkYXMgaW4gZGVyIDIwMCBUYWdlIFVwdGltZSBrZWluIFByb2JsZW0gd2FyLgpJY2gga2FubiBkYXMgbmljaHQgYmVhbnR3b3J0ZW4uCgpNYW4ga2FubiBudW4gZXJzdGVucyBkaWUgVXJzYWNoZSBzdWNoZW4sIHp3ZWl0ZW5zIGRlbiBHYXJiYWdlQ29sbGVjdG9yCmRlYnVnZ2VuIHVuZCBkcml0dGVucyBkaWUgR3JlbnplIG5hY2ggb2JlbiBzY2hpZWJlbi4KRnVlciBsZXR6dGVyZXMgYnJhdWNoZW4gd2lyIGFsbGVyZGluZ3MgbWVociBwaHlzaWthbGlzY2hlbiBTcGVpY2hlci4KSWNoIHNjaGxhZ2UgbnVuIGFsc28gdm9yIHp1IHBydWVmZW4sIHdlbGNoZXIgU3BlaWNoZXIgaW4gZGVuIFJlY2huZXIgcmVpbmdlaHQKdW5kIHdpZXZpZWwgZGF2b24uCkRhbm4gc2NobGFnZSBpY2ggdm9yIGVudHNwcmVjaGVuZCBTcGVpY2hlciB1bSBkaWUgMi00IEdpZyBhbnp1c2NoYWZmZW4gdW5kCkhhdGUgdW0gRWluYmF1IHp1IGJpdHRlbi4KCkdydXNzCk11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwZWljaGVyIChNYWhhcmV0LCAyMi4gQXVnIDIwMDYsIDEzOjE1OjM0KToKfiMhIHJuPU11YWRpYiBydD0xMTU2MjQzNzIyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU2MjQzNzIyCkRhcyBrb3N0ZXQgZG9jaCBzaWNoZXIga2VpbmUgMTAwMCBFdXJvLCBuZT8gU29sbCBoZWlzc2VuLCB3aXIgYnJhdWNoZW4gZGEKbmljaHQgZXJzdCBuZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgYWJ3YXJ0ZW4/CgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwZWljaGVyIChNdWFkaWIsIDIyLiBBdWcgMjAwNiwgMTM6MTY6NDIpOgp+IyEgcm49TWFoYXJldCBydD0xMTU2MjQ1MzM0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU2MjQzNzIyCmljaCB3ZWlzcyB6d2FyIG5pY2h0LCB3YXMgZGEgZnVlciBzcGVpY2hlciByZWluIG11c3MsIGFiZXIgaWNoIGRlbmtlIG5pY2h0LApkYXNzIGRlciBwcmVpcyAxMDAwIGV1cm8gZXJyZWljaGVuIHdpcmQKd2VyIGhhdCBkZW5uIGRpZSByZWNobmVydW50ZXJsYWdlbiwgYXVzIGRlbmVuIGVyc2ljaHRsaWNoIHdpcmQsIHdhcyBkYSByZWluCmthbm4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGVpY2hlciAoTWFoYXJldCwgMjIuIEF1ZyAyMDA2LCAxMzoxNzowMik6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NjI0NTQwMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1NjI0MzcyMgpEZWxsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3BlaWNoZXIgKE11YWRpYiwgMjIuIEF1ZyAyMDA2LCAxNDowMjowMik6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTYyNDU0MjIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTYyNDM3MjIKZXMgaGFuZGVsdCBzaWNoIHVtIGVpbmVuIERFTEwgUG93ZXJFZGdlIDE3NTAKRGFuayBhbiBIYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTcGVpY2hlciAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDE0OjEyOjE2KToKfiMhIHJuPU11YWRpYiBydD0xMTU2MjQ4MTIyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU2MjQzNzIyCmRhIHdpbGwgMjY2TWh6IEREUiBTRFJBTSByZWluCmJpcyB6dSA4IGdpZwpzb2JhbGQgaWNoIG1laHIgdWViZXIgZGllIGJhZW5rZSB3ZWlzcyBzY2hyZWliIGljaCB3aWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNwZWljaGVyIChNdWFkaWIsIDIyLiBBdWcgMjAwNiwgMTQ6MzM6MjUpOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyNDg3MzYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTYyNDM3MjIKaGF0ZSBzY2hhdXQgYW0gd2UgbWFsIGluIGRlbiByZWNobmVyIHJlaW4sIHdlZ2VuIGRlciBzdGVja3BsYWV0emUKZGEgZGVyIHJlY2huZXIgbmljaHQgYnJhbmRuZXUgaXN0IHVuZCBiaXMgOCBnaWcgYXVmZ2VydWVzdGV0IHdlcmRlbiBrYW5uLCBpc3QKdm9uIDQgc3RlY2twbGFldHplbiBhdXN6dWdlaGVuCmVpbiAyIGdpZyBraXQgbWl0IDIgbW9kdWxlbiwgd2VsY2hlIGZ1ZXIgZGVuIHNlcnZlciB6ZXJ0aWZpemllcnQgc2luZCBrb3N0ZXQKYnR3IDYwMCBldXJvbmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTcGVpY2hlciAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDE0OjU4OjE2KToKfiMhIHJuPU11YWRpYiBydD0xMTU2MjUwMDA1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU2MjQzNzIyCmVpbiBhbHRlcm5hdGl2ZXIgaGFlbmRsZXIgd2lsbCA0MDUgZnVlciAyIGdpZwpsYXV0IGVpbmVtIGJpbGQgYXVmIGViYXkgKHNpYykgc2luZCBkYSBhdWNoIHRhdHNhZWNobGljaCA0IHN0ZWNrcGxhZXR6ZSBkcmluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTcGVpY2hlciAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDE1OjE1OjI1KToKfiMhIHJuPU11YWRpYiBydD0xMTU2MjUxNDk2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU2MjQzNzIyCnp1bSB0aGVtYSBzcGVpY2hlciB1bmQgcGxhZXR6ZQpodHRwOi8vd3d3LmVjLmtpbmdzdG9uLmNvbS9lY29tL2NvbmZpZ3VyYXRvci9tb2RlbHNpbmZvLmFzcD9TeXNJRD0xNDczNCZtZnI9RGUKbGwmbW9kZWw9UG93ZXJFZGdlKzE3NTAmU3lzPTE0NzM0LURlbGwtUG93ZXJFZGdlKzE3NTAmZGlzdHJpYnV0b3I9MCZzdWJtaXQxPUZpCm5kZW4KCmRhbmsgYW4gemVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGVpY2hlciAoQXJrLCAyMi4gQXVnIDIwMDYsIDIxOjMzOjMyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1NjI0NTMzNCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1NjI0MzcyMgpTcGVpY2hlcnRlY2hub2xvZ2llIHN0ZWh0IGF1Y2ggbmljaHQgc3RpbGwuIFVuZCBtYW4gemFobHQgZnVlciBFcnNhdHp0ZWlsZQptZWlzdCBzZWhyIHZpZWwgbWVociwgQmV2b3JyYXR1bmcgZXRjLgpLYW5uIHNlaW4sIG11c3MgYWJlciBuaWNodCBzZWluLiBEaWUgU3BlaWNoZXIgdm9tIDE3NTAgZmluZGV0IG1hbiBiZWkgdW5zIGluCmRlbiBSZWNobmVybiBuaWNodCBtZWhyIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNwZWljaGVyIChBcmssIDIyLiBBdWcgMjAwNiwgMjE6MzU6MTMpOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyNTI1MjUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTYyNDM3MjIKRGFubiB2b3JoZXIgbWl0IERlbGwgR2FyYW50aWUga2xhZXJlbiwgZmFsbHMgbm9jaCB3ZWxjaGUgYmVzdGVoZW4gc29sbHRlLCBkaWUKdmVyc2Nod2luZGV0IGV2dGwuLCBzb2xsdGUgS2luZ3N0b24gU3BlaWNoZXIgZWluZ2ViYXV0IHdlcmRlbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogU3BlaWNoZXIgKE1haGFyZXQsIDIyLiBBdWcgMjAwNiwgMjE6NDI6NDUpOgp+IyEgcm49QXJrIHJ0PTExNTYyNzUzMTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTYyNDM3MjIKV2lyIGhhYmVuIGtlaW5lIFJlY2hudW5nLCB3aXIgaGFiZW4gZGVuIFJlY2huZXIgbmljaHQgYmV6YWhsdCAtIGRhIGlzdAp6dW5hZWNoc3QgZXJzdG1hbCBuaWNodHMgbWl0IEdhcmFudGllIDspCgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGVpY2hlcmJlc2NoYWZmdW5nIChFbm5veCwgMjAuIFNlcCAyMDA2LCAwMDoxNTowNSk6CgpOYWNoZGVtIHZvbiBkZW4gVm9yc3RhbmRzaXR6ZW5kZW4gYmlzaGVyIGtlaW5lIFp1c3RpbW11bmcgenVtIEthdWYgZGVzClNwZWljaGVycyB2b3JsaWVndCwgZnJhZ2UgaWNoIG1pY2ggbGFuZ3NhbSB3aXJrbGljaCB3aWUgc2VociBpaG5lbiBkYXMKTVVEIGFtIEhlcnplbiBsaWVndC4gV2VubiBtYW4gc2ljaCBkaWUgYWt0dWVsbGVuIFNwaWVsZXJ6YWhsZW4KYW5zY2hhdXQsIGRhbm4gd2lyZCBlaW5lbSBrbGFyLCBkYXMgc3RhZW5kaWdlIENyYXNocyBzZWhyIG5lZ2F0aXZlCkF1c3dpcmt1bmdlbiBoYWJlbi4gTnVyIG5vY2ggNTAlIGRlciBMZXV0ZSBzaW5kIG9ubGluZSB1bmQgZXMgbWFjaHQKZmFzdCBuaWVtYW5kIG1laHIgd2FzLgoKV2llIG5lbm50IG1hbiBlcyB3ZW5uIGVpbmUgUmVnaWVydW5nIGlociBMYW5kIGluIGRlbiBSdWluIHRyZWlidD86ClBvbGl0aWs/CgpJY2ggbW9lY2h0ZSBzZWhyIGRhcnVtIGJpdHRlbiwgZGVuIGtyaXRpc2NoZW4gWmVpdHJhaG1lbiB6dQpiZWFjaHRlbi4gV2VubiB3aXIgZGllIFNhY2hlIG5vY2ggd2VpdGVyIHZlcnpvZWdlcm4sIGJyYXVjaGVuIHdpciBkZW4KU3BlaWNoZXIgYXVjaCBiYWxkIG5pY2h0IG1laHIga2F1ZmVuLCB3ZWlsIGtlaW5lciBtZWhyIGhpZXIKc3BpZWx0LiBXaXIgc2luZCBuaWNodCBtZWhyIGluIGRlciBnbHVlY2tsaWNoZW4gTGFnZSBkYXNzIHdpciBhdXMKZWluZW0gc3RhZW5kaWcgbmFjaHdhY2hzZW5kZW4gU3Ryb20gdm9uIE5ldXNwaWVsZXJuIHp1IHNjaG9lcGZlbi4KCkRlciBTcGVpY2hlciBtdXNzIGJlc3RlbGx0LCBnZWxpZWZlcnQgdW5kIGVpbmdlYmF1dCB3ZXJkZW4sIGRhcyBrb3N0ZXQKYWxsZXMgWmVpdC4gIEF1c3NlcmRlbSBtaW5kZXN0ZW5zIGVpbmVuIE5ldXN0YXJ0LiBOYXR1ZXJsaWNoIGlzdCB1bnMKYWxsZW4ga2xhciwgZGFzcyBkZXIgRmVobGVyIGdlZnVuZGVuIHVuZCBiZWhvYmVuIHdlcmRlbiBtdXNzLiAgQWJlcgpkZXIgbmV1ZSBTcGVpY2hlciB2ZXJzY2hhZmZ0IHVucyBldHdhcyBaZWl0IHVtIGRpZSBGZWhsZXJzdWNoZQp2b3Jhbnp1dHJlaWJlbiwgb2huZSBkYXNzIHVucyBiaXMgZGFoaW4gYWxsZSBMZXV0ZSB3ZWdzdGVyYmVuLgoKQXVzc2VyZGVtIHdlcmRlbiBiYWxkIGF1cyBUZXN0Z3J1ZW5kZW4gbWluZGVzdGVucyAyIE1VRC1JbnN0YW56ZW4gYXVmCmRlbSBSZWNobmVyIGxhdWZlbiBtdWVzc2VuLiBEYWZ1ZXIgd2lyZCBkZXIgYWt0dWVsbGUgU3BlaWNoZXIgYXVjaApzY2hvbiBldHdhcyBlbmcuCgpJY2ggbW9lY2h0ZSBoaWVybWl0IGRlbiBWb3JzdGFuZCBleHBsaXppdCBhdWZmb3JkZXJuLCBkaWUgZnVlciBkZW4KU3BlaWNoZXJrYXVmIG5vdHdlbmRpZ2VuIE1pdHRlbCB1bnZlcnp1ZWdsaWNoIGZyZWl6dWdlYmVuLiBBbnNvbnN0ZW4KYnJhdWNoZW4gd2lyIGJhbGQga2VpbmVuIFZlcmVpbiB1bmQgZGFtaXQgYXVjaCBrZWluZW4gVm9yc3RhbmQgbWVoci4KCk1lc2lyaWkKCkRpZSBnZWZvcmRlcnRlbiBLVkEgd2VyZGVuIGV0d2FzIGxhbmdlIGJyYXVjaGVuLiBEYWhlciBhbmJlaSBlaW4gcGFhcgpMaW5rcyBtaXQgUHJlaXN1ZWJlcnNpY2h0ZW4uCgpMaXN0ZW4gdm9uIEhhZW5kbGVybjoKUHJlaXNzdWNobWFzY2hpbmU6Cmh0dHA6Ly93d3cyLnByZWlzc3VjaG1hc2NoaW5lLmRlL3BzbTJfZnJvbnRlbmQvbWFpbi5hc3A/c3VjaGU9a3RkLXBlMjY1MCUyRjJHCkhlaXNlLmRlOgpodHRwOi8vd3d3LmhlaXNlLmRlL3ByZWlzdmVyZ2xlaWNoL2EyMTE4MTMuaHRtbAoKQW5nZWJvdCB2b24gQXlvbzogNDExLDg1IGlua2wgTXdTdC4genpnbCBWZXJzYW5kCmh0dHA6Ly93d3cuYXlvby5kZS9kZXRhaWxzLnBocD9BUlQ9MzQyWkgxNyZQSUQ9MTMwMDcKClAuUy4gV2VubiBiaXMgenVtIEZyZWl0YWcga2VpbmUgRW50c2NoZWlkdW5nIGdlZmFsbGVuIGlzdCwgd2VyZGUgaWNoCmRhcyBHZWxkIHZvcnN0cmVja2VuIHVuZCBkZW4gU3BlaWNoZXIgYmVzdGVsbGVuLCBzbyBkYXNzIEhhdGUgc28gYmFsZAp3aWUgbW9lZ2xpY2ggZGVuIFNwZWljaGVyIGVpbmJhdWVuIGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR2xvaW5zb24sIDIwLiBTZXAgMjAwNiwgMDA6MzE6NDIpOgp+IyEgcm49RW5ub3ggcnQ9MTE1ODcwNDEwNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQo+IFBTOiAuLi4gd2VyZGUgdm9yc3RyZWNrZW4gdW5kIGJlc3RlbGxlbiAuLi4KCkZhZWxsdCBtaXIgbnVyIGdlcmFkZSBub2NoIGF1Zi4gRHUgdHJpZmZzdCBhbHNvIGRpZSBFbnRzY2hlaWR1bmcgZnVlciBkZW4KVm9yc3RhbmQgdW5kIGRhbWl0IGJhc3RhLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoS2Vzc2EsIDIwLiBTZXAgMjAwNiwgMDA6MzM6NTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1ODcwNTEwMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpEZXIgTm90c3RhbmQgaXN0IHdvaGwgc2VpdCBoaW5yZWljaGVuZCBsYW5nZXIgWmVpdCBoaW5yZWljaGVuZCBiZWthbm50LiBJY2gKc2VoZSBkYXMgZWhlciBhbHMgZGFzICh6aWVtbGljaCBncm9zc3p1ZWdpZ2UpIEFuZ2Vib3QgenVyIGVyc3RlbiBIaWxmZSB2b24KRW5ub3guCgpHcnVzcywgS2Vzc2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdsb2luc29uLCAyMC4gU2VwIDIwMDYsIDAwOjM1OjMyKToKfiMhIHJuPUtlc3NhIHJ0PTExNTg3MDUyMzYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKRGFubiBoYWJlbiB3aXIgZGllIFZlcmVpbnNzdHJ1a3R1ciBhbHNvIG51ciB6dW0gU2NoZWluLCBrb2VubmVuIHVucyBhdWZsb2VzZW4KdW5kIGRhcyBHZWxkIGF1Y2ggd2llZGVyIGF1ZiBlaW5lbSBwcml2YXRlbiBLb250byBzYW1tZWxuLiBHdXQgZGFzIHp1IHdpc3Nlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChLZXNzYSwgMjAuIFNlcCAyMDA2LCAwMDozOToxNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTU4NzA1MzMyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1CkR1IGhhc3QgaW0gUHJpbnppcCBuYXR1ZXJsaWNoIHJlY2h0LiBOdXIgZGFzcyBlcyBhdWNoIG1hbCBwYXNzaWVyZW4ga2FubiwgZGFzcwphdWNoIFByaW56aXBpZW4genVydWVja3N0ZWhlbiBtdWVzc2VuLCB3ZWlsIGFuZGVyZSBzbm9jaCB3aWNodGlnZXIgaXN0LiBNaXIKc2NoZWludCBkYXMgZ2VyYWRlIHNvIHp1IHNlaW4uIEluIGRpZXNlbSBGYWxsIGJpbiBpY2ggZGFua2JhciBmdWVyIEVubm94JwpJbml0aWF0aXZlLCBiZWkgZGVyIGVyIHNpY2ggbmF0dWVybGljaCB3ZWl0IGF1cyBkZW0gRmVuc3RlciBsZWhudC4gVW1zbwpkYW5rYmFyZXIgZ2VuYXUgZGVzaGFsYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEVsYmVyZXQsIDIwLiBTZXAgMjAwNiwgMDA6NDA6NDEpOgp+IyEgcm49S2Vzc2EgcnQ9MTE1ODcwNTU1NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQptYWwgZ2FueiBkb29mIGdlZnJhZ3QsIHdhcyBwYXNzaWVydCBkZW5uLCB3ZW5uIGRlciB2b3JzdGFuZCBhdXMgaXJnZW5kZWluZW0KZ3J1bmQgZGFubiBkb2NoIGtlaW5lbiBzcGVpY2hlciBrYXVmdD8KCkFsawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoS2Vzc2EsIDIwLiBTZXAgMjAwNiwgMDA6NDE6MDcpOgp+IyEgcm49RWxiZXJldCBydD0xMTU4NzA1NjQxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1CkRhbm4gZ2VodCBlcyBnZW5hdXNvIHdlaXRlciB3aWUgaW4gZGVuIGxldHp0ZW4gV29jaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU3BlaWNoZXJiZXNjaGFmZnVuZyAoRWxiZXJldCwgMjAuIFNlcCAyMDA2LCAwMDo0MTozNyk6Cn4jISBybj1LZXNzYSBydD0xMTU4NzA1NjY3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1CnVuZCBtZXNpIGhhdCBnZWxkIHp1bSBmZW5zdGVyIHJhdXNnZXdvcmZlbj8gV2VyIGVyc2V0enQgaWhtIGRhcyBkYW5uPyAKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdsb2luc29uLCAyMC4gU2VwIDIwMDYsIDAwOjQ0OjM3KToKfiMhIHJuPUtlc3NhIHJ0PTExNTg3MDU2Njcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKV2VubiBtYW4gYmVpIHNvIGVpbmVtIGtsZWluZW4gR2VyYWV0IHdpZSBlaW5lbSBWZXJlaW4gYW5mYWVuZ3QgbWl0IGRlbiBSZWdlbG4KenVydWVja3p1c3RlaGVuLCBkYW5uIHplcmJyaWNodCBkZXIgc2NobmVsbC4gSWNoIHN0ZWxsZSBkaWVzZW4gYmVoYXVwdGV0ZW4KU2NoZXJiZW5oYXVmZW4gbWFsIGdlZ2VuIGRlbiBiZWhhdXB0ZXRlbiBOZXVsaW5nc3NjaGVyYmVuaGF1ZmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEFyaywgMjAuIFNlcCAyMDA2LCAwMDo1Mjo1MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTU4NzA1ODc3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1Ck9rLCBkYW5uIG1hbCBhbmRlcnNydW0uIERlciBWZXJlaW4gZGllbnQgZGVuIE1pdGdsaWVkZXJuIHVuZCBiZXN0ZWh0IHp1bQpsZXR6dGVuZGxpY2ggenVyIEZvZXJkZXJ1bmcgZGVzIE1HLiBJbSBNb21lbnQgaGF0IGRhcyBNRyBtaXQgc2VpbmVyClN0YWJpbGl0YWV0IFByb2JsZW1lLiBEaWUgTWl0Z2xpZWRlciBzaW5kIG1pdCBQcm9ibGVtYmVzZWl0aWd1bmcgYmV0cmF1dCB1bmQKbWFjaGVuIGVpbmVuIFZvcnNjaGxhZywgZGVyIFVudGVyc3R1ZXR6dW5nIGRlciBCZXNlaXRpZ3VuZyB2ZXJzcHJpY2h0LiBWb20KVm9yc3RhbmQga29tbXQgYXVzc2VyIGVpbmVyIGFibGVobmVuZGVuIEhhbHR1bmcgYmVpIG1pciBuaWNodHMgS29uc3RydWt0aXZlcwphbi4gV2FzIHd1ZXJkZXN0IER1IHR1bj8gQWJ3YXJ0ZW4/IE1hbCBndWdnZW4sIHdhcyBzaWNoIHNvIHR1dD8gVHJ1bGxhbGE/Clp1bWluZGVzdCBoYWJlIGljaCBuaWNodCBkYXMgR2VmdWVobCwgZGFzcyBkYSBrb25zdHJ1a3RpdiBtaXRnZWFyYmVpdGV0IHdpcmQsCnNvbmRlcm4gbGFlaG1lbmRlIFBhc3Npdml0YWV0IHZvcmhlcnJzY2h0LiBTY2hlcmJlbmhhdWZlbj8KSWNoIHZlcnN0ZWhlIG5pY2h0LCB3YXJ1bSB3ZWdlbiBlaW5lciAodW5hYmhhZW5naWcgdm9tIGJlc3RlaGVuZGVuIFByb2JsZW0pCm5pY2h0IGFid2VnaWdlbiwgc29uZGVybiBkdXJjaGF1cyBoaWxmcmVpY2hlbiBLbGVpbmludmVzdGl0aW9uIEdlZG9lbnMgZ2VtYWNodAp3aXJkLiBOYWNoaGVyIGhhYmVuIHdpciB3aWVkZXIgInp1dmllbCIgR2VsZCB1bmQgd2llZGVyIGVpbiAiUHJvYmxlbSIuIEljaApiZWZ1ZXJ3b3J0ZSBhbHMgVmVyZWluc21pdGdsaWVkIGF1Y2ggZGllIEJlc2NoYWZmdW5nIGRlcyBTcGVpY2hlcnMgenVyCkF1ZnJlY2h0ZXJoYWx0dW5nIGVpbmVzIGxhZW5nZXJlbiBTcGllbGJldHJpZWJzLCBiaXMgZGFzIFByb2JsZW0gbG9rYWxpc2llcnQKaXN0LiBFcyBnaWJ0IGthdW0gQXBwbGlrYXRpb25lbiwgYmVpIGRlbmVuIG1laHIgU3BlaWNoZXIgc2NoYWVkbGljaCBpc3QuCkluYWt0aXZpdGFldCBpc3QgYXVjaCBuaWNodCB6aWVsZnVlaHJlbmQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoQXJrLCAyMC4gU2VwIDIwMDYsIDAwOjU4OjQxKToKfiMhIHJuPUFyayBydD0xMTU4NzA2MzcxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1Ck5vY2ggZWluIFdvcnQgYXVzIGRlciBQcmF4aXMgLi4uIGF1Y2ggd2VubiBkZXIgVmVyZ2xlaWNoIGhpbmt0LiBXZW5uIG1hbiBoaWVyCnZvbiBlaW5lbSBQcm9kdWt0aW9uc3N5c3RlbSByZWRlbiBrYW5uLCBtaXQgVXNlcm4sIGRpZSBlaW5lIGdld2lzc2VuIFp1Z2FuZwp6dXIgQXBwbGlrYXRpb24gdmVybGFuZ2VuLCBkYW5uIHdpcnN0IER1IGltIFJlYWwgTGlmZSBhdWNoIGtlaW5lIFplaXQgaGFiZW4sCm1pdCBlaW5lbSBlbnRzcHJlY2hlbmRlbiBTTEEgYW0gUHJvZHVrdGlvbnNzeXN0ZW0gVGVzdHMgdW5kIEFuYWx5c2VuIHp1CmZhaHJlbi4gRGEgaGVpc3N0IGVzOiBIYXJkd2FyZSB0YXVzY2hlbiwgZGFubiBBbmFseXNlLCBzb25zdCByYW5kYWxpZXJlbiBlcnN0ClVzZXIsIGRhbm4gVm9yc3RhZW5kZS4gSW5zb2Zlcm4gc2luZCB3aXIgbmljaHQgcHJheGlzZnJlbWQgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEtlc3NhLCAyMC4gU2VwIDIwMDYsIDAwOjU5OjU1KToKfiMhIHJuPUFyayBydD0xMTU4NzA2NzIxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1ClZlcmdsZWljaGUgaGlua2VuIGltbWVyLCBkYXJ1bSBzaW5kIHNpZSBWZXJnbGVpY2hlIHVuZCBuaWNodCBkaWUgU2FjaGUgc2VsYmVyLgpJbSB1ZWJyaWdlbiBmaW5kZSBpY2ggZGFzIGR1cmNoYXVzIHRyZWZmZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKE1haGFyZXQsIDIwLiBTZXAgMjAwNiwgMDg6MzI6MDQpOgp+IyEgcm49S2Vzc2EgcnQ9MTE1ODcwNjc5NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpXZW5uIFNjaGVyYmVuZ2VyaWNodCwgZGFubiBtYWNoIGFiZXIgbWFsIGF1Y2guIFdlbm4gaWNoIGFscyBlaW56aWdlIGhpZXIKcnVtc3RyYW1wbGUsIHdpcmQgZGFzIG51bm1hbCBuaWNodHMuIEljaCBrYW5uIGFsbGVpbiBrZWluZSBFbnRzY2hlaWR1bmcgaW0KTmFtZW4gZGVzIFZvcnN0YW5kcyB0cmVmZmVuIHVuZCB3ZW5uIGRlciBSZXN0dm9yc3RhbmQgc2ljaCBzdHJhZXVidCwgZGFubgptdWVzc2VuIGRpZSBNaXRnbGllZGVyIG1hbCBuYWNodHJldGVuLiBMZWlzZSB2b3Igc2ljaCBoaW5zY2hpbXBmZW4gYmV3aXJrdApsZWlkZXIgbmljaHRzLCBkYXMga3JpZWd0IEFuYXRvbCBuaWNodCBtaXQuIERhenUgaGF0IGVyIHZlcm11dGxpY2ggYXVjaCB6dQpzZWhyIGRlbiBCZXp1ZyB6dW0gTW9yZ2VuR3JhdWVuIHZlcmxvcmVuLgoKZWluZSB6aWVtbGljaCBmcnVzdHJpZXJ0ZSBNYWhhcmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoTWFoYXJldCwgMjAuIFNlcCAyMDA2LCAwODo0NTo0Mik6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTg3MzM5MjQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKRGllIHRlY2huaXNjaGUgTm90d2VuZGlna2VpdCB3aXJkIG5pY2h0IG1laHIgYW5nZXp3ZWlmZWx0LCBkYXp1IGlzdCBkZXIKVm9yc3RhbmQgYXVjaCBnYXIgbmljaHQga29tcGV0ZW50IGdlbnVnLCBkYXMgenUgYmV1cnRlaWxlbi4gIERhcyBpc3QgaGllciBhbHNvCm5pY2h0IGRpZSBGcmFnZSwgR2xvaW5zb24uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKE11YWRpYiwgMjAuIFNlcCAyMDA2LCAwOToxODowMik6Cn4jISBybj1Fbm5veCBydD0xMTU4NzA0MTA1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1Clp3aXNjaGVuIFZvcnN0YW5kIHVuZCBFcnptYWdpZXJuIGJlc3RlaHQgenVyIFplaXQgS29tbXVuaWthdGlvbiB1bmQgZWluZQpvZmZlbmUgQW5mcmFnZS4KSWNoIGJpdHRlIHZvbiBVbHRpbWF0ZW4gQWJzdGFuZCB6dSBuZWhtZW4uCgpHcnVzcwpNdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKE11YWRpYiwgMjAuIFNlcCAyMDA2LCAwOToyMzo1NCk6Cn4jISBybj1BcmsgcnQ9MTE1ODcwNjM3MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpadSBkaWVzZW0gQXJ0aWtlbCB1bmQgbWVpbmVyIEFudHdvcnQgenUgTWVzaXMgUG9zdCwgd2lsbCBpY2ggbWFsIGZvbGdlbmRlcwpTdGF0ZW1lbnQgYWJnZWJlbjoKCkRlciBWZXJlaW4gZGllbnQgenVyIFVudGVyc3R1ZXR6dW5nIGRlcyBNR3MuIERhaGVyIGVyd2FydGUgaWNoLCBkYXNzIGVyIGRpZXNlcgpBdWZnYWJlIGdld2lzc2VuaGFmdCBuYWNoa29tbXQuIEljaCBlcndhcnRlIGFsbGVyZGluZ3Mga2VpbmUgSGV4ZW53ZXJrZSBpbgpIaW5zaWNodCBhdWYgWmVpdC4gCkRpZSBiaXNoZXJpZ2UgS29tbXVuaWthdGlvbiBzY2hlaW50IG1pciBuaWNodCBzbywgYWxzIHdhZXJlbiB3aXIgYmVpIG1hc3NpZwoiR2Vkb2VucyIgYW5nZWxhbmd0LCBzb25kZXJuIGtvZW5udGVuIGhvZmZlbnRsaWNoIGJhbGQgaW4gQWt0aW9uIHRyZXRlbi4KSWNoIHNlaGUgZXMgbmljaHQgZWluLCBkaWUgZWhyZW5hbXRsaWNoZW4gTWl0YXJiZWl0ZXIgdW52ZXJoYWVsdG5pc21hZXNzaWcKdW50ZXIgRHJ1Y2sgc2V0emVuIHp1IHdvbGxlbi4gCkljaCBha3plcHRpZXJlIGRpZXMgYXVjaCBuaWNodCBmdWVyIG1laW5lIFBlcnNvbi4KRGFoZXIgYmluIGljaCBuaWNodCBiZXJlaXQgZWluIGRlcmFydGlnZXMgVm9yZ2VoZW4gZHVyY2ggWnVzdGltbXVuZyBvZGVyCkFyYmVpdCB6dSB1bnRlcnN0dWV0emVuLgoKU29sbHRlIGRlciBWZXJlaW4gYWxsZXJkaW5ncyBkaWVzZXIgQXVmZ2FiZSBuaWNodCBpbiB2ZXJudWVuZnRpZ2VyIFplaXQsIHVuZAp3YXMgdmVybnVlbmZ0aWcgaXN0LCBkYXMgYmV1cnRlaWxlIGljaCBoaWVyIHJlaW4gaW5kaXZpZHVlbGwgZnVlciBtaWNoLApuYWNoa29tbWVuLCBzbyBtdXNzIG1hbiBhdWNoIGhpZXIgdWViZXIgS29uc2VxdWVuemVuIG5hY2hkZW5rZW4uCkZ1ZXIgbWljaCB3dWVyZGUgZGFzIGJlZGV1dGVuOiBBdXN0cml0dCBhdXMgZGVtIFZlcmVpbiB1bmQgZ2dmLiBSZWR1emllcnVuZwpkZXMgcGVyc29lbmxpY2hlbiBFaW5zYXR6ZXMsIHdvIGVyIGJlaGluZGVydCB3aXJkLgpTb3dlaXQgc2luZCB3aXIgaW1obyBhYmVyIG5vY2ggbGFuZ2UgbmljaHQuCgpEYXMgaXN0IG1laW5lIGdhbnogcGVyc29lbmxpY2hlIE1laW51bmcuCgpHcnVzcwpNdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEJvaW5nLCAyMC4gU2VwIDIwMDYsIDA5OjI3OjAyKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTE1ODcwNTY0MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpNZWluZSBLb25zZXF1ZW56IHdhZXJlLCBhdXMgZGVtIFZlcmVpbiBhdXN6dXRyZXRlbiB1bmQgTWVzaXJpaSBkZW4gCmdlc3BhcnRlbiBCZWl0cmFnIHp1IHVlYmVyd2Vpc2VuLiAKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChIdXJheHByYXgsIDIwLiBTZXAgMjAwNiwgMTA6MDM6MTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1ODcwNTEwMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpOdW4gcmVjaHRsaWNoIGlzdCBkaWUgU2l0dWF0aW9uIG1laW5lcyBlcmFjaHRlbnMgc28gZGFzcyBNZXNpcmlpIG5hdHVlcmxpY2gKa2VpbmUgRW50c2NoZWlkdW5nIGZ1ZXIgZGVuIFZlcmVpbiBtYWNoZW4ga2Fubiwgc29uZGVybiBkZW4gU3BlaWNoZXIgc2VsYnN0IGluCnNlaW5lbSBOYW1lbiBrYXVmdCwgZXIga2FubiBudXIgYXVmIGRpZSBWZXJudW5mdCBkZXMgVm9yc3RhbmRzIGhvZmZlbi4gU29sbHRlCmRpZXNlciBkYXMgdGF0c2FlY2hsaWNoIGFibGVobmVuLCB3ZXJkZSBpY2ggbWljaCB3aWUgYW5kZXJlIGF1Y2ggZGFyYW4KYmV0ZWlsaWdlbiwgZGllc2UgS29zdGVuIGF1ZiBtb2VnbGljaHN0IHZpZWxlIFNjaHVsdGVybiB6dSB2ZXJ0ZWlsZW4uCkFsbGVyZGluZ3Mga2FubiBpY2ggZGllIEFibGVobnVuZyBuaWNodCBuYWNodm9sbHppZWhlbi4gCiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKE11YWRpYiwgMjAuIFNlcCAyMDA2LCAxMDoxMjo0Nik6Cn4jISBybj1IdXJheHByYXggcnQ9MTE1ODczOTM5MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQplcyBnaWJ0IGRpZSBhYmxlaG51bmcgbmljaHQKYml0dGUgZGVua3QgYW4gd2FsbGVuc3RlaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEh1cmF4cHJheCwgMjAuIFNlcCAyMDA2LCAxMDoxNjo0OSk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1ODczOTk2NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpndXQsIGRhbm4gaGFiZSBpY2ggZXMgZmFsc2NoIHZlcnN0YW5kZW4sIGljaCBuZWhtZSBkZW4gc2F0eiB6dXJ1ZWNrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3BlaWNoZXJiZXNjaGFmZnVuZyAoTXVhZGliLCAyMC4gU2VwIDIwMDYsIDEwOjMxOjI5KToKfiMhIHJuPU11YWRpYiBydD0xMTU4NzM5OTY2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1CndpZSB6dW0gdGV1ZmVsIGtvbW0gaWNoIGF1ZiB3YWxsZW5zdGVpbj8Kd2l0dGdlbnN0ZWluIHdhciBuYXR1ZXJsaWNoIGdlbWVpbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKENyb2Z0LCAyMC4gU2VwIDIwMDYsIDEwOjMzOjExKToKfiMhIHJuPU11YWRpYiBydD0xMTU4NzQxMDg5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1CktvZW5udGVzdCBkdSBkaWVzZSBSZWZlcmVueiBhdWNoIGRlbiB3ZW5pZ2VyIGFsbGdlbWVpbmdlYmlsZGV0ZW4gTGV1dGVuCm5hZWhlciBicmluZ2VuPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKE11YWRpYiwgMjAuIFNlcCAyMDA2LCAxMDozNDoxNyk6Cn4jISBybj1Dcm9mdCBydD0xMTU4NzQxMTkxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1Cndvdm9uIG1hbiBuaWNodCBzcHJlY2hlbiBrYW5uLCBkYXJ1ZWJlciBtdXNzIG1hbiBzY2h3ZWlnZW4uCgppY2ggYmluIGJlZWluZHJ1Y2t0LCB3aWV2aWVsZSBmYWxzY2hlIGluZm9ybWF0aW9uZW4gdWViZXIgZGVuCmtvbW11bmlrYXRpb25zc3RhbmQgbWl0IGRlbSB2b3JzdGFuZCBoZXJyc2NoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChNdWFkaWIsIDIwLiBTZXAgMjAwNiwgMTA6MzY6NTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1ODc0MTI4NyByZz1zY2htYXJybgp+IyEgdGlkPTExNTg3MDQxMDUKZXMgZ2VodCBqYSBuaWNodCB1bSBmaW5nZXItemVpZ2VyZWllbiBvZGVyIGFlaG5saWNoZXMuCmRhaGVyIG1vZWNodGUgaWNoIGV0d2FzIHdlZyB2b24gZGVyIGltaG8gdWViZXJ0cmllYmVuZW4gd2VsbGUgZGVyIGVtcG9lcnVuZwp1bmQgdWx0aW1hdGVuIGV0YwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU3BlaWNoZXJiZXNjaGFmZnVuZyAoTWFoYXJldCwgMjAuIFNlcCAyMDA2LCAxMjoxMDowNCk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1ODc0MTI1NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpBbHNvIGRlciBTdGFuZCBtZWluZXMgV2lzc2VucywgdW5kIGljaCBiaW4gYXVjaCBWZXJlaW5zbWl0Z2xpZWQsIGVyZ2lidCBzaWNoCmF1cyBlaW5lciBNYWlsIGFuIGRpY2ggKGluIGRlciBpY2ggdWVicmlnZW5zIGVyc3RtYWxpZyBlcmZhaHJlbiBoYWJlLCBkYXNzIGVzCmVpbiBwcmluemlwaWVsbGVzIGdydWVuZXMgTGljaHQgZ2lidCkgbWl0IGRlciBBbm1lcmt1bmcsIGRhc3MgQW5hdG9sIGFiZXIgZGFzCkdlbGQsIGRhcyBkZW0gVm9yc3RhbmQgenVyIGZyZWllbiBWZXJmdWVnYmFya2VpdCBzdGVodCwgZGFmdWVyIG5pY2h0CmhlcmFuemllaGVuIG1vZWNodGUuICBEYXMgd3VlcmRlIGJlZGV1dGVuLCBkYXNzIGVpbmUgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIApub2V0aWcgaXN0LiAgSWNoIHNlaGUgbmljaHQsIGRhc3Mgd2lyIHNvIGxhbmdlIHdhcnRlbiBrb2VubmVuLCBkYSBkaWUKU3BpZWxlcnphaGxlbiBpbiBkZW4gbGV0enRlbiB3ZW5pZ2VuIFdvY2hlbiBzY2hvbiBkcmFzdGlzY2ggZ2VzdW5rZW4gc2luZCB1bmQKZGllIG1laXN0ZW4gQW53ZXNlbmRlbiBudXIgYWJ3YXJ0ZW4sIG9iIHNpY2ggd2FzIGJlc3NlcnQuCgpXZW5uIGVzIGRhIG5vY2ggbWVociBLb21tdW5pa2F0aW9uIGdpYnQsIGRhbm4gbmljaHQgendpc2NoZW4gZGlyIHVuZCBkZW0KVm9yc3RhbmQsIHNvbmRlcm4gZGlyIHVuZCBBbmF0b2wuIFdvdm9uIGRlciBSZXN0dm9yc3RhbmQgbmljaHRzIHdlaXNzICh3aWUKYXVjaCB2b24gZGVtIGdydWVuZW4gTGljaHQgYmlzIGRhaGluIG5pY2h0KSBBYmVyIGRhcyBpc3QgenVnZWdlYmVuZXJtYXNzZW4gZGFzClByb2JsZW0gZGVzIFZvcnN0YW5kZXMgLi4uCgpBYmVyIHdlbm4gZXMgbWVociBJbmZvcm1hdGlvbmVuIGdpYnQgLSB3YXJ1bSBkaWUgR2VoZWltbmlza3JhZW1lcmVpPyBXYXJ1bSBkZW4KTGV1dGVuIG5pY2h0IHNhZ2VuLCB3b3JhbiB3aXIgc2luZD8KClVuZCBsZXR6dGxpY2g6IE1lc2kga2FubiBnYXIga2VpbiBVbHRpbWF0dW0gc3RlbGxlbi4gV2VubiBkZXIgVm9yc3RhbmQgbmVpbgpzYWd0LCBrcmllZ3QgZXIgYWxsZW5mYWxscyBlaW5lIFNwZW5kZW5xdWl0dHVuZyBmdWVyIGRlbiBTcGVpY2hlci4KCk1haGFyZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEFsa29ob2wsIDIwLiBTZXAgMjAwNiwgMTI6MTg6MDQpOgp+IyEgcm49Qm9pbmcgcnQ9MTE1ODczNzIyMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpqYSwgZGFzIHdhZXJlIG1laW5lIEtvbnNlcXVlbnogYXVjaC4gSWNoIHdvbGx0ZSBudXIgc2ljaGVyZ2VoZW4sIGRhc3Mgd2lyIGRhcwp3b2xsZW4uIERlbiBWZXJlaW4gYXVmbG9lc2VuLiBJY2ggZGFjaHRlIG51ciBlaGVyIGFuIGVpbmUgTG9lc3VuZywgd2llIE11YWRpYgpzaWUgdm9yc2NobGFlZ3QuIFNvbGFuZ2UgZGFzIHNvIGdlaHQsIHdhZXJlIGVzIGR1cmNoYXVzIHZpZWwgdmllbCBiZXNzZXIsIGFscwpVbHRpbWF0ZW4gdXN3LgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR3JpbW1ib3JuLCAyMC4gU2VwIDIwMDYsIDEyOjQ4OjU0KToKfiMhIHJuPUFsa29ob2wgcnQ9MTE1ODc0NzQ4NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpIbW0sIHNvIGdhbnogbGV1Y2h0ZXQgbWlyIGltbWVyIG5vY2ggbmljaHQgZWluIHdhcyBkZXIgU3BlaWNoZXIgYnJpbmdlbiBzb2xsCihhYmdlc2VoZW4gdm9uIGRlciBhbGxnZW1laW5lbiBMZWhyZSBkYXNzIG1laHIgU3BlaWNoZXIgaW1tZXIgZ3V0IGlzdCkuIFdhcnVtCmdlbmF1IHNvbGwgZWluIFNwZWljaGVybG9jaCBkdXJjaCBtZWhyIFNwZWljaGVyIGJlaG9iZW4gd2VyZGVuPyAKRGVzIHdlaXRlcmVuOiBXaXJkIGhpZXIgdGF0c2FlY2hsaWNoIGRlcm1hc3NlbiB1ZWJlciB3b2VjaGVudGxpY2hlIGNyYXNocwpnZWphbW1lcnQsIHVuZCBsb2VzdCBkYXMgZWluZSBGbHVjaHQgYXVzIGRlbSBNRyBhdXM/IEF1cyBFcmZhaHJ1bmcgd3VlcmRlIGljaAphbHMgQmVnbGVpdGVyc2NoZWludW5nIGVpbmVyIGVjaHRlbiBGbHVjaHQgZGl2ZXJzZSBBcnRpa2VsIGVyd2FydGVuIGRlciBBcnQKImRhcyBmaW5kZSBpY2ggZ2VtZWluLCBkaWUgRXJ6bWFnaWVyIHNpbmQgZG9vZiB1bmQgc3RpbmtlbiwgaWhyIHNlaHQgbWljaCBuaWUKd2llZGVyISIuIEluc29mZXJuIGJlc2NobGVpY2h0IG1pY2ggZGVyIFZlcmRhY2h0IGRhc3MgZGVyIFNjaHd1bmQgZWhlciBhdXMKTGV1dGVuIGJlc3RlaHQsIGRlcmVuIHJlY29ubmVjdCBrYXB1dHQgaXN0IHVuZCBkaWUgZGFzIG51ciBhbGxlIGRyZWkgV29jaGVuCnVlYmVycHJ1ZWZlbi4gT2RlciBhdXMgTGV1dGVuLCBkZW5lbiBkYXMgenUgZG9vZiBpc3QgYWxsZSAxNSBad2VpdGllcwpkYXVlcmhhZnQgZWluZ2Vsb2dndCB6dSBoYWx0ZW4uIApJbnNvZmVybjogQmFsbCBmbGFjaCBoYWx0ZW4uIE9obmUgZGFzcyBkYXMgZWlnZW50bGljaGUgUHJvYmxlbSBnZWxvZXN0IGlzdAp3aXJkIGF1Y2ggbWVociBTcGVpY2hlciBuaWNodCB6dSBwbG9ldHpsaWNoZW0gV2VsdGZyaWVkZW4gZnVlaHJlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU3BlaWNoZXJiZXNjaGFmZnVuZyAoSmltZGlncml6LCAyMC4gU2VwIDIwMDYsIDE0OjQxOjEzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1ODc0NzAwNCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpNb2luLAoKYWxzIGF1c3NlbnN0ZWhlbmRlciBmYWVsbHQgbWlyIGRhYmVpIGZvbGdlbmRlcyBhdWY6Ci0gSW4gZGVyIFNhdHp1bmcgc3RlaHQgbmljaHRzIGRhdm9uIHVlYmVyIHdlbGNoZSBNaXR0ZWwgZGVyCiAgVm9yc3RhbmQgdmVyZnVlZ2VuIGRhcmYgdW5kIHVlYmVyIHdlbGNoZSBuaWNodC4gSWNoIHZlcm11dGUgYWxzbwogIGVzIGdhYiBtYWwgZWluZW4gVmVyZWlucy0gdW5kIFZvcnN0YW5kc2Jlc2NobHVzcyB1ZWJlciBzbyBlaW5lCiAgQmVzY2hyYWVua3VuZy4KCi0gT2IgZGllIEtvc3RlbiBmdWVyIGRpZSBTcGVpY2hlcmVyd2VpdGVydW5nIHNvIHNpZ25pZmlrYW50IHNpbmQsCiAgZGFzcyBlcyBlaW5lbiBNaXRnbGllZGVyYmVzY2hsdXNzIGJyYXVjaHQsIGthbm4gaWNoIG5pY2h0IGJldXJ0ZWlsZW4uCgotIFdlbm4gZXMgYWJzZWhiYXIgaXN0LCBpc3QgZGFzcyBkZXIgVm9yc3RhbmQgb2VmdGVycyBpbiBTaXR1YXRpb25lbgogIGtvbW10IGluIGRlbmVuIGVpbiBNaXRnbGllZGVydmVyc2FtbWx1bmdzYmVzY2hsdXNzIG5vZXRpZyBpc3QsCiAga29lbm50ZSBzaWNoIGRlciBWZXJlaW4gdWViZXJsZWdlbiBwZXIgU2F0enVuZ3NhZW5kZXJ1bmcgYXVjaCBlaW5lCiAgQXJ0ICJUZWxldm90aW5nIiB6dSBlcmxhdWJlbiAoekIgcGVyIHNpZ25pZXJ0ZXIgZW1haWwsIHdlYnNlaXRlIG1pdAogIHp1dmVybGFlc3NpZ2VyIHVuZCBlaW5kZXV0aWdlciBCZW51dHplcnJlZ2lzdHJpZXJ1bmcsIGV0Yy4pCgpQZXJzb2VubGljaCBlcnNjaGVpbnQgbWlyIHdlZGVyIGRpZSBQZXJpb2RlIGRlciBDcmFzaGVzIG5vY2ggCmRpZSBBdXN3aXJrdW5nZW4gZGl2ZXJzZXIgU29mb3J0bWFzc25haG1lbiAoekIgU3BlaWNoZXJ3ZWl0ZXJ1bmcpCmFscyBzbyBkcmFtYXRpc2NoIHdpZSBzaWUgaGllciBkaXNrdXRpZXJ0IHdlcmRlbi4KCkFiZXIgaWNoIGJpbiBqYSBuaWNodCBtYWwgVmVyZWluc21pdGdsaWVkLCBhbHNvIHdhcyB3ZWlzcyBpY2ggZGVubiBzY2hvbi4gOy0pCgpDaWFvLCBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKE11YWRpYiwgMjAuIFNlcCAyMDA2LCAxNDo0NDozMSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTg3NDcwMDQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKbnUgcmVpY2h0IGVzIG1pciBhYmVyIGVuZGd1ZWx0aWcKaWNoIHNjaHJpZWIgaW4gZGVtIHBvc3RpbmcsIGRhc3MgaWNoIGFsbGUgbWFpbHMgYW4gZGVuIHZvcnN0YW5kc3ZlcnRlaWxlcgpzY2hyZWliZQpkZXIgaGF0IGVpbiBmb3J3YXJkIGRhcyB1bnRlciB2ZXJ3YWx0dW5nIGRlcyB2b3JzdGFuZHMgbGllZ3QKenVzYWV0emxpY2ggc2NocmVpYmUgaWNoIGFuIGFsbGUgZW1zCmljaCBzY2hyZWliZSBpbiBkZXIgdGF0IGtlaW5lIG9mZmVuZW4gbWFpbHMKCnNjaGVpbmJhciB3aWxsc3QgZHUgbWlyIGRhcyBuaWNodCBnbGF1YmVuCgppbnNvZmVybiBiZWVuZGUgaWNoIGhpZXJtaXQgamVnbGljaGUgZ2VoZWltbmlza3JhZW1lcmVpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChBcmssIDIwLiBTZXAgMjAwNiwgMTU6MDU6NTgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTg3NDkzMzQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKTmljaHQgaW1tZXIgdmVyc2Nod2luZGVuIExldXRlIG1pdCBsYXV0ZW0gR2VzY2hyZWkgOi0pIFJlc2lnbmF0aW9uIGlzdCBpbQphbGxnZW1laW5lbiBsZWlzZS4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR3JpbW1ib3JuLCAyMC4gU2VwIDIwMDYsIDE2OjI3OjIyKToKfiMhIHJuPUFyayBydD0xMTU4NzU3NTU4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1CkFoLCBEdSBiaXN0IG5ldSBoaWVyIGltIE1HPyBIZXJ6bGljaCB3aWxsa29tbWVuIQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoSHVyYXhwcmF4LCAyMC4gU2VwIDIwMDYsIDE5OjIyOjU2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTU4NzYyNDQyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1ClN0aW1tdCwgQXJrIG11c3MgbmV1IHNlaW4sIHNvbnN0IHd1ZXJkZSBlciBuaWNodCBnbGF1YmVuIGRhc3MgZXMgaW0gTUcgbm9jaApTcGllbGVyIGdpYnQgZGllIHNwaWVsZW4uIEFsdGUgSGFzZW4gd2lzc2VuIG5hdHVlcmxpY2ggZGFzcyBkYXMgTUcgbnVyIGF1cwpGbGFtZXMgaW4gZGVyIE1QQSBiZXN0ZWh0LiBMZXV0ZSBkaWUgZGFzIE1HIHN0aWxsIHZlcmxhc3NlbiBoYWJlbiBnaWJ0IGVzCm5pY2h0LCBkaWUgU3BpZWxlcmluIG1pdCBkZXIgaWNoIGdlcmFkZSBlcnN0IGdlc3Rlcm4gZ2VzcHJvY2hlbiBoYWJlIGhhdCBqYQpuaWUgaW4gZGVyIE1QQSBnZXNjaHJpZWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChBbmF0b2wsIDIwLiBTZXAgMjAwNiwgMTk6MzI6MzApOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTExNTg3NzI5NzYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKCgpIdWh1PwoKQml0dGUgc2V0enQgZXVjaCB3aWVkZXIgaGluLiBKYS4gRGEsIGF1ZiBkaWUgU3R1ZWhsZS4gVW5kCmxlZ3QgZGllc2UgRGluZ2VyIGRhIHdlZywgZGllIGhhYmVuIHNjaGFyZmUgRW5kZW4sIGlociAKa29lbm50ZXQgZXVjaCBub2NoIHZlcmxldHplbi4gSmEsIG5pY2h0IG51ciBnZWdlbnNlaXRpZy4KU29vb28uLi4uLiBiZXN0ZW5zLCBkYW5rZS4KCgoKU2Nob2VuLCBkYXNzIGlociBub2NoIGRhIHNlaWQuCgpJY2ggbW9lY2h0ZSBuaWNodCBiZWhhdXB0ZW4sIGRlciBWb3JzdGFuZHN2b3JzaXR6ZW5kZSBzZWkgCmltbWVyIGFrdGl2IHVuZCBiZWkgZGVyIFNhY2hlICh1bmQgZGVuIGxldHp0ZW4gUG9zdGluZ3MKbmFjaCB6dSB1cnRlaWxlbiBkYXJmIGljaCBlcnN0bWFsIHRhdHNhZWNobGljaCBudXIgZnVlciAKbWljaCBzcHJlY2hlbikuIFZvbSBmcm9laGxpY2hlbiBQYXVzY2hhbGFuc2NodWxkaWdlbiBiaXR0ZSAKaWNoIGFiZXIgYWxsZSBNZWludW5nc3ZlcnRyZXRlciBnZWZsaXNzZW50bGljaCBBYnN0YW5kIHp1IAp3YWhyZW4uIAoKRXJzdG1hbCB2aWVsZW4gRGFuayBmdWVyIGRpZSBBbmdlYm90ZSwgZGFzIE1vcmdlbmdyYXVlbiBiZWkKSGFyZHdhcmVzb3JnZW4genUgdW50ZXJzdHVldHplbi4gSWNoIGhvZmZlIGFiZXIgc2VociwgZGFzcyAKZGllIFplaXQgZGVyIFNwZW5kZW5hdWZydWZlIHdpcmtsaWNoIHZvcmJlaSBpc3QuIERpZSBhZWx0ZXJlbiAKU2VtZXN0ZXIgbW9lZ2VuIHNpY2ggZGEgbm9jaCBlcmlubmVybi4uLiAgQWJlciBpbSBad2VpZmVsc2ZhbGwgCndpcmQgZGllIE11ZGRlcmdlbWVpbnNjaGFmdCB2ZXJtdXRsaWNoIHNlaHIgZ2VybiBkYXJhdWYgCnp1cnVlY2trb21tZW4uIERlciBWZXJlaW4gbmltbXQgbmF0dWVybGljaCBhdWNoIFNwZW5kZW4KZW50Z2VnZW4sIGlzdCBhYmVyIGFrdHVlbGwgbmljaHQgZGFyYXVmIGFuZ2V3aWVzZW4uCgpOaWNodCBhbGxlIEtvbW11bmlrYXRpb24gZmluZGV0IG1pdHRlbHMgZGVzIE1lZGl1bXMgIm1wYSIgCnN0YXR0LiBOaWNodCB3ZWlsIGljaCAob2RlciBtZWluIEdlc3ByYWVjaHNwYXJ0bmVyKSBldWNoIApiZXd1c3N0IGltIER1bmtlbG4gbGFzc2VuIHdpbGwsIHNvbmRlcm4gd2VpbCBkaWUgTmF0dXIgdm9uCnVubW9kZXJpZXJ0ZW4gRm9yZW4gVGV4dG1lbmdlIHVuZCBBdXRvcmVuIGV4cG9uZW50aWVsbCB3YWNoc2VuIApsYWVzc3QgKHNlaGVuIHdpciBqYSkuIFVuZCBkYXMgZW1wZmluZGUgaWNoIGluIGRpZXNlbSBGYWxsIGVjaHQgCm5pY2h0IGFscyBoaWxmcmVpY2guIEVzIGdpYnQgdW5kIGdhYiBuYXR1ZXJsaWNoIEtvbW11bmlrYXRpb24gCnp3aXNjaGVuIFZvcnN0YW5kIHVuZCBkZW4gTXVkYWRtaW5pc3RyYXRvcmVuLCBhdWNoIHdlbm4gbWFsIAp6d2VpIFRhZ2UgbGFuZyBrZWluICJzdGF0dXMgcXVvIiBpbiBkZXIgTVBBIG5pZWRlcmdlc2NocmllYmVuIAp3aXJkLgoKQWxsZW4gYW5kZXJlbjogRGFua2UgZnVlciBldXJlIEdlZHVsZC4KCgpEaWUgT0ZGSVpJRUxMRSBJbmZvIGpldHp0OiBEZXIgU3BlaWNoZXIgd2lyZCBiZXN0ZWxsdCwgZGVyIFZlcmVpbiAKdHJhZWd0IGRpZSBLb3N0ZW4gKGV0d2FzIHVlYmVyIEVVUiA1MDApLiBXYXJ1bSBkYXMga2VpbmUgCiJqYXdvbGwsIHNvZm9ydCEiLUVudHNjaGVpZHVuZyB3YXIsIGtvZW5uZW4gc2ljaCBhbGwgZGllIApWZXJlaW5zbWl0Z2xpZWRlciwgd2VsY2hlIGFuIGRlbiBsZXR6dGVuIHp3ZWkgb2RlciBkcmVpIApNaXRnbGllZGVydmVyc2FtbWx1bmdlbiB0ZWlsIGdlbm9tbWVuIGhhYmVuLCBzaWNoZXIgZGVua2VuLgoKCkJlaGFsdGV0IGFiZXIgYml0dGUgKCEpIGltIEhpbnRlcmtvcGYsIGRhc3MgZGVyIFNwZWljaGVyIG5pY2h0IApkYXMgSGVpbG1pdHRlbCBkZXIgU2NodWV0dGVsa3JhbmtoZWl0IGlzdCwgc29uZGVybiBkaWUgQW5mYWVsbGUgCm51ciBpbiBkZXIgWmFobCByZWR1emllcnQuIAoKRGFua2UsCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChHcmltbWJvcm4sIDIwLiBTZXAgMjAwNiwgMjA6NDE6MTcpOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTExNTg3NzI5NzYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKRHUgaGFzdCBuaWNodCB2ZXJzdGFuZGVuLiBXZW5uIGF1ZmdydW5kIHZvbiAoZWNodGVuIG9kZXIgdmVybWVpbnRsaWNoZW4pClZlcnNjaGxlY2h0ZXJ1bmdlbiBTcGllbGVyKHBsKSAgYWJ3YW5kZXJuLCBkYW5uIGdpYnRzIGltbWVyIGF1Y2ggR2VzY2hyZWkuClNpY2hlciBnZWh0IGRlciBlaW5lIG9kZXIgYW5kZXJlIGxhdXRsb3MsIGFiZXIgZGFzcyBfamVkZXJfLCBkZW1zIHN0aW5rdCB1bmQKZGVyIGdlaHQsIGRhcyBsZWlzZSBtYWNodCwgZGFzIGtvZW5uZW4gd2lyIHdvaGwgZG9jaCBhdXNzY2hsaWVzc2VuLiBEYXMgd2FlcmUKZWluIGFic29sdXRlcyBOb3Z1bS4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChLZXNzYSwgMjAuIFNlcCAyMDA2LCAyMToxMjowNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1ODc3NzY3NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpJY2ggaGFiZSBhdWNoIHZvciBlaW4gcGFhciBUYWdlbiB2b24gZWluZW0gYWt0aXZlbiBTcGllbGVyIChtLikgZ2Vob2VydCwgZGFzcwplciBzaWNoIG5pY2h0IHp1bGV0enQgd2VnZW4gZGVyIENyYXNocyB6dXJ1ZWNremllaGVuIHdvbGxlLiBBdWNoIG5pZW1hbmQsIGRlcgpzaWNoIGluIGRlciBNUEEgenUgYWV1c3Nlcm4gcGZsZWd0LiBEYXMgd2FlcmVuIGRhbm4gc2Nob24gendlaS4gVmllbGxlaWNodAp2ZXJzdGVoZW4gZGllLCBkaWUgbWl0IGRlbiBha3RpdmVuIFNwaWVsZXJuIG5vY2ggaW4gS29udGFrdCBzaW5kLCBoaW4gdW5kCndpZWRlciB3YXMsIHdhcyBkaXIgZW50Z2VodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChHcmltbWJvcm4sIDIxLiBTZXAgMjAwNiwgMDk6MTk6MTQpOgp+IyEgcm49S2Vzc2EgcnQ9MTE1ODc3OTUyNyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpXaWVzbyB6d2VpPyBJY2ggemFlaGxlIGJpc2hlciBudXIgZWluZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChLZXNzYSwgMjEuIFNlcCAyMDA2LCAxMjowMTozNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1ODgyMzE1NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpEaWUgdm9uIEh1cmF4cHJheCBlcndhZWhudGUgU3BpZWxlcmluIHVuZCBkZW4gdm9uIG1pciBlcndhZWhudGVuIFNwaWVsZXIuCkVpbnMsIHp3ZWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR3JpbW1ib3JuLCAyMS4gU2VwIDIwMDYsIDEyOjE3OjQ2KToKfiMhIHJuPUtlc3NhIHJ0PTExNTg4MzI4OTcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKQWVoLCBuZWluLiBWb24gZGVyIFNwaWVsZXJpbiBpc3QgbnVyIGJla2FubnQgZGFzcyBzaWUgc2ljaCBtaXQgSHVyYXhwYXgKdW50ZXJoYWx0ZW4gaGF0IHVuZCBkYXNzIHNpZSBiaXNoZXIgbmllIGluIGRlciBNUEEgZ2VzY2hyaWViZW4gaGF0LiBEZXIgUmVzdAplbnRzcHJpbmd0IGVudHdlZGVyIERlaW5lciBQaGFudGFzaWUgb2RlciB1bnZlcm9lZmZlbnRsaWNodGVtIFdpc3Nlbi4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChLZXNzYSwgMjEuIFNlcCAyMDA2LCAxMjoxODoyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1ODgzMzg2NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpEYXMgaGFiZSBpY2ggYW5kZXJzIHZlcnN0YW5kZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR3JpbW1ib3JuLCAyMS4gU2VwIDIwMDYsIDEyOjIxOjAyKToKfiMhIHJuPUtlc3NhIHJ0PTExNTg4MzM5MDggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKT0ssIGljaCBrb3JyaWdpZXJlIG1pY2g6IGlzdCBlbnR3ZWRlciBEZWluZXIgUGhhbnRhc2llIG9kZXIgdW52ZXJvZWZmZW50bGljaGVtCldpc3NlbiBlbnRzcHJ1bmdlbiwgb2RlciBiZXJ1aHQgYXVmIGVpbmVtIHVuenVsYWVzc2lnZW4gVGV4dHZlcnN0YWVuZG5pcwpEZWluZXJzZWl0cy4gTW9lZ2xpY2ggZGFzcyBIdXJheHByYXggZGFzIGdlbWVpbnQgaGF0LCBtb2VnbGljaCBhdWNoIGRhc3MgZXIKZGFtaXQgc2FnZW4gd29sbHRlIGRhc3MgQnVzaCBlaW4gRGVwcCBpc3QgdW5kIGRlciBQYXBzdCBmYWxzY2ggdmVyc3RhbmRlbgp3dXJkZSwgYWJlciAqZ2VzY2hyaWViZW4qIGhhdCBlciB2b24gYWxsIGRlbSBuaWNodHMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChLZXNzYSwgMjEuIFNlcCAyMDA2LCAxMjoyMjo0NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1ODgzNDA2MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpGdWVyIG1pY2ggZ2VodCBkYXMgYXVzIGRlbSBLb250ZXh0IGhlcnZvci4gV2VubiBlciBlcyBuaWNodCBzbyBtZWludGUsIHdhZXJlCmRpZSBFcndhZWhudW5nIGRpZXNlciBTcGllbGVyaW4gaW4gZGllc2VtIFp1c2FtbWVuaGFuZyB6aWVtbGljaCB1bnNpbm5pZywKb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChHd2VuLCAyMS4gU2VwIDIwMDYsIDEyOjMwOjUzKToKfiMhIHJuPUtlc3NhIHJ0PTExNTg4MzQxNjQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKRGllc2VzIGdhbnplIEdlaGFja2UgaXN0IHppZW1saWNoIHVuc2lubmlnLgpWZXJzY2hpZWJ0IGRhcyBnYW56ZSBuYWNoIG1vcmdlbmdyYXVlbi5nZWhhY2tlIG9kZXIKbW9yZ2VuZ3JhdWVuLmFtdGhlbWF2b3JiZWk/Ck1mRywgR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChLZXNzYSwgMjEuIFNlcCAyMDA2LCAxMjozMjozNSk6Cn4jISBybj1Hd2VuIHJ0PTExNTg4MzQ2NTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKRXMgaXN0IGluc29yZmVybiBuaWNodCBhbSBUaGVtYSB2b3JiZWksIGFscyBlcyB1bSBTcGllbGVyIGdlaHQsIGRpZSBzaWNoCnp1cnVlY2t6aWVoZW4uIEluc29mZXJuIGZyYWd0IEdyaW1tYm9ybiBtLkUuIHNjaG9uIHp1IHJlY2h0LCB3aWV2aWVsZSBkYXMgZGVubgpudW4gc2luZCwgdm9uIGRlbmVuIHdpciBlcyB3aXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoVmFuaGVsc2luZywgMjEuIFNlcCAyMDA2LCAxMzoyMjoyMSk6Cn4jISBybj1LZXNzYSBydD0xMTU4ODM0NzU1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1CkljaCB3dWVyZGUgZGF2b24gYXVzZ2VoZW4sIGRhc3MgYXVmIGRpZXNlIDEgKG9kZXIgMikgZXR3YSA1IGtvbW1lbiwgZGllCnVuYmVrYW5udCBzaW5kLiBEaWUgRHVua2VsemlmZmVyIGlzdCBqYSBtZWlzdGVucyBob2VoZXIsIGFscyBkaWUgYmVrYW5udGUKWmFobC4gSWNoIHZlcnN0ZWhlIGF1Y2ggbmljaHQsIHdhcnVtIGRhcnVlYmVyIHdlaXRlciBkaXNrdXRpZXJ0IHdpcmQuIEFuYXRvbApoYXQgZ2VzY2hyaWViZW4sIGRhc3MgU3BlaWNoZXIgYmVzb3JndCB1bmQgZWluZ2ViYXV0IHdpcmQsIHVuZCBkYW1pdCBpc3QgZG9jaApkaWUgRnJhZ2UgZ2VrbGFlcnQuIE1hbiBrYW5uIGphIGRhdm9uIGhhbHRlbiwgd2FzIG1hbiB3aWxsLCBhYmVyIGRpZXNlCkRpc2t1c3Npb24gZ2VodCBkb2NoIGV0d2FzIHdlaXQuIE1pciBpc3NlcyBlaHJsaWNoZ2VzYWd0IGVnYWwgb2IgMSBvZGVyIDIKYmVrYW5udCBzaW5kLgpXYXMgYmVrYW5udCBpc3QsIGlzdCBkaWUgVGF0c2FjaGUsIGRhc3MgZGllIFphaGwgZGVyICJNaXRzcGllbGVyIiBpbSBMYXVmZSBkZXIKWmVpdCBpbW1lciB3ZW5pZ2VyIHd1cmRlLiBVbmQgZGllIFZlcm11dHVuZywgZGFzcyBkYXMgbWl0IGRlbiBsZXR6dGVuCnBsb2V0emxpY2hlbiBDcmFzaHMgenUgdHVuIGhhdCwga2xpbmd0IGZ1ZXIgbWljaCBlaW5sZXVjaHRlbmQuCgpDVQoKVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChLZXNzYSwgMjEuIFNlcCAyMDA2LCAxMzozMTo0OCk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExNTg4Mzc3NDEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKR2VuYXUgZGllIFZlcm11dHVuZywgZGllIGR1IGF1c3NwcmljaHN0LCBkYXNzIGF1Y2ggd2VnZW4gZGVyIENyYXNocyBMZXV0ZQphdWZob2VyZW4genUgc3BpZWxlbiwgd3VyZGUgYW5nZXp3ZWlmZWx0LiBEYWhlciB3dXJkZW4gZGllc2UgQmVpc3BpZWxlCmdlbmFubnQuCgpVbmQgamEsIGljaCBiaW4gYXVjaCBmcm9oLCBkYXNzIGRlciBTcGVpY2hlciBiZXNvcmd0IHdpcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogU3BlaWNoZXJiZXNjaGFmZnVuZyAoVmFuaGVsc2luZywgMjEuIFNlcCAyMDA2LCAxMzo0ODoyOCk6Cn4jISBybj1LZXNzYSBydD0xMTU4ODM4MzA4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1CkljaCBoYWJlIG51ciBtaXRiZWtvbW1lbiwgZGFzcyBfdm9yXyBkZW4gQ3Jhc2hzIGV0d2EgNzAgU3BpZWxlciBvbmxpbmUgd2FyZW4KdW5kIG1vbWVudGFuIGV0d2EgNTAuIERlbiBVbnRlcnNjaGllZCBzaWVodCBtYW4gc2Nob24uIEtsYXIga29lbm50ZW4gYXVjaAphbmRlcmUgR3J1ZW5kZSBkYWZ1ZXIgZ2Vzb3JndCBoYWJlbiwgZWluc2NobGllc3NsaWNoIG5hdHVlcmxpY2hlbSBTY2h3dW5kLAphYmVyIGljaCBkZW5rZSBudW5tYWwsIGRhc3MgZGllIENyYXNocyBoYXVwdHNhZWNobGljaCBkYW1pdCB6dSB0dW4gaGFiZW4Ka29lbm50ZW4sIHdlaWwgbnVubWFsIGRlciBTY2h3dW5kIHNlaHIgcGxvZXR6bGljaCBhdWZ0cmF0LgoKQ1UKClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoVmFuaGVsc2luZywgMjEuIFNlcCAyMDA2LCAxMzo0OTowNSk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExNTg4MzkzMDggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKR2VyYWRlIHNvZ2FyIG51ciAzOS4KClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoTWFyY3VzLCAyMS4gU2VwIDIwMDYsIDEzOjQ5OjU3KToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTE1ODgzOTM0NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpFcyBsaWVndCBqYSBuaWNodCBudXIgZGFyYW4uCgpBYndhbmRlcnVuZyBpbiBhbmRlcmUgU3BpZWxlIChXb1csIEdXLCBldC5hbC4pLCBBYndhbmRlcnVuZyBpbnMgcmVhbGUgTGViZW4KdW5kIGthdW0gWnV3YW5kZXJ1bmcgdHVuIHNpY2hlciBlaGVyIHdhcyBkYXp1LgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogU3BlaWNoZXJiZXNjaGFmZnVuZyAoVmFuaGVsc2luZywgMjEuIFNlcCAyMDA2LCAxMzo1MTowMyk6Cn4jISBybj1NYXJjdXMgcnQ9MTE1ODgzOTM5NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpJbW1lcmhpbiBoYXR0ZW4gendpc2NoZW56ZWl0bGljaCB3aWVkZXIgZGllIG5ldHRlIFphaGwgdm9uIHVlYmVyIDcwIGVycmVpY2h0CmdlaGFidC4gCgpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKFpvb2ssIDIxLiBTZXAgMjAwNiwgMTM6NTg6MDkpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMTU4ODM5MzA4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1Cmh0dHA6Ly9tZy5tdWQuZGUvc3RhdC9tYXgvMjAwNi5qcGcKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR3JpbW1ib3JuLCAyMS4gU2VwIDIwMDYsIDE0OjExOjMyKToKfiMhIHJuPVpvb2sgcnQ9MTE1ODgzOTg4OSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQpOdXIgbWFsIGludGVyZXNzZWhhbGJlcjogV2FzIGdlbmF1IGlzdCBkYSBkaWUgIm1pdHRsZXJlIFRhZ2VzemVpdCI/IEljaCBoYWV0dGUKZGllIGphIHNwb250YW4gYXVmIGtvbnN0YW50IDEyIFVociBlcndhcnRldC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEd3ZW4sIDIxLiBTZXAgMjAwNiwgMTQ6MTU6NDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTg4NDA2OTIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKaHR0cDovL21nLm11ZC5kZS9zdGF0L1VzZXIvVGh1LmpwZwpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdyaW1tYm9ybiwgMjEuIFNlcCAyMDA2LCAxNDo0NzoyMSk6Cn4jISBybj1Hd2VuIHJ0PTExNTg4NDA5NDIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTExNTg3MDQxMDUKR2VuYXUsIGRpZSBtaXR0bGVyZSBUYWdlc3plaXQgaXN0IGRpZSBaZWl0IGluIGRlciBNaXR0ZSwgMTIgVWhyLiBQcm92ZXMgbXkKcG9pbnQuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoTHVnLCAxNy4gT2t0IDIwMDYsIDAxOjA3OjM4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTU4ODQyODQxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTU4NzA0MTA1ClNjaG9wZW5oYXVlciwgSGVnZWwsIEthbnQgLSBXaXR0Z2Vuc3RlaW4sIFdpdHRnZW5zdGVpbiAuLi4KCldhcyBpaHIgaW4gZGllc2VyIFJ1YnJpayBhYmxpZWZlcnQsIGlzdCBhYnNjaHJlY2tlbmQuCgoxLzIgQ2VudApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmxhZHVuZyB6dXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIDIwMDcgKEd1YXJkLCAxMC4gSnVuIDIwMDcsIDA4OjUzOjUyKToKbW9pbiwKCmluIE5ldHogYXVmIGRlbiBWZXJlaW5zc2VpdGVuIGlzdCBkaWUgRWlubGFkdW5nIHp1ciBWZXJzYW1tbHVuZyBhbSAyOC4wNy4yMDA3CmFiZ2VsZWd0LiBEaWUgc2luZCBhdWNoIHBlciBQb3N0IGFuIGFsbGUgTWl0Z2xpZWRlciByYXVzZ2VnYW5nZW4uIFdlbSBqZXR6dApzaWVkZW5kIGhlaXNzIGVpbmZhZWxsdCwgZGFzcyBlciBpbm5lcmhhbGIgZGVzIGxldHp0ZW4gSmFocmVzIHVtZ2V6b2dlbiBpc3QKdW5kIGRhcyBuaWNodCBnZW1lbGRldCBoYXQgLi4uLiBkZXIgbWFpbHQgbWlyIGRhcyBlaW5mYWNoIHVudGVyIGd1YXJkQHRydmVzLmRlCgpkZXIgU2NocmlmdGZ1ZWhyZXIgR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVzIGdpYnQgd2FzIG5ldWVzIChNZXNpcmlpLCAzMS4gSnVsIDIwMDcsIDAwOjQwOjAxKToKZnVlciBhbGxlIGRpZSwgZGllIGRpZSBNYWlsaW5nbGlzdGVubWFpbCBuaWNodCBiZWtvbW1lbiBoYWJlbjoKTGllYmUgTWl0Z2xpZWRlciwKCmVzIGdpYnQgZWluaWdlcyBuZXVlcyB6dSBiZXJpY2h0ZW46CgoxKSBNaXRnbGllZGVydmVyc2FtbWx1bmcKdm9ybGF1ZmlnZXMgUHJvdG9rb2xsIHNpZWhlOgoKMikgTmV1d2FobCBkZXMgVm9yc3RhbmRzClZvcnNpdHplbmRlcjogTWljaGFlbCAnTWVzaXJpaScgSHVuZ2VyClN0ZWxsdmVydHJldGVyOiBIZW5uaW5nICdYdXRlbGl1cycgVWxscmljaApLYXNzZW53YXJ0OiBDaHJpc3RpYW4gJ1ZhbmlvbicgRmllZGxlcgpTY2hyaWZ0ZnVocmVyOiBSZW5lICdHdWFyZCcgV2FjaHRlcgoKMykgTWFpbGluZ2xpc3RlbiB3aWVkZXIgZ2FuegpEYW5rIGFuIE11YWRpYiB1bmQgQW1hcnlsbGlzCgo0KSBha3R1ZWxsZSBUaGVtZW4genVyIERpc2t1c3Npb246CiogU2F0enVuZ3NhbmRlcnVuZyB6dXIgbmFjaHN0ZW4gVmVyc2FtbWx1bmc6IAoqKiBFcndlaXRlcnVuZyBWZXJlaW5zendlY2sgdW0gc3BlemllbGxlbiBGb2t1cyBhdWYgQmxpbmRlIHVuZCBTZWhiZWhpbmRlcnRlCioqIEFuZGVydW5nIEF1Zmxvc3VuZ3NwYXJhZ3JhcGgKCiogSWRlZW4sIEhpbGZlIGZ1ciBOZXVzcGllbGVyd2VyYnVuZywgT2ZmZW50bGljaGtlaXRzYXJiZWl0LCBNZXJjaGFuZGlzZQoKKiBIaWxmZSBnZXN1Y2h0IGJlaSBkZXIgTmV1Z2VzdGFsdHVuZyB2b24gbXVkLmRlIAoKKiBWb3J0cmFnc3RoZW1lbjoKKiogTXVkY2xpZW50cyB1bmQgZGVyZW4gUHJvZ3JhbW1pZXJ1bmcKKiogbHBjLVBsdW5naW4gZnVyIEVjbGlwc2UKKiogVW1zdGVsbHVuZyBhdWYgTEQtTXVkLCB3YXMgZ2lidHMgbmV1ZXMKKiogTWFnaWVyLkZ1bmRzdHVja2UKCjUpIG5haGVuZGVyIEJlaXRyYWdzZWluenVnCiogYml0dGUgYmVpIFVtenVnLCBLb250b2FuZGVydW5nIGV0Yy4gTWl0dGVpbHVuZyBhbiBkZW4gVm9yc3RhbmQKKHZvcnN0YW5kQG1nLm11ZC5kZSkKc29uc3QgbXVzc3QgaWhyIGRpZSBlbnRzdGVoZW5kZW4gS29zdGVuIHNlbGJzdCB0cmFnZW4hIQoKRWluIHBhYXIgZGVyIFRoZW1lbiBrb21tZW4gaW4gbmFoZXIgWnVrdW5mdCBub2NobWFsIGF1c2Z1aHJsaWNoIHBlciBNYWlsLAp0cm90emRlbSBzZWlkIGlociBhbGxlIGVpbmdlbGFkZW4sIEV1Y2ggYW4gZGVyIERpc2t1c3Npb24genUKYmV0ZWlsaWdlbi4KCkdydXNzIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWxpbmdsaXN0ZSBkZWZla3QuIChWYW5pb24sIDI3LiBPa3QgMjAwNywgMjA6NTA6MzkpOgpMaWViZSBNaXRnbGllZGVyLAoKZGVyemVpdCBpc3QgZGllIE1haWxpbmdsaXN0ZSBkZXMgVmVyZWlucyBkZWZla3QuIEVtYWlscyBhbiBkaWUgTGlzdGUgd2VyZGVuCmRlcnplaXQgbmljaHQgdmVydGVpbHQsIGF1Y2ggZGllIEVtYWlscyBhbiBkZW4gVmVyZWluc3ZvcnN0YW5kIGtvbW1lbiBuaWNodAphbi4gU29iYWxkIGRpZSBNYWlsaW5nbGlzdGVuIHdpZWRlciBmdW5rdGlvbmllcmVuLCBnZWJlbiB3aXIgaGllciBiZXNjaGVpZC4KCkdydWVzc2UsClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWlsaW5nbGlzdGVuIGZ1bmt0aW9uaWVyZW4gd2llZGVyIChNZXNpcmlpLCAgMS4gRGV6IDIwMDcsIDA4OjM1OjAxKToKRGFuayBBbWFyeWxsaXMgZnVua3Rpb25pZXJlbiBkaWUgTWFpbGluZ2xpc3RlbiBkZXMgVmVyZWlucyB1bmQgVm9yc3RhbmRlcwpqZXR6dCB3aWVkZXIuIFB1ZW5rdGxpY2ggenVtIEZlc3Qgd2VyZGVuIHdpciBFdWNoIGFsc28gZGFyYW4gZXJpbm5lcm4sIGRhc3MKd2lyIGRpZSBCZWl0cmFlZ2UgZWluemllaGVuIHdlcmRlbiB1bmQgZGFzIGRhbm4gYXVjaCB0dW4uIFNjaGxpZXNzbGljaCBpc3QgZGVyCkthc3NlbndhcnQgamEgamV0enQgZ2VwcnVlZnQuIEF1Y2ggZGllIGFuZ2VzdHJlYnRlbiBEaXNrdXNzaW9uZW4gd2VyZGVuIGpldHp0Cmxvc2dlaGVuLgpNZXNpClAuUy4gSWNoIHd1ZXJkZSBkYXMgbWl0IGRlbSBMb2dvIGFtIFdvY2hlbmVuZGUgbm9jaG1hbCBhbmdlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F0enVuZ3NhZW5kZXJ1bmcgKEVubm94LCAgNC4gSmFuIDIwMDgsIDE0OjA1OjQzKToKTGllYmUgTWl0Z2xpZWRlciwKCmF1ZiBkZXIgVmVyc2FtbWx1bmcgaGFiZW4gd2lyIGphIHViZXIgZWluZSBtb2dsaWNoZSBTYXR6dW5nc2FuZGVydW5nIHp1bQpWZXJlaW5zendlY2sgZGlza3V0aWVydC4gSGllciB1bnNlciBFbnR3dXJmLiBCaXR0ZSB0ZWlsdCB1bnMgbWl0IGZhbGxzIGlocgpkZW4gbmljaHQgZ3V0IGZpbmRldCB1bmQgd2FzIGlociBnZ2YuIGFuZGVybiB3dXJkZXQuIFN0aWxsc2Nod2VpZ2VuZGVzCkVpbnZlcnN0YW5kbmlzIGlzdCBhdWNoIG9rIDopCgoyIFp3ZWNrIGRlcyBWZXJlaW5zCgogICAxLiBad2VjayBkZXMgRm9yZGVydmVyZWlucyBQcm9qZWt0IE1vcmdlbkdyYXVlbiBpc3QgZGllIEZvcmRlcnVuZyB2b24KRXJ6aWVodW5nIHVuZCBCaWxkdW5nIGluIEhpbmJsaWNrIGF1ZiBkaWUgQmVudXR6dW5nIHVuZCBFcnN0ZWxsdW5nCmtvbW1hbmRvZ2VzdGV1ZXJ0ZXIsIHRleHRiYXNpZXJ0ZXIsIGNvbXB1dGVyZ2VzdHV0emVyCktvbW11bmlrYXRpb25zcGxhdHRmb3JtZW4uCiAgICAgICBFaW5lIHNvbGNoZSBQbGF0dGZvcm0sIGRlcmVuIEJlbnV0enVuZyBmdXIgamVkZXJtYW5uIGtvc3Rlbmxvcwptb2dsaWNoIGlzdCwgc3RlbGx0IGRhcyBNb3JnZW5HcmF1ZW4gZGFyLgogICAgICAgRGFiZWkgd2VyZGVuIGluc2Jlc29uZGVyZSB1bWZhc3NlbmRlIE1vZ2xpY2hrZWl0ZW4gZnVyIGJsaW5kZSB1bmQKc2VoYmVoaW5kZXJ0ZSBQZXJzb25lbiBiZXJlaXRnZXN0ZWxsdCwgc2ljaCBha3RpdiB1bmQKZ2xlaWNoYmVyZWNodGlndCBhbiBkZXIgUGxhdHRmb3JtIE1vcmdlbkdyYXVlbiB6dSBiZXRlaWxpZ2VuLgogICAgICAgRGllIFp3ZWNrZSBzb2xsZW4gdm9yIGFsbGVtIHZlcndpcmtsaWNodCB3ZXJkZW4gZHVyY2g6CiAgICAgICAgIDEuIEVpbmZ1aHJ1bmdza3Vyc2UgaW4gZGllIEJlbnV0enVuZyB2b24gY29tcHV0ZXJnZXN0dXR6dGVuCktvbW11bmlrYXRpb25zc3lzdGVtZW4sCiAgICAgICAgIDIuIFByb2dyYW1taWVya3Vyc2UsIGRpZSBlcyBkZW0gVGVpbG5laG1lciBlcm1vZ2xpY2hlbiBzZWxic3QgYW0KUHJvamVrdCBha3RpdiBtaXR6dWFyYmVpdGVuLAogICAgICAgICAzLiBBbnNjaGFmZnVuZyB1bmQgV2FydHVuZyBlaW5lcyBSZWNobmVycywgYXVmIGRlbSBhdXNzY2hsaWVzbGljaApkYXMgUHJvamVrdCBNb3JnZW5HcmF1ZW4gaW5zdGFsbGllcnQgd2VyZGVuIHNvbGwuCiAgICAgICAgIDQuIFNvd29obCBkaWUgUHJvZ3JhbW1pZXItIHVuZCBFaW5mdWhydW5nc2t1cnNlLCBhbHMgYXVjaCBkaWUKQmVudXR6dW5nIGRlcyBSZWNobmVycyBkdXJjaCBkYXMgUHJvamVrdCBNb3JnZW5HcmF1ZW4gdW5kIGRpZQpLdXJzdGVpbG5laG1lciBzaW5kIGtvc3Rlbmxvcy4KICAgICAgICAgNS4gQWt0aXZlIE9mZmVudGxpY2hrZWl0c2FyYmVpdCB1bmQgZW5nZSBadXNhbW1lbmFyYmVpdCBtaXQKQmxpbmRlbm9yZ2FuaXNhdGlvbmVuLCB1bSBkaWVzZSBLb21tdW5pa2F0aW9uc3BsYXR0Zm9ybWVuIG1pdAppaHJlbiBWb3J0ZWlsZW4gZGllc2VyIFppZWxncnVwcGUgdm9yenVzdGVsbGVuLgogICAgICAgICA2LiBVbnRlcnN0dXR6dW5nIGJsaW5kZXIgdW5kIHNlaGJlaGluZGVydGVyIE51dHplciBiZWkgZGVyCkJlbnV0enVuZyBkZXIgS29tbXVuaWthdGlvbnNwbGF0dGZvcm0gbWl0dGVscyBkZXIgdm9uIGlobmVuCmdlbnV0enRlbiB0ZWNobmlzY2hlbiBIaWxmc21pdHRlbC4KICAgMi4gRGllc2UgWndlY2tlIHZlcmZvbGd0IGRlciBWZXJlaW4gYXVmIGF1c3NjaGxpZXNsaWNoIHVuZCB1bm1pdHRlbGJhcgpnZW1laW5udXR6aWdlIFdlaXNlIGltIFNpbm5lIGRlcyBkcml0dGVuIEFic2Nobml0dHMgZGVyIEFiZ2FiZW5vcmRudW5nCigiU3RldWVyYmVndW5zdGlndGUgWndlY2tlIiwgIDUxIGZmLiBBTykKICAgMy4gRGVyIFZlcmVpbiBpc3Qgc2VsYnN0bG9zIHRhdGlnIHVuZCB2ZXJmb2xndCBuaWNodCBpbiBlcnN0ZXIgTGluaWUKZWlnZW53aXJ0c2NoYWZ0bGljaGUgWndlY2tlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNhdHp1bmdzYWVuZGVydW5nIChFbm5veCwgIDQuIEphbiAyMDA4LCAxNDoxMTo1OCk6Cn4jISBybj1Fbm5veCBydD0xMTk5NDUxOTQzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMTk5NDUxOTQzCkJpdHRlIERpc2t1c3Npb24gYXVmIE1haWxpbmdsaXN0ZSwgZGFtaXQgd2lyIG5pY2h0IDIgVGhyZWFkcyBoYWJlbi4KTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnV0dG9ucyAoUnVtYXRhLCAyNS4gSmFuIDIwMDgsIDEwOjM1OjA3KToKRWluZSBsb3NlIElkZWUsIGZhbGxzIHdpciBCdXR0b25zIG1pdCBkZW0gbmV1ZW4gTG9nbyBtYWNoZW4uCkRlciBWZXJlaW4ga29lbm50ZSBkaWUgQnV0dG9ucyBtaXQgdmVyc2NoaWVkZW5mYXJiaWdlbiBIaW50ZXJncnVlbmRlbgptYWNoZW4uIEV2dGwuIGVpbmUgRmFyYmUgbnVyIGZ1ZXIgVmVyZWluc21pdGdsaWVkZXIgb2RlciBnb2xkZW5lcgpoaW50ZXJncnVuZCBmdWVyIChHb2xkKS1TcG9uc29yZW4uCgooS2FubiBndXQgc2VpbiwgZGFzcyBkYXMgenV2aWVsIEFyYmVpdCB3YWVyZSkgQWJlciBFbGl0ZW5iaWxkdW5nIHppZWh0Cm5hY2ggU2V4IHNvIHppZW1saWNoIGFtIGJlc3RlbiA6LSkKClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnV0dG9ucyAoRW5ub3gsIDI1LiBKYW4gMjAwOCwgMTA6NDc6MzQpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMDEyNTM3MDcgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyMDEyNTM3MDcKQnV0dG9ucyBrbGluZ3QgZ3V0LCBpY2ggbXVzcyBtYWwgZ3Vja2VuIG9iL3dpZSBpY2ggZGFzIG9yZ2FuaXNpZXJ0IGtyaWVnZS4KTWVpbiBOYWNoYmFyIGhhdCBhdWNoIG5vY2ggYW5nZWJvdGVuLCBuZWJlbiBkZW4gZ2FuemVuIFBvc3Rlcm4gYXVjaApub2NoIEF1ZmtsZWJlciB6dSBkcnVja2VuLgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJ1dHRvbnMgKEdyaW1tYm9ybiwgMjUuIEphbiAyMDA4LCAxMDo1NTozOSk6Cn4jISBybj1Fbm5veCBydD0xMjAxMjU0NDU0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjAxMjUzNzA3CkF1Y2ggd2VubiBpY2ggZXMgc2VociBoZWxkZW5tdWV0aWcgdm9uIFJ1bWF0YSBmaW5kZSBzaWNoIGRhZnVlciBhbnp1YmlldGVuCmZpbmRlIGljaCBuaWNodCBkYXNzIHdpciBTZXggenVyIE1pdGdsaWVkZXJ3ZXJidW5nIGVpbnNldHplbiBzb2xsdGVuLiBEYW5uCnNjaG9uIGxpZWJlciBnb2xkZW5lIFBhcnRlXldWZXJlaW5zYWJ6ZWljaGVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCdXR0b25zIChNYWhhcmV0LCAyNS4gSmFuIDIwMDgsIDEwOjU2OjI1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMjAxMjU0OTM5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjAxMjUzNzA3CkljaCBtdXNzIGF1Y2ggZWhybGljaCB6dWdlYmVuLCBkYXNzIGljaCB2b24gZGVuIG1laXN0ZW4gTGV1dGVuIGxpZWJlciBlaW5lbgpCdXR0b24gYWxzIFNleCBrcmllZ2VuIG1vZWNodGUgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCdXR0b25zIChHcmltbWJvcm4sIDI1LiBKYW4gMjAwOCwgMTA6NTc6MzcpOgp+IyEgcm49TWFoYXJldCBydD0xMjAxMjU0OTg1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjAxMjUzNzA3CiJTY2hhdHosIGJpdHRlIGtlaW5lbiBCdXR0b24sIGljaCBoYWIgTWlncmFlbmUuLi4iCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJ1dHRvbnMgKFJ1bWF0YSwgMjUuIEphbiAyMDA4LCAxMDo1Nzo1MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTIwMTI1NTA1NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTIwMTI1MzcwNwpKZXR6dCBpc3QgaW4gZGVyIFJ1YnJpayBsZWJlbi4KClEuRS5ELgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQnV0dG9ucyAoRGFya2xvciwgMjAuIEFwciAyMDA4LCAwOTo0MDoxNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTIwMTI1NTA1NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTIwMTI1MzcwNwpHZXByYWVndD8gCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBVZWJlcndhY2h1bmcgZHVyY2ggZGllIEVNcyAoWm9vaywgMjAuIE9rdCAyMDA4LCAxOToyMTozOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjI0NTAzNjM1IHJnPXNjaG1hcnJuCn4jISB0aWQ9MTIyNDQ5NTc1NgpEYXMgd2FlcmUgenVtaW5kZXN0IGVpbm1hbCBzZWhyIG5ldHQgdm9tIFZlcmVpbjsgaWNoIHNlbGJzdCBoYWJlIGxlaWRlcgpudXIgd2VuaWcgYmlzIGdhciBrZWluZW4gcmVjaHRsaWNoZW4gRHVyY2hibGljayAoYSkgd2FzIGRpZSB0YXRzYWVjaGxpY2hlbgpIYWZ0dW5nc3Jpc2lrZW4gYW5nZWh0IHVuZCAoYikgd2FzIGRpZXNlIFZvcnJhdHNkaW5nZW5zc3BlaWNoZXJ1bmcKYW5nZWh0LiBaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVWViZXJ3YWNodW5nIGR1cmNoIGRpZSBFTXMgKFpvb2ssIDIwLiBPa3QgMjAwOCwgMTk6MjI6MjQpOgp+IyEgcm49Wm9vayBydD0xMjI0NTIzMjk4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjI0NDk1NzU2CkljaCBmaW5kZSBhbGxlcmRpbmdzIGRlbiBVbXN0YW5kLCBkYXNzIG1hbiBzaWNoIGFscyBNVUQgR2VkYW5rZW4KdW0gZWluZW4gUmVjaHRzYW53YWx0IG1hY2h0LCBkYW1pdCBtYW4gc2VpbiBTcGllbCByZWNodG1hZXNzaWcKYmV0cmVpYnQsIHRyYXVyaWcuIFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBVZWJlcndhY2h1bmcgZHVyY2ggZGllIEVNcyAoR2xvaW5zb24sIDIwLiBPa3QgMjAwOCwgMjA6MDY6MDEpOgp+IyEgcm49Wm9vayBydD0xMjI0NTIzMzQ0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjI0NDk1NzU2CktlaW5lIEZyYWdlLCBibG9lZGVyIFF1YXRzY2guIEdsb2luc29uc2NoZXMgR2VzZXR6IGRlciBnZXJpYXRyaXNjaGVuIFBvbGl0aWs6Cndlbm4gbWFuIGVpbmUgUmVnaWVydW5nIHZvbGxlciBQb2xpdGJ1ZXJvYWVxdWl2YWxlbnRlIGhhdCAoNTQsIDUyLCA2NiwgNTMsIDYxLAo2NCwgNTAsIDU5LCA1OSAuLi4pLCBkYW5uIGJlc3RlaHQgZGllIEdlZmFocnQgZGVzIFdpcmtlbnMgdm9uIEEuIEMuIENsYXJrcwpHZXNldHplbiAoUGFyYWdyYWYgMy4gSmVkZSBoaW5yZWljaGVuZCBmb3J0Z2VzY2hyaXR0ZW5lIFRlY2hub2xvZ2llIGlzdCB2b24KTWFnaWUgdW51bnRlcnNjaGVpZGJhci4pIFVuZCBzbyBoYW5kZWx0IGVpbmUgc29sY2hlIFJlZ2llcnVuZyBkYW5uIGF1Y2guIFVuZAphbGxlIE5vcm1hbGJ1ZXJnZXIgaGFiZW4gIlNwYXNzIi4KCkxhZWdlIHNvIGVpbmUgYW53YWx0bGljaGUgQW5mcmFnZSBpbSBSYWhtZW4gZGVyIEF1c2dhYmVrYXBheml0YWV0ZW4gZGVzClZvcnN0YW5kcz8gSWNoIHdhciBqYSBlaW5lIFdlaWxlIG5pY2h0IG1laHIgYXVmIFNpdHp1bmdlbiBkZXMgTUcgZS5WLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBVZWJlcndhY2h1bmcgZHVyY2ggZGllIEVNcyAoWm9vaywgMjAuIE9rdCAyMDA4LCAyMTo0MjoyNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMjI0NTI1OTYxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjI0NDk1NzU2CkFsdGVybmF0aXYga2FubiBtYW4gbmF0dWVybGljaCBiZWkgZGVyIHp1c3RhZW5kaWdlbiBBdWZzaWNodHNiZWhvZXJkZQp1bSBlaW5lIFJlY2h0c2F1c2t1bmZ0IGVyc3VjaGVuLiBaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogVWViZXJ3YWNodW5nIGR1cmNoIGRpZSBFTXMgKE9ya3RvZXRlciwgMjIuIE9rdCAyMDA4LCAxODozODo1OCk6Cn4jISBybj1ab29rIHJ0PTEyMjQ1MzE3NDYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyMjQ0OTU3NTYKVW5kIGRhbWl0IHNjaGxhZmVuZGUgSHVuZGUgd2Vja2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFVlYmVyd2FjaHVuZyBkdXJjaCBkaWUgRU1zIChHbG9pbnNvbiwgMjIuIE9rdCAyMDA4LCAxOTowNjoyNCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTIyNDY5MzUzOCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTIyNDQ5NTc1NgpNb3R0byAic29sYW5nZSBtYW4gbmljaHQgZnJhZ3QsIHdpcmQgbWFuIGF1Y2ggbmljaHQgYW5nZXphZWhsdCI/CgpEb29mZXMgTW90dG8uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFVlYmVyd2FjaHVuZyBkdXJjaCBkaWUgRU1zIChaZXNzdHJhLCAyMi4gT2t0IDIwMDgsIDE5OjIzOjU2KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMjI0NjkzNTM4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjI0NDk1NzU2CkltIFp3ZWlmZWxzZmFsbCBzY2hhZGV0IFVua2VubnRuaXMgb2RlciBmYWxzY2hlIEludGVycHJldGF0aW9uIGRlciBSZWNodHNsYWdlCnVucywgZGEgVW5rZW5udG5pcyBiZWthbm50bGljaCBuaWNodCB2b3IgU3RyYWZlIHNjaHVldHp0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFVlYmVyd2FjaHVuZyBkdXJjaCBkaWUgRU1zIChSdW1hdGEsIDIyLiBPa3QgMjAwOCwgMTk6MzM6NDApOgp+IyEgcm49WmVzc3RyYSBydD0xMjI0Njk2MjM2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjI0NDk1NzU2Ck5pY2h0IGdhbnouIFNpZWhlOiBodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL1ZlcmJvdHNpcnJ0dW0KVW5kIHdpciBoYWJlbiBzY2hvbiBnZW51ZyBKdXJpc3RlbiBnZWZyYWd0LCB1bSB1bnRlciBkaWVzZW4gU2NodXR6Cnp1IGdlcmF0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogVWViZXJ3YWNodW5nIGR1cmNoIGRpZSBFTXMgKFpvb2ssIDIzLiBPa3QgMjAwOCwgMTE6MDA6MTgpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMjQ2OTY4MjAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyMjQ0OTU3NTYKQmluIG1pciBuaWNodCBzaWNoZXIsIG9iIGRhcyBoaWVyIHp1bSBUcmFnZW4ga29tbXQuLi4gCnVudmVybWVpZGJhcmVyIFZlcmJvdHNpcnJ0dW0gaXN0IGRvY2ggYXJnIHNlbHRlbiBpbiBkZXIKQW53ZW5kdW5nLi4uIChzb3dlaXQgaWNoIHdlaXNzKS4uLiBaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogVWViZXJ3YWNodW5nIGR1cmNoIGRpZSBFTXMgKFpvb2ssIDIzLiBPa3QgMjAwOCwgMTE6MDE6MDYpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEyMjQ2OTM1Mzggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyMjQ0OTU3NTYKVHJhZWdzdCBEdSBkYXMgUmlzaWtvIGVpbmVzIEJ1c3NnZWxkZXM/IE5laW4/IERhbm4gdWViZXJkZW5rZQpEZWluZW4gc2NobGF1ZW4gS29tbWVudGFyIGRvY2ggbm9jaCBlaW5tYWwuIFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBVZWJlcndhY2h1bmcgZHVyY2ggZGllIEVNcyAoT3JrdG9ldGVyLCAyMy4gT2t0IDIwMDgsIDE3OjUyOjIwKToKfiMhIHJuPVpvb2sgcnQ9MTIyNDc1MjQ2NiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTIyNDQ5NTc1NgpFcyBpc3QgZWluZSBTYWNoZSBzaWNoIHp1IGluZm9ybWllcmVuIHVuZCBlaW5lIGFuZGVyZSwgc2ljaCBkaWUgZmFsc2NoZQpJbmZvcm1hdGlvbnNxdWVsbGUgYXVzenVzdWNoZW4uCgpOaWNodHMgenUgdW50ZXJuZWhtZW4gaXN0IGdlZmFlaHJsaWNoLCBhYmVyIGVzIGlzdCBlaW4gVW50ZXJzY2hpZWQgb2IgaWNoIHp1CmVpbmVtIEp1cmlzdGVuIGdlaGVuIHVuZCBkZW4gRnJhZ2Ugd2VsY2hlIFN0cmFmZSBhdWYgTW9yZCBzdGVodCwgb2RlciBvYiBpY2gKZWluZW4gUG9saXppc3RlbiBhbiBlaW5lbSBUYXRvcnQgZGllIGdsZWljaGUgRnJhZ2Ugc3RlbGxlLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBVZWJlcndhY2h1bmcgZHVyY2ggZGllIEVNcyAoQmFtYmksIDIzLiBPa3QgMjAwOCwgMTg6MDU6MzMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEyMjQ3NzcxNDAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyMjQ0OTU3NTYKQWxzbyBiZWkgdW5zIG11c3MgbWFuIGRhZnVlciBudXIgaW5zIFN0cmFmZ2VzZXR6YnVjaCBzY2hhdWVuLiBJbnRlcmVzc2FudCBpc3QKZWhlciBkaWUgRnJhZ2UsIG9iIGVpbmUgVGF0IGFscyBNb3JkIGdld2VydGV0IHdpcmQgKHVuZCB3ZW5uIGphLCBtaXQgd2VsY2hlcgpCZWdydWVuZHVuZykuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogVWViZXJ3YWNodW5nIGR1cmNoIGRpZSBFTXMgKEdsb2luc29uLCAyMy4gT2t0IDIwMDgsIDE4OjMxOjA3KToKfiMhIHJuPUJhbWJpIHJ0PTEyMjQ3Nzc5MzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyMjQ0OTU3NTYKSmEsIG5hdHVlcmxpY2guIEVzIGlzdCBhdWNoIGVpbiBVbnRlcnNjaGllZCwgb2IgaWNoIGVpbmVuIE5hMWNoYmFybiBmcmFnZSwgb2IKZXIgZWluZW4gQXBmZWwgZnVlciBtaWNoIGhhdCwgb2RlciBlaW5lbiBCYXVtLCBvYiBlciBtaXIgZWluZSBCaXJuZQpoZXJ1bnRlcndpcmZ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBVZWJlcndhY2h1bmcgZHVyY2ggZGllIEVNcyAoWm9vaywgMjQuIE9rdCAyMDA4LCAwODo1NToxMSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTIyNDc3NzE0MCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTIyNDQ5NTc1NgpEYW5rZSBmdWVyIGRlbiBIaW53ZWlzLCBCb2luZywgZGFzICJub2NoIiB3YXIgZmVobGVyaGFmdC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJlaW5zLU1haWxpbmdsaXN0ZSAoVmFuaW9uLCAyNC4gTWFyIDIwMDksIDE2OjI2OjI5KToKTGllYmUgTWl0Z2xpZWRlciwKCmRhIGVzIGVyZnJldWxpY2hlcndlaXNlIGVpbiBwYWFyIE5ldXp1Z2FlbmdlIGltIFZlcmVpbiBnaWJ0LCBoaWVyIG5vY2ggZWlubWFsCmRlciBIaW53ZWlzIGF1ZiBkaWUgTWFpbGluZ2xpc3RlIGRlcyBWZXJlaW5zLgoKIGh0dHA6Ly9tZy5tdWQuZGUvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3ZlcmVpbnNtaXRnbGllZGVyCgpVZWJlciBkaWUgTWFpbGluZ2xpc3RlIGtvZW5uZW4gc2ljaCBWZXJlaW5zbWl0Z2xpZWRlciBhdXN0YXVzY2hlbi4gRGVyIFZvcnRlaWwKZ2VnZW51ZWJlciBkZXIgTVBBIGlzdCwgZGFzcyB2aWVsZSBNaXRnbGllZGVyIGhpZXIgdmVyc2FtbWVsdCBzaW5kLCBkaWUgbmljaHQKbWVociByZWdlbG1hZXNzaWcgZGllIE1QQSBsZXNlbi4KCkFua3VlbmRpZ3VuZ2VuL0luZm9ybWF0aW9uZW4gZ2VoZW4gaW1tZXIgdWViZXIgZGllIE1haWxpbmdsaXN0ZS4gRmFsbHMgd2lyIGVzCm5pY2h0IHZlcmdlc3NlbiwgbGFuZGVuIHNvbGNoZSBQb3N0aW5ncyBuYXR1ZXJsaWNoIGF1Y2ggaW4gZGllc2VyIFJ1YnJpay4KCkZhbGxzIElociBqZXR6dCBTb3JnZSBoYWJ0LCBkYXNzIGlociBlaW5lbiB6dWdlbXVlbGx0ZW4gUG9zdGthc3RlbiBiZWtvbW10LiBTbwp2aWVsIGlzdCBkZXJ6ZWl0IGF1ZiBkaWVzZXIgTGlzdGUgbGVpZGVyIG5pY2h0IGxvcy4KCkdydWVzc2UsClZhbmlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyc2FtbWx1bmcgYXVmIFBhcnR5OiBQcm90b2tvbGwgKEFtYXJ5bGxpcywgMzAuIE1hciAyMDA5LCAyMDo1MDo1NCk6CkhpLAoKZ2lidHMgdm9uIGRlciBWZXJzYW1tbHVuZyBhdWYgZGVyIFBhcnR5IGVpZ2VudGxpY2ggaXJnZW5kd28gRXJnZWJuaXNzZQpuYWNoenVsZXNlbj8gOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJzYW1tbHVuZyBhdWYgUGFydHk6IFByb3Rva29sbCAoQ2FsZHJhLCAxOC4gQXByIDIwMDksIDEwOjEzOjAyKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMjM4NDM5MDU0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjM4NDM5MDU0CnNhdmUKc29sYW5nZSBpY2ggbm9jaCBuaWNodCBhbGxlIERhdGVuIHp1c2FtbWVuaGFiZSB1bmQgYXVmZ2VzY2hyaWViZW4gaGFiZSBmaW5kZXQKbWFuIGRhcyBwcm90b2tvbGwgdW50ZXIgd3d3LnRydmVzLmRlL21nLwpzb2JhbGQgYWxsZXMgZmVydGlnIGlzdCwgYmlzdCBkdSBkZXIgZXJzdGUsIGFtYSwgZGVyIGRhcyBwcm90b2tvbGwgYmVrb21tdCwgdW0KZXMgYXVmIGRlbiBzZXJ2ZXIgenUgc3BpZWxlbiA6LSkKCmdydXNzCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2l0enVuZy1zYXR6dW5nc2FlbmRlcnVuZyAoRW5ub3gsIDI2LiBGZWIgMjAxMCwgMDA6MTg6MTQpOgoKSWNoIGhhYmUgZ2VyYWRlIG5vY2htYWwgZ2VzY2hhdXQsIHVuZCBqYSwgaWNoIGhhYnMgdmVyYnVtbWVsdC4gWm9vayBoYXQgdW5zCmpldHp0IG5vY2htYWwgZHJhbiBlcmlubmVydCwgZGFua2UgZGFmdWVyLgoKSWNoIGhhYiBkZW4gTXVzdGVydGV4dCByYXVzZ2VzdWNodCB1bmQgbWFsIDIgU2FjaGVuIGVpbmdldHJhZ2VuLCBkaWUgX2ljaF8KZnVlciBzaW5udm9sbCBoYWx0ZSwgd2FzIG1laW50IGlociBkYXp1PwoKQmVpIEF1ZmxvZXN1bmcgb2RlciBBdWZoZWJ1bmcgZGVyIEtvZXJwZXJzY2hhZnQgb2RlciBiZWkgV2VnZmFsbApzdGV1ZXJiZWd1ZW5zdGlndGVyIFp3ZWNrZSBmYWVsbHQgZGFzIFZlcm1vZWdlbiBkZXIgS29lcnBlcnNjaGFmdAoKYSkgYW4gLSBkZW4gLSBkaWUgLSBkYXMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIEJlemVpY2hudW5nCmVpbmVyIGp1cmlzdGlzY2hlbiBQZXJzb24gZGVzIG9lZmZlbnRsaWNoZW4gUmVjaHRzIG9kZXIgZWluZXIgYW5kZXJlbgpzdGV1ZXJiZWd1ZW5zdGlndGVuIEtvZXJwZXJzY2hhZnQpLCAtIGRlciAtIGRpZSAtIGRhcyAtIGVzIHVubWl0dGVsYmFyCnVuZCBhdXNzY2hsaWVzc2xpY2ggZnVlciBnZW1laW5udWV0emlnZSwgbWlsZHRhZXRpZ2Ugb2RlciBraXJjaGxpY2hlClp3ZWNrZSB6dSB2ZXJ3ZW5kZW4gaGF0LgoKb2RlcgoKYikgYW4gZWluZSBqdXJpc3Rpc2NoZSBQZXJzb24gZGVzIG9lZmZlbnRsaWNoZW4gUmVjaHRzIG9kZXIgZWluZQphbmRlcmUgc3RldWVyYmVndWVuc3RpZ3RlIEtvZXJwZXJzY2hhZnQgendlY2tzIFZlcndlbmR1bmcgZnVlcgouLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKEFuZ2FiZSBlaW5lcyBiZXN0aW1tdGVuIGdlbWVpbm51ZXR6aWdlbiwKbWlsZHRhZXRpZ2VuIG9kZXIga2lyY2hsaWNoZW4gWndlY2tzLCB6LiBCLiBGb2VyZGVydW5nIHZvbgpXaXNzZW5zY2hhZnQgdW5kIEZvcnNjaHVuZywgRXJ6aWVodW5nLCBWb2xrcy0gdW5kIEJlcnVmc2JpbGR1bmcsIGRlcgpVbnRlcnN0dWV0enVuZyB2b24gUGVyc29uZW4sIGRpZSBpbSBTaW5uZSB2b24gIDUzIEFPIHdlZ2VuCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiBiZWR1ZXJmdGlnIHNpbmQsIFVudGVyaGFsdHVuZyBkZXMKR290dGVzaGF1c2VzIGluIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLikuCgoKRWluZSBWYXJpYW50ZSBmdWVyIHVucyBrb2VubnRlIHNvIGF1c3NlaGVuLgoKOQoKQmVpIEF1ZmxvZXN1bmcgb2RlciBBdWZoZWJ1bmcgZGVyIEtvZXJwZXJzY2hhZnQgb2RlciBiZWkgV2VnZmFsbApzdGV1ZXJiZWd1ZW5zdGlndGVyIFp3ZWNrZSBmYWVsbHQgZGFzIFZlcm1vZWdlbiBkZXIgS29lcnBlcnNjaGFmdAoKZGllIFdpa2ltZWRpYSBEZXV0c2NobGFuZCAtIEdlc2VsbHNjaGFmdCB6dXIgRm9lcmRlcnVuZyBGcmVpZW4gV2lzc2VucwplLlYuLCBkaWUgZXMgdW5taXR0ZWxiYXIgdW5kIGF1c3NjaGxpZXNzbGljaCBmdWVyIGdlbWVpbm51ZXR6aWdlLAptaWxkdGFldGlnZSBvZGVyIGtpcmNobGljaGUgWndlY2tlIHp1IHZlcndlbmRlbiBoYXQuCgpvZGVyCgphbiBlaW5lIGp1cmlzdGlzY2hlIFBlcnNvbiBkZXMgb2VmZmVudGxpY2hlbiBSZWNodHMgb2RlciBlaW5lIGFuZGVyZQpzdGV1ZXJiZWd1ZW5zdGlndGUgS29lcnBlcnNjaGFmdCB6d2Vja3MgVmVyd2VuZHVuZyBmdWVyIEZvZXJkZXJ1bmcgdm9uCldpc3NlbnNjaGFmdCB1bmQgRm9yc2NodW5nLgoKR3J1c3MgTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNpdHp1bmctc2F0enVuZ3NhZW5kZXJ1bmcgKEh1bW5pLCAyNy4gRmViIDIwMTAsIDAwOjU4OjA3KToKfiMhIHJuPUVubm94IHJ0PTEyNjcxMzk4OTQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyNjcxMzk4OTQKSnVyaXN0aXNjaGUgRm9ybXVsaWVydW5nZW4ga2FubiB1bmQgbWFnIGljaCBuaWNodC4KCkFiZXIgaWNoIGJpbiBzdHJpa3Rlc3RlbnMgZ2VnZW4gZGVuIFplbnN1cnZlcmVpbiBXaWtpbWVkaWEuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNpdHp1bmctc2F0enVuZ3NhZW5kZXJ1bmcgKFZhbmlvbiwgMjcuIEZlYiAyMDEwLCAxNDo1NDozMCk6Cn4jISBybj1Fbm5veCBydD0xMjY3MTM5ODk0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMjY3MTM5ODk0CkhpLCAKCmVzIGdpYnQgZGEgZWluZSBsZWJoYWZ0ZSBEaXNrdXNzaW9uIHVudGVyIGRlciBWZXJlaW5zbWFpbGluZ2xpc3RlLgoKWnUgYikgVW5zZXIgU2F0enVuZ3NtYWVzc2lnZXIgVmVyZWluc3p3ZWNrIGlzdCBGb2VyZGVydW5nIHZvbiBCaWxkdW5nIHVuZApFcnppZWh1bmcuIE1laW5lciBNZWludW5nIG5hY2ggc29sbHRlIGVzIGF1Y2ggZGllc2UgUGhyYXNlIHNlaW4sIGRpZSBiZWkgaW4KZGllIFZlcmVpbnNmb3JtdWxpZXJ1bmcga29tbXQuIEltbWVyaGluIGlzdCBkZXIgUGFyYWdyYXBoIGluIHNlaW5lcgpHZW1laW5udWV0emlna2VpdCBqYSBhbmVya2FubnQuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzaXR6dW5nLXNhdHp1bmdzYWVuZGVydW5nIChBbmF0b2wsIDI4LiBGZWIgMjAxMCwgMTE6MTg6MjgpOgp+IyEgcm49VmFuaW9uIHJ0PTEyNjcyNzg4NzAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyNjcxMzk4OTQKSWNoIHN0aW1tZSBhdXMgbmFoZWxpZWdlbmRlbiBHcnVlbmRlbiBmdWVyIFZhcmlhbnRlICJiKSIuIE5pY2h0IGRhc3MKZGVyIHNlbGVrdGllcnRlIGJlZ3VlbnN0aWd0ZSBWZXJlaW4gc2ljaCB1bWZpcm1pZXJ0LCBhdWZsb2VzdCBvZGVyCnVua29zY2hlciB6dSB2ZXJoYWx0ZW4gYmVnaW5udC4KCkFkIEZvcm1hbGlhOiBOYWNoIG1laW5lbSBLZW5udG5pc3N0YW5kIC0gaWNoIGJpbiBhbGxlcmRpbmdzIGtlaW4gClBhcmFncmFwaGVudmVyc3RlaGVyIC0gbXVzcyBuaWNodCBkZXIgZ2VuYXVlIFdvcnRsYXV0IGRlciBBZW5kZXJ1bmcKaW4gZGVyIEVpbmxhZHVuZyBzdGVoZW4uIE51ciwgZGFzcyBlaW5lIFNhdHp1bmdzYWVuZGVydW5nIGJlc2NobG9zc2VuCndlcmRlbiBzb2xsIHVuZCBhdXNyZWljaGVuZCBFcmxhZXV0ZXJ1bmcsIGRhbWl0IGRlbiBNaXRnbGllZGVybiB6dW0KZWluZW4ga2xhciBpc3QsIHVtIHdhcyBlcyBnZWh0IHVuZCBpaG5lbiB6dW0gYW5kZXJlbiBkaWUgTW9lZ2xpY2hrZWl0CmRlciBFaW5mbHVzc25haG1lIGdlZ2ViZW4gaXN0LgoKRGllIEVybGFldXRlcnVuZ2VuIHNpbmQgamEgZGEuIEFiZXIgYXVmIGRlciBFaW5sYWR1bmcgc3RlaHQgbmlyZ2VuZHdvLApkYXNzIGF1ZiBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRpZSBTYXR6dW5nc2FlbmRlcnVuZyB0YXRzYWVjaGxpY2gKYXVjaCBiZXNjaGxvc3NlbiB3ZXJkZW4gc29sbC4KCk5hamEsIFplaXQgZ2VudWcgaXN0IG5vY2gsIHVtIGVpbmUgQWdlbmRhLUVyZ2Flbnp1bmcgbmFjaHp1cmVpY2hlbgooZGFubiBnZXJuIGF1Y2ggbWl0IGRlbSBhdWYgZGVyIE1haWxpbmdsaXN0ZSBnZWZ1bmRlbmVuIEtvbnNlbnMgenVyCkFlbmRlcnVuZyBkZXIgU2F0enVuZykuCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNpdHp1bmctc2F0enVuZ3NhZW5kZXJ1bmcgKFpvb2ssICAzLiBNYXIgMjAxMCwgMjI6MzI6MDcpOgp+IyEgcm49QW5hdG9sIHJ0PTEyNjczNTIzMDggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEyNjcxMzk4OTQKWnVtIEhpbnRlcmdydW5kOgoKSWNoIGhhYmUgbWFsIGZ1ZXIgZWluZW4gVmVyZWluIGRpZSBQYXJhZ3JhcGhlbiB6dXIgQXVmbG9lc3VuZyAKYXVzIGRlciBNRy1WZXJlaW5zc2F0enVuZyB1ZWJlcm5vbW1lbi4gRGFubiBoYXQgbWlyIChvaCBXdW5kZXIpCm1laW4gRmluYW56YW10IG5haGUgZ2VsZWd0LCBkYXMgenVyIFZlcm1vZWdlbnNiaW5kdW5nIGFuIGRpZQpnZXNldHpsaWNoZSBMYWdlIGFuenVwYXNzZW4uIEhhYmUgaWNoIGF1Y2ggZ2VtYWNodC4gR2luZyBhYmVyLAp6dW1pbmRlc3QgaW4gSGVzc2VuLCBzY2hpZWY6IEluIGRlciBFaW5sYWR1bmcgd2FyIGRlciBnZW5hdWUKV29ydGxhdXQgZGVyIFNhdHp1bmdzYWVuZGVydW5nIG5pY2h0IGVudGhhbHRlbiB1bmQgZGFzIFJlZ2lzdGVyZ2VyaWNodApoYXQgZGllIEFlbmRlcnVuZyBkYW5uIGVpbmZhY2ggbmljaHQgZWluZ2V0cmFnZW4uIEFsc28gendlaXRlCk1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBhYmhhbHRlbiB1bmQgZXJuZXV0IGFic3RpbW1lbiwgZGFubiBnaW5nIGVzLiAKClVuZCBpY2ggbWVpbmUsIGRhcyB3YWVyZSBlbnR3ZWRlciBkaXJla3QgYXVzIGRlbSBCR0Igb2RlciBFQkdCIG9kZXIKd2FzIGF1Y2ggaW1tZXIgYWJ6dWxlaXRlbiB1bmQgaWNoIGdsYXViZSwgZGEgaGFiZW4gUmVnaXN0ZXJnZXJpY2h0ZQphdWNoIGtlaW5lIGdyb3NzZSBTcGllbHJhZXVtZS4gV29obCBnZW1lcmt0OiAiaWNoIGdsYXViZSIsIGljaCB3ZWlzcwpuaWNodCwgaGFiZSBtb21lbnRhbiBhdWNoIGtlaW5lIFplaXQgZGFzIHp1IHBydWVmZW4uIEFiZXIgZGFzIApSZWdpc3RlcmdlcmljaHQgc29sbHRlIGRhcnVlYmVyIHZlcmJpbmRsaWNoIEF1c2t1bmZ0IGVydGVpbGVuIGtvZW5uZW4uCgpLb2VubnRlIG1hbiBzaWNoIGRlbm4gYXVmIGVpbmUgT3JnYW5pc2F0aW9uIGVpbmlnZW4sIGRpZSBkYXMgClZlcm1vZWdlbiBlcmhhbHRlbiBzb2xsPyAKCkFuc29uc3RlbiBrYW5uIG1hbiBtZWluZXMgV2lzc2VucyBhdWNoIGVpbmZhY2ggZGllIEZvcm11bGllcnVuZyBtaXQKZGVyIEtvZXJwZXJzY2hhZnQgb2VmZmVudGxpY2hlbiBSZWNodHMgbmVobWVuIHVuZCBzZWhyIGtsYXIgZGFybGVnZW4sCndlbGNoZSBad2Vja2UgZGFubiBkYW1pdCB2ZXJmb2xndCB3ZXJkZW4gc29sbGVuLiBPZGVyPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb3Rva29sbCAoR3VhcmQsIDEyLiBNYWkgMjAxMCwgMDk6MjU6MjUpOgpIYWxsbywKCmljaCB3b2xsdGUgbnVyIG1hbCBrdXJ6IGV2ZW50dWVsbGVuIEZyYWdlbiB2b3JiZXVnZW4uIEljaCBiaW4gbGVpZGVyIGltbWVyCm5vY2ggZGFiZWksIGRhcyBwcm90b2tvbGwgZGVyIFZlcnNhbW1sdW5nIHp1IHNjaHJlaWJlbi4gQmluIGF1Y2ggc2Nob24gZmFzdApmZXJ0aWcsIGxlaWRlciBsYXNzZW4gbWlyIG1laW5lIGJlcnVmbGljaGVuIFZlcnBmbGljaHR1bmdlbiBuaWNodCBzbyB2aWVsIFplaXQKdW5kIGRhbm4gbGFzcyBpY2ggZGVuIFN0aWNrIG1pdCBkZW4gRGF0ZW4gYXVjaCBtYWwgZ2VybmUgYW0gZmFsc2NoZW4gU3RhbmRvcnQKbGllZ2VuIChzY2hhZW0pIHNvIGRhc3Mgc2ljaCBkaWUgVmVyb2VmZmVudGxpY2h1bmcgdmVyem9lZ2VydC4gSWNoIGhvZmZlLCBkYXNzCmljaCBpbiBkZW4gbmFlY2hzdGVuIDIgV29jaGVuIGRpZSBTYWNoZSB6dW0gQWJzY2hsdXNzIGtyaWVnZSB1bmQgZGFubiBhdWNoIGRpZQpTYXR6dW5nc2FlbmRlcnVuZyBhbiBkYXMgRmluYW56YW10IHNjaGlja2UuIEljaCBtZWxkZSBtaWNoIG5vY2htYWwsIHdlbm4gZXMgc28Kd2VpdCBpc3QKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJZGVlIFByb2JsZW1hdGlrIEZpbmFuenVlYmVyZmx1c3MgKEdsb2luc29uLCAgOC4gTWFyIDIwMTEsIDIxOjM2OjE1KToKVGFjaCwKaW5zcGlyaWVydCB2b24gZGVyIG5ldHRlbiBFaW5sYWR1bmcgdW5kIGRlbSBkb3J0IHp1IGxlc2VuZGVuIEhpbndlaXMgYXVmIGRpZQpGaW5hbnpwcm9ibGVtYXRpazoKClBhcmFncmFmIDIuYikgZGVyIFNhdHp1bmcgKEZvZXJkZXJ1bmcpOiBrb2VubmVuIHdpciBkYXJ1bnRlciBuaWNodCBldmVudHVlbGwKYXVjaCBCdWVjaGVyYW5zY2hhZmZ1bmcgZnVlciBha3RpdmUgRXJ6bWFnaWVyIGltIEJlcmVpY2ggZGVyIFByb2dyYW1taWVydW5nCmFiZGVja2VuPwpTb3dhcyB3aWUgRG9uYWxkIEtudXRoIGluIFBhcGllciBvZGVyIFByb2pla3R2ZXJ3YWx0dW5nc2J1ZWNoZXIuCk5vY2ggZWluZW4gTUctU3RpY2tlciBpbiBkYXMgQnVjaCByZWluIHVuZCBnZ2YgYXVmIFBhcnRpZXMgYXVzdGF1c2NoYmFyIHdlbm4KRU1zIGF1c3NlciBEaWVuc3QgZ2VoZW4uCgpEYXMgTEQtUHJvamVrdCBhdWYgZ2l0aHViIGR1ZXJmdGUgc2ljaGVyIG5pY2h0IHVudGVyIGRpZSBLbGF1c2VsIGZhbGxlbiwgZnVlcgpGaW5hbnpzcHJpdHplbiBkb3J0aGluIG11ZXNzdGUgbWFuIHdhaHJzY2hlaW5saWNoIHdpZWRlciBkaWUgU2F0enVuZyBhZW5kZXJuCjspCgpLcmlzY2hhbiBha2EgR2xvaW4KClBTOiBVbWxhdXRlIHNpbmQgZG9vZi4gSWhyZSBXaXJrdW5nIGF1ZiBtZWluIHRmIGJlc29uZGVycyBkb29mLgpQUFM6IFRMO0RSIGZ1ZXIgQ2hhZ2FsbDogVmVyZWluIGthdWZ0IGRpciBHUlJNLCBzZXR6dCBlcyBhbHMgTGVocmxla3R1ZXJlIGFiLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJZGVlIFByb2JsZW1hdGlrIEZpbmFuenVlYmVyZmx1c3MgKFplc3N0cmEsICA5LiBNYXIgMjAxMSwgMDA6MTk6NTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI5OTYxNjU3NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTI5OTYxNjU3NQpJY2ggZmluZGUgZGllIElkZWUgZ3V0LgpCVFcgTERNdWQ6IGluIGRlbSBadXNhbW1lbmhhbmcgaXN0IGRpZSBQZXJzb25hbHVuaW9uIGVpbmVzIExETXVkLUVudHdpY2tsZXJzCnVuZCBlaW5lcyBFTXMgaGllciB2aWVsbGVpY2h0IGdhbnogcHJha3Rpc2NoLgoKWnVtIFRoZW1hIFZvcnRyYWVnZSBhdWYgUGFydGllczoKSWNoIGJpZXRlIGZ1ZXIgZGllIGtvbW1lbmRlIFBhcnR5IGluIERyZXNkZW4gYW4sIGVpbmUgRGlza3Vzc2lvbnNydW5kZSB6dW0KVGhlbWEgZ2l0ICh1bmQgVmVyc2lvbnN2ZXJ3YWx0dW5nKSB1bmQgZWluZSB6dSAoYXVzZ2V3YWVobHRlbikgRnJhZ2VuIHp1cgpNdWRsaWIgYWJ6dWhhbHRlbi4KU3BlemllbGwgenUgendlaXRlcmVtIGJpZXRldCBlcyBzaWNoIG5hdHVlcmxpY2ggYW4sIG1pciB2b3JoZXIgQmVzY2hlaWQKenVzYWdlbiB1bmQgbWlyIG1pdHp1dGVpbGVuLCB3YXMgZXVjaCBzcGV6aWVsbCBpbnRlcmVzc2llcnQsIGRhbm4gaWNoIG1pY2gKKHVuZCBnZ2YuIE1hdGVyaWFsKSB2b3JoZXIgdm9yYmVyZWl0ZW4uIEVzIGdlaHQgYXVjaCB2aWVsIHNwb250YW4sIGRlbmsgaWNoLgpTcHJlY2h0IG1pY2ggZGEgZWluZmFjaCBhbiwgd2VubiBpaHIgSW50ZXJlc3NlIGhhYnQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm90b2tvbGwgVmVyZWluc3NpdHp1bmcgdm9tIDA5LjA0LiAoR3VhcmQsIDI3LiBBcHIgMjAxMSwgMTY6MzA6MDEpOgpIaSwKCnNvd29obCBFaW5sYWR1bmcgYWxzIGF1Y2ggUHJvdG9rb2xsIHNpbmQgYXVmIGRlciBWZXJlaW5zd2Vic2VpdGUKdmVyb2VmZmVudGxpY2h0IHdvcmRlbi4gQXVmZ3J1bmQgZGVzIGZlaGxlbmRlbiBLYXNzZW5iZXJpY2h0ZXMgd2lyZCBlcyBhdWYgZGVyClNvbW1lcnBhcnR5IG5vY2ggZWluZSBTaXR6dW5nIGdlYmVuLiBTb2JhbGQgZGVyIFRlcm1pbiBmZXN0c3RlaHQsIGdlaGVuIGRpZQpFaW5sYWR1bmdlbiByYXVzLgoKZ3J1c3MKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaXR6dW5nIFNvbW1lcnBhcnR5IHdpcmQgdmVyc2Nob2JlbiAoR3VhcmQsIDI0LiBKdWwgMjAxMSwgMjI6MzY6NTcpOgpIYWxsbywKCmRhIHdpciBpbSBWb3JzdGFuZCBnZXJhZGUgbWl0IHVuc2VyZW0gUmVhbC1MaWZlIG9yZGVudGxpY2ggenUgdHVuIGhhYmVuLCBoYWJlbgp3aXIgYmVzY2hsb3NzZW4sIGRpZSBTaXR6dW5nIGF1ZiBkaWUgRnJ1ZWhqYWhyc3BhcnR5IHp1IHZlcnNjaGllYmVuLiBEZXIgYWx0ZQpWb3JzdGFuZCBibGVpYnQgYWxzbyBiaXMgZGFoaW4gaW0gQW10IHVuZCBpc3QgbmljaHQgZW50bGFzdGV0LiBEYXMgZ2lidCB1bnMKYXVjaCBldHdhcyBtZWhyIFplaXQsIGRlbiBLYXNzZW5iZXJpY2h0IG9yZG51bmdzZ2VtYWVzcyB6dSBlcnN0ZWxsZW4uCgpTb3JyeSB1bmQgZGFua2UgZnVlciBFdWVyIFZlcnN0YWVuZG5pcwoKR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlYmNsaWVudDogQXZhdGFyLUJpbGRjaGVuIFJhc3NlL0dlc2NobGVjaHQgKFplc3N0cmEsICA0LiBTZXAgMjAxMSwgMTQ6Mjk6MzMpOgpEZXIgV2ViY2xpZW50LCBkZW4gTWVzaXJpaSBhbmdlZmFuZ2VuIGhhdCwgc29sbCBqYSBBdmF0YXJiaWxkY2hlbiBmdWVyIGRpZQpDaGFycyBhbnplaWdlbi4gV2VubiBkZXIgU3BpZWxlciBrZWluIEJpbGRjaGVuIGFuZ2lidCwgc29sbCBkZXIgdm9yZGVmaW5pZXJ0ZQpCaWxkY2hlbiwgZnVlciBqZWRlIEtvbWJpbmF0aW9uIGF1cyBSYXNzZStHZXNjaGxlY2h0IGVpbnMuCldpciBoYXR0ZW4gZ2VzdGVybiBiZWltIEdyaWxsZW4gbWFsIGRhcnVlYmVyIGRpc2t1dGllcmVuLCB3aWUgbWFuIGFuIHNjaG9lbmUKQmlsZGVyIGZ1ZXIgZGVuIFp3ZWNrIHJhbmtvbW10IHVuZCBkaXNrdXRpZXJ0LCBvYiBtYW4gZGFzIG5pY2h0IGJlaSBlaW5lcgpJbGx1c3RyYXRvcmluIGJlYXVmdHJhZ3QuIChVbSBnZW5hdSB6dSBzZWluLCBkYWNodGVuIHdpciBzcG9udGFuIGFuIENhcnlhZCwKZGllIGZ1ZXIgTWlyaWwgbWFsIE5lZGltZSBnZXplaWNobmV0IGhhdDogaHR0cDovL3d3dy5taXJpbC5kZS9OZWRpbWUyYi5KUEcpLgpEdWVyZnRlIGRlciBWZXJlaW4gc293YXMgYmV6YWhsZW4/CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ViY2xpZW50OiBBdmF0YXItQmlsZGNoZW4gUmFzc2UvR2VzY2hsZWNodCAoQmFtYmksICA0LiBTZXAgMjAxMSwgMTc6NDY6MjcpOgp+IyEgcm49WmVzc3RyYSBydD0xMzE1MTM5MzczIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzE1MTM5MzczCkRpZSBWZXJlaW5zc2F0enVuZyBkZWNrdCBkYXMgbWVpbmVyIE1laW51bmcgbmFjaCBuaWNodCBkaXJla3QgYWIuIERpZSBGcmFnZQppc3QgYXVzc2VyZGVtLCB2b24gd2VsY2hlbiBLb3N0ZW4gd2lyIGhpZXIgcmVkZW4uIFdlbm4gd2lyLCByZWluIGh5cG90aGV0aXNjaApnZXNwcm9jaGVuLCBtaXQgbmVtIEZ1ZmZpIGRhdm9ua29tbWVuLCBzZWhlIGljaCBrZWluIFByb2JsZW0sIGRhcyB6dQpmaW5hbnppZXJlbiB1bmQgcGVyIFNvbmRlcnNwZW5kZW4genUgZGVja2VuIC0gb2RlciBzby4gQmVpIHJlbGV2YW50ZW4KQmV0cmFlZ2VuIChUQkQpIHd1ZXJkZSBpY2ggZWluZSBncmFmaXNjaGUgQXVmcGVwcHVuZyBlaW5lcyB0ZXh0YmFzaWVydGVuClNwaWVscyBlaGVyIG5pY2h0IG1vbmV0YWVyIHVudGVyc3R1ZXR6ZW4gd29sbGVuLgoKQmFtYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWJjbGllbnQ6IEF2YXRhci1CaWxkY2hlbiBSYXNzZS9HZXNjaGxlY2h0IChNaXJpbCwgIDUuIFNlcCAyMDExLCAxMjo0NjoxNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEzMTUxMzkzNzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzMTUxMzkzNzMKSWNoIGhhYiBnZXN0ZXJuIG1hbCBtaXQgQ2FyeWFkcyBGcmV1bmQgZ2VzcHJvY2hlbi4gTW9tZW50YW4gaGF0IHNpZSB3b2hsIHp3ZWkKZ3JvZXNzZXJlIEF1ZnRyYWVnZSwgYWJlciBkYW5hY2ggZ2luZyBzb3dhcyB3b2hsLgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWJjbGllbnQ6IEF2YXRhci1CaWxkY2hlbiBSYXNzZS9HZXNjaGxlY2h0IChNZXNpcmlpLCAgNi4gU2VwIDIwMTEsIDEzOjE5OjM4KToKfiMhIHJuPU1pcmlsIHJ0PTEzMTUyMTk1NzUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzMTUxMzkzNzMKSG1tIHNpbmQgamEgbmljaHQgc292aWVsZSBTcGllbGVyLCB1bmQgZWluIEF2YXRhci1CaWxkY2hlbiBpc3QgamEgZWhlciBzbwoxMDB4MTAwCnBpeGVsIGdyb3NzIGFsc28gbnVyIGVpbiBLb3BmIG9kZXIgZWluIGRldGFpbGFlcm1lcmVzIEJpbGQuCkdnZi4ga29lbm50ZSBtYW4gaGFsdCBuZSBTZWxla3Rpb24gdm9uIEJpbGRlcm4gbWFjaGVuIGF1cyBkZW5lbiBtYW4gc2ljaCB3YXMKYXVzc3VjaGVuCmthbm4uCldpZSBpY2ggc2Nob24gYmVpbSBDbGllbnQgZ2VzY2hyaWViZW4gaGFiZSBnaWJ0cyBuZW4gcGFhciBXZWJzaXRlcyBkaWUgbmV0dGUKRmFudGFzeQpBdmF0YXItQmlsZGVyIGFuYmlldGVuICh6LnQuIGF1Y2ggZnJlaSBudXR6YmFyKS4KTWFuIG11ZXNzdGUgaGFsdCB3aXNzZW4sIHdhcyBzaWUgcHJvIEF2YXRhciBoYWJlbiBtb2VjaHRlLgoKR3J1c3MgTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ViY2xpZW50OiBBdmF0YXItQmlsZGNoZW4gUmFzc2UvR2VzY2hsZWNodCAoRGFya2xvciwgMTQuIFNlcCAyMDExLCAyMTo1ODo0OCk6Cn4jISBybj1NZXNpcmlpIHJ0PTEzMTUzMDc5Nzggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzMTUxMzkzNzMKR2FicyBpbSBNdWQgc2VsYnN0IG5pY2h0IGdlbnVnIGJlZ2FidGUgS3VlbnN0bGVyLCBkaWUgc28gZXR3YXMgdmllbGxlaWNodAptYWNoZW4ga29lbm50ZW4gLyB3dWVyZGVuPyBVbmQgbXVlc3N0ZSBtYW4gbmljaHQgYXVjaCBmdWVyIGVpbiBrbGVpbmVzCkF2YXRhcmJpbGRjaGVuIGVyc3RlaW5tYWwgZWluZSBncm9lc3NlcmUgVm9ybGFnZSB6ZWljaGVuZW4gKG5hdHVlcmxpY2ggbmljaAptaXQgenUgdmllbGVuIERldGFpbHMpLCBkaWUgbWFuIGRhbm4gZXJzdCB3aWVkZXIgZWluc2NocnVtcGZ0PwoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ViY2xpZW50OiBBdmF0YXItQmlsZGNoZW4gUmFzc2UvR2VzY2hsZWNodCAoTWVzaXJpaSwgMTQuIFNlcCAyMDExLCAyMzoyNjoyMik6Cn4jISBybj1EYXJrbG9yIHJ0PTEzMTYwMzAzMjggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzMTUxMzkzNzMKV2lyIGtvZW5uZW4gamEgQVNDSUktQXJ0IG5laG1lbiA6KQpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJlaW5zdmVyc2FtbWx1bmdlbiBvbmxpbmUgbW9lZ2xpY2g/IChBcmF0aG9ybiwgMjYuIEphbiAyMDEyLCAwMDozMzowOCk6CkhpaG8sCgpkZXIgQXJ0aWtlbCBoaWVyIGxpZWYgbWlyIGdlcmFkZSB1ZWJlciBkZW4gV2VnLCB2aWVsbGVpY2h0IHNvbGx0ZSBzaWNoCmRhcyBtYWwgamVtYW5kIGFuc2NoYXVlbiwgZGVyIHNpY2ggZGFtaXQgYmVzc2VyIGF1c2tlbm50LCB1bmQgcHJ1ZWZlbiwgb2IKbmljaHQgYXVjaCB3aXIgdW5zZXJlIFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIG9ubGluZSBhYmhhbHRlbiBrb2VubnRlbjoKCmh0dHA6Ly9iaXQubHkvd0Y1OHdMCgpHcnVzcywgQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyZWluc3ZlcnNhbW1sdW5nZW4gb25saW5lIG1vZWdsaWNoPyAoWm9vaywgMjYuIEphbiAyMDEyLCAwODozMjowMCk6Cn4jISBybj1BcmF0aG9ybiBydD0xMzI3NTM0Mzg4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzI3NTM0Mzg4CkljaCBzZWhlIGRhbm4gc2Nob24gYmVpIGVpbmVyIE1HLVBhcnR5IHp1ciB6ZWl0Z2xlaWNoIHN0YXR0ZmluZGVuZGVuCk1WIGFsbGUgbWl0IE5vdGVib29rcywgUGFkcyBldGMuIGF1Zm0gQ2FtcGluZ3BsYXR6IHNpdHplbiB1bmQgbmFjaApTY2hhdHRlbiBzdWNoZW4sIGRhbWl0IHNpZSB3YXMgYXVmIGRlbiBTY2hpcm1lbiBlcmtlbm5lbiBrb2VubmVuLiAKClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJlaW5zdmVyc2FtbWx1bmdlbiBvbmxpbmUgbW9lZ2xpY2g/IChab29rLCAyNi4gSmFuIDIwMTIsIDA4OjMyOjEwKToKfiMhIHJuPUFyYXRob3JuIHJ0PTEzMjc1MzQzODggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzMjc1MzQzODgKSW0gRXJuc3Q6IEd1dGUgSWRlZSEKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWt0dWFsaXRhZXQgZGVyIE1pdGdsaWVkZXJkYXRlbiAoR3VhcmQsIDEyLiBNYXIgMjAxMiwgMTk6NTI6MDUpOgpIYWxsbyBhbGxlcnNlaXRzLAoKZGllIEVpbmxhZHVuZ2VuIGZ1ZXIgZGllIFZlcnNhbW1sdW5nIGFtIFNhbXN0YWcgc2luZCBqYSB2ZXJzY2hpY2t0LiBXZXIga2VpbmUKYmVrb21tZW4gaGF0LCBzb2xsdGUgc2VpbmUgQWRyZXNzZSBiZWltIFZlcmVpbiBtYWwgYWt0dWFsaXNpZXJlbiEKRGEgZGVyIFZlcnRlaWxlciB2ZXJlaW5AbWcubXVkLmRlIGxlaWRlciBuaWNodCB6dXZlcmxhZXNzaWcgZnVua3Rpb25pZXJ0LApiaXR0ZSBkaWUgZGF0ZW4gYW4gZ3VhcmRAdHJ2ZXMuZGUgc2NoaWNrZW4uCgpEYW5rZQoKR3VhcmQKU2NocmlmdGZ1ZWhyZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBa3R1YWxpdGFldCBkZXIgTWl0Z2xpZWRlcmRhdGVuIChaZXNzdHJhLCAxMi4gTWFyIDIwMTIsIDE5OjU0OjUzKToKfiMhIHJuPUd1YXJkIHJ0PTEzMzE1NzgzMjUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzMzE1NzgzMjUKQW0gYmVzdGVuIGtlaW5lbiBHZWRhbmtlbiBhbiBCcm9kZXIgdmVyc2Nod2VuZGVuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFrdHVhbGl0YWV0IGRlciBNaXRnbGllZGVyZGF0ZW4gKENhbGRyYSwgMTIuIE1hciAyMDEyLCAyMDoxOTo1Mik6Cn4jISBybj1HdWFyZCBydD0xMzMxNTc4MzI1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzMxNTc4MzI1CmRhcyBQcm9ibGVtIGlzdCBuYXR1ZXJsaWNoIHZvcnN0YW5kQG1nLm11ZC5kZSB1bmQgbmljaHQgZGVyIHZlcmVpbnN2ZXJ0ZWlsZXIKCmkuQS4gQ2FsZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbGxlcyBHdXRlIGRlbSBuZXVlbiBhbHRlbiBWb3JzdGFuZCEgKFplc3N0cmEsIDE4LiBNYXIgMjAxMiwgMjI6Mzg6MTQpOgpBbiBkaWVzZXIgU3RlbGxlIGF1Y2ggbm9jaG1hbCBoaWVyIGVpbmVuIEdsdWVja3d1bnNjaCBkZW0gbmV1ZW4gYWx0ZW4gVm9yc3RhbmQKdW5kIGFsbGVzIEd1dGUgZnVlciBkaWUga29tbWVuZGVuIHp3ZWkgSmFocmUhCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWxsZXMgR3V0ZSBkZW0gbmV1ZW4gYWx0ZW4gVm9yc3RhbmQhIChWYW5pb24sIDIwLiBNYXIgMjAxMiwgMjE6NDc6NTMpOgp+IyEgcm49WmVzc3RyYSBydD0xMzMyMTA2Njk0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzMyMTA2Njk0Ckh1Y2gsIGljaCBiaW4gaW1tZXIgbm9jaCBLYXNzaWVyZXI/IFdhcnVtIHNjaHJlaWJ0IG1pciBkYXMga2VpbmVyPyBIYWIgYXVmCmVpbmVuIFVyc3VwYXRvciBnZWhvZmZ0LiBCaW4gaWNoIHdlbmlnc3RlbnMgZW50bGFzdGV0PwoKVioKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWxsZXMgR3V0ZSBkZW0gbmV1ZW4gYWx0ZW4gVm9yc3RhbmQhIChaZXNzdHJhLCAyMC4gTWFyIDIwMTIsIDIxOjUxOjEyKToKfiMhIHJuPVZhbmlvbiBydD0xMzMyMjc2NDczIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzMyMTA2Njk0CkhhYmVuIHdpciBkYXMgZ2VtYWNodD8gTWhtbW0sIGphLCBkb2NoLCB3aXIgd2FyZW4gc28gbmV0dC4gT2J3b2hsIGlociBlaW5lbgpLYXNzZW5wcnVlZmVyIHVlYmVyZ2FuZ2VuIGhhYnQuLi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsbGVzIEd1dGUgZGVtIG5ldWVuIGFsdGVuIFZvcnN0YW5kISAoQ2FsZHJhLCAyNC4gTWFyIDIwMTIsIDEzOjA4OjMyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTMzMjI3NjY3MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTMzMjEwNjY5NApCaW4gZ2VyYWRlIGRhYmVpLCBkYXMgUHJvdG9rb2xsIHp1IHNjaHJlaWJlbiwgc29ycnksIGRhc3MgRHUgdm9uIERlaW5lbSBHbHVlY2sKbmljaHQgZ2xlaWNoIGVyZmFocmVuIGhhc3QgOi0pCgpDYWxkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFsbGVzIEd1dGUgZGVtIG5ldWVuIGFsdGVuIFZvcnN0YW5kISAoVmFuaW9uLCAyNS4gTWFyIDIwMTIsIDE5OjQ4OjI0KToKfiMhIHJuPUNhbGRyYSBydD0xMzMyNTkwOTEyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzMyMTA2Njk0ClByaW1hLCAKCndlbm4gRHUgZXMgZmVydGlnIGhhc3QsIHNjaGlja2UgZXMgbWlyIGJpdHRlIGdsZWljaC4gRGFubiBrYW5uIGljaCBkaWUKU3RldWVyZXJrbGFlcnVuZyBmZXJ0aWcgbWFjaGVuLiBFaW4gSm9iIGRlbiBpY2ggbGllYmVyIGhpbnRlciBtaXIgYWxzIHZvciBtaXIKaGFiZS4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5zdGllZ3NoaWxmZSBmdWVyIE5ldS1NYWdpZXIgKENhbGRyYSwgMjkuIE1hciAyMDEyLCAyMTowODozMSk6CkF1ZiBkZXIgVmVyZWluc3ZlcnNhbW1sdW5nIHd1cmRlIGJlc2NobG9zc2VuLCBhbGxlbiBOZXUtTWFnaWVybiBhbHMKRWluc3RpZWdzZXJsZWljaHRlcnVuZyBhdWYgV3Vuc2NoIGVpbiBFeGVtcGxhciB2b24gU2hha2VkYmVlcnMKUHJvZ3JhbW1pZXItSGFuZGJ1Y2ggIkpldHp0IGxlcm5lIGljaCBPT1AiIHp1ciBWZXJmdWVndW5nIHp1IHN0ZWxsZW4hIFdlciBhbHNvCkludGVyZXNzZSBoYXQsIG1haWx0IE1lc2lyaWkgYW0gYmVzdGVuIGVpbmUgTWFpbCBtaXQgc2VpbmVyIEFkcmVzc2UgdW5kCmJla29tbXQgZGFubiBkYXMgQnVjaCB6dWdlc2NoaWNrdC4gVmllbGVuIERhbmsgYW4gU2hha2VkYmVlciBmdWVyIGRpZQpCZXJlaXRzdGVsbHVuZyBkZXIgQnVlY2hlciEhISEKCkNhbGRyYS9HdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvdG9rb2xsIGRlciBNaXRnbGllZGVydmVyc2FtbWx1bmcgMjAxMiAoQ2FsZHJhLCAyOS4gTWFyIDIwMTIsIDIyOjAzOjUzKToKRGFzIFByb3Rva29sbCBpc3QgZmVydGlnZ2VzdGVsbHQgdW5kIG9ubGluZSB2ZXJmdWVnYmFyOgpodHRwOi8vbWcubXVkLmRlL3ZlcmVpbi90ZXh0ZS9wcm90b2tvbGwyMDEyLnNodG1sCgpDYWxkcmEvR3VhcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChEZWFud29vZCwgMTEuIEphbiAyMDEzLCAyMToyMzoyNyk6CkhhbGxvLAppY2ggdHJhZ2UgbWljaCBtaXQgZGVtIEdlZGFua2VuIGRlbSBGb2VyZGVydmVyZWluIGJlaXp1dHJldGVuLCBsZWlkZXIgYmluIGljaApiZXJ1ZmxpY2ggc3RhcmsgZ2VidW5kZW4gdW5kIGthbm4Ka2F1bSwgYXVmIEdydW5kIG1laW5lciBUYWV0aWdrZWl0LCBkZW4gT3J0IHZlcmxhc3NlbiB1bmQgd2VubiBtZWlzdCBudXIgZnVlcgprdXJ6ZSBaZWl0LgpEaWUgVmVycGZsaWNodHVuZyBhdWYgVmVyZWluc3ZlcnNhbW1sdW5nZW4gZXJzY2hlaW5lbiB6dSBrb2VubmVuLCB3YWVyZSBmdWVyCm1pY2ggbmljaHQgZXJmdWVsbGJhciwga2FubiBpY2ggZGF2b24gZW50YnVuZGVuIHdlcmRlbiBvZGVyIGthbm4gaWNoIGtlaW4KTWl0Z2xpZWQgd2VyZGVuIHdlbm4gaWNoIGRpZXNlIFBmbGljaHQgbmljaHQgZWluaGFsdGVuIGthbm4/CkV1ZXIgRGVhbldvb2QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKEJ1Z2ZpeCwgMTEuIEphbiAyMDEzLCAyMTo0NTowNyk6Cn4jISBybj1EZWFud29vZCBydD0xMzU3OTM1ODA3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3Ck1vaW4gRGVhbldvb2QsCgpFcyBnaWJ0IGtlaW5lIFBmbGljaHQgYmVpIGRlbiBWZXJlaW5zdmVyc2FtbWx1bmdlbiBhdWZ6dXRhdWNoZW4uIEVzIHNpbmQgCm5pY2h0bWFsIGltbWVyIGFsbGUgTWl0Z2xpZWRlciBkZXMgVm9yc3RhbmRzIGRhLiBXZXIgbmljaHQga2FubiBrYW5uIGhhbHQgCm5pY2h0LiBHaWJ0IGJlc3RpbW10IGVpbmlnZSBNaXRnbGllZGVyLCBkaWUgbm9jaCBhdWYga2VpbmVyIGVpbnppZ2VuIHdhcmVuLgoKR3J1c3MKQkYgKFh1dGVsaXVzLCBzdGVsbHZlcnRyZXRlbmRlciBWb3JzaXR6ZW5kZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKFplc3N0cmEsIDExLiBKYW4gMjAxMywgMjI6MzE6MjMpOgp+IyEgcm49RGVhbndvb2QgcnQ9MTM1NzkzNTgwNyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpTb2xhbmdlIER1IGRhbWl0IGxlYmVuIGthbm5zdCwgZGFzcyBEdSBiZWkgQWJ3ZXNlbmhlaXQgYmVpIGRlbiBFbnRzY2hlaWR1bmdlbgpEZWluIFN0aW1tcmVjaHQgYWxzIE1pdGdsaWVkIG5pY2h0IGF1c3VlYmVuIGthbm5zdCwgaXN0IGRhcyBrZWluIFByb2JsZW0uLi4KUGVyc29lbmxpY2hlIFRyZWZmZW4gdW5kIElkZWVuYXVzdGF1c2NoIHNpbmQgbmF0dWVybGljaCBlcnd1ZW5zY2h0LCBkYXMgZGFzIGphCmtlaW5lIFBmbGljaHQuIDstKSBBdWNoIHdlbm4gZGllIFZlcnNhbW1sdW5nIGdlcmFkZSBhbSBhbmRlcmVuIEVuZGUgZGVyClJlcHVibGlrIGlzdCwgd3VlcmRlIGljaCBuaWNodCBpbW1lciBoaW5mYWhyZW4uLi4gKmcqCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChEZWFud29vZCwgMTEuIEphbiAyMDEzLCAyMjozODoxMyk6Cn4jISBybj1CdWdmaXggcnQ9MTM1NzkzNzEwNyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpIYWxsbyBYdXRlbGl1cywKdmllbGVuIERhbmssIGZ1ZXIgZGllIEFudHdvcnQuIEljaCB3ZXJkZSBkZW4gQW50cmFnIGF1c2Z1ZWxsZW4gdW5kIEV1Y2ggcGVyClBvc3QgaW4gY2EuIDE0IFRhZ2VuIHp1IGtvbW1lbiBsYXNzZW4sIGluIGRlciBIb2ZmbnVuZyBkYXNzIG1hbiBtaWNoIGFscwpNaXRnbGllZCBha3plcHRpZXJlbiB3aXJkLgpFdWVyIERlYW5Xb29kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKFpvb2ssIDEyLiBKYW4gMjAxMywgMTg6NTE6MTgpOgp+IyEgcm49RGVhbndvb2QgcnQ9MTM1Nzk0MDI5MyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpXdW5kZXJiYXIsIGhlcnpsaWNoIHdpbGxrb21tZW4hCgpJY2ggZ2xhdWJlLCBlcyBnYWIgYXVjaCBkaWUgSW5pdGlhdGl2ZSwgZGllIFNhdHp1bmcgZGFoaW5nZWhlbmQKYW56dXBhc3NlbiwgZGFzcyBzbyBlaW5lIEFydCAiT25saW5lIi1WZXJzYW1tbHVuZyBiencuIGRpZSBoaW56dW5haG1lCnZvbiB2aWEgSW50ZXJuZXQgbWl0dmVyZm9sZ2VuZGVuIE1pdGdsaWVkZXJuIGdlcGxhbnQgd2FyOyBrYW5uIGFiZXIKc2VpbiwgaWNoIGhhYmUgZGFzIGlyZ2VuZHdpZSBmYWxzY2ggbWl0YmVrb21tZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKERlYW53b29kLCAxMi4gSmFuIDIwMTMsIDE5OjE4OjU5KToKfiMhIHJuPVpvb2sgcnQ9MTM1ODAxMzA3OCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpEYXMgd2FlcmUgYWxsZXJkaW5ncyBiZWdydWVzc2Vuc3dlcnQsIHp1bWluZGVzdCB3dWVyZGUgZGllcyBhdWNoIGplbmUKZXJtdXRpZ2VuIGFscyBNaXRnbGllZCBiZWl6dXRyZXRlbiBkaWUgd2VpdGVyIHdlZyB3b2huZW4gdW5kIHRyb3R6ZGVtIGRhc3MKVmVyZWluc2dlc2NoZWhlbiBtaXRiZXN0aW1tZW4gbW9lY2h0ZW4uIERhcyBTdGltbXJlY2h0IGxhZXNzdCBzaWNoLCBzb2Zlcm4gZGllCnRlY2huaXNjaGVuIFZvcmF1c3NldHp1bmdlbiBkYSBzaW5kIGF1Y2ggb25saW5lIGF1c3VlYmVuLgpEZWFuV29vZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChab29rLCAxMi4gSmFuIDIwMTMsIDE5OjQyOjQzKToKfiMhIHJuPURlYW53b29kIHJ0PTEzNTgwMTQ3Mzkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKSmEsIGRhcyB3YXJlbiB3b2hsIGF1Y2ggZGllIEJld2VnZ3J1ZW5kZTsgYWJlciBpY2ggd2Vpc3MgbW9tZW50YW4gbmljaHQsIAp3YXMgZHJhdXMgZ2V3b3JkZW4gaXN0LgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKFplc3N0cmEsIDEyLiBKYW4gMjAxMywgMTk6NTE6MDIpOgp+IyEgcm49Wm9vayBydD0xMzU4MDE2MTYzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3CkVzIGlzdCBub2NoIHVudGVyd2Vncy4uLiBVbmQgaWNoIGVyaW5uZXJlIG1pY2gsIGRhc3MgaWNoIHZlcnNwcm9jaGVuIGhhYmUsCmVpbmVuIFZlcnNhbW1sdW5nc3JhdW0gZGFmdWVyIHp1IHNjaHJlaWJlbi4gVXJrcy4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChab29rLCAxMy4gSmFuIDIwMTMsIDEyOjA3OjEwKToKfiMhIHJuPVplc3N0cmEgcnQ9MTM1ODAxNjY2MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpNdW1ibGU/CldPYmVpLCBpY2ggaGFiZSBkYSBuZXVsaWNoIGVpbmUgZHQuIE9wZW4tU291cmNlLVNXIGZ1ZXIgIlNpdHp1bmdzLQp1bnRlcnN0dWV0enVuZ2VuIiAobWl0IEFCc3RpbW11bmdlbiwgbWl0IFRhZ2Vzb3JkbnVuZ2VuIGV0Yy4pCmlyZ2VuZHdvIGdlc2VoZW4uLi4KClNPbGwgaWNoIG1hbCBpbSBBYmdydW5kIG1laW5lciBMZXNlemVpY2hlbiBndWNrZW4/Cgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoWmVzc3RyYSwgMTMuIEphbiAyMDEzLCAxMjowOTozNCk6Cn4jISBybj1ab29rIHJ0PTEzNTgwNzUyMzAgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKS2FubnN0IER1IGphIG1hbCBtYWNoZW4sIHNpbm52b2xsZSBWb3JzY2hsYWVnZSBzaW5kIGphIGltbWVyIGd1dC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChab29rLCAxMy4gSmFuIDIwMTMsIDEyOjExOjA0KToKfiMhIHJuPVplc3N0cmEgcnQ9MTM1ODA3NTM3NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpTY2hhdXN0IG1hbCBoaWVyOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy9PcGVuLVNvdXJjZS1WZXJzYW1tbHVuZ3NzeXN0ZW0tbWl0LVBsZW4KdW0tMTc2NjI1My5odG1sCgprdWVyemVyOiBodHRwOi8vaGVpc2UuZGUvLTE3NjYyNTMKClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoWmVzc3RyYSwgMTMuIEphbiAyMDEzLCAxMzozODozMik6Cn4jISBybj1ab29rIHJ0PTEzNTgwNzU0NjQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKU3RpbW10LCBkaWUgTWVsZHVuZyBoYXR0ZSBpY2ggYXVjaCBnZXNlaGVuLiBJY2ggZ2xhdWJlLCBlaW5lIElkZWUgYmVpIGRlbSBSYXVtCndhciwgZGFzcyBtYW4gc28gbmljaHQgZHJhdWYgYWNodGVuIG11c3MsIG9iIGVpbmUgIlplc3N0cmEiIHdpcmtsaWNoIGRlbSBDaGFyCiJaZXNzdHJhIiBpbSBNRyBlbnRzcHJpY2h0LgpNaXQgd2FzIGV4dGVybmVtIG11c3MgbWFuIGhhbHQgZXJzdCBEYXRlbmFiZ2xlaWNoIG1hY2hlbi4gV2FzIG11ZWhzYW0gaXN0LAp3ZWlsIGRpZSBTaXR6dW5nZW4gamEgb2VmZmVudGxpY2ggc2luZCB1bmQgbmljaHQgbnVyIE1pdGdsaWVkZXIga29tbWVuCmtvZW5uZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoRGVhbndvb2QsIDE0LiBKYW4gMjAxMywgMTQ6MjM6NTgpOgp+IyEgcm49Wm9vayBydD0xMzU4MDc1MjMwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3Ck11bWJsZSBoYWx0ZSBpY2ggbmljaHQgZnVlciBlbXBmZWhsZW5zd2VydCwgZGllIFNvZnR3YXJlIGlzdCB6d2FyIGd1dCBqZWRvY2gKZWluIHdlbmlnIGtvbXBsaXppZXJ0IGluIGRlciBFaW5yaWNodHVuZy4gRGEgaWhyIHNjaG9uIGVpbmVuIFRTMyBTZXJ2ZXIgaGFidAp3dWVyZGUgaWNoIHZvcnNjaGxhZ2VuIGRlbiB3ZWl0ZXJoaW4genUgbnV0emVuLiBBdWYgYmVzdGltbXRlIENoYW5uZWxzL1JhZXVtZQpsYXNzZW4gc2ljaCBqYSBhdWNoIFBhc3N3b3J0ZSBzZXR6ZW4gb2RlciBadWdyaWZmZS9FaW50cml0dCB2aWEgUmVjaHRlc3lzdGVtCnN0ZXVlcm4uIEF1c3NlciBlaW5lciBuaWVkcmlnZXJlbiBMYXRlbnp6ZWl0IHdhcyBpbiB1bnNlcmVtIEZhbGxlIGVoZXIgYWxzCk5hY2hyYW5naWcgenUgYmV0cmFjaHRlbiBpc3QsIHd1ZXNzdGUgaWNoIGpldHp0IG5pY2h0IHdhcnVtIHdpciBNdW1ibGUgZGVuClZvcnp1ZyBnZWJlbiBzb2xsdGVuLiBEYSBNRyBhbHMgZVYgYW5lcmthbm50IGlzdCB1bmQgZGVuIFRTMyBudXIgZnVlciBlaWdlbmUKWndlY2tlIG51dHp0IHNvbGx0ZSBlaW5lciBOb24gUHJvZml0IExpemVueiBuaWNodHMgaW0gV2VnZSBzdGVoZW4gdW5kIHNvbWl0CmRpZSBrb3N0ZW5sb3NlIE51dHp1bmcgbW9lZ2xpY2ggc2Vpbi4KRmFsbHMgbWlyIGplZG9jaCBkaWVzYmV6dWVnbGljaCBldHdhcyBlbnRnYW5nZW4gc2VpbiBzb2xsdGUgdW5kIGVzIGVpbmVuCmJlc29uZGVyZW4gR3J1bmQgZ2lidCBNdW1ibGUgc3RhdHQgVFMgZWluenVzZXR6ZW4gd2FlcmUgZXMgZnVlciBtaWNoIGplZG9jaAphdWNoIGludGVyZXNzYW50IHp1IHdpc3NlbiB3ZWxjaGVyIGVzIGlzdC4KT3BlblNsaWRlcyA/IE5hamEgaW0gQXJ0aWtlbCBzdGVodCBkYXNzIGRhIGVpbiBadXNhdHogZnVlciBBYnN0aW1tdW5nZW4Kbm90d2VuZGlnIHdhZXJlIHdlbGNoZXIgZGFubiBhdWNoIG5vY2ggbnVyIHVudGVyIFdpbmRvd3MgbGF1ZmVuIHNvbGwuCkhtbSAuLi4gd2FydW0gZWlnZW50bGljaCBzbyBrb21wbGl6aWVydD8gTWFubiBrb2VubnRlIGVpbiBGb3J1bQpuZWhtZW4gdW5kIGRvcnQgcGVyIFJlY2h0ZXN5c3RlbSBzdGV1ZXJuIHdlciB3b3JhdWYgWnVncmlmZiBoYXQsIHp1c2FldHpsaWNoCmthbm4gbWFuIGF1Y2ggRG9rdW1lbnRlIGluIGVpbmVtIGdlc2NodWV0enRlbiBWZXJ6ZWljaG5pcyBhYmxlZ2VuIChTdGljaHdvcnQKLmh0YWNjZXNzKSB1bmQgdm9tIEZvcnVtIGF1cyBkYXJhdWYgdmVyd2Vpc2VuIC4uLiBBYnN0aW1tdW5nIGthbm4gbWFuCnVlYnJpZ2VucyBkYW1pdCBhdWNoIHVtc2V0emVuIHVuZCBkaWUgRm9yZW4gKGFsbGUgb2RlciBhdXNnZXdhZWhsdGUpLCBzb2Zlcm4KbWFuIHdpbGwgYXVjaCBmdWVyIGRpZSBPZWZmZW50bGljaGtlaXQgdW5zaWNodGJhciBzY2hhbHRlbi4gcGhwQkIgd2FlcmUKT3BlblNvdXJjZSB1bmQga29zdGVubG9zIC4uLiBuYSBpc3QgbnVyIHNvIGVpbmUgSWRlZSA7KQpFdWVyIERlYW5Xb29kLgoKUFM6IEFudHJhZyBnZWh0IGhldXRlIG9kZXIgbW9yZ2VuIHJhdXMgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChCdWdmaXgsIDE0LiBKYW4gMjAxMywgMTQ6MjY6MTMpOgp+IyEgcm49RGVhbndvb2QgcnQ9MTM1ODE2OTgzOCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpNb2luLAoKQmVpIGVpbmVtIEZvcnVtIGdpYnQncyB3aWVkZXIgZGFzIGdsZWljaGUgUHJvYmxlbSwgd2llIGJlaSBzb25zdGlnZXIgZXh0ZXJuZW4KU29mdHdhcmUsIGVzIHdhZXJlIGVpbiBQcm9ibGVtIGRpZSBVc2VyIGdlbmF1IHp1IGlkZW50aWZpemllcmVuLiBEYXMgZ2FuemUgCnVlYmVycyBNRyBsYXVmZW4genUgbGFzc2VuIGlzdCBkYSB0YXRzYWVjaGxpY2ggYW0gZWluZmFjaHN0ZW4sIGRlbmsgaWNoLgoKRWluIEZvcnVtLCBhbGxlcmRpbmdzIHByaW1hZXIgYWxzIEVyZ2Flbnp1bmcgenVyIE1QQSwgd3VyZGUgYnR3IHNjaG9uIG9lZmZ0ZXIKdm9yZ2VzY2hsYWdlbiB1bmQgd2VnZW4gZGVtIGFkbWluaXN0cmF0aXZlbiBBdWZ3YW5kIHVuZCBkZW0gZ2VyaW5nZW4gTnV0emVuIApkZW4gZXMgbWl0IHNpY2ggYnJpbmdlbiB3dWVyZGUgaW1tZXIgYWJnZWxlaG50LgoKQkYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoWm9vaywgMTQuIEphbiAyMDEzLCAxNDo0Nzo0NCk6Cn4jISBybj1CdWdmaXggcnQ9MTM1ODE2OTk3MyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpJY2ggZGFyZiBnZWdlbiBwaHBCQiBub2NoIG1laW5lIEJlZGVua2VuIGdlbHRlbmQgbWFjaGVuPyA7KSBOYWphLCBhYmVyCmltIFByaW56aXAgaGFzdGUgc2Nob24gcmVjaHQsIERlYW5Xb29kLCBtYW4ga2FubiBkYXMgYXVjaCBtaXQgCnNjaG1hbGVyIFRlY2huaWsgaXJnZW5kd2llIGhpbmJla29tbWVuLiAKCkdpYnQgZXMgbmljaHQgaW0gV29scGVydGluZ2VyY2x1YiBhdWNoIHNvIGVpbmUgQWJzdGltbXVuZ3MibW9kdWwiPwoKWmVzc3RyYSwgRHUga2VubnN0IERpY2ggZG9jaCBndXQgYXVzIGRhbWl0LiBCZXJpY2h0ZSBkb2NoIG1hbCEKClpvb2sgemllaHQgZGVuIEtvcGYgZWluIHVuZCByZW5udCBTQ0hORUxMLCBzZWhyIFNDSE5FTEwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKEh1bW5pLCAxNC4gSmFuIDIwMTMsIDE1OjQ1OjM2KToKfiMhIHJuPVpvb2sgcnQ9MTM1ODE3MTI2NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpFaW4gTW9kdWwgZnVlciBBYnN0aW1tdW5nZW4gYmF1ZW4/IEpldHp0IG1hbCBpbSBFcm5zdCwgZGFzIGlzdCBpbiBkZXIgVGF0Cm5pY2h0IHNjaHdpZXJpZywgd2VubiBkYXMgZ2V3dWVuc2NodCB3aXJkLCBpc3QgZGFzIG51biBlY2h0IGtlaW4gQWt0LiBBbQpzY2h3aWVyaWdzdGVuIGlzdCBhYmVyIGhpbnp1a3JpZWdlbiwgZGFzcyBrZWluIE1hZ2llciBkYSBpcmdlbmR3aWUgWnVncmlmZiB1bmQKTWFuaXB1bGF0aW9uc21vZWdsaWNoa2VpdGVuIGZ1ZXIgZWluZSBnZWhlaW1lIEFic3RpbW11bmcgaGF0LgoKSWNoIHNhZ3Mgb2ZmZW46IERhcyBrYW5uIG1hbiBiYXVlbiwgZGEga29lbm5lbiBhdWNoIHZpZWxlIExldXRlIGRydWViZXJndWNrZW4sCmFiZXIgbWlyIGZhbGxlbiBkaXJla3QgTW9lZ2xpY2hrZWl0ZW4gZWluLCBkYXMgenUgc2Fib3RpZXJlbi4gTnVuIG1hZyBkYXMgc28Kc2VpbiwgZGFzcyBqZW1hbmQgd2llIFplc3N0cmEgZGFnZWdlbmhhdWVuIGthbm4gdW5kIHVlYmVyIG1laW5lIE1vZWdsaWNoa2VpdGVuCmxhY2h0IHVuZCBkaWUgdmVyaGluZGVybiBrYW5uLiBEYW5uIGJlaGF1cHRlIGljaCBhYmVyLCBaZXNzdHJhIGtvZW5udGUgZGFzCnR1biwgdW5kIHp3YXIgc28sIGRhc3Mgd2lyIGFsbGUgYW5kZXJlbiBhcm1lIFd1ZXJzdGUgc2luZCwgZGllIGRhcyBuaWNodAptaXRiZWtvbW1lbi4KCkF1ZiBEZXV0c2NoOiBJaHIgbXVlc3N0IGRhbm4genVtaW5kZXN0IGRlbiBFTSsgdmVydHJhdWVuLCBkYXNzIGRlciBLcmFtIG5pY2h0Cm1hbmlwdWxpZXJ0IHdpcmQuIEljaCBoYWx0ZSBkYXMgYWJlciBiZWkga2VpbmVtIGFuZGVyZW4gU3lzdGVtIGZ1ZXIgYW5kZXJzIC0KaXJnZW5kd2VyIG11c3MgWnVncmlmZiB6dXIgVGVjaG5payBoYWJlbiB1bmQga2FubiBkYXMgbWFuaXB1bGllcmVuLgoKT2ZmZW5lIEFic3RpbW11bmcsIHdvIGRhcyBUb29sIG51ciBkaWUgU3RpbW1lbiB6YWVobHQsIHNpbmQgaGluZ2VnZW4KcHJvYmxlbWxvcyBtb2VnbGljaC4KCkRhIGZhZWxsdCBlaW5lIE1hbmlwdWxhdGlvbiBpbSBad2VpZmVsIGR1cmNoIGhhZW5kaXNjaGVzIChvZGVyCnRmLWdlc3RldWVydGVzLi4uLikgTmFjaHphZWhsZW4gYXVmLiA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKEJ1Z2ZpeCwgMTQuIEphbiAyMDEzLCAxNTo1MjozOCk6Cn4jISBybj1IdW1uaSBydD0xMzU4MTc0NzM2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3CkhtbW0sIGVudHdlZGVyIGljaCBlcmlubmVyIG1pY2ggdm9lbGxpZyBmYWxzY2gsIG9kZXIgYmVpIHVucyBsaWVmIHNvd2llc28gZGFzCm1laXN0ZSBvZmZlbiBhYi4gS2FubiBtaWNoIG5pY2h0IGVyaW5uZXJuLCBkYXMgYmVpIHVucyBtYWwgaXJnZW5kd2FubiBncm9zcyAKbWl0IFdhaGx6ZXR0ZWxuIGhhbnRpZXJ0IHdvcmRlbiB3YWVyZSBvZGVyIHNvLgoKVW5kIHdpZSBkdSBzY2hvbiBzYWd0ZXN0LCBfaXJnZW5kd2VyXyBoYWV0dGUgaW4gamVkZW0gRmFsbCBuZSBNb2VnbGljaGtlaXQgCmRhcmFuIHp1IGRyZWhlbi4gRGFzIGxhZXNzdCBzaWNoIGJlaSBlbGVrdHJvbmlzY2hlbiBXYWhsdmVyZmFocmVuIGhhbHQgbmljaHQgCmF1c3NjaGxpZXNzZW4uCgpCRgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChIdW1uaSwgMTQuIEphbiAyMDEzLCAxNTo1NToxNyk6Cn4jISBybj1CdWdmaXggcnQ9MTM1ODE3NTE1OCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpFYmVuZCwgZGFydW0gZ2luZ3MuIEVzIGlzdCBuZSBWZXJ0cmF1ZW5zc2FjaGUuIERhcyBpc3QgVmVyZWluc2FyYmVpdCBhYmVyCmltbWVyIC0gaWNoIG11c3MgYXVjaCBkZW0gVm9yc3RhbmQgdmVydHJhdWVuLiBKYSwgZXMgZ2lidCBlaW5lIEthc3NlbnBydWVmdW5nLAphYmVyIGF1Y2ggZGEgZ2lidHMgV2VnZSBkcnVtcnVtLgoKQWxzbywgZGVyIFZlcmVpbiBtdWVzc3RlIHNpY2ggZHJhdWYgZWlubGFzc2VuIC0gZGFzIGlzdCBhbGxlcywgd2FzIGljaCBzYWdlbgp3b2xsdGUuIFdvbGx0ZSBoaW50aGVyIGtlaW4gIm1pbWltaSwgd2FyIGRhcyBhbGxlcyBhdWNoIHdpcmtsaWNoIHNvPyIgaG9lcmVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoRGVhbndvb2QsIDE0LiBKYW4gMjAxMywgMTY6MTk6NTgpOgp+IyEgcm49QnVnZml4IHJ0PTEzNTgxNjk5NzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKSGFsbG8sCmRhIGhpZXIgdm9uIGV4dGVybmVyIFNvZnR3YXJlIChPcGVuU2xpZGVzKSBnZXJlZGV0IHd1cmRlIGhhYmUgaWNoIHZlcnN1Y2h0IGRpZQpHZXNjaGljaHRlIGVpbiB3ZW5pZyBydW50ZXJ6dWJyZWNoZW4gdW5kIGphIHdlbm4gbW9lZ2xpY2ggc29sbHRlIGFsbGVzIGhpZXIgaW4KTUcgc3RhdHRmaW5kZW4gZGEgZ2ViZSBpY2ggamVuZW4gZWluZmFjaCBSZWNodCBkaWUgZWluIEZvcnVtIGFibGVobmVuLiBNRyBpc3QKZHVyY2ggZGllIFBsYXR0Zm9ybSBldHdhcyBiZXNvbmRlcmVzIHVuZCBzb2xsdGUgZXMgYXVjaCBibGVpYmVuLCBsZXR6dGxpY2gKd2VyZGVuIHNpY2ggaGllciBhbGxlIGVpbmZpbmRlbiBkaWUgYXVjaCBhbiBlaW5lbSB0ZXh0YmFzaWVydGVuIFJvbGxlbnNwaWVsCmludGVyZXNzZSBoYWJlbiwgd2FzIGJlaSBlaW5lbSBvZWZmZW50bGljaGVuIEZvcnVtIGluIGRlbSBNYXNzZSBuaWNodCBnZWdlYmVuCndhZXJlLiBXaWUgZ2VzY2hyaWViZW4gZXMgd2FyIG51ciBlaW5lIElkZWUsIGxldHp0bGljaCBpc3QgenVydWVjayB6dSBkZW4KV3VyemVsbiBvZGVyIGluIGRpZXNlbSBGYWxsZSBiZWkgaWhuZW4genUgYmxlaWJlbiBuYXR1ZXJsaWNoIGRpZSBiZXNzZXJlIFdhaGwuClNjaG9lbiB3YWVyZSBhdWNoIHdlbm4gbWFuIG5lYmVuIGRlbSBNUEEgZXZ0bC4gZWluZSBNaXRnbGllZGVyemVpdHVuZwphdXNzY2hsaWVzc2xpY2ggZnVlciBWZXJlaW5zbWl0Z2xpZWRlciBtYWNoZW4ga29lbm50ZSB1bSBzbyBlaW5lIGJlc3NlcmUKVHJlbm51bmcgendpc2NoZW4gZGVuIFNwaWVsZS0gdW5kIFZlcmVpbnN0aGVtZW4gaGluenViZWtvbW1lbiB1bmQgYXVjaCBkaWVzCkJpdHRlIG51ciBhbHMgQW5yZWd1bmcvSWRlZSB2ZXJzdGVoZW4gOykKRXVlciBEZWFuV29vZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoWm9vaywgMTQuIEphbiAyMDEzLCAxNjoyMjozMSk6Cn4jISBybj1EZWFud29vZCBydD0xMzU4MTc2Nzk4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3Ck9oLCBJZGVlbiB3ZXJkZW4gamEgaW1tZXIgZ2VybmUgZ2Vub21tZW4uIExhc3MgRGljaCBkYSBhdWNoIHZvbiBlaW5lbSAKcGxvZXR6bGljaGVuIERhZ2VnZW5hcmd1bWVudGllcmVuIG5pY2h0IGlycml0aWVyZW4uIE1hbmNoZXMgaGFiZW4gd2lyCmhhbHQgc2Nob24gbWFsIGR1cmNoZ2VrYXV0LCBhYmVyIG5ldWUgQW5yZWd1bmdlbiB1bmQgSWRlZW4gc2luZCBlaWdlbnRsaWNoCmltbWVyIGdlcm5lIGdlc2VoZW4uCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKERlYW53b29kLCAxNC4gSmFuIDIwMTMsIDE2OjMxOjQzKToKfiMhIHJuPVpvb2sgcnQ9MTM1ODE3Njk1MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpIYWxsbyBab29rLApkYSBpY2ggbm9jaCB6aWVtbGljaCBuZXUgYmluIHNvbGx0ZSBpY2ggZXZ0bC4gZG9jaCBlaW4gd2VuaWcgWnVydWVja2hhbHR1bmcKdWViZW4sIGljaCBiaW4gc2Nob24gemllbWxpY2ggbmFjaCB2b3JuZSBnZWdhbmdlbi4gRXJzdG1hbCB3ZXJkZSBpY2ggZGVuCmdlb3JkbmV0ZW4gUnVlY2t6dWcgYW50cmV0ZW4gdW5kIGltIFZlcmVpbiAiYW5rb21tZW4iIHNvZmVybiBkZXIgQW50cmFnCmFuZ2Vub21tZW4gd2lyZCA7KSBFcyBnaWJ0IGphIHNjaG9uIGxhbmdqYWVocmlnZSBNaXRnbGllZGVyIHVuZCBhbHMgTmV1bGluZwpoaWVyIHp1IG1laW5lbiBtYW4gaGFldHRlIGVpbmUgbmV1ZSBJZGVlIGthbm4gYXVjaCB6aWVtbGljaCB1ZWJlcmhlYmxpY2gKd2lya2VuLCB3YXMgdm9uIG1pciBqZWRvY2ggbmljaHQgc28gYmVhYnNpY2h0aWd0IHdhciB1bmQgaXN0IDopIApEZWFuV29vZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoQ2FsZHJhLCAxNC4gSmFuIDIwMTMsIDE4OjQwOjQxKToKfiMhIHJuPURlYW53b29kIHJ0PTEzNTgxNzc1MDMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKVmllbGUgQXJndW1lbnRlIC4uLiBpY2ggZXJnbnogbWFsIDIgU2FjaGVuIGF1cyBtZWluZXIgU2ljaHQ6CjEuIHdpciBzaW5kIGtlaW4gZ2VtZWlubnVldHppZ2VyIFZlcmVpbiBtZWhyLiBEYXMgd3VyZGUgdW5zIGxldHp0ZXMgSmFocgphYmVya2FubnQKMi4gRWluZSBaZWl0dW5nL1J1YnJpayBldGMuIGF1ZiBkaWUgbnVyIFZlcmVpbnNtaXRnbGllZGVyIFp1Z3JpZmYgaGFiZW4sIGhhbHRlCmljaCBmdWVyIHVubm9ldGlnLiBXaXIgZGlza3V0aWVyZW4ga2VpbmUgZ2VoZWltZW4gVGhlbWVuIHVuZCB3b2xsZW4gZWhlciwgZGFzcwphdWNoIE5pY2h0bWl0Z2xpZWRlciBlaW5lbiBFaW5ibGljayBiZWtvbW1lbiwgd2FzIHdpciBoaWVyIGZ1ZXIgZGFzIE11ZAptYWNoZW4uCgpDYWxkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoQXJhdGhvcm4sIDE0LiBKYW4gMjAxMywgMTg6NTU6MzMpOgp+IyEgcm49Q2FsZHJhIHJ0PTEzNTgxODUyNDEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKR2lidHMgZGEgbmljaHQgb2huZWhpbiBkaWUgVmVyZWlucy1NYWlsaW5nbGlzdGU/ICp1ZWJlcmxlZyoKCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChaZXNzdHJhLCAxNC4gSmFuIDIwMTMsIDE5OjE3OjE0KToKfiMhIHJuPVpvb2sgcnQ9MTM1ODE3MTI2NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwo6d2lyZnQgZWluZW4gV29scGVydGluZ2VyIG5hY2ggWm9vay4gVW5kIGVpbmUgRWlzZW5zdGFuZ2UuIFVuZCBQYWRyZWljcwpaaWVnZWxzdGVpbi4gQWNoIHVuZCBkZW4gZ2FuemVuIFF1ZXN0Y29kZSBkZXIgV29scGktUXVlc3QgaW4gZGVyIEhvZmZudW5nLApkYXNzIGVyIGtsZWJlbiBibGllYmUuLi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoRGVhbndvb2QsIDE0LiBKYW4gMjAxMywgMjA6MzA6MjUpOgp+IyEgcm49Q2FsZHJhIHJ0PTEzNTgxODUyNDEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKSGFsbG8sCnp1IDEuIGRhc3MgZmluZGUgaWNoIHNlaHIgU2NoYWRlLCBsZWlkZXIgd2FyIGRpZXMgbmljaHQgYXVmIGRlciBIb21lcGFnZQplcnNpY2h0bGljaCwgZXZ0bC4gc29sbHRlbiBBbnRyYWcvSW1wcmVzc3VtIHVzdyBkYW5uIGF1Y2ggZGFoaW5nZWhlbmQKYW5nZXBhc3N0IHdlcmRlbiAuLi4gKD8pCnp1IDIuIGhpZXIgaGFiZSBpY2ggbWljaCBlaW4gd2VuaWcgdW5rbGFyIGF1c2dlZHJ1ZWNrdCwgd2ljaHRpZ2VyIHdhZXJlIG1pcgplaW5lIHRoZW1hdGlzY2hlIFRyZW5udW5nLCBlaW5lIEdydWVuZHVuZyBlaW5lcyBHZWhlaW1idW5kZXMgd2FyIHZvbiBtaXIgbmljaHQKYW5nZWRhY2h0ICp6d2lua2VyKgoKRWluZSBJZGVlIHdhZXJlIHZpZWxsZWljaHQgYXVjaCBlaW4gQnJldHQgZnVlciBNVUQgUHJvZ3JhbW1pZXJ1bmcgenUKZXJvZWZmbmVuLCBlaW5lIE1haWxpbmdsaXN0ZSBpc3QgamEgc2Nob2VuIHVuZCBndXQgYWJlciBkYSBrb21tdCBqYSBrZWluIE5pY2h0Ck1pdGdsaWVkIGhlcmFuLCBlaW4gc29sY2hlcyBCcmV0dCB3dWVyZGUgYXVjaCBJbnRlcmVzc2llcnRlIGFuc3ByZWNoZW4uCgpFdWVyIERlYW5Xb29kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChDYWxkcmEsIDE0LiBKYW4gMjAxMywgMjA6NDc6MDgpOgp+IyEgcm49RGVhbndvb2QgcnQ9MTM1ODE5MTgyNSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwplaWVpLCBkYSBoYXN0ZSBqYSBnZW5hdSBkZW4gcmljaHRpZ2VuIGVyd2lzY2h0IC4uLiBEaWUgV2Vic2VpdGUgc29sbHRlIGljaCBtYWwKYWt0dWFsc2lzaWVyZW4gLi4uIAoKQ2FsZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKERlYW53b29kLCAxNC4gSmFuIDIwMTMsIDIwOjU4OjUzKToKfiMhIHJuPUNhbGRyYSBydD0xMzU4MTkyODI4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3CkhhbGxvLAp3YXIgbnVyIGFscyBIaW53ZWlzIGdlbWVpbnQsIG1pdCBkZW0gVFMzIGJla2FlbWUgbWFuIGF1Y2ggZWluZSBOUEwgd2VubiBtYW4Kc2ljaCBlYmVuIGFscyBFaW56ZWxwZXJzb24gZG9ydCByZWdpc3RyaWVydCB1bmQgYW5naWJ0IGFuIGVpbmVtIFJvbGxlbnNwaWVsCnRlaWx6dW5laG1lbiAoZXMgZ2lidCBqYSBhdWNoIEdpbGRlbiBrb21tZXJ6aWVsbGVyIFNwaWVsZSBkaWUgZWluZSBOUEwgaGFiZW4pLgpFdWVyIERlYW5Xb29kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChBaGFiLCAxNC4gSmFuIDIwMTMsIDIwOjU5OjUxKToKfiMhIHJuPURlYW53b29kIHJ0PTEzNTgxOTM1MzMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKRGVyIFNlcnZlciBsYWV1ZnQgYmVyZWl0cyBtaXQgZWluZXIgTlBMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChEZWFud29vZCwgMTQuIEphbiAyMDEzLCAyMToyNDo1MSk6Cn4jISBybj1BaGFiIHJ0PTEzNTgxOTM1OTEgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKSGFsbG8sCnNvd2VpdCBpY2ggd2Vpc3MgZ2lsdCBkaWUgbnVyIDEyIE1vbmF0ZSwgbWVpbmUgQW5yZWd1bmcgd2FyIGdlZGFjaHQgZnVlciBkZW4KRmFsbCBkYXNzIG5vdHdlbmRpZyB3YWVyZSBzaWNoIGRvcnQgbmV1IHp1IHJlZ2lzdHJpZXJlbiBhdXMgd2VsY2hlbSBHcnVuZCBhdWNoCmltbWVyLi4uIDspCgpGdWVyIG1pY2ggYWxzIGt1ZW5mdGlnZXMgTWl0Z2xpZWQgd2FlcmUgZXMgYWxsZXJkaW5ncyB2b24gSW50ZXJlc3NlIHdlbGNoZQpPcmdhbmlzYXRpb25zZm9ybSBkZXIgVmVyZWluIG51biBoYXQgYnp3LiB3YXMgYW5nZXN0cmVidCB3aXJkLCBha3R1ZWxsIG11ZXNzdGUKZXMgc2ljaCBqYSBqZXR6dCB1bSBlaW5lbiBnZXdlcmJsaWNoZW4gVmVyZWluIGhhbmRlbG4gb2Rlcj8gV2lyZCBkaWUKR2VtZWlubnVldHppZ2tlaXQgd2llZGVyIGFuZ2VzdHJlYnQ/IFdhcnVtIHd1cmRlIHNpZSBhYmVya2FubnQ/CgpFdWVyIERlYW5Xb29kLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoSHVtbmksIDE0LiBKYW4gMjAxMywgMjI6MjA6NTIpOgp+IyEgcm49RGVhbndvb2QgcnQ9MTM1ODE5NTA5MSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpEZXIgVmVyZWluIGlzdCBuYWNoIHdpZSB2b3IgZWluIGVpbmdldHJhZ2VuZXIgVmVyZWluIChlViwgUGFyLiAyMSBCR0IpLiBEYSBlcgprZWluZXJsZWkgWmllbGUgdmVyZm9sZ3QsIGRpZSBib2VzZSBzaW5kLCBpc3QgYXVjaCBuaWNodCBhYnp1c2VoZW4sIGRhc3MgZXIKZGFzIGVWIGlyZ2VuZHdhbm4gbmljaHQgbWVociB0cmFnZW4gc29sbHRlIDstKQoKRGEgZGVyIFZlcmVpbiBhdWNoIG5pY2h0IGluIGVyc3RlciBMaW5pZSBnZXdlcmJsaWNoZSBaaWVsZSB2ZXJmb2xndCwgd2lyZCBlcgphdWNoIGtlaW4gd2lydHNjaGFmdGxpY2hlciBWZXJlaW4gd2VyZGVuIChQYXIuIDIyIEJHQikuIEdpYnRzIGF1Y2gga2VpbmVuCkdydW5kIGZ1ZXIuCgpEaWUgR2VtZWlubnVldHppZ2tlaXQgd3VyZGUgYWJlcmthbm50LCBkYXMgaGF0IGFiZXIgKCJudXIiKSB6dXIgRm9sZ2UsIGRhc3MKU3BlbmRlbiBhbiBkZW4gVmVyZWluIHVuZCBNaXRnbGllZHNiZWl0cmFlZ2UgbmljaHQgbWVociB2b24gZGVyIFN0ZXVlcgphYmdlc2V0enQgd2VyZGVuIGtvZW5uZW4uIEZ1ZXIgZGVuIFJlc3QgaXN0IGRhcyBpcnJlbGV2YW50LCBlaW4gZS5WLiBibGVpYnQKZWluIGUuVi4KClp1ciBBYmVya2VubnVuZyBtdXNzIGRlciBWb3JzdGFuZCB3YXMgc2FnZW4sIGRhIGljaCBuaWNodCBhdWYgZGVyIGxldHp0ZW4KU2l0enVuZyB3YXIuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChEZWFud29vZCwgMTQuIEphbiAyMDEzLCAyMzoxNDoyNSk6Cn4jISBybj1IdW1uaSBydD0xMzU4MTk4NDUyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3CkhhbGxvIEh1bW5pLAp6dW5hZWNoc3QgZXJzdG1hbCBEYW5rZSBmdWVyIGRlaW5lbiBIaW53ZWlzLCBkZXIgUHVua3Qgd2FyIG1pciB3aWNodGlnLiBJbQplcnN0ZW4gTW9tZW50IG1vZWdlIG1hbiBtaXIgbmFjaHNlaGVuIGRhc3MgaWNoIHppZW1saWNoIGVyc2Nocm9ja2VuIHdhciB3bwpoaWVyIG5lYmVuYmVpIG1pdGdldGVpbHQgd3VyZGUgZGFzcyBkaWUgR2VtZWlubnVldHppZ2tlaXQgYWJlcmthbm50IHd1cmRlLgpCZWltIHp3ZWl0ZW4gdW5kIGF1Y2ggdW5hdWZnZXJlZ3RlcmVuIEJsaWNrIGVyc2NobGllc3N0IHNpY2ggbmF0dWVybGljaCBkaWUKTG9naWsuIERlciBWZXJlaW4gZXJmdWVsbHQgZWJlbiBrZWluZW4gZnVlciBkaWUgR2VtZWluc2NoYWZ0IC8gT2VmZmVudGxpY2hrZWl0CmJlc29uZGVyZW4gTnV0emVuIGF1cyBTaWNodCBkZXMgR2VzZXR6Z2ViZXJzLCBpc3QgZGVubm9jaCBlaW5nZXRyYWdlbiBkYSBlcgplYmVuIGtlaW5lIHdpcnRzY2hhZnRsaWNoIHJlbGV2YW50ZW4gWmllbGUgdmVyZm9sZ3QuIFNvZmVybiBpY2ggcmljaHRpZyBsaWVnZQpkdWVyZnRlIGRpZXMgZGllIGVpbmZhY2hlIHVuZCBzaW1wbGUgRXJrbGFlcnVuZyBmdWVyIGRpZSBBYmVya2VubnVuZyBzZWluLApzdWNodCBtYW4gaW0gTmV0eiBhYmVyIG5hY2ggIkFiZXJrZW5udW5nIGRlciBHZW1laW5udWV0emlna2VpdCIgc3RlY2hlbiBlaW5lbQpnYW56IGFuZGVyZSBHcnVlbmRlIGlucyBBdWdlIGRpZSBlaW5lbiBlcnN0bWFsIHp1cnVlY2tzY2hyZWNrZW4gbGFzc2VuLgoKRGVhbldvb2QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKFpvb2ssIDE1LiBKYW4gMjAxMywgMDg6NDY6MTgpOgp+IyEgcm49RGVhbndvb2QgcnQ9MTM1ODIwMTY2NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpJbSBLZXJuIChkZXIgVm9yc3RhbmQgbWFnIG1pY2gga29ycmlnaWVyZW4pIGhhYmVuIHdpciBuaWNodCBtZWhyCmdlbnVlZ2VuZCBBa3Rpdml0YWV0ZW4gbmFjaHdlaXNlbiBrb2VubmVuLCBtaXQgZGVuZW4gd2lyIGRpZSAKZ2VtZWlubnVldHppZ2VuIFp3ZWNrZSB2ZXJmb2xnZW4uIElzdCBpbiBtZWluZW4gQXVnZW4gYXVjaCBrZWluCmdyb3NzZXIgQmVpbmJydWNoLiBTbyBncm9zcyBzaW5kIGRpZSBCZWl0cmFlZ2UgamEgbmljaHQsIGFscyBkYXNzCm1hbiBkaWUgdW5iZWRpbmd0IGJlaSBkZXIgU3RldWVyIGFic2V0emVuIGtvZW5uZW4gbXVzcy4gCgpGYWxscyBzaWNoIHdpZWRlciBBa3Rpdml0YWV0IGltIFZlcmVpbiBlbnRmYWx0ZXQsIGthbm4gbWFuIGRpZQpBbmVya2VubnVuZyBkZXIgR2VtZWlubnVldHppZ2tlaXQgamEgd2llZGVyIGJlYW50cmFnZW4sIHdlbm4gbWFuCmRhcyBkYW5uIGZ1ZXIgc2lubnZvbGwgZXJhY2h0ZXQuCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKENhbGRyYSwgMTUuIEphbiAyMDEzLCAwOToxNzo1NCk6Cn4jISBybj1ab29rIHJ0PTEzNTgyMzU5Nzggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKTWl0IGRlbSBWZXJsdXN0IGRlciBHZW1laW5udWV0emlna2VpdCB3dXJkZW4gYXVjaCBkaWUgQmVpdHJhZWdlIGVpbmdlZnJvcmVuLAp3aXIgc2luZCBhbHNvIGVpbiBrb3N0ZW5mcmVpZXIgVmVyZWluLiBFcnN0ZW5zIHdpcmQgZGVyemVpdCBrZWluIEdlbGQKYmVub2V0aWd0IHVuZCB6d2VpdGVucyBlcnNwYXJlbiB3aXIgdW5zIGRpZSBBcmJlaXQgZnVlciBkaWUgU3RldWVyZXJrbGFlcnVuZy4KRXMgZ2lidCBhbHNvIG5peCBhYnp1c2V0emVuIHVuZCBrZWluZW4gTmFjaHRlaWwgZnVlciBNaXRnbGllZGVyLgoKQ2FsZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKENyb2Z0LCAxNS4gSmFuIDIwMTMsIDA5OjI5OjMyKToKfiMhIHJuPURlYW53b29kIHJ0PTEzNTgyMDE2NjUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKSWNoIGdsYXViIGRpZSBBYmVya2VubnVuZyBrYW5uIGFsbGVpbiBzY2hvbiBkYW5uIGtvbW1lbiB3ZW5uIHNpY2ggenV2aWVsCkdlbGQgYXVmIGRlbSBLb250byBhbnNhbW1lbHQgdW5kIG1hbiBrYXVtIEF1c2dhYmVuIGhhdCBiencgZGllIEF1c2dhYmVuCnNpY2ggbmljaHQgaGlucmVpY2hlbmQgdW50ZXIgR2VtZWludWV0emlna2VpdCB2ZXJidWNoZW4gbGFzc2VuLgpVbmQgbW9tZW50YW4gZmFsbGVuIGFmYWlrIGthdW0gQXVzZ2FiZW4gYW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChSdW1hdGEsIDE1LiBKYW4gMjAxMywgMTA6MzI6MjYpOgp+IyEgcm49Q3JvZnQgcnQ9MTM1ODIzODU3MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpEaWUgZWluemlnZW4gQXVzZ2FiZW4gd2FyZW4gbHVhdCBTaXR6dW5nIHZvbSBsZXR6dGVuIGphaHIgZGllCktvbnRvZnVlaHJ1bmdzZ2VidWVocmVuIGZ1ZXIgZGFzIFZlcmVpbnNrb250by4gVW5kIEJhbmtlbiByZWljaGVyIG1hY2hlbiBpc3QKaGFsdCBuaWNodCBnZW1laW5udWV0emlnLCBkYSBoYXQgZGVyIFN0YWF0IHNjaG9uIHJlY2h0IDstKQoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoUnVtYXRhLCAxNS4gSmFuIDIwMTMsIDExOjAxOjI2KToKfiMhIHJuPVpvb2sgcnQ9MTM1ODI0MjUxMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpEYXMgaXN0IGVzIGphLCBkaWUgaGFiZW4gZGllIEF1c3p1ZWhnZSB2ZXJzY2hsYW1wdCB1bmQgd29sbHRlbiBmdWVyCmRpZSBad2VpdHNjaHJpZnQgZXh0cmEgS29obGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKFplc3N0cmEsIDE1LiBKYW4gMjAxMywgMjA6MTc6MDIpOgp+IyEgcm49UnVtYXRhIHJ0PTEzNTgyNDIzNDYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKV2lyIGhhYmVuIGRhZnVlciBhYmVyIGF1Y2ggbmljaHQgMS0yIEphaHJlIGtlaW5lIEJldHJhZWdlIGVpbmdlem9nZW4uCkZpbmFuem1pdHRlbCBzaW5kIGhhbHQgc28sIGRhc3MgZGVyIFZlcmVpbiBmdWVyIE5vdGZhZWxsZSAobWl0IGRlbSBTZXJ2ZXIpIHdhcwpoYXQuCkRlciBlbnRzY2hlaWRlbmRlIFB1bmt0IGlzdCBkYXMsIHdhcyBab29rIGVyd2FlaG50ZSAobmljaHQgZ2VudWcKZ2VtZWlubnVldHppZ2UgQWt0aXZpdGFldGVuKS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoWmVzc3RyYSwgMTUuIEphbiAyMDEzLCAyMDoxNzo1Nik6Cn4jISBybj1aZXNzdHJhIHJ0PTEzNTgyNzc0MjIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKT2VoLCBkZW5rdCBldWNoIGRhcyAnbmljaHQnIHdlZy4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoRGVhbndvb2QsIDE1LiBKYW4gMjAxMywgMjM6MDc6MjMpOgp+IyEgcm49WmVzc3RyYSBydD0xMzU4Mjc3NDIyIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3CkhhbGxvLApkaWUgRW50c2NoZWlkdW5nIGRlciBBdXNzZXR6dW5nIGRlciBNaXRnbGllZHNiZWl0cmFlZ2UgaGFsdGUgaWNoLCBsYW5nZnJpc3RpZwpmdWVyIGJlZGVua2xpY2gsIHNpY2hlciBsYXV0IGxldHp0ZW0gUHJvdG9rb2xsIHNpZWh0IGVzIGZpbmFuemllbGwgZ3V0IGF1cywKZGllIEtvc3RlbiB3aWUgaGllciBzY2hvbiBlcndhZWhudCBoYWx0ZW4gc2ljaCBnbHVlY2tsaWNoZXIgd2Vpc2UgaW4gR3Jlbnplbi4KU2llaHQgbWFuIGFsbGVyZGluZ3MgZWluIHdlbmlnIG5hY2ggdm9ybiB1bmQga2Fsa3VsaWVydCBlaW4sIGRhc3MgZGVyIFZlcmVpbgp2aWVsbGVpY2h0IGlyZ2VuZHdhbm4gYXVmIGVpZ2VuZSBGdWVzc2Ugc3RlaGVuIHdpbGwvbXVzcyB1bmQgZWluZW4gZWlnZW5lbgpQbGF0eiBpbSBSWiBvZGVyIGVpbmVuIFJvb3QgU2VydmVyIG1pZXRldCBkYW5uIGthbm4gZGllIFN1bW1lIHNjaG5lbGwKc2NocnVtcGZlbiwgaW0gZXJzdGVyZW4gRmFsbCBzaW5kIEtvc3RlbiBmdWVyIEhhcmR3YXJlIHdpZSBhdWNoIFNlcnZpY2UgbWl0CmVpbnp1cmVjaG5lbi4gVmllbGUgR2VtZWluc2NoYWZ0ZW4ga29tbWVuIGluIFNjaHdpZXJpZ2tlaXRlbiB3ZW5uIHNjaG5lbGwgR2VsZAphdWZnZWJyYWNodCB3ZXJkZW4gbXVzcyBkYWhlciBzb2xsdGVuIGRpZSBCZWl0cmFlZ2UgZXZ0bC4gaW0gbmFlY2hzdGVuIEphaHIKd2llZGVyIGVyaG9iZW4gd2VyZGVuIHVtIGRhcyBQb2xzdGVyIGVpbiB3ZW5pZyB3YWNoc2VuIHp1IGxhc3Nlbi4gOykgTmV1ZQpNaXRnbGllZGVyIGhhZXR0ZW4gYmVpIFZlcmVpbnNlaW50cml0dCBhdWNoIGVpbiBiZXNzZXJlcyBHZWZ1ZWhsIHVuZCBrYWVtZW4KbmljaHQgYXVmIGRlbiBHZWRhbmtlbiBkYXNzIHNpZSBzaWNoIGJpcyB6dXIgbmFlY2hzdGVuIFNpdHp1bmcgYmVpIGRlciBkYW5uCnZpZWxsZWljaHQgd2llZGVyIEJlaXRyYWVnZSBlcmhvYmVuIHdlcmRlbiBhdWYgZGVtIFBvbHN0ZXIgbGFuZ2phZWhyaWdlcgpNaXRnbGllZGVyIGF1c3J1aGVuLiAKCkljaCBtb2VjaHRlIG1pY2ggYmVpIEV1Y2ggZnVlciBkaWUgZnJldW5kbGljaGVuIGFscyBhdWNoIHNhY2hiZXpvZ2VuZW4KSGlud2Vpc2UsIFRpcHBzIHVuZCBBdWZrbGFlcnVuZ2VuIGJlZGFua2VuLiBJaHIgc2VpdCBvZmZlbiBhdWNoIGF1ZiBrcml0aXNjaGUKRnJhZ2VuIGVpbmdlZ2FuZ2VuIHVuZCBoYWJ0IG5pY2h0IHZlcnN1Y2h0IHVuYW5nZW5laG1lIEZyYWdlbiBhYnp1d3VlcmdlbiB3aWUgCm1hbiBlcyBpbiBhbmRlcmVuIFZlcmVpbmVuIG9mdG1hbHMgc2llaHQsIGRhc3MgaGF0IG1pY2ggbnVyIG5vY2ggaW0gRW50c2NobHVzcwpiZXN0YWVya3QgaW0gTW9yZ2VuR3JhdWVuIGUuVi4gbWl0d2lya2VuIHp1IHdvbGxlbiwgbWVpbmVuIEFudHJhZyBoYWJlIGljaApnZXN0ZXJuIHBlciBFLU1haWwgdW5kIGhldXRlIHBlciBQb3N0IGFiZ2VzY2hpY2t0LiBFcyBsaWVndCBudW4gYmVpIGV1Y2ggb2IKaWhyIGVpbmVuIHdpZSBtaWNoIGRlciBkdXJjaGF1cyBrcml0aXNjaCBpc3QgYWJlciBhdWNoIG1pdCBCZWdlaXN0ZXJ1bmcgYW4KVGhlbWVuIGhlcmFuZ2VodCB1bmQgaGllciB3aWUgZGEgZWluZW4gU2NoZXJ6IGF1ZiBkZW4gTGlwcGVuIGhhdCBpbiBFdXJlcgpNaXR0ZSBoYWJlbiB3b2xsdC4gCgpFdWVyIERlYW5Xb29kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChab29rLCAxNy4gSmFuIDIwMTMsIDE5OjA1OjM5KToKfiMhIHJuPURlYW53b29kIHJ0PTEzNTgyODc2NDMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKRGFzIGlzdCBzaWNoZXIgcmljaHRpZywgZGFzcyBtYW4gZ2dmLiB3ZW5uIGVzIGF1ZnRyaXR0LCBtYWwgc2NobmVsbAp1ZWJlcmxlZ2VuIG11c3MsIHdpZSBtYW4gZWluZW4gU2VydmVyIGluIGVpbmVyIGFuZGVyZW4gCkJldHJpZWJzdW1nZWJ1bmcgYW5zIGxhdWZlbiBiZWtvbW10IHVuZCBmaW5hbnppZXJ0LiAKCkFsbGVyZGluZ3MgZmluZGUgaWNoIGF1Y2gsIGRhc3Mgd2lyIG5pY2h0IHp1dmllbGUgUnVlY2tsYWdlbiBhdWZiYXVlbgpzb2xsdGVuLiAKCklzIGphIGtlaW4gSGVkZ2UtRm9uZCwgc28gbmVuIE1HZVYuIAoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChEZWFud29vZCwgMTguIEphbiAyMDEzLCAxMzo0MToyNSk6Cn4jISBybj1ab29rIHJ0PTEzNTg0NDU5Mzkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKSGFsbG8sCkhlZGdlZm9udCBpc3QgZ3V0ICpncmlucyogYWJlciBpY2ggZGVua2UgaWNoIHZlcnN0ZWggd29yYXVmIGR1IGhpbmF1cwptb2VjaHRlc3QuIERpZSBHZWZhaHIgZGFzcyBtYW4gbWl0dGVscyBob2VoZXJlbiBSdWVja2xhZ2VuIGF1Y2gKQmVnZWhybGljaGtlaXRlbiB3ZWNrZW4ga2FubiBoYXR0ZSBpY2ggbmljaHQgaW0gQmxpY2suIE1pciBnaW5nIGVzCmF1c3NjaGxpZXNzbGljaCB1bSBkaWUgQWJzaWNoZXJ1bmcgZnVlciBkZW4gRmFsbCBkZXMgRmFsbGVzIDspCkV1ZXIgRGVhbldvb2QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKENyb2Z0LCAxOC4gSmFuIDIwMTMsIDEzOjQzOjMzKToKfiMhIHJuPURlYW53b29kIHJ0PTEzNTg1MTI4ODUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKQWZhaWsgaXN0IGVpbmUgU2VydmVybmV1YW5zY2hhZmZ1bmcgdW5kIGVudHNwcmVjaGVuZGVyIEhvc3Rpbmd2ZXJ0cmFnCmR1cmNoYXVzIGFiZ2VkZW5rdCBzbyBlcyBkZW5uIG5vZXRpZyB3ZXJkZW4gd3VlcmRlLiAgSW0gRmFsbGUgZWluZXMgRmFsbGVzCmxpZXNzZW4gc2ljaCBkaWUgQmVpdHJhZWdlIGRhbm4gamEgYXVjaCBiaW5uZW4gZWluZXMgSmFocmVzIChvZGVyIGV2dGwKc2NobmVsbGVyKQpyZWFrdGl2aWVyZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChaZXNzdHJhLCAxOC4gSmFuIDIwMTMsIDIxOjM2OjAyKToKfiMhIHJuPUNyb2Z0IHJ0PTEzNTg1MTMwMTMgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTEzNTc5MzU4MDcKTGV0enRlbmRsaWNoIG11ZXNzdGUgbWFuIGF1Y2ggdWViZXJsZWdlbiwgb2IgZWlnZW5lbiBTZXJ2ZXIgcGx1cyBIb3N0aW5nIGRhcwpyaWNodGlnZSB3YWVyZS4gTGV0enRlbmRsaWNoIGlzdCBkYXMgenVyIFplaXQgZWlnZW50bGljaCBudXIgc2lubnZvbGwgbWl0ClNwb25zb3JpbiBmaW5hbnpiYXIgdW5kIG1hbiBmYWVocnQgYW5zb25zdGVuIGVoZXIgYmVzc2VyLCBrZWluZW4gZWlnZW5lbgpSZWNobmVyIHp1IGJlc2l0emVuLgpGdWVyIHNjaGxpbW1lIE5vdGZhZWxsZSB3dWVyZGUgaWNoIHVlYnJpZ2VucyBtZWluZW4gdi1zZXJ2ZXIgYmVyZWl0c3RlbGxlbiB1bmQKdmVybXV0bGljaCBrb2VubnRlIGF1Y2ggWm9vayB3YXMgcGFzc2VuZGVzIGF1ZnR1bi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoQW1hcnlsbGlzLCAxOC4gSmFuIDIwMTMsIDIxOjQyOjIzKToKfiMhIHJuPVplc3N0cmEgcnQ9MTM1ODU0MTM2MiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpXaWVzbyBpc3QgZGFzIHBsb2V0emxpY2ggc28gZWluIFRoZW1hPwoKTW9tZW50YW4gaXN0IGRhcyBNRyBtaXQgZWlnZW5lbSBTZXJ2ZXIgdW5kIHNwb25zb3JlZCBIb3N0aW5nIChpbmtsLiBWZXJ0cmFnKQp3aXJrbGljaCBndXQgYXVmZ2VzdGVsbHQsIHVuZCBlcyBpc3Qga2VpbmUgQWVuZGVydW5nIGluIFNpY2h0LgoKQW1hKgoKUFM6IFp1ciBOb3QgaGFiZSBpY2ggbm9jaCBuZW4gZWlnZW5lbiBSb290c2VydmVyLCBhdWYgZGVtIGVzIGF1Y2ggd2llZGVyCmxhdWZlbiBrb2VubnRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzA6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChaZXNzdHJhLCAxOC4gSmFuIDIwMTMsIDIxOjQzOjQ4KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMzU4NTQxNzQzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3CkF1cyBtZWluZXIgU2ljaHQgaXN0IGVzIHp1ciBaZWl0IGtlaW4gVGhlbWEuIFdvbGx0ZSBudXIgZWluZSBiZXJ1aGlnZW5kZSBNYWlsCnNjaHJlaWJlbiB1bmQgZXJ3YWVobmVuLCBkYXNzIHdpciB6dW1pbmRlc3Qga3VyemZyaXN0aWcgZGl2LiBSdWVja2ZhbGxvcHRpb25lbgpoYWJlbi4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogVm9yIGRlciBNaXRnbGllZHNjaGFmdDogVmVyZWluc3ZlcnNhbW1sdW5nZW4gKENyb2Z0LCAxOC4gSmFuIDIwMTMsIDIzOjI1OjA3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTM1ODU0MTgyOCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpEaXRvLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMyOiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoWm9vaywgMTkuIEphbiAyMDEzLCAxMjozMjowMyk6Cn4jISBybj1Dcm9mdCBydD0xMzU4NTQ3OTA3IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3CkplcCwgUnVlY2tmYWxsb3B0aW9uZW4gZ2lidCBlcyBlaW5lIFJlaWhlLCBzbyBkYXNzIG1hbiBpbSBGYWxsCmRlciBGYWVsbGUgc2ljaCBlaW5lIGRhdWVyaGFmdGUgTG9lc3VuZyB1ZWJlcmxlZ2VuIGthbm4uCgpBYmVyIGRpZSBha3R1ZWxsZSBMYWdlIGlzdCBhdXNnZXNwcm9jaGVuIGtvbWZvcnRhYmVsIHVuZCBRdWVsbCAKZGF1ZXJoYWZ0ZXIgZ29ldHRsaWNoZXIgRnJldWRlLiAKClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBWb3IgZGVyIE1pdGdsaWVkc2NoYWZ0OiBWZXJlaW5zdmVyc2FtbWx1bmdlbiAoQ2FsZHJhLCAyMC4gSmFuIDIwMTMsIDEzOjUxOjI4KToKfiMhIHJuPVpvb2sgcnQ9MTM1ODU5NTEyMyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTM1NzkzNTgwNwpEaWUgV2Vic2VpdGUgaXN0IG51biBha3R1YWxpc2llcnQgdW5kIHN1Z2dlcmllcnQga2VpbmUgR2VtZWlubnVldHppZ2tlaXQgbWVocgoKZ3J1c3MKCkNhbGRyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzQ6IFZvciBkZXIgTWl0Z2xpZWRzY2hhZnQ6IFZlcmVpbnN2ZXJzYW1tbHVuZ2VuIChCcnVtLCAyNi4gSmFuIDIwMTMsIDA3OjE2OjM1KToKfiMhIHJuPUNhbGRyYSBydD0xMzU4Njg2Mjg4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xMzU3OTM1ODA3CkhleSwKc2l0emUgc2VsYnN0IGltIHZvcnN0YW5kIHp3ZWllciBGb2VyZGVydmVyZWluZSB1bmQgaGFiZSBtaXQgZGVtIGdlbGQgenUgdHVuLgpXZW5uIG1hbiBnZWxkcnVlY2tsYWdlbiB6d2Vja2dlYnVuZGVuIGFubGVndCBmdWVocnQgZXMgbmljaHQgenVyIEFiZXJrZW5udW5nCmRlciBHZW1laW5udWV0emlna2VpdCB1bmQgYXVjaCBkYXMgdmVyZm9sZ2VuIGRlciBTYXR6dW5nc3p3ZWNrZSBpc3Qgd2ljaHRpZy4KRGllIGdlbWVpbm51ZXR6aWdrZWl0IGJpZXRldCBlaW5pZ2UgVm9ydGVpbGUgZGllIG1hbiBuaWNodCB2ZXJhY2h0ZW4gc29sbHRlCnVuZCBpc3QgamVkZXJ6ZWl0IHdpZWRlciB6dSBiZWFudHJhZ2VuIG1vZWdsaWNoLgpMRyBCcnVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMdXN0aWdlIFBvc3QgKFpvb2ssIDI0LiBBcHIgMjAxMywgMDg6MjA6NDUpOgpJY2ggYmVrb21tZSwgd2llIGhpZXIgZXJzaWNodGxpY2gsIG5ldWxpY2ggZWlubWFsIGx1c3RpZ2UKUG9zdDoKCmh0dHA6Ly9rcnJyY2tzLmRlL0Fkd29yZHMucGRmCgpJY2ggd3VuZGVyZSBtaWNoIHNjaG9uIHVlYmVyIGRpZSBBbnNjaHJpZnQsIGRhbm4gdWViZXIgZGVuIEluaGFsdC4KTWVpbmUgR29vZ2xlIEFkd29yZHM/IFZlcmJlc3Nlcm4/IE1hY2hlIGljaCB1ZWJlcmhhdXB0IEFkd29yZHM/CgoqZ3J1ZWJlbCoKCk5hamEsIGlyZ2VuZHdhbm4ga2FtIGljaCBkcmF1ZjogSmVtYW5kIHZvbiBkZW4gU3BpZWxlcm4gKHdhciBlcyBNZXNpcmlpPykKaGF0dGUgZG9jaCBtYWwgZWluIHBhYXIgRXVybyBiZWkgQWR3b3JkcyAiaW52ZXN0aWVydCIsIGRhcyBpc3Qgd29obCBkZW4KIldpci12ZXJiZXNzZXJuLUlocmUtR29vZ2xlLUFuemVpZ2VuIi1CbHV0c2F1Z2VybiBhdWZnZWZhbGxlbiB1bmQgZGllCmhhYmVuIGRhbm4gbWVpbmUgQWRyZXNzZSBhdXMgZGVtIEltcHJlc3N1bSBkZXIgTW9yZ2VuR3JhdWVuLUhvbWVwYWdlCjE6MSBoZXJhdXNnZWZpc2NodC4gCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWlsaW5nbGlzdGU6IE1haGFyZXQgKEFtYXJ5bGxpcywgIDEuIERleiAyMDE0LCAwNTozMTo0Nyk6CkhpLAoKbmFjaGRlbSAgZGllIE1haWxhZHJlc3NlIHZvbiBNYWhhcmV0IHNjaG9uIHNlaXQgTW9uYXRlbi9KYWhyZW4gYm91bmN0LApzYWVtdGxpY2hlIEtvbnRha3R2ZXJzdWNoZSBzY2hlaXRlcnRlbiB1bmQgaWNoIGtlaW5lIEx1c3QgbWVociBhdWYgZGllIEJvdW5jZXMKaGFiZSwgaGFiZSBpY2ggaWhyZSBNYWlsYWRyZXNzZSBhdXMgZGVyIE1haWxpbmdsaXN0ZSBlbnRmZXJudC4KCldlciBNYWhhcmV0IGJ6dy4gaWhyZW4gS29udGFrdCBrZW5udCwga2FubiBpaHIgamEgbWl0dGVpbGVuLCBkYXNzIHNpZSBzaWNoIG1pdAplaW5lciBha3R1ZWxsZW4gTWFpbGFkcmVzc2Ugd2llZGVyIGVpbnRyYWdlbiBrYW5uLgoKR3J1c3MsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlsaW5nbGlzdGU6IE1haGFyZXQgKFJ1bWF0YSwgIDEuIERleiAyMDE0LCAwODo0MToyMSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTQxNzQwODMwNyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTQxNzQwODMwNwpIYWIgbWFsIGlociB0d2l0dGVyaGFuZGxlIGFuZ2VwaW5ndC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFpbGluZ2xpc3RlOiBNYWhhcmV0IChab29rLCAgMS4gRGV6IDIwMTQsIDEwOjE3OjEwKToKfiMhIHJuPVJ1bWF0YSBydD0xNDE3NDE5NjgxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNDE3NDA4MzA3CmljaCBhdWNoOyBoYWJlIGRpZSBuZXVlIGFkcmVzc2UgdW5kIGdlYmUgc2llIGFuIGFtYSogCnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAyMDE2IChHdWFyZCwgMjkuIEp1biAyMDE2LCAxNToyNjoxNyk6CkhhbGxvLAogCnp1ciBkaWVzamFocmlnZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyBGb3JkZXJ2ZXJlaW5zIFByb2pla3QgTW9yZ2VuR3JhdWVuCmxhZGVuIHdpciBhbGxlIE1pdGdsaWVkZXIgZWluLgpEaWUgVmVyc2FtbWx1bmcgZmluZGV0IHdpZWRlciBpbSBSYWhtZW4gZWluZXIgTW9yZ2VuR3JhdWVuLVBhcnR5IHN0YXR0LCB1bmQKendhcgogCmFtCjMwLjA3LjIwMTYKdW0KMTQ6MDAgVWhyCiAKYXVmIGRlbSBDYW1waW5ncGxhdHogUnVocmJydWNrZQpSdWhyc3RyYXNlIDYKNDU1MjkgSGF0dGluZ2VuCiAKRGllIFRhZ2Vzb3JkbnVuZyBzaWVodCBmb2xnZW5kZSBQdW5rdGUgdm9yOgogCjEuICAgIEJlZ3J1c3VuZwoyLiAgICBGZXN0c3RlbGx1bmcgZGVyIEJlc2NobHVzc2ZhaGlna2VpdAozLiAgICBWZXJsZXN1bmcgZGVzIGxldHp0ZW4gUHJvdG9rb2xscwo0LiAgICBCZXJpY2h0IGRlcyBWb3JzdGFuZGVzCjUuICAgIEJlcmljaHQgZGVzIEthc3NlbndhcnRzCjYuICAgIEJlcmljaHQgZGVyIEthc3NlbnBydWZlcgo3LiAgICBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzCjguICAgIE5ldXdhaGwgZGVzIFZvcnN0YW5kZXMKOS4gICAgTmV1d2FobCBkZXIgS2Fzc2VucHJ1ZmVyCjEwLiAgIFp1a3VuZnQgZGVzIE1HLVNlcnZlcgoxMS4gICBVbWdhbmcgbWl0IE5pY2tuYW1lcwoxMi4gICBCZWl0cmFnc2ZyZWloZWl0IDIwMTYKMTMuICAgVmVyc2NoaWVkZW5lcwogCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIApTZXJ2ZXI6CiAKTGV0enRlcyBKYWhyIHNpbmQgd2lyIGphIHp1IGtlaW5lciB3aXJrbGljaGVuIEVudHNjaGVpZHVuZyBiemdsLiBkZXMgU2VydmVyCmdla29tbWVuLCBpbnp3aXNjaGVuIGlzdCBkaWUgS2lzdGUgYWJlciBhdWNoIHNjaG9uIHdpZWRlciA2IDEvMiBKYWhyZSBhbHQKKEZlYnJ1YXIgMjAxMCBoYWJlbiB3aXIgc2llIGluIEJldHJpZWIgZ2Vub21tZW4pIHVuZCBlcyBpc3QgZGFtaXQgenUgcmVjaG5lbiwKZGFzcyB3aXIgaW4gMS0zIEphaHJlbiBtYWwgZWluZSBuZXVlIGJlc2NoYWZmZW4gbXVzc3Rlbi4KRGllIFViZXJsZWd1bmcgaXN0IGpldHp0LCBvYiBtYW4gZ2dmLiBhdWYgZWluZW4gUm9vdHNlcnZlciB1bXN0ZWlnZW4gd2lsbC4gRnVyCmRhcywgd2FzIHdpciBkYW1pdCB0dW4sIHd1cmRlIGVpbiBHZXJhdCBmdXIgdW0gZGllIDQwLC0gRXVybyBpbSBNb25hdCB3b2hsCmF1c3JlaWNoZW4gdW5kIHdhcmUgZGFtaXQgbmljaHQgbmVubmVuc3dlcnQgdGV1cmVyIGFscyBlaW4gbmV1ZXIgU2VydmVyIGRlciA4CkphaHJlIGxhbmcgYmVudXR6dCB3aXJkLiBadXNhdHpsaWNoIGhhdHRlbiB3aXIgbmljaHQgbWVociBkaWVzZXMKRGFtb2tsZXNzY2h3ZXJ0IHViZXIgdW5zIHNjaHdlYmVuLCBkYXNzIGJlaSBOZXRjb2xsb2duZSBkb2NoIG1hbCBqZW1hbmRlbQphdWZmYWxsdCwgZGFzcyBkYSBlaW4gU2VydmVyIHN0ZWh0LCBkZXIgZGEgbmljaHRzIHZlcmxvcmVuIGhhdCB1bmQgd2lyClByb2JsZW1lIGtyaWVnZW4sIHNlaSBlcyBudXIgZGFzcyB3aXIgYXVzemllaGVuIG11c3NlbiwgUmFja3NwYWNlIG1pZXRlbiB3dXJkZQp1bnMgZGV1dGxpY2ggbWVociBhbHMgZGllIDQwLC0gRXVybyBrb3N0ZW4uClplc3N0cmFzIEVpbnNjaGF0enVuZywgd2FzIGZ1ciBlaW5lbiBTZXJ2ZXIgd2lyIGJlbm90aWdlbjoKLSBSYW06ID49IDRHQgotIEhERDogPj0gNTAwR0IKLSBUcmFmZmljOiA+PSA1MDBHQgotIFByb3plc3NvcjogZXR3YXMgSW50ZWwvQU1ELCB4ODUtNjQga29tcGF0aWJsZXMsIGVudHNwcmVjaGVuZCBtaW5kZXN0ZW5zCmVpbmVtIEludGVsIFhlb24gRTU0MjBAMiw1IEdIWi4gKERhdm9uIGhhYmVuIHdpciBkZXJ6ZWl0IDQsIGRhcyBNdWQgc2VsYnN0Cmthbm4gZGF2b24gYWJlciBzb3dpZXNvIG51ciBlaW5lbiBudXR6ZW4uKQogCkJlaXRyYWdlOgogCldlbGNoZSBNZXRob2RlIHdpciBhdWNoIHdhaGxlbiwgd2VubiBkZXIgamV0emlnZSBTZXJ2ZXIgaGluIGlzdCwgbXVzc2VuIHdpcgp3aWVkZXIgTWl0Z2xpZWRzYmVpdHJhZ2UgZWluemllaGVuLiBLYXVmZW4gd2lyIGVpbmVuIG5ldWVuIFNlcnZlciwgaXN0IGRhcwpHZWxkIChkZXJ6ZWl0IHJ1bmQgMjk2MCwtID8pIGF1ZiBlaW5lbiBTY2hsYWcgd2VnLCBtaWV0ZW4gd2lyIGVpbmVuClJvb3RzZXJ2ZXIsIGRhdWVydCBkYXMgbmF0dXJsaWNoIGxhbmdlci4gV2lyIHNvbGx0ZW4gdW5zIGFiZXIgbWFsIHp1Z2lnCkdlZGFua2VuIG1hY2hlbiwgd2llIHdpciBkYXMgYW5nZWhlbiB3b2xsZW4uCiAKIAptaXQgZnJldW5kbGljaGVuIEdydXNlbgogClJlbmUgKEd1YXJkKSBXYWNodGVyClNjaHJpZnRmdWhyZXIKRm9yZGVydmVyZWluIFByb2pla3QgTW9yZ2VuZ3JhdWVuCnEKCndlciBrZWluZSBlaW5sYWR1bmcgcGVyIHJsLW1haWwgYmVrb21tZW4gaGF0LCBpc3QgaW0gdmVyZWluIGxlaWRlciBtaXQgZWluZXIKdmVyYWx0ZXRlbiBlbWFpbCByZWdpc3RyaWVydCB1bmQgc29sbHRlIG1pciBtYWwgZWluZSBha3R1ZWxsZSB6dWtvbW1lbgpsYXNzZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmxhZHVuZyB6dXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIDIwMTggZGVzIE1HIGUuVi4gKEdsb2luc29uLCAgMi4gSnVsIDIwMTgsIDIxOjQwOjE2KToKRWlubGFkdW5nIEZvZXJkZXJ2ZXJlaW4gUHJvamVrdCBNb3JnZW5HcmF1ZW4gZS5WLgpNaXRnbGllZGVydmVyc2FtbWx1bmcgMjAxOAoKSGFsbG8genVzYW1tZW4sCgp6dXIgZGllc2phZWhyaWdlbiBNaXRnbGllZGVydmVyc2FtbWx1bmcgZGVzIEZvZXJkZXJ2ZXJlaW5zIFByb2pla3QKTW9yZ2VuR3JhdWVuIGUuVi4gbGFkZW4gd2lyIGFsbGUgTWl0Z2xpZWRlciBlaW4uIERpZSBWZXJzYW1tbHVuZyBmaW5kZXQgd2llZGVyCmltIFJhaG1lbiBlaW5lciBNb3JnZW5HcmF1ZW4tUGFydHkgc3RhdHQsIHVuZCB6d2FyCgphbSAyOC4wNy4yMDE4CnVtIDE0OjAwIFVocgphdWYgZGVtIENhbXBpbmdwbGF0eiBSdWhyYnJ1ZWNrZQpSdWhyc3RyYXNzZSA2CjQ1NTI5IEhhdHRpbmdlbgoKRGllIFRhZ2Vzb3JkbnVuZyBzaWVodCBmb2xnZW5kZSBQdW5rdGUgdm9yOgoxLiBCZWdydWVzc3VuZwoyLiBGZXN0c3RlbGx1bmcgZGVyIEJlc2NobHVzc2ZhZWhpZ2tlaXQKMy4gVmVybGVzdW5nIGRlcyBsZXR6dGVuIFByb3Rva29sbHMKNC4gQmVyaWNodCBkZXMgVm9yc3RhbmRlcwo1LiBVcmhlYmVycmVjaHQKNi4gQmVyaWNodCBkZXMgS2Fzc2Vud2FydHMKNy4gQmVyaWNodCBkZXIgS2Fzc2VucHJ1ZWZlcgo4LiBFbnRsYXN0dW5nIGRlcyBWb3JzdGFuZGVzCjkuIE5ldXdhaGwgZGVzIFZvcnN0YW5kZXMKMTAuIE5ldXdhaGwgZGVyIEthc3NlbnBydWVmZXIKMTEuIEFic3RpbW11bmcgdWViZXIgZGllIEJlaXRyYWdzYmVmcmVpdW5nIDIwMTgKMTIuIFZvcnNjaGF1IGF1ZiAyMDE4LzIwMTkKMTMuIFZlcnNjaGllZGVuZXMKCk1pdCBmcmV1bmRsaWNoZW4gR3J1ZXNzZW4sCkNocmlzdGlhbiAnR2xvaW4nIEJlY2tlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkthc3NlbndhcnQgZ2VzdWNodCAoWHV0ZWxpdXMsIDE3LiBKdWwgMjAxOCwgMTY6MDA6MDkpOgpNb2luIHp1c2FtbWVuLAoKVmFuaW9uIHd1ZXJkZSBzaWNoIG5hY2ggc2VpbmVyIHplaG5qYWVocmlnZW4gQW10c3plaXQgZ2VybmUgYXVzIGRlbSBWb3JzdGFuZAp6dXJ1ZWNremllaGVuLiBVZWJlcmxlZ3QgZXVjaCBkYWhlciBiaXR0ZSBtYWwsIG9iIGlociBldWNoIHZvcnN0ZWxsZW4Ka29lbm50ZXQgZnVlciBkZW4gUG9zdGVuIGRlcyBLYXNzZW53YXJ0ZXMgenUga2FuZGlkaWVyZW4uCgpCZWkgRnJhZ2VuIHp1IGRlbSBUaGVtYSBzcHJlY2h0IGdlcm5lIGVpbmVzIGRlciBhbndlc2VuZGVuIFZvcnN0YW5kc21pdGdsaWVkZXIKYW4uCgpWaWVsZSBHcnVlc3NlClh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2Fzc2Vud2FydCBnZXN1Y2h0IChab29rLCAxNy4gSnVsIDIwMTgsIDE2OjAxOjExKToKfiMhIHJuPVh1dGVsaXVzIHJ0PTE1MzE4MzYwMDkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1MzE4MzYwMDkKQWxzIGxhbmdqYWVocmlnZXIgS2Fzc2VucHJ1ZWZlciBrYW5uIGljaCB2ZXJzaWNoZXJuLCBkYXNzIGluIGRlbgp2ZXJnYW5nZW5lbiBKYWhyZW4gbmljaHQgc29uZGVybGljaCB2aWVsZSBFaW50cmFlZ2UgaW0gS2Fzc2VuYnVjaAp6dSBtYWNoZW4gd2FyZW4uIFNvbGwgaGVpc3NlbjogQXVmd2FuZCBzZWhyIHVlYmVyc2NoYXViYXIuCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRnbGllZGVydmVyc2FtbWx1bmcgLSBOZXVlciBLYXNzZW53YXJ0IChYdXRlbGl1cywgMzAuIEp1bCAyMDE4LCAxNDowODo1Myk6Ck1vaW4gbGllYmUgTWl0Z2xpZWRlcgoKVm9yZ2VzdGVybiBoYWJlbiB3aXIgaW4gSGF0dGluZ2VuIGF1ZiBkZXIgU29tbWVycGFydHkgZGllIApNaXRnbGllZGVydmVyc2FtbWx1bmcgYWJnZWhhbHRlbiwgZm9sZ2VuZGUgTmV1aWdrZWl0ZW4gZ2lidCBlcyB6dSB2ZXJrdWVuZGVuOgoKVmFuaW9uIGlzdCBsZWlkZXIgd2VnZW4genUgdmllbCBSTCB2b24gc2VpbmVtIFBvc3RlbiBhbHMgS2Fzc2Vud2FydAp6dXJ1ZWNrZ2V0cmV0ZW4uCgpMaWViZXIgVmFuaW9uLCB3aXIgZGFua2VuIGRpciBoZXJ6bGljaCBmdWVyIGRlaW5lIGxhbmdqYWVocmlnZSBBcmJlaXQgaW0KVm9yc3RhbmQgdW5kIGRpZSBpbW1lciBhbmdlbmVobWUgdW5kIGZydWNodGJhcmUgWnVzYW1tZW5hcmJlaXQhCgpHbHVlY2tsaWNoZXJ3ZWlzZSBoYXQgc2ljaCBNdW5kcm9uIGJlcmVpdGVya2xhZXJ0IGRlbiBQb3N0ZW4genUgdWViZXJuZWhtZW4sCmRpciBlaW4gaGVyemxpY2hlcyBXaWxsa29tbWVuIGltIFRlYW0hCgpXZWl0ZXJlIEJyZWFraW5nIE5ld3Mgc2luZCBuaWNodCB6dSB2ZXJrdWVuZGVuLCBkYXMgUHJvdG9rb2xsIGZvbGd0IGluIEt1ZXJ6ZQphbiB1ZWJsaWNoZXIgU3RlbGxlLgoKVmllbGUgR3J1ZXNzZQpYdXRlbGl1cyBmdWVyIGRlbiBWb3JzdGFuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd3d3Lm1vcmdlbmdyYXVlbi5pbmZvIChaYXBob2IsIDEzLiBOb3YgMjAxOCwgMjE6MDU6MjQpOgpIYWxsbywgaWNoIG1vZWNodGUgZ2VybmUgYW5yZWdlbiwgZGFzcyBkZXIgVmVyZWluIHNpY2ggZGFydW0gYmVtdWVodCwgZGllClJlY2h0ZSBmdWVyIGRpZSBEb21haW4gd3d3Lm1vcmdlbmdyYXVlbi5pbmZvIHp1IGVyYmVuLiBEZXJ6ZWl0IGdlaG9lcnQgc2llCmVpbmVtIFNwaWVsZXIuCgpOYWNoIGRlbiAoZnVlciBtYW5jaGUgQXV0b3JlbikgZXJudWVjaHRlcm5kZW4gRXJmYWhydW5nZW4gcnVuZCB1bSBkZW4gVmVybHVzdAoiZGVzIiBNb3JnZW5ncmF1ZW4tV2lraSBtb2VjaHRlIGljaCB2ZXJtZWlkZW4sIGF1Y2ggZGllc2UgRG9tYWluIHBsb2V0emxpY2gKdW5kIHVuZXJ3YXJ0ZXQgenUgdmVybGllcmVuLgpTaWUgaXN0IGluc2IuIGZ1ZXIgTmV1bGluZ2UgZGV1dGxpY2ggbGVzYmFyZXIgdW5kIGF1c3NhZ2VrcmFlZnRpZ2VyIGFscyBkYXMKenVnZWdlYmVuZXJtYXNzZW4ga3VlcnplcmUgdW5kIGhpc3RvcmlzY2ggYmVkZXV0c2FtZXJlIG1nLm11ZC5kZQpJY2ggd3VlcmRlIGRpZXNlIERvbWFpbiBmdWVyIE9lZmZlbnRsaWNoa2VpdHNhcmJlaXQgYmV2b3J6dWdlbi4KTVVEcyBzaW5kIGFscyBLYXRlZ29yaWUgdW5iZWthbm50LiBNb3JnZW5HcmF1ZW4gZWluIHByb21pbmVudGVyIFZlcnRyZXRlci4KTW9yZ2VuR3JhdWVuLmluZm8gYWxzbyAiSW5mb3JtYXRpb25lbiB6dSBNb3JnZW5ncmF1ZW4iIGthbm4gbWFuIHNpY2gKKGhvZmZlbnRsaWNoKSBsZWljaHRlciBtZXJrZW4gYWxzICJLdWVyemVsIGRlcyBTcGllbHMiIGJlaSAiS3VlcnplbCBkZXMKU3BpZWwtR2VucmVzLCB3YXMgd2FyIGVzIG5vY2htYWwiIHVuZCAid28ga29tbXQgamV0enQgd3d3IGhpbj8iCkljaCBzY2hlcnplLCBhYmVyIGRlciBLZXJuIGlzdCBlcm5zdDogQmVpZGUgRG9tYWlucyBoYWJlbiBpaHJlIFZvcnRlaWxlLgoKSWNoIG1vZWNodGUgZGllIE1pdGdsaWVkZXIgYmVmcmFnZW4sIG9iIHNpY2ggZGVyIFZlcmVpbiBkYXJ1bSBiZW11ZWhlbiBzb2xsLApkaWVzZSBEb21haW4genUgdWViZXJuZWhtZW4sIHNvYmFsZCBkZXIgZGVyemVpdGlnZSBCZXNpdHplciBzaWUgbmljaHQgbWVocgpmb3J0ZnVlaHJlbiBtb2VjaHRlLgpGYWxscyBkYXp1IGVpbiBhbmRlcmVyIFdlZyB6aWVsZnVlaHJlbmRlciB3YWVyZSwgYml0dGUgaWNoIHVtIGt1cnplIEluZm8uCgpHcnVlc3NlLApaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd3d3Lm1vcmdlbmdyYXVlbi5pbmZvIChBbWFyeWxsaXMsIDEzLiBOb3YgMjAxOCwgMjE6MzE6MTApOgp+IyEgcm49WmFwaG9iIHJ0PTE1NDIxMzk1MjQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1NDIxMzk1MjQKV2FzIG1pciBqYSBuaWNodCBnZWZhZWxsdCwgaXN0IGRpZSAiLmluZm8iLVRMRC4KCkFiZXIgZGFzIGxhZXNzdCBzaWNoIHdvaGwgbmljaHQgYWVuZGVybiwgZXMgc2VpIGRlbm4sIG1hbiB2ZXJzdWNodCBrcmFtcGZoYWZ0LAp1bnRlciAuZGUgbm9jaCBlaW5lIG1lcmtiYXJlIERvbWFpbiB6dSByZXNlcnZpZXJlbi4uLgoKQW1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHd3dy5tb3JnZW5ncmF1ZW4uaW5mbyAoQW5hdG9sLCAxNC4gTm92IDIwMTgsIDA4OjEyOjIwKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTQyMTQxMDcwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNTQyMTM5NTI0ClJlZGV0IG1pdCBkZW0gU3BpZWxlcj8gCgpFcm5zdGhhZnQgLSBkYXMgYXVmIG1vcmdlbmdyYXVlbi5pbmZvIGhpbnRlcmxlZ3RlIEltcHJlc3N1bQppc3QgZWlucy16dS1laW5zIHZvbiBtZy5tdWQuZGUga29waWVydCAodmVyd2Vpc3QgYWxzbyBhdWNoIGF1ZgptZy5tdWQuZGUgYWxzIFNpdGUgdW5kIHdlaXN0IFpvb2sgYWxzIG1pdGhhZnRlbmQvLXZlcmFudHdvcnRsaWNoCmF1cykuIAoKRXMgd3VlcmRlIG1pY2ggZG9jaCBhcmcgV3VuZGVyIG5laG1lbiwgd2VubiBkaWVzZXIgU3BpZWxlciBhbgpkZXIgRG9tYWluIGZlc3RoYWVsdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1WZXJlaW5zc2l0enVuZz8gKEdsb2luc29uLCAyOC4gQXByIDIwMTksIDEyOjUwOjI4KToKYmluIGhpZXIgZ2VyYWRlIGFtIFBsYW5lbi4gV3VlcmRlIGV1Y2ggJ25lIFZlcmVpbnNzaXR6dW5nIGFtIFNhbXN0YWcgVm9ybWl0dGFnCnNvIGdlZ2VuIDEwOjMwLzExIFVociBhbSAyNy4gSnVsaSBpbiBIYXR0aW5nZW4gaW4gZGVuIEtyYW0gcGFzc2VuPyBEYW5uCmtvZW5udGUgaWNoIFNhbXN0YWcgTWl0dGFnIGF1Y2ggd2llZGVyIGZhaHJlbi4gVGVybWluZSBkaWUgdWViZXJlaW5hbmRlcmxpZWdlbgouLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUctVmVyZWluc3NpdHp1bmc/IChIdW1uaSwgMjguIEFwciAyMDE5LCAyMzo0NjowNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xNTU2NDQ4NjI4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNTU2NDQ4NjI4CkljaCBrYW5uIG51ciBmdWVyIG1pY2ggc3ByZWNoZW46IEphLiA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUctVmVyZWluc3NpdHp1bmc/IChaZXNzdHJhLCAyOS4gQXByIDIwMTksIDIyOjU1OjA4KToKfiMhIHJuPUdsb2luc29uIHJ0PTE1NTY0NDg2Mjggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1NTY0NDg2MjgKRGFzIGlzdCBqYSBhZXJnZXJsaWNoIG1pdCBkZW4gVGVybWluZW4uIFNjaGFkZSwgZGFzcyBEdSBkYSBuaWNodCBsYWVuZ2VyCmJsZWliZW4ga2FubnN0LiA6LSgKQWxzbywgaWNoIGRlbmtlLCBpY2gga3JpZWcgZGFzIGF1Y2ggdm9ybWl0dGFncyBoaW4sIGRhIHp1IHNlaW4uIElzdCB2ZXJtdXRsaWNoCmVoZXIgc2Nod2llcmlnIGZ1ZXIgTGV1dGUsIGRpZSBuaWNodCBhdWYgZGVtIENhbXBpbmdwbGF0eiB1ZWJlcm5hY2h0ZW4gdW5kIG51cgpTYSBrb21tZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1HLVZlcmVpbnNzaXR6dW5nPyAoR2xvaW5zb24sIDMwLiBBcHIgMjAxOSwgMTk6NDA6NTkpOgp+IyEgcm49WmVzc3RyYSBydD0xNTU2NTcxMzA4IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNTU2NDQ4NjI4CkxldHp0ZXMgSmFociBoYWJlIGljaCBiaXMgMTUgVWhyIGdlc2Nob2JlbiwgYWJlciBtdXNzdGUgZGVubm9jaCBTYW1zdGFnIGxvcy4KSXN0IGhhbHQgZGVyIE5hY2h0ZWlsLCB3ZW5uIGljaCBtaXQgWndlcmcga29tbWUsIGRlciB3aWxsIGFtIG5hZWNoc3RlbiBUYWcKZHJpbmdlbmQgYXVmIGVpbmVuIGxva2FsZW4gZWlubWFsIGltIEphaHIgc3RhdHRmaW5kZW5kZW4gRmxvaG1hcmt0IDopCgpIYXQgc2ljaCB0cm90emRlbSBsZWNrZXIgZ2VncmlsbHQgQUZBSVIuIEtvbW1lIGRpZXNlIEphaHIgYXVjaCBlaW5mYWNoIHNjaG9uCk1pdHR3b2NoLCB1bSB6d2VpIFRhZ2UgZGllIDI3IEdyYWQgaW4gU2NoYXR0ZW4gdW5kIEJpZXIgenUgZ2VuaWVzc2VuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLVZlcmVpbnNzaXR6dW5nPyAoWmFwaG9iLCAgMS4gTWFpIDIwMTksIDIyOjExOjA5KToKfiMhIHJuPUdsb2luc29uIHJ0PTE1NTY0NDg2Mjggcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1NTY0NDg2MjgKSmEsIHBhc3N0IGd1dCBpbiBLcmFtLiBBYmVyIGljaCBiaW4gamEgYXVjaCBzY2hvbiBGcmVpdGFnIGRhLiBJbnRlcmVzc2FudGVyCnNpbmQgZGllIE1laW51bmdlbiBkZXIgTGV1dGUsIGRpZSBGcmVpdGFnIG5vY2ggbmljaHQgZGEgc2luZC4gV2VubiBpY2ggbWlyIGRpZQpsZXR6dGVuIDItMyBQcm90b2tvbGxlIGFuc2VoZSwgc2luZCBkYXMgYWJlciBhdWNoIG5pY2h0IHNlaHIgdmllbGUgTGV1dGUKZ2V3ZXNlbi4gRGllIG1laXN0ZW4gd2FyZW4gdm9yaGVyIGRhLiBBbHNvIGRhbm4gc2NoZWludCBlcyBtYWNoYmFyLiBadXIgTm90Cm11ZXNzdGVuIHdpciBlaW5lbiBXYWNodHJ1cHAgcnVtc2NoaWNrZW4sIHVtIGRpZSBMYW5nc2NobGFlZmVyIHp1IHdlY2tlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTUctVmVyZWluc3NpdHp1bmc/IChWYW5oZWxzaW5nLCAgNS4gTWFpIDIwMTksIDIzOjE2OjMxKToKfiMhIHJuPVphcGhvYiBydD0xNTU2NzQxNDY5IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNTU2NDQ4NjI4CkRhIGljaCBkaWUgZ2FuemUgV29jaGUgZGEgc2VpbiB3ZXJkZSwgcGFzc3QgbWlyIFNhbXN0YWcgTWl0dGFnIGF1Y2ggZ3V0LgoKVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1HLVZlcmVpbnNzaXR6dW5nPyAoU2FyYXksICA3LiBNYWkgMjAxOSwgMjM6NTQ6MDQpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xNTU3MDkwOTkxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNTU2NDQ4NjI4CkljaCBob2ZmZSwgUmhvdmFucyBVcmxhdWJzYW50cmFnIGdlaHQgZHVyY2ggdW5kIHdpciBzaW5kIGFiIE1ub250YWcgZGEuCldlbm4gZGVtIG5pY2h0IHNvIHNlaW4gc29sbHRlLCBiZWVocmVuIHdpciBkZW4gQ2FtcGluZ3BsYXR6IHdvaGwgYWIgRnJlaXRhZwptaXQgdW5zZXJlciBBbndlc2VuaGVpdCwgYWJlciBhdWNoIGRhcyBpc3QgbmljaHQgZ2FueiBzaWNoZXIuCkluc2dlc2FtdCBob2ZmZSBpY2ggYWJlciB0cm90emRlbSwgc3BhZXRlc3RlbnMgdW0gZGllc2UgWmVpdCBhbndlc2VuZCBzZWluIHp1CmtvZW5uZW4uCgpHcnVzcywgU2FyYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1HLVZlcmVpbnNzaXR6dW5nPyAoU2FyYXksICA3LiBNYWkgMjAxOSwgMjM6NTU6MTIpOgp+IyEgcm49U2FyYXkgcnQ9MTU1NzI2NjA0NCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTU1NjQ0ODYyOApNaXQgImRpZXNlIFplaXQiIGlzdCBTYW1zdGFnIFZvcm1pdHRhZyBnZW1laW50IDopLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ljaHRpZ2UgSW5mb3JtYXRpb25lbiB6dW0gRm9lcmRlcnZlcmVpbiAoWHV0ZWxpdXMsIDIzLiBNYXIgMjAyMCwgMjE6NTk6MDUpOgpMaWViZSBWZXJlaW5zbWl0Z2xpZWRlciwKCkVpbmlnZSB2b24gZXVjaCBoYWJlbiBqYSBtaXRiZWtvbW1lbiwgZGFzcyB3aXIgbGV0enRlcyBKYWhyIHdlZ2VuCnRlY2huaXNjaGVyIFByb2JsZW1lIGJlaSBkZXIgRWlubGFkdW5nIGtlaW5lIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZwpkdXJjaGZ1ZWhyZW4ga29ubnRlbi4KTmljaHQgbnVyIGRpZSBWZXJ3YWx0dW5nc3NvZnR3YXJlIHdhciBuaWNodCBtZWhyIGVycmVpY2hiYXIsIGVzIGdhYiBhdWNoCnVtZmFuZ3JlaWNoZSBEYXRlbnZlcmx1c3RlLiBEdXJjaCBlaW5lIHVuenVyZWljaGVuZGUgQmFja3VwLVN0cmF0ZWdpZSBrb25udGVuCnNpZSBsZWlkZXIgYXVjaCBuaWNodCB3aWVkZXIgaGVyZ2VzdGVsbHQgd2VyZGVuLCB3aXIgd2lzc2VuIGRhaGVyIGFrdHVlbGwKbGVpZGVyIG5pY2h0IHZpZWwgbWVociB1ZWJlciBldWNoLCBhbHMgZXVyZSBNdWRuYW1lbi4KCkluendpc2NoZW4gaGFiZW4gd2lyIHVucyBuZXUgb3JnYW5pc2llcnQgdW5kIGtvZW5uZW4gZGFoZXIgZGllCk1pdGdsaWVkZXJkYXRlbmJhbmsgbmV1IGF1ZmJhdWVuLiBXZW5uIGlociB3ZWl0ZXJoaW4gVmVyZWluc21pdGdsaWVkZXIgc2VpbgpvZGVyIGpldHp0IGJlaXRyZXRlbiB3b2xsdCwgZGFubiByZWdpc3RyaWVydCBldWNoIGJpdHRlIHVudGVyIGZvbGdlbmRlbSBMaW5rOiAKaHR0cHM6Ly9lYXN5dmVyZWluLmNvbS9wdWJsaWMvTUdFVi9hcHBsaWNhdGlvbmZvcm0vCgpXZW5uIGlociBkYXMgdHV0LCBiZW5vZXRpZ2VuIHdpciBhdXNzZXJkZW0gZWluIGF1c2dlZnVlbGx0ZXMgU0VQQS1NYW5kYXQgdm9uCmV1Y2gsIGRpZXNlcyBmaW5kZXQgaWhyIGhpZXI6Cmh0dHA6Ly9tZy5tdWQuZGUvdmVyZWluL3RleHRlL3NlcGFfbWFuZGF0LnBkZgpEYXMgYXVzZ2VmdWVsbHRlIHVuZCB1bnRlcnNjaHJpZWJlbmUgTWFuZGF0IGtvZW50IGlociBlbnR3ZWRlciBlaW5nZXNjYW5udApwZXIgTWFpbCBhbiB2b3JzdGFuZEBtZy5tdWQuZGUsIG9kZXIgcGVyIFBvc3QgYW4gZGllIFZlcmVpbnNhbnNjaHJpZnQKc2NoaWNrZW4uCgpFcyB0dXQgdW5zIGxlaWQsIGRhc3Mgd2lyIGV1Y2ggYXVmIGRpZXNlIFdlaXNlIHp1c2FldHpsaWNoZSBBcmJlaXQgbWFjaGVuLgpXaXIgaGFiZW4gTWFzc25hbWVuIGVyZ3JpZmZlbiwgdW0gc29sY2hlIFByb2JsZW1lIGluIGRlciBadWt1bmZ0IHp1IHZlcm1laWRlbi4KCkltIE5hbWVuIGRlcyBWb3JzdGFuZGVzIGdydWVzc3QKSGVubmluZyBha2EgWHV0ZWxpdXMKMS4gVm9yc2l0emVuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ljaHRpZ2UgSW5mb3JtYXRpb25lbiB6dW0gRm9lcmRlcnZlcmVpbiAoWm9vaywgMjQuIE1hciAyMDIwLCAwOTozNjowMCk6Cn4jISBybj1YdXRlbGl1cyBydD0xNTg0OTk3MTQ1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNTg0OTk3MTQ1Ckthbm4gbWFuIGRhenUgdmllbGxlaWNodCBub2NoIGV0d2FzIG1laHIgSW5mb3JtYXRpb25lbiBoYWJlbiwKd2FzIGRhIGVpZ2VudGxpY2ggcGFzc2llcnQgaXN0PyBJY2ggaGFsdGUgZGFzIGphIGZ1ZXIgZWluCnNjaHdlcndpZWdlbmRlcyBQcm9ibGVtLCB3ZW5uIG1hbiBuaWNodCBtZWhyIHdlaXNzLCB3ZXIgZGllIApNaXRnbGllZGVyIHNpbmQuIAoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWNodGlnZSBJbmZvcm1hdGlvbmVuIHp1bSBGb2VyZGVydmVyZWluIChCdWdmaXgsIDI0LiBNYXIgMjAyMCwgMDk6NDk6NTQpOgp+IyEgcm49Wm9vayBydD0xNTg1MDM4OTYwIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNTg0OTk3MTQ1CkljaCBrYW5uIGRhIGFrdHVlbGwgbGVpZGVyIHdlbmlnIHRlY2huaXNjaGUgRGV0YWlscyB6dSBsaWVmZXJuLCBiaXMgenVyIE1WCndlcmRlIGljaCBhYmVyIGF1ZiBqZWRlbiBGYWxsIHp1c2VoZW4gZGllIHp1IGhhYmVuLgoKV2FzIGljaCBzYWdlbiBrYW5uOgpEaWUgVmVyd2FsdHVuZ3Nzb2Z0d2FyZSBsaWVmIGF1ZiBNZXNpcyBTZXJ2ZXIsIGdlbmF1IHdpZSBkYXMgV2lraSwgdW5kIGRhIGdhYgplcyBpcmdlbmR3YW5uIGVpbmVuIGdyb2Vzc2VyZW4gdGVjaG5pc2NoZW4gRGVmZWt0LiBEaWUgVmVyd2FsdHVuZ3Nzb2Z0d2FyZQprb25udGUgdWViZXJnYW5nc3dlaXNlIG5vY2htYWwgZ2VyZXR0ZXQgd2VyZGVuIHVuZCBsaWVmIG5vY2ggZWluIHBhYXIgSmFocmUKbGFlbmdlciBhbHMgZGFzIFdpa2ksIGtvbmtyZXQgYmlzIG1pbmRlc3RlbnMgRW5kZSBKdW5pIDIwMTguIEltIEp1bmkgMjAxOSwgYWxzCndpciB6dXIgVmVyc2FtbWx1bmcgZWlubGFkZW4gd29sbHRlbiwgaGFiZW4gd2lyIGZlc3RnZXN0ZWxsdCwgZGFzcyBkaWUKU29mdHdhcmUgbmljaHQgbWVociBsYWV1ZnQuCgpNZWhyIERldGFpbHMgZm9sZ2VuLCB3ZW5uIGljaCBzaWUga2VubmUuCgpWaWVsZSBHcnVlc3NlClh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWNodGlnZSBJbmZvcm1hdGlvbmVuIHp1bSBGb2VyZGVydmVyZWluIChCdWdmaXgsIDI0LiBNYXIgMjAyMCwgMDk6NTY6NTQpOgp+IyEgcm49QnVnZml4IHJ0PTE1ODUwMzk3OTQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1ODQ5OTcxNDUKQWNoamEsIHdhcyBpY2ggbm9jaCB2ZXJnYXM6IEVzIGV4aXN0aWVyZW4gbmF0dWVybGljaCBBbnRyYWVnZSBpbiBQYXBpZXIsCmFsbGVyZGluZ3Mgc2luZCBkaWUgbnVyIGJpcyB6dSBlaW5lbSBTdGFuZCB2b24gdm9yIHVtIGRpZSAxMCBKYWhyZW4gYWtrdXJhdApnZXBmbGVndCwgZGFuYWNoIGZhbmQgZGllIE1pdGdsaWVkZXJ2ZXJ3YWx0dW5nIHByaW1hZXIgaW4gZGVyIHNvZnR3YXJlIHN0YXR0LgpEaWUgQW50cmFlZ2Ugc2luZCBuYXR1ZXJsaWNoIGFsbGUgdm9yaGFuZGVuLCBhYmVyIGV2ZW50dWVsbGUgQWRyZXNzYWVuZGVydW5nZW4KZXRjLiBnZ2YuIG5pY2h0LgoKV2lyIHdlcmRlbiB1bnMgbmF0dWVybGljaCBiZW11ZWhlbiwgTWl0Z2xpZWRlciwgZGllIGF1ZiBkaWUgYWt0dWVsbGUgTmFjaHJpY2h0Cm5pY2h0IHJlYWdpZXJlbiBub2NoIGdlemllbHQgYW56dXNjaHJlaWJlbiwgYWJlciB6dW5hZWNoc3QgdmVyc3VjaGVuIHdpciBhdWYKZGllc2UgdW5rb21wbGl6aWVydGUgV2Vpc2UgZGllIERhdGVuYmFuayBzbyB3ZWl0IHdpZSBtb2VnbGljaCB6dQpha3R1YWxpc2llcmVuLgoKWHV0ZWxpdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWNodGlnZSBJbmZvcm1hdGlvbmVuIHp1bSBGb2VyZGVydmVyZWluIChCdWdmaXgsIDI0LiBNYXIgMjAyMCwgMTA6MDI6NDYpOgp+IyEgcm49WHV0ZWxpdXMgcnQ9MTU4NDk5NzE0NSByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTU4NDk5NzE0NQpVbmQgbm9jaCBlaW5lIEJpdHRlOiBXaXIgd2VyZGVuIGF1ZiBkaWVzZW0gV2VnIHZlcm11dGxpY2ggbmljaHQgYWxsZQpNaXRnbGllZGVyIGVycmVpY2hlbiwgZGFoZXIgdGVpbHQgZGllc2UgSW5mb3JtYXRpb24gYml0dGUgbWl0IHZlcm11dGV0ZW4KTWl0Z2xpZWRlcm4sIHZvbiBkZW5lbiBpaHIgZ2xhdWJ0LCBkYXNzIHNpZSBkaWUgSW5mbyBuaWNodCBiZWtvbW1lbiBoYWJlbi4KClh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpY2h0aWdlIEluZm9ybWF0aW9uZW4genVtIEZvZXJkZXJ2ZXJlaW4gKFpvb2ssIDI0LiBNYXIgMjAyMCwgMTA6MTk6NDUpOgp+IyEgcm49QnVnZml4IHJ0PTE1ODUwNDA1NjYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1ODQ5OTcxNDUKRGFua2UgZnVlciBkaWUgRXJsYWV1dGVydW5nZW4genVtIGFrdHVlbGxlbiBTdGFuZC4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpY2h0aWdlIEluZm9ybWF0aW9uZW4genVtIEZvZXJkZXJ2ZXJlaW4gKFphcGhvYiwgMjcuIE1hciAyMDIwLCAxMzoyNzo1Myk6Cn4jISBybj1ab29rIHJ0PTE1ODUwNDE1ODUgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1ODQ5OTcxNDUKSWNoIGhhYmUgZGFzIG1hbCBpbiBkaWUgKGdlc2NobG9zc2VuZSkgRmFjZWJvb2sgR3J1cHBlIGRlcyBNRyBnZXRyYWdlbiwgYWJlcgpub2NoIG5pY2h0IGluIGRpZSBvZWZmZW50bGljaGUgU2VpdGUgb2RlciBnYXIgYXVmIFR3aXR0ZXIgdmVyb2VmZmVudGxpY2h0LgoKR3J1ZXNzZSwKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpY2h0aWdlIEluZm9ybWF0aW9uZW4genVtIEZvZXJkZXJ2ZXJlaW4gKEJ1Z2ZpeCwgMjcuIEFwciAyMDIwLCAyMDozMjozMik6Cn4jISBybj1YdXRlbGl1cyBydD0xNTg0OTk3MTQ1IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNTg0OTk3MTQ1CkxpZWJlIFZlcmVpbnNtaXRnbGllZGVyLAoKCk1pdHRsZXJ3ZWlsZSBpc3QgbWVociBhbHMgZWluIE1vbmF0IHNlaXQgbWVpbmVtIEF1ZnJ1ZiB2ZXJnYW5nZW4sIGVzIGhhYmVuCnNpY2ggYXVjaCBzY2hvbiBpbnNnZXNhbXQgMjUgUGVyc29uZW4gbmV1IHJlZ2lzdHJpZXJ0LiBMZWlkZXIgaXN0IGRhcyBuaWNodAptYWwgZWluIFZpZXJ0ZWwgdW5zZXJlciBNaXRnbGllZGVyLiBWb24gZGVuIGJlcmVpdHMgcmVnaXN0cmllcnRlbiBNaXRnbGllZGVybgpoYWJlbiBhdWNoIGJlaSB3ZWl0ZW0gbmljaHQgYWxsZSBpaHJlIFNFUEEtTWFuZGF0ZSBlaW5nZXJlaWNodC4KCgpCaXR0ZSBob2x0IGRpZSBOZXVyZWdpc3RyaWVydW5nIGJhbGQgbmFjaCB1bmQgbGFzc3QgdW5zIGF1Y2ggZXVyZSBTRVBBLU1hbmRhdGUKenVrb21tZW4uCgoKVmllbGUgR3J1ZXNzZQoKSGVubmluZyBha2EgWHV0ZWxpdXMKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWNodGlnZSBJbmZvcm1hdGlvbmVuIHp1bSBGb2VyZGVydmVyZWluIChCdWdmaXgsIDI3LiBBcHIgMjAyMCwgMjA6NDY6MDcpOgp+IyEgcm49QnVnZml4IHJ0PTE1ODgwMTIzNTIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1ODQ5OTcxNDUKTm9jaCBlaW4gRXJnYWVuenVuZzogSWNoIHd1cmRlIGdlZnJhZ3QsIG9iIGRpZSBBbm1lbGR1bmdlbiB6ZWl0bGljaCBkcmFlbmdlbi4KRGllIEFudHdvcnQgZGFyYXVmIGlzdCBlaW4ga2xhcmVzIHZpZWxsZWljaHQuCgoKSW4gZGVuIGxldHp0ZW4gSmFocmVuIGZpbmRldCBkaWUgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGltbWVyIGltIFJhaG1lbiBkZXIKTXVkcGFydHkgaW4gSGF0dGluZ2VuIEVuZGUgSnVsaSBzdGF0dC4gSmV0enQga2FubiBiaXNoZXIgbmllbWFuZCBzYWdlbiwgb2IKSGF0dGluZ2VuIHN0YXR0ZmluZGVuIGthbm4gb2RlciBuaWNodC4gRmFsbHMgamEsIG11ZXNzZW4gd2lyIEFuZmFuZyBKdWxpIGRhenUKZWlubGFkZW4sIHdhcyBhYmVyIG5pY2h0IGd1dCBmdW5rdGlvbmllcnQsIHdlbm4gd2lyIGtlaW5lIEtvbnRha3RkYXRlbiB2b24KZXVjaCBoYWJlbi4gRmFsbHMgbmVpbiBoYWJlbiB3aXIgZnxyIGFsbGVzIGVpbiBiaXNzY2hlbiBtZWhyIFplaXQuIERhIGljaCBhYmVyCmltbWVybm9jaCBlaW4gYmlzc2NoZW4gSG9mZm51bmcgaGFiZSwgZGFzcyBIYXR0aW5nZW4gc3RhdHRmaW5kZW4ga2FubiwgYml0dGUKaWNoIGV1Y2gsIHVucyBkaWUgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRvcnQgenUgZXJtb2VnbGljaGVuLCBpbmRlbSBpaHIgdW5zCmV1cmUgRGF0ZW4gbWVsZGV0LgoKClZpZWxlIEdydWVzc2UKCkhlbm5pbmcgYWthIHh1dGVsaXVzCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpY2h0aWdlIEluZm9ybWF0aW9uZW4genVtIEZvZXJkZXJ2ZXJlaW4gKEJ1Z2ZpeCwgIDQuIE1haSAyMDIwLCAwOTowMTo0MSk6Cn4jISBybj1CdWdmaXggcnQ9MTU4ODAxMzE2NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTU4NDk5NzE0NQpNb2luLAoKClVuZCBub2NoIGVpbmUgRXJnYWVuenVuZzogV2VyIHdlZ2VuIEhvbWVvZmZpY2UgZGVyemVpdCBrZWluZW4gRHJ1Y2tlciB6dXIKVmVyZnVlZ3VuZyBoYXQsIGRhcmYgZGFzIFNFUEEtTWFuZGF0IG5hdHVlcmxpY2ggYXVjaCBuYWNocmVpY2hlbi4gRGVyemVpdCBpc3QKZGllIE5ldWFubWVsZHVuZyB3aWNodGlnZXIuCgoKVmllbGUgR3J1ZXNzZQoKSGVubmluZyBha2EgWHV0ZWxpdXMKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBCYW5rdmVyYmluZHVuZyAoWHV0ZWxpdXMsIDIzLiBKdW4gMjAyMCwgMTI6MTc6NTkpOgpMaWViZSBNaXRnbGllZGVyLAoKRGllIEJhbmt2ZXJiaW5kdW5nIGRlcyBWZXJlaW5zIGhhdCBzaWNoIGdlYWVuZGVydC4KCk5ldWUgQmFua2RhdGVuOgpJQkFOOiBERTIyIDUxMzkgMDAwMCAwMDgwIDEzMzggMDQKQklDOiBWQk1IREU1RgpWb2xrc2JhbmsgTWl0dGVsaGVzc2VuIGVHCgpWaWVsZSBHcnVlc3NlCkhlbm5pbmcgYWthIFh1dGVsaXVzCjEuIFZvcnNpdHplbmRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWlubGFkdW5nIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoWHV0ZWxpdXMsICAzLiBKdWwgMjAyMCwgMjI6MDY6NDIpOgpIYWxsbyB6dXNhbW1lbiwKCnp1ciBkaWVzamFlaHJpZ2VuIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBkZXMgRm9lcmRlcnZlcmVpbnMgUHJvamVrdApNb3JnZW5HcmF1ZW4gZS5WLiBsYWRlbiB3aXIgYWxsZSBNaXRnbGllZGVyIGVpbi4gRGllIFZlcnNhbW1sdW5nIGZpbmRldCB3aWUKdWVibGljaCBpbSBSYWhtZW4gZWluZXIgTW9yZ2VuR3JhdWVuLVBhcnR5IHN0YXR0LCBzb2Zlcm4gZGllc2UgbmljaHQgZG9jaCBub2NoCmFiZ2VzYWd0IHdlcmRlbiBtdXNzLiBXZWl0ZXJoaW4gd2lyZCBkaWUgVmVyc2FtbWx1bmcgbmFjaCBUZWFtU3BlYWsKdWViZXJ0cmFnZW4uIEZhbGxzIGRpZSBQYXJ0eSBuaWNodCBzdGF0dGZpbmRldCwgd2lyZCBkaWUgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nCmRpZXNlcyBKYWhyIGF1c3NjaGxpZXNzbGljaCBpbiBUZWFtU3BlYWsgc3RhdHRmaW5kZW4uCgpUZWlsbmVobWVyIHZpYSBUZWFtU3BlYWsga29lbm5lbiBzaWNoIGViZW5mYWxscyBtaXQgV29ydGJlaXRyYWVnZW4gdW5kIGFuIGRlbgpBYnN0aW1tdW5nZW4gYmV0ZWlsaWdlbiwgZGllcyB3aXJkIGVybW9lZ2xpY2h0IGR1cmNoIGRhcyBHZXNldHogenVyCkFibWlsZGVydW5nIGRlciBGb2xnZW4gZGVyIENPVklELTE5LVBhbmRlbWllIGltIFppdmlsLSwgSW5zb2x2ZW56LSB1bmQKU3RyYWZ2ZXJmYWhyZW5zcmVjaHQgdm9tIDI3LiBNYWVyeiAyMDIwLCBQYXJhZ3JhcGggNSBBYnNhdHogMi4gQXVmIHdlbGNoZQpXZWlzZSBkYXMgU3RpbW1yZWNodCBhdXNnZXVlYnQgd2VyZGVuIHdpcmQsIG11c3Mgbm9jaCBnZWtsYWVydCB3ZXJkZW4uCgpEaWUgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGZpbmRldCBzdGF0dCBhbSAyNS4wNy4yMDIwIHVtIDE0OjAwIFVocgphdWYgZGVtIENhbXBpbmdwbGF0eiBSdWhyYnJ1ZWNrZQpSdWhyc3RyYXNzZSA2CjQ1NTI5IEhhdHRpbmdlbgoKVGVhbVNwZWFrOgpTZXJ2ZXI6IG1ndHMubXVkLmRlClBhc3N3b3J0OiBEZXIgTmFtZSBkZXMgVXJ2YXRlcnMgYWxsZXIgTWFnaWVyIChrbGVpbiBnZXNjaHJpZWJlbikKCkRpZSBUYWdlc29yZG51bmcgc2llaHQgZm9sZ2VuZGUgUHVua3RlIHZvcjoKMSBCZWdydWVzc3VuZyAKMiBGZXN0c3RlbGx1bmcgZGVyIEJlc2NobHVzc2ZhZWhpZ2tlaXQgCjMgVmVybGVzdW5nIGRlcyBsZXR6dGVuIFByb3Rva29sbHMgCjQgQmVyaWNodCBkZXMgVm9yc3RhbmRlcyAKNSBBYnN0aW1tdW5nIHVlYmVyIHJ1ZWNrd2lya2VuZGUgQmVpdHJhZ3NmcmVpaGVpdCAyMDE5IAo2IEJlcmljaHQgZGVzIEthc3NlbndhcnRzIAo3IEJlcmljaHQgZGVyIEthc3NlbnBydWVmZXIgCjggRW50bGFzdHVuZyBkZXMgVm9yc3RhbmRlcyAKOSBOZXV3YWhsIGRlcyBWb3JzdGFuZGVzIAoxMCBOZXV3YWhsIGRlciBLYXNzZW5wcnVlZmVyIAoxMSBBYnN0aW1tdW5nIHVlYmVyIGRpZSBCZWl0cmFnc2ZyZWloZWl0IDIwMjAgCjEyIFNlcnZlcnNpdHVhdGlvbiAKMTMgVm9yYmVyZWl0dW5nIFNhdHp1bmdzYWVuZGVydW5nIDIwMjEgCjE0IFZlcnNjaGllZGVuZXMgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlubGFkdW5nIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyAoWHV0ZWxpdXMsICAzLiBKdWwgMjAyMCwgMjI6MTA6MzQpOgp+IyEgcm49WHV0ZWxpdXMgcnQ9MTU5MzgwNjgwMiByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTU5MzgwNjgwMgpNb2luIG5vY2htYWwsCgpHbG9pbnNvbiB1bmQgR3VhcmQgaGFiZW4gc2ljaCBlbnRzY2hsb3NzZW4sIG5pY2h0IG1laHIgZnVlciBkZW4gVm9yc3RhbmQgenUKa2FuZGlkaWVyZW4uIFdpciBzdWNoZW4gYWxzbyBlaW5lbiBuZXVlbiBzdGVsbHZlcnRyZXRlbmRlbiBWb3JzaXR6ZW5kZW4gdW5kCmVpbmVuIG5ldWVuIFNjaHJpZnRmdWVocmVyLiBVZWJlcmxlZ3QgZXVjaCBiaXR0ZSwgb2IgaWhyIGV1Y2ggdm9yc3RlbGxlbgprb2VubnQsIGVpbmUgZGllc2VyIFBvc2l0aW9uZW4genUgdWViZXJuZWhtZW4uCgpWaWVsZSBHcnVlc3NlClh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbmxhZHVuZyBNaXRnbGllZGVydmVyc2FtbWx1bmcgKFh1dGVsaXVzLCAxOS4gSnVsIDIwMjAsIDE3OjA3OjE1KToKfiMhIHJuPVh1dGVsaXVzIHJ0PTE1OTM4MDcwMzQgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE1OTM4MDY4MDIKSGFsbG8genVzYW1tZW4sCgpGdWVyIGRpZSBBYnN0aW1tdW5nIHdlcmRlbiB3aXIgZWluIE9iamVrdCBpbSBNb3JnZW5ncmF1ZW4gbnV0emVuLgoKSWhyIG11ZXNzdCBkYWZ1ZXI6CjEuIE1pdCBkZW0gaW0gVmVyZWluIHJlZ2lzdHJpZXJ0ZW4gQ2hhcmFrdGVyIGVpbmdlbG9ndCBzZWluLgoyLiBNaXQgYmVzYWd0ZW0gQ2hhcmFrdGVyIGltIFZlcmVpbnNidWVybyB1ZWJlciBkZXIgQWJlbnRldXJlcmdpbGRlIHN0ZWhlbi4KCkJpdHRlIHBydWVmdCB2b3JoZXI6Ci0gb2IgaWhyIGV1ZXIgUGFzc3dvcnQgbm9jaCB3aXNzdC4gRmFsc3MgbmljaHQsIHdlbmRldCBldWNoIGFuIGVpbmVuCkVyem1hZ2llci4KLSBvYiBpaHIgZGVuIFdlZyBpbnMgVmVyZWluc2J1ZXJvIG5vY2ggd2lzc3QuCi0gb2IgZGVyIENoYXJha3RlciB3aXJrbGljaCBkZXIgaW0gVmVyZWluIHJlZ2lzdHJpZXJ0ZSBpc3QuIEltIEJ1ZXJvIGlzdCBlaW5lCkxpc3RlIGVpbnNlaGJhci4KClNvbGx0ZSBlaW4gQ2hhcmFrdGVyIGF1cyBpcmdlbmR3ZWxjaGVuIEdydWVuZGVuIG5pY2h0IG1laHIgdmVyZnVlZ2JhciBzZWluLAp3ZW5kZXQgZXVjaCBiaXR0ZSBhbiBtaWNoIChYdXRlbGl1cyBvZGVyIEJ1Z2ZpeCksIGRhbWl0IGljaCBkZW4gRWludHJhZyBpbiBkZXIKTGlzdGUgZW50c3ByZWNoZW5kIGFucGFzc2VuIGthbm4uCgpWaWVsZSBHcnVlc3NlCkhlbm5pbmcgYWthIFh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlciBWb3JzdGFuZCB1bmQgRGFua2VzY2hvZW4gKFh1dGVsaXVzLCAyNi4gSnVsIDIwMjAsIDIyOjU2OjU4KToKTGllYmUgTWl0Z2xpZWRlciwKCmFtIDI1LiBKdWxpIHRhZ3RlIGRpZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgaW4gSGF0dGluZ2VuIHVuZCBwYXJhbGxlbCB2aWEKVGVhbVNwZWFrLiBEYWJlaSBlcmdhYmVuIHNpY2ggZm9sZ2VuZGUgQWVuZGVydW5nZW4gaW0gVm9yc3RhbmQuCgpHdWFyZCBoYXQgc2ljaCBlbnRzY2hsb3NzZW4sIG5hY2ggMTUgSmFocmVuIGFscyBTY2hyaWZ0ZnVlaHJlciBuaWNodCBtZWhyIHp1CmthbmRpZGllcmVuLiBWaWVsZW4gRGFuayBpbSBOYW1lbiBkZXMgVmVyZWlucywgZnVlciBkZWluZSBsYW5namFlaHJpZ2UgdW5kIAp6dXZlcmxhZXNzaWdlIEFyYmVpdCwgR3VhcmQhCgpBdWNoIEdsb2luIGhhdCBzaWNoIG5hY2ggc2VjaHMgSmFocmVuIGdlZ2VuIGVpbmUgZXJuZXV0ZSBLYW5kaWRhdHVyIGFscwpzdGVsbHZlcnRyZXRlbmRlciBWb3JzaXR6ZW5kZXIgZW50c2NoaWVkZW4uIEF1Y2ggYW4gZGljaCB2aWVsZW4gRGFuaywgR2xvaW4hCgpEZXIgbmV1ZSBzdGVsbHZlcnRyZXRlbmRlIFZvcnNpdHplbmRlIGlzdCBaYXBob2IgdW5kIG5ldWUgU2NocmlmdGZ1ZWhyZXJpbgppc3QgU295bmFkYS4KCk11bmRyb24gdW5kIGljaCB3dXJkZW4gaW4gdW5zZXJlbiBBZW10ZXJuIGFscyBLYXNzZW53YXJ0IHVuZCBWb3JzaXR6ZW5kZXIKYmVzdGFldGlndC4KCkRhcyB2b2xsc3RhZW5kaWdlIFByb3Rva29sbCBkZXIgVmVyc2FtbWx1bmcgZm9sZ3QgaW4gS3VlcnplLiAKClZpZWxlIEdydWVzc2UgCkhlbm5pbmcgYWthIFh1dGVsaXVzIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb3Rva29sbCBNaXRnbGllZGVydmVyc2FtbWx1bmcgMjAyMCAoWHV0ZWxpdXMsIDIzLiBTZXAgMjAyMCwgMTE6MDg6MDYpOgpMaWViZSBNaXRnbGllZGVyLAoKRGFzIFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGlzdCBqZXR6dCBvbmxpbmUuIElociBmaW5kZXQgZXMgdW50ZXI6Cmh0dHBzOi8vbWcubXVkLmRlL3ZlcmVpbi90ZXh0ZS9wcm90b2tvbGwyMDIwLnNodG1sCgpWaWVsZSBHcnVlc3NlCkhlbm5pbmcgYWthIFh1dGVsaXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbGVyIGdlc3VjaHQgKFh1dGVsaXVzLCAgMy4gRGV6IDIwMjAsIDIxOjM0OjM5KToKTGllYmUgTWl0Z2xpZWRlciwKCldpciBzaW5kIGltbWVybm9jaCBkYWJlaSBkaWUgRm9sZ2VuIGRlcyBEYXRlbnZlcmx1c3RlcyBhdXMgZGVtIGxldHp0ZW4gSmFocgphdWZ6dWFyYmVpdGVuLiBXaXIga29ubnRlbiBiaXNoZXIgODUgdm9uIDExNiBQZXJzb25lbiBlcnJlaWNoZW4sIGF1Y2ggd2VubiB2b24KZGVuZW4gbm9jaCBuaWNodCBhbGxlIGdlYW50d29ydGV0IGhhYmVuLiBWb24gMzEgUGVyc29uZW4gaGFiZW4gd2lyIGplZG9jaAprZWluZSBha3R1ZWxsZW4gS29udGFrdGRhdGVuLCBiZWkgZGllc2VuIHd8cmRlbiB3aXIgZ2VybmUgdW0gZXVyZSBNaXRoaWxmZQpiaXR0ZW4uIFdlbm4gaWhyIGVpbmUgZGllc2VyIFBlcnNvbmVuIGtlbm50LCBkYW5uIHdhZXJlIGVzIHN1cGVyLCB3ZW5uIGlocgpkaWVzZSBrb250YWt0aWVydCB1bmQgc2llIGJpdHRldCwgc2ljaCB1bnRlcgpodHRwczovL2Vhc3l2ZXJlaW4uY29tL3B1YmxpYy9NR0VWL2FwcGxpY2F0aW9uZm9ybS8gbmV1IHp1IHJlZ2lzdHJpZXJlbi4KCkVzIGdydWVzc3QgZnVlciBkZW4gVm9yc3RhbmQKSGVubmluZyBha2EgWHV0ZWxpdXMKVm9yc2l0emVuZGVyCgpOaWNodCBlcnJlaWNodGUgTWl0Z2xpZWRlcjoKCkFsbWR1ZGxlcgpBbnlzaWRvcmEKQXVncmEKQmFib29uCkJlbGRhcmFuCkJlcnRyYW0KQm9lYmJlbApEZWFuV29vZApEcmFjaG5vCkR3aWdodApFbGJlcmV0CkZlc3RpbgpGaXJlaGF3awpGcnlkZXIKR2FsYnJhaXRoCkd3ZW5od3lmYXIKSGFuZ292ZXIKSGVsdmEKTGkKTWVuYWNlCk5vbm5lClBhdHJ5bgpQeXJvClJhdmVudGhyb25lClJvbWlsaQpTY29ycGlvbgpTdWdhYW4KU3dpZnQKVHJ5ZmFuClZlcmVuYQpXdXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbGVyIGdlc3VjaHQgKFh1dGVsaXVzLCAgMy4gRGV6IDIwMjAsIDIxOjQ2OjM2KToKfiMhIHJuPVh1dGVsaXVzIHJ0PTE2MDcwMjc2Nzkgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE2MDcwMjc2NzkKUFM6IFdlbm4gamVtYW5kIGtlaW4gSW50ZXJlc3NlIG1laHIgYW0gVmVyZWluIGhhdCwgd2FlcmUgZWluZSBrdXJ6ZQpSdWVja21lbGR1bmcgdHJvdHpkZW0gbmV0dCwgZGFtaXQgd2lyIHdpc3NlbiwgZGFzcyB3aXIgZGllc2UgUGVyc29uIHN0cmVpY2hlbgprb2VubmVuLgoKWHV0ZWxpdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BpZWxlciBnZXN1Y2h0IChYdXRlbGl1cywgIDYuIERleiAyMDIwLCAxNTo0ODo0Mik6Cn4jISBybj1YdXRlbGl1cyBydD0xNjA3MDI4Mzk2IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNjA3MDI3Njc5Ckt1cnplciBad2lzY2hlbnN0YW5kLCB3aXIgaGFiZW4gUnVlY2ttZWxkdW5nIHZvbiBmb2xnZW5kZW4gU3BpZWxlcm4sIGRpZQpicmF1Y2h0IGlociBhbHNvIG5pY2h0IG1laHIgYW56dXNjaHJlaWJlbjoKCkJlbGRhcmFuCkhlbHZhClBhdHJ5bgpUcnlmYW4KWmVwaHlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRnbGllZGVydmVyc2FtbWx1bmcsIDMwLjA3LjIwMjIgKFh1dGVsaXVzLCAzMS4gSnVsIDIwMjIsIDIxOjEzOjIxKToKTGllYmUgTWl0Z2xpZWRlciwKCmFtIDMwLjA3LjIwMjIgZmFuZCBpbiBIYXR0aW5nZW4gdW5kIHBlciBUZWFtU3BlYWsgdW5zZXJlIGRpZXNqYWVocmlnZQpNaXRnbGllZGVydmVyc2FtbWx1bmcgc3RhdHQuIERlciBhbHRlIFZvcnN0YW5kLCBiZXN0ZWhlbmQgYXVzIFh1dGVsaXVzCihWb3JzaXR6ZW5kZXIpLCBaYXBob2IgKHN0ZWxsdmVydHJldGVuZGVyIFZvcnNpdHplbmRlciksIE11bmRyb24gKEthc3NlbndhcnQpCnVuZCBTb3luYWRhIChTY2hyaWZ0ZnVlaHJlcmluKSB3dXJkZSB2b2xsc3RhZW5kaWcgd2llZGVyZ2V3YWVobHQuIFVlYmVyIGRpZQp3ZWl0ZXJlbiBJbmhhbHRlIGRlciBWZXJzYW1tbHVuZyB3aXJkIGlubmVyaGFsYiBkZXIgbmFlY2hzdGVuIFdvY2hlbiBlaW4KUHJvdG9rb2xsIHZlcm9lZmZlbnRsaWNodC4KClZpZWxlIEdydWVzc2UKWHV0ZWxpdXMKVm9yc2l0emVuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXJiZW1hdGVyaWFsIChYdXRlbGl1cywgMjcuIEZlYiAyMDIzLCAxNToyMDo1Nyk6CkhhbGxvLAoKCmluIGRlbiBsZXR6dGVuIEphaHJlbiAvIEphaHJ6ZWhudGVuIHNpbmQgZWluaWdlIE1hbGUgRmx5ZXIgdW5kIGFuZGVyZQpXZXJiZW1hdGVyaWFsaWVuIGVyc3RlbGx0IHdvcmRlbiwgZGllIGpldHp0IHZlcm11dGxpY2ggaW4gaXJnZW5kd2VsY2hlbgpTY2h1YmxhZGVuIG9kZXIgS2FydG9ucyB2ZXJzY2hvbGxlbiBzaW5kLiBMZWlkZXIgaGF0IGFrdHVlbGwgbmllbWFuZCBlaW5lClZvcnN0ZWxsdW5nLCBiZWkgd2VtIHdpZSB2aWVsIGFuIHdpZSBha3R1ZWxsZW0gV2VyYmVtYXRlcmlhbCBsYWdlcnQuIFVtIGRhcwptYWwgenUgYWVuZGVybiwgbW9lY2h0ZW4gd2lyIGV1Y2ggbWFsIGJpdHRlbiBuYWNoenVzY2hhdWVuLCBvYiBpaHIgZGEgbm9jaApldHdhcyBoYWJ0IHVuZCB1bnMgZGFzIG1pdHp1dGVpbGVuLCBkYW1pdCB3aXIgbmljaHQgYXVzdmVyc2VoZW4gVmVyZWluc21pdHRlbApmdWVyIFdlcmJlbWF0ZXJpYWwgYXVzZ2ViZW4sIHdhcyBzY2hvbiBsYWVuZ3N0IHZvcmhhbmRlbiBpc3QuCgoKRnVlciBkZW4gVm9yc3RhbmQgZ3J1ZXNzdApYdXRlbGl1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlcmJlbWF0ZXJpYWwgKFplc3N0cmEsIDI3LiBGZWIgMjAyMywgMTg6Mjc6NDQpOgp+IyEgcm49WHV0ZWxpdXMgcnQ9MTY3NzUwNzY1NyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTY3NzUwNzY1NwpJY2ggaGFiZSBub2NoIGVpbiBwYWFyIHZvbiBkZW4gUG9zdGthcnRlbi4gS2VpbmUgaXJyZSBNZW5nZSwgdmllbGxlaWNodCA3MC0xMDAKU3RrLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZXJiZW1hdGVyaWFsIChHdWxhaHIsIDI3LiBGZWIgMjAyMywgMTg6NTM6MjMpOgp+IyEgcm49WmVzc3RyYSBydD0xNjc3NTE4ODY0IHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNjc3NTA3NjU3CkljaCBoYWIgYXVjaCBub2NoIFBvc3RrYXJ0ZW4uIFNjaGFldHplIG1hbCBzbyAxNTAtMjAwIFN0dWVjay4KCkd1bGFocgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VyYmVtYXRlcmlhbCAoWmFwaG9iLCAyNy4gRmViIDIwMjMsIDIyOjA2OjQyKToKfiMhIHJuPUd1bGFociBydD0xNjc3NTIwNDAzIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNjc3NTA3NjU3Cldlbm4gaWhyIHZvbiAiZGVuIFBvc3RrYXJ0ZW4iIHNwcmVjaHQsIGdhYiBlcyBkYSB1ZWJlciBkaWUgSmFocmUgbnVyIGdlbmF1IGVpbgpNb3RpdiwgZGFzIGplbWFscyBkYXJhdWYgZ2VkcnVja3Qgd3VyZGU/IEtvZW5udGUgamVtYW5kIGVpbiBGb3RvIHplaWdlbiB6dW0KVmVyZ2xlaWNoPyBHaWJ0IGVzIGdhciBub2NoIHNvd2FzIHdpZSBlaW5lIERydWNrdm9ybGFnZT8KCkRhbmtlLCBHcnVlc3NlLApaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZXJiZW1hdGVyaWFsIChCdWdmaXgsIDI3LiBGZWIgMjAyMywgMjI6MTA6MTYpOgp+IyEgcm49WmFwaG9iIHJ0PTE2Nzc1MzIwMDIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE2Nzc1MDc2NTcKSXN0IHNjaG9uIGdla2xhZXJ0LCBzaW5kIGJlaWRlIG1hbGUgZGllICJMaWVzIG9kZXIgc3RpcmIiLUthcnRlbi4KCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2VyYmVtYXRlcmlhbCAoR2xvaW5zb24sICA2LiBNYXIgMjAyMywgMTk6MDI6MTMpOgp+IyEgcm49QnVnZml4IHJ0PTE2Nzc1MzIyMTYgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE2Nzc1MDc2NTcKSGFiIGF1Y2ggbm9jaCAyMC00MCB2b24gZGVuIFBvc3RrYXJ0ZW4uIExlZyBpY2ggbWFuY2htYWwgYW4gU2NodWxlbiBhdXMsIHdlbm4KaWNoIGdlcmFkZSBGbHllciBmdWVyIFNwb3J0dmVyZWluZSBtaXQgYXVzbGVnZS4gT2IgZXMgd2FzIGJyaW5ndCwgbWVya2UgaWNoCmthdW0uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyZWluc3dlYnNlaXRlIHp1IEpla3lsbCBtaWdyaWVydCAoQnVnZml4LCAxMS4gSnVuIDIwMjMsIDE2OjUyOjAyKToKTmFjaCBsYW5nZXIgVm9yYmVyZWl0dW5nc3plaXQgdW5kIHphaGxyZWljaGVuIHRlY2huaXNjaGVuIFNjaHdpZXJpZ2tlaXRlbiwKaGFiZW4gd2lyIGRpZSBWZXJlaW5zLVdlYnNlaXRlIGhldXRlIGVuZGxpY2ggdm9uIEhUTUwgbWl0IGVpbiBiaXNzY2hlbiBTU0kKYXVmIEpla3lsbCAoaHR0cHM6Ly9qZWt5bGxyYi5jb20vKSB1bWdlc3RlbGx0LgoKSW0gU2lubmUgZWluZXMgc2F1YmVyZW4gTWlncmF0aW9uc3BmYWRlcyBoYWJlbiB3aXIgZGFiZWkgenVuYWVjaHN0IG51ciBhbgpzZWhyIHdlbmlnZW4gU3RlbGxlbiBvcHRpc2NoZSBBZW5kZXJ1bmdlbiB2b3JnZW5vbW1lbi4gTWl0IFNpY2hlcmhlaXQgd2VyZGVuCmRhIGFiZXIgaW4gWnVrdW5mdCBub2NoIGVpbmlnZSBrb21tZW4uCgpGZWVkYmFjawoKV2lyIGhhYmVuIHVucyBncm9zc2UgTXVlaGUgZ2VnZWJlbiwgZGFzcyBhbGxlcyB3ZWl0ZXIgZnVua3Rpb25pZXJ0LCB3ZW5uIHVucwpkYWJlaSBldHdhcyBkdXJjaGdlZ2FuZ2VuIHNlaW4gc29sbHRlLCBpaHIgZGllIGluIFp1a3VuZnQgbm9jaCBrb21tZW5kZW4KQWVuZGVydW5nZW4gYW0gRGVzaWduIG5pY2h0IG1vZWd0IG9kZXIgZmluZGV0LCBpcmdlbmRldHdhcyBzb2xsdGUgbWl0Cmdyb2Vzc2VyZXIgUHJpb3JpdGFldCBnZWFlbmRlcnQgd2VyZGVuLCB6b2VnZXJ0IG5pY2h0LCBaYXBob2Igb2RlciBCdWdmaXggaW0KTXVkIHp1IGtvbnRha3RpZXJlbiBvZGVyIHVucyBlaW5lIE1haWwgYW4gdm9yc3RhbmRAbWcubXVkLmRlIHp1IHNjaGlja2VuLgoKV2FzIGlzdCBzY2hvbiBuZXU/CgotIGRpZSBOZXdzbGlzdGUgaGF0IGVpbiBuZXVlcyBEZXNpZ24gYmVrb21tZW4KLSBkaWUgTmV3cyBnaWJ0IGVzIGpldHp0IGF1Y2ggYWxzIEF0b20tRmVlZCB1bnRlcgogIGh0dHA6Ly9tZy5tdWQuZGUvdmVyZWluL2ZlZWQueG1sCi0gZGllIE1pdGdsaWVkZXJsaXN0ZSB1bmQgZGllIFNhdHp1bmcgaGFiZW4gVWViZXJzY2hyaWZ0ZW4genVyIEJlc3NlcmVuCiAgT3JpZW50aWVydW5nIG1pdCBTY3JlZW5yZWFkZXJuIGJla29tbWVuCi0gd2lyIGhhYmVuIGF1ZiBIVE1MIDUgdW1nZXN0ZWxsdCwgZGllIGRhbWl0IGVpbmdlZnVlaHJ0ZW4gc2VtYW50aXNjaGVuIFRhZ3MKICBzb2xsdGVuIGViZW5mYWxscyBkaWUgQmFycmllcmVmcmVpaGVpdCBmdWVyIFNjcmVlbnJlYWRlci1OdXR6ZXIgZXJob2VoZW4KCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmVpbnN3ZWJzZWl0ZSB6dSBKZWt5bGwgbWlncmllcnQgKFpvb2ssIDExLiBKdW4gMjAyMywgMjI6MDM6MjEpOgp+IyEgcm49QnVnZml4IHJ0PTE2ODY0OTUxMjIgcmc9bW9yZ2VuZ3JhdWVuLnZlcmVpbgp+IyEgdGlkPTE2ODY0OTUxMjIKRGFua2UgZnVlciBFdWVyIEVuZ2FnZW1lbnQgdW5kIGRpZSBBcmJlaXQsIGRpZSBJaHIgZGEgaGluZWluCmdlc3RlY2t0IGhhYnQhCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZlcmVpbnN3ZWJzZWl0ZSB6dSBKZWt5bGwgbWlncmllcnQgKE1lc2lyaWksIDMwLiBKdWwgMjAyMywgMjE6NTc6NDEpOgp+IyEgcm49Wm9vayBydD0xNjg2NTEzODAxIHJnPW1vcmdlbmdyYXVlbi52ZXJlaW4KfiMhIHRpZD0xNjg2NDk1MTIyCkphLCB2aWVsZW4gRGFuayBkYWZ1ZXIgISEgR3V0ZSBJZGVlIG1pdCBKZWt5bGwgYWxzIHN0YXRpYyBzaXRlIGdlbmVyYXRvci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCg==